JP3151173B2 - 画像圧縮符号化装置及び方法 - Google Patents

画像圧縮符号化装置及び方法

Info

Publication number
JP3151173B2
JP3151173B2 JP25908797A JP25908797A JP3151173B2 JP 3151173 B2 JP3151173 B2 JP 3151173B2 JP 25908797 A JP25908797 A JP 25908797A JP 25908797 A JP25908797 A JP 25908797A JP 3151173 B2 JP3151173 B2 JP 3151173B2
Authority
JP
Japan
Prior art keywords
quantization width
bit generation
generation error
dmb
encoding
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
JP25908797A
Other languages
English (en)
Other versions
JPH10155152A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP25908797A priority Critical patent/JP3151173B2/ja
Publication of JPH10155152A publication Critical patent/JPH10155152A/ja
Application granted granted Critical
Publication of JP3151173B2 publication Critical patent/JP3151173B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、映像信号を圧縮符
号化するための画像圧縮符号化装置及び方法に関するも
のであり、特に符号化する際の量子化幅の制御、ビット
発生量の制御等に関するものである。
【0002】
【従来の技術】映像信号の圧縮符号化に関する技術とし
ては、例えばISO/IEC 13818-2(通称MPEG2)にお
けるディジタル圧縮符号化データの国際標準フォーマッ
トがあり、ここに、その復号方法が示されている。ま
た、そのフォーマットに符号化する代表的な方法とし
て、ISO-IEC/JTC/SC29/WG11 N0328の"Test Model 3"に
その記述がある。
【0003】MPEG2の符号化において、映像信号
は、各ピクチャー間の動きの補償並びに予測と、この予
測の誤差のDCT符号化が行われる。このDCTの変換
係数を量子化する際、その量子化幅によってビット発生
量が増減する。映像信号を所望のデータ量に圧縮する場
合、符号化に費やされたビット発生量に応じて量子化幅
を制御し、データ量の調整を行う。
【0004】ISO-IEC/JTC/SC29/WG11 N0328の"Test Mod
el 3"においては、符号化された画像データを所望の一
定のビットレートで復号化装置に入力し、映像信号を再
生できるような該映像信号の量子化幅の決定方法が示さ
れている。
【0005】"Test Model 3"においては、複数のピクチ
ャーからなるグループオブピクチャー(以後GOP)毎
に、目標ビットレートから目標ビット数を換算して求
め、更に、目標ビット数をGOPの各ピクチャーI,
P,B(ピクチャーIはGOPの先頭のもの、ピクチャ
ーPは複数のピクチャー毎に設定されるのもの、ピクチ
ャーBはIとP間のもの)に割り当て、これらのピクチ
ャーの符号化を行う。
【0006】
【発明が解決しようとする課題】しかしながら、この様
な方法では、過去のGOPの各ピクチャーの符号化に費
やしたビット発生量に基づいて、現在のGOPの目標ビ
ット発生量を調整して求め、この目標ビット発生量を該
GOPの各ピクチャーに割り当てるため、シーンチェン
ジやピクチャー内での映像の動きの増加などによって、
各ピクチャーI,P,Bの情報量の割合が過去のGOP
と大きく異なる場合、各ピクチャーI,P,Bに割り当
てられるビット量が不適切となる。この様な各ピクチャ
ーI,P、Bの情報量の割合は、通常でも2倍以上変化
することが多く、シーンチェンジがあった場合には、ピ
クチャーBでもピクチャーIと同程度のビット量を割り
当てる必要があったり、更に複雑な映像のシーンになっ
た場合は、情報量事態が十倍近く増えることもあり、ピ
クチャーに割り当てられるビット量が不足し、このピク
チャーに対応する再生画像の画質が大きく劣化してしま
うと言う問題があった。
【0007】また、GOP単位でビット発生量を制御す
るため、例えば、GOPの後半付近、つまりGOPの最
後の数ピクチャーで、シーンチェンジ等が発生した場合
は、割り当てるビット量が完全に不足してしまうため、
ピクチャーの符号化の難易度が急激に上昇し、このピク
チャーに対応する再生画像の画質が極端に劣化してしま
うと言う問題があった。
【0008】一方、1つのピクチャーにおいては、ピク
チャーを構成する各マクロブロックの符号化に費やされ
る各ビット量が一定であると仮定して、目標ビット発生
量を算出し、この目標ビット発生量と実際のビット発生
量の比較に基づいて映像信号の量子化幅を制御し、1ピ
クチャーにおいて、実際のビット発生量が目標ビット発
生量となる様な調整を行っている。
【0009】しかしながら、ピクチャー内の映像とその
背景部等の位置によって、情報量が極端に異なる場合が
あり、ピクチャー内のビット割り当てがうまくできな
い。例えば、ピクチャーの各マクロブロックの後半に複
雑な絵柄等が存在する場合、前半の簡単な部分に多くの
ビットが割り当てられてしまい、後半で予想以上のビッ
ト発生量となってしまったり、逆に前半に複雑な絵柄が
ある場合には、前半でビット発生量が必要以上に抑制さ
れてしまい、後半でビット発生量が必要以上に割り当て
られてしまい、1枚のピクチャー内で本来割り当てられ
るべき部分でビットが割り当てられないと言う問題があ
った。
【0010】また、実際のビット発生量を目標ビット発
生量に調整すると言う制御方法であっても、復号化装置
側で想定されるVBVバッファ(仮想バッファ)の占有
量を考慮していないため、別途、VBVバッファからの
制約条件によって、各ピクチャーに対するビット配分な
どを修正する必要があり、この場合には、さらに再生画
像の画質の劣化を招いていた。
【0011】このような映像信号の符号化の難易度の変
化を原因として、再生画像の画質が不安定になりかつ劣
化するのを防ぐには、映像信号の量子化幅をできるだけ
均一に保つことであるが、量子化幅を一定にすると、画
像の符号化の難易度に応じてビット発生量が無秩序に増
加するため、目標ビットレートで映像信号を符号化する
ことが困難となる。
【0012】本発明は、上記従来の問題を解決するもの
であって、シーンチェンジのときのピクチャー、あるい
は複雑なピクチャーであっても、常に適切なビット量を
割り当てることができ、また、ピクチャー内の各マクロ
ブロックに対しても、それぞれの複雑さに応じて最適な
ビットを割り当てることができ、再生画像の画質を安定
に維持しつつ、目標ビットレートでピクチャーの符号化
を行うことが可能な画像圧縮符号化装置および方法を提
供するものである。
【0013】
【課題を解決するための手段】上記課題を解決するため
に、本発明は、映像信号を符号化するときの量子化幅を
求め、この量子化幅に基づいて該映像信号を符号化する
画像圧縮符号化装置であって、前記映像信号の符号化に
費やされた実際のビット発生量を求めると共に、目標ビ
ットレートに応じた目標ビット発生量を求め、前記実際
のビット発生量と前記目標ビット発生量の差であるビッ
ト発生誤差を求めて、このビット発生誤差に対応する量
子化幅を求めており、前記ビット発生誤差の予め定めら
れた範囲においては、ビット発生誤差の変化に対して量
子化幅が小さく変化する特性を設定し、この特性に基づ
いてビット発生誤差に対する量子化幅を求める制御手段
を備えている。
【0014】1つの実施形態では、基準量子化幅が予め
定められており、制御手段は、目標ビットレートからビ
ット発生誤差に対応する値を差し引いた値と該目標ビッ
トレートの比を求めて、この比と前記基準量子化幅を積
算し、この積に基づいて映像信号を符号化するときの量
子化幅を求めている。
【0015】1つの実施形態では、制御手段は、目標ビ
ットレートに基づいて基準量子化幅を求め、ビット発生
誤差の予め定められた範囲においては、ビット発生誤差
の変化に対して量子化幅が前記基準量子化幅近傍で小さ
く変化する特性を設定し、この特性に基づいてビット発
生誤差に対する量子化幅を求めている。
【0016】1つの実施形態では、ビット発生誤差の予
め定められた範囲及び該範囲の近傍においては、ビット
発生誤差の変化に対する量子化幅の変化の特性がヒステ
リシスループを描いている。
【0017】1つの実施形態では、映像信号を符号化し
てなる各画像データを順次入力して、これらの画像デー
タを順次出力する仮想バッファを想定した場合は、この
仮想バッファの占有量がビット発生誤差に対応し、この
仮想バッファの占有量が0近傍になると、量子化幅が急
峻に最大値に近づき、かつビット発生誤差の変化に対し
て小さく変化する該量子化幅の特性に連なる様に、該量
子化幅が連続的に変化する。
【0018】1つの実施形態では、ビット発生誤差の複
数の範囲が予め定められ、これらの範囲毎に、ビット発
生誤差の変化に対する量子化幅の変化を示す特性が設定
され、制御手段は、前記各範囲のうちからビット発生誤
差の入る範囲を選択して、この範囲の特性に基づいて、
ビット発生誤差に対する量子化幅を求めている。
【0019】1つの実施形態では、MPEG規格に準拠
して、映像信号をマクロブロック単位で量子化幅に基づ
いて符号化しており、制御手段は、マクロブロック毎
に、ビット発生誤差に対応する量子化幅を求めている。
【0020】次に、本発明の作用を説明する。
【0021】本発明によれば、実際のビット発生量と前
記目標ビット発生量の差であるビット発生誤差を求め
て、このビット発生誤差に対応する量子化幅を求めてお
り、前記ビット発生誤差の予め定められた範囲において
は、ビット発生誤差の変化に対して量子化幅が小さく変
化する特性を設定し、この特性に基づいてビット発生誤
差に対する量子化幅を求めている。このため、ビット発
生誤差の予め定められた範囲において該ビット発生誤差
が変化している状態では、量子化幅が大きく変化せず、
GOP内の各ピクチャーI,P,Bのいずれに対して
も、略同様の目標ビット発生量が割り当てられ、これら
のピクチャーに対応する各再生画像の画質が安定する。
また、1つのピクチャーにおいても、ビット発生誤差の
予め定められた範囲において該ビット発生誤差が変化し
ている限り、適切な量子化幅を設定して、ピクチャーの
符号化の難易度に応じて適切な目標ビット発生量を割り
当てることができる。
【0022】1つの実施形態の様に、目標ビットレート
からビット発生誤差に対応する値を差し引いた値と該目
標ビットレートの比を求めて、この比と前記基準量子化
幅を積算し、この積に基づいて、映像信号を符号化する
ときの量子化幅を求めても良い。この場合、ビット発生
誤差が増加する程、量子化幅が大きくなり、ビット発生
誤差が減少する程、量子化幅が小さくなる。
【0023】1つの実施形態の様に、ビット発生誤差の
予め定められた範囲においては、ビット発生誤差の変化
に対して量子化幅が基準量子化幅近傍で小さく変化する
特性を設定し、この特性に基づいてビット発生誤差に対
する量子化幅を求めても良い。これによって、前記範囲
において、適切な量子化幅を設定することができる。
【0024】1つの実施形態の様に、ビット発生誤差の
予め定められた範囲及び該範囲の近傍においては、ビッ
ト発生誤差の変化に対する量子化幅の変化の特性がヒス
テリシスループを描いても良い。この場合は、ビット発
生誤差が前記範囲から外れるまで変化し、これに伴って
量子化幅が変化したとときには、ビット発生誤差が該範
囲に戻っても、量子化幅が同一の値まで戻らず、ビット
発生誤差の変化に対する量子化幅の変化の特性が新たに
なる。
【0025】1つの実施形態の様に、仮想バッファ(V
BVバッファ)の占有量がビット発生誤差に対応し、こ
の仮想バッファの占有量が0近傍になると、量子化幅が
急峻に最大値に近づき、かつビット発生誤差の変化に対
して小さく変化する該量子化幅の特性に連なる様に、該
量子化幅が連続的に変化しても良い。この場合、仮想バ
ッファの占有量が0近傍になると、量子化幅が急峻に最
大値に近づくので、仮想バッファのアンダーフローを防
止することができる。
【0026】1つの実施形態の様に、ビット発生誤差の
各範囲のうちからビット発生誤差の入る範囲を選択し
て、この範囲の特性に基づいて、ビット発生誤差に対す
る量子化幅を求めても良い。この場合、ビット発生誤差
の大きさに応じて、適切な特性を選択し、この特性に基
づいて量子化幅を定めることができる。
【0027】1つの実施形態の様に、MPEG規格に準
拠して、映像信号をマクロブロック単位で量子化幅に基
づいて符号化しても良い。この様なマクロブロック単位
の符号化であっても、先に述べた様に、ビット発生誤差
の予め定められた範囲において該ビット発生誤差が変化
している限り、適切な量子化幅を設定して、ピクチャー
の符号化の難易度に応じて適切な目標ビット発生量を割
り当てることができる。
【0028】
【発明の実施の形態】以下、本発明の実施形態を添付図
面を参照して説明する。図1は、本発明の画像圧縮符号
化装置の第1実施形態を概略的に示すブロック図であ
る。この第1実施形態の符号化装置においては、映像信
号を基本符号化処理部1によって画像データに符号化
し、この画像データをエンコーダ送出バッファ2を通じ
て送出している。また、レート制御部3は、基本符号化
処理部1によって映像信号を符号化するときの量子化幅
q_scaleを制御している。
【0029】ここで、映像信号の符号化処理の概略を図
2を参照して説明しておく。符号化される映像信号の各
ピクチャーは、複数のマクロブロックに分割されて符号
化される。1つのマクロブロックは、輝度について、1
6×16画素ブロックのデータ(更に基本符号化処理単
位である4つの8×8画素ブロックに分けられる)、色
差について、基本符号化処理単位である2つの8×8画
素ブロックのデータに分けられ、これらのブロックが符
号化される。また、1つのマクロブロックにおいて、マ
クロブロック内のブロックの符号化方法および量子化幅
等を決定する。
【0030】スライスは、複数のマクロブロックを含む
データ単位であって、複数のスライスから1つのピクチ
ャーが構成される。ピクチャーは、その符号化方法とし
て、ピクチャー自体がそのまま符号化されるピクチャー
(イントラピクチャー:以後ピクチャーI)、時間的に
過去のピクチャーからの動きを予測した上で、符号化さ
れるピクチャー(以後 ピクチャーP)、時間的に過去
及び未来の両方、もしくはいずれか一方のピクチャーか
らの動きを予測した上で、符号化されるピクチャー(以
後 ピクチャーB)がある。
【0031】図2における各ピクチャーI,P,Bの配
置は、その典型的な例であり、最初のピクチャーIを用
いて3枚先のピクチャーPを予測して符号化し、その間
に含まれる各ピクチャーBを各ピクチャーI,Pの両方
から予測して符号化している。したがって、最初にピク
チャーIを符号化し、次にピクチャーPを符号化し、更
に各ピクチャーBを符号化することになり、このために
本来の時間の進行に沿った各ピクチャーI,P,Bの順
序を変更してから、これらのピクチャーを符号化する必
要がある。
【0032】さらに、ピクチャーIから始まる複数のピ
クチャーからGOP(グループオブピクチャー)を構成
し、さらに任意の数のGOPで1つのビデオシーケンス
を構成する。
【0033】この様な符号化は、図1の装置における基
本符号化処理部1で行われる。この基本符号化処理部1
の構成を図3に示す。
【0034】図3において、11は、各ピクチャーを示
す映像信号を入力し、これらのピクチャーを符号化する
順番にならび替える画像並び替え部、12は、ピクチャ
ーを符号化される単位であるマクロブロックに変換する
走査変換処理部、13は、マクロブロックとピクチャー
内の映像の動作に応じた予測データとの差を求める差分
部、14は、差分部14から出力された差を符号化する
DCT変換処理部、15は、重みづけ量子化処理部、1
6は、可変長符号化処理部、17は、逆量子化部、18
は、逆DCT処理部、19は、動き補償付き予測処理
部、20は、モード判定部、21は、動き検出処理部、
22は、加算処理部である。
【0035】この様な構成の符号化処理部1において、
画像並び替え部11は、映像信号によって示される各ピ
クチャーを入力し、これらのピクチャーの順序を符号化
する順番に入れ替えてから、これらのピクチャーを走査
線変換処理部12に順次出力する。
【0036】走査線変換処理部12は、各ピクチャーを
入力する度に、ピクチャーを複数のマクロブロックに分
割し、これらのマクロブロックを差分部13に順次出力
する。差分部13は、走査線変換処理部12からのマク
ロブロックと動き補償付き予測処理部19からの予測デ
ータとの差分を求め、この差を予測誤差として出力す
る。DCT変換処理部14は、この予測誤差を8×8画
素ブロック単位でDCT変換し、このDCT変換により
得られた各変換係数を重みづけ量子化処理部15に出力
する。重みづけ量子化処理部15は、各変換係数を量子
化し、これにより得た量子化データを可変長符号化処理
部16に出力する。可変長符号化処理部16は、量子化
データを可変長符号化して、圧縮符号化された画像デー
タを形成する。この圧縮符号化された画像データは、所
望の伝送レートで伝送するためにエンコーダ送出バッフ
ァに一旦蓄えられてから出力される。
【0037】一方、重みづけ量子化処理部15から出力
された量子化データは、逆量子化部17及び逆DCT処
理部18によって再生処理されてから、動き補償付き予
測部19に入力され、ここで動きを予測されたピクチャ
ーを示す予測データが形成される。この予測データは、
差分部13に入力され、ここで予測データと走査線変換
処理部12からのマクロブロックの差分が求められる。
動き検出処理部21は、各マクロブロック毎に、映像の
動きベクトルを算出し、この動きベクトルを動き補償付
き予測処理部19に入力するとともに可変長符号化処理
部16に送る。レート制御部3は、可変長符号化処理部
16から出力されたビットストリームのビット発生量と
目標ビットレートから換算した目標ビット発生量を比較
し、最終的に目標ビット発生量で符号化が完了するよう
に重みづけ量子化部15の量子化幅q_scaleを制御す
る。
【0038】ただし、MPEGの規格においては、VB
Vと呼ばれる仮想復号器を想定し、このVBVの入力バ
ッファ(以下VBVバッファと称す)がオーバーフロー
したり、アンダーフローしない様に制御しなければなら
ない。このVBVバッファの入出力は規定されている。
【0039】図4は、映像信号を固定レートで符号化す
るときのVBVバッファ中のデータ占有量を示してい
る。図4において、横軸は、時刻であり、1目盛りが1
ピクチャの入力に費やされる時間を示している。縦軸
は、VBVバッファのデータ占有量VBV_fullnessで
ある。最初は、画像データを再生せず、画像データのピ
クチャーヘッダによって示される期間VBV_delay、つ
まり1ピクチャーを符号化してなる画像データが入力さ
れる時点T1から時点T2までの期間だけ、画像データ
をVBVバッファに貯える。このときのVBVバッファ
の占有量VBV_fullnessは、画像データが一定レート
で入力されるため、傾き一定の直線で表される。次に、
ピクチャーの再生が行われる時点T3(=T2)で、1
ピクチャー分の画像データが瞬間的にVBVバッファよ
り除去される。そして、次のピクチャーの再生が行われ
る直前の時点T4までに、1ピクチャー分のビット量だ
けVBVバッファの占有量VBV_fullnessが増加し、
ピクチャーの再生の時点T5(=T4)で、瞬間的に1
ピクチャー分の画像データが除去される。以降、同様に
動作して、VBVバッファの占有量VBV_fullnessが
VBVバッファのサイズVBV_sizeから出ないよう
に、つまりアンダーフロー及びオーバーフローを招かな
い様に、符号化装置では、画像データの送出を制御する
必要がある。
【0040】さて、基本符号化処理部1の可変長符号化
処理部16は、各マクロブロックの符号化が終了する度
に、MBエンドタイミング信号をレート制御部3に送出
す共に、1ピクチャーの符号化が終了する度に、ピクチ
ャー開始タイミング信号をレート制御部3へ送る。レー
ト制御部3は、MBエンドタイミング信号を入力する度
に、可変長符号化処理部16からのビットストリームに
基づいて1マクロブロック当たりの実際のビット発生量
Bmbを求め、このビット発生量Bmbに基づいて量子化幅
q_scaleを決定し、この量子化幅q_scaleを基本符号化
処理部1へ送る。
【0041】図5は、レート制御部3の構成を示してい
る。同図において、MBカウンタ4は、可変長符号化処
理部16からのビットストリームに基づいて各マクロブ
ロックの符号化に用いられるビット発生量を計数してい
る。制御回路5は、MBエンドタイミング信号及びピク
チャー開始タイミング信号を入力しており、MBエンド
タイミング信号の度に、MBカウンタ4による計数値に
基づいて1マクロブロック当たりの実際のビット発生量
Bmbを求める。また、制御回路5は、目標ビットレート
及びVBVバッファのサイズVBV_sizeを外部から受
け取り、実際のビット発生量Bmb、目標ビットレート及
びVBVバッファのサイズVBV_size等に基づいて、
各マクロブロック毎に、量子化幅q_scaleを求め、この
量子化幅q_scaleを基本符号化処理部1の重みづけ量子
化部処理部15に与える。更に、制御回路5は、VBV
バッファがアンダーフローの状態に近づくと、アンダー
フロー回避信号を重みづけ量子化部処理部15に出力す
る。また、制御回路5は、画像データのヘッダ情報とし
てVBV_delayの期間、目標ビットレート、VBVバッ
ファのサイズVBV_sizeを示す信号を可変符号化処理
部16に出力する。
【0042】この様な処理は、図6のフローチャートに
従って行われる。まず、レート制御部3の制御回路5
は、1マクロブロック当たりの目標ビット発生量Tmb、
1ピクチャー当たりの目標ビット発生量Tpic、目標ビ
ットレートR(bps)、基準量子化幅q_st、ビット
発生誤差Dmb、VBVバッファの占有量VBV_fullnes
s、VBVバッファのサイズVBV_size、量子化幅q_s
caleを初期化する(ステップ101)。
【0043】この初期化において、目標ビットレートを
1マクロブロック当たりのレートとして外部から受け取
るものとすると、この目標ビットレートを1マクロブロ
ック当たりの目標ビット発生量Tmbとして定める。1ピ
クチャー当たりの目標ビット発生量Tpicは、目標ビッ
ト発生量Tmbの初期値を1ピクチャー内の各マクロブロ
ックの数だけ整数倍して求められる(Tpic=Tmb×
(1ピクチャー当たりのマクロブロック数))。目標ビ
ットレートR(bps)は、1ピクチャー当たりの目標
ビット発生量Tpicにフレームレートを積算して求めら
れる(R=Tpic×(フレームレート))。
【0044】規格で定められたデフォルトの量子化マト
リクスを用いて符号化を行うことを前提に、目標ビット
レートR(bps)が略3Mbpsの場合は、基準量子
化幅q_stを6に設定し、目標ビットレートR(bp
s)が4Mbps以上の場合は、基準量子化幅q_stを
5に設定し、目標ビットレートR(bps)が6Mbp
s以上の場合は、基準量子化幅q_stを4に設定する。
この様に基準量子化幅q_stを目標ビットレートR(b
ps)に応じて決定するものの、この基準量子化幅q_s
tを適宜に変更して設定しても構わない。
【0045】ここでは、目標ビットレートR(bps)
を3Mbpsに設定し、基準量子化幅q_stを6に設定
する。
【0046】ビット発生誤差Dmbの初期値は、0に設さ
れる。VBVバッファのサイズは、外部から指定され、
例えばMP@ML規格で規定されている1835008
ビットである。VBVバッファの占有量VBV_fullnes
sは、図8のグラフから明らかな様にビット発生誤差Dm
bに対応しており、この占有量VBV_fullnessの初期値
がビット発生誤差Dmbの初期値0に対応する13350
08ビットに設定される。したがって、図8のグラフの
横軸におけるビット発生誤差Dmbの初期値0の位置を変
更すると、占有量VBV_fullnessの初期値も変更され
る。量子化幅q_scaleの初期値は、基準量子化幅q_st
と同じ6に設定される。
【0047】こうして初期化を終了すると、制御回路5
は、可変長符号化処理部16の出力に基づいて、一連の
映像信号の終了であるか否かを判定し(ステップ10
2)、引き続いてピクチャーの開始であるか否かを判定
する(ステップ103)。ここでは、映像信号の符号化
を始めたばかりであるから、一連の映像信号の終了でな
いと判定され(ステップ102,No)、ピクチャーの開
始であると判定され(ステップ103,Yes)、ステッ
プ104のスタッフィング(stuffing)処理に移る。
【0048】このステップ104のスタッフィング処理
は、図7に示す手順で行われる。制御回路5は、スタッ
フィングバイトを0に初期設定してから(ステップ20
1)、VBVバッファの占有量VBV_fullnessとVB
VバッファのサイズVBV_sizeから1ピクチャー当た
りの目標ビット発生量Tpicを差し引いた値を比較し
(ステップ202)、VBVバッファの占有量VBV_f
ullnessの方が大きければ(ステップ202,Yes)、こ
れから行われる1ピクチャーの符号化によって、VBV
バッファがオーバーフローするので、スタッフィングバ
イトを歩進して1に設定する。そして、このスタッフィ
ングバイトの増加に伴いVBVバッファの占有量VBV
_fullnessから8を差し引いて、この占有量VBV_full
nessを更新すると共に、ビット発生誤差Dmbに8を加算
して、このビット発生誤差Dmbを更新し(ステップ20
3)、この後にステップ202に戻る。
【0049】したがって、VBVバッファの占有量VB
V_fullnessの方が大きいと判定される限り(ステップ
202,Yes)、スタッフィングバイトが1ずつ増加
し、これに伴いVBVバッファの占有量VBV_fullnes
sが8ずつ減少し、ビット発生誤差Dmbが8ずつ増加す
る(ステップ203)。そして、VBVバッファの占有
量VBV_fullnessの方が小さいと判定されると(ステ
ップ202,No)、そのときのスタッフィングバイトの
値が可変長符号化処理部16に通知される。可変長符号
化処理部16は、スタッフィングバイトの値に応じて、
スタッフィング処理、つまりピクチャーを符号化してな
る画像データに引き続きバイト単位で0の符号列を送出
して、このピクチャーの画像データを見かけ上増加さ
せ、VBVバッファから除去される画像データの量を増
やし、これによってVBVバッファのオーバーフローを
回避する。
【0050】ただし、初期状態においては、VBVバッ
ファの占有量VBV_fullnessの方が小さいと判定され
るので(ステップ202,No)、スタッフィングバイト
の値0が可変長符号化処理部16に通知され、スタッフ
ィング処理が行われない。
【0051】この後、制御回路5は、期間VBV_delay
を次式(1)又は(2)から算出する(ステップ10
5)。 ピクチャーB,Pの場合 VBV_delay=90000×(VBV_fullness+Tpic)/R …(1) ピクチャーIの場合 VBV_delay=90000×(VBV_fullness+Tpic−ヘッダビット数)/R …(2) ただし、Rは、1秒あたりの目標ビット発生量、ヘッダ
ビット数は、ビデオシーケンスヘッダからピクチャーヘ
ッダ直前までのビット数である。
【0052】この期間VBV_delayは、ピクチャーを符
号化してなる画像データのヘッダ情報となって、復号化
装置に伝送される。この復号化装置では、初めて画像デ
ータをVBVバッファに入力するのであれば、ヘッダ情
報に含まれる期間VBV_delayだけ待機して、画像デー
タがVBVバッファに蓄積されてから、画像データの復
号化を開始する。
【0053】これまでの処理の間に、基本符号化処理部
1による1ピクチャーの符号化が開始され、レート制御
部3の制御回路5は、MBエンドタイミング信号の度
に、MBカウンタ4による計数値に基づいて1マクロブ
ロック当たりの実際のビット発生量Bmbを求める。(ス
テップ106)。制御回路5は、次式(3)に基づい
て、1マクロブロック当たりの実際のビット発生量Bmb
と目標ビット発生量Tmbの差をビット発生誤差Dmbに加
算し、このビット発生誤差Dmbを更新する(ステップ1
07)。 Dmb=Dmb+Bmb―Tmb …(3) ここで、1マクロブロック当たりの情報量が大き過ぎた
り小さ過ぎれば、実際のビット発生量Bmbが目標ビット
発生量Tmbよりも大きくなたっり小さくなり、ビット発
生誤差Dmbが発生する。また、1マクロブロック当たり
の情報量が丁度良ければ、実際のビット発生量Bmbが目
標ビット発生量Tmbに一致し、ビット発生誤差Dmbが0
となる。
【0054】引き続いて、制御回路5は、ビット発生誤
差Dmbが予め定められたしきい値D4を越えいないこと
を確認してから(ステップ108,No)、次式(4),
(5),(6),(7),(8)に基づく関数f(R,
Dmb)から量子化幅q_scaleを求める(ステップ11
0)。 Dmb<D0の場合 f(R,Dmb)=1 …(4) D0≦Dmb<D1の場合 f(R,Dmb)=q_st×R/(R−K1×Dmb) …(5) D1≦Dmb<D2の場合 f(R,Dmb)=q_st×R/(R−K2×Dmb) …(6) D2≦Dmb<D3の場合 f(R,Dmb)=q_st×R/(R−K3×Dmb)−K4 …(7) Dmb≧D3の場合 f(R,Dmb)=31 …(8) ただし、上式(4),(5),(6),(7),(8)
に基づく関数f(R,Dmb)の特性を示す図8のグラフ
から明らかな様に、D0<D1<D2<D3であって、D0
=−400000、D1=0、D2=600000、D3
=1200000である。また、K1は、Dmb=D0のと
きにf(R,Dmb)=1となる様な値に設定され、K2
は、Dmb=2近辺でf(R,Dmb)=9となる様な値に
設定され、K3,K4は、Dmb=D2のときにf(R,Dm
b)=9となり、かつDmb=D3近辺でf(R,Dmb)=
31に近い値となる様な値に設定される。ここでは、K
1=37.5、K2=1.67、K3=2.0、K4=1.
0とする。これによって、f(R,Dmb)の特性曲線F
が連続的に変化するものとなる。
【0055】こうして量子化幅q_scale=f(R,Dm
b)を求めると、制御回路5は、量子化幅q_scaleの少
数点以下を四捨五入してから、この量子化幅q_scaleを
重みづけ量子化部処理部15に与える(ステップ11
1)。重みづけ量子化処理部15は、量子化幅q_scale
に応じてDCT変換により得られた各変換係数を量子化
し、これにより得た量子化データを可変長符号化処理部
16に出力する。可変長符号化処理部16は、量子化デ
ータを可変長符号化して、圧縮符号化された画像データ
を形成する。
【0056】以降同様に、ステップ102〜111の処
理を繰り返し、各マクロブロックが順次符号化され、そ
の度に、1マクロブロック当たりの実際のビット発生量
Bmbを求め、これまでの符号化によって累積したビット
発生誤差Dmbを求め、このビット誤差Dmbを関数f
(R,Dmb)に代入して量子化幅q_scaleを求め、この
量子化幅q_scaleに応じてDCT変換により得られた各
変換係数を量子化し、この量子化データを可変長符号化
して、圧縮符号化された画像データを形成する。
【0057】また、各ステップ102〜111の処理を
繰り返すうちに、ビット発生誤差Dmbがしきい値D4を
越えれば(ステップ108,Yes)、つまり実際のビッ
ト発生量Bmbが目標ビット発生量Tmbよりも非常に大き
く、ピクチャーを符号化するために各ビットを使い過ぎ
て不足している状態になっていれば、VBVバッファが
アンダーフローになる可能性があるので、アンダーフロ
ー回避信号を重みづけ量子化部処理部15に出力する
(ステップ109)。これに応答して、重みづけ量子化
部処理部15は、マクロブロックのDC成分のみを符号
化し、画像データの符号量を減少させる。これによっ
て、各ビットの使い過ぎが緩和され、実際のビット発生
量Bmbが目標ビット発生量Tmbに近づく。
【0058】ここで、図8のグラフから明らかな様に、
D0≦Dmb<D1の場合には、つまりビット発生誤差Dmb
がVBVバッファのサイズVBV_sizeの略1/2付近
で変化する場合には、量子化幅q_scaleの変化が小さく
なっている。例えば、量子化幅q_scaleが6付近では、
ビット発生誤差Dmbが300Kbit程度増減したとして
も、量子化幅q_scaleの変化は、1程度である。
【0059】したがって、ビット発生誤差Dmbがその付
近で変化する限り、量子化幅q_scaleが略一定に保た
れ、1マクロブロック当たりの実際のビット発生量Bmb
の増減は、該マクロブロックの情報量の大きさに依存す
る。このため、基準量子化幅q_st(=6)を適宜に設
定しておけば、1ピクチャーの各マクロブロックの後半
と前半で情報量が増減しても、各マクロブロックに対し
て最適のビット発生量を与えることができ、1ピクチャ
ーの符号化に費やされるビット発生量の不足や余剰を防
止することができる。
【0060】また、1ピクチャーの符号化に費やされる
ビット発生量の増減も、該ピクチャーの情報量の大きさ
に依存するため、基準量子化幅q_st(=6)を適宜に
設定しておけば、各ピクチャーに対して最適のビット発
生量を与えることができる。
【0061】また、量子化幅q_scaleが比較的大きな値
となる領域では、1ピクチャーの符号化に費やされるビ
ット発生量に対する量子化幅q_scaleの変化の影響が小
さくなるので、比較的複雑な映像のピクチャーを符号化
しても、目標ビットレートを保つことができる。
【0062】また、ビット発生誤差Dmbに基づいて量子
化幅q_scaleを決定しているため、シーンチェンジ直後
のピクチャーを符号化するときにも、ピクチャーIを符
号化するときと略同様の量子化幅q_scaleで、この量子
化幅q_scaleを大きく変化させずに、符号化を行うこと
ができ、シーンチェンジ直後でも、再生画像の画質の劣
化が小さくなる様に、映像信号を符号化することができ
る。
【0063】以上の説明から明らかな様に、上記実施形
態においては、各マクロブロックの符号化の度に、それ
までの符号化に費やしたビット発生量と目標ビットレー
トより換算される目標ビット発生量の差であるビット発
生誤差Dmbを算出し、このビット発生誤差Dmbに比例し
た値を目標ビットレートより減算した値と目標ビットレ
ートとの比に基づき量子化幅q_scaleを決定している。
【0064】映像を符号化する際、同じ映像について
は、量子化幅q_scaleと符号化に費やされるビット発生
量の積がほぼ一定になるといわれており、量子化幅q_s
caleを導く関数f(R,Dmb)を設定した場合には、略
同じ各映像を順次符号化するのに費やされるそれぞれの
ビット発生量は、上記積がほぼ一定となる様に量子化幅
q_scaleに対応して変動し、目標ビット発生量からビッ
ト発生誤差Dmbの定数倍したものを差し引いた値に設定
されることになる。したがって、1次のフィードバック
制御によって符号化に費やされるビット発生量を制御す
ることと同様に、符号化に費やされるビット発生量を目
標ビット発生量に制御することができる。
【0065】また、D0≦Dmb<D1の場合には、量子化
幅q_scaleが6〜9付近で変化する様に、係数K1を小さ
く設定しているので、この量子化幅q_scale6〜9の範
囲では、符号化に費やされるビット発生量が変動して、
ビット発生誤差Dmbが増減し易く、VBVバッファのサ
イズVBV_sizeが有効に利用される。これによって、
復号化装置側の能力が一杯に利用されるまで、シーンチ
ェンジや激しい映像の動きによる情報量の増加に応じて
符号化に費やされるビット発生量を増加させることがで
きる。
【0066】従来においては、各ピクチャー毎に目標ビ
ット発生量を設定し、ピクチャー内の各マクロブロック
を符号化する度に、マクロブロックの符号化に費やされ
るビット発生量が一定に近づくような制御を行っていた
ため、ピクチャー内での映像の複雑さの分布によって、
単純な絵柄の符号化直後のマクロブロックの量子化幅が
小さめとなり、複雑な絵柄の符号化直後のマクロブロッ
クの量子化幅が大きめになり、再生画像の画質が不均一
になる傾向にあった。
【0067】これに対して、本実施形態では、ピクチャ
ーよりはるかに大きい容量を有するVBVバッファのサ
イズを有効に利用して、符号化に費やされるビット発生
量が変動する様な制御を行っているので、ピクチャー内
での映像の複雑さの分布が原因となって再生画像の画質
が不均一になることを防止することができる。
【0068】また、本実施形態においては、目標ビット
レートの制御とVBVバッファの制御をわかり易く説明
するために、ビット発生誤差DmbとVBVバッファの占
有量VBV_fullnessの両方を用いて説明したが、これ
らは、ピクチャーの符号化直後において次式(9)の関
係にあり、一方から他方を導くことができる。 VBV_fullness=(VBV_fullnessの初期値)−Dmb …(9) したがって、式(9)を用いれば、ビット発生誤差Dmb
のみによって、全ての処理、つまりオーバーフローを回
避するためのスタッフィング処理(ステップ104)、
アンダーフロー回避処理(ステップ109)等が可能で
あり、本発明は、これを含むものである。また、同様
に、VBV_fullnessのみによって、全ての処理が可能
である。
【0069】換言すれば、従来においては、目標ビット
レートの制御とVBVバッファの制御を別々に行う必要
があったが、本発明においては、ビット発生誤差Dmbと
占有量VBV_fullnessのうちの1つのパラメータのみ
よる統一的な制御を可能にしている。
【0070】なお、本実施形態においては、VBVバッ
ファのサイズVBV_sizeをMPEG2のMP@ML規
格で規定されたものとしているが、VBVバッファのサ
イズVBV_sizeを変更してもよく、そのサイズの範囲
で、占有量VBV_fullnessが制御される様に、量子化
幅q_scaleを導出する関数を定めれば良い。
【0071】また、目標ビットレートR(bps)を3
Mbpsに設定しているが、他のビットレートであって
も、本実施形態と同じ手法を適用することができる。
【0072】更に、MPEG2の符号化装置を例示して
いるが、これに類する符号化装置並びに符号化方法にお
いても、本発明を適用することができる。
【0073】また、本実施形態では、D0≦Dmb<D1の
場合には、量子化幅q_scaleが6〜9付近で変化する様
に、係数K1を小さく設定したが、予想される映像信号
の符号化の難易度が低かったり(例えば、映画などの場
合は、比較的符号化が容易であって、量子化幅q_scale
を小さめに設定することができる)、再生画像に要求さ
れる画質が低ければ、しきい値D2付近での量子化幅q_s
caleを8程度に設定してもよい。また、例えば目標ビッ
トレートが4Mbps程度である場合には、D1〜D2の
範囲での量子化幅q_scaleの変化を5〜7程度に設定し
ても良く、規格で定められたデフォルトの量子化マトリ
クス、もしくは該量子化マトリクスに近い値のものを用
いる場合は、D1〜D2の範囲で、量子化幅q_scaleを1
0を超えない程度に設定すれば良い。更に、各しきい値
D0,D1,D2,D3,D4を数百Kbit程度の範囲でずら
すことが可能である。要するに、本発明においては、上
記実施形態における量子化幅q_scaleや、各しきい値D
0,D1,D2,D3,D4に限られるものではなく、これ
らの値を適宜に変更することができる。
【0074】図9は、量子化幅q_scaleを導くための他
の関数f(R,Dmb)の特性を示している。ただし、基
準量子化幅q_stを5に設定している。
【0075】この図9に示す関数f(R,Dmb)の特性
は、次式(10),(11),(12),(13)によ
って表される。
【0076】 Dmb<D0の場合 f(R,Dmb)=1 …(10) D0≦Dmb<D1の場合 f(R,Dmb)=q_st×R/(R−K1×Dmb) …(11) D1≦Dmb<D2の場合 f(R,Dmb)=q_st×R/(R−K2×Dmb) …(12) Dmb≧D2の場合 f(R,Dmb)=31 …(13) K1は、Dmb=−1000000のときにf(R,Dmb)
=1となる様な値に設定され、K2は、Dmb=6000
00のときにf(R,Dmb)=31となる様に設定され
る。
【0077】図9の特性では、おもに静止しているかあ
るいは動きの小さな映像を含む一連のピクチャーや、シ
ーンチェンジが頻繁に起こる一連のピクチャーについて
効果が高い設定になっている。
【0078】このような一連のピクチャーにおいて、従
来の符号化方法を適用すると、符号化に費やされるビッ
ト発生量がピクチャーIに極端に集中し、その外のピク
チャーではビット発生量の割り当てが少なくなって、V
BVバッファの占有量VBV_fullnessが高くなり、ス
タッフィング処理が起こりがちである。
【0079】このため、ここでは、主に、D0からD1の
範囲に対応する量子化幅q_scaleで符号化することを想
定している。したがって、静止に近い映像でピクチャー
IがD0付近に対応する量子化幅q_scaleで符号化され、
符号化に費やされるビット発生量が非常に大きくなった
としても、なお低い量子化幅q_scaleを維持することが
できる。また、GOPの途中でシーンチェンジが発生し
ても、D0からD1の範囲においては、量子化幅q_scale
の変化量が小さいので、そのピクチャーの複雑さに応じ
て各ビットが割り当てられる。
【0080】この様に符号化されるピクチャーに傾向が
ある場合には、各しきい値D0,D1,D2、及び各係数
K1,K2を適宜に設定し、その傾向に適した関数f
(R,Dmb)の特性を求めることが有効である。
【0081】また、量子化幅q_scaleの最低値を1に設
定したが、再生画像の均一性を重視する場合には、量子
化幅q_scaleの最低値を2以上にして、量子化幅q_scale
の変動を小さく設定することが有効である。
【0082】また、量子化幅q_scaleを導く関数f
(R,Dmb)において、多数のしきい値D0,D1,……
を設定して、各しきい値間の各範囲を細かく分けて、こ
れらの範囲毎に、各係数K1,K2,……を適宜に設定し
て、量子化幅q_scaleも導いても良い。更に、各しきい
値間の各範囲を細かく分けた場合は、各範囲毎に、量子
化幅q_scaleの特性を直線に近似させて、量子化幅q_sca
leの算出に必要な演算量を減らしても良い。また、各し
きい値の大きさについても、許容できる再生画像の画質
に応じて変更しても良い。
【0083】図10は、本発明の第2実施形態における
符号化処理を示すフローチャートである。この符号化処
理は、図1、図3及び図5に示す符号化処理装置におい
て行われる。
【0084】図10のフローチャートの処理は、図6の
フローチャートの処理における各ステップ101及び1
10を各ステップ101A,110Aに置き換えたもの
であり、他の各ステップ102〜109及び111が図
6のフローチャートの処理と共通する。
【0085】つまり、図10のフローチャートの処理
は、図6のフローチャートの処理と比較して、ステップ
101Aにおける各パラメータの初期化処理、及びステ
ップ110Aにおける量子化幅q_scaleの導出処理のみ
が異なる。このステップ101Aを図11のフローチャ
ートに従って次に説明する。
【0086】まず、レート制御部3の制御回路5は、目
標ビットレートR(bps)を予め定められた値に設定
し、VBVバッファのサイズを1835008ビットに
設定し、ビット発生誤差Dmbを0に設定し、占有量VB
V_fullnessを1335008ビットに設定する(ステ
ップ301)。
【0087】次に、制御回路5は、目標ビットレートR
をフレームレートで割ることによって、1ピクチャー当
たりの目標ビット発生量Tpicを求めると共に、目標ビ
ットレートRをフレームレートと1ピクチャー内の各マ
クロブロックの数で割ることによって、1マクロブロッ
ク当たりの目標ビット発生量Tmbを求める(ステップ3
02)。
【0088】引き続いて、制御回路5は、目標ビットレ
ートRが3Mbps未満であれば(ステップ303,Ye
s)、基準量子化幅q_stを6に設定し(ステップ30
4)、目標ビットレートR(bps)が6Mbps未満
であれば(ステップ305,Yes)、基準量子化幅q_st
を5に設定し(ステップ306)、目標ビットレートR
(bps)が6Mbps以上であれば(ステップ30
5,No)、基準量子化幅q_stを4に設定する(ステッ
プ307)。
【0089】こうして目標ビットレートRに応じて基準
量子化幅q_stを設定した後に、制御回路5は、目標ビ
ットレートR及び基準量子化幅q_stを次式(14),
(15),(16),(17)に代入して、各係数K
1,K2,K3,K4を求め、更に、これらの係数K1,K
2,K3,K4、目標ビットレートR及び基準量子化幅q_
stを次式(18),(19),(20)に代入して、関
数f(R,Dmb)を設定する(ステップ308)。 K1=R×(q_st−2)/(2×500000) …(14) K2=3R/((q_st+3)×500000) …(15) K3=R×(70−q_st)/(70×800000) …(16) K4=q_st×R/(R−K3×500000) −q_st×R/(R−K2×500000) …(17) Dmb<0の場合 f(R,Dmb)=q_st×R/(R−K1×Dmb) …(18) 0≦Dmb<500000の場合 f(R,Dmb)=q_st×R/(R−K2×Dmb) …(19) Dmb>500000の場合 f(R,Dmb)=q_st×R/(R−K3×Dmb)−K4 …(20) ただし、関数f(R,Dmb)から導かれる量子化幅q_sc
aleの小数点以下を四捨五入する。また、量子化幅q_sca
leが1以下の場合は、量子化幅q_scaleを1に設定し、
量子化幅q_scaleが31以上の場合は、量子化幅q_scale
を31に設定する。
【0090】こうして上式(18),(19),(2
0)に示す関数f(R,Dmb)を設定すると、制御回路
5は、各ステップ102〜109,110A,111の
処理を繰り返し、ステップ110Aの度に、該関数f
(R,Dmb)に基づく演算を行って、量子化幅q_scale
を更新する。
【0091】この様に目標ビットレートRに応じて基準
量子化幅q_stを適宜に設定すれば、目標ビットレートR
に応じた安定した画質の再生画像を得ることができる。
例えば、目標ビットレートが3Mbps未満と低い場合
は、平均的な量子化幅が大きくなるので、この平均的な
量子化幅の近辺で、量子化幅が小さな変化率で変化する
様な関数f(R,Dmb)を設定すれば、画質が安定す
る。同様に、目標ビットレートが6Mbps未満と高い
場合は、平均的な量子化幅が小さくなるので、この平均
的な量子化幅の近辺で、量子化幅が小さな変化率で変化
する様な関数f(R,Dmb)を設定すれば、再生画像の
画質が安定する。
【0092】図12は、本発明の第3実施形態における
符号化処理を示すフローチャートである。この符号化処
理は、図1、図3及び図5に示す符号化処理装置におい
て行われる。
【0093】図12のフローチャートの処理は、図6の
フローチャートの処理における各ステップ101及び1
10を各ステップ101B,110Bに置き換え、更に
ステップ401を加えたものであり、他の各ステップ1
02〜109及び111が図6のフローチャートの処理
と共通する。
【0094】したがって、図12のフローチャートの処
理は、図6のフローチャートの処理と比較して、ステッ
プ101Bにおける各パラメータの初期化処理、及びス
テップ110Bにおける量子化幅q_scaleの導出処理が
異なり、更にステップ401における係数K5の更新処
理が異なる。
【0095】ステップ101Bにおいて、レート制御部
3の制御回路5は、目標ビットレートR(bps)を予
め定められた値に設定し、VBVバッファのサイズを1
835008ビットに設定し、ビット発生誤差Dmbを0
に設定し、占有量VBV_fullnessを935008ビッ
トに設定する。また、目標ビットレートRをフレームレ
ートで割ることによって、1ピクチャー当たりの目標ビ
ット発生量Tpicを求めると共に、目標ビットレートR
をフレームレートと1ピクチャー内の各マクロブロック
の数で割ることによって、1マクロブロック当たりの目
標ビット発生量Tmbを求める。更に、係数K5を0に設
定し、基準量子化幅q_stを3に設定し、直前の量子化
幅last_q及び量子化幅q_scaleを基準量子化幅q_stと
同じ3に共に設定する。
【0096】このステップ101Bは、占有量VBV_f
ullnessを935008ビットに設定した点、係数K5及
び直前の量子化幅last_qと言う2つの新たなパラメー
タを付加した点、及び基準量子化幅q_stを低めの3に
設定した点で、図6のステップ101と異なる。
【0097】この後、制御回路5は、各ステップ102
〜107,401,108,109,110B,111
の処理を繰り返し、その度に、1マクロブロック当たり
の実際のビット発生量Bmbを求め(ステップ106)、
上式(3)に基づいてビット発生誤差Dmbを更新し(ス
テップ107)、係数K5及び直前の量子化幅last_qを
更新し(ステップ401)、ビット発生誤差Dmbがしき
い値D4を越えいないことを確認してから(ステップ1
08,No)、関数f(last_q,K5,Dmb)に基づく演
算を行って、量子化幅q_scaleを更新し(ステップ11
0B)、この量子化幅q_scaleに応じてDCT変換によ
り得られた各変換係数を量子化し(ステップ111)、
量子化データを可変長符号化して、圧縮符号化された画
像データを形成する。
【0098】ステップ401の処理を図13のフローチ
ャートに従って次に説明する。まず、制御回路5は、直
前の量子化幅last_qを1つ前のマクロブロックを符号
化するときに用いた量子化幅q_scaleに更新し(ステッ
プ411)、ビット発生誤差Dmb>500000である
か否かを判定する(ステップ412)。ビット発生誤差
Dmb>500000であれば(ステップ412,Ye
s)、制御回路5は、直前の量子化幅last_qが7以上1
0以下の範囲に入っていることを確認してから(ステッ
プ413,Yes)、係数K5を直前の量子化幅last_q
(7以上10以下)から6を引いた差(1以上4以下)
に更新する(ステップ414)。ただし、直前の量子化
幅last_qが7以上10以下の範囲に入っていなければ
(ステップ413,No)、ステップ414において係数
K5を更新することはない。
【0099】また、ビット発生誤差Dmb>500000
でなければ(ステップ412,No)、制御回路5は、0
≧ビット発生誤差Dmb>−100000かつ係数K5≧
4であるか否かを判定し(ステップ415)、この条件
を満たせば(ステップ415,Yes)、係数K5を3に更
新する(ステップ416)。また、この条件を満たさな
ければ(ステップ415,No)、次のステップ417に
移る。
【0100】このステップ417において、制御回路5
は、−100000≧ビット発生誤差Dmb>−2000
00かつ係数K5≧3であるか否かを判定し、この条件
を満たせば(ステップ417,Yes)、係数K5を2に更
新する(ステップ418)。また、この条件を満たさな
ければ(ステップ417,No)、次のステップ419に
移る。
【0101】このステップ419において、制御回路5
は、−200000≧ビット発生誤差Dmb>−3000
00かつ係数K5≧2であるか否かを判定し、この条件
を満たせば(ステップ419,Yes)、係数K5を1に更
新する(ステップ420)。また、この条件を満たさな
ければ(ステップ419,No)、次のステップ421に
移る。
【0102】このステップ421において、制御回路5
は、ビット発生誤差Dmb<−300000であるか否か
を判定し、この条件を満たせば(ステップ421,Ye
s)、係数K5を0に更新し(ステップ422)、この条
件を満たさなければ(ステップ421,No)、係数K5
を更新しない。
【0103】すなわち、図13のフローチャートの処理
においては、直前の量子化幅last_qを1つ前のマクロ
ブロックを符号化するときに用いた量子化幅q_scaleに
更新している。また、各ステップ412,415,41
7,419,421に示す各数値範囲のいずれにも、ビ
ット発生誤差Dmbが含まれなければ、つまり50000
0≧ビット発生誤差Dmb>0であれば、係数K5を更新
しない。更に、ビット発生誤差Dmb>500000にな
ったときには、直前の量子化幅last_qが7以上10以
下の範囲に入っていることを前提に、係数K5を直前の
量子化幅last_q(7以上10以下)から6を引いた差
(1以上4以下)に更新する。この後、ビット発生誤差
Dmbが0以下に低下したときには、その低下の程度に従
って、係数K5を段階的に0まで戻している。
【0104】こうして直前の量子化幅last_qを更新
し、かつ係数K5を設定した後に、図12のフローチャ
ートのステップ110Bにおいて、関数f(last_q,
K5,Dmb)に基づく演算を行い、量子化幅q_scaleを
更新する。
【0105】図14は、量子化幅q_scaleを導くための
関数f(last_q,K5,Dmb)の特性を示している。
【0106】この図14に示す関数f(last_q,K5,
Dmb)の特性は、次式(21)〜(28)によって表さ
れる。
【0107】 Dmb<0の場合 f(last_q,K5,Dmb)=1800000/(600000−Dmb)+K5 …(21) 0≦Dmb<500000の場合 f(last_q,K5,Dmb)=3000000/(1000000−Dmb)+K5 …(22) Dmb≧500000かつ3000000/(1000000−Dmb)<7かつK5=1の場合 f(last_q,K5,Dmb)=7 …(23) Dmb≧500000かつ3000000/(1000000−Dmb)<8かつK5=2の場合 f(last_q,K5,Dmb)=8 …(24) Dmb≧500000かつ3000000/(1000000−Dmb)<9かつK5=3の場合 f(last_q,K5,Dmb)=9 …(25) Dmb≧500000かつ3000000/(1000000−Dmb)<10かつK5=4の場合 f(last_q,K5,Dmb)=10 …(26) 上記条件以外で、900000≧Dmb≧500000の場合 f(last_q,K5,Dmb)=3000000/(1000000−Dmb) …(27) 上記条件以外で、900000>Dmbの場合 f(last_q,K5,Dmb)=31 …(28) ただし、f(last_q,K5,Dmb)から導かれる量子化
幅q_scaleの小数点以下を四捨五入する。
【0108】ここで、先に述べた様に係数K5を0に初
期設定した後(ステップ101B)、500000≧ビ
ット発生誤差Dmb>0である限り、この係数K5を更新
しないので(ステップ401)、量子化幅q_scaleは、
上式(22)から導出され、図14のグラフにおける特
性F1に沿って変化し、ビット発生誤差Dmb=0のとき
に、基準量子化幅q_st=3に一致する。
【0109】この後に、例えばビット発生誤差Dmb>5
00000となり(ステップ412,Yes)、かつ直前
の量子化幅last_q=10となったときには(ステップ
413)、係数K5を4に更新することになる(ステッ
プ414)。
【0110】次に、量子化幅q_scaleが調整されて、ビ
ット発生誤差Dmbが低下したときには、量子化幅q_scal
eは、上式(26)から導出され、図14のグラフにお
ける特性F9に沿って変化する。更に、500000≧
ビット発生誤差Dmb>0になると、量子化幅q_scale
は、上式(22)から導出されるものの、係数K5を4
に更新したことから、図14のグラフにおける特性F5
に沿って変化する。
【0111】次に、ビット発生誤差Dmbが低下して、0
≧ビット発生誤差Dmb>−100000かつ係数K5≧
4と判定されると(ステップ415,Yes)、係数K5を
3に更新するので(ステップ416)、量子化幅q_scal
eは、上式(22)から導出され、図14のグラフにお
ける特性F4に沿って変化する。
【0112】この後、500000≧ビット発生誤差D
mb>0に戻れば、量子化幅q_scaleは、図14のグラフ
における特性F4に沿って変化する。また、ビット発生
誤差Dmbが更に低下して、ビット発生誤差Dmb<−30
0000であると判定されると(ステップ421,Ye
s)、係数K5を0に更新するので(ステップ422)、
量子化幅q_scaleは、上式(22)から導出され、図1
4のグラフにおける特性F1に沿って変化する。
【0113】以降同様に、ビット発生誤差Dmb>500
000となったときには、直前の量子化幅last_qが7
以上10以下の範囲に入っていることを前提に、係数K
5が大きくなる様に更新し、この後に、500000≧
ビット発生誤差Dmb>0になると、係数K5の大きさに
応じて、各特性F2〜F5のいずれかを選択し、ビット発
生誤差Dmbが小さくなるにつれて、係数K5を段階的に
小さく更新して、特性F1に戻る。
【0114】すなわち、図12のフローチャートの処理
においては、量子化幅q_scaleの特性として、ヒステリ
シスループを描くものを適用している。このため、ピク
チャーの符号化の難易度が高くなって、符号化に費やさ
れるビット発生量が大きくなり、ビット発生誤差Dmbが
増大して、量子化幅q_scaleが十分に大きくなったとき
には、ヒステリシスループの上側の特性曲線に従って、
量子化幅q_scaleが変化するので、この量子化幅q_scale
を大きく維持することができ、再生画像の画質を安定さ
せることができる。
【0115】また、符号化の難易度が極端に高くなって
k5が大きくなった後、シーンチェンジなどによって、
符号化の難易度が比較的低くなったとき、ビット発生誤
差Dmbが急激に減少し、ビット発生誤差Dmb<0の領域
で、量子化幅q_scaleが急激に減少するものの、この後
の増加の方向では、量子化幅q_scaleの変化率が小さく
なるので、画質が向上してから、この画質が安定に維持
される。
【0116】この様に符号化の難易度が低い場合は、量
子化幅を小さく設定して、再生画像の画質を安定に保
ち、また難易度が高い場合には、量子化幅を大きくし
て、これを維持することによって、再生画像の画質を安
定させているので、目標ビットレート毎に、量子化幅を
導く関数を変更する必要がなく、符号化の難易度に応じ
て画質が安定する様な符号化が行える。
【0117】なお、第3実施形態では、量子化幅を導く
関数として、上式で示したような特性曲線を導くものと
したが、量子化幅を導く特性として、ヒステリシスルー
プを描くものであれば、特性曲線を直線に近似してもよ
い。ここでは、ヒステリシス特性となる条件として、量
子化幅とビット発生誤差を用いているが、量子化幅とビ
ット発生誤差の関係に基づいて、一方から他方を導くこ
とができるので、いずれか一方のみを用いても良い。
【0118】
【発明の効果】以上の説明から明らかな様に、本発明に
よれば、実際のビット発生量と前記目標ビット発生量の
差であるビット発生誤差を求めて、このビット発生誤差
に対応する量子化幅を求めており、前記ビット発生誤差
の予め定められた範囲においては、ビット発生誤差の変
化に対して量子化幅が小さく変化する特性を設定し、こ
の特性に基づいてビット発生誤差に対する量子化幅を求
めている。このため、ビット発生誤差の予め定められた
範囲において該ビット発生誤差が変化している状態で
は、量子化幅が大きく変化せず、GOP内の各ピクチャ
ーI,P,Bのいずれに対しても、それぞれの適切な目
標ビット発生量が割り当てられ、これらのピクチャーに
対応する各再生画像の画質が安定する。また、1つのピ
クチャーにおいても、ビット発生誤差の予め定められた
範囲において該ビット発生誤差が変化している限り、適
切な量子化幅を設定して、各マクロブロックの符号化の
難易度に応じて適切なそれぞれのビット発生量を該各マ
クロブロックに割り当てることができる。
【図面の簡単な説明】
【図1】本発明の画像圧縮符号化装置の第1実施形態例
を示すブロック図
【図2】映像信号の符号化処理の概略を説明するために
用いた図
【図3】図1の装置における基本符号化処理部を示すブ
ロック図
【図4】映像信号を固定レートで符号化するときのVB
Vバッファ中のデータ占有量を示す図
【図5】図1の装置におけるレート制御部を示すブロッ
ク図
【図6】図1の装置における符号化処理を示すフローチ
ャート
【図7】図6の符号化処理におけるステップ104のス
タッフィング処理を示すフローチャート
【図8】図1の装置における量子化幅q_scaleを導くた
めの関数f(R,Dmb)の特性を示すグラフ
【図9】図1の装置における量子化幅q_scaleを導くた
めの他の関数f(R,Dmb)の特性を示すグラフ
【図10】本発明の第2実施形態における符号化処理を
示すフローチャート
【図11】図10の符号化処理におけるステップ101
Aの初期化処理を示すフローチャート
【図12】本発明の第3実施形態における符号化処理を
示すフローチャート
【図13】図12の符号化処理におけるステップ401
の処理を示すフローチャート
【図14】第3の実施例における量子化幅q_scaleを導
くための関数関数f(last_q,K5,Dmb)の特性を示
すグラフ
【符号の説明】
1 基本符号化処理部 2 エンコーダ送出バッファ 3 レート制御部 4 MBビットカウンタ 5 制御回路 11 画像並び替え部 12 走査変換処理部 13 差分部 14 DCT変換処理部 15 重みづけ量子化処理部 16 可変長符号化処理部 17 逆量子化部 18 逆DCT処理部 19 動き補償付き予測処理部 20 モード判定部 21 動き検出処理部 22 加算処理部

Claims (14)

    (57)【特許請求の範囲】
  1. 【請求項1】 映像信号を符号化するときの量子化幅を
    求め、この量子化幅に基づいて該映像信号を符号化する
    画像圧縮符号化装置であって、 前記映像信号の符号化に費やされた実際のビット発生量
    を求めると共に、目標ビットレートに応じた目標ビット
    発生量を求め、前記実際のビット発生量と前記目標ビッ
    ト発生量の差であるビット発生誤差を求めて、このビッ
    ト発生誤差に対応する量子化幅を求めており、前記ビッ
    ト発生誤差の予め定められた範囲においては、ビット発
    生誤差の変化に対して量子化幅が小さく変化する特性を
    設定し、この特性に基づいてビット発生誤差に対する量
    子化幅を求める制御手段を備える画像圧縮符号化装置。
  2. 【請求項2】 基準量子化幅が予め定められており、 制御手段は、目標ビットレートからビット発生誤差に対
    応する値を差し引いた値と該目標ビットレートの比を求
    めて、この比と前記基準量子化幅を積算し、この積に基
    づいて映像信号を符号化するときの量子化幅を求める請
    求項1に記載の画像圧縮符号化装置。
  3. 【請求項3】 制御手段は、目標ビットレートに基づい
    て基準量子化幅を求め、ビット発生誤差の予め定められ
    た範囲においては、ビット発生誤差の変化に対して量子
    化幅が前記基準量子化幅近傍で小さく変化する特性を設
    定し、この特性に基づいてビット発生誤差に対する量子
    化幅を求める請求項1に記載の画像圧縮符号化装置。
  4. 【請求項4】 ビット発生誤差の予め定められた範囲及
    び該範囲の近傍においては、ビット発生誤差の変化に対
    する量子化幅の変化の特性がヒステリシスループを描く
    請求項1に記載の画像圧縮符号化装置。
  5. 【請求項5】 映像信号を符号化してなる各画像データ
    を順次入力して、これらの画像データを順次出力する仮
    想バッファを想定した場合は、この仮想バッファの占有
    量がビット発生誤差に対応し、この仮想バッファの占有
    量が0近傍になると、量子化幅が急峻に最大値に近づ
    き、かつビット発生誤差の変化に対して小さく変化する
    該量子化幅の特性に連なる様に、該量子化幅が連続的に
    変化する請求項1に記載の画像圧縮符号化装置。
  6. 【請求項6】 ビット発生誤差の複数の範囲が予め定め
    られ、これらの範囲毎に、ビット発生誤差の変化に対す
    る量子化幅の変化を示す特性が設定され、 制御手段は、前記各範囲のうちからビット発生誤差の入
    る範囲を選択して、この範囲の特性に基づいて、ビット
    発生誤差に対する量子化幅を求める請求項1に記載の画
    像圧縮符号化装置。
  7. 【請求項7】 MPEG規格に準拠して、映像信号をマ
    クロブロック単位で量子化幅に基づいて符号化してお
    り、 制御手段は、マクロブロック毎に、ビット発生誤差に対
    応する量子化幅を求める請求項1に記載の画像圧縮符号
    化装置。
  8. 【請求項8】 映像信号を符号化するときの量子化幅を
    求め、この量子化幅に基づいて該映像信号を符号化する
    画像圧縮符号化方法であって、 前記映像信号の符号化に費やされた実際のビット発生量
    を求めると共に、目標ビットレートに応じた目標ビット
    発生量を求め、前記実際のビット発生量と前記目標ビッ
    ト発生量の差であるビット発生誤差を求めて、このビッ
    ト発生誤差に対応する量子化幅を求めており、前記ビッ
    ト発生誤差の予め定められた範囲においては、ビット発
    生誤差の変化に対して量子化幅が小さく変化する特性を
    設定し、この特性に基づいてビット発生誤差に対する量
    子化幅を求める画像圧縮符号化方法。
  9. 【請求項9】 基準量子化幅が予め定められており、目
    標ビットレートからビット発生誤差に対応する値を差し
    引いた値と該目標ビットレートの比を求めて、この比と
    前記基準量子化幅を積算し、この積に基づいて映像信号
    を符号化するときの量子化幅を求める請求項8に記載の
    画像圧縮符号化方法。
  10. 【請求項10】 目標ビットレートに基づいて基準量子
    化幅を求め、ビット発生誤差の予め定められた範囲にお
    いては、ビット発生誤差の変化に対して量子化幅が前記
    基準量子化幅近傍で小さく変化する特性を設定し、この
    特性に基づいてビット発生誤差に対する量子化幅を求め
    る請求項8に記載の画像圧縮符号化方法。
  11. 【請求項11】 ビット発生誤差の予め定められた範囲
    においては、ビット発生誤差の変化に対する量子化幅の
    変化の特性がヒステリシスループを描く請求項8に記載
    の画像圧縮符号化方法。
  12. 【請求項12】 映像信号を符号化してなる各画像デー
    タを順次入力して、これらの画像データを順次出力する
    仮想バッファを想定した場合は、この仮想バッファの占
    有量がビット発生誤差に対応し、この仮想バッファの占
    有量が0近傍になると、量子化幅が急峻に最大値に近づ
    き、かつビット発生誤差の変化に対して小さく変化する
    該量子化幅の特性に連なる様に、該量子化幅が連続的に
    変化する請求項8に記載の画像圧縮符号化方法。
  13. 【請求項13】 ビット発生誤差の複数の範囲が予め定
    められ、これらの範囲毎に、ビット発生誤差の変化に対
    する量子化幅の変化を示す特性が設定され、前記各範囲
    のうちからビット発生誤差の入る範囲を選択して、この
    範囲の特性に基づいて、ビット発生誤差に対する量子化
    幅を求める請求項8に記載の画像圧縮符号化方法。
  14. 【請求項14】 MPEG規格に準拠して、映像信号を
    マクロブロック単位で量子化幅に基づいて符号化してお
    り、マクロブロック毎に、ビット発生誤差に対応する量
    子化幅を求める請求項8に記載の画像圧縮符号化方法。
JP25908797A 1996-09-25 1997-09-24 画像圧縮符号化装置及び方法 Expired - Fee Related JP3151173B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25908797A JP3151173B2 (ja) 1996-09-25 1997-09-24 画像圧縮符号化装置及び方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP25259196 1996-09-25
JP8-252591 1996-09-25
JP25908797A JP3151173B2 (ja) 1996-09-25 1997-09-24 画像圧縮符号化装置及び方法

Publications (2)

Publication Number Publication Date
JPH10155152A JPH10155152A (ja) 1998-06-09
JP3151173B2 true JP3151173B2 (ja) 2001-04-03

Family

ID=26540799

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25908797A Expired - Fee Related JP3151173B2 (ja) 1996-09-25 1997-09-24 画像圧縮符号化装置及び方法

Country Status (1)

Country Link
JP (1) JP3151173B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3259702B2 (ja) 1998-12-24 2002-02-25 日本電気株式会社 動画像可変ビットレート符号化装置および方法
JP4170555B2 (ja) * 2000-02-28 2008-10-22 株式会社東芝 映像符号化装置及び映像符号化方法
WO2001082605A1 (en) * 2000-04-21 2001-11-01 Sony Corporation Encoding device and method, recorded medium, and program
JP5197329B2 (ja) * 2008-11-28 2013-05-15 キヤノン株式会社 符号化装置及び符号化方法
US10812790B2 (en) 2016-04-19 2020-10-20 Sony Corporation Data processing apparatus and data processing method
CN114513664B (zh) * 2022-04-18 2022-07-22 鹏城实验室 视频帧编码方法、装置、智能终端及计算机可读存储介质

