(57)【要約】【課題】　最小限の容量のメモリで、ナビゲーションデータを、符号化が開始される前に記録することを可能とし、何れの符号化レートでも最適な画質を維持したまま、リアルタイムな符号化とナビゲーションデータの記録を可能とする。【解決手段】　ＶＢＶバッファ制御器４０は、符号化レートに基づいてピクチャタイプ毎の目標符号量とＶＢＶバッファ占有量の推移を求め、ＩピクチャやＰピクチャのデータの符号化時点でのＶＢＶバッファ占有量を所定の値に収束するように目標符号量を設定し、その設定した目標符号量に合うように量子化器４の量子化スケールを制御して符号量制御を行う。ユニットアドレス計算器１５では、ナビゲーションデータとして、サーチの際に使用するアドレス算出する。ユニット化器１７ではユニットを構成し、ナビゲーションデータ生成器１６ではナビゲーションデータをユニットの先頭に記述する。【選択図】　　　図１
2004140867.tif 000002
【特許請求の範囲】
【請求項１】
　所定単位の入力データを符号化する際に、符号化レートを決定し、復号時の復号バッファに相当する仮想バッファのバッファ占有量の推移を求めながら、符号化時点での前記仮想バッファのバッファ占有量を所定の値に収束するように符号化するデータ符号化方法において、
　前記符号化レートに対応して前記所定単位毎の目標符号量を求め、
　前記入力データのうちＭＰＥＧのＧＯＰ構造中の第１番目のリファレンスデータであるイントラピクチャーデータについては、前記仮想バッファのバッファ占有量を収束させる前記所定の値に基づいて設定された目標符号量となるように符号化し、
　前記符号化された符号化データを所定時間内に再生されるべきパック列としてユニット内に格納し、
　サーチのための基準ユニット及び当該基準ユニットの少なくとも前後に再生される所定数のユニットのアドレスと、当該ユニット内の前記第１番目のリファレンスデータの終了アドレスとを、前記符号化レートに基づいて求め、
　前記ユニットのアドレス及び前記ユニット内の前記第１番目のリファレンスデータの終了アドレスを当該ユニットの先頭に記述することを特徴とするデータ符号化方法。
【請求項２】
　前記ユニット内の前記第１番目のリファレンスデータであるイントラピクチャーデータの符号化の際には、前記仮想バッファのバッファ占有量を収束させる前記所定の値に基づいて設定された目標符号量に対して所定量だけ低く設定した仮目標符号量を求め、当該仮目標符号量での符号化による発生符号量と前記設定された目標符号量との差を無効ビットで調整して符号化を行うことを特徴とする請求項１記載のデータ符号化方法。
【請求項３】
　所定単位の入力データを符号化する際に、符号化レートを決定し、復号時の復号バッファに相当する仮想バッファのバッファ占有量の推移を求めながら、符号化時点での前記仮想バッファのバッファ占有量を所定の値に収束するように符号化するデータ符号化装置において、
　前記符号化レートに対応して前記所定単位毎の目標符号量を求める目標符号量計算手段と、
　前記入力データのうちＭＰＥＧのＧＯＰ構造中の第１番目のリファレンスデータであるイントラピクチャーデータについては、前記仮想バッファのバッファ占有量を収束させる前記所定の値に基づいて前記目標符号量を設定する目標符号量設定手段と、
　前記目標符号量設定手段からの前記目標符号量となるように前記第１番目のリファレンスデータを符号化する符号化手段と、
　前記符号化された符号化データを所定時間内に再生されるべきパック列としてユニット内に格納するユニット化手段と、
　サーチのための基準ユニット及び当該基準ユニットの少なくとも前後に再生される所定数のユニットのアドレスと、前記ユニット内の前記第１番目のリファレンスデータの終了アドレスとを、前記符号化レートに基づいて求めるアドレス決定手段と、
　前記ユニットのアドレス及び前記ユニット内の前記第１番目のリファレンスデータの終了アドレスを当該ユニットの先頭に記述する記述手段とを有することを特徴とするデータ符号化装置。
【請求項４】
　前記符号化制御手段は、前記ユニット内の前記第１番目のリファレンスデータであるイントラピクチャーデータの符号化の際に、前記仮想バッファのバッファ占有量を収束させる前記所定の値に基づいて設定された目標符号量に対して所定量だけ低く設定した仮目標符号量を求め、当該仮目標符号量での符号化による発生符号量と前記設定された目標符号量との差を無効ビットで調整するよう符号化を制御することを特徴とする請求項３記載のデータ符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は、例えば符号化したオーディオ及びビデオデータをそれぞれ所定時間内に再生されるべきパック列としてユニット内に格納するデータ符号化方法及び装置に関し、特に、オーディオ及びビデオデータの符号化に先行して、それらの符号化データの符号量に相当する値から算出されるデータ長や開始アドレスなどのナビゲーションデータを記述するような符号化において、画質を安定に保ちながら実現することができるデータ符号化方法及び装置に関する。
【背景技術】
【０００２】
　近年は、動画に対するデータ圧縮方式がＭＰＥＧ（Moving Picture Image Coding Expert Group）方式として国際標準化されるに至っている。このＭＰＥＧ方式は、映像データを可変圧縮する方式として知られている。このＭＰＥＧ方式には、ＭＰＥＧ１（ＭＰＥＧフェーズ１）やＭＰＥＧ２（ＭＰＥＧフェーズ２）と呼ばれる圧縮方式が規定されている。
【０００３】
　具体的には、ＭＰＥＧは、幾つかの技術を組み合わせて作成されており、先ず、入力画像信号から動き補償器で復号化した画像信号を差し引くことで時間冗長部分の削減を行う。
【０００４】
　予測の方法には、基本的なモードとして、過去の画像からの予測を行うモードと、未来の画像からの予測を行うモードと、過去と未来の両方の画像からの予測を行うモードとの３モードが存在する。またこれらのモードは、１６画素×１６画素のマクロブロック（ＭＢ：Macroblock）毎に切り替えて使用できる。予測方法は、入力画像に与えられたピクチャタイプ（Picture＿Type）によって決定される。ピクチャタイプには、片方向ピクチャ間予測符号化画像（Ｐピクチャ：P-picture）と、双方向ピクチャ間予測符号化画像（Ｂピクチャ：B-Picture）と、ピクチャ内独立符号化画像（Ｉピクチャ：I-picture）がある。過去の画像から予測を行って符号化するモードと予測をしないでそのマクロブロックを独立に符号化するモードとの２つのモードが存在するのが、Ｐピクチャ（片方向ピクチャ間予測符号化画像）である。また、未来の画像からの予測を行うモードと、過去の画像からの予測を行うモードと、過去と未来の両方の画像からの予測を行うモードと、予測をしないで独立に符号化するモードの４つのモードが存在するのが、Ｂピクチャ（双方向ピクチャ間予測符号化画像）である。そして、全てのマクロブロックを独立に符号化するのが、Ｉピクチャ（ピクチャ内独立符号化画像）である。なお、Ｉピクチャはイントラピクチャと呼ばれ、このため、片方向ピクチャ間予測符号化画像と双方向ピクチャ間予測符号化画像は非イントラピクチャということができる。
【０００５】
　動き補償では、動き領域をマクロブロック毎にパターンマッチングすることによってハーフペル精度で動きベクトルを検出し、その検出した動きベクトルの動き分だけマクロブロックをシフトしてから予測する。動きベクトルは、水平方向と垂直方向の動きベクトルが存在し、何処からの予測かを示すＭＣ（Motion Compensation）モードとともにマクロブロックの付加情報として伝送される。
【０００６】
　Ｉピクチャから次のＩピクチャの前のピクチャまではＧＯＰ（Group Of Picture）と呼ばれ、蓄積メディアなどで使用される場合には、一般に約１５ピクチャ程度が１ＧＯＰとして使用される。
【０００７】
　図８には、ＭＰＥＧが適用されるオーディオビデオ符号化装置のうち、ビデオエンコーダの基本的な構成を示している。
【０００８】
　この図８において、入力端子１０１には入力画像信号が供給され、この入力画像信号は演算器１０２と後述する動き補償予測器１１１に送られる。
【０００９】
　演算器１０２では、動き補償予測器１１１にて復号化した画像信号と入力画像信号との差分が求められ、その差分画像信号がＤＣＴ器１０３に送られる。
【００１０】
　ＤＣＴ器１０３では、供給された差分画像信号を直交変換する。ここでＤＣＴ（Discrete Cosine Transform）とは、余弦関数を積分核とした積分変換を有限空間への離散変換とする直交変換である。ＭＰＥＧではマクロブロックを４分割した８×８のＤＣＴブロックに対して、２次元ＤＣＴを行う。なお、一般に、ビデオ信号は低域成分が多く、高域成分が少ないため、ＤＣＴを行うと係数が低域に集中する。このＤＣＴ器１０３でのＤＣＴによって得られたデータ（ＤＣＴ係数）は、量子化器１０４に送られる。
【００１１】
　量子化器１０４では、ＤＣＴ器１０３からのＤＣＴ係数を量子化する。この量子化器１０４における量子化では、量子化マトリックスという８×８の２次元周波数を視覚特性で重み付けした値と、その全体をスカラー倍する量子化スケールという値で乗算した値とを量子化値として、ＤＣＴ係数をその量子化値で除算する。なお、当該ビデオエンコーダにて符号化された後の符号化データを、後にデコーダ（ビデオ復号装置）で復号して逆量子化するときは、そのビデオエンコーダにて使用した量子化値で乗算を行うことにより、元のＤＣＴ係数に近似している値を得ることができる量子化器１０４にて量子化されたデータは、可変長符号化器（ＶＬＣ）１０５に送られる。
【００１２】
　ＶＬＣ１０５は、量子化器１０４からの量子化データを可変長符号化する。このＶＬＣ１０５では、量子化された値のうち、直流（ＤＣ）成分に対しては、予測符号化の一つであるＤＰＣＭ（differential pulse code modulation）を使用して符号化する。一方、交流（ＡＣ）成分に対しては、低域から高域に向けていわゆるジグザグスキャン（zigzag scan）を行い、ゼロのラン長及び有効係数値を１つの事象とし、出現確率の高いものから符号長の短い符号を割り当てていく、いわゆるハフマン符号化を行う。また、このＶＬＣ１０５には、動き補償予測器１１１から動きベクトルと予測モードの情報も供給され、当該ＶＬＣ１０５は、可変長符号化データと共に、これら動きベクトルと予測モードの情報をマクロブロックの付加情報として出力する。ＶＬＣ１０５にて可変長符号化されたデータは、バッファメモリ１０６に送られる。
【００１３】
　バッファメモリ１０６では、ＶＬＣ１０５からの可変長符号化データを一時蓄える。その後、このバッファメモリ１０６から所定の転送レートで読み出された符号化データ（符号化ビットストリーム）は、出力端子１１３から出力されることになる。
【００１４】
　また、その出力される符号化データにおけるマクロブロック毎の発生符号量情報は、後述する符号量制御器１１２に送信される。この符号量制御器１１２は、マクロブロック毎の発生符号量と目標符号量との差分である誤差符号量を求め、当該誤差符号量に応じた符号量制御信号を生成して量子化器１０４にフィードバックすることにより、発生符号量制御を行う。当該符号量制御のために量子化器１０４にフィードバックされる符号量制御信号は、量子化器１０４における量子化スケールを制御するための信号である。
【００１５】
　一方、量子化器１０４にて量子化された画像データは、逆量子化器１０７にも送られる。
【００１６】
　この逆量子化器１０７では、量子化器１０４からの量子化データを逆量子化する。この逆量子化により得られたＤＣＴ係数データは、逆ＤＣＴ器１０８に送られる。
【００１７】
　逆ＤＣＴ器１０８は、逆量子化器１０７からのＤＣＴ係数データを逆ＤＣＴした後、演算器１０９に送る。
【００１８】
　演算器１０９では、逆ＤＣＴ器１０８の出力信号に動き補償予測器１１１からの予測差分画像を加算する。これにより、画像信号が復元される。
【００１９】
　この復元された画像信号は、画像メモリ１１０に一時蓄えられた後、読み出されて動き補償予測器１１１に送られる。
【００２０】
　画像メモリ１１０から動き補償予測器１１１に送られた画像信号は、演算器１０２にて差分画像を計算するためのリファレンスの復号化画像を生成するために使用される。
【００２１】
　動き補償予測器１１１では、入力画像信号から動きベクトルを検出し、その検出した動きベクトルの動き分だけ画像をシフトしてから予測を行う。この予測によりえられた予測差分画像信号が、演算器１０２及び１０９に送られることになる。また、動き補償予測器１１１にて検出された動きベクトルは、予測モード（ＭＣモード）の情報と共に、ＶＬＣ１０５に送られる。
【００２２】
　なお、上述のように差分画像信号の符号化を行うのはＰピクチャ及びＢピクチャの場合であり、Ｉピクチャの場合には入力画像信号をそのまま符号化する。
【００２３】
　図９には、図８に示したビデオエンコーダにて符号化された符号化データを復号するビデオデコーダの基本的な構成を示す。
【００２４】
　この図９において、入力端子１２１には符号化データが供給される。この符号化データは、可変長復号化器（ＶＬＤ）１２２に送られる。このＶＬＤ１２２は、図８のＶＬＣ１０５における可変長符号化の逆処理である可変長復号化を行う。当該可変長復号により得られるデータは、図８のＶＬＣ１０５への入力である量子化データに、動きベクトル及び予測モードの情報が付加されたものに相当する。ＶＬＤ１２２での可変長復号化により得られた量子化データは、逆量子化器１２３に送られる。
【００２５】
　逆量子化器１２３では、ＶＬＤ１２２からの量子化データを逆量子化する。当該逆量子化されたデータは、図８の量子化器１０４への入力であるＤＣＴ係数データに相当する。この逆量子化器１２３での逆量子化により得られたＤＣＴ係数データは、逆ＤＣＴ器１２４に送られる。また、動きベクトル及び予測モードの情報は、当該逆量子化器１２３から動き補償予測器１２７に送られる。
【００２６】
　逆ＤＣＴ器１２４では、逆量子化器１２３からのＤＣＴ係数を逆ＤＣＴする。
当該逆ＤＣＴ器１２４にて逆ＤＣＴされたデータは、図８のＤＣＴ器１０３への入力である差分画像信号に相当する。この逆ＤＣＴ器１２４にて逆ＤＣＴされた差分画像信号は、演算器１２５に送られる。
【００２７】
　演算器１２５では、逆ＤＣＴ器１２４からの差分画像信号に、動き補償予測器１２７からの予測差分画像を加算する。これにより、復号化データすなわち画像信号が復元される。この復元された画像信号は、図８の入力端子１０１への入力画像信号に略々相当する。当該復元された画像信号（復号化データ）は、出力端子１２８から出力されると同時に、一時、画像メモリ１２６に蓄えられた後、動き補償予測器１２７に送られる。
【００２８】
　動き補償予測器１２７では、動きベクトル及び予測モードに基づいて、画像メモリ１２６から供給された画像信号から予測差分画像を生成し、この予測差分画像を演算器１２５に送る。
【００２９】
　ＭＰＥＧ２では、前述したように、ビデオデータ及びオーディオデータを同期して転送、且つ再生できるように、それぞれのデータを基準時刻を用いて表現した転送開始時刻と再生時刻を設定することが規定されているが、これらの転送開始時刻や再生開始時刻の情報だけでは、通常再生には問題がないものの、早送りや巻き戻し再生、ランダム再生等の特殊再生や、インタラクティブ性をシステムに持たせる等の再生処理が困難であることが指摘されている。
【００３０】
　このようなことから、特開平８−２７３３０４号公報に開示されているように、ＭＰＥＧにて符号化されたオーディオ及びビデオデータを所定時間内に再生されるべきパック列としてビデオオブジェクトユニット内に格納し、さらに、このユニットを再生するための再生情報及びサーチをするためのサーチ情報を、当該パック列の先頭にナビゲーションデータとして記録したようなアプリケーションが存在する。
【００３１】
　ビデオオブジェクトユニット及びナビゲーションデータについては特開平８−２７３３０４号公報にて既に開示及び詳述されているため、その詳細な説明は省略するが、図１０に示すように、ビデオオブジェクトユニット８５は複数集まってセル８４を構成し、またセル８４は複数集まってビデオオブジェクト８３を構成し、さらに、このビデオオブジェクト８３が複数集まってビデオオブジェクトセット８２を構成している。
【００３２】
　ビデオオブジェクトユニット８５は、１つのナビゲーションパック８６を先頭に有するパック列として定義されている。また、このビデオオブジェクトユニット８５内には、ＭＰＥＧ規格に定められたビデオパック８８、副映像パック９０及びオーディオパック９１が配置される。また、ビデオオブジェクトユニット８５には再生順序に従った番号が付されており、当該ビデオオブジェクトユニット８５の再生時間はビデオオブジェクトユニット８５中に含まれる単数又は複数個のＧＯＰから構成されるビデオデータの再生時間に相当する。
【００３３】
　ナビゲーションパック８６には、ビデオオブジェクトユニット８５を再生するための再生制御情報及びサーチをするためのサーチ情報等が、ナビゲーションデータとして配されている。再生制御情報は、ビデオオブジェクトユニット８５内のビデオデータの再生状態に同期してプレゼンテーションするため、つまり表示の内容を変更するためのナビゲーションデータである。すなわち再生制御情報は、プレゼンテーションデータの状態に従って再生条件を決定するための情報であり、データストリーム上に分散配置されたリアルタイム制御データである。また、サーチ情報は、ビデオオブジェクトユニット８５のサーチを実行する為のナビゲーションデータである。すなわち、当該サーチ情報は、順早送り／逆早戻し再生とシームレス再生のための情報であり、データストリーム上に分散配置されたリアルタイム制御データである。
【００３４】
　特に、ビデオオブジェクトユニット８５をサーチするためのサーチ情報には、セル８４内の先頭アドレスを特定する為の情報が記述される。すなわち、ビデオオブジェクトユニット８５のサーチ情報には、当該サーチ情報を含むビデオオブジェクトユニット８５を基準の第０番とし、再生順序に従って順方向に再生するためのアドレス（フォワードアドレス）として、第１番（＋１）から第２０番（＋２０）、第６０番（＋６０）、第１２０番（＋１２０）及び第２４０番（＋２４０）までのビデオオブジェクトユニット８５の番号（スタートアドレス）が記載される。同様に、ビデオオブジェクトユニット８５のサーチ情報には、当該サーチ情報を含むビデオオブジェクトユニット８５を基準の第０番とし、再生順序とは逆方向に再生するためのアドレス（バックワードアドレス）として第１番（−１）から第２０番（−２０）、第６０番（−６０）、第１２０番（−１２０）及び第２４０番（−２４０）までのビデオオブジェクトユニット８５のスタートアドレスが記載される。
【発明の開示】
【発明が解決しようとする課題】
【００３５】
　ところで、上述のようなビデオオブジェクトユニットを再生するための再生制御情報及びサーチをするためのサーチ情報を含むナビゲーションデータを、ＭＰＥＧ符号化を開始する前に、ナビゲーションパック内に記述するためには、記憶容量の大きなメモリが必要であり、さらに当該符号化が終了した後に、その符号化結果（符号量）を観測して、所定の再生情報情報を算出して、ナビゲーションデータを生成しなければならない。
【００３６】
　また、特開平８−２７３３０４号公報に記載されているように、そのビデオオブジェクトユニットを再生順序で第０番とし、そのビデオオブジェクトユニットを基準として、少なくともその再生順序で前後１５番まで再生されるビデオオブジェクトユニットのアドレス、再生順序において第２０番、第３０番、第６０番、第１２０番、及び第２４０番までのビデオオブジェクトユニットのアドレスを記述しようとした場合、基本的にＭＰＥＧビデオの符号化データが可変長符号化によるものであるため、いわゆる２パスによる符号化などのように、全部のビデオ符号化データが揃ってからでないと、ビデオオブジェクトユニットのアドレスを算出することができず、したがって、リアルタイムな符号化とナビゲーションデータの記録が出来ない。
【００３７】
　本発明は、上述の課題に鑑みてなされたものであり、最小限の容量のメモリで、ビデオオブジェクトユニットを再生するための再生制御情報及びサーチをするためのサーチ情報を記述するナビゲーションデータを、符号化が開始される前に記述することを可能とし、また、どのような符号化レートであっても最適な画質を維持したまま、リアルタイムな符号化とナビゲーションデータの記載とを可能とするデータ符号化方法及び装置の提供を目的とする。
【課題を解決するための手段】
【００３８】
　請求項１記載の本発明に係るデータ符号化方法は、上述の課題を解決するために、所定単位の入力データを符号化する際に、符号化レートを決定し、復号時の復号バッファに相当する仮想バッファのバッファ占有量の推移を求めながら、符号化時点での前記仮想バッファのバッファ占有量を所定の値に収束するように符号化するデータ符号化方法において、
　前記符号化レートに対応して前記所定単位毎の目標符号量を求め、
　前記入力データのうちＭＰＥＧのＧＯＰ構造中の第１番目のリファレンスデータであるイントラピクチャーデータについては、前記仮想バッファのバッファ占有量を収束させる前記所定の値に基づいて設定された目標符号量となるように符号化し、
　前記符号化された符号化データを所定時間内に再生されるべきパック列としてユニット内に格納し、
　サーチのための基準ユニット及び当該基準ユニットの少なくとも前後に再生される所定数のユニットのアドレスと、当該ユニット内の前記第１番目のリファレンスデータの終了アドレスとを、前記符号化レートに基づいて求め、
　前記ユニットのアドレス及び前記ユニット内の前記第１番目のリファレンスデータの終了アドレスを当該ユニットの先頭に記述することを特徴とするものである。
【００３９】
　請求項２記載の本発明に係るデータ符号化方法は、上述の課題を解決するために、請求項１記載のデータ符号化方法において、前記ユニット内の前記第１番目のリファレンスデータであるイントラピクチャーデータの符号化の際には、前記仮想バッファのバッファ占有量を収束させる前記所定の値に基づいて設定された目標符号量に対して所定量だけ低く設定した仮目標符号量を求め、当該仮目標符号量での符号化による発生符号量と前記設定された目標符号量との差を無効ビットで調整して符号化を行うことを特徴とするものである。
【００４０】
　請求項３記載の本発明に係るデータ符号化装置は、上述の課題を解決するために、所定単位の入力データを符号化する際に、符号化レートを決定し、復号時の復号バッファに相当する仮想バッファのバッファ占有量の推移を求めながら、符号化時点での前記仮想バッファのバッファ占有量を所定の値に収束するように符号化するデータ符号化装置において、
　前記符号化レートに対応して前記所定単位毎の目標符号量を求める目標符号量計算手段と、
　前記入力データのうちＭＰＥＧのＧＯＰ構造中の第１番目のリファレンスデータであるイントラピクチャーデータについては、第１番目のリファレンスデータについては、前記仮想バッファのバッファ占有量を収束させる前記所定の値に基づいて前記目標符号量を設定する目標符号量設定手段と、
　前記目標符号量設定手段からの前記目標符号量となるように前記第１番目のリファレンスデータを符号化する符号化手段と、
　前記符号化された符号化データを所定時間内に再生されるべきパック列としてユニット内に格納するユニット化手段と、
　サーチのための基準ユニット及び当該基準ユニットの少なくとも前後に再生される所定数のユニットのアドレスと、前記ユニット内の前記第１番目のリファレンスデータの終了アドレスとを、前記符号化レートに基づいて求めるアドレス決定手段と、
　前記ユニットのアドレス及び前記ユニット内の前記第１番目のリファレンスデータの終了アドレスを当該ユニットの先頭に記述する記述手段とを有することを特徴とするデータ符号化装置である。
【００４１】
　請求項４記載の本発明に係るデータ符号化装置は、上述の課題を解決するために、請求項３記載のデータ符号化装置において、前記符号化制御手段は、前記ユニット内の前記第１番目のリファレンスデータであるイントラピクチャーデータの符号化の際に、前記仮想バッファのバッファ占有量を収束させる前記所定の値に基づいて設定された目標符号量に対して所定量だけ低く設定した仮目標符号量を求め、当該仮目標符号量での符号化による発生符号量と前記設定された目標符号量との差を無効ビットで調整するよう符号化を制御することを特徴とするものである。
【発明の効果】
【００４２】
　請求項１記載の本発明に係るデータ符号化方法は、所定単位の入力データを符号化する際に、符号化レートを決定し、復号時の復号バッファに相当する仮想バッファのバッファ占有量の推移を求めながら、符号化時点での前記仮想バッファのバッファ占有量を所定の値に収束するように符号化するデータ符号化方法において、前記符号化レートに対応して前記所定単位毎の目標符号量を求め、前記入力データのうちＭＰＥＧのＧＯＰ構造中の第１番目のリファレンスデータであるイントラピクチャーデータについては、前記仮想バッファのバッファ占有量を収束させる前記所定の値に基づいて設定された目標符号量となるように符号化し、前記符号化された符号化データを所定時間内に再生されるべきパック列としてユニット内に格納し、サーチのための基準ユニット及び当該基準ユニットの少なくとも前後に再生される所定数のユニットのアドレスと、当該ユニット内の前記第１番目のリファレンスデータの終了アドレスとを、前記符号化レートに基づいて求め、前記ユニットのアドレス及び前記ユニット内の前記第１番目のリファレンスデータの終了アドレスを当該ユニットの先頭に記述することにより、最小限の容量のメモリを用いて、例えばユニットを再生するための再生制御情報及びサーチをするためのサーチ情報を記述するためのアドレスを、符号化が開始される前に記録することが可能であり、また、符号化レート値に対応する目標符号量を決定できるので、符号化を行うに当って、それらの値を統計的にもっとも信号品質が良くなる値にすることで、どのような符号化レートでも最適な信号品質を維持したまま、符号化を行うことが可能となる。とくに、ＭＰＥＧのＧＯＰ構造中の第１番目のリファレンスデータであるイントラピクチャーデータの終了アドレスを記述することで、毎ＧＯＰのはじめのイントラピクチャーのデータだけをアクセスして、デコーダーに伝送することができる。即ち、本来ならば、イントラをＶＬＣまでとくか、次のピクチャーヘッダーをサーチしていかないとイントラの終了位置が分からないのに対して、このデータ符号化方法を用いれば、終了アドレス情報に従ってそこまでのデータを、デコーダーに簡単にスピーディに伝送することが可能となる。これによりＭＰＥＧなどの可変長符号化データの１５倍速などのトリックプレイが、簡単にスピーディな処理だけで実現できる。
【００４３】
　請求項２記載の本発明に係るデータ符号化方法は、請求項１記載のデータ符号化方法において、前記ユニット内の前記第１番目のリファレンスデータであるイントラピクチャーデータの符号化の際には、前記仮想バッファのバッファ占有量を収束させる前記所定の値に基づいて設定された目標符号量に対して所定量だけ低く設定した仮目標符号量を求め、当該仮目標符号量での符号化による発生符号量と前記設定された目標符号量との差を無効ビットで調整して符号化を行うことにより、符号量を非常に正確に制御でき、実際の符号化データとアドレスとが矛盾する可能性を非常に低くすることが可能である。
【００４４】
　請求項３記載の本発明に係るデータ符号化装置は、所定単位の入力データを符号化する際に、符号化レートを決定し、復号時の復号バッファに相当する仮想バッファのバッファ占有量の推移を求めながら、符号化時点での前記仮想バッファのバッファ占有量を所定の値に収束するように符号化するデータ符号化装置において、前記符号化レートに対応して前記所定単位毎の目標符号量を求める目標符号量計算手段と、前記入力データのうちＭＰＥＧのＧＯＰ構造中の第１番目のリファレンスデータであるイントラピクチャーデータについては、第１番目のリファレンスデータについては、前記仮想バッファのバッファ占有量を収束させる前記所定の値に基づいて前記目標符号量を設定する目標符号量設定手段と、前記目標符号量設定手段からの前記目標符号量となるように前記第１番目のリファレンスデータを符号化する符号化手段と、前記符号化された符号化データを所定時間内に再生されるべきパック列としてユニット内に格納するユニット化手段と、サーチのための基準ユニット及び当該基準ユニットの少なくとも前後に再生される所定数のユニットのアドレスと、前記ユニット内の前記第１番目のリファレンスデータの終了アドレスとを、前記符号化レートに基づいて求めるアドレス決定手段と、前記ユニットのアドレス及び前記ユニット内の前記第１番目のリファレンスデータの終了アドレスを当該ユニットの先頭に記述する記述手段とを有することにより、最小限の容量のメモリで、例えばユニットを再生するための再生制御情報及びサーチをするためのサーチ情報を記述するためのアドレスを、符号化が開始される前に記録することが可能であり、また、符号化レート値に対応する目標符号量を決定できるので、符号化を行うに当って、それらの値を統計的にもっとも信号品質が良くなる値にすることで、どのような符号化レートでも最適な信号品質を維持したまま、符号化を行うことが可能となる。とくに、ＭＰＥＧのＧＯＰ構造中の第１番目のリファレンスデータであるイントラピクチャーデータの終了アドレスを記述することで、毎ＧＯＰのはじめのイントラピクチャーのデータだけをアクセスして、デコーダーに伝送することができる。即ち、本来ならば、イントラをＶＬＣまでとくか、次のピクチャーヘッダーをサーチしていかないとイントラの終了位置が分からないのに対して、このデータ符号化装置を用いれば、終了アドレス情報に従ってそこまでのデータを、デコーダーに簡単にスピーディに伝送することが可能となる。これによりＭＰＥＧなどの可変長符号化データの１５倍速などのトリックプレイが、簡単にスピーディな処理だけで実現できる。
【００４５】
　請求項４記載の本発明に係るデータ符号化装置は、請求項３記載のデータ符号化装置において、前記符号化制御手段は、前記ユニット内の前記第１番目のリファレンスデータであるイントラピクチャーデータの符号化の際に、前記仮想バッファのバッファ占有量を収束させる前記所定の値に基づいて設定された目標符号量に対して所定量だけ低く設定した仮目標符号量を求め、当該仮目標符号量での符号化による発生符号量と前記設定された目標符号量との差を無効ビットで調整するよう符号化を制御することにより、符号量を非常に正確に制御でき、実際の符号化データとアドレスとが矛盾する可能性を非常に低くすることが可能である。
【発明を実施するための最良の形態】
【００４６】
以下、図面を参照して本発明の実施の形態の説明を行う。
【実施例１】
【００４７】
　図１には、本発明のデータ符号化方法及び装置が適用される第１の実施の形態のオーディオビデオ符号化装置の概略的な構成を示す。なお、図１には、ビデオデータの符号化を行うビデオエンコーダの構成を主に示しており、オーディオデータの符号化を行うオーディオエンコーダの構成については図示を省略している。
【００４８】
　この図１において、入力端子１には入力画像信号が供給され、この入力画像信号は演算器２と動き補償予測器１１に送られる。
【００４９】
　演算器２では、動き補償予測器１１にて復号化した画像信号と入力画像信号との差分を求め、その差分画像信号をＤＣＴ器３に送る。なお、差分画像信号の符号化を行うのはＰピクチャ及びＢピクチャの場合であり、Ｉピクチャの場合には入力画像信号をそのまま符号化するが、以下の説明では差分画像信号を符号化する場合を例に挙げて説明する。
【００５０】
　ＤＣＴ器３では、演算器２から供給された差分画像信号を直交変換する。このＤＣＴ器３でのＤＣＴ処理によって得られたデータ（ＤＣＴ係数）は、量子化器４に送られる。
【００５１】
　量子化器４では、ＤＣＴ器３からのＤＣＴ係数を量子化し、その量子化データを可変長符号化（ＶＬＣ）器５に送る。
【００５２】
　ＶＬＣ器５では、量子化器４からの量子化データを可変長符号化する。また、このＶＬＣ器５には、動き補償予測器１１から動きベクトルと予測モードの情報も供給され、当該ＶＬＣ器５は、可変長符号化データと共に、これら動きベクトルと予測モードの情報をマクロブロックの付加情報として出力する。当該ＶＬＣ器５にて可変長符号化されたデータは、一時、バッファメモリ６に蓄えられた後、このバッファメモリ６から所定の転送レートで読み出され、ビデオ符号化データとして後述するユニット化器１７に送られる。
【００５３】
　また、バッファメモリ６から出力されるビデオ符号化データにおけるマクロブロック毎の発生符号量は、ＶＢＶバッファ制御器４０に送信される。このＶＢＶバッファ制御器４０は、詳細については後述するが、復号時に復号バッファ占有量がオーバーフローやアンダーフローしないように、ＭＰＥＧにおいてＶＢＶバッファと呼ばれている仮想的な復号バッファを設定し、このＶＢＶバッファの占有量に基づいて実際の符号化による発生符号量を制御するものである。当該ＶＢＶバッファ制御器４０は、符号化の際の発生符号量制御のための符号量制御信号を発生し、量子化器４にフィードバックする。この量子化器４にフィードバックされる符号量制御信号は、量子化器４における量子化スケールを制御するための信号である。
【００５４】
　一方、量子化された画像データは、逆量子化器７にも送られる。
【００５５】
　逆量子化器７では、量子化器４からの量子化データを逆量子化する。この逆量子化により得られたＤＣＴ係数データは、逆ＤＣＴ器８に送られる。
【００５６】
　逆ＤＣＴ器８では、逆量子化器７からのＤＣＴ係数データを逆ＤＣＴ処理した後、演算器９に送る。
【００５７】
　演算器９では、動き補償予測器１１からの予測差分画像と逆ＤＣＴ器８からの信号とを加算する。これにより、画像信号が復元される。この復元された画像信号は、一時、画像メモリ１０に蓄えられた後、動き補償予測器１１に送られる。
当該画像メモリ１０から動き補償予測器１１に送られた画像信号は、演算器２にて差分画像を計算するためのリファレンスの復号化画像を生成するために使用される。
【００５８】
　動き補償予測器１１では、入力画像信号から動きベクトルを検出し、その検出した動きベクトルの動き分だけ画像をシフトしてから予測を行う。この予測により得られた予測差分画像信号が、演算器２及び演算器９に送られることになる。
また、動き補償予測器１１にて検出された動きベクトルは、予測モード（ＭＣモード）の情報と共に、ＶＬＣ器５に送られる。
【００５９】
　ここまでの構成は前述した図８と略々同様であるが、本発明の第１の実施の形態のオーディオビデオ符号化装置では、更に以下のような構成を有している。
【００６０】
　オーディオビデオ符号化レート決定器１３では、これから符号化しようとするオーディオ及びビデオの符号化レートが決定される。なお、このオーディオ及びビデオの符号化レートは、ユーザが決定しても、また、自動的に設定されても良い。当該オーディオビデオ符号化レート決定器１３にて決定された符号化レート情報は、ＶＢＶバッファ制御器４０及びユニットアドレス計算器１５に送られる。
【００６１】
　ここで、当該第１の実施の形態のオーディオビデオ符号化装置のＶＢＶバッファ制御器４０での処理を、図２を用いて以下に説明する。
【００６２】
　この図２において、ＶＢＶバッファ制御器４０の端子５３には、バッファメモリ６からのマクロブロック毎の発生符号量情報が入力される。また、端子５２には、オーディオビデオ符号化レート決定器１３にて決定された符号化レート情報が入力され、端子５１からは、量子化器４に対する符号量制御信号（量子化スケールを制御するための信号、すなわち量子化値）が出力される。
【００６３】
　端子５２に入力された符号化レート情報は、目標符号量計算器５６とＶＢＶバッファ推移観測器５７とに送られる。目標符号量計算器５６は、符号化レート情報に基づいてピクチャ単位で目標となる符号量（目標符号量）を計算する。
【００６４】
　以下に、ＶＢＶバッファ制御器４０におけるピクチャ単位での目標符号量の計算から発生符号量の制御までの流れについて説明する。
【００６５】
　例えば、ビデオオブジェクトユニットの目標符号量をＴ(U)とし、また、１ビデオオブジェクトユニットを１ＧＯＰ、１ＧＯＰを１５フレームとする。この１ビデオオブジェクトユニットは時間にして０．５秒に相当するので、当該ビデオオブジェクトユニット（１ＧＯＰの１５ピクチャ分）の目標符号量Ｔ(U)の計算式は、例えば以下の式（１）のようになる。ただし、式中のＮは転送レート（Ｍｂｐｓ）である。
【００６６】
　　Ｔ(U)＝Ｎ／２　　（Ｍビット）　　　　 （１）
　目標符号量計算器５６では、当該式（１）の計算によって、ビデオオブジェクトユニット毎の目標符号量を求める。
【００６７】
　次に、目標符号量計算器５６では、こうして決定したビデオオブジェクトユニットの目標符号量に基づいて、以下に説明するように、第１のステップにより各ピクチャ毎の目標符号量の設定（符号量配分）を行う。
【００６８】
　具体的に説明すると、ＶＢＶバッファ制御器４０の目標符号量計算器５６では、当該第１のステップとして、ＧＯＰ内の各ピクチャに対する目標符号量を、符号化対象のピクチャを含めＧＯＰ内で未だ符号化されていないピクチャに対する目標符号量Ｒを基にして配分する、この配分をＧＯＰ内の符号化ピクチャ順に繰り返す。その際、以下のような２つの仮定を用いて各ピクチャへの目標符号量を設定する。
【００６９】
　第１の仮定として、各ピクチャを符号化する際に用いる平均量子化スケールと発生符号量との積は、画面が変化しない限りピクチャタイプ毎に一定値となると仮定する。各ピクチャを符号化した後、各ピクチャタイプ毎に所定の重み付けパラメータ（例えば画面の複雑さを示す重み付けパラメータ）Ｘｉ，Ｘｐ，Ｘｂを、以下の式（２）〜式（４）により更新する。
【００７０】
　　Ｘｉ＝Ｓｉ×Ｑｉ　　　　　（２）
　　Ｘｐ＝Ｓｐ×Ｑｐ　　　　　（３）
　　Ｘｂ＝Ｓｂ×Ｑｂ　　　　　（４）
　なお、これら式中のｉはＩピクチャを、ｐはＰピクチャを、ｂはＢピクチャを表す。また、これら式中のＳｉ，Ｓｐ，Ｓｂは各ピクチャの一つ前の同ピクチャタイプの符号化結果の発生符号量であり、Ｑｉ，Ｑｐ，Ｑｂは各ピクチャの符号化時の平均量子化スケールである。すなわち、重み付けパラメータＸｉ，Ｘｐ，Ｘｂは、これら式（２）〜式（４）から、一つ前の同ピクチャタイプの符号化結果の発生符号量Ｓと平均量子化スケールＱの積で定義される。
【００７１】
　また、第２の仮定として、独立符号化されるＩピクチャの量子化スケールＱｉを基準とし、このＩピクチャの量子化スケールＱｉとＰピクチャの量子化スケールＱｐとの比率ＫｐがＫｐ＝１．０、Ｉピクチャの量子化スケールＱｉとＢピクチャの量子化スケールＱｂとの比率ＫｂがＫｂ＝１．４となるときに、常に全体の画質が最適化される（理想的な画質が達成される）と仮定する。
【００７２】
　これら第１，第２の仮定の元で、目標符号量計算器４０では、例えば以下の式（５）〜（７）により、Ｉピクチャの目標符号量Ｔｉ、Ｐピクチャの目標符号量Ｔｐ、Ｂピクチャの目標符号量Ｔｂを求める。
【００７３】
【数１】
2004140867.tif 000003
　ただし、これら式（５）〜式（７）中のＮｐ，ＮｂはＧＯＰ内のＰピクチャやＢピクチャの未符号化ピクチャ枚数である。
【００７４】
　すなわち、先ず、ＧＯＰ内の未符号化ピクチャのうち、符号化対象となるピクチャとピクチャタイプの異なるピクチャについては、上述した画質最適化条件のもとで、そのピクチャの発生する符号量が、符号化対象ピクチャの発生符号量の何倍となるか推定する。
【００７５】
　次に、未符号化ピクチャ全体で発生する推定符号量が、符号化対象ピクチャの何枚分の符号量に相当するかを求める。符号化対象ピクチャに対する目標符号量は、未符号化ピクチャに対する目標符号量Ｒを、この枚数で割ることによって与えられる。このようにして求めた目標符号量を基にして、各ピクチャタイプを符号化する毎に、ＧＯＰ内の未符号化ピクチャに対する目標符号量Ｒを、下記式（８）〜式（１０）のように更新する。
【００７６】
　　Ｒ＝Ｒ−Ｓｉ　　　　　　　（８）　　
　　Ｒ＝Ｒ−Ｓｐ　　　　　　　（９）
　　Ｒ＝Ｒ−Ｓｂ　　　　　　　（１０）
　次に、ＶＢＶバッファ制御器４０では、目標符号量発生符号量比較器５５において、目標符号量計算器５６の第１のステップで求められた各ピクチャに対する目標符号量Ｔｉ，Ｔｐ，Ｔｂと、図２の端子５３を介してバッファメモリ６から供給された実際の発生符号量とを比較し、各ピクチャの目標符号量に対する発生符号量との誤差符号量を生成する。この誤差符号量情報は、フィードバック量子化値決定器５４に送られる。
【００７７】
　当該フィードバック量子化値決定器５４では、第２のステップとして、各ピクチャに対する目標符号量Ｔｉ，Ｔｐ，Ｔｂと実際の発生符号量とを一致させるために、各ピクチャタイプ毎に独立に設定した３種類の仮想バッファの容量を元に、量子化スケールをマクロブロック単位のフィードバック制御で求める。
【００７８】
　すなわち、先ず、例えばｊ番目のマクロブロックの符号化に先立ち、仮想バッファの占有量を、下記式（１１）〜（１３）にて求める。
【００７９】
【数２】
2004140867.tif 000004
　これら式中のｄ０i，ｄ０p，ｄ０bは各ピクチャタイプ毎の仮想バッファの初期占有量で、Ｂjはピクチャの先頭からｊ番目のマクロブロックまでの発生ビット量、ＭＢ＿cntはＩピクチャ内のマクロブロック数である。
【００８０】
　次に、ｊ番目のマクロブロックに対する量子化スケールＱｊを下記式（１４）により計算する。
【００８１】
　　Ｑj＝ｄｊ×３１／ｒ　　　（１４）
　なお、式中のｒはフィードバックの応答速度を決定するパラメータであり、当該ｒは下記式（１５）で与えられる。
【００８２】
　　ｒ＝２×bit_rate／picture_rata　　　（１５）
　上述したアルゴリズムは、ＭＰＥＧ標準化で使用されたテストモデルＴＭ５に記載されており、１９９５年テレビジョン学会誌vol49、No.4、P４５５〜４５６にも掲載されている。
【００８３】
　ここで、本発明の第１の実施の形態のオーディオビデオ符号化装置の場合、ＶＢＶバッファ制御器４０では、前述したように目標符号量計算器５６が第１のステップとして各ピクチャの目標符号量を計算した時点で、ＶＢＶバッファ推移観測器５７において、前記ＶＢＶバッファの推移をその目標符号量で符号化したと仮定した場合のＶＢＶバッファ値を予め予想し、その予想値の基づいて目標符号量を設定するようにしている。すなわち、ＶＢＶバッファ推移観測器５７では、端子５３を介してバッファメモリ６から供給される発生符号量と、端子５２を介してオーディオビデオ符号化レート決定器１３から供給される符号化レートとに基づいて、ＶＢＶバッファ量を監視し、そのＶＢＶバッファ量に基づいて、目標符号量計算器５６が第１のステップにて設定した目標符号量を設定するようにしている。
【００８４】
　ところで、一般的なＭＰＥＧにおけるＶＢＶバッファ制御器は、本来は、図３に示すように、復号装置において復号を行ったとした場合に復号バッファ（符号化装置におけるＶＢＶバッファ）の占有値がどのように推移しているかを予想しながら符号量を制御するものである。当該予想に用いるバッファ（ＶＢＶバッファ）はあくまで仮想バッファであるが、ＭＰＥＧではＣＢＲ（constant bit rate）の場合に、当該ＶＢＶバッファの最大容量（MaxValue値）をオーバーフローしないように、また、最小容量（０）をアンダーフローしないように制御しながら符号化を行わなければならない。なお、図３の縦軸はこの仮想的な復号装置の復号バッファ（すなわちＶＢＶバッファ）の占有量を表し、横軸は時間を表している。また、バッファ占有量の変化を表す傾きは、転送レートすなわち符号化レートに相当する。
【００８５】
　この図３では、標準テレビジョン放送方式のＮＴＳＣ（National Television System Committee）に対応したビデオ信号を符号化した場合を例に上げており、したがって、各ピクチャの復号タイミングは１／２９．９７秒単位で行われることになる。すなわち、復号バッファ（ＶＢＶバッファ）には、ビデオオブジェクトユニットの第１番目のピクチャであるＩピクチャの１２０Ｋビットの圧縮データが初期値として溜められ、その後、この１２０Ｋビット分のデータが読み出されて復号されることになる。ただし、当該ＶＢＶバッファにおける復号は仮想的な復号であり、ＭＰＥＧで規定したモデルでは時間０で一瞬にして復号されることになるため、このときのＶＢＶバッファ（復号バッファ）からは１２０Ｋビットのデータが一瞬に抜き取られる。次に、１／２９．９７秒かけて第２番目のピクチャであるＰピクチャの８０Ｋビット分の圧縮データが当該復号バッファ（ＶＢＶバッファ）に入力され、その後、当該Ｐピクチャの復号のためにその８０Ｋビットの圧縮データが一瞬にして抜き取られる。次に、１／２９．９７秒かけて第３番目のピクチャであるＢピクチャの４０Ｋビット分の圧縮データが当該復号バッファ（ＶＢＶバッファ）に入力され、その後、当該Ｂピクチャの復号のためにその４０Ｋビットの圧縮データが一瞬にして抜き取られる。以下、各ピクチャについて上述同様のデータ入力と抜き取り処理がなされる。
【００８６】
　このように、ＭＰＥＧにおける一般的なＶＢＶバッファ制御は、復号バッファ（ＶＢＶバッファ）に入力される圧縮データの転送レート、すなわち図３のグラフの直線の傾きに相当する符号化レートに依存する。
【００８７】
　これに対し、本発明の第１の実施の形態のオーディオビデオ符号化装置では、ＶＢＶバッファ制御器４０のＶＢＶバッファ推移観測器５７において、端子５３を介してバッファメモリ６から供給される発生符号量と、端子５２を介してオーディオビデオ符号化レート決定器１３から供給される符号化レートとに基づいてＶＢＶバッファ量を監視し、図３と同様に表記する図４に示すように、ビデオオブジェクトユニット内で最初に他の画像の復号のために参照されることになる第１のリファレンス画像の符号化時点（すなわち独立符号化される画像データであるＩピクチャの符号化時点）では、当該ＶＢＶバッファ占有値を図中ＶＢＶ値１に収束するようにし、次に、他の画像の復号のために参照されることになる第２のリファレンス画像の復号化時点（すなわち最初のＰピクチャの符号化時点）では、ＶＢＶバッファ占有値を図中ＶＢＶ値２に収束するように、さらに次に、他の画像の復号のために参照されることになる第３のリファレンス画像の復号化時点（すなわち次のＰピクチャの符号化時点）では、ＶＢＶバッファ占有値を図中ＶＢＶ値３に収束するようにする処理を繰り返し、ビデオオブジェクトユニットの最後の画像符号化時点（すなわち最後のＢピクチャの符号化時点）のＶＢＶバッファ占有値を図中ＶＢＶ値Ｅに収束するように、目標符号量計算器５６が第１のステップにて設定した目標符号量を設定するようにしている。
【００８８】
　このように、ＶＢＶバッファ制御器４０において、独立符号化されるＩピクチャと、復号時に他の画像の参照画像となるＰピクチャと、ビデオオブジェクトユニットの最後のＢピクチャの目標符号量とを設定することにより、後述するユニットアドレス計算器１５において、サーチのための基準ユニット及び当該基準ユニットの少なくとも前後に再生される所定数のユニットのアドレスと、当該ユニット内のデータのうち前記独立符号化されるＩピクチャ、及び復号時に他のデータの参照データとなされるＰピクチャ、及びビデオオブジェクトユニットの最後のＢピクチャの各終了アドレスの計算が非常に容易となり、予め指定したアドレス値に簡単に制御することが可能となる。
【００８９】
　図１に戻り、ユニットアドレス計算器１５では、図４にて説明したのと同様のＶＢＶ値１〜ＶＢＶ値Ｅと転送レート情報（符号化レート情報）とを用い、以下に説明する各式によって、図５に示すようにビデオオブジェクトユニット内で最初に他の画像の復号のために参照されることになる第１のリファレンス画像（独立符号化される画像データであるＩピクチャ）の終了アドレス１ＥＡを計算し、他の画像の復号のために参照されることになる第２のリファレンス画像（最初のＰピクチャ）の終了アドレス２ＥＡを計算し、次に他の画像の復号のために参照されることになる第３のリファレンス画像（次のＰピクチャ）の終了アドレス３ＥＡを計算し、以下同様に、各リファレンス画像の終了アドレスを計算し、さらに、ビデオオブジェクトユニットの最後の画像（最後のＢピクチャ）の終了アドレスＴＥＡを計算する。
【００９０】
　ここで、オーディオビデオ符号化レート決定器１３からの符号化レート情報のうち、ビデオデータの符号化レートをVideoRate（ｋｂｐｓ）とし、オーディオデータの符号化レートをAudioRate（ｋｂｐｓ）とすると、ビデオオブジェクトユニットの最後の画像（Ｂピクチャ）の終了アドレスＴＥＡは、次式（１６）のように算出される。
【００９１】
　ＴＥＡ＝（VideoRate＋AudioRate）×15／29.97 　 （１６）
　また、ＶＢＶバッファに予め設定した最大容量をMaxValueとし、図５に示したように、ビデオオブジェクトユニット内のＩピクチャの終了アドレスを１ＥＡとし、ビデオオブジェクトユニット内の最初のＰピクチャの終了アドレスを２ＥＡ、ビデオオブジェクトユニット内の次のＰピクチャの終了アドレスを３ＥＡとすると、これら終了アドレス１ＥＡ〜３ＥＡは、下記式（１７）〜式（１９）のように算出される。
【００９２】
　1EA =(MaxValue-VBV値1)+(AudioRate)×1/29.97　　　　　　　　　　(17)
　2EA =(MaxValue-VBV値1)+(VideoRate)×3/29.97-(VBV値2-VBV値1)
　　　 +(AudioRate)×4/29.97　　　　　　　　　　　　　　　　　　　　(18)
　3EA =(MaxValue-VBV値1)+(VideoRate)×6/29.97-(VBV値3-VBV値1)
　　　 +(AudioRate)×7/29.97　　　　　　　　　　　　　　　　　　　　(19)
　但し、これら式（１６）〜式（１９）において単位はｋビット、ビデオオブジェクトユニットは１５フレームで丁度１ＧＯＰ、ＩピクチャやＰピクチャの間にあるＢピクチャは２枚であることが分かっていると仮定する。また、オーディオデータは固定転送レートと仮定し、単位時間当たりのサンプル数を固定としているが、オーディオデータの符号化が可変長符号化であれば、ビデオデータに対応した位置の（ビデオデータが出力される時間に対応する）オーディオデータの符号量を考慮して計算すればよい。また、このようなことは、目標符号量計算器５６、後述する目標符号量メモリをオーディオ用に装備することにより実現可能である。
【００９３】
　上述したように、本実施の形態のオーディオビデオ符号化装置によれば、ＶＢＶバッファ制御器４０において、独立符号化されるＩピクチャと復号時に他の画像の参照画像となるＰピクチャとビデオオブジェクトユニットの最後のＢピクチャの目標符号量とを設定すると共に、それら目標符号量に合うように発生符号量を制御し、また、ユニットアドレス計算器１５において、サーチのための基準ユニット及び当該基準ユニットの少なくとも前後に再生される所定数のユニットのアドレスと当該ユニット内のデータのうち前記独立符号化されるＩピクチャ、及び復号時に他のデータの参照データとなされるＰピクチャ、ビデオオブジェクトユニットの最後のＢピクチャの各終了アドレスを計算することにより、図１０に示したようなビデオオブジェクトユニットを再生するためのサーチ情報を記録するナビゲーションデータ、すなわち、サーチのためにそのビデオオブジェクトユニットを基準として少なくとも前後に再生される所定数のユニットのアドレス（ＴＥＡ）と、独立符号化された画像（Ｉピクチャ）を構成できるデータの終了アドレス（第１のリファレンス画像の終了アドレス１ＥＡ）、及び第２，第３，・・・のリファレンス画像までの各終了アドレス（２ＥＡ，３ＥＡ，・・・）を、予め指定した値に簡単に制御することが可能となる。
【００９４】
　このユニットアドレス計算器１５にて求められた情報は、ナビゲーションデータ生成器１６に送られる。
【００９５】
　ナビゲーションデータ生成器１６は、そのビデオオブジェクトユニットを再生順序で第０番として、そのビデオオブジェクトユニットを基準として少なくともその再生順序で前後１５番まで再生されるビデオオブジェクトユニット、再生順序において第２０番、第３０番、第６０番、第１２０番、及び第２４０番までのビデオオブジェクトユニットのアドレスなどを、必要に応じてアドレスをスカラー倍することで計算し、所定の順番にレイアウトして、ユニット化器１７へ送信する。
【００９６】
　ユニット化器１７では、端子１９から供給されたオーディオ符号化データと、バッファメモリ６から供給されたビデオ符号化データと、ナビゲーションデータ生成器１６から供給されたナビゲーションデータとを用いて、図１０にて説明したようなビデオオブジェクトユニットを生成し、そのユニット化された符号化データを出力する。すなわち当該ユニット化器１７では、送信されてきたナビゲーションデータをパケット化（パック化）すると共にビデオ符号化データとオーディオ符号化データなどをパケット化（パック化）し、さらにナビゲーションデータのパケット（ナビゲーションパック）を先頭に配置し、その後にビデオデータのパケット（ビデオパック）とオーディオデータのパケット（オーディオパック）などを配置して、所定の１つのビデオオブジェクトユニットを生成し、この１つのビデオオブジェクトユニットを送信する。当該１つのビデオオブジェクトユニットを送信し終わると、次のビデオオブジェクトユニットのためのナビゲーションデータを受け取って同様にユニット化する。これらのユニット化された符号化データは出力端子１８から出力される。
【００９７】
　上述したように本発明の第１の実施の形態のオーディオビデオ符号化装置においては、余分なメモリを持たずに、ビデオオブジェクトユニットを再生するための再生制御情報及びサーチをするためのサーチ情報を記述するナビゲーションデータを、符号化が開始される前に、記録することが可能となる。
【実施例２】
【００９８】
　次に、図６には、本発明の第２の実施の形態のオーディオビデオ符号化装置の概略構成を示す。なお、この図６に示すオーディオビデオ符号化装置において、図１と同一の構成要素には同じ指示符号を付し、それらの説明は省略し、図１とは異なる構成要素についてのみ説明する。
【００９９】
　この図６に示す第２の実施の形態のオーディオビデオ符号化装置では、ＶＬＣ器５とバッファメモリ６との間に後述する無効ビット付加器２２を設けると共に、ＶＢＶバッファ制御器４１が図７ような構成を有している。なお、図７において、前述した図２と同一の構成要素には同じ指示符号を付し、それらの説明は省略し、図２と異なる構成要素についてのみ説明する。
【０１００】
　図７に示すＶＢＶバッファ制御器４１において、端子５３を介してバッファメモリ６から供給された発生符号量情報は、目標符号量発生符号量比較器５５に送られると同時に、無効ビット計算器６８にも送られる。
【０１０１】
　目標符号量計算器５６は前述同様であり符号化レート情報に基づいて各ピクチャの目標符号量を求める。また、この第２の実施の形態においても、ＶＢＶバッファ推移観測器５７によって、ＶＢＶバッファの占有量を前述したＶＢＶ値１〜ＶＢＶ値Ｅの値に収束させるべきタイミングは、それぞれ、独立符号化される画像である第１リファレンス画像（Ｉピクチャ）及び、第２リファレンス画像（最初のＰピクチャ）、第３リファレンス画像（次のＰピクチャ）、・・・、及びビデオオブジェクトユニットの最終画像（最後のＢピクチャ）の符号化時点である。なお、以下の説明では、これらのＶＢＶバッファの値がＶＢＶ値１〜ＶＢＶ値Ｅに収束される各画像を収束点画像と呼ぶとする。
【０１０２】
　目標符号量メモリ６７は、目標符号量計算器５６から供給された目標符号量情報を一時蓄積し、その後読み出して仮目標符号量設定器６６と無効ビット計算器６８に供給する。
【０１０３】
　仮目標符号量設定器６６は、目標符号量メモリ６７から供給された目標符号量の値の約１０％程度低めの値を、仮目標符号量として設定する。
【０１０４】
　ここで、上述した各収束点画像の目標符号量は、当該仮目標符号量設定器６６において、上記目標符号量計算器５６にて算出された目標符号量の約１０％程度低めに設定される。この仮目標符号量は、目標符号量発生符号量比較器５５に送られる。
【０１０５】
　したがって、この図７の場合、目標符号量発生符号量比較器５５は、端子５３を介してバッファメモリ６から供給された発生符号量と、仮目標符号量設定器６６にて設定された仮目標符号量とを比較し、仮目標符号量に対する発生符号量との誤差符号量を生成する。この誤差符号量情報は、フィードバック量子化値決定器５４に送られる。これにより、発生符号量は、仮目標符号量に制御される。
【０１０６】
　一方、無効ビット計算器６８では、１ピクチャ分の符号化が終了した時点で、予めバッファメモリ６から入力されたマクロブロック毎の発生符号量を加算して、１ピクチャの総発生符号量とピクチャの目標符号量との差を計算し、ピクチャの目標符号量に足りない分の符号量を、無効ビット符号量情報として出力する。
この無効ビット符号量情報は、端子５９を介して図６の無効ビット付加器２２に送られる。
【０１０７】
　図６の無効ビット付加器２２では、ＶＬＣ器５からの符号化データに、ＶＢＶバッファ制御器４１からの無効ビット符号量情報に対応した無効ビットを付加する。これにより、当該無効ビット付加器２２から出力されるデータは、目標符号量に合うように正確に制御されたデータとなり、この符号化データがバッファメモリ６に送られる。
【０１０８】
　また、無効ビット計算器６８からの無効ビット符号量情報は、ＶＢＶバッファ推移観測器５７にも送信される。ＶＢＶバッファ推移観測器５７では、当該無効ビット符号量の値も前述の収束点画像の符号量としてカウントする。
【０１０９】
　なお、収束点画像のみでは、収束不可能な場合も考えられる。すなわち、収束点画像以前のピクチャが大きな符号量を発生してしまう可能性である。したがって、本実施の形態では、ある画像に対して多くの符号量を割り当てたい場合であっても、下記式（２０）に適合するように、その画像に対する符号量を配分することが望ましい。
【０１１０】
　（収束点画像nから次の収束点画像n+1までの画像の枚数）×（VideoRate/29.97）−（VBV値n−VBV値n-1） 　　　　　　 （２０）
　この第２の実施の形態のオーディオビデオ符号化装置によれば、第１の実施の形態のオーディオビデオ符号化装置と同様の効果を有するだけでなく、符号量を１バイトの誤差も含まずに非常に正確に制御できるので、ナビゲーションデータの内容と実際の符号化データとが矛盾する可能性を非常に低くすることが可能である。
【図面の簡単な説明】
【０１１１】
【図１】本発明の第１の実施の形態のオーディオビデオ符号化装置の概略構成を示すブロック図である。
【図２】本発明の第１の実施の形態のオーディオビデオ符号化装置のＶＢＶバッファ制御器の具体的構成をブロック図である。
【図３】符号化の際の一般的な仮想復号バッファ（ＶＢＶバッファ）占有量制御の説明に用いる図である。
【図４】本発明の実施の形態のオーディオビデオ符号化装置による符号化の際の仮想復号バッファ（ＶＢＶバッファ）占有量のバッファ制御タイミングと収束値の説明に用いる図である。
【図５】ユニットアドレス計算器の計算内容の説明に用いる図である。
【図６】本発明の第２の実施の形態のオーディオビデオ符号化装置の概略構成を示すブロック図である。
【図７】本発明の第２の実施の形態のオーディオビデオ符号化装置のＶＢＶバッファ制御器の具体的構成をブロック図である。
【図８】従来のビデオエンコーダの概略構成を示すブロック図である。
【図９】従来のビデオデコーダの概略構成を示すブロック図である。
【図１０】ビデオオブジェクトユニットとナビゲーションデータが配されるビデオオブジェクトセットの構成説明に用いる図である。
【符号の説明】
【０１１２】
　１…画像信号の入力端子、２、９…演算器、３…ＤＣＴ器、４…量子化器、
５…ＶＬＣ、６…バッファメモリ、７…逆量子化器、８…逆ＤＣＴ器、
１０…画像メモリ、１１…動き補償予測器、
１３…オーディオビデオ符号化レート決定器（符号化レート決定手段）、
１５…ユニットアドレス計算器（アドレス決定手段）、
１６…ナビゲーションデータ生成器（記述手段）、
１７…ユニット化器（ユニット化手段）、１８…出力端子、
１９…オーディオ符号化のデータ入力端子、２２…無効ビット付加器、
４０，４１…ＶＢＶバッファ制御器（符号量制御手段）、
５１…符号量制御信号の出力端子、５２…符号化レート情報の入力端子、
５３…発生符号量の入力端子、５４…フィードバック量子化値決定器、
５５…目標符号量発生符号量比較器、５６…目標符号量計算器（目標符号量計算手段）、５７…ＶＢＶバッファ推移観測器（バッファ推移観測手段）、
６６…仮目標符号量設定器、６７…目標符号量メモリ、６８…無効ビット計算器、
５９…無効ビット符号量情報の出力端子。
【図１】
2004140867.tif 000005
【図２】
2004140867.tif 000006
【図３】
2004140867.tif 000007
【図４】
2004140867.tif 000008
【図５】
2004140867.tif 000009
【図６】
2004140867.tif 000010
【図７】
2004140867.tif 000011
【図８】
2004140867.tif 000012
【図９】
2004140867.tif 000013
【図１０】
2004140867.tif 000014