JP2004140867A - データ符号化方法及び装置 - Google Patents

データ符号化方法及び装置 Download PDF

Info

Publication number
JP2004140867A
JP2004140867A JP2003428093A JP2003428093A JP2004140867A JP 2004140867 A JP2004140867 A JP 2004140867A JP 2003428093 A JP2003428093 A JP 2003428093A JP 2003428093 A JP2003428093 A JP 2003428093A JP 2004140867 A JP2004140867 A JP 2004140867A
Authority
JP
Japan
Prior art keywords
code amount
encoding
unit
data
target code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003428093A
Other languages
English (en)
Other versions
JP3852442B2 (ja
Inventor
Takayuki Sugawara
菅原 隆幸
Junzo Suzuki
鈴木 順三
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP2003428093A priority Critical patent/JP3852442B2/ja
Publication of JP2004140867A publication Critical patent/JP2004140867A/ja
Application granted granted Critical
Publication of JP3852442B2 publication Critical patent/JP3852442B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

【課題】 最小限の容量のメモリで、ナビゲーションデータを、符号化が開始される前に記録することを可能とし、何れの符号化レートでも最適な画質を維持したまま、リアルタイムな符号化とナビゲーションデータの記録を可能とする。
【解決手段】 VBVバッファ制御器40は、符号化レートに基づいてピクチャタイプ毎の目標符号量とVBVバッファ占有量の推移を求め、IピクチャやPピクチャのデータの符号化時点でのVBVバッファ占有量を所定の値に収束するように目標符号量を設定し、その設定した目標符号量に合うように量子化器4の量子化スケールを制御して符号量制御を行う。ユニットアドレス計算器15では、ナビゲーションデータとして、サーチの際に使用するアドレス算出する。ユニット化器17ではユニットを構成し、ナビゲーションデータ生成器16ではナビゲーションデータをユニットの先頭に記述する。
【選択図】   図1

Description

 本発明は、例えば符号化したオーディオ及びビデオデータをそれぞれ所定時間内に再生されるべきパック列としてユニット内に格納するデータ符号化方法及び装置に関し、特に、オーディオ及びビデオデータの符号化に先行して、それらの符号化データの符号量に相当する値から算出されるデータ長や開始アドレスなどのナビゲーションデータを記述するような符号化において、画質を安定に保ちながら実現することができるデータ符号化方法及び装置に関する。
 近年は、動画に対するデータ圧縮方式がMPEG(Moving Picture Image Coding Expert Group)方式として国際標準化されるに至っている。このMPEG方式は、映像データを可変圧縮する方式として知られている。このMPEG方式には、MPEG1(MPEGフェーズ1)やMPEG2(MPEGフェーズ2)と呼ばれる圧縮方式が規定されている。
 具体的には、MPEGは、幾つかの技術を組み合わせて作成されており、先ず、入力画像信号から動き補償器で復号化した画像信号を差し引くことで時間冗長部分の削減を行う。
 予測の方法には、基本的なモードとして、過去の画像からの予測を行うモードと、未来の画像からの予測を行うモードと、過去と未来の両方の画像からの予測を行うモードとの3モードが存在する。またこれらのモードは、16画素×16画素のマクロブロック(MB:Macroblock)毎に切り替えて使用できる。予測方法は、入力画像に与えられたピクチャタイプ(Picture_Type)によって決定される。ピクチャタイプには、片方向ピクチャ間予測符号化画像(Pピクチャ:P-picture)と、双方向ピクチャ間予測符号化画像(Bピクチャ:B-Picture)と、ピクチャ内独立符号化画像(Iピクチャ:I-picture)がある。過去の画像から予測を行って符号化するモードと予測をしないでそのマクロブロックを独立に符号化するモードとの2つのモードが存在するのが、Pピクチャ(片方向ピクチャ間予測符号化画像)である。また、未来の画像からの予測を行うモードと、過去の画像からの予測を行うモードと、過去と未来の両方の画像からの予測を行うモードと、予測をしないで独立に符号化するモードの4つのモードが存在するのが、Bピクチャ(双方向ピクチャ間予測符号化画像)である。そして、全てのマクロブロックを独立に符号化するのが、Iピクチャ(ピクチャ内独立符号化画像)である。なお、Iピクチャはイントラピクチャと呼ばれ、このため、片方向ピクチャ間予測符号化画像と双方向ピクチャ間予測符号化画像は非イントラピクチャということができる。
 動き補償では、動き領域をマクロブロック毎にパターンマッチングすることによってハーフペル精度で動きベクトルを検出し、その検出した動きベクトルの動き分だけマクロブロックをシフトしてから予測する。動きベクトルは、水平方向と垂直方向の動きベクトルが存在し、何処からの予測かを示すMC(Motion Compensation)モードとともにマクロブロックの付加情報として伝送される。
 Iピクチャから次のIピクチャの前のピクチャまではGOP(Group Of Picture)と呼ばれ、蓄積メディアなどで使用される場合には、一般に約15ピクチャ程度が1GOPとして使用される。
 図8には、MPEGが適用されるオーディオビデオ符号化装置のうち、ビデオエンコーダの基本的な構成を示している。
 この図8において、入力端子101には入力画像信号が供給され、この入力画像信号は演算器102と後述する動き補償予測器111に送られる。
 演算器102では、動き補償予測器111にて復号化した画像信号と入力画像信号との差分が求められ、その差分画像信号がDCT器103に送られる。
 DCT器103では、供給された差分画像信号を直交変換する。ここでDCT(Discrete Cosine Transform)とは、余弦関数を積分核とした積分変換を有限空間への離散変換とする直交変換である。MPEGではマクロブロックを4分割した8×8のDCTブロックに対して、2次元DCTを行う。なお、一般に、ビデオ信号は低域成分が多く、高域成分が少ないため、DCTを行うと係数が低域に集中する。このDCT器103でのDCTによって得られたデータ(DCT係数)は、量子化器104に送られる。
 量子化器104では、DCT器103からのDCT係数を量子化する。この量子化器104における量子化では、量子化マトリックスという8×8の2次元周波数を視覚特性で重み付けした値と、その全体をスカラー倍する量子化スケールという値で乗算した値とを量子化値として、DCT係数をその量子化値で除算する。なお、当該ビデオエンコーダにて符号化された後の符号化データを、後にデコーダ(ビデオ復号装置)で復号して逆量子化するときは、そのビデオエンコーダにて使用した量子化値で乗算を行うことにより、元のDCT係数に近似している値を得ることができる量子化器104にて量子化されたデータは、可変長符号化器(VLC)105に送られる。
 VLC105は、量子化器104からの量子化データを可変長符号化する。このVLC105では、量子化された値のうち、直流(DC)成分に対しては、予測符号化の一つであるDPCM(differential pulse code modulation)を使用して符号化する。一方、交流(AC)成分に対しては、低域から高域に向けていわゆるジグザグスキャン(zigzag scan)を行い、ゼロのラン長及び有効係数値を1つの事象とし、出現確率の高いものから符号長の短い符号を割り当てていく、いわゆるハフマン符号化を行う。また、このVLC105には、動き補償予測器111から動きベクトルと予測モードの情報も供給され、当該VLC105は、可変長符号化データと共に、これら動きベクトルと予測モードの情報をマクロブロックの付加情報として出力する。VLC105にて可変長符号化されたデータは、バッファメモリ106に送られる。
 バッファメモリ106では、VLC105からの可変長符号化データを一時蓄える。その後、このバッファメモリ106から所定の転送レートで読み出された符号化データ(符号化ビットストリーム)は、出力端子113から出力されることになる。
 また、その出力される符号化データにおけるマクロブロック毎の発生符号量情報は、後述する符号量制御器112に送信される。この符号量制御器112は、マクロブロック毎の発生符号量と目標符号量との差分である誤差符号量を求め、当該誤差符号量に応じた符号量制御信号を生成して量子化器104にフィードバックすることにより、発生符号量制御を行う。当該符号量制御のために量子化器104にフィードバックされる符号量制御信号は、量子化器104における量子化スケールを制御するための信号である。
 一方、量子化器104にて量子化された画像データは、逆量子化器107にも送られる。
 この逆量子化器107では、量子化器104からの量子化データを逆量子化する。この逆量子化により得られたDCT係数データは、逆DCT器108に送られる。
 逆DCT器108は、逆量子化器107からのDCT係数データを逆DCTした後、演算器109に送る。
 演算器109では、逆DCT器108の出力信号に動き補償予測器111からの予測差分画像を加算する。これにより、画像信号が復元される。
 この復元された画像信号は、画像メモリ110に一時蓄えられた後、読み出されて動き補償予測器111に送られる。
 画像メモリ110から動き補償予測器111に送られた画像信号は、演算器102にて差分画像を計算するためのリファレンスの復号化画像を生成するために使用される。
 動き補償予測器111では、入力画像信号から動きベクトルを検出し、その検出した動きベクトルの動き分だけ画像をシフトしてから予測を行う。この予測によりえられた予測差分画像信号が、演算器102及び109に送られることになる。また、動き補償予測器111にて検出された動きベクトルは、予測モード(MCモード)の情報と共に、VLC105に送られる。
 なお、上述のように差分画像信号の符号化を行うのはPピクチャ及びBピクチャの場合であり、Iピクチャの場合には入力画像信号をそのまま符号化する。
 図9には、図8に示したビデオエンコーダにて符号化された符号化データを復号するビデオデコーダの基本的な構成を示す。
 この図9において、入力端子121には符号化データが供給される。この符号化データは、可変長復号化器(VLD)122に送られる。このVLD122は、図8のVLC105における可変長符号化の逆処理である可変長復号化を行う。当該可変長復号により得られるデータは、図8のVLC105への入力である量子化データに、動きベクトル及び予測モードの情報が付加されたものに相当する。VLD122での可変長復号化により得られた量子化データは、逆量子化器123に送られる。
 逆量子化器123では、VLD122からの量子化データを逆量子化する。当該逆量子化されたデータは、図8の量子化器104への入力であるDCT係数データに相当する。この逆量子化器123での逆量子化により得られたDCT係数データは、逆DCT器124に送られる。また、動きベクトル及び予測モードの情報は、当該逆量子化器123から動き補償予測器127に送られる。
 逆DCT器124では、逆量子化器123からのDCT係数を逆DCTする。
当該逆DCT器124にて逆DCTされたデータは、図8のDCT器103への入力である差分画像信号に相当する。この逆DCT器124にて逆DCTされた差分画像信号は、演算器125に送られる。
 演算器125では、逆DCT器124からの差分画像信号に、動き補償予測器127からの予測差分画像を加算する。これにより、復号化データすなわち画像信号が復元される。この復元された画像信号は、図8の入力端子101への入力画像信号に略々相当する。当該復元された画像信号(復号化データ)は、出力端子128から出力されると同時に、一時、画像メモリ126に蓄えられた後、動き補償予測器127に送られる。
 動き補償予測器127では、動きベクトル及び予測モードに基づいて、画像メモリ126から供給された画像信号から予測差分画像を生成し、この予測差分画像を演算器125に送る。
 MPEG2では、前述したように、ビデオデータ及びオーディオデータを同期して転送、且つ再生できるように、それぞれのデータを基準時刻を用いて表現した転送開始時刻と再生時刻を設定することが規定されているが、これらの転送開始時刻や再生開始時刻の情報だけでは、通常再生には問題がないものの、早送りや巻き戻し再生、ランダム再生等の特殊再生や、インタラクティブ性をシステムに持たせる等の再生処理が困難であることが指摘されている。
 このようなことから、特開平8−273304号公報に開示されているように、MPEGにて符号化されたオーディオ及びビデオデータを所定時間内に再生されるべきパック列としてビデオオブジェクトユニット内に格納し、さらに、このユニットを再生するための再生情報及びサーチをするためのサーチ情報を、当該パック列の先頭にナビゲーションデータとして記録したようなアプリケーションが存在する。
 ビデオオブジェクトユニット及びナビゲーションデータについては特開平8−273304号公報にて既に開示及び詳述されているため、その詳細な説明は省略するが、図10に示すように、ビデオオブジェクトユニット85は複数集まってセル84を構成し、またセル84は複数集まってビデオオブジェクト83を構成し、さらに、このビデオオブジェクト83が複数集まってビデオオブジェクトセット82を構成している。
 ビデオオブジェクトユニット85は、1つのナビゲーションパック86を先頭に有するパック列として定義されている。また、このビデオオブジェクトユニット85内には、MPEG規格に定められたビデオパック88、副映像パック90及びオーディオパック91が配置される。また、ビデオオブジェクトユニット85には再生順序に従った番号が付されており、当該ビデオオブジェクトユニット85の再生時間はビデオオブジェクトユニット85中に含まれる単数又は複数個のGOPから構成されるビデオデータの再生時間に相当する。
 ナビゲーションパック86には、ビデオオブジェクトユニット85を再生するための再生制御情報及びサーチをするためのサーチ情報等が、ナビゲーションデータとして配されている。再生制御情報は、ビデオオブジェクトユニット85内のビデオデータの再生状態に同期してプレゼンテーションするため、つまり表示の内容を変更するためのナビゲーションデータである。すなわち再生制御情報は、プレゼンテーションデータの状態に従って再生条件を決定するための情報であり、データストリーム上に分散配置されたリアルタイム制御データである。また、サーチ情報は、ビデオオブジェクトユニット85のサーチを実行する為のナビゲーションデータである。すなわち、当該サーチ情報は、順早送り/逆早戻し再生とシームレス再生のための情報であり、データストリーム上に分散配置されたリアルタイム制御データである。
 特に、ビデオオブジェクトユニット85をサーチするためのサーチ情報には、セル84内の先頭アドレスを特定する為の情報が記述される。すなわち、ビデオオブジェクトユニット85のサーチ情報には、当該サーチ情報を含むビデオオブジェクトユニット85を基準の第0番とし、再生順序に従って順方向に再生するためのアドレス(フォワードアドレス)として、第1番(+1)から第20番(+20)、第60番(+60)、第120番(+120)及び第240番(+240)までのビデオオブジェクトユニット85の番号(スタートアドレス)が記載される。同様に、ビデオオブジェクトユニット85のサーチ情報には、当該サーチ情報を含むビデオオブジェクトユニット85を基準の第0番とし、再生順序とは逆方向に再生するためのアドレス(バックワードアドレス)として第1番(−1)から第20番(−20)、第60番(−60)、第120番(−120)及び第240番(−240)までのビデオオブジェクトユニット85のスタートアドレスが記載される。
 ところで、上述のようなビデオオブジェクトユニットを再生するための再生制御情報及びサーチをするためのサーチ情報を含むナビゲーションデータを、MPEG符号化を開始する前に、ナビゲーションパック内に記述するためには、記憶容量の大きなメモリが必要であり、さらに当該符号化が終了した後に、その符号化結果(符号量)を観測して、所定の再生情報情報を算出して、ナビゲーションデータを生成しなければならない。
 また、特開平8−273304号公報に記載されているように、そのビデオオブジェクトユニットを再生順序で第0番とし、そのビデオオブジェクトユニットを基準として、少なくともその再生順序で前後15番まで再生されるビデオオブジェクトユニットのアドレス、再生順序において第20番、第30番、第60番、第120番、及び第240番までのビデオオブジェクトユニットのアドレスを記述しようとした場合、基本的にMPEGビデオの符号化データが可変長符号化によるものであるため、いわゆる2パスによる符号化などのように、全部のビデオ符号化データが揃ってからでないと、ビデオオブジェクトユニットのアドレスを算出することができず、したがって、リアルタイムな符号化とナビゲーションデータの記録が出来ない。
 本発明は、上述の課題に鑑みてなされたものであり、最小限の容量のメモリで、ビデオオブジェクトユニットを再生するための再生制御情報及びサーチをするためのサーチ情報を記述するナビゲーションデータを、符号化が開始される前に記述することを可能とし、また、どのような符号化レートであっても最適な画質を維持したまま、リアルタイムな符号化とナビゲーションデータの記載とを可能とするデータ符号化方法及び装置の提供を目的とする。
 請求項1記載の本発明に係るデータ符号化方法は、上述の課題を解決するために、所定単位の入力データを符号化する際に、符号化レートを決定し、復号時の復号バッファに相当する仮想バッファのバッファ占有量の推移を求めながら、符号化時点での前記仮想バッファのバッファ占有量を所定の値に収束するように符号化するデータ符号化方法において、
 前記符号化レートに対応して前記所定単位毎の目標符号量を求め、
 前記入力データのうちMPEGのGOP構造中の第1番目のリファレンスデータであるイントラピクチャーデータについては、前記仮想バッファのバッファ占有量を収束させる前記所定の値に基づいて設定された目標符号量となるように符号化し、
 前記符号化された符号化データを所定時間内に再生されるべきパック列としてユニット内に格納し、
 サーチのための基準ユニット及び当該基準ユニットの少なくとも前後に再生される所定数のユニットのアドレスと、当該ユニット内の前記第1番目のリファレンスデータの終了アドレスとを、前記符号化レートに基づいて求め、
 前記ユニットのアドレス及び前記ユニット内の前記第1番目のリファレンスデータの終了アドレスを当該ユニットの先頭に記述することを特徴とするものである。
 請求項2記載の本発明に係るデータ符号化方法は、上述の課題を解決するために、請求項1記載のデータ符号化方法において、前記ユニット内の前記第1番目のリファレンスデータであるイントラピクチャーデータの符号化の際には、前記仮想バッファのバッファ占有量を収束させる前記所定の値に基づいて設定された目標符号量に対して所定量だけ低く設定した仮目標符号量を求め、当該仮目標符号量での符号化による発生符号量と前記設定された目標符号量との差を無効ビットで調整して符号化を行うことを特徴とするものである。
 請求項3記載の本発明に係るデータ符号化装置は、上述の課題を解決するために、所定単位の入力データを符号化する際に、符号化レートを決定し、復号時の復号バッファに相当する仮想バッファのバッファ占有量の推移を求めながら、符号化時点での前記仮想バッファのバッファ占有量を所定の値に収束するように符号化するデータ符号化装置において、
 前記符号化レートに対応して前記所定単位毎の目標符号量を求める目標符号量計算手段と、
 前記入力データのうちMPEGのGOP構造中の第1番目のリファレンスデータであるイントラピクチャーデータについては、第1番目のリファレンスデータについては、前記仮想バッファのバッファ占有量を収束させる前記所定の値に基づいて前記目標符号量を設定する目標符号量設定手段と、
 前記目標符号量設定手段からの前記目標符号量となるように前記第1番目のリファレンスデータを符号化する符号化手段と、
 前記符号化された符号化データを所定時間内に再生されるべきパック列としてユニット内に格納するユニット化手段と、
 サーチのための基準ユニット及び当該基準ユニットの少なくとも前後に再生される所定数のユニットのアドレスと、前記ユニット内の前記第1番目のリファレンスデータの終了アドレスとを、前記符号化レートに基づいて求めるアドレス決定手段と、
 前記ユニットのアドレス及び前記ユニット内の前記第1番目のリファレンスデータの終了アドレスを当該ユニットの先頭に記述する記述手段とを有することを特徴とするデータ符号化装置である。
 請求項4記載の本発明に係るデータ符号化装置は、上述の課題を解決するために、請求項3記載のデータ符号化装置において、前記符号化制御手段は、前記ユニット内の前記第1番目のリファレンスデータであるイントラピクチャーデータの符号化の際に、前記仮想バッファのバッファ占有量を収束させる前記所定の値に基づいて設定された目標符号量に対して所定量だけ低く設定した仮目標符号量を求め、当該仮目標符号量での符号化による発生符号量と前記設定された目標符号量との差を無効ビットで調整するよう符号化を制御することを特徴とするものである。
 請求項1記載の本発明に係るデータ符号化方法は、所定単位の入力データを符号化する際に、符号化レートを決定し、復号時の復号バッファに相当する仮想バッファのバッファ占有量の推移を求めながら、符号化時点での前記仮想バッファのバッファ占有量を所定の値に収束するように符号化するデータ符号化方法において、前記符号化レートに対応して前記所定単位毎の目標符号量を求め、前記入力データのうちMPEGのGOP構造中の第1番目のリファレンスデータであるイントラピクチャーデータについては、前記仮想バッファのバッファ占有量を収束させる前記所定の値に基づいて設定された目標符号量となるように符号化し、前記符号化された符号化データを所定時間内に再生されるべきパック列としてユニット内に格納し、サーチのための基準ユニット及び当該基準ユニットの少なくとも前後に再生される所定数のユニットのアドレスと、当該ユニット内の前記第1番目のリファレンスデータの終了アドレスとを、前記符号化レートに基づいて求め、前記ユニットのアドレス及び前記ユニット内の前記第1番目のリファレンスデータの終了アドレスを当該ユニットの先頭に記述することにより、最小限の容量のメモリを用いて、例えばユニットを再生するための再生制御情報及びサーチをするためのサーチ情報を記述するためのアドレスを、符号化が開始される前に記録することが可能であり、また、符号化レート値に対応する目標符号量を決定できるので、符号化を行うに当って、それらの値を統計的にもっとも信号品質が良くなる値にすることで、どのような符号化レートでも最適な信号品質を維持したまま、符号化を行うことが可能となる。とくに、MPEGのGOP構造中の第1番目のリファレンスデータであるイントラピクチャーデータの終了アドレスを記述することで、毎GOPのはじめのイントラピクチャーのデータだけをアクセスして、デコーダーに伝送することができる。即ち、本来ならば、イントラをVLCまでとくか、次のピクチャーヘッダーをサーチしていかないとイントラの終了位置が分からないのに対して、このデータ符号化方法を用いれば、終了アドレス情報に従ってそこまでのデータを、デコーダーに簡単にスピーディに伝送することが可能となる。これによりMPEGなどの可変長符号化データの15倍速などのトリックプレイが、簡単にスピーディな処理だけで実現できる。
 請求項2記載の本発明に係るデータ符号化方法は、請求項1記載のデータ符号化方法において、前記ユニット内の前記第1番目のリファレンスデータであるイントラピクチャーデータの符号化の際には、前記仮想バッファのバッファ占有量を収束させる前記所定の値に基づいて設定された目標符号量に対して所定量だけ低く設定した仮目標符号量を求め、当該仮目標符号量での符号化による発生符号量と前記設定された目標符号量との差を無効ビットで調整して符号化を行うことにより、符号量を非常に正確に制御でき、実際の符号化データとアドレスとが矛盾する可能性を非常に低くすることが可能である。
 請求項3記載の本発明に係るデータ符号化装置は、所定単位の入力データを符号化する際に、符号化レートを決定し、復号時の復号バッファに相当する仮想バッファのバッファ占有量の推移を求めながら、符号化時点での前記仮想バッファのバッファ占有量を所定の値に収束するように符号化するデータ符号化装置において、前記符号化レートに対応して前記所定単位毎の目標符号量を求める目標符号量計算手段と、前記入力データのうちMPEGのGOP構造中の第1番目のリファレンスデータであるイントラピクチャーデータについては、第1番目のリファレンスデータについては、前記仮想バッファのバッファ占有量を収束させる前記所定の値に基づいて前記目標符号量を設定する目標符号量設定手段と、前記目標符号量設定手段からの前記目標符号量となるように前記第1番目のリファレンスデータを符号化する符号化手段と、前記符号化された符号化データを所定時間内に再生されるべきパック列としてユニット内に格納するユニット化手段と、サーチのための基準ユニット及び当該基準ユニットの少なくとも前後に再生される所定数のユニットのアドレスと、前記ユニット内の前記第1番目のリファレンスデータの終了アドレスとを、前記符号化レートに基づいて求めるアドレス決定手段と、前記ユニットのアドレス及び前記ユニット内の前記第1番目のリファレンスデータの終了アドレスを当該ユニットの先頭に記述する記述手段とを有することにより、最小限の容量のメモリで、例えばユニットを再生するための再生制御情報及びサーチをするためのサーチ情報を記述するためのアドレスを、符号化が開始される前に記録することが可能であり、また、符号化レート値に対応する目標符号量を決定できるので、符号化を行うに当って、それらの値を統計的にもっとも信号品質が良くなる値にすることで、どのような符号化レートでも最適な信号品質を維持したまま、符号化を行うことが可能となる。とくに、MPEGのGOP構造中の第1番目のリファレンスデータであるイントラピクチャーデータの終了アドレスを記述することで、毎GOPのはじめのイントラピクチャーのデータだけをアクセスして、デコーダーに伝送することができる。即ち、本来ならば、イントラをVLCまでとくか、次のピクチャーヘッダーをサーチしていかないとイントラの終了位置が分からないのに対して、このデータ符号化装置を用いれば、終了アドレス情報に従ってそこまでのデータを、デコーダーに簡単にスピーディに伝送することが可能となる。これによりMPEGなどの可変長符号化データの15倍速などのトリックプレイが、簡単にスピーディな処理だけで実現できる。
 請求項4記載の本発明に係るデータ符号化装置は、請求項3記載のデータ符号化装置において、前記符号化制御手段は、前記ユニット内の前記第1番目のリファレンスデータであるイントラピクチャーデータの符号化の際に、前記仮想バッファのバッファ占有量を収束させる前記所定の値に基づいて設定された目標符号量に対して所定量だけ低く設定した仮目標符号量を求め、当該仮目標符号量での符号化による発生符号量と前記設定された目標符号量との差を無効ビットで調整するよう符号化を制御することにより、符号量を非常に正確に制御でき、実際の符号化データとアドレスとが矛盾する可能性を非常に低くすることが可能である。
以下、図面を参照して本発明の実施の形態の説明を行う。
 図1には、本発明のデータ符号化方法及び装置が適用される第1の実施の形態のオーディオビデオ符号化装置の概略的な構成を示す。なお、図1には、ビデオデータの符号化を行うビデオエンコーダの構成を主に示しており、オーディオデータの符号化を行うオーディオエンコーダの構成については図示を省略している。
 この図1において、入力端子1には入力画像信号が供給され、この入力画像信号は演算器2と動き補償予測器11に送られる。
 演算器2では、動き補償予測器11にて復号化した画像信号と入力画像信号との差分を求め、その差分画像信号をDCT器3に送る。なお、差分画像信号の符号化を行うのはPピクチャ及びBピクチャの場合であり、Iピクチャの場合には入力画像信号をそのまま符号化するが、以下の説明では差分画像信号を符号化する場合を例に挙げて説明する。
 DCT器3では、演算器2から供給された差分画像信号を直交変換する。このDCT器3でのDCT処理によって得られたデータ(DCT係数)は、量子化器4に送られる。
 量子化器4では、DCT器3からのDCT係数を量子化し、その量子化データを可変長符号化(VLC)器5に送る。
 VLC器5では、量子化器4からの量子化データを可変長符号化する。また、このVLC器5には、動き補償予測器11から動きベクトルと予測モードの情報も供給され、当該VLC器5は、可変長符号化データと共に、これら動きベクトルと予測モードの情報をマクロブロックの付加情報として出力する。当該VLC器5にて可変長符号化されたデータは、一時、バッファメモリ6に蓄えられた後、このバッファメモリ6から所定の転送レートで読み出され、ビデオ符号化データとして後述するユニット化器17に送られる。
 また、バッファメモリ6から出力されるビデオ符号化データにおけるマクロブロック毎の発生符号量は、VBVバッファ制御器40に送信される。このVBVバッファ制御器40は、詳細については後述するが、復号時に復号バッファ占有量がオーバーフローやアンダーフローしないように、MPEGにおいてVBVバッファと呼ばれている仮想的な復号バッファを設定し、このVBVバッファの占有量に基づいて実際の符号化による発生符号量を制御するものである。当該VBVバッファ制御器40は、符号化の際の発生符号量制御のための符号量制御信号を発生し、量子化器4にフィードバックする。この量子化器4にフィードバックされる符号量制御信号は、量子化器4における量子化スケールを制御するための信号である。
 一方、量子化された画像データは、逆量子化器7にも送られる。
 逆量子化器7では、量子化器4からの量子化データを逆量子化する。この逆量子化により得られたDCT係数データは、逆DCT器8に送られる。
 逆DCT器8では、逆量子化器7からのDCT係数データを逆DCT処理した後、演算器9に送る。
 演算器9では、動き補償予測器11からの予測差分画像と逆DCT器8からの信号とを加算する。これにより、画像信号が復元される。この復元された画像信号は、一時、画像メモリ10に蓄えられた後、動き補償予測器11に送られる。
当該画像メモリ10から動き補償予測器11に送られた画像信号は、演算器2にて差分画像を計算するためのリファレンスの復号化画像を生成するために使用される。
 動き補償予測器11では、入力画像信号から動きベクトルを検出し、その検出した動きベクトルの動き分だけ画像をシフトしてから予測を行う。この予測により得られた予測差分画像信号が、演算器2及び演算器9に送られることになる。
また、動き補償予測器11にて検出された動きベクトルは、予測モード(MCモード)の情報と共に、VLC器5に送られる。
 ここまでの構成は前述した図8と略々同様であるが、本発明の第1の実施の形態のオーディオビデオ符号化装置では、更に以下のような構成を有している。
 オーディオビデオ符号化レート決定器13では、これから符号化しようとするオーディオ及びビデオの符号化レートが決定される。なお、このオーディオ及びビデオの符号化レートは、ユーザが決定しても、また、自動的に設定されても良い。当該オーディオビデオ符号化レート決定器13にて決定された符号化レート情報は、VBVバッファ制御器40及びユニットアドレス計算器15に送られる。
 ここで、当該第1の実施の形態のオーディオビデオ符号化装置のVBVバッファ制御器40での処理を、図2を用いて以下に説明する。
 この図2において、VBVバッファ制御器40の端子53には、バッファメモリ6からのマクロブロック毎の発生符号量情報が入力される。また、端子52には、オーディオビデオ符号化レート決定器13にて決定された符号化レート情報が入力され、端子51からは、量子化器4に対する符号量制御信号(量子化スケールを制御するための信号、すなわち量子化値)が出力される。
 端子52に入力された符号化レート情報は、目標符号量計算器56とVBVバッファ推移観測器57とに送られる。目標符号量計算器56は、符号化レート情報に基づいてピクチャ単位で目標となる符号量(目標符号量)を計算する。
 以下に、VBVバッファ制御器40におけるピクチャ単位での目標符号量の計算から発生符号量の制御までの流れについて説明する。
 例えば、ビデオオブジェクトユニットの目標符号量をT(U)とし、また、1ビデオオブジェクトユニットを1GOP、1GOPを15フレームとする。この1ビデオオブジェクトユニットは時間にして0.5秒に相当するので、当該ビデオオブジェクトユニット(1GOPの15ピクチャ分)の目標符号量T(U)の計算式は、例えば以下の式(1)のようになる。ただし、式中のNは転送レート(Mbps)である。
  T(U)=N/2  (Mビット)     (1)
 目標符号量計算器56では、当該式(1)の計算によって、ビデオオブジェクトユニット毎の目標符号量を求める。
 次に、目標符号量計算器56では、こうして決定したビデオオブジェクトユニットの目標符号量に基づいて、以下に説明するように、第1のステップにより各ピクチャ毎の目標符号量の設定(符号量配分)を行う。
 具体的に説明すると、VBVバッファ制御器40の目標符号量計算器56では、当該第1のステップとして、GOP内の各ピクチャに対する目標符号量を、符号化対象のピクチャを含めGOP内で未だ符号化されていないピクチャに対する目標符号量Rを基にして配分する、この配分をGOP内の符号化ピクチャ順に繰り返す。その際、以下のような2つの仮定を用いて各ピクチャへの目標符号量を設定する。
 第1の仮定として、各ピクチャを符号化する際に用いる平均量子化スケールと発生符号量との積は、画面が変化しない限りピクチャタイプ毎に一定値となると仮定する。各ピクチャを符号化した後、各ピクチャタイプ毎に所定の重み付けパラメータ(例えば画面の複雑さを示す重み付けパラメータ)Xi,Xp,Xbを、以下の式(2)〜式(4)により更新する。
  Xi=Si×Qi     (2)
  Xp=Sp×Qp     (3)
  Xb=Sb×Qb     (4)
 なお、これら式中のiはIピクチャを、pはPピクチャを、bはBピクチャを表す。また、これら式中のSi,Sp,Sbは各ピクチャの一つ前の同ピクチャタイプの符号化結果の発生符号量であり、Qi,Qp,Qbは各ピクチャの符号化時の平均量子化スケールである。すなわち、重み付けパラメータXi,Xp,Xbは、これら式(2)〜式(4)から、一つ前の同ピクチャタイプの符号化結果の発生符号量Sと平均量子化スケールQの積で定義される。
 また、第2の仮定として、独立符号化されるIピクチャの量子化スケールQiを基準とし、このIピクチャの量子化スケールQiとPピクチャの量子化スケールQpとの比率KpがKp=1.0、Iピクチャの量子化スケールQiとBピクチャの量子化スケールQbとの比率KbがKb=1.4となるときに、常に全体の画質が最適化される(理想的な画質が達成される)と仮定する。
 これら第1,第2の仮定の元で、目標符号量計算器40では、例えば以下の式(5)〜(7)により、Iピクチャの目標符号量Ti、Pピクチャの目標符号量Tp、Bピクチャの目標符号量Tbを求める。
Figure 2004140867
 ただし、これら式(5)〜式(7)中のNp,NbはGOP内のPピクチャやBピクチャの未符号化ピクチャ枚数である。
 すなわち、先ず、GOP内の未符号化ピクチャのうち、符号化対象となるピクチャとピクチャタイプの異なるピクチャについては、上述した画質最適化条件のもとで、そのピクチャの発生する符号量が、符号化対象ピクチャの発生符号量の何倍となるか推定する。
 次に、未符号化ピクチャ全体で発生する推定符号量が、符号化対象ピクチャの何枚分の符号量に相当するかを求める。符号化対象ピクチャに対する目標符号量は、未符号化ピクチャに対する目標符号量Rを、この枚数で割ることによって与えられる。このようにして求めた目標符号量を基にして、各ピクチャタイプを符号化する毎に、GOP内の未符号化ピクチャに対する目標符号量Rを、下記式(8)〜式(10)のように更新する。
  R=R−Si       (8)  
  R=R−Sp       (9)
  R=R−Sb       (10)
 次に、VBVバッファ制御器40では、目標符号量発生符号量比較器55において、目標符号量計算器56の第1のステップで求められた各ピクチャに対する目標符号量Ti,Tp,Tbと、図2の端子53を介してバッファメモリ6から供給された実際の発生符号量とを比較し、各ピクチャの目標符号量に対する発生符号量との誤差符号量を生成する。この誤差符号量情報は、フィードバック量子化値決定器54に送られる。
 当該フィードバック量子化値決定器54では、第2のステップとして、各ピクチャに対する目標符号量Ti,Tp,Tbと実際の発生符号量とを一致させるために、各ピクチャタイプ毎に独立に設定した3種類の仮想バッファの容量を元に、量子化スケールをマクロブロック単位のフィードバック制御で求める。
 すなわち、先ず、例えばj番目のマクロブロックの符号化に先立ち、仮想バッファの占有量を、下記式(11)〜(13)にて求める。
Figure 2004140867
 これら式中のd0i,d0p,d0bは各ピクチャタイプ毎の仮想バッファの初期占有量で、Bjはピクチャの先頭からj番目のマクロブロックまでの発生ビット量、MB_cntはIピクチャ内のマクロブロック数である。
 次に、j番目のマクロブロックに対する量子化スケールQjを下記式(14)により計算する。
  Qj=dj×31/r   (14)
 なお、式中のrはフィードバックの応答速度を決定するパラメータであり、当該rは下記式(15)で与えられる。
  r=2×bit_rate/picture_rata   (15)
 上述したアルゴリズムは、MPEG標準化で使用されたテストモデルTM5に記載されており、1995年テレビジョン学会誌vol49、No.4、P455〜456にも掲載されている。
 ここで、本発明の第1の実施の形態のオーディオビデオ符号化装置の場合、VBVバッファ制御器40では、前述したように目標符号量計算器56が第1のステップとして各ピクチャの目標符号量を計算した時点で、VBVバッファ推移観測器57において、前記VBVバッファの推移をその目標符号量で符号化したと仮定した場合のVBVバッファ値を予め予想し、その予想値の基づいて目標符号量を設定するようにしている。すなわち、VBVバッファ推移観測器57では、端子53を介してバッファメモリ6から供給される発生符号量と、端子52を介してオーディオビデオ符号化レート決定器13から供給される符号化レートとに基づいて、VBVバッファ量を監視し、そのVBVバッファ量に基づいて、目標符号量計算器56が第1のステップにて設定した目標符号量を設定するようにしている。
 ところで、一般的なMPEGにおけるVBVバッファ制御器は、本来は、図3に示すように、復号装置において復号を行ったとした場合に復号バッファ(符号化装置におけるVBVバッファ)の占有値がどのように推移しているかを予想しながら符号量を制御するものである。当該予想に用いるバッファ(VBVバッファ)はあくまで仮想バッファであるが、MPEGではCBR(constant bit rate)の場合に、当該VBVバッファの最大容量(MaxValue値)をオーバーフローしないように、また、最小容量(0)をアンダーフローしないように制御しながら符号化を行わなければならない。なお、図3の縦軸はこの仮想的な復号装置の復号バッファ(すなわちVBVバッファ)の占有量を表し、横軸は時間を表している。また、バッファ占有量の変化を表す傾きは、転送レートすなわち符号化レートに相当する。
 この図3では、標準テレビジョン放送方式のNTSC(National Television System Committee)に対応したビデオ信号を符号化した場合を例に上げており、したがって、各ピクチャの復号タイミングは1/29.97秒単位で行われることになる。すなわち、復号バッファ(VBVバッファ)には、ビデオオブジェクトユニットの第1番目のピクチャであるIピクチャの120Kビットの圧縮データが初期値として溜められ、その後、この120Kビット分のデータが読み出されて復号されることになる。ただし、当該VBVバッファにおける復号は仮想的な復号であり、MPEGで規定したモデルでは時間0で一瞬にして復号されることになるため、このときのVBVバッファ(復号バッファ)からは120Kビットのデータが一瞬に抜き取られる。次に、1/29.97秒かけて第2番目のピクチャであるPピクチャの80Kビット分の圧縮データが当該復号バッファ(VBVバッファ)に入力され、その後、当該Pピクチャの復号のためにその80Kビットの圧縮データが一瞬にして抜き取られる。次に、1/29.97秒かけて第3番目のピクチャであるBピクチャの40Kビット分の圧縮データが当該復号バッファ(VBVバッファ)に入力され、その後、当該Bピクチャの復号のためにその40Kビットの圧縮データが一瞬にして抜き取られる。以下、各ピクチャについて上述同様のデータ入力と抜き取り処理がなされる。
 このように、MPEGにおける一般的なVBVバッファ制御は、復号バッファ(VBVバッファ)に入力される圧縮データの転送レート、すなわち図3のグラフの直線の傾きに相当する符号化レートに依存する。
 これに対し、本発明の第1の実施の形態のオーディオビデオ符号化装置では、VBVバッファ制御器40のVBVバッファ推移観測器57において、端子53を介してバッファメモリ6から供給される発生符号量と、端子52を介してオーディオビデオ符号化レート決定器13から供給される符号化レートとに基づいてVBVバッファ量を監視し、図3と同様に表記する図4に示すように、ビデオオブジェクトユニット内で最初に他の画像の復号のために参照されることになる第1のリファレンス画像の符号化時点(すなわち独立符号化される画像データであるIピクチャの符号化時点)では、当該VBVバッファ占有値を図中VBV値1に収束するようにし、次に、他の画像の復号のために参照されることになる第2のリファレンス画像の復号化時点(すなわち最初のPピクチャの符号化時点)では、VBVバッファ占有値を図中VBV値2に収束するように、さらに次に、他の画像の復号のために参照されることになる第3のリファレンス画像の復号化時点(すなわち次のPピクチャの符号化時点)では、VBVバッファ占有値を図中VBV値3に収束するようにする処理を繰り返し、ビデオオブジェクトユニットの最後の画像符号化時点(すなわち最後のBピクチャの符号化時点)のVBVバッファ占有値を図中VBV値Eに収束するように、目標符号量計算器56が第1のステップにて設定した目標符号量を設定するようにしている。
 このように、VBVバッファ制御器40において、独立符号化されるIピクチャと、復号時に他の画像の参照画像となるPピクチャと、ビデオオブジェクトユニットの最後のBピクチャの目標符号量とを設定することにより、後述するユニットアドレス計算器15において、サーチのための基準ユニット及び当該基準ユニットの少なくとも前後に再生される所定数のユニットのアドレスと、当該ユニット内のデータのうち前記独立符号化されるIピクチャ、及び復号時に他のデータの参照データとなされるPピクチャ、及びビデオオブジェクトユニットの最後のBピクチャの各終了アドレスの計算が非常に容易となり、予め指定したアドレス値に簡単に制御することが可能となる。
 図1に戻り、ユニットアドレス計算器15では、図4にて説明したのと同様のVBV値1〜VBV値Eと転送レート情報(符号化レート情報)とを用い、以下に説明する各式によって、図5に示すようにビデオオブジェクトユニット内で最初に他の画像の復号のために参照されることになる第1のリファレンス画像(独立符号化される画像データであるIピクチャ)の終了アドレス1EAを計算し、他の画像の復号のために参照されることになる第2のリファレンス画像(最初のPピクチャ)の終了アドレス2EAを計算し、次に他の画像の復号のために参照されることになる第3のリファレンス画像(次のPピクチャ)の終了アドレス3EAを計算し、以下同様に、各リファレンス画像の終了アドレスを計算し、さらに、ビデオオブジェクトユニットの最後の画像(最後のBピクチャ)の終了アドレスTEAを計算する。
 ここで、オーディオビデオ符号化レート決定器13からの符号化レート情報のうち、ビデオデータの符号化レートをVideoRate(kbps)とし、オーディオデータの符号化レートをAudioRate(kbps)とすると、ビデオオブジェクトユニットの最後の画像(Bピクチャ)の終了アドレスTEAは、次式(16)のように算出される。
 TEA=(VideoRate+AudioRate)×15/29.97   (16)
 また、VBVバッファに予め設定した最大容量をMaxValueとし、図5に示したように、ビデオオブジェクトユニット内のIピクチャの終了アドレスを1EAとし、ビデオオブジェクトユニット内の最初のPピクチャの終了アドレスを2EA、ビデオオブジェクトユニット内の次のPピクチャの終了アドレスを3EAとすると、これら終了アドレス1EA〜3EAは、下記式(17)〜式(19)のように算出される。
 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)
 但し、これら式(16)〜式(19)において単位はkビット、ビデオオブジェクトユニットは15フレームで丁度1GOP、IピクチャやPピクチャの間にあるBピクチャは2枚であることが分かっていると仮定する。また、オーディオデータは固定転送レートと仮定し、単位時間当たりのサンプル数を固定としているが、オーディオデータの符号化が可変長符号化であれば、ビデオデータに対応した位置の(ビデオデータが出力される時間に対応する)オーディオデータの符号量を考慮して計算すればよい。また、このようなことは、目標符号量計算器56、後述する目標符号量メモリをオーディオ用に装備することにより実現可能である。
 上述したように、本実施の形態のオーディオビデオ符号化装置によれば、VBVバッファ制御器40において、独立符号化されるIピクチャと復号時に他の画像の参照画像となるPピクチャとビデオオブジェクトユニットの最後のBピクチャの目標符号量とを設定すると共に、それら目標符号量に合うように発生符号量を制御し、また、ユニットアドレス計算器15において、サーチのための基準ユニット及び当該基準ユニットの少なくとも前後に再生される所定数のユニットのアドレスと当該ユニット内のデータのうち前記独立符号化されるIピクチャ、及び復号時に他のデータの参照データとなされるPピクチャ、ビデオオブジェクトユニットの最後のBピクチャの各終了アドレスを計算することにより、図10に示したようなビデオオブジェクトユニットを再生するためのサーチ情報を記録するナビゲーションデータ、すなわち、サーチのためにそのビデオオブジェクトユニットを基準として少なくとも前後に再生される所定数のユニットのアドレス(TEA)と、独立符号化された画像(Iピクチャ)を構成できるデータの終了アドレス(第1のリファレンス画像の終了アドレス1EA)、及び第2,第3,・・・のリファレンス画像までの各終了アドレス(2EA,3EA,・・・)を、予め指定した値に簡単に制御することが可能となる。
 このユニットアドレス計算器15にて求められた情報は、ナビゲーションデータ生成器16に送られる。
 ナビゲーションデータ生成器16は、そのビデオオブジェクトユニットを再生順序で第0番として、そのビデオオブジェクトユニットを基準として少なくともその再生順序で前後15番まで再生されるビデオオブジェクトユニット、再生順序において第20番、第30番、第60番、第120番、及び第240番までのビデオオブジェクトユニットのアドレスなどを、必要に応じてアドレスをスカラー倍することで計算し、所定の順番にレイアウトして、ユニット化器17へ送信する。
 ユニット化器17では、端子19から供給されたオーディオ符号化データと、バッファメモリ6から供給されたビデオ符号化データと、ナビゲーションデータ生成器16から供給されたナビゲーションデータとを用いて、図10にて説明したようなビデオオブジェクトユニットを生成し、そのユニット化された符号化データを出力する。すなわち当該ユニット化器17では、送信されてきたナビゲーションデータをパケット化(パック化)すると共にビデオ符号化データとオーディオ符号化データなどをパケット化(パック化)し、さらにナビゲーションデータのパケット(ナビゲーションパック)を先頭に配置し、その後にビデオデータのパケット(ビデオパック)とオーディオデータのパケット(オーディオパック)などを配置して、所定の1つのビデオオブジェクトユニットを生成し、この1つのビデオオブジェクトユニットを送信する。当該1つのビデオオブジェクトユニットを送信し終わると、次のビデオオブジェクトユニットのためのナビゲーションデータを受け取って同様にユニット化する。これらのユニット化された符号化データは出力端子18から出力される。
 上述したように本発明の第1の実施の形態のオーディオビデオ符号化装置においては、余分なメモリを持たずに、ビデオオブジェクトユニットを再生するための再生制御情報及びサーチをするためのサーチ情報を記述するナビゲーションデータを、符号化が開始される前に、記録することが可能となる。
 次に、図6には、本発明の第2の実施の形態のオーディオビデオ符号化装置の概略構成を示す。なお、この図6に示すオーディオビデオ符号化装置において、図1と同一の構成要素には同じ指示符号を付し、それらの説明は省略し、図1とは異なる構成要素についてのみ説明する。
 この図6に示す第2の実施の形態のオーディオビデオ符号化装置では、VLC器5とバッファメモリ6との間に後述する無効ビット付加器22を設けると共に、VBVバッファ制御器41が図7ような構成を有している。なお、図7において、前述した図2と同一の構成要素には同じ指示符号を付し、それらの説明は省略し、図2と異なる構成要素についてのみ説明する。
 図7に示すVBVバッファ制御器41において、端子53を介してバッファメモリ6から供給された発生符号量情報は、目標符号量発生符号量比較器55に送られると同時に、無効ビット計算器68にも送られる。
 目標符号量計算器56は前述同様であり符号化レート情報に基づいて各ピクチャの目標符号量を求める。また、この第2の実施の形態においても、VBVバッファ推移観測器57によって、VBVバッファの占有量を前述したVBV値1〜VBV値Eの値に収束させるべきタイミングは、それぞれ、独立符号化される画像である第1リファレンス画像(Iピクチャ)及び、第2リファレンス画像(最初のPピクチャ)、第3リファレンス画像(次のPピクチャ)、・・・、及びビデオオブジェクトユニットの最終画像(最後のBピクチャ)の符号化時点である。なお、以下の説明では、これらのVBVバッファの値がVBV値1〜VBV値Eに収束される各画像を収束点画像と呼ぶとする。
 目標符号量メモリ67は、目標符号量計算器56から供給された目標符号量情報を一時蓄積し、その後読み出して仮目標符号量設定器66と無効ビット計算器68に供給する。
 仮目標符号量設定器66は、目標符号量メモリ67から供給された目標符号量の値の約10%程度低めの値を、仮目標符号量として設定する。
 ここで、上述した各収束点画像の目標符号量は、当該仮目標符号量設定器66において、上記目標符号量計算器56にて算出された目標符号量の約10%程度低めに設定される。この仮目標符号量は、目標符号量発生符号量比較器55に送られる。
 したがって、この図7の場合、目標符号量発生符号量比較器55は、端子53を介してバッファメモリ6から供給された発生符号量と、仮目標符号量設定器66にて設定された仮目標符号量とを比較し、仮目標符号量に対する発生符号量との誤差符号量を生成する。この誤差符号量情報は、フィードバック量子化値決定器54に送られる。これにより、発生符号量は、仮目標符号量に制御される。
 一方、無効ビット計算器68では、1ピクチャ分の符号化が終了した時点で、予めバッファメモリ6から入力されたマクロブロック毎の発生符号量を加算して、1ピクチャの総発生符号量とピクチャの目標符号量との差を計算し、ピクチャの目標符号量に足りない分の符号量を、無効ビット符号量情報として出力する。
