(57)【要約】【課題】ＪＰＥＧ画像についてスケーリングやフィルタリング等の画像処理を施す場合、解凍・再圧縮により画質が劣化してしまう。【解決手段】離散コサイン変換によって周波数領域化された画像の周波数データをコーディングした圧縮データに対して画像処理を施す際に、前記圧縮データをデコードして前記周波数データを得るデコード工程（Ｓ４００）と、該周波数データに対し、所定の変換関数に基づいて画像処理を施す画像処理工程（Ｓ４０１）と、前記画像処理後の周波数データをコーディングするエンコード工程（Ｓ４０２）と、を備えることを特徴とする。なお、前記変換関数は、周波数空間上における行列の乗算処理として表現される。【選択図】    図４
2005020096.tif 000002
【特許請求の範囲】
【請求項１】
離散コサイン変換によって周波数領域化された画像の周波数データをコーディングした圧縮データに対して画像処理を施す画像処理方法であって、
前記圧縮データをデコードして前記周波数データを得るデコード工程と、
該周波数データに対し、所定の変換関数に基づいて画像処理を施す画像処理工程と、
前記画像処理後の周波数データをコーディングするエンコード工程と、
を備えることを特徴とする画像処理方法。
【請求項２】
前記画像処理工程における変換関数は、周波数空間上における行列の乗算処理として表現されることを特徴とする請求項１記載の画像処理方法。
【請求項３】
前記画像処理工程において、前記画像処理はスケーリング処理であることを特徴とする請求項２記載の画像処理方法。
【請求項４】
前記画像処理工程において、前記画像処理はフィルタリング処理であることを特徴とする請求項２記載の画像処理方法。
【請求項５】
前記画像処理工程において、前記画像処理はスケーリング処理およびフィルタリング処理であることを特徴とする請求項２記載の画像処理方法。
【請求項６】
前記画像処理工程においては、画像処理前と同様の周波数特性からなる周波数データを得ることを特徴とする請求項１乃至５のいずれかに記載の画像処理方法。
【請求項７】
前記画像処理工程においては、前記周波数データに対し、複数の変換関数に基づいて画像処理を施すことを特徴とする請求項６記載の画像処理方法。
【請求項８】
前記画像処理工程においては、
前記周波数データのうち、０成分についてはその並び数分だけ前記画像処理を省き、それ以外の数値データを順次変換関数に代入して演算する
ことを特徴とする請求項１乃至７のいずれかに記載の画像処理方法。
【請求項９】
離散コサイン変換によって周波数領域化された画像の周波数データをコーディングした圧縮データに対して画像処理を施す画像処理装置であって、
前記圧縮データをデコードして前記周波数データを得るデコード手段と、
該周波数データに対し、所定の変換関数に基づいて画像処理を施す画像処理手段と、
前記画像処理後の周波数データをコーディングするエンコード手段と、
を備えることを特徴とする画像処理装置。
【請求項１０】
コンピュータに読み出されて実行されることによって、離散コサイン変換によって周波数領域化された画像の周波数データをコーディングした圧縮データに対して画像処理を施す画像処理プログラムであって、
前記圧縮データをデコードして前記周波数データを得るデコード工程のコードと、
該周波数データに対し、所定の変換関数に基づいて画像処理を施す画像処理工程のコードと、
前記画像処理後の周波数データをコーディングするエンコード工程のコードと、
を備えることを特徴とするプログラム。
【請求項１１】
請求項１０記載のプログラムを記録したことを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、周波数領域化された画像信号に対する画像処理技術に関する。
【０００２】
【従来の技術】
近年、電子画像の高画質・高解像度化に伴い、画像情報量は増加の一途を辿っている。そのため、画像情報量を小さくする画像圧縮技術の開発も盛んに行われており、特に、画像信号を離散コサイン変換によって周波数領域化し、さらに量子化してコード化するＪＰＥＧ圧縮が知られており、画像処理システム内の各技術分野に限らず、一般的にもよく使用されている。
【０００３】
今後も、画像データは圧縮された状態でネットワーク上の一般ＰＣ、もしくはファイルサーバ上などに保存されている場合が多くなることが予想される。また、高解像度化等のために大容量化した画像データを、ネットワークを介して受け渡すことが頻繁に行われることが考えられ、そのような画像データに対して所望の処理を施し、該処理後の画像データを、ネットワーク上の個人ＰＣもしくはファイルサーバへ搬送したり、またはモニタやプリンタなどの出力装置へ排出するような、画像処理システムの構築が望まれる。
【特許文献１】
米国特許第５，２６２，８５４号
【０００４】
【発明が解決しようとする課題】
上述したような画像処理システムを構築する場合、従来では、実時間を前提としたハードウェアに依存した構築が行われる。しかし、そのような画像処理システムでは、システムが煩雑となる可能性が考えられる。このような問題を解決するために、汎用コンピュータ上で所望の処理が簡単に行うことが可能になれば、より汎用性を持つシステムが実現される。高解像度の画像をソフトウェアにて処理する場合、特にその処理速度が課題であり、特にＪＰＥＧ画像では圧縮・解凍処理の重さが問題となる。
【０００５】
ＪＰＥＧ画像の圧縮・解凍処理を高速処理する方法としては、離散コサイン変換の性質を利用し、バタフライ演算を用いて演算効率を上げる方法などが知られている。この手法によれば、並列演算処理を利用することによってさらなる高速化が可能である。また、ＪＰＥＧ画像を簡便かつ高速に処理する手法として、解凍しない状態、つまり周波数空間上でスケーリング処理やフィルタリング処理を行う手法が知られている（例えば、特許文献１参照。）。
【０００６】
しかしながらこれらの手法において周波数空間上での処理は、解凍した際に所望の実空間画像を得ることが目的であって、ＪＰＥＧ圧縮データを得ることを目的とはしていないため、スケーリング処理後の周波数成分は、ＪＰＥＧに規定されたブロックサイズ（８Ｘ８）から変化していたり、処理後のデータが既に実空間上の画像データとなってしまったりする。また、実空間で行う処理と比べ、処理効率は良いものの画質が劣化してしまうという問題があった。
【０００７】
特にＪＰＥＧ画像については、解凍・再圧縮により画質が劣化するという問題がある。画像を常にＪＰＥＧ圧縮画像として扱うシステムの構築する上で、処理するたびに画質が劣化してしまっては、その処理回数が制限されてしまうため、画質を保証するアルゴリズムが望まれる。
【０００８】
本発明は、上述した問題を解決するためになされたものであり、ＪＰＥＧ圧縮画像に対する画像処理を高速に行い、かつ高画質なＪＰＥＧ画像を出力することを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するための一手段として、本発明の画像処理方法は以下の工程を備える。
【００１０】
すなわち、離散コサイン変換によって周波数領域化された画像の周波数データをコーディングした圧縮データに対して画像処理を施す画像処理方法であって、前記圧縮データをデコードして前記周波数データを得るデコード工程と、該周波数データに対し、所定の変換関数に基づいて画像処理を施す画像処理工程と、前記画像処理後の周波数データをコーディングするエンコード工程と、を備えることを特徴とする。
【００１１】
【発明の実施の形態】
本発明は、離散コサイン変換によって周波数領域化された画像の周波数データをコーディングした圧縮データに対して画像処理を施す画像処理方法であって、圧縮データをデコードして前記周波数データを得、該周波数データに対し、所定の変換関数に基づいて画像処理を施し、該画像処理後の周波数データをコーディングするものであり、変換関数は、周波数空間上における行列の乗算処理として表現される。
【００１２】
本実施形態の画像処理としては、スケーリング処理およびフィルタリング処理のいずれか、または両方が考えられ、該画像処理によって、画像処理前と同様の周波数特性からなる周波数データが得られる。なお、複数の変換関数に基づいて画像処理を施すこともある。
【００１３】
このような本発明は、具体的に願書に添付する図面に示す構成及び処理において、以下の実施形態と対応して実現できる。
【００１４】
本発明はまた、汎用コンピュータによるシステム上、または専用画像処理システム上で、あるいは画像処理用ソフトウェアの形態で、またはデジタル画像処理を含むデバイス・ドライバおよび他のアプリケーションの形態で、実施することができる。以下に示す実施形態ではその一例として、本発明が汎用コンピュータ上で実行するプログラムとして実現される例について説明する。
【００１５】
＜第１実施形態＞
●システム構成
【００１６】
図１は、本実施形態が適用されるコンピュータシステム１００の構成を示すブロック図である。コンピュータシステム１００は、入力装置１１０、出力装置１１１、および１つまたは複数のディスクドライブ１１７、と接続したコンピュータ１０１を含む。入力装置１１０は、例えばスキャナ、ＣＣＤカメラ、ＣＤ−ＲＯＭドライブ、デジタルカメラ等であり、１台または複数台であっても良い。出力装置１１１は、プリンタ、モニタ等であり、入力装置１１０と同様に１台または複数台であっても良い。
【００１７】
コンピュータシステム１００は、コンピュータ１０１内に通信装置１１６を有し、ネットワーク１２０を介して外部のコンピュータシステム群１２３，１２４やファイルサーバ１２１、ネットワークプリンタ等の出力装置１２２とデータの受け渡しを可能とする。
【００１８】
コンピュータ１０１は、ＣＰＵ１１４およびランダムアクセスメモリ（ＲＡＭ）１１３を含み、更に読み取り専用メモリ（ＲＯＭ）１１５を含む場合もある。これら諸装置は、バスを介して相互に接続される。
【００１９】
コンピュータシステム１００がデジタル画像処理システム（以下、単に画像処理システム）として動作する際には、処理対象となるデジタル画像はコンピュータ１０１へ入力される。このデジタル画像は、スキャナ、フォトＣＤ、デジタルカメラ等の入力装置１１０から得られる画像、またはネットワーク１２０上のファイルサーバ１２１、他のコンピュータシステム１２３，１２４より得られる画像、あるいは既にディスクドライブ１１７内に蓄えられている画像等、複数の画像源から得られる。
【００２０】
高解像度化等によってデータサイズが長大化してしまった画像データを、バス１１８やネットワーク１２０上を移動させる際には、そのままのデータ形態では不適切であり、入力装置１１０から得られる画像やネットワーク１２０を介して得られる画像については圧縮する必要がある。一般に、このようなネットワーク１２０を介して入力される画像は、例えばＪＰＥＧ形式等によって既に圧縮されている場合が多い。本実施形態は、ＪＰＥＧ圧縮された画像データに対して、簡便かつ高速にスケーリング処理やフィルタリング処理を施すことを目的とするため、各種画像源より得られる画像は、ＪＰＥＧ圧縮されているものとする。
【００２１】
図２は、本実施形態の画像処理システムにおける処理の流れを示すフローチャートである。まず、入力装置１１０等の画像源よりＪＰＥＧ圧縮画像を得（Ｓ２００）、これがＲＡＭ１１３のような記憶装置に一旦記憶され（Ｓ２０１）、ＣＰＵ１１４によって処理される（Ｓ２０２）。処理後の画像がやはりＪＰＥＧ圧縮画像として得られると（Ｓ２０３）、これがネットワーク１２０上へ排出されたり、ディスクドライブ１１７に格納されたり、または出力装置１１１へ排出される（Ｓ２０４）。
【００２２】
図３は、コンピュータ１０１において、入力されたＪＰＥＧ画像データを解凍し、スケーリング処理及びフィルタリング処理を行い、再圧縮する場合の、一般的な処理を示すフローチャートである。
【００２３】
まず、入力されたＪＰＥＧ画像データをデコードし（Ｓ３００）、逆量子化し（Ｓ３０１）、逆ＤＣＴ変換し（Ｓ３０２）、逆ＹＵＶ変換した後（Ｓ３０３）、スケーリング処理、もしくはフィルタリング処理を施す（Ｓ３０４）。そして処理後の画像データに対して、ＹＵＶ変換し（Ｓ３０５）、ＤＣＴ変換し（Ｓ３０６）、量子化し（Ｓ３０７）、エンコードする（３０８）ことによって、処理後のＪＰＥＧ圧縮画像データが得られる。
【００２４】
本実施形態では、図３に示す一連の処理を統合して一括で実行することによって、これらの処理を個々に行う場合と同等の効果を得るばかりでなく、解凍処理（Ｓ３０１〜Ｓ３０３に相当）及び圧縮処理（Ｓ３０５〜Ｓ３０７に相当）を省略することを可能とする。このような本実施形態における画像処理のフローチャートは、図４に示すようになる。以下、図４に示すフローチャートを参照して、本実施形態における具体的な処理手法（スケーリング処理、フィルタリング処理）について詳細に説明する。
【００２５】
●スケーリング処理
【００２６】
ＪＰＥＧ圧縮においては、画像データを非重複の８ｘ８サイズのブロック（以下、単位ブロックとよぶ）に分割し、離散コサイン変換を行い、周波数領域化する。ここで、実空間領域での８ｘ８内の成分をラスター化した１次元データをＳｕｖ（６４ｘ１）とし、周波数空間領域での８ｘ８内の成分をラスター化した１次元データをＳｘｙ（６４ｘ１）とすると、離散コサイン変換は６４ｘ６４サイズの変換行列Ｃ（６４ｘ６４）を用いて
【数式１】
2005020096.tif 000003
【００２７】
ここで、周波数領域データの３つの色成分データをＳｕｖ（６４ｘ３）、所望の処理を施した処理後周波数領域データをＳｕｖ（６４ｘ３）’とすると、図５に示す各変換式５００〜５０６を統合することにより、変換式は以下のように表現できる。
【数式２】
2005020096.tif 000004
【００２８】
以上が、本実施形態において単位ブロックを処理する際の基本的な考え方である。以下、これを利用して縮小処理を行う場合について説明する。
【００２９】
まず、注目する単位ブロックに対し、そのブロックに影響を与えるブロック群をマクロブロックとする。図９に、実空間においてマクロブロック９００から直線補間し、単位ブロック９０１を生成する様子を示す。同図において、マクロブロック９００内の斜線で括られた範囲が、処理後の単位ブロック９０１に影響を与える画素を示している。マクロブロック９００からの単位ブロック９０１の生成は、直線補間行列Ｍｒ（６４ｘ６４＊９）を用いて以下のように表現できる。
【数式３】
2005020096.tif 000005
【００３０】
図３に示すフローチャートの各変換式を、マクロブロック９００について表現した例を図６のフローチャートに示す。なお、各変換式における“Λ”，“Ｍ”はそれぞれ、行，列方向における成分の省略を示している。
【００３１】
図６に示す各変換式６００〜６０６を統合することにより、縮小後の単位ブロックを生成する処理式は以下のように表現できる。
【数式４】
2005020096.tif 000006
【００３２】
次に、拡大処理について説明する。図１０に、拡大処理の場合の実空間領域におけるマクロブロック１０００と処理後の単位ブロック１００１との関係を示す。拡大処理においては、マクロブロック１０００は１つであり、マクロブロック１０００内の点線で括られた範囲が、処理後の単位ブロック１００１に影響を与える画素を示している。
【００３３】
図３に示すフローチャートの各変換式を、マクロブロック１０００について表現した例を図７のフローチャートに示す。この場合、拡大処理後の単位ブロックを得るための拡大処理の変換関数は、以下のように表現できる。
【数式５】
2005020096.tif 000007
【００３４】
●フィルタリング処理
【００３５】
次に、本実施形態におけるフィルタリング処理について説明する。単位ブロックを処理する基本的な考え方は、上述したスケーリング処理と同様である。図１１に、実空間における注目ブロック１１０１と、フィルタリングの際に注目ブロック１１０１に影響を与える注目ブロック近傍のマクロブロック１１００を示す。７ｘ７のフィルタリングを行う際は、マクロブロック１１００の点線内の画素が、注目ブロック１１０１内の画素に影響を与える。実空間におけるマクロブロック１１００内のフィルタリング処理は、注目ブロック１１０１へのフィルタリング処理行列Ｍｆ（６４ｘ６４＊９）を用いて、次式によって表現される。
【数式６】
2005020096.tif 000008
【００３６】
ここで、図３のフローチャートの各変換式をマクロブロックについて表現すると、図８のフローチャートとなる。図８に示す各変換式８００〜８０６を統合することにより、周波数領域データのフィルタリング処理の変換関数は以下のように表現できる。
【数式７】
2005020096.tif 000009
【００３７】
以上が、本実施形態におけるスケーリング処理、およびフィルタリング処理であり、周波数空間上における単純な行列の乗算処理として表現される。これらの処理は、実質的には解凍・再圧縮処理を行わないので、画質の劣化が生じないという利点がある。なお、上記説明ではスケーリング処理とフィルタリング処理を別処理として扱ったが、これら２つの処理を一括して行うことも可能である。その際の変換関数は、それぞれの変換関数を合成することで容易に導出される。
【００３８】
一般に行われている間引き処理を伴うスケーリング処理においては、スムージングを行った後に間引きが行われているため、本実施形態においてスケーリング処理とフィルタリング処理が一括して行えるということは、さらなる処理の高速化という点からも有益である。
【００３９】
ここで、上述した変換係数Ｐｒ，Ｐｍ、Ｐｆはそれぞれ、倍率の変化やフィルタリング係数の変化により、変換関数、その係数値とも変化するが、実際の画像処理システムとしては、Ａ４サイズからＡ３サイズへの変換等、定型サイズでのスケーリング処理を施す場合が多いため、変換関数の係数行列値として予め所定値を保持しておいても良い。
【００４０】
また、フィルタリングに関しても同様であり、画像処理システム内で実際に使用される際には、その強度毎に段階別の係数値を保持しておく場合が多いため、変換関数の係数値もその強度毎に予め用意しておくことができる。
【００４１】
また、変換係数Ｐｒ，Ｐｍ、Ｐｆの各係数値を、スケーリング倍率やフィルタリング係数を変数とした関数によって求めることも可能である。
【００４２】
以上説明したように本実施形態によれば、ＪＰＥＧ圧縮された画像データに対して、周波数空間上でのスケーリング処理及びフィルタリング処理を施すことによって、実質的な解凍・再圧縮処理を行う必要がないため、画質の劣化を回避するのみならず高速処理が可能となる。
【００４３】
＜第２実施形態＞
以下、本発明に係る第２実施形態について説明する。
【００４４】
第２実施形態においては、上述した第１実施形態で示したＪＰＥＧ圧縮画像データに対する画像処理（スケーリング処理およびフィルタリング処理）について、さらなる高速化を実現することを特徴とする。すなわち第２実施形態においては、第１実施形態で示した変換関数およびＪＰＥＧコードの仕様を利用してスケーリング処理とフィルタリング処理、およびデコード処理を一部統合して行うことによって、一連の処理の高速化を可能とする。
【００４５】
以下、第２実施形態における高速化処理の概要と具体的な手法について、詳細に説明する。なお、第２実施形態におけるシステム構成は上述した第１実施形態と同様であるため、以下ではその相違点についてのみ説明する。
【００４６】
第２実施形態では、第１実施形態で示した［数式４］，［数式５］，［数式７］のように、変換関数を単純な係数と周波数成分との乗算処理として扱うことができる。ここで、係数と周波数成分との演算を考えると、周波数成分が０であれば、その演算結果は０であることは明らかであり、演算処理を行う必要がないことがわかる。また、ＪＰＥＧ圧縮で扱われているコードは、周波数成分を一次元に並べた場合の０が並んでいる数を表現している。これら二つの性質を利用すると、コードを読み込んだ時点で、演算する必要のない周波数成分量が判別できるため、周波数成分の読み込みと、第１実施形態のスケーリング演算処理もしくはフィルタリング演算処理を同期して行うことによって、無駄な演算を回避することが可能となる。
【００４７】
このように第２実施形態においては無駄な演算を回避することで演算処理を高速化でき、特にシステムをソフトウェアによって実現する場合に有効である。
【００４８】
第２実施形態における処理量は、処理対象となる画像の下地率や圧縮率によって変化し、処理対象画像の下地率が高い場合や高率で圧縮されている場合などには、特に演算処理を高速化させることが可能となる。
【００４９】
図１２に、第２実施形態における高速処理時のフローチャートを示すが、ステップＳ２００１に示すように、画像演算処理とデコード処理の一部を統合したことを特徴とする。
【００５０】
ここで、図１３にステップＳ２００１の詳細フローチャートを示し、説明する。まず、ＪＰＥＧ圧縮された画像データを部分的にデコードする（Ｓ２１００）。ここで部分的なデコードとは図１４に示すように、コード化された画像データ（周波数データ）を、コードから読み取れる０成分の個数と数値データ（周波数データ）に分割して、バッファに記録することを意味する。この部分的デコードは、全てのブロックのコードデータに対して行う。
【００５１】
ステップＳ２１００で得られたデコードデータは、スケーリング、フィルタリング処理が施された後（Ｓ２１０２）、８ｘ８サイズで離散コサイン変換された周波数領域化データとして出力される。この処理が、単位ブロックの個数分繰り返される（Ｓ２１０１）。そして、最後に演算結果として得られる周波数データをエンコードする（Ｓ２１０３）ことによって、スケーリングおよびフィルタリング処理された圧縮画像が得られる。
【００５２】
図１５は、第２実施形態の画像全体に対するスケーリングおよびフィルタリング演算処理を示すフローチャートである。まず、出力する周波数データ用に６４個（８ｘ８）のバッファメモリを用意し、０で初期化しておく（Ｓ２３０１）。そしてマクロブロック内のブロック数だけ、以下の演算処理を行い、処理結果として得られる各周波数成分を、それぞれのバッファメモリへ足していく（Ｓ２３０２）。
【００５３】
各マクロブロックについては、まずＤＣ成分を演算してバッファメモリへ加算する（Ｓ２３０３）。このとき、０を含めた周波数成分数をカウントするためのカウンタをＣＯＵＮＴとし、図１３に示したステップＳ２１００の部分的デコードによって得られた周波数成分の数値データをカウントするためのカウンタをｓｃｎｔとして、それぞれを１，０で初期化する（Ｓ２３０４）。
【００５４】
そして、ステップＳ２１００の部分的デコードよって得られた０成分数をＣＯＵＮＴへ加算し（Ｓ２３０５）、ＣＯＵＮＴが６４以上となるまで演算を繰返す（Ｓ２３０５）。ＣＯＵＮＴが６４より小さければ、それぞれ出力バッファに周波数成分数値と係数との演算結果を加算してｓｃｎｔを更新した後（Ｓ２３０６）、ＣＯＵＮＴを更新する（Ｓ２３０４）。
【００５５】
なお、変換行列Ｐについても、その成分の殆どは０であるため、ステップＳ２３０６に示す演算において、０成分の演算を回避することが可能である。
【００５６】
以上説明したように第２実施形態によれば、量子化された周波数成分中の０成分に着目し、ＪＰＥＧ符号の性質を利用する、すなわち、処理対象となる周波数データのうち、０成分についてはその並び数分だけ画像処理を省き、それ以外の数値データを順次変換関数に代入して演算することによって、画像処理の高速化が可能であり、これは大きな画像を扱う際にさらに顕著となる。
【００５７】
なお、第２実施形態では演算処理とデコード処理を統合した例を示したが、デコード後に逐次演算処理を行うというように、デコードと演算処理を一括して効率良く処理することも可能である。
【００５８】
なお本発明では、演算処理をソフトウェアによって実現することを想定しているが、このアルゴリズムをハードウェアによって実現することももちろん可能である。ハードウェア構成によれば、全処理を実時間で行うことが可能であるため、第２実施形態において図１２で説明したような高速化を意識したアルゴリズムを考慮する必要がない。ハードウェア化する際のコストを考慮すれば、［数式４］，［数式５］［数式７］で表した処理を単純に実現すれば充分である。また、図１２に示すステップＳ２００１の処理のうち、部分的デコードをハードウェア化し、スケーリングおよびフィルタリング処理をソフトウェア化したシステム構成も可能である。その際、本発明のアルゴリズムはハードウェア、ソフトウェアのいずれで処理した場合にも、一般的なＪＰＥＧ圧縮・解凍による画質劣化は生じない。よって、圧縮されたデータを解凍し、スケーリングおよびフィルタリング処理した後に圧縮する場合に比べて、本発明のスケーリングおよびフィルタリング処理では画質が一定に保たれる。特に、このような処理を何度も繰り返す場合には、本発明はさらに有用である。
【００５９】
＜他の実施形態＞
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用しても良い。
【００６０】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵまたはＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００６１】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることが出来る。
【００６２】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６３】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６４】
【発明の効果】
以上説明したように本発明によれば、ＪＰＥＧ圧縮画像に対する画像処理を高速に行い、かつ高画質なＪＰＥＧ画像を出力することができる。
【図面の簡単な説明】
【図１】本発明に係る一実施形態が適用されるコンピュータシステムの構成を示すブロック図である。
【図２】本実施形態の画像処理システムにおける処理を示すフローチャートである。
【図３】ＪＰＥＧ画像データを解凍して画像処理を行い、再圧縮する際の一般的な処理を示すフローチャートである。
【図４】本実施形態における画像処理を示すフローチャートである。
【図５】本実施形態の画像処理における行列演算の流れを示すフローチャートである。
【図６】本実施形態の縮小処理時における、マクロブロックに対する行列演算の流れを示すフローチャートである。
【図７】本実施形態の拡大処理時における、マクロブロックに対する行列演算の流れを示すフローチャートである。
【図８】本実施形態のフィルタリング処理時における、マクロブロックに対する行列演算の流れを示すフローチャートである。
【図９】縮小処理時において、実空間でのマクロブロックと処理後の単位ブロックの関係を示す図である。
【図１０】拡大処理時において、実空間でのマクロブロックと処理後の単位ブロックの関係を示す図である。
【図１１】フィルタリング処理時において、実空間での注目ブロックとマクロブロックの関係を示す図である。
【図１２】第２実施形態における高速画像処理の概要を示すフローチャートである。
【図１３】第２実施形態における高速画像処理の詳細を示すフローチャートである。
【図１４】第２実施形態における部分的なデコードの例を示す図である。
【図１５】第２実施形態における画像全体に対する画像処理を示すフローチャートである。
【図１】
2005020096.tif 000010
【図２】
2005020096.tif 000011
【図３】
2005020096.tif 000012
【図４】
2005020096.tif 000013
【図５】
2005020096.tif 000014
【図６】
2005020096.tif 000015
【図７】
2005020096.tif 000016
【図８】
2005020096.tif 000017
【図９】
2005020096.tif 000018
【図１０】
2005020096.tif 000019
【図１１】
2005020096.tif 000020
【図１２】
2005020096.tif 000021
【図１３】
2005020096.tif 000022
【図１４】
2005020096.tif 000023
【図１５】
2005020096.tif 000024