明 細 書
画像符号化装置、画像符号化方法及びそのプログラム
技術分野
[0001] 本発明は画像符号化技術に関し、特に画像信号を蓄積する画像符号化の技術に 関する。
背景技術
[0002] 従来、画像符号化装置は、外部から入力される画像信号をディジタル化した後、所 定の画像符号化方式に準拠した符号化処理を行うことで符号化情報列すなわちビッ トストリームを生成する。画像符号化方式として、近年規格化された ISO/IEC 14496-1 0 Advanced Video Codingがある(例えば非特許文献 1)。また、この Advanced Video Coding符号器の開発の参照モデルとして JM(Joint Model)方式が知られている。
[0003] JM方式においては、画像フレームを MB(Macro Block)とよばれる 16x16画素サイズ のブロックに分割し、さらにこの MBを 4x4画素サイズのブロック分割し(以後、 4x4ブロ ックと呼ぶ)、 4x4ブロックを符号化の最小構成単位とする。図 1は、画像フレームが Q CIF(Quarter Common Intermediate Format)の場合での、ブロック分割の例である。 尚、通常、画像フレームは輝度信号と色差信号とで構成されるが、以下では説明の 簡略化のために、輝度信号のみを取り扱う。
[0004] 図 2は、従来の画像符号化装置の例を示す概略ブロック図である。図 2を参照して 、画像フレームを入力とし、ビットストリームを出力する JM方式の動作を説明する。
[0005] 図 2を参照すると、 JM方式は MBバッファ 101、変換部 102、量子化部 103、逆量子化 /逆変換部 104、フレームメモリ 105、エントロピー符号化部 106、符号量制御部 107、フ レーム内予測部 108、フレーム間予測部 109、フレーム間予測部 110、フレーム内予測 方向推定部 200、スィッチ SW101、及びスィッチ SW102で構成される。尚、実際の JM 方式にはループ内フィルタが存在する力 S、説明の簡略化のため省略している。
[0006] 各構成の動作を以下で説明する。
[0007] MBバッファ 101は、入力される画像フレームの符号化対象 MBの画素値(以後、入 力画像と呼ぶ)を格納する。 MBバッファ 101から供給される入力画像は、フレーム間
予測部 109あるいはフレーム内予測部 108から供給される予測値が減じられる。この 予測値が減じられた入力画像を予測誤差と呼ぶ。予測誤差は、変換部 102に供給さ れる。また予測値で構成される画素の集合を予測画素ブロックと呼ぶ。
[0008] フレーム間予測は、現在の符号化対象の画像フレームと表示時刻が異なる過去に 再構築された画像フレームとを参照して、画素空間で現在の符号化対象ブロックを 予測する。フレーム間予測を用いて符号化された MBをインター MBと呼ぶ。フレーム 内予測は、現在の符号化対象の画像フレームと、表示時刻が同一の過去に再構築 された画像フレームを参照して、画素空間で現在の符号ィ匕対象ブロックを予測する。 フレーム内予測を用いて符号化された MBをイントラ MBと呼ぶ。イントラ MBのみで 構成される符号ィ匕画像フレームを Iフレーム、イントラ MBまたはインター MBで構成さ れる符号ィ匕画像フレームを Pフレームと呼ぶ。
[0009] 変換部 102は、 MBバッファ 101からの予測誤差を 4x4ブロックの単位で 2次元変換し 、空間領域から周波数領域に変換する。周波数領域に変換された予測誤差信号を 変換係数と呼ぶ。 2次元変換には、 DCT(Discrete Cosine Transform)やアダマール変 換などの直交変換が利用でき、 JM方式では基底を整数値化した、整数精度 DCTを 利用する。
[0010] 一方で、符号量制御部 107は、入力される画像フレームを目標のビット数で符号化 するために、エントロピー符号化部 106が出力するビットストリームのビット数を監視す る。そして、出力されるビットストリームのビット数が目標のビット数よりも多ければ量子 化ステップサイズを大とする量子化パラメータを出力し、逆に出力されるビットストリー ムのビット数が目標のビット数よりも少なければ量子化ステップサイズを小とする量子 ィ匕パラメータを出力する。これによつて符号量制御部 107は、出力ビットストリームを目 標のビット数に近づくように符号化する。
[0011] 量子化部 103は、変換部 102からの変換係数を、符号量制御部 107が供給する量子 ィ匕パラメータに対応する量子化ステップサイズで量子化する。量子化された変換係 数はレベルと呼ばれ、レベル値はエントロピー符号化部 106によってエントロピー符号 化されてビット列、すなわちビットストリームとして出力される。また、復号側での逆量 子化のために、量子化パラメータも、エントロピー符号化部 106によってビットストリー
ムとして出力される。
[0012] 逆量子化/逆変換部 104は、以降の符号化のために、量子化部 103から供給される レベルを逆量子化し、さらに 2次元逆変換して元の空間領域に戻す。元の空間領域 に戻された予測誤差は、量子化によって歪が発生しているため再構築予測誤差と呼 ぶ。
[0013] フレームメモリ 105は、再構築予測誤差に予測値を加えた値を再構築画像として格 納する。格納された再構築画像は、以降のフレーム内予測およびフレーム間予測で 予測値の生成に参照されるので、参照フレームとも呼ぶ。
[0014] フレーム間予測部 109は、フレームメモリ 105に格納された参照フレームから、動きべ タトル推定部 110から供給されるインター MBタイプおよび動きベクトルに基づき、フレ ーム間予測信号を生成する。
[0015] 動きべクトノレ推定部 110は、インター MBタイプコストを最小にするフレーム間予測値 を生成するインター MBタイプおよび動きベクトルを検出する。 JM方式や特許文献 1で は、インター MBタイプコストには単純に予測誤差信号の SAD(Sum of Absolute Differ ence)でなぐ予測誤差信号をアダマール変換などによって変換した予測誤差信号の 変換係数の絶対値総和 SATD(Sum of Absolute Transformed Difference)を利用する ことで、高画質化を達成している。例えば図 3のような場合、単純に SADを計算すると 大きな値になる。し力し、図 3では、変換後に予測誤差信号は DC(Direct Current)成 分にエネルギーが集中するので、 SADは大きな値になるものの、エントロピー符号ィ匕 後のビット数はさほど多くはなレ、。このため単純に SADよりも、のちの変換の効果を考 慮した SATDを利用する方が符号化効率がよい。また、 SATDの変換には、理想的に は実際の符号器の変換と同じ変換 (JM方式では整数精度 DCT)を利用するのが望ま しいが、計算量を抑えるために、 JM方式や特許文献 1は、計算が単純なアダマール 変換を SATDに採用している。ただし、計算が単純なアダマール変換を SATDに用い たとしても、アダマール変換の計算分だけ SADを用いる場合よりも演算量は増加する 問題点がある。
[0016] フレーム内予測部 108は、フレーム内予測方向推定装置 200から供給されるイントラ MBタイプおよび予測方向に基づき、フレームメモリ 105に格納された参照フレームか
らフレーム内予測信号を生成する。尚、 JM方式のイントラ MBの種類 (以後、 MBの種 類を MBタイプと呼ぶ)には、符号化対象 MBの単位で隣接する画素からフレーム内予 測する MBタイプ (以後、 Intral6MBと呼ぶ)と、符号化対象 MB内の 4x4ブロックの単位 で隣接する画素からフレーム内予測する MBタイプ (以後、 Intra4MBと呼ぶ)がある。 In tra4MBは、図 4に示す 9種類のフレーム内予測方向を用いてフレーム内予測が可能 である。また、 Intral6MBは、図 5に示す 4種類のフレーム内予測方向を用いてフレー ム内予測が可能である。
[0017] フレーム内予測方向推定部 200は、イントラ MBタイプコストを最小にするイントラ MB タイプおよび予測方向を検出する。イントラ MBタイプコストには、インター MB同様に SADではなく SATDを利用することで、高画質符号化に有効なイントラ MBタイプおよ び予測方向を選択できる。
[0018] スィッチ SW101は、フレーム内予測方向推定 200および動きベクトル推定 110から供 給されるイントラ MBタイプコストとインター MBタイプコストとを比較し、コストの小さレ、 MBタイプ側の予測値を選択する。
[0019] スィッチ SW102は、スィッチ SW101が選択する予測値を監視し、フレーム間予測が 選択された場合、動きベクトル推定部 110から供給されるインター MBタイプおよび動 きべクトノレをエントロピー符号化部 106に供給する。一方フレーム内予測が選択され た場合、スィッチ SW102は、フレーム内予測方向推定部 200から供給されるイントラ M Bタイプおよび予測方向をエントロピー符号ィヒ部 106に供給する。
[0020] 以上の処理を、入力 MBに対して逐次実行することで、 JM方式は、画像フレームを 高品質に符号ィ匕している。
非特許文献 1 : ISO/IEC 14496-10 Advanced Video Coding
特許文献 1:特開 2004-229315
発明の開示
発明が解決しょうとする課題
[0021] 上述したように、フレーム内予測方向およびフレーム間予測の推定コストに SATDを 利用した場合、フレーム内予測方向およびフレーム間予測の数だけ、変換が必要で ある。 JM方式では、 1つの MB(16個の 4x4ブロック)の符号化では、 Intral6MBの 4方向
および Intra4x4MBの 9方向すベての予測方向を探索した場合、フレーム内予測の探 索だけでも 208回 (16*(4+9))の変換が必要となる。
[0022] フレーム内予測の探索に必要なアダマール変換の回数を削減する方法として、 SA TDではなく SADを利用する方法、探索する予測方向を削減する方法、常に低域係 数だけを SATDに用いる方法(例えば、特開 2000-78589)などの方法がある力 フレ ーム内予測方向推定の精度が落ち、いずれの場合でも画質劣化が懸念される。
[0023] そこで、本発明が解決しょうとする課題は、上記問題点を鑑みて発明されたもので あって、画質劣化を伴わない方法で、フレーム内予測方向推定での SATD計算に必 要な変換の回数を削減する画像符号化の技術を提供することにある。
課題を解決するための手段
[0024] 上記課題を解決するための第 1の発明は、
画像フレームを水平 N画素、垂直 M画素とする複数の NxM画素の画素ブロックに分 割し、この分割された画素ブロックを過去に再構築した隣接画素から空間領域でフレ ーム内予測する画像符号ィヒ装置であって、
NxM画素の入力画素ブロックを NxM個の変換係数に変換する変換手段と、
NxM画素のフレーム内予測画素ブロックをフレーム内予測の特性に基づいて局所 的に変換する局所変換手段と、
前記入力画素ブロックの変換係数と各フレーム内予測方向のフレーム内予測画素 ブロックの変換係数とを比較して最良のフレーム内予測方向を検出する検出手段と を有することを特徴とする。
[0025] 上記課題を解決するための第 2の発明は、上記第 1の発明において、
前記フレーム内予測の特性がフレーム内予測の方向である場合、前記局所変換手 段は、
前記フレーム内予測の方向が垂直である場合、 NxM画素のフレーム内予測画素ブ ロックを N個の水平成分の変換係数に局所的に変換し、
前記フレーム内予測の方向が水平である場合、 NxM画素のフレーム内予測画素ブ ロックを M個の垂直成分の変換係数に局所的に変換し、
前記フレーム内予測の方向が平坦である場合、 NxM画素のフレーム内予測画素ブ
ロックを 1個の DC成分の変換係数に局所的に変換する
ことを特徴とする。
[0026] 上記課題を解決するための第 3の発明は、上記第 1の発明において、
前記フレーム内予測の特性がフレーム内予測画素ブロック内の予測画素の画素値 である場合、前記局所変換手段は、
前記画素値が垂直方向に同一な場合、 NxM画素のフレーム内予測画素ブロックを N個の水平成分の変換係数に局所的に変換し、
前記画素値が水平方向に同一な場合、 NxM画素のフレーム内予測画素ブロックを M個の垂直成分の変換係数に局所的に変換し、
前記画素値が全て同一な場合、 NxM画素のフレーム内予測画素ブロックを 1個の D C成分の変換係数に局所的に変換する
ことを特徴とする。
[0027] 上記課題を解決するための第 4の発明は、
入力画像フレームを水平 N画素、垂直 M画素とする複数の NxM画素の画素ブロック に分割し、前記 NxM画素の画素ブロックを過去に再構築した隣接画素から空間領域 でフレーム内予測する画像符号ィヒ装置であって、
前記 NxM画素の入力画素ブロックを NxM個の変換係数に変換する変換手段と、 フレーム内予測方向が垂直である NxM画素のフレーム内予測画素ブロックを、 N個 の水平成分の変換係数に局所的に変換する第 1の局所変換手段と、
フレーム内予測方向が水平である NxM画素のフレーム内予測画素ブロックを、 M個 の垂直成分の変換係数に局所的に変換する第 2の局所変換手段と、
フレーム内予測方向が平坦である NxM画素のフレーム内予測画素ブロックを、 1個 の DC成分の変換係数に局所的に変換する第 3の局所変換手段と、
前記入力画素ブロックの変換係数と各フレーム内予測方向のフレーム内予測画素 ブロックの変換係数とを比較して最良のフレーム内予測方向を検出する検出手段と を具備することを特徴とする。
[0028] 上記課題を解決するための第 5の発明は、
入力画像フレームを水平 N画素、垂直 M画素とする複数の NxM画素の画素ブロック
に分割し、前記 NxM画素の画素ブロックを過去に再構築した隣接画素から空間領域 でフレーム内予測する画像符号ィヒ装置であって、
NxM画素の入力画素ブロックを NxM個の変換係数に変換する変換手段と、 NxM画素のフレーム内予測画素ブロック内の予測画素の画素ィ直が垂直方向に同 一であるフレーム内予測画素ブロックを、 N個の水平成分の変換係数に局所的に変 換する第 1の局所変換手段と、
NxM画素のフレーム内予測画素ブロック内の予測画素の画素値が水平方向に同一 であるフレーム内予測画素ブロックを、 M個の垂直成分の変換係数に局所的に変換 する第 2の局所変換手段と、
NxM画素のフレーム内予測画素ブロック内の予測画素の画素値がすべて同一であ るフレーム内予測画素ブロックを、 1個の DC成分の変換係数に局所的に変換する第 3の局所変換手段と、
前記入力画素ブロックの変換係数と各フレーム内予測方向のフレーム内予測画素 ブロックの変換係数を比較して最良のフレーム内予測方向を検出する検出手段と を有することを特徴とする。
[0029] 上記課題を解決するための第 6の発明は、上記第 1から第 5のいずれかの発明に おいて、
前記変換手段は、
DCT、整数精度 DCT、あるいはアダマール変換を用いて変換すること
を特徴とする。
[0030] 上記課題を解決するための第 7の発明は、
画像フレームを水平 N画素、垂直 M画素とする複数の NxM画素の画素ブロックに分 割し、この分割された画素ブロックを過去に再構築した隣接画素から空間領域でフレ ーム内予測する画像符号ィヒ方法であって、
NxM画素の入力画素ブロックを NxM個の変換係数に変換する変換ステップと、
NxM画素のフレーム内予測画素ブロックをフレーム内予測の特性に基づいて局所 的に変換する局所変換ステップと、
前記入力画素ブロックの変換係数と各フレーム内予測方向のフレーム内予測画素
ブロックの変換係数とを比較して最良のフレーム内予測方向を検出する検出ステップ と
を有することを特徴とする。
[0031] 上記課題を解決するための第 8の発明は、上記第 7の発明において、
前記フレーム内予測の特性がフレーム内予測の方向である場合、前記局所変換ス テツプは、
前記フレーム内予測の方向が垂直である場合、 NxM画素のフレーム内予測画素ブ ロックを N個の水平成分の変換係数に局所的に変換し、
前記フレーム内予測の方向が水平である場合、 NxM画素のフレーム内予測画素ブ ロックを M個の垂直成分の変換係数に局所的に変換し、
前記フレーム内予測の方向が平坦である場合、 NxM画素のフレーム内予測画素ブ ロックを 1個の DC成分の変換係数に局所的に変換する
ステップであることを特徴とする。
[0032] 上記課題を解決するための第 9の発明は、上記第 7の発明において、
前記フレーム内予測の特性がフレーム内予測画素ブロック内の予測画素の画素値 である場合、前記局所変換ステップは、
前記画素値が垂直方向に同一な場合、 NxM画素のフレーム内予測画素ブロックを N個の水平成分の変換係数に局所的に変換し、
前記画素値が水平方向に同一な場合、 NxM画素のフレーム内予測画素ブロックを M個の垂直成分の変換係数に局所的に変換し、
前記フレーム内予測画素ブロック内の予測画素の全て同一な場合、 NxM画素のフ レーム内予測画素ブロックを 1個の DC成分の変換係数に局所的に変換する ステップであることを特徴とする。
[0033] 上記課題を解決するための第 10の発明は、
入力画像フレームを水平 N画素、垂直 M画素とする複数の NxM画素の画素ブロック に分割し、前記 NxM画素の画素ブロックを過去に再構築した隣接画素から空間領域 でフレーム内予測する画像符号ィヒ方法であって、
前記 NxM画素の入力画素ブロックを NxM個の変換係数に変換する変換ステップと
フレーム内予測方向が垂直である NxM画素のフレーム内予測画素ブロックを、 N個 の水平成分の変換係数に局所的に変換する第 1の局所変換ステップと、
フレーム内予測方向が水平である NxM画素のフレーム内予測画素ブロックを、 M個 の垂直成分の変換係数に局所的に変換する第 2の局所変換ステップと、
フレーム内予測方向が平坦である NxM画素のフレーム内予測画素ブロックを、 1個 の DC成分の変換係数に局所的に変換する第 3の局所変換ステップと、
前記入力画素ブロックの変換係数と各フレーム内予測方向のフレーム内予測画素 ブロックの変換係数とを比較して最良のフレーム内予測方向を検出する検出ステップ と
を有することを特徴とする。
上記課題を解決するための第 11の発明は、
入力画像フレームを水平 N画素、垂直 M画素とする複数の NxM画素の画素ブロック に分割し、前記 NxM画素の画素ブロックを過去に再構築した隣接画素から空間領域 でフレーム内予測する画像符号ィヒ方法であって、
NxM画素の入力画素ブロックを NxM個の変換係数に変換する変換ステップと、
NxM画素のフレーム内予測画素ブロック内の予測画素の画素値が垂直方向に同 一であるフレーム内予測画素ブロックを、 N個の水平成分の変換係数に局所的に変 換する第 1の局所変換ステップと、
NxM画素のフレーム内予測画素ブロック内の予測画素の画素値が水平方向に同 一であるフレーム内予測画素ブロックを、 M個の垂直成分の変換係数に局所的に変 換する第 2の局所変換ステップと、
NxM画素のフレーム内予測画素ブロック内の予測画素の画素ィ直がすべて同一であ るフレーム内予測画素ブロックを、 1個の DC成分の変換係数に局所的に変換する第 3の局所変換ステップと、
前記入力画素ブロックの変換係数と各フレーム内予測方向のフレーム内予測画素 ブロックの変換係数とを比較して最良のフレーム内予測方向を検出する検出ステップ と
を有することを特徴とする。
[0035] 上記課題を解決するための第 12の発明は、上記第 7から第 11の発明において、 前記変換ステップは、
DCT、整数精度 DCT、あるいはアダマール変換のいずれかを用いて変換するステ ップであることを特徴とする。
[0036] 上記課題を解決するための第 13の発明は、
画像フレームを水平 N画素、垂直 M画素とする複数の NxM画素の画素ブロックに分 割し、この分割された画素ブロックを過去に再構築した隣接画素から空間領域でフレ ーム内予測する画像符号化装置のプログラムであって、前記プログラムは前記画像 符号化装置を、
NxM画素の入力画素ブロックを NxM個の変換係数に変換する変換手段と、
NxM画素のフレーム内予測画素ブロックをフレーム内予測の特性に基づいて局所 的に変換する局所変換手段と、
前記入力画素ブロックの変換係数と各フレーム内予測方向のフレーム内予測画素 ブロックの変換係数とを比較して最良のフレーム内予測方向を検出する検出手段と して機能させることを特徴とする。
[0037] 上記課題を解決するための第 14の発明は、上記第 13の発明において、
前記フレーム内予測の特性がフレーム内予測の方向である場合、前記局所変換手 段は、
前記フレーム内予測の方向が垂直である場合、 NxM画素のフレーム内予測画素ブ ロックを N個の水平成分の変換係数に局所的に変換し、
前記フレーム内予測の方向が水平である場合、 NxM画素のフレーム内予測画素ブ ロックを M個の垂直成分の変換係数に局所的に変換し、
前記フレーム内予測の方向が平坦である場合、 NxM画素のフレーム内予測画素ブ ロックを 1個の DC成分の変換係数に局所的に変換する
局所変換手段として機能させることを特徴とする。
[0038] 上記課題を解決するための第 15の発明は、上記第 13の発明において、
前記フレーム内予測の特性がフレーム内予測画素ブロック内の予測画素の画素値
である場合、前記局所変換手段は、
前記画素値が垂直方向に同一な場合、 NxM画素のフレーム内予測画素ブロックを N個の水平成分の変換係数に局所的に変換し、
前記画素値が水平方向に同一な場合、 NxM画素のフレーム内予測画素ブロックを M個の垂直成分の変換係数に局所的に変換し、
前記フレーム内予測画素ブロック内の予測画素の全て同一な場合、 NxM画素のフ レーム内予測画素ブロックを 1個の DC成分の変換係数に局所的に変換する 局所変換手段として機能させることを特徴とする。
[0039] 上記課題を解決するための第 16の発明は、
入力画像フレームを水平 N画素、垂直 M画素とする複数の NxM画素の画素ブロック に分割し、前記 NxM画素の画素ブロックを過去に再構築した隣接画素から空間領域 でフレーム内予測する画像符号ィ匕装置のプログラムであって、前記プログラムは前記 画像符号化装置を、
前記 NxM画素の入力画素ブロックを NxM個の変換係数に変換する変換手段と、 フレーム内予測方向が垂直である NxM画素のフレーム内予測画素ブロックを、 N個 の水平成分の変換係数に局所的に変換する第 1の局所変換手段と、
フレーム内予測方向が水平である NxM画素のフレーム内予測画素ブロックを、 M個 の垂直成分の変換係数に局所的に変換する第 2の局所変換手段と、
フレーム内予測方向が平坦である NxM画素のフレーム内予測画素ブロックを、 1個 の DC成分の変換係数に局所的に変換する第 3の局所変換手段と、
前記入力画素ブロックの変換係数と各フレーム内予測方向のフレーム内予測画素 ブロックの変換係数とを比較して最良のフレーム内予測方向を検出する検出手段と して機能させることを特徴とする。
[0040] 上記課題を解決するための第 17の発明は、
入力画像フレームを水平 N画素、垂直 M画素とする複数の NxM画素の画素ブロック に分割し、前記 NxM画素の画素ブロックを過去に再構築した隣接画素から空間領域 でフレーム内予測する画像符号ィ匕装置のプログラムであって、前記プログラムは前記 画像符号化装置を、
NxM画素の入力画素ブロックを NxM個の変換係数に変換する変換手段と、 NxM画素のフレーム内予測画素ブロック内の予測画素の画素値が垂直方向に同 一であるフレーム内予測画素ブロックを、 N個の水平成分の変換係数に局所的に変 換する第 1の局所変換手段と、
NxM画素のフレーム内予測画素ブロック内の予測画素の画素値が水平方向に同一 であるフレーム内予測画素ブロックを、 M個の垂直成分の変換係数に局所的に変換 する第 2の局所変換手段と、
NxM画素のフレーム内予測画素ブロック内の予測画素の画素値がすべて同一であ るフレーム内予測画素ブロックを、 1個の DC成分の変換係数に局所的に変換する第 3の局所変換手段と、
前記入力画素ブロックの変換係数と各フレーム内予測方向のフレーム内予測画素 ブロックの変換係数を比較して最良のフレーム内予測方向を検出する検出手段と して機能させることを特徴とする。
[0041] 上記課題を解決するための第 18の発明は、上記第 13から第 17の発明において、 前記変換手段は、
DCT、整数精度 DCT、あるいはアダマール変換を用いて変換する変換手段として 機能させること
を特徴とする。
[0042] 上記「フレーム内予測画素ブロックの局所変換」は、フレーム内予測画素ブロックに 対応する全ての変換係数のうち、有効成分(つまり非零となる可能性のある成分)の 変換係数のみを計算することを意味する。
例えば、 NxM画素(N及び Mは自然数である)のフレーム内予測画素ブロックを局所 的に変換する場合、前記有効成分が水平成分であれば、 N個の水平成分の変換係 数のみを計算し、残りの NxM-N個の変換係数を零とする。また、前記有効成分が垂 直成分であれば、 M個の垂直成分の変換係数のみを計算し、残りの NxM_M個の変 換係数を零とする。また、前記有効成分が DC成分であれば、 1個の DC成分の変換 係数のみを計算し、残りの NxM-1個の変換係数を零とする。
変換が直交変換 (DCT、アダマール変換など)であれば、上記局所変換 (行列計算
を用いない計算)によって、通常の変換 (行列計算を用いた計算)と同一の変換係数 が得られる。
上記の具体例として、予測画素ブロックが 4x4サイズ、予測画素ブロックの変換がゲ イン補正なしのアダマール変換 (式 (eql))である場合を図 6に示す。ただし T[x]は Xのァ ダマール変換を示す記号とする。
上述した局所的な変換により、フレーム内予測方向推定での SATD計算に必要なァ ダマール変換 (行列計算が必要な通常の変換)の回数を削減することができる。
Τρ = Τ[ρ]
1 1 1 V Ρ(0,0) 0,1) ρ( ,2) 0,3)γΐ 1 1 1
1 1 -1 -1 1,0) 1,1) p(\,2) p(l,3) 1 1 -1 -1 (eql) 1 -1 -1 1 Ρ(2,0) ρ(2,\) ρ(2,2) Ρ(2,3) 1 -1 -1 1
1 -1 1 -1八 3,0) 7(3,1) ρ(3,2) Ρ(3,3)Α 1 -1 1 -1ノ 発明の効果
[0043] 本発明は、フレーム内予測の特性に基づいてフレーム内予測の NxM画素の予測画 素ブロックに対応する NxM個のフレーム内予測変換係数のうち、 NxM未満の K個の 変換係数に局所的に変換する手段と、入力変換係数と複数の予測変換係数の残差 を求め、残差を用いて最良のフレーム内予測方向を検出する手段を具備することで 、少ない演算量で画像を高品質に符号化できる。
図面の簡単な説明
[0044] [図 1]画像フレームの構成を表す図である。
[図 2]従来技術のブロック図である。
[図 3]変換によるエネルギーの集中を示すための図である。
[図 4]Intra4予測方向を示すための図である。
[図 5]Intral6予測方向を示すための図である。
[図 6]予測画素の傾斜に依存した有効成分の変換係数である。
[図 7]従来におけるフレーム内予測方向推定部のブロック図である。
[図 8]本発明における第 1の実施の形態のフレーム内予測方向推定部のブロック図で ある。
[図 9]本発明のフレーム内予測方向推定のフローチャートである。
[図 10]本発明における第 2の実施の形態のフレーム内予測方向推定部のブロック図 である。
[図 11]予測変換係数生成部のブロック図である。
[図 12]本発明における第 3の実施の形態のフレーム内予測方向推定部のブロック図 である。
[図 13]本発明を利用した情報処理装置のブロック図である。
[図 14]有効成分が DCの場合の変換係数 (DCT)である。
[図 15]有効成分が垂直の場合の変換係数 (DCT)である。
[図 16]有効成分が水平の場合の変換係数 (DCT)である。
符号の説明
[0045] 108 フレーム内予測部
200 フレーム内予測方向推定部
2001 コントローラ
2002 アダマール変換部
2003 フレーム内予測探索メモリ
2004 予測方向選択/イントラ MBタイプ選択部
発明を実施するための最良の形態
[0046] まず発明方式と従来方式 (JM方式)の違いを明らかにするために、従来方式のフレ ーム内予測方向推定の構成、ならびに動作を詳細に説明する。
[0047] フレーム内予測方向推定の機能は、フレーム内予測方向推定部 200が具備する。
[0048] 図 7を参照して従来方式のフレーム内予測方向推定部 200の構成を説明する。
[0049] 従来方式のフレーム内予測方向推定部 200は、フレーム内予測部 108、コントローラ
2001、アダマール変換部 2002、フレーム内予測探索メモリ 2003、予測方向選択/イン トラ MBタイプ選択部 2004で構成される。
[0050] フレーム内予測部 108は、コントローラ 2001から供給される推定予測方向および推 定イントラ MBタイプおよびフレームメモリ 105から供給される再構築画像を入力として
、フレーム内予測値を出力する。
[0051] アダマール変換部 2002は、入力 MBの画素値から予測値を減じた予測誤差を入力 とし、予測誤差信号をアダマール変換して、予測誤差アダマール変換係数を出力す る。
[0052] コントローラ 2001は、アダマール変換部 2002から供給される予測誤差アダマール変 換係数および符号量制御 107から供給される量子化パラメータを入力される。そして 、この入力された予測誤差アダマール変換係数および量子化パラメータから後述す るコストを計算して、フレーム内予測探索メモリ 2003に格納された最小予測方向コスト /イントラ MBタイプコスト/最良フレーム内予測方向/最良 MBタイプを更新あるいは参 照する。
[0053] 予測方向選択/イントラ MBタイプ選択部 2004は、フレーム内予測探索メモリ 2003に 格納された最小予測方向コスト/イントラ MBタイプコスト/最良フレーム内予測方向/ 最良 MBタイプを参照し、予測方向/イントラ MBタイプ/イントラ MBタイプコストを外 部に出力する。
[0054] 以上で、フレーム内予測方向推定部 200の構成の説明を終了する。続いてフレーム 内予測方向推定の詳細な動作を説明する前に、従来方式における Intra4MBおよび I ntral6MBでのフレーム内予測値の生成 (すなわちフレーム内予測部 108の出力)につ いて、レ、くつか例を示しておく。
[0055] Intra4MBでのフレーム内予測の一例として、図 4で示した垂直方向/水平方向/ DC のフレーム内予測に対応する 4x4ブロック予測値 pred4x4ldx (dir,x,y) { 0≤ dir≤8 ,0≤ x≤3、0≤ y≤3 }
の生成式を式 (1)-(3)に示す。
pred4x4
idx (0,x,y) = rec
t (mbx + b4x
idx + x, mby + b4y
idx - 1) (1)
pred 4 4(Λ. (1, x, y) = rect {mbx + b4xidx一 1, mby + b4yjdx + y) (2)
Intra4MBの DC予沏 l(ored4dir=2)
pred 4x4 idx (2, x, y) = dc (3)
128 ·■■ if(mbx + b xtdx - 1 < 0 and mby + b4yldx - 1 < 0)
(∑ rec, ( nbx + b4xidx + x, mby + 4 ― 1)
+ ^ rec, ( nbx + b4xtdx - 1, by + b\yidx + 4) » 3,
dc =
■■ · else if (mbx + bAxidx— 1 > 0 and mby + b4yidx - 1 > 0)
+ Λ, mby ^- b4yidx - 1) + 2) » 2 … else if ( by + b4yidx— 1 > 0) (mbx + b4xidx一 1, mby + b4yidx 2) » 2… else
(4) . ただし、画像フレームの解像度を横 width画素、縦 height画素とし、現在の符号化対 象フレームの時刻を t、再構築した画像フレーム (参照フレーム)の画素値を rec (i,j) {0 t
≤i≤ width- 1, 0≤j≤ height- 1}、画像フレームにおける符号化対象 MBの左上角の座 標を (mbx,mby) {0≤mbx≤width_16、 0≤ mby≤ height- 16}、 MB内での符号化対象 4x 4ブロックのインデックスを idx {0≤idx≤15} (図 1の中央図参照)、インデックス idxの 4x 4ブロックの左上角の MB内部での座標を
(b4xidx , b4yidx){ ≤ b4xidx < 12, 0 < bAyidx≤ 12}
、前記 4x4ブロック内の 4x4ブロック内部の座標を (x,y) {0≤x≤3、 0≤y≤3}とする。また 、本明細における記号"〉〉 "および "くぐ'は、それぞれ算術右シフト、算術左シフトとす る。
[0056] 他の 4x4ブロックフレーム内予測方向に関しては、説明の簡略化のため本明細書に は記載しないが、他の予測方向の 4x4ブロックフレーム内予測値の生成式は従来技 術として挙げた非特許文献 1に記載の技術である。
[0057] Intra4MBと同様に、 Intral6MBにおけるフレーム内予測の一例として、図 5で示した 垂直方向/水平方向/ DCのフレーム内予測に対応する 16x16ブロック予測値 predl6x 16(dir,x,y) {0≤dir≤3、 0≤x≤15、 0≤y≤ 15}の生成式を式 (5)_式 (7)に示す
pred\ 6x\ 6(0, x, y) = rec
t (mbx + x, mby一 1) (5)
pred\ 6x16(1, x,y) = rect (mbx一 1, mby + y) (6)
Intral6MBの DC予沏 l(oredl6dir=2) pred\ 6x16(2, J , y) = dc (7)
ただし、符号化対象 MBの左上角の座標を (mbx,mby) {0≤ mbx≤ width- 16、 0≤mb y≤ height- 16}, MB内部の座標を (x,y){0≤x≤ 15、 0≤y≤15}とする。
[0058] なお Plane方向の予測値 (predl6xl6(3,x,y))の生成式は、説明の簡略化のため本明 細書には記載しなレ、が、 intral6MB平面予測方向の生成式は従来技術として挙げた 非特許文献 1に記載の技術である。
[0059] 以上説明した Intra4MBおよび Intral6MBともに、垂直方向フレーム内予測では予測 画素ブロックの予測画素の傾斜が垂直方向に同一であること、また水平方向フレー ム内予測では予測画素ブロックの予測画素の傾斜が水平方向に同一であること、ま た DCフレーム内予測では予測画素ブロックの予測画素の傾斜が平坦であることが確 認できる。すなわち、すべての予測画素値が同一であることが確認できる。
[0060] 以上で、 JM方式における Intra4MBおよび Intral6MBでのフレーム内予測値の生成 に関する簡単な例の説明を終了する。
[0061] 続いて、従来方式のフレーム内予測方向推定の詳細な動作を説明する。フレーム 内予測方向推定では、 4x4ブロックの最良予測方向推定、 Intra4MBコスト計算、 Intra 16MBコスト計算、イントラ MBタイプコスト計算および最良イントラ MBタイプと予測方向 の選択を行う。各処理を、定式的に以下で説明する。
[0062] まず、 4x4ブロックの最良予測方向推定を説明する。
[0063] 各 4x4予測方向 dir {0≤dir≤8}について、式 (9)の B4Cost(dir)を計算し、最小の B4C ostを 4x4ブロック最小予測方向コスト
MinB Cost idx
、これに対応する予測方向 dirを 4x4ブロック最良フレーム内予測方向 pred4dir(idx)と して保存する。
B Cost {dir ) = SA TDidx ( di ) + λ{ΟΡ) x bitlength {dir )
(9)
SATDldx
Teldx{dir) =
1 1 1 1 (eidx(dir,0,0) 1 l Π
1 1 - 1 - 1 1 一 1 一 1 1 - 1 - 1 1 e
idl(dir, 2,0) -1 -1 1 1 -1 1 -1八
Λ( %3,0)
-1 1 -1
(11) e
id dir,x, ) =
+x,b y
ldx +y)~ pred4x4
ldx (dir,x,y)
(12)
(13) ここで src(i,j) {0≤i≤15,
0≤j≤ 15}は入力画像 MBの画素、 bitlength(dir)は予測方向 dirの可変長符号量の長 さを返す関数、 QPは MBの量子化パラメータ、式 (11)はアダマール変換である。ただ しゲインの補正が通常のアダマール変換と異なる。
[0064] 続いて Intra4MBコスト計算を説明する。
[0065] Intra4MBコスト Intra4MBCostは式 (14)で得られる。
Intra MBCost = MinBACostidx +24x (QP) (14)
続いて Intral6MBコスト計算を説明する。
Intral6MBコスト計算では、各 16x16予測方向 dir{0 dir≤3}について式 (15)の B16C ost(dir)を計算し、最小の B16Costを Intral6MBコスト Intral6MBCost、これに対応する 予測方向を 16x16ブロック最良フレーム内予測方向 dirl6として保存する。
15
B\6Cost{dir) = SATDAC ^ (dir) + SATDDC (dir) + (QP) x bitlength (dir) idx=0
(15)
SATDACidx{dir) = Teidx(dir,x,y)ト 17¾,ώ ( か, 0,0) |) » 1
x=0 y=0
SATDDC{dir) = (∑ | TDC(dir, x, y) |) » 1
x=°y=° (17)
TDC{dir) =
ΐ 1 1 1 Y7¾£>C(£//V,0,0) TeDC(dir,0,V) TeDC(dir,0,2) TeDC(dirfi,3)Y\ 1 1 1 1 1 —1 —1 TeDC(dir,\,0) TeDC{dir,\,\) TeDC(dir,\,2) TeDC{dirX ) 1 1 -1 -1 1 -1 -1 1 TeDC(dir,2, ) TeDC{dirX\) TeDC(dir,2,2) TeDC(dir,2,3) 1 -1 -1 1
、1 -1 1 - 1 ){TeDC(dir,3,0) TeDC(dir,3,\) TeDC(dir,3,2) TeDC(dir,3,3) χΐ -1 1 -1
(18)
TeDC(dir) =
Te0(dir,0,0)»2 Te4(dir, 0,0) »2 7¾8(ίΛ>,0,0)»2 Teu(dir,0,0) » 2]
re,(c/i ,0,0) »2 Te5(dir, ,0) »2 Te9(dir, 0,0) »2 Te (dir, ,0)»2 (19)
Te2(dir,0,0)»2 Te6(dir, 0,0) »2 Tei0(dir, 0,0) »2 Teu( ir,0,0) »2
[Te3{dir,0,0)»2 Te^dir, 0,0) »2 Teu(dir, 0,0) »2 Tes(dir, 0,0) »2)
Teidx{dir) =
1 1 1 eidx(dir ,0,0) eldx(dir,0,\) eidx{dir,Q,2) ^ (^,0,3)丫 1 1 1 1
1 1 一 1 e^dir Q) eilb{dir,\,\) eidx(dir, 1,2) eldx(dir,l,3) 1 1 -1 -1
1 -1 -1 e^idir, 2,0) eldx(dir,2,\) eidx(dir, 2,2) elib(dir,2,3) 1 —1 —1 1
1 -1 1 -1人 ( ·,3,0) eldx(dir,3,\) eiibc(dir, 3,2) elib(dir,3,3)J{l -1 1 -1
(11)
e (di , x, y) = src{bAxidx + x, bAyidx + y) - predl 6x16(dir,b4xldx + x,ろ 4 , y)
(20)
最後に、イントラ MBコスト計算および最良イントラ MBタイプと最良予測方向の選択 を説明する。
最良イントラ MBタイプ IntraMBTypeは式 (21)、イントラ MBタイプコスト IntraMBCostは 式 (22)で計算される。
外部に出力する予測方向には、式 (22)で選択された最良イントラ MBタイプに応じて 、各イントラ MBタイプでのフレーム内予測方向推定で得られた最良フレーム内予測 方向をセットする。
[0068] 以上で、従来方式のフレーム内予測方向推定の詳細な動作の説明を終了する。
[0069] 従来方式は、 1個の 4x4ブロックあたりに推定する 4x4ブロックフレーム内予測方向は
9方向、 1個の 4x4ブロックあたりに推定する 16x16ブロックフレーム内予測方向は 4方 向であるから、 1MBあたり合計で 208(16*(9+4))回ものアダマール変換が必要になる。 I ntral6MBの DC成分を含めると 212回となる。
[0070] 本発明は、画像品質を損なうことなぐフレーム内予測方向推定に利用する SATD の計算に必要なアダマール変換の回数を削減する技術を提供する。
[0071] 本発明について説明する。
[0072] まず、本発明の第 1の実施形態について説明する。本発明を用いた画像符号化装 置の構成は、フレーム内予測方向推定部 200の構成および動作のみが図 2の従来方 式と異なる。よって本実施形態では、フレーム内予測方向推定部 200の構成および動 作について説明する。
[0073] まず図 8を参照して本発明におけるフレーム内予測方向推定部 200の構成を説明 する。
[0074] 発明におけるフレーム内予測方向推定部 200は、従来方式のフレーム内予測部 10 8、コントローラ 2001、アダマール変換部 2002A/2002B、フレーム内予測探索メモリ 20 03、予測方向選択/イントラ MBタイプ選択部 2004に加えて、局所変換係数生成部 20 05、入力アダマール変換係数メモリ 2006、スィッチ SW2007を備える。
[0075] フレーム内予測部 108は、コントローラ 2001から供給される推定予測方向および推 定イントラ MBタイプおよびフレームメモリ 105から供給される再構築画像を入力として 、フレーム内予測値を出力する。
[0076] アダマール変換部 2002Aは、入力 MBの画素値を入力とし、入力 MBを 4x4画素でブ ロック分割した画像をアダマール変換して、この 4x4画素でブロック分割した画像のァ ダマール変換係数を入力アダマール変換係数メモリ 2006に供給する。
[0077] アダマール変換部 2002Bは、入力 MBの画素値からフレーム内予測部 108からの予 測値を減じた予測誤差を入力とし、この入力された予測誤差をアダマール変換して、 予測誤差アダマール変換係数を出力する。ただし、本実施形態ではアダマール変換 部 2002Aとアダマール変換部 2002Bとは異なる構成としている力 入力によって出力 を切り替え可能とするスィッチを新たに設けることで、 1つのアダマール変換部として 構成することも可能であることを付け加えておく。
[0078] 局所変換係数生成部 2005は、コントローラ 2001から供給される推定予測方向/推定 イントラ MBタイプに対応する予測値が局所的に変換可能であるか否力を判断し、局 所的に変換可能であれば予測値を局所的に変換し、予測アダマール変換係数を出 力する。
[0079] 入力アダマール変換係数メモリ 2006は、アダマール変換部 2002A力 供給される入 力アダマール変換係数を記憶し、記憶した入力アダマール変換係数を供給する。
[0080] SW2007は、コントローラ 2001から供給される推定予測方向および推定イントラ MBを 監視して、アダマール変換部 2002Bから供給される予測誤差アダマール変換係数、 あるいは局所変換係数生成部 2005を経由して供給される予測誤差アダマール変換 係数 (入力アダマール変換係数から予測アダマール変換係数を減じた値)をコント口 ーラ 2001に供給する。具体的には、コントローラ 2001から供給される推定予測方向お よび推定イントラ MBに対応する予測画像を、局所変換係数生成部 2005によって、局
所的に変換可能であれば、局所変換係数生成部 2005を経由して供給される予測誤 差アダマール変換係数をコントローラ 2001に供給し、そうでなければアダマール変換 部 2002Bから供給される予測誤差アダマール変換係数をコントローラ 2001に供給する
[0081] コントローラ 2001は、 SW2007から供給される予測誤差アダマール変換係数および 符号量制御 107から供給される量子化パラメータを入力とし、この入力からコストを計 算して、フレーム内予測探索メモリ 2003に格納された最小予測方向コスト/イントラ M Bタイプコスト/最良フレーム内予測方向/最良 MBタイプを更新あるいは参照する。
[0082] 予測方向選択/イントラ MBタイプ選択部 2004は、フレーム内予測探索メモリ 2003に 格納された最小予測方向コスト/イントラ MBタイプコスト/最良フレーム内予測方向/ 最良 MBタイプを参照し、予測方向/イントラ MBタイプ/イントラ MBタイプコストを外 部に出力する。
[0083] 以上で本発明におけるフレーム内予測方向推定部 200の構成の説明を終了する。
続いて図 9のフローチャートを参照して、本発明におけるフレーム内予測方向推定部 200の動作を説明する。
[0084] ステップ S1000Aでは、入力画像のアダマール変換係数である入力アダマール変換 係数 sTidx(x, y){ ≤idx≤\ 5, 0≤x≤3, 0≤y≤3} を式 (23)で計算する。また式 (17)の Intral6MBの TDCに対応するために入力ァダマー ル変換係数力 DC入力アダマール変換係数 sTDC(x,y) {0≤x≤3, 0≤y≤3}を式 (24) で計算する。 idx
(\ 1 1 Y (0,0) (0,1) ¾(0,2) ¾ (0,3)Yl 1 1
1 1 - 1 -1 ¾(1,0) (1,1) ¾(1,2) ¾(1,3) 1 - 1 一 1 (23) 1 一 1 一 1 1 ^(2,0) ¾(2,1) sidx{2,2) ίώ(2,3) 1 一 1 1 1 - 1 1 -1ノ ¾(3,0) ^(3,1) ί,Λ(3,2) ¾(3,3)人 1 1 一 1
sTDC =
2 ίΓ
4(0,0)»2 ίΓ
8(0,0)»2 «Γ
12(0,0) » 2、 1 1 1 2 ίΓ
5(0,0)»2 ΐΓ
9(0,0)»2 ίΓ
13(0,0)»2 1 - 1 2 ίΓ
6(0,0) »2 5Γ
10(0,0) »2 ίΓ
14(0,0) »2 一 1 一 1
2 ίΓ
7(0,0) »2 ίΓ„(0,0)»2 5Γ
15(0,0)»2 一 1 1
(24) sidx (x, y) = src{b xidx + x, b4yiib + y) (25〉 ステップ S1001Aでは、 MB内の 4x4ブロックインデックスカウンタ idxおよび Intra4MBコ スト Intra4costを式 (26),(27)でそれぞれ初期化する。 idx=0 (26) intra4cost = 24 x (QP) (27) ステップ S1002Aでは、 idxが 16未満かどうかを判定し、 idxが 16未満であれば続く処 理をステップ S1003A、そうでなければ続く処理をステップ S1010Aとする。
ステップ S1003Aでは、 MB内でインデックス idxに相当する 4x4ブロックの予測方向を 求めるために、推定方向カウンタ dir (カウンタの番号は実際の予測方向と一致させる ように動作させる)、 4x4ブロック最良予測方向 pred4dir(idx)、 4x4ブロック最良予測方 向コスト MinB4Cost(idx)を以下の式 (28)_(30)で初期化する。 dir=0 (28)
pred4di idx)=2(DC方向) (29)
MinB4Cost(idx)=∞ (30) ステップ S1004Aでは、推定方向カウンタ dirが 9未満かどうかを判定し、 dirが 9未満で あれば続く処理をステップ S1005A、そうでなければ続く処理をステップ S1009Aとする ステップ S1005Aでは、推定方向カウンタ dirの 4x4ブロックフレーム内予測方向の予 測画素ブロックが局所的に変換可能か否力を式 (31)で判断する。
ifidir = 0(垂直) or dir = 1(水平) or dir = 2(DC) flag\ = (31)
else flaglが 1であれば続く処理をステップ S 1006A、そうでなければ (flaglが 0であれば)続 く処理をステップ S 1007Aとする。
ステップ S 1006Aでは、予測方向カウンタ dirとインデックス idxに対応する 4x4ブロック フレーム内予測方向の予測画素ブロックの変換係数を、その予測方向に応じた式 (3 2)-(34)の局所的な変換を行レ、、予測アダマール変換係数 pT(x,y) {0≤x≤3, 0≤y≤ 3}を生成する。さらに続いて、式 (35)によって 4x4ブロック予測方向コスト B4Costを計算 する。
ステップ S 1006Aでは、予測方向カウンタ dirとインデックス idxに対応する 4x4ブロック フレーム内予測方向の予測画素ブロックの変換係数を、アダマール変換を利用する ことなぐその予測方向に応じた式 (32)_(34)で局所的に予測アダマール変換係数 pT( x,y) {0≤x≤3, 0≤y≤3}を生成する。さらに続いて、式 (35)によって 4x4ブロック予測 方向コスト B4Costを計算する。
dir=0(垂直の場合)
4 X {predAxAidx (0,0,0) + pred4x4idx (0,1,0)
+ pred4x4uix (0,2,0) + pred4x4idx ( ,3,0)) if(x = 0 and y = 0) 4 x (pred4x4idx (0,0,0) + pred4x4idx (0,1,0)
- pred xAidx (0,2,0) - predAx ^ (0,3,0)) else if (x = 1 and y = ) pT(x,y) = 4 x (pred4x4idx (0,0,0)一 pred x tdx (0,1,0)
一 pred xAidx (0,2,0) + pred x idx (0,3,0)) else if(x = 2 and y = 0) 4 x {pred x idx (0,0,0) - pred xAidx (0,1,0)
+ predAx idx (0,2,0) - pred4x4ldx (0,3,0)) else if(x = 3 and y = 0) 0 … else
(32) dir=l の 合)
4 x {pred x idx (1,0,0) + pred 4x4 idx(l,0,l)
+ pred 4x4 idx (1,0,2) + pred4x4ldx(\,0,3)) if(x = 0 and y = 0) 4 x (pred4x4idx (1,0,0) + pred4x4idx(W)
- pred xAidx (1,0,2) - pred xAidx (1,0,3)) else if (x = 0 and y = l) pT(x,y) = 4 x (pred4x4idx (1,0,0) - pred4x4idx (1,0,1)
- pred x idx (1,0,2) + predAxAidx (1,0,3)) else if (x = 0 and y = 2) 4 x (pred4x4idx (1,0,0) - pred4x4ldx (1,0,1)
+ pred4x4idx (1,0,2) - /?rec 4x4iifc (1,0,3)) else if (x = 0 and y = 3) 0 ·■· else
(33) dir=2(DCの場合)
16 x pred4x4idx (2,0,0) … if(x = 0 and y = ) pT(x,y) = (34)
0 else
B4Costの計算
BACost = ((Z I sTidx (x, y) - pT(x,ヌ) |) » 1) + (QP) x bitlength (dir)
(35) なお、式 (32)-(34)より、アダマール変換を利用することなく予測画素ブロックの変 換係数が得られることが確認できる。また、式 (35)の第 1項の値が式 (10)の SATDの値 に対応する。
[0088] ステップ S1007Aでは、従来方式と同様に 4x4ブロック予測方向コスト B4Costを式 (9) で計算する。
[0089] ステップ S1008Aでは、ステップ S1006あるいはステップ S1007Aで得られた 4x4ブロッ ク予測方向コスト B4Costの値により、 4x4ブロック最良予測方向 pred4dir(idx)および 4x 4ブロック最良予測方向コスト MinB4Cost(idx)を式 (36)と (37)で更新する。さらに続いて ,. ハ 、 [ · · · if{BACost < MinBACosHidx))
pred dir{idx) = \ 、 ノノ (36)
I pred dir ndx ) ·■■ else
{B^Cost ■■■ if(B4Cost < MinB4Cost(idx))
MinBACost{idx) = \ (37)
[MinB4Cost(idx) . · · else ステップ S1009Aでは、 idxを 1インクメントし、さらに式 (38)により Intra4Costを更新し、 ステップ S1002Aに移る。 intra4Cost = intra4Cost + MinBACost{idx) (38) ステップ S1010Aでは、 16x16ブロック最良フレーム内予測方向 dirl6を求めるために Intral6MBコスト intral6Cost 16x16ブロック最良フレーム内予測方向 dirl6、推定予 測方向カウンタ dirを以下の式 (39H41)で初期化する。 intra 16Cost =∞ (39)
dir16=2(DC方向) (40)
dir =0 (41)
ステップ S1011Aでは、推定方向カウンタ dirが 4未満かどうかを判定し、 dirが 4未満で あれば続く処理をステップ S1012A、そうでなければ続く処理をステップ S1016Aとする
[0090] ステップ S1012Aでは、推定方向カウンタ dirの 16x16ブロックフレーム内予測の予測 画素ブロックが局所的に変換可能か否か式
(42)で判断する。
― 「1 … = 0(垂直) or rf/r = 1ί水平) or か = 2(DC)
flag! = < (42;
[0 … else flag2が 1であれば続く処理をステップ S1013A、そうでなければ (flag2が 0であれば)続 く処理をステップ S1014Aとする。
[0091] ステップ S1013Aでは、予測方向カウンタ dirに対応する 16x16ブロックフレーム内予 測方向の予測画素ブロックの変換係数を、アダマール変換を利用することなぐその 予測方向に応じて式 (43)-(48)を用いて、 MB内部の各 4x4ブロックの予測アダマール 変換係数 pTidx(x, y){ ≤idx≤\ 5, 0≤x≤3, 0≤y≤3}
および式 (24)に対応する DC予測アダマール変換係数 pTDC(x,y) {0≤x≤3, 0≤y≤3} を生成する。さらに続いて、式 (50)によって 16x16ブロック予測方向コスト B16Costを計 算する。
dir=0(垂直の場合)
4 X {Pidx (0,0,0) + Pidx (0,1,0) + pidx (0,2,0) + pidx (0,3,0))
.. · if(x = 0 and y = d)
4 x (pidx (0,0,0) + pldx (0,1,0) - pidx (0,2,0) - pidx (0,3,0))
•, · else if x = 1 and y = )
pTidx (x,y) = 4 x {pidx (0,0,0) - pidx (0,1,0) - pidx (0,2,0) + pldx (0,3,0))
.. · else if(x = 2 and y = 0)
4 x {pidx (0,0,0) - Pldx (0,1,0) + pidx (0,2,0)― Pidx (0,3,0))
.. · else if {x = 3 and y = )
0 … else
(43)
(44) dir=l の 合)
dsp 0
(8t
(0 = puoo = x)fi
0
{Q = puOQ = x)fi , . · (o'O') md x 9 \
( = i pUD 0 = X)fldSp · · ·
((ε'0'I) md― ( o'l) d + (t'O'l) 一 (o'o ) ^d) x f
((ε'0'l) md + ( o'l) d - ( o'l) md一 (o'O'l) md) x
(\ = /( puv o = x)fidsp ' , '
((e'o'O d一 (乙 ΌΊ) d一 (ro'i) + (ο'ο'ι) ψ ' χ ρ
(Q = ^(puvo = χ)β ■■■
((ε'θ'ΐ) + (3'ο'ΐ) d + (t'o'l) md + (o'O'l) ) x t
080fiO/SOOldf/X3d 83 90 0/900Z OAV
15
B\6Cost = ^ DACidx + DDC + A(QP) x bitlength (dir)
DAC^idir) = (∑∑\ sTidx(x, y) - pTidx(x, y)ト | s (0,0) - p (0,0) |) » 1
(51 )
DDC = (∑∑\ sTDC(x, y)― pTDC(x, y) |) » 1
(52) なお、式 (43)_(48)より、アダマール変換を利用することなく予測画素ブロックが局所 的に変換されることが確認できる。また、式 (51)は式 (16)の SATDACに対応し、式 (52) は式 (17)の SATDCに対応する。
[0092] ステップ S1014Aでは、従来方式と同様に 16x16ブロック予測方向コスト B16Costを式 (15)で計算する。
[0093] ステップ S1015Aでは、ステップ S1013Aあるいはステップ S1014Aで得られた 16x16ブ ロック予測方向コスト B16Costの値により、 16x16ブロック最良予測方向 dirl6および Int ral6MBコスト intral6Costを式 (53)と (54)で更新する。さらに dirを 1インクリメントしてステ ップ S1011Aにうつる。
ost) t < intral6Cost)
ステップ S1016Aでは、従来方式と同様に、最良イントラ MBタイプ IntraMBTypeを式( 21)、イントラ MBタイプコスト IntraMBCostを式 (22)で計算する。外部に出力する予測 方向には、式 (21)で選択された最良イントラ MBタイプに応じて、各イントラ MBタイプで のフレーム内予測方向推定で得られた最良フレーム内予測方向をセットする (最良ィ ントラ MBタイプが Intral6MBであれば dirl6を、そうでなければ pred4dir(idx) {0≤ idx≤ 15}をセットする)。
traAMBCost < Intra 6MBCost) IntraMBType (21)
[intraAMBCost · · · if (IntraAMBCost < IntraX 6MBCost)
IntraMBCost = \ ' (22)
[Intral 6MBCost ■■· else 以上で本発明におけるフレーム内予測方向推定部 200の動作の説明を終了する。
[0094] 本発明によると、垂直方向/水平方向/ DCのフレーム内予測の予測方向推定にお レ、てアダマール変換 (行列計算が必要な通常のアダマール変換)を利用することなく SATDを計算できる。
[0095] この結果フレーム内予測推定での SATD計算に伴うアダマール変換の回数は、ァダ マール変換が必要な 4X4ブロックフレーム内予測方向が 6(9-3)方向、アダマール変換 が必要な 16x16ブロックフレーム内予測方向が 1(4-3)方向、入力信号のアダマール変 換が一回であるから、 1MBあたり合計で 128(16*(6+1+1))回でよい。なお、 Intral6MB の DC成分を含めると 130回となる。
[0096] 本発明の 128回と従来方式の 208回と比較すると、約 38%の演算回数削減である。本 発明は、画質を損なうことなぐ従来方式よりも少ない計算量で画像を符号化できる。
[0097] 以上によって第 1実施形態の説明を終わる。
[0098] 次に、本発明における第 2の実施形態について説明する。第 1の実施形態では、垂 直方向/水平方向/ DCのフレーム内予測方向推定においては、入力画素ブロックお よび予測画素ブロックをそれぞれ独立にアダマール変換して、その差分から SATDを 計算し (以後、変換領域差分方式と呼ぶ)、その他のフレーム内予測方向推定におい ては、入力画素ブロックと予測画素ブロックの画素値の差分をアダマール変換して S ATDを計算 (以後、空間領域差分方式と呼ぶ)する。つまり、第 1実施形態は、空間領 域差分方式と変換領域差分方式を適応的に使レ、分けてレ、る。
[0099] 装置の構成をより単純にするために、常に変換領域差分方式を利用して、第 1実施 形態と同等の機能を実現する発明の第 2実施形態の構成を図 10に示す。
[0100] 第 2実施形態における発明のフレーム内予測方向推定部 200は、従来方式のコント ローラ 2001、アダマール変換部 2002、フレーム内予測探索メモリ 2003、予測方向選 択 /イントラ MBタイプ選択部 2004に加えて、局所変換係数生成部 2005、入力ァダマ
ール変換係数メモリ 2006、スィッチ SW2007、予測変換係数生成部 2008を備える。
[0101] アダマール変換部 2002は、入力 MBの画素値を入力とし、入力 MBを 4x4画素でブロ ック分割した画像をアダマール変換して、 4x4画素でブロック分割した画像のァダマ ール変換係数を入力アダマール変換係数メモリ 2006に供給する。
[0102] 局所変換係数生成部 2005は、コントローラ 2001から供給される推定予測方向/推定 イントラ MBタイプに対応する予測値が局所的に変換可能であるか否力、を判断し、局 所的に変換可能であれば、予測値を局所的に変換して、計算の結果を予測ァダマ ール変換係数として SW2007に供給する。
[0103] 図 11に示すように、予測変換係数生成部 2008の内部は、フレーム内予測部 108とァ ダマール変換部 2002で構成される。フレーム内予測部 108は、供給される予測方向 およびイントラ MBタイプおよび再構築画像を入力として、フレーム内予測値を出力 する。フレーム内予測値は、アダマール変換部 2002によってアダマール変換されて、 変換されたフレーム内予測値は予測アダマール変換係数として SW2007に供給する
[0104] アダマール変換部 2002は、入力 MBの画素値を入力とし、入力 MBを 4x4画素でブロ ック分割した画像をアダマール変換して、 4x4画素でブロック分割した画像のァダマ ール変換係数を入力アダマール変換係数メモリ 2006に供給する。
[0105] 入力アダマール変換係数メモリ 2006は、アダマール変換部 2002A力 供給される入 力アダマール変換係数を記憶し、記憶した入力アダマール変換係数を供給する。
[0106] SW2007は、コントローラ 2001から供給される推定予測方向および推定イントラ MBを 監視して、局所変換係数生成部 2005によって、推定予測方向および推定イントラ MB に対応する予測値を局所的に変換可能であれば、局所変換係数生成部 2005から供 給される予測アダマール変換係数を接続し、入力アダマール変換係数との差分をコ ントローラ 2001に供給する。一方、局所変換係数生成部 2005によって局所的な変換 が可能でなければ、予測変換係数生成部 2008から供給される予測アダマール変換 係数を接続し、入力アダマール変換係数との差分をコントローラ 2001に供給する。
[0107] コントローラ 2001は、供給される予測誤差アダマール変換係数 (予測アダマール変 換係数と入力アダマール変換係数の差分)および符号量制御 107から供給される量
子化パラメータを入力とし、この入力からコストを計算して、フレーム内予測探索メモリ
2003に格納された最小予測方向コスト/イントラ MBタイプコスト/最良フレーム内予測 方向/最良 MBタイプを更新あるいは参照する。
[0108] 予測方向選択/イントラ MBタイプ選択部 2004は、フレーム内予測探索メモリ 2003に 格納された最小予測方向コスト/イントラ MBタイプコスト/最良フレーム内予測方向/ 最良 MBタイプを参照し、予測方向/イントラ MBタイプ/イントラ MBタイプコストを外 部に出力する。
[0109] 以上で第 2の実施形態におけるフレーム内予測方向推定部 200の構成の説明を終 了する。続いて、第 2実施形態における発明のフレーム内予測方向推定部 200の動 作を説明する。
[0110] 第 2の実施形態での発明の動作は、第 1実施形態で示した図 9のフローチャートで のステップ S1007Aとステップ S1014Aとのみに変更が必要である。よって第 2の実施形 態での発明の動作は、図 9のステップ S1007A/S1014Aを以下で説明するステップ S10 07B/ステップ S1014Bに置き換えればよい。従って、ステップ S1007B/ステップ S1014B のみを説明する。
[0111] ステップ S1007Bでは、予測方向カウンタ dirとインデックス idxに対応する 4x4ブロック フレーム内予測方向の予測アダマール変換係数 pT(x,y) {0≤x≤3, 0≤y≤3}を式 (55 )によって生成する。さらに続いて、式 (35)によって 4x4ブロック予測方向コスト B4Cost を計算する。
(55)
ただし、 p4idx ai , x, y) = pred 4x4idx {dir, x, y) とする。
ステップ S1014Bでは、予測方向カウンタ dirに対応する 6x16ブロックフレーム内予測
方向の予測アダマール変換係数 pTldx(x,y){ ≤idx≤\5, 0≤x≤3, 0≤y≤3}
と DC予測アダマール変換係数 pTDC(x,y) {0≤x≤3, 0≤y≤3}をそれぞれ式 (56)(57) 生成する。さらに続いて、式 (50)によって 16x16ブロック予測方向コスト B16Costを計算 する。
p , >=
1 1 1 Pl4x(dir, 0,0) pldx(dir,0,^) 1 1 1 1 1 1 -1 pldx(dir, 1,3) 1 1 -1 -1 1 一 1 一 1 pldx(dir, 2,0) pldx{dir,2,\) piib(dir, 2,2) pidx(dir, 2,3) 1 -1 -1 1 1 -1 1 , U,0) pldx(dir, ,1) p^idi I) pidx(dir, 3,3) 1 -1 1 -1
(56) pTDC =
Ί 1 1 l Y :0,0)» 2 ρΓ4(0,0) »2 ρΓ8(0,0)»2 ρΓ12(0,0) »2 1 1 1 1
1 1 -1 -1 ρΤ^Ο,Ο)»! pT5(0,Q)»2 pT9(0,0)»2 pTi3(0,0)»2 1 1 -1 -1
1 -1 -1 1 pT2{0,0)»2 ρΤ6φ,0)»2 ρΓ10(0,0)»2 pTu(0,0)»2 1 -1 -1 1
、1 -i 1 -iJ、 pT3(0,0)»2 Γ7(0,0)»2 ^ru(0,0)»2 ρΓ15(0,0)»2 1 -1 1 -1
(57)
ただし、式 (57)の右シフトにより、 Intral6MBの Plane方向の評価値 B16Cost(3)は、実 施形態 1の B16Cost(3)と値が完全一致しないが、フレーム内予測方向の推定精度は 、ほとんど変わらない。
[0113] 以上で、第 2実施形態のおける発明の動作の説明を終わる。
[0114] 本発明の第 2の実施形態を用いると、第 1実施形態と同様に、画質を損なうことなぐ 従来方式よりも少ない計算量で、画像を符号化できる。
[0115] 次に、本発明における第 3の実施形態について説明する。
[0116] 上述した第 2の実施形態では、 1つの局所変換係数生成部 2005と 1つの予測変換 係数生成部 2008とを使い回して予測アダマール変換係数を計算する構成であった。 し力、しながら、各フレーム内予測方向に特化した複数の局所変換係数生成部および 予測変換係数生成部を備える構成も可能である。
[0117] 図 12は、第 3の実施の形態を示すフレーム内予測方向推定部 200のブロック図であ る。図 12は、各フレーム内予測方向に特化した複数の局所変換係数生成部 2005お よび予測変換係数生成部 2008を備えた構成である。
[0118] 本実施の形態の場合、第 1実施形態および第 2実施形態よりも装置は大規模になる 力 垂直方向/水平方向/ DC以外の計算に時間の力かるフレーム内予測値の生成と アダマール変換をすベて並列に実行できるので、フレーム内予測方向推定部 200の 動作が高速になる。
[0119] 本実施の形態を用いると、第 1実施形態および第 2実施形態と同様に、画質を損な うことなぐ従来方式よりも少ない計算量で画像を符号ィ匕することができる。
[0120] 次に、本発明における第 4の実施の形態について説明する。上述した実施の形態 では、フレーム内予測画素ブロックのフレーム内予測変換係数の局所計算をフレー ム内予測方向に基づいて計算する場合について述べた。本実施の形態は、フレーム 内予測方向の代わりに、フレーム内予測画素ブロック内の予測画素の画素値を用い た場合について説明する。
[0121] 本実施の形態の場合、前記画素値が垂直方向に同一な場合、水平成分の変換係 数に局所的に変換し、前記画素値が水平方向に同一な場合、垂直成分の変換係数 に局所的に変換し、前記画素値が全て同一な場合、 DC成分の変換係数に局所的 に変換する。
[0122] さらに上述した実施の形態でおいては、輝度信号のフレーム内予測方向推定の場 合について述べた。し力しながら、本発明は、予測画素ブロックの予測画素の傾斜が 垂直方向に同一である、あるいは予測画素ブロックの予測画素の傾斜が水平方向に 同一である、あるいは予測画素ブロックの予測画素の傾斜が平坦であるフレーム内 予測方向を利用する色差信号のフレーム内予測方向推定に関しても適用することが できる。
[0123] また、上述した実施の形態においては、 SATDに用いる変換のブロックのサイズが 4x 4画素である場合を述べた。しかしながら、本発明は 4x4画素ブロックに限らず、 8x8画 素ブロックあるいは 16x16画素ブロックなどのブロックサイズにも適用可能である。
[0124] さらに、上述した実施の形態においては、フレーム内予測方向推定に用いる SATD に利用する変換がアダマール変換である場合について述べた力 本発明はァダマ ール変換に限らず式 (58)の整数精度 DCTなどの変換においても適用可能である。
1 1 1 Ye(0,0) e(0,l) e(0,2) e(0,3)Yl 2 1 1
T = 2 1 小- 2 e(l,0) e(l,l) e(l,2) e(l,3) 1 1 -1 - (58)
~ 1 -1 -1 1 e(2,0) e(2,l) e(2,2) e(2,3) 1 —1 —1 2
、1 -2 2 - lj (3,0) e(3,l) e(3,2) e(3,3)j{l -2 1 一】 例えば 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)に変更する必要がある。
SATDldx = g{x,y) Teidx{dir,x,y) |) » 1
x=0 y=
1 1 1 1 \(eldx{dir,0fi) eidx(dir, 0,1) eiix(dir,Q,2) (ίΛτ,0,3)Υΐ 1 1
2 1 -1 eidt(dir, 1,0) eidx{dirX\) edc(dir,\,2) eidt(dir,l,3) 1 1 -1 -2 1 一 1 一 1 eidt(dir, 2,0) eilb{dir,2,\) eidx(dir, 2,2) eilb(dir, 2,3) 1 -1 -1 2
1 -2 2 — 1人 Wか, 3,0) eidx(dir,3,\) eilb(dir, 3,2) e^(dir,3,J)八 1 -2 1 -1
(11B)
SATDACidx(dir) =
(∑∑ I g(x, y) x ¾ (dir, x, y)ト | g(0,0) x Te^ (dir,0, ) |) » 1
asp ··· o
((ο'ε'ο) md一 (ot'o) Ψ'"ΤΛ (ο'ι'ο) ψ ' て- (ο'ο'ο) ψ,α) χ
((Ot'O) ' + (Ot'O) md一 (O'I'O) md - (O'O'O) x
((ο'ε'ο) md x Z― (Ot'O) ^ - (O'I'O) md + (O'O'O) w'd x ζ) x t
(0 = ^ pw» 0 = x)fi …
((0'£'0) Ψ'ά + (O'Z'O) md + (O'I'O) d + (O'O'O) ^d) x
(aee)
=
(age)
{■ίψ) t≠u {JQ)Y + (i « (I (( 'χ)χά - (/ 'χ) ψί ί) χ 'x)S I X X》 = isoj^q
(aze)
ds\d ··· o
(θ = ίί puO ζ = χ)/ι ds ((Ot'O)
― (Ot'O) xz +
(O'I'O) ^ x^p^d xZ- (O'O'O) ^^p^-id) x ^
(θ = /( p az = x)/idsp • - - ((Ot'O) m^P^d + (ot'0) ψ 'ャ ρ3Μί―
(0 = ίί puo \ = x)fi ay/a ((Ot'O)
W! X^p3^d z- (Ot'O)
ψιャ - (O'I'O)
x ζ) x
(0 = "り 0 = χ)β • · ' ((Ο'ε'θ) ^ x p^d + (Ot'O) v'^p3 d +
080CZ0/S00Zdf/X3d 9S M90Z.0/900Z OAV
(993)
(SIS)
I « (I ( r'ld - (O'O) :り x (O'O)S I -I ((^ ^)mld - ^ ' 1 ¾ x 'x)2 | ^
, Ζ ί
080CZ0/S00idf/I3d ζε 1-T90.0/900Z OAV
f 1 3/5 1 3/5、
3/5 2/5 3/5 2/5
(59)
g(i ) =
1 3/5 1 3/5
3/5 2/5 3/5 2/5 ただし g(i,j)は式 (58)の整数精度 DCTによる変換成分のゲインを補正するパラメータ であり、式 (59)の値限りではない。例えば量子化マトリクスを符号ィ匕器が利用するので あれば、これを加味した値としてもよい。
[0125] さらに上述した実施の形態においては、フレーム内予測方向推定に用いる SATDに 利用する変換がアダマール変換である場合について述べたが、本発明は、式 (60)で 定義される 2次元 DCTにおいて N=4の 4x4DCT式 (61)を利用した場合でも適用可能で ある。 τ, 、 2 ( ヽ ゝ 2, ( ヽ (2 +1) (2γ + \)νπ
T(u, v) =— C(M) (V)2j e(x' y) cos ~~ ~ cos-
IN 2N
(61)
[0126] これは DCTの変換係数力 図 14- 16に示すように、図 6のアダマール変換の変換係 数と同様に、有効成分の変換係数が予測画素の傾斜に依存しているからである。
[0127] さらには上述した実施の形態においては、上述した説明からも明らかなように、ハー ドウエアで構成することも可能である力 コンピュータプログラムにより実現することも
可能である。
[0128] 図 13は、本発明による動画像符号化装置をインプリメントした情報処理システムの 一般的ブロック構成図である。
[0129] 図 13に示す情報処理システムは、プロセッサ A1001 ,プログラムメモリ A1002,記憶 媒体 A1003および A1004からなる。記憶媒体 A1003および A1004は、別個の記憶媒体 であってもよいし、同一の記憶媒体からなる記憶領域であってもよい。記憶媒体とし ては、ハードディスク等の磁気記憶媒体を用いることができる。