この無効ビット符号量情報は、端子59を介して図6の無効ビット付加器22に送られる。
 図6の無効ビット付加器22では、VLC器5からの符号化データに、VBVバッファ制御器41からの無効ビット符号量情報に対応した無効ビットを付加する。これにより、当該無効ビット付加器22から出力されるデータは、目標符号量に合うように正確に制御されたデータとなり、この符号化データがバッファメモリ6に送られる。
 また、無効ビット計算器68からの無効ビット符号量情報は、VBVバッファ推移観測器57にも送信される。VBVバッファ推移観測器57では、当該無効ビット符号量の値も前述の収束点画像の符号量としてカウントする。
 なお、収束点画像のみでは、収束不可能な場合も考えられる。すなわち、収束点画像以前のピクチャが大きな符号量を発生してしまう可能性である。したがって、本実施の形態では、ある画像に対して多くの符号量を割り当てたい場合であっても、下記式(20)に適合するように、その画像に対する符号量を配分することが望ましい。
 (収束点画像nから次の収束点画像n+1までの画像の枚数)×(VideoRate/29.97)−(VBV値n−VBV値n-1)        (20)
 この第2の実施の形態のオーディオビデオ符号化装置によれば、第1の実施の形態のオーディオビデオ符号化装置と同様の効果を有するだけでなく、符号量を1バイトの誤差も含まずに非常に正確に制御できるので、ナビゲーションデータの内容と実際の符号化データとが矛盾する可能性を非常に低くすることが可能である。
