(57)【要約】  デコーダ側のバッファの破綻を防止し、多重化処理に要する処理時間を短縮する。  多重化パターン生成部５６は、多重化するデータ種別の順序を示す多重化パターン信号を生成し、ビデオ残サイズ演算部３３及びオーディオ残サイズ演算部４３は、エレメンタリストリームの多重化可能な残サイズを求め、ビデオパケット生成部３２及びオーディオパケット生成部４２は、多重化パターン信号と残サイズとに基づき、所定サイズの送出データを格納した多重化パケットを生成し、多重化部５１は、多重化ストリームを生成する。ビデオ残サイズ演算部３３及びオーディオ残サイズ演算部４３は、アクセスユニットごとのデータサイズと、送出データの送出サイズとに基づき残サイズを求め、ビデオパケット生成部３２及びオーディオパケット生成部４２は、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットを生成する。
2008053806.tif 000002
【特許請求の範囲】
【請求項１】
アクセスユニットを単位として生成された符号化データで構成される、コンテンツの種別ごとのエレメンタリストリームを、多重化パケットを単位として多重化し、前記多重化パケットで構成される多重化ストリームを生成する多重化装置であって、
多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号を生成する多重化パターン生成部と、
前記エレメンタリストリームを一時記憶するバッファと、
前記バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズを求め、前記残サイズを示す残サイズ情報を出力する残サイズ演算部と、
前記多重化パターン生成部によって生成された前記多重化パターン信号と前記残サイズ演算部によって出力された前記残サイズ情報とに基づき、前記バッファに記憶されたエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するパケット生成部と、
前記パケット生成部によって生成された前記多重化パケットを、生成された順番に多重化し、多重化ストリームを生成する多重化部とを備え、
前記残サイズ演算部は、アクセスユニットごとのデータサイズと、前記パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、前記残サイズを求め、
前記パケット生成部は、前記多重化パターン信号が示す種別が一致し、かつ前記残サイズが前記送出サイズ以上であるときに前記多重化パケットを生成することを特徴とする多重化装置。
【請求項２】
前記多重化パターンは、前記多重化パケットに格納するデータの種別ごとに、前記多重化パケットを生成する期間が所定の比率で周期的に繰り返されるパターンであることを特徴とする請求項１記載の多重化装置。
【請求項３】
前記多重化パターンは、前記多重化パケットに格納するデータの種別に要求されている最大ビットレート以上の多重化ビットレートを保証するように決められていることを特徴とする請求項２記載の多重化装置。
【請求項４】
前記残サイズ演算部は、前記アクセスユニットごとのデータサイズを前記アクセスユニットの発生間隔ごとに加算し、前記パケット生成部によって前記送出データを格納した多重化パケットが生成されるたびに前記送出サイズを減算する演算により、前記残サイズを求めることを特徴とする請求項３記載の多重化装置。
【請求項５】
前記残サイズ演算部は、前記演算により、前記アクセスユニットごとの残サイズを求めることを特徴とする請求項４記載の多重化装置。
【請求項６】
前記残サイズ演算部が前記アクセスユニットごとのデータサイズの加算を開始する時刻を生成開始時刻とし、前記生成開始時刻に対し、規定された最大ビットレートでデコーダ側のバッファを一杯にするために必要な時間であるスタートアップディレイ時間だけ遅れた時刻をデコード開始時刻としたとき、
前記パケット生成部は、
前記デコード開始時刻を示すデコーディングタイムスタンプを格納したＰＥＳヘッダと、アクセスユニットの先頭データとを格納した多重化パケットを、前記生成開始時刻、及び前記多重化パターン信号の多重化パターンに応じて生成し、
アクセスユニットの先頭データを格納した多重化パケットを生成するたびに、前記デコード開始時刻よりも前記アクセスユニットの発生間隔ずつ遅れたデコーディングタイムスタンプを格納したＰＥＳヘッダと、アクセスユニットの先頭データとを格納した多重化パケットを生成することを特徴とする請求項４又は５記載の多重化装置。
【請求項７】
前記スタートアップディレイ時間は、規定された最大ビットレートでデコーダ側のバッファを一杯にするために必要な時間と、多重化処理による最大の遅延時間とを加算した時間であることを特徴とする請求項６記載の多重化装置。
【請求項８】
前記残サイズ演算部は、前記生成開始時刻、及び前記生成開始時刻から前記アクセスユニットの発生間隔ずつ遅れた時刻に、アクセスユニットのデータサイズを前記残サイズに加算することを特徴とする請求項６記載の多重化装置。
【請求項９】
前記パケット生成部によって生成された送出データの累計サイズを求め、前記累計サイズが、要求されている最大ビットレートでエレメンタリストリームが出力されていたときの送出データのサイズを超えた場合に、多重化パケットの生成禁止を指示する送出停止信号を前記パケット生成部に通知するレート監視部をさらに備え、
前記パケット生成部は、前記多重化パターン信号が示す種別が一致し、かつ前記残サイズが前記送出サイズ以上であり、さらに前記レート監視部から前記送出停止信号が通知されていない場合に、前記多重化パケットを生成することを特徴とする請求項１〜８のいずれかに記載の多重化装置。
【請求項１０】
前記レート監視部は、前記残サイズ演算部によって求められた前記残サイズが０となった場合に、前記累計サイズと、要求されている最大ビットレートでエレメンタリストリームが出力されていたときの送出データのサイズとをクリアすることを特徴とする請求項９記載の多重化装置。
【請求項１１】
前記パケット生成部は、前記残サイズ演算部によって求められた前記残サイズが前記送出サイズ未満となるとき、不足データ分をスタッフィングデータで充当した前記多重化パケットを生成することを特徴とする請求項１〜１０のいずれかに記載の多重化装置。
【請求項１２】
前記バッファは、ビデオエレメンタリストリームを一時記憶するビデオバッファと、オーディオエレメンタリストリームを一時記憶するオーディオバッファとを含み、
前記残サイズ演算部は、前記ビデオバッファに記憶されたビデオエレメンタリストリームの多重化可能な残りのデータサイズであるビデオ残サイズを求め、前記ビデオ残サイズを示すビデオ残サイズ情報を出力するビデオ残サイズ演算部と、前記オーディオバッファに記憶されたオーディオエレメンタリストリームの多重化可能な残りのデータサイズであるオーディオ残サイズを求め、前記オーディオ残サイズを示すオーディオ残サイズ情報を出力するオーディオ残サイズ演算部とを含み、
前記パケット生成部は、前記多重化パターン生成部によって生成された前記多重化パターン信号と前記ビデオ残サイズ演算部によって出力された前記ビデオ残サイズ情報とに基づき、前記ビデオバッファに記憶されたビデオエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するビデオパケット生成部と、前記多重化パターン生成部によって生成された前記多重化パターン信号と前記オーディオ残サイズ演算部によって出力された前記オーディオ残サイズ情報とに基づき、前記オーディオバッファに記憶されたオーディオエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するオーディオパケット生成部とを含むことを特徴とする請求項１〜１１のいずれかに記載の多重化装置。
【請求項１３】
前記パケット生成部は、前記多重化パターン生成部によって生成された前記多重化パターン信号に基づき、生成する多重化ストリームに関する情報を含むシステムデータを格納した前記多重化パケットを生成するシステムパケット生成部をさらに含むことを特徴とする請求項１２記載の多重化装置。
【請求項１４】
前記多重化パターンは、前記ビデオエレメンタリストリームに対応した多重化パケットを生成するビデオ期間と、前記オーディオエレメンタリストリームに対応した多重化パケットを生成するオーディオ期間とが所定の比率で周期的に繰り返されるパターンであり、
前記オーディオ期間は、前記オーディオエレメンタリストリームに対応した多重化パケットを生成するオーディオ送出期間と、前記システムデータに対応した多重化パケットを生成するシステム期間とで構成されることを特徴とする請求項１３に記載の多重化装置。
【請求項１５】
前記ビデオエレメンタリストリームは、最大ビットレートが規定された可変長符号化データで構成される可変ビットレートのエレメンタリストリームであることを特徴とする請求項１２〜１４のいずれかに記載の多重化装置。
【請求項１６】
前記ビデオ残サイズ演算部が前記ビデオアクセスユニットごとのデータサイズの加算を開始する時刻をビデオ生成開始時刻とし、前記ビデオ生成開始時刻に対し、規定された最大ビットレートでデコーダ側のビデオバッファを一杯にするために必要な時間であるＶＢＶディレイ時間を含むスタートアップディレイ時間だけ遅れた時刻をビデオデコード開始時刻としたとき、
前記ビデオパケット生成部は、
前記ビデオデコード開始時刻を示すビデオデコーディングタイムスタンプを格納したビデオＰＥＳヘッダと、ビデオアクセスユニットの先頭データとを格納した多重化パケットを前記ビデオ生成開始時刻に生成し、
ビデオアクセスユニットの先頭データを格納した多重化パケットを生成するたびに、前記ビデオデコード開始時刻よりも前記ビデオアクセスユニットの発生間隔ずつ遅れたビデオデコーディングタイムスタンプを格納したビデオＰＥＳヘッダと、ビデオアクセスユニットの先頭データとを格納した多重化パケットを生成することを特徴とする請求項１２〜１５のいずれかに記載の多重化装置。
【請求項１７】
前記スタートアップディレイ時間は、前記ＶＢＶディレイ時間と、多重化処理による最大の遅延時間とを加算した時間であることを特徴とする請求項１６記載の多重化装置。
【請求項１８】
前記ビデオ残サイズ演算部は、前記ビデオ生成開始時刻、及び前記ビデオ生成開始時刻から前記ビデオアクセスユニットの発生間隔ずつ遅れた時刻に、ビデオアクセスユニットのデータサイズを前記ビデオ残サイズに加算することを特徴とする請求項１６又は１７記載の多重化装置。
【請求項１９】
前記オーディオエレメンタリストリームは、最大ビットレートが規定された可変長符号化データで構成される可変ビットレートのエレメンタリストリームであることを特徴とする請求項１６〜１８のいずれかに記載の多重化装置。
【請求項２０】
前記オーディオパケット生成部が多重化ストリームの生成を開始する時刻をオーディオ生成開始時刻とし、前記オーディオ生成開始時刻に対し、規定された最大ビットレートでデコーダ側のオーディオバッファを一杯にするために必要な時間であるオーディオバッファディレイ時間を含むスタートアップディレイ時間だけ遅れた時刻をオーディオ提示開始時刻としたとき、
前記オーディオパケット生成部は、
前記オーディオ提示開始時刻を示すオーディオ提示タイムスタンプを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを格納した多重化パケットを、前記オーディオ生成開始時刻に生成し、
オーディオアクセスユニットの先頭データを格納した多重化パケットを生成するたびに、前記オーディオ提示開始時刻よりもオーディオアクセスユニットの発生間隔ずつ遅れたオーディオ提示タイムスタンプを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを格納した多重化パケットを生成することを特徴とする請求項１９記載の多重化装置。
【請求項２１】
前記スタートアップディレイ時間は、前記オーディオバッファディレイ時間と、多重化処理による最大の遅延時間とを加算した時間であることを特徴とする請求項２０記載の多重化装置。
【請求項２２】
前記オーディオ残サイズ演算部は、前記オーディオ生成開始時刻、及び前記オーディオ生成開始時刻からオーディオアクセスユニットの発生間隔ずつ遅れた時刻に、オーディオアクセスユニットのデータサイズを前記オーディオ残サイズに加算することを特徴とする請求項２０又は２１記載の多重化装置。
【請求項２３】
前記ビデオデコード開始時刻から前記ビデオアクセスユニットの発生間隔を含む期間だけ遅れた時刻をオーディオ提示開始時刻とするとともに、オーディオ提示開始時刻よりもオーディオアクセスユニットの発生間隔だけ前の時刻をオーディオ生成開始時刻としたとき、
前記オーディオパケット生成部は、
前記オーディオ提示開始時刻を示すオーディオ提示タイムスタンプを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを格納した多重化パケットを前記オーディオ生成開始時刻に生成し、
オーディオアクセスユニットの先頭データを格納した多重化パケットを生成するたびに、前記オーディオ提示開始時刻よりもオーディオアクセスユニットの発生間隔ずつ遅れたオーディオ提示タイムスタンプを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを格納した多重化パケットを生成することを特徴とする請求項１６〜１８のいずれかに記載の多重化装置。
【請求項２４】
前記オーディオ提示開始時刻は、前記ビデオデコード開始時刻から、前記ビデオアクセスユニットの発生間隔と多重化処理による最大の遅延時間とを加算した時間だけ遅れた時刻であることを特徴とする請求項２３記載の多重化装置。
【請求項２５】
前記多重化ストリームは、トランスポートストリームであることを特徴とする請求項１〜２４のいずれかに記載の多重化装置。
【請求項２６】
アクセスユニットを単位として生成された符号化データで構成される、コンテンツの種別ごとのエレメンタリストリームを、多重化パケットを単位として多重化し、前記多重化パケットで構成される多重化ストリームを生成する機能を有した集積回路であって、
多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号を生成する多重化パターン生成部と、
前記エレメンタリストリームを一時記憶するバッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズを求め、前記残サイズを示す残サイズ情報を出力する残サイズ演算部と、
前記多重化パターン生成部によって生成された前記多重化パターン信号と前記残サイズ演算部によって出力された前記残サイズ情報とに基づき、前記バッファに記憶されたエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するパケット生成部と、
前記パケット生成部によって生成された前記多重化パケットを、生成された順番に多重化し、多重化ストリームを生成する多重化部とを備え、
前記残サイズ演算部は、アクセスユニットごとのデータサイズと、前記パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、前記残サイズを求め、
前記パケット生成部は、前記多重化パターン信号が示す種別が一致し、かつ前記残サイズが前記送出サイズ以上であるときに前記多重化パケットを生成することを特徴とする集積回路。
【請求項２７】
アクセスユニットを単位として生成された符号化データで構成される、コンテンツの種別ごとのエレメンタリストリームをそれぞれのバッファに一時記憶し、前記バッファに一時記憶したエレメンタリストリームを多重化パケット単位に多重化し、前記多重化パケットで構成される多重化ストリームを生成する多重化方法であって、
多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号を生成する多重化パターン生成ステップと、
前記バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズを求め、前記残サイズを示す残サイズ情報を出力する残サイズ演算ステップと、
前記多重化パターン生成ステップにおいて生成された前記多重化パターン信号と前記残サイズ演算ステップにおいて出力された前記残サイズ情報とに基づき、前記バッファに記憶されたエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するパケット生成ステップと、
前記パケット生成ステップにおいて生成された前記多重化パケットを、生成された順番に多重化し、多重化ストリームを生成する多重化ステップとを備え、
前記残サイズ演算ステップは、アクセスユニットごとのデータサイズと、前記パケット生成ステップにおいて多重化パケットに格納された送出データのサイズである送出サイズとに基づき、前記残サイズを求め、
前記パケット生成ステップは、前記多重化パターン信号が示す種別が一致し、かつ前記残サイズが前記送出サイズ以上であるときに前記多重化パケットを生成することを特徴とする多重化方法。
【請求項２８】
アクセスユニットを単位として生成された符号化データで構成される、コンテンツの種別ごとのエレメンタリストリームをそれぞれのバッファに一時記憶し、前記バッファに一時記憶したエレメンタリストリームを多重化パケット単位に多重化し、前記多重化パケットで構成される多重化ストリームを生成する多重化プログラムであって、
多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号を生成する多重化パターン生成部と、
前記バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズを求め、前記残サイズを示す残サイズ情報を出力する残サイズ演算部と、
前記多重化パターン生成部によって生成された前記多重化パターン信号と前記残サイズ演算部によって出力された前記残サイズ情報とに基づき、前記バッファに記憶されたエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するパケット生成部と、
前記パケット生成部によって生成された前記多重化パケットを、生成された順番に多重化し、多重化ストリームを生成する多重化部としてコンピュータを機能させ、
前記残サイズ演算部は、アクセスユニットごとのデータサイズと、前記パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、前記残サイズを求め、
前記パケット生成部は、前記多重化パターン信号が示す種別が一致し、かつ前記残サイズが前記送出サイズ以上であるときに前記多重化パケットを生成することを特徴とする多重化プログラム。
【請求項２９】
アクセスユニットを単位として生成された符号化データで構成される、コンテンツの種別ごとのエレメンタリストリームをそれぞれのバッファに一時記憶し、前記バッファに一時記憶したエレメンタリストリームを多重化パケット単位に多重化し、前記多重化パケットで構成される多重化ストリームを生成する多重化プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号を生成する多重化パターン生成部と、
前記バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズを求め、前記残サイズを示す残サイズ情報を出力する残サイズ演算部と、
前記多重化パターン生成部によって生成された前記多重化パターン信号と前記残サイズ演算部によって出力された前記残サイズ情報とに基づき、前記バッファに記憶されたエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するパケット生成部と、
前記パケット生成部によって生成された前記多重化パケットを、生成された順番に多重化し、多重化ストリームを生成する多重化部としてコンピュータを機能させ、
前記残サイズ演算部は、アクセスユニットごとのデータサイズと、前記パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、前記残サイズを求め、
前記パケット生成部は、前記多重化パターン信号が示す種別が一致し、かつ前記残サイズが前記送出サイズ以上であるときに前記多重化パケットを生成することを特徴とする多重化プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項３０】
請求項２７に記載の多重化方法により生成された多重化ストリームを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のエレメンタリストリームを多重化する多重化装置、集積回路、多重化方法、多重化プログラム、多重化プログラムを記録したコンピュータ読み取り可能な記録媒体及び多重化ストリームを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
近年、放送の技術分野においてもデジタル化が急速に進展し、例えば、デジタル放送システムが実用化されている。このようなデジタル放送システムでは、ビデオやオーディオなどのコンテンツ、さらにはサービス情報や番組に関する情報などがデジタル形式で多重化され、放送されている。また、ビデオやオーディオなどのコンテンツデータは、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）システムなどの規格に基づいて圧縮符号化され、圧縮符号化されたコンテンツデータである符号化データの断片をパケットとし、パケットの集合をストリーム信号として伝送する形態が一般的となっている。【０００３】
また、このようなストリーム信号を受け取る側は、ストリーム信号に含まれる符号化データを抽出し、抽出した符号化データに対して復号化処理を施すことで、コンテンツデータを復元する。また、このようなストリーム信号を伝送する手法として、デジタル放送システムでは、トランスポートストリームと呼ばれるストリーム信号を伝送することでデジタル放送が行われる。【０００４】
特に、例えば上述したＭＰＥＧシステムでは、ビデオ符号化データ及びオーディオ符号化データなどの複数の符号化データを多重化したトランスポートストリームを生成するにあたり、復号化処理を行うデコーダとして、標準的なモデルであるシステムターゲットデコーダ（ＳＴＤ：Ｓｙｓｔｅｍ  Ｔａｒｇｅｔ  Ｄｅｃｏｄｅｒ、以下、適宜、“ＳＴＤ”と呼ぶ）が想定されている。すなわち、ＭＰＥＧシステムにおいては、このようなＳＴＤに基づき、多重化装置がこのＳＴＤを破綻させることのないようにトランスポートストリームを生成することによって、デコーダ側において復号化処理を正しく実行できることが保証されている。このため、例えば、デジタル放送システムにおける多重化装置では、ＳＴＤに含まれる各種バッファの蓄積状態を仮想的に逐次監視し、オーバーフローやアンダーフローのようなバッファの破綻を起こさないように制御しながらトランスポートストリームを生成している。【０００５】
一方、民生用の映像機器の技術分野においても、例えば、情報をデジタル形式で記録するハードディスクや光ディスクなどの記録媒体の大容量化がめざましく進展し、ＤＶＤレコーダなどと呼ばれる記録再生装置を利用して、ビデオデータのような大容量データを一般家庭で記録して扱うことが可能である。さらに、記録媒体の小型化もめざましく進展しており、例えば、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカードなどのメモリカードや電子カードを、携帯電話装置やデジタルカメラ装置などに装着し、ビデオやオーディオなどのコンテンツデータを記録したり再生したりすることも可能である。【０００６】
ところで、このようなコンテンツデータを記録媒体へ記録する場合においても、基本的に上述したようなストリーム形式で、それぞれの記録媒体のフォーマットに従って記録するような方式が一般的となりつつある。このため、このような方式を利用したビデオカメラ装置などにおいては、ストリーム信号を生成するため、コンテンツデータを圧縮符号化するエンコーダ、ビデオやオーディオの符号化データ及び制御用データをパケット化するパケット化手段、及び各パケットを多重化する多重化手段などを備えた構成としている。この場合、ビデオカメラ装置などのような民生用機器に、デジタル放送システムに使用されているようなエンコーダや多重化装置を用いると非常にコストアップとなるため、このような民生用機器に適応したストリーム信号生成手法に関する技術が提案されている。【０００７】
このような技術の一例として、例えば、上述したＳＴＤの仮想的な制御を必要とせずに、複数の符号化データを多重化するような多重化装置がある。すなわち、上述したＳＴＤに含まれる各バッファの蓄積状態を仮想的に逐次監視しながら多重化処理を実行するような手法では、複雑な処理が必要となるため、民生用機器に適用するには不向きであった。このため、従来、各符号化データを含むパケットの現れるそれぞれの割合が各符号化データのビットレートの比と同じになるように、各パケットを所定の順序に従って交互に多重化して、多重化ストリームを生成する多重化装置が提案されている（例えば、特許文献１参照）。【０００８】
図２３は、このような従来の多重化装置の構成を示すブロック図である。図２３に示す従来の多重化装置９１は、ＭＰＥＧ−１規格に従って、ビデオデータ及びオーディオデータをそれぞれ圧縮符号化し、それぞれの符号化データで構成されるビデオストリーム及びオーディオストリームをさらにそれぞれ多重化して、可搬型記録媒体９２に対して多重化ストリームとして記録する装置である。【０００９】
図２３に示す多重化装置９１において、ビデオエンコーダ９１１は、ＣＰＵ９１６からの制御信号に応じて、入力されたビデオデータに対して固定ビットレートにより圧縮符号化処理を行う。そして、ビデオエンコーダ９１１は、生成したビデオ符号化データで構成されるビデオストリームをビデオ入力バッファ９１２に対して順次供給する。ビデオ入力バッファ９１２は、供給されたビデオストリームを一時記憶し、ＣＰＵ９１６からの要求に応じて、一時記憶したビデオストリームを出力バッファ９１５に供給する。【００１０】
また、同様に、オーディオエンコーダ９１３は、ＣＰＵ９１６からの制御信号に応じて、入力されたオーディオデータに対して固定ビットレートにより圧縮符号化処理を行う。そして、オーディオエンコーダ９１３は、生成したオーディオ符号化データで構成されるオーディオストリームをオーディオ入力バッファ９１４に対して順次供給する。オーディオ入力バッファ９１４も、供給されたオーディオストリームを一時記憶し、ＣＰＵ９１６からの要求に応じて、一時記憶したオーディオストリームを出力バッファ９１５に供給する。【００１１】
出力バッファ９１５は、ＣＰＵ９１６の制御に基づいて、ビデオ入力バッファ９１２及びオーディオ入力バッファ９１４から出力されたデータや、ＣＰＵ９１６により生成されたヘッダ情報などを、指定されたアドレスに記憶する。このとき、ＣＰＵ９１６は、ビデオ入力バッファ９１２及びオーディオ入力バッファ９１４に一時記憶された、固定ビットレートのビデオストリーム及びオーディオストリームから、同一長さのパケットデータを断片的に所定の順序で抽出するよう制御するとともに、各パケットデータに対して固定長のヘッダデータを生成して、これらを出力バッファ９１５に交互に記憶させる。【００１２】
このようにして、出力バッファ９１５には、ヘッダデータ、ビデオストリームの断片データを含むパケットデータ、及びオーディオストリームの断片データを含むパケットデータが所定の順序で交互に繰り返される多重化ストリームが記憶されることになる。【００１３】
また、多重化装置９１は、このようにして生成された多重化ストリームを可搬型記録媒体９２に出力する。このように、多重化装置９１により多重化処理が実行され、この多重化処理により生成された多重化ストリームが可搬型記録媒体９２に記録される。【００１４】
また、この多重化処理においても、上述したように、デコーダ側に設けられるバッファがオーバーフロー及びアンダーフローを起こさないように、多重化ストリームを生成する必要がある。このため、多重化装置９１は、多重化の際に、ビデオストリームとオーディオストリームとのパケットデータが現れる割合が、ビデオストリームとオーディオストリームとのビットレートの比と同じになるように多重化処理を実行する。これにより、パックやヘッダデータの伝送ビットレートが一定で、かつ単位時間内に伝送されるビデオストリーム及びオーディオストリームのデータ量が一定になり、生成された多重化ストリームの復号化時におけるＳＴＤバッファのオーバーフローが防止される。【００１５】
図２４は、従来の多重化装置のビデオ及びオーディオの各パケットの割り当て方法を概念的に示した図である。図２４に示す多重化ストリーム２４１では、例えば、ビデオストリームのビットレート（以下、“ビデオレート”と呼ぶ）が１２８ｋｂｐｓ、オーディオストリームのビットレート（以下、“オーディオレート”と呼ぶ）が３２ｋｂｐｓのように、ビデオレートとオーディオレートとの比が４：１となるような場合での、ビデオ及びオーディオの各パケットの割り当て方法を示している。なお、図２４において、“Ｖ”はビデオストリームを格納したパケットであるビデオパケットを示し、“Ａ”はオーディオストリームを格納したパケットであるオーディオパケットを示している。【００１６】
すなわち、多重化装置９１は、多重化ストリームの生成において、ビデオストリームとオーディオストリームとのパケットデータが現れる割合を、ビデオストリームとオーディオストリームとの固定ビットレートの比である４：１とするため、多重化ストリーム２４１に示すように、各符号化ストリームを一定のデータ量のパケットデータとして区切り、ビデオパケット４つとオーディオパケット１つとを交互に多重化している。【００１７】
また、この多重化されたストリーム全体の転送ビットレートＲｍｕｘは、各符号化ストリームのビットレートの和であるＲｍｕｘ＝１２８ｋｂｐｓ＋３２ｋｂｐｓ＝１６０ｋｂｐｓとしている。すなわち、生成された１６０ｋｂｐｓの多重化ストリーム内には、ビデオレートとオーディオレートとの比である４：１となるように、ビデオ及びオーディオの各データが常に一定割合で含まれることから、デコーダ側のＳＴＤバッファには単位時間内に一定以上の量のデータが入力することがなく、オーバーフローは発生しない。【００１８】
さらに、多重化装置９１は、多重化の際に、デコーダ側が入力されたデータをあらかじめＳＴＤバッファにある程度蓄積したあと、順次読み出してデコードを開始するように、構成されている。すなわち、実際にはビデオ及びオーディオのアクセスユニットごとのデータ量は一定でないため、ＳＴＤバッファに対する入力データ量は常に一定とはならず、アンダーフローが生じる可能性がある。なお、アクセスユニットとは、ビデオでは符号化単位のピクチャやフレーム、オーディオではオーディオフレームがこれに相当する。【００１９】
このようなアンダーフローを防止するため、多重化装置９１では、デコードの開始以前にあらかじめデータを蓄積するために要する時間が設けられている。このようなデコーダ側のバッファにあらかじめデータを蓄積しておく時間は、スタートアップディレイと呼ばれている。図２４に示す多重化ストリーム２４２は、このようなスタートアップディレイを設けている。【００２０】
このようなスタートアップディレイを設けることにより、多重化ストリームの復号化時では、スタートアップディレイの期間だけＳＴＤバッファにデータを蓄積させた後、復号化を開始することとなる。また、このため、復号化の開始時刻は多重化ストリームの先頭データがＳＴＤバッファに転送されてからスタートアップディレイ分だけ遅延された時刻となる。【００２１】
以上、従来の多重化装置９１は、多重化ストリームの生成の際に、同一データ長であるビデオパケットとオーディオパケットとが現れる割合がそれぞれの固定ビットレートの比となるように多重化することで、復号化時におけるＳＴＤバッファのオーバーフローを防止している。【００２２】
さらに、従来の多重化装置９１は、ビデオパケット及びオーディオパケットを復号開始時刻までにＳＴＤバッファに蓄積するスタートアップディレイの時間をあらかじめ設定し、多重化時において復号化の開始時刻などを示すタイムスタンプの値に反映させることにより、復号化時におけるＳＴＤバッファのアンダーフローを防止している。【００２３】
このように、従来の多重化装置９１は、以上説明したような構成とすることにより、ＳＴＤの仮想的な制御を必要とせずに複数の符号化データを多重化するような多重化装置を実現している。【００２４】
しかしながら、上述した従来の多重化装置は、固定のビットレートで符号化して生成された複数の符号化データに対して多重化処理を行う場合においては、デコーダ側のバッファの破綻を回避できたが、可変ビットレートで生成されるような符号化データに対しては、バッファが破綻する可能性がさらに存在するという課題があった。【００２５】
すなわち、例えばＭＰＥＧシステムでは、ビデオデータを圧縮符号化して生成した符号化データのデータ量は、Ｉ−ピクチャ、Ｐ−ピクチャ及びＢ−ピクチャの種別により大きく異なり、さらに画像の内容によっても大きく異なる。このため、例えば、平坦で動きのないような画像が継続するような場合、アクセスユニットごとのビデオ符号化データ量は極端に少なくなり、スタートアップディレイを設けるのみでは、アンダーフロー及びオーバーフローを防止できない可能性があった。【００２６】
さらに、従来の多重化装置では、デコーダ側のバッファが破綻しないように、デコーダ側のバッファをシミュレーションしながら多重化処理を行っている。しかしながら、デコーダ側のバッファは複数存在し、動作も複雑であるため、多重化処理全体の処理量が多くなり、処理時間も長くなってしまうという問題があった。
【特許文献１】特開２００３−７８８７３号公報
【発明の開示】
【００２７】
本発明は、上記の問題を解決するためになされたもので、エンコーダで生成された符号化データが可変長符号化データで構成される可変ビットレートであっても、デコーダ側のバッファの破綻を防止することができ、多重化処理に要する処理時間を短縮することができる多重化装置、集積回路、多重化方法、多重化プログラム、多重化プログラムを記録したコンピュータ読み取り可能な記録媒体及び多重化ストリームを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とするものである。
【００２８】
本発明の一局面に係る多重化装置は、アクセスユニットを単位として生成された符号化データで構成される、コンテンツの種別ごとのエレメンタリストリームを、多重化パケットを単位として多重化し、前記多重化パケットで構成される多重化ストリームを生成する多重化装置であって、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号を生成する多重化パターン生成部と、前記エレメンタリストリームを一時記憶するバッファと、前記バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズを求め、前記残サイズを示す残サイズ情報を出力する残サイズ演算部と、前記多重化パターン生成部によって生成された前記多重化パターン信号と前記残サイズ演算部によって出力された前記残サイズ情報とに基づき、前記バッファに記憶されたエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するパケット生成部と、前記パケット生成部によって生成された前記多重化パケットを、生成された順番に多重化し、多重化ストリームを生成する多重化部とを備え、前記残サイズ演算部は、アクセスユニットごとのデータサイズと、前記パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、前記残サイズを求め、前記パケット生成部は、前記多重化パターン信号が示す種別が一致し、かつ前記残サイズが前記送出サイズ以上であるときに前記多重化パケットを生成する。
【００２９】
この構成によれば、多重化パターン生成部によって、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号が生成され、バッファには、エレメンタリストリームが一時記憶される。残サイズ演算部によって、バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズが求められ、残サイズを示す残サイズ情報が出力される。そして、パケット生成部によって、多重化パターン信号と残サイズ情報とに基づき、バッファに記憶されたエレメンタリストリームから所定サイズのデータが送出データとして取り込まれ、取り込んだ送出データを格納した多重化パケットが生成される。その後、多重化部によって、パケット生成部によって生成された多重化パケットが、生成された順番に多重化され、多重化ストリームが生成される。また、残サイズ演算部によって、アクセスユニットごとのデータサイズと、パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、残サイズが求められる。さらに、パケット生成部によって、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットが生成される。
【００３０】
本発明によれば、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットが生成されるので、エンコーダで生成された符号化データが可変長符号化データで構成される可変ビットレートであっても、デコーダ側のバッファの破綻を防止することができる。また、アクセスユニットごとのデータサイズと、多重化パケットに格納された送出データのサイズである送出サイズとに基づき、残サイズが求められ、エンコーダ側のバッファシミュレーションにより多重化処理が行われるので、従来のデコーダ側のバッファシミュレーションによる多重化処理に比べて、多重化処理に要する処理時間を短縮することができる。
【００３１】
本発明の目的、特徴及び利点は、以下の詳細な説明と添付図面とによって、より明白となる。
【図面の簡単な説明】
【００３２】
【図１】本実施の形態１における多重化装置の構成を示すブロック図である。
【図２】本実施の形態１における多重化装置の概略タイミングを示すタイミングチャートである。
【図３】本実施の形態１における多重化装置の多重化パターン信号を示すタイミングチャートである。
【図４】本実施の形態１における多重化装置のシステムデータ送出のタイミングを示すタイミングチャートである。
【図５】本実施の形態１における多重化装置のビデオ送出開始のタイミングを示すタイミングチャートである。
【図６】本実施の形態１における多重化装置のオーディオ送出開始のタイミングを示すタイミングチャートである。
【図７】本実施の形態１における多重化装置のビデオ残サイズがなくなった場合のタイミングを示すタイミングチャートである。
【図８】本実施の形態１における多重化装置の休止期間における処理の例を説明するためのタイミングチャートである。
【図９】本実施の形態１における多重化装置の装置制御部の処理の手順を示すフローチャートである。
【図１０】本実施の形態１における多重化装置の制御部の処理の手順を示すフローチャートである。
【図１１】本実施の形態１における多重化装置の多重化ストリーム生成処理の手順を示すフローチャートである。
【図１２】本実施の形態１における多重化装置のタイムスタンプ生成部の処理の手順を示す第１のフローチャートである。
【図１３】本実施の形態１における多重化装置のタイムスタンプ生成部の処理の手順を示す第２のフローチャートである。
【図１４】本実施の形態１における多重化装置のＰＥＳヘッダを含むＴＳパケットの構成例を示す図である。
【図１５】本実施の形態１における多重化装置のビデオ残サイズ演算部の処理の手順を示すフローチャートである。
【図１６】本実施の形態１における多重化装置のビデオパケット生成部の処理の手順を示す第１のフローチャートである。
【図１７】本実施の形態１における多重化装置のビデオパケット生成部の処理の手順を示す第２のフローチャートである。
【図１８】本実施の形態１における多重化装置のオーディオ残サイズ演算部の処理の手順を示すフローチャートである。
【図１９】本実施の形態１における多重化装置のオーディオパケット生成部の処理の手順を示す第１のフローチャートである。
【図２０】本実施の形態１における多重化装置のオーディオパケット生成部の処理の手順を示す第２のフローチャートである。
【図２１】本実施の形態１における多重化装置のシステムパケット生成部の処理の手順を示すフローチャートである。
【図２２】本実施の形態２における多重化装置の構成を示すブロック図である。
【図２３】従来の多重化装置の構成を示すブロック図である。
【図２４】従来の多重化装置のビデオ及びオーディオの各パケットの割り当て方法を概念的に示した図である。
【発明を実施するための最良の形態】
【００３３】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。【００３４】
（実施の形態１）
図１は、本実施の形態１における多重化装置の構成を示すブロック図である。本実施の形態では、コンテンツの種別を映像であるビデオ及び音声であるオーディオとするコンテンツデータ、すなわち、ビデオデータ及びオーディオデータを圧縮符号化し、圧縮符号化により生成されたビデオ及びオーディオそれぞれの符号化データを多重化ストリームの１つであるトランスポートストリームに多重化し、このトランスポートストリームを記録媒体に記録する多重化装置の一例を説明する。また、本実施の形態では、圧縮符号化方式として知られるＭＰＥＧ−２、ＭＰＥＧ−４  ＡＶＣ方式に基づき生成された符号化データに適用した一例を挙げて説明する。なお、本実施の形態における圧縮符号化方式は、ＭＰＥＧ方式に限定されるものではなく、アクセスユニット毎に区切られた符号化データを一定レートで出力するような規格の他の圧縮符号化方式を用いてもよい。【００３５】
図１に示すように、本多重化装置には、記録媒体６２に記録するためのビデオデータ及びオーディオデータが供給される。ビデオエンコーダ１１は、装置制御部１９からの制御に応じて、供給されたビデオデータに対し、例えばビデオフレーム周期を１つの時間単位として圧縮符号化処理を行い、ビデオのアクセスユニット間隔ごとに発生したビデオ符号化データを出力する。【００３６】
本実施の形態では、ビデオエンコーダ１１が、供給されたビデオデータに対し、ビデオアクセスユニットの発生間隔ごととなるビデオフレーム周期Ｔｆｒを単位として、ＭＰＥＧ−２方式においてＩ−ピクチャと呼ばれる画面内符号化処理、Ｐ−ピクチャと呼ばれる画面間前方予測符号化処理、及びＢ−ピクチャと呼ばれる画面間双方向予測符号化処理を行うとともに、アクセスユニットごとに可変ビット長である可変長符号化データを出力する例を挙げて説明する。【００３７】
なお、本実施の形態では、順次走査のような動画像のコマ数単位であるビデオフレーム周期を時間単位とした例を挙げて説明するが、飛び越し走査、すなわちインターレースによる動画像のコマ数単位であるビデオフィールド周期を時間単位としてもよく、アクセスユニットごとに可変長符号化データを出力するようなアクセスユニットの発生間隔ごとであればよい。【００３８】
このようなアクセスユニットごとに可変ビット長となるビデオ符号化データは、これらのビデオ符号化データで構成されるビデオエレメンタリストリーム（ＥＳ：Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ）ＥＳｖとして、以下で説明するビデオユニットサイズ計測部１２及びトランスポートストリーム生成部（以下、適宜、“ＴＳ生成部”と呼ぶ）３０に供給される。以下、本実施の形態では、このようなビデオエレメンタリストリームＥＳｖが、最大ビットレートが規定された可変長符号化データで構成される可変ビットレートのエレメンタリストリームであるとして説明する。【００３９】
ビデオユニットサイズ計測部１２は、供給されたビデオエレメンタリストリームＥＳｖから、ビデオフレーム周期Ｔｆｒで発生したビデオ符号化データのビット量など、そのデータサイズであるビデオ発生サイズＳｖを計測し、計測したビデオ発生サイズＳｖを示すビデオ発生サイズ情報Ｄ（Ｓｖ）を、アクセスユニットごとにＴＳ生成部３０に通知する。【００４０】
また、オーディオエンコーダ２１は、装置制御部１９からの制御に応じて、供給されたオーディオデータに対し、例えばオーディオフレーム周期を１つの時間単位として圧縮符号化処理を行い、オーディオのアクセスユニット間隔ごとに発生したオーディオ符号化データを出力する。【００４１】
本実施の形態では、オーディオエンコーダ２１が、供給されたオーディオデータに対し、オーディオアクセスユニットの発生間隔ごととなるオーディオフレーム周期Ｔａｆｒを単位として、アクセスユニットごとの固定ビット長であるオーディオ符号化データを出力する例を挙げて説明する。このようなアクセスユニットごとに固定ビット長となるオーディオ符号化データは、これらのオーディオ符号化データで構成されるオーディオエレメンタリストリームＥＳａとして、以下で説明するオーディオユニットサイズ計測部２２及びＴＳ生成部３０に供給される。【００４２】
オーディオユニットサイズ計測部２２は、供給されたオーディオエレメンタリストリームＥＳａから、オーディオフレーム周期Ｔａｆｒで発生したオーディオ符号化データのビット量など、そのデータサイズであるオーディオ発生サイズＳａを計測し、計測したオーディオ発生サイズＳａを示すオーディオ発生サイズ情報Ｄ（Ｓａ）を、アクセスユニットごとにＴＳ生成部３０に通知する。【００４３】
また、装置制御部１９は、例えばＣＰＵ（中央演算処理装置）などで構成され、多重化装置の全体を制御する。すなわち、例えば、ユーザが映像や音声で構成されるコンテンツを記録しようとする場合、ユーザからの指示情報が装置制御部１９に通知される。装置制御部１９は、このようなユーザからの指示情報に応じて、本多重化装置の各部を制御したり、またそれに関する処理などを実行したりする。例えば、ユーザがコンテンツを記録するように指示すると、装置制御部１９は、記録の指示を示す記録指示信号を、ビデオエンコーダ１１、オーディオエンコーダ２１及び次に説明するＴＳ生成部３０などに通知する。【００４４】
このように、ビデオ及びオーディオなどのコンテンツの種別それぞれにおいて、エンコーダによりアクセスユニットを単位として生成された符号化データで構成されるエレメンタリストリームがＴＳ生成部３０に供給される。【００４５】
ＴＳ生成部３０は、供給されたビデオ及びオーディオのエレメンタリストリームを一時的に記憶するとともに、記憶したエレメンタリストリームの符号化データを順次読み出し、アクセスユニットごとの符号化データをパケット化したパケッタイズドエレメンタリストリーム（ＰＥＳ：Ｐａｃｋｅｔｉｚｅｄ  Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ、以下、適宜、“ＰＥＳ”と呼ぶ）に変換する。【００４６】
さらに、ＴＳ生成部３０は、ビデオ及びオーディオのＰＥＳを格納した多重化パケットとしてのＴＳパケットを順次生成し、生成したＴＳパケットを多重化する。このようにして、ＴＳ生成部３０は、ビデオ及びオーディオのエレメンタリストリームを、ＴＳパケットを単位として多重化し、これらのＴＳパケットで構成される多重化ストリームとしてのトランスポートストリームＴＳを生成する。【００４７】
ＴＳ生成部３０により生成されたトランスポートストリームＴＳは、記録制御部６１に供給され、記録媒体６２のフォーマットに従って記録媒体６２に記録される。このようにして、本多重化装置に供給されたコンテンツデータがトランスポートストリームＴＳの形態で記録媒体６２に記録される。【００４８】
次に、ＴＳ生成部３０の構成について説明する。本実施の形態の多重化装置におけるＴＳ生成部３０は、多重化パターン生成部５６、ビデオバッファ３１、ビデオパケット生成部３２、ビデオ残サイズ演算部３３、オーディオバッファ４１、オーディオパケット生成部４２、オーディオ残サイズ演算部４３、システムパケット生成部４９及び多重化部５１を備える。【００４９】
多重化パターン生成部５６は、ビデオ、オーディオ及びシステムとして多重化するデータ種別の順序や組み合せを示す多重化パターンに対応した多重化パターン信号Ｐを生成する。【００５０】
ビデオバッファ３１は、供給されたビデオエレメンタリストリームＥＳｖを一時記憶する。ビデオ残サイズ演算部３３は、ビデオバッファ３１に記憶されたビデオエレメンタリストリームＥＳｖの多重化可能な残りのデータサイズであるビデオ残サイズＳｒｖを求め、求めたビデオ残サイズＳｒｖを示すビデオ残サイズ情報Ｄ（Ｓｒｖ）を出力する。ビデオパケット生成部３２は、多重化パターン信号Ｐとビデオ残サイズ情報Ｄ（Ｓｒｖ）とに基づき、ビデオバッファ３１に記憶されたビデオエレメンタリストリームＥＳｖから所定サイズのデータを送出データとして取り込み、取り込んだ送出データを格納したＴＳパケットを生成する。【００５１】
オーディオバッファ４１は、供給されたオーディオエレメンタリストリームＥＳａを一時記憶する。オーディオ残サイズ演算部４３は、オーディオバッファ４１に記憶されたオーディオエレメンタリストリームＥＳａの多重化可能な残りのデータサイズであるオーディオ残サイズＳｒａを求め、求めたオーディオ残サイズＳｒａを示すオーディオ残サイズ情報Ｄ（Ｓｒａ）を出力する。オーディオパケット生成部４２は、多重化パターン信号Ｐとオーディオ残サイズ情報Ｄ（Ｓｒａ）とに基づき、オーディオバッファ４１に記憶されたオーディオエレメンタリストリームＥＳａから所定サイズのデータを送出データとして取り込み、取り込んだ送出データを格納したＴＳパケットを生成する。【００５２】
システムパケット生成部４９は、多重化パターン信号Ｐに基づき、生成するトランスポートストリームＴＳに関する情報を含むシステムデータを格納したＴＳパケットを生成する。多重化部５１は、ビデオパケット生成部３２、オーディオパケット生成部４２及びシステムパケット生成部４９で生成されたＴＳパケットを、生成された順番に多重化し、トランスポートストリームＴＳを生成する。【００５３】
さらに、本実施の形態におけるＴＳ生成部３０は、制御部５９、クロック発生部５４、システム時刻生成部５５、タイムスタンプ生成部５７、ＰＥＳｖヘッダ生成部３４及びＰＥＳａヘッダ生成部４４を備える。【００５４】
制御部５９は、ＴＳ生成部３０の各部の制御やその制御に必要な処理を行う。クロック発生部５４は、ＴＳ生成部３０におけるクロック信号を発生する。システム時刻生成部５５は、クロック発生部５４からのクロック信号を用いてＴＳ生成部３０における基準時刻を生成する。タイムスタンプ生成部５７は、制御部５９からの情報を用いてタイムスタンプ情報を生成する。【００５５】
ＰＥＳｖヘッダ生成部３４は、タイムスタンプ生成部５７で生成されたタイムスタンプ情報を受け取り、受け取ったタイムスタンプ情報を含むビデオＰＥＳのヘッダデータを生成する。ＰＥＳａヘッダ生成部４４は、タイムスタンプ生成部５７で生成されたタイムスタンプ情報を受け取り、受け取ったタイムスタンプ情報を含むオーディオＰＥＳのヘッダデータを生成する。【００５６】
また、ビデオ残サイズ演算部３３は、ビデオアクセスユニットごとのデータサイズであるビデオ発生サイズＳｖと、ビデオパケット生成部３２でＴＳパケットに格納した送出データのサイズである送出サイズＳｔｖとに基づきビデオ残サイズＳｒｖを求める。ビデオパケット生成部３２は、多重化パターン信号Ｐで示される種別が一致し、かつビデオ残サイズＳｒｖが送出サイズ以上であるときに、ＴＳパケットを生成する。【００５７】
これとともに、オーディオ残サイズ演算部４３は、オーディオアクセスユニットごとのデータサイズであるオーディオ発生サイズＳａと、オーディオパケット生成部４２でＴＳパケットに格納した送出データのサイズである送出サイズＳｔａとに基づきオーディオ残サイズＳｒａを求める。オーディオパケット生成部４２は、多重化パターン信号Ｐで示される種別が一致し、かつオーディオ残サイズＳｒａが送出サイズ以上であるときに、ＴＳパケットを生成する。【００５８】
本実施の形態の多重化装置におけるＴＳ生成部３０は、このような構成であることを特徴としている。すなわち、ビデオ及びオーディオそれぞれにおいて、ビデオ残サイズ演算部３３及びオーディオ残サイズ演算部４３は、ビデオバッファ３１及びオーディオバッファ４１に存在するデータのうち多重化可能なデータのデータ量をビデオ残サイズ情報Ｄ（Ｓｒｖ）及びオーディオ残サイズ情報Ｄ（Ｓｒａ）としてビデオパケット生成部３２及びオーディオパケット生成部４２に通知する。ビデオパケット生成部３２及びオーディオパケット生成部４２は、多重化パターン信号ＰでＴＳパケットの生成が指示されたとき、ビデオ残サイズ情報Ｄ（Ｓｒｖ）及びオーディオ残サイズ情報Ｄ（Ｓｒａ）を参照し、生成に利用可能なデータがビデオバッファ３１及びオーディオバッファ４１にある場合にＴＳパケットを生成する。【００５９】
本実施の形態の多重化装置におけるＴＳ生成部３０は以上のような基本構成であり、供給されたビデオ及びオーディオのエレメンタリストリームは、多重化パターン生成部５６からの多重化パターンに従って多重化される。そのため、多重化パターンを適切に設定することにより、その多重化パターンに応じた比率で各エレメンタリストリームを多重化することができる。また、アクセスユニットごとの符号化データ量が極端に少なくなった場合や、多重化可能なデータがなくなった場合には、ビデオ残サイズ演算部３３及びオーディオ残サイズ演算部４３からのビデオ残サイズ及びオーディオ残サイズに基づきＴＳパケットの生成を休止させることができる。【００６０】
次に、本実施の形態の多重化装置におけるＴＳ生成部３０のより詳細な構成について説明する。【００６１】
まず、装置制御部１９が記録の指示を示す記録指示信号をビデオエンコーダ１１、オーディオエンコーダ２１及びＴＳ生成部３０に通知すると、ビデオエンコーダ１１及びオーディオエンコーダ２１は圧縮符号化処理を開始し、所定のタイミングで、ビデオエンコーダ１１はビデオエレメンタリストリームＥＳｖの出力を開始し、オーディオエンコーダ２１はオーディオエレメンタリストリームＥＳａの出力を開始する。【００６２】
この後、ビデオエンコーダ１１は、ビデオフレーム周期Ｔｆｒで、ビデオエレメンタリストリームＥＳｖ、すなわち、アクセスユニットごとのＩ−ピクチャ、Ｐ−ピクチャあるいはＢ−ピクチャのビデオ符号化データを、ビデオバッファ３１に順次供給するとともに、ビデオユニットサイズ計測部１２は、ビデオ発生サイズ情報Ｄ（Ｓｖ）をビデオ残サイズ演算部３３に通知する。【００６３】
また、オーディオエンコーダ２１は、オーディオフレーム周期Ｔａｆｒで、オーディオエレメンタリストリームＥＳａ、すなわち、アクセスユニットごとのオーディオ符号化データを、オーディオバッファ４１に順次供給するとともに、オーディオユニットサイズ計測部２２は、オーディオ発生サイズ情報Ｄ（Ｓａ）をオーディオ残サイズ演算部４３に通知する。【００６４】
ビデオバッファ３１は、供給されたビデオエレメンタリストリームＥＳｖを構成するビデオ符号化データを順次記憶する。また、ビデオバッファ３１は、ビデオパケット生成部３２によりデータが読み込まれると、読み込まれたデータ領域を空き領域とし、この空き領域を新たな記憶領域とする。このようにして、ビデオバッファ３１は、ビデオエンコーダ１１からの新しいデータを格納し、格納している古いデータから順にビデオパケット生成部３２に供給しながら、ビデオ符号化データを一時記憶する。【００６５】
オーディオバッファ４１は、供給されたオーディオエレメンタリストリームＥＳａを構成するオーディオ符号化データを順次記憶する。また、オーディオバッファ４１は、オーディオパケット生成部４２によりデータが読み込まれると、読み込まれたデータ領域を空き領域とし、この空き領域を新たな記憶領域とする。このようにして、オーディオバッファ４１は、オーディオエンコーダ２１からの新しいデータを格納し、格納している古いデータから順にオーディオパケット生成部４２に供給しながら、オーディオ符号化データを一時記憶する。【００６６】
また、装置制御部１９が記録指示信号をＴＳ生成部３０に通知すると、この記録指示信号は、ＴＳ生成部３０の制御部５９に通知される。制御部５９は、この記録指示信号に応答して、システム時刻生成部５５、タイムスタンプ生成部５７、ビデオ残サイズ演算部３３及びオーディオ残サイズ演算部４３に対して次のような情報を通知するとともに、ＴＳ生成部３０の各部が初期動作を開始するよう制御する。【００６７】
すなわち、制御部５９は、システム時刻生成部５５に対しては、システム時刻の初期値を通知する。また、制御部５９は、タイムスタンプ生成部５７に対しては、以下で詳細に説明するスタートアップディレイ時間Ｔｓｕや補正時間Ｔｓｃなどのスタートアップでのタイミングに関する情報、及びビデオフレーム周期Ｔｆｒやオーディオフレーム周期Ｔａｆｒを示す時間情報を含めた情報を通知する。また、制御部５９は、ビデオ残サイズ演算部３３に対しては、ビデオ符号化データを格納したＴＳパケットの生成を開始する時刻に対応したビデオ生成開始時刻ｔｅを示すビデオ生成開始時刻情報Ｄ（ｔｅ）を通知する。また、制御部５９は、オーディオ残サイズ演算部４３に対しては、オーディオ符号化データを格納したＴＳパケットの生成を開始する時刻に対応したオーディオ生成開始時刻ｔａｅを示すオーディオ生成開始時刻情報Ｄ（ｔａｅ）を通知する。【００６８】
このようにして、ＴＳ生成部３０において、制御部５９の制御により初期動作が開始される。なお、ビデオ生成開始時刻ｔｅは、ビデオ残サイズ演算部３３においてビデオアクセスユニットごとのデータサイズの加算を開始する時刻であり、多重化装置の基準時刻として設けている。このようなビデオ生成開始時刻ｔｅの詳細については以下で説明する。【００６９】
システム時刻生成部５５は、制御部５９からの初期値を初期時刻として、クロック発生部５４からのクロック信号をカウントすることにより、ＴＳ生成部３０における基準時刻としてのシステム時刻（ＳＴＣ：Ｓｙｓｔｅｍ  Ｔｉｍｅ  Ｃｌｏｃｋ、以下、適宜、“ＳＴＣ”と呼ぶ）を生成する。本実施の形態における多重化装置は、システム時刻生成部５５から出力されるＳＴＣを基準時間とし、このＳＴＣを参照しながらそれぞれの時刻に応じた処理を実行する。【００７０】
システム時刻生成部５５で生成されたＳＴＣは、ＳＴＣ情報としてビデオ残サイズ演算部３３及びオーディオ残サイズ演算部４３に通知される。また、システム時刻生成部５５で生成されたＳＴＣは、プログラム時刻基準参照（ＰＣＲ：Ｐｒｏｇｒａｍ  Ｃｌｏｃｋ  Ｒｅｆｅｒｅｎｃｅ、以下、適宜、“ＰＣＲ”と呼ぶ）情報としてシステムパケット生成部４９に通知される。ＰＣＲ情報は、トランスポートストリームに重畳され、送信側と受信側、あるいはエンコーダ側とデコーダ側とのクロックの同期を確立するために利用される。【００７１】
本実施の形態のように、記録媒体６２にトランスポートストリームを記録するような実施形態の場合、このようなＰＣＲ情報は、記録媒体６２を再生する再生装置などに設けたシステム時刻と再生するトランスポートストリームとの同期確立に利用される。さらに、システム時刻生成部５５は、クロック発生部５４からのクロック信号を分周することにより生成したＴＳパケット周期のクロック信号ＴＰｃｋを多重化パターン生成部５６に供給する。【００７２】
多重化パターン生成部５６は、システム時刻生成部５５から供給されたクロック信号ＴＰｃｋを利用して、ＴＳパケット長単位で設定される多重化パターン信号Ｐを生成する。上述したように、多重化パターン信号Ｐは、ビデオ、オーディオ及びシステムを表すデータ種別の順序、組み合せなどの割り当てパターンである多重化パターンを示す信号である。すなわち、ビデオを“Ｖ”、オーディオを“Ａ”、システムを“Ｓ”とした場合、多重化パターンは、例えば、“ＶＶＶＡＶＶＶＳ”とするようなパターンを示している。なお、多重化パターンは、本実施の形態１に示す多重化パターンに限定されず、種々の変更が可能である。【００７３】
多重化パターン生成部５６は、このような多重化パターン信号Ｐをビデオパケット生成部３２、オーディオパケット生成部４２及びシステムパケット生成部４９に通知する。ビデオパケット生成部３２、オーディオパケット生成部４２及びシステムパケット生成部４９は、多重化パターン信号Ｐを参照して、ＴＳパケットを生成するよう指示されているタイミングかどうかを判定する。【００７４】
例えば、多重化パターンにおいて“Ｖ”であるタイミングのとき、ビデオパケット生成部３２がＴＳパケットを生成するよう指示されていると判定するとともに、オーディオパケット生成部４２及びシステムパケット生成部４９は、ＴＳパケットの生成を停止するよう指示されていると判定する。【００７５】
このようにして、多重化可能なデータが存在するとき、多重化パターンに従って、ビデオ、オーディオ及びシステムのいずれかのデータを格納したＴＳパケットが多重化部５１に供給されることとなり、多重化部５１からは、多重化パターンに従った順序でそれぞれのデータを多重化したトランスポートストリームＴＳが送出されることとなる。【００７６】
本実施の形態における多重化装置は、このような多重化パターンとして、ＴＳパケットに格納するデータの種別ごとに、ＴＳパケットを生成する期間が所定の比率で周期的に繰り返されるようなパターンとしたことを特徴としている。また、本実施の形態では、このような比率を、ＴＳパケットに格納するデータの種別に規定された最大ビットレートに基づき決定している。すなわち、本実施の形態での多重化パターンは、上記一例の“ＶＶＶＡＶＶＶＳ”とするようなパターンが周期的に繰り返されるパターンとしている。【００７７】
また、このような多重化パターンにおけるデータ種別の比率は、ビデオエレメンタリストリームＥＳｖの最大ビットレート以上のビットレートに対応したビデオ期間と、オーディオエレメンタリストリームＥＳａの最大ビットレート以上のビットレートに対応したオーディオ期間との比率とし、さらに、このオーディオ期間は、オーディオ符号化データに対応した期間と、システムデータに対応した期間とに所定の比率で割り当てている。なお、本実施の形態におけるより具体的な多重化パターンについては、以下で詳細に説明する。【００７８】
タイムスタンプ生成部５７は、制御部５９から通知されたスタートアップディレイ時間Ｔｓｕと補正時間Ｔｓｃなどとのスタートアップでのタイミングに関するスタートアップ情報、及びビデオフレーム周期Ｔｆｒとオーディオフレーム周期Ｔａｆｒとを示す時間情報を用いて、タイムスタンプ情報としてのデコーディングタイムスタンプ（ＤＴＳ：Ｄｅｃｏｄｉｎｇ  Ｔｉｍｅ  Ｓｔａｍｐ、以下、適宜、“ＤＴＳ”と呼ぶ）情報及び提示タイムスタンプ（ＰＴＳ：Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｔｉｍｅ  Ｓｔａｍｐ、以下、適宜、“ＰＴＳ”と呼ぶ）情報を生成する。【００７９】
ＤＴＳは、デコーダ側における復号化の復号タイミングを示しており、また、ＰＴＳは、復号化されたデータを提示するための再生タイミングを示している。また、スタートアップ情報は、デコーダ側のバッファにあらかじめデータを蓄積しておく時間としてのスタートアップディレイ時間に関する情報である。すなわち、トランスポートストリームＴＳに重畳するＰＣＲ値に対して、ＤＴＳ値において、スタートアップ情報で通知されるスタートアップディレイ時間Ｔｓｕだけオフセット時間を設けることにより、デコーダ側のバッファにおいてデコードの開始以前にあらかじめデータを蓄積することができ、上述したようにデコーダ側のバッファのアンダーフローを防止することができる。【００８０】
タイムスタンプ生成部５７は、ビデオエレメンタリストリームＥＳｖに対するＤＴＳ情報としてのＤＴＳｖ情報及びＰＴＳ情報としてのＰＴＳｖ情報を、ＰＥＳｖヘッダ生成部３４に通知する。また、タイムスタンプ生成部５７は、オーディオエレメンタリストリームＥＳａに対するＰＴＳ情報としてのＰＴＳａ情報を、ＰＥＳａヘッダ生成部４４に通知する。【００８１】
また、タイムスタンプ生成部５７は、このようなＤＴＳ情報及びＰＴＳ情報を、ビデオ残サイズ演算部３３及びオーディオ残サイズ演算部４３から通知されるＡＵ先頭通知信号によるタイミングで出力する。なお、ＡＵ先頭通知信号は、各アクセスユニットの先頭データが送出データに含まれることを示す信号である。【００８２】
すなわち、まず、ビデオ残サイズ演算部３３が最初にビデオＡＵ先頭通知信号ＡＵＨｖをタイムスタンプ生成部５７に通知すると、タイムスタンプ生成部５７は、ビデオ生成開始時刻ｔｅよりもスタートアップディレイ時間Ｔｓｕだけ遅れた時刻、すなわち時刻（ｔｅ＋Ｔｓｕ）をビデオデコード開始時刻ｔｄとし、さらに、このビデオデコード開始時刻ｔｄを先頭ＤＴＳｖとしたＤＴＳｖ情報をＰＥＳｖヘッダ生成部３４に通知する。【００８３】
タイムスタンプ生成部５７に次のビデオＡＵ先頭通知信号ＡＵＨｖが通知されると、タイムスタンプ生成部５７は、ビデオデコード開始時刻ｔｄよりもビデオアクセスユニットの発生間隔であるビデオフレーム周期Ｔｆｒだけ遅れた時刻、すなわち時刻（ｔｄ＋Ｔｆｒ）を次のＤＴＳｖとしたＤＴＳｖ情報をＰＥＳｖヘッダ生成部３４に通知する。【００８４】
次のビデオＡＵ先頭通知信号ＡＵＨｖが通知されると、タイムスタンプ生成部５７は、ビデオデコード開始時刻ｔｄよりも２ビデオフレーム分である２Ｔｆｒ時間だけ遅れた時刻、すなわち時刻（ｔｄ＋２Ｔｆｒ）を次のＤＴＳｖとしたＤＴＳｖ情報をＰＥＳｖヘッダ生成部３４に通知する。【００８５】
タイムスタンプ生成部５７は、ビデオ残サイズ演算部３３からビデオＡＵ先頭通知信号ＡＵＨｖが通知されるたびに、このようなＤＴＳｖ情報をＰＥＳｖヘッダ生成部３４に通知する。また、タイムスタンプ生成部５７は、生成したＤＴＳｖ情報とビデオフレームの種別とに応じて生成したＰＴＳｖ情報も、ＰＥＳｖヘッダ生成部３４に通知する。【００８６】
また、タイムスタンプ生成部５７に対し、オーディオ残サイズ演算部４３が最初にオーディオＡＵ先頭通知信号ＡＵＨａを通知すると、タイムスタンプ生成部５７は、オーディオ生成開始時刻ｔａｅよりもオーディオフレーム周期Ｔａｆｒだけ遅れた時刻、すなわち時刻（ｔａｅ＋Ｔａｆｒ）をオーディオ再生開始時刻とし、さらに、このオーディオ再生開始時刻を先頭ＰＴＳａとしたＰＴＳａ情報をＰＥＳａヘッダ生成部４４に通知する。【００８７】
タイムスタンプ生成部５７に次のオーディオＡＵ先頭通知信号ＡＵＨａが通知されると、タイムスタンプ生成部５７は、オーディオ生成開始時刻ｔａｅよりも２オーディオフレーム分である２Ｔａｆｒ時間だけ遅れた時刻、すなわち時刻（ｔａｅ＋２Ｔａｆｒ）を次のＰＴＳａとしたＰＴＳａ情報をＰＥＳａヘッダ生成部４４に通知する。【００８８】
タイムスタンプ生成部５７は、オーディオ残サイズ演算部４３からオーディオＡＵ先頭通知信号ＡＵＨａが通知されるたびに、このようなＰＴＳａ情報をＰＥＳａヘッダ生成部４４に通知する。【００８９】
ビデオ残サイズ演算部３３は、タイムスタンプ生成部５７に対し、ビデオＡＵ先頭通知信号ＡＵＨｖを通知する。また、ビデオ残サイズ演算部３３は、ビデオパケット生成部３２に対し、ビデオアクセスユニットごとのデータサイズであるビデオ発生サイズＳｖとビデオパケット生成部３２でＴＳパケットに格納した送出データのサイズである送出サイズＳｔｖとに基づき求めたビデオ残サイズＳｒｖを示すビデオ残サイズ情報Ｄ（Ｓｒｖ）を通知する。【００９０】
このようなビデオＡＵ先頭通知信号ＡＵＨｖやビデオ残サイズ情報Ｄ（Ｓｒｖ）を生成するため、ビデオ残サイズ演算部３３に対し、システム時刻生成部５５からは、ＳＴＣ情報が通知され、制御部５９からは、ビデオ生成開始時刻ｔｅを示すビデオ生成開始時刻情報Ｄ（ｔｅ）が通知され、ビデオユニットサイズ計測部１２からは、ビデオアクセスユニットごとのビデオ発生サイズＳｖを示すビデオ発生サイズ情報Ｄ（Ｓｖ）が通知され、ビデオパケット生成部３２からは、ＴＳパケットに格納したビデオ送出データの送出サイズＳｔｖを示す送出サイズ情報Ｄ（Ｓｔｖ）が通知される。【００９１】
ビデオ残サイズ演算部３３は、ビデオ残サイズ情報Ｄ（Ｓｒｖ）を生成するため、次のような処理を実行する。すなわち、まず、ビデオ残サイズ演算部３３は、初期動作を開始したとき、ビデオ残サイズＳｒｖを０に設定する。また、ビデオ残サイズ演算部３３は、システム時刻生成部５５から通知されるＳＴＣを監視しており、ＳＴＣの時刻が、制御部５９から通知されたビデオ生成開始時刻ｔｅを基準に、順次ビデオフレーム周期Ｔｆｒごとの時刻となるようなタイミング、すなわちＳＴＣ＝ｔｅ＋ｎ×Ｔｆｒとする式においてｎが０以上の整数となるようなビデオフレーム周期Ｔｆｒの周期的なタイミングを発生させる。【００９２】
ビデオ残サイズ演算部３３は、このようなビデオ生成開始時刻ｔｅを最初とし、その後、ビデオアクセスユニットの発生間隔ごととなるビデオフレーム周期Ｔｆｒで、ビデオ発生サイズ情報Ｄ（Ｓｖ）を取り込み、ビデオ残サイズＳｒｖにビデオ発生サイズＳｖを加算する。【００９３】
すなわち、ビデオ生成開始時刻ｔｅはビデオアクセスユニットごとのデータサイズの加算を開始する時刻であり、ＳＴＣの時刻がビデオ生成開始時刻ｔｅとなったとき、ビデオ残サイズ演算部３３は、最初のアクセスユニットに対応したビデオ発生サイズ情報Ｄ（Ｓｖ）を取り込む。この後、ビデオ残サイズ演算部３３は、ビデオフレーム周期Ｔｆｒ間隔で順次ビデオ発生サイズ情報Ｄ（Ｓｖ）を取り込み、ビデオ残サイズＳｒｖにビデオ発生サイズＳｖを加算する。これとともに、ビデオ残サイズ演算部３３は、ビデオパケット生成部３２から送出サイズ情報Ｄ（Ｓｔｖ）が通知されるたびに、ビデオ残サイズＳｒｖから送出サイズＳｔｖを減算する。【００９４】
このように、ビデオ残サイズ演算部３３は、ビデオ残サイズＳｒｖに対し、フレーム周期Ｔｆｒを時間単位とするアクセスユニットごとのビデオ発生サイズＳｖをビデオフレーム周期Ｔｆｒで加算し、ビデオパケット生成部３２で送出データを格納したＴＳパケットを生成するたびに、送出サイズＳｔｖを減算するような演算処理により、ビデオ残サイズＳｒｖを求める。ビデオ残サイズ演算部３３は、求めたビデオ残サイズＳｒｖをビデオ残サイズ情報Ｄ（Ｓｒｖ）としてビデオパケット生成部３２に通知する。【００９５】
なお、ビデオ残サイズ演算部３３は、ビデオフレーム周期Ｔｆｒを時間単位とするアクセスユニットごとのビデオ発生サイズＳｖをビデオフレーム周期Ｔｆｒで加算し、ビデオパケット生成部３２で送出データを格納したＴＳパケットを生成するたびに、送出サイズＳｔｖを減算するような演算処理により、アクセスユニットごとのビデオ残サイズＳｒｖを求めるような構成であってもよい。【００９６】
また、ビデオ残サイズ演算部３３は、ビデオ残サイズＳｒｖの演算とともに、ビデオ発生サイズ情報Ｄ（Ｓｖ）と送出サイズ情報Ｄ（Ｓｔｖ）とに基づき、次にビデオバッファ３１から取り込むデータが先頭データを含むかどうかを監視しており、先頭データを含む場合には、タイムスタンプ生成部５７に対して、ビデオＡＵ先頭通知信号ＡＵＨｖを通知する。【００９７】
ＰＥＳｖヘッダ生成部３４は、タイムスタンプ生成部５７から通知されたＤＴＳ情報やＰＴＳ情報を含むビデオＰＥＳのヘッダ情報を生成し、生成したビデオＰＥＳのヘッダ情報を含むデータをビデオＰＥＳヘッダデータとしてビデオパケット生成部３２に供給する。【００９８】
ビデオパケット生成部３２は、ビデオ残サイズ演算部３３からのビデオ残サイズ情報Ｄ（Ｓｒｖ）を参照しながら、多重化パターン生成部５６から通知される多重化パターン信号Ｐの多重化パターンに従い、多重化パターン信号Ｐで示される種別がビデオであり、かつビデオ残サイズ情報Ｄ（Ｓｒｖ）で示されるビデオ残サイズＳｒｖが次に送出すべき送出サイズ以上であるときに、ビデオ符号化データを格納したＴＳパケットを生成する。【００９９】
すなわち、ビデオパケット生成部３２は、多重化パターン信号Ｐがビデオを指示するタイミングになると、ビデオ残サイズＳｒｖが次の送出サイズＳｔｖ以上であるかどうか判定する。ビデオパケット生成部３２は、この判定において、ビデオ残サイズＳｒｖが次の送出サイズ以上である場合に、ビデオバッファ３１から次に送出するビデオ符号化データを取り込み、ビデオ符号化データを格納したＴＳパケットを生成する。ビデオパケット生成部３２は、生成したＴＳパケットを多重化部５１に供給するとともに、このようにＴＳパケットに格納した送出データのサイズである送出サイズ情報Ｄ（Ｓｔｖ）をビデオ残サイズ演算部３３に通知する。【０１００】
なお、詳細については以下で説明するが、送出するビデオ符号化データがアクセスユニットの先頭データとなる場合には、ビデオパケット生成部３２は、ＰＥＳｖヘッダ生成部３４から次に送出するビデオＰＥＳヘッダデータを取り込み、ビデオＰＥＳヘッダデータを含むＴＳパケットを生成する。このとき、ビデオＰＥＳヘッダデータのデータサイズは、送出サイズＳｔｖには含まれない。【０１０１】
また、多重化パターン信号Ｐで示される種別がビデオであるが、ビデオ残サイズ情報Ｄ（Ｓｒｖ）で示されるビデオ残サイズＳｒｖが次に送出すべき送出サイズに満たないとき、ビデオパケット生成部３２は、不足分をスタッフィングバイトで充当した状態でのＴＳパケットを生成する。また、多重化パターン信号Ｐで示される種別がビデオであるが、ビデオ残サイズ情報Ｄ（Ｓｒｖ）で示されるビデオ残サイズＳｒｖが０、すなわち送出すべきビデオ符号化データがないときには、ビデオパケット生成部３２は、ＴＳデータの生成を休止したり、あるいはパディングデータを格納したＴＳパケットを生成し多重化部５１に供給したりする。【０１０２】
オーディオ残サイズ演算部４３は、タイムスタンプ生成部５７に対し、オーディオＡＵ先頭通知信号ＡＵＨａを通知する。また、オーディオ残サイズ演算部４３は、オーディオパケット生成部４２に対し、オーディオアクセスユニットごとのデータサイズであるオーディオ発生サイズＳａとオーディオパケット生成部４２でＴＳパケットに格納した送出データのサイズである送出サイズＳｔａとに基づき求めたオーディオ残サイズＳｒａを示すオーディオ残サイズ情報Ｄ（Ｓｒａ）を通知する。【０１０３】
このようなオーディオＡＵ先頭通知信号ＡＵＨａやオーディオ残サイズ情報Ｄ（Ｓｒａ）を生成するため、オーディオ残サイズ演算部４３に対し、システム時刻生成部５５からは、ＳＴＣ情報が通知され、制御部５９からは、オーディオ生成開始時刻ｔａｅを示すオーディオ生成開始時刻情報Ｄ（ｔａｅ）が通知され、オーディオユニットサイズ計測部２２からは、オーディオアクセスユニットごとのデータサイズを示すオーディオ発生サイズ情報Ｄ（Ｓａ）が通知され、オーディオパケット生成部４２からは、ＴＳパケットに格納したオーディオ送出データの送出サイズＳｔａを示す送出サイズ情報Ｄ（Ｓｔａ）が通知される。【０１０４】
オーディオ残サイズ演算部４３は、オーディオ残サイズ情報Ｄ（Ｓｒａ）を生成するため、次のような処理を実行する。すなわち、まず、オーディオ残サイズ演算部４３は、初期動作を開始したとき、オーディオ残サイズＳｒａを０に設定する。また、オーディオ残サイズ演算部４３は、システム時刻生成部５５から通知されるＳＴＣを監視しており、ＳＴＣの時刻が、制御部５９から通知されたオーディオ生成開始時刻ｔａｅを基準に、順次オーディオフレーム周期Ｔａｆｒごとの時刻となるようなタイミング、すなわちＳＴＣ＝ｔａｅ＋ｋ×Ｔａｆｒとする式においてｋが０以上の整数となるようなオーディオフレーム周期Ｔａｆｒの周期的なタイミングを発生させる。【０１０５】
なお、本実施の形態では、オーディオ生成開始時刻ｔａｅとして、ビデオデコード開始時刻ｔｄよりもビデオフレーム周期Ｔｆｒだけ遅れた時刻をオーディオ提示開始時刻とし、そのオーディオ提示開始時刻よりもオーディオフレーム時間だけ前に進んだ時刻をオーディオ生成開始時刻ｔａｅとしている。【０１０６】
オーディオ残サイズ演算部４３は、このようなオーディオ生成開始時刻ｔａｅを最初とし、その後、オーディオフレーム周期Ｔａｆｒで、オーディオ発生サイズ情報Ｄ（Ｓａ）を取り込み、オーディオ残サイズＳｒａにオーディオ発生サイズＳａを加算する。【０１０７】
すなわち、ＳＴＣの時刻がオーディオ生成開始時刻ｔａｅとなったとき、最初のアクセスユニットに対応したオーディオ発生サイズ情報Ｄ（Ｓａ）を取り込み、この後、オーディオフレーム周期Ｔａｆｒ間隔で順次オーディオ発生サイズ情報Ｄ（Ｓａ）を取り込み、オーディオ残サイズＳｒａにオーディオ発生サイズＳａを加算する。これとともに、オーディオ残サイズ演算部４３は、オーディオパケット生成部４２から送出サイズ情報Ｄ（Ｓｔａ）が通知されるたびに、オーディオ残サイズＳｒａから送出サイズＳｔａを減算する。【０１０８】
このように、オーディオ残サイズ演算部４３は、オーディオ残サイズＳｒａに対し、オーディオフレーム周期Ｔａｆｒを時間単位とするアクセスユニットごとのオーディオ発生サイズをオーディオフレーム周期Ｔａｆｒで加算し、オーディオパケット生成部４２で送出データを格納したＴＳパケットを生成するたびに、送出サイズＳｔａを減算するような演算処理により、オーディオ残サイズＳｒａを求める。オーディオ残サイズ演算部４３は、求めたオーディオ残サイズＳｒａをオーディオ残サイズ情報Ｄ（Ｓｒａ）としてオーディオパケット生成部４２に通知する。【０１０９】
なお、オーディオ残サイズ演算部４３は、オーディオフレーム周期Ｔａｆｒを時間単位とするアクセスユニットごとのオーディオ発生サイズＳａをオーディオフレーム周期Ｔａｆｒで加算し、オーディオパケット生成部４２で送出データを格納したＴＳパケットを生成するたびに、送出サイズＳｔａを減算するような演算処理により、アクセスユニットごとのオーディオ残サイズＳｒａを求めるような構成であってもよい。【０１１０】
また、オーディオ残サイズ演算部４３は、オーディオ残サイズＳｒａの演算とともに、オーディオ発生サイズ情報Ｄ（Ｓａ）と送出サイズ情報Ｄ（Ｓｔａ）とに基づき、次にオーディオバッファ４１から取り込むデータが先頭データを含むかどうかを監視しており、先頭データを含む場合には、タイムスタンプ生成部５７に対して、オーディオＡＵ先頭通知信号ＡＵＨａを通知する。【０１１１】
ＰＥＳａヘッダ生成部４４は、タイムスタンプ生成部５７から通知されたＰＴＳ情報を含むオーディオＰＥＳのヘッダ情報を生成し、生成したオーディオＰＥＳのヘッダ情報を含むデータをオーディオＰＥＳヘッダデータとしてオーディオパケット生成部４２に供給する。【０１１２】
オーディオパケット生成部４２は、オーディオ残サイズ演算部４３からのオーディオ残サイズ情報Ｄ（Ｓｒａ）を参照しながら、多重化パターン生成部５６から通知される多重化パターン信号Ｐの多重化パターンに従い、多重化パターン信号Ｐで示される種別がオーディオであり、かつオーディオ残サイズ情報Ｄ（Ｓｒａ）で示されるオーディオ残サイズＳｒａが次に送出すべき送出サイズ以上であるときに、オーディオ符号化データを格納したＴＳパケットを生成する。【０１１３】
すなわち、オーディオパケット生成部４２は、多重化パターン信号Ｐがオーディオを指示するタイミングになると、オーディオ残サイズＳｒａが次の送出サイズ以上であるかどうか判定する。オーディオパケット生成部４２は、この判定において、オーディオ残サイズＳｒａが次の送出サイズ以上である場合に、オーディオバッファ４１から次に送出するオーディオ符号化データを取り込み、オーディオ符号化データを格納したＴＳパケットを生成する。オーディオパケット生成部４２は、生成したＴＳパケットを多重化部５１に供給するとともに、このようにＴＳパケットに格納した送出データのサイズである送出サイズ情報Ｄ（Ｓｔａ）をオーディオ残サイズ演算部４３に通知する。【０１１４】
なお、詳細については以下で説明するが、送出するオーディオ符号化データがアクセスユニットの先頭データとなる場合には、オーディオパケット生成部４２は、ＰＥＳａヘッダ生成部４４から次に送出するオーディオＰＥＳヘッダデータを取り込み、オーディオＰＥＳヘッダデータを含むＴＳパケットを生成する。このとき、オーディオＰＥＳヘッダデータのデータサイズは、送出サイズＳｔａには含まれない。【０１１５】
また、多重化パターン信号Ｐで示される種別がオーディオであるが、オーディオ残サイズ情報Ｄ（Ｓｒａ）で示されるオーディオ残サイズＳｒａが次に送出すべき送出サイズに満たないとき、オーディオパケット生成部４２は、不足分をスタッフィングバイトで充当した状態でのＴＳパケットを生成する。また、多重化パターン信号Ｐで示される種別がオーディオであるが、オーディオ残サイズ情報Ｄ（Ｓｒａ）で示されるオーディオ残サイズＳｒａが０、すなわち送出すべきオーディオ符号化データがないときには、オーディオパケット生成部４２は、ＴＳデータの生成を休止したり、あるいはパディングデータを格納したＴＳパケットを生成し多重化部５１に供給したりする。【０１１６】
システムパケット生成部４９は、多重化パターン生成部５６から通知される多重化パターン信号Ｐに基づき、生成するトランスポートストリームＴＳに関する情報を含むシステムデータを格納したＴＳパケットを生成する。また、システムパケット生成部４９は、多重化パターン信号Ｐで示される種別がシステムであるとき、このようなシステムデータとして、ＰＡＴ（Ｐｒｏｇｒａｍ  Ａｓｓｏｃｉａｔｉｏｎ  Ｔａｂｌｅ）情報、ＰＭＴ（Ｐｒｏｇｒａｍ  Ｍａｐ  Ｔａｂｌｅ）情報、ＳＩＴ（Ｓｅｌｅｃｔｉｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅ）情報及びＰＣＲ情報のいずれかのデータを格納したＴＳパケットを、所定の周期及び所定の順番に生成する。【０１１７】
なお、ＰＭＴは、ビデオ、オーディオ及びシステムなどを識別するためのパケット識別子であるＰＩＤ（Ｐａｃｋｅｔ  ＩＤｅｎｔｉｆｉｅｒ）を記述したテーブルである。また、ＰＡＴは、ＰＭＴを抽出するための総合的な番組情報としてのテーブルである。また、ＳＩＴは、伝送される番組に関する情報を記述したテーブルである。このようなＴＳパケットを生成するため、システムパケット生成部４９には、制御部５９から、ＰＡＴ情報、ＰＭＴ情報及びＳＩＴ情報が供給される。また、システム時刻生成部５５からは、エンコーダ側とデコーダ側とのクロックの同期確立に利用するＰＣＲ情報が通知される。システムパケット生成部４９は、これらの情報を格納したＴＳパケットを生成し、生成したＴＳパケットを多重化部５１に供給する。なお、各システムデータを生成する詳細な周期や順番については、以下で詳細に説明する。【０１１８】
多重化部５１は、システムパケット生成部４９で生成されたシステムデータＴＳパケット、ビデオパケット生成部３２で生成されたビデオＴＳパケット、及びオーディオパケット生成部４２で生成されたオーディオＴＳパケットを、生成された順番に多重化し、それぞれのＴＳパケットで構成されるトランスポートストリームＴＳを生成する。多重化部５１で生成されたトランスポートストリームＴＳは、所定の送出ビットレートで記録制御部６１に送出され、記録制御部６１により記録媒体６２にトランスポートストリームＴＳが記録される。【０１１９】
次に、以上のように構成された本実施の形態の多重化装置のタイミングについて説明する。【０１２０】
図２は、本実施の形態１における多重化装置の概略タイミングを示すタイミングチャートである。以下、図２を参照しながら、まず多重化装置の全体的な動作について説明する。【０１２１】
図２において、装置制御部１９から通知される記録指示信号に応答して、ビデオエンコーダ１１及びオーディオエンコーダ２１は圧縮符号化処理を開始するとともに、ＴＳ生成部３０は初期動作を開始する。【０１２２】
図２におけるビデオフレームは、多重化装置におけるビデオに関する処理の時間単位である。図２で示すようなビデオフレーム周期Ｔｆｒを周期として、ビデオフレームｆｒ０、ｆｒ１、ｆｒ２というように、ビデオフレーム単位にビデオに関する処理が実行される。【０１２３】
ＴＳ生成部３０は、システム時刻生成部５５が生成するシステム時刻、すなわちＳＴＣの値がビデオ生成開始時刻ｔｅの値となるのを基準に、ビデオ符号化データを格納したＴＳパケットの生成を開始する。【０１２４】
ＤＴＳｖ情報は、ビデオの各アクセスユニットに対応させたＤＴＳ情報の値を示している。タイムスタンプ生成部５７は、最初のビデオＡＵ先頭通知信号ＡＵＨｖを受け取ると、図２に示すようなビデオ生成開始時刻ｔｅよりもスタートアップディレイ時間Ｔｓｕだけ遅れた時刻、すなわち時刻（ｔｅ＋Ｔｓｕ）をビデオデコード開始時刻ｔｄとし、さらに、このビデオデコード開始時刻ｔｄをビデオ先頭ＤＴＳｖとしたＤＴＳｖ情報をＰＥＳｖヘッダ生成部３４に通知する。さらに、タイムスタンプ生成部５７は、図２に示すように、ビデオデコード開始時刻ｔｄよりもビデオフレーム周期Ｔｆｒずつ遅れた時刻を順次ＤＴＳｖ情報としてＰＥＳｖヘッダ生成部３４に通知する。【０１２５】
次に、ビデオエンコーダ１１から出力されるビデオエレメンタリストリームＥＳｖのタイミングについて説明する。ビデオエンコーダ１１からは、図２に示すように、ビデオフレームごとに可変ビット長であるビデオ符号化データが出力され、これらアクセスユニットごとのビデオ符号化データによりビデオエレメンタリストリームＥＳｖが構成される。図２では、ｎ番目のビデオフレームｆｒｎにおいて、ビデオエンコーダ１１から、ビデオアクセスユニットＡＵｖｎのビデオ符号化データｖｎが出力される例を示している。【０１２６】
次に、ビデオパケット生成部３２で生成するビデオパケッタイズドエレメンタリストリームＰＥＳｖのタイミングについて説明する。ビデオパケット生成部３２は、図２に示すように、ＰＥＳｖヘッダ生成部３４で生成したアクセスユニットごとのビデオＰＥＳのヘッダデータとアクセスユニットごとのビデオ符号化データとを順次時系列的に組み合すことによりビデオパケッタイズドエレメンタリストリームＰＥＳｖを生成している。また、図２に示すように、システム時刻ＳＴＣにおいて、ビデオ生成開始時刻ｔｅとする時刻に、ビデオパケッタイズドエレメンタリストリームＰＥＳｖの生成が開始される。【０１２７】
なお、ビデオエンコーダ１１からビデオバッファ３１に対しては、規定されたビデオの最大ビットレートに比べて、さらに高速なビットレートでビデオ符号化データが供給される。例えば、ビデオの最大ビットレートを１５Ｍｂｐｓとした場合、ビデオエンコーダ１１からは１５Ｍｂｐｓの数倍以上のビットレートでビデオ符号化データが出力される。一方、ビデオパケット生成部３２においては、ビデオの最大ビットレートに対応した処理速度でビデオパケッタイズドエレメンタリストリームＰＥＳｖの生成処理が行われる。このため、ビデオエレメンタリストリームＥＳｖに示す例えばビデオ符号化データｖ０と、ビデオパケッタイズドエレメンタリストリームＰＥＳｖに示すビデオ符号化データｖ０とのように同じデータサイズであっても、ビデオエレメンタリストリームＥＳｖの転送時間に比べて、ビデオパケッタイズドエレメンタリストリームＰＥＳｖの転送時間の方が長くなっている。【０１２８】
また、ＰＥＳｖヘッダ生成部３４で生成したＰＥＳｖヘッダデータには、タイムスタンプ情報が含まれる。このようなタイムスタンプ情報として、ビデオデコード開始時刻ｔｄ、及びビデオデコード開始時刻ｔｄよりも順次ビデオフレーム周期Ｔｆｒずつ遅れた時刻とするようなＤＴＳｖ情報が、それぞれのＰＥＳｖヘッダに格納される。例えば、図２において、ビデオ生成開始時刻ｔｅ直後に生成される最初のＰＥＳｖヘッダには、ビデオデコード開始時刻ｔｄを示すビデオ先頭ＤＴＳｖ値のＤＴＳｖ０が格納され、次のＰＥＳｖヘッダには、ビデオデコード開始時刻ｔｄよりもビデオフレーム周期Ｔｆｒだけ遅れた時刻（ｔｄ＋Ｔｆｒ）を示すＤＴＳｖ値のＤＴＳｖ１が格納される。【０１２９】
次に、ビデオ残サイズ演算部３３により算出されたビデオ残サイズＳｒｖについて説明する。本実施の形態における多重化装置では、図２に示す記録指示信号が出力された時刻からビデオ生成開始時刻ｔｅまでの期間において、ビデオバッファ３１にはあらかじめ数ビデオフレーム分のビデオ符号化データが記憶される。この後、ビデオ生成開始時刻ｔｅになると、ビデオ残サイズ演算部３３におけるビデオアクセスユニットごとのビデオ発生サイズＳｖの加算が開始され、ビデオ残サイズ演算部３３がビデオパケット生成部３２に通知するビデオ残サイズＳｒｖがＳｖだけ増加する。【０１３０】
すなわち、図２に例示するように、先頭のビデオアクセスユニットをビデオ発生サイズＳｖ０とするビデオアクセスユニットＡＵｖ０としたとき、ビデオ生成開始時刻ｔｅにおいて、ビデオ残サイズ演算部３３が出力するビデオ残サイズＳｒｖは、このビデオアクセスユニットＡＵｖ０のビデオ発生サイズＳｖ０となる。これにより、ビデオパケット生成部３２においてＴＳパケットの生成が開始される。また、ビデオ残サイズ演算部３３は、ビデオパケット生成部３２でＴＳパケットに格納した送出データの送出サイズＳｔｖを減算する。【０１３１】
本実施の形態における多重化装置はこのような処理を行っており、これによって、図２に示すようにビデオ残サイズＳｒｖは、ビデオ生成開始時刻ｔｅを先頭としてビデオフレーム周期Ｔｆｒごとに、ビデオ発生サイズＳｖだけ増加するとともに、送出サイズＳｔｖずつ送出データが送出されるのに追従して減少する。ビデオ残サイズ演算部３３は、このようなビデオ残サイズＳｒｖをビデオ残サイズ情報Ｄ（Ｓｒｖ）としてビデオパケット生成部３２に通知する。【０１３２】
図２におけるオーディオフレームは、多重化装置におけるオーディオに関する処理の時間単位を示している。図２で示すようなオーディオフレーム周期Ｔａｆｒを周期とし、このようなオーディオフレーム単位でオーディオに関する処理が実行される。【０１３３】
ＰＴＳａ情報は、オーディオの各アクセスユニットに対応させたＰＴＳ情報の値を示している。タイムスタンプ生成部５７は、最初のオーディオＡＵ先頭通知信号ＡＵＨａを受け取ると、図２に示すようなビデオデコード開始時刻ｔｄよりもビデオフレーム周期Ｔｆｒだけ遅れた時刻、すなわち時刻（ｔｄ＋Ｔｆｒ）をオーディオデコード開始時刻とし、さらに、このオーディオデコード開始時刻に等しいオーディオ提示開始時刻をオーディオ先頭ＰＴＳａとしたＰＴＳａ情報をＰＥＳａヘッダ生成部４４に通知する。【０１３４】
なお、オーディオのデコード処理においては、処理に要する遅延時間がわずかであるため、オーディオにおいて実際のデコード開始の時刻と提示の時刻はほぼ等しい。このため、以下オーディオの提示時刻を示すＰＴＳをＰＴＳａとして説明するが、オーディオのデコード時刻を示すＤＴＳであってもよい。さらに、タイムスタンプ生成部５７は、図２に示すように、オーディオ提示開始時刻よりもオーディオフレーム周期Ｔａｆｒずつ遅れた時刻を順次ＰＴＳａ情報としてＰＥＳａヘッダ生成部４４に通知する。【０１３５】
次に、オーディオエンコーダ２１から出力されるオーディオエレメンタリストリームＥＳａのタイミングについて説明する。オーディオエンコーダ２１からは、図２に示すように、オーディオフレームごとに固定ビット長であるオーディオ符号化データが出力される。これらアクセスユニットごとのオーディオ符号化データによりオーディオエレメンタリストリームＥＳａが構成される。図２では、ｋ番目のオーディオフレームにおいて、オーディオエンコーダ２１から、アクセスユニットＡＵａｋのオーディオ符号化データａｋが出力される例を示している。【０１３６】
次に、オーディオパケット生成部４２で生成するオーディオパケッタイズドエレメンタリストリームＰＥＳａのタイミングについて説明する。オーディオパケット生成部４２は、図２に示すように、ＰＥＳａヘッダ生成部４４で生成したアクセスユニットごとのオーディオＰＥＳのヘッダデータとアクセスユニットごとのオーディオ符号化データとを順次時系列的に組み合すことによりオーディオパケッタイズドエレメンタリストリームＰＥＳａを生成している。【０１３７】
また、オーディオに関しては、図２に示すように、システム時刻ＳＴＣにおいて、オーディオ生成開始時刻ｔａｅに、オーディオパケッタイズドエレメンタリストリームＰＥＳａの生成が開始される。なお、オーディオエンコーダ２１からオーディオバッファ４１に対しても、規定されたオーディオの最大ビットレートに比べて、さらに高速なビットレートでオーディオ符号化データが供給される。一方、オーディオパケット生成部４２においては、オーディオの最大ビットレートに対応した処理速度でオーディオパケッタイズドエレメンタリストリームＰＥＳａの生成処理が行われる。このため、オーディオエレメンタリストリームＥＳａに示す例えばオーディオ符号化データａ０とオーディオパケッタイズドエレメンタリストリームＰＥＳａに示すオーディオ符号化データａ０とのように同じデータサイズであっても、オーディオエレメンタリストリームＥＳａの転送時間に比べて、オーディオパケッタイズドエレメンタリストリームＰＥＳａの転送時間の方が長くなっている。【０１３８】
また、ＰＥＳａヘッダ生成部４４で生成したＰＥＳａヘッダデータには、タイムスタンプ情報が含まれる。このようなタイムスタンプ情報として、オーディオ生成開始時刻ｔａｅよりもオーディオフレーム周期Ｔａｆｒだけ遅れた時刻であるオーディオ提示開始時刻、及びオーディオ提示開始時刻よりも順次オーディオフレーム周期Ｔａｆｒずつ遅れた時刻とするようなオーディオ提示時刻情報であるＰＴＳａ情報が、それぞれのＰＥＳａヘッダに格納される。【０１３９】
例えば、図２において、オーディオ生成開始時刻ｔａｅ直後に生成される最初のＰＥＳａヘッダには、オーディオ提示開始時刻を示すオーディオ先頭ＰＴＳａ値のＰＴＳａ０が格納され、次のＰＥＳａヘッダには、オーディオ提示開始時刻よりもオーディオフレーム周期Ｔａｆｒだけ遅れた時刻を示すＰＴＳａ値のＰＴＳａ１が格納される。【０１４０】
次に、オーディオ残サイズ演算部４３により算出されたオーディオ残サイズＳｒａについて説明する。図２に示す記録指示信号が出力された時刻からオーディオ生成開始時刻ｔａｅまでの期間において、オーディオバッファ４１にはあらかじめいくらかのオーディオフレーム分のオーディオ符号化データが記憶される。【０１４１】
この後、オーディオ生成開始時刻ｔａｅになると、オーディオ残サイズ演算部４３におけるオーディオアクセスユニットごとのオーディオ発生サイズＳａの加算が開始され、オーディオ残サイズ演算部４３がオーディオパケット生成部４２に通知するオーディオ残サイズＳｒａがオーディオ発生サイズＳａだけ増加する。これにより、オーディオパケット生成部４２においてＴＳパケットの生成が開始される。また、オーディオ残サイズ演算部４３は、オーディオパケット生成部４２でＴＳパケットに格納した送出データの送出サイズＳｔａを減算する。【０１４２】
本実施の形態における多重化装置はこのような処理を行っており、これによって、図２に示すように、オーディオ残サイズＳｒａは、オーディオフレーム周期Ｔａｆｒごとにオーディオ発生サイズＳａだけ増加するとともに、送出サイズＳｔａずつ送出データが送出されるのに追従して減少する。オーディオ残サイズ演算部４３は、このようなオーディオ残サイズＳｒａをオーディオ残サイズ情報Ｄ（Ｓｒａ）としてオーディオパケット生成部４２に通知する。【０１４３】
次に、本実施の形態の多重化装置における多重化パターン信号Ｐのタイミングについて説明する。【０１４４】
図３は、本実施の形態１における多重化装置の多重化パターン信号Ｐの一例を示すタイミングチャートである。上述したように、多重化パターンは、ビデオ、オーディオ及びシステムとしてトランスポートストリームＴＳに多重化するデータ種別の順序や組み合せなどの割り当てを示すパターンである。本実施の形態では、このような多重化パターンの一例として、多重化パターンが、ビデオエレメンタリストリームＥＳｖに対応したビデオ期間とオーディオエレメンタリストリームＥＳａに対応したオーディオ期間とで構成され、ビデオ期間とオーディオ期間との比率がＮｖ対Ｎａで周期的に繰り返すようなパターンとしている。【０１４５】
図３では、ＴＳパケット周期の（Ｎｖ＋Ｎａ）倍の期間となる（Ｎｖ＋Ｎａ）ＴＳパケット周期の期間において、ビデオ期間がＴＳパケット周期の（Ｎｖ）倍の期間となる（Ｎｖ）ＴＳパケット周期の期間であり、オーディオ期間がＴＳパケット周期の（Ｎａ）倍の期間となる（Ｎａ）ＴＳパケット周期の期間である例を示している。さらに、本実施の形態では、このオーディオ期間が、オーディオエレメンタリストリームＥＳａに対応したオーディオ送出期間とシステムデータに対応したシステム期間とで構成され、オーディオ送出期間とシステム期間との比率がＭａ対Ｍｓで周期的に繰り返すようなパターンとしている。図３では、（Ｍａ＋Ｍｓ）回において、オーディオ送出期間がＭａ回割り当てられ、システム期間がＭｓ回割り当てられる。【０１４６】
なお、詳細については以下で説明するが、Ｎｖ対Ｎａとするビデオ期間とオーディオ期間との比率は、概略次のようにして求める。以下、このような比率を求めるための一例を説明する。すなわち、まず、このような比率を求めるため、例えば、トランスポートストリームＴＳの送出ビットレートをＲｘ（ｂｐｓ）、ビデオエレメンタリストリームＥＳｖの最大ビットレートをＲｖ（ｂｐｓ）と設定するような構成を想定する。さらに、トランスポートストリームＴＳによるビデオエレメンタリストリームＥＳｖの送出において、最大ビットレートであるＲｖ（ｂｐｓ）よりもさらに送出に余裕を持たせた帯域にするとともに、オーディオエレメンタリストリームＥＳａ、システムデータ、ＰＥＳヘッダも送出可能とするような帯域が確保できる比率を求める。【０１４７】
例えば、このように想定したビットレートにおいて、ビデオ期間とオーディオ期間との比率を（Ｎｖ−１）対Ｎａとした場合、ビデオ期間の帯域は低下し、送出の余裕がなくなる。また、ビデオ期間とオーディオ期間との比率を（Ｎｖ＋１）対Ｎａとした場合、逆に、オーディオエレメンタリストリームＥＳａ、システムデータ、ＰＥＳヘッダなどの送出に余裕がなくなる。【０１４８】
このため、ＴＳパケットビデオ期間とオーディオ期間との比率を上記の間をとってＮｖ対Ｎａとすることで、ＴＳパケットヘッダによるロスを考慮して、ビデオ期間の帯域を、Ｒｘ（ｂｐｓ）×（１８４バイト／１８８バイト）×（Ｎｖ／（Ｎｖ＋Ｎａ））分確保し、オーディオ期間の帯域を、Ｒｘ（ｂｐｓ）×（１８４バイト／１８８バイト）×（Ｎａ／（Ｎｖ＋Ｎａ））分確保できる。なお、１８８バイトは、ＴＳパケットのバイト長であり、１８４バイトは、４バイトのＴＳパケットヘッダを除いたペイロードのバイト長である。【０１４９】
図３において、多重化パターン生成部５６が生成する多重化パターン信号Ｐの多重化パターンは、“Ｖ”で示すビデオ期間と“Ａ”及び“Ｓ”で示すオーディオ期間とで構成され、ビデオ期間とオーディオ期間との比率がＮｖ対Ｎａで周期的に繰り返すようなパターンである。この多重化パターンの基本単位はＴＳパケット周期であり、図３に示すように、多重化パターンは、（Ｎｖ）ＴＳパケット周期のビデオ期間と（Ｎａ）ＴＳパケット周期のオーディオ期間とを組み合せ、このような（Ｎｖ＋Ｎａ）ＴＳパケット周期分の組み合せを繰り返すパターンである。さらに、図３に示すように、多重化パターンは、各オーディオ期間において、“Ａ”で示すオーディオ送出期間と“Ｓ”で示すシステム期間との比率がＭａ対Ｍｓで周期的に繰り返すようなパターンである。【０１５０】
図３には、多重化パターンのビデオ“Ｖ”の期間に対応して、多重化パターン生成部５６からビデオパケット生成部３２に通知される多重化パターン信号Ｐに含まれるビデオパターン信号Ｐｖのタイミングを示している。また、図３には、多重化パターンのオーディオ“Ａ”の期間に対応して、多重化パターン生成部５６からオーディオパケット生成部４２に通知される多重化パターン信号Ｐに含まれるオーディオパターン信号Ｐａのタイミングを示している。さらに、図３には、多重化パターンのシステム“Ｓ”の期間に対応して、多重化パターン生成部５６からシステムパケット生成部４９に通知される多重化パターン信号Ｐに含まれるシステムパターン信号Ｐｓのタイミングを示している。【０１５１】
本実施の形態の多重化装置は、図３に示すような多重化パターンに従い、ビデオパケット生成部３２は、ビデオ残サイズＳｒｖが十分であるとき、ビデオパターン信号Ｐｖのタイミングでビデオ符号化データを格納したＴＳパケットを生成する。また、オーディオパケット生成部４２は、オーディオ残サイズＳｒａが十分であるとき、オーディオパターン信号Ｐａのタイミングでオーディオ符号化データを格納したＴＳパケットを生成する。さらに、システムパケット生成部４９は、システムパターン信号Ｐｓのタイミングでシステムデータを格納したＴＳパケットを生成する。そして、ビデオ残サイズＳｒｖ及びオーディオ残サイズＳｒａが十分であるとき、いずれかのパケット生成部で生成されたＴＳパケットが順番に多重化部５１に供給され、多重化部５１によって、多重化パターンに従って多重化されたトランスポートストリームＴＳが生成される。【０１５２】
なお、以上、Ｎｖ対Ｎａとなるようなビデオ期間とオーディオ期間との比率について概略を説明したが、詳細には、例えば、次のようにして、このような比率を設定する。以下、多重化パターン設定の詳細について、トランスポートストリームＴＳの送出ビットレートをＲｘ（ｂｐｓ）、ビデオエレメンタリストリームＥＳｖの最大ビットレートをＲｖ（ｂｐｓ）と設定する例を挙げて説明する。【０１５３】
この例では、ビデオエレメンタリストリームＥＳｖ自体の最大ビットレートをＲｖ（ｂｐｓ）と設定しており、このアクセスユニットごとのビデオ符号化データをＰＥＳパケットに格納し、このＰＥＳパケットをＴＳパケットにアライメントするためには、ＰＥＳパケットヘッダとスタッフィングとが付加される。ここで、ＰＥＳパケットヘッダはＰＴＳとＤＴＳだけからなる１９バイトとし、スタッフィングは最大１８３バイトとする。また、ビデオフレーム数は毎秒３０フレームである。また、ビデオ符号化データを含むＴＳパケットを転送するトランスポートストリームＴＳに要求される送出ビットレートは、ビデオ符号化データ自体の最大ビットレートにパケット化のオーバーヘッドを加えた値である。よって、要求される送出ビットレートは、ビデオ符号化データ自体のビットレート＋（ＰＥＳパケットヘッダサイズ＋スタッフィングサイズ）×フレーム数＝Ｒｖ（ｂｐｓ）＋（１９バイト＋１８３バイト）×３０フレームとなる。このとき、確保可能なビデオの最大送出ビットレートがこの要求される最大ビットレートよりも大きいとき、デコーダ側のビデオバッファがアンダーフローすることはない。【０１５４】
また、図３に示すように、システムデータ用のＴＳパケットを送出するための帯域を確保するため、オーディオ期間は、オーディオ送出期間とシステム期間とがＭａ対Ｍｓとなるような比率で周期的に繰り返すパターンとしている。この比率を、例えば、オーディオ符号化データに対応させた比率としてもよい。さらに、ＬＰＣＭ  ２チャンネル／１６ｂｉｔ符号化データのようなオーディオビットレートの場合には、オーディオ送出期間とシステム期間との比率Ｍａ対Ｍｓをオーディオビットレートに対応させた比率で周期的に繰り返すような多重化パターンとしてもよい。【０１５５】
このようなオーディオ期間におけるオーディオ送出期間では、トランスポートストリームＴＳの送出ビットレートをＲｘ（ｂｐｓ）とし、比率Ｍａ対Ｍｓで送出する場合、ＴＳパケットのサイズが１８８バイトであるから、（Ｒｘ（ｂｐｓ）／１８８バイト）×（Ｎａ／（Ｎｖ＋Ｎａ））×（Ｍａ／（Ｍａ＋Ｍｓ））となるようなパケット数を確保することができる。【０１５６】
例えば、ＬＰＣＭ符号化では、オーディオフレームごとにオーディオデータヘッダを付加したものをＰＥＳパケットに格納し、ＰＥＳパケットをＴＳパケットにアライメントする必要がある。ＰＥＳパケットのヘッダをＰＴＳデータだけからなる１４バイトとすると、ＴＳパケットのペイロードサイズは１８４バイトであるから、１オーディオフレームのオーディオ符号化データを格納するのに必要となるＴＳパケット数は、１オーディオフレームあたりの総サイズ／ＴＳパケットペイロードサイズ＝（１オーディオフレームあたりのオーディオデータサイズ＋ヘッダによるオーバーヘッド）／ＴＳパケットペイロードサイズ＝（１６ビット×２チャンネル×２４０サンプリング＋１４バイト＋４バイト）／１８４バイト＝５．３１、すなわち、切り上げで６パケットになる。また、１秒あたりのオーディオフレーム数を２００とすると、必要となる最大ＴＳパケット数は“６×２００＝１２００”となり、上記確保可能なパケット数よりも小さくなるとき、受信機側のオーディオバッファがアンダーフローすることはない。【０１５７】
次に、システムデータを送出するシステム期間の詳細について説明する。図４は、本実施の形態１における多重化装置のシステムデータ送出のタイミングの一例を示すタイミングチャートである。図４において多重化パターンＡは、図３と同様の多重化パターンを示している。図４に示す多重化パターンＡでは、（Ｎｖ＋Ｎａ）ＴＳパケット周期分の組み合せ期間をＴｐｎとし、期間ＴｐｎのＬ１倍の期間をＴｌ１とし、期間Ｔｌ１のＬ２倍の期間をＴｌ２としている。【０１５８】
図４に示す多重化パターンＢは、Ｔｌ２のＬ３倍の期間であるＴｌ３を１ブロック周期として、システムデータであるＰＡＴ、ＰＭＴ及びＰＣＲを格納したＰＡＴ、ＰＭＴ及びＰＣＲパケットに対するパターンの割り当ての一例を示している。【０１５９】
また、図４に示す多重化パターンＣは、Ｔｌ３のＬ４倍の期間であるＴｌ４を１ブロック周期として、システムデータであるＳＩＴを格納したＳＩＴパケットに対するパターンの割り当てを示している。また、図４に示す多重化パターンＣにおいてＴｌ４のＬ５倍の期間をＴｌ５として設定している。以下、図４を参照しながらシステムデータを送出するシステム期間の詳細を説明する。【０１６０】
図３に示したように、システムデータの送出を確保するため、（Ｍａ＋Ｍｓ）オーディオ期間ごとにＭｓ回オーディオパケットの送出を休む。このように、多重化パターンは、各オーディオ期間において、“Ａ”で示すオーディオ送出期間と“Ｓ”で示すシステム期間との比率がＭａ対Ｍｓで周期的に繰り返すようなパターンであるため、図４の多重化パターンＡに示すように、システム期間は、期間Ｔｌ１とするような周期で繰り返される。【０１６１】
図４に示す多重化パターンＢは、このようなシステム期間が、システムデータの送出期間に対応したシステム送出期間と休止期間とで構成され、システム送出期間と休止期間との比率がＫｓ対Ｋｒで周期的に繰り返さるパターンとした一例を挙げている。すなわち、図４の多重化パターンＢに示すように、期間Ｔｌ１を１小ブロック周期としたとき、（Ｋｓ０＋Ｋｒ０）小ブロック周期に１回システム送出期間を設定している。さらに、図４の多重化パターンＢは、４小ブロック周期を１大ブロック周期としたとき、システム送出期間と休止期間との比率が（Ｋｓ１＋Ｋｒ１）で周期的に繰り返さるパターンとした一例を挙げている。すなわち、図４の多重化パターンＢに示すように、ＰＡＴパケット、ＰＭＴパケット及びＰＣＲパケットのいずれかのパケットは、３大ブロック周期、すなわち期間Ｔｌ３ごとに、交互に送出される。【０１６２】
このように、ＰＡＴ、ＰＭＴ及びＰＣＲパケットは、それぞれ期間Ｔｌ３ごとに１回、この順序で送出される。このようにすることで、ビデオＴＳパケットもオーディオＴＳパケットも送出されないタイミングに、ＰＡＴ、ＰＭＴ及びＰＣＲパケットを送出することができる。【０１６３】
また、システムデータであるＳＩＴは、図４の多重化パターンＢに示すように、期間Ｔｌ２のいずれかの休止期間を利用して送出するような構成が可能である。すなわち、例えば、図４の多重化パターンＣに示すように、Ｌ５回に１度の割合で、システム期間の休止期間においてＳＩＴパケットを送出すればよい。【０１６４】
次に、本実施の形態の多重化装置におけるビデオエレメンタリストリームＥＳｖの送出を開始するときの詳細なタイミング及び動作について説明する。【０１６５】
図５は、本実施の形態１における多重化装置のビデオ送出開始のタイミングを示すタイミングチャートである。以下、図５を参照しながら、本多重化装置のビデオ送出開始前後の詳細なタイミング及び動作について説明する。【０１６６】
図５において、ビデオフレームは、多重化装置におけるビデオに関する処理の時間単位を示している。システム時刻は、システム時刻生成部５５が生成する時刻、すなわちＳＴＣを示している。ＤＴＳｖ情報は、ビデオの各アクセスユニットに対応させたＤＴＳ情報の値を示している。【０１６７】
また、図５では、ビデオエンコーダ１１から出力されるビデオエレメンタリストリームＥＳｖのタイミング、ビデオバッファ３１に記憶されるビデオ符号化データの実際の蓄積サイズ、及びビデオ残サイズ演算部３３により算出されたビデオ残サイズＳｒｖの様子を示している。【０１６８】
さらに、図５では、ビデオパケット生成部３２で生成するビデオパケッタイズドエレメンタリストリームＰＥＳｖのタイミング、オーディオパケット生成部４２で生成するオーディオパケッタイズドエレメンタリストリームＰＥＳａのタイミング、及び多重化部５１から送出されるトランスポートストリームＴＳのタイミングを示している。【０１６９】
まず、図２で説明したように、記録指示信号に応答して、ビデオエンコーダ１１は圧縮符号化処理を開始する。この後、ビデオエンコーダ１１で生成されたビデオ符号化データがアクセスユニット単位でビデオバッファ３１に供給される。ビデオフレームｆｒ０において、ビデオエンコーダ１１で生成されたアクセスユニット単位のビデオ符号化データｖ０がビデオバッファ３１に供給される。図５では、ビデオフレームｆｒ０において、Ｉ−ピクチャのような符号化データ量の多いビデオ符号化データｖ０が発生したような一例を挙げている。このビデオ符号化データｖ０などビデオエンコーダ１１から出力されるビデオ符号化データは、規定されたビデオの最大ビットレートよりも高速なビットレートで、ビデオエンコーダ１１からビデオバッファ３１に供給される。このため、図５に示すように、ビデオバッファ３１には、ビデオエンコーダ１１の送出ビットレートに応じた速度でビデオ符号化データが蓄積される。【０１７０】
また、図５では、ビデオフレームｆｒ１における所定のタイミングで、ビデオ生成開始時刻ｔｅが設定された一例を挙げている。すなわち、制御部５９からビデオ残サイズ演算部３３に対してビデオ生成開始時刻情報Ｄ（ｔｅ）が通知されているため、ビデオ残サイズ演算部３３は、ＳＴＣを監視しながらこのＳＴＣがビデオ生成開始時刻情報Ｄ（ｔｅ）と等しくなる時刻、すなわちビデオ生成開始時刻ｔｅになると、ビデオユニットサイズ計測部１２からビデオ発生サイズ情報Ｄ（Ｓｖ０）を取り込み、ビデオ残サイズＳｒｖに取り込んだビデオ発生サイズＳｖ０を加算する。【０１７１】
このため、図５に示すように、ビデオ生成開始時刻ｔｅにおいて、ビデオ残サイズＳｒｖは、０であるビデオ発生サイズからビデオ発生サイズＳｖ０分増加する。これとともに、ビデオ残サイズ演算部３３は、ビデオパケット生成部３２に対して、ビデオ残サイズ情報Ｄ（Ｓｒｖ）の通知を開始する。このようなビデオ生成開始時刻ｔｅにおいては、ビデオ残サイズは十分にあるため、ビデオパケット生成部３２は、ビデオ符号化データを格納したＴＳパケット（ビデオＴＳパケット）の生成を開始する。【０１７２】
また、ビデオ残サイズ演算部３３は、ビデオ生成開始時刻ｔｅになると、タイムスタンプ生成部５７に対し、最初のビデオＡＵ先頭通知信号ＡＵＨｖを通知する。このため、タイムスタンプ生成部５７は、ビデオデコード開始時刻ｔｄの値とする先頭ＤＴＳとしてのＤＴＳｖ０情報をＰＥＳｖヘッダ生成部３４に通知する。【０１７３】
このようにして、ビデオ生成開始時刻ｔｅになると、ビデオパケット生成部３２は、ビデオ符号化データを格納したＴＳパケットの生成を開始するにあたり、まず、最初に生成するＴＳパケットとして、ＤＴＳｖ０情報を格納したＰＥＳｖヘッダのデータをＰＥＳｖヘッダ生成部３４から取り込む。そして、ビデオパケット生成部３２は、ＴＳパケットのデータ格納領域であるペイロードにこのＰＥＳｖヘッダのデータを格納するとともに、ペイロードの残りの領域に先頭のビデオ符号化データを格納し、これらのデータを格納した先頭のＴＳパケットを生成する。すなわち、ビデオバッファ３１には、ビデオフレームｆｒ０において生成されたビデオ符号化データから記憶されているため、先頭のＴＳパケットには、ビデオ符号化データｖ０の先頭データが格納される。【０１７４】
また、ビデオパケット生成部３２は、このような先頭のＴＳパケットを生成した後、ビデオ残サイズ演算部３３に対して、ＴＳパケットに格納したビデオ符号化データのサイズである送出サイズＳｔｖを示す送出サイズ情報Ｄ（Ｓｔｖ）を通知する。すなわち、このように先頭のＴＳパケットを生成する場合、ペイロードの残りの領域に格納したサイズが送出サイズ情報Ｄ（Ｓｔｖ）としてビデオ残サイズ演算部３３に通知される。また、ビデオ生成開始時刻ｔｅにおいて、多重化パターン信号Ｐで示される種別がビデオではないとき、ビデオパケット生成部３２は、多重化パターン信号Ｐで示される種別がビデオとなった時点で、上述のような先頭のＴＳパケットの生成を開始する。【０１７５】
ビデオパケット生成部３２が先頭のＴＳパケットを生成した後、ビデオ残サイズＳｒｖが十分であり、かつ多重化パターン信号Ｐで示される種別がビデオである期間において、順次ビデオ符号化データを格納したＴＳパケットが生成される。このため、図５に示すように、ビデオ残サイズＳｒｖは、ビデオ符号化データを格納したＴＳパケットを生成するたびに、その送出サイズＳｔｖずつ減少していく。【０１７６】
次に、ビデオフレームｆｒ１において、ビデオエンコーダ１１で生成されたアクセスユニット単位のビデオ符号化データｖ１がビデオバッファ３１に供給される。図５では、ビデオフレームｆｒ１において、Ｂ−ピクチャやＰ−ピクチャのような符号化データ量の少ないビデオ符号化データｖ１が発生したような一例を挙げている。このビデオ符号化データｖ１は、ビデオエンコーダ１１からビデオバッファ３１に供給される。このため、図５に示すように、ビデオバッファ３１には、ビデオエンコーダ１１の送出ビットレートに応じた速度でビデオ符号化データｖ０が蓄積されるとともに、ビデオバッファ３１が記憶する古いビデオ符号化データから順に、ビデオパケット生成部３２により取り込まれ、取り込まれたビデオバッファ３１内のビデオ符号化データが削除される。【０１７７】
また、ビデオ残サイズ演算部３３は、ＳＴＣを監視しながらこのＳＴＣがビデオ生成開始時刻ｔｅよりもビデオフレーム周期Ｔｆｒだけ遅れた時刻になると、ビデオユニットサイズ計測部１２から次のビデオ発生サイズ情報Ｄ（Ｓｖ１）を取り込み、ビデオ残サイズＳｒｖに取り込んだビデオ発生サイズＳｖ１を加算する。このため、図５に示すように、時刻ｔｅ＋Ｔｆｒにおいて、ビデオ残サイズＳｒｖは、ビデオ発生サイズＳｖ１分だけ増加する。【０１７８】
また、ビデオ残サイズ演算部３３は、最初のアクセスユニット単位のビデオ符号化データが最後であることを検出すると、タイムスタンプ生成部５７に対し、次のビデオＡＵ先頭通知信号ＡＵＨｖを通知する。このため、タイムスタンプ生成部５７は、次のＤＴＳであるＤＴＳｖ１情報をＰＥＳｖヘッダ生成部３４に通知する。このとき、ＤＴＳｖ１情報は、ＤＴＳｖ０よりもビデオフレーム周期Ｔｆｒだけ遅れた時刻、すなわち時刻ｔｄ＋Ｔｆｒとする情報である。【０１７９】
ビデオパケット生成部３２は、次のアクセスユニットのビデオ符号化データを格納するＴＳパケットを生成するにあたり、ＤＴＳｖ１情報を格納したＰＥＳｖヘッダのデータをＰＥＳｖヘッダ生成部３４から取り込み、ＴＳパケットのデータ格納領域であるペイロードにこのＰＥＳｖヘッダのデータを格納するとともに、ペイロードの残りの領域に先頭のビデオ符号化データｖ１を格納し、これらのデータを格納した先頭のＴＳパケットを生成する。【０１８０】
以上のように、各ビデオフレームｆｒにおいて、ビデオ残サイズ演算部３３によりビデオ残サイズＳｒｖが演算されるとともに、ビデオパケット生成部３２は、ビデオ残サイズ情報Ｄ（Ｓｒｖ）、及び多重化パターン信号Ｐの多重化パターンに従って、ＰＥＳｖヘッダデータやビデオ符号化データを格納したＴＳパケットを生成する。【０１８１】
また、本実施の形態の多重化装置は、トランスポートストリームＴＳを送出するにあたり、図５に示すようなスタートアップディレイ時間Ｔｓｕや補正時間Ｔｓｃを設けている。すなわち、図５に示すように、スタートアップディレイ時間Ｔｓｕを、ＶＢＶディレイ（ＶＢＶ  ｄｅｌａｙ）時間とした場合、このＶＢＶディレイ時間は、ビデオデコード処理のビットレートでの理想的な条件に基づき設定されているため、例えば、多重化処理による遅延時間などは考慮されていない。このようなＶＢＶディレイ時間は、ＭＰＥＧシステムにおいて定義されるシステムターゲットデコーダ（ＳＴＤ：Ｓｙｓｔｅｍ  Ｔａｒｇｅｔ  Ｄｅｃｏｄｅｒ）と呼ばれるデコーダ側のバッファを含む復号器のモデルにおいて規定された時間であり、ビデオデコード処理のビットレートでデコーダ側のＶＢＶバッファと呼ばれるバッファを一杯にするのに必要な時間である。一方、本実施の形態の多重化装置は、ビデオパケット生成部３２や多重化部５１の処理に要する遅延時間があるとともに、多重化パターンに基づいてデータの送出を行っている。そのため、ビデオ符号化データの送出において、オーディオ期間は送出が停止することとなり、このようなオーディオ期間による送出ロスも含んでいる。【０１８２】
このため、本実施の形態における多重化装置では、このような多重化処理による遅延時間などの送出ロスを補償するため、ＶＢＶディレイ時間よりも、図５に示すような補正時間Ｔｓｃだけ前方向の時刻であるビデオ送出開始時刻ｔｓを設けている。すなわち、理想的なＶＢＶディレイ時間よりも、さらに、上述したような遅延時間だけ早くデータを送出することにより、上述のような送出ロスを補償している。すなわち、本実施の形態における多重化装置では、図５に示すように、このようなビデオ送出開始時刻ｔｓをビデオ生成開始時刻ｔｅとし、ビデオ生成開始時刻ｔｅからＶＢＶディレイ時間と多重化処理による最大の遅延時間である補正時間Ｔｓｃとを加算した時間であるスタートアップディレイ時間Ｔｓｕだけ遅れた時間をビデオ先頭ＤＴＳｖとしている。これによって、デコーダがＤＴＳに従ってデコードを開始する時刻までに、デコーダ側のバッファを一杯の状態にすることができる。【０１８３】
なお、図５のオーディオパケッタイズドエレメンタリストリームＰＥＳａに示すように、オーディオ符号化データに関しては、このようなトランスポートストリームＴＳの送出を開始する時間帯においては送出を開始しない。すなわち、オーディオに関するデコード処理は、ビデオに関するデコード処理に比べて、処理時間が短い。このようなオーディオとビデオとの処理時間の差による提示時刻のずれを補正するため、ビデオに比べてオーディオ符号化データの送出を遅らせている。このため、図５に示すように、トランスポートストリームＴＳでのオーディオ送出期間においては、例えば、スタッフィングデータを格納したＴＳパケットを送出している。【０１８４】
次に、本実施の形態の多重化装置におけるオーディオエレメンタリストリームＥＳａの送出を開始するときの詳細なタイミング及び動作について説明する。【０１８５】
図６は、本実施の形態１における多重化装置のオーディオ送出開始のタイミングを示すタイミングチャートである。以下、図６を参照しながら、本多重化装置のオーディオ送出開始前後の詳細なタイミング及び動作について説明する。【０１８６】
図６において、ビデオフレームは、多重化装置におけるビデオに関する処理の時間単位を示している。また、図６では、ビデオエンコーダ１１から出力されるビデオエレメンタリストリームＥＳｖのタイミング、及びビデオパケット生成部３２で生成するビデオパケッタイズドエレメンタリストリームＰＥＳｖのタイミングを示している。【０１８７】
オーディオフレームは、多重化装置におけるオーディオに関する処理の時間単位を示している。システム時刻は、システム時刻生成部５５が生成する時刻、すなわちＳＴＣを示している。ＰＴＳａ情報は、オーディオの各アクセスユニットに対応させたＰＴＳ情報の値を示している。【０１８８】
さらに、図６では、オーディオエンコーダ２１から出力されるオーディオエレメンタリストリームＥＳａのタイミング、オーディオ残サイズ演算部４３により算出されたオーディオ残サイズＳｒａの様子、オーディオパケット生成部４２で生成するオーディオパケッタイズドエレメンタリストリームＰＥＳａのタイミング、及び多重化部５１から送出されるトランスポートストリームＴＳのタイミングを示している。【０１８９】
まず、図２で説明したように、記録指示信号に応答して、オーディオエンコーダ２１は圧縮符号化処理を開始する。この後、オーディオエンコーダ２１で生成されたオーディオ符号化データがアクセスユニット単位でオーディオバッファ４１に供給される。オーディオフレームａｆｒ０において、オーディオエンコーダ２１で生成されたアクセスユニット単位のオーディオ符号化データａ０がオーディオバッファ４１に供給される。このオーディオ符号化データａ０などオーディオエンコーダ２１から出力されるオーディオ符号化データは、規定されたオーディオの最大ビットレートよりも高速なビットレートで、オーディオエンコーダ２１からオーディオバッファ４１に供給される。このため、オーディオバッファ４１には、オーディオエンコーダ２１の送出ビットレートに応じた速度でオーディオ符号化データが蓄積される。このようにして、順次、オーディオ符号化データａ１、ａ２、ａ３が蓄積される。【０１９０】
また、図６では、オーディオフレームａｆｒ７における所定のタイミングで、オーディオ生成開始時刻ｔａｅが設定された一例を挙げている。このようなオーディオ生成開始時刻ｔａｅのタイミングは、図２に示したように、ビデオデコード開始時刻ｔｄよりビデオフレーム周期Ｔｆｒだけ遅れた時刻をオーディオ先頭ＰＴＳ時刻としたとき、このオーディオ先頭ＰＴＳ時刻よりもオーディオフレーム周期Ｔａｆｒだけ前に進んだ時刻としている。【０１９１】
すなわち、制御部５９からオーディオ残サイズ演算部４３に対してオーディオ生成開始時刻情報Ｄ（ｔａｅ）が通知されているため、オーディオ残サイズ演算部４３は、ＳＴＣを監視しながらこのＳＴＣがオーディオ生成開始時刻情報Ｄ（ｔａｅ）と等しくなる時刻、すなわちオーディオ生成開始時刻ｔａｅになると、オーディオユニットサイズ計測部２２から、先頭アクセスユニットとするオーディオ発生サイズ情報Ｄ（Ｓａ０）を取り込み、オーディオ残サイズＳｒａに取り込んだオーディオ発生サイズＳａ０を加算する。【０１９２】
このため、図６に示すように、オーディオ生成開始時刻ｔａｅにおいて、オーディオ残サイズＳｒａは、０であるオーディオ発生サイズからオーディオ発生サイズＳａ０分増加する。これとともに、オーディオ残サイズ演算部４３は、オーディオパケット生成部４２に対して、オーディオ残サイズ情報Ｄ（Ｓｒａ）の通知を開始する。このようなオーディオ生成開始時刻ｔａｅにおいては、オーディオ残サイズは十分にあるため、オーディオパケット生成部４２は、オーディオ符号化データを格納したＴＳパケット（オーディオＴＳパケット）の生成を開始する。【０１９３】
また、オーディオ残サイズ演算部４３は、オーディオ生成開始時刻ｔａｅになると、タイムスタンプ生成部５７に対し、最初のオーディオＡＵ先頭通知信号ＡＵＨａを通知する。このため、タイムスタンプ生成部５７は、オーディオ提示開始時刻ｔｄ＋Ｔｆｒの値とする先頭ＰＴＳとしてのＰＴＳａ０情報をＰＥＳａヘッダ生成部４４に通知する。【０１９４】
このようにして、オーディオ生成開始時刻ｔａｅになると、オーディオパケット生成部４２は、オーディオ符号化データを格納したＴＳパケットの生成を開始するにあたり、まず、最初に生成するＴＳパケットとして、ＰＴＳａ０情報を格納したＰＥＳａヘッダのデータをＰＥＳａヘッダ生成部４４から取り込む。そして、オーディオパケット生成部４２は、ＴＳパケットのデータ格納領域であるペイロードにこのＰＥＳａヘッダのデータを格納するとともに、ペイロードの残りの領域に先頭のオーディオ符号化データを格納し、これらのデータを格納した先頭のＴＳパケットを生成する。なお、オーディオバッファ４１には、オーディオフレームａｆｒ０において生成されたオーディオ符号化データが記憶されているため、先頭のＴＳパケットには、オーディオ符号化データａ０の先頭データが格納される。【０１９５】
また、オーディオパケット生成部４２は、このような先頭のＴＳパケットを生成した後、オーディオ残サイズ演算部４３に対して、ＴＳパケットに格納したオーディオ符号化データのサイズである送出サイズＳｔａを示す送出サイズ情報Ｄ（Ｓｔａ）を通知する。すなわち、このように先頭のＴＳパケットを生成する場合、ペイロードの残りの領域に格納したサイズが送出サイズ情報Ｄ（Ｓｔａ）としてオーディオ残サイズ演算部４３に通知される。また、オーディオ生成開始時刻ｔａｅにおいて、多重化パターン信号Ｐで示される種別がオーディオではないとき、オーディオパケット生成部４２は、多重化パターン信号Ｐで示される種別がオーディオとなった時点で、上述のような先頭のＴＳパケットの生成を開始する。【０１９６】
オーディオパケット生成部４２が先頭のＴＳパケットを生成した後、オーディオ残サイズＳｒａが十分であり、かつ多重化パターン信号Ｐで示される種別がオーディオである期間において、順次オーディオ符号化データを格納したＴＳパケットが生成される。このため、図６に示すように、オーディオ残サイズＳｒａは、オーディオ符号化データを格納したＴＳパケットを生成するたびに、その送出サイズＳｔａずつ減少していく。【０１９７】
次に、オーディオフレームａｆｒ１において、オーディオエンコーダ２１で生成されたアクセスユニット単位のオーディオ符号化データａ１がオーディオバッファ４１に供給される。このオーディオ符号化データａ１は、オーディオエンコーダ２１からオーディオバッファ４１に供給される。このため、オーディオバッファ４１には、オーディオエンコーダ２１の送出ビットレートに応じた速度でオーディオ符号化データａ１が蓄積されるとともに、オーディオバッファ４１が記憶する古いオーディオ符号化データから順に、オーディオパケット生成部４２により取り込まれ、取り込まれたオーディオバッファ４１内のオーディオ符号化データが削除される。【０１９８】
また、オーディオ残サイズ演算部４３は、ＳＴＣを監視しながらこのＳＴＣがオーディオ生成開始時刻ｔａｅよりもオーディオフレーム周期Ｔａｆｒだけ遅れた時刻になると、オーディオユニットサイズ計測部２２から次のオーディオ発生サイズ情報Ｄ（Ｓａ１）を取り込み、オーディオ残サイズＳｒａに取り込んだオーディオ発生サイズＳａ１を加算する。このため、図６に示すように、時刻ｔａｅ＋Ｔａｆｒにおいて、オーディオ残サイズＳｒａは、オーディオ発生サイズＳａ１分だけ増加する。【０１９９】
また、オーディオ残サイズ演算部４３は、最初のアクセスユニット単位のオーディオ符号化データが最後であることを検出すると、タイムスタンプ生成部５７に対し、次のオーディオＡＵ先頭通知信号ＡＵＨａを通知する。このため、タイムスタンプ生成部５７は、次のＰＴＳであるＰＴＳａ１情報をＰＥＳｖヘッダ生成部３４に通知する。このとき、ＰＴＳａ１情報は、ＰＴＳａ０よりもオーディオフレーム周期Ｔａｆｒだけ遅れた時刻、すなわち時刻ｔｄ＋Ｔｆｒ＋Ｔａｆｒとする情報である。【０２００】
オーディオパケット生成部４２は、次のアクセスユニットのオーディオ符号化データを格納するＴＳパケットを生成するにあたり、ＰＴＳａ１情報を格納したＰＥＳａヘッダのデータをＰＥＳａヘッダ生成部４４から取り込み、ＴＳパケットのデータ格納領域であるペイロードにこのＰＥＳａヘッダのデータを格納するとともに、ペイロードの残りの領域に先頭のオーディオ符号化データａ１を格納し、これらのデータを格納した先頭のＴＳパケットを生成する。【０２０１】
以上のように、各オーディオフレームａｆｒにおいて、オーディオ残サイズ演算部４３によりオーディオ残サイズＳｒａが演算されるとともに、オーディオパケット生成部４２は、オーディオ残サイズ情報Ｄ（Ｓｒａ）、及び多重化パターン信号Ｐの多重化パターンに従って、ＰＥＳａヘッダデータやオーディオ符号化データを格納したＴＳパケットを生成する。【０２０２】
なお、ビデオ符号化データは可変長符号化データであるのに対して、オーディオ符号化データは固定長符号化データである。このため、例えば、図２のように、ビデオ残サイズ演算部３３のビデオ残サイズＳｒｖがビデオフレームごとに変化するのに対して、オーディオ残サイズ演算部４３のオーディオ残サイズＳｒａは、送出を開始した後、オーディオフレームごとに同一の変化をする。【０２０３】
このようにして、オーディオ生成開始時刻ｔａｅにおいて、上述したように、オーディオパケット生成部４２が、オーディオ残サイズ情報Ｄ（Ｓｒａ）、及び多重化パターン信号Ｐの多重化パターンに従って、ＰＥＳａヘッダデータやオーディオ符号化データを格納したＴＳパケットの生成を開始する。オーディオパケット生成部４２が生成したＴＳパケットは、図６に示すように、多重化パターンのオーディオ送出期間において、トランスポートストリームＴＳに多重化される。【０２０４】
次に、本実施の形態の多重化装置におけるビデオエレメンタリストリームＥＳｖの送出においてビデオ残サイズがなくなった場合の詳細なタイミング及び動作について説明する。【０２０５】
図７は、本実施の形態１における多重化装置のビデオ残サイズがなくなった場合のタイミングを示すタイミングチャートである。以下、図７を参照しながら、本実施の形態における多重化装置のビデオ送出においてビデオ残サイズがなくなった場合の詳細なタイミング及び動作について説明する。【０２０６】
図７において、ビデオフレームは、多重化装置におけるビデオに関する処理の時間単位を示している。また、図７では、ビデオエンコーダ１１から出力されるビデオエレメンタリストリームＥＳｖのタイミング、ビデオバッファ３１に記憶されるビデオ符号化データの実際の蓄積サイズ、及びビデオ残サイズ演算部３３により算出されたビデオ残サイズＳｒｖの様子を示している。さらに、図７では、ビデオパケット生成部３２で生成するビデオパケッタイズドエレメンタリストリームＰＥＳｖのタイミング、オーディオパケット生成部４２で生成するオーディオパケッタイズドエレメンタリストリームＰＥＳａのタイミング、及び多重化部５１から送出されるトランスポートストリームＴＳのタイミングを示している。【０２０７】
本実施の形態の多重化装置は、ビデオエンコーダ１１により可変ビット長のビデオ符号化データが生成される。そのため、例えば、静止した画像が継続するような場合、Ｂ−ピクチャやＰ−ピクチャのビデオ符号化データサイズが減少する。このようなデータサイズの小さいビデオ符号化データがアクセスユニットごとに発生すると、ビデオバッファ３１に対するビデオ符号化データの供給量よりも、ビデオバッファ３１からの取り込み量のほうが多くなるため、例えば、ビデオバッファ３１が空となるような状況が発生する。図７は、このような状況を想定したタイミングチャートである。【０２０８】
図７のビデオエレメンタリストリームＥＳｖに示すように、アクセスユニットごとのデータサイズが小さいビデオ符号化データｖｎ、ｖｎ＋１、ｖｎ＋２が継続すると、ビデオバッファ３１に蓄積するビデオ符号化データサイズが時間の経過とともに減少する。また、ビデオ残サイズ演算部３３におけるビデオ残サイズＳｒｖも減少していくこととなり、図７のビデオフレームｆｒｎ＋３期間のように、ビデオ残サイズＳｒｖが０や送出サイズＳｔｖ以下となるような状況が発生する。【０２０９】
本実施の形態の多重化装置は、このようにビデオ残サイズＳｒｖが送出サイズＳｔｖ以下となる場合、図７に示すように、ビデオパケッタイズドエレメンタリストリームＰＥＳｖの生成を休止する休止期間を設けたことを特徴としている。【０２１０】
図７において、例えば、ビデオフレームｆｒｎのとき、ビデオ残サイズ演算部３３は、ＳＴＣ時刻がｔｅ＋ｎ×Ｔｆｒになると、ビデオユニットサイズ計測部１２からビデオ発生サイズ情報Ｄ（Ｓｖｎ）を取り込み、ビデオ残サイズＳｒｖに取り込んだビデオ発生サイズＳｖｎを加算する。この後、ビデオパケット生成部３２がビデオ符号化データを格納したＴＳパケットの生成を継続するため、ビデオ符号化データを格納したＴＳパケットを生成するたびに、ビデオ残サイズＳｒｖはその送出サイズずつ減少していく。特に、ビデオフレームｆｒｎの期間のように、ビデオ符号化データｖｎのビデオ発生サイズＳｖｎよりも、ビデオフレーム周期Ｔｆｒにおける送出サイズの総サイズが大きいと、ビデオ残サイズＳｒｖはビデオフレーム単位で減少することとなる。図７に示すように、このようなデータサイズが小さいビデオ符号化データｖｎ、ｖｎ＋１、ｖｎ＋２が継続すると、ビデオフレームｆｒｎ＋３の期間のように、ビデオ残サイズＳｒｖが０や送出サイズＳｔｖ以下となる。【０２１１】
ビデオ残サイズＳｒｖが送出サイズＳｔｖ以下になったときも、ビデオ残サイズ演算部３３は、ビデオパケット生成部３２に対して、ビデオ残サイズＳｒｖが送出サイズＳｔｖ以下であるビデオ残サイズ情報Ｄ（Ｓｒｖ）を通知する。また、ビデオパケット生成部３２は、多重化パターン信号Ｐがビデオを指示するタイミングになると、ビデオ残サイズＳｒｖが次の送出サイズＳｔｖ以上であるかどうか判定する。このとき、ビデオ残サイズＳｒｖが次の送出サイズＳｔｖ以下であるため、ビデオパケット生成部３２は、ビデオ符号化データを格納したＴＳパケットの生成を休止する。このため、多重化部５１には、オーディオ符号化データを格納したＴＳパケット及びシステムデータを格納したＴＳパケットのみが供給される。その結果、多重化部５１からは、図７に示すように、休止期間において、ビデオＴＳパケットの送出を停止したようなトランスポートストリームＴＳが送出される。【０２１２】
なお、図７に示すように、休止期間において、ビデオ残サイズＳｒｖは例えば０になるが、ビデオバッファ３１には、図５で示した補正時間分のビデオ符号化データが実際には蓄積されているような構成であってもよい。また、図７では、休止期間において、ビデオＴＳパケットの送出を停止するような例を挙げているが、ヌルデータを格納したＴＳパケットを送出するような構成であってもよい。【０２１３】
図８は、ビデオ残サイズＳｒｖが送出サイズＳｔｖ以下となった休止期間における処理の例を説明するためのタイミングチャートである。図８のトランスポートストリームＴＳＡは、このような休止期間において、ビデオパケット生成部３２がビデオ符号化データを格納したＴＳパケットの生成を休止し、ビデオ期間中、多重化部５１からはビデオＴＳパケットを送出しないような一例を示している。また、図８のトランスポートストリームＴＳＡでは、ＴＰエクストラヘッダデータ領域を有したソースパケットと呼ばれるパケットで構成されるトランスポートストリームＴＳを利用した場合の一例を示している。【０２１４】
図８のトランスポートストリームＴＳＢは、ビデオパケット生成部３２がビデオ符号化データに代えてヌルデータなどのスタッフィングデータを格納したＴＳパケットを生成し、ビデオ期間中、多重化部５１からはスタッフィングデータを格納したＴＳパケットを送出する例を示している。また、図８のトランスポートストリームＴＳＣは、ビデオパケット生成部３２がビデオ符号化データを格納したＴＳパケットに代えてパディングパケットを生成し、ビデオ期間中、多重化部５１からはパディングパケットを送出する例を示している。【０２１５】
まず、休止期間において、図８に示すようなトランスポートストリームＴＳＡを送出する場合、ビデオパケット生成部３２は、アクセスユニットの最後となるビデオ符号化データをＴＳパケットのペイロードに格納する。ペイロードに残った領域がある場合には、ビデオパケット生成部３２は、そのペイロードの残った領域にスタッフィングデータを格納する。ビデオパケット生成部３２は、このようなアクセスユニットの最後となるビデオ符号化データを格納したＴＳパケットを生成した後、ビデオ残サイズＳｒｖが送出サイズＳｔｖ以下となると、図８のトランスポートストリームＴＳＡに示すようにＴＳパケットの生成を休止する。このような休止期間の後、ビデオバッファ３１に次のビデオ符号化データが供給されると、ビデオエンコーダ１１からビデオ残サイズ演算部３３に、上述したような所定のタイミングでビデオ発生サイズＳｖが通知される。【０２１６】
これによって、ビデオ残サイズ演算部３３により算出されるビデオ残サイズＳｒｖは、送出サイズＳｔｖ以上となるため、ビデオパケット生成部３２は、ＴＳパケットの生成を再開する。このとき、アクセスユニットの先頭データとなるため、ビデオパケット生成部３２は、まず、ＴＳパケットにＰＥＳｖヘッダデータを格納し、ペイロードの残った領域に先頭のビデオ符号化データを格納し、このようなＴＳパケットを生成する。【０２１７】
本実施の形態の多重化装置は、このような休止期間においてＴＳパケットの送出を停止した後、ＴＳパケットの生成を再開するとき、図８のトランスポートストリームＴＳＡに示すように、ＴＰエクストラヘッダデータ領域にＡＴＳｎで示すようなアライバルタイムスタンプ（ＡＴＳ：Ａｒｒｉｖａｌ  Ｔｉｍｅ  Ｓｔａｍｐ）を格納し、送出する。これにより、トランスポートストリームＴＳを再生するような場合、このような休止期間があっても、このアライバルタイムスタンプを利用してスムーズに再生を行うことができる。また、このようなアライバルタイムスタンプを設けることにより、記録媒体６２に記録する記録容量を削減できる。【０２１８】
また、休止期間において、図８に示すようなトランスポートストリームＴＳＢを送出する場合、ビデオパケット生成部３２は、アクセスユニットの最後となるビデオ符号化データをＴＳパケットのペイロードに格納する。ペイロードに残った領域がある場合には、ビデオパケット生成部３２は、そのペイロードの残った領域にスタッフィングデータを格納する。ビデオパケット生成部３２は、このようなアクセスユニットの最後となるビデオ符号化データを格納したＴＳパケットを生成した後、ビデオ残サイズＳｒｖが送出サイズＳｔｖ以下あるいは未満となると、図８のトランスポートストリームＴＳＢに示すように、“Ｎ”で示す不足データ分を充当するためのスタッフィングデータを格納したＴＳパケットを生成する。【０２１９】
これによって、休止期間におけるビデオ期間中、多重化部５１からはスタッフィングデータを格納したＴＳパケットが送出される。また、図８のトランスポートストリームＴＳＡの場合と同様に、このような休止期間の後、ビデオバッファ３１に次のビデオ符号化データが供給されると、ビデオパケット生成部３２は、ＴＳパケットの生成を再開する。このとき、アクセスユニットの先頭データとなるため、ビデオパケット生成部３２は、まず、ＴＳパケットにＰＥＳｖヘッダデータを格納し、ペイロードの残った領域に先頭のビデオ符号化データを格納し、このようなＴＳパケットを生成する。【０２２０】
また、休止期間において、図８に示すようなトランスポートストリームＴＳＣを送出する場合、ビデオパケット生成部３２は、アクセスユニットの最後となるビデオ符号化データをＴＳパケットのペイロードに格納する。ペイロードに残った領域がある場合には、ビデオパケット生成部３２は、そのペイロードの残った領域にスタッフィングデータを格納する。ビデオパケット生成部３２は、このようなアクセスユニットの最後となるビデオ符号化データを格納したＴＳパケットを生成した後、ビデオ残サイズＳｒｖが送出サイズＳｔｖ以下あるいは未満となると、図８のトランスポートストリームＴＳＣに示すように、“Ｐ”で示す不足データ分を充当するためのパディングパケットを生成する。【０２２１】
これによって、休止期間におけるビデオ期間中、多重化部５１からはパディングパケットが送出される。また、図８のトランスポートストリームＴＳＡの場合と同様に、このような休止期間の後、ビデオバッファ３１に次のビデオ符号化データが供給されると、ビデオパケット生成部３２は、ＴＳパケットの生成を再開する。このとき、アクセスユニットの先頭データとなるため、ビデオパケット生成部３２は、まず、ＴＳパケットにＰＥＳｖヘッダデータを格納し、ペイロードの残った領域に先頭のビデオ符号化データを格納し、このようなＴＳパケットを生成する。【０２２２】
なお、図８のトランスポートストリームＴＳＢやトランスポートストリームＴＳＣで示した処理の場合、ＴＰエクストラヘッダデータ領域を有したパケットを送出してもよく、また通常のＴＳパケットを送出するような処理であってもよい。【０２２３】
次に、本実施の形態の多重化装置における詳細な動作について説明する。【０２２４】
図９は、本実施の形態１における多重化装置の装置制御部１９の処理の手順を示すフローチャートである。以下、図面を参照しながら、本実施の形態の多重化装置における詳細な動作について説明する。【０２２５】
本多重化装置に対して、例えば、ユーザがコンテンツを記録するように指示すると、まず、装置制御部１９が図９に示すような処理を実行する。すなわち、装置制御部１９は、ビデオエンコーダ１１に対して、供給されたビデオデータのエンコード処理、すなわち圧縮符号化処理を開始するよう指示する（ステップＳ１）。【０２２６】
次に、装置制御部１９は、オーディオエンコーダ２１に対しても、供給されたオーディオデータのエンコード処理、すなわち圧縮符号化処理を開始するよう指示する（ステップＳ２）。次に、装置制御部１９は、ＴＳ生成部３０の制御部５９に対して、トランスポートストリームＴＳの生成を開始するよう指示する（ステップＳ３）。この後、装置制御部１９は、ユーザからの指示などの待ち状態となり、例えば、コンテンツの記録を終了する指示を受け付けると記録媒体６２への記録を終了するよう制御する（ステップＳ４）。【０２２７】
続いて、制御部５９の処理について説明する。図１０は、本実施の形態１における多重化装置の制御部５９の処理の手順を示すフローチャートである。【０２２８】
まず、ＴＳ生成部３０の制御部５９は、装置制御部１９から出力されるトランスポートストリームＴＳの生成開始の指示を受け付けたか否かを判断する（ステップＳ１１）。ここで、制御部５９がトランスポートストリームＴＳの生成開始の指示を受け付けていないと判断されると（ステップＳ１１でＮＯ）、制御部５９は、トランスポートストリームＴＳの生成開始の指示を受け付けるまで待機状態となる。【０２２９】
一方、制御部５９がトランスポートストリームＴＳの生成開始の指示を受け付けたと判断されると（ステップＳ１１でＹＥＳ）、制御部５９は、次のような処理の実行を開始する。まず、制御部５９は、システム時刻生成部５５に対してＳＴＣの初期値を通知する（ステップＳ１２）。これによって、システム時刻生成部５５は、通知された初期値から基準時刻のカウントを開始し、ＳＴＣ情報をビデオ残サイズ演算部３３やオーディオ残サイズ演算部４３などに通知するとともに、ＰＣＲ情報をシステムパケット生成部４９に通知する。【０２３０】
次に、制御部５９は、ＴＳ生成部３０の各部に対して初期動作を開始するよう指示する（ステップＳ１３）。なお、ここの初期動作は、起動プログラムの開始や、変数の初期化等が行われる。次に、制御部５９は、タイムスタンプ生成部５７に対して、スタートアップのタイミングに関する時間情報やビデオ及びオーディオフレームの時間情報などを通知する（ステップＳ１４）。【０２３１】
次に、制御部５９は、ビデオ残サイズ演算部３３に対して、ビデオ生成開始時刻情報Ｄ（ｔｅ）を通知する（ステップＳ１５）。これによって、ビデオ残サイズ演算部３３は、ＳＴＣがビデオ生成開始時刻ｔｅとなるのを待つ。また、制御部５９は、オーディオ残サイズ演算部４３に対して、オーディオ生成開始時刻情報Ｄ（ｔａｅ）を通知する（ステップＳ１６）。これによって、オーディオ残サイズ演算部４３は、ＳＴＣがオーディオ生成開始時刻ｔａｅとなるのを待つ。この後、制御部５９は、例えば、装置制御部１９からの指示などを待つ待ち状態となる。【０２３２】
続いて、本実施の形態における多重化装置の多重化ストリーム生成処理の手順について説明する。図１１は、本実施の形態１における多重化装置の多重化ストリーム生成処理の手順を示すフローチャートである。【０２３３】
まず、多重化パターン生成部５６は、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号Ｐを生成し、ビデオパケット生成部３２、オーディオパケット生成部４２及びシステムパケット生成部４９に出力する（ステップＳ２１）。【０２３４】
次に、タイムスタンプ生成部５７は、制御部５９によって出力された時間情報を用いてタイムスタンプ情報を生成する（ステップＳ２２）。時間情報は、スタートアップディレイ時間Ｔｓｕや補正時間Ｔｓｃなどのスタートアップでのタイミングに関する時間情報、及びビデオフレーム周期Ｔｆｒやオーディオフレーム周期Ｔａｆｒを示す時間情報を含む。なお、タイムスタンプ生成部５７によるタイムスタンプ情報生成処理については図１２及び図１３を用いて後述する。【０２３５】
次に、ビデオ残サイズ演算部３３は、ビデオバッファ３１に一時記憶されたビデオエレメンタリストリームの多重化可能な残りのデータサイズであるビデオ残サイズを求め、求めたビデオ残サイズを示すビデオ残サイズ情報を出力する（ステップＳ２３）。なお、ビデオ残サイズ演算部３３によるビデオ残サイズ算出処理については図１５を用いて後述する。【０２３６】
次に、ビデオパケット生成部３２は、多重化パターン信号とビデオ残サイズ情報とに基づき、ビデオバッファ３１に一時記憶されたビデオエレメンタリストリームから所定サイズのデータを送出データとして取り込み、取り込んだ送出データを格納したビデオＴＳパケットを生成する（ステップＳ２４）。なお、ビデオパケット生成部３２によるビデオＴＳパケット生成処理については図１６及び図１７を用いて後述する。【０２３７】
次に、オーディオ残サイズ演算部４３は、オーディオバッファ４１に一時記憶されたオーディオエレメンタリストリームの多重化可能な残りのデータサイズであるオーディオ残サイズを求め、求めたオーディオ残サイズを示すオーディオ残サイズ情報を出力する（ステップＳ２５）。なお、オーディオ残サイズ演算部４３によるオーディオ残サイズ算出処理については図１８を用いて後述する。【０２３８】
次に、オーディオパケット生成部４２は、多重化パターン信号とオーディオ残サイズ情報とに基づき、オーディオバッファ４１に一時記憶されたオーディオエレメンタリストリームから所定サイズのデータを送出データとして取り込み、取り込んだ送出データを格納したオーディオＴＳパケットを生成する（ステップＳ２６）。なお、オーディオパケット生成部４２によるオーディオＴＳパケット生成処理については図１９及び図２０を用いて後述する。【０２３９】
次に、システムパケット生成部４９は、多重化パターン信号に基づき、生成する多重化ストリームに関する情報を含むシステムデータを格納したシステムＴＳパケットを生成する（ステップＳ２７）。なお、システムパケット生成部４９によるシステムＴＳパケット生成処理については図２１を用いて後述する。【０２４０】
次に、多重化部５１は、ビデオパケット生成部３２、オーディオパケット生成部４２及びシステムパケット生成部４９で生成されたビデオＴＳパケット、オーディオＴＳパケット及びシステムＴＳパケットを、生成された順番に多重化し、トランスポートストリームＴＳを生成する（ステップＳ２８）。【０２４１】
続いて、図１１のステップＳ２２に示すタイムスタンプ生成部５７の処理について説明する。図１２及び図１３は、本実施の形態１における多重化装置のタイムスタンプ生成部５７の処理の手順を示すフローチャートである。タイムスタンプ生成部５７は、制御部５９からスタートアップのタイミングに関する時間情報やビデオ及びオーディオフレームの時間情報などを受け取ると、図１２及び図１３に示すような処理を実行する。【０２４２】
まず、タイムスタンプ生成部５７は、ビデオフレームをカウントするためのカウンタＮ及びオーディオフレームをカウントするためのカウンタＫをリセット、すなわち０に設定する（ステップＳ３１）。【０２４３】
次に、タイムスタンプ生成部５７は、制御部５９から通知されたスタートアップのタイミングに関する時間情報などに基づき、最初に送出するアクセスユニットのビデオ符号化データに対するＤＴＳ値として、上述したようなビデオデコード開始時刻ｔｄを設定する（ステップＳ３２）。【０２４４】
次に、タイムスタンプ生成部５７は、制御部５９から通知されたスタートアップのタイミングに関する時間情報などに基づき、最初に送出するアクセスユニットのオーディオ符号化データに対するＰＴＳ値として、オーディオ提示開始時刻とするｔｄ＋Ｔｆｒを設定する（ステップＳ３３）。【０２４５】
この後、タイムスタンプ生成部５７は、ビデオ残サイズ演算部３３からビデオＡＵ先頭通知信号ＡＵＨｖが通知されたか否かを判断する（ステップＳ３４）。ここで、ビデオＡＵ先頭通知信号ＡＵＨｖが通知されていない場合（ステップＳ３４でＮＯ）、タイムスタンプ生成部５７は、オーディオ残サイズ演算部４３からオーディオＡＵ先頭通知信号ＡＵＨａが通知されたか否かを判断する（ステップＳ４１）。【０２４６】
ステップＳ４１において、オーディオＡＵ先頭通知信号ＡＵＨａが通知されていない場合（ステップＳ４１でＮＯ）、タイムスタンプ生成部５７は、制御部５９から処理の終了が通知されたかどうかを判定する（ステップＳ４５）。【０２４７】
ステップＳ４５において、制御部５９から処理の終了が通知されていない場合（ステップＳ４５でＮＯ）、ステップＳ３４の処理に戻り、タイムスタンプ生成部５７は、ビデオ残サイズ演算部３３からビデオＡＵ先頭通知信号ＡＵＨｖが通知されたか否かを再度判断する。すなわち、タイムスタンプ生成部５７は、このようなループを繰り返すことにより、制御部５９から処理の終了が通知されるまで、ビデオ残サイズ演算部３３からのビデオＡＵ先頭通知信号ＡＵＨｖ、及びオーディオ残サイズ演算部４３からのオーディオＡＵ先頭通知信号ＡＵＨａが通知されるのを待っている。【０２４８】
ステップＳ３４において、ビデオＡＵ先頭通知信号ＡＵＨｖが通知されたと判断されると（ステップＳ３４でＹＥＳ）、タイムスタンプ生成部５７は、アクセスユニットごとのビデオ符号化データに対するＤＴＳ値を設定する。すなわち、ビデオフレームをカウントするカウンタＮの値をｎとすると、タイムスタンプ生成部５７は、ｎ番目のアクセスユニットに対するＤＴＳｖｎを時刻ｔｄ＋ｎ×Ｔｆｒに設定する（ステップＳ３５）。次に、タイムスタンプ生成部５７は、このような値を設定したＤＴＳｖｎをＰＥＳｖヘッダ生成部３４に通知する（ステップＳ３６）。【０２４９】
次に、タイムスタンプ生成部５７は、このときのアクセスユニットのピクチャ種別を判定する（ステップＳ３７）。タイムスタンプ生成部５７は、このときのアクセスユニットのピクチャ種別がＢ−ピクチャであるとき、Ｂ−ピクチャに対応したＰＴＳ値であるＰＴＳｖｎをＰＥＳｖヘッダ生成部３４に通知する（ステップＳ３８）。一方、タイムスタンプ生成部５７は、このときのアクセスユニットのピクチャ種別がＩ−ピクチャかＰ−ピクチャであるとき、Ｉ及びＰ−ピクチャに対応したＰＴＳ値であるＰＴＳｖｎをＰＥＳｖヘッダ生成部３４に通知する（ステップＳ３９）。この後、タイムスタンプ生成部５７は、カウンタＮの値を１だけ増やし（ステップＳ４０）、ステップＳ４１の処理に進む。【０２５０】
図１４は、本実施の形態１における多重化装置のＰＥＳヘッダを含むＴＳパケットの構成例を示す図である。図１４（Ａ）は、ビデオＰＥＳにおいて、ＤＴＳ値であるＤＴＳｖｎとＰＴＳ値であるＰＴＳｖｎとが異なるときのビデオＰＥＳヘッダを含むＴＳパケットの構成例を示しており、図１４（Ｂ）は、ＤＴＳｖｎとＰＴＳｖｎとが等しいときのビデオＰＥＳヘッダを含むＴＳパケットの構成例を示している。図１４（Ｂ）に示すように、通常、ＤＴＳ値とＰＴＳ値とが等しい場合には、ＰＴＳ値のみが格納される。ＰＥＳｖヘッダ生成部３４は、このような処理により通知されたＤＴＳｖｎ情報及びＰＴＳｖｎ情報を用いて図１４（Ａ）あるいは（Ｂ）に示すようなＰＥＳｖヘッダデータを生成する。【０２５１】
図１３に戻って、ステップＳ４１において、オーディオＡＵ先頭通知信号ＡＵＨａが通知されたと判断されると、タイムスタンプ生成部５７は、アクセスユニットごとのオーディオ符号化データに対するＰＴＳ値を設定する。すなわち、オーディオフレームをカウントするカウンタＫの値をｋとすると、タイムスタンプ生成部５７は、ｋ番目のアクセスユニットに対するＰＴＳａｋを時刻ｔｄ＋Ｔｆｒ＋ｋ×Ｔａｆｒに設定する（ステップＳ４２）。【０２５２】
次に、タイムスタンプ生成部５７は、このような値を設定したＰＴＳａｋをＰＥＳａヘッダ生成部４４に通知する（ステップＳ４３）。この後、タイムスタンプ生成部５７は、カウンタＫの値を１だけ増やし（ステップＳ４４）、ステップＳ４５の処理に進む。ＰＥＳａヘッダ生成部４４は、このような処理により通知されたＰＴＳａｋ情報を用いて図１４（Ｃ）に示すようなＰＥＳａヘッダデータを生成する。タイムスタンプ生成部５７は、制御部５９から処理の終了が通知されたと判断すると（ステップＳ４５でＹＥＳ）、処理を終了する。【０２５３】
続いて、図１１のステップＳ２３に示すビデオ残サイズ演算部３３の処理について説明する。図１５は、本実施の形態１における多重化装置のビデオ残サイズ演算部３３の処理の手順を示すフローチャートである。ビデオ残サイズ演算部３３は、制御部５９からビデオ生成開始時刻情報Ｄ（ｔｅ）を受け取ると、図１５に示す処理を実行する。【０２５４】
まず、ビデオ残サイズ演算部３３は、システム時刻生成部５５から通知されるＳＴＣがビデオ生成開始時刻ｔｅに一致するか否かを判断する（ステップＳ５１）。ここで、ＳＴＣの時刻がビデオ生成開始時刻ｔｅに一致しないと判断された場合（ステップＳ５１でＮＯ）、ビデオ残サイズ演算部３３は、ステップＳ５１の判断を所定の時間間隔で繰り返し実行する。【０２５５】
ＳＴＣの時刻がビデオ生成開始時刻ｔｅになったと判断された場合（ステップＳ５１でＹＥＳ）、ビデオ残サイズ演算部３３は、次の処理に進む。まず、ビデオ残サイズ演算部３３は、ＳＴＣを参照して、ビデオ発生サイズＳｖの取り込み時刻であるか否かを判断する（ステップＳ５２）。ここで、ビデオ発生サイズＳｖの取り込み時刻ではないと判断されると（ステップＳ５２でＮＯ）、ビデオ残サイズ演算部３３は、以下で説明するステップＳ５５の処理に進む。【０２５６】
一方、ビデオ発生サイズＳｖの取り込み時刻であると判断されると（ステップＳ５２でＹＥＳ）、ビデオ残サイズ演算部３３は、ビデオユニットサイズ計測部１２からビデオ発生サイズ情報Ｄ（Ｓｖ）を取り込む（ステップＳ５３）。次に、ビデオ残サイズ演算部３３は、ビデオ残サイズＳｒｖに対し、取り込んだビデオ発生サイズ情報Ｄ（Ｓｖ）のビデオ発生サイズＳｖを加算する（ステップＳ５４）。【０２５７】
次に、ビデオ残サイズ演算部３３は、ビデオパケット生成部３２から送出サイズ情報Ｄ（Ｓｔｖ）の通知があるか否かを判断する（ステップＳ５５）。ここで、送出サイズ情報Ｄ（Ｓｔｖ）の通知があると判断されると（ステップＳ５５でＹＥＳ）、ビデオ残サイズ演算部３３は、ビデオ残サイズＳｒｖから、取り込んだ送出サイズ情報Ｄ（Ｓｔｖ）の送出サイズＳｔｖを減算する（ステップＳ５６）。【０２５８】
一方、送出サイズ情報Ｄ（Ｓｔｖ）の通知がないと判断されると（ステップＳ５５でＮＯ）、ビデオ残サイズ演算部３３は、次のステップＳ５７の処理に進む。次に、ビデオ残サイズ演算部３３は、このようにして算出したビデオ残サイズＳｒｖをビデオ残サイズ情報Ｄ（Ｓｒｖ）として、ビデオパケット生成部３２に通知する（ステップＳ５７）。【０２５９】
この後、ビデオ残サイズ演算部３３は、次に送出するビデオ符号化データがアクセスユニットの先頭データを含むか否かを判断する（ステップＳ５８）。ここで、次に送出するビデオ符号化データがアクセスユニットの先頭データを含むと判断されると（ステップＳ５８でＹＥＳ）、ビデオ残サイズ演算部３３は、タイムスタンプ生成部５７に対して、ビデオＡＵ先頭通知信号ＡＵＨｖを通知する（ステップＳ５９）。【０２６０】
一方、次に送出するビデオ符号化データがアクセスユニットの先頭データを含まないと判断されると（ステップＳ５８でＮＯ）、ビデオ残サイズ演算部３３は、次のステップＳ６０の処理に進む。次に、ビデオ残サイズ演算部３３は、制御部５９から処理の終了が通知されたか否かを判断する（ステップＳ６０）。ここで、処理の終了が通知されていないと判断された場合（ステップＳ６０でＮＯ）、ビデオ残サイズ演算部３３は、ステップＳ５２の処理に戻る。一方、処理の終了が通知されたと判断された場合（ステップＳ６０でＹＥＳ）、ビデオ残サイズ演算部３３は、このようなビデオ残サイズ演算の処理を終了する。【０２６１】
続いて、図１１のステップＳ２４に示すビデオパケット生成部３２の処理について説明する。図１６及び図１７は、本実施の形態１における多重化装置のビデオパケット生成部３２の処理の手順を示すフローチャートである。ビデオパケット生成部３２は、初期動作を開始すると図１６及び図１７に示す処理を実行する。【０２６２】
まず、ビデオパケット生成部３２は、多重化パターン信号Ｐがビデオ期間であるか否かを判断する（ステップＳ７１）。ここで、多重化パターン信号Ｐがビデオ期間でないと判断されると（ステップＳ７１でＮＯ）、ビデオパケット生成部３２は、以下で説明するステップＳ７９の処理に進む。【０２６３】
一方、多重化パターン信号Ｐがビデオ期間であると判断されると（ステップＳ７１でＹＥＳ）、ビデオパケット生成部３２は、次に送出するビデオ符号化データがアクセスユニットの先頭データを含むか否かを判断する（ステップＳ７２）。ここで、次に送出するビデオ符号化データがアクセスユニットの先頭データを含むと判断されると（ステップＳ７２でＹＥＳ）、ビデオパケット生成部３２は、以下で説明するステップＳ８０の処理に進む。【０２６４】
一方、次に送出するビデオ符号化データがアクセスユニットの先頭データを含まないと判断されると（ステップＳ７２でＮＯ）、ビデオパケット生成部３２は、ビデオ残サイズ演算部３３から通知されたビデオ残サイズ情報Ｄ（Ｓｒｖ）に基づき、送出できるビデオ符号化データがあるか否かを判断する（ステップＳ７３）。ここで、送出できるビデオ符号化データがないと判断されると（ステップＳ７３でＮＯ）、ビデオパケット生成部３２は、以下で説明するステップＳ８２の処理に進む。【０２６５】
一方、送出できるビデオ符号化データがあると判断されると（ステップＳ７３でＹＥＳ）、ビデオパケット生成部３２は、ビデオバッファ３１から送出すべきビデオ符号化データを取り込む（ステップＳ７４）。次に、ビデオパケット生成部３２は、生成するＴＳパケットのペイロードにさらに残りの領域があるか否かを判断する（ステップＳ７５）。ここで、生成するＴＳパケットのペイロードにさらに残りの領域があると判断されると（ステップＳ７５でＹＥＳ）、ビデオパケット生成部３２は、その残りの領域にスタッフィングデータを格納する（ステップＳ８４）。【０２６６】
一方、生成するＴＳパケットのペイロードに残りの領域がないと判断されると（ステップＳ７５でＮＯ）、ビデオパケット生成部３２は、次のステップＳ７６の処理に進む。次に、ビデオパケット生成部３２は、上述のようにしてペイロードにデータを格納したビデオＴＳパケットを生成する（ステップＳ７６）。次に、ビデオパケット生成部３２は、生成したビデオＴＳパケットを多重化部５１に転送する（ステップＳ７７）。【０２６７】
次に、ビデオパケット生成部３２は、ビデオ残サイズ演算部３３に対して、送出サイズ情報Ｄ（Ｓｔｖ）を通知する（ステップＳ７８）。この後、ビデオパケット生成部３２は、制御部５９から、ビデオパケット生成処理の終了が通知されているか否かを判断する（ステップＳ７９）。ここで、終了が通知されていないと判断された場合（ステップＳ７９でＮＯ）、ビデオパケット生成部３２は、ステップＳ７１の処理へ戻る。一方、終了が通知されたと判断された場合（ステップＳ７９でＹＥＳ）、ビデオパケット生成部３２は、ビデオパケット生成処理を終了する。【０２６８】
また、ステップＳ７２において、次に送出するビデオ符号化データがアクセスユニットの先頭データを含むと判断された場合（ステップＳ７２でＹＥＳ）、ビデオパケット生成部３２は、ＰＥＳｖヘッダ生成部３４からＰＥＳｖヘッダデータを取り込む（ステップＳ８０）。次に、ビデオパケット生成部３２は、ビデオバッファ３１から送出すべき先頭データからのビデオ符号化データを取り込み、残りのペイロード領域にそのビデオ符号化データを格納する（ステップＳ８１）。この後、ビデオパケット生成部３２は、ステップＳ７５の処理に進む。【０２６９】
また、ステップＳ７３において、送出できるビデオ符号化データがないと判断されると（ステップＳ７３でＮＯ）、ビデオパケット生成部３２は、ビデオＴＳパケットの生成を休止する（ステップＳ８２）。次に、ビデオパケット生成部３２は、次に送出すべきＰＥＳｖヘッダデータに格納するアライバルタイムスタンプＡＴＳを準備する（ステップＳ８３）。すなわち、図８を用いて説明したように、ビデオエンコーダ１１での生成データ量が少ない期間が継続する場合、ビデオパケット生成部３２は、アクセスユニットの最後となるビデオ符号化データを格納したＴＳパケットを生成した後、ビデオ残サイズＳｒｖが送出サイズＳｔｖ以下となると、ＴＳパケットの生成を休止する。さらに、ビデオパケット生成部３２は、このような休止期間の後、ビデオバッファ３１に次のビデオ符号化データが供給されると、アライバルタイムスタンプＡＴＳを送出するとともに、ＴＳパケットの生成を再開する。【０２７０】
なお、図８を用いて説明したように、図１６におけるステップＳ８２及びステップＳ８３の処理に代えて、図８のトランスポートストリームＴＳＢで説明したような、休止期間中にはビデオパケット生成部３２がスタッフィングデータを格納したＴＳパケットを生成する処理を行ったり、図８のトランスポートストリームＴＳＣで説明したような、休止期間中にはビデオパケット生成部３２がパディングパケットを生成する処理を行うような形態であってもよい。【０２７１】
次に、図１１のステップＳ２５に示すオーディオ残サイズ演算部４３の処理について説明する。図１８は、本実施の形態１における多重化装置のオーディオ残サイズ演算部４３の処理の手順を示すフローチャートである。オーディオ残サイズ演算部４３は、制御部５９からオーディオ生成開始時刻情報Ｄ（ｔａｅ）を受け取ると、図１８に示す処理を実行する。【０２７２】
まず、オーディオ残サイズ演算部４３は、システム時刻生成部５５から通知されるＳＴＣがオーディオ生成開始時刻ｔａｅに一致するか否かを判断する（ステップＳ９１）。ここで、ＳＴＣの時刻がオーディオ生成開始時刻ｔａｅに一致しないと判断された場合（ステップＳ９１でＮＯ）、オーディオ残サイズ演算部４３は、ステップＳ９１の判断を所定の時間間隔で繰り返し実行する。【０２７３】
ＳＴＣの時刻がオーディオ生成開始時刻ｔａｅになったと判断された場合（ステップＳ９１でＹＥＳ）、オーディオ残サイズ演算部４３は、次の処理に進む。まず、オーディオ残サイズ演算部４３は、ＳＴＣを参照して、オーディオ発生サイズＳａの取り込み時刻であるか否かを判定する（ステップＳ９２）。ここで、オーディオ発生サイズＳａの取り込み時刻ではないと判断されると（ステップＳ９２でＮＯ）、オーディオ残サイズ演算部４３は、以下で説明するステップＳ９５の処理に進む。【０２７４】
一方、オーディオ発生サイズＳａの取り込み時刻であると判断されると（ステップＳ９２でＹＥＳ）、オーディオ残サイズ演算部４３は、オーディオユニットサイズ計測部２２からオーディオ発生サイズ情報Ｄ（Ｓａ）を取り込む（ステップＳ９３）。次に、オーディオ残サイズ演算部４３は、オーディオ残サイズＳｒａに対し、取り込んだオーディオ発生サイズ情報Ｄ（Ｓａ）のオーディオ発生サイズＳａを加算する（ステップＳ９４）。【０２７５】
次に、オーディオ残サイズ演算部４３は、オーディオパケット生成部４２から送出サイズ情報Ｄ（Ｓｔａ）の通知があるか否かを判断する（ステップＳ９５）。ここで、送出サイズ情報Ｄ（Ｓｔａ）の通知があると判断されると（ステップＳ９５でＹＥＳ）、オーディオ残サイズ演算部４３は、オーディオ残サイズＳｒａから、取り込んだ送出サイズ情報Ｄ（Ｓｔａ）の送出サイズＳｔａを減算する（ステップＳ９６）。【０２７６】
一方、送出サイズ情報Ｄ（Ｓｔａ）の通知がないと判断されると（ステップＳ９５でＮＯ）、オーディオ残サイズ演算部４３は、次のステップＳ９７の処理に進む。次に、オーディオ残サイズ演算部４３は、このようにして算出したオーディオ残サイズＳｒａをオーディオ残サイズ情報Ｄ（Ｓｒａ）として、オーディオパケット生成部４２に通知する（ステップＳ９７）。【０２７７】
この後、オーディオ残サイズ演算部４３は、次に送出するオーディオ符号化データがアクセスユニットの先頭データを含むか否かを判定する（ステップＳ９８）。ここで、次に送出するオーディオ符号化データがアクセスユニットの先頭データを含むと判断されると（ステップＳ９８でＹＥＳ）、オーディオ残サイズ演算部４３は、タイムスタンプ生成部５７に対して、オーディオＡＵ先頭通知信号ＡＵＨａを通知する（ステップＳ９９）。【０２７８】
一方、次に送出するオーディオ符号化データがアクセスユニットの先頭データを含まないと判断されると（ステップＳ９８でＮＯ）、オーディオ残サイズ演算部４３は、次のステップＳ１００の処理に進む。次に、オーディオ残サイズ演算部４３は、制御部５９から処理の終了が通知されたか否かを判断する（ステップＳ１００）。ここで、処理の終了が通知されていないと判断された場合（ステップＳ１００でＮＯ）、オーディオ残サイズ演算部４３は、ステップＳ９２の処理に戻る。一方、処理の終了が通知されたと判断された場合（ステップＳ１００でＹＥＳ）、オーディオ残サイズ演算部４３は、このようなオーディオ残サイズ演算の処理を終了する。【０２７９】
続いて、図１１のステップＳ２６に示すオーディオパケット生成部４２の処理について説明する。図１９及び図２０は、本実施の形態１における多重化装置のオーディオパケット生成部４２の処理の手順を示すフローチャートである。オーディオパケット生成部４２は、初期動作を開始すると図１９及び図２０に示す処理を実行する。【０２８０】
まず、オーディオパケット生成部４２は、多重化パターン信号Ｐがオーディオ送出期間であるか否かを判断する（ステップＳ１１１）。ここで、多重化パターン信号Ｐがオーディオ送出期間でないと判断されると（ステップＳ１１１でＮＯ）、オーディオパケット生成部４２は、以下で説明するステップＳ１１９の処理に進む。【０２８１】
一方、多重化パターン信号Ｐがオーディオ送出期間であると判断されると（ステップＳ１１１でＹＥＳ）、オーディオパケット生成部４２は、次に送出するオーディオ符号化データがアクセスユニットの先頭データを含むか否かを判断する（ステップＳ１１２）。ここで、次に送出するオーディオ符号化データがアクセスユニットの先頭データを含むと判断されると（ステップＳ１１２でＹＥＳ）、オーディオパケット生成部４２は、以下で説明するステップＳ１２０の処理に進む。【０２８２】
一方、次に送出するオーディオ符号化データがアクセスユニットの先頭データを含まないと判断されると（ステップＳ１１２でＮＯ）、オーディオパケット生成部４２は、オーディオ残サイズ演算部４３から通知されたオーディオ残サイズ情報Ｄ（Ｓｒａ）に基づき、送出できるオーディオ符号化データがあるか否かを判断する（ステップＳ１１３）。ここで、送出できるオーディオ符号化データがないと判断されると（ステップＳ１１３でＮＯ）、オーディオパケット生成部４２は、以下で説明するステップＳ１２２の処理に進む。【０２８３】
一方、送出できるオーディオ符号化データがあると判断されると（ステップＳ１１３でＹＥＳ）、オーディオパケット生成部４２は、オーディオバッファ４１から送出すべきオーディオ符号化データを取り込む（ステップＳ１１４）。次に、オーディオパケット生成部４２は、生成するＴＳパケットのペイロードにさらに残りの領域があるか否かを判断する（ステップＳ１１５）。ここで、生成するＴＳパケットのペイロードにさらに残りの領域があると判断されると（ステップＳ１１５でＹＥＳ）、オーディオパケット生成部４２は、その残りの領域にスタッフィングデータを格納する（ステップＳ１２４）。【０２８４】
一方、生成するＴＳパケットのペイロードに残りの領域がないと判断されると（ステップＳ１１５でＮＯ）、オーディオパケット生成部４２は、次のステップＳ１１６の処理に進む。次に、オーディオパケット生成部４２は、上述のようにしてペイロードにデータを格納したオーディオＴＳパケットを生成する（ステップＳ１１６）。次に、オーディオパケット生成部４２は、生成したオーディオＴＳパケットを多重化部５１に転送する（ステップＳ１１７）。【０２８５】
次に、オーディオパケット生成部４２は、オーディオ残サイズ演算部４３に対して、送出サイズ情報Ｄ（Ｓｔａ）を通知する（ステップＳ１１８）。この後、オーディオパケット生成部４２は、制御部５９から、オーディオパケット生成処理の終了が通知されているか否かを判断する（ステップＳ１１９）。ここで、終了が通知されていないと判断された場合（ステップＳ１１９でＮＯ）、オーディオパケット生成部４２は、ステップＳ１１１の処理へ戻る。一方、終了が通知されたと判断された場合（ステップＳ１１９でＹＥＳ）、オーディオパケット生成部４２は、オーディオパケット生成処理を終了する。【０２８６】
また、ステップＳ１１２において、次に送出するオーディオ符号化データがアクセスユニットの先頭データを含むと判断された場合（ステップＳ１１２でＹＥＳ）、オーディオパケット生成部４２は、ＰＥＳａヘッダ生成部４４からＰＥＳａヘッダデータを取り込む（ステップＳ１２０）。次に、オーディオパケット生成部４２は、オーディオバッファ４１から送出すべき先頭データからのオーディオ符号化データを取り込み、残りのペイロード領域にそのオーディオ符号化データを格納する（ステップＳ１２１）。この後、オーディオパケット生成部４２は、ステップＳ１１５の処理に進む。【０２８７】
また、ステップＳ１１３において、オーディオ残サイズ演算部４３から通知されたオーディオ残サイズ情報Ｄ（Ｓｒａ）に基づき、送出できるオーディオ符号化データがないと判断されると（ステップＳ１１３でＮＯ）、オーディオパケット生成部４２は、オーディオＴＳパケットの生成を休止する（ステップＳ１２２）。次に、オーディオパケット生成部４２は、次に送出すべきＰＥＳａヘッダデータに格納するアライバルタイムスタンプＡＴＳを準備する（ステップＳ１２３）。すなわち、図８を用いて説明したビデオの場合と同様に、オーディオエンコーダ２１での生成データ量が少ない期間が継続する場合、オーディオパケット生成部４２は、アクセスユニットの最後となるオーディオ符号化データを格納したＴＳパケットを生成した後、オーディオ残サイズＳｒａが送出サイズＳｔａ以下となると、ＴＳパケットの生成を休止する。さらに、オーディオパケット生成部４２は、このような休止期間の後、オーディオバッファ４１に次のオーディオ符号化データが供給されると、アライバルタイムスタンプＡＴＳを送出するとともに、ＴＳパケットの生成を再開する。【０２８８】
なお、図８を用いて説明したように、図１９におけるステップＳ１２２及びステップＳ１２３の処理に代えて、図８のトランスポートストリームＴＳＢで説明したような、休止期間中にはオーディオパケット生成部４２がスタッフィングデータを格納したＴＳパケットを生成する処理を行ったり、図８のトランスポートストリームＴＳＣで説明したような、休止期間中にはオーディオパケット生成部４２がパディングパケットを生成する処理を行うような形態であってもよい。【０２８９】
次に、図１１のステップＳ２７に示すシステムパケット生成部４９の処理について説明する。図２１は、本実施の形態１における多重化装置のシステムパケット生成部４９の処理の手順を示すフローチャートである。システムパケット生成部４９は、初期動作を開始すると図２１に示す処理を実行する。【０２９０】
まず、システムパケット生成部４９は、多重化パターン信号Ｐがシステム期間であるか否かを判断する（ステップＳ１３１）。ここで、多重化パターン信号Ｐがシステム期間でないと判断されると（ステップＳ１３１でＮＯ）、システムパケット生成部４９は、以下で説明するステップＳ１３６の処理に進む。【０２９１】
一方、多重化パターン信号Ｐがシステム期間であると判断されると（ステップＳ１３１でＹＥＳ）、システムパケット生成部４９は、制御部５９から通知される次に送出するシステムデータを取り込む（ステップＳ１３２）。次に、システムパケット生成部４９は、システム時刻生成部５５からＰＣＲ情報を取り込む（ステップＳ１３３）。次に、システムパケット生成部４９は、取り込んだ情報をＴＳパケットのペイロードに格納し、これらシステム情報を含むシステムＴＳパケットを生成する（ステップＳ１３４）。【０２９２】
この後、システムパケット生成部４９は、生成したシステムＴＳパケットを多重化部５１に転送する（ステップＳ１３５）。次に、システムパケット生成部４９は、制御部５９から、システムパケット生成処理の終了が通知されているか否かを判断する（ステップＳ１３６）。ここで、終了が通知されていないと判断された場合（ステップＳ１３６でＮＯ）、システムパケット生成部４９は、ステップＳ１３１の処理へ戻る。一方、終了が通知されたと判断された場合（ステップＳ１３６でＹＥＳ）、システムパケット生成部４９は、システムパケット生成処理を終了する。【０２９３】
以上説明したような図９〜１３，１５〜２１の各処理が実行される。これにより、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号が生成される。そして、ビデオバッファに記憶されたビデオエレメンタリストリームの多重化可能な残りのデータサイズであるビデオ残サイズが算出され、ビデオ残サイズを示すビデオ残サイズ情報が出力されるとともに、オーディオバッファに記憶されたオーディオエレメンタリストリームの多重化可能な残りのデータサイズであるオーディオ残サイズが算出され、オーディオ残サイズを示すオーディオ残サイズ情報が出力される。このとき、アクセスユニットごとのデータサイズと、ビデオＴＳパケット及びオーディオＴＳパケットに格納した送出データのサイズである送出サイズとに基づき、ビデオ残サイズ及びオーディオ残サイズが算出される。【０２９４】
次に、多重化パターン信号とビデオ残サイズ情報とに基づき、ビデオバッファに記憶されたエレメンタリストリームから所定サイズのデータが送出データとして取り込まれ、取り込まれた送出データを格納したビデオＴＳパケットが生成されるとともに、多重化パターン信号とオーディオ残サイズ情報とに基づき、オーディオバッファに記憶されたエレメンタリストリームから所定サイズのデータが送出データとして取り込まれ、取り込まれた送出データを格納したオーディオＴＳパケットが生成される。このとき、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットが生成される。そして、生成されたビデオＴＳパケット及びオーディオＴＳパケットが、生成された順番に多重化され、トランスポートストリームが生成される。【０２９５】
以上説明したように、本実施の形態の多重化装置は、ビデオパケット生成部３２、オーディオパケット生成部４２及びシステムパケット生成部４９が、多重化パターン生成部５６からの多重化パターン信号Ｐに従ってＴＳパケットを生成するため、多重化パターンにおけるビデオ、オーディオやシステムデータなどのデータ種別の発生比率を適切に設定することにより、その多重化パターンに応じた比率で各エレメンタリストリームのＴＳパケットを生成することができ、これによって、デコーダ側バッファのオーバーフローを防止することができる。【０２９６】
さらに、ビデオパケット生成部３２及びオーディオパケット生成部４２は、ビデオ残サイズ演算部３３やオーディオ残サイズ演算部４３の演算結果より得られる残サイズがＴＳパケットの生成に必要なサイズ以上である場合にＴＳパケットを生成し、残サイズが、生成しようとするＴＳパケットのペイロードを一杯にするのに足りない場合には、ＴＳパケットの送出を休止したり、送出不足分をスタッフィングバイトで充当した状態でＴＳパケットを生成したりする。そのため、アクセスユニットごとの符号化データ量が極端に少なくなった場合においても、送出の休止やヌルパケットとして送出することで、符号化データ量の減少によるデコーダ側バッファのアンダーフローを防止することができる。【０２９７】
したがって、本実施の形態の多重化装置によれば、エンコーダで生成された符号化データが可変長符号化データのような可変レートであっても、デコーダ側バッファの破綻を防止できるとともに、簡易な構成で多重化処理を実現することができる。また、同様に、本実施の形態の多重化方法によっても、エンコーダで生成された符号化データが可変長符号化データのような可変レートであっても、デコーダ側バッファの破綻を防止できるとともに、簡易な構成で多重化処理を実現することができる。【０２９８】
さらに、従来の多重化処理装置による多重化処理に要する動作周波数は例えば５４ＭＨｚであるのに対し、本実施の形態１の多重化装置による多重化処理に要する動作周波数は例えば１８ＭＨｚに抑えることができ、多重化処理量を１／３に削減することができ、多重化処理に要する処理時間を短縮することができる。【０２９９】
さらにまた、多重化処理装置が搭載される記録再生装置の全体の処理（動作周波数は例えば２４３ＭＨｚ）に占める多重化処理の割合を２２％から７％に削減することができ、複数番組の同時記録及び同時再生などが可能となる。また、高画質化による処理レートの増加に伴う処理量の増加も低減することができる。【０３００】
（実施の形態２）
図２２は、本発明の実施の形態２における多重化装置の構成を示すブロック図である。図２２に示すように、本発明の実施の形態２における多重化装置は、実施の形態１と同様に、ビデオデータ及びオーディオデータを圧縮符号化し、圧縮符号化により生成されたビデオ及びオーディオそれぞれの符号化データを多重化ストリームの１つであるトランスポートストリームに多重化し、このトランスポートストリームを記録媒体に記録する多重化装置である。【０３０１】
また、本実施の形態２の多重化装置も、圧縮符号化方式として知られるＭＰＥＧ−２、ＭＰＥＧ−４  ＡＶＣ方式に基づき生成された符号化データに適用できる。特に、本実施の形態２の多重化装置は、実施の形態１との比較において、図２２に示すように、ＴＳ生成部３０２が、さらにビデオレート監視部３５及びオーディオレート監視部４５を備える構成としている。【０３０２】
また、ビデオ残サイズ演算部３３２は、経過時間あたりの送出に必要なビデオ符号化データのサイズである送出必要サイズを示す送出必要サイズ情報を生成し、ビデオレート監視部３５に通知する。オーディオ残サイズ演算部４３２は、経過時間あたりの送出に必要なオーディオ符号化データのサイズである送出必要サイズを示す送出必要サイズ情報を生成し、オーディオレート監視部４５に通知する。【０３０３】
なお、図２２において、図１と同じ符号を付した構成要素は同一の構成であり詳細な説明は省略する。また、本実施の形態２においても、ビデオエンコーダ１１から出力されるビデオエレメンタリストリームＥＳｖが、最大ビットレートが規定された可変長符号化データで構成される可変ビットレートのエレメンタリストリームとして説明する。【０３０４】
図２２において、ビデオレート監視部３５は、ビデオパケット生成部３２により生成された送出データの累計サイズを求め、その累計サイズが、要求されている最大ビットレートでエレメンタリストリームが出力されていた場合の所定のサイズを超えていた場合に、ビデオパケット生成部３２にビデオＴＳパケットの生成禁止を指示する送出停止信号を通知する。ビデオパケット生成部３２にこのような送出停止信号が通知されると、ビデオパケット生成部３２は、多重化パターン信号Ｐが示すデータの種別が一致し、かつビデオ残サイズが送出サイズ以上であっても、ビデオＴＳパケットの生成を停止するように動作する。【０３０５】
同様に、オーディオレート監視部４５は、オーディオパケット生成部４２により生成された送出データの累計サイズを求め、その累計サイズが、要求されている最大ビットレートでエレメンタリストリームが出力されていた場合のサイズを超えていた場合に、オーディオパケット生成部４２にオーディオＴＳパケットの生成禁止を指示する送出停止信号を通知する。オーディオパケット生成部４２にこのような送出停止信号が通知されると、オーディオパケット生成部４２は、多重化パターン信号Ｐが示すデータの種別が一致し、かつオーディオ残サイズが送出サイズ以上であっても、オーディオＴＳパケットの生成を停止するように動作する。【０３０６】
このようなビデオレート監視部３５及びオーディオレート監視部４５を設けることにより、生成された符号化データの生成ビットレートが規定された最大ビットレートを上回る場合には、ビデオパケット生成部３２によるＴＳパケットの生成を停止させ、ビデオ符号化データの送出を一時停止させることとなるので、データを送出しすぎるような状況を防止することができる。その結果、デコード側のバッファにおいてオーバーフローが生じるというような不具合を防止することができる。以下、ビデオレート監視部３５及びオーディオレート監視部４５を中心に、本実施の形態２の多重化装置の詳細な構成及び動作について説明する。【０３０７】
まず、本実施の形態２において、ビデオ残サイズ演算部３３２は、ＳＴＣ情報により求めた経過時間とビデオ発生サイズ情報Ｄ（Ｓｖ）とから、経過時間あたりの送出に必要なビデオ符号化データのサイズであるビデオ送出必要サイズＳｎｖを求め、求めたビデオ送出必要サイズＳｎｖをビデオ送出必要サイズ情報Ｄ（Ｓｎｖ）として、ビデオレート監視部３５に通知する。【０３０８】
また、図２２に示すように、ビデオレート監視部３５には、システム時刻生成部５５からＳＴＣ情報が通知され、さらに、ビデオパケット生成部３２からは、ＴＳパケットを生成するために使用したビデオ符号化データのデータサイズ、すなわち送出サイズＳｔｖを示す送出サイズ情報Ｄ（Ｓｔｖ）が通知される。【０３０９】
ビデオレート監視部３５は、送出サイズ情報Ｄ（Ｓｔｖ）を利用して、ビデオパケット生成部３２により生成された送出データの累計サイズを求め、その累計サイズが、要求されている最大ビットレートでエレメンタリストリームを出力していた場合のサイズ、すなわち通知されたビデオ送出必要サイズ情報Ｄ（Ｓｎｖ）のビデオ送出必要サイズＳｎｖを超えているか否かを判断し、超えていた場合にビデオ送出停止信号Ｓｔｐｖをビデオパケット生成部３２に通知する。すなわち、ビデオレート監視部３５は、ビデオ送出停止信号Ｓｔｐｖを生成するため、次に例示するような処理を実行する。【０３１０】
まず、ビデオレート監視部３５は、ビデオパケット生成部３２から送出サイズ情報Ｄ（Ｓｔｖ）が通知されるたびに、その通知された送出サイズ情報Ｄ（Ｓｔｖ）の送出サイズＳｔｖを順次加算し、その累計サイズを求める。ビデオレート監視部３５は、ビデオ送出必要サイズＳｎｖから、求めた累計サイズを減算する。さらに、ビデオレート監視部３５は、減算結果を順次加算し、この加算結果が所定の上限値を超えたか否かを判断する。加算結果が所定の上限値を超えたと判断された場合、ビデオレート監視部３５は、ビデオパケット生成部３２に対し、ビデオ符号化データを格納したＴＳパケットの生成を停止するよう指示するビデオ送出停止信号Ｓｔｐｖを出力する。ビデオパケット生成部３２は、このようなＴＳパケットの生成を停止するよう指示するビデオ送出停止信号Ｓｔｐｖを受け取ると、ＴＳパケットの生成を停止する。【０３１１】
このように、ビデオレート監視部３５は、累計サイズが、要求されている最大ビットレートでエレメンタリストリームを出力していた場合のサイズを超えたか否かを判断し、超えた場合には、ビデオパケット生成部３２によるＴＳパケットの生成を停止させ、ビデオ符号化データの送出を一時停止させる。そのため、データを送出しすぎるような状況を防止でき、デコード側のバッファにおいてオーバーフローが生じるというような不具合を防ぐことが可能となる。【０３１２】
次に、本実施の形態２において、オーディオ残サイズ演算部４３２は、ＳＴＣ情報により求めた経過時間とオーディオ発生サイズ情報Ｄ（Ｓａ）とから、経過時間あたりの送出に必要なオーディオ符号化データのサイズであるオーディオ送出必要サイズＳｎａを求め、求めたオーディオ送出必要サイズＳｎａをオーディオ送出必要サイズ情報Ｄ（Ｓｎａ）として、オーディオレート監視部４５に通知する。【０３１３】
また、図２２に示すように、オーディオレート監視部４５には、システム時刻生成部５５からＳＴＣ情報が通知され、さらに、オーディオパケット生成部４２からは、ＴＳパケットを生成するために使用したオーディオ符号化データのデータサイズ、すなわち送出サイズＳｔａを示す送出サイズ情報Ｄ（Ｓｔａ）が通知される。【０３１４】
オーディオレート監視部４５は、送出サイズ情報Ｄ（Ｓｔｖ）を利用して、オーディオパケット生成部４２により生成された送出データの累計サイズを求め、その累計サイズが、要求されている最大ビットレートでエレメンタリストリームを出力していた場合のサイズ、すなわち通知されたオーディオ送出必要サイズ情報Ｄ（Ｓｎａ）のオーディオ送出必要サイズＳｎａを超えているか否かを判断し、超えていた場合にオーディオ送出停止信号Ｓｔｐａをオーディオパケット生成部４２に通知する。すなわち、オーディオレート監視部４５は、オーディオ送出停止信号Ｓｔｐａを生成するため、次に例示するような処理を実行する。【０３１５】
まず、オーディオレート監視部４５は、オーディオパケット生成部４２から送出サイズ情報Ｄ（Ｓｔａ）が通知されるたびに、その通知された送出サイズ情報Ｄ（Ｓｔａ）の送出サイズＳｔａを順次加算し、その累計サイズを求める。オーディオレート監視部４５は、オーディオ送出必要サイズＳｎａから求めた累計サイズを減算する。さらに、オーディオレート監視部４５は、減算結果を順次加算し、この加算結果が所定の上限値を超えたか否かを判断する。加算結果が所定の上限値を超えたと判断された場合、オーディオレート監視部４５は、オーディオパケット生成部４２に対し、オーディオ符号化データを格納したＴＳパケットの生成を停止するよう指示するオーディオ送出停止信号Ｓｔｐａを出力する。オーディオパケット生成部４２は、このようなＴＳパケットの生成を停止するよう指示するオーディオ送出停止信号Ｓｔｐａを受け取ると、ＴＳパケットの生成を停止する。【０３１６】
このように、オーディオレート監視部４５も、ビデオレート監視部３５と同様に、累計サイズが、要求されている最大ビットレートでエレメンタリストリームを出力していた場合のサイズを超えたか否かを判断し、超えた場合には、オーディオパケット生成部４２によるＴＳパケットの生成を停止させ、オーディオ符号化データの送出を一時停止させる。そのため、データを送出しすぎるような状況を防止でき、デコード側のバッファにおいてオーバーフローが生じるというような不具合を防ぐことが可能となる。【０３１７】
なお、ビデオ残サイズ演算部３３２及びオーディオ残サイズ演算部４３２のそれぞれにおいてその残サイズが０となった場合に、ビデオレート監視部３５及びオーディオレート監視部４５は、累計サイズと要求されている最大ビットレートでエレメンタリストリームが出力されていた場合のサイズとをクリアし、その後、再度レートの監視を実行するような構成としてもよい。また、上述の累計サイズは、スタッフィングデータのデータサイズも含めた累計サイズとするような構成であってもよい。【０３１８】
また、実施の形態１及び実施の形態２において、オーディオエンコーダ２１が、オーディオデータに対しアクセスユニットごとの固定ビット長であるオーディオ符号化データを出力するような一例を挙げて説明したが、本発明は、例えば、オーディオエンコーダ２１が、オーディオデータに対しアクセスユニットごとに可変長符号化データとなるオーディオ符号化データを出力するような構成にも適用することができる。【０３１９】
すなわち、オーディオエンコーダ２１から出力されるオーディオエレメンタリストリームＥＳａが、最大ビットレートが規定された可変長符号化データで構成される可変ビットレートのエレメンタリストリームとしてもよい。この場合、オーディオ生成開始時刻ｔａｅに対し、規定された最大ビットレートでデコーダ側のオーディオバッファを一杯にするために必要な時間であるオーディオバッファディレイ時間を含むスタートアップディレイ時間だけ遅れた時刻をオーディオ提示開始時刻とする。そして、オーディオパケット生成部４２は、オーディオ提示開始時刻を示すＰＴＳａを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを含むデータを格納した多重化パケットを、オーディオ生成開始時刻ｔａｅに生成する。その後、オーディオパケット生成部４２は、オーディオアクセスユニットの先頭データを含むデータを格納した多重化パケットを生成するたびに、オーディオ提示開始時刻よりもオーディオフレーム周期Ｔａｆｒずつ遅れたＰＴＳａを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを含むデータを格納した多重化パケットを生成するような構成とすればよい。【０３２０】
また、上述のスタートアップディレイ時間は、オーディオバッファディレイ時間と多重化処理による最大の遅延時間とを加算した時間としてもよい。また、オーディオ残サイズ演算部４３，４３２が、オーディオ生成開始時刻ｔａｅ及びオーディオ生成開始時刻ｔａｅからオーディオフレーム周期Ｔａｆｒずつ遅れた時刻に、オーディオアクセスユニットのデータサイズをオーディオ残サイズに加算する構成であってもよい。【０３２１】
また、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。【０３２２】
（１）上記の多重化装置は、具体的には、マイクロプロセッサ、ＲＯＭ（リードオンリメモリ）、ＲＡＭ（ランダムアクセスメモリ）、ハードディスクユニット、ディスプレイユニット、キーボード及びマウスなどから構成されるコンピュータシステムである。上記ＲＡＭ又はハードディスクユニットには、コンピュータプログラムが記憶されている。上記マイクロプロセッサが、上記コンピュータプログラムに従って動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合されて構成されたものである。【０３２３】
（２）上記の多重化装置を構成する構成要素の一部又は全部は、１個の大規模な集積回路であるシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。上記ＲＡＭには、コンピュータプログラムが記憶されている。上記マイクロプロセッサが、上記コンピュータプログラムに従って動作することにより、システムＬＳＩは、その機能を達成する。【０３２４】
また、上記の多重化装置を構成する構成要素の各部は、個別に１チップ化されていてもよいし、一部又は全てを含むように１チップ化されてもよい。【０３２５】
また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。【０３２６】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用などが可能性としてありえる。【０３２７】
（３）上記の多重化装置を構成する構成要素の一部又は全部は、装置に脱着可能なＩＣカード又は単体のモジュールから構成されてもよい。上記ＩＣカード又は上記モジュールは、マイクロプロセッサ、ＲＯＭ及びＲＡＭなどから構成されるコンピュータシステムである。上記ＩＣカード又は上記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、上記ＩＣカード又は上記モジュールは、その機能を達成する。このＩＣカード又はこのモジュールは、耐タンパ性を有してもよい。【０３２８】
（４）本発明は、上記の実施の形態１，２に示す多重化方法であってもよい。また、これらの多重化方法をコンピュータにより実現するコンピュータプログラムであってもよいし、上記コンピュータプログラムからなるデジタル信号であってもよい。【０３２９】
また、本発明は、上記コンピュータプログラム又は上記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）及び半導体メモリなどに記録してもよい。また、これらの記録媒体に記録されている上記デジタル信号であってもよい。【０３３０】
また、本発明は、上記コンピュータプログラム又は上記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、及びデータ放送などを経由して伝送するものとしてもよい。【０３３１】
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、上記メモリは、上記コンピュータプログラムを記憶しており、上記マイクロプロセッサは、上記コンピュータプログラムに従って動作してもよい。【０３３２】
また、上記コンピュータプログラム又は上記デジタル信号を上記記録媒体に記録して移送することにより、又は上記プログラム又は上記デジタル信号を上記ネットワークなどを経由して移送することにより、独立した他のコンピュータシステムにより実施してもよい。【０３３３】
（５）上記実施の形態及び上記変形例をそれぞれ組み合せてもよい。【０３３４】
なお、上述した具体的実施形態には以下の構成を有する発明が主に含まれている。【０３３５】
本発明の一局面に係る多重化装置は、アクセスユニットを単位として生成された符号化データで構成される、コンテンツの種別ごとのエレメンタリストリームを、多重化パケットを単位として多重化し、前記多重化パケットで構成される多重化ストリームを生成する多重化装置であって、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号を生成する多重化パターン生成部と、前記エレメンタリストリームを一時記憶するバッファと、前記バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズを求め、前記残サイズを示す残サイズ情報を出力する残サイズ演算部と、前記多重化パターン生成部によって生成された前記多重化パターン信号と前記残サイズ演算部によって出力された前記残サイズ情報とに基づき、前記バッファに記憶されたエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するパケット生成部と、前記パケット生成部によって生成された前記多重化パケットを、生成された順番に多重化し、多重化ストリームを生成する多重化部とを備え、前記残サイズ演算部は、アクセスユニットごとのデータサイズと、前記パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、前記残サイズを求め、前記パケット生成部は、前記多重化パターン信号が示す種別が一致し、かつ前記残サイズが前記送出サイズ以上であるときに前記多重化パケットを生成する。【０３３６】
この構成によれば、多重化パターン生成部によって、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号が生成され、バッファには、エレメンタリストリームが一時記憶される。残サイズ演算部によって、バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズが求められ、残サイズを示す残サイズ情報が出力される。そして、パケット生成部によって、多重化パターン信号と残サイズ情報とに基づき、バッファに記憶されたエレメンタリストリームから所定サイズのデータが送出データとして取り込まれ、取り込んだ送出データを格納した多重化パケットが生成される。その後、多重化部によって、パケット生成部によって生成された多重化パケットが、生成された順番に多重化され、多重化ストリームが生成される。また、残サイズ演算部によって、アクセスユニットごとのデータサイズと、パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、残サイズが求められる。さらに、パケット生成部によって、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットが生成される。【０３３７】
したがって、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットが生成されるので、エンコーダで生成された符号化データが可変長符号化データで構成される可変ビットレートであっても、デコーダ側のバッファの破綻を防止することができる。また、アクセスユニットごとのデータサイズと、多重化パケットに格納された送出データのサイズである送出サイズとに基づき、残サイズが求められ、エンコーダ側のバッファシミュレーションにより多重化処理が行われるので、従来のデコーダ側のバッファシミュレーションによる多重化処理に比べて、多重化処理に要する処理時間を短縮することができる。【０３３８】
また、上記の多重化装置において、前記多重化パターンは、前記多重化パケットに格納するデータの種別ごとに、前記多重化パケットを生成する期間が所定の比率で周期的に繰り返されるパターンであることが好ましい。【０３３９】
この構成によれば、多重化パケットに格納するデータの種別ごとに、多重化パケットを生成する期間が所定の比率で周期的に繰り返される多重化パターンに応じてエレメンタリストリームの多重化パケットを生成することができ、デコーダ側のバッファのアンダーフローを防止することができる。【０３４０】
また、上記の多重化装置において、前記多重化パターンは、前記多重化パケットに格納するデータの種別に要求されている最大ビットレート以上の多重化ビットレートを保証するように決められていることが好ましい。【０３４１】
この構成によれば、多重化パケットに格納するデータの種別に要求されている最大ビットレート以上の多重化ビットレートを保証するように多重化パターンが決められている。したがって、確保可能な最大送出ビットレートが、多重化パケットに格納するデータの種別に要求されている最大ビットレートよりも大きいとき、デコーダ側のバッファのアンダーフローを防止することができる。【０３４２】
また、上記の多重化装置において、前記残サイズ演算部は、前記アクセスユニットごとのデータサイズを前記アクセスユニットの発生間隔ごとに加算し、前記パケット生成部によって前記送出データを格納した多重化パケットが生成されるたびに前記送出サイズを減算する演算により、前記残サイズを求めることが好ましい。【０３４３】
この構成によれば、アクセスユニットごとのデータサイズがアクセスユニットの発生間隔ごとに加算され、送出データを格納した多重化パケットが生成されるたびに送出サイズを減算する演算により、残サイズが求められる。したがって、バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズを適切に求めることができる。【０３４４】
また、上記の多重化装置において、前記残サイズ演算部は、前記演算により、前記アクセスユニットごとの残サイズを求めることが好ましい。この構成によれば、アクセスユニットごとのデータサイズがアクセスユニットの発生間隔ごとに加算され、送出データを格納した多重化パケットが生成されるたびに送出サイズを減算する演算により、アクセスユニットごとの残サイズが求められる。したがって、バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズをアクセスユニットごとに適切に求めることができる。【０３４５】
また、上記の多重化装置において、前記残サイズ演算部が前記アクセスユニットごとのデータサイズの加算を開始する時刻を生成開始時刻とし、前記生成開始時刻に対し、規定された最大ビットレートでデコーダ側のバッファを一杯にするために必要な時間であるスタートアップディレイ時間だけ遅れた時刻をデコード開始時刻としたとき、前記パケット生成部は、前記デコード開始時刻を示すデコーディングタイムスタンプを格納したＰＥＳヘッダと、アクセスユニットの先頭データとを格納した多重化パケットを、前記生成開始時刻、及び前記多重化パターン信号の多重化パターンに応じて生成し、アクセスユニットの先頭データを格納した多重化パケットを生成するたびに、前記デコード開始時刻よりも前記アクセスユニットの発生間隔ずつ遅れたデコーディングタイムスタンプを格納したＰＥＳヘッダと、アクセスユニットの先頭データとを格納した多重化パケットを生成することが好ましい。【０３４６】
この構成によれば、残サイズ演算部がアクセスユニットごとのデータサイズの加算を開始する時刻を生成開始時刻とし、生成開始時刻に対し、規定された最大ビットレートでデコーダ側のバッファを一杯にするために必要な時間であるスタートアップディレイ時間だけ遅れた時刻をデコード開始時刻とする。そして、パケット生成部によって、デコード開始時刻を示すデコーディングタイムスタンプを格納したＰＥＳヘッダと、アクセスユニットの先頭データとを格納した多重化パケットが、生成開始時刻、及び多重化パターン信号の多重化パターンに応じて生成され、アクセスユニットの先頭データを格納した多重化パケットが生成されるたびに、デコード開始時刻よりもアクセスユニットの発生間隔ずつ遅れたデコーディングタイムスタンプを格納したＰＥＳヘッダと、アクセスユニットの先頭データとを格納した多重化パケットが生成される。【０３４７】
したがって、残サイズ演算部がアクセスユニットごとのデータサイズの加算を開始する時刻を生成開始時刻とし、生成開始時刻に対し、規定された最大ビットレートでデコーダ側のバッファを一杯にするために必要な時間であるスタートアップディレイ時間だけ遅れた時刻をデコード開始時刻としているので、デコーダがデコーディングタイムスタンプに従ってデコードを開始する時刻までに、デコーダ側のバッファを一杯の状態にすることができる。【０３４８】
また、上記の多重化装置において、前記スタートアップディレイ時間は、規定された最大ビットレートでデコーダ側のバッファを一杯にするために必要な時間と、多重化処理による最大の遅延時間とを加算した時間であることが好ましい。【０３４９】
この構成によれば、規定された最大ビットレートでデコーダ側のバッファを一杯にするために必要な時間と、多重化処理による最大の遅延時間とを加算した時間がスタートアップディレイ時間であるので、デコーダがデコーディングタイムスタンプに従ってデコードを開始する時刻までに、デコーダ側のバッファを一杯の状態にすることができる。【０３５０】
また、上記の多重化装置において、前記残サイズ演算部は、前記生成開始時刻、及び前記生成開始時刻から前記アクセスユニットの発生間隔ずつ遅れた時刻に、アクセスユニットのデータサイズを前記残サイズに加算することが好ましい。【０３５１】
この構成によれば、生成開始時刻、及び生成開始時刻からアクセスユニットの発生間隔ずつ遅れた時刻に、アクセスユニットのデータサイズを残サイズに加算することができる。【０３５２】
また、上記の多重化装置において、前記パケット生成部によって生成された送出データの累計サイズを求め、前記累計サイズが、要求されている最大ビットレートでエレメンタリストリームが出力されていたときの送出データのサイズを超えた場合に、多重化パケットの生成禁止を指示する送出停止信号を前記パケット生成部に通知するレート監視部をさらに備え、前記パケット生成部は、前記多重化パターン信号が示す種別が一致し、かつ前記残サイズが前記送出サイズ以上であり、さらに前記レート監視部から前記送出停止信号が通知されていない場合に、前記多重化パケットを生成することが好ましい。【０３５３】
この構成によれば、レート監視部によって、送出データの累計サイズが求められ、累計サイズが、要求されている最大ビットレートでエレメンタリストリームが出力されていたときの送出データのサイズを超えた場合に、多重化パケットの生成禁止を指示する送出停止信号が通知される。そして、パケット生成部によって、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であり、さらにレート監視部から送出停止信号が通知されていない場合に、多重化パケットが生成される。【０３５４】
したがって、送出データのが、要求されている最大ビットレートでエレメンタリストリームが出力されていたときの送出データのサイズを超えた場合には、多重化パケットの生成を停止させ、符号化データの送出を一時停止させることとなるので、データを送出しすぎるような状況を防止することができる。【０３５５】
また、上記の多重化装置において、前記レート監視部は、前記残サイズ演算部によって求められた前記残サイズが０となった場合に、前記累計サイズと、要求されている最大ビットレートでエレメンタリストリームが出力されていたときの送出データのサイズとをクリアすることが好ましい。【０３５６】
この構成によれば、残サイズが０となった場合に、累計サイズと、要求されている最大ビットレートでエレメンタリストリームが出力されていたときの送出データのサイズとをクリアすることができる。【０３５７】
また、上記の多重化装置において、前記パケット生成部は、前記残サイズ演算部によって求められた前記残サイズが前記送出サイズ未満となるとき、不足データ分をスタッフィングデータで充当した前記多重化パケットを生成することが好ましい。この構成によれば、残サイズが送出サイズ未満となるとき、不足データ分をスタッフィングデータで充当した多重化パケットを生成することができる。【０３５８】
また、上記の多重化装置において、前記バッファは、ビデオエレメンタリストリームを一時記憶するビデオバッファと、オーディオエレメンタリストリームを一時記憶するオーディオバッファとを含み、前記残サイズ演算部は、前記ビデオバッファに記憶されたビデオエレメンタリストリームの多重化可能な残りのデータサイズであるビデオ残サイズを求め、前記ビデオ残サイズを示すビデオ残サイズ情報を出力するビデオ残サイズ演算部と、前記オーディオバッファに記憶されたオーディオエレメンタリストリームの多重化可能な残りのデータサイズであるオーディオ残サイズを求め、前記オーディオ残サイズを示すオーディオ残サイズ情報を出力するオーディオ残サイズ演算部とを含み、前記パケット生成部は、前記多重化パターン生成部によって生成された前記多重化パターン信号と前記ビデオ残サイズ演算部によって出力された前記ビデオ残サイズ情報とに基づき、前記ビデオバッファに記憶されたビデオエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するビデオパケット生成部と、前記多重化パターン生成部によって生成された前記多重化パターン信号と前記オーディオ残サイズ演算部によって出力された前記オーディオ残サイズ情報とに基づき、前記オーディオバッファに記憶されたオーディオエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するオーディオパケット生成部とを含むことが好ましい。【０３５９】
この構成によれば、ビデオバッファには、ビデオエレメンタリストリームが一時記憶され、オーディオバッファには、オーディオエレメンタリストリームが一時記憶される。ビデオ残サイズ演算部によって、ビデオバッファに記憶されたビデオエレメンタリストリームの多重化可能な残りのデータサイズであるビデオ残サイズが求められ、ビデオ残サイズを示すビデオ残サイズ情報が出力される。また、オーディオ残サイズ演算部によって、オーディオバッファに記憶されたオーディオエレメンタリストリームの多重化可能な残りのデータサイズであるオーディオ残サイズが求められ、オーディオ残サイズを示すオーディオ残サイズ情報が出力される。ビデオパケット生成部によって、多重化パターン信号とビデオ残サイズ情報とに基づき、ビデオバッファに記憶されたビデオエレメンタリストリームから所定サイズのデータが送出データとして取り込まれ、取り込まれた送出データを格納した多重化パケットが生成される。さらに、オーディオパケット生成部によって、多重化パターン信号とオーディオ残サイズ情報とに基づき、オーディオバッファに記憶されたオーディオエレメンタリストリームから所定サイズのデータが送出データとして取り込まれ、取り込まれた送出データを格納した多重化パケットが生成される。【０３６０】
したがって、多重化パターン信号が示す種別がビデオであり、かつビデオ残サイズが送出サイズ以上であるときに多重化パケットが生成され、多重化パターン信号が示す種別がオーディオであり、オーディオ残サイズが送出サイズ以上であるときに多重化パケットが生成されるので、エンコーダで生成された符号化データが可変長符号化データで構成される可変ビットレートであっても、デコーダ側のビデオバッファ及びオーディオバッファの破綻を防止することができる。【０３６１】
また、上記の多重化装置において、前記パケット生成部は、前記多重化パターン生成部によって生成された前記多重化パターン信号に基づき、生成する多重化ストリームに関する情報を含むシステムデータを格納した前記多重化パケットを生成するシステムパケット生成部をさらに含むことが好ましい。【０３６２】
この構成によれば、システムパケット生成部によって、多重化パターン信号に基づき、生成する多重化ストリームに関する情報を含むシステムデータを格納した多重化パケットが生成される。したがって、生成する多重化ストリームに関する情報を含むシステムデータを多重化パケットに格納することができる。【０３６３】
また、上記の多重化装置において、前記多重化パターンは、前記ビデオエレメンタリストリームに対応した多重化パケットを生成するビデオ期間と、前記オーディオエレメンタリストリームに対応した多重化パケットを生成するオーディオ期間とが所定の比率で周期的に繰り返されるパターンであり、前記オーディオ期間は、前記オーディオエレメンタリストリームに対応した多重化パケットを生成するオーディオ送出期間と、前記システムデータに対応した多重化パケットを生成するシステム期間とで構成されることが好ましい。【０３６４】
この構成によれば、多重化パターンは、ビデオエレメンタリストリームに対応した多重化パケットを生成するビデオ期間と、オーディオエレメンタリストリームに対応した多重化パケットを生成するオーディオ期間とが所定の比率で周期的に繰り返されるパターンである。また、オーディオエレメンタリストリームに対応した多重化パケットを生成するオーディオ送出期間と、システムデータに対応した多重化パケットを生成するシステム期間とで、多重化パターンにおけるオーディオ期間が構成されるので、オーディオエレメンタリストリームとシステムデータとを所定の周期で多重化することができる。【０３６５】
また、上記の多重化装置において、前記ビデオエレメンタリストリームは、最大ビットレートが規定された可変長符号化データで構成される可変ビットレートのエレメンタリストリームであることが好ましい。【０３６６】
この構成によれば、エンコーダで生成された符号化データが可変長符号化データで構成される可変ビットレートのビデオエレメンタリストリームであっても、デコーダ側のバッファの破綻を防止することができる。【０３６７】
また、上記の多重化装置において、前記ビデオ残サイズ演算部が前記ビデオアクセスユニットごとのデータサイズの加算を開始する時刻をビデオ生成開始時刻とし、前記ビデオ生成開始時刻に対し、規定された最大ビットレートでデコーダ側のビデオバッファを一杯にするために必要な時間であるＶＢＶディレイ時間を含むスタートアップディレイ時間だけ遅れた時刻をビデオデコード開始時刻としたとき、前記ビデオパケット生成部は、前記ビデオデコード開始時刻を示すビデオデコーディングタイムスタンプを格納したビデオＰＥＳヘッダと、ビデオアクセスユニットの先頭データとを格納した多重化パケットを前記ビデオ生成開始時刻に生成し、ビデオアクセスユニットの先頭データを格納した多重化パケットを生成するたびに、前記ビデオデコード開始時刻よりも前記ビデオアクセスユニットの発生間隔ずつ遅れたビデオデコーディングタイムスタンプを格納したビデオＰＥＳヘッダと、ビデオアクセスユニットの先頭データとを格納した多重化パケットを生成することが好ましい。【０３６８】
この構成によれば、ビデオ残サイズ演算部がビデオアクセスユニットごとのデータサイズの加算を開始する時刻をビデオ生成開始時刻とし、ビデオ生成開始時刻に対し、規定された最大ビットレートでデコーダ側のビデオバッファを一杯にするために必要な時間であるＶＢＶディレイ時間を含むスタートアップディレイ時間だけ遅れた時刻をビデオデコード開始時刻とする。そして、ビデオデコード開始時刻を示すビデオデコーディングタイムスタンプを格納したビデオＰＥＳヘッダと、ビデオアクセスユニットの先頭データとを格納した多重化パケットがビデオ生成開始時刻に生成される。その後、ビデオアクセスユニットの先頭データを格納した多重化パケットを生成するたびに、ビデオデコード開始時刻よりもビデオアクセスユニットの発生間隔ずつ遅れたビデオデコーディングタイムスタンプを格納したビデオＰＥＳヘッダと、ビデオアクセスユニットの先頭データとを格納した多重化パケットが生成される。【０３６９】
したがって、ビデオ残サイズ演算部がビデオアクセスユニットごとのデータサイズの加算を開始する時刻をビデオ生成開始時刻とし、ビデオ生成開始時刻に対し、規定された最大ビットレートでデコーダ側のビデオバッファを一杯にするために必要な時間であるＶＢＶディレイを含むスタートアップディレイ時間だけ遅れた時刻をビデオデコード開始時刻としているので、デコーダがデコーディングタイムスタンプに従ってデコードを開始する時刻までに、デコーダ側のバッファを一杯の状態にすることができる。【０３７０】
また、上記の多重化装置において、前記スタートアップディレイ時間は、前記ＶＢＶディレイ時間と、多重化処理による最大の遅延時間とを加算した時間であることが好ましい。【０３７１】
この構成によれば、ＶＢＶディレイ時間と、多重化処理による最大の遅延時間とを加算した時間がスタートアップディレイ時間である。すなわち、多重化パターン信号は、ビデオ期間とオーディオ期間とで構成されるが、このオーディオ期間の間、ビデオ符号化データの送出が停止され、送出ロスが発生する。そこで、多重化処理による最大の遅延時間だけさらに早くデータを送出することにより、オーディオ期間におけるビデオ符号化データの送出ロスを補償し、デコーダがデコーディングタイムスタンプに従ってデコードを開始する時刻までに、デコーダ側のバッファを一杯の状態にすることができる。【０３７２】
また、上記の多重化装置において、前記ビデオ残サイズ演算部は、前記ビデオ生成開始時刻、及び前記ビデオ生成開始時刻から前記ビデオアクセスユニットの発生間隔ずつ遅れた時刻に、ビデオアクセスユニットのデータサイズを前記ビデオ残サイズに加算することが好ましい。【０３７３】
この構成によれば、ビデオ生成開始時刻、及びビデオ生成開始時刻から前記ビデオアクセスユニットの発生間隔ずつ遅れた時刻に、ビデオアクセスユニットのデータサイズをビデオ残サイズに加算することができる。【０３７４】
また、上記の多重化装置において、前記オーディオエレメンタリストリームは、最大ビットレートが規定された可変長符号化データで構成される可変ビットレートのエレメンタリストリームであることが好ましい。【０３７５】
この構成によれば、エンコーダで生成された符号化データが可変長符号化データで構成される可変ビットレートのオーディオエレメンタリストリームであっても、デコーダ側のバッファの破綻を防止することができる。【０３７６】
また、上記の多重化装置において、前記オーディオパケット生成部が多重化ストリームの生成を開始する時刻をオーディオ生成開始時刻とし、前記オーディオ生成開始時刻に対し、規定された最大ビットレートでデコーダ側のオーディオバッファを一杯にするために必要な時間であるオーディオバッファディレイ時間を含むスタートアップディレイ時間だけ遅れた時刻をオーディオ提示開始時刻としたとき、前記オーディオパケット生成部は、前記オーディオ提示開始時刻を示すオーディオ提示タイムスタンプを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを格納した多重化パケットを、前記オーディオ生成開始時刻に生成し、オーディオアクセスユニットの先頭データを格納した多重化パケットを生成するたびに、前記オーディオ提示開始時刻よりもオーディオアクセスユニットの発生間隔ずつ遅れたオーディオ提示タイムスタンプを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを格納した多重化パケットを生成することが好ましい。【０３７７】
この構成によれば、オーディオパケット生成部が多重化ストリームの生成を開始する時刻をオーディオ生成開始時刻とし、オーディオ生成開始時刻に対し、規定された最大ビットレートでデコーダ側のオーディオバッファを一杯にするために必要な時間であるオーディオバッファディレイ時間を含むスタートアップディレイ時間だけ遅れた時刻をオーディオ提示開始時刻とする。そして、オーディオ提示開始時刻を示すオーディオ提示タイムスタンプを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを格納した多重化パケットが、オーディオ生成開始時刻に生成される。また、オーディオアクセスユニットの先頭データを格納した多重化パケットが生成されるたびに、オーディオ提示開始時刻よりもオーディオアクセスユニットの発生間隔ずつ遅れたオーディオ提示タイムスタンプを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを格納した多重化パケットが生成される。【０３７８】
したがって、オーディオパケット生成部が多重化ストリームの生成を開始する時刻をオーディオ生成開始時刻とし、オーディオ生成開始時刻に対し、規定された最大ビットレートでデコーダ側のオーディオバッファを一杯にするために必要な時間であるオーディオバッファディレイを含むスタートアップディレイ時間だけ遅れた時刻をオーディオ提示開始時刻としているので、デコーダがデコーディングタイムスタンプに従ってデコードを開始する時刻までに、デコーダ側のバッファを一杯の状態にすることができる。【０３７９】
また、上記の多重化装置において、前記スタートアップディレイ時間は、前記オーディオバッファディレイ時間と、多重化処理による最大の遅延時間とを加算した時間であることが好ましい。【０３８０】
この構成によれば、オーディオバッファディレイ時間と、多重化処理による最大の遅延時間とを加算した時間とを加算した時間がスタートアップディレイ時間である。すなわち、多重化パターン信号は、ビデオ期間とオーディオ期間とで構成されるが、このビデオ期間の間、オーディオ符号化データの送出が停止され、送出ロスが発生する。そこで、多重化処理による最大の遅延時間だけさらに早くデータを送出することにより、ビデオ期間におけるオーディオ符号化データの送出ロスを補償し、デコーダがデコーディングタイムスタンプに従ってデコードを開始する時刻までに、デコーダ側のバッファを一杯の状態にすることができる。【０３８１】
また、上記の多重化装置において、前記オーディオ残サイズ演算部は、前記オーディオ生成開始時刻、及び前記オーディオ生成開始時刻からオーディオアクセスユニットの発生間隔ずつ遅れた時刻に、オーディオアクセスユニットのデータサイズを前記オーディオ残サイズに加算することが好ましい。【０３８２】
この構成によれば、オーディオ生成開始時刻、及びオーディオ生成開始時刻からオーディオアクセスユニットの発生間隔ずつ遅れた時刻に、オーディオアクセスユニットのデータサイズをオーディオ残サイズに加算することができる。【０３８３】
また、上記の多重化装置において、前記ビデオデコード開始時刻から前記ビデオアクセスユニットの発生間隔を含む期間だけ遅れた時刻をオーディオ提示開始時刻とするとともに、オーディオ提示開始時刻よりもオーディオアクセスユニットの発生間隔だけ前の時刻をオーディオ生成開始時刻としたとき、前記オーディオパケット生成部は、前記オーディオ提示開始時刻を示すオーディオ提示タイムスタンプを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを格納した多重化パケットを前記オーディオ生成開始時刻に生成し、オーディオアクセスユニットの先頭データを格納した多重化パケットを生成するたびに、前記オーディオ提示開始時刻よりもオーディオアクセスユニットの発生間隔ずつ遅れたオーディオ提示タイムスタンプを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを格納した多重化パケットを生成することが好ましい。【０３８４】
この構成によれば、ビデオデコード開始時刻からビデオアクセスユニットの発生間隔を含む期間だけ遅れた時刻をオーディオ提示開始時刻とするとともに、オーディオ提示開始時刻よりもオーディオアクセスユニットの発生間隔だけ前の時刻をオーディオ生成開始時刻としたとき、オーディオ提示開始時刻を示すオーディオ提示タイムスタンプを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを格納した多重化パケットがオーディオ生成開始時刻に生成される。そして、オーディオアクセスユニットの先頭データを格納した多重化パケットが生成されるたびに、オーディオ提示開始時刻よりもオーディオアクセスユニットの発生間隔ずつ遅れたオーディオ提示タイムスタンプを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを格納した多重化パケットが生成される。【０３８５】
したがって、ビデオデコード開始時刻からビデオアクセスユニットの発生間隔を含む期間だけ遅れた時刻をオーディオ提示開始時刻とするとともに、オーディオ提示開始時刻よりもオーディオアクセスユニットの発生間隔だけ前の時刻をオーディオ生成開始時刻としているので、デコーダがデコーディングタイムスタンプに従ってデコードを開始する時刻までに、デコーダ側のバッファを一杯の状態にすることができる。【０３８６】
また、上記の多重化装置において、前記オーディオ提示開始時刻は、前記ビデオデコード開始時刻から、前記ビデオアクセスユニットの発生間隔と多重化処理による最大の遅延時間とを加算した時間だけ遅れた時刻であることが好ましい。【０３８７】
この構成によれば、ビデオデコード開始時刻から、ビデオアクセスユニットの発生間隔と多重化処理による最大の遅延時間とを加算した時間だけ遅れた時刻をオーディオ提示開始時刻とすることができる。【０３８８】
また、上記の多重化装置において、前記多重化ストリームは、トランスポートストリームであることが好ましい。この構成によれば、コンテンツの種別ごとのエレメンタリストリームの多重化にトランスポートストリームを用いることができる。【０３８９】
本発明の他の局面に係る集積回路は、アクセスユニットを単位として生成された符号化データで構成される、コンテンツの種別ごとのエレメンタリストリームを、多重化パケットを単位として多重化し、前記多重化パケットで構成される多重化ストリームを生成する機能を有した集積回路であって、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号を生成する多重化パターン生成部と、前記エレメンタリストリームを一時記憶するバッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズを求め、前記残サイズを示す残サイズ情報を出力する残サイズ演算部と、前記多重化パターン生成部によって生成された前記多重化パターン信号と前記残サイズ演算部によって出力された前記残サイズ情報とに基づき、前記バッファに記憶されたエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するパケット生成部と、前記パケット生成部によって生成された前記多重化パケットを、生成された順番に多重化し、多重化ストリームを生成する多重化部とを備え、前記残サイズ演算部は、アクセスユニットごとのデータサイズと、前記パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、前記残サイズを求め、前記パケット生成部は、前記多重化パターン信号が示す種別が一致し、かつ前記残サイズが前記送出サイズ以上であるときに前記多重化パケットを生成する。【０３９０】
この構成によれば、多重化パターン生成部によって、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号が生成される。残サイズ演算部によって、エレメンタリストリームを一時記憶しているバッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズが求められ、残サイズを示す残サイズ情報が出力される。そして、パケット生成部によって、多重化パターン信号と残サイズ情報とに基づき、バッファに記憶されたエレメンタリストリームから所定サイズのデータが送出データとして取り込まれ、取り込んだ送出データを格納した多重化パケットが生成される。その後、多重化部によって、パケット生成部によって生成された多重化パケットが、生成された順番に多重化され、多重化ストリームが生成される。また、残サイズ演算部によって、アクセスユニットごとのデータサイズと、パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、残サイズが求められる。さらに、パケット生成部によって、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットが生成される。【０３９１】
したがって、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットが生成されるので、エンコーダで生成された符号化データが可変長符号化データで構成される可変ビットレートであっても、デコーダ側のバッファの破綻を防止することができる。また、アクセスユニットごとのデータサイズと、多重化パケットに格納された送出データのサイズである送出サイズとに基づき、残サイズが求められ、エンコーダ側のバッファシミュレーションにより多重化処理が行われるので、従来のデコーダ側のバッファシミュレーションによる多重化処理に比べて、多重化処理に要する処理時間を短縮することができる。【０３９２】
本発明の他の局面に係る多重化方法は、アクセスユニットを単位として生成された符号化データで構成される、コンテンツの種別ごとのエレメンタリストリームをそれぞれのバッファに一時記憶し、前記バッファに一時記憶したエレメンタリストリームを多重化パケット単位に多重化し、前記多重化パケットで構成される多重化ストリームを生成する多重化方法であって、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号を生成する多重化パターン生成ステップと、前記バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズを求め、前記残サイズを示す残サイズ情報を出力する残サイズ演算ステップと、前記多重化パターン生成ステップにおいて生成された前記多重化パターン信号と前記残サイズ演算ステップにおいて出力された前記残サイズ情報とに基づき、前記バッファに記憶されたエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するパケット生成ステップと、前記パケット生成ステップにおいて生成された前記多重化パケットを、生成された順番に多重化し、多重化ストリームを生成する多重化ステップとを備え、前記残サイズ演算ステップは、アクセスユニットごとのデータサイズと、前記パケット生成ステップにおいて多重化パケットに格納された送出データのサイズである送出サイズとに基づき、前記残サイズを求め、前記パケット生成ステップは、前記多重化パターン信号が示す種別が一致し、かつ前記残サイズが前記送出サイズ以上であるときに前記多重化パケットを生成する。【０３９３】
この構成によれば、多重化パターン生成ステップにおいて、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号が生成される。残サイズ演算ステップにおいて、エレメンタリストリームを一時記憶しているバッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズが求められ、残サイズを示す残サイズ情報が出力される。そして、パケット生成ステップにおいて、多重化パターン信号と残サイズ情報とに基づき、バッファに記憶されたエレメンタリストリームから所定サイズのデータが送出データとして取り込まれ、取り込んだ送出データを格納した多重化パケットが生成される。その後、多重化ステップにおいて、パケット生成ステップで生成された多重化パケットが、生成された順番に多重化され、多重化ストリームが生成される。また、残サイズ演算ステップにおいて、アクセスユニットごとのデータサイズと、パケット生成ステップで多重化パケットに格納された送出データのサイズである送出サイズとに基づき、残サイズが求められる。さらに、パケット生成ステップにおいて、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットが生成される。【０３９４】
したがって、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットが生成されるので、エンコーダで生成された符号化データが可変長符号化データで構成される可変ビットレートであっても、デコーダ側のバッファの破綻を防止することができる。また、アクセスユニットごとのデータサイズと、多重化パケットに格納された送出データのサイズである送出サイズとに基づき、残サイズが求められ、エンコーダ側のバッファシミュレーションにより多重化処理が行われるので、従来のデコーダ側のバッファシミュレーションによる多重化処理に比べて、多重化処理に要する処理時間を短縮することができる。【０３９５】
本発明の他の局面に係る多重化プログラムは、アクセスユニットを単位として生成された符号化データで構成される、コンテンツの種別ごとのエレメンタリストリームをそれぞれのバッファに一時記憶し、前記バッファに一時記憶したエレメンタリストリームを多重化パケット単位に多重化し、前記多重化パケットで構成される多重化ストリームを生成する多重化プログラムであって、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号を生成する多重化パターン生成部と、前記バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズを求め、前記残サイズを示す残サイズ情報を出力する残サイズ演算部と、前記多重化パターン生成部によって生成された前記多重化パターン信号と前記残サイズ演算部によって出力された前記残サイズ情報とに基づき、前記バッファに記憶されたエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するパケット生成部と、前記パケット生成部によって生成された前記多重化パケットを、生成された順番に多重化し、多重化ストリームを生成する多重化部としてコンピュータを機能させ、前記残サイズ演算部は、アクセスユニットごとのデータサイズと、前記パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、前記残サイズを求め、前記パケット生成部は、前記多重化パターン信号が示す種別が一致し、かつ前記残サイズが前記送出サイズ以上であるときに前記多重化パケットを生成する。【０３９６】
この構成によれば、多重化パターン生成部によって、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号が生成され、バッファには、エレメンタリストリームが一時記憶される。残サイズ演算部によって、バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズが求められ、残サイズを示す残サイズ情報が出力される。そして、パケット生成部によって、多重化パターン信号と残サイズ情報とに基づき、バッファに記憶されたエレメンタリストリームから所定サイズのデータが送出データとして取り込まれ、取り込んだ送出データを格納した多重化パケットが生成される。その後、多重化部によって、パケット生成部によって生成された多重化パケットが、生成された順番に多重化され、多重化ストリームが生成される。また、残サイズ演算部によって、アクセスユニットごとのデータサイズと、パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、残サイズが求められる。さらに、パケット生成部によって、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットが生成される。【０３９７】
したがって、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットが生成されるので、エンコーダで生成された符号化データが可変長符号化データで構成される可変ビットレートであっても、デコーダ側のバッファの破綻を防止することができる。また、アクセスユニットごとのデータサイズと、多重化パケットに格納された送出データのサイズである送出サイズとに基づき、残サイズが求められ、エンコーダ側のバッファシミュレーションにより多重化処理が行われるので、従来のデコーダ側のバッファシミュレーションによる多重化処理に比べて、多重化処理に要する処理時間を短縮することができる。【０３９８】
本発明の他の局面に係る多重化プログラムを記録したコンピュータ読み取り可能な記録媒体は、アクセスユニットを単位として生成された符号化データで構成される、コンテンツの種別ごとのエレメンタリストリームをそれぞれのバッファに一時記憶し、前記バッファに一時記憶したエレメンタリストリームを多重化パケット単位に多重化し、前記多重化パケットで構成される多重化ストリームを生成する多重化プログラムを記録したコンピュータ読み取り可能な記録媒体であって、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号を生成する多重化パターン生成部と、前記バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズを求め、前記残サイズを示す残サイズ情報を出力する残サイズ演算部と、前記多重化パターン生成部によって生成された前記多重化パターン信号と前記残サイズ演算部によって出力された前記残サイズ情報とに基づき、前記バッファに記憶されたエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するパケット生成部と、前記パケット生成部によって生成された前記多重化パケットを、生成された順番に多重化し、多重化ストリームを生成する多重化部としてコンピュータを機能させ、前記残サイズ演算部は、アクセスユニットごとのデータサイズと、前記パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、前記残サイズを求め、前記パケット生成部は、前記多重化パターン信号が示す種別が一致し、かつ前記残サイズが前記送出サイズ以上であるときに前記多重化パケットを生成することを特徴とする多重化プログラムを記録している。【０３９９】
この構成によれば、多重化パターン生成部によって、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号が生成され、バッファには、エレメンタリストリームが一時記憶される。残サイズ演算部によって、バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズが求められ、残サイズを示す残サイズ情報が出力される。そして、パケット生成部によって、多重化パターン信号と残サイズ情報とに基づき、バッファに記憶されたエレメンタリストリームから所定サイズのデータが送出データとして取り込まれ、取り込んだ送出データを格納した多重化パケットが生成される。その後、多重化部によって、パケット生成部によって生成された多重化パケットが、生成された順番に多重化され、多重化ストリームが生成される。また、残サイズ演算部によって、アクセスユニットごとのデータサイズと、パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、残サイズが求められる。さらに、パケット生成部によって、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットが生成される。【０４００】
したがって、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットが生成されるので、エンコーダで生成された符号化データが可変長符号化データで構成される可変ビットレートであっても、デコーダ側のバッファの破綻を防止することができる。また、アクセスユニットごとのデータサイズと、多重化パケットに格納された送出データのサイズである送出サイズとに基づき、残サイズが求められ、エンコーダ側のバッファシミュレーションにより多重化処理が行われるので、従来のデコーダ側のバッファシミュレーションによる多重化処理に比べて、多重化処理に要する処理時間を短縮することができる。【０４０１】
本発明の他の局面に係る多重化ストリームを記録したコンピュータ読み取り可能な記録媒体は、上記の多重化方法により生成された多重化ストリームを記録している。【０４０２】
この構成によれば、上記の多重化方法により生成された多重化ストリームをコンピュータ読み取り可能な記録媒体に記録することができ、この記録媒体から多重化されたコンテンツを再生することができる。
【産業上の利用可能性】
【０４０３】
本発明は、簡易な構成で、かつデコーダ側の破綻を防止した多重化装置を実現できるため、例えば、ストリーム信号を生成し、記録媒体に記録するような記録装置、記録再生装置、記録機能を備えた携帯端末装置、カメラ装置などに利用することが可能であるとともに、ストリーム信号を生成し、伝送路を介して伝送するようなストリーム送出装置などにも利用することが可能である。
【図１】
2008053806.tif 000003
【図２】
2008053806.tif 000004
【図３】
2008053806.tif 000005
【図４】
2008053806.tif 000006
【図５】
2008053806.tif 000007
【図６】
2008053806.tif 000008
【図７】
2008053806.tif 000009
【図８】
2008053806.tif 000010
【図９】
2008053806.tif 000011
【図１０】
2008053806.tif 000012
【図１１】
2008053806.tif 000013
【図１２】
2008053806.tif 000014
【図１３】
2008053806.tif 000015
【図１４】
2008053806.tif 000016
【図１５】
2008053806.tif 000017
【図１６】
2008053806.tif 000018
【図１７】
2008053806.tif 000019
【図１８】
2008053806.tif 000020
【図１９】
2008053806.tif 000021
【図２０】
2008053806.tif 000022
【図２１】
2008053806.tif 000023
【図２２】
2008053806.tif 000024
【図２３】
2008053806.tif 000025
【図２４】
2008053806.tif 000026
【手続補正書】
【提出日】平成21年2月19日(2009.2.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アクセスユニットを単位として生成された符号化データで構成される、コンテンツの種別ごとのエレメンタリストリームを、多重化パケットを単位として多重化し、前記多重化パケットで構成される多重化ストリームを生成する多重化装置であって、
多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号を生成する多重化パターン生成部と、
前記エレメンタリストリームを一時記憶するバッファと、
前記バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズを求め、前記残サイズを示す残サイズ情報を出力する残サイズ演算部と、
前記多重化パターン生成部によって生成された前記多重化パターン信号と前記残サイズ演算部によって出力された前記残サイズ情報とに基づき、前記バッファに記憶されたエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するパケット生成部と、
前記パケット生成部によって生成された前記多重化パケットを、生成された順番に多重化し、多重化ストリームを生成する多重化部とを備え、
前記残サイズ演算部は、アクセスユニットごとのデータサイズと、前記パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、前記残サイズを求め、
前記パケット生成部は、前記多重化パターン信号が示す種別が一致し、かつ前記残サイズが前記送出サイズ以上であるときに前記多重化パケットを生成することを特徴とする多重化装置。
【請求項２】
前記多重化パターンは、前記多重化パケットに格納するデータの種別ごとに、前記多重化パケットを生成する期間が所定の比率で周期的に繰り返されるパターンであることを特徴とする請求項１記載の多重化装置。
【請求項３】
前記多重化パターンは、前記多重化パケットに格納するデータの種別に要求されている最大ビットレート以上の多重化ビットレートを保証するように決められていることを特徴とする請求項２記載の多重化装置。
【請求項４】
前記残サイズ演算部は、前記アクセスユニットごとのデータサイズを前記アクセスユニットの発生間隔ごとに加算し、前記パケット生成部によって前記送出データを格納した多重化パケットが生成されるたびに前記送出サイズを減算する演算により、前記残サイズを求めることを特徴とする請求項３記載の多重化装置。
【請求項５】
前記残サイズ演算部は、前記演算により、前記アクセスユニットごとの残サイズを求めることを特徴とする請求項４記載の多重化装置。
【請求項６】
前記残サイズ演算部が前記アクセスユニットごとのデータサイズの加算を開始する時刻を生成開始時刻とし、前記生成開始時刻に対し、規定された最大ビットレートでデコーダ側のバッファを一杯にするために必要な時間であるスタートアップディレイ時間だけ遅れた時刻をデコード開始時刻としたとき、
前記パケット生成部は、
前記デコード開始時刻を示すデコーディングタイムスタンプを格納したＰＥＳヘッダと、アクセスユニットの先頭データとを格納した多重化パケットを、前記生成開始時刻、及び前記多重化パターン信号の多重化パターンに応じて生成し、
アクセスユニットの先頭データを格納した多重化パケットを生成するたびに、前記デコード開始時刻よりも前記アクセスユニットの発生間隔ずつ遅れたデコーディングタイムスタンプを格納したＰＥＳヘッダと、アクセスユニットの先頭データとを格納した多重化パケットを生成することを特徴とする請求項４又は５記載の多重化装置。
【請求項７】
前記スタートアップディレイ時間は、規定された最大ビットレートでデコーダ側のバッファを一杯にするために必要な時間と、多重化処理による最大の遅延時間とを加算した時間であることを特徴とする請求項６記載の多重化装置。
【請求項８】
前記残サイズ演算部は、前記生成開始時刻、及び前記生成開始時刻から前記アクセスユニットの発生間隔ずつ遅れた時刻に、アクセスユニットのデータサイズを前記残サイズに加算することを特徴とする請求項６記載の多重化装置。
【請求項９】
前記パケット生成部によって生成された送出データの累計サイズを求め、前記累計サイズが、要求されている最大ビットレートでエレメンタリストリームが出力されていたときの送出データのサイズを超えた場合に、多重化パケットの生成禁止を指示する送出停止信号を前記パケット生成部に通知するレート監視部をさらに備え、
前記パケット生成部は、前記多重化パターン信号が示す種別が一致し、かつ前記残サイズが前記送出サイズ以上であり、さらに前記レート監視部から前記送出停止信号が通知されていない場合に、前記多重化パケットを生成することを特徴とする請求項１〜８のいずれかに記載の多重化装置。
【請求項１０】
前記レート監視部は、前記残サイズ演算部によって求められた前記残サイズが０となった場合に、前記累計サイズと、要求されている最大ビットレートでエレメンタリストリームが出力されていたときの送出データのサイズとをクリアすることを特徴とする請求項９記載の多重化装置。
【請求項１１】
前記パケット生成部は、前記残サイズ演算部によって求められた前記残サイズが前記送出サイズ未満となるとき、不足データ分をスタッフィングデータで充当した前記多重化パケットを生成することを特徴とする請求項１〜１０のいずれかに記載の多重化装置。
【請求項１２】
前記バッファは、ビデオエレメンタリストリームを一時記憶するビデオバッファと、オーディオエレメンタリストリームを一時記憶するオーディオバッファとを含み、
前記残サイズ演算部は、前記ビデオバッファに記憶されたビデオエレメンタリストリームの多重化可能な残りのデータサイズであるビデオ残サイズを求め、前記ビデオ残サイズを示すビデオ残サイズ情報を出力するビデオ残サイズ演算部と、前記オーディオバッファに記憶されたオーディオエレメンタリストリームの多重化可能な残りのデータサイズであるオーディオ残サイズを求め、前記オーディオ残サイズを示すオーディオ残サイズ情報を出力するオーディオ残サイズ演算部とを含み、
前記パケット生成部は、前記多重化パターン生成部によって生成された前記多重化パターン信号と前記ビデオ残サイズ演算部によって出力された前記ビデオ残サイズ情報とに基づき、前記ビデオバッファに記憶されたビデオエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するビデオパケット生成部と、前記多重化パターン生成部によって生成された前記多重化パターン信号と前記オーディオ残サイズ演算部によって出力された前記オーディオ残サイズ情報とに基づき、前記オーディオバッファに記憶されたオーディオエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するオーディオパケット生成部とを含むことを特徴とする請求項１〜１１のいずれかに記載の多重化装置。
【請求項１３】
前記パケット生成部は、前記多重化パターン生成部によって生成された前記多重化パターン信号に基づき、生成する多重化ストリームに関する情報を含むシステムデータを格納した前記多重化パケットを生成するシステムパケット生成部をさらに含むことを特徴とする請求項１２記載の多重化装置。
【請求項１４】
前記多重化パターンは、前記ビデオエレメンタリストリームに対応した多重化パケットを生成するビデオ期間と、前記オーディオエレメンタリストリームに対応した多重化パケットを生成するオーディオ期間とが所定の比率で周期的に繰り返されるパターンであり、
前記オーディオ期間は、前記オーディオエレメンタリストリームに対応した多重化パケットを生成するオーディオ送出期間と、前記システムデータに対応した多重化パケットを生成するシステム期間とで構成されることを特徴とする請求項１３に記載の多重化装置。
【請求項１５】
前記ビデオエレメンタリストリームは、最大ビットレートが規定された可変長符号化データで構成される可変ビットレートのエレメンタリストリームであることを特徴とする請求項１２〜１４のいずれかに記載の多重化装置。
【請求項１６】
前記ビデオ残サイズ演算部が前記ビデオアクセスユニットごとのデータサイズの加算を開始する時刻をビデオ生成開始時刻とし、前記ビデオ生成開始時刻に対し、規定された最大ビットレートでデコーダ側のビデオバッファを一杯にするために必要な時間であるＶＢＶディレイ時間を含むスタートアップディレイ時間だけ遅れた時刻をビデオデコード開始時刻としたとき、
前記ビデオパケット生成部は、
前記ビデオデコード開始時刻を示すビデオデコーディングタイムスタンプを格納したビデオＰＥＳヘッダと、ビデオアクセスユニットの先頭データとを格納した多重化パケットを前記ビデオ生成開始時刻に生成し、
ビデオアクセスユニットの先頭データを格納した多重化パケットを生成するたびに、前記ビデオデコード開始時刻よりも前記ビデオアクセスユニットの発生間隔ずつ遅れたビデオデコーディングタイムスタンプを格納したビデオＰＥＳヘッダと、ビデオアクセスユニットの先頭データとを格納した多重化パケットを生成することを特徴とする請求項１２〜１５のいずれかに記載の多重化装置。
【請求項１７】
前記スタートアップディレイ時間は、前記ＶＢＶディレイ時間と、多重化処理による最大の遅延時間とを加算した時間であることを特徴とする請求項１６記載の多重化装置。
【請求項１８】
前記ビデオ残サイズ演算部は、前記ビデオ生成開始時刻、及び前記ビデオ生成開始時刻から前記ビデオアクセスユニットの発生間隔ずつ遅れた時刻に、ビデオアクセスユニットのデータサイズを前記ビデオ残サイズに加算することを特徴とする請求項１６又は１７記載の多重化装置。
【請求項１９】
前記オーディオエレメンタリストリームは、最大ビットレートが規定された可変長符号化データで構成される可変ビットレートのエレメンタリストリームであることを特徴とする請求項１６〜１８のいずれかに記載の多重化装置。
【請求項２０】
前記オーディオパケット生成部が多重化ストリームの生成を開始する時刻をオーディオ生成開始時刻とし、前記オーディオ生成開始時刻に対し、規定された最大ビットレートでデコーダ側のオーディオバッファを一杯にするために必要な時間であるオーディオバッファディレイ時間を含むスタートアップディレイ時間だけ遅れた時刻をオーディオ提示開始時刻としたとき、
前記オーディオパケット生成部は、
前記オーディオ提示開始時刻を示すオーディオ提示タイムスタンプを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを格納した多重化パケットを、前記オーディオ生成開始時刻に生成し、
オーディオアクセスユニットの先頭データを格納した多重化パケットを生成するたびに、前記オーディオ提示開始時刻よりもオーディオアクセスユニットの発生間隔ずつ遅れたオーディオ提示タイムスタンプを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを格納した多重化パケットを生成することを特徴とする請求項１９記載の多重化装置。
【請求項２１】
前記スタートアップディレイ時間は、前記オーディオバッファディレイ時間と、多重化処理による最大の遅延時間とを加算した時間であることを特徴とする請求項２０記載の多重化装置。
【請求項２２】
前記オーディオ残サイズ演算部は、前記オーディオ生成開始時刻、及び前記オーディオ生成開始時刻からオーディオアクセスユニットの発生間隔ずつ遅れた時刻に、オーディオアクセスユニットのデータサイズを前記オーディオ残サイズに加算することを特徴とする請求項２０又は２１記載の多重化装置。
【請求項２３】
前記ビデオデコード開始時刻から前記ビデオアクセスユニットの発生間隔を含む期間だけ遅れた時刻をオーディオ提示開始時刻とするとともに、オーディオ提示開始時刻よりもオーディオアクセスユニットの発生間隔だけ前の時刻をオーディオ生成開始時刻としたとき、
前記オーディオパケット生成部は、
前記オーディオ提示開始時刻を示すオーディオ提示タイムスタンプを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを格納した多重化パケットを前記オーディオ生成開始時刻に生成し、
オーディオアクセスユニットの先頭データを格納した多重化パケットを生成するたびに、前記オーディオ提示開始時刻よりもオーディオアクセスユニットの発生間隔ずつ遅れたオーディオ提示タイムスタンプを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを格納した多重化パケットを生成することを特徴とする請求項１６〜１８のいずれかに記載の多重化装置。
【請求項２４】
前記オーディオ提示開始時刻は、前記ビデオデコード開始時刻から、前記ビデオアクセスユニットの発生間隔と多重化処理による最大の遅延時間とを加算した時間だけ遅れた時刻であることを特徴とする請求項２３記載の多重化装置。
【請求項２５】
前記多重化ストリームは、トランスポートストリームであることを特徴とする請求項１〜２４のいずれかに記載の多重化装置。
【請求項２６】
アクセスユニットを単位として生成された符号化データで構成される、コンテンツの種別ごとのエレメンタリストリームを、多重化パケットを単位として多重化し、前記多重化パケットで構成される多重化ストリームを生成する機能を有した集積回路であって、
多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号を生成する多重化パターン生成部と、
前記エレメンタリストリームを一時記憶するバッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズを求め、前記残サイズを示す残サイズ情報を出力する残サイズ演算部と、
前記多重化パターン生成部によって生成された前記多重化パターン信号と前記残サイズ演算部によって出力された前記残サイズ情報とに基づき、前記バッファに記憶されたエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するパケット生成部と、
前記パケット生成部によって生成された前記多重化パケットを、生成された順番に多重化し、多重化ストリームを生成する多重化部とを備え、
前記残サイズ演算部は、アクセスユニットごとのデータサイズと、前記パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、前記残サイズを求め、
前記パケット生成部は、前記多重化パターン信号が示す種別が一致し、かつ前記残サイズが前記送出サイズ以上であるときに前記多重化パケットを生成することを特徴とする集積回路。
【請求項２７】
アクセスユニットを単位として生成された符号化データで構成される、コンテンツの種別ごとのエレメンタリストリームをそれぞれのバッファに一時記憶し、前記バッファに一時記憶したエレメンタリストリームを多重化パケット単位に多重化し、前記多重化パケットで構成される多重化ストリームを生成する多重化方法であって、
多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号を生成する多重化パターン生成ステップと、
前記バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズを求め、前記残サイズを示す残サイズ情報を出力する残サイズ演算ステップと、
前記多重化パターン生成ステップにおいて生成された前記多重化パターン信号と前記残サイズ演算ステップにおいて出力された前記残サイズ情報とに基づき、前記バッファに記憶されたエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するパケット生成ステップと、
前記パケット生成ステップにおいて生成された前記多重化パケットを、生成された順番に多重化し、多重化ストリームを生成する多重化ステップとを備え、
前記残サイズ演算ステップは、アクセスユニットごとのデータサイズと、前記パケット生成ステップにおいて多重化パケットに格納された送出データのサイズである送出サイズとに基づき、前記残サイズを求め、
前記パケット生成ステップは、前記多重化パターン信号が示す種別が一致し、かつ前記残サイズが前記送出サイズ以上であるときに前記多重化パケットを生成することを特徴とする多重化方法。
【請求項２８】
アクセスユニットを単位として生成された符号化データで構成される、コンテンツの種別ごとのエレメンタリストリームをそれぞれのバッファに一時記憶し、前記バッファに一時記憶したエレメンタリストリームを多重化パケット単位に多重化し、前記多重化パケットで構成される多重化ストリームを生成する多重化プログラムであって、
多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号を生成する多重化パターン生成部と、
前記バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズを求め、前記残サイズを示す残サイズ情報を出力する残サイズ演算部と、
前記多重化パターン生成部によって生成された前記多重化パターン信号と前記残サイズ演算部によって出力された前記残サイズ情報とに基づき、前記バッファに記憶されたエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するパケット生成部と、
前記パケット生成部によって生成された前記多重化パケットを、生成された順番に多重化し、多重化ストリームを生成する多重化部としてコンピュータを機能させ、
前記残サイズ演算部は、アクセスユニットごとのデータサイズと、前記パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、前記残サイズを求め、
前記パケット生成部は、前記多重化パターン信号が示す種別が一致し、かつ前記残サイズが前記送出サイズ以上であるときに前記多重化パケットを生成することを特徴とする多重化プログラム。
【請求項２９】
アクセスユニットを単位として生成された符号化データで構成される、コンテンツの種別ごとのエレメンタリストリームをそれぞれのバッファに一時記憶し、前記バッファに一時記憶したエレメンタリストリームを多重化パケット単位に多重化し、前記多重化パケットで構成される多重化ストリームを生成する多重化プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号を生成する多重化パターン生成部と、
前記バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズを求め、前記残サイズを示す残サイズ情報を出力する残サイズ演算部と、
前記多重化パターン生成部によって生成された前記多重化パターン信号と前記残サイズ演算部によって出力された前記残サイズ情報とに基づき、前記バッファに記憶されたエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するパケット生成部と、
前記パケット生成部によって生成された前記多重化パケットを、生成された順番に多重化し、多重化ストリームを生成する多重化部としてコンピュータを機能させ、
前記残サイズ演算部は、アクセスユニットごとのデータサイズと、前記パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、前記残サイズを求め、
前記パケット生成部は、前記多重化パターン信号が示す種別が一致し、かつ前記残サイズが前記送出サイズ以上であるときに前記多重化パケットを生成することを特徴とする多重化プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項３０】
請求項２７に記載の多重化方法により生成された多重化ストリームを記録したコンピュータ読み取り可能な記録媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のエレメンタリストリームを多重化する多重化装置、集積回路、多重化方法、多重化プログラム、多重化プログラムを記録したコンピュータ読み取り可能な記録媒体及び多重化ストリームを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
近年、放送の技術分野においてもデジタル化が急速に進展し、例えば、デジタル放送システムが実用化されている。このようなデジタル放送システムでは、ビデオやオーディオなどのコンテンツ、さらにはサービス情報や番組に関する情報などがデジタル形式で多重化され、放送されている。また、ビデオやオーディオなどのコンテンツデータは、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）システムなどの規格に基づいて圧縮符号化され、圧縮符号化されたコンテンツデータである符号化データの断片をパケットとし、パケットの集合をストリーム信号として伝送する形態が一般的となっている。
【０００３】
また、このようなストリーム信号を受け取る側は、ストリーム信号に含まれる符号化データを抽出し、抽出した符号化データに対して復号化処理を施すことで、コンテンツデータを復元する。また、このようなストリーム信号を伝送する手法として、デジタル放送システムでは、トランスポートストリームと呼ばれるストリーム信号を伝送することでデジタル放送が行われる。
【０００４】
特に、例えば上述したＭＰＥＧシステムでは、ビデオ符号化データ及びオーディオ符号化データなどの複数の符号化データを多重化したトランスポートストリームを生成するにあたり、復号化処理を行うデコーダとして、標準的なモデルであるシステムターゲットデコーダ（ＳＴＤ：Ｓｙｓｔｅｍ  Ｔａｒｇｅｔ  Ｄｅｃｏｄｅｒ、以下、適宜、“ＳＴＤ”と呼ぶ）が想定されている。すなわち、ＭＰＥＧシステムにおいては、このようなＳＴＤに基づき、多重化装置がこのＳＴＤを破綻させることのないようにトランスポートストリームを生成することによって、デコーダ側において復号化処理を正しく実行できることが保証されている。このため、例えば、デジタル放送システムにおける多重化装置では、ＳＴＤに含まれる各種バッファの蓄積状態を仮想的に逐次監視し、オーバーフローやアンダーフローのようなバッファの破綻を起こさないように制御しながらトランスポートストリームを生成している。
【０００５】
一方、民生用の映像機器の技術分野においても、例えば、情報をデジタル形式で記録するハードディスクや光ディスクなどの記録媒体の大容量化がめざましく進展し、ＤＶＤレコーダなどと呼ばれる記録再生装置を利用して、ビデオデータのような大容量データを一般家庭で記録して扱うことが可能である。さらに、記録媒体の小型化もめざましく進展しており、例えば、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカードなどのメモリカードや電子カードを、携帯電話装置やデジタルカメラ装置などに装着し、ビデオやオーディオなどのコンテンツデータを記録したり再生したりすることも可能である。
【０００６】
ところで、このようなコンテンツデータを記録媒体へ記録する場合においても、基本的に上述したようなストリーム形式で、それぞれの記録媒体のフォーマットに従って記録するような方式が一般的となりつつある。このため、このような方式を利用したビデオカメラ装置などにおいては、ストリーム信号を生成するため、コンテンツデータを圧縮符号化するエンコーダ、ビデオやオーディオの符号化データ及び制御用データをパケット化するパケット化手段、及び各パケットを多重化する多重化手段などを備えた構成としている。この場合、ビデオカメラ装置などのような民生用機器に、デジタル放送システムに使用されているようなエンコーダや多重化装置を用いると非常にコストアップとなるため、このような民生用機器に適応したストリーム信号生成手法に関する技術が提案されている。
【０００７】
このような技術の一例として、例えば、上述したＳＴＤの仮想的な制御を必要とせずに、複数の符号化データを多重化するような多重化装置がある。すなわち、上述したＳＴＤに含まれる各バッファの蓄積状態を仮想的に逐次監視しながら多重化処理を実行するような手法では、複雑な処理が必要となるため、民生用機器に適用するには不向きであった。このため、従来、各符号化データを含むパケットの現れるそれぞれの割合が各符号化データのビットレートの比と同じになるように、各パケットを所定の順序に従って交互に多重化して、多重化ストリームを生成する多重化装置が提案されている（例えば、特許文献１参照）。
【０００８】
図２３は、このような従来の多重化装置の構成を示すブロック図である。図２３に示す従来の多重化装置９１は、ＭＰＥＧ−１規格に従って、ビデオデータ及びオーディオデータをそれぞれ圧縮符号化し、それぞれの符号化データで構成されるビデオストリーム及びオーディオストリームをさらにそれぞれ多重化して、可搬型記録媒体９２に対して多重化ストリームとして記録する装置である。
【０００９】
図２３に示す多重化装置９１において、ビデオエンコーダ９１１は、ＣＰＵ９１６からの制御信号に応じて、入力されたビデオデータに対して固定ビットレートにより圧縮符号化処理を行う。そして、ビデオエンコーダ９１１は、生成したビデオ符号化データで構成されるビデオストリームをビデオ入力バッファ９１２に対して順次供給する。ビデオ入力バッファ９１２は、供給されたビデオストリームを一時記憶し、ＣＰＵ９１６からの要求に応じて、一時記憶したビデオストリームを出力バッファ９１５に供給する。
【００１０】
また、同様に、オーディオエンコーダ９１３は、ＣＰＵ９１６からの制御信号に応じて、入力されたオーディオデータに対して固定ビットレートにより圧縮符号化処理を行う。そして、オーディオエンコーダ９１３は、生成したオーディオ符号化データで構成されるオーディオストリームをオーディオ入力バッファ９１４に対して順次供給する。オーディオ入力バッファ９１４も、供給されたオーディオストリームを一時記憶し、ＣＰＵ９１６からの要求に応じて、一時記憶したオーディオストリームを出力バッファ９１５に供給する。
【００１１】
出力バッファ９１５は、ＣＰＵ９１６の制御に基づいて、ビデオ入力バッファ９１２及びオーディオ入力バッファ９１４から出力されたデータや、ＣＰＵ９１６により生成されたヘッダ情報などを、指定されたアドレスに記憶する。このとき、ＣＰＵ９１６は、ビデオ入力バッファ９１２及びオーディオ入力バッファ９１４に一時記憶された、固定ビットレートのビデオストリーム及びオーディオストリームから、同一長さのパケットデータを断片的に所定の順序で抽出するよう制御するとともに、各パケットデータに対して固定長のヘッダデータを生成して、これらを出力バッファ９１５に交互に記憶させる。
【００１２】
このようにして、出力バッファ９１５には、ヘッダデータ、ビデオストリームの断片データを含むパケットデータ、及びオーディオストリームの断片データを含むパケットデータが所定の順序で交互に繰り返される多重化ストリームが記憶されることになる。
【００１３】
また、多重化装置９１は、このようにして生成された多重化ストリームを可搬型記録媒体９２に出力する。このように、多重化装置９１により多重化処理が実行され、この多重化処理により生成された多重化ストリームが可搬型記録媒体９２に記録される。
【００１４】
また、この多重化処理においても、上述したように、デコーダ側に設けられるバッファがオーバーフロー及びアンダーフローを起こさないように、多重化ストリームを生成する必要がある。このため、多重化装置９１は、多重化の際に、ビデオストリームとオーディオストリームとのパケットデータが現れる割合が、ビデオストリームとオーディオストリームとのビットレートの比と同じになるように多重化処理を実行する。これにより、パックやヘッダデータの伝送ビットレートが一定で、かつ単位時間内に伝送されるビデオストリーム及びオーディオストリームのデータ量が一定になり、生成された多重化ストリームの復号化時におけるＳＴＤバッファのオーバーフローが防止される。
【００１５】
図２４は、従来の多重化装置のビデオ及びオーディオの各パケットの割り当て方法を概念的に示した図である。図２４に示す多重化ストリーム２４１では、例えば、ビデオストリームのビットレート（以下、“ビデオレート”と呼ぶ）が１２８ｋｂｐｓ、オーディオストリームのビットレート（以下、“オーディオレート”と呼ぶ）が３２ｋｂｐｓのように、ビデオレートとオーディオレートとの比が４：１となるような場合での、ビデオ及びオーディオの各パケットの割り当て方法を示している。なお、図２４において、“Ｖ”はビデオストリームを格納したパケットであるビデオパケットを示し、“Ａ”はオーディオストリームを格納したパケットであるオーディオパケットを示している。
【００１６】
すなわち、多重化装置９１は、多重化ストリームの生成において、ビデオストリームとオーディオストリームとのパケットデータが現れる割合を、ビデオストリームとオーディオストリームとの固定ビットレートの比である４：１とするため、多重化ストリーム２４１に示すように、各符号化ストリームを一定のデータ量のパケットデータとして区切り、ビデオパケット４つとオーディオパケット１つとを交互に多重化している。
【００１７】
また、この多重化されたストリーム全体の転送ビットレートＲｍｕｘは、各符号化ストリームのビットレートの和であるＲｍｕｘ＝１２８ｋｂｐｓ＋３２ｋｂｐｓ＝１６０ｋｂｐｓとしている。すなわち、生成された１６０ｋｂｐｓの多重化ストリーム内には、ビデオレートとオーディオレートとの比である４：１となるように、ビデオ及びオーディオの各データが常に一定割合で含まれることから、デコーダ側のＳＴＤバッファには単位時間内に一定以上の量のデータが入力することがなく、オーバーフローは発生しない。
【００１８】
さらに、多重化装置９１は、多重化の際に、デコーダ側が入力されたデータをあらかじめＳＴＤバッファにある程度蓄積したあと、順次読み出してデコードを開始するように、構成されている。すなわち、実際にはビデオ及びオーディオのアクセスユニットごとのデータ量は一定でないため、ＳＴＤバッファに対する入力データ量は常に一定とはならず、アンダーフローが生じる可能性がある。なお、アクセスユニットとは、ビデオでは符号化単位のピクチャやフレーム、オーディオではオーディオフレームがこれに相当する。
【００１９】
このようなアンダーフローを防止するため、多重化装置９１では、デコードの開始以前にあらかじめデータを蓄積するために要する時間が設けられている。このようなデコーダ側のバッファにあらかじめデータを蓄積しておく時間は、スタートアップディレイと呼ばれている。図２４に示す多重化ストリーム２４２は、このようなスタートアップディレイを設けている。
【００２０】
このようなスタートアップディレイを設けることにより、多重化ストリームの復号化時では、スタートアップディレイの期間だけＳＴＤバッファにデータを蓄積させた後、復号化を開始することとなる。また、このため、復号化の開始時刻は多重化ストリームの先頭データがＳＴＤバッファに転送されてからスタートアップディレイ分だけ遅延された時刻となる。
【００２１】
以上、従来の多重化装置９１は、多重化ストリームの生成の際に、同一データ長であるビデオパケットとオーディオパケットとが現れる割合がそれぞれの固定ビットレートの比となるように多重化することで、復号化時におけるＳＴＤバッファのオーバーフローを防止している。
【００２２】
さらに、従来の多重化装置９１は、ビデオパケット及びオーディオパケットを復号開始時刻までにＳＴＤバッファに蓄積するスタートアップディレイの時間をあらかじめ設定し、多重化時において復号化の開始時刻などを示すタイムスタンプの値に反映させることにより、復号化時におけるＳＴＤバッファのアンダーフローを防止している。
【００２３】
このように、従来の多重化装置９１は、以上説明したような構成とすることにより、ＳＴＤの仮想的な制御を必要とせずに複数の符号化データを多重化するような多重化装置を実現している。
【特許文献１】特開２００３−７８８７３号公報
【発明の開示】
【発明が解決しようとする課題】
【００２４】
しかしながら、上述した従来の多重化装置は、固定のビットレートで符号化して生成された複数の符号化データに対して多重化処理を行う場合においては、デコーダ側のバッファの破綻を回避できたが、可変ビットレートで生成されるような符号化データに対しては、バッファが破綻する可能性がさらに存在するという課題があった。
【００２５】
すなわち、例えばＭＰＥＧシステムでは、ビデオデータを圧縮符号化して生成した符号化データのデータ量は、Ｉ−ピクチャ、Ｐ−ピクチャ及びＢ−ピクチャの種別により大きく異なり、さらに画像の内容によっても大きく異なる。このため、例えば、平坦で動きのないような画像が継続するような場合、アクセスユニットごとのビデオ符号化データ量は極端に少なくなり、スタートアップディレイを設けるのみでは、アンダーフロー及びオーバーフローを防止できない可能性があった。
【００２６】
さらに、従来の多重化装置では、デコーダ側のバッファが破綻しないように、デコーダ側のバッファをシミュレーションしながら多重化処理を行っている。しかしながら、デコーダ側のバッファは複数存在し、動作も複雑であるため、多重化処理全体の処理量が多くなり、処理時間も長くなってしまうという問題があった。
【００２７】
本発明は、上記の問題を解決するためになされたもので、エンコーダで生成された符号化データが可変長符号化データで構成される可変ビットレートであっても、デコーダ側のバッファの破綻を防止することができ、多重化処理に要する処理時間を短縮することができる多重化装置、集積回路、多重化方法、多重化プログラム、多重化プログラムを記録したコンピュータ読み取り可能な記録媒体及び多重化ストリームを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とするものである。
【課題を解決するための手段】
【００２８】
本発明の一局面に係る多重化装置は、アクセスユニットを単位として生成された符号化データで構成される、コンテンツの種別ごとのエレメンタリストリームを、多重化パケットを単位として多重化し、前記多重化パケットで構成される多重化ストリームを生成する多重化装置であって、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号を生成する多重化パターン生成部と、前記エレメンタリストリームを一時記憶するバッファと、前記バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズを求め、前記残サイズを示す残サイズ情報を出力する残サイズ演算部と、前記多重化パターン生成部によって生成された前記多重化パターン信号と前記残サイズ演算部によって出力された前記残サイズ情報とに基づき、前記バッファに記憶されたエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するパケット生成部と、前記パケット生成部によって生成された前記多重化パケットを、生成された順番に多重化し、多重化ストリームを生成する多重化部とを備え、前記残サイズ演算部は、アクセスユニットごとのデータサイズと、前記パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、前記残サイズを求め、前記パケット生成部は、前記多重化パターン信号が示す種別が一致し、かつ前記残サイズが前記送出サイズ以上であるときに前記多重化パケットを生成する。
【００２９】
この構成によれば、多重化パターン生成部によって、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号が生成され、バッファには、エレメンタリストリームが一時記憶される。残サイズ演算部によって、バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズが求められ、残サイズを示す残サイズ情報が出力される。そして、パケット生成部によって、多重化パターン信号と残サイズ情報とに基づき、バッファに記憶されたエレメンタリストリームから所定サイズのデータが送出データとして取り込まれ、取り込んだ送出データを格納した多重化パケットが生成される。その後、多重化部によって、パケット生成部によって生成された多重化パケットが、生成された順番に多重化され、多重化ストリームが生成される。また、残サイズ演算部によって、アクセスユニットごとのデータサイズと、パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、残サイズが求められる。さらに、パケット生成部によって、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットが生成される。
【発明の効果】
【００３０】
本発明によれば、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットが生成されるので、エンコーダで生成された符号化データが可変長符号化データで構成される可変ビットレートであっても、デコーダ側のバッファの破綻を防止することができる。また、アクセスユニットごとのデータサイズと、多重化パケットに格納された送出データのサイズである送出サイズとに基づき、残サイズが求められ、エンコーダ側のバッファシミュレーションにより多重化処理が行われるので、従来のデコーダ側のバッファシミュレーションによる多重化処理に比べて、多重化処理に要する処理時間を短縮することができる。
【００３１】
本発明の目的、特徴及び利点は、以下の詳細な説明と添付図面とによって、より明白となる。
【発明を実施するための最良の形態】
【００３２】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【００３３】
（実施の形態１）
図１は、本実施の形態１における多重化装置の構成を示すブロック図である。本実施の形態では、コンテンツの種別を映像であるビデオ及び音声であるオーディオとするコンテンツデータ、すなわち、ビデオデータ及びオーディオデータを圧縮符号化し、圧縮符号化により生成されたビデオ及びオーディオそれぞれの符号化データを多重化ストリームの１つであるトランスポートストリームに多重化し、このトランスポートストリームを記録媒体に記録する多重化装置の一例を説明する。また、本実施の形態では、圧縮符号化方式として知られるＭＰＥＧ−２、ＭＰＥＧ−４  ＡＶＣ方式に基づき生成された符号化データに適用した一例を挙げて説明する。なお、本実施の形態における圧縮符号化方式は、ＭＰＥＧ方式に限定されるものではなく、アクセスユニット毎に区切られた符号化データを一定レートで出力するような規格の他の圧縮符号化方式を用いてもよい。
【００３４】
図１に示すように、本多重化装置には、記録媒体６２に記録するためのビデオデータ及びオーディオデータが供給される。ビデオエンコーダ１１は、装置制御部１９からの制御に応じて、供給されたビデオデータに対し、例えばビデオフレーム周期を１つの時間単位として圧縮符号化処理を行い、ビデオのアクセスユニット間隔ごとに発生したビデオ符号化データを出力する。
【００３５】
本実施の形態では、ビデオエンコーダ１１が、供給されたビデオデータに対し、ビデオアクセスユニットの発生間隔ごととなるビデオフレーム周期Ｔｆｒを単位として、ＭＰＥＧ−２方式においてＩ−ピクチャと呼ばれる画面内符号化処理、Ｐ−ピクチャと呼ばれる画面間前方予測符号化処理、及びＢ−ピクチャと呼ばれる画面間双方向予測符号化処理を行うとともに、アクセスユニットごとに可変ビット長である可変長符号化データを出力する例を挙げて説明する。
【００３６】
なお、本実施の形態では、順次走査のような動画像のコマ数単位であるビデオフレーム周期を時間単位とした例を挙げて説明するが、飛び越し走査、すなわちインターレースによる動画像のコマ数単位であるビデオフィールド周期を時間単位としてもよく、アクセスユニットごとに可変長符号化データを出力するようなアクセスユニットの発生間隔ごとであればよい。
【００３７】
このようなアクセスユニットごとに可変ビット長となるビデオ符号化データは、これらのビデオ符号化データで構成されるビデオエレメンタリストリーム（ＥＳ：Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ）ＥＳｖとして、以下で説明するビデオユニットサイズ計測部１２及びトランスポートストリーム生成部（以下、適宜、“ＴＳ生成部”と呼ぶ）３０に供給される。以下、本実施の形態では、このようなビデオエレメンタリストリームＥＳｖが、最大ビットレートが規定された可変長符号化データで構成される可変ビットレートのエレメンタリストリームであるとして説明する。
【００３８】
ビデオユニットサイズ計測部１２は、供給されたビデオエレメンタリストリームＥＳｖから、ビデオフレーム周期Ｔｆｒで発生したビデオ符号化データのビット量など、そのデータサイズであるビデオ発生サイズＳｖを計測し、計測したビデオ発生サイズＳｖを示すビデオ発生サイズ情報Ｄ（Ｓｖ）を、アクセスユニットごとにＴＳ生成部３０に通知する。
【００３９】
また、オーディオエンコーダ２１は、装置制御部１９からの制御に応じて、供給されたオーディオデータに対し、例えばオーディオフレーム周期を１つの時間単位として圧縮符号化処理を行い、オーディオのアクセスユニット間隔ごとに発生したオーディオ符号化データを出力する。
【００４０】
本実施の形態では、オーディオエンコーダ２１が、供給されたオーディオデータに対し、オーディオアクセスユニットの発生間隔ごととなるオーディオフレーム周期Ｔａｆｒを単位として、アクセスユニットごとの固定ビット長であるオーディオ符号化データを出力する例を挙げて説明する。このようなアクセスユニットごとに固定ビット長となるオーディオ符号化データは、これらのオーディオ符号化データで構成されるオーディオエレメンタリストリームＥＳａとして、以下で説明するオーディオユニットサイズ計測部２２及びＴＳ生成部３０に供給される。
【００４１】
オーディオユニットサイズ計測部２２は、供給されたオーディオエレメンタリストリームＥＳａから、オーディオフレーム周期Ｔａｆｒで発生したオーディオ符号化データのビット量など、そのデータサイズであるオーディオ発生サイズＳａを計測し、計測したオーディオ発生サイズＳａを示すオーディオ発生サイズ情報Ｄ（Ｓａ）を、アクセスユニットごとにＴＳ生成部３０に通知する。
【００４２】
また、装置制御部１９は、例えばＣＰＵ（中央演算処理装置）などで構成され、多重化装置の全体を制御する。すなわち、例えば、ユーザが映像や音声で構成されるコンテンツを記録しようとする場合、ユーザからの指示情報が装置制御部１９に通知される。装置制御部１９は、このようなユーザからの指示情報に応じて、本多重化装置の各部を制御したり、またそれに関する処理などを実行したりする。例えば、ユーザがコンテンツを記録するように指示すると、装置制御部１９は、記録の指示を示す記録指示信号を、ビデオエンコーダ１１、オーディオエンコーダ２１及び次に説明するＴＳ生成部３０などに通知する。
【００４３】
このように、ビデオ及びオーディオなどのコンテンツの種別それぞれにおいて、エンコーダによりアクセスユニットを単位として生成された符号化データで構成されるエレメンタリストリームがＴＳ生成部３０に供給される。
【００４４】
ＴＳ生成部３０は、供給されたビデオ及びオーディオのエレメンタリストリームを一時的に記憶するとともに、記憶したエレメンタリストリームの符号化データを順次読み出し、アクセスユニットごとの符号化データをパケット化したパケッタイズドエレメンタリストリーム（ＰＥＳ：Ｐａｃｋｅｔｉｚｅｄ  Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ、以下、適宜、“ＰＥＳ”と呼ぶ）に変換する。
【００４５】
さらに、ＴＳ生成部３０は、ビデオ及びオーディオのＰＥＳを格納した多重化パケットとしてのＴＳパケットを順次生成し、生成したＴＳパケットを多重化する。このようにして、ＴＳ生成部３０は、ビデオ及びオーディオのエレメンタリストリームを、ＴＳパケットを単位として多重化し、これらのＴＳパケットで構成される多重化ストリームとしてのトランスポートストリームＴＳを生成する。
【００４６】
ＴＳ生成部３０により生成されたトランスポートストリームＴＳは、記録制御部６１に供給され、記録媒体６２のフォーマットに従って記録媒体６２に記録される。このようにして、本多重化装置に供給されたコンテンツデータがトランスポートストリームＴＳの形態で記録媒体６２に記録される。
【００４７】
次に、ＴＳ生成部３０の構成について説明する。本実施の形態の多重化装置におけるＴＳ生成部３０は、多重化パターン生成部５６、ビデオバッファ３１、ビデオパケット生成部３２、ビデオ残サイズ演算部３３、オーディオバッファ４１、オーディオパケット生成部４２、オーディオ残サイズ演算部４３、システムパケット生成部４９及び多重化部５１を備える。
【００４８】
多重化パターン生成部５６は、ビデオ、オーディオ及びシステムとして多重化するデータ種別の順序や組み合せを示す多重化パターンに対応した多重化パターン信号Ｐを生成する。
【００４９】
ビデオバッファ３１は、供給されたビデオエレメンタリストリームＥＳｖを一時記憶する。ビデオ残サイズ演算部３３は、ビデオバッファ３１に記憶されたビデオエレメンタリストリームＥＳｖの多重化可能な残りのデータサイズであるビデオ残サイズＳｒｖを求め、求めたビデオ残サイズＳｒｖを示すビデオ残サイズ情報Ｄ（Ｓｒｖ）を出力する。ビデオパケット生成部３２は、多重化パターン信号Ｐとビデオ残サイズ情報Ｄ（Ｓｒｖ）とに基づき、ビデオバッファ３１に記憶されたビデオエレメンタリストリームＥＳｖから所定サイズのデータを送出データとして取り込み、取り込んだ送出データを格納したＴＳパケットを生成する。
【００５０】
オーディオバッファ４１は、供給されたオーディオエレメンタリストリームＥＳａを一時記憶する。オーディオ残サイズ演算部４３は、オーディオバッファ４１に記憶されたオーディオエレメンタリストリームＥＳａの多重化可能な残りのデータサイズであるオーディオ残サイズＳｒａを求め、求めたオーディオ残サイズＳｒａを示すオーディオ残サイズ情報Ｄ（Ｓｒａ）を出力する。オーディオパケット生成部４２は、多重化パターン信号Ｐとオーディオ残サイズ情報Ｄ（Ｓｒａ）とに基づき、オーディオバッファ４１に記憶されたオーディオエレメンタリストリームＥＳａから所定サイズのデータを送出データとして取り込み、取り込んだ送出データを格納したＴＳパケットを生成する。
【００５１】
システムパケット生成部４９は、多重化パターン信号Ｐに基づき、生成するトランスポートストリームＴＳに関する情報を含むシステムデータを格納したＴＳパケットを生成する。多重化部５１は、ビデオパケット生成部３２、オーディオパケット生成部４２及びシステムパケット生成部４９で生成されたＴＳパケットを、生成された順番に多重化し、トランスポートストリームＴＳを生成する。
【００５２】
さらに、本実施の形態におけるＴＳ生成部３０は、制御部５９、クロック発生部５４、システム時刻生成部５５、タイムスタンプ生成部５７、ＰＥＳｖヘッダ生成部３４及びＰＥＳａヘッダ生成部４４を備える。
【００５３】
制御部５９は、ＴＳ生成部３０の各部の制御やその制御に必要な処理を行う。クロック発生部５４は、ＴＳ生成部３０におけるクロック信号を発生する。システム時刻生成部５５は、クロック発生部５４からのクロック信号を用いてＴＳ生成部３０における基準時刻を生成する。タイムスタンプ生成部５７は、制御部５９からの情報を用いてタイムスタンプ情報を生成する。
【００５４】
ＰＥＳｖヘッダ生成部３４は、タイムスタンプ生成部５７で生成されたタイムスタンプ情報を受け取り、受け取ったタイムスタンプ情報を含むビデオＰＥＳのヘッダデータを生成する。ＰＥＳａヘッダ生成部４４は、タイムスタンプ生成部５７で生成されたタイムスタンプ情報を受け取り、受け取ったタイムスタンプ情報を含むオーディオＰＥＳのヘッダデータを生成する。
【００５５】
また、ビデオ残サイズ演算部３３は、ビデオアクセスユニットごとのデータサイズであるビデオ発生サイズＳｖと、ビデオパケット生成部３２でＴＳパケットに格納した送出データのサイズである送出サイズＳｔｖとに基づきビデオ残サイズＳｒｖを求める。ビデオパケット生成部３２は、多重化パターン信号Ｐで示される種別が一致し、かつビデオ残サイズＳｒｖが送出サイズ以上であるときに、ＴＳパケットを生成する。
【００５６】
これとともに、オーディオ残サイズ演算部４３は、オーディオアクセスユニットごとのデータサイズであるオーディオ発生サイズＳａと、オーディオパケット生成部４２でＴＳパケットに格納した送出データのサイズである送出サイズＳｔａとに基づきオーディオ残サイズＳｒａを求める。オーディオパケット生成部４２は、多重化パターン信号Ｐで示される種別が一致し、かつオーディオ残サイズＳｒａが送出サイズ以上であるときに、ＴＳパケットを生成する。
【００５７】
本実施の形態の多重化装置におけるＴＳ生成部３０は、このような構成であることを特徴としている。すなわち、ビデオ及びオーディオそれぞれにおいて、ビデオ残サイズ演算部３３及びオーディオ残サイズ演算部４３は、ビデオバッファ３１及びオーディオバッファ４１に存在するデータのうち多重化可能なデータのデータ量をビデオ残サイズ情報Ｄ（Ｓｒｖ）及びオーディオ残サイズ情報Ｄ（Ｓｒａ）としてビデオパケット生成部３２及びオーディオパケット生成部４２に通知する。ビデオパケット生成部３２及びオーディオパケット生成部４２は、多重化パターン信号ＰでＴＳパケットの生成が指示されたとき、ビデオ残サイズ情報Ｄ（Ｓｒｖ）及びオーディオ残サイズ情報Ｄ（Ｓｒａ）を参照し、生成に利用可能なデータがビデオバッファ３１及びオーディオバッファ４１にある場合にＴＳパケットを生成する。
【００５８】
本実施の形態の多重化装置におけるＴＳ生成部３０は以上のような基本構成であり、供給されたビデオ及びオーディオのエレメンタリストリームは、多重化パターン生成部５６からの多重化パターンに従って多重化される。そのため、多重化パターンを適切に設定することにより、その多重化パターンに応じた比率で各エレメンタリストリームを多重化することができる。また、アクセスユニットごとの符号化データ量が極端に少なくなった場合や、多重化可能なデータがなくなった場合には、ビデオ残サイズ演算部３３及びオーディオ残サイズ演算部４３からのビデオ残サイズ及びオーディオ残サイズに基づきＴＳパケットの生成を休止させることができる。
【００５９】
次に、本実施の形態の多重化装置におけるＴＳ生成部３０のより詳細な構成について説明する。
【００６０】
まず、装置制御部１９が記録の指示を示す記録指示信号をビデオエンコーダ１１、オーディオエンコーダ２１及びＴＳ生成部３０に通知すると、ビデオエンコーダ１１及びオーディオエンコーダ２１は圧縮符号化処理を開始し、所定のタイミングで、ビデオエンコーダ１１はビデオエレメンタリストリームＥＳｖの出力を開始し、オーディオエンコーダ２１はオーディオエレメンタリストリームＥＳａの出力を開始する。
【００６１】
この後、ビデオエンコーダ１１は、ビデオフレーム周期Ｔｆｒで、ビデオエレメンタリストリームＥＳｖ、すなわち、アクセスユニットごとのＩ−ピクチャ、Ｐ−ピクチャあるいはＢ−ピクチャのビデオ符号化データを、ビデオバッファ３１に順次供給するとともに、ビデオユニットサイズ計測部１２は、ビデオ発生サイズ情報Ｄ（Ｓｖ）をビデオ残サイズ演算部３３に通知する。
【００６２】
また、オーディオエンコーダ２１は、オーディオフレーム周期Ｔａｆｒで、オーディオエレメンタリストリームＥＳａ、すなわち、アクセスユニットごとのオーディオ符号化データを、オーディオバッファ４１に順次供給するとともに、オーディオユニットサイズ計測部２２は、オーディオ発生サイズ情報Ｄ（Ｓａ）をオーディオ残サイズ演算部４３に通知する。
【００６３】
ビデオバッファ３１は、供給されたビデオエレメンタリストリームＥＳｖを構成するビデオ符号化データを順次記憶する。また、ビデオバッファ３１は、ビデオパケット生成部３２によりデータが読み込まれると、読み込まれたデータ領域を空き領域とし、この空き領域を新たな記憶領域とする。このようにして、ビデオバッファ３１は、ビデオエンコーダ１１からの新しいデータを格納し、格納している古いデータから順にビデオパケット生成部３２に供給しながら、ビデオ符号化データを一時記憶する。
【００６４】
オーディオバッファ４１は、供給されたオーディオエレメンタリストリームＥＳａを構成するオーディオ符号化データを順次記憶する。また、オーディオバッファ４１は、オーディオパケット生成部４２によりデータが読み込まれると、読み込まれたデータ領域を空き領域とし、この空き領域を新たな記憶領域とする。このようにして、オーディオバッファ４１は、オーディオエンコーダ２１からの新しいデータを格納し、格納している古いデータから順にオーディオパケット生成部４２に供給しながら、オーディオ符号化データを一時記憶する。
【００６５】
また、装置制御部１９が記録指示信号をＴＳ生成部３０に通知すると、この記録指示信号は、ＴＳ生成部３０の制御部５９に通知される。制御部５９は、この記録指示信号に応答して、システム時刻生成部５５、タイムスタンプ生成部５７、ビデオ残サイズ演算部３３及びオーディオ残サイズ演算部４３に対して次のような情報を通知するとともに、ＴＳ生成部３０の各部が初期動作を開始するよう制御する。
【００６６】
すなわち、制御部５９は、システム時刻生成部５５に対しては、システム時刻の初期値を通知する。また、制御部５９は、タイムスタンプ生成部５７に対しては、以下で詳細に説明するスタートアップディレイ時間Ｔｓｕや補正時間Ｔｓｃなどのスタートアップでのタイミングに関する情報、及びビデオフレーム周期Ｔｆｒやオーディオフレーム周期Ｔａｆｒを示す時間情報を含めた情報を通知する。また、制御部５９は、ビデオ残サイズ演算部３３に対しては、ビデオ符号化データを格納したＴＳパケットの生成を開始する時刻に対応したビデオ生成開始時刻ｔｅを示すビデオ生成開始時刻情報Ｄ（ｔｅ）を通知する。また、制御部５９は、オーディオ残サイズ演算部４３に対しては、オーディオ符号化データを格納したＴＳパケットの生成を開始する時刻に対応したオーディオ生成開始時刻ｔａｅを示すオーディオ生成開始時刻情報Ｄ（ｔａｅ）を通知する。
【００６７】
このようにして、ＴＳ生成部３０において、制御部５９の制御により初期動作が開始される。なお、ビデオ生成開始時刻ｔｅは、ビデオ残サイズ演算部３３においてビデオアクセスユニットごとのデータサイズの加算を開始する時刻であり、多重化装置の基準時刻として設けている。このようなビデオ生成開始時刻ｔｅの詳細については以下で説明する。
【００６８】
システム時刻生成部５５は、制御部５９からの初期値を初期時刻として、クロック発生部５４からのクロック信号をカウントすることにより、ＴＳ生成部３０における基準時刻としてのシステム時刻（ＳＴＣ：Ｓｙｓｔｅｍ  Ｔｉｍｅ  Ｃｌｏｃｋ、以下、適宜、“ＳＴＣ”と呼ぶ）を生成する。本実施の形態における多重化装置は、システム時刻生成部５５から出力されるＳＴＣを基準時間とし、このＳＴＣを参照しながらそれぞれの時刻に応じた処理を実行する。
【００６９】
システム時刻生成部５５で生成されたＳＴＣは、ＳＴＣ情報としてビデオ残サイズ演算部３３及びオーディオ残サイズ演算部４３に通知される。また、システム時刻生成部５５で生成されたＳＴＣは、プログラム時刻基準参照（ＰＣＲ：Ｐｒｏｇｒａｍ  Ｃｌｏｃｋ  Ｒｅｆｅｒｅｎｃｅ、以下、適宜、“ＰＣＲ”と呼ぶ）情報としてシステムパケット生成部４９に通知される。ＰＣＲ情報は、トランスポートストリームに重畳され、送信側と受信側、あるいはエンコーダ側とデコーダ側とのクロックの同期を確立するために利用される。
【００７０】
本実施の形態のように、記録媒体６２にトランスポートストリームを記録するような実施形態の場合、このようなＰＣＲ情報は、記録媒体６２を再生する再生装置などに設けたシステム時刻と再生するトランスポートストリームとの同期確立に利用される。さらに、システム時刻生成部５５は、クロック発生部５４からのクロック信号を分周することにより生成したＴＳパケット周期のクロック信号ＴＰｃｋを多重化パターン生成部５６に供給する。
【００７１】
多重化パターン生成部５６は、システム時刻生成部５５から供給されたクロック信号ＴＰｃｋを利用して、ＴＳパケット長単位で設定される多重化パターン信号Ｐを生成する。上述したように、多重化パターン信号Ｐは、ビデオ、オーディオ及びシステムを表すデータ種別の順序、組み合せなどの割り当てパターンである多重化パターンを示す信号である。すなわち、ビデオを“Ｖ”、オーディオを“Ａ”、システムを“Ｓ”とした場合、多重化パターンは、例えば、“ＶＶＶＡＶＶＶＳ”とするようなパターンを示している。なお、多重化パターンは、本実施の形態１に示す多重化パターンに限定されず、種々の変更が可能である。
【００７２】
多重化パターン生成部５６は、このような多重化パターン信号Ｐをビデオパケット生成部３２、オーディオパケット生成部４２及びシステムパケット生成部４９に通知する。ビデオパケット生成部３２、オーディオパケット生成部４２及びシステムパケット生成部４９は、多重化パターン信号Ｐを参照して、ＴＳパケットを生成するよう指示されているタイミングかどうかを判定する。
【００７３】
例えば、多重化パターンにおいて“Ｖ”であるタイミングのとき、ビデオパケット生成部３２がＴＳパケットを生成するよう指示されていると判定するとともに、オーディオパケット生成部４２及びシステムパケット生成部４９は、ＴＳパケットの生成を停止するよう指示されていると判定する。
【００７４】
このようにして、多重化可能なデータが存在するとき、多重化パターンに従って、ビデオ、オーディオ及びシステムのいずれかのデータを格納したＴＳパケットが多重化部５１に供給されることとなり、多重化部５１からは、多重化パターンに従った順序でそれぞれのデータを多重化したトランスポートストリームＴＳが送出されることとなる。
【００７５】
本実施の形態における多重化装置は、このような多重化パターンとして、ＴＳパケットに格納するデータの種別ごとに、ＴＳパケットを生成する期間が所定の比率で周期的に繰り返されるようなパターンとしたことを特徴としている。また、本実施の形態では、このような比率を、ＴＳパケットに格納するデータの種別に規定された最大ビットレートに基づき決定している。すなわち、本実施の形態での多重化パターンは、上記一例の“ＶＶＶＡＶＶＶＳ”とするようなパターンが周期的に繰り返されるパターンとしている。
【００７６】
また、このような多重化パターンにおけるデータ種別の比率は、ビデオエレメンタリストリームＥＳｖの最大ビットレート以上のビットレートに対応したビデオ期間と、オーディオエレメンタリストリームＥＳａの最大ビットレート以上のビットレートに対応したオーディオ期間との比率とし、さらに、このオーディオ期間は、オーディオ符号化データに対応した期間と、システムデータに対応した期間とに所定の比率で割り当てている。なお、本実施の形態におけるより具体的な多重化パターンについては、以下で詳細に説明する。
【００７７】
タイムスタンプ生成部５７は、制御部５９から通知されたスタートアップディレイ時間Ｔｓｕと補正時間Ｔｓｃなどとのスタートアップでのタイミングに関するスタートアップ情報、及びビデオフレーム周期Ｔｆｒとオーディオフレーム周期Ｔａｆｒとを示す時間情報を用いて、タイムスタンプ情報としてのデコーディングタイムスタンプ（ＤＴＳ：Ｄｅｃｏｄｉｎｇ  Ｔｉｍｅ  Ｓｔａｍｐ、以下、適宜、“ＤＴＳ”と呼ぶ）情報及び提示タイムスタンプ（ＰＴＳ：Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｔｉｍｅ  Ｓｔａｍｐ、以下、適宜、“ＰＴＳ”と呼ぶ）情報を生成する。
【００７８】
ＤＴＳは、デコーダ側における復号化の復号タイミングを示しており、また、ＰＴＳは、復号化されたデータを提示するための再生タイミングを示している。また、スタートアップ情報は、デコーダ側のバッファにあらかじめデータを蓄積しておく時間としてのスタートアップディレイ時間に関する情報である。すなわち、トランスポートストリームＴＳに重畳するＰＣＲ値に対して、ＤＴＳ値において、スタートアップ情報で通知されるスタートアップディレイ時間Ｔｓｕだけオフセット時間を設けることにより、デコーダ側のバッファにおいてデコードの開始以前にあらかじめデータを蓄積することができ、上述したようにデコーダ側のバッファのアンダーフローを防止することができる。
【００７９】
タイムスタンプ生成部５７は、ビデオエレメンタリストリームＥＳｖに対するＤＴＳ情報としてのＤＴＳｖ情報及びＰＴＳ情報としてのＰＴＳｖ情報を、ＰＥＳｖヘッダ生成部３４に通知する。また、タイムスタンプ生成部５７は、オーディオエレメンタリストリームＥＳａに対するＰＴＳ情報としてのＰＴＳａ情報を、ＰＥＳａヘッダ生成部４４に通知する。
【００８０】
また、タイムスタンプ生成部５７は、このようなＤＴＳ情報及びＰＴＳ情報を、ビデオ残サイズ演算部３３及びオーディオ残サイズ演算部４３から通知されるＡＵ先頭通知信号によるタイミングで出力する。なお、ＡＵ先頭通知信号は、各アクセスユニットの先頭データが送出データに含まれることを示す信号である。
【００８１】
すなわち、まず、ビデオ残サイズ演算部３３が最初にビデオＡＵ先頭通知信号ＡＵＨｖをタイムスタンプ生成部５７に通知すると、タイムスタンプ生成部５７は、ビデオ生成開始時刻ｔｅよりもスタートアップディレイ時間Ｔｓｕだけ遅れた時刻、すなわち時刻（ｔｅ＋Ｔｓｕ）をビデオデコード開始時刻ｔｄとし、さらに、このビデオデコード開始時刻ｔｄを先頭ＤＴＳｖとしたＤＴＳｖ情報をＰＥＳｖヘッダ生成部３４に通知する。
【００８２】
タイムスタンプ生成部５７に次のビデオＡＵ先頭通知信号ＡＵＨｖが通知されると、タイムスタンプ生成部５７は、ビデオデコード開始時刻ｔｄよりもビデオアクセスユニットの発生間隔であるビデオフレーム周期Ｔｆｒだけ遅れた時刻、すなわち時刻（ｔｄ＋Ｔｆｒ）を次のＤＴＳｖとしたＤＴＳｖ情報をＰＥＳｖヘッダ生成部３４に通知する。
【００８３】
次のビデオＡＵ先頭通知信号ＡＵＨｖが通知されると、タイムスタンプ生成部５７は、ビデオデコード開始時刻ｔｄよりも２ビデオフレーム分である２Ｔｆｒ時間だけ遅れた時刻、すなわち時刻（ｔｄ＋２Ｔｆｒ）を次のＤＴＳｖとしたＤＴＳｖ情報をＰＥＳｖヘッダ生成部３４に通知する。
【００８４】
タイムスタンプ生成部５７は、ビデオ残サイズ演算部３３からビデオＡＵ先頭通知信号ＡＵＨｖが通知されるたびに、このようなＤＴＳｖ情報をＰＥＳｖヘッダ生成部３４に通知する。また、タイムスタンプ生成部５７は、生成したＤＴＳｖ情報とビデオフレームの種別とに応じて生成したＰＴＳｖ情報も、ＰＥＳｖヘッダ生成部３４に通知する。
【００８５】
また、タイムスタンプ生成部５７に対し、オーディオ残サイズ演算部４３が最初にオーディオＡＵ先頭通知信号ＡＵＨａを通知すると、タイムスタンプ生成部５７は、オーディオ生成開始時刻ｔａｅよりもオーディオフレーム周期Ｔａｆｒだけ遅れた時刻、すなわち時刻（ｔａｅ＋Ｔａｆｒ）をオーディオ再生開始時刻とし、さらに、このオーディオ再生開始時刻を先頭ＰＴＳａとしたＰＴＳａ情報をＰＥＳａヘッダ生成部４４に通知する。
【００８６】
タイムスタンプ生成部５７に次のオーディオＡＵ先頭通知信号ＡＵＨａが通知されると、タイムスタンプ生成部５７は、オーディオ生成開始時刻ｔａｅよりも２オーディオフレーム分である２Ｔａｆｒ時間だけ遅れた時刻、すなわち時刻（ｔａｅ＋２Ｔａｆｒ）を次のＰＴＳａとしたＰＴＳａ情報をＰＥＳａヘッダ生成部４４に通知する。
【００８７】
タイムスタンプ生成部５７は、オーディオ残サイズ演算部４３からオーディオＡＵ先頭通知信号ＡＵＨａが通知されるたびに、このようなＰＴＳａ情報をＰＥＳａヘッダ生成部４４に通知する。
【００８８】
ビデオ残サイズ演算部３３は、タイムスタンプ生成部５７に対し、ビデオＡＵ先頭通知信号ＡＵＨｖを通知する。また、ビデオ残サイズ演算部３３は、ビデオパケット生成部３２に対し、ビデオアクセスユニットごとのデータサイズであるビデオ発生サイズＳｖとビデオパケット生成部３２でＴＳパケットに格納した送出データのサイズである送出サイズＳｔｖとに基づき求めたビデオ残サイズＳｒｖを示すビデオ残サイズ情報Ｄ（Ｓｒｖ）を通知する。
【００８９】
このようなビデオＡＵ先頭通知信号ＡＵＨｖやビデオ残サイズ情報Ｄ（Ｓｒｖ）を生成するため、ビデオ残サイズ演算部３３に対し、システム時刻生成部５５からは、ＳＴＣ情報が通知され、制御部５９からは、ビデオ生成開始時刻ｔｅを示すビデオ生成開始時刻情報Ｄ（ｔｅ）が通知され、ビデオユニットサイズ計測部１２からは、ビデオアクセスユニットごとのビデオ発生サイズＳｖを示すビデオ発生サイズ情報Ｄ（Ｓｖ）が通知され、ビデオパケット生成部３２からは、ＴＳパケットに格納したビデオ送出データの送出サイズＳｔｖを示す送出サイズ情報Ｄ（Ｓｔｖ）が通知される。
【００９０】
ビデオ残サイズ演算部３３は、ビデオ残サイズ情報Ｄ（Ｓｒｖ）を生成するため、次のような処理を実行する。すなわち、まず、ビデオ残サイズ演算部３３は、初期動作を開始したとき、ビデオ残サイズＳｒｖを０に設定する。また、ビデオ残サイズ演算部３３は、システム時刻生成部５５から通知されるＳＴＣを監視しており、ＳＴＣの時刻が、制御部５９から通知されたビデオ生成開始時刻ｔｅを基準に、順次ビデオフレーム周期Ｔｆｒごとの時刻となるようなタイミング、すなわちＳＴＣ＝ｔｅ＋ｎ×Ｔｆｒとする式においてｎが０以上の整数となるようなビデオフレーム周期Ｔｆｒの周期的なタイミングを発生させる。
【００９１】
ビデオ残サイズ演算部３３は、このようなビデオ生成開始時刻ｔｅを最初とし、その後、ビデオアクセスユニットの発生間隔ごととなるビデオフレーム周期Ｔｆｒで、ビデオ発生サイズ情報Ｄ（Ｓｖ）を取り込み、ビデオ残サイズＳｒｖにビデオ発生サイズＳｖを加算する。
【００９２】
すなわち、ビデオ生成開始時刻ｔｅはビデオアクセスユニットごとのデータサイズの加算を開始する時刻であり、ＳＴＣの時刻がビデオ生成開始時刻ｔｅとなったとき、ビデオ残サイズ演算部３３は、最初のアクセスユニットに対応したビデオ発生サイズ情報Ｄ（Ｓｖ）を取り込む。この後、ビデオ残サイズ演算部３３は、ビデオフレーム周期Ｔｆｒ間隔で順次ビデオ発生サイズ情報Ｄ（Ｓｖ）を取り込み、ビデオ残サイズＳｒｖにビデオ発生サイズＳｖを加算する。これとともに、ビデオ残サイズ演算部３３は、ビデオパケット生成部３２から送出サイズ情報Ｄ（Ｓｔｖ）が通知されるたびに、ビデオ残サイズＳｒｖから送出サイズＳｔｖを減算する。
【００９３】
このように、ビデオ残サイズ演算部３３は、ビデオ残サイズＳｒｖに対し、フレーム周期Ｔｆｒを時間単位とするアクセスユニットごとのビデオ発生サイズＳｖをビデオフレーム周期Ｔｆｒで加算し、ビデオパケット生成部３２で送出データを格納したＴＳパケットを生成するたびに、送出サイズＳｔｖを減算するような演算処理により、ビデオ残サイズＳｒｖを求める。ビデオ残サイズ演算部３３は、求めたビデオ残サイズＳｒｖをビデオ残サイズ情報Ｄ（Ｓｒｖ）としてビデオパケット生成部３２に通知する。
【００９４】
なお、ビデオ残サイズ演算部３３は、ビデオフレーム周期Ｔｆｒを時間単位とするアクセスユニットごとのビデオ発生サイズＳｖをビデオフレーム周期Ｔｆｒで加算し、ビデオパケット生成部３２で送出データを格納したＴＳパケットを生成するたびに、送出サイズＳｔｖを減算するような演算処理により、アクセスユニットごとのビデオ残サイズＳｒｖを求めるような構成であってもよい。
【００９５】
また、ビデオ残サイズ演算部３３は、ビデオ残サイズＳｒｖの演算とともに、ビデオ発生サイズ情報Ｄ（Ｓｖ）と送出サイズ情報Ｄ（Ｓｔｖ）とに基づき、次にビデオバッファ３１から取り込むデータが先頭データを含むかどうかを監視しており、先頭データを含む場合には、タイムスタンプ生成部５７に対して、ビデオＡＵ先頭通知信号ＡＵＨｖを通知する。
【００９６】
ＰＥＳｖヘッダ生成部３４は、タイムスタンプ生成部５７から通知されたＤＴＳ情報やＰＴＳ情報を含むビデオＰＥＳのヘッダ情報を生成し、生成したビデオＰＥＳのヘッダ情報を含むデータをビデオＰＥＳヘッダデータとしてビデオパケット生成部３２に供給する。
【００９７】
ビデオパケット生成部３２は、ビデオ残サイズ演算部３３からのビデオ残サイズ情報Ｄ（Ｓｒｖ）を参照しながら、多重化パターン生成部５６から通知される多重化パターン信号Ｐの多重化パターンに従い、多重化パターン信号Ｐで示される種別がビデオであり、かつビデオ残サイズ情報Ｄ（Ｓｒｖ）で示されるビデオ残サイズＳｒｖが次に送出すべき送出サイズ以上であるときに、ビデオ符号化データを格納したＴＳパケットを生成する。
【００９８】
すなわち、ビデオパケット生成部３２は、多重化パターン信号Ｐがビデオを指示するタイミングになると、ビデオ残サイズＳｒｖが次の送出サイズＳｔｖ以上であるかどうか判定する。ビデオパケット生成部３２は、この判定において、ビデオ残サイズＳｒｖが次の送出サイズ以上である場合に、ビデオバッファ３１から次に送出するビデオ符号化データを取り込み、ビデオ符号化データを格納したＴＳパケットを生成する。ビデオパケット生成部３２は、生成したＴＳパケットを多重化部５１に供給するとともに、このようにＴＳパケットに格納した送出データのサイズである送出サイズ情報Ｄ（Ｓｔｖ）をビデオ残サイズ演算部３３に通知する。
【００９９】
なお、詳細については以下で説明するが、送出するビデオ符号化データがアクセスユニットの先頭データとなる場合には、ビデオパケット生成部３２は、ＰＥＳｖヘッダ生成部３４から次に送出するビデオＰＥＳヘッダデータを取り込み、ビデオＰＥＳヘッダデータを含むＴＳパケットを生成する。このとき、ビデオＰＥＳヘッダデータのデータサイズは、送出サイズＳｔｖには含まれない。
【０１００】
また、多重化パターン信号Ｐで示される種別がビデオであるが、ビデオ残サイズ情報Ｄ（Ｓｒｖ）で示されるビデオ残サイズＳｒｖが次に送出すべき送出サイズに満たないとき、ビデオパケット生成部３２は、不足分をスタッフィングバイトで充当した状態でのＴＳパケットを生成する。また、多重化パターン信号Ｐで示される種別がビデオであるが、ビデオ残サイズ情報Ｄ（Ｓｒｖ）で示されるビデオ残サイズＳｒｖが０、すなわち送出すべきビデオ符号化データがないときには、ビデオパケット生成部３２は、ＴＳデータの生成を休止したり、あるいはパディングデータを格納したＴＳパケットを生成し多重化部５１に供給したりする。
【０１０１】
オーディオ残サイズ演算部４３は、タイムスタンプ生成部５７に対し、オーディオＡＵ先頭通知信号ＡＵＨａを通知する。また、オーディオ残サイズ演算部４３は、オーディオパケット生成部４２に対し、オーディオアクセスユニットごとのデータサイズであるオーディオ発生サイズＳａとオーディオパケット生成部４２でＴＳパケットに格納した送出データのサイズである送出サイズＳｔａとに基づき求めたオーディオ残サイズＳｒａを示すオーディオ残サイズ情報Ｄ（Ｓｒａ）を通知する。
【０１０２】
このようなオーディオＡＵ先頭通知信号ＡＵＨａやオーディオ残サイズ情報Ｄ（Ｓｒａ）を生成するため、オーディオ残サイズ演算部４３に対し、システム時刻生成部５５からは、ＳＴＣ情報が通知され、制御部５９からは、オーディオ生成開始時刻ｔａｅを示すオーディオ生成開始時刻情報Ｄ（ｔａｅ）が通知され、オーディオユニットサイズ計測部２２からは、オーディオアクセスユニットごとのデータサイズを示すオーディオ発生サイズ情報Ｄ（Ｓａ）が通知され、オーディオパケット生成部４２からは、ＴＳパケットに格納したオーディオ送出データの送出サイズＳｔａを示す送出サイズ情報Ｄ（Ｓｔａ）が通知される。
【０１０３】
オーディオ残サイズ演算部４３は、オーディオ残サイズ情報Ｄ（Ｓｒａ）を生成するため、次のような処理を実行する。すなわち、まず、オーディオ残サイズ演算部４３は、初期動作を開始したとき、オーディオ残サイズＳｒａを０に設定する。また、オーディオ残サイズ演算部４３は、システム時刻生成部５５から通知されるＳＴＣを監視しており、ＳＴＣの時刻が、制御部５９から通知されたオーディオ生成開始時刻ｔａｅを基準に、順次オーディオフレーム周期Ｔａｆｒごとの時刻となるようなタイミング、すなわちＳＴＣ＝ｔａｅ＋ｋ×Ｔａｆｒとする式においてｋが０以上の整数となるようなオーディオフレーム周期Ｔａｆｒの周期的なタイミングを発生させる。
【０１０４】
なお、本実施の形態では、オーディオ生成開始時刻ｔａｅとして、ビデオデコード開始時刻ｔｄよりもビデオフレーム周期Ｔｆｒだけ遅れた時刻をオーディオ提示開始時刻とし、そのオーディオ提示開始時刻よりもオーディオフレーム時間だけ前に進んだ時刻をオーディオ生成開始時刻ｔａｅとしている。
【０１０５】
オーディオ残サイズ演算部４３は、このようなオーディオ生成開始時刻ｔａｅを最初とし、その後、オーディオフレーム周期Ｔａｆｒで、オーディオ発生サイズ情報Ｄ（Ｓａ）を取り込み、オーディオ残サイズＳｒａにオーディオ発生サイズＳａを加算する。
【０１０６】
すなわち、ＳＴＣの時刻がオーディオ生成開始時刻ｔａｅとなったとき、最初のアクセスユニットに対応したオーディオ発生サイズ情報Ｄ（Ｓａ）を取り込み、この後、オーディオフレーム周期Ｔａｆｒ間隔で順次オーディオ発生サイズ情報Ｄ（Ｓａ）を取り込み、オーディオ残サイズＳｒａにオーディオ発生サイズＳａを加算する。これとともに、オーディオ残サイズ演算部４３は、オーディオパケット生成部４２から送出サイズ情報Ｄ（Ｓｔａ）が通知されるたびに、オーディオ残サイズＳｒａから送出サイズＳｔａを減算する。
【０１０７】
このように、オーディオ残サイズ演算部４３は、オーディオ残サイズＳｒａに対し、オーディオフレーム周期Ｔａｆｒを時間単位とするアクセスユニットごとのオーディオ発生サイズをオーディオフレーム周期Ｔａｆｒで加算し、オーディオパケット生成部４２で送出データを格納したＴＳパケットを生成するたびに、送出サイズＳｔａを減算するような演算処理により、オーディオ残サイズＳｒａを求める。オーディオ残サイズ演算部４３は、求めたオーディオ残サイズＳｒａをオーディオ残サイズ情報Ｄ（Ｓｒａ）としてオーディオパケット生成部４２に通知する。
【０１０８】
なお、オーディオ残サイズ演算部４３は、オーディオフレーム周期Ｔａｆｒを時間単位とするアクセスユニットごとのオーディオ発生サイズＳａをオーディオフレーム周期Ｔａｆｒで加算し、オーディオパケット生成部４２で送出データを格納したＴＳパケットを生成するたびに、送出サイズＳｔａを減算するような演算処理により、アクセスユニットごとのオーディオ残サイズＳｒａを求めるような構成であってもよい。
【０１０９】
また、オーディオ残サイズ演算部４３は、オーディオ残サイズＳｒａの演算とともに、オーディオ発生サイズ情報Ｄ（Ｓａ）と送出サイズ情報Ｄ（Ｓｔａ）とに基づき、次にオーディオバッファ４１から取り込むデータが先頭データを含むかどうかを監視しており、先頭データを含む場合には、タイムスタンプ生成部５７に対して、オーディオＡＵ先頭通知信号ＡＵＨａを通知する。
【０１１０】
ＰＥＳａヘッダ生成部４４は、タイムスタンプ生成部５７から通知されたＰＴＳ情報を含むオーディオＰＥＳのヘッダ情報を生成し、生成したオーディオＰＥＳのヘッダ情報を含むデータをオーディオＰＥＳヘッダデータとしてオーディオパケット生成部４２に供給する。
【０１１１】
オーディオパケット生成部４２は、オーディオ残サイズ演算部４３からのオーディオ残サイズ情報Ｄ（Ｓｒａ）を参照しながら、多重化パターン生成部５６から通知される多重化パターン信号Ｐの多重化パターンに従い、多重化パターン信号Ｐで示される種別がオーディオであり、かつオーディオ残サイズ情報Ｄ（Ｓｒａ）で示されるオーディオ残サイズＳｒａが次に送出すべき送出サイズ以上であるときに、オーディオ符号化データを格納したＴＳパケットを生成する。
【０１１２】
すなわち、オーディオパケット生成部４２は、多重化パターン信号Ｐがオーディオを指示するタイミングになると、オーディオ残サイズＳｒａが次の送出サイズ以上であるかどうか判定する。オーディオパケット生成部４２は、この判定において、オーディオ残サイズＳｒａが次の送出サイズ以上である場合に、オーディオバッファ４１から次に送出するオーディオ符号化データを取り込み、オーディオ符号化データを格納したＴＳパケットを生成する。オーディオパケット生成部４２は、生成したＴＳパケットを多重化部５１に供給するとともに、このようにＴＳパケットに格納した送出データのサイズである送出サイズ情報Ｄ（Ｓｔａ）をオーディオ残サイズ演算部４３に通知する。
【０１１３】
なお、詳細については以下で説明するが、送出するオーディオ符号化データがアクセスユニットの先頭データとなる場合には、オーディオパケット生成部４２は、ＰＥＳａヘッダ生成部４４から次に送出するオーディオＰＥＳヘッダデータを取り込み、オーディオＰＥＳヘッダデータを含むＴＳパケットを生成する。このとき、オーディオＰＥＳヘッダデータのデータサイズは、送出サイズＳｔａには含まれない。
【０１１４】
また、多重化パターン信号Ｐで示される種別がオーディオであるが、オーディオ残サイズ情報Ｄ（Ｓｒａ）で示されるオーディオ残サイズＳｒａが次に送出すべき送出サイズに満たないとき、オーディオパケット生成部４２は、不足分をスタッフィングバイトで充当した状態でのＴＳパケットを生成する。また、多重化パターン信号Ｐで示される種別がオーディオであるが、オーディオ残サイズ情報Ｄ（Ｓｒａ）で示されるオーディオ残サイズＳｒａが０、すなわち送出すべきオーディオ符号化データがないときには、オーディオパケット生成部４２は、ＴＳデータの生成を休止したり、あるいはパディングデータを格納したＴＳパケットを生成し多重化部５１に供給したりする。
【０１１５】
システムパケット生成部４９は、多重化パターン生成部５６から通知される多重化パターン信号Ｐに基づき、生成するトランスポートストリームＴＳに関する情報を含むシステムデータを格納したＴＳパケットを生成する。また、システムパケット生成部４９は、多重化パターン信号Ｐで示される種別がシステムであるとき、このようなシステムデータとして、ＰＡＴ（Ｐｒｏｇｒａｍ  Ａｓｓｏｃｉａｔｉｏｎ  Ｔａｂｌｅ）情報、ＰＭＴ（Ｐｒｏｇｒａｍ  Ｍａｐ  Ｔａｂｌｅ）情報、ＳＩＴ（Ｓｅｌｅｃｔｉｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅ）情報及びＰＣＲ情報のいずれかのデータを格納したＴＳパケットを、所定の周期及び所定の順番に生成する。
【０１１６】
なお、ＰＭＴは、ビデオ、オーディオ及びシステムなどを識別するためのパケット識別子であるＰＩＤ（Ｐａｃｋｅｔ  ＩＤｅｎｔｉｆｉｅｒ）を記述したテーブルである。また、ＰＡＴは、ＰＭＴを抽出するための総合的な番組情報としてのテーブルである。また、ＳＩＴは、伝送される番組に関する情報を記述したテーブルである。このようなＴＳパケットを生成するため、システムパケット生成部４９には、制御部５９から、ＰＡＴ情報、ＰＭＴ情報及びＳＩＴ情報が供給される。また、システム時刻生成部５５からは、エンコーダ側とデコーダ側とのクロックの同期確立に利用するＰＣＲ情報が通知される。システムパケット生成部４９は、これらの情報を格納したＴＳパケットを生成し、生成したＴＳパケットを多重化部５１に供給する。なお、各システムデータを生成する詳細な周期や順番については、以下で詳細に説明する。
【０１１７】
多重化部５１は、システムパケット生成部４９で生成されたシステムデータＴＳパケット、ビデオパケット生成部３２で生成されたビデオＴＳパケット、及びオーディオパケット生成部４２で生成されたオーディオＴＳパケットを、生成された順番に多重化し、それぞれのＴＳパケットで構成されるトランスポートストリームＴＳを生成する。多重化部５１で生成されたトランスポートストリームＴＳは、所定の送出ビットレートで記録制御部６１に送出され、記録制御部６１により記録媒体６２にトランスポートストリームＴＳが記録される。
【０１１８】
次に、以上のように構成された本実施の形態の多重化装置のタイミングについて説明する。
【０１１９】
図２は、本実施の形態１における多重化装置の概略タイミングを示すタイミングチャートである。以下、図２を参照しながら、まず多重化装置の全体的な動作について説明する。
【０１２０】
図２において、装置制御部１９から通知される記録指示信号に応答して、ビデオエンコーダ１１及びオーディオエンコーダ２１は圧縮符号化処理を開始するとともに、ＴＳ生成部３０は初期動作を開始する。
【０１２１】
図２におけるビデオフレームは、多重化装置におけるビデオに関する処理の時間単位である。図２で示すようなビデオフレーム周期Ｔｆｒを周期として、ビデオフレームｆｒ０、ｆｒ１、ｆｒ２というように、ビデオフレーム単位にビデオに関する処理が実行される。
【０１２２】
ＴＳ生成部３０は、システム時刻生成部５５が生成するシステム時刻、すなわちＳＴＣの値がビデオ生成開始時刻ｔｅの値となるのを基準に、ビデオ符号化データを格納したＴＳパケットの生成を開始する。
【０１２３】
ＤＴＳｖ情報は、ビデオの各アクセスユニットに対応させたＤＴＳ情報の値を示している。タイムスタンプ生成部５７は、最初のビデオＡＵ先頭通知信号ＡＵＨｖを受け取ると、図２に示すようなビデオ生成開始時刻ｔｅよりもスタートアップディレイ時間Ｔｓｕだけ遅れた時刻、すなわち時刻（ｔｅ＋Ｔｓｕ）をビデオデコード開始時刻ｔｄとし、さらに、このビデオデコード開始時刻ｔｄをビデオ先頭ＤＴＳｖとしたＤＴＳｖ情報をＰＥＳｖヘッダ生成部３４に通知する。さらに、タイムスタンプ生成部５７は、図２に示すように、ビデオデコード開始時刻ｔｄよりもビデオフレーム周期Ｔｆｒずつ遅れた時刻を順次ＤＴＳｖ情報としてＰＥＳｖヘッダ生成部３４に通知する。
【０１２４】
次に、ビデオエンコーダ１１から出力されるビデオエレメンタリストリームＥＳｖのタイミングについて説明する。ビデオエンコーダ１１からは、図２に示すように、ビデオフレームごとに可変ビット長であるビデオ符号化データが出力され、これらアクセスユニットごとのビデオ符号化データによりビデオエレメンタリストリームＥＳｖが構成される。図２では、ｎ番目のビデオフレームｆｒｎにおいて、ビデオエンコーダ１１から、ビデオアクセスユニットＡＵｖｎのビデオ符号化データｖｎが出力される例を示している。
【０１２５】
次に、ビデオパケット生成部３２で生成するビデオパケッタイズドエレメンタリストリームＰＥＳｖのタイミングについて説明する。ビデオパケット生成部３２は、図２に示すように、ＰＥＳｖヘッダ生成部３４で生成したアクセスユニットごとのビデオＰＥＳのヘッダデータとアクセスユニットごとのビデオ符号化データとを順次時系列的に組み合すことによりビデオパケッタイズドエレメンタリストリームＰＥＳｖを生成している。また、図２に示すように、システム時刻ＳＴＣにおいて、ビデオ生成開始時刻ｔｅとする時刻に、ビデオパケッタイズドエレメンタリストリームＰＥＳｖの生成が開始される。
【０１２６】
なお、ビデオエンコーダ１１からビデオバッファ３１に対しては、規定されたビデオの最大ビットレートに比べて、さらに高速なビットレートでビデオ符号化データが供給される。例えば、ビデオの最大ビットレートを１５Ｍｂｐｓとした場合、ビデオエンコーダ１１からは１５Ｍｂｐｓの数倍以上のビットレートでビデオ符号化データが出力される。一方、ビデオパケット生成部３２においては、ビデオの最大ビットレートに対応した処理速度でビデオパケッタイズドエレメンタリストリームＰＥＳｖの生成処理が行われる。このため、ビデオエレメンタリストリームＥＳｖに示す例えばビデオ符号化データｖ０と、ビデオパケッタイズドエレメンタリストリームＰＥＳｖに示すビデオ符号化データｖ０とのように同じデータサイズであっても、ビデオエレメンタリストリームＥＳｖの転送時間に比べて、ビデオパケッタイズドエレメンタリストリームＰＥＳｖの転送時間の方が長くなっている。
【０１２７】
また、ＰＥＳｖヘッダ生成部３４で生成したＰＥＳｖヘッダデータには、タイムスタンプ情報が含まれる。このようなタイムスタンプ情報として、ビデオデコード開始時刻ｔｄ、及びビデオデコード開始時刻ｔｄよりも順次ビデオフレーム周期Ｔｆｒずつ遅れた時刻とするようなＤＴＳｖ情報が、それぞれのＰＥＳｖヘッダに格納される。例えば、図２において、ビデオ生成開始時刻ｔｅ直後に生成される最初のＰＥＳｖヘッダには、ビデオデコード開始時刻ｔｄを示すビデオ先頭ＤＴＳｖ値のＤＴＳｖ０が格納され、次のＰＥＳｖヘッダには、ビデオデコード開始時刻ｔｄよりもビデオフレーム周期Ｔｆｒだけ遅れた時刻（ｔｄ＋Ｔｆｒ）を示すＤＴＳｖ値のＤＴＳｖ１が格納される。
【０１２８】
次に、ビデオ残サイズ演算部３３により算出されたビデオ残サイズＳｒｖについて説明する。本実施の形態における多重化装置では、図２に示す記録指示信号が出力された時刻からビデオ生成開始時刻ｔｅまでの期間において、ビデオバッファ３１にはあらかじめ数ビデオフレーム分のビデオ符号化データが記憶される。この後、ビデオ生成開始時刻ｔｅになると、ビデオ残サイズ演算部３３におけるビデオアクセスユニットごとのビデオ発生サイズＳｖの加算が開始され、ビデオ残サイズ演算部３３がビデオパケット生成部３２に通知するビデオ残サイズＳｒｖがＳｖだけ増加する。
【０１２９】
すなわち、図２に例示するように、先頭のビデオアクセスユニットをビデオ発生サイズＳｖ０とするビデオアクセスユニットＡＵｖ０としたとき、ビデオ生成開始時刻ｔｅにおいて、ビデオ残サイズ演算部３３が出力するビデオ残サイズＳｒｖは、このビデオアクセスユニットＡＵｖ０のビデオ発生サイズＳｖ０となる。これにより、ビデオパケット生成部３２においてＴＳパケットの生成が開始される。また、ビデオ残サイズ演算部３３は、ビデオパケット生成部３２でＴＳパケットに格納した送出データの送出サイズＳｔｖを減算する。
【０１３０】
本実施の形態における多重化装置はこのような処理を行っており、これによって、図２に示すようにビデオ残サイズＳｒｖは、ビデオ生成開始時刻ｔｅを先頭としてビデオフレーム周期Ｔｆｒごとに、ビデオ発生サイズＳｖだけ増加するとともに、送出サイズＳｔｖずつ送出データが送出されるのに追従して減少する。ビデオ残サイズ演算部３３は、このようなビデオ残サイズＳｒｖをビデオ残サイズ情報Ｄ（Ｓｒｖ）としてビデオパケット生成部３２に通知する。
【０１３１】
図２におけるオーディオフレームは、多重化装置におけるオーディオに関する処理の時間単位を示している。図２で示すようなオーディオフレーム周期Ｔａｆｒを周期とし、このようなオーディオフレーム単位でオーディオに関する処理が実行される。
【０１３２】
ＰＴＳａ情報は、オーディオの各アクセスユニットに対応させたＰＴＳ情報の値を示している。タイムスタンプ生成部５７は、最初のオーディオＡＵ先頭通知信号ＡＵＨａを受け取ると、図２に示すようなビデオデコード開始時刻ｔｄよりもビデオフレーム周期Ｔｆｒだけ遅れた時刻、すなわち時刻（ｔｄ＋Ｔｆｒ）をオーディオデコード開始時刻とし、さらに、このオーディオデコード開始時刻に等しいオーディオ提示開始時刻をオーディオ先頭ＰＴＳａとしたＰＴＳａ情報をＰＥＳａヘッダ生成部４４に通知する。
【０１３３】
なお、オーディオのデコード処理においては、処理に要する遅延時間がわずかであるため、オーディオにおいて実際のデコード開始の時刻と提示の時刻はほぼ等しい。このため、以下オーディオの提示時刻を示すＰＴＳをＰＴＳａとして説明するが、オーディオのデコード時刻を示すＤＴＳであってもよい。さらに、タイムスタンプ生成部５７は、図２に示すように、オーディオ提示開始時刻よりもオーディオフレーム周期Ｔａｆｒずつ遅れた時刻を順次ＰＴＳａ情報としてＰＥＳａヘッダ生成部４４に通知する。
【０１３４】
次に、オーディオエンコーダ２１から出力されるオーディオエレメンタリストリームＥＳａのタイミングについて説明する。オーディオエンコーダ２１からは、図２に示すように、オーディオフレームごとに固定ビット長であるオーディオ符号化データが出力される。これらアクセスユニットごとのオーディオ符号化データによりオーディオエレメンタリストリームＥＳａが構成される。図２では、ｋ番目のオーディオフレームにおいて、オーディオエンコーダ２１から、アクセスユニットＡＵａｋのオーディオ符号化データａｋが出力される例を示している。
【０１３５】
次に、オーディオパケット生成部４２で生成するオーディオパケッタイズドエレメンタリストリームＰＥＳａのタイミングについて説明する。オーディオパケット生成部４２は、図２に示すように、ＰＥＳａヘッダ生成部４４で生成したアクセスユニットごとのオーディオＰＥＳのヘッダデータとアクセスユニットごとのオーディオ符号化データとを順次時系列的に組み合すことによりオーディオパケッタイズドエレメンタリストリームＰＥＳａを生成している。
【０１３６】
また、オーディオに関しては、図２に示すように、システム時刻ＳＴＣにおいて、オーディオ生成開始時刻ｔａｅに、オーディオパケッタイズドエレメンタリストリームＰＥＳａの生成が開始される。なお、オーディオエンコーダ２１からオーディオバッファ４１に対しても、規定されたオーディオの最大ビットレートに比べて、さらに高速なビットレートでオーディオ符号化データが供給される。一方、オーディオパケット生成部４２においては、オーディオの最大ビットレートに対応した処理速度でオーディオパケッタイズドエレメンタリストリームＰＥＳａの生成処理が行われる。このため、オーディオエレメンタリストリームＥＳａに示す例えばオーディオ符号化データａ０とオーディオパケッタイズドエレメンタリストリームＰＥＳａに示すオーディオ符号化データａ０とのように同じデータサイズであっても、オーディオエレメンタリストリームＥＳａの転送時間に比べて、オーディオパケッタイズドエレメンタリストリームＰＥＳａの転送時間の方が長くなっている。
【０１３７】
また、ＰＥＳａヘッダ生成部４４で生成したＰＥＳａヘッダデータには、タイムスタンプ情報が含まれる。このようなタイムスタンプ情報として、オーディオ生成開始時刻ｔａｅよりもオーディオフレーム周期Ｔａｆｒだけ遅れた時刻であるオーディオ提示開始時刻、及びオーディオ提示開始時刻よりも順次オーディオフレーム周期Ｔａｆｒずつ遅れた時刻とするようなオーディオ提示時刻情報であるＰＴＳａ情報が、それぞれのＰＥＳａヘッダに格納される。
【０１３８】
例えば、図２において、オーディオ生成開始時刻ｔａｅ直後に生成される最初のＰＥＳａヘッダには、オーディオ提示開始時刻を示すオーディオ先頭ＰＴＳａ値のＰＴＳａ０が格納され、次のＰＥＳａヘッダには、オーディオ提示開始時刻よりもオーディオフレーム周期Ｔａｆｒだけ遅れた時刻を示すＰＴＳａ値のＰＴＳａ１が格納される。
【０１３９】
次に、オーディオ残サイズ演算部４３により算出されたオーディオ残サイズＳｒａについて説明する。図２に示す記録指示信号が出力された時刻からオーディオ生成開始時刻ｔａｅまでの期間において、オーディオバッファ４１にはあらかじめいくらかのオーディオフレーム分のオーディオ符号化データが記憶される。
【０１４０】
この後、オーディオ生成開始時刻ｔａｅになると、オーディオ残サイズ演算部４３におけるオーディオアクセスユニットごとのオーディオ発生サイズＳａの加算が開始され、オーディオ残サイズ演算部４３がオーディオパケット生成部４２に通知するオーディオ残サイズＳｒａがオーディオ発生サイズＳａだけ増加する。これにより、オーディオパケット生成部４２においてＴＳパケットの生成が開始される。また、オーディオ残サイズ演算部４３は、オーディオパケット生成部４２でＴＳパケットに格納した送出データの送出サイズＳｔａを減算する。
【０１４１】
本実施の形態における多重化装置はこのような処理を行っており、これによって、図２に示すように、オーディオ残サイズＳｒａは、オーディオフレーム周期Ｔａｆｒごとにオーディオ発生サイズＳａだけ増加するとともに、送出サイズＳｔａずつ送出データが送出されるのに追従して減少する。オーディオ残サイズ演算部４３は、このようなオーディオ残サイズＳｒａをオーディオ残サイズ情報Ｄ（Ｓｒａ）としてオーディオパケット生成部４２に通知する。
【０１４２】
次に、本実施の形態の多重化装置における多重化パターン信号Ｐのタイミングについて説明する。
【０１４３】
図３は、本実施の形態１における多重化装置の多重化パターン信号Ｐの一例を示すタイミングチャートである。上述したように、多重化パターンは、ビデオ、オーディオ及びシステムとしてトランスポートストリームＴＳに多重化するデータ種別の順序や組み合せなどの割り当てを示すパターンである。本実施の形態では、このような多重化パターンの一例として、多重化パターンが、ビデオエレメンタリストリームＥＳｖに対応したビデオ期間とオーディオエレメンタリストリームＥＳａに対応したオーディオ期間とで構成され、ビデオ期間とオーディオ期間との比率がＮｖ対Ｎａで周期的に繰り返すようなパターンとしている。
【０１４４】
図３では、ＴＳパケット周期の（Ｎｖ＋Ｎａ）倍の期間となる（Ｎｖ＋Ｎａ）ＴＳパケット周期の期間において、ビデオ期間がＴＳパケット周期の（Ｎｖ）倍の期間となる（Ｎｖ）ＴＳパケット周期の期間であり、オーディオ期間がＴＳパケット周期の（Ｎａ）倍の期間となる（Ｎａ）ＴＳパケット周期の期間である例を示している。さらに、本実施の形態では、このオーディオ期間が、オーディオエレメンタリストリームＥＳａに対応したオーディオ送出期間とシステムデータに対応したシステム期間とで構成され、オーディオ送出期間とシステム期間との比率がＭａ対Ｍｓで周期的に繰り返すようなパターンとしている。図３では、（Ｍａ＋Ｍｓ）回において、オーディオ送出期間がＭａ回割り当てられ、システム期間がＭｓ回割り当てられる。
【０１４５】
なお、詳細については以下で説明するが、Ｎｖ対Ｎａとするビデオ期間とオーディオ期間との比率は、概略次のようにして求める。以下、このような比率を求めるための一例を説明する。すなわち、まず、このような比率を求めるため、例えば、トランスポートストリームＴＳの送出ビットレートをＲｘ（ｂｐｓ）、ビデオエレメンタリストリームＥＳｖの最大ビットレートをＲｖ（ｂｐｓ）と設定するような構成を想定する。さらに、トランスポートストリームＴＳによるビデオエレメンタリストリームＥＳｖの送出において、最大ビットレートであるＲｖ（ｂｐｓ）よりもさらに送出に余裕を持たせた帯域にするとともに、オーディオエレメンタリストリームＥＳａ、システムデータ、ＰＥＳヘッダも送出可能とするような帯域が確保できる比率を求める。
【０１４６】
例えば、このように想定したビットレートにおいて、ビデオ期間とオーディオ期間との比率を（Ｎｖ−１）対Ｎａとした場合、ビデオ期間の帯域は低下し、送出の余裕がなくなる。また、ビデオ期間とオーディオ期間との比率を（Ｎｖ＋１）対Ｎａとした場合、逆に、オーディオエレメンタリストリームＥＳａ、システムデータ、ＰＥＳヘッダなどの送出に余裕がなくなる。
【０１４７】
このため、ＴＳパケットビデオ期間とオーディオ期間との比率を上記の間をとってＮｖ対Ｎａとすることで、ＴＳパケットヘッダによるロスを考慮して、ビデオ期間の帯域を、Ｒｘ（ｂｐｓ）×（１８４バイト／１８８バイト）×（Ｎｖ／（Ｎｖ＋Ｎａ））分確保し、オーディオ期間の帯域を、Ｒｘ（ｂｐｓ）×（１８４バイト／１８８バイト）×（Ｎａ／（Ｎｖ＋Ｎａ））分確保できる。なお、１８８バイトは、ＴＳパケットのバイト長であり、１８４バイトは、４バイトのＴＳパケットヘッダを除いたペイロードのバイト長である。
【０１４８】
図３において、多重化パターン生成部５６が生成する多重化パターン信号Ｐの多重化パターンは、“Ｖ”で示すビデオ期間と“Ａ”及び“Ｓ”で示すオーディオ期間とで構成され、ビデオ期間とオーディオ期間との比率がＮｖ対Ｎａで周期的に繰り返すようなパターンである。この多重化パターンの基本単位はＴＳパケット周期であり、図３に示すように、多重化パターンは、（Ｎｖ）ＴＳパケット周期のビデオ期間と（Ｎａ）ＴＳパケット周期のオーディオ期間とを組み合せ、このような（Ｎｖ＋Ｎａ）ＴＳパケット周期分の組み合せを繰り返すパターンである。さらに、図３に示すように、多重化パターンは、各オーディオ期間において、“Ａ”で示すオーディオ送出期間と“Ｓ”で示すシステム期間との比率がＭａ対Ｍｓで周期的に繰り返すようなパターンである。
【０１４９】
図３には、多重化パターンのビデオ“Ｖ”の期間に対応して、多重化パターン生成部５６からビデオパケット生成部３２に通知される多重化パターン信号Ｐに含まれるビデオパターン信号Ｐｖのタイミングを示している。また、図３には、多重化パターンのオーディオ“Ａ”の期間に対応して、多重化パターン生成部５６からオーディオパケット生成部４２に通知される多重化パターン信号Ｐに含まれるオーディオパターン信号Ｐａのタイミングを示している。さらに、図３には、多重化パターンのシステム“Ｓ”の期間に対応して、多重化パターン生成部５６からシステムパケット生成部４９に通知される多重化パターン信号Ｐに含まれるシステムパターン信号Ｐｓのタイミングを示している。
【０１５０】
本実施の形態の多重化装置は、図３に示すような多重化パターンに従い、ビデオパケット生成部３２は、ビデオ残サイズＳｒｖが十分であるとき、ビデオパターン信号Ｐｖのタイミングでビデオ符号化データを格納したＴＳパケットを生成する。また、オーディオパケット生成部４２は、オーディオ残サイズＳｒａが十分であるとき、オーディオパターン信号Ｐａのタイミングでオーディオ符号化データを格納したＴＳパケットを生成する。さらに、システムパケット生成部４９は、システムパターン信号Ｐｓのタイミングでシステムデータを格納したＴＳパケットを生成する。そして、ビデオ残サイズＳｒｖ及びオーディオ残サイズＳｒａが十分であるとき、いずれかのパケット生成部で生成されたＴＳパケットが順番に多重化部５１に供給され、多重化部５１によって、多重化パターンに従って多重化されたトランスポートストリームＴＳが生成される。
【０１５１】
なお、以上、Ｎｖ対Ｎａとなるようなビデオ期間とオーディオ期間との比率について概略を説明したが、詳細には、例えば、次のようにして、このような比率を設定する。以下、多重化パターン設定の詳細について、トランスポートストリームＴＳの送出ビットレートをＲｘ（ｂｐｓ）、ビデオエレメンタリストリームＥＳｖの最大ビットレートをＲｖ（ｂｐｓ）と設定する例を挙げて説明する。
【０１５２】
この例では、ビデオエレメンタリストリームＥＳｖ自体の最大ビットレートをＲｖ（ｂｐｓ）と設定しており、このアクセスユニットごとのビデオ符号化データをＰＥＳパケットに格納し、このＰＥＳパケットをＴＳパケットにアライメントするためには、ＰＥＳパケットヘッダとスタッフィングとが付加される。ここで、ＰＥＳパケットヘッダはＰＴＳとＤＴＳだけからなる１９バイトとし、スタッフィングは最大１８３バイトとする。また、ビデオフレーム数は毎秒３０フレームである。また、ビデオ符号化データを含むＴＳパケットを転送するトランスポートストリームＴＳに要求される送出ビットレートは、ビデオ符号化データ自体の最大ビットレートにパケット化のオーバーヘッドを加えた値である。よって、要求される送出ビットレートは、ビデオ符号化データ自体のビットレート＋（ＰＥＳパケットヘッダサイズ＋スタッフィングサイズ）×フレーム数＝Ｒｖ（ｂｐｓ）＋（１９バイト＋１８３バイト）×３０フレームとなる。このとき、確保可能なビデオの最大送出ビットレートがこの要求される最大ビットレートよりも大きいとき、デコーダ側のビデオバッファがアンダーフローすることはない。
【０１５３】
また、図３に示すように、システムデータ用のＴＳパケットを送出するための帯域を確保するため、オーディオ期間は、オーディオ送出期間とシステム期間とがＭａ対Ｍｓとなるような比率で周期的に繰り返すパターンとしている。この比率を、例えば、オーディオ符号化データに対応させた比率としてもよい。さらに、ＬＰＣＭ  ２チャンネル／１６ｂｉｔ符号化データのようなオーディオビットレートの場合には、オーディオ送出期間とシステム期間との比率Ｍａ対Ｍｓをオーディオビットレートに対応させた比率で周期的に繰り返すような多重化パターンとしてもよい。
【０１５４】
このようなオーディオ期間におけるオーディオ送出期間では、トランスポートストリームＴＳの送出ビットレートをＲｘ（ｂｐｓ）とし、比率Ｍａ対Ｍｓで送出する場合、ＴＳパケットのサイズが１８８バイトであるから、（Ｒｘ（ｂｐｓ）／１８８バイト）×（Ｎａ／（Ｎｖ＋Ｎａ））×（Ｍａ／（Ｍａ＋Ｍｓ））となるようなパケット数を確保することができる。
【０１５５】
例えば、ＬＰＣＭ符号化では、オーディオフレームごとにオーディオデータヘッダを付加したものをＰＥＳパケットに格納し、ＰＥＳパケットをＴＳパケットにアライメントする必要がある。ＰＥＳパケットのヘッダをＰＴＳデータだけからなる１４バイトとすると、ＴＳパケットのペイロードサイズは１８４バイトであるから、１オーディオフレームのオーディオ符号化データを格納するのに必要となるＴＳパケット数は、１オーディオフレームあたりの総サイズ／ＴＳパケットペイロードサイズ＝（１オーディオフレームあたりのオーディオデータサイズ＋ヘッダによるオーバーヘッド）／ＴＳパケットペイロードサイズ＝（１６ビット×２チャンネル×２４０サンプリング＋１４バイト＋４バイト）／１８４バイト＝５．３１、すなわち、切り上げで６パケットになる。また、１秒あたりのオーディオフレーム数を２００とすると、必要となる最大ＴＳパケット数は“６×２００＝１２００”となり、上記確保可能なパケット数よりも小さくなるとき、受信機側のオーディオバッファがアンダーフローすることはない。
【０１５６】
次に、システムデータを送出するシステム期間の詳細について説明する。図４は、本実施の形態１における多重化装置のシステムデータ送出のタイミングの一例を示すタイミングチャートである。図４において多重化パターンＡは、図３と同様の多重化パターンを示している。図４に示す多重化パターンＡでは、（Ｎｖ＋Ｎａ）ＴＳパケット周期分の組み合せ期間をＴｐｎとし、期間ＴｐｎのＬ１倍の期間をＴｌ１とし、期間Ｔｌ１のＬ２倍の期間をＴｌ２としている。
【０１５７】
図４に示す多重化パターンＢは、Ｔｌ２のＬ３倍の期間であるＴｌ３を１ブロック周期として、システムデータであるＰＡＴ、ＰＭＴ及びＰＣＲを格納したＰＡＴ、ＰＭＴ及びＰＣＲパケットに対するパターンの割り当ての一例を示している。
【０１５８】
また、図４に示す多重化パターンＣは、Ｔｌ３のＬ４倍の期間であるＴｌ４を１ブロック周期として、システムデータであるＳＩＴを格納したＳＩＴパケットに対するパターンの割り当てを示している。また、図４に示す多重化パターンＣにおいてＴｌ４のＬ５倍の期間をＴｌ５として設定している。以下、図４を参照しながらシステムデータを送出するシステム期間の詳細を説明する。
【０１５９】
図３に示したように、システムデータの送出を確保するため、（Ｍａ＋Ｍｓ）オーディオ期間ごとにＭｓ回オーディオパケットの送出を休む。このように、多重化パターンは、各オーディオ期間において、“Ａ”で示すオーディオ送出期間と“Ｓ”で示すシステム期間との比率がＭａ対Ｍｓで周期的に繰り返すようなパターンであるため、図４の多重化パターンＡに示すように、システム期間は、期間Ｔｌ１とするような周期で繰り返される。
【０１６０】
図４に示す多重化パターンＢは、このようなシステム期間が、システムデータの送出期間に対応したシステム送出期間と休止期間とで構成され、システム送出期間と休止期間との比率がＫｓ対Ｋｒで周期的に繰り返さるパターンとした一例を挙げている。すなわち、図４の多重化パターンＢに示すように、期間Ｔｌ１を１小ブロック周期としたとき、（Ｋｓ０＋Ｋｒ０）小ブロック周期に１回システム送出期間を設定している。さらに、図４の多重化パターンＢは、４小ブロック周期を１大ブロック周期としたとき、システム送出期間と休止期間との比率が（Ｋｓ１＋Ｋｒ１）で周期的に繰り返さるパターンとした一例を挙げている。すなわち、図４の多重化パターンＢに示すように、ＰＡＴパケット、ＰＭＴパケット及びＰＣＲパケットのいずれかのパケットは、３大ブロック周期、すなわち期間Ｔｌ３ごとに、交互に送出される。
【０１６１】
このように、ＰＡＴ、ＰＭＴ及びＰＣＲパケットは、それぞれ期間Ｔｌ３ごとに１回、この順序で送出される。このようにすることで、ビデオＴＳパケットもオーディオＴＳパケットも送出されないタイミングに、ＰＡＴ、ＰＭＴ及びＰＣＲパケットを送出することができる。
【０１６２】
また、システムデータであるＳＩＴは、図４の多重化パターンＢに示すように、期間Ｔｌ２のいずれかの休止期間を利用して送出するような構成が可能である。すなわち、例えば、図４の多重化パターンＣに示すように、Ｌ５回に１度の割合で、システム期間の休止期間においてＳＩＴパケットを送出すればよい。
【０１６３】
次に、本実施の形態の多重化装置におけるビデオエレメンタリストリームＥＳｖの送出を開始するときの詳細なタイミング及び動作について説明する。
【０１６４】
図５は、本実施の形態１における多重化装置のビデオ送出開始のタイミングを示すタイミングチャートである。以下、図５を参照しながら、本多重化装置のビデオ送出開始前後の詳細なタイミング及び動作について説明する。
【０１６５】
図５において、ビデオフレームは、多重化装置におけるビデオに関する処理の時間単位を示している。システム時刻は、システム時刻生成部５５が生成する時刻、すなわちＳＴＣを示している。ＤＴＳｖ情報は、ビデオの各アクセスユニットに対応させたＤＴＳ情報の値を示している。
【０１６６】
また、図５では、ビデオエンコーダ１１から出力されるビデオエレメンタリストリームＥＳｖのタイミング、ビデオバッファ３１に記憶されるビデオ符号化データの実際の蓄積サイズ、及びビデオ残サイズ演算部３３により算出されたビデオ残サイズＳｒｖの様子を示している。
【０１６７】
さらに、図５では、ビデオパケット生成部３２で生成するビデオパケッタイズドエレメンタリストリームＰＥＳｖのタイミング、オーディオパケット生成部４２で生成するオーディオパケッタイズドエレメンタリストリームＰＥＳａのタイミング、及び多重化部５１から送出されるトランスポートストリームＴＳのタイミングを示している。
【０１６８】
まず、図２で説明したように、記録指示信号に応答して、ビデオエンコーダ１１は圧縮符号化処理を開始する。この後、ビデオエンコーダ１１で生成されたビデオ符号化データがアクセスユニット単位でビデオバッファ３１に供給される。ビデオフレームｆｒ０において、ビデオエンコーダ１１で生成されたアクセスユニット単位のビデオ符号化データｖ０がビデオバッファ３１に供給される。図５では、ビデオフレームｆｒ０において、Ｉ−ピクチャのような符号化データ量の多いビデオ符号化データｖ０が発生したような一例を挙げている。このビデオ符号化データｖ０などビデオエンコーダ１１から出力されるビデオ符号化データは、規定されたビデオの最大ビットレートよりも高速なビットレートで、ビデオエンコーダ１１からビデオバッファ３１に供給される。このため、図５に示すように、ビデオバッファ３１には、ビデオエンコーダ１１の送出ビットレートに応じた速度でビデオ符号化データが蓄積される。
【０１６９】
また、図５では、ビデオフレームｆｒ１における所定のタイミングで、ビデオ生成開始時刻ｔｅが設定された一例を挙げている。すなわち、制御部５９からビデオ残サイズ演算部３３に対してビデオ生成開始時刻情報Ｄ（ｔｅ）が通知されているため、ビデオ残サイズ演算部３３は、ＳＴＣを監視しながらこのＳＴＣがビデオ生成開始時刻情報Ｄ（ｔｅ）と等しくなる時刻、すなわちビデオ生成開始時刻ｔｅになると、ビデオユニットサイズ計測部１２からビデオ発生サイズ情報Ｄ（Ｓｖ０）を取り込み、ビデオ残サイズＳｒｖに取り込んだビデオ発生サイズＳｖ０を加算する。
【０１７０】
このため、図５に示すように、ビデオ生成開始時刻ｔｅにおいて、ビデオ残サイズＳｒｖは、０であるビデオ発生サイズからビデオ発生サイズＳｖ０分増加する。これとともに、ビデオ残サイズ演算部３３は、ビデオパケット生成部３２に対して、ビデオ残サイズ情報Ｄ（Ｓｒｖ）の通知を開始する。このようなビデオ生成開始時刻ｔｅにおいては、ビデオ残サイズは十分にあるため、ビデオパケット生成部３２は、ビデオ符号化データを格納したＴＳパケット（ビデオＴＳパケット）の生成を開始する。
【０１７１】
また、ビデオ残サイズ演算部３３は、ビデオ生成開始時刻ｔｅになると、タイムスタンプ生成部５７に対し、最初のビデオＡＵ先頭通知信号ＡＵＨｖを通知する。このため、タイムスタンプ生成部５７は、ビデオデコード開始時刻ｔｄの値とする先頭ＤＴＳとしてのＤＴＳｖ０情報をＰＥＳｖヘッダ生成部３４に通知する。
【０１７２】
このようにして、ビデオ生成開始時刻ｔｅになると、ビデオパケット生成部３２は、ビデオ符号化データを格納したＴＳパケットの生成を開始するにあたり、まず、最初に生成するＴＳパケットとして、ＤＴＳｖ０情報を格納したＰＥＳｖヘッダのデータをＰＥＳｖヘッダ生成部３４から取り込む。そして、ビデオパケット生成部３２は、ＴＳパケットのデータ格納領域であるペイロードにこのＰＥＳｖヘッダのデータを格納するとともに、ペイロードの残りの領域に先頭のビデオ符号化データを格納し、これらのデータを格納した先頭のＴＳパケットを生成する。すなわち、ビデオバッファ３１には、ビデオフレームｆｒ０において生成されたビデオ符号化データから記憶されているため、先頭のＴＳパケットには、ビデオ符号化データｖ０の先頭データが格納される。
【０１７３】
また、ビデオパケット生成部３２は、このような先頭のＴＳパケットを生成した後、ビデオ残サイズ演算部３３に対して、ＴＳパケットに格納したビデオ符号化データのサイズである送出サイズＳｔｖを示す送出サイズ情報Ｄ（Ｓｔｖ）を通知する。すなわち、このように先頭のＴＳパケットを生成する場合、ペイロードの残りの領域に格納したサイズが送出サイズ情報Ｄ（Ｓｔｖ）としてビデオ残サイズ演算部３３に通知される。また、ビデオ生成開始時刻ｔｅにおいて、多重化パターン信号Ｐで示される種別がビデオではないとき、ビデオパケット生成部３２は、多重化パターン信号Ｐで示される種別がビデオとなった時点で、上述のような先頭のＴＳパケットの生成を開始する。
【０１７４】
ビデオパケット生成部３２が先頭のＴＳパケットを生成した後、ビデオ残サイズＳｒｖが十分であり、かつ多重化パターン信号Ｐで示される種別がビデオである期間において、順次ビデオ符号化データを格納したＴＳパケットが生成される。このため、図５に示すように、ビデオ残サイズＳｒｖは、ビデオ符号化データを格納したＴＳパケットを生成するたびに、その送出サイズＳｔｖずつ減少していく。
【０１７５】
次に、ビデオフレームｆｒ１において、ビデオエンコーダ１１で生成されたアクセスユニット単位のビデオ符号化データｖ１がビデオバッファ３１に供給される。図５では、ビデオフレームｆｒ１において、Ｂ−ピクチャやＰ−ピクチャのような符号化データ量の少ないビデオ符号化データｖ１が発生したような一例を挙げている。このビデオ符号化データｖ１は、ビデオエンコーダ１１からビデオバッファ３１に供給される。このため、図５に示すように、ビデオバッファ３１には、ビデオエンコーダ１１の送出ビットレートに応じた速度でビデオ符号化データｖ０が蓄積されるとともに、ビデオバッファ３１が記憶する古いビデオ符号化データから順に、ビデオパケット生成部３２により取り込まれ、取り込まれたビデオバッファ３１内のビデオ符号化データが削除される。
【０１７６】
また、ビデオ残サイズ演算部３３は、ＳＴＣを監視しながらこのＳＴＣがビデオ生成開始時刻ｔｅよりもビデオフレーム周期Ｔｆｒだけ遅れた時刻になると、ビデオユニットサイズ計測部１２から次のビデオ発生サイズ情報Ｄ（Ｓｖ１）を取り込み、ビデオ残サイズＳｒｖに取り込んだビデオ発生サイズＳｖ１を加算する。このため、図５に示すように、時刻ｔｅ＋Ｔｆｒにおいて、ビデオ残サイズＳｒｖは、ビデオ発生サイズＳｖ１分だけ増加する。
【０１７７】
また、ビデオ残サイズ演算部３３は、最初のアクセスユニット単位のビデオ符号化データが最後であることを検出すると、タイムスタンプ生成部５７に対し、次のビデオＡＵ先頭通知信号ＡＵＨｖを通知する。このため、タイムスタンプ生成部５７は、次のＤＴＳであるＤＴＳｖ１情報をＰＥＳｖヘッダ生成部３４に通知する。このとき、ＤＴＳｖ１情報は、ＤＴＳｖ０よりもビデオフレーム周期Ｔｆｒだけ遅れた時刻、すなわち時刻ｔｄ＋Ｔｆｒとする情報である。
【０１７８】
ビデオパケット生成部３２は、次のアクセスユニットのビデオ符号化データを格納するＴＳパケットを生成するにあたり、ＤＴＳｖ１情報を格納したＰＥＳｖヘッダのデータをＰＥＳｖヘッダ生成部３４から取り込み、ＴＳパケットのデータ格納領域であるペイロードにこのＰＥＳｖヘッダのデータを格納するとともに、ペイロードの残りの領域に先頭のビデオ符号化データｖ１を格納し、これらのデータを格納した先頭のＴＳパケットを生成する。
【０１７９】
以上のように、各ビデオフレームｆｒにおいて、ビデオ残サイズ演算部３３によりビデオ残サイズＳｒｖが演算されるとともに、ビデオパケット生成部３２は、ビデオ残サイズ情報Ｄ（Ｓｒｖ）、及び多重化パターン信号Ｐの多重化パターンに従って、ＰＥＳｖヘッダデータやビデオ符号化データを格納したＴＳパケットを生成する。
【０１８０】
また、本実施の形態の多重化装置は、トランスポートストリームＴＳを送出するにあたり、図５に示すようなスタートアップディレイ時間Ｔｓｕや補正時間Ｔｓｃを設けている。すなわち、図５に示すように、スタートアップディレイ時間Ｔｓｕを、ＶＢＶディレイ（ＶＢＶ  ｄｅｌａｙ）時間とした場合、このＶＢＶディレイ時間は、ビデオデコード処理のビットレートでの理想的な条件に基づき設定されているため、例えば、多重化処理による遅延時間などは考慮されていない。このようなＶＢＶディレイ時間は、ＭＰＥＧシステムにおいて定義されるシステムターゲットデコーダ（ＳＴＤ：Ｓｙｓｔｅｍ  Ｔａｒｇｅｔ  Ｄｅｃｏｄｅｒ）と呼ばれるデコーダ側のバッファを含む復号器のモデルにおいて規定された時間であり、ビデオデコード処理のビットレートでデコーダ側のＶＢＶバッファと呼ばれるバッファを一杯にするのに必要な時間である。一方、本実施の形態の多重化装置は、ビデオパケット生成部３２や多重化部５１の処理に要する遅延時間があるとともに、多重化パターンに基づいてデータの送出を行っている。そのため、ビデオ符号化データの送出において、オーディオ期間は送出が停止することとなり、このようなオーディオ期間による送出ロスも含んでいる。
【０１８１】
このため、本実施の形態における多重化装置では、このような多重化処理による遅延時間などの送出ロスを補償するため、ＶＢＶディレイ時間よりも、図５に示すような補正時間Ｔｓｃだけ前方向の時刻であるビデオ送出開始時刻ｔｓを設けている。すなわち、理想的なＶＢＶディレイ時間よりも、さらに、上述したような遅延時間だけ早くデータを送出することにより、上述のような送出ロスを補償している。すなわち、本実施の形態における多重化装置では、図５に示すように、このようなビデオ送出開始時刻ｔｓをビデオ生成開始時刻ｔｅとし、ビデオ生成開始時刻ｔｅからＶＢＶディレイ時間と多重化処理による最大の遅延時間である補正時間Ｔｓｃとを加算した時間であるスタートアップディレイ時間Ｔｓｕだけ遅れた時間をビデオ先頭ＤＴＳｖとしている。これによって、デコーダがＤＴＳに従ってデコードを開始する時刻までに、デコーダ側のバッファを一杯の状態にすることができる。
【０１８２】
なお、図５のオーディオパケッタイズドエレメンタリストリームＰＥＳａに示すように、オーディオ符号化データに関しては、このようなトランスポートストリームＴＳの送出を開始する時間帯においては送出を開始しない。すなわち、オーディオに関するデコード処理は、ビデオに関するデコード処理に比べて、処理時間が短い。このようなオーディオとビデオとの処理時間の差による提示時刻のずれを補正するため、ビデオに比べてオーディオ符号化データの送出を遅らせている。このため、図５に示すように、トランスポートストリームＴＳでのオーディオ送出期間においては、例えば、スタッフィングデータを格納したＴＳパケットを送出している。
【０１８３】
次に、本実施の形態の多重化装置におけるオーディオエレメンタリストリームＥＳａの送出を開始するときの詳細なタイミング及び動作について説明する。
【０１８４】
図６は、本実施の形態１における多重化装置のオーディオ送出開始のタイミングを示すタイミングチャートである。以下、図６を参照しながら、本多重化装置のオーディオ送出開始前後の詳細なタイミング及び動作について説明する。
【０１８５】
図６において、ビデオフレームは、多重化装置におけるビデオに関する処理の時間単位を示している。また、図６では、ビデオエンコーダ１１から出力されるビデオエレメンタリストリームＥＳｖのタイミング、及びビデオパケット生成部３２で生成するビデオパケッタイズドエレメンタリストリームＰＥＳｖのタイミングを示している。
【０１８６】
オーディオフレームは、多重化装置におけるオーディオに関する処理の時間単位を示している。システム時刻は、システム時刻生成部５５が生成する時刻、すなわちＳＴＣを示している。ＰＴＳａ情報は、オーディオの各アクセスユニットに対応させたＰＴＳ情報の値を示している。
【０１８７】
さらに、図６では、オーディオエンコーダ２１から出力されるオーディオエレメンタリストリームＥＳａのタイミング、オーディオ残サイズ演算部４３により算出されたオーディオ残サイズＳｒａの様子、オーディオパケット生成部４２で生成するオーディオパケッタイズドエレメンタリストリームＰＥＳａのタイミング、及び多重化部５１から送出されるトランスポートストリームＴＳのタイミングを示している。
【０１８８】
まず、図２で説明したように、記録指示信号に応答して、オーディオエンコーダ２１は圧縮符号化処理を開始する。この後、オーディオエンコーダ２１で生成されたオーディオ符号化データがアクセスユニット単位でオーディオバッファ４１に供給される。オーディオフレームａｆｒ０において、オーディオエンコーダ２１で生成されたアクセスユニット単位のオーディオ符号化データａ０がオーディオバッファ４１に供給される。このオーディオ符号化データａ０などオーディオエンコーダ２１から出力されるオーディオ符号化データは、規定されたオーディオの最大ビットレートよりも高速なビットレートで、オーディオエンコーダ２１からオーディオバッファ４１に供給される。このため、オーディオバッファ４１には、オーディオエンコーダ２１の送出ビットレートに応じた速度でオーディオ符号化データが蓄積される。このようにして、順次、オーディオ符号化データａ１、ａ２、ａ３が蓄積される。
【０１８９】
また、図６では、オーディオフレームａｆｒ７における所定のタイミングで、オーディオ生成開始時刻ｔａｅが設定された一例を挙げている。このようなオーディオ生成開始時刻ｔａｅのタイミングは、図２に示したように、ビデオデコード開始時刻ｔｄよりビデオフレーム周期Ｔｆｒだけ遅れた時刻をオーディオ先頭ＰＴＳ時刻としたとき、このオーディオ先頭ＰＴＳ時刻よりもオーディオフレーム周期Ｔａｆｒだけ前に進んだ時刻としている。
【０１９０】
すなわち、制御部５９からオーディオ残サイズ演算部４３に対してオーディオ生成開始時刻情報Ｄ（ｔａｅ）が通知されているため、オーディオ残サイズ演算部４３は、ＳＴＣを監視しながらこのＳＴＣがオーディオ生成開始時刻情報Ｄ（ｔａｅ）と等しくなる時刻、すなわちオーディオ生成開始時刻ｔａｅになると、オーディオユニットサイズ計測部２２から、先頭アクセスユニットとするオーディオ発生サイズ情報Ｄ（Ｓａ０）を取り込み、オーディオ残サイズＳｒａに取り込んだオーディオ発生サイズＳａ０を加算する。
【０１９１】
このため、図６に示すように、オーディオ生成開始時刻ｔａｅにおいて、オーディオ残サイズＳｒａは、０であるオーディオ発生サイズからオーディオ発生サイズＳａ０分増加する。これとともに、オーディオ残サイズ演算部４３は、オーディオパケット生成部４２に対して、オーディオ残サイズ情報Ｄ（Ｓｒａ）の通知を開始する。このようなオーディオ生成開始時刻ｔａｅにおいては、オーディオ残サイズは十分にあるため、オーディオパケット生成部４２は、オーディオ符号化データを格納したＴＳパケット（オーディオＴＳパケット）の生成を開始する。
【０１９２】
また、オーディオ残サイズ演算部４３は、オーディオ生成開始時刻ｔａｅになると、タイムスタンプ生成部５７に対し、最初のオーディオＡＵ先頭通知信号ＡＵＨａを通知する。このため、タイムスタンプ生成部５７は、オーディオ提示開始時刻ｔｄ＋Ｔｆｒの値とする先頭ＰＴＳとしてのＰＴＳａ０情報をＰＥＳａヘッダ生成部４４に通知する。
【０１９３】
このようにして、オーディオ生成開始時刻ｔａｅになると、オーディオパケット生成部４２は、オーディオ符号化データを格納したＴＳパケットの生成を開始するにあたり、まず、最初に生成するＴＳパケットとして、ＰＴＳａ０情報を格納したＰＥＳａヘッダのデータをＰＥＳａヘッダ生成部４４から取り込む。そして、オーディオパケット生成部４２は、ＴＳパケットのデータ格納領域であるペイロードにこのＰＥＳａヘッダのデータを格納するとともに、ペイロードの残りの領域に先頭のオーディオ符号化データを格納し、これらのデータを格納した先頭のＴＳパケットを生成する。なお、オーディオバッファ４１には、オーディオフレームａｆｒ０において生成されたオーディオ符号化データが記憶されているため、先頭のＴＳパケットには、オーディオ符号化データａ０の先頭データが格納される。
【０１９４】
また、オーディオパケット生成部４２は、このような先頭のＴＳパケットを生成した後、オーディオ残サイズ演算部４３に対して、ＴＳパケットに格納したオーディオ符号化データのサイズである送出サイズＳｔａを示す送出サイズ情報Ｄ（Ｓｔａ）を通知する。すなわち、このように先頭のＴＳパケットを生成する場合、ペイロードの残りの領域に格納したサイズが送出サイズ情報Ｄ（Ｓｔａ）としてオーディオ残サイズ演算部４３に通知される。また、オーディオ生成開始時刻ｔａｅにおいて、多重化パターン信号Ｐで示される種別がオーディオではないとき、オーディオパケット生成部４２は、多重化パターン信号Ｐで示される種別がオーディオとなった時点で、上述のような先頭のＴＳパケットの生成を開始する。
【０１９５】
オーディオパケット生成部４２が先頭のＴＳパケットを生成した後、オーディオ残サイズＳｒａが十分であり、かつ多重化パターン信号Ｐで示される種別がオーディオである期間において、順次オーディオ符号化データを格納したＴＳパケットが生成される。このため、図６に示すように、オーディオ残サイズＳｒａは、オーディオ符号化データを格納したＴＳパケットを生成するたびに、その送出サイズＳｔａずつ減少していく。
【０１９６】
次に、オーディオフレームａｆｒ１において、オーディオエンコーダ２１で生成されたアクセスユニット単位のオーディオ符号化データａ１がオーディオバッファ４１に供給される。このオーディオ符号化データａ１は、オーディオエンコーダ２１からオーディオバッファ４１に供給される。このため、オーディオバッファ４１には、オーディオエンコーダ２１の送出ビットレートに応じた速度でオーディオ符号化データａ１が蓄積されるとともに、オーディオバッファ４１が記憶する古いオーディオ符号化データから順に、オーディオパケット生成部４２により取り込まれ、取り込まれたオーディオバッファ４１内のオーディオ符号化データが削除される。
【０１９７】
また、オーディオ残サイズ演算部４３は、ＳＴＣを監視しながらこのＳＴＣがオーディオ生成開始時刻ｔａｅよりもオーディオフレーム周期Ｔａｆｒだけ遅れた時刻になると、オーディオユニットサイズ計測部２２から次のオーディオ発生サイズ情報Ｄ（Ｓａ１）を取り込み、オーディオ残サイズＳｒａに取り込んだオーディオ発生サイズＳａ１を加算する。このため、図６に示すように、時刻ｔａｅ＋Ｔａｆｒにおいて、オーディオ残サイズＳｒａは、オーディオ発生サイズＳａ１分だけ増加する。
【０１９８】
また、オーディオ残サイズ演算部４３は、最初のアクセスユニット単位のオーディオ符号化データが最後であることを検出すると、タイムスタンプ生成部５７に対し、次のオーディオＡＵ先頭通知信号ＡＵＨａを通知する。このため、タイムスタンプ生成部５７は、次のＰＴＳであるＰＴＳａ１情報をＰＥＳｖヘッダ生成部３４に通知する。このとき、ＰＴＳａ１情報は、ＰＴＳａ０よりもオーディオフレーム周期Ｔａｆｒだけ遅れた時刻、すなわち時刻ｔｄ＋Ｔｆｒ＋Ｔａｆｒとする情報である。
【０１９９】
オーディオパケット生成部４２は、次のアクセスユニットのオーディオ符号化データを格納するＴＳパケットを生成するにあたり、ＰＴＳａ１情報を格納したＰＥＳａヘッダのデータをＰＥＳａヘッダ生成部４４から取り込み、ＴＳパケットのデータ格納領域であるペイロードにこのＰＥＳａヘッダのデータを格納するとともに、ペイロードの残りの領域に先頭のオーディオ符号化データａ１を格納し、これらのデータを格納した先頭のＴＳパケットを生成する。
【０２００】
以上のように、各オーディオフレームａｆｒにおいて、オーディオ残サイズ演算部４３によりオーディオ残サイズＳｒａが演算されるとともに、オーディオパケット生成部４２は、オーディオ残サイズ情報Ｄ（Ｓｒａ）、及び多重化パターン信号Ｐの多重化パターンに従って、ＰＥＳａヘッダデータやオーディオ符号化データを格納したＴＳパケットを生成する。
【０２０１】
なお、ビデオ符号化データは可変長符号化データであるのに対して、オーディオ符号化データは固定長符号化データである。このため、例えば、図２のように、ビデオ残サイズ演算部３３のビデオ残サイズＳｒｖがビデオフレームごとに変化するのに対して、オーディオ残サイズ演算部４３のオーディオ残サイズＳｒａは、送出を開始した後、オーディオフレームごとに同一の変化をする。
【０２０２】
このようにして、オーディオ生成開始時刻ｔａｅにおいて、上述したように、オーディオパケット生成部４２が、オーディオ残サイズ情報Ｄ（Ｓｒａ）、及び多重化パターン信号Ｐの多重化パターンに従って、ＰＥＳａヘッダデータやオーディオ符号化データを格納したＴＳパケットの生成を開始する。オーディオパケット生成部４２が生成したＴＳパケットは、図６に示すように、多重化パターンのオーディオ送出期間において、トランスポートストリームＴＳに多重化される。
【０２０３】
次に、本実施の形態の多重化装置におけるビデオエレメンタリストリームＥＳｖの送出においてビデオ残サイズがなくなった場合の詳細なタイミング及び動作について説明する。
【０２０４】
図７は、本実施の形態１における多重化装置のビデオ残サイズがなくなった場合のタイミングを示すタイミングチャートである。以下、図７を参照しながら、本実施の形態における多重化装置のビデオ送出においてビデオ残サイズがなくなった場合の詳細なタイミング及び動作について説明する。
【０２０５】
図７において、ビデオフレームは、多重化装置におけるビデオに関する処理の時間単位を示している。また、図７では、ビデオエンコーダ１１から出力されるビデオエレメンタリストリームＥＳｖのタイミング、ビデオバッファ３１に記憶されるビデオ符号化データの実際の蓄積サイズ、及びビデオ残サイズ演算部３３により算出されたビデオ残サイズＳｒｖの様子を示している。さらに、図７では、ビデオパケット生成部３２で生成するビデオパケッタイズドエレメンタリストリームＰＥＳｖのタイミング、オーディオパケット生成部４２で生成するオーディオパケッタイズドエレメンタリストリームＰＥＳａのタイミング、及び多重化部５１から送出されるトランスポートストリームＴＳのタイミングを示している。
【０２０６】
本実施の形態の多重化装置は、ビデオエンコーダ１１により可変ビット長のビデオ符号化データが生成される。そのため、例えば、静止した画像が継続するような場合、Ｂ−ピクチャやＰ−ピクチャのビデオ符号化データサイズが減少する。このようなデータサイズの小さいビデオ符号化データがアクセスユニットごとに発生すると、ビデオバッファ３１に対するビデオ符号化データの供給量よりも、ビデオバッファ３１からの取り込み量のほうが多くなるため、例えば、ビデオバッファ３１が空となるような状況が発生する。図７は、このような状況を想定したタイミングチャートである。
【０２０７】
図７のビデオエレメンタリストリームＥＳｖに示すように、アクセスユニットごとのデータサイズが小さいビデオ符号化データｖｎ、ｖｎ＋１、ｖｎ＋２が継続すると、ビデオバッファ３１に蓄積するビデオ符号化データサイズが時間の経過とともに減少する。また、ビデオ残サイズ演算部３３におけるビデオ残サイズＳｒｖも減少していくこととなり、図７のビデオフレームｆｒｎ＋３期間のように、ビデオ残サイズＳｒｖが０や送出サイズＳｔｖ以下となるような状況が発生する。
【０２０８】
本実施の形態の多重化装置は、このようにビデオ残サイズＳｒｖが送出サイズＳｔｖ以下となる場合、図７に示すように、ビデオパケッタイズドエレメンタリストリームＰＥＳｖの生成を休止する休止期間を設けたことを特徴としている。
【０２０９】
図７において、例えば、ビデオフレームｆｒｎのとき、ビデオ残サイズ演算部３３は、ＳＴＣ時刻がｔｅ＋ｎ×Ｔｆｒになると、ビデオユニットサイズ計測部１２からビデオ発生サイズ情報Ｄ（Ｓｖｎ）を取り込み、ビデオ残サイズＳｒｖに取り込んだビデオ発生サイズＳｖｎを加算する。この後、ビデオパケット生成部３２がビデオ符号化データを格納したＴＳパケットの生成を継続するため、ビデオ符号化データを格納したＴＳパケットを生成するたびに、ビデオ残サイズＳｒｖはその送出サイズずつ減少していく。特に、ビデオフレームｆｒｎの期間のように、ビデオ符号化データｖｎのビデオ発生サイズＳｖｎよりも、ビデオフレーム周期Ｔｆｒにおける送出サイズの総サイズが大きいと、ビデオ残サイズＳｒｖはビデオフレーム単位で減少することとなる。図７に示すように、このようなデータサイズが小さいビデオ符号化データｖｎ、ｖｎ＋１、ｖｎ＋２が継続すると、ビデオフレームｆｒｎ＋３の期間のように、ビデオ残サイズＳｒｖが０や送出サイズＳｔｖ以下となる。
【０２１０】
ビデオ残サイズＳｒｖが送出サイズＳｔｖ以下になったときも、ビデオ残サイズ演算部３３は、ビデオパケット生成部３２に対して、ビデオ残サイズＳｒｖが送出サイズＳｔｖ以下であるビデオ残サイズ情報Ｄ（Ｓｒｖ）を通知する。また、ビデオパケット生成部３２は、多重化パターン信号Ｐがビデオを指示するタイミングになると、ビデオ残サイズＳｒｖが次の送出サイズＳｔｖ以上であるかどうか判定する。このとき、ビデオ残サイズＳｒｖが次の送出サイズＳｔｖ以下であるため、ビデオパケット生成部３２は、ビデオ符号化データを格納したＴＳパケットの生成を休止する。このため、多重化部５１には、オーディオ符号化データを格納したＴＳパケット及びシステムデータを格納したＴＳパケットのみが供給される。その結果、多重化部５１からは、図７に示すように、休止期間において、ビデオＴＳパケットの送出を停止したようなトランスポートストリームＴＳが送出される。
【０２１１】
なお、図７に示すように、休止期間において、ビデオ残サイズＳｒｖは例えば０になるが、ビデオバッファ３１には、図５で示した補正時間分のビデオ符号化データが実際には蓄積されているような構成であってもよい。また、図７では、休止期間において、ビデオＴＳパケットの送出を停止するような例を挙げているが、ヌルデータを格納したＴＳパケットを送出するような構成であってもよい。
【０２１２】
図８は、ビデオ残サイズＳｒｖが送出サイズＳｔｖ以下となった休止期間における処理の例を説明するためのタイミングチャートである。図８のトランスポートストリームＴＳＡは、このような休止期間において、ビデオパケット生成部３２がビデオ符号化データを格納したＴＳパケットの生成を休止し、ビデオ期間中、多重化部５１からはビデオＴＳパケットを送出しないような一例を示している。また、図８のトランスポートストリームＴＳＡでは、ＴＰエクストラヘッダデータ領域を有したソースパケットと呼ばれるパケットで構成されるトランスポートストリームＴＳを利用した場合の一例を示している。
【０２１３】
図８のトランスポートストリームＴＳＢは、ビデオパケット生成部３２がビデオ符号化データに代えてヌルデータなどのスタッフィングデータを格納したＴＳパケットを生成し、ビデオ期間中、多重化部５１からはスタッフィングデータを格納したＴＳパケットを送出する例を示している。また、図８のトランスポートストリームＴＳＣは、ビデオパケット生成部３２がビデオ符号化データを格納したＴＳパケットに代えてパディングパケットを生成し、ビデオ期間中、多重化部５１からはパディングパケットを送出する例を示している。
【０２１４】
まず、休止期間において、図８に示すようなトランスポートストリームＴＳＡを送出する場合、ビデオパケット生成部３２は、アクセスユニットの最後となるビデオ符号化データをＴＳパケットのペイロードに格納する。ペイロードに残った領域がある場合には、ビデオパケット生成部３２は、そのペイロードの残った領域にスタッフィングデータを格納する。ビデオパケット生成部３２は、このようなアクセスユニットの最後となるビデオ符号化データを格納したＴＳパケットを生成した後、ビデオ残サイズＳｒｖが送出サイズＳｔｖ以下となると、図８のトランスポートストリームＴＳＡに示すようにＴＳパケットの生成を休止する。このような休止期間の後、ビデオバッファ３１に次のビデオ符号化データが供給されると、ビデオエンコーダ１１からビデオ残サイズ演算部３３に、上述したような所定のタイミングでビデオ発生サイズＳｖが通知される。
【０２１５】
これによって、ビデオ残サイズ演算部３３により算出されるビデオ残サイズＳｒｖは、送出サイズＳｔｖ以上となるため、ビデオパケット生成部３２は、ＴＳパケットの生成を再開する。このとき、アクセスユニットの先頭データとなるため、ビデオパケット生成部３２は、まず、ＴＳパケットにＰＥＳｖヘッダデータを格納し、ペイロードの残った領域に先頭のビデオ符号化データを格納し、このようなＴＳパケットを生成する。
【０２１６】
本実施の形態の多重化装置は、このような休止期間においてＴＳパケットの送出を停止した後、ＴＳパケットの生成を再開するとき、図８のトランスポートストリームＴＳＡに示すように、ＴＰエクストラヘッダデータ領域にＡＴＳｎで示すようなアライバルタイムスタンプ（ＡＴＳ：Ａｒｒｉｖａｌ  Ｔｉｍｅ  Ｓｔａｍｐ）を格納し、送出する。これにより、トランスポートストリームＴＳを再生するような場合、このような休止期間があっても、このアライバルタイムスタンプを利用してスムーズに再生を行うことができる。また、このようなアライバルタイムスタンプを設けることにより、記録媒体６２に記録する記録容量を削減できる。
【０２１７】
また、休止期間において、図８に示すようなトランスポートストリームＴＳＢを送出する場合、ビデオパケット生成部３２は、アクセスユニットの最後となるビデオ符号化データをＴＳパケットのペイロードに格納する。ペイロードに残った領域がある場合には、ビデオパケット生成部３２は、そのペイロードの残った領域にスタッフィングデータを格納する。ビデオパケット生成部３２は、このようなアクセスユニットの最後となるビデオ符号化データを格納したＴＳパケットを生成した後、ビデオ残サイズＳｒｖが送出サイズＳｔｖ以下あるいは未満となると、図８のトランスポートストリームＴＳＢに示すように、“Ｎ”で示す不足データ分を充当するためのスタッフィングデータを格納したＴＳパケットを生成する。
【０２１８】
これによって、休止期間におけるビデオ期間中、多重化部５１からはスタッフィングデータを格納したＴＳパケットが送出される。また、図８のトランスポートストリームＴＳＡの場合と同様に、このような休止期間の後、ビデオバッファ３１に次のビデオ符号化データが供給されると、ビデオパケット生成部３２は、ＴＳパケットの生成を再開する。このとき、アクセスユニットの先頭データとなるため、ビデオパケット生成部３２は、まず、ＴＳパケットにＰＥＳｖヘッダデータを格納し、ペイロードの残った領域に先頭のビデオ符号化データを格納し、このようなＴＳパケットを生成する。
【０２１９】
また、休止期間において、図８に示すようなトランスポートストリームＴＳＣを送出する場合、ビデオパケット生成部３２は、アクセスユニットの最後となるビデオ符号化データをＴＳパケットのペイロードに格納する。ペイロードに残った領域がある場合には、ビデオパケット生成部３２は、そのペイロードの残った領域にスタッフィングデータを格納する。ビデオパケット生成部３２は、このようなアクセスユニットの最後となるビデオ符号化データを格納したＴＳパケットを生成した後、ビデオ残サイズＳｒｖが送出サイズＳｔｖ以下あるいは未満となると、図８のトランスポートストリームＴＳＣに示すように、“Ｐ”で示す不足データ分を充当するためのパディングパケットを生成する。
【０２２０】
これによって、休止期間におけるビデオ期間中、多重化部５１からはパディングパケットが送出される。また、図８のトランスポートストリームＴＳＡの場合と同様に、このような休止期間の後、ビデオバッファ３１に次のビデオ符号化データが供給されると、ビデオパケット生成部３２は、ＴＳパケットの生成を再開する。このとき、アクセスユニットの先頭データとなるため、ビデオパケット生成部３２は、まず、ＴＳパケットにＰＥＳｖヘッダデータを格納し、ペイロードの残った領域に先頭のビデオ符号化データを格納し、このようなＴＳパケットを生成する。
【０２２１】
なお、図８のトランスポートストリームＴＳＢやトランスポートストリームＴＳＣで示した処理の場合、ＴＰエクストラヘッダデータ領域を有したパケットを送出してもよく、また通常のＴＳパケットを送出するような処理であってもよい。
【０２２２】
次に、本実施の形態の多重化装置における詳細な動作について説明する。
【０２２３】
図９は、本実施の形態１における多重化装置の装置制御部１９の処理の手順を示すフローチャートである。以下、図面を参照しながら、本実施の形態の多重化装置における詳細な動作について説明する。
【０２２４】
本多重化装置に対して、例えば、ユーザがコンテンツを記録するように指示すると、まず、装置制御部１９が図９に示すような処理を実行する。すなわち、装置制御部１９は、ビデオエンコーダ１１に対して、供給されたビデオデータのエンコード処理、すなわち圧縮符号化処理を開始するよう指示する（ステップＳ１）。
【０２２５】
次に、装置制御部１９は、オーディオエンコーダ２１に対しても、供給されたオーディオデータのエンコード処理、すなわち圧縮符号化処理を開始するよう指示する（ステップＳ２）。次に、装置制御部１９は、ＴＳ生成部３０の制御部５９に対して、トランスポートストリームＴＳの生成を開始するよう指示する（ステップＳ３）。この後、装置制御部１９は、ユーザからの指示などの待ち状態となり、例えば、コンテンツの記録を終了する指示を受け付けると記録媒体６２への記録を終了するよう制御する（ステップＳ４）。
【０２２６】
続いて、制御部５９の処理について説明する。図１０は、本実施の形態１における多重化装置の制御部５９の処理の手順を示すフローチャートである。
【０２２７】
まず、ＴＳ生成部３０の制御部５９は、装置制御部１９から出力されるトランスポートストリームＴＳの生成開始の指示を受け付けたか否かを判断する（ステップＳ１１）。ここで、制御部５９がトランスポートストリームＴＳの生成開始の指示を受け付けていないと判断されると（ステップＳ１１でＮＯ）、制御部５９は、トランスポートストリームＴＳの生成開始の指示を受け付けるまで待機状態となる。
【０２２８】
一方、制御部５９がトランスポートストリームＴＳの生成開始の指示を受け付けたと判断されると（ステップＳ１１でＹＥＳ）、制御部５９は、次のような処理の実行を開始する。まず、制御部５９は、システム時刻生成部５５に対してＳＴＣの初期値を通知する（ステップＳ１２）。これによって、システム時刻生成部５５は、通知された初期値から基準時刻のカウントを開始し、ＳＴＣ情報をビデオ残サイズ演算部３３やオーディオ残サイズ演算部４３などに通知するとともに、ＰＣＲ情報をシステムパケット生成部４９に通知する。
【０２２９】
次に、制御部５９は、ＴＳ生成部３０の各部に対して初期動作を開始するよう指示する（ステップＳ１３）。なお、ここの初期動作は、起動プログラムの開始や、変数の初期化等が行われる。次に、制御部５９は、タイムスタンプ生成部５７に対して、スタートアップのタイミングに関する時間情報やビデオ及びオーディオフレームの時間情報などを通知する（ステップＳ１４）。
【０２３０】
次に、制御部５９は、ビデオ残サイズ演算部３３に対して、ビデオ生成開始時刻情報Ｄ（ｔｅ）を通知する（ステップＳ１５）。これによって、ビデオ残サイズ演算部３３は、ＳＴＣがビデオ生成開始時刻ｔｅとなるのを待つ。また、制御部５９は、オーディオ残サイズ演算部４３に対して、オーディオ生成開始時刻情報Ｄ（ｔａｅ）を通知する（ステップＳ１６）。これによって、オーディオ残サイズ演算部４３は、ＳＴＣがオーディオ生成開始時刻ｔａｅとなるのを待つ。この後、制御部５９は、例えば、装置制御部１９からの指示などを待つ待ち状態となる。
【０２３１】
続いて、本実施の形態における多重化装置の多重化ストリーム生成処理の手順について説明する。図１１は、本実施の形態１における多重化装置の多重化ストリーム生成処理の手順を示すフローチャートである。
【０２３２】
まず、多重化パターン生成部５６は、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号Ｐを生成し、ビデオパケット生成部３２、オーディオパケット生成部４２及びシステムパケット生成部４９に出力する（ステップＳ２１）。
【０２３３】
次に、タイムスタンプ生成部５７は、制御部５９によって出力された時間情報を用いてタイムスタンプ情報を生成する（ステップＳ２２）。時間情報は、スタートアップディレイ時間Ｔｓｕや補正時間Ｔｓｃなどのスタートアップでのタイミングに関する時間情報、及びビデオフレーム周期Ｔｆｒやオーディオフレーム周期Ｔａｆｒを示す時間情報を含む。なお、タイムスタンプ生成部５７によるタイムスタンプ情報生成処理については図１２及び図１３を用いて後述する。
【０２３４】
次に、ビデオ残サイズ演算部３３は、ビデオバッファ３１に一時記憶されたビデオエレメンタリストリームの多重化可能な残りのデータサイズであるビデオ残サイズを求め、求めたビデオ残サイズを示すビデオ残サイズ情報を出力する（ステップＳ２３）。なお、ビデオ残サイズ演算部３３によるビデオ残サイズ算出処理については図１５を用いて後述する。
【０２３５】
次に、ビデオパケット生成部３２は、多重化パターン信号とビデオ残サイズ情報とに基づき、ビデオバッファ３１に一時記憶されたビデオエレメンタリストリームから所定サイズのデータを送出データとして取り込み、取り込んだ送出データを格納したビデオＴＳパケットを生成する（ステップＳ２４）。なお、ビデオパケット生成部３２によるビデオＴＳパケット生成処理については図１６及び図１７を用いて後述する。
【０２３６】
次に、オーディオ残サイズ演算部４３は、オーディオバッファ４１に一時記憶されたオーディオエレメンタリストリームの多重化可能な残りのデータサイズであるオーディオ残サイズを求め、求めたオーディオ残サイズを示すオーディオ残サイズ情報を出力する（ステップＳ２５）。なお、オーディオ残サイズ演算部４３によるオーディオ残サイズ算出処理については図１８を用いて後述する。
【０２３７】
次に、オーディオパケット生成部４２は、多重化パターン信号とオーディオ残サイズ情報とに基づき、オーディオバッファ４１に一時記憶されたオーディオエレメンタリストリームから所定サイズのデータを送出データとして取り込み、取り込んだ送出データを格納したオーディオＴＳパケットを生成する（ステップＳ２６）。なお、オーディオパケット生成部４２によるオーディオＴＳパケット生成処理については図１９及び図２０を用いて後述する。
【０２３８】
次に、システムパケット生成部４９は、多重化パターン信号に基づき、生成する多重化ストリームに関する情報を含むシステムデータを格納したシステムＴＳパケットを生成する（ステップＳ２７）。なお、システムパケット生成部４９によるシステムＴＳパケット生成処理については図２１を用いて後述する。
【０２３９】
次に、多重化部５１は、ビデオパケット生成部３２、オーディオパケット生成部４２及びシステムパケット生成部４９で生成されたビデオＴＳパケット、オーディオＴＳパケット及びシステムＴＳパケットを、生成された順番に多重化し、トランスポートストリームＴＳを生成する（ステップＳ２８）。
【０２４０】
続いて、図１１のステップＳ２２に示すタイムスタンプ生成部５７の処理について説明する。図１２及び図１３は、本実施の形態１における多重化装置のタイムスタンプ生成部５７の処理の手順を示すフローチャートである。タイムスタンプ生成部５７は、制御部５９からスタートアップのタイミングに関する時間情報やビデオ及びオーディオフレームの時間情報などを受け取ると、図１２及び図１３に示すような処理を実行する。
【０２４１】
まず、タイムスタンプ生成部５７は、ビデオフレームをカウントするためのカウンタＮ及びオーディオフレームをカウントするためのカウンタＫをリセット、すなわち０に設定する（ステップＳ３１）。
【０２４２】
次に、タイムスタンプ生成部５７は、制御部５９から通知されたスタートアップのタイミングに関する時間情報などに基づき、最初に送出するアクセスユニットのビデオ符号化データに対するＤＴＳ値として、上述したようなビデオデコード開始時刻ｔｄを設定する（ステップＳ３２）。
【０２４３】
次に、タイムスタンプ生成部５７は、制御部５９から通知されたスタートアップのタイミングに関する時間情報などに基づき、最初に送出するアクセスユニットのオーディオ符号化データに対するＰＴＳ値として、オーディオ提示開始時刻とするｔｄ＋Ｔｆｒを設定する（ステップＳ３３）。
【０２４４】
この後、タイムスタンプ生成部５７は、ビデオ残サイズ演算部３３からビデオＡＵ先頭通知信号ＡＵＨｖが通知されたか否かを判断する（ステップＳ３４）。ここで、ビデオＡＵ先頭通知信号ＡＵＨｖが通知されていない場合（ステップＳ３４でＮＯ）、タイムスタンプ生成部５７は、オーディオ残サイズ演算部４３からオーディオＡＵ先頭通知信号ＡＵＨａが通知されたか否かを判断する（ステップＳ４１）。
【０２４５】
ステップＳ４１において、オーディオＡＵ先頭通知信号ＡＵＨａが通知されていない場合（ステップＳ４１でＮＯ）、タイムスタンプ生成部５７は、制御部５９から処理の終了が通知されたかどうかを判定する（ステップＳ４５）。
【０２４６】
ステップＳ４５において、制御部５９から処理の終了が通知されていない場合（ステップＳ４５でＮＯ）、ステップＳ３４の処理に戻り、タイムスタンプ生成部５７は、ビデオ残サイズ演算部３３からビデオＡＵ先頭通知信号ＡＵＨｖが通知されたか否かを再度判断する。すなわち、タイムスタンプ生成部５７は、このようなループを繰り返すことにより、制御部５９から処理の終了が通知されるまで、ビデオ残サイズ演算部３３からのビデオＡＵ先頭通知信号ＡＵＨｖ、及びオーディオ残サイズ演算部４３からのオーディオＡＵ先頭通知信号ＡＵＨａが通知されるのを待っている。
【０２４７】
ステップＳ３４において、ビデオＡＵ先頭通知信号ＡＵＨｖが通知されたと判断されると（ステップＳ３４でＹＥＳ）、タイムスタンプ生成部５７は、アクセスユニットごとのビデオ符号化データに対するＤＴＳ値を設定する。すなわち、ビデオフレームをカウントするカウンタＮの値をｎとすると、タイムスタンプ生成部５７は、ｎ番目のアクセスユニットに対するＤＴＳｖｎを時刻ｔｄ＋ｎ×Ｔｆｒに設定する（ステップＳ３５）。次に、タイムスタンプ生成部５７は、このような値を設定したＤＴＳｖｎをＰＥＳｖヘッダ生成部３４に通知する（ステップＳ３６）。
【０２４８】
次に、タイムスタンプ生成部５７は、このときのアクセスユニットのピクチャ種別を判定する（ステップＳ３７）。タイムスタンプ生成部５７は、このときのアクセスユニットのピクチャ種別がＢ−ピクチャであるとき、Ｂ−ピクチャに対応したＰＴＳ値であるＰＴＳｖｎをＰＥＳｖヘッダ生成部３４に通知する（ステップＳ３８）。一方、タイムスタンプ生成部５７は、このときのアクセスユニットのピクチャ種別がＩ−ピクチャかＰ−ピクチャであるとき、Ｉ及びＰ−ピクチャに対応したＰＴＳ値であるＰＴＳｖｎをＰＥＳｖヘッダ生成部３４に通知する（ステップＳ３９）。この後、タイムスタンプ生成部５７は、カウンタＮの値を１だけ増やし（ステップＳ４０）、ステップＳ４１の処理に進む。
【０２４９】
図１４は、本実施の形態１における多重化装置のＰＥＳヘッダを含むＴＳパケットの構成例を示す図である。図１４（Ａ）は、ビデオＰＥＳにおいて、ＤＴＳ値であるＤＴＳｖｎとＰＴＳ値であるＰＴＳｖｎとが異なるときのビデオＰＥＳヘッダを含むＴＳパケットの構成例を示しており、図１４（Ｂ）は、ＤＴＳｖｎとＰＴＳｖｎとが等しいときのビデオＰＥＳヘッダを含むＴＳパケットの構成例を示している。図１４（Ｂ）に示すように、通常、ＤＴＳ値とＰＴＳ値とが等しい場合には、ＰＴＳ値のみが格納される。ＰＥＳｖヘッダ生成部３４は、このような処理により通知されたＤＴＳｖｎ情報及びＰＴＳｖｎ情報を用いて図１４（Ａ）あるいは（Ｂ）に示すようなＰＥＳｖヘッダデータを生成する。
【０２５０】
図１３に戻って、ステップＳ４１において、オーディオＡＵ先頭通知信号ＡＵＨａが通知されたと判断されると、タイムスタンプ生成部５７は、アクセスユニットごとのオーディオ符号化データに対するＰＴＳ値を設定する。すなわち、オーディオフレームをカウントするカウンタＫの値をｋとすると、タイムスタンプ生成部５７は、ｋ番目のアクセスユニットに対するＰＴＳａｋを時刻ｔｄ＋Ｔｆｒ＋ｋ×Ｔａｆｒに設定する（ステップＳ４２）。
【０２５１】
次に、タイムスタンプ生成部５７は、このような値を設定したＰＴＳａｋをＰＥＳａヘッダ生成部４４に通知する（ステップＳ４３）。この後、タイムスタンプ生成部５７は、カウンタＫの値を１だけ増やし（ステップＳ４４）、ステップＳ４５の処理に進む。ＰＥＳａヘッダ生成部４４は、このような処理により通知されたＰＴＳａｋ情報を用いて図１４（Ｃ）に示すようなＰＥＳａヘッダデータを生成する。タイムスタンプ生成部５７は、制御部５９から処理の終了が通知されたと判断すると（ステップＳ４５でＹＥＳ）、処理を終了する。
【０２５２】
続いて、図１１のステップＳ２３に示すビデオ残サイズ演算部３３の処理について説明する。図１５は、本実施の形態１における多重化装置のビデオ残サイズ演算部３３の処理の手順を示すフローチャートである。ビデオ残サイズ演算部３３は、制御部５９からビデオ生成開始時刻情報Ｄ（ｔｅ）を受け取ると、図１５に示す処理を実行する。
【０２５３】
まず、ビデオ残サイズ演算部３３は、システム時刻生成部５５から通知されるＳＴＣがビデオ生成開始時刻ｔｅに一致するか否かを判断する（ステップＳ５１）。ここで、ＳＴＣの時刻がビデオ生成開始時刻ｔｅに一致しないと判断された場合（ステップＳ５１でＮＯ）、ビデオ残サイズ演算部３３は、ステップＳ５１の判断を所定の時間間隔で繰り返し実行する。
【０２５４】
ＳＴＣの時刻がビデオ生成開始時刻ｔｅになったと判断された場合（ステップＳ５１でＹＥＳ）、ビデオ残サイズ演算部３３は、次の処理に進む。まず、ビデオ残サイズ演算部３３は、ＳＴＣを参照して、ビデオ発生サイズＳｖの取り込み時刻であるか否かを判断する（ステップＳ５２）。ここで、ビデオ発生サイズＳｖの取り込み時刻ではないと判断されると（ステップＳ５２でＮＯ）、ビデオ残サイズ演算部３３は、以下で説明するステップＳ５５の処理に進む。
【０２５５】
一方、ビデオ発生サイズＳｖの取り込み時刻であると判断されると（ステップＳ５２でＹＥＳ）、ビデオ残サイズ演算部３３は、ビデオユニットサイズ計測部１２からビデオ発生サイズ情報Ｄ（Ｓｖ）を取り込む（ステップＳ５３）。次に、ビデオ残サイズ演算部３３は、ビデオ残サイズＳｒｖに対し、取り込んだビデオ発生サイズ情報Ｄ（Ｓｖ）のビデオ発生サイズＳｖを加算する（ステップＳ５４）。
【０２５６】
次に、ビデオ残サイズ演算部３３は、ビデオパケット生成部３２から送出サイズ情報Ｄ（Ｓｔｖ）の通知があるか否かを判断する（ステップＳ５５）。ここで、送出サイズ情報Ｄ（Ｓｔｖ）の通知があると判断されると（ステップＳ５５でＹＥＳ）、ビデオ残サイズ演算部３３は、ビデオ残サイズＳｒｖから、取り込んだ送出サイズ情報Ｄ（Ｓｔｖ）の送出サイズＳｔｖを減算する（ステップＳ５６）。
【０２５７】
一方、送出サイズ情報Ｄ（Ｓｔｖ）の通知がないと判断されると（ステップＳ５５でＮＯ）、ビデオ残サイズ演算部３３は、次のステップＳ５７の処理に進む。次に、ビデオ残サイズ演算部３３は、このようにして算出したビデオ残サイズＳｒｖをビデオ残サイズ情報Ｄ（Ｓｒｖ）として、ビデオパケット生成部３２に通知する（ステップＳ５７）。
【０２５８】
この後、ビデオ残サイズ演算部３３は、次に送出するビデオ符号化データがアクセスユニットの先頭データを含むか否かを判断する（ステップＳ５８）。ここで、次に送出するビデオ符号化データがアクセスユニットの先頭データを含むと判断されると（ステップＳ５８でＹＥＳ）、ビデオ残サイズ演算部３３は、タイムスタンプ生成部５７に対して、ビデオＡＵ先頭通知信号ＡＵＨｖを通知する（ステップＳ５９）。
【０２５９】
一方、次に送出するビデオ符号化データがアクセスユニットの先頭データを含まないと判断されると（ステップＳ５８でＮＯ）、ビデオ残サイズ演算部３３は、次のステップＳ６０の処理に進む。次に、ビデオ残サイズ演算部３３は、制御部５９から処理の終了が通知されたか否かを判断する（ステップＳ６０）。ここで、処理の終了が通知されていないと判断された場合（ステップＳ６０でＮＯ）、ビデオ残サイズ演算部３３は、ステップＳ５２の処理に戻る。一方、処理の終了が通知されたと判断された場合（ステップＳ６０でＹＥＳ）、ビデオ残サイズ演算部３３は、このようなビデオ残サイズ演算の処理を終了する。
【０２６０】
続いて、図１１のステップＳ２４に示すビデオパケット生成部３２の処理について説明する。図１６及び図１７は、本実施の形態１における多重化装置のビデオパケット生成部３２の処理の手順を示すフローチャートである。ビデオパケット生成部３２は、初期動作を開始すると図１６及び図１７に示す処理を実行する。
【０２６１】
まず、ビデオパケット生成部３２は、多重化パターン信号Ｐがビデオ期間であるか否かを判断する（ステップＳ７１）。ここで、多重化パターン信号Ｐがビデオ期間でないと判断されると（ステップＳ７１でＮＯ）、ビデオパケット生成部３２は、以下で説明するステップＳ７９の処理に進む。
【０２６２】
一方、多重化パターン信号Ｐがビデオ期間であると判断されると（ステップＳ７１でＹＥＳ）、ビデオパケット生成部３２は、次に送出するビデオ符号化データがアクセスユニットの先頭データを含むか否かを判断する（ステップＳ７２）。ここで、次に送出するビデオ符号化データがアクセスユニットの先頭データを含むと判断されると（ステップＳ７２でＹＥＳ）、ビデオパケット生成部３２は、以下で説明するステップＳ８０の処理に進む。
【０２６３】
一方、次に送出するビデオ符号化データがアクセスユニットの先頭データを含まないと判断されると（ステップＳ７２でＮＯ）、ビデオパケット生成部３２は、ビデオ残サイズ演算部３３から通知されたビデオ残サイズ情報Ｄ（Ｓｒｖ）に基づき、送出できるビデオ符号化データがあるか否かを判断する（ステップＳ７３）。ここで、送出できるビデオ符号化データがないと判断されると（ステップＳ７３でＮＯ）、ビデオパケット生成部３２は、以下で説明するステップＳ８２の処理に進む。
【０２６４】
一方、送出できるビデオ符号化データがあると判断されると（ステップＳ７３でＹＥＳ）、ビデオパケット生成部３２は、ビデオバッファ３１から送出すべきビデオ符号化データを取り込む（ステップＳ７４）。次に、ビデオパケット生成部３２は、生成するＴＳパケットのペイロードにさらに残りの領域があるか否かを判断する（ステップＳ７５）。ここで、生成するＴＳパケットのペイロードにさらに残りの領域があると判断されると（ステップＳ７５でＹＥＳ）、ビデオパケット生成部３２は、その残りの領域にスタッフィングデータを格納する（ステップＳ８４）。
【０２６５】
一方、生成するＴＳパケットのペイロードに残りの領域がないと判断されると（ステップＳ７５でＮＯ）、ビデオパケット生成部３２は、次のステップＳ７６の処理に進む。次に、ビデオパケット生成部３２は、上述のようにしてペイロードにデータを格納したビデオＴＳパケットを生成する（ステップＳ７６）。次に、ビデオパケット生成部３２は、生成したビデオＴＳパケットを多重化部５１に転送する（ステップＳ７７）。
【０２６６】
次に、ビデオパケット生成部３２は、ビデオ残サイズ演算部３３に対して、送出サイズ情報Ｄ（Ｓｔｖ）を通知する（ステップＳ７８）。この後、ビデオパケット生成部３２は、制御部５９から、ビデオパケット生成処理の終了が通知されているか否かを判断する（ステップＳ７９）。ここで、終了が通知されていないと判断された場合（ステップＳ７９でＮＯ）、ビデオパケット生成部３２は、ステップＳ７１の処理へ戻る。一方、終了が通知されたと判断された場合（ステップＳ７９でＹＥＳ）、ビデオパケット生成部３２は、ビデオパケット生成処理を終了する。
【０２６７】
また、ステップＳ７２において、次に送出するビデオ符号化データがアクセスユニットの先頭データを含むと判断された場合（ステップＳ７２でＹＥＳ）、ビデオパケット生成部３２は、ＰＥＳｖヘッダ生成部３４からＰＥＳｖヘッダデータを取り込む（ステップＳ８０）。次に、ビデオパケット生成部３２は、ビデオバッファ３１から送出すべき先頭データからのビデオ符号化データを取り込み、残りのペイロード領域にそのビデオ符号化データを格納する（ステップＳ８１）。この後、ビデオパケット生成部３２は、ステップＳ７５の処理に進む。
【０２６８】
また、ステップＳ７３において、送出できるビデオ符号化データがないと判断されると（ステップＳ７３でＮＯ）、ビデオパケット生成部３２は、ビデオＴＳパケットの生成を休止する（ステップＳ８２）。次に、ビデオパケット生成部３２は、次に送出すべきＰＥＳｖヘッダデータに格納するアライバルタイムスタンプＡＴＳを準備する（ステップＳ８３）。すなわち、図８を用いて説明したように、ビデオエンコーダ１１での生成データ量が少ない期間が継続する場合、ビデオパケット生成部３２は、アクセスユニットの最後となるビデオ符号化データを格納したＴＳパケットを生成した後、ビデオ残サイズＳｒｖが送出サイズＳｔｖ以下となると、ＴＳパケットの生成を休止する。さらに、ビデオパケット生成部３２は、このような休止期間の後、ビデオバッファ３１に次のビデオ符号化データが供給されると、アライバルタイムスタンプＡＴＳを送出するとともに、ＴＳパケットの生成を再開する。
【０２６９】
なお、図８を用いて説明したように、図１６におけるステップＳ８２及びステップＳ８３の処理に代えて、図８のトランスポートストリームＴＳＢで説明したような、休止期間中にはビデオパケット生成部３２がスタッフィングデータを格納したＴＳパケットを生成する処理を行ったり、図８のトランスポートストリームＴＳＣで説明したような、休止期間中にはビデオパケット生成部３２がパディングパケットを生成する処理を行うような形態であってもよい。
【０２７０】
次に、図１１のステップＳ２５に示すオーディオ残サイズ演算部４３の処理について説明する。図１８は、本実施の形態１における多重化装置のオーディオ残サイズ演算部４３の処理の手順を示すフローチャートである。オーディオ残サイズ演算部４３は、制御部５９からオーディオ生成開始時刻情報Ｄ（ｔａｅ）を受け取ると、図１８に示す処理を実行する。
【０２７１】
まず、オーディオ残サイズ演算部４３は、システム時刻生成部５５から通知されるＳＴＣがオーディオ生成開始時刻ｔａｅに一致するか否かを判断する（ステップＳ９１）。ここで、ＳＴＣの時刻がオーディオ生成開始時刻ｔａｅに一致しないと判断された場合（ステップＳ９１でＮＯ）、オーディオ残サイズ演算部４３は、ステップＳ９１の判断を所定の時間間隔で繰り返し実行する。
【０２７２】
ＳＴＣの時刻がオーディオ生成開始時刻ｔａｅになったと判断された場合（ステップＳ９１でＹＥＳ）、オーディオ残サイズ演算部４３は、次の処理に進む。まず、オーディオ残サイズ演算部４３は、ＳＴＣを参照して、オーディオ発生サイズＳａの取り込み時刻であるか否かを判定する（ステップＳ９２）。ここで、オーディオ発生サイズＳａの取り込み時刻ではないと判断されると（ステップＳ９２でＮＯ）、オーディオ残サイズ演算部４３は、以下で説明するステップＳ９５の処理に進む。
【０２７３】
一方、オーディオ発生サイズＳａの取り込み時刻であると判断されると（ステップＳ９２でＹＥＳ）、オーディオ残サイズ演算部４３は、オーディオユニットサイズ計測部２２からオーディオ発生サイズ情報Ｄ（Ｓａ）を取り込む（ステップＳ９３）。次に、オーディオ残サイズ演算部４３は、オーディオ残サイズＳｒａに対し、取り込んだオーディオ発生サイズ情報Ｄ（Ｓａ）のオーディオ発生サイズＳａを加算する（ステップＳ９４）。
【０２７４】
次に、オーディオ残サイズ演算部４３は、オーディオパケット生成部４２から送出サイズ情報Ｄ（Ｓｔａ）の通知があるか否かを判断する（ステップＳ９５）。ここで、送出サイズ情報Ｄ（Ｓｔａ）の通知があると判断されると（ステップＳ９５でＹＥＳ）、オーディオ残サイズ演算部４３は、オーディオ残サイズＳｒａから、取り込んだ送出サイズ情報Ｄ（Ｓｔａ）の送出サイズＳｔａを減算する（ステップＳ９６）。
【０２７５】
一方、送出サイズ情報Ｄ（Ｓｔａ）の通知がないと判断されると（ステップＳ９５でＮＯ）、オーディオ残サイズ演算部４３は、次のステップＳ９７の処理に進む。次に、オーディオ残サイズ演算部４３は、このようにして算出したオーディオ残サイズＳｒａをオーディオ残サイズ情報Ｄ（Ｓｒａ）として、オーディオパケット生成部４２に通知する（ステップＳ９７）。
【０２７６】
この後、オーディオ残サイズ演算部４３は、次に送出するオーディオ符号化データがアクセスユニットの先頭データを含むか否かを判定する（ステップＳ９８）。ここで、次に送出するオーディオ符号化データがアクセスユニットの先頭データを含むと判断されると（ステップＳ９８でＹＥＳ）、オーディオ残サイズ演算部４３は、タイムスタンプ生成部５７に対して、オーディオＡＵ先頭通知信号ＡＵＨａを通知する（ステップＳ９９）。
【０２７７】
一方、次に送出するオーディオ符号化データがアクセスユニットの先頭データを含まないと判断されると（ステップＳ９８でＮＯ）、オーディオ残サイズ演算部４３は、次のステップＳ１００の処理に進む。次に、オーディオ残サイズ演算部４３は、制御部５９から処理の終了が通知されたか否かを判断する（ステップＳ１００）。ここで、処理の終了が通知されていないと判断された場合（ステップＳ１００でＮＯ）、オーディオ残サイズ演算部４３は、ステップＳ９２の処理に戻る。一方、処理の終了が通知されたと判断された場合（ステップＳ１００でＹＥＳ）、オーディオ残サイズ演算部４３は、このようなオーディオ残サイズ演算の処理を終了する。
【０２７８】
続いて、図１１のステップＳ２６に示すオーディオパケット生成部４２の処理について説明する。図１９及び図２０は、本実施の形態１における多重化装置のオーディオパケット生成部４２の処理の手順を示すフローチャートである。オーディオパケット生成部４２は、初期動作を開始すると図１９及び図２０に示す処理を実行する。
【０２７９】
まず、オーディオパケット生成部４２は、多重化パターン信号Ｐがオーディオ送出期間であるか否かを判断する（ステップＳ１１１）。ここで、多重化パターン信号Ｐがオーディオ送出期間でないと判断されると（ステップＳ１１１でＮＯ）、オーディオパケット生成部４２は、以下で説明するステップＳ１１９の処理に進む。
【０２８０】
一方、多重化パターン信号Ｐがオーディオ送出期間であると判断されると（ステップＳ１１１でＹＥＳ）、オーディオパケット生成部４２は、次に送出するオーディオ符号化データがアクセスユニットの先頭データを含むか否かを判断する（ステップＳ１１２）。ここで、次に送出するオーディオ符号化データがアクセスユニットの先頭データを含むと判断されると（ステップＳ１１２でＹＥＳ）、オーディオパケット生成部４２は、以下で説明するステップＳ１２０の処理に進む。
【０２８１】
一方、次に送出するオーディオ符号化データがアクセスユニットの先頭データを含まないと判断されると（ステップＳ１１２でＮＯ）、オーディオパケット生成部４２は、オーディオ残サイズ演算部４３から通知されたオーディオ残サイズ情報Ｄ（Ｓｒａ）に基づき、送出できるオーディオ符号化データがあるか否かを判断する（ステップＳ１１３）。ここで、送出できるオーディオ符号化データがないと判断されると（ステップＳ１１３でＮＯ）、オーディオパケット生成部４２は、以下で説明するステップＳ１２２の処理に進む。
【０２８２】
一方、送出できるオーディオ符号化データがあると判断されると（ステップＳ１１３でＹＥＳ）、オーディオパケット生成部４２は、オーディオバッファ４１から送出すべきオーディオ符号化データを取り込む（ステップＳ１１４）。次に、オーディオパケット生成部４２は、生成するＴＳパケットのペイロードにさらに残りの領域があるか否かを判断する（ステップＳ１１５）。ここで、生成するＴＳパケットのペイロードにさらに残りの領域があると判断されると（ステップＳ１１５でＹＥＳ）、オーディオパケット生成部４２は、その残りの領域にスタッフィングデータを格納する（ステップＳ１２４）。
【０２８３】
一方、生成するＴＳパケットのペイロードに残りの領域がないと判断されると（ステップＳ１１５でＮＯ）、オーディオパケット生成部４２は、次のステップＳ１１６の処理に進む。次に、オーディオパケット生成部４２は、上述のようにしてペイロードにデータを格納したオーディオＴＳパケットを生成する（ステップＳ１１６）。次に、オーディオパケット生成部４２は、生成したオーディオＴＳパケットを多重化部５１に転送する（ステップＳ１１７）。
【０２８４】
次に、オーディオパケット生成部４２は、オーディオ残サイズ演算部４３に対して、送出サイズ情報Ｄ（Ｓｔａ）を通知する（ステップＳ１１８）。この後、オーディオパケット生成部４２は、制御部５９から、オーディオパケット生成処理の終了が通知されているか否かを判断する（ステップＳ１１９）。ここで、終了が通知されていないと判断された場合（ステップＳ１１９でＮＯ）、オーディオパケット生成部４２は、ステップＳ１１１の処理へ戻る。一方、終了が通知されたと判断された場合（ステップＳ１１９でＹＥＳ）、オーディオパケット生成部４２は、オーディオパケット生成処理を終了する。
【０２８５】
また、ステップＳ１１２において、次に送出するオーディオ符号化データがアクセスユニットの先頭データを含むと判断された場合（ステップＳ１１２でＹＥＳ）、オーディオパケット生成部４２は、ＰＥＳａヘッダ生成部４４からＰＥＳａヘッダデータを取り込む（ステップＳ１２０）。次に、オーディオパケット生成部４２は、オーディオバッファ４１から送出すべき先頭データからのオーディオ符号化データを取り込み、残りのペイロード領域にそのオーディオ符号化データを格納する（ステップＳ１２１）。この後、オーディオパケット生成部４２は、ステップＳ１１５の処理に進む。
【０２８６】
また、ステップＳ１１３において、オーディオ残サイズ演算部４３から通知されたオーディオ残サイズ情報Ｄ（Ｓｒａ）に基づき、送出できるオーディオ符号化データがないと判断されると（ステップＳ１１３でＮＯ）、オーディオパケット生成部４２は、オーディオＴＳパケットの生成を休止する（ステップＳ１２２）。次に、オーディオパケット生成部４２は、次に送出すべきＰＥＳａヘッダデータに格納するアライバルタイムスタンプＡＴＳを準備する（ステップＳ１２３）。すなわち、図８を用いて説明したビデオの場合と同様に、オーディオエンコーダ２１での生成データ量が少ない期間が継続する場合、オーディオパケット生成部４２は、アクセスユニットの最後となるオーディオ符号化データを格納したＴＳパケットを生成した後、オーディオ残サイズＳｒａが送出サイズＳｔａ以下となると、ＴＳパケットの生成を休止する。さらに、オーディオパケット生成部４２は、このような休止期間の後、オーディオバッファ４１に次のオーディオ符号化データが供給されると、アライバルタイムスタンプＡＴＳを送出するとともに、ＴＳパケットの生成を再開する。
【０２８７】
なお、図８を用いて説明したように、図１９におけるステップＳ１２２及びステップＳ１２３の処理に代えて、図８のトランスポートストリームＴＳＢで説明したような、休止期間中にはオーディオパケット生成部４２がスタッフィングデータを格納したＴＳパケットを生成する処理を行ったり、図８のトランスポートストリームＴＳＣで説明したような、休止期間中にはオーディオパケット生成部４２がパディングパケットを生成する処理を行うような形態であってもよい。
【０２８８】
次に、図１１のステップＳ２７に示すシステムパケット生成部４９の処理について説明する。図２１は、本実施の形態１における多重化装置のシステムパケット生成部４９の処理の手順を示すフローチャートである。システムパケット生成部４９は、初期動作を開始すると図２１に示す処理を実行する。
【０２８９】
まず、システムパケット生成部４９は、多重化パターン信号Ｐがシステム期間であるか否かを判断する（ステップＳ１３１）。ここで、多重化パターン信号Ｐがシステム期間でないと判断されると（ステップＳ１３１でＮＯ）、システムパケット生成部４９は、以下で説明するステップＳ１３６の処理に進む。
【０２９０】
一方、多重化パターン信号Ｐがシステム期間であると判断されると（ステップＳ１３１でＹＥＳ）、システムパケット生成部４９は、制御部５９から通知される次に送出するシステムデータを取り込む（ステップＳ１３２）。次に、システムパケット生成部４９は、システム時刻生成部５５からＰＣＲ情報を取り込む（ステップＳ１３３）。次に、システムパケット生成部４９は、取り込んだ情報をＴＳパケットのペイロードに格納し、これらシステム情報を含むシステムＴＳパケットを生成する（ステップＳ１３４）。
【０２９１】
この後、システムパケット生成部４９は、生成したシステムＴＳパケットを多重化部５１に転送する（ステップＳ１３５）。次に、システムパケット生成部４９は、制御部５９から、システムパケット生成処理の終了が通知されているか否かを判断する（ステップＳ１３６）。ここで、終了が通知されていないと判断された場合（ステップＳ１３６でＮＯ）、システムパケット生成部４９は、ステップＳ１３１の処理へ戻る。一方、終了が通知されたと判断された場合（ステップＳ１３６でＹＥＳ）、システムパケット生成部４９は、システムパケット生成処理を終了する。
【０２９２】
以上説明したような図９〜１３，１５〜２１の各処理が実行される。これにより、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号が生成される。そして、ビデオバッファに記憶されたビデオエレメンタリストリームの多重化可能な残りのデータサイズであるビデオ残サイズが算出され、ビデオ残サイズを示すビデオ残サイズ情報が出力されるとともに、オーディオバッファに記憶されたオーディオエレメンタリストリームの多重化可能な残りのデータサイズであるオーディオ残サイズが算出され、オーディオ残サイズを示すオーディオ残サイズ情報が出力される。このとき、アクセスユニットごとのデータサイズと、ビデオＴＳパケット及びオーディオＴＳパケットに格納した送出データのサイズである送出サイズとに基づき、ビデオ残サイズ及びオーディオ残サイズが算出される。
【０２９３】
次に、多重化パターン信号とビデオ残サイズ情報とに基づき、ビデオバッファに記憶されたエレメンタリストリームから所定サイズのデータが送出データとして取り込まれ、取り込まれた送出データを格納したビデオＴＳパケットが生成されるとともに、多重化パターン信号とオーディオ残サイズ情報とに基づき、オーディオバッファに記憶されたエレメンタリストリームから所定サイズのデータが送出データとして取り込まれ、取り込まれた送出データを格納したオーディオＴＳパケットが生成される。このとき、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットが生成される。そして、生成されたビデオＴＳパケット及びオーディオＴＳパケットが、生成された順番に多重化され、トランスポートストリームが生成される。
【０２９４】
以上説明したように、本実施の形態の多重化装置は、ビデオパケット生成部３２、オーディオパケット生成部４２及びシステムパケット生成部４９が、多重化パターン生成部５６からの多重化パターン信号Ｐに従ってＴＳパケットを生成するため、多重化パターンにおけるビデオ、オーディオやシステムデータなどのデータ種別の発生比率を適切に設定することにより、その多重化パターンに応じた比率で各エレメンタリストリームのＴＳパケットを生成することができ、これによって、デコーダ側バッファのオーバーフローを防止することができる。
【０２９５】
さらに、ビデオパケット生成部３２及びオーディオパケット生成部４２は、ビデオ残サイズ演算部３３やオーディオ残サイズ演算部４３の演算結果より得られる残サイズがＴＳパケットの生成に必要なサイズ以上である場合にＴＳパケットを生成し、残サイズが、生成しようとするＴＳパケットのペイロードを一杯にするのに足りない場合には、ＴＳパケットの送出を休止したり、送出不足分をスタッフィングバイトで充当した状態でＴＳパケットを生成したりする。そのため、アクセスユニットごとの符号化データ量が極端に少なくなった場合においても、送出の休止やヌルパケットとして送出することで、符号化データ量の減少によるデコーダ側バッファのアンダーフローを防止することができる。
【０２９６】
したがって、本実施の形態の多重化装置によれば、エンコーダで生成された符号化データが可変長符号化データのような可変レートであっても、デコーダ側バッファの破綻を防止できるとともに、簡易な構成で多重化処理を実現することができる。また、同様に、本実施の形態の多重化方法によっても、エンコーダで生成された符号化データが可変長符号化データのような可変レートであっても、デコーダ側バッファの破綻を防止できるとともに、簡易な構成で多重化処理を実現することができる。
【０２９７】
さらに、従来の多重化処理装置による多重化処理に要する動作周波数は例えば５４ＭＨｚであるのに対し、本実施の形態１の多重化装置による多重化処理に要する動作周波数は例えば１８ＭＨｚに抑えることができ、多重化処理量を１／３に削減することができ、多重化処理に要する処理時間を短縮することができる。
【０２９８】
さらにまた、多重化処理装置が搭載される記録再生装置の全体の処理（動作周波数は例えば２４３ＭＨｚ）に占める多重化処理の割合を２２％から７％に削減することができ、複数番組の同時記録及び同時再生などが可能となる。また、高画質化による処理レートの増加に伴う処理量の増加も低減することができる。
【０２９９】
（実施の形態２）
図２２は、本発明の実施の形態２における多重化装置の構成を示すブロック図である。図２２に示すように、本発明の実施の形態２における多重化装置は、実施の形態１と同様に、ビデオデータ及びオーディオデータを圧縮符号化し、圧縮符号化により生成されたビデオ及びオーディオそれぞれの符号化データを多重化ストリームの１つであるトランスポートストリームに多重化し、このトランスポートストリームを記録媒体に記録する多重化装置である。
【０３００】
また、本実施の形態２の多重化装置も、圧縮符号化方式として知られるＭＰＥＧ−２、ＭＰＥＧ−４  ＡＶＣ方式に基づき生成された符号化データに適用できる。特に、本実施の形態２の多重化装置は、実施の形態１との比較において、図２２に示すように、ＴＳ生成部３０２が、さらにビデオレート監視部３５及びオーディオレート監視部４５を備える構成としている。
【０３０１】
また、ビデオ残サイズ演算部３３２は、経過時間あたりの送出に必要なビデオ符号化データのサイズである送出必要サイズを示す送出必要サイズ情報を生成し、ビデオレート監視部３５に通知する。オーディオ残サイズ演算部４３２は、経過時間あたりの送出に必要なオーディオ符号化データのサイズである送出必要サイズを示す送出必要サイズ情報を生成し、オーディオレート監視部４５に通知する。
【０３０２】
なお、図２２において、図１と同じ符号を付した構成要素は同一の構成であり詳細な説明は省略する。また、本実施の形態２においても、ビデオエンコーダ１１から出力されるビデオエレメンタリストリームＥＳｖが、最大ビットレートが規定された可変長符号化データで構成される可変ビットレートのエレメンタリストリームとして説明する。
【０３０３】
図２２において、ビデオレート監視部３５は、ビデオパケット生成部３２により生成された送出データの累計サイズを求め、その累計サイズが、要求されている最大ビットレートでエレメンタリストリームが出力されていた場合の所定のサイズを超えていた場合に、ビデオパケット生成部３２にビデオＴＳパケットの生成禁止を指示する送出停止信号を通知する。ビデオパケット生成部３２にこのような送出停止信号が通知されると、ビデオパケット生成部３２は、多重化パターン信号Ｐが示すデータの種別が一致し、かつビデオ残サイズが送出サイズ以上であっても、ビデオＴＳパケットの生成を停止するように動作する。
【０３０４】
同様に、オーディオレート監視部４５は、オーディオパケット生成部４２により生成された送出データの累計サイズを求め、その累計サイズが、要求されている最大ビットレートでエレメンタリストリームが出力されていた場合のサイズを超えていた場合に、オーディオパケット生成部４２にオーディオＴＳパケットの生成禁止を指示する送出停止信号を通知する。オーディオパケット生成部４２にこのような送出停止信号が通知されると、オーディオパケット生成部４２は、多重化パターン信号Ｐが示すデータの種別が一致し、かつオーディオ残サイズが送出サイズ以上であっても、オーディオＴＳパケットの生成を停止するように動作する。
【０３０５】
このようなビデオレート監視部３５及びオーディオレート監視部４５を設けることにより、生成された符号化データの生成ビットレートが規定された最大ビットレートを上回る場合には、ビデオパケット生成部３２によるＴＳパケットの生成を停止させ、ビデオ符号化データの送出を一時停止させることとなるので、データを送出しすぎるような状況を防止することができる。その結果、デコード側のバッファにおいてオーバーフローが生じるというような不具合を防止することができる。以下、ビデオレート監視部３５及びオーディオレート監視部４５を中心に、本実施の形態２の多重化装置の詳細な構成及び動作について説明する。
【０３０６】
まず、本実施の形態２において、ビデオ残サイズ演算部３３２は、ＳＴＣ情報により求めた経過時間とビデオ発生サイズ情報Ｄ（Ｓｖ）とから、経過時間あたりの送出に必要なビデオ符号化データのサイズであるビデオ送出必要サイズＳｎｖを求め、求めたビデオ送出必要サイズＳｎｖをビデオ送出必要サイズ情報Ｄ（Ｓｎｖ）として、ビデオレート監視部３５に通知する。
【０３０７】
また、図２２に示すように、ビデオレート監視部３５には、システム時刻生成部５５からＳＴＣ情報が通知され、さらに、ビデオパケット生成部３２からは、ＴＳパケットを生成するために使用したビデオ符号化データのデータサイズ、すなわち送出サイズＳｔｖを示す送出サイズ情報Ｄ（Ｓｔｖ）が通知される。
【０３０８】
ビデオレート監視部３５は、送出サイズ情報Ｄ（Ｓｔｖ）を利用して、ビデオパケット生成部３２により生成された送出データの累計サイズを求め、その累計サイズが、要求されている最大ビットレートでエレメンタリストリームを出力していた場合のサイズ、すなわち通知されたビデオ送出必要サイズ情報Ｄ（Ｓｎｖ）のビデオ送出必要サイズＳｎｖを超えているか否かを判断し、超えていた場合にビデオ送出停止信号Ｓｔｐｖをビデオパケット生成部３２に通知する。すなわち、ビデオレート監視部３５は、ビデオ送出停止信号Ｓｔｐｖを生成するため、次に例示するような処理を実行する。
【０３０９】
まず、ビデオレート監視部３５は、ビデオパケット生成部３２から送出サイズ情報Ｄ（Ｓｔｖ）が通知されるたびに、その通知された送出サイズ情報Ｄ（Ｓｔｖ）の送出サイズＳｔｖを順次加算し、その累計サイズを求める。ビデオレート監視部３５は、ビデオ送出必要サイズＳｎｖから、求めた累計サイズを減算する。さらに、ビデオレート監視部３５は、減算結果を順次加算し、この加算結果が所定の上限値を超えたか否かを判断する。加算結果が所定の上限値を超えたと判断された場合、ビデオレート監視部３５は、ビデオパケット生成部３２に対し、ビデオ符号化データを格納したＴＳパケットの生成を停止するよう指示するビデオ送出停止信号Ｓｔｐｖを出力する。ビデオパケット生成部３２は、このようなＴＳパケットの生成を停止するよう指示するビデオ送出停止信号Ｓｔｐｖを受け取ると、ＴＳパケットの生成を停止する。
【０３１０】
このように、ビデオレート監視部３５は、累計サイズが、要求されている最大ビットレートでエレメンタリストリームを出力していた場合のサイズを超えたか否かを判断し、超えた場合には、ビデオパケット生成部３２によるＴＳパケットの生成を停止させ、ビデオ符号化データの送出を一時停止させる。そのため、データを送出しすぎるような状況を防止でき、デコード側のバッファにおいてオーバーフローが生じるというような不具合を防ぐことが可能となる。
【０３１１】
次に、本実施の形態２において、オーディオ残サイズ演算部４３２は、ＳＴＣ情報により求めた経過時間とオーディオ発生サイズ情報Ｄ（Ｓａ）とから、経過時間あたりの送出に必要なオーディオ符号化データのサイズであるオーディオ送出必要サイズＳｎａを求め、求めたオーディオ送出必要サイズＳｎａをオーディオ送出必要サイズ情報Ｄ（Ｓｎａ）として、オーディオレート監視部４５に通知する。
【０３１２】
また、図２２に示すように、オーディオレート監視部４５には、システム時刻生成部５５からＳＴＣ情報が通知され、さらに、オーディオパケット生成部４２からは、ＴＳパケットを生成するために使用したオーディオ符号化データのデータサイズ、すなわち送出サイズＳｔａを示す送出サイズ情報Ｄ（Ｓｔａ）が通知される。
【０３１３】
オーディオレート監視部４５は、送出サイズ情報Ｄ（Ｓｔｖ）を利用して、オーディオパケット生成部４２により生成された送出データの累計サイズを求め、その累計サイズが、要求されている最大ビットレートでエレメンタリストリームを出力していた場合のサイズ、すなわち通知されたオーディオ送出必要サイズ情報Ｄ（Ｓｎａ）のオーディオ送出必要サイズＳｎａを超えているか否かを判断し、超えていた場合にオーディオ送出停止信号Ｓｔｐａをオーディオパケット生成部４２に通知する。すなわち、オーディオレート監視部４５は、オーディオ送出停止信号Ｓｔｐａを生成するため、次に例示するような処理を実行する。
【０３１４】
まず、オーディオレート監視部４５は、オーディオパケット生成部４２から送出サイズ情報Ｄ（Ｓｔａ）が通知されるたびに、その通知された送出サイズ情報Ｄ（Ｓｔａ）の送出サイズＳｔａを順次加算し、その累計サイズを求める。オーディオレート監視部４５は、オーディオ送出必要サイズＳｎａから求めた累計サイズを減算する。さらに、オーディオレート監視部４５は、減算結果を順次加算し、この加算結果が所定の上限値を超えたか否かを判断する。加算結果が所定の上限値を超えたと判断された場合、オーディオレート監視部４５は、オーディオパケット生成部４２に対し、オーディオ符号化データを格納したＴＳパケットの生成を停止するよう指示するオーディオ送出停止信号Ｓｔｐａを出力する。オーディオパケット生成部４２は、このようなＴＳパケットの生成を停止するよう指示するオーディオ送出停止信号Ｓｔｐａを受け取ると、ＴＳパケットの生成を停止する。
【０３１５】
このように、オーディオレート監視部４５も、ビデオレート監視部３５と同様に、累計サイズが、要求されている最大ビットレートでエレメンタリストリームを出力していた場合のサイズを超えたか否かを判断し、超えた場合には、オーディオパケット生成部４２によるＴＳパケットの生成を停止させ、オーディオ符号化データの送出を一時停止させる。そのため、データを送出しすぎるような状況を防止でき、デコード側のバッファにおいてオーバーフローが生じるというような不具合を防ぐことが可能となる。
【０３１６】
なお、ビデオ残サイズ演算部３３２及びオーディオ残サイズ演算部４３２のそれぞれにおいてその残サイズが０となった場合に、ビデオレート監視部３５及びオーディオレート監視部４５は、累計サイズと要求されている最大ビットレートでエレメンタリストリームが出力されていた場合のサイズとをクリアし、その後、再度レートの監視を実行するような構成としてもよい。また、上述の累計サイズは、スタッフィングデータのデータサイズも含めた累計サイズとするような構成であってもよい。
【０３１７】
また、実施の形態１及び実施の形態２において、オーディオエンコーダ２１が、オーディオデータに対しアクセスユニットごとの固定ビット長であるオーディオ符号化データを出力するような一例を挙げて説明したが、本発明は、例えば、オーディオエンコーダ２１が、オーディオデータに対しアクセスユニットごとに可変長符号化データとなるオーディオ符号化データを出力するような構成にも適用することができる。
【０３１８】
すなわち、オーディオエンコーダ２１から出力されるオーディオエレメンタリストリームＥＳａが、最大ビットレートが規定された可変長符号化データで構成される可変ビットレートのエレメンタリストリームとしてもよい。この場合、オーディオ生成開始時刻ｔａｅに対し、規定された最大ビットレートでデコーダ側のオーディオバッファを一杯にするために必要な時間であるオーディオバッファディレイ時間を含むスタートアップディレイ時間だけ遅れた時刻をオーディオ提示開始時刻とする。そして、オーディオパケット生成部４２は、オーディオ提示開始時刻を示すＰＴＳａを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを含むデータを格納した多重化パケットを、オーディオ生成開始時刻ｔａｅに生成する。その後、オーディオパケット生成部４２は、オーディオアクセスユニットの先頭データを含むデータを格納した多重化パケットを生成するたびに、オーディオ提示開始時刻よりもオーディオフレーム周期Ｔａｆｒずつ遅れたＰＴＳａを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを含むデータを格納した多重化パケットを生成するような構成とすればよい。
【０３１９】
また、上述のスタートアップディレイ時間は、オーディオバッファディレイ時間と多重化処理による最大の遅延時間とを加算した時間としてもよい。また、オーディオ残サイズ演算部４３，４３２が、オーディオ生成開始時刻ｔａｅ及びオーディオ生成開始時刻ｔａｅからオーディオフレーム周期Ｔａｆｒずつ遅れた時刻に、オーディオアクセスユニットのデータサイズをオーディオ残サイズに加算する構成であってもよい。
【０３２０】
また、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【０３２１】
（１）上記の多重化装置は、具体的には、マイクロプロセッサ、ＲＯＭ（リードオンリメモリ）、ＲＡＭ（ランダムアクセスメモリ）、ハードディスクユニット、ディスプレイユニット、キーボード及びマウスなどから構成されるコンピュータシステムである。上記ＲＡＭ又はハードディスクユニットには、コンピュータプログラムが記憶されている。上記マイクロプロセッサが、上記コンピュータプログラムに従って動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合されて構成されたものである。
【０３２２】
（２）上記の多重化装置を構成する構成要素の一部又は全部は、１個の大規模な集積回路であるシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。上記ＲＡＭには、コンピュータプログラムが記憶されている。上記マイクロプロセッサが、上記コンピュータプログラムに従って動作することにより、システムＬＳＩは、その機能を達成する。
【０３２３】
また、上記の多重化装置を構成する構成要素の各部は、個別に１チップ化されていてもよいし、一部又は全てを含むように１チップ化されてもよい。
【０３２４】
また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０３２５】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用などが可能性としてありえる。
【０３２６】
（３）上記の多重化装置を構成する構成要素の一部又は全部は、装置に脱着可能なＩＣカード又は単体のモジュールから構成されてもよい。上記ＩＣカード又は上記モジュールは、マイクロプロセッサ、ＲＯＭ及びＲＡＭなどから構成されるコンピュータシステムである。上記ＩＣカード又は上記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、上記ＩＣカード又は上記モジュールは、その機能を達成する。このＩＣカード又はこのモジュールは、耐タンパ性を有してもよい。
【０３２７】
（４）本発明は、上記の実施の形態１，２に示す多重化方法であってもよい。また、これらの多重化方法をコンピュータにより実現するコンピュータプログラムであってもよいし、上記コンピュータプログラムからなるデジタル信号であってもよい。
【０３２８】
また、本発明は、上記コンピュータプログラム又は上記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）及び半導体メモリなどに記録してもよい。また、これらの記録媒体に記録されている上記デジタル信号であってもよい。
【０３２９】
また、本発明は、上記コンピュータプログラム又は上記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、及びデータ放送などを経由して伝送するものとしてもよい。
【０３３０】
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、上記メモリは、上記コンピュータプログラムを記憶しており、上記マイクロプロセッサは、上記コンピュータプログラムに従って動作してもよい。
【０３３１】
また、上記コンピュータプログラム又は上記デジタル信号を上記記録媒体に記録して移送することにより、又は上記プログラム又は上記デジタル信号を上記ネットワークなどを経由して移送することにより、独立した他のコンピュータシステムにより実施してもよい。
【０３３２】
（５）上記実施の形態及び上記変形例をそれぞれ組み合せてもよい。
【０３３３】
なお、上述した具体的実施形態には以下の構成を有する発明が主に含まれている。
【０３３４】
本発明の一局面に係る多重化装置は、アクセスユニットを単位として生成された符号化データで構成される、コンテンツの種別ごとのエレメンタリストリームを、多重化パケットを単位として多重化し、前記多重化パケットで構成される多重化ストリームを生成する多重化装置であって、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号を生成する多重化パターン生成部と、前記エレメンタリストリームを一時記憶するバッファと、前記バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズを求め、前記残サイズを示す残サイズ情報を出力する残サイズ演算部と、前記多重化パターン生成部によって生成された前記多重化パターン信号と前記残サイズ演算部によって出力された前記残サイズ情報とに基づき、前記バッファに記憶されたエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するパケット生成部と、前記パケット生成部によって生成された前記多重化パケットを、生成された順番に多重化し、多重化ストリームを生成する多重化部とを備え、前記残サイズ演算部は、アクセスユニットごとのデータサイズと、前記パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、前記残サイズを求め、前記パケット生成部は、前記多重化パターン信号が示す種別が一致し、かつ前記残サイズが前記送出サイズ以上であるときに前記多重化パケットを生成する。
【０３３５】
この構成によれば、多重化パターン生成部によって、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号が生成され、バッファには、エレメンタリストリームが一時記憶される。残サイズ演算部によって、バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズが求められ、残サイズを示す残サイズ情報が出力される。そして、パケット生成部によって、多重化パターン信号と残サイズ情報とに基づき、バッファに記憶されたエレメンタリストリームから所定サイズのデータが送出データとして取り込まれ、取り込んだ送出データを格納した多重化パケットが生成される。その後、多重化部によって、パケット生成部によって生成された多重化パケットが、生成された順番に多重化され、多重化ストリームが生成される。また、残サイズ演算部によって、アクセスユニットごとのデータサイズと、パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、残サイズが求められる。さらに、パケット生成部によって、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットが生成される。
【０３３６】
したがって、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットが生成されるので、エンコーダで生成された符号化データが可変長符号化データで構成される可変ビットレートであっても、デコーダ側のバッファの破綻を防止することができる。また、アクセスユニットごとのデータサイズと、多重化パケットに格納された送出データのサイズである送出サイズとに基づき、残サイズが求められ、エンコーダ側のバッファシミュレーションにより多重化処理が行われるので、従来のデコーダ側のバッファシミュレーションによる多重化処理に比べて、多重化処理に要する処理時間を短縮することができる。
【０３３７】
また、上記の多重化装置において、前記多重化パターンは、前記多重化パケットに格納するデータの種別ごとに、前記多重化パケットを生成する期間が所定の比率で周期的に繰り返されるパターンであることが好ましい。
【０３３８】
この構成によれば、多重化パケットに格納するデータの種別ごとに、多重化パケットを生成する期間が所定の比率で周期的に繰り返される多重化パターンに応じてエレメンタリストリームの多重化パケットを生成することができ、デコーダ側のバッファのアンダーフローを防止することができる。
【０３３９】
また、上記の多重化装置において、前記多重化パターンは、前記多重化パケットに格納するデータの種別に要求されている最大ビットレート以上の多重化ビットレートを保証するように決められていることが好ましい。
【０３４０】
この構成によれば、多重化パケットに格納するデータの種別に要求されている最大ビットレート以上の多重化ビットレートを保証するように多重化パターンが決められている。したがって、確保可能な最大送出ビットレートが、多重化パケットに格納するデータの種別に要求されている最大ビットレートよりも大きいとき、デコーダ側のバッファのアンダーフローを防止することができる。
【０３４１】
また、上記の多重化装置において、前記残サイズ演算部は、前記アクセスユニットごとのデータサイズを前記アクセスユニットの発生間隔ごとに加算し、前記パケット生成部によって前記送出データを格納した多重化パケットが生成されるたびに前記送出サイズを減算する演算により、前記残サイズを求めることが好ましい。
【０３４２】
この構成によれば、アクセスユニットごとのデータサイズがアクセスユニットの発生間隔ごとに加算され、送出データを格納した多重化パケットが生成されるたびに送出サイズを減算する演算により、残サイズが求められる。したがって、バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズを適切に求めることができる。
【０３４３】
また、上記の多重化装置において、前記残サイズ演算部は、前記演算により、前記アクセスユニットごとの残サイズを求めることが好ましい。この構成によれば、アクセスユニットごとのデータサイズがアクセスユニットの発生間隔ごとに加算され、送出データを格納した多重化パケットが生成されるたびに送出サイズを減算する演算により、アクセスユニットごとの残サイズが求められる。したがって、バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズをアクセスユニットごとに適切に求めることができる。
【０３４４】
また、上記の多重化装置において、前記残サイズ演算部が前記アクセスユニットごとのデータサイズの加算を開始する時刻を生成開始時刻とし、前記生成開始時刻に対し、規定された最大ビットレートでデコーダ側のバッファを一杯にするために必要な時間であるスタートアップディレイ時間だけ遅れた時刻をデコード開始時刻としたとき、前記パケット生成部は、前記デコード開始時刻を示すデコーディングタイムスタンプを格納したＰＥＳヘッダと、アクセスユニットの先頭データとを格納した多重化パケットを、前記生成開始時刻、及び前記多重化パターン信号の多重化パターンに応じて生成し、アクセスユニットの先頭データを格納した多重化パケットを生成するたびに、前記デコード開始時刻よりも前記アクセスユニットの発生間隔ずつ遅れたデコーディングタイムスタンプを格納したＰＥＳヘッダと、アクセスユニットの先頭データとを格納した多重化パケットを生成することが好ましい。
【０３４５】
この構成によれば、残サイズ演算部がアクセスユニットごとのデータサイズの加算を開始する時刻を生成開始時刻とし、生成開始時刻に対し、規定された最大ビットレートでデコーダ側のバッファを一杯にするために必要な時間であるスタートアップディレイ時間だけ遅れた時刻をデコード開始時刻とする。そして、パケット生成部によって、デコード開始時刻を示すデコーディングタイムスタンプを格納したＰＥＳヘッダと、アクセスユニットの先頭データとを格納した多重化パケットが、生成開始時刻、及び多重化パターン信号の多重化パターンに応じて生成され、アクセスユニットの先頭データを格納した多重化パケットが生成されるたびに、デコード開始時刻よりもアクセスユニットの発生間隔ずつ遅れたデコーディングタイムスタンプを格納したＰＥＳヘッダと、アクセスユニットの先頭データとを格納した多重化パケットが生成される。
【０３４６】
したがって、残サイズ演算部がアクセスユニットごとのデータサイズの加算を開始する時刻を生成開始時刻とし、生成開始時刻に対し、規定された最大ビットレートでデコーダ側のバッファを一杯にするために必要な時間であるスタートアップディレイ時間だけ遅れた時刻をデコード開始時刻としているので、デコーダがデコーディングタイムスタンプに従ってデコードを開始する時刻までに、デコーダ側のバッファを一杯の状態にすることができる。
【０３４７】
また、上記の多重化装置において、前記スタートアップディレイ時間は、規定された最大ビットレートでデコーダ側のバッファを一杯にするために必要な時間と、多重化処理による最大の遅延時間とを加算した時間であることが好ましい。
【０３４８】
この構成によれば、規定された最大ビットレートでデコーダ側のバッファを一杯にするために必要な時間と、多重化処理による最大の遅延時間とを加算した時間がスタートアップディレイ時間であるので、デコーダがデコーディングタイムスタンプに従ってデコードを開始する時刻までに、デコーダ側のバッファを一杯の状態にすることができる。
【０３４９】
また、上記の多重化装置において、前記残サイズ演算部は、前記生成開始時刻、及び前記生成開始時刻から前記アクセスユニットの発生間隔ずつ遅れた時刻に、アクセスユニットのデータサイズを前記残サイズに加算することが好ましい。
【０３５０】
この構成によれば、生成開始時刻、及び生成開始時刻からアクセスユニットの発生間隔ずつ遅れた時刻に、アクセスユニットのデータサイズを残サイズに加算することができる。
【０３５１】
また、上記の多重化装置において、前記パケット生成部によって生成された送出データの累計サイズを求め、前記累計サイズが、要求されている最大ビットレートでエレメンタリストリームが出力されていたときの送出データのサイズを超えた場合に、多重化パケットの生成禁止を指示する送出停止信号を前記パケット生成部に通知するレート監視部をさらに備え、前記パケット生成部は、前記多重化パターン信号が示す種別が一致し、かつ前記残サイズが前記送出サイズ以上であり、さらに前記レート監視部から前記送出停止信号が通知されていない場合に、前記多重化パケットを生成することが好ましい。
【０３５２】
この構成によれば、レート監視部によって、送出データの累計サイズが求められ、累計サイズが、要求されている最大ビットレートでエレメンタリストリームが出力されていたときの送出データのサイズを超えた場合に、多重化パケットの生成禁止を指示する送出停止信号が通知される。そして、パケット生成部によって、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であり、さらにレート監視部から送出停止信号が通知されていない場合に、多重化パケットが生成される。
【０３５３】
したがって、送出データのが、要求されている最大ビットレートでエレメンタリストリームが出力されていたときの送出データのサイズを超えた場合には、多重化パケットの生成を停止させ、符号化データの送出を一時停止させることとなるので、データを送出しすぎるような状況を防止することができる。
【０３５４】
また、上記の多重化装置において、前記レート監視部は、前記残サイズ演算部によって求められた前記残サイズが０となった場合に、前記累計サイズと、要求されている最大ビットレートでエレメンタリストリームが出力されていたときの送出データのサイズとをクリアすることが好ましい。
【０３５５】
この構成によれば、残サイズが０となった場合に、累計サイズと、要求されている最大ビットレートでエレメンタリストリームが出力されていたときの送出データのサイズとをクリアすることができる。
【０３５６】
また、上記の多重化装置において、前記パケット生成部は、前記残サイズ演算部によって求められた前記残サイズが前記送出サイズ未満となるとき、不足データ分をスタッフィングデータで充当した前記多重化パケットを生成することが好ましい。この構成によれば、残サイズが送出サイズ未満となるとき、不足データ分をスタッフィングデータで充当した多重化パケットを生成することができる。
【０３５７】
また、上記の多重化装置において、前記バッファは、ビデオエレメンタリストリームを一時記憶するビデオバッファと、オーディオエレメンタリストリームを一時記憶するオーディオバッファとを含み、前記残サイズ演算部は、前記ビデオバッファに記憶されたビデオエレメンタリストリームの多重化可能な残りのデータサイズであるビデオ残サイズを求め、前記ビデオ残サイズを示すビデオ残サイズ情報を出力するビデオ残サイズ演算部と、前記オーディオバッファに記憶されたオーディオエレメンタリストリームの多重化可能な残りのデータサイズであるオーディオ残サイズを求め、前記オーディオ残サイズを示すオーディオ残サイズ情報を出力するオーディオ残サイズ演算部とを含み、前記パケット生成部は、前記多重化パターン生成部によって生成された前記多重化パターン信号と前記ビデオ残サイズ演算部によって出力された前記ビデオ残サイズ情報とに基づき、前記ビデオバッファに記憶されたビデオエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するビデオパケット生成部と、前記多重化パターン生成部によって生成された前記多重化パターン信号と前記オーディオ残サイズ演算部によって出力された前記オーディオ残サイズ情報とに基づき、前記オーディオバッファに記憶されたオーディオエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するオーディオパケット生成部とを含むことが好ましい。
【０３５８】
この構成によれば、ビデオバッファには、ビデオエレメンタリストリームが一時記憶され、オーディオバッファには、オーディオエレメンタリストリームが一時記憶される。ビデオ残サイズ演算部によって、ビデオバッファに記憶されたビデオエレメンタリストリームの多重化可能な残りのデータサイズであるビデオ残サイズが求められ、ビデオ残サイズを示すビデオ残サイズ情報が出力される。また、オーディオ残サイズ演算部によって、オーディオバッファに記憶されたオーディオエレメンタリストリームの多重化可能な残りのデータサイズであるオーディオ残サイズが求められ、オーディオ残サイズを示すオーディオ残サイズ情報が出力される。ビデオパケット生成部によって、多重化パターン信号とビデオ残サイズ情報とに基づき、ビデオバッファに記憶されたビデオエレメンタリストリームから所定サイズのデータが送出データとして取り込まれ、取り込まれた送出データを格納した多重化パケットが生成される。さらに、オーディオパケット生成部によって、多重化パターン信号とオーディオ残サイズ情報とに基づき、オーディオバッファに記憶されたオーディオエレメンタリストリームから所定サイズのデータが送出データとして取り込まれ、取り込まれた送出データを格納した多重化パケットが生成される。
【０３５９】
したがって、多重化パターン信号が示す種別がビデオであり、かつビデオ残サイズが送出サイズ以上であるときに多重化パケットが生成され、多重化パターン信号が示す種別がオーディオであり、オーディオ残サイズが送出サイズ以上であるときに多重化パケットが生成されるので、エンコーダで生成された符号化データが可変長符号化データで構成される可変ビットレートであっても、デコーダ側のビデオバッファ及びオーディオバッファの破綻を防止することができる。
【０３６０】
また、上記の多重化装置において、前記パケット生成部は、前記多重化パターン生成部によって生成された前記多重化パターン信号に基づき、生成する多重化ストリームに関する情報を含むシステムデータを格納した前記多重化パケットを生成するシステムパケット生成部をさらに含むことが好ましい。
【０３６１】
この構成によれば、システムパケット生成部によって、多重化パターン信号に基づき、生成する多重化ストリームに関する情報を含むシステムデータを格納した多重化パケットが生成される。したがって、生成する多重化ストリームに関する情報を含むシステムデータを多重化パケットに格納することができる。
【０３６２】
また、上記の多重化装置において、前記多重化パターンは、前記ビデオエレメンタリストリームに対応した多重化パケットを生成するビデオ期間と、前記オーディオエレメンタリストリームに対応した多重化パケットを生成するオーディオ期間とが所定の比率で周期的に繰り返されるパターンであり、前記オーディオ期間は、前記オーディオエレメンタリストリームに対応した多重化パケットを生成するオーディオ送出期間と、前記システムデータに対応した多重化パケットを生成するシステム期間とで構成されることが好ましい。
【０３６３】
この構成によれば、多重化パターンは、ビデオエレメンタリストリームに対応した多重化パケットを生成するビデオ期間と、オーディオエレメンタリストリームに対応した多重化パケットを生成するオーディオ期間とが所定の比率で周期的に繰り返されるパターンである。また、オーディオエレメンタリストリームに対応した多重化パケットを生成するオーディオ送出期間と、システムデータに対応した多重化パケットを生成するシステム期間とで、多重化パターンにおけるオーディオ期間が構成されるので、オーディオエレメンタリストリームとシステムデータとを所定の周期で多重化することができる。
【０３６４】
また、上記の多重化装置において、前記ビデオエレメンタリストリームは、最大ビットレートが規定された可変長符号化データで構成される可変ビットレートのエレメンタリストリームであることが好ましい。
【０３６５】
この構成によれば、エンコーダで生成された符号化データが可変長符号化データで構成される可変ビットレートのビデオエレメンタリストリームであっても、デコーダ側のバッファの破綻を防止することができる。
【０３６６】
また、上記の多重化装置において、前記ビデオ残サイズ演算部が前記ビデオアクセスユニットごとのデータサイズの加算を開始する時刻をビデオ生成開始時刻とし、前記ビデオ生成開始時刻に対し、規定された最大ビットレートでデコーダ側のビデオバッファを一杯にするために必要な時間であるＶＢＶディレイ時間を含むスタートアップディレイ時間だけ遅れた時刻をビデオデコード開始時刻としたとき、前記ビデオパケット生成部は、前記ビデオデコード開始時刻を示すビデオデコーディングタイムスタンプを格納したビデオＰＥＳヘッダと、ビデオアクセスユニットの先頭データとを格納した多重化パケットを前記ビデオ生成開始時刻に生成し、ビデオアクセスユニットの先頭データを格納した多重化パケットを生成するたびに、前記ビデオデコード開始時刻よりも前記ビデオアクセスユニットの発生間隔ずつ遅れたビデオデコーディングタイムスタンプを格納したビデオＰＥＳヘッダと、ビデオアクセスユニットの先頭データとを格納した多重化パケットを生成することが好ましい。
【０３６７】
この構成によれば、ビデオ残サイズ演算部がビデオアクセスユニットごとのデータサイズの加算を開始する時刻をビデオ生成開始時刻とし、ビデオ生成開始時刻に対し、規定された最大ビットレートでデコーダ側のビデオバッファを一杯にするために必要な時間であるＶＢＶディレイ時間を含むスタートアップディレイ時間だけ遅れた時刻をビデオデコード開始時刻とする。そして、ビデオデコード開始時刻を示すビデオデコーディングタイムスタンプを格納したビデオＰＥＳヘッダと、ビデオアクセスユニットの先頭データとを格納した多重化パケットがビデオ生成開始時刻に生成される。その後、ビデオアクセスユニットの先頭データを格納した多重化パケットを生成するたびに、ビデオデコード開始時刻よりもビデオアクセスユニットの発生間隔ずつ遅れたビデオデコーディングタイムスタンプを格納したビデオＰＥＳヘッダと、ビデオアクセスユニットの先頭データとを格納した多重化パケットが生成される。
【０３６８】
したがって、ビデオ残サイズ演算部がビデオアクセスユニットごとのデータサイズの加算を開始する時刻をビデオ生成開始時刻とし、ビデオ生成開始時刻に対し、規定された最大ビットレートでデコーダ側のビデオバッファを一杯にするために必要な時間であるＶＢＶディレイを含むスタートアップディレイ時間だけ遅れた時刻をビデオデコード開始時刻としているので、デコーダがデコーディングタイムスタンプに従ってデコードを開始する時刻までに、デコーダ側のバッファを一杯の状態にすることができる。
【０３６９】
また、上記の多重化装置において、前記スタートアップディレイ時間は、前記ＶＢＶディレイ時間と、多重化処理による最大の遅延時間とを加算した時間であることが好ましい。
【０３７０】
この構成によれば、ＶＢＶディレイ時間と、多重化処理による最大の遅延時間とを加算した時間がスタートアップディレイ時間である。すなわち、多重化パターン信号は、ビデオ期間とオーディオ期間とで構成されるが、このオーディオ期間の間、ビデオ符号化データの送出が停止され、送出ロスが発生する。そこで、多重化処理による最大の遅延時間だけさらに早くデータを送出することにより、オーディオ期間におけるビデオ符号化データの送出ロスを補償し、デコーダがデコーディングタイムスタンプに従ってデコードを開始する時刻までに、デコーダ側のバッファを一杯の状態にすることができる。
【０３７１】
また、上記の多重化装置において、前記ビデオ残サイズ演算部は、前記ビデオ生成開始時刻、及び前記ビデオ生成開始時刻から前記ビデオアクセスユニットの発生間隔ずつ遅れた時刻に、ビデオアクセスユニットのデータサイズを前記ビデオ残サイズに加算することが好ましい。
【０３７２】
この構成によれば、ビデオ生成開始時刻、及びビデオ生成開始時刻から前記ビデオアクセスユニットの発生間隔ずつ遅れた時刻に、ビデオアクセスユニットのデータサイズをビデオ残サイズに加算することができる。
【０３７３】
また、上記の多重化装置において、前記オーディオエレメンタリストリームは、最大ビットレートが規定された可変長符号化データで構成される可変ビットレートのエレメンタリストリームであることが好ましい。
【０３７４】
この構成によれば、エンコーダで生成された符号化データが可変長符号化データで構成される可変ビットレートのオーディオエレメンタリストリームであっても、デコーダ側のバッファの破綻を防止することができる。
【０３７５】
また、上記の多重化装置において、前記オーディオパケット生成部が多重化ストリームの生成を開始する時刻をオーディオ生成開始時刻とし、前記オーディオ生成開始時刻に対し、規定された最大ビットレートでデコーダ側のオーディオバッファを一杯にするために必要な時間であるオーディオバッファディレイ時間を含むスタートアップディレイ時間だけ遅れた時刻をオーディオ提示開始時刻としたとき、前記オーディオパケット生成部は、前記オーディオ提示開始時刻を示すオーディオ提示タイムスタンプを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを格納した多重化パケットを、前記オーディオ生成開始時刻に生成し、オーディオアクセスユニットの先頭データを格納した多重化パケットを生成するたびに、前記オーディオ提示開始時刻よりもオーディオアクセスユニットの発生間隔ずつ遅れたオーディオ提示タイムスタンプを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを格納した多重化パケットを生成することが好ましい。
【０３７６】
この構成によれば、オーディオパケット生成部が多重化ストリームの生成を開始する時刻をオーディオ生成開始時刻とし、オーディオ生成開始時刻に対し、規定された最大ビットレートでデコーダ側のオーディオバッファを一杯にするために必要な時間であるオーディオバッファディレイ時間を含むスタートアップディレイ時間だけ遅れた時刻をオーディオ提示開始時刻とする。そして、オーディオ提示開始時刻を示すオーディオ提示タイムスタンプを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを格納した多重化パケットが、オーディオ生成開始時刻に生成される。また、オーディオアクセスユニットの先頭データを格納した多重化パケットが生成されるたびに、オーディオ提示開始時刻よりもオーディオアクセスユニットの発生間隔ずつ遅れたオーディオ提示タイムスタンプを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを格納した多重化パケットが生成される。
【０３７７】
したがって、オーディオパケット生成部が多重化ストリームの生成を開始する時刻をオーディオ生成開始時刻とし、オーディオ生成開始時刻に対し、規定された最大ビットレートでデコーダ側のオーディオバッファを一杯にするために必要な時間であるオーディオバッファディレイを含むスタートアップディレイ時間だけ遅れた時刻をオーディオ提示開始時刻としているので、デコーダがデコーディングタイムスタンプに従ってデコードを開始する時刻までに、デコーダ側のバッファを一杯の状態にすることができる。
【０３７８】
また、上記の多重化装置において、前記スタートアップディレイ時間は、前記オーディオバッファディレイ時間と、多重化処理による最大の遅延時間とを加算した時間であることが好ましい。
【０３７９】
この構成によれば、オーディオバッファディレイ時間と、多重化処理による最大の遅延時間とを加算した時間とを加算した時間がスタートアップディレイ時間である。すなわち、多重化パターン信号は、ビデオ期間とオーディオ期間とで構成されるが、このビデオ期間の間、オーディオ符号化データの送出が停止され、送出ロスが発生する。そこで、多重化処理による最大の遅延時間だけさらに早くデータを送出することにより、ビデオ期間におけるオーディオ符号化データの送出ロスを補償し、デコーダがデコーディングタイムスタンプに従ってデコードを開始する時刻までに、デコーダ側のバッファを一杯の状態にすることができる。
【０３８０】
また、上記の多重化装置において、前記オーディオ残サイズ演算部は、前記オーディオ生成開始時刻、及び前記オーディオ生成開始時刻からオーディオアクセスユニットの発生間隔ずつ遅れた時刻に、オーディオアクセスユニットのデータサイズを前記オーディオ残サイズに加算することが好ましい。
【０３８１】
この構成によれば、オーディオ生成開始時刻、及びオーディオ生成開始時刻からオーディオアクセスユニットの発生間隔ずつ遅れた時刻に、オーディオアクセスユニットのデータサイズをオーディオ残サイズに加算することができる。
【０３８２】
また、上記の多重化装置において、前記ビデオデコード開始時刻から前記ビデオアクセスユニットの発生間隔を含む期間だけ遅れた時刻をオーディオ提示開始時刻とするとともに、オーディオ提示開始時刻よりもオーディオアクセスユニットの発生間隔だけ前の時刻をオーディオ生成開始時刻としたとき、前記オーディオパケット生成部は、前記オーディオ提示開始時刻を示すオーディオ提示タイムスタンプを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを格納した多重化パケットを前記オーディオ生成開始時刻に生成し、オーディオアクセスユニットの先頭データを格納した多重化パケットを生成するたびに、前記オーディオ提示開始時刻よりもオーディオアクセスユニットの発生間隔ずつ遅れたオーディオ提示タイムスタンプを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを格納した多重化パケットを生成することが好ましい。
【０３８３】
この構成によれば、ビデオデコード開始時刻からビデオアクセスユニットの発生間隔を含む期間だけ遅れた時刻をオーディオ提示開始時刻とするとともに、オーディオ提示開始時刻よりもオーディオアクセスユニットの発生間隔だけ前の時刻をオーディオ生成開始時刻としたとき、オーディオ提示開始時刻を示すオーディオ提示タイムスタンプを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを格納した多重化パケットがオーディオ生成開始時刻に生成される。そして、オーディオアクセスユニットの先頭データを格納した多重化パケットが生成されるたびに、オーディオ提示開始時刻よりもオーディオアクセスユニットの発生間隔ずつ遅れたオーディオ提示タイムスタンプを格納したオーディオＰＥＳヘッダと、オーディオアクセスユニットの先頭データとを格納した多重化パケットが生成される。
【０３８４】
したがって、ビデオデコード開始時刻からビデオアクセスユニットの発生間隔を含む期間だけ遅れた時刻をオーディオ提示開始時刻とするとともに、オーディオ提示開始時刻よりもオーディオアクセスユニットの発生間隔だけ前の時刻をオーディオ生成開始時刻としているので、デコーダがデコーディングタイムスタンプに従ってデコードを開始する時刻までに、デコーダ側のバッファを一杯の状態にすることができる。
【０３８５】
また、上記の多重化装置において、前記オーディオ提示開始時刻は、前記ビデオデコード開始時刻から、前記ビデオアクセスユニットの発生間隔と多重化処理による最大の遅延時間とを加算した時間だけ遅れた時刻であることが好ましい。
【０３８６】
この構成によれば、ビデオデコード開始時刻から、ビデオアクセスユニットの発生間隔と多重化処理による最大の遅延時間とを加算した時間だけ遅れた時刻をオーディオ提示開始時刻とすることができる。
【０３８７】
また、上記の多重化装置において、前記多重化ストリームは、トランスポートストリームであることが好ましい。この構成によれば、コンテンツの種別ごとのエレメンタリストリームの多重化にトランスポートストリームを用いることができる。
【０３８８】
本発明の他の局面に係る集積回路は、アクセスユニットを単位として生成された符号化データで構成される、コンテンツの種別ごとのエレメンタリストリームを、多重化パケットを単位として多重化し、前記多重化パケットで構成される多重化ストリームを生成する機能を有した集積回路であって、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号を生成する多重化パターン生成部と、前記エレメンタリストリームを一時記憶するバッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズを求め、前記残サイズを示す残サイズ情報を出力する残サイズ演算部と、前記多重化パターン生成部によって生成された前記多重化パターン信号と前記残サイズ演算部によって出力された前記残サイズ情報とに基づき、前記バッファに記憶されたエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するパケット生成部と、前記パケット生成部によって生成された前記多重化パケットを、生成された順番に多重化し、多重化ストリームを生成する多重化部とを備え、前記残サイズ演算部は、アクセスユニットごとのデータサイズと、前記パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、前記残サイズを求め、前記パケット生成部は、前記多重化パターン信号が示す種別が一致し、かつ前記残サイズが前記送出サイズ以上であるときに前記多重化パケットを生成する。
【０３８９】
この構成によれば、多重化パターン生成部によって、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号が生成される。残サイズ演算部によって、エレメンタリストリームを一時記憶しているバッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズが求められ、残サイズを示す残サイズ情報が出力される。そして、パケット生成部によって、多重化パターン信号と残サイズ情報とに基づき、バッファに記憶されたエレメンタリストリームから所定サイズのデータが送出データとして取り込まれ、取り込んだ送出データを格納した多重化パケットが生成される。その後、多重化部によって、パケット生成部によって生成された多重化パケットが、生成された順番に多重化され、多重化ストリームが生成される。また、残サイズ演算部によって、アクセスユニットごとのデータサイズと、パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、残サイズが求められる。さらに、パケット生成部によって、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットが生成される。
【０３９０】
したがって、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットが生成されるので、エンコーダで生成された符号化データが可変長符号化データで構成される可変ビットレートであっても、デコーダ側のバッファの破綻を防止することができる。また、アクセスユニットごとのデータサイズと、多重化パケットに格納された送出データのサイズである送出サイズとに基づき、残サイズが求められ、エンコーダ側のバッファシミュレーションにより多重化処理が行われるので、従来のデコーダ側のバッファシミュレーションによる多重化処理に比べて、多重化処理に要する処理時間を短縮することができる。
【０３９１】
本発明の他の局面に係る多重化方法は、アクセスユニットを単位として生成された符号化データで構成される、コンテンツの種別ごとのエレメンタリストリームをそれぞれのバッファに一時記憶し、前記バッファに一時記憶したエレメンタリストリームを多重化パケット単位に多重化し、前記多重化パケットで構成される多重化ストリームを生成する多重化方法であって、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号を生成する多重化パターン生成ステップと、前記バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズを求め、前記残サイズを示す残サイズ情報を出力する残サイズ演算ステップと、前記多重化パターン生成ステップにおいて生成された前記多重化パターン信号と前記残サイズ演算ステップにおいて出力された前記残サイズ情報とに基づき、前記バッファに記憶されたエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するパケット生成ステップと、前記パケット生成ステップにおいて生成された前記多重化パケットを、生成された順番に多重化し、多重化ストリームを生成する多重化ステップとを備え、前記残サイズ演算ステップは、アクセスユニットごとのデータサイズと、前記パケット生成ステップにおいて多重化パケットに格納された送出データのサイズである送出サイズとに基づき、前記残サイズを求め、前記パケット生成ステップは、前記多重化パターン信号が示す種別が一致し、かつ前記残サイズが前記送出サイズ以上であるときに前記多重化パケットを生成する。
【０３９２】
この構成によれば、多重化パターン生成ステップにおいて、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号が生成される。残サイズ演算ステップにおいて、エレメンタリストリームを一時記憶しているバッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズが求められ、残サイズを示す残サイズ情報が出力される。そして、パケット生成ステップにおいて、多重化パターン信号と残サイズ情報とに基づき、バッファに記憶されたエレメンタリストリームから所定サイズのデータが送出データとして取り込まれ、取り込んだ送出データを格納した多重化パケットが生成される。その後、多重化ステップにおいて、パケット生成ステップで生成された多重化パケットが、生成された順番に多重化され、多重化ストリームが生成される。また、残サイズ演算ステップにおいて、アクセスユニットごとのデータサイズと、パケット生成ステップで多重化パケットに格納された送出データのサイズである送出サイズとに基づき、残サイズが求められる。さらに、パケット生成ステップにおいて、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットが生成される。
【０３９３】
したがって、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットが生成されるので、エンコーダで生成された符号化データが可変長符号化データで構成される可変ビットレートであっても、デコーダ側のバッファの破綻を防止することができる。また、アクセスユニットごとのデータサイズと、多重化パケットに格納された送出データのサイズである送出サイズとに基づき、残サイズが求められ、エンコーダ側のバッファシミュレーションにより多重化処理が行われるので、従来のデコーダ側のバッファシミュレーションによる多重化処理に比べて、多重化処理に要する処理時間を短縮することができる。
【０３９４】
本発明の他の局面に係る多重化プログラムは、アクセスユニットを単位として生成された符号化データで構成される、コンテンツの種別ごとのエレメンタリストリームをそれぞれのバッファに一時記憶し、前記バッファに一時記憶したエレメンタリストリームを多重化パケット単位に多重化し、前記多重化パケットで構成される多重化ストリームを生成する多重化プログラムであって、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号を生成する多重化パターン生成部と、前記バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズを求め、前記残サイズを示す残サイズ情報を出力する残サイズ演算部と、前記多重化パターン生成部によって生成された前記多重化パターン信号と前記残サイズ演算部によって出力された前記残サイズ情報とに基づき、前記バッファに記憶されたエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するパケット生成部と、前記パケット生成部によって生成された前記多重化パケットを、生成された順番に多重化し、多重化ストリームを生成する多重化部としてコンピュータを機能させ、前記残サイズ演算部は、アクセスユニットごとのデータサイズと、前記パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、前記残サイズを求め、前記パケット生成部は、前記多重化パターン信号が示す種別が一致し、かつ前記残サイズが前記送出サイズ以上であるときに前記多重化パケットを生成する。
【０３９５】
この構成によれば、多重化パターン生成部によって、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号が生成され、バッファには、エレメンタリストリームが一時記憶される。残サイズ演算部によって、バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズが求められ、残サイズを示す残サイズ情報が出力される。そして、パケット生成部によって、多重化パターン信号と残サイズ情報とに基づき、バッファに記憶されたエレメンタリストリームから所定サイズのデータが送出データとして取り込まれ、取り込んだ送出データを格納した多重化パケットが生成される。その後、多重化部によって、パケット生成部によって生成された多重化パケットが、生成された順番に多重化され、多重化ストリームが生成される。また、残サイズ演算部によって、アクセスユニットごとのデータサイズと、パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、残サイズが求められる。さらに、パケット生成部によって、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットが生成される。
【０３９６】
したがって、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットが生成されるので、エンコーダで生成された符号化データが可変長符号化データで構成される可変ビットレートであっても、デコーダ側のバッファの破綻を防止することができる。また、アクセスユニットごとのデータサイズと、多重化パケットに格納された送出データのサイズである送出サイズとに基づき、残サイズが求められ、エンコーダ側のバッファシミュレーションにより多重化処理が行われるので、従来のデコーダ側のバッファシミュレーションによる多重化処理に比べて、多重化処理に要する処理時間を短縮することができる。
【０３９７】
本発明の他の局面に係る多重化プログラムを記録したコンピュータ読み取り可能な記録媒体は、アクセスユニットを単位として生成された符号化データで構成される、コンテンツの種別ごとのエレメンタリストリームをそれぞれのバッファに一時記憶し、前記バッファに一時記憶したエレメンタリストリームを多重化パケット単位に多重化し、前記多重化パケットで構成される多重化ストリームを生成する多重化プログラムを記録したコンピュータ読み取り可能な記録媒体であって、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号を生成する多重化パターン生成部と、前記バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズを求め、前記残サイズを示す残サイズ情報を出力する残サイズ演算部と、前記多重化パターン生成部によって生成された前記多重化パターン信号と前記残サイズ演算部によって出力された前記残サイズ情報とに基づき、前記バッファに記憶されたエレメンタリストリームから所定サイズのデータを送出データとして取り込み、前記取り込んだ送出データを格納した前記多重化パケットを生成するパケット生成部と、前記パケット生成部によって生成された前記多重化パケットを、生成された順番に多重化し、多重化ストリームを生成する多重化部としてコンピュータを機能させ、前記残サイズ演算部は、アクセスユニットごとのデータサイズと、前記パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、前記残サイズを求め、前記パケット生成部は、前記多重化パターン信号が示す種別が一致し、かつ前記残サイズが前記送出サイズ以上であるときに前記多重化パケットを生成することを特徴とする多重化プログラムを記録している。
【０３９８】
この構成によれば、多重化パターン生成部によって、多重化するデータ種別の順序を示す多重化パターンに対応した多重化パターン信号が生成され、バッファには、エレメンタリストリームが一時記憶される。残サイズ演算部によって、バッファに記憶されたエレメンタリストリームの多重化可能な残りのデータサイズである残サイズが求められ、残サイズを示す残サイズ情報が出力される。そして、パケット生成部によって、多重化パターン信号と残サイズ情報とに基づき、バッファに記憶されたエレメンタリストリームから所定サイズのデータが送出データとして取り込まれ、取り込んだ送出データを格納した多重化パケットが生成される。その後、多重化部によって、パケット生成部によって生成された多重化パケットが、生成された順番に多重化され、多重化ストリームが生成される。また、残サイズ演算部によって、アクセスユニットごとのデータサイズと、パケット生成部によって多重化パケットに格納された送出データのサイズである送出サイズとに基づき、残サイズが求められる。さらに、パケット生成部によって、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットが生成される。
【０３９９】
したがって、多重化パターン信号が示す種別が一致し、かつ残サイズが送出サイズ以上であるときに多重化パケットが生成されるので、エンコーダで生成された符号化データが可変長符号化データで構成される可変ビットレートであっても、デコーダ側のバッファの破綻を防止することができる。また、アクセスユニットごとのデータサイズと、多重化パケットに格納された送出データのサイズである送出サイズとに基づき、残サイズが求められ、エンコーダ側のバッファシミュレーションにより多重化処理が行われるので、従来のデコーダ側のバッファシミュレーションによる多重化処理に比べて、多重化処理に要する処理時間を短縮することができる。
【０４００】
本発明の他の局面に係る多重化ストリームを記録したコンピュータ読み取り可能な記録媒体は、上記の多重化方法により生成された多重化ストリームを記録している。
【０４０１】
この構成によれば、上記の多重化方法により生成された多重化ストリームをコンピュータ読み取り可能な記録媒体に記録することができ、この記録媒体から多重化されたコンテンツを再生することができる。
【産業上の利用可能性】
【０４０２】
本発明は、簡易な構成で、かつデコーダ側の破綻を防止した多重化装置を実現できるため、例えば、ストリーム信号を生成し、記録媒体に記録するような記録装置、記録再生装置、記録機能を備えた携帯端末装置、カメラ装置などに利用することが可能であるとともに、ストリーム信号を生成し、伝送路を介して伝送するようなストリーム送出装置などにも利用することが可能である。
【図面の簡単な説明】
【０４０３】
【図１】本実施の形態１における多重化装置の構成を示すブロック図である。
【図２】本実施の形態１における多重化装置の概略タイミングを示すタイミングチャートである。
【図３】本実施の形態１における多重化装置の多重化パターン信号を示すタイミングチャートである。
【図４】本実施の形態１における多重化装置のシステムデータ送出のタイミングを示すタイミングチャートである。
【図５】本実施の形態１における多重化装置のビデオ送出開始のタイミングを示すタイミングチャートである。
【図６】本実施の形態１における多重化装置のオーディオ送出開始のタイミングを示すタイミングチャートである。
【図７】本実施の形態１における多重化装置のビデオ残サイズがなくなった場合のタイミングを示すタイミングチャートである。
【図８】本実施の形態１における多重化装置の休止期間における処理の例を説明するためのタイミングチャートである。
【図９】本実施の形態１における多重化装置の装置制御部の処理の手順を示すフローチャートである。
【図１０】本実施の形態１における多重化装置の制御部の処理の手順を示すフローチャートである。
【図１１】本実施の形態１における多重化装置の多重化ストリーム生成処理の手順を示すフローチャートである。
【図１２】本実施の形態１における多重化装置のタイムスタンプ生成部の処理の手順を示す第１のフローチャートである。
【図１３】本実施の形態１における多重化装置のタイムスタンプ生成部の処理の手順を示す第２のフローチャートである。
【図１４】本実施の形態１における多重化装置のＰＥＳヘッダを含むＴＳパケットの構成例を示す図である。
【図１５】本実施の形態１における多重化装置のビデオ残サイズ演算部の処理の手順を示すフローチャートである。
【図１６】本実施の形態１における多重化装置のビデオパケット生成部の処理の手順を示す第１のフローチャートである。
【図１７】本実施の形態１における多重化装置のビデオパケット生成部の処理の手順を示す第２のフローチャートである。
【図１８】本実施の形態１における多重化装置のオーディオ残サイズ演算部の処理の手順を示すフローチャートである。
【図１９】本実施の形態１における多重化装置のオーディオパケット生成部の処理の手順を示す第１のフローチャートである。
【図２０】本実施の形態１における多重化装置のオーディオパケット生成部の処理の手順を示す第２のフローチャートである。
【図２１】本実施の形態１における多重化装置のシステムパケット生成部の処理の手順を示すフローチャートである。
【図２２】本実施の形態２における多重化装置の構成を示すブロック図である。
【図２３】従来の多重化装置の構成を示すブロック図である。
【図２４】従来の多重化装置のビデオ及びオーディオの各パケットの割り当て方法を概念的に示した図である。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2008053806.tif 000027
【図２】
2008053806.tif 000028
【図３】
2008053806.tif 000029
【図４】
2008053806.tif 000030
【図５】
2008053806.tif 000031
【図６】
2008053806.tif 000032
【図７】
2008053806.tif 000033
【図８】
2008053806.tif 000034
【図９】
2008053806.tif 000035
【図１０】
2008053806.tif 000036
【図１１】
2008053806.tif 000037
【図１２】
2008053806.tif 000038
【図１３】
2008053806.tif 000039
【図１４】
2008053806.tif 000040
【図１５】
2008053806.tif 000041
【図１６】
2008053806.tif 000042
【図１７】
2008053806.tif 000043
【図１８】
2008053806.tif 000044
【図１９】
2008053806.tif 000045
【図２０】
2008053806.tif 000046
【図２１】
2008053806.tif 000047
【図２２】
2008053806.tif 000048
【図２３】
2008053806.tif 000049
【図２４】
2008053806.tif 000050
【国際調査報告】
2008053806.tif 000051
2008053806.tif 000052