ワンセグ放送とOpenBSD

地上デジタル放送とは

ワンセグ放送とは

電波として送信する際に、1つの放送チャンネルを さらに13の小さな周波数帯域(セグメント)に分け、幾つかのセグメントを組み合わせることで 1つの放送チャンネル(=放送局)で複数の番組を送出することが可能。

用途セグメント数(例)ビットレート(例)備考
高精細度 (HDTV)1217Mbps1920x1080/30fps, 6ch
標準精細度 (SDTV)46Mbps640x480/30fps
移動体向け (ワンセグ)1300kbps320x240/15fps, 2ch

現在は、高精細度放送と移動体向け、あるいは複数の標準精細度放送と移動体向けの サービスを組み合わせた放送が行われている。

   <--------------TV ch (6MHz)-------------->
  |                                          | G(下): 1/3seg
  | |  |  |  |  |  |  |  |  |  |  |  |  |  | | G(上): 2/3seg
  |G| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|G| 1seg: 6MHz/14 = 3/7MHz
------------------------------------------------
    <---------------->    <---------------> HDTV
                      <==> 1seg

このうち、移動体向けの1セグメントを使ったサービスが 通称1seg_logo.gifと呼ばれる放送である。

OpenBSDでワンセグを受信

OSC2008 Nagaoka, NetBSD Users Groupのブースで蛯原氏らがデモを実施。 RockridgeSound社製 USBワンセグチューナ DUS-01 をNetBSDにて視聴を行っていた。

デモの展示内容について情報を頂き、OpenBSDにて追試を行った結果が以下のものである。

視聴

解析

拙作 tspdump.c を使って得られたTSファイルの中身を見てみる。

tspdump -1 oa_26.ts | less
--[ADDR:000000179352 TSP]----------
   Transport Error Indicator: 0
Payload Unit Start Indicator: 1
          Transport Priority: 0
                   Packet Id: 0x0027  <- EIT (電子番組表のデータ) であることを示す
Transport Scrambling Control: 0x0
    Adaptation Field Control: 0x1
          Continuity Counter: 0xc

47 40 27 1c 00 4e f0 3c 7d a0 e9 00 02 7e 04 7e  G@'..N.<}....~.~
02 4e e4 a2 d5 3c 23 40 00 00 55 00 00 21 4d 14  .N...<#@..U..!M.
70 6e 0d 0e 4e 45 57 53 0f 21 21 0e 5a 45 52 4f  pn..NEWS.!!.ZERO <-番組名の一部が
89 20 54 06 00 ff 01 ff 10 ff c1 01 88 9f 30 b0  . T...........0.
4e f0 89 7d a0 e9 01 02 7e 04 7e 04 02 4e e4 b6  N..}....~.~..N..
3d 00 35 00 00 30 00 00 6e 4d 61 6a 70 6e 21 1b  =.5..0..nMajpn!.
d5 e9 a4 c7 f9 0e 54 56 e9 dc fb 48 41 50 50 59  ......TV...HAPPY <-見えている。
fc fb 0f 4e 78 30 26 3f 37 45 5e 0e 21 fc 3b 22  ...Nx0&?7E^.!.;"
0e 48 41 50 50 59 21 0d 0f 22 26 3a 66 32 6d 3f  .HAPPY!.."&:f2m?
21 5f 44 4d 43 4f 49 70 4d 3a 1b 7c ce 31 69 40  !_DMCOIpM:.|.1i@
37 3f 3e 70 4a 73 d0 e9 a8 c6 a3 21 21 4e 78 30  7?>pJs.....!!Nx0
3f                                               ?

TSに含まれるPIDの種類を数える;

tspdump -1 oa_26.ts | awk '/Packet Id:/ { print $3 }' | sort | uniq -c
  個数 PID       名称
  3600 0x0010    NIT:  Network Information Table
  1799 0x0011    SDT:  Service Description Table
   719 0x0014    TOT:  Time Offset Table
  3598 0x0024    BIT:  Broadcaster Information Table
  6299 0x0027    EIT:  Event Information Table
    88 0x0028    SDTT: Software Download Trigger Table
 35884 0x0551    データ放送
 35860 0x0552    データ放送
416551 0x0881    H.264映像
130331 0x0883    AAC音声
 15553 0x08ff
 17992 0x1fc8    PMT:  Program Mapping Table
327116 0x1fff    Null

TSパケットは定長なので、これにより各パケットの送出間隔、所要帯域の割合などが算出できる。

TODO

参考文献、リンク等


*1 欧州:DVB方式、米国:8VSB方式
*2 Serial Digital Interface
*3 Audio Engineering Society/European Broadcasting Union
*4 Embbeded
*5 Program Specific Information/Service Information

Front page   New Page list Search Recent changes   Help   RSS of recent changes