(57)【特許請求の範囲】
【請求項１】
入力画像を分割して得られたブロック単位の対象画像を符号化する画像符号化装置であって、
前記対象画像の変換処理をスキップする変換スキップモードにおいて、
複数の参照画像を用いて動き補償予測を行うことにより、前記対象画像に対応する予測画像を生成する動き補償予測部と、
前記複数の参照画像間の類似度を画素単位で評価する評価部と、
前記対象画像と前記予測画像との間の差分を示す予測残差を画素単位で算出する減算部と、
前記評価部による評価結果に基づいて前記予測残差を並び替える並び替え部と、
前記並び替え部による並び替え後の前記予測残差を符号化する符号化部と、を備える、画像符号化装置。
【請求項２】
前記並び替え部は、前記類似度の低い画素位置から順に前記予測残差が符号化されるように、前記予測残差を画素単位で並び替える、請求項１に記載の画像符号化装置。
【請求項３】
前記並び替え部は、２次元に配列された前記予測残差を所定のスキャン順で読み出して予測残差列を出力し、
前記符号化部は、前記予測残差列に含まれる最後の非ゼロ係数を判定し、前記予測残差列の先頭から前記最後の非ゼロ係数までに対して符号化を行い、
前記並び替え部は、前記評価部による評価結果に基づいて、前記類似度の低い画素位置から順に前記予測残差が前記予測残差列に含まれるように並び替えを行う、請求項２に記載の画像符号化装置。
【請求項４】
前記並び替え部は、前記類似度の低い画素グループから順に前記予測残差が符号化されるように、前記予測残差を画素グループ単位で並び替える、請求項１に記載の画像符号化装置。
【請求項５】
前記並び替え部は、２次元に配列された前記予測残差に対して水平反転及び垂直反転の少なくとも一方を行うことにより、前記予測残差を並び替える、請求項１に記載の画像符号化装置。
【請求項６】
符号化データからブロック単位の対象画像を復号する画像復号装置であって、
前記対象画像のブロックに対する変換処理をスキップする変換スキップモードにおいて、
複数の参照画像を用いて動き補償予測を行うことにより、前記対象画像のブロックに対応する予測画像のブロックを生成するインター予測部と、
前記複数の参照画像間の類似度を示す評価値を、前記ブロックよりも小さい単位であって複数の画素からなる小ブロックごとに算出する評価部と、
前記符号化データを復号して、前記対象画像に対応する予測残差を取得する取得部と、
前記取得された予測残差を前記予測画像のブロックと合成して前記対象画像のブロックを再構成する合成部と、を備え、
前記評価部が算出する前記評価値は、前記合成部の合成対象を前記小ブロック単位で補正するために用いられる、画像復号装置。
【請求項７】
前記評価部は、前記複数の参照画像間の類似度を示す値を正規化する正規化部を有する、請求項６に記載の画像復号装置。
【請求項８】
符号化データからブロック単位の対象画像を復号する画像復号装置であって、
前記対象画像の変換処理をスキップする変換スキップモードにおいて、
複数の参照画像を用いて動き補償予測を行うことにより、前記対象画像に対応する予測画像を生成する動き補償予測部と、
前記複数の参照画像間の類似度を画素単位で評価する評価部と、
前記符号化データを復号して、前記対象画像と前記予測画像との間の差分を示す予測残差を画素単位で取得する復号部と、
前記評価部による評価結果に基づいて前記予測残差を並び替える並び替え部と、を備える、画像復号装置。
【請求項９】
コンピュータを請求項１乃至５のいずれか一項に記載の画像符号化装置として機能させるためのプログラム。
【請求項１０】
コンピュータを請求項６乃至８のいずれか一項に記載の画像復号装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像符号化装置、画像復号装置、及びプログラムに関する。
【背景技術】
【０００２】
従来、対象画像（画像ブロック）を符号化する符号化装置において、複数の参照画像を用いて動き補償予測を行い、対象画像に対応する予測画像を生成し、当該対象画像と予測画像との間の画素単位での差分を示す予測残差に対して直交変換を行って変換係数を生成し、当該変換係数を量子化し、量子化された変換係数に対してエントロピー符号化を行う方法が知られている。複数の参照画像を用いる動き補償予測においては、複数の参照画像を平均化することにより予測画像を生成することが一般的である。【０００３】
エントロピー符号化は、２次元に配列された変換係数を所定のスキャン順で読み出して１次元の変換係数列に変換するシリアライズという処理を含み、１次元の変換係数列の先頭の変換係数から順に符号化する。一般的に、直交変換により低域に電力が集中し、高域において電力（変換係数の値）がゼロになるため、低域から高域のスキャン順に変換係数を読み出し、最後の有意係数（非ゼロ係数）に対して終了フラグを付与することにより、有意係数のみを効率的に符号化している（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  ＩＴＵ−Ｔ  Ｈ．２６５，（１２／２０１６），  “Ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ”，  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ
【発明の概要】
【０００５】
しかしながら、ＨＥＶＣ（非特許文献１参照）では、直交変換処理を行うモードのほか、直交変換処理を行わない変換スキップモードを適用可能である。変換スキップモードを適用する場合、予測残差に対する直交変換を行わないため、低域に電力が集中することを期待できない。よって、変換スキップモードにおいて、直交変換を行うモードと同じ方法でエントロピー符号化を行うと、効率的なエントロピー符号化を行うことができず、符号化効率が低下するという問題があった。
【０００６】
そこで、本発明は、複数の参照画像を用いて動き補償予測を行う場合において符号化効率を改善可能な画像符号化装置、画像復号装置、及びプログラムを提供することを目的とする。
【０００７】
第１の特徴に係る画像符号化装置は、入力画像を分割して得られたブロック単位の対象画像を符号化する。前記画像符号化装置は、前記対象画像の直交変換処理をスキップする変換スキップモードにおいて、複数の参照画像を用いて動き補償予測を行うことにより、前記対象画像に対応する予測画像を生成する動き補償予測部と、前記複数の参照画像間の類似度を画素単位で評価する評価部と、前記対象画像と前記予測画像との間の差分を示す予測残差を画素単位で算出する減算部と、前記評価部による評価結果に基づいて前記予測残差を並び替える並び替え部と、前記並び替え部による並び替え後の前記予測残差を符号化する符号化部と、を備える。
【０００８】
第２の特徴に係る画像復号装置は、符号化データからブロック単位の対象画像を復号する。前記画像復号装置は、前記対象画像の直交変換処理をスキップする変換スキップモードにおいて、複数の参照画像を用いて動き補償予測を行うことにより、前記対象画像に対応する予測画像を生成する動き補償予測部と、前記複数の参照画像間の類似度を画素単位で評価する評価部と、前記符号化データを復号して、前記対象画像と前記予測画像との間の差分を示す予測残差を画素単位で取得する復号部と、前記評価部による評価結果に基づいて前記予測残差を並び替える並び替え部と、を備える。
【０００９】
第３の特徴に係るプログラムは、コンピュータを第１の特徴に係る画像符号化装置として機能させるためのプログラムである。
【００１０】
第４の特徴に係るプログラムは、コンピュータを第２の特徴に係る画像復号装置として機能させるためのプログラムである。
【００１１】
本発明によれば、複数の参照画像を用いて動き補償予測を行う場合において符号化効率を改善可能な画像符号化装置、画像復号装置、及びプログラムを提供できる。
【図面の簡単な説明】
【００１２】
【図１】実施形態に係る画像符号化装置の構成を示す図である。
【図２】実施形態に係る画像復号装置の構成を示す図である。
【図３】実施形態に係る動き補償予測の一例を示す図である。
【図４】実施形態に係る動き補償予測により生成される予測画像の一例を示す図である。
【図５】実施形態に係る評価部の構成の一例を示す図である。
【図６】実施形態に係るエントロピー符号化部の構成の一例を示す図である。
【図７】実施形態に係る確度インデックスの生成例を示す図である。
【図８】実施形態に係る予測残差の並び替えの一例を示す図である。
【図９】実施形態に係るエントロピー符号復号部の構成の一例を示す図である。
【図１０】実施形態に係る画像符号化装置における処理フローを示す図である。
【図１１】実施形態に係る画像復号装置における処理フローを示す図である。
【図１２】実施形態の変更例１に係る重複動き補償の一例を示す図である。
【図１３】実施形態の変更例３に係る画像符号化装置の構成を示す図である。
【図１４】実施形態の変更例３に係る並び替え部の動作の一例を示す図である。
【図１５】実施形態の変更例３に係る画像復号装置の構成を示す図である。
【図１６】実施形態の変更例４に係る並び替え部の動作の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図１から図１５を参照して、実施形態に係る画像符号化装置及び画像復号装置について説明する。実施形態に係る画像符号化装置及び画像復号装置は、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）に代表される動画の符号化及び復号を行う。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
【００１４】
＜１．画像符号化装置の構成＞
図１は、実施形態に係る画像符号化装置１Ａの構成を示す図である。図１に示すように、画像符号化装置１Ａは、ブロック分割部１００と、減算部１０１と、変換部１０２ａと、量子化部１０２ｂと、エントロピー符号化部１０３Ａと、逆量子化部１０４ａと、逆変換部１０４ｂと、合成部１０５と、イントラ予測部１０６と、ループフィルタ１０７と、フレームメモリ１０８と、動き補償予測部１０９と、切替部１１０と、評価部１１１とを備える。
【００１５】
ブロック分割部１００は、フレーム（或いはピクチャ）単位の入力画像をブロック状の小領域に分割し、画像ブロックを減算部１０１（及び動き補償予測部１０９）に出力する。画像ブロックのサイズは、例えば３２×３２画素、１６×１６画素、８×８画素、又は４×４画素等である。但し、画像ブロックの形状は正方形に限定されるものではなく、長方形の形状であってもよい。画像ブロックは、画像符号化装置１Ａが符号化を行う単位及び画像復号装置２Ａ（図２参照）が復号を行う単位であり、かかる画像ブロックを対象画像ブロックと称する。かかる画像ブロックは、符号化ユニット（ＣＵ：Ｃｏｄｉｎｇ  Ｕｎｉｔ）や符号化ブロック（ＣＢ：Ｃｏｄｉｎｇ  Ｂｌｏｃｋ）と称されてもよい。
【００１６】
減算部１０１は、ブロック分割部１００から入力された対象画像ブロックと対象画像ブロックに対応する予測画像（予測画像ブロック）との間の画素単位での差分を示す予測残差を算出する。具体的には、減算部１０１は、対象画像ブロックの各画素値から予測画像の各画素値を減算することにより予測残差を算出し、算出した予測残差を変換部１０２ａに出力する。なお、予測画像は、後述するイントラ予測部１０６又は動き補償予測部１０９から切替部１１０を介して減算部１０１に入力される。
【００１７】
変換部１０２ａ及び量子化部１０２ｂは、ブロック単位で直交変換処理及び量子化処理を行う変換・量子化部１０２を構成する。
【００１８】
変換部１０２ａは、減算部１０１から入力された予測残差に対して直交変換を行って周波数成分ごとに変換係数を算出し、算出した変換係数を量子化部１０２ｂに出力する。直交変換とは、例えば、離散コサイン変換（ＤＣＴ：Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）や離散サイン変換（ＤＳＴ：Ｄｉｓｃｒｅｔｅ  Ｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）、カルーネンレーブ変換（ＫＬＴ：  Ｋａｒｈｕｎｅｎ？Ｌｏeｖｅ  Ｔｒａｎｓｆｏｒｍ）等をいう。直交変換は画素領域の残差信号を周波数領域に変換する処理である。直交変換は、一般的に直交変換により低域に電力が集中する。
【００１９】
量子化部１０２ｂは、変換部１０２ａから入力された変換係数を量子化パラメータ（Ｑｐ）及び量子化行列を用いて量子化し、量子化された変換係数（量子化変換係数）を生成する。量子化パラメータ（Ｑｐ）は、ブロック内の各変換係数に対して共通して適用されるパラメータであって、量子化の粗さを定めるパラメータである。量子化行列は、各変換係数を量子化する際の量子化値を要素として有する行列である。量子化部１０２ｂは、生成した量子化変換係数をエントロピー符号化部１０３Ａ及び逆量子化部１０４ｂに出力する。
【００２０】
エントロピー符号化部１０３Ａは、量子化部１０２ｂから入力された量子化変換係数に対してエントロピー符号化を行い、データ圧縮を行って符号化データ（ビットストリーム）を生成し、符号化データを画像符号化装置１Ａの外部に出力する。エントロピー符号化には、ハフマン符号やＣＡＢＡＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ；コンテキスト適応型２値算術符号）等を用いることができる。エントロピー符号化は、２次元に配列された変換係数を所定のスキャン順で読み出して１次元の変換係数列に変換するシリアライズという処理を含み、１次元の変換係数列の先頭の変換係数から順に符号化する。一般的に、直交変換により低域に電力が集中し、高域において電力（変換係数の値）がゼロになるため、低域から高域のスキャン順に変換係数を読み出し、最後の有意係数に対して終了フラグを付与することにより、有意係数のみを効率的に符号化している。
【００２１】
なお、エントロピー符号化部１０３Ａには、イントラ予測部１０６及び動き補償予測部１０９から予測に関する情報が入力され、ループフィルタ１０７からフィルタ処理に関する情報が入力される。エントロピー符号化部１０３Ａは、これらの情報のエントロピー符号化も行う。また、エントロピー符号化部１０３Ａは、対象画像ブロックに変換スキップモードが適用される場合、その旨のフラグ（変換スキップフラグ）を符号化データに含める。
【００２２】
逆量子化部１０４ａ及び逆変換部１０４ｂは、ブロック単位で逆量子化処理及び逆直交変換処理を行う逆量子化・逆変換部１０４を構成する。
【００２３】
逆量子化部１０４ａは、量子化部１０２ｂが行う量子化処理に対応する逆量子化処理を行う。具体的には、逆量子化部１０４ａは、量子化部１０２ｂから入力された量子化変換係数を、量子化パラメータ（Ｑｐ）及び量子化行列を用いて逆量子化することにより、変換係数を復元し、復元した変換係数を逆変換部１０４ｂに出力する。
【００２４】
逆変換部１０４ｂは、変換部１０２ａが行う直交変換処理に対応する逆直交変換処理を行う。例えば、変換部１０２ａが離散コサイン変換を行った場合には、逆変換部１０４ｂは逆離散コサイン変換を行う。逆変換部１０４ｂは、逆量子化部１０４ａから入力された変換係数に対して逆直交変換を行って予測残差を復元し、復元した予測残差である復元予測残差を合成部１０５に出力する。
【００２５】
合成部１０５は、逆変換部１０４ｂから入力された復元予測残差を切替部１１０から入力された予測画像と画素単位で合成する。合成部１０５は、復元予測残差の各画素値と予測画像の各画素値を加算して対象画像ブロックを再構成し、再構成した対象画像ブロックである再構成画像をイントラ予測部１０６及びループフィルタ１０７に出力する。
【００２６】
イントラ予測部１０６は、合成部１０５から入力された再構成画像を用いてイントラ予測を行ってイントラ予測画像を生成し、イントラ予測画像を切替部１１０に出力する。また、イントラ予測部１０６は、選択したイントラ予測モードの情報等をエントロピー符号化部１０３Ａに出力する。
【００２７】
ループフィルタ１０７は、合成部１０５から入力された再構成画像に対して、後処理としてのフィルタ処理を行い、フィルタ処理後の再構成画像をフレームメモリ１０８に出力する。また、ループフィルタ１０７は、フィルタ処理に関する情報をエントロピー符号化部１０３Ａに出力する。フィルタ処理には、デブロッキングフィルタ処理とサンプルアダプティブオフセット処理とが含まれる。
【００２８】
フレームメモリ１０８は、ループフィルタ１０７から入力された再構成画像をフレーム単位で記憶する。
【００２９】
動き補償予測部１０９は、フレームメモリ１０８に記憶された１又は複数の再構成画像を参照画像として用いるインター予測を行う。具体的には、動き補償予測部１０９は、ブロックマッチングなどの手法により動きベクトルを算出し、動きベクトルに基づいて動き補償予測画像を生成し、動き補償予測画像を切替部１１０に出力する。また、動き補償予測部１０９は、動きベクトルに関する情報をエントロピー符号化部１０３Ａに出力する。
【００３０】
切替部１１０は、イントラ予測部１０６から入力されたイントラ予測画像と、動き補償予測部１０９から入力された動き補償予測画像とを切替えて、予測画像（イントラ予測画像又は動き補償予測画像）を減算部１０１及び合成部１０５に出力する。
【００３１】
一方、変換スキップモードにおいて、ブロック分割部１００が出力する対象画像ブロックは、減算部１０１において予測残差に変換された後、直交変換されずに量子化される。具体的には、減算部１０１が出力する予測残差は、変換部１０２ａにおける直交変換をスキップして、量子化部１０２ｂに入力される。量子化部１０２ｂは、直交変換をスキップする対象画像ブロック（以下、「変換スキップブロック」という）について予測残差を量子化し、量子化された予測残差をエントロピー符号化部１０３Ａ及び逆量子化部１０４ｂに出力する。
【００３２】
変換スキップブロックについて、エントロピー符号化部１０３Ａは、量子化部１０２ｂから入力された量子化予測残差に対してエントロピー符号化を行い、データ圧縮を行って符号化データ（ビットストリーム）を生成し、符号化データを画像符号化装置１Ａの外部に出力する。この場合、エントロピー符号化は、シリアライズにより、２次元に配列された予測残差値を所定のスキャン順で読み出して１次元の予測残差列に変換する。
【００３３】
変換スキップブロックについて、逆量子化部１０４ａは、量子化部１０２ｂが行う量子化処理に対応する逆量子化処理を行う。変換スキップブロックについて、逆変換部１０４ｂは、逆直交変換処理をスキップする。よって、逆量子化部１０４ａが復元した予測残差は、逆直交変換処理を経ることなく合成部１０５に入力される。
【００３４】
評価部１１１は、変換スキップブロックについて、動き補償予測部１０９が複数の参照画像を用いて動き補償予測を行う場合において、複数の参照画像間の類似度を画素単位で評価し、評価結果の情報をエントロピー符号化部１０３Ａに出力する。エントロピー符号化部１０３Ａは、変換スキップブロックについて、評価部１１１による評価の結果に基づいて、量子化部１０２ｂから入力された予測残差を、参照画像間の類似度の低い画素位置から順に符号化する。評価部１１１及びエントロピー符号化部１０３Ａの詳細については後述する。
【００３５】
＜２．画像復号装置の構成＞
図２は、実施形態に係る画像復号装置２Ａの構成を示す図である。図２に示すように、画像復号装置２Ａは、エントロピー符号復号部２００Ａと、逆量子化部２０１ａと、逆変換部２０１ｂと、合成部２０２と、イントラ予測部２０３と、ループフィルタ２０４と、フレームメモリ２０５と、動き補償予測部２０６と、切替部２０７と、評価部２０８とを備える。
【００３６】
エントロピー符号復号部２００Ａは、符号化装置１により生成された符号化データを復号し、量子化変換係数を逆量子化部２０１ａに出力する。また、エントロピー符号復号部２００Ａは、符号化データを復号し、予測（イントラ予測及び動き補償予測）に関する情報とフィルタ処理に関する情報とを取得する。エントロピー符号復号部２００Ａは、予測に関する情報をイントラ予測部２０３及び動き補償予測部２０６に出力し、フィルタ処理に関する情報をループフィルタ２０４に出力する。
【００３７】
逆量子化部２０１ａ及び逆変換部２０１ｂは、ブロック単位で逆量子化処理及び逆直交変換処理を行う逆量子化・逆変換部２０１を構成する。
【００３８】
逆量子化部２０１ａは、画像符号化装置１Ａの量子化部１０２ｂが行う量子化処理に対応する逆量子化処理を行う。逆量子化部２０１ａは、エントロピー符号復号部２００Ａから入力された量子化変換係数を、量子化パラメータ（Ｑｐ）及び量子化行列を用いて逆量子化することにより、変換係数を復元し、復元した変換係数を逆変換部２０１ｂに出力する。
【００３９】
逆変換部２０１ｂは、画像符号化装置１Ａの変換部１０２ａが行う直交変換処理に対応する逆直交変換処理を行う。逆変換部１０４ｂは、逆量子化部１０４ａから入力された変換係数に対して逆直交変換を行って予測残差を復元し、復元した予測残差である復元予測残差を合成部２０２に出力する。
【００４０】
合成部２０２は、逆変換部２０１ｂから入力された予測残差と、切替部２０７から入力された予測画像とを画素単位で合成することにより、元の対象画像ブロックを再構成し、再構成画像をイントラ予測部２０３及びループフィルタ２０４に出力する。
【００４１】
イントラ予測部２０３は、合成部２０２から入力された再構成画像を参照し、エントロピー符号復号部２００Ａから入力されたイントラ予測情報に従ってイントラ予測を行うことによりイントラ予測画像を生成し、イントラ予測画像を切替部２０７に出力する。
【００４２】
ループフィルタ２０４は、エントロピー符号復号部２００Ａから入力されたフィルタ処理情報に基づいて、合成部２０２から入力された再構成画像に対して、画像符号化装置１Ａのループフィルタ１０７が行うフィルタ処理と同様なフィルタ処理を行い、フィルタ処理後の再構成画像をフレームメモリ２０５に出力する。
【００４３】
フレームメモリ２０５は、ループフィルタ２０４から入力された再構成画像をフレーム単位で記憶する。フレームメモリ２０５は、記憶した再構成画像を画像復号装置２Ａの外部に出力する。
【００４４】
動き補償予測部２０６は、フレームメモリ２０５に記憶された１又は複数の再構成画像を参照画像として用いて、エントロピー符号復号部２００Ａから入力された動きベクトル情報に従って動き補償予測（インター予測）を行うことにより、動き補償予測画像を生成し、動き補償予測画像を切替部２０７に出力する。
【００４５】
切替部２０７は、イントラ予測部２０３から入力されたイントラ予測画像と、動き補償予測部２０６から入力された動き補償予測画像とを切替えて、予測画像（イントラ予測画像又は動き補償予測画像）を合成部２０２に出力する。
【００４６】
一方、変換スキップブロックについて、エントロピー符号復号部２００Ａは、符号化装置１により生成された符号化データを復号し、量子化予測残差を逆量子化部２０１ａに出力する。
【００４７】
変換スキップブロックについて、逆量子化部２０１ａは、画像符号化装置１Ａの量子化部１０２ｂが行う量子化処理に対応する逆量子化処理を行う。変換スキップブロックについて、逆変換部２０１ｂは、逆直交変換処理をスキップする。よって、逆量子化部２０１ａが復元した予測残差は、逆直交変換処理を経ることなく合成部２０２に入力される。
【００４８】
評価部２０８は、画像符号化装置１Ａの評価部１１１と同様な動作を行う。具体的には、評価部２０８は、変換スキップブロックについて、動き補償予測部２０６が複数の参照画像を用いて動き補償予測を行う場合において、複数の参照画像間の類似度を画素単位で評価し、評価結果の情報をエントロピー符号復号部２００Ａに出力する。エントロピー符号復号部２００Ａは、変換スキップブロックについて、符号化データを復号して画素単位で予測残差を取得する。エントロピー符号復号部２００Ａは、評価部２０８による評価の結果に基づいて予測残差を元の並び順に並べ替えて出力する。評価部２０８及びエントロピー符号復号部２００Ａの詳細については後述する。
【００４９】
＜３．動き補償予測＞
図３は、動き補償予測の一例を示す図である。図４は、動き補償予測により生成される予測画像の一例を示す図である。動き補償予測のシンプルな例として、ＨＥＶＣで用いられている双予測、特に前方向と後方向予測（両方向予測）を用いる場合について説明する。
【００５０】
図３に示すように、動き補償予測は、対象フレーム（現フレーム）に対して時間的に前及び後のフレームを参照する。図３の例では、ｔフレーム目の画像中のブロックの動き補償予測を、ｔ−１フレーム目とｔ＋１フレーム目とを参照して行う。動き補償は、ｔ−１及びｔ＋１フレーム目の参照フレーム内から、対象画像ブロックと類似する箇所（ブロック）をシステムで設定された探索範囲の中から検出する。
【００５１】
検出された箇所が参照画像である。対象画像ブロックに対する参照画像の相対位置を示す情報が図中に示す矢印であり、動きベクトルと呼ばれる。動きベクトルの情報は、画像符号化装置１Ａにおいて、参照画像のフレーム情報とともにエントロピー符号化によって符号化される。一方、画像復号装置２Ａは、画像符号化装置１Ａにより生成された動きベクトルの情報に基づいて参照画像を検出する。
【００５２】
図３及び図４に示すように、動き補償によって検出された参照画像１及び２は、対象画像ブロックに対し、参照するフレーム内で位置合わせされた類似する部分画像であるため、対象画像ブロック（符号化対象画像）に類似した画像となる。図４の例では、対象画像ブロックは、星の絵柄と部分的な円の絵柄とを含んでいる。参照画像１は、星の絵柄と全体的な円の絵柄とを含んでいる。参照画像２は、星の絵柄を含むが、円の絵柄を含んでいない。
【００５３】
かかる参照画像１及び２から予測画像を生成する。予測処理は処理負荷の高い処理であるため、参照画像１及び２を平均化することによって予測画像を生成することが一般的である。但し、より高度な処理、例えば、ローパスフィルタやハイパスフィルタ等による信号強調処理を併用して予測画像を生成してもよい。ここで、参照画像１は円の絵柄を含み、参照画像２は円の絵柄を含まないため、参照画像１及び２を平均化して予測画像を生成すると、予測画像における円の絵柄は、参照画像１に比べて信号が半減している。
【００５４】
参照画像１及び２から得られた予測画像と対象画像ブロック（符号化対象画像）との差分が予測残差である。図４に示す予測残差において、星の絵柄のエッジのずれ部分と丸の絵柄のずれた部分（斜線部）とにのみ大きな差分が生じているが、それ以外の部分については、精度よく予測が行えており、差分が生じていない。
【００５５】
差分が生じていない部分（星の絵柄の非エッジ部分及び背景部分）は、参照画像１と参照画像２との間の類似度が高い部分であって、高精度な予測が行われた部分である。一方、大きな差分が生じている部分は、各参照画像に特有な部分、すなわち、参照画像１と参照画像２との間の類似度が著しく低い部分である。よって、参照画像１と参照画像２との間の類似度が著しく低い部分は、予測の精度が低く、大きな差分（予測残差）を生じさせることが分かる。
【００５６】
また、変換スキップモードを適用する場合、対象画像ブロック（変換スキップブロック）に対する直交変換を行わないため、低域に電力が集中することを期待できない。よって、変換スキップモードにおいて、直交変換を行うモードと同じ方法でエントロピー符号化を行うと、効率的なエントロピー符号化を行うことができず、符号化効率が低下する。
【００５７】
実施形態において、評価部１１１は、変換スキップブロックについて、複数の参照画像間の類似度を画素単位で評価し、評価結果の情報をエントロピー符号化部１０３Ａに出力する。エントロピー符号化部１０３Ａは、変換スキップブロックについて、評価部１１１による評価の結果に基づいて、量子化部１０２ｂから入力された予測残差を、参照画像間の類似度の低い画素位置から順に符号化する。
【００５８】
ここで、変換スキップブロックについて、複数の参照画像間の類似度の低い画素位置は、大きな予測残差を有するとみなすことができる。一方、複数の参照画像間の類似度の高い画素位置は、予測残差がゼロになるとみなすことができる。よって、エントロピー符号化部１０３Ａが参照画像間の類似度の低い画素位置から順に予測残差を符号化することにより、有意係数を優先的に符号化し、より早期に終了フラグを付与することができる。したがって、効率的なエントロピー符号化を行うことを可能とし、符号化効率を改善することができる。
【００５９】
＜４．評価部＞
図５は、画像符号化装置１Ａにおける評価部１１１の構成の一例を示す図である。図５に示すように、評価部１１１は、類似度算出部１１１ａと、正規化部１１１ｂとを備える。
【００６０】
類似度算出部１１１ａは、動き補償予測部１０９から入力された参照画像１及び２の類似度を画素単位で（画素位置ごとに）算出し、算出した類似度を正規化部１１１ｂに出力する。類似度としては例えば差分値を用いることができる。差分値が小さいほど類似度が高く、差分値が大きいほど類似度が低いといえる。類似度算出部１１１ａは、各参照画像に対してフィルタ処理を行ったうえで差分値を算出してもよい。類似度算出部１１１ａは、二乗誤差等の統計量を算出し、かかる統計量を類似度として用いてもよい。以下においては、類似度として差分値を用いる一例について説明する。
【００６１】
正規化部１１１ｂは、類似度算出部１１１ａから入力された差分値を、ブロック内で差分値が最大となる差分値（すなわち、ブロック内の差分値の最大値）で正規化して出力する。正規化された差分値は、エントロピー符号化部１０３Ａにおいて符号化順を決定するための重要度として用いられる。差分値が小さいほど類似度が高く、予測精度も高くなるため、符号化における重要度が低い。一方、差分値が大きいほど類似度が低く、予測精度も低くなるため、符号化における重要度が高い。このため、エントロピー符号化部１０３Ａは、重要度が高い画素位置の予測残差を優先的に符号化する。
【００６２】
正規化部１１１ｂは、量子化の粗さを定める量子化パラメータ（Ｑｐ）と、変換係数ごとに異なる量子化値が適用される量子化行列との少なくとも一方に基づいて、正規化部１１１ｂから入力された正規化差分値（重要度）を調整して出力してもよい。
【００６３】
評価部１１１が出力する各周波数成分（ｉｊ）の重要度Ｒｉｊは、例えば下記の式（１）のように表現することができる。
【００６４】
Ｒｉｊ  ＝  （ａｂｓ（Ｘｉｊ−Ｙｉｊ）／ｍａｘＤ  ×  Ｓｃａｌｅ（Ｑｐ））          ・・・（１）
【００６５】
式（１）において、Ｘｉｊは参照画像１の画素位置ｉｊの画素値であり、Ｙｉｊは参照画像２の画素位置ｉｊの画素値であり、ａｂｓは絶対値を得る関数である。類似度算出部１１１ａは、ａｂｓ（Ｘｉｊ−Ｙｉｊ）を出力する。
【００６６】
また、式（１）において、ｍａｘＤは、ブロック内の差分値ａｂｓ（Ｘｉｊ−Ｙｉｊ）の最大値である。ｍａｘＤを求めるためにブロック内のすべての画素位置について差分値を求める必要があるが、この処理を省略するためにすでに符号化処理済みの隣接するブロックの最大値で代用してもよい。或いは、量子化パラメータ（Ｑｐ）や量子化行列の量子化値と、ｍａｘＤとの対応関係を定めるテーブルを用いて、量子化パラメータ（Ｑｐ）や量子化行列の量子化値からｍａｘＤを求めてもよい。或いは、予め仕様で規定された固定値をｍａｘＤとして用いてもよい。正規化部１１１ｂは、ａｂｓ（Ｘｉｊ−Ｙｉｊ）／ｍａｘＤを出力する。
【００６７】
また、式（１）において、Ｓｃａｌｅ（Ｑｐ）は、量子化パラメータ（Ｑｐ）や量子化行列の量子化値に応じて乗じられる係数である。Ｓｃａｌｅ（Ｑｐ）は、Ｑｐや量子化行列の量子化値が大きい場合に１．０に近づき、小さい場合に０に近づくように設計され、その度合いはシステムによって調整するものとする。或いは、予め仕様で規定された固定値をＳｃａｌｅ（Ｑｐ）として用いてもよい。正規化部１１１ｂは、ａｂｓ（Ｘｉｊ−Ｙｉｊ）／ｍａｘＤ×Ｓｃａｌｅ（Ｑｐ）を重要度Ｒｉｊとして出力する。
【００６８】
このようにして算出された重要度Ｒｉｊは、０から１．０までの範囲内の値となる。基本的には、重要度Ｒｉｊは、画素位置ｉｊの差分値が大きい（すなわち、予測精度が低い）場合に１．０に近づき、小さい（すなわち、予測精度が高い）場合に０に近づく。但し、ｍａｘＤやＳｃａｌｅ（Ｑｐ）として固定値等の代用値を用いる場合には、重要度Ｒｉｊが１．０を超える、あるいは０を下回る場合も存在しうるが、その場合は、１．０や０にクリップ処理すればよい。評価部１１１は、ブロック内の各画素位置ｉｊの重要度Ｒｉｊからなるマップ情報をエントロピー符号化部１０３Ａに出力する。
【００６９】
或いは、評価部１１１は、Ｒｉｊを下記の式（２）のように算出してもよい。
【００７０】
Ｒｉｊ  ＝  １  −  （ａｂｓ（Ｘｉｊ−Ｙｉｊ）／ｍａｘＤ  ×  Ｓｃａｌｅ（Ｑｐ））          ・・・（２）
【００７１】
式（２）を用いる場合、Ｒｉｊは、画素位置ｉｊの差分値が大きい（すなわち、予測精度が低い）場合に０に近づき、小さい（すなわち、予測精度が高い）場合に１に近づく。よって、Ｒｉｊは、画素位置ｉｊの予測精度（確度）を表す値とみなすことができる。以下においては、評価部１１１が式（２）を用いてブロック内の各画素位置ｉｊの確度Ｒｉｊからなるマップ情報を出力する一例を説明し、かかるマップ情報を適宜「確度マップ」と称する。
【００７２】
なお、評価部１１１は、変換スキップブロックについて、複数の参照画像を用いる動き補償予測を適用する場合にのみ評価（確度Ｒｉｊの算出）を行い、それ以外のモード、例えば単方向予測やイントラ予測処理においては、評価（確度Ｒｉｊの算出）を行わなくてもよい。
【００７３】
また、画像復号装置２Ａにおける評価部２０８は、画像符号化装置１Ａにおける評価部１１１と同様に構成される。具体的には、画像復号装置２Ａにおける評価部２０８は、類似度算出部２０８ａと、正規化部２０８ｂとを備える。画像復号装置２Ａにおける評価部２０８は、ブロック内の各画素位置ｉｊの確度Ｒｉｊからなる確度マップをエントロピー符号復号部２００Ａに出力する。
【００７４】
＜５．エントロピー符号化部＞
図６は、エントロピー符号化部１０３Ａの構成の一例を示す図である。図７は、確度インデックスの生成例を示す図である。図８は、予測残差の並び替えの一例を示す図である。
【００７５】
図６に示すように、エントロピー符号化部１０３Ａは、ソート部１０３ａと、並び替え部１０３ｂと、符号化部１０３ｃとを備える。
【００７６】
ソート部１０３ａは、評価部１１１から入力された確度マップ中の確度Ｒｉｊを低い順に並べ替える。具体的には、図７（Ａ）に示すように、確度マップにおいて確度Ｒｉｊは２次元に配列されているため、ソート部１０３ａは、例えば確度マップをジグザグスキャン（左上から右下のスキャン順）によりシリアライズして確度列とする。そして、ソート部１０３ａは、図７（Ｂ）に示すように、確度Ｒｉｊが低い順に並び替え、確度Ｒｉｊをインデックスｉとして、インデックスｉと画素位置（Ｘ座標の位置及びＹ座標の位置）とを対応付けた確度インデックス情報を並び替え部１０３ｂに出力する。
【００７７】
なお、図７（Ａ）の例において、画素位置（ｘ，ｙ）＝（２，２）における確度が最も低く、画素位置（ｘ，ｙ）＝（２，３）における確度が２番目に低く、画素位置（ｘ，ｙ）＝（３，２）における確度が３番目に低く、画素位置（ｘ，ｙ）＝（３，３）における確度が４番目に低い。かかる画素位置からなる領域は、予測精度が低く、大きな予測残差を発生させると推定することができる。一方、確度が１である画素位置については、予測精度が高く、予測残差を発生させないと推定することができる。
【００７８】
並び替え部１０３ｂは、変換スキップブロックについて、量子化部１０２ｂから入力された予測残差を、ソート部１０３ａから入力された確度インデックス情報に基づいて並び替える。具体的には、並び替え部１０３ｂは、確度の低い画素位置（すなわち、参照画像間の類似度の低い画素位置）から順に予測残差が符号化されるように、予測残差を画素単位で並び替える。
【００７９】
図８（Ａ）に示す予測残差は２次元に配列されている。並び替え部１０３ｂは、図８（Ｂ）に示すように、ソート部１０３ａから入力された確度インデックス情報に基づいて、確度が低い画素位置の予測残差を左上領域に集中させるように並び替える。ここではスキャン順としてジグザグスキャン（対角スキャン）を想定しており、並び替え部１０３ｂは、左上領域から右下領域の順にスキャンを行い、確度が低い画素位置の予測残差を優先的にシリアライズして、確度が低い（すなわち、参照画像間の類似度が低い）順に予測残差が並ぶ予測残差列を符号化部１０３ｃに出力する。但し、スキャン順はジグザグスキャンに限定されず、水平スキャンや垂直スキャンを用いてもよい。また、並び替え部１０３ｂは、スキャンを行う前に並び替えを行うのではなく、スキャンを行った後に並び替えを行ってもよい。
【００８０】
或いは、並び替え部１０３ｂは、ジグザグスキャンや、水平スキャン、垂直スキャン等の固定的なスキャン順に代えて、確度が低い画素位置から順に予測残差をスキャンするように可変のスキャン順を決定し、決定したスキャン順でスキャンを行うことにより、確度が低い順に予測残差が並ぶ予測残差列を符号化部１０３ｃに出力してもよい。
【００８１】
符号化部１０３ｃは、並び替え部１０３ｂから入力された予測残差列中の予測残差を符号化して符号化データを出力する。符号化部１０３ｃは、並び替え部１０３ｂから入力された予測残差列に含まれる最後の有意係数を判定し、予測残差列の先頭から当該最後の有意係数までに対して符号化を行う。符号化部１０３ｃは、並び替え部１０３ｂから入力された予測残差列の先頭から順に有意係数であるか否かを判定し、最後の有意係数に対して終了フラグを付与し、終了フラグの後の予測残差（すなわち、ゼロ係数）を符号化しないことにより、有意係数を効率的に符号化する。
【００８２】
例えば、符号化部１０３ｃは、図８（Ｃ）に示すように、シリアライズされた予測残差列のうち、最後の有意係数、すなわち、図８（Ｂ）の（Ｘ＝１，Ｙ＝２）の座標位置を、ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ及びｙ（終了フラグ）として符号化する。その後、符号化部１０３ｃは、最後の有意係数の位置（１，２）から、スキャン順の逆順、すなわち、（３，３）から（０，０）に向かう順に、有意係数が存在するか否かをｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇとして符号化する。ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇにおいて、有意係数が存在する座標位置を“１”で示し、有意係数が存在しない座標位置を“０”で示す。さらに、符号化部１０３ｃは、有意係数が１よりも大きいか否かをｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇとして符号化し、有意係数が２よりも大きいか否かをｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇとして符号化する。符号化部１０３ｃは、有意係数のうち２よりも大きいものについては、有意係数の絶対値から３を引いた値をｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇとして符号化するとともに、有意係数の正負を示すフラグをｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇとして符号化する。
【００８３】
かかるエントロピー符号化において、最後の有意係数の位置が右下領域（スキャン順の後ろ）になればなるほど、ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ及びｙの値は大きくなり、かつ、Ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇの量が増大し、エントロピー符号化による発生情報量は増大する。しかしながら、確度の低い画素位置（すなわち、参照画像間の類似度の低い画素位置）から順に予測残差が符号化されるように並び替えを行うことにより、Ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ及びｙの値が小さくなり、かつ、Ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇの量が減少するため、エントロピー符号化による発生情報量を減少させることができる。
【００８４】
なお、エントロピー符号化部１０３Ａは、変換スキップブロックについて、複数の参照画像を用いる動き補償予測を適用する場合にのみ確度による並び替え処理を行う。それ以外のモード、例えば単方向予測やイントラ予測処理においては、エントロピー符号化部１０３Ａは確度による並び替え処理を行わなくてもよい。
【００８５】
＜６．エントロピー符号復号部＞
図９は、エントロピー符号復号部２００Ａの構成の一例を示す図である。図９に示すように、エントロピー符号復号部２００Ａは、復号部２００ａと、ソート部２００ｂと、並び替え部２００ｃとを備える。
【００８６】
復号部２００ａは、画像符号化装置１Ａにより生成された符号化データを復号し、予測残差列（量子化された予測残差）と、予測（イントラ予測及び動き補償予測）に関する情報とを取得し、予測残差列を並び替え部２００ｃに出力し、予測に関する情報をイントラ予測部２０３及び動き補償予測部２０６に出力する。復号部２００ａは、符号化データから取得された変換スキップフラグが変換スキップ適用を示し、予測に関する情報が双予測を示す場合に、確度マップに基づく並び替えを行うと判断してもよい。
【００８７】
ソート部２００ｂは、評価部２０８から入力された確度マップ中の確度Ｒｉｊを低い順に並べ替える。確度マップにおいて確度Ｒｉｊは２次元に配列されているため、ソート部２００ｂは、例えば確度マップをジグザグスキャンによりシリアライズして確度列とする。そして、ソート部２００ｂは、確度Ｒｉｊが低い順に並び替え、確度Ｒｉｊをインデックスｉとして、インデックスｉと画素位置（Ｘ座標の位置及びＹ座標の位置）とを対応付けた確度インデックス情報を並び替え部１０３ｂに出力する。
【００８８】
並び替え部２００ｃは、画像符号化装置１Ａの並び替え部１０３ｂが行う並び替え処理の逆処理を行う。並び替え部２００ｃは、変換スキップブロックについて、復号部２００ａから入力された予測残差列を、ソート部２００ｂから入力されたインデックスｉと座標値（画素位置）とに基づいて並び替えることによりデシリアライズする。並び替え部２００ｃは、２次元に配列された予測残差を逆量子化部２０１ａに出力する。
【００８９】
なお、エントロピー符号復号部２００Ａは、複数の参照画像を用いる動き補償予測を適用する場合にのみ確度による並び替え処理を行う。それ以外のモード、例えば単方向予測やイントラ予測処理においては、エントロピー符号復号部２００Ａは確度による並び替え処理を行わなくてもよい。
【００９０】
＜７．画像符号化の動作＞
図１０は、実施形態に係る画像符号化装置１Ａにおける処理フローを示す図である。画像符号化装置１Ａは、対象画像ブロックに対して変換スキップモードかつ動き補償予測を適用する場合に、本処理フローを実行する。
【００９１】
図１０に示すように、ステップＳ１１０１において、動き補償予測部１０９は、複数の参照画像を用いて動き補償予測を行うことにより対象画像ブロックを予測する。動き補償予測部１０９は、対象画像ブロックに対応する予測画像を生成する。
【００９２】
ステップＳ１１０２において、評価部１１１は、複数の参照画像間の類似度を画素位置ごとに評価し、ブロック内の各画素位置の予測の確度（予測精度）を示す確度マップを生成する。
【００９３】
ステップＳ１１０３において、減算部１０１は、対象画像ブロックと予測画像との間の画素単位での差分を示す予測残差を算出する。
【００９４】
ステップＳ１１０４において、量子化部１０２ｂは、減算部１０１が算出した予測残差に対して量子化を行うことにより、量子化された予測残差を生成する。
【００９５】
ステップＳ１１０５において、エントロピー符号化部１０３Ａの並び替え部１０３ｂは、評価部１１１による評価の結果（確度マップ）に基づいて、量子化部１０２ｂから入力された予測残差を確度の低い順（すなわち、予測残差間の類似度の低い順）に並び替える。
【００９６】
ステップＳ１１０６において、エントロピー符号化部１０３Ａの符号化部１０３ｃは、確度の低い順に並び替えた予測残差をエントロピー符号化により符号化して符号化データを出力する。
【００９７】
ステップＳ１１０７において、逆量子化部１０４ｂは、量子化部１０２ｂから入力された予測残差に対して逆量子化を行うことにより予測残差を復元し、復元予測残差を生成する。
【００９８】
ステップＳ１１０８において、合成部１０５は、復元予測残差を画素単位で予測画像と合成することにより対象画像ブロックを再構成し、再構成画像を生成する。
【００９９】
ステップＳ１１０９において、ループフィルタ１０７は、再構成画像に対してフィルタ処理を行う。
【０１００】
ステップＳ１１１０において、フレームメモリ１０８は、フィルタ処理後の再構成画像をフレーム単位で記憶する。
【０１０１】
＜８．画像復号の動作＞
図１１は、実施形態に係る画像復号装置２Ａにおける処理フローを示す図である。画像復号装置２Ａは、対象画像ブロックに対して変換スキップモードかつ動き補償予測を適用する場合に、本処理フローを実行する。
【０１０２】
図１１に示すように、ステップＳ１２０１において、エントロピー符号復号部２００Ａの復号部２００ａは、符号化データを復号して動きベクトル情報を取得し、取得した動きベクトル情報を動き補償予測部２０６に出力する。
【０１０３】
ステップＳ１２０２において、動き補償予測部２０６は、動きベクトル情報に基づく複数の参照画像を用いて動き補償予測を行うことにより対象画像ブロックを予測し、対象画像ブロックに対応する予測画像を生成する。
【０１０４】
ステップＳ１２０３において、評価部２０８は、複数の参照画像間の類似度を画素位置ごとに算出し、ブロック内の各画素位置の予測の確度（予測精度）を示す確度マップを生成する。
【０１０５】
ステップＳ１２０４において、エントロピー符号復号部２００Ａの復号部２００ａは、符号化データを復号して予測残差列を取得する。エントロピー符号復号部２００Ａの並び替え部２００ｃは、予測残差列を並び替えて、２次元に配列された予測残差を逆量子化部２０１ａに出力する。
【０１０６】
ステップＳ１２０５において、逆量子化部２０１ａは、予測残差（量子化された予測残差）に対して逆量子化を行うことにより予測残差を復元し、復元予測残差を生成する。
【０１０７】
ステップＳ１２０６において、合成部２０２は、復元予測残差を画素単位で予測画像と合成することにより対象画像ブロックを再構成し、再構成画像を生成する。
【０１０８】
ステップＳ１２０７において、ループフィルタ２０４は、再構成画像に対してフィルタ処理を行う。
【０１０９】
ステップＳ１２０８において、フレームメモリ２０５は、フィルタ処理後の再構成画像をフレーム単位で記憶して出力する。
【０１１０】
＜９．実施形態のまとめ＞
画像符号化装置１Ａにおいて、評価部１１１は、複数の参照画像間の類似度を画素単位で評価し、評価結果の情報をエントロピー符号化部１０３Ａに出力する。エントロピー符号化部１０３Ａは、評価部１１１による評価の結果に基づいて、量子化部１０２ｂから入力された予測残差を、参照画像間の類似度の低い画素位置から順に符号化する。参照画像間の類似度の低い画素位置から順に予測残差を符号化することにより、有意係数を優先的に符号化し、より早期に終了フラグを付与することができる。よって、変換スキップブロックに対して効率的なエントロピー符号化を行うことを可能とし、符号化効率を改善することができる。
【０１１１】
画像復号装置２Ａにおいて、評価部２０８は、複数の参照画像間の類似度を画素単位で評価し、評価結果の情報をエントロピー符号復号部２００Ａに出力する。エントロピー符号復号部２００Ａは、符号化データを復号して画素単位で予測残差を取得し、評価部２０８による評価の結果に基づいて予測残差を並べ替えて出力する。このように、評価部２０８による評価の結果に基づいて予測残差を並べ替えることにより、並び替えの詳細を指定する情報が画像符号化装置から伝送されなくても、エントロピー符号復号部２００Ａが自律的に予測残差を並べ替えることができる。よって、並び替えの詳細を指定する情報を画像復号装置１から伝送する必要がないため、符号化効率の低下を回避することができる。
【０１１２】
＜１０．変更例１＞
画像符号化装置１Ａの評価部１１１及び画像復号装置２Ａの評価部２０８は、以下に示す方法で誤差マップを生成し、並べ替え部１１２に入力してもよい。誤差マップを並び換え部１１２に入力する場合には、誤差マップの値が大きい領域を類似度が低い領域とし、誤差マップの値が小さい領域を類似度が高い領域として、並べ替え部１１２は予測残差の並び換え処理を行う。
【０１１３】
双予測モードの予測画像の生成に用いる２つの参照画像（参照先ブロック）の輝度信号をＬ０［ｉ，ｊ］及びＬ１［ｉ，ｊ］（但し、［ｉ，ｊ］は対象画像ブロック内の座標）とすると、下記の式（３）により誤差マップｍａｐ［ｉ，ｊ］及びその最大値ｍａｘ＿ｍａｐを算出する。
【０１１４】
ｍａｐ  ［ｉ，ｊ］  ＝  ａｂｓ  （Ｌ０  ［ｉ，ｊ］  −  Ｌ１  ［ｉ，ｊ］）
ｍａｘ＿ｍａｐ  ＝  ｍａｘ  （ｍａｐ  ［ｉ，ｊ］）          
・・・（３）
【０１１５】
式（３）のｍａｘ＿ｍａｐが６ビット精度を超える（６４を超える）場合には、下記の式（４）により、ｍａｘ＿ｍａｐが６ビット精度に収まるように設定したｓｈｉｆｔにより誤差マップ及び最大値を更新する。
【０１１６】
ｍａｘ＿ｍａｐ  ＝  ｍａｘ＿ｍａｐ  ＞＞  ｓｈｉｆｔ
ｍａｐ  ［ｉ，ｊ］  ＝  ｍａｐ  ［ｉ，ｊ］  ＞＞  ｓｈｉｆｔ          ・・・（４）
【０１１７】
＜１１．変更例２＞
画像符号化装置１Ａの動き補償予測部１０９及び画像復号装置２Ａの動き補償予測部２０８は、対象画像ブロック（ＣＵ）を複数の小ブロックに分割し、小ブロックごとに異なる動きベクトルを適用可能とし、小ブロックごとに片方向予測、双予測を切り替え可能であってもよい。かかる場合、片方向予測及び双方向予測の両方を用いて予測画像を生成するＣＵに対しては、画像符号化装置１Ａの評価部１１１及び画像復号装置２Ａの評価部２０８が確度マップを算出しないものとしてもよい。一方、全ての小ブロックについて双予測により予測画像を生成している場合には、画像符号化装置１Ａの評価部１１１及び画像復号装置２Ａの評価部２０８は、確度マップを生成する。
【０１１８】
また、画像符号化装置１Ａの動き補償予測部１０９及び画像復号装置２Ａの動き補償予測部２０８は、動きベクトルの異なるブロック境界における予測画像の不連続性低減のために、重複動き補償（ＯＢＭＣ：Ｏｏｖｅｒｌａｐｐｅｄ  Ｂｌｏｃｋ  Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ）を行ってもよい。画像符号化装置１Ａの評価部１１１及び画像復号装置２Ａの評価部２０８は、確度マップ生成の際に、ＯＢＭＣによる参照画素の補正を考慮してもよい。
【０１１９】
例えば、ＯＢＭＣの補正に用いる周囲のブロックの予測モードが双予測である場合には、画像符号化装置１Ａの評価部１１１及び画像復号装置２Ａの評価部２０８は、ＯＢＭＣの補正が影響する予測画像の領域について、周辺ブロックの双予測の予測画像生成に用いる参照画像（Ｌ０及びＬ１）の動きベクトルを用いて確度マップを補正する。具体的には、ブロック境界領域について、隣り合うブロックの動きベクトルが双予測である場合には、隣り合うブロックの確度マップとの位置に応じた加重平均をする。隣り合うブロックがイントラモードの場合や、片方向予測の場合には、確度マップの補正は行わない。図１２のケースでは、上側のブロック境界についてはＬ０aとＬ１aを用いて確度マップを生成し、その下側の領域について（当該ＣＵと重なり合う領域について）当該ＣＵの確度マップとの加重平均をする。下側や右側、左側ＣＵの予測モードが片方向予測であるので、それらのＣＵと重なり合う領域については確度マップの補正は行わない。
【０１２０】
＜１２．変更例３＞
上述した実施形態において、予測残差を画素単位で並び替える一例を説明したが、予測残差を画素グループ（小ブロック）単位で並び替えてもよい。かかる小ブロックは、４×４の画素からなるブロックであり、ＣＧと称されることがある。
【０１２１】
図１３は、実施形態の変更例３に係る画像符号化装置１Ｂの構成を示す図である。図１３に示すように、画像符号化装置１Ｂは、予測残差を画素グループ（小ブロック）単位で並び替える並び替え部１１２を備える。並び替え部１１２は、対象画像ブロック（ＣＵ）が双予測を用いて予測画像を生成するものであって、当該ＣＵが変換スキップモードを適用するものである場合には、上述した誤差マップに基いて、当該ＣＵの予測残差に対して小ブロック単位（４×４）での並び換えを行う。
【０１２２】
図１４は、実施形態の変更例３に係る並び替え部１１２の動作の一例を示す図である。
【０１２３】
図１４（Ａ）に示すように、画像符号化装置１Ｂの減算部１０１は、ＣＵに対応する予測残差を算出する。図１４（Ａ）の例では、ＣＵ内の右上領域に予測残差が存在する。ＣＵ内の右上領域は、参照画像間の類似度が低い領域であって、予測精度（確度）が低い領域であるとみなすことができる。
【０１２４】
図１４（Ｂ）に示すように、画像符号化装置１Ｂの評価部１１１又は並び替え部１１２は、誤差マップを４×４のＣＧ単位に分割し、ＣＧ単位での誤差の平均値ＣＧｍａｐを下記の式（５）により算出する。
【０１２５】
【数１】
0006880310.tif 000002
・・・（５）
【０１２６】
そして、並び替え部１１２は、誤差の平均値ＣＧｍａｐが高い順にＣＧを並び替えてインデックスを付与する。言い換えると、並び替え部１１２は、参照画像間の類似度が低い順にＣＧを並び替えてインデックスを付与する。図１４（Ｂ）の例において、各ＣＧ内の数字は並び替え後のインデックスを示す。右上領域のＣＧの平均値ＣＧｍａｐが大きいため、スキャン（符号化）の優先順位が高く設定されている。次に、並び替え部１１２は、図１４（Ｃ）に示すように、インデックスが小さい順にスキャン（符号化）されるようにＣＧを並べ替える。その結果、並び替え部１１２は、図１４（Ｄ）に示すように、ＣＧ単位で並び替えた予測残差を量子化部１０２ｂに出力する。
【０１２７】
量子化部１０２ｂは、並び替え部１１２から入力された予測残差に対して量子化を行って、量子化した予測残差をエントロピー符号化部１０３Ｂに出力する。エントロピー符号化部１０３Ｂは、誤差の平均値ＣＧｍａｐが高い順にＣＧを符号化して符号化データを生成する。
【０１２８】
なお、並び替え部１１２は、逆量子化部１０４ａが出力する復元予測残差に対して、元のＣＧの並び順に戻すようにＣＧ単位で並び替えを行い、ＣＧ単位で並び替えた復元予測残差を合成部１０５に出力する。
【０１２９】
図１５は、実施形態の変更例３に係る画像復号装置２Ｂの構成を示す図である。図１５に示すように、画像復号装置２Ｂは、逆量子化部２０１ａが出力する復元予測残差をＣＧ単位で並び替える並び替え部２０９を備える。
【０１３０】
並び替え部２０９は、対象画像ブロック（ＣＵ）が双予測を用いて予測画像を生成するものであって、当該ＣＵが変換スキップモードを適用するものである場合には、上述した誤差マップに基いて、当該ＣＵの予測残差に対してＣＧ単位での並び換えを行う。
【０１３１】
具体的には、画像復号装置２Ｂの評価部２０８又は並び替え部２０９は、誤差マップを４×４のＣＧ単位に分割し、ＣＧ単位での誤差の平均値ＣＧｍａｐを上記の式（５）により算出する。そして、並び替え部２０９は、ＣＧ単位での誤差の平均値ＣＧｍａｐに基づいて、画像復号装置２Ａの並び替え部１１２が行う並び替え処理の逆処理を行い、並び替え後の予測残差を合成部２０２に出力する。
【０１３２】
＜１３．変更例４＞
上述した実施形態において、予測残差を画素単位もしくは小ブロック単位で並び替える例を説明したが、予測残差を水平もしくは垂直もしくは水平垂直に反転させるよう並び換えてもよい。
【０１３３】
図１６に示すように、画像符号化装置１Ｂの減算部１０１は、対象画像ブロックに対応する予測残差を算出する。図１６の例では対象画像ブロックの右上領域に予測残差が存在する。また、対象画像ブロックの右上領域は、参照画素間の類似度が低い領域であって、予測精度（確度）が低い領域であるとみなすことができる。
【０１３４】
実施形態の変更例４の並び換え部１１２は、誤差マップの重心を下記の式（６）により算出する。
【０１３５】
【数２】
0006880310.tif 000003
【０１３６】
並び換え部１１２は、算出した誤差マップの重心（ｇi，ｇj）がマップの右上領域に位置する場合、すなわち、左上座標を（０，０）、右下座標を（ｍ，ｎ）とすると、
【０１３７】
【数３】
0006880310.tif 000004
かつ
【０１３８】
【数４】
0006880310.tif 000005
である場合には、予測残差を水平反転する。
【０１３９】
並び換え部１１２は、誤差マップの重心が左下領域に位置する場合、すなわち、
【０１４０】
【数５】
0006880310.tif 000006
かつ
【０１４１】
【数６】
0006880310.tif 000007
である場合には、予測残差を垂直反転する。
【０１４２】
並び換え部１１２は、誤差マップの重心が右下領域に位置する場合、すなわち、
【０１４３】
【数７】
0006880310.tif 000008
かつ
【０１４４】
【数８】
0006880310.tif 000009
である場合には、予測残差を水平および垂直に反転する。
【０１４５】
なお、誤差マップの重心が右下領域である場合には、並び換え部１１２は、予測残差を水平および垂直に反転するかわりに、予測残差を１８０度回転させるよう構成してもよいし、係数符号化の際のスキャン順を左上から右下に行うかわりに、右下から左上に向かうように変更するよう構成してもよい。
【０１４６】
また、処理の低減のため、誤差マップの重心を算出せずに、誤差マップの最大値の位置を探索し、最大値の位置を前記重心の位置とみなして、上述の反転処理を行うよう施してもよい。
【０１４７】
実施形態の変更例４の並べ替え部１１２による予測残差の反転処理が施された予測残差は量子化部１０２ｂに出力する。
【０１４８】
量子化部１０２ｂは、並び替え部１１２から入力された予測残差に対して量子化を行って、量子化した予測残差をエントロピー符号化部１０３Ｂに出力する。エントロピー符号化部１０３Ｂは、予測残差の左上領域から右下領域の順に符号化して符号化データを生成する。
【０１４９】
なお、並び替え部１１２は、逆量子化部１０４ａが出力する復元予測残差に対して、誤差マップの重心の位置に基いて予測残差の反転処理を行い、並び替えた復元予測残差を合成部１０５に出力する。
【０１５０】
＜１４．その他の実施形態＞
上述した実施形態において、エントロピー符号化部１０３Ａが、２次元に配列された予測残差の全てを確度の低い順に読み出してシリアライズ処理を行う一例について説明した。しかしながら、２次元に配列された予測残差のうち確度が低い順に上位数個のみを読み出し、それ以外の予測残差についてはシステムで定められた固定の順序で読み出すとしてもよい。或いは、２次元に配列された予測残差について、確度に応じて読み出し順を所定の数だけ繰り上げる又は繰り下げるとしてもよい。
【０１５１】
上述した実施形態において、動き補償予測としてインター予測を主として説明した。インター予測においては、現フレームと異なるフレーム内の参照画像が現フレームの対象画像ブロックの予測に用いられる。しかしながら、動き補償予測としてイントラプロックコピーと呼ばれる技術も適用することが可能である。イントラプロックコピーにおいては、現フレームと同じフレーム内の参照画像が現フレームの対象画像ブロックの予測に用いられる。
【０１５２】
画像符号化装置１Ａ、１Ｂが行う各処理をコンピュータに実行させるプログラム及び画像復号装置２Ａ、２Ｂが行う各処理をコンピュータに実行させるプログラムが提供されてもよい。また、プログラムは、コンピュータ読取り可能媒体に記録されていてもよい。コンピュータ読取り可能媒体を用いれば、コンピュータにプログラムをインストールすることが可能である。ここで、プログラムが記録されたコンピュータ読取り可能媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体であってもよい。また、画像符号化装置１Ａ、１Ｂが行う各処理を実行する回路を集積化し、画像符号化装置１Ａ、１Ｂを半導体集積回路（チップセット、ＳｏＣ）として構成してもよい。同様に、画像復号装置２Ａ、２Ｂが行う各処理を実行する回路を集積化し、画像復号装置２Ａ、２Ｂを半導体集積回路（チップセット、ＳｏＣ）として構成してもよい。
【０１５３】
以上、図面を参照して実施形態について詳しく説明したが、具体的な構成は上述のものに限られることはなく、要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【０１５４】
なお、日本国特許出願第２０１８−６５８８０号（２０１８年３月２９日出願）の全内容が、参照により、本願明細書に組み込まれている。
【図１】
0006880310.tif 000010
【図２】
0006880310.tif 000011
【図３】
0006880310.tif 000012
【図４】
0006880310.tif 000013
【図５】
0006880310.tif 000014
【図６】
0006880310.tif 000015
【図７】
0006880310.tif 000016
【図８】
0006880310.tif 000017
【図９】
0006880310.tif 000018
【図１０】
0006880310.tif 000019
【図１１】
0006880310.tif 000020
【図１２】
0006880310.tif 000021
【図１３】
0006880310.tif 000022
【図１４】
0006880310.tif 000023
【図１５】
0006880310.tif 000024
【図１６】
0006880310.tif 000025