(57)【特許請求の範囲】
【請求項１】
符号化対象ブロックの予測画像を生成する際、前記符号化対象ブロックと局所復号画像を比較して動きベクトルを探索する動き補償予測手段と、
前記符号化対象ブロックの予測画像を生成する際、前記局所復号画像のうち同一のピクチャ内で既に復号が済んでいる領域の中から、前記符号化対象ブロックに対応する参照ブロックを探索し、前記参照ブロックの位置を示すブロックシフトベクトルを出力する画面内コピー予測手段と、
前記動き補償予測手段により探索された動きベクトルを可変長符号化し、または、前記動きベクトルの可変長符号化に用いる符号化方式と異なる符号化方式を用いて、前記画面内コピー予測手段から出力されたブロックシフトベクトルを可変長符号化する可変長符号化手段とを備え、
前記画面内コピー予測手段は、前記ブロックシフトベクトルについてのベクトル表現形式として、前記参照ブロックの位置の表現の仕方が異なる複数のベクトル表現形式が用意されており、前記複数のベクトル表現形式の中から、前記可変長符号化手段により前記ブロックシフトベクトルが可変長符号化された場合の符号量が最も小さくなるベクトル表現形式を選択し、前記選択したベクトル表現形式で表現した前記ブロックシフトベクトル及び前記選択したベクトル表現形式を示すインデックスのそれぞれを出力し、
前記可変長符号化手段は、前記画面内コピー予測手段から出力されたブロックシフトベクトル及びインデックスのそれぞれを可変長符号化することを特徴とする画像符号化装置。
【請求項２】
前記可変長符号化手段は、
前記符号化対象ブロックがスクリーンコンテンツでなければ、前記動き補償予測手段により探索された動きベクトルに対応する符号化方式を用いて、前記動きベクトルを可変長符号化し、前記符号化対象ブロックがスクリーンコンテンツであれば、前記画面内コピー予測手段から出力されたブロックシフトベクトルに対応する符号化方式を用いて、前記ブロックシフトベクトルを可変長符号化し、
前記符号化対象ブロックがスクリーンコンテンツであるか否かを示すフラグを可変長符号化することを特徴とする請求項１記載の画像符号化装置。
【請求項３】
前記画面内コピー予測手段は、前記符号化対象ブロックを複数のブロックに分割し、局所復号画像の中から、前記複数の分割ブロックに対応する参照ブロックをそれぞれ探索するとともに、前記参照ブロックの位置を示すブロックシフトベクトルの符号化順を決定して、前記符号化順に前記複数の分割ブロックに係るブロックシフトベクトルの並び替えを実施し、
前記可変長符号化手段は、前記画面内コピー予測手段により並び替えられた複数の分割ブロックに係るブロックシフトベクトルを並び順に可変長符号化するとともに、前記画面内コピー予測手段によるブロックシフトベクトルの並び替えを示す並び替え情報を可変長符号化することを特徴とする請求項１または請求項２記載の画像符号化装置。
【請求項４】
符号化対象ブロックに係る動きベクトルを可変長復号し、または、前記動きベクトルの可変長復号に用いる復号方式と異なる復号方式を用いて、前記符号化対象ブロックに対応する参照ブロックの位置を示すブロックシフトベクトルを可変長復号する可変長復号手段と、
前記可変長復号手段により可変長復号された動きベクトルを用いて、前記符号化対象ブロックの予測画像を生成する動き補償予測手段と、
復号画像の中から、前記可変長復号手段により可変長復号されたブロックシフトベクトルが示す位置の参照ブロックを前記符号化対象ブロックの予測画像として取得する画面内コピー予測手段とを備え、
前記可変長復号手段は、前記参照ブロックの位置の表現の仕方が異なる複数のベクトル表現形式のうち、前記ブロックシフトベクトルについてのベクトル表現形式を示すインデックスを可変長復号し、
前記画面内コピー予測手段は、前記可変長復号手段により可変長復号されたインデックスから、前記可変長復号手段により可変長復号されたブロックシフトベクトルについてのベクトル表現形式を認識して、前記ブロックシフトベクトルが示す位置の参照ブロックを特定することを特徴とする画像復号装置。
【請求項５】
前記可変長復号手段は、前記符号化対象ブロックがスクリーンコンテンツであるか否かを示すフラグを可変長復号し、前記フラグが、前記符号化対象ブロックがスクリーンコンテンツでない旨を示していれば、前記符号化対象ブロックに係る動きベクトルに対応する復号方式を用いて、前記動きベクトルを可変長復号し、前記フラグが、前記符号化対象ブロックがスクリーンコンテンツである旨を示していれば、前記符号化対象ブロックに対応する参照ブロックの位置を示すブロックシフトベクトルに対応する復号方式を用いて、前記ブロックシフトベクトルを可変長復号することを特徴とする請求項４記載の画像復号装置。
【請求項６】
前記可変長復号手段は、前記符号化対象ブロックが複数のブロックに分割されている場合、前記複数の分割ブロックに係るブロックシフトベクトルの並び替えを示す並び替え情報を可変長復号し、
前記画面内コピー予測手段は、前記可変長復号手段により可変長復号された並び替え情報にしたがって前記複数の分割ブロックに係るブロックシフトベクトルを並び替えることを特徴とする請求項４または請求項５記載の画像復号装置。
【請求項７】
動き補償予測手段が、符号化対象ブロックの予測画像を生成する際、前記符号化対象ブロックと局所復号画像を比較して動きベクトルを探索する動き補償予測処理ステップと、
画面内コピー予測手段が、前記符号化対象ブロックの予測画像を生成する際、前記局所復号画像のうち同一のピクチャ内で既に復号が済んでいる領域の中から、前記符号化対象ブロックに対応する参照ブロックを探索し、前記参照ブロックの位置を示すブロックシフトベクトルを出力する画面内コピー予測処理ステップと、
可変長符号化手段が、前記動き補償予測処理ステップで探索された動きベクトルを可変長符号化し、または、前記動きベクトルの可変長符号化に用いる符号化方式と異なる符号化方式を用いて、前記画面内コピー予測処理ステップで出力されたブロックシフトベクトルを可変長符号化する可変長符号化処理ステップとを備え、
前記画面内コピー予測手段は、前記ブロックシフトベクトルについてのベクトル表現形式として、前記参照ブロックの位置の表現の仕方が異なる複数のベクトル表現形式が用意されており、前記複数のベクトル表現形式の中から、前記可変長符号化処理ステップで前記ブロックシフトベクトルが可変長符号化された場合の符号量が最も小さくなるベクトル表現形式を選択し、前記選択したベクトル表現形式で表現した前記ブロックシフトベクトル及び前記選択したベクトル表現形式を示すインデックスのそれぞれを出力し、
前記可変長符号化手段は、前記画面内コピー予測手段から出力されたブロックシフトベクトル及びインデックスのそれぞれを可変長符号化することを特徴とする画像符号化方法。
【請求項８】
可変長復号手段が、符号化対象ブロックに係る動きベクトルを可変長復号し、または、前記動きベクトルの可変長復号に用いる復号方式と異なる復号方式を用いて、前記符号化対象ブロックに対応する参照ブロックの位置を示すブロックシフトベクトルを可変長復号する可変長復号処理ステップと、
動き補償予測手段が、前記可変長復号処理ステップで可変長復号された動きベクトルを用いて、前記符号化対象ブロックの予測画像を生成する動き補償予測処理ステップと、
画面内コピー予測手段が、復号画像の中から、前記可変長復号処理ステップで可変長復号されたブロックシフトベクトルが示す位置の参照ブロックを前記符号化対象ブロックの予測画像として取得する画面内コピー予測処理ステップとを備え、
前記可変長復号手段は、前記参照ブロックの位置の表現の仕方が異なる複数のベクトル表現形式のうち、前記ブロックシフトベクトルについてのベクトル表現形式を示すインデックスを可変長復号し、
前記画面内コピー予測手段は、前記可変長復号手段により可変長復号されたインデックスから、前記可変長復号手段により可変長復号されたブロックシフトベクトルについてのベクトル表現形式を認識して、前記ブロックシフトベクトルが示す位置の参照ブロックを特定することを特徴とする画像復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像を高効率で符号化する画像符号化装置及び画像符号化方法と、高効率で符号化されている画像を復号する画像復号装置及び画像復号方法に関するものである。
【背景技術】
【０００２】
動画像を伝送・蓄積する際には、ＭＰＥＧ（Ｍｏｖｉｎｇ Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐｓ）やＩＴＵ−Ｔ Ｈ．２６ｘなどの国際標準動画像符号化方式を用いて情報量を圧縮することが一般的に行われる。特に、２０１３年１月に標準化を完了したＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）は、４ＫやＳＨＶ（Ｓｕｐｅｒ  Ｈｉ−Ｖｉｓｉｏｎ）といったＵＨＤＴＶ（Ｕｌｔｒａ  Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  Ｔｅｌｅｖｉｓｉｏｎ）による放送・通信サービスや、モバイル回線でのＨＤ（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ）映像伝送の実現に向けて必要不可欠な技術である（例えば、非特許文献１）。これらの動画像符号化方式では、一般的に動画像を所定の大きさの符号化対象ブロックに分割し、ブロック単位で予測を行って予測誤差だけを符号化することによって大幅な情報量の削減を達成している。
【０００３】
近年、スマートフォンやタブレットの普及に伴ってニーズが拡大している画面共有や、ＦＡ・ビル用ディスプレイ、サイネージ、メディアアーカイブなどにおいて、ＰＣ・制御端末の画面等を動画像として記録するニーズが高まっている。これらの動画像は、通常のカメラにより撮影された動画像と区別するため、スクリーンコンテンツと呼ばれている。
スクリーンコンテンツは、カメラにより撮影された動画像と異なるいくつかの性質を有している。
【０００４】
図４１はスクリーンコンテンツの一例を示す説明図である。
図４１において、破線で囲まれているブロック２０１ａとブロック２０２ａは符号化対象ブロックを表している。
動画像は、左上から順に右に向かって符号化が実施されるため、例えば、符号化対象ブロック２０１ａの符号化を行う際には、破線で囲まれているブロック２０１ｂは、既に符号化が完了している。
したがって、符号化対象ブロック２０１ａの予測画像を生成する際、符号化済み領域の中から、符号化対象ブロック２０１ａと類似しているブロック２０１ｂを探索して、そのブロック２０１ｂを予測画像とするようにすれば（画像のコピー）、高精度な予測画像を生成することができる。
同様に、符号化対象ブロック２０２ａの予測画像を生成する際、符号化済み領域の中から、符号化対象ブロック２０２ａと類似しているブロック２０２ｂを探索して、そのブロック２０２ｂを予測画像とするようにすれば（画像のコピー）、高精度な予測画像を生成することができる。
スクリーンコンテンツでは、１つの画面内に同一の絵柄を持つ箇所が複数存在する場合が多いため、画面内の類似領域探索によって高精度な予測画像を生成することができる。
【０００５】
ただし、画像符号化装置によって符号化された情報を正しく復号するには、どの位置の画像をコピーしているのかを示す情報も併せて符号化する必要がある。
つまり、類似しているブロック２０１ｂをコピーすることで、符号化対象ブロック２０１ａの予測画像とするならば、参照領域であるブロック２０１ｂの位置情報（例えば、符号化対象ブロック２０１ａからブロック２０１ｂを指し示すベクトル）も併せて符号化することで、正しく符号化対象ブロック２０１ａを復号することができる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】ＩＳＯ／ＩＥＣ  ２３００８−２：２０１３
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来の画像符号化装置は以上のように構成されているので、画面内の複数の箇所に同一の絵柄が現れることが多いスクリーンコンテンツでは、符号化対象ブロックと同一画面内の符号化済み領域から符号化対象ブロックと類似する領域を探索してコピーすることで、高精度な予測画像を生成することができる。しかし、参照箇所を示す位置情報の符号化方式がスクリーンコンテンツに適している方式であるとは限らず、符号化効率が低下してしまうことがある課題があった。
【０００８】
この発明は上記のような課題を解決するためになされたもので、参照ブロックの位置を示すブロックシフトベクトルの符号化効率を高めることができる画像符号化装置及び画像符号化方法を得ることを目的とする。
また、この発明は、上記の画像符号化装置及び画像符号化方法により生成された符号化ビットストリームを正しく復号することができる画像復号装置及び画像復号方法を得ることを目的とする。
【課題を解決するための手段】
【０００９】
この発明に係る画像符号化装置は、符号化対象ブロックの予測画像を生成する際、その符号化対象ブロックと局所復号画像を比較して動きベクトルを探索する動き補償予測手段と、符号化対象ブロックの予測画像を生成する際、局所復号画像のうち同一のピクチャ内で既に復号が済んでいる領域の中から、その符号化対象ブロックに対応する参照ブロックを探索し、その参照ブロックの位置を示すブロックシフトベクトルを出力する画面内コピー予測手段と、動き補償予測手段により探索された動きベクトルを可変長符号化し、または、動きベクトルの可変長符号化に用いる符号化方式と異なる符号化方式を用いて、画面内コピー予測手段から出力されたブロックシフトベクトルを可変長符号化する可変長符号化手段とを備え、画面内コピー予測手段が、ブロックシフトベクトルについてのベクトル表現形式として、参照ブロックの位置の表現の仕方が異なる複数のベクトル表現形式が用意されており、複数のベクトル表現形式の中から、可変長符号化手段によりブロックシフトベクトルが可変長符号化された場合の符号量が最も小さくなるベクトル表現形式を選択し、選択したベクトル表現形式で表現したブロックシフトベクトル及び選択したベクトル表現形式を示すインデックスのそれぞれを出力し、可変長符号化手段が、画面内コピー予測手段から出力されたブロックシフトベクトル及びインデックスのそれぞれを可変長符号化するようにしたものである。
【発明の効果】
【００１０】
この発明によれば、可変長符号化手段が、動きベクトルの可変長符号化に用いる符号化方式と異なる符号化方式を用いて、ブロックシフトベクトルを可変長符号化するように構成したので、参照ブロックの位置を示すブロックシフトベクトルの符号量を削減して、符号化効率を高めることができる効果がある。
【図面の簡単な説明】
【００１１】
【図１】この発明の実施の形態１による画像符号化装置を示す構成図である。
【図２】ＹＵＶ４：２：０フォーマットの信号における輝度信号及び色差信号の圧縮処理（変換処理、量子化処理）を実施する際の変換ブロックサイズを示す説明図である。
【図３】ＹＵＶ４：２：２フォーマットの信号における輝度信号及び色差信号の圧縮処理を実施する際の変換ブロックサイズを示す説明図である。
【図４】ＹＵＶ４：４：４フォーマットの信号における輝度信号及び色差信号の圧縮処理を実施する際の変換ブロックサイズを示す説明図である。
【図５】ＹＵＶ４：２：０フォーマットの信号において輝度信号と色差信号で同一の方向性予測を用いた場合を示す説明図である。
【図６】ＹＵＶ４：２：２フォーマットの信号において輝度信号と色差信号で同一の方向性予測を用いた場合を示す説明図である。
【図７】ＹＵＶ４：４：４フォーマットとＹＵＶ４：２：２フォーマットの関係を示す説明図である。
【図８】ＹＵＶ４：４：４フォーマットの信号において輝度信号と色差信号で同一の方向性予測を用いることと等価となるＹＵＶ４：２：２フォーマットでの方向性予測の例を示す説明図である。
【図９】ＹＵＶ４：２：２フォーマットの信号での方向性予測の予測方向ベクトルを示す説明図である。
【図１０】方向性予測と角度の関係を示す説明図である。
【図１１】４×４ＤＣＴの量子化マトリクスの一例を示す説明図である。
【図１２】複数のフィルタ処理を用いる場合のループフィルタ部１３の構成例を示す説明図である。
【図１３】符号化ビットストリームの一例を示す説明図である。
【図１４】この発明の実施の形態１による画像符号化装置の処理内容（画像符号化方法）を示すフローチャートである。
【図１５】この発明の実施の形態１による画像復号装置を示す構成図である。
【図１６】複数のフィルタ処理を用いる場合のループフィルタ部３９の構成例を示す説明図である。
【図１７】この発明の実施の形態１による画像復号装置の処理内容（画像復号方法）を示すフローチャートである。
【図１８】最大符号化ブロックが階層的に複数の符号化対象ブロックに分割される例を示す説明図である。
【図１９】（ａ）は分割後の符号化対象ブロック及び予測ブロックの分布を示し、（ｂ）は階層分割によって符号化モードｍ（Ｂｎ）が割り当てられる状況を示す説明図である。
【図２０】ブロックシフトベクトルの一例を示す説明図である。
【図２１】１６×１６画素の変換ブロックにおける係数の符号化順（スキャン順）を示す説明図である。
【図２２】１６×１６画素のサイズの直交変換における変換係数の分布の一例を示す説明図である。
【図２３】４×４画素と８×８画素のサイズの直交変換における変換係数の符号化順の一例を示す説明図である。
【図２４】ベクトルの差分値を符号化する代表的方式である次数が１の指数ゴロム符号の符号語を示す説明図である。
【図２５】カメラで撮影された動画像を符号化した際のインター予測処理における動きベクトルの差分値の分布を示す説明図である。
【図２６】スクリーンコンテンツを符号化した際の画面内コピー予測処理におけるブロックシフトベクトルの差分値の分布を示す説明図である。
【図２７】次数が４の指数ゴロム符号の符号語を示す説明図である。
【図２８】この発明の実施の形態１による画像符号化装置の可変長符号化部１５の内部構成のうち、ベクトルの符号化に関する部分を示す構成図である。
【図２９】ベクトルの符号化に関する部分の処理内容を示すフローチャートである。
【図３０】ｌｉｎ＝ｍｉｎ＝４の場合の予測画像生成ブロック内の画素の予測値を生成する際に用いる画素の一例を示す説明図である。
【図３１】平均値予測時のフィルタ処理におけるフィルタの切り替え領域を示す説明図である。
【図３２】平均値予測時のフィルタ処理の参照画素配置を示す説明図である。
【図３３】予測画像生成ブロック内の左上画素を原点とする相対座標を示す説明図である。
【図３４】色差信号のイントラ予測パラメータ（インデックス値）と色差イントラ予測モードの対応例を示す説明図である。
【図３５】ＹＵＶ４：２：２フォーマットの信号において輝度信号のイントラ予測モードインデックスと色差信号のイントラ予測モードインデックスの関係を示す説明図である。
【図３６】符号化対象ブロックＢｎ内の各予測ブロックＰｉｎが選択可能なイントラ予測モードの一例を示す説明図である。
【図３７】イントラ予測モードインデックスとｔａｎθの関係を示す説明図である。
【図３８】色差信号のイントラ予測パラメータと色差イントラ予測モードの対応例を示す説明図である。
【図３９】この発明の実施の形態１による画像復号装置の可変長復号部３１の内部構成のうち、ベクトルの復号に関する部分を示す構成図である。
【図４０】ベクトルの復号に関する部分の処理内容を示すフローチャートである。
【図４１】スクリーンコンテンツの一例を示す説明図である。
【図４２】この発明の実施の形態２による画像符号化装置の画面内コピー予測部６を示す構成図である。
【図４３】参照ブロック探索部７１から出力されるブロックシフトベクトルの表現形式を示す説明図である。
【図４４】図４３と異なるブロックシフトベクトルの表現形式を示す説明図である。
【図４５】図４３と異なるブロックシフトベクトルの表現形式を示す説明図である。
【図４６】この発明の実施の形態２による画像復号装置の画面内コピー予測部３５を示す構成図である。
【図４７】この発明の実施の形態３による画像符号化装置の画面内コピー予測部６を示す構成図である。
【図４８】符号化対象ブロックのブロックサイズが１６画素×１６画素である場合の分割例を示す説明図である。
【図４９】複数の分割ブロックに対応する参照ブロックを示すブロックシフトベクトルを示す説明図である。
【図５０】符号化対象ブロックが９個の領域に分割されて、９本のブロックシフトベクトルが得られている様子を示す説明図である。
【図５１】ベクトル差分計算部９４によるベクトルの並べ替え方法を示す説明図である。
【図５２】ベクトル並べ替え情報を示す説明図である。
【図５３】この発明の実施の形態３による画像復号装置の画面内コピー予測部３５を示す構成図である。
【図５４】並べ替え前後のベクトルインデックスとベクトルの並べ替え情報を示す説明図である。
【図５５】ベクトル差分計算部９４によるベクトルの並べ替え方法を示す説明図である。
【図５６】この発明の実施の形態４による画像符号化装置の可変長符号化部１５のうち画面内コピー予測のブロックシフトベクトルを符号化する部分を示す構成図である。
【図５７】この発明の実施の形態４による画像符号化装置の可変長符号化部１５が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を示すフローチャートである（その１）。
【図５８】この発明の実施の形態４による画像符号化装置の可変長符号化部１５が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を示すフローチャートである（その２）。
【図５９】画面内コピー予測において参照可能な領域を示す説明図である。
【図６０】この発明の実施の形態４による画像符号化装置の可変長符号化部１５が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を示すフローチャートである（その１）。
【図６１】この発明の実施の形態４による画像符号化装置の可変長符号化部１５が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を示すフローチャートである（その２）。
【図６２】この発明の実施の形態４による画像符号化装置の可変長符号化部１５が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を示すフローチャートである（その３）。
【図６３】この発明の実施の形態４による画像復号装置の画面内コピー予測部３５を示す構成図である。
【図６４】画面内コピー予測パラメータが画像符号化装置にて図５７及び図５８に示す手順で符号化されている場合に、その復号に係る可変長復号部３１の動作を示したフローチャートである（その１）。
【図６５】画面内コピー予測パラメータが画像符号化装置にて図５７及び図５８に示す手順で符号化されている場合に、その復号に係る可変長復号部３１の動作を示したフローチャートである（その２）。
【図６６】画面内コピー予測パラメータが画像符号化装置にて図６０〜図６２に示す手順で符号化されている場合に、その復号に係る可変長復号部３１の動作を示したフローチャートである（その１）。
【図６７】画面内コピー予測パラメータが画像符号化装置にて図６０〜図６２に示す手順で符号化されている場合に、その復号に係る可変長復号部３１の動作を示したフローチャートである（その２）。
【図６８】画面内コピー予測パラメータが画像符号化装置にて図６０〜図６２に示す手順で符号化されている場合に、その復号に係る可変長復号部３１の動作を示したフローチャートである（その３）。
【発明を実施するための形態】
【００１２】
実施の形態１．
図１はこの発明の実施の形態１による画像符号化装置を示す構成図である。
この実施の形態１の画像符号化装置が処理対象とする映像信号は、輝度信号と２つの色差信号からなるＹＵＶ信号や、ディジタル撮像素子から出力されるＲＧＢ信号等の任意の色空間のカラー映像信号のほか、モノクロ画像信号や赤外線画像信号など、映像フレームが水平・垂直２次元のディジタルサンプル（画素）列から構成される任意の映像信号である。各画素の階調は８ビットでもよいし、１０ビット、１２ビットなどの階調であってもよい。また、入力信号は映像信号ではなく静止画像信号でもよいことは、静止画像信号を１フレームのみで構成される映像信号と解釈できることから当然である。
【００１３】
以下の説明においては、便宜上、特に断らない限り、入力される映像信号が、２つの色差成分Ｕ，Ｖが輝度成分Ｙに対して、縦横ともに２分の１にサブサンプルされたＹＵＶ４：２：０フォーマット、２つの色差成分Ｕ，Ｖが輝度成分Ｙに対して、横方向に２分の１にサブサンプルされたＹＵＶ４：２：２フォーマット、あるいは、２つの色差成分Ｕ，Ｖが輝度成分Ｙと同じサンプル数であるＹＵＶ４：４：４フォーマットの信号であるものとする。また、赤色（Ｒ）、緑色（Ｇ）、青色（Ｂ）の三原色の信号からなるＲＧＢ４：４：４フォーマットの信号については、それぞれの信号をＹＵＶ４：４：４フォーマットの信号とみなしてＹＵＶ４：４：４フォーマットと同一の符号化を行う。ただし、ＲＧＢ４：４：４フォーマットの各信号（ＲＧＢ）のＹＵＶ４：４：４フォーマットの各信号（ＹＵＶ）への対応付けについては限定しない（任意に設定できる）。この対応付けはインデックス情報として上位ヘッダで符号化して画像復号装置側で認識できるようにしてもよい。このようにすることで、画像復号装置によって復号した復号画像の色を正しく表示することができる。
【００１４】
また、ＹＵＶ４：４：４フォーマット信号やＲＧＢ４：４：４フォーマット信号の場合、各信号をモノクローム画像信号とみなしてそれぞれ独立にモノクローム（ＹＵＶ４：０：０）符号化してビットストリームを生成するようにしてもよい。このようにすることで各信号並列に符号化処理を実施することができる。その際、各モノクローム信号がどの色信号であるかを示す情報をインデックス情報として上位ヘッダで符号化して画像復号装置側で認識できるようにしてもよい。このようにすることで、画像復号装置によって復号した復号画像の色を正しく表示することができる。
なお、映像の各フレームに対応する処理データ単位を「ピクチャ」と称し、この実施の形態１では、「ピクチャ」は順次走査（プログレッシブスキャン）された映像フレームの信号として説明を行う。ただし、映像信号がインタレース信号である場合、「ピクチャ」は映像フレームを構成する単位であるフィールド画像信号であってもよい。
【００１５】
図１において、符号化制御部１は符号化処理が実施される際の処理単位となる符号化対象ブロックの最大サイズを決定するとともに、最大サイズの符号化対象ブロックが階層的に分割される際の上限の階層数を決定することで、各々の符号化対象ブロックのサイズを決定する処理を実施する。また、符号化制御部１は選択可能な１以上の符号化モード（予測処理単位を示す予測ブロックのサイズなどが異なる１以上のイントラ符号化モード、予測処理単位を示す予測ブロックのサイズなどが異なる１以上の画面内コピー符号化モード、予測ブロックのサイズなどが異なる１以上のインター符号化モード）の中から、ブロック分割部３から出力される符号化対象ブロックに適用する符号化モードを選択する処理を実施する。
選択手法の例としては、選択可能な１以上の符号化モードの中から、ブロック分割部３から出力される符号化対象ブロックに対する符号化効率が最も高い符号化モードを選択する手法がある。
【００１６】
また、符号化制御部１は符号化効率が最も高い符号化モードがイントラ符号化モードである場合、そのイントラ符号化モードで符号化対象ブロックに対するイントラ予測処理を実施する際に用いるイントラ予測パラメータを上記イントラ符号化モードが示す予測処理単位である予測ブロック毎に決定し、符号化効率が最も高い符号化モードが画面内コピー符号化モードである場合、その画面内コピー符号化モードで符号化対象ブロックに対する画面内コピー予測処理を実施する際に用いる画面内コピー予測パラメータを上記画面内コピー符号化モードが示す予測処理単位である予測ブロック毎に決定し、符号化効率が最も高い符号化モードがインター符号化モードである場合、そのインター符号化モードで符号化対象ブロックに対するインター予測処理を実施する際に用いるインター予測パラメータを上記インター符号化モードが示す予測処理単位である予測ブロック毎に決定する処理を実施する。
【００１７】
さらに、符号化制御部１は変換・量子化部９及び逆量子化・逆変換部１０に与える予測差分符号化パラメータを決定する処理を実施する。予測差分符号化パラメータには、符号化対象ブロックにおける直交変換処理単位となる変換ブロックの分割情報を示す変換ブロック分割情報や、変換係数の量子化を行う際の量子化ステップサイズを規定する量子化パラメータなどが含まれる。
【００１８】
ここで、図２はＹＵＶ４：２：０フォーマットの信号における輝度信号及び色差信号の圧縮処理（変換処理、量子化処理）を実施する際の変換ブロックサイズを示す説明図である。
変換ブロックサイズは、図２に示すように、符号化対象ブロックを四分木状に階層分割することによって決定される。例えば、変換ブロックを分割する場合と変換ブロックを分割しない場合での符号量や、符号化誤差を加味した評価尺度などに基づいて、評価値が最小になるように変換ブロックを分割するか否かを決定することで、符号量と符号化誤差のトレードオフの観点から最適な変換ブロックの分割形状を決定することができる。
【００１９】
輝度信号については、例えば、図２に示すように、符号化対象ブロックが１つ又は複数の正方形の変換ブロックに階層的に分割されるように構成する。色差信号については、図２に示すように、入力信号フォーマットがＹＵＶ４：２：０信号である場合、輝度信号と同様に、符号化対象ブロックが１つ又は複数の正方形の変換ブロックに階層的に分割されるように構成する。この場合、色差信号の変換ブロックサイズは、対応する輝度信号の変換ブロックの縦横ともに半分のサイズとなる。
【００２０】
入力信号フォーマットがＹＵＶ４：２：２信号である場合、図３に示すように、輝度信号と同様の四分木状の階層分割を行う。また、分割したブロックの形状が、垂直方向の画素数が水平方向の画素数の２倍になる長方形となるため、さらに、分割したブロックを上下に二分することで、ＹＵＶ４：２：０信号での色差信号と同じブロックサイズ（輝度信号の変換ブロックの縦横ともに半分のサイズ）の変換ブロック２つで構成するようにする。
【００２１】
また、入力信号フォーマットがＹＵＶ４：４：４信号である場合、図４に示すように、色差信号の変換ブロックは、常に輝度信号の変換ブロックと同様の分割を行い、同じサイズの変換ブロックとなるように構成する。輝度信号の変換ブロックの分割情報は、例えば、階層毎に分割するか否かを示す変換ブロック分割フラグとして可変長符号化部１５に出力する。
【００２２】
スライス分割部２は入力画像として映像信号を入力すると、その入力画像を符号化制御部１により決定されたスライス分割情報にしたがって１以上の“スライス”という部分画像に分割する処理を実施する。スライスの分割単位は、上述した符号化対象ブロック単位まで細かくすることができる。
ブロック分割部３はスライス分割部２により分割されたスライスを入力する毎に、そのスライスを符号化制御部１により決定された最大サイズの符号化対象ブロックである最大符号化ブロックに分割するとともに、符号化制御部１により決定された上限の階層数に至るまで、その最大符号化ブロックを階層的に各符号化対象ブロックへ分割する処理を実施する。
即ち、ブロック分割部３はスライスを符号化制御部１から出力されたブロック分割情報にしたがってスライスを各符号化対象ブロックに分割して、その符号化対象ブロックを出力する処理を実施する。また、各符号化対象ブロックは予測処理単位となる１つないし複数の予測ブロックに分割される。
【００２３】
切換スイッチ４は符号化制御部１により決定された符号化モードがイントラ符号化モードであれば、ブロック分割部３から出力された符号化対象ブロックをイントラ予測部５に出力し、符号化制御部１により決定された符号化モードが画面内コピー符号化モードであれば、ブロック分割部３から出力された符号化対象ブロックを画面内コピー予測部６に出力し、符号化制御部１により決定された符号化モードがインター符号化モードであれば、ブロック分割部３から出力された符号化対象ブロックを動き補償予測部７に出力する処理を実施する。
【００２４】
イントラ予測部５は切換スイッチ４から出力された符号化対象ブロックに対応する符号化モードとして、符号化制御部１によりイントラ符号化モードが選択された場合、イントラ用メモリ１２に格納されている局所復号画像を参照しながら、符号化制御部１により決定されたイントラ予測パラメータを用いたイントラ予測処理（フレーム内予測処理）を実施してイントラ予測画像を生成する処理を実施する。
即ち、イントラ予測部５は、輝度信号については、輝度信号のイントラ予測パラメータを用いたイントラ予測処理（フレーム内予測処理）を実施して、輝度信号の予測画像を生成する。一方、色差信号については、色差信号のイントラ予測パラメータが、輝度信号に対するイントラ予測モードと同じ予測モードを用いる旨を示している場合（イントラ予測パラメータが輝度色差共通イントラ予測モード（ＤＭモード）を示している場合）、輝度信号と同じフレーム内予測を実施して、色差信号の予測画像を生成する。
図５はＹＵＶ４：２：０フォーマットの信号において輝度信号と色差信号で同一の方向性予測を用いた場合を示し、図６はＹＵＶ４：２：２フォーマットの信号において輝度信号と色差信号で同一の方向性予測を用いた場合を示している。
【００２５】
また、色差信号のイントラ予測パラメータが、垂直方向予測モード又は水平方向予測モードを示している場合、色差信号に対する方向性予測を実施して、色差信号の予測画像を生成する。また、色差信号のイントラ予測パラメータが、輝度相関利用色差信号予測モード（ＬＭモード）を示している場合、予測画像の生成対象ブロックの上及び左に隣接している複数の画素の輝度信号及び色差信号を用いて、輝度信号と色差信号の相関を示す相関パラメータを算出し、その相関パラメータと予測処理対象の色差信号のブロックに対応する輝度信号を用いて、色差信号の予測画像を生成する。
【００２６】
入力信号フォーマットがＹＵＶ４：２：２信号である場合、図７に示すように、輝度信号が正方ブロックであれば、色差信号は輝度信号と比較して水平方向の画素数が１／２となる長方形のブロックとなる。したがって、図８に示すように、ＹＵＶ４：４：４信号をＹＵＶ４：２：２信号に変換した際に、輝度信号と色差信号で同一方向の予測となるようにするためには、ＹＵＶ４：２：２信号上では、垂直方向予測と水平方向予測以外の方向性予測の場合には、色差信号の予測方向が輝度信号の予測方向と異なることとなる。
具体的には、図９に示すように、輝度信号の予測方向ベクトルをｖＬ＝（ｄｘＬ，ｄｙＬ）とした場合、色差信号の予測方向ベクトルは、ｖＣ＝（ｄｘＬ／２，ｄｙＬ）となる。即ち、図１０に示すように、予測方向の角度をθとした場合、輝度信号の予測方向の角度をθＬ、色差信号の予測方向の角度をθＣとして、ｔａｎθＣ＝２ｔａｎθＬの関係となる予測方向で予測する必要がある。
【００２７】
したがって、輝度信号と色差信号で同一方向の予測を行う上記ＤＭモードを正しく実施できるようにするために、入力信号フォーマットがＹＵＶ４：２：２信号である場合、輝度信号に使用したイントラ予測モードのインデックスを色差信号の予測に用いるイントラ予測モードのインデックスに変換し、変換後のインデックスに対応するイントラ予測モードによる色差信号の予測処理を実施する。
具体的には、インデックスの変換テーブルを用意し、その変換テーブルを参照することで、インデックスを変換するように構成してもよいし、予め変換式を用意して、その変換式に従ってインデックスを変換するように構成してもよい。このように構成することで、方向性予測処理自体を変更することなく、インデックスの変換のみで、ＹＵＶ４：２：２信号のフォーマットに応じた色差信号の適切な予測を実施することができる。
【００２８】
画面内コピー予測部６は切換スイッチ４から出力された符号化対象ブロックに対応する符号化モードとして、符号化制御部１により画面内コピー符号化モードが選択された場合、符号化対象ブロック内の予測ブロック毎に、同一のピクチャ内で既に符号化が行われて局所復号が済んでいる領域の中から、当該予測ブロックと最も近似しているブロックである参照ブロックを探索して、その参照ブロックを当該予測ブロックの予測画像に決定するとともに、その参照ブロックの位置を示すブロックシフトベクトルを可変長符号化部１５に出力する処理を実施する。なお、画面内コピー予測部６は画面内コピー予測手段を構成している。
【００２９】
動き補償予測部７は切換スイッチ４から出力された符号化対象ブロックに対応する符号化モードとして、符号化制御部１によりインター符号化モードが選択された場合、符号化対象ブロックと動き補償予測フレームメモリ１４に格納されている１フレーム以上の局所復号画像を比較して動きベクトルを探索し、その動きベクトルと符号化制御部１により決定された参照するフレーム番号などのインター予測パラメータを用いて、その符号化対象ブロックに対するインター予測処理（動き補償予測処理）を実施してインター予測画像を生成する処理を実施する。なお、動き補償予測部７は動き補償予測手段を構成している。
【００３０】
減算部８はブロック分割部３より出力された符号化対象ブロックから、イントラ予測部５により生成されたイントラ予測画像、画面内コピー予測部６により生成された画面内コピー予測画像、又は、動き補償予測部７により生成されたインター予測画像を減算して、その減算結果である差分画像を示す予測差分信号を変換・量子化部９に出力する処理を実施する。
【００３１】
変換・量子化部９は符号化制御部１により決定された予測差分符号化パラメータに含まれる変換ブロック分割情報を参照して、減算部８から出力された予測差分信号に対する直交変換処理（例えば、ＤＣＴ（離散コサイン変換）やＤＳＴ（離散サイン変換）、予め特定の学習系列に対して基底設計がなされているＫＬ変換等の直交変換処理）を変換ブロック単位に実施して変換係数を算出するとともに、その予測差分符号化パラメータに含まれる量子化パラメータを参照して、その変換ブロック単位の変換係数を量子化し、量子化後の変換係数である圧縮データを逆量子化・逆変換部１０及び可変長符号化部１５に出力する処理を実施する。
変換・量子化部９は変換係数を量子化する際、上記量子化パラメータから算出される量子化ステップサイズを変換係数毎にスケーリングする量子化マトリクスを用いて、変換係数の量子化処理を実施するようにしてもよい。
【００３２】
ここで、図１１は４×４ＤＣＴの量子化マトリクスの一例を示す説明図である。図中の数字は、各変換係数の量子化ステップサイズのスケーリング値を示している。
例えば、符号化ビットレートを抑制するために、図１１に示すように、高域の変換係数程、量子化ステップサイズを大きな値にスケーリングすることで、複雑な画像領域等で発生する高域の変換係数を抑制して符号量を抑えながら、主観品質に大きく影響する低域の係数の情報を落とさずに符号化することができる。このように、変換係数毎の量子化ステップサイズを制御したい場合には量子化マトリクスを用いればよい。
【００３３】
また、量子化マトリクスは、各直交変換サイズで色信号や符号化モード（イントラ符号化又はインター符号化）毎に独立したマトリクスを使用することができ、初期値として、画像符号化装置及び画像復号装置で予め共通に用意されている量子化マトリクスや既に符号化された量子化マトリクスの中から選択するか、新しい量子化マトリクスを用いるかをそれぞれ選択することができる。したがって、変換・量子化部９は、各直交変換サイズに対して色信号や符号化モード毎に、新しい量子化マトリクスを用いるか否かを示すフラグ情報を符号化すべき量子化マトリクスパラメータに設定する。
【００３４】
さらに、新しい量子化マトリクスを用いる場合には、図１１に示すような量子化マトリクスの各スケーリング値を符号化すべき量子化マトリクスパラメータに設定する。一方、新しい量子化マトリクスを用いない場合には、初期値として、画像符号化装置及び画像復号装置で、予め共通に用意されている量子化マトリクス、又は、既に符号化された量子化マトリクスの中から、使用するマトリクスを特定するインデックスを符号化すべき量子化マトリクスパラメータに設定する。ただし、参照可能な既に符号化された量子化マトリクスが存在しない場合、画像符号化装置及び画像復号装置で予め共通に用意されている量子化マトリクスのみ選択可能となる。
【００３５】
逆量子化・逆変換部１０は符号化制御部１により決定された予測差分符号化パラメータに含まれる量子化パラメータ及び変換ブロック分割情報を参照して、変換ブロック単位に変換・量子化部９から出力された圧縮データを逆量子化するとともに、逆量子化後の圧縮データである変換係数に対する逆直交変換処理を実施して、減算部８から出力された予測差分信号に相当する局所復号予測差分信号を算出する処理を実施する。なお、変換・量子化部９が量子化マトリクスを用いて、量子化処理を実施している場合には、逆量子化処理時においても、その量子化マトリクスを参照して、対応する逆量子化処理を実施する。
【００３６】
加算部１１は逆量子化・逆変換部１０により算出された局所復号予測差分信号と、イントラ予測部５により生成されたイントラ予測画像、画面内コピー予測部６により生成された画面内コピー予測画像、又は、動き補償予測部７により生成されたインター予測画像とを加算して、ブロック分割部３から出力された符号化対象ブロックに相当する局所復号画像を算出する処理を実施する。
イントラ用メモリ１２は加算部１１により算出された局所復号画像を格納する記録媒体である。
【００３７】
ループフィルタ部１３は加算部１１により算出された局所復号画像に対して、所定のフィルタ処理を実施して、フィルタ処理後の局所復号画像を出力する処理を実施する。
具体的には、変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するフィルタ（デブロッキングフィルタ）処理、画素単位に適応的にオフセットを加算する（画素適応オフセット）処理、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理などを行う。
【００３８】
ただし、ループフィルタ部１３は、上記のデブロッキングフィルタ処理、画素適応オフセット処理及び適応フィルタ処理のそれぞれについて、処理を行うか否かを決定し、各処理の有効フラグをヘッダ情報として可変長符号化部１５に出力する。なお、上記のフィルタ処理を複数使用する際は、各フィルタ処理を順番に実施する。図１２は複数のフィルタ処理を用いる場合のループフィルタ部１３の構成例を示している。
一般に使用するフィルタ処理の種類が多いほど、画像品質は向上するが、一方で処理負荷は高くなる。即ち、画像品質と処理負荷はトレードオフの関係にある。また、各フィルタ処理の画像品質改善効果はフィルタ処理対象画像の特性によって異なる。したがって、画像符号化装置が許容する処理負荷や符号化処理対象画像の特性にしたがって使用するフィルタ処理を決めればよい。例えば、図１２の構成よりも処理負荷を削減したい場合、デブロッキングフィルタ処理と画素適応オフセット処理のみで構成するといったことが考えられる。
【００３９】
ここで、デブロッキングフィルタ処理では、ブロック境界にかけるフィルタ強度の選択に用いる各種パラメータを初期値から変更することができる。変更する場合には、そのパラメータをヘッダ情報として可変長符号化部１５に出力する。
画素適応オフセット処理では、最初に、画像を複数のブロックに分割し、そのブロック単位に、オフセット処理を行わない場合もクラス分類手法の一つとして定義して、予め用意されている複数のクラス分類手法の中から、１つのクラス分類手法を選択する。
次に、選択したクラス分類手法によって、ブロック内の各画素をクラス分類し、クラス毎に符号化歪みを補償するオフセット値を算出する。
最後に、局所復号画像の輝度値に対して、そのオフセット値を加算する処理を行うことで局所復号画像の画像品質を改善する。
【００４０】
したがって、画素適応オフセット処理では、ブロック分割情報、各ブロックのクラス分類手法を示すインデックス、ブロック単位の各クラスのオフセット値を特定するオフセット情報をヘッダ情報として可変長符号化部１５に出力する。
なお、画素適応オフセット処理において、例えば、最大符号化ブロックといった固定サイズのブロック単位に常に分割し、そのブロック毎にクラス分類手法を選択して、クラス毎の適応オフセット処理を行ってもよい。この場合、上記ブロック分割情報が不要となり、ブロック分割情報に要する符号量分だけ符号量が削減され、符号化効率を高めることができる。
【００４１】
適応フィルタ処理では、局所復号画像を所定の手法でクラス分類し、各クラスに属する領域（局所復号画像）毎に、重畳されている歪みを補償するフィルタを設計し、そのフィルタを用いて、当該局所復号画像のフィルタ処理を実施する。そして、クラス毎に設計したフィルタをヘッダ情報として可変長符号化部１５に出力する。クラス分類手法としては、画像を空間的に等間隔に区切る簡易な手法や、ブロック単位に画像の局所的な特性（分散など）に応じて分類する手法がある。また、適応フィルタ処理で使用するクラス数は、予め画像符号化装置及び画像復号装置に共通の値として設定してもよいし、符号化すべきパラメータとしてもよい。前者と比較して後者の方が、使用するクラス数を自由に設定することができるため、画像品質改善効果が上がるが、一方でクラス数を符号化するために、その分の符号量が増加する。
【００４２】
動き補償予測フレームメモリ１４はループフィルタ部１３のフィルタ処理後の局所復号画像を格納する記録媒体である。
可変長符号化部１５は変換・量子化部９から出力された圧縮データと、符号化制御部１の出力信号（最大符号化ブロック内のブロック分割情報、符号化モード、予測差分符号化パラメータ、ループフィルタパラメータ、イントラ予測パラメータ、画面内コピー予測パラメータ、インター予測パラメータ）と、画面内コピー予測部６から出力されたブロックシフトベクトル（符号化モードが画面内コピー符号化モードである場合）と、動き補償予測部７から出力された動きベクトル（符号化モードがインター符号化モードである場合）とを可変長符号化して符号化データを生成する処理を実施する。
【００４３】
可変長符号化部１５は、符号化モードがインター符号化モードである場合、動き補償予測部７から出力された動きベクトルを可変長符号化し、符号化モードが画面内コピー符号化モードである場合、画面内コピー予測部６から出力されたブロックシフトベクトルを画面内コピー予測パラメータに含めて可変長符号化しているが、動きベクトルの可変長符号化に用いる符号化方式と異なる符号化方式を用いて、そのブロックシフトベクトルを可変長符号化する。
また、可変長符号化部１５は、図１３に例示するように、符号化ビットストリームのヘッダ情報として、シーケンスレベルヘッダ、ピクチャレベルヘッダを符号化し、ピクチャデータと共に符号化ビットストリームを生成する処理を実施する。なお、可変長符号化部１５は可変長符号化手段を構成している。
【００４４】
ただし、ピクチャデータは１以上のスライスデータから構成され、各スライスデータはスライスレベルヘッダと当該スライス内にある上記符号化データをまとめたものである。ピクチャデータはスライスデータの他に補足情報を示すヘッダ情報を含む場合もある。
シーケンスレベルヘッダは、画像サイズ、色信号フォーマット、輝度信号や色差信号の信号値のビット深度、シーケンス単位でのループフィルタ部１３における各フィルタ処理（適応フィルタ処理、画素適応オフセット処理、デブロッキングフィルタ処理）の有効フラグ情報、量子化マトリクスの有効フラグ情報など、一般的にシーケンス単位に共通となるヘッダ情報をまとめたものである。
【００４５】
ピクチャレベルヘッダは、参照するシーケンスレベルヘッダのインデックスや動き補償時の参照ピクチャ数、エントロピー符号化の確率テーブル初期化フラグ、量子化マトリクスパラメータなど、ピクチャ単位で設定するヘッダ情報をまとめたものである。
スライスレベルヘッダは、当該スライスがピクチャのどの位置にあるかを示す位置情報、どのピクチャレベルヘッダを参照するかを示すインデックス、スライスの符号化タイプ（オールイントラ符号化、インター符号化など）、ループフィルタ部１３における各フィルタ処理（適応フィルタ処理、画素適応オフセット処理、デブロッキングフィルタ処理）を行うか否かを示すフラグ情報などのスライス単位のパラメータをまとめたものである。
【００４６】
各ヘッダ情報とピクチャデータはＮＡＬユニットによって識別される。具体的には、シーケンスパラメータセット（上記シーケンスレベルヘッダに相当）、ピクチャパラメータヘッダ（上記ピクチャレベルヘッダに相当）、スライスデータはそれぞれ固有のＮＡＬユニットタイプとして定義され、ＮＡＬユニットタイプの識別情報（インデックス）と共に符号化される。補足情報についても、存在する場合には固有のＮＡＬユニットとして定義される。また、上記ピクチャデータはアクセスユニットとして定義され、一つのピクチャの符号化データを含むデータアクセスの単位を示している。
【００４７】
図１の例では、画像符号化装置の構成要素である符号化制御部１、スライス分割部２、ブロック分割部３、切換スイッチ４、イントラ予測部５、画面内コピー予測部６、動き補償予測部７、減算部８、変換・量子化部９、逆量子化・逆変換部１０、加算部１１、イントラ用メモリ１２、ループフィルタ部１３、動き補償予測フレームメモリ１４及び可変長符号化部１５のそれぞれが専用のハードウェアで構成（イントラ用メモリ１２及び動き補償予測フレームメモリ１４以外の構成要素は、例えば、ＣＰＵを実装している半導体集積回路や、ワンチップマイコンなどで構成）されているものを想定しているが、画像符号化装置がコンピュータで構成されていてもよい。
【００４８】
画像符号化装置をコンピュータで構成する場合、イントラ用メモリ１２及び動き補償予測フレームメモリ１４をコンピュータのメモリ上に構成するとともに、符号化制御部１、スライス分割部２、ブロック分割部３、切換スイッチ４、イントラ予測部５、画面内コピー予測部６、動き補償予測部７、減算部８、変換・量子化部９、逆量子化・逆変換部１０、加算部１１、ループフィルタ部１３及び可変長符号化部１５の処理内容を記述しているプログラムをコンピュータのメモリに格納し、当該コンピュータのＣＰＵが当該メモリに格納されているプログラムを実行するようにすればよい。
図１４はこの発明の実施の形態１による画像符号化装置の処理内容（画像符号化方法）を示すフローチャートである。
【００４９】
図１５はこの発明の実施の形態１による画像復号装置を示す構成図である。
図１５において、可変長復号部３１は図１の画像符号化装置により生成された符号化ビットストリームを入力すると、そのビットストリームからシーケンスレベルヘッダ、ピクチャレベルヘッダ、スライスレベルヘッダなどの各ヘッダ情報とピクチャデータを復号する処理を実施する。
ただし、ピクチャデータは１以上のスライスデータから構成されており、各スライスデータはスライスレベルヘッダと当該スライス内にある符号化データがまとめられているものである。ピクチャデータはスライスデータの他に補足情報を示すヘッダ情報を含む場合もある。このとき、ＹＵＶ４：４：４フォーマット信号やＲＧＢ４：４：４フォーマット信号の各信号をモノクローム画像信号とみなしてそれぞれ独立にモノクローム（ＹＵＶ４：０：０）符号化していることを示す情報がヘッダ情報に含まれる場合、各色信号の符号化ビットストリームに対してそれぞれ独立に復号処理を実施することができる。
【００５０】
各ヘッダ情報とピクチャデータはＮＡＬユニットによって識別される。具体的には、シーケンスパラメータセット（上記シーケンスレベルヘッダに相当）、ピクチャパラメータヘッダ（上記ピクチャレベルヘッダに相当）、スライスデータはそれぞれ固有のＮＡＬユニットタイプとして定義され、ＮＡＬユニットタイプの識別情報（インデックス）を復号することで識別される。補足情報についても、存在する場合には固有のＮＡＬユニットとして識別される。また、ピクチャデータはスライスデータを示すＮＡＬユニット等をまとめたアクセスユニットとして識別される。
【００５１】
上記ヘッダ情報に含まれる量子化マトリクスの有効フラグ情報が“有効”を示す場合、可変長復号部３１は量子化マトリクスパラメータを可変長復号し、量子化マトリクスを特定する。具体的には、各直交変換サイズの色信号や符号化モード毎に、量子化マトリクスパラメータが初期値として、画像符号化装置及び画像復号装置で予め共通に用意されている量子化マトリクス、又は、既に復号された量子化マトリクスである（新しい量子化マトリクスでない）ことを示す場合は、上記マトリクスの内のどの量子化マトリクスであるかを特定するインデックス情報を参照して量子化マトリクスを特定し、量子化マトリクスパラメータが新しい量子化マトリクスを用いることを示す場合は、量子化マトリクスパラメータに含まれる量子化マトリクスを使用する量子化マトリクスとして特定する。
【００５２】
また、可変長復号部３１は、スライスレベルヘッダを参照して、スライス分割状態を特定するとともに、各スライスのスライスデータを復号して、最大符号化ブロックの符号化データを特定する。また、スライスデータに含まれるブロック分割情報を復号して、最大符号化ブロックを階層的に分割して復号処理を行う単位である符号化対象ブロックを特定し、各々の符号化対象ブロックに係る圧縮データ、符号化モード、イントラ予測パラメータ（符号化モードがイントラ符号化モードである場合）、ブロックシフトベクトルを含む画面内コピー予測パラメータ（符号化モードが画面内コピー符号化モードである場合）、インター予測パラメータ（符号化モードがインター符号化モードである場合）、動きベクトル（符号化モードがインター符号化モードである場合）及び予測差分符号化パラメータを可変長復号する処理を実施する。
可変長復号部３１は、符号化モードがインター符号化モードである場合、動きベクトルを可変長復号し、符号化モードが画面内コピー符号化モードである場合、画面内コピー予測パラメータに含まれているブロックシフトベクトルを可変長復号しているが、動きベクトルの可変長復号に用いる復号方式と異なる復号方式を用いて、そのブロックシフトベクトルを可変長復号する。なお、可変長復号部３１は可変長復号手段を構成している。
【００５３】
逆量子化・逆変換部３２は可変長復号部３１により可変長復号された予測差分符号化パラメータに含まれる量子化パラメータ及び変換ブロック分割情報を参照して、可変長復号部３１により可変長復号された圧縮データを変換ブロック単位に逆量子化するとともに、逆量子化後の圧縮データである変換係数に対する逆直交変換処理を実施して、図１の逆量子化・逆変換部１０から出力された局所復号予測差分信号と同一の復号予測差分信号を算出する処理を実施する。
【００５４】
ここで、上記変換ブロック分割情報から、符号化対象ブロックにおける変換ブロックの分割状態を特定する。例えば、ＹＵＶ４：２：０フォーマットの信号の場合、変換ブロックサイズは、図２に示すように、符号化対象ブロックを四分木状に階層分割することによって決定される。
輝度信号については、例えば、図２に示すように、符号化対象ブロックが１つ又は複数の正方形の変換ブロックに階層的に分割されるように構成する。色差信号については、図２に示すように、入力信号フォーマットがＹＵＶ４：２：０信号である場合、輝度信号と同様に、符号化対象ブロックが１つ又は複数の正方形の変換ブロックに階層的に分割されるように構成する。この場合、色差信号の変換ブロックサイズは、対応する輝度信号の変換ブロックの縦横ともに半分のサイズとなる。
【００５５】
入力信号フォーマットがＹＵＶ４：２：２信号である場合、図３に示すように、輝度信号と同様の四分木状の階層分割を行う。また、分割したブロックの形状が、垂直方向の画素数が水平方向の画素数の２倍になる長方形となるため、さらに、分割したブロックを上下に二分することで、ＹＵＶ４：２：０信号での色差信号と同じブロックサイズ（輝度信号の変換ブロックの縦横ともに半分のサイズ）の変換ブロック２つで構成するようにする。
入力信号フォーマットがＹＵＶ４：４：４信号である場合、図４に示すように、色差信号の変換ブロックは、常に輝度信号の変換ブロックと同様の分割を行い、同じサイズの変換ブロックとなるように構成する。
【００５６】
また、可変長復号部３１により可変長復号された各ヘッダ情報が、当該スライスで量子化マトリクスを用いて、逆量子化処理を実施することを示している場合、量子化マトリクスを用いて逆量子化処理を行う。具体的には、各ヘッダ情報から特定される量子化マトリクスを用いて逆量子化処理を行う。
【００５７】
切換スイッチ３３は可変長復号部３１により可変長復号された符号化モードがイントラ符号化モードであれば、可変長復号部３１により可変長復号されたイントラ予測パラメータをイントラ予測部３４に出力し、可変長復号部３１により可変長復号された符号化モードが画面内コピー符号化モードであれば、可変長復号部３１により可変長復号された画面内コピー予測パラメータを画面内コピー予測部３５に出力し、可変長復号部３１により可変長復号された符号化モードがインター符号化モードであれば、可変長復号部３１により可変長復号されたインター予測パラメータ及び動きベクトルを動き補償予測部３６に出力する処理を実施する。
【００５８】
イントラ予測部３４は可変長復号部３１により可変長復号されたブロック分割情報から特定される符号化対象ブロックに係る符号化モードがイントラ符号化モードである場合、イントラ用メモリ３８に格納されている復号画像を参照しながら、切換スイッチ３３から出力されたイントラ予測パラメータを用いたイントラ予測処理（フレーム内予測処理）を実施してイントラ予測画像を生成する処理を実施する。
即ち、イントラ予測部３４は、輝度信号については、輝度信号に対する上記イントラ予測パラメータを用いたイントラ予測処理（フレーム内予測処理）を実施して、輝度信号の予測画像を生成する。一方、色差信号については、色差信号のイントラ予測パラメータが、輝度信号に対するイントラ予測モードと同じ予測モードを用いる旨を示している場合（イントラ予測パラメータが輝度色差共通イントラ予測モード（ＤＭモード）を示している場合）、輝度信号と同じフレーム内予測を実施して、色差信号の予測画像を生成する。
【００５９】
また、色差信号のイントラ予測パラメータが、垂直方向予測モード又は水平方向予測モードを示している場合、色差信号に対する方向性予測を実施して、色差信号の予測画像を生成する。また、色差信号のイントラ予測パラメータが、輝度相関利用色差信号予測モード（ＬＭモード）を示している場合、予測画像の生成対象ブロックの上及び左に隣接している複数の画素の輝度信号及び色差信号を用いて、輝度信号と色差信号の相関を示す相関パラメータを算出し、その相関パラメータと予測処理対象の色差信号のブロックに対応する輝度信号を用いて、色差信号の予測画像を生成する。
【００６０】
入力信号フォーマットがＹＵＶ４：２：２信号である場合、図７に示すように、輝度信号が正方ブロックであれば、色差信号は輝度信号と比較して水平方向の画素数が１／２となる長方形のブロックとなる。したがって、図８に示すように、ＹＵＶ４：４：４信号をＹＵＶ４：２：２信号に変換した際に、輝度信号と色差信号で同一方向の予測となるようにするためには、ＹＵＶ４：２：２信号上では、垂直方向予測と水平方向予測以外の方向性予測の場合には、色差信号の予測方向が輝度信号の予測方向と異なることとなる。具体的には、図９に示すように、輝度信号の予測方向ベクトルをｖＬ＝（ｄｘＬ，ｄｙＬ）とした場合、色差信号の予測方向ベクトルは、ｖＣ＝（ｄｘＬ／２，ｄｙＬ）となる。即ち、図１０に示すように、予測方向の角度をθとした場合、輝度信号の予測方向の角度をθＬ、色差信号の予測方向の角度をθＣとして、ｔａｎθＣ＝２ｔａｎθＬの関係となる予測方向で予測する必要がある。
【００６１】
したがって、輝度信号と色差信号で同一方向の予測を行う上記ＤＭモードを正しく実施できるようにするために、入力信号フォーマットがＹＵＶ４：２：２信号である場合、輝度信号に使用したイントラ予測モードのインデックスを色差信号の予測に用いるイントラ予測モードのインデックスに変換し、変換後のインデックスに対応するイントラ予測モードによる色差信号の予測処理を実施する。具体的には、インデックスの変換テーブルを用意し、その変換テーブルを参照することで、インデックスを変換するように構成してもよいし、予め変換式を用意して、その変換式に従ってインデックスを変換するように構成してもよい。このように構成することで、方向性予測処理自体を変更することなく、インデックスの変換のみで、ＹＵＶ４：２：２信号のフォーマットに応じた色差信号の適切な予測を実施することができる。
【００６２】
画面内コピー予測部３５は可変長復号部３１により可変長復号されたブロック分割情報から特定される符号化対象ブロックに係る符号化モードが画面内コピー符号化モードである場合、符号化対象ブロック内の予測ブロック毎に、同一のピクチャ内で既に復号が済んでいる領域の中から、可変長復号部３１により可変長復号された画面内コピー予測パラメータに含まれているブロックシフトベクトルが示す位置の参照ブロックを取得して、その参照ブロックを当該予測ブロックの予測画像に決定する処理を実施する。なお、画面内コピー予測部３５は画面内コピー予測手段を構成している。
【００６３】
動き補償予測部３６は可変長復号部３１により可変長復号されたブロック分割情報から特定される符号化対象ブロックに係る符号化モードがインター符号化モードである場合、動き補償予測フレームメモリ４０に格納されている復号画像を参照しながら、切換スイッチ３３から出力された動きベクトルとインター予測パラメータを用いたインター予測処理（動き補償予測処理）を実施してインター予測画像を生成する処理を実施する。なお、動き補償予測部３６は動き補償予測手段を構成している。
【００６４】
加算部３７は逆量子化・逆変換部３２により算出された復号予測差分信号と、イントラ予測部３４により生成されたイントラ予測画像、画面内コピー予測部３５により生成された画面内コピー予測画像、又は、動き補償予測部３６により生成されたインター予測画像とを加算して、図１の加算部１１から出力された局所復号画像と同一の復号画像を算出する処理を実施する。
イントラ用メモリ３８は加算部３７により算出された復号画像をイントラ予測処理及び画面内コピー予測処理で用いる参照画像として格納する記録媒体である。
【００６５】
ループフィルタ部３９は加算部３７により算出された復号画像に対して、所定のフィルタ処理を実施して、フィルタ処理後の復号画像を出力する処理を実施する。
具体的には、変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するフィルタ（デブロッキングフィルタ）処理、画素単位に適応的にオフセットを加算する（画素適応オフセット）処理、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理などを行う。
【００６６】
ただし、ループフィルタ部３９は、上記のデブロッキングフィルタ処理、画素適応オフセット処理、適応フィルタ処理のそれぞれについて、可変長復号部３１により可変長復号された各ヘッダ情報を参照して、当該スライスで行うか否かを特定する。
このとき、２つ以上のフィルタ処理を行う場合において、例えば、画像符号化装置のループフィルタ部１３が図１２のように構成されていれば、図１６に示すようにループフィルタ部３９が構成される。当然、画像符号化装置のループフィルタ部１３がデブロッキングフィルタ処理と画素適応オフセット処理から構成されていれば、ループフィルタ部３９もデブロッキングフィルタ処理と画素適応オフセット処理で構成される。
【００６７】
ここで、デブロッキングフィルタ処理では、可変長復号部３１により可変長復号されたヘッダ情報を参照し、ブロック境界にかけるフィルタ強度の選択に用いる各種パラメータを初期値から変更する情報が存在する場合、その変更情報に基づいて、デブロッキングフィルタ処理を実施する。変更情報がない場合は、予め定められた手法に従って行う。
【００６８】
画素適応オフセット処理では、可変長復号部３１により可変長復号された画素適応オフセット処理のブロック分割情報に基づいて復号画像を分割し、そのブロック単位に、可変長復号部３１により可変長復号されたブロック単位のクラス分類手法を示すインデックスを参照して、そのインデックスが“オフセット処理を行わない”ことを示すインデックスでない場合、ブロック単位にブロック内の各画素を上記インデックスが示すクラス分類手法に従ってクラス分類する。
なお、クラス分類手法の候補として、ループフィルタ部１３の画素適応オフセット処理のクラス分類手法の候補と同一のものが予め用意されている。
そして、ブロック単位の各クラスのオフセット値を特定するオフセット情報を参照して、復号画像の輝度値にオフセットを加算する処理を行う。
【００６９】
ただし、画像符号化装置のループフィルタ部１３の画素適応オフセット処理において、ブロック分割情報は符号化せずに、常に画像を固定サイズのブロック単位（例えば、最大符号化ブロック単位）に分割し、そのブロック毎にクラス分類手法を選択して、クラス毎の適応オフセット処理を行うように構成されている場合、ループフィルタ部３９においても、ループフィルタ部１３と同一の固定サイズのブロック単位に画素適応オフセット処理を実施する。
【００７０】
適応フィルタ処理では、可変長復号部３１により可変長復号されたクラス毎のフィルタを用いて、図１の画像符号化装置と同一の手法でクラス分類した後に、そのクラス分類情報に基づいてフィルタ処理を行う。
【００７１】
動き補償予測フレームメモリ４０はループフィルタ部３９のフィルタ処理後の復号画像をインター予測処理（動き補償予測処理）で用いる参照画像として格納する記録媒体である。
【００７２】
図１５の例では、画像復号装置の構成要素である可変長復号部３１、逆量子化・逆変換部３２、切換スイッチ３３、イントラ予測部３４、画面内コピー予測部３５、動き補償予測部３６、加算部３７、イントラ用メモリ３８、ループフィルタ部３９及び動き補償予測フレームメモリ４０のそれぞれが専用のハードウェアで構成（イントラ用メモリ３８及び動き補償予測フレームメモリ４０以外の構成要素は、例えば、ＣＰＵを実装している半導体集積回路や、ワンチップマイコンなどで構成）されているものを想定しているが、画像復号装置がコンピュータで構成されていてもよい。
【００７３】
画像復号装置をコンピュータで構成する場合、イントラ用メモリ３８及び動き補償予測フレームメモリ４０をコンピュータのメモリ上に構成するとともに、可変長復号部３１、逆量子化・逆変換部３２、切換スイッチ３３、イントラ予測部３４、画面内コピー予測部３５、動き補償予測部３６、加算部３７及びループフィルタ部３９の処理内容を記述しているプログラムをコンピュータのメモリに格納し、当該コンピュータのＣＰＵが当該メモリに格納されているプログラムを実行するようにすればよい。
図１７はこの発明の実施の形態１による画像復号装置の処理内容（画像復号方法）を示すフローチャートである。
【００７４】
次に動作について説明する。
この実施の形態１では、映像の各フレーム画像を入力画像として、符号化済みの近傍画素からのイントラ予測又は近接フレーム間での動き補償予測を実施して、得られた予測差分信号に対して直交変換・量子化による圧縮処理を施し、その後、可変長符号化を行って符号化ビットストリームを生成する画像符号化装置と、その画像符号化装置から出力される符号化ビットストリームを復号する画像復号装置について説明する。
【００７５】
図１の画像符号化装置は、映像信号の空間・時間方向の局所的な変化に適応して、映像信号を多様なサイズのブロックに分割して、フレーム内・フレーム間適応符号化を行うことを特徴としている。一般的に、映像信号は、空間・時間的に信号の複雑さが局所的に変化する特性を有している。空間的に見ると、ある映像フレーム上では、例えば、空や壁などのような比較的広い画像領域中で均一な信号特性を有する絵柄もあれば、人物や細かいテクスチャを含む絵画など、小さい画像領域内で複雑なテクスチャパターンを有する絵柄も混在することがある。時間的に見ても、空や壁は局所的に時間方向の絵柄の変化は小さいが、動く人物や物体は、その輪郭が時間的に剛体・非剛体の運動をするため、時間的な変化が大きい。
【００７６】
符号化処理は、時間・空間的な予測によって、信号電力やエントロピーの小さい予測差分信号を生成して、全体の符号量を削減する処理を行うが、予測に用いるパラメータをできるだけ大きな画像信号領域に均一に適用できれば、当該パラメータの符号量を小さくすることができる。一方、時間的・空間的に変化の大きい画像信号パターンに対して、同一の予測パラメータを大きな画像領域に適用すると、予測の誤りが増えてしまうため、予測差分信号の符号量が増加してしまう。したがって、時間的・空間的に変化が大きい領域では、同一の予測パラメータを適用して予測処理を行うブロックサイズを小さくして、予測に用いるパラメータのデータ量を増やし、予測差分信号の電力・エントロピーを低減する方が望ましい。
この実施の形態１では、このような映像信号の一般的な性質に適応した符号化を行うため、最初に所定の最大ブロックサイズから予測処理等を開始し、階層的に映像信号の領域を分割し、分割した領域毎に予測処理や、その予測差分の符号化処理を適応化させる構成をとるようにしている。
【００７７】
最初に、図１の画像符号化装置の処理内容を説明する。
まず、符号化制御部１は、符号化対象となるピクチャ（カレントピクチャ）のスライス分割状態を決めると共に、ピクチャの符号化に用いる最大符号化ブロックのサイズと、最大符号化ブロックを階層分割する階層数の上限を決定する（図１４のステップＳＴ１）。
最大符号化ブロックのサイズの決め方としては、例えば、入力画像の映像信号の解像度に応じて、全てのピクチャに対して同一のサイズを定めてもよいし、入力画像の映像信号の局所的な動きの複雑さの違いをパラメータとして定量化して、動きの激しいピクチャには、小さいサイズを定める一方、動きが少ないピクチャには、大きいサイズを定めるようにしてもよい。
【００７８】
分割階層数の上限の決め方としては、例えば、入力画像の映像信号の解像度に応じて、全てのピクチャに対して同一の階層数を定める方法や、入力画像の映像信号の動きが激しい場合には、階層数を深くして、より細かい動きが検出できるように設定し、動きが少ない場合には、階層数を抑えるように設定する方法などがある。なお、上記最大符号化ブロックのサイズと、最大符号化ブロックを階層分割する階層数の上限は、シーケンスレベルヘッダなどで符号化する。その場合、分割階層数の上限の代わりに、符号化対象ブロックの最小ブロックサイズを符号化するようにしてもよい。即ち、最大符号化ブロックを分割階層数の上限まで分割したときのブロックのサイズが、符号化対象ブロックの最小ブロックサイズであるため、画像復号装置側において、最大符号化ブロックのサイズと符号化対象ブロックの最小ブロックサイズから分割階層数の上限を特定することができる。
【００７９】
また、符号化制御部１は、利用可能な１以上の符号化モードの中から、階層的に分割される各々の符号化対象ブロックに対応する符号化モードを選択する（図１４のステップＳＴ２）。
即ち、符号化制御部１は、最大符号化ブロックサイズの画像領域毎に、先に定めた分割階層数の上限に至るまで、階層的に符号化対象ブロックサイズを有する符号化対象ブロックに分割して、各々の符号化対象ブロックに対する符号化モードを決定する。
【００８０】
符号化モードには、１つないし複数のイントラ符号化モード（総称して「ＩＮＴＲＡ」と称する）と、１つないし複数の画面内コピー符号化モード（総称して「ＩＣＯＰＹ」と称する）と、１つないし複数のインター符号化モード（総称して、「ＩＮＴＥＲ」と称する）とがあり、符号化制御部１は、当該ピクチャで利用可能な全ての符号化モード、又は、そのサブセットの中から、各々の符号化対象ブロックに対応する符号化モードを選択する。
ただし、後述するブロック分割部３により階層的に分割される各々の符号化対象ブロックは、さらに予測処理を行う単位である１つないし複数の予測ブロックに分割され、予測ブロックの分割状態も符号化モードの中に情報として含まれる。即ち、符号化モードは、どのような予測ブロック分割を持つイントラ符号化モード、画面内コピー符号化モード又はインター符号化モードかを識別するインデックスである。
符号化制御部１による符号化モードの選択方法は、公知の技術であるため詳細な説明を省略するが、例えば、利用可能な任意の符号化モードを用いて、符号化対象ブロックに対する符号化処理を実施して符号化効率を検証し、利用可能な複数の符号化モードの中で、最も符号化効率がよい符号化モードを選択する方法などがある。
【００８１】
また、符号化制御部１は、各々の符号化対象ブロック毎に、差分画像が圧縮される際に用いられる量子化パラメータ及び変換ブロック分割状態を決定するとともに、予測処理が実施される際に用いられる予測パラメータ（イントラ予測パラメータ、画面内コピー予測パラメータ又はインター予測パラメータ）を決定する。ただし、符号化対象ブロックがさらに予測処理を行う予測ブロック単位に分割される場合は、予測ブロック毎に予測パラメータ（イントラ予測パラメータ、画面内コピー予測パラメータ又はインター予測パラメータ）を選択する。
【００８２】
ここで、図２は４：２：０フォーマットの信号における輝度信号及び色差信号の圧縮処理（変換処理、量子化処理）を実施する際の変換ブロックサイズを示す説明図である。変換ブロックサイズは、図２に示すように、符号化対象ブロックを四分木状に階層分割することによって決定される。
例えば、変換ブロックを分割する場合と変換ブロックを分割しない場合での符号量や、符号化誤差を加味した評価尺度などに基づいて、評価値が最小になるように変換ブロックを分割するか否かを決定することで、符号量と符号化誤差のトレードオフの観点から最適な変換ブロックの分割形状を決定することができる。
【００８３】
輝度信号については、例えば、図２に示すように、符号化対象ブロックが１つ又は複数の正方形の変換ブロックに階層的に分割されるように構成する。色差信号については、図２に示すように、入力信号フォーマットがＹＵＶ４：２：０信号である場合、輝度信号と同様に、符号化対象ブロックが１つ又は複数の正方形の変換ブロックに階層的に分割されるように構成する。この場合、色差信号の変換ブロックサイズは、対応する輝度信号の変換ブロックの縦横ともに半分のサイズとなる。
【００８４】
入力信号フォーマットがＹＵＶ４：２：２信号である場合、図３に示すように、輝度信号と同様の四分木状の階層分割を行う。また、分割したブロックの形状が、垂直方向の画素数が水平方向の画素数の２倍になる長方形となるため、さらに、分割したブロックを上下に二分することで、ＹＵＶ４：２：０信号での色差信号と同じブロックサイズ（輝度信号の変換ブロックの縦横ともに半分のサイズ）の変換ブロック２つで構成するようにする。
また、入力信号フォーマットがＹＵＶ４：４：４信号である場合、図４に示すように、色差信号の変換ブロックは、常に輝度信号の変換ブロックと同様の分割を行い、同じサイズの変換ブロックとなるように構成する。
【００８５】
符号化制御部１は、符号化対象ブロックにおける変換ブロックの分割情報を示す変換ブロック分割情報や、変換係数の量子化を行う際の量子化ステップサイズを規定する量子化パラメータなどを含む予測差分符号化パラメータを変換・量子化部９、逆量子化・逆変換部１０及び可変長符号化部１５に出力する。
符号化制御部１は、イントラ予測パラメータを必要に応じてイントラ予測部５に出力する。
また、符号化制御部１は、画面内コピー予測パラメータを必要に応じて画面内コピー予測部６に出力する。
また、符号化制御部１は、インター予測パラメータを必要に応じて動き補償予測部７に出力する。
【００８６】
スライス分割部２は、入力画像として映像信号を入力すると、その入力画像を符号化制御部１により決定されたスライス分割情報にしたがって１以上の部分画像であるスライスに分割する。
ブロック分割部３は、スライス分割部２から各スライスを入力する毎に、そのスライスを符号化制御部１により決定された最大符号化ブロックサイズに分割し、さらに、分割した最大符号化ブロックを符号化制御部１により決定された符号化対象ブロックへ階層的に分割して、その符号化対象ブロックを出力する。
【００８７】
ここで、図１８は最大符号化ブロックが階層的に複数の符号化対象ブロックに分割される例を示す説明図である。
図１８において、最大符号化ブロックは、「第０階層」と記されている輝度成分が（Ｌ０，Ｍ０）のサイズを有する符号化対象ブロックである。最大符号化ブロックを出発点として、４分木構造で別途定める所定の深さまで、階層的に分割を行うことによって符号化対象ブロックを得るようにしている。深さｎにおいては、符号化対象ブロックはサイズ（Ｌｎ，Ｍｎ）の画像領域である。ただし、ＬｎとＭｎは、同じであってもよいし、異なっていてもよいが、図１８では、Ｌｎ＝Ｍｎのケースを示している。
【００８８】
以降、符号化制御部１により決定される符号化対象ブロックサイズは、符号化対象ブロックの輝度成分におけるサイズ（Ｌｎ，Ｍｎ）と定義する。４分木分割を行うため、常に、（Ｌｎ＋１，Ｍｎ＋１）＝（Ｌｎ／２，Ｍｎ／２）が成立する。なお、ＲＧＢ信号など、全ての色成分が同一サンプル数を有するカラー映像信号（４：４：４フォーマット）では、全ての色成分のサイズが（Ｌｎ，Ｍｎ）になるが、４：２：０フォーマットを扱う場合、対応する色差成分の符号化対象ブロックサイズは（Ｌｎ／２，Ｍｎ／２）になる。
【００８９】
以降、第ｎ階層の符号化対象ブロックをＢｎで表し、符号化対象ブロックＢｎで選択可能な符号化モードをｍ（Ｂｎ）で表すものとする。複数の色成分からなるカラー映像信号の場合、符号化モードｍ（Ｂｎ）は、色成分毎に、それぞれ個別のモードを用いるように構成されてもよいし、全ての色成分に対し共通のモードを用いるように構成されてもよい。以降、特に断らない限り、ＹＵＶ信号、４：２：０フォーマットの符号化対象ブロックの輝度成分に対する符号化モードを指すものとして説明を行う。
【００９０】
符号化対象ブロックＢｎは、図１８に示すように、ブロック分割部３によって、予測処理単位を表す１つないし複数の予測ブロックに分割される。以降、符号化対象ブロックＢｎに属する予測ブロックをＰｉｎ（ｉは、第ｎ階層における予測ブロック番号）と表記する。図１８にはＰ００とＰ１０の例を示している。符号化対象ブロックＢｎ内の予測ブロックの分割が、どのようになされているかは、符号化モードｍ（Ｂｎ）の中に情報として含まれる。予測ブロックＰｉｎは、全て符号化モードｍ（Ｂｎ）に従って予測処理が行われるが、予測ブロックＰｉｎ毎に、個別の予測パラメータ（イントラ予測パラメータ、画面内コピー予測パラメータ又はインター予測パラメータ）を選択することができる。
【００９１】
符号化制御部１は、最大符号化ブロックに対して、例えば、図１９に示すようなブロック分割状態を生成して、符号化対象ブロックを特定する。図１９（ａ）の点線で囲まれた矩形が各符号化対象ブロックを表し、各符号化対象ブロック内にある斜線で塗られたブロックが各予測ブロックの分割状態を表している。図１９（ｂ）は、図１９（ａ）の例について、階層分割によって符号化モードｍ（Ｂｎ）が割り当てられる状況を４分木グラフで示したものである。図１９（ｂ）の□で囲まれているノードは、符号化モードｍ（Ｂｎ）が割り当てられたノード（符号化対象ブロック）である。この４分木グラフの情報は符号化モードｍ（Ｂｎ）と共に符号化制御部１から可変長符号化部１５に出力されて、ビットストリームに多重化される。
【００９２】
切換スイッチ４は、符号化制御部１により決定された符号化モードｍ（Ｂｎ）がイントラ符号化モードである場合（ｍ（Ｂｎ）∈ＩＮＴＲＡの場合）、ブロック分割部３から出力された符号化対象ブロックＢｎをイントラ予測部５に出力し、符号化制御部１により決定された符号化モードｍ（Ｂｎ）が画面内コピー符号化モードである場合（ｍ（Ｂｎ）∈ＩＣＯＰＹの場合）、ブロック分割部３から出力された符号化対象ブロックＢｎを画面内コピー予測部６に出力し、符号化制御部１により決定された符号化モードｍ（Ｂｎ）がインター符号化モードである場合（ｍ（Ｂｎ）∈ＩＮＴＥＲの場合）、ブロック分割部３から出力された符号化対象ブロックＢｎを動き補償予測部７に出力する。
【００９３】
イントラ予測部５は、符号化制御部１により決定された符号化モードｍ（Ｂｎ）がイントラ符号化モードであり（ｍ（Ｂｎ）∈ＩＮＴＲＡの場合）、切換スイッチ４から符号化対象ブロックＢｎを受けると（図１４のステップＳＴ３）、イントラ用メモリ１２に格納されている局所復号画像を参照しながら、符号化制御部１により決定されたイントラ予測パラメータを用いて、その符号化対象ブロックＢｎ内の各予測ブロックＰｉｎに対するイントラ予測処理を実施して、イントラ予測画像ＰＩＮＴＲＡｉｎを生成する（図１４のステップＳＴ４）。
【００９４】
ただし、詳細は後述するが、イントラ予測画像を生成する処理を行う際に、予測ブロックに隣接する符号化済みの画素を用いることから、イントラ予測画像を生成する処理は、予測処理に用いる予測ブロックに隣接する画素が既に符号化済みとなるように常に変換ブロック単位に行われなくてはならない。したがって、符号化モードがイントラ符号化モードである符号化対象ブロックでは、選択可能な変換ブロックのブロックサイズは、予測ブロックのサイズ以下に制限され、さらに、変換ブロックが予測ブロックより小さい場合（予測ブロック内に複数の変換ブロックが存在する場合）には、変換ブロック単位に、当該予測ブロックで定められたイントラ予測パラメータを用いたイントラ予測処理を実施してイントラ予測画像を生成する処理を実施する。
なお、図１５の画像復号装置がイントラ予測画像ＰＩＮＴＲＡｉｎと全く同じイントラ予測画像を生成する必要があるため、イントラ予測画像ＰＩＮＴＲＡｉｎの生成に用いられたイントラ予測パラメータは、符号化制御部１から可変長符号化部１５に出力されて、ビットストリームに多重化される。イントラ予測部５の処理内容の詳細は後述する。
【００９５】
画面内コピー予測部６は、符号化制御部１により決定された符号化モードｍ（Ｂｎ）が画面内コピー符号化モードであり（ｍ（Ｂｎ）∈ＩＣＯＰＹの場合）、切換スイッチ４から符号化対象ブロックＢｎを受けると（図１４のステップＳＴ３）、その符号化対象ブロックＢｎ内の各予測ブロックＰｉｎとイントラ用メモリ１２に格納されている局所復号画像を比較し、予測ブロックＰｉｎと最も類似している領域のブロック（参照ブロック）を探索する。
画面内コピー予測部６は、参照ブロックを予測ブロックＰｉｎの予測画像として、画面内コピー予測画像ＰＩＣＯＰＹｉｎを生成する（図１４のステップＳＴ５）。
【００９６】
図１５の画像復号装置では、画面内コピー予測画像ＰＩＣＯＰＹｉｎと全く同じ画面内コピー予測画像を生成する必要があるため、画面内コピー予測画像ＰＩＣＯＰＹｉｎの生成に用いられたブロックシフトベクトルは、画面内コピー予測部６から可変長符号化部１５に出力されて、ビットストリームに多重化される。
このブロックシフトベクトルは、画面内コピー予測部６により探索された参照ブロックを指し示す位置情報であり、一般的に図２０に示すようなベクトルである。
図２０では、符号化対象ブロックを原点として、参照ブロックまでの移動量をブロックシフトベクトルによって表現している。このブロックシフトベクトルは、可変長符号化部１５により符号化されるが、その際、直前の符号化済み予測ブロックのブロックシフトベクトル、あるいは、当該予測ブロックの周囲の符号化済み予測ブロックのブロックシフトベクトルとの差分値を符号化するようにしてもよい。
【００９７】
動き補償予測部７は、符号化制御部１により決定された符号化モードｍ（Ｂｎ）がインター符号化モードであり（ｍ（Ｂｎ）∈ＩＮＴＥＲの場合）、切換スイッチ４から符号化対象ブロックＢｎを受けると（図１４のステップＳＴ３）、その符号化対象ブロックＢｎ内の各予測ブロックＰｉｎと動き補償予測フレームメモリ１４に格納されているフィルタ処理後の局所復号画像を比較して動きベクトルを探索し、その動きベクトルと符号化制御部１により決定されたインター予測パラメータを用いて、その符号化対象ブロックＢｎ内の各予測ブロックＰｉｎに対するインター予測処理を実施して、インター予測画像ＰＩＮＴＥＲｉｎを生成する（図１４のステップＳＴ６）。
【００９８】
図１５の画像復号装置がインター予測画像ＰＩＮＴＥＲｉｎと全く同じインター予測画像を生成する必要があるため、インター予測画像ＰＩＮＴＥＲｉｎの生成に用いられたインター予測パラメータは、符号化制御部１から可変長符号化部１５に出力されて、ビットストリームに多重化される。
また、動き補償予測部７により探索された動きベクトルも可変長符号化部１５に出力されて、ビットストリームに多重化される。
【００９９】
減算部８は、ブロック分割部３から符号化対象ブロックＢｎを受けると、その符号化対象ブロックＢｎ内の予測ブロックＰｉｎから、イントラ予測部５により生成されたイントラ予測画像ＰＩＮＴＲＡｉｎ、画面内コピー予測部６により生成された画面内コピー予測画像ＰＩＣＯＰＹｉｎ、又は、動き補償予測部７により生成されたインター予測画像ＰＩＮＴＥＲｉｎのいずれかを減算して、その減算結果である差分画像を示す予測差分信号ｅｉｎを変換・量子化部９に出力する（図１４のステップＳＴ７）。
【０１００】
変換・量子化部９は、減算部８から予測差分信号ｅｉｎを受けると、符号化制御部１により決定された予測差分符号化パラメータに含まれる変換ブロック分割情報を参照して、その予測差分信号ｅｉｎに対する直交変換処理（例えば、ＤＣＴ（離散コサイン変換）やＤＳＴ（離散サイン変換）、予め特定の学習系列に対して基底設計がなされているＫＬ変換等の直交変換処理）を変換ブロック単位に実施して、変換係数を算出する。
また、変換・量子化部９は、その予測差分符号化パラメータに含まれる量子化パラメータを参照して、その変換ブロック単位の変換係数を量子化し、量子化後の変換係数である圧縮データを逆量子化・逆変換部１０及び可変長符号化部１５に出力する（図１４のステップＳＴ８）。このとき、上記量子化パラメータから算出される量子化ステップサイズを変換係数毎にスケーリングする量子化マトリクスを用いて量子化処理を実施するようにしてもよい。
【０１０１】
量子化マトリクスは、各直交変換サイズで色信号や符号化モード（イントラ符号化かインター符号化か）毎に独立しているマトリクスを使用することができ、初期値として、画像符号化装置及び画像復号装置で、予め共通に用意されている量子化マトリクスや既に符号化された量子化マトリクスの中から選択するか、新しい量子化マトリクスを用いるかをそれぞれ選択することができる。したがって、変換・量子化部９は、各直交変換サイズに対して色信号や符号化モード毎に、新しい量子化マトリクスを用いるか否かを示すフラグ情報を符号化すべき量子化マトリクスパラメータに設定する。
【０１０２】
さらに、新しい量子化マトリクスを用いる場合には、図１１に示すような量子化マトリクスの各スケーリング値を符号化すべき量子化マトリクスパラメータに設定する。一方、新しい量子化マトリクスを用いない場合には、初期値として、画像符号化装置及び画像復号装置で、予め共通に用意されている量子化マトリクス、又は、既に符号化された量子化マトリクスの中から、使用するマトリクスを特定するインデックスを符号化すべき量子化マトリクスパラメータに設定する。ただし、参照可能な既に符号化された量子化マトリクスが存在しない場合、画像符号化装置及び画像復号装置で、予め共通に用意されている量子化マトリクスのみ選択可能となる。そして、変換・量子化部９は、設定した量子化マトリクスパラメータを可変長符号化部１５に出力する。
【０１０３】
逆量子化・逆変換部１０は、変換・量子化部９から圧縮データを受けると、符号化制御部１により決定された予測差分符号化パラメータに含まれる量子化パラメータ及び変換ブロック分割情報を参照して、変換ブロック単位にその圧縮データを逆量子化する。変換・量子化部９が量子化処理に量子化マトリクスを用いている場合には、逆量子化処理時においても、その量子化マトリクスを参照して、対応した逆量子化処理を実施する。
また、逆量子化・逆変換部１０は、変換ブロック単位に逆量子化後の圧縮データである変換係数に対する逆直交変換処理（例えば、逆ＤＣＴ、逆ＤＳＴ、逆ＫＬ変換など）を実施して、減算部８から出力された予測差分信号ｅｉｎに相当する局所復号予測差分信号を算出して加算部１１に出力する（図１４のステップＳＴ９）。
【０１０４】
加算部１１は、逆量子化・逆変換部１０から局所復号予測差分信号を受けると、その局所復号予測差分信号に対して、イントラ予測部５により生成されたイントラ予測画像ＰＩＮＴＲＡｉｎ、画面内コピー予測部６により生成された画面内コピー予測画像ＰＩＣＯＰＹｉｎ、又は、動き補償予測部７により生成されたインター予測画像ＰＩＮＴＥＲｉｎのいずれかを加算することで、局所復号画像を算出する（図１４のステップＳＴ１０）。
また、加算部１１は、その局所復号画像をループフィルタ部１３に出力するとともに、その局所復号画像をイントラ用メモリ１２に格納する。この局所復号画像が、以降のイントラ予測処理及び画面内コピー予測処理の際に用いられる符号化済みの画像信号になる。
【０１０５】
ループフィルタ部１３は、加算部１１から局所復号画像を受けると、その局所復号画像に対して、所定のフィルタ処理を実施して、フィルタ処理後の局所復号画像を動き補償予測フレームメモリ１４に格納する（図１４のステップＳＴ１１）。
具体的には、変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するフィルタ（デブロッキングフィルタ）処理、画素単位に適応的にオフセットを加算する（画素適応オフセット）処理、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理などを行う。
【０１０６】
ただし、ループフィルタ部１３は、上記のデブロッキングフィルタ処理、画素適応オフセット処理、適応フィルタ処理のそれぞれについて、処理を行うか否かを決定し、各処理の有効フラグをシーケンスレベルヘッダの一部及びスライスレベルヘッダの一部として可変長符号化部１５に出力する。なお、上記のフィルタ処理を複数使用する際は、各フィルタ処理を順番に実施する。図１２は複数のフィルタ処理を用いる場合のループフィルタ部１３の構成例を示している。
一般に使用するフィルタ処理の種類が多いほど、画像品質は向上するが、一方で処理負荷は高くなる。即ち、画像品質と処理負荷はトレードオフの関係にある。また、各フィルタ処理の画像品質改善効果はフィルタ処理対象画像の特性によって異なる。したがって、画像符号化装置が許容する処理負荷や符号化処理対象画像の特性にしたがって使用するフィルタ処理を決めればよい。
【０１０７】
ここで、デブロッキングフィルタ処理では、ブロック境界にかけるフィルタ強度の選択に用いる各種パラメータを初期値から変更することができる。変更する場合には、そのパラメータをヘッダ情報として可変長符号化部１５に出力する。
【０１０８】
画素適応オフセット処理では、最初に、画像を複数のブロックに分割し、そのブロック単位に、オフセット処理を行わない場合もクラス分類手法の一つとして定義して、予め用意している複数のクラス分類手法の中から、１つのクラス分類手法を選択する。
次に、選択したクラス分類手法によってブロック内の各画素をクラス分類し、クラス毎に符号化歪みを補償するオフセット値を算出する。
最後に、局所復号画像の輝度値に対して、そのオフセット値を加算する処理を行うことで局所復号画像の画像品質を改善する。
【０１０９】
したがって、画素適応オフセット処理は、ブロックの分割情報、ブロック単位のクラス分類手法を示すインデックス、ブロック単位のオフセット情報をヘッダ情報として可変長符号化部１５に出力する。
なお、画素適応オフセット処理において、例えば最大符号化ブロックといった固定サイズのブロック単位に常に分割して、そのブロック毎にクラス分類手法を選択して、クラス毎の適応オフセット処理を行ってもよい。この場合、上記ブロック分割情報が不要となり、ブロック分割情報に要する符号量分だけ符号量が削減され、符号化効率を高めることができる。
【０１１０】
また、適応フィルタ処理では、局所復号画像を所定の手法でクラス分類し、各クラスに属する領域（局所復号画像）毎に、重畳されている歪みを補償するフィルタを設計し、そのフィルタを用いて、当該局所復号画像のフィルタ処理を実施する。
そして、クラス毎に設計したフィルタをヘッダ情報として可変長符号化部１５に出力する。
ここで、クラス分類手法としては、画像を空間的に等間隔に区切る簡易な手法や、ブロック単位に画像の局所的な特性（分散など）に応じて分類する手法がある。また、適応フィルタ処理で使用するクラス数は、予め画像符号化装置及び画像復号装置で共通の値に設定してもよいし、符号化すべきパラメータの一つとしてもよい。
前者と比較して後者の方が、使用するクラス数を自由に設定することができるため、画像品質改善効果が上がるが、一方でクラス数を符号化するために、その分の符号量が増加する。
【０１１１】
図１４のステップＳＴ３〜ＳＴ１０の処理は、階層的に分割された全ての符号化対象ブロックＢｎに対する処理が完了するまで繰り返し実施され、全ての符号化対象ブロックＢｎに対する処理が完了すると、ステップＳＴ１４の処理に移行する（図１４のステップＳＴ１２，ＳＴ１３）。
【０１１２】
可変長符号化部１５は、変換・量子化部９から出力された圧縮データと、符号化制御部１から出力された最大符号化ブロック内のブロック分割情報（図１９（ｂ）を例とする４分木情報）、符号化モードｍ（Ｂｎ）及び予測差分符号化パラメータと、ループフィルタパラメータと、符号化制御部１から出力されたイントラ予測パラメータ（符号化モードがイントラ符号化モードである場合）、ブロックシフトベクトルを含む画面内コピー予測パラメータ（符号化モードが画面内コピー符号化モードである場合）又はインター予測パラメータ（符号化モードがインター符号化モードである場合）と、動き補償予測部７から出力された動きベクトル（符号化モードがインター符号化モードである場合）とを可変長符号化し、それらの符号化結果を示す符号化データを生成する（図１４のステップＳＴ１４）。
【０１１３】
その際、量子化された直交変換係数である圧縮データの符号化手法として、変換ブロックをさらにＣｏｅｆｆｉｃｉｅｎｔ Ｇｒｏｕｐ（ＣＧ）と呼ばれる４×４画素単位のブロック（符号化サブブロック）に分割して、ＣＧ単位に係数の符号化処理を実施する。
図２１は１６×１６画素の変換ブロックにおける係数の符号化順（スキャン順）を示している。このように、４×４画素単位の１６個のＣＧを右下のＣＧから順に符号化処理し、さらに、各ＣＧはＣＧ内の１６個の係数を右下の係数から順に符号化する。
【０１１４】
具体的には、まず、ＣＧ内の１６個の係数の中に有意（非零）係数が存在するか否かのフラグ情報を符号化し、次に、ＣＧ内に有意（非零）係数が存在する場合のみ、ＣＧ内の各係数が有意（非零）係数であるかを上記順に符号化し、最後に有意（非零）係数に対して、その係数値情報を順に符号化する。これをＣＧ単位に上記順に行う。その際、有意（非零）係数がなるべく連続で発生するように偏るスキャン順とした方がエントロピー符号化による符号化効率を高めることができる。
直交変換後の係数は、左上に位置する直流成分をはじめとして、左上に近い程、低い周波数成分の低い係数を表すことから、図２２に示す例のように、一般的に左上に近いほど有意（非零）係数が多く発生するために、図２１に示すように、右下から順に符号化することで効率的に符号化することができる。
【０１１５】
なお、上記では１６×１６画素の変換ブロックについて説明したが、８×８画素や３２×３２画素の変換ブロック等、１６×１６画素以外のブロックサイズにおいてもＣＧ（符号化サブブロック）単位の符号化処理を実施するものとする。また、イントラ予測が選択されている４×４画素と８×８画素の変換ブロックについては、イントラ予測モードのインデックスに応じて、図２１のスキャン順ではなく図２３に示すスキャン順で処理を行う。これはイントラ予測の方向によって残差信号の周波数成分の分布が異なる傾向があるためである。
【０１１６】
ここで、可変長符号化部１５が画面内コピー予測パラメータ及び動きベクトルを可変長符号化する方法について述べる。
既に画面内コピー予測部６の動作説明で述べたように、画面内コピー予測パラメータとしては参照ブロックの位置を指し示すブロックシフトベクトルが挙げられる。つまり、符号化モードが画面内コピー符号化モードである場合も、インター符号化モードである場合も、符号化されるのはベクトルということになる。いずれの場合も直前の符号化済みブロックのベクトル、あるいは、符号化対象ブロックの周囲の符号化済みブロックのベクトルとの差分値を符号化することにより、ベクトルの符号化に要する符号量を削減することができる。
【０１１７】
従来、画面内コピー予測処理におけるブロックシフトベクトルと、インター予測処理における動きベクトルは、簡単のために同じ方法で符号化されている。
図２４はベクトルの差分値を符号化する代表的方式である次数が１の指数ゴロム符号の符号語を示す説明図である。
図２４から明らかなように、小さな差分値となるベクトルに対しては短い符号語を割り当て、差分値が大きくなるにつれて符号語が長くなるようにしている。なお、符号化はベクトルの垂直成分と水平成分のそれぞれに対して行う。また、絶対値を符号化し、差分の正負を表す符号については別途符号化している。
【０１１８】
このような符号化方式を用いているのは、ベクトルの差分値がゼロ付近に集中するためである。
図２５はカメラで撮影された動画像を符号化した際のインター予測処理における動きベクトルの差分値の分布を示す説明図である。
図２５の場合、動きベクトル差分の頻度はゼロ付近がきわめて高く、発生確率が高いことが分かる。したがって、発生確率の高い値に対して短い符号語を割り当てる図２４のような符号化方式を用いれば、高い符号化効率を実現することができる。
【０１１９】
一方、画面内コピー符号化がよく用いられるスクリーンコンテンツの符号化において、ブロックシフトベクトルの差分値の分布を求めると、図２６のようになる。
図２６より、スクリーンコンテンツの符号化におけるブロックシフトベクトルの差分値は、カメラで撮影された動画像（スクリーンコンテンツでない画像）の動きベクトルの差分値（図２５）と比べて、ゼロ付近への集中度が低いことが分かる。
このような場合、ゼロ付近の符号語が極めて短く、ゼロから離れるにつれて急速に符号語が長くなる図２４に示すような符号化方式を利用すると、高い符号化効率を実現することができなくなる。
つまり、従来のように動きベクトルとブロックシフトベクトルの符号化に同じ方式を用いたのでは、十分な符号化効率が得られない。
【０１２０】
そこで、この実施の形態１では、インター予測処理における動きベクトルと画面内コピー予測処理におけるブロックシフトベクトルに異なる符号化方式を適用している。
図２６に示すようなゼロ付近の発生確率がそれほど高くない信号に対しては、例えば、指数ゴロム符号の次数を上げることが有効である。
図２７は次数が４の指数ゴロム符号の符号語を示す説明図である。
次数が１の指数ゴロム符号を示す図２４と、次数が４の指数ゴロム符号の符号語を示す図２７を比較すると、次数が４の指数ゴロム符号の方が、ゼロ付近の値に対する符号長が大きくなるが、ゼロから離れるにつれて次数が１の指数ゴロム符号ほど、急激に符号長が大きくならないことがわかる。
【０１２１】
なお、図２６から分かるように、スクリーンコンテンツの符号化におけるブロックシフトベクトルの差分値は、ゼロ付近の発生確率が小さいものの、依然としてゼロが発生する確率は非常に高い。指数ゴロム符号の次数を上げると、図２７に示すように、ゼロに対する符号長も大きくなってしまうため、例えば、最初にゼロか否かを表す１ビットのフラグだけを符号化しておき、ゼロ以外の場合だけ、指数ゴロム符号を用いて符号化することで更に符号化効率を改善することができる。
【０１２２】
ここで、図２８はこの発明の実施の形態１による画像符号化装置の可変長符号化部１５の内部構成のうち、ベクトルの符号化に関する部分を示す構成図である。また、図２９はベクトルの符号化に関する部分の処理内容を示すフローチャートである。
可変長符号化部１５の選択スイッチ５２は、符号化制御部１からインター予測パラメータあるいは画面内コピー予測パラメータとしてベクトル差分５０を受けると、符号化制御部１から出力された符号化方式選択情報５１（符号化モードを示すパラメータ）にしたがって、そのベクトル差分５０をベクトル符号化部５３（第１の符号化方式で符号化を行う符号化部）又はベクトル符号化部５４（第２の符号化方式で符号化を行う符号化部）に出力する。
即ち、可変長符号化部１５の選択スイッチ５２は、符号化方式選択情報５１が、符号化モードがインター符号化モードである旨を示していれば（図２９のステップＳＴ１００）、そのベクトル差分５０をベクトル符号化部５３に出力し、符号化モードが画面内コピー予測モードを示していれば（図２９のステップＳＴ１００）、そのベクトル差分５０をベクトル符号化部５４に出力する。
【０１２３】
ベクトル符号化部５３は、選択スイッチ５２からベクトル差分５０を受けると、次数が１のゴロム符号化によってベクトル差分５０を符号化する（ステップＳＴ１０１）。
ベクトル符号化部５４は、選択スイッチ５２からベクトル差分５０を受けると、次数が４のゴロム符号化によってベクトル差分５０を符号化する（ステップＳＴ１０２）。
選択スイッチ５５は、符号化方式選択情報５１が、符号化モードがインター符号化モードである旨を示していれば、ベクトル符号化部５３により符号化されたベクトル差分５０の符号化データであるビット列５６を符号化ビットストリームに加える。
一方、符号化モードが画面内コピー予測モードを示していれば、ベクトル符号化部５４により符号化されたベクトル差分５０の符号化データであるビット列５６を符号化ビットストリームに加える。
【０１２４】
ここでは、符号化方式選択情報５１が、符号化モードを示す情報であるものを示しているが、符号化モードを示す情報の他に、例えば、符号化対象ブロックがスクリーンコンテンツであるか否かを示す情報などを含んでいるものであってもよい。
符号化対象ブロックがスクリーンコンテンツであるか否かを示す情報を含んでいる場合、符号化モードが画面内コピー予測モードであり、かつ、符号化対象ブロックがスクリーンコンテンツである場合に限り、ベクトル符号化部５４が、次数が４のゴロム符号化によってベクトル差分５０を符号化し、それ以外の場合には、ベクトル符号化部５３が、次数が１のゴロム符号化によってベクトル差分５０を符号化する構成などが考えられる。
図２６に示すようなブロックシフトベクトルの差分値の分布は、スクリーンコンテンツに特有のものであるため、符号化対象ブロックがスクリーンコンテンツである場合に限り、次数が４のゴロム符号化を行うことで、どのような動画像が入力されても高い符号化効率を実現することが可能になる。
【０１２５】
入力された動画像がスクリーンコンテンツであるか否かの判定は、様々な単位で行うことが考えられる。つまり、入力された動画像が全ピクチャに渡ってスクリーンコンテンツである場合のほか、一部のピクチャのみがスクリーンコンテンツである場合や、ピクチャの一部のみがスクリーンコンテンツである場合などが考えられる。
いずれの場合も、例えば、スクリーンコンテンツである場合には“１”、スクリーンコンテンツでない場合には“０”となるようなフラグを用意し、このフラグを可変長符号化部１５で符号化することで、動画像がスクリーンコンテンツであるか否かを図１５の画像復号装置が正しく判断できるようにする必要がある。
【０１２６】
入力された動画像が全ピクチャに渡ってスクリーンコンテンツであると判断できる場合には、上記のフラグを後述するシーケンスレベルヘッダなどに加えて可変長符号化部１５にて符号化を実施する。
また、入力された動画像のうち、一部のピクチャのみがスクリーンコンテンツであると判断できる場合には、上記のフラグを後述するピクチャレベルヘッダなどに加えて可変長符号化部１５にて符号化を実施する。
また、入力された動画像の中で、或るピクチャの一部のみがスクリーンコンテンツであると判断できる場合には、上記のフラグを後述するスライスレベルヘッダに加えて可変長符号化部１５にて符号化を実施することが考えられる。なお、スライス単位に限らずに、タイル単位あるいは符号化対象ブロック単位にフラグを用意して、可変長符号化部１５にて符号化を実施するようにしてもよい。
【０１２７】
ただし、図１５の画像復号装置において、符号化方式選択情報５１を算出することが可能である場合、上記のフラグは符号化する必要がない。
例えば、入力された動画像中のある固定領域が常にスクリーンコンテンツであり、その領域の位置情報を画像符号化装置と画像復号装置の双方で共有できている場合などでは、画像復号装置で符号化方式選択情報５１を算出することが可能であると考えられる。
上記のフラグを符号化する必要がなければ、その分だけ符号量を削減することができるため、更に符号化効率を高めることが可能である。
【０１２８】
ここでは、可変長符号化部１５が、次数が１の指数ゴロム符号あるいは次数が４の指数ゴロム符号を切り替えて用いるものを示したが、当然ながら、さらに異なる次数の指数ゴロム符号や、これと全く異なる他の符号化方式を用いることも考えられる。つまり、任意の２種類の符号化方式を用意して符号化方式を切り替えることが考えられる。また、３種類以上の符号化方式を用意して切り替えるようにしてもよい。
【０１２９】
また、可変長符号化部１５は、図１３に例示するように、符号化ビットストリームのヘッダ情報として、シーケンスレベルヘッダ、ピクチャレベルヘッダを符号化し、ピクチャデータと共に符号化ビットストリームを生成する。ただし、ピクチャデータは１以上のスライスデータから構成され、各スライスデータはスライスレベルヘッダと当該スライス内にある上記符号化データをまとめたものである。ピクチャデータはスライスデータの他に補足情報を示すヘッダ情報を含む場合もある。
シーケンスレベルヘッダは、画像サイズ、色信号フォーマット、輝度信号や色差信号の信号値のビット深度、シーケンス単位でのループフィルタ部１３における各フィルタ処理（適応フィルタ処理、画素適応オフセット処理、デブロッキングフィルタ処理、ヒストグラム補正処理）の有効フラグ情報、量子化マトリクスの有効フラグ情報など、一般的にシーケンス単位に共通となるヘッダ情報をまとめたものである。
【０１３０】
ピクチャレベルヘッダは、参照するシーケンスレベルヘッダのインデックスや動き補償時の参照ピクチャ数、エントロピー符号化の確率テーブル初期化フラグ等のピクチャ単位で設定するヘッダ情報をまとめたものである。
スライスレベルヘッダは、当該スライスがピクチャのどの位置にあるかを示す位置情報、どのピクチャレベルヘッダを参照するかを示すインデックス、スライスの符号化タイプ（オールイントラ符号化、インター符号化など）、ループフィルタ部１３における各フィルタ処理（適応フィルタ処理、画素適応オフセット処理、デブロッキングフィルタ処理、ヒストグラム補正処理）を行うか否かを示すフラグ情報などといったスライス単位のパラメータをまとめたものである。
【０１３１】
各ヘッダ情報とピクチャデータはＮＡＬユニットによって識別される。具体的には、シーケンスパラメータセット（上記シーケンスレベルヘッダに相当）、ピクチャパラメータヘッダ（上記ピクチャレベルヘッダに相当）、スライスデータはそれぞれ固有のＮＡＬユニットタイプとして定義され、ＮＡＬユニットタイプの識別情報（インデックス）と共に符号化される。補足情報についても存在する場合には、固有のＮＡＬユニットとして定義される。また、上記ピクチャデータはアクセスユニットとして定義され、一つのピクチャの符号化データを含むデータアクセスの単位を示している。
【０１３２】
次に、イントラ予測部５の処理内容を詳細に説明する。
イントラ予測部５は、上述したように、予測ブロックＰｉｎのイントラ予測パラメータを参照して、その予測ブロックＰｉｎに対するイントラ予測処理を実施して、イントラ予測画像ＰＩＮＴＲＡｉｎを生成するが、ここでは、輝度信号における予測ブロックＰｉｎのイントラ予測画像を生成するイントラ処理について説明する。
【０１３３】
図３６は符号化対象ブロックＢｎ内の各予測ブロックＰｉｎが選択可能なイントラ予測モードの一例を示す説明図であり、イントラ予測モードのインデックス値と、そのイントラ予測モードが示す予測方向ベクトルを示している。上記イントラ予測モードのインデックス値がイントラ予測パラメータを示している。なお、イントラ予測モード数は、処理対象となるブロックのサイズに応じて異なるように構成してもよい。大きいサイズのブロックでは、イントラ予測の効率が低下するため、選択できるイントラ予測方向数を少なくし、小さいサイズのブロックでは、選択できるイントラ予測方向数を多くするように構成することで演算量を抑制することができる。
【０１３４】
まず、イントラ予測画像を生成する処理は、処理対象のブロックに隣接する符号化済みの画素を用いることから、上述した通り、変換ブロック単位に行われなくてはならない。ここで、イントラ予測画像を生成する変換ブロックを予測画像生成ブロックと呼ぶこととする。したがって、イントラ予測部５は、予測画像生成ブロック単位に下記に述べるイントラ予測画像生成処理を実施して、予測ブロックＰｉｎのイントラ予測画像を生成する。予測画像生成ブロックのサイズをｌｉｎ×ｍｉｎ画素とする。
図３０はｌｉｎ＝ｍｉｎ＝４の場合の予測画像生成ブロック内の画素の予測値を生成する際に用いる画素の一例を示す説明図である。図３０では、予測画像生成ブロックの上の符号化済みの画素（２×ｌｉｎ＋１）個と、左の符号化済みの画素（２×ｍｉｎ）個を予測に用いる画素としているが、予測に用いる画素は、図３０に示す画素より多くても少なくてもよい。また、図３０では、予測画像生成ブロックの近傍の１行又は１列分の画素を予測に用いているが、２行又は２列、あるいは、それ以上の画素を予測に用いてもよい。
【０１３５】
予測画像生成ブロックが属する予測ブロックＰｉｎに対するイントラ予測モードのインデックス値が０（平面（Ｐｌａｎａｒ）予測）の場合には、予測画像生成ブロックの上に隣接する符号化済み画素と、予測画像生成ブロックの左に隣接する符号化済み画素を用いて、これら画素と予測画像生成ブロック内の予測対象画素との距離に応じて内挿した値を予測値として予測画像を生成する。
予測画像生成ブロックが属する予測ブロックＰｉｎに対するイントラ予測モードのインデックス値が１（平均値（ＤＣ）予測）の場合には、予測画像生成ブロックの上に隣接する符号化済み画素と、予測画像生成ブロックの左に隣接する符号化済み画素の平均値を予測画像生成ブロック内の画素の予測値として予測画像を生成する。
【０１３６】
さらに、予測画像生成ブロックの上端及び左端に位置する図３１の領域Ａ，Ｂ，Ｃに対して、ブロック境界を平滑化するフィルタ処理を行って最終的な予測画像とする。例えば、下記の式（１）にしたがって、図３２のフィルタの参照画素配置で、下記のフィルタ係数を用いてフィルタ処理を実施する。
0006300660.tif 000002
・領域Ａ（Ｐｉｎの左上の画素）
ａ０＝１／２，ａ１＝１／４，ａ２＝１／４
・領域Ｂ（領域Ａ以外のＰｉｎの上端の画素）
ａ０＝３／４，ａ２＝１／４，（ａ１＝０）
・領域Ｃ（領域Ａ以外のＰｉｎの左端の画素）
ａ０＝３／４，ａ１＝１／４，（ａ２＝０）
【０１３７】
ただし、式（１）において、ａｎ（ｎ＝０，１，２）は参照画素にかかるフィルタ係数、ｐｎ（ｎ＝０，１，２）はフィルタ処理対象画素ｐ０を含むフィルタの参照画素、Ｓ’（ｐ０）はフィルタ処理対象画素ｐ０におけるフィルタ処理後の予測値、Ｓ（ｐｎ）（ｎ＝０，１，２）はフィルタ処理対象画素ｐ０を含む参照画素のフィルタ処理前の予測値を表している。
【０１３８】
さらに、上記フィルタ処理を行う予測画像生成ブロックのブロックサイズは限定してもよい。一般にブロック端のみフィルタ処理を行って予測値を変化させる場合、大きなブロックサイズのブロックでは、フィルタ処理により予測値が変化する領域の占める割合が小さいために、この予測値の変化によって生じた予測残差信号の変化が非常に高い周波数成分で表されることになり、この高周波数成分を符号化するために符号化効率の悪化を生じさせてしまう傾向がある。また、符号化効率を優先して、この高周波数成分を符号化しないようにすることで、ブロック端の予測残差信号の変化を復元できずに、ブロック境界に歪みが生じてしまう傾向がある。
【０１３９】
一方、小さなブロックサイズのブロックでは、フィルタ処理により予測値が変化する領域の占める割合が大きいために、この予測値の変化によって生じた予測残差信号の変化が大きなブロックサイズのブロックの時のような高い周波数成分で表されることはなく、適切に残差信号を符号化することができ、本フィルタ処理によって、ブロック境界の連続性を高めた分、復号画像の品質を高めることができる。したがって、例えば、３２×３２画素以上のブロックサイズの予測画像生成ブロックでは、上記フィルタ処理を適用せずに、３２×３２画素より小さいブロックのみに上記フィルタ処理を適用することで、従来の平均値予測よりも予測性能を向上させながら、演算量の増加を抑えることができる。
【０１４０】
予測画像生成ブロックに属する予測ブロックＰｉｎに対するイントラ予測モードのインデックス値が２６（垂直方向予測）の場合、下記の式（２）から予測画像生成ブロック内の画素の予測値を算出して予測画像を生成する。
0006300660.tif 000003
ただし、座標（ｘ，ｙ）は予測画像生成ブロック内の左上画素を原点とする相対座標（図３３を参照）であり、Ｓ’（ｘ，ｙ）は座標（ｘ，ｙ）における予測値、Ｓ（ｘ，ｙ）は座標（ｘ，ｙ）における符号化済み画素の輝度値（復号された輝度値）である。また、算出した予測値が輝度値の取り得る値の範囲を超えている場合、予測値がその範囲内に収まるように値を丸めるようにする。
【０１４１】
なお、式（２）の１行目の式は、ＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４における垂直方向予測の予測値であるＳ（ｘ，−１）に対し、隣接する符号化済み画素の垂直方向の輝度値の変化量Ｓ（−１，ｙ）−Ｓ（−１，−１）を１／２にした値を加算することで、ブロック境界が平滑化されるようにフィルタ処理したものを予測値とすることを意味しており、式（２）の２行目の式は、ＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４における垂直方向予測と同じ予測式を示している。
【０１４２】
予測画像生成ブロックが属する予測ブロックＰｉｎに対するイントラ予測モードのインデックス値が１０（水平方向予測）の場合、下記の式（３）から予測画像生成ブロック内の画素の予測値を算出して予測画像を生成する。
0006300660.tif 000004
ただし、座標（ｘ，ｙ）は予測画像生成ブロック内の左上画素を原点とする相対座標（図３３を参照）であり、Ｓ’（ｘ，ｙ）は座標（ｘ，ｙ）における予測値、Ｓ（ｘ，ｙ）は座標（ｘ，ｙ）における符号化済み画素の輝度値（復号された輝度値）である。また、算出した予測値が輝度値の取り得る値の範囲を超えている場合、予測値がその範囲内に収まるように値を丸めるようにする。
【０１４３】
なお、式（３）の１行目の式は、ＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４における水平方向予測の予測値であるＳ（−１，ｙ）に対し、隣接する符号化済み画素の水平方向の輝度値の変化量Ｓ（ｘ，−１）−Ｓ（−１，−１）を１／２にした値を加算することで、ブロック境界が平滑化されるようにフィルタ処理したものを予測値とすることを意味しており、式（３）の２行目の式は、ＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４における水平方向予測と同じ予測式を示している。
【０１４４】
ただし、式（２）の垂直方向予測、式（３）の水平方向予測を行う予測画像生成ブロックのブロックサイズを限定してもよい。一般にブロック端のみ予測方向の輝度値の変化量に比例する値を加算するフィルタ処理を行うことで予測値を変化させる場合、大きなブロックサイズのブロックでは、上述した予測画像生成ブロックのブロック端のフィルタ処理により予測値が変化する領域の占める割合が小さいために、この予測値の変化によって生じた予測残差信号の変化が非常に高い周波数成分で表されることになり、この高周波数成分を符号化するために符号化効率の悪化を生じさせてしまう傾向がある。また、符号化効率を優先して、この高周波数成分を符号化しないようにすることで、ブロック端の予測残差信号の変化を復元できずにブロック境界に歪みが生じてしまう傾向がある。
【０１４５】
一方、小さなブロックサイズのブロックでは、上記フィルタ処理により予測値が変化する領域の占める割合が大きいために、この予測値の変化によって生じた予測残差信号の変化が大きなブロックサイズのブロックの時のような高い周波数成分で表されることはなく、適切に残差信号を符号化することができ、本フィルタ処理によってブロック境界の連続性を高めた分、復号画像の品質を高めることができる。したがって、例えば、３２×３２画素以上のブロックサイズの予測画像生成ブロックでは、予測対象画素の座標によらず、式（２）及び式（３）の２行目の式を常に用いるようにし（予測画像生成ブロックのブロック端のフィルタ処理を行わないことにする）、３２×３２画素より小さいブロックのみに、上記フィルタ処理を行う式（２）及び式（３）を適用することで、従来の垂直方向予測、水平方向予測よりも予測性能を向上させながら、演算量の増加を抑えることができる。
【０１４６】
イントラ予測モードのインデックス値が０（平面予測）、１（平均値予測）、２６（垂直方向予測）、１０（水平方向予測）以外の場合には、インデックス値が示す予測方向ベクトルυｐ＝（ｄｘ，ｄｙ）に基づいて、予測画像生成ブロック内の画素の予測値を生成する。
図３３に示すように、予測画像生成ブロックの左上画素を原点として、予測画像生成ブロック内の相対座標を（ｘ，ｙ）と設定すると、予測に用いる参照画素の位置は、下記のＬと隣接画素の交点になる。
0006300660.tif 000005
ただし、ｋは負の実数である。
【０１４７】
参照画素が整数画素位置にある場合には、その整数画素を予測対象画素の予測値とし、参照画素が整数画素位置にない場合には、参照画素に隣接する整数画素から生成される補間画素を予測値とする。図３０の例では、参照画素は整数画素位置にないので、参照画素に隣接する２画素から内挿したものを予測値とする。なお、隣接する２画素のみではなく、隣接する２画素以上の画素から補間画素を生成して予測値としてもよい。補間処理に用いる画素を多くすることで補間画素の補間精度を向上させる効果がある一方、補間処理に要する演算の複雑度が増加することから、演算負荷が大きくても高い符号化性能を要求する画像符号化装置の場合には、より多くの画素から補間画素を生成するようにした方がよい。
【０１４８】
以上に述べた処理によって、予測画像生成ブロック単位に予測ブロックＰｉｎ内の輝度信号の全ての画素に対する予測画素を生成して、イントラ予測画像ＰＩＮＴＲＡｉｎを出力する。なお、イントラ予測画像ＰＩＮＴＲＡｉｎの生成に用いられたイントラ予測パラメータ（イントラ予測モード）は、ビットストリームに多重化するために可変長符号化部１５に出力される。
【０１４９】
なお、先に説明したＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４における８×８画素のブロックのイントラ予測時に参照画素に対して施される平滑化処理と同様に、イントラ予測部５において、予測画像生成ブロックの予測画像を生成する際の参照画素を、予測画像生成ブロックに隣接する符号化済み画素を平滑化処理した画素とするように構成した場合であっても、上述の例と同様の予測画像に対するフィルタ処理を行うことができる。このようにすることで参照画素へのフィルタ処理による参照画素のノイズが除去され、これを用いて予測を行うことで予測の精度高めることができる。あるいは、上記参照画素へのフィルタ処理は予測画像へのフィルタ処理を行う平均値予測、垂直方向予測、水平方向予測以外の予測の際のみ実施するようにしてもよい。このようにすることで、各予測モードに対して最大で１つのフィルタ処理しか行わずに済み、演算量の増加を抑えることができる。
【０１５０】
上記では、輝度信号の予測画像生成処理について説明したが、色差成分に対する予測画像は次のように生成する。予測ブロックＰｉｎの色差信号に対して、色差信号のイントラ予測パラメータ（イントラ予測モード）に基づくイントラ予測処理を実施し、イントラ予測画像の生成に用いられたイントラ予測パラメータを可変長符号化部１５に出力する。
【０１５１】
図３４は色差信号のイントラ予測パラメータ（インデックス値）と色差イントラ予測モードの対応例を示す説明図である。
色差信号のイントラ予測パラメータが、輝度信号に対するイントラ予測モードと同じ予測モードを用いる旨を示している場合（イントラ予測パラメータが輝度色差共通イントラ予測モード（ＤＭモード）を示している場合）、輝度信号と同じフレーム内予測を実施して、色差信号の予測画像を生成する。
また、色差信号のイントラ予測パラメータが、垂直方向予測モード又は水平方向予測モードを示している場合、色差信号に対する方向性予測を実施して、色差信号の予測画像を生成する。また、色差信号のイントラ予測パラメータが、輝度相関利用色差信号予測モード（ＬＭモード）を示している場合、予測画像の生成対象ブロックの上及び左に隣接している複数の画素の輝度信号及び色差信号を用いて、輝度信号と色差信号の相関を示す相関パラメータを算出し、その相関パラメータと予測処理対象の色差信号のブロックに対応する輝度信号を用いて、色差信号の予測画像を生成する。
【０１５２】
入力信号フォーマットがＹＵＶ４：２：２信号である場合、図７に示すように、輝度信号が正方ブロックであれば、色差信号は輝度信号と比較して水平方向の画素数が１／２となる長方形のブロックとなる。したがって、図８に示すように、ＹＵＶ４：４：４信号をＹＵＶ４：２：２信号に変換した際に、輝度信号と色差信号で同一方向の予測となるようにするためには、ＹＵＶ４：２：２信号上では、垂直方向予測と水平方向予測以外の方向性予測の場合には、色差信号の予測方向が輝度信号の予測方向と異なることとなる。
【０１５３】
具体的には、図９に示すように、輝度信号の予測方向ベクトルをｖＬ＝（ｄｘＬ，ｄｙＬ）とした場合、色差信号の予測方向ベクトルは、ｖＣ＝（ｄｘＬ／２，ｄｙＬ）となる。即ち、図１０に示すように、予測方向の角度をθとした場合、輝度信号の予測方向の角度をθＬ、色差信号の予測方向の角度をθＣとして、ｔａｎθＣ＝２ｔａｎθＬの関係となる予測方向で予測する必要がある。
したがって、輝度信号と色差信号で同一方向の予測を行う上記ＤＭモードを正しく実施できるようにするために、入力信号フォーマットがＹＵＶ４：２：２信号である場合、輝度信号に使用したイントラ予測モードのインデックスを色差信号の予測に用いるイントラ予測モードのインデックスに変換し、変換後のインデックスに対応するイントラ予測モードによる色差信号の予測処理を実施する。
【０１５４】
図３５は図３６のイントラ予測モードにおけるイントラ予測モードインデックスの変換例を示している。図３５の変換テーブルは、予測方向の角度がθであるとき（図１０を参照）、イントラ予測モードの方向性予測が図３７に示すｔａｎθとなる角度である場合、ｔａｎθＣ＝２ｔａｎθＬの関係に最も近い角度θＣに変換するテーブルの例である。
変換処理の実現は、上記のように、インデックスの変換テーブルを用意し、その変換テーブルを参照することでインデックスを変換するように構成してもよいし、変換式を用意し、その変換式に従ってインデックスを変換するように構成してもよい。このように構成することで、方向性予測処理自体を変更することなく、インデックスの変換のみでＹＵＶ４：２：２信号のフォーマットに応じた色差信号の適切な予測を実施することができる。
【０１５５】
また、色差信号に対して上記ＬＭモードを行わないように構成してもよい。このときの色差信号のイントラ予測パラメータ（インデックス値）と色差イントラ予測モードの対応例として、図３８が挙げられる。このようにＬＭモードも用いないようにすることで、予測対象画素の輝度信号と色差信号の依存性がなくなるため、輝度信号と色差信号の予測処理の並列化が可能となり、高速な演算処理を実現することができる。
さらに、色差信号では、平均値（ＤＣ）予測、垂直方向予測、水平方向予測について、輝度信号の場合で説明したブロック境界のフィルタ処理を行わずに、ＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４と同様の予測手法としてもよい。このようにフィルタ処理を行わないことで、予測処理の低演算化を図ることができる。
【０１５６】
次に、図１５の画像復号装置の処理内容を具体的に説明する。
可変長復号部３１は、図１の画像符号化装置により生成された符号化ビットストリームを入力すると、そのビットストリームに対する可変長復号処理を実施して（図１７のステップＳＴ２１）、１フレーム以上のピクチャから構成されるシーケンス単位のヘッダ情報（シーケンスレベルヘッダ）及びピクチャ単位のヘッダ情報（ピクチャレベルヘッダ）などの各ヘッダ情報とピクチャデータを復号する。ただし、ピクチャデータは１以上のスライスデータから構成され、各スライスデータはスライスレベルヘッダと当該スライス内にある符号化データがまとめられているものである。ピクチャデータはスライスデータの他に補足情報を示すヘッダ情報を含む場合もある。
【０１５７】
このとき、上記ヘッダ情報に含まれる量子化マトリクスの有効フラグ情報が“有効”を示す場合、可変長復号部３１は量子化マトリクスパラメータを可変長復号し、量子化マトリクスを特定する。具体的には、各直交変換サイズの色信号や符号化モード毎に、量子化マトリクスパラメータが初期値として、画像符号化装置及び画像復号装置で、予め共通に用意されている量子化マトリクス、又は、既に復号された量子化マトリクスである（新しい量子化マトリクスでない）ことを示す場合は、量子化マトリクスパラメータに含まれる上記マトリクスの内のどの量子化マトリクスであるかを特定するインデックス情報を参照して量子化マトリクスを特定し、量子化マトリクスパラメータが新しい量子化マトリクスを用いることを示す場合は、量子化マトリクスパラメータに含まれる量子化マトリクスを使用する量子化マトリクスとして特定する。そして、ピクチャ単位のデータを構成するスライスデータから、スライス分割情報等のスライス単位のヘッダ情報（スライスレベルヘッダ）を復号し、各スライスの符号化データを復号する。
【０１５８】
また、可変長復号部３１は、上記ヘッダ情報から、最大符号化ブロックサイズ及び分割階層数の上限を特定する（図１７のステップＳＴ２２）。ただし、分割階層数の上限の代わりに、符号化対象ブロックの最小ブロックサイズが符号化されている場合、これを復号することで分割階層数の上限を決定する。即ち、最大符号化ブロックを上記最小ブロックサイズまで分割した場合が分割階層数の上限となる。
可変長復号部３１は、決定された最大符号化ブロック単位に、図１９で示されるような最大符号化ブロックの分割状態を復号する。復号された分割状態に基づき、階層的に符号化対象ブロックを特定する（図１７のステップＳＴ２３）。
【０１５９】
次に、可変長復号部３１は、符号化対象ブロックに割り当てられている符号化モードを復号する。復号した符号化モードに含まれる情報に基づき、符号化対象ブロックをさらに１つないし複数の予測処理単位である予測ブロックに分割し、予測ブロック単位に割り当てられている予測パラメータを復号する（図１７のステップＳＴ２４）。
即ち、可変長復号部３１は、符号化対象ブロックに割り当てられている符号化モードがイントラ符号化モードである場合、符号化対象ブロックに含まれており、予測処理単位となる１つ以上の予測ブロック毎にイントラ予測パラメータを復号し、符号化対象ブロックに割り当てられている符号化モードが画面内コピー符号化モードである場合、符号化対象ブロックに含まれており、予測処理単位となる１つ以上の予測ブロック毎に画面内コピー予測パラメータを復号する。また、符号化対象ブロックに割り当てられている符号化モードがインター符号化モードである場合、符号化対象ブロックに含まれており、予測処理単位となる１つ以上の予測ブロック毎にインター予測パラメータ及び動きベクトルを復号する（図１７のステップＳＴ２４）。
【０１６０】
ここで、画面内コピー予測パラメータは、予測のための参照ブロックの位置を示すブロックシフトベクトル（あるいは、その予測差分）であり、従来はインター予測処理における動きベクトル（あるいは、その予測差分）と同様の方式で復号される。しかし、図１の画像符号化装置の構成及び動作の説明で述べたように、この実施の形態１では、これらのベクトルを異なる符号化方式で可変長符号化しているため、可変長復号の際もそれぞれ異なる方式を用いる必要がある。
【０１６１】
図３９はこの発明の実施の形態１による画像復号装置の可変長復号部３１の内部構成のうち、ベクトルの復号に関する部分を示す構成図である。また、図４０はベクトルの復号に関する部分の処理内容を示すフローチャートである。
以下、図１５の画像復号装置において、ベクトルの予測差分が符号化されている場合について説明する。
【０１６２】
可変長復号部３１は、符号化対象ブロックに割り当てられている符号化モードがインター符号化モードあるいは画面内コピー符号化モードである場合、符号化ビットストリーム６０を受け取ると、図１の画像符号化装置の可変長符号化部１５が参照する符号化方式選択情報５１と同じ復号方式選択情報６１（符号化モードを示すパラメータ）を求める。この復号方式選択情報６１は、先に復号している符号化モードを参照することで求めることができる。
可変長復号部３１の選択スイッチ６２は、符号化対象ブロックに割り当てられている符号化モードがインター符号化モードあるいは画面内コピー符号化モードである場合、符号化ビットストリーム６０を受け取ると、復号方式選択情報６１にしたがって、その符号化ビットストリーム６０をベクトル復号部６３（第１の復号方式で復号を行う復号部）又はベクトル復号部６４（第２の復号方式で復号を行う復号部）に出力する。
【０１６３】
即ち、選択スイッチ６２は、復号方式選択情報６１が、符号化モードがインター符号化モードである旨を示していれば（図４０のステップＳＴ２００）、その符号化ビットストリーム６０をベクトル復号部６３に出力し、符号化モードが画面内コピー予測モードを示していれば（図４０のステップＳＴ２００）、その符号化ビットストリーム６０をベクトル復号部６４に出力する。
【０１６４】
ベクトル復号部６３は、選択スイッチ６２から符号化ビットストリーム６０を受けると、次数が１のゴロム復号によって符号化ビットストリーム６０からベクトル差分（この場合のベクトル差分は、動きベクトルの差分である）を復号し、そのベクトル差分に対して、既に復号している他のブロックの動きベクトル（画像符号化装置において、当該予測ブロックの動きベクトルと差分が取られているブロックの動きベクトル）を加算することで、当該予測ブロックの動きベクトルを算出する（ステップＳＴ２０１）。
ここでは、図１の画像符号化装置の可変長符号化部１５が、符号化対象ブロックの動きベクトルと、例えば、直前の符号化済み予測ブロックの動きベクトルとの差分値を符号化しているものとしているので、復号したベクトル差分に対して、上記の符号化済み予測ブロックに対応する復号済み予測ブロックの動きベクトルを可算して、符号化対象ブロックの動きベクトルを算出する。
【０１６５】
ベクトル復号部６４は、選択スイッチ６２から符号化ビットストリーム６０を受けると、次数が４のゴロム復号によって符号化ビットストリーム６０からベクトル差分（この場合のベクトル差分は、ブロックシフトベクトルの差分である）を復号する（ステップＳＴ２０２）。
ここでは、図１の画像符号化装置の可変長符号化部１５が、符号化対象ブロックのブロックシフトベクトルと、直前の符号化済み予測ブロックのブロックシフトベクトル（あるいは、当該予測ブロックの周囲の符号化済み予測ブロックのブロックシフトベクトル）との差分値を符号化しているものとしているので、その復号したベクトル差分に対して、上記の符号化済み予測ブロックに対応する復号済み予測ブロックのブロックシフトベクトルを可算して、符号化対象ブロックのブロックシフトベクトルを算出する。
【０１６６】
選択スイッチ６５は、復号方式選択情報６１が、符号化モードがインター符号化モードである旨を示していれば、ベクトル復号部６３により算出された動きベクトルを復号ベクトル６６として、切換スイッチ３３を介して動き補償予測部３６に出力する。
一方、符号化モードが画面内コピー予測モードを示していれば、ベクトル復号部６４により算出されたブロックシフトベクトルを復号ベクトル６６として、切換スイッチ３３を介して画面内コピー予測部３５に出力する。
【０１６７】
図１の画像符号化装置の処理内容の説明で言及したように、例えば、符号化対象ブロックがスクリーンコンテンツであれば“１”、スクリーンコンテンツでなければ“０”となるようなフラグが、シーケンスレベルヘッダやピクチャレベルヘッダなどに含まれることがある。
このようなフラグが含まれている場合には、そのフラグを復号し、符号化モードが画面内コピー予測モードであり、かつ、そのフラグが“１”である場合に限り、ベクトル復号部６４が、次数が４のゴロム復号によってベクトル差分を復号し、それ以外の場合には、ベクトル復号部６３が、次数が１のゴロム復号によってベクトル差分を復号する構成などが考えられる。
【０１６８】
さらに、可変長復号部３１は、予測差分符号化パラメータに含まれる変換ブロック分割情報に基づき、変換ブロック毎に圧縮データ（変換・量子化後の変換係数）を復号する（図１７のステップＳＴ２４）。その際、図１の画像符号化装置の可変長符号化部１５での圧縮データの符号化処理と同様に、ＣＧ単位の係数の復号処理を実施する。したがって、図２１に示すように、４×４画素単位の１６個のＣＧを右下のＣＧから順に復号処理し、さらに、各ＣＧはＣＧ内の１６個の係数を右下の係数から順に復号していくことになる。
【０１６９】
具体的には、まず、ＣＧ内の１６個の係数の中に有意（非零）係数が存在するか否かのフラグ情報を復号し、次に復号したフラグ情報がＣＧ内に有意（非零）係数が存在することを示す場合のみＣＧ内の各係数が有意（非零）係数であるかを上記順に復号し、最後に有意（非零）係数を示す係数に対して、その係数値情報を順に復号する。これをＣＧ単位に上記順に行う。ただし、スキャン順については、イントラ予測が選択されている４×４画素と８×８画素の変換ブロックの場合、イントラ予測モードのインデックスに応じて、図２１のスキャン順ではなく図２３に示すスキャン順で処理を行う。
【０１７０】
切換スイッチ３３は、可変長復号部３１により可変長復号された符号化モードｍ（Ｂｎ）がイントラ符号化モードであれば（ｍ（Ｂｎ）∈ＩＮＴＲＡの場合）、可変長復号部３１により可変長復号された予測ブロック単位のイントラ予測パラメータをイントラ予測部３４に出力し、可変長復号部３１により可変長復号された符号化モードｍ（Ｂｎ）が画面内コピー符号化モードであれば（ｍ（Ｂｎ）∈ＩＣＯＰＹの場合）、可変長復号部３１により可変長復号された予測ブロック単位の画面内コピー予測パラメータを画面内コピー予測部３５に出力し、可変長復号部３１により可変長復号された符号化モードｍ（Ｂｎ）がインター符号化モードであれば（ｍ（Ｂｎ）∈ＩＮＴＥＲの場合）、可変長復号部３１により可変長復号された予測ブロック単位のインター予測パラメータ及び動きベクトルを動き補償予測部３６に出力する。
【０１７１】
イントラ予測部３４は、可変長復号部３１により可変長復号された符号化モードｍ（Ｂｎ）がイントラ符号化モード（ｍ（Ｂｎ）∈ＩＮＴＲＡ）である場合（図１７のステップＳＴ２５）、切換スイッチ３３から出力された予測ブロック単位のイントラ予測パラメータを受け取って、図１のイントラ予測部５と同様の手順で、イントラ用メモリ３８に格納されている復号画像を参照しながら、上記イントラ予測パラメータを用いた符号化対象ブロックＢｎ内の各予測ブロックＰｉｎに対するイントラ予測処理を実施して、イントラ予測画像ＰＩＮＴＲＡｉｎを生成する（図１７のステップＳＴ２６）。
また、イントラ予測部３４は、輝度信号については、輝度信号に対する上記イントラ予測パラメータを用いたイントラ予測処理（フレーム内予測処理）を実施して、輝度信号の予測画像を生成する。
一方、色差信号については、色差信号のイントラ予測パラメータに基づくイントラ予測処理を実施して、色差信号の予測画像を生成する。
【０１７２】
図３４に示すように、色差信号のイントラ予測パラメータが、輝度信号に対するイントラ予測モードと同じ予測モードを用いる旨を示している場合（イントラ予測パラメータが輝度色差共通イントラ予測モード（ＤＭモード）を示している場合）、輝度信号と同じフレーム内予測を実施して、色差信号の予測画像を生成する。
また、色差信号のイントラ予測パラメータが、垂直方向予測モード又は水平方向予測モードを示している場合、色差信号に対する方向性予測を実施して、色差信号の予測画像を生成する。また、色差信号のイントラ予測パラメータが、輝度相関利用色差信号予測モード（ＬＭモード）を示している場合、予測画像の生成対象ブロックの上及び左に隣接している複数の画素の輝度信号及び色差信号を用いて、輝度信号と色差信号の相関を示す相関パラメータを算出し、その相関パラメータと予測処理対象の色差信号のブロックに対応する輝度信号を用いて、色差信号の予測画像を生成する。
【０１７３】
入力信号フォーマットがＹＵＶ４：２：２信号である場合、図７に示すように、輝度信号が正方ブロックであれば、色差信号は輝度信号と比較して水平方向の画素数が１／２となる長方形のブロックとなる。したがって、図８に示すように、ＹＵＶ４：４：４信号をＹＵＶ４：２：２信号に変換した際に、輝度信号と色差信号で同一方向の予測となるようにするためには、ＹＵＶ４：２：２信号上では、垂直方向予測と水平方向予測以外の方向性予測の場合には、色差信号の予測方向が輝度信号の予測方向と異なることとなる。具体的には、図９に示すように、輝度信号の予測方向ベクトルをｖＬ＝（ｄｘＬ，ｄｙＬ）とした場合、色差信号の予測方向ベクトルは、ｖＣ＝（ｄｘＬ／２，ｄｙＬ）となる。即ち、図１０に示すように、予測方向の角度をθとした場合、輝度信号の予測方向の角度をθＬ、色差信号の予測方向の角度をθＣとして、ｔａｎθＣ＝２ｔａｎθＬの関係となる予測方向で予測する必要がある。
【０１７４】
したがって、輝度信号と色差信号で同一方向の予測を行う上記ＤＭモードを正しく実施できるようにするために、入力信号フォーマットがＹＵＶ４：２：２信号である場合、輝度信号に使用したイントラ予測モードのインデックスを色差信号の予測に用いるイントラ予測モードのインデックスに変換し、変換後のインデックスに対応するイントラ予測モードによる色差信号の予測処理を実施する。
【０１７５】
図３５の変換テーブルは、予測方向の角度がθであるとき（図１０を参照）、イントラ予測モードの方向性予測が図３７に示すｔａｎθとなる角度である場合、ｔａｎθＣ＝２ｔａｎθＬの関係に最も近い角度θＣに変換するテーブルの例である。変換処理の実現は、上記のように、インデックスの変換テーブルを用意し、その変換テーブルを参照することでインデックスを変換するように構成してもよいし、変換式を用意し、その変換式に従ってインデックスを変換するように構成してもよい。このように構成することで、方向性予測処理自体を変更することなく、インデックスの変換のみでＹＵＶ４：２：２信号のフォーマットに応じた色差信号の適切な予測を実施することができる。
【０１７６】
また、色差信号に対して、上記ＬＭモードを行わないように画像符号化装置が構成されている場合、その画像符号化装置から生成される符号化ビットストリームが復号できるように画像復号装置も同様の構成とする。このときの色差信号のイントラ予測パラメータ（インデックス値）と色差イントラ予測モードの対応例として、図３８が挙げられる。このようにＬＭモードも用いないようにすることで、予測対象画素の輝度信号と色差信号の依存性がなくなるため、輝度信号と色差信号の予測処理の並列化が可能になり、高速な演算処理を実現することができる。
【０１７７】
さらに、色差信号では、平均値（ＤＣ）予測、垂直方向予測、水平方向予測について、輝度信号の場合で説明したブロック境界のフィルタ処理を行わずに、ＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４と同様の予測手法として画像符号化装置が構成されている場合、その画像符号化装置から生成される符号化ビットストリームが復号できるように画像復号装置も同様の構成とする。このようにフィルタ処理を行わないことで、予測処理の低演算化を図ることができる。
【０１７８】
画面内コピー予測部３５は、可変長復号部３１により可変長復号された符号化モードｍ（Ｂｎ）が画面内コピー符号化モード（ｍ（Ｂｎ）∈ＩＣＯＰＹ）である場合（図１７のステップＳＴ２５）、切換スイッチ３３から出力された予測ブロック単位の画面内コピー予測パラメータを受け取って、イントラ用メモリ３８に格納されている復号画像を参照しながら、上記画面内コピー予測パラメータに含まれているブロックシフトベクトルを用いた符号化対象ブロックＢｎ内の各予測ブロックＰｉｎに対する画面内コピー予測処理を実施して、画面内コピー予測画像ＰＩＣＯＰＹｉｎを生成する（図１７のステップＳＴ２７）。
【０１７９】
動き補償予測部３６は、可変長復号部３１により可変長復号された符号化モードｍ（Ｂｎ）がインター符号化モード（ｍ（Ｂｎ）∈ＩＮＴＥＲ）である場合（図１７のステップＳＴ２５）、切換スイッチ３３から出力された予測ブロック単位の動きベクトルとインター予測パラメータを受け取って、動き補償予測フレームメモリ４０に格納されているフィルタ処理後の復号画像を参照しながら、その動きベクトルとインター予測パラメータを用いた符号化対象ブロックＢｎ内の各予測ブロックＰｉｎに対するインター予測処理を実施してインター予測画像ＰＩＮＴＥＲｉｎを生成する（図１７のステップＳＴ２８）。
【０１８０】
逆量子化・逆変換部３２は、可変長復号部３１から圧縮データ及び予測差分符号化パラメータを受けると、図１の逆量子化・逆変換部１０と同様の手順で、その予測差分符号化パラメータに含まれる量子化パラメータ及び変換ブロック分割情報を参照して、変換ブロック単位にその圧縮データを逆量子化する。このとき、可変長復号部３１により可変長復号された各ヘッダ情報を参照し、各ヘッダ情報が、当該スライスで量子化マトリクスを用いて、逆量子化処理を実施することを示している場合は、量子化マトリクスを用いて逆量子化処理を行う。
【０１８１】
この際、可変長復号部３１により可変長復号された各ヘッダ情報を参照して、各直交変換サイズで色信号や符号化モード（イントラ符号化、画面内コピー符号化、インター符号化）毎に使用する量子化マトリクスを特定する。また、逆量子化・逆変換部３２は、変換ブロック単位に逆量子化後の圧縮データである変換係数に対する逆直交変換処理を実施して、図１の逆量子化・逆変換部１０から出力された局所復号予測差分信号と同一の復号予測差分信号を算出する（図１７のステップＳＴ２９）。
【０１８２】
加算部３７は、逆量子化・逆変換部３２により算出された復号予測差分信号に対して、イントラ予測部３４により生成されたイントラ予測画像ＰＩＮＴＲＡｉｎ、画面内コピー予測部３５により生成された画面内コピー予測画像ＰＩＣＯＰＹｉｎ、又は、動き補償予測部３６により生成されたインター予測画像ＰＩＮＴＥＲｉｎのいずれかを加算して復号画像を算出し、その復号画像をループフィルタ部３９に出力するとともに、その復号画像をイントラ用メモリ３８に格納する（図１７のステップＳＴ３０）。この復号画像が、以降のイントラ予測処理及び画面内コピー予測処理の際に用いられる復号済みの画像信号になる。
【０１８３】
ループフィルタ部３９は、全ての符号化対象ブロックＢｎに対するステップＳＴ２３〜ＳＴ３０の処理が完了すると（図１７のステップＳＴ３１）、加算部３７から出力された復号画像に対して、所定のフィルタ処理を実施して、フィルタ処理後の復号画像を動き補償予測フレームメモリ４０に格納する（図１７のステップＳＴ３２）。
具体的には、変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するフィルタ（デブロッキングフィルタ）処理、画素単位に適応的にオフセットを加算する（画素適応オフセット）処理、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理などを行う。
ただし、ループフィルタ部３９は、上記のデブロッキングフィルタ処理、画素適応オフセット処理、適応フィルタ処理のそれぞれについて、可変長復号部３１により可変長復号された各ヘッダ情報を参照して、当該スライスで処理を行うか否かを特定する。
このとき、２つ以上のフィルタ処理を行う場合に、例えば、画像符号化装置のループフィルタ部１３が図１２のように構成されている場合には、図１６に示すようにループフィルタ部３９が構成される。
【０１８４】
ここで、デブロッキングフィルタ処理では、可変長復号部３１により可変長復号されたヘッダ情報を参照し、ブロック境界にかけるフィルタ強度の選択に用いる各種パラメータを初期値から変更する情報が存在する場合には、その変更情報に基づいて、デブロッキングフィルタ処理を実施する。変更情報がない場合は、予め定められた手法に従って行う。
【０１８５】
画素適応オフセット処理では、可変長復号部３１により可変長復号された画素適応オフセット処理のブロック分割情報に基づいて分割し、そのブロック単位に、可変長復号部３１により可変長復号されたブロック単位のクラス分類手法を示すインデックスを参照して、そのインデックスが“オフセット処理を行わない”ことを示すインデックスでない場合、ブロック単位にブロック内の各画素を上記インデックスが示すクラス分類手法に従ってクラス分類する。
なお、クラス分類手法の候補として、ループフィルタ部１３の画素適応オフセット処理のクラス分類手法の候補と同一のものが予め用意されている。
【０１８６】
そして、ループフィルタ部３９は、ブロック単位の各クラスのオフセット値を特定する可変長復号部３１により可変長復号されたオフセット情報を参照して、復号画像の輝度値にオフセットを加算する処理を行う。
【０１８７】
適応フィルタ処理では、可変長復号部３１により可変長復号されたクラス毎のフィルタを用いて、図１の画像符号化装置と同一の手法でクラス分類した後に、そのクラス分類情報に基づいてフィルタ処理を行う。
このループフィルタ部３９によるフィルタ処理後の復号画像が、動き補償予測用の参照画像となり、また、再生画像となる。
【０１８８】
以上で明らかなように、この実施の形態１によれば、可変長符号化部１５が、動き補償予測部７により探索された動きベクトルの可変長符号化に用いる符号化方式と異なる符号化方式を用いて、画面内コピー予測部６で探索された参照ブロックの位置を示すブロックシフトベクトルを可変長符号化するように構成したので、参照ブロックの位置を示すブロックシフトベクトルの符号量を削減して、符号化効率を高めることができる効果を奏する。
【０１８９】
また、この実施の形態１によれば、可変長符号化部１５が、可変長復号部３１で可変長復号に用いる復号方式を決定する際に参照する情報として、例えば、符号化対象ブロックがスクリーンコンテンツであるか否かを示すフラグを可変長符号化するように構成したので、入力された動画像に応じて任意の単位で適応的にベクトルの符号化方式を切り替えることができるようになり、符号化性能の改善率を更に高めることができる効果を奏する。
【０１９０】
また、この実施の形態１によれば、上記効果を持つ画像符号化装置及び画像符号化方法が生成する符号化ビットストリームを正しく復号することができる画像復号装置及び画像復号方法が得られる効果を奏する。
【０１９１】
実施の形態２．
上記実施の形態１では、可変長符号化部１５が、動きベクトルの可変長符号化に用いる符号化方式と異なる符号化方式を用いて、ブロックシフトベクトルを可変長符号化するものを示したが、予め用意している複数のベクトルの表現形式の中から、可変長符号化部１５によりブロックシフトベクトルが可変長符号化された際の符号量が最も少なくなるベクトルの表現形式を選択し、その表現形式で表現したブロックシフトベクトルを可変長符号化するようにしてもよい。
【０１９２】
この実施の形態２による画像符号化装置は、上記実施の形態１における図１の画像符号化装置と同様の構成であるが、画面内コピー予測部６の内部構成および動作が異なる。
図４２はこの発明の実施の形態２による画像符号化装置の画面内コピー予測部６を示す構成図である。
【０１９３】
図４２において、参照ブロック探索部７１は符号化対象ブロックＢｎ内の各予測ブロックＰｉｎとイントラ用メモリ１２に格納されている局所復号画像を比較し、予測ブロックＰｉｎと最も類似している領域のブロック（参照ブロック）を探索して、その参照ブロックの位置を示すブロックシフトベクトルを出力する処理を実施する。
予測画像生成部７２は参照ブロック探索部７１から出力されたブロックシフトベクトルが指し示す参照ブロックを予測ブロックＰｉｎの予測画像として、画面内コピー予測画像ＰＩＣＯＰＹｉｎを生成する処理を実施する。
ベクトル表現形式決定部７３は予め用意している複数のベクトルの表現形式の中から、可変長符号化部１５により当該ブロックシフトベクトルが可変長符号化された際の符号量が最も少なくなるベクトルの表現形式を選択し、その表現形式で表現したブロックシフトベクトルを可変長符号化する処理を実施する。
【０１９４】
次に動作について説明する。
画面内コピー予測部６の参照ブロック探索部７１は、符号化制御部１により決定された符号化モードｍ（Ｂｎ）が画面内コピー符号化モードであり（ｍ（Ｂｎ）∈ＩＣＯＰＹの場合）、切換スイッチ４から符号化対象ブロックＢｎを受けると（図１４のステップＳＴ３）、符号化対象ブロックＢｎ内の各予測ブロックＰｉｎとイントラ用メモリ１２に格納されている局所復号画像を比較し、予測ブロックＰｉｎと最も類似している領域のブロック（参照ブロック）を探索して、その参照ブロックの位置を示すブロックシフトベクトルを出力する。
図４３は参照ブロック探索部７１から出力されるブロックシフトベクトルの表現形式を示す説明図である。
参照ブロック探索部７１から出力されるブロックシフトベクトルは、図４３に示すように、参照ブロックの位置を示す位置情報として、符号化対象ブロックから参照ブロックまでの相対的な水平移動量と垂直移動量（ＢＶｘ，ＢＶｙ）で表現している。
【０１９５】
画面内コピー予測部６の予測画像生成部７２は、参照ブロック探索部７１からブロックシフトベクトルを受けると、そのブロックシフトベクトルが指し示す参照ブロックを予測ブロックＰｉｎの予測画像として、画面内コピー予測画像ＰＩＣＯＰＹｉｎを生成する（図１４のステップＳＴ５）。
【０１９６】
図１５の画像復号装置では、画面内コピー予測画像ＰＩＣＯＰＹｉｎと全く同じ画面内コピー予測画像を生成する必要があるため、画面内コピー予測画像ＰＩＣＯＰＹｉｎの生成に用いた参照ブロックの位置を示すブロックシフトベクトルを可変長符号化部１５に出力して、ビットストリームに多重化する必要がある。
このとき、予測ブロックＰｉｎのブロックシフトベクトルと、直前の符号化済み予測ブロックのブロックシフトベクトル、あるいは、当該予測ブロックの周囲の符号化済み予測ブロックのブロックシフトベクトルとの差分値を符号化するようにすることで、予測ブロックＰｉｎのブロックシフトベクトルの符号化に必要な符号量を削減することが可能である。
【０１９７】
しかし、図２６に示しているブロックシフトベクトルの差分値の分布からも分かるように、スクリーンコンテンツの符号化においては、ブロックシフトベクトルの予測精度が低く、差分値が大きくなってしまう傾向にあり、しばしば非常に大きな差分値が観測される。
このような場合に、そのままブロックシフトベクトルの符号化を行うと、符号量が大きくなり、符号化効率の低下を招くことになる。
そこで、この実施の形態２では、画面内コピー予測部６の中にベクトル表現形式決定部７３を追加し、ベクトル表現形式決定部７３が、複数のベクトルの表現形式から最適な表現形式を選択して、ブロックシフトベクトルの符号化に必要な符号量を削減するようにしている。
以下、ベクトル表現形式決定部７３の処理内容を具体的に説明する。
【０１９８】
ベクトル表現形式決定部７３は、参照ブロック探索部７１から、図４３に示すように、符号化対象ブロックから参照ブロックまでの相対的な水平移動量と垂直移動量（ＢＶｘ，ＢＶｙ）で表現されているブロックシフトベクトルを受ける。
ここで、直前の符号化済み予測ブロックのブロックシフトベクトル、あるいは、当該予測ブロックの周囲の符号化済み予測ブロックのブロックシフトベクトルを（ＰＢＶｘ，ＰＢＶｙ）として、予測ブロックＰｉｎのブロックシフトベクトルである（ＢＶｘ，ＢＶｙ）と、符号化済み予測ブロックのブロックシフトベクトルである（ＰＢＶｘ，ＰＢＶｙ）との差分（ＢＶＤｘ，ＢＶＤｙ）だけを符号化するようにすると、符号量を削減することができる。
（ＢＶＤｘ，ＢＶＤｙ）＝（ＢＶｘ−ＰＢＶｘ，ＢＶｙ−ＰＢＶｙ）
しかし、既に述べたように、スクリーンコンテンツにおける符号化では、必ずしも（ＰＢＶｘ，ＰＢＶｙ）の予測精度が高くないため、（ＢＶＤｘ，ＢＶＤｙ）が十分にゼロに近い値にならないことがある。
【０１９９】
図４４は図４３と異なるブロックシフトベクトルの表現形式を示す説明図である。
図４４の例では、参照ブロックを内部に含む最大符号化ブロックのインデックスをｋ、この最大符号化ブロックの左上座標を原点とする参照ブロックの位置座標を（ＢＶｘ’，ＢＶｙ’）として、３つの数値の組（ｋ、ＢＶｘ’，ＢＶｙ’）によって参照ブロックの位置を表現している。
【０２００】
ベクトル表現形式決定部７３は、ベクトルの表現形式として、図４３の表現形式と図４４の表現形式が用意されている場合、図４３の表現形式で表現されているブロックシフトベクトルが可変長符号化部１５で可変長符号化された場合の符号量と、図４４の表現形式で表現されているブロックシフトベクトルが可変長符号化部１５で可変長符号化された場合の符号量とを算出する。
ベクトル表現形式決定部７３は、図４３の表現形式で表現されている場合の符号量と、図４４の表現形式で表現されている場合の符号量とを比較し、図４３の表現形式で表現されている場合の符号量の方が少なければ、図４３の表現形式を選択し、図４３の表現形式で表現しているブロックシフトベクトルを可変長符号化部１５に出力する。
一方、図４４の表現形式で表現されている場合の符号量の方が少なければ、図４４の表現形式を選択し、図４４の表現形式で表現しているブロックシフトベクトルを可変長符号化部１５に出力する。
【０２０１】
また、ベクトル表現形式決定部７３は、どちらの表現形式で表現しているかを示す識別情報として、ベクトル表現形式インデックスも可変長符号化部１５に出力する。
ベクトル表現形式インデックスとしては、例えば、図４３の表現形式で表現している場合は“０”の値、図４４の表現形式で表現している場合は“１”の値を取るようなものが考えられる。
ここでは、２種類のベクトル表現形式が用意されている例を示しているが、３種類以上のベクトル表現形式を用意し、３種類以上のベクトル表現形式の中から、最も符号量が少なくなるベクトル表現形式を選択するようにしてもよい。
【０２０２】
可変長符号化部１５は、ベクトル表現形式決定部７３からブロックシフトベクトルとベクトル表現形式インデックスを受けると、そのブロックシフトベクトルとベクトル表現形式インデックスを含む画面内コピー予測パラメータを可変長符号化して、その画面内コピー予測パラメータの符号化データをビットストリームに多重化する。
可変長符号化部１５における画面内コピー予測パラメータの符号化方式は、上記実施の形態１と同様である。
【０２０３】
ここで、図４４の表現形式では、インデックスｋの最大符号化ブロックの左上座標を原点しているが、図４５に示すように、インデックスｋの最大符号化ブロックの右下座標を原点とする方が、左上座標を原点とする場合より、参照ブロックの位置座標（ＢＶｘ’，ＢＶｙ’）の符号量が少なくなることがある。
このため、どの座標を原点とするかを示すインデックス（例えば、インデックスを２ビットとして、左上座標を“００”、右上座標を“０１”、左下座標を“１０”、右下座標を“１１”と表現する）をパラメータとして別途追加するようにしてもよい。
適切な座標を原点とすることで、ブロックシフトベクトルの符号化に必要な符号量を削減して符号化効率を高めることが可能である。
【０２０４】
また、ベクトル表現形式インデックスは、常に符号化対象ブロック単位で符号化する必要はなく、より大きな任意の領域を単位として符号化するようにしてもよい。つまり、シーケンスレベルヘッダ、ピクチャレベルヘッダ、スライスレベルヘッダなどにベクトル表現形式インデックスを加えて、可変長符号化部１５で符号化することで、ベクトル表現形式インデックスの符号化に必要な符号量を削減して、符号化効率を高めることが可能である。
もちろん、画面内コピー符号化モードにおけるブロックシフトベクトルの符号化には、常に図４４のベクトル表現形式を用いるようにするなど、符号化モード情報などと対応付けて一意にベクトル表現形式を導出できるようにしてもよい。このようにすれば、ベクトル表現形式インデックスを符号化する必要がなくなり、符号量が削減されて符号化効率が向上する。
【０２０５】
この実施の形態２による画像復号装置は、上記実施の形態１における図１５の画像復号装置と同様の構成であるが、画面内コピー予測部３５の内部構成および動作が異なる。
図４６はこの発明の実施の形態２による画像復号装置の画面内コピー予測部３５を示す構成図である。
図４６において、参照ブロック座標決定部８１は可変長復号部３１により復号された画面内コピー予測パラメータに含まれているベクトル表現形式インデックスから、その画面内コピー予測パラメータに含まれているブロックシフトベクトルの表現形式を認識して、そのブロックシフトベクトルから参照ブロックの位置を表す座標を特定する処理を実施する。
予測画像生成部８２はイントラ用メモリ３８に格納されている局所復号画像から、参照ブロック座標決定部８１により特定された座標上の参照ブロックを読み出して、その参照ブロックを予測画像として加算部３７に出力する処理を実施する。
【０２０６】
次に動作について説明する。
画面内コピー予測部３５の参照ブロック座標決定部８１は、可変長復号部３１により復号された画面内コピー予測パラメータを受けると、その画面内コピー予測パラメータに含まれているベクトル表現形式インデックスから、その画面内コピー予測パラメータに含まれているブロックシフトベクトルの表現形式を認識する。
例えば、ベクトル表現形式インデックスが“０”であれば、図４３の表現形式で表現されていると認識し、ベクトル表現形式インデックスが“１”であれば、図４４の表現形式で表現されていると認識する。
また、ベクトル表現形式インデックスが“１”であるとき、どの座標を原点とするかを示すインデックスが含まれている場合、そのインデックスから図４４の表現形式で表現されているのか、図４５の表現形式で表現されているのか等を認識する。
参照ブロック座標決定部８１は、ブロックシフトベクトルの表現形式を認識すると、そのブロックシフトベクトルから参照ブロックの位置を表す座標を特定する。
【０２０７】
画面内コピー予測部３５の予測画像生成部８２は、参照ブロック座標決定部８１が参照ブロックの位置を表す座標を特定すると、イントラ用メモリ３８に格納されている局所復号画像から、その座標上の参照ブロックを読み出して、その参照ブロックを予測画像として加算部３７に出力する。
【０２０８】
以上で明らかなように、この実施の形態２によれば、画面内コピー予測部６が、予め用意している複数のベクトルの表現形式の中から、可変長符号化部１５によりブロックシフトベクトルが可変長符号化された際の符号量が最も少なくなるベクトルの表現形式を選択し、可変長符号化部１５が、画面内コピー予測部６により選択された表現形式で表現したブロックシフトベクトルを可変長符号化するように構成したので、上記実施の形態１よりも、ブロックシフトベクトルの符号化に必要な符号量を更に削減して、スクリーンコンテンツに対する符号化性能を高めることができる効果を奏する。
【０２０９】
また、この実施の形態２によれば、ブロックシフトベクトルの表現形式を示すベクトル表現形式インデックスを可変長符号化するように構成したので、入力された動画像に応じて任意の単位で適応的にベクトルの表現形式を切り替えることができるようになり、符号化性能の改善率を更に高めることができる効果を奏する。
【０２１０】
また、この実施の形態２によれば、上記効果を持つ画像符号化装置及び画像符号化方法が生成する符号化ビットストリームを正しく復号することができる画像復号装置及び画像復号方法が得られる効果を奏する。
【０２１１】
実施の形態３．
上記実施の形態１，２では、画面内コピー符号化モードで予測処理を実施する際、符号化対象ブロック全体で１つのブロックシフトベクトルを用いて、符号化済み領域から参照ブロックを取得する構成である。
この実施の形態３では、符号化対象ブロックが複数の領域に分割されている場合、各々の分割ブロック毎に、異なるブロックシフトベクトルを用いて、符号化済み領域から参照ブロックを取得する際、それらのブロックシフトベクトルの符号化に必要な符号量を削減する構成である。
【０２１２】
この実施の形態３による画像符号化装置は、上記実施の形態１における図１の画像符号化装置と同様の構成であるが、画面内コピー予測部６の内部構成および動作が異なる。
図４７はこの発明の実施の形態３による画像符号化装置の画面内コピー予測部６を示す構成図である。
【０２１３】
図４７において、領域分割部９１は符号化対象ブロックを複数の領域に分割して、複数の領域である分割ブロックを出力する処理を実施する。
参照領域探索部９２は領域分割部９１から複数の分割ブロックを受けると、イントラ用メモリ１２に格納されている局所復号画像の中から、各々の分割ブロックと類似している参照領域（分割ブロックに対応する参照ブロック）をそれぞれ探索し、その参照領域を指し示すベクトルであるブロックシフトベクトルをそれぞれ出力する処理を実施する。
【０２１４】
予測画像生成部９３は参照領域探索部９２から複数のブロックシフトベクトルを受けると、各々のブロックシフトベクトルが指し示す参照領域を予測画像として、複数の予測画像を符号化対象ブロック全体の予測画像として出力する処理を実施する。
ベクトル差分計算部９４は参照領域探索部９２から出力された複数のブロックシフトベクトルが可変長符号化部１５で可変長符号化される際に、複数のブロックシフトベクトルの全体の符号量が最も少なくなる複数のブロックシフトベクトルの符号化順を決定して、その符号化順に複数のブロックシフトベクトルの並び替えを実施する。
可変長符号化部１５はベクトル差分計算部９４により並び替えられた複数のブロックシフトベクトルを並び順に可変長符号化するとともに、ベクトル差分計算部９４によるブロックシフトベクトルの並び替えを示す並び替え情報を可変長符号化する。このとき、複数のブロックシフトベクトルの符号化方法は、上記実施の形態１，２と同様である。
【０２１５】
次に動作について説明する。
画面内コピー予測部６の領域分割部９１は、符号化対象ブロックを受けると、その符号化対象ブロックを複数の領域に分割し、複数の領域である分割ブロックを出力する。
図４８は符号化対象ブロックのブロックサイズが１６画素×１６画素である場合の分割例を示す説明図である。
図４８の太線で囲まれている領域が分割された１つの領域を示している。図４８（ａ）では、符号化対象ブロックを均等に１画素×１６画素の１６領域に分割している例を示しており、図４８（ｂ）では、符号化対象ブロックを不均等に９領域に分割している例を示している。
この実施の形態３では、符号化対象ブロックをどのように分割するかは問わないが、符号化制御部１が符号化効率や画質などを考慮して決定することが考えられる。
【０２１６】
図１５の画像復号装置における画面内コピー予測部３５が、上記と同じ領域分割を行う必要があるため、必要に応じて画面内コピー予測部６の領域分割部９１が、符号化対象ブロックの分割状況を示す領域分割情報を可変長符号化部１５に出力し、可変長符号化部１５が領域分割情報を符号化してビットストリームに多重化する。
領域分割情報としては、例えば、図４８（ｂ）に示すような分割を行う場合、各領域の始点位置（符号化対象ブロック内の画素をラスタスキャンした場合のインデックス等）と連結の長さを用いることが考えられる。ただし、分割方法を常に固定とする場合には、領域分割情報を符号化してビットストリームに多重化する必要はない。
【０２１７】
画面内コピー予測部６の参照領域探索部９２は、領域分割部９１から複数の分割ブロックを受けると、イントラ用メモリ１２に格納されている局所復号画像の中から、各々の分割ブロックと類似している参照領域（分割ブロックに対応する参照ブロック）をそれぞれ探索し、その参照領域を指し示すベクトルであるブロックシフトベクトルをそれぞれ出力する。
図４９は複数の分割ブロックに対応する参照ブロックを示すブロックシフトベクトルを示す説明図である。
図４９の例では、符号化対象ブロックが３つの分割ブロックに分割され、３つの分割ブロックに対応する参照ブロック（１）〜（３）を指し示すブロックシフトベクトル（１）〜（３）を示している。
【０２１８】
画面内コピー予測部６の予測画像生成部９３は、参照領域探索部９２から複数のブロックシフトベクトルを受けると、ブロックシフトベクトル毎に、当該ブロックシフトベクトルが指し示す参照ブロックを取得する。
予測画像生成部９３は、複数のブロックシフトベクトルを用いて、複数の参照ブロックを取得すると、複数の参照ブロックを符号化対象ブロック全体の予測画像として出力する。
【０２１９】
画面内コピー予測部６のベクトル差分計算部９４は、参照領域探索部９２から複数のブロックシフトベクトルを受けると、複数のブロックシフトベクトルが可変長符号化部１５で可変長符号化される際に、複数のブロックシフトベクトルの全体の符号量が最も少なくなる複数のブロックシフトベクトルの符号化順を決定して、その符号化順に複数のブロックシフトベクトルの並び替えを実施する。
以下、ベクトル差分計算部９４の処理内容を具体的に説明する。
【０２２０】
ベクトル差分計算部９４は、参照領域探索部９２から複数のブロックシフトベクトルを受けると、符号化対象ブロックの近傍にあるブロック（直前の符号化済み予測ブロック、あるいは、当該予測ブロックの周囲の符号化済み予測ブロック）のブロックシフトベクトルと参照領域探索部９２から出力されたブロックシフトベクトルとの差分を算出する。あるいは、１つの符号化対象ブロックにおける複数の分割ブロックのブロックシフトベクトルの間で差分を算出ことも考えられる。
【０２２１】
ここで、図５０は符号化対象ブロックが９個の領域に分割されて、９本のブロックシフトベクトルが得られている様子を示す説明図である。９本のブロックシフトベクトルには、０〜８のインデックスが付けられている。
このとき、ｉ番目のブロックシフトベクトルを（ＢＶｘｉ，ＢＶｙｉ）で表すと、ベクトル差分計算部９４は、（ＢＶｘｉ−ＢＶｘｉ−１，ＢＶｙｉ−ＢＶｙｉ−１）のようにして２つの隣り合ったベクトルをペアにしてベクトルの差分を求めるようにしてもよい。
なお、（ＢＶｘ０，ＢＶｙ０）については、近傍にあるブロックのブロックシフトベクトルを用いて予測を行ってもよいし、あるいは（１０，１０）などの適当な定数により予測を行ってもよい。
【０２２２】
上記のようにブロックシフトベクトルの差分を求め、この差分を可変長符号化部１５が符号化する場合、その差分をゼロ近傍に集中させることができれば、少ない符号量で符号化することが可能になり、高い符号化効率を実現することができる。
図５０の例では、（ＢＶｘ６，ＢＶｙ６）と（ＢＶｘ７，ＢＶｙ７）などは、類似しているベクトルであるため（ベクトルの方向が近い）、ベクトルの差分を小さくすることができるが、（ＢＶｘ３，ＢＶｙ３）と（ＢＶｘ４，ＢＶｙ４）などでは、類似していないため、ベクトルの差分が非常に大きくなり、符号化効率が低下する。
そこで、ベクトル差分計算部９４は、ブロックシフトベクトル間の差分が小さくなるようにベクトルの並べ替えを行う。
【０２２３】
図５１はベクトル差分計算部９４によるベクトルの並べ替え方法を示す説明図である。
図５１では、図５０に示している９本のブロックシフトベクトルの原点を合わせて図示している。
ここで、水平方向からのなす角θが最も小さいインデックス（３）のベクトルと、最も大きいインデックス（２）のベクトルに着目し、例えば、これら２つのベクトルがなす角を４等分して４つのエリアを定義し、これを順にＡ０，Ａ１，Ａ２，Ａ３とする。
【０２２４】
まず、エリアＡ０に含まれるブロックシフトベクトルを、インデックスが小さい順に符号化する。つまり、インデックス（３）のブロックシフトベクトルを可変長符号化部１５に出力して符号化し、続いてインデックス（８）のベクトルの符号化として、インデックス（８）のベクトルとインデックス（３）のベクトルとの差分（ＢＶｘ８−ＢＶｘ３，ＢＶｙ８−ＢＶｙ３）を符号化する。
次に、エリアＡ１に含まれるブロックシフトベクトルをインデックスが小さい順に符号化する。つまり、インデックス（５）のベクトルの符号化として、インデックス（５）のベクトルとインデックス（８）のベクトルとの差分（ＢＶｘ５−ＢＶｘ８，ＢＶｙ５−ＢＶｙ８）を符号化する。
同様に、エリアＡ２，Ａ３に含まれるブロックシフトベクトルをインデックスが小さい順に符号化する。
【０２２５】
このようにすることで、ブロックシフトベクトルを単純にインデックス（０）から順に（１），（２），・・・と符号化していく場合と比べて、直前に符号化したベクトルとの差分を小さく抑えることができ、ベクトルの符号化に必要な符号量を削減して符号化効率を改善することができる。
この実施の形態３は、図５１に示すようなエリアの分割方法及び分割数に限定されるものではなく、例えば、図５５に示すように、図５１とは異なるエリアの分割方法及び分割数を用いることも当然考えられる。
【０２２６】
上記のように、ベクトル差分計算部９４がブロックシフトベクトルの並べ替えを行っているため、図１５の画像復号装置における画面内コピー予測部３５が、復号したブロックシフトベクトルを正しい順序に並べ直す必要がある。
しかし、画面内コピー予測部３５では、どのような並べ替えが行われているかが未知であるため、正しい並べ替えを行うことができるようにベクトル差分計算部９４が、ベクトルの並べ替え情報を出力し、このベクトルの並べ替え情報を可変長符号化部１５で符号化してビットストリームに多重化する。
【０２２７】
ベクトル並べ替え情報は、インデックス（０）から順に各ブロックシフトベクトルがＡ０，Ａ１，Ａ２，Ａ３のいずれのエリアに属しているかを示すものである。つまり、図５１の例では、ベクトル並べ替え情報は、図５２のようになる。
ただし、図５１のようなＡ０，Ａ１，Ａ２，Ａ３といったエリア分割を行わず、全てのベクトルを任意に入れ替えて、その入れ替え順番をベクトルのインデックスによって表現しているベクトル並べ替え情報を符号化するようにしてもよい。
しかし、このようにすると符号化対象ブロック内に含まれるブロックシフトベクトルの数が例えば６４などのように大きくなった場合、（０）から（６３）までのインデックスを符号化しなければならず、ベクトル並べ替え情報の符号化に必要な符号量が大きくなり符号化効率が低下する。
一方、図５１のようなエリア分割を行って各ベクトルが属するエリアのインデックスだけをベクトル並べ替え情報として符号化するようにすれば、インデックスの符号化に必要な符号量を分割エリア数で調整することができるため、符号量を削減して符号化効率を改善することができる。
【０２２８】
この実施の形態３による画像復号装置は、上記実施の形態１における図１５の画像復号装置と同様の構成であるが、画面内コピー予測部３５の内部構成および動作が異なる。
図５３はこの発明の実施の形態３による画像復号装置の画面内コピー予測部３５を示す構成図である。
図５３において、ベクトル並べ替え部１０１は可変長復号部３１により復号された各分割ブロックに係るブロックシフトベクトルの並べ替え情報を参照して、可変長復号部３１により復号された各分割ブロックのブロックシフトベクトルを正しい順番に並べ替える（ベクトル差分計算部９４により並べ替えられる前のブロックシフトベクトルと同じ順番になるように、可変長復号部３１により復号された各分割ブロックのブロックシフトベクトルを並べ替える）処理を実施する。
予測画像生成部１０２はベクトル並べ替え部１０１により並び替えられたブロックシフトベクトルを用いて、イントラ用メモリ３８に格納されている局所復号画像から、各分割ブロックに対応する参照ブロックを読み出し、複数の参照ブロックを復号対象ブロック全体の予測画像として出力する処理を実施する。
【０２２９】
次に動作について説明する。
画面内コピー予測部３５のベクトル並べ替え部１０１は、可変長復号部３１から各分割ブロックに係るブロックシフトベクトルの並べ替え情報を受けると、その並べ替え情報を参照して、可変長復号部３１により復号された各分割ブロックのブロックシフトベクトルを正しい順番に並べ替える処理を行う。
図５４は並べ替え前後のベクトルインデックスとベクトルの並べ替え情報を示す説明図である。
以下、図５４を参照しながら、ブロックシフトベクトルの並べ替えを説明する。
【０２３０】
９本のブロックシフトベクトルがあり、復号された順番に（０）から（８）までのインデックスが付けられているものとする。
ベクトル並べ替え部１０１は、ベクトル並べ替え情報（所属エリアインデックス）を参照して、所属エリアインデックスが小さい順にブロックシフトベクトルを並べる。つまり、所属エリアインデックスが（０）となるブロックシフトベクトルを求め、所属エリアインデックスが（０）となるブロックシフトベクトルが複数存在する場合は、ベクトルインデックスが小さい順に並べる。
図５４の例では、所属エリアインデックスが（０）となるブロックシフトベクトルは、インデックス（３）とインデックス（８）のベクトルであるため、ベクトルインデックスが小さい順に、インデックス（３）とインデックス（８）のベクトルを並べる。
これを繰り返していき、最終的に図５４のようにベクトルの並べ替えが行われ、図１の画像符号化装置における画面内コピー予測部６で並べ替えを行う前の正しいベクトルインデックスを得ることができる。
【０２３１】
画面内コピー予測部３５の予測画像生成部１０２は、可変長復号部３１により復号された領域分割情報を受け取り、ベクトル並べ替え部１０１により正しい順番に並び替えられたブロックシフトベクトルを用いて、イントラ用メモリ３８に格納されている局所復号画像から、各分割ブロックに対応する参照ブロックを読み出し、複数の参照ブロックを復号対象ブロック全体の予測画像として出力する。
【０２３２】
この実施の形態３では、可変長符号化部１５がベクトルの並べ替え情報を符号化してビットストリームに多重化しているものを示したが、並べ替え情報を利用せずとも画像復号装置で正しくブロックシフトベクトルを並べ替えることが可能である場合には、必ずしもベクトルの並べ替え情報を符号化する必要はない。
【０２３３】
以上で明らかなように、この実施の形態３によれば、可変長符号化部１５が、ベクトル差分計算部９４により並び替えられた複数のブロックシフトベクトルを並び順に可変長符号化するとともに、ベクトル差分計算部９４によるブロックシフトベクトルの並び替えを示す並び替え情報を可変長符号化するように構成したので、ブロックシフトベクトルの符号化に必要な符号量が削減され、スクリーンコンテンツに対する符号化性能を高めることができる効果を奏する。
【０２３４】
また、この実施の形態３によれば、上記効果を持つ画像符号化装置及び画像符号化方法が生成する符号化ビットストリームを正しく復号することができる画像復号装置及び画像復号方法が得られる効果を奏する。
【０２３５】
実施の形態４．
上記実施の形態１では、可変長符号化部１５が画面内コピー予測のブロックシフトベクトルを符号化する際、直前の符号化済みブロックのベクトル、あるいは、符号化対象ブロックの周囲の符号化済みブロックのベクトルを予測ベクトルとしてベクトルの差分値を符号化するものを示したが、ベクトルの差分値を符号化するか、あるいは、ベクトルの予測を行わずにブロックシフトベクトルを直接符号化するかを適応的に切り替えるようにしてもよい。
【０２３６】
この実施の形態４による画像符号化装置は、上記実施の形態１における図１の画像符号化装置と同様の構成であるが、可変長符号化部１５の内部構成および動作が異なる。
図５６はこの発明の実施の形態４による画像符号化装置の可変長符号化部１５のうち画面内コピー予測のブロックシフトベクトルを符号化する部分を示す構成図である。
【０２３７】
図５６において、ベクトル符号量計算部１１３は画面内コピー予測部６からブロックシフトベクトル１１１と、直前の符号化済みブロックのベクトル、あるいは、符号化対象ブロックの周囲の符号化済みブロックのベクトルなどから生成した予測ベクトル１１２とを受け取り、ブロックシフトベクトル１１１をそのまま符号化する場合の符号量と、ブロックシフトベクトル１１１と予測ベクトル１１２の差分を取ってから符号化する場合の符号量とを求め、これらの符号量を示す情報として符号量情報１１４を出力する処理を実施する。
ベクトル符号量比較部１１５はベクトル符号量計算部１１３から出力された符号量情報１１４に基づいてブロックシフトベクトル１１１をそのまま符号化する場合と、ブロックシフトベクトル１１１と予測ベクトル１１２の差分を取ってから符号化する場合とにおいて、どちらの方が符号化性能が高くなるかを決定し、最終的に符号化するベクトル１１６と、ベクトルの予測を行うか否かを示すフラグ１１７（例えば、予測を行う場合は１、予測を行わない場合は０）を出力する処理を実施する。
ベクトル１１６とフラグ１１７は、可変長符号化部１５の内部で可変長符号化されてビットストリームに重畳される。
【０２３８】
次に動作について説明する。
まず、ベクトル符号量計算部１１３は、画面内コピー予測部６から（ＢＶｘ，ＢＶｙ）で表されるブロックシフトベクトル１１１と、（ＰＢＶｘ，ＰＢＶｙ）で表される予測ベクトル１１２を受け取ると、予測ベクトル１１２を使用せずにブロックシフトベクトル１１１をそのまま符号化する場合の符号量と、予測ベクトル１１２を使用して差分値（ＢＶｘ−ＰＢＶｘ，ＢＶｙ−ＰＢＶｙ）を符号化する場合の符号量とを計算し、それらの計算結果を符号量情報１１４として出力する。
ベクトル符号量比較部１１５は、ベクトル符号量計算部１１３から符号量情報１１４を受け取ると、ブロックシフトベクトル１１１である（ＢＶｘ，ＢＶｙ）を符号化する場合の符号量と、差分値（ＢＶｘ−ＰＢＶｘ，ＢＶｙ−ＰＢＶｙ）を符号化する場合の符号量とを比較して、小さくなる方を選択する。
【０２３９】
ベクトル符号量比較部１１５は、差分値（ＢＶｘ−ＰＢＶｘ，ＢＶｙ−ＰＢＶｙ）を符号化する場合の符号量の方が小さくなる場合、その差分値（ＢＶｘ−ＰＢＶｘ，ＢＶｙ−ＰＢＶｙ）をベクトル１１６として出力するとともに、ベクトルの予測を行うか否かを示すフラグ１１７を１（予測を行うことを示す値）として出力する。
一方、ブロックシフトベクトル１１１である（ＢＶｘ，ＢＶｙ）を符号化する場合の符号量の方が小さくなる場合、（ＢＶｘ，ＢＶｙ）をベクトル１１６として出力するとともに、フラグ１１７を０（予測を行わないことを示す値）として出力する。
ベクトル１１６とフラグ１１７は、可変長符号化部１５の内部で可変長符号化されてビットストリームに重畳される。
【０２４０】
画面内コピー予測におけるブロックシフトベクトル１１１は、予測が難しいため、直前の符号化済みブロックのベクトル、あるいは、符号化対象ブロックの周囲の符号化済みブロックのベクトルによって常に高精度に予測できるとは限らない。したがって、ベクトルの予測を実施することで逆に符号量が増加してしまうケースがある。この実施の形態４では、ベクトルの予測を行うか否かをベクトルの予測精度に応じて適応的に切り替えられるように構成したため、ブロックシフトベクトル１１１の符号化に必要な符号量を削減して符号化性能を向上することが可能である。
なお、ベクトルの予測を実施するか否かを示すフラグ１１７は、ベクトルの水平成分と垂直成分のそれぞれに対して個別に設けるようにしてもよい。つまり、例えばベクトルの水平成分は予測を実施し、垂直成分は予測を実施しない、といった柔軟な選択が行えるようにしてもよい。このようにすることで、符号量の削減効果がさらに向上する。
【０２４１】
ここで、図５７及び図５８はこの発明の実施の形態４による画像符号化装置の可変長符号化部１５が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を示すフローチャートである。
以下、図５７及び図５８を用いて、可変長符号化部１５が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を説明する。
いま、符号化するベクトル１１６の値を（Ｖｘ，Ｖｙ）とする。（Ｖｘ，Ｖｙ）は、フラグ１１７が０の場合、（ＢＶｘ，ＢＶｙ）と等しく、フラグ１１７が１の場合、（ＢＶｘ−ＰＢＶｘ，ＢＶｙ−ＰＢＶｙ）と等しいものとする。
【０２４２】
まず、可変長符号化部１５は、Ｖｘの絶対値｜Ｖｘ｜を求め（図５７のステップＳＴ１２０）、フラグａｂｓ＿ｍｖｄ＿ｇｒｅａｔｅｒ０＿ｆｌａｇ＿ｘを符号化する（ステップＳＴ１２１）。フラグａｂｓ＿ｍｖｄ＿ｇｒｅａｔｅｒ０＿ｆｌａｇ＿ｘは、｜Ｖｘ｜が０より大きい場合に１、｜Ｖｘ｜が０以下の場合に０となるフラグである。
また、Ｖｙについても同様にＶｙの絶対値｜Ｖｙ｜を求め（ステップＳＴ１２２）、フラグａｂｓ＿ｍｖｄ＿ｇｒｅａｔｅｒ０＿ｆｌａｇ＿ｙを符号化する（ステップＳＴ１２３）。フラグａｂｓ＿ｍｖｄ＿ｇｒｅａｔｅｒ０＿ｆｌａｇ＿ｙは、｜Ｖｙ｜が０より大きい場合に１、｜Ｖｙ｜が０以下の場合に０となるフラグである。
可変長符号化部１５は、｜Ｖｘ｜と｜Ｖｙ｜が共に０の場合（ステップＳＴ１２４：Ｙｅｓの場合）、そのまま終了するが、｜Ｖｘ｜又は｜Ｖｙ｜の少なくとも一方が１の場合（ステップＳＴ１２４：Ｎｏの場合）、フラグｉｓ＿ｐｒｅｄ＿ｆｌａｇを符号化する（図５８のステップＳＴ１２５）。フラグｉｓ＿ｐｒｅｄ＿ｆｌａｇは、フラグ１１７の値に等しく、ベクトルの予測を行う場合に１、予測を行わない場合に０となるフラグである。
【０２４３】
次に、可変長符号化部１５は、Ｖｘの絶対値｜Ｖｘ｜が０よりも大きければ（ステップＳＴ１２６：Ｙｅｓの場合）、フラグａｂｓ＿ｍｖｄ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ＿ｘを符号化する（ステップＳＴ１２７）。フラグａｂｓ＿ｍｖｄ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ＿ｘは｜Ｖｘ｜が１よりも大きい場合に１、そうでない場合に０となるフラグである。
また、Ｖｙの絶対値｜Ｖｙ｜が０よりも大きければ（ステップＳＴ１２８：Ｙｅｓの場合）、フラグａｂｓ＿ｍｖｄ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ＿ｙを符号化する（ステップＳＴ１２９）。フラグａｂｓ＿ｍｖｄ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ＿ｙは｜Ｖｙ｜が１よりも大きい場合に１、そうでない場合に０となるフラグである。
【０２４４】
次に、可変長符号化部１５は、Ｖｘの絶対値｜Ｖｘ｜が１よりも大きければ（ステップＳＴ１３０：Ｙｅｓの場合）、Ｖｘの絶対値｜Ｖｘ｜から２を引いた値を符号化し（ステップＳＴ１３１）、Ｖｘの絶対値｜Ｖｘ｜が０よりも大きければ（ステップＳＴ１３２：Ｙｅｓの場合）、フラグｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ＿ｘを符号化する（ステップＳＴ１３３）。フラグｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ＿ｘは、Ｖｘが正の場合に０、負の場合に１となるフラグである。
また、Ｖｙについても同様に、Ｖｙの絶対値｜Ｖｙ｜が１よりも大きければ（ステップＳＴ１３４：Ｙｅｓの場合）、Ｖｙの絶対値｜Ｖｙ｜から２を引いた値を符号化し（ステップＳＴ１３５）、Ｖｙの絶対値｜Ｖｙ｜が０よりも大きければ（ステップＳＴ１３６：Ｙｅｓの場合）、フラグｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ＿ｙを符号化する（ステップＳＴ１３７）。フラグｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ＿ｙは、Ｖｙが正の場合に０、負の場合に１となるフラグである。
【０２４５】
ここでは、フラグａｂｓ＿ｍｖｄ＿ｇｒｅａｔｅｒ０＿ｆｌａｇ＿ｘ及びフラグａｂｓ＿ｍｖｄ＿ｇｒｅａｔｅｒ０＿ｆｌａｇ＿ｙ、さらにフラグａｂｓ＿ｍｖｄ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ＿ｘ及びフラグａｂｓ＿ｍｖｄ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ＿ｙを用いることでベクトルが０あるいは１の場合はフラグだけを符号化するようにしているが、必ずしも、これらのフラグの全てを用いなくてもよい。つまり、例えばベクトルが０か否かを示すフラグだけを利用し、｜Ｖｘ｜から１を引いた値および｜Ｖｙ｜から１を引いた値を符号化することなどが考えられる。
【０２４６】
図５７及び図５８に示すベクトルの可変長符号化の手順が従来の画像符号化装置と異なるのは、画面内コピー予測におけるブロックシフトベクトル１１１の予測を行うか否かを示すフラグｉｓ＿ｐｒｅｄ＿ｆｌａｇをステップＳＴ１２５で符号化している点だけである。したがって、ベクトルの可変長符号化の手順を従来の画像符号化装置からほとんど変えることなく、画面内コピー予測におけるブロックシフトベクトル１１１の予測を行うか否かを適応的に切り替えることが可能である。
【０２４７】
ここで、画面内コピー予測におけるブロックシフトベクトル１１１の予測を行わずに（ＢＶｘ，ＢＶｙ）をそのまま符号化する場合を考えてみると、ベクトルの値には制限があることがわかる。画面内コピー予測で参照できる領域は、図５９に示すような符号化済み領域（符号化対象ブロック以前に符号化が完了している領域）のみであるため、（ＢＶｘ，ＢＶｙ）＝（０，０）となることはあり得ず、さらに、ＢＶｘ＞０かつＢＶｙ＞０となることもあり得ない。
したがって、ＢＶｘ＝０のときは必ずＢＶｙ＜０になり、ＢＶｙ＝０のときは必ずＢＶｘ＜０になる他、ＢＶｘとＢＶｙの正負の組み合わせは、ＢＶｘ＜０かつＢＶｙ＜０、ＢＶｘ＞０かつＢＶｙ＜０、ＢＶｘ＜０かつＢＶｙ＞０のいずれかとなる。
【０２４８】
図５７及び図５８では、Ｖｘの符号を表すフラグｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ＿ｘ、Ｖｙの符号を表すフラグｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ＿ｙを常に符号化していたが、画面内コピー予測におけるブロックシフトベクトル１１１の予測を行わずに（ＢＶｘ，ＢＶｙ）をそのまま符号化する場合は、上記のようにベクトルの値に制限があることを利用すると、例えば、図６０、図６１及び図６２に示すようなベクトルの可変長符号化の手順も考えることができる。
【０２４９】
図６０及び図６１におけるステップＳＴ１４０〜ＳＴ１５２までは図５７及び図５８と同様であるため説明を割愛する。ただし、フラグｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ＿ｘとフラグｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ＿ｙの符号化（図５８のステップＳＴ１３２及びＳＴ１３３とステップＳＴ１３６及びＳＴ１３７）を行っていない点に注意されたい。図６２のステップＳＴ１５４において、フラグｉｓ＿ｐｒｅｄ＿ｆｌａｇを符号化し、これが１である場合（ステップＳＴ１５５：Ｙｅｓの場合）、つまり、ブロックシフトベクトル１１１の予測を実施する場合は、フラグｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ＿ｘとフラグｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ＿ｙを符号化する（ステップＳＴ１５６〜ＳＴ１５９）。
一方、フラグｉｓ＿ｐｒｅｄ＿ｆｌａｇが０となる場合（ステップＳＴ１５５：Ｎｏの場合）、つまりブロックシフトベクトル１１１の予測を実施せず、ベクトルをそのまま符号化する場合は、ＶｘまたはＶｙのいずれかが０となるのであれば符号フラグｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ＿ｘやフラグｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ＿ｙを符号化することなく終了する（ステップＳＴ１６０：Ｎｏの場合）。なぜならば、Ｖｙ＝０ならば必ずＶｘ＜０となり、Ｖｘ＝０ならば必ずＶｙ＜０となるため正負を表す符号を別途符号化する必要がないためである。
また、ＶｘとＶｙがどちらも０でない場合（ステップＳＴ１６０：Ｙｅｓの場合）、まず、フラグｂｏｔｈ＿ｎｅｇａｔｉｖｅ＿ｆｌａｇを符号化する（ステップＳＴ１６１）。フラグｂｏｔｈ＿ｎｅｇａｔｉｖｅ＿ｆｌａｇは、Ｖｘ＜０かつＶｙ＜０の場合に１、そうでない場合に０となるフラグである。Ｖｘ＜０かつＶｙ＜０の場合は（ステップＳＴ１６２：Ｙｅｓの場合）、そのまま終了し、Ｖｘ又はＶｙのうち、少なくとも一方が０より大きい場合（ステップＳＴ１６２：Ｎｏの場合）、ＶｘとＶｙのどちらかの符号をシグナリングする必要があるため、図６２ではＶｘの符号としてフラグｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ＿ｘを符号化する（ステップＳＴ１６３）。
【０２５０】
図５７及び図５８と、図６０、図６１及び図６２とを比較すると、図５７及び図５８ではＶｘとＶｙのそれぞれについて常に符号を表すフラグｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ＿ｘ，ｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ＿ｙを符号化しているのに対し、図６０、図６１及び図６２では、ベクトルの予測を実施しない場合に、符号化するベクトルの値に制限があることを利用して符号を表すフラグの符号化回数を最小限に抑えている。これにより、画面内コピー予測におけるブロックシフトベクトル１１１の符号化に必要な符号量を削減することができ、符号化性能を向上させることができる。
【０２５１】
この実施の形態４による画像復号装置は、上記実施の形態１における図１５の画像復号装置と同様の構成であるが、可変長復号部３１、画面内コピー予測部３５の内部構成および動作が異なる。
図６３はこの発明の実施の形態４による画像復号装置の画面内コピー予測部３５を示す構成図である。
図６３において、参照ブロック座標決定部１８０は可変長復号部３１により復号された画面内コピー予測パラメータに含まれているベクトル予測フラグから、その画面内コピー予測パラメータに含まれているブロックシフトベクトル１１１に対してベクトルの予測が行われているのかどうかを認識して、そのブロックシフトベクトル１１１から参照ブロックの位置を表す座標を特定する処理を実施する。
予測画像生成部１８１はイントラ用メモリ３８に格納されている局所復号画像から、参照ブロック座標決定部１８０により特定された座標上の参照ブロックを読み出して、その参照ブロックを予測画像として加算部３７に出力する処理を実施する。
【０２５２】
次に動作について説明する。
図６４及び図６５は、画面内コピー予測パラメータが画像符号化装置にて図５７及び図５８に示す手順で符号化されている場合に、その復号に係る可変長復号部３１の動作を示したものである。
いま、画面内コピー予測におけるブロックシフトベクトルを（Ｖｘ，Ｖｙ）とし、その初期値を０とする。まず、可変長復号部３１は、フラグａｂｓ＿ｍｖｄ＿ｇｒｅａｔｅｒ０＿ｆｌａｇ＿ｘを復号し、これをＶｘに加算する（図６４のステップＳＴ１９０）。
また、可変長復号部３１は、フラグａｂｓ＿ｍｖｄ＿ｇｒｅａｔｅｒ０＿ｆｌａｇ＿ｙを復号し、これをＶｙに加算する（ステップＳＴ１９１）。
【０２５３】
可変長復号部３１は、Ｖｘ，Ｖｙのいずれかが０でない場合（ステップＳＴ１９２：Ｎｏの場合）、ベクトルが予測されているか否かを表すフラグｉｓ＿ｐｒｅｄ＿ｆｌａｇを復号する（図６５のステップＳＴ１９３）。ここで、Ｖｘ，Ｖｙが共に０である場合（フラグｉｓ＿ｐｒｅｄ＿ｆｌａｇを復号しない場合）、フラグｉｓ＿ｐｒｅｄ＿ｆｌａｇは１に設定される。
次に、可変長復号部３１は、Ｖｘが０よりも大きい場合（ステップＳＴ１９４：Ｙｅｓの場合）、フラグａｂｓ＿ｍｖｄ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ＿ｘを復号し、これをＶｘに加算する（ステップＳＴ１９５）。
また、可変長復号部３１は、Ｖｙが０よりも大きい場合（ステップＳＴ１９６：Ｙｅｓの場合）、フラグａｂｓ＿ｍｖｄ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ＿ｙを復号し、これをＶｙに加算する（ステップＳＴ１９７）。
【０２５４】
次に、可変長復号部３１は、Ｖｘが１よりも大きい場合（ステップＳＴ１９８：Ｙｅｓの場合）、Ｖｘ’（＝｜Ｖｘ｜−２）を復号し、これをＶｘに加算する（ステップＳＴ１９９）。そして、Ｖｘが０よりも大きい場合（ステップＳＴ２００：Ｙｅｓの場合）、フラグｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ＿ｘを復号し、これが１の場合だけＶｘの符号を負に設定する（ステップＳＴ２０１）。
また、可変長復号部３１は、Ｖｙが１よりも大きい場合（ステップＳＴ２０２：Ｙｅｓの場合）、Ｖｙ’ （＝｜Ｖｙ｜−２）を復号し、これをＶｙに加算する（ステップＳＴ２０３）。そして、Ｖｙが０よりも大きい場合（ステップＳＴ２０４：Ｙｅｓの場合）、フラグｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ＿ｙを復号し、これが１の場合だけＶｙの符号を負に設定する（ステップＳＴ２０５）。
【０２５５】
可変長復号部３１は、以上の手順により得られた画面内コピー予測のブロックシフトベクトル（Ｖｘ，Ｖｙ）と、このベクトルが予測ベクトルとの差分になっているか否かを表すベクトル予測フラグｉｓ＿ｐｒｅｄ＿ｆｌａｇを画面内コピー予測パラメータとして出力する。
【０２５６】
また、図６６、図６７及び図６８は画面内コピー予測パラメータが画像符号化装置にて図６０〜図６２に示す手順で符号化されている場合に、その復号に係る可変長復号部３１の動作を示したものである。図６６及び図６７におけるステップＳＴ２１０〜ＳＴ２２０までは図６４及び図６５と同様であるため説明を割愛する。ただし、フラグｉｓ＿ｐｒｅｄ＿ｆｌａｇの復号（図６５のステップＳＴ１９３）、フラグｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ＿ｘとフラグｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ＿ｙの復号（図６５のステップＳＴ２００及びＳＴ２０１とステップＳＴ２０４及びＳＴ２０５）を行っていない点に注意されたい。図６８のステップＳＴ２２２において、フラグｉｓ＿ｐｒｅｄ＿ｆｌａｇを復号し、これが１である場合（ステップＳＴ２２３：Ｙｅｓの場合）、つまり、ブロックシフトベクトル１１１の予測を実施する場合は、フラグｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ＿ｘとフラグｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ＿ｙを復号してＶｘとＶｙの符号を設定する（ステップＳＴ２２４からＳＴ２２７）。
一方、フラグｉｓ＿ｐｒｅｄ＿ｆｌａｇが０となる場合（ステップＳＴ２２３：Ｎｏの場合）、つまりブロックシフトベクトル１１１の予測が実施されず、ベクトルがそのまま符号化されている場合は、ＶｘまたはＶｙのいずれかが０となるのであれば（ステップＳＴ２２８：Ｎｏの場合）、０でない方の符号を負に設定して終了する（ステップＳＴ２３２）。
また、ＶｘとＶｙがどちらも０でない場合（ステップＳＴ２２８：Ｙｅｓの場合）、まず、フラグｂｏｔｈ＿ｎｅｇａｔｉｖｅ＿ｆｌａｇを復号して、これが１であればＶｘとＶｙの符号を負に設定する（ステップＳＴ２２９）。フラグｂｏｔｈ＿ｎｅｇａｔｉｖｅ＿ｆｌａｇが０の場合（ステップＳＴ２３０：Ｎｏの場合）、フラグｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ＿ｘを復号し、これが１であればＶｘの符号を負、Ｖｙの符号を正、０であればＶｘの符号を正、Ｖｙの符号を負に設定する。（ステップＳＴ２３１）。
【０２５７】
可変長復号部３１は、以上の手順により得られた画面内コピー予測のブロックシフトベクトル（Ｖｘ，Ｖｙ）と、このベクトルが予測ベクトルとの差分になっているか否かを表すベクトル予測フラグｉｓ＿ｐｒｅｄ＿ｆｌａｇを画面内コピー予測パラメータとして出力する。
【０２５８】
画面内コピー予測部３５の参照ブロック座標決定部１８０は、可変長復号部３１により復号された画面内コピー予測パラメータを受けると、その画面内コピー予測パラメータに含まれているベクトル予測フラグから、その画面内コピー予測パラメータに含まれているブロックシフトベクトルに対してベクトルの予測が行われているのかどうかを認識する。
例えば、ベクトル予測フラグが“０”であれば、ベクトルの予測が行われず、画面内コピー予測におけるベクトルがそのまま符号化されていると認識し、ベクトル予測フラグが“１”であれば、ベクトルの予測が行われて、画面内コピー予測におけるベクトルと予測ベクトルとの差分が符号化されていると認識して、画面内コピー予測パラメータに含まれているブロックシフトベクトルに対して予測ベクトルを加算したベクトルを生成する。
参照ブロック座標決定部８１は、ブロックシフトベクトルから参照ブロックの位置を表す座標を特定する。
【０２５９】
画面内コピー予測部３５の予測画像生成部８２は、参照ブロック座標決定部８１が参照ブロックの位置を表す座標を特定すると、イントラ用メモリ３８に格納されている局所復号画像から、その座標上の参照ブロックを読み出して、その参照ブロックを予測画像として加算部３７に出力する。
【０２６０】
以上で明らかなように、この実施の形態４によれば、画面内コピー予測部６が、可変長符号化部１５によりブロックシフトベクトルが可変長符号化された際の符号量が最も少なくなるようにブロックシフトベクトルの予測を行うか否かを選択し、その選択結果を示すフラグと、予測を行う場合はブロックシフトベクトルとその予測ベクトルとの差分ベクトル、予測を行わない場合はブロックシフトベクトルそのものを出力して、これを可変長符号化部１５が可変長符号化するように構成したので、上記実施の形態１よりも、ブロックシフトベクトルの符号化に必要な符号量を更に削減して、スクリーンコンテンツに対する符号化性能を高めることができる効果を奏する。
【０２６１】
また、この実施の形態４によれば、上記効果を持つ画像符号化装置及び画像符号化方法が生成する符号化ビットストリームを正しく復号することができる画像復号装置及び画像復号方法が得られる効果を奏する。
【０２６２】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【０２６３】
１  符号化制御部、２  スライス分割部、３  ブロック分割部、４  切換スイッチ、５  イントラ予測部、６  画面内コピー予測部（画面内コピー予測手段）、７  動き補償予測部（動き補償予測手段）、８  減算部、９  変換・量子化部、１０  逆量子化・逆変換部、１１  加算部、１２  イントラ用メモリ、１３  ループフィルタ部、１４  動き補償予測フレームメモリ、１５  可変長符号化部（可変長符号化手段）、３１  可変長復号部（可変長復号手段）、３２  逆量子化・逆変換部、３３  切換スイッチ、３４  イントラ予測部、３５  画面内コピー予測部（画面内コピー予測手段）、３６  動き補償予測部（動き補償予測手段）、３７  加算部、３８  イントラ用メモリ、３９  ループフィルタ部、４０  動き補償予測フレームメモリ、５０  ベクトル差分、５１  符号化方式選択情報、５２  選択スイッチ、５３  ベクトル符号化部、５４  ベクトル符号化部、５５  選択スイッチ、５６  ビット列、６０  符号化ビットストリーム、６１  復号方式選択情報、６２  選択スイッチ、６３  ベクトル復号部、６４  ベクトル復号部、６５  選択スイッチ、６６  復号ベクトル、７１  参照ブロック探索部、７２  予測画像生成部、７３  ベクトル表現形式決定部、８１  参照ブロック座標決定部、８２  予測画像生成部、９１  領域分割部、９２  参照領域探索部、９３  予測画像生成部、９４  ベクトル差分計算部、１０１  ベクトル並べ替え部、１０２  予測画像生成部、１１１  ブロックシフトベクトル、１１２  予測ベクトル、１１３  ベクトル符号量計算部、１１４  符号量情報、１１５  ベクトル符号量比較部、１１６  ベクトル、１１７  フラグ、１８０  参照ブロック座標決定部、１８１  予測画像生成部、２０１ａ，２０１ｂ，２０２ａ，２０２ｂ  ブロック。
【図１】
0006300660.tif 000006
【図２】
0006300660.tif 000007
【図３】
0006300660.tif 000008
【図４】
0006300660.tif 000009
【図５】
0006300660.tif 000010
【図６】
0006300660.tif 000011
【図７】
0006300660.tif 000012
【図８】
0006300660.tif 000013
【図９】
0006300660.tif 000014
【図１０】
0006300660.tif 000015
【図１１】
0006300660.tif 000016
【図１２】
0006300660.tif 000017
【図１３】
0006300660.tif 000018
【図１４】
0006300660.tif 000019
【図１５】
0006300660.tif 000020
【図１６】
0006300660.tif 000021
【図１７】
0006300660.tif 000022
【図１８】
0006300660.tif 000023
【図１９】
0006300660.tif 000024
【図２０】
0006300660.tif 000025
【図２１】
0006300660.tif 000026
【図２２】
0006300660.tif 000027
【図２３】
0006300660.tif 000028
【図２４】
0006300660.tif 000029
【図２５】
0006300660.tif 000030
【図２６】
0006300660.tif 000031
【図２７】
0006300660.tif 000032
【図２８】
0006300660.tif 000033
【図２９】
0006300660.tif 000034
【図３０】
0006300660.tif 000035
【図３１】
0006300660.tif 000036
【図３２】
0006300660.tif 000037
【図３３】
0006300660.tif 000038
【図３４】
0006300660.tif 000039
【図３５】
0006300660.tif 000040
【図３６】
0006300660.tif 000041
【図３７】
0006300660.tif 000042
【図３８】
0006300660.tif 000043
【図３９】
0006300660.tif 000044
【図４０】
0006300660.tif 000045
【図４１】
0006300660.tif 000046
【図４２】
0006300660.tif 000047
【図４３】
0006300660.tif 000048
【図４４】
0006300660.tif 000049
【図４５】
0006300660.tif 000050
【図４６】
0006300660.tif 000051
【図４７】
0006300660.tif 000052
【図４８】
0006300660.tif 000053
【図４９】
0006300660.tif 000054
【図５０】
0006300660.tif 000055
【図５１】
0006300660.tif 000056
【図５２】
0006300660.tif 000057
【図５３】
0006300660.tif 000058
【図５４】
0006300660.tif 000059
【図５５】
0006300660.tif 000060
【図５６】
0006300660.tif 000061
【図５７】
0006300660.tif 000062
【図５８】
0006300660.tif 000063
【図５９】
0006300660.tif 000064
【図６０】
0006300660.tif 000065
【図６１】
0006300660.tif 000066
【図６２】
0006300660.tif 000067
【図６３】
0006300660.tif 000068
【図６４】
0006300660.tif 000069
【図６５】
0006300660.tif 000070
【図６６】
0006300660.tif 000071
【図６７】
0006300660.tif 000072
【図６８】
0006300660.tif 000073