(57)【要約】【課題】ソフトウェア実装時及びハードウェア実装時の両方において、処理時間を短縮すること。【解決手段】画像復号装置２００は、符号化データから動きベクトルを復号するように構成されている動きベクトル復号部２４１Ｂと、復号された動きベクトルを修正する洗練化処理を行うように構成されている洗練化部２４１Ｃと、洗練化部２４１Ｃから出力される修正された動きベクトルに基づいて予測信号を生成するように構成されている予測信号生成部２４１Ｄとを有し、予測信号生成部２４１Ｄは、洗練化処理の過程で算出される情報に基づいてブロック毎にＢＤＯＦ処理を行うるか否かについて判定するように構成されている。【選択図】図９
2020150313.tif 000002
【特許請求の範囲】
【請求項１】
画像復号装置であって、
符号化データから動きベクトルを復号するように構成されている動きベクトル復号部と、
復号された前記動きベクトルを修正する洗練化処理を行うように構成されている洗練化部と、
前記洗練化部から出力される修正された前記動きベクトルに基づいて予測信号を生成するように構成されている予測信号生成部とを有し、
前記予測信号生成部は、前記洗練化処理の過程で算出される情報に基づいて、ブロック毎にＢＤＯＦ処理を行うるか否かについて判定するように構成されていることを特徴とする画像復号装置。
【請求項２】
前記予測信号生成部は、前記ブロックの各々において、前記洗練化処理の前後の前記動きベクトルの差分が予め定めた閾値以下の場合に前記ＢＤＯＦ処理を行わないと判定するように構成されていることを特徴とする請求項１に記載の画像復号装置。
【請求項３】
前記予測信号生成部は、前記ブロックの各々において、前記洗練化処理における探索コストが予め定めた閾値以下の場合に前記ＢＤＯＦ処理を行わないと判定するように構成されていることを特徴とする請求項１又は２に記載の画像復号装置。
【請求項４】
前記予測信号生成部は、前記ブロックの各々において、前記洗練化処理の前後の前記動きベクトルの差分が０で且つ前記洗練化処理前及び前記洗練化処理後の動きベクトルが指し示す参照ブロックにおける探索コストが予め定めた閾値以下の場合に前記ＢＤＯＦ処理を行わないと判定するように構成されていることを特徴とする請求項３に記載の画像復号装置。
【請求項５】
画像復号装置であって、
符号化データから動きベクトルを復号するように構成されている動きベクトル復号部と、
復号された前記動きベクトルを修正する洗練化処理を行うように構成されている洗練化部と、
前記洗練化部から出力される修正された前記動きベクトルに基づいて予測信号を生成するように構成されている予測信号生成部とを有し、
前記予測信号生成部は、適用条件を満たす場合に、ＢＤＯＦ処理を行うように構成されており、
前記適用条件は、前記動きベクトルが、Ｓｙｍｍｅｔｒｉｃ  ＭＶＤモードで符号化されており、前記Ｓｙｍｍｅｔｒｉｃ  ＭＶＤモードにおいて伝送される差分動きベクトルの大きさが予め設定された閾値以内であるという条件であることを特徴とする画像復号装置。
【請求項６】
符号化データから動きベクトルを復号する工程Ａと、
復号された前記動きベクトルを修正する洗練化処理を行う工程Ｂと、
前記洗練化部から出力される修正された前記動きベクトルに基づいて予測信号を生成する工程Ｃとを有し、
前記工程Ｃにおいて、前記洗練化処理の過程で算出される情報に基づいて、ブロック毎にＢＤＯＦ処理を行うるか否かについて判定することを特徴とする画像復号方法。
【請求項７】
画像復号装置で用いるプログラムであって、コンピュータに、
符号化データから動きベクトルを復号する工程Ａと、
復号された前記動きベクトルを修正する洗練化処理を行う工程Ｂと、
前記洗練化部から出力される修正された前記動きベクトルに基づいて予測信号を生成する工程Ｃとを実行させ、
前記工程Ｃにおいて、前記洗練化処理の過程で算出される情報に基づいて、ブロック毎にＢＤＯＦ処理を行うるか否かについて判定することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像復号装置、画像復号方法及びプログラムに関する。
【背景技術】
【０００２】
従来、ＢＯＤＦ（Ｂｉ-Ｄｉｒｅｃｔｉｏｎａｌ  Ｏｐｔｉｃａｌ  Ｆｌｏｗ）という技術に関して、ソフトウェアの実行時間を短縮するために、ＢＤＯＦ処理に用いる２つの参照画像間の画素値の絶対値差分和を算出し、かかる絶対値差分和が所定の閾値より小さかった場合に、当該ブロックにおけるＢＤＯＦ処理をスキップする技術が開示されている（例えば、非特許文献１参照）。
【０００３】
一方、ハードウェア実装時の処理遅延を削減するという観点で、上述の絶対値差分和の算出によるＢＤＯＦのスキップ処理を削除する技術も開示されている（例えば、非特許文献２参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｖｅｒｓａｔｉｌｅ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  （Ｄｒａｆｔ  ４）、ＪＶＥＴ-Ｍ１００１
【非特許文献２】ＣＥ９-ｒｅｌａｔｅｄ：  ＢＤＯＦ  ｂｕｆｆｅｒ  ｒｅｄｕｃｔｉｏｎ  ａｎｄ  ｅｎａｂｌｉｎｇ  ＶＰＤＵ  ｂａｓｅｄ  ａｐｐｌｉｃａｔｉｏｎ、ＪＶＥＴ-Ｍ０８９０
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、例えば、非特許文献１に開示されている技術では、ソフトウェアで、かかる技術を実装した場合の実行時間を短縮することができるが、ハードウェアで実装した場合の実行時間は増加してしまうという問題点があった。
【０００６】
一方、非特許文献２に開示の技術では、ハードウェアでの実行時間を短縮することができるが、ソフトウェアでの実行時間は増加してしまうという問題点があった。
【０００７】
したがって、上述のような従来技術では、ソフトウェア実装時及びハードウェア実装時の両方において、処理時間を短縮することができないという問題点があった。
【０００８】
そこで、本発明は、上述の課題に鑑みてなされたものであり、ＢＤＯＦ処理に先立って行われる洗練化処理の過程で算出される情報を用いて、ＢＤＯＦ処理の適否を制御することで、ハードウェア実装の観点では既に算出済みの値を流用することで処理量を削減し、ソフトウェア実装の観点ではＢＤＯＦ処理の適用ブロック数を削減することで処理時間を短縮することができる画像復号装置、画像復号方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の特徴は、画像復号装置であって、符号化データから動きベクトルを復号するように構成されている動きベクトル復号部と、復号された前記動きベクトルを修正する洗練化処理を行うように構成されている洗練化部と、前記洗練化部から出力される修正された前記動きベクトルに基づいて予測信号を生成するように構成されている予測信号生成部とを有し、前記予測信号生成部は、前記洗練化処理の過程で算出される情報に基づいて、ブロック毎にＢＤＯＦ処理を行うるか否かについて判定するように構成されていることを要旨とする。
【００１０】
本発明の第２の特徴は、画像復号装置であって、符号化データから動きベクトルを復号するように構成されている動きベクトル復号部と、復号された前記動きベクトルを修正する洗練化処理を行うように構成されている洗練化部と、前記洗練化部から出力される修正された前記動きベクトルに基づいて予測信号を生成するように構成されている予測信号生成部とを有し、前記予測信号生成部は、適用条件を満たす場合に、ＢＤＯＦ処理を行うように構成されており、前記適用条件は、前記動きベクトルが、Ｓｙｍｍｅｔｒｉｃ  ＭＶＤモードで符号化されており、前記Ｓｙｍｍｅｔｒｉｃ  ＭＶＤモードにおいて伝送される差分動きベクトルの大きさが予め設定された閾値以内であるという条件であることを要旨とする。
【００１１】
本発明の第３の特徴は、符号化データから動きベクトルを復号する工程Ａと、復号された前記動きベクトルを修正する洗練化処理を行う工程Ｂと、前記洗練化部から出力される修正された前記動きベクトルに基づいて予測信号を生成する工程Ｃとを有し、前記工程Ｃにおいて、前記洗練化処理の過程で算出される情報に基づいて、ブロック毎にＢＤＯＦ処理を行うるか否かについて判定することを要旨とする。
【００１２】
本発明の第４の特徴は、画像復号装置で用いるプログラムであって、コンピュータに、符号化データから動きベクトルを復号する工程Ａと、復号された前記動きベクトルを修正する洗練化処理を行う工程Ｂと、前記洗練化部から出力される修正された前記動きベクトルに基づいて予測信号を生成する工程Ｃとを実行させ、前記工程Ｃにおいて、前記洗練化処理の過程で算出される情報に基づいて、ブロック毎にＢＤＯＦ処理を行うるか否かについて判定することを要旨とする。
【発明の効果】
【００１３】
本発明によれば、ハードウェア実装時及びソフトウェア実装時のいずれにおいても、ＢＤＯＦ処理に関する処理量を削減することができる画像復号装置、画像復号方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】一実施形態に係る画像処理システム１０の構成の一例を示す図である。
【図２】一実施形態に係る画像符号化装置１００の機能ブロックの一例を示す図である。
【図３】一実施形態に係る画像符号化装置１００のインター予測部１１１の機能ブロックの一例を示す図である。
【図４】一実施形態に係る動画像復号装置３０のインター予測部１１１の洗練化部１１１Ｃの処理手順の一例を示すフローチャートである。
【図５】一実施形態に係る動画像復号装置３０のインター予測部１１１の予測信号生成部１１１Ｄの処理手順の一例を示すフローチャートである。
【図６】一実施形態に係る画像符号化装置１００のインループフィルタ処理部１５０の機能ブロックの一例を示す図である。
【図７】一実施形態に係る画像符号化装置１００のインループフィルタ処理部１５０の境界強度判定部１５３による判定の一例を説明するための図である。
【図８】一実施形態に係る画像復号装置２００の機能ブロックの一例を示す図である。
【図９】一実施形態に係る画像復号装置２００のインター予測部２４１の機能ブロックの一例を示す図である。
【図１０】一実施形態に係る画像復号装置２００のインループフィルタ処理部２５０の機能ブロックの一例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【００１６】
（第１実施形態）
以下、図１〜図１０を参照して、本発明の第１実施形態に係る画像処理システム１０について説明する。図１は、本実施形態に係る実施形態に係る画像処理システム１０を示す図である。
【００１７】
図１に示すように、画像処理システム１０は、画像符号化装置１００及び画像復号装置２００を有する。
【００１８】
画像符号化装置１００は、入力画像信号を符号化することによって符号化データを生成するように構成されている。画像復号装置２００は、符号化データを復号することによって出力画像信号を生成するように構成されている。
【００１９】
ここで、かかる符号化データは、画像符号化装置１００から画像復号装置２００に対して伝送路を介して送信されてもよい。また、符号化データは、記憶媒体に格納された上で、画像符号化装置１００から画像復号装置２００に提供されてもよい。
【００２０】
（画像符号化装置１００）
以下、図２を参照して、本実施形態に係る画像符号化装置１００について説明する。図２は、本実施形態に係る画像符号化装置１００の機能ブロックの一例について示す図である。
【００２１】
図２に示すように、画像符号化装置１００は、インター予測部１１１と、イントラ予測部１１２と、減算器１２１と、加算器１２２と、変換・量子化部１３１と、逆変換・逆量子化部１３２と、符号化部１４０と、インループフィルタ処理部１５０と、フレームバッファ１６０とを有する。
【００２２】
インター予測部１１１は、インター予測（フレーム間予測）によって予測信号を生成するように構成されている。
【００２３】
具体的には、インター予測部１１１は、符号化対象のフレーム（以下、対象フレーム）とフレームバッファ１６０に格納される参照フレームとの比較によって、参照フレームに含まれる参照ブロックを特定し、特定された参照ブロックに対する動きベクトルを決定するように構成されている。
【００２４】
また、インター予測部１１１は、参照ブロック及び動きベクトルに基づいて予測ブロックに含まれる予測信号を予測ブロック毎に生成するように構成されている。インター予測部１１１は、予測信号を減算器１２１及び加算器１２２に出力するように構成されている。ここで、参照フレームは、対象フレームとは異なるフレームである。
【００２５】
イントラ予測部１１２は、イントラ予測（フレーム内予測）によって予測信号を生成するように構成されている。
【００２６】
具体的には、イントラ予測部１１２は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいて予測信号を予測ブロック毎に生成するように構成されている。また、イントラ予測部１１２は、予測信号を減算器１２１及び加算器１２２に出力するように構成されている。
【００２７】
ここで、参照ブロックは、予測対象のブロック（以下、対象ブロック）について参照されるブロックである。例えば、参照ブロックは、対象ブロックに隣接するブロックである。
【００２８】
減算器１２１は、入力画像信号から予測信号を減算し、予測残差信号を変換・量子化部１３１に出力するように構成されている。ここで、減算器１２１は、イントラ予測又はインター予測によって生成される予測信号と入力画像信号との差分である予測残差信号を生成するように構成されている。
【００２９】
加算器１２２は、逆変換・逆量子化部１３２から出力される予測残差信号に予測信号を加算してフィルタ処理前復号信号を生成し、かかるフィルタ処理前復号信号をイントラ予測部１１２及びインループフィルタ処理部１５０に出力するように構成されている。
【００３０】
ここで、フィルタ処理前復号信号は、イントラ予測部１１２で用いる参照ブロックを構成する。
【００３１】
変換・量子化部１３１は、予測残差信号の変換処理を行うとともに、係数レベル値を取得するように構成されている。さらに、変換・量子化部１３１は、係数レベル値の量子化を行うように構成されていてもよい。
【００３２】
ここで、変換処理は、予測残差信号を周波数成分信号に変換する処理である。かかる変換処理では、離散コサイン変換（ＤＣＴ；Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）に対応する基底パターン（変換行列）が用いられてもよく、離散サイン変換（ＤＳＴ；Ｄｉｓｃｒｅｔｅ  Ｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）に対応する基底パターン（変換行列）が用いられてもよい。
【００３３】
逆変換・逆量子化部１３２は、変換・量子化部１３１から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部１３２は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。
【００３４】
ここで、逆変換処理及び逆量子化は、変換・量子化部１３１で行われる変換処理及び量子化とは逆の手順で行われる。
【００３５】
符号化部１４０は、変換・量子化部１３１から出力された係数レベル値を符号化し、符号化データを出力するように構成されている。
【００３６】
ここで、例えば、符号化は、係数レベル値の発生確率に基づいて異なる長さの符号を割り当てるエントロピー符号化である。
【００３７】
また、符号化部１４０は、係数レベル値に加えて、復号処理で用いる制御データを符号化するように構成されている。
【００３８】
ここで、制御データは、符号化ブロック（ＣＵ：Ｃｏｄｉｎｇ  Ｕｎｉｔ）サイズ、予測ブロック（ＰＵ：Ｐｒｅｄｉｃｔｉｏｎ  Ｕｎｉｔ）サイズ、変換ブロック（ＴＵ：Ｔｒａｎｓｆｏｒｍ  Ｕｎｉｔ）サイズ等のサイズデータを含んでもよい。
【００３９】
インループフィルタ処理部１５０は、加算器１２２から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ１６０に出力するように構成されている。
【００４０】
ここで、例えば、フィルタ処理は、ブロック（符号化ブロック、予測ブロック又は変換ブロック）の境界部分で生じる歪みを減少するデブロッキングフィルタ処理である。
【００４１】
フレームバッファ１６０は、インター予測部１１１で用いる参照フレームを蓄積するように構成されている。
【００４２】
ここで、フィルタ処理後復号信号は、インター予測部１１１で用いる参照フレームを構成する。
【００４３】
（インター予測部１１１）
以下、図３を参照して、本実施形態に係る画像符号化装置１００のインター予測部１１１について説明する。図３は、本実施形態に係る画像符号化装置１００のインター予測部１１１の機能ブロックの一例について示す図である。
【００４４】
図３に示すように、インター予測部１１１は、動きベクトル探索部１１１Ａと、動きベクトル符号化部１１１Ｂと、洗練化部１１１Ｃと、予測信号生成部１１１Ｄとを有する。
【００４５】
インター予測部１１１は、動きベクトルに基づいて予測ブロックに含まれる予測信号を生成するように構成されている予測部の一例である。
【００４６】
動きベクトル探索部１１１Ａは、対象フレームと参照フレームとの比較によって、参照フレームに含まれる参照ブロックを特定し、特定された参照ブロックに対する動きベクトルを探索するように構成されている。
【００４７】
また、上述の探索処理を複数の参照フレーム候補に対して行い、当該予測ブロックで予測に用いる参照フレーム及び動きベクトルを決定する。参照フレーム及び動きベクトルは、一つのブロックに対して最大二つずつ用いることができる。一つのブロックに対して参照フレームと動きベクトルを一組のみ用いる場合を片予測と呼び、参照フレームと動きベクトルを二組用いる場合を双予測と呼ぶ。以降、一組目をＬ０と呼び、二組目をＬ１と呼ぶ。
【００４８】
更に、動きベクトル探索部１１１Ａは、参照フレーム及び動きベクトルの符号化方法を決定するように構成されている。符号化方法には、参照フレーム及び動きベクトルの情報をそれぞれ伝送する通常の方法に加え、後述するマージモードや非特許文献２に記載のＳｙｍｍｅｔｒｉｃ  ＭＶＤモード等がある。
【００４９】
なお、動きベクトルの探索方法、参照フレームの決定方法及び参照フレーム及び動きベクトルの符号化方法の決定方法については、既知の手法を採用することが可能であるため、その詳細については省略する。
【００５０】
動きベクトル符号化部１１１Ｂは、動きベクトル探索部１１１Ａで決定した参照フレームと動きベクトルの情報を、同じく動きベクトル探索部１１１Ａで決定した符号化方法を用いて符号化するように構成されている。
【００５１】
当該ブロックの符号化方法がマージモードの場合、初めに、当該ブロックに対するマージリストを作成する。マージリストは、参照フレームと動きベクトルとの組み合わせが複数列挙されたリストである。各組み合わせには、インデックスが振られており、参照フレーム及び動きベクトルの情報を個別に符号化する代わりに、前記のインデックスのみを符号化し、復号側に伝送する。符号化側と復号側とでマージリストの作成方法を共通化しておくことで、復号側ではインデックス情報のみから参照フレームと動きベクトルの情報を復号することができる。マージリストの作成方法については、既知の手法を採用することが可能であるため、その詳細については省略する。
【００５２】
Ｓｙｍｍｅｔｒｉｃ  ＭＶＤモードは、当該ブロックで双予測を行う場合にのみ使用可能な符号化方法である。Ｓｙｍｍｅｔｒｉｃ  ＭＶＤモードでは、復号側に伝送すべき情報である二つ（Ｌ０、Ｌ１）の参照フレーム及び二つ（Ｌ０、Ｌ１）の動きベクトルのうち、Ｌ０の動きベクトル（差分動きベクトル）のみを符号化する。残りのＬ１の動きベクトル及び二つの参照フレームの情報については、予め決められた方法によって符号化側及び復号側でそれぞれ一意に決定する。
【００５３】
動きベクトル情報の符号化については、初めに符号化対象動きベクトルの予測値である予測動きベクトルを生成し、予測動きベクトルと実際に符号化したい動きベクトルとの差分値である差分動きベクトルを符号化する。
【００５４】
Ｓｙｍｍｅｔｒｉｃ  ＭＶＤモードでは、Ｌ１の差分動きベクトルとして、符号化されたＬ０の差分動きベクトルの符号を反転したものを用いる。具体的な方法については、例えば、非特許文献２に記載されている方法を用いることができる。
【００５５】
洗練化部１１１Ｃは、動きベクトル符号化部１１１Ｂで符号化された動きベクトルを修正する洗練化処理（例えば、ＤＭＶＲ）を行うように構成されている。
【００５６】
具体的には、洗練化部１１１Ｃは、動きベクトル符号化部１１１Ｂで符号化された動きベクトルによって特定される参照位置を基準として探索範囲を設定し、探索範囲の中から所定コストが最も小さい修正参照位置を特定し、修正参照位置に基づいて動きベクトルを修正する洗練化処理を行うように構成されている。
【００５７】
図４は、洗練化部１１１Ｃの処理手順の一例を示すフローチャートである。
【００５８】
図４に示すように、ステップＳ４１において、洗練化部１１１Ｃは、洗練化処理を適用するための所定条件が満足されているかどうかについて判定する。所定条件が全て満足されている場合に、本処理手順は、ステップＳ４２へ進む。所定条件のどれか一つでも満足されていない場合は、本処理手順は、ステップＳ４５へ進み、洗練化処理を終了する。
【００５９】
ここで、所定条件は、当該ブロックが双予測を行うブロックであるという条件を含む。
【００６０】
さらに、所定条件は、動きベクトルがマージモードで符号化されているという条件を含んでもよい。
【００６１】
また、所定条件は、動きベクトルがＳｙｍｍｅｔｒｉｃ  ＭＶＤモードで符号化されているという条件を含んでもよい。
【００６２】
さらに、所定条件は、動きベクトルがＳｙｍｍｅｔｒｉｃ  ＭＶＤモードで符号化されており、Ｓｙｍｍｅｔｒｉｃ  ＭＶＤモードにおいて伝送される差分動きベクトル（Ｌ０のＭＶＤ）の大きさが予め設定された閾値以内であるという条件を含んでもよい。
【００６３】
ここで、差分動きベクトルの大きさは、例えば、差分動きベクトルの水平及び垂直方向成分それぞれの絶対値で定義することができる。
【００６４】
かかる閾値は、動きベクトルの水平及び垂直方向成分に対してそれぞれ別の閾値を用いてもよいし、水平及び垂直方向成分で共通の閾値を用いても良い。また、閾値の値を０に設定することも可能である。この場合、予測動きベクトル及び符号化される動きベクトルが同じ値であることを意味する。また、閾値について最小値と最大値で定義してもよい。この場合、所定条件として、差分動きベクトルの値又は絶対値が、予め定めた最小値以上かつ最大値以下であることという条件が含まれることになる。
【００６５】
また、所定条件は、動きベクトルがマージモード或いはＳｙｍｍｅｔｒｉｃ  ＭＶＤモードで符号化されているという条件を含んでもよい。同様に、所定条件は、動きベクトルがマージモード或いはＳｙｍｍｅｔｒｉｃ  ＭＶＤモードで符号化されており、Ｓｙｍｍｅｔｒｉｃ  ＭＶＤモードで符号化されている場合は、伝送される差分動きベクトルの大きさが予め設定された閾値以内であるという条件を含んでいてもよい。
【００６６】
ステップＳ４２において、洗練化部１１１Ｃは、動きベクトル符号化部１１１Ｂで符号化された動きベクトル及び参照フレームの情報に基づいて、探索用画像を生成する。
【００６７】
ここで、動きベクトルが非整数画素位置を指していた場合は、洗練化部１１１Ｃは、参照フレームの画素値にフィルタを適用して非整数画素位置の画素を内挿する。この時、洗練化部１１１Ｃは、後述する予測信号生成部１１１Ｄで用いる内挿フィルタより、少ないタップ数の内挿フィルタを用いることで、演算量を削減することができる。例えば、洗練化部１１１Ｃは、バイリニア補間によって非整数画素位置の画素値を内挿することができる。
【００６８】
ステップＳ４３において、洗練化部１１１Ｃは、ステップＳ４２で生成した探索用画像を用いて、整数画素精度での探索を行う。ここで、整数画素精度とは、動きベクトル符号化部１１１Ｂで符号化された動きベクトルを基準として、整数画素間隔となる点のみを探索することを意味する。
【００６９】
洗練化部１１１Ｃは、ステップＳ４２の探索によって、整数画素間隔位置での修正後の動きベクトルを決定する。探索の方法としては、既知の手法を用いることができる。例えば、洗練化部１１１Ｃは、Ｌ０側及びＬ１側の差分動きベクトルが符号のみを反転した組み合わせとなる点のみを探索するという方法で探索することもできる。ここで、ステップＳ４３における探索の結果、探索前の動きベクトルと同じ値になる可能性もある。
【００７０】
ステップＳ４４において、洗練化部１１１Ｃは、ステップＳ４３で決定した整数画素精度での修正後の動きベクトルを初期値として、非整数画素精度での動きベクトル探索を行う。動きベクトルの探索方法としては、既知の手法を用いることができる。
【００７１】
また、洗練化部１１１Ｃは、実際に探索を行わずに、ステップＳ４３の結果を入力として、パラボラフィッティング等のパラメトリックなモデルを用いて非整数画素精度でのベクトルを決定することもできる。
【００７２】
洗練化部１１１Ｃは、ステップＳ４４において、非整数画素精度での修正後の動きベクトルを決定した後、ステップＳ４５へ移り洗練化処理を終了する。ここでは、便宜上、非整数画素精度の修正後動きベクトルという表現を用いたが、ステップＳ４４の探索結果により、結果的に、ステップＳ４３で求めた整数画素精度の動きベクトルと同じ値になる可能性もある。
【００７３】
洗練化部１１１Ｃは、予め定めた閾値より大きなブロックを、小さなサブブロックに分割してサブブロックごとに洗練化処理を実行してもよい。例えば、洗練化部１１１Ｃは、洗練化処理の実行単位を１６×１６画素と設定しておき、ブロックの水平方向又は垂直方向のサイズが１６画素より大きい場合、それぞれ１６画素以下となるように分割することができる。この時、洗練化処理の基準となる動きベクトルとしては、同一ブロック内の全てのサブブロックについて、動きベクトル符号化部１１１Ｂで符号化された当該ブロックの動きベクトルを用いる。
【００７４】
サブブロックごとに処理を行う場合、洗練化部１１１Ｃは、図４の全ての手順をサブブロックごとに実行してもよい。また、洗練化部１１１Ｃは、図４の処理の一部のみをサブブロックごとに処理してもよい。具体的には、洗練化部１１１Ｃは、図４のステップＳ４１及びＳ４２については、ブロック毎に処理を行い、ステップＳ４３及びＳ４４のみについて、サブブロックごとに処理してもよい。
【００７５】
予測信号生成部１１１Ｄは、洗練化部１１１Ｃから出力される修正された動きベクトルに基づいて予測信号を生成するように構成されている。
【００７６】
ここで、後述するように、予測信号生成部１１１Ｄは、上述の洗練化処理の過程で算出される情報（例えば、探索コスト）に基づいて、ブロック毎にＢＤＯＦ処理を行うるか否かについて判定するように構成されている。
【００７７】
具体的には、予測信号生成部１１１Ｄは、動きベクトルが修正されない場合には、動きベクトル符号化部１１１Ｂで符号化された動きベクトルに基づいて予測信号を生成するように構成されている。一方で、予測信号生成部１１１Ｄは、動きベクトルが修正される場合には、洗練化部１１１Ｃで修正された動きベクトルに基づいて予測信号を生成するように構成されている。
【００７８】
図５は、予測信号生成部１１１Ｄの処理手順の一例を示すフローチャートである。ここで、洗練化部１１１Ｃにてサブブロック単位で洗練化処理が行われた場合、予測信号生成部１１１Ｄの処理もサブブロック単位で実行される。その場合、以下の説明のブロックという単語は、適宜、サブブロックに読み替えることができる。
【００７９】
図５に示すように、ステップＳ５１において、予測信号生成部１１１Ｄは、予測信号を生成する。
【００８０】
具体的には、予測信号生成部１１１Ｄは、動きベクトル符号化部１１１Ｂで符号化された動きベクトル或いは洗練化部１１１Ｃで符号化された動きベクトルを入力として、かかる動きベクトルが指す位置が非整数画素位置の場合は参照フレームの画素値にフィルタを適用して非整数画素位置の画素を内挿する。ここで、具体的なフィルタについては、非特許文献３で開示されている最大８タップの水平垂直可分型のフィルタを適用することができる。
【００８１】
当該ブロックが双予測を行うブロックである場合は、一つ目（以後、Ｌ０と呼ぶ）の参照フレーム及び動きベクトルによる予測信号及び二つ目（以後、Ｌ１と呼ぶ）の参照フレーム及び動きベクトルによる予測信号の両方を生成する。
【００８２】
ステップＳ５２において、予測信号生成部１１１Ｄは、後述するＢＤＯＦ（Ｂｉ-Ｄｉｒｅｃｔｉｏｎａｌ  Ｏｐｔｉｃａｌ  Ｆｌｏｗ）の適用条件が満足されているかどうかについて確認する。
【００８３】
かかる適用条件としては、非特許文献３に記載の条件を適用できる。適用条件は、少なくとも当該ブロックが双予測を行うブロックであることという条件を含む。また、適用条件は、非特許文献１に記載のように、当該ブロックの動きベクトルがＳｙｍｍｅｔｒｉｃ  ＭＶＤモードで符号化されていないことという条件を含んでもよい。
【００８４】
また、適用条件は、当該ブロックの動きベクトルがＳｙｍｍｅｔｒｉｃ  ＭＶＤモードで符号化されていないこと、或いは、Ｓｙｍｍｅｔｒｉｃ  ＭＶＤモードで符号化されている場合には伝送される差分動きベクトルの大きさが予め設定された閾値以内であることという条件を含んでもよい。ここで、差分動きベクトルの大きさは、上述のステップＳ４１と同様の方法で判定することができる。閾値の値は、上述のステップＳ４１と同様に０に設定することも可能である。
【００８５】
適用条件が満足されていない場合、本処理手順は、ステップＳ５５に移って処理を終了する。この時、予測信号生成部１１１Ｄは、ステップＳ５１で生成した予測信号を最終的な予測信号として出力する。
【００８６】
一方、適用条件が全て満足される場合、本処理手順は、ステップＳ５３へ移る。ステップＳ５３において、本処理手順は、適用条件を満足しているブロックについて、実際に、ステップＳ５４のＢＤＯＦ処理を実行するかどうかについて判定する。
【００８７】
例えば、予測信号生成部１１１Ｄは、Ｌ０の予測信号とＬ１の予測信号との絶対値差分和を算出し、その値が予め定めた閾値以下であった場合は、ＢＤＯＦ処理を行わないといったような判定を行う。
【００８８】
ここで、予測信号生成部１１１Ｄは、洗練化部１１１Ｃで洗練化処理を実行したブロックについては、ＢＤＯＦの適用有無に洗練化処理の結果を用いることもできる。
【００８９】
例えば、洗練化処理を実施した結果、修正前後の動きベクトルの差分が予め定めた閾値以下の場合に、予測信号生成部１１１Ｄは、ＢＤＯＦを適用しないと判断することができる。かかる閾値を水平及び垂直方向成分ともに「０」に設定した場合、洗練化処理を実施した結果、修正前と比べて動きベクトルが変化しなかった場合に、ＢＤＯＦを適用しないという判定をすることと等価となる。
【００９０】
予測信号生成部１１１Ｄは、上述の洗練化処理の過程で算出された探索コスト（例えば、Ｌ０側の参照ブロックの画素値とＬ１側の参照ブロックの画素値との絶対値差分和）を用いて、ＢＤＯＦを適用するか否かを判定することもできる。
【００９１】
なお、以下では探索コストとして絶対値差分和を用いた場合を例に説明するが、他の指標を探索コストに用いることもできる。例えば、局所的な平均値を除去した後の信号同士の絶対値差分和や、二乗誤差和等、画像信号同士の類似性を判断するための指標値であればよい。
【００９２】
例えば、予測信号生成部１１１Ｄは、ステップＳ４３における整数画素位置探索において、上述の探索コスト（絶対値差分和）が最小となる探索点の絶対値差分和が、予め定めた閾値よりも小さい場合に、ＢＤＯＦを適用しないという判定をすることができる。
【００９３】
また、予測信号生成部１１１Ｄは、上述の洗練化処理前後の動きベクトルの変化を用いる方法と上述の洗練化処理の探索コストを用いる方法とを組み合わせて、ＢＦＯＦ処理の適否を判定することもできる。
【００９４】
例えば、予測信号生成部１１１Ｄは、洗練化処理前後の動きベクトルの差分が予め定めた閾値以下で且つ洗練化処理の探索コストが予め定めた閾値以下の場合に、ＢＤＯＦ処理を適用しないと判定することができる。
【００９５】
ここで、洗練化処理前後の動きベクトルの差分の閾値を０にした場合、上述の探索コストとして判定されるのは、洗練化処理前の動きベクトル（＝洗練化処理後の動きベクトル）が指し示す参照ブロック同士の絶対値差分和となる。
【００９６】
また、予測信号生成部１１１Ｄは、洗練化処理が実行されたブロックでは洗練化処理の結果による方法、それ以外のブロックでは絶対値差分和による方法でそれぞれ判断してもよい。
【００９７】
また、予測信号生成部１１１Ｄは、上述のように、新たにＬ０側の予測信号とＬ１側の予測信号との絶対値差分和を算出する処理について行わずに、洗練化処理の結果から得られる情報のみを用いて、ＢＤＯＦの適否を判定するという構成をとることもできる。この場合、ステップＳ５３においては、予測信号生成部１１１Ｄは、洗練化処理が実行されていないブロックについては常にＢＤＯＦを適用すると判断することになる。
【００９８】
かかる構成によれば、この場合、予測信号生成部１１１Ｄにおける絶対値差分和の算出処理を行う必要がないため、ハードウェア実装の観点で処理量及び処理遅延を削減することができる。
【００９９】
また、かかる構成によれば、ソフトウェア実装の観点において、洗練化処理の結果を用いて、ＢＤＯＦ処理の効果が低いと推測されるブロックにおいてＢＤＯＦ処理を実行しないようにすることで、符号化効率は維持しつつ、画像全体での処理時間を短縮することができる。
【０１００】
また、上述の洗練化処理の結果を用いる判定処理自体は、洗練化部１１１Ｃの内部で実行され、その結果を示す情報が予測信号生成部１１１Ｄへ伝達されることで、予測信号生成部１１１Ｄは、ＢＤＯＦ処理の適否を判定することもできる。
【０１０１】
例えば、上述のように、洗練化処理前後の動きベクトルや探索コストの値を判定し、ＢＤＯＦを適用しない条件に当てはまる場合は「１」となり、ＢＤＯＦを適用しない条件に当てはまらない場合及び洗練化処理が適用されなかった場合には「０」となるようなフラグを用意しておき、予測信号生成部１１１Ｄは、かかるフラグの値を参照してＢＤＯＦの適否を判定することができる。
【０１０２】
また、ここでは、便宜上、ステップＳ５２及びステップＳ５３を異なるステップとして説明したが、ステップＳ５２及びステップＳ５３における判定を同時に行うことも可能である。
【０１０３】
上述のような判定において、ＢＤＯＦを適用しないと判定したブロックについては、本処理手順は、ステップＳ５５へ移る。それ以外のブロックについては、本処理手順は、ステップＳ５４へ移る。
【０１０４】
ステップＳ５４において、予測信号生成部１１１Ｄは、ＢＤＯＦ処理を実行する。ＢＤＯＦの処理自体は、既知の手法を用いることができるため、詳細についての説明は省略する。ＢＤＯＦ処理が実施された後、本処理手順は、ステップＳ５５に移り処理を終了する。
【０１０５】
（インループフィルタ処理部１５０）
以下において、本実施形態に係るインループフィルタ処理部１５０について説明する。図６は、本実施形態に係るインループフィルタ処理部１５０を示す図である。
【０１０６】
図６に示すように、インループフィルタ処理部１５０は、対象ブロック境界検出部１５１と、隣接ブロック境界検出部１５２と、境界強度判定部１５３と、フィルタ決定部１５４と、フィルタ処理部１５５とを有する。
【０１０７】
ここで、末尾に「Ａ」が付されている構成は、垂直方向のブロック境界に対するデブロッキングフィルタ処理に関する構成であり、末尾に「Ｂ」が付されている構成は、水平方向のブロック境界に対するデブロッキングフィルタ処理に関する構成である。
【０１０８】
以下、垂直方向のブロック境界に対するデブロッキングフィルタ処理が行われた後に、水平方向のブロック境界に対するデブロッキングフィルタ処理が行われるケースについて例示する。
【０１０９】
デブロッキングフィルタ処理は、上述したように、符号化ブロックに対して適用されてもよく、予測ブロックに対して適用されてもよく、変換ブロックに対して適用されてもよい。また、上記の各ブロックを分割したサブブロックに適用されても良い。すなわち、対象ブロック及び隣接ブロックは、符号化ブロックであってもよく、予測ブロックであってもよく、変換ブロックであってもよく、これらを分割したサブブロックでもよい。
【０１１０】
サブブロックの定義には、洗練化部１１１Ｃ及び予測信号生成部１１１Ｄの処理単位として説明したサブブロックを含む。サブブロックにデブロッキングフィルタを適用する場合は、適宜、以下の説明のブロックをサブブロックに読み替えることができる。
【０１１１】
垂直方向のブロック境界に対するデブロッキングフィルタ処理及び水平方向のブロック境界に対するデブロッキングフィルタ処理は、同様の処理であるため、以下においては、垂直方向のブロック境界に対するデブロッキングフィルタ処理について説明する。
【０１１２】
対象ブロック境界検出部１５１Ａは、対象ブロックのブロックサイズを示す制御データに基づいて、対象ブロックの境界を検出するように構成されている。
【０１１３】
隣接ブロック境界検出部１５２Ａは、隣接ブロックのブロックサイズを示す制御データに基づいて、隣接ブロックの境界を検出するように構成されている。
【０１１４】
境界強度判定部１５３Ａは、対象ブロックと隣接ブロックとのブロック境界の境界強度を判定するように構成されている。
【０１１５】
また、境界強度判定部１５３Ａは、対象ブロック及び隣接ブロックがイントラ予測ブロックであるか否かを示す制御データに基づいてブロック境界の境界強度を判定するように構成されていてもよい。
【０１１６】
例えば、図７に示すように、境界強度判定部１５３Ａは、対象ブロック及び隣接ブロックの少なくともいずれか１つのブロックがイントラ予測ブロックである場合（すなわち、ブロック境界の両側のブロックの少なくともいずれかがイントラ予測ブロックである場合）に、ブロック境界の境界強度が「２」であると判定ように構成されていてもよい。
【０１１７】
また、境界強度判定部１５３Ａは、対象ブロック及び隣接ブロックに非零（ゼロ）の直交変換係数が含まれるか否か及びブロック境界が変換ブロックの境界であるか否かを示す制御データに基づいてブロック境界の境界強度を判定するように構成されていてもよい。
【０１１８】
例えば、図７に示すように、境界強度判定部１５３Ａは、対象ブロック及び隣接ブロックの少なくともいずれか１つのブロックが非零の直交変換係数を含み、かつ、ブロック境界が変換ブロックの境界である場合（すなわち、ブロック境界の両側のブロックの少なくともいずれかに非零の変換係数が存在し、ＴＵの境界である場合）に、ブロック境界の境界強度が「１」であると判定するように構成されていてもよい。
【０１１９】
また、境界強度判定部１５３Ａは、対象ブロック及び隣接ブロックの動きベクトルの差の絶対値が閾値（例えば、１画素）以上であるか否かを示す制御データに基づいてブロック境界の境界強度を判定するように構成されていてもよい。
【０１２０】
例えば、図７に示すように、境界強度判定部１５３Ａは、対象ブロック及び隣接ブロックの動きベクトルの差の絶対値が閾値（例えば、１画素）以上である場合（すなわち、ブロック境界の両側のブロックの動きベクトルの差の絶対値が閾値（例えば、１画素）以上である場合）に、ブロック境界の境界強度が「１」であると判定するように構成されていてもよい。
【０１２１】
また、境界強度判定部１５３Ａは、対象ブロック及び隣接ブロックの動きベクトルの予測で参照される参照ブロックが異なるか否かを示す制御データに基づいてブロック境界の境界強度を判定するように構成されていてもよい。
【０１２２】
例えば、図７に示すように、境界強度判定部１５３Ａは、対象ブロック及び隣接ブロックの動きベクトルの予測で参照される参照ブロックが異なる場合（すなわち、ブロック境界の両側のブロックで参照画像が異なる場合）に、ブロック境界の境界強度が「１」であると判定するように構成されていてもよい。
【０１２３】
境界強度判定部１５３Ａは、対象ブロック及び隣接ブロックの動きベクトルの数が異なるか否かを示す制御データに基づいてブロック境界の境界強度を判定するように構成されていてもよい。
【０１２４】
例えば、図７に示すように、境界強度判定部１５３Ａは、対象ブロック及び隣接ブロックの動きベクトルの数が異なる場合（すなわち、ブロック境界の両側のブロックで動きベクトルの数が異なる場合）に、ブロック境界の境界強度が「１」であると判定するように構成されていてもよい。
【０１２５】
境界強度判定部１５３Ａは、対象ブロックと隣接ブロックに対して洗練化部１１１Ｃによる洗練化処理が適用されているか否かによってブロック境界の境界強度を判定するように構成されていてもよいい。
【０１２６】
例えば、図７に示すように、境界強度判定部１５３Ａは、対象ブロック及び隣接ブロックがいずれも洗練化部１１１Ｃで洗練化処理が適用されたブロックである場合に、ブロック境界の境界強度が「１」であると判定するように構成されていてもよい。
【０１２７】
ここで、境界強度判定部１５３Ａは、当該ブロックにおいて図４のステップＳ４１における所定条件を全て満足したことをもって、「洗練化処理が適用された」と判断してもよい。また、図４のステップＳ４１の判定結果を示すフラグを用意しておき、境界強度判定部１５３Ａは、フラグの値によって洗練化処理の適用有無を判断するように構成されていてもよい。
【０１２８】
また、境界強度判定部１５３Ａは、対象ブロック又は隣接ブロックの少なくともいずれかが洗練化部１１１Ｃによる洗練化処理が適用されたブロックである場合に、ブロック境界の境界強度が「１」であると判定するように構成されていてもよい。
【０１２９】
或いは、境界強度判定部１５３Ａは、当該境界が洗練化部１１１Ｃによる洗練化処理におけるサブブロック境界である場合に、ブロック境界の境界強度が「１」であると判定するように構成されていてもよい。
【０１３０】
さらに、境界強度判定部１５３Ａは、ブロック境界の両側のブロックの少なくともいずれかでＤＭＶＲが適用されている場合に、ブロック境界の境界強度が「１」であると判定するように構成されていてもよい。
【０１３１】
例えば、図７に示すように、境界強度判定部１５３Ａは、上述した条件がいずれも満たされない場合に、ブロック境界の境界強度が「０」であると判定するように構成されていてもよい。
【０１３２】
なお、境界強度の値が大きいほど、ブロック境界で生じるブロック歪みが大きい可能性が高い。
【０１３３】
上述の境界強度判定方法は、輝度信号及び色差信号に対して共通の方法で判定してもよいし、一部異なる条件を用いて判定してもよい。例えば、上述の洗練化処理に関する条件を輝度信号及び色差信号の両方に適用してもよいし、輝度信号のみ或いは色差信号のみに適用してもよい。
【０１３４】
また、洗練化処理の結果を境界強度の判定時に考慮するかどうかについて制御するフラグを、ＳＰＳ（Ｓｅｑｕｅｎｃｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）やＰＰＳ（Ｐｉｃｔｕｒｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）と呼ばれるヘッダの中に備えてもよい。
【０１３５】
フィルタ決定部１５４Ａは、ブロック境界に適用するフィルタ処理（例えば、デブロッキングフィルタ処理）の種類を決定するように構成されている。
【０１３６】
例えば、フィルタ決定部１５４Ａは、ブロック境界の境界強度、対象ブロック及び隣接ブロックに含まれる量子化パラメータ等に基づいて、ブロック境界に対して、フィルタ処理を適用するか否か、弱フィルタ処理及び強フィルタ処理のいずれのフィルタ処理を適用するかについて決定するように構成されていてもよい。
【０１３７】
フィルタ決定部１５４Ａは、ブロック境界の境界強度が「０」である場合に、フィルタ処理を適用しないと決定するように構成されていてもよい。
【０１３８】
フィルタ処理部１５５Ａは、フィルタ決定部１５４Ａの決定に基づいてデブロッキング前画像に対する処理を行うように構成されている。デブロッキング前画像に対する処理は、フィルタ処理なし、弱フィルタ処理、強フィルタ処理等である。
【０１３９】
（画像復号装置２００）
以下、図８を参照して、本実施形態に係る画像復号装置２００について説明する。図８は、本実施形態に係る画像復号装置２００の機能ブロックの一例について示す図である。
【０１４０】
図８に示すように、画像復号装置２００は、復号部２１０と、逆変換・逆量子化部２２０と、加算器２３０と、インター予測部２４１と、イントラ予測部２４２と、インループフィルタ処理部２５０と、フレームバッファ２６０とを有する。
【０１４１】
復号部２１０は、画像符号化装置１００によって生成される符号化データを復号し、係数レベル値を復号するように構成されている。
【０１４２】
ここで、例えば、復号は、符号化部１４０で行われるエントロピー符号化とは逆の手順のエントロピー復号である。
【０１４３】
また、復号部２１０は、符号化データの復号処理によって制御データを取得するように構成されていてもよい。
【０１４４】
なお、上述したように、制御データは、符号化ブロックサイズ、予測ブロックサイズ、変換ブロックサイズ等のサイズデータを含んでもよい。
【０１４５】
逆変換・逆量子化部２２０は、復号部２１０から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部２２０は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。
【０１４６】
ここで、逆変換処理及び逆量子化は、変換・量子化部１３１で行われる変換処理及び量子化とは逆の手順で行われる。
【０１４７】
加算器２３０は、逆変換・逆量子化部２２０から出力される予測残差信号に予測信号を加算してフィルタ処理前復号信号を生成し、フィルタ処理前復号信号をイントラ予測部２４２及びインループフィルタ処理部２５０に出力するように構成されている。
【０１４８】
ここで、フィルタ処理前復号信号は、イントラ予測部２４２で用いる参照ブロックを構成する。
【０１４９】
インター予測部２４１は、インター予測部１１１と同様に、インター予測（フレーム間予測）によって予測信号を生成するように構成されている。
【０１５０】
具体的には、インター予測部２４１は、符号化データから復号した動きベクトルと参照フレームに含まれる参照信号に基づいて予測信号を予測ブロック毎に生成するように構成されている。インター予測部２４１は、予測信号を加算器２３０に出力するように構成されている。
【０１５１】
イントラ予測部２４２は、イントラ予測部１１２と同様に、イントラ予測（フレーム内予測）によって予測信号を生成するように構成されている。
【０１５２】
具体的には、イントラ予測部２４２は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいて予測信号を予測ブロック毎に生成するように構成されている。イントラ予測部２４２は、予測信号を加算器２３０に出力するように構成されている。
【０１５３】
インループフィルタ処理部２５０は、インループフィルタ処理部１５０と同様に、加算器２３０から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ２６０に出力するように構成されている。
【０１５４】
ここで、例えば、フィルタ処理は、ブロック（符号化ブロック、予測ブロック、変換ブロック、あるいはそれらを分割したサブブロック）の境界部分で生じる歪みを減少するデブロッキングフィルタ処理である。
【０１５５】
フレームバッファ２６０は、フレームバッファ１６０と同様に、インター予測部２４１で用いる参照フレームを蓄積するように構成されている。
【０１５６】
ここで、フィルタ処理後復号信号は、インター予測部２４１で用いる参照フレームを構成する。
【０１５７】
（インター予測部２４１）
以下、図９を参照して、本実施形態に係るインター予測部２４１について説明する。図９は、本実施形態に係るインター予測部２４１の機能ブロックの一例について示す図である。
【０１５８】
図９に示すように、インター予測部２４１は、動きベクトル復号部２４１Ｂと、洗練化部２４１Ｃと、予測信号生成部２４１Ｄとを有する。
【０１５９】
インター予測部２４１は、動きベクトルに基づいて予測ブロックに含まれる予測信号を生成するように構成されている予測部の一例である。
【０１６０】
動きベクトル復号部２４１Ｂは、画像符号化装置１００から受信する制御データの復号によって動きベクトルを取得するように構成されている。
【０１６１】
洗練化部２４１Ｃは、洗練化部１１１Ｃと同様に、動きベクトルを修正する洗練化処理を実行するように構成されている。
【０１６２】
予測信号生成部２４１Ｄは、予測信号生成部１１１Ｄと同様に、動きベクトルに基づいて予測信号を生成するように構成されている。
【０１６３】
（インループフィルタ処理部２５０）
以下において、本実施形態に係るインループフィルタ処理部２５０について説明する。図１０は、本実施形態に係るインループフィルタ処理部２５０を示す図である。
【０１６４】
図１０に示すように、インループフィルタ処理部２５０は、対象ブロック境界検出部２５１と、隣接ブロック境界検出部２５２と、境界強度判定部２５３と、フィルタ決定部２５４と、フィルタ処理部２５５とを有する。
【０１６５】
ここで、末尾に「Ａ」が付されている構成は、垂直方向のブロック境界に対するデブロッキングフィルタ処理に関する構成であり、末尾に「Ｂ」が付されている構成は、水平方向のブロック境界に対するデブロッキングフィルタ処理に関する構成である。
【０１６６】
ここでは、垂直方向のブロック境界に対するデブロッキングフィルタ処理が行われた後に、水平方向のブロック境界に対するデブロッキングフィルタ処理が行われるケースについて例示する。
【０１６７】
デブロッキングフィルタ処理は、上述したように、符号化ブロックに対して適用されてもよく、予測ブロックに対して適用されてもよく、変換ブロックに対して適用されてもよい。また、上述の各ブロックを分割したサブブロックに適用されてもよい。すなわち、対象ブロック及び隣接ブロックは、符号化ブロックであってもよく、予測ブロックであってもよく、変換ブロックであってもよく、これらを分割したサブブロックでもよい。
【０１６８】
垂直方向のブロック境界に対するデブロッキングフィルタ処理及び水平方向のブロック境界に対するデブロッキングフィルタ処理は同様の処理であるため、以下においては、垂直方向のブロック境界に対するデブロッキングフィルタ処理について説明する。
【０１６９】
対象ブロック境界検出部２５１Ａは、対象ブロック境界検出部１５１Ａと同様に、対象ブロックのブロックサイズを示す制御データに基づいて、対象ブロックの境界を検出するように構成されている。
【０１７０】
隣接ブロック境界検出部２５２Ａは、隣接ブロック境界検出部１５２Ａと同様に、隣接ブロックのブロックサイズを示す制御データに基づいて、隣接ブロックの境界を検出するように構成されている。
【０１７１】
境界強度判定部２５３Ａは、境界強度判定部１５３Ａと同様に、対象ブロックと隣接ブロックとのブロック境界の境界強度を判定するように構成されている。ブロック境界の境界強度の判定方法は上述した通りである。
【０１７２】
フィルタ決定部２５４Ａは、フィルタ決定部１５４Ａと同様に、ブロック境界に適用するデブロッキングフィルタ処理の種類を決定するように構成されている。デブロッキングフィルタ処理の種類の決定方法は、上述した通りである。
【０１７３】
フィルタ処理部２５５Ａは、フィルタ処理部１５５Ａと同様に、フィルタ決定部２５４Ａの決定に基づいてデブロッキング前画像に対する処理を行うように構成されている。デブロッキング前画像に対する処理は、フィルタ処理なし、弱フィルタ処理、強フィルタ処理等である。
【０１７４】
本実施形態に係る画像符号化装置１００及び画像復号装置２００によれば、境界強度判定部１５３、２５３において、境界強度を決定する際に、当該境界に隣接するブロックにおいて洗練化部１１１Ｃ、２４１Ｃによる洗練化処理が適用されたか否かを考慮する。
【０１７５】
例えば、上述のように、当該境界に隣接する二つのブロックのうち、少なくとも一つのブロックで洗練化処理が適用された場合に、当該境界の境界強度を１に設定する。
【０１７６】
境界強度が「１」以上の境界については、フィルタ決定部１５４及び２５４において、量子化パラメータ等のパラメータを考慮して当該ブロック境界にデブロッキングフィルタが適用されるか否かについて及びデブロッキングフィルタの種類を決定する。
【０１７７】
このような構成とすることで、ハードウェア実装の制約上、洗練化後の動きベクトルの値が前記境界強度の判定に用いることができない場合も、洗練化処理を実施したブロックの境界で適切にデブロッキングフィルタを適用できるようになり、ブロックノイズを抑制して主観画質を向上させることができる。
【０１７８】
デブロッキングフィルタの適否の判定や境界強度の決定方法は、種々提案されている。例えば、特許文献１では、当該ブロックがスキップモードであるか等のシンタックスの情報に基づいてデブロッキングフィルタの適用を省略する技術が開示されている。また、例えば、特許文献２では、量子化パラメータを用いてデブロッキングフィルタの適用を省略する技術が開示されている。
【０１７９】
しかし、いずれについても、洗練化処理の適否については考慮されていない。本発明によって解決される課題の一つは、シンタックスから復号した動きベクトルの値を、復号側で修正する洗練化処理において、修正後の動きベクトルの値がデブロッキングフィルタの適用判定に使用できない場合、適切に適用判定ができないという洗練化処理に特有の課題である。
【０１８０】
よって、洗練化処理の適否を考慮しない特許文献１や特許文献２の方法で、この課題を解決することはできない。一方、特許文献１や特許文献２の方法を、本発明のデブロッキングフィルタの適用判定と組み合わせることは可能である。
【０１８１】
本実施形態に係る画像符号化装置１００及び画像復号装置２００によれば、前記洗練化部１１１Ｃ、２４１Ｃにおける洗練化処理の実行条件として、当該処理の基準となる動きベクトルがＳｙｍｍｅｔｒｉｃ  ＭＶＤモードで符号化されているか否かを考慮する。
【０１８２】
かかる洗練化処理において、Ｌ０側とＬ１側の差分動きベクトルの絶対値が同じで符号が反転した点のみを探索する場合、Ｓｙｍｍｅｔｒｉｃ  ＭＶＤモードで動きベクトルを伝送する場合と同様の動きベクトルを得ることができる。
【０１８３】
よって、上述の洗練化処理で本来伝送した動きベクトルが得られる場合、Ｓｙｍｍｅｔｒｉｃ  ＭＶＤモードで伝送する差分動きベクトルを可能な限り小さくすることで、差分動きベクトルに関する符号量を削減することができる。
【０１８４】
特に、差分動きベクトルが特定の値（０等）の際にフラグのみを伝送し、それ以外の値の場合は、差分値を直接符号化する符号化方法となっている場合、かかる洗練化処理で修正する動きベクトルの差分が微小でも、符号量の削減効果が大きくなる可能性がある。
【０１８５】
また、上述の洗練化処理の実行条件として、かかる洗練化処理の基準となる動きベクトルがＳｙｍｍｅｔｒｉｃ  ＭＶＤモードで符号化されており、さらに差分動きベクトルの値が予め定めた閾値以下であることという条件とすることで、差分動きベクトルの値によって洗練化処理を実行するかどうかを暗黙的に切り替えることも可能となる。
【０１８６】
同様に、予測信号生成部１１１Ｄ、２４１ＤにおけるＢＤＯＦ処理の適用条件に、当該ブロックの動きベクトルがＳｙｍｍｅｔｒｉｃ  ＭＶＤモードで符号化されており、さらに差分動きベクトルの値が予め定めた閾値以下であることという条件を用いることで、差分動きベクトルの値によってＢＤＯＦ処理を適用するかどうかを暗黙的に切り替えることが可能となる。
【０１８７】
本実施形態に係る画像符号化装置１００及び画像復号装置２００によれば、予測信号生成部１１１Ｄ、２４１ＤにおいてＢＤＯＦ処理を実行するか否かの判定に、前記洗練化処理の結果を考慮する。非特許文献３ではＬ０とＬ１の予測信号の絶対値差分値を用いて判定を行っているが、その代わりに洗練化処理の結果による判定を行うことで、前記絶対値差分を算出する処理を削減することができる。
【０１８８】
また、上述の画像符号化装置１００及び画像復号装置２００は、コンピュータに各機能（各工程）を実行させるプログラムであって実現されていてもよい。
【０１８９】
なお、上記の各実施形態では、本発明を画像符号化装置１００及び画像復号装置２００への適用を例にして説明したが、本発明はこれのみに限定されるものではなく、符号化装置および復号装置の各機能を備えた符号化/復号システムにも同様に適用できる。
【０１９０】
本発明によれば、洗練化後の動きベクトルをデブロッキングフィルタの適用判定に用いることができない場合でも、洗練化処理を行ったブロックの境界に適切にデブロッキングフィルタを適用し、ブロックノイズを抑制して主観画質を向上させることができる。
【符号の説明】
【０１９１】
１０…画像処理システム
１００…画像符号化装置
１１１、２４１…インター予測部
１１１Ａ…動きベクトル探索部
１１１Ｂ…動きベクトル符号化部
１１１Ｃ、２４１Ｃ…洗練化部
１１１Ｄ、２４１Ｄ…予測信号生成部
１１２、２４２…イントラ予測部
１２１…減算器
１２２、２３０…加算器
１３１…変換・量子化部
１３２、２２０…逆変換・逆量子化部
１４０…符号化部
１５０、２５０…インループフィルタ処理部
１５１、２５１…対象ブロック境界検出部
１５２、２５２…隣接ブロック境界検出部
１５３、２５３…境界強度判定部
１５４、２５４…フィルタ決定部
１５５、２５５…フィルタ処理部
１６０、２６０…フレームバッファ
２００…画像復号装置
２１０…復号部
２４１Ｂ…動きベクトル復号部
【図１】
2020150313.tif 000003
【図２】
2020150313.tif 000004
【図３】
2020150313.tif 000005
【図４】
2020150313.tif 000006
【図５】
2020150313.tif 000007
【図６】
2020150313.tif 000008
【図７】
2020150313.tif 000009
【図８】
2020150313.tif 000010
【図９】
2020150313.tif 000011
【図１０】
2020150313.tif 000012