(57)【要約】【課題】  従来の符号化方式においては、量子化パラメータの差分値を符号化する際に符号順にブロックの量子化パラメータとの差分を算出していた。このような方法の場合、符号化を行いながら符号長に基づいたレート制御を容易に行えるという反面、画像の特性と関係なく量子化パラメータを決定するため、符号化効率が上がらないといった問題が生じた。【解決手段】  量子化パラメータの予測値の精度を向上させるため、予測モード、参照ピクチャ、動きベクトル、予測参照情報の予測値を参照して、周囲のブロックの量子化パラメータから対象ブロックの量子化パラメータの予測値を算出する。【選択図】  図１
2013102297.tif 000002
【特許請求の範囲】
【請求項１】
画像データを入力する画像データ入力工程と、
前記画像データをブロックに分割するブロック分割工程と、
符号化対象のブロックを含むピクチャの時間的に前または後のピクチャを参照して動き補償情報を算出する動き補償情報算出工程と、
前記符号化対象のブロックの動き補償情報を保持する動き補償情報保持工程と、
前記動き補償情報を符号化して動き補償情報符号データを生成する動き補償情報符号化工程と、
前記算出された動き補償情報に従って前記符号化対象ブロックの動き補償を行い予測誤差を算出する動き補償工程と、
前記予測誤差を変換して変換係数を生成する変換工程と、
前記変換係数を量子化するための量子化パラメータを決定する量子化パラメータ決定工程と、
前記量子化パラメータを保持する量子化パラメータ保持工程と、
前記符号化対象のブロックの動き補償情報と前記符号化対象ブロックの周囲のブロックの前記動き補償情報保持工程で保持された動き補償情報を参照して前記量子化パラメータ保持工程で保持された量子化パラメータ予測値を決定する量子化パラメータ予測値決定工程と、
前記量子化パラメータ予測値を用いて前記量子化パラメータを符号化して量子化パラメータ符号データを算出する量子化パラメータ符号化工程と、
前記量子化パラメータを用いて変換係数を量子化し、量子化係数を算出する量子化工程と、
前記量子化係数を符号化して量子化係数符号データを生成する量子化係数符号化工程とを有することを特徴とする画像符号化方法。
【請求項２】
前記動き補償情報は前記符号化対象ブロックの予測参照情報を含み、前記動き補償情報符号化工程が周囲のブロックの予測参照情報から予測参照情報の予測候補を算出し、予測参照情報の符号化を行うこと特徴とする請求項１の画像符号化方法。
【請求項３】
前記予測候補を持つブロックの量子化パラメータを量子化パラメータ予測値とすることを特徴とする請求項２の画像符号化方法。
【請求項４】
前記動き予測参照情報は少なくとも動きベクトルを含むことを特徴とする請求項１乃至２に記載の画像符号化方法。
【請求項５】
前記動き予測参照情報は少なくとも参照ピクチャの情報を含むことを特徴とする請求項１乃至４に記載の画像符号化方法。
【請求項６】
前記動き補償情報は少なくとも前記符号化対象ブロックの予測モードを含むことを特徴とする請求項１乃至５の画像符号化方法。
【請求項７】
前記動き補償情報は少なくとも前記符号化対象ブロックの参照ピクチャの情報を含むことを特徴とする請求項１乃至６の画像符号化方法。
【請求項８】
前記符号化対象ブロックの予測モードと前記符号化対象ブロックの周囲のブロックで予測モードが一致するブロックの量子化パラメータを量子化パラメータ予測値とすることを特徴とする請求項１乃至７の画像符号化方法。
【請求項９】
前記符号化対象ブロックの参照ピクチャと前記符号化対象ブロックの周囲のブロックで参照ピクチャが一致するブロックの量子化パラメータを量子化パラメータ予測値とすることを特徴とする請求項１乃至８の画像符号化方法。
【請求項１０】
前記符号化対象ブロックの予測参照情報の予測候補と前記符号化対象ブロックの周囲のブロックで予測参照情報が一致するブロックの量子化パラメータを量子化パラメータ予測値とすることを特徴とする請求項１乃至９の画像符号化方法。
【請求項１１】
画像データを入力する画像データ入力手段と、
前記画像データをブロックに分割するブロック分割手段と、
符号化対象のブロックを含むピクチャの時間的に前または後のピクチャを参照して動き補償情報を算出する動き補償情報算出手段と、
前記符号化対象ブロックの動き補償情報を保持する動き補償情報保持手段と、
前記動き補償情報を符号化して動き補償情報符号データを生成する動き補償情報符号化手段と、
前記算出された動き補償情報に従って前記符号化対象ブロックの動き補償を行い予測誤差を算出する動き補償手段と、
前記予測誤差を変換して変換係数を生成する変換手段と、
前記変換係数を量子化するための量子化パラメータを決定する量子化パラメータ決定手段と、
前記量子化パラメータを保持する量子化パラメータ保持手段と、
前記符号化対象のブロックの動き補償情報と前記符号化対象ブロックの周囲のブロックの前記動き補償情報保持手段で保持された動き補償情報を参照して前記量子化パラメータ保持手段で保持された量子化パラメータ予測値を決定する量子化パラメータ予測値決定手段と、
前記量子化パラメータ予測値を用いて前記量子化パラメータを符号化して量子化パラメータ符号データを算出する量子化パラメータ符号化手段と、
前記量子化パラメータを用いて変換係数を量子化し、量子化係数を算出する量子化手段と、
前記量子化係数を符号化して量子化係数符号データを生成する量子化係数符号化手段）とを有することを特徴とする画像符号化装置。
【請求項１２】
復号対象ブロックの動き補償情報符号データを復号して動き補償情報を算出する動き補償情報復号工程と、
前記復号対象ブロックの動き補償情報を保持する保持工程と、
復号された量子化パラメータを保持する量子化パラメータ保持工程と、
前記復号された動き補償情報に従って前記復号対象ブロックの動き補償を行いブロックの予測値を算出する動き補償工程と、
前記復号対象のブロックの周囲のブロックの前記保持工程で保持された動き補償情報と前記復号対象ブロックの復号された動き補償情報を参照して前記量子化パラメータ保持工程で保持された量子化パラメータから量子化パラメータ予測値を決定する量子化パラメータ予測値決定工程と、
前記量子化パラメータ予測値を用いて前記復号対象ブロックの量子化パラメータ符号データを復号して量子化パラメータを算出する量子化パラメータ復号工程と
量子化係数符号データを復号して量子化係数を生成する量子化係数復号工程と、
前記算出された量子化パラメータを用いて前記量子化係数を逆量子化し、変換係数を算出する逆量子化工程と、
前記変換係数を変換して予測誤差を生成する変換工程と、
前記予測誤差と前記ブロックの予測値から画像データを生成する画像再構成工程とを有することを特徴とする画像復号方法。
【請求項１３】
復号対象ブロックの動き補償情報符号データを復号して動き補償情報を算出する動き補償情報復号手段と、
前記復号対象ブロックの動き補償情報を保持する保持手段と、
復号された量子化パラメータを保持する量子化パラメータ保持手段と、
前記復号された動き補償情報に従って前記復号対象ブロックの動き補償を行いブロックの予測値を算出する動き補償手段と、
前記復号対象のブロックの周囲のブロックの前記保持手段で保持された動き補償情報と前記復号対象ブロックの復号された動き補償情報を参照して前記量子化パラメータ保持手段で保持された量子化パラメータから量子化パラメータ予測値を決定する量子化パラメータ予測値決定手段と、
前記量子化パラメータ予測値を用いて前記復号対象ブロックの量子化パラメータ符号データを復号して量子化パラメータを算出する量子化パラメータ復号手段と
量子化係数符号データを復号して量子化係数を生成する量子化係数復号手段と、
前記算出された量子化パラメータを用いて前記量子化係数を逆量子化し、変換係数を算出する逆量子化手段と、
前記変換係数を変換して予測誤差を生成する変換手段と、
前記予測誤差と前記ブロックの予測値から画像データを生成する画像再構成手段とを有することを特徴とする画像復号装置。
【請求項１４】
コンピュータが読み出して実行することにより、前記コンピュータを、請求項１１に記載の画像符号化装置として機能させることを特徴とするプログラム。
【請求項１５】
コンピュータが読み出して実行することにより、前記コンピュータを、請求項１３に記載の画像復号装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像の符号化・復号において、量子化を行う際の画像符号化方法、画像符号化装置及びプログラム、画像復号方法、画像復号装置及びプログラムに関し、特に画像中の量子化パラメータの予測符号化方法に関する。
【背景技術】
【０００２】
動画像の圧縮記録方法として、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ（以下Ｈ．２６４）が知られている（非特許文献１）。Ｈ．２６４の特徴は、従来の符号化方式の８×８画素単位のブロックサイズに加えて４×４画素単位のブロックサイズでの変換や量子化が行われている点にある。Ｈ．２６４においては、マクロブロック（１６画素×１６画素）単位に量子化パラメータを変更することできる。実際には、ｍｂ＿ｑｐ＿ｄｅｌｔａ符号を用い、ブロックの符号化の順に復号されたマクロブロックの量子化パラメータＱＰＹＰＲＥＶに差分値であるｍｂ＿ｑｐ＿ｄｅｌｔａの値を加算することで変更している。
【０００３】
またＨ．２６４は従来のＭＰＥＧ−２、４が前後１枚ずつの参照ピクチャであったのに比べて、複数のピクチャを参照して動き補償予測を行うことができる。動き補償では任意の２枚の参照ピクチャから参照を行うことができるため、その２枚の参照ピクチャをＬｉｓｔ０予測（以後、Ｌ０予測）とＬｉｓｔ１予測（以後Ｌ１予測）予測として区別する。Ｌ０予測は主として前方向予測に用い、１つ以上の参照ピクチャを用いて予測を行う。Ｌ１予測は主として後方向予測に用い、１つ以上の参照ピクチャを用いて予測を行う。特にＢピクチャではこれらの予測から複数のブロック予測モードを用いることができる。すなわち、イントラ予測、Ｌ０予測（Ｌ０の情報のみから片方向予測）、Ｌ１予測（Ｌ１の情報のみから片方向予測）、双方向予測（Ｌ０、Ｌ１の情報を用いて平均を求める予測）、ダイレクトモード等である。
【０００４】
近年、Ｈ．２６４の後継としてさらに高効率な符号化方式の国際標準化を行う活動が開始された。ＪＣＴ−ＶＣ（Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）がＩＳＯ／ＩＥＣとＩＴＵ−Ｔの間で設立され、ＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）符号化方式（以下、ＨＥＶＣ）として標準化が進められている。対象となる画面サイズの増大に伴い、従来のマクロブロック（１６画素×１６画素）より大きなブロックサイズでの分割が検討されている。非特許文献２によれば、この大きなサイズの基本ブロックはＬＣＵ（Ｌａｒｇｅｓｔ  Ｃｏｄｉｎｇ  Ｕｎｉｔ）と呼ばれている。そのサイズは最大６４画素×６４画素として検討が進められている。ＬＣＵはさらに分割されて、細かなサブブロックを形成し、動き補償や変換や量子化等を行うサブブロックとしてＣＵ（Ｃｏｎｄｉｎｇ  Ｕｎｉｔ）に分割される。分割の方法としてはブロック内を縦横２分割していく領域四分木構造となっている。
【０００５】
図２９領域四分木構造の様子を表す。太枠の２９００は基本ブロックを表し、説明を簡易にするため、６４画素×６４画素の構成とする。２９０１と２９１０はサブブロックであり、３２画素×３２画素のサブブロックとする。２９０２〜２９０９もサブブロックであり、１６画素×１６画素のサブブロックとする。このように細かく分割して、変換等の符号化処理を行う。また、符号化はサブブロック２９０１から始まり、２９０２、２９０３、２９０４、２９０５、２９０６、２９０７、２９０８、２９０９、２９１０の順に行われる。
【０００６】
また、ＨＥＶＣにはＨ．２６４のＬ１予測とＬ０予測を統合して１つのリストから参照ピクチャを設定するＬＣ予測が提案されている。（非特許文献３）これにより符号化効率の改善を図っている。
【０００７】
さらには、ＨＥＶＣにおいて、動きベクトル符号化についても符号化効率向上のための提案がされている（非特許文献４）。非特許文献４には、新しい動きベクトル予測方法（Ａｄｖａｎｃｅｄ  ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｐｒｅｄｉｃｔｉｏｎ  （以下、ＡＭＶＰ））は周囲のブロックの動きベクトルと時間的に前の基本ブロックまたはサブブロックの動きベクトルを参照する。それらの中から最適な動きベクトルの参照を選択し、その予測ベクトルを持つブロックのインデックスを符号化して送る。選択の段階で、これらの参照するブロックの動きベクトルで同じ動きベクトルをまとめ、参照する動きベクトルが全て異ならせる。すなわち、参照する動きベクトル数を限定し、インデックスの大きさを小さくすることで符号化効率を向上させる。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】ＩＳＯ／ＩＥＣ１４４９６−１０：２００４Ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ−−Ｃｏｄｉｎｇ  ｏｆ  ａｕｄｉｏ−ｖｉｓｕａｌ  ｏｂｊｅｃｔｓ−−Ｐａｒｔ１０：Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ
【非特許文献２】ＪＣＴ−ＶＣ  寄書  ＪＣＴＶＣ−Ａ２０５＿ｄｒａｆｔ００７．ｄｏｃ  インターネット＜  ｈｔｔｐ：／／ｗｆｔｐ３．ｉｔｕ．ｉｎｔ／ａｖ−ａｒｃｈ／ｊｃｔｖｃ−ｓｉｔｅ／２０１０＿０４＿Ａ＿Ｄｒｅｓｄｅｎ／＞
【非特許文献３】ＪＣＴ−ＶＣ  寄書  ＪＣＴＶＣ−Ｄ４２１＿ｒ１．ｄｏｃ  インターネット＜  ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／４＿Ｄａｅｇｕ／ｗｇ１１／ＪＣＴＶＣ−Ｄ４２１−ｖ３．ｚｉｐ／＞
【非特許文献４】ＪＣＴ−ＶＣ  寄書  ＪＣＴＶＣ−Ａ１２４．ｄｏｃ  インターネット＜  ｈｔｔｐ：／／ｗｆｔｐ３．ｉｔｕ．ｉｎｔ／ａｖ−ａｒｃｈ／ｊｃｔｖｃ−ｓｉｔｅ／２０１０＿０４＿Ａ＿Ｄｒｅｓｄｅｎ／＞
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ＨＥＶＣでは、量子化パラメータの制御をＨ．２６４のマクロブロックと同様に基本ブロック単位で行う。しかしながら、実際にはサブブロック単位で量子化パラメータ制御を行うことが画質の観点から望ましい。
【００１０】
この場合、量子化パラメータ制御の制御は領域四分木構造に従って処理が行われる。しかしながら、図２９において、３２画素×３２画素のサブブロック２９０１、２９１０や１６画素×１６画素のサブブロック２９０２から２９０９が混在している。Ｈ．２６４のように前のブロックがサブブロック２９０５からサブブロック２９０６のように離れている場合が生じてしまう。このため、直前に符号化された量子化パラメータを参照して予測値とし、差分を求める場合、サブブロック２９０５とサブブロック２９０６とが異なるオブジェクトに属する可能性があり、正しく予測されない場合が生じる。
【００１１】
したがって、本発明は上述した課題を解決するためになされたものであり、符号化対象ブロックの量子化パラメータに対して周囲のブロックの量子化パラメータの中から相関が強い量子化パラメータを予測値とすることで符号化効率を向上させることを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、上述の課題を鑑みてなされたものであり、画像符号化方法が画像データを入力する画像データ入力工程と、前記画像データをブロックに分割するブロック分割工程と、符号化対象のブロックを含むピクチャの時間的に前または後のピクチャを参照して動き補償情報を算出する動き補償情報算出工程と、前記符号化対象ブロックの動き補償情報を保持する動き補償情報保持工程と、前記動き補償情報を符号化して動き補償情報符号データを生成する動き補償情報符号化工程と、前記算出された動き補償情報に従って前記符号化対象ブロックの動き補償を行い予測誤差を算出する動き補償工程と、前記予測誤差を変換して変換係数を生成する変換工程と、前記変換係数を量子化するための量子化パラメータを決定する量子化パラメータ決定工程と、前記量子化パラメータを保持する量子化パラメータ保持工程と、前記符号化対象のブロックの動き補償情報と前記符号化対象ブロックの周囲のブロックの前記動き補償情報保持工程で保持された動き補償情報を参照して前記量子化パラメータ保持工程で保持された量子化パラメータ予測値を決定する量子化パラメータ予測値決定工程と、前記量子化パラメータ予測値を用いて前記量子化パラメータを符号化して量子化パラメータ符号データを算出する量子化パラメータ符号化工程と、前記量子化パラメータを用いて変換係数を量子化し、量子化係数を算出する量子化工程と、前記量子化係数を符号化して量子化係数符号データを生成する量子化係数符号化工程とを有することを特徴とする。
【００１３】
さらに、画像復号方法が復号対象ブロックの動き補償情報符号データを復号して動き補償情報を算出する動き補償情報復号工程と、前記復号対象ブロックの動き補償情報を保持する保持工程と、復号された量子化パラメータを保持する量子化パラメータ保持工程と、前記復号された動き補償情報に従って前記復号対象ブロックの動き補償を行いブロックの予測値を算出する動き補償工程と、前記復号対象のブロックの周囲のブロックの前記保持工程で保持された動き補償情報と前記復号対象ブロックの復号された動き補償情報を参照して前記量子化パラメータ保持工程で保持された量子化パラメータから量子化パラメータ予測値を決定する量子化パラメータ予測値決定工程と、前記量子化パラメータ予測値を用いて前記復号対象ブロックの量子化パラメータ符号データを復号して量子化パラメータを算出する量子化パラメータ復号工程と量子化係数符号データを復号して量子化係数を生成する量子化係数復号工程と、前記算出された量子化パラメータを用いて前記量子化係数を逆量子化し、変換係数を算出する逆量子化工程と、前記変換係数を変換して予測誤差を生成する変換工程と、前記予測誤差と前記ブロックの予測値から画像データを生成する画像再構成工程とを有することを特徴とする。
【発明の効果】
【００１４】
本発明により、符号化対象ブロックの量子化パラメータに対して、周囲のブロックの量子化パラメータの中から相関が強い量子化パラメータを予測値とすることで、符号化効率が向上する。
【図面の簡単な説明】
【００１５】
【図１】実施形態１における画像符号化装置の構成を示すブロック図
【図２】実施形態１に係る画像符号化装置における画像符号化処理を示すフローチャート
【図３】実施形態１に係る画像符号化装置におけるインターピクチャ符号化処理を示すフローチャート
【図４】実施形態１、２に係る量子化パラメータの予測処理を示すフローチャート図
【図５】実施形態１、２に係る量子化パラメータの予測処理を示すフローチャート図
【図６】実施形態１、２に係る量子化パラメータの予測処理を示すフローチャート図
【図７】実施形態１、２に係る別な量子化パラメータの予測処理を示すフローチャート図
【図８】実施形態１、２に係る量子化パラメータの予測処理を示すフローチャート図
【図９】実施形態１、２に係る量子化パラメータの予測処理を示すフローチャート図
【図１０】実施形態２における画像復号装置の構成を示すブロック図
【図１１】実施形態２に係る画像復号装置における画像復号処理を示すフローチャート
【図１２】実施形態２に係る画像復号装置におけるインターピクチャ復号処理を示すフローチャート
【図１３】実施形態３に係る量子化パラメータの予測処理を示すフローチャート図
【図１４】実施形態３に係る量子化パラメータの予測処理を示すフローチャート図
【図１５】実施形態３に係る量子化パラメータの予測処理を示すフローチャート図
【図１６】実施形態４に係る量子化パラメータの予測処理を示すフローチャート図
【図１７】実施形態４に係る量子化パラメータの予測処理を示すフローチャート図
【図１８】実施形態４に係る量子化パラメータの予測処理を示すフローチャート図
【図１９】実施形態４に係る量子化パラメータの予測処理を示すフローチャート図
【図１８】実施形態４に係る画像符号化装置におけるインターピクチャ復号処理を示すフローチャート
【図２０】実施形態４に係る別な量子化パラメータの予測処理を示すフローチャート図
【図２１】実施形態５における画像符号化装置の構成を示すブロック図
【図２２】実施形態５に係る画像符号化装置におけるインターピクチャ符号化処理を示すフローチャート
【図２３】実施形態５、６に係る量子化パラメータの予測処理を示すフローチャート図
【図２４】実施形態５、６に係る量子化パラメータの予測処理を示すフローチャート図
【図２５】実施形態５、６に係る量子化パラメータの予測処理を示すフローチャート図
【図２６】実施形態６における画像復号装置の構成を示すブロック図
【図２７】実施形態６に係る画像復号装置における画像復号処理を示すフローチャート
【図２８】本発明の画像符号化装置、復号装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図
【図２９】ブロック分割の一例を示す図
【発明を実施するための形態】
【００１６】
以下、添付の図面を参照して、本願発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１７】
＜実施形態１＞
本発明の実施形態を、図１から図７を使って説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１８】
以下、本発明の実施形態を、図面を用いて説明する。本実施形態では説明のためＨ．２６４を例にとって説明する。図１は本実施形態の画像符号化装置を示すブロック図である。図１において、１００は動画の画像データ入力を行う端子である。１０１は入力画像を複数のブロックに分割するブロック分割部である。説明を容易にするために、入力画像は８ビットの画素値を持つこととするが、これに限定されない。また、ブロックのサイズを１６画素×１６画素のみとする方法を例にとって説明するが、これにブロックの形状、サイズは限定されない。
【００１９】
１０２は各ブロックの量子化パラメータを決定する量子化パラメータ決定部である。１０３はブロック分割部１０１で分割された各ブロック単位で予測を行い、各ブロックの予測誤差を算出するブロック予測部である。ブロック予測部１０３は、ピクチャをイントラ予測のみを行うイントラピクチャと動き補償予測を行うインターピクチャに分ける。イントラピクチャではイントラ予測を行う。インターピクチャでは、動き補償に必要な動き補償情報を生成し、動き補償情報に従って前後のピクチャを参照して動き補償予測を行う。Ｈ．２６４では複数の参照ピクチャからの参照が可能になっているため、動き補償情報はそのブロック予測モード、Ｌ０予測、Ｌ１予測の参照ピクチャ、Ｌ０予測、Ｌ１予測の動きベクトルで構成される。
【００２０】
１０４は各ブロックの予測誤差に対して直交変換を行い、直交変換係数を算出するブロック変換部である。直交変換に関しては特に限定しないが、離散コサイン変換、離散サイン変換やアダマール変換等を用いてもよい。１０５は量子化パラメータ決定部１０２で決定された量子化パラメータによって前記直交変換係数を量子化するブロック量子化部である。この量子化によって量子化係数を得ることができる。１０６はこのようにして得られた量子化係数を符号化して量子化係数符号データを生成するブロック符号化部である。符号化の方法は特に限定しないが、ハフマン符号や算術符号等を用いることができる。
【００２１】
１０９はブロック再生画像生成部である。量子化パラメータ決定部１０２で決定された量子化パラメータを用いてブロック量子化部１０５の逆の動作を行って直交変換係数を再生する。さらにブロック変換部１０４の逆の動作を行って予測誤差を再生し、ブロック予測部１０３の結果から基本ブロックの復号画像を生成する。再生された画像データは保持され、ブロック予測部１０３での予測に用いられる。
【００２２】
１１０はブロック予測部１０３で生成された動き補償情報をブロック単位で保持する動き補償情報保持部である。１１１は量子化パラメータ決定部１０２で決定された量子化パラメータを保持する量子化パラメータ保持部である。
【００２３】
１１２は量子化パラメータ保持部１１１で保持された周囲のブロックの量子化パラメータから量子化パラメータ決定部１０２で決定された量子化パラメータの予測を行う量子化パラメータ予測部である。量子化パラメータ予測部１１２は動き補償情報保持部１１０で保持された周囲のブロックの動き補償情報とブロック予測部１０３から符号化対象ブロックの動き補償情報も入力する。入力された周囲のブロックの動き補償情報と符号化対象ブロックの動き補償情報と比較し、量子化パラメータ予測値を算出する。さらに、その量子化パラメータ予測値と符号化対象ブロックの量子化パラメータとの差分を算出する。
【００２４】
１１３は量子化パラメータ予測部１１２で算出された量子化パラメータの差分を符号化し、量子化パラメータ符号データを生成する量子化パラメータ符号化部である。符号化の方法は特に限定しないが、ハフマン符号や算術符号等を用いることができる。１１４はブロック単位で生成された動き補償情報を符号化して動き補償情報符号データを生成する動き補償情報符号化部である。
【００２５】
１０７は統合符号化部である。ヘッダ情報等の符号を生成する。また、各ブロック単位で決定された符号化モードの符号化を行う。さらには量子化パラメータ符号化部１１３で生成された量子化パラメータ符号データ、動き補償情報符号化部１１４で生成された動き補償情報符号データおよびブロック符号化部１０６で生成された量子化係数符号データを統合してビットストリームを生成する。１０８は端子であり、統合符号化部１０７で生成されたビットストリームを外部に出力する。
【００２６】
上記画像符号化装置における画像の符号化動作を以下に説明する。
【００２７】
端子１００から入力された１ピクチャ分の画像データはブロック分割部１０１に入力され、１６画素×１６画素の基本ブロックに分割される。分割された画像データは量子化パラメータ決定部１０２とブロック予測部１０３に入力される。
【００２８】
ブロック予測部１０３ではブロック再生画像生成部１０９に保持されている再生画像を参照して予測を行い、予測誤差を生成してブロック変換部１０４及びブロック再生画像生成部１０９に入力する。ブロック予測部１０３はイントラピクチャにおいてはブロック再生画像生成部１０９で保持されている符号化対象の周囲のブロックからイントラ予測を行い、予測誤差を算出する。また、インターピクチャにおいてはブロック単位でイントラ符号化を行うか、インター符号化を行うかを決定し、その結果をブロック符号化モードとして出力する。ブロック符号化モードは統合符号化部１０７で符号化され、ブロックのヘッダとして出力される。符号化対象ブロックをイントラ符号化する場合は前述のイントラピクチャと同様にイントラ予測が行われる。また、インター符号化する場合は動き補償によって予測を行う符号化する。符号化対象ピクチャの前後の複数の参照ピクチャを参照して符号化対象ブロックに最も近いブロックを探索し、動きベクトルを求める。その探索結果に基づいて、ブロック予測モードを選択する。ブロック単位で、ブロック予測モード、参照ピクチャ、動きベクトルを動き補償情報として動き補償情報保持部１１０、量子化パラメータ予測部１１２、動き補償情報符号化部１１４に出力する。
【００２９】
動き補償情報保持部１１０では入力された動き補償情報を量子化パラメータ予測部１１２で参照するためにブロック単位で保持しておく。動き補償情報符号化部１１４ではＨ．２６４の書式に基づき動き補償情報符号データを生成する。生成された動き補償情報符号データは統合符号化部１０７に入力される。
【００３０】
一方、量子化パラメータ決定部１０２は統合符号化部１０７から出力されるビットストリームの符号量等から目標のビットレートを設定し、ブロック分割部１０１から入力されるブロックの特性から量子化パラメータを決定する。決定された量子化パラメータはブロック量子化部１０５、量子化パラメータ保持部１１１、量子化パラメータ予測部１１２、ブロック再生画像生成部１０９に出力される。量子化パラメータ保持部１１１は量子化パラメータ予測部１１２で参照するために入力された量子化パラメータをブロック単位で保持しておく。
【００３１】
量子化パラメータ予測部１１２は動き情報保持部１１０から周囲のブロックの動き補償情報、量子化パラメータ保持部１１１から周囲の量子化パラメータを入力する。符号化対象ブロックに関して、ブロック予測部１０３から動き補償情報を、量子化パラメータ決定部１０２から量子化パラメータを入力する。周囲のブロックの動き補償情報と符号化対象ブロックの動き補償情報を比較して周囲のブロックから量子化パラメータを量子化パラメータ予測値として選択し、符号化対象ブロックの量子化パラメータとの差分を求める。
【００３２】
図４から図６は実施形態１に係る画像符号化装置における量子化パラメータ予測値を算出する処理を示すフローチャートである。図４のフローチャートにおいて、ステップＳ４０１にて、対象ブロックを含むスライスがＰスライスかＢスライスかを判定する。Ｐスライスであれば、ステップＳ４０３に進み、そうでなければ、ステップＳ４０２に進む。
【００３３】
ステップＳ４０２にて、符号化対象ブロックの予測モードを判定する。符号化対象ブロックのブロック予測モードがＬ０予測であればステップＳ４０３に進み、Ｌ１予測であればステップＳ４０４に進み、それ以外（双方向予測）であればステップＳ４０５に進む。
【００３４】
ステップＳ４０３にて、符号化対象ブロックの周囲のブロックのブロック予測モードがＬ０予測であるブロックを参照して量子化パラメータ予測値を算出する。Ｐスライスの場合はＬ０予測を用いるので、ステップＳ４０３にて量子化パラメータ予測値を算出する。
【００３５】
図５にステップＳ４０３で行う符号化対象ブロックのブロック予測モードがＬ０予測であった場合の量子化パラメータ予測値を算出するフローチャートを示す。本実施形態では符号化対象ブロックの上方、左上方、左方に隣接するブロックを周囲ブロックとして説明するが、これに限定されない。
【００３６】
ステップＳ５０１にて、周囲のブロックでＬ０予測を行っているブロックの個数を判定する。周囲のブロックでＬ０予測を行っているブロックが存在しない場合はステップＳ５０２に進む。周囲のブロックでＬ０予測を行っているブロックが１つだけ存在した場合はステップＳ５０３に進む。それ以外で周囲のブロックでＬ０予測を行っているブロックが複数（本実施形態では２ないし３）の場合はステップＳ５０４に進む。
【００３７】
ステップＳ５０２にて、周囲のブロックが存在するか否かを判定する。スライスやピクチャの端部で参照できる周囲のブロックが存在しない場合、ステップＳ５０５に進み、存在する場合はステップＳ５０６に進む。
【００３８】
ステップＳ５０５にて、周囲のブロックに限定せず、直前に符号化されたブロックが存在するか否かを判定し、存在しなければステップＳ５０７に進み、存在すればステップＳ５０８に進む。
【００３９】
ステップＳ５０７にて、周囲に参照できるブロックもなく、直前に符号化されたブロックもないため、所定値を量子化パラメータ予測値とする。ステップＳ５０８にて、周囲には参照できるブロックが存在しないが、直前に符号化されたブロックが存在するので、直前に符号化されたブロックの量子化パラメータを量子化パラメータ予測値とする。
【００４０】
ステップＳ５０６にて、周囲に参照できるブロックが存在するため、参照できるブロックの量子化パラメータから量子化パラメータ予測値を算出する。量子化パラメータ予測値の算出の方法は特に限定しないが、周囲ブロックの量子化パラメータの平均値を算出する、中央値を算出する、左方ブロックの量子化パラメータを量子化パラメータ予測値とする等の方法で量子化パラメータ予測値を算出する。
【００４１】
ステップＳ５０３にて、周囲ブロックの中でＬ０予測を行っているブロックが１つ存在するので、そのブロックの量子化パラメータを量子化パラメータ予測値とする。ステップＳ５０４にて、周囲ブロックの中でＬ０予測を行っているブロックが複数存在するため、Ｌ０予測を行っているブロックの量子化パラメータから量子化パラメータ予測値を算出する。量子化パラメータ予測値の算出の方法は特に限定しないが、周囲ブロックの量子化パラメータの平均値を算出する、中央値を算出する、左方ブロックの量子化パラメータを量子化パラメータ予測値とする等の方法で量子化パラメータ予測値を算出する。
【００４２】
図４に戻り、ステップＳ４０４にて、符号化対象ブロックの周囲のブロックのブロック予測モードがＬ１予測であるブロックを参照して量子化パラメータ予測値を算出する。ステップＳ４０４の詳細については、ステップＳ４０３のＬ０予測をＬ１予測に置き換えた場合と同じであるので、説明を省略する。ステップＳ４０５にて、符号化対象ブロックの周囲のブロックのブロック予測モードが双方向予測であるブロックを参照して量子化パラメータ予測値を算出する。
【００４３】
図６にステップＳ４０５で行う符号化対象ブロックのブロック予測モードが双方向予測であった場合の量子化パラメータ予測値を算出するフローチャートを示す。図６において、図５のフローチャートと同様の機能を果たすステップには同じ番号を付与し、説明を省略する。また、本実施形態では符号化対象ブロックの上方、左上方、左方に隣接するブロックを周囲ブロックとして説明するが、これに限定されない。
【００４４】
ステップＳ６０１にて、周囲のブロックで双方向予測を行っているブロックの個数を判定する。周囲のブロックで双方向予測を行っているブロックが存在しない場合はステップＳ５０２に進む。周囲のブロックで双方向予測を行っているブロックが１つだけ存在した場合はステップＳ６０３に進む。それ以外で周囲のブロックで双方向予測を行っているブロックが複数（本実施形態では２ないし３）の場合はステップＳ６０４に進む。
【００４５】
ステップＳ６０３にて、周囲ブロックの中で双方向予測を行っているブロックが１つ存在するので、そのブロックの量子化パラメータを量子化パラメータ予測値とする。ステップＳ６０４にて、周囲ブロックの中で双方向予測を行っているブロックが複数存在するため、双方向予測を行っているブロックの量子化パラメータから量子化パラメータ予測値を算出する。量子化パラメータ予測値の算出の方法は特に限定しないが、周囲ブロックの量子化パラメータの平均値を算出する、中央値を算出する、左方ブロックの量子化パラメータを量子化パラメータ予測値とする等の方法で量子化パラメータ予測値を算出する。
【００４６】
図１に戻り、量子化パラメータ符号化部１１３ではまず、量子化パラメータ予測部１１２で算出された量子化パラメータの予測値と量子化パラメータ決定部１０２で決定された符号化対象ブロックの量子化パラメータとの差分値を算出する。続いてその差分値を符号化し、Ｈ．２６４の書式に基づき量子化パラメータ符号データを生成する。生成された量子化パラメータ符号データは統合符号化部１０７に入力される。
【００４７】
統合符号化部１０７はシーケンスやピクチャ、各スライスに関するヘッダ情報等の符号を生成する。統合符号化部１０７は各ブロック単位で、ブロック予測部１０３で生成されたブロック符号化モード、動き補償情報符号化部１１４で生成された動き補償情報符号データを入力する。同様に、量子化パラメータ符号化部１１３で生成された量子化パラメータ符号データ、ブロック符号化部１０６で生成された量子化係数符号データを入力する。これらを符号化・統合してブロック単位の符号データを生成する。生成された符号化データはビットストリームとして端子１０８から外部に出力される。
【００４８】
図２は、実施形態１に係る画像符号化装置における画像符号化処理を示すフローチャートである。
【００４９】
ステップＳ２０１にて、符号化対象となるシーケンス等のヘッダ情報を生成し出力する。ステップＳ２０２にて、符号化対象となるピクチャを入力する。ステップＳ２０３にて、ピクチャの符号化モードをイントラピクチャとするか、インターピクチャとするかを決定する。決定されたピクチャの符号化モードは符号化され、ピクチャモード符号データとしてピクチャのヘッダの符号化データに統合されて出力される。ステップＳ２０４にて、ピクチャの符号化モードを判定し、イントラピクチャであれば、ステップＳ２０５に進み、インターピクチャであればステップＳ２０６に進む。
【００５０】
ステップＳ２０５にて、入力されたピクチャがイントラピクチャとして、イントラ予測、変換、量子化、符号化を経て、ビットストリームを生成する。ステップＳ２０６にて、動き補償を行って符号化するインターピクチャ符号化を入力ピクチャに対して行い、ビットストリームを生成する。図３にステップＳ２０６で行うインターピクチャ符号化処理のフローチャートを示す。ステップＳ３０１にて、符号化対象ピクチャから符号化対象となるブロックを入力する。ステップＳ３０２にて、符号化対象のブロックの特性、他のピクチャとの相関を用いて、ブロック符号化モードを決定する。ブロック符号化モードはイントラ予測を行い符号化するイントラ符号化か、動き補償を用いて符号化するインター符号化かである。なお、ブロック符号化モード決定時に他のピクチャとの相関を算出する際に動きベクトル等を算出した場合はこれを保持しておく。決定されたブロック符号化モードは符号化され、ブロック符号化モード符号データが生成される。
【００５１】
ステップＳ３０３にて、ステップＳ３０２で決定したブロック符号化モードを判定する。ブロック符号化モードがイントラ符号化であればステップＳ３０４に進み、そうでなければステップＳ３０８に進む。ステップＳ３０４にて、周囲のブロックの画素の値からイントラ予測を行ない、予測誤差を算出する。ステップＳ３０５にて、予測誤差の特性、発生符号量等を参考にして量子化パラメータを決定する。
【００５２】
ステップＳ３０６にて、ステップＳ３０４にて算出された予測誤差を変換し、ステップＳ３０５にて決定された量子化パラメータを用いて量子化して量子化係数を算出する。ステップＳ３０７にて、ステップＳ３０５で決定された量子化パラメータを符号化し、ビットストリームに追加する。ステップＳ３０８にて、ステップＳ３０６で算出された量子化係数を符号化し、ビットストリームに追加する。その後、ステップＳ３１６に進む。
【００５３】
一方、ステップＳ３０３でブロック予測モードがインター予測となったブロックに関して、ステップＳ３０９にて、まず、符号化対象ブロックと他の参照ピクチャで動くベクトル探索を行う。その結果に応じて、ブロック予測モード、動きベクトル、参照ピクチャの動き補償情報を決定し、動き補償予測を行い、予測誤差を算出する。決定された動き補償情報は周囲ブロックの動き補償情報の参照で用いるため、これを保持する。
【００５４】
ステップＳ３１０にて、予測誤差の特性、発生符号量等を参考にして量子化パラメータを決定する。決定された量子化パラメータは周囲ブロックの量子化パラメータの参照で用いるため、これを保持する。ステップＳ３１１にて、ステップＳ３０９にて算出された予測誤差を変換し、ステップＳ３１０にて決定された量子化パラメータを用いて量子化して量子化係数を算出する。
【００５５】
ステップＳ３１２にて、量子化パラメータを符号化するために量子化パラメータの予測を行い、量子化パラメータの予測値を算出する。ここでは図４から図６のフローチャートに記した処理によって、量子化パラメータ予測値を算出する。ステップＳ３１３にて、算出された量子化パラメータ予測値と符号化対象ブロックの量子化パラメータとの差分値を算出する。ステップＳ３１４にて、ステップＳ３１３で算出された量子化パラメータの差分値を符号化し、量子化パラメータ符号データを生成する。
【００５６】
ステップＳ３１５にて、ステップＳ３０８で決定した動き補償情報を符号化し、動き補償情報符号データを生成する。ステップＳ３１６にて、ステップＳ３１１にて算出された量子化係数を符号化し、量子化係数符号データを生成する。ステップＳ３１７にて、符号化対象のピクチャの全ブロックに対して符号化処理を終了したか否かを判定する。全ブロックの符号化処理が終了していなければステップＳ３０１に進み、次のブロックの符号化処理を行う。終了していればインターピクチャの符号化処理を終了する。
【００５７】
図２に戻り、ステップＳ２０７にて、符号化処理を行ったピクチャがシーケンスの最終ピクチャか否かを判定し、最終ピクチャでなければステップＳ２０２に戻り、次のピクチャの符号化処理を開始する。最終ピクチャであれば、符号化処理を終了する。
【００５８】
以上の構成と動作により、動き補償情報、特にブロック予測モードに従ったブロック単位の量子化パラメータの差分値を符号化ができる。これにより、符号化対象に含まれるオブジェクトに関してオブジェクト内の動き、それを表すブロック予測モードに従って量子化パラメータを予測することで符号化効率の向上が可能になる。
【００５９】
また、本実施形態ではＨ．２６４を例にとって説明したが、これに限定されず、ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４等の符号化方式であってももちろん構わない。なお、本実施形態において、Ｈ．２６４で用いられるＬ０予測、Ｌ１予測、双方向予測を例にとって説明したが、これに限定されない。例えば、ブロック予測モードとして、ダイレクトモードやスキップモードを加えても良い。図７にこれらのモードを加えた量子化パラメータ予測処理のフローチャートを示す。図７において、図４のフローチャートと同様の機能を果たすステップには同じ番号を付与し、説明を省略する。
【００６０】
ステップＳ７０１にて、符号化対象ブロックがスキップモードであった場合、ステップＳ７０２に進み、そうでなければステップＳ７０３に進む。ステップＳ７０２にて、符号化対象ブロックの周囲のブロックからスキップモードで符号化されたブロックから量子化パラメータ予測値を算出する。その方法は限定されないが、図５のＬ０予測をダイレクトモードに置き換えた処理を行ってもよい。
【００６１】
ステップＳ７０３にて、符号化対象ブロックがダイレクトモードであった場合、ステップＳ７０４に進み、そうでなければステップＳ４０２に進む。ステップＳ７０４にて、符号化対象ブロックの周囲のブロックからダイレクトモードで符号化されたブロックから量子化パラメータ予測値を算出する。その方法は限定されないが、図５のＬ０予測をスキップモードに置き換えた処理を行ってもよい。
【００６２】
以上の動作により、ダイレクトモードやスキップモードにも対応して量子化パラメータ予測値を算出することにより、より細やかな対応が可能になる。
【００６３】
なお、実施形態において、ダイレクトモードとスキップモードを個別に分離したが、これに限定されない。符号化対象ブロックがダイレクトモードかスキップモードのいずれかであった場合、同様に周囲のダイレクトモードまたはスキップモードのブロックから量子化パラメータ予測値を算出しても構わない。
【００６４】
また、ブロック予測モードの判定の順番はこれに限定されない。例えば、予測ブロックが双方向予測か否かを判定し、双方向予測でないブロックであった場合、更にＬ０予測かＬ１予測かを判定してももちろん構わない。
【００６５】
また、周囲ブロックはこれに限定されず、右上のブロックを周囲ブロックに加えても構わないし、さらには隣接しないブロックを周囲ブロックとしても構わない。また、ブロック予測モードはこれらに限定されず、２枚以上のピクチャを参照する予測を行うモード等があってももちろん構わない。
【００６６】
＜実施形態２＞
本発明の実施形態２を、図１から図３と図８、図９を使って説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００６７】
以下、本発明の実施形態を、図面を用いて説明する。本実施形態の画像符号化装置の構成は図１に示したブロック図と同様である。但し、本実施形態ではＨＥＶＣを例にとって説明する。
【００６８】
ブロック分割部１０１が基本ブロックのサイズを１６画素×１６画素とし、サブブロックとして８画素×８画素にさらに分割する方法を例にとって説明する。但し、ブロックの形状、サイズはこれらに限定されない。ブロック予測部１０３ではＨＥＶＣのブロック予測モードに対応して予測を行う。ＨＥＶＣではブロック予測モードとしてＬ０予測、ＬＣ予測、双方向予測が用いられる。ブロックが含まれるスライスがＰスライスであればＬ０予測が行われる。ブロック予測モードがＬＣ予測であれば、動き補償情報はＬＣ予測の参照ピクチャとＬＣ予測の動きベクトルで構成される。ＬＣ予測はＬ０予測とＬ１予測を統合したものである。ブロック予測モードが双方向予測であれば、Ｈ２６４と同様にブロック予測モード、Ｌ０予測、Ｌ１予測の参照ピクチャ、Ｌ０予測、Ｌ１予測の動きベクトルで構成される。
【００６９】
上記画像符号化装置における画像の符号化動作を以下に説明する。
【００７０】
端子１００から入力された１ピクチャ分の画像データはブロック分割部１０１に入力され、１６画素×１６画素の基本ブロックに分割される。さらに必要に応じて、８画素×８画素のサブブロックに分割される。分割された画像データは量子化パラメータ決定部１０２とブロック予測部１０３に入力される。
【００７１】
ブロック予測部１０３では入力された基本ブロック単位またはサブブロック単位で予測を行う。予測を行った結果、予測誤差と動き補償情報を生成する。予測誤差は直交変換、量子化の後、ブロック符号化部１０６でＨＥＶＣの書式に従い符号化され、量子化係数符号データを生成する。また、動き補償情報は動き補償情報符号化部１１４でＨＥＶＣの書式に従い符号化され、動き補償情報符号データを生成する。
【００７２】
量子化パラメータ予測部１１２では図８に示す量子化予測値算出処理を行う。図８において、図４のフローチャートと同様の機能を果たすステップには同じ番号を付与し、説明を省略する。
【００７３】
ステップＳ４０１にて、対象ブロックを含むスライスがＰスライスかＢスライスかを判定する。Ｐスライスであれば、ステップＳ８０２に進み、そうでなければ、ステップＳ８０１に進む。ステップＳ８０１にて、符号化対象ブロックのブロック予測モードを判定する。符号化対象ブロックのブロック予測モードがＬＣ予測であればステップＳ８０３に進み、双方向予測であればステップＳ８０４に進む。ステップＳ８０３にて、符号化対象ブロックの周囲のブロックのブロック予測モードがＬＣ予測であるブロックを参照して量子化パラメータ予測値を算出する。図９にステップＳ８０３で行う符号化対象ブロックのブロック予測モードがＬＣ予測であった場合の量子化パラメータ予測値を算出するフローチャートを示す。図９において、図５のフローチャートと同様の機能を果たすステップには同じ番号を付与し、説明を省略する。
【００７４】
ステップＳ９０１にて、周囲のブロックでＬＣ予測を行っているブロックの個数を判定する。この際、周囲のブロックで１６画素×１６画素のものと８画素×８画素のものが混在するが、いずれのブロックサイズのものであっても構わない。周囲のブロックでＬＣ予測を行っているブロックが存在しない場合はステップＳ５０２に進む。周囲のブロックでＬＣ予測を行っているブロックが１つだけ存在した場合はステップＳ９０３に進む。それ以外で周囲のブロックでＬ０予測を行っているブロックが複数（本実施形態では２ないし５）の場合はステップＳ９０４に進む。
【００７５】
ステップＳ９０３にて、周囲ブロックの中でＬＣ予測を行っているブロックが１つ存在するので、そのブロックの量子化パラメータを量子化パラメータ予測値とする。ステップＳ９０４にて、周囲ブロックの中でＬＣ予測を行っているブロックがそのブロックサイズにかかわらず複数存在するため、ＬＣ予測を行っているブロックの量子化パラメータから量子化パラメータ予測値を算出する。量子化パラメータ予測値の算出の方法は特に限定しないが、周囲ブロックの量子化パラメータの平均値を算出する、中央値を算出する、左方ブロックの量子化パラメータを量子化パラメータ予測値とする等の方法で量子化パラメータ予測値を算出する。
【００７６】
図８に戻り、ステップＳ８０２にて、ＰスライスはＬ０予測を行っているので、周囲ブロックでＬ０予測を行っているブロックを参照して符号化対象ブロックの量子化パラメータ予測値を算出する。ステップＳ８０２の詳細については、図９で説明したステップＳ８０３のＬＣ予測をＬ０予測に置き換えた場合と同じであるので、説明を省略する。
【００７７】
ステップＳ８０４にて、符号化対象ブロックの周囲のブロックのブロック予測モードが双方向予測であるブロックを参照して量子化パラメータ予測値を算出する。双方向予測にあっては、図６に示したステップＳ４０５で行う符号化対象ブロックのブロック予測モードが双方向予測であった場合の量子化パラメータ予測値を算出するフローチャートを用いて、説明する。図６において、周囲のブロックの構成が複数のブロックサイズが存在し、参照できるブロック数が異なる。それ以外は基本的に同様の処理が行われる。
【００７８】
図４に戻り、量子化パラメータ予測値の算出を終了する。また、画像符号化処理を示すフローチャートについては、図２及び図３と同様であるため、説明は省略する。
【００７９】
以上の構成と動作により、ＨＥＶＣに対応した動き補償情報、特にブロック予測モードに従ったサブブロック量子化パラメータの差分値を符号化ができる。これにより更なる符号化効率の向上を実現することができる。
【００８０】
なお、本実施形態において、ブロックのサイズにかかわらず符号化対象ブロックの周囲のブロックを選択したが、これに限定されず、その中から限定しても構わない。例えば、左上のブロックに関してはそのサイズが１６画素×１６画素であっても８画素×８画素であっても左上ブロックの右下の画素が符号化対象ブロックの右上に接するブロックを選択する。また、上方のブロックに関して符号化対象ブロックのサイズが１６画素×１６画素で、上方のブロックが８画素×８画素のサブブロックであった場合、符号化対象ブロックの右上に接するサブブロックをのみ選択することも可能である。左方に関しても同様である。また、周囲ブロックはこれに限定されず、右上のブロックを周囲ブロックに加えても構わないし、さらには隣接しないブロックを周囲ブロックとしても構わない。
【００８１】
＜実施形態３＞
本発明の実施形態を、図１０から図１２を使って説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００８２】
以下、本発明の実施形態を、図面を用いて説明する。図１０は本実施形態の画像復号装置を示すブロック図である。本実施形態では実施形態１で生成されたビットストリームの復号を行う。
【００８３】
図１０において、１０００は動画の符号データを入力する端子である。１００１は統合復号部であり、実施形態１の図１における統合符号化部１０７の逆の動作を行い、ヘッダの復号、各符号データの分割を行う。量子化係数符号データはブロック復号部１００２に、量子化パラメータ符号データは量子化パラメータ復号部１００３に、動き補償情報符号データは動き補償情報復号部１００４に出力される。また、統合復号部１００１はイントラ予測に関する情報も復号し、ブロック予測部１０１５に入力する。１００２は実施形態１の図１におけるブロック符号化部１０６の逆の動作を行い、量子化係数符号データの復号を行い、量子化係数を再生するブロック復号部である。１００３は実施形態１の図１における量子化パラメータ符号化部１１３の逆の動作を行い、量子化パラメータの差分値を再生する量子化パラメータ復号部である。１００４は実施形態１の図１における動き補償情報符号化部１１４の逆の動作を行い、動き補償情報符号データを復号して動き補償情報を再生する動き補償情報復号部である。
【００８４】
１０１０は実施形態１の図１における動き情報保持部１１０と同様にブロック単位で動き補償情報を保持する動き補償情報保持部である。１０１２は実施形態１の図１における量子化パラメータ保持部１１１と同様にブロック単位で量子化パラメータを保持する量子化パラメータ保持部である。１０１３は符号化対象ブロックの動き補償情報と周囲のブロックの動き補償情報と量子化パラメータから復号対象ブロックの量子化パラメータ予測値を算出する量子化パラメータ予測部である。１０１４は量子化パラメータ予測値と量子化パラメータ復号部１００３で復号された量子化パラメータ差分値から量子化パラメータを再生する量子化パラメータ再生部である。１００５は実施形態１の図１におけるブロック量子化部１０５の逆の動作を行い、再生された量子化パラメータに従って量子化係数から直交変換係数を再生するブロック逆量子化部である。１００６は実施形態１の図１におけるブロック変換部１０４の逆の動作を行い、直交変換係数から予測誤差を再生するブロック逆変換部である。１０１５はインターピクチャに関しては再生された動き補償情報に基づき、復号対象ピクチャの復号済み画像データや参照ピクチャから予測を行うブロック予測部である。１００７はブロック予測部１０１５で予測されたブロックのデータとブロック逆変換部１００６で再生された予測誤差から復号画像を生成するブロック再生画像生成部である。１００８はブロック単位で復号された画像を統合し、ピクチャを再生するブロック統合部である。１０１６は再生されたピクチャを保持する画像バッファである。１００９は再生されたピクチャを外部に出力するための端子である。
【００８５】
上記画像復号装置における画像の復号動作を以下に説明する。
【００８６】
端子１０００から入力された１ピクチャ分のビットストリームは統合復号部１００１に入力される。統合復号部１００１はシーケンスヘッダ、ピクチャヘッダ等を復号するとともに、量子化係数符号データ、量子化パラメータ符号データ動き補償情報符号データを分離する。分離された量子化係数符号データはブロック復号部１００２に、量子化パラメータ符号データは量子化パラメータ復号部１００３に、動き補償情報符号データは動き補償情報復号部１００４に出力される。動き補償情報復号部１００４は動き補償情報符号データを復号し、復号対象ブロックの動き補償情報を再生する。この再生された動き補償情報にはブロック予測モード、参照ピクチャ、動きベクトル等が含まれている。復号された動き補償情報は動き補償情報保持部１０１０にてブロック単位で保持される。
【００８７】
また、量子化パラメータ符号データは量子化パラメータ復号部１００３に入力され、復号され、量子化パラメータの差分値を再生する。量子化パラメータ予測部１０１３は動き補償情報保持部１０１０から周囲の動き補償情報を、動き補償情報を１００４から復号対象ブロックの動き補償情報を入力する。これらの動き補償情報から量子化パラメータ保持部１０１２で保持されている周囲ブロックの量子化パラメータから量子化パラメータ予測値を算出する。量子化パラメータ予測部１０１３における量子化パラメータ予測値の算出については、実施形態１の図４から図６と同様なので説明を省略する。
【００８８】
量子化パラメータ再生部１０１４は量子化パラメータ復号部１００３から量子化パラメータ差分値を、量子化パラメータ予測部１０１３から量子化パラメータ予測値を入力し、加算することで量子化パラメータを再生する。再生された量子化パラメータはブロック逆量子化部１００５と量子化パラメータ保持部１０１２に入力される。量子化パラメータ保持部１０１２ではブロック単位で量子化パラメータを保持し、周囲ブロックの参照に備える。
【００８９】
さらに、統合復号部１００１で分離された量子化係数符号データはブロック復号部１００２に入力される。ブロック復号部１００２では入力されたブロック単位の量子化係数符号データを復号して量子化係数を再生する。再生された量子化係数はブロック逆量子化部１００５に入力され、量子化パラメータ再生部１０１４で再生された量子化パラメータで逆量子化され、直交変換係数を再生する。再生された直交変換係数はブロック逆変換部１００６に入力され、逆直交変換を施され、予測誤差を再生する。
【００９０】
一方、復号対象ブロックがインター予測であれば、動き補償情報がブロック予測部１０１５に入力され、イントラ予測であれば、統合復号部１００１からイントラ予測情報が入力される。これらの情報に従って画像バッファ１０１６に保持されている画像データから予測を行い、予測値を算出しブロック再生画像生成部１００７に入力される。ブロック再生画像生成部１００７はブロック逆変換部１００６から入力された予測誤差とブロック予測部１０１５から入力された予測値からブロック単位での復号画像を生成する。再生された画像データは画像バッファ１０１６に保持され、予測に用いられる。同時に再生された画像データはブロック統合部１００８に入力され、ピクチャ単位にまとめられ、端子１００９から出力される。
【００９１】
図１１は、実施形態３に係る画像復号装置における画像復号処理を示すフローチャートである。
【００９２】
ステップＳ１１０１にて、符号化対象となるシーケンス等のヘッダ情報を復号し再生する。ステップＳ１１０２にて、復号するピクチャの符号データを入力する。ステップＳ１１０３にて、復号するピクチャの符号化モードを復号する。ステップＳ１１０４にて、ステップＳ１１０３で復号されたピクチャの符号化モードがイントラピクチャかインターピクチャかを判定し、復号対象ピクチャがイントラピクチャであればステップＳ１１０５に進み、インターピクチャであればステップＳ１１０６に進む。ステップＳ１１０５にて、復号対象ピクチャはイントラピクチャであるので、イントラピクチャの復号を行い、復号画像を再生する。
【００９３】
ステップＳ１１０６にて、復号対象ピクチャはインターピクチャであるので、インターピクチャの復号を行い、復号画像を再生する。図１２にインターピクチャの復号処理のフローチャートを示す。ステップＳ１２０１にて、復号対象ピクチャの符号データから復号するブロックの符号データを入力する。ステップＳ１２０２にて、復号対象のブロックのブロック符号化モード符号データを復号し、ブロックのブロック符号化モードを再生する。
【００９４】
ステップＳ１２０３にて、復号対象ブロックのブロック符号化モードを判定する。ブロック符号化モードがイントラ符号化であればステップＳ１２０４に進み、インター符号化であればステップＳ１２０８に進む。ステップＳ１２０４にて、復号対象ブロックはイントラ符号化が行われているので、イントラ予測の情報を復号し、周囲の画素から予測を行い、予測値を算出する。
【００９５】
ステップＳ１２０５にて、復号対象ブロックの量子化パラメータ符号データを復号し、量子化パラメータを再生する。ステップＳ１２０６にて、復号対象ブロックの量子化係数符号データを復号し、量子化係数を再生する。ステップＳ１２０７にて、ステップＳ１１２０５で再生された量子化パラメータによって量子化係数を逆量子化して直交変換係数を再生する。再生された直交変換係数に対して逆直交変換を行い、予測誤差を再生する。
【００９６】
一方、ステップＳ１２０８にて、復号対象ブロックはインター符号化が行われているので、復号対象ブロックの動き補償情報符号データを復号して動き補償情報を再生する。再生された動き補償情報は以後に参照するために保持しておく。ステップＳ１２０９にて、復号対象ブロックの量子化パラメータ符号データを復号し、量子化パラメータ差分値を再生する。ステップＳ１２１０にて、量子化パラメータを再生するために復号対象ブロックの周囲のブロックから量子化パラメータの予測を行い、量子化パラメータ予測値を算出する。具体的にはステップＳ１２０８で再生した動き補償情報と周囲ブロックの動き補償情報を比較して量子化パラメータ予測値となる量子化パラメータを決定し、量子化パラメータ予測値を算出する。ここでは実施形態１で説明した図４から図６のフローチャートに記した処理によって、量子化パラメータ予測値を算出する。
【００９７】
ステップＳ１２１１にて、ステップＳ１２０９で再生された量子化パラメータ差分値とステップＳ１２１０で算出された量子化パラメータ予測値から復号対象ブロックの量子化パラメータを再生する。再生された量子化パラメータは以後に参照するため、保持しておく。
【００９８】
ステップＳ１２１２にて、ステップＳ１２０８で再生された動き補償情報に基づいてブロック予測モード、参照ピクチャ、動きベクトルから動き補償を行い、予測値を算出する。ステップＳ１２１３にて、復号対象ブロックの量子化係数符号データを復号し、量子化係数を再生する。ステップＳ１２１４にて、ステップＳ１２１３で再生された量子化係数に対して、ステップＳ１２１１で再生された量子化パラメータを用いて逆量子化して直交変換係数を再生する。さらに直交変換係数に対して逆直交変換を行い、予測誤差を再生する。
【００９９】
ステップＳ１２１５にて、ブロック符号化モードがイントラ符号化の場合とインター符号化の場合でそれぞれ再生された予測誤差と予測値を加算し、ブロックの画素データを再生する。ステップＳ１２１６にて、復号対象のピクチャの全ブロックに対して復号処理を終了したか否かを判定する。全ブロックの復号処理が終了していなければステップＳ１２０１に進み、次のブロックの復号処理を行う。終了していればインターピクチャの復号処理を終了する。
【０１００】
図１１に戻り、ステップＳ１１０７にて、復号処理を行ったピクチャがシーケンスの最終ピクチャか否かを判定し、最終ピクチャでなければステップＳ１１０２に戻り、次のピクチャの復号処理を開始する。最終ピクチャであれば、復号処理を終了する。
【０１０１】
以上の構成と動作により、動き補償情報、特にブロック予測モードに従ったブロック単位の量子化パラメータの差分値の符号化を行ったビットストリームに対して、復号に必要な最適な量子化パラメータ予測値の算出ができる。これにより、復号対象に含まれるオブジェクトに関してオブジェクト内の動き、それを表すブロック予測モードに従って量子化パラメータを予測することで復号画像の再生が可能になる。
【０１０２】
また、本実施形態ではＨ．２６４で符号化された実施形態１で生成されたビットストリームの復号を例にとって説明したが、これに限定されず、ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４等の符号化方式であってももちろん構わない。また、実施形態２で生成されたビットストリームに対して、図１２のステップＳ１２１０にて実施形態２の図８、９の量子化パラメータの予測を行うことによってＨＥＶＣに対応することももちろん可能である。
【０１０３】
＜実施形態４＞
本発明の実施形態４を、図１、図４、図１３から図１５を使って説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【０１０４】
以下、本発明の実施形態を、図面を用いて説明する。本実施形態の画像符号化装置の構成は図１に示したブロック図と同様である。但し、本実施形態ではＨ．２６４を例にとって説明する。
【０１０５】
量子化パラメータ予測部１１２が実施形態１では動き補償情報の内、ブロック予測モードに従って量子化パラメータ予測値を算出したが、本実施形態ではブロック予測モードに加え、参照ピクチャに従って量子化パラメータ予測値を算出する点が異なる。
【０１０６】
上記画像符号化装置における画像の符号化動作を以下に説明する。実施形態１と同様に量子化パラメータ決定部１０２にて符号化対象の量子化パラメータが決定される。また、ブロック予測部１０３は符号化対象ブロックの動き補償情報を算出する。動き補償情報保持部１１０は周囲ブロックの動き補償情報の参照のため、ブロック単位で動き補償情報を保持している。量子化パラメータ保持部１１１は周囲ブロックの量子化パラメータの参照のため、ブロック単位で量子化パラメータを保持している。
【０１０７】
量子化パラメータ予測部１１２はこれらの情報を入力する図４及び。図１３から図１５に量子化パラメータ予測値の算出についてフローチャートを示す。図４において、実施形態１と同様にスライスがＰスライスかＢスライスかを判定し、符号化対象ブロックのブロック予測モードの判定と合わせて、ステップＳ４０３からステップＳ４０５を選択する。
【０１０８】
ステップＳ４０５にて、符号化対象ブロックがＬ０予測であった場合、周囲ブロックでＬ０予測を行っているブロックを参照して量子化パラメータ予測値を算出する。図１３は実施形態４におけるステップＳ４０３の詳細なフローチャートである。図１３において、図５のフローチャートと同様の機能を果たすステップには同じ番号を付与し、説明を省略する。本フローチャートは符号化対象ブロックのブロック予測モードがＬ０予測の場合の量子化パラメータ予測値の算出処理を示している。実施形態１と同様にステップＳ５０１にて周囲のブロックの動き補償情報のブロック予測モードを参照してＬ０予測を行っているブロックの個数を判定する。Ｌ０予測を行っているブ周囲ブロックの数が０または１以外の場合、ステップＳ１３０４に進む。
【０１０９】
ステップＳ１３０４にて、周囲ブロックの中でＬ０予測を行っている複数のブロックの量子化パラメータから量子化パラメータ予測値を算出する。図１４にステップＳ１３０４で行う量子化パラメータ予測値の算出処理のフローチャートを示す。
【０１１０】
ステップＳ１４０１にて、周囲ブロックでＬ０予測を行っているブロックを抽出する。ステップＳ１４０２にて、ステップＳ１４０１で抽出されたブロックの中で符号化対象ブロックが参照する参照ピクチャと同じ参照ピクチャを参照するブロックの個数を判定する。同じ参照ピクチャを参照するブロックが存在しない場合、ステップＳ１４０３に進む。同じ参照ピクチャを参照するブロックが１つだけ存在した場合はステップＳ１４０４に進む。２つ以上存在すればステップＳ１４０５に進む。
【０１１１】
ステップＳ１４０３にて、ステップＳ１４０１で抽出されたＬ０予測を行っている周囲ブロックの量子化パラメータから量子化パラメータ予測値を算出する。量子化パラメータ予測値の算出の方法は特に限定しない。例えば、抽出された周囲ブロックの参照ピクチャと符号化対象ブロックの動き補償情報の参照ピクチャと比較し、符号化対象ブロックの動き補償情報の参照ピクチャに最も近い参照ピクチャを参照する周囲ブロックの量子化パラメータを量子化パラメータ予測値とする。また、これに限定されず、例えば、抽出された周囲ブロックの量子化パラメータの平均値を算出する、中央値を算出する、左方ブロックの量子化パラメータを量子化パラメータ予測値とする等の方法で量子化パラメータ予測値を算出してもよい。
【０１１２】
ステップＳ１４０４にて、周囲ブロックの中で符号化対象ブロックが参照する参照ピクチャと同じ参照ピクチャを参照するブロックが１つ存在するので、そのブロックの量子化パラメータを量子化パラメータ予測値とする。
【０１１３】
ステップＳ１４０５にて、周囲ブロックの中で符号化対象ブロックが参照する参照ピクチャと同じ参照ピクチャを参照するブロックが複数存在するため、これらのブロックの量子化パラメータから量子化パラメータ予測値を算出する。量子化パラメータ予測値の算出の方法は特に限定しないが、周囲ブロックの量子化パラメータの平均値を算出する、中央値を算出する、左方ブロックの量子化パラメータを量子化パラメータ予測値とする等の方法で量子化パラメータ予測値を算出する。また、他の情報を参照して量子化パラメータ予測値を算出しても構わない。例えば、周囲のブロックのＣＢＰ符号データを参照して決定しても構わない。ＣＢＰ符号はブロック内に有意な係数の有無を表し、有意な係数が多くあるブロックの量子化パラメータを量子化パラメータ予測値としても良い。
【０１１４】
図４に戻り、ステップＳ４０４にて、符号化対象ブロックの周囲のブロックのブロック予測モードがＬ１予測であるブロックから量子化パラメータ予測値を算出する。ステップＳ４０４の詳細については、図１３及び図１４のＬ０予測をＬ１予測に置き換えた場合と同じであるので、説明を省略する。
【０１１５】
ステップＳ４０５にて、符号化対象ブロックが双方向予測であった場合、周囲ブロックで双方向予測を行っているブロックを参照して量子化パラメータ予測値を算出する。ステップＳ４０５では図１３のＬ０予測を双方向予測と置き換えた処理を行う。図１５に符号化対象ブロックが双方向予測であった場合のステップＳ１３０４で行う量子化パラメータ予測値の算出処理のフローチャートを示す。
【０１１６】
ステップＳ１５０１にて、周囲ブロックで双方向予測を行っているブロックを抽出する。ステップＳ１５０２にて、ステップＳ１５０１で抽出されたブロックの中で符号化対象ブロックがＬ０予測とＬ１予測で参照する参照ピクチャと同じ参照ピクチャを参照するブロックの個数を判定する。同じ参照ピクチャを参照するブロックが存在しない場合、ステップＳ１５０３に進む。同じ参照ピクチャを参照するブロックが１つだけ存在した場合はステップＳ１５０４に進む。２つ以上存在すればステップＳ１５０６に進む。
【０１１７】
ステップＳ１５０３にて、ステップＳ１５０１で抽出された双方向予測を行っている周囲ブロックの量子化パラメータから量子化パラメータ予測値を算出する。量子化パラメータ予測値の算出の方法は特に限定しない。例えば、抽出された周囲ブロックの２つの参照ピクチャと符号化対象ブロックの動き補償情報の２つの参照ピクチャと比較する。符号化対象ブロックの動き補償情報の２つの参照ピクチャに最も近い２つの参照ピクチャを参照する周囲ブロックの量子化パラメータを量子化パラメータ予測値とする。例えば２つの参照ピクチャの近い者同士でその時間差を算出し、それらの合計が最も小さいものを選択すればよい。また、算出の方法はこれに限定されず、例えば、抽出された周囲ブロックの量子化パラメータの平均値を算出する、中央値を算出する、左方ブロックの量子化パラメータを量子化パラメータ予測値とする等の方法で量子化パラメータ予測値を算出してもよい。
【０１１８】
ステップＳ１５０４にて、周囲ブロックの中で符号化対象ブロックが参照する２つの参照ピクチャと同じ２つの参照ピクチャを参照するブロックが１つ存在するので、そのブロックの量子化パラメータを量子化パラメータ予測値とする。
【０１１９】
ステップＳ１５０５にて、周囲ブロックの中で符号化対象ブロックが参照する２つの参照ピクチャと同じ２つの参照ピクチャを参照するブロックが複数存在するため、これらのブロックの量子化パラメータから量子化パラメータ予測値を算出する。量子化パラメータ予測値の算出の方法は特に限定しないが、周囲ブロックの量子化パラメータの平均値を算出する、中央値を算出する、左方ブロックの量子化パラメータを量子化パラメータ予測値とする等の方法で量子化パラメータ予測値を算出する。また、他の情報を参照して量子化パラメータ予測値を算出しても構わない。例えば、周囲のブロックのＣＢＰ符号データを参照して決定しても構わない。ＣＢＰ符号はブロック内に有意な係数の有無を表し、有意な係数が多くあるブロックの量子化パラメータを量子化パラメータ予測値としても良い。
【０１２０】
図４に戻り、量子化パラメータ予測値の算出を終了する。
【０１２１】
以上の構成と動作により、動き補償情報、特にブロック予測モードに加えて参照ピクチャに従ったブロック単位の量子化パラメータの差分値を符号化ができる。これにより更なる符号化効率の向上を実現することができる。
【０１２２】
また、本実施形態ではＨ．２６４を例にとって説明したが、これに限定されず、ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４、ＨＥＶＣ等の符号化方式であってももちろん構わない。なお、本実施形態において、Ｈ．２６４で用いられるＬ０予測、Ｌ１予測、双方向予測を例にとって説明したが、これに限定されない。
【０１２３】
＜実施形態５＞
本発明の実施形態５を、図１、図４、図１６から図２０を使って説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【０１２４】
以下、本発明の実施形態を、図面を用いて説明する。本実施形態の画像符号化装置の構成は図１に示したブロック図と同様である。但し、本実施形態ではＨ．２６４を例にとって説明する。
【０１２５】
量子化パラメータ予測部１１２が実施形態１では動き補償情報の内、ブロック予測モードに従って量子化パラメータ予測値を算出したが、本実施形態ではブロック予測モードに加え、参照の方向に従って量子化パラメータ予測値を算出する点が異なる。
【０１２６】
上記画像符号化装置における画像の符号化動作を以下に説明する。実施形態１と同様に量子化パラメータ決定部１０２にて符号化対象の量子化パラメータが決定される。また、ブロック予測部１０３は符号化対象ブロックの動き補償情報を算出する。動き補償情報保持部１１０は周囲ブロックの動き補償情報の参照のため、ブロック単位で動き補償情報を保持している。量子化パラメータ保持部１１１は周囲ブロックの量子化パラメータの参照のため、ブロック単位で量子化パラメータを保持している。
【０１２７】
量子化パラメータ予測部１１２はこれらの情報を入力する。図１６から図１９に量子化パラメータ予測値の算出についてフローチャートを示す。図１６において、実施形態１と同様にステップＳ４０１にて、スライスがＰスライスかＢスライスかを判定する。Ｐスライスであれば、ステップＳ１６０６に進み、そうでなければ、ステップＳ１６０１に進む。
【０１２８】
ステップＳ１６０１にて、予測モードと参照ピクチャから符号化対象ブロックが符号化対象ピクチャの前後のピクチャを参照して予測を行っているか、そうでないかを判定する。以下では前後のピクチャを参照して予測を行うことを前後方向予測と呼称する。符号化対象ブロックが前後方向予測であれば、ステップＳ１６０２に進み、それ以外であればステップＳ１６０３に進む。
【０１２９】
ステップＳ１６０３にて、符号化対象ブロックのＬ０予測とＬ１予測が共に過去のピクチャを参照する前方向予測か否かを判定する。符号化対象ブロックのＬ０予測とＬ１予測が共に前方向予測であれば、ステップＳ１６０４に進む。そうではない場合は時間的に未来のピクチャを参照する後方向予測であり、その場合はステップＳ１６０５に進む。
【０１３０】
ステップＳ１６０４とステップＳ１６０５では参照する参照ピクチャが１つの参照ピクチャか複数の参照ピクチャかを判定する。すなわち、ステップＳ１６０４では前方向予測の参照ピクチャが１つの参照ピクチャであればステップＳ１６０６に進み、複数の参照ピクチャであればステップＳ１６０７に進む。
【０１３１】
ステップＳ１６０２にて、符号化対象ブロックが前後方向予測であった場合、周囲ブロックで前後方向予測を行っているブロックを参照して量子化パラメータ予測値を算出する。図１７は実施形態５におけるステップＳ１６０２の詳細なフローチャートである。ステップＳ１７０１にて、周囲のブロックの中で前後方向予測を行っているブロックを抽出する。
【０１３２】
ステップＳ１７０２にて、ステップＳ１７０１の抽出されたブロックの個数を判定し、もし周囲ブロックに前後方向予測を行うブロックがなければステップＳ１７０３に進む。さらに、１つだけ存在すればステップＳ１７０４に進み、２つ以上存在すればステップＳ１７０５に進む。
【０１３３】
ステップＳ１７０３にて、周囲ブロックの中に前後方向予測を行ったブロックが存在しないため、直前に符号化された前後方向予測を行ったブロックの量子化パラメータを量子化パラメータ予測値とする。もし、直前に符号化された前後方向予測を行ったブロックがない場合は予め決められた所定値を入れても良い。
【０１３４】
ステップＳ１７０４にて、周囲ブロックの中に前後方向予測を行ったブロックが１つだけ存在するので、そのブロックの量子化パラメータを量子化パラメータ予測値とする。ステップＳ１７０５にて、周囲のブロックの中から前後方向予測を行ったブロックの中で符号化対象ブロックのＬ０予測とＬ１予測の参照ピクチャと同じ参照ピクチャを持つブロックを抽出する。
【０１３５】
ステップＳ１７０６にて、ステップＳ１７０５にて抽出されたＬ０予測とＬ１予測の参照ピクチャの個数を判定する。周囲のブロックに符号化対象ブロックの参照ピクチャとＬ０予測とＬ１予測ともに同じ参照ピクチャを持つブロックが存在しなければステップＳ１７０７に進む。さらに１つだけブロックが存在すればステップＳ１７０８に進み、複数存在するのであればステップＳ１７０９に進む。
【０１３６】
ステップＳ１７０７にて、Ｌ０予測とＬ１予測で同じ参照ピクチャを持つブロックが存在しないので、それぞれの周囲のブロックの参照ピクチャを参照する。その結果、時間的に符号化対象ピクチャと距離が最小である参照ピクチャを持つ周囲ブロックの量子化パラメータを量子化パラメータ予測値とする。もし、距離が最小となる参照ピクチャを持つ周囲ブロックが複数ある場合には、その平均値を量子化パラメータ予測値とする。但し、これに限定されず、中央値を選択したり、一意に選択したりしても構わない。ステップＳ１７０８にて、周囲ブロックの中にＬ０予測とＬ１予測ともに同じ参照ピクチャのブロックが１つだけ存在するので、そのブロックの量子化パラメータを量子化パラメータ予測値とする。
【０１３７】
ステップＳ１７０９にて、符号化対象ブロックの参照ピクチャとＬ０予測とＬ１予測ともに同じ参照ピクチャを持つ周囲ブロックが複数あるので、それらの量子化パラメータの平均値を量子化パラメータ予測値とする。但し、これに限定されず、中央値を選択したり、一意に選択したりしても構わない。
【０１３８】
図１６に戻り、ステップＳ１６０６にて、符号化対象ブロックが前方向予測でかつ参照ピクチャが１つであった場合、周囲ブロックで参照ピクチャが１つで前方向予測を行っているブロックを参照して量子化パラメータ予測値を算出する。図１８は実施形態５におけるステップＳ１６０６の詳細なフローチャートである。
【０１３９】
ステップＳ１８０１にて、周囲のブロックの中で、１つの参照ピクチャから前方向予測を行っているブロックを抽出する。ステップＳ１８０２にて、ステップＳ１８０１の抽出されたブロックの個数を判定する。もし周囲ブロックに１つの参照ピクチャから前方向予測を行うブロックがなければステップＳ１８０３に進み、１つだけ存在すればステップＳ１８０４に進み、２つ以上存在すればステップＳ１８０５に進む。
【０１４０】
ステップＳ１８０３にて、周囲ブロックの中に１つの参照ピクチャから前方向予測を行ったブロックが存在しないため、直前に符号化された１つの参照ピクチャから前方向予測を行ったブロックの量子化パラメータを量子化パラメータ予測値とする。もし、直前に符号化された１つの参照ピクチャから前方向予測を行ったブロックがない場合は周囲のインター予測を行ったブロックで同じ参照ピクチャを参照して符号化したブロックから算出しても構わない。また、算出方法はこれに限定されず、周囲の参照ピクチャで１つの参照ピクチャから参照している周囲ブロックを選択しても構わないし、予め決められた所定値を入れても良い。
【０１４１】
ステップＳ１８０４にて、周囲ブロックの中に１つの参照ピクチャから前方向予測を行ったブロックが１つだけ存在するので、そのブロックの量子化パラメータを量子化パラメータ予測値とする。ステップＳ１８０５にて、周囲ブロックの中で符号化対象ブロックが参照する参照ピクチャと同じ１つの参照ピクチャを参照して前方向予測を行ったブロックが複数存在するため、これらのブロックの量子化パラメータから量子化パラメータ予測値を算出する。量子化パラメータ予測値の算出の方法は特に限定しないが、符号化対象ブロックが参照する参照ピクチャと同じ１つの参照ピクチャを参照して前方向予測を行った周囲ブロックの量子化パラメータの平均値を算出する。または、中央値を算出したり、左方ブロックの量子化パラメータを量子化パラメータ予測値としたりする方法等で量子化パラメータ予測値を算出する。また、他の情報を参照して量子化パラメータ予測値を算出しても構わない。例えば、周囲のブロックのＣＢＰ符号データを参照して決定しても構わない。ＣＢＰ符号はブロック内に有意な係数の有無を表し、有意な係数が多くあるブロックの量子化パラメータを量子化パラメータ予測値としても良い。
【０１４２】
図１６に戻り、ステップＳ１６０７にて、符号化対象ブロックが前方向予測でかつ参照ピクチャが複数であった場合、周囲ブロックで参照ピクチャが複数で前方向予測を行っているブロックを参照して量子化パラメータ予測値を算出する。図１９は実施形態５におけるステップＳ１６０７の詳細なフローチャートである。
【０１４３】
ステップＳ１９０１にて、周囲のブロックの中で、複数の参照ピクチャから前方向予測を行っているブロックでＬ０予測、Ｌ１予測の参照ピクチャが符号化対象ブロックのＬ０予測、Ｌ１予測の参照ピクチャと一致するブロックを抽出する。
【０１４４】
ステップＳ１９０２にて、ステップＳ１９０１の抽出されたブロックの個数を判定する。もし周囲ブロックにＬ０予測、Ｌ１予測の参照ピクチャが符号化対象ブロックのＬ０予測、Ｌ１予測の参照ピクチャと一致するブロックがなければステップＳ１９０３に進む。さらに、１つだけ存在すればステップＳ１９０４に進み、２つ以上存在すればステップＳ１９０５に進む。
【０１４５】
ステップＳ１９０３にて、周囲ブロックの中にＬ０予測、Ｌ１予測の参照ピクチャが符号化対象ブロックのＬ０予測、Ｌ１予測の参照ピクチャと一致するブロックが存在しない。このため、直前に符号化された複数の参照ピクチャから前方向予測を行ったブロックの量子化パラメータを量子化パラメータ予測値とする。もし、直前に符号化された複数の参照ピクチャから前方向予測を行ったブロックがない場合は直前に参照ピクチャで複数の参照ピクチャから前方向予測を行った周囲のブロックから算出しても構わない。また、算出方法はこれに限定されず、直前に前方向予測を行った周囲ブロックを選択しても構わないし、予め決められた所定値を入れても良い。
【０１４６】
ステップＳ１９０４にて、周囲ブロックの中にＬ０予測、Ｌ１予測の参照ピクチャが符号化対象ブロックのＬ０予測、Ｌ１予測の参照ピクチャと一致するブロックが１つだけ存在するので、そのブロックの量子化パラメータを量子化パラメータ予測値とする。
【０１４７】
ステップＳ１８０５にて、周囲ブロックの中でＬ０予測、Ｌ１予測の参照ピクチャが符号化対象ブロックのＬ０予測、Ｌ１予測の参照ピクチャと一致するブロックが複数存在するため、これらのブロックの量子化パラメータから量子化パラメータ予測値を算出する。量子化パラメータ予測値の算出の方法は特に限定しないが、Ｌ０予測、Ｌ１予測の参照ピクチャが符号化対象ブロックのＬ０予測、Ｌ１予測の参照ピクチャと一致する周囲ブロックの量子化パラメータの平均値を算出する。または、中央値を算出したり、左方ブロックの量子化パラメータを量子化パラメータ予測値としたりする方法等で量子化パラメータ予測値を算出する。また、他の情報を参照して量子化パラメータ予測値を算出しても構わない。例えば、周囲のブロックのＣＢＰ符号データを参照して決定しても構わない。ＣＢＰ符号はブロック内に有意な係数の有無を表し、有意な係数が多くあるブロックの量子化パラメータを量子化パラメータ予測値としても良い。図１６に戻り、量子化パラメータ予測値の算出を終了する。
【０１４８】
以上の構成と動作により、動き補償情報、特にブロック予測モードに加えて参照ピクチャに従ったブロック単位の量子化パラメータの差分値を符号化ができる。これにより更なる符号化効率の向上を実現することができる。
【０１４９】
また、本実施形態ではＨ．２６４を例にとって説明したが、これに限定されず、ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４、ＨＥＶＣ等の符号化方式であってももちろん構わない。なお、本実施形態において、Ｌ０予測、Ｌ１予測を例にとって説明したが、これに限定されない。
【０１５０】
なお、本実施形態での判定の順番等はこれに限定されない。図１６に示したステップＳ１６０２の別な判定順での量子化パラメータ予測値の算出方法を図２０に示す。ステップＳ２００１にて、符号化対象ブロックの周囲のブロックの中で、前後方向予測を行っているブロックを抽出する。ステップＳ２００２にて、ステップＳ２００１の抽出されたブロックの中からＬ１予測で同じ参照ピクチャであるブロックの個数を判定する。もし周囲ブロックに同じＬ１予測の参照ピクチャを持つブロックがなければステップＳ２００３に進み、１つだけ存在すればステップＳ２００４に進み、２つ以上存在すればステップＳ２００５に進む。ステップＳ２００３にて、Ｌ１予測が符号化対象ブロックの参照ピクチャに最も近い参照ピクチャを参照する周囲のブロックから量子化パラメータ予測値を算出する。ステップＳ２００４及びステップＳ２００５にて、抽出されたブロックの中から符号化対象ブロックのＬ０予測で同じ参照ピクチャであるブロックの個数を判定する。ステップＳ２００４では、符号化対象ブロックのＬ０予測で同じ参照ピクチャであるブロックが１つのみであればステップＳ２００７に進み、そうでなければステップＳ２００５に進む。ステップＳ２００５では、符号化対象ブロックのＬ０予測で同じ参照ピクチャであるブロックが存在しなければステップＳ２００６に進む。１つだけ存在する場合はステップＳ２００７に進み、複数が存在する場合はステップＳ２００８に進む。ステップＳ２００６にて、Ｌ１予測が同じ参照ピクチャを参照し、Ｌ０予測が符号化対象ブロックの参照ピクチャに最も近い参照ピクチャを持つブロックから量子化パラメータ予測値を算出する。ステップＳ２００７ではＬ１予測、Ｌ０予測とも同じ参照ピクチャを参照するブロックが１つだけ存在するので、そのブロックの量子化パラメータを量子化パラメータ予測値とする。ステップＳ２００８にて、Ｌ１予測、Ｌ０予測とも同じ参照ピクチャを参照するブロックが複数存在するので、それらのブロックの量子化パラメータから量子化パラメータ予測値を算出する。このようにして、判断の順番を変えても良い。
【０１５１】
＜実施形態６＞
本発明の実施形態を、図２１から図２５と図８を使って説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【０１５２】
以下、本発明の実施形態を、図面を用いて説明する。図２１は本実施形態の画像符号化装置を示すブロック図である。本実施形態では実施形態１で生成されたビットストリームの符号化を行う。図２１において、図１のブロック図と同様の機能を果たすブロックには同じ番号を付与し、説明を省略する。２１０３はブロック予測部である。ブロック予測部２１０３は実施形態１の図１に記載のブロック予測部１０３と同様に割された各ブロック単位で予測を行う。インターピクチャでは、動き補償に必要な動き補償情報を生成し、動き補償情報に従って前後のピクチャを参照して動き補償予測を行う。動き補償情報はそのブロック予測モード、Ｌ０予測、Ｌ１予測の参照ピクチャ、Ｌ０予測、Ｌ１予測の動きベクトルで構成される。特に、本実施形態ではＬ０予測及びＬ１予測において参照ピクチャと動きベクトルの組み合わせを予測参照情報としてまとめて説明を行う。実施形態１のブロック予測部１０３と同様に動き補償情報を動き補償情報符号化部２１０１に、ブロック符号化モードを統合符号化部２１０７に出力する。
【０１５３】
２１０１は動きベクトル符号化部であり、実施形態１の図１に記載の動き補償情報符号化部１１４と同様に動き補償情報を符号化する。但し、実施形態１の動き補償情報符号化部１１４とは動きベクトルの符号化方法が異なる。本実施形態では、非特許文献３に記載の、ＡＭＶＰを用いて動きベクトルを符号化する。ＡＭＶＰでは前述の通り、周囲のブロックの予測参照情報から符号化対象ブロックの予測参照情報を予測し、符号化する。動き補償情報符号化部は実施形態１の動き補償情報符号化部１１４と同様に動き補償情報符号化データを統合符号化部２１０７に出力する。さらに予測された予測参照情報を量子化パラメータ予測部２１１２に出力する。
【０１５４】
２１１２は量子化パラメータ予測部であり、実施形態１の図１に記載の量子化パラメータ予測部１１２と同様に量子化パラメータの予測を行う。本実施形態では動き補償情報符号化部２１０１から予測に用いた予測参照情報を入力して量子化パラメータの予測を行う点が異なる。
【０１５５】
実施形態１と同様に入力された画像データはブロックに分割され、ブロック予測部２１０３に入力される。ブロック予測部２１０３では、実施形態１のブロック予測部１０３と同様にブロックの符号化モードを決定し、統合符号化部１０７に出力する。インター符号化であれば、さらに、ブロック再生画像生成部１０９で保持されている符号化対象の周囲のブロックから動き補償を行い、予測誤差を算出する。符号化対象ピクチャの前後の複数の参照ピクチャを参照して符号化対象ブロックに最も近いブロックを探索し、動きベクトルを求める。この動きベクトルと参照ピクチャを合わせて予測参照情報として、ブロック予測モードともに動き補償情報を構成する。動き補償情報は動き補償情報符号化部２１０１に入力される。動き補償情報符号化部２１０１は周囲のブロックの予測参照情報と符号化対象ブロックの予測参照情報を比較して、予測参照情報を符号化し、ブロック符号化モードも符号化する。
【０１５６】
以下に、予測参照情報の予測について説明する。説明のために周囲のブロックとして符号化対象ブロックの上方、左上方、左方、及び前のピクチャの同じブロック位置のブロックを用いる。但し、これに限定されない。これらの周囲ブロックの予測参照情報で同じ参照ピクチャ、同じ動きベクトルを持つものはまとめて、其々が異なる予測参照情報を符号化対象ブロックの予測参照情報の予測候補とする。例えば、上方ブロックが動きベクトル（２，３）で参照ピクチャが符号化対象ピクチャの２つ前のピクチャであったとする。左上方ブロックが上方ブロックと同様に動きベクトル（２，３）で参照ピクチャが符号化対象ピクチャの２つ前のピクチャであったとする。左方ブロックが動きベクトル（４，２）で参照ピクチャが符号化対象ピクチャの３つ前のピクチャであったとする。前のピクチャの同じブロック位置のブロックが動きベクトル（４，２）で参照ピクチャが符号化対象ピクチャの２つ前のピクチャであったとする。この時、符号化対象ブロックの予測参照情報の予測候補は第１の候補が動きベクトル（２，３）で参照ピクチャが符号化対象ピクチャの２つ前のピクチャであり、第２の候補が動きベクトル（４，２）で参照ピクチャが符号化対象ピクチャの３つ前のピクチャである。このように予測候補を少なくすることで、符号化対象ブロックの予測参照情報の符号化時に選択の信号が４つを選択する２ビットから２つを選択する１ビットに圧縮することが可能になる。この符号化対象ブロックの予測参照情報の予測候補は量子化パラメータ予測部２１１２に入力される。
【０１５７】
量子化パラメータ予測部２１１２では、符号化対象ブロックの予測参照情報と上述の周囲ブロックの予測参照情報を比較し、これらの周囲ブロックの量子化パラメータから量子化パラメータ予測値を算出する。本実施形態に係る画像符号化装置における量子化パラメータ予測値を算出する処理を示すフローチャートは図８と同様である。但し、図８において、ステップＳ８０２、ステップＳ８０３、ステップＳ８０４の内容が異なる。本実施形態における図９のステップＳ８０２の処理のフローチャートを図２３に、ステップＳ８０４の処理のフローチャートを図２４に示す。ステップＳ８０３の処理のフローチャートに関しては、図２３のＬ０予測をＬＣ予測とし、ステップＳ２３０１のＬ０予測をＬＣ予測に置き換えることで説明できるため、フローチャートは省略する。
【０１５８】
図２３において、図５のフローチャートと同様の機能を果たすステップには同じ番号を付与し、説明を省略する。ステップＳ２３０１にて、周囲ブロックの中でＬ０予測を行っているブロックの有無を判定する。周囲ブロックの中でＬ０予測を行っているブロックが存在しなければステップＳ５０２に進み、存在していればステップＳ２３０３に進む。
【０１５９】
ステップＳ２３０３にて、周囲ブロックの中でＬ０予測を行っているブロックを抽出する。ステップＳ２３０４にて、抽出されたブロックの予測参照情報を参照し、符号化対象ブロックの予測参照情報の符号化で選択された予測候補と同じ予測参照情報を持つブロックをさらに抽出する。前述の通り、予測候補の動き補償参照情報を持つ周囲ブロックが複数存在する可能性がある。
【０１６０】
ステップＳ２３０５にて、予測候補の予測参照情報を持つ周囲ブロックが１つなのか複数なのかを判定する。予測候補の予測参照情報を持つブロックが周囲ブロックに１つしかなければステップＳ２３０６に進み、複数あればステップＳ２３０７に進む。
【０１６１】
ステップＳ２３０６にて、周囲ブロックの中に予測候補の予測参照情報が一致する、すなわち、参照ピクチャと動きベクトルが一致するブロックが１つだけ存在するので、そのブロックの量子化パラメータを量子化パラメータ予測値とする。
【０１６２】
ステップＳ２３０７にて、周囲ブロックの中に予測候補の予測参照情報が一致するブロックが複数存在するため、これらのブロックの量子化パラメータから量子化パラメータ予測値を算出する。前述の例では予測候補の（２，３）で参照ピクチャが符号化対象ピクチャの２つ前のピクチャである場合、上方のブロックと左上方ブロックが該当するブロックとなる。量子化パラメータ予測値の算出の方法は特に限定しないが、一致する周囲ブロックの量子化パラメータの平均値を算出したり、中央値を算出したり、左方ブロックの量子化パラメータを量子化パラメータ予測値としたりする方法等で量子化パラメータ予測値を算出する。
【０１６３】
また、図２４にて、ステップＳ８０４の処理をフローチャートで示す。ステップＳ２４０１にて、周囲ブロックの中でＬ０予測を行っているブロックの有無を判定する。周囲ブロックの中でインター予測を行っているブロックが存在しなければステップＳ２４０２に進み、存在していればステップＳ２４０５に進む。
【０１６４】
ステップＳ２４０２にて、周囲ブロックにインター予測を行ったブロックが存在しないので、直前にインター予測で符号化を行ったブロックの有無を判定する。直前にインター予測で符号化を行ったブロックが存在しない場合はステップＳ２４０３に進み、存在する場合はステップＳ２４０４に進む。ステップＳ２４０３にて、参照できるブロックが存在しないため、予め設定した所定値を量子化パラメータ予測値とする。ステップＳ２４０４にて、直前にインター予測で符号化を行ったブロックの量子化パラメータを量子化パラメータ予測値とする。
【０１６５】
一方、ステップＳ２４０１で周囲ブロックにインター予測を行ったブロックがあると判定された場合、ＡＭＶＰによる予測参照情報の予測が行われている。ステップＳ２４０５にて、インター予測を行っているブロックの予測参照情を抽出する。抽出された予測参照情報で符号化対象ブロックの予測候補となった予測参照情報を持つ周囲のブロックを抽出する。
【０１６６】
ステップＳ２４０７にて、ステップＳ２４０６で抽出された周囲ブロックの個数を判定する。抽出された周囲ブロックの個数が１つであれば、ステップＳ２４０８に進み、そうでなければステップＳ２４０９に進む。ステップＳ２４０８にて、周囲ブロックの中に符号化対象ブロックの予測候補と予測参照情報が一致するブロックが１つだけ存在するので、そのブロックの量子化パラメータを量子化パラメータ予測値とする。
【０１６７】
ステップＳ２４０９にて、周囲ブロックの中で符号化対象ブロックの予測候補と予測参照情報が一致するブロックが複数存在する。このため、これらのブロックの量子化パラメータから量子化パラメータ予測値を算出する。量子化パラメータ予測値の算出の方法は特に限定しない。例えば、ステップＳ２４０６で抽出された周囲ブロックの量子化パラメータの平均値を算出しても良い。または、中央値を算出したり、左方ブロックの量子化パラメータを量子化パラメータ予測値としたりする方法等で量子化パラメータ予測値を算出する。
【０１６８】
図８に戻り、量子化パラメータ予測値の算出を終了する。図２１に戻り、量子化パラメータ予測部２１１２はこのようにして算出された量子化パラメータ予測値を量子化パラメータ符号化部１１３に入力する。量子化パラメータ符号化部１１３では実施形態１と同様に量子化パラメータ決定部１０２で決定された符号化対象ブロックの量子化パラメータと入力された量子化パラメータ予測値との差分を算出し、符号化し、量子化パラメータ符号データを生成する。生成された量子化パラメータ符号データは統合符号化部１０７を介してビットストリームに組み込まれ、端子１０８から外部に出力される。
【０１６９】
実施形態６に係る画像符号化装置における画像符号化処理を示すフローチャートは図２と同様である。
【０１７０】
図２２は、実施形態６に係る画像符号化装置におけるインターピクチャ符号化処理を示すフローチャートである。図２２において、実施形態１の図３のフローチャートと同様の機能を果たすステップには同じ番号を付与し、説明を省略する。
【０１７１】
ステップＳ３０２で動き補償を用いて符号化するインター符号化と判定された場合、ステップＳ２２０１に進む。ステップＳ２２０１にて、符号化対象ブロックと他の参照ピクチャで動くベクトル探索を行い、最適なブロック予測モードを選択し、動きベクトル、参照ピクチャからなる予測参照情報を決定する。予測酸所情報とブロック予測モードから動き補償情報を決定し、動き補償予測を行い、予測誤差を算出する。
【０１７２】
ステップＳ２２０２にて、ＡＭＶＰの方式にしたがって、符号化対象ブロックの予測参照情報の符号化に用いる予測候補を決定する。ステップＳ２２０３にて、量子化パラメータを符号化するために量子化パラメータの予測を行い、量子化パラメータの予測値を算出する。ここでは図８、図２３、及び図２４のフローチャートに記した処理によって、量子化パラメータ予測値を算出する。
【０１７３】
ステップＳ３１３、ステップＳ３１４にて、量子化パラメータの差分値の算出・符号化し、量子化パラメータ符号データを生成する。ステップＳ２２０４にて、ステップＳ２２０１で決定した動き補償情報での符号化を行う。ステップＳ２２０１で算出された予測参照情報についてステップＳ２２０２で決定された予測候補を用いて予測し、符号化する。ブロック符号化モードも含め符号化を行い、動き補償情報符号データを生成する。
【０１７４】
以上の構成と動作により、動き補償情報、特に動きベクトルや参照ピクチャ等からなる予測参照情報に従ってブロックの量子化パラメータの差分値を符号化ができる。これにより、符号化対象に含まれるオブジェクトに関してオブジェクト内の動き、それを表すブロック予測モードに従って量子化パラメータを予測することで符号化効率の向上が可能になる。
【０１７５】
なお、図２２において、予測参照情報の予測を量子化パラメータの決定の前に行ったがこれに限定されず、並行に処理を行ったり、変換・量子化後に行ったりしても構わない。
【０１７６】
なお、予測参照情報を用いて量子化パラメータの予測を行ったが、これに限定されず、簡易的に動きベクトルのみで符号化対象ブロックの動きベクトルの予測を行い、周囲ブロックの動きベクトルによる予測候補を用いても構わない。
【０１７７】
また、本実施形態ではＡＭＶＰを例にとって説明したが、これに限定されない。Ｈ．２６４において、動きベクトルは上方、右上方、左方の動きベクトルから符号化対象ブロックの動きベクトルの予測ベクトルをその中央値を持って算出する。これを予測候補として符号化することができる。図２５に本実施形態をＨ．２６４に適合した場合の量子化パラメータ予測値の算出処理のフローチャートを示す。図２５において図２４のフローチャートと同様の機能を果たすステップには同じ番号を付与し、説明を省略する。
【０１７８】
ステップＳ２５０１にて、周囲ブロック中からインター予測ブロックを抽出する。ステップＳ２５０２にて、符号化対象ブロックの動きベクトルの予測ベクトルと一致する動きベクトルを持つ周囲のブロックの有無を判定する。一致するものがあれば、ステップＳ２５０２に進み、なければステップＳ２５０３に進む。ステップＳ２５０２にて、符号化対象ブロックの動きベクトルの予測ベクトルと一致する動きベクトルを持つ周囲のブロックの個数を判定し、１つだけであれば、ステップＳ２５０４に進み、そうでなければステップＳ２５０５に進む。ステップＳ２５０４にて、符号化対象ブロックの動きベクトルの予測ベクトルと一致する動きベクトルを持つ周囲のブロックが１つであるので、そのブロックの量子化パラメータを量子化パラメータ予測値とする。ステップＳ２５０５にて、符号化対象ブロックの動きベクトルの予測ベクトルと一致する動きベクトルを持つ周囲のブロックの量子化パラメータから平均をとるなどして量子化パラメータ予測値を算出する。ステップＳ２５０６にて、ステップＳ２５０１で抽出された周囲のインター予測を行ったブロックの動きベクトルと符号化対象ブロックの動きベクトルを比較し、最も距離の近い動きベクトルを持つ周囲ブロックの量子化パラメータを量子化パラメータ予測値とする。
【０１７９】
上記の動作を行うことで、Ｈ．２６４においても本方式ができようできることが理解できる。
【０１８０】
＜実施形態７＞
本発明の実施形態７を、図２６と図２７を使って説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。図２６は本実施形態の画像復号装置を示すブロック図である。本実施形態では実施形態６で生成されたビットストリームの復号を行う。図２６において、実施形態３の図１０のブロック図と同様の機能を果たすブロックには同じ番号を付与し、説明を省略する。
【０１８１】
２６０１は予測候補生成部であり、周囲のブロックの予測参照情報を保持し、その中から復号対象ブロックの予測参照情報を復号するための予測候補を生成する。生成された予測候補の情報は動き補償情報復号部２６０４と量子化パラメータ予測部２６１３に入力される。２６０４は動き補償情報復号部であり、実施形態３の動き補償情報復号部１００４と同様に動き補償情報符号データを復号し、動き補償情報を生成する。実施形態３とは予測候補による予測参照情報の生成が含まれることが異なる。２６１３は量子化パラメータ予測部であり、実施形態３とは予測候補による量子化パラメータ予測値算出が行われることが異なる。
【０１８２】
上記画像復号装置における画像の復号動作を以下に説明する。
【０１８３】
実施形態３と同様に端子１０００から入力されたビットストリームは統合復号部１００１にて、シーケンスヘッダ、ピクチャヘッダ等を復号するとともに、量子化係数符号データ、量子化パラメータ符号データ動き補償情報符号データを分離する。分離された動き補償情報符号データは動き情報復号部２６０４に入力される。動き情報復号部２６０４では、復号対象ブロックの動き補償情報符号データを復号する。予測候補生成部２６０１から予測候補を入力し、復号された動き補償情報の予測参照情報の生成を行う。予測候補生成部２６０１では実施形態６で説明したように周囲のブロックとして復号対象ブロックの上方、左上方、左方、及び前のピクチャの同じブロック位置のブロックを用いる。動き補償情報保持部１０１０で保持されているこれらのブロックの動き補償情報から其々が異なる予測参照情報を復号対象ブロックの予測参照情報の予測候補を生成する。量子化パラメータ予測部２６１３は動き補償情報保持部１０１０から周囲ブロックの動き補償情報を、動き補償情報復号部２６０４から動き補償情報を入力する。さらに、量子化パラメータ予測部２６１３は予測候補生成部２６０１から予測候補と量子化パラメータ保持部１０１２から周囲ブロックの量子化パラメータを入力する。量子化パラメータ予測部２６１３は再生された復号対象ブロックの動き補償情報から予測候補を選択し、選択された予測候補の予測参照情報と周囲ブロックの動き補償情報を比較して周囲ブロックの量子化パラメータから量子化パラメータ予測値を算出する。量子化パラメータ予測部２６１３における量子化パラメータ予測値の算出については、実施形態６の図２３と図２４乃至は図２５と同様なので説明を省略する。量子化パラメータ予測部２６１３で算出された量子化パラメータ予測値は量子化パラメータ再生部１０１４に入力され、量子化パラメータを生成する。
【０１８４】
実施形態７に係る画像復号装置における画像復号処理を示すフローチャートは図１１と同様である。
【０１８５】
図２７は、実施形態７に係る画像復号装置におけるインターピクチャ復号処理を示すフローチャートである。図２７において、実施形態３の図１２のフローチャートと同様の機能を果たすステップには同じ番号を付与し、説明を省略する。
【０１８６】
ステップＳ１２０３で動き補償を用いて符号化するインター符号化と判定された場合、ステップＳ１２０８に進む。ステップＳ１２０８では実施形態３と同様に復号対象ブロックの動き補償情報符号データを復号して動き補償情報を再生する。ステップＳ２７０１にて、動き補償情報符号データから予測参照情報符号データを抽出し復号する。ステップＳ２７０２において、周囲ブロックの予測参照情報から予測候補を算出する。ステップＳ２７０３にて、量子化パラメータを再生するために復号対象ブロックの周囲のブロックから量子化パラメータの予測を行い、量子化パラメータ予測値を算出する。具体的にはステップＳ２７０２で生成した予測候補と周囲ブロックの予測参照情報を比較して量子化パラメータ予測値となる量子化パラメータを決定し、量子化パラメータ予測値を算出する。ここでは実施形態６で説明した図２３と図２４乃至は図２５のフローチャートに記した処理によって、量子化パラメータ予測値を算出する。ステップＳ２３１２にて、ステップＳ２７０１での結果とステップＳ２７０２で算出された予測候補から復号対象ブロックの動き補償情報を再生し、動き補償を行い、予測誤差を生成する。以下、ステップＳ１２１３からステップＳ１２１５にて画像データを再生する。
【０１８７】
以上の構成と動作により、動き補償情報、特に予測参照情報と予測候補に従ったブロック単位の量子化パラメータの差分値の符号化を行ったビットストリームに対して、復号に必要な最適な量子化パラメータ予測値の算出ができる。これにより、復号対象に含まれるオブジェクトに関してオブジェクト内の動き、それを表すブロック予測モードに従って量子化パラメータを予測することで復号画像の再生が可能になる。
【０１８８】
＜実施形態８＞
図１、図１０、図２１、図２６に示した各処理部はハードウェアでもって構成しているものとして上記実施形態では説明した。しかし、これらの図に示した各処理部で行なう処理をコンピュータプログラムでもって構成しても良い。
【０１８９】
図２８は、上記各実施形態に係る画像表示装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図である。
【０１９０】
ＣＰＵ２８０１は、ＲＡＭ２８０２やＲＯＭ２８０３に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記各実施形態に係る画像処理装置が行うものとして上述した各処理を実行する。即ち、ＣＰＵ２８０１は、図１、図１０、図２１、図２６に示した各処理部として機能することになる。
【０１９１】
ＲＡＭ２８０２は、外部記憶装置２８０６からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）２８０９を介して外部から取得したデータなどを一時的に記憶するためのエリアを有する。更に、ＲＡＭ２８０２は、ＣＰＵ２８０１が各種の処理を実行する際に用いるワークエリアを有する。即ち、ＲＡＭ２８０２は、例えば、フレームメモリとして割当てたり、その他の各種のエリアを適宜提供することができる。
【０１９２】
ＲＯＭ２８０３には、本コンピュータの設定データや、ブートプログラムなどが格納されている。操作部２８０４は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示をＣＰＵ２８０１に対して入力することができる。表示部２８０５は、ＣＰＵ２８０１による処理結果を表示する。また表示部２８０５は例えば液晶ディスプレイのようなホールド型の表示装置や、フィールドエミッションタイプの表示装置のようなインパルス型の表示装置で構成される。
【０１９３】
外部記憶装置２８０６は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置２８０６には、ＯＳ（オペレーティングシステム）や、図１、図１０、図２１、図２６に示した各部の機能をＣＰＵ２８０１に実現させるためのコンピュータプログラムが保存されている。更には、外部記憶装置２８０６には、処理対象としての各画像データが保存されていても良い。
【０１９４】
外部記憶装置２８０６に保存されているコンピュータプログラムやデータは、ＣＰＵ２８０１による制御に従って適宜ＲＡＭ２８０２にロードされ、ＣＰＵ２８０１による処理対象となる。Ｉ／Ｆ２８０７には、ＬＡＮやインターネット等のネットワーク、投影装置や表示装置などの他の機器を接続することができ、本コンピュータはこのＩ／Ｆ２８０７を介して様々な情報を取得したり、送出したりすることができる。２８０８は上述の各部を繋ぐバスである。
【０１９５】
上述の構成からなる作動は前述のフローチャートで説明した作動をＣＰＵ２８０１が中心となってその制御を行う。
【０１９６】
＜その他の実施形態＞
本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
【０１９７】
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
【０１９８】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
【図１】
2013102297.tif 000003
【図２】
2013102297.tif 000004
【図３】
2013102297.tif 000005
【図４】
2013102297.tif 000006
【図５】
2013102297.tif 000007
【図６】
2013102297.tif 000008
【図７】
2013102297.tif 000009
【図８】
2013102297.tif 000010
【図９】
2013102297.tif 000011
【図１０】
2013102297.tif 000012
【図１１】
2013102297.tif 000013
【図１２】
2013102297.tif 000014
【図１３】
2013102297.tif 000015
【図１４】
2013102297.tif 000016
【図１５】
2013102297.tif 000017
【図１６】
2013102297.tif 000018
【図１７】
2013102297.tif 000019
【図１８】
2013102297.tif 000020
【図１９】
2013102297.tif 000021
【図２０】
2013102297.tif 000022
【図２１】
2013102297.tif 000023
【図２２】
2013102297.tif 000024
【図２３】
2013102297.tif 000025
【図２４】
2013102297.tif 000026
【図２５】
2013102297.tif 000027
【図２６】
2013102297.tif 000028
【図２７】
2013102297.tif 000029
【図２８】
2013102297.tif 000030
【図２９】
2013102297.tif 000031
【手続補正書】
【提出日】平成23年12月15日(2011.12.15)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
【図１】実施形態１における画像符号化装置の構成を示すブロック図
【図２】実施形態１に係る画像符号化装置における画像符号化処理を示すフローチャート
【図３】実施形態１に係る画像符号化装置におけるインターピクチャ符号化処理を示すフローチャート
【図４】実施形態１、２に係る量子化パラメータの予測処理を示すフローチャート図
【図５】実施形態１、２に係る量子化パラメータの予測処理を示すフローチャート図
【図６】実施形態１、２に係る量子化パラメータの予測処理を示すフローチャート図
【図７】実施形態１、２に係る別な量子化パラメータの予測処理を示すフローチャート図
【図８】実施形態１、２に係る量子化パラメータの予測処理を示すフローチャート図
【図９】実施形態１、２に係る量子化パラメータの予測処理を示すフローチャート図
【図１０】実施形態２における画像復号装置の構成を示すブロック図
【図１１】実施形態２に係る画像復号装置における画像復号処理を示すフローチャート
【図１２】実施形態２に係る画像復号装置におけるインターピクチャ復号処理を示すフローチャート
【図１３】実施形態３に係る量子化パラメータの予測処理を示すフローチャート図
【図１４】実施形態３に係る量子化パラメータの予測処理を示すフローチャート図
【図１５】実施形態３に係る量子化パラメータの予測処理を示すフローチャート図
【図１６】実施形態４に係る量子化パラメータの予測処理を示すフローチャート図
【図１７】実施形態４に係る量子化パラメータの予測処理を示すフローチャート図
【図１８】実施形態４に係る量子化パラメータの予測処理を示すフローチャート図
【図１９】実施形態４に係る量子化パラメータの予測処理を示すフローチャート図
【図２０】実施形態４に係る別な量子化パラメータの予測処理を示すフローチャート図
【図２１】実施形態５における画像符号化装置の構成を示すブロック図
【図２２】実施形態５に係る画像符号化装置におけるインターピクチャ符号化処理を示すフローチャート
【図２３】実施形態５、６に係る量子化パラメータの予測処理を示すフローチャート図
【図２４】実施形態５、６に係る量子化パラメータの予測処理を示すフローチャート図
【図２５】実施形態５、６に係る量子化パラメータの予測処理を示すフローチャート図
【図２６】実施形態６における画像復号装置の構成を示すブロック図
【図２７】実施形態６に係る画像復号装置における画像復号処理を示すフローチャート
【図２８】本発明の画像符号化装置、復号装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図
【図２９】ブロック分割の一例を示す図