(57)【要約】【課題】符号化処理の負荷が増大することを抑止すること。【解決手段】画像処理装置２００の推定ベクトル算出部２００ｃは、画面間ブロック予測部２００ｂの予測結果を利用して、第１予測ベクトルと第２予測ベクトルとの差から推定ベクトルを求める。推定ベクトル算出部２００ｃは、所定の条件を満たす場合に、推定ベクトルを画面内ブロック予測部２００ｄに出力する。画面内ブロック予測部２００ｄは、符号化対象ブロックの位置を始点とした推定ベクトルの位置を、検索の開始位置とし、画面内ブロック予測処理を実行する。【選択図】図５
2016178375.tif 000002
【特許請求の範囲】
【請求項１】
第１フレームに含まれる各ブロックと、第２フレームに含まれる符号化対象ブロックとを比較して予測誤差をそれぞれ算出し、各予測誤差に基づいて、前記第１フレームに含まれる第１候補の予測ブロックの位置と、第２候補の予測ブロックの位置とを取得する取得部と、
前記第１候補の予測ブロックの位置と、前記第２候補の予測ブロックの位置とを結ぶベクトルを算出する算出部と、
前記符号化対象ブロックの位置を始点とした前記ベクトルの位置を、検索の開始位置として前記符号化対象ブロックに対応する予測ブロックを検索する検索部と
を有することを特徴とする画像処理装置。
【請求項２】
前記検索部は、前記検索の開始位置を、前記第２フレーム上の符号化済み領域に設定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記検索部は、前記第２フレームの符号化対象ブロックの画像が複雑であり、前記第１候補の予測ブロックと前記符号化対象ブロックとの予測誤差および前記第２候補の予測ブロックと前記符号化対象ブロックとの予測誤差が小さい場合に、前記符号化対象ブロックの位置を始点とした前記ベクトルの位置を、検索の開始位置として前記符号化対象ブロックに対応する予測ブロックを検索することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
第１フレームに含まれるあるブロックと、他のブロックとを比較して予測誤差をそれぞれ算出し、各予測誤差に基づいて、前記あるブロックに対応する前記第１フレーム上の予測ブロックを特定する第１特定部と、
第２フレームに含まれる符号化対象ブロックと、前記第１フレームに含まれる各ブロックとを比較して予測誤差をそれぞれ算出し、各予測誤差に基づいて、前記符号化対象ブロックに対応するブロックを特定し、特定したブロックから該ブロックに対応する前記予測ブロックまでのベクトルを特定する第２特定部と、
前記符号化対象ブロックの位置を始点とした前記ベクトルの位置を、検索の開始位置として前記符号化対象ブロックに対応する予測ブロックを検索する検索部と
を有することを特徴とする画像処理装置。
【請求項５】
第１フレームに含まれるあるブロックと、他のブロックとを比較して予測誤差をそれぞれ算出し、各予測誤差に基づいて、前記あるブロックに対応する前記第１フレーム上の予測ブロックを特定する第１特定部と、
第２フレームに含まれる符号化対象ブロックの位置と同じ位置の第１フレーム上のブロックを特定し、特定したブロックから該ブロックに対応する前記予測ブロックまでのベクトルを特定する第２特定部と、
前記符号化対象ブロックの位置を始点とした前記ベクトルの位置を、検索の開始位置として前記符号化対象ブロックに対応する予測ブロックを検索する検索部と
を有することを特徴とする画像処理装置。
【請求項６】
コンピュータが実行する画像処理方法であって、
第１フレームに含まれる各ブロックと、第２フレームに含まれる符号化対象ブロックとを比較して予測誤差をそれぞれ算出し、各予測誤差に基づいて、前記第１フレームに含まれる第１候補の予測ブロックの位置と、第２候補の予測ブロックの位置とを取得し、
前記第１候補の予測ブロックの位置と、前記第２候補の予測ブロックの位置とを結ぶベクトルを算出し、
前記符号化対象ブロックの位置を始点とした前記ベクトルの位置を、検索の開始位置として前記符号化対象ブロックに対応する予測ブロックを検索する
処理を実行することを特徴とする画像処理方法。
【請求項７】
コンピュータに、
第１フレームに含まれる各ブロックと、第２フレームに含まれる符号化対象ブロックとを比較して予測誤差をそれぞれ算出し、各予測誤差に基づいて、前記第１フレームに含まれる第１候補の予測ブロックの位置と、第２候補の予測ブロックの位置とを取得し、
前記第１候補の予測ブロックの位置と、前記第２候補の予測ブロックの位置とを結ぶベクトルを算出し、
前記符号化対象ブロックの位置を始点とした前記ベクトルの位置を、検索の開始位置として前記符号化対象ブロックに対応する予測ブロックを検索する
処理を実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置等に関する。
【背景技術】
【０００２】
画像符号化の国際標準であるMPEG-4（ISO/IEC  14496-10｜ITU-T  H.264）及びHEVC（High  Efficiency  Video  Coding、ISO/IEC  23008-2｜ITU-T  H.265）に準拠した画像処理装置は、例えば、図１１に示すような構成となる。
【０００３】
図１１は、従来の画像処理装置の構成を示す図（１）である。図１１に示すように、この画像処理装置４０は、画面内予測部１０ａと、画面間ブロック予測部１０ｂとを有する。また、画像処理装置４０は、ブロック分割部１１と、差分器１２と、直交変換部１３と、量子化部１４と、可変長符号化部１５と、符号化制御部１６とを有する。画像処理装置４０は、逆量子化部１７と、逆直交変換部１８と、加算器１９と、ループフィルタ２０と、局所復号画像メモリ２１と、スイッチ２２とを有する。
【０００４】
以下の説明において、符号化対象となるブロックを、符号化対象ブロックと表記し、符号化ブロックを含むフレームを、符号化対象フレームと表記する。また、画面間ブロック予測部が画面間予測ブロックを探索するフレームを参照フレームと表記する。
【０００５】
画面内予測部１０ａは、符号化対象ブロックの周辺画素から予測ブロックを算出する処理部である。画面内予測部１０ａが、予測ブロックを算出する処理を適宜、「画面内予測処理」と表記する。画面内予測部１０ａは、スイッチ２２が画面内予測部１０ａに接続されている場合に、算出した予測ブロックを差分器１２に出力する。
【０００６】
画面間ブロック予測部１０ｂは、符号化対象ブロックと比較して誤差の小さいブロックを参照フレームから特定し、特定したブロックを予測ブロックとして特定する処理部である。画面間ブロック予測部１０ｂが予測ブロックを特定する処理を適宜、「画面間ブロック予測処理」と表記する。画面間ブロック予測部１０ｂは、スイッチ２２が画面間ブロック予測部１０ｂに接続されている場合に、算出した予測ブロックを差分器１２に出力する。
【０００７】
ブロック分割部１１は、原画像フレームを受け付けた場合に、原画像フレームを符号化単位となる矩形のブロックに分割することで、原画ブロックを生成する処理部である。ブロック分割部１１は、原画ブロックを、画面内予測部１０ａ、画面間ブロック予測部１０ｂ、差分器１２に出力する。
【０００８】
差分器１２は、原画ブロックと予測ブロックとを取得した場合に、原画ブロックから予測ブロックを減算することで、予測誤差ブロックを生成する処理部である。予測誤差ブロックは、原画ブロックから、空間的・時間的冗長性を取り除いたブロックとなる。差分器１２は、予測誤差ブロックを直交変換部１３に出力する。
【０００９】
直交変換部１３は、予測誤差ブロックに対し、空間的な相関が高いことを利用して、冗長性を低減する周波数変換を行うことで、予測誤差ブロックを変換係数に変換する処理部である。直交変換部１３は、変換係数を、量子化部１４に出力する。
【００１０】
量子化部１４は、変換係数を量子化することで、量子化変換係数を生成する処理部である。量子化部１４は、量子化変換係数を、可変長符号化部１５および逆量子化部１７に出力する。量子化部１４は、符号化制御部１６から出力される量子化値を基にして、量子化の際に、どの程度の細かさで数値にするのかを制御する。
【００１１】
可変長符号化部１５は、量子化変換係数に対して可変長の符号化を行うことで、符号化ストリームを生成する処理部である。可変長符号化部１５は、符号化ストリームをデコーダ等の外部装置に出力する。また、可変長符号化部１５は、符号化ストリームを出力する場合に割り当てられる帯域の情報を発生情報量として、符号化制御部１６に出力する。
【００１２】
符号化制御部１６は、発生情報量から量子化値を算出し、算出した量子化値を量子化部１４に出力する。
【００１３】
逆量子化部１７は、逆量子化を行うことで、量子化変換係数を逆量子化変換係数に変換する処理部である。逆量子化変換係数は、直交変換部１３から出力される変換係数に対応する情報である。逆量子化部１７は、逆量子化変換係数を逆直交変換部１８に出力する。
【００１４】
逆直交変換部１８は、逆周波数変換を行うことで、逆量子化変換係数を、予測誤差復号ブロックに変換する処理部である。予測誤差復号ブロックは、差分器１２から出力される予測誤差ブロックに対応する情報である。逆直交変換部１８は、予測誤差復号ブロックを、加算器１９に出力する。
【００１５】
加算器１９は、予測ブロックと予測誤差復号ブロックとを加算したブロックを生成する処理部である。加算器１９は、生成したブロックを、ループフィルタ２０および局所復号画像メモリ２１に出力する。
【００１６】
ループフィルタ２０は、加算器１９からブロックを受け付け、各ブロックを結合した場合の各ブロック間の凹凸などを滑らかにするデブロッキングフィルタを適用することで、局所復号画像を生成する処理部である。ループフィルタ２０は、局所復号画像を局所復号画像メモリ２１に出力する。
【００１７】
局所復号画像メモリ２１は、加算器１９から受け付けるブロック復号画像と、ループフィルタ２０から受け付ける局所復号画像とを記憶する記憶部である。局所復号メモリ２１に記憶されたブロック復号画像は画面内予測部１０ａに参照される。また、局所復号画像メモリ２１に記憶された局所復号画像は、画面間ブロック予測部１０ｂに参照される。例えば、局所復号画像は、符号化ストリームを受信するデコーダ側で復号される復号画像の局所的な画像となる。
【００１８】
ところで、HEVCの標準化において、スクリーンコンテンツ向けの拡張規格化作業が進められている。スクリーンコンテンツは、例えばＰＣのデスクトップ画面といった２Ｄ／３Ｄグラフィックが中心の動画像である。スクリーンコンテンツは、カメラで撮影した自然画像とは異なる性質を持つため、スクリーンコンテンツ向けの符号化ツールがいくつか検討されており、その一つが画面内ブロックコピー（Intra  Block  Copy、IBC）である。
【００１９】
図１２は、IBCを説明するための図である。IBCは、スクリーンコンテンツの各フレーム内に、フォントやテクスチャなど同一形状のパターンが複数存在する傾向があることを利用する。図１２では、一例として、符号化対象フレーム７０の符号化対象ブロック７０ａを符号化する場合について説明する。例えば、符号化対象ブロック７０ａの幅をＮ画素、縦をＭ画素とする。符号化対象フレームの領域７１は、符号化済みの領域とする。
【００２０】
IBCは、符号化ブロック７０ａと、領域７１の各ブロックとを比較し、符号化対象ブロックと最も差分値の小さいブロックを参照ブロックとして特定する。図１２に示す例では、ブロック７１ａを参照ブロックとする。IBCは、符号化ブロック７０ａと参照ブロック７１ａとの相対位置と、両ブロックの差分値を符号化する。
【００２１】
図１２で説明したIBCを利用する画像処理装置は、例えば、図１３に示すような構成となる。図１３は、従来の画像処理装置の構成を示す図（２）である。図１３に示すように、この画像処理装置５０は、画面内予測部１０ａと、画面間ブロック予測部１０ｂと、画面内ブロック予測部１０ｃとを有する。また、画像処理装置５０は、ブロック分割部１１と、差分器１２と、直交変換部１３と、量子化部１４と、可変長符号化部１５と、符号化制御部１６とを有する。画像処理装置５０は、逆量子化部１７と、逆直交変換部１８と、加算器１９と、ループフィルタ２０と、局所復号画像メモリ２１と、スイッチ２２とを有する。
【００２２】
図１３において、各処理部１１〜２２に関する説明は、図１１に示した各処理部１１〜２２に関する説明と同様であるため、説明を省略する。
【００２３】
画面内予測部１０ａは、図１１で説明した画面内予測処理を実行する処理部である。画面間ブロック予測部１０ｂは、図１１で説明した画面間ブロック予測処理を実行する処理部である。
【００２４】
画面内ブロック予測部１０ｃは、符号化対象フレーム内の符号化済みの領域から、最適なブロックを予測ブロックとして特定する処理部である。画面内ブロック予測部１０ｃが、予測ブロックを特定する処理部を適宜、「画面内ブロック予測処理」と表記する。画面内ブロック予測部１０ｃは、スイッチ２２が画面内ブロック予測部１０ｃに接続されている場合に、算出した予測ブロックを差分器１２に出力する。
【００２５】
図１４は、画面内予測処理、画面間ブロック予測処理、画面内ブロック予測処理を説明するための図である。まず、画面内予測部１０ａが実行する画面内予測処理の一例について説明する。画面内予測部１０ａは、符号化対象フレーム７０内の符号化対象ブロック７０ａの周辺画素７２ａ，７２ｂから、予測ブロックを算出する。例えば、画面内予測部１０ａは、周辺画素７２ａ，７２ｂの画素値を平均化した値を、符号化対象ブロック７０の予測ブロックとして算出する。なお、画面内予測部１０ａは、その他の予測モードに基づき、従来技術に基づいて、予測ブロックを算出しても良い。
【００２６】
画面間ブロック予測部１０ｂが実行する画面間ブロック予測処理の一例について説明する。画面間ブロック予測部１０ｂは、符号化対象ブロック７０ａと比較して、誤差の小さいブロックを参照フレーム８０から特定し、特定したブロックを予測ブロックとして特定する。例えば、符号化対象ブロック７０ａと比較して誤差の小さいブロックをブロック８０ａとすると、予測ブロックは、ブロック８０ａとなる。
【００２７】
画面内ブロック予測部１０ｃが実行する画面内ブロック予測処理の一例について説明する。画面内ブロック予測部１０ｃは、符号化対象フレーム７０の符号化済み領域から、最適なブロックを予測ブロックとして特定する。最適なブロックとは、例えば、符号化対象ブロック７０ａとの誤差が最小となるブロックに対応する。図１４に示す例では、画面内ブロック予測部１０ｃは、ブロック７１ａを予測ブロックとして特定する。
【００２８】
画像処理装置５０は、画面内予測処理、画面間ブロック予測処理、画面内ブロック予測処理の符号化コストを算出し、符号化コストが最小となる処理を判定し、判定結果を基にして、スイッチ２２を制御する。例えば、画像処理装置５０は、予測誤差と符号化データ量の重み付け加算により、符号化コストを算出する。
【００２９】
例えば、画面内予測処理の予測誤差は、符号化対象ブロック７０ａと、周辺画素７２ａ，７２ｂから求めた予測ブロックとの差分となる。画面間ブロック予測処理の予測誤差は、予測ブロック８０ａと、符号化対象ブロック７０ａとの差分となる。画面内ブロック予測処理の予測誤差は、符号化対象ブロック７０ａと予測ブロック７１ａとの差分となる。
【００３０】
画像処理装置５０は、画面内予測処理の符号化コストが最小となる場合には、画面内予測部１０ａとスイッチ２２とを接続する。画像処理装置５０は、画面間ブロック予測処理の符号化コストが最小となる場合には、画面間予測部１０ｂとスイッチ２２とを接続する。画像処理装置５０は、画面内ブロック予測処理の符号化コストが最小となる場合には、画面内ブロック予測部１０ｃとスイッチ２２とを接続する。
【００３１】
図１５は、従来の画像処理装置の処理手順を示すフローチャートである。図１５に示すように、画像処理装置５０の画面内予測部１０ａは、周辺画素を用いて符号化対象ブロックの画面内予測処理を行う。画面内予測部１０ａは、最適な画面内予測モードを選択し、予測ブロックを算出する（ステップＳ１０）。
【００３２】
画像処理装置５０の画面間ブロック予測部１０ｂは、画面間予測の参照フレーム内で画面間ブロック予測処理を行い、符号化コストが最小となる最適な画面間ブロック予測ベクトルを選択する（ステップＳ１１）。ステップＳ１１において、画面間ブロック予測ベクトルは、図１４の符号化対象ブロック７０ａからブロック８０ａに向かうベクトルに対応する。
【００３３】
画像処理装置５０の画面内ブロック予測部１０ｃは、符号化対象フレームの符号化済領域内から画面内ブロック予測処理を行い、最適な画面内ブロック予測ベクトルを選択する（ステップＳ１２）。ステップＳ１２において、画面内ブロック予測ベクトルは、図１４の符号化対象ブロック７０ａからブロック７１ａに向かうベクトルに対応する。画面処理装置５０は、画面内予測・画面間ブロック予測・画面内ブロック予測から最適な予測方法を選択し、予測誤差を算出する（ステップＳ１３）。
【先行技術文献】
【特許文献】
【００３４】
【特許文献１】特開２０１１−６１３０２号公報
【発明の概要】
【発明が解決しようとする課題】
【００３５】
しかしながら、上述した従来技術では、符号化処理の負荷が増大するという問題がある。
【００３６】
例えば、スクリーンコンテンツに対応するべく、図１３で説明した画像処理装置５０では、画面内ブロック予測処理を拡張機能として持つ。ここで、画面内ブロック予測処理は、探索範囲が同一フレームの符号化済み領域となるため、フレーム内の符号化対象ブロックの位置によっては探索範囲が広大となり、最適なブロック画素領域を計算するための処理負荷が増大する。
【００３７】
１つの側面では、符号化処理の負荷が増大することを抑止できる画像処理装置、画像処理方法および画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００３８】
第１の案では、画像処理装置は、取得部と、算出部と、検索部とを有する。取得部は、第１フレームに含まれる各ブロックと、第２フレームに含まれる符号化対象ブロックとを比較して予測誤差をそれぞれ算出する。取得部は、各予測誤差に基づいて、第１フレームに含まれる第１候補の予測ブロックの位置と、第２候補の予測ブロックの位置とを取得する。算出部は、第１候補の予測ブロックの位置と、第２候補の予測ブロックの位置とを結ぶベクトルを算出する。検索部は、符号化対象ブロックの位置を始点としたベクトルの位置を、検索の開始位置として符号化対象ブロックに対応する予測ブロックを検索する。
【発明の効果】
【００３９】
本発明の１実施態様によれば、符号化処理の負荷が増大することを抑止できる。
【図面の簡単な説明】
【００４０】
【図１】図１は、本実施例１に係る画像処理装置の処理の一例を説明するための図である。
【図２】図２は、本実施例１に係る画像処理装置の構成を示す図である。
【図３】図３は、本実施例１に係る画像処理装置の処理手順を示すフローチャートである。
【図４】図４は、本実施例２に係る画像処理装置の処理の一例を示す図である。
【図５】図５は、本実施例２に係る画像処理装置の構成を示す図である。
【図６】図６は、本実施例２に係る画像処理装置の処理手順を示すフローチャートである。
【図７】図７は、本実施例３に係る画像処理装置の処理の一例を示す図である。
【図８】図８は、本実施例３に係る画像処理装置の構成を示す図である。
【図９】図９は、本実施例３に係る画像処理装置の処理手順を示すフローチャートである。
【図１０】図１０は、画像処理プログラムを実行するコンピュータの一例を示す図である。
【図１１】図１１は、従来の画像処理装置の構成を示す図（１）である。
【図１２】図１２は、IBCを説明するための図である。
【図１３】図１３は、従来の画像処理装置の構成を示す図（２）である。
【図１４】図１４は、画面内予測処理、画面間ブロック予測処理、画面内ブロック予測処理を説明するための図である。
【図１５】図１５は、従来の画像処理装置の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００４１】
以下に、本願の開示する画像処理装置、画像処理方法および画像処理プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００４２】
本実施例１に係る画像処理装置の処理の一例について説明する。図１は、本実施例１に係る画像処理装置の処理の一例を説明するための図である。本実施例１の説明では、符号化対象となるブロックを、符号化対象ブロックと表記し、符号化対象ブロックを含むフレームを、符号化対象フレームと表記する。また、画面間ブロック予測部が画面間予測ブロックを探索するフレームを参照フレームと表記する。
【００４３】
画像処理装置は、画面間ブロック予測処理で求める画面間ブロック予測ベクトルが示す、参照フレームの画面内ブロック予測ベクトルを推定ベクトルとして特定する。画像処理装置は、画面内ブロック予測処理を行う場合に、推定ベクトルを利用して、予測ブロックの検索範囲を絞り込むことで、符号化処理の負荷が増大することを抑止する。係る画像処理装置の処理は、時間的に近いフレーム内における絵柄の相対位置は、画像が動いている場合でも大きく変わらないという考えに基づくものである。
【００４４】
図１を用いて、画像処理装置の処理を説明する。画像処理装置は、画面間ブロック予測処理を実行して、符号化対象フレーム７０の符号化対象ブロック７０ａに対応する参照ブロック８０ａを特定する。符号化対象ブロック７０ａから参照ブロック８０ａに至るベクトルを、画面間ブロック予測ベクトル７５とする。
【００４５】
画像処理装置は、参照フレーム８０に対して実行した前回の画面内ブロック予測処理の結果を参照して、参照ブロック８０ａに対する画面内ブロック予測処理の結果となる参照ブロック８０ｂを特定する。参照ブロック８０ａから参照ブロック８０ｂに至るベクトルを、推定ベクトル８５とする。
【００４６】
画像処理装置は、符号化対象ブロック７０ａの画像複雑度が所定の閾値以上で、画面間ブロック予測ベクトル７５の予測誤差の差分絶対値和が所定の閾値未満である場合に、推定ベクトル８５を用いて、符号化対象ブロック７０ａの画面内ブロック予測処理を実行する。差分絶対値和の代わりに差分二乗和を用いてもよい。例えば、画像処理装置は、符号化対象ブロック７０ａの位置を始点とした推定ベクトル８５の位置を、検索の開始位置とし、係る開始位置を基準とし、符号化済みの領域を含んだ領域に対して、画面内ブロック予測処理を実行する。予測誤差の差分絶対値和SADは、式（４）で定義される。また、予測誤差の差分二乗和SSEは、式（５）で定義される。
【００４７】
SAD=Σ|PxlAi-Pxlbi|          ・・・（４）
SSE=Σ|PxlAi-Pxlbi|2          ・・・（５）
ここで、PxlAiは符号化対象ブロックに属する画素の画素値、PxlBiは、参照ブロックに属する画素の画素値とする。
【００４８】
画像処理装置は、上記のように、符号化対象ブロック７０ａの位置を始点とした推定ベクトル８５の位置を、検索の開始位置とすることで、検索範囲を制限して探索処理を行うことができ、画面内ブロック予測の処理負荷の増加を抑止することができる。
【００４９】
図２は、本実施例１に係る画像処理装置の構成を示す図である。図２に示すように、この画像処理装置１００は、画面内予測部１００ａと、画面間ブロック予測部１００ｂと、推定ベクトル算出部１００ｃと、メモリ１００ｄと、画面内ブロック予測部１００ｅとを有する。画像処理装置１００は、ブロック分割部１０１と、差分器１０２と、直交変換部１０３と、量子化部１０４と、可変長符号化部１０５と、符号化制御部１０６とを有する。画像処理装置１００は、逆量子化部１０７と、逆直交変換部１０８と、加算器１０９と、ループフィルタ１１０と、局所復号画像メモリ１１１と、スイッチ１１２とを有する。
【００５０】
例えば、画面内ブロック予測部１００ｅは、第１特定部および検索部に対応する。推定ベクトル算出部１００ｃは、第２特定部に対応する。
【００５１】
画面内予測部１００ａは、符号化対象ブロックの周辺画素から予測ブロックを算出する処理部である。画面内予測部１００ａが、予測ブロックを算出する処理を適宜、「画面内予測処理」と表記する。画面内予測部１００ａは、スイッチ１１２が画面内予測部１００ａに接続されている場合に、算出した予測ブロックを差分器１０２に出力する。
【００５２】
例えば、図１４で説明したように、画面内予測部１００ａは、符号化対象フレーム７０内の符号化対象ブロック７０ａの周辺画素７２ａ，７２ｂから、予測ブロックを算出する。例えば、画面内予測部１００ａは、周辺画素７２ａ，７２ｂの画素値を平均化した値を、符号化対象ブロック７０の予測ブロックとして算出する。なお、画面内予測部１００ａは、その他の予測モードに基づき、従来技術に基づいて、予測ブロックを算出しても良い。
【００５３】
画面内予測部１００ａは、周辺画素７２ａ，７２の情報を、後述する局所復号画像メモリ１１１に格納されたブロック復号画像から取得する。画面内予測部１００ａは、予測モード、予測ブロックを出力する。たとえば、画面内予測処理の予測誤差は、符号化対象ブロック７０ａと、周辺画素７２ａ、７２ｂから求めた予測ブロックとの差分となる。
【００５４】
画面間ブロック予測部１００ｂは、符号化対象ブロックと比較して誤差の小さいブロックを参照フレームから特定し、特定したブロックを予測ブロックとして特定する処理部である。画面間ブロック予測部１００ｂが予測ブロックを特定する処理を適宜、「画面間ブロック予測処理」と表記する。画面間ブロック予測部１００ｂは、スイッチ１１２が画面間ブロック予測部１００ｂに接続されている場合に、算出した予測ブロックを差分器１０２に出力する。また、画面間ブロック予測部１００ｂは、画面間ブロック予測ベクトルを推定ベクトル算出部１００ｃに出力する。
【００５５】
例えば、図１４で説明したように、画面間ブロック予測部１００ｂは、符号化対象ブロック７０ａと比較して、誤差の小さいブロックを参照フレーム８０から特定し、特定したブロックを予測ブロックとして特定する。例えば、符号化対象ブロック７０ａと比較して誤差の小さいブロックをブロック８０ａとすると、予測ブロックは、ブロック８０ａとなる。符号化対象ブロック７０ａから予測ブロック８０ａに至るベクトルが、画面間ブロック予測ベクトルとなる。
【００５６】
画面間ブロック予測部１００ｂは、参照フレームの情報を、後述する局所復号画像メモリ１１１に格納された局所復号画像から取得する。画面間ブロック予測部１００ｂは、予測ブロック、予測ベクトルを出力する。例えば、画面間ブロック予測処理の予測誤差は、予測ブロック８０ａと、符号化対象ブロック７０ａとの差分となる。
【００５７】
推定ベクトル算出部１００ｃは、所定の条件１Ａ、２Ａ、３Ａを満たすと判定した場合に、推定ベクトルを算出し、算出した推定ベクトルを画面内ブロック予測部１００ｅに出力する処理部である。例えば、所定の条件１Ａ、２Ａ、３Ａは、下記に示すものとなる。
【００５８】
条件１Ａ：符号化対象ブロックの画像複雑度が所定の閾値Ｔ１以上である。
条件２Ａ：符号化対象フレームの符号化対象ブロックと、画面間ブロック予測ベクトルで示される参照フレームのブロックとの予測誤差の差分絶対値和が閾値Ｔ２未満である。
条件３Ａ：画面間ブロック予測ベクトルで示される参照フレームのブロックの画面内予測の予測誤差の差分絶対値和が閾値Ｔ３未満である。
上記の差分絶対値和の代わりに、差分二乗和を用いてもよい。
【００５９】
推定ベクトル算出部１００ｃは、画像複雑度の指標として、画素の分散または画素差分からの差分絶対値和を用いる。推定ベクトル算出部１００ｃは、画素の分散を式（１）に基づき算出する。式（１）において、pxliは、原画ブロックの画素値である。
【００６０】
【数１】
2016178375.tif 000003
【００６１】
推定ベクトル算出部１００ｃは、画素差分からの差分絶対値和を式（２）に基づき算出する。式（２）に含まれるAvePxlは、式（３）で定義される。
【００６２】
【数２】
2016178375.tif 000004
【００６３】
【数３】
2016178375.tif 000005
【００６４】
推定ベクトル算出部１００ｃは、条件１Ａ〜３Ａを全て満たしていると判定した場合には、画面間ブロック予測ベクトルに対応するブロックの画面内ブロック予測ベクトルを、メモリ１００ｄから取得し、取得したベクトルを、推定ベクトルとする。例えば、図１を用いて説明すると、推定ベクトル算出部１００ｃは、画面間ブロック予測ベクトル７５に対応するブロック８０ａの画面内ブロック予測ベクトル８５を、推定ベクトルとする。推定ベクトル算出部１００ｃは、推定ベクトルを、画面内ブロック予測部１００ｅに出力する。
【００６５】
メモリ１００ｄは、フレーム毎にブロックと、このブロックに対応する画面内ブロック予測ベクトルとを対応付けて記憶するメモリである。ブロックに対応する画面内ブロック予測ベクトルは、後述する画面内ブロック予測部１００ｅから出力される。
【００６６】
画面内ブロック予測部１００ｅは、推定ベクトルを取得した場合には、符号化対象ブロックの位置を始点とした推定ベクトルの示す位置を開始位置とする。画面内ブロック予測部１００ｅは、開始位置から、符号化対象ブロックと差が小さい最適なブロックを予測ブロックとして、符号化済みの領域から特定する。
【００６７】
これに対して、画面内ブロック予測部１００ｅは、推定ベクトルを取得していない場合には、符号化対象フレーム内の符号化済みの領域から、最適なブロックを予測ブロックとして特定する。
【００６８】
画面内ブロック予測部１００ｅが、予測ブロックを特定する処理部を適宜、「画面内ブロック予測処理」と表記する。画面内ブロック予測部１００ｅは、スイッチ１１２が画面内ブロック予測部１００ｅに接続されている場合に、算出した予測ブロックを差分器１０２に出力する。また、画面内ブロック予測部１００ｅは、符号化対象フレームを識別する情報と、ブロックの位置と、このブロックに対応する画面内ブロック予測ベクトルとを対応付けて、メモリ１００ｄに格納する。
【００６９】
例えば、図１４で説明したように、画面内ブロック予測部１００ｅは、符号化対象フレーム７０の符号化済み領域から、最適なブロックを予測ブロックとして特定する。最適なブロックとは、例えば、符号化対象ブロック７０ａとの誤差が最小となるブロックに対応する。図１４に示す例では、画面内ブロック予測部１００ｅは、ブロック７１ａを予測ブロックとして特定する。
【００７０】
画面内ブロック予測部１００ｅは、予測ベクトル、予測ブロックを出力する。例えば、画面内ブロック予測処理の予測ベクトルは、予測ブロック７１ａの位置と、符号化対象ブロック７０ａの位置との差分となる。
【００７１】
図２の説明に戻る。ブロック分割部１０１は、原画像フレームを受け付けた場合に、原画像フレームを符号化単位となる矩形のブロックに分割することで、原画ブロックを生成する処理部である。ブロック分割部１０１は、原画ブロックを、画面内予測部１００ａ、画面間ブロック予測部１００ｂ、推定ベクトル算出部１００ｃ、画面内ブロック予測部１００ｅ、差分器１０２に出力する。
【００７２】
差分器１０２は、原画ブロックと予測ブロックとを取得した場合に、原画ブロックから予測ブロックを減算することで、予測誤差ブロックを生成する処理部である。予測誤差ブロックは、原画ブロックから、空間的・時間的冗長性を取り除いたブロックとなる。差分器１０２は、予測誤差ブロックを直交変換部１０３に出力する。
【００７３】
直交変換部１０３は、予測誤差ブロックに対し、空間的な相関が高いことを利用して、冗長性を低減する周波数変換を行うことで、予測誤差ブロックを変換係数に変換する処理部である。直交変換部１０３は、変換係数を、量子化部１０４に出力する。
【００７４】
量子化部１０４は、変換係数を量子化することで、量子化変換係数を生成する処理部である。量子化部１０４は、量子化変換係数を、可変長符号化部１０５および逆量子化部１０７に出力する。量子化部１０４は、符号化制御部１０６から出力される量子化値を基にして、量子化の際に、どの程度の細かさで数値にするのかを制御する。
【００７５】
可変長符号化部１０５は、量子化変換係数に対して可変長の符号化を行うことで、符号化ストリームを生成する処理部である。可変長符号化部１０５は、符号化ストリームをデコーダ等の外部装置に出力する。また、可変長符号化部１０５は、符号化ストリームを出力する場合に割り当てられる帯域の情報を発生情報量として、符号化制御部１０６に出力する。
【００７６】
符号化制御部１０６は、発生情報量から量子化値を算出し、変換した量子化値を量子化部１０４に出力する。
【００７７】
逆量子化部１０７は、逆量子化を行うことで、量子化変換係数を逆量子化変換係数に変換する処理部である。逆量子化変換係数は、直交変換部１０３から出力される変換係数に対応する情報である。逆量子化部１０７は、逆量子化変換係数を逆直交変換部１０８に出力する。
【００７８】
逆直交変換部１０８は、逆周波数変換を行うことで、逆量子変換係数を、予測誤差復号ブロックに変換する処理部である。予測誤差復号ブロックは、差分器１０２から出力される予測誤差ブロックに対応する情報である。逆直交変換部１０８は、予測誤差復号ブロックを、加算器１０９に出力する。
【００７９】
加算器１０９は、予測ブロックと予測誤差復号ブロックとを加算したブロックを生成する処理部である。加算器１０９は、生成したブロックを、ループフィルタ１１０および局所復号画像メモリ１１１に出力する。
【００８０】
ループフィルタ１１０は、加算器１０９からブロックを受け付け、各ブロックを結合した場合の各ブロック間の凹凸などを滑らかにするデブロッキングフィルタを適用することで、局所復号画像を生成する処理部である。ループフィルタ１１０は、局所復号画像を局所復号画像メモリ１１１に出力する。
【００８１】
局所復号画像メモリ１１１は、加算器１０９から受け付けるブロック復号画像と、ループフィルタ１１０から受け付ける局所復号画像とを記憶する記憶部である。局所復号画像メモリ１１１に記憶された局所復号画像は、画面内予測部１００ａ、画面間ブロック予測部１００ｂ、推定ベクトル算出部１００ｃ、画面内ブロック予測部１００ｅに参照される。例えば、局所復号画像は、符号化ストリームを受信するデコーダ側で復号される復号画像の局所的な画像となる。
【００８２】
ところで、画像処理装置１００は、画面内予測処理、画面間ブロック予測処理、画面内ブロック予測処理の符号化コストを算出し、符号化コストが最小となる処理を判定し、判定結果を基にして、スイッチ１１２を制御する。例えば、画像処理装置１００は、予測誤差と符号化データ量の重み付け加算により、符号化コストを算出する。
【００８３】
画像処理装置１００は、画面内予測処理の符号化コストが最小となる場合には、画面内予測部１００ａとスイッチ１１２とを接続する。画像処理装置１００は、画面間ブロック予測処理の符号化コストが最小となる場合には、画面間ブロック予測部１００ｂとスイッチ１１２とを接続する。画像処理装置１００は、画面内ブロック予測処理の符号化コストが最小となる場合には、画面内ブロック予測部１００ｅとスイッチ１１２とを接続する。
【００８４】
次に、本実施例１に係る画像処理装置１００の処理手順について説明する。図３は、本実施例１に係る画像処理装置の処理手順を示すフローチャートである。図３に示すように、画像処理装置１００の画面内予測部１００ａは、周辺画素を用いて符号化対象ブロックの画面内予測処理を行う。画面内予測部１００ａは、最適な画面内予測モードを選択し、予測ブロックを算出する（ステップＳ１０１）。
【００８５】
画像処理装置１００の画面間ブロック予測部１００ｂは、画面間ブロック予測処理を行い、符号化コストが最小となる最適な画面間ブロック予測ベクトルを選択する（ステップＳ１０２）。
【００８６】
画像処理装置１００の推定ベクトル算出部１００ｃは、画面間ブロック予測ベクトルが示す、参照フレームの画面内ブロック予測ベクトルを、符号化対象ブロックの推定ベクトルに設定する（ステップＳ１０３）。
【００８７】
推定ベクトル算出部１００ｃは、条件１Ａ〜３Ａを満たすか否かを判定する（ステップＳ１０４）。推定ベクトル算出部１００ｃは、条件１Ａ〜３Ａを満たさない場合には（ステップＳ１０４，Ｎｏ）、ステップＳ１０５に移行する。
【００８８】
画像処理装置１００の画面内ブロック予測部１００ｅは、符号化対象フレームの符号化済みの領域内から、画面内ブロック予測処理を行い、最適な画面内ブロック予測ベクトルを検索し（ステップＳ１０５）、ステップＳ１０７に移行する。
【００８９】
一方、推定ベクトル算出部１００ｃは、条件１Ａ〜３Ａを満たす場合には（ステップＳ１０４，Ｙｅｓ）、ステップＳ１０６に移行する。画面内ブロック予測部１００ｅは、メモリ１００ｄに格納された、画面内ブロック予測ベクトル（推定ベクトル）を検索の開始位置として、最適な画面内ブロック予測ベクトルを検索する（ステップＳ１０６）。
【００９０】
画面内ブロック予測部１００ｅは、最適な画面内ブロック予測ベクトルをメモリ１００ｄに保存する（ステップＳ１０７）。画像処理装置１００は、画面内予測・画面間ブロック予測・画面内ブロック予測から最適な予測方法を選択し、予測誤差を算出する（ステップＳ１０８）。
【００９１】
次に、本実施例１に係る画像処理装置１００の効果について説明する。画像処理装置１００は、画面間ブロック予測処理、前フレームの画面内ブロック予測処理の結果を利用して、符号化対象ブロックの画面内ブロック予測の推定ベクトルを求める。そして、画像処理装置１００は、符号化対象ブロックの位置を始点とした推定ベクトルの位置を、検索の開始位置とし、画面内ブロック予測処理を実行する。このため、画面内ブロック予測処理の探索範囲を制限して探索処理を行うことができ、画面内ブロック予測の処理負荷の増加を抑止することができる。
【００９２】
例えば、スクリーンコンテンツでは、各フレーム内に、フォントやテクスチャなど同一形状のパターンが複数存在する傾向があるため、IBCに対応する画面内ブロック予測処理の重要度が高くなる。このため、推定ベクトルを用いて、画面内ブロック予測の処理負荷を抑えることは、スクリーンコンテンツを取り扱う画像処理装置１００全体の処理負荷を抑止することにもつながる。
【実施例２】
【００９３】
本実施例２に係る画像処理装置の処理の一例について説明する。図４は、本実施例２に係る画像処理装置の処理の一例を示す図である。画像処理装置は、複数の画面間ブロック予測ベクトルから推定ベクトルを算出する。画像処理装置は、画面内ブロック予測処理を行う場合に、推定ベクトルを利用して、予測ブロックの探索範囲を絞り込むことで、符号化処理の負荷が増大することを抑止する。
【００９４】
図４を用いて、画像処理装置の処理を説明する。画像処理装置は、画面間ブロック予測処理を実行して、符号化対象フレーム７０の符号化対象ブロック７０ａに対応する第１候補の参照ブロック８１ａと、第２候補の参照ブロック８１ｂとを特定する。例えば、第１候補の参照ブロック８１ａは、参照フレーム８０の各ブロックの中で１番目に符号化対象ブロック７０ａとの予測誤差の差分絶対値和が小さいブロックとする。第２候補の参照ブロック８１ｂは、参照フレーム８０の各ブロックの中で２番目に符号化対象ブロック７０ａとの予測誤差の差分絶対値和が小さいブロックとする。差分絶対値和の代わりに差分二乗和を用いてもよい。
【００９５】
符号化対象ブロック７０ａから参照ブロック８１ａに至るベクトルを画面間ブロック予測ベクトル７６ａとする。符号化対象ブロック７０ａから参照ブロック８１ｂに至るベクトルを画面間ブロック予測ベクトル７６ｂとする。画像処理装置は、画面間ブロック予測ベクトル７６ａと、画面間ブロック予測ベクトル７６ｂとの差分を、推定ベクトル８６として特定する。
【００９６】
画像処理装置は、符号化対象ブロック７０ａの画像複雑度が所定の閾値以上で、画面間ブロック予測ベクトル７６ａ，７６ｂの予測誤差の差分絶対値和が所定の閾値未満である場合に、推定ベクトル８６を用いて、符号化対象ブロック７０ａの画面内ブロック予測処理を実行する。差分絶対値和の代わりに、差分二乗和を用いてもよい。例えば、画像処理装置は、符号化対象ブロック７０ａの位置を始点とした推定ベクトル８６の位置を、検索の開始位置とし、係る開始位置を基準とし、符号化済みの領域を含んだ領域に対して、画面内ブロック予測処理を実行する。
【００９７】
画像処理装置は、上記のように、符号化対象ブロック７０ａの位置を始点とした推定ベクトル８６の位置を、検索の開始位置とすることで、検索範囲を制限して探索処理を行うことができ、画面内ブロック予測の処理負荷の増加を抑止することができる。
【００９８】
図５は、本実施例２に係る画像処理装置の構成を示す図である。図５に示すように、この画像処理装置２００は、画面内予測部２００ａと、画面間ブロック予測部２００ｂと、推定ベクトル算出部２００ｃと、画面内ブロック予測部２００ｄとを有する。画像処理装置２００は、ブロック分割部２０１と、差分器２０２と、直交変換部２０３と、量子化部２０４と、可変長符号化部２０５と、符号化制御部２０６とを有する。画像処理装置２００は、逆量子化部２０７と、逆直交変換部２０８と、加算器２０９と、ループフィルタ２１０と、局所復号画像メモリ２１１と、スイッチ２１２とを有する。
【００９９】
例えば、画面間ブロック予測部２００ｂは、取得部に対応する。推定ベクトル算出部２００ｃは、算出部に対応する。画面内ブロック予測部２００ｄは、検索部に対応する。
【０１００】
画面内予測部２００ａは、符号化対象ブロックの周辺画素から予測ブロックを算出する処理部である。画面内予測部２００ａに関する説明は、画面内予測部１００ａに関する説明と同様である。画面内予測部２００ａは、スイッチ２１２が画面内予測部２００ａに接続されている場合に、算出した予測ブロックを差分器２０２に出力する。
【０１０１】
画面間ブロック予測部２００ｂは、符号化対象ブロックと比較して誤差の小さい第１、２候補のブロックを参照フレームから特定し、特定した第１候補のブロックを予測ブロックとして特定する。また、画面間ブロック予測部２００ｂは、第１候補のブロックに対応する画面間ブロック予測ベクトルと、第２候補のブロックに対応する画面間ブロック予測ベクトルを、推定ベクトル算出部２００ｃに出力する。
【０１０２】
以下の説明において、適宜、第１候補のブロックに対応する画面間ブロック予測ベクトルを、第１予測ベクトルと表記する。第２候補のブロックに対応する画面間ブロック予測ベクトルを、第２予測ベクトルと表記する。例えば、第１予測ベクトルは、図４で説明した、画面間ブロック予測ベクトル７６ａに対応する。第２予測ベクトルは、図４で説明した、画面間ブロック予測ベクトル７６ｂに対応する。
【０１０３】
画面間ブロック予測部２００ｂに関するその他の説明は、画面間ブロック予測部１００ｂに関する説明と同様である。
【０１０４】
推定ベクトル算出部２００ｃは、所定の条件１Ｂ、２Ｂを満たすと判定した場合に、推定ベクトルを算出し、算出した推定ベクトルを画面内ブロック予測部２００ｄに出力する処理部である。例えば、所定の条件１Ｂ、２Ｂは、下記に示すものとなる。
【０１０５】
条件１Ｂ：符号化対象ブロックの画像複雑度が所定の閾値Ｔ１以上である。
条件２Ｂ：第１予測ベクトルおよび第２予測ベクトルの予測誤差の差分絶対値和が閾値Ｔ４未満である。
差分絶対値和の代わりに、差分二乗和を用いてもよい。
【０１０６】
条件１Ｂについて、符号化対象ブロックの画像複雑度を算出する処理は、実施例１の推定ベクトル算出部１００ｃが実行する処理と同様である。
【０１０７】
条件２Ｂについて、第１予測ベクトルの予測誤差の差分絶対値和は、符号化対象ブロックと、第１予測ベクトルで示される参照ブロックとの画素の差分絶対値和である。第２予測ベクトルの予測誤差は、符号化対象ブロックと、第２予測ベクトルで示される参照ブロックとの画素の差分絶対値和である。差分絶対値和の代わりに差分二乗和を用いてもよい。
【０１０８】
推定ベクトル算出部２００ｃは、条件１Ｂ〜２Ｂを全て満たしていると判定した場合には、第１予測ベクトルと第２予測ベクトルとの差分となる推定ベクトルを、画面内ブロック予測部２００ｄに出力する。
【０１０９】
画面内ブロック予測部２００ｄは、推定ベクトルを取得した場合には、符号化対象ブロックの位置を始点とした推定ベクトルの示す位置を開始位置とする。画面内ブロック予測部２００ｄは、開始位置から、符号化対象ブロックと差が小さい最適なブロックを予測ブロックとして、符号化済みの領域から特定する。
【０１１０】
これに対して、画面内ブロック予測部２００ｄは、推定ベクトルを取得していない場合には、符号化対象フレーム内の符号化済みの領域から、最適なブロックを予測ブロックとして特定する。画面内ブロック予測２００ｄは、スイッチ２１２が画面内ブロック予測部２００ｄに接続されている場合に、算出した予測ブロックを差分器２０２に出力する。画面内ブロック予測部２００ｄに関するその他の説明は、画面内ブロック予測部１００ｅと同様である。
【０１１１】
図５の説明に戻る。図５に示す各処理部２０１〜２１２に関する説明は、図２に示した各処理部１０１〜１１２に関する説明と同様であるため、説明を省略する。
【０１１２】
ところで、画像処理装置２００は、画面内予測処理、画面間ブロック予測処理、画面内ブロック予測処理の符号化コストを算出し、符号化コストが最小となる処理を判定し、判定結果を基にして、スイッチ２１２を制御する。例えば、画像処理装置２００は、予測誤差と符号化データ量の重み付け加算により、符号化コストを算出する。
【０１１３】
画像処理装置２００は、画面内予測処理の符号化コストが最小となる場合には、画面内予測部２００ａとスイッチ２１２とを接続する。画像処理装置２００は、画面間ブロック予測処理の符号化コストが最小となる場合には、画面間ブロック予測部２００ｂとスイッチ２１２とを接続する。画像処理装置２００は、画面内ブロック予測処理の符号化コストが最小となる場合には、画面内ブロック予測部２００ｄとスイッチ２１２とを接続する。
【０１１４】
次に、本実施例２に係る画像処理装置２００の処理手順について説明する。図６は、本実施例２に係る画像処理装置の処理手順を示すフローチャートである。図６に示すように、画像処理装置２００の画面内予測部２００ａは、周辺画素を用いて符号化対象ブロックの画面内予測処理を行う。画面内予測部２００ａは、最適な画面内予測モードを選択し、予測ブロックを算出する（ステップＳ２０１）。
【０１１５】
画像処理装置２００の画面間ブロック予測部２００ｂは、画面間ブロック予測処理を行い、符号化コストが最小となる最適な画面間ブロック予測ベクトルを選択する（ステップＳ２０２）。
【０１１６】
画像処理装置２００の推定ベクトル算出部２００ｃは、画面間ブロック予測処理において、第１候補の参照ブロックと、第２候補の参照ブロックを結ぶ推定ベクトルを算出する（ステップＳ２０３）。
【０１１７】
推定ベクトル算出部２００ｃは、条件１Ｂ〜２Ｂを満たすか否かを判定する（ステップＳ２０４）。推定ベクトル算出部２００ｃは、条件１Ｂ〜２Ｂを満たさない場合には（ステップＳ２０４，Ｎｏ）、ステップＳ２０５に移行する。
【０１１８】
画像処理装置２００の画面内ブロック予測部２００ｄは、符号化対象フレームの符号化済みの領域内から、画面内ブロック予測処理を行い、最適な画面内予測ベクトルを検索し（ステップＳ２０５）、ステップＳ２０７に移行する。
【０１１９】
一方、推定ベクトル算出部２００ｃは、条件１Ｂ〜２Ｂを満たす場合には（ステップＳ２０４，Ｙｅｓ）、ステップＳ２０６に移行する。画面内ブロック予測部２００ｄは、推定ベクトルを検索の開始位置として、最適な画面内予測ベクトルを検索する（ステップＳ２０６）。
【０１２０】
画像処理装置２００は、画面内予測・画面間ブロック予測・画面内ブロック予測から最適な予測方法を選択し、予測誤差を算出する（ステップＳ２０７）。
【０１２１】
次に、本実施例２に係る画像処理装置の効果について説明する。画像処理装置２００は、画面間ブロック予測処理の予測結果を利用して、第１予測ベクトルと第２予測ベクトルとの差から推定ベクトルを求める。そして、画像処理装置２００は、符号化対象ブロックの位置を始点とした推定ベクトルの位置を、検索の開始位置とし、画面内ブロック予測処理を実行する。このため、画面内ブロック予測処理の探索範囲を制限して探索処理を行うことができ、画面内ブロック予測の処理負荷の増加を抑止することができる。
【実施例３】
【０１２２】
本実施例３に係る画像処理装置の処理の一例について説明する。図７は、本実施例３に係る画像処理装置の処理の一例を示す図である。画像処理装置は、他のフレームの各ブロックのうち、符号化対象ブロックの位置と同じ位置のブロックの画面内ブロック予測ベクトルを、推定ベクトルとして算出する。画像処理装置は、符号化対象ブロックについて、画面内ブロック予測処理を行う場合に、推定ベクトルを利用して、予測ブロックの探索範囲を絞り込むことで、符号化処理の負荷が増大することを抑止する。
【０１２３】
図７を用いて、画像処理装置の処理を説明する。図７では、符号化対象フレームを、符号化対象フレーム７０とし、他のフレームをフレーム９０として説明する。他のフレーム９０は、画面間ブロック予測の対象とならなかったフレームとする。画像処理装置は、符号化対象ブロック７０ａが動いていないことを想定して、符号化対象ブロック７０ａと同じ位置に存在する、他のフレーム９０のブロック９０ａを特定する。画像処理装置は、前の処理で特定した、ブロック９０ａの画面内ブロック予測ベクトル９１を取得し、かかる画面内ブロック予測ベクトル９１を推定ベクトルとする。
【０１２４】
図８は、本実施例３に係る画像処理装置の構成を示す図である。図８に示すように、この画像処理装置３００は、画面内予測部３００ａと、推定ベクトル算出部３００ｃと、メモリ３００ｄと、画面内ブロック予測部３００ｅを有する。画像処理装置３００は、ブロック分割部３０１と、差分器３０２と、直交変換部３０３と、量子化部３０４と、可変長符号化部３０５と、符号化制御部３０６とを有する。画像処理装置３００は、逆量子化部３０７と、逆直交変換部３０８と、加算器３０９と、ループフィルタ３１０と、局所復号画像メモリ３１１と、スイッチ３１２とを有する。
【０１２５】
例えば、画面内ブロック予測部３００ｅは、第１特定部および検索部に対応する。推定ベクトル算出部３００ｃは、第２特定部に対応する。
【０１２６】
画面内予測部３００ａは、符号化対象ブロックの周辺画素から予測ブロックを算出する処理部である。画面内予測部３００ａに関する説明は、画面内予測部１００ａに関する説明と同様である。画面内予測部３００ａは、スイッチ３１２が画面内予測部３００ａに接続されている場合に、算出した予測ブロックを差分器３０２に出力する。
【０１２７】
推定ベクトル算出部３００ｃは、所定の条件１Ｃ、２Ｃを満たすと判定した場合に、推定ベクトルを算出し、算出した推定ベクトルを画面内ブロック予測部３００ｅに出力する処理部である。例えば、所定の条件１Ｃ、２Ｃは、下記に示すものとなる。
【０１２８】
条件１Ｃ：符号化対象ブロックの画像複雑度が所定の閾値Ｔ１以上である。
条件２Ｃ：符号化対象ブロックと、符号化対象ブロックの位置と同じ位置の他のフレームのブロックとの画差の差分絶対値和が閾値Ｔ６未満である。
【０１２９】
条件１Ｃについて、符号化対象ブロックの画像複雑度を算出する処理は、実施例１の推定ベクトル算出部１００ｃが実行する処理と同様である。
【０１３０】
条件２Ｃについて、符号化対象ブロックを図７のブロック７０ａとすると、符号化対象ブロックの位置と同じ位置の他のフレームのブロックは、ブロック９０ａとなる。例えば、符号化対象ブロック７０ａと、ブロック９０ａとの差分の差分絶対値和が閾値Ｔ６未満であれば、条件２Ｃを満たす。差分絶対値和の代わりに、差分二乗和を用いてもよい。
【０１３１】
推定ベクトル算出部３００ｃは、条件１Ｃ〜２Ｃを全て満たしていると判定した場合には、該当するブロックの画面内ブロック予測ベクトルを、メモリ３００ｄから取得し、取得したベクトルを、推定ベクトルとする。例えば、図７を用いて説明すると、推定ベクトル算出部３００ｃは、ブロック９０ａの画面内ブロック予測ベクトル９１を、推定ベクトルとする。推定ベクトル算出部３００ｃは、推定ベクトルを、画面内ブロック予測部３００ｅに出力する。
【０１３２】
メモリ３００ｄは、フレーム毎にブロックと、このブロックに対応する画面内ブロック予測ベクトルとを対応付けて記憶するメモリである。ブロックに対応する画面内ブロック予測ベクトルは、後述する画面内ブロック予測部３００ｅから出力される。
【０１３３】
画面内ブロック予測部３００ｅは、推定ベクトルを取得した場合には、符号化対象ブロックの位置を始点とした推定ベクトルの示す位置を開始位置とする。画面内ブロック予測部３００ｅは、開始位置から、符号化対象ブロックと差が小さい最適なブロックを予測ブロックとして、符号化済みの領域から特定する。
【０１３４】
これに対して、画面内ブロック予測部３００ｅは、推定ベクトルを取得していない場合には、符号化対象フレーム内の符号化済みの領域から、最適なブロックを予測ブロックとして特定する。
【０１３５】
画面内ブロック予測部３００ｅは、スイッチ３１２が画面内ブロック予測部３００ｃに接続されている場合に、算出した予測ブロックを差分器３０２に出力する。また、画面内ブロック予測部３００ｅは、符号化対象フレームを識別する情報と、ブロックの位置と、このブロックに対応する画面内ブロック予測ベクトルとを対応付けて、メモリ３００ｄに格納する。画面内ブロック予測部３００ｅに関するその他の説明は、画面内ブロック予測部１００ｅに関する説明と同様である。
【０１３６】
図８の説明に戻る。図８に示す各処理部３０１〜３１２に関する説明は、図２に示した各処理部１０１〜１１２に関する説明と同様であるため、説明を省略する。
【０１３７】
ところで、画像処理装置３００は、画面内予測処理、画面間ブロック予測処理、画面内ブロック予測処理の符号化コストを算出し、符号化コストが最小となる処理を判定し、判定結果を基にして、スイッチ３１２を制御する。例えば、画像処理装置３００は、予測誤差と符号化データ量の重み付け加算により、符号化コストを算出する。
【０１３８】
画像処理装置３００は、画面内予測処理の符号化コストが最小となる場合には、画面内予測部３００ａとスイッチ３１２とを接続する。画像処理装置３００は、画面間ブロック予測処理の符号化コストが最小となる場合には、画面間ブロック予測部３００ｂとスイッチ３１２とを接続する。画像処理装置３００は、画面内ブロック予測処理の符号化コストが最小となる場合には、画面内ブロック予測部３００ｅとスイッチ３１２とを接続する。
【０１３９】
次に、本実施例３に係る画像処理装置３００の処理手順について説明する。図９は、本実施例３に係る画像処理装置の処理手順を示すフローチャートである。図９に示すように、画像処理装置３００の画面内予測部３００ａは、周辺画素を用いて符号化対象ブロックの画面内予測処理を行う。画面内予測部３００ａは、最適な画面内予測モードを選択し、予測ブロックを算出する（ステップＳ３０１）。
【０１４０】
画像処理装置３００の推定ベクトル算出部３００ｃは、直前の他のフレームにおいて符号化対象ブロックと同じ位置の画面内ブロック予測ベクトルをメモリ３００ｄから取得する（ステップＳ３０２）。
【０１４１】
推定ベクトル算出部３００ｃは、条件１Ｃ〜２Ｃを満たすか否かを判定する（ステップＳ３０３）。推定ベクトル算出部３００ｃは、条件１Ｃ〜２Ｃを満たさない場合には（ステップＳ３０３，Ｎｏ）、ステップＳ３０４に移行する。
【０１４２】
画像処理装置３００の画面内ブロック予測部３００ｅは、符号化対象フレームの符号化済みの領域内から、画面内ブロック予測処理を行い、最適な画面内予測ベクトルを検索し（ステップＳ３０４）、ステップＳ３０６に移行する。
【０１４３】
一方、推定ベクトル算出部３００ｃは、条件１Ｃ〜２Ｃを満たす場合には（ステップＳ３０３，Ｙｅｓ）、ステップＳ３０５に移行する。画面内ブロック予測部３００ｅは、メモリ３００ｄに格納された、画面内ブロック予測ベクトル（推定ベクトル）を検索の開始位置として、最適な画面内ブロック予測ベクトルを検索する（ステップＳ３０５）。
【０１４４】
画面内ブロック予測部３００ｅは、最適な画面内ブロック予測ベクトルをメモリ３００ｄに保存する（ステップＳ３０６）。画像処理装置３００は、画面内予測・画面内ブロック予測から最適な予測方法を選択し、予測誤差を算出する（ステップＳ３０７）。
【０１４５】
次に、本実施例３に係る画像処理装置３００の効果について説明する。画像処理装置３００は、他のフレームの各ブロックのうち、符号化対象ブロックの位置と同じ位置のブロックの画面内ブロック予測ベクトルを、推定ベクトルとして算出する。そして、画像処理装置３００は、符号化対象ブロックの位置を始点とした推定ベクトルの位置を、検索の開始位置とし、画面内ブロック予測処理を実行する。このため、画面内ブロック予測処理の探索範囲を制限して探索処理を行うことができ、画面内ブロック予測の処理負荷の増加を抑止することができる。
【０１４６】
次に、上記実施例に示した画像処理装置と同様の機能を実現するデータ分類プログラムを実行するコンピュータの一例について説明する。図１０は、画像処理プログラムを実行するコンピュータの一例を示す図である。
【０１４７】
図１０に示すように、コンピュータ４００は、各種演算処理を実行するＣＰＵ４０１と、ユーザからのデータの入力を受け付ける入力装置４０２と、ディスプレイ４０３とを有する。また、コンピュータ４００は、記憶媒体からプログラム等を読取る読み取り装置４０４と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインターフェース装置４０５とを有する。また、コンピュータ４００は、各種情報を一時記憶するＲＡＭ４０６と、ハードディスク装置４０７とを有する。そして、各装置４０１〜４０７は、バス４０８に接続される。
【０１４８】
ハードディスク装置４０７は、取得プログラム４０７ａ、算出プログラム４０７ｂ、検索プログラム４０７ｃを有する。ＣＰＵ４０１は、取得プログラム４０７ａ、算出プログラム４０７ｂ、検索プログラム４０７ｃを読み出して、ＲＡＭ４０６に展開する。
【０１４９】
取得プログラム４０７ａは、取得プロセス４０６ａとして機能する。算出プログラム４０７ｂは、算出プロセス４０６ｂとして機能する。検索プログラム４０７ｃは、検索プロセス４０６ｃとして機能する。取得プロセス４０６ａは、画面間ブロック予測部２００ｂに対応する。算出プロセス４０６ｂは、推定ベクトル算出部２００ｃに対応する。検索プロセス４０６ｃは、画面内ブロック予測部２００ｄに対応する。
【０１５０】
なお、取得プログラム４０７ａ、算出プログラム４０７ｂ、検索プログラム４０７ｃについては、必ずしも最初からハードディスク装置４０７に記憶させておかなくても良い。例えば、コンピュータ４００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ４００が各プログラム４０７ａ〜４０７ｃを読み出して実行するようにしてもよい。
【０１５１】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１５２】
（付記１）第１フレームに含まれる各ブロックと、第２フレームに含まれる符号化対象ブロックとを比較して予測誤差をそれぞれ算出し、各予測誤差に基づいて、前記第１フレームに含まれる第１候補の予測ブロックの位置と、第２候補の予測ブロックの位置とを取得する取得部と、
前記第１候補の予測ブロックの位置と、前記第２候補の予測ブロックの位置とを結ぶベクトルを算出する算出部と、
前記符号化対象ブロックの位置を始点とした前記ベクトルの位置を、検索の開始位置として前記符号化対象ブロックに対応する予測ブロックを検索する検索部と
を有することを特徴とする画像処理装置。
【０１５３】
（付記２）前記検索部は、前記検索の開始位置を、前記第２フレーム上の符号化済み領域に設定することを特徴とする付記１に記載の画像処理装置。
【０１５４】
（付記３）前記検索部は、前記第２フレームの符号化対象ブロックの画像が複雑であり、前記第１候補の予測ブロックと前記符号化対象ブロックとの予測誤差および前記第２候補の予測ブロックと前記符号化対象ブロックとの予測誤差が小さい場合に、前記符号化対象ブロックの位置を始点とした前記ベクトルの位置を、検索の開始位置として前記符号化対象ブロックに対応する予測ブロックを検索することを特徴とする付記１に記載の画像処理装置。
【０１５５】
（付記４）第１フレームに含まれるあるブロックと、他のブロックとを比較して予測誤差をそれぞれ算出し、各予測誤差に基づいて、前記あるブロックに対応する前記第１フレーム上の予測ブロックを特定する第１特定部と、
第２フレームに含まれる符号化対象ブロックと、前記第１フレームに含まれる各ブロックとを比較して予測誤差をそれぞれ算出し、各予測誤差に基づいて、前記符号化対象ブロックに対応するブロックを特定し、特定したブロックから該ブロックに対応する前記予測ブロックまでのベクトルを特定する第２特定部と、
前記符号化対象ブロックの位置を始点とした前記ベクトルの位置を、検索の開始位置として前記符号化対象ブロックに対応する予測ブロックを検索する検索部と
を有することを特徴とする画像処理装置。
【０１５６】
（付記５）第１フレームに含まれるあるブロックと、他のブロックとを比較して予測誤差をそれぞれ算出し、各予測誤差に基づいて、前記あるブロックに対応する前記第１フレーム上の予測ブロックを特定する第１特定部と、
第２フレームに含まれる符号化対象ブロックの位置と同じ位置の第１フレーム上のブロックを特定し、特定したブロックから該ブロックに対応する前記予測ブロックまでのベクトルを特定する第２特定部と、
前記符号化対象ブロックの位置を始点とした前記ベクトルの位置を、検索の開始位置として前記符号化対象ブロックに対応する予測ブロックを検索する検索部と
を有することを特徴とする画像処理装置。
【０１５７】
（付記６）コンピュータが実行する画像処理方法であって、
第１フレームに含まれる各ブロックと、第２フレームに含まれる符号化対象ブロックとを比較して予測誤差をそれぞれ算出し、各予測誤差に基づいて、前記第１フレームに含まれる第１候補の予測ブロックの位置と、第２候補の予測ブロックの位置とを取得し、
前記第１候補の予測ブロックの位置と、前記第２候補の予測ブロックの位置とを結ぶベクトルを算出し、
前記符号化対象ブロックの位置を始点とした前記ベクトルの位置を、検索の開始位置として前記符号化対象ブロックに対応する予測ブロックを検索する
処理を実行することを特徴とする画像処理方法。
【０１５８】
（付記７）前記検索する処理は、前記検索の開始位置を、前記第２フレーム上の符号化済み領域に設定することを特徴とする付記６に記載の画像処理方法。
【０１５９】
（付記８）前記検索する処理は、前記第２フレームの符号化対象ブロックの画像が複雑であり、前記第１候補の予測ブロックと前記符号化対象ブロックとの予測誤差および前記第２候補の予測ブロックと前記符号化対象ブロックとの予測誤差が小さい場合に、前記符号化対象ブロックの位置を始点とした前記ベクトルの位置を、検索の開始位置として前記符号化対象ブロックに対応する予測ブロックを検索することを特徴とする付記６に記載の画像処理方法。
【０１６０】
（付記９）コンピュータが実行する画像処理方法であって、
第１フレームに含まれるあるブロックと、他のブロックとを比較して予測誤差をそれぞれ算出し、各予測誤差に基づいて、前記あるブロックに対応する前記第１フレーム上の予測ブロックを特定し、
第２フレームに含まれる符号化対象ブロックと、前記第１フレームに含まれる各ブロックとを比較して予測誤差をそれぞれ算出し、各予測誤差に基づいて、前記符号化対象ブロックに対応するブロックを特定し、特定したブロックから該ブロックに対応する前記予測ブロックまでのベクトルを特定し、
前記符号化対象ブロックの位置を始点とした前記ベクトルの位置を、検索の開始位置として前記符号化対象ブロックに対応する予測ブロックを検索する
処理を実行することを特徴とする画像処理方法。
【０１６１】
（付記１０）コンピュータが実行する画像処理方法であって、
第１フレームに含まれるあるブロックと、他のブロックとを比較して予測誤差をそれぞれ算出し、各予測誤差に基づいて、前記あるブロックに対応する前記第１フレーム上の予測ブロックを特定し、
第２フレームに含まれる符号化対象ブロックの位置と同じ位置の第１フレーム上のブロックを特定し、特定したブロックから該ブロックに対応する前記予測ブロックまでのベクトルを特定し、
前記符号化対象ブロックの位置を始点とした前記ベクトルの位置を、検索の開始位置として前記符号化対象ブロックに対応する予測ブロックを検索する
処理を実行することを特徴とする画像処理方法。
【０１６２】
（付記１１）コンピュータに、
第１フレームに含まれる各ブロックと、第２フレームに含まれる符号化対象ブロックとを比較して予測誤差をそれぞれ算出し、各予測誤差に基づいて、前記第１フレームに含まれる第１候補の予測ブロックの位置と、第２候補の予測ブロックの位置とを取得し、
前記第１候補の予測ブロックの位置と、前記第２候補の予測ブロックの位置とを結ぶベクトルを算出し、
前記符号化対象ブロックの位置を始点とした前記ベクトルの位置を、検索の開始位置として前記符号化対象ブロックに対応する予測ブロックを検索する
処理を実行させることを特徴とする画像処理プログラム。
【０１６３】
（付記１２）前記検索する処理は、前記検索の開始位置を、前記第２フレーム上の符号化済み領域に設定することを特徴とする付記１１に記載の画像処理プログラム。
【０１６４】
（付記１３）前記検索する処理は、前記第２フレームの符号化対象ブロックの画像が複雑であり、前記第１候補の予測ブロックと前記符号化対象ブロックとの予測誤差および前記第２候補の予測ブロックと前記符号化対象ブロックとの予測誤差が小さい場合に、前記符号化対象ブロックの位置を始点とした前記ベクトルの位置を、検索の開始位置として前記符号化対象ブロックに対応する予測ブロックを検索することを特徴とする付記１１に記載の画像処理プログラム。
【０１６５】
（付記１４）コンピュータに、
第１フレームに含まれるあるブロックと、他のブロックとを比較して予測誤差をそれぞれ算出し、各予測誤差に基づいて、前記あるブロックに対応する前記第１フレーム上の予測ブロックを特定し、
第２フレームに含まれる符号化対象ブロックと、前記第１フレームに含まれる各ブロックとを比較して予測誤差をそれぞれ算出し、各予測誤差に基づいて、前記符号化対象ブロックに対応するブロックを特定し、特定したブロックから該ブロックに対応する前記予測ブロックまでのベクトルを特定し、
前記符号化対象ブロックの位置を始点とした前記ベクトルの位置を、検索の開始位置として前記符号化対象ブロックに対応する予測ブロックを検索する
処理を実行させることを特徴とする画像処理プログラム。
【０１６６】
（付記１５）コンピュータに、
第１フレームに含まれるあるブロックと、他のブロックとを比較して予測誤差をそれぞれ算出し、各予測誤差に基づいて、前記あるブロックに対応する前記第１フレーム上の予測ブロックを特定し、
第２フレームに含まれる符号化対象ブロックの位置と同じ位置の第１フレーム上のブロックを特定し、特定したブロックから該ブロックに対応する前記予測ブロックまでのベクトルを特定し、
前記符号化対象ブロックの位置を始点とした前記ベクトルの位置を、検索の開始位置として前記符号化対象ブロックに対応する予測ブロックを検索する
処理を実行させることを特徴とする画像処理プログラム。
【符号の説明】
【０１６７】
１００，２００，３００  画像処理装置
１００ａ，２００ａ，３００ａ  画面内予測部
１００ｂ，２００ｂ，３００ｂ  画面間ブロック予測部
１００ｃ，２００ｃ，３００ｃ  推定ベクトル算出部
１００ｄ，３００ｄ  メモリ
１００ｅ，２００ｄ，３００ｅ  画面内ブロック予測部
【図１】
2016178375.tif 000006
【図２】
2016178375.tif 000007
【図３】
2016178375.tif 000008
【図４】
2016178375.tif 000009
【図５】
2016178375.tif 000010
【図６】
2016178375.tif 000011
【図７】
2016178375.tif 000012
【図８】
2016178375.tif 000013
【図９】
2016178375.tif 000014
【図１０】
2016178375.tif 000015
【図１１】
2016178375.tif 000016
【図１２】
2016178375.tif 000017
【図１３】
2016178375.tif 000018
【図１４】
2016178375.tif 000019
【図１５】
2016178375.tif 000020