(57)【特許請求の範囲】
【請求項１】
圧縮されていない補助情報と情報ストリームとをマルチプレクシングすることによって得られたビットストリームをデコードするデコーダであって、
上記情報ストリームは、サイズが変化する情報ストリームのユニットを提供するために、変化する圧縮比率でサイズが固定の情報信号を圧縮することにより得られるものであり、
上記補助情報は上記得られた情報ストリームを処理するための使用するものであり、上記補助情報は各ユニットが上記情報信号の１つに対応する複数の補助情報ユニットを含んでおり、
上記デコーダは、
上記ビットストリームから上記情報ストリームと上記補助情報ユニットを含む補助情報とを抽出するためのデマルチプレクシング手段と、
上記デマルチプレクシング手段から抽出した上記補助情報を受け入れて保存する第１入力バッファ手段と、
上記第１入力バッファ手段から上記補助情報に含まれる上記補助情報ユニットの各々を取り除く除去手段と、
上記デマルチプレクシング手段から抽出した上記情報ストリームを受け入れて保存する第２入力バッファ手段と、
デコーダ手段であって、上記除去手段によって上記第１入力バッファ手段から取り除いた上記補助情報ユニットの各々に応じて上記第２入力バッファ手段から上記サイズが変化する情報ストリームのユニットの１つを取り除き、上記第２入力バッファ手段から取り除いた上記サイズが変化する情報ストリームの１つを伸長して、上記サイズが固定の情報信号のユニットのそれぞれを、圧縮前の情報信号に復元する、デコーダ手段と
を具備するデコーダ。
【発明の詳細な説明】
技術分野
本発明は、ディジタル情報信号の圧縮および伸長に用いられる装置および方法に関するものであり、特に、動的に変化する圧縮率で圧縮された情報信号に含まれる補助情報のバッファリングに関する。
背景技術
CD−ROM、レーザーディスク（LDs）、ビデオテープ、光磁気（MO）記録媒体、ディジタルコンパクトカセット（DCC）、地上または衛星放送、ケーブルシステム、光ファイバ配信システム、電話システム、ISDNシステム等の媒体への記録、または、これらを介した配信のためには、ビデオおよびオーディオ信号は圧縮され符号化され、その結果として得られたビデオストリームおよびオーディオストリームは、媒体へ提供するビットストリームを供給するためにマルチプレクス（多重化）される。このビットストリームは、後で媒体から再生され、デマルチプレクスされ、結果として得られたビデオストリームおよびオーディオストリームは、元のビデオおよびオーディオ信号を復元するために復号され、伸長される。
媒体への記録、または、媒体を介した配信のためのビデオ信号およびオーディオ信号の圧縮に関する２つの主な国際的標準は、MPEG−１およびMPEG−２として知られている。これらの標準は、国際標準化機構（ISO）および国際電気技術委員会（IEC）の賛助の下に運営されているモーションピクチャーエキスパートグループ（MPEG）により確立されてきている。
これらのMPEG標準は、広い用途の範囲において用いられるという前提の下に確立された。その結果として、この標準は、オーディオ信号のサンプリングレートクロックが、ビデオ信号のフレームレートクロックと同じクロックリファレンス（SCR）に位相同期している位相同期システムと、オーディオシステムのサンプリングレートクロックと、ビデオシステムのフレームレートクロックとが独立して動作する非位相同期システムとを考慮している。
システムが位相同期されているか否かにかかわらず、MPEG標準は、少なくとも0.7秒ごとにマルチプレクスされたビットストリームへのタイムスタンプの付加、および、エンコーダが、オーディオデコーダおよびビデオデコーダにより用いられる独立したタイムスタンプを供給することを要求する。
MPEG標準の目的の１つは、いかなるエンコーダにより供給されたビットストリームも、いかなるデコーダによりうまく復号され得ることを保証しつつ、エンコーダおよびデコーダの設計に最大の柔軟性を提供することである。この互換性が確立されている方法の一つは、システムターゲットデコーダの概念によるものである。MPEG−１およびMPEG−２標準に従った代表的なオーディオ・ビデオ信号処理システム110が図１に示される。これにおいて、エンコーダ100がビデオ信号記録媒体２からビデオ信号S2を受信し、オーディオ信号記録媒体３からのオーディオ信号S3を受信する。このオーディオ信号S3は、あるいは（そしてより一般的には）、独立したオーディオ信号記録媒体の代わりにビデオ信号記録媒体２からも受信され得る。エンコーダ100は、ビデオおよびオーディオ信号を圧縮および符号化し、その結果として得られたオーディオストリームとビデオストリームをマルチプレクスして多重化ビットストリームを提供する。この多重化ビットストリームS100は、記録のため、または、配信のために媒体５によって供給される。この媒体としては、ディジタルビットストリームを記録または配信するために適する、例えばCD−ROM、レーザーディスク（LDs）、ビデオテープ、光磁気（MO）記録媒体、ディジタルコンパクトカセット（DCC）、地上または衛星放送、ケーブルシステム、光ファイバ配信システム、電話システム、ISDNシステムといったいかなる媒体であってもよい。
エンコーダ100は、ピクチャーごとにビデオ信号を圧縮し、符号化する。ビデオ信号のピクチャーそれぞれは、３つの圧縮モードの内の１つで圧縮される。イントラピクチャー圧縮モードで圧縮されたピクチャーは、Ｉピクチャーと呼ばれる。イントラピクチャー圧縮モードにおいては、ピクチャーはそれ自身により、ビデオ信号の他のピクチャーを参照することなしに圧縮される。インターピクチャー圧縮モードにより圧縮されたピクチャーは、ＰピクチャーまたはＢピクチャーと呼ばれる。Ｐピクチャーは、参照ピクチャーとして前方のＩピクチャーまたはＰピクチャー、すなわち、ビデオ信号において前方に生じるピクチャーを用いる前方予測符号化を用いて圧縮される。Ｂピクチャーのブロックそれぞれは、リファレンスブロックとして、前方のＩピクチャーまたはＰピクチャーのブロック、後方のＰピクチャーまたはＩピクチャー（すなわち、ビデオ信号において後方に生じたピクチャー）、または、前方のＩピクチャーまたはＰピクチャーのブロックまたは後方のＩピクチャーまたはＰピクチャーのブロックへの線形処理を行うことにより得られたブロックのいずれを用いてもよい。さらに、Ｂピクチャーのブロックは、イントラピクチャー圧縮モードで圧縮されてもよい。代表的には、Ｉピクチャーには約150Kビット（1Kビット＝1024ビット）のビデオストリームが要求され、Ｐピクチャーには75Kビットのビデオストリームが要求され、Ｂピクチャーには5Kビットのビデオストリームが要求される。オーディオ・ビデオ信号処理システム110はまた、デコーダ600を含み、デコーダ600は、その入力信号として媒体５からのビットストリームS5を受信する。このデコーダは、エンコーダ100において実行されたマルチプレクスと逆のデマルチプレクスを行う。このデコーダはまた、得られたオーディオストリームおよびビデオストリームにエンコーダ100において行われたものと補完的な処理を用いた復号および伸長を適用し、復元されたビデオ信号6Aおよび復元されたオーディオ信号6Bを供給する。復元されたビデオ信号6Aおよび復元されたオーディオ信号6Bは、エンコーダ100に入力されたビデオ信号S2およびオーディオ信号S3にそれぞれ非常に一致している。
図１はまた、システムターゲットデコーダ（STD）400を示しており、システムターゲットデコーダ400は、エンコーダ100およびデコーダ600により行われる処理を定義するために用いられる。実用的なビデオおよびオーディオ信号処理システムにおいては、エンコーダは滅多に実際のシステムターゲットデコーダを含むことはない。しかし、代わりに、システムターゲットデコーダのパラメータを考慮に入れて符号化処理とマルチプレクスとを行う。また、実用的なシステムにおいては、デコーダはターゲットデコーダのそれと同じかそれ以上の性能を有するように設計される。これらのシステムターゲットデコーダ、エンコーダおよびエンコーダの間の関係は、図１において、システムターゲットデコーダとエンコーダとを結ぶS4Aと表記された破線、および、システムターゲットデコーダとデコーダとを結ぶS4Bと表記された破線により示される。
システムターゲットデコーダ400はまた、仮想システムターゲットデコーダ、システムリファレンスデコーダ、あるいは、リファレンスデコーディングプロセッシングシステムとしても知られる。
システムターゲットデコーダは、CCITT  H.261といった国際標準規格およびMPEG−１標準においても定義され、これらの標準のためのビデオ、オーディオデコーダおよびエンコーダの設計者のために指針を提供する。MPEG−１標準においては、システムターゲットデコーダはリファレンスビデオデコーダとリファレンスオーディオデコーダとを含む。さらに、システムターゲットデコーダは、リファレンスビデオデコーダのための入力バッファおよびリファレンスオーディオデコーダのための入力バッファを含む。これらの入力バッファそれぞれのサイズは標準に定義されている。この標準はまた、特に、それぞれのバッファからオーディオストリームおよびビデオストリームをこれらそれぞれのバッファから取り出す方法を考慮して２つのリファレンスデコーダの動作も定義する。
システムターゲットデコーダの概念は、以下のような異なった設計のエンコーダとデコーダとの間の適合性を提供する。全てのエンコーダが、システムターゲットデコーダによりうまく復号され得るビットストリームを供給するように設計され、ビットストリームがシステムターゲットデコーダにおいて、それぞれの入力バッファのオーバーフローあるいはアンダーフローの原因とならないように設計されている。さらに、全てのデコーダが、システムターゲットデコーダのために定義された性能パラメータと同じかより良い性能パラメータを有するように設計されている。結果として、全てのこのようなデコーダは、システムターゲットデコーダにより復号され得るビットストリームを生成するように設計されたいかなるエンコーダにより生成されたビットストリームをもうまく復号することができる。このシステムターゲットデコーダによる復号のために生成されたビットストリームは「強制システムパラメータストリーム」と呼ばれる。
図１に示された仮想的なシステムターゲットデコーダ400の構成は以下の通りである。デマルチプレクサ401は、概念的にエンコーダ100からビットストリームS100を受信する。デマルチプレクサ401は、ビットストリームをビデオストリームおよびオーディオストリームにデマルチプレクスする。ビデオストリームはビデオ入力バッファ402に供給され、その出力はビデオデコーダ405に接続される。デマルチプレクサ401からのオーディオストリームはオーディオ入力バッファ403に入力され、その出力はオーディオデコーダ406に接続される。図１に示された例において、MPEG−１標準により規定されているように、ビデオ入力バッファ402は46Kバイトの記憶容量を有し、オーディオ入力バッファ403は4Kバイトの記憶容量を有する。ビデオデコーダ405は、ビデオストリームをビデオ入力バッファ402から一時に一つのビデオアクセスユニット、すなわち、１つのピクチャーを、ビデオ信号のピクチャーレートに対応するタイミングで、例えばNTSCシステムにおいては1/29.94秒ごとに１回、取り出す。ビデオ入力バッファからピクチャーそれぞれのために取り出されるビデオストリームの量は、ピクチャーそれぞれに適用された異なる圧縮量のため変化する。オーディオデコーダ406は、オーディオストリームをオーディオ入力バッファ403から予め定められたタイミングで１オーディオアクセスユニットずつ取り出す。
システムの構成の観点、および、柔軟性を最大限にするために、実際のデコーダ600においては、STD内のデマルチプレクサ401に対応する素子がスイッチング回路を含み、STD内のビデオデコーダ405およびオーディオデコーダ405に対応する素子が、高速データ処理動作の実行に適した構造の高速データプロセッサ（DSP）を用いて供給されていることが望ましい。このようなプロセッサは、通常、コスト的な理由のため、大きな容量の記憶回路を含むことができない。したがって、MPEG標準はこれらの実用上の考察を考慮し、ビデオ入力バッファ402およびオーディオ入力バッファ403の記憶容量を、上述のように比較的小さい値とした。
図２は、通常、システムターゲットデコーダ400に供給される拘束的パラメータ（多重）システムビットストリームCPSPの構造を示す図である。図２に示されるビットストリームはマルチレイヤ構造になっており、種々のヘッダをマルチプレックスレイヤに含み、オーディオストリームとビデオストリームを信号レイヤに含む。この構成においては、複数のパックが経時的に直列的に配列される。パックそれぞれはパックヘッダから始まり、少なくとも１つのビデオパケットと少なくとも１つのオーディオパケットとを含む。ビデオパケットそれぞれはパケットヘッダで始まり、少なくとも１ピクチャーの少なくとも一部分のビデオストリームを含む。１ビデオパケットは１つ以上のＢピクチャーのビデオストリームに適応するであろう。しかし、Ｉピクチャーのビデオストリームに適応するためには、いくつかのビデオパケットが必要とされる。パケットヘッダの直後にピクチャーが始まる必要はなく、ピクチャーはビデオパケットのいかなる位置から開始してもよい。
ビデオパケットヘッダは、少なくとも１つの、パケット内で始まる最初のピクチャーの表示時間を示すビデオタイムスタンプを含んでもよい。もし、最初のピクチャーがＩピクチャーまたはＰピクチャーであり、その復号時間がその表示時間と異なるのであれば、デコーディングタイムスタンプもまた含まれてもよい。ビデオタイムスタンプの目的および用途は以下に記されるであろう。
オーディオパケットそれぞれは、少なくとも１つのオーディオストリームのアクセスユニットを含み、オーディオパケットヘッダから始まる。オーディオパケットヘッダは、オーディオパケットにおいて最初に始まったオーディオアクセスユニットを復号することにより得られたオーディオ信号の出力タイミングを示す表示タイムスタンプを含んでもよい。オーディオアクセスユニットそれぞれは、MPEG−１においては約384バイトである。
図２は、ピクチャーｉの終わりのビデオストリームと、少なくともピクチャーｉ＋１の始まりのビデオストリームとを含むビデオパケットトを示す。ピクチャーｉ＋１は、ビデオパケットにおいて始まる最初のピクチャーなので、示されたビデオパケットヘッダに含まれるビデオタイムスタンプvtsは、ピクチャーｉ＋１のビデオタイムスタンプである。図２はまた、アクセスユニットｊの終わりのオーディオ信号を含むオーディオパケット、および、アクセスユニットｊ＋1,j＋２のオーディオ信号を示す。アクセスユニットｊ＋１はオーディオパケットにおいて始まる最初のアクセスユニットなので、オーディオパケットヘッダに含まれるオーディオタイムスタンプatsは、オーディオアクセスユニットｊ＋１のタイムスタンプである。
エンコーダ100は、ビデオ信号S2を圧縮し、符号化し、少なくともオーディオ信号S3を符号化し、ビデオストリームとオーディオストリームとをそれぞれ供給し、オーディオストリーム、ビデオストリームおよび種々のヘッダをマルチプレクスし、図２に示されたフォーマットを有する多重化ビットストリームS100を供給する。エンコーダは、送信または記録のために媒体５にマルチプレクスされたビットストリームを供給する。多重化ビットストリームは、もしエンコーダがシステムターゲットデコーダ400に復号のために多重化ビットストリームを入力していたならば、システムターゲットデコーダが多重されたビットストリームをうまく復号していたであろうような、システムターゲットデコーダのいずれの入力バッファにもオーバーフローおよびアンダーフローが発生していなかったであろうようなものである。
多重化ビットストリームS100がシステムターゲットデコーダ400によりうまく復号され得るという要請ゆえに、エンコーダ100は少なくともビデオ信号S2に動的に変化する圧縮および符号化処理を適用する。エンコーダ100により適用された圧縮の圧縮率は、経時的に変化する。さらに、ビデオ信号S2のピクチャーを表示するために用いられ得るビデオストリームの量は、ピクチャーが圧縮されている際のシステムターゲットデコーダのビデオ入力バッファの使用率に依存するので、与えられたピクチャーに適用される圧縮量は動的に変化する。与えられたビデオシーケンスから得られたビデオストリームの量は、もし与えられたビデオシーケンスが異なった場合で処理されたのであれば、異なる。したがって、少なくともエンコーダ100により生成されたビデオストリームの圧縮率は定常的に変化する。
以上に示したように、オーディオストリームとビデオストリームは時間多重され、多重化ビットストリームS100を供給する。ビデオ信号の与えられたピクチャーに属するオーディオ信号のオーディオストリームは、多重化ビットストリームにおいて、そのピクチャーのビデオストリームより、いくらかの時間早く、または、遅く位置する。この結果として、実際のデコーダ600は、ビデオストリームの伸長により復元されたビデオ信号、および、オーディオストリームの伸長により復元されたオーディオ信号との間のタイミングの同期をとらなくてはならない。この同期をとるために、MPEG標準はエンコーダが上述したタイムスタンプを少なくともビデオパケットヘッダとオーディオパケットヘッダのいくつかに付加することを明記している。ビデオタイムスタンプとオーディオタイムスタンプとは、同期したビデオストリームとオーディオストリームの復号を達成するために用いられるクロックを規定するタイミングを示す。ビデオタイムスタンプとオーディオタイムスタンプはまた、ビデオストリームとオーディオストリームのそれぞれのアクセスユニットを伸長することにより復元されたビデオ信号のユニット（すなわちピクチャー）および復元されたオーディオ信号のユニットがデコーダ出力に現れる時間を示す間を示す。このようなタイミング情報は、もしデコーダが失われた、または、劣化したオーディオまたはビデオアクセスユニットを復号できないならば、オーディオ／ビデオ同期エラーの発生を防止するために必要である。これは下に詳述されるであろう。
図３にリアルデコーダ600の構造を示す。デコーダ600においては、デマルチプレクサ601が多重化ビットストリームを媒体５から受信する。デマルチプレクサ601は多重化ビットストリームをビデオストリーム、ビデオタイムスタンプ、オーディオストリームおよびオーディオタイムスタンプにデマルチプレクスする。ビデオタイムタンプとオーディオタイムスタンプは、それぞれビデオストリームとオーディオストリームそれぞれの復号用に、それぞれピクチャーレート制御回路698およびサンプリングレート制御回路699に入力される。デマルチプレクサ601の出力からのビデオストリームは、ビデオデコーダ605に先立つビデオ入力バッファ602に入力される。デマルチプレクサからのオーディオストリームは、オーディオデコーダ606に先立つオーディオ入力バッファ603に入力される。
ビデオデコーダ605は、ビデオ入力バッファによりアクセスユニットが受信された順に復号するために、ビデオ入力バッファ602からビデオストリームのアクセスユニットそれぞれを取り出す。ビデオデコーダ605は、ピクチャーレート制御回路698から受信されたタイミング信号に応じて、ビデオ入力バッファ602から取り出されたビデオストリームを復号する。ピクチャーレート制御回路は、代わりに、デマルチプレクサ601から入力されたタイムスタンプにより制御される。同様に、オーディオデコーダ606は、アクセスユニットがオーディオ入力バッファにより受信された順にデコードするために、オーディオストリームのアクセスユニットそれぞれをオーディオ入力バッファ603から取り出す。オーディオデコーダ606は、サンプリングレート制御回路699から受信されたタイミング信号に応じて、オーディオ入力バッファ603から取り出されたオーディオストリームを復号する。サンプリングレート制御装置は、代わりに、デマルチプレクサ601から入力されたオーディオタイムスタンプにより制御される。
ビデオ入力バッファ602およびオーディオ入力バッファ603は、次に詳細に記述されるであろう。以下の理由により、デコーダに入った基本的なストリームはバッファリングされなければならない。最初の理由は、上述のように、圧縮率が常に変わることである。第２の理由は、それぞれのデコーダへの媒体５からの基本的なストリームの平均伝送レートが、クロックエラーに依存して、それぞれのデコーダへのエレメンタリーストリームの平均入力レートと異なることである。第３の理由は、デコーダは通常、それぞれのストリームを断続的に受信する。それゆえ媒体５からの多重化ビットストリームS5における基本的なストリームの瞬間的な伝送レートと、それぞれのデコーダへの基本的なストリームの瞬間的な入力レートが合わないことである。したがって、ビデオ入力バッファ602,603は、平均伝送レートと平均入力レートとの、および、瞬間的な伝送レートと瞬間的な入力レートとの差を合わせるために、デマルチプレクサ601とビデオデコーダ605およびオーディオデコーダ606との間でそれぞれ用意される。
図4B〜図4Dは、媒体５からオーディオ入力バッファ603への多重化信号におけるオーディオストリームの伝送、および、オーディオ入力バッファからオーディオデコーダ606へのオーディオストリームの入力の時間依存性を示すビットインデックス（index;指標）曲線のグラフである。オーディオ入力バッファ603およびオーディオデコーダ606のオーディオ入力バッファの回路配列は図4Aに示される。ビットインデックス曲線は、Ｘ軸に示される時間に、回路中の与えられた点を通過した全部のビット数（Ｙ軸に示される）との関係を示す。
図4Bは、オーディオ入力バッファ603の入力の点IAでの平均ビットインデックスを示し、この平均ビットインデックスは、この点における媒体から伝送されてきたオーディオストリームの平均レートを反映する。曲線は、媒体からのオーディオストリームの平均伝送レートが大体一定であることを示している。しかし、クロックの偏移により伝送レートが経時的に変化するので、曲線はまっすぐな線ではない。
図4Cは、入力バッファ607への入力の点IVにおける実際のビットインデックスを示す。マルチプレクサがビデオストリームをビデオバッファに入力しているので、最初は何らのビットもオーディオ入力バッファに入力されない。それから、デマルチプレクサ601が最初の多重化ビットストリーム内のオーディオオーディオパケットに遭遇し、その内部に有するオーディオアクセスユニットをオーディオ入力バッファ603に入力する。最初のオーディオパケットに続いて、次のビデオパケットをビデオ入力バッファに供給する間、デマルチプレクサはオーディオストリームのオーディオ入力バッファへの伝送を止める。それから、デマルチプレクサ601は、多重化ビットストリーム内の他のオーディオパケットに遭遇し、その内部に有するオーディオアクセスユニットをオーディオ入力バッファに供給する。この処理は、復号処理を通じて繰り返される。
図4Dは、オーディオデコーダ606によりオーディオ入力バッファからオーディオストリームが取り出された際のオーディオ入力バッファ603の出力における点OAのビットインデックスを示す。オーディオデコーダは、１回に１つのアクセスユニットをオーディオ入力バッファから取り出す。オーディオアクセスユニットの取り出しは、例えば24m秒ごとに一回、間欠的に発生する。
ビデオ信号のピクチャーそれぞれが圧縮され、エンコーダ100において可変長復号化を受けた時に、上述のように、ビデオ信号が圧縮されたモードに依存して、生成されたビデオストリームの量がピクチャーごとに大きく変化する。したがって、ビデオデコーダ605がビデオ入力バッファ602からビデオストリームを取り出す入力レートもまた、ピクチャーごとに大きく変化する。その結果として、ビデオ入力バッファ602の記憶容量は、オーディオ入力バッファ603の記憶容量よりも相当に大きく要求される。例えば、MPEG−１標準はビデオ入力バッファ602のサイズ、すなわち、記憶容量に46Kバイトを要求し、一方、標準はオーディオ入力バッファのサイズを4Kバイトだけとする。
図5A〜図5Dは、媒体５からビデオ入力バッファ602への多重化信号内のビデオストリーム、および、ビデオ入力バッファからビデオデコーダ605へのビデオストリームの入力の伝送の時間依存性を示す３本のビデオインデックス曲線を含む。ビデオ入力バッファ602およびビデオデコーダ605の回路配列は図5Aに示される。
図5Bは、ビデオ入力バッファ602の入力の点IVにおける平均ビットインデックスを示し、これはこの位置における媒体から伝送されたビデオストリームの平均レートを反映する。曲線は、媒体から伝送されてきたビデオストリームの平均伝送レートが大体一定であることを示す。しかし、クロック偏移のために伝送レートが次第に変化するので、曲線は真っ直ぐな線ではない。
図5Cは、実際のビデオ入力バッファ602への入力の点IVにおける実際のビデオインデックスを示す。ビデオストリームは、最初に、デマルチプレクサ601が最初の多重化ビットストリーム内のオーディオパケットに遭遇するまで、実質上一定の伝送レートでビデオ入力バッファに入力される。マルチプレクサは、オーディオパケットの内容をオーディオ入力バッファ603に供給する間、ビデオ入力バッファへのビデオストリームの入力に割り込む。この割り込みの間、ビットインデックスは変化しないままに留まる。最初のオーディオパケットの最後に、デマルチプレクサ601は続くビデオパケットのヘッダをデマルチプレクスし、それから、多重化ビットストリーム内の他のオーディオパケットに遭遇するまで、ビデオ入力バッファへのビデオストリームの伝送を再開する。この処理は、復号処理の間ずっと繰り返される。
図5Dは、ビデオストリームがビデオデコーダ605によりビデオ入力バッファから取り除かれる際のビデオ入力バッファ602の出力の点OVにおけるビットインデックスを示す。ビデオデコーダは、ビデオ入力バッファからビデオストリームを、一時に１つのアクセスユニット、すなわち、１ピクチャーずつ取り出す。アクセスユニットの取り出しは、ピクチャー周期、例えばNTSCシステムにおいては33.4m秒ごとに１回ずつ間欠的に発生する。それぞれの時に取り出されるビデオストリームの量は、エンコーダによりピクチャーが圧縮されたモードに依存する。図5Dは、Ｉピクチャーが後に続くＢピクチャーのシーケンスの例を示しており、このＩピクチャーにはＢピクチャーのシーケンスが続いている。ビデオ入力バッファから１つのＩピクチャーのために、１つのＢピクチャーのためよりも非常に多くの量のビデオストリームが取り出されることが見られる。
図6Aと図6Bは、ビデオ入力バッファ602またはオーディオ入力バッファ603により提供されるバッファリングを示す。これらの図において、ビデオ入力バッファ602が例として用いられる。これらの図は両方ともビットインデックス曲線である。図6Aは、ビデオ入力バッファ602が、媒体からのビデオストリームの伝送レートとビデオデコーダ605へのビデオストリームの入力レートとの間の差を単に適応させるために用いられる理想的なバッファリングを示す。ビデオストリームは、図6AにおいてISと表記した直線で示されるように、実質的に一定の伝送レートでデマルチプレクサ601からビデオ入力バッファ602に入力される。ビデオデコーダは、ビデオ入力バッファから、示したように１回に１つのアクセスユニット、すなわち、１ピクチャーずつビデオストリームを取り出す。いずれか１つのピクチャーのために取り出されたビデオストリームの量は、Ｉピクチャーのための150KビットからＢピクチャーのための5Kビットの間で変化しうる。したがって、ビデオ入力バッファの出力におけるビットストリームビットインデックスは段階的に変わり、この段階のステップサイズは、OSと表記した段階的な曲線により示されるように、ピクチャーそれぞれを符号化するために用いられるビット数に依存する。
図6Aにおいて説明した理想的なバッファリングにおいては、以下の条件の両方が常に満たされている。
（ａ）ビデオ入力バッファ602に媒体から伝送されるビデオストリームの量と、ビデオ入力バッファ602（破線SCで示される）の記憶容量との差が、ビデオエンコーダによりビデオ入力バッファから取り出されるビデオストリームの量を超えない。すなわち、オーバーフローがない。そして、
（ｂ）ビデオデコーダ605によりビデオ入力バッファから取り出されるビデオストリームの量が、媒体からビデオ入力バッファに伝送されるビデオストリームの量を超えない。すなわち、アンダーフローがない。
しかし、図6Bにおいて説明したように、オーバーフローまたはアンダーフローはバッファリングにおいて時に発生し得る。図6Bにおいて、ビデオストリームが媒体５から受信される伝送レートは時間とともに変化する。そうでなければ、ビデオストリームは図６に示したものと同様になる。始めに、ビデオ入力バッファ602はビデオデコーダ605により要求されるものに比べて過大な量のビデオストリームを受信し、この結果、文字Ａで示した点においてビデオ入力バッファがオーバーフローする。後には、ビデオ入力バッファにより受信されるビデオストリームの伝送レートはビデオストリームに対するビデオデコーダの要求を下回り、その結果として、文字Ｂで示した点において入力バッファがアンダーフローする。
含まれるパラメータの内の１以上を制御することにより、入力バッファオーバーフローまたはアンダーフローは防がれ得る。オーバーフローまたはアンダーフローを防ぐいくつかの方法が、図7A〜図7Cに示すビットインデックス曲線において説明される。
図7Aに説明される最初の方法はミディアムスレーブ法と呼ばれる。この方法においては、媒体５からビデオ入力バッファ602に伝送されるビデオストリームの量が制御され、オーバーフローまたはアンダーフローの発生を防ぐ。このような制御がなければ、伝送レートは曲線L1により示される。制御があれば、伝送レートは曲線L1'により示される。媒体から伝送されたビデオストリームの量は、以下の２つの条件を満たすように制御される。
（ａ）媒体からビデオ入力バッファ602に伝送されるビデオストリームの量（曲線L1'により示される）と、ビデオ入力バッファの記憶容量との差が、入力バッファからビデオデコーダ605により取り出されるビデオストリームの量（曲線L3で示される）を超えない。すなわち、オーバーフローがない。
（ｂ）ビデオ入力バッファ602からビデオデコーダ605により取り出されたビデオストリームの量（曲線L3により示される）がビデオ入力バッファ602に伝送されるビデオストリームの量（曲線L1'により示される）を超えない。すなわち、アンダーフローがない。
曲線L2は、どのように媒体からビデオ入力バッファ602に伝送されるビデオストリームの量の制御が、ビデオ入力バッファに伝送されたビデオストリームの量とビデオ入力バッファの記録容量との間の差を制御するかを示す。曲線L2'は、媒体からビデオ入力バッファに伝送されたビデオストリームの量が制御されないときの、この差を示す。
図7Bに示される第２の方法はデコーダスレーブ法と呼ばれる。この方法においては、ビデオデコーダによりビデオ入力バッファから取り出されたビデオストリームの量を変更するために、ビデオデコーダのピクチャーレートが制御される。ピクチャーレートは、以下の２つの条件の両方が満たされるように制御される
（ａ）ビデオ入力バッファ602に供給されたビデオストリームの量（曲線L1により示される）とビデオ入力バッファの記憶容量との間の差であるビデオストリームの量（曲線L2により示される）が、ビデオデコーダ605によりビデオ入力バッファから取り出されたビデオストリームの量を超えない。すなわち、オーバーフローがない。そして、
（ｂ）ビデオデコーダによりビデオ入力バッファから取り出されたビデオストリームの量（曲線L3'により示される）がビデオ入力バッファ602に媒体から伝送されたビデオストリームの量（曲線L1により示される）を超えない。すなわち、アンダーフローがない。
ビデオデコーダによりビデオ入力バッファから取り出されたビデオストリームの実際の量は曲線L3'により示される。以上の説明は、ビデオシステムを参照してなされた。しかし、オーディオデコーダ606のオーディオストリームがオーディオ入力バッファ603から取り出されるレートを合わせるためにサンプリングレートを変更することにより同様な結果をオーディオストリームについても得られる。
図7Cに説明される第３の方法は、ビデオデコーダ605によりビデオ入力バッファ603から取り出されるビデオストリームの量を合わせる。例えば、この方法は、ビデオ入力バッファから取り出されたビデオストリームの量を合わせるために、ビデオデコーダにビデオストリームの復号部分を飛ばさせたり、ビデオストリームの復号部分を反復させたりするであろう。
曲線L3'は、ビデオ入力バッファ602から取り出されたビデオストリームの量における変化を示す。シーケンスの始まりの方でのオーバーフローの発生を防ぐために、いくつかのビデオアクセスユニットをビデオ入力バッファから取り出すがこれらを復号しないことによりビデオ入力バッファから取り出されるビデオストリームの量が増やされる。後には、アンダーフローを防ぐために、いくつかのビデオアクセスユニットをビデオ入力バッファから取り出してこれらを１回以上復号することによりビデオ入力バッファから取り出されるビデオストリームの量が減らされる。ここで記したように、ビデオデコーダのピクチャーレート、オーディオデコーダのサンプリングレート、または、媒体５からの多重化ビットストリームの伝送レートを変更することは、望ましくない副作用をオーディオ・ビデオ信号処理システム110の外側のシステムに引き起こす原因となる。したがって、ここで記した変更は自由になされ得ず、限られた範囲内でのみ行われてもよい。
その結果として、ここで述べた補正に及ばなければならないようになることなく、デコーダにおけるバッファリングの要求が具合よく適合するように、エンコーダにより生成される多重化ビットストリームを制御することが望ましい。バッファリング処理における不具合は復号の開始に最も発生しがちである。もしデコーダが、そのアクセスの全てが媒体から入力バッファへ転送される前に、入力バッファからストリームのアクセスユニットを取り出そうとするならば、アンダーフローが生じるであろう。これを防ぐために、媒体からのビットストリームの伝送が開始してから所定の遅延時間経過後にのみ、復号処理が開始される。これは、それぞれのデコーダが復号のためにオーディオおよびビデオストリームを取り出しを開始する前に、オーディオストリームとビデオストリームとがそれぞれオーディオおよびビデオ入力バッファに蓄積することを許す。
図8A〜図8Dは、バッファリングにおけるスタートアップ遅延のいくつかの結果を示す。図8Aは、図6Aに示したのと同様に、理想的なバッファリングを示す。図8Bは、多重化ビットストリームが変化する伝送レートで多重化ビットストリームが媒体から伝送されたときの、適切なスタートアップ遅延の有利な効果を示す。図8Bにおいて、スタートアップ遅延は、ビデオデコーダ605がビデオ入力バッファからビデオストリームのアクセスユニットを取り出し始める前に、追加のビデオストリームがビデオ入力バッファ602に蓄積することを許す。
最適なスタートアップ遅延の決定においては、注意が働かされなければならない。図8Cは、過剰に長いスタートアップ遅延の結果を示す。図8Cにおいて、ビデオデコーダ605は、ビデオ入力バッファ602からビデオストリームの取り出しを開始する前に、長く待ちすぎる。その結果として、点Ｃでオーバーフローが発生する。図8Dは、短すぎるスタートアップ遅延の結果を示す。短いスタートアップ遅延は、ビデオデコーダが復号のためにビデオ入力バッファからビデオストリームの取り出しを開始する前に、充分なビデオストリームがビデオ入力バッファに蓄積することを許さない。その結果として、ビデオデコーダが最初のＩピクチャーI2のビデオストリームを取り出そうとする際に、不十分なビデオストリームがビデオ入力バッファに蓄積し、点Ｄでアンダーフローが発生する。図8Dはまた、適切なスタートアップ遅延により、アンダーフローを生じずに最初のＩピクチャーI2のビデオストリームが取り出され得ることを示す。
図９は、いかに媒体５から伝送された多重化ビットストリームがデマルチプレクサ601、ビデオ入力バッファ602およびビデオデコーダ605により処理され、多重化ビットストリーム内のビデオストリームを復号するかを示す。デマルチプレクサ601、オーディオ入力バッファ603およびビデオデコーダ605の回路の回路配列は、図の先頭に示される。
多重化ビットストリームの部分の例は、図の左側に示される。デマルチプレクスされたビットストリームの部分は、パックｎの全て、および、パックｎ＋１の最初の部分を含む。パックそれぞれは、パックの復号タイミングを示すクロックリファレンスSCRを含むパックヘッダで始まり、パックヘッダは、パックの復号タイミングを示すクロックリファレンスSCRを含む。
パックｎは、パックヘッダ（パックヘッダｎ）で始まり、ピクチャーｉとｉ＋１のビデオストリームを代りに含むビデオパケットｍを含む。ビデオパケットｍは、表示タイムスタンプPTSmおよび復号タイムスタンプDTSmを含むビデオパケットヘッダ（V.パケットＨ）で始まる。
パックｎ＋１はパックｎに続き、クロックリファレンスSCRn＋１を含むパックヘッダ（パックヘッダｎ＋１）を含む。パックヘッダに続くのはビデオパケットｍ＋１およびｍ＋２、および、可能なより多くのパケットである。ビデオパケットｍ＋1,m＋２それぞれは、復号タイムスタンプDTSおよび１つのピクチャーのビデオストリームを含む。
図９はまた、ビデオ入力バッファ602の入力（IVと表記される）および出力（OVと表記される）へのビットインデックス曲線を示す。多重化ビットストリーム内の種々のイベントが破線でビットインデックス曲線に関連付けられ、これらはビットインデックス曲線のＸ軸にも示される。ビデオインデックス曲線IVは、デマルチプレクサ601を介して媒体５からビデオ入力バッファに伝送されるビデオストリームを表す。ビットインデックス曲線OVは、ビデオデコーダ605によりビデオ入力バッファから取り出されたビデオストリームのビットインデックスを表す。
多重化ビットストリームは以下のように処理される。パックｎのパケットヘッダ内でクロックリファレンスSCRnにより示されるタイミングで、パックｎに含まれるビデオストリーム、すなわち、ピクチャーi,i＋１のビデオストリームがデマルチプレクサ601を介してビデオ入力バッファ602に伝送される。それから、クロックリファレンスSCRn＋１により示されるタイミングで、パックｎ＋１に含まれていたビデオストリームがデマルチプレクサ601を介してビデオ入力バッファ602に伝送される。ビデオパケットヘッダのタイムスタンプは、その他のいずこかに記憶される。後に、ビデオパケットｍのヘッダにおいて復号タイムスタンプDTSmにより示される時間で、ピクチャーｍのビデオストリームがビデオデコーダ605によりビデオ入力バッファ602から間欠的に取り出される。それから、１ピクチャー期間の後、やはりビデオパケットｍに含まれるピクチャーｉ＋１のビデオストリームがビデオデコーダによりビデオ入力バッファから取り出される。
後に、ビデオパケットｍ＋１のパケットヘッダ内に含まれる復号タイムスタンプDTSm＋１により示される時間に、ビデオパケットｍ＋１において始まる最初のピクチャーであるピクチャーｉ＋２のビデオストリームがビデオ入力バッファ602からビデオデコーダ605に取り出される。ビデオパケットヘッダ内のデコーディングタイムスタンプDTSm＋２により示される時間に、ビデオパケットｍ＋２において始まる最初のピクチャーであるピクチャーｉ＋３のビデオストリームがビデオデコーダ605によりビデオ入力バッファ602から取り出される。ピクチャーｉ＋３のビデオストリームの取り出しに続き、そのビデオストリームがビデオパケットｉ＋３内でピクチャーｉ＋３のビデオストリームに続くピクチャーのビットストリームが、復号タイムスタンプDTSm＋２により示される時間に１ピクチャー期間ずつ加えた時間にビデオ入力バッファ602から取り出される。タイムスタンプにより示されたタイミングは、例えば水晶発振器および90KHzのリファレンスクロックを用いた絶対時間として記憶されてもよい。この方法においては、クロックリファレンスとタイムスタンプとの差をスタートアップ遅延として用いることができる。
上述のように、MPEG標準に従ったデコーダがオーディオストリームおよびビデオストリームを復号するために用いられるとき、対応するオーディオストリームおよびビデオストリームのアクセスユニットを復号した結果生じた復号信号それぞれのユニットがデコーダ出力に供給される時間を同期させることが必要である。復号信号ユニットがデコーダ出力に供給される時間は、そのユニットの表示時間と呼ばれる。多重化ビットストリームにおけるタイムスタンプはこの同期を供給するために用いられる。必要な同期を供給する部分はビデオストリームをデコードした結果得られたビデオ信号の並べ替えを含んでいる。これは、図10において説明される。
上述のように、ビデオストリームは、Ｉピクチャー、ＰピクチャーおよびＢピクチャーとして圧縮されたピクチャーのビデオストリームを含んでいる。これらのピクチャーの内、復号時間および表示時間はＢピクチャーによってのみ同じである。偶発的には、復号時間と表示時間はオーディオストリームによってもまた同じになる。ＩピクチャーとＰピクチャーとは、復号時間より数ピクチャー期間遅れた表示時間を有する。ビデオデコーダ605はＩピクチャーおよびＰピクチャーのビットストリームをビデオ入力バッファ602から復号タイムスタンプDTSに示される時間に取り出す。ピクチャーのビデオストリームが復号された後、その結果として得られた復号ビデオ信号は一時的にビデオデコーダ出力バッファ611に記憶される。それから、表示タイムスタンプPTSにより示された時間に、ピクチャーのビデオ信号がビデオデコーダ出力バッファからビデオデコーダ605の出力に供給され、ビデオ出力信号のピクチャーが供給される。
例えば、図10において、ＩピクチャーI2のビデオストリームがビデオ入力バッファ602から復号（ディスプレイ）タイムスタンプDTSmにより示される時間に取り出され、その結果として得られたビデオ信号は、復号されたＩピクチャーおよびＰピクチャーのビデオ信号を一時的に記憶するためにビデオデコーダ605内に設けられたビデオデコーダ出力バッファ611に記憶される。
それから、ビデオデコーダ605は、連続的にビデオ入力バッファ602からＰピクチャーのビデオビットストリームを取り出し、連続的にこれらを復号し、１ピクチャー周期離れたその出力にその結果として得られたビデオ信号を供給する。次に、ビデオデコーダ605はビデオ入力バッファ602からＰピクチャーP5のビデオストリームを取り出す。ビデオデコーダは間欠的にビデオストリームを復号し、その結果として得られたビデオ信号をビデオデコーダ出力バッファ611に記憶する。また、ＰピクチャーP5の復号タイムスタンプと同じ値を有するＩピクチャーI2の表示タイムスタンプPTSにより示された時間に、ビデオデコーダはピクチャーI2のビデオ信号をその出力に供給する。
最後に、この例においては、ビデオデコーダ605は連続してＢピクチャーB3およびB4のビデオストリームをビデオ入力バッファ602から取り出し、連続して記憶されたピクチャーI2およびP5を参照ピクチャーとして用いて復号し、その結果として得られたビデオ信号を１ピクチャー周期離れたその出力に供給する。
ＩピクチャーおよびＰピクチャーは、それらの復号タイミングおよび表示タイミングにおいて異なるので、それぞれ表示時間および復号時間を示す表示タイムスタンプおよび復号タイムスタンプは、ＩピクチャーまたはＰピクチャーのビデオストリームが始まるビデオパケットのビデオパケットヘッダに含まれる。しかし、タイムスタンプの両方の種類が含まれている必要はない。なぜならば、MPEG復号規則によると、ＩピクチャーまたはＰピクチャーそれぞれの表示時間は続くＩピクチャーまたはＰピクチャーの復号時間と同じだからである。換言すると、復号タイムスタンプは省略可能であり、ＩピクチャーまたはＰピクチャーそれぞれは前方のＩピクチャーまたはＰピクチャーの表示タイムスタンプにより示される時間に復号され得る。
図10はまた、MPEGビデオ信号の復号および表示時間の差異の結果を示す。ビットインデックス曲線から、ビデオデコーダが媒体５から入力バッファに伝送された順番に、すなわちシーケンシャルでないピクチャー順番でビデオ入力バッファからピクチャーのビデオストリームを取り出すことが知り得る。しかし、ピクチャーの表示スタンプは表示されるピクチャーを、図の下方に示すそれらのシーケンシャルな順番に表示されるようにする。
上に述べたように、タイムスタンプは多重化ビットストリームの多重化レイヤに含まれており、オーディオまたはビデオストリームレイヤにではない。これは、多重化ビットストリームがデコーダにおいてデマルチプレクスされるときに、これらに関係するタイムスタンプとアクセスユニットとの間の相互関係が失われたことを意味する。従って、デコーダは、多重化ビットストリームから抽出されたタイムスタンプを、それらに対応するアクセスユニットそれぞれに関連付ける規定を含まなければならない。１つのアプローチが図11A、図11Bに示されている。
図11Aにおいて、デコーダ600は、デマルチプレクサ601は媒体５から多重化ビットストリームを受信するデマルチプレクサ601を含む。デマルチプレクサは、ビデオストリームおよびビデオタイムスタンプを多重化ビットストリームからデマルチプレクスし、これらをビデオストリーム再構成ユニット692に入力する。デマルチプレクサはまた、オーディオストリームとオーディオタイムスタンプを多重化ビットストリームからデマルチプレクスし、これらをオーディオストリーム再構成ユニット693に入力する。ビデオストリーム再構成ユニットの出力は、ビデオデコーダ605に先立つビデオ入力バッファ602に供給される。ビデオデコーダにおける復号は、ビデオタイムスタンプに応じてピクチャーレート制御回路698により制御される。オーディオストリーム再構成ユニット693の出力は、オーディオデコーダ606に先立つオーディオデコーダ606に供給される。オーディオデコーダにおける復号は、オーディオタイムスタンプに応じてサンプリングレート制御回路699により制御される。デマルチプレクサ601は、媒体５から多重化ビットストリームを受信し、これをビデオストリーム、ビデオタイムスタンプ、オーディオストリームおよびオーディオタイムスタンプに分解する。ビデオストリームおよびビデオタイムスタンプは、ビデオタイムスタンプをビデオストリームに挿入するビデオストリーム再構成ユニット692に入力される。例えば、ビデオタイムスタンプが、図11Bに示されるピクチャーｉおよびピクチャーｉ＋１の間に挿入される。図11Bに示されるように再構成されたビデオストリームは、ビデオ入力バッファ602に入力され、ここで一時記憶される。ビデオデコーダ605は、ビデオ入力バッファにより受信された順番で、ビデオ入力バッファ602からビデオタイムスタンプを含むビデオストリームを取り出す。
同様な態様で、オーディオストリーム再構成ユニット693はオーディオストリームおよびオーディオタイムスタンプをデマルチプレクサ601から受信し、オーディオストリームにオーディオタイムスタンプを挿入する。例えば、オーディオタイムスタンプは、アクセスユニットｊおよびオーディオストリームの図11Bに示されるアクセスユニットｊ＋１の間に挿入される。図11Bに示されたように再構成されたオーディオストリームは、それからオーディオストリーム再構成ユニットからオーディオ入力バッファ603に入力され、そこで一時的に記憶される。オーディオデコーダ606は、オーディオタイムスタンプを含むオーディオストリームをオーディオ入力バッファからオーディオ入力バッファにより受信された順番に取り出す。
ビデオデコーダ605は、ピクチャーレート制御回路698から受信されたタイミング信号に応じてビデオ入力バッファ602から取り出されたビデオストリームを復号する。ピクチャーレート制御回路は、代わりに、ビデオデコーダから入力されたタイムスタンプにより制御される。同様に、オーディオデコーダ606は、サンプリングレート制御回路699から受信されたタイミング信号に応じてオーディオ入力バッファ603から取り出されたオーディオストリームを復号する。サンプリングレート制御回路は、代わりに、オーディオデコーダから供給されたオーディオデコーダから入力されたオーディオタイムスタンプにより制御される。
ここに記したデコーダは、多重化レイヤ内に含まれるタイムスタンプをこれらが属するビデオおよびオーディオアクセスユニットに関連付ける問題を解決する。しかし、タイムスタンプのオーディオおよびビデオストリームへのはめ込みは、ストリームにおいてもはや標準でないという結果になる。はめ込まれたタイムスタンプを伴うビデオストリームの復号に適したデコーダは、例えば、タイムスタンプが用いられないアプリケーションにおいてはビデオストリームの復号に適さない。したがって、標準でないストリームおよび標準でないデコーダとならない方法で、タイムスタンプをこれらが属するアクセスユニットに関連付けることが望ましい。
最近、MPEG標準は、オーディオストリームまたはビデオストリーム以外の情報パケットが多重化ビットストリーム内に含まれることを許容してきた。例えば、ディレクトリ情報のパケットがビットストリームに加えられてもよい。ディレクトリ情報は、多重化ビットストリーム内の連続するアクセスポイントのアドレスを供給することにより、早送り動作の間、ピクチャーが表示されることを許す。アクセスポイントは、他のアクセスユニットがデコーダにあることを要求せずに復号され得るアクセスユニットである。例えば、ビデオアクセスポイントは、全体的にまたは部分的にイントラピクチャー符号化を用いて符号化されたピクチャーである。アクセスポイントは、通常、GOP（グループオブピクチャー）の始まりに位置する。
MPEG標準は、ディレクトリ情報（ディレィクトリパケット）を内容とするパケットはオーディオパケットおよびビデオパケットとともに多重化ビットストリームにおいてインターリーブされる旨、明記し、そしてまた、ディレクトリ情報バッファがデコーダ中に用意される旨、明記する。しかし、MPEG標準はディレクトリバッファのサイズも動作も定義しない。MPEGデコーダ内のプロセッサ内のメモリ不足ゆえに、デコーダの設計者はディレィクトリ情報に比較的少ないメモリを割り当てる。さらに、エンコーダの設計者は、慣習的にディレクトリパケットを比較的大きくしてきた、それゆえディレクトリパケットは多重化ビットストリーム内に比較的稀に発生する。
現在のディレクトリバッファのサイズと、ビデオテープレコーダの早送り動作におけるディレクトリパケットのサイズおよび間隔との間の関係の影響は図12A〜12Eに示される。図12Aは、ビデオテープに記録されたときの多重化ビットストリームの部分の配列を示す。ディレクトリパケットは、ディレクトリパケットヘッダ（Dir.Pkt.Hdr）、これに続くディレクトリエントリのセットで構成され、１つのディレクトリエントリは続くGOPの１つづつに対応する。ディレクトリパケットに続くのは、GOPのビデオストリームを内容とする複数のビデオパケットである。この例においては、ディレクトリパケットに続く20個のGOPがあるので、ディレクトリパケットは20個のディレクトリエントリを含む。これらの図において、図示を簡略化するために、ビデオパケットとインターリーブされたオーディオパケットは省略されている。
早送り動作の間、図12Bに示されるように、ディレクトリパケットヘッダが認識され、ディレクトリパケットの内容がテープから読み出されディレクトリバッファに伝送される。しかし、ディレクトリバッファは標準的には約500ビットの容量を有し、各ディレクトリは100ビットを要するので、ディレクトリバッファは最初の５つのディレクトリエントリが記憶された後には、オーバーフローする。ディレクトリパケットの内容がテープから再生された後、最初のGOP（GOP0）の始まりのアドレスはディレクトリバッファから読み出され、図12Cに示すように、テープがこのアドレスまで進められて最初のGOPの始まりのアクセスポイントがテープから再生されるのが可能になる。表示のためにこのピクチャーが復号されている間、２番目のGOP（GOP1）の始まりのアドレスがディレクトリバッファから読み出され、テープが進められて、また図12Cに示されるように、２番目のGOPの始めのアクセスポイント、例えばＩピクチャーがテープから再生されるのが可能になる。この処理は、図12Cに示すように、５番目のGOP（GOP5）まで繰り返され、この後、ディレクトリバッファの内容が使い果たされる。
それから、テープは、次のディレクトリエントリの５つを再生するためにディレクトリパケットまで巻き戻される。これらのディレクトリエントリは、図12Dに示されるように、ディレクトリバッファに記憶される。テープレコーダは、それから、図12Eに示されるように、これら５つの新たなディレクトリエントリを用い、６番目から10番目のGOP（GOP5〜GOP9）の始まりのピクチャーを通して早送りする。ディレクトリパケットは、20GOP、GOP0〜GOP19それぞれの始まりのピクチャーを再生するために、合計４回再生されなければならない。
もし、アナログテープレコーダにおける早送りの間の作業のように、早送り動作の間にピクチャーが再生されるとすると、ディレクトリバッファとディレクトリパケットのサイズと間隔との間の不整合は早送り動作を非常に遅いものにする。MPEG標準はディレクトリパケットのサイズおよび動作を定義していないので、より大きいディレクトリバッファを用いることは、（より大きなバッファが問題の深刻さを減じるであろうが）ここで述べた問題の完全な解決策ではない。これゆえに、ディレクトリバッファがいかに大きくされようと、ディレクトリバッファより大きなディレクトリパケットの可能性は常に存在する。
デマルチプレクスに続いてタイムスタンプをオーディオおよびビデオストリームにはめ込むことの代わりに、タイムスタンプが必要になるまで記憶するタイムスタンプバッファを設けることが提案されてきた。個別のバッファがオーディオアクセスユニットに対応するタイムスタンプおよびビデオアクセスユニットに対応するタイムスタンプのために設けられてもよい。また一方、MPEG標準はこれらのバッファのサイズと動作に対する直接の仕様を含んでいない。
しかし、現行のMPEG標準はシステムターゲットデコーダは、ビデオおよびオーディオの両方に、最大限１秒のバッファリング遅延を有することを要求する。これは、タイムスタンプは最大１秒バッファリングのみされることを必要とすることを意味し、これはタイムスタンプバッファの最大のサイズが計算されることを可能にする。もしタイムスタンプがビデオストリームのピクチャーそれぞれに供給されているのであれば、30タイムスタンプのバッファ容量がビデオタイムスタンプ用に用意されなければならない。同様に、もしタイムスタンプがオーディオアクセスユニットそれぞれに供給されているならば、115タイムスタンプのバッファ容量がオーディオタイムスタンプのために用意されなければならない。ここで示した態様において、MPEG標準は間接的にオーディオおよびビデオタイムスタンプバッファの最大のサイズを置いている。しかし、この最大のタイムスタンプバッファのサイズを置く方法は、望ましくない副作用を持つ、すなわち、これは、より長いバッファ遅延が必要なアプリケーションにおける使用に対してMPEG標準を適さないようにしている。例えば、図13に示される低いピクチャーレート、低いビットレートのビデオ信号は、そうでなければMPEG標準のビットレートに従ってマルチプレクスされ得るが、約５秒のデコーダバッファ遅延を要求するのでMPEG標準によりマルチプレクスされ得ない。
MPEG標準は多くのアプリケーションにおいて用いられることを意図しているので、MPEG標準により定義されている最大遅延要求をなくし、代わりにより合理的なタイムスタンプバッファのサイズを適する方法を確立することが望ましい。
発明の開示
本発明は、情報信号からビットストリームを得る方法を提供する。この方法では、情報信号のユニットが圧縮され、情報ストリームのユニットを供給する。情報ストリームのユニットは、アクセスポイントを含む。情報ストリーム中のアクセスポイントをポインティングするポインタは、情報ストリームから得られる。そして、情報パケット中に分割された情報ストリームは、ポインタパケットと共にマルチプレクスされ、ビットストリームを供給する。このマルチプレクスは、複数の連続するアクセスポイントを含む情報パケットの集合が、複数の連続するアクセスポイントに対してのみポインングするポインタを含むポインタパケットに隣接してマルチプレクスされるように行われる。
図面の簡単な記述
図１は、従来技術におけるシステムとシステムターゲットデコーダとの関係を示す、オーディオ信号およびビデオ信号のためのオンコーダ／デコーダシステムのブロック図である。
図２は、図１に示されたシステムのエンコーダによって生成された多重化ビットストリームの構成を示す。
図３は、図１に示されたシステムのデコーダの構成を示す。
図4Aは、図１に示されたシステムのデコーダの中の入力バッファおよびオーディオデコーダを示す。
図4Bは、図１に示されたシステムのデコーダの中のオーディオ入力バッファの入力における標準ビットインデックスを示すビットインデックス曲線である。
図4Cは、図１に示されたシステムのデコーダの中のオーディオ入力バッファの入力における実際のビットインデックスを示すビットインデックス曲線である。
図4Dは、図１に示されたシステムのデコーダ動作の中のオーディオ入力バッファの出力におけるビットインデックスを示すビットインデックス曲線である。
図5Aは、図１に示されるシステムのデコーダの中のビデオ入力バッファおよびビデオデコーダを示す。
図5Bは、図１に示されるシステムのデコーダの中のビデオ入力バッファの入力における標準ビットインデックスを示すビットインデックス曲線である。
図5Cは、図１に示されるシステムのデコーダの中のビデオ入力バッファの入力における実際のビットインデックスを示すビットインデックス曲線である。
図5Dは、ビデオ入力バッファの出力におけるビットインデックスを示すビットインデックス曲線である。
図6Aは、図１に示されるシステムのデコーダの中のビデオ入力バッファの中の理想的なバッファリングを示す。
図6Bは、図１に示されるシステムのデコーダの中のビデオ入力バッファによって供給されるバッファリングにおける入力ビットレートの変化の効果を示す。
図7A,7Bおよび7Cは、図１に示されるシステムのデコーダの中のビデオ入力バッファにおけるバッファリングエラーの修正の種々の方法を示す。
図8A,8B,8Cおよび8Dは、図１に示されるシステムのデコーダ中のビデオ入力バッファによって供給されるバッファリングにおける始動遅延（スタートアップディレー）の効果を示す。
図９は、図１に示されるシステムのデコーダ中のビデオ入力バッファの多重化ビットストリームおよび動作の構成間の関係を示す。
図10は、図１に示されるシステムのデコーダの中のビデオ入力バッファのピクチャーエンコードの種々のタイプと動作の間の関係を示す。
図11Aは、図１に示されるシステムのデコーダの前の選択的な構成を示し、そのなかで、多重化ビットストリームをデマルチプレクスした後に、各タイムスタンプがビデオおよびオーディオストリームに埋め込まれることを示す。
図11Bは、図11Aに示されるデコーダによって生成される埋め込まれたタイムスタンプと共に、オーディオおよびビデオストリームを示す。
図12Aから12Bは、ビデオテープレコーダの早送り処理におけるディレクトリパケットのマルチプレクスされたストリーム中へのマルチプレクスの既知の方法の効果を示す。
図13は、MPEG−１標準に課せられたバッファリング遅延リミットに準拠したデコーダを用いてデコードできないロービットレートを示す。
図14は、オーディオ信号およびビデオ信号のための本発明に係わるエンコーダ／デコーダの第１実施例のブロック図であり、本発明に係わるシステムターゲットデコーダのシステムと第１実施例との間の関係を示す。
図15は、本発明に関するシステムターゲットデコーダに用いられるエンコーダの種々の構成要素の関連を示す本発明に係わるエンコーダの第１実施例の構成を示す。
図16Aは、図15に示されるエンコーダによって生成される予備的な多重化ビットストリームを示す。
図16Bは、図15に示されるエンコーダによって生成される多重化ビットストリームを示す。
図17は、本発明に係わるデコーダの第１実施例のブロック図である。
図18は、図17に示されるデコーダの第１実施例中のビデオ入力バッファにおけるおよびディレクトリ入力バッファの入力および出力におけるビットインデックスを示す。
図19は、図15に示されるエンコーダの第１実施例によって生成される多重化ビットストリームの構成と、図17に示されるデコーダの第１実施例中のディレクトリ入力バッファの入力のビットインデックスとの間の関係を示す。
図20は、ビデオテープレコーダの早送り処理における本発明に係わるディレクトリパケットを多重化ビットストリームにマルチプレクスする方法の効果を示す。
図21は、オーディオ信号およびビデオ信号のための本発明に係わるオンコード／デコードシステムの第２実施例のブロック図であり、本発明に係わるシステムとターゲットデコーダの第２実施例との間の関係を示す。
図22Aは、本発明に係わるシステムターゲットデコーダの第２実施例との関連によって決定されるエンコーダの種々の動作パラメータを示す本発明に係わるエンコーダの第２実施例の構成を示す。
図22Bは、図22Aに示されるエンコーダのオペレーショナルパラメータが本発明に係わるシステムターゲットデコーダの第２実施例を参照して決定される処理を説明するブロック図である。
図23は、本発明に係わるデコーダの第２実施例のブロック図である。
図24Aは、エンコード／デコードシステムの総ビデオ遅延の構成要素を説明する。
図24Bは、本発明に係わるエンコード／デコードシステムの総ビデオ遅延および総オーディオ遅延の構成要素を説明する。
図25は、図22Aに示されるエンコーダの第１実施例によって生成された多重化ビットストリームの構成と、図23に示されるデコーダの第２実施例中のビデオ入力バッファの入力のビットインデックス、および、ビデオタイムスタンプバッファの入力および出力との間の関係を示す。
発明を実施する最良の形態
本発明は、システムターゲットデコーダ（STD）の定義を、オーディオストリームのための入力バッファおよびデコーダとビデオストリームのための入力バッファおよびデコーダとに加えて、タイムスタンプおよびディレクトリ情報のような、非圧縮補助情報の各ストリームのための入力バッファおよびデコーダを含むように拡張する。
このSTDの再定義の結果、本発明に係わる実際のデコーダは、各オーディオストリームおよびビデオストリームのためのそれぞれの入力バッファおよびデコーダに加えて、補助情報の各ストリームのための入力バッファおよびデコーダを含む。最後に、本発明に係わるエンコーダは、本発明に係わる修正されたSTDのパラメータを考慮して、オーディオストリーム、ビデオストリームおよび各補助情報ストリームをマルチプレクスする。
このアプローチは、補助情報ストリームの多くの異なるタイプが、
（ａ）入力バッファおよびデコーダが各補助情報ストリームのためのシステムターゲットデコーダの中で供給され、および、
（ｂ）各補助情報ストリームがSTD中の入力バッファのいずれもがオーバーフローあるいはアンダーフローしないように多重化ビットストリーム中に含まれという条件で、多重化ビットストリーム中に含まれることを可能にする。
ディレクトリ入力バッファおよびディレクトリデコーダが本発明に係わるシステムターゲットデコーダ中で供給される、本発明に係わるエンコード／デコード信号処理システム10の第１実施例が図14に示される。
この中で、エンコーダ１はビデオ信号記録媒体２からビデオ信号S2を受信し、オーディオ信号記録媒体３からオーディオ信号S3を受信する。オーディオ信号S3は、単独のオーディオ記録媒体からの代わりに、ビデオ信号記録媒体２からも選択的に（通常）受信されることができる。
エンコーダ１は、ビデオおよびオーディオ信号を圧縮および符号化し、その結果であるオーディオストリームおよびビデオストリームにマルチプレクスして多重化ビットストリームS1を供給し多重化ビットストリームS1は、記録または分配のために媒体５に供給される。媒体は記録および分配に適切ないかなる媒体であってもよく、例えば、CD−ROM、レーザディスク（LD）、ビデオテープ、磁気−光（MO）記録媒体、ディジタルコンパクトカセット（DCC）、地球又は衛星放送システム、ケーブルシステム、光ファイバ分配システム、電話システム、ISDNシステムなどである。
エンコーダ１は、ビデオ信号をピクチャーごとに圧縮および符号化する。ビデオ信号の各ピクチャーは、３つの圧縮モードで圧縮される。イントラ（intra）ピクチャー圧縮モードで圧縮されたピクチャーは、Ｉピクチャーと呼ばれる。イントラ圧縮モードでは、ピクチャーはビデオ信号の他のピクチャーを参照すること無しにそれ自体で圧縮される。符号間（inter）ピクチャー圧縮モードで圧縮されたピクチャーは、ＰピクチャーあるいはＢピクチャーと呼ばれる。Ｐピクチャーは、参照ピクチャーとしてビデオ信号においてより以前に生じたピクチャーなどの以前のＩピクチャー又はＰピクチャーを使った前方予測符号化（forward prediction coding）を用いて圧縮される。Ｂピクチャーは、双方向予測符号化（bidirectional prediction coding）を用いて圧縮される。Ｂピクチャーの各ブロックは、以下に示すいずれか一つを参照ブロックとして用いてもよい：以前のＩピクチャー又はＰピクチャーのブロック、後のＰピクチャー又はＩピクチャー（例えば、ビデオ信号中の後に生じるピクチャー）のブロック、又は、以前のＩピクチャー又はＰピクチャーのブロックおよび後のＩピクチャー又はＰピクチャーのブロックに線型処理を行うことによって得られるブロックである。一般的に、ビデオストリームの約150Kbits（KB;1Kb＝1024bits）は、Ｉピクチャーのために必要とされ、ビデオストリームの75KbはＰピクチャーのために必要とされ、ビデオストリームの5KbはＢピクチャーのために必要とされる。
ディジタルビデオおよびオーディオ処理システム10はまた、デコード６を含み、このシステムはその入力信号として媒体５からビットストリームS5を受信する。デコーダ６は、エンコーダ１によって行われるマルチプレクスと逆のデマルチプレクスを行う。デコーダは、エンコードによる処理を補足する処理を行い、結果として得られたオーディオストリームおよびビデオストリームをデコードおよび伸張し、復元されたビデオ信号S6Aおよび復元されたオーディオ信号S6Bをそれぞれ供給する。復元されたビデオ信号S6Aおよび復元れたオーディオ信号S6Bは、エンコーダ１に与えられたビデオ信号S2およびオーディオ信号S3と良く一致する。
図14は、エンコーダ１およびデコーダ６によって行われる処理を定義するために用いられるシステムターゲットデコーダ（STD）４をも示す。実際のビデオおよびオーディオ信号処理システムでは、エンコーダは、実際のシステムターゲットデコーダを含まないが、その代わりに、システムターゲットデコーダパラメータを考慮したエンコード処理およびマルチプレクスを行う。また、実際のシステムでは、デコーダはシステムターゲットデコーダを考慮して設計されている。システムターゲットデコーダとエンコーダおよびデコーダとの関係は、図14においてシステムターゲットデコーダ４とエンコーダ１とを内部接続するS4Aが付された破線、および、システムターゲットデコーダ４とデコーダ６とを内部接続するS4Bが付された破線によって示される。
システムターゲットデコーダ４は、参照ビデオデコーダ、参照オーディオデコーダおよびそれらそれぞれの入力バッファを含む。加えて、システムターゲットデコーダは、ディレクトリデコーダおよびディレクトリデコーダのための入力バッファを含む。オーディオ入力バッファのサイズ、ビデオ入力バッファのサイズ、オーディオおよびビデオデコーダの動作は、MPEG標準によって定義される。加えて、本発明は、ディレクトリバッファのサイズおよびディレレクトリデコーダの動作を定義して、それらをMPEG標準によって定義された他のバッファのサイズおよび他のデコーダの動作と一致させる。
前述したように、システムターゲットデコーダの概念は、後述する異なる設計のエンコーダとデコーダとの間の互換性を与える。全てのエンコーダは、システムターゲットデコーダによってうまくデコード可能で、しかもシステムターゲットデコーダの中の各入力バッファをオーバフローあるいはアンダーフローさせないビットストリームを供給するように設計される。加えて、全てのデコーダは、システムターゲットデコーダのパラメータを考慮して設計される。その結果、全てのそのようなデコーダは、システムターゲットデコーダによってデコード可能なビットストリームを生成するように設計された全てのエンコーダによって生成されたビットストリームをうまくデコード可能になる。STD中にディレクトリバッファおよびディレクトリデコーダを含めることにより、本発明は、付加的な見地で、エンコーダおよびデコーダ、すなわちディレクトリ情報の供給およびデコードを、相互に互換させる。
図14に示される想像上のシステムターゲットデコーダ４の構成は、以下のようである。デマルチプレクサ41は、概念的に、エンコーダ１からビットストリームS1を受信する。デマルチプレクサ41は、ビットストリームをビデオストリームS1V,オーディオストリームS1AおよびディレクトリストリームS1Dにデマルチプレクスする。ビデオストリームは、ビデオ入力バッファ42に与えられ、その出力はビデオデコーダ45に接続されている。デマルチプレクサ41からのオーディオストリームは、オーディオ入力バッファ43に与えられ、その出力はオーディオデコーダ46に接続されている。デマルチプレクサ41からのディレクトリストリームはディレクトリ入力バッファ44に与えられ、その出力がディレクトリデコーダ47に接続されている。
図14に示す例では、ビデオ入力バッファ42およびオーディオ入力バッファ43は、それぞれMPEG標準によって定義される記録容量、すなわち、MPEG−１標準における46Kバイトおよび4Kバイトを持つ。本発明に係わるディレクトリ入力バッファ44は、1Kビットの記録容量を持ち、その結果、10個のディレクトリエントリを持つことになる。この容量は、現在使われているディレクトリバッファの容量と同じか、それより大きい。これらの容量は、大きな記録を含むことができないプロセッサを用いて実際のデコーダ６を供給することで課せられる実際の制約を考慮して決められる。
ビデオデコーダ45は、ビデオ入力バッファ42から、一度に１つのビデオアクセスユニットで、すなわち、ビデオ信号のピクチャーレートに相当するタイミングに１つのピクチャーで、例えばNTSCシステムでは1/29.94秒毎に１度で、ビデオストリームを取り出す。各ピクチャーのためのビデオ入力バッファから取り出されたビデオストリームの量は、各ピクチャーに適用される圧縮量の相違によって異なる。
オーディオデコーダ46は、オーディオストリームを、オーディオ入力バッファ43から、予め決められたタイミングに一つのオーディオアクセスユニットで取り出す。
ディレクトリデコーダ47は、ディレクトリストリームを、ディレクトリ入力バッファから、要求されたタイミング毎に１つのディレクトリエントリで取り出す。例えば、前述した早送りモード（fast−forward mode）では、各GOP（ピクチャーのグループ）の開始のアクセスポイントが読み取られた後に、ディレクトリデコーダは、ディレクトリ入力バッファから、次のGOPの開始のアクセスポイントの位置を指示するディレクトリエントリのディレクトリストリームを取り出す。
本発明に係わるエンコーダ１の実施例の構成が図15に示される。エンコーダは、オーディオ信号およびビデオ信号から媒体５に与える多重化ビットストリームを生成する。エンコーダは、多重化ビットストリーム中にディレクトリ情報も含めて、プログラム選択の配置を可能にし、ピクチャーを早送り、および巻き戻し処理において表示可能にする。多重化ビットストリームでは、ディレクトリ情報の各ディレクトリパケットは、ディレクトリパケット中のディレクトリエントリが所属するビデオストリームを含むビデオパケットの前方に配置されなければならない。しかしながら、ディレクトリパケット中のディレクトリエントリは、ディレクトリパケットに続くビデオストリームから生成される。それ故、ディレクトリエントリは、ビデオ信号が多重化ビットストリーム中にエンコードおよびマルチプレクスされた後に、ディレクトリパケットに付加されるべきである。エンコーダ１は、もし媒体５が時折、ディレクトリエントリをディレクトリパケット中へ書込むことに戻ることができるようなランダムアクセス能力（ハードディスクのような）を持っていればこれを１回のパスのみで行うことができる。もし媒体５がランダムアクセス能力を持っていなければ、あるいは、媒体５が伝送媒体であれば、エンコーダは、２つのパスでディレクトリエントリを含む多重化ビットストリームを供給する。一例として、エンコーダの実施例は、配信媒体（ビデオテープまたはビデオディスクのような）が生産されるマスタテープに記録するために２つのパスで多重化ビットストリームを供給すると記述できる。エンコーダ１では、ディジタルビデオ信号S2がビデオエンコーダ201に与えられ、ディジタルオーディオ信号S3がオーディオエンコーダ202に与えられる。ビデオエンコーダ201およびオーディオエンコーダ202からのビデオストリームおよびオーディオストリームは、それぞれ、内部のバッファリング（図示されない）後に、マルチプレクス回路203中に与えられる。マルチプレクス回路203の出力は、ディジタル記録媒体（DSM）210に接続されており、ここで、結果の予備的な多重化ビットストリームが一時的に記録される。
マルチプレクサ203は、予備多重化ビットストリームを、要素ストリーム、すなわち、ビデオストリーム、オーディオストリームおよびダミーディレクトリエントリのディレクトリストリームをパケット中に、および、パケットをパック中に時間マルチプレクスすることによって組み立てる。また、マルチプレクサは、マルチプレクス層、すなわち、各パケットのためのパケットヘッダ、および各パックのためのパックヘッダを付加する。マルチプレクサ203は、ヘッダジェネレータ204からヘッダを受信し、ダミーディレクトリエントリジェネレータ205からダミーディレクトリエントリを受信する。
また、マルチプレクサ203は、予備多重化ビットストリームをディレクトリエントリジェネレータ231に与え、それは、予備多重化ビットストリームのビットインデックスをカウントし、各GOPの開始のアクセスポイントを検出し、各アクセスポイントのためのディレクトリエントリを生成する。ディレクトリエントリジェネレータは、ディレクトリエントリをディレクトリストリーム中に組み合わせ、これを記録のためにディレクトリ記録媒体233に供給する。
ディレクトリエントリカウンタ235は、システムターゲットデコーダ４中のディレクトリ入力バッファ46の状態を追跡する。ディレクトリエントリカウンタは、マルチプレクサ203に与えれるダミーディレクトリエントリ205の出力をモニタする。マルチプレクサ203中に与えられた各ダミーディレクトリエントリは、ディレクトリエントリカウンタを１つずつ増加させる。ディレクトリエントリカウンタ235はまた、ディレクトリストリーム記録媒体233に与えられたディレクトリエントリジェネレータ231の出力をモニタする。各ディレクトリエントリは、ディレクトリエントリカウンタのカウントを１つずつ減少させる。
予め設定された制限が、システムターゲットデコーダ４中のディレクトリ入力バッファ46のサイズに従ってディレクトリエントリカウンタ235に適用される。ディレクトリエントリカウンタのカウントが予め設定されたレベルに達したとき、ディレクトリ入力バッファが一杯であることを示し、ディレクトリエントリカウンタは、ダミーディレクトリエントリジェネレータ205にバッファフル割り込みを与える。このバッファフル割り込みは、ディレクトリジェネレータがマルチプレクサ203にダミーディレクトリエントリを与えることを止めさせる。ディレクトリバッファが1Kビットの容量を持つとき、予め設定された制限は10個のダミーディレクトリエントリに対応する。ディレクトリエントリカウント235のカウントがディレクトリ入力バッファ46が空であることを示すとき、ディレクトリエントリカウンタはマルチプレクサ203にバッファエンプティ割り込み与え、これによって、マルチプレクサに他のダミーディレクトリパッケットを予備多重化ビットストリームにマルチプレクスさせる。
エンコード処理の第２ステップの間では、ディレクトリエントリが予備多重化ビットストリームの中のダミーディレクトリエントリに書き込まれて多重化ビットストリームを供給し、ディジタル記録媒体210は予備多重化ビットストリームを与え、ディレクトリ記録媒体233はディレクトリストリームをディレクトリストリーム挿入回路250に与える。ディレクトリストリーム制御回路256は、ディジタル記録媒体210から読み出された予備ビットストリームを監視し、その中にディレクトリストリームが挿入されるべきディレクトリパケットの予備ビットストリーム中の位置を決定する。それが各ディレクトリパケットヘッダを検出したとき、ディレクトリストリーム制御回路はディレクトリストリーム書込制御信号をディレクトリストリーム書込回路およびディレクトリストリーム記録媒体に与える。ディレクトリストリームカウンタ258は、ディレクトリパケット中に書き込まれるディレクトリエントリの数を決定し、ディレクトリパケットが満杯（フル）になったときに、ディレクトリストリーム制御回路に、ディレクトリストリーム書込制御信号の状態を変化させる。
ビデオエンコーダ201、オーディオエンコーダ202、マルチプレクサ203、ディレクトリエントリカウンタ235およびディレクトリストリームカウンタ258は、概念的にシステムターゲットデコーダ４によってデコードされたときに、システムターゲットデコーダの中の入力バッファ42,43および44のいずれもをオーバーフローおよびアンダーフローさせない予備多重化ビットストリームを提供するように全て設計される。この関係は、破線S4Aによって示される。
エンコーダ１は、次のように動作する。記録の開始時に、マルチプレクサ203は、ヘッダジェネレータ204に向かって記録の開始のための全てのヘッダを受信し、これらのヘッダをDSM210に与える。そして、マルチプレクサは、ヘッダジェネレータから記録において、最初のパケットのためのパッケットヘッダが続いている最初のパックのためのパックヘッダを受信する。記録の最初のパケットがディレクトリパケットであることから、最初のパケットはディレクトリパケットである。
そして、マルチプレクサ203は、ダミーディレクトリエントリジェネレータ205に対してダミーディレクトリエントリジェネレータからDSM210にダミーディレクトリエントリを与える。マルチプレクサに与えられた各ダミーディレクトリエントリは、ディレクトリエントリカウンタ235を１つずつ増加させる。ディレクトリエントリカウンタのカウントが、システムターゲットデコーダ４の中のディレクトリ入力バッファ46の中に収容可能なディレクトリエントリの数に相当する予め設定された限度に達したとき、ディレクトリエントリカウンタは、バッファフル割り込みを、ダミーディレクトリエントリジェネレータ205に与え、これによって、ダミーディレクトリエントリジェネレータがディレクトリエントリをマルチプレクサ中に与えるのを中止する。
ディレクトリパケットを、ダミーディレクトリエントリで満たされたディレクトリパケットをDSM210に与えた後に、マルチプレクサ203は、ヘッダジェネレータ204に向きを戻して第１ビデオパケットのパケットヘッダを受信し、それをDSM210に与える。そして、システムターゲットデコーダ４の中のビデオ入力バッファ42およびオーディオ入力バッファ43の各状態を考慮して、マルチプレクサは、さらにまた、ビデオストリームおよびオーディオストリームを共にマルチプレクスし、DSM210に与えるビデオパケットおよびオーディオパケット供給する。
この処理の中で、ディレクトリエントリジェネレータ231は、マルチプレクサ203からDSM210に与えられた予備的多重化ビットストリームをモニタし、ビットストリーム中の各アクセスポイントを検出する。アクセスポイントは、ビットストリーム中の他のアクセスニットをデコーダすることを必要とすることなく、それ自体でデコードされることが可能なアクセスユニットである。例えば、ビデオアクセスポイントは、イントラ符号化を全体的にあるいは部分的に用いて圧縮されたピクチャーである。オーディオアクセスポイントは、任意のオーディオアクセスユニットである。MPEGビットストリームでは、アクセスポイントは各GOPの始めに存在する。また、ディレクトリエントリジェネレータ231は、予備的多重化ビットストリームのビットインデックスをカウントする。予備的多重化ビットストリーム中のアクセスポイントを検出する度に、ディレクトリエントリジェネレータは、アクセスポイントのビットインデックスを、例えば、本実施例ではビデオカセットなどの最終的記録媒体上の相対アドレスに変換する。ディレクトリエントリジェネレータは、さらにまた、そのアクセスポイントのためのディレクトリエントリを作成し、それをディレクトリストリームのユニットとして、ディレクトリエントリ記録媒体233へ記録のために与える。
ディレクトリエントリカウンタ235は、ディレクトリエントリジェネレータ231によって生成され、ディレクトリエントリ記録媒体233に与えられた各ディレクトリエントリに対してカウントを減少し、ディレクトリカウンタの状態が、システムターゲットデコーダ４のディレクトリ入力バッファ44が空であることを示すとき、ディレクトリエントリカウンタ235はバッファエンプティ割り込みをマルチプレクサ203に供給する。
バッファエンプティ割り込みは、マルチプレクサ203に対して、そのマルチプレクサが、そのディレクトリエントリが先行するディレクトリパケット（本実施例では、パックの始めにあるディレクトリパケット）中に記録されるアクセスポイントの全てを受信したこと、及び、それがビデオストリーム中の次のアクセスポイントの前に予備的多重化ビットストリーム中に他のディレクトリパケットを含めなければならないことを示す。従って、バッファエンプティ割り込みに応じて、マルチプレクサ203は、現行のビデオパケットおよびそれに続くオーディオパケットがあれば、それらを完成する。この後に、マルチプレクサはヘッダジェネレータ204に向かってディレクトリヘッダを受信し、それをDSM210に与える。マルチプレクサは、さらにまた、ダミーディレクトリエントリジェネレータ205に向かい、ディレクトリエントリカウンタ235からバッファフル割り込みを受信するまで、DSM210にダミーディレクトリエントリジェネレータからのダミーディレクトリエントリを与える。マルチプレクサは、さらにまた、別のバッファエンプティ割り込みが、他のディレクトリエントリパケットが挿入されるべき旨を示すまで、さらなるビデオストリームおよびオーディオストリームのマルチプレクスを進める。その結果であるSM210に記録された予備的多重化ビットストリームが図16Aに示される。
全ての記録のための予備的多重化ビットストリームおよびディレクトリエントリは、それぞれディジタル記録媒体210およびディレクトリ記録媒体233に記録され、エンコーディング処理の第２のパスが実行され、予備的多重化ビットストリーム中のディレクトリパケット中のダミーディレクトリエントリが、ディレクトストリームからのディレクトリエントリで置換され、多重化ビットストリームを供給する。予備的多重化ビットストリームは、最初から、DSM210から再生成され、ディレクトリストリーム挿入回路250中に与えられる。ディレクトリストリーム制御回路256は、ディレクトリヘッダのための予備的多重化ビットストリームをモニタする。
ディレクトリストリーム制御回路がディレクトリヘッダを検出する度に、ディレクトリエントリ挿入信号をディレクトリヘントリ記録媒体233およびディレクトリストリーム挿入回路250に送り、ディレクトリストリームカウンタ258を前述した予め調節された値に初期化する。ディレクトリエントリ挿入信号に応じて、ディレクトリエントリ記録媒体233はディレクトリストリームをディレクトリストリーム挿入回路250に与える。ディレクトリストリーム挿入回路は、ディレクトリストリーム中の各ディレクトリエントリを、予備的多重化ビットストリーム中のディレクトリヘッダに続くディレクトリパケット中に置く。ディレクトリストリーム挿入回路は、予備的多重化ビットストリーム中のダミーディレクトリエントリを、ディレクトリエントリでオーバライトする。ディレクトリストリーム挿入回路は、その結果として得られた多重化ビットストリームを媒体５（図14）に与える。
ディレクトリストリームカウンタ258は、ディレクトリストリーム挿入回路250に与えられたディレクトリストリーム中のディレクトリエントリをモニタする。ディレクトリストリーム挿入回路に与えられた各ディレクトリエントリは、ディレクトリストリームカウンタを１つずつ減少する。ディレクトリストリームカウンタがゼロに達したとき、ディレクトリストリームカウンタは、パケットフル信号を、ディレクトリストリーム挿入制御回路256に与える。この信号に応じて、ディレクトリストリーム挿入制御回路は、ディレクトリエントリ挿入信号の状態を変化させる。これは、ディレクトリエントリ記録媒体233がディレクトリストリームをディレクトリストリーム挿入回路250に送ることを止めさせ、また、ディレクトリストリーム挿入回路が、ディレクトリストリーム制御回路が再び予備的多重化ビットストリーム中のディレクトリパケットヘッダを検出するまで、予備的多重化ビットストリームを多重化ビットストリームとして変更せずに与えるようにする。媒体５（図14）に与えられた、結果として得られた多重化ビットストリームが図16Bに示される。
同じ基本回路配列は、選択的に、順送り（forward）モードに加えて、巻き戻し（rewind）モードでピクチャーを供給するために使用される。もし、同じサイズのディレクトリ入力バッファ44がシステムターゲットデコーダ４中に用いられたとしたら、システムターゲットデコーダ４中のディレクトリ入力バッファの状態に応じたディレクトリパケットのマルチプレクスの制御の結果、ピクチャーが順送り中にのみ供給されるときよりも、予備的多重化ビットストリーム中に挿入されるディレクトリパケットの数が約２倍になる。これは、各ディレクトリパケットが、ディレクトリパケット（早送りモード用）に続くn/2アクセスポイントのためおよびディレクトリパケット（巻き戻しモード用）の前のn/2アクセスポイントのためのディレクトリエントリを保持すべきだからである。ここで、ｎはシステムターゲットデコーダ４中のディレクトリ入力バッファ44中に記録可能なディレクトリエントリの数である。
図17は、デコーダ６の構成を示す。デコーダ６は、システムターゲットデコーダ４（図14）のパラメータを考慮して設計され、エンコーダ１によって生成された図16Bに示される多重化ビットストリームをデコードする。その結果、デコーダ６は、システムターゲットデコーダ４のそれと非常に似た構成を有する。
デコーダ６は、デマルチプレクサ61を含み、媒体５からの多重化ビットストリームS5を受信する。デマルチプレクサは、多重化ビットストリームをビデオストリームS5V,オーディオストリームS5A及びディレクトリストリームS5Dにデマルチプレクスする。付随的に、以下に詳細に記述されるように、マルチプレクサはまた、多重化ビットストリームから、ビデオタイムスタンプおよびオーディオタイムスタンプ（図示せず）をデマルチプレクスする。
デマルチプレクサ61の出力からのビデオストリームS5Vは、ビデオデコーダ65に先行するビデオ入力バッファ62中に与えられる。デマルチプレクサからのオーディオストリームS5Aは、オーディオデコーダ66に先行して、オーディオ入力バッファ中に与えられる。デマルチプレクサからのディレクトリストリームS5Dは、ディレクトリデコーダ67に先行して、ディレクトリ入力バッファ64中に与えられる。
ビデオデコーダ65は、デコーディングのためにビデオ入力バッファ62からのビデオストリームの各アクセスユニット、換言すればピクチャーを、アクセスユニットがビデオ入力バッファによって受信された順番に取り出す。オーディオデコーダ66は、デコーディングのためにオーディオ入力バッファ63からのオーディオストリームの各アクセスユニットを、アクセスユニットがオーディオ入力バッファによって受信された順番に取り出す。ディレクトリデコーダ67は、ディレクトリ入力バッファ64からのディレクトリストリームの各ディレクトリエントリを、ディレクトリエントリがディレクトリ入力バッファによって受信された順番に取り出す。
入力バッファ62、63および64は、次に詳細に記述される。完全に一致するクロックを用いて多重化ビットストリーム中にマルチプレクスされた基本ストリームをデコードするのは不可能である。この第１の理由は、前述したように、圧縮率が一定して変化するためである。この第２の理由は、媒体５からの基本ストリームの平均転送レートが、サンプリングレートクロック中のエラーによって、デコーダ65、66および67のそれぞれに対しての基本ストリームの平均入力レートと異なるためである。さらに、基本ストリームは、間欠的にデマルチプレクサ61を介して媒体５から転送され、デコーダは、それら各基本ストリームのアクセスユニットを間欠的に要求する。その結果、媒体５からの基本ストリームの瞬間の転送レートおよびそれら各デコーダ中への基本ストリームの瞬間入力レートは一致しない。それゆえ、入力バッファ62,63および64は、デマルチプレクサ61と各デコーダ65,66および67との間に供給され、平均転送レートと平均入力レート、および、瞬間転送レートと瞬間入力レートにおける差分を調節する。
図18は、その上部に、媒体５からビデオ入力バッファ62中へのマルチプレクス信号中のビデオストリームS5Vの転送の時間依存を示すビットインデックスカーブを示す。デマルチプレクサ61が先ずディレクトリストリームをディレクトリバッファ64中に与えるため、ビデオストリームは、先ず、ビデオ入力バッファ中に与えられない。そして、多重化ビットストリーム中の第１のビデオパケットヘッダに続いて、デマルチプレクサは、続くビデオパケット中のビデオストリームを、多重化ビットストリーム中の次のディレクトリパケットヘッダに遭遇するまで、実質的に一定のビットレートで、ビデオ入力バッファ62中へ転送する。ディレクトリパケットヘッダに応じて、デマルチプレクサは、ディレクトリパケット中のディレクトリストリームをディレクトリ入力バッファ64中に与えている間、ビデオストリームをビデオ入力バッファ中に与えるのを中断する。この中断の間、ビデオストリームのビットインデックスは不変のままである。ディレクトリパケットの最後において、最初に続くビデオパケットのパケットヘッダに応じて、デマルチプレクサは、多重化ビットストリーム中の他のディレクトリパケットに遭遇するまで、ビデオパケット中に含まれるビデオストリームをビデオ入力バッファ中に転送することを再度開始する。この過程は、デコーディング処理の間ずっと繰り返される。ビデオ入力バッファの出力におけるビットインデックスは、図5Dに示されるそれと同じである。
ビデオ入力バッファ62中へのビデオストリームの転送はまた、図4Cに示されるように、マルチプレクサが多重化ビットストリーム中のオーディオパケットヘッダに出くわし、続くオーディオパケット中のオーディオストリームをオーディオ入力バッファ63中へ転送するときに、中断される。これらの中断は、ディレクトリストリームを転送することの中断より頻繁に発生するが、それらは図18からは省略され、記述を簡略化している。
図18は、その下部において、媒体５からのマルチプレクス信号中のディレクトリストリームS5Dの、ディレクトリ入力バッファ64中への転送の時間依存のビットインデックスカーブを示す。デマルチプレクサ61は、多重化ビットストリームの始まりのディレクトリパケットヘッダを検出し、続くディレクトリパケット中に含まれるディレクトリアクセスユニットを媒体５からディレクトリ入力バッファ64中に転送する。第１のディレクトリパケットに続いて、デマルチプレクサは、続くビデオパケット中のビデオストリームをビデオ入力バッファ62中におよび続くオーディオパケット中のオーディオストリームをオーディオ入力バッファ63中に与える間、ディレクトリストリームをディレクトリ入力バッファ中へ転送するのをやめる。そして、デマルチプレクサ61は、多重化ビットストリーム中の次のディレクトリパケットヘッダに出くわし、ディレクトリパケットヘッダに続くディレクトリパケット中のディレクトリストリームをディレクトリ入力バッファ中へ与える。この過程は、デコーディング処理中にわたって繰り返される。
図18の下部は、ディレクトリ入力バッファ64の出力のビットインデックスをも示す。ディレクトリ入力バッファ中へのディレクトリストリームの初期の転送は、多重化ビットストリームの初めにおいて、ディレクトリ入力バッファを容量まで満たしてしまう。そして、ビデオストリームが受信されると、ディレクトリデコーダ67は、ディレクトリ入力バッファが空になるまで、ディレクトリ入力バッファからディレクトリエントリを１つずつ取り出す。しかしながら、多重化ビットストリームが、ディレクトリ入力バッファおよびディレクトリデコーダの処理を考慮して構築されたため、他のディレクトリパケットが多重化ビットストリーム中で次のアクセスポイントの前に現れる。その結果、次のディレクトリパケット中のディレクトリストリームが、
（ａ）ディレクトリ入力バッファが空のときに、これによって、ディレクトリストリームをディレクトリ入力バッファ中に転送することでディレクトリバッファをオーバーフローさせることがない、および、
（ｂ）ディレクトリデコーダが他のディレクトリエントリがディレクトリ入力バッファから取り出すことを試みる前に、これによって、ディレクトリエントリを取り除くことがディレクトリ入力バッファをアンダーフローさせることがない、ディレクトリ入力バッファに転送される。
図19は、図18に示されるビットインデックスが、エンコーダ１（図14）によって生成される多重化ビットストリームとどの様に関係しているかを示す。図19では、ビットストリーム中のディレクトリパケットがディレクトリストリームのディレクトリ入力バッファ64中への転送に実線によってリンクされ、多重化ビットストリームのビデオストリーム中のイベントがビデオ入力バッファ62中へのビデオストリームの転送に曲がった点線によってリンクされる。また各GOPの初めにおけるアクセスポイントのビデオ入力バッファ62への転送は、ビデオ入力バッファ62のビットインデックス曲線とディレクトリ入力バッファ64のビットインデックス曲線とに交差する直線破線によってディレクトリ入力バッファからのアクセスポイントのためのディレクトリエントリの取り出しがリンクされる。
図20は、本発明に係わる改造されたシステムターゲットデコーダを用いて多重化ビットストリームのマルチプレクスを制御した結果である多重化ビットストリーム中のディレクトリパケットの合理的なサイズおよび配置のビデオテープレコーダの早送り処理における有利な効果を示す。多重化ビットストリーム中のディレクトリパケットの結果として得られたサイズは、各ディレクトリパケットが、システムターゲットデコーダのディレクトリ入力バッファ44中に、それゆえにデコーダ６のディレクトリ入力バッファ64中に収容可能なディレクトリエントリの数だけ含むことを保証する。多重化ビットストリーム中のディレクトリパケットの結果のサイズは、各ディレクトリパケット中に含まれるディレクトリエントリが、ディレクトリパケットに続くおよび次のディレクトリパケットの前のビデオパケット中のビデオストリーム中のアクセスポイントにのみ属することを保証する。その結果、図20は、ビデオテープレコーダがディレクトリパケットの内容の読み出しに何度も戻る必要がない点で、図12A〜12Eと相違する。
図20に示される早送り処理の間、ビデオテープレコーダは、第１に、多重化ビットストリームの初めのディレクトリパケットを読み出し、そのディレクトリストリームをディレクトリ入力バッファ64に転送する。ディレクトリストリームは、ディレクトリ入力バッファを容量まで満たす。ディレクトリデコーダ67は、次に、ディレクトリ入力バッファから第１のディレクトリエントリを取り出し、ビデオテープレコーダに第１のディレクトリエントリで示されるアドレスにスキップすることを命令する。そのアドレスで、ビデオテープレコーダは、０番目のGOPの始めのアドレスに位置するアクセスポイントでピクチャーのビデオストリームを再生する。ピクチャーのビデオストリームは、それから、表示のためにデコードされる。
ディレクトリデコーダは、次に、ディレクトリ入力バッファから第２のディレクトリエントリを取り出し、ビデオテープレコーダに第２のディレクトリエントリによって示されるアドレスにスキップすることを命令する。そのアドレスで、ビデオテープレコーダは、１番目のGOPの始めのアドレスに位置するアクセスポイントでピクチャーのビデオストリームを再生する。ピクチャーのビデオストリームは、それから、表示のためにデコードされる。
ここで記述した処理は、ディレクトリデコーダがディレクトリバッファから10番目のディレクトリエントリを取り出し、９番目のGOPの始めのアクセスポイントのピクチャーが再生および表示されるまで、繰り返される。ディレクトリバッファ64は現在、空であり、もしディレクトリデコーダ67が他のディレクトリエントリを取り出そうとしたならば、ディレクトリ入力バッファをアンダーフローさせるだろう。しかしながら、次のディレクトリパケットが次のアクセスポイントの前に置かれる。ビデオテープレコーダは、ディレクトリパケットからディレクトリストリームを再生し、それをディレクトリ入力バッファに転送する、このディレクトリ入力バッファは空であれば、ディレクトリパケット中のディレクトリストリーム全体を格納可能である。ディレクトリデコーダは、それから、ディレクトリ入力バッファから第１のディレクトリエントリを取り出し、ビデオテープレコーダに第１のディレクトリエントリによって示されるアドレスにスキップすることを命令する。そのアドレスで、ビデオテープレコーダは、10番目のGOPの始めのアドレスに位置するアクセスポイントでピクチャーのビデオストリームを再生する。ピクチャーのビデオストリームは、それから、表示のためにデコードされる。この処理は、早送り処理が止まるまで繰り返す。
本発明に係わる変形態様のエンコーダ１は、早送り処理を行う期間において、デコーダ６がエンプティディレクトリ入力バッファからディレクトリエントリを取り除くことを試みなければならない（これは、ディレクトリ入力バッファのアンダーフローに帰着する），または、ディレクトリ入力バッファが空（エンプティ）でないときに、ディレクトリ入力バッファをディレクトリストリームで満たすことを試みなければならない（これは、ディレクトリ入力バッファのオーバーフロに帰着する）時間がないように本発明に係わるシステムターゲットデコーダ４を用いて多重化ビットストリームにおけるディレクトリパケットの大きさを決め、配置する。
図21は本発明に係わるデジタルビデオ・オーディオ信号処理システム10Aの第２実施例を示しており、このシステムにおいては、タイムスタンプバッファとタイムスタンプデコーダが、本発明に係わる変形したシステムターゲットデコーダ4Aに、オーディオタイムスタンプとビデオタイムスタンプの各々に対して設けられている。
本発明に係わる変形したシステムターゲットデコーダ4Aを用いることにより、エンコーダ1Aは、システムビデオストリームのバッファリング遅延、および、その他のエンコーダパラメータを最適化することができ、その結果、１パスシステムにおいてデコードバッファリング遅延を実用的な程度に低く維持する一方で、要求されたビデオビットレートで可能な限り最高の画質を満足するビットストリームを発生する。
図21に示されるシステムにおいて、エンコーダ1Aはビデオ信号S2をビデオ信号記録媒体２から受け取り、オーディオ信号S3をオーディオ信号記録媒体３から受け取る。オーディオ信号S3は、一方で（そして、より一般的には）、独立したオーディオ記録媒体からの代わりにビデオ信号記録媒体２からも受け取られる。
エンコーダ1Aはビデオおよびオーディオ信号を圧縮し符号化し、その結果のオーディオストリームとビデオストリームをマルチプレクスし、多重化ビットストリームS1Aを提供し、それは記録または配信のために媒体５に供給される。その媒体はデジタルビットストリームを蓄積または配信するために適した任意の媒体でよく、たとえば、CD−ROM、レーザーディスク（LD）、ビデオテープ、光磁気（MO）記録媒体、ディジタルコンパクトカセット（DCC）、地上または衛星放送システム、ケーブルシステム、光ファイバ配信システム、電話システム、ISDNシステムなどでよい。
エンコーダ1Aはビデオ信号をピクチャーごとに圧縮し符号化する。ビデオ信号の各ピクチャーは前述したＩピクチャー、ＰピクチャーまたはＢピクチャーとして圧縮される。
デジタルビデオおよびオーディオ処理システム10Aはデコーダ6Aも含み、そのデコーダ6Aはその入力信号としてビットストリームS5Aを媒体５から受け取る。デコーダ6Aはエンコーダ1Aにより実行されたマルチプレクスの逆のデマルチプレクスを実行する。そのデコーダは、エンコーダ1Aにより実行された処理と補完的な処理を実行し、その結果のオーディオストリームとビデオストリームを復号し、復元されたビデオ信号S6Aと復元されたオーディオ信号S6Bを供給する。復元されたビデオ信号S6Aと復元されたオーディオ信号S6Bは各々エンコーダ1Aに供給されたビデオ信号S2とオーディオ信号S3と非常によく一致する。
図21はまたエンコーダ1Aとデコーダ6Aの処理の特性を定義されていたシステムターゲットデコーダ（STD）4Aを示す。実際のビデオおよびオーディオ信号処理システムにおいては、エンコーダは実際のシステムターゲットデコーダを含まないが、しかしその代わりに、エンコード処理とマルチプレクスを、システムターゲットデコーダのパラメータを考慮にいれて実行する。実用的なデコーダもまた、ハードウエアコストなどを最小化するためにシステムターゲットデコーダのパラメータを考慮にいれ設計される。これらのシステムターゲットデコーダとエンコーダとデコーダの間の関係は、図21に、システムターゲットデコーダ4Aとエンコーダ1Aを相互接続するS4Aと付された破線と、システムターゲットデコーダ4Aとデコーダ6Aとを相互接続するS4Bと付された破線によって示される。
システムターゲットデコーダ４はリファレンスビデオデコーダ45、リファレンスオーディオデコーダ46、および、それら各々の入力バッファ42,43を含む。加えて、システムターゲットデコーダは、ビデオタイムスタンプ処理モジユール55、オーディオタイムスタンプ処理モジュール56、および、それら各々の入力バッファ52,53を含む。オーディオ入力バッファのサイズ、ビデオ入力バッファのサイズ、および、オーディオおよびビデオデコーダの処理は前述したMPEG標準により定義される。加えて、本発明はビデオタイムスタンプバッファおよびオーディオタイムスタンプバッファのサイズと、タイムスタンプの符号化周波数を定義する。タイムスタンプバッファのサイズおよびタイムスタンプ符号化周波数は、その他の入力バッファの利用を最適化するように定義される。
前述したように、本発明に係わる変形したシステムターゲットデコーダの概念は、ただオーディオおよびビデオストリームに関してだけでなく、オーディオおよびビデオタイムスタンプバッファリングに関してもまた、異なる設計のエンコーダとデコーダとの間で互換性を提供することにある。特に、本発明に係わる変形したシステムターゲットデコーダは、バッファリング遅延の最大値を課す必要性なしに、この互換性を提供する。これは、MPEG標準の範囲が低ビットレートのビデオスライドショーなどの用途を包含するように拡大されることを可能にする。
図21中に示されている仮想のシステムターゲットデコーダ4Aの構造は次の通りである。デマルチプレクサ41Aは概念上エンコーダ1AからのビットストリームS1Aを受け取る。そのデマルチプレクサ41Aはそのビットストリームを、ビデオストリームS1V、オーディオストリームS1A、ビデオタイムスタンプVTS、および、オーディオタイムスタンプATSにデマルチプレクスする。ビデオストリームS1Vはビデオ入力バッファ42に供給され、そのビデオ入力バッファ42の出力はビデオデコーダ45に接続されている。デマルチプレクサ41Aからのオーディオストリームはオーディオ入力バッファ43に供給され、そのオーディオ入力バッファ43の出力はオーディオデコーダ46に接続されている。デマルチプレクサ41Aからのビデオタイムスタンプはビデオタイムスタンプバッファ52に供給され、そのビデオタイムスタンプバッファ52の出力はビデオタイムスタンプ処理モジュール55に接続されている。そのビデオタイムスタンプ処理モジュールは、ビデオデコーダ45によるビデオストリームのデコードのタイミングを制御する。デマルチプレクサ41Aからのオーディオタイムスタンプはオーディオタイムスタンプ入力バッファ53に供給され、そのオーディオタイムスタンプ入力バッファ53の出力はオーディオタイムスタンプ処理モジュール56に接続されている。オーディオタイムスタンプ処理モジュールはオーディオデコーダ46によるオーディオストリームのデコードのタイミングを制御する。
図21に示した例においては、ビデオ入力バッファ42とオーディオ入力バッファ43はMPEG標準により定義された、つまり、MPEG1標準であれば46Kバイトおよび4Kバイトの、それぞれの記録容量を持っている。これらの容量は、コストの制約のために大容量の記録領域が持てないプロセッサを使用してデコーダ6Aを提供することにより課せられる実際の制限を考慮してセットされる。
ビデオデコーダ45はビデオストリームをビデオ入力バッファ42から、一度に１ビデオアクセスユニット、換言すれば一度に１ピクチャーを、ビデオタイムスタンプおよびビデオ信号のピクチャーレートに対応するタイミング、たとえばNTSCシステムであれば1/29.94秒ごとに１回のタイミングで取り出す。各ピクチャーに対してビデオ入力バッファから取り出されるビデオストリームの量は、それぞれのピクチャーに適用された圧縮量の差異のために変化する。
オーディオデコーダ46は、オーディオストリームを、オーディオ入力バッファ43から、一度に１オーディオアクセスユニット、オーディオタイムスタンプおよび予め決定されたタイミングに対応するタイミングで取り出す。
エンコーダ1Aの構造は図22Aに示されている。ビデオ信号S2のアクセスユニットはビデオエンコーダ201Aの入力に供給され、ビデオエンコーダ201Aはビデオ信号の各アクセスユニット、換言すれば各ピクチャーを圧縮する。その結果のビデオストリームのアクセスユニットはビデオエンコーダの出力からビデオ出力バッファ300の入力に供給され、そこでそれらは一時的に記憶される。ビデオ出力バッファの出力からのビデオストリームはマルチプレクサ203Aに供給される。ビデオ出力バッファからビデオエンコーダへのフィードバックは、ビデオエンコーダの出力がビデオ出力バッファをオーバフローさせるのを防ぐ。
オーディオ信号S3はオーディオエンコーダ202Aの入力に供給され、オーディオエンコーダ202Aはそれを圧縮する。その結果のオーディオアクセスユニットはオーディオエンコーダの出力からオーディオ出力バッファ302の入力へ供給され、そこでそれらは一時的に記憶される。オーディオ出力バッファの出力からのオーディオストリームはマルチプレクサ203Aに供給される。オーディオ出力バッファからオーディオエンコーダへのフィードバックは、オーディオエンコーダの出力がオーディオ出力バッファをオーバフローさせるのを防ぐ。
エンコーダ1Aはまたクロック信号発生回路305を包含する。MPEG1システムにおいては、クロック信号発生回路の周波数は60kHz、MPEG2システムにおいてはその周波数は27MHzである。クロック信号発生回路の出力はクロックカウンタ307に供給され、クロックカウンタ307の出力はクロックリファレンス信号を提供する。クロックリファレンス信号はクロック信号の各サイクルに１づつ増加される値を持つ。クロックリファレンス信号はヘッダ発生回路204に接続される。MPEG2標準においては、クロックカウンタ307もMPEG2クロック信号を300に分割し、90kHzのレートで１づつ増加される値を持つタイムスタンプクロックリファレンス信号を供給する。クロックカウンタは、タイムスタンプクロックリファレンス信号をビデオデコードタイムスタンプ発生回路309、ビデオプレゼンテーションタイムスタンプ発生回路311、および、オーディオプレゼンテーションタイムスタンプ発生回路313に供給する。MPEG1においては、クロックカウンタ307は、クロックリファレンス信号をビデオデコードタイムスタンプ発生回路309、ビデオプレゼンテーションタイムスタップ発生回路311、および、オーディオプレゼンテーションタイムスタンプ発生回路313に、タイムスタンプクロックリファレンス信号として供給する。
ビデオ入力信号S2は、ビデオプレゼンテーションタイムスタンプ発生回路311の入力にも供給される。ビデオプレゼンテーションタイムスタンプ発生回路は、ビデオ入力信号およびタイムスタンプクロックレファレンス信号の各ピクチャーに応答して、プレセンテーションタイムスタンプ（PTS）を発生する。プレンゼンテーションタイムスタンプは、タイムスタンプ並べ替えバッファ304を経てビデオタイムスタンプバッファ301に供給される。各ビデオプレゼンテーションタイムスタンプは、ビデオエンコーダがビデオ入力信号のピクチャーの開始を受け取った時点のタイムスタンプクロックリファレンス信号の値である。
タイムスタンプ並び替えバッファ304は、並べ替えフラグ信号を、ビデオエンコーダ201Aから各回の後半に受け取り、ビデオ入力信号S2を圧縮している間に、ビデオ入力信号S2のアクセスユニットの順序に関係させてビデオストリームのアクセスユニットの順序を変える。並び替えフラグ信号に応じて、タイムスタンプ並べ替えバッファは、ビデオプレゼンテーションタイムスタンプ発生回路311により発生されたプレゼンテーションタイムスタンプの順序を、ビデオエンコーダがビデオ出力バッファ300に供給するビデオストリームのアクセスユニットの順序に適合するように変える。
ビデオエンコーダ201Aは、フラグ信号を、ビデオデコードタイムスタンプ発生回路309の入力に、それがビデオ出力バッファ300へビデオストリームのアクセスユニットのスタートを供給するのと同じ時点で、供給する。各フラグ信号およびタイムスタンプクロックリファレンス信号に応じて、ビデオデコードタイムスタンプ発生回路は、ビデオデコードタイムスタンプ（ビデオDTS）を発生し、そのビデオDTSをビデオタイムスタンプバッファ301に供給する。ビデオデコードタイムスタンプは、エンコーダがビデオ入力バッファへのビデオストリームのアクセスユニットの開始を与えたことをフラグ信号が示した時点のタイムスタンプクロックリファレンス信号の値である。
ビデオタイムスタンプバッファ301は、ビデオタイムスタンプを一時的に記憶する。ビデオタイムスタンプバッファはまた、ビデオエンコーダ201Aからのポインタを受け取り記憶し、受け取った各ビデオタイムスタンプを、ビデオ出力バッファ300に記憶された各ビデオアクセスユニットのピクチャーヘッダに関連付けることを可能にする。ビデオタイムスタンプバッファは、その後、ビデオタイムスタンプをマルチプレクサ203Aに供給する。ビデオデコードタイムスタンプは、マルチプレクサに加算回路319を経て供給され、その加算回路でそれらは選択ビデオバッファリング遅延値（後により詳細に記述される）増加される。ビデオプレゼンテーションタイムスタンプPTSは、マルチプレクサに加算回路321を経て供給され、その加算機でそれらは全ビデオ遅延（後に記述される）の値増加される。マルチプレクサは、ビデオタイムスタンプを、システムターゲットデコーダ4Aのビデオタイムスタンプバッファ42の占有により選択的に、多重化ビットストリームのビデオパケットのパケットヘッダに加える。
オーディオエンコーダ202Aは、オーディオ出力バッファ302へオーディオストリームの各アクセスユニットの開始を供給するのと同時に、フラグ信号をオーディオプレゼンテーションタイムスタンプ発生回路313の入力に供給する。このフラグ信号とタイムスタンプクロックリファレンス信号に応答して、オーディオプレゼンテーションタイムスタンプ発生回路はオーディオプレゼンテーションタイムスタンプを発生し、それをオーディオタイムスタンプバッファ303に供給する。各オーディオプレゼンテーションタイムスタンプは、オーディオエンコーダがオーディオストリームのアクセスユニットをオーディオ入力バッファに供給したことをフラグ信号が示した瞬間のタイムスタンプクロックリファレンス信号の値である。
オーディオタイムスタンプバッファ302は、オーディオプレゼンテーションタイムスタンプを一時的に記憶する。オーディオタイムスタンプバッファはまた、オーディオエンコーダ202Aからのポインタを受け取り、受け取った各オーディオタイムスタンプを、オーディオ出力バッファ302に記憶されている各オーディオアクセスユニットのヘッダのアドレスに関連付けことを可能にする。オーディオタイムスタンプバッファ303は、その後、オーディオプレゼンテーションタイムスタンプをマルチプレクサ203Aに供給する。そのマルチプレクサは、システムターゲットデコーダ4Aのオーディオタイムスタンプバッファ43の占有により選択的に、オーディオタイムスタンプを、多重化ビットストリームのオーディオパケットのパケットヘッダに加える。
ビデオ出力バッファ300、ビデオタイムスタンプバッファ301、オーディオ出力バッファ302、オーディオタイムスタンプバッファ303、および、タイムスタンプ並べ替えバッファ304は全て先入れ先出し（FIFO）バッファである。
タイムスタンプ発生回路309,311および313は、それら各々のビデオおよびオーディオタイムスタンプバッファ301および302に統合化されてもよい。さらに、シングルクロックリファレンス信号が使用されることも可能であり、タイムスタンプ発生回路においてタイムスタンプクロックリファレンス信号を提供するために300分割されることも可能である。
ヘッダ発生回路204は、マルチプレクス層の種々のヘッダ、換言すればパックヘッダおよび種々のパケットヘッダを発生する。ヘッダ発生回路はクロックリファレンスをクロックカウンタ307から受け取り、ヘッダをマルチプレクサ203Aに供給する。
図23は、エンコード／デコードシステム10Aのデコーダ6Aの構造を示す。デコーダ6Aは、システムターゲットデコーダ4A（図21）のパラメータを考慮して設計され、エンコード1Aにより生成された多重化ビットストリームをデコードする。その結果、デコーダ6Aは、システムターゲットデコーダ4Aの構造と非常に似た構造を持つ。
デコーダ6Aは、デマルチプレクサ61Aを含み、デマルチプレクサ61Aは多重化ビットストリームS5を媒体５から受け取る。そのデマルチプレクサは、多重化ビットストリームをビデオストリームS5V、オーディオストリームS5A、ビデオタイムスタンプS5TV,および、オーディオタイムスタンプS5TAにデマルチプレクスする。
デマルチプレクサ61の出力からのビデオストリームS5Aはビデオ入力バッファ62に供給され、ビデオ入力バッファ62はビデオデコーダ65よりも先行する。デマルチプレクサからのオーディオストリームS5Aはオーディオ入力バッファ63に供給され、オーディオ入力バッファ63はオーディオデコーダ66より先行する。デマルチプレクサからのビデオタイムスタンプS5TVはビデオタイムスタンプバッファ72に供給される。ビデオタイムスタンプは、ビデオタイムスタンプバッファからビデオタイムスタンプ処理モジュール75に読み出され、ビデオデコーダ65によるビデオストリームS5Vのビデオアクセスユニットのデコードのタイミングを制御する。デマルチプレクサからのオーディオタイムスタンプS5TAは、オーディオタイムスタンプバッファ73に供給される。オーディオタイムスタンプは、オーディオタイムスタンプバッファからオーディオタイムスタンプ処理モジュール76に読み出され、オーディオデコーダ66によるオーディオストリームS5Aのオーディオアクセスユニットのデコードのタイミングを制御する。
ビデオデコーダ65はデコードのために、ビデオストリームの各アクセスユニット、換言すればピクチャーをビデオ入力バッファ62からビデオ入力バッファによって受け取られたアクセスユニットの順番で取り出す。オーディオデコーダ66はデコードのために、オーディオストリームの各アクセスユニットをオーディオ入力バッファ63からオーディオ入力バッファによって受け取られたアクセスユニットの順番で取り出す。
前述したエンコードおよびデコードシステム10Aの処理がこれより記述される。
もし、静止画がエンコードされるなら、MPEG2標準は次のことを要求する。
−各静止画は、どれくらいの期間そのピクチャーが表示されるかを決定する関係付けられたタイムスタンプを持つ。
−各静止画は、少なくとも２ピクチャー期間の間表示される。その結果、最大静止画レートは、たとえば、PAL表示装置であれば25Hz/2＝12.50Hz、NTSC表示装置であれば29.97Hz/2＝14.99Hzである。
−静止画ビデオはＩピクチャーだけからなる。
その結果、エンコーダからビットストリームを受け取るデコーダは、正しいタイミングの静止画ビデオビットストリームを再構成するために、全てのビデオタイムスタンプをバッファし、使用しなければならない。本発明に係わる実際のデコーディングシステムにおいては、独立したビデオタイムスタンプバッファがこの目的のために使用されている。比較的小さいタイムスタンプバッファがこの目的のために使用されるのを許すため、および、そのようなタイムスタンプバッファが決してオーバーフローしないことを保証するために、本発明に係わるシステムターゲットデコーダも、エンコードシステムの特定のパラメータに影響を及ぼすビデオタイムスタンプバッファ（または、機能的に同等なパラメータの制約）を有する。
図22B中に示す回路配置を用い、図22Aに示される１パスエンコーダは、通常のフルモーションビデオ信号をエンコードすることができるのに加えて、このモデルの制限に従うような形態にすることができる。
図22Aおよび22Bを参照すると、STDビデオタイムスタンプバッファの制限に従うために、エンコーダ1Aはまず、ブロック351で、STDビデオタイムスタンプバッファ52がオーバーフローするのを防ぐSTDビデオストリームバッファリング遅延を決定する。この値は有効遅延と呼ばれる。
有効遅延＝STDタイムスタンプバッファ52の大きさ／タイムスタンプ符号化周波数
比較的低ビデオビットレートのシステムにおいては（たとえば、多数の静止画用途における）、有効遅延の値よりも長いバッファリング遅延が最適な画質のために必要である。したがって、そのようなシステム中では、タイムスタンプ符合化周波数は（MPEG2標準により静止画ビデオに対して許される程度で）可能な限り小さくされる。同期されたエンコードシステムを用いることはこの目的の達成を助ける。その代わりに、システムターゲットデコーダのビデオタイムスタンプバッファ52の大きさは、より長い遅延を提供するために増加させられるかもしれない。その他の選択としては、タイムスタンプ符号化周波数が小さくされ、STDビデオタイムスタンプバッファのサイズが増加させられるの両方である。
たとえば、たとえば50Hzの表示装置を使う静止画ビデオのためには、エンコーダはタイムスタンプ符号化周波数tscfをこの式を使って計算する：
tscf＝12.5/N
（Ｎは正の整数）
MPEG2標準は、一つのタイムスタンプは各静止画に対して提供されることを要求しているため、静止画ビデオを表わすビットストリームを発生するために使われる時には、ビデオエンコーダ201Aは、もしタイムスタンプ符号化周波数が小さくされているならば、Ｉピクチャーも圧縮されたレート、換言すれば12.5/NHzのレートで発生する。Ｎの値はエンコーダのオペレータによりセットされる。
ブロック353は、STDビデオ入力バッファ42の大きさを使用してワーストケース（換言すれば、可能な最大の）のピクチャーを発生するために必要とされるビデオストリームバッファリング遅延を決定する。この値は大画像遅延と呼ばれる。
大画像遅延＝STDビデオ入力バッファ42のサイズ／ビデオストリームのビットレート
実際には、ビデオビットストリームを全てのデコーダに対して”安全”にするためには、エンコーダ1Aは、上式中のシステムターゲットデコーダビデオ入力バッファ42の実際の大きさよりも小さな値を使うようにする。
大画像遅延の値は、ビデオビットレートが比較的低いシステム中においては容易に１秒より長くできる。
ブロック357は、大画像遅延と有効遅延を比較し、選択されたデコーダビデオバッファリング遅延（選択ビデオバッファリング遅延）の値を決定する。もし、大画像遅延＝＜有効遅延ならば、エンコードシステムは、選択ビデオバファリング遅延の値を大画像遅延にセットする。
いくつかの用途においては、大画像遅延は有効遅延よりも大きい。この場合には、全てのSTD制限を満足するために、エンコーダは選択ビデオバッファリング遅延の値を有効遅延の値と等しくセットする。
選択されたバッファリング遅延の値は加算回路319およびブロック363に供給される。
ブロック359は、ビデオ出力バッファ300に要求されるビデオ出力バッファサイズのメモリ量を計算する。ビデオ出力バッファサイズのメモリ量は、選択ビデオバッファリング遅延と利用できるビデオビットレートを使って次のように計算される。
ビデオ出力バッファサイズ（バイト）＝選択ビデオバッファリング遅延＊利用できるビデオビットレート/8
ブロック359は、ビデオ出力バッファサイズの値をビデオ出力バッファ300に供給する。
ブロック361は、ビデオタイムスタンプバッファ301に要求されるビデオタイムスタンプバッファサイズのメモリ量を計算する。要求されるメモリ量は、下式で与えられるプレゼンテーションタイムスタンプ（PTS）およびデコードタイムスタンプ（DTS）の数を維持する量である。
選択ビデオバッファリング遅延＊タイムスタンプ符号化周波数
ブロック361は、ビデオタイムスタンプバッファサイズの値を、ビデオタイスタンプバッファ301へ供給する。
ブロック363、365および367において、エンコーダは、全体のビデオ遅延およびオーディオデコーダバッファリング遅延から、オーディオエンコーダバッファリング遅延（そのオーディオエンコーダバッファリング遅延からオーディオ出力バッファサイズおよびオーディオタイムスタンプバッファサイズが計算される）を計算する。オーディオとビデオの間の端から端までの同期を達成するために、エンコーダとデコーダを通過するビデオストリームおよびオーディオストリームの端から端までの遅延は、図24Bに示されるように等しくなければならない。
図24Aは、端から端までのシステム遅延の成分、ビデオストリームの全ビデオ遅延を示し、その全ビデオ遅延はブロック363で計算される。この遅延は全ビデオ遅延と呼ばれる。
全ビデオ遅延＝選択ビデオバッファリング遅延＋選択ビデオ並べ替え遅延
選択ビデオ並べ替え遅延（SVRD）の値、それも画質に影響を与えるが、その値は通常１つあるいはそれ以上のピクチャー期間である。選択ビデオ並べ替え遅延は２つの構成成分、すなわち、ビデオエンコーダ並べ替え遅延（verd）とビデオデコーダ並べ替え遅延（vdrd）の合計である。この例では、verdはゼロであると仮定され、vdrdは１つのピクチャー期間にセットされる。その結果、選択ビデオ並べ替え遅延は１つのピクチャー期間である。
選択ビデオバッファリング遅延も、２つの構成成分、すなわち、ビデオエンコーダバッファリング遅延（vebd）と、ビデオデコーダバッファリング遅延（vdbd）の合計である。
ブロック363により計算される全ビデオ遅延の値は、加算回路321および323、および、ブロック367に供給される。
システムターゲットデコーダ4Aのオーディオ入力バッファ43は比較的小さく、オーディオデコーダ46は比較的に一定レートでオーディオ入力バッファからオーディオストリームを取り出す。その上に、オーディオアクセスユニットは並べ替えられない。ブロック365は、STDのオーディオストリームのオーディオデコーダバッファリング遅延（ADBD）を以下のように計算する。
オーディオデコーダバッファリング遅延＝STDオーディオ入力バッファ43の大きさ／オーディオビットレート
実際に、オーディオビットストリームを全てのデコーダに対して”安全”にするためには、エンコーダは、前記式のシステムターゲットデコーダオーディオ入力バッファ43の実際に大きさよりも小さい値を使うのがよい。
オーディオデコーダバファリング遅延は、全ビデオ遅延と比較して小さい。その結果、ブロック365により計算されたオーディオデコーダバッファリング遅延（adbd）は、通常比較的短い。オーディオとビデオの間の要求されている端から端までの同期を提供するために、全ビデオ遅延を短くすることは、要求される画質のために、通常可能ではない。したがって、ブロック367は、全ビデオ遅延とオーディオデコーダバッファリング遅延から、全オーディオ遅延を全ビデオ遅延に一致させるのに十分大きなオーディオエンコーダバッファ遅延（aebd）の値を、図24Bに示すように、計算する。
ブロック367により計算されたオーディオエンコーダバッファリング遅延aebdを提供するために、ブロック369は、オーディオ出力バッファ302に要求されるオーディオ出力バッファサイズのメモリ量を以下のように計算する：
オーディオ出力バッファサイズ（バイト）＝オーディオエンコーダバッファリング遅延＊オーディオビットレート/8
ブロック369は、オーディオ出力バッファサイズの値をオーディオ出力バッファ302に供給する。
ブロック371は、オーディオタイムスタンプバッファ303に要求される（タイムスタンプの中の）オーディオタイムスタンプバッファサイズのメモリ量を以下のように計算する：
オーディオタイムスタンプバッファサイズ（タイムスタンプ）＝オーディオエンコーダバッファリング遅延＊オーディオアクセスユニットレート
ブロック371は、オーディオタイムスタンプバッファの値をオーディオタイムスタンプバッファ303に供給する。
前記エンコーダセットアップ手続きは、低ビットレート用途に関して記述された。同様の手続きは、通常のフルモーションビデオ、あるいは、プロフェッショナル用のビデオ用途のような、非常に短いバッファリング遅延（たとえば、約0.2秒）が要求される用途に対するエンコーダ1Aのセットアップに使用されることが可能である。
図22Aに戻って、エンコーダが丁度記述したパラメータを計算し、これらのパラメータをビデオ出力バッファ300、ビデオタイムスタンプバッファ301、オーディオ出力バッファ302、オーディオタイムスタンプバッファ303、および、加算回路319,321および323のセットアップに使用した後、エンコーダは、これらのパラメータにより機能し、ビデオ入力信号S2およびオーディオ入力信号S3に以下のようにエンコードする。ビデオエンコーダ201Aおよびオーディオエンコーダ202Aは、それらのそれぞれの入力信号のエンコードを同時に開始する。一旦エンコード処理がスタートしたら、各入力信号S2およびS3の終了まで、ビデオエンコーダ201Aはビデオアクセスユニットを選択されたピクチャーレートで発生し、それらをビデオ出力バッファ300に供給し、オーディオエンコーダ202Aはオーディオアクセスユニット（AAU）を、選択されたオーディオサンプリングレートおよびAAU当たりのサンプル数に従って発生し、それらをオーディオ出力バッファ302に供給する。ビデオエンコーダ201Aは、ビデオ出力バッファ300のオーバーフローを防ぐレート制御機構（ビデオ出力バッファとビデオエンコーダを接続するパスにより示される）を有する。前述したように、ビデオ出力バッファサイズの値によりその大きさがセットされたビデオ出力バッファのオーバーフローを防ぐことにより、ビデオエンコーダ201Aは、多重化ビットストリームS1Aを、システムターゲットデコーダ4Aにより課せられた制限に従わせるのに必要な処理の１つを実行する。
エンコードプロセスの間、クロックカウンタ307からの33ビットクロックリファレンス信号は、MPEG1システムにおける90kHzのレート、あるいは、MPEG2システムにおける27MHzのレートで、連続的に増加する。そしてまた、MPEG2システムにおいては、33ビットタイムスタンプクロックリファレンス信号が90kHzのレートで増加する。
ビデオ入力信号S2のアクセスユニットの開始がビデオエンコーダ201Aに到着する各時間、ビデオPTS発生回路311は、クロックカウンタ307からのビデオプレゼンテーションタイムスタンプ（PTS）としてのタイムスタンプクロックリファレンス信号の値を決定する。ビデオPTS発生回路は、そのPTSを、タイムスタンプ並べ替えバッファ304に供給し、そこで、それは一時的に記憶される。そのPTSは、たとえばビデオエンコーダから受け取ったポインタにより、並べ替えバッファ内の対応するビデオアクセスユニットのピクチャーヘッダのアドレスに関連付けられる。もし、ビデオ入力信号をエンコードする時に、ビデオエンコーダーがビデオ入力信号S2のビデオアクセスユニットを並べ替えると、ビデオエンコーダは並べ替えフラグをタイムスタンプ並べ替えバッファに供給する。その並べ替えフラグに対する応答として、タイムスタンプ並べ替えバッファは、そのアクセスユニットに帰属するようにそのPTSを並べ替える。換言すれば、タイムスタンプ並べ替えバッファは、そのPTSを、それらのタイムスタンプ並べ替えバッファ304の出力時でのそれらの順番がビデオエンコーダ201Aの出力時のビデオアクセスユニットの順番と同じになるように並べ替える。タイムスタンプ並べ替え回路は、ビデオプレゼンテーションタイムスタンプをビデオタイムスタンプバッファ301に供給する。
ビデオエンコーダ201Aが、ビデオストリームのアクセスユニットをビデオ出力バッファ300に供給するごとに、ビデオDTS発生回路309は、クロックカウンタ307からの、ビデオアクセスユニットのビデオデコーディングタイムスタンプ（ビデオDTS）としての、タイムスタンプクロックリファレンス信号の値を決定する。ビデオDTS発生回路は、そのビデオDTSをビデオタイムスタンプバッファ301に供給し、そこでそれはタイムスタンプ並べ替えバッファ304からのPTSと一緒に記憶される。ビデオタイムスタンプと一緒に、ビデオ出力バッファも、そのタイムスタンプが帰属するビデオアクセスユニットのピクチャーヘッダのビデオ出力バッファ300中でのアドレスを示すポインタを、ビデオエンコーダ201Aから受け取り記憶する。
オーディオエンコーダ202Aが、オーディオストリームのアクセスユニットをオーディオ出力バッファ302に供給するごとに、オーディオPTS発生回路313は、クロックカウンタ307からの、オーディオアクセスユニットのオーディオプレゼンテーションタイムスタンプ（オーディオPTS）としてのタイムスタンプクロックリファレンス信号の値を決定する。オーディオPTSはオーディオ出力バッファ303に記憶され、そのオーディオタイムスタンプが帰属するアクセスユニットのヘッダのオーディオ出力バッファ302中でのアドレスを示すポインタと合わせられる。
正しいタイムスタンプ値を発生するために、ピクチャー並べ替え遅延を除いて、ビデオエンコーダ201Aおよびオーディオエンコーダ201Aは理論上、即座に、遅延無しでアクセスユニットを作り出す。その結果、あるピクチャーに対して、タイムスタンプバッファに記憶されたビデオPTSとビデオDTSは、厳密に同じ値を有する。現実のハードウェア上の手段は遅延を伴って処理するために、タイムスタンプが発生された時に、これらの遅延は考慮されなければならない。たとえば、タイムスタンプ発生器309,311および313は、付加的に増加されたタイムスタンプ値を提供することができ、これにより実際の処理の遅延を考慮する。
ビデオストリームの開始がビデオ出力バッファ300に入ったとき、ヘッダ発生回路204はヘッダを発生し、マルチプレクサ203Aに供給する。ヘッダ発生回路はクロックリファレンス信号をクロックカウンタ307から受け取り、ヘッダのクロックリファレンスフィールド中に、ビデオストリームの先頭がビデオ出力バッファに入った瞬間のクロックリファレンス信号の値を含める。
次に、ヘッダ発生回路204は、多重化ビットストリームの最初のビデオパケットに対するビデオパケットヘッダを発生し、そのビデオパケットヘッダをマルチプレクサ203Aに供給する。そのビデオパケットヘッダは、そのビデオパケットヘッダに続くビデオストリームのバイト数に依存する値の、長さフィールドを有する。そのビデオパケットの長さは用途とマルチプレクス方法に依存する。
もしビデオパケットがアクセスユニットヘッダを有するならば、そのビデオパケットヘッダはタイムスタンプも有するかもしれない。そのビデオパケットヘッダがタイムスタンプを含むことになっているか否かは、（ビデオ出力バッファ300への現在の読出しポインタおよびビデオパケットの長さにより）ビデオパケットの中に挿入されるべきビデオストリームをチェックすることにより、および、ビデオタイムスタンプバッファ301に記憶されているポインタがビデオストリームのこのセグメントを指しているか否かをチェックすることにより、決定され得る。さらにまた、マルチプレクサは、システムターゲットデコーダ内のビデオタイムスタンプバッファ52の占有状態の追跡をエミュレートする処理を実行する。もしタイムスタンプをビデオパケットヘッダに付け加えることがビデオタイムスタンプバッファにオーバーフローを引き起こすならば、マルチプレクサはタイムスタンプを付け加えない。一方、もしビデオタイムスタンプバッファが空に近づくならば、マルチプレクサは、タイムスタンプが多重化ビットストリームに付け加えられることを可能とするために、あらたなビデオパケットを始めてよい。丁度記述した方法においては、マルチプレクサはビデオタイムスタンプバッファがオーバーフロあるいはアンダーローするのを防ぐ。同様な処理がオーディオタイムスタンプバッファ53がオーバーフローあるいはアンダーフローするのを防ぐために実行される。
デコードタイムスタンプおよびプレゼンテーションタイムスタンプは、それぞれ、ビデオタイムスタンプバッファ301からマルチプレクサ203Aに加算回路319および321を経て供給される。加算回路321は、各プレゼンテーションスタンプを、前述した全ビデオ遅延計算回路363により計算された全ビデオ遅延の値により増加させ、そして加算回路319は、全デコードタイムスタンプを、前述した選択ビデオバッファリング遅延計算回路357により計算された選択ビデオバッファリング遅延により増加させる。もし、増加されたPTSおよび増加されたDTSが異なる値を有するならば、マルチプレクサ203Aは、それらの両方をビデオパケットヘッダに挿入する。もし、増加されたPTSおよび増加されたDTSが同じ値ならば（換言すれば、そのピクチャーがＢピクチャーの時は）、ただ一つのタイムスタンプがビデオパケットヘッダに挿入される。
ビデオ入力信号S2がフルモーションビデオ信号の時は、マルチプレクサ203Aは、ビデオパケットに対するビデオストリームをビデオ出力バッファ300から読み、それを、ビデオパケットヘッダの完成の後、多重化ビットストリームS1Aに挿入する。ビデオストリームがビデオ出力バッファ300から読まれている間は、ビデオ出力バッファ300に対するリードポインタはタイムスタンプバッファ301のビデオ出力バッファ300に記憶されているピクチャーヘッダの１つのアドレスを指している最も古いポインタと比較される。これらのポインタが等しい時には、PTS、DTSおよび関連付けられたポインタはビデオタイムスタンプアバッファ301から取り出される。これは、ビデオパケットが１つ以上のピクチャーヘッダをゆうしている時に起こる。ビデオ入力信号S2がMPEG形式静止画ビデオ信号の時、各ピクチャーは関連付けられたタイムスタンプを持たなければならないために、エンコーダはタイムスタンプを含む新しいビデオパケットヘッダを各ピクチャーヘッダの直前に挿入する。
エンコーダは、ビデオパケットの大きさを小さくし、そして／あるいは、あらたなビデオパケットの多重化ビットストリームへの挿入を、次の事を含む多くの理由のために停止する。
1.オーディオパケットを多重化ビットストリームに挿入するため。
2.ビデオ出力バッファ300は空である、または、
3.これ以上ビデオストリームが無い。
ケース１はオーディオデコードバッファ遅延adbdよりも短い規則的な間隔で発生する。最初のオーディオパケットは、オーディオエンコーダバッファ遅延時間aebdが経過するまでは多重化ビットストリームに挿入されないだろう。しかしながら、ダミーオーディオパケット（あるいは、オーディオパケットと同じ大きさのパケットの中に含まれるその他の有効な情報）が多重化ビットストリームに、オーディオパケットの代わりに、この時間が経過する前に挿入されるかもしれない。これがビデオビットレートを意図したビデオビットレートに維持し、STDバッファリング制限に反するかもしれないビデオビットレートの一時的な増加を防ぐ。
オーディオエンコーダバッファ遅延時間aebdが経過した後、実際のオーディオパケットが発生され、ヘッダ発生回路204はオーディオパケットヘッダを発生する。もし、オーディオパケットがオーディオアクセスユニットヘッダを含むならば、オーディオタイムスタンプバッファ303はそこに記憶されている最も古いオーディオPTSをマルチプレクサ203Aに供給し、マルチプレクサはそのPTSをオーディオパケットヘッダの中に含める。そのオーディオPTSは、加算回路323を経て供給され、前述したように、その加算回路は、最も古いオーディオPTSを全ビデオ遅延計算回路363によって計算された全ビデオ遅延の値によって増加させる。
マルチプレクサ203Aがオーディオストリームをオーディオ出力バッファ302から多重化ビットストリームS1Aに移動させる時、オーディオタイムスタンプバッファ303は、それらのポインタがオーディオ出力バッファ302のリードポインタと等しいオーディオ出力バッファのアドレスを指しているタイムスタンプを捨てる。
オーディオエンコーダ202Aによりオーディオ入力信号から発生される全てのオーディオストリームが、多重化ビットストリームS1Aに挿入されるまで、オーディオパケットは発生され続ける。もし、この後、任意のその他の基本ストリームデータが送られる必要があるならば、このストリームデータは、その多重化ビットストリームS1Aに挿入される得る。そうでなければ、ダミーパケットが多重化ビットストリームS1Aに、規則的な間隔で、実際のオーディオパケットの代わりに、意図したビデオビットレートを維持するために、再び挿入される。
ケース２に関して、固定ビットレートシステムにおいては、ビデオエンコーダ201Aはビデオ出力バッファ300の占有をモニタし、通常ビデオ出力バッファ300が空になるのを防ぐことができる。ビデオエンコーダは、ビデオ出力バッファが空になろうとしている時に、ビデオ出力バッファを再び満たすために、ビデオ圧縮率を小さくすることにより付加的なビデオストリームを発生することができる。もしそのような方法にも関わらず、ビデオ出力バッファ300が空になる場合には、マルチプレクサ203Aは、その他の有効な情報を、多重化ビットストリームS1Aに、ビデオストリームの代わりに含ませることができる。もしそのような有効な情報が使用可能でない場合は、マルチプレクサはスタッフィングビットを多重化ビットストリームに、目標のビットレートを維持するために含ませることができる。
可変ビットレートシステムにおいては、マルチプレクサ203Aは、オーディオパケットを書く時間まで簡単に待つことができ、あるいは、もし早すぎてオーディオパケットを書けないならば、新たなビデオアクセスユニットがビデオ出力バッファ300に入れられるまで待つことができる。これは、それから新たなビデオパケットの発生を促すことができる。
ケース３は、すべてのビデオ入力信号S2が多重化ビットストリームS1Aに変換され終わった時に生じる。そのエンコーダは、もしそのようなパケットのためのデータストリームがまだS1Aに挿入されることになっているならば、その他のパケットの発生を続けてもよい。
図25は、低ビットレートの多重化ビットストリームに対するデコード6Aの動作を図解する。図25に示される低ビットレートの多重化ビットストリームは、前に示したMPEG2静止画ビデオ要件に従わない。MPEG標準は、そのピクチャーレートが毎秒約25または30フレームの完全分数である通常のピクチャーレートのビデオストリームを含む多重化ビットストリームを提供する（許される最高のピクチャーレートは、通常ピクチャーレートの1.5倍である）。通常のピクチャーレートのビデオ信号を要求する表示装置に供給するために、多重化ビットストリームから通常のピクチャーレートのビデオ信号を抽出するという標準でない処理を実行することを、MPEG標準は、デコーダに任せる。デコーダは、その出力バッファに記憶されたデコードされたピクチャーの各々を複数回通常のピクチャーレートで読み出すことによってこれを実行する。通常以下のピクチャーレートのビデオストリームをデコードすることを要求された付加的な処理は、デコーダの複雑さとコストを増大させる。
付加されるデコーダの複雑さは、デコーダに、通常のピクチャーレートを持つ静止画ビデオストリームを供給することにより避けることができる。圧縮されていない静止画ビデオ信号は通常のピクチャーレートの連続的なピクチャーからなる。連続的なピクチャーは、ビデオ信号においてはピクチャー変化点を除いて同じである。そのような信号は、ピクチャー変化の後の最初のピクチャーをＩピクチャーとして符号化することによってエンコードされる。ビデオ信号の全てのその他のピクチャーも符号化される、しかし最低限のＰピクチャーとして。そのようなピクチャーの各々から得られたビデオストリームはヘッダとほとんど同じくらいであり、ほんの数百ビットしか必要としない。その結果、低ビットレートの静止画ビデオは、各ピクチャー変化後の最初のピクチャーの符号化に利用したビット数だけにほんのわずかに縮小した通常のピクチャーレートを有するビデオストリームを用いて提供されることが可能である。
デコーダ6Aにより受け取られる媒体５からの多重化ビットストリームS5Aの構造は、図25の上部に横断して示される。そのビデオストリームは、標準ピクチャーレート、換言すれば毎秒25あるいは30フレームの、複数のピクチャーから成る。ピクチャーはGOPにグループ分けされ、各グループは、ピクチャー変化に続く第１のピクチャー（Ｉピクチャー）で始まり、その第１のピクチャーは複数のＰピクチャーに後続される。Ｐピクチャーの数は、静止画ビデオ信号における各ピクチャー変化間の通常のピクチャー期間の数に相当する。示された例においては、９ピクチャー期間に相当する。各GOPがタイムスタンプを含むビデオパケットヘッダにより先行されるように、GOPはビデオストリームに含められる。
図25はまた、上部のビットインデックス曲線においてビデオ入力バッファ62のビットインデックス、および、下部のビットインデックス曲線においてビデオタイムスタンプバッファ72のビットインデックスを示す。
ビデオストリームの始まりにおいて、最初のビデオパケットヘッダの中のタイムスタンプは、デマルチプレクサ61Aからビデオタイムスタンプバッファ72に供給される。
一旦、ビデオパケットヘッダがデマルチプレクスされると、最初のピクチャーのビデオストリームは、実質的に固定レートでビデオ入力バッファに蓄積される（オーディオパケットがオーディオ入力バッファ63に供給されるたび、および、ビデオパケットヘッダがデマルチプレクスされるたびに生じる流れへの割り込みは明確さのために省略する）。オーディオパケットを規則的な間隔で多重化ビットストリームに含む必要性、および、（ビデオパケットヘッダを要求する）タイムスタンプをビデオストリームの中に少なくとも0.7秒ごとに一回含ませる要求に起因して、ビデオストリームは幾つかのビデオパケットに含まれる。低入力ビットレートに起因して、１つのＩピクチャーのビデオストリームがビデオ入力バッファ62に蓄積されるのに約１秒かかる。そして、最初のＩピクチャーのビデオストリームがビデオ入力バッファに記憶された後、Ｉピクチャーに続くＰピクチャーのビデオストリームがビデオ入力バッファに供給される。
タイムスタンプを含むビデオパケットヘッダに続くビデオストリームの中の最初のピクチャーのピクチャーヘッダがビデオ入力バッファに書き込まれた時に、ピクチャーヘッダのアドレスに対するポインタがビデオタイムスタンプバッファ62のテーブルに書き込まれる。
ビデオストリームのビデオ入力バッファ62への蓄積の間、下部のビットインデックス曲線中で示されるように、付加されたタイムスタンプがビデオタイムスタンプバッファ72に蓄積される。エンコーダがビデオストリームへのタイムスタンプの追加をビデオタイムスタンプバッファの占有を考慮して制御していたために、これらのタイムスタンプはビデオタイムスタンプバッファにオーバーフローを引き起こさない。
十分なビデオストリームをビデオ入力バッファ62に蓄積するのを可能にする初期バッファリング遅延の後、最初のＩピクチャーのビデオストリームはビデオ入力バッファから取り出される。示した例においては、初期バッファリング遅延は４秒である。一度、初期バッファリング遅延が経過したら、ビデオデコーダ65はビデオ入力バッファからビデオストリームのアクセスユニットを通常のピクチャーレートで取り出す。ビデオ入力バッファからのこれらのビデオストリームの取り出しの間、図に示されたビットインデックスは、小さなこれらのピクチャーに起因して、わずかに変化する。ビデオデコーダはまた、ビデオバッファ62への読出しポインタを使って、ビデオ入力バッファのテーブルをチェックする。そのテーブルから、ビデオデコーダはピクチャーがタイムスタンプを持っているか否かを決定することができる（静止画ビデオにおいては、全てのＩピクチャーはタイムスタンプをもっているが、Ｐピクチャーは全てタイムスタンプを持っているわけではない。フル動画ビデオにおいては、タイムスタンプバッファは全てのピクチャーに対するタイムスタンプを収容するには不十分な大きさであるため、全てのピクチャーがタイムスタンプを持っているわけではない）。もしピクチャーがタイムスタンプを持っているならば、そのピクチャーに対するタイムスタンプはビデオ入力バッファから取り出され、そのピクチャーのデコード時間を決定するために用いられる。もし、ピクチャーにタイムスタンプが欠けていたならば、デコード時間はデコーダクロックにより決定される。その結果としてのデコードされたピクチャーはデコーダの出力に通常のピクチャーレートで供給され、静止画ディスプレイに提供される。
相同期システムにおいては、タイムスタンプは、オーディオデコーダおよびビデオデコーダの開始遅延をセットするためだけに要求される。デコーダは共通リファレンスに同期されているために、ビデオデコーダとオーディオデコーダの間の同期を維持するためにタイムスタンプを使う必要がない。そのようなシステムにおいては、最初のオーディオタイムスタンプおよび最初のビデオタイムスタンプは、それぞれ、オーディオ開始遅延およびビデオ開始遅延をセットするために用いられる。その他の全てのタイムスタンプは無視される。
本発明に関するこのようなシステムにおいては、システムターゲットデコーダは以下のように定義される。タイムスタンプバッファ52および53は１タイムスタンプの容量を有する。ビデオデコーダ56の動作は、タイムスタンプをビデオタイムスタンプバッファ53から、多重化ビットストリームの開始の時でその他の時ではない時にだけ取り出すように規定される。オーディオデコーダ56の処理は、タイムスタンプをオーディオタイムスタンプバッファ53から、多重化ビットストリームの開始の時でその他の時ではない時にだけ取り出すように規定される。ビデオデコーダ55およびオーディオデコーダ56は共通のクロックリファレンスにロックされる。
このようなシステムターゲットデコーダを用いることにより、エンコーダは、発生された最初のビデオタイムスタンプおよび発生された最初のオーディオタイムスタンプを多重化ビットストリームに付加する。デコーダはこれらのタイムスタンプをタイムスタンプバッファから取り出し、STDはそれ以上タイムスタンプを要求しないので、エンコーダはそれ以上多重化ビットストリームにタイムスタンプを付加する必要はない。これは、パケットヘッダからタイムスタンプフィールドを除去する可能性をもたらし、セーブされたビットをその他の目的のためにつかう事を許す。
本発明は、オーディオとビデオの両方のストリームが多重化ビットストリームに含まれるシステムに関して記述されてきた。しかしながら、本発明はオーディオストリームあるいはビデオストリームのいずれか一方が他方無しに多重化ビットストリームに含まれるシステムに対しても、同様に満足に適用可能である。本発明は、圧縮されたその他のタイプの情報信号から得られるストリームに対しても適用可能である。本発明は、MPEG1およびMPEG2標準に関して記述されてきたが、本発明はMPEG標準に従わない情報ストリームおよびビットストリームに対しても同様に満足に適用可能である。
【図１】
0003605826.tif 000002
【図４Ａ】
0003605826.tif 000003
【図２】
0003605826.tif 000004
【図４Ｂ】
0003605826.tif 000005
【図４Ｄ】
0003605826.tif 000006
【図３】
0003605826.tif 000007
【図１１Ｂ】
0003605826.tif 000008
【図１２Ｂ】
0003605826.tif 000009
【図４Ｃ】
0003605826.tif 000010
【図５Ａ】
0003605826.tif 000011
【図５Ｂ】
0003605826.tif 000012
【図５Ｄ】
0003605826.tif 000013
【図５Ｃ】
0003605826.tif 000014
【図７Ｂ】
0003605826.tif 000015
【図８Ｃ】
0003605826.tif 000016
【図１２Ｃ】
0003605826.tif 000017
【図２４Ａ】
0003605826.tif 000018
【図６】
0003605826.tif 000019
【図１２Ｄ】
0003605826.tif 000020
【図７Ａ】
0003605826.tif 000021
【図７Ｃ】
0003605826.tif 000022
【図８Ａ】
0003605826.tif 000023
【図８Ｂ】
0003605826.tif 000024
【図８Ｄ】
0003605826.tif 000025
【図１２Ａ】
0003605826.tif 000026
【図１２Ｅ】
0003605826.tif 000027
【図９】
0003605826.tif 000028
【図１０】
0003605826.tif 000029
【図１１Ａ】
0003605826.tif 000030
【図１３】
0003605826.tif 000031
【図１４】
0003605826.tif 000032
【図１５】
0003605826.tif 000033
【図１６Ａ】
0003605826.tif 000034
【図１６Ｂ】
0003605826.tif 000035
【図１７】
0003605826.tif 000036
【図１８】
0003605826.tif 000037
【図１９】
0003605826.tif 000038
【図２０】
0003605826.tif 000039
【図２１】
0003605826.tif 000040
【図２２Ａ】
0003605826.tif 000041
【図２２Ｂ】
0003605826.tif 000042
【図２３】
0003605826.tif 000043
【図２４Ｂ】
0003605826.tif 000044
【図２５】
0003605826.tif 000045
0003605826.tif 000046
0003605826.tif 000047