JP3707456B2 - 画像データ圧縮方法および画像データ伸張装置並びに伸張プログラム - Google Patents
画像データ圧縮方法および画像データ伸張装置並びに伸張プログラム Download PDFInfo
- Publication number
- JP3707456B2 JP3707456B2 JP2002234984A JP2002234984A JP3707456B2 JP 3707456 B2 JP3707456 B2 JP 3707456B2 JP 2002234984 A JP2002234984 A JP 2002234984A JP 2002234984 A JP2002234984 A JP 2002234984A JP 3707456 B2 JP3707456 B2 JP 3707456B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- image data
- decoding
- compression
- specific code
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Color Television Systems (AREA)
Description
【発明の属する技術分野】
この発明は、カラー画像データを高能率で圧縮する圧縮方法およびその圧縮方法によって圧縮されたデータを元のカラー画像データに伸張する伸張装置並びに伸張プログラムに関する。
【0002】
【従来の技術】
従来のカラー画像データの圧縮方法として次のような方法が知られている。
(1)セル参照方式、ライン参照方式
これらの方法は、前後に同じカラーコードが続くベタ絵に対しては有効であるが、前後に同じカラーコードがない場合は圧縮率が上がらない欠点がある。また、RGB形式の画像データの非可逆/高能率圧縮ができない欠点がある。
【0003】
(2)辞書法
再現度を上げるために、大きな辞書データが必要となる。セル参照方式、ライン参照方式と同様に可逆圧縮であるため、RGB形式の画像データの非可逆/高能率圧縮ができない欠点がある。
【0004】
(3)DCT変換+ハフマン符号化(JPEG;Joint Photographic image coding Experts Group))
8×8サイズのブロックを形成してDCT(Discrete Cosine Transform;離散コサイン変換)を行うため圧縮率が上がってくるとブロック単位での歪みが目立つようになる。また、本質的に正弦波で近似するため、アニメ画像などのようにエッジの強い部分をうまく近似できない。また、ハフマン符号化のためにハフマンテーブルが必要となり、テーブル参照等の処理がハードウエア化に不利である。さらに、カラーパレット変換を前提としたインデックス形式の画像データ可逆圧縮ができない欠点がある。
【0005】
(4)ウエーブレット変換+算術符号化(JPEG2000)
画像圧縮のため2次元ウエーブレット変換を行うためには、画素サイズと同等のメモリをバッファとして必要とし、したがって、ハードウエア化に適しておらず、また、変換時間も多くかかる。算術符号化は演算が複雑で、特に、JPEG2000のようにビットプレーン単位で符号化すると、復号処理に時間がかかってしまう。ウエーブレット変換はDCTと同様に画像の相関を利用しているので、インデックス形式の画像データの可逆圧縮には向かない。
【0006】
【発明が解決しようとする課題】
この発明は、このような事情を考慮してなされたもので、その目的は、インデックス形式の画像データの可逆圧縮およびRGB形式の画像データの非可逆/高能率圧縮をともに可能とする画像データ圧縮/伸張方法および装置を提供することにある。また、この発明の他の目的は、テーブルや複雑な演算の必要がなく、簡単な処理によって圧縮データを高速に伸張することができる画像データ圧縮/伸張方法および装置を提供することにある。
【0007】
【課題を解決するための手段】
この発明は上記の課題を解決すべくなされたもので、請求項1に記載の発明は、画像データを、それぞれがm×nドットで構成される複数の2次元のブロックに分ける第1の処理と、各ブロックの画像データを予め決められたスキャン方法に基づきスキャンして1次元ドット列に並べ替える第2の処理と、前記第2の処理によって並べ替えられた1次元ドット列をウエブレット変換した後に圧縮する第3の処理とを有し、前記第2、第3の処理をスキャン方法を変えて繰り返し実行し、圧縮後のデータ量が最も小さいスキャン方法を選択し、選択したスキャン方法およびそのスキャン方法に基づく圧縮画像データを出力することを特徴とする画像データ圧縮方法である。
【0008】
請求項2に記載の発明は、RGB形式およびインデックス形式の画像データの圧縮を行う画像データ圧縮方法において、画像データを、それぞれがm×nドットで構成される複数の2次元のブロックに分ける第1の処理と、各ブロックの画像データを予め決められたスキャン方法に基づきスキャンして1次元ドット列に並べ替える第2の処理と、前記第2の処理によって並び替えられた1次元ドット列をウエブレット変換する第3の処理と、前記ウエブレット変換後のデータの量子化を行う第4の処理と、前記量子化後のデータの差分演算を行う第5の処理と、前記差分演算後のデータの符号化を行う第6の処理とを有し、画像データがRGB形式の時は前記第1〜第6の処理をスキャン方法を変えて繰り返し実行し、圧縮後のデータ量が最も小さいスキャン方法を選択し、選択したスキャン方法およびそのスキャン方法に基づく圧縮画像データを出力し、画像データがインデックス形式の時は、前記第1、第2、第5、第6の処理をスキャン方法を変えて繰り返し実行し、圧縮後のデータ量が最も小さいスキャン方法を選択し、選択したスキャン方法およびそのスキャン方法に基づく圧縮画像データを出力することを特徴とする画像データ圧縮方法である。
【0009】
請求項3に記載の発明は、請求項1または請求項2に記載の画像データ圧縮方法において、前記画像データはRGBデータであり、前記第1の処理および第2の処理の間に、RGB→YUV変換処理を設けたことを特徴とする。
請求項4に記載の発明は、請求項2に記載の画像データ圧縮方法において、前記第4の処理と前記第5の処理の間に、データが一定値以下の場合に「0」に置換するしきい値処理を設けたことを特徴とする。
【0010】
請求項5に記載の発明は、請求項2に記載の画像データ圧縮方法において、前記ブロックに含まれる画像データの内、可逆圧縮が必要な画像データに対応するマスクパターンを形成し、該マスクパターンを前記第1、第2、第5および第6の処理によって可逆圧縮し、前記圧縮画像データと共に出力することを特徴とする。
請求項6に記載の発明は、請求項2〜請求項5のいずれかの項に記載の画像データ圧縮方法において、前記第6の処理は、被符号化データ「0」が複数連続する場合に、そのデータ「0」の列を、連続する「0」の個数を示すデータおよび第1の特定コードに置換する処理を含むことを特徴とする。
【0011】
請求項7に記載の発明は、請求項2〜請求項5のいずれかの項に記載の画像データ圧縮方法において、前記第6の処理は、被符号化データ「0」が連続する個数が予め定められたゼロランレングス値以下の場合に、そのデータ「0」の列を、連続する「0」の個数を示すデータおよび第1の特定コードに置換し、被符号化データ「0」が連続する個数が予め定められたゼロランレングス値以上の場合に、そのデータ「0」の列を、前記第1の特定コードおよび「00・・・00」からなるデータと、連続する「0」の個数を示すデータとに置換する処理を含むことを特徴とする。
【0012】
請求項8に記載の発明は、請求項7に記載の画像データ圧縮方法において、前記ゼロランレングス値を変えて圧縮後のデータ量が最小となるゼロランレングス値を検出することを特徴とする。
請求項9に記載の発明は、請求項2〜請求項5のいずれかの項に記載の画像データ圧縮方法において、前記第6の処理は、被符号化データが直前のデータと絶対値が同一の場合に、その被符号化データを、データ絶対値同一を示す第2の特定コードおよびデータの正負を示すビットからなるデータに置換する処理を含むことを特徴とする。
【0013】
請求項10に記載の発明は、請求項2〜請求項5のいずれかの項に記載の画像データ圧縮方法において、前記第6の処理は、被符号化データが特定値より小の時は、そのデータを第3の特定コードおよびデータ値に置換し、被符号化データが該特定値より大の時は、そのデータを第4の特定コードおよびデータ値に置換する処理を含むことを特徴とする。
請求項11に記載の発明は、請求項10に記載の画像データ圧縮方法において、前記特定値を変えて圧縮後のデータ量が最小となる特定値を検出することを特徴とする。
【0014】
請求項12に記載の発明は、圧縮の際に最大圧縮率とされたスキャン方法および圧縮画像データを受けて該圧縮データを伸張する画像データ伸張装置において、前記圧縮データを逆ウエブレット変換処理によって1次元ドット列に復号する復号手段と、前記復号手段によって復号された1次元ドット列を前記スキャン方法が示すスキャン順序と逆の順序に従ってm×nドットで構成される複数の2次元のブロック状に一時記憶メモリに書き込む書込手段とを具備することを特徴とする画像データ伸張装置である。
【0015】
請求項13に記載の発明は、圧縮の際に最大圧縮率とされたスキャン方法、圧縮画像データおよびRGB形式/インデックス形式の区別を示すデータを受けて該圧縮データを伸張する画像データ伸張装置において、前記圧縮画像データを符号化の逆処理によって復号する第1の復号手段と、前記第1の復号手段によって復号されたデータの加算演算を行う加算演算手段と、前記RGB形式/インデックス形式の区別を示すデータがRGB形式を指示していた場合は、前記加算演算手段の出力データを、逆量子化および逆ウエブレット変換によって1次元ドット列に復号し、前記RGB形式/インデックス形式の区別を示すデータがインデックス形式を指示していた場合は、前記加算演算手段の出力データをそのまま出力する第2の復号手段と、前記第2の復号手段から出力された1次元ドット列を前記スキャン方法が示すスキャン順序と逆の順序に従ってm×nドットで構成される複数の2次元のブロック状に一時記憶メモリに書き込む書込手段とを具備することを特徴とする伸張装置である。
【0016】
請求項14に記載の発明は、請求項13に記載の画像データ伸張装置において、前記第2の復号手段の出力データをRGBデータに変換して前記書込手段へ出力するデータ変換手段を設けたことを特徴とする。
請求項15に記載の発明は、請求項13に記載の画像データ伸張装置において、前記第1の復号手段は、前記圧縮画像データ中に第1の特定コードを検出した時、該特定コードに付属するデータが示す数の「0」データを復号する処理を含むことを特徴とする。
【0017】
請求項16に記載の発明は、請求項13に記載の画像データ伸張装置において、前記第1の復号手段は、前記圧縮画像データ中に第1の特定コードを検出した場合において、該特定コードに付属するデータが「00・・・00」でない場合はそのデータが示す数の「0」データを復号し、該特定コードに付属するデータが「00・・・00」であった場合は次のデータが示す数の「0」データを復号する処理を含むことを特徴とする。
請求項17に記載の発明は、請求項13に記載の画像データ伸張装置において、前記第1の復号手段は、前記圧縮画像データ中に第2の特定コードを検出した時、該特定コードに付属するデータが2値論理レベルの一方データの時は直前のデータと同じデータを復号し、該特定コードに付属するデータが2値論理レベルの他方データの時は直前のデータと符号を変えたデータを復号する処理を含むことを特徴とする。
【0018】
請求項18に記載の発明は、請求項13に記載の画像データ伸張装置において、前記第1の復号手段は、前記圧縮画像データ中に第3の特定コードを検出した時、該特定コードに付属する予め決められたK(Kは正の整数)ビットをデータとして復号し、第4の特定コードを検出した時は、該特定コードに付属する予め決められたM(Mは正の整数)ビットをデータとして復号する処理を含むことを特徴とする。
【0019】
請求項19に記載の発明は、圧縮の際に最大圧縮率とされたスキャン方法および圧縮画像データを受けて該圧縮データを伸張するプログラムにおいて、前記圧縮画像データを逆ウエブレット変換処理によって1次元ドット列に復号する復号手順と、前記復号手順によって復号された1次元ドット列を前記スキャン方法が示すスキャン順序と逆の順序に従ってm×nドットで構成される複数の2次元のブロック状に一時記憶メモリに書き込む書込手順とをコンピュータに実行させるためのプログラムである。
【0020】
請求項20に記載の発明は、圧縮の際に最大圧縮率とされたスキャン方法、圧縮画像データおよびRGB形式/インデックス形式の区別を示すデータを受けて該圧縮データを伸張するプログラムにおいて、前記圧縮画像データを符号化の逆処理によって復号する第1の復号手順と、前記第1の復号手段によって復号されたデータの加算演算を行う加算演算手順と、前記RGB形式/インデックス形式の区別を示すデータがRGB形式を指示していた場合は、前記加算演算処理後のデータを、逆量子化および逆ウエブレット変換によって1次元ドット列に復号し、前記RGB形式/インデックス形式の区別を示すデータがインデックス形式を指示していた場合は、前記加算演算処理後のデータをそのまま出力する第2の復号手順と、前記第2の復号手順から出力された1次元ドット列を前記スキャン方法が示すスキャン順序と逆の順序に従ってm×nドットで構成される複数の2次元のブロック状に一時記憶メモリに書き込む書込手順とをコンピュータに実行させるためのプログラムである。
【0021】
請求項21に記載の発明は、請求項20に記載のプログラムにおいて、前記第2の復号手順の処理後のデータをRGBデータに変換して前記書込手順へ送るデータ変換手順を設けたことを特徴とする。
請求項22に記載の発明は、請求項20に記載のプログラムにおいて、前記第1の復号手順は、前記圧縮画像データ中に第1の特定コードを検出した時、該特定コードに付属するデータが示す数の「0」データを復号する処理を含むことを特徴とする。
【0022】
請求項23に記載の発明は、請求項20に記載のプログラムにおいて、前記第1の復号手順は、前記圧縮画像データ中に第1の特定コードを検出した場合において、該特定コードに付属するデータが「00・・・00」でない場合はそのデータが示す数の「0」データを復号し、該特定コードに付属するデータが「00・・・00」であった場合は次のデータが示す数の「0」データを復号する処理を含むことを特徴とする。
請求項24に記載の発明は、請求項20に記載のプログラムにおいて、前記第1の復号手順は、前記圧縮画像データ中に第2の特定コードを検出した時、該特定コードに付属するデータが2値論理レベルの一方データの時は直前のデータと同じデータを復号し、該特定コードに付属するデータが2値論理レベルの他方データの時は直前のデータと符号を変えたデータを復号する処理を含むことを特徴とする。
【0023】
請求項25に記載の発明は、請求項20に記載のプログラムにおいて、前記第1の復号手順は、前記圧縮画像データ中に第3の特定コードを検出した時、該特定コードに付属する予め決められたK(Kは正の整数)ビットをデータとして復号し、第4の特定コードを検出した時は、該特定コードに付属する予め決められたM(Mは正の整数)ビットをデータとして復号する処理を含むことを特徴とする。
【0024】
【発明の実施の形態】
以下、図面を参照し、この発明の一実施の形態について説明する。
最初に、この発明の一実施形態による画像データ圧縮方法を図1〜図8を参照して説明する。この圧縮方法は、ハードウエアまたはマイクロプロセッサによって実行されるもので、RGB(レッド・グリーン・ブルー)データ、YUV(輝度・色差・色差)データおよびIndexデータのいずれのカラー画像データも圧縮することができる。また、非可逆/高能率圧縮および可逆圧縮のいずれも行うことができる。なお、Indexデータとは、色を指定するコードデータであり、表示の際にカラーパレットによってRGBデータに変換する必要があるデータである。
【0025】
図2は、この圧縮方法の処理過程を示すフローチャートである。まず、圧縮処理すべき画像データを読み込む(ステップSa1)。次に、操作者によって、マスクパターンを作成する必要があるか否かがチェックされる(ステップSa2)。そして、必要がある場合は、操作者によってマスクパターンの生成が指示され、マスクパターンの生成が行われ(ステップSa3)、指示がない場合は次の処理へ進む。ここで、マスクパターンとは、圧縮時に非可逆圧縮されてはまずい部分、例えば透明部分を識別するためのパターンであり、非可逆圧縮されてはまずい部分が”1”に、非可逆圧縮されてもよい部分が”0”となるパターンである。
【0026】
次に、入力画像が表示され(ステップSa4)、次いで、操作者によってプリフィルタ処理の必要があるか否かがチェックされる(ステップSa5)。そして、必要がある場合はプリフィルタ処理が指示され、プリフィルタ処理が行われ(ステップSa6)、指示がない場合は次の処理へ進む。ここで、プリフィルタ処理とは、表示画像のエッジ部分を滑らかにする処理であり、この処理を行っておくことにより、非可逆圧縮の場合の圧縮率を上げることができる。
次に、操作者によってパラメータの仮設定が行われ(ステップSa7)、次いで、圧縮処理が行われる(ステップSa8)。ここで、パラメータとは、圧縮処理において使用されるパラメータである。次に、圧縮処理が終了すると、パラメータが決定され(ステップSa9)、次いで圧縮済みのファイルが出力される(ステップSa10)。
【0027】
次に、上述したステップSa8の「圧縮処理」について詳述する。
図1は圧縮処理を説明するための説明図であり、また、図3は圧縮処理の過程を示すフローチャートである。この圧縮処理においては、まず、カラー画像データをブロックに分割する(ステップSb1)。すなわち、いま、図1の符号GDを表示画面の各表示ドット対応の画像データとすると、この画像データを16×16ドット毎にブロック分けする。次に、画像データがRGBデータであった場合は、指示に応じてそのRGBデータをYUVデータに変換し、さらに変換後のU、Vデータを「間引き処理」によって圧縮する(ステップSb2)。
【0028】
上述した処理によって、各ブロックのデータは、画像データがIndexデータの場合、16×16ドットに対応する16×16データとなり(図1の符号GD1参照)、RGBデータの場合は、R、G、Bデータの各々について16×16データとなる(GD1〜GD3参照)。また、YUVデータの場合は、Yデータが16×16データ(GD1参照)、U,Vデータが各々8×8データとなる(GD2、GD3参照)。ここで、U、Vデータが8×8データとなっているのは、間引き処理の結果である。
【0029】
次に、スキャンNoとして「0」が設定され(ステップSb3)、次いでスキャン処理(ステップSb4)へ進む。このスキャン処理とは、ブロック化された画像データを一列に並べる処理であり、図1に示すように、Scan0〜Scan3の4種類のスキャン方法が予め設定されている。Scan0は、16×16データの左上部から右方向へ順次データを抽出し、最上行のデータ抽出が終了すると、第2行目について最右部から左方向へ順次データを抽出し、第3行目については再び最左部から順次データを抽出し、以下、この動作を繰り返して256データによるデータ列DSを作成する。このように被圧縮画像データを並べ替える理由は、例えば、画像が横縞のような画像であった場合に近似するデータが並ぶことになり、圧縮効率を上げることができるからである。
【0030】
Scan1は、左上部から下方へ順次データを抽出し、第1列のデータ抽出が終了すると、第2列目について最下部から上方へ順次データを抽出し、第3列目については再び最上部から順次データを抽出し、以下、この動作を繰り返して256データによるデータ列DSを作成する。このScan1は画像が縦縞模様の場合に圧縮効率を上げることができる。Scan2は、16×16データによるブロックをさらに細分し、各ブロックにおいてScan1と同様の抽出処理を行ってデータ列DSを作成する。同様にScan3は、16×16データのブロックを細分し、各ブロックにおいてScan0と同様の抽出処理を行ってデータ列DSを作成する。これらのScan2、Scan3は画像が部分的に同じ模様や色を有している場合に圧縮効率を上げることができる。
なお、スキャンの方法は上記4種類に限らず、例えば斜め方向のスキャン等種々の方法が考えられる。
【0031】
図3のステップSb3においてスキャンNo「0」が設定された後、ステップSb4へ進むと、上述したScan0が実行されてデータ列DSが作成される。
図4は、このスキャン処理(ステップSb4)の具体的処理過程を示すフローチャートである。まず、IndexデータまたはYデータまたはGデータによるブロックがスキャン処理され(ステップSc1)、コードビットによるデータ列DSが作成される(ステップSc2)。次に、スキャン処理されたデータがIndexデータか否かが判断され(ステップSc3)、判断結果が「NO」の場合はステップSc4へ進み、UデータまたはRデータによるブロックがスキャン処理され(ステップSc4)、コードビットによるデータ列DSが作成される(ステップSc5)。次いで、VデータまたはBデータによるブロックがスキャン処理され(ステップSc6)、コードビットによるデータ列DSが作成される(ステップSc7)。また、ステップSc3の判断結果が「YES」の場合は上述したステップSc4〜Sc7をジャンプして次の処理へ進む。
【0032】
次に、マスクデータがあるか否かがチェックされ(ステップSc8)、ある場合はマスクデータによるブロックがスキャン処理され(ステップSc9)、コードビットによるデータ列DSが作成される(ステップSc10)。そして、図3の処理へ戻る。また、ステップSc8の判断結果が「なし」の場合は上述したステップSc9〜Sc10をジャンプして図3の処理へ戻る。
次に、図3のステップSb5においてブロックヘッダが構成され、次いでステップSb6の圧縮処理へ進む。
【0033】
以下、この圧縮処理について図5、図6および図1を参照して説明する。
図5は圧縮処理の過程を示すフローチャートであり、この処理へ進むと、まず、IndexデータまたはYデータまたはGデータに基づくデータ列DSの圧縮処理が行われる(ステップSd1)。次に、圧縮処理されたデータがIndexデータか否かが判断され(ステップSd2)、判断結果が「NO」の場合はステップSd3へ進み、UデータまたはRデータによるデータ列DSの圧縮処理が行われ(ステップSd3)、次に、VデータまたはBデータによるデータ列DSの圧縮処理が行われる(ステップSd4)。また、ステップSd2の判断が「YES」の場合はステップSd3、Sd4をジャンプしてステップSd5へ進む。次に、ステップSd5では、マスクデータによるデータ列DSがあるか否かが判断され、ある場合はマスクデータによるデータ列DSの圧縮が行われ(ステップSd6)、そして、図3の処理へ戻る。また、マスクデータによるデータ列DSがない場合はステップSd6をジャンプして図3の処理へ戻る。
【0034】
次に、データ列DSの圧縮処理を図6に示すフローチャートおよび図1を参照して説明する。この圧縮処理では、まず、ウエブレット変換処理を行うか否かが判断される(ステップSe1)。そして、判断結果が「YES」の場合はウエブレット変換が行われ(ステップSe2)、また、「NO」の場合はステップSe2をジャンプして次の処理へ進む。このウエブレット変換は、圧縮率が高い非可逆変換である。この実施形態においては、YUVデータについてのみ、ユーザの指定によりウエブレット変換を適用できる。
【0035】
次に、量子化処理が行われる(ステップSe3)。この量子化処理はデータ列DSの各データを一定数で除算し、除算結果の小数点以下をカットすることにより精度を落とし、ビット数を減らす処理である。次に、しきい値処理が行われる(ステップSe5)。このしきい値処理は、データ列DSの各データが予め決められたしきい値以下の場合は「0」とする処理である。例えば、しきい値を「1」とすると、「1」以下のデータが全て「0」となる。ウエブレット変換後のデータは値の小さいデータが多く、このしきい値処理を行うと、「0」のデータが多くなり、以下の処理において圧縮率を上げることができる。なお、これら2つの処理はいずれも非可逆変換であり、したがって、Indexデータのような可逆変換を行うデータには用いられない。
【0036】
次に、後続の処理のための各種の設定が行われる(ステップSe6)。すなわち、図6の圧縮処理においては、扱うデータの種類として、Index、R、G、B、Y(ウエブレットなし)、U(ウエブレットなし)、V(ウエブレットなし)、Y(ウエブレットあり)、U(ウエブレットあり)、V(ウエブレットあり)の10パターンがあり、それぞれデータの個数は、
Index=R=G=B=Y(ウエブレットなし)=256個
U(ウエブレットなし)=V(ウエブレットなし)=64個
Y(ウエブレットあり)=128個
U(ウエブレットあり)=V(ウエブレットあり)=32個
となっている。データの個数が異なれば、例えば、次の差分演算(ステップSe7)においては差分を演算する回数が異なることとなり、予め演算回数を設定する必要が生じる。他にも様々な設定が必要になる。ステップSe6ではこの設定が行われる。また、上述したステップSe2のウエブレット変換が行われると、ローパスデータとハイパスデータが得られる。ステップSe6では、ローパスデータの圧縮処理のための各種設定が行われる。
【0037】
次に、ステップSe7に進むと、差分演算が行われて、データ列DS1(図1)が生成される。すなわち、この差分演算においては、まず、データ列DS1の第1番目のデータとして、データ列DS(または、上記各処理後のデータ列)の最初のデータがそのまま移される。そして、2番目以降のデータdNとしては、
dN=p(N)−p(N-1)
なる差分データが書き込まれる。例えば、2番目のデータd2は、データ列DSの2番目のデータp(2)からデータ列DSの1番目のデータp(1)を減算したデータとなる。この差分演算を行うと、単調増加や単調減少データの場合に、同じデータが並ぶことになり、以下の処理において圧縮率を上げることができる。
【0038】
次に、データ列DS1の各データをチェックして最大ビット長のデータを検出し、そのビット長を「code_max」として記憶する(ステップSe8)。次に、短コードビット長を仮決定し、そのビット長を「code_th」として記憶する(ステップSe9)。次に、データ列DS1の各データをチェックして、「0」が最大何個並んでいるかを検出する。そして、検出した個数を表すビット数をゼロランレングス最大ビット長「zero_max」として記憶する(ステップSe10)。次に、ゼロランレングス短コードビット長を仮決定し、「zero_th」として記憶する(ステップSe11)。
【0039】
次に、上述した各処理において決定したcode_max、code_th、zero_max、zero_thを用いて符号化処理を行う(ステップSe12)。以下、その過程を図7、図8を参照して説明する。
まず、データ列DS1において、「0」が2個以上連続している箇所を検出し、次いで、その箇所の「0」の個数(ゼロランレングス)を検出する。次に、その個数がzero_th以下か、否かをチェックする。そして、zero_th以下であった場合は、その連続する「0」を図7(a)のフォーマット、すなわち、
0 0 個数(0RL)
によって表す。ここで、「0RL」はゼロランレングスの意味である。また、個数(0RL)を表すためのビット数はzero_thの数字を表すためのビット数である。また、zero_th以上(zero_thを含まない)であった場合は、図7(b)のフォーマット、すなわち、
0 0 0 ・・・ 0(All「0」)
個数(0RL)
という2データによって表す。ここで、All「0」のビット数は上述したzero_thの数字を表すためのビット数である。また、個数を表すためのビット数はzero_maxである。
【0040】
例えば、zero_thを「2」と仮設定し、また、zero_maxが「7」であった場合において、データ「0」が3個続いていた場合(ゼロランレングスが「3」)、その3個のデータ「0」が、
0 0 1 1
なる1つのデータによって表される。また、ゼロランレングスが、例えば「13」であった場合は、
0 0 0 0
0 0 0 1 1 0 1
なるデータによって表される。そして、上述したフォーマットによる符号化が、「0」が2個以上連続している全箇所において行われる。
【0041】
次に、データ列DS1の「0」を除く各データについて、直前のデータとの絶対値が同じか否かをチェックする。そして、直前のデータと絶対値が同じであった場合は、図7(c)のフォーマット、すなわち、
0 1 s
によって表す。ここで、「s」は対象データが直前のデータと絶対値が同じであって正のデータの場合「0」となり、絶対値が同じであって負のデータの場合「1」となる。
【0042】
次に、データ列DS1の、上述した各フォーマットによる符号化が行われていない各データについて、そのデータの有効ビット数がcode_th以下か否かをチェックする。そして、以下であった場合は図7(d)のフォーマット、すなわち、
1 0 データ値
なるフォーマットによってデータを表す。ここで、データ値を表すビット数はcode_thである。また、データのビット数がcode_th以上(code_thを含まない)であった場合は図7(e)のフォーマット、すなわち、
1 1 データ値
なるフォーマットによってデータを表す。ここで、データ値を表すビット数はcode_maxである。
【0043】
例えば、code_thが「3」、code_maxが「7」であった場合において、対象データが「6」であった場合は、
1 0 1 1 0
なるデータによって表される。
また、対象データが「15」であった場合は、
1 1 0 0 0 1 1 1 1
なるデータによって表される。そして、上述したフォーマットによる符号化は、データ列DS1の、図7(a)〜(c)の符号化が行われない全データについて行われる。
【0044】
図8はデータ列DS1の「0」を除く各データの有効ビット数別の個数の一例を示すグラフである。このグラフに示すように、前述したウエブレット変換、しきい値処理、差分演算等が終了したデータは、小さい値のデータが多く、有効ビット数が「1」、「2」というデータが多い。したがって、上記図7(d)のフォーマットによる符号化によって圧縮率を高めることができる。
以上の符号化処理が終了した後、zero_thおよびcode_thを種々変化させて上記の符号化処理を繰り返す。そして、データ列DS1の符号化後のビット数が最も小さくなるzero_thおよびcode_thを決定する。
【0045】
上述した符号化処理(ステップSe12)が終了すると、ステップSe13へ進み、ステップSe2においてウエブレット変換が行われたか否かが判断される。そして、判断結果が「YES」の場合は、ステップSe14へ進む。ステップSe14では、ウエブレット変換によって得られたハイパスデータについて、ステップSe6と同様の設定処理が行われ、次いで、ステップSe15〜Se20において、ハイパスデータの圧縮処理がステップSe7〜Se12と同様の処理によって行われる。
【0046】
以上が圧縮処理の過程である。上述した圧縮処理が終了すると、処理の過程で決定されたzero_th、code_th等の各パラメータ、スキャン方式名、処理後のデータ列およびデータ列のサイズ(ビット数)が保存され(図3のステップSb7)、そして、図3のステップSb8へ進む。このステップSb8では、各スキャン方式Scan0〜Scan3(図1参照)について圧縮処理が終了したか否かが判断される。そして、終了していない場合はスキャンNoに「1」を加算して、ステップSb4へ戻る。
【0047】
以後、ステップSb4においてスキャンNo「1」のScan1が行われ、スキャン後のデータ列DSについて上述した圧縮処理が行われる(ステップSb6)。そして、その圧縮後のビット数と前回のScan0の圧縮後のビット数が比較され、ビット数が小さい方のスキャン方式名、パラメータ、処理後のデータ列およびデータ列のサイズが保存される(ステップSb7)。
【0048】
以後、スキャン方式Scan2およびScan3について同様の圧縮処理が行われる。そして、Scan3の圧縮処理が終了した時点で最も圧縮率が高いスキャン方式の方式名、パラメータ、処理後のデータ列およびデータ列のサイズが保存される(ステップSb7)。次に、ステップSb8の判断が「YES」となり、ステップSb10へ進む。ステップSb10では、全ブロックについての圧縮処理が終了したか否かが判断される。そして、判断結果が「NO」の場合は再びステップSb2へ戻り、以後、次のブロックについて圧縮処理が行われる。そして、全ブロックについて圧縮処理が終了すると、ステップSb10の判断結果が「YES」となり、圧縮処理を終了する。
【0049】
次に、上記の圧縮処理によって圧縮された画像データの伸張処理について、図9〜図11を参照して説明する。
図9は伸張処理の過程を示すフローチャートである。まず、圧縮ファイルの読み込みが行われる(ステップSf1)。ここで、圧縮ファイルには、各ブロック毎に圧縮後のデータ列、圧縮に使用されたスキャン方式、圧縮に使用された各パラメータが書き込まれている。次に、最初のブロックについてスキャン方式およびパラメータが伸張回路に設定される(ステップSf2)。次に、最初のブロックのIndexデータ(またはYデータまたはGデータ)の伸張処理が行われる(ステップSf3)。次に、ステップSf3の処理がIndexデータであったか否かが判断され、Indexデータでなかった場合は、Uデータ(またはRデータ)の伸張処理が行われ(ステップSf5)、次いでVデータ(またはBデータ)の伸張処理が行われる(ステップSf6)。また、ステップSf4の判断結果が「YES」の場合はステップSf5、Sf6をジャンプしてステップSf7の処理へ進む。
【0050】
ステップSf7では、そのブロックにマスクデータが付属しているか否かが判断される。そして、付属している場合はマスクデータの伸張処理が行われる(ステップSf8)。また、付属していない場合は、ステップSf8をジャンプしてステップSf9へ進む。ステップSf9では、マスクデータに基づく画像合成およびYUV→RGB変換(YUVデータの場合)が行われる。次に、ステップSf10へ進むと、全ブロックの伸張処理が終了したか否かが判断され、判断結果が「NO」の場合はステップSf2へ戻り、以後、次のブロックの圧縮データの伸張処理が行われる。また、ステップSf10の判断結果が「YES」の場合は伸張済みの画像データによる画像表示が行われる(ステップSf11)。
【0051】
次に、伸張処理の詳細を図10、図11を参照して説明する。図10は伸張処理のフローチャート、また、図11は伸張処理を説明するための説明図である。この伸張処理においては、最初に、圧縮データにウエブレット変換が行われているか否かが判断される(ステップSg1)。そして、ウエブレット変換が行われていた場合は、まず、ローパスデータの復号処理が行われる。この復号処理は前述した符号化処理(図6のステップSe12)の全く逆の処理である。この復号処理によって前述したデータ列DS1が再現される(図1、図11参照)。
【0052】
次に、加算演算処理が行われる(ステップSg3)。この加算演算処理は、前述した差分演算(図6のステップSe7)の逆演算であり、
pN=pN+dN
但し、dN:データ列DS1のN番目のデータ
pN:加算演算結果として得られるデータ列のN番目のデータ
なる演算によってデータ列DS1が差分演算前のデータ列に戻される。次に、逆量子化処理が行われる(ステップSg4)。
【0053】
次に、ハイパスデータについて上述したステップSg2〜Sg4と同様の処理が行われる(ステップSg5〜Sg7)。次いで、上記の各処理が終了したローパスデータおよびハイパスデータに基づいてウエブレット逆変換が行われ、前述したデータ列DS(図1、図11参照)に戻される(ステップSg8)。次に、圧縮時に用いられたスキャンNoが示すスキャン順と逆の順でデータがブロック状に並べ替えられることによって、元のブロックが再構成される(ステップSg9)。
【0054】
また、ステップSg1の判断において、ウエブレット変換が用いられていないと判断された場合は、ステップSg10、Sg11、Sg12の復号、加算演算、逆量子化処理が行われる。なお、これらの処理はステップSg2〜Sg4の処理と同様である。次いで、スキャンNoに基づくブロックの再構成が行われる(ステップSg9)。
【0055】
次に、上述した伸張処理が行われる伸張回路について、図12を参照して説明する。同図において、符号1は圧縮データが記憶されたROM(リードオンリメモリ)である。ここで、圧縮データには、圧縮画像データの他に、圧縮時に使用された各種のパラメータおよびスキャンNoが含まれている。2はFIFO(ファーストイン・ファーストアウト)構成のコードバッファであり、ROM1から読み出された圧縮データが一時記憶される。3は復号回路であり、コードバッファ2から読み出された圧縮データの復号処理(図10のステップSg2参照)を行い、その結果得られたデータ列DS1を加算演算回路4へ出力すると共に、コードバッファ2から受けたスキャンNoをスキャン番号レジスタ5に書き込む。
【0056】
加算演算回路4は、復号回路3から受けたデータ列DS1について、前述した加算演算を行う(ステップSg3参照)。そして、加算演算後のデータ列がIndexデータであった場合はカラーパレット7へ出力し、Indexデータではなく、かつ、可逆データであった場合はバッファ8〜10へ書き込み、Indexデータではなく、可逆データでもなかった場合は逆量子化回路6へ出力する。また、この加算演算回路4は、圧縮データにマスクデータが含まれていた場合に、加算演算後のマスクデータをバッファ11へ書き込む。
【0057】
逆量子化回路6は加算演算回路4の出力の逆量子化処理を行い(ステップSg4参照)、その結果をバッファ8〜10へ書き込む。すなわち、圧縮データがYデータまたはGデータであった場合はバッファ8に書き込み、圧縮データがUデータまたはRデータであった場合はバッファ9に書き込み、圧縮データがVデータまたはBデータであった場合はバッファ10に書き込む。
【0058】
カラーパレット7は加算演算回路4から出力されたIndexデータをRGBデータに変換し、バッファ8〜10へ書き込む。逆ウエブレット変換回路12はバッファ8〜10内のデータがウエブレット変換されたローパスデータであった場合に、そのデータを内部に一時記憶し、次にハイパスデータがバッファ8〜10に書き込まれた時、ローパスデータ、ハイパスデータに基づくウエブレット逆変換を行なって、変換後のデータを出力する。この場合、バッファ8のデータにウエブレット逆変換を行なってバッファ13へ出力し、バッファ9のデータにウエブレット逆変換を行なってバッファ14へ出力し、バッファ10のデータにウエブレット逆変換を行なってバッファ15へ出力する。
【0059】
スキャンROM16には、予めスキャンNo0〜3に対応するデータ書き込み順序が記憶されている。そして、スキャン番号レジスタ5内のデータによって指定された書き込み順序を各バッファ13〜15および11へ出力する。これにより、逆ウエブレット変換回路12からバッファ13〜15へ出力されたデータは、スキャンNoに基づくスキャンを元に戻す順序でバッファ13〜15に書き込まれる。逆ウエブレット変換が行われないデータの場合も同様に、バッファ8〜10からバッファ13〜15へデータが移される際にスキャンを元に戻す順序でデータ書き込みが行われる。バッファ11の書き込みの場合も同様である。
【0060】
YUV−RGB変換回路17は、バッファ13〜15内のデータがY、U、Vデータであった場合に、そのデータを所定の演算によってR、G、Bデータに変換し、画像合成回路18へ出力する。画像合成回路18はYUV−RGB変換回路17からRGBデータが出力された場合は、バッファ11から出力されるマスクデータが指示する透明色のデータを、透明色のカラーコードが記憶された透明色レジスタ19内のカラーコードに置き換え、16×16ワードのRGBバッファ20を介してフレームメモリに書き込む。同様に、バッファ13〜15内のデータがRGBデータであった場合は、画像合成回路18がそのRGBデータの中の、バッファ11内のマスクデータが指定するデータを透明カラーコードに置き換え、RGBバッファ20を介してフレームメモリ21に書き込む。
【0061】
【発明の効果】
以上説明したように、この発明によれば、被圧縮データを高能率で圧縮することができ、また、伸張時においては、テーブルや複雑な演算の必要がなく、簡単な処理によって圧縮データを高速に伸張することができる。また、この発明によれば、インデックス形式の画像データの可逆圧縮およびRGB形式またはYUV形式の画像データの非可逆/高能率圧縮を共に行うことができる。
【図面の簡単な説明】
【図1】 この発明の一実施形態による画像データ圧縮方法を説明するための説明図である。
【図2】 同圧縮方法の処理過程を示すフローチャートである。
【図3】 図2における圧縮処理(ステップSa8)の詳細を示すフローチャートである。
【図4】 図3におけるスキャン処理(ステップSb4)の詳細を示すフローチャートである。
【図5】 図3における圧縮処理(ステップSb6)の詳細を示すフローチャートである。
【図6】 図5における圧縮処理(ステップSd1、Sd3、Sd4、Sd6)の詳細を示すフローチャートである。
【図7】 図6における符号化処理(ステップSe12)を説明するためのフォーマット図である。
【図8】 図6における符号化処理(ステップSe12)を説明するための図である。
【図9】 図1の実施形態による圧縮方法で圧縮したデータを伸張する伸張処理の過程を示すフローチャートである。
【図10】 図9における伸張処理(ステップSf3、Sf5、Sf6、Sf8)の詳細を示すフローチャートである。
【図11】 図9における伸張処理を説明するための説明図である。
【図12】 この発明の一実施形態による画像データ伸張回路の構成を示すブロック図である。
【符号の説明】
GD、GD1〜GD3…画像データ、DS、DS1…データ列、1…ROM(圧縮データ)、3…復号処理回路、4…加算演算回路、6…逆量子化回路、7…カラーパレット、8〜11、13〜15…バッファ、16…ROM、17…YUV−RGB変換回路、18…画像合成回路。
Claims (25)
- 画像データを、それぞれがm×nドットで構成される複数の2次元のブロックに分ける第1の処理と、
各ブロックの画像データを予め決められたスキャン方法に基づきスキャンして1次元ドット列に並べ替える第2の処理と、
前記第2の処理によって並べ替えられた1次元ドット列をウエブレット変換した後に圧縮する第3の処理とを有し、
前記第2、第3の処理をスキャン方法を変えて繰り返し実行し、
圧縮後のデータ量が最も小さいスキャン方法を選択し、選択したスキャン方法およびそのスキャン方法に基づく圧縮画像データを出力することを特徴とする画像データ圧縮方法。 - RGB形式およびインデックス形式の画像データの圧縮を行う画像データ圧縮方法において、
画像データを、それぞれがm×nドットで構成される複数の2次元のブロックに分ける第1の処理と、
各ブロックの画像データを予め決められたスキャン方法に基づきスキャンして1次元ドット列に並べ替える第2の処理と、
前記第2の処理によって並び替えられた1次元ドット列をウエブレット変換する第3の処理と、
前記ウエブレット変換後のデータの量子化を行う第4の処理と、
前記量子化後のデータの差分演算を行う第5の処理と、
前記差分演算後のデータの符号化を行う第6の処理と、
を有し、
画像データがRGB形式の時は前記第1〜第6の処理をスキャン方法を変えて繰り返し実行し、
圧縮後のデータ量が最も小さいスキャン方法を選択し、選択したスキャン方法およびそのスキャン方法に基づく圧縮画像データを出力し、
画像データがインデックス形式の時は、前記第1、第2、第5、第6の処理をスキャン方法を変えて繰り返し実行し、
圧縮後のデータ量が最も小さいスキャン方法を選択し、選択したスキャン方法およびそのスキャン方法に基づく圧縮画像データを出力することを特徴とする画像データ圧縮方法。 - 前記画像データはRGBデータであり、前記第1の処理および第2の処理の間に、RGB→YUV変換処理を設けたことを特徴とする請求項1または請求項2に記載の画像データ圧縮方法。
- 前記第4の処理と前記第5の処理の間に、データが一定値以下の場合に「0」に置換するしきい値処理を設けたことを特徴とする請求項2に記載の画像データ圧縮方法。
- 前記ブロックに含まれる画像データの内、可逆圧縮が必要な画像データに対応するマスクパターンを形成し、該マスクパターンを前記第1、第2、第5および第6の処理によって可逆圧縮し、前記圧縮画像データと共に出力することを特徴とする請求項2に記載の画像データ圧縮方法。
- 前記第6の処理は、被符号化データ「0」が複数連続する場合に、そのデータ「0」の列を、連続する「0」の個数を示すデータおよび第1の特定コードに置換する処理を含むことを特徴とする請求項2〜請求項5のいずれかの項に記載の画像データ圧縮方法。
- 前記第6の処理は、被符号化データ「0」が連続する個数が予め定められたゼロランレングス値以下の場合に、そのデータ「0」の列を、連続する「0」の個数を示すデータおよび第1の特定コードに置換し、被符号化データ「0」が連続する個数が予め定められたゼロランレングス値以上の場合に、そのデータ「0」の列を、前記第1の特定コードおよび「00・・・00」からなるデータと、連続する「0」の個数を示すデータとに置換する処理を含むことを特徴とする請求項2〜請求項5のいずれかの項に記載の画像データ圧縮方法。
- 前記ゼロランレングス値を変えて圧縮後のデータ量が最小となるゼロランレングス値を検出することを特徴とする請求項7に記載の画像データ圧縮方法。
- 前記第6の処理は、被符号化データが直前のデータと絶対値が同一の場合に、その被符号化データを、データ絶対値同一を示す第2の特定コードおよびデータの正負を示すビットからなるデータに置換する処理を含むことを特徴とする請求項2〜請求項5のいずれかの項に記載の画像データ圧縮方法。
- 前記第6の処理は、被符号化データが特定値より小の時は、そのデータを第3の特定コードおよびデータ値に置換し、被符号化データが該特定値より大の時は、そのデータを第4の特定コードおよびデータ値に置換する処理を含むことを特徴とする請求項2〜請求項5のいずれかの項に記載の画像データ圧縮方法。
- 前記特定値を変えて圧縮後のデータ量が最小となる特定値を検出することを特徴とする請求項10に記載の画像データ圧縮方法。
- 圧縮の際に最大圧縮率とされたスキャン方法および圧縮画像データを受けて該圧縮データを伸張する画像データ伸張装置において、
前記圧縮データを伸張した後にウエブレット逆変換処理によって1次元ドット列に復号する復号手段と、
前記復号手段によって復号された1次元ドット列を前記スキャン方法が示すスキャン順序と逆の順序に従ってm×nドットで構成される複数の2次元のブロック状に一時記憶メモリに書き込む書込手段と、
を具備することを特徴とする画像データ伸張装置。 - 圧縮の際に最大圧縮率とされたスキャン方法、圧縮画像データおよびRGB形式/インデックス形式の区別を示すデータを受けて該圧縮データを伸張する画像データ伸張装置において、
前記圧縮画像データを符号化の逆処理によって復号する第1の復号手段と、
前記第1の復号手段によって復号されたデータの加算演算を行う加算演算手段と、
前記RGB形式/インデックス形式の区別を示すデータがRGB形式を指示していた場合は、前記加算演算手段の出力データを、逆量子化およびウエブレット逆変換によって1次元ドット列に復号し、前記RGB形式/インデックス形式の区別を示すデータがインデックス形式を指示していた場合は、前記加算演算手段の出力データをそのまま出力する第2の復号手段と、
前記第2の復号手段から出力された1次元ドット列を前記スキャン方法が示すスキャン順序と逆の順序に従ってm×nドットで構成される複数の2次元のブロック状に一時記憶メモリに書き込む書込手段と、
を具備することを特徴とする伸張装置。 - 前記第2の復号手段の出力データをRGBデータに変換して前記書込手段へ出力するデータ変換手段を設けたことを特徴とする請求項13に記載の画像データ伸張装置。
- 前記第1の復号手段は、前記圧縮画像データ中に第1の特定コードを検出した時、該特定コードに付属するデータが示す数の「0」データを復号する処理を含むことを特徴とする請求項13に記載の画像データ伸張装置。
- 前記第1の復号手段は、前記圧縮画像データ中に第1の特定コードを検出した場合において、該特定コードに付属するデータが「00・・・00」でない場合はそのデータが示す数の「0」データを復号し、該特定コードに付属するデータが「00・・・00」であった場合は次のデータが示す数の「0」データを復号する処理を含むことを特徴とする請求項13に記載の画像データ伸張装置。
- 前記第1の復号手段は、前記圧縮画像データ中に第2の特定コードを検出した時、該特定コードに付属するデータが2値論理レベルの一方データの時は直前のデータと同じデータを復号し、該特定コードに付属するデータが2値論理レベルの他方データの時は直前のデータと符号を変えたデータを復号する処理を含むことを特徴とする請求項13に記載の画像データ伸張装置。
- 前記第1の復号手段は、前記圧縮画像データ中に第3の特定コードを検出した時、該特定コードに付属する予め決められたK(Kは正の整数)ビットをデータとして復号し、第4の特定コードを検出した時は、該特定コードに付属する予め決められたM(Mは正の整数)ビットをデータとして復号する処理を含むことを特徴とする請求項13に記載の画像データ伸張装置。
- 圧縮の際に最大圧縮率とされたスキャン方法および圧縮画像データを受けて該圧縮データを伸張するプログラムにおいて、
前記圧縮画像データを伸張した後にウエブレット逆変換処理によって1次元ドット列に復号する復号手順と、
前記復号手順によって復号された1次元ドット列を前記スキャン方法が示すスキャン順序と逆の順序に従ってm×nドットで構成される複数の2次元のブロック状に一時記憶メモリに書き込む書込手順と、
をコンピュータに実行させるためのプログラム。 - 圧縮の際に最大圧縮率とされたスキャン方法、圧縮画像データおよびRGB形式/インデックス形式の区別を示すデータを受けて該圧縮データを伸張するプログラムにおいて、
前記圧縮画像データを符号化の逆処理によって復号する第1の復号手順と、
前記第1の復号手段によって復号されたデータの加算演算を行う加算演算手順と、
前記RGB形式/インデックス形式の区別を示すデータがRGB形式を指示していた場合は、前記加算演算処理後のデータを、逆量子化およびウエブレット逆変換によって1次元ドット列に復号し、前記RGB形式/インデックス形式の区別を示すデータがインデックス形式を指示していた場合は、前記加算演算処理後のデータをそのまま出力する第2の復号手順と、
前記第2の復号手順から出力された1次元ドット列を前記スキャン方法が示すスキャン順序と逆の順序に従ってm×nドットで構成される複数の2次元のブロック状に一時記憶メモリに書き込む書込手順と、
をコンピュータに実行させるためのプログラム。 - 前記第2の復号手順の処理後のデータをRGBデータに変換して前記書込手順へ送るデータ変換手順を設けたことを特徴とする請求項20に記載のプログラム。
- 前記第1の復号手順は、前記圧縮画像データ中に第1の特定コードを検出した時、該特定コードに付属するデータが示す数の「0」データを復号する処理を含むことを特徴とする請求項20に記載のプログラム。
- 前記第1の復号手順は、前記圧縮画像データ中に第1の特定コードを検出した場合において、該特定コードに付属するデータが「00・・・00」でない場合はそのデータが示す数の「0」データを復号し、該特定コードに付属するデータが「00・・・00」であった場合は次のデータが示す数の「0」データを復号する処理を含むことを特徴とする請求項20に記載のプログラム。
- 前記第1の復号手順は、前記圧縮画像データ中に第2の特定コードを検出した時、該特定コードに付属するデータが2値論理レベルの一方データの時は直前のデータと同じデータを復号し、該特定コードに付属するデータが2値論理レベルの他方データの時は直前のデータと符号を変えたデータを復号する処理を含むことを特徴とする請求項20に記載のプログラム。
- 前記第1の復号手順は、前記圧縮画像データ中に第3の特定コードを検出した時、該特定コードに付属する予め決められたK(Kは正の整数)ビットをデータとして復号し、第4の特定コードを検出した時は、該特定コードに付属する予め決められたM(Mは正の整数)ビットをデータとして復号する処理を含むことを特徴とする請求項20に記載のプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002234984A JP3707456B2 (ja) | 2002-08-12 | 2002-08-12 | 画像データ圧縮方法および画像データ伸張装置並びに伸張プログラム |
US10/638,640 US7248735B2 (en) | 2002-08-12 | 2003-08-11 | Compression and decompression method of image data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002234984A JP3707456B2 (ja) | 2002-08-12 | 2002-08-12 | 画像データ圧縮方法および画像データ伸張装置並びに伸張プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004080154A JP2004080154A (ja) | 2004-03-11 |
JP3707456B2 true JP3707456B2 (ja) | 2005-10-19 |
Family
ID=32019636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002234984A Expired - Fee Related JP3707456B2 (ja) | 2002-08-12 | 2002-08-12 | 画像データ圧縮方法および画像データ伸張装置並びに伸張プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7248735B2 (ja) |
JP (1) | JP3707456B2 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
MXPA04000912A (es) * | 2001-11-22 | 2004-04-02 | Matsushita Electric Ind Co Ltd | Metodo de codificacion de longitud variable y metodo de decodificacion de longitud variable. |
JP2005191956A (ja) | 2003-12-25 | 2005-07-14 | Yamaha Corp | 表示用データ圧縮/伸張方法 |
US8868930B2 (en) | 2006-05-31 | 2014-10-21 | International Business Machines Corporation | Systems and methods for transformation of logical data objects for storage |
WO2007138602A2 (en) | 2006-05-31 | 2007-12-06 | Storwize Ltd. | Method and system for transformation of logical data objects for storage |
TWI311443B (en) * | 2006-07-12 | 2009-06-21 | Novatek Microelectronics Corp | Method of block coding of an image |
JP4424522B2 (ja) * | 2006-07-13 | 2010-03-03 | 日本電気株式会社 | 符号化及び復号化装置ならびに符号化方法及び復号方法 |
US8718389B2 (en) | 2011-04-13 | 2014-05-06 | Huawei Technologies Co., Ltd. | Image encoding and decoding methods and related devices |
GB2496194A (en) * | 2011-11-07 | 2013-05-08 | Sony Corp | Entropy encoding video data using reordering patterns |
GB2496195A (en) * | 2011-11-07 | 2013-05-08 | Sony Corp | Entropy encoding video data using reordering patterns |
TWI523497B (zh) * | 2011-11-10 | 2016-02-21 | Sony Corp | Image processing apparatus and method |
US9357232B2 (en) | 2014-10-28 | 2016-05-31 | Sony Corporation | Image processing system with binary decomposition and method of operation thereof |
US9294782B1 (en) | 2014-10-28 | 2016-03-22 | Sony Corporation | Image processing system with artifact reduction mechanism and method of operation thereof |
US10063889B2 (en) | 2014-10-28 | 2018-08-28 | Sony Corporation | Image processing system with conditional coding and method of operation thereof |
US9357237B2 (en) | 2014-10-28 | 2016-05-31 | Sony Corporation | Image processing system with bitstream reduction and method of operation thereof |
US10356410B2 (en) | 2014-10-28 | 2019-07-16 | Sony Corporation | Image processing system with joint encoding and method of operation thereof |
US9674554B2 (en) | 2014-10-28 | 2017-06-06 | Sony Corporation | Image processing system with coding mode and method of operation thereof |
KR102345660B1 (ko) * | 2015-11-24 | 2021-12-30 | 삼성전자주식회사 | 비디오 복호화 방법 및 장치, 그 부호화 방법 및 장치 |
US10643551B2 (en) * | 2017-03-30 | 2020-05-05 | Anapass Inc. | Method of driving display, display device, and source driver |
KR101996646B1 (ko) * | 2017-03-30 | 2019-10-01 | 주식회사 아나패스 | 디스플레이 구동 방법 및 디스플레이 구동 장치 |
KR102185668B1 (ko) * | 2019-01-30 | 2020-12-02 | 스노우 주식회사 | 이미지 파일의 픽셀 변환을 통한 압축율 향상 방법 및 시스템 |
CN110149514B (zh) * | 2019-05-31 | 2023-05-05 | 上海联影医疗科技股份有限公司 | 扫描数据的压缩方法、装置、采集系统及医学成像系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR950010913B1 (ko) | 1992-07-23 | 1995-09-25 | 삼성전자주식회사 | 가변장부호화 및 복호화시스템 |
US5714950A (en) | 1992-07-23 | 1998-02-03 | Samsung Electronics Co., Ltd. | System for variable-length-coding and variable-length-decoding digitaldata |
US6757437B1 (en) * | 1994-09-21 | 2004-06-29 | Ricoh Co., Ltd. | Compression/decompression using reversible embedded wavelets |
AUPP248298A0 (en) * | 1998-03-20 | 1998-04-23 | Canon Kabushiki Kaisha | A method and apparatus for hierarchical encoding and decoding an image |
-
2002
- 2002-08-12 JP JP2002234984A patent/JP3707456B2/ja not_active Expired - Fee Related
-
2003
- 2003-08-11 US US10/638,640 patent/US7248735B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20050012645A1 (en) | 2005-01-20 |
US7248735B2 (en) | 2007-07-24 |
JP2004080154A (ja) | 2004-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3707456B2 (ja) | 画像データ圧縮方法および画像データ伸張装置並びに伸張プログラム | |
CN105451026B (zh) | 数据压缩 | |
KR100609614B1 (ko) | 화상데이터전송및화상처리를위한방법및장치 | |
JP5214742B2 (ja) | 予測に基づく画像処理 | |
GB2542511A (en) | Data compression | |
JP2001222392A5 (ja) | 画像処理装置及びその方法 | |
JP4019790B2 (ja) | 画像処理装置および画像処理プログラム | |
US7574056B2 (en) | Method for compression and expansion of display data | |
JP3462867B2 (ja) | 画像圧縮方法および装置、画像圧縮プログラムならびに画像処理装置 | |
JPH0215782A (ja) | 画像符号化方式 | |
JP2839392B2 (ja) | 画像データ復元方法および装置 | |
JP3023215B2 (ja) | 画像処理装置 | |
JPH0556271A (ja) | 逆量子化方法および画像データ復元装置 | |
JP3822512B2 (ja) | 画像データ圧縮装置、画像データ圧縮方法、記録媒体およびプログラム | |
JP2004213464A (ja) | 画像処理装置 | |
JP4233302B2 (ja) | データ符号化装置、データ復号装置、データ符号化方法、データ復号方法、それらの方法をコンピュータに実現させるためのプログラムおよび記録媒体 | |
JP4364729B2 (ja) | 画像データ圧縮/伸張方法および画像処理装置 | |
JPH1098620A (ja) | 画像処理装置 | |
JP4034385B2 (ja) | マルチカラー画像の符号化装置およびその方法ならびにマルチカラー画像の復号化装置およびその方法 | |
JPH04271664A (ja) | 画像データ圧縮装置および画像データ復元装置 | |
JP3648943B2 (ja) | マルチカラー画像の符号化装置およびその方法並びにマルチカラー画像の復号化装置およびその方法 | |
JPH01173974A (ja) | 画像符号化方式 | |
JPH10224792A (ja) | 画像信号の符号化方法及び装置 | |
JP2005012823A (ja) | データ圧縮装置および方法、データ伸長装置および方法、データ圧縮伸長システムおよび方法、コードブックの作成方法、記録媒体 | |
JP2004007251A (ja) | 画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050310 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050412 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050613 |
|
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: 20050712 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050725 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090812 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100812 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100812 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110812 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120812 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130812 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |