(57)【特許請求の範囲】
【請求項１】
原画像を複数のブロックに分割し、各ブロックごとに、直交変換を施して得られた係数データを複数の段階に分割し、各段階ごとに係数データをエントロピー符号化することによって得られた圧縮画像データを伸長する画像処理装置であって、
あるブロックに対する各段階の符号化データを圧縮画像データから抽出する手段と、
前記抽出手段によって抽出された前記ブロックに対する各段階の符号化データをエントロピー復号化する手段と、
前記エントロピー復号化手段によって得られた前記ブロックに対する各段階の係数データを組み合わせて前記ブロックの係数データを得る組み合わせ手段と、
前記組み合わせ手段によって得られた前記ブロックの係数データに対して逆直交変換を施す手段とを備える
ことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記抽出手段は、
前記圧縮画像データから、前記ブロックに対する各段階の符号化データが格納されている位置を検出する手段と、
前記検出手段によって検出された位置に基づいて、前記ブロックに対する各段階の符号化データを前記圧縮画像データから抽出して前記エントロピー復号化手段に転送する手段とを含む
ことを特徴とする画像処理装置。
【請求項３】
原画像を複数のブロックに分割し、各ブロックごとに、直交変換を施して得られた係数データを複数の段階に分割し、各段階ごとに係数データをエントロピー符号化することによって得られた圧縮画像データを伸長する画像処理装置であって、
圧縮画像データを記憶する圧縮画像用メモリを有する第１のプロセッサと、
第２のプロセッサと、
前記第１のプロセッサおよび前記第２のプロセッサの双方からアクセス可能な共有メモリとを備え、
前記第１のプロセッサは、
前記圧縮画像用メモリに記憶された圧縮画像データを前記共有メモリに転送し、
前記第２のプロセッサは、
前記共有メモリに転送された圧縮画像データから、あるブロックに対する各段階の符号化データが格納されている位置を検出し、
前記第１のプロセッサはさらに、
前記第２のプロセッサによって検出された位置に基づいて各段階の符号化データを前記圧縮画像用メモリから前記共有メモリに転送し、
前記第２のプロセッサはさらに、
前記共有メモリに転送された前記ブロックに対する各段階の符号化データをエントロピー復号化し、当該エントロピー復号化処理によって得られた前記ブロックに対する各段階の係数データを組み合わせて前記ブロックの係数データを得て、当該係数データに対して逆直交変換を施す
ことを特徴とする画像処理装置。
【請求項４】
請求項３に記載の画像処理装置において、
前記第１のプロセッサは、
前記各段階の符号化データを前記圧縮画像用メモリから前記共有メモリに転送する際に、
前記各段階の符号化データのデータ量に基づいて、前記共有メモリの記憶領域を前記各段階の符号化データに割り当てる
ことを特徴とする画像処理装置。
【請求項５】
原画像を複数のブロックに分割し、各ブロックごとに、直交変換を施して得られた係数データを複数の段階に分割し、各段階ごとに係数データをエントロピー符号化することによって得られた圧縮画像データを伸長する画像処理方法であって、
ブロック単位で伸長処理を行うものであり、
前記伸長処理は、
当該ブロックに対する各段階の符号化データを圧縮画像データから抽出するステップと、
前記抽出ステップによって抽出された各段階の符号化データをエントロピー復号化するステップと、
前記エントロピー復号化ステップによって得られた各段階の係数データを組み合わせて当該ブロックの係数データを得るステップと、
前記組み合わせステップによって得られた当該ブロックの係数データに対して逆直交変換を施すステップとを備える
ことを特徴とする画像処理方法。
【請求項６】
請求項５に記載の画像処理方法において、
前記ブロック単位の伸長処理の前処理として、
複数のブロックの各々に対するある段階の符号化データを抽出し、
抽出した前記段階の符号化データをエントロピー復号化し、
エントロピー復号化によって得られた前記段階の係数データに対して逆直交変換を施す
ことを特徴とする画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は画像処理装置および画像処理方法に関し、さらに詳しくは、プログレッシブ符号化された圧縮画像データを伸張する画像処理装置および画像処理方法に関する。
【０００２】
【従来の技術】
インターネット上でやりとりされる静止画像データには、シーケンシャル符号化された圧縮画像データとプログレッシブ符号化された圧縮画像データとがある。通常、ＰＣ（パーソナル・コンピュータ）など、インターネット上でやりとりされる静止画像データを扱う端末には、シーケンシャル符号化された圧縮画像データだけでなくプログレッシブ符号化された圧縮画像データも伸長することができる画像処理装置が設けられている。
【０００３】
この画像処理装置でシーケンシャル符号化された圧縮画像データを伸長するときは、各ブロックごとに伸長処理を行う。この結果、画面の左上から右下に向けて徐々に最終画像が表示される。
【０００４】
一方、プログレッシブ符号化された圧縮画像を伸長するときは、まず、圧縮画像データのうちの第１段階の符号化データの伸長処理を行う。これにより、解像度および階調性の低い大まかな全体画像が得られる。次いで、圧縮画像データのうちの第２段階の符号化データの伸長処理を行い、すでに得られた第１段階の伸長画像データと重ね合わせる。これにより、第１段階の符号化データを伸長して得られた伸長画像データよりも解像度および階調性が向上した伸長画像データが得られる。以降、最終段階の符号化データまで、各段階の符号化データの伸長処理を行い、それまでに得られた伸長画像データと重ね合わせるという処理を繰り返す。この結果、まず解像度および階調性の低いおおまかな１枚の全体画像が表示され、以降、段階的に解像度および階調性が向上した全体画像が表示される。
【０００５】
【発明が解決しようとする課題】
上述の画像処理装置では、プログレッシブ符号化された圧縮画像を伸長するために、各段階の符号化データを伸長して得られた伸長画像データを格納するためのメモリが必要となる。ところが、一般に、圧縮画像データを伸張して得られる伸長画像データを記憶するために必要なメモリの容量は、圧縮画像データを記憶するために必要なメモリの容量に対して１０倍以上となる。
【０００６】
近年のインターネットの急速な普及に伴い、ＰＣだけではなく、携帯電話等の小型軽量の携帯端末でも静止画像データが扱われるようになってきている。これらの携帯端末の小型軽量化を図るためには、搭載される画像処理装置において必要となるメモリの容量をできるだけ小さくする必要がある。
【０００７】
この発明は、上述のような問題を解決するためになされたものであり、その目的は、必要なメモリの容量を小さくすることができる画像処理装置を提供することである。
【０００８】
【課題を解決するための手段】
この発明の１つの局面に従うと、画像処理装置は、原画像を複数のブロックに分割し、各ブロックごとに、直交変換を施して得られた係数データを複数の段階に分割し、各段階ごとに係数データをエントロピー符号化することによって得られた圧縮画像データを伸長する画像処理装置であって、抽出手段と、エントロピー復号化手段と、組み合わせ手段と、逆直交変換手段とを備える。抽出手段は、あるブロックに対する各段階の符号化データを圧縮画像データから抽出する。エントロピー復号化手段は、抽出手段によって抽出された上記ブロックに対する各段階の符号化データをエントロピー復号化する。組み合わせ手段は、エントロピー復号化手段によって得られた上記ブロックに対する各段階の係数データを組み合わせて上記ブロックの係数データを得る。逆直交変換手段は、組み合わせ手段によって得られた上記ブロックの係数データに対して逆直交変換を施す。
【０００９】
上記画像処理装置では、あるブロックに対する各段階の符号化データが抽出手段によって抽出され、エントロピー復号化手段によってエントロピー復号化される。これにより、上記ブロックに対する各段階の係数データが得られる。これら各段階の係数データが組み合わせ手段によって組み合わされて、上記ブロックの係数データが得られる。そして、この係数データが逆直交変換手段によって逆直交変換され、上記ブロックに対する原画像データが得られる。以上の処理をすべてのブロックに対して行うことによって１画面全体の原画像が得られる。
【００１０】
以上のように、上記画像処理装置では、抽出手段と、組み合わせ手段とを設けたため、各段階の係数データを組み合わせるために必要となるメモリの容量は、１ブロック分の係数データを記憶することができる容量で足りる。これにより、必要なメモリの容量を小さくすることができる。
【００１１】
また、各段階の係数データを組み合わせた後に逆直交変換を行うため、逆直交変換手段における演算量を低減することができる。
【００１２】
好ましくは、上記抽出手段は、検出手段と、転送手段とを含む。検出手段は、圧縮画像データから、上記ブロックに対する各段階の符号化データが格納されている位置を検出する。転送手段は、検出手段によって検出された位置に基づいて、上記ブロックに対する各段階の符号化データを圧縮画像データから抽出してエントロピー復号化手段に転送する。
【００１３】
上記画像処理装置では、上記ブロックに対する各段階の符号化データが格納されている位置が圧縮画像データから検出される。この検出された位置に基づいて、上記ブロックに対する各段階の符号化データが圧縮画像データから抽出されてエントロピー復号化手段に転送される。
【００１４】
この発明のもう１つの局面に従うと、画像処理装置は、原画像を複数のブロックに分割し、各ブロックごとに、直交変換を施して得られた係数データを複数の段階に分割し、各段階ごとに係数データをエントロピー符号化することによって得られた圧縮画像データを伸長する画像処理装置であって、第１のプロセッサと、第２のプロセッサと、共有メモリとを備える。第１のプロセッサは、圧縮画像データを記憶する圧縮画像用メモリを有する。共有メモリは、第１のプロセッサおよび第２のプロセッサの双方からアクセス可能なメモリである。そして、第１のプロセッサは、圧縮画像用メモリに記憶された圧縮画像データを共有メモリに転送する。第２のプロセッサは、共有メモリに転送された圧縮画像データから、あるブロックに対する各段階の符号化データが格納されている位置を検出する。第１のプロセッサはさらに、第２のプロセッサによって検出された位置に基づいて各段階の符号化データを圧縮画像用メモリから共有メモリに転送する。第２のプロセッサはさらに、共有メモリに転送された上記ブロックに対する各段階の符号化データをエントロピー復号化し、当該エントロピー復号化処理によって得られた上記ブロックに対する各段階の係数データを組み合わせて上記ブロックの係数データを得て、当該係数データに対して逆直交変換を施す。
【００１５】
上記画像処理装置では、まず、第１のプロセッサによって、圧縮画像用メモリに記憶された圧縮画像データが共有メモリに転送される。次いで、第２のプロセッサによって、共有メモリに転送された圧縮画像データから、あるブロックに対する各段階の符号化データが格納されている位置が検出される。次いで、検出された位置に基づいて、第１のプロセッサによって、各段階の符号化データが圧縮画像用メモリから共有メモリに転送される。次いで、第２のプロセッサによって、共有メモリに転送された上記ブロックに対する各段階の符号化データがエントロピー復号化され、当該エントロピー復号化処理によって得られた上記ブロックに対する各段階の係数データが組み合わされて上記ブロックの係数データが得られ、当該係数データに対して逆直交変換が施される。このようにして上記ブロックに対する原画像データが得られる。そして、以上の処理をすべてのブロックに対して行うことによって１画面全体の原画像が得られる。
【００１６】
以上のように、上記画像処理装置によれば、第１のプロセッサおよび第２のプロセッサの２つのプロセッサによって圧縮画像データの伸長処理を行うことができる。そして、各段階の係数データを組み合わせるために必要となるメモリの容量は、１ブロック分の係数データを記憶することができる容量で足りる。これにより、必要なメモリの容量を小さくすることができる。
【００１７】
また、第２のプロセッサは、各段階の係数データを組み合わせた後に逆直交変換を行うため、逆直交変換に要する演算量を低減することができる。
【００１８】
好ましくは、上記第１のプロセッサは、各段階の符号化データを圧縮画像用メモリから共有メモリに転送する際に、各段階の符号化データのデータ量に基づいて、共有メモリの記憶領域を各段階の符号化データに割り当てる。
【００１９】
各段階の符号化データのデータ量は、段階ごとに異なる。上記画像処理装置では、各段階の符号化データのデータ量に基づいて共有メモリの記憶領域が割り当てられる。これにより、共有メモリの記憶領域を有効に使用することができる。
【００２０】
この発明のさらにもう１つの局面に従うと、画像処理方法は、原画像を複数のブロックに分割し、各ブロックごとに、直交変換を施して得られた係数データを複数の段階に分割し、各段階ごとに係数データをエントロピー符号化することによって得られた圧縮画像データを伸長する画像処理方法であって、ブロック単位で伸長処理を行うものである。そして、上記伸長処理は、抽出ステップと、エントロピー符号化ステップと、組み合わせステップと、逆直交変換ステップとを備える。抽出ステップでは、当該ブロックに対する各段階の符号化データを圧縮画像データから抽出する。エントロピー復号化ステップでは、抽出ステップによって抽出された各段階の符号化データをエントロピー復号化する。組み合わせステップでは、エントロピー復号化ステップによって得られた各段階の係数データを組み合わせて当該ブロックの係数データを得る。逆直交変換ステップでは、組み合わせステップによって得られた当該ブロックの係数データに対して逆直交変換を施す。
【００２１】
上記画像処理方法では、ブロック単位で伸長処理を行い、かつ、伸長処理では、抽出ステップと、組み合わせステップとを行うため、各段階の係数データを組み合わせるために必要となるメモリの容量は、１ブロック分の係数データを記憶することができる容量で足りる。これにより、必要なメモリの容量を小さくすることができる。
【００２２】
また、各段階の係数データを組み合わせた後に逆直交変換を行うため、逆直交変換に要する演算量を低減することができる。
【００２３】
好ましくは、上記画像処理方法はさらに、ブロック単位の伸長処理の前処理として、複数のブロックの各々に対するある段階の符号化データを抽出し、抽出した上記段階の符号化データをエントロピー復号化し、エントロピー復号化によって得られた上記段階の係数データに対して逆直交変換を施す。
【００２４】
上記画像処理方法によれば、まず、複数のブロックの各々に対するある段階の符号化データを伸長した画像が得られ、次いで、ブロック単位での伸長処理によって原画像が得られる。
【００２５】
【発明の実施の形態】
以下、この発明の実施の形態を図面を参照して詳しく説明する。なお、図中同一または相当部分には同一符号を付し、その説明は繰り返さない。
【００２６】
（第１の実施形態）
＜全体構成＞
図１は、この発明の第１の実施形態による画像処理装置の全体構成を示すブロック図である。図１を参照して、この画像処理装置は、解析器１０１と、ハフマン復号化器１０２と、セレクタ１０３と、組み合わせ器１０４と、逆量子化器１０５と、逆ＤＣＴ変換器１０６と、色空間変換器１０７と、色数削減器１０８と、入力手段ｉ１−ｉ５と、符号化テーブルＴＢ１と、量子化テーブルＴＢ２と、圧縮画像用メモリＭ１と、伸長画像用メモリＭ２とを備える。
【００２７】
圧縮画像用メモリＭ１は、圧縮画像データを記憶するためのメモリである。
【００２８】
解析器１０１は、圧縮画像用メモリＭ１に記憶された圧縮画像データのヘッダを解析し、符号化方式、量子化値、ハフマンテーブルなど、伸長処理に必要な情報を獲得する。また、解析器１０１は、ハフマンテーブルを符号化テーブルＴＢ１へ、量子化値を量子化テーブルＴＢ２へ転送する。また、解析器１０１は、圧縮画像用メモリＭ１に記憶された圧縮画像データがシーケンシャル符号化されているときは、符号化データをハフマン復号化器１０２に転送する。一方、解析器１０１は、圧縮画像用メモリＭ１に記憶された圧縮画像データがプログレッシブ符号化されているときは、各段階の符号化データが格納されている位置を検出し、当該位置の情報を入力手段ｉ１−ｉ５に出力する。
【００２９】
入力手段ｉ１−ｉ５は、圧縮画像用メモリＭ１に記憶された各段階の符号化データを解析器１０１からの位置情報に基づいて抽出してセレクタ１０３に供給する。
【００３０】
セレクタ１０３は、入力手段ｉ１−ｉ５からの各段階の符号化データを選択的にハフマン復号化器１０２に供給する。
【００３１】
ハフマン復号化器１０２は、符号化テーブルＴＢ１に格納されたハフマンテーブルを参照して、解析器１０１またはセレクタ１０３によって供給される符号化データをハフマン復号化する。
【００３２】
組み合わせ器１０４は、セレクタ１０９と、係数メモリＭ４とを含む。係数メモリＭ４は、記憶領域ｄ１−ｄ５を含む。セレクタ１０９は、ハフマン復号化器１０２からのＤＣＴ係数データを係数メモリＭ４の記憶領域ｄ１−ｄ５に選択的に転送する。係数メモリＭ４は、記憶領域ｄ１−ｄ５に格納されたＤＣＴ係数データを逆量子化器１０５へ出力する。
【００３３】
逆量子化器１０５は、量子化テーブルＴＢ２に格納された量子化値を参照して、組み合わせ器１０４の係数メモリＭ４からのＤＣＴ係数データを逆量子化する。
【００３４】
逆ＤＣＴ変換器１０６は、逆量子化器１０５によって逆量子化されたＤＣＴ係数データに対して逆ＤＣＴ変換を施す。
【００３５】
色空間変換器１０７は、逆ＤＣＴ変換器１０６によって得られた伸長画像データの色空間を、輝度成分および色差成分（Ｙ，Ｕ，Ｖ）から３原色成分（Ｒ，Ｇ，Ｂ）に変換する。
【００３６】
色数削減器１０８は、色空間変換器１０７からの伸長画像データの色数を削減する。
【００３７】
伸長画像用メモリＭ２は、色数削減器１０８によって色数が削減された伸長画像データを記憶するためのメモリである。
【００３８】
＜圧縮画像データ＞
次に、図１に示した圧縮画像用メモリＭ１に記憶される圧縮画像データについて説明する。圧縮画像データには、シーケンシャル符号化された圧縮画像データとプログレッシブ符号化された圧縮画像データとがある。それぞれの圧縮画像データは、原画像に対して以下のような処理を施すことによって圧縮されたものである。
【００３９】
（ａ）シーケンシャル符号化された圧縮画像データ
まず、図２に示すように、原画像を複数のブロックＢＫ１−ＢＫ１６に分割する。各ブロックＢＫｉ（ｉ＝１−１６）は、８×８画素で構成される。そして、１つのブロックＢＫｉに対して以下の（１）〜（４）の処理を行う。
【００４０】
（１）色空間変換
ブロックＢＫｉの画像データの色空間を３原色成分（Ｒ，Ｇ，Ｂ）から輝度成分および色差成分（Ｙ，Ｕ，Ｖ）に変換する。
【００４１】
（２）ＤＣＴ変換
色空間変換後のブロックＢＫｉの画像データをＤＣＴ変換する。これにより、図３に示すようなＤＣＴ係数データＣ１−Ｃ６４が得られる。
【００４２】
（３）量子化
量子化テーブルに格納された量子化値に基づいてＤＣＴ係数データＣ１−Ｃ６４を量子化する。
【００４３】
（４）ハフマン符号化
量子化されたＤＣＴ係数データをジグザグスキャン順（周波数の低い順）に、すなわち、ＤＣＴ係数データＣ１−ＤＣＴ係数データＣ６４の順にハフマン符号化する。これにより、ブロックＢＫｉについての符号化データが得られる。
【００４４】
以上の（１）〜（４）の処理をすべてのブロックＢＫ１−ＢＫ１６について行うことによって、図４に示すような圧縮画像データが得られる。図４に示す圧縮画像データは、テーブルデータ（ハフマンテーブル、量子化値）、フレームヘッダと、各ブロックの符号化データＢＫｉ−ＥＣ１〜ＥＣ６４（ｉ＝１−１６）とを有する。フレームヘッダには、圧縮画像データの符号化方式（シーケンシャル符号化されたデータであるか、プログレッシブ符号化されたデータであるか）を示す情報が含まれている。
【００４５】
（ｂ）プログレッシブ符号化された圧縮画像データ
まず、シーケンシャル符号化された圧縮画像データと同様に、原画像を複数のブロックＢＫ１−ＢＫ１６に分割する。そして、１つのブロックＢＫｉに対して以下の（１）〜（４）の処理を行う。
【００４６】
（１）色空間変換
ブロックＢＫｉの画像データの色空間を３原色成分（Ｒ，Ｇ，Ｂ）から輝度成分および色差成分（Ｙ，Ｕ，Ｖ）に変換する。
【００４７】
（２）ＤＣＴ変換
色空間変換後のブロックＢＫｉの画像データをＤＣＴ変換する。これにより、図３に示すようなＤＣＴ係数データＣ１−Ｃ６４が得られる。
【００４８】
（３）量子化
量子化テーブルに格納された量子化値に基づいてＤＣＴ係数データＣ１−Ｃ６４を量子化する。そして、量子化されたＤＣＴ係数データを周波数に基づいて複数の段階（第１〜第５段階）に分割する。具体的には、図５に示すように、ＤＣＴ係数データＣ１−Ｃ６４を、第１段階（Ｃ１）、第２段階（Ｃ２−Ｃ１０）、第３段階（Ｃ１１−Ｃ２８）、第４段階（Ｃ２９−Ｃ４９）、第５段階（Ｃ５０−Ｃ６４）に分割する。
【００４９】
（４）ハフマン符号化
量子化されたＤＣＴ係数データを各段階ごとにハフマン符号化する。これにより、ブロックＢＫｉについての第１段階〜第５段階の符号化データが得られる。
【００５０】
以上の（１）〜（４）の処理をすべてのブロックＢＫ１−ＢＫ１６について行うことによって、図６に示すような圧縮画像データが得られる。図６に示す圧縮画像データは、テーブルデータ（ハフマンテーブル、量子化値）、フレームヘッダなどのデータＲ０と、第１段階−第５段階のデータＲ１−Ｒ５とを有する。フレームヘッダには、圧縮画像データの符号化方式（シーケンシャル符号化されたデータであるか、プログレッシブ符号化されたデータであるか）を示す情報が含まれている。
【００５１】
第１段階のデータＲ１は、第１段階のスキャンヘッダ、ブロックＢＫ１−ＢＫ１６の第１段階の符号化データＥＣ１を含む。第２段階のデータＲ２は、第２段階のスキャンヘッダ、ブロックＢＫ１−ＢＫ１６の第２段階の符号化データＥＣ２〜ＥＣ１０を含む。第３段階のデータＲ３は、第３段階のスキャンヘッダ、ブロックＢＫ１−ＢＫ１６の第３段階の符号化データＥＣ１１〜ＥＣ２８を含む。第４段階のデータＲ４は、第４段階のスキャンヘッダ、ブロックＢＫ１−ＢＫ１６の第４段階の符号化データＥＣ２９〜ＥＣ４９を含む。第５段階のデータＲ５は、第５段階のスキャンヘッダ、ブロックＢＫ１−ＢＫ１６の第５段階の符号化データＥＣ５０〜ＥＣ６４を含む。
【００５２】
＜伸長処理＞
次に、図１に示した画像処理装置による伸長処理について説明する。以下、（ａ）プログレッシブ符号化された圧縮画像データの伸長処理、（ｂ）シーケンシャル符号化された圧縮画像データの伸長処理とに分けて説明する。
【００５３】
（ａ）プログレッシブ符号化された圧縮画像データの伸長処理
図７は、プログレッシブ符号化された圧縮画像データの伸長処理の手順を示すフローチャートである。以下、図７および図１を参照しつつ説明する。
【００５４】
まず、ステップＳＴ７０１において、解析器１０１は、圧縮画像用メモリＭ１に格納された圧縮画像データ（図６参照）のフレームヘッダを解析して、符号化方式（プログレッシブ符号化、シーケンシャル符号化）、画像サイズなどの情報を得る。これにより、この圧縮画像データがプログレッシブ符号化されたデータであることが認識される。また、解析器１０１は、圧縮画像データ（図６参照）のテーブルデータから量子化値を抽出して量子化テーブルＴＢ２に転送し、ハフマンテーブルを抽出して符号化テーブルＴＢ１に転送する。
【００５５】
次いで、ステップＳＴ７０２において、解析器１０１は、圧縮画像データ（図６参照）の各段階のスキャンヘッダを識別し、ブロックＢＫ１の各段階の符号化データが格納されている位置を検出する。具体的には、解析器１０１は、ブロックＢＫ１の第１段階の符号化データの先頭は圧縮画像データの先頭から何バイト目であるか、ブロックＢＫ１の第２段階の符号化データの先頭は圧縮画像データの先頭から何バイト目であるか、ブロックＢＫ１の第３段階の符号化データの先頭は圧縮画像データの先頭から何バイト目であるか、ブロックＢＫ１の第４段階の符号化データの先頭は圧縮画像データの先頭から何バイト目であるか、ブロックＢＫ１の第５段階の符号化データの先頭は圧縮画像データの先頭から何バイト目であるか、という位置情報を検出する。そして、解析器１０１は、図８に示すように、ブロックＢＫ１の第１段階−第５段階の符号化データの先頭の位置の情報を、それぞれ入力手段ｉ１−ｉ５に出力する。
【００５６】
次いで、ステップＳＴ７０３において、入力手段ｉ１−ｉ５は、解析器１０１からの位置情報に基づいて、ブロックＢＫ１の第１段階−第５段階の符号化データを圧縮画像用メモリＭ１から抽出してセレクタ１０３に転送する。そして、解析器１０１は、セレクタ１０３に転送された符号化データのバイト数だけ位置情報をインクリメントする。これにより、入力手段ｉ１−ｉ５に与えられる位置情報は、次のブロックであるブロックＢＫ２の各段階の符号化データの先頭が圧縮画像データの先頭から何バイト目であるかを示すことになる。
【００５７】
次いで、ステップＳＴ７０４において、セレクタ１０３は、入力手段ｉ１から供給されるブロックＢＫ１の第１段階の符号化データ（ＢＫ１−ＥＣ１）をハフマン復号化器１０２に供給する。そして、ハフマン復号化器１０２は、符号化テーブルＴＢ１に格納されたハフマンテーブルを参照して、ブロックＢＫ１の第１段階の符号化データ（ＢＫ１−ＥＣ１）をハフマン復号化する。これによりブロックＢＫ１の第１段階のＤＣＴ係数データ（ＢＫ１−Ｃ１）が得られる。
【００５８】
次いで、ステップＳＴ７０５において、組み合わせ器１０４のセレクタ１０９は、ハフマン復号化器１０２によって得られたブロックＢＫ１の第１段階のＤＣＴ係数データ（ＢＫ１−Ｃ１）を、係数メモリＭ４の記憶領域ｄ１に転送する。係数メモリＭ４は、図９に示すように、８×８個のＤＣＴ係数データを格納できる容量を有している。そして、記憶領域ｄ１には第１段階のＤＣＴ係数データが、記憶領域ｄ２には第２段階のＤＣＴ係数データが、記憶領域ｄ３には第３段階のＤＣＴ係数データが、記憶領域ｄ４には第４段階のＤＣＴ係数データが、記憶領域ｄ５には第５段階のＤＣＴ係数データがそれぞれ格納される。ブロックＢＫ１の第１段階のＤＣＴ係数データ（ＢＫ１−Ｃ１）は、図９に示すように記憶領域ｄ１に格納される。
【００５９】
次いで、ステップＳＴ７０６において、ブロックＢＫ１の全段階のＤＣＴ係数データが係数メモリＭ４に格納されたか否かが判定される。全段階のＤＣＴ係数データが格納された場合にはステップＳＴ７０７に進む。全段階のＤＣＴ係数データが格納されていない場合にはステップＳＴ７０４に戻る。ここでは、未だ全段階のＤＣＴ係数データが格納されていないのでステップＳＴ７０４に戻る。
【００６０】
そしてステップＳＴ７０４において、セレクタ１０３は、入力手段ｉ２から供給されるブロックＢＫ１の第２段階の符号化データ（ＢＫ１−ＥＣ２〜ＥＣ１０）をハフマン復号化器１０２に供給する。そして、ハフマン復号化器１０２は、符号化テーブルＴＢ１に格納されたハフマンテーブルを参照して、ブロックＢＫ１の第２段階の符号化データ（ＢＫ１−ＥＣ２〜ＥＣ１０）をハフマン復号化する。これによりブロックＢＫ１の第２段階のＤＣＴ係数データ（ＢＫ１−Ｃ２〜Ｃ１０）が得られる。
【００６１】
次いで、ステップＳＴ７０５において、組み合わせ器１０４のセレクタ１０９は、ハフマン復号化器１０２によって得られたブロックＢＫ１の第２段階のＤＣＴ係数データを、係数メモリＭ４の記憶領域ｄ２に転送する。ブロックＢＫ１の第２段階のＤＣＴ係数データ（ＢＫ１−Ｃ２〜Ｃ１０）は、図１０に示すように、ジグザグスキャン順に記憶領域ｄ２に格納される。
【００６２】
そして、ステップＳＴ７０６における判定により、再度ステップＳＴ７０４に戻る。
【００６３】
ステップＳＴ７０４において、セレクタ１０３は、入力手段ｉ３から供給されるブロックＢＫ１の第３段階の符号化データ（ＢＫ１−ＥＣ１１〜ＥＣ２８）をハフマン復号化器１０２に供給する。そして、ハフマン復号化器１０２は、符号化テーブルＴＢ１に格納されたハフマンテーブルを参照して、ブロックＢＫ１の第３段階の符号化データ（ＢＫ１−ＥＣ１１〜ＥＣ２８）をハフマン復号化する。これによりブロックＢＫ１の第３段階のＤＣＴ係数データ（ＢＫ１−Ｃ１１〜Ｃ２８）が得られる。
【００６４】
次いで、ステップＳＴ７０５において、組み合わせ器１０４のセレクタ１０９は、ハフマン復号化器１０２によって得られたブロックＢＫ１の第３段階のＤＣＴ係数データ（ＢＫ１−Ｃ１１〜Ｃ２８）を、係数メモリＭ４の記憶領域ｄ３に転送する。ブロックＢＫ１の第３段階のＤＣＴ係数データ（ＢＫ１−Ｃ１１〜Ｃ２８）は、図１１に示すように、ジグザグスキャン順に記憶領域ｄ３に格納される。そして、ステップＳＴ７０６における判定により、再度ステップＳＴ７０４に戻る。
【００６５】
ステップＳＴ７０４において、セレクタ１０３は、入力手段ｉ４から供給されるブロックＢＫ１の第４段階の符号化データ（ＢＫ１−ＥＣ２９〜ＥＣ４９）をハフマン復号化器１０２に供給する。そして、ハフマン復号化器１０２は、符号化テーブルＴＢ１に格納されたハフマンテーブルを参照して、ブロックＢＫ１の第４段階の符号化データ（ＢＫ１−ＥＣ２９〜ＥＣ４９）をハフマン復号化する。これによりブロックＢＫ１の第４段階のＤＣＴ係数データ（ＢＫ１−Ｃ２９〜Ｃ４９）が得られる。
【００６６】
次いで、ステップＳＴ７０５において、組み合わせ器１０４のセレクタ１０９は、ハフマン復号化器１０２によって得られたブロックＢＫ１の第４段階のＤＣＴ係数データ（ＢＫ１−Ｃ２９〜Ｃ４９）を、係数メモリＭ４の記憶領域ｄ４に転送する。ブロックＢＫ１の第４段階のＤＣＴ係数データ（ＢＫ１−Ｃ２９〜Ｃ４９）は、図１２に示すように、ジグザグスキャン順に記憶領域ｄ４に格納される。そして、ステップＳＴ７０６における判定により、再度ステップＳＴ７０４に戻る。
【００６７】
ステップＳＴ７０４において、セレクタ１０３は、入力手段ｉ５から供給されるブロックＢＫ１の第５段階の符号化データ（ＢＫ１−ＥＣ５０〜ＥＣ６４）をハフマン復号化器１０２に供給する。そして、ハフマン復号化器１０２は、符号化テーブルＴＢ１に格納されたハフマンテーブルを参照して、ブロックＢＫ１の第５段階の符号化データ（ＢＫ１−ＥＣ５０〜ＥＣ６４）をハフマン復号化する。これによりブロックＢＫ１の第５段階のＤＣＴ係数データ（ＢＫ１−Ｃ５０〜Ｃ６４）が得られる。
【００６８】
次いで、ステップＳＴ７０５において、組み合わせ器１０４のセレクタ１０９は、ハフマン復号化器１０２によって得られたブロックＢＫ１の第５段階のＤＣＴ係数データ（ＢＫ１−Ｃ５０〜Ｃ６４）を、係数メモリＭ４の記憶領域ｄ５に転送する。ブロックＢＫ１の第５段階のＤＣＴ係数データ（ＢＫ１−Ｃ５０〜Ｃ６４）は、図１３に示すように、ジグザグスキャン順に記憶領域ｄ５に格納される。これにより、ジグザグスキャン順に配置された８×８個のＤＣＴ係数データＣ１−Ｃ６４が得られる。
【００６９】
なお、ここでは、各段階のＤＣＴ係数データをジグザグスキャン順に各記憶領域ｄ１−ｄ５に格納したが、全段階のＤＣＴ係数データＣ１−Ｃ６４が揃った時点で、ＤＣＴ係数データＣ１−Ｃ６４を図１３に示すような配列に並び替えてもよい。
【００７０】
以上のようにして、ブロックＢＫ１のＤＣＴ係数データＣ１−Ｃ６４が得られる。そして、ステップＳＴ７０６の判定によってステップＳＴ７０７に進む。
【００７１】
次いで、ステップＳＴ７０７において、逆量子化器１０５は、組み合わせ器１０４によって得られたブロックＢＫ１のＤＣＴ係数データＣ１−Ｃ６４を、量子化テーブルＴＢ２に格納された量子化値に基づいて逆量子化する。
【００７２】
次いで、ステップＳＴ７０８において、逆ＤＣＴ変換器１０６は、逆量子化器１０５によって逆量子化されたブロックＢＫ１のＤＣＴ係数データＣ１−Ｃ６４に対して逆ＤＣＴ変換を施す。これにより、ブロックＢＫ１の伸長画像データが得られる。
【００７３】
次いで、ステップＳＴ７０９において、色空間変換器１０７は、逆ＤＣＴ変換によって得られたブロックＢＫ１の伸長画像データの色空間を、輝度成分および色差成分（Ｙ，Ｕ，Ｖ）から３原色成分（Ｒ，Ｇ，Ｂ）に変換する。
【００７４】
次いで、ステップＳＴ７１０において、色数削減器１０８は、ブロックＢＫ１の伸長画像データの色数を削減する。このとき、色数削減処理の前後で画像の見栄えができるだけ相違しないように、誤差拡散手法などの技術を用いて処理する。携帯電話などの小型端末の表示装置では、解像度の低い、少ない色情報の表示しかできないことが多い。このような小型端末に搭載される画像処理装置では、色数削減器１０８を設ける必要がある。
【００７５】
次いで、ステップＳＴ７１１において、色数削減器１０８からのブロックＢＫ１の伸長画像データが伸長画像用メモリＭ２に転送される。
【００７６】
次いで、ステップＳＴ７１２において、すべてのブロックＢＫ１−ＢＫ１６の伸長画像データが伸長画像用メモリＭ２に転送されたか否かが判定される。すべてのブロックＢＫ１−ＢＫ１６の伸長画像データが転送された場合には、処理を終了する。そうでない場合には、ステップＳＴ７０３に戻る。ここでは、未だブロックＢＫ２−ＢＫ１６の伸長画像データが転送されていないのでステップＳＴ７０３に戻る。
【００７７】
そして、ステップＳＴ７０３において、入力手段ｉ１−ｉ５は、解析器１０１からの位置情報に基づいて、ブロックＢＫ２の第１段階−第５段階の符号化データを圧縮画像用メモリＭ１から抽出してセレクタ１０３に転送する。そして、解析器１０１は、セレクタ１０３に転送された符号化データのバイト数だけ位置情報をインクリメントする。これにより、入力手段ｉ１−ｉ５に与えられる位置情報は、次のブロックであるブロックＢＫ３の各段階の符号化データの先頭が圧縮画像データの先頭から何バイト目であるかを示すことになる。以下、上述したブロックＢＫ１における処理と同様にして、ブロックＢＫ２の伸長画像データが伸長画像用メモリＭ２に転送される。そして、ステップＳＴ７１２における判定によって再びステップＳＴ７０３に戻る。
【００７８】
さらに、ブロックＢＫ３−ＢＫ１６についても上述のブロックＢＫ１，ＢＫ２における処理と同様の処理が行われ、ブロックＢＫ３−ＢＫ１６の伸長画像データが伸長画像用メモリＭ２に転送される。そして、ステップＳＴ７１２の判定によって処理を終了する。
【００７９】
以上のようにして、プログレッシブ符号化された圧縮画像データの伸長画像データが得られる。この伸長画像データを表示装置に表示すると、シーケンシャル符号化された圧縮画像データを伸長した画像データを表示するときと同様に、ブロックＢＫ１−ＢＫ１６の伸長画像データが順次表示される。
【００８０】
ＰＣ（パーソナルコンピュータ）のような端末を利用してインターネット上で画像を見る場合には、利用者は、画像がすべて表示されるまでずっと表示画面を見て待っている場合が多い。そのため、待っている途中で画像の概要が分かるように、プログレッシブ符号化された圧縮画像データを伸長する場合には、各段階ごとの伸長画像データを順次表示する。
【００８１】
しかし、携帯電話などの小型携帯端末を利用する場合には、利用者は、画像がすべて表示されるまでずっと表示画面を見て待っていることは少ない。したがって、プログレッシブ符号化された圧縮画像データを伸長する場合に、各段階ごとに伸長した画像データを順次表示する必要性は少ない。それよりも、携帯電話などの小型携帯端末に搭載される画像処理装置では、必要となるメモリの容量をできるだけ小さくすることが望まれる。
【００８２】
第１の実施形態による画像処理装置では、プログレッシブ符号化された圧縮画像データの伸長処理をブロック単位で行うことができる。したがって、各段階のＤＣＴ係数データを組み合わせるために必要となるメモリＭ４の容量は、１ブロック分のＤＣＴ係数データを記憶することができる容量があればよい。このように、必要なメモリの容量を小さくすることができるため、携帯電話などの小型携帯端末に搭載する画像処理装置として利用することができる。なお、小型携帯端末に搭載する画像処理装置以外の画像処理装置としても利用することができることはいうまでもない。
【００８３】
（ｂ）シーケンシャル符号化された圧縮画像データの伸長処理
図１４は、シーケンシャル符号化された圧縮画像データの伸長処理の手順を示すフローチャートである。以下、図１４および図１を参照しつつ説明する。
【００８４】
まず、ステップＳＴ１４０１において、解析器１０１は、圧縮画像用メモリＭ１に格納された圧縮画像データ（図４参照）のフレームヘッダを解析して、符号化方式（プログレッシブ符号化、シーケンシャル符号化）、画像サイズなどの情報を得る。これにより、この圧縮画像データがシーケンシャル符号化されたデータであることが認識される。また、解析器１０１は、圧縮画像データ（図４参照）のテーブルデータから量子化値を抽出して量子化テーブルＴＢ２に転送し、ハフマンテーブルを抽出して符号化テーブルＴＢ１に転送する。
【００８５】
次いで、ステップＳＴ１４０２において、解析器１０１は、ブロックＢＫ１の符号化データ（ＢＫ１−ＥＣ１〜ＥＣ６４）をハフマン復号化器１０２へ供給する。そして、ハフマン復号化器１０２は、符号化テーブルＴＢ１に格納されたハフマンテーブルを参照して、ブロックＢＫ１の符号化データ（ＢＫ１−ＥＣ１〜ＥＣ６４）をハフマン復号化する。これにより、ブロックＢＫ１のＤＣＴ係数データ（ＢＫ１−Ｃ１〜Ｃ６４）が得られる。
【００８６】
次いで、ステップＳＴ１４０３において、組み合わせ器１０４のセレクタ１０９は、ハフマン復号化器１０２によって得られたブロックＢＫ１のＤＣＴ係数データ（ＢＫ１−Ｃ１〜Ｃ６４）を、係数メモリＭ４の記憶領域ｄ１−ｄ５に順次転送する。そして、逆量子化器１０５は、係数メモリＭ４に格納されたブロックＢＫ１のＤＣＴ係数データ（ＢＫ１−Ｃ１〜Ｃ６４）を、量子化テーブルＴＢ２に格納された量子化値に基づいて逆量子化する。
【００８７】
次いで、ステップＳＴ１４０４において、逆ＤＣＴ変換器１０６は、逆量子化器１０５によって逆量子化されたブロックＢＫ１のＤＣＴ係数データ（ＢＫ１−Ｃ１〜Ｃ６４）に対して逆ＤＣＴ変換を施す。これにより、ブロックＢＫ１の伸長画像データが得られる。
【００８８】
次いで、ステップＳＴ１４０５において、色空間変換器１０７は、逆ＤＣＴ変換によって得られたブロックＢＫ１の伸長画像データの色空間を、輝度成分および色差成分（Ｙ，Ｕ，Ｖ）から３原色成分（Ｒ，Ｇ，Ｂ）に変換する。
【００８９】
次いで、ステップＳＴ１４０６において、色数削減器１０８は、ブロックＢＫ１の伸長画像データの色数を削減する。このとき、色数削減処理の前後で画像の見栄えができるだけ相違しないように、誤差拡散手法などの技術を用いて処理する。
【００９０】
次いで、ステップＳＴ１４０７において、色数削減器１０８からのブロックＢＫ１の伸長画像データが伸長画像用メモリＭ２に転送される。
【００９１】
次いで、ステップＳＴ１４０８において、すべてのブロックＢＫ１−ＢＫ１６の伸長画像データが伸長画像用メモリＭ２に転送されたか否かが判定される。すべてのブロックＢＫ１−ＢＫ１６の伸長画像データが転送された場合には、処理を終了する。そうでない場合には、ステップＳＴ１４０２に戻る。ここでは、未だブロックＢＫ２−ＢＫ１６の伸長画像データが転送されていないのでステップＳＴ１４０２に戻る。そして、上述したブロックＢＫ１における処理と同様にして、ブロックＢＫ２−ＢＫ１６の伸長画像データが伸長画像用メモリＭ２に転送される。
【００９２】
以上のようにして、シーケンシャル符号化された圧縮画像データの伸長画像データが得られる。
【００９３】
＜効果＞
以上のように、この発明の第１の実施形態による画像処理装置では、解析器１０１と、入力手段ｉ１−ｉ５と、セレクタ１０３と、組み合わせ器１０４とを設けたため、プログレッシブ符号化された圧縮画像データの伸長処理をブロック単位で行うことができる。そして、各段階のＤＣＴ係数データを組み合わせるために必要となるメモリＭ４の容量は、１ブロック分のＤＣＴ係数データを記憶することができる容量があればよい。このように、必要なメモリの容量を小さくすることができるため、携帯電話などの小型携帯端末に搭載する画像処理装置として利用することができる。
【００９４】
また、各段階のＤＣＴ係数データを組み合わせた後に逆ＤＣＴ変換を行うため、逆ＤＣＴ変換の演算量を低減することができる。
【００９５】
なお、ここでは、直交変換／逆直交変換としてＤＣＴ変換／逆ＤＣＴ変換を用い、エントロピー符号化／復号化としてハフマン符号化／復号化を用いた場合について説明したが、これ以外の直交変換／逆直交変換、エントロピー符号化／復号化を用いてもよい。
【００９６】
また、プログレッシブ符号化の実現方法として、量子化されたＤＣＴ係数データを周波数に基づいて複数の段階に分割する場合について説明したが、これに代えてその他の実現方法、例えば、量子化されたＤＣＴ係数データをビットごとに複数の段階に分割する方法を用いてもよい。
【００９７】
また、第１の実施形態による画像処理装置は、必ずしもハードウエア構成を必要とするものではなく、ソフトウエアでも実現することができる。
【００９８】
また、図７に示したブロック単位での伸長処理ＳＴ７０２−ＳＴ７１２の前処理として以下の処理を行うことによって、まずブロックＢＫ１−ＢＫ１６の第１段階の符号化データを伸長した画像データ（解像度および階調性の低い大まかな全体画像）を表示し、次いで、ブロック単位での伸長処理ＳＴ７０２−ＳＴ７１２による伸長画像データを表示することもできる。
【００９９】
＜前処理＞
まず、解析器１０１は、ブロックＢＫ１−ＢＫ１６の第１段階の符号化データ（ＥＣ１）をハフマン復号化器１０２へ供給する。そして、ハフマン復号化器１０２は、符号化テーブルＴＢ１に格納されたハフマンテーブルを参照して、ブロックＢＫ１−ＢＫ１６の第１段階の符号化データ（ＥＣ１）をハフマン復号化する。これにより、ブロックＢＫ１−ＢＫ１６の第１段階のＤＣＴ係数データＣ１が得られる。
【０１００】
次いで、組み合わせ器１０４は、ハフマン復号化器１０２によって得られたブロックＢＫ１−ＢＫ１６の第１段階のＤＣＴ係数データＣ１を逆量子化器１０５へ順次転送する。そして、逆量子化器１０５は、ブロックＢＫ１−ＢＫ１６の第１段階のＤＣＴ係数データＣ１を、量子化テーブルＴＢ２に格納された量子化値に基づいて逆量子化する。
【０１０１】
次いで、逆ＤＣＴ変換器１０６は、逆量子化器１０５によって逆量子化されたブロックＢＫ１−ＢＫ１６の第１段階のＤＣＴ係数データＣ１に対して逆ＤＣＴ変換を施す。これにより、ブロックＢＫ１−ＢＫ１６の第１段階の伸長画像データが得られる。
【０１０２】
次いで、色空間変換器１０７は、逆ＤＣＴ変換によって得られたブロックＢＫ１−ＢＫ１６の第１段階の伸長画像データの色空間を、輝度成分および色差成分（Ｙ，Ｕ，Ｖ）から３原色成分（Ｒ，Ｇ，Ｂ）に変換する。
【０１０３】
次いで、色数削減器１０８は、ブロックＢＫ１−ＢＫ１６の第１段階の伸長画像データの色数を削減する。そして、色数削減器１０８からのブロックＢＫ１−ＢＫ１６の第１段階の伸長画像データが伸長画像用メモリＭ２に転送される。
【０１０４】
以上のようにして、ブロックＢＫ１−ＢＫ１６の第１段階の符号化データを伸長した画像データが得られる。
【０１０５】
（第２の実施形態）
＜全体構成＞
図１５は、この発明の第２の実施形態による画像処理装置の全体構成を示すブロック図である。図１５を参照して、この画像処理装置は、ＣＰＵ１５００と、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）１５１０と、共有メモリＭ１１，Ｍ１２とを備える。
【０１０６】
ＣＰＵ１５００は、圧縮画像用メモリＭ１と、データ転送器１５０１と、伸長画像用メモリＭ２とを含む。データ転送器１５０１は、共有メモリＭ１２に格納された位置情報に基づいて、各段階の符号化データを圧縮画像用メモリＭ１から共有メモリＭ１１に転送する。
【０１０７】
共有メモリＭ１１，Ｍ１２は、ＣＰＵ１５００およびＤＳＰ１５１０の双方からアクセス可能なメモリである。共有メモリＭ１１は、圧縮画像用メモリＭ１からの圧縮画像データおよびデータ転送器１５０１からの各段階の符号化データを格納するためのメモリである。データ転送器１５０１からの各段階の符号化データは記憶領域ａ１１−ａ１５に格納される。共有メモリＭ１２は、解析器１５１１によって検出された位置情報および色数削減器１０８からの伸長画像データを格納するためのメモリである。
【０１０８】
ＤＳＰ１５１０は、解析器１５１１と、ハフマン復号化器１０２と、セレクタ１０３と、組み合わせ器１０４と、逆量子化器１０５と、逆ＤＣＴ変換器１０６と、色空間変換器１０７と、色数削減器１０８と、符号化テーブルＴＢ１と、量子化テーブルＴＢ２とを含む。組み合わせ器１０４は、セレクタ１０９と、係数メモリＭ４とを含む。
【０１０９】
解析器１５１１は、共有メモリＭ１１に格納された圧縮画像データのヘッダを解析し、符号化方式、量子化値、ハフマンテーブルなど、伸長処理に必要な情報を獲得する。また、解析器１５１１は、ハフマンテーブルを符号化テーブルＴＢ１へ、量子化値を量子化テーブルＴＢ２へ転送する。また、解析器１５１１は、共有メモリＭ１１に格納された圧縮画像データがシーケンシャル符号化されているときは、符号化データをハフマン復号化器１０２に転送する。一方、解析器１５１１は、共有メモリＭ１１に格納された圧縮画像データがプログレッシブ符号化されているときは、各段階の符号化データが格納されている位置を検出し、当該位置の情報を共有メモリＭ１２に転送する。
【０１１０】
＜伸長処理＞
次に、図１５に示した画像処理装置による伸長処理について説明する。以下、（ａ）プログレッシブ符号化された圧縮画像データの伸長処理、（ｂ）シーケンシャル符号化された圧縮画像データの伸長処理とに分けて説明する。なお、圧縮画像データの構造は、図４および図６に示したものと同様とする。
【０１１１】
（ａ）プログレッシブ符号化された圧縮画像データの伸長処理
図１６は、プログレッシブ符号化された圧縮画像データの伸長処理の手順を示すフローチャートである。以下、図１６および図１５を参照しつつ説明する。なお、図１６中、ステップＳＴ１６０１，ＳＴ１６０５，ＳＴ１６０６，ＳＴ１６１５，ＳＴ１６１７は、ＣＰＵ１５００における処理であり、ステップＳＴ１６０２−ＳＴ１６０４，ＳＴ１６０７−ＳＴ１６１４，ＳＴ１６１６は、ＤＳＰ１５１０における処理である。
【０１１２】
ＣＰＵ１５００は、外部から圧縮画像データを取り込み（例えば、インターネットにアクセスするなどして）、圧縮画像用メモリＭ１に格納する。
【０１１３】
そして、ステップＳＴ１６０１において、ＣＰＵ１５００は、圧縮画像用メモリＭ１に記憶された圧縮画像データを共有メモリＭ１１へ転送する。
【０１１４】
次いで、ステップＳＴ１６０２において、解析器１５１１は、共有メモリＭ１１に格納された圧縮画像データ（図６参照）のフレームヘッダを解析して、符号化方式（プログレッシブ符号化、シーケンシャル符号化）、画像サイズなどの情報を得る。これにより、この圧縮画像データがプログレッシブ符号化されたデータであることが認識される。また、解析器１５１１は、圧縮画像データ（図６参照）のテーブルデータから量子化値を抽出して量子化テーブルＴＢ２に転送し、ハフマンテーブルを抽出して符号化テーブルＴＢ１に転送する。
【０１１５】
次いで、ステップＳＴ１６０３において、解析器１５１１は、圧縮画像データ（図６参照）の各段階のスキャンヘッダを識別し、各段階の符号化データが格納されている位置を検出する。具体的には、解析器１５１１は、ブロックＢＫ１の第１段階の符号化データの先頭は圧縮画像データの先頭から何バイト目であるか、ブロックＢＫ１の第２段階の符号化データの先頭は圧縮画像データの先頭から何バイト目であるか、ブロックＢＫ１の第３段階の符号化データの先頭は圧縮画像データの先頭から何バイト目であるか、ブロックＢＫ１の第４段階の符号化データの先頭は圧縮画像データの先頭から何バイト目であるか、ブロックＢＫ１の第５段階の符号化データの先頭は圧縮画像データの先頭から何バイト目であるか、という位置情報を検出する。
【０１１６】
なお、ＣＰＵ１５００は、ステップＳＴ１６０１において、圧縮画像用メモリＭ１に記憶された圧縮画像データのすべてを共有メモリＭ１１へ転送する必要はなく、まず先頭から所定量のデータを転送し、次いで、ステップＳＴ１６０３において位置情報の検出が終了した分だけ次のデータを適宜補充するようにしてもよい。
【０１１７】
各段階の符号化データが格納されている位置の検出が終了すると、ステップＳＴ１６０４において、解析器１５１１は、当該位置情報を共有メモリＭ１２に転送する。
【０１１８】
次いで、ステップＳＴ１６０５において、ＣＰＵ１５００は、共有メモリＭ１２に格納された位置情報に基づいて各段階の符号化データのデータ量を概算し、このデータ量に基づいて、共有メモリＭ１１の記憶領域ａ１１−ａ１５を割り当てる。プログレッシブ符号化された各段階の符号化データのデータ量は、段階ごとに異なっているため、共有メモリＭ１１の各記憶領域ａ１１−ａ１５を等しい大きさに割り当てたのでは共有メモリＭ１１の有効活用が図れないからである。これにより、共有メモリＭ１１を有効に利用することができる。
【０１１９】
次いで、ステップＳＴ１６０６において、データ転送器１５０１は、共有メモリＭ１２に格納された位置情報に基づいてブロックＢＫ１の各段階の符号化データを圧縮画像用メモリＭ１から共有メモリＭ１１に転送する。第１段階の符号化データは記憶領域ａ１１に、第２段階の符号化データは記憶領域ａ１２に、第３段階の符号化データは記憶領域ａ１３に、第４段階の符号化データは記憶領域ａ１４に、第５段階の符号化データは記憶領域ａ１５にそれぞれ格納される。
【０１２０】
そして、解析器１５１１は、共有メモリＭ１２に格納された位置情報を、共有メモリＭ１１に転送された符号化データのバイト数だけインクリメントする。これにより、共有メモリＭ１２に格納された位置情報は、次のブロックであるブロックＢＫ２の各段階の符号化データの先頭が圧縮画像データの先頭から何バイト目であるかを示すことになる。
【０１２１】
次いで、ステップＳＴ１６０７において、セレクタ１０３は、共有メモリＭ１１の記憶領域ａ１１に格納されたブロックＢＫ１の第１段階の符号化データ（ＢＫ１−ＥＣ１）をハフマン復号化器１０２に供給する。ハフマン復号化器１０２は、符号化テーブルＴＢ１に格納されたハフマンテーブルを参照して、ブロックＢＫ１の第１段階の符号化データ（ＢＫ１−ＥＣ１）をハフマン復号化する。これにより、ブロックＢＫ１の第１段階のＤＣＴ係数データ（ＢＫ１−Ｃ１）が得られる。
【０１２２】
次いで、ステップＳＴ１６０８において、組み合わせ器１０４のセレクタ１０９は、ハフマン復号化器１０２によって得られたブロックＢＫ１の第１段階のＤＣＴ係数データ（ＢＫ１−Ｃ１）を、係数メモリＭ４の記憶領域ｄ１に転送する。ブロックＢＫ１の第１段階のＤＣＴ係数データ（ＢＫ１−Ｃ１）は、記憶領域ｄ１に格納される。
【０１２３】
次いで、ステップＳＴ１６０９において、ブロックＢＫ１の全段階のＤＣＴ係数データが係数メモリＭ４に格納されたか否かが判定される。全段階のＤＣＴ係数データが格納された場合にはステップＳＴ１６１０に進む。全段階のＤＣＴ係数データが格納されていない場合にはステップＳＴ１６０７に戻る。ここでは、未だ第２段階−第５段階のＤＣＴ係数データが格納されていないのでステップＳＴ１６０７に戻る。以下、第１の実施形態におけるのと同様にして、ステップＳＴ１６０７−ＳＴ１６０９における処理を繰り返してブロックＢＫ１の第２段階−第５段階のＤＣＴ係数データを記憶領域ｄ２−ｄ５に格納し、ブロックＢＫ１のＤＣＴ係数データ（ＢＫ１−Ｃ１〜Ｃ６４）を得る。そして、ステップＳＴ１６０９の判定によってステップＳＴ７０７に進む。
【０１２４】
次いで、ステップＳＴ１６１０において、逆量子化器１０５は、組み合わせ器１０４によって得られたブロックＢＫ１のＤＣＴ係数データ（ＢＫ１−Ｃ１〜Ｃ６４）を、量子化テーブルＴＢ２に格納された量子化値に基づいて逆量子化する。
【０１２５】
次いで、ステップＳＴ１６１１において、逆ＤＣＴ変換器１０６は、逆量子化器１０５によって逆量子化されたブロックＢＫ１のＤＣＴ係数データ（ＢＫ１−Ｃ１〜Ｃ６４）に対して逆ＤＣＴ変換を施す。これにより、ブロックＢＫ１の伸長画像データが得られる。
【０１２６】
次いで、ステップＳＴ１６１２において、色空間変換器１０７は、逆ＤＣＴ変換によって得られたブロックＢＫ１の伸長画像データの色空間を、輝度成分および色差成分（Ｙ，Ｕ，Ｖ）から３原色成分（Ｒ，Ｇ，Ｂ）に変換する。
【０１２７】
次いで、ステップＳＴ１６１３において、色数削減器１０８は、ブロックＢＫ１の伸長画像データの色数を削減する。このとき、色数削減処理の前後で画像の見栄えができるだけ相違しないように、誤差拡散手法などの技術を用いて処理する。
【０１２８】
次いで、ステップＳＴ１６１４において、色数削減器１０８からのブロックＢＫ１の伸長画像データが共有メモリＭ１２に転送される。そして、ステップＳＴ１６１６において、すべてのブロックＢＫ１−ＢＫ１６の伸長画像データが共有メモリＭ１２に転送されたか否かが判定される。すべてのブロックＢＫ１−ＢＫ１６の伸長画像データが転送された場合には、処理を終了する。そうでない場合には、ステップＳＴ１６０７に戻る。ここでは、未だブロックＢＫ２−ＢＫ１６の伸長画像データが転送されていないのでステップＳＴ１６０７に戻る。
【０１２９】
次いで、ステップＳＴ１６１５において、共有メモリＭ１２に格納されたブロックＢＫ１の伸長画像データが伸長画像用メモリＭ２に転送される。そして、ステップＳＴ１６１７において、すべてのブロックＢＫ１−ＢＫ１６の伸長画像データが伸長画像用メモリＭ２に格納されたか否かが判定される。すべてのブロックＢＫ１−ＢＫ１６の伸長画像データが格納された場合には処理を終了する。そうでない場合には、ステップＳＴ１６０６に戻る。ここでは、未だブロックＢＫ２−ＢＫ１６の伸長画像データが格納されていないのでステップＳＴ１６０６に戻る。
【０１３０】
そして、ステップＳＴ１６０６において、データ転送器１５０１は、共有メモリＭ１２に格納されている位置情報に基づいて、ブロックＢＫ２の各段階の符号化データを圧縮画像用メモリＭ１から共有メモリＭ１１の記憶領域ａ１１−ａ１５に転送する。以降、上述したブロックＢＫ１における処理と同様の処理が行われ、ブロックＢＫ２の伸長画像データが伸長画像用メモリＭ２に転送される。
【０１３１】
さらに、ブロックＢＫ３−ＢＫ１６についても上述のブロックＢＫ１，ＢＫ２における処理と同様の処理が行われ、ブロックＢＫ３−ＢＫ１６の伸長画像データが伸長画像用メモリＭ２に転送される。そして、ステップＳＴ１６１６，ＳＴ１６１７の判定によって処理を終了する。
【０１３２】
以上のようにして、プログレッシブ符号化された圧縮画像データの伸長画像データが得られる。この伸長画像データを表示装置に表示すると、シーケンシャル符号化された圧縮画像データを伸長した画像データを表示するときと同様に、ブロックＢＫ１−ＢＫ１６の伸長画像データが順次表示される。
【０１３３】
このように、第２の実施形態による画像処理装置では、プログレッシブ符号化された圧縮画像データの伸長処理を、ＣＰＵ１５００およびＤＳＰ１５１０の２つのプロセッサによって行うことができる。そして、共有メモリＭ１１，Ｍ１２を設けたため、圧縮画像データを記憶するためのメモリをＤＳＰ１５１０に設ける必要がない。これにより、ＤＳＰ１５１０に必要となるメモリの容量を小さくすることができる。
【０１３４】
また、第１の実施形態と同様に、各段階のＤＣＴ係数データを組み合わせるために必要となるメモリＭ４の容量は、１ブロック分のＤＣＴ係数データを記憶することができる容量があればよい。このように、必要なメモリの容量を小さくすることができるため、携帯電話などの小型携帯端末に搭載する画像処理装置として利用することができる。なお、小型携帯端末に搭載する画像処理装置以外の画像処理装置としても利用することができることはいうまでもない。
【０１３５】
（ｂ）シーケンシャル符号化された圧縮画像データの伸長処理
図１７は、シーケンシャル符号化された圧縮画像データの伸長処理の手順を示すフローチャートである。以下、図１７および図１５を参照しつつ説明する。なお、図１７中、ステップＳＴ１７０１，ＳＴ１７０９，ＳＴ１７１１は、ＣＰＵ１５００における処理であり、ステップＳＴ１７０２−ＳＴ１７０８，ＳＴ１７１０は、ＤＳＰ１５１０における処理である。
【０１３６】
ＣＰＵ１５００は、外部から圧縮画像データを取り込み（例えば、インターネットにアクセスするなどして）、圧縮画像用メモリＭ１に格納する。
【０１３７】
そして、ステップＳＴ１７０１において、ＣＰＵ１５００は、圧縮画像用メモリＭ１に記憶された圧縮画像データを共有メモリＭ１１へ転送する。
【０１３８】
次いで、ステップＳＴ１７０２において、解析器１５１１は、共有メモリＭ１１に格納された圧縮画像データ（図４参照）のフレームヘッダを解析して、符号化方式（プログレッシブ符号化、シーケンシャル符号化）、画像サイズなどの情報を得る。これにより、この圧縮画像データがシーケンシャル符号化されたデータであることが認識される。また、解析器１５１１は、圧縮画像データ（図４参照）のテーブルデータから量子化値を抽出して量子化テーブルＴＢ２に転送し、ハフマンテーブルを抽出して符号化テーブルＴＢ１に転送する。
【０１３９】
次いで、ステップＳＴ１７０３において、解析器１５１１は、ブロックＢＫ１の符号化データ（ＢＫ１−ＥＣ１〜ＥＣ６４）をハフマン復号化器１０２へ供給する。そして、ハフマン復号化器１０２は、符号化テーブルＴＢ１に格納されたハフマンテーブルを参照して、ブロックＢＫ１の符号化データ（ＢＫ１−ＥＣ１〜ＥＣ６４）をハフマン復号化する。これにより、ブロックＢＫ１のＤＣＴ係数データＣ１〜Ｃ６４が得られる。
【０１４０】
次いで、ステップＳＴ１７０４において、組み合わせ器１０４のセレクタ１０９は、ハフマン復号化器１０２によって得られたブロックＢＫ１のＤＣＴ係数データを、係数メモリＭ４の記憶領域ｄ１−ｄ５に順次転送する。そして、逆量子化器１０５は、係数メモリＭ４に格納されたブロックＢＫ１のＤＣＴ係数データＣ１−Ｃ６４を、量子化テーブルＴＢ２に格納された量子化値に基づいて逆量子化する。
【０１４１】
次いで、ステップＳＴ１７０５において、逆ＤＣＴ変換器１０６は、逆量子化器１０５によって逆量子化されたブロックＢＫ１のＤＣＴ係数データＣ１−Ｃ６４に対して逆ＤＣＴ変換を施す。これにより、ブロックＢＫ１の伸長画像データが得られる。
【０１４２】
次いで、ステップＳＴ１７０６において、色空間変換器１０７は、逆ＤＣＴ変換によって得られたブロックＢＫ１の伸長画像データの色空間を、輝度成分および色差成分（Ｙ，Ｕ，Ｖ）から３原色成分（Ｒ，Ｇ，Ｂ）に変換する。
【０１４３】
次いで、ステップＳＴ１７０７において、色数削減器１０８は、ブロックＢＫ１の伸長画像データの色数を削減する。このとき、色数削減処理の前後で画像の見栄えができるだけ相違しないように、誤差拡散手法などの技術を用いて処理する。
【０１４４】
次いで、ステップＳＴ１７０８において、色数削減器１０８からのブロックＢＫ１の伸長画像データが共有メモリＭ１２に転送される。そして、ステップＳＴ１７１０において、すべてのブロックＢＫ１−ＢＫ１６の伸長画像データが共有メモリＭ１２に転送されたか否かが判定される。すべてのブロックＢＫ１−ＢＫ１６の伸長画像データが転送された場合には、処理を終了する。そうでない場合には、ステップＳＴ１７０３に戻る。ここでは、未だブロックＢＫ２−ＢＫ１６の伸長画像データが転送されていないのでステップＳＴ１７０３に戻る。
【０１４５】
次いで、ステップＳＴ１７０９において、共有メモリＭ１２に格納されたブロックＢＫ１の伸長画像データが伸長画像用メモリＭ２に転送される。そして、ステップＳＴ１７１１において、すべてのブロックＢＫ１−ＢＫ１６の伸長画像データが伸長画像用メモリＭ２に格納されたか否かが判定される。すべてのブロックＢＫ１−ＢＫ１６の伸長画像データが格納された場合には処理を終了する。そうでない場合には、ステップＳＴ１７０１に戻る。ここでは、未だブロックＢＫ２−ＢＫ１６の伸長画像データが格納されていないのでステップＳＴ１７０１に戻る。
【０１４６】
以降、上述したブロックＢＫ１における処理と同様にして、ブロックＢＫ２−ＢＫ１６の伸長画像データが伸長画像用メモリＭ２に格納される。
【０１４７】
以上のようにして、シーケンシャル符号化された圧縮画像データの伸長画像データが得られる。
【０１４８】
＜効果＞
この発明の第２の実施形態による画像処理装置では、プログレッシブ符号化された圧縮画像データの伸長処理を、ＣＰＵ１５００およびＤＳＰ１５１０の２つのプロセッサによって行うことができる。そして、共有メモリＭ１１，Ｍ１２を設けたため、圧縮画像データを記憶するためのメモリをＤＳＰ１５１０に設ける必要がない。これにより、ＤＳＰ１５１０に必要となるメモリの容量を小さくすることができる。
【０１４９】
また、各段階のＤＣＴ係数データを組み合わせるために必要となるメモリＭ４の容量は、１ブロック分のＤＣＴ係数データを記憶することができる容量があればよい。このように、必要なメモリの容量を小さくすることができるため、携帯電話などの小型携帯端末に搭載する画像処理装置として利用することができる。
【０１５０】
また、各段階のＤＣＴ係数データを組み合わせた後に逆ＤＣＴ変換を行うため、逆ＤＣＴ変換の演算量を低減することができる。
【０１５１】
なお、ここでは、直交変換／逆直交変換としてＤＣＴ変換／逆ＤＣＴ変換を用い、エントロピー符号化／復号化としてハフマン符号化／復号化を用いた場合について説明したが、これ以外の直交変換／逆直交変換、エントロピー符号化／復号化を用いてもよい。
【０１５２】
また、プログレッシブ符号化の実現方法として、量子化されたＤＣＴ係数データを周波数に基づいて複数の段階に分割する場合について説明したが、これに代えてその他の実現方法、例えば、量子化されたＤＣＴ係数データをビットごとに複数の段階に分割する方法を用いてもよい。
【０１５３】
また、第２の実施形態による画像処理装置は、必ずしもハードウエア構成を必要とするものではなく、ソフトウエアでも実現することができる。
【０１５４】
また、図１６に示したブロック単位での伸長処理の前処理としてブロックＢＫ１−ＢＫ１６の第１段階の符号化データを伸長した画像データ（解像度および階調性の低い大まかな全体画像）を表示し、次いで、図１６に示したブロック単位での伸長処理による伸長画像データを表示することもできる。
【０１５５】
【発明の効果】
この発明の１つの局面に従った画像処理装置は、抽出手段と、組み合わせ手段とを設けたため、各段階の係数データを組み合わせるために必要となるメモリの容量は、１ブロック分の係数データを記憶することができる容量で足りる。これにより、必要なメモリの容量を小さくすることができる。
【０１５６】
この発明のもう１つの局面に従った画像処理装置は、第１のプロセッサと、第２のプロセッサと、共有メモリとを設けたため、２つのプロセッサによって圧縮画像データの伸長処理を行うことができる。そして、各段階の係数データを組み合わせるために必要となるメモリの容量は、１ブロック分の係数データを記憶することができる容量で足りる。これにより、必要なメモリの容量を小さくすることができる。
【０１５７】
この発明のさらにもう１つの局面に従った画像処理方法は、ブロック単位で伸長処理を行うものであり、かつ、伸長処理では、抽出ステップと、組み合わせステップとを行うため、各段階の係数データを組み合わせるために必要となるメモリの容量は、１ブロック分の係数データを記憶することができる容量で足りる。これにより、必要なメモリの容量を小さくすることができる。
【図面の簡単な説明】
【図１】この発明の第１の実施形態による画像処理装置の全体構成を示すブロック図である。
【図２】複数のブロックに分割された原画像を示す図である。
【図３】ＤＣＴ変換によって得られたＤＣＴ係数データを示す図である。
【図４】シーケンシャル符号化された圧縮画像データのデータ構造を示す図である。
【図５】複数の段階に分割されたＤＣＴ係数データを示す図である。
【図６】プログレッシブ符号化された圧縮画像データのデータ構造を示す図である。
【図７】プログレッシブ符号化された圧縮画像データの伸長処理の手順を示すフローチャートである。
【図８】各段階の符号化データが格納されている位置の情報が各入力手段に与えられる様子を示す図である。
【図９】ハフマン復号化器によって得られた第１段階のＤＣＴ係数データが係数メモリに格納される様子を示す図である。
【図１０】ハフマン復号化器によって得られた第２段階のＤＣＴ係数データが係数メモリに格納される様子を示す図である。
【図１１】ハフマン復号化器によって得られた第３段階のＤＣＴ係数データが係数メモリに格納される様子を示す図である。
【図１２】ハフマン復号化器によって得られた第４段階のＤＣＴ係数データが係数メモリに格納される様子を示す図である。
【図１３】ハフマン復号化器によって得られた第５段階のＤＣＴ係数データが係数メモリに格納される様子を示す図である。
【図１４】シーケンシャル符号化された圧縮画像データの伸長処理の手順を示すフローチャートである。
【図１５】この発明の第２の実施形態による画像処理装置の全体構成を示すブロック図である。
【図１６】プログレッシブ符号化された圧縮画像データの伸長処理の手順を示すフローチャートである。
【図１７】シーケンシャル符号化された圧縮画像データの伸長処理の手順を示すフローチャートである。
【符号の説明】
１０１，１５０１，１５１１  解析器
１０２  ハフマン復号化器
１０３，１０９  セレクタ
１０４  組み合わせ器
１０６  逆ＤＣＴ変換器
１５００  ＣＰＵ
１５１０  ＤＳＰ
ｉ１−ｉ５  入力手段
Ｍ４  係数メモリ
Ｍ１１，Ｍ１２  共有メモリ
ｄ１−ｄ５，ａ１１−ａ１５  記憶領域
【図１】
0003633860.tif 000002
【図２】
0003633860.tif 000003
【図３】
0003633860.tif 000004
【図４】
0003633860.tif 000005
【図５】
0003633860.tif 000006
【図６】
0003633860.tif 000007
【図７】
0003633860.tif 000008
【図８】
0003633860.tif 000009
【図９】
0003633860.tif 000010
【図１０】
0003633860.tif 000011
【図１１】
0003633860.tif 000012
【図１２】
0003633860.tif 000013
【図１３】
0003633860.tif 000014
【図１４】
0003633860.tif 000015
【図１５】
0003633860.tif 000016
【図１６】
0003633860.tif 000017
【図１７】
0003633860.tif 000018