(57)【特許請求の範囲】
【請求項１】
複数の信号を可変レート符号化して統計多重する信号多重化装置において、
前記複数の信号のうちの少なくとも１つの信号を、前記信号に含まれる全てのモジュールが１周期に少なくとも１以上含まれる周期的なデータストリームに変換する変換手段と、
前記周期的なデータストリームをバッファリングするバッファリング手段と、
バッファリングされている前記周期的なデータストリームのデータ占有量を検出する検出手段と、
検出された前記データ占有量および前記周期的なデータストリームの出力周期に基づいて、頻度レベルを設定する設定手段と、
設定された前記頻度レベルに基づいて、１周期分の前記データストリームに含まれる全てのモジュールの中から廃棄するモジュールを決定する決定手段と、
バッファリングされている前記周期的なデータストリームから、廃棄するモジュールに決定された前記モジュールを廃棄し、かつ、廃棄しない残りの前記モジュールを前記バッファリング手段から読み出す読み出し手段と
を含み、
前記設定手段は、前記出力周期に対する、検出された前記データ占有量が予め設定されている下限値よりも小さい期間の割合が、
第１の閾値よりも小さい場合、前記頻度レベルを現状よりも下げる方向に設定し、
第１の閾値よりも大きな第２の閾値よりも大きい場合、前記頻度レベルを現状よりも上げる方向に設定する
信号多重化装置。
【請求項２】
前記変換手段は、DSM-CCデータカルーセル伝送方式を用いて、前記信号に含まれる全てのモジュールが１周期に少なくとも１以上含まれる周期的なデータストリームに変換する
請求項１に記載の信号多重化装置。
【請求項３】
複数の信号を可変レート符号化して統計多重する信号多重化装置の信号多重化方法において、
前記複数の信号のうちの少なくとも１つの信号を、前記信号に含まれる全てのモジュールが１周期に少なくとも１以上含まれる周期的なデータストリームに変換する変換ステップと、
前記周期的なデータストリームをバッファリング手段にバッファリングさせるバッファリング制御ステップと、
バッファリングされている前記周期的なデータストリームのデータ占有量を検出する検出ステップと、
検出された前記データ占有量および前記周期的なデータストリームの出力周期に基づいて、頻度レベルを設定する設定ステップと、
設定された前記頻度レベルに基づいて、１周期分の前記データストリームに含まれる全てのモジュールの中から廃棄するモジュールを決定する決定ステップと、
バッファリングされている前記周期的なデータストリームから、廃棄するモジュールに決定された前記モジュールを廃棄し、かつ、廃棄しない残りの前記モジュールを前記バッファリング手段から読み出す読み出しステップと
を含み、
前記設定ステップは、前記出力周期に対する、検出された前記データ占有量が予め設定されている下限値よりも小さい期間の割合が、
第１の閾値よりも小さい場合、前記頻度レベルを現状よりも下げる方向に設定し、
第１の閾値よりも大きな第２の閾値よりも大きい場合、前記頻度レベルを現状よりも上げる方向に設定する
信号多重化方法。
【請求項４】
複数の信号を可変レート符号化して統計多重する信号多重化装置の制御用のプログラムであって、
前記複数の信号のうちの少なくとも１つの信号を、前記信号に含まれる全てのモジュールが１周期に少なくとも１以上含まれる周期的なデータストリームに変換する変換ステップと、
前記周期的なデータストリームをバッファリング手段にバッファリングさせるバッファリング制御ステップと、
バッファリングされている前記周期的なデータストリームのデータ占有量を検出する検出ステップと、
検出された前記データ占有量および前記周期的なデータストリームの出力周期に基づいて、頻度レベルを設定する設定ステップと、
設定された前記頻度レベルに基づいて、１周期分の前記データストリームに含まれる全てのモジュールの中から廃棄するモジュールを決定する決定ステップと、
バッファリングされている前記周期的なデータストリームから、廃棄するモジュールに決定された前記モジュールを廃棄し、かつ、廃棄しない残りの前記モジュールを前記バッファリング手段から読み出す読み出しステップと
を含み、
前記設定ステップは、前記出力周期に対する、検出された前記データ占有量が予め設定されている下限値よりも小さい期間の割合が、
第１の閾値よりも小さい場合、前記頻度レベルを現状よりも下げる方向に設定し、
第１の閾値よりも大きな第２の閾値よりも大きい場合、前記頻度レベルを現状よりも上げる方向に設定する
処理を信号多重化装置のコンピュータに実行させるプログラムが記録されている記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、信号多重化装置および方法、並びに記録媒体に関し、例えば、ディジタル多チャンネル放送波に多重化するDSM-CCデータカルーセル方式のデータストリームの符号化レートを調整する場合に用いて好適な信号多重化装置および方法、並びに記録媒体に関する。
【０００２】
【従来の技術】
例えば、衛星ディジタル多チャンネル放送システムや、地上ディジタル多チャンネル放送システムにおいては、通常の放送信号（ＡＶ(Audio Visual)信号等）に多重化して、EPG（電子番組ガイド）等の付加的なデータを伝送することによる種々のサービス、いわゆるデータ放送サービスの充実が望まれている。
【０００３】
このようなデータ放送サービスのコンテンツは、コンテンツ制作者が意図したとおりのサービスを受信側において表現できるように、特定の記述形式を用いて作られる。この記述形式としては、例えばMHEG(Multimedia and Hypermedia information coding Experts Group)が使われ、コンテンツ制作者は、MHEGのオーサリングツールを用いてコンテンツ・データを制作する。
【０００４】
また、データ放送サービスのコンテンツを伝送する方式の一例として、MPEG２−６(ISO/1EC１８１３８−６)で標準化されているDSM-CC(Digital Strage Media Command and Control)（ディジタル蓄積メディア−コマンド・アンド・コントロール）データカルーセル伝送方式（詳細は後述する）が提案されている。
【０００５】
ここで、複数の信号を多重化する多重化装置１０について、図１を参照して説明する。図１において、複数の信号Ｓ1乃至ＳNは、例えば同時に放送されるプログラムのＡＶ信号である。複数の信号Ｓ1乃至ＳNは、それぞれ、可変レート符号化部１１−１乃至１１−Ｎにより、信号の内容（画像の複雑度等）に対応して変化する可変符号化レートで符号化されて多重化部１３に供給される。
【０００６】
データＤ1乃至ＤNは、データ放送サービスのコンテンツ等であり、それぞれ、DSM-CCデータ符号化部１２−１乃至１２−Ｎにより、DSM-CCデータカルーセル伝送方式に適合させて符号化され、得られたデータストリームは多重化部１３に供給される。
【０００７】
符号化された信号Ｓ1乃至ＳNおよびデータＤ1乃至ＤNは、多重化部１３により統計多重されて多重化ストリームとして後段に出力される。
【０００８】
なお、多重化部１３から出力される多重化ストリームの符号化レートは、後段への伝送路の伝送容量に依存して制限されているので、多重化部１３に供給される各符号化ストリームの符号化レートの総和が、伝送路の伝送容量を上回るような場合、多重化部１３では、例えば、可変レート符号化部１１−１乃至１１−Ｎから入力される符号化ストリームから一部のパケットを削除して多重化し、多重化ストリームの符号化レートを伝送路の伝送容量以下となるように調整している。
【０００９】
ここで、DSM-CCデータカルーセル伝送方式について説明する。上述したように、データ放送サービスのコンテンツの制作者は、例えばMHEGのオーサリングツールを用いてコンテンツ・データを作成する。制作されたコンテンツ・データは、例えば、図２に示すようなディレクトリ構造をもつ。図２において、ファイルＦＮ（Ｎ＝１，２，３）は、それぞれ１つのシーンを構成するようなデータなどとされる。
【００１０】
DSM-CCデータカルーセル伝送方式では、データを通信する単位をモジュールと称しているが、通常、１つのモジュールは、図２に示した１つのファイルＦＮと対応付けられる。図２において、１つの放送プログラムに対応するルートディレクトリＲＤに、例えば各シーンに対応するサブディレクトリＳＤ１，ＳＤ２が設けられ、サブディレクトリＳＤ１にビデオデータ、オーディオデータ、制御データ等に対応するファイルＦ１，Ｆ２，Ｆ３が設けられている。なお、ファイルＦＮは、他のサブディレクトリやルートディレクトリに設けられるものもある。また、コンテンツデータの構造が簡単である場合、サブディレクトリＳＤは設けられないこともある。
【００１１】
DSM-CCデータカルーセ伝送方式では、伝送するデータを、MPEG２で規定されている伝送形態の１つであるセクション形式に変換する。セクションのデータ量は、は、MPEG２規格によって４ＫＢに制限されている。１つのモジュール（ファイル）をDSM-CCセクション形式に変換する手順について、図３を参照して説明する。
【００１２】
図３(A)に示すモジュール（１つのファイルに相当する）は、図３(B)に示すように、共通のサイズをもつブロックＢ１乃至Ｂｋに機械的に分割される。ただし、最後のブロックＢｋだけは、共通のブロックサイズ以下であってもよい。なお、当該共通のブロックサイズは、後述するDDBセクションのサイズが４ＫＢを超えないように決定される。
【００１３】
機械的に分割された各ブロックＢ1乃至Ｂkは、図３(C)に示すように、DSM-CCヘッダが付加されてDDB(Download Data Block)構造に変換され、さらに、図３(D)に示すように、セクションヘッダとCRC(Cyclic Redundancy Check Code)が付加されてDSM-CCセクションに変換される。なお、以下、DDB構造が格納されたDSM-CCセクションをDDBセクションとも記述する。このようにして、１つのデータ放送サービスを構成する全てのモジュールをDDBセクションに変換する。
【００１４】
DSM-CCデータカルーセル伝送方式では、受信側において、DDBセクションを正しく受信するために必要な制御情報（ダウンロード制御メッセージ）として、DII(Download Info Indication)とDSI(Download Server Initiate)が用意されている。DIIは、図２のルートディレクトリＲＤに相当し、DSIは、図２のサブディレクトリＳＤに相当する。なお、DIIおよびDSIがダウンロード制御メッセージに分類されることに対して、DDBはダウンロードデータメッセージに分類される。
【００１５】
DIIおよびDSIは、DDBと同様に、DSM-CCセクション化される。以下、DII、DSIがDSM-CCセクション化されたものを、それぞれ、DIIセクション、またはDSIセクションと記述する。DDBセクション、DIIセクション、およびDSIセクションは、MPEG２トランスポートストリーム（以下、ＴＳと記述する）に変換されて、周期的に繰り返して送信される。具体的には、図４に示すように、カルーセルと呼ばれる仮想的な回転体の上に、DDBセクション、DIIセクション、およびDSIセクションが貼り付けられ、カルーセルの回転に合わせて順次送信される。
【００１６】
すなわち、この図４(A)に示すように、モジュールが、上述したように、共通のサイズをもつ複数のブロックに分割され、図４(B)に示すようにブロック毎にセクション化されて、さらに、図４(C)に示すように、各DDBセクションがトランスポートストリーム化されて、図４(D)に示すように、トランスポートストリーム化されたDDBセクションがカルーセル上に配置される。カルーセル上には、モジュールに対応するDSIセクション、およびDIIセクションも配置されて、カルーセルの回転に合わせて順次送信される。
【００１７】
ところで、カルーセル上に配置されたDDBセクション、DIIセクション、およびDSIセクションのデータ量の総和が大きくなると、カルーセルの回転周期が長くなる。したがって、モジュールの情報が格納されたDIIセクションや、データ放送サービスを受信した際の最初のシーンが格納されているDDBセクション等のような受信時に短い待ち時間で受信できることが望ましい特定のセクションが送信される周期も、カルーセルの回転周期に伴われて長くなってしまう。
【００１８】
そこで、実用的には、DIIセクションや、最初のシーンが格納されているDDBセクションのような頻繁に受信できることが望ましいセクションを、複数用意してカルーセル上に分散して配置することにより、それらのセクションを、その他のセクションよりも短い周期で送信するようにしている。
【００１９】
ところで、図１の多重化部１３は、上述したように、生成する多重化ストリームの符号化レートを、後段への伝送路の伝送容量以下となるように調整するが、その際、符号化部１１−１乃至１１−Ｎからのデータストリームの符号化レートを削減させることはできるが、DSM-CCデータ符号化部１２−１乃至１２−Ｎからのデータストリームの符号化レートを低下させることはできなかった。
【００２０】
なぜならば、DSM-CCデータカルーセル伝送方式で符号化されたデータストリームは、同じデータをカルーセルの周期で周期的に送出しており、仮に、多重化部１３により任意のタイミングでデータの一部を廃棄しても、次の周期でまた同じデータが繰り返す。しかしながら、このようなデータ破棄を符号化レートを制御する目的で行なった場合、破棄されずに送信された同じデータの間隔が、データストリームの制御情報として記述されている各セクションのタイムアウト値を上回る可能性が有り、受信側において、当該データがストリーム中に存在しないと判断してしまうおそれがあるからである。
【００２１】
なお、タイムアウト値とは、DIIの中でモジュール共通のパラメータとして記述されているtCDownload Scenarioという４バイトのフィールドに記述される値であり、MPEG２−６（ISO/IEC１８１３８−６）規格によって、受信側でのモジュール取得のタイムアウトに利用する目的でカルーセル１周期以上の値とするとされている。タイムアウト値は、受信側において、最悪この時間まではデータ取得が遅れてもよい、という意味を持っており、この値と実際のカルーセル周期に大きな差があるデータストリームでは、それだけの余裕を持たせて送出されているとみなすことができる。
【００２２】
そこで、本出願人は、例えば特願平１１−０５１８６２号等（以下、先願と記述する）として、DSM-CCデータ符号化部１２−１乃至１２−Ｎからのデータストリームの符号化レートを多重化部１３に入力する前に削減する方法を提案している。
【００２３】
先願においては、DSM-CCデータ符号化部２１と多重化部１３の間にレート制御手段を設け、レート制御手段において、予め設定された、カルーセル上に残す同一のモジュールの数（以下、頻度レベルと記述する）に基づいて、カルーセル上に頻度レベル以上の数だけ存在するモジュールを適宜選択して廃棄することにより、データストリームの符号化レートを削減するようにしていた。
【００２４】
【発明が解決しようとする課題】
したがって、先願においては、廃棄されるモジュールが予め設定された頻度レベルに対応して選択されるので、カルーセル上に最も多く存在するモジュールを優先的に選択して廃棄することができず、廃棄されるモジュールが特定のモジュールに偏ってしまう、換言すれば、カルーセル上に残るモジュールが偏ってしまう事態が発生する可能性が存在した。
【００２５】
本発明はこのような状況に鑑みてなされたものであり、データストリームの符号化レートを削減する際、頻度レベルを適応的に変更することにより、カルーセル上に残るモジュールが偏ってしまう事態が発生することを抑止できるようにするものである。
【００２６】
【課題を解決するための手段】
本発明の信号多重化装置は、複数の信号のうちの少なくとも１つの信号を、信号に含まれる全てのモジュールが１周期に少なくとも１以上含まれる周期的なデータストリームに変換する変換手段と、周期的なデータストリームをバッファリングするバッファリング手段と、バッファリングされている周期的なデータストリームのデータ占有量を検出する検出手段と、検出されたデータ占有量および周期的なデータストリームの出力周期に基づいて、頻度レベルを設定する設定手段と、設定された頻度レベルに基づいて、１周期分のデータストリームに含まれる全てのモジュールの中から廃棄するモジュールを決定する決定手段と、バッファリングされている周期的なデータストリームから、廃棄するモジュールに決定されたモジュールを廃棄し、かつ、廃棄しない残りのモジュールをバッファリング手段から読み出す読み出し手段とを含み、設定手段は、出力周期に対する、検出されたデータ占有量が予め設定されている下限値よりも小さい期間の割合が、第１の閾値よりも小さい場合、頻度レベルを現状よりも下げる方向に設定し、第１の閾値よりも大きな第２の閾値よりも大きい場合、頻度レベルを現状よりも上げる方向に設定する。
【００２７】
前記変換手段は、DSM-CCデータカルーセル伝送方式を用いて、信号に含まれる全てのモジュールが１周期に少なくとも１以上含まれる周期的なデータストリームに変換するようにすることができる。
【００２９】
本発明の信号多重化方法は、複数の信号のうちの少なくとも１つの信号を、信号に含まれる全てのモジュールが１周期に少なくとも１以上含まれる周期的なデータストリームに変換する変換ステップと、周期的なデータストリームをバッファリング手段にバッファリングさせるバッファリング制御ステップと、バッファリングされている周期的なデータストリームのデータ占有量を検出する検出ステップと、検出されたデータ占有量および周期的なデータストリームの出力周期に基づいて、頻度レベルを設定する設定ステップと、設定された頻度レベルに基づいて、１周期分のデータストリームに含まれる全てのモジュールの中から廃棄するモジュールを決定する決定ステップと、バッファリングされている周期的なデータストリームから、廃棄するモジュールに決定されたモジュールを廃棄し、かつ、廃棄しない残りのモジュールをバッファリング手段から読み出す読み出しステップとを含み、設定ステップは、出力周期に対する、検出されたデータ占有量が予め設定されている下限値よりも小さい期間の割合が、第１の閾値よりも小さい場合、頻度レベルを現状よりも下げる方向に設定し、第１の閾値よりも大きな第２の閾値よりも大きい場合、頻度レベルを現状よりも上げる方向に設定する。
【００３０】
本発明の記録媒体は、複数の信号のうちの少なくとも１つの信号を、信号に含まれる全てのモジュールが１周期に少なくとも１以上含まれる周期的なデータストリームに変換する変換ステップと、周期的なデータストリームをバッファリング手段にバッファリングさせるバッファリング制御ステップと、バッファリングされている周期的なデータストリームのデータ占有量を検出する検出ステップと、検出されたデータ占有量および周期的なデータストリームの出力周期に基づいて、頻度レベルを設定する設定ステップと、設定された頻度レベルに基づいて、１周期分のデータストリームに含まれる全てのモジュールの中から廃棄するモジュールを決定する決定ステップと、バッファリングされている周期的なデータストリームから、廃棄するモジュールに決定されたモジュールを廃棄し、かつ、廃棄しない残りのモジュールをバッファリング手段から読み出す読み出しステップとを含み、設定ステップは、出力周期に対する、検出されたデータ占有量が予め設定されている下限値よりも小さい期間の割合が、第１の閾値よりも小さい場合、頻度レベルを現状よりも下げる方向に設定し、第１の閾値よりも大きな第２の閾値よりも大きい場合、頻度レベルを現状よりも上げる方向に設定する処理を信号多重化装置のコンピュータに実行させるプログラムが記録されている。
【００３１】
本発明においては、複数の信号のうちの少なくとも１つの信号が、信号に含まれる全てのモジュールが１周期に少なくとも１以上含まれる周期的なデータストリームに変換され、周期的なデータストリームがバッファリング手段にバッファリングされ、バッファリングされている周期的なデータストリームのデータ占有量が検出される。さらに、検出されたデータ占有量および周期的なデータストリームの出力周期に基づいて、頻度レベルが設定され、設定された頻度レベルに基づいて、１周期分のデータストリームに含まれる全てのモジュールの中から廃棄するモジュールが決定され、バッファリングされている周期的なデータストリームから、廃棄するモジュールに決定されたモジュールが廃棄され、かつ、廃棄しない残りのモジュールがバッファリング手段から読み出される。なお、頻度レベルの設定は、出力周期に対する、検出されたデータ占有量が予め設定されている下限値よりも小さい期間の割合が、第１の閾値よりも小さい場合、頻度レベルを現状よりも下げる方向に設定され、第１の閾値よりも大きな第２の閾値よりも大きい場合、頻度レベルを現状よりも上げる方向に設定される。
【００３２】
【発明の実施の形態】
図５は、本発明を適用した多重化装置２０の構成例を示している。多重化装置２０は、例えば、衛星ディジタル多チャンネル放送システム、地上ディジタル多チャンネル放送システム、ケーブルディジタル多チャンネル放送システム等の放送局に設けられるものであり、データ放送サービスのコンテンツ等のデータＤ1乃至ＤNを符号化した後、多重化して多重化ストリームとして出力するものである。多重化装置２０において、データＤ1乃至ＤNは、それぞれ、DSM-CCデータ符号化部２１−１乃至２１−Ｎに入力される。
【００３３】
DSM-CCデータ符号化部２１−１は、入力されるデータＤ1をDSM-CCセクション化してデータストリームに変換して、符号化レート低減部２２−１の多重バッファ２３−１およびレート制御部２４−１に出力する。DSM-CCデータ符号化部２１−１はまた、データＤ1をDSM-CCセクション化した際の制御情報を符号化レート低減部２２−１のレート制御部２４−１に出力する。ここで、制御情報とは、カルーセルの周期Ｔ、および、カルーセル上に存在する同一モジュールの数を示すテーブル（モジュールを識別する識別子(Module Id)と、カルーセル上に存在する同一モジュールの数から構成される）などである。
【００３４】
多重バッファ２３−１は、DSM-CCデータ符号化部２１−１から入力されるデータストリームを構成するDDBセクション、DIIセクション、またはDSIセクション（以下、単にセクションと記述する）を一時的に記憶し、レート制御部２４−１からの制御に基づいて、記憶したセクションを破棄するか、あるいは多重化部２５に出力する。
【００３５】
レート制御部２４−１は、DSM-CCデータ符号化部２１−１から入力されるデータストリームおよび制御データに基づいて、多重化バッファ２３−１に記憶されているセクションを破棄するか否かを判定して、判定結果に対応して多重バッファ２３−１からのセクションの読み出しを制御する。
【００３６】
なお、DSM-CCデータ符号化部２１−Ｎ乃至レート制御部２４−Ｎは、DSM-CCデータ符号化部２１−１乃至レート制御部２４−１と同様であるので、その説明は省略する。
【００３７】
多重化部２５は、多重バッファ２３−１乃至２３−Ｎから入力される、符号化レートが低減されたデータストリームを多重化して、得られた多重化ストリームを後段に出力する。多重化部２５はまた、後段への伝送路の伝送容量を多重化制御部２６に供給する。
【００３８】
多重化制御部２６は、ドライブ２７を制御して、磁気ディスク２８、光ディスク２９、光磁気ディスク３０、または半導体メモリ３１に記憶されている制御用プログラムを読み出し、読み出した制御用プログラムに基づいて、多重化装置２０の各部を制御する。多重化制御部２６は、特に、符号化レート低減部２３−１乃至２３−Ｎから出力される符号化レートが低減された後のデータストリームの出力レートを決定して、対応するレート制御部２４−１乃至２４−Ｎに、その情報（出力レート）を出力する。
【００３９】
図６は、レート制御部２４−１の詳細な構成例を示している。セクション分離部４１は、DSM-CCデータ符号化部２１−１から入力されるデータストリームに含まれる各DDBセクション（複数のトランスポートパケットにより構成される）から、先頭のパケットを分離してセクション解析部４２に出力する。セクション解析部４２は、セクション分離部４１から入力されるDDBセクションの先頭のパケットを解析して、当該DDBセクションが属するモジュールを識別し、識別結果をレート制御アルゴリズム処理部４３に出力する。
【００４０】
具体的には、DDBセクションの先頭のパケットにあるSection Numberフィールドの値が0x00であるか否かを判定することによって、当該DDBセクションが、属するモジュールの先頭のDDBセクションであるか否かを判定する。Section Numberフィールドの値が0x00であると判定された後、再び、Section Numberフィールドの値が0x00であると判定されるまでの間に入力されたDDBセクションは同一のモジュールに属すると判断できる。さらに、DDBセクションの先頭のパケットにあるModule Idフィールドの値を読み取ることによって属するモジュールを識別する。
【００４１】
レート制御アルゴリズム処理部２４−１は、DSM-CCデータ符号化部２１−１から入力される制御情報、および、多重バッファ２３−１から読み取るデータ占有量に基づいて、頻度レベルを適応的に変更する。レート制御アルゴリズム処理部２４−１はさらに、変更した頻度レベルに対応して、データストリームの中から廃棄するモジュールの候補を決定し、多重制御部２６から制御される符号化レートに適応するように候補の中から廃棄するモジュールを選択して、セクション解析部４２から入力される識別結果の基づいて、現在、多重化バッファ２３−１に記憶されているセクションが、選択したモジュールに対応するものであるか否かを判定し、判定結果に対応して多重バッファ２３−１の読み出し制御を行う。
【００４２】
ここで、頻度レベルを適応的に変更する原理について、図７乃至図１１を参照して説明する。図７は、カルーセル上に配置されたモジュール（すなわち、DDBセクション）が伝送される順序を時系列的に示した例である。なお、この例において、DSIセクションおよびDIIセクションは省略されている。
【００４３】
図７の例では、Module Idが0x001乃至0x0007である7種類のモジュールが、カルーセル上に１乃至４の余裕度（カルーセル上に存在する同一モジュールの数を示す）をもって配置されている。この場合、モジュールの頻度レベルは、１乃至３の範囲で設定することができる。
【００４４】
図８は、モジュールの頻度レベルを１乃至３に設定した場合において廃棄する候補となるモジュールを示している。すなわち、頻度レベルが１に設定された場合、１カルーセル周期毎に、Module Idが0x004または0x0005であるモジュールが、それぞれ個１だけ廃棄の候補とされ、Module Idが0x006であるモジュールが２個だけ廃棄の候補とされ、Module Idが0x007であるモジュールが３個だけ廃棄の候補とされる。各モジュールのサイズが共通であると仮定すれば、廃棄候補であるモジュールを全て廃棄した場合、入力されたデータストリームのビットレートを約７／１４だけ低減できることになる。
【００４５】
頻度レベルが２に設定された場合、１カルーセル周期毎に、Module Idが0x006であるモジュールが１個だけ廃棄の候補とされ、Module Idが0x007であるモジュールが２個だけ廃棄の候補とされる。廃棄候補であるモジュールを全て廃棄した場合、入力されたデータストリームのビットレートを約３／１４だけ低減できることになる。
【００４６】
頻度レベルが３に設定された場合、１カルーセル周期毎に、Module Idが0x007であるモジュールが１個だけ廃棄の候補とされる。廃棄候補であるモジュールを全て廃棄した場合、入力されたデータストリームのビットレートを約１／１４だけ低減できることになる。
【００４７】
ただし、出力レートに余裕がある場合は、モジュールが必要以上に廃棄されることを避けるようにする。
【００４８】
次に、頻度レベルを変更する条件について図９に示した例を参照して説明する。図９の例においても、図７と同様に、７種類のモジュールがカルーセル上に配置されているとし、各モジュールのサイズは共通であるとする。多重制御部２６から指示されるデータストリームの出力レートが、カルーセル上の１４個のモジュールのうちの３個のモジュールの廃棄を必要としている場合、頻度レベルが１であったら、図９(A)に示すように、廃棄されるモジュールに偏りが生じてしまうことがある。すなわち、廃棄されずにカルーセル上に残るモジュールにも偏りが生じてしまう。そのような場合、カルーセルに残るモジュールの偏りを少なくするために、図９(B)に示すように、頻度レベルを２に変更するようにする。
【００４９】
頻度レベルの変更は、多重バッファ２３に記憶されているデータの量（以下、データ占有量と記述する）に基づいて実行する。多重バッファ２３のデータ占有量は、例えば図１０に示すように、１カルーセル周期間に変化する。
【００５０】
多重バッファ２３のデータ占有量に関し、多重化部２５からの多重化ストリームの出力レートが、符号化レート低減部２２−１乃至２２−Ｎからのデータストリームの出力レートの総和以上に確保される場合、多重バッファ２３のデータ占有量は極めて小さくなるので、データ占有量が所定の閾値Ｒ以下であるときには、モジュールを廃棄しないようにする。閾値Ｒは、例えば１パケット（188バイト）程度とする。図１０においては、データ占有量が閾値Ｒ以下である期間をＴｄとしている。
【００５１】
反対に、多重化部２５からの多重化ストリームの出力レートが、符号化レート低減部２２−１乃至２２−Ｎからのデータストリームの出力レートの総和以下である場合には、多重バッファ２３のデータ占有量は次第に大きくなって破綻に至ってしまうので、頻度レベルを下げて破棄するモジュールの数を増加させるようにする。
【００５２】
次に、頻度レベルを適応的に変更させるレート制御アルゴリズム処理部２４−１の動作について、図１１のフローチャートを参照して説明する。ステップＳ１において、レート制御アルゴリズム処理部２４−１は、DSM-CCデータ符号化部２１からカルーセル周期Ｔを取得する。ステップＳ２において、レート制御アルゴリズム処理部２４−１は、内蔵するタイマの値ｔの値を０にリセットして計時を開始する。
【００５３】
ステップＳ３において、レート制御アルゴリズム処理部２４−１は、多重バッファ２３−１のデータ占有量を取得する。ステップＳ４において、レート制御アルゴリズム処理部２４−１は、多重バッファ２３−１のデータ占有量が閾値Ｒよりも少ないか否かを判定し、データ占有量が閾値よりも少ないと判定した場合、ステップＳ５に進み、現時点を期間Ｔｄに分類する。なお、ステップＳ４において、データ占有量が閾値よりも少なくないと判定された場合、ステップＳ５の処理はスキップされる。
ステップＳ６において、レート制御アルゴリズム処理部２４−１は、内蔵するタイマの値ｔがカルーセル周期Ｔに達したか否かを判定する。内蔵するタイマの値ｔがカルーセル周期Ｔに達しないと判定された場合、タイマの値ｔがカルーセル周期Ｔに達するまでステップＳ３乃至Ｓ６の処理が繰り返される。タイマの値ｔがカルーセル周期Ｔしたと判定された場合、ステップＳ７に進む。ステップＳ３乃至Ｓ６の処理により、１カルーセル周期におけるデータ占有量が閾値Ｒ以下である期間Ｔｄが計測される。
【００５４】
ステップＳ７において、レート制御アルゴリズム処理部２４−１は、期間Ｔｄをカルーセル周期Ｔで除算する（以下、除算結果をＴｄ／Ｔと記述する）。当然ながら、０＜Ｔｄ／Ｔ≦１である。
【００５５】
ステップＳ８において、レート制御アルゴリズム処理部２４−１は、Ｔｄ／Ｔが、次式（１）を満たすか否かを判定する。
閾値Ｂ  ＜  Ｔｄ／Ｔ  ＜  １                              ・・・（１）
【００５６】
ここで、閾値Ｂは１に近い値（例えば、０．８）とする。Ｔｄ／Ｔが不等式（１）を満たすと判定された場合、ステップＳ９に進み、頻度レベルが１だけ上げられる（例えば、頻度レベル１から頻度レベル２に変更される）。ステップＳ８において、Ｔｄ／Ｔが不等式（１）を満たさないと判定された場合、ステップＳ９の処理はスキップされる。
【００５７】
ステップＳ１０において、レート制御アルゴリズム処理部２４−１は、Ｔｄ／Ｔが、次式（２）を満たすか否かを判定する。
０  ＜  Ｔｄ／Ｔ  ＜  閾値Ａ                              ・・・（２）
【００５８】
ここで、閾値Ａは０に近い値（例えば、０．２）とする。Ｔｄ／Ｔが不等式（２）を満たすと判定された場合、ステップＳ１１に進み、頻度レベルが１だけ下げられる（例えば、頻度レベル３から頻度レベル２に変更される）。ただし、現状が頻度レベル１である場合は頻度レベルを下げることができないので、その旨が多重制御部２６に通知される。ステップＳ１０において、Ｔｄ／Ｔが不等式（２）を満たさないと判定された場合、ステップＳ１１の処理はスキップされる。
【００５９】
なお、多重バッファ２３−１のデータ占有量が閾値Ｒよりも小さい期間Ｔｄのカルーセル周期Ｔに対する割合Ｔｄ／Ｔが、次式（３）を満たすときには、本土レベルは変更されない。
閾値Ａ  ≦  Ｔｄ／Ｔ  ≦  閾値Ｂ                          ・・・（３）
【００６０】
以上のように、多重バッファのデータ占有量を基に適応的に頻度レベルを変更することにより、カルーセル上からモジュールを廃棄してデータストリームの出力レートを低減するに際して、カルーセル上に残るモジュールが偏ってしまうような事態の発生を抑止することが可能となる。
【００６１】
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【００６２】
この記録媒体は、図５に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク２８（フロッピディスクを含む）、光ディスク２９（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク３０（ＭＤ(Mini Disc)を含む）、もしくは半導体メモリ３１などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROMやハードディスクなどで構成される。
【００６３】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００６４】
【発明の効果】
以上のように、本発明によれば、カルーセル上に残るモジュールが偏ってしまう事態が発生することを抑止することが可能となる。
【図面の簡単な説明】
【図１】従来の多重化装置１０の構成の一例を示すブロック図である。
【図２】データ放送サービスのコンテンツのディレクトリ構造を示す図である。
【図３】  DSM-CCデータカルーセル伝送方式におけるモジュールとセクションを説明するための図である。
【図４】  DSM-CCデータカルーセル伝送方式におけるデータ伝送を説明するための図である。
【図５】本発明の一実施の形態である多重化装置２０の構成例を示すブロック図である。
【図６】図５のレート制御部２４−１の構成例を示すブロック図である。
【図７】カルーセル上に配置したモジュールの一例を示す図である。
【図８】頻度レベルの変更の原理について説明するための図である。
【図９】頻度レベルの変更の原理について説明するための図である。
【図１０】頻度レベルの変更の原理について説明するための図である。
【図１１】図６のレート制御アルゴリズム処理部２４−１の動作を説明するフローチャートである。
【符号の説明】
２０  多重化装置，  ２１  DSM-CCデータ符号化部，  ２２  符号化レート低減部，  ２３  多重バッファ，  ２４  レート制御部，  ２５  多重化部，  ２６  多重制御部，  ４１  セクション分離部，  ４２  セクション解析部，  ４３  レート制御アルゴリズム処理部
【図１】
0004362950.tif 000002
【図２】
0004362950.tif 000003
【図３】
0004362950.tif 000004
【図４】
0004362950.tif 000005
【図５】
0004362950.tif 000006
【図６】
0004362950.tif 000007
【図７】
0004362950.tif 000008
【図８】
0004362950.tif 000009
【図９】
0004362950.tif 000010
【図１０】
0004362950.tif 000011
【図１１】
0004362950.tif 000012