Also Published As

Publication number Publication date
JPH10155152A (ja) 1998-06-09

Similar Documents

Publication Publication Date Title
US6094455A (en) Image compression/encoding apparatus and system with quantization width control based on bit generation error
US7426309B2 (en) Method of controlling encoding rate, method of transmitting video data, encoding rate controller for video encoder, and video data transmission system using the encoding rate controller
KR100319994B1 (ko) 동화상부호화장치
KR100471956B1 (ko) 화상압축부호화장치및방법
KR100970315B1 (ko) 트랜스코더 및 부호화 화상 변환 방법
KR100610520B1 (ko) 비디오 데이터 부호화 장치, 비디오 데이터 부호화 방법, 비디오데이터 전송 장치 및 비디오 데이터 기록 매체
US7388995B2 (en) Quantization matrix adjusting method for avoiding underflow of data
EP1067798A2 (en) Apparatus, method and computer program product for transcoding a coded moving picture sequence
US7826530B2 (en) Use of out of order encoding to improve video quality
US5717464A (en) Rate control for a video encoder
JP3259702B2 (ja) 動画像可変ビットレート符号化装置および方法
JP2004274236A (ja) 符号化装置および符号化方法、プログラム、並びに記録媒体
JP3151173B2 (ja) 画像圧縮符号化装置及び方法
JP2000261800A (ja) 動画像可変ビットレート符号化方法および装置
JP3173369B2 (ja) 画像圧縮符号化装置
JP2001145102A (ja) 動画像圧縮符号化信号変換方法、装置および変換プログラムを記録した媒体
Lee et al. A rate control algorithm for DCT-based video coding using simple rate estimation and linear source model
JP3218994B2 (ja) 画像符号化方法および装置
Kim et al. An accurate bit-rate control for real-time MPEG video encoder
JP3902948B2 (ja) 動画像符号化装置
JP4186543B2 (ja) 符号化装置および符号化方法、プログラム、並びに記録媒体
JP4718736B2 (ja) 動画像符号化装置
JP2005109778A (ja) 画像符号化装置およびその量子化制御方法
JP4228739B2 (ja) 符号化装置および符号化方法、プログラム、並びに記録媒体
JP4035747B2 (ja) 符号化装置および符号化方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20001228

LAPS Cancellation because of no payment of annual fees