(57)【要約】【課題】双方向予測による符号化効率を向上した画像符号化装置及び画像符号化プログラムを提供する。【解決手段】記憶部は符号化した入力画像の符号化した入力画像の符号化データを復号した参照画像をフレーム毎に記憶し、予測部は前記記憶部に記憶された参照画像を用いてフレーム内予測、順方向予測又は双方向予測を行って、前記入力画像の一部である入力画像ブロックに対応する予測画像ブロックを生成し、符号量制御部は前記予測部が双方向予測を行って生成した予測画像ブロックの復号画像を参照画像としてさらに双方向予測を行う場合、予測される予測画像ブロックに係る符号量を、すでに行った双方向予測で動き補償予測および復号した参照画像の動き補償に係るデータに基づいて定める。【選択図】図１
2015088954.tif 000002
【特許請求の範囲】
【請求項１】
符号化した入力画像の符号化データを復号した参照画像をフレーム毎に記憶する記憶部と、
前記記憶部に記憶された参照画像を用いてフレーム内予測、順方向予測又は双方向予測を行って、前記入力画像の一部である入力画像ブロックに対応する予測画像ブロックを生成する予測部と、
前記予測部が双方向予測を行って生成した予測画像ブロックの復号画像を参照画像としてさらに双方向予測を行う場合、予測される画像ブロックに係る符号量を、すでに行った双方向予測で動き補償予測および復号した参照画像の動き補償に係るデータに基づいて定める符号量制御部と、
を備えることを特徴とする画像符号化装置。
【請求項２】
前記符号量制御部は、前記動き補償に係るデータとして動きベクトルを用いることを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記符号量制御部は、前記動き補償に係るデータとして動き補償の態様を示す動き予測モードを用いることを特徴とする請求項１に記載の画像符号化装置。
【請求項４】
コンピュータを、
符号化した入力画像の符号化データを復号した参照画像をフレーム毎に記憶する記憶部に記憶された参照画像を用いてフレーム内予測、順方向予測又は双方向予測を行って、前記入力画像の一部である入力画像ブロックに対応する予測画像ブロックを生成する予測手段と、
前記予測手段で双方向予測を行って生成した予測画像ブロックの復号画像を参照画像としてさらに双方向予測を行う場合、予測される画像ブロックに係る符号量を、すでに行った双方向予測で動き補償予測および復号した参照画像の動き補償に係るデータに基づいて定める符号量制御手段と、
を具備する画像符号化装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像符号化装置及び画像符号化プログラムに関する。
【背景技術】
【０００２】
ディジタル技術の発達により、高いフレームレートの画像信号を処理することができる電子機器の開発が進んでいる。一般に、フレームレートが高い画像信号ほど、データ量が増大する。そのような画像信号を伝送する際、圧縮符号化によってデータ量を低減することが多い。放送や通信に用いられる画像符号化方式では、動き補償予測処理を行うことで時間方向の情報の冗長性を除去してデータ量を圧縮することが多い。これにより、低ビットレートでの高効率な画像符号化を実現する。
符号化されるフレームは、動き補償予測処理を行うか否かによってイントラフレーム（Ｉピクチャ）かインターフレームに区別される。イントラフレームは、フレーム内予測（イントラ予測）を行って符号化されるフレームである。インターフレームは、フレーム間予測（インター予測）を行って符号化されるフレームである。また、動き補償予測処理を行う際に用いられる参照画像のフレームの種別（枚数）によって、順方向予測フレーム（Ｐピクチャ）か、双方向予測フレーム（Ｂピクチャ）かに区別される。Ｐピクチャは、順方向予測処理を用いて符号化されるフレームである。Ｂピクチャは、２以上の参照画像を用いて、双方向予測処理を行うことで符号化されるフレームである。Ｂピクチャについて予測処理を行う際、Ｉピクチャ、Ｐピクチャ又はその両方のフレームに係る参照画像が用いられることがある。
【０００３】
他方、非特許文献１、２に記載の画像符号化方式では、予測処理において、すでに動き補償予測が行われ復号されたＢピクチャ、つまり、その時点で処理対象となっているフレーム（現フレーム）よりも過去又は未来のＢピクチャを参照画像として、他のＢピクチャの動きを予測することが許容されている。非特許文献１、２に記載の画像符号化方式は、それぞれＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）−４  ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）、ＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）とも呼ばれる。非特許文献１、２に記載の画像符号化において各フレームに割り当てられる符号量は、フレームの種別により異なることがある。例えば、予測に用いられないＢピクチャに割り当てられる符号量を他の種別のフレームに割り当てられる符号量よりも少なくすることが考えられる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  ＩＴＵ−Ｔ  Ｈ．２６４，（０４／２０１３），“Ａｄｖａｎｃｅｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ”，Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ，Ａｐｒｉｌ  ２０１３
【非特許文献２】Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  ＩＴＵ−Ｔ  Ｈ．２６５，（０４／２０１３），“Ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ”，Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ，Ａｐｒｉｌ  ２０１３
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、フレームの種別による符号量の割り当てについては符号化の標準規格では定められておらず、符号化装置の実装に委ねられる。仮に、符号量の割り当てが固定されていると、処理対象となる画像の特徴によらず、常にその割り当てられた符号量で符号化処理が行われる。そのため、割り当てられた符号量が不足して画質が劣化することや、あるいは割り当てられた符号量が過剰で符号化効率が低下するおそれがあった。
【０００６】
本発明は上記の点に鑑みてなされたものであり、双方向予測による符号化の効率を向上した画像符号化装置及び画像符号化プログラムを提供する。
【課題を解決するための手段】
【０００７】
本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、符号化した入力画像の符号化データを復号した参照画像をフレーム毎に記憶する記憶部と、前記記憶部に記憶された参照画像を用いてフレーム内予測、順方向予測又は双方向予測を行って、前記入力画像の一部である入力画像ブロックに対応する予測画像ブロックを生成する予測部と、前記予測部が双方向予測を行って生成した予測画像ブロックの復号画像を参照画像としてさらに双方向予測を行う場合、予測される画像ブロックに係る符号量を、すでに行った双方向予測で動き補償予測および復号した参照画像の動き補償に係るデータに基づいて定める符号量制御部と、を備えることを特徴とする画像符号化装置である。
【０００８】
本発明のその他の態様は、前記符号量制御部は、前記動き補償に係るデータとして動きベクトルを用いることを特徴とする画像符号化装置である。
本発明のその他の態様は、前記符号量制御部は、前記動き補償に係るデータとして動き予測モードを用いることを特徴とする画像符号化装置である。
【０００９】
本発明のその他の態様は、コンピュータを、符号化した入力画像の符号化データを復号した参照画像をフレーム毎に記憶する記憶部に記憶された参照画像を用いてフレーム内予測、順方向予測又は双方向予測を行って、前記入力画像の一部である入力画像ブロックに対応する予測画像ブロックを生成する予測手段と、前記予測手段ですでに双方向予測を行って生成した予測画像ブロックの復号画像を参照画像としてさらに双方向予測を行う場合、予測される画像ブロックに係る符号量を、すでに行った双方向予測で動き補償予測および復号した参照画像の動き補償に係るデータに基づいて定める符号量制御手段と、を具備する画像符号化装置として機能させるためのプログラムである。
【発明の効果】
【００１０】
本発明によれば、双方向予測による符号化効率が向上する。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係る画像符号化装置の構成を示す概略ブロック図である。
【図２】参照画像及び予測画像の例を示す図である。
【図３】ＧＯＰ構造の一例を示す概念図である。
【図４】階層Ｂ構造の一例を示す概念図である。
【図５】階層Ｂ構造の他の例を示す概念図である。
【図６】本実施形態に係る量子化対応データの一例を示す表である。
【図７】本実施形態に係る符号量制御部が符号量を定める処理を示すフローチャートである。
【図８】本実施形態に係る画像復号装置の構成を示す概略ブロック図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照しながら本発明の実施形態について説明する。
まず、本実施形態に係る画像符号化装置１の構成について説明する。
図１は、本実施形態に係る画像符号化装置１の構成を示す概略ブロック図である。
画像符号化装置１は、フレームバッファ１０１、減算部１０２、直交変換部１０３、量子化部１０４、可逆符号化部１０５、蓄積バッファ１０６、逆量子化部１０７、逆直交変換部１０８、加算部１０９、デブロッキングフィルタ１１０、参照メモリ１１１、イントラ予測部１１２、インター予測部１１３、モード判定部１１４及び符号量制御部１１５を含んで構成される。
【００１３】
フレームバッファ１０１には、画像符号化装置１の外部から入力画像信号が入力され、入力された入力画像信号をフレーム毎に一時的に記憶する。フレームバッファ１０１は、予め定めたＧＯＰ（Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅ）構造に応じて各フレームの順序を並び替えてもよい。ＧＯＰ構造は、所定のフレーム数からなるＩピクチャ、Ｐピクチャ、Ｂピクチャの配列であって、復号順にＩピクチャで始まる配列である。フレームバッファ１０１は、記憶した入力画像信号から現在処理を行うフレーム（現フレーム、カレントフレームともいう）の画像信号を特定する。フレームバッファ１０１は、特定したフレームの画像信号から、その一部として現在処理を行うブロック（現ブロック、カレントブロックともいう）の画像を示す入力画像ブロック信号を読み出す。フレームバッファ１０１が現ブロックを選択する順序は、例えば、ラスタスキャンの順序と同一であってもよい。フレームバッファ１０１は、読み出した入力画像ブロック信号を減算部１０２、イントラ予測部１１２及びインター予測部１１３に出力する。
【００１４】
減算部１０２は、フレームバッファ１０１から入力された入力画像ブロック信号からイントラ予測部１１２又はインター予測部１１３から入力された予測画像ブロック信号を減算して差分画像ブロック信号を生成する。減算部１０２は、生成した差分画像ブロック信号を直交変換部１０３に出力する。現フレームがイントラフレームである場合には、減算部１０２には、予測画像ブロック信号がイントラ予測部１１２から入力される。現フレームがインターフレームである場合には、減算部１０２には予測画像ブロック信号がインター予測部１１３から入力される。減算部１０２は、入力画像ブロック信号を形成する画素毎の信号値から参照画像ブロック信号を形成する信号値のうち対応する画素の信号値を減算する。
【００１５】
直交変換部１０３は、減算部１０２から入力された差分画像ブロック信号が示す信号値について直交変換を行って変換係数を示す変換係数データを生成する。直交変換部１０３は、直交変換として、例えば、離散コサイン変換（ＤＣＴ：Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）、カルーネン・レーベ変換（ＫＬＴ：Ｋａｒｈｕｎｅｎ  Ｌｏｅｖｅ  Ｔｒａｎｓｆｏｒｍ）等を行う。
【００１６】
量子化部１０４は、直交変換部１０３から入力された変換係数データが示す変換係数を量子化する。量子化部１０４は、変換係数を符号量制御部１１５で定めた量子化パラメータにより定められる値での除算により量子化を行う。量子化幅は、予め定めた固定値であってもよい。量子化部１０４は、量子化した変換係数（量子化変換係数）を示す量子化変換係数データを可逆符号化部１０５及び逆量子化部１０７に出力する。
【００１７】
可逆符号化部１０５には、量子化部１０４から量子化変換係数データが入力される。可逆符号化部１０５には、モード判定部１１４からモードデータが入力される。モードデータは、参照画像ブロック信号を用いて予測画像ブロック信号を予測する際の予測モードを示すデータである。入力されたモードデータが示す予測モードによって、符号化の対象となるデータの種類やその有無が異なる。
【００１８】
例えば、モードデータがデータ分割なしの動き補償モードを示す場合、可逆符号化部１０５には、モード判定部１１４から現ブロックの動きベクトルデータが入力される。モードデータが分割ありの動き補償モードを示す場合、可逆符号化部１０５には、モード判定部１１４から現ブロックをさらに分割したサブブロック毎の動きベクトルデータが入力される。１つの一括したブロック（一括ブロック）が、符号化が行われる符号化単位（Ｃｏｄｉｎｇ  Ｕｎｉｔ）である場合、一括ブロック、サブブロックともに予測が行われる予測単位（Ｐｒｅｄｉｃｔｉｏｎ  Ｕｎｉｔ）となりうる。ＣＵとＰＵとの関係については、インター予測部１１３の説明において述べる。
【００１９】
モードデータがインターフレームでのイントラ予測モードを示す場合、可逆符号化部１０５には、量子化部１０４から量子化変換係数データが入力されるが、参照画像データ、動きベクトルデータは入力されない。モードデータがスキップモードを示す場合、可逆符号化部１０５には、スキップモードを示すモードデータ以外の、量子化変換係数データ、参照画像データ、動きベクトルデータは、入力されない。
可逆符号化部１０５は、入力されたデータを統合し、統合したデータ（統合データ）について可逆符号化、例えば、可変長符号化、算術符号化、等を行って符号化データを生成する。可逆符号化部１０５は、生成した符号化データを蓄積バッファ１０６に一時的に記憶させる。
【００２０】
なお、可逆符号化部１０５は、符号量制御部１１５がブロック毎に定めた量子化パラメータを他の入力データ（例えば、量子化変換係数データ）等と統合して統合データを生成してもよい。また、可逆符号化部１０５は、現ブロックに係る量子化パラメータと、隣接ブロックに係る量子化パラメータとの差分である差分量子化パラメータを、量子化パラメータの代わりに統合して統合データを生成してもよい。ブロック間で量子化パラメータがほぼ一定である場合には、差分量子化パラメータはブロック間で０が連続する。そのため、可逆符号化によって符号量をより少なくすることができる。
【００２１】
なお、可逆符号化部１０５は、既に符号化された入力画像ブロックに係る動きベクトルを記憶する符号化データ記憶部を備え、入力された動きベクトルとの距離が最も小さい動きベクトルを予測ベクトルとして選択（ベクトル予測）してもよい。その場合、可逆符号化部１０５は、入力された動きベクトルから選択された予測ベクトルの差分ベクトルを算出する。可逆符号化部１０５は、算出した差分ベクトルと選択された予測ベクトルを示すベクトルインデックスを入力された動きベクトルデータの代わりに統合して統合データを生成してもよい。
【００２２】
蓄積バッファ１０６は、可逆符号化部１０５から入力された符号化データを記憶する。蓄積バッファ１０６は、記憶した符号化データを画像符号化装置１の外部、例えば、画像復号装置２に出力する。
【００２３】
逆量子化部１０７は、量子化部１０４から入力された量子化変換係数データが示す量子化変換係数を逆量子化して、符号量制御部１１５で定めた量子化パラメータに対応する範囲内のいずれかの値をとる復元変換係数を示す復元変換係数データを生成する。逆量子化部１０７は、復元変換係数データを逆直交変換部１０８に出力する。
逆直交変換部１０８は、逆量子化部１０７から入力された復元変換係数データが示す復元変換係数について逆直交変換を行って復元差分画像ブロック信号を生成する。逆直交変換部１０８が用いる逆直交変換は、直交変換部１０３が行う直交変換の逆演算であることが多い。逆直交変換部１０８は、生成した復元差分画像ブロック信号を加算部１０９に出力する。
【００２４】
加算部１０９は、逆直交変換部１０８から入力された復元差分画像ブロック信号と、イントラ予測部１１２又はインター予測部１１３から入力された予測画像ブロック信号を加算して復元画像ブロック信号を生成する。ここで、加算部１０９は、復元差分画像ブロック信号を形成する画素毎の信号値と予測画像ブロック信号を形成する信号値のうち対応する画素の信号値とを加算する。加算部１０９は、生成した復元画像ブロック信号をデブロッキングフィルタ１１０に出力する。
【００２５】
デブロッキングフィルタ１１０は、加算部１０９から入力された復元画像ブロック信号にフィルタリング処理を行ってブロック歪の成分を除去する。デブロッキングフィルタ１１０は、ブロック歪の成分が除去された復元画像ブロック信号を参照画像ブロック信号として参照メモリ１１１に記憶させる。
参照メモリ１１１は、デブロッキングフィルタ１１０から入力された参照画像ブロック信号をフレーム毎に、その参照画像ブロックに応じた記憶領域に記憶する。これにより、参照画像を示す参照画像信号がフレーム毎に記憶される。
【００２６】
イントラ予測部１１２は、現フレームがイントラフレーム（Ｉピクチャ）である場合には、参照メモリ１１１に既に記憶された参照画像信号のうち、現フレームに係る画像信号を用いてイントラ予測を行って現ブロックに係る予測画像ブロック信号を生成する。イントラ予測部１１２は、予め定めた複数の予測モードのそれぞれでイントラ予測を行う。この複数の予測モード間では、互いに予測方向などが異なる。イントラ予測部１１２は、後述するコスト値を算出し、これによって定められたモードデータを対応付けてモード判定部１１４に出力する。イントラ予測部１１２は、生成した予測画像ブロック信号を減算部１０２及び加算部１０９に出力する。
【００２７】
インター予測部１１３は、現フレームがインターフレーム（Ｐピクチャ、Ｂピクチャ）である場合には、参照メモリ１１１に既に記憶された参照画像信号を用いて主にインター予測を行って、現ブロックに係る予測画像ブロック信号を生成する。なお、インター予測部１１３は、インターフレームの画像信号についてイントラ予測を行って予測画像ブロック信号を生成し、モード判定部１１４はイントラ予測モードを採用するか否か判定するようにしてもよい。
インター予測に用いられる参照画像信号のフレームは、ＧＯＰ構造に応じたフレーム順序のうち現フレームがどのフレームであるかによって定められる。例えば、現フレームがＰピクチャである場合には、インター予測部１１３は、現フレームよりも前の時刻（過去）の１つのフレーム（例えば、Ｉピクチャ）の参照画像を用いて順方向予測を行うことが多い。現フレームがＢピクチャである場合には、過去の１つのフレーム（例えば、Ｉピクチャ又はＢピクチャ）の参照画像と現フレームよりも後の時刻（未来）の１つのフレーム（例えば、Ｐピクチャ又はＢピクチャ）の参照画像とを用いて双方向予測を行うことが多い。フレーム順序、予測処理に用いられる参照画像信号に係るフレーム、予測処理で生成される予測画像信号に係るフレームの関係は、ＧＯＰ構造で示される。ＧＯＰ構造の例については後述する。
【００２８】
ここで、インター予測部１１３は、予め定めた複数の予測モードのいずれかで予測処理を行う。予測モードには、例えば、動き補償予測モード、スキップモードがある。動き補償予測モードとは、上述したインター予測を行う予測モードである。即ち、動き補償予測モードは、参照画像を用いて注目ブロックにおけるフレーム間の画像の動きを検出して予測画像ブロックを予測する予測モードである。動き補償予測モードには、符号化の単位として入力画像ブロックをそのまま一括した一括ブロックについて予測処理を行う分割なしの場合と、より細分化したサブブロック毎に予測処理を行う分割ありの場合とがある。一括ブロックの場合は、その入力画像ブロック、つまり、ＣＵと同じ大きさのブロックのＰＵ、細分化したサブブロックの場合は分割したＰＵとなる。ＰＵの大きさは、例えば、水平方向１６画素×垂直方向１６画素、水平方向８画素×垂直方向１６画素、水平方向１６画素×垂直方向８画素、水平方向８画素×垂直方向８画素などである。スキップモードとは、現ブロックについて動きベクトルもしくは動きベクトルについての差分ベクトルや量子化変換係数等の符号化データを生成、送信せずに隣接する符号化済みブロックの情報をコピーするモードである。
【００２９】
分割なしの動き補償予測モードでは、インター予測部１１３はＣＵと同じ大きさのＰＵ毎に予測画像ブロック信号を生成する。インター予測部１１３は、生成した予測画像ブロック信号が示す予測画像ブロックのうちフレームバッファ１０１から入力された入力画像ブロックに最も近似するブロックを選択する。インター予測部１１３は、選択する近似の度合いを示すコスト値として、例えば、ＲＤ（Ｒａｔｅ−Ｄｉｓｔｏｒｔｉｏｎ）コストを用いる（ＲＤ最適化）。ＲＤコストは、入力画像ブロックの予測画像ブロックに対する歪量に、例えば、差分ベクトルを符号化する際の情報量（符号量）を重み付け加算した値である。差分ベクトルは、動きベクトルとその動きベクトルについて予測処理を行って生成した予測ベクトルとの差分である。この差分ベクトルが符号化の対象となる。その他、インター予測部１１３は、コスト値として絶対差分和（ＳＡＤ：Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅｓ）、平方差分和（ＳＳＤ：Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅｓ）等を用いてもよい。
【００３０】
インター予測部１１３は、例えば、選択した予測画像ブロックを示す予測画像ブロック信号、その予測画像ブロック信号を生成する際に参照した参照画像信号のフレームを示す参照フレーム番号、選択した予測画像ブロックに係る動きベクトルを示す動きベクトルデータ、算出したコスト値及び分割なしの動き補償予測モードを示すモードデータを対応付けてモード判定部１１４に出力する。
【００３１】
分割ありの動き補償予測モードでは、インター予測部１１３は分割したＰＵ毎に予測画像ブロック信号を生成する。インター予測部１１３は、ＰＵ毎に予測画像ブロック信号が示す予測画像ブロックと、それぞれのＰＵに対応する入力画像ブロックの部分との差分を基本としたコスト値を算出することで、例えばＲＤ最適化により、ＰＵ毎に最も近似する予測画像ブロック信号を選択することができる。インター予測部１１３は、ＰＵ毎に選択した予測画像ブロック信号について算出したコスト値をそのＰＵが属する現ブロック内で合算する。
インター予測部１１３は、ＰＵ毎に選択した予測画像ブロック信号、参照した参照画像信号のフレームを示す参照フレーム番号、選択した動きベクトルを示す動きベクトルデータ、算出したコスト値及び分割ありの動き補償予測モードを示すモードデータを対応付けてモード判定部１１４に出力する。
【００３２】
イントラ予測モードでは、インター予測部１１３は現ブロックについてイントラ予測を行って予測画像ブロック信号を生成する。インター予測部１１３は、予測画像ブロック信号と入力画像ブロック信号との近似の度合いを示すコスト値を算出する。インター予測部１１３は、現ブロックについて生成した予測画像ブロック信号、算出したコスト値及びイントラ予測モードを示すモードデータを対応付けてモード判定部１１４に出力する。
【００３３】
スキップモードでは、インター予測部１１３は、現ブロックに隣接するブロックであって処理済みのブロックに係る動きベクトルの代表値、例えば、中央値ベクトルを算出する（メディアン予測）。処理がラスタスキャンの順序で行われる場合、処理済みのブロックとは、例えば、現ブロックの左上、真上、右上、左にそれぞれ隣接する４つのブロックである。インター予測部１１３は、現フレームに対応するフレームの参照画像のうち現ブロックから、算出した中央値ベクトルが示すずれ量で補償した位置に格納された参照画像ブロック信号を予測画像ブロック信号として参照メモリ１１１から読み出す。インター予測部１１３は、予測画像ブロック信号と入力画像ブロック信号との近似の度合いを示すコスト値を算出する。インター予測部１１３は、算出したコスト値及びスキップモードを示すモードデータを対応付けてモード判定部１１４に出力する。
【００３４】
モード判定部１１４は、インター予測部１１３から少なくともコスト値とモードデータが対応付けて入力される。例えば、モードデータが分割なしの動き補償モードを示す場合、ＣＵと同じサイズのＰＵ毎の予測画像ブロック信号、参照画像データ、動きベクトルデータも対応付けて入力される。モードデータが分割ありの動き補償モードを示す場合、分割したＰＵ毎の予測画像ブロック信号、参照画像データ、動きベクトルデータも対応付けて入力される。モードデータがイントラ予測モードを示す場合、予測画像ブロック信号も対応付けて入力される。
【００３５】
モード判定部１１４は、複数の予測モードのうち入力されたコスト値が最小となるコスト値に対応する予測モードを示すモードデータを選択する。モード判定部１１４は、選択したモードデータを可逆符号化部１０５に出力する。例えば、選択されたモードがデータ分割なしの動き補償モードを示す場合、モード判定部１１４は、ＣＵと同じサイズのＰＵ毎の予測画像ブロック信号を減算部１０２及び加算部１０９に出力し、ＣＵと同じサイズのＰＵ毎の動きベクトルデータを可逆符号化部１０５に出力する。選択されたモードデータが分割ありの動き補償モードを示す場合、モード判定部１１４は、分割したＰＵ毎の予測画像ブロック信号をＣＵ内で統合して減算部１０２及び加算部１０９に出力し、分割したＰＵ毎の動きベクトルデータを可逆符号化部１０５に出力する。選択されたモードデータがイントラ予測モードを示す場合、モード判定部１１４は、予測画像ブロック信号を減算部１０２及び加算部１０９に出力する。
【００３６】
符号量制御部１１５は、量子化部１０４で生成される量子化変換係数データの符号量を入力画像のフレームの種別に応じてブロック毎に制御する。上述したように、この量子化変換係数データが示す変換係数は、入力画像ブロック信号からイントラ予測部１１２もしくはインター予測部１１３が生成した予測画像ブロック信号を減算した差分画像ブロック信号を、直交変換部１０３で直交変換して得られる。
【００３７】
ところで、現フレームがＢピクチャであるとき、インター予測部１１３は、既に双方向予測を行って生成したＢピクチャを参照画像信号として用い、予測画像ブロック信号を生成する場合がある。その場合、符号量制御部１１５は、その既に行った双方向予測において行われた動き補償に係るデータに基づいて現ブロックに係る量子化変換係数データの符号量を定めてもよい。符号量制御部１１５には、フレームの種別（例えば、Ｉピクチャ、Ｐピクチャ）によっては、予め定められた固定の符号量が設定されていてもよい。符号量の設定例及び制御例については後述する。
【００３８】
次に、参照画像及び予測画像の例について説明する。
図２は、参照画像及び予測画像の例を示す図である。
図２（ａ−１）、（ａ−２）、（ａ−３）は、それぞれ過去のフレームの参照画像、現フレームの画像、未来のフレームの参照画像を示す。これらの画像は、それぞれ障壁ｂと車両ｃを含む。図２（ａ−１）〜（ａ−３）は、時間経過に伴って車両ｃが障壁ｂの背後を左から右へ移動することを示す。
【００３９】
図２（ｐ−２）は、図２（ａ−１）に示す参照画像のみに基づいて順方向予測を行って生成した（ａ−２）と同時刻の順方向予測画像を示す。図２（ｐ−２）において障壁ｂの直近の右側に示されている領域は、図２（ａ−１）の障壁ｂの背後に隠れていた（オクルージョン（ｏｃｃｌｕｓｉｏｎ）部分であって、移動することで現れた部分である（アンカバード・バックグラウンド（ｕｎｃｏｖｅｒｅｄ  ｂａｃｋｇｒｏｕｎｄ））。この領域が空白であることは、過去のフレームの参照画像だけでは予測できないことを示す。そのため、この領域に係る予測画像ブロックと入力画像ブロックとの差分画像ブロックの信号値をさらに符号化する必要があるため、符号量を低減することができない。
【００４０】
図２（ｂ−２）は、図２（ａ−１）に示す参照画像の他、図２（ａ−３）に示す参照画像を用いて双方向予測を行って生成した双方向予測画像を示す。図２（ｂ−２）では、図（ｐ−２）に生じていた空白の領域が現れず、図２（ａ−２）に示される現フレームの画像に近似する。つまり、差分画像ブロックの信号値が、入力画像ブロックの信号値よりも十分に減少でき、符号量を低減することができる。但し、双方向予測では未来のフレームの参照画像信号が用いられるため、その処理で用いられる参照画像信号を記憶しておき、そのフレームの順序を入れ替えることが要求される。これにより遅延が発生する。
【００４１】
次に、ＧＯＰ構造の例について説明する。
図３は、ＧＯＰ構造の一例を示す概念図である。
図３に示すＧＯＰ構造は、ＭＰＥＧ−４  ＡＶＣ、ＨＥＶＣといった従来の画像符号化方式でも用いられている。図３において、水平方向は時刻を示し、左側よりも右側の方がより新しい時刻を示す。
縦長の四角形は各フレームの画像を示し、それぞれの四角形のほぼ中心には記号が示されている。その記号のそれぞれは２つの文字からなり、２つの文字のうち左側の「Ｉ」等はフレームの種別（Ｉピクチャ等）を示し、右側の「０」等はＧＯＰにおけるフレームの順序（０番目等）を示す。各四角形間を結ぶ矢印の起点、終点は、それぞれ予測処理に用いる参照画像に係るフレームと予測処理によって生成された予測画像に係るフレームを示す。例えば、フレームＰ４の予測画像は、フレームＩ０の参照画像を用いた順方向予測を行って生成される。また、フレームＢ１、Ｂ２、Ｂ３の予測画像は、いずれもフレームＩ０、フレームＰ４の参照画像を用いた双方向予測を行って生成される。このＧＯＰでは、Ｂピクチャは参照画像にはならない。
【００４２】
一方、本実施形態に係る画像符号化装置１で用いられるＧＯＰ構造は、双方向予測において、あるＢピクチャが参照画像として用いられ、他のＢピクチャの予測画像を生成する構造である。この構造は、階層Ｂ構造と呼ばれ、上位階層と下位階層とを含む。上位階層は、Ｉピクチャ、Ｐピクチャ又はその両者を参照画像として双方向予測を行い、Ｂピクチャを予測画像として生成する階層である。下位階層は、上位階層で生成したＢピクチャを参照画像として用いることができ、これにより双方向予測を行って、他のＢピクチャを予測する階層である。なお、参照画像として用いられないＢピクチャは非参照ピクチャと呼ばれる。以下の説明では、下位階層で生成される非参照のＢピクチャを、ｂピクチャと表記することで、Ｂピクチャ一般又は上位階層で生成されるＢピクチャと区別する。
【００４３】
図４は、階層Ｂ構造の一例を示す概念図である。
図４に示す例では、上位階層においてフレームＢ２の予測画像は、図３に示す例と同様にフレームＩ０、フレームＰ４の参照画像を用いた双方向予測を行って生成される。下位階層において、フレームｂ１の予測画像は、フレームＩ０、フレームＢ２の参照画像を用いた双方向予測を行って生成される。フレームｂ３の予測画像は、フレームＢ２、フレームＰ４の参照画像を用いた双方向予測を行って生成される。フレームｂ１、ｂ３の予測画像は、それぞれ時間的に隣接フレームに係る参照画像を用いて予測されるため、図３に示す例のように時間的により離れたフレーム（例えば、フレームＩ０、Ｐ４）のみを用いる場合よりも画質が向上する。そのため、残差画像の信号値が小さくなるため符号量を低減することができる。なお、フレームｂ１、ｂ３は、双方向予測に用いられない非参照ピクチャである。つまり、これらの参照画像を用いて下位の階層の双方向予測は行われない。そのため、フレームｂ１、ｂ３の画質は、その他のフレームで生成される予測画像の画質に影響を及ぼさない。
【００４４】
図４に示す下位階層のように、他のＢピクチャを参照画像として用いるのは、比較的新しい画像符号化方式（新方式）では旧方式よりも予測精度が向上しているため、Ｂピクチャを用いても予測画像の画質の劣化が抑制されるという背景がある。新方式とは、例えば、ＭＰＥＧ−４  ＡＶＣ、ＨＥＶＣ、等であり、旧方式とは、例えば、ＭＰＥＧ−２、等である。また、新方式では、Ｉピクチャに係るフレームの予測画像の画質も旧方式よりも向上しているため、この予測画像に基づく参照画像を用いて生成されるＰピクチャやＢピクチャの予測画像の画質も向上しているという背景もある。
【００４５】
図５は、階層Ｂ構造の他の例を示す概念図である。
図５において横軸は時刻を示し、下段に上位階層、上段に下位階層をそれぞれ示す。
図５に示す例では、上位階層は一定時間間隔でフレームＩ０、Ｂ１、Ｐ２、Ｂ３、Ｐ４を有し、下位階層は一定時間間隔でフレームｂ１、ｂ２、ｂ３、ｂ４を有する。フレームｂ１、ｂ２、ｂ３、ｂ４の時刻は、それぞれ、フレームＩ０、Ｂ１の中間、フレームＢ１、Ｐ２の中間、フレームＰ２、Ｂ３、フレームＢ３、Ｐ４の中間である。
【００４６】
この例では、上位階層においてフレームＰ２、Ｐ４の予測画像は、それぞれフレームＩ０を参照画像として用いた順方向予測を行って生成される。フレームＢ１の予測画像は、フレームＩ０、Ｐ２を参照画像として用いた双方向予測を行って生成される。フレームＢ３の予測画像は、フレームＰ２、Ｐ４を参照画像として用いた双方向予測を行って生成される。
下位階層においてフレームｂ１の予測画像は、フレームＩ０、Ｂ１を参照画像として用いた双方向予測を行って生成される。フレームｂ２の予測画像は、フレームＢ１、Ｐ２を参照画像として用いた双方向予測を行って生成される。フレームｂ３の予測画像は、フレームＰ２、Ｂ３を参照画像として用いた双方向予測を行って生成される。フレームｂ４の予測画像は、フレームＢ３、Ｐ４を参照画像として用いた双方向予測を行って生成される。
【００４７】
この例でも、フレームｂ１、ｂ２、ｂ３、ｂ４の予測画像は、それぞれ時間的に隣接するフレームに係る参照画像を用いて予測されるため、時間的により離れたフレーム（例えば、フレームＩ０、Ｐ２、Ｐ４）のみを用いる場合よりも画質が向上する。そのため、符号量を低減することができる。なお、フレームｂ１、ｂ２、ｂ３、ｂ４は、非参照ピクチャであるため、その他のフレームで生成される予測画像の画質に影響を及ぼさない。
【００４８】
次に、符号量制御部１１５が制御する符号量について説明する。
符号量制御部１１５は、符号量の指標として、例えば、量子化パラメータＱｐを用いる。Ｑｐは、例えば、１から３１まで（ＭＰＥＧ−２の例）、１から５１まで（ＡＶＣの例）、１から５７まで（ＨＥＶＣの例）などの範囲内の整数値である。Ｑｐは、例えばＡＶＣでは、６大きくなる毎に符号量が１／２に減少することを示す指標である。つまり、Ｑｐは、量子化部１０４に入力される変換係数データが示す変換係数が量子化後にとり得る値の範囲を示す。
符号量制御部１１５は、イントラフレームであるＩピクチャに他の種別のフレームよりも小さいＱｐ（符号量が大きい）を予め定めておいてもよい。Ｉピクチャは、他のフレームを予測する際に参照されるので、Ｉピクチャに係る画質を高くすることで符号化した映像全体の画質を向上することができる。
【００４９】
符号量制御部１１５は、インターフレームであるＰピクチャには、Ｉピクチャよりも大きいＱｐ（符号量が小さい）を予め定めておいてもよい。例えば、Ｐピクチャに与えるＱｐをＩピクチャに与えるＱｐよりも１又は２大きくする。Ｐピクチャは、Ｉピクチャを用いて動き予測補償を行って生成されるため、符号化により発生する情報量がＩピクチャよりも少なくなる傾向がある。そのため、符号量を少なくしても画質への影響が限られる。
符号量制御部１１５は、上位階層において双方向予測が行われるＢピクチャには、Ｐピクチャよりも大きいＱｐ（符号量が小さい）を予め定めておいてもよい。例えば、Ｂピクチャに与えるＱｐをＰピクチャに与えるＱｐよりも２又は３大きくする。Ｂピクチャの予測残差がＰピクチャよりも少なくなる傾向があるためである。
【００５０】
符号量制御部１１５は、下位階層において双方向予測が行われるｂピクチャには、Ｂピクチャよりも大きいＱｐ（符号量が小さい）を予め定めておいてもよい。例えば、ｂピクチャに与えるＱｐをＢピクチャに与えるＱｐよりも２又は３大きくする。上述したようにｂピクチャが十分な画質を有するフレームの画像に挟まれるように配置される場合には、ｂピクチャも十分な画質を確保できるためである。これは、ｂピクチャの画質が劣化する場合でも、品質が十分な前後のフレーム画像を視認すれば動画像全体として画質の劣化が検知されにくいためである。なお、ｂピクチャが非参照ピクチャである場合には、その他のフレームで生成される予測画像の画質に影響を及ぼさない。
【００５１】
従って、符号量制御部１１５に予め設定しておく量子化パラメータＱｐには、フレーム種別間で、式（４）に示す大小関係が与えられてもよい。
Ｑｐ（Ｉ）＜Ｑｐ（Ｐ）＜Ｑｐ（Ｂ）＜Ｑｐ（ｂ）  …  （４）
式（４）において、Ｑｐ（Ｉ）等は、Ｉピクチャに係る量子化パラメータＱｐ等を示す。Ｑｐ（Ｐ）は、例えば、Ｑｐ（Ｉ）よりも２〜４大きい値である。Ｑｐ（Ｂ）は、例えば、Ｑｐ（Ｐ）よりも２〜４大きい値である。Ｑｐ（ｂ）は、例えば、Ｑｐ（Ｂ）よりも２〜４大きい値である。
これにより、符号量制御部１１５は、現フレームの種別に応じて量子化パラメータＱｐを切り替え、切り替えた量子化パラメータＱｐを量子化部１０４に出力する。
これらの量子化パラメータＱｐ（Ｉ）等は、蓄積バッファ１０６から出力されるＧＯＰ毎の符号化データの符号量が、予め定めた伝送容量を超えないように定めておく。
【００５２】
現フレームの種別がｂピクチャである場合には、上述したように下位階層では、上位階層で双方向予測が行われたＢピクチャである参照画像信号を用いて予測画像ブロックが生成される。その場合、符号量制御部１１５は、現ブロックに係る量子化パラメータＱｐを、そのＢピクチャの予測画像ブロック信号を上位階層で双方向予測して生成する際に用いた動き補償に係るデータに基づいて定めてもよい。動き補償に係るデータには、例えば、（Ｉ）動きベクトルを示す動きベクトルデータや（ＩＩ）予測モードを示すモードデータがある。その双方向予測で用いられる参照画像信号に係るフレームの種別は、例えば、Ｐピクチャである。そこで、可逆符号化部１０５又は符号量制御部１１５は、動き補償に係るデータをブロック毎に記憶する記憶部を備えてもよい。符号量制御部１１５は、その参照画像信号に係るフレームについて、現ブロックでの動き補償に係るデータを当該記憶部から読み出し、読み出したデータに基づいて量子化パラメータＱｐを定める。但し、符号量制御部１１５は、上述の予め定めたＱｐ（ｂ）を量子化パラメータの初期値Ｑｐ０として用いてもよい。
【００５３】
（Ｉ）動きベクトルデータを用いる場合
符号量制御部１１５は、動きベクトルデータが示す動きベクトルが大きいほど、より小さい量子化パラメータＱｐを定める。上位階層で取得された動きベクトルの大きさが大きいことは、フレーム間において参照ブロックに表された画像の動きが大きいことを示す。その場合には、下位階層での符号量をより多くする。他方、上位階層で取得された動きベクトルの大きさが小さいことは、フレーム間において参照ブロックに表された画像の動きが小さいことを示す。その場合には、下位階層での符号量をより少なくする。
【００５４】
ここで、符号量制御部１１５は、例えば、式（５）を用いてＱｐを定めてもよい。
Ｑｐ＝Ｑｐ０−ＩＮＴ（α・｜ｍｖ｜）  …  （５）
式（５）において、ＩＮＴ（…）は、実数値…の小数点以下の値を切り捨てた整数を与える実数化関数を示す。αは、予め定めた正の実数である。｜ｍｖ｜は、動きベクトルの大きさを示す０又は０より大きい実数である。αは、ＩＮＴ（α・｜ｍｖ｜）の値が０〜１０程度となり、かつＱｐが上述した範囲内、例えば、１〜３１の範囲（ＭＰＥＧ−２の例）をとるように予め実験やシミュレーションを行って定めておいてもよい。
【００５５】
なお、双方向予測に用いられる２個の参照画像ブロック信号がいずれもＰピクチャに係る参照画像信号である場合や（図５、Ｂ３参照）、１つの参照画像ブロックに含まれる複数のＰＵのそれぞれについて動きベクトルデータが定められる場合がある。その場合、符号量制御部１１５は、取得された複数の動きベクトルの大きさの代表値、例えば、中央値、平均値、最小値のいずれかを、量子化パラメータＱｐを定める際に用いてもよい。
【００５６】
（ＩＩ）モードデータを用いる場合
符号量制御部１１５は、上位階層で取得したモードデータが示す予測モードに対応した量子化パラメータＱｐを定める。符号量制御部１１５には、例えば、上位階層の予測モードと量子化パラメータとの対応関係を示す量子化対応データを予め記憶しておき、記憶した量子化対応データから取得したモードデータに対応する量子化パラメータを読み出す。
【００５７】
図６は、本実施形態に係る量子化対応データの一例を示す表である。
図６の左列、右列は、それぞれ上位階層の予測モードと下位の量子化パラメータを示す。図６の第２行は、上位階層の予測モードとしてイントラモードと量子化パラメータＱｐ１が対応付けられていることを示す。第３行は、上位階層の予測モードとして分割ありの動き補償予測モードと量子化パラメータＱｐ２が対応付けられていることを示す。第４行は、上位階層の予測モードとして分割なしの動き補償予測モードと量子化パラメータＱｐ３が対応付けられていることを示す。第５行は、上位階層の予測モードとしてスキップモードと量子化パラメータＱｐ４が対応付けられていることを示す。
【００５８】
量子化パラメータＱｐ１、Ｑｐ２、Ｑｐ３、Ｑｐ４及び初期値Ｑｐ０の間には、例えば、式（６）に示す大小関係を与えておく。
Ｑｐ１＜Ｑｐ２＜Ｑｐ０＜Ｑｐ３＜Ｑｐ４  …  （６）
式（６）において、Ｑｐ１は、例えば、初期値Ｑｐ０よりも２又は３小さい値である。Ｑｐ２は、例えば、初期値Ｑｐ０よりも１小さい値である。Ｑｐ３は、例えば、初期値Ｑｐ０よりも１大きい値である。Ｑｐ４は、例えば、初期値Ｑｐ０よりも２又は３大きい値である。
【００５９】
ここで、イントラモードについて最も小さい量子化パラメータＱｐ１を定めるのは、他の予測モードとは異なり、現フレームの参照画像信号のみを用い他のフレームの画像信号を用いないので、符号化において最も多くの符号量が要求されるからである。
スキップモードについて最も大きい量子化パラメータＱｐ４を定めるのは、現ブロックの動きベクトルとして隣接ブロックの動きベクトルが用いられるからである。このことは、少なくともブロックより大きい領域にわたって画像の動きが均一であるか、画像の動き自体が少ないことを示す。そのため、隣接するフレームの参照ブロック信号を用いて生成される予測画像ブロックが示す予測画像の画質が良好であり、要求される符号量が少なくても済むと期待されるからである。また、双方向予測では、下位階層のフレームの予測画像ブロック信号が、その前後のフレームの参照画像ブロック信号を用いて生成される。そのため、上位階層でスキップモードが用いられる場合には、下位階層でもスキップモードが用いられるために、残差画像ブロック信号が符号化されない可能性が高い。
【００６０】
分割なしの動き補償予測モードと分割ありの動き補償予測モードとの間では、分割ありの動き補償予測モードに係る量子化パラメータＱｐ２の方が分割なしの動き補償予測モードに係る量子化パラメータＱｐ３よりも小さい。分割なしの動き補償予測モードは、現ブロック内での画像の動きの均一性が高いことを示す。その場合、下位階層でも現ブロック内での画像の動きの均一性が高く、符号量を少なくしても画質の劣化が顕著にならないことが期待されるからである。他方、分割ありの動き補償予測モードは、現ブロック内での画像の動きが不均一であることを示す。その場合、下位階層でも現ブロック内での画像の動きの均一性が低く、符号量を少なくすると画質の劣化が顕著になると予想されるからである。
【００６１】
このように、符号量制御部１１５は、フレームの種別に応じて符号量を制御する。ここで、符号量制御部１１５は、双方向予測で生成される符号化データの符号量をイントラ予測や順方向のインター予測での符号量よりも小さくなるように定める。また、符号量制御部１１５は、その双方向予測で生成される符号量をすでに符号化済みの双方向予測での画像の動きに応じて定める。よって、画像の動きが著しい領域や、その動きが不均一な領域等、画質の劣化が生じやすい領域により多くの符号量が割り当てられ、画質の劣化が少ない領域により少ない符号量が割り当てられる。そのため、復号された画像において画質の劣化が低減して符号化の効率が向上する。
【００６２】
また、符号量制御部１１５は、量子化パラメータＱｐを上位階層の双方向予測で用いた参照画像信号についての動き補償に係るデータに基づいて定めることで、表示される画像の動きの特徴に応じて符号量が制御される。つまり、符号量を定める際に動き補償に係るデータが活用されるので、処理量が過大にならずに処理の高速化を図ることができる。また、動き補償に係るデータと対応付けておくことで符号量を予め定めた範囲に収まるように、符号量が定量的に定められる。
【００６３】
このような制御による効果は、ＲＤ最適化によるブロック分割を行うか否かの判定とも整合する。ＲＤ最適化では、量子化パラメータＱｐが大きい（符号量が少ない）場合、ブロック分割をできるだけ行わないように分割を示すフラグ情報の符号化が省略され、符号化データの符号量（符号化レート）の減少が優先される。量子化パラメータＱｐが小さい（符号量が多い）場合、ブロック分割を行って分割を示すフラグ情報の符号化を行うことで歪み量の減少が優先される。
【００６４】
次に、本実施形態に係る符号量制御部１１５が符号量を定める処理について説明する。
図７は、本実施形態に係る符号量制御部１１５が符号量を定める処理を示すフローチャートである。
（ステップＳ１０１）符号量制御部１１５は、注目フレームがｂフレームであるか否かを判定する。現フレームがｂフレームであると判定された場合には（ステップＳ１０１  ＹＥＳ）、ステップＳ１０２に進む。現フレームがｂフレーム以外の種別のフレームであると判定された場合には（ステップＳ１０１  ＮＯ）、ステップＳ１０６に進む。
【００６５】
（ステップＳ１０２）符号量制御部１１５は、上位階層での双方向予測に用いた参照画像信号のフレームを特定する。現フレームが、図５に示すフレームｂ１である場合を例にとると、下位階層での双方向予測に用いた参照画像信号のフレームはフレームＢ１である。上位階層でフレームＢ１に係る予測画像信号を生成する際、双方向予測に用いた参照画像信号のフレームはフレームＩ０、フレームＰ２である。そのうち、動き補償が行われるのは、インターフレームであるフレームＰ２である。従って、この例ではフレームＰ２が特定される。その後、ステップＳ１０３に進む。
【００６６】
（ステップＳ１０３）符号量制御部１１５は、特定したフレームでの当該現ブロックについての動き補償に係るデータを、自部又は可逆符号化部１０５が備える記憶部から読み出す。読み出されるデータは、例えば、動きベクトルデータ、モードデータである。その後、ステップＳ１０４に進む。
（ステップＳ１０４）符号量制御部１１５は、（Ｉ）、（ＩＩ）で述べたように、読み出したデータに基づいて量子化パラメータＱｐを定める。その後、ステップＳ１０５に進む
（ステップＳ１０５）符号量制御部１１５は、現フレームにおいて未処理のブロックの有無を判定する。未処理のブロックがある場合には（ステップＳ１０５  ＹＥＳ）、現ブロックが次のブロックに切り替えられ、ステップＳ１０２に進む。未処理のブロックがない場合には（ステップＳ１０５  ＮＯ）、図７に示す処理を終了する。
【００６７】
（ステップＳ１０６）符号量制御部１１５は、量子化パラメータＱｐを現フレームの種別に応じた値に定める。符号量制御部１１５は、例えば、現フレームがＩピクチャである場合には、ＱｐをＱｐ（Ｉ）と定め、現フレームがＰピクチャである場合には、ＱｐをＱｐ（Ｐ）と定め、現フレームがＢピクチャである場合には、ＱｐをＱｐ（Ｂ）と定める。その後、図７に示す処理を終了する。
【００６８】
次に、本実施形態に係る画像復号装置２の構成について説明する。
図８は、本実施形態に係る画像復号装置２の構成を示す概略ブロック図を示す。
画像復号装置２は、蓄積バッファ２０１、可逆復号部２０２、逆量子化部２０３、逆直交変換部２０４、加算部２０５、デブロッキングフィルタ２０６、フレームバッファ２０７、参照メモリ２０８、イントラ補償部２０９及びインター補償部２１０を含んで構成される。
【００６９】
蓄積バッファ２０１には、画像復号装置２の外部、例えば、画像符号化装置１から符号化データが入力され、入力された符号化データが一時的に記憶される。
可逆復号部２０２は、蓄積バッファ２０１から符号化データを読み出し、読み出した符号化データについて可逆復号を行って統合データを生成する。可逆復号部２０２が用いる可逆復号方式は、可逆符号化部１０５が用いた可逆符号化方式に対応する方式である。
【００７０】
生成された統合データには、モードデータ、量子化変換係数データが含まれている場合には、可逆復号部２０２は、統合データからモードデータ、量子化変換係数データを抽出する。
【００７１】
例えば、モードデータがデータ分割なしの動き補償モードを示す場合、可逆復号部２０２は、統合データから量子化変換係数データ、ＰＵ毎の参照フレーム番号、動きベクトルデータを抽出する。モードデータがデータ分割ありの動き補償モードを示す場合、可逆復号部２０２は、統合データから量子化変換係数データ、ＰＵ毎の参照フレーム番号、動きベクトルデータを抽出する。モードデータがイントラ予測モードを示す場合、可逆復号部２０２は、統合データから量子化変換係数データ、イントラ予測モードを抽出する。モードデータがスキップモードを示す場合には、統合データに量子化変換係数データ、参照フレーム番号、動きベクトルデータは含まれないため、モードデータ以外のデータの抽出を行わない。
【００７２】
可逆復号部２０２は、抽出した量子化変換係数データを逆量子化部２０３に出力する。可逆復号部２０２は、抽出したモードデータをイントラ補償部２０９又はインター補償部２１０に出力する。可逆復号部２０２は、抽出した参照フレーム番号、動きベクトルデータをインター補償部２１０に出力する。
なお、可逆復号部２０２は、復元された統合データから量子化パラメータを抽出し、抽出した量子化パラメータを逆量子化部２０３に出力する。また、統合データに差分量子化パラメータが含まれる場合には、隣接ブロックについて既に算出した量子化パラメータと現ブロックに係る差分量子化パラメータとを加算して現ブロックに係る量子化パラメータを算出してもよい。その場合には、可逆復号部２０２は、算出した現ブロックに係る量子化パラメータを逆量子化部２０３に出力する。
【００７３】
なお、抽出した動きベクトルデータが差分ベクトルを示す場合には、可逆復号部２０２は、統合データからベクトルインデックスをさらに抽出する。その場合、可逆復号部２０２は、既に復号したブロック毎の動きベクトルを記憶する復号データ記憶部を備え、抽出したベクトルインデックスが示す動きベクトルを復号データ記憶部から予測ベクトルとして読み出す。可逆復号部２０２は、読み出した予測ベクトルと差分ベクトルを加算して動きベクトルを示す動きベクトルデータを、インター補償部２１０に出力する。
【００７４】
逆量子化部２０３は、可逆復号部２０２から入力された量子化変換係数データが示す量子化変換係数を逆量子化して復元変換係数を示す復元変換係数データを生成する。ここで、逆量子化部２０３は、可逆復号部２０２から入力された量子化パラメータにより定められる値を量子化変換係数に乗算して復元変換係数を算出し、算出した復元変換係数を示す復元変換係数データを生成する。逆量子化部２０３は、生成した復元変換係数データを逆直交変換部２０４に出力する。
【００７５】
逆直交変換部２０４は、逆量子化部２０３から入力された復元変換係数データが示す復元変換係数について逆直交変換を行って復元差分画像ブロック信号を生成する。逆直交変換部２０４が用いる逆直交変換は、例えば、画像符号化装置（図１）の直交変換部１０３が行う直交変換の逆演算である。逆直交変換部２０４は、生成した復元差分画像ブロック信号を加算部２０５に出力する。
【００７６】
加算部２０５は、逆直交変換部２０４から入力された復元差分画像ブロック信号と、イントラ補償部２０９又はインター補償部２１０から入力された補償画像ブロック信号を加算して復元画像ブロック信号を生成する。加算部２０５は、生成した復元画像ブロック信号をデブロッキングフィルタ２０６に出力する。加算部２０５は、復元差分画像ブロック信号における画素毎の信号値から予測画像ブロック信号における対応する画素の信号値を加算する。
【００７７】
デブロッキングフィルタ２０６は、加算部２０５から入力された復元画像ブロック信号にフィルタリング処理を行ってブロック歪の成分を除去する。デブロッキングフィルタ２０６は、ブロック歪の成分が除去された復元画像ブロック信号をフレームバッファ２０７に記憶させ、その復元画像ブロック信号を参照画像ブロック信号として参照メモリ２０８に記憶させる。
【００７８】
フレームバッファ２０７には、デブロッキングフィルタ２０６から入力された復元画像ブロック信号をフレーム毎に、その復元画像ブロックに応じた表示領域に応じた記憶領域に記憶する。これにより、フレーム毎の復元画像信号が記憶される。フレームバッファ２０７は、記憶している復元画像信号を予め定めたＧＯＰ構造に係るフレームの順序に復元画像信号を並び替えてもよい。フレームバッファ２０７は、フレーム毎に復元画像信号を画像復号装置２の外部、例えば、画像表示装置（ディスプレイ）に出力してもよい。  
参照メモリ２０８は、デブロッキングフィルタ２０６から入力された参照画像ブロック信号をフレーム毎に、その参照画像ブロックに応じた表示領域に応じた記憶領域に記憶する。これにより、参照画像を示す参照画像信号がフレーム毎に記憶される。
【００７９】
イントラ補償部２０９は、現フレームがイントラフレーム（Ｉピクチャ）である場合、可逆復号部２０２から入力されたモードデータが示すイントラ予測モードに対応した補償モードで補償処理を行って、現ブロックに係る予測画像ブロック信号を生成する。ここで、イントラ補償部２０９は、参照メモリ２０８に記憶された参照画像信号のうち、現フレームに係る参照画像信号を用いてイントラ補償を行い、現ブロックに係る補償画像ブロック信号を生成する。イントラ補償部２０９は、生成した補償画像ブロック信号を加算部２０５に出力する。
【００８０】
インター補償部２１０は、現フレームがインターフレーム（Ｐピクチャ、Ｂピクチャ）である場合、可逆復号部２０２から入力されたモードデータが示す予測モードに対応した補償モードで補償処理を行って現ブロックに係る補償画像ブロック信号を生成する。ここで、インター補償部２１０は、参照メモリ２０８に記憶された参照画像信号を用いる。インター補償部２１０は、生成した補償画像ブロック信号を生成する。
【００８１】
例えば、モードデータがイントラ予測モードを示す場合、インター補償部２１０は、イントラ補償を行って補償画像ブロック信号を生成する。
モードデータが分割なしの動き補償予測モードを示す場合、インター補償部２１０は、現ブロック全体を一括した一括ブロックであるＰＵについて参照フレーム番号、動きベクトルデータが入力される。インター補償部２１０は、入力された参照フレーム番号で指定される参照画像信号から動きベクトルデータが示す動きベクトルで指定される領域の参照画像ブロック信号を参照メモリ２０８から読み出す。インター補償部２１０は、読み出した参照画像ブロック信号を用いて補償画像ブロック信号を生成する。
【００８２】
モードデータが分割ありの動き補償予測モードを示す場合、インター補償部２１０は、現ブロック内を細分化したＰＵ毎の参照フレーム番号、動きベクトルデータが入力される。インター補償部２１０は、入力された参照フレーム番号が示す参照画像信号から動きベクトルデータが示す動きベクトルで指定される領域の参照画像ブロック信号を参照メモリ２０８から読み出す。インター補償部２１０は、読み出した参照画像ブロック信号を用いてＰＵ毎の補償画像ブロック信号を生成し、生成した補償画像ブロック信号をＰＵ（この例では、サブブロック）間で統合して現ブロック（一括ブロック）に係る補償画像ブロックを生成する。
モードデータがスキップモードを示す場合、インター補償部２１０は、現ブロックに隣接するブロックであって処理済みのブロックに係る動きベクトルの代表値（例えば、中央値）を算出する。インター補償部２１０は、現フレームに対応するフレームの参照画像のうち現ブロックから、算出した代表値が示すずれ量で補償した位置に格納された参照画像ブロック信号を予測画像ブロック信号として参照メモリ２０８から読み出す。
【００８３】
このように、本実施形態では、符号化した入力画像の符号化データを復号した参照画像をフレーム毎に記憶する記憶部（例えば、参照メモリ１１１）を備える。また、本実施形態では、前記記憶部に記憶された参照画像を用いてフレーム内予測、順方向予測又は双方向予測を行って、前記入力画像の一部である入力画像ブロックに対応する予測画像ブロックを生成する予測部（例えば、インター予測部１１３）を備える。また、本実施形態では、前記予測部がすでに双方向予測を行って生成した予測画像ブロックの復号画像を参照画像としてさらに双方向予測を行う場合、予測される予測画像ブロックに係る符号量を、すでに行った双方向予測で動き補償予測及び復号した参照画像の動き補償に係るデータに基づいて定める符号量制御部（例えば、符号量制御部１１５）を備える。
【００８４】
これにより、双方向予測で生成される符号量が、過去の双方向予測での画像の動きに応じて定められる。例えば、画質の劣化が生じやすい領域により多くの符号量が割り当てられ、画質の劣化が少ない領域により少ない符号量が割り当てられる。そのため、復号された画像において画質の劣化が低減して符号化の効率が向上する。また、符号量を定める際に動き補償に係るデータが活用されることで処理量が過大にならず処理の高速化を図ることができる。また、動き補償に係るデータと対応付けておくことで予め定めた範囲に収まるように、符号量が定量的に定められる。
【００８５】
なお、上述した実施形態では、階層Ｂ構造が上位階層と下位階層の２階層のＧＯＰ構造である場合を例にとって説明したが、これには限られない。上述した実施形態では、階層Ｂ構造は、２階層より多い階層（例えば、３階層）を有していてもよい。その場合において、現フレームの種別がｂピクチャである場合には、第２階層よりも下位の階層では、より上位の階層で双方向予測が行われたＢピクチャに係るフレームの参照画像信号を用いて予測画像ブロックが生成される。その場合、符号量制御部１１５は、現ブロックに係る量子化パラメータＱｐを、そのＢピクチャに係る予測画像ブロック信号を上位階層で双方向予測して生成する際に当該現ブロックで参照画像信号について行われた動き補償に係るデータに基づいて定めてもよい。そこで、符号量制御部１１５は、より下位の階層で双方向予測が行われるｂピクチャほど、より大きい量子化パラメータ（符号量がより小さい）を初期値として予め定めておいてもよい。また、上述した実施形態では、最下層のｂピクチャを非参照ピクチャと予め定めておけば、より上位の階層のｂピクチャを非参照ピクチャとして扱わなくてもよい。
【００８６】
なお、上述した実施形態は、画像符号化装置１と画像復号装置２を備えた画像処理システムとして実施してもよい。当該画像処理システムは、画像符号化装置１が出力した符号化データを記憶する記憶媒体を備え、画像復号装置２には当該記憶媒体から読み出された符号化データが入力されてもよい。また、当該画像処理システムは、画像符号化装置１が出力した符号化データを伝送するネットワークを備え、画像復号装置２には当該ネットワークが伝送した符号化データが入力されるようにしてもよい。当該ネットワークは、有線でも無線であってもよいし、複数の送信先に一斉にデータを送信する放送伝送路の一部又は全部であってもよい。
【００８７】
なお、上述した実施形態における画像符号化装置１又は画像復号装置２の一部、例えば、減算部１０２、直交変換部１０３、量子化部１０４、可逆符号化部１０５、逆量子化部１０７、逆直交変換部１０８、加算部１０９、デブロッキングフィルタ１１０、イントラ予測部１１２、インター予測部１１３、モード判定部１１４及び符号量制御部１１５、可逆復号部２０２、逆量子化部２０３、逆直交変換部２０４、加算部２０５、デブロッキングフィルタ２０６、イントラ補償部２０９及びインター補償部２１０をコンピュータで実現するようにしてもよい。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、画像符号化装置１又は画像復号装置２に内蔵されたコンピュータシステムであって、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
また、上述した実施形態における画像符号化装置１及び画像復号装置２の一部、又は全部をＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等の集積回路として実現してもよい。画像符号化装置１及び画像復号装置２の各機能ブロックは個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はＬＳＩに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【００８８】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【符号の説明】
【００８９】
１…画像符号化装置、１０１…フレームバッファ、１０２…減算部、１０３…直交変換部、１０４…量子化部、１０５…可逆符号化部、１０６…蓄積バッファ、１０７…逆量子化部、１０８…逆直交変換部、１０９…加算部、１１０…デブロッキングフィルタ、
１１１…参照メモリ、１１２…イントラ予測部、１１３…インター予測部、
１１４…モード判定部、１１５…符号量制御部、
２…画像復号装置、２０１…蓄積バッファ、２０２…可逆復号部、２０３…逆量子化部、２０４…逆直交変換部、２０５…加算部、２０６…デブロッキングフィルタ、
２０７…フレームバッファ、２０８…参照メモリ、２０９…イントラ補償部、
２１０…インター補償部
【図１】
2015088954.tif 000003
【図２】
2015088954.tif 000004
【図３】
2015088954.tif 000005
【図４】
2015088954.tif 000006
【図５】
2015088954.tif 000007
【図６】
2015088954.tif 000008
【図７】
2015088954.tif 000009
【図８】
2015088954.tif 000010