JP2000358247A - レート制御装置、レート制御方法及び符号化装置 - Google Patents

レート制御装置、レート制御方法及び符号化装置

Info

Publication number
JP2000358247A
JP2000358247A JP2000011064A JP2000011064A JP2000358247A JP 2000358247 A JP2000358247 A JP 2000358247A JP 2000011064 A JP2000011064 A JP 2000011064A JP 2000011064 A JP2000011064 A JP 2000011064A JP 2000358247 A JP2000358247 A JP 2000358247A
Authority
JP
Japan
Prior art keywords
picture
virtual buffer
quantization scale
encoding
rate control
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.)
Pending
Application number
JP2000011064A
Other languages
English (en)
Inventor
Kazutada Shimizu
一公 清水
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2000011064A priority Critical patent/JP2000358247A/ja
Publication of JP2000358247A publication Critical patent/JP2000358247A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

(57)【要約】 【課題】 動画データの符号化ビットレートを画質劣化
少なく制御するレート制御装置の提供。 【解決手段】 動画データを符号化する符号化装置内部
のバッファをシミュレートした仮想バッファの占有量に
基づいてマクロブロック毎の符号化の量子化スケールを
算出し、算出された量子化スケールを符号化装置にフィ
ードバックすることにより符号化のビットレートを制御
するレート制御装置であって、仮想バッファ占有量保持
部219が仮想バッファ占有量を保持し、平均量子化ス
ケール計算部215がピクチャ単位の符号化毎に目標ビ
ット量に応じた目標量子化スケールを算出し、前記仮想
バッファ初期化部218が仮想バッファ占有量保持部2
19の仮想バッファ占有量を前記目標量子化スケールに
応じて初期化する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、動画データの符号
化装置の符号化ビットレートを制御するレート制御装
置、レート制御方法及びレート制御の機構を備えた符号
化装置に関する。
【0002】
【従来の技術】動画データをMPEG-2規格の符号化方式
により符号化する符号化装置は、動画データをピクチャ
毎の符号化の順に並び替え、ピクチャを構成するマクロ
ブロック単位に動き補償予測、DCT(離散コサイン変
換)、量子化及び可変長符号化を行ってビット列をバッ
ファに出力する。
【0003】ここにおいて量子化は、DCT後の16×1
6要素のDCT係数(DCTブロック)の、量子化テーブルの
対応する要素による除算である。量子化テーブルは、量
子化マトリックスと量子化スケールとの積で表される。
量子化マトリックスはDCTブロック内の相対的な量子化
精度を設定するためのマトリックスである。量子化スケ
ールは、1〜31の範囲でマクロブロック単位に設定可
能な値であり、この量子化スケールの増減により量子化
テーブルの大きさを変更することができる。
【0004】可変長符号化においては、出現頻度の高い
データに短いコードが割り当てられる。したがって可変
長符号化後のビット列の発生ビット量は可変となる。そ
のため発生符号量を一定のビットレートに維持するには
何らかの制御が必要となる。一般的には、バッファの占
有量をチェックし、占有量に応じて量子化スケールを増
減させることにより、発生ビット量が目標のビットレー
トのビット量と等しくなるよう制御する。この制御をレ
ート制御と呼ぶ。
【0005】より具体的にはレート制御装置が符号化装
置のレート制御を行う。レート制御装置は、符号化装置
の符号化による発生ビット量を監視するための仮想バッ
ファの占有量に基づいて量子化スケールを算出し、算出
された量子化スケールを符号化装置の量子化にフィード
バックする処理を行う。図8は、レート制御装置におけ
るレート制御の処理手順を示すフローチャートである。
【0006】なお同図のレート制御は、文献(ISO/
IEC JTC/SC29/WG11:”Test M
odel5”,1993)に詳しく記載されているの
で、ここでは詳細な説明を省いて簡単に説明することと
する。同図においてレート制御装置は、動画データの符
号化における階層構造、つまり上位層から順にシーケン
ス層、GOP(Group Of Picture)層、ピクチャ(Pict
ure)層、マクロブロック層からなる階層毎の符号化に
即してレート制御を行う。ただしレート制御にはスライ
ス層に対応する処理はないので同図中省略している。
【0007】レート制御装置は、動画データの符号化開
始、すなわちシーケンス層の符号化開始に先立って仮想
バッファ占有量di、dp、dbと、複雑度Xi、X
p、Xbの初期値設定を行う(S601)。ここにおいてレ
ート制御装置は、I、B、Pピクチャに対応する3種類
の独立した仮想バッファ占有量di、dp、dbを用い
る。複雑度Xi、Xp、Xbはそれぞれ、I、P、Bピ
クチャタイプ別のピクチャの複雑さを示すパラメータで
あり、同ピクチャタイプにおける平均量子化スケールコ
ードと発生符号量との積で表される。 <GOP単位のループ>S602からS614のGOP
単位のループにおいて、レート制御装置は、GOPの符
号化に先立って当該GOPに対する割り当てビット量R
を算出する(S603)。同図において左辺のRは求め
る割り当てビット量R、NはGOP内の未符号化ピクチ
ャ総数、右辺のRは1つ前のGOPの符号化における割
り当てビット量Rの残量である。 <ピクチャ単位のループ>S604からS613のピク
チャ単位のループにおいて、レート制御装置は、割り当
てビット量Rをピクチャの符号化順に割り当てる操作を
繰り返す。ここでS605においてTi、Tp、Tb
は、ピクチャタイプ別の各ピクチャの割り当てビット
量、Np、NbはGOP内で未符号のB,Pピクチャの
枚数、Kb(=1.4)は画質最適化係数である。
【0008】レート制御装置は、ピクチャの符号化毎
に、S605の3式のうちのピクチャタイプに応じた1
つを実行する。各式の右辺の分母は、GOP内の未符号
のI、P、Bピクチャ全体を符号化することにより発生
すると推定されるビット量が、割り当て対象ピクチャの
何枚分のビット量に相当するかを表す。S606〜S6
10において、符号化対象のピクチャの符号化がなされ
た後、レート制御装置は、複雑度Xi、Xp、Xbを更
新する(S611)。S611においてSi,p,b
は、ピクチャタイプ別の各ピクチャの符号化による発生
ビット量、Qi,p,bは、ピクチャタイプ別の各ピク
チャの平均量子化スケールであり、マクロブロック単位
のループにおいてマクロブロック毎に算出された量子化
スケールの算術平均である。
【0009】更新されたXi、Xp、Xbはそれぞれ、
次の同ピクチャタイプのピクチャの符号化に先立ってS
604で用いられる。レート制御装置は、符号化対象の
ピクチャの符号化がなされた後、割り当てビット量Rか
ら符号化対象ピクチャの符号化による発生ビット量を減
算することにより割り当てビット量Rを更新する。 <マクロブロック単位のループ>S606からS610
におけるマクロブロック単位のループにおいてレート制
御装置は、マクロブロックに対する割り当てビット量と
マクロブロックの符号化による発生ビット量との差を、
ピクチャタイプ別に累計することにより3種類の仮想バ
ッファ占有量をそれぞれ更新しつつ、それら仮想バッフ
ァ占有量に基づいてマクロブロックの量子化スケールを
算出し、符号化装置の量子化を制御する。
【0010】詳しくはS607においてレート制御装置
は、符号化対象のマクロブロックの量子化スケールコー
ドを算出する。S607においてQは符号化対象のマク
ロブロックの量子化スケール、di,p,bは符号化対
象のマクロブロックと同一のピクチャタイプの仮想バッ
ファ占有量、rは仮想バッファサイズ(仮想バッファ占
有量の最大値)である。
【0011】レート制御装置は、S607で算出された
量子化スケールで符号化装置に量子化を行わせる(S6
08)。つづいてS609においてレート制御装置は、
ピクチャタイプ別の仮想バッファ占有量を更新する。こ
こで右辺のdi,p,bは前回のマクロブロック単位ル
ープにおけるピクチャタイプ別の仮想バッファ占有量、
MBgenbitはS608におけるマクロブロック符
号化による発生ビット量、MBcntはピクチャ内のマ
クロブロック数である。
【0012】以上のようにレート制御装置は、ピクチャ
単位にGOP内の未符号化ピクチャに割り当てられる割
り当てビット量Rをピクチャの符号化順に配分し、ピク
チャタイプ別の仮想バッファ占有量に基づいて各ピクチ
ャタイプで独立に同ピクチャタイプの量子化スケールを
算出し、符号化装置の量子化にフィードバックすること
により符号化装置のレート制御を行っている。
【0013】
【発明が解決しようとする課題】ところで上記従来技術
のレート制御装置においては、画像の複雑さが変化する
と、発生符号量が変化し、発生符号量の変化に応じて仮
想バッファ占有量が変化し、仮想バッファ占有量に応じ
て量子化スケール変化する、というように画像の複雑さ
の変化が段階を踏んで間接的に量子化スケールの変化に
伝達される。このため画質の複雑さの変化速度に対して
量子化スケールの変化速度は遅い。例えば図9に示すよ
うに、フレーム時刻tにおいてピクチャが画像内の輝度
変化の大きい複雑な画像から輝度変化の小さい簡単な画
像へと急に変化した場合、縦軸に示す量子化スケールの
値は画像の複雑さの急変に比して緩やかに小さくなる方
向へと変化する。同図の701及び703の期間におい
て量子化スケールは画像の複雑さに対して適当な値をと
っているが、702の期間、すなわち量子化スケールが
平坦な画像に適した値に達するまでの期間においては、
量子化スケールは不適当な値となり、その期間の画質が
低下するという問題があった。
【0014】また従来技術のレート制御装置は、図10
に示すように、GOPの割り当てビット量Rから割り当
て済みのビット量を引いた残りの割り当てビット量R1
を、未符号化ピクチャに分配する。このようにGOP毎
に割り当てビット量Rが制限されているため、例えばG
OPの末尾に近づくにつれて画像の複雑さが増大したと
すると、末尾につれて多くの割り当てビット量が必要と
なるのに反して、実際に割り当てられるビット量は少な
くなり、GOPの末尾の画質が低下するという問題があ
った。
【0015】よって本発明は上記問題による画質低下を
解消したレート制御装置及びレート制御方法及び符号化
装置の提供を目的とする。
【0016】
【課題を解決するための手段】上記問題を解決するた
め、本発明のレート制御装置は、仮想バッファの占有量
に基づいてマクロブロック毎の符号化の量子化スケール
を算出し、算出された量子化スケールを符号化装置にフ
ィードバックすることにより符号化のビットレートを制
御するレート制御装置であって、仮想バッファ占有量を
保持する保持手段と、ピクチャ単位の符号化毎に目標ビ
ット量に応じた目標量子化スケールを算出し、前記保持
手段の仮想バッファ占有量を前記目標量子化スケールに
応じて初期化する初期化手段とを備える。
【0017】この構成によればレート制御装置は、目標
量子化スケールに基づいて仮想バッファ占有量の初期化
を行うが、この目標量子化スケールは画像の複雑さに基
づいて算出されるため、初期化された仮想バッファ占有
量は画像の複雑さの変化を反映した値となる。このため
本発明のレート制御装置は、仮想バッファ占有量が画像
の複雑さの短時間の変化に追従する速度が従来のレート
制御装置より早くなるという効果がある。
【0018】
【発明の実施の形態】(第1実施形態)以下に第1実施
形態におけるレート制御装置について説明する。図1は
レート制御装置10とレート制御装置10がレート制御
する符号化装置11の構成を示す機能ブロック図であ
る。
【0019】まず符号化装置11について簡単に説明
し、続いてレート制御装置10について説明する。 <符号化装置11>同図において符号化装置11は、フ
レームメモリ12、動きベクトル検出部13、動き予測
部14、加算部15、DCT部16、量子化部17、逆
量子化部18、逆DCT部19、加算部20、可変長符
号部22、バッファ23より構成される。
【0020】フレームメモリ12は、符号化前の動画デ
ータを、図示しない制御部によってピクチャの符号化順
に並べ替えられた状態で記憶する。動きベクトル検出部
13は、フレームメモリ12に記憶された動画データに
ついてマクロブロック単位に動き補償予測による動きベ
クトルを検出し、動き予測部14及び可変長符号部22
に出力する。
【0021】動き予測部14は、動きベクトルに基づい
て予測メモリ21からマクロブロックの参照用のブロッ
クを読み出し、加算部15に出力する。加算部15は、
フレームメモリ12より出力されるマクロブロックと動
き予測部14からの参照用ブロックとの予測誤差を算出
してDCT部16に出力する。DCT部16は、加算部
15からの予測誤差又はフレームメモリ12のマクロブ
ロックについてDCT(離散コサイン変換)を行って1
6×16要素のDCT係数からなるDCTブロックを量
子化部17に出力する。
【0022】量子化部17は、予め記憶している量子化
テーブルを用いてDCTブロックを量子化し、16×1
6要素の量子化DCT係数からなる量子化ブロックを可
変長符号部22に出力する。ここにおいて量子化部17
は、DCTブロックの各DCT係数を量子化テーブルの
対応する要素で除算することにより量子化を行う。量子
化テーブルは、量子化マトリックスと量子化スケールと
の積で表される。量子化マトリックスはDCTブロック内
の相対的な量子化精度を設定するためのマトリックスで
あり、DCTブロック内の高周波成分が低周波成分より
も粗い量子化精度で量子化されるよう値が配列されてい
る。符号化装置は数種類の量子化マトリックスを記憶し
ており、図示しない制御部の指示により、ピクチャに応
じて数種類の量子化マトリックスを使い分けている。量
子化スケールは、1〜31の範囲でマクロブロック単位
に設定可能な値であり、レート制御装置10により量子
化部17の量子化に用いる値が設定される。量子化スケ
ールの増減によりマクロブロック単位に量子化テーブル
の大きさを変更することが可能となる。
【0023】逆量子化部18、逆DCT部19及び加算
部20は、動き予測部14による動き予測に用いるため
に量子化部17より出力される量子化ブロックに逆量子
化及び逆DCT(逆離散コサイン変換)を行って予測誤
差を加算することによりマクロブロックを再生し、予測
メモリ21に出力して記憶させる。可変長符号部22
は、量子化部17より出力される量子化ブロックをジグ
ザグスキャン順に走査して可変長符号化を行い、ビット
列をバッファ23に出力する。 <レート制御装置10>レート制御装置10は、符号化
装置11のバッファ23をシミュレートした概念的な仮
想バッファを有し、その仮想バッファの占有量に基づい
てマクロブロック毎の量子化スケールを算出し、算出さ
れた量子化スケールを符号化装置11にフィードバック
することにより符号化のビットレートを制御する。この
ようなマクロブロック単位のレート制御に加えて、レー
ト制御装置10は、ピクチャ毎に平均量子化スケールを
算出し、算出された平均量子化スケールに応じて仮想バ
ッファの占有量を初期化する処理を行っている。
【0024】図2は、レート制御装置10の詳細な構成
を示す機能ブロック図である。同図においてレート制御
装置10は、ピクチャ平均ビット量計算部211、ピク
チャ出現確率計算部212、ピクチャ平均複雑度計算部
213、ピクチャ複雑度計算部214、平均量子化スケ
ール計算部215、ピクチャ目標ビット量計算部21
6、マクロブロック目標ビット量計算部217、仮想バ
ッファ初期化部218、仮想バッファ占有量保持部21
9、量子化スケール計算部220、仮想バッファ占有量
更新部221、符号化制御部222から構成される。 <仮想バッファ占有量保持部219、量子化スケール計
算部220、符号化制御部221、仮想バッファ占有量
更新部221の構成>仮想バッファ占有量保持部21
9、量子化スケール計算部220、仮想バッファ占有量
更新部221、符号化制御部222から構成される部分
は、符号化装置11における符号化のマクロブロック単
位に仮想バッファ占有量を計算し、仮想バッファ占有量
に基づいて量子化スケールを増減するマクロブロック毎
のフィードバックにより符号化装置11のビットレート
を制御する。
【0025】仮想バッファ占有量保持部219は、マク
ロブロック単位に仮想バッファ占有量更新部221によ
り更新される仮想バッファ占有量を記憶する。量子化ス
ケール計算部220は、符号化装置11の量子化部17
によるマクロブロックの量子化に先だって、仮想バッフ
ァ占有量保持部219に記憶される仮想バッファ占有量
から量子化の対象となっているマクロブロックに対する
量子化スケールを次式により算出し、符号化制御部22
2に出力する。マクロブロックの量子化スケールはマク
ロブロックのピクチャタイプ別に次式により算出され
る。 (式1) mquant_i,p=B×31/r mquant_b=B×31/r×Kb r=4×ビットレート/ピクチャレート Kb=1.4 ここでmquantはそれぞれピクチャタイプ別のマク
ロブロックの量子化スケール、Bは仮想バッファ占有量
保持部219に記憶される仮想バッファ占有量、rは仮
想バッファサイズ(仮想バッファ占有量の最大値)、K
bは画質の最適化係数である。量子化スケール算出部2
20は、符号化対象のマクロブロックのピクチャタイプ
に応じてmquant_i、mquant_p、mqua
nt_bのいずれかにより当該マクロブロックの量子化
スケールを計算する。
【0026】符号化制御部222は、マクロブロック毎
に、量子化スケール計算部220より出力される量子化
スケールを量子化部17に出力して、量子化部17にそ
の量子化スケールによる量子化を行わせる。また符号化
制御部222は、可変長符号部22からバッファ23に
出力されるビット列より、そのマクロブロック単位の発
生ビット量を取得して仮想バッファ占有量更新部221
に出力する。
【0027】仮想バッファ占有量更新部221は、符号
化制御222より出力されるマクロブロック単位の発生
ビット量と、マクロブロック目標ビット量計算部217
より出力されるマクロブロック単位の目標ビット量との
差を算出し、その差を仮想バッファ占有量保持部219
に記憶される仮想バッファ占有量に累計することによ
り、マクロブロック毎に仮想バッファ占有量保持部21
9の仮想バッファ占有量を更新する。仮想バッファ占有
量の更新の式を次式に示す。 (式2) B=B+MBgenbit−Tmb Tmb=Ti,p,b/MBcnt ここで左辺のBは、更新後の仮想バッファ占有量、右辺
のBは更新前の仮想バッファ占有量、MBgenbit
はマクロブロックの発生ビット量、Tmbはマクロブロ
ックの目標ビット量、Ti,p,bはそれぞれ、ピクチ
ャタイプ別のピクチャの目標ビット量、MBcntはピ
クチャ内のマクロブロックの総数である。Tmbは符号
化対象のマクロブロックのピクチャタイプに応じて、ピ
クチャの目標ビット量Ti、Tp、Tbのうちのいずれ
かを、ピクチャ内のマクロブロック総数で割ることによ
り得られる。 <仮想バッファ初期化部218>仮想バッファ初期化部
218は、符号化装置11によるピクチャの符号化毎
に、ピクチャの符号化に先だって仮想バッファ占有量保
持部219に記憶される仮想バッファ占有量を仮想バッ
ファ初期値に初期化する。仮想バッファ初期化部218
は、平均量子化スケール計算部215より出力される1
ピクチャあたりの平均量子化スケールに基づいて次式に
より仮想バッファ初期値を計算する。 (式3) B=Qpic_avg×r/31 r=4×ビットレート/ピクチャレート ここでBは仮想バッファ初期値、Qpic_avgは1ピクチ
ャあたりの平均量子化スケール、rは仮想バッファサイ
ズ(仮想バッファ占有量の最大値)である。
【0028】量子化スケールと仮想バッファ占有量とは
図6に示すように一次関数で対応しており、量子化スケ
ールの最大値に対する平均量子化スケールの割合と、仮
想バッファ占有量の最大値(仮想バッファサイズ)との
積から符号化に適した仮想バッファ占有量を算出するこ
とができる。このようにレート制御装置10においては
仮想バッファ初期化部218が仮想バッファ占有量保持
部219に記憶される仮想バッファ占有量をピクチャの
符号化毎に初期化する。この初期化により仮想バッファ
占有量保持部219は、ピクチャ毎に、平均量子化スケ
ールに対応する適当な仮想バッファ占有量を記憶するこ
ととなり、マクロブロック単位の符号化においては適当
な量子化スケールで量子化されることとなる。
【0029】従来のレート制御装置は、常にマクロブロ
ック毎の発生ビット量と目標ビット量との差を累計して
仮想バッファ占有量を算出するため、シーンチェンジ等
により画像の複雑さが短時間に変化した場合であっても
仮想バッファ占有量の変化速度は複雑さの変化速度より
遅く、仮想バッファ占有量が画像の複雑さの変化に対応
する適当な値に達するまでは不適当な量子化スケールで
レート制御を行う。
【0030】これに対し本実施形態のレート制御装置
は、ピクチャの符号化毎にピクチャの平均量子化スケー
ルに対応する値に仮想バッファ占有量を初期化する。仮
想バッファ初期値の基となっているピクチャの平均量子
化スケールは画像の複雑さに基づいて計算されているた
め、仮想バッファ初期値は画像の複雑さの変化を反映し
た値となる。このため本実施形態のレート制御装置は、
仮想バッファ占有量が画像の複雑さの短時間の変化に追
従するのが従来より早くなる。例えば画像が複雑なシー
ンから単純なシーンに短時間で変化する場合、従来のレ
ート制御装置であれば単純なシーンの最初の部分を大き
な量子化スケールで符号化するため画質が低下するとい
う問題があったが、本実施形態のレート制御装置であれ
ば量子化スケールが単純なシーンに適当な小さな値に変
化する速度が従来のレート制御装置よりもはやいので最
初の部分を大きな量子化スケールで符号化する期間が従
来より短くなり画質低下を低減できるという効果があ
る。 <ピクチャ平均ビット量計算部211、ピクチャ出現確
率計算部212、ピクチャ平均複雑度計算部213、ピ
クチャ複雑度計算部214、平均量子化スケール計算部
215>ピクチャ平均ビット量計算部211、ピクチャ
出現確率計算部212、ピクチャ平均複雑度計算部21
3、ピクチャ複雑度計算部214、平均量子化スケール
計算部215からなる部分は、ピクチャタイプ別の各ピ
クチャの複雑度とピクチャタイプ別の出現確率とから1
ピクチャあたりの平均量子化スケールを算出し、仮想バ
ッファ初期化部218に出力する。
【0031】ピクチャ平均ビット量計算部211は、符
号化のビットレートをピクチャレートで除算することに
よりピクチャの平均ビット量Tpic_avgを算出し、平均
量子化スケール算出部215に出力する。なお符号化の
ビットレート及びピクチャレートが固定の場合は、予め
算出したピクチャ平均ビット量を平均量子化スケール計
算部215に記憶させておくことによりピクチャ平均ビ
ット量計算部211を省略してもよい。
【0032】ピクチャ出現確率計算部212は、符号化
装置11におけるピクチャの符号化毎に符号化装置11
の図示しない制御部より符号化対象ピクチャのピクチャ
タイプが入力され、ピクチャタイプ毎にピクチャ枚数を
計上することによりピクチャタイプ毎の出現確率を算出
し、ピクチャ平均複雑度計算部213に出力する。ここ
でピクチャ出現確率計算部212は、ピクチャタイプ別
のピクチャ枚数の計上を動画データの符号化開始時から
継続して行うようにしてもよいし、所定期間にわたって
行うようにしてもよい。
【0033】GOP構造が固定の場合には次式により算出
してもよい。 (式4) Pi=1/N Pp=1/M−1/N Pb=1−1/M ここでPi,p,bはそれぞれピクチャタイプI、P、
Bの出現確率、NはGOP中のピクチャ総数、MはPフ
レーム間の距離である。
【0034】またGOP構造が固定の場合には、(式4)
によらなくともGOP構造により出現確率を計算すること
ができるので、ピクチャ出現確率をピクチャ平均複雑度
計算部213に予め記憶させておくことによりピクチャ
確率計算部212を省略することができる。ピクチャ複
雑度計算部214は、1ピクチャの発生ビット量と1ピ
クチャの平均量子化スケールとからピクチャタイプ別に
ピクチャの複雑度を計算してピクチャ平均複雑度計算部
213に出力する。ピクチャタイプ別のピクチャの複雑
度は次式により表される。 (式5) Xi=Si×Qi Xp=Sp×Qp Xb=Sb×Qb/Kb ここでXi,p,bはそれぞれピクチャタイプI、P、
B別のピクチャの複雑度、Si,p,bはピクチャタイ
プI、P、B別のピクチャの発生ビット量、Qi,p,
bはピクチャタイプI、P、B別のピクチャの平均量子
化スケールである。ピクチャ複雑度計算部214は、ピ
クチャタイプ毎にマクロブロック毎の量子化に用いられ
た量子化スケールの1ピクチャ分の算術平均を計算して
いる。なお、ピクチャ複雑度計算部214は、符号化制
御部222より出力されるマクロブロックの発生ビット
量を累計することにより1ピクチャの発生ビット量S
i,p,bを算出し、符号化制御部222より出力され
るマクロブロックの量子化スケールの1ピクチャ分を平
均することによりピクチャの平均量子化スケールQi,
p,bを算出する。またシーケンスの符号化開始時にお
ける複雑度の初期値は、次式とする。 (式6) Xi=160×ビットレート/115 Xp=60×ビットレート/115 Xb=42×ビットレート/115/Kb Kb=1.4 ここでXi,p,bはそれぞれピクチャタイプ別の複雑
度初期値、Kは画質最適化計数である。
【0035】ピクチャ平均複雑度計算部213は、ピク
チャ出現確率計算部212からの出現確率と、ピクチャ
複雑度計算部214からのピクチャの複雑度とから次式
によりピクチャの平均複雑度を算出して平均量子化スケ
ール計算部215に出力する。 (式7) Xpic_avg=Pi×Xi+Pp×Xp+Pb×Xb ここでXpic_avgはピクチャの平均複雑度、Pi,p,
bはピクチャタイプ別の出現確率、Xi,p,bはピク
チャタイプ別の複雑度である。
【0036】量子化スケール計算部215は、ピクチャ
の符号化毎に符号化に先だって、ピクチャ平均ビット量
計算部211からのピクチャ平均ビット量と、ピクチャ
平均複雑度計算部213からのピクチャ平均複雑度とか
ら次式により平均量子化スケールを計算してピクチャ目
標ビット量計算部216及び仮想バッファ初期化部21
8に出力する。 (式8) Qpic_avg=Xpic_avg/Tpic_avg ここでQpic_avgは平均量子化スケール、Xpic_avgはピ
クチャ平均複雑度、Tpic_avgはピクチャ目標ビット量
である。 <ピクチャ目標ビット量計算部216、マクロブロック
目標ビット量計算部217>ピクチャ目標ビット量計算
部216は、ピクチャ複雑度計算部214からのピクチ
ャタイプ別のピクチャ複雑度と、平均量子化スケール計
算部215からの平均量子化スケールとが出力される
と、次式によりピクチャの目標ビット量をピクチャタイ
プ別に算出し、マクロブロック目標ビット量計算部21
7に出力する。 (式9) Ti=Xi/Qpic_avg Tp=Xp/Qpic_avg Tb=Xb/Qpic_avg ここでTi,p,bは、ピクチャタイプ別のピクチャの
目標ビット量、Xi,p,bはピクチャタイプ別のピク
チャ複雑度、Qpic_avgは平均量子化スケールである。
【0037】マクロブロック目標ビット量計算部217
は、ピクチャ目標ビット量計算部216より出力される
ピクチャの目標ビット量Xi,p,bから、次式により
マクロブロックの目標ビット量を換算して仮想バッファ
占有量更新部221に出力する。 (式10) Tmb_i=Ti/MBcnt Tmb_p=Tp/MBcnt Tmb_b=Tb/MBcnt ここでTmb_i,p,bはピクチャタイプ別のマクロブロッ
クの目標ビット量、Ti,p,bはピクチャタイプ別の
ピクチャタイプの目標ビット量、MBcntはピクチャ内
のマクロブロック総数である。 <レート制御装置10の動作説明>以上のように構成さ
れたレート制御装置10について以下にその動作を説明
する。
【0038】図3はレート制御装置10のレート制御の
概略の処理手順を示すフローチャートである。同図に示
すようにレート制御装置10は、符号化装置11のピク
チャ単位及びマクロブロック単位の符号化処理に同期し
てレート制御を行う。レート制御装置10は、符号化装
置11による符号化開始に先だって初期設定を行う(S
301)。この初期設定においてレート制御装置10
は、複雑度Xi,p,bの初期値を計算する。
【0039】S302〜S310のピクチャ単位のルー
プにおいてレート制御装置10は、まず符号化装置11
のピクチャ符号化に先だって、ピクチャの平均量子化ス
ケールQpic_avg、ピクチャの割り当てビット量Ti,
p,bの算出と、仮想バッファ占有量Bの初期化とを行
い(S303)、ピクチャ符号化後にピクチャの複雑度
Xi,p,bの更新を行う。
【0040】S304〜S308のマクロブロック単位
のループにおいてレート制御装置10は、マクロブロッ
クの符号化に先だってマクロブロックの量子化スケール
を算出し(S305)、符号化装置11の量子化部17
に算出された量子化スケールによる量子化を行わせ(S
306)、マクロブロックの符号化後に仮想バッファ占
有量を更新する(S307)。
【0041】図4は、S302〜S310におけるピク
チャ単位のループにおけるレート制御装置10の処理手
順を詳細に示すフローチャートである。同図においてレ
ート制御装置10は、ピクチャタイプ別の出現確率P
i,p,bを算出する(S401)。次にレート制御装
置10は、ピクチャタイプ別の複雑度とピクチャタイプ
別の出現確率とからピクチャの平均複雑度Xpic_avgを
算出する。
【0042】つづいてレート制御装置10は、平均量子
化スケールQpic_avgを算出し(S403)、平均量子
化スケールQpic_avgとピクチャタイプ別の複雑度Xi,
p,bとからピクチャタイプ別に割り当てビット量Ti,p,b
を算出する(S404)。レート制御装置10は平均量
子化スケールQpic_avgに基づいて仮想バッファ占有量
Bを初期化する(S405)。
【0043】S304〜S308のマクロブロック単位
のループにおいては、S401〜S405において算出
されたピクチャの割り当てビット量Ti,p,b及び初
期化された仮想バッファ占有量Bに基づいて、マクロブ
ロック毎のレート制御がなされる。レート制御装置10
は、マクロブロック単位の符号化時のマクロブロック毎
の発生ビット量と量子化スケールとから、ピクチャ毎の
発生ビット量とピクチャの平均量子化スケールとを算出
し、それらを用いてピクチャタイプ別に複雑度Xi,p,b
を更新する(S309)。
【0044】図5は、S304〜S308におけるマク
ロブロック単位のループにおけるレート制御装置10の
処理手順を詳細に示すフローチャートである。同図にお
いてレート制御装置10は、仮想バッファ占有量に基づ
いて符号化対象のマクロブロックの量子化スケールを算
出し(S304)、算出した量子化スケールにより量子
化部17に量子化を行わせ(S306)、当該符号化対
象マクロブロックの符号化後の発生ビット量と、マクロ
ブロックの目標ビット量との差を仮想バッファ占有量に
累計することにより仮想バッファ占有量を更新する(S
307)。
【0045】このようにレート制御装置10は、ピクチ
ャ単位及びマクロブロック単位にレート制御の処理を繰
り返し行う。ここで従来のレート制御装置のレート制御
の手順を示す図8のフローチャートと、図3〜5のフロ
ーチャートとを比較して大きく異なる点は次の2点であ
る。1つは、図8のフローチャートにおいてGOP単位
に行われる割り当てビット量Rの算出が図3のフローチ
ャートにおいて省略されている点である。
【0046】従来のレート制御装置はGOP内の残りの
割り当てビット量RをGOP内の未符号化ピクチャに配
分するので、残りの割り当てビット量RがGOP境界に
より制限される。このためGOPの最後の方でピクチャ
の複雑度が増大した場合、GOPの最後の方で各ピクチ
ャに割り当てられるビット量が不足気味になり画質が低
下するという問題が起こっていた。これに対し、本実施
形態のレート制御装置は、割り当てビット量Rをピクチ
ャの符号化順に割り当てていくという処理を行わず、ピ
クチャの出現確率に基づいてピクチャのビット割り当て
量を決定するので、GOP境界の制約をうけないものと
なり上記の問題が発生しない。
【0047】他の1つは、本実施形態のレート制御装置
はS405において、ピクチャタイプ単位に仮想バッフ
ァ占有量Bの初期化を行っている点である。これにより
仮想バッファ占有量が画像の複雑さの変化に対する仮想
バッファ占有量の変化の応答速度が従来よりも速くなる
ので、不適当な量子化スケールで量子化される期間が短
くなり画質低下を低減できるという効果がある。なお、
本実施形態において、量子化スケール計算部220は、
仮想バッファ占有量から一次関数により量子化スケール
を算出するが一次関数以外の関数を用いてもよい。
【0048】また本実施形態においてはフレーム構造ピ
クチャの場合について説明しているが、計算式の中のフ
レームレートをフィールドレートに代えることにより、
フィールド構造ピクチャについても同様に実施可能であ
る。 (第2実施形態)以下に第2実施形態におけるレート制
御装置について説明する。
【0049】本実施形態におけるレート制御装置20
は、レート制御装置10と同様の図3〜図5に示すフロ
ーチャートの処理に加えて、デコーダのバッファのオー
バフローあるいはアンダーフローを防ぐための処理を行
う。以下、異なる点を中心に説明する。仮想バッファ占
有量保持部219は、第1実施形態と同様の機能に加え
て、動画データの最初のピクチャが符号化装置11によ
り符号化される直前のVBV(Video Buffering Berifi
er)バッファ占有量(VBVバッファ初期値)を予め記
憶する。この値はMPEG規格のvbv delayから求める
ことができる。vbv delayは、符号化装置11の図示し
ない制御部によりピクチャヘッダにおいて定義される。
【0050】ここでVBVは、符号化装置11の出力に
接続される概念的な仮想デコーダモデルである。VBV
については公知であるので詳しい説明は省略する。仮想
バッファ占有量更新部221は、第1実施形態と同様の
機能に加えて、Iピクチャが出現するごとに、当該Iピ
クチャが符号化される直前のVBVバッファ占有量と仮
想バッファ占有量保持部219に保持されるVBVバッ
ファ初期値との差VBV_diffを算出する。
【0051】ピクチャ平均ビット量計算部211は、第
1実施形態と同様の機能に加えて、Iピクチャの符号化
毎にその符号化に先立って、次式によりピクチャ平均ビ
ット量Tpic_avgを修正する。 (式11) Tpic_avg = Tpic_avg + VBV_diff / ピクチャーレート ピクチャ目標ビット量計算部216は、符号化対象ピク
チャの符号化が開始される前に、算出したピクチャ目標
ビット量Ti,p,bとVBVバッファ占有量とを比較し、ピク
チャ目標ビット量Ti,p,bの方が大きい場合にはアンダ
ーフローさせないためにピクチャ目標ビット量Ti,p,b
を減らす。またピクチャ目標ビット量計算部216は、
ピクチャ目標ビット量Ti,p,bに基づいて符号化がなさ
れた場合にオーバーフローするか否かをシミュレート
し、オーバフローする場合はオーバフローしないように
ピクチャ目標ビット量Ti,p,bを増やす。さらにピクチ
ャ目標ビット量計算部216は、ピクチャをエンコード
した後、オーバフローするかどうか調べ、オーバフロー
する場合はスタッフィングビットを入れる。ここで入れ
たスタッフィングビットは複雑度の計算には含めない。 (第3実施形態)以下に第3実施形態の符号化装置につ
いて説明する。
【0052】本実施形態の符号化装置30は、図2の構
成に加えてシーンチェンジ処理部を備え、シーンチェン
ジ処理部が図3、図4、図5のフローチャートに示す処
理に加えて、シーンチェンジ直後の画質の低下を改善す
るための処理をピクチャ単位のループ中において実行す
る。シーンチェンジ処理部は、図4のS401より先に
ピクチャのシーンチェンジを検出する。これは入力画像
の連続するフレーム間の輝度の差分の絶対値の総和を閾
値と比較するなどの方法で検出することができる。シー
ンチェンジ処理部は、シーンチェンジを検出した場合、
符号化対象ピクチャのピクチャタイプがPピクチャであ
る場合には、以下の処理を行う。
【0053】ここにおいてシーンチェンジ直後の符号化
対象のピクチャはIピクチャ又はPピクチャであって、
符号化順序の規制によりBピクチャが符号化対象となる
ことはない。シーンチェンジの直後のPピクチャの複雑
度を求める。複雑度を求める方法はいくつか考えられ
る。例えば、リアルタイムで符号化する必要がないので
あれば、予め符号化して発生ビット量と平均量子化パラ
メタから複雑度を求めることができる。リアルタイムで
符号化する必要がある場合は、2台の符号化装置を用い
て、第2の符号化装置の前にバッファを設けて入力画像
を遅延させ、第1の符号化装置で符号化したときの複雑
度の値を第2の符号化装置に送り、第2の符号化装置は
第1の符号化装置から受けとった信号によって符号化す
る前に複雑度を知ることができる。
【0054】シーンチェンジの直後のPピクチャは参照
する他のPピクチャまたはIピクチャとは別のシーンな
ので動き予測に相関性がない。そのため、シーンチェン
ジの直後のPピクチャの複雑度は予測の効果がないので
Iピクチャとして符号化したときの値に近いものにな
る。経験的にI、P、Bピクチャの複雑度の比は大体
4:2:1/Kb(ここでKb=1.4)となることが知ら
れている。そこで、シーンチェンジの直後のPピクチャ
の求められた複雑度を Xp として、次式により複雑度を
推定する。 (式12) Xi' = Xp Xp' = Xi'/2 Xb' = (Xp'/2)/Kb S402移行の処理において符号化装置30は、Xi,p,
bの代わりに、Xi',p',b'を用いる。
【0055】S404においてピクチャタイプ別の割り
当てビット量を求めた後で、Pピクチャの割り当てビッ
ト量 Tp を1.5倍する。これはシーンチェンジの直後の
Pピクチャが予測効果が低いので、画質の低下を防ぐた
めに通常よりもビットを多く配分するのである。一方、
S403においては算出したピクチャの平均量子化スケ
ールQpic_avgを1.5で割る。ピクチャ別の割り当て
ビット量を1.5倍するので、それに対応させて量子化
スケールを小さくするためである。
【0056】これ以降は、実施の形態1と同様の処理を
行う。Xpic_avgは画像の複雑さを表す尺度であるが、シ
ーンチェンジ前後の画像の複雑さが異なる場合はシーン
チェンジの前と後で Xpic_avg の値が大きく異なる。複
雑度が大きく異なる結果、量子化ステップもシーンチェ
ンジの前後で大きく異なる。従来の方法では仮想バッフ
ァ占有量は連続的に変化するので、シーンチェンジ後に
仮想バッファ占有量が適当な値に達するまでは不適当な
量子化ステップで符号化してしう。
【0057】一方、本発明の方法によれば、ステップ1
2で適当な量子化ステップに対応する仮想バッファ占有
量に直接変化させるので、シーンチェンジ後のピクチャ
の先頭から適当な量子化ステップで符号化することがで
きる。これにより特に効果があるのが複雑なシーン(Xp
ic_avgが大きく、Qpic_avgが大きい)から単純なシーン
(Xpic_avgが小さく、Qpic_avgが小さい)に変化する場
合である。従来の方法では量子化ステップが連続的にし
か変化しないので、単純なシーンの最初の部分を大きな
量子化ステップで符号化してしまい、画質が低下する
が、本実施形態では単純なシーンの先頭から小さな量子
化ステップで符号化するので画質が低下しない。特に単
純なシーンでは視覚的にノイズが目立ちやすいので、単
純なシーンに変化したときに画質が低下しないことは重
要である。 (第4実施形態)図7は、符号化装置40の構成図であ
る。
【0058】同図において符号化装置40は、入力され
る動画データをピクチャの符号化順に並び替えて記憶す
るフレームメモリ711、フレームメモリ711に記憶
される動画データのマクロブロック単位に動きベクトル
を検出する動きベクトル探索部701、フレームメモリ
711に記憶される動画データをマクロブロック単位に
符号化部70に出力するスキャン変換部703、レート
制御を行いつつ各マクロブロックについてDCT、量子
化、可変長符号化を行う符号化部70から構成される。
【0059】符号化部70は、DCT及び動き補償予測
のための逆DCTを行うDCT/IDCT部706、量
子化とレート制御とを行うDSP(ディジタルシグナル
プロセッサ)705、可変長符号化を行うVLC(可変
長符号)部707、DSP705のレート制御により一
定のビットレートで符号化されたビット列を出力するレ
ートバッファ708、動き予測のために逆DCT及び逆
量子化等により再生された再生フレームを記憶するフレ
ームメモリ709から構成される。
【0060】DSP705は、706によりDCTされ
たDCTブロックを量子化スケールに応じて量子化し、
量子化ブロックをVLC部707に出力する。DSP7
05は、図3〜図5のフローチャートに示す処理を実装
したマイクロコードを記憶し、そのマイクロコードを実
行することによりレート制御を行う。詳細な処理につい
ては図3〜図5と同様であるので説明を省略する。 (第5実施形態)本実施の形態ではシーンチェンジ後に
画質の低下を防ぐために、シーンチェンジ検出(シーン
チェンジがあったことの通知)と複雑度情報(シーンチ
ェンジ後の画像の複雑度)を用いる。本実施の形態では
シーンチェンジを検出し、複雑度を求めて、それ以降は
第3実施形態と同様に進める。シーンチェンジ検出と複
雑度推定を行った後の手順は第3実施形態と同様なので
省略し、シーンチェンジの検出方法と複雑度の推定方法
について説明する。
【0061】まず、シーンチェンジ検出の方法について
説明する。シーンチェンジの検出方法としてフレーム間
の差分を用いる方法が広く知られているが、本実施の形
態ではフレームあるいはフィールドの輝度の平均の変化
を用いて行う。この方法は前フレームを保存するメモリ
を持つ必要がないのでハードウェアのコストを小さくす
ることができる。具体的には、|フレームnの輝度の平
均−フレーム(n-1)の輝度の平均|>しきい値のときに
nフレームでシーンチェンジが発生したと判定する。整
数演算しかできない場合は、平均の計算による精度の低
下を防ぐために|フレームnの輝度の合計−フレーム(n-
1)の輝度の合計|>しきい値×画素数により判定する。
【0062】式で書くと、フレームサイズが横720×縦4
80のときフレームの合計で判定する場合は、nフレーム
の第1フィールドのiライン、j画素の輝度をYij(n)と書
くことにすると (式13) のときにnフレームでシーンチェンジが発生したと判定
する。
【0063】フレームサイズが横720×縦480のときフィ
ールドの合計で判定する場合は、nフレームの第1フィ
ールドのiライン、j画素の輝度をYij(n)と書くことにす
ると (式14) のときにnフレームでシーンチェンジが発生したと判定
する。
【0064】この方法は単純ではあるが、実験の結果、
十分な精度で検出できることが明らかとなっている。通
常の画像はこの方法でシーンチェンジ誤検出(シーンチ
ェンジでないのにシーンチェンジと判定する)は起きな
いが、外乱による輝度の変化が強い環境で撮影した画像
では誤検出のおそれがある。誤検出が短い間隔で連続し
て起きるとシーンチェンジ処理が連続して実行されてし
まうので好ましくない。そのため、一旦シーンチェンジ
を検出したらその後一定期間(数秒程度)はシーンチェ
ンジを検出しないか検出してもシーンチェンジ処理を行
わないようにする。
【0065】なお、撮影環境によっては外乱によりシー
ンチェンジがなくても輝度の変化が大きくなることがあ
るので、撮影環境に応じて前記と異なるしきい値を用い
ても同様に実施可能である。なお、シーンチェンジ検出
方法と後述の複雑度推定方法は不可分のものではないの
で、一方により精度の高い別の方法があれば、他方に影
響を与えずに精度の高い別の方法に置き換えることがで
きる。
【0066】次に、複雑度の推定方法について説明す
る。シーンチェンジの後の画質改善は前記実施の形態2
で説明したように、シーンチェンジ後の最初のPピクチ
ャのビット量を増やすことによって実現する(シーンチ
ェンジがBピクチャで起きても、その後のPピクチャを
先に符号化するので、シーンチェンジは常にPピクチャ
で起きると考えてよい)。このPピクチャのビット割り
当てを求めるのに複雑度を用いるので、該Pピクチャを
符号化する前に複雑度を知る必要がある。シーンチェン
ジ直後のPピクチャは動き補償の効果が小さいので、P
ピクチャとして符号化してもIピクチャとして符号化し
ても複雑度は同じである。
【0067】フレームの複雑度の推定は、推定対象のフ
レーム全体のデータから推定する方法や、一方のフィー
ルドのデータだけで推定する方法が考えられる。NTS
Cはインターレース画像なので、第1フィールドのデー
タだけで推定する方法を用いれば、第2フィールドの先
頭が入力されたときに推定値を用いて該フレームのエン
コードを開始できるので、符号化処理による遅延を小さ
くする上で有利である。
【0068】以下に複雑度推定のアルゴリズムを説明す
る。第1フィールドの縦8×横8のブロックの分散の対
数から以下の手順によって複雑度を推定する。ブロック
内の画素数を Nとし(この場合は64)、輝度を Yi (i=
1,,,N) とする。次に、フィールドの縦8×横8のブロ
ックの輝度の分散を求める。輝度の2乗の平均 meanSQY
を求める。 (式15) 輝度の平均の2乗 SQmeanYを求める。 (式16) SQmeanY = meanY×meanY 分散 VARを求める。
【0069】VAR = meanSQY - SQmeanY 次に、前記の分散 VARに対する log2(VAR)を求める(lo
g2は2を底とする対数であるが、特に x<1に対しては l
og2(x)=0とする。)。ハードウェアを単純にするために
以下のようにして近似する。非負の整数 xが16 ビット
で表されているとする。
【0070】最上位ビットが 1ならば log2(x)=15 とす
る。最上位ビットが 0ならば、1ビット左にシフトして
最上位ビットを調べ、1 ならば log2(x)=14 とする。以
下同様に進めていき、n ビットシフトしたときに最上位
ビットが初めて 1となったら log2(x) = 15 - n とする。15ビットまでシフトしても 1がない場合は log
2(x)=0とする。
【0071】ステップ83。このステップでは、分散の
log2 の値をフィールド全体で合計する。各ブロックに
対して前述のようにして求めた log2(VAR)の値を LYij
とし、第1フィールド全体(ブロックは合計30×90
個ある)の合計値 sumLYを求める。 (式17) フレームサイズが横720×縦480と異なる場合やブ
ロックのサイズが縦8×横8と異なる場合は、その画素
数とブロックサイズに対応したブロック個数とする。
【0072】次に前記 sumLYから複雑度の推定値 Xを求
める。sumLY < 12800 のとき X = sumLY×70 + 550000 とし、それ以外で sumLY < 17600のとき X = sumLY×230 - 1500000 とし、それ以外のとき X = sumLY×440 - 5200000 とする。
【0073】フィールドの縦8×横8のブロックを基に
して推定する方法を上に示したが、ライン単位の処理で
可能な方法ならばハードウェアを単純にすることができ
るので、次に、フィールドの縦1×横16のブロックを
基にして推定する方法を説明する。前記ステップ81か
らステップ83までは同じであり、前記ステップ84の
代わりに以下のステップ84aを実行する。
【0074】ステップ84a。分散の log2 の合計値 s
umLYから複雑度の推定値 Xを求める。sumLY < 48300 の
とき X = sumLY×30 + 350000 とし、それ以外のとき X = sumLY×90 - 2550000 とする。
【0075】なお、本実施の形態は2を底とする対数を
用いたが、他の値を底とする対数を用いても対数の値が
定数倍になるだけなので、同様に実施可能である。な
お、統計量を求める単位とするブロックのサイズは本実
施例ではフィールドの縦8×横8のブロックとフィール
ドの縦1×横16のブロックであったが、他のサイズの
ブロックを用いても実施可能である。例えば、フィール
ドの縦4×横8のブロック、フィールドの縦1×横8の
ブロック、フレームの縦16×横16のブロック、フレ
ームの縦8×横8のブロックを基にしても複雑度を推定
することができる。
【0076】また施例では輝度の分散の対数から複雑度
を推定したが、他の統計量から複雑度を推定することも
可能である。なお、本実施の形態ではフィールドのデー
タから複雑度を推定する場合、フィールドを構成する全
てのブロックのデータを用いたが、全てのブロックを用
いずに一部のブロックの統計情報から複雑度を推定する
こともできる。
【0077】なお、本実施の形態はフィールドのデータ
を用いる場合、第1フィールドのデータから複雑度を推
定したが、第2フィールドのデータから推定しても同様
に実施可能である。第1フィールドの統計量と第2フィ
ールドの統計量の両方を用いても実施可能である。ま
た、フレームのデータから求めても同様に実施可能であ
る。
【0078】
【発明の効果】本発明のレート制御装置は、動画データ
の符号化による符号量を監視するための仮想バッファの
占有量に基づいてマクロブロック毎の符号化の量子化ス
ケールを算出し、算出された量子化スケールを符号化装
置にフィードバックすることにより符号化のビットレー
トを制御するレート制御装置であって、仮想バッファ占
有量を保持する保持手段と、ピクチャ単位の符号化毎に
目標ビット量に応じた目標量子化スケールを算出し、前
記保持手段の仮想バッファ占有量を前記目標量子化スケ
ールに応じて初期化する初期化手段とを備える。
【0079】この構成によれ本発明のレート制御装置は
従来のレート制御装置と比較して以下のような効果があ
る。従来のレート制御装置は、常にマクロブロック毎の
発生ビット量と目標ビット量との差を累計して仮想バッ
ファ占有量を算出するため、シーンチェンジ等により画
像の複雑さが短時間に変化した場合であっても仮想バッ
ファ占有量の変化速度は複雑さの変化速度より遅く、仮
想バッファ占有量が画像の複雑さの変化に対応する適当
な値に達するまでは不適当な量子化スケールでレート制
御を行う。
【0080】これに対し本実施形態のレート制御装置
は、ピクチャの符号化毎にピクチャの平均量子化スケー
ルに対応する値に仮想バッファ占有量を初期化する。仮
想バッファ初期値の基となっているピクチャの平均量子
化スケールは画像の複雑さに基づいて計算されているた
め、仮想バッファ初期値は画像の複雑さの変化を反映し
た値となる。このため本実施形態のレート制御装置は、
仮想バッファ占有量が画像の複雑さの短時間の変化に追
従するのが従来より早くなるという効果がある。
【0081】例えば画像が複雑なシーンから単純なシー
ンに短時間で変化する場合、従来のレート制御装置であ
れば単純なシーンの最初の部分を大きな量子化スケール
で符号化するため画質が低下するという問題があった
が、本実施形態のレート制御装置であれば量子化スケー
ルが単純なシーンに適当な小さな値に変化する速度が従
来のレート制御装置よりもはやいので最初の部分を大き
な量子化スケールで符号化する期間が従来より短くなり
画質低下を低減できるという効果がある。
【0082】また前記初期化手段は、ピクチャタイプ別
のピクチャの複雑度と出現確率との積和により平均複雑
度を算出する第1算出手段と、前記平均複雑度を1ピク
チャあたりの平均の目標ビット量で除算することにより
目標量子化スケールを算出する第2算出手段と、量子化
スケールの最大値に対する前記目標量子化スケールの割
合と、最大仮想バッファサイズとの比から初期占有量を
算出する第3算出手段とを備え、前記初期占有量により
前記保持手段の仮想バッファ占有量を初期化するよう構
成される。
【0083】前記レート制御装置は、前記保持手段が保
持する仮想バッファ占有量をマクロブロック毎に更新す
る更新手段を備え、前記更新手段は、前記目標量子化ス
ケールに対する複雑度の割合に基づいてマクロブロック
の目標ビット量を算出するビット量算出手段と、前記目
標ビット量とマクロブロック符号化による発生ビット量
との差を仮想バッファ占有量に累計する累計手段とを備
える。
【0084】この構成によれば本発明のレート制御装置
において、仮想バッファ占有量の更新の基となるマクロ
ブロックの目標ビット量は、平均量子化スケールと複雑
度の割合に基づいて算出され、これらのうち平均量子化
スケールは、平均複雑度と平均目標ビット量とから算出
され、これらのうち平均量子化スケールは、平均複雑度
と平均目標ビット量とから算出され、平均複雑度はピク
チャタイプ別の複雑度と出現確率とから算出される。つ
まりマクロブロックの目標ビット量は、複雑度と出現確
率とに基づいて算出される。より正確には複雑度と出現
確率とに基づいてピクチャの目標ビット量が算出され、
ピクチャの目標ビット量からマクロブロックの目標ビッ
ト量が換算される。このため従来のようにGOPに予め割
り当てられたビット量を各ピクチャに配分することこと
によりピクチャの目標ビット量及びマクロブロックの目
標ビット量を算出しているのではないので、目標ビット
量の割り当ては従来のようにGOP内に予め割り当てられ
た割り当てビット量Rによる制限をうけることがない。
よってGOPの後方で画像の複雑さが増大した場合であっ
ても複雑さが増大した画像に適当なビット量が割り当て
られることとなり画質低下が減少するという効果があ
る。
【図面の簡単な説明】
【図1】レート制御装置10とレート制御装置10がレ
ート制御する符号化装置11の構成を示す機能ブロック
図である。
【図2】レート制御装置10の詳細な構成を示す機能ブ
ロック図である。
【図3】レート制御装置10のレート制御の概略の処理
手順を示すフローチャートである。
【図4】S302〜S310におけるピクチャ単位のル
ープにおけるレート制御装置10の処理手順を詳細に示
すフローチャートである
【図5】S304〜S308におけるマクロブロック単
位のループにおけるレート制御装置10の処理手順を詳
細に示すフローチャートである。
【図6】量子化スケールと仮想バッファ占有量との対応
を示す。
【図7】符号化装置40の構成図である。
【図8】レート制御装置におけるレート制御の処理手順
を示すフローチャートである。
【図9】画像が複雑な画像から簡単な画像に短時間で変
化した場合の、量子化スケールの変化を示す。
【図10】GOP内の割り当てビット量RをGOPの未
符号化ピクチャに割り当てる様子を示す。
【符号の説明】
10 レート制御装置 11 符号化装置 12 フレームメモリ 13 動きベクトル検出部 14 動き予測部 15 加算部 16 DCT部 17 量子化部 18 逆量子化部 19 逆DCT部 20 加算部 22 可変長符号部 23 バッファ 211 ピクチャ平均ビット量計算部 212 ピクチャ出現確率計算部 213 ピクチャ平均複雑度計算部 214 ピクチャ複雑度計算部 215 平均量子化スケール計算部 216 ピクチャ目標ビット量計算部 217 マクロブロック目標ビット量計算部 218 仮想バッファ初期化部 219 仮想バッファ占有量保持部 220 量子化スケール計算部 221 仮想バッファ占有量更新部 222 符号化制御部

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 動画データの符号化による符号量を監視
    するための仮想バッファの占有量に基づいてマクロブロ
    ック毎の符号化の量子化スケールを算出し、算出された
    量子化スケールを符号化装置にフィードバックすること
    により符号化のビットレートを制御するレート制御装置
    であって、 仮想バッファ占有量を保持する保持手段と、 ピクチャ単位の符号化毎に目標ビット量に応じた目標量
    子化スケールを算出し、前記保持手段の仮想バッファ占
    有量を前記目標量子化スケールに応じて初期化する初期
    化手段とを備えることを特徴とするレート制御装置。
  2. 【請求項2】 前記初期化手段は、 ピクチャタイプ別のピクチャの複雑度と出現確率との積
    和により平均複雑度を算出する第1算出手段と、 前記平均複雑度を1ピクチャあたりの平均の目標ビット
    量で除算することにより目標量子化スケールを算出する
    第2算出手段と、 量子化スケールの最大値に対する前記目標量子化スケー
    ルの割合と、最大仮想バッファサイズとの比から初期占
    有量を算出する第3算出手段とを備え、 前記初期占有量により前記保持手段の仮想バッファ占有
    量を初期化することを特徴とする請求項1記載のレート
    制御装置。
  3. 【請求項3】 前記レート制御装置は、 前記保持手段が保持する仮想バッファ占有量をマクロブ
    ロック毎に更新する更新手段を備え、 前記更新手段は、前記目標量子化スケールに対する複雑
    度の割合に基づいてマクロブロックの目標ビット量を算
    出するビット量算出手段と、 前記目標ビット量とマクロブロック符号化による発生ビ
    ット量との差を仮想バッファ占有量に累計する累計手段
    とを備えることを特徴とする請求項2記載のレート制御
    装置。
  4. 【請求項4】 動画データの符号化による符号量を監視
    するための仮想バッファの占有量に基づいてマクロブロ
    ック毎の符号化の量子化スケールを算出し、算出された
    量子化スケールに応じて量子化を行うことにより符号化
    ビットレートを制御しつつ、動画データの符号化を行う
    符号化装置であって、 仮想バッファ占有量を保持する保持手段と、 ピクチャ単位の符号化毎に目標ビット量に応じた目標量
    子化スケールを算出し、前記保持手段の仮想バッファ占
    有量を前記目標量子化スケールに応じて初期化する初期
    化手段とを備えることを特徴とする符号化装置。
  5. 【請求項5】 動画データの符号化による符号量を監視
    するための仮想バッファ占有量に基づいてマクロブロッ
    ク毎の符号化の量子化スケールを算出し、算出された量
    子化スケールを符号化装置にフィードバックすることに
    より符号化のビットレートを制御するレート制御方法で
    あって、 仮想バッファ占有量をメモリに保持させる保持ステップ
    と、 ピクチャ単位の符号化毎に目標ビット量に応じた目標量
    子化スケールを算出し、前記保持手段の仮想バッファ占
    有量を前記目標量子化スケールに応じて初期化する初期
    化ステップとを備えることを特徴とするレート制御方
    法。
JP2000011064A 1999-01-19 2000-01-19 レート制御装置、レート制御方法及び符号化装置 Pending JP2000358247A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000011064A JP2000358247A (ja) 1999-01-19 2000-01-19 レート制御装置、レート制御方法及び符号化装置

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP1014999 1999-01-19
JP10934099 1999-04-16
JP11-109340 1999-04-16
JP11-10149 1999-04-16
JP2000011064A JP2000358247A (ja) 1999-01-19 2000-01-19 レート制御装置、レート制御方法及び符号化装置

Publications (1)

Publication Number Publication Date
JP2000358247A true JP2000358247A (ja) 2000-12-26

Family

ID=27278858

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000011064A Pending JP2000358247A (ja) 1999-01-19 2000-01-19 レート制御装置、レート制御方法及び符号化装置

Country Status (1)

Country Link
JP (1) JP2000358247A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006074347A (ja) * 2004-09-01 2006-03-16 Sony Corp 画像処理装置および画像処理方法
JP2007235928A (ja) * 2006-01-31 2007-09-13 Canon Inc 画像処理装置
JP2008004980A (ja) * 2006-06-20 2008-01-10 Fujitsu Ltd 符号化装置、符号化方法、プログラム記録媒体、プログラム、シーン変化検知装置、およびシーン変化検知方法
JP2008153946A (ja) * 2006-12-18 2008-07-03 Ntt Electornics Corp 画像符号化装置
JP2009015672A (ja) * 2007-07-06 2009-01-22 Mitsubishi Electric Corp 顔検出装置及び顔検出方法
JP2009232148A (ja) * 2008-03-24 2009-10-08 Mega Chips Corp トランスコーダ
WO2009148076A1 (ja) 2008-06-05 2009-12-10 日本電信電話株式会社 映像符号量制御方法、映像符号量制御装置、映像符号量制御プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2010136041A (ja) * 2008-12-04 2010-06-17 Nippon Telegr & Teleph Corp <Ntt> 符号化ストリーム伝送方法,符号化ストリーム伝送装置,符号化ストリーム伝送制御プログラムおよびその記録媒体
US7809198B2 (en) 2003-03-06 2010-10-05 Sony Corporation Coding apparatus having rate control to prevent buffer breakdown

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7809198B2 (en) 2003-03-06 2010-10-05 Sony Corporation Coding apparatus having rate control to prevent buffer breakdown
JP2006074347A (ja) * 2004-09-01 2006-03-16 Sony Corp 画像処理装置および画像処理方法
JP2007235928A (ja) * 2006-01-31 2007-09-13 Canon Inc 画像処理装置
JP2008004980A (ja) * 2006-06-20 2008-01-10 Fujitsu Ltd 符号化装置、符号化方法、プログラム記録媒体、プログラム、シーン変化検知装置、およびシーン変化検知方法
JP2008153946A (ja) * 2006-12-18 2008-07-03 Ntt Electornics Corp 画像符号化装置
JP2009015672A (ja) * 2007-07-06 2009-01-22 Mitsubishi Electric Corp 顔検出装置及び顔検出方法
JP2009232148A (ja) * 2008-03-24 2009-10-08 Mega Chips Corp トランスコーダ
WO2009148076A1 (ja) 2008-06-05 2009-12-10 日本電信電話株式会社 映像符号量制御方法、映像符号量制御装置、映像符号量制御プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
US8548042B2 (en) 2008-06-05 2013-10-01 Nippon Telegraph And Telephone Corporation Video bitrate control method, video bitrate control apparatus, video bitrate control program, and computer-readable recording medium having the program recorded thereon
JP2010136041A (ja) * 2008-12-04 2010-06-17 Nippon Telegr & Teleph Corp <Ntt> 符号化ストリーム伝送方法,符号化ストリーム伝送装置,符号化ストリーム伝送制御プログラムおよびその記録媒体

Similar Documents

Publication Publication Date Title
CN103402099B (zh) 视频编码的图片级速率控制的方法和系统
US6826229B2 (en) Device and method for coding video information
US7593462B2 (en) Moving picture encoding system
US7653129B2 (en) Method and apparatus for providing intra coding frame bit budget
JP3864461B2 (ja) 映像データ圧縮装置およびその方法
KR100610520B1 (ko) 비디오 데이터 부호화 장치, 비디오 데이터 부호화 방법, 비디오데이터 전송 장치 및 비디오 데이터 기록 매체
KR100512389B1 (ko) 영상데이터의 압축장치 및 그 방법
JP3960451B2 (ja) シーン特性検出型動画像符号化装置
KR20040011100A (ko) 개선된 비트율 제어 방법과 그 장치
JP4221655B2 (ja) 符号化装置および符号化方法、プログラム、並びに記録媒体
US6879632B1 (en) Apparatus for and method of variable bit rate video coding
US20030152151A1 (en) Rate control method for real-time video communication by using a dynamic rate table
US20050036548A1 (en) Method and apparatus for selection of bit budget adjustment in dual pass encoding
JP2000358247A (ja) レート制御装置、レート制御方法及び符号化装置
Ngan et al. Improved single-video-object rate control for MPEG-4
JP4186543B2 (ja) 符号化装置および符号化方法、プログラム、並びに記録媒体
JP4228739B2 (ja) 符号化装置および符号化方法、プログラム、並びに記録媒体
JPH07322254A (ja) 符号化装置
JP4325536B2 (ja) 動画像符号化装置及び方法
KR100595144B1 (ko) 적응형 양자화 제어 방법.
JP4035747B2 (ja) 符号化装置および符号化方法
JPH0818952A (ja) 画像信号符号化装置
JPH11331850A (ja) 動画像符号化方式
JP4186544B2 (ja) 符号化装置および符号化方法、プログラム、並びに記録媒体
CN117880511A (zh) 基于视频缓冲区校验的码率控制方法