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

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

Info

Publication number
JP4239734B2
JP4239734B2 JP2003272392A JP2003272392A JP4239734B2 JP 4239734 B2 JP4239734 B2 JP 4239734B2 JP 2003272392 A JP2003272392 A JP 2003272392A JP 2003272392 A JP2003272392 A JP 2003272392A JP 4239734 B2 JP4239734 B2 JP 4239734B2
Authority
JP
Japan
Prior art keywords
bit rate
encoding
buffer
video data
vbv
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
JP2003272392A
Other languages
English (en)
Other versions
JP2005045515A5 (ja
JP2005045515A (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 JP2003272392A priority Critical patent/JP4239734B2/ja
Publication of JP2005045515A publication Critical patent/JP2005045515A/ja
Publication of JP2005045515A5 publication Critical patent/JP2005045515A5/ja
Application granted granted Critical
Publication of JP4239734B2 publication Critical patent/JP4239734B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、符号化装置、および、符号化方法、並びに、プログラムに関し、特に、ビットレートが変更される場合においても、連続する映像を途切れることなくデコードすることができるように符号化することができる、符号化装置、および、符号化方法、並びに、プログラムに関する。
衛星放送に代表されるディジタル放送においては、例えば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バッファの最大容量、ビットレート、および、符号化遅延について、図3を用いて説明する。
従来用いられた技術によって、ビットレートに基づいて、バッファ容量が制御され、最大遅延時間τ、ビットレート変更点Aまでのビットレートbit_rate(1)、ビットレート変更点A以降のビットレートbit_rate(0)(bit_rate(0)>bit_rate(1))である場合、ビットレート変更点AまでのVBVバッファの最大値は、bit_rate(1)×τで求められるvbv_size(1)となり、ビットレート変更点A以降のVBVバッファの最大値は、bit_rate(0)×τで求められるvbv_size(0)となるように制御される。すなわち、ビットレート変更点A以降のVBV占有量(例えば、次のピクチャにおけるVBV占有量vbv_ocpy(1))がvbv_size(0)以下となればよいとされていた。
しかしながら、ビットレートが低レートから高レートに変更された(bit_rate(0)>bit_rate(1)であった)場合のビットレート変更点A直後の数ピクチャにおける符号化遅延は、図3に示される遅延時間τ(1)のように、ビットレート変更点Aにおける符号発生後のバッファ占有量(VBV占有量vbv_ocpy(0)から符号発生量gen_bit(1)を減算した値)を基準として、ビットレートの変更点前の部分においては、変更前のビットレートbit_rate(1)を用いて、ビットレートの変更点後の部分においては、変更後のビットレートbit_rate(0)を用いて求められる。したがって、レート変更時のVBV占有量vbv_ocpy(0)がvbv_size(1)に近く、発生符号量gen_bit(1)が小さい場合、遅延時間τ(1)が、最大遅延時間τより大きくなってしまい、シームレスにビットレートを変更することができない場合がある。
本発明はこのような状況に鑑みてなされたものであり、ビットレートが低レートから高レートに変更された場合においても、常に、遅延時間τ(1)が、最大遅延時間τより大きくならないように制御することができるようにするものである。
本発明の第1の符号化装置は、ビットレートに基づいてビデオデータを符号化する符号化装置において、ビットレートに関する情報を取得するビットレート情報取得手段と、ビデオデータを構成するピクチャを量子化する量子化手段と、量子化手段によるピクチャの量子化を制御する量子化制御手段と、量子化制御手段により制御された量子化手段により量子化された量子化データを符号化する符号化手段と、符号化手段により符号化された符号化データをバッファリングするVBVバッファのバッファ占有量に関する情報を取得するバッファ占有量情報取得手段とを備え、量子化制御手段は、ビットレート情報取得手段により取得された情報を基に、ビットレートが第1のビットレートから第2のビットレートに変更されたことが検出された場合、第2のビットレートのピクチャの量子化を、第2のビットレートに応じて制御するとともに、第2のビットレートが第1のビットレートよりも高レートである場合、バッファ占有量情報取得手段により取得されたバッファ占有量に関する情報を基に、符号化手段により符号化されるピクチャの符号化遅延時間がビデオデータの最大符号化遅延時間よりも短くなるような目標発生符号量を計算し、その計算結果を基に量子化を制御することを特徴とする。
バッファ占有量情報取得手段には、実際の発生符号量を更に取得させるようにすることができ、量子化制御手段により計算された目標発生符号量と、実際の発生符号量とを比較させるようにすることができ、実際の発生符号量が目標発生符号量に満たない場合、符号化手段により符号化された符号化データに対するスタッフィングビットに関する情報を更に生成させるようにすることができる。
本発明の第1の符号化装置においては、ビットレートに関する情報が取得され、ビデオデータを構成するピクチャが量子化され、ピクチャの量子化が制御され、量子化された量子化データが符号化され、符号化された符号化データをバッファリングするVBVバッファのバッファ占有量に関する情報が取得され、ビットレートが第1のビットレートから第2のビットレートに変更されたことが検出された場合、第2のビットレートのピクチャの量子化を、第2のビットレートに応じて制御するとともに、第2のビットレートが第1のビットレートよりも高レートである場合、符号化されるピクチャの符号化遅延時間がビデオデータの最大符号化遅延時間よりも短くなるような目標発生符号量が計算され、その計算結果を基に量子化が制御される。
本発明の第1の符号化方法は、ビットレートに関する情報を取得するビットレート情報取得ステップと、ビットレート情報取得ステップの処理により取得されたビットレートに関する情報を基に、ビデオデータを構成するピクチャのビットレートが、第1のビットレートから、第1のビットレートより高レートである第2のビットレートに変更されたか否かを判断する判断ステップと、判断ステップの処理により、ビットレートが、第1のビットレートから第2のビットレートに変更されたと判断された場合、符号化された符号化データをバッファリングするVBVバッファのバッファ占有量に関する情報を基に、符号化されるピクチャの符号化遅延時間ビデオデータの最大符号化遅延時間よりも短くなるような目標発生符号量を計算し、その計算結果を基にピクチャの量子化を制御する制御ステップとを含むことを特徴とする。
本発明の第1のプログラムは、ビットレートに関する情報を取得するビットレート情報取得ステップと、ビットレート情報取得ステップの処理により取得されたビットレートに関する情報を基に、ビデオデータを構成するピクチャのビットレートが、第1のビットレートから、第1のビットレートより高レートである第2のビットレートに変更されたか否かを判断する判断ステップと、判断ステップの処理により、ビットレートが、第1のビットレートから第2のビットレートに変更されたと判断された場合、符号化された符号化データをバッファリングするVBVバッファのバッファ占有量に関する情報を基に、符号化されるピクチャの符号化遅延時間ビデオデータの最大符号化遅延時間よりも短くなるような目標発生符号量を計算し、その計算結果を基にピクチャの量子化を制御する制御ステップとを含む処理をコンピュータに実行させることを特徴とする。
本発明の第1の符号化方法およびプログラムにおいては、ビットレートに関する情報が取得され、ビットレートに関する情報を基に、ビデオデータを構成するピクチャのビットレートが、第1のビットレートから、第1のビットレートより高レートである第2のビットレートに変更されたか否かが判断され、ビットレートが、第1のビットレートから第2のビットレートに変更されたと判断された場合、符号化された符号化データをバッファリングするVBVバッファのバッファ占有量に関する情報を基に、符号化されるピクチャの符号化遅延時間ビデオデータの最大符号化遅延時間よりも短くなるような目標発生符号量が計算され、その計算結果を基にピクチャの量子化が制御される。
本発明の第2の符号化装置は、ビットレートに関する情報を取得するビットレート情報取得手段と、ビデオデータを構成するピクチャを量子化する量子化手段と、量子化手段によるピクチャの量子化を制御する量子化制御手段と、量子化制御手段により制御された量子化手段により量子化された量子化データを符号化する符号化手段とを備え、量子化制御手段は、ビットレート情報取得手段により取得された情報を基に、ビットレートが第1のビットレートから第2のビットレートに変更されたことが検出された場合、第2のビットレートのピクチャの量子化を、第2のビットレートに応じて制御するとともに、第2のビットレートが第1のビットレートよりも高レートである場合、符号化手段により符号化された符号化データをバッファリングするVBVバッファの最大バッファ容量を、符号化手段により符号化されるピクチャの符号化遅延時間をビデオデータの最大符号化遅延時間以下とするVBVバッファの第1のバッファ容量と、第2のビットレートに応じて定められるVBVバッファの第2のバッファ容量とのうちの小さいほうの値に設定して、量子化を制御することを特徴とする。
量子化制御手段には、第1のバッファ容量を、第1のビットレートにおいて対応するピクチャのデコード間隔にVBVバッファに蓄積する第1の符号量、および、第2のビットレートにおいて対応するピクチャのデコード間隔にVBVバッファに蓄積する第2の符号量、並びに、1つ前のピクチャが取りうるVBVバッファの最大容量を基に算出させるようにすることができる。
符号化手段により符号化された符号化データをバッファリングするVBVバッファのバッファ占有量を制御するバッファ制御手段を更に備えさせるようにすることができ、量子化制御手段には、第1のバッファ容量と第2のバッファ容量のうちの小さいほうの値を基に、目標発生符号量を計算して、目標発生符号量を基に量子化を制御させるようにすることができ、バッファ制御手段には、実際の発生符号量を更に取得させるようにすることができ、量子化制御手段により計算された目標発生符号量と、実際の発生符号量とを比較させるようにすることができ、実際の発生符号量が目標発生符号量に満たない場合、符号化手段により符号化された符号化データに対するスタッフィングビットに関する情報を更に生成させるようにすることができる。
本発明の第2の符号化装置においては、ビットレートに関する情報が取得され、ビデオデータを構成するピクチャが量子化され、ピクチャの量子化が制御され、量子化データが符号化され、ビットレート情報を基に、ビットレートが第1のビットレートから第2のビットレートに変更されたことが検出された場合、第2のビットレートのピクチャの量子化が、第2のビットレートに応じて制御されるとともに、第2のビットレートが第1のビットレートよりも高レートである場合、符号化データをバッファリングするVBVバッファの最大バッファ容量が、符号化手段により符号化されるピクチャの符号化遅延時間をビデオデータの最大符号化遅延時間以下とするVBVバッファの第1のバッファ容量と、第2のビットレートに応じて定められるVBVバッファの第2のバッファ容量とのうちの小さいほうの値に設定されて、量子化が制御される。
本発明の第2の符号化方法は、ビットレートに関する情報を取得するビットレート情報取得ステップと、ビットレート情報取得ステップの処理により取得されたビットレートに関する情報を基に、ビデオデータを構成するピクチャのビットレートが、第1のビットレートから、第1のビットレートより高レートである第2のビットレートに変更されたか否かを判断する判断ステップと、判断ステップの処理により、ビットレートが、第1のビットレートから第2のビットレートに変更されたと判断された場合、符号化された符号化データをバッファリングするVBVバッファの最大バッファ容量を、符号化されるピクチャの符号化遅延時間をビデオデータの最大符号化遅延時間以下とするVBVバッファの第1のバッファ容量と、第2のビットレートに応じて定められるVBVバッファの第2のバッファ容量とのうちの小さいほうの値に設定する設定ステップとを含むことを特徴とする。
本発明の第2のプログラムは、ビットレートに関する情報を取得するビットレート情報取得ステップと、ビットレート情報取得ステップの処理により取得されたビットレートに関する情報を基に、ビデオデータを構成するピクチャのビットレートが、第1のビットレートから、第1のビットレートより高レートである第2のビットレートに変更されたか否かを判断する判断ステップと、判断ステップの処理により、ビットレートが、第1のビットレートから第2のビットレートに変更されたと判断された場合、符号化された符号化データをバッファリングするVBVバッファの最大バッファ容量を、符号化されるピクチャの符号化遅延時間をビデオデータの最大符号化遅延時間以下とするVBVバッファの第1のバッファ容量と、第2のビットレートに応じて定められるVBVバッファの第2のバッファ容量とのうちの小さいほうの値に設定する設定ステップとを含む処理をコンピュータに実行させることを特徴とする。
本発明の第2の符号化方法およびプログラムにおいては、ビットレートに関する情報が取得され、ビットレートに関する情報を基に、ビデオデータを構成するピクチャのビットレートが、第1のビットレートから、第1のビットレートより高レートである第2のビットレートに変更されたか否かが判断され、ビットレートが、第1のビットレートから第2のビットレートに変更されたと判断された場合、符号化された符号化データをバッファリングするVBVバッファの最大バッファ容量が、符号化されるピクチャの符号化遅延時間をビデオデータの最大符号化遅延時間以下とするVBVバッファの第1のバッファ容量と、第2のビットレートに応じて定められるVBVバッファの第2のバッファ容量とのうちの小さいほうの値に設定される。
本発明の第3の符号化装置は、ビデオデータのビットレートが第1のビットレートから第2のビットレートに変更されたことを検出するビットレート変更検出手段と、ビデオデータを符号化する符号化手段と、符号化手段により符号化された符号化データをバッファリングするVBVバッファのバッファ占有量に関する情報を取得するバッファ占有量情報取得手段と、ビットレート変更検出手段により、第1のビットレートから、第1のビットレートよりも高レートである第2のビットレートへのビットレートの変更が検出された場合、バッファ占有量情報取得手段により取得されたバッファ占有量に関する情報を基に、符号化手段により符号化されるピクチャの符号化遅延時間がビデオデータの最大符号化遅延時間よりも短くなるような目標発生符号量を計算し、その計算結果を基に符号化手段を制御する制御手段とを備える。
本発明の第3の符号化方法は、ビデオデータのビットレートが、第1のビットレートから、第1のビットレートよりも高レートである第2のビットレートに変更されたことを検出し、符号化された符号化データをバッファリングするVBVバッファのバッファ占有量に関する情報を基に、符号化されるピクチャの符号化遅延時間ビデオデータの最大符号化遅延時間よりも短くなるような目標発生符号量を計算し、その計算結果を基にビデオデータを符号化するように符号化処理を制御するステップを含む。
本発明の第3の符号化装置および符号化方法においては、ビデオデータのビットレートが、第1のビットレートから、第1のビットレートよりも高レートである第2のビットレートに変更されたことが検出され、符号化された符号化データをバッファリングするVBVバッファのバッファ占有量に関する情報を基に、符号化されるピクチャの符号化遅延時間ビデオデータの最大符号化遅延時間よりも短くなるような目標発生符号量が計算され、その計算結果を基にビデオデータが符号化される。
本発明の第4の符号化装置は、ビデオデータのビットレートが第1のビットレートから第2のビットレートに変更されたことを検出するビットレート変更検出手段と、ビデオデータを符号化して符号化データを生成する符号化手段と、ビットレート変更検出手段により、第1のビットレートから、第1のビットレートよりも高レートである第2のビットレートへのビットレートの変更が検出された場合、符号化データをバッファリングするVBVバッファの最大バッファ容量を、符号化手段により符号化されるピクチャの符号化遅延時間をビデオデータの最大符号化遅延時間以下とするVBVバッファの第1のバッファ容量と第2のビットレートに応じて定められるVBVバッファの第2のバッファ容量とのうちの小さいほうの値に設定して符号化するように、符号化手段を制御する制御手段とを備える。
本発明の第4の符号化方法は、ビデオデータのビットレートが、第1のビットレートから、第1のビットレートよりも高レートである第2のビットレートに変更されたことを検出し、符号化データをバッファリングするVBVバッファの最大バッファ容量を、符号化されるピクチャの符号化遅延時間をビデオデータの最大符号化遅延時間以下とするVBVバッファの第1のバッファ容量と第2のビットレートに応じて定められるVBVバッファの第2のバッファ容量とのうちの小さいほうの値に設定し、設定されたバッファ容量に基づいて符号化を制御するステップを含む。
本発明の第4の符号化装置および符号化方法においては、ビデオデータのビットレートが、第1のビットレートから、第1のビットレートよりも高レートである第2のビットレートに変更されたことが検出され、符号化データをバッファリングするVBVバッファの最大バッファ容量が、符号化されるピクチャの符号化遅延時間をビデオデータの最大符号化遅延時間以下となるVBVバッファの第1のバッファ容量と、第2のビットレートに応じて定められるVBVバッファの第2のバッファ容量とのうちの小さいほうの値に設定され、設定されたバッファ容量に基づいて符号化される。
本発明によれば、ビデオデータを符号化することができる。特に、ビットレートが低レートから高レートに変更された直後の数ピクチャにおける符号化遅延時間がビデオデータの最大遅延時間以下とするようにしたので、シームレスビットレート変更条件を満たすことができる。
また、他の本発明によれば、ビデオデータを符号化することができる他、符号化された符号化データをバッファリングするVBVバッファの最大バッファ容量を、ピクチャの符号化遅延時間をビデオデータの最大符号化遅延時間以下とする第1のバッファ容量と、第2のビットレートに応じて定められる第2のバッファ容量とのうちの小さいほうの値に設定するようにしたので、シームレスビットレート変更条件を満たすことができる。
更に他の本発明によれば、ビデオデータを符号化することができる。特に、ビットレートが低レートから高レートに変更された直後の数ピクチャにおける符号化遅延時間がビデオデータの最大遅延時間以下とするようにしたので、シームレスビットレート変更条件を満たすことができる。
更に他の本発明によれば、ビデオデータを符号化することができ、特に、符号化された符号化データをバッファリングするVBVバッファの最大バッファ容量を、ピクチャの符号化遅延時間をビデオデータの最大符号化遅延時間以下とする第1のバッファ容量と、第2のビットレートに応じて定められる第2のバッファ容量とのうちの小さいほうの値に設定するようにしたので、シームレスビットレート変更条件を満たすことができる。
以下に本発明の実施の形態を説明するが、特許請求の範囲に記載の発明の各手段および各ステップと以下の実施の形態との対応関係を明らかにするために、各手段および各ステップの後の括弧内に、対応する実施の形態(但し一例)を付加して本発明の特徴を記述すると、次のようになる。但し勿論この記載は、各手段および各ステップを記載したものに限定することを意味するものではない。
請求項1に記載の符号化装置(例えば、図4に記載の符号化装置1)は、ビットレートに関する情報を取得するビットレート情報取得手段(例えば、図4のビットレート情報取得部31)と、ビデオデータを構成するピクチャを量子化する量子化手段(例えば、図4の量子化部15)と、量子化手段によるピクチャの量子化を制御する量子化制御手段(例えば、図4の目標符号量決定部33)と、量子化制御手段により制御された量子化手段により量子化された量子化データを符号化する符号化手段(例えば、図4のVLC部16)と、前記符号化手段により符号化された符号化データをバッファリングするVBVバッファのバッファ占有量に関する情報(例えば、vbv_ocpy(1))を取得するバッファ占有量情報取得手段(例えば、図4のVBVバッファ管理部32)とを備え、量子化制御手段は、ビットレート情報取得手段により取得された情報を基に、ビットレートが第1のビットレートから第2のビットレートに変更されたことが検出された場合、第2のビットレートのピクチャの量子化を、第2のビットレートに応じて制御するとともに、第2のビットレートが第1のビットレートよりも高レートである場合、バッファ占有量情報取得手段により取得されたバッファ占有量に関する情報を基に、符号化手段により符号化されるピクチャの符号化遅延時間(例えば、τ(1)またはτ(2))がビデオデータの最大符号化遅延時間(例えば、式(1)におけるτ)よりも短くなるような目標発生符号量(例えば、式(20)のTb(i))を計算し、その計算結果を基に量子化を制御することを特徴とする。
請求項に記載の符号化装置は、バッファ占有量情報取得手段が、実際の発生符号量(例えば、gen_bit(1))を更に取得し、量子化制御手段により計算された目標発生符号量と、実際の発生符号量とを比較し、実際の発生符号量が目標発生符号量に満たない場合、符号化手段により符号化された符号化データに対するスタッフィングビットに関する情報(例えば、式(14)のstuffing(1))を更に生成することを特徴とする。
請求項に記載の符号化方法は、ビットレートに関する情報を取得するビットレート情報取得ステップ(例えば、図8のステップS1の処理)と、ビットレート情報取得ステップの処理により取得されたビットレートに関する情報を基に、ビデオデータを構成するピクチャのビットレートが、第1のビットレートから、第1のビットレートより高レートである第2のビットレートに変更されたか否かを判断する判断ステップ(例えば、図8のステップS2の処理)と、判断ステップの処理により、ビットレートが、第1のビットレートから第2のビットレートに変更されたと判断された場合、符号化された符号化データをバッファリングするVBVバッファのバッファ占有量に関する情報を基に、符号化される前記ピクチャの符号化遅延時間前記ビデオデータの最大符号化遅延時間よりも短くなるような目標発生符号量を計算し、その計算結果を基にピクチャの量子化を制御する制御ステップ(例えば、図8のステップS6の処理)とを含むことを特徴とする。
また、請求項に記載のプログラムにおいても、各ステップが対応する実施の形態(但し一例)は、請求項に記載の符号化方法と同様である。
請求項に記載の符号化装置(例えば、図4に記載の符号化装置1)は、ビットレートに関する情報を取得するビットレート情報取得手段(例えば、図4のビットレート情報取得部31)と、ビデオデータを構成するピクチャを量子化する量子化手段(例えば、図4の量子化部15)と、量子化手段によるピクチャの量子化を制御する量子化制御手段(例えば、図4の目標符号量決定部33)と、量子化制御手段により制御された量子化手段により量子化された量子化データを符号化する符号化手段(例えば、図4のVLC部16)とを備え、量子化制御手段は、ビットレート情報取得手段により取得された情報を基に、ビットレートが第1のビットレートから第2のビットレートに変更されたことが検出された場合、第2のビットレートのピクチャの量子化を、第2のビットレートに応じて制御するとともに、第2のビットレートが第1のビットレートよりも高レートである場合、符号化手段により符号化された符号化データをバッファリングするVBVバッファの最大バッファ容量を、符号化手段により符号化されるピクチャの符号化遅延時間をビデオデータの最大符号化遅延時間以下とするVBVバッファの第1のバッファ容量(例えば、式(26)で求められるvbv_size_tmp(j))と、第2のビットレートに応じて定められるVBVバッファの第2のバッファ容量(例えば、式(27)のvbv_size_max(H))とのうちの小さいほうの値に設定して、量子化を制御することを特徴とする。
請求項に記載の符号化装置は、量子化制御手段が、第1のバッファ容量を、第1のビットレートにおいて対応するピクチャのデコード間隔にVBVバッファに蓄積する第1の符号量(例えば、式(25)のpic_bit(1)、式(26)または式(27)のpic_bit(L))、および、第2のビットレートにおいて対応するピクチャのデコード間隔にVBVバッファに蓄積する第2の符号量(例えば、式(25)のpic_bit(2)、式(26)または式(27)のpic_bit(H))、並びに、1つ前のピクチャが取りうるVBVバッファの最大容量(例えば、式(26)または式(27)のvbv_size_tmp(j-1))を基に算出すことを特徴とする。
請求項に記載の符号化装置は、符号化手段により符号化された符号化データをバッファリングするVBVバッファのバッファ占有量を制御するバッファ制御手段(例えば、図4のVBVバッファ管理部32)を更に備え、量子化制御手段は、第1のバッファ容量と第2のバッファ容量のうちの小さいほうの値を基に、目標発生符号量を計算して、目標発生符号量を基に量子化を制御し、バッファ制御手段は、実際の発生符号量(例えば、gen_bit(1))を更に取得し、量子化制御手段により計算された目標発生符号量と、実際の発生符号量とを比較し、実際の発生符号量が目標発生符号量に満たない場合、符号化手段により符号化された符号化データに対するスタッフィングビットに関する情報(例えば、stuffing(1))を更に生成することを特徴とする。
請求項に記載の符号化方法は、ビットレートに関する情報を取得するビットレート情報取得ステップ(例えば、図12のステップS31)と、ビットレート情報取得ステップの処理により取得されたビットレートに関する情報を基に、ビデオデータを構成するピクチャのビットレートが、第1のビットレートから、第1のビットレートより高レートである第2のビットレートに変更されたか否かを判断する判断ステップ(例えば、図12のステップS32)と、判断ステップの処理により、ビットレートが、第1のビットレートから第2のビットレートに変更されたと判断された場合、符号化された符号化データをバッファリングするVBVバッファの最大バッファ容量を、符号化されるピクチャの符号化遅延時間をビデオデータの最大符号化遅延時間以下とするVBVバッファの第1のバッファ容量と、第2のビットレートに応じて定められるVBVバッファの第2のバッファ容量とのうちの小さいほうの値に設定する設定ステップ(例えば、図12のステップS34乃至ステップS37の処理)とを含むことを特徴とする。
また、請求項に記載のプログラムにおいても、各ステップが対応する実施の形態(但し一例)は、請求項に記載の符号化方法と同様である。
以下、図を参照して、本発明の実施の形態について説明する。
図4は、本発明を適用した符号化装置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の目標符号量決定部33から供給される量子化値Qに基づいて、入力されたDCT係数データに対して量子化処理を行い、量子化DCT係数データとしてVLC(Variable Length Code;可変長符号化)部16および逆量子化部17に送出する。ここで、量子化部15は、目標符号量決定部33から供給される量子化値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は、ビットレートの値を示す情報、または、ビットレートが変更されたか否かを示す情報を取得し、VBVバッファ管理部32に供給する。VBVバッファ管理部32は、バッファ22に格納される可変長符号化データの蓄積状態を常時監視しており、蓄積状態を表す占有量情報を目標符号量決定部33に供給するとともに、ビットレート情報取得部31から供給されたビットレート情報に基づいて、ビットレートが低レートから高レートに変更されたか否かを示す情報を目標符号量決定部33に供給する。
また、VBVバッファ管理部32は、実際に発生された符号量が目標符号量に満たない場合、必要に応じて、トランスポートストリームにスタッフィングコードを付加させる(ゼロスタッフィングを行わせる)ためのスタッフィング情報を出力することが可能である。
スタッフィングコードとは、スタートコードの前に配置することが可能な、バイト単位の値が0のデータを意味する。MPEGでは、スタッフィングコードは、デコード時には読み飛ばされるため、復号された画像に影響はないが、VBVバッファの管理上はビットストリームを構成するデータとしてカウントされるため、スタッフィングコードを付加することにより、VBVバッファのオーバーフローを未然に防ぐことができる。
目標符号量決定部33は、ビットレートが低レートから高レートに変更されたか否かに基づいて、VBVバッファ管理部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)に変更される。
目標符号量決定部33は、ビットレートが低レートから高レートに変更された場合、レート変更後の遅延時間τ(1)が、最大遅延時間τより大きくなってしまうことがないように、図8を用いて後述する処理により、目標符号量を決定し、目標符号量を発生するための量子化ステップサイズを決定して、量子化部15に供給するようになされている。
また、目標符号量決定部33は、ビットレートが低レートから高レートに変更されていない場合、ビットレートに対応するVBVバッファサイズおよびVBVバッファ管理部32から供給された占有量情報に基づいて、目標発生符号量よりも実際に発生したマクロブロックの発生符号量が多いとき、発生符号量を減らすために量子化ステップサイズを大きくし、また目標発生符号量よりも実際の発生符号量が少ないとき、発生符号量を増やすために量子化ステップサイズを小さくするようになされている。
すなわち、目標符号量決定部33は、デコーダ側に設けられたVBVバッファに格納された可変長符号化データの蓄積状態の推移を想定することにより、仮想バッファのバッファ占有量を求めて、量子化値Qを算出し、これを量子化部15に供給する。
j番目のマクロブロックにおける仮想バッファのバッファ占有量d(j)は、次の式(3)によって表され、また、j+1番目のマクロブロックにおける仮想バッファのバッファ占有量d(j+1)は、次の式(4)によって表され、(3)式から(4)式を減算することにより、j+1番目のマクロブロックにおける仮想バッファのバッファ占有量d(j+1)は、次の式(5)として表される。
d(j)=d(0)+B(j−1)−{T×(j−1)/MBcnt}・・・(3)
ここで、d(0)は初期バッファ容量、B(j)は、j番目のマクロブロックにおける符号化発生ビット数、MBcntは、ピクチャ内のマクロブロック数、そして、Tは、ピクチャ単位の目標発生符号量である。
d(j+1)=d(0)+B(j)−(T×j)/MBcnt・・・(4)
d(j+1)=d(j)+{B(j)−B(j−1)}−T/MBcnt・・・(5)
したがって、目標符号量決定部33は、バッファ占有量d(j+1)、および、式(6)に示される定数rを、式(7)に代入することにより、マクロブロック(j+1)の量子化インデックスデータQ(j+1)を算出し、これを量子化部75に供給する。
r=(2×br)/pr ・・・(6)
Q(j+1)=d(j+1)×(31/r) ・・・(7)
ここで、brは、ビットレートであり、prは、ピクチャレートである。
量子化部15は、量子化値Qに基づいて、次のマクロブロックにおける量子化ステップサイズを決定し、量子化ステップサイズによってDCT係数データを量子化する。
これにより、量子化部15は、1つ前のピクチャにおける実際の発生符号量に基づいて算出された、次のピクチャの目標発生符号量にとって最適な量子化ステップサイズによって、DCT係数データを量子化することができる。
かくして、量子化部15では、バッファ22のデータ占有量に応じて、バッファ22がオーバーフローまたはアンダーフローしないように量子化し得るとともに、デコーダ側のVBVバッファがオーバーフロー、またはアンダーフローしないように量子化した量子化DCT係数データを生成することができる。
図5を用いて、ビットレートが低レートであるbit_rate(1)から、高レートであるbit_rate(0)に変更された場合の発生符号量と遅延時間の関係について説明する。
レート変更直後の遅延時間は、レート変更前後で異なるビットレートを基に求められるので、レート変更時のVBV占有量vbv_ocpy(0)がvbv_size(1)に近く、発生符号量gen_bit(1)が小さい場合、遅延時間τ(1)が、最大遅延時間τより大きくなる場合がある。これに対して、発生符号量gen_bit´(1)を、ある程度大きな値とすることにより、遅延時間τ´(1)を、最大遅延時間τと等しいか、または、最大遅延時間τより小さい値とすることができる。
次に、図6を用いて、レート変更直後の遅延時間τ(1)を、最大遅延時間τと等しいか、または、最大遅延時間τより小さい値とすることができる目標発生符号量について説明する。
ビットレート変更時のVBV占有量をvbv_ocpy(0)、目標発生符号量をTb(1)、bit_rate(1)のときの最大VBVバッファサイズをvbv_size(1)、ビットレート変更後の最初のピクチャのデコード間隔(ビットレート変更前の最後のピクチャのデコードタイミングとビットレート変更後の最初のピクチャのデコードタイミングとの間隔であり、具体的には、2fieldまたは3field時間)をduration(1)とした場合、ビットレート変更時の次のピクチャにおける遅延時間τ(1)は次の式(8)で表すことができる。
τ(1)={(vbv_ocpy(0)−Tb(1))/bit_rate(1)}+duration(1)・・・(8)
シームレスにビットレート変換を行うためには、式(8)において、τ(1)がτ以下になればよい。したがって、次の式(9)および式(9)を変形した式(10)を満たすようにすればよい。
τ≧{(vbv_ocpy(0)−Tb(1))/bit_rate(1)}+duration(1)・・・(9)
bit_rate(1)×τ≧vbv_ocpy(0)−Tb(1)+bit_rate(1)×duration(1)・・・(10)
更に、bit_rate(1)×τはvbv_size(1)であり、デコード間隔duration(1)の間にVBVバッファに蓄積される符号量をpic_bit(1)とした場合、式(10)は式(11)に書き換えられるので、式(12)を満たす符号量を発生するようにすれば、シームレスにビットレートを変換することができる。
vbv_size(1)≧vbv_ocpy(0)−Tb(1)+pic_bit(1)・・・(11)
Tb(1)≧vbv_ocpy(0)+pic_bit(1)−vbv_size(1)・・・(12)
したがって、目標符号量決定部33は、ビットレートが低レートから高レートへ変更される場合、式(12)を満たす目標発生符号量Tb(1)を算出し、目標符号量Tb(1)を発生するための量子化ステップサイズを決定して、量子化部15に供給する
なお、式(12)を満たす目標発生符号量Tb(1)の最小値は、式(12)において、等式が成り立つ場合であるので、Tb(1)の最小値をTb(1)minとしたとき、Tb(1)minは、次の式(13)で示される。
Tb(1)min=vbv_ocpy(0)+pic_bit(1)−vbv_size(1)・・・(13)
そして、目標発生符号量Tb(1)に対して実際に発生した発生符号量をgen_bit(1)とし、発生符号量をgen_bit(1)が目標発生符号量Tb(1)に満たない場合、ゼロスタッフィングなどにより、発生符号量が補われるようにすれば良い。ゼロスタッフィングの符号量stuffing(1)は、次の式(14)で示される。
stuffing(1)=Tb(1)min−gen_bit(1)・・・(14)
更に、レート変更後2枚目のピクチャにおける遅延時間τ(2)を、最大遅延時間τと等しいか、または、最大遅延時間τより小さい値とすることができる目標発生符号量Tb(2)について、図7を用いて説明する。
レート変更直後のピクチャにおいて、実際に発生した符号量をgen_bit(1)とすると、レート変更後2枚目のピクチャにおける遅延時間τ(2)は、レート変更後2枚目のピクチャにおけるデコード間隔(ビットレート変更後の最初のピクチャのデコードタイミングと2枚目のピクチャのデコードタイミングとの間隔であり、具体的には、2fieldまたは3field時間)をduration(2)とすると、次の式(15)で示される。
τ(2)={(vbv_ocpy(0)−gen_bit(1)−Tb(2))/bit_rate(1)}
+duration(1)+duration(2) ・・・(15)
ここで、デコード間隔duration(2)の間にVBVバッファに蓄積される符号量をpic_bit(2)とすると、τ(2)をτ以下とするためには、上述した式(9)乃至式(12)と同様にして、次の式(16)乃至式(19)が導かれる。
τ≧{(vbv_ocpy(0)−gen_bit(1)−Tb(2))/bit_rate(1)}+duration(1)+duration(2) ・・・(16) bit_rate(1)×τ≧vbv_ocpy(0)−gen_bit(1)−Tb(2)
+bit_rate(1)×duration(1)+bit_rate(1)×duration(2)
・・・(17) vbv_size(1)≧vbv_ocpy(0)−gen_bit(1)−Tb(2)+pic_bit(1)+pic_bit(2)
・・・(18) Tb(2)≧vbv_ocpy(0)−gen_bit(1)+pic_bit(1)+pic_bit(2)−vbv_size(1)
・・・(19)
以降、同様にビットレート変更後i枚目のピクチャにおける目標発生符号量Tb(i)は、次の式(20)ように一般化することができる。
Figure 0004239734
・・・(20)
また、図7に示される場合、ビットレート変更後3枚目のピクチャにおける遅延時間τ(3)を、最大遅延時間τと等しいか、または、最大遅延時間τより小さい値とするために、ビットレート変換前のビットレートbit_rate(1)およびビットレート変更後のビットレートbit_rate(0)が用いられて目標発生符号量Tb(3)が算出される。これに対して、実際の発生符号量が足りない場合であってもスタッフィングなどが施されるので、実際の遅延時間τ(3)は、ビットレート変換前のビットレートbit_rate(1)の値を用いずに、ビットレート変更後のビットレートbit_rate(0)のみを用いて求めることが可能となる。
したがって、次の4枚目以降のピクチャにおける遅延時間τ(3)を、最大遅延時間τと等しいか、または、最大遅延時間τより小さい値とするための発生符号量の算出においては、ビットレート変換前のビットレートbit_rate(1)の値を用いずに、ビットレート変更後のビットレートbit_rate(0)のみを用いて、発生符号量の演算を行うことができる。ビットレート変更後の何枚目のピクチャにおいて、ビットレート変更後のビットレートのみを用いて遅延時間τ(i)の演算が行われるようになるかは、ビットレートや、ビットレート変更時のVBV占有量vbv_ocpy(0)、ビット発生量などにより異なる。ビットレート変更後のビットレートのみを用いて、遅延時間τ(i)の演算を行うことができるとき、次の式(21)が満たされる。
Figure 0004239734
・・・(21)
図8を用いて、遅延時間τ(i)を、最大遅延時間τより小さい値とするために発生符号量を調整する、発生符号量調整処理について説明する。
ステップS1において、ビットレート情報取得部31は、ビットレート情報を取得して、VBVバッファ管理部32に供給する。ビットレート情報は、ビットレートそのものの数値データあっても、ビットレートを示す対応する情報であっても、または、ビットレートが変更されたか否か、および、ビットレートの変更は低レートから高レートへの変更であるか否かを示す情報であっても良い。ビットレート情報取得部31は、外部の装置からビットレート情報を取得するようにしても良いし、ビットレート情報がビデオデータに多重化されている場合、ビデオデータからビットレート情報を抽出するようにしても良い。
ステップS2において、VBVバッファ管理部32は、供給されたビットレート情報を基に、現在のビットレートは、低レートから高レートへ変更された変更後のビットレートであるか否かを判断する。ステップS2において、ビットレートが、低レートから高レートへ変更された変更後のビットレートではないと判断された場合、VBVバッファ管理部32は、ビットレートが低レートから高レートへ変更されていないことを示す情報、および、バッファの占有量情報を、目標符号量決定部33に供給し、処理は、後述するステップS5に進む。
ステップS2において、ビットレートが、低レートから高レートへ変更された変更後のビットレートであると判断された場合、VBVバッファ管理部32は、ビットレートが低レートから高レートへ変更されたことを示す情報、および、バッファの占有量情報を、目標符号量決定部33に供給するので、ステップS3において、目標符号量決定部33は、例えば、式(8)または式(15)などを用いて説明した場合と同様にして、そのピクチャにおける遅延時間τ(i)を計算する。
ステップS4において、目標符号量決定部33は、ステップS3において計算される遅延時間τ(i)は、変更後のビットレートのみを用いて計算可能であるか否か、換言すれば、上述した式(21)が満たされるか否かを判断する。
ステップS2において、ビットレートが、低レートから高レートへ変更された変更後のビットレートではないと判断された場合、または、ステップS4において、遅延時間τ(i)は、変更後のビットレートのみを用いて計算可能であると判断された場合、ステップS5において、目標符号量決定部33は、現在のビットレートに対応するVBVバッファサイズ、ビットレート、バッファ占有量を基に、通常通りの方法で、発生符号量を調整して、処理が終了される。
ステップS4において、遅延時間τ(i)は、変更後のビットレートのみを用いて計算可能ではないと判断された場合、ステップS6において、目標符号量決定部33は、式(20)を用いて説明した目標発生符号量Tb(i)を算出して、遅延時間τ(i)が最大遅延時間τ以下となるように、発生符号量を調整し、処理が終了される。
また、VBVバッファ管理部32は、実際の発生符号量gen_bit(i)が目標発生符号量Tb(i)に満たない場合、式(14)を用いて説明した場合と同様にして、目標発生符号量Tb(i)から発生符号量gen_bit(i)を減算することにより、ゼロスタッフィングの符号量を算出し、発生符号量を補うためのスタッフィング情報を出力する。
このような処理により、ビットレートが、低レートから高レートへ変更された場合のビットレート変更直後の数ピクチャにおいても、符号化遅延時間τ(i)が最大遅延時間τ以下となるように、発生符号量を制御することが可能となる。
しかしながら、図6乃至図8を用いて説明した発生符号量調整処理に必要な演算処理は、式(8)乃至式(21)を用いて説明したように、非常に複雑なものとなる。そのため、例えば、ビットレートが徐々に高くなるようにビットレートの変更が頻繁に行われる場合などでは、図8を用いて説明した処理により発生符号量を制御することが困難となる。
そこで、目標符号量決定部33は、ビットレートが低レートから高レートに変更された場合、図6乃至図8を用いて説明した処理に代わって、レート変更後の遅延時間τ(j)が、最大遅延時間τより大きくなってしまうことがないようなVBVバッファサイズを簡単な計算により求め、求められたVBVバッファサイズをオーバーフローしないように発生符号量を調整する処理を行うようにしてもよい。
図9を用いて、レート変更後の遅延時間τ(1)が、最大遅延時間τより大きくなってしまうことがないようなVBVバッファサイズについて説明する。
変更前のビットレートbit_rate(1)でのVBVバッファ最大値がvbv_size(1)のときの最大遅延時間τよりも、ビットレート変更後の最初のピクチャにおける遅延時間τ(1)が小さくなるためには、図中t(1)で示される時間幅が、ビットレート変更後の最初のピクチャのデコード間隔duration(1)と等しいか、または、長ければよい。換言すれば、最大遅延時間τよりも遅延時間τ(1)が小さくなるための発生符号量gen_bit(1)は、変更前のビットレートbit_rate(1)で、デコード間隔duration(1)と等しい時間t(1)にデコードされる符号量と等しいか、または、多ければよいので、次の式(22)が満たされていれば良い。
bit_rate(1)×duration(1)≦gen_bit(1)・・・(22)
したがって、式(22)を満たす符号発生量gen_bit(1)であれば、シームレスにビットレートを変換することができるので、図9に示されるバッファ占有量vbv_ocpy(1)を、VBVバッファサイズの最大値vbv_size_tmp(1)として、通常行っているVBVバッファ管理処理を行えばよいことがわかる。VBVバッファ最大値として用いられるvbv_size_tmp(1)は次の式(23)で計算できる。
vbv_size_tmp(1)=vbv_size(1)−bit_rate(1)×duration(1)
+bit_rate(0)×duration(1) ・・・(23)
ただし、VBVバッファ最大値は、もちろん、レートにより決まるVBVバッファ最大値vbv_size(0)以上の値をとることはできないので、式(23)により求められるvbv_size_tmp(1)がvbv_size(0)より大きい値である場合、VBVバッファ最大値はvbv_size(0)として制御されるものとする。
そして、図10に示されるように、ビットレート変更直後の1枚目のピクチャのVBVバッファ最大値vbv_size_tmp(1)に対して、2枚目のピクチャのVBVバッファ最大値vbv_size_tmp(2)は、次の式(24)で示される。
vbv_size_tmp(2)=vbv_size_tmp(1)−bit_rate(1)×duration(2)
+bit_rate(0)×duration(2) ・・・(24)
ここで、デコード間隔duration(2)は、2枚目のピクチャにおけるデコード間隔である。ただし、VBVバッファ最大値は、もちろん、レートにより決まるVBVバッファ最大値vbv_size(0)以上の値をとることはできないので、式(24)により求められるvbv_size_tmp(2)がvbv_size(0)より大きい値である場合、VBVバッファ最大値はvbv_size(0)として制御されるものとする。
また、ビットレートが、短時間に複数回変更される場合であっても、図9および図10を用いて説明した場合と同様にして、VBVバッファの最大値を求めることが可能である。
例えば、図11に示されるように、bit_rate(1)から、bit_rate(2)、bit_rate(0)と、ピクチャ単位でビットレートが順次高くなる場合(すなわち、bit_rate(1)<bit_rate(2)<bit_rate(0)である場合)を例として説明する。
2枚目のピクチャのVBVバッファ最大値vbv_size_tmp(2)は、変更直前のビットレートであるbit_rate(2)で2枚目のピクチャにおけるデコード間隔duration(2)中にVBVバッファに蓄積される符号量をpic_bit(1)、bit_rate(0)でデコード間隔duration(2)中にVBVバッファに蓄積される符号量をpic_bit(2)とすると、次の式(25)で示される。
vbv_size_tmp(2)=vbv_size_tmp(1)−pic_bit(1)+pic_bit(2)・・・(25)
pic_bit(2)は、pic_bit(1)よりも大きく、図中t(2)で示される時間は、デコード間隔duration(2)よりも長くなることから、2枚目のピクチャにおける遅延時間τ(2)は、最大遅延時間τと等しいか短い遅延時間τ(1)よりも更に短くなるので、bit_rate(1)<bit_rate(2)<bit_rate(0)としてピクチャ単位でビットレートが順次高くなる場合であっても、式(25)が満たされる場合には、シームレスにビットレート変換が行われる。
式(25)から、j番目のピクチャにおけるVBVバッファ最大値vbv_size_tmp(j)は、次の式(26)で示される。
vbv_size_tmp(j)=vbv_size_tmp(j-1)−pic_bit(L)+pic_bit(H)・・・(26)
ただし、pic_bit(L)は、直近の変更前ビットレートで対応するピクチャのデコード間隔分の時間に蓄積される符号化ビット量であり、pic_bit(H)は、変更後のビットレートで対応するピクチャのデコード間隔分の時間に蓄積される符号化ビット量である。
τ(2)はτ(1)(≦τ)よりも更に短くなるため、VBVバッファの最大値は、必要以上に小さくなってしまうが、この演算方法によれば、高いレートへのレート変更を連続して行っても、式(26)により、現在および直前のビットレートを用いて演算することにより、シームレスビットレート変更の条件を満たすことができる。
ただし、VBVバッファ最大値は、もちろん、そのピクチャのビットレートにより決まるVBVバッファ最大値vbv_size_max(H)以上の値をとることはできない。例えば、図10を用いて説明した場合のように、vbv_size(0)がピクチャのビットレートにより決まるVBVバッファ最大値vbv_size_max(H)に対応する場合、VBVバッファ最大値は、図10において図中Cで示されるようなvbv_size(0)よりも大きな値となることはありえない。したがって、j番目のピクチャにおけるVBVバッファ最大値vbv_size_tmp(j)は、その直前のピクチャにおけるVBVバッファ最大値をvbv_size_tmp(j−1)とした場合、次の式(27)で求められる。
vbv_size_tmp(j)=
min{vbv_size_tmp(j-1)−pic_bit(L)+pic_bit(H),vbv_size_max(H)}
・・・(27)
ここで、vbv_size_max(H)は、変更後のビットレートにおいて使用可能なVBVバッファ最大値であり、min{A,B}は、AとBのうちの小さい値が選択されることを示す。
このような処理により、図6乃至図8を用いて説明した場合よりも、簡単な演算で、シームレスビットレート変更の条件を満たすための制御を行うことが可能となる。
次に、図12のフローチャートを参照して、シームレスなビットレート変更を行うためのバッファサイズ調整処理について説明する。
ステップS31において、ビットレート情報取得部31は、ビットレート情報を取得して、VBVバッファ管理部32に供給する。ビットレート情報は、ビットレートそのものの数値データあっても、ビットレートを示す対応する情報であっても、または、ビットレートが変更されたか否か、および、ビットレートの変更は低レートから高レートへの変更であるか否かを示す情報であっても良い。ビットレート情報取得部31は、外部の装置からビットレート情報を取得するようにしても良いし、ビットレート情報がビデオデータに多重化されている場合、ビデオデータからビットレート情報を抽出するようにしても良い。
ステップS32において、VBVバッファ管理部32は、供給されたビットレート情報を基に、現在のビットレートが、低レートから高レートへ変更された変更後のビットレートであるか否かを判断する。ステップS32において、ビットレートが、低レートから高レートへ変更された変更後のビットレートではないと判断された場合、VBVバッファ管理部32は、ビットレートが低レートから高レートへ変更されていないことを示す情報、および、バッファの占有量情報を、目標符号量決定部33に供給するので、ステップS33において、目標符号量決定部33は、通常通りのVBVバッファサイズの最大値を設定して、レート制御を実行して、処理が終了される。
ステップS32において、ビットレートが、低レートから高レートへ変更された変更後のビットレートであると判断された場合、VBVバッファ管理部32は、ビットレートが低レートから高レートへ変更されたことを示す情報、および、バッファの占有量情報を、目標符号量決定部33に供給するので、ステップS34において、目標符号量決定部33は、上述した式(26)により、このピクチャにおけるバッファサイズの最大値vbv_size_tmp(j)を計算する。
ステップS35において、目標符号量決定部33は、ステップS34で計算されたvbv_size_tmp(j)がビットレート変更後のVBVバッファサイズの最大値vbv_size_max(H)より大きいか否かを判断する。
ステップS35において、vbv_size_tmp(j)がビットレート変更後のVBVバッファサイズの最大値vbv_size_max(H)より大きいと判断された場合、ステップS36において、目標符号量決定部33は、ビットレート変更後のVBVバッファサイズの最大値vbv_size_max(H)をバッファサイズの最大値に設定してレート制御を行い、VBVバッファ管理部32は、目標符号発生量と、実際の符号発生量を比較して、必要に応じて、ゼロスタッフィングを行わせるためのスタッフィング情報を生成して、処理が終了される。
ステップS35において、vbv_size_tmp(j)がビットレート変更後のVBVバッファサイズの最大値vbv_size_max(H)より大きくないと判断された場合、ステップS37において、目標符号量決定部33は、vbv_size_tmp(j)をバッファサイズの最大値に設定してレート制御を行い、VBVバッファ管理部32は、目標符号発生量と、実際の符号発生量を比較して、必要に応じて、ゼロスタッフィングを行わせるためのスタッフィング情報を生成して、処理が終了される。
すなわち、ステップS34乃至ステップS37の処理は、式(27)の演算に他ならない。
このような処理により、低ビットレートから高ビットレートにビットレートが変更される場合、図6乃至図8を用いて説明した場合と同様にして、ビットレート変更直後のピクチャにおける遅延時間が最大遅延時間より大きくならないようなレート制御を行うことができる。特に、低ビットレートから高ビットレートへ頻繁にビットレートが変更される場合であっても、簡単な演算処理で、シームレスビットレート変更条件を満たすような符号化処理が行われるように、レート制御を行うことが可能となる。
また、本発明は、例えば、15フレームを、フレーム内符号化画像(Iピクチャ)、フレーム間順方向予測符号化画像(Pピクチャ)、もしくは、双方向予測符号化画像(Bピクチャ)の3つの画像タイプのうちのいずれの画像タイプとして処理するかを指定し、指定されたフレーム画像の画像タイプ(Iピクチャ、Pピクチャ、もしくは、Bピクチャ)に応じて、フレーム画像を符号化するような場合以外にも、ローディレイコーディングとして各フレーム画像を全てPピクチャとし、例えば、横45マクロブロック、縦24マクロブロックの画枠サイズの中でフレーム画像の上段から縦2マクロブロックおよび横45マクロブロック分の領域を1つのイントラスライス部分、他を全てインタースライス部分として設定するようにした場合にも適用可能である。また、ローディレイエンコードを行う場合においては、例えば、イントラスライス部分を縦1マクロブロック、横45マクロブロック分の領域とするなど、他の種々の大きさの領域で形成するようにしても良い。
更に、本発明は、マクロブロックごとに予測符号化のタイプ(イントラマクロブロック、または、インターマクロブロック)を指定して符号化処理を行うような場合や、オールイントラなどの符号化を行う場合においても、適用することが可能である。
更に、上述の実施の形態においては、本発明を、MPEG方式によって圧縮符号化する符号化装置としての符号化装置1に適用する場合について述べたが、本発明はこれに限らず、他の種々の画像圧縮方式による符号化装置に適用するようにしても良い。
また、独立した装置として構成される符号化装置1のみならず、例えば、トランスコーダや編集装置などに含まれる、同様の構成を有する符号化部おいても、本発明は適用可能である。
上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることもできる。この場合、例えば、符号化装置1が実行する処理は、図13に示されるようなパーソナルコンピュータ101により構成される。
図13において、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にインストールされる。
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
この記録媒体は、図13に示されるように、装置本体とは別に、ユーザにプログラムを供給するために配布される、プログラムが記憶されている磁気ディスク121(フロッピディスクを含む)、光ディスク122(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク123(MD(Mini-Disk)(商標)を含む)、もしくは半導体メモリ124などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに供給される、プログラムが記憶されているROM112や、記憶部118に含まれるハードディスクなどで構成される。
なお、本明細書において、プログラムを記述するステップは、含む順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的もしくは個別に実行される処理をも含むものである。
VBVバッファの最大容量、ビットレート、および、符号化遅延について説明するための図である。 ビットレートが変更される場合のバッファ容量について説明するための図である。 ビットレート変更点直後における符号化遅延について説明するための図である。 本発明を適用した符号化装置の構成を示すブロック図である。 発生符号量と符号化遅延の関係について説明するための図である。 ビットレート変更の次のピクチャの目標符号発生量について説明するための図である。 ビットレート変更から2枚目のピクチャの目標符号発生量について説明するための図である。 発生符号量調整処理について説明するためのフローチャートである。 バッファサイズの調整と符号化遅延との関係について説明するための図である。 バッファサイズの調整と符号化遅延との関係について説明するための図である。 ビットレートがピクチャ単位で順次高くなる場合の処理について説明するための図である。 バッファサイズ調整処理について説明するためのフローチャートである。 パーソナルコンピュータの構成を示すブロック図である。
符号の説明
1 符号化装置, 11 画像並べ替え部, 12 演算部, 13 動き検出部, 14 DCT部, 15 量子化部, 16 VLC部, 17 逆量子化部, 18 IDCT部, 19 演算部, 20 動き補償部, 21 ビデオメモリ, 22 バッファ, 23 量子化制御部, 31 ビットレート情報取得部, 32 VBVバッファ管理部, 33 目標符号量決定部

Claims (13)

  1. ビットレートに基づいてビデオデータを符号化する符号化装置において、
    前記ビットレートに関する情報を取得するビットレート情報取得手段と、
    前記ビデオデータを構成するピクチャを量子化する量子化手段と、
    前記量子化手段による前記ピクチャの量子化を制御する量子化制御手段と、
    前記量子化制御手段により制御された前記量子化手段により量子化された量子化データを符号化する符号化手段と
    前記符号化手段により符号化された符号化データをバッファリングするVBVバッファのバッファ占有量に関する情報を取得するバッファ占有量情報取得手段と
    を備え、
    前記量子化制御手段は、前記ビットレート情報取得手段により取得された情報を基に、前記ビットレートが第1のビットレートから第2のビットレートに変更されたことが検出された場合、前記第2のビットレートの前記ピクチャの量子化を、前記第2のビットレートに応じて制御するとともに、前記第2のビットレートが前記第1のビットレートよりも高レートである場合、前記バッファ占有量情報取得手段により取得された前記バッファ占有量に関する情報を基に、前記符号化手段により符号化される前記ピクチャの符号化遅延時間が前記ビデオデータの最大符号化遅延時間よりも短くなるような目標発生符号量を計算し、その計算結果を基に量子化を制御する
    ことを特徴とする符号化装置。
  2. 前記バッファ占有量情報取得手段は、実際の発生符号量を更に取得し、前記量子化制御手段により計算された前記目標発生符号量と、前記実際の発生符号量とを比較し、前記実際の発生符号量が前記目標発生符号量に満たない場合、前記符号化手段により符号化された前記符号化データに対するスタッフィングビットに関する情報を更に生成する
    ことを特徴とする請求項に記載の符号化装置。
  3. ビットレートに基づいてビデオデータを符号化する符号化装置の符号化方法において、
    前記ビットレートに関する情報を取得するビットレート情報取得ステップと、
    前記ビットレート情報取得ステップの処理により取得された前記ビットレートに関する情報を基に、前記ビデオデータを構成するピクチャの前記ビットレートが、第1のビットレートから、前記第1のビットレートより高レートである第2のビットレートに変更されたか否かを判断する判断ステップと、
    前記判断ステップの処理により、前記ビットレートが、前記第1のビットレートから前記第2のビットレートに変更されたと判断された場合、符号化された符号化データをバッファリングするVBVバッファのバッファ占有量に関する情報を基に、符号化される前記ピクチャの符号化遅延時間前記ビデオデータの最大符号化遅延時間よりも短くなるような目標発生符号量を計算し、その計算結果を基に前記ピクチャの量子化を制御する制御ステップと
    を含むことを特徴とする符号化方法。
  4. ビットレートに基づいてビデオデータを符号化する処理をコンピュータに実行させるためのプログラムであって、
    前記ビットレートに関する情報を取得するビットレート情報取得ステップと、
    前記ビットレート情報取得ステップの処理により取得された前記ビットレートに関する情報を基に、前記ビデオデータを構成するピクチャの前記ビットレートが、第1のビットレートから、前記第1のビットレートより高レートである第2のビットレートに変更されたか否かを判断する判断ステップと、
    前記判断ステップの処理により、前記ビットレートが、前記第1のビットレートから前記第2のビットレートに変更されたと判断された場合、符号化された符号化データをバッファリングするVBVバッファのバッファ占有量に関する情報を基に、符号化される前記ピクチャの符号化遅延時間前記ビデオデータの最大符号化遅延時間よりも短くなるような目標発生符号量を計算し、その計算結果を基に前記ピクチャの量子化を制御する制御ステップと
    を含む処理をコンピュータに実行させることを特徴とするプログラム。
  5. ビットレートに基づいてビデオデータを符号化する符号化装置において、
    前記ビットレートに関する情報を取得するビットレート情報取得手段と、
    前記ビデオデータを構成するピクチャを量子化する量子化手段と、
    前記量子化手段による前記ピクチャの量子化を制御する量子化制御手段と、
    前記量子化制御手段により制御された前記量子化手段により量子化された量子化データを符号化する符号化手段と
    を備え、
    前記量子化制御手段は、前記ビットレート情報取得手段により取得された情報を基に、前記ビットレートが第1のビットレートから第2のビットレートに変更されたことが検出された場合、前記第2のビットレートの前記ピクチャの量子化を、前記第2のビットレートに応じて制御するとともに、前記第2のビットレートが前記第1のビットレートよりも高レートである場合、前記符号化手段により符号化された符号化データをバッファリングするVBVバッファの最大バッファ容量を、前記符号化手段により符号化される前記ピクチャの符号化遅延時間を前記ビデオデータの最大符号化遅延時間以下とする前記VBVバッファの第1のバッファ容量と、前記第2のビットレートに応じて定められる前記VBVバッファの第2のバッファ容量とのうちの小さいほうの値に設定して、量子化を制御する
    ことを特徴とする符号化装置。
  6. 前記量子化制御手段は、前記第1のバッファ容量を、前記第1のビットレートにおいて対応する前記ピクチャのデコード間隔に前記VBVバッファに蓄積する第1の符号量、および、前記第2のビットレートにおいて対応する前記ピクチャのデコード間隔に前記VBVバッファに蓄積する第2の符号量、並びに、1つ前の前記ピクチャが取りうる前記VBVバッファの最大容量を基に算出する
    ことを特徴とする請求項に記載の符号化装置。
  7. 前記符号化手段により符号化された符号化データをバッファリングするVBVバッファのバッファ占有量を制御するバッファ制御手段を更に備え、
    前記量子化制御手段は、前記第1のバッファ容量と前記第2のバッファ容量のうちの小さいほうの値を基に、目標発生符号量を計算して、前記目標発生符号量を基に量子化を制御し、
    前記バッファ制御手段は、実際の発生符号量を更に取得し、前記量子化制御手段により計算された前記目標発生符号量と、前記実際の発生符号量とを比較し、前記実際の発生符号量が前記目標発生符号量に満たない場合、前記符号化手段により符号化された前記符号化データに対するスタッフィングビットに関する情報を更に生成する
    ことを特徴とする請求項に記載の符号化装置。
  8. ビットレートに基づいてビデオデータを符号化する符号化装置の符号化方法において、
    前記ビットレートに関する情報を取得するビットレート情報取得ステップと、
    前記ビットレート情報取得ステップの処理により取得された前記ビットレートに関する情報を基に、前記ビデオデータを構成するピクチャの前記ビットレートが、第1のビットレートから、前記第1のビットレートより高レートである第2のビットレートに変更されたか否かを判断する判断ステップと、
    前記判断ステップの処理により、前記ビットレートが、前記第1のビットレートから前記第2のビットレートに変更されたと判断された場合、符号化された符号化データをバッファリングするVBVバッファの最大バッファ容量を、符号化される前記ピクチャの符号化遅延時間を前記ビデオデータの最大符号化遅延時間以下とする前記VBVバッファの第1のバッファ容量と、前記第2のビットレートに応じて定められる前記VBVバッファの第2のバッファ容量とのうちの小さいほうの値に設定する設定ステップと
    を含むことを特徴とする符号化方法。
  9. ビットレートに基づいてビデオデータを符号化する処理をコンピュータに実行させるためのプログラムであって、
    前記ビットレートに関する情報を取得するビットレート情報取得ステップと、
    前記ビットレート情報取得ステップの処理により取得された前記ビットレートに関する情報を基に、前記ビデオデータを構成するピクチャの前記ビットレートが、第1のビットレートから、前記第1のビットレートより高レートである第2のビットレートに変更されたか否かを判断する判断ステップと、
    前記判断ステップの処理により、前記ビットレートが、前記第1のビットレートから前記第2のビットレートに変更されたと判断された場合、符号化された符号化データをバッファリングするVBVバッファの最大バッファ容量を、符号化される前記ピクチャの符号化遅延時間を前記ビデオデータの最大符号化遅延時間以下とする前記VBVバッファの第1のバッファ容量と、前記第2のビットレートに応じて定められる前記VBVバッファの第2のバッファ容量とのうちの小さいほうの値に設定する設定ステップと
    を含む処理をコンピュータに実行させることを特徴とするプログラム。
  10. ビデオデータを符号化する符号化装置において、
    前記ビデオデータのビットレートが第1のビットレートから第2のビットレートに変更されたことを検出するビットレート変更検出手段と、
    前記ビデオデータを符号化する符号化手段と、
    前記符号化手段により符号化された符号化データをバッファリングするVBVバッファのバッファ占有量に関する情報を取得するバッファ占有量情報取得手段と、
    前記ビットレート変更検出手段により、前記第1のビットレートから、前記第1のビットレートよりも高レートである前記第2のビットレートへのビットレートの変更が検出された場合、前記バッファ占有量情報取得手段により取得された前記バッファ占有量に関する情報を基に、前記符号化手段により符号化されるピクチャの符号化遅延時間が前記ビデオデータの最大符号化遅延時間よりも短くなるような目標発生符号量を計算し、その計算結果を基に前記符号化手段を制御する制御手段と
    を備える符号化装置。
  11. ビデオデータを符号化する符号化装置の符号化方法において、
    前記ビデオデータのビットレートが、第1のビットレートから、前記第1のビットレートよりも高レートである第2のビットレートに変更されたことを検出し、
    符号化された符号化データをバッファリングするVBVバッファのバッファ占有量に関する情報を基に、符号化されるピクチャの符号化遅延時間前記ビデオデータの最大符号化遅延時間よりも短くなるような目標発生符号量を計算し、その計算結果を基に前記ビデオデータを符号化するように符号化処理を制御する
    ステップを含む符号化方法。
  12. ビデオデータを符号化する符号化装置において、
    前記ビデオデータのビットレートが第1のビットレートから第2のビットレートに変更されたことを検出するビットレート変更検出手段と、
    前記ビデオデータを符号化して符号化データを生成する符号化手段と、
    前記ビットレート変更検出手段により、前記第1のビットレートから、前記第1のビットレートよりも高レートである前記第2のビットレートへのビットレートの変更が検出された場合、前記符号化データをバッファリングするVBVバッファの最大バッファ容量を、前記符号化手段により符号化されるピクチャの符号化遅延時間を前記ビデオデータの最大符号化遅延時間以下とする前記VBVバッファの第1のバッファ容量と前記第2のビットレートに応じて定められる前記VBVバッファの第2のバッファ容量とのうちの小さいほうの値に設定して符号化するように、前記符号化手段を制御する制御手段と
    を備える符号化装置。
  13. ビデオデータを符号化する符号化装置の符号化方法において、
    前記ビデオデータのビットレートが、第1のビットレートから、前記第1のビットレートよりも高レートである第2のビットレートに変更されたことを検出し、
    前記符号化データをバッファリングするVBVバッファの最大バッファ容量を、符号化されるピクチャの符号化遅延時間を前記ビデオデータの最大符号化遅延時間以下とする前記VBVバッファの第1のバッファ容量と前記第2のビットレートに応じて定められる前記VBVバッファの第2のバッファ容量とのうちの小さいほうの値に設定し、
    設定されたバッファ容量に基づいて符号化を制御する
    ステップを含む符号化方法。
JP2003272392A 2003-07-08 2003-07-09 符号化装置、および、符号化方法、並びに、プログラム Expired - Fee Related JP4239734B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (2)

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

Publications (3)

Publication Number Publication Date
JP2005045515A JP2005045515A (ja) 2005-02-17
JP2005045515A5 JP2005045515A5 (ja) 2006-06-15
JP4239734B2 true JP4239734B2 (ja) 2009-03-18

Family

ID=34277415

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP4239734B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5528222B2 (ja) * 2010-06-14 2014-06-25 三菱電機株式会社 コンテンツ再生装置及び方法

Also Published As

Publication number Publication date
JP2005045515A (ja) 2005-02-17

Similar Documents

Publication Publication Date Title
JP4256574B2 (ja) 画像信号符号化方法および画像信号符号化装置
KR100610520B1 (ko) 비디오 데이터 부호화 장치, 비디오 데이터 부호화 방법, 비디오데이터 전송 장치 및 비디오 데이터 기록 매체
US6229849B1 (en) Coding device and method
US8948242B2 (en) Encoding device and method and multimedia apparatus including the encoding device
JP2003018603A (ja) 動画像符号化方法及び装置
JP4221655B2 (ja) 符号化装置および符号化方法、プログラム、並びに記録媒体
JP3846424B2 (ja) 画像信号量子化装置およびその方法
US6226326B1 (en) Coding device and coding method
JP4179917B2 (ja) 動画像符号化装置及び方法
JP4586340B2 (ja) 符号化装置、および、符号化方法、並びに、プログラム
JP4826533B2 (ja) 画像処理装置および画像処理方法、プログラム、並びに、記録媒体
JP2004040811A (ja) 動映像符号化のためのdct演算量調節方法及びその装置
JP4239734B2 (ja) 符号化装置、および、符号化方法、並びに、プログラム
JP4193080B2 (ja) 符号化装置及び方法
JP4073541B2 (ja) 動画像再符号化装置
JP3889552B2 (ja) 符号量割り当て装置および方法
JP2005012249A (ja) 画像処理装置および画像処理方法、情報処理装置、記録媒体、並びに、プログラム
JP2005045736A (ja) 画像信号符号化方法及び装置、符号化制御装置並びにプログラム
JP3149673B2 (ja) 映像符号化装置、映像符号化方法、映像再生装置及び光ディスク
JPH114445A (ja) 画像符号化装置および方法
JP2007208377A (ja) 動画像符号化装置、方法及びプログラム
JP4273385B2 (ja) 符号化装置および符号化方法、プログラム、並びに記録媒体
JP4035747B2 (ja) 符号化装置および符号化方法
JP4539028B2 (ja) 画像処理装置および画像処理方法、記録媒体、並びに、プログラム
JP4273386B2 (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: 20080728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080821

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081006

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

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

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

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees