[DV06] DTCP_Descriptor for MPEG Transport Streams

  • Author: eggman@ptie.org
  • Date: 20010210
  • DTCPを理解するために、 DTCP Specification Volume 1 Version 1.2 (Informational Version) <URL:http://www.dtcp.com/data/info_dtcp_v1_12_20010711.pdf> の付録Bを訳してみました。
  • デジタル放送のコピーガード問題について考える。 <URL:http://www.tvnet.ne.jp/~takeuchi/Digital_Bcast_Copy_Once.htm> に書いてあるDTCPについての部分は、だいぶ理解できるようなりした。
  • でも、私が知りたいとと思っていた「制限されてないプログラムの暗号化」については、この文書にはほとんど載っていないようです。
  • オープンな規格書をかってに訳して公開のは、おもしろいことだと思います。(かってに公開という部分が問題ですが...)
  • 有料の規格書を公開するのは、さらにまずそうですけど、引用ならOKですかね。
  • 作成時間は、訳すのに3時間ぐらい、整形したり表を入れるのに4時間ぐらいです。
  • 分かっているとは思いますが、この情報は、すべて未保証です。
  • スペシャルサンクス

    • exciteのテキスト翻訳: とりあえず便利、でも機密な文書で使うのは危険。
    • rdtool/rttool :rttoolを使って、pdfの表部分をコピーペーストして、表を再構成する作業が簡単にできた
    • rdで記述したソースも置いときます。<URL:http://www.ptie.org/~eggman/dv_06.rd>

Appendix B DTCP_Descriptor for MPEG Transport Streams

  • Appendix B は6.4章 Copy Control Information(CCI)への追加文書であり、MPEG-TS 通信中でCCIを伝送する方法について記載します。

B.1 DTCP_descriptor

  • MPEG-TS中にCCIを載せる方法は、現在標準化されていない、 DTLAはMPEG-TS中にCCIを載せて通信するための一定のデータフィールドを提供するため、新たにDTCP_descriptorを定義しました。
  • MPEG-TSフォーマットのコンテンツがDTCPによって保護される場合、DTCP_descriptorは、CCI情報を受信装置へ伝送するために使用されるものとします。

B.2 DTCP_descriptor syntax

  • DTCP_descriptorは、ATSCドキュメントA/7047により規定された ATSC_CA_descriptorに従って定義されます。
  • 表23はdescriptor sysntaxを示します:
表23 TCP_descriptor Syntax
SyntaxSize (bits)FormatValue
DTCP_descriptor(){
descriptor_tag8uimsbf0x88
descriptor_length8uimsbf
CA_System_ID16uimsbf0x0fff
for(I=0; I < descriptor_length-2; i++){
private_data_byte8bslbf
}
}
  • DTCP_descriptorのprivate_data_byteフィールドの定義は表24に与えられています。
表24 Syntax of private_data_byte for DTCP_descriptor
SyntaxSize(bits)Format
private_data_byte{
reserved1bslbf
Retention_Move_mode1bslbf
Retention_State3bslbf
EPN1bslbf
DTCP_CCI2bslbf
reserved5bslbf
Image_Constraint_Token1bslbf
APS2bslbf
}
  • DTCP_descriptorは、新しく定義されたCCIを加える必要がある場合に備え、将来の拡張性を考慮しています。
  • 機能追加のためにDTLAによって追加のCCIが定義される場合、 private_data_byteフィールドの長さおよび descriptor_lengthの値が拡張されるかもしれません。
  • このことが生じる場合、 private_data_byteフィールド中に現在定義されているフィールドは後方互換性を保証するために、変更されないものとします。
  • private_data_byteフィールドの拡張に起因する descriptor_lengh値のいかなる変更がある場合にも装置が製造された時点で定義されているprivate_data_bytフィールドの中身へのアクセスを妨げないように、すべての装置が設計されるものとします。

B.2.1 private_data_bye Definitions:

Retention_Movee_mode [Draft Version 0.9]

このフィールドは、次の表で示す ムーブ機能およびリテンション機能とDTCP_CCI の組合わせのモードを示すために使用される。

表 25 Move Function Modes
ModesRetention_Move_modeDTCP_CCI
Move-mode02102
Non-Move-modeOther combinations
表 26 Retention Function Modes
ModesRetention_Move_modeDTCP_CCI
Retention-mode02112
Non-Retention-modeOther combinations
Retention_state [Draft Version 0.9]

このフィールドはリテンション状態の値を示す。

表27 Retention States
Retention_State_IndicatorRetention Time
000Forever
0011 week
0102 days
0111 day
10012 hours
1016 hours
1103 hours
11190 minutes
EPN [Draft Version 0.9]

このフィールドは、 制限されていないストリームの暗号化の値を示します

表28 EPN
EPNMeaning
0EPN-asserted
1EPN-unasserted
DTCP_CCI

このフィールドは、表29内に従いコピー世代管理情報を示します

表29 DTCP_CCI
DTCP_CCIMeaning
00Copy-free
01No-more-copies
10Copy-one-generation
11Copy-Never
Image_Constaint_Token

このフィールドは、画像制限トークンの値を示します。

表 30 Image_Constraint_Token
Image_Constraint_TokenMeaning
0High Definition Analog Output in the form of Constrained Image
1High Definition Analog Output in High Definition Analog Form
APS

このフィールドは、表31に従いアナログコピープロテクションの情報を示します。

表31 APS
APSMeaning
00Copy-free
01APS is on : Type 1 (AGC)
10APS is on : Type 2 (AGC + 2L Colorstripe53)
11APS is on : Type 3 (AGC + 4L Colorstripe53)
予約ビット

これらは将来の定義のために予約されており、 現在は値1として定義されている。

B.3 Rules for the Usage of the DTCP_descriptor

B.3.1 Transmission of a partial MPEG TS

  • DTCPを使用して、1つ以上のプログラムを含んでいる部分的な MPEG-TSが送信される場合、フォーマット認識済みソース機能が各プログラムのPMT中のDTCP_descriptorに挿入されるものとします。
  • ただし、CCIがコピーフリーおよびEPNでないことが必要です。
  • DTCP_descriptorが挿入される場合、それは、PMTだけに適用されるものとします。
  • フォーマット認識済みソース機能は DTCP_CCIビット、APSビット、および、 DTLAによって定義されたその他のCCI にセットされるものとします。
  • その中で、DTCP_descriptorに関するCCIはMPEG TS中の各プログラムのために提供される。 DTCP_descriptorは、適切なPMTのprogram_infoループ中に挿入されるものとします。
  • さらに、プログラム中のElementary Streamsのうちのどれかに特定のCCI値が割り当てられた場合 ,フォーマット認識済み機能は DTCP_CCIビット、APSビットおよびその他のそのCCIに関するDTCP_descriptorのうち DTLAにより定義されたものがセットされる。
  • DTCP_descriptorは、エレメンタリーストリーム適切なPMTのprogram_infoループに挿入されるものとします。

B.3.2 Transmission of a full MPEG TS

  • 通信されるMPEG TSすべてがDTCPに保護される場合、部分的なMPEG-TSと同じルールが、TS中のすべてのプログラムに適用される

B.3.3 Treatment of the DTCP_descriptor by the sink device

  • この節では、受信装置装置が受信する際のDTCP_descriptorの処理について記載します。
  • 受信装置の機能が既知フォーマットで MPEG-TS中にDTCP_descriptor以外の認識できるCCI を受信した場合、代替のCCIはDTCP_descriptor中に含まれていた情報より優先するものとします。
  • さらに、PMTに挿入される場合、 DTCP_descriptorだけが有効です。 DTCP_descriptorが別の位置で見つけられる場合、それは無視するものとします。
  • 検知された唯一のCCIがDTCP_descriptorである場合、 DTCP_descriptorは CCIが6.4.4.3節および6.4.4.4節に記述したとともに、以下のように解釈されるものとみなします。
  • DTCP_descriptorがPMTのES_infoループで見つかった場合、 DTCP_descriptorに含まれてためCCIの値は DTCP_descriptorと関連する特定のESのためのCCIとしてだけに使用されるものとします。。
  • DTCP_descriptorが特定のESについてんpES_infoループで見つからないで、その代りにprogram_infoループで見つかる場合、DTCP_descriptorの中に含まれていた、CCIの値は、そのESのCCIとして使用されるものとします。
  • ストリームが多数のプログラムを含んでおり、埋め込まれたCCIもDTCP_descriptorも、プログラム中に検知されない、また、DTCP_descriptorが同じストリーム上の別プログラムに検知される場合、ストリーム中のプログラムがコピーフリーと見なされるでしょう。