JP3633860B2 - 画像処理装置および画像処理方法 - Google Patents
画像処理装置および画像処理方法 Download PDFInfo
- Publication number
- JP3633860B2 JP3633860B2 JP2000273752A JP2000273752A JP3633860B2 JP 3633860 B2 JP3633860 B2 JP 3633860B2 JP 2000273752 A JP2000273752 A JP 2000273752A JP 2000273752 A JP2000273752 A JP 2000273752A JP 3633860 B2 JP3633860 B2 JP 3633860B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- stage
- block
- image data
- compressed image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
Description
【発明の属する技術分野】
この発明は画像処理装置および画像処理方法に関し、さらに詳しくは、プログレッシブ符号化された圧縮画像データを伸張する画像処理装置および画像処理方法に関する。
【0002】
【従来の技術】
インターネット上でやりとりされる静止画像データには、シーケンシャル符号化された圧縮画像データとプログレッシブ符号化された圧縮画像データとがある。通常、PC(パーソナル・コンピュータ)など、インターネット上でやりとりされる静止画像データを扱う端末には、シーケンシャル符号化された圧縮画像データだけでなくプログレッシブ符号化された圧縮画像データも伸長することができる画像処理装置が設けられている。
【0003】
この画像処理装置でシーケンシャル符号化された圧縮画像データを伸長するときは、各ブロックごとに伸長処理を行う。この結果、画面の左上から右下に向けて徐々に最終画像が表示される。
【0004】
一方、プログレッシブ符号化された圧縮画像を伸長するときは、まず、圧縮画像データのうちの第1段階の符号化データの伸長処理を行う。これにより、解像度および階調性の低い大まかな全体画像が得られる。次いで、圧縮画像データのうちの第2段階の符号化データの伸長処理を行い、すでに得られた第1段階の伸長画像データと重ね合わせる。これにより、第1段階の符号化データを伸長して得られた伸長画像データよりも解像度および階調性が向上した伸長画像データが得られる。以降、最終段階の符号化データまで、各段階の符号化データの伸長処理を行い、それまでに得られた伸長画像データと重ね合わせるという処理を繰り返す。この結果、まず解像度および階調性の低いおおまかな1枚の全体画像が表示され、以降、段階的に解像度および階調性が向上した全体画像が表示される。
【0005】
【発明が解決しようとする課題】
上述の画像処理装置では、プログレッシブ符号化された圧縮画像を伸長するために、各段階の符号化データを伸長して得られた伸長画像データを格納するためのメモリが必要となる。ところが、一般に、圧縮画像データを伸張して得られる伸長画像データを記憶するために必要なメモリの容量は、圧縮画像データを記憶するために必要なメモリの容量に対して10倍以上となる。
【0006】
近年のインターネットの急速な普及に伴い、PCだけではなく、携帯電話等の小型軽量の携帯端末でも静止画像データが扱われるようになってきている。これらの携帯端末の小型軽量化を図るためには、搭載される画像処理装置において必要となるメモリの容量をできるだけ小さくする必要がある。
【0007】
この発明は、上述のような問題を解決するためになされたものであり、その目的は、必要なメモリの容量を小さくすることができる画像処理装置を提供することである。
【0008】
【課題を解決するための手段】
この発明の1つの局面に従うと、画像処理装置は、原画像を複数のブロックに分割し、各ブロックごとに、直交変換を施して得られた係数データを複数の段階に分割し、各段階ごとに係数データをエントロピー符号化することによって得られた圧縮画像データを伸長する画像処理装置であって、抽出手段と、エントロピー復号化手段と、組み合わせ手段と、逆直交変換手段とを備える。抽出手段は、あるブロックに対する各段階の符号化データを圧縮画像データから抽出する。エントロピー復号化手段は、抽出手段によって抽出された上記ブロックに対する各段階の符号化データをエントロピー復号化する。組み合わせ手段は、エントロピー復号化手段によって得られた上記ブロックに対する各段階の係数データを組み合わせて上記ブロックの係数データを得る。逆直交変換手段は、組み合わせ手段によって得られた上記ブロックの係数データに対して逆直交変換を施す。
【0009】
上記画像処理装置では、あるブロックに対する各段階の符号化データが抽出手段によって抽出され、エントロピー復号化手段によってエントロピー復号化される。これにより、上記ブロックに対する各段階の係数データが得られる。これら各段階の係数データが組み合わせ手段によって組み合わされて、上記ブロックの係数データが得られる。そして、この係数データが逆直交変換手段によって逆直交変換され、上記ブロックに対する原画像データが得られる。以上の処理をすべてのブロックに対して行うことによって1画面全体の原画像が得られる。
【0010】
以上のように、上記画像処理装置では、抽出手段と、組み合わせ手段とを設けたため、各段階の係数データを組み合わせるために必要となるメモリの容量は、1ブロック分の係数データを記憶することができる容量で足りる。これにより、必要なメモリの容量を小さくすることができる。
【0011】
また、各段階の係数データを組み合わせた後に逆直交変換を行うため、逆直交変換手段における演算量を低減することができる。
【0012】
好ましくは、上記抽出手段は、検出手段と、転送手段とを含む。検出手段は、圧縮画像データから、上記ブロックに対する各段階の符号化データが格納されている位置を検出する。転送手段は、検出手段によって検出された位置に基づいて、上記ブロックに対する各段階の符号化データを圧縮画像データから抽出してエントロピー復号化手段に転送する。
【0013】
上記画像処理装置では、上記ブロックに対する各段階の符号化データが格納されている位置が圧縮画像データから検出される。この検出された位置に基づいて、上記ブロックに対する各段階の符号化データが圧縮画像データから抽出されてエントロピー復号化手段に転送される。
【0014】
この発明のもう1つの局面に従うと、画像処理装置は、原画像を複数のブロックに分割し、各ブロックごとに、直交変換を施して得られた係数データを複数の段階に分割し、各段階ごとに係数データをエントロピー符号化することによって得られた圧縮画像データを伸長する画像処理装置であって、第1のプロセッサと、第2のプロセッサと、共有メモリとを備える。第1のプロセッサは、圧縮画像データを記憶する圧縮画像用メモリを有する。共有メモリは、第1のプロセッサおよび第2のプロセッサの双方からアクセス可能なメモリである。そして、第1のプロセッサは、圧縮画像用メモリに記憶された圧縮画像データを共有メモリに転送する。第2のプロセッサは、共有メモリに転送された圧縮画像データから、あるブロックに対する各段階の符号化データが格納されている位置を検出する。第1のプロセッサはさらに、第2のプロセッサによって検出された位置に基づいて各段階の符号化データを圧縮画像用メモリから共有メモリに転送する。第2のプロセッサはさらに、共有メモリに転送された上記ブロックに対する各段階の符号化データをエントロピー復号化し、当該エントロピー復号化処理によって得られた上記ブロックに対する各段階の係数データを組み合わせて上記ブロックの係数データを得て、当該係数データに対して逆直交変換を施す。
【0015】
上記画像処理装置では、まず、第1のプロセッサによって、圧縮画像用メモリに記憶された圧縮画像データが共有メモリに転送される。次いで、第2のプロセッサによって、共有メモリに転送された圧縮画像データから、あるブロックに対する各段階の符号化データが格納されている位置が検出される。次いで、検出された位置に基づいて、第1のプロセッサによって、各段階の符号化データが圧縮画像用メモリから共有メモリに転送される。次いで、第2のプロセッサによって、共有メモリに転送された上記ブロックに対する各段階の符号化データがエントロピー復号化され、当該エントロピー復号化処理によって得られた上記ブロックに対する各段階の係数データが組み合わされて上記ブロックの係数データが得られ、当該係数データに対して逆直交変換が施される。このようにして上記ブロックに対する原画像データが得られる。そして、以上の処理をすべてのブロックに対して行うことによって1画面全体の原画像が得られる。
【0016】
以上のように、上記画像処理装置によれば、第1のプロセッサおよび第2のプロセッサの2つのプロセッサによって圧縮画像データの伸長処理を行うことができる。そして、各段階の係数データを組み合わせるために必要となるメモリの容量は、1ブロック分の係数データを記憶することができる容量で足りる。これにより、必要なメモリの容量を小さくすることができる。
【0017】
また、第2のプロセッサは、各段階の係数データを組み合わせた後に逆直交変換を行うため、逆直交変換に要する演算量を低減することができる。
【0018】
好ましくは、上記第1のプロセッサは、各段階の符号化データを圧縮画像用メモリから共有メモリに転送する際に、各段階の符号化データのデータ量に基づいて、共有メモリの記憶領域を各段階の符号化データに割り当てる。
【0019】
各段階の符号化データのデータ量は、段階ごとに異なる。上記画像処理装置では、各段階の符号化データのデータ量に基づいて共有メモリの記憶領域が割り当てられる。これにより、共有メモリの記憶領域を有効に使用することができる。
【0020】
この発明のさらにもう1つの局面に従うと、画像処理方法は、原画像を複数のブロックに分割し、各ブロックごとに、直交変換を施して得られた係数データを複数の段階に分割し、各段階ごとに係数データをエントロピー符号化することによって得られた圧縮画像データを伸長する画像処理方法であって、ブロック単位で伸長処理を行うものである。そして、上記伸長処理は、抽出ステップと、エントロピー符号化ステップと、組み合わせステップと、逆直交変換ステップとを備える。抽出ステップでは、当該ブロックに対する各段階の符号化データを圧縮画像データから抽出する。エントロピー復号化ステップでは、抽出ステップによって抽出された各段階の符号化データをエントロピー復号化する。組み合わせステップでは、エントロピー復号化ステップによって得られた各段階の係数データを組み合わせて当該ブロックの係数データを得る。逆直交変換ステップでは、組み合わせステップによって得られた当該ブロックの係数データに対して逆直交変換を施す。
【0021】
上記画像処理方法では、ブロック単位で伸長処理を行い、かつ、伸長処理では、抽出ステップと、組み合わせステップとを行うため、各段階の係数データを組み合わせるために必要となるメモリの容量は、1ブロック分の係数データを記憶することができる容量で足りる。これにより、必要なメモリの容量を小さくすることができる。
【0022】
また、各段階の係数データを組み合わせた後に逆直交変換を行うため、逆直交変換に要する演算量を低減することができる。
【0023】
好ましくは、上記画像処理方法はさらに、ブロック単位の伸長処理の前処理として、複数のブロックの各々に対するある段階の符号化データを抽出し、抽出した上記段階の符号化データをエントロピー復号化し、エントロピー復号化によって得られた上記段階の係数データに対して逆直交変換を施す。
【0024】
上記画像処理方法によれば、まず、複数のブロックの各々に対するある段階の符号化データを伸長した画像が得られ、次いで、ブロック単位での伸長処理によって原画像が得られる。
【0025】
【発明の実施の形態】
以下、この発明の実施の形態を図面を参照して詳しく説明する。なお、図中同一または相当部分には同一符号を付し、その説明は繰り返さない。
【0026】
(第1の実施形態)
<全体構成>
図1は、この発明の第1の実施形態による画像処理装置の全体構成を示すブロック図である。図1を参照して、この画像処理装置は、解析器101と、ハフマン復号化器102と、セレクタ103と、組み合わせ器104と、逆量子化器105と、逆DCT変換器106と、色空間変換器107と、色数削減器108と、入力手段i1−i5と、符号化テーブルTB1と、量子化テーブルTB2と、圧縮画像用メモリM1と、伸長画像用メモリM2とを備える。
【0027】
圧縮画像用メモリM1は、圧縮画像データを記憶するためのメモリである。
【0028】
解析器101は、圧縮画像用メモリM1に記憶された圧縮画像データのヘッダを解析し、符号化方式、量子化値、ハフマンテーブルなど、伸長処理に必要な情報を獲得する。また、解析器101は、ハフマンテーブルを符号化テーブルTB1へ、量子化値を量子化テーブルTB2へ転送する。また、解析器101は、圧縮画像用メモリM1に記憶された圧縮画像データがシーケンシャル符号化されているときは、符号化データをハフマン復号化器102に転送する。一方、解析器101は、圧縮画像用メモリM1に記憶された圧縮画像データがプログレッシブ符号化されているときは、各段階の符号化データが格納されている位置を検出し、当該位置の情報を入力手段i1−i5に出力する。
【0029】
入力手段i1−i5は、圧縮画像用メモリM1に記憶された各段階の符号化データを解析器101からの位置情報に基づいて抽出してセレクタ103に供給する。
【0030】
セレクタ103は、入力手段i1−i5からの各段階の符号化データを選択的にハフマン復号化器102に供給する。
【0031】
ハフマン復号化器102は、符号化テーブルTB1に格納されたハフマンテーブルを参照して、解析器101またはセレクタ103によって供給される符号化データをハフマン復号化する。
【0032】
組み合わせ器104は、セレクタ109と、係数メモリM4とを含む。係数メモリM4は、記憶領域d1−d5を含む。セレクタ109は、ハフマン復号化器102からのDCT係数データを係数メモリM4の記憶領域d1−d5に選択的に転送する。係数メモリM4は、記憶領域d1−d5に格納されたDCT係数データを逆量子化器105へ出力する。
【0033】
逆量子化器105は、量子化テーブルTB2に格納された量子化値を参照して、組み合わせ器104の係数メモリM4からのDCT係数データを逆量子化する。
【0034】
逆DCT変換器106は、逆量子化器105によって逆量子化されたDCT係数データに対して逆DCT変換を施す。
【0035】
色空間変換器107は、逆DCT変換器106によって得られた伸長画像データの色空間を、輝度成分および色差成分(Y,U,V)から3原色成分(R,G,B)に変換する。
【0036】
色数削減器108は、色空間変換器107からの伸長画像データの色数を削減する。
【0037】
伸長画像用メモリM2は、色数削減器108によって色数が削減された伸長画像データを記憶するためのメモリである。
【0038】
<圧縮画像データ>
次に、図1に示した圧縮画像用メモリM1に記憶される圧縮画像データについて説明する。圧縮画像データには、シーケンシャル符号化された圧縮画像データとプログレッシブ符号化された圧縮画像データとがある。それぞれの圧縮画像データは、原画像に対して以下のような処理を施すことによって圧縮されたものである。
【0039】
(a)シーケンシャル符号化された圧縮画像データ
まず、図2に示すように、原画像を複数のブロックBK1−BK16に分割する。各ブロックBKi(i=1−16)は、8×8画素で構成される。そして、1つのブロックBKiに対して以下の(1)〜(4)の処理を行う。
【0040】
(1)色空間変換
ブロックBKiの画像データの色空間を3原色成分(R,G,B)から輝度成分および色差成分(Y,U,V)に変換する。
【0041】
(2)DCT変換
色空間変換後のブロックBKiの画像データをDCT変換する。これにより、図3に示すようなDCT係数データC1−C64が得られる。
【0042】
(3)量子化
量子化テーブルに格納された量子化値に基づいてDCT係数データC1−C64を量子化する。
【0043】
(4)ハフマン符号化
量子化されたDCT係数データをジグザグスキャン順(周波数の低い順)に、すなわち、DCT係数データC1−DCT係数データC64の順にハフマン符号化する。これにより、ブロックBKiについての符号化データが得られる。
【0044】
以上の(1)〜(4)の処理をすべてのブロックBK1−BK16について行うことによって、図4に示すような圧縮画像データが得られる。図4に示す圧縮画像データは、テーブルデータ(ハフマンテーブル、量子化値)、フレームヘッダと、各ブロックの符号化データBKi−EC1〜EC64(i=1−16)とを有する。フレームヘッダには、圧縮画像データの符号化方式(シーケンシャル符号化されたデータであるか、プログレッシブ符号化されたデータであるか)を示す情報が含まれている。
【0045】
(b)プログレッシブ符号化された圧縮画像データ
まず、シーケンシャル符号化された圧縮画像データと同様に、原画像を複数のブロックBK1−BK16に分割する。そして、1つのブロックBKiに対して以下の(1)〜(4)の処理を行う。
【0046】
(1)色空間変換
ブロックBKiの画像データの色空間を3原色成分(R,G,B)から輝度成分および色差成分(Y,U,V)に変換する。
【0047】
(2)DCT変換
色空間変換後のブロックBKiの画像データをDCT変換する。これにより、図3に示すようなDCT係数データC1−C64が得られる。
【0048】
(3)量子化
量子化テーブルに格納された量子化値に基づいてDCT係数データC1−C64を量子化する。そして、量子化されたDCT係数データを周波数に基づいて複数の段階(第1〜第5段階)に分割する。具体的には、図5に示すように、DCT係数データC1−C64を、第1段階(C1)、第2段階(C2−C10)、第3段階(C11−C28)、第4段階(C29−C49)、第5段階(C50−C64)に分割する。
【0049】
(4)ハフマン符号化
量子化されたDCT係数データを各段階ごとにハフマン符号化する。これにより、ブロックBKiについての第1段階〜第5段階の符号化データが得られる。
【0050】
以上の(1)〜(4)の処理をすべてのブロックBK1−BK16について行うことによって、図6に示すような圧縮画像データが得られる。図6に示す圧縮画像データは、テーブルデータ(ハフマンテーブル、量子化値)、フレームヘッダなどのデータR0と、第1段階−第5段階のデータR1−R5とを有する。フレームヘッダには、圧縮画像データの符号化方式(シーケンシャル符号化されたデータであるか、プログレッシブ符号化されたデータであるか)を示す情報が含まれている。
【0051】
第1段階のデータR1は、第1段階のスキャンヘッダ、ブロックBK1−BK16の第1段階の符号化データEC1を含む。第2段階のデータR2は、第2段階のスキャンヘッダ、ブロックBK1−BK16の第2段階の符号化データEC2〜EC10を含む。第3段階のデータR3は、第3段階のスキャンヘッダ、ブロックBK1−BK16の第3段階の符号化データEC11〜EC28を含む。第4段階のデータR4は、第4段階のスキャンヘッダ、ブロックBK1−BK16の第4段階の符号化データEC29〜EC49を含む。第5段階のデータR5は、第5段階のスキャンヘッダ、ブロックBK1−BK16の第5段階の符号化データEC50〜EC64を含む。
【0052】
<伸長処理>
次に、図1に示した画像処理装置による伸長処理について説明する。以下、(a)プログレッシブ符号化された圧縮画像データの伸長処理、(b)シーケンシャル符号化された圧縮画像データの伸長処理とに分けて説明する。
【0053】
(a)プログレッシブ符号化された圧縮画像データの伸長処理
図7は、プログレッシブ符号化された圧縮画像データの伸長処理の手順を示すフローチャートである。以下、図7および図1を参照しつつ説明する。
【0054】
まず、ステップST701において、解析器101は、圧縮画像用メモリM1に格納された圧縮画像データ(図6参照)のフレームヘッダを解析して、符号化方式(プログレッシブ符号化、シーケンシャル符号化)、画像サイズなどの情報を得る。これにより、この圧縮画像データがプログレッシブ符号化されたデータであることが認識される。また、解析器101は、圧縮画像データ(図6参照)のテーブルデータから量子化値を抽出して量子化テーブルTB2に転送し、ハフマンテーブルを抽出して符号化テーブルTB1に転送する。
【0055】
次いで、ステップST702において、解析器101は、圧縮画像データ(図6参照)の各段階のスキャンヘッダを識別し、ブロックBK1の各段階の符号化データが格納されている位置を検出する。具体的には、解析器101は、ブロックBK1の第1段階の符号化データの先頭は圧縮画像データの先頭から何バイト目であるか、ブロックBK1の第2段階の符号化データの先頭は圧縮画像データの先頭から何バイト目であるか、ブロックBK1の第3段階の符号化データの先頭は圧縮画像データの先頭から何バイト目であるか、ブロックBK1の第4段階の符号化データの先頭は圧縮画像データの先頭から何バイト目であるか、ブロックBK1の第5段階の符号化データの先頭は圧縮画像データの先頭から何バイト目であるか、という位置情報を検出する。そして、解析器101は、図8に示すように、ブロックBK1の第1段階−第5段階の符号化データの先頭の位置の情報を、それぞれ入力手段i1−i5に出力する。
【0056】
次いで、ステップST703において、入力手段i1−i5は、解析器101からの位置情報に基づいて、ブロックBK1の第1段階−第5段階の符号化データを圧縮画像用メモリM1から抽出してセレクタ103に転送する。そして、解析器101は、セレクタ103に転送された符号化データのバイト数だけ位置情報をインクリメントする。これにより、入力手段i1−i5に与えられる位置情報は、次のブロックであるブロックBK2の各段階の符号化データの先頭が圧縮画像データの先頭から何バイト目であるかを示すことになる。
【0057】
次いで、ステップST704において、セレクタ103は、入力手段i1から供給されるブロックBK1の第1段階の符号化データ(BK1−EC1)をハフマン復号化器102に供給する。そして、ハフマン復号化器102は、符号化テーブルTB1に格納されたハフマンテーブルを参照して、ブロックBK1の第1段階の符号化データ(BK1−EC1)をハフマン復号化する。これによりブロックBK1の第1段階のDCT係数データ(BK1−C1)が得られる。
【0058】
次いで、ステップST705において、組み合わせ器104のセレクタ109は、ハフマン復号化器102によって得られたブロックBK1の第1段階のDCT係数データ(BK1−C1)を、係数メモリM4の記憶領域d1に転送する。係数メモリM4は、図9に示すように、8×8個のDCT係数データを格納できる容量を有している。そして、記憶領域d1には第1段階のDCT係数データが、記憶領域d2には第2段階のDCT係数データが、記憶領域d3には第3段階のDCT係数データが、記憶領域d4には第4段階のDCT係数データが、記憶領域d5には第5段階のDCT係数データがそれぞれ格納される。ブロックBK1の第1段階のDCT係数データ(BK1−C1)は、図9に示すように記憶領域d1に格納される。
【0059】
次いで、ステップST706において、ブロックBK1の全段階のDCT係数データが係数メモリM4に格納されたか否かが判定される。全段階のDCT係数データが格納された場合にはステップST707に進む。全段階のDCT係数データが格納されていない場合にはステップST704に戻る。ここでは、未だ全段階のDCT係数データが格納されていないのでステップST704に戻る。
【0060】
そしてステップST704において、セレクタ103は、入力手段i2から供給されるブロックBK1の第2段階の符号化データ(BK1−EC2〜EC10)をハフマン復号化器102に供給する。そして、ハフマン復号化器102は、符号化テーブルTB1に格納されたハフマンテーブルを参照して、ブロックBK1の第2段階の符号化データ(BK1−EC2〜EC10)をハフマン復号化する。これによりブロックBK1の第2段階のDCT係数データ(BK1−C2〜C10)が得られる。
【0061】
次いで、ステップST705において、組み合わせ器104のセレクタ109は、ハフマン復号化器102によって得られたブロックBK1の第2段階のDCT係数データを、係数メモリM4の記憶領域d2に転送する。ブロックBK1の第2段階のDCT係数データ(BK1−C2〜C10)は、図10に示すように、ジグザグスキャン順に記憶領域d2に格納される。
【0062】
そして、ステップST706における判定により、再度ステップST704に戻る。
【0063】
ステップST704において、セレクタ103は、入力手段i3から供給されるブロックBK1の第3段階の符号化データ(BK1−EC11〜EC28)をハフマン復号化器102に供給する。そして、ハフマン復号化器102は、符号化テーブルTB1に格納されたハフマンテーブルを参照して、ブロックBK1の第3段階の符号化データ(BK1−EC11〜EC28)をハフマン復号化する。これによりブロックBK1の第3段階のDCT係数データ(BK1−C11〜C28)が得られる。
【0064】
次いで、ステップST705において、組み合わせ器104のセレクタ109は、ハフマン復号化器102によって得られたブロックBK1の第3段階のDCT係数データ(BK1−C11〜C28)を、係数メモリM4の記憶領域d3に転送する。ブロックBK1の第3段階のDCT係数データ(BK1−C11〜C28)は、図11に示すように、ジグザグスキャン順に記憶領域d3に格納される。そして、ステップST706における判定により、再度ステップST704に戻る。
【0065】
ステップST704において、セレクタ103は、入力手段i4から供給されるブロックBK1の第4段階の符号化データ(BK1−EC29〜EC49)をハフマン復号化器102に供給する。そして、ハフマン復号化器102は、符号化テーブルTB1に格納されたハフマンテーブルを参照して、ブロックBK1の第4段階の符号化データ(BK1−EC29〜EC49)をハフマン復号化する。これによりブロックBK1の第4段階のDCT係数データ(BK1−C29〜C49)が得られる。
【0066】
次いで、ステップST705において、組み合わせ器104のセレクタ109は、ハフマン復号化器102によって得られたブロックBK1の第4段階のDCT係数データ(BK1−C29〜C49)を、係数メモリM4の記憶領域d4に転送する。ブロックBK1の第4段階のDCT係数データ(BK1−C29〜C49)は、図12に示すように、ジグザグスキャン順に記憶領域d4に格納される。そして、ステップST706における判定により、再度ステップST704に戻る。
【0067】
ステップST704において、セレクタ103は、入力手段i5から供給されるブロックBK1の第5段階の符号化データ(BK1−EC50〜EC64)をハフマン復号化器102に供給する。そして、ハフマン復号化器102は、符号化テーブルTB1に格納されたハフマンテーブルを参照して、ブロックBK1の第5段階の符号化データ(BK1−EC50〜EC64)をハフマン復号化する。これによりブロックBK1の第5段階のDCT係数データ(BK1−C50〜C64)が得られる。
【0068】
次いで、ステップST705において、組み合わせ器104のセレクタ109は、ハフマン復号化器102によって得られたブロックBK1の第5段階のDCT係数データ(BK1−C50〜C64)を、係数メモリM4の記憶領域d5に転送する。ブロックBK1の第5段階のDCT係数データ(BK1−C50〜C64)は、図13に示すように、ジグザグスキャン順に記憶領域d5に格納される。これにより、ジグザグスキャン順に配置された8×8個のDCT係数データC1−C64が得られる。
【0069】
なお、ここでは、各段階のDCT係数データをジグザグスキャン順に各記憶領域d1−d5に格納したが、全段階のDCT係数データC1−C64が揃った時点で、DCT係数データC1−C64を図13に示すような配列に並び替えてもよい。
【0070】
以上のようにして、ブロックBK1のDCT係数データC1−C64が得られる。そして、ステップST706の判定によってステップST707に進む。
【0071】
次いで、ステップST707において、逆量子化器105は、組み合わせ器104によって得られたブロックBK1のDCT係数データC1−C64を、量子化テーブルTB2に格納された量子化値に基づいて逆量子化する。
【0072】
次いで、ステップST708において、逆DCT変換器106は、逆量子化器105によって逆量子化されたブロックBK1のDCT係数データC1−C64に対して逆DCT変換を施す。これにより、ブロックBK1の伸長画像データが得られる。
【0073】
次いで、ステップST709において、色空間変換器107は、逆DCT変換によって得られたブロックBK1の伸長画像データの色空間を、輝度成分および色差成分(Y,U,V)から3原色成分(R,G,B)に変換する。
【0074】
次いで、ステップST710において、色数削減器108は、ブロックBK1の伸長画像データの色数を削減する。このとき、色数削減処理の前後で画像の見栄えができるだけ相違しないように、誤差拡散手法などの技術を用いて処理する。携帯電話などの小型端末の表示装置では、解像度の低い、少ない色情報の表示しかできないことが多い。このような小型端末に搭載される画像処理装置では、色数削減器108を設ける必要がある。
【0075】
次いで、ステップST711において、色数削減器108からのブロックBK1の伸長画像データが伸長画像用メモリM2に転送される。
【0076】
次いで、ステップST712において、すべてのブロックBK1−BK16の伸長画像データが伸長画像用メモリM2に転送されたか否かが判定される。すべてのブロックBK1−BK16の伸長画像データが転送された場合には、処理を終了する。そうでない場合には、ステップST703に戻る。ここでは、未だブロックBK2−BK16の伸長画像データが転送されていないのでステップST703に戻る。
【0077】
そして、ステップST703において、入力手段i1−i5は、解析器101からの位置情報に基づいて、ブロックBK2の第1段階−第5段階の符号化データを圧縮画像用メモリM1から抽出してセレクタ103に転送する。そして、解析器101は、セレクタ103に転送された符号化データのバイト数だけ位置情報をインクリメントする。これにより、入力手段i1−i5に与えられる位置情報は、次のブロックであるブロックBK3の各段階の符号化データの先頭が圧縮画像データの先頭から何バイト目であるかを示すことになる。以下、上述したブロックBK1における処理と同様にして、ブロックBK2の伸長画像データが伸長画像用メモリM2に転送される。そして、ステップST712における判定によって再びステップST703に戻る。
【0078】
さらに、ブロックBK3−BK16についても上述のブロックBK1,BK2における処理と同様の処理が行われ、ブロックBK3−BK16の伸長画像データが伸長画像用メモリM2に転送される。そして、ステップST712の判定によって処理を終了する。
【0079】
以上のようにして、プログレッシブ符号化された圧縮画像データの伸長画像データが得られる。この伸長画像データを表示装置に表示すると、シーケンシャル符号化された圧縮画像データを伸長した画像データを表示するときと同様に、ブロックBK1−BK16の伸長画像データが順次表示される。
【0080】
PC(パーソナルコンピュータ)のような端末を利用してインターネット上で画像を見る場合には、利用者は、画像がすべて表示されるまでずっと表示画面を見て待っている場合が多い。そのため、待っている途中で画像の概要が分かるように、プログレッシブ符号化された圧縮画像データを伸長する場合には、各段階ごとの伸長画像データを順次表示する。
【0081】
しかし、携帯電話などの小型携帯端末を利用する場合には、利用者は、画像がすべて表示されるまでずっと表示画面を見て待っていることは少ない。したがって、プログレッシブ符号化された圧縮画像データを伸長する場合に、各段階ごとに伸長した画像データを順次表示する必要性は少ない。それよりも、携帯電話などの小型携帯端末に搭載される画像処理装置では、必要となるメモリの容量をできるだけ小さくすることが望まれる。
【0082】
第1の実施形態による画像処理装置では、プログレッシブ符号化された圧縮画像データの伸長処理をブロック単位で行うことができる。したがって、各段階のDCT係数データを組み合わせるために必要となるメモリM4の容量は、1ブロック分のDCT係数データを記憶することができる容量があればよい。このように、必要なメモリの容量を小さくすることができるため、携帯電話などの小型携帯端末に搭載する画像処理装置として利用することができる。なお、小型携帯端末に搭載する画像処理装置以外の画像処理装置としても利用することができることはいうまでもない。
【0083】
(b)シーケンシャル符号化された圧縮画像データの伸長処理
図14は、シーケンシャル符号化された圧縮画像データの伸長処理の手順を示すフローチャートである。以下、図14および図1を参照しつつ説明する。
【0084】
まず、ステップST1401において、解析器101は、圧縮画像用メモリM1に格納された圧縮画像データ(図4参照)のフレームヘッダを解析して、符号化方式(プログレッシブ符号化、シーケンシャル符号化)、画像サイズなどの情報を得る。これにより、この圧縮画像データがシーケンシャル符号化されたデータであることが認識される。また、解析器101は、圧縮画像データ(図4参照)のテーブルデータから量子化値を抽出して量子化テーブルTB2に転送し、ハフマンテーブルを抽出して符号化テーブルTB1に転送する。
【0085】
次いで、ステップST1402において、解析器101は、ブロックBK1の符号化データ(BK1−EC1〜EC64)をハフマン復号化器102へ供給する。そして、ハフマン復号化器102は、符号化テーブルTB1に格納されたハフマンテーブルを参照して、ブロックBK1の符号化データ(BK1−EC1〜EC64)をハフマン復号化する。これにより、ブロックBK1のDCT係数データ(BK1−C1〜C64)が得られる。
【0086】
次いで、ステップST1403において、組み合わせ器104のセレクタ109は、ハフマン復号化器102によって得られたブロックBK1のDCT係数データ(BK1−C1〜C64)を、係数メモリM4の記憶領域d1−d5に順次転送する。そして、逆量子化器105は、係数メモリM4に格納されたブロックBK1のDCT係数データ(BK1−C1〜C64)を、量子化テーブルTB2に格納された量子化値に基づいて逆量子化する。
【0087】
次いで、ステップST1404において、逆DCT変換器106は、逆量子化器105によって逆量子化されたブロックBK1のDCT係数データ(BK1−C1〜C64)に対して逆DCT変換を施す。これにより、ブロックBK1の伸長画像データが得られる。
【0088】
次いで、ステップST1405において、色空間変換器107は、逆DCT変換によって得られたブロックBK1の伸長画像データの色空間を、輝度成分および色差成分(Y,U,V)から3原色成分(R,G,B)に変換する。
【0089】
次いで、ステップST1406において、色数削減器108は、ブロックBK1の伸長画像データの色数を削減する。このとき、色数削減処理の前後で画像の見栄えができるだけ相違しないように、誤差拡散手法などの技術を用いて処理する。
【0090】
次いで、ステップST1407において、色数削減器108からのブロックBK1の伸長画像データが伸長画像用メモリM2に転送される。
【0091】
次いで、ステップST1408において、すべてのブロックBK1−BK16の伸長画像データが伸長画像用メモリM2に転送されたか否かが判定される。すべてのブロックBK1−BK16の伸長画像データが転送された場合には、処理を終了する。そうでない場合には、ステップST1402に戻る。ここでは、未だブロックBK2−BK16の伸長画像データが転送されていないのでステップST1402に戻る。そして、上述したブロックBK1における処理と同様にして、ブロックBK2−BK16の伸長画像データが伸長画像用メモリM2に転送される。
【0092】
以上のようにして、シーケンシャル符号化された圧縮画像データの伸長画像データが得られる。
【0093】
<効果>
以上のように、この発明の第1の実施形態による画像処理装置では、解析器101と、入力手段i1−i5と、セレクタ103と、組み合わせ器104とを設けたため、プログレッシブ符号化された圧縮画像データの伸長処理をブロック単位で行うことができる。そして、各段階のDCT係数データを組み合わせるために必要となるメモリM4の容量は、1ブロック分のDCT係数データを記憶することができる容量があればよい。このように、必要なメモリの容量を小さくすることができるため、携帯電話などの小型携帯端末に搭載する画像処理装置として利用することができる。
【0094】
また、各段階のDCT係数データを組み合わせた後に逆DCT変換を行うため、逆DCT変換の演算量を低減することができる。
【0095】
なお、ここでは、直交変換/逆直交変換としてDCT変換/逆DCT変換を用い、エントロピー符号化/復号化としてハフマン符号化/復号化を用いた場合について説明したが、これ以外の直交変換/逆直交変換、エントロピー符号化/復号化を用いてもよい。
【0096】
また、プログレッシブ符号化の実現方法として、量子化されたDCT係数データを周波数に基づいて複数の段階に分割する場合について説明したが、これに代えてその他の実現方法、例えば、量子化されたDCT係数データをビットごとに複数の段階に分割する方法を用いてもよい。
【0097】
また、第1の実施形態による画像処理装置は、必ずしもハードウエア構成を必要とするものではなく、ソフトウエアでも実現することができる。
【0098】
また、図7に示したブロック単位での伸長処理ST702−ST712の前処理として以下の処理を行うことによって、まずブロックBK1−BK16の第1段階の符号化データを伸長した画像データ(解像度および階調性の低い大まかな全体画像)を表示し、次いで、ブロック単位での伸長処理ST702−ST712による伸長画像データを表示することもできる。
【0099】
<前処理>
まず、解析器101は、ブロックBK1−BK16の第1段階の符号化データ(EC1)をハフマン復号化器102へ供給する。そして、ハフマン復号化器102は、符号化テーブルTB1に格納されたハフマンテーブルを参照して、ブロックBK1−BK16の第1段階の符号化データ(EC1)をハフマン復号化する。これにより、ブロックBK1−BK16の第1段階のDCT係数データC1が得られる。
【0100】
次いで、組み合わせ器104は、ハフマン復号化器102によって得られたブロックBK1−BK16の第1段階のDCT係数データC1を逆量子化器105へ順次転送する。そして、逆量子化器105は、ブロックBK1−BK16の第1段階のDCT係数データC1を、量子化テーブルTB2に格納された量子化値に基づいて逆量子化する。
【0101】
次いで、逆DCT変換器106は、逆量子化器105によって逆量子化されたブロックBK1−BK16の第1段階のDCT係数データC1に対して逆DCT変換を施す。これにより、ブロックBK1−BK16の第1段階の伸長画像データが得られる。
【0102】
次いで、色空間変換器107は、逆DCT変換によって得られたブロックBK1−BK16の第1段階の伸長画像データの色空間を、輝度成分および色差成分(Y,U,V)から3原色成分(R,G,B)に変換する。
【0103】
次いで、色数削減器108は、ブロックBK1−BK16の第1段階の伸長画像データの色数を削減する。そして、色数削減器108からのブロックBK1−BK16の第1段階の伸長画像データが伸長画像用メモリM2に転送される。
【0104】
以上のようにして、ブロックBK1−BK16の第1段階の符号化データを伸長した画像データが得られる。
【0105】
(第2の実施形態)
<全体構成>
図15は、この発明の第2の実施形態による画像処理装置の全体構成を示すブロック図である。図15を参照して、この画像処理装置は、CPU1500と、DSP(Digital Signal Processor)1510と、共有メモリM11,M12とを備える。
【0106】
CPU1500は、圧縮画像用メモリM1と、データ転送器1501と、伸長画像用メモリM2とを含む。データ転送器1501は、共有メモリM12に格納された位置情報に基づいて、各段階の符号化データを圧縮画像用メモリM1から共有メモリM11に転送する。
【0107】
共有メモリM11,M12は、CPU1500およびDSP1510の双方からアクセス可能なメモリである。共有メモリM11は、圧縮画像用メモリM1からの圧縮画像データおよびデータ転送器1501からの各段階の符号化データを格納するためのメモリである。データ転送器1501からの各段階の符号化データは記憶領域a11−a15に格納される。共有メモリM12は、解析器1511によって検出された位置情報および色数削減器108からの伸長画像データを格納するためのメモリである。
【0108】
DSP1510は、解析器1511と、ハフマン復号化器102と、セレクタ103と、組み合わせ器104と、逆量子化器105と、逆DCT変換器106と、色空間変換器107と、色数削減器108と、符号化テーブルTB1と、量子化テーブルTB2とを含む。組み合わせ器104は、セレクタ109と、係数メモリM4とを含む。
【0109】
解析器1511は、共有メモリM11に格納された圧縮画像データのヘッダを解析し、符号化方式、量子化値、ハフマンテーブルなど、伸長処理に必要な情報を獲得する。また、解析器1511は、ハフマンテーブルを符号化テーブルTB1へ、量子化値を量子化テーブルTB2へ転送する。また、解析器1511は、共有メモリM11に格納された圧縮画像データがシーケンシャル符号化されているときは、符号化データをハフマン復号化器102に転送する。一方、解析器1511は、共有メモリM11に格納された圧縮画像データがプログレッシブ符号化されているときは、各段階の符号化データが格納されている位置を検出し、当該位置の情報を共有メモリM12に転送する。
【0110】
<伸長処理>
次に、図15に示した画像処理装置による伸長処理について説明する。以下、(a)プログレッシブ符号化された圧縮画像データの伸長処理、(b)シーケンシャル符号化された圧縮画像データの伸長処理とに分けて説明する。なお、圧縮画像データの構造は、図4および図6に示したものと同様とする。
【0111】
(a)プログレッシブ符号化された圧縮画像データの伸長処理
図16は、プログレッシブ符号化された圧縮画像データの伸長処理の手順を示すフローチャートである。以下、図16および図15を参照しつつ説明する。なお、図16中、ステップST1601,ST1605,ST1606,ST1615,ST1617は、CPU1500における処理であり、ステップST1602−ST1604,ST1607−ST1614,ST1616は、DSP1510における処理である。
【0112】
CPU1500は、外部から圧縮画像データを取り込み(例えば、インターネットにアクセスするなどして)、圧縮画像用メモリM1に格納する。
【0113】
そして、ステップST1601において、CPU1500は、圧縮画像用メモリM1に記憶された圧縮画像データを共有メモリM11へ転送する。
【0114】
次いで、ステップST1602において、解析器1511は、共有メモリM11に格納された圧縮画像データ(図6参照)のフレームヘッダを解析して、符号化方式(プログレッシブ符号化、シーケンシャル符号化)、画像サイズなどの情報を得る。これにより、この圧縮画像データがプログレッシブ符号化されたデータであることが認識される。また、解析器1511は、圧縮画像データ(図6参照)のテーブルデータから量子化値を抽出して量子化テーブルTB2に転送し、ハフマンテーブルを抽出して符号化テーブルTB1に転送する。
【0115】
次いで、ステップST1603において、解析器1511は、圧縮画像データ(図6参照)の各段階のスキャンヘッダを識別し、各段階の符号化データが格納されている位置を検出する。具体的には、解析器1511は、ブロックBK1の第1段階の符号化データの先頭は圧縮画像データの先頭から何バイト目であるか、ブロックBK1の第2段階の符号化データの先頭は圧縮画像データの先頭から何バイト目であるか、ブロックBK1の第3段階の符号化データの先頭は圧縮画像データの先頭から何バイト目であるか、ブロックBK1の第4段階の符号化データの先頭は圧縮画像データの先頭から何バイト目であるか、ブロックBK1の第5段階の符号化データの先頭は圧縮画像データの先頭から何バイト目であるか、という位置情報を検出する。
【0116】
なお、CPU1500は、ステップST1601において、圧縮画像用メモリM1に記憶された圧縮画像データのすべてを共有メモリM11へ転送する必要はなく、まず先頭から所定量のデータを転送し、次いで、ステップST1603において位置情報の検出が終了した分だけ次のデータを適宜補充するようにしてもよい。
【0117】
各段階の符号化データが格納されている位置の検出が終了すると、ステップST1604において、解析器1511は、当該位置情報を共有メモリM12に転送する。
【0118】
次いで、ステップST1605において、CPU1500は、共有メモリM12に格納された位置情報に基づいて各段階の符号化データのデータ量を概算し、このデータ量に基づいて、共有メモリM11の記憶領域a11−a15を割り当てる。プログレッシブ符号化された各段階の符号化データのデータ量は、段階ごとに異なっているため、共有メモリM11の各記憶領域a11−a15を等しい大きさに割り当てたのでは共有メモリM11の有効活用が図れないからである。これにより、共有メモリM11を有効に利用することができる。
【0119】
次いで、ステップST1606において、データ転送器1501は、共有メモリM12に格納された位置情報に基づいてブロックBK1の各段階の符号化データを圧縮画像用メモリM1から共有メモリM11に転送する。第1段階の符号化データは記憶領域a11に、第2段階の符号化データは記憶領域a12に、第3段階の符号化データは記憶領域a13に、第4段階の符号化データは記憶領域a14に、第5段階の符号化データは記憶領域a15にそれぞれ格納される。
【0120】
そして、解析器1511は、共有メモリM12に格納された位置情報を、共有メモリM11に転送された符号化データのバイト数だけインクリメントする。これにより、共有メモリM12に格納された位置情報は、次のブロックであるブロックBK2の各段階の符号化データの先頭が圧縮画像データの先頭から何バイト目であるかを示すことになる。
【0121】
次いで、ステップST1607において、セレクタ103は、共有メモリM11の記憶領域a11に格納されたブロックBK1の第1段階の符号化データ(BK1−EC1)をハフマン復号化器102に供給する。ハフマン復号化器102は、符号化テーブルTB1に格納されたハフマンテーブルを参照して、ブロックBK1の第1段階の符号化データ(BK1−EC1)をハフマン復号化する。これにより、ブロックBK1の第1段階のDCT係数データ(BK1−C1)が得られる。
【0122】
次いで、ステップST1608において、組み合わせ器104のセレクタ109は、ハフマン復号化器102によって得られたブロックBK1の第1段階のDCT係数データ(BK1−C1)を、係数メモリM4の記憶領域d1に転送する。ブロックBK1の第1段階のDCT係数データ(BK1−C1)は、記憶領域d1に格納される。
【0123】
次いで、ステップST1609において、ブロックBK1の全段階のDCT係数データが係数メモリM4に格納されたか否かが判定される。全段階のDCT係数データが格納された場合にはステップST1610に進む。全段階のDCT係数データが格納されていない場合にはステップST1607に戻る。ここでは、未だ第2段階−第5段階のDCT係数データが格納されていないのでステップST1607に戻る。以下、第1の実施形態におけるのと同様にして、ステップST1607−ST1609における処理を繰り返してブロックBK1の第2段階−第5段階のDCT係数データを記憶領域d2−d5に格納し、ブロックBK1のDCT係数データ(BK1−C1〜C64)を得る。そして、ステップST1609の判定によってステップST707に進む。
【0124】
次いで、ステップST1610において、逆量子化器105は、組み合わせ器104によって得られたブロックBK1のDCT係数データ(BK1−C1〜C64)を、量子化テーブルTB2に格納された量子化値に基づいて逆量子化する。
【0125】
次いで、ステップST1611において、逆DCT変換器106は、逆量子化器105によって逆量子化されたブロックBK1のDCT係数データ(BK1−C1〜C64)に対して逆DCT変換を施す。これにより、ブロックBK1の伸長画像データが得られる。
【0126】
次いで、ステップST1612において、色空間変換器107は、逆DCT変換によって得られたブロックBK1の伸長画像データの色空間を、輝度成分および色差成分(Y,U,V)から3原色成分(R,G,B)に変換する。
【0127】
次いで、ステップST1613において、色数削減器108は、ブロックBK1の伸長画像データの色数を削減する。このとき、色数削減処理の前後で画像の見栄えができるだけ相違しないように、誤差拡散手法などの技術を用いて処理する。
【0128】
次いで、ステップST1614において、色数削減器108からのブロックBK1の伸長画像データが共有メモリM12に転送される。そして、ステップST1616において、すべてのブロックBK1−BK16の伸長画像データが共有メモリM12に転送されたか否かが判定される。すべてのブロックBK1−BK16の伸長画像データが転送された場合には、処理を終了する。そうでない場合には、ステップST1607に戻る。ここでは、未だブロックBK2−BK16の伸長画像データが転送されていないのでステップST1607に戻る。
【0129】
次いで、ステップST1615において、共有メモリM12に格納されたブロックBK1の伸長画像データが伸長画像用メモリM2に転送される。そして、ステップST1617において、すべてのブロックBK1−BK16の伸長画像データが伸長画像用メモリM2に格納されたか否かが判定される。すべてのブロックBK1−BK16の伸長画像データが格納された場合には処理を終了する。そうでない場合には、ステップST1606に戻る。ここでは、未だブロックBK2−BK16の伸長画像データが格納されていないのでステップST1606に戻る。
【0130】
そして、ステップST1606において、データ転送器1501は、共有メモリM12に格納されている位置情報に基づいて、ブロックBK2の各段階の符号化データを圧縮画像用メモリM1から共有メモリM11の記憶領域a11−a15に転送する。以降、上述したブロックBK1における処理と同様の処理が行われ、ブロックBK2の伸長画像データが伸長画像用メモリM2に転送される。
【0131】
さらに、ブロックBK3−BK16についても上述のブロックBK1,BK2における処理と同様の処理が行われ、ブロックBK3−BK16の伸長画像データが伸長画像用メモリM2に転送される。そして、ステップST1616,ST1617の判定によって処理を終了する。
【0132】
以上のようにして、プログレッシブ符号化された圧縮画像データの伸長画像データが得られる。この伸長画像データを表示装置に表示すると、シーケンシャル符号化された圧縮画像データを伸長した画像データを表示するときと同様に、ブロックBK1−BK16の伸長画像データが順次表示される。
【0133】
このように、第2の実施形態による画像処理装置では、プログレッシブ符号化された圧縮画像データの伸長処理を、CPU1500およびDSP1510の2つのプロセッサによって行うことができる。そして、共有メモリM11,M12を設けたため、圧縮画像データを記憶するためのメモリをDSP1510に設ける必要がない。これにより、DSP1510に必要となるメモリの容量を小さくすることができる。
【0134】
また、第1の実施形態と同様に、各段階のDCT係数データを組み合わせるために必要となるメモリM4の容量は、1ブロック分のDCT係数データを記憶することができる容量があればよい。このように、必要なメモリの容量を小さくすることができるため、携帯電話などの小型携帯端末に搭載する画像処理装置として利用することができる。なお、小型携帯端末に搭載する画像処理装置以外の画像処理装置としても利用することができることはいうまでもない。
【0135】
(b)シーケンシャル符号化された圧縮画像データの伸長処理
図17は、シーケンシャル符号化された圧縮画像データの伸長処理の手順を示すフローチャートである。以下、図17および図15を参照しつつ説明する。なお、図17中、ステップST1701,ST1709,ST1711は、CPU1500における処理であり、ステップST1702−ST1708,ST1710は、DSP1510における処理である。
【0136】
CPU1500は、外部から圧縮画像データを取り込み(例えば、インターネットにアクセスするなどして)、圧縮画像用メモリM1に格納する。
【0137】
そして、ステップST1701において、CPU1500は、圧縮画像用メモリM1に記憶された圧縮画像データを共有メモリM11へ転送する。
【0138】
次いで、ステップST1702において、解析器1511は、共有メモリM11に格納された圧縮画像データ(図4参照)のフレームヘッダを解析して、符号化方式(プログレッシブ符号化、シーケンシャル符号化)、画像サイズなどの情報を得る。これにより、この圧縮画像データがシーケンシャル符号化されたデータであることが認識される。また、解析器1511は、圧縮画像データ(図4参照)のテーブルデータから量子化値を抽出して量子化テーブルTB2に転送し、ハフマンテーブルを抽出して符号化テーブルTB1に転送する。
【0139】
次いで、ステップST1703において、解析器1511は、ブロックBK1の符号化データ(BK1−EC1〜EC64)をハフマン復号化器102へ供給する。そして、ハフマン復号化器102は、符号化テーブルTB1に格納されたハフマンテーブルを参照して、ブロックBK1の符号化データ(BK1−EC1〜EC64)をハフマン復号化する。これにより、ブロックBK1のDCT係数データC1〜C64が得られる。
【0140】
次いで、ステップST1704において、組み合わせ器104のセレクタ109は、ハフマン復号化器102によって得られたブロックBK1のDCT係数データを、係数メモリM4の記憶領域d1−d5に順次転送する。そして、逆量子化器105は、係数メモリM4に格納されたブロックBK1のDCT係数データC1−C64を、量子化テーブルTB2に格納された量子化値に基づいて逆量子化する。
【0141】
次いで、ステップST1705において、逆DCT変換器106は、逆量子化器105によって逆量子化されたブロックBK1のDCT係数データC1−C64に対して逆DCT変換を施す。これにより、ブロックBK1の伸長画像データが得られる。
【0142】
次いで、ステップST1706において、色空間変換器107は、逆DCT変換によって得られたブロックBK1の伸長画像データの色空間を、輝度成分および色差成分(Y,U,V)から3原色成分(R,G,B)に変換する。
【0143】
次いで、ステップST1707において、色数削減器108は、ブロックBK1の伸長画像データの色数を削減する。このとき、色数削減処理の前後で画像の見栄えができるだけ相違しないように、誤差拡散手法などの技術を用いて処理する。
【0144】
次いで、ステップST1708において、色数削減器108からのブロックBK1の伸長画像データが共有メモリM12に転送される。そして、ステップST1710において、すべてのブロックBK1−BK16の伸長画像データが共有メモリM12に転送されたか否かが判定される。すべてのブロックBK1−BK16の伸長画像データが転送された場合には、処理を終了する。そうでない場合には、ステップST1703に戻る。ここでは、未だブロックBK2−BK16の伸長画像データが転送されていないのでステップST1703に戻る。
【0145】
次いで、ステップST1709において、共有メモリM12に格納されたブロックBK1の伸長画像データが伸長画像用メモリM2に転送される。そして、ステップST1711において、すべてのブロックBK1−BK16の伸長画像データが伸長画像用メモリM2に格納されたか否かが判定される。すべてのブロックBK1−BK16の伸長画像データが格納された場合には処理を終了する。そうでない場合には、ステップST1701に戻る。ここでは、未だブロックBK2−BK16の伸長画像データが格納されていないのでステップST1701に戻る。
【0146】
以降、上述したブロックBK1における処理と同様にして、ブロックBK2−BK16の伸長画像データが伸長画像用メモリM2に格納される。
【0147】
以上のようにして、シーケンシャル符号化された圧縮画像データの伸長画像データが得られる。
【0148】
<効果>
この発明の第2の実施形態による画像処理装置では、プログレッシブ符号化された圧縮画像データの伸長処理を、CPU1500およびDSP1510の2つのプロセッサによって行うことができる。そして、共有メモリM11,M12を設けたため、圧縮画像データを記憶するためのメモリをDSP1510に設ける必要がない。これにより、DSP1510に必要となるメモリの容量を小さくすることができる。
【0149】
また、各段階のDCT係数データを組み合わせるために必要となるメモリM4の容量は、1ブロック分のDCT係数データを記憶することができる容量があればよい。このように、必要なメモリの容量を小さくすることができるため、携帯電話などの小型携帯端末に搭載する画像処理装置として利用することができる。
【0150】
また、各段階のDCT係数データを組み合わせた後に逆DCT変換を行うため、逆DCT変換の演算量を低減することができる。
【0151】
なお、ここでは、直交変換/逆直交変換としてDCT変換/逆DCT変換を用い、エントロピー符号化/復号化としてハフマン符号化/復号化を用いた場合について説明したが、これ以外の直交変換/逆直交変換、エントロピー符号化/復号化を用いてもよい。
【0152】
また、プログレッシブ符号化の実現方法として、量子化されたDCT係数データを周波数に基づいて複数の段階に分割する場合について説明したが、これに代えてその他の実現方法、例えば、量子化されたDCT係数データをビットごとに複数の段階に分割する方法を用いてもよい。
【0153】
また、第2の実施形態による画像処理装置は、必ずしもハードウエア構成を必要とするものではなく、ソフトウエアでも実現することができる。
【0154】
また、図16に示したブロック単位での伸長処理の前処理としてブロックBK1−BK16の第1段階の符号化データを伸長した画像データ(解像度および階調性の低い大まかな全体画像)を表示し、次いで、図16に示したブロック単位での伸長処理による伸長画像データを表示することもできる。
【0155】
【発明の効果】
この発明の1つの局面に従った画像処理装置は、抽出手段と、組み合わせ手段とを設けたため、各段階の係数データを組み合わせるために必要となるメモリの容量は、1ブロック分の係数データを記憶することができる容量で足りる。これにより、必要なメモリの容量を小さくすることができる。
【0156】
この発明のもう1つの局面に従った画像処理装置は、第1のプロセッサと、第2のプロセッサと、共有メモリとを設けたため、2つのプロセッサによって圧縮画像データの伸長処理を行うことができる。そして、各段階の係数データを組み合わせるために必要となるメモリの容量は、1ブロック分の係数データを記憶することができる容量で足りる。これにより、必要なメモリの容量を小さくすることができる。
【0157】
この発明のさらにもう1つの局面に従った画像処理方法は、ブロック単位で伸長処理を行うものであり、かつ、伸長処理では、抽出ステップと、組み合わせステップとを行うため、各段階の係数データを組み合わせるために必要となるメモリの容量は、1ブロック分の係数データを記憶することができる容量で足りる。これにより、必要なメモリの容量を小さくすることができる。
【図面の簡単な説明】
【図1】この発明の第1の実施形態による画像処理装置の全体構成を示すブロック図である。
【図2】複数のブロックに分割された原画像を示す図である。
【図3】DCT変換によって得られたDCT係数データを示す図である。
【図4】シーケンシャル符号化された圧縮画像データのデータ構造を示す図である。
【図5】複数の段階に分割されたDCT係数データを示す図である。
【図6】プログレッシブ符号化された圧縮画像データのデータ構造を示す図である。
【図7】プログレッシブ符号化された圧縮画像データの伸長処理の手順を示すフローチャートである。
【図8】各段階の符号化データが格納されている位置の情報が各入力手段に与えられる様子を示す図である。
【図9】ハフマン復号化器によって得られた第1段階のDCT係数データが係数メモリに格納される様子を示す図である。
【図10】ハフマン復号化器によって得られた第2段階のDCT係数データが係数メモリに格納される様子を示す図である。
【図11】ハフマン復号化器によって得られた第3段階のDCT係数データが係数メモリに格納される様子を示す図である。
【図12】ハフマン復号化器によって得られた第4段階のDCT係数データが係数メモリに格納される様子を示す図である。
【図13】ハフマン復号化器によって得られた第5段階のDCT係数データが係数メモリに格納される様子を示す図である。
【図14】シーケンシャル符号化された圧縮画像データの伸長処理の手順を示すフローチャートである。
【図15】この発明の第2の実施形態による画像処理装置の全体構成を示すブロック図である。
【図16】プログレッシブ符号化された圧縮画像データの伸長処理の手順を示すフローチャートである。
【図17】シーケンシャル符号化された圧縮画像データの伸長処理の手順を示すフローチャートである。
【符号の説明】
101,1501,1511 解析器
102 ハフマン復号化器
103,109 セレクタ
104 組み合わせ器
106 逆DCT変換器
1500 CPU
1510 DSP
i1−i5 入力手段
M4 係数メモリ
M11,M12 共有メモリ
d1−d5,a11−a15 記憶領域
Claims (6)
- 原画像を複数のブロックに分割し、各ブロックごとに、直交変換を施して得られた係数データを複数の段階に分割し、各段階ごとに係数データをエントロピー符号化することによって得られた圧縮画像データを伸長する画像処理装置であって、
あるブロックに対する各段階の符号化データを圧縮画像データから抽出する手段と、
前記抽出手段によって抽出された前記ブロックに対する各段階の符号化データをエントロピー復号化する手段と、
前記エントロピー復号化手段によって得られた前記ブロックに対する各段階の係数データを組み合わせて前記ブロックの係数データを得る組み合わせ手段と、
前記組み合わせ手段によって得られた前記ブロックの係数データに対して逆直交変換を施す手段とを備える
ことを特徴とする画像処理装置。 - 請求項1に記載の画像処理装置において、
前記抽出手段は、
前記圧縮画像データから、前記ブロックに対する各段階の符号化データが格納されている位置を検出する手段と、
前記検出手段によって検出された位置に基づいて、前記ブロックに対する各段階の符号化データを前記圧縮画像データから抽出して前記エントロピー復号化手段に転送する手段とを含む
ことを特徴とする画像処理装置。 - 原画像を複数のブロックに分割し、各ブロックごとに、直交変換を施して得られた係数データを複数の段階に分割し、各段階ごとに係数データをエントロピー符号化することによって得られた圧縮画像データを伸長する画像処理装置であって、
圧縮画像データを記憶する圧縮画像用メモリを有する第1のプロセッサと、
第2のプロセッサと、
前記第1のプロセッサおよび前記第2のプロセッサの双方からアクセス可能な共有メモリとを備え、
前記第1のプロセッサは、
前記圧縮画像用メモリに記憶された圧縮画像データを前記共有メモリに転送し、
前記第2のプロセッサは、
前記共有メモリに転送された圧縮画像データから、あるブロックに対する各段階の符号化データが格納されている位置を検出し、
前記第1のプロセッサはさらに、
前記第2のプロセッサによって検出された位置に基づいて各段階の符号化データを前記圧縮画像用メモリから前記共有メモリに転送し、
前記第2のプロセッサはさらに、
前記共有メモリに転送された前記ブロックに対する各段階の符号化データをエントロピー復号化し、当該エントロピー復号化処理によって得られた前記ブロックに対する各段階の係数データを組み合わせて前記ブロックの係数データを得て、当該係数データに対して逆直交変換を施す
ことを特徴とする画像処理装置。 - 請求項3に記載の画像処理装置において、
前記第1のプロセッサは、
前記各段階の符号化データを前記圧縮画像用メモリから前記共有メモリに転送する際に、
前記各段階の符号化データのデータ量に基づいて、前記共有メモリの記憶領域を前記各段階の符号化データに割り当てる
ことを特徴とする画像処理装置。 - 原画像を複数のブロックに分割し、各ブロックごとに、直交変換を施して得られた係数データを複数の段階に分割し、各段階ごとに係数データをエントロピー符号化することによって得られた圧縮画像データを伸長する画像処理方法であって、
ブロック単位で伸長処理を行うものであり、
前記伸長処理は、
当該ブロックに対する各段階の符号化データを圧縮画像データから抽出するステップと、
前記抽出ステップによって抽出された各段階の符号化データをエントロピー復号化するステップと、
前記エントロピー復号化ステップによって得られた各段階の係数データを組み合わせて当該ブロックの係数データを得るステップと、
前記組み合わせステップによって得られた当該ブロックの係数データに対して逆直交変換を施すステップとを備える
ことを特徴とする画像処理方法。 - 請求項5に記載の画像処理方法において、
前記ブロック単位の伸長処理の前処理として、
複数のブロックの各々に対するある段階の符号化データを抽出し、
抽出した前記段階の符号化データをエントロピー復号化し、
エントロピー復号化によって得られた前記段階の係数データに対して逆直交変換を施す
ことを特徴とする画像処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000273752A JP3633860B2 (ja) | 2000-09-08 | 2000-09-08 | 画像処理装置および画像処理方法 |
US09/947,361 US7003165B2 (en) | 2000-09-08 | 2001-09-07 | Image processor and image processing method for decompressing progressive-coded compressed image data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000273752A JP3633860B2 (ja) | 2000-09-08 | 2000-09-08 | 画像処理装置および画像処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002084426A JP2002084426A (ja) | 2002-03-22 |
JP3633860B2 true JP3633860B2 (ja) | 2005-03-30 |
Family
ID=18759634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000273752A Expired - Fee Related JP3633860B2 (ja) | 2000-09-08 | 2000-09-08 | 画像処理装置および画像処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7003165B2 (ja) |
JP (1) | JP3633860B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002133405A (ja) * | 2000-10-23 | 2002-05-10 | Nec Corp | 画像データ登録方法 |
JP3679083B2 (ja) * | 2002-10-08 | 2005-08-03 | 株式会社エヌ・ティ・ティ・ドコモ | 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム |
US7262719B2 (en) * | 2006-01-30 | 2007-08-28 | International Business Machines Corporation | Fast data stream decoding using apriori information |
JP2009278303A (ja) * | 2008-05-14 | 2009-11-26 | Nec Electronics Corp | 画像処理方法、画像処理装置 |
JP5599033B2 (ja) * | 2010-02-22 | 2014-10-01 | キヤノン株式会社 | 画像処理装置及び方法、並びにプログラム |
CN110990358B (zh) * | 2019-09-30 | 2023-06-30 | 咪咕文化科技有限公司 | 一种解压缩方法、电子设备及计算机可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05145761A (ja) | 1991-03-18 | 1993-06-11 | Nec Home Electron Ltd | 画像データ変換装置 |
US5838834A (en) * | 1991-11-07 | 1998-11-17 | Canon Kabushiki Kaisha | Image processing apparatus and method for quantizing image data and quantization errors using single quantizing unit and pluralities of quantization tables |
JP3304998B2 (ja) | 1992-01-21 | 2002-07-22 | キヤノン株式会社 | 画像処理方法及び装置 |
JP3086676B2 (ja) * | 1998-09-29 | 2000-09-11 | 三洋電機株式会社 | 画像再生装置 |
-
2000
- 2000-09-08 JP JP2000273752A patent/JP3633860B2/ja not_active Expired - Fee Related
-
2001
- 2001-09-07 US US09/947,361 patent/US7003165B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20020031271A1 (en) | 2002-03-14 |
US7003165B2 (en) | 2006-02-21 |
JP2002084426A (ja) | 2002-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5358482B2 (ja) | 表示駆動回路 | |
US20070076971A1 (en) | Compression of images for computer graphics | |
CN105959724B (zh) | 一种视频数据处理方法以及装置 | |
US20070242890A1 (en) | Systems and methods for decoding large images | |
JP2014027658A (ja) | 圧縮エンコーディング及びデコーディング方法並びに装置 | |
US11006119B1 (en) | Compression encoding of images | |
JP3633860B2 (ja) | 画像処理装置および画像処理方法 | |
US8600181B2 (en) | Method for compressing images and a format for compressed images | |
US6721455B1 (en) | Method and apparatus for icon compression and decompression | |
JPH08205144A (ja) | 画像符号化装置 | |
KR100518849B1 (ko) | 영상 압축 및 복원 방법 | |
JP4241517B2 (ja) | 画像符号化装置及び画像復号装置 | |
US20050286803A1 (en) | Image processing apparatus, display device, image processing method, and image processing program | |
JP5260425B2 (ja) | 画像伸長装置、方法およびプログラム | |
KR20060022894A (ko) | 이동 단말기에서의 썸네일 영상 생성 장치 및 방법 | |
US20060126951A1 (en) | Method of coding and decoding still picture | |
KR100706427B1 (ko) | 다단계 이미지 수신 기능을 가지는 무선통신 단말기 및 그방법과 콘텐츠 전송 장치에서의 다단계 이미지 송신 방법 | |
CN112087636B (zh) | 一种图像编码的处理方法、装置、存储介质及终端 | |
US11962951B2 (en) | Image signal processor, method of operating the image signal processor and image processing system including the image signal processor | |
US20220353482A1 (en) | Image signal processor, method of operating the image signal processor and image processing system including the image signal processor | |
JP2004364114A (ja) | 画像処理装置及び画像処理方法 | |
TWI227631B (en) | Image processing method and system | |
CN114363621A (zh) | 图像压缩方法、装置、计算机设备和存储介质 | |
US20110243437A1 (en) | System and method for image compression | |
WO2008056327B1 (en) | Quality assurance method for use in system with limited memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041214 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041221 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080107 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090107 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100107 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110107 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110107 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120107 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130107 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |