#topicpath *ワンセグ放送とOpenBSD [#a5174d06] RIGHT:川俣 吉広, kaw@on.rim.or.jp RIGHT:2008, 5/17 @ EBUG 第26回会合(十日町市) **地上デジタル放送とは [#tb676488] -日本では2003年以降、ISDB-T方式((欧州:DVB方式、米国:ATSC方式))による地上デジタル放送を行っている。~ この方式による送出概念図の例を以下に示す; MPEG2 AAC +---+ [ENC]------>+ | SDI SDI | | | [Video][A/D]------[EMB]---------+ H.264 | | | | AAC | M | [Audio]-[A/D]-------+ [ENC]------>+ |MPEG-TS OFDM AES/EBU | U +--------[MOD]--------> OA | | DVB/ASI | X | [DATA]----------------------------------->+ | | | [PSI/SI]--------------------------------->+ | +---+ -信号の流れ; --映像 ... アナログ(RGB信号) -> A/D変換してSDI((Serial Digital Interface))信号に。 --音声 ... アナログ音声信号 -> A/D変換してAES/EBU((Audio Engineering Society/European Broadcasting Union))信号にした後、映像のSDI信号に埋め込み((Embbeded))。 --データ放送 ... BML, ECMAscriptなどをDVB/ASIインターフェースで出力。 --PSI/SI((Program Specific Information/Service Information))情報 ... 番組配列情報、各データと放送サービスの関連や放送サービスそのものの定義情報(EPGもここに含まれる)。 -映像、音声信号はエンコードし圧縮する。 -これらの信号を多重化(MUX: Multiplex)し、一本の信号(MPEG-TS: MPEG Transport Stream)にする --188バイト定長のパケット(ヘッダ4バイト(+拡張ヘッダ)+ペイロード) --パケットには、多重化前のデータ種類を識別するため、PID (Packet ID) と呼ばれるものが割り当てられる。 -UHF帯の周波数でOFDM変調を行い、電波として送信。 -受信側は、今まで述べた送出側と概ね逆の手順を行う。 OFDM MPEG-TS +---+ H.264 UHF OA --->[DEMOD]---------->+ +------>[DEC]---> Video | D | | E +------>[DEC]---> Audio | M | | U +------>BML etc... | X | | +------>PSI/SI.... +---+ **ワンセグ放送とは [#l989d931] 電波として送信する際に、1つの放送チャンネルを さらに13の小さな周波数帯域(セグメント)に分け、幾つかのセグメントを組み合わせることで 1つの放送チャンネル(=放送局)で複数の番組を送出することが可能。 |用途|セグメント数(例)|ビットレート(例)|備考|h |高精細度 (HDTV)|RIGHT:12|RIGHT:約17Mbps|1440x1080/30fps, 5+1ch| |標準精細度 (SDTV)|RIGHT:4|RIGHT:約6Mbps|640x480/30fps| |移動体向け (ワンセグ)|RIGHT:1|RIGHT:約300kbps|320x240/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セグメントを使ったサービスが 通称&ref(1seg_logo.gif,,50%);と呼ばれる放送である。 **OpenBSDでワンセグを受信 [#k29b8d84] OSC2008 Nagaoka にて NetBSD Users Groupによりデモが実施されていた。 RockridgeSound社製 USBワンセグチューナ DUS-01 で NetBSD 上でのワンセグ放送視聴を行うというもの。 デモの展示内容について情報を頂き、OpenBSDにて追試を行った結果が以下のものである。 ***視聴 [#te21a859] -http://www.naobsd.org/1seg/ にて公開されている以下のものを使用する。 --チューナ制御/TS取得プログラム uditune.c ~ ... DUS-01の制御、TSの取り出しを行う。DUS-01については TSの出力形式と一部の制御コマンドが判明している。 --メディアプレーヤ MPlayer へのパッチ ~ ... 1seg TSが再生できるように DEMUXおよび CODECを改造するもの。 --uditune.cをコンパイル。 --MPlayer-1.0rc2に配布されているパッチを当ててビルド。 -受信(録画) uditune 26 >oa_26.ts & -再生 mplayer oa_26.ts #ref(1seg-rx.png) ***解析 [#g3293316] 拙作 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の種類を数える; 例として、一時間分のTSファイルについて計測 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 PCR: Program Clock Reference 17992 0x1fc8 PMT: Program Mapping Table 327116 0x1fff Null TSパケットは定長なので、これにより各パケットの平均送出間隔や所要帯域の割合などが算出できる。 ***TODO [#t1cd33a9] -デバッグ --OpenBSD portsパッチとの干渉 ... 再生時、音声モードに不具合発生 --MPlayerが刺さる時あり ... 発生時、他の再生ソフトでも再生不可に。reboot必要。mplayer -ao null では正常に画像のみ再生できるため、音声機能の不具合と思われる。 --現行ではTSをファイルに一度保存しないと再生できない ... MPlayerが再生時ファイルのseekを必要とするため(バックグラウンドでファイルに書きながらの再生は可能)。 --不安定な受信環境での動作対応。 -未実装機能の実現 --EPG, 字幕放送, データ放送など **参考文献、リンク等 [#gf36a2fe] -ARIB - 社団法人電波産業会 ... http://www.arib.or.jp/ --標準規格等一覧 ... http://www.arib.or.jp/tyosakenkyu/kikaku_download/download_imt.html ~ TR-B14, STD-B10, STD-B25, STD-B31 など -ワンセグTV.com ... http://1seg-tv.com/ -ボクにもわかる地上デジタル ... http://www.geocities.jp/bokunimowakaru/ ---- #topicpath