(57)【要約】【課題】映像の時間相関が低い場合でも、画質を均一に保つことができる画像符号化を実現する。【解決手段】画像複雑度算出部２は、入力画像のうち予測対象領域に含まれる各ブロックの予測符号化により発生する符号量を表す複雑度を入力画像の画素値を用いて算出し、符号量割当部３は、算出されたブロック毎の複雑度と予測対象領域に予め設定された許容符号量とをもとに複数のブロックの各々に対する符号量を割り当てる。量子化パラメータ算出部４は、予測されたブロック毎の複雑度と割り当てられたブロック毎の符号量とに基づいて複数のブロックの各々に対応する量子化パラメータを決定し、決定されたブロック毎の量子化パラメータを用いて複数のブロックの各々を符号化する。仮想バッファ算出部１３は、符号化されたデータを伝送バッファ１２に蓄積した後のバッファの占有量をもとに次の予測対象領域に対する許容符号量を再設定する。【選択図】      図１
2010016467.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を一定の画素領域からなるブロック単位で予測符号化してバッファを介して出力する画像符号化装置であって、
前記入力画像のうち予測対象領域に含まれる複数のブロックの各々の予測符号化により発生する符号量を表す複雑度を前記入力画像の画素値を用いて算出する手段と、
前記算出されたブロック毎の複雑度と、前記予測対象領域に予め設定された許容符号量とをもとに前記複数のブロックの各々に対する符号量を割り当てる手段と、
前記予測されたブロック毎の複雑度と前記割り当てられたブロック毎の符号量とに基づいて前記複数のブロックの各々に対応する符号化パラメータを決定する手段と、
前記決定されたブロック毎の符号化パラメータを用いて前記複数のブロックの各々を符号化する手段と、
前記符号化されたデータを前記バッファに蓄積した後の前記バッファの占有量をもとに次の予測対象領域に対する前記許容符号量を再設定する手段と
を具備することを特徴とする画像符号化装置。
【請求項２】
入力画像を一定の画素領域からなるブロック単位で予測符号化してバッファを介して出力する画像符号化装置に用いられる画像符号化方法であって、
前記入力画像のうち予測対象領域に含まれる複数のブロックの各々の予測符号化により発生する符号量を表す複雑度を前記入力画像の画素値を用いて算出し、
前記算出されたブロック毎の複雑度と、前記予測対象領域に予め設定された許容符号量とをもとに前記複数のブロックの各々に対する符号量を割り当て、
前記予測されたブロック毎の複雑度と前記割り当てられたブロック毎の符号量とに基づいて前記複数のブロックの各々に対応する符号化パラメータを決定し、
前記決定されたブロック毎の符号化パラメータを用いて前記複数のブロックの各々を符号化し、
前記符号化されたデータを前記バッファに蓄積した後の前記バッファの占有量をもとに次の予測対象領域に対する前記許容符号量を再設定することを特徴とする画像符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像を符号化するための画像符号化装置及び画像符号化方法に関する。
【背景技術】
【０００２】
ＭＰＥＧ−２（Moving Picture Experts Group，ISO/IEC 13818-1）、Ｈ．２６４（ISO/IEC 14496-10）等で知られる映像符号化方式では、入力映像の絵柄や符号化方法によって必要とする符号量が変化する。そのため映像符号化技術を用いた映像伝送システムでは、符号化ストリームの順次再生を実現するため、符号量変動を吸収できるバッファが必要となる。
【０００３】
有限なバッファサイズで順次再生を行うためには、バッファが破綻しない範囲内で符号量変動を制御する必要がある。符号量制御は、量子化パラメータを変化させることにより実現する。バッファ占有量が多くなれば量子化パラメータを高く、逆に占有量が少なくなれば量子化パラメータを小さく設定し発生符号量を制御する。例えば、ＭＰＥＧ−２  ＴＭ５が符号量制御技術としてよく知られている（非特許文献１を参照。）。
【０００４】
従来方式における符号量制御方式では、ＧＯＰ（Group of Picture）単位の符号量が一定となるよう制御を行う。またＧＯＰ内のフレームまたはフィールド（以後ピクチャ）単位の符号量は、ピクチャ毎の符号化方法に応じて符号量を配分する。ピクチャ内のマクロブロック単位の符号量は、ピクチャに割り当てられた符号量を等分する。
【０００５】
ここで、マクロブロック単位の符号量は、絵柄によって変動する。マクロブロック毎に変動する符号量を一定化するためには、量子化パラメータを変動させる必要があるが、この量子化パラメータの変動によって、ピクチャ内の画質が不均一となる問題があった。
【０００６】
これに対し、特許文献１においては、映像の時間相関を利用し、過去に符号化したピクチャの発生符号量及び量子化パラメータから、符号化対象ピクチャの符号量変動を予測し、符号量変動に応じた符号量割当を行うことにより、量子化パラメータの変動を抑え、画質の均一化を実現している。
【特許文献１】特開平６−１９７３２９公報
【非特許文献１】MPEG-2 TM5 Chapter.10 RATE CONTROL AND QUANTIZATION CONTROL(http://www.mpeg.org/MPEG/MSSG/tm5/Ch10/Ch10.html）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところが、上記特許文献１による方式では、シーンチェンジやカメラの急激なパン等、映像の時間相関が著しく低い場合、符号量変動の予測が大きく外れるため、量子化パラメータを大きく変動させる必要がある。そのため、従来技術においては、映像の時間相関が著しく低い場合には、画質の均一化を実現することができなかった。
【０００８】
この発明は上記事情に着目してなされたもので、映像の時間相関が低い場合でも、画質を均一に保つことができる画像符号化装置及び画像符号化方法を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するためにこの発明に係る画像符号化装置は、入力画像を一定の画素領域からなるブロック単位で予測符号化してバッファを介して出力する画像符号化装置であって、前記入力画像のうち予測対象領域に含まれる複数のブロックの各々の予測符号化により発生する符号量を表す複雑度を前記入力画像の画素値を用いて算出する手段と、前記算出されたブロック毎の複雑度と、前記予測対象領域に予め設定された許容符号量とをもとに前記複数のブロックの各々に対する符号量を割り当てる手段と、前記予測されたブロック毎の複雑度と前記割り当てられたブロック毎の符号量とに基づいて前記複数のブロックの各々に対応する符号化パラメータを決定する手段と、前記決定されたブロック毎の符号化パラメータを用いて前記複数のブロックの各々を符号化する手段と、前記符号化されたデータを前記バッファに蓄積した後の前記バッファの占有量をもとに次の予測対象領域に対する前記許容符号量を再設定する手段とを具備する。
【００１０】
また、この発明に係る画像符号化方法は、入力画像を一定の画素領域からなるブロック単位で予測符号化してバッファを介して出力する画像符号化装置に用いられる画像符号化方法であって、前記入力画像のうち予測対象領域に含まれる複数のブロックの各々の予測符号化により発生する符号量を表す複雑度を前記入力画像の画素値を用いて算出し、前記算出されたブロック毎の複雑度と、前記予測対象領域に予め設定された許容符号量とをもとに前記複数のブロックの各々に対する符号量を割り当て、前記予測されたブロック毎の複雑度と前記割り当てられたブロック毎の符号量とに基づいて前記複数のブロックの各々に対応する符号化パラメータを決定し、前記決定されたブロック毎の符号化パラメータを用いて前記複数のブロックの各々を符号化し、前記符号化されたデータを前記バッファに蓄積した後の前記バッファの占有量をもとに次の予測対象領域に対する前記許容符号量を再設定するものである。
【発明の効果】
【００１１】
したがってこの発明によれば、映像の時間相関が低い場合でも、画質を均一に保つことができる画像符号化装置及び画像符号化方法を提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照してこの発明の実施形態について詳細に説明する。  
図１は、本発明に係る画像符号化装置の一実施形態を示す機能ブロック図である。  
同図において、画像信号は線１０１を介してブロック分割部１に入力される。ここで入力する画像信号は、ピクチャを走査線に分解し、例えばＳＭＰＴＥ  ２９２Ｍ等で規定されているようなシリアルデータ伝送される画像信号を想定している。ブロック分割部１は、遅延回路であり１マクロブロック行分のデータを蓄積後、１６×１６画素からなるマクロブロックの画素データを線１０２を介して適応予測部５へ出力する。またブロック分割部１は、後述する複雑度予測領域に対する許容符号量の割当及び、量子化パラメータの算出が完了するまでの遅延を経たのち、線１０３にマクロブロックの画素データを出力する。
【００１３】
適応予測部５は、線１０２より入力したマクロブロック画素データ及び線１２３より入力した復号画像データを用いて、フレーム内相関を用いた適応予測処理（Ｉｎｔｒａ予測）、またはフレーム間相関を用いた適応予測処理（Ｉｎｔｅｒ予測）を実施し、最適な予測モード信号を線１０９、１１０を介してＩｎｔｒａ予測部６、Ｉｎｔｅｒ予測７へ出力する。さらに該当マクロブロックがＩｎｔｒａ予測またはＩｎｔｅｒ予測であるかの判別情報を線１１１を介してセレクタに出力する。
【００１４】
適応予測部５では、入力マクロブロックデータの符号化に最も適した予測モードを選択するために、予測画像と入力マクロブロックデータの差分を算出し、その差分の最も小さい予測モードが最適な予測モードとして出力される。この選択に用いた差分データを線１０３を介して画像複雑度算出部２へ出力する。
【００１５】
画像複雑度算出部２は、入力した差分データの複雑度を算出し、線１０４を介して符号量割当部３へ出力する。本実施形態では、複雑度を、入力した差分データの絶対値和ＳＡＤ（Sum of Absolute Difference)としている。ここで、複雑度は入力データの発生符号量を予測するためのパラメータであり、ＳＡＤに限るものではない。例えば、画像複雑度算出部２内に変換、量子化部１０と同様のブロックを設け、差分データに対し同様の処理を行った出力データを複雑度としてもよい。さらに画像複雑度算出部２内に可変長符号化部１１と同様のブロックを設け出力された発生符号量と量子化パラメータとを複雑度指標として用いてもよい。
【００１６】
符号量割当部３は、複雑度予測領域分の複雑度を入力した、複雑度及びバッファ占有量から複雑度予測領域に割り当てられる許容符号量を算出し、これを複雑度予測領域内のマクロブロック毎の複雑度の分布に従い符号量を配分し、マクロブロック毎の割当符号量及びマクロブロック毎の複雑度を線１０６を介して出力する。
【００１７】
量子化パラメータ算出部４は、線１０６を介して入力したマクロブロック毎の割当符号量、複雑度及び、線１１９より入力したマクロブロック毎の発生符号量に基づき、算出した量子化パラメータを線１２４を介して出力する。
【００１８】
Ｉｎｔｒａ予測部６は、線１１０を介して入力した予測モード信号を用いて、予測に必要な復号画像データを復号画像メモリ８より線１１２を介して読み出し、読み出した復号画像データを用いて、指定された予測モードに基づいたＩｎｔｒａ予測画像データを生成し、線１１３へ出力する。Ｉｎｔｒａ予測については、Ｈ．２６４／ＡＶＣ（ＩＳＯ／ＩＥＣ  １４４９６−１０）で用いられているフレーム内相関を用いた予測方法がよく知られている。
【００１９】
一方、Ｉｎｔｅｒ予測部７は、線１０９を介して入力される予測モード信号を用いて、予測に必要な復号画像データを復号画像メモリ８より線１１２を介して読み出し、読み出した復号画像データを用いて、指定された予測モードに基づいたＩｎｔｅｒ予測画像データを生成し、線１１４へ出力する。
【００２０】
線１１３及び線１１４を介して出力された各予測画像データは、セレクタにて線１１１より入力したＩｎｔｒａ／Ｉｎｔｅｒ判別信号を用いて、選択された信号を線１１５を介して出力する。
【００２１】
変換、量子化部１０は入力された差分データ１１６に対して変換処理及び量子化パラメータに基づいた量子化処理を実施し、量子化データを線１１７を介して出力する。逆変換、逆量子化部９においては、線１１７より入力される量子化データに対し、逆量子化処理及び逆変換処理を実施し、出力データを線１２１へ出力する。
【００２２】
可変長符号化部１１は変換、量子化部１０から入力される量子化データを可変長符号化データに変換し、この可変長符号化データを線１１８を介して伝送バッファ１２に出力する。また、可変長符号化部１１は、可変長符号化データに変換した際に発生した符号量を線１１９を介して量子化パラメータ算出部４と仮想バッファ算出部１３とに出力する。
【００２３】
伝送バッファ１２は、所定の遅延時間を経たのち、バッファ内に蓄積された可変長符号化データを所定の速度で線１２０へ出力する。
【００２４】
仮想バッファ算出部１３は、線１１９より入力された発生符号量及び、伝送バッファからデータが抜き出される伝送速度に基づき、バッファの占有量を算出する。
【００２５】
また、線１２１のデータは、線１１５の予測データと加算され、復号データとして線１２２を介して復号画像メモリ８に入力される。
【００２６】
復号画像メモリ８は、ランダムアクセス可能なメモリであり、適応予測部５、Ｉｎｔｒａ予測部６、Ｉｎｔｅｒ予測部７から指定されたアドレスの復号画像データを、線１１２、線１２３を介して復号画像データを出力する。
【００２７】
ここで、上記図１に示した画像複雑度算出部２の詳細を図２に示す。  
本実施形態における画像複雑度算出部２は、線１０３から入力される差分画像データを、ＡＢＳ１００１において各差分データの絶対値を算出し、線２０１を介して出力し、累積加算回路１００２において差分データ絶対値の総和を出し、線１０４を介して出力する。
【００２８】
また、上記図１に示した符号量割当部３の詳細を図３に示す。  
複雑度予測領域割当符号量算出部１０１１は、線１０７より入力されたバッファ占有量を用いて、複雑度予測領域全体に割り当てられる許容符号量を算出し、算出された許容符号量を線２１１を介して出力する。複雑度予測領域割当符号量算出部１０１１における処理は、例えば、可変長符号化部１１が１マクロブロック行分の符号化処理を実施する毎に行う。線１０４を介して入力されるマクロブロック毎の複雑度は、マクロブロック（ＭＢ）複雑度格納メモリ１０１２に入力される。
【００２９】
複雑度予測領域複雑度算出部１０１４は、線１０４を介して入力されるマクロブロック毎の複雑度を用いて複雑度予測領域全体の複雑度総和を算出し、線２１４を介して出力する。複雑度予測領域複雑度算出部１０１４の内部は、メモリまたは複数のレジスタを有し、１マクロブロック行毎の複雑度総和を保持する。このメモリ及びレジスタは複雑度予測領域＋１マクロブロック行分の複雑度総和を保持する容量を持つ。
【００３０】
複雑度予測領域複雑度算出部１０１４における処理は、例えば、可変長符号化部１１が１マクロブロック行分の符号化処理を実施する毎に、新たに複雑度予測領域となるマクロブロック行の複雑度総和を全体の複雑度総和に加算し、複雑度予測領域から外れたマクロブロック行の複雑度総和を全体の複雑度総和から減算することによって更新を行う。
【００３１】
マクロブロック（ＭＢ）割当符号量算出部１０１３は、線２１１を介して入力された許容符号量と、線２１２を介して入力されたマクロブロック毎の複雑度と、線２１４を介して入力された複雑度予測領域全体の複雑度とに基づいて、マクロブロック毎の割当符号量を算出する。
【００３２】
例えば、本実施形態におけるマクロブロック毎の割当符号量Ｂ＿ｍｂ[ｉ]は、許容符号量をＢ、マクロブロック毎の複雑度をＣ[ｉ]、複雑度予測領域全体の複雑度をＴＣとしたとき、次の式で求められる。なお、ｉは複雑度予測領域内のマクロブロックのインデックス番号とする。
【００３３】
Ｂ＿ｍｂ［ｉ］＝Ｂ×（Ｃ［ｉ］／ＴＣ）
次に、上記図１に示した量子化パラメータ算出部４の詳細について図４を用いて説明する。  
マクロブロック行（ＭＢＬ）量子化パラメータ設定部１０３１では、線１０６より入力されるマクロブロック毎の複雑度、及びマクロブロック毎の割当符号量を用いて、符号化対象となるマクロブロック行を割当てられた許容符号量で符号化するのに最適な量子化パラメータを算出する。
【００３４】
ここで、量子化パラメータ算出式は、対象マクロブロック行の複雑度総和をＣ＿ＭＢＬとし、対象マクロブロック行の許容符号量をＢ＿ＭＢＬとし、設定する量子化パラメータをＱ＿ＭＢＬとし、ある量子化パラメータで符号化したときに発生すると予測される符号量をＢｐｒｅｄ［Ｑ］としたとき、本実施形態における量子化パラメータ算出部４では、ある適当な量子化パラメータＱ＿ｔｍｐと複雑度総和Ｃ＿ＭＢＬとを用いて、  
Ｂｐｒｅｄ［Ｑ＿ｔｍｐ］＝α×Ｃ＿ＭＢＬ＋β  
上記一次式にてＢｐｒｅｄ値を算出したのち、  
Ｑ＿ＭＢＬ＝Ｂｐｒｅｄ［Ｑ＿ｔｍｐ］×Ｑｓｔｅｐ［Ｑ＿ｔｍｐ］／Ｂ＿ＭＢＬ  
により、Ｑ＿ＭＢＬを算出する。
【００３５】
ここで、本実施形態においては、複雑度−量子化パラメータ発生符号量の統計結果から、Ｑ＿ｔｍｐ＝２６において、α＝０．０２２６、β＝１３４として、Ｂｐｒｅｄを算出すると良好な精度で発生符号量の予測が可能である。
【００３６】
さらに、量子化パラメータ算出部４は、複雑度から予測した発生符号量と、実際に符号化処理を行った際に発生する符号量の間には誤差が発生するため、この誤差によってバッファが破綻することがないよう、マクロブロック（ＭＢ）量子化パラメータ設定部１０３２において線１１９より入力されるマクロブロック毎の発生符号量と、線１０６より入力されるマクロブロック毎の割当符号量の差とに基づき、次のマクロブロックの符号化に用いる量子化パラメータを調整して、線１２４を介して出力する。
【００３７】
発生符号量と割当符号量の差の累積をＥＢとし、次に符号化するマクロブロックに割り当てられている符号量をＢ＿ＭＢとしたとき、次のＭＢの符号化に用いる量子化パラメータＱ＿ＭＢ［ｉ］は次の式により求めることができる。  
Ｑ＿ＭＢ［ｉ］＝（Ｂ＿ＭＢ［ｉ］／（Ｂ＿ＭＢ［ｉ］−ＥＢ））×Ｑ＿ＭＢＬ
以上のように、この画像符号化装置では、図５に示すように、数マクロブロック行分しか複雑度を予測できないような場合においても、１マクロブロック行分の符号化処理を完了する毎に、許容符号量を更新し、量子化パラメータを再計算することによって、画質変動を抑えることが可能となる。
【００３８】
従来方式では、シーンチェンジやカメラの急激なパン等、映像の時間相関が著しく低い場合、符号量変動の予測が大きく外れるため、量子化パラメータを大きく変動させる必要がある。そのため、従来技術においては、映像の時間相関が著しく低い場合には、画質の均一化を実現することができなかった。
【００３９】
これに対し、上記実施形態によれば、入力された画像のマクロブロック毎の複雑度を算出し、この複雑度に応じてマクロブロック毎の符号量を割り当てることにより、過去のピクチャと相関の低い場合においても、量子化パラメータの変動を抑えつつ、画質を均一にし、かつバッファの安定した制御を可能とする。また、１マクロブロック行の符号化処理を行う毎に、複雑度予測領域を１マクロブロック行ずつスライドさせ、マクロブロックの各々の複雑度、割当符号量、及び量子化パラメータを再計算することにより、複雑度予測領域間の画質変動を抑えることを可能とする。
【００４０】
したがって上記実施形態によれば、映像の時間相関が低下した場合においても、画質を均一に保つことができる画像符号化装置を実現することができる。特に、この画像符号化装置は、１ピクチャ時間よりも少ない遅延時間で映像を高画質に符号化伝送可能とする技術であり、映像素材伝送、テレビ会議、遠隔医療等、低遅延画像伝送が要求される分野への適用が期待できる。
【００４１】
なお、この発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【００４２】
【図１】本発明の一実施形態に係る画像符号化装置の構成を示すブロック図。
【図２】図１に示す画像複雑度算出部の構成の一例を示すブロック図。
【図３】図１に示す符号量割当部の構成の一例を示すブロック図。
【図４】図１に示す量子化パラメータ算出部の構成の一例を示すブロック図。
【図５】図１に示す画像符号化装置による符号化処理の例を示す図。
【符号の説明】
【００４３】
１…ブロック分割部、２…画像複雑度算出部、３…符号量割当部、４…量子化パラメータ算出部、５…適応予測部、６…Ｉｎｔｒａ予測部、７…Ｉｎｔｅｒ予測部、８…復号画像メモリ、９…逆変換・逆量子化部、１０…変換・量子化部、１１…可変長符号化部、１２…伝送バッファ、１３…仮想バッファ算出部。
【図１】
2010016467.tif 000003
【図２】
2010016467.tif 000004
【図３】
2010016467.tif 000005
【図４】
2010016467.tif 000006
【図５】
2010016467.tif 000007