(57)【特許請求の範囲】
【請求項１】
デジタル衛星放送されたＴＳデータを生成するデスクランブラと、
上記ＴＳデータが不連続となることを示す情報であるＤＩＴを生成して、上記ＴＳデータに対して該ＤＩＴを挿入する不連続情報処理手段と、
上記ＤＩＴが挿入されたＴＳデータから所望のＴＳパケットを分離するデマルチプレクサと、
上記ＴＳデータ、または、上記ＤＩＴが挿入されたＴＳデータのいずれか一つを選択して上記デマルチプレクサに出力する、スイッチと、
上記ＴＳデータに対して上記ＤＩＴのデータを挿入すべきタイミングを、上記スイッチ、および、上記不連続情報処理手段に対して指示するタイミング制御手段と、
を備え、
上記不連続情報処理手段は、
ハードウェアとして構成される、アダプターションフイールドのみが配置されペイロードが存在しない第１ＤＩＴのＴＳパケット内において有効なデータ構造部分を保持する第1レジスタと、
アダプターションフイールドがなくペイロードが配置される第2ＤＩＴのＴＳパケット内において有効なデータ構造部分を保持する第2のレジスタと、
生成／出力コントロール部と、を具備し、
上記生成／出力コントロール部は、上記第１レジスタおよび上記第２レジスタに格納されているＤＩＴの有効データ構造部分に、それぞれスタッフイングバイトを付加してＴＳパケット単位のサイズの第1ＤＩＴと第２ＤＩＴとを生成し、
不連続となった上記ＴＳデータの間に上記第１ＤＩＴと第2ＤＩＴとを、第1ＤＩＴのＴＳパケットと第2ＤＩＴのＴＳパケットとの間に他のＴＳパケットが挿入されないように、連続して挿入して、上記ＤＩＴが挿入されたＴＳデータを生成し、
上記タイミング制御手段は、
上記デスクランブラを監視して上記ＴＳデータの不連続位置を検出し、上記スイッチ、および、上記生成／出力コントロール部を制御して、上記不連続情報処理手段から上記デマルチプレクサに対して、上記ＤＩＴが挿入されたＴＳデータを送出させる、
データ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタル衛星放送においてプログラムデータを伝送するトランスポートストリームなどのストリームデータを、例えばＩＥＥＥ１３９４データインターフェイスなどの規格に従った所定のデータバスを介して送出するためのデータ処理装置に関するものである。
【０００２】
【従来の技術】
近年、デジタル衛星放送の普及が進んでいる。デジタル衛星放送は、例えば既存のアナログ放送と比較してノイズやフェージングに強く、高品質の信号を伝送することが可能である。また、周波数利用効率が向上されており、多チャンネル化も実現されている。
【０００３】
このようなデジタル衛星放送における現状の規格の下では、プログラム（番組）としてのビデオデータ及びオーディオデータは、ＭＰＥＧ(Moving Picture Experts Group)２方式により圧縮符号化される。そして、この圧縮符号化されたプログラムのデータを、番組情報や受信限定情報等をはじめとする各種の付加情報と共に多重化して、いわゆるトランスポートストリーム（以下、ＴＳ(Transport Stream)とも記述する）といわれるストリームデータの形式によって伝送するようにされる。
【０００４】
そして、デジタル衛星放送受信機とデジタルＶＴＲやＨＤＤ（ハードディスク）などのデジタルストレージ機器とを接続することによって、デジタル衛星放送受信機で受信したプログラムについて、ＴＳの形式のままデジタルストレージ装置に対して転送して記録できるようにシステムを構成することが提案され、また、実現化されてきている。
このようなシステムとすれば、受信したプログラムのデータを復調することなく、圧縮符号化された状態のまま記録することになるため、記録のための信号処理も効率的なものとなり、また、再生されるプログラムの画質、音質も劣化が無いようにされる。さらには、デジタル衛星放送において特徴となる、各種の付加情報も記録されることになるので、これらの付加情報を再生時に利用すれば、より充実した再生機能を得ることも可能になる。
【０００５】
そして現状においては、上記したデジタル衛星放送受信機とデジタルストレージ機器とを接続するデジタルデータインターフェイスとして、ＩＥＥＥ(Institute of Electrical Engineers)１３９４データインターフェイスを採用したものが知られてきている。
ＩＥＥＥ１３９４データインターフェイスは、例えばＳＣＳＩやＵＳＢなどよりもデータ転送レートが高速であり、周知のように、所要のデータサイズを周期的に送受信することが保証されるＩｓｏｃｈｒｏｎｏｕｓ通信が可能とされる。このため、ＩＥＥＥ１３９４データインターフェイスは、ＡＶ(Audio/Video)などのストリームデータをリアルタイムで転送するのに有利とされている。
【０００６】
なお、実際には、例えばデジタル衛星放送受信機から、ＩＥＥＥ１３９４バスを介してデジタルストレージ機器に対して送出されるＴＳは、受信された元のＴＳから特定のプログラムに関する情報が選択されるようにして抜き出された、パーシャルＴＳといわれるストリームデータとなる。
【０００７】
ところで、例えば、受信チャンネルの切り換えによってコンテンツが変化したり、また、受信状況の悪化などによって受信不可能となり受信電波が途絶えるなどして、パーシャルＴＳについて連続性が無くなる場合がある。
このようにして不連続性を有するパーシャルＴＳを送出する場合には、ＤＩＴ(Discontinuity Information Table)をパーシャルＴＳの不連続位置に対して挿入すべきことが規格によって定められている。ＤＩＴは、所定の条件に基づいてパーシャルＴＳに不連続性が発生したことと、この不連続性の発生位置を示す付加情報であり、所定のパケットデータ構造を有している。
【０００８】
そして従来において、ＤＩＴをパーシャルＴＳに対して挿入するための処理としては、例えば次のようにして行われていた。
パーシャルＴＳに対して挿入すべきパケットデータとしての付加情報は、例えばＤＩＴ以外にも、ＰＡＴ，ＰＭＴ，ＳＩＴなどが定められている。なお、ここでは、上記ＤＩＴ以外の付加情報（ＰＡＴ，ＰＭＴ，ＳＩＴ）についての定義内容等の説明は省略する。
そこで、例えば送出側の装置においては、必要に応じて、上記付加情報をソフトウェアの処理によって発生させ、所要のタイミングで以てパーシャルＴＳに対して挿入するようにしていた。つまり、ＤＩＴは、他の付加情報と同様に、ソフトウェア処理によって発生されて挿入が行われていたものである。
【０００９】
【発明が解決しようとする課題】
ＤＩＴは、例えばパーシャルＴＳを受信する装置側が、不連続位置を識別してデコードを行うために利用する。そして、適正にデコードを行うためには、このＤＩＴの挿入タイミングが重要となるので、例えば不連続位置の発生からＤＩＴの挿入までの時間間隔が在る許容範囲以内であることが要求される。
ところが、上記のようにしてＤＩＴをソフトウェアの処理によって生成した場合には、その処理の負荷が非常に重いことから遅くなってしまう。このため、上記したようなシステムが要求する許容範囲内に収まる充分速いタイミングでＤＩＴの生成及び挿入を行うことは難しいとされている。この点について、図１０を参照して説明する。
【００１０】
ここで、先に説明したＤＩＴの挿入は、理想的には、例えば図１０（ａ）に示すようにして行われるべきものとなる。
図１０（ａ）には、パーシャルＴＳが時間経過に従って示されている。そしてこの場合には、先ずプログラム１としてのコンテンツの内容を有するパーシャルＴＳを送出しているものとされる。
パーシャルＴＳは、図示するようにして、データ長が１８８バイトで、時間長は約５０μｓのＴＳパケット（ＴＳ  Ｐａｃｋｅｔ）のデータ単位が連続することによって形成される。
【００１１】
そして、例えばチャンネルの切り換えが行われたことで、時点ｔ１においてプログラム１が中断し、新たにプログラム２に切り換わることになったとする。これは、即ちパーシャルＴＳにおけるコンテンツが変化したものであり、従って、パーシャルＴＳについて不連続点が発生したことになる。
このようにして不連続点が発生すると、送出装置ではＤＩＴを発生させ、プログラム１が終了したとされるデータ位置に続けて、発生させたＤＩＴを挿入する。ここで、ＤＩＴは、１８８バイトによるＴＳ  Ｐａｃｋｅｔ単位のデータであり、また、実際には、第１ＤＩＴ，第２ＤＩＴとして示されているように、データ内容の異なる２つのＴＳ  Ｐａｃｋｅｔ単位を連続して挿入するように規定されている。
そして、上記のようにして第１ＤＩＴ，第２ＤＩＴを挿入すると、例えば時点ｔ２から新たなプログラム２としてのコンテンツを送出するようにされる。
【００１２】
送出されたパーシャルＴＳを受信してデコードする機器側においては、上記のようにして挿入されるＤＩＴに基づいてパーシャルＴＳの不連続位置を認識することができる。そして、この認識した不連続位置に対応した適切な処理をしかるべきタイミングで行うようにされる。
上記した不連続位置に対応した処理は、プログラム等の変更を伴う処理であるため、できるだけ迅速に行われることが好ましい。従って、ＤＩＴとしても、理想的には、この図１０（ａ）において模式的に示されるようにして、ＤＩＴは、プログラム１とプログラム２との間において、時間的隙間が生じないようにして挿入されることが好ましい。このようなタイミングで挿入されれば、受信側においては、プログラム１終了後において直ちにパーシャルＴＳが不連続となることが認識でき、新たなプログラム２としてのデータに対する処理を迅速かつ適切に実行することができる。
【００１３】
しかし、前述もしたようにして、ソフトウェア処理によってＤＩＴを生成する場合には相当の時間を要することから、実際には、図１０（ｂ）に例示するようなタイミングでＤＩＴが挿入されてしまうことになる。
つまり、パーシャルＴＳの流れにおいて、時点ｔ１にてプログラム１が終了したことが認識されたとしても、ソフトウェアによる第１ＤＩＴの生成処理に時間がかかるため、例えば図示するように、時点ｔ１からある程度の時間が経過した時点ｔ１−１にて第１ＤＩＴが挿入されてしまう。また、第１ＤＩＴに続けて挿入されるべき第２ＤＩＴも、例えば第１ＤＩＴの挿入直後の時点ｔ１−２から相応の時間が経過した時点ｔ１−３において挿入されてしまう。
【００１４】
例えば、現実には、上記図１０（ｂ）において時点ｔ１〜時点ｔ１−１、及び時点ｔ１−２〜時点ｔ１−３として示される時間間隔は、数ｍｓ程度にまで長くなる場合がある。このようにして時間間隔があまりに空きすぎると、受信側では、パーシャルＴＳの不連続位置に対応した処理を適切に実行することができなくなる可能性が高い。
【００１５】
【課題を解決するための手段】
そこで本発明は上記した課題を考慮して、データ処理装置として次のように構成する。
つまり、所定の規格に従ったストリームデータを入力する入力手段と、ハードウェアとして形成され、ストリームデータが不連続となることを示す不連続情報を生成して、上記入力手段により入力されたストリームデータに対して挿入するようにして出力可能とされる不連続情報処理手段と、入力手段により入力されたストリームデータに対して上記不連続情報を挿入すべきタイミングを不連続情報処理手段に対して指示するタイミング制御手段とを備えることとした。
【００１６】
上記構成おいては、不連続情報を生成して所定の形式によるストリームデータに対して挿入する不連続情報処理手段をハードウェアによって形成するようにされる。そして、例えばソフトウェアによる制御処理としては、不連続情報の挿入タイミングを指示するようにされる。
つまり、本発明においては、不連続情報の生成をハードウェアの動作によって行うようにしていることで、高速に不連続情報が生成されるようにしているものであり、これによって、例えばソフトウェア処理によって不連続情報を生成する場合と比較して、より理想的なタイミングで不連続情報をストリームデータに対して挿入することが可能となる。
【００１７】
【発明の実施の形態】
以下、本発明の実施の形態としてのデータ処理装置について説明を行っていくこととする。本実施の形態のデータ処理装置としては、デジタル衛星放送を受信復調して映像／音声信号を出力することのできる、デジタル衛星放送受信装置に搭載されている場合を例に挙げることとする。
また、以降の説明は次の順序で行う。
１．デジタル衛星放送受信機
２．ＤＩＴ
３．ＩＥＥＥ１３９４通信部
【００１８】
１．デジタル衛星放送受信機
図１は、本実施の形態のデジタル衛星放送受信装置の構成例が示されている。
周知のように、デジタル衛星放送では、通信衛星又は放送衛星からデジタル放送信号が出力されている。パラボラアンテナ１２では、この衛星からの放送信号を受信し、内蔵のＬＮＢ(Low Noize Block Down Converter)によって所定の高周波信号に変換して、デジタル衛星放送受信機１に対して供給する。
【００１９】
デジタル衛星放送受信機１においては、パラボラアンテナ１２にて受信され、所定の周波数に変換された受信信号を、フロントエンド部２により入力する。
フロントエンド部２では、システムコントローラ１１からの伝送諸元等を設定した設定信号に基づいて、この設定信号により決定されるキャリア（受信周波数）を受信して、例えばビタビ復調処理や誤り訂正処理等を施すことで、ＴＳ（Transport Stream）を得るようにされる。
【００２０】
このデジタル衛星放送の規格によるＴＳは、周知のように、例えばＭＰＥＧ２(Moving Picture Experts Group Layer2）方式によって、複数のプログラム（番組）のビデオ信号及びオーディオ信号を圧縮した圧縮データと、各種の付加情報が多重化されている。上記したビデオ信号及びオーディオ信号を圧縮した圧縮データは、ＥＳ（Elementary Stream)として多重化される。また、放送側が挿入する付加情報としては、ＰＡＴ(Program Association Table)、ＰＭＴ(Program Map Table)などのテーブルを格納するＰＳＩ(Program Specific Information：番組特定情報）や、ＳＩ(Service Information:番組配列情報）などが挙げられる。
そして、上記情報の多重化は、ＴＳを１８８バイトのトランスポートストリーム・パケット（ＴＳパケット）により形成するようにして、このＴＳパケットに対して、上記したＥＳ及び各種付加情報を格納することにより行われる。
フロントエンド部２にて得られたＴＳは、デスクランブラ３に対して供給される。
【００２１】
また、フロントエンド部２では、ＴＳからＰＳＩ(Program Specific Information:番組特定情報）のパケットを取得し、その選局情報を更新すると共に、ＴＳにおける各チャンネルのコンポーネントＰＩＤ(Program ID)を得て、例えばシステムコントローラ１１に伝送する。システムコントローラ１１では、取得したＰＩＤを受信信号処理に利用することになる。
【００２２】
デスクランブラ３では、予め用意されたデスクランブルキーデータをシステムコントローラ１１から受け取ると共に、システムコントローラ３によりＰＩＤが設定される。そして、このデスクランブルキーデータとＰＩＤとに基づいてデスクランブル処理を実行する。
この場合において、デスクランブラ３にてデスクランブル処理が施されたＴＳは、スイッチ８の端子Ｔ１に対して供給されると共に、分岐してＩＥＥＥ１３９４通信部４に対して供給されるようになっている。また、確認のために述べておくと、デスクランブラ３から出力されるＴＳとしては、複数のプログラムのＥＳが多重化されている可能性があり、また、ＰＳＩをはじめとする付加情報も除去されることなく多重化されているものである。
【００２３】
スイッチ８は、システムコントローラ１１の制御によって、端子Ｔ３に対して端子Ｔ１又は端子Ｔ２が択一的に接続されるようにして切り換えが行われる。そして、受信した放送信号をデコードしてビデオ／オーディオ信号として出力する際には、端子Ｔ３に対して端子Ｔ１を接続することで、デスクランブラ３から出力されたＴＳをデマルチプレクサ９に対して供給する。
これに対して、ＩＥＥＥ１３９４通信部４にて受信した外部からのＴＳをデコードしてビデオ／オーディオ信号として出力する際には、端子Ｔ３に対して端子Ｔ２を接続することで、ＩＥＥＥ１３９４通信部４にて受信したＴＳをデマルチプレクサ９に対して出力するようにされる。
なお、ＩＥＥＥ１３９４通信部４の構成は後述する。
【００２４】
デマルチプレクサ９は、システムコントローラ１１により設定されたフィルタ条件に従って、デスクランブラ３から供給されたＴＳから必要なＴＳパケットを分離する。これにより、例えばデマルチプレクサ９においては、目的とする１つのプログラムについてのＴＳパケットとして、ＭＰＥＧ２方式により圧縮されたビデオデータのＴＳパケットと、ＭＰＥＧ２方式により圧縮されたオーディオデータのＴＳパケットを得ることになる。そして、このようにして得られた圧縮ビデオデータと圧縮オーディオデータをＭＰＥＧデコーダ１０に対して出力する。
【００２５】
なお、デマルチプレクサ９により分離された圧縮ビデオ／オーディオデータの個別パケットは、ＰＥＳ(Packetized Elementary Stream)と呼ばれる形式でそれぞれ、ＭＰＥＧデコーダ１０に入力されるようになっている。
また、上記したフィルタ条件の設定は、例えばデマルチプレクサ９において、ＴＳに含まれるＰＡＴ、ＰＭＴなどを抽出して、システムコントローラ１１に転送するようにされる。そして、システムコントローラ１１が、転送されてきたＰＡＴ、ＰＭＴなどに記述されている情報内容に基づいて、デマルチプレクサ９に対してフィルタ条件を設定するようにされる。
【００２６】
ＭＰＥＧデコーダ１０においては、圧縮ビデオデータをＭＰＥＧ２フォーマットに従ってデコード（伸長）処理を行うビデオデコーダと、圧縮オーディオデータについて、ＭＰＥＧ２フォーマットに従って、上記ビデオデータ出力に同期させるようにしてデコード処理を行うオーディオデコーダとを備えている。そして、入力された圧縮ビデオデータについては、ビデオデコーダによってデコード処理を施し、また、入力された圧縮オーディオデータについては、オーディオデコーダによってデコード処理を施す。
そして、この場合には、例えばデコードされたビデオデータについて、例えばＮＴＳＣ方式などの所定のテレビジョン方式に対応して適正に画像表示が行われるように所要の信号処理を施して、アナログビデオ信号として出力するようにされる。
また、デコードされたオーディオデータについては、例えばＤ／Ａ変換を行ってアナログ音声信号として出力するようにされる。
【００２７】
ＩＥＥＥ１３９４通信部４は、当該デジタル衛星放送受信機１と外部機器とをＩＥＥＥ１３９４バス１３を介して通信可能とするために設けられる。そして、このための基本構成としては、周知のように、ハードウェア、ファームウェア的には、物理層、リンク層、トランザクション層、及びシリアルバス・マネージメントを備え、この上位にアプリケーションが設けられる構成を採り、これらは、例えば送受信部７としての機能を実現する。また、本実施の形態に対応しては、フィルタ部５及びＤＩＴ挿入部６を備える。
【００２８】
この場合のＩＥＥＥ１３９４通信部４は、デジタル衛星放送受信機１にて受信されてデスクランブラ３にてデスクランブル処理が施されたＴＳを入力して、ＩＥＥＥ１３９４バス１３を介して接続された外部機器に対して送信出力可能とされている。例えば外部機器として、デジタルＶＴＲやＨＤＤなどのデジタルストレージ機器を接続すれば、当該デジタル衛星放送受信機１により受信取得したデータを、ＴＳの形式のままデジタルストレージ機器に記録して保存することができる。
【００２９】
上記のようにして受信取得したＴＳを外部機器に対して送信する際の動作としては、概略は次のようになる。
デスクランブラ３からＩＥＥＥ１３９４通信部４に対して入力されるＴＳには、前述したように、複数のプログラムのデータが多重化され、さらに、各種の付加情報が多重化されている状態にある。
そこで、ＩＥＥＥ１３９４通信部４では、デスクランブラ３から入力されたＴＳは、先ず、フィルタ部５に対して供給するようにしている。フィルタ部５においては、入力されたＴＳから、必要とされるプログラム（コンテンツ）のみのＴＳパケットを分離する。なお、この際においても、先のデマルチプレクサ９の動作として説明したように、例えばＴＳに含まれるＰＡＴ、ＰＭＴなどの付加情報の内容に基づいて、必要なＴＳパケットを抽出するためのフィルタ条件が設定される。
【００３０】
ここで、フィルタ部５によって分離されたＴＳパケットによっては、送信用のＴＳが再構築されることになるのであるが、このＴＳは、元のＴＳから必要とされるプログラムに対応する情報のみが部分的に抜き出されたものであることから、「パーシャル・トランスポートストリーム（パーシャルＴＳ）」といわれる。
【００３１】
そして、ＩＥＥＥ１３９４通信部４では、フィルタ部５が機能することによって得られたパーシャルＴＳに対して、必要があれば、ＤＩＴ挿入処理部６を利用してＤＩＴを挿入する。
【００３２】
ＤＩＴについての詳細は後述するが、ＤＩＴとは、「Discontinuity Information Table」の略称であり、パーシャルＴＳに特有とされる、ＴＳパケット単位による付加情報である。そして、ＤＩＴが挿入されることで、パーシャルＴＳにおけるその挿入位置において不連続性が生じたことを示すことになる。
例えば、本実施の形態の場合であれば、デジタル衛星放送受信機１において受信チャンネルの切り換えが行われたり、また、パラボラアンテナ１２における受信状況が悪化して、正常な受信信号が中断したりする可能性がある。このようなことが起こると、受信取得されるＴＳとしては連続性を失うことから、このＴＳを基としてＩＥＥＥ１３９４通信部４にて得られるパーシャルＴＳとしても不連続性が与えられることになる。このようにしてパーシャルＴＳにおいて不連続位置が発生したとされる場合には、ＤＩＴを挿入すべきことが規格として定められている。
なお、この不連続性の判定は、例えばシステムコントローラ１１が、フロントエンド部２又はデスクランブラ３における信号処理状況を監視することで行うことが可能である。
【００３３】
そして、必要に応じてＤＩＴが挿入されたパーシャルＴＳは、例えば送受信部７によって、ＩＥＥＥ１３９４データインターフェイスのフォーマットに従ったパケット化が施され、ＩＥＥＥ１３９４バス１３を介して、目的の機器（ノード）に対して送信されることになる。
【００３４】
また、本実施の形態のＩＥＥＥ１３９４通信部４では、例えば送受信部７が機能することで、外部機器から送信されたＴＳの形式のデータをＩＥＥＥ１３９４バス１３を介して受信取得することが可能とされる。そして、このようにして受信取得したＴＳを、スイッチ８を介してデマルチプレクサ９に対して出力することで、最終的にはＭＰＥＧデコーダ１０からアナログビデオ／オーディオ信号として出力することになる。
【００３５】
つまり、本実施の形態のデジタル衛星放送受信機１では、ＩＥＥＥ１３９４通信部４を備えることで、受信取得したＴＳを外部機器に対して送出することが可能とされる。また、例えば外部のデジタルストレージ機器にて再生されたＴＳとしてのデータを受信し、このＴＳにより得られるビデオ／オーディオ信号を出力することが可能とされるものである。
【００３６】
２．ＤＩＴ
ところで、ＤＩＴの生成及びパーシャルＴＳへのＤＩＴの挿入は、先にも述べたように、従来においてはソフトウェアによる処理によって行われていた。このＤＩＴの生成のための処理負荷は重いことから、結果的には、例えば受信側が要求する程度にＤＩＴを高速に生成して送出することは困難とされていたものである。
そこで本実施の形態では、ＩＥＥＥ１３９４通信部４内のＤＩＴ挿入処理部６についてハードウェアにより形成することとした。ＤＩＴの生成をハードウェアにより行えば、ソフトウェア処理によって生成する場合よりも高速となるる。また、後述する回路構成及び動作とすることで、ＤＩＴを効率的に生成することが可能となるものである。
【００３７】
ここで、本実施の形態としてのＤＩＴ生成及び挿入のための回路構成を説明するのに先立ち、ＤＩＴについての説明を行っておくこととする。
先にも若干説明したように、ＤＩＴ(Discontinuity Information Table)は、パーシャルＴＳに特有のＴＳパケット単位の付加情報である。そして、パーシャルＴＳについて不連続性が発生したことを示すために、その不連続の発生位置に挿入することが規定されている。
参考までに、ＤＩＴについては、DVB ETS 300 468 Specification for Service information(SI) in DVB systems, ARIB-STD B1/B21、及びARIB TR-B15の規格書において定められており、この中で、ＤＩＴを挿入すべき条件も具体的に記されているが、ここでの説明は省略する。
【００３８】
また、ＤＩＴを挿入するにあたっての制限規定であるが、先の図１０（ａ）によっても示したように、第１ＤＩＴ，第２ＤＩＴの２つの異なるデータ構造のＴＳパケットを連続して挿入すべきとされており、これら第１ＤＩＴと第２ＤＩＴのＴＳパケットの間には、有効な構造を持つ他のＴＳパケットを挿入してはいけないこととされている。なお、本明細書においては、特に第１ＤＩＴと第２ＤＩＴを区別しない場合には、単に「ＤＩＴ」と表記する。
また、ＤＩＴが挿入された後に、このＤＩＴが挿入される以前にパーシャルＴＳを構成していたＴＳパケットを挿入することと、ＤＩＴが挿入される前に、ＤＩＴが挿入された後にあるべきパーシャルＴＳを構成していたＴＳパケットを挿入することは、何れも禁止されている。
【００３９】
図４は、第１ＤＩＴのデータ構造を示している。この図に示されるように、第１ＤＩＴは、１８８バイトのＴＳパケットとしての基本構造を有している。なお、この点については、後述する第２ＤＩＴの構造も同様である。
図４に示される第１ＤＩＴは、ＴＳパケットのフォーマットに従って、第１バイト〜第４バイトまでの４バイトの領域が、ＴＳパケット・ヘッダ(Transport Packet Header)とされている。そして、この場合には、残る第５バイト〜１８８バイトまでの１８４バイトの全領域が、特定の付加情報を格納するアダプテーション・フィールド(Adaptation Field)として扱われることになる。
なお、ＴＳパケット・ヘッダにおける情報内容は図６のテーブル図にも示され、また、アダプテーション・フィールドにおける情報内容は、図７のテーブル図にも示されている。
【００４０】
そして、図４及び図６によって示されるように、ＴＳパケット・ヘッダにおいては、先頭位置から順に、
sync_byte(8bit)
transport_error_indicator(1bit)
payload_unit_start_indication(1bit)
transport_priority(1bit)
PID(13bit)
transport_scrambling_control(2bit)
adaptation_field_control(2bit)
continuity_counter(4bit)
の各領域が配置される。
【００４１】
ＴＳパケット・ヘッダがＤＩＴとされる場合、上記各領域に対しては、次のような値が格納されるべきこととなっている。
先ず、sync_byte(8bit)には固有の同期パターンとしては、0x47が格納される。
transport_error_indicator(1bit)は、ＴＳのエラーの有無を示すのであるが、通常は‘0'を格納してエラーが無いことを示す。
payload_unit_start_indication(1bit)は、現パケットがテーブル及びＰＥＳの最初のパケットであるか否かを示すのであるが、ＤＩＴである以上、テーブル及びＰＥＳでは無いこととなるので、固定的に‘0'を格納する。
transport_priority(1bit)は、ＤＩＴとしては、‘0'‘1'の何れとされてもよいこととなっている。
また、PID(13bit)は、ＤＩＴについては、0x001Eであることが規格書によって規定されている。
transport_scrambling_control(2bit)については、スクランブル処理をほどこさない場合には‘00’を格納し、施す場合には必要に応じて‘00’以外の値が格納される。
adaptation_field_control(2bit)は、第１ＤＩＴについては、‘10’が格納されることで、adaptation_field only,no payloadであることを示すようにされる。つまり、ＴＳパケット・ヘッダに続けては、アダプテーション・フィールドのみが配置され、ペイロードは存在しないＴＳパケットであるという、図４の第１ＤＩＴの構造であることを示しているものである。
但し、後述する第２ＤＩＴの場合には、‘01’が格納されることでno adaptation_field,payload onlyであることを示すようにされる。第２ＤＩＴは、後述するように、アダプテーション・フィールドは無く、ＤＩＴセクションというペイロードが配置されるのである。
continuity_counter(4bit)は、PIDに格納される値が同じとされるＴＳパケットの連続性を示すカウンターで、最初の値を指定がない限りは0x0とし、それ以降はパケットを挿入するに従って１つづつインクリメントされた値が格納される。そして、0xFの値を取った場合は、0x0にラップアラウンドするものとされている。これはシステム側がパケット挿入を行うごとに、自動カウントアップするべきものとされている。
【００４２】
また、アダプテーション・フィールドにおいては、図４及び図７によって示されるように、先頭位置から順に、
adaptation_field_length(8bit)
discontinuity_indicator(1bit)
random_access_indicator(1bit)
elementary_stream_priority_indicator(1bit)
PCR_flag(1bit)
OPCR_flag(1bit)
splicing_point_flag(1bit)
transport_private_data_flag(1bit)
adaptation_field_extension_flag(1bit)
が配置され、残る領域は、stuffing_byte として例えばALL‘１’が格納される。
【００４３】
上記adaptation_field_length(8bit)は、アダプテーション・フィールドとしてのデータ長が示される。
また、アダプテーション・フィールド内における８つのフラグ類であるが、これらについては、ＴＳパケットがＤＩＴである場合には、先ず、discontinuity_indicatorには‘1’を格納し、残る７つの各フラグ（random_access_indicator、elementary_stream_priority_indicator、PCR_flag、OPCR_flag、splicing_point_flag、transport_private_data_flag、adaptation_field_extension_flag）には、‘0’を格納することが規定されている。
【００４４】
また、第２ＤＩＴとしてのＴＳパケットの構造図は、図５に示される。
この図に示すように、第２ＤＩＴもまた、第１バイト〜第４バイトまでの４バイトの領域は、ＴＳパケット・ヘッダ(Transport Packet Header)とされている。そして、この場合には、続く第５バイト〜第９バイトまでの５バイトの領域が、ＤＩＴセクション(DIT Section)として定義され、残る第９バイト〜第１８８バイトまでの領域がstuffing_byteによって埋められることになる。
【００４５】
第２ＤＩＴにおけるＴＳパケット・ヘッダの構造は、先に図４及び図６により説明した第１ＤＩＴの場合と同様となる。但し、これも前述したが、第２ＤＩＴのＴＳパケット・ヘッダにおいては、adaptation_field_control(2bit)に対して‘01’が固定初期値として格納される。
【００４６】
ＤＩＴセクションの構造は図８のテーブル図によっても示されている。
図５及び図８に示されるように、ＤＩＴセクションは、その先頭位置から順に、
pointer_field(8bit)
table_id(8bit)
section_syntax_indicator(1bit)
reserved(1bit)
reserved(2bit)
section_length(12bit)
transition_flag(1bit)
reserved(7bit)
が配置され、残る領域にstuffing_byte として例えばALL‘１’が格納される。
【００４７】
そして、上記ＤＩＴセクション内においてpointer_field(8bit)には、0x00を格納することとしており、テーブルの最初のデータがpointer_fieldの直後から続くことを示すようにされる。
table_id(8bit)には、ＤＩＴセクションとしてのテーブルであることを示す0x7Eを格納する。
section_syntax_indicator(1bit)に対しては‘0’を格納することで、ＤＩＴセクションとしてのテーブルが、いわゆるShort sectionであることを示すようにされる。
また、section_lengthには0x001を格納し、このフィールドに続いては、table情報が１バイトであることを示すようにされる。
transition_flagは、ＤＩＴを挿入する所定の条件に応じて、‘0’,‘1’の何れかの値がセットされる。
なお、図６〜図８において示されるuimsbf、及びbslbfは、それぞれidentifierとしてのビット列表記方法を示しており、uimsbfは、最上位ビットが先頭である符号無し整数(unsighned integer,most significant bit first)であることを意味する。また、bslbfは、左ビットが先頭であるビット列(bit string,left bit first)であることを示す。
【００４８】
３．ＩＥＥＥ１３９４通信部
続いては、ＩＥＥＥ１３９４通信部４の内部の構成について、本実施の形態としてのＤＩＴ生成／挿入処理の点から説明していくこととする。
図２は、図１に示されているＩＥＥＥ１３９４通信部４の内部構成として、パーシャルＴＳを外部機器に対して送信するための構成を抜き出して示している。
なお、この図において図１と同一部分には同一符号を付し、図１と重複する内容についての説明は省略する。
【００４９】
デスクランブラ３（図１）から出力されたＴＳは、フィルタ部５に入力されることで、前述もしたように、必要とされるプログラム（コンテンツ）のＴＳパケットのみから形成されるパーシャルＴＳとして出力される。そして、このパーシャルＴＳは、ＴＳ用ＦＩＦＯ２２に対して入力される。
【００５０】
ＴＳ用ＦＩＦＯ２２は、ＭＰＥＧ２フォーマットのデータを、ＩＥＥＥ１３９４データインターフェイスのIsochronous転送により転送する場合のジッタ（遅延時間）を吸収するためのバッファとして設けられる。そして、このＴＳ用ＦＩＦＯ２２に入力されたパーシャルＴＳは、所定の転送レートによってスイッチ部２３に対してシリアル転送される。
なお、この場合のＴＳ用ＦＩＦＯ２２は、後述する内部構成を有するＤＩＴ挿入処理部６から出力されるフラッシュ指示信号(Flash)に応じて、内部に保持されているデータをフラッシュすることができるようになっている。
【００５１】
実際において、ＩＥＥＥ１３９４通信部４においてパーシャルＴＳに対して挿入すべきＴＳパケット単位の付加情報は、例えばＰＳＩ、ＳＩなど、ＤＩＴ以外にも存在するのであるが、これらの付加情報については、システムコントローラ１１がソフトウェアによる処理を実行することで、発生されるようになっている。そして、システムコントローラ１１が発生させたこれらの種類の付加情報は、パーシャルＴＳへの挿入タイミングに合わせた所定のタイミングで、パケット用ＦＩＦＯ２１に対して転送される。
パケット用ＦＩＦＯ２１では、システムコントローラ１１から転送されてきた付加情報を、所定の転送レートによって、スイッチ部３３に対して転送する。
【００５２】
図１においても示されていたＤＩＴ挿入処理部６は、ハードウェアによって構成される。このＤＩＴ挿入処理部６では、システムコントローラ１１の指示に応じて、図４〜図８によって説明した構造によるＤＩＴを生成し、パーシャルＴＳへの挿入のためにスイッチ部６に対して転送する。
また、この場合のＤＩＴ挿入処理部６は、システムコントローラ１１のタイミング指示に応じて、ＴＳ用ＦＩＦＯ２２に保持されているデータをフラッシュするためのフラッシュ指示信号(Flash)を出力可能ともされている。
なお、ＤＩＴ挿入処理部６の内部構成については後述する。
【００５３】
スイッチ部２３においては、通常時においてはＴＳ用ＦＩＦＯ２２から入力されたパーシャルＴＳのデータ列を通過させて送信処理部２４に対して出力している。そして、パケット用ＦＩＦＯ２１から付加情報（ＤＩＴを除く）が入力されたときには、しかるべきタイミングでこの付加情報を通過させて送信処理部２４に出力する。また、ＤＩＴ処理部６にてＤＩＴが出力された場合には、ＤＩＴ処理部６から出力されるＤＩＴを通過させて送信処理部２４に出力させる。
このようにして、スイッチ部２３が通過させるべきデータの切り換えを行うことで、送信処理部２４に対しては、必要とされる付加情報がしかるべき位置に挿入されたパーシャルＴＳが転送される。
【００５４】
送信処理部２４では、上記のようにして付加情報が挿入されたパーシャルＴＳについて、例えばＩＥＥＥ１３９４データインターフェイスのフォーマットに従って、例えばIsochronous転送に適合したパケット化などの処理を行い、ＩＥＥＥ１３９４バス１３を介して、目的とする機器（ノード）に対して送信出力する。
【００５５】
ところで、パーシャルＴＳに対してＤＩＴを挿入する場合、例えばＤＩＴ挿入処理部６では、システムコントローラ１１からのタイミング指示に応じて、フラッシュ指示信号をＴＳ用ＦＩＦＯ２２に対して出力するようになっている。この際、システムコントローラ１１は、例えばフロントエンド部２又はデスクランブラ３における信号処理状況を監視してＴＳにおけるデータの不連続位置を検出するようにしている。そして、この不連続位置を検出すると、所要のタイミングで指示信号を出力する。
【００５６】
上記のようにしてＤＩＴ挿入処理部６から入力されたフラッシュ指示信号に応じて、ＴＳ用ＦＩＦＯ２２は、内部に保持しているデータをフラッシュする。そして、実際には、ＴＳ用ＦＩＦＯ２２のデータがフラッシュされたタイミングに対応してＤＩＴを挿入するようにされ、この後、新規なコンテンツのパーシャルＴＳがＴＳ用ＦＩＦＯ２２を介してスイッチ部２３に出力されることになる。
このようにしてＴＳ用ＦＩＦＯ２２のデータをフラッシュすることで、ＤＩＴを、パーシャルＴＳの不連続点に対して適切に挿入するようにしている。
【００５７】
続いて、ＤＩＴ挿入処理部６の内部構成例及びその動作について、図３を参照して説明する。
本実施の形態のＤＩＴ挿入処理部６は、図３に示すようにして、第１レジスタ３１及び第２レジスタ３２を備える。
第１レジスタ３１は、第１ＤＩＴとしてのＴＳパケット内において有効とされるデータ構造部分のデータが保持される。第１ＤＩＴの有効データ構造部分は、先に示した図４からも分かるように、４バイトのＴＳヘッダと、これに続くアダプテーション・フィールドにおける上位２バイトの、計６バイトの領域とされる。つまり、第１レジスタ３１は、図４に示す構造のＴＳパケットにおける上位６バイトのデータ構造を保持する。そして、例えば起動時などの初期時においては、この６バイトのデータ構造内における各領域に対しては、後述する初期値をセットしておくようにされる。
【００５８】
一方の第２レジスタ３２は、第２ＤＩＴとしてのＴＳパケット内において有効とされるデータ構造部分のデータを保持する。
第２ＤＩＴの場合、その有効データ構造部分は、図５に示すようにして、４バイトのＴＳヘッダと、これに続く５バイトのＤＩＴセクションの、計９バイトの領域である。従って、第２レジスタ３２は、この９バイトのデータ構造を保持するようにされる。また、この場合にも、起動時などの初期時においては、この６バイトのデータ構造内における各領域に対しては後述する初期値がセットされることになる。
このようにして、本実施の形態のＤＩＴ挿入処理部６では、レジスタに対して、ＤＩＴの基本構造部分を格納して保持するようにしている。そして、この場合には、第１ＤＩＴと第２ＤＩＴとで計１５バイトが必要とされるのみであり、従ってハードウェアとして用意すべきレジスタも小規模で済むことになる。
【００５９】
生成／出力コントロール部３３は、適宜必要とされるデータ内容のＤＩＴを生成する。このために、第１レジスタ３１及び第２レジスタ３２に格納されている第１ＤＩＴ、第２ＤＩＴの有効データ構造部分において、変更の必要のある領域については、しかるべき値をセットする。
そして、第１レジスタ３１及び第２レジスタ３２から、上記のようにして所要の値をセットした第１ＤＩＴ、第２ＤＩＴの有効データ構造部分を読み出して、所要のバイト数のstuffing_byteを付加する。この結果、ＴＳパケット単位のサイズの第１ＤＩＴ、第２ＤＩＴが得られることになる。そして、このようにして生成された第１ＤＩＴ、第２ＤＩＴとしてのＴＳパケットを、しかるべきタイミングでスイッチ部２３に対して出力する。
そして、上記した動作を実現するために、生成／出力コントロール部３３は、機能的には、図示するように、フラグセット部３３ａ、インクリメント部３３ｂ、バイト埋め込み部３３ｃ、及び挿入出力部３３ｄとを有して構成される。なお、生成／出力コントロール部３３もまた、ハードウェアによって形成される。
【００６０】
そして、上記した回路構成によるＤＩＴの生成、及びパーシャルＴＳへの挿入のための出力処理は、次のようにして行われる。
先ずは、第１レジスタ３１及び第２レジスタ３２において、第１ＤＩＴ、第２ＤＩＴの有効データ構造部分に対してセットされる初期値について述べておく。
なお、この説明にあたっては、再度、図４〜図８を参照する。
【００６１】
第１レジスタ３１における第１ＤＩＴの有効データ構造部分に対しては、次のようにして初期値をセットする。
第１ＤＩＴの有効データ構造部分としては、前述したように、ＴＳパケット・ヘッダ（４バイト）と、これに続くアダプテーション・フィールドにおける上位２バイトが格納される。
先ず、ＴＳパケット・ヘッダにおいて、sync_byte(8bit)には、同期パターンである0x47がセットされる。このsync_byte(8bit)は、固定値として規定されているから、セットされた初期値0x47が固定的に用いられることになる。なお、以降において、固定的に用いられることで、変更が行われない初期値については、「固定初期値」ということにする。
また、transport_error_indicator(1bit)は、‘0'を固定初期値として格納し、エラーが無いことを示す。
また、payload_unit_start_indication(1bit)は、ＤＩＴとしてのパケットに格納され、テーブル及びＰＥＳでは無いのであるから、固定初期値として‘0'をセットする。
また、transport_priority(1bit)は、ＤＩＴとしては、‘0'‘1'の何れとされてもよいこととなっているので、何れかの任意の値を固定初期値としてセットする。
また、PID(13bit)は、ＤＩＴについては、0x001Eであることが規格書によって規定されているので、これを固定初期値としてセットすればよいが、システム側で必要に応じて書き換えが行われるようにしても構わないものである。
transport_scrambling_control(2bit)についてであるが、ここでは、スクランブル処理をほどこさないこととして、固定初期値‘00’をセットするようにされる。但し、スクランブル処理を施す仕様とする場合には必要に応じて‘00’以外の値をセットするようにしてもよいものである。
adaptation_field_control(2bit)は、前述もしたように、第１ＤＩＴについては、‘10’で固定的となるので、この値を固定初期値としてセットする。なお、先に述べておくと、第２ＤＩＴの場合には、no adaptation_field,payload onlyであることを示す‘01’を固定初期値として格納するようにされる。
continuity_counter(4bit)は、初期値として0x0をセットするようにされる。そして、このcontinuity_counterの値は、PIDにより示される同じパケットが連続して挿入されるごとに、インクリメントされてセットが行われていくことになる。
【００６２】
また、アダプテーション・フィールドにおける上位２バイトのうち、上位１バイトのadaptation_field_length(8bit)には、１８３バイトを示す0xB7を固定初期値としてセットするようにされる。
そして、これに続く１バイトの領域を形成する８つの各フラグ類については、規定に従って、次のようにして固定初期値をセットする。
つまり、discontinuity_indicatorには‘1’をセットし、残る７つの各フラグ（random_access_indicator、elementary_stream_priority_indicator、PCR_flag、OPCR_flag、splicing_point_flag、transport_private_data_flag、adaptation_field_extension_flag）には、‘0’をセットする。
【００６３】
また、第２レジスタ３２における第２ＤＩＴの有効データ構造部分に対してセットすべき初期値は、次のようになる。
先ず、第２ＤＩＴの有効データ構造部分における上位４バイトのＴＳパケット・ヘッダであるが、これについては、上述した第１ＤＩＴとしての有効データ構造部分の場合と同様となる。但し、上述もしたように、adaptation_field_control(2bit)については‘01’を固定初期値としてセットすることになる。
【００６４】
そして、ＤＩＴセクションとしての５バイトを形成する各領域については、次のようにして初期値をセットする。
つまり、pointer_field(8bit)には、0x00を固定初期値としてセットすることになる。
また、table_id(8bit)には、0x7Eを固定初期値としてセットする。なお、先のデータ構造の説明に際しても述べたように、システムにおいて必要に応じて値を変更することも可能とされる。
また、section_syntax_indicator(1bit)に対しては‘0’を、section_lengthには0x001を、それぞれ固定初期値としてセットする。
また、transition_flagは、ＤＩＴを挿入する所定の条件に応じて、‘0’,‘1’の何れかに変更されるべき値であるから、初期値としては、‘0’,‘1’の何れかの値を暫定的にセットしておくようにされる。
また、ＤＩＴセクションにおいては、section_syntax_indicatorに続く３ビットの領域と、transition_flagに続く７ビットの領域がreservedの領域とされているが、ここでは、これらの各reservedの領域に対し、それぞれALL‘1’をセットするようにされる。
【００６５】
そして、上記のようにして第１レジスタ３１及び第２レジスタ３２における第１ＤＩＴ、第２ＤＩＴの有効データ構造部分に対して初期値がセットされた状態の下で、システムコントローラ１１が、現在処理中におけるＴＳについての不連続位置を検出し、このときの検出状況としてＤＩＴの挿入条件を満たしていることを判定したとする。
すると、システムコントローラ１１は、この不連続位置の検出タイミングに応じた所要のタイミングで、送出指示コマンドを、生成／出力コントロール部３３に対して出力する。
また、システムコントローラ１１では、今回のＤＩＴ挿入条件に応じて、第２ＤＩＴにおけるtransition_flagについて、‘0’,‘1’の何れをセットするべきなのかについて判断し、その判断結果に基づいて、transition_flagとしてセットすべき値を指示するフラグセットコマンドを生成／出力コントロール部３３に対して出力する。
【００６６】
送出指示コマンドが入力された生成／出力コントロール部３３では、これに応じて、インクリメント部３３ａが有するとされるカウンタのカウント値をインクリメントする。そして、インクリメントして得られたカウント値を、第１レジスタ３１における第１ＤＩＴが有するcontinuity_counterの値としてセットする。
そして、同様にして、第２レジスタ３２における第２ＤＩＴが有するcontinuity_counterの値についてのセットを行うようにされる。
【００６７】
また、この際、フラグセット部３３ａにおいては、フラグセットコマンドにより指定されるtransition_flagの値を発生させ、この発生された値を、第２レジスタ３２における第２ＤＩＴが有するtransition_flagの値としてセットする。
【００６８】
そして、上記のようにして必要な値のセットが完了したとすると、生成／出力コントロール部３３では、例えば先ず、第１レジスタ３１から、６バイトの第１ＤＩＴの有効データ構造部分の読み込みを行う。そして、バイト埋め込み部３３ｃによって、stuffing_byteとして、１７６バイト分のALL‘1’のデータを発生させ、読み込みを行った第１ＤＩＴの有効データ構造部分の後ろに付加する。
【００６９】
上記した動作が実行されることで、ＴＳパケットのサイズによる第１ＤＩＴが生成されることになる。そして、挿入出力処理部３３ｄでは、このようにして生成された第１ＤＩＴとしてのＴＳパケットを、スイッチ部２３に対して送出する。
【００７０】
続いては、生成／出力コントロール部３３は、第２レジスタ３２から、９バイトの第２ＤＩＴの有効データ構造部分の読み込みを行う。そして、バイト埋め込み部３３ｃによって、stuffing_byteとして、１７９バイト分のALL‘1’のデータを発生させ、読み込みを行った第１ＤＩＴの有効データ構造部分の後ろに付加することで、ＴＳパケットのサイズによる第２ＤＩＴが生成される。そして、挿入出力処理部３３ｄでは、この第２ＤＩＴとしてのＴＳパケットを、スイッチ部２３に対して送出する。
【００７１】
また、システムコントローラ１１は、ＤＩＴ送出指示に伴い、生成／出力コントロール部３３に対して、ＴＳ用ＦＩＦＯ２２をフラッシュするためのフラッシュ指示コマンドを、所要のタイミングで以て出力するようにされる。このフラッシュ指示コマンドの入力に応じて、挿入出力部３３ｄにおいては、ＴＳ用ＦＩＦＯ２２に対してフラッシュ指示信号(Flash)を出力する。これによって、前述したように、ＤＩＴがパーシャルＴＳにおける不連続位置に対して適正に挿入されるようにしている。
【００７２】
従来においては、例えば図２に示した構成において、ＤＩＴ挿入部６が削除された構成を採っていた。つまり、ＤＩＴについても他の付加情報と同じく、システムコントローラ１１によるソフトウェア処理によって生成して、パケット用ＦＩＦＯ２１に対して転送していたものである。
このような１８８バイトというサイズの付加情報を生成する処理は、現状のシステムコントローラ１１を構成するＣＰＵにとっては重いものであり、従って、生成が終了するまでには相当の時間を要してしまう。特に、ＤＩＴは、パーシャルＴＳの不連続位置に対して挿入されるべきものであるから、このＤＩＴの挿入タイミングが遅れてしまった場合には、このパーシャルＴＳを入力するシステムが不連続位置を認識するタイミングが遅れるので、例えばパーシャルＴＳのデコードに不具合を発生させる要因となっていたものである。
【００７３】
これに対して、本実施の形態においては、図２に示したようにして、ＤＩＴ挿入処理部６を新たに設け、このＤＩＴ挿入処理部６によって、第１ＤＩＴ及び第２ＤＩＴを生成して、パーシャルＴＳへの挿入のために出力を行うようにされる。そして、このようなＤＩＴ挿入処理部６によるＤＩＴの生成及び出力のための動作は、図３に示したようにして構成されるハードウェアによって行われ、システムコントローラ１１のソフトウェア制御としては、送出タイミング制御のみとされるのであるから、第１ＤＩＴ及び第２ＤＩＴを迅速に生成し、そして出力することができる。
従って、本実施の形態としては、例えば図１０（ａ）に示されたような、理想的なＤＩＴの挿入タイミングにほぼ近いかたちで、ＤＩＴの挿入されたパーシャルＴＳを出力することが可能になるものである。
また、ＤＩＴは、これまでの説明からも理解されるように、挿入の都度に値が変更される領域は例えばcontinuity_counter(4bit)、transition_flag(1bit)などに限られており、固定値が格納される領域のほう遥かに多い。また、これらの値が変更される領域のサイズも非常に小さい。このため、値を変更してセットするための回路構成としては非常に簡略なものとなるし、ハードウェアとしての処理も非常に軽いものとなる。
【００７４】
ところで、ＤＩＴ挿入条件によっては、ＴＳ用ＦＩＦＯ２２に保持されている不連続位置以前のデータをフラッシュする必要が無い、若しくはフラッシュすべきではないとされる場合がある。このような場合の具体例を、図９を参照して説明しておく。
図９（ａ）には、パーシャルＴＳが時間経過に応じて出力されている状態が示されている。例えばこの図に示されるようにして、先ずは、プログラム１のみに関するコンテンツを有して形成されているパーシャルＴＳが受信されているとする。そして、在る時点において、プログラム１のコンテンツに対してプログラム２に関するコンテンツのデータも多重化されたＴＳに変更されたとする。
【００７５】
このような場合にも、規格上では、ＤＩＴ挿入条件が満たされるので、プログラム２が追加された位置を不連続位置として、ＤＩＴを挿入すべきこととなっている。但し、この場合には、ＰＣＲ(Program Clock Reference)は、図９（ｂ）に示すように、パーシャルＴＳの不連続位置に関わらず連続することになっている。なお、ＰＣＲとは、ビデオ／オーディオに同期再生の基準となる時刻情報であって、本実施の形態のデジタル衛星放送受信機１の場合であれば、例えばデマルチプレクサ９においてＴＳから抽出分離して再生するように構成することが可能である。
【００７６】
但し、上述の場合には、ＤＩＴを挿入する必要はあるが、その一方で、ＰＣＲが連続しているのであるから、この連続性を維持するために、ＴＳ用ＦＩＦＯ２２に保持されている不連続位置以前のデータをフラッシュする必要は無いことになる。
例えば、先にも述べたような従来の構成では、ＤＩＴ挿入のための処理自体が重い負荷となっていたことから、ＤＩＴを挿入する場合には例外なくＴＳ用ＦＩＦＯ２２をフラッシュするようにしていた。これではＰＣＲの連続性が失われることになるので、パーシャルＴＳを入力してデコードする側においては、むしろデコードに障害が発生する可能性が生じる。
【００７７】
そこで、本実施の形態としては、図３に示した本実施の形態のＤＩＴ挿入処理部６の構成の下で、次に述べるような生成／出力コントロール部３３の動作を与えることで、ＤＩＴ挿入条件に応じてＴＳ用ＦＩＦＯ２２に保持されるデータのフラッシュについての有効／無効の切り換えが行われるようにする。
【００７８】
第２ＤＩＴに格納されるtransition_flagは、前述したように、ＤＩＴの挿入条件に応じて‘0’,‘1’の何れかの値がセットされるように規定されているが、実際としては、ＰＣＲの連続性の有無に依存したものとなっている。
つまり、パーシャルＴＳがＰＣＲを含むすべての内容が変更されるようにして不連続性が生じるとされるＤＩＴ挿入条件では‘0’がセットされる。これに対して、ＰＣＲについては連続性が保たれたうえで、パーシャルＴＳについて不連続性が生じるとされるＤＩＴ挿入条件では‘1’がセットされるものである。
【００７９】
そこで、本実施の形態の挿入出力処理部３３ｄにおいて、システムコントローラ１１から入力されるフラグセット・コマンドとして、‘0’‘1’の何れをセットすべきことを指示しているかについての検出を行う機能回路部を形成するようにされる。
そして、フラグセット・コマンドが‘0’のセットを指示するものであることを検出した場合には、先に説明したようにして、ＴＳ用ＦＩＦＯ２２に対してフラッシュ指示信号を出力して、ＴＳ用ＦＩＦＯ２２におけるフラッシュを実行させる。
これに対して、フラグセット・コマンドが‘1’のセットを指示するものであることを検出した場合には、ＴＳ用ＦＩＦＯ２２に対するフラッシュ指示信号の出力を行わないようにする。これによって、ＴＳ用ＦＩＦＯ２２においては、データがフラッシュされることなく、その転送動作が継続される。
このような構成を採ることで、本実施の形態においては、ＤＩＴ挿入時においても、必要に応じてＴＳ用ＦＩＦＯ２２をフラッシュさせないようにすることが可能となる。
【００８０】
そして、上記した動作を実際に回路として実現するには、単に、ラグセット・コマンドの指示内容を検出する検出回路と、この検出回路の検出出力を利用してＴＳ用ＦＩＦＯ２２に対するフラッシュ指示信号の出力／停止をコントロールする回路とを、ハードウェアとして備えればよい。従って、このような動作は、簡易な回路構成によって実現可能なわけであり、その動作の高速性も維持されることになる。
【００８１】
なお、本発明としては、上記した実施の形態としての構成に限定されるものではない。例えば上記実施の形態においては、本発明のデータ処理装置をデジタル衛星放送受信機に適用した場合を例に挙げているが、これ以外にも、例えばデジタルデータを記録再生することができるような記録再生装置などにおいて、パーシャルＴＳの形式のデータをＩＥＥＥ１３９４により伝送するような場合に適用可能である。また、データ処理装置が処理すべきデータについても、デジタル衛星放送の規格に従ったストリームデータ以外の規格によるデータとされて構わない。また、ＩＥＥＥ１３９４以外のデータ通信フォーマットに対しても適用が可能とされる。
【００８２】
【発明の効果】
以上説明したように本発明は、ＤＩＴ（不連続情報）を生成してパーシャルＴＳ（ストリームデータ）に対して挿入するのにあたり、ＤＩＴの生成はハードウェアによって行うようにされ、この際のソフトウェア処理としては、ＤＩＴの挿入タイミングの指示を行うようにされる。
このようにして、ＤＩＴの生成／挿入に関して、ハードウェアとソフトウェアとでの機能の使い分けを行うことで、従来のようにして、ＤＩＴの生成／挿入をすべてハードウェアによって処理する場合と比較して、パーシャルＴＳに対するＤＩＴの挿入をはるかに高速に行うことができる。このため、例えばパーシャルＴＳを入力してデコードする際にも、適切な処理を実行することが可能となるものである。
【００８３】
そして、ＤＩＴを生成するためのハードウェアの構成として、例えばＤＩＴの有効データ構造部分を少なくとも保持するレジスタを備え、このレジスタに保持されるデータについては初期値を設定する。そして、ＤＩＴ挿入時においては、、このレジスタに保持しているデータについて、変更が必要とされる所要の情報領域に対して所要の値をセットするようにされる。
このような構成をハードウェアとして与えることで、より効率的、かつ高速にＤＩＴを生成することが可能になる。
【００８４】
さらに本発明においては、例えばＤＩＴの挿入条件を示すtransition_flagなどのような所定の領域にセットすべき値に基づき、ＴＳ用ＦＩＦＯ（バッファ）に対してデータのフラッシュを指示するための指示信号についての出力／停止を設定するように構成され、これについてもハードウェアに構成することとしている。これによっては、簡略な回路構成でありながら、ＤＩＴの挿入条件に応じて、ＴＳ用ＦＩＦＯにおけるデータフラッシュを適正に制御することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態としてのデータ処理装置を備えるデジタル衛星放送受信機の構成例を示すブロック図である。
【図２】本実施の形態のＩＥＥＥ１３９４通信部４の内部構成例を示すブロック図である。
【図３】本実施の形態のＤＩＴ挿入処理部の構成例を示すブロック図である。
【図４】第１ＤＩＴのデータ構造を示すデータ構造図である。
【図５】第２ＤＩＴのデータ構造を示すデータ構造図である。
【図６】ＤＩＴにおけるＴＳパケット・ヘッダの構造を示すテーブル図である。
【図７】ＤＩＴにおけるアダプテーション・フィールドの構造を示すテーブル図である。
【図８】ＤＩＴセクション（ＤＩＴ  Ｔａｂｌｅ）の構造を示すテーブル図である。
【図９】パーシャルＴＳにおける不連続性の発生状態例として、ＰＣＲが連続する場合を模式的に示す説明図である。
【図１０】パーシャルＴＳに対するＤＩＴの挿入処理を模式的に示す説明図である。
【符号の説明】
１  デジタル衛星放送受信機、２  フロントエンド部、３  デスクランブラ、４  ＩＥＥＥ１３９４通信部、５  フィルタ部、６  ＤＩＴ挿入部、７  送受信部、８  スイッチ部、９  デマルチプレクサ、１０  ＭＰＥＧデコーダ、１１  システムコントローラ、１２  パラボラアンテナ、１３  ＩＥＥＥ１３９４バス、２１  パケット用ＦＩＦＯ、２２  ＴＳ用ＦＩＦＯ、２３  スイッチ部、２４送信処理部、３１  第１レジスタ、３２  第２レジスタ、３３  生成／出力コントロール部、３３ａ  フラグセット部、３３ｂ  インクリメント部、３３ｃ  バイト埋め込み部、３３ｄ  挿入出力部
【図１】
0004604395.tif 000002
【図２】
0004604395.tif 000003
【図３】
0004604395.tif 000004
【図４】
0004604395.tif 000005
【図５】
0004604395.tif 000006
【図６】
0004604395.tif 000007
【図７】
0004604395.tif 000008
【図８】
0004604395.tif 000009
【図９】
0004604395.tif 000010
【図１０】
0004604395.tif 000011