(57)【要約】【課題】予測符号化と可変長符号化とを併用した圧縮符号化アルゴリズムにより圧縮符号化された画像データをデコードする際のデコード性能を向上させる。【解決手段】予測符号化データにより予測誤差が表される各画素を処理対象画素とし、その画素値の予測値を前記複数の周辺画素の画素値の大小関係から算出する予測値算出処理と、当該処理対象の画素について前記予測符号化データの示す予測誤差を当該予測値に加算して画素値を復元する加算処理とを実行する逆予測符号化部であって、前記複数の周辺画素のうち処理対象の画素と水平走査線方向に並んでいないものの画素値のみを参照する第１の演算をそれ以外の第２の演算に対して先行して実行し、当該第２の演算の実行まで前記第１の演算の演算結果をレジスタに保持しておく。【選択図】図４
2010278567.tif 000002
【特許請求の範囲】
【請求項１】
画像を構成する複数の画素の各々を注目画素とした場合における当該注目画素の近傍に位置する複数の周辺画素の画素値の大小関係から算出される当該注目画素の画素値の予測値と当該注目画素の実際の画素値との差分を表す予測誤差を画素の配列順に配列して得られる予測符号化データを取得し、この予測符号化データから前記画像を表す画像データを復元する復号装置において、
前記予測符号化データにより予測誤差が表される各画素を処理対象画素とし、その画素値の予測値を前記複数の周辺画素の画素値の大小関係から算出する予測値算出処理と、当該処理対象の画素について前記予測符号化データの示す予測誤差を当該予測値に加算して画素値を復元する加算処理とを実行する逆予測符号化部であって、前記複数の周辺画素のうち処理対象の画素と水平走査線方向に並んでいないものの画素値のみを参照する第１の演算をそれ以外の第２の演算に対して先行して実行し、当該第２の演算の実行まで前記第１の演算の演算結果を保持する逆予測符号化部
を有することを特徴とする復号装置。
【請求項２】
画像を構成する複数の画素の各々を注目画素とした場合における当該注目画素の近傍に位置する複数の周辺画素の画素値の大小関係から算出される当該注目画素の画素値の予測値と当該注目画素の実際の画素値との差分を表す予測誤差を画素の配列順に配列して得られる予測符号化データに前記予測誤差を可変長符号化する可変長符号化処理を施して得られる圧縮符号化データを取得し、この圧縮符号化データから前記画像を表す画像データを復元する復号装置において、
前記可変長符号化処理の逆演算である可変長復号化処理を前記圧縮符号化データに施し、前記予測符号化データを復元する可変長復号化部と、
前記可変長復号化部により得られた予測符号化データにより予測誤差が表される各画素を処理対象画素とし、その画素値の予測値を前記複数の周辺画素の画素値の大小関係から算出する予測値算出処理と、当該処理対象の画素について前記可変長復号化部により得られる予測符号化データの示す予測誤差を当該予測値に加算して画素値を復元する加算処理とを実行する逆予測符号化部であって、前記複数の周辺画素のうち処理対象の画素と水平走査線方向に並んでいないものの画素値のみを参照する第１の演算をそれ以外の第２の演算に対して先行して実行し、第当該第２の演算の実行まで前記１の演算の演算結果を保持する逆予測符号化部と、
を有することを特徴とする復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データに予測符号化を施して得られる予測符号化データから元の画像データを復元する技術に関する。
【背景技術】
【０００２】
画像データの圧縮符号化技術は、非可逆圧縮符号化技術と可逆圧縮符号化技術とに大別される。非可逆圧縮符号化技術は、直交変換を利用したものが多く、圧縮符号化されたデータから元の画像データを完全には復元できないが、高い圧縮率を得られるという利点がある。一方、可逆圧縮符号化技術の一例としては、ＪＰＥＧ（Joint Photographic Experts Group）のＪＰＥＧ−ＬＳ（Lossless-JPEG）のように予測符号化と可変長符号化とを併用したものが挙げられる。この種の可逆圧縮符号化技術は、高い圧縮率を得られないものの、圧縮符号化されたデータ（以下、圧縮符号化データ）から元の画像データを完全に復元することができるといった利点がある。このため、可逆圧縮符号化技術は、医療用画像の保存や交換などの用途に用いられている。なお、可逆圧縮符号化技術に関する文献としては特許文献１がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−３７２７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
さて、スプライト画像の圧縮符号化データをメモリから読み出して復号し、その復号結果であるスプライト画像をモニタに表示させる画像処理装置が各種提案されている。この種の画像処理装置において、圧縮符号化前のスプライト画像を完全に復元することが求められる場合、スプライト画像の画像データを可逆圧縮符号化技術を利用して圧縮符号化データに変換してメモリに格納し、メモリから読み出される圧縮符号化データのデコード（復号化）を行う必要がある。一般に圧縮符号化データのデコードを行う画像処理装置のデコード性能は、１クロックあたりにデコード可能な画素数によって評価されるが、可逆圧縮符号化技術により得られた圧縮符号化データのデコードにおいては、充分なデコード性能を得られないことが多い。その理由は、以下の通りである。
【０００５】
予測符号化と可変長符号化とを併用した圧縮符号化アルゴリズムにおいては、圧縮符号化対象の画素（以下、処理対象画素）を画像における配列順に順次選択し、その処理対象画素の周辺画素（典型的には、処理対象画素の左隣、真上および左上に位置する各画素）の画素値から処理対象画素の画素値を予測し（以下、予測値算出処理）、処理対象画素の実際の画素値とその予測値との差分（以下、予測誤差）を可変長符号化することで圧縮符号化が行われる。例えば、図８（Ａ）に示す画素Ｍｄが処理対象画素である場合、画素Ｍａ、画素Ｍｂおよび画素Ｍｃの各々の画素値から算出される予測値と画素Ｍｄの実際の画素値との差分である予測誤差が可変長符号化される。一方、圧縮符号化データのデコードは、可変長符号化処理の逆演算である可変長復号化処理を施して予測符号化データを復元した後にその予測符号化データを用いて、圧縮符号化と同様に画素の配列順（図８（Ａ）では、画素Ｍｃ→画素Ｍｂ→画素Ｍａ→画素Ｍｄ、といった順）に逆予測符号化処理を行うことで実現される。例えば、図８（Ａ）の画素Ｍｄについての逆予測符号化処理では、デコード済みの周辺画素の画素値から画素Ｍｄの画素値を予測する予測値算出処理を行い、その予測値に上記予測誤差を加算（以下、加算処理）することで画素値Ｘｄが得られる。ここで注目すべき点は、図８（Ａ）に示す画素Ｍｄのデコードを行う際には、その左隣の画素Ｍａの画素値が得られている必要があるため、上記予測値算出処理と加算処理は１画素単位でしか行えない、という点である。このため、クロックをトリガとして複数の画素を一度にデコードしようとすると、上記予測値算出処理と加算処理とをデコードしようとする画素数分だけ１クロックの間に繰り返し実行する必要がある。例えば、図８（Ｂ）において、画素Ｍｘ１〜画素Ｍｘ３の予測誤差Ｄｉｆｆ１〜Ｄｉｆｆ３を用いて画素Ｍｘ１〜画素Ｍｘ３を１クロックで一度にデコードしようとすると、図８（Ｃ）に示すように１画素分の予測値算出処理および加算処理からなる処理Ｐ−ｎ（ｎ＝１〜３）を直列に順次実行することが必要となる。このため、処理Ｐ−ｎの実行に要する時間（予測値算出処理や加算処理の演算時間と入出力待ち時間の総和）によっては、１クロックで一度にデコードすることができる画素数が自ずと制限されることになる。これが、可逆圧縮符号化技術により得られた圧縮符号化データをデコードする装置において充分なデコード性能が得られない理由である。
【０００６】
本発明は、上記課題に鑑みて為されたものであり、予測符号化と可変長符号化とを併用した圧縮符号化アルゴリズムにより圧縮符号化された画像データをデコードする際のデコード性能を向上させる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために本発明は、画像を構成する複数の画素の各々を注目画素とした場合における当該注目画素の近傍に位置する複数の周辺画素の画素値の大小関係から算出される当該注目画素の画素値の予測値と当該注目画素の実際の画素値との差分を表す予測誤差を画素の配列順に配列して得られる予測符号化データを取得し、この予測符号化データから前記画像を表す画像データを復元する復号装置において、前記予測符号化データにより予測誤差が表される各画素を処理対象画素とし、その画素値の予測値を前記複数の周辺画素の画素値の大小関係から算出する予測値算出処理と、当該処理対象の画素について前記予測符号化データの示す予測誤差を当該予測値に加算して画素値を復元する加算処理とを実行する逆予測符号化部であって、前記複数の周辺画素のうち処理対象の画素と水平走査線方向に並んでいないものの画素値のみを参照する第１の演算をそれ以外の第２の演算に対して先行して実行し、当該第２の演算の実行まで前記第１の演算の演算結果を保持する逆予測符号化部を有することを特徴とする復号装置、を提供する。
【０００８】
また、上記課題を解決するために本発明は、画像を構成する複数の画素の各々を注目画素とした場合における当該注目画素の近傍に位置する複数の周辺画素の画素値の大小関係から算出される当該注目画素の画素値の予測値と当該注目画素の実際の画素値との差分を表す予測誤差を画素の配列順に配列して得られる予測符号化データに前記予測誤差を可変長符号化する可変長符号化処理を施して得られる圧縮符号化データを取得し、この圧縮符号化データから前記画像を表す画像データを復元する復号装置において、前記可変長符号化処理の逆演算である可変長復号化処理を前記圧縮符号化データに施し、前記予測符号化データを復元する可変長復号化部と、前記可変長復号化部により得られた予測符号化データにより予測誤差が表される各画素を処理対象画素とし、その画素値の予測値を前記複数の周辺画素の画素値の大小関係から算出する予測値算出処理と、当該処理対象の画素について前記可変長復号化部により得られる予測符号化データの示す予測誤差を当該予測値に加算して画素値を復元する加算処理とを実行する逆予測符号化部であって、前記複数の周辺画素のうち処理対象の画素と水平走査線方向に並んでいないものの画素値のみを参照する第１の演算をそれ以外の第２の演算に対して先行して実行し、当該第２の演算の実行まで前記１の演算の演算結果を保持する逆予測符号化部とを有することを特徴とする復号装置、を提供する。
【０００９】
このような復号装置によれば、複数の周辺画素のうち処理対象の画素と水平走査線方向に並んでいないものの画素値のみを参照する第１の演算はそれ以外の第２の演算に対して先行して実行（例えば、第２の演算に対して１クロック先行させて第１の演算を実行するなど）され、１クロックの間に実行可能な予測値算出処理および加算処理の回数が増加する。このため、１クロックで一度にデコード可能な画素数が従来よりも増加し、デコード性能を向上させるこができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態である画像処理ＬＳＩ３００の構成例を示す図である。
【図２】同画像処理ＬＳＩ３００のパターンデータデコーダ３０５の構成例を示す図である。
【図３】同パターンデータデコーダ３０５によるデコード処理を説明するための図である。
【図４】第１逆予測符号化部５４２の構成例を示す図である。
【図５】第２逆予測符号化部５４４の構成例を示す図である。
【図６】連続する３個の画素について予測誤差がゼロである場合に、それら３つの画素の右端に位置する画素の逆予測符号化を説明するための図である。
【図７】同３つの画素についてのデコード結果を示す図である。
【図８】予測符号化と可変長符号化とを併用した圧縮符号化、および同圧縮符号化を施された画像データのデコード手順の概略を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照しつつ本発明の実施形態について説明する。
図１は、本発明の一実施形態である画像処理ＬＳＩ３００の構成例を示すブロック図である。画像処理ＬＳＩ３００は、例えばゲーム機などに組み込まれ、そのゲーム機の制御中枢として機能するＣＰＵ（Central Processing Unit）４０２による制御下でゲームキャラクタ等を表すスプライト画像をモニタ４０３に表示させるものである。
【００１２】
スプライトパターンメモリ４０１には、各々ゲームキャラクタなどを表す複数種のスプライト画像についての各圧縮符号化データが格納されている。これら圧縮符号化データは、スプライト画像を構成する各画素の画素値を表す画像データに予測符号化と可変長符号化とを併用した可逆圧縮符号化を施して得られる。スプライト画像の画像データの圧縮符号化に可逆圧縮符号化を採用したのは、ゲームキャラクタ等はグラフィックデザイナによりデザインされることが多く、そのデザイン性が損なわれないようにするため、圧縮符号化前のスプライト画像を完全に復元する必要があるからである。これら圧縮符号化データは、以下の＜１＞〜＜３＞の手順で生成される。
【００１３】
＜１＞まず、スプライト画像を構成する複数の画素の各々を注目画素とした場合における当該注目画素の近傍に位置する複数の周辺画素（本実施形態では、前掲図８（Ａ）に示すように、注目画素の左隣、真上および左上に位置する各画素）の画素値の大小関係から当該注目画素の画素値についての予測値を算出する。例えば、図８（Ａ）に示す画素Ｍｄが注目画素であり、画素Ｍａ、画素Ｍｂおよび画素Ｍｃの各々の画素値を画素値Ｘａ、画素値Ｘｂおよび画素値Ｘｃである場合、予測値Ｘを以下の要領で算出する。
（Ａ）画素値Ｘａ、画素値Ｘｂおよび画素値Ｘｃのうち、画素値Ｘｃが最大である場合
画素値Ｘａ＞画素値Ｘｂ  ならば  予測値Ｘ＝画素値Ｘｂ・・・（ケース１）
画素値Ｘｂ＞画素値Ｘａ  ならば  予測値Ｘ＝画素値Ｘａ・・・（ケース２）
（Ｂ）画素値Ｘａ、画素値Ｘｂおよび画素値Ｘｃのうち、画素値Ｘｃが最小である場合
画素値Ｘａ＜画素値Ｘｂ  ならば  予測値Ｘ＝画素値Ｘｂ・・・（ケース３）
画素値Ｘｂ＜画素値Ｘａ  ならば  予測値Ｘ＝画素値Ｘａ・・・（ケース４）
（Ｃ）その他の場合（画素値Ｘｃが最大ではなく、かつ、最小でもない場合）
予測値Ｘ＝画素値Ｘａ＋画素値Ｘｂ−画素値Ｘｃ・・・（ケース５）
【００１４】
＜２＞次に、スプライト画像を構成する各画素について予測値Ｘと実際の画素値との差分である予測誤差を算出し、この予測誤差を画素の配列順に配列して「予測符号化データ」とする。例えば、画素Ｍｄの実際の画素値が画素値Ｘｄであれば、画素値Ｘｄと予測値Ｘとの差分（画素値Ｘｄ−予測値Ｘ）が予測誤差となる。
【００１５】
＜３＞次に、この予測符号化データの表す各予測誤差に対して可変長符号化処理を施すことで上記圧縮符号化データが得られる。この可変長符号化処理では、ゼロランレングスによる符号化（連続するＮ（２以上の整数）個の予測誤差がゼロである場合に、ＺＥＲＯ＝Ｎと符号化すること）を含んだエントロピ符号化アルゴリズムを採用すれば良い。圧縮率をより高めるためである。なお、エントロピ符号化アルゴリズムの一例としては、ハフマン符号化アルゴリズムが挙げられる。
【００１６】
画像処理ＬＳＩ３００において、ＣＰＵＩ／Ｆ（インタフェース）３０１は、ＣＰＵ４０２から各種の制御情報を受け取る装置である。また、記憶部３０２は、ＣＰＵＩ／Ｆ３０１を介してＣＰＵ４０２から与えられる制御情報を記憶する装置であり、例えばＲＡＭ（Random Access Memory）により構成されている。ＣＰＵ４０２から与えられる制御情報には、復号化および再生の対象であるスプライト画像の圧縮符号化データについてのスプライトパターンメモリ４０１内の格納先アドレス、モニタ４０３の表示画面におけるスプライト画像の表示位置、スプライト画像の拡大・縮小に関する指示等が含まれる。
【００１７】
制御部３０３は、記憶部３０２に記憶された各種の制御情報に従って画像処理ＬＳＩ３００内の各部の制御を行う制御中枢である。パターンメモリＩ／Ｆ３０４は、制御部３０３による制御の下、スプライトパターンメモリ４０１からスプライト画像の圧縮符号化データを読み出す装置である。パターンデータデコーダ３０５は、制御部３０３による制御の下、スプライトパターンメモリ４０１からパターンメモリＩ／Ｆ３０４を介してスプライト画像の圧縮符号化データを受け取って復号化を行い、圧縮符号化前の画像データを出力する装置である。このパターンデータデコーダ３０５と、スプライトレンダリングプロセッサ３０６と、ラインバッファ３０７Ａおよび３０７Ｂは、制御部３０３による制御の下、１ライン単位（１水平走査線単位）で、モニタ４０３に表示させるスプライト画像の画像データを生成し、その画像データをモニタ４０３の表示画面に反映させる処理を行う。つまり、画像処理ＬＳＩ３００は、１ライン単位で画像の再生を行うラインバッファ方式の画像処理装置である。
【００１８】
より詳細に説明すると、ラインバッファ３０７Ａおよび３０７Ｂは、モニタ４０３の１ライン分の画像データを記憶する容量を各々有している。制御部３０３は、これらのラインバッファ３０７Ａおよび３０７Ｂを交互に使用し、例えばラインバッファ３０７Ａ内の１ライン分の画像データがモニタ４０３に表示される期間には、次の１ライン分の画像データをラインバッファ３０７Ｂに書き込むレンダリングをスプライトレンダリングプロセッサ３０６に実行させ、ラインバッファ３０７Ｂ内の１ライン分の画像データがモニタ４０３に表示される期間には、次の１ライン分の画像データをラインバッファ３０７Ａに書き込むレンダリングをスプライトレンダリングプロセッサ３０６に実行させる。また、制御部３０３は、スプライトレンダリングプロセッサ３０６が行うレンダリングに間に合うように、レンダリングの対象となる１ライン分のスプライト画像の画像データをパターンデータデコーダ３０５に出力させるための制御を行う。すなわち、１ライン分のスプライト画像の画像データを得るのに必要な圧縮符号化データをスプライトパターンメモリ４０１から読み出してパターンデータデコーダ３０５に供給し、その復号化を行わせるための制御を行うのである。ここで、モニタ４０３の１ラインに複数種類のスプライト画像を表示させる場合もある。そのような場合、制御部３０３は、表示対象である全てのスプライト画像の１ライン分の画像データを得るために必要な圧縮符号化データをスプライトパターンメモリ４０１から読み出してパターンデータデコーダ３０５に供給し、その復号化を行わせるための制御を行う。パターンデータデコーダ３０５は、１ライン分の画像データを得るために必要な圧縮符号化データのデコードを、クロックジェネレータ（図１では図示略）から与えられるシステムクロックをトリガとして行う。ただし、本実施形態では、１クロックの間に従来よりも多数の画素をデコードすることができるようにパターンデータデコーダ３０５の構成を工夫した点に特徴があり、このパターンデータデコーダ３０５の構成については後に詳細に説明する。
【００１９】
表示コントローラ３０８、画像データコントローラ３０９およびモニタＩ／Ｆ３１０は、ラインバッファ３０７Ａおよび３０７Ｂから交互に１ライン分の画像データを読み出してモニタ４０３に供給し、モニタ４０３に画像を表示させる手段である。さらに詳述すると、表示コントローラ３０８は、垂直同期信号および水平同期信号をモニタＩ／Ｆ３１０を介してモニタ４０３に供給するとともに、水平同期信号に同期して、画像データコントローラ３０９に画像データの読み出し指令を送る。画像データコントローラ３０９は、画像データの読み出し指令を受け取る毎に、ラインバッファ３０７Ａおよび３０７Ｂを交互に選択し、選択したラインバッファから１ライン分の画像データを読み出し、モニタＩ／Ｆ３１０を介してモニタ４０３に送る。
以上が画像処理ＬＳＩ３００の構成である。
【００２０】
図２は、パターンデータデコーダ３０５の構成例を示すブロック図である。
図２に示すように、パターンデータデコーダ３０５は、可変長復号化部３０５２と逆予測符号化部３０５４とを含んでいる。可変長復号化部３０５２は、パターンメモリＩ／Ｆ３０４を介して与えられる圧縮符号化データに、前述した可変長符号化処理の逆演算である可変長復号化処理を施して予測符号化データを復元し、逆予測符号化部３０５４に与える。
【００２１】
逆予測符号化部３０５４は、可変長復号化部３０５２から与えられる予測符号化データに対して、前述した予測符号化処理の逆演算である逆予測符号化処理を施して画像データを復元し、その画像データを出力する。図２に示すように、逆予測符号化部３０５４は、第１逆予測符号化部５４２と、第２逆予測符号化部５４４とを含んでいる。第１逆予測符号化部５４２は、可変長復号化部３０５２により得られた予測符号化データの示す予測誤差がゼロではない画素、または予測誤差がゼロであるものの両隣の画素の予測誤差がゼロではない画素の逆予測符号化（予測値算出処理および加算処理）を一画素単位で行う。一方、第２逆予測符号化部５４４は、各々の予測誤差がゼロである連続する２つの画素（水平方向に並んだ画素）の逆予測符号化を一括して行う。
【００２２】
例えば、図３（Ａ）に示す画素Ｍｘ１〜Ｍｘ３が逆予測符号化の処理対象である場合、予測符号化データの示す予測誤差Ｄｉｆｆ１〜Ｄｉｆｆ３の何れもがゼロではない場合には、図３（Ｂ）に示すように、従来と同様に１クロックの間に第１逆予測符号化部５４２を３回駆動させて画素Ｍｘ１〜Ｍｘ３の逆予測符号化を画素の配列順に一画素ずつ行う。しかし、本実施形態の第１逆予測符号化部５４２は、本発明の特徴を顕著に示す方法で各画素の逆予測符号化を行うように構成されているため、従来に比較してより多くの画素を１クロックの間にデコードすることができるのである。
【００２３】
これに対して、Ｄｉｆｆ１およびＤｉｆｆ２がゼロであり、Ｄｉｆｆ３がゼロではない場合には、図３（Ｃ）に示すように、逆予測符号化部３０５４は、第２逆予測符号化部５４４を駆動させ画素Ｍｘ１およびＭｘ２の逆予測符号化を一括して行った後に第１逆予測符号化部５４２を駆動させ、画素Ｍｘ３の逆予測符号化を行う。このように、本実施形態では、予測誤差が０である連続する２つの画素については逆予測符号化を一括して行うことで処理を高速化しているため、空いた時間で後続の画素のデコードが可能となり、１クロックの間にデコード可能な画素数が増加するのである。なお、Ｋ（Ｋは３以上の整数）個の連続する画素について予測符号化データの表す予測誤差がゼロである場合に、Ｋを２で割った商の回数だけ第２逆予測符号化部５４４を駆動させた後に、Ｋを２で割った場合の余りの回数だけ第１逆予測符号化部５４２を駆動させるようにすれば良い。以下、第１逆予測符号化部５４２および第２逆予測符号化部５４４を中心に説明する。
【００２４】
図４は、第１逆予測符号化部５４２の構成例を示すブロック図である。
図４に示すように第１逆予測符号化部５４２は、７個の全加算器（全加算器５４２０１〜５４２０７）、３個のレジスタ（レジスタ５４２０８〜５４２１０）、連接演算器５４２１１およびセレクタ５４２１２を含んでいる。以下では、前掲図３（Ａ）に示す画素Ｍｘ１をデコードする場合を例にとって、第１逆予測符号化部５４２の各構成要素が担う役割を説明する。
【００２５】
前掲図８（Ａ）を参照して説明したように、処理対象画素の画素値の予測値は３つの周辺画素の画素値の大小関係から定まる。図３（Ａ）の画素Ｍｘ１が処理対象画素である場合、同図３（Ａ）の画素Ｍａ１、画素Ｍｃ１および画素Ｍｂ１が周辺画素となる。図４の全加算器５４２０１、５４２０２および５４２０３は、周辺画素の画素値の大小関係を判定する比較器の役割を果たす。より詳細に説明すると、全加算器５４２０１は、画素Ｍｃ１の画素値Ｘｃ１から画素Ｍａ１の画素値Ｘａ１を減算して得られる値Ｘｃ１ａ１を算出して出力し、全加算器５４２０２は画素Ｍｂ１の画素値Ｘｂ１から画素値Ｘａ１を減算して得られる値Ｘｂ１ａ１を算出して出力し、全加算器５４２０３は画素値Ｘｃ１から画素値Ｘｂ１を減算して得られる値Ｘｃ１ｂ１を算出して出力する。図４に示すように、全加算器５４２０１の出力データＸｃ１ａ１と全加算器５４２０２の出力データＸｂ１ａ１は連接演算器５４２１１に与えられ、全加算器５４２０３の出力データＸｃ１ｂ１はレジスタ５４２０８による出力タイミングの調整を経て連接演算器５４２１１に与えられる。全加算器５４２０３の出力データＸｃ１ｂ１についてのみレジスタ５４２０８による出力タイミングの調整を行う理由については後に明らかにする。
【００２６】
連接演算器５４２１１は、全加算器５４２０１、５４２０２および５４２０３の各々の出力データの符号ビットの値の組み合わせに応じて、表１に示す２ビットの制御信号Ｓ１をセレクタ５４２１２に与える。例えば、連接演算器５４２１１は、出力データＸｃ１ｂ１、Ｘｃ１ａ１およびＸｂ１ａ１の各々の符号ビットが０の場合（すなわち、各出力データが非負の値である場合）、または出力データＸｃ１ｂ１、Ｘｃ１ａ１およびＸｂ１ａ１の各々の符号ビットが１の場合（すなわち、各出力データが負の値である場合）は、値が“００”である２ビットの制御信号Ｓ１をセレクタ５４２１２に与える、といった具合である。
【表１】
2010278567.tif 000003
【００２７】
全加算器５４２０６は、画素値Ｘａ１に予測誤差Ｄｉｆｆ１を加算した値Ｘａ１＿Ｄｉｆｆ＝Ｘａ１＋Ｄｉｆｆ１を算出し、セレクタ５４２１２に出力する。全加算器５４２０４は、画素値Ｘｂ１に予測誤差Ｄｉｆｆ１を加算し、その加算結果から画素値Ｘｃ１を減算して得られる値Ｗ＿Ｄｉｆｆ＝画素値Ｘｂ１−画素値Ｘｃ１＋Ｄｉｆｆ１を算出して出力する。全加算器５４２０４の出力データＷ＿Ｄｉｆｆはレジスタ５４２０９による出力タイミングの調整を経て全加算器５４２０７に与えられる。全加算器５４２０７は、レジスタ５４２０９を介して与えられる出力データＷ＿Ｄｉｆｆに画素値Ｘａ１を加算した値Ｘａ１ｂ１ｃ１＿Ｄｉｆｆ＝画素値Ｘａ１＋画素値Ｘｂ１−画素値Ｘｃ１＋Ｄｉｆｆ１を算出し、セレクタ５４２１２に与える。全加算器５４２０５は、画素値Ｘｂ１に予測誤差Ｄｉｆｆを加算した値Ｘｂ１＿Ｄｉｆｆ＝画素値Ｘｂ１＋Ｄｉｆｆ１を算出して出力する。全加算器５４２０５の出力データＸｂ１＿Ｄｉｆｆは、レジスタ５４２１０による出力タイミングの調整を経てセレクタ５４２１２に与えられる。
【００２８】
セレクタ５４２１２は、連接演算器５４２１１から与えられる制御信号Ｓ１の値に応じて、全加算器５４２０６の出力データＸａ１＿Ｄｉｆｆ、全加算器５４２０７の出力データＸａ１ｂ１ｃ１＿Ｄｉｆｆ、またはレジスタ５４２１０を介して与えられる全加算器５４２０５の出力データＸｂ１＿Ｄｉｆｆの何れかを画素値Ｘｄ１として出力する。より詳細に説明すると、セレクタ５４２１２は、制御信号Ｓ１の信号値が“００”である場合には、画素値Ｘｄ１としてＸａ１＿Ｄｉｆｆを出力し、制御信号Ｓ１の信号値が“０１”である場合には、画素値Ｘｄ１としてＸｂ１＿Ｄｉｆｆを出力し、制御信号Ｓ１の信号値が“１０”である場合には、画素値Ｘｄ１としてＸａ１ｂ１ｃ１＿Ｄｉｆｆを出力する。このようにしてセレクタ５４２１２から出力される画素Ｘｄの画素値は、図示せぬレジスタによる出力タイミングの調整を経て後段の処理回路へ出力される。
【００２９】
例えば、画素値Ｘｃ１＞画素値Ｘａ１＞画素値Ｘｂ１の場合、出力データＸｃ１ｂ１＞０、出力データＸｃ１ａ１＞０、出力データＸｂ１ａ１＜０となるから、出力データＸｃ１ｂ１およびＸｃ１ａ１の符号ビットは０、出力データＸｂ１ａ１の符号ビットは１となり、制御信号Ｓ１は“０１”となる（前掲表１参照）。このため、画素値Ｘｄ１としてＸｂ１＋ｄｉｆｆ１が出力される。画素値Ｘｃ１＞画素値Ｘａ１＞画素値Ｘｂ１の場合とは、画素値Ｘｃ１が最大、かつ、画素値Ｘａ１＞画素値Ｘｂ１の場合であるから、これは前述した（ケース１）の場合に他ならない。また、画素値Ｘａ１＞画素値Ｘｃ１＞画素値Ｘｂ１の場合、出力データＸｃ１ｂ１、Ｘｃ１ａ１、出力データＸｂ１ａ１の各々の符号ビットは、０、１、０となるから、制御信号Ｓ１は“１０”となり、画素値Ｘｄ１として画素値Ｘａ１＋画素値Ｘｂ１−画素値Ｘｃ１＋ｄｉｆｆ１が出力される。画素値Ｘａ１＞画素値Ｘｃ１＞画素値Ｘｂ１の場合とは、画素値Ｘｃ１が最大でもなく、また最小でもない場合であるから、これは前述した（ケース５）に他ならない。このように、本実施形態では、全加算器５４２０１〜５４２０７、連接演算器５４２１１およびセレクタ５４２１２の各々に上述した各演算を行わせることによって、前述した（ケース１）〜（ケース５）までの各出力データが得られる。つまり、全加算器５４２０１〜５４２０７、連接演算器５４２１１およびセレクタ５４２１２の各々に上述した各演算を行わせることは前述した予測値算出処理および加算処理を行うことと同値なのである。
【００３０】
図４のレジスタ５４２０８、５４２０９および５４２１０の各々は、前段の回路から与えられるデータを１クロック遅延させて出力する。このような出力タイミングの調整を行う回路を設けた理由は以下の通りである。逆予測符号化を構成する演算のうち、処理対象の画素と同一のライン上にはない周辺画素（図３（Ａ）では画素Ｘｃ１およびＸｂ１）の画素値のみを参照し、処理対象画素の左の周辺画素（図３（Ａ）では、画素Ｘａ１）の画素値を参照しない演算（具体的には、全加算器５４２０３における演算、全加算器５４２０４における演算、および全加算器５４２０５における演算：以下、「第１の演算」）については、その他の演算（以下、第２の演算）に対して１クロック先行させて実行することが可能である。図４のレジスタ５４２０８、５４２０９および５４２１０の各々は、１クロック先行させて実行される第１の演算の演算結果を第２の演算のために保持しておくために設けられている。
【００３１】
このため、図３（Ｂ）に示すように、第１逆予測符号化部５４２を３回駆動させて画素Ｍｘ１〜Ｍｘ３の逆予測符号化を行う場合であっても、画素値Ｘｄ１〜画素値Ｘｄ３を算出するための演算のうち、上記第１の演算については１つ手前のクロック（例えば、画素Ｍｃ１〜画素Ｍｂ３のデコードを行うクロック）で第２演算に先行して実行される。これにより、３つの画素値を得るための演算時間が短縮され、結果として１クロックあたりに実行可能な逆予測符号化処理の処理回数を従来よりも増加させているのである。
【００３２】
次いで、第２逆予測符号化部５４４について説明する。
図５は、第２逆予測符号化部５４４の構成例を示す図である。図５に示すように、第２逆予測符号化部５４４は、１１個の全加算器（全加算器５４４０１〜５４４１１）と、４個のレジスタ（レジスタ５４４１２〜５４４１５）と、連接演算器５４４１６と、セレクタ５４４１７とを含んでいる。これら各構成要素のうち、レジスタ５４４１２〜５４４１５は、第１逆予測符号化部５４２におけるレジスタ５４２０８〜５４２１０と同様に前述した第１の演算をその他の第２の演算に対して１クロック先行させて行い、その演算結果を保持しておくためのものである。以下、図３（Ａ）においてＤｉｆｆ１＝Ｄｉｆｆ２＝０である場合に、画素Ｍｘ１の画素値Ｘｄ１および画素Ｍｘ２の画素値Ｘｄ２を、画素Ｍｘ１の左の画素Ｍａ１の画素値Ｘａ１、画素Ｍｘ１の左上の画素Ｍｃ１の画素値Ｘｃ１、画素Ｍｘ１の真上（すなわち、画素Ｍｘ２の左上）の画素Ｍｂ１の画素値Ｘｂ１、画素Ｍｘ２の真上の画素Ｍｂ２の画素値Ｘｂ２から一括して算出する手順について説明し、この手順において図５に示す各構成要素が果たす役割を説明する。
【００３３】
Ｄｉｆｆ１＝０である場合、図３（Ａ）の画素Ｍｘ１の画素値Ｘｄ１は、画素Ｍａ１、画素Ｍｃ１および画素Ｍｂ１の各々の画素値の大小関係により定まる予測値と等しくなり（つまり、加算処理は不要）、この予測値は、画素値Ｘａ１、画素値Ｘｂ１、または画素値Ｘａ１＋画素値Ｘｂ１−画素値Ｘｃ１の何れかの値となる。Ｄｉｆｆ２＝０であるから、画素Ｍｘ２の画素値Ｘｄ２についても、画素値Ｘｄ１、画素値Ｘｂ１および画素値Ｘｂ２の大小関係により定まる予測値と等しくなり、この予測値は画素値Ｘｄ１、画素値Ｘｂ２、または画素値Ｘｄ１＋画素値Ｘｂ２−画素値Ｘｂ１の何れかの値となる。ここで、画素値Ｘｄ１については画素値Ｘａ１、画素値Ｘｂ１、または画素値Ｘａ１＋画素値Ｘｂ１−画素値Ｘｃ１の何れかの値となるのであるから、これらの値と画素値Ｘｂ２との間の大小関係の判定と画素値Ｘｄ１の値を求めるための上記３通りの判定とを組み合わせて行えば、画素値Ｘｄ１および画素値Ｘｄ２を一括して算出することができる。
【００３４】
画素値Ｘａ１、画素値Ｘｂ１、または画素値Ｘａ１＋画素値Ｘｂ１−画素値Ｘｃ１の各々（画素値Ｘｄ１の候補となる値）と画素値Ｘｂ１および画素値Ｘｂ２との大小関係の判定と、画素値Ｘｄ１の値を求めるための上記３通りの判定のうち重複するものを除くと、結局、画素値Ｘａ１、画素値Ｘｂ１および画素値Ｘｃ１の各々の間の大小関係の判定、画素値Ｘａ１と画素値Ｘｂ２の大小関係の判定、画素値Ｘｂ１と画素値Ｘｂ２の大小関係の判定、画素値Ｘｂ１と画素値Ｘａ１＋画素値Ｘｂ１−画素値Ｘｃ１の大小関係の判定、画素値Ｘｂ２と画素値Ｘａ１＋画素値Ｘｂ１−画素値Ｘｃ１の大小関係の判定の合計７通りとなる。したがって、これら７通りの判定を行えば、表２および表３に示す要領で画素値Ｘｄ１と画素値Ｘｄ２とを一括して算出することができる。以下の表２および表３においては、画素値の大小関係が判定対象となる２つの値の差の符号ビットで表されている。例えば、表２のＸｂ１ｃ１は画素値Ｘｂ１と画素値Ｘｃ１との差の符号ビットを意味し、この符号ビットがゼロであるということは、画素値Ｘｂ１と画素値Ｘｃ１との差Ｘｂ１−Ｘｃ１が非負の値、すなわち、画素値Ｘｂ１≧画素値Ｘｃ１であることを表す。また、表２および表３において符号ビットの値が空欄となっているものは、符号ビットの値が０または１の何れであっても良いことを示す。なお、前述した第１逆予測符号化部５４２では、画素値Ｘｂ１と画素値Ｘｃ１の大小関係を判定するために、画素値Ｘｃ１から画素値Ｘｂ１を減算して得られる値を算出したが、この第２逆予測符号化部５４４では、画素値Ｘｂ１から画素値Ｘｃ１を減算して得られる値Ｘｂ１ｃ１を算出している点が異なる（Ｘａ１ｃ１についても同様）。これは、以降の処理においてＸｂ１ｃ１およびＸａ１ｃ１を利用するためである。
【表２】
2010278567.tif 000004
【表３】
2010278567.tif 000005
【００３５】
図５の全加算器５４４０１〜５４４０７は、上記７通りの判定に利用するデータを生成するためのものである。例えば、全加算器５４４０１は、前述したＸｂ１ｃ１を算出して出力し、この出力データＸｂ１ｃ１は、レジスタ５４４１２による出力タイミングの調整を経て連接演算器５４４１６および全加算器５４４０９に与えられる。全加算器５４４０２は画素値Ｘｂ２から画素値Ｘｂ１を減算して得られる値Ｘｂ２ｂ１を算出して出力し、この出力データＸｂ２ｂ１はレジスタ５４４１３による出力タイミングの調整を経て連接演算器５４４１６および全加算器５４４１０に与えられる。そして、全加算器５４４０４はＸａ１ｃ１を、全加算器５４４０５はＸｂ１ａ１を、全加算器５４４０６は画素値Ｘｂ２から画素値Ｘａ１を減算して得られる値Ｘｂ２ａ１を各々算出し、その算出結果を示すデータを連接演算器５４４１６に与える。なお、出力データＸａ１ｃ１は、画素値Ｘａ１＋画素値Ｘｂ１−画素値Ｘｃ１と画素値Ｘｂ１との大小関係も表す。画素値Ｘａ１＋画素値Ｘｂ１−画素値Ｘｃ１―画素値Ｘｂ１＝画素値Ｘａ１-画素値Ｘｃ１となるからである。
【００３６】
全加算器５４４０３は、画素値Ｘｂ１から画素値Ｘｃ１と画素値Ｘｂ２とを減算して得られる値Ｘｂ１ｃ１ｂ２を算出して出力する。全加算器５４４０３の出力データＸｂ１ｃ１ｂ２はレジスタ５４４１４による出力タイミングの調整を経て全加算器５４４０７に与えられる。全加算器５４４０７は、レジスタ５４４１４を介して与えられる全加算器５４４０３の出力データＸｂ１ｃ１ｂ２に画素値Ｘａ１を加算し、その加算結果Ｘａ１ｂ１ｃ１ｂ２＝画素値Ｘａ１＋画素値Ｘｂ１−画素値Ｘｃ１−画素値Ｘｂ２を連接演算器５４４１６に与える。全加算器５４４０７の出力データＸａ１ｂ１ｃ１ｂ２は、画素値Ｘａ１＋画素値Ｘｂ１−画素値Ｘｃ１と画素値Ｘｂ２との大小関係を表す。
【００３７】
全加算器５４４０９は、レジスタ５４４１２から与えられる出力データＸｂ１ｃ１と画素値Ｘａ１との和Ｘａ１ｂ１ｃ１＝画素値Ｘａ１＋画素値Ｘｂ１−画素値Ｘｃ１をセレクタ５４４１７に与える。全加算器５４４１０は、レジスタ５４４１３から与えられる出力データＸｂ２ｂ１と画素値Ｘａ１との和Ｘａ１ｂ２ｂ１＝画素値Ｘａ１＋画素値Ｘｂ２−画素値Ｘｂ１をセレクタ５４４１７に与える。全加算器５４４０８は、画素値Ｘｂ２から画素値Ｘｃ１を減算して得られる値Ｘｂ２ｃ１＝画素値Ｘｂ２−画素値Ｘｃ１を算出し、レジスタ５４４１５に与える。全加算器５４４０８の出力データＸｂ２ｃ１はレジスタ５４４１５による出力タイミングの調整を経て全加算器５４４１１に与えられる。全加算器５４４１１は、出力データＸｂ２ｃ１と画素値Ｘａ１との和Ｘａ１ｂ２ｃ１＝画素値Ｘａ１＋画素値Ｘｂ２−画素値Ｘｃ１を算出し、セレクタ５４４１７に与える。
【００３８】
連接演算器５４４１６は、出力データＸｂ１ｃ１、Ｘｂ２ｂ１、Ｘａ１ｃ１、Ｘｂ１ａ１、Ｘｂ２ａ１およびＸａ１ｂ１ｃ１ｂ２の各々の符号ビットの値の組み合わせに応じた値の制御信号Ｓ２を前掲表２および表３にしたがって生成し、セレクタ５４４１７に与える。例えば、連接演算器５４４１６は、出力データＸｂ１ｃ１、Ｘａ１ｃ１、Ｘｂ１ａ１、Ｘｂ２ａ１およびＸｂ２ｂ１の各符号ビットの値がゼロである場合には、画素値Ｘｄ１として画素値Ｘｂ１を出力することおよび画素値Ｘｄ２として画素値Ｘｂ２を出力することを指示する旨の値の制御信号Ｓ２をセレクタ５４４１７に与える、といった具合である。セレクタ５４４１７には、制御信号Ｓ２の他に、出力データＸａ１ｂ１ｃ１、Ｘａ１ｂ２ｂ１、およびＸａ１ｂ２ｃ１と、画素値Ｘａ１、画素値Ｘｂ１および画素値Ｘｂ２とが入力データとして与えられる。セレクタ５４４１７は、連接演算器５４４１６から与えられる制御信号Ｓ２の値に応じて画素値Ｘｄ１および画素値Ｘｄ２を出力する。
【００３９】
以上説明したように、第２逆予測符号化部５４４によれば、画素値Ｘａ１、画素値Ｘｃ１、画素値Ｘｂ１および画素値Ｘｂ２を用いて画素Ｍｘ１および画素Ｍｘ２の逆予測符号化が一括して行われる。加えて、上記各処理では、画素Ｍｘ１および画素Ｍｘ２の逆予測符号化に要する演算のうち画素Ｘａ１のデコード結果とは無関係に行える第１の演算を１つ手前のクロックで行い、その演算結果を保持しておくことにより、１クロックあたりに実行可能な予測値算出処理および加算処理の処理回数を増加させ、１クロックで一度にデコード可能な画素数を増加させることができるのである。
【００４０】
以上、本発明の一実施形態について説明したが、この実施形態に以下に述べる変形を加えても勿論良い。
（１）上述した実施形態では、予測誤差がゼロである連続する２つの処理対象画素の逆予測符号化を一括して行う場合について説明したが、これは見方を変えると、予測誤差がゼロである連続する２つの処理対象画素のうちの右側のものの逆予測符号化を、各処理対象画素の真上に位置する画素の画素値、左側の処理対象画素の左隣および左上に位置する画素の画素値に基づいて、当該左側の処理対象画素の逆予測符号化とは無関係に行うことができること、および、表２および表３を参照すれば明らかように、当該右側の処理対象画素の逆予測符号化の実行過程でその左側の処理対象画素の画素値も必然的に求まることを意味する。
【００４１】
そして、このことは、「水平方向に並んだＮ（Ｎは２以上の整数）個の処理対象画素の予測誤差が全てゼロである場合、各処理対象画素の真上に位置する各画素の画素値、それらＮ個の処理対象画素の左端に位置するものの左隣および左上に位置する各画素の画素値から右端の処理対象画素の画素値を算出することができ、その算出過程で、他のＮ−１個の処理対象画素の画素値も必然的に求まる。」というように一般化することができる。より具体的には、水平方向に並んだＮ（Ｎは２以上の整数）個の処理対象画素の予測誤差が全てゼロである場合、各処理対象画素の真上に位置する各画素の画素値、それらＮ個のうちの左端の処理対象画素の左上および左隣に位置する各画素の画素値、およびこれらの各画素値から算出される上記Ｎ−１個の処理対象画素の各々の画素値の候補となる値（例えば表２および表３における、画素値Ｘａ１+画素値Ｘｂ１−画素値Ｘｃ１）の大小関係を判定することで、上記Ｎ個の処理対象画素の右端のものの画素値を算出することができ、その算出過程で他のＮ−１個の処理対象画素の画素値も必然的に定まる。その理由は、以下の通りである。
【００４２】
まず、Ｎ＝２の場合に上記一般化が成り立つことは、第２逆予測符号化部５４４について説明したことから明らかである。
次に、Ｎ＝ｋの場合に、上記一般化が成り立つと仮定してＮ＝ｋ＋１の場合について考察する。具体的には、図３（Ａ）に示す画素Ｍｘ１〜Ｍｘｋ＋１の各々について予測誤差Ｄｉｆｆ１〜Ｄｉｆｆｋ＋１がゼロである場合に、画素Ｍａ１、画素Ｍｃ１、画素Ｍｂ１〜画素Ｍｂｋ＋１の各々の画素値に基づいて画素Ｍｘｋ＋１の画素値を求めることができるのか否かについて考察する。図３（Ａ）において、画素Ｍｘｋ＋１の画素値は、画素Ｍｘｋ、画素Ｍｂｋおよび画素Ｍｂｋ＋１の各々の画素値の大小関係から求めることができる。一方、画素Ｍｘｋの画素値は、上記仮定より、画素値Ｘａ１、画素値Ｘｃ１、画素値Ｘｂ１〜Ｘｂｋ、およびこれらの画素値から算出される画素Ｍｘ１〜画素Ｍｘｋ−１の各々の画素値の候補となる値の大小関係を判定することにより求めることができる。このようにして求まる画素Ｍｘｋの画素値は、画素値Ｘａ１、画素値Ｘｃ１、画素値Ｘｂ１〜Ｘｂｋから算出される当該画素Ｍｘｋの画素値の候補となる値に当然含まれている。したがって、画素値Ｘａ１、画素値Ｘｃ１、画素値Ｘｂ１〜Ｘｂｋ、およびこれらの画素値から算出される画素Ｍｘ１〜画素Ｍｘｋ−１の各々の画素値の候補となる値、画素Ｍｘｋの画素値の候補となる値、および画素値Ｘｂｋ＋１の各々の大小関係を判定すれば、画素Ｍｘｋ＋１の画素値が求まり、画素Ｍｘｋの画素値も求まる。そして、上記仮定より、画素Ｍｘｋの画素値が求まれば、画素Ｍｘ１〜画素Ｍｘｋ−１の各々の画素値も必然的に求まる。このように、Ｎ＝ｋのときに上記一般化が成り立つと仮定するとＮ＝ｋ＋１のときも上記一般化は成り立つのであるから、所謂数学的帰納法により、２以上の任意の整数Ｎについて上記一般化は成り立つ。なお、上記のように一般化できるとは言っても、Ｎの値が大きくなると、各々の予測誤差がゼロである水平方向に並んだＮ個の処理対象画素の逆予測符号化を行う回路の回路規模は大きくなる。したがって、予測誤差がゼロである水平方向に並んだ複数の処理対象画素のうちの何個を一括して逆予測符号化するのかについては回路規模との関係で適宜定めれば良い。
【００４３】
例えば、図３（Ａ）において、Ｄｉｆｆ１＝Ｄｉｆｆ２＝Ｄｉｆｆ３＝０である場合に、画素Ｍｘ３の画素値Ｘｄ３については、画素値Ｘａ１、画素値Ｘｃ１、画素値Ｘｂ１、画素値Ｘｂ２および画素値Ｘｂ３を用いて以下の式（１）〜式（１８）に示す演算を行い、それら演算結果に基づいて図６に示す要領で求めることができる。図６を参照すれば明らかように、α１は、画素Ｍｘ１または画素Ｍｘ２の画素値の候補となる値であり、α２およびα５は画素Ｍｘ２の画素値の候補となる値である。また、画素値Ｘｄ３の算定過程で画素値Ｘｄ１および画素値Ｘｄ２が必然的に求まることは図６に示す通りである。なお、図６におけるα１と画素値Ｘｂ１の大小関係についてはＸａ１ｃ１の符号ビットの値に基づいて定めれば良い。これは、α１−画素値ｘｂ１を計算するとＸａ１ｃ１に等しくなるからである。同様に、α２と画素値Ｘｂ１の大小関係についてはＸａ１ｂ１の符号ビットの値に基づいて判定すれば良く、α５と画素値Ｘｂ２の大小関係についてはＸａ１ｃ１の符号ビットの値に基づいて判定すれば良い。また、図６において、画素値Ｘｃ１（処理対象画素に対して左上に位置する画素）の状態がＭＩＮであるとは、画素値Ｘｃ１＜画素値Ｘｂ１かつ画素値Ｘｃ１＜画素値Ｘａ１の場合をいい、画素値Ｘｃ１の状態がＭＡＸであるとは、画素値Ｘｃ１＞画素値Ｘｂ１かつ画素値Ｘｃ１＞画素値Ｘａ１の場合をいい、画素値Ｘｃ１の状態がＭＩＤＬＬＥとはその何れでもない場合をいう。画素値Ｘｂ１、画素値Ｘｂ２についても同様に、これらが処理対象画素に対して左上に位置している場合に、他の周辺画素に対して最大であるのか、最小であるのか、何れでもないのか、を意味している。
【００４４】
Ｘｂ１ｃ１＝画素値Ｘｂ１−画素値Ｘｃ１・・・（１）
Ｘａ１ｃ１＝画素値Ｘａ１−画素値Ｘｃ１・・・（２）
Ｘｂ１ａ１＝画素値Ｘｂ１−画素値Ｘａ１・・・（３）
Ｘｂ２ｂ１＝画素値Ｘｂ２−画素値Ｘｂ１・・・（４）
Ｘｂ２ａ１＝画素値Ｘｂ２−画素値Ｘａ１・・・（５）
Ｘｂ３ｂ２＝画素値Ｘｂ３−画素値Ｘｂ２・・・（６）
Ｘｂ３ａ１＝画素値Ｘｂ３−画素値Ｘａ１・・・（７）
α１＝画素値Ｘａ１＋画素値Ｘｂ１−画素値Ｘｃ１・・・（８）
α２＝画素値Ｘａ１＋画素値Ｘｂ２−画素値Ｘｂ１・・・（９）
α３＝画素値Ｘａ１＋画素値Ｘｂ３−画素値Ｘｂ２・・・（１０）
α４＝画素値Ｘａ１−画素値Ｘｂ１＋画素値Ｘｂ２・・・（１１）
α５＝画素値Ｘａ１−画素値Ｘｃ１＋画素値Ｘｂ２・・・（１２）
α６＝画素値Ｘａ１＋画素値Ｘｂ１−画素値Ｘｃ１−画素値Ｘｂ３−画素値Ｘｂ２・・・（１３）
α７＝画素値Ｘａ１−画素値Ｘｃ１＋画素値Ｘｂ３・・・（１４）
α１Ｘｂ２＝画素値Ｘａ１＋画素値Ｘｂ１−画素値Ｘｃ１−画素値Ｘｂ２・・・（１５）
α１Ｘｂ３＝画素値Ｘａ１＋画素値Ｘｂ１−画素値Ｘｃ１−画素値Ｘｂ３・・・（１６）
α２Ｘｂ３＝画素値Ｘａ１＋画素値Ｘｂ２−画素値Ｘｂ１−画素値Ｘｂ３・・・（１７）
α５Ｘｂ３＝画素値Ｘａ１−画素値Ｘｃ１＋画素値Ｘｂ２−画素値Ｘｂ３・・・（１８）
【００４５】
（２）上述した実施形態では、水平方向に並んだ２つの画素の予測誤差が何れもゼロである場合には、それら２つの画素の逆予測符号化を一括して行ったが、これら２つの画素のうち右側のものについての逆予測符号化を第２逆予測符号化部５４４により行うとともに、これと並列に、同左側の画素の逆予測符号化を第１逆予測符号化部５４２により行うとしても勿論良い。つまり、水平方向に並んだＮ（Ｎは２以上の整数）個の処理対象画素の予測誤差が全てゼロである場合、各処理対象画素の真上に位置する各画素の画素値、それらＮ個のうちの左端の処理対象画素の左上および左隣に位置する各画素の画素値から右端の処理対象画素の画素値を算出する処理のみを第２逆予測符号化部５４４２に行わせ、他のＮ−１個の処理対象画素については他の方法によりデコードする（例えば、第１逆予測符号化部５４２をＮ−１回駆動する）ようにしても勿論良い。
【００４６】
（３）図７（Ａ）〜図７（Ｎ）は、予測誤差がゼロである連続する３つの画素についての逆予測符号化の結果を示す図である。ここで、注目すべき点は、逆予測符号化対象の３つの画素のうち左端に位置するものの画素値が当該画素の真上に位置する画素の画素値となる場合には、後続する各処理対象画素の画素値も各々の真上に位置する画素の画素値となる点である（図７（Ａ）参照）。これは、左端に位置する画素の画素値がその真上に位置する画素の画素値となると、その右隣の画素については左隣の画素の画素値と左上の画素の画素値が等しくなり、前述した（ケース１）または（ケース３）の何れかの状況しか生じず、その何れの場合であっても当該画素の画素値はその真上の画素の画素値となるからである。
【００４７】
換言すれば、連続する複数の処理対象画素の各々についての予測誤差がゼロであり、かつ、それら処理対象画素のうちの何れかについて画素値がその真上に位置する画素の画素値と等しくなる場合には、それよりも右側の処理対象画素については（ケース１）または（ケース３）の何れかの状況しか生じないのであるから、以降の処理対象画素の画素値は各々の真上に位置する画素の画素値と等しくなる。この点に着目し、連続する複数の処理対象画素の各々についての予測誤差がゼロであり、かつ、それら処理対象画素のうちの何れかについて画素値がその真上に位置する画素の画素値と等しくなる場合には、以降の画素について各々の真上に位置する画素の画素値を出力する回路を逆予測符号化部３０５４に設けても良い。このようにすることで、１クロックの間にデコード可能な画素数をさらに増加させることが可能になる。
【００４８】
（４）上述した実施形態では、予測符号化と可変長符号化とを併用した圧縮符号化アルゴリズムにより圧縮符号化された画像データをデコードするパターンデータデコーダ３０５の逆予測符号化部３０５４に本発明を適用した。しかし、可変長復号化部３０５２は本発明の必須要件ではないから、画像データに予測符号化を施して得られる予測符号化データから画像データを復元する復号装置（逆予測符号化装置）に本発明を適用しても勿論良い。また、画像データに圧縮符号化を施す際の予測符号化を担当する予測符号化装置に本発明を適用しても勿論良い。
【００４９】
（５）上述した実施形態では、逆予測符号化部３０５４を全加算器やレジスタなどの電子回路（ハードウェア）で構成したが、パターンデータデコーダ３０５をＤＳＰで構成し、このＤＳＰを可変長復号化部３０５２および逆予測符号化部３０５４として機能させるプログラム（例えば、画像処理ＬＳＩのファームウェアなど）を提供しても良く、また、このようなプログラムをＣＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体に書き込んで配布、或いはインターネットなどの電気通信回線経由のダウンロードにより配布しても良い。
【００５０】
（６）上述した実施形態においては、第２逆予測符号化部５４４における演算においても第１の演算を第２の演算に１クロック先行させて実行させたが、第２逆予測符号化部５４４における演算においては第１の演算を第２の演算に対して先行させて行うことは必ずしも必須ではない。また、第１逆予測符号化部５４２における演算において第１の演算を第２の演算に先行させて実行させる場合に、２クロックなど複数クロック先行させても勿論良い。また、上述した実施形態では、可変長符号化としてゼロランレングス符号化を含んだエントロピ符号化を行ったが、これは圧縮率向上のためであり、必ずしもゼロランレングス符号化が必要なわけではない。
【符号の説明】
【００５１】
３００…画像処理ＬＳＩ、３０１…ＣＰＵＩ／Ｆ、３０２…記憶部、３０３…制御部、３０４…パターンメモリＩ／Ｆ、３０５…パターンデータデコーダ、３０５２…可変長復号化部、３０５４…逆予測符号化部、５４２…第１逆予測符号化部、５４２…第２逆予測符号化部、３０６…スプライトレンダリングプロセッサ、３０７Ａ，３０７Ｂ…ラインバッファ、３０８…表示コントローラ、３０９…画像データコントローラ、３１０…モニタＩ／Ｆ、４０１…スプライトパターンメモリ、４０２…ＣＰＵ、４０３…モニタ。
【図１】
2010278567.tif 000006
【図２】
2010278567.tif 000007
【図３】
2010278567.tif 000008
【図４】
2010278567.tif 000009
【図５】
2010278567.tif 000010
【図６】
2010278567.tif 000011
【図７】
2010278567.tif 000012
【図８】
2010278567.tif 000013