(57)【要約】【課題】組込圧縮方式に於いてマルチモードに適しかつ高い圧縮率を達成できるコンプレッサ、デコンプレッサ、画像処理装置の提供。【解決手段】コーナー起点画素を除く画素ブロック内の各画素に対し、隣接画素のコピー予測及び隣接画素の平均予測の組合せで構成する予測モードを複数用意し、各予測モードにより各画素の予測値を算出する画素値予測手段と、画素ブロック内の各画素に対し残差を算出する残差演算手段と、各画素の残差を符号化する残差符号化手段と、各予測モードに対して、残差符号化手段により符号化された画素ブロックの残差ビットサイズを算出し、符号化画素ブロックの残差ビットサイズが最小となる選択予測モードを選定する予測モード選定手段と、起点画素の画素値、選定予測モード、残差情報を含む画素ブロックの情報を形式化した符号化フレーム・データを生成する符号コード生成手段を備えた。【選択図】図５
2015005903.tif 000002
【特許請求の範囲】
【請求項１】
画像フレームのフレームデータを圧縮するコンプレッサであって、
入力されたフレームデータを所定サイズの画素ブロックに分割するブロック分割手段と、
前記画素ブロックの何れか一のコーナーの起点画素を除く前記画素ブロック内の各画素に対し、何れかの一の隣接画素のコピー予測及び何れか二の隣接画素の平均予測の組み合わせから構成される予測モードを複数用意し、前記各予測モードにより前記画素ブロック内の各画素の予測値を算出する画素値予測手段と、
前記画素ブロック内の各画素に対し、当該画素の画素値から当該画素の前記予測値を引いた残差を算出する残差演算手段と、
前記画素ブロック内の各画素の前記残差を符号化する残差符号化手段と、
前記各予測モードに対して、前記残差符号化手段により符号化された前記画素ブロックの残差のビットサイズを算出し、符号化された前記画素ブロックの残差のビットサイズが最小となる前記予測モードを選択予測モードに選定する予測モード選定手段と、
前記起点画素の画素値、前記選定予測モードの情報、及び前記選定予測モードで算出され符号化された前記画素ブロックの残差情報、を含む前記画素ブロックの情報を、所定のフォーマットにより形式化した符号化フレームデータを生成する符号コード生成手段と、
を備えたコンプレッサ。
【請求項２】
前記ブロック分割手段は、前記フレームデータをｎ×ｎサイズ（ｎは８以上の偶数）の画素ブロックに分割するものであり、
前記画素値予測手段は、第０行第０列のコーナーの画素を前記起点画素とし、前記起点画素を除く前記画素ブロック内の画素を（ｎ−１）個の縦列画素のグループであるＭグループに区画するものであり、前記画素値予測手段が予測値を算出する際の前記予測モードは、少なくとも、
（ａ）前記画素ブロックの第０行の第１〜（ｎ−１）列目の縦列画素からなるＭグループ、及び第（ｎ−１）列の第１〜（ｎ−１）行目の縦列画素からなるＭグループに水平コピー予測、第１〜（ｎ−１）行の偶数列の縦列画素からなる各Ｍグループに垂直コピー予測、第（ｎ−１）列を除く第１〜（ｎ−１）行の奇数列の縦列画素からなる各Ｍグループに水平平均予測の予測方式を割り当てる予測モード０、
（ｂ）前記予測モード０の転置である予測モード１、
（ｃ）第０列の第１〜（ｎ−１）行目の縦列画素からなるＭグループに垂直コピー予測、第１〜（ｎ−１）列の各行の縦列画素からなる各Ｍグループに水平コピー予測の予測方式を割り当てる予測モード２、
（ｄ）前記予測モード２の転置である予測モード３、
の４つの予測モードを含むものであることを特徴とする請求項１記載のコンプレッサ。
【請求項３】
前記残差符号化手段は、
前記画素ブロック内の各画素の前記残差を、前記画素値予測手段による画素値の予測方式が同じでかつ互いに画素が隣接する所定サイズのＳグループに分割するＳグループ分割手段と、
前記各Ｓグループについて、当該Ｓグループに属する各残差の最大値の絶対値及び最小値の絶対値を算出し、前記最大値の絶対値及び最小値の絶対値により当該Ｓグループの符号化モードを決定する符号化モード決定手段と、
前記各予測モードに対し、前記画素ブロックを所定サイズの複数のＬグループとその半分のサイズの１つのＭグループとに区画するとともに、前記各Ｌグループ又はＭグループにおいて、当該Ｌグループ又はＭグループに属する前記Ｓグループのうち前記符号化モードが同じものを結合することにより再グループ化を行い、前記各Ｌグループ又はＭグループに対し、再グループ化後のグループパターンに応じた再グループ化モードを決定する再グループ化手段と、
前記再グループ化手段により再編された各グループの残差を、前記符号化モードに応じて予め決められた符号化テーブルに基づき符号化するＳＦＬ符号化手段と、を備え、
前記符号コード生成手段は、前記起点画素の画素値、前記選定予測モードの情報、前記各Ｌグループ又はＭグループの前記再グループ化モード、及び前記選定予測モードで算出され符号化された前記画素ブロックの残差情報、を含む前記画素ブロックの情報を、所定のフォーマットにより形式化するものであることを特徴とする請求項２記載のコンプレッサ。
【請求項４】
前記Ｓグループ分割手段は、各予測モードに対して、前記Ｍグループを（ｎ／２）画素及び（ｎ／２−１）画素の２つのグループに区画してなるＳグループに分割するものであり、
前記再グループ化手段は、
予測モード０に対しては、奇数列のＭグループを、２つのＭグループからなるＭグループペアに分割して前記各Ｍグループペアを１つのＬグループとし、偶数列のＭグループを、２つのＭグループからなるＭグループペアに分割して前記各Ｍグループペアを１つのＬグループとすることによって、前記各Ｌグループを形成し、
予測モード２に対しては、第１〜（ｎ−１）列の各行のＭグループを、互いに隣接する２つのＭグループからなるＭグループペアに分割して前記各Ｍグループペアを１つのＬグループとすることによって、前記各Ｌグループを形成することを特徴とする請求項３記載のコンプレッサ。
【請求項５】
請求項１乃至４の何れか一に記載のコンプレッサにより符号化された前記符号化フレームデータから前記フレームデータを復元するデコンプレッサであって、
前記基点画素から順に走査する走査手段と、
前記走査手段の走査により順次指定される画素について、前記符号化フレームデータに含まれる前記起点画素の画素値又は前記選定予測モード若しくは既に算出済みの隣接画素の画素値に基づき、当該画素の画素値の予測値を算出する予測値復号手段と、
前記予測値復号手段が算出する当該画素の予測値と、前記符号化フレームデータに含まれる当該画素の残差情報とに基づき、当該画素の画素値を算出する残差復号手段と、
を備えたデコンプレッサ。
【請求項６】
動画像を所定のコーディック方式により符号化又は復号するコーディック・コアと、
前記コーディック・コアが符号化又は復号演算の際に使用するフレームデータを一時的に記憶するフレームメモリと、を備えた画像処理装置であって、
前記コーディック・コアと前記フレームメモリとの間に介設され、前記コーディック・コアが出力するフレームデータを圧縮して符号化フレームデータを前記フレームメモリに対し保存するとともに、前記コーディック・コアからフレームデータの読出要求があると前記符号化フレームデータを前記フレームメモリから読み出して前記フレームデータに復号し、前記コーディック・コアへ出力するメモリインタフェースを備え、
前記メモリインタフェースは、
前記フレームデータを前記符号化フレームデータに圧縮する、請求項１乃至４の何れか一記載のコンプレッサと、
前記符号化フレームデータを前記フレームデータに復号する、請求項５記載のデコンプレッサと、
を備えていることを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオコーディックシステム等で画像情報をバッファリングする際などで使用される画像信号のコンプレッサ、デコンプレッサ及び画像処理装置に関する。
【背景技術】
【０００２】
ＨＥＶＣ，Ｈ．２６４／ＡＶＣ，ＭＰＥＧ−２等のエンコーダ及びデコーダを含むビデオコーディックシステムにおいては、通常、リファレンス・フレームのような大量のデータをバッファリングするために、大容量の外部ＤＲＡＭが必要とされる。その結果、メモリとの間のデータ転送に広い帯域幅が必要とされ、メモリアクセスのための消費電力がシステム全体の消費電力の多くの部分を占める。そこで、このメモリ帯域幅の問題を解決することは、重要な技術的課題である。
【０００３】
これまでに、種々のレベルに於いてオーバーコールされるリファレンス・フレームのデータを再利用する技術や、メモリ・コントローラ・アーキテクチャを最適化することによりＤＲＡＭアクセス効率を最適化する技術など、様々な観点からの研究がなされている。そのなかでも、リファレンス・フレーム再圧縮として知られている組込圧縮（Embedded compression：ＥＣ）は、上記ＤＲＡＭのバンド幅問題を解決するための一手段である。ＥＣでは、メモリ・データトラフィックを削減するため、コーディック・コアとＤＲＡＭコントローラとの間に追加のレイヤとして挿入され、リファレンス・フレームをＤＲＡＭに保存する前に圧縮すると共に、ＤＲＡＭからデータをフェッチ・バックする前に展開（解凍）する。
【０００４】
従来のＥＣスキームは、大きく２つのカテゴリに分類できる。一つは、固定圧縮率（compression ratio：ＣＲ）による不可逆ＥＣである。固定ＣＲとすると、必然的に画像品質の低下が生じ、リファレンス・フレームの品質劣化により生じる誤差伝搬が大きな問題となる。もう一つは、無損失ＥＣである。無損失ＥＣスキームは可変圧縮率とする必要がある。そのため、専用のメモリ機構として、圧縮データのパーティション・サイズのストアとフェッチの機構が必要とされる。
【０００５】
通常、無損失ＥＣにおけるデータ圧縮は、予測ステージとエントロピー符号化ステージとで構成される。予測ステージにおいては、空間領域予測と周波数領域予測とが広く使用されている。エントロピー符号化ステージでは、可変長符号化（variable length coding：ＶＬＣ）が広く使用されているが、高スループットＶＬＣを実現するにはハードウェア実装が非常に困難である。従って、近年のＥＣスキームでは、２ステップ・エントロピー符号化が採用されている。これは、最初に残差をスモール・グループにグルーピングし、次に、それぞれのグループにおけるローカル残差の特徴に基づいて固定長符号化を行うというものである。
【０００６】
組込圧縮における従来の空間領域予測のアルゴリズムにおいては、非特許文献１に記載の階層化平均・コピー予測方式（ＨＡＣＰ：hierarchical average and copy prediction）が優れた性能を示している。図１８は、８×８画素ブロックに対するＨＡＣＰの原理を示した図である（非特許文献１から引用）。図１８において、レベル１の各マスはオリジナルの画素を示す。レベル２の各マスは、レベル１の各画素を２×２画素の１６ブロックに分割し各ブロックの平均値をとったものを表す。レベル３の各マスは、レベル２の各画素を２×２画素の４ブロックに分割し各ブロックの平均値をとったものを表す。ベースピクセル（Base pixel）は、レベル２の４画素の平均値である。
【０００７】
レベル３では、ベースピクセルを予測値として使用する。レベル２では、図１８の１０１〜１０４の画素については、レベル３の対応する各画素の画素値を予測値として使用する。他の画素については、図１８に示した矢印の基点の画素が予測ソース画素として使用される。２つの矢印が向けられた画素については、各矢印の基点の画素の平均値が予測値として使用される（これが「平均予測」と呼ばれる）。１つの矢印が向けられた画素については、各矢印の基点の画素の画素値が予測値として使用される（これが「コピー予測」と呼ばれる）。レベル１では、図１８の１０５〜１０８の画素については、レベル２の対応する各画素の画素値を予測値として使用する。他の画素については、図１８に示した矢印の基点の画素が予測ソース画素として使用される。レベル１においても、レベル２と同様の平均予測及びコピー予測が行われる。各階層のレベルをＬ（＝１，２，３）とすると、レベルＬにおける予測ソース画素と予測対象であるオリジナル画素との間の距離は２Ｌ−１である。尚、レベル１，２，３のそれぞれで、各マスの画素値から予測値を引いた残差を求めることで、画素データをベースピクセルの画素値と、各階層の各画素の残差とに変換してデータ圧縮がされる。
【０００８】
ＨＡＣＰでは、（１）左右の画素の平均を予測値とする水平平均予測（horizontal average prediction：ＨＡＰ）、（２）上下の画素の平均を予測値とする垂直平均予測（vertical average prediction：ＶＡＰ）、（３）右又は左隣接の画素の画素値を予測値とする水平コピー予測（horizontal copy prediction：ＨＣＰ）、（４）上又は下隣接の画素の画素値を予測値とする垂直コピー予測（vertical copy prediction：ＶＣＰ）が使用される。各平均予測及び各コピー予測による残差算出は、次式により計算される。
【０００９】
【数１】
2015005903.tif 000003
【００１０】
ここで、ｐｉ，ｊは画素値、ｘｉ，ｊは画素ｐｉ，ｊの予測残差、ｄは予測画素と参照画素との間の距離である。
【先行技術文献】
【非特許文献】
【００１１】
【非特許文献１】J. Kim and C. M. Kyung, "A lossless embedded compression using significant bit truncation for HD video coding", IEEE Trans. Circuits Syst. Video Techn., vol.20, no.6, pp. 848-860, 2010.
【非特許文献２】D.Zhou, J. Zhou, X. He, J. Zhu, J. Kong, P. Liu, and S. Goto, "A 530 Mpixels/s 4096x2160@60fps H.264/AVC High Profile Video Decoder Chip," IEEE J. Solid-State Circuit, vol.6, no.4, pp.777-788, 2011.
【発明の概要】
【発明が解決しようとする課題】
【００１２】
本発明者は、まず、ナチュラル・シーケンス（自然画像）において、隣接するピクセル間の空間相関について検討した。図１９は、ＨＡＣＰ方式のレベル１における予測方法（ａ）及びその転置（ｂ）を表す図である。ＨＡＣＰ方式では、主に２つの隣接画素の平均値を予測値として使用するが、隣接画素の画素値から予測できない幾つかの画素については、より遠方の画素を用いた予測がされる。例えば、レベル２において予測される画素（図１９の“Predicted from level-2”）は２画素離れた画素を用いて予測が行われ、レベル３において予測される画素（図１９の“Predicted from level-3”）は４画素離れた画素を用いて予測が行われる。
【００１３】
しかしながら、一般に、離れた距離にある画素の画素値の空間相関は、隣接する画素の画素値の空間相関に比べて遥かに小さい。図２０は、異なる予測距離に対するＨＡＣＰ方式における残差の確率分布を表す図である。図２０において、横軸は残差値（ＨＡＣ残差）、縦軸は分布確率を表す。HAC_dist.1は隣接画素による予測、HAC_dist.2は２画素離れた画素による予測、HAC_dist.4は４画素離れた画素による予測を表す。隣接画素による予測で算出されたＨＡＣ残差のエントロピーは3.7677であるのに対し、２画素距離による予測では4.7594に増加し、４画素距離による予測では5.23まで増加する。従って、ＨＡＣＰ方式のレベル２，３の予測は圧縮性能に大きな悪影響を及ぼすことが分かる。
【００１４】
また、予測距離の問題以外にも、ＨＡＣＰ方式はマルチモード拡張に適していないという問題がある。図１９（ｂ）は、ＨＡＣ転置行列（図１９（ａ）の行・列を転置したもの）を示している。また、図１９（ｂ）には、図１９（ａ）と異なる予測がされるピクセル（“Different prediction”）も示している。ＨＡＣＰ方式の８×８予測ブロック（図１９（ａ））とその転置ブロック（図１９（ｂ））の間には、異なる予測方法の画素は２０画素しかない。さらに、レベル２の殆どのピクセルの予測値は同じである。従って、マルチモードとしてＨＡＣ転置モード（図１９（ｂ））を加えたとしても、圧縮率の向上が期待できない。
【００１５】
そこで本発明の目的は、組込圧縮方式で用いるコンプレッサ及びデコンプレッサに於いて、マルチモードにも適し、かつ上記従来のＨＡＣＰ方式を用いたものよりもより高い圧縮率を達成できるコンプレッサ及びデコンプレッサ、及びそれを用いた画像処理装置を提供することにある。
【課題を解決するための手段】
【００１６】
本発明に係るコンプレッサの第１の構成は、画像フレームのフレーム・データを圧縮するコンプレッサであって、
入力されたフレーム・データを所定サイズの画素ブロックに分割するブロック分割手段と、
前記画素ブロックの何れか一のコーナーの起点画素を除く前記画素ブロック内の各画素に対し、何れかの一の隣接画素のコピー予測及び何れか二の隣接画素の平均予測の組み合わせから構成される予測モードを複数用意し、前記各予測モードにより前記画素ブロック内の各画素の予測値を算出する画素値予測手段と、
前記画素ブロック内の各画素に対し、当該画素の画素値から当該画素の前記予測値を引いた残差を算出する残差演算手段と、
前記画素ブロック内の各画素の前記残差を符号化する残差符号化手段と、
前記各予測モードに対して、前記残差符号化手段により符号化された前記画素ブロックの残差のビットサイズを算出し、符号化された前記画素ブロックの残差のビットサイズが最小となる前記予測モードを選択予測モードに選定する予測モード選定手段と、
前記起点画素の画素値、前記選定予測モードの情報、及び前記選定予測モードで算出され符号化された前記画素ブロックの残差情報、を含む前記画素ブロックの情報を、所定のフォーマットにより形式化した符号化フレーム・データを生成する符号コード生成手段と、
を備えたことを特徴とする。
【００１７】
この構成によれば、画素値予測手段は、隣接画素のコピー予測又は何れか二の隣接画素の平均予測によって画素ブロック内の画素値の予測を行うため、上述したように２画素距離や４画素距離による予測を含まず、データ圧縮率を高めることが可能となる。また、階層的な符号化方式ではないため、何れかの一の隣接画素のコピー予測及び何れか二の隣接画素の平均予測の種々の組み合わせからなる予測パターン（予測モード）を複数用意することで、マルチモード予測が可能となり、さらに圧縮率を向上させることが可能となる。
【００１８】
ここで、「コピー予測」とは、隣接画素の画素値をそのまま予測対象画素の予測値として使用する予測方式をいう。コピー予測には、水平方向（行方向）に隣接する画素の画素値を予測値として使用する「水平コピー予測」と、垂直方向（列方向）に隣接する画素の画素値を予測値として使用する「垂直コピー予測」とがある。「平均予測」とは、予測対象画素に対し左右又は上下に隣接する画素の画素値の平均値を当該予測対象画素の予測値として使用する予測方式をいう。平均予測にも、水平方向（行方向）に隣接する２画素の画素値平均を予測値として使用する「水平平均予測」（後述の式（２ａ））と、垂直方向（列方向）に隣接する２画素の画素値平均を予測値として使用する「垂直平均予測」（後述の式（２ｂ））とがある。
【００１９】
本発明に係るコンプレッサの第２の構成は、前記第１の構成において、前記ブロック分割手段は、前記フレーム・データをｎ×ｎサイズ（ｎは８以上の偶数）の画素ブロックに分割するものであり、
前記画素値予測手段は、第０行第０列のコーナー画素を前記起点画素とし、前記起点画素を除く前記画素ブロック内の画素を（ｎ−１）個の縦列画素のグループであるＭグループに区画するものであり、前記画素値予測手段が予測値を算出する際の前記予測モードは、少なくとも、
（ａ）前記画素ブロックの第０行の第１〜（ｎ−１）列目の縦列画素からなるＭグループ、及び第（ｎ−１）列の第１〜（ｎ−１）行目の縦列画素からなるＭグループに水平コピー予測、第１〜（ｎ−１）行の偶数列の縦列画素からなる各Ｍグループに垂直コピー予測、第（ｎ−１）列を除く第１〜（ｎ−１）行の奇数列の縦列画素からなる各Ｍグループに水平平均予測の予測方式を割り当てる予測モード０、
（ｂ）前記予測モード０の転置である予測モード１、
（ｃ）第０列の第１〜（ｎ−１）行目の縦列画素からなるＭグループに垂直コピー予測、第１〜（ｎ−１）列の各行の縦列画素からなる各Ｍグループに水平コピー予測の予測方式を割り当てる予測モード２、
（ｄ）前記予測モード２の転置である予測モード３、
の４つの予測モードを含むものであることを特徴とする。
【００２０】
この構成によれば、少なくとも予測モード０〜３を使用してマルチモード予測を行えば、緩やかに変化するブロック、平坦なブロックなど様々な特徴のブロックに対して予測モード０〜３いずれかの予測モードが圧縮効率が高くなり、全体的に高い圧縮率を得ることができることが実験的に確認された（後述の表１参照）。尚、本発明においては、さらに上記４つの予測モードに加えて、さらに他の予測モードを追加することもできる。
【００２１】
本発明に係るコンプレッサの第３の構成は、前記第２の構成において、前記残差符号化手段は、
前記画素ブロック内の各画素の前記残差を、前記画素値予測手段による画素値の予測方式が同じでかつ互いに画素が隣接する所定サイズのＳグループに分割するＳグループ分割手段と、
前記各Ｓグループについて、当該Ｓグループに属する各残差の最大値の絶対値及び最小値の絶対値を算出し、前記最大値の絶対値及び最小値の絶対値により当該Ｓグループの符号化モードを決定する符号化モード決定手段と、
前記各予測モードに対し、前記画素ブロックを所定サイズの複数のＬグループとその半分のサイズの１つのＭグループとに区画するとともに、前記各Ｌグループ又はＭグループにおいて、当該Ｌグループ又はＭグループに属する前記Ｓグループのうち前記符号化モードが同じものを結合することにより再グループ化を行い、前記各Ｌグループ又はＭグループに対し、再グループ化後のグループパターンに応じた再グループ化モードを決定する再グループ化手段と、
前記再グループ化手段により再編された各グループの残差を、前記符号化モードに応じて予め決められた符号化テーブルに基づき符号化するＳＦＬ符号化手段と、を備え、
前記符号コード生成手段は、前記起点画素の画素値、前記選定予測モードの情報、前記各Ｌグループ又はＭグループの前記再グループ化モード、及び前記選定予測モードで算出され符号化された前記画素ブロックの残差情報、を含む前記画素ブロックの情報を、所定のフォーマットにより形式化するものであることを特徴とする。
【００２２】
この構成によれば、画素ブロックを予測方式が同じでかつ互いに画素が隣接する所定サイズのＳグループに分割することで、統計的に残差の類似する画素が同じグループに含まれる確率が高くなる。従って、それぞれのグループ毎に符号化テーブルに基づき符号化（エントロピー符号化）することで残差データの圧縮効率が高められる。更に、各Ｓグループに適用する符号化テーブルを、Ｓグループ内の残差の最大値の絶対値及び最小値の絶対値によって符号化モード別に分類し最適な符号割り当てを行うとともに、同じ符号化モードを結合してより大きなグループに再グループ化することで、更に残差データの圧縮効率が高められる。
【００２３】
本発明に係るコンプレッサの第４の構成は、前記第３の構成において、前記Ｓグループ分割手段は、各予測モードに対して、前記Ｍグループを（ｎ／２）画素及び（ｎ／２−１）画素の２つのグループに区画してなるＳグループに分割するものであり、
前記再グループ化手段は、
予測モード０に対しては、奇数列のＭグループを、２つのＭグループからなるＭグループペアに分割して前記各Ｍグループペアを１つのＬグループとし、偶数列のＭグループを、２つのＭグループからなるＭグループペアに分割して前記各Ｍグループペアを１つのＬグループとすることによって、前記各Ｌグループを形成し、
予測モード２に対しては、第１〜（ｎ−１）列の各行のＭグループを、互いに隣接する２つのＭグループからなるＭグループペアに分割して前記各Ｍグループペアを１つのＬグループとすることによって、前記各Ｌグループを形成することを特徴とする。
【００２４】
本発明に係るデコンプレッサは、前記第１乃至４の何れかの構成のコンプレッサにより符号化された前記符号化フレーム・データから前記フレーム・データを復元するデコンプレッサであって、
前記基点画素から順に走査する走査手段と、
前記走査手段の走査により順次指定される画素について、前記符号化フレーム・データに含まれる前記起点画素の画素値又は前記選定予測モード若しくは既に算出済みの隣接画素の画素値に基づき、当該画素の画素値の予測値を算出する予測値復号手段と、
前記予測値復号手段が算出する当該画素の予測値と、前記符号化フレーム・データに含まれる当該画素の残差情報とに基づき、当該画素の画素値を算出する残差復号手段と、
を備えたことを特徴とする。
【００２５】
本発明に係る画像処理装置は、動画像を所定のコーディック方式により符号化又は復号するコーディック・コアと、
前記コーディック・コアが符号化又は復号演算の際に使用するフレーム・データを一時的に記憶するフレームメモリと、を備えた画像処理装置であって、
前記コーディック・コアと前記フレームメモリとの間に介設され、前記コーディック・コアが出力するフレーム・データを圧縮して符号化フレーム・データを前記フレームメモリに対し保存するとともに、前記コーディック・コアからフレーム・データの読出要求があると前記符号化フレーム・データを前記フレームメモリから読み出して前記フレーム・データに復号し、前記コーディック・コアへ出力するメモリインタフェースを備え、
前記メモリインタフェースは、
前記フレーム・データを前記符号化フレーム・データに圧縮する、前記第１乃至４の何れかの構成のコンプレッサと、
前記符号化フレーム・データを前記フレーム・データに復号する、前記本発明に係るデコンプレッサと、を備えていることを特徴とする。
【発明の効果】
【００２６】
以上のように、本発明によれば、組込圧縮方式で用いるコンプレッサ及びデコンプレッサに於いて、マルチモードにも適し、かつ上記従来のＨＡＣＰ方式を用いたものよりもより高い圧縮率を達成できるコンプレッサ及びデコンプレッサ、及びそれを用いた画像処理装置を提供することができる。
【図面の簡単な説明】
【００２７】
【図１】ＭＤＡスキームにおいて使用する予測モード及びグループ分割を表す図である。
【図２】ＰＭｏｄｅ０において、８×８画素の１つの予測ブロックの残差をＭグループ及びＳグループにグループ化する例を示す図である。
【図３】再グループ化モードを表す図である。（ａ）Ｍグループ内の再グループ化モード、（ｂ）Ｌグループ内の再グループ化モード。
【図４】実施例１に係る画像処理装置の全体構成を表す図である。
【図５】図４のコンプレッサ４の内部構成を表す図である。
【図６】図４のデコンプレッサ５の内部構成を表す図である。
【図７】実施例１の画像処理装置のコンプレッサ４によるフレームの圧縮動作を表すフローチャートである。
【図８】実施例１の画像処理装置においてコンプレッサ４で圧縮した画素ブロックデータのデータフォーマットを表す図である。
【図９】ブロックデータ圧縮の他の例を示すフローチャートである。
【図１０】実施例１の画像処理装置のデコンプレッサ５によるフレームの展開動作を表すフローチャートである。
【図１１】コンプレッサ４のハードウェア実装例を示す図である。
【図１２】図１１のコンプレッサ４のパイプライン処理サイクルのタイミングを表す図である。
【図１３】デコンプレッサ５のハードウェア実装例を示す図である。
【図１４】図１３のデコンプレッサ５のパイプライン処理サイクルのタイミングを表す図である。
【図１５】１６×１６画素ブロックに対するＭＤＡスキームにおいて使用する予測モード及びグループ分割を表す図である。
【図１６】ＰＭｏｄｅ０において、１６×１６画素の１つの予測ブロックの残差をＳグループにグループ化する例を示す図である。
【図１７】ＰＭｏｄｅ０において、８×８画素の１つの予測ブロックの残差をＳグループにグループ化する場合の他の例を示す図である。
【図１８】８×８画素ブロックに対するＨＡＣＰの原理を示した図である。
【図１９】ＨＡＣＰ方式のレベル１における予測方法（ａ）及びその転置（ｂ）を表す図である。
【図２０】異なる予測距離に対するＨＡＣＰ方式における残差の確率分布を表す図である。
【発明を実施するための形態】
【００２８】
以下、本発明を実施するための形態について、図面を参照しながら説明する。
【実施例１】
【００２９】
〔１〕基本的な予測・符号化方式
（１）マルチモードＤＰＣＭ（差分パルス変調）及び平均化予測
２つの隣接画素の平均値を予測値とする平均予測は、隣接する１個の画素の平均値を予測値とするコピー予測（directly replicate prediction）よりは予測精度が優れている。しかし、上述したようにＨＡＣＰ方式では、幾つかの画素については、必然的に２画素距離又は４画素距離離れた画素の画素値を用いて予測がされ、これらの画素値は圧縮性能の低下の原因となっている。すなわち、より良い予測モードを採るか、より短い予測距離を採るかで相剋が生じる。そこで、本発明では、今回新たに考案するＭＤＡ（multi-mode DPCM scanning and averaging：マルチモードＤＰＣＭ走査及び平均化）スキームを使用する。以下、ＭＤＡスキームについて説明する。
【００３０】
図１は、ＭＤＡスキームにおいて使用する予測モード及びグループ分割を表す図である。図１（ａ），（ｂ），（ｃ），（ｄ）は、それぞれ予測モードＰＭｏｄｅ０，ＰＭｏｄｅ１，ＰＭｏｄｅ２，ＰＭｏｄｅ３を表している。
【００３１】
ＰＭｏｄｅ０は、ＭＤＡスキームにおける予測方式の基本形である。左上の１画素には、オリジナルの画素値が与えられる。左上の１画素を除く第０行目の画素の予測は、水平ＤＰＣＭ（水平コピー予測）により行われる。１〜７行目の偶数カラムの２８画素の予測は垂直ＤＰＣＭ（垂直コピー予測）により行われる。１〜７行目のカラム１，３，５の画素の予測は、左右の隣接画素の水平平均予測により行われる。１〜７行目の最後のカラム７の画素の予測は、左隣接画素の値を複製すること（即ち、水平コピー予測）によって行われる。このように、ＰＭｏｄｅ０は、予測を行う際に隣接画素の画素値のみを使用するため、ＨＡＣＰ方式における２画素距離又は４画素距離の画素による予測性能の低下の問題が回避される。
【００３２】
ここで、水平平均予測，垂直平均予測は、それぞれ次式（２ａ），（２ｂ）によって定義されている。ｐｉ，ｊは画素（ｉ，ｊ）の画素値、Ｐｒｉ，ｊは画素（ｉ，ｊ）の予測値である。
【００３３】
【数２】
2015005903.tif 000004
【００３４】
ナチュラル・シーケンスでは、緩やかに変化するブロック、平坦なブロックなど様々な特徴のブロックを含んでいるため、一般に、１つの予測モードだけではこれら様々な特徴のブロックに適しているものとすることはできない。そこで、様々な画像特徴に対応するため、ＭＤＡスキームではマルチモード予測（ＰＭｏｄｅ０〜ＰＭｏｄｅ３）を適用する。
【００３５】
図１（ｂ）に示したＰＭｏｄｅ１はＰＭｏｄｅ０の転置であり、ＰＭｏｄｅ０に対して４３の異なる予測方式の画素を有している。ＰＭｏｄｅ１では、垂直平均予測と水平ＤＰＣＭが用いられている。
【００３６】
しかしながら、ＰＭｏｄｅ０とＰＭｏｄｅ１での平均予測とＤＰＣＭの方向は直交しているため、これら２つのモードは緩やかに変化するブロックに対しては適していない。そこで、ＭＤＡスキームではＰＭｏｄｅ２，ＰＭｏｄｅ３のような、単純な水平ＤＰＣＭ及び垂直ＤＰＣＭ走査モードが追加されている（図１（ｃ），（ｄ））。マルチモードでは、各ブロックに対して、これら４つの予測モードのうち、圧縮率が最小となる予測モードが選択される。
【００３７】
図１に示したマルチモードの妥当性を検証するため、１８のテスト・シーケンスを使用して上記４つの予測モードが選択される確率を調査した。表１に、４つのＭＤＡ予測モードの選択された確率を示す。表１においてＱｐは量子化パラメータを表す。また、表中の確率値は、１８のテスト・シーケンスのすべてのフレームの平均値である。
【００３８】
【表１】
2015005903.tif 000005
【００３９】
上記実験結果から、ＰＭｏｄｅ０〜ＰＭｏｄｅ３の各予測モードはおよそ２０％〜３０％の確率で選択されたおり、ＰＭｏｄｅ０〜ＰＭｏｄｅ３の４つの予測モードを採用することが合理的であることが分かる。そこで、ＭＤＡスキームにおいては、これら４つの予測モードの組み合わせを採用する。
【００４０】
（２）ＭＤＡにおける残差のグループ化
予測によって得られる各画素の残差の圧縮率を向上させるためには、残差の有効ビット以下の切り捨て（ＳＢＴ：significant bits truncation）及び半固定長（ＳＦＬ）符号化を行う前に、残差を分類する必要がある。効率的な残差グルーピング・スキームを採用することで、より高い圧縮性能を得ることができる。そこで、ＳＦＬ符号化及びＳＢＴ符号化の特徴に適応させるため、類似の分布を示すものを１つのグループとしてグループ化を行う。そのためには、通常、同じ予測方法で予測された残差を同じグループに分類するのがよいと考えられる。
【００４１】
例えば、図１（ａ）のＰＭｏｄｅ０における平均化予測及びＤＰＣＭの割り当てに従えば、８×８画素の１つの予測ブロックを図２（ａ）に示した９つのグループに分割することができる。この９つのグループを「ミドルサイズ・グループ」（Ｍグループ）と呼ぶ。グループサイズを同じとするため、すべてのＭグループは７画素からなる。
【００４２】
しかし、実際のシーケンスでは、１つのＭグループの中でも１，２個の画素の残差のみが非以上に大きい（又は非常に小さい）場合がある。このような場合、１つのＭグループで残差をグループ化するよりも、３画素及び４画素からなる２つのスモールサイズ・グループ（Ｓグループ）にグループ化した場合が効率的である。ＰＭｏｄｅ０において、このようなＳグループへのグループ化した例を図２（ｂ）に示す。
【００４３】
逆に、画素値がスムーズに変化するブロックにおいては、ＳＦＬ符号化における符号化モードＣＭは該ブロック内で類似している。かかる場合、２つのＭグループを結合して１つのラージサイズ・グループ（Ｌグループ）としたほうが効率的である。図１（ａ）〜（ｄ）に、各予測モードにおけるＬグループのグループ化の方法を示す。図１（ａ）〜（ｄ）において、同じ色が付された画素が同じＬグループに属する。図１の各モードにおいて、ブロックは１つのＭグループ（group 0）と４つのＬグループ（group 1〜4）とにグループ化されている。
【００４４】
以上のような３つの基本的な残差グループ（Ｓグループ，Ｍグループ，Ｌグループ）を様々に組み合わせてグループ化を行うことにより、残差の圧縮効率を向上させることができる。
【００４５】
（２）残差の再グループ化
Ｓグループを使用すれば、当然、Ｍグループ又はＬグループを使用する場合に比べ、残差を表すためのビット数を低減することができる。しかしながら、Ｓグループを使用した場合、符号化モードＣＭのオーバーヘッドは、Ｍグループの２倍以上、Ｌグループの３．６倍となる。従って、Ｓグループの付加ビットを減少させるために、本発明では１つのＬグループの中の４つのＳグループを再グループ化するスキームを採用する。
【００４６】
殆どの場合では、１つのＬグループ（又はＭグループ）内において４つのＳグループ（又は２つのＳグループ）の符号化モードは類似するか又は同一となる。そこで、同じ符号化モードのＳグループを結合させて再グループ化を行う。
【００４７】
図１（ａ）−（ｄ）に示した通り、１つの８×８ブロックは４つのＬグループ（large group 1〜4）と１つのＭグループ（group 0）とに分割される。このうち、Ｍグループ（group 0）は、図２（ｂ）に示したように３画素のＳグループと４画素のＳグループとの２つのＳグループに分割される。再グループ化では、この２つのＳグループの符号化モードが同じであれば、それらを結合して１つのグループとする。従って、Ｍグループに関しては、再グループ化によって図３（ａ）の２つのモード（Ｍ，２Ｓ）が生じる。従って、Ｍグループに関しては、再グループ化モード（ＲＧＭ：ReGrouping Mode）の情報を表すためには１ビットの追加フラグで十分である。同様に、Ｌグループ（large group 1〜4）は、再グループ化によって図３（ｂ）の１５のモード（ＲＧ０〜ＲＧ１４）が生じる。図３（ｂ）において、同じ色の画素は同じ符号化モードであることを表している。従って、Ｌグループに関しては、再グループ化モード（ＲＧＭ）を表すのに、ＲＧ０では３ビット、それ以外は４ビットの追加フラグが必要である。
【００４８】
（３）半固定長符号化
残差のエントロピー符号化においては、非特許文献２に記載の半固定長（ＳＦＬ）符号化方式を使用する。各グループにおいて、最小残差値及び最大残差値に基づいて符号化モード（ＣＭ：coding mode）が決定される。そして、表２に示した準固定長符号化テーブルに従って残差が符号化される。
【００４９】
【表２】
2015005903.tif 000006
【００５０】
表２において、ｍｍはグループ内の残差値の最小値ｐ・最大値ｑの絶対値から次式によって求められる。
【００５１】
【数３】
2015005903.tif 000007
Ｍは符号化モード（ＣＭ）の番号である。Ｍはｍｍの値により一意的に決定される。Ｄは符号化されたシーケンスである。表２のＤの欄において、Ｓは残差の符号ビット（残差が負の場合は１、正の場合は０）である。上線付のＳはＳの論理反転値である。また、下線が付された値は、追加のトレーリングビットＴを必要とすることを表し、グループ内の残差値に２Ｍ−１又は−２Ｍ−１（Ｍは符号化モード番号）が存在する場合にその符号を表すために使用される。尚、グループ内の残差値に２Ｍ−１又は−２Ｍ−１が存在しない場合にはトレーリングビットＴは付加されない。トレーリングビットＴが加えられているため、符号化モードＭが１〜６の場合、当該符号化モードにおいて与えられる残差範囲は［−２Ｍ−１＋１，２Ｍ−１］又は［２Ｍ−１，２Ｍ−１−１］となる。
【００５２】
（例１）  グループ内の残差がｒ＝｛５，０，−４｝の場合、残差の最大値はｐ＝５，最小値はｑ＝−４なので、式（３）及び表２より、ｍｍ＝５，Ｍ＝４である。従って、符号化シーケンスは、
Ｄ＝｛０１０１，００００，１１００｝
となり、どの残差も８（＝２M-1）又は−８（＝−２M-1）ではないので、この場合にはトレーリングビットＴは付加されない。
【００５３】
（例２）  グループ内の残差がｒ＝｛８，０，−４｝の場合、残差の最大値はｐ＝８，最小値はｑ＝−４なので、式（３）及び表２より、ｍｍ＝８，Ｍ＝４である。従って、符号化シーケンスは、
Ｄ＝｛１０００，００００，１１００｝
となる。この場合、ｒ（１）＝８なので、トレーリングビットＴ＝０が付加される。
【００５４】
（例３）  グループ内の残差がｒ＝｛−８，０，−４｝の場合、残差の最大値はｐ＝０，最小値はｑ＝−８なので、式（３）及び表２より、ｍｍ＝８，Ｍ＝４である。従って、符号化シーケンスは、
Ｄ＝｛１０００，００００，１１００｝
となる。この場合、ｒ（１）＝−８なので、トレーリングビットＴ＝１が付加される。
【００５５】
（例４）  グループ内の残差がｒ＝｛８，０，−８｝の場合、残差の最大値はｐ＝８，最小値はｑ＝−８なので、式（３）及び表２より、ｍｍ＝９，Ｍ＝５である。従って、符号化シーケンスは、
Ｄ＝｛０１０００，０００００，１１０００｝
となる。この場合、どの残差も１６（＝２M-1）又は−１６（＝−２M-1）ではないので、トレーリングビットＴは付加されない。
【００５６】
〔２〕画像処理装置の構成
（１）全体構成
図４は、本実施例に係る画像処理装置の全体構成を表す図である。図４において、画像処理装置は、コーディック・コア１，ＤＲＡＭ２，及びＤＲＡＭインタフェース部３の３つの部分から構成されている。コーディック・コア１は、ＨＥＶＣ，Ｈ．２６４／ＡＶＣ，ＭＰＥＧ−２等のエンコーダ及びデコーダを含むビデオコーディックを行う部分である。本発明ではコーディック・コア１については特に限定する必要はなく、種々のもの（例えば、ＨＥＶＣ，Ｈ．２６４／ＡＶＣ，ＭＰＥＧ−２等のコーディック・コア）を使用することができるので、ここでは説明を省略する。また、ＤＲＡＭ２は、コーディック・コア１においてビデオコーディックの際に使用されるリファレンス・フレームなどの画像データをバッファリングするためのメモリである。ＤＲＡＭインタフェース部３は、コーディック・コア１とＤＲＡＭ２との間に追加のレイヤとして設けられ、コーディック・コア１から出力されるリファレンス・フレーム等の画像データをＤＲＡＭ２に保存する前に圧縮すると共に、ＤＲＡＭ２からコーディック・コア１へ画像データをフェッチ・バックする際に展開（解凍）する。ＤＲＡＭインタフェース部３は、コンプレッサ４、デコンプレッサ５、キャッシュ・メモリ６及びＤＲＡＭコントローラ７を備えている。コンプレッサ４により、ＤＲＡＭ２に書き込む画像データの無損失圧縮が行われる。デコンプレッサ５によりＤＲＡＭ２から読み出される画像データの展開が行われる。キャッシュ・メモリ６は、ＤＲＡＭ２に書き込む又はＤＲＡＭ２から読み出される圧縮された画像データを一時的に記憶するためのメモリである。ＤＲＡＭコントローラ７は、ＤＲＡＭ２へのデータの書き込み及びＤＲＡＭ２からのデータの読み出しを制御するコントローラである。
【００５７】
なお、ＤＲＡＭインタフェース部３は、マイコンや再構成可能論理回路（ＦＰＧＡ等）を用いてソフトウェア的に構成してもよいし、高速化のための専用回路を作りハードウェア的に構成し実装してもよい。
【００５８】
（２）コンプレッサ
図５は、図４のコンプレッサ４の内部構成を表す図である。尚、図５は、コンプレッサ４の機能を分かりやすく説明するために便宜的に機能要素毎にブロック化して表したものであり、実際のハードウェア実装では必ずしも図４のとおりに構成されるものとは限られない（例えば、図１１参照）。コンプレッサ４は、予測モードテーブル１１、残差メモリ１２、残差演算部１３、フレーム入力部１４、フレームバッファ１４ａ、ブロック分割部１５、ブロックバッファ１５ａ、ＭＤＡ予測部１６、予測モード選定部１７、コード生成部１８、残差符号化部１９、及び出力部２０を備えている。
【００５９】
予測モードテーブル１１は、図１に示した４つの予測モードＰＭｏｄｅ０〜ＰＭｏｄｅ３のパターンを記憶している。残差メモリ１２は、入力される各画像ブロック（８×８画素の画像ブロック）の各画素から当該画素の予測値を引いて算出される残差を一時的に記憶する部分である。フレーム入力部１４は、コーディック・コア１から出力されるフレーム・データ（リファレンス・フレーム等の画像データ）が入力されるインタフェース部分である。フレームバッファ１４ａは、フレーム入力部１４から入力されるフレーム・データを一時的に記憶するメモリである。ブロック分割部１５は、フレーム入力部１４から入力されるフレーム・データを所定サイズ（８×８画素）の画素ブロックに分割する。ブロックバッファ１５ａは、ブロック分割部１５により切り出された画素ブロックを一時的に記憶するメモリである。ＭＤＡ予測部１６は、上述したＭＤＡ（マルチモードＤＰＣＭ及び平均化予測）方式によって、予測モードＰＭｏｄｅ０〜ＰＭｏｄｅ３の各予測モードにより画素ブロックの各画素の予測値を算出する。予測モード選定部１７は、予測モードＰＭｏｄｅ０〜ＰＭｏｄｅ３での予測モードを用いて画素ブロックを圧縮した際に最も圧縮効率の高い予測モードを選定する。残差演算部１３は、ＭＤＡ予測部１６により予測された予測値を用いて、画素ブロックの残差を算出し残差メモリ１２に格納する。コード生成部１８は、予測モード選定部１７で選定された予測モードにより、符号化された画素ブロックのフォーマット整形を行う。残差符号化部１９は、残差メモリ１２から画素ブロックの残差値を読み出して、上述の残差のグループ化処理、再グループ化処理及び半固定長符号化処理を行う。出力部２０は、コード生成部１８が出力する符号化された画素ブロックのデータをキャッシュ・メモリ６へ出力する。
【００６０】
また、図５の残差符号化部１９は、グルーピングテーブル２１、スモール・グループ分割部２２、ＣＭ＆Ｔ決定部２３、再グルーピング部２４、及びＳＦＬ符号化部２５を備えている。グルーピングテーブル２１には、Ｓグループ，Ｍグループ，Ｌグループへのグループ化を行う際の結合パターン（例えば、図１，図２参照）が記憶されている。スモール・グループ分割部２２は、各予測モードによる残差をＳグループに分割する。ＣＭ＆Ｔ決定部２３は、各Ｓグループの符号化モード（ＣＭ）及びトレーリングビット（Ｔ）を決定する。再グルーピング部２４は、スモール・グループ分割部２２で分割された各Ｓグループに対し、前述した残差の再グループ化処理により、Ｓグループの再グループ化を行う。ＳＦＬ符号化部２５は、再グルーピング部２４により再グループ化された各グループの残差を上述のＳＦＬ符号化方式によってエントロピー符号化を行う。
【００６１】
（３）デコンプレッサ
図６は、図４のデコンプレッサ５の内部構成を表す図である。尚、図６は、デコンプレッサ５の機能を分かりやすく説明するために便宜的に機能要素毎にブロック化して表したものであり、実際のハードウェア実装では必ずしも図６のとおりに構成されるものとは限られない（例えば、図１３参照）。デコンプレッサ５は、予測モードテーブル３０、グルーピングテーブル３１、入力部３２、予測値復号部３３、残差復号部３４、フレーム復元部３５、及び出力部３６を備えている。尚、予測モードテーブル３０及びグルーピングテーブル３１は、図５の予測モードテーブル１１及びグルーピングテーブル２１と同様であり、図５と共通のものとすることができる。入力部３２は、ＤＲＡＭ２から読み出される符号化された画素ブロックのデータが入力される。予測値復号部３３は、入力部３２から入力されたデータのうち、符号化された予測値のデータを復号する。残差復号部３４は、入力部３２から入力されたデータのうち、符号化された残差のデータを復号する。フレーム復元部３５は、予測値復号部３３及び残差復号部３４により復号された予測値と残差から、各画素ブロックを復元し、フレーム・データを合成する。出力部３６は、フレーム復元部３５により生成されるフレーム・データをコーディック・コア１へ出力する。
【００６２】
（４）データ圧縮動作
以上のように構成された本実施例の画像処理装置について、以下そのデータ圧縮動作を説明する。図７は、本実施例の画像処理装置のコンプレッサ４によるフレームの圧縮動作を表すフローチャートである。図８は、本実施例の画像処理装置においてコンプレッサ４で圧縮した画素ブロックデータのデータフォーマットを表す図である。
【００６３】
（４．１）全体動作
まず、コーディック・コア１からコンプレッサ４にフレーム・データＦＬが入力される（Ｓ１００）。
【００６４】
コンプレッサ４のブロック分割部１５は、入力されたフレーム・データＦＬをＮＢ個の８×８画素の画素ブロック｛Ｂｋ｝に分割する（Ｓ１０１）。
【００６５】
次に、コンプレッサ４は、それぞれの画素ブロックＢｋに対して、ブロックデータ圧縮を行い、圧縮された画素ブロックデータＢ’ｋを生成する（Ｓ１０２，Ｓ１０３）。
【００６６】
最後に、コンプレッサ４は、圧縮された画素ブロックデータＢ’ｋを図８のフォーマットに整形して、キャッシュ・メモリ６へ出力する。
【００６７】
（４．２）ブロックデータ圧縮
上記ステップＳ１０３におけるブロックデータ圧縮は、図７（ａ）のフローに従って、以下のように実行される。
【００６８】
まず、図１のＰＭｏｄｅ０〜ＰＭｏｄｅ３の各予測モードに対し、ＭＤＡ予測演算、残差演算、残差の再グループ化、及びブロックコストの演算を実行する（Ｓ２００〜Ｓ２０６）。すなわち、予測モードＰＭｏｄｅ i（ｉ＝０，１，２，３）について、まず、ＭＤＡ予測部１６は、予測モードテーブル１１に記憶された図１に示した予測パターンに従って、左上の１画素を除く各画素に対して画素値の予測値を算出する（Ｓ２０１）。残差演算部１３は、算出された予測値を用いて、各画素の残差を算出する（Ｓ２０２）。ここで、残差は、スモール・グループ分割部２２によって、図２（ｂ）に例示されたように、３画素又は４画素のＳグループにグループ化される。次いで、ＣＭ＆Ｔ決定部２３は、各Ｓグループに対して式（３）によりｍｍを算出し、表２に従って各Ｓグループの符号化モードＭを決定する（Ｓ２０３）。そして、再グルーピング部２４は、同じＬグループ又はＭグループに属するＳグループのうち、符号化モードＭが同じＳグループを結合することにより再グループ化を実行し、Ｌグループについては図３（ｂ）のＲＧ０〜ＲＧ１４のいずれかの再グループ化モード（ＲＧＭ）を決定し、Ｍグループについては図３（ａ）のＭ，２Ｓのいずれかの再グループ化モード（ＲＧＭ）を決定する（Ｓ２０４）。そして、再グループ化された残差に対してＳＦＬ符号化部２５はＳＦＬ符号化を行い、符号化された画素ブロックの残差データ（符号化残差データ）Ｄ（ＰＭｏｄｅ i）を生成する（Ｓ２０５）。ここで、予測モード選定部１７は、符号化された画素ブロックのブロックコストＢＣｉを算出する（Ｓ２０６）。ここで、ブロックコストＢＣｉは、具体的には次式に従って算出される。
【００６９】
【数４】
2015005903.tif 000008
ここで、Ｆ，ＰＭ，ＲＧＭ，ＣＭ，Ｄ，Ｔは、それぞれ、ブロックの左上コーナー画素の画素値，予測モード，再グループ化モード，符号化モード，符号化残差データ，トレーリングビットを表す。‖Ｘ‖はＸのビット・コスト（ビット数）を表している。ここでは、各画素の画素値は８ビットとしているので‖Ｆ‖＝８である。予測モードは図１より０〜３の範囲なので‖ＰＭ‖＝２である。再グループ化モードＲＧＭは、図３よりＬグループが０〜１４、Ｍグループが０〜１の範囲をとり１ブロック当たり４つのＬグループと１つのＭグループがあるので、‖ＲＧＭ‖は最大１７ビットが必要となる。但し、図３のＲＧ０については３ビットのフラグ（０００）を割り当て、ＲＧ１〜ＲＧ１４には４ビットのフラグ（００１０〜１１１１）を割り当てればよいので、‖ＲＧＭ‖は１３〜１７ビットの間の値となる。‖ＣＭ‖はブロック全体のグループ数Ｎｇに依存する。グループ数Ｎｇは、Ｍグループ及び各Ｌグループの再グループ化モードにより変化する。表２より１グループ当たりのＣＭは３ビットで表されるので、‖ＣＭ‖＝３Ｎｇとなり１５〜５４の範囲の値をとる。‖Ｄ‖はブロック内のＳグループのビットコスト‖Ｄ（S-group）‖の合計である。図２より、１つのＳグループ内の画素数は３又は４であり、表２より１画素当たりの符号化残差データは、符号化モードＭが７未満の場合にはＭビット、Ｍ＝７の場合は８ビットなので、‖Ｄ（S-group）‖は式（４）のように計算できる。トレーリングビットは、１グループ当たり０又は１ビットなので、‖Ｔ‖は０〜１８の間の値をとる。
【００７０】
すべての予測モードに対し、上記Ｓ２００〜Ｓ２０６の演算処理が終了すると、予測モード選定部１７は、予測モードＰＭｏｄｅ０〜ＰＭｏｄｅ３のうちブロックコストＢＣｉが最小のものを選出し、これを選択された予測モードＰＭとして決定する（Ｓ２０７）。
【００７１】
次に、コード生成部１８は、画素ブロックＢｋの左上画素の画素値、予測モードＰＭ、再グループ化モードＲＧＭ、各画素グループの符号化モードＣＭ、予測モードＰＭで符号化された画素ブロックの残差データＤ及びトレーリングビットＴを、図８に示したデータフォーマットに整形し、符号化ブロックｃＢｋを生成する（Ｓ２０８）。図８において、Ｆは画素ブロックＢｋの左上画素の画素値（８ビット）、ＰＭは予測モード（２ビット）、ＲＧＭは、各Ｌブロック（４個）又はＭブロック（１個）の再グループ化モード（１７ビット）、ＣＭは各画素グループ（５〜１８個）の符号化モード（１５〜５４ビット）、Ｄは画素ブロックＢｋの左上画素を除く各画素の残差の符号化シーケンス、Ｔは各画素グループのトレーリングビット（０〜１８ビット）を表す。
【００７２】
最後に、コード生成部１８は、生成された符号化ブロックｃＢｋのサイズsize(cBk)と元の非符号化ブロックＢｋのサイズsize(Bk)（= 512 bit）とを比較し（Ｓ２０９）、size(cBk)＜size(Bk)ならば符号化ブロックｃＢｋを圧縮ブロックＢ’ｋとして出力し（Ｓ２１０）、size(cBk)≧size(Bk)ならば非符号化ブロックＢｋを圧縮ブロックＢ’ｋとして出力する（Ｓ２１１）。これは、符号化によってかえって圧縮ブロックＢ’ｋのサイズが符号化前よりも大きくなる場合があるため、かかる場合、データサイズの増加を防止するための処理である。尚、出力の際には、圧縮ブロックＢ’ｋが符号化ブロックか非符号化ブロックかを判別するための識別フラグが付加される。
【００７３】
（４．３）ブロックデータ圧縮の他の例
図７（ｂ）では、予測モードＰＭの選択を行う前に、各予測モードに対して、それぞれ残差のＳＦＬ符号化（Ｓ２０５）を行う方法を示したが、残差のＳＦＬ符号化は計算複雑度が大きいためこの方法は演算コストが大きくなる。そこで、他の方法として、予測モードＰＭの選択を行った後に残差のＳＦＬ符号化を行う方法についても説明する。図９は、ブロックデータ圧縮の他の例を示すフローチャートである。図９において、図７（ｂ）と同じ処理部分については同符号を附している。図９の方法では、残差のＳＦＬ符号化（Ｓ２０５）は予測モードＰＭの選択（Ｓ２０７）を行った後に行われるため、予測モードＰＭの選択（Ｓ２０７）を行う前に、各予測モードＰＭｏｄｅｉにおけるブロックコストＢＣｉの推定計算（Ｓ２０６’）を行う必要がある。
【００７４】
式（４）より、‖Ｆ‖＝８，‖ＰＭ‖＝２は定数である。各ＳグループにおけるＣＭ，Ｔは、当該グループにおける残差の最大値及び最小値によって定まる。従って、まず各ＳグループにおけるＣＭ，Ｔを計算する。これは最大値及び最小値を求め、その値からテーブル参照によりＣＭ，Ｔを決定するだけなので計算コストは小さい。次に、ブロック内の４つのＬグループ（及び１つのＭグループ）のそれぞれに対し、当該Ｌグループ（Ｍグループ）内のＳグループのＣＭの値から、ＲＧＭが決定される。これにより、‖ＲＧＭ‖が決定される。このとき、ブロック内のグループ数Ｎｇも決定するため、‖ＣＭ‖，‖Ｔ‖も決定する。最後に、それぞれのＳグループの画素数とＣＭから、各Ｓグループの残差の符号量‖Ｄ（S-group）‖が決定され（式（４）の下の括弧内の式）、その総和から‖Ｄ‖が決定される。そして、式（４）の和算によってブロックコストＢＣｉの推定をすることができる。
【００７５】
（４）データ展開動作
図１０は、本実施例の画像処理装置のデコンプレッサ５によるフレームの展開動作を表すフローチャートである。コーディック・コア１からフレーム・データの読み出し信号がデコンプレッサ５に入力されると、ＤＲＡＭコントローラ７はＤＲＡＭ２から圧縮されたフレーム・データを読み出してキャッシュ・メモリ６に格納する（Ｓ３００）。次いで、デコンプレッサ５は、フレーム内の８×８画素の各画素ブロックＢｋ（ｋ＝０，１，…，ＮＢ−１）の圧縮ブロックＢ’ｋについて、以下のＳ３０２〜Ｓ３０８の処理を実行する（Ｓ３０１）。
【００７６】
予測値復号部３３は、圧縮ブロックＢ’ｋが符号化ブロックか否かを判定し（Ｓ３０２）、符号化ブロックの場合、以下のＳ３０３〜Ｓ３０６の処理で符号化ブロックを復号して画素ブロックＢｋを復元する。一方、圧縮ブロックＢ’ｋが非符号化ブロックの場合、読み出した圧縮ブロックＢ’ｋをそのまま画素ブロックＢｋとする（Ｓ３０６）。
【００７７】
圧縮ブロックＢ’ｋが符号化ブロックの場合において、まず、残差復号部３４は、圧縮ブロックＢ’ｋのデータ（図８）を左上コーナー画素の画素値Ｆ，予測モードＰＭ，再グループ化モードＲＧＭ，符号化モードＣＭ，符号化残差データＤ及びトレーリングビットＴの各部に分離する。そして符号化モードＣＭ及びトレーリングビットＴに基づき、符号化残差データＤから画素ブロックＢｋ内のすべての残差値を復号する（Ｓ３０３）。これは、まず、再グループ化モードＲＧＭから画素ブロックＢｋ内の画素グループの分割を決定し、次に、各画素グループに対して符号化モードＣＭから表２（グルーピングテーブル３１に記憶されている）の符号化規則を決定し、この符号化規則及びトレーリングビットＴにより符号化シーケンスＤを元の残差値に復号するという手順で実行される。
【００７８】
次に、それぞれの画素ｐｉについて、予測値復号部３３は、まず、画素ブロックＢｋの符号化データ（図８）から、左上コーナー画素の画素値Ｆ及び予測モードＰＭを取得し、予測モードテーブル３０に記憶された予測モードＰＭの予測パターン（図１）により、各画素ｐｉの予測値を算出する（Ｓ３０４）。そして、フレーム復元部３５は、各画素ｐｉの予測値に残差値を加えて画素値を算出し画素ｐｉを復元する（Ｓ３０５）。これにより、符号化ブロックから画素ブロックＢｋが復元される。
【００７９】
以上のＳ３０２〜Ｓ３０６の処理の後、出力部３６は復元された画素ブロックＢｋをコーディック・コア１へ出力する（Ｓ３０７）。
【００８０】
〔３〕具体的なハードウェア実装の例
次に、本実施例のコンプレッサ４及びデコンプレッサ５を具体的にハードウェアに実装した例について説明する。
【００８１】
（１）コンプレッサ
図１１は、コンプレッサ４のハードウェア実装例を示す図である。図１１において、図５の構成部に対応する構成部には同符号を附した。図１１に示したコンプレッサ４は、図９のフローを並列処理化してハードウェア実装したものであり、画素ブロックの符号化演算処理をＳＴＡＧＥ１〜ＳＴＡＧＥ３の３段階に分けて実行し、各ステージを並行して行うことでパイプライン処理を可能としている。ＳＴＡＧＥ１では、各予測モードの各Ｓグループの符号化モードＣＭ及びトレーリングビットＴの演算処理が実行される。ＳＴＡＧＥ２では、再グループ化と予測モードの決定が行われる。ＳＴＡＧＥ３では、再グループ化モードの決定、残差演算、ＳＦＬ符号化及びフォーマット化が実行される。
【００８２】
まず、コーディック・コア１から出力されるフレーム・データは、Buffer0（フレームバッファ１４ａ）に一時的に格納される。そして、８×８画素ブロックごとに順次読み出されてされ、画素ブロックがBuffer1（ブロックバッファ１５ａ）に一時的に格納される。
【００８３】
ＳＴＡＧＥ１においては、各予測モードにおけるそれぞれのＭグループごとに、ＭＤＡ予測部１６により予測演算走査（ＤＰＣＭ走査又は平均予測演算走査）が実行され、Ｍグループに含まれる各Ｓグループの符号化モードの決定が行われる。図１より、ＰＭｏｄｅ０〜ＰＭｏｄｅ３には、合計３６のＭグループが含まれるため予測演算走査をすべき画素数は７×３６＝２５２画素であるが、各予測モードには同じＭグループが重複して含まれている。重複するＭグループの予測演算走査は１回だけ行えばよいため、実際に予測演算走査をすべき画素数は７×２４＝１６８画素である。このうち、ＤＰＣＭ走査のＭグループが１８グループ、予測演算走査のＭグループが６グループなので、図１１ではＤＰＣＭ演算器（ＤＰＣＭ）を３つ、平均予測演算器（Ａｖｇ）を１つ並列に設けている。ＤＰＣＭ及びＡｖｇは、各予測モードの各Ｍグループの各画素に対して画素値の予測により得られる残差値を出力する。符号化モード検出器ＣＭＤは、それぞれのＭグループ内のＳグループごとに、ＤＰＣＭ又はＡｖｇが出力する残差の最大値・最小値を求め、式（３）及び表２に従ってそれぞれの予測モードにおける各Ｓグループの符号化モードを検出して前段のレジスタＣＭに出力するとともに、トレーリングビットＴを前段のレジスタＴｅへ出力する。また、パイプライン処理のため、オリジナルの画素ブロックの画素値は、Buffer1から前段のレジスタOriginalへ転写される。
【００８４】
ＳＴＡＧＥ２においては、まず再グループ化判定器ＲＧＭ及び３つの再グループ化判定器ＲＧＬにより、各予測モードにおける各Ｌグループ又はＭグループの再グループ化モードの判定が並列で実行される。そして、予測モード決定器（予測モード選定部１７）により、上述した式（４）による各予測モードのブロックコストの推定が実行され、最もブロックコストの小さい予測モードが選択される。選択予測モードは、次段のレジスタＰＭに出力される。また、選択予測モードにおける各Ｓグループの符号化モードＣＭ及びトレーリングビットＴが、後段のレジスタＣＭ，Ｔｅにそれぞれ出力される。また、パイプライン処理のため、オリジナルの画素ブロックの画素値は、前段のレジスタOriginalから後段のレジスタOriginalへ転写される。
【００８５】
ＳＴＡＧＥ３においては、選択予測モードにおける各Ｓグループの再グループ化とＳＦＬ符号化が並列で実行される。再グループ化モード検出器ＲＧＭＤは、後段のレジスタＣＭから、各Ｌ又はＭグループ内の各Ｓグループの符号化モードＣＭを読み出し、それらの符号化モードＣＭの関係性に基づいて図３に従って各Ｌ又はＭグループの再グループ化モードＲＧＭを決定する。例えば、もし、Ｌグループ内のすべてのＳグループの符号化モードＣＭが同じ関係であれば、当該Ｌグループの再グループ化モードＲＧＭはＲＧＭ０に決定される。また、もし、Ｌグループの最初のＳグループの符号化モードＣＭのみが他の３つのＳグループの符号化モードＣＭと異なる関係の場合には、当該Ｌグループの再グループ化モードＲＧＭはＲＧＭ１に決定される。
【００８６】
一方、残差演算器ＲＣ（図１１の３ＲＣ，４ＲＣ，３／４ＲＣ）は、後段のレジスタＰＭに保存された選択予測モードに従って、後段のレジスタOriginalに保存された画素値から、各Ｓグループに対する各画素値の予測値からの残差を計算する。ここで、３ＲＣが３画素の残差演算器、４ＲＣは４画素の残差演算器、３／４ＲＣは３又は４画素の残差演算器を表す。ＳＦＬ符号化器（ＳＦＬ符号化部２５）は、後段のレジスタＣＭ，Ｔｅに保存された各Ｓグループの符号化モード及びトレーリングビットに基づき、各残差演算器ＲＣが出力する各Ｓグループの残差を表２に従って符号化し、符号化残差データＤを出力する。最後に、コード生成器（コード生成部１８）は、画素ブロックの左上コーナーの画素値Ｆ，予測モードＰＭ，再グループ化モードＲＧＭ，符号化モードＣＭ，符号化残差データＤ，及びトレーリングビットＴを、図８のようにフォーマット化した符号化画素ブロックデータに整形し、先頭に符号化画素ブロックデータのデータ長ＣＤＬを付加して、キャッシュ・メモリ６へ出力する。
【００８７】
図１２は、図１１のコンプレッサ４のパイプライン処理サイクルのタイミングを表す図である。ＳＴＡＧＥ１における１８個のＭグループのＤＰＣＭ走査と６個のＭグループの予測演算走査は、３つのＤＰＣＭ演算器（ＤＰＣＭ）と１つの平均予測演算器（Ａｖｇ）により６サイクルで実行される。ＳＴＡＧＥ１から１サイクル遅れて、ＳＴＡＧＥ２の再グループ化及び予測モードの決定が６サイクルで実行される。ＳＴＡＧＥ３の再グループ化モードの決定、残差演算、ＳＦＬ符号化及びフォーマット化はＳＴＡＧＥ２の完了後に６サイクルで実行される。従って、１つの画素ブロックあたり１３サイクルの時間で符号化処理が実行される。また、次の画素ブロックに対する符号化処理は、先の画素ブロックに対するＳＴＡＧＥ１が完了した時点から続けて開始される。従って、次の画素ブロックに対する符号化処理は、先の画素ブロックに対する符号化処理の開始時刻から６サイクル遅れた時点から開始することができる。
【００８８】
（２）デコンプレッサ
図１３は、デコンプレッサ５のハードウェア実装例を示す図である。図１３に示したデコンプレッサ５は、図１０のフローを並列処理化してハードウェア実装したものであり、画素ブロックの復号演算処理をＳＴＡＧＥ１〜ＳＴＡＧＥ３の３段階に分けて実行し、各ステージを並行して行うことでパイプライン処理を可能としている。ＳＴＡＧＥ１では、ＤＲＡＭ２から読み出されたフォーマット化された符号化データを、Ｆ，ＰＭ，ＲＧＭ，ＣＭ，Ｄ＆Ｔのそれぞれの部分に分離して前段のレジスタに格納する処理が実行される。ＳＴＡＧＥ２では、符号化された残差をバレルシフタ（ＢＳ）によりＭグループに分離した後、さらにそれらを分離して個々の残差に復号する処理が実行される。その間に、Ｄ＆Ｔからトレーリングビットが分離され、復号後の残差の符号の決定に使用される。ＳＴＡＧＥ３では、ＤＰＣＭ予測又は平均予測により各画素の予測値を算出して残差と加えて各画素の画素値が復元される。
【００８９】
ＤＲＡＭ２からキャッシュ・メモリ６に読み出された符号化画素ブロックは、図８に示したフォーマットのデータである。ＳＴＡＧＥ１においては、このデータを分離する。まず、先頭の画素値Ｆ，予測モードＰＭは固定サイズ（それぞれ、８ビット，２ビット）なので、それぞれのビット長のデータを前段のレジスタＦ，ＰＭに格納する。それに続く再グループ化モードＲＧＭは、１３〜１７ビットの間の長さである。Ｍグループの再グループ化モードは１ビットの固定長なので、バレルシフタＢＳはそのまま１ビット読み出して前段のレジスタＲＧＭに格納する。一方、Ｌグループの再グループ化モードは３ビット又は４ビットの可変長なので、以下の（ｉ）（ｉｉ）の読み出し動作をＬグループの個数分（４回）だけ反復して実行する。
（ｉ）まずバレルシフタＢＳは３ビット読み出して読み出したビットがＲＧ０（“０００”）であればこの３ビットに０を付加した４ビット（“００００”）を前段のレジスタＲＧＭに格納する。
（ｉｉ）読み出したビットがＲＧ０（“０００”）以外であれば、バレルシフタＢＳはさらに１ビットを読み出し、この４ビットを前段のレジスタＲＧＭに格納する。
【００９０】
上記再グループ化モードＲＧＭの読み出しから１サイクル遅れて並行して、各グループの符号化モードＣＭの読み出しが行われる。１つの符号化モードＣＭは固定長（３ビット）であるが、再グループ化モードによって符号化モードＣＭの個数が異なる。従って、まず１つのＭグループ又はＬグループの再グループ化モードＲＧＭの読み出しが行われた後、ＩＲＧは、その再グループ化モードＲＧＭに応じて所定数の符号化モードＣＭの読み出しを行う。読み出された符号化モードＣＭのビット数は、Ｍブロックが３，６ビット、Ｌブロックが３，６，９，１２ビットである。後段の処理のため、ＩＲＧは、図３の再グループ化モードＲＧＭに従って、当該Ｍグループ又はＬグループ内のＳグループ毎に符号化モードＣＭを割り当て、各Ｍグループ又はＬグループに対し１８ビットの固定長データとして前段のレジスタＣＭに格納する。
【００９１】
上記符号化モードＣＭの読み出しの後、符号化残差データＤ，及びトレーリングビットＴの読み出しが行われる。符号化画素ブロックの長さは先頭のデータ長ＣＤＬ（Cdata length）で指定されているため、読み出すデータの長さは定まる。読み出したデータは前段のレジスタＤ＆Ｔに格納する。
【００９２】
ＳＴＡＧＥ２においては、符号化残差データＤを復号し残差データを復元する処理が行われる。前段のレジスタＤ＆Ｔに格納されたデータの内、符号化残差データＤの全ビット数は、前段のレジスタＣＭに格納されている各Ｓグループの符号化モードＣＭから計算することができる。従って、符号化残差データＤの全ビット数分だけシフトしたアドレスがトレーリングビットＴの先頭位置である。図１３のＳＴＡＧＥ２の左側のバレルシフタＢＳは、当該Ｓグループの符号化モードＣＭから決定される符号化残差データＤのビット長に従って、各Ｓグループの符号化残差データＤを順次読み出す。各Ｓグループにおいて読み出された符号化残差データＤの中に、先頭１ビットが‘１’それ以外が‘０’のデータが存在した場合（すなわち、１つのＳグループの符号化残差データＤの中に、−２Ｍ−１又は２Ｍ−１の値（Ｍは符号化モードＣＭ）の符号化残差が存在した場合）（表２参照）、図１３のＳＴＡＧＥ２の右側のバレルシフタＢＳが１ビットのトレーリングビットＴを読み出し、レジスタＴに格納する。読み出されたＳグループ内の符号化残差データＤは、残差復号器ＳＳ＆ＴＣにより、トレーリングビットＴを参照して、表２の符号テーブルに従い元の残差データに復元される。
【００９３】
（例１）Ｓグループの符号化モードＣＭがＭ＝４，符号化残差データがＤ＝｛００１０，００００，１１００｝のとき、Ｄの中に符号化残差１０００（８又は−８）が存在しないためトレーリングビットＴの読み出しは行われない。この場合、残差データは表２よりｒ＝｛２，０，−４｝に復元される。
【００９４】
（例２）Ｓグループの符号化モードＣＭがＭ＝４，符号化残差データがＤ＝｛１０００，００００，１１００｝のとき、Ｄの中に符号化残差１０００（８又は−８）が存在するのでトレーリングビットＴが読み出される。読み出されたトレーリングビットＴがＴ＝０であれば、符号化残差１０００は残差８を表すことになるので、当該Ｓグループの各残差データは表２よりｒ＝｛８，０，−４｝に復元される。一方、読み出されたトレーリングビットＴがＴ＝１であれば、符号化残差１０００は残差−８を表すことになるので、当該Ｓグループの各残差データは表２よりｒ＝｛−８，０，−４｝に復元される。
【００９５】
（例３）Ｓグループの符号化モードＣＭがＭ＝５，符号化残差データがＤ＝｛０１０００，０００００，１１０００｝のとき、Ｄの中に符号化残差１００００（１６又は−１６）が存在しないためトレーリングビットＴの読み出しは行われない。この場合、残差データは表２よりｒ＝｛８，０，−８｝に復元される。
【００９６】
復元された残差データは後段のレジスタｄ０〜ｄ２に格納される。また、パイプライン処理を行うため、前段のレジスタＰＭの値は後段のレジスタＰＭに複写される。
【００９７】
ＳＴＡＧＥ３においては、ＤＰＣＭ復号器（Inv.DPCM）により、後段のレジスタＰＭに格納された予測モードＰＭ及び前段のレジスタＦに格納された左上コーナーの画素の画素値Ｆから、各画素の予測値が算出され、これにレジスタｄ０〜ｄ２に格納された残差を加算して元の画素値が復元される。復元された画素値は、記録器（Recording）によってラスタ走査順に整列して最終段のレジスタ（8*8 samples）に書き込まれる。画素ブロック全体が復元された時点で、画素ブロックのデータは最終段のレジスタ（8*8 samples）からコーディック・コア１へ出力される。
【００９８】
図１４は、図１３のデコンプレッサ５のパイプライン処理サイクルのタイミングを表す図である。１画素ブロックあたり、１つのＳＴＡＧＥは３サイクルで実行され、ＳＴＡＧＥ２はＳＴＡＧＥ１から１サイクル遅れて実行され、ＳＴＡＧＥ３はＳＴＡＧＥ２から１サイクル遅れて実行される。
【実施例２】
【００９９】
実施例１では、８×８画素の画素ブロックに対して本発明を適用した例を示したが、実施例２では、８×８画素以上の画素ブロックに本発明の適用を拡張する一例として、１６×１６画素の画素ブロックに対して本発明を適用した例を示す。
【０１００】
図１５は、１６×１６画素ブロックに対するＭＤＡスキームにおいて使用する予測モード及びグループ分割を表す図である。図１５（ａ），（ｂ），（ｃ），（ｄ）は、それぞれ予測モードＰＭｏｄｅ０，ＰＭｏｄｅ１，ＰＭｏｄｅ２，ＰＭｏｄｅ３を表している。図１の場合と比較して、１つのＭグループ内の画素数が７画素から１５画素に増加し、Ｌグループの数が増加したことを除き、基本的には図１の場合と同様である。
【０１０１】
図１５において、第０行第０列のコーナー画素が起点画素である。起点画素を除く画素ブロック内の画素を（ｎ−１）個（ｎ＝１６）の縦列画素のグループであるＭグループに区画する。ＰＭｏｄｅ０では、画素ブロックの第０行の第１〜（ｎ−１）列目の縦列画素からなるＭグループ、及び第（ｎ−１）列の第１〜（ｎ−１）行目の縦列画素からなるＭグループに水平コピー予測、第１〜（ｎ−１）行の偶数列の縦列画素からなる各Ｍグループに垂直コピー予測、第（ｎ−１）列を除く第１〜（ｎ−１）行の奇数列の縦列画素からなる各Ｍグループに水平平均予測の予測方式を割り当てる。ＰＭｏｄｅ１は、ＰＭｏｄｅ０の転置である。ＰＭｏｄｅ２では、第０列の第１〜（ｎ−１）行目の縦列画素からなるＭグループに垂直コピー予測、第１〜（ｎ−１）列の各行の縦列画素からなる各Ｍグループに水平コピー予測の予測方式を割り当てる。ＰＭｏｄｅ３は、ＰＭｏｄｅ２の転置である。
【０１０２】
Ｌグループについては、図１５のように８つのＬグループにグループ化する方法の他に、図１５の８つのＬグループを更に上下に２分して１６つのＬグループにグループ化する方法も考えられる。何れを採用することもできる。
【０１０３】
図１６は、ＰＭｏｄｅ０において、１６×１６画素の１つの予測ブロックの残差をＳグループにグループ化する例を示す図である。図１６（ａ）は、７画素又は８画素のＳグループにグループ化した例である。この場合、画素数及びＬグループの数が増加した点を除き、図２（ｂ）と同様であるため、残差の再グループ化及び残差のＳＦＬ符号化は、実施例１と全く同様にして実行することができる。図１６（ｂ）は、３画素又は４画素のＳグループにグループ化した例である。この場合、１つのＬグループ内のＳグループの数を実施例１の場合と同じ４つとすれば、Ｌグループの数は実施例１の場合の4倍となるが、再グループ化及び残差のＳＦＬ符号化は、実施例１と全く同様に実行することができる。一方、１つのＬグループ内のＳグループの数を８つとすれば、再グループ化モードの数は１５×１５＝２２５となり、再グループ化モードを表すために８ビットの符号が必要である。
【実施例３】
【０１０４】
実施例３では、実施例１の場合（８×８画素の画素ブロックに対して本発明を適用した場合）において、Ｓグループのグループ化の他の例について説明する。
【０１０５】
図１７は、ＰＭｏｄｅ０において、８×８画素の１つの予測ブロックの残差をＳグループにグループ化する場合の他の例を示す図である。図１７（ａ）は、図２（ｂ）に示したＳグループのうち、第１〜７行目の１６個のＳグループうち、上段のＳグループの画素数を４画素に、下段のＳグループの画素数を３画素に変更したにすぎない。従って、実施例１で説明した残差の再グループ化及び残差のＳＦＬ符号化の手法をそのまま適用することができる。図１７（ｂ）（ｃ）は、異なる予測方法の画素に跨ってＳグループを設定した場合の例を表している。この場合、Ｌグループの取り方も、図１７（ｂ）（ｃ）に示したように、実施例１の場合とは異なってくる。しかし、再グループ化及び残差のＳＦＬ符号化の手法については、実施例１と同様に行うことができる。
【符号の説明】
【０１０６】
１  コーディック・コア
２  ＤＲＡＭ
３  ＤＲＡＭインタフェース部
４  コンプレッサ
５  デコンプレッサ
６  キャッシュ・メモリ
７  ＤＲＡＭコントローラ
１１  予測モードテーブル
１２  残差メモリ
１３  残差演算部
１４  フレーム入力部
１５  ブロック分割部
１６  ＭＤＡ予測部
１７  予測モード選定部
１８  コード生成部
１９  残差符号化部
２０  出力部
２１  グルーピングテーブル
２２  スモール・グループ分割部
２３  ＣＭ＆Ｔ決定部
２４  再グルーピング部
２５  ＳＦＬ符号化部
３０  予測モードテーブル
３１  グルーピングテーブル
３２  入力部
３３  予測値復号部
３４  残差復号部
３５  フレーム復元部
３６  出力部
【図２】
2015005903.tif 000009
【図４】
2015005903.tif 000010
【図５】
2015005903.tif 000011
【図６】
2015005903.tif 000012
【図８】
2015005903.tif 000013
【図１１】
2015005903.tif 000014
【図１２】
2015005903.tif 000015
【図１３】
2015005903.tif 000016
【図１４】
2015005903.tif 000017
【図１６】
2015005903.tif 000018
【図１８】
2015005903.tif 000019
【図２０】
2015005903.tif 000020
【図１】
2015005903.tif 000021
【図３】
2015005903.tif 000022
【図７】
2015005903.tif 000023
【図９】
2015005903.tif 000024
【図１０】
2015005903.tif 000025
【図１５】
2015005903.tif 000026
【図１７】
2015005903.tif 000027
【図１９】
2015005903.tif 000028