本発明の第1の実施の形態のオーディオビデオ符号化装置の概略構成を示すブロック図である。 本発明の第1の実施の形態のオーディオビデオ符号化装置のVBVバッファ制御器の具体的構成をブロック図である。 符号化の際の一般的な仮想復号バッファ(VBVバッファ)占有量制御の説明に用いる図である。 本発明の実施の形態のオーディオビデオ符号化装置による符号化の際の仮想復号バッファ(VBVバッファ)占有量のバッファ制御タイミングと収束値の説明に用いる図である。 ユニットアドレス計算器の計算内容の説明に用いる図である。 本発明の第2の実施の形態のオーディオビデオ符号化装置の概略構成を示すブロック図である。 本発明の第2の実施の形態のオーディオビデオ符号化装置のVBVバッファ制御器の具体的構成をブロック図である。 従来のビデオエンコーダの概略構成を示すブロック図である。 従来のビデオデコーダの概略構成を示すブロック図である。 ビデオオブジェクトユニットとナビゲーションデータが配されるビデオオブジェクトセットの構成説明に用いる図である。
符号の説明
 1…画像信号の入力端子、2、9…演算器、3…DCT器、4…量子化器、
5…VLC、6…バッファメモリ、7…逆量子化器、8…逆DCT器、
10…画像メモリ、11…動き補償予測器、
13…オーディオビデオ符号化レート決定器(符号化レート決定手段)、
15…ユニットアドレス計算器(アドレス決定手段)、
16…ナビゲーションデータ生成器(記述手段)、
17…ユニット化器(ユニット化手段)、18…出力端子、
19…オーディオ符号化のデータ入力端子、22…無効ビット付加器、
40,41…VBVバッファ制御器(符号量制御手段)、
51…符号量制御信号の出力端子、52…符号化レート情報の入力端子、
53…発生符号量の入力端子、54…フィードバック量子化値決定器、
55…目標符号量発生符号量比較器、56…目標符号量計算器(目標符号量計算手段)、57…VBVバッファ推移観測器(バッファ推移観測手段)、
66…仮目標符号量設定器、67…目標符号量メモリ、68…無効ビット計算器、
59…無効ビット符号量情報の出力端子。

Claims (4)

  1.  所定単位の入力データを符号化する際に、符号化レートを決定し、復号時の復号バッファに相当する仮想バッファのバッファ占有量の推移を求めながら、符号化時点での前記仮想バッファのバッファ占有量を所定の値に収束するように符号化するデータ符号化方法において、
     前記符号化レートに対応して前記所定単位毎の目標符号量を求め、
     前記入力データのうちMPEGのGOP構造中の第1番目のリファレンスデータであるイントラピクチャーデータについては、前記仮想バッファのバッファ占有量を収束させる前記所定の値に基づいて設定された目標符号量となるように符号化し、
     前記符号化された符号化データを所定時間内に再生されるべきパック列としてユニット内に格納し、
     サーチのための基準ユニット及び当該基準ユニットの少なくとも前後に再生される所定数のユニットのアドレスと、当該ユニット内の前記第1番目のリファレンスデータの終了アドレスとを、前記符号化レートに基づいて求め、
     前記ユニットのアドレス及び前記ユニット内の前記第1番目のリファレンスデータの終了アドレスを当該ユニットの先頭に記述することを特徴とするデータ符号化方法。
  2.  前記ユニット内の前記第1番目のリファレンスデータであるイントラピクチャーデータの符号化の際には、前記仮想バッファのバッファ占有量を収束させる前記所定の値に基づいて設定された目標符号量に対して所定量だけ低く設定した仮目標符号量を求め、当該仮目標符号量での符号化による発生符号量と前記設定された目標符号量との差を無効ビットで調整して符号化を行うことを特徴とする請求項1記載のデータ符号化方法。
  3.  所定単位の入力データを符号化する際に、符号化レートを決定し、復号時の復号バッファに相当する仮想バッファのバッファ占有量の推移を求めながら、符号化時点での前記仮想バッファのバッファ占有量を所定の値に収束するように符号化するデータ符号化装置において、
     前記符号化レートに対応して前記所定単位毎の目標符号量を求める目標符号量計算手段と、
     前記入力データのうちMPEGのGOP構造中の第1番目のリファレンスデータであるイントラピクチャーデータについては、前記仮想バッファのバッファ占有量を収束させる前記所定の値に基づいて前記目標符号量を設定する目標符号量設定手段と、
     前記目標符号量設定手段からの前記目標符号量となるように前記第1番目のリファレンスデータを符号化する符号化手段と、
     前記符号化された符号化データを所定時間内に再生されるべきパック列としてユニット内に格納するユニット化手段と、
     サーチのための基準ユニット及び当該基準ユニットの少なくとも前後に再生される所定数のユニットのアドレスと、前記ユニット内の前記第1番目のリファレンスデータの終了アドレスとを、前記符号化レートに基づいて求めるアドレス決定手段と、
     前記ユニットのアドレス及び前記ユニット内の前記第1番目のリファレンスデータの終了アドレスを当該ユニットの先頭に記述する記述手段とを有することを特徴とするデータ符号化装置。
  4.  前記符号化制御手段は、前記ユニット内の前記第1番目のリファレンスデータであるイントラピクチャーデータの符号化の際に、前記仮想バッファのバッファ占有量を収束させる前記所定の値に基づいて設定された目標符号量に対して所定量だけ低く設定した仮目標符号量を求め、当該仮目標符号量での符号化による発生符号量と前記設定された目標符号量との差を無効ビットで調整するよう符号化を制御することを特徴とする請求項3記載のデータ符号化装置。
JP2003428093A 2003-12-24 2003-12-24 データ符号化方法及び装置 Expired - Lifetime JP3852442B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003428093A JP3852442B2 (ja) 2003-12-24 2003-12-24 データ符号化方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003428093A JP3852442B2 (ja) 2003-12-24 2003-12-24 データ符号化方法及び装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP06735799A Division JP3521794B2 (ja) 1999-03-12 1999-03-12 データ符号化方法及び装置

Publications (2)

Publication Number Publication Date
JP2004140867A true JP2004140867A (ja) 2004-05-13
JP3852442B2 JP3852442B2 (ja) 2006-11-29

Family

ID=32464091

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003428093A Expired - Lifetime JP3852442B2 (ja) 2003-12-24 2003-12-24 データ符号化方法及び装置

Country Status (1)

Country Link
JP (1) JP3852442B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8081679B2 (en) 2006-01-31 2011-12-20 Canon Kabushiki Kaisha Image processing apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8081679B2 (en) 2006-01-31 2011-12-20 Canon Kabushiki Kaisha Image processing apparatus

Also Published As

Publication number Publication date
JP3852442B2 (ja) 2006-11-29

Similar Documents

Publication Publication Date Title
JP4256574B2 (ja) 画像信号符号化方法および画像信号符号化装置
EP3376766B1 (en) Method and encoder system for determining gop length for encoding video
US8948242B2 (en) Encoding device and method and multimedia apparatus including the encoding device
JP4273207B2 (ja) ディジタルビデオデータを符号化又は復号化する方法及び装置
JP2006506032A (ja) ビデオ・エンコーダのモード選択によるレート歪みトレードオフの制御方法および装置
JP2001189940A (ja) 映像データフォーマット装置及び映像データストレージ装置
US6567554B1 (en) Data coding method and apparatus therefor
JP4706104B2 (ja) 画像符号化装置及びその方法
JP5128389B2 (ja) 動画像符号化装置及び動画像符号化方法
JP2012010263A (ja) 符号化装置、撮像装置、符号化伝送システムおよび符号化方法
US6271774B1 (en) Picture data processor, picture data decoder and picture data encoder, and methods thereof
JP3508916B2 (ja) 動画像可変ビットレート符号化方法および装置
US9172964B2 (en) Systems and methods for changing rate-control setting during video encoding
US7856054B1 (en) Scene change identification during encoding of compressed video
US20030174771A1 (en) Method, apparatus, and program for variable bit rate encoding
JP2004328150A (ja) 動画像符号化装置及び方法
JP3852442B2 (ja) データ符号化方法及び装置
EP0969671A1 (en) Data coding method and apparatus therefor
JPH1198514A (ja) 画像符号化装置および方法
JP3651302B2 (ja) データ符号化方法及び装置
JPH114445A (ja) 画像符号化装置および方法
JPH114444A (ja) 画像符号化装置および方法
JPH1023432A (ja) 画像の圧縮符号化装置
JP3521794B2 (ja) データ符号化方法及び装置
JP2004241879A (ja) 画像処理装置および方法、記録媒体、並びにプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060815

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060828

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090915

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100915

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100915

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110915

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120915

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120915

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120915

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120915

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130915

Year of fee payment: 7

EXPY Cancellation because of completion of term