JP4586340B2 - 符号化装置、および、符号化方法、並びに、プログラム - Google Patents

符号化装置、および、符号化方法、並びに、プログラム Download PDF

Info

Publication number
JP4586340B2
JP4586340B2 JP2003271725A JP2003271725A JP4586340B2 JP 4586340 B2 JP4586340 B2 JP 4586340B2 JP 2003271725 A JP2003271725 A JP 2003271725A JP 2003271725 A JP2003271725 A JP 2003271725A JP 4586340 B2 JP4586340 B2 JP 4586340B2
Authority
JP
Japan
Prior art keywords
bit rate
encoding
buffer
image data
difficulty level
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.)
Expired - Fee Related
Application number
JP2003271725A
Other languages
English (en)
Other versions
JP2005033599A5 (ja
JP2005033599A (ja
Inventor
弘道 上野
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2003271725A priority Critical patent/JP4586340B2/ja
Publication of JP2005033599A publication Critical patent/JP2005033599A/ja
Publication of JP2005033599A5 publication Critical patent/JP2005033599A5/ja
Application granted granted Critical
Publication of JP4586340B2 publication Critical patent/JP4586340B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

発明は、符号化装置、および、符号化方法、並びに、プログラムに関し、特に、符号化におけるレート制御を行う場合、ビットレートが変更されても、VBVアンダーフローを避けて、画像劣化が起こらないようにすることができる、符号化装置、および、符号化方法、並びに、プログラムに関する。
衛星放送に代表されるディジタル放送においては、例えばMPEG(Moving Picture Experts Group)の手法によりデータ圧縮された複数のプログラムが、統計多重の手法により、その伝送レートが動的に変化されて多重化される。これにより、限られた伝送レートを有効に利用して、全体として高画質のプログラムを伝送することができる。
すなわち、統計多重の手法により、複数の番組のプログラムが多重化される場合、複数のプログラムにおいて画質劣化が知覚され易い箇所が同時に発生することは実際には起こりにくいので、具体的には、それぞれのプログラムにおいて、画質劣化が知覚されやすい個所にはレートが多く割当てられ、画質劣化が知覚されにくい個所のレート配分が削除されて、各プログラムの伝送レートが動的に変化される。これにより、画質の劣化を知覚するのが困難な部分に必要以上にレートを割り当てる必要がなくなり、その分のレートを、他のプログラムに振り分けることにより、全体として、画質を劣化させることなく、伝送効率を向上させることができる。
ところで、このように統計多重によりビットレートを変更して種々のプログラムを伝送する場合、デコーダ(復号装置)側で、連続する映像を途切れることなく(以下シームレスと称する)デコードすることができるように、エンコーダ(符号化装置)側でビットレートを制御する必要がある。すなわち、エンコーダ側では、デコーダが伝送されてきたデータを一時的に保持する、所謂VBV(Video Buffering Verifier)バッファ(仮想的なバッファ)が、オーバーフローしたり、アンダーフローしないように、ビットレートを制御する必要がある。
特に、放送または通信などのアプリケーションにおいては、例えば、DVD(Digital Versatile Disk)のような蓄積メディアに情報を記録する場合とは異なり、デコーダ側でビットストリームの読み出しを制御することができないので、エンコーダ側において、VBVバッファのデータ量を制御する必要がある。
シームレスなビットレートの変更を可能にするには、エンコーダがエンコードしたデータを出力バッファに書き込んだ後、デコーダが対応するデータを入力バッファから読み出すまでの遅延時間τが、ビットレートに拘らず、常に一定になるようにすればよい。このようにビットレートを制御すれば、VBVバッファには、一定のトランスポートストリームデータが保持される。したがって、入力バッファがオーバーフローしたり、アンダーフローすることを防止することができ、シームレスにビットレートを制御することができる。
VBVバッファによる遅延時間τは、トランスポートストリームのビットレートが最低のビットレートのときに最も大きくなる。
このように、統計多重が行われる場合など、シームレスにビットレートを変更する場合において、最低ビットレートを低く設定しても遅延時間を短く維持することができ、統計多重の利点を生かして、全体として画質を向上させることができるようにするために、ビットレートに応じて、VBVバッファの使用可能範囲を制御する技術がある。(例えば、特許文献1参照)。
特開平11−262008号公報
ビットレートに応じてVBVバッファの使用可能範囲が制御される場合の、VBVバッファの最大容量、ビットレート、および、符号化遅延について、図1を用いて説明する。
VBVバッファの最大容量がvbv_size(0)であり、符号化遅延をτとするときのビットレートがbit_rate(0)である場合、次の式(1)が満たされる。
τ=vbv_size(0)/bit_rate(0)・・・(1)
シームレスビットレート変更を行なうことのできる条件は、ビットレート変更後の遅延時間が常にτ以下となることであり、bit_rate(0)より低いビットレートbit_rate(1)にビットレートが変更する際のVBVバッファ最大値vbv_size(1)は、次の式(2)を満たすようになされる。
vbv_size(1)=bit_rate(1)×τ・・・(2)
すなわち、図2に示されるように、ビットレートがbit_rate(0)からbit_rate(1)に変更される場合、VBVバッファの最大値は、vbv_size(0)からvbv_size(1)に変更され、ビットレートがbit_rate(1)からbit_rate(0)に変更される場合、VBVバッファの最大値は、vbv_size(1)からvbv_size(0)に変更される。
ここで、ビットレートが低ビットレートであるbit_rate(1)から、高ビットレートであるbit_rate(0)に変更される場合、図2のビットレート変更点Aにおいて、VBVバッファの占有量が少ないにもかかわらず、急にビットレートが高くなることにより、前のピクチャに基づいて符号化をするために、発生符号量が大きくなり、VBVアンダーフローが発生しやすくなる。このような場合、VBVアンダーフローを回避するために、デコーダでは、ピクチャスキップやマクロブロックスキップが行われてしまい、画質が劣化してしまう。
本発明はこのような状況に鑑みてなされたものであり、ビットレートが変更された場合、特に、低レートから高レートに変更された場合においても、VBVアンダーフローが発生しないように、レート制御を行うことができるようにするものである。
本発明の符号化装置は、フレーム画像データのビットレートを検出する第1の検出手段と、第1の検出手段による検出結果を基に、ビットレートが変更された場合、復号装置の入力バッファに対応する仮想バッファの初期バッファ容量を調整し、仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定手段と、決定手段により決定された量子化インデックスデータを基に、量子化を実行する量子化手段と、量子化手段により量子化された量子化係数データを符号化する符号化手段とを備えことを特徴とする。
決定手段には、バッファ占有量を更に検出させるようにすることができ、ビットレートが変更された場合、第1の検出手段により検出された変更前の第1のビットレート、および、変更後の第2のビットレート、並びに、検出されたビットレート変更時のバッファ占有量を基に、仮想バッファの初期バッファ容量の値を算出して、初期バッファ容量を調整させるようにすることができる。
フレーム画像データの符号化難易度を検出する第2の検出手段を更に備えさせるようにすることができ、決定手段には、バッファ占有量を更に検出させるようにすることができ、ビットレートが変更された場合、第1の検出手段により検出された変更前の第1のビットレート、および、変更後の第2のビットレート、検出されたビットレート変更時のバッファ占有量、並びに、第2の検出手段により検出されたフレーム画像データの符号化難易度を基に、仮想バッファの初期バッファ容量の値を算出して、初期バッファ容量を調整させるようにすることができる。
フレーム画像データの符号化難易度を検出する第2の検出手段を更に備えさせるようにすることができ、決定手段には、バッファ占有量を更に検出させるようにすることができ、ビットレートが変更された場合、第2の検出手段により検出されたフレーム画像データの符号化難易度を所定の閾値と比較させるようにすることができ、符号化難易度が所定の閾値よりも高かったとき、第1の検出手段により検出された変更前の第1のビットレート、および、変更後の第2のビットレート、検出されたビットレート変更時のバッファ占有量、並びに、第2の検出手段により検出されたフレーム画像データの符号化難易度を基に、仮想バッファの初期バッファ容量の値を算出して、初期バッファ容量を調整させるようにすることができる。
本発明の符号化装置においては、フレーム画像データのビットレートが検出され、ビットレートが変更された場合、復号装置の入力バッファに対応する仮想バッファの初期バッファ容量調整され、仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータが決定され、量子化インデックスデータを基に、量子化が実行され、量子化係数データが符号化される。
本発明の符号化方法は、ビットレートに関する情報を取得するビットレート情報取得ステップと、ビットレート情報取得ステップの処理により取得されたビットレートに関する情報を基に、ビデオデータを構成するピクチャのビットレートが変更されたか否かを判断する判断ステップと、判断ステップの処理により、ビットレートが変更されたと判断された場合、復号装置の入力バッファに対応する仮想バッファの初期バッファ容量を調整する調整ステップとを含むことを特徴とする。
本発明のプログラムは、ビットレートに関する情報を取得するビットレート情報取得ステップと、ビットレート情報取得ステップの処理により取得されたビットレートに関する情報を基に、ビデオデータを構成するピクチャのビットレートが変更されたか否かを判断する判断ステップと、判断ステップの処理により、ビットレートが変更されたと判断された場合、復号装置の入力バッファに対応する仮想バッファの初期バッファ容量を調整する調整ステップとを含むことを特徴とする。
本発明の第1の符号化方法およびプログラムにおいては、ビットレートに関する情報が取得され、ビットレートに関する情報を基に、ビデオデータを構成するピクチャのビットレートが変更されたか否かが判断され、ビットレートが変更されたと判断された場合、仮想バッファの初期バッファ容量が調整される。
本発明の第2の符号化装置は、画像データを符号化する際のビットレートが変更されたことを検出するビットレート変更検出手段と、ビットレート変更検出手段によりビットレートの変更が検出された場合に、復号手段の入力バッファに対応する仮想バッファの初期バッファ容量を調整する調整手段と、調整手段により調整された初期バッファ容量の値に基づいて、画像データを符号化する際の量子化インデックスデータを決定する決定手段と、決定手段により決定された量子化インデックスデータに基づいて、画像データを符号化する符号化手段とを備える。
調整手段には、ビットレート変更検出手段により検出されたビットレート変更時のバッファ占有量を基に、仮想バッファの初期バッファ容量の値を算出して、算出結果を用いて、初期バッファ容量を調整させるようにすることができる。
画像データの符号化難易度を検出する符号化難易度検出手段を更に備えさせるようにすることができ、調整手段には、符号化難易度検出手段により検出された符号化難易度を基に、仮想バッファの初期バッファ容量の値を算出して、算出結果を用いて、初期バッファ容量を調整させるようにすることができる。
画像データの符号化難易度を検出する符号化難易度検出手段を更に備えさせるようにすることができ、調整手段には、符号化難易度検出手段により検出された符号化難易度が所定の閾値よりも高い場合に、符号化難易度検出手段により検出された符号化難易度を基に、仮想バッファの初期バッファ容量の値を算出して、算出結果を用いて、初期バッファ容量を調整させるようにすることができる。
画像データの符号化難易度を検出する符号化難易度検出手段を更に備えさせるようにすることができ、調整手段には、符号化難易度検出手段により検出された符号化難易度が所定の閾値よりも高い場合に、ビットレート変更検出手段により検出されたビットレート変更時のバッファ占有量を基に、仮想バッファの初期バッファ容量の値を算出して、算出結果を用いて、初期バッファ容量を調整させるようにすることができる。
本発明の第2の符号化方法は、画像データを符号化する際のビットレートが変更されたことを検出し、ビットレートの変更が検出された場合に、復号部の入力バッファに対応する仮想バッファの初期バッファ容量を調整し、調整された初期バッファ容量の値に基づいて、画像データを符号化する際の量子化インデックスデータを決定し、決定された量子化インデックスデータに基づいて、画像データを符号化するステップを含む。
本発明の第2の符号化装置および方法においては、画像データを符号化する際のビットレートが変更されたことが検出され、ビットレートの変更が検出された場合に、復号における入力バッファに対応する仮想バッファの初期バッファ容量が調整され、調整された初期バッファ容量の値に基づいて、画像データを符号化する際の量子化インデックスデータが決定され、決定された量子化インデックスデータに基づいて、画像データが符号化される。
本発明によれば、フレーム画像データを符号化することができる。特に、ビットレートの変更が検出された場合、必要に応じて、前記仮想バッファの初期バッファ容量を調整するようにしたので、VBVバッファアンダーフローを防ぐことができ、画像の劣化を防止することができる。
また、他の本発明によれば、画像データを符号化することができ、特に、ビットレートの変更が検出された場合に、復号手段の入力バッファに対応する仮想バッファの初期バッファ容量を調整して、画像データを符号化する際の量子化インデックスデータを決定するようにしたので、VBVバッファアンダーフローを防ぐことができ、画像の劣化を防止することができる。
以下に本発明の実施の形態を説明するが、特許請求の範囲に記載の発明の各手段および各ステップと以下の実施の形態との対応関係を明らかにするために、各手段および各ステップの後の括弧内に、対応する実施の形態(但し一例)を付加して本発明の特徴を記述すると、次のようになる。但し勿論この記載は、各手段および各ステップを記載したものに限定することを意味するものではない。
請求項1に記載の符号化装置(例えば、図3の符号化装置1または図5の符号化装置41)は、フレーム画像データのビットレートを検出する第1の検出手段(例えば、図3または図5のビットレート取得部31)と、第1の検出手段による検出結果を基に、ビットレートが変更された場合、復号装置の入力バッファに対応する仮想バッファの初期バッファ容量を調整し、仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定手段(例えば、図3の仮想バッファ決定部32または図5の仮想バッファ決定部62)と、決定手段により決定された量子化インデックスデータを基に、量子化を実行する量子化手段(例えば、図3または図5の量子化部15)と、量子化手段により量子化された量子化係数データを符号化する符号化手段(例えば、図3または図5のVLC部16)とを備え
請求項2に記載の符号化装置は、決定手段が、バッファ占有量を更に検出し、ビットレートが変更された場合、第1の検出手段により検出された変更前の第1のビットレート(例えば、式(3)におけるbit_rate(1))、および、変更後の第2のビットレート(例えば、式(3)におけるbit_rate(0))、並びに、検出されたビットレート変更時のバッファ占有量(例えば、式(3)におけるvbv_ocp)を基に、仮想バッファの初期バッファ容量の値を算出して、初期バッファ容量を調整することを特徴とする。
請求項3に記載の符号化装置は、フレーム画像データの符号化難易度を検出する第2の検出手段(例えば、図5の画像難易度情報取得部61)を更に備え、決定手段は、バッファ占有量を更に検出し、ビットレートが変更された場合、第1の検出手段により検出された変更前の第1のビットレート(例えば、式(11)におけるbit_rate(1))、および、変更後の第2のビットレート(例えば、式(11)におけるbit_rate(0))、検出されたビットレート変更時のバッファ占有量(例えば、式(11)におけるvbv_ocp)、並びに、第2の検出手段により検出されたフレーム画像データの符号化難易度(例えば、式(11)におけるdiff_info)を基に、仮想バッファの初期バッファ容量の値を算出して、初期バッファ容量を調整することを特徴とする。
請求項4に記載の符号化装置は、フレーム画像データの符号化難易度を検出する第2の検出手段(例えば、図5の画像難易度情報取得部61)を更に備え、決定手段は、バッファ占有量を更に検出し、ビットレートが変更された場合、第2の検出手段により検出されたフレーム画像データの符号化難易度(例えば、diff_info)を所定の閾値と比較し、符号化難易度が所定の閾値よりも高かったとき、第1の検出手段により検出された変更前の第1のビットレート(例えば、式(11)におけるbit_rate(1))、および、変更後の第2のビットレート(例えば、式(11)におけるbit_rate(0))、検出されたビットレート変更時のバッファ占有量(例えば、式(11)におけるvbv_ocp)、並びに、第2の検出手段により検出されたフレーム画像データの符号化難易度(例えば、式(11)におけるdiff_info)を基に、仮想バッファの初期バッファ容量の値を算出して、初期バッファ容量を調整することを特徴とする。
請求項5に記載の符号化方法は、ビットレートに関する情報を取得するビットレート情報取得ステップ(例えば、図4のステップS1、図6のステップS21、または、図7のステップS41)と、ビットレート情報取得ステップの処理により取得されたビットレートに関する情報を基に、ビデオデータを構成するピクチャのビットレートが変更されたか否かを判断する判断ステップ(例えば、図4のステップS2、図6のステップS22、または、図7のステップS42)と、判断ステップの処理により、復号装置の入力バッファに対応するビットレートが変更されたと判断された場合、仮想バッファの初期バッファ容量を調整する調整ステップ例えば、図4のステップS4、図6のステップS24、または、図7のステップS46)とを含むことを特徴とする。
また、請求項6に記載のプログラムにおいても、各ステップが対応する実施の形態(但し一例)は、請求項5に記載の符号化方法と同様である。
以下、図を参照して、本発明の実施の形態について説明する。
図3は、本発明を適用した符号化装置1の構成を示すブロック図である。
画像並べ替え部11は、順次入力されるビデオデータの各フレーム画像を、必要に応じて並べ替えたり、16画素×16ラインの輝度信号、および輝度信号に対応する色差信号によって構成されるマクロブロックに分割したマクロブロックデータを生成して、演算部12、および、動き検出部13に供給する。
動き検出部13は、マクロブロックデータの入力を受け、各マクロブロックの動きベクトルを、マクロブロックデータ、および、ビデオメモリ21に記憶されている参照画像データを基に算出し、動きベクトルデータとして、動き補償部20に送出する。
演算部12は、画像並べ替え部11から供給されたマクロブロックデータについて、各マクロブロックの画像タイプに基づいた動き補償を行う。具体的には、演算部12は、Iピクチャに対してはイントラモードで動き補償を行い、Pピクチャに対しては、順方向予測モードで動き補償を行い、Bピクチャに対しては、双方向予測モードで動き補償を行うようになされている。
ここでイントラモードとは、符号化対象となるフレーム画像をそのまま伝送データとする方法であり、順方向予測モードとは、符号化対象となるフレーム画像と過去参照画像との予測残差を伝送データとする方法であり、双方向予測モードとは、符号化対象となるフレーム画像と、過去と将来の参照画像との予測残差を伝送データとする方法である。
まず、マクロブロックデータがIピクチャであった場合、マクロブロックデータはイントラモードで処理される。すなわち、演算部12は、入力されたマクロブロックデータのマクロブロックを、そのまま演算データとしてDCT(Discrete Cosine Transform :離散コサイン変換)部14に送出する。DCT部14は、入力された演算データに対しDCT変換処理を行うことによりDCT係数化し、これをDCT係数データとして、量子化部15に送出する。
量子化部15は、量子化制御部23の仮想バッファ決定部32から供給される量子化値Qに基づいて、入力されたDCT係数データに対して量子化処理を行い、量子化DCT係数データとしてVLC(Variable Length Code;可変長符号化)部16および逆量子化部17に送出する。ここで、量子化部15は、仮想バッファ決定部32から供給される量子化値Qに応じて、量子化処理における量子化ステップサイズを調整することにより、発生する符号量を制御するようになされている。
逆量子化部17に送出された量子化DCT係数データは、量子化部15と同じ量子化ステップサイズによる逆量子化処理を受け、DCT係数データとして、IDCT(Inverse Discreet Cosine Transform;逆離散コサイン変換)部18に送出される。IDCT部18は、供給されたDCT係数データに逆DCT処理を施し、生成された演算データは、演算部19に送出され、参照画像データとしてビデオメモリ21に記憶される。
そして、演算部12は、マクロブロックデータがPピクチャであった場合、マクロブロックデータについて、順方向予測モードよる動き補償処理を行い、Bピクチャであった場合、マクロブロックデータについて、双方向予測モードによる動き補償処理を行う。
動き補償部20は、ビデオメモリ21に記憶されている参照画像データを、動きベクトルデータに応じて動き補償し、順方向予測画像データ、または、双方向予測画像データを算出する。演算部12は、マクロブロックデータについて、動き補償部20より供給される順方向予測画像データ、または、双方向予測画像データを用いて減算処理を実行する。
すなわち、順方向予測モードにおいて、動き補償部20は、ビデオメモリ21の読み出しアドレスを、動きベクトルデータに応じてずらすことによって、参照画像データを読み出し、これを順方向予測画像データとして演算部12および演算部19に供給する。演算部12は、供給されたマクロブロックデータから、順方向予測画像データを減算して、予測残差としての差分データを得る。そして、演算部12は、差分データをDCT部14に送出する。
演算部19には、動き補償部20より順方向予測画像データが供給されており、演算部19は、IDCT部18から供給された演算データに、順方向予測画像データを加算することにより、参照画像データを局部再生し、ビデオメモリ21に出力して記憶させる。
また、双方向予測モードにおいて、動き補償部20は、ビデオメモリ21の読み出しアドレスを、動きベクトルデータに応じてずらすことによって、参照画像データを読み出し、これを双方向予測画像データとして演算部12および演算部19に供給する。演算部12は、供給されたマクロブロックデータから、双方向予測画像データを減算して、予測残差としての差分データを得る。そして、演算部12は、差分データをDCT部14に送出する。
演算部19には、動き補償部20より双方向予測画像データが供給されており、演算部19は、IDCT部18から供給された演算データに、双方向予測画像データを加算することにより、参照画像データを局部再生し、ビデオメモリ21に出力して記憶させる。
かくして、符号化装置1に入力された画像データは、動き補償予測処理、DCT処理および量子化処理を受け、量子化DCT係数データとして、VLC部16に供給される。VLC部16は、量子化DCT係数データに対し、所定の変換テーブルに基づく可変長符号化処理を行い、その結果得られる可変長符号化データをバッファ22に送出する。バッファ22は、供給された可変長符号化ストリームを所定の時間バッファリングした後、出力する。
出力された可変長符号化ストリームは、例えば、必要に応じて、オーディオストリームや、他の映像ストリームと多重化されて、所定の処理により、分割されて、ヘッダなどが付加されることによりパケット化され、複数のパケットデータにより構成されるMPEGトランスポートストリームが、所定のデータ伝送路によって、伝送される。
量子化制御部23は、符号化装置1における量子化を制御するものである。ビットレート情報取得部31は、ビットレートの値、または、ビットレートの値を示す情報を取得し、仮想バッファ決定部32に供給する。仮想バッファ決定部32は、バッファ22に格納される可変長符号化データの蓄積状態を常時監視しており、ビットレートが変更されたか否かに基づいて、仮想バッファの初期バッファ容量の調整を実行する。仮想バッファ決定部32は、算出された仮想バッファの初期バッファ容量に基づいて、目標符号量を決定し、目標符号量を発生するための量子化ステップサイズを決定して、量子化部15に供給するようになされている。
図2を用いて説明したように、符号化装置1においては、ビットレートがbit_rate(0)からbit_rate(1)に変更される場合、VBVバッファの最大値は、vbv_size(0)からvbv_size(1)に変更され、ビットレートがbit_rate(1)からbit_rate(0)に変更される場合、VBVバッファの最大値は、vbv_size(1)からvbv_size(0)に変更される。
特に、ビットレートが低レートから高レートに変更された場合、ビットレートの変更の差分が大きく、レート変更時のバッファ占有量が小さいほど、VBVアンダーフローが起こりやすい状態となるため、仮想バッファ決定部32は、ビットレートの変更を検出した場合、次の式(3)を用いて仮想バッファの初期バッファ容量を決定し、目標符号量を発生するための量子化ステップサイズを決定して、量子化部15に供給するようになされている。
d’(0)=d(0)×k1×|bit_rate(1)−bit_rate(0)|/vbv_ocp・・・(3)
ただし、式(3)において、k1は、経験的、または実験的に求められる所定の定数であり、bit_rate(1)は、変更後ビットレートであり、bit_rate(0)は、変更前ビットレートであり、vbv_ocpは、ビットレート変更時のVBV占有量である。
また、仮想バッファ決定部32は、ビットレートの変更を検出しなかった場合、従来どおり量子化を制御する。すなわち、仮想バッファ決定部32は、ビットレートに対応するVBVバッファサイズおよびバッファ占有量情報に基づいて、目標発生符号量よりも実際に発生したマクロブロックの発生符号量が多いとき、発生符号量を減らすために量子化ステップサイズを大きくし、また目標発生符号量よりも実際の発生符号量が少ないとき、発生符号量を増やすために量子化ステップサイズを小さくするようになされている。
すなわち、仮想バッファ決定部32は、デコーダ側に設けられたVBVバッファに格納された可変長符号化データの蓄積状態の推移を想定することにより、仮想バッファのバッファ占有量を求めて、量子化値Qを算出し、これを量子化部15に供給する。
j番目のマクロブロックにおける仮想バッファのバッファ占有量d(j)は、次の式(4)によって表され、また、j+1番目のマクロブロックにおける仮想バッファのバッファ占有量d(j+1)は、次の式(5)によって表され、(4)式から(5)式を減算することにより、j+1番目のマクロブロックにおける仮想バッファのバッファ占有量d(j+1)は、次の式(6)として表される。
d(j)=d(0)+B(j−1)−{T×(j−1)/MBcnt}・・・(4)
ここで、d(0)は初期バッファ容量、B(j)は、j番目のマクロブロックにおける符号化発生ビット数、MBcntは、ピクチャ内のマクロブロック数、そして、Tは、ピクチャ単位の目標発生符号量である。
d(j+1)=d(0)+B(j)−(T×j)/MBcnt・・・(5)
d(j+1)=d(j)+{B(j)−B(j−1)}−T/MBcnt・・・(6)
したがって、仮想バッファ決定部32は、バッファ占有量d(j+1)、および、式(7)に示される定数rを、式(8)に代入することにより、マクロブロック(j+1)の量子化インデックスデータQ(j+1)を算出し、これを量子化部15に供給する。
r=(2×br)/pr ・・・(7)
Q(j+1)=d(j+1)×(31/r) ・・・(8)
ここで、brは、ビットレートであり、prは、ピクチャレートである。
量子化部15は、量子化値Qに基づいて、次のマクロブロックにおける量子化ステップサイズを決定し、量子化ステップサイズによってDCT係数データを量子化する。
これにより、量子化部15は、1つ前のピクチャにおける実際の発生符号量に基づいて算出された、次のピクチャの目標発生符号量にとって最適な量子化ステップサイズによって、DCT係数データを量子化することができる。
かくして、量子化部15では、バッファ22のデータ占有量に応じて、バッファ22がオーバーフローまたはアンダーフローしないように量子化し得るとともに、デコーダ側のVBVバッファがオーバーフロー、またはアンダーフローしないように量子化した量子化DCT係数データを生成することができる。
図2を用いて説明した従来の処理においては、VBVバッファの最大値が、遅延時間τとビットレートの積によって決められるようになされたが、このようにした場合、特に、ビットレートが低レートから高レートに変更されるとき、ビットレートの変更の差分が大きく、レート変更時のバッファ占有量が小さいほど、VBVアンダーフローが起こりやすい状態となってしまう。このような場合、VBVアンダーフローを防ぐためには、ビットレートの変更を検出して、上述した式(3)を用いて仮想バッファの初期バッファ容量を調整する必要がある。
図4のフローチャートを参照して、図3の符号化装置1において実行される仮想バッファ調整処理1について説明する。
ステップS1において、ビットレート情報取得部31は、ビットレート情報を取得して、仮想バッファ決定部32に供給する。ビットレート情報は、ビットレートそのものの数値データあっても、ビットレートを示す対応する情報であっても良い。ビットレート情報取得部31は、外部の装置からビットレート情報を取得するようにしても良いし、ビットレート情報がビデオデータに多重化されている場合、ビデオデータからビットレート情報を抽出するようにしても良い。
ステップS2において、仮想バッファ決定部32は、供給されたビットレート情報を基に、ビットレートが変更されたか否かを判断する。ステップS2において、ビットレートが変更されていないと判断された場合、仮想バッファの初期バッファ容量は調整されないので、処理は、ステップS1に戻り、それ以降の処理が繰り返される。
ステップS2において、ビットレートが変更されたと判断された場合、ステップS3において、仮想バッファ決定部32は、VBVの占有量vbv_ocpを取得する。
ステップS4において、仮想バッファ決定部32は、ステップS3で取得したVBVの占有量vbv_ocp、および、ステップS1において供給された変更前後のビットレートを基に、式(3)により、仮想バッファの初期バッファ容量d’(0)を算出して、仮想バッファの初期バッファ容量を、ビットレートおよびVBV占有量に応じた値に調整し、処理は、ステップS1に戻り、それ以降の処理が繰り返される。
このような処理により、ビットレートが変更されたときに、ビットレートおよびVBV占有量に応じた値となるように仮想バッファの初期バッファ容量を調整して、VBVアンダーフローの恐れがある場合には、発生符号量を抑制することができるようにしたので、ビットレートの変更の差分が大きく、レート変更時のバッファ占有量が小さくても、VBVアンダーフローの発生を未然に防ぐことにより、ピクチャスキップやマクロブロックスキップなどの発生による画質劣化を防止することができる。
なお、符号化装置1において、例えば、TM5(Test Model 5)のように、仮想バッファをピクチャタイプ別に管理しているような場合、仮想バッファ決定部32は、ビットレート変更後に最初に現れる各ピクチャタイプにおいて、仮想バッファの初期バッファ容量を調整する。
また、上述した処理においては、ステップS2において、ビットレートが高レートから低レートへ変更されたことが検出された場合であっても、低レートから高レートへ変更されたことが検出された場合であっても、ビットレートおよびVBV占有量に応じて、仮想バッファの初期バッファ容量を調整するものとして説明したが、VBVアンダーフローが発生しやすいのは、ビットレートが低レートから高レートへ変更されたときであるので、ビットレートが低レートから高レートへ変更されたときのみ、ビットレート、および、VBV占有量に応じて、仮想バッファの初期バッファ容量を調整するものとしてもよい。なお、ビットレートが高レートから低レートに変更されたときに仮想バッファの初期バッファ容量の調整を行うようにしても、仮想バッファの初期バッファ容量の調整を行わないときと比較して、画質劣化を防止することができるので、必要に応じて、ビットレートが高レートから低レートに変更されたときのみに仮想バッファの初期バッファ容量の調整を行うようにしてもよい。
ところで、符号化対象ピクチャが、符号化に容易な画像である場合、符号発生量は大きくならないため、VBVバッファのアンダーフローが起こる可能性がほとんどないにもかかわらず、仮想バッファの初期バッファ容量を調整して符号発生量を抑制してしまった場合、必要以上に画像が劣化してしまう。
したがって、画像の符号化難易度を検出することにより、ビットレートおよびVBV占有量に加えて、符号化難易度に応じた仮想バッファの初期バッファ容量を算出するようにしたり、符号化難易度が所定の値よりも低い場合においては、仮想バッファの初期バッファ容量の調整を行わないようにすることにより、符号化に容易な画像において、必要以上に画像を劣化させることを防止することが可能となる。
図5は、ビットレート、VBV占有量、および、符号化難易度に応じて、仮想バッファの初期バッファ容量を調整することができる符号化装置41の構成を示すブロック図である。
なお、図3における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。すなわち、図5の符号化装置41は、量子化制御部23に代わって、量子化制御部51が設けられている以外は、図3を用いて説明した符号化装置1と同様の構成を有するものであり、量子化制御部51は、仮想バッファ決定部32に代わって、仮想バッファ決定部62が設けられ、新たに、画像難易度情報取得部61が設けられている以外は、図1の量子化制御部23と同様の構成を有するものである。
画像難易度情報取得部61は、イントラAC(IntraAC)、またはME残差情報などの画像難易度情報を取得または算出し、仮想バッファ決定部62に供給する。
これらの画像難易度情報が供給されるビデオデータに含まれている場合、画像難易度情報取得部61は、ビデオデータから、画像難易度情報抽出する。また、画像難易度情報は、他の装置から供給されるものであっても良い。
なお、画像難易度情報がME残差である場合、ME残差は、動き検出をするときに得られる情報であるので、画像難易度情報は、演算部12から供給されるものとしても良い。ME残差とは、ピクチャ単位で算出されるものであり、1つ前のピクチャと次のピクチャにおける輝度の差分値の合計値である。
また、画像難易度情報がイントラACである場合、画像難易度情報取得部61は、画像並べ替え部11から供給されるマクロブロックデータを基に、イントラACを算出するようにしても良い。
イントラACは、MPEG方式におけるDCT処理単位のDCTブロックごとの映像データとの分散値の総和として定義されるパラメータであって、映像の複雑さを指標し、映像の絵柄の難しさおよび圧縮後のデータ量と相関性を有する。すなわち、イントラACとは、DCTブロック単位で、それぞれの画素の画素値から、ブロック毎の画素値の平均値を引いたものの絶対値和の、画面内における総和である。イントラACは、次の式(9)で示される。
Figure 0004586340
・・・(9)
また、式(9)において、式(10)が成り立つ。
Figure 0004586340
・・・(10)
仮想バッファ決定部62は、ビットレートの変更を検出した場合、次の式(11)を用いて仮想バッファの初期バッファ容量を決定し、目標符号量を発生するための量子化ステップサイズを決定して、量子化部15に供給するようになされている。
d”(0)=d(0)×k2×diff_info×|bit_rate(1)−bit_rate(0)|/vbv_ocp
・・・(11)
ただし、式(11)において、k2は、経験的、または実験的に求められる所定の定数であり、diff_infoは、画像難易度であり、bit_rate(1)は、変更後ビットレートであり、bit_rate(0)は、変更前ビットレートであり、vbv_ocpは、ビットレート変更時のVBV占有量である。
または、仮想バッファ決定部62は、ビットレートの変更を検出した場合、画像難易度を経験的、または実験的に求められる所定の閾値と比較し、画像難易度が所定の閾値より大きい場合(所定の値よりも符号化難易度が高い場合)にのみ、式(11)を基に、仮想バッファの初期バッファ容量を決定し、目標符号量を発生するための量子化ステップサイズを決定して、量子化部15に供給するようにしてもよい。
そして、仮想バッファ決定部62は、ビットレートの変更を検出しない場合、従来と同様のレート制御を行い、量子化部15の量子化処理を制御する。
次に、図6のフローチャートを参照して、図5の符号化装置41において実行される仮想バッファ調整処理2について説明する。
ステップS21において、ビットレート情報取得部31は、ビットレート情報を取得して、仮想バッファ決定部62に供給する。ビットレート情報は、ビットレートそのものの数値データあっても、ビットレートを示す対応する情報であっても良い。ビットレート情報取得部31は、外部の装置からビットレート情報を取得するようにしても良いし、ビットレート情報がビデオデータに多重化されている場合、ビデオデータからビットレート情報を抽出するようにしても良い。
ステップS22において、仮想バッファ決定部62は、供給されたビットレート情報を基に、ビットレートが変更されたか否かを判断する。ステップS22において、ビットレートが変更されていないと判断された場合、仮想バッファの初期バッファ容量は調整されないので、処理は、ステップS21に戻り、それ以降の処理が繰り返される。
ステップS22において、ビットレートが変更されたと判断された場合、ステップS23において、仮想バッファ決定部62は、VBVの占有量vbv_ocpを取得し、画像難易度情報取得部61は、画像難易度情報diff_infoを取得して、仮想バッファ決定部62に供給する。
ステップS24において、仮想バッファ決定部62は、ステップS23で取得したVBVの占有量vbv_ocpおよび画像難易度情報diff_info、並びに、ステップS21において供給された変更前後のビットレートを基に、式(11)により、仮想バッファの初期バッファ容量d”(0)を算出して、仮想バッファの初期バッファ容量を、ビットレート、VBV占有量、および、画像難易度に応じた値に調整し、処理は、ステップS21に戻り、それ以降の処理が繰り返される。
このような処理により、ビットレートが変更されたときに、ビットレートおよびVBV占有量に加えて、画像難易度に応じた値となるように仮想バッファの初期バッファ容量を調整して、発生符号量を必要に応じて抑制することができるようにしたので、ビットレートの変更の差分が大きく、レート変更時のバッファ占有量が小さくても、不必要に画像を劣化させることなく、VBVアンダーフローの発生を未然に防ぐことができ、ピクチャスキップやマクロブロックスキップなどの発生による画質劣化を防止することができる。
また、上述した処理においては、ステップS22において、ビットレートが高レートから低レートへ変更されたことが検出された場合であっても、低レートから高レートへ変更されたことが検出された場合であっても、ビットレート、VBV占有量、および、画像難易度に応じて、仮想バッファの初期バッファ容量を調整するものとして説明したが、VBVアンダーフローが発生しやすいのは、ビットレートが低レートから高レートへ変更されたときであるので、ビットレートが低レートから高レートへ変更されたときのみ、ビットレート、VBV占有量、および、画像難易度に応じて、仮想バッファの初期バッファ容量を調整するものとしてもよい。なお、ビットレートが高レートから低レートに変更されたときに仮想バッファの初期バッファ容量の調整を行うようにしても、仮想バッファの初期バッファ容量の調整を行わないときと比較して画質劣化を防止することができるので、必要に応じて、ビットレートが高レートから低レートに変更されたときのみに、仮想バッファの初期バッファ容量の調整を行うようにしてもよい。
次に、図7のフローチャートを参照して、図5の符号化装置41において実行される仮想バッファ調整処理3について説明する。
ステップS41において、ビットレート情報取得部31は、ビットレート情報を取得して、仮想バッファ決定部62に供給する。ビットレート情報は、ビットレートそのものの数値データあっても、ビットレートを示す対応する情報であっても良い。ビットレート情報取得部31は、外部の装置からビットレート情報を取得するようにしても良いし、ビットレート情報がビデオデータに多重化されている場合、ビデオデータからビットレート情報を抽出するようにしても良い。
ステップS42において、仮想バッファ決定部62は、供給されたビットレート情報を基に、ビットレートが変更されたか否かを判断する。ステップS42において、ビットレートが変更されていないと判断された場合、仮想バッファの初期バッファ容量は調整されないので、処理は、ステップS41に戻り、それ以降の処理が繰り返される。ステップS42において、ビットレートが変更されたと判断された場合、ステップS43において、画像難易度情報取得部61は、画像難易度情報diff_infoを取得して、仮想バッファ決定部62に供給する。
ステップS44において、仮想バッファ決定部62は、ステップS43で供給された画像難易度情報diff_infoは、所定の閾値より高いか否かを判断する。ステップS44において、画像難易度情報diff_infoは、所定の閾値より低いと判断された場合、符号化に容易な画像は、VBVバッファのアンダーフローを起こさないので、仮想バッファの初期バッファ容量は調整されず、処理は、ステップS41に戻り、それ以降の処理が繰り返される。
ステップS44において、画像難易度情報diff_infoは、所定の閾値より高いと判断された場合、ステップS45において、仮想バッファ決定部62は、VBVの占有量vbv_ocpを取得する。
ステップS46において、仮想バッファ決定部62は、ステップS45で取得したVBVの占有量vbv_ocp、ステップS43で供給された画像難易度情報diff_info、および、ステップS41において供給された変更前後のビットレートを基に、式(11)により、仮想バッファの初期バッファ容量d”(0)を算出して、仮想バッファの初期バッファ容量を、ビットレート、VBV占有量、および、画像難易度に応じた値に調整し、処理は、ステップS41に戻り、それ以降の処理が繰り返される。
このような処理により、ビットレートが変更されたときに、画像難易度の高い場合のみ、ビットレート、VBV占有量、および、画像難易度に応じた値となるように仮想バッファの初期バッファ容量を調整するようにしたので、符号化に容易な画像の画像劣化を防ぎつつ、発生符号量を必要に応じて抑制することができることができ、ビットレートの変更の差分が大きく、レート変更時のバッファ占有量が小さくても、VBVアンダーフローの発生を未然に防ぐことにより、ピクチャスキップやマクロブロックスキップなどの発生による画質劣化を防止することができる。
また、上述した処理においても、ステップS42において、ビットレートが高レートから低レートへ変更されたことが検出された場合であっても、低レートから高レートへ変更されたことが検出された場合であっても、ビットレート、VBV占有量、および、画像難易度に応じて、仮想バッファの初期バッファ容量を調整するものとして説明したが、VBVアンダーフローが発生しやすいのは、ビットレートが低レートから高レートへ変更されたときであるので、ビットレートが低レートから高レートへ変更されたときのみ、ビットレート、VBV占有量、および、画像難易度に応じて、仮想バッファの初期バッファ容量を調整するものとしてもよい。なお、ビットレートが高レートから低レートに変更されたときに仮想バッファの初期バッファ容量の調整を行うようにしても、仮想バッファの初期バッファ容量の調整を行わないときと比較して画質劣化を防止することができるので、必要に応じて、ビットレートが高レートから低レートに変更されたときのみに、仮想バッファの初期バッファ容量の調整を行うようにしてもよい。
なお、符号化装置41においても、例えば、TM5(Test Model 5)のように、仮想バッファをピクチャタイプ別に管理しているような場合、仮想バッファ決定部62は、ビットレート変更後に最初に現れる各ピクチャタイプにおいて、仮想バッファの初期バッファ容量を調整する。
また、本発明は、例えば、15フレームを、フレーム内符号化画像(Iピクチャ)、フレーム間順方向予測符号化画像(Pピクチャ)、もしくは、双方向予測符号化画像(Bピクチャ)の3つの画像タイプのうちのいずれの画像タイプとして処理するかを指定し、指定されたフレーム画像の画像タイプ(Iピクチャ、Pピクチャ、もしくは、Bピクチャ)に応じて、フレーム画像を符号化するような場合以外にも、ローディレイコーディングとして各フレーム画像を全てPピクチャとし、例えば、横45マクロブロック、縦24マクロブロックの画枠サイズの中でフレーム画像の上段から縦2マクロブロックおよび横45マクロブロック分の領域を1つのイントラスライス部分、他を全てインタースライス部分として設定するようにした場合にも適用可能である。また、ローディレイエンコードを行う場合においては、例えば、イントラスライス部分を縦1マクロブロック、横45マクロブロック分の領域とするなど、他の種々の大きさの領域で形成するようにしても良い。
更に、本発明は、マクロブロックごとに予測符号化のタイプ(イントラマクロブロック、または、インターマクロブロック)を指定して符号化処理を行うような場合や、オールイントラなどの符号化を行う場合においても、適用することが可能である。
更に、上述の実施の形態においては、本発明を、MPEG方式によって圧縮符号化する符号化装置としての符号化装置1または符号化装置41に適用する場合について述べたが、本発明はこれに限らず、他の種々の画像圧縮方式による符号化装置に適用するようにしても良い。
また、独立した装置として構成される符号化装置1または符号化装置41のみならず、例えば、トランスコーダや編集装置などに含まれる、同様の構成を有する符号化部おいても、本発明は適用可能である。
上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることもできる。この場合、例えば、符号化装置1が実行する処理は、図8に示されるようなパーソナルコンピュータ101により構成される。
図8において、CPU(Central Processing Unit)111は、ROM(Read Only Memory)112に記憶されているプログラム、または記憶部118からRAM(Random Access Memory)113にロードされたプログラムに従って、各種の処理を実行する。RAM113にはまた、CPU111が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU111、ROM112、およびRAM113は、バス114を介して相互に接続されている。このバス114にはまた、入出力インタフェース115も接続されている。
入出力インタフェース115には、キーボード、マウスなどよりなる入力部116、ディスプレイやスピーカなどよりなる出力部117、ハードディスクなどより構成される記憶部118、モデム、ターミナルアダプタなどより構成される通信部119が接続されている。通信部119は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース115にはまた、必要に応じてドライブ120が接続され、磁気ディスク121、光ディスク122、光磁気ディスク123、もしくは、半導体メモリ124などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部118にインストールされる。
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
この記録媒体は、図8に示されるように、装置本体とは別に、ユーザにプログラムを供給するために配布される、プログラムが記憶されている磁気ディスク121(フロッピディスクを含む)、光ディスク122(CD−ROM(Compact Disk−Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク123(MD(Mini Disk)(商標)を含む)、もしくは半導体メモリ124などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに供給される、プログラムが記憶されているROM112や、記憶部118に含まれるハードディスクなどで構成される。
なお、本明細書において、プログラムを記述するステップは、含む順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的もしくは個別に実行される処理をも含むものである。
VBVバッファの最大容量、ビットレート、および、符号化遅延について説明するための図である。 ビットレートが変更される場合のバッファ容量について説明するための図である。 本発明を適用した符号化装置の構成例を示すブロック図である。 仮想バッファ調整処理1について説明するためのフローチャートである。 本発明を適用した符号化装置の他の構成例を示すブロック図である。 仮想バッファ調整処理2について説明するためのフローチャートである。 仮想バッファ調整処理3について説明するためのフローチャートである。 パーソナルコンピュータの構成を示すブロック図である。
符号の説明
1 符号化装置, 11 画像並べ替え部, 12 演算部, 13 動き検出部, 14 DCT部, 15 量子化部, 16 VLC部, 17 逆量子化部, 18 IDCT部, 19 演算部, 20 動き補償部, 21 ビデオメモリ, 22 バッファ, 23 量子化制御部, 31 ビットレート情報取得部, 32 仮想バッファ決定部, 41 符号化装置, 51 量子化制御部, 61 画像難易度情報取得部

Claims (12)

  1. フレーム画像データを符号化する符号化装置において、
    前記フレーム画像データのビットレートを検出する第1の検出手段と、
    前記第1の検出手段による検出結果を基に、前記ビットレートが変更された場合、復号装置の入力バッファに対応する仮想バッファの初期バッファ容量を調整し、前記仮想バッファの初期バッファ容量の値を用いて、量子化インデックスデータを決定する決定手段と、
    前記決定手段により決定された前記量子化インデックスデータを基に、量子化を実行する量子化手段と、
    前記量子化手段により量子化された量子化係数データを符号化する符号化手段と
    を備えことを特徴とする符号化装置。
  2. 前記決定手段は、バッファ占有量を更に検出し、前記ビットレートが変更された場合、前記第1の検出手段により検出された変更前の第1のビットレート、および、変更後の第2のビットレート、並びに、検出されたビットレート変更時のバッファ占有量を基に、前記仮想バッファの初期バッファ容量の値を算出して、前記初期バッファ容量を調整する
    ことを特徴とする請求項1に記載の符号化装置。
  3. 前記フレーム画像データの符号化難易度を検出する第2の検出手段を更に備え、
    前記決定手段は、バッファ占有量を更に検出し、前記ビットレートが変更された場合、前記第1の検出手段により検出された変更前の第1のビットレート、および、変更後の第2のビットレート、検出されたビットレート変更時のバッファ占有量、並びに、前記第2の検出手段により検出された前記フレーム画像データの符号化難易度を基に、前記仮想バッファの初期バッファ容量の値を算出して、前記初期バッファ容量を調整する
    ことを特徴とする請求項1に記載の符号化装置。
  4. 前記フレーム画像データの符号化難易度を検出する第2の検出手段を更に備え、
    前記決定手段は、バッファ占有量を更に検出し、前記ビットレートが変更された場合、前記第2の検出手段により検出された前記フレーム画像データの符号化難易度を所定の閾値と比較し、前記符号化難易度が前記所定の閾値よりも高かったとき、前記第1の検出手段により検出された変更前の第1のビットレート、および、変更後の第2のビットレート、検出されたビットレート変更時のバッファ占有量、並びに、前記第2の検出手段により検出された前記フレーム画像データの符号化難易度を基に、前記仮想バッファの初期バッファ容量の値を算出して、前記初期バッファ容量を調整する
    ことを特徴とする請求項1に記載の符号化装置。
  5. フレーム画像データを符号化する符号化装置の符号化方法において、
    前記ビットレートに関する情報を取得するビットレート情報取得ステップと、
    前記ビットレート情報取得ステップの処理により取得された前記ビットレートに関する情報を基にビデオデータを構成するピクチャの前記ビットレートが変更されたか否かを判断する判断ステップと、
    前記判断ステップの処理により、前記ビットレートが変更されたと判断された場合、復号装置の入力バッファに対応する仮想バッファの初期バッファ容量を調整する調整ステップと
    を含むことを特徴とする符号化方法。
  6. フレーム画像データを符号化する処理をコンピュータに実行させるプログラムであって、
    前記ビットレートに関する情報を取得するビットレート情報取得ステップと、
    前記ビットレート情報取得ステップの処理により取得された前記ビットレートに関する情報を基にビデオデータを構成するピクチャの前記ビットレートが変更されたか否かを判断する判断ステップと、
    前記判断ステップの処理により、前記ビットレートが変更されたと判断された場合、復号装置の入力バッファに対応する仮想バッファの初期バッファ容量を調整する調整ステップと
    を含むことを特徴とするプログラム。
  7. 画像データを符号化する符号化装置において、
    前記画像データを符号化する際のビットレートが変更されたことを検出するビットレート変更検出手段と、
    前記ビットレート変更検出手段によりビットレートの変更が検出された場合に、復号手段の入力バッファに対応する仮想バッファの初期バッファ容量を調整する調整手段と、
    前記調整手段により調整された前記初期バッファ容量の値に基づいて、前記画像データを符号化する際の量子化インデックスデータを決定する決定手段と、
    前記決定手段により決定された前記量子化インデックスデータに基づいて、前記画像データを符号化する符号化手段と
    を備える符号化装置。
  8. 前記調整手段は、前記ビットレート変更検出手段により検出されたビットレート変更時のバッファ占有量を基に、前記仮想バッファの前記初期バッファ容量の値を算出して、算出結果を用いて、前記初期バッファ容量を調整する
    請求項7に記載の符号化装置。
  9. 前記画像データの符号化難易度を検出する符号化難易度検出手段を更に備え、
    前記調整手段は、前記符号化難易度検出手段により検出された前記符号化難易度を基に、前記仮想バッファの前記初期バッファ容量の値を算出して、算出結果を用いて、前記初期バッファ容量を調整する
    請求項8に記載の符号化装置。
  10. 前記画像データの符号化難易度を検出する符号化難易度検出手段を更に備え、
    前記調整手段は、前記符号化難易度検出手段により検出された前記符号化難易度が所定の閾値よりも高い場合に、前記符号化難易度検出手段により検出された前記符号化難易度を基に、前記仮想バッファの前記初期バッファ容量の値を算出して、算出結果を用いて、前記初期バッファ容量を調整する
    請求項8に記載の符号化装置。
  11. 前記画像データの符号化難易度を検出する符号化難易度検出手段を更に備え、
    前記調整手段は、前記符号化難易度検出手段により検出された前記符号化難易度が所定の閾値よりも高い場合に、前記ビットレート変更検出手段により検出されたビットレート変更時のバッファ占有量を基に、前記仮想バッファの前記初期バッファ容量の値を算出して、算出結果を用いて、前記初期バッファ容量を調整する
    請求項7に記載の符号化装置。
  12. 画像データを符号化する符号化装置の符号化方法において、
    前記画像データを符号化する際のビットレートが変更されたことを検出し、
    ビットレートの変更が検出された場合に、復号部の入力バッファに対応する仮想バッファの初期バッファ容量を調整し、
    調整された前記初期バッファ容量の値に基づいて、前記画像データを符号化する際の量子化インデックスデータを決定し、
    決定された前記量子化インデックスデータに基づいて、前記画像データを符号化する
    ステップを含む符号化方法。
JP2003271725A 2003-07-08 2003-07-08 符号化装置、および、符号化方法、並びに、プログラム Expired - Fee Related JP4586340B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003271725A JP4586340B2 (ja) 2003-07-08 2003-07-08 符号化装置、および、符号化方法、並びに、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003271725A JP4586340B2 (ja) 2003-07-08 2003-07-08 符号化装置、および、符号化方法、並びに、プログラム

Publications (3)

Publication Number Publication Date
JP2005033599A JP2005033599A (ja) 2005-02-03
JP2005033599A5 JP2005033599A5 (ja) 2006-06-15
JP4586340B2 true JP4586340B2 (ja) 2010-11-24

Family

ID=34209495

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003271725A Expired - Fee Related JP4586340B2 (ja) 2003-07-08 2003-07-08 符号化装置、および、符号化方法、並びに、プログラム

Country Status (1)

Country Link
JP (1) JP4586340B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100654550B1 (ko) 2005-12-31 2006-12-05 엘지전자 주식회사 비트 레이트를 이용한 데이터의 전송 및 다운로드 방법 및이를 위한 웹 서버 및 이동통신단말기
JP4584871B2 (ja) 2006-06-09 2010-11-24 パナソニック株式会社 画像符号化記録装置および画像符号化記録方法
KR100732046B1 (ko) * 2006-06-16 2007-06-25 엘지전자 주식회사 이동통신 단말기 및 그 동작방법
KR100979311B1 (ko) 2008-11-06 2010-08-31 주식회사 엘지유플러스 VoD 서비스를 위한 버퍼링 처리 방법, 및 적응적 버퍼링기능을 갖는 IPTV 셋톱박스
JP5967866B2 (ja) * 2011-04-26 2016-08-10 キヤノン株式会社 符号化装置、符号化方法及びプログラム
CN114051142B (zh) * 2022-01-13 2022-04-29 深圳市麦谷科技有限公司 硬件多路编码防抖方法、装置、智能终端及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10190745A (ja) * 1996-11-07 1998-07-21 Sony Corp 符号化信号伝送方法及び装置
WO1999034543A1 (en) * 1997-12-31 1999-07-08 Sony Corporation Coded data output device and method
JPH11243539A (ja) * 1997-12-08 1999-09-07 Sony Corp 符号化装置および符号化方法
JPH11262008A (ja) * 1997-12-08 1999-09-24 Sony Corp 符号化装置及び方法
JP2005020056A (ja) * 2003-06-23 2005-01-20 Matsushita Electric Ind Co Ltd データ符号化装置及びデータ符号化制御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10190745A (ja) * 1996-11-07 1998-07-21 Sony Corp 符号化信号伝送方法及び装置
JPH11243539A (ja) * 1997-12-08 1999-09-07 Sony Corp 符号化装置および符号化方法
JPH11262008A (ja) * 1997-12-08 1999-09-24 Sony Corp 符号化装置及び方法
WO1999034543A1 (en) * 1997-12-31 1999-07-08 Sony Corporation Coded data output device and method
JP2005020056A (ja) * 2003-06-23 2005-01-20 Matsushita Electric Ind Co Ltd データ符号化装置及びデータ符号化制御方法

Also Published As

Publication number Publication date
JP2005033599A (ja) 2005-02-03

Similar Documents

Publication Publication Date Title
JP4187405B2 (ja) 符号化方式におけるオブジェクトベースのレート制御装置及びその方法
KR100468726B1 (ko) 실시간 가변 비트율 제어를 수행하는 부호화 장치 및 방법
KR100305941B1 (ko) 실시간 단일 패스 가변 비트 레이트 제어 방법 및 그 인코더
JP4256574B2 (ja) 画像信号符号化方法および画像信号符号化装置
JP5180294B2 (ja) ビデオ符号化において、フレームの複雑さ、バッファレベル、およびイントラフレームの位置を利用するバッファベースのレート制御
US7653129B2 (en) Method and apparatus for providing intra coding frame bit budget
US9077968B2 (en) Image processing apparatus and method, and program
JP5133290B2 (ja) 動画像符号化装置および復号装置
US8948242B2 (en) Encoding device and method and multimedia apparatus including the encoding device
KR20030073254A (ko) 시공간적 복잡도를 고려한 적응적 동영상 부호화 방법 및그 장치
JP4221655B2 (ja) 符号化装置および符号化方法、プログラム、並びに記録媒体
JP2007281949A (ja) 画像符号化装置、画像符号化復号システム、画像符号化方法、および画像符号化復号方法
JP2001148858A (ja) 画像情報変換装置及び画像情報変換方法
JP4586340B2 (ja) 符号化装置、および、符号化方法、並びに、プログラム
JP5649296B2 (ja) 画像符号化装置
JP4179917B2 (ja) 動画像符号化装置及び方法
KR100708182B1 (ko) 동영상 부호화기의 비트율 제어 장치 및 방법
JP4193080B2 (ja) 符号化装置及び方法
JP4186543B2 (ja) 符号化装置および符号化方法、プログラム、並びに記録媒体
JP2003069997A (ja) 動画像符号化装置
JP4239734B2 (ja) 符号化装置、および、符号化方法、並びに、プログラム
JP2005303555A (ja) 動画像符号化装置および動画像符号化方法
JP4228739B2 (ja) 符号化装置および符号化方法、プログラム、並びに記録媒体
JP4539028B2 (ja) 画像処理装置および画像処理方法、記録媒体、並びに、プログラム
JP4186544B2 (ja) 符号化装置および符号化方法、プログラム、並びに記録媒体

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060428

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060428

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090908

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091109

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: 20100810

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100823

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

Free format text: PAYMENT UNTIL: 20130917

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees