(57)【特許請求の範囲】
【請求項１】
画像フレームを水平N画素、垂直M画素とする複数のNxM画素の画素ブロックに分割し、この分割された画素ブロックを過去に再構築した隣接画素から空間領域でフレーム内予測する画像符号化装置であって、
NxM画素の入力画素ブロックをNxM個の変換係数に変換する変換手段と、
NxM画素のフレーム内予測画素ブロックをフレーム内予測の特性に基づいて、NxM画素のフレーム内予測画素ブロックに対応する変換係数のうち有効成分の変換係数に変換する局所変換手段と、
前記入力画素ブロックの変換係数と前記局所変換手段における各フレーム内予測方向のフレーム内予測画素ブロックの変換係数とを比較して最良のフレーム内予測方向を検出する検出手段と
を有することを特徴とする画像符号化装置。
【請求項２】
前記フレーム内予測の特性がフレーム内予測の方向である場合、前記局所変換手段は、
前記フレーム内予測の方向が垂直である場合、NxM画素のフレーム内予測画素ブロックをN個の水平成分の変換係数に変換してNxM−N個の変換係数を０にし、
前記フレーム内予測の方向が水平である場合、NxM画素のフレーム内予測画素ブロックをM個の垂直成分の変換係数に変換してNxM−M個の変換係数を０にし、
前記フレーム内予測の方向が平坦である場合、NxM画素のフレーム内予測画素ブロックを1個のDC成分の変換係数に変換してNxM−１個の変換係数を０にする
ことを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記フレーム内予測の特性がフレーム内予測画素ブロック内の予測画素の画素値である場合、前記局所変換手段は、
前記画素値が垂直方向に同一な場合、NxM画素のフレーム内予測画素ブロックをN個の水平成分の変換係数に変換してNxM−N個の変換係数を０にし、
前記画素値が水平方向に同一な場合、NxM画素のフレーム内予測画素ブロックをM個の垂直成分の変換係数に変換してNxM−M個の変換係数を０にし、
前記画素値が全て同一な場合、NxM画素のフレーム内予測画素ブロックを1個のDC成分の変換係数に変換してNxM−１個の変換係数を０にする
ことを特徴とする請求項１に記載の画像符号化装置。
【請求項４】
前記変換手段は、
DCT、整数精度DCT、あるいはアダマール変換を用いて変換すること
を特徴とする請求項１に記載の画像符号化装置。
【請求項５】
入力画像フレームを水平N画素、垂直M画素とする複数のNxM画素の画素ブロックに分割し、前記NxM画素の画素ブロックを過去に再構築した隣接画素から空間領域でフレーム内予測する画像符号化装置であって、
前記NxM画素の入力画素ブロックをNxM個の変換係数に変換する変換手段と、
フレーム内予測方向が垂直であるNxM画素のフレーム内予測画素ブロックを、N個の水平成分の変換係数に変換してNxM−N個の変換係数を０にする第１の局所変換手段と、
フレーム内予測方向が水平であるNxM画素のフレーム内予測画素ブロックを、M個の垂直成分の変換係数に変換してNxM−M個の変換係数を０にする第２の局所変換手段と、
フレーム内予測方向が平坦であるNxM画素のフレーム内予測画素ブロックを、1個のDC成分の変換係数に変換してNxM−１個の変換係数を０にする第３の局所変換手段と、
前記入力画素ブロックの変換係数と各フレーム内予測方向のフレーム内予測画素ブロックの変換係数とを比較して最良のフレーム内予測方向を検出する検出手段と
を具備することを特徴とする画像符号化装置。
【請求項６】
前記変換手段は、
DCT、整数精度DCT、あるいはアダマール変換を用いて変換すること
を特徴とする請求項５に記載の画像符号化装置。
【請求項７】
入力画像フレームを水平N画素、垂直M画素とする複数のNxM画素の画素ブロックに分割し、前記NxM画素の画素ブロックを過去に再構築した隣接画素から空間領域でフレーム内予測する画像符号化装置であって、
前記NxM画素の入力画素ブロックをNxM個の変換係数に変換する変換手段と、
NxM画素のフレーム内予測画素ブロック内の予測画素の画素値が垂直方向に同一であるフレーム内予測画素ブロックを、N個の水平成分の変換係数に変換してNxM−N個の変換係数を０にする第１の局所変換手段と、
NxM画素のフレーム内予測画素ブロック内の予測画素の画素値が水平方向に同一であるフレーム内予測画素ブロックを、M個の垂直成分の変換係数に変換してNxM−M個の変換係数を０にする第２の局所変換手段と、
NxM画素のフレーム内予測画素ブロック内の予測画素の画素値がすべて同一であるフレーム内予測画素ブロックを、1個のDC成分の変換係数に変換してNxM−１個の変換係数を０にする第３の局所変換手段と、
前記入力画素ブロックの変換係数と各フレーム内予測方向のフレーム内予測画素ブロックの変換係数とを比較して最良のフレーム内予測方向を検出する検出手段と
を具備することを特徴とする画像符号化装置。
【請求項８】
前記変換手段は、
DCT、整数精度DCT、あるいはアダマール変換を用いて変換すること
を特徴とする請求項７に記載の画像符号化装置。
【請求項９】
画像フレームを水平N画素、垂直M画素とする複数のNxM画素の画素ブロックに分割し、この分割された画素ブロックを過去に再構築した隣接画素から空間領域でフレーム内予測する画像符号化方法であって、
NxM画素の入力画素ブロックをNxM個の変換係数に変換する変換ステップと、
NxM画素のフレーム内予測画素ブロックをフレーム内予測の特性に基づいて、NxM画素のフレーム内予測画素ブロックに対応する変換係数のうち有効成分の変換係数に変換する局所変換ステップと、
前記入力画素ブロックの変換係数と前記局所変換ステップにおける各フレーム内予測方向のフレーム内予測画素ブロックの変換係数とを比較して最良のフレーム内予測方向を検出する検出ステップと
を有することを特徴とする画像符号化方法。
【請求項１０】
前記フレーム内予測の特性がフレーム内予測の方向である場合、前記局所変換ステップは、
前記フレーム内予測の方向が垂直である場合、NxM画素のフレーム内予測画素ブロックをN個の水平成分の変換係数に変換してNxM−N個の変換係数を０にし、
前記フレーム内予測の方向が水平である場合、NxM画素のフレーム内予測画素ブロックをM個の垂直成分の変換係数に変換してNxM−M個の変換係数を０にし、
前記フレーム内予測の方向が平坦である場合、NxM画素のフレーム内予測画素ブロックを1個のDC成分の変換係数に変換してNxM−１個の変換係数を０にする
ステップであることを特徴とする請求項９に記載の画像符号化方法。
【請求項１１】
前記フレーム内予測の特性がフレーム内予測画素ブロック内の予測画素の画素値である場合、前記局所変換ステップは、
前記画素値が垂直方向に同一な場合、NxM画素のフレーム内予測画素ブロックをN個の水平成分の変換係数に変換してNxM−N個の変換係数を０にし、
前記画素値が水平方向に同一な場合、NxM画素のフレーム内予測画素ブロックをM個の垂直成分の変換係数に変換してNxM−M個の変換係数を０にし、
前記画素値が全て同一な場合、NxM画素のフレーム内予測画素ブロックを1個のDC成分の変換係数に変換してNxM−１個の変換係数を０にする
ステップであることを特徴とする請求項９に記載の画像符号化方法。
【請求項１２】
前記変換ステップは、
DCT、整数精度DCT、あるいはアダマール変換のいずれかを用いて変換するステップであること
を特徴とする請求項９に記載の画像符号化方法。
【請求項１３】
入力画像フレームを水平N画素、垂直M画素とする複数のNxM画素の画素ブロックに分割し、前記NxM画素の画素ブロックを過去に再構築した隣接画素から空間領域でフレーム内予測する画像符号化方法であって、
NxM画素の入力画素ブロックをNxM個の変換係数に変換する変換ステップと、
フレーム内予測方向が垂直であるNxM画素のフレーム内予測画素ブロックを、N個の水平成分の変換係数に変換してNxM−N個の変換係数を０にする第１の局所変換ステップと、
フレーム内予測方向が水平であるNxM画素のフレーム内予測画素ブロックを、M個の垂直成分の変換係数に変換してNxM−M個の変換係数を０にする第２の局所変換ステップと、
フレーム内予測方向が平坦であるNxM画素のフレーム内予測画素ブロックを、1個のDC成分の変換係数に変換してNxM−１個の変換係数を０にする第３の局所変換ステップと、
前記入力画素ブロックの変換係数と各フレーム内予測方向のフレーム内予測画素ブロックの変換係数とを比較して最良のフレーム内予測方向を検出する検出ステップと
を有することを特徴とする画像符号化方法。
【請求項１４】
前記変換ステップは、
DCT、整数精度DCT、あるいはアダマール変換のいずれかを用いて変換するステップであること
を特徴とする請求項１３に記載の画像符号化方法。
【請求項１５】
入力画像フレームを水平N画素、垂直M画素とする複数のNxM画素の画素ブロックに分割し、前記NxM画素の画素ブロックを過去に再構築した隣接画素から空間領域でフレーム内予測する画像符号化方法であって、
NxM画素の入力画素ブロックをNxM個の変換係数に変換する変換ステップと、
NxM画素のフレーム内予測画素ブロック内の予測画素の画素値が垂直方向に同一であるフレーム内予測画素ブロックを、N個の水平成分の変換係数に変換してNxM−N個の変換係数を０にする第１の局所変換ステップと、
NxM画素のフレーム内予測画素ブロック内の予測画素の画素値が水平方向に同一であるフレーム内予測画素ブロックを、M個の垂直成分の変換係数に変換してNxM−M個の変換係数を０にする第２の局所変換ステップと、
NxM画素のフレーム内予測画素ブロック内の予測画素の画素値がすべて同一であるフレーム内予測画素ブロックを、1個のDC成分の変換係数に変換してNxM−１個の変換係数を０にする第３の局所変換ステップと、
前記入力画素ブロックの変換係数と各フレーム内予測方向のフレーム内予測画素ブロックの変換係数とを比較して最良のフレーム内予測方向を検出する検出ステップと
を有することを特徴とする画像符号化方法。
【請求項１６】
前記変換ステップは、
DCT、整数精度DCT、あるいはアダマール変換のいずれかを用いて変換するステップであること
を特徴とする請求項１５に記載の画像符号化方法。
【請求項１７】
画像フレームを水平N画素、垂直M画素とする複数のNxM画素の画素ブロックに分割し、この分割された画素ブロックを過去に再構築した隣接画素から空間領域でフレーム内予測する情報処理装置のプログラムであって、前記プログラムは前記情報処理装置を、
NxM画素の入力画素ブロックをNxM個の変換係数に変換する変換手段と、
NxM画素のフレーム内予測画素ブロックをフレーム内予測の特性に基づいて、NxM画素のフレーム内予測画素ブロックに対応する変換係数のうち有効成分の変換係数に変換する局所変換手段と、
前記入力画素ブロックの変換係数と前記局所変換手段における各フレーム内予測方向のフレーム内予測画素ブロックの変換係数とを比較して最良のフレーム内予測方向を検出する検出手段と
して機能させることを特徴とするプログラム。
【請求項１８】
前記フレーム内予測の特性がフレーム内予測の方向である場合、前記局所変換手段は、
前記フレーム内予測の方向が垂直である場合、NxM画素のフレーム内予測画素ブロックをN個の水平成分の変換係数に変換してNxM−N個の変換係数を０にし、
前記フレーム内予測の方向が水平である場合、NxM画素のフレーム内予測画素ブロックをM個の垂直成分の変換係数に変換してNxM−M個の変換係数を０にし、
前記フレーム内予測の方向が平坦である場合、NxM画素のフレーム内予測画素ブロックを1個のDC成分の変換係数に変換してNxM−１個の変換係数を０にする
局所変換手段として機能させることを特徴とする請求項１７に記載のプログラム。
【請求項１９】
前記フレーム内予測の特性がフレーム内予測画素ブロック内の予測画素の画素値である場合、前記局所変換手段は、
前記画素値が垂直方向に同一な場合、NxM画素のフレーム内予測画素ブロックをN個の水平成分の変換係数に変換してNxM−N個の変換係数を０にし、
前記画素値が水平方向に同一な場合、NxM画素のフレーム内予測画素ブロックをM個の垂直成分の変換係数に変換してNxM−M個の変換係数を０にし、
前記画素値が全て同一な場合、NxM画素のフレーム内予測画素ブロックを1個のDC成分の変換係数に変換してNxM−１個の変換係数を０にする
局所変換手段として機能させることを特徴とする請求項１７に記載のプログラム。
【請求項２０】
前記変換手段は、
DCT、整数精度DCT、あるいはアダマール変換を用いて変換する変換手段として機能させること
を特徴とする請求項１７に記載のプログラム。
【請求項２１】
入力画像フレームを水平N画素、垂直M画素とする複数のNxM画素の画素ブロックに分割し、前記NxM画素の画素ブロックを過去に再構築した隣接画素から空間領域でフレーム内予測する情報処理装置のプログラムであって、前記プログラムは前記情報処理装置を、
前記NxM画素の入力画素ブロックをNxM個の変換係数に変換する変換手段と、
フレーム内予測方向が垂直であるNxM画素のフレーム内予測画素ブロックを、N個の水平成分の変換係数に変換してNxM−N個の変換係数を０にする第１の局所変換手段と、
フレーム内予測方向が水平であるNxM画素のフレーム内予測画素ブロックを、M個の垂直成分の変換係数に変換してNxM−M個の変換係数を０にする第２の局所変換手段と、
フレーム内予測方向が平坦であるNxM画素のフレーム内予測画素ブロックを、1個のDC成分の変換係数に変換してNxM−１個の変換係数を０にする第３の局所変換手段と、
前記入力画素ブロックの変換係数と各フレーム内予測方向のフレーム内予測画素ブロックの変換係数とを比較して最良のフレーム内予測方向を検出する検出手段と
して機能させることを特徴とするプログラム。
【請求項２２】
前記変換手段は、
DCT、整数精度DCT、あるいはアダマール変換を用いて変換する変換手段として機能させること
を特徴とする請求項２１に記載のプログラム。
【請求項２３】
入力画像フレームを水平N画素、垂直M画素とする複数のNxM画素の画素ブロックに分割し、前記NxM画素の画素ブロックを過去に再構築した隣接画素から空間領域でフレーム内予測する情報処理装置のプログラムであって、前記プログラムは前記情報処理装置を、
NxM画素の入力画素ブロックをNxM個の変換係数に変換する変換手段と、
NxM画素のフレーム内予測画素ブロック内の予測画素の画素値が垂直方向に同一であるフレーム内予測画素ブロックを、N個の水平成分の変換係数に変換してNxM−N個の変換係数を０にする第１の局所変換手段と、
NxM画素のフレーム内予測画素ブロック内の予測画素の画素値が水平方向に同一であるフレーム内予測画素ブロックを、M個の垂直成分の変換係数に変換してNxM−M個の変換係数を０にする第２の局所変換手段と、
NxM画素のフレーム内予測画素ブロック内の予測画素の画素値がすべて同一であるフレーム内予測画素ブロックを、1個のDC成分の変換係数に変換してNxM−１個の変換係数を０にする第３の局所変換手段と、
前記入力画素ブロックの変換係数と各フレーム内予測方向のフレーム内予測画素ブロックの変換係数を比較して最良のフレーム内予測方向を検出する検出手段と
して機能させることを特徴とするプログラム。
【請求項２４】
前記変換手段は、
DCT、整数精度DCT、あるいはアダマール変換を用いて変換する変換手段として機能させること
を特徴とする請求項２３に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像符号化技術に関し、特に画像信号を蓄積する画像符号化の技術に関する。
【背景技術】
【０００２】
従来、画像符号化装置は、外部から入力される画像信号をディジタル化した後、所定の画像符号化方式に準拠した符号化処理を行うことで符号化情報列すなわちビットストリームを生成する。画像符号化方式として、近年規格化されたISO/IEC 14496-10 Advanced Video Codingがある（例えば非特許文献１）。また、このAdvanced Video Coding符号器の開発の参照モデルとしてJM(Joint Model)方式が知られている。【０００３】
JM方式においては、画像フレームをMB(Macro Block)とよばれる16x16画素サイズのブロックに分割し、さらにこのMBを4x4画素サイズのブロック分割し（以後、4x4ブロックと呼ぶ）、4x4ブロックを符号化の最小構成単位とする。図１は、画像フレームがQCIF(Quarter Common Intermediate Format)の場合での、ブロック分割の例である。尚、通常、画像フレームは輝度信号と色差信号とで構成されるが、以下では説明の簡略化のために、輝度信号のみを取り扱う。【０００４】
図２は、従来の画像符号化装置の例を示す概略ブロック図である。図２を参照して、画像フレームを入力とし、ビットストリームを出力するJM方式の動作を説明する。【０００５】
図２を参照すると、JM方式はMBバッファ101、変換部102、量子化部103、逆量子化/逆変換部104、フレームメモリ105、エントロピー符号化部106、符号量制御部107、フレーム内予測部108、フレーム間予測部109、フレーム間予測部110、フレーム内予測方向推定部200、スイッチSW101、及びスイッチSW102で構成される。尚、実際のJM方式にはループ内フィルタが存在するが、説明の簡略化のため省略している。【０００６】
各構成の動作を以下で説明する。【０００７】
MBバッファ101は、入力される画像フレームの符号化対象MBの画素値（以後、入力画像と呼ぶ）を格納する。MBバッファ101から供給される入力画像は、フレーム間予測部109あるいはフレーム内予測部108から供給される予測値が減じられる。この予測値が減じられた入力画像を予測誤差と呼ぶ。予測誤差は、変換部102に供給される。また予測値で構成される画素の集合を予測画素ブロックと呼ぶ。【０００８】
フレーム間予測は、現在の符号化対象の画像フレームと表示時刻が異なる過去に再構築された画像フレームとを参照して、画素空間で現在の符号化対象ブロックを予測する。フレーム間予測を用いて符号化されたＭＢをインターＭＢと呼ぶ。フレーム内予測は、現在の符号化対象の画像フレームと、表示時刻が同一の過去に再構築された画像フレームを参照して、画素空間で現在の符号化対象ブロックを予測する。フレーム内予測を用いて符号化されたＭＢをイントラＭＢと呼ぶ。イントラＭＢのみで構成される符号化画像フレームをIフレーム、イントラＭＢまたはインターMBで構成される符号化画像フレームをPフレームと呼ぶ。【０００９】
変換部102は、MBバッファ101からの予測誤差を4x4ブロックの単位で2次元変換し、空間領域から周波数領域に変換する。周波数領域に変換された予測誤差信号を変換係数と呼ぶ。2次元変換には、DCT(Discrete Cosine Transform)やアダマール変換などの直交変換が利用でき、JM方式では基底を整数値化した、整数精度DCTを利用する。【００１０】
一方で、符号量制御部107は、入力される画像フレームを目標のビット数で符号化するために、エントロピー符号化部106が出力するビットストリームのビット数を監視する。そして、出力されるビットストリームのビット数が目標のビット数よりも多ければ量子化ステップサイズを大とする量子化パラメータを出力し、逆に出力されるビットストリームのビット数が目標のビット数よりも少なければ量子化ステップサイズを小とする量子化パラメータを出力する。これによって符号量制御部107は、出力ビットストリームを目標のビット数に近づくように符号化する。【００１１】
量子化部103は、変換部102からの変換係数を、符号量制御部107が供給する量子化パラメータに対応する量子化ステップサイズで量子化する。量子化された変換係数はレベルと呼ばれ、レベル値はエントロピー符号化部106によってエントロピー符号化されてビット列、すなわちビットストリームとして出力される。また、復号側での逆量子化のために、量子化パラメータも、エントロピー符号化部106によってビットストリームとして出力される。【００１２】
逆量子化/逆変換部104は、以降の符号化のために、量子化部103から供給されるレベルを逆量子化し、さらに2次元逆変換して元の空間領域に戻す。元の空間領域に戻された予測誤差は、量子化によって歪が発生しているため再構築予測誤差と呼ぶ。【００１３】
フレームメモリ105は、再構築予測誤差に予測値を加えた値を再構築画像として格納する。格納された再構築画像は、以降のフレーム内予測およびフレーム間予測で予測値の生成に参照されるので、参照フレームとも呼ぶ。【００１４】
フレーム間予測部109は、フレームメモリ105に格納された参照フレームから、動きベクトル推定部110から供給されるインターＭＢタイプおよび動きベクトルに基づき、フレーム間予測信号を生成する。【００１５】
動きベクトル推定部110は、インターＭＢタイプコストを最小にするフレーム間予測値を生成するインターMBタイプおよび動きベクトルを検出する。JM方式や特許文献１では、インターＭＢタイプコストには単純に予測誤差信号のSAD(Sum of Absolute Difference)でなく、予測誤差信号をアダマール変換などによって変換した予測誤差信号の変換係数の絶対値総和SATD(Sum of Absolute Transformed Difference)を利用することで、高画質化を達成している。例えば図3のような場合、単純にSADを計算すると大きな値になる。しかし、図3では、変換後に予測誤差信号はDC(Direct Current)成分にエネルギーが集中するので、SADは大きな値になるものの、エントロピー符号化後のビット数はさほど多くはない。このため単純にSADよりも、のちの変換の効果を考慮したSATDを利用する方が符号化効率がよい。また、SATDの変換には、理想的には実際の符号器の変換と同じ変換(JM方式では整数精度DCT)を利用するのが望ましいが、計算量を抑えるために、JM方式や特許文献１は、計算が単純なアダマール変換をSATDに採用している。ただし、計算が単純なアダマール変換をSATDに用いたとしても、アダマール変換の計算分だけSADを用いる場合よりも演算量は増加する問題点がある。【００１６】
フレーム内予測部108は、フレーム内予測方向推定装置200から供給されるイントラＭＢタイプおよび予測方向に基づき、フレームメモリ105に格納された参照フレームからフレーム内予測信号を生成する。尚、JM方式のイントラＭＢの種類(以後、MBの種類をMBタイプと呼ぶ)には、符号化対象MBの単位で隣接する画素からフレーム内予測するMBタイプ(以後、Intra16MBと呼ぶ)と、符号化対象MB内の4x4ブロックの単位で隣接する画素からフレーム内予測するMBタイプ(以後、Intra4MBと呼ぶ)がある。Intra4MBは、図4に示す9種類のフレーム内予測方向を用いてフレーム内予測が可能である。また、Intra16MBは、図5に示す4種類のフレーム内予測方向を用いてフレーム内予測が可能である。【００１７】
フレーム内予測方向推定部200は、イントラＭＢタイプコストを最小にするイントラMBタイプおよび予測方向を検出する。イントラＭＢタイプコストには、インターＭＢ同様にSADではなくSATDを利用することで、高画質符号化に有効なイントラＭＢタイプおよび予測方向を選択できる。【００１８】
スイッチSW101は、フレーム内予測方向推定200および動きベクトル推定110から供給されるイントラＭＢタイプコストとインターＭＢタイプコストとを比較し、コストの小さいＭＢタイプ側の予測値を選択する。【００１９】
スイッチSW102は、スイッチSW101が選択する予測値を監視し、フレーム間予測が選択された場合、動きベクトル推定部110から供給されるインターMBタイプおよび動きベクトルをエントロピー符号化部106に供給する。一方フレーム内予測が選択された場合、スイッチSW102は、フレーム内予測方向推定部200から供給されるイントラMBタイプおよび予測方向をエントロピー符号化部106に供給する。【００２０】
以上の処理を、入力MBに対して逐次実行することで、JM方式は、画像フレームを高品質に符号化している。
【非特許文献１】ISO/IEC 14496-10 Advanced Video Coding
【特許文献１】特開2004-229315
【発明の開示】
【発明が解決しようとする課題】
【００２１】
上述したように、フレーム内予測方向およびフレーム間予測の推定コストにSATDを利用した場合、フレーム内予測方向およびフレーム間予測の数だけ、変換が必要である。JM方式では、1つのMB(16個の4x4ブロック)の符号化では、Intra16MBの4方向およびIntra4x4MBの9方向すべての予測方向を探索した場合、フレーム内予測の探索だけでも208回(16*(4+9))の変換が必要となる。【００２２】
フレーム内予測の探索に必要なアダマール変換の回数を削減する方法として、SATDではなくSADを利用する方法、探索する予測方向を削減する方法、常に低域係数だけをSATDに用いる方法（例えば、特開2000-78589）などの方法があるが、フレーム内予測方向推定の精度が落ち、いずれの場合でも画質劣化が懸念される。【００２３】
そこで、本発明が解決しようとする課題は、上記問題点を鑑みて発明されたものであって、画質劣化を伴わない方法で、フレーム内予測方向推定でのSATD計算に必要な変換の回数を削減する画像符号化の技術を提供することにある。
【課題を解決するための手段】
【００２４】
上記課題を解決するための第１の発明は、
画像フレームを水平N画素、垂直M画素とする複数のNxM画素の画素ブロックに分割し、この分割された画素ブロックを過去に再構築した隣接画素から空間領域でフレーム内予測する画像符号化装置であって、
NxM画素の入力画素ブロックをNxM個の変換係数に変換する変換手段と、
NxM画素のフレーム内予測画素ブロックをフレーム内予測の特性に基づいて、NxM画素のフレーム内予測画素ブロックに対応する変換係数のうち有効成分の変換係数に変換する局所変換手段と、
前記入力画素ブロックの変換係数と前記局所変換手段における各フレーム内予測方向のフレーム内予測画素ブロックの変換係数とを比較して最良のフレーム内予測方向を検出する検出手段と
を有することを特徴とする。
【００２５】
上記課題を解決するための第２の発明は、上記第１の発明において、
前記フレーム内予測の特性がフレーム内予測の方向である場合、前記局所変換手段は、
前記フレーム内予測の方向が垂直である場合、NxM画素のフレーム内予測画素ブロックをN個の水平成分の変換係数に変換してNxM−N個の変換係数を０にし、
前記フレーム内予測の方向が水平である場合、NxM画素のフレーム内予測画素ブロックをM個の垂直成分の変換係数に変換してNxM−M個の変換係数を０にし、
前記フレーム内予測の方向が平坦である場合、NxM画素のフレーム内予測画素ブロックを1個のDC成分の変換係数に変換してNxM−１個の変換係数を０にする
ことを特徴とする。
【００２６】
上記課題を解決するための第３の発明は、上記第１の発明において、
前記フレーム内予測の特性がフレーム内予測画素ブロック内の予測画素の画素値である場合、前記局所変換手段は、
前記画素値が垂直方向に同一な場合、NxM画素のフレーム内予測画素ブロックをN個の水平成分の変換係数に変換してNxM−N個の変換係数を０にし、
前記画素値が水平方向に同一な場合、NxM画素のフレーム内予測画素ブロックをM個の垂直成分の変換係数に変換してNxM−M個の変換係数を０にし、
前記画素値が全て同一な場合、NxM画素のフレーム内予測画素ブロックを1個のDC成分の変換係数に変換してNxM−１個の変換係数を０にする
ことを特徴とする。
【００２７】
上記課題を解決するための第４の発明は、
入力画像フレームを水平N画素、垂直M画素とする複数のNxM画素の画素ブロックに分割し、前記NxM画素の画素ブロックを過去に再構築した隣接画素から空間領域でフレーム内予測する画像符号化装置であって、
前記NxM画素の入力画素ブロックをNxM個の変換係数に変換する変換手段と、
フレーム内予測方向が垂直であるNxM画素のフレーム内予測画素ブロックを、N個の水平成分の変換係数に変換してNxM−N個の変換係数を０にする第１の局所変換手段と、
フレーム内予測方向が水平であるNxM画素のフレーム内予測画素ブロックを、M個の垂直成分の変換係数に変換してNxM−M個の変換係数を０にする第２の局所変換手段と、
フレーム内予測方向が平坦であるNxM画素のフレーム内予測画素ブロックを、1個のDC成分の変換係数に変換してNxM−１個の変換係数を０にする第３の局所変換手段と、
前記入力画素ブロックの変換係数と各フレーム内予測方向のフレーム内予測画素ブロックの変換係数とを比較して最良のフレーム内予測方向を検出する検出手段と
を具備することを特徴とする。
【００２８】
上記課題を解決するための第５の発明は、
入力画像フレームを水平N画素、垂直M画素とする複数のNxM画素の画素ブロックに分割し、前記NxM画素の画素ブロックを過去に再構築した隣接画素から空間領域でフレーム内予測する画像符号化装置であって、
NxM画素の入力画素ブロックをNxM個の変換係数に変換する変換手段と、
NxM画素のフレーム内予測画素ブロック内の予測画素の画素値が垂直方向に同一であるフレーム内予測画素ブロックを、N個の水平成分の変換係数に変換してNxM−N個の変換係数を０にする第１の局所変換手段と、
NxM画素のフレーム内予測画素ブロック内の予測画素の画素値が水平方向に同一であるフレーム内予測画素ブロックを、M個の垂直成分の変換係数に変換してNxM−M個の変換係数を０にする第２の局所変換手段と、
NxM画素のフレーム内予測画素ブロック内の予測画素の画素値がすべて同一であるフレーム内予測画素ブロックを、1個のDC成分の変換係数に変換してNxM−１個の変換係数を０にする第３の局所変換手段と、
前記入力画素ブロックの変換係数と各フレーム内予測方向のフレーム内予測画素ブロックの変換係数を比較して最良のフレーム内予測方向を検出する検出手段と
を有することを特徴とする。
【００２９】
上記課題を解決するための第６の発明は、上記第１から第５のいずれかの発明において、
前記変換手段は、
DCT、整数精度DCT、あるいはアダマール変換を用いて変換すること
を特徴とする。【００３０】
上記課題を解決するための第７の発明は、
画像フレームを水平N画素、垂直M画素とする複数のNxM画素の画素ブロックに分割し、この分割された画素ブロックを過去に再構築した隣接画素から空間領域でフレーム内予測する画像符号化方法であって、
NxM画素の入力画素ブロックをNxM個の変換係数に変換する変換ステップと、
NxM画素のフレーム内予測画素ブロックをフレーム内予測の特性に基づいて、NxM画素のフレーム内予測画素ブロックに対応する変換係数のうち有効成分の変換係数局所的に変換する局所変換ステップと、
前記入力画素ブロックの変換係数と前記局所変換ステップにおける各フレーム内予測方向のフレーム内予測画素ブロックの変換係数とを比較して最良のフレーム内予測方向を検出する検出ステップと
を有することを特徴とする。
【００３１】
上記課題を解決するための第８の発明は、上記第７の発明において、
前記フレーム内予測の特性がフレーム内予測の方向である場合、前記局所変換ステップは、
前記フレーム内予測の方向が垂直である場合、NxM画素のフレーム内予測画素ブロックをN個の水平成分の変換係数に変換してNxM−N個の変換係数を０にし、
前記フレーム内予測の方向が水平である場合、NxM画素のフレーム内予測画素ブロックをM個の垂直成分の変換係数に変換してNxM−M個の変換係数を０にし、
前記フレーム内予測の方向が平坦である場合、NxM画素のフレーム内予測画素ブロックを1個のDC成分の変換係数に変換してNxM−１個の変換係数を０にする
ステップであることを特徴とする。
【００３２】
上記課題を解決するための第９の発明は、上記第７の発明において、
前記フレーム内予測の特性がフレーム内予測画素ブロック内の予測画素の画素値である場合、前記局所変換ステップは、
前記画素値が垂直方向に同一な場合、NxM画素のフレーム内予測画素ブロックをN個の水平成分の変換係数に局所的に変換してNxM−N個の変換係数を０にし、
前記画素値が水平方向に同一な場合、NxM画素のフレーム内予測画素ブロックをM個の垂直成分の変換係数に変換してNxM−M個の変換係数を０にし、
前記フレーム内予測画素ブロック内の予測画素の全て同一な場合、NxM画素のフレーム内予測画素ブロックを1個のDC成分の変換係数に変換してNxM−１個の変換係数を０にする
ステップであることを特徴とする。
【００３３】
上記課題を解決するための第１０の発明は、
入力画像フレームを水平N画素、垂直M画素とする複数のNxM画素の画素ブロックに分割し、前記NxM画素の画素ブロックを過去に再構築した隣接画素から空間領域でフレーム内予測する画像符号化方法であって、
前記NxM画素の入力画素ブロックをNxM個の変換係数に変換する変換ステップと、
フレーム内予測方向が垂直であるNxM画素のフレーム内予測画素ブロックを、N個の水平成分の変換係数に変換してNxM−N個の変換係数を０にする第１の局所変換ステップと、
フレーム内予測方向が水平であるNxM画素のフレーム内予測画素ブロックを、M個の垂直成分の変換係数に変換してNxM−M個の変換係数を０にする第２の局所変換ステップと、
フレーム内予測方向が平坦であるNxM画素のフレーム内予測画素ブロックを、1個のDC成分の変換係数に変換してNxM−１個の変換係数を０にする第３の局所変換ステップと、
前記入力画素ブロックの変換係数と各フレーム内予測方向のフレーム内予測画素ブロックの変換係数とを比較して最良のフレーム内予測方向を検出する検出ステップと
を有することを特徴とする。
【００３４】
上記課題を解決するための第１１の発明は、
入力画像フレームを水平N画素、垂直M画素とする複数のNxM画素の画素ブロックに分割し、前記NxM画素の画素ブロックを過去に再構築した隣接画素から空間領域でフレーム内予測する画像符号化方法であって、
NxM画素の入力画素ブロックをNxM個の変換係数に変換する変換ステップと、
NxM画素のフレーム内予測画素ブロック内の予測画素の画素値が垂直方向に同一であるフレーム内予測画素ブロックを、N個の水平成分の変換係数に変換してNxM−N個の変換係数を０にする第１の局所変換ステップと、
NxM画素のフレーム内予測画素ブロック内の予測画素の画素値が水平方向に同一であるフレーム内予測画素ブロックを、M個の垂直成分の変換係数に変換してNxM−M個の変換係数を０にする第２の局所変換ステップと、
NxM画素のフレーム内予測画素ブロック内の予測画素の画素値がすべて同一であるフレーム内予測画素ブロックを、1個のDC成分の変換係数に変換してNxM−１個の変換係数を０にする第３の局所変換ステップと、
前記入力画素ブロックの変換係数と各フレーム内予測方向のフレーム内予測画素ブロックの変換係数とを比較して最良のフレーム内予測方向を検出する検出ステップと
を有することを特徴とする。
【００３５】
上記課題を解決するための第１２の発明は、上記第７から第１１の発明において、
前記変換ステップは、
DCT、整数精度DCT、あるいはアダマール変換のいずれかを用いて変換するステップであることを特徴とする。【００３６】
上記課題を解決するための第１３の発明は、
画像フレームを水平N画素、垂直M画素とする複数のNxM画素の画素ブロックに分割し、この分割された画素ブロックを過去に再構築した隣接画素から空間領域でフレーム内予測する情報処理装置のプログラムであって、前記プログラムは前記情報処理装置を、
NxM画素の入力画素ブロックをNxM個の変換係数に変換する変換手段と、
NxM画素のフレーム内予測画素ブロックをフレーム内予測の特性に基づいて、NxM画素のフレーム内予測画素ブロックに対応する変換係数のうち有効成分の変換係数に変換する局所変換手段と、
前記入力画素ブロックの変換係数と前記局所変換手段における各フレーム内予測方向のフレーム内予測画素ブロックの変換係数とを比較して最良のフレーム内予測方向を検出する検出手段と
して機能させることを特徴とする。
【００３７】
上記課題を解決するための第１４の発明は、上記第１３の発明において、
前記フレーム内予測の特性がフレーム内予測の方向である場合、前記局所変換手段は、
前記フレーム内予測の方向が垂直である場合、NxM画素のフレーム内予測画素ブロックをN個の水平成分の変換係数に変換してNxM−N個の変換係数を０にし、
前記フレーム内予測の方向が水平である場合、NxM画素のフレーム内予測画素ブロックをM個の垂直成分の変換係数に変換してNxM−M個の変換係数を０にし、
前記フレーム内予測の方向が平坦である場合、NxM画素のフレーム内予測画素ブロックを1個のDC成分の変換係数に変換してNxM−１個の変換係数を０にする
局所変換手段として機能させることを特徴とする。
【００３８】
上記課題を解決するための第１５の発明は、上記第１３の発明において、
前記フレーム内予測の特性がフレーム内予測画素ブロック内の予測画素の画素値である場合、前記局所変換手段は、
前記画素値が垂直方向に同一な場合、NxM画素のフレーム内予測画素ブロックをN個の水平成分の変換係数に変換してNxM−N個の変換係数を０にし、
前記画素値が水平方向に同一な場合、NxM画素のフレーム内予測画素ブロックをM個の垂直成分の変換係数に変換してNxM−M個の変換係数を０にし、
前記画素値が全て同一な場合、NxM画素のフレーム内予測画素ブロックを1個のDC成分の変換係数に局所的に変換してNxM−１個の変換係数を０にする
局所変換手段として機能させることを特徴とする。
【００３９】
上記課題を解決するための第１６の発明は、
入力画像フレームを水平N画素、垂直M画素とする複数のNxM画素の画素ブロックに分割し、前記NxM画素の画素ブロックを過去に再構築した隣接画素から空間領域でフレーム内予測する情報処理装置のプログラムであって、前記プログラムは前記情報処理装置を、
前記NxM画素の入力画素ブロックをNxM個の変換係数に変換する変換手段と、
フレーム内予測方向が垂直であるNxM画素のフレーム内予測画素ブロックを、N個の水平成分の変換係数に変換してNxM−N個の変換係数を０にする第１の局所変換手段と、
フレーム内予測方向が水平であるNxM画素のフレーム内予測画素ブロックを、M個の垂直成分の変換係数に変換してNxM−M個の変換係数を０にする第２の局所変換手段と、
フレーム内予測方向が平坦であるNxM画素のフレーム内予測画素ブロックを、1個のDC成分の変換係数に変換してNxM−１個の変換係数を０にする第３の局所変換手段と、
前記入力画素ブロックの変換係数と各フレーム内予測方向のフレーム内予測画素ブロックの変換係数とを比較して最良のフレーム内予測方向を検出する検出手段と
して機能させることを特徴とする。
【００４０】
上記課題を解決するための第１７の発明は、
入力画像フレームを水平N画素、垂直M画素とする複数のNxM画素の画素ブロックに分割し、前記NxM画素の画素ブロックを過去に再構築した隣接画素から空間領域でフレーム内予測する情報処理装置のプログラムであって、前記プログラムは前記情報処理装置を、
NxM画素の入力画素ブロックをNxM個の変換係数に変換する変換手段と、
NxM画素のフレーム内予測画素ブロック内の予測画素の画素値が垂直方向に同一であるフレーム内予測画素ブロックを、N個の水平成分の変換係数に変換してNxM−N個の変換係数を０にする第１の局所変換手段と、
NxM画素のフレーム内予測画素ブロック内の予測画素の画素値が水平方向に同一であるフレーム内予測画素ブロックを、M個の垂直成分の変換係数に変換してNxM−M個の変換係数を０にする第２の局所変換手段と、
NxM画素のフレーム内予測画素ブロック内の予測画素の画素値がすべて同一であるフレーム内予測画素ブロックを、1個のDC成分の変換係数に変換してNxM−１個の変換係数を０にする第３の局所変換手段と、
前記入力画素ブロックの変換係数と各フレーム内予測方向のフレーム内予測画素ブロックの変換係数を比較して最良のフレーム内予測方向を検出する検出手段と
して機能させることを特徴とする。
【００４１】
上記課題を解決するための第１８の発明は、上記第１３から第１７の発明において、
前記変換手段は、
DCT、整数精度DCT、あるいはアダマール変換を用いて変換する変換手段として機能させること
を特徴とする。【００４２】
上記「フレーム内予測画素ブロックの局所変換」は、フレーム内予測画素ブロックに対応する全ての変換係数のうち、有効成分（つまり非零となる可能性のある成分）の変換係数のみを計算することを意味する。
例えば、NxM画素（N及びMは自然数である）のフレーム内予測画素ブロックを局所的に変換する場合、前記有効成分が水平成分であれば、N個の水平成分の変換係数のみを計算し、残りのNxM-N個の変換係数を零とする。また、前記有効成分が垂直成分であれば、M個の垂直成分の変換係数のみを計算し、残りのNxM-M個の変換係数を零とする。また、前記有効成分がDC成分であれば、1個のDC成分の変換係数のみを計算し、残りのNxM-1個の変換係数を零とする。
変換が直交変換(DCT、アダマール変換など)であれば、上記局所変換（行列計算を用いない計算）によって、通常の変換（行列計算を用いた計算）と同一の変換係数が得られる。
上記の具体例として、予測画素ブロックが4x4サイズ、予測画素ブロックの変換がゲイン補正なしのアダマール変換(式(eq1))である場合を図6に示す。ただしT[x]はxのアダマール変換を示す記号とする。
上述した局所的な変換により、フレーム内予測方向推定でのSATD計算に必要なアダマール変換（行列計算が必要な通常の変換）の回数を削減することができる。
0004609670.tif 000002
【発明の効果】
【００４３】
本発明は、フレーム内予測の特性に基づいてフレーム内予測のNxM画素の予測画素ブロックに対応するNxM個のフレーム内予測変換係数のうち、NxM未満のK個の変換係数に局所的に変換する手段と、入力変換係数と複数の予測変換係数の残差を求め、残差を用いて最良のフレーム内予測方向を検出する手段を具備することで、少ない演算量で画像を高品質に符号化できる。  
【図面の簡単な説明】
【００４４】
【図１】画像フレームの構成を表す図である。
【図２】従来技術のブロック図である。
【図３】変換によるエネルギーの集中を示すための図である。
【図４】Intra4予測方向を示すための図である。
【図５】Intra16予測方向を示すための図である。
【図６】予測画素の傾斜に依存した有効成分の変換係数である。
【図７】従来におけるフレーム内予測方向推定部のブロック図である。
【図８】本発明における第１の実施の形態のフレーム内予測方向推定部のブロック図である。
【図９】本発明のフレーム内予測方向推定のフローチャートである。
【図１０】本発明における第２の実施の形態のフレーム内予測方向推定部のブロック図である。
【図１１】予測変換係数生成部のブロック図である。
【図１２】本発明における第３の実施の形態のフレーム内予測方向推定部のブロック図である。
【図１３】本発明を利用した情報処理装置のブロック図である。
【図１４】有効成分がＤＣの場合の変換係数（ＤＣＴ）である。
【図１５】有効成分が垂直の場合の変換係数（ＤＣＴ）である。
【図１６】有効成分が水平の場合の変換係数（ＤＣＴ）である。
【符号の説明】
【００４５】
１０８          フレーム内予測部
２００          フレーム内予測方向推定部
２００１        コントローラ
２００２        アダマール変換部
２００３        フレーム内予測探索メモリ
２００４        予測方向選択/イントラMBタイプ選択部
【発明を実施するための最良の形態】
【００４６】
まず発明方式と従来方式(JM方式)の違いを明らかにするために、従来方式のフレーム内予測方向推定の構成、ならびに動作を詳細に説明する。【００４７】
フレーム内予測方向推定の機能は、フレーム内予測方向推定部200が具備する。【００４８】
図7を参照して従来方式のフレーム内予測方向推定部200の構成を説明する。【００４９】
従来方式のフレーム内予測方向推定部200は、フレーム内予測部108、コントローラ2001、アダマール変換部2002、フレーム内予測探索メモリ2003、予測方向選択/イントラMBタイプ選択部2004で構成される。【００５０】
フレーム内予測部108は、コントローラ2001から供給される推定予測方向および推定イントラＭＢタイプおよびフレームメモリ105から供給される再構築画像を入力として、フレーム内予測値を出力する。【００５１】
アダマール変換部2002は、入力MBの画素値から予測値を減じた予測誤差を入力とし、予測誤差信号をアダマール変換して、予測誤差アダマール変換係数を出力する。【００５２】
コントローラ2001は、アダマール変換部2002から供給される予測誤差アダマール変換係数および符号量制御107から供給される量子化パラメータを入力される。そして、この入力された予測誤差アダマール変換係数および量子化パラメータから後述するコストを計算して、フレーム内予測探索メモリ2003に格納された最小予測方向コスト/イントラＭＢタイプコスト/最良フレーム内予測方向/最良MBタイプを更新あるいは参照する。【００５３】
予測方向選択/イントラMBタイプ選択部2004は、フレーム内予測探索メモリ2003に格納された最小予測方向コスト/イントラＭＢタイプコスト/最良フレーム内予測方向/最良ＭＢタイプを参照し、予測方向/イントラＭＢタイプ/イントラＭＢタイプコストを外部に出力する。【００５４】
以上で、フレーム内予測方向推定部200の構成の説明を終了する。続いてフレーム内予測方向推定の詳細な動作を説明する前に、従来方式におけるIntra4MBおよびIntra16MBでのフレーム内予測値の生成(すなわちフレーム内予測部108の出力)について、いくつか例を示しておく。【００５５】
Intra4MBでのフレーム内予測の一例として、図4で示した垂直方向/水平方向/DCのフレーム内予測に対応する4x4ブロック予測値
0004609670.tif 000003
の生成式を式(1)-(3)に示す。
Intra4MBの垂直方向予測(pred4dir=0)
0004609670.tif 000004
Intra4MBの水平方向予測(pred4dir=1)
0004609670.tif 000005
Intra4MBのDC予測(pred4dir=2)
0004609670.tif 000006
0004609670.tif 000007
ただし、画像フレームの解像度を横width画素、縦height画素とし、現在の符号化対象フレームの時刻をt、再構築した画像フレーム(参照フレーム)の画素値をrect(i,j) {0≦i≦width-1、0≦j≦height-1}、画像フレームにおける符号化対象MBの左上角の座標を(mbx,mby) {0≦mbx≦width-16、0≦mby≦height-16}、MB内での符号化対象4x4ブロックのインデックスをidx {0≦idx≦15} (図1の中央図参照)、インデックスidx の4x4ブロックの左上角のMB内部での座標を
0004609670.tif 000008
、前記4x4ブロック内の4x4ブロック内部の座標を(x,y) {0≦x≦3、0≦y≦3}とする。また、本明細における記号”>>”および”<<”は、それぞれ算術右シフト、算術左シフトとする。【００５６】
他の4x4ブロックフレーム内予測方向に関しては、説明の簡略化のため本明細書には記載しないが、他の予測方向の4x4ブロックフレーム内予測値の生成式は従来技術として挙げた非特許文献１に記載の技術である。【００５７】
Intra4MBと同様に、Intra16MBにおけるフレーム内予測の一例として、図5で示した垂直方向/水平方向/DCのフレーム内予測に対応する16x16ブロック予測値pred16x16(dir,x,y) {0≦dir≦3、0≦x≦15、0≦y≦15}の生成式を式(5)-式(7)に示す
Intra16MBの垂直方向予測(pred16dir=0)
0004609670.tif 000009
Intra16MBの水平方向予測(pred16dir=1)
0004609670.tif 000010
Intra16MBのDC予測(pred16dir=2)
0004609670.tif 000011
0004609670.tif 000012
ただし、符号化対象MBの左上角の座標を(mbx,mby)  {0≦mbx≦width-16、0≦mby≦height-16}、MB内部の座標を(x,y){0≦x≦15、0≦y≦15}とする。【００５８】
なおPlane方向の予測値(pred16x16(3,x,y))の生成式は、説明の簡略化のため本明細書には記載しないが、intra16MB平面予測方向の生成式は従来技術として挙げた非特許文献１に記載の技術である。【００５９】
以上説明したIntra4MBおよびIntra16MBともに、垂直方向フレーム内予測では予測画素ブロックの予測画素の傾斜が垂直方向に同一であること、また水平方向フレーム内予測では予測画素ブロックの予測画素の傾斜が水平方向に同一であること、またDCフレーム内予測では予測画素ブロックの予測画素の傾斜が平坦であることが確認できる。すなわち、すべての予測画素値が同一であることが確認できる。【００６０】
以上で、JM方式におけるIntra4MBおよびIntra16MBでのフレーム内予測値の生成に関する簡単な例の説明を終了する。【００６１】
続いて、従来方式のフレーム内予測方向推定の詳細な動作を説明する。フレーム内予測方向推定では、4x4ブロックの最良予測方向推定、Intra4MBコスト計算、Intra16MBコスト計算、イントラMBタイプコスト計算および最良イントラMBタイプと予測方向の選択を行う。各処理を、定式的に以下で説明する。【００６２】
まず、4x4ブロックの最良予測方向推定を説明する。【００６３】
各4x4予測方向dir {0≦dir≦8}について、式(9)のB4Cost(dir)を計算し、最小のB4Costを4x4ブロック最小予測方向コスト
0004609670.tif 000013
、これに対応する予測方向dirを4x4ブロック最良フレーム内予測方向pred4dir(idx)として保存する。
0004609670.tif 000014
0004609670.tif 000015
0004609670.tif 000016
0004609670.tif 000017
0004609670.tif 000018
ここでsrc(i,j) {0≦i≦15,
0≦j≦15}は入力画像MBの画素、bitlength(dir)は予測方向dirの可変長符号量の長さを返す関数、QPはMBの量子化パラメータ、式(11)はアダマール変換である。ただしゲインの補正が通常のアダマール変換と異なる。【００６４】
続いてIntra4MBコスト計算を説明する。【００６５】
Intra4MBコストIntra4MBCostは式(14)で得られる。
0004609670.tif 000019
続いてIntra16MBコスト計算を説明する。【００６６】
Intra16MBコスト計算では、各16x16予測方向dir{0≦dir≦3}について式(15)のB16Cost(dir)を計算し、最小のB16CostをIntra16MBコストIntra16MBCost、これに対応する予測方向を16x16ブロック最良フレーム内予測方向dir16として保存する。
0004609670.tif 000020
0004609670.tif 000021
0004609670.tif 000022
0004609670.tif 000023
0004609670.tif 000024
0004609670.tif 000025
0004609670.tif 000026
最後に、イントラMBコスト計算および最良イントラMBタイプと最良予測方向の選択を説明する。【００６７】
最良イントラMBタイプIntraMBTypeは式(21)、イントラMBタイプコストIntraMBCostは式(22)で計算される。
0004609670.tif 000027
0004609670.tif 000028
外部に出力する予測方向には、式(22)で選択された最良イントラMBタイプに応じて、各イントラMBタイプでのフレーム内予測方向推定で得られた最良フレーム内予測方向をセットする。【００６８】
以上で、従来方式のフレーム内予測方向推定の詳細な動作の説明を終了する。【００６９】
従来方式は、1個の4x4ブロックあたりに推定する4x4ブロックフレーム内予測方向は9方向、1個の4x4ブロックあたりに推定する16x16ブロックフレーム内予測方向は4方向であるから、1MBあたり合計で208(16*(9+4))回ものアダマール変換が必要になる。Intra16MBのDC成分を含めると212回となる。【００７０】
本発明は、画像品質を損なうことなく、フレーム内予測方向推定に利用するSATDの計算に必要なアダマール変換の回数を削減する技術を提供する。【００７１】
本発明について説明する。【００７２】
まず、本発明の第１の実施形態について説明する。本発明を用いた画像符号化装置の構成は、フレーム内予測方向推定部200の構成および動作のみが図2の従来方式と異なる。よって本実施形態では、フレーム内予測方向推定部200の構成および動作について説明する。【００７３】
まず図8を参照して本発明におけるフレーム内予測方向推定部200の構成を説明する。【００７４】
発明におけるフレーム内予測方向推定部200は、従来方式のフレーム内予測部108、コントローラ2001、アダマール変換部2002A/2002B、フレーム内予測探索メモリ2003、予測方向選択/イントラMBタイプ選択部2004に加えて、局所変換係数生成部2005、入力アダマール変換係数メモリ2006、スイッチSW2007を備える。【００７５】
フレーム内予測部108は、コントローラ2001から供給される推定予測方向および推定イントラＭＢタイプおよびフレームメモリ105から供給される再構築画像を入力として、フレーム内予測値を出力する。【００７６】
アダマール変換部2002Aは、入力MBの画素値を入力とし、入力MBを4x4画素でブロック分割した画像をアダマール変換して、この4x4画素でブロック分割した画像のアダマール変換係数を入力アダマール変換係数メモリ2006に供給する。【００７７】
アダマール変換部2002Bは、入力MBの画素値からフレーム内予測部108からの予測値を減じた予測誤差を入力とし、この入力された予測誤差をアダマール変換して、予測誤差アダマール変換係数を出力する。ただし、本実施形態ではアダマール変換部2002Aとアダマール変換部2002Bとは異なる構成としているが、入力によって出力を切り替え可能とするスイッチを新たに設けることで、1つのアダマール変換部として構成することも可能であることを付け加えておく。【００７８】
局所変換係数生成部2005は、コントローラ2001から供給される推定予測方向/推定イントラMBタイプに対応する予測値が局所的に変換可能であるか否かを判断し、局所的に変換可能であれば予測値を局所的に変換し、予測アダマール変換係数を出力する。【００７９】
入力アダマール変換係数メモリ2006は、アダマール変換部2002Aから供給される入力アダマール変換係数を記憶し、記憶した入力アダマール変換係数を供給する。【００８０】
SW2007は、コントローラ2001から供給される推定予測方向および推定イントラMBを監視して、アダマール変換部2002Bから供給される予測誤差アダマール変換係数、あるいは局所変換係数生成部2005を経由して供給される予測誤差アダマール変換係数(入力アダマール変換係数から予測アダマール変換係数を減じた値)をコントローラ2001に供給する。具体的には、コントローラ2001から供給される推定予測方向および推定イントラMBに対応する予測画像を、局所変換係数生成部2005によって、局所的に変換可能であれば、局所変換係数生成部2005を経由して供給される予測誤差アダマール変換係数をコントローラ2001に供給し、そうでなければアダマール変換部2002Bから供給される予測誤差アダマール変換係数をコントローラ2001に供給する。【００８１】
コントローラ2001は、SW2007から供給される予測誤差アダマール変換係数および符号量制御107から供給される量子化パラメータを入力とし、この入力からコストを計算して、フレーム内予測探索メモリ2003に格納された最小予測方向コスト/イントラＭＢタイプコスト/最良フレーム内予測方向/最良ＭＢタイプを更新あるいは参照する。【００８２】
予測方向選択/イントラMBタイプ選択部2004は、フレーム内予測探索メモリ2003に格納された最小予測方向コスト/イントラＭＢタイプコスト/最良フレーム内予測方向/最良ＭＢタイプを参照し、予測方向/イントラＭＢタイプ/イントラＭＢタイプコストを外部に出力する。【００８３】
以上で本発明におけるフレーム内予測方向推定部200の構成の説明を終了する。続いて図9のフローチャートを参照して、本発明におけるフレーム内予測方向推定部200の動作を説明する。【００８４】
ステップS1000Aでは、入力画像のアダマール変換係数である入力アダマール変換係数
0004609670.tif 000029
を式(23)で計算する。また式(17)のIntra16MBのTDCに対応するために入力アダマール変換係数からDC入力アダマール変換係数sTDC(x,y) {0≦x≦3, 0≦y≦3}を式(24)で計算する。
0004609670.tif 000030
0004609670.tif 000031
0004609670.tif 000032
ステップS1001Aでは、MB内の4x4ブロックインデックスカウンタidxおよびIntra4MBコストIntra4costを式(26),(27)でそれぞれ初期化する。
0004609670.tif 000033
0004609670.tif 000034
ステップS1002Aでは、idxが16未満かどうかを判定し、idxが16未満であれば続く処理をステップS1003A、そうでなければ続く処理をステップS1010Aとする。【００８５】
ステップS1003Aでは、MB内でインデックスidxに相当する4x4ブロックの予測方向を求めるために、推定方向カウンタdir(カウンタの番号は実際の予測方向と一致させるように動作させる)、4x4ブロック最良予測方向pred4dir(idx)、4x4ブロック最良予測方向コストMinB4Cost(idx)を以下の式(28)-(30)で初期化する。
0004609670.tif 000035
0004609670.tif 000036
0004609670.tif 000037
ステップS1004Aでは、推定方向カウンタdirが9未満かどうかを判定し、dirが9未満であれば続く処理をステップS1005A、そうでなければ続く処理をステップS1009Aとする。【００８６】
ステップS1005Aでは、推定方向カウンタdirの4x4ブロックフレーム内予測方向の予測画素ブロックが局所的に変換可能か否かを式(31)で判断する。
0004609670.tif 000038
flag1が1であれば続く処理をステップS1006A、そうでなければ(flag1が0であれば)続く処理をステップS1007Aとする。【００８７】
ステップS1006Aでは、予測方向カウンタdirとインデックスidxに対応する4x4ブロックフレーム内予測方向の予測画素ブロックの変換係数を、その予測方向に応じた式(32)-(34)の局所的な変換を行い、予測アダマール変換係数pT(x,y) {0≦x≦3, 0≦y≦3}を生成する。さらに続いて、式(35)によって4x4ブロック予測方向コストB4Costを計算する。
ステップS1006Aでは、予測方向カウンタdirとインデックスidxに対応する4x4ブロックフレーム内予測方向の予測画素ブロックの変換係数を、アダマール変換を利用することなく、その予測方向に応じた式(32)-(34)で局所的に予測アダマール変換係数pT(x,y) {0≦x≦3, 0≦y≦3}を生成する。さらに続いて、式(35)によって4x4ブロック予測方向コストB4Costを計算する。
dir=0(垂直の場合)
0004609670.tif 000039
dir=1(水平の場合)
0004609670.tif 000040
dir=2(DCの場合)
0004609670.tif 000041
B4Costの計算
0004609670.tif 000042
なお、式(32)-(34)より、アダマール変換を利用することなく予測画素ブロックの変換係数が得られることが確認できる。また、式(35)の第１項の値が式(10)のSATDの値に対応する。【００８８】
ステップS1007Aでは、従来方式と同様に4x4ブロック予測方向コストB4Costを式(9)で計算する。【００８９】
ステップS1008Aでは、ステップS1006あるいはステップS1007Aで得られた4x4ブロック予測方向コストB4Costの値により、4x4ブロック最良予測方向pred4dir(idx)および4x4ブロック最良予測方向コストMinB4Cost(idx)を式(36)と(37)で更新する。さらに続いてdirを1インクリメントしてステップS1004Aにうつる。
0004609670.tif 000043
0004609670.tif 000044
ステップS1009Aでは、idxを1インクメントし、さらに式(38)によりIntra4Costを更新し、ステップS1002Aに移る。
0004609670.tif 000045
ステップS1010Aでは、16x16ブロック最良フレーム内予測方向dir16を求めるために、Intra16MBコストintra16Cost、16x16ブロック最良フレーム内予測方向dir16、推定予測方向カウンタdirを以下の式(39)-(41)で初期化する。
0004609670.tif 000046
0004609670.tif 000047
0004609670.tif 000048
ステップS1011Aでは、推定方向カウンタdirが4未満かどうかを判定し、dirが4未満であれば続く処理をステップS1012A、そうでなければ続く処理をステップS1016Aとする。【００９０】
ステップS1012Aでは、推定方向カウンタdirの16x16ブロックフレーム内予測の予測画素ブロックが局所的に変換可能か否か式
(42)で判断する。
0004609670.tif 000049
flag2が1であれば続く処理をステップS1013A、そうでなければ(flag2が0であれば)続く処理をステップS1014Aとする。【００９１】
ステップS1013Aでは、予測方向カウンタdirに対応する16x16ブロックフレーム内予測方向の予測画素ブロックの変換係数を、アダマール変換を利用することなく、その予測方向に応じて式(43)-(48)を用いて、MB内部の各4x4ブロックの予測アダマール変換係数
0004609670.tif 000050
および式(24)に対応するDC予測アダマール変換係数pTDC(x,y) {0≦x≦3, 0≦y≦3}を生成する。さらに続いて、式(50)によって16x16ブロック予測方向コストB16Costを計算する。
dir=0(垂直の場合)
0004609670.tif 000051
0004609670.tif 000052
dir=1(水平の場合)
0004609670.tif 000053
0004609670.tif 000054
dir=2(DCの場合)
0004609670.tif 000055
0004609670.tif 000056
0004609670.tif 000057
0004609670.tif 000058
0004609670.tif 000059
0004609670.tif 000060
なお、式(43)-(48)より、アダマール変換を利用することなく予測画素ブロックが局所的に変換されることが確認できる。また、式(51)は式(16)のSATDACに対応し、式(52)は式(17)のSATDCに対応する。【００９２】
ステップS1014Aでは、従来方式と同様に16x16ブロック予測方向コストB16Costを式(15)で計算する。【００９３】
ステップS1015Aでは、ステップS1013AあるいはステップS1014Aで得られた16x16ブロック予測方向コストB16Costの値により、16x16ブロック最良予測方向dir16およびIntra16MBコストintra16Costを式(53)と(54)で更新する。さらにdirを1インクリメントしてステップS1011Aにうつる。
0004609670.tif 000061
0004609670.tif 000062
ステップS1016Aでは、従来方式と同様に、最良イントラMBタイプIntraMBTypeを式(21)、イントラMBタイプコストIntraMBCostを式(22)で計算する。外部に出力する予測方向には、式(21)で選択された最良イントラMBタイプに応じて、各イントラMBタイプでのフレーム内予測方向推定で得られた最良フレーム内予測方向をセットする(最良イントラMBタイプがIntra16MBであればdir16を、そうでなければpred4dir(idx) {0≦idx≦15}をセットする)。
0004609670.tif 000063
0004609670.tif 000064
以上で本発明におけるフレーム内予測方向推定部200の動作の説明を終了する。【００９４】
本発明によると、垂直方向/水平方向/DCのフレーム内予測の予測方向推定においてアダマール変換（行列計算が必要な通常のアダマール変換）を利用することなくSATDを計算できる。【００９５】
この結果フレーム内予測推定でのSATD計算に伴うアダマール変換の回数は、アダマール変換が必要な4x4ブロックフレーム内予測方向が6(9-3)方向、アダマール変換が必要な16x16ブロックフレーム内予測方向が1(4-3)方向、入力信号のアダマール変換が一回であるから、1MBあたり合計で128(16*(6+1+1))回でよい。なお、Intra16MBのDC成分を含めると130回となる。【００９６】
本発明の128回と従来方式の208回と比較すると、約38%の演算回数削減である。本発明は、画質を損なうことなく、従来方式よりも少ない計算量で画像を符号化できる。【００９７】
以上によって第1実施形態の説明を終わる。【００９８】
次に、本発明における第２の実施形態について説明する。第１の実施形態では、垂直方向/水平方向/ DCのフレーム内予測方向推定においては、入力画素ブロックおよび予測画素ブロックをそれぞれ独立にアダマール変換して、その差分からSATDを計算し(以後、変換領域差分方式と呼ぶ)、その他のフレーム内予測方向推定においては、入力画素ブロックと予測画素ブロックの画素値の差分をアダマール変換してSATDを計算(以後、空間領域差分方式と呼ぶ)する。つまり、第1実施形態は、空間領域差分方式と変換領域差分方式を適応的に使い分けている。【００９９】
装置の構成をより単純にするために、常に変換領域差分方式を利用して、第1実施形態と同等の機能を実現する発明の第2実施形態の構成を図10に示す。【０１００】
第2実施形態における発明のフレーム内予測方向推定部200は、従来方式のコントローラ2001、アダマール変換部2002、フレーム内予測探索メモリ2003、予測方向選択/イントラMBタイプ選択部2004に加えて、局所変換係数生成部2005、入力アダマール変換係数メモリ2006、スイッチSW2007、予測変換係数生成部2008を備える。【０１０１】
アダマール変換部2002は、入力MBの画素値を入力とし、入力MBを4x4画素でブロック分割した画像をアダマール変換して、4x4画素でブロック分割した画像のアダマール変換係数を入力アダマール変換係数メモリ2006に供給する。【０１０２】
局所変換係数生成部2005は、コントローラ2001から供給される推定予測方向/推定イントラMBタイプに対応する予測値が局所的に変換可能であるか否かを判断し、局所的に変換可能であれば、予測値を局所的に変換して、計算の結果を予測アダマール変換係数としてSW2007に供給する。【０１０３】
図11に示すように、予測変換係数生成部2008の内部は、フレーム内予測部108とアダマール変換部2002で構成される。フレーム内予測部108は、供給される予測方向およびイントラＭＢタイプおよび再構築画像を入力として、フレーム内予測値を出力する。フレーム内予測値は、アダマール変換部2002によってアダマール変換されて、変換されたフレーム内予測値は予測アダマール変換係数としてSW2007に供給する。【０１０４】
アダマール変換部2002は、入力MBの画素値を入力とし、入力MBを4x4画素でブロック分割した画像をアダマール変換して、4x4画素でブロック分割した画像のアダマール変換係数を入力アダマール変換係数メモリ2006に供給する。【０１０５】
入力アダマール変換係数メモリ2006は、アダマール変換部2002Aから供給される入力アダマール変換係数を記憶し、記憶した入力アダマール変換係数を供給する。【０１０６】
SW2007は、コントローラ2001から供給される推定予測方向および推定イントラMBを監視して、局所変換係数生成部2005によって、推定予測方向および推定イントラMBに対応する予測値を局所的に変換可能であれば、局所変換係数生成部2005から供給される予測アダマール変換係数を接続し、入力アダマール変換係数との差分をコントローラ2001に供給する。一方、局所変換係数生成部2005によって局所的な変換が可能でなければ、予測変換係数生成部2008から供給される予測アダマール変換係数を接続し、入力アダマール変換係数との差分をコントローラ2001に供給する。【０１０７】
コントローラ2001は、供給される予測誤差アダマール変換係数（予測アダマール変換係数と入力アダマール変換係数の差分）および符号量制御107から供給される量子化パラメータを入力とし、この入力からコストを計算して、フレーム内予測探索メモリ2003に格納された最小予測方向コスト/イントラＭＢタイプコスト/最良フレーム内予測方向/最良ＭＢタイプを更新あるいは参照する。【０１０８】
予測方向選択/イントラMBタイプ選択部2004は、フレーム内予測探索メモリ2003に格納された最小予測方向コスト/イントラＭＢタイプコスト/最良フレーム内予測方向/最良ＭＢタイプを参照し、予測方向/イントラＭＢタイプ/イントラＭＢタイプコストを外部に出力する。【０１０９】
以上で第2の実施形態におけるフレーム内予測方向推定部200の構成の説明を終了する。続いて、第2実施形態における発明のフレーム内予測方向推定部200の動作を説明する。【０１１０】
第2の実施形態での発明の動作は、第1実施形態で示した図9のフローチャートでのステップS1007AとステップS1014Aとのみに変更が必要である。よって第2の実施形態での発明の動作は、図9のステップS1007A/S1014Aを以下で説明するステップS1007B/ステップS1014Bに置き換えればよい。従って、ステップS1007B/ステップS1014Bのみを説明する。【０１１１】
ステップS1007Bでは、予測方向カウンタdirとインデックスidxに対応する4x4ブロックフレーム内予測方向の予測アダマール変換係数pT(x,y) {0≦x≦3, 0≦y≦3}を式(55)によって生成する。さらに続いて、式(35)によって4x4ブロック予測方向コストB4Costを計算する。
0004609670.tif 000065
ただし、
0004609670.tif 000066
とする。【０１１２】
ステップS1014Bでは、予測方向カウンタdirに対応する6x16ブロックフレーム内予測方向の予測アダマール変換係数
0004609670.tif 000067
とDC予測アダマール変換係数pTDC(x,y) {0≦x≦3, 0≦y≦3}をそれぞれ式(56)(57)生成する。さらに続いて、式(50)によって16x16ブロック予測方向コストB16Costを計算する。
0004609670.tif 000068
0004609670.tif 000069
ただし、式(57)の右シフトにより、Intra16MBのPlane方向の評価値B16Cost(3)は、実施形態1のB16Cost(3)と値が完全一致しないが、フレーム内予測方向の推定精度は、ほとんど変わらない。【０１１３】
以上で、第2実施形態のおける発明の動作の説明を終わる。【０１１４】
本発明の第2の実施形態を用いると、第1実施形態と同様に、画質を損なうことなく、従来方式よりも少ない計算量で、画像を符号化できる。【０１１５】
次に、本発明における第3の実施形態について説明する。【０１１６】
上述した第2の実施形態では、1つの局所変換係数生成部2005と1つの予測変換係数生成部2008とを使い回して予測アダマール変換係数を計算する構成であった。しかしながら、各フレーム内予測方向に特化した複数の局所変換係数生成部および予測変換係数生成部を備える構成も可能である。【０１１７】
図12は、第3の実施の形態を示すフレーム内予測方向推定部200のブロック図である。図12は、各フレーム内予測方向に特化した複数の局所変換係数生成部2005および予測変換係数生成部2008を備えた構成である。【０１１８】
本実施の形態の場合、第1実施形態および第2実施形態よりも装置は大規模になるが、垂直方向/水平方向/DC以外の計算に時間のかかるフレーム内予測値の生成とアダマール変換をすべて並列に実行できるので、フレーム内予測方向推定部200の動作が高速になる。【０１１９】
本実施の形態を用いると、第1実施形態および第2実施形態と同様に、画質を損なうことなく、従来方式よりも少ない計算量で画像を符号化することができる。【０１２０】
次に、本発明における第4の実施の形態について説明する。上述した実施の形態では、フレーム内予測画素ブロックのフレーム内予測変換係数の局所計算をフレーム内予測方向に基づいて計算する場合について述べた。本実施の形態は、フレーム内予測方向の代わりに、フレーム内予測画素ブロック内の予測画素の画素値を用いた場合について説明する。【０１２１】
本実施の形態の場合、前記画素値が垂直方向に同一な場合、水平成分の変換係数に局所的に変換し、前記画素値が水平方向に同一な場合、垂直成分の変換係数に局所的に変換し、前記画素値が全て同一な場合、DC成分の変換係数に局所的に変換する。【０１２２】
さらに上述した実施の形態でおいては、輝度信号のフレーム内予測方向推定の場合について述べた。しかしながら、本発明は、予測画素ブロックの予測画素の傾斜が垂直方向に同一である、あるいは予測画素ブロックの予測画素の傾斜が水平方向に同一である、あるいは予測画素ブロックの予測画素の傾斜が平坦であるフレーム内予測方向を利用する色差信号のフレーム内予測方向推定に関しても適用することができる。【０１２３】
また、上述した実施の形態においては、SATDに用いる変換のブロックのサイズが4x4画素である場合を述べた。しかしながら、本発明は4x4画素ブロックに限らず、8x8画素ブロックあるいは16x16画素ブロックなどのブロックサイズにも適用可能である。【０１２４】
さらに、上述した実施の形態においては、フレーム内予測方向推定に用いるSATDに利用する変換がアダマール変換である場合について述べたが、本発明はアダマール変換に限らず式(58)の整数精度DCTなどの変換においても適用可能である。
0004609670.tif 000070
例えばDCブロック以外のSATD計算に利用する変換を式(58)の整数精度DCTとした場合、上述した実施の形態での式(10)、(11)、(16)、(23)、(32)、(33)、(35)、(43)、(45)、(51)、(55)、(56)を、以下の式(10B)、(11B)、(16B)、(23B)、
(32B)、(33B)、(35B)、(43B)、(45B)、(51B)、(55B)、(56B)に変更する必要がある。
0004609670.tif 000071
0004609670.tif 000072
0004609670.tif 000073
0004609670.tif 000074
0004609670.tif 000075
0004609670.tif 000076
0004609670.tif 000077
0004609670.tif 000078
0004609670.tif 000079
0004609670.tif 000080
0004609670.tif 000081
0004609670.tif 000082
0004609670.tif 000083
ただしg(i,j)は式(58)の整数精度DCTによる変換成分のゲインを補正するパラメータであり、式(59)の値限りではない。例えば量子化マトリクスを符号化器が利用するのであれば、これを加味した値としてもよい。【０１２５】
さらに上述した実施の形態においては、フレーム内予測方向推定に用いるSATDに利用する変換がアダマール変換である場合について述べたが、本発明は、式(60)で定義される2次元DCTにおいてN=4の4x4DCT式(61)を利用した場合でも適用可能である。
0004609670.tif 000084
0004609670.tif 000085
【０１２６】
これはDCTの変換係数が、図14-16に示すように、図6のアダマール変換の変換係数と同様に、有効成分の変換係数が予測画素の傾斜に依存しているからである。【０１２７】
さらには上述した実施の形態においては、上述した説明からも明らかなように、ハードウェアで構成することも可能であるが、コンピュータプログラムにより実現することも可能である。【０１２８】
図13は、本発明による動画像符号化装置をインプリメントした情報処理システムの一般的ブロック構成図である。【０１２９】
図13に示す情報処理システムは、プロセッサA1001，プログラムメモリA1002，記憶媒体A1003およびA1004からなる。記憶媒体A1003およびA1004は、別個の記憶媒体であってもよいし、同一の記憶媒体からなる記憶領域であってもよい。記憶媒体としては、ハードディスク等の磁気記憶媒体を用いることができる。
【図１】
0004609670.tif 000086
【図２】
0004609670.tif 000087
【図３】
0004609670.tif 000088
【図４】
0004609670.tif 000089
【図５】
0004609670.tif 000090
【図６】
0004609670.tif 000091
【図７】
0004609670.tif 000092
【図８】
0004609670.tif 000093
【図９】
0004609670.tif 000094
【図１０】
0004609670.tif 000095
【図１１】
0004609670.tif 000096
【図１２】
0004609670.tif 000097
【図１３】
0004609670.tif 000098
【図１４】
0004609670.tif 000099
【図１５】
0004609670.tif 000100
【図１６】
0004609670.tif 000101