JP3790728B2 - Image encoding apparatus, image decoding apparatus and methods thereof - Google Patents

Image encoding apparatus, image decoding apparatus and methods thereof Download PDF

Info

Publication number
JP3790728B2
JP3790728B2 JP2002266055A JP2002266055A JP3790728B2 JP 3790728 B2 JP3790728 B2 JP 3790728B2 JP 2002266055 A JP2002266055 A JP 2002266055A JP 2002266055 A JP2002266055 A JP 2002266055A JP 3790728 B2 JP3790728 B2 JP 3790728B2
Authority
JP
Japan
Prior art keywords
image
block
interpolation
representative
representative colors
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
Application number
JP2002266055A
Other languages
Japanese (ja)
Other versions
JP2004104621A (en
Inventor
康晋 山内
真弘 関根
剛 永井
新悟 柳川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2002266055A priority Critical patent/JP3790728B2/en
Publication of JP2004104621A publication Critical patent/JP2004104621A/en
Application granted granted Critical
Publication of JP3790728B2 publication Critical patent/JP3790728B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ブロック単位の画像符号化法に関するものであり、特に、3次元コンピュータグラフィックス分野における圧縮率固定のテクスチャ画像圧縮に関わる。
【0002】
【従来の技術】
3次元コンピュータグラフィクス分野では、3次元を構成するモデル(一般には三角形パッチで構成されるポリゴンモデルが用いられる)表面に実世界から取得した撮影画像(テクスチャ画像)を貼り付けるテクスチャマッピングを行うことで高品位な画像を生成する。
【0003】
よりリアルな物体を表現するためには、より高精細で大量のテクスチャ画像が必要であり、グラフィックス・システムはこれら大量の画像データを保持、転送、処理するためのメモリやバス・バンド幅、プロセッシングパワーが必要となってきた。いままで、必要なメモリ量やバス・バンド幅を減少させるために、さまざまな画像圧縮方法が試みられてきた。エントロピー符号化/ロスレス符号化、DCT、JPEG、BTC、CCC、S3TCなどが存在する。これらの方法にはそれぞれ下記のような短所が存在する。
【0004】
(1) エントロピー符号化は、予測可能性に基づくもので符号化する場合には最も出現頻度の高いシンボルに短い符号長を割り当てることでデータ量の符号化を実現している。ところが、特定の個所へのランダムアクセスに向かないという欠点が存在する。
【0005】
1シンボルの解釈に一連の系列解釈が必要で、非効率な演算が必要であったりスループットが低減するといった問題が存在する。
【0006】
また、圧縮率が固定でない点も問題で、リアルタイム・グラフィックスシステムなどでメモリ量に制約のある場合など圧縮率が不定なこれらの手法は扱うことができなかった。
【0007】
(2) 離散コサイン変換Discrete Cosine Transform(DCT)やJPEG等の符号化方法は画質を制御して符号化することが可能である。
【0008】
これらの方法は画像情報を直交した周波数成分に分解するため、視覚的に影響の少ない部分、例えば低周波数成分のみを個別にカットすることで、画質を保持しながら圧縮率をあげることが可能である。
【0009】
しかし、圧縮率をかせぐ必要性から扱える処理単位が8×8ピクセルや16×16ピクセルといった大きな画像ブロックに限定されてしまう。
【0010】
非常に小さな画像エリアや1ピクセル単位のランダムアクセスであっても、1ブロック分のピクセル情報を扱う必要があるため、バス幅、計算負荷ともに高くなる。さらに、符号化データ量が不定なためのメモリ配置の問題や、高速な処理演算器か専用ハードウェアが必要なうえバッファ用メモリも必要といった問題もある。また、圧縮率をあげることでエッジが揺らいだり色調が変わる等、単純なポストフィルタリング処理では修復できない画像劣化が発生する問題があった。
【0011】
(3) Block truncation coding(BTC)やColor Cell compression(CCC)と呼ばれる手法では、4×4ピクセル画像ブロックを代表色2色と1ビットに量子化した16bitピクセル情報(どちらの代表色で表現するかで2パターン)で符号化したものである。復号化は、前記2代表色を符号化された16bit情報の各ビットから2代表色をルックアップテーブルで選択することによって行う。
【0012】
これらBTC/CCCは2段階の色再現性しかないため、画質が落ちる原因にもなっている。特に2代表色を8bitのカラーインデックスで表現するため、カラールックアップテーブルを別途転送する必要があり、情報転送量が増加する問題があった。ピクセル毎に3bit情報を割り当てるCCC方法も存在するが、メモリの配置にオーバーヘッドが発生する問題があった。さらに、代表色を透過キーに割り当てて表示させた場合、画質に大きな劣化が発生する問題があった。
【0013】
(4) ピクセル毎の量子化ビットを2ビットにすることで画質を向上する方法もある。S3TC(米国特許5956431)方法は、代表色2色とその代表色間に定義される2色の計4代表色を設定し、ピクセル毎に2bitでこれらの代表色を割当ることで、画像諧調表現の向上をおこなっている。
【0014】
(5) BTC方法では、ピクセル毎に2ビットを4代表色("J.D.Kim,et.al,"Progressive Imaging on the Internet via WWW Browser using Adaptive Block Truncation Coding",Multimedia Computing and Networking 1996, 1996)や、3代表色("Y.A.Alaska and D.A.Lee,"Three Level Block Truncation Coding", Proc. 1990 IEEE Southeastcon, Vol.2, IEEE Press, Piscataway, N.J., pp. 420-423, 1990)にして画質を向上させる手法もある。
【0015】
代表色を増やすことで符号化画像のデータ量が増える一方で、さらに透過情報といった付加的情報を埋め込もうとすると符号化時のデータ量が増加する問題がある。
【0016】
以上述べたように、ブロック単位の画像符号化法の中には、画質の向上と付加情報の付与を両立させるような画像符号化フォーマット及び符号化手法は存在しない。
【0017】
【特許文献1】
米国特許 5,956,431 "SYSTEM AND METHOD FOR FIXED-RATE BLOCK-BASED IMAGE COMPRESSION WITH INFERRED PIXEL VALUES"
【0018】
【非特許文献1】
G.Campbell et.al, "Two bit/pixel full Color Encoding", Siggraph86' pp.215-223
【0019】
【非特許文献1】
J.D.Kim,et.al, "Progressive Imaging on the Internet via WWW Browser using Adaptive Block Truncation Coding",Multimedia Computing and Networking 1996, 1996
【0020】
【非特許文献2】
Y.A.Alaska and D.A.Lee, "Three Level Block Truncation Coding", Proc. 1990 IEEE Southeastcon, Vol.2, IEEE Press, Piscataway, N.J., pp. 420-423, 1990
【0021】
【発明が解決しようとする課題】
上述したように従来のブロック単位の画像符号化手法は、圧縮率の向上が目的でピクセル毎の属性情報を含めた符号化は考慮されていない。そのため、画質と圧縮率を保持した状態で付加情報の付与が可能な効率的画像フォーマットと符号化法が求められている。
【0022】
そこで、上記目的を達成するために、本発明を提供する。
【0023】
【課題を解決するための手段】
本発明の画像符号化装置は、画像情報を特定の画像ブロックに分割するブロック分割部と、前記分割した各画像ブロック単位において少なくとも3つ以上の代表色を求める代表色算出部と、前記求めた3つ以上の代表色の中から2つ以上の代表色と、これら2つ以上の代表色の補間で表現できる代表色を補間代表色として決定すると共に、その補間を行うための補間係数を計算する補間代表色決定部と、前記各画像ブロックを構成する各ピクセルを、前記求めた2つ以上の代表色、または、前記求めた補間代表色のいずれで表現するかを決定して符号化して符号化画像を求めるピクセル情報符号化部と、前記求めた2つ以上の代表色、前記求めた補間係数及び前記求めた符号化画像を組み合わせ、ブロック単位の符号化画像である符号化ブロックを生成する符号化ブロック生成部と、前記生成した符号化ブロックを連結して最終的な符号化画像を構成するブロック連結部と、を有することを特徴とする。
【0024】
本発明の画像符号化装置は、画像情報を特定の画像ブロックに分割するブロック分割部と、前記分割した各画像ブロック単位において少なくとも3つ以上の代表色を求める代表色算出部と、前記求めた3つ以上の代表色の中から2つ以上の代表色と、これら2つ以上の代表色の補間で表現できる代表色を補間代表色として決定し、この補間代表色の数に応じた符号化フォーマットを決定すると共に、その補間を行うための補間係数を計算する補間代表色決定部と、前記各画像ブロックを構成する各ピクセルを、前記求めた2つ以上の代表色、または、前記求めた補間代表色のいずれで表現するかを決定して符号化して符号化画像を求めるピクセル情報符号化部と、前記求めた2つ以上の代表色、前記求めた補間係数及び前記求めた符号化画像とを、前記決定した符号化フォーマットに応じて配置することでブロック単位の符号化画像を生成する符号化ブロック生成部と、前記決定した各ブロックの符号化フォーマット情報を格納したヘッダ情報を生成するヘッダ情報生成部と、前記生成した符号化ブロック及び前記生成したヘッダ情報を連結して最終的な符号化画像を構成するブロック連結部と、を有することを特徴とする。
【0025】
本発明の画像復号化装置は、画像情報を特定の符号化された画像ブロックに分割するブロック分割部と、前記分割された各符号化された画像ブロック単位に少なくとも2つ以上の代表色、補間代表色を算出する補間係数及びピクセル情報を符号化した符号化画像を取り出す符号化ブロック分解部と、前記求めた2つ以上の代表色及び補間係数から補間代表色を算出する補間代表色算出部と、前記求めた補間代表色、前記2つ以上の代表色及び前記符号化画像とから、ピクセル単位にカラー情報を復号してブロック毎の復号化画像を求めるピクセル情報復号化部と、前記求めたブロック単位の復号化画像を連結して最終的な復号化画像を構成するブロック連結部と、を有することを特徴とする
【0026】
本発明の画像復号化装置は、画像情報をヘッダ情報と符号化された画像ブロックに分割するブロック分割部と、前記ヘッダ情報から前記分割された各画像ブロック単位に符号化フォーマットを判定するフォーマット判定部と、前記分割された各画像ブロック単位に少なくとも2つ以上の代表色、補間代表色を算出するための補間係数及びピクセル情報を符号化した符号化画像を取り出す符号化ブロック分解部と、前記求めた2つ以上の代表色及び補間係数から補間代表色を前記判定した符号化フォーマットに従った数だけ算出する補間代表色算出部と、前記求めた補間代表色、前記2つ以上の代表色及び前記符号化画像とから、ピクセル単位にカラー情報を復号してブロック毎の復号化画像を求めるピクセル情報復号化部と、前記求めたブロック単位の復号化画像を連結して最終的な復号化画像を構成するブロック連結部と、を有することを特徴とする画像復号化装置である。
【0031】
【発明の実施の形態】
(実施形態1)
実施形態1は、下記の通りである。
【0032】
少なくとも2つ以上の代表色、前記代表色を補間することで新たな代表色を定義するための少なくとも1つ以上の補間係数及び前記代表色、あるいは前記補間係数に基づき求めた補間代表色のいずれかを各ピクセルのカラー情報として選択するためのインデックス情報で画像ブロックが構成される
ことを特徴とするブロック単位の画像符号化方法である。
【0033】
(実施形態2)
実施形態2は、下記の通りである。
【0034】
画像情報を特定ブロックに分割するブロック分割手段と、
前記ブロック分割手段で分割された各画像ブロック単位に少なくとも2つ以上の代表色を求めるための代表色算出手段と、
前記代表色算出手段で求めた代表色から他の2つ以上の代表色の補間で表現できるものを決定し、補間係数を計算するための補間代表色決定手段と、
ブロックを構成する各ピクセルを前記代表色算出手段で求めた代表色、あるいは前記補間代表色決定手段で求めた補間代表色で表現するかを決定し符号化するためのピクセル情報符号化手段と、
前記代表色算出手段で求めた代表色と前記補間代表色決定手段で求めた補間係数及び前記ピクセル情報符号化手段で求めた符号化画像とを組み合わせ、ブロック単位の符号化画像を生成するための符号化ブロック生成手段と、
前記符号化ブロック生成手段で生成した符号化ブロックを連結し、最終的に符号化した画像を構成するためのブロック連結手段と、
を有する
ことを特徴とするブロック単位の画像符号化装置及び方法である。
【0035】
(実施形態3)
実施形態3は、下記の通りである。
【0036】
画像情報を特定ブロックに分割するブロック分割手段と、
前記ブロック分割手段で分割された各画像ブロック単位に少なくとも2つ以上の代表色を求めるための代表色算出手段と、
前記代表色算出手段で求めた代表色から他の2つ以上の代表色の補間で表現できるものを決定し、補間できる代表色の数に応じた符号化フォーマットを決定し、補間係数を計算するための補間代表色決定手段と、
ブロックを構成する各ピクセルを前記代表色算出手段で求めた代表色、あるいは前記補間代表色決定手段で求めた補間代表色のいずれで表現するかを決定し符号化するためのピクセル情報符号化手段と、
前記代表色算出手段で求めた代表色と前記補間代表色決定手段で求めた補間係数及び前記ピクセル情報符号化手段で求めた符号化画像とを前記補間代表色決定手段で決定した符号化フォーマットに応じて配置することでブロック単位の符号化画像を生成するための符号化ブロック生成手段と、
前記補間代表色決定手段で決定された各ブロック毎の符号化フォーマット情報を格納したヘッダ情報を生成するためのヘッダ情報生成手段と、
前記符号化ブロック生成手段で生成した符号化ブロック及び前記ヘッダ情報生成手段で生成したヘッダ情報を連結し、最終的に符号化した画像を構成するためのブロック連結手段と、
を有する
ことを特徴とするブロック単位の画像符号化装置及び方法である。
【0037】
(実施形態4)
実施形態4は、下記の通りである。
【0038】
前記ヘッダ情報生成手段は、
前記補間代表色決定手段で決定した各ブロック毎の符号化フォーマットの識別情報を保存しておくためのテーブル情報をヘッダ情報として生成する
ことを特徴とする実施形態3に記載のブロック単位の画像符号化装置及び方法である。
【0039】
(実施形態5)
実施形態5は、下記の通りである。
【0040】
前記補間代表色決定手段は、
前記ブロック分割手段で分割したブロックを構成するピクセル・カラーの分布特性に応じて符号化符号フォーマットを決定する
ことを特徴とする実施形態3及び4に記載のブロック単位の画像符号化装置及び方法である。
【0041】
(実施形態6)
実施形態6は、下記の通りである。
【0042】
前記代表色算出手段は、
画像全体で支配的なカラー情報を代表色に含めて生成する
ことを特徴とする、前記実施形態2から5に記載のブロック単位の画像符号化装置及び方法である。
【0043】
(実施形態7)
実施形態7は、下記の通りである。すなわち、2代表色を結ぶ線分から他の代表色までの距離で補間代表色、補間係数を決定である。
【0044】
前記補間代表色算出手段は、
前記代表色算出手段で求めた代表色の中で、特定の代表色と前記代表色を含まない異なる2つの代表色を結ぶ直線までの色空間上の距離に基づき、補間代表色を決定し、前記2代表色間の補間係数をそれぞれ算出する
ことを特徴とする実施形態2から6に記載のブロック単位の画像符号化装置及び方法である。
【0045】
(実施形態8)
実施形態8は、下記の通りである。すなわち、3代表色で構成される平面までの距離で補間代表色、補間係数を決定である。
【0046】
前記補間代表色算出手段は、
前記代表色算出手段で求めた代表色の中で、特定の代表色と前記代表色を含まない異なる3つの代表色で定義される色空間内平面までの距離に基づき、補間代表色を決定し、前記3代表色間の補間係数をそれぞれ算出する
ことを特徴とする実施形態2から6に記載のブロック単位の画像符号化装置及び方法である。
【0047】
(実施形態9)
実施形態9は、下記の通りである。
【0048】
画像情報を特定符号化ブロック画像に分割するブロック分割手段と、
前記ブロック分割手段で分割された各画像ブロック単位に少なくとも2つ以上の代表色、補間代表色を算出するための補間係数及びピクセル情報を符号化した符号化画像を取り出すための符号化ブロック分解手段と、
前記ブロック分解手段で求めた代表色及び補間係数から補間代表色を算出するための補間代表色算出手段と、
前記補間代表色算出手段で求めた補間代表色と、前記代表色及び符号化画像とから、ピクセル単位にカラー情報を復号するためのピクセル情報復号化手段と、前記ピクセル情報復号化手段で求めたブロック単位の復号化画像を連結し、最終的に復号化した画像を構成するためのブロック連結手段と、
を有する
ことを特徴とするブロック単位の画像復号化装置及び方法である。
【0049】
(実施形態10)
実施形態10は、下記の通りである。
【0050】
画像情報をヘッダ情報と符号化ブロック画像に分割するブロック分割手段と、前記ヘッダ情報から前記ブロック分割手段で分割された各画像ブロック単位に符号化符号化フォーマットを判定するためのフォーマット判定手段と、
前記ブロック分割手段で分割された各画像ブロック単位に少なくとも2つ以上の代表色、補間代表色を算出するための補間係数及びピクセル情報を符号化した符号化画像を取り出すための符号化ブロック分解手段と、
前記ブロック分解手段で求めた代表色及び補間係数から補間代表色を前記フォーマット判定手段でも判定したフォーマットに従った数だけ算出するための補間代表色算出手段と、
前記補間代表色算出手段で求めた補間代表色と、前記代表色及び符号化画像とから、ピクセル単位にカラー情報を復号するためのピクセル情報復号化手段と、前記ピクセル情報復号化手段で求めたブロック単位の復号化画像を連結し、最終的に復号化した画像を構成するためのブロック連結手段と、
を有する
ことを特徴とするブロック単位の画像復号化装置及び方法である。
【0051】
【実施例】
以下、本発明の実施例の構成を、図面を参照しながら説明する。
【0052】
(第1の実施例)
(1)ブロック単位の画像符号化システムの構成
図1は、本発明のブロック単位の画像符号化システム(以下、本符号化システムという)の第1の実施例に関わる構成図である。
【0053】
本符号化システムは、与えられた画像に対し特定ピクセルサイズのブロック画像に分割するためのブロック分割手段101と、ブロックを代表する代表色を少なくとも1つ以上算出するための代表色算出手段102と、前記代表色算出手段102で算出した代表色の中で、符号化フォーマットに基づき少なくとも2つ以上の代表色の補間で表現できるものを決定すると同時に前記代表色間の補間係数を決定するための補間代表色決定手段103と、前記代表色算出手段102で求めた代表色及び前記補間代表色決定手段で求めた補間係数に従い代表色間の補間で求められた補間代表色の中から、ブロックを構成する各ピクセルの色を代表させるものを決定し、そのインデックス情報に符号化するためのピクセル情報符号化手段104と、前記代表色算出手段102で求めた代表色、前記補間代表色決定手段103で求めた補間係数及び前記ピクセル情報符号化手段104で求めた符号化ピクセル情報とを符号化フォーマットに従って構成するための符号化ブロック生成手段105と、前記符号化ブロック生成手段105で生成した符号化ブロックを連結し最終的な符号化画像を生成するためのブロック連結手段106、とで構成される。
【0054】
(2)本符号化システム全体の処理の流れ
本符号化システム全体の処理の流れを図2に示す。この図を参考に符号化処理の手順を説明する。
【0055】
(2−1)ブロックの分割
ブロックの分割202では、与えられた符号化画像を特定ブロックサイズの画像ブロックに分割を行う。ここでは4×4ピクセル毎に画像をブロック分解することを考える。画像のピクセル・サイズが256×256である場合、64×64個の画像ブロックが生成されることになる。
【0056】
代表色の算出203では、ブロックを構成する16ピクセルのカラー情報を4色のカラー情報で代表化させることを考える。代表化カラー情報を算出するにはクラスタリング法を用いる。ここでは4代表色へのクラスタリング手順について説明を行う。
【0057】
(2−2)代表色の算出
代表色を算出するための処理フローを図3に示す。
【0058】
この処理の役割は、ブロック内の全ピクセルの色分布を調べて、4つの代表色(C0,C1,C2,C3)を求めることである。支配色優先302では、支配色(ここでは符号化対象の画像内にもっとも多く使用されている色とする)を優先的に代表色とするかどうかを決める。1色で塗りつぶされた背景の上に絵や文字が描かれているような画像の場合、支配色を優先させることによってエッジ部分の再現性を高めることができる。支配色を優先させる場合には、その背景色そのものを代表色C3とする(303)。初期設定(n=1,δ)307以降の処理では、3つまたは4つの代表色を算出するために、クラスタリング処理を実行する。クラスタを順次2分割していく際には、各クラスタの分散σを算出し、分散の大きいクラスタを優先的に2分割する(308)。分散σは、以下のように算出する。
【0059】
【数1】

Figure 0003790728
初期セントロイドの決定309では、あるクラスタを2分割するために、2つの初期セントロイド(クラスタの中心)を決定する。セントロイドの決定は以下の手順で行なう(図4)。
【0060】
1.クラスタの重心gを求める。
【0061】
2.gから最も遠い要素をd0とする。
【0062】
3.d0から最も遠い要素をd1とする。
【0063】
4.gとd0及びgとd1のそれぞれの1:2の内分点をC0,C1とする。
【0064】
但し、2要素間の距離には、RGBの3次元空間でユークリッド距離を用いる。312、313のループは、一般によく知られたクラスタリングアルゴリズムである K-Means 法と同様の処理を行なっている。
【0065】
以上の手順により、4つの代表色(C0,C1,C2,C3)を求めることができる。
【0066】
(2−3)補間代表色の決定
補間代表色の決定204では、前記代表色の算出203で求めた4つの代表色の中から、ほかの代表色の補間によって表現できるものがあるかどうかを判定し、補間することが可能な場合、その代表色の選択と補間係数の決定を行う。
【0067】
「補間」とは、色空間上の分布に基づいて、一の代表色(以下、補間代表色という)が他の代表色(以下、保存代表色という)によって表現することをいい、その補間をするための係数を補間係数という。
【0068】
ここで、補間代表色の数に応じて4つの符号化フォーマットを定義する。補間で表現できる代表色が多いほど代表色として保持しておく保存代表色のデータサイズが少なくて済むため、その空いたデータ領域を透過率情報等のほかの属性情報に割り当てられることができるようになる。一方、補間で表現できる代表色を増やすほど画質自体は劣化するわけで、確保しておく画質と他の付加しておきた画像情報との関係で符号化フォーマットを選択するといった使い方が考えられる。以下に定義する各符号化フォーマットにおけるブロックに保存代表色の数、補間代表色の数、補間係数の数を示す。
【0069】
符号化フォーマット0:
保存代表色数 4色、 補間代表色数 0色、 補間係数の数 0
符号化フォーマット1:
保存代表色数 3色、 補間代表色数 1色、 補間係数の数 1
符号化フォーマット2:
保存代表色数 3色、 補間代表色数 1色、 補間係数の数 1
符号化フォーマット3:
保存代表色数 2色、 補間代表色数 2色、 補間係数の数 2
符号化フォーマット1、2、3で符号化をする際、4色の代表色のうち1色または2色を補間する必要がある。
【0070】
補間代表色を決定するための処理フローを図5から図7に示す。
【0071】
まず、4つの代表色のうち、どのピクセルにも割り当てられていない、つまり復号の際に決して参照されることがない代表色を除去する(502,602,702)。除去した結果、残った代表色の数で補間が必要かどうかが判定される。
【0072】
符号化フォーマット1あるいは2の場合、残された代表色が3色以下であった場合(502,504,505,603,604,605)、それぞれを代表色として登録する(506,507,508,606,607,608)ことで補間するべき代表色を決定する必要はないが、残された代表色が4色であった場合、補間するべき代表色を1つ決定する必要がある。また、符号化フォーマット3の場合、残された代表色が2色以下であった場合(703,704)、それぞれを代表色として登録し(706,707)、補間するべき代表色は決定する必要がない。但し、残された代表色が3色または4色であった場合(705)には、それぞれ1色あるいは2色を補間するべき代表色として決定する必要がある。
【0073】
補間の対象(補間される代表色)を決定する際には、残された代表色の中に支配色が含まれているかどうかを判定する(509,609,708,709)。支配色が含まれている場合には、支配色のピクセルをそのままの色で再現した方がよいため、補間の対象には含めず、代表色として登録する(510,610,710,711)。支配色の代表色登録が終了し、残された代表色の中から補間するべき代表色を決定することになる。符号化フォーマット1の場合、残された代表色4つの中から1つの補間代表色を決定すればよい(511,512)、符号化フォーマット2の場合、残された代表色3つの中から1つの補間代表色を決定すればよい(611,612)、符号化フォーマット3の場合、残された代表色3つの中ら1つの補間代表色を決定する場合(712,713)と、残された代表色4つの中から2つの補間代表色を決定する場合(714,715)が存在する。
【0074】
上記の代表色の組み合わせの中から、もっとも補間することで誤差の少ないものを選び、それを補間代表色として決定することになる。
【0075】
補間の方法としては、代表色3つから1つの代表色を補間する場合、図8(a)に示すように2つの代表色C0,C1(RGBカラーを3次元座標にプロットしたもの)を結んだ直線に対して、もう1つの代表色から垂線を下ろして補間色を決定する。垂線の足が線分C0−C1上に存在すれば、”補間が可能である”と判断する、また、直線におろした垂線の長さから補間した場合の誤差(補間誤差ε)を求めることができる(613,716)。この誤差を最小とする補間代表色の組み合わせを決定し、そのときの直線上に降ろした垂線の足C2' の線分C0−C1における内分比率を補間係数Ratioとして求める(614,717)。
【0076】
代表色4つから1つの代表色を補間する場合、図8(b)に示すように3つの代表色C0,C1,C2(RGBカラーを3次元座標にプロットしたもの)で定義される平面に、もう1つの代表色から垂線を下ろして補間色を決定する。垂線の足がC0,C1,C2で囲まれる三角形内に存在すれば、”補間が可能である”と判断する、また、平面におろした垂線の長さから補間した場合の誤差(補間誤差ε)を求めることができる(513)。この誤差を最小とする補間代表色の組み合わせを決定し、そのときの垂線の足C3’を表現するベクトルC0−C1の内分比率を補間係数Ratio1、ベクトルC0−C2の内分比率を補間係数Ratio2として求める(514)。
【0077】
代表色4つから2つの代表色を補間する場合、図8(c)に示すように2つの代表色C0,C1(RGBカラーを3次元座標にプロットしたもの)を結んだ直線に対して、それぞれ2つの代表色から垂線を下ろして補間色を決定する。両者の垂線の足が線分C0C1上に存在すれば、”補間が可能である”と判断する、また、直線におろした垂線の長さを合計することで補間した場合の誤差(補間誤差ε)を求めることができる(716)。
【0078】
この誤差が最小とする補間代表色の組み合わせを決定し、そのときの直線上に降ろした垂線の足C2’,C3’の線分C0−C1における内分比率を補間係数Ratio1,Ratio2として求める(717)。
【0079】
(2−4)ピクセル情報の符号化
ピクセル情報の符号化205では、前記代表色の算出203で求めた代表色及び前記補間代表色の決定204で求めた補間係数から求められる補間代表色の中から、各ピクセルの色を代表させるものを決定し、そのインデックス情報から符号化を行うものである。
【0080】
ここでは、代表色及び補間代表色あわせて4色のいずれかを選択すればよいのでインデックス情報としては2bitあればよいことになる。このピクセル色の代表化では各ピクセル色と代表色、あるいは補間代表色との色空間上の距離を判定尺度にもっとも近い代表色を選ぶことにする。
【0081】
(2−5)符号化ブロックの生成
符号化ブロックの生成206では、前記代表色の算出203で求めた代表色、前記補間代表色の決定204で求めた補間係数及び前記ピクセル情報の符号化205で求めた符号化されたピクセル情報とを前記符号化フォーマットに従ってレイアウトし、符号化ブロックを生成する。
【0082】
代表色カラ−を16bit、補間係数を4bit、つまり16ステップの補間割合、各ピクセルの符号化ビットとして2bit(代表色、あるいは補間代表色のうちいずれかをあらわすインデックス情報)とし、符号化ブロック全体のデータサイズは96bitとすると、属性情報として付与できる空きデータサイズは以下のようになる。
【0083】
符号化フォーマット0: 空きデータサイズ 0bit
符号化フォーマット1: 空きデータサイズ 8bit
符号化フォーマット2: 空きデータサイズ 12bit
符号化フォーマット3: 空きデータサイズ 24bit
各符号化フォーマットにおける代表色、補間係数及び符号化ピクセル情報のレイアウトを図9に示す。
【0084】
これらの余ったデータ領域には各代表色毎の透過率情報を入れることができる。代表色あたりの透過率情報は、符号化フォーマット1の場合2bit,符号化フォーマット2の場合4bit、符号化フォーマット3の場合12bit埋め込むことができる。また、符号化ブロックを2×2ピクセルで構成されるサブブロックに分けサブブロック単位に透過率を指定することもできる(1つの符号化ブロックに対し4つのサブブロックが定義されることになる)。この場合、サブブロックあたりの透過率情報は、符号化フォーマット1の場合2bit、符号化フォーマット2の場合3bit、符号化フォーマット3の場合6bit埋め込むことができる。
【0085】
また、このフォーマットは固定したものである必要はなく、画質を優先したい場合代表色の色解像度を16bitから24bitに変更しても構わない。
【0086】
(2−6)全ブロックの終了
全ブロックの終了207では、前記代表色の算出203から前記符号化ブロックの生成206までの一連の符号化処理が全ブロックにわたって終了したかどうかを判定する。
【0087】
(2−7)ブロックの連結
ブロックの連結208では、前記符号化ブロックの生成206で生成した符号化されたブロック画像を連結し、符号化された画像の生成を行う。今回の場合、64×64ブロックが存在し、各符号化ブロックのデータサイズが96bitであることから、符号化画像全体で64×64×96bit=50KByteのデータ量となる。
【0088】
(2−8)まとめ
以上の処理の流れから画像をブロック単位に符号化することができる。
【0089】
符号化フォーマットが異なっても符号化後のブロックデータサイズは一定なため、圧縮率等は固定である。元の画像が256×256pixel 24bitRGBカラー画像の場合、データ量は256×256×4=262KByteであることから、圧縮率は50/262=0.19程度となり、256×256pixel 24bit RGBカラ−画像の場合、50/197=0.25程度となる。
【0090】
(3)ブロック単位の画像復号化システムの構成
図10は、本発明のブロック単位の画像復号化システム(以下、本復号化システムという)の第1の実施例に関わる構成図である。
【0091】
本復号化システムは、画像情報を特定符号化ブロック画像に分割するブロック分割手段1001と、前記ブロック分割手段1001で分割された各画像ブロック単位に少なくとも2つ以上の代表色、補間代表色を算出するための補間係数及びピクセル情報を符号化した符号化画像を取り出すための符号化ブロック分解手段1002と、前記ブロック分解手段1002で求めた代表色及び補間係数から補間代表色を算出するための補間代表色算出手段1003と、前記補間代表色算出手段1003で求めた補間代表色と、前記代表色及び符号化画像とから、ピクセル単位にカラ−情報を復号するためのピクセル情報復号化手段1004と、前記ピクセル情報復号化手段1004で求めたブロック単位の復号化画像を連結し、最終的に復号化した画像を構成するためのブロック連結手段1005、とで構成される。
【0092】
(4)本復号化システムにおける全体の処理の流れ
本復号化システムにおける全体の処理の流れは図11のようになる。この図を参考に復号処理の説明を行う。
【0093】
(4−1)ブロックの分割
ブロックの分割1102では、与えられた符号化画像を特定ブロックサイズの画像ブロックに分割を行う。ここでは符号化されたブロックサイズは96bitと固定であるため、96bitを単位として符号化画像をブロック分割することになる。
【0094】
(4−2)符号化ブロックの分解
符号化ブロックの分解1103では、前記ブロックの分割1102で分割して求めたブロック単位に復号化に必要な構成要素への分解及び取り出しを行う。前記復号化に必要な構成要素は符号化時に設定した符号化フォーマットに基づいて代表色及び補間代表色を算出するための補間係数及びピクセル情報を符号化した符号化画像を取り出す。
【0095】
(4−3)補間代表色の算出
補間代表色の算出1104では、前記符号化ブロックの分解1103で取り出した代表色及び補間係数から復号用代表色を求める。符号化時の符号化フォーマットに応じて以下のような計算で4つの復号用代表色Cd0〜Cd3を求める。各方法に応じて他の代表色の補間で求める復号用代表色の数が異なる。
【0096】
符号化フォーマット0の場合:
Cd0=C0,Cd1=C1,Cd2 =C2,Cd3=C3
符号化フォーマット1の場合:
Cd0=C0,
Cd1=C1,
Cd2=C2,
Cd3=(Ratio1/15)*(C1−C0)+(Ratio2/15)*(C2−C0)
符号化フォーマット2の場合:
Cd0=C0,
Cd1=C1,
Cd2=C2,
Cd3=Ratio/15)*C0+(1−Ratio/15)*C1
符号化フォーマット3の場合:
Cd0=C0,
Cd1=C1,
Cd2=(Ratio1/15)*C0+(1−Ratio1/15)*C1,
Cd3=(Ratio2/15)*C0+(1−Ratio2/15)*C1
(4−4)ピクセル情報の復号化
ピクセル情報の復号化1105では、前記符号化ブロックの分解1103で取り出した符号化画像に含まれる各ピクセル毎のインデックス情報から、インデックスで指定される代表色、あるいは補間代表色をピクセルカラ−情報として復号する。2bitのインデックス情報と復号用代表色との関連づけは以下のように行うことができる。
【0097】
インデックス0 "00"は、復号用代表色Cd0になる
インデックス1 "01"は、復号用代表色Cd1になる
インデックス2 "10"は、復号用代表色Cd2になる
インデックス3 "11"は、復号用代表色Cd3になる
(4−5)全ブロック終了
全ブロック終了1106では、上記符号化ブロックの分解1103からピクセル情報の復号化1105、にいたる処理が全ブロックに渡って処理を施したかを判定する。
【0098】
(4−6)ブロックの連結
ブロックの連結1107では、前記ピクセル情報の復号化1105でピクセルカラ−情報を復号したブロック画像を元の連結状態を保持したまま結合することで最終的に復号画像を生成する。64×64ブロックの連結を行えば、256×256ピクセルの画像が生成されることになる。
【0099】
(第2の実施例)
図12は、本発明のブロック単位の画像符号化システム(以下、本符号化システムという)の第2の実施例に関わる構成図である。
【0100】
(1)本符号化システムの構成
本符号化システムは、画像情報を特定ブロックに分割するブロック分割手段1201と、前記ブロック分割手段1201で分割された各画像ブロック単位に少なくとも2つ以上の代表色を求めるための代表色算出手段1202と、前記代表色算出手段1202で求めた代表色から他の2つ以上の代表色の補間で表現できるものを決定し、補間できる代表色の数に応じた符号化フォーマットを決定し、補間係数を計算するための補間代表色決定手段1203と、ブロックを構成する各ピクセルを前記代表色算出手段1202で求めた代表色、あるいは前記補間代表色決定手段1203で求めた補間代表色のいずれで表現するかを決定し符号化するためのピクセル情報符号化手段1204と、前記代表色算出手段1202で求めた代表色と前記補間代表色決定手段1203で求めた補間係数及び前記ピクセル情報符号化手段1204で求めた符号化画像とを前記補間代表色決定手段1203で決定した符号化フォーマットに応じて配置することでブロック単位の符号化画像を生成するための符号化ブロック生成手段1205と、前記補間代表色決定手段1203で決定された各ブロック毎の符号化フォーマット情報を格納したヘッダ情報を生成するためのヘッダ情報生成手段1207と、前記符号化ブロック生成手段1205で生成した符号化ブロック及び前記ヘッダ情報生成手段1207で生成したヘッダ情報を連結し、最終的に符号化した画像を構成するためのブロック連結手段1206、とで構成される。
【0101】
(2)本符号化システム全体の処理の流れ
本符号化システム全体の処理の流れを図13に示す。
【0102】
ブロックの分割1302及び代表色の算出1303は、第1の実施例におけるブロックの分割202及び代表色の算出203と同様であるため説明を省略する。
【0103】
第1の実施例における符号化システムの処理フロ−との違いは、ブロック毎に補間代表色の決定1304で符号化フォーマットの決定、補間するべき代表色数の決定及びその符号化フォーマットに対応した補間係数等の情報を算出している点である。図14は、補間代表色決定手段における符号化フォーマット決定の様子を説明するための図である。
【0104】
符号化フォーマットを選択する際のパラメ−タとして、画質の重要度(補間誤差の許容範囲)や透過度αの重要度等を用いる。例えば、テクスチャの端に近いブロックは画質よりも透過度を優先したいという要求があれば、符号化フォーマット0よりも符号化フォーマット3を選んだ方がよいということになる。
【0105】
補間の際に生じる誤差(補間誤差)は、第1の実施例の図5から図7で示した処理と同様にして算出する。符号化フォーマット3から順に補間誤差を算出し(1403)、あるしきい値以下でなければ、符号化フォーマット2,1,0へと状態を遷移させる(1406,1411,1416)。
【0106】
符号化フォーマット0以外のものは、画質優先かα値優先かを選択し、最終的なフォーマットを決定する(1405,1410,1415)。
【0107】
決定した符号化フォーマットに対応した補間代表色決定の処理フロ−は、第1の実施例における補間代表色の決定204で記述した処理フロ−と同じであるため、ここでは省略する。
【0108】
ピクセル情報の符号化1305は、第1の実施例におけるピクセル情報の符号化205と同様に、ピクセル毎に代表色へのインデックス情報を生成する。
【0109】
符号化ブロックの生成1306では、前記補間代表色の決定1304で決定した符号化フォーマットに従って代表色、補間係数、符号化ピクセル情報等をレイアウトして符号化ブロックを生成する。
【0110】
ヘッダ情報の追加1307は、各ブロック毎の符号化フォーマット種別をヘッダ情報に追加、登録するための手段である。ヘッダ情報におけるブロック単位のフォーマット識別テ−ブル情報の例を図15に示す。
【0111】
ここでは、符号化方法を識別するファイル形式と、ブロックサイズとブロックの数等画像サイズ情報、そして、ブロック毎の符号化フォーマット及び画質優先フォーマットかα優先フォーマットかの区別が可能な識別子が埋め込まれている。
【0112】
全ブロック終了1308では、前記代表色の算出1303から前記ヘッダ情報の追加1307までの一連の符号化処理が全ブロックにわたって終了したかどうかの判定を行う。
【0113】
ブロックの連結1309では、前記符号化ブロックの生成1306で生成した符号化されたブロック画像を連結すると同時に、前記ヘッダ情報の追加1307で生成したヘッダ情報を追加して最終的に符号化された画像の生成を行う。第1の実施例での符号化システムと同様、符号化後のデータサイズは変わらず、64×64ブロックにおいて各ブロックのデータサイズが96bitであることから、符号化画像全体で64×64×96bit = 50KByteのデータ量となる。
【0114】
第1の実施例との大きな違いは、ブロック毎に符号化フォーマットを変えることができる点である。
【0115】
ブロック単位に画質優先、あるいは透過率等の属性情報優先、等の切替が可能になったり、画質を一定水準に保持した状態で最適な属性情報の付与が可能となる。
【0116】
(3)ブロック単位の画像復号化システムの構成
図16は、本発明のブロック単位の画像復号化システム(以下、本復号化システムという)の第2の実施例に関わる構成図である。
【0117】
本復号化システムは、画像情報をヘッダ情報と符号化ブロック画像に分割するブロック分割手段1601と、前記ヘッダ情報から前記ブロック分割手段1601で分割された各画像ブロック単位に符号化符号化フォーマットを判定するためのフォーマット判定手段1602と、前記ブロック分割手段1601で分割された各画像ブロック単位に少なくとも2つ以上の代表色、補間代表色を算出するための補間係数及びピクセル情報を符号化した符号化画像を取り出すための符号化ブロック分解手段1603と、、前記符号化ブロック分解手段1603で求めた代表色及び補間係数から補間代表色を前記フォーマット判定手段1603で判定したフォーマットに従った数だけ算出するための補間代表色算出手段1604と、前記補間代表色算出手段1604で求めた補間代表色と、前記代表色及び符号化画像とから、ピクセル単位にカラ−情報を復号するためのピクセル情報復号化手段1605と、前記ピクセル情報復号化手段1605で求めたブロック単位の復号化画像を連結し、最終的に復号化した画像を構成するためのブロック連結手段1606、とで構成される。
【0118】
(4)本復号化システム全体の処理の流れ
本復号化システム全体の処理の流れを図17に示す。この図を参考に説明を行う。
【0119】
ブロックの分割1702では、ヘッダ情報と符号化画像を分割すると同時に符号化画像をブロックサイズである96bit単位にブロック分割を行う。
【0120】
第1の実施例における復号化システムとの違いは、フォーマットの判定1703で各ブロックの符号化フォーマット判定を行っている点である。ここでは、前記ブロックの分割で取得したヘッダ情報に保存されたブロック毎の符号化フォーマット識別テ−ブル(図15)を参照して、該当するブロックのフォーマットを判定する。
【0121】
符号化ブロックの分解1704は、前記フォーマットの判定1703で判定した符号化フォーマットに従って代表色、補間係数及び符号化ピクセル情報の分解、取り出しを行う。
【0122】
補間代表色の算出1705は、前記フォーマットの判定1703で求めた符号化フォーマットに応じて復号代表色を算出する。各符号化フォーマットに応じた復号代表色の算出方法は第1の実施例における補間代表色の算出1104に記載の方法と同様である。
【0123】
ピクセル情報の復号化1706は、第1の実施例におけるピクセル情報の復号化1105と同様であるため、ここでは省略する。
【0124】
全ブロック終了1707では、前記フォーマットの判定1703から前記ピクセル情報の復号化1706までの一連の復号化処理が全ブロックにわたって終了したかを判定する。
【0125】
ブロックの連結1709では、前記ピクセル情報の復号化1706でピクセルカラ−情報を復号したブロック画像を元の連結状態を保持したまま結合することで最終的に復号画像を生成する。64×64ブロックの連結を行えば、256×256ピクセルの画像が生成されることになる。
【0126】
第1の実施例との違いは、ブロック毎に異なる符号化フォーマットで符号化された画像であってもヘッダ情報を参照することで、復号することが可能な点である。
【0127】
【発明の効果】
以上説明した様に本発明によれば、画質と圧縮率を保持した状態で付加情報の付与が可能な効率的画像フォーマットで画像の符号化復号化が可能となる。また、ブロック領域単位に異なる符号化フォーマットが適用できるため用途に応じた柔軟で効率的な画像圧縮が可能となる。
【図面の簡単な説明】
【図1】本発明の画像符号化システムの第1の実施例の構成図である。
【図2】画像符号化システムの第1の実施例の処理フロ−を説明するための図である。
【図3】代表色の算出における具体的な処理フロ−を説明するための図である。
【図4】代表色の算出におけるクラスタリング処理の様子を説明するための図である。
【図5】補間代表色の決定において符号化フォーマット1における処理フロ−図である。
【図6】補間代表色の決定において符号化フォーマット2における処理フロ−図である。
【図7】補間代表色の決定において符号化フォーマット3における処理フロ−図である。
【図8】代表色の数に応じた補間代表色と補間係数決定の様子を説明するための図である。
【図9】各符号化フォーマットのレイアウトを説明するための図である。
【図10】本発明の画像復号化システムの第1の実施例の構成図である。
【図11】画像復号化システムの第1の実施例の処理フロ−を説明するための図である。
【図12】本発明の画像符号化システムの第2の実施例の構成図である。
【図13】画像符号化システムの第2の実施例の処理フロ−を説明するための図である。
【図14】補間代表色決定手段における符号化フォーマット決定の様子を説明するための図である。
【図15】ヘッダ情報に登録されるデータを説明するための図である。
【図16】本発明の画像復号化システムの第2の実施例の構成図である。
【図17】画像復号化システムの第2の実施例の処理フロ−を説明するための図である。
【符号の説明】
101 ブロック分割手段
102 代表色算出手段
103 補間代表色決定手段
104 ピクセル情報符号化手段
105 符号化ブロック生成手段
106 ブロック連結手段[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a block-by-block image coding method, and in particular to texture image compression with a fixed compression rate in the field of three-dimensional computer graphics.
[0002]
[Prior art]
In the field of 3D computer graphics, texture mapping is performed by pasting a captured image (texture image) acquired from the real world on the surface of a 3D model (generally a polygon model consisting of triangular patches is used). Generate high-quality images.
[0003]
In order to represent more realistic objects, higher-definition and large-scale texture images are required, and the graphics system has memory, bus bandwidth, etc. for holding, transferring, and processing these large amounts of image data. Processing power has become necessary. Until now, various image compression methods have been tried to reduce the amount of memory and bus bandwidth required. There are entropy coding / lossless coding, DCT, JPEG, BTC, CCC, S3TC, and the like. Each of these methods has the following disadvantages.
[0004]
(1) Entropy coding is based on predictability, and when coding is performed, data amount coding is realized by assigning a short code length to a symbol having the highest appearance frequency. However, there is a drawback that it is not suitable for random access to a specific location.
[0005]
There is a problem that a series of sequence interpretation is necessary for interpretation of one symbol, inefficient computation is required, and throughput is reduced.
[0006]
Another problem is that the compression rate is not fixed, and these methods with indefinite compression rate cannot be handled, such as when the amount of memory is limited in a real-time graphics system.
[0007]
(2) An encoding method such as Discrete Cosine Transform (DCT) or JPEG can be performed by controlling the image quality.
[0008]
Since these methods decompose image information into orthogonal frequency components, it is possible to increase the compression rate while maintaining the image quality by individually cutting only the parts that have little visual impact, for example, low frequency components. is there.
[0009]
However, the processing units that can be handled are limited to large image blocks such as 8 × 8 pixels and 16 × 16 pixels because of the necessity of increasing the compression rate.
[0010]
Even for a very small image area or random access in units of one pixel, it is necessary to handle pixel information for one block, so both the bus width and the calculation load increase. Furthermore, there is a problem of memory arrangement because the amount of encoded data is indefinite, a problem that a high-speed processing arithmetic unit or dedicated hardware is required, and a buffer memory is also required. In addition, there is a problem that image deterioration that cannot be repaired by a simple post-filtering process occurs, such as the edge fluctuating or the color tone is changed by increasing the compression rate.
[0011]
(3) In a method called Block truncation coding (BTC) or Color Cell compression (CCC), 16-bit pixel information obtained by quantizing a 4 × 4 pixel image block into two representative colors and one bit (representing either representative color) 2 patterns). Decoding is performed by selecting two representative colors from each bit of 16-bit information obtained by encoding the two representative colors using a lookup table.
[0012]
Since these BTC / CCCs have only two-stage color reproducibility, they also cause a drop in image quality. In particular, since the two representative colors are expressed by an 8-bit color index, it is necessary to transfer the color lookup table separately, which increases the amount of information transferred. There is also a CCC method in which 3-bit information is assigned to each pixel, but there is a problem that overhead is generated in the memory arrangement. Furthermore, when a representative color is assigned to a transparent key and displayed, there is a problem that image quality is greatly degraded.
[0013]
(4) There is also a method for improving the image quality by setting the quantization bit for each pixel to 2 bits. In the S3TC (US Pat. No. 5,956,431) method, two representative colors and two representative colors defined between the representative colors are set, and these representative colors are assigned in 2 bits for each pixel. We are improving the expression.
[0014]
(5) In the BTC method, 2 bits per pixel are represented by 4 representative colors ("JDKim, et.al," Progressive Imaging on the Internet via WWW Browser using Adaptive Block Truncation Coding ", Multimedia Computing and Networking 1996, 1996), There is also a technique to improve image quality by using three representative colors ("YAAlaska and DALee," Three Level Block Truncation Coding ", Proc. 1990 IEEE Southeastcon, Vol.2, IEEE Press, Piscataway, NJ, pp. 420-423, 1990) is there.
[0015]
Increasing the representative color increases the amount of data of the encoded image, but there is a problem that the amount of data at the time of encoding increases when additional information such as transmission information is embedded.
[0016]
As described above, there is no image coding format and coding method that can achieve both improvement in image quality and addition of additional information among block-based image coding methods.
[0017]
[Patent Document 1]
US Patent 5,956,431 "SYSTEM AND METHOD FOR FIXED-RATE BLOCK-BASED IMAGE COMPRESSION WITH INFERRED PIXEL VALUES"
[0018]
[Non-Patent Document 1]
G. Campbell et.al, "Two bit / pixel full Color Encoding", Siggraph86 'pp.215-223
[0019]
[Non-Patent Document 1]
JDKim, et.al, "Progressive Imaging on the Internet via WWW Browser using Adaptive Block Truncation Coding", Multimedia Computing and Networking 1996, 1996
[0020]
[Non-Patent Document 2]
YAAlaska and DALee, "Three Level Block Truncation Coding", Proc. 1990 IEEE Southeastcon, Vol.2, IEEE Press, Piscataway, NJ, pp. 420-423, 1990
[0021]
[Problems to be solved by the invention]
As described above, the conventional block-based image coding method does not consider coding including attribute information for each pixel for the purpose of improving the compression rate. Therefore, there is a need for an efficient image format and encoding method that can add additional information while maintaining image quality and compression rate.
[0022]
Accordingly, the present invention is provided to achieve the above object.
[0023]
[Means for Solving the Problems]
The image encoding apparatus of the present invention is A block dividing unit for dividing image information into specific image blocks, and at least each divided image block unit; Three The representative color calculation unit for obtaining the above representative colors, and the obtained 3 or more Representative color 2 or more representative colors and 2 or more of these The representative color that can be expressed by interpolation of the representative color is determined as an interpolation representative color, and an interpolation representative color determining unit that calculates an interpolation coefficient for performing the interpolation, and each pixel constituting each of the image blocks is obtained. Two or more A pixel information encoding unit that determines and encodes a representative color or the calculated interpolation representative color to obtain a coded image, and the obtained Two or more A combination of the representative color, the obtained interpolation coefficient and the obtained encoded image to generate an encoded block that is an encoded image of a block unit, and the generated encoded block are connected to form a final And a block concatenation unit constituting a typical encoded image.
[0024]
The image encoding apparatus of the present invention is A block dividing unit for dividing image information into specific image blocks, and at least each divided image block unit; Three The representative color calculation unit for obtaining the above representative colors, and the obtained 3 or more Representative color 2 or more representative colors and 2 or more of these An interpolation representative color determination unit that determines a representative color that can be expressed by interpolation of a representative color as an interpolation representative color, determines an encoding format according to the number of interpolation representative colors, and calculates an interpolation coefficient for performing the interpolation And each pixel constituting each image block is obtained as described above. Two or more A pixel information encoding unit that determines and encodes a representative color or the calculated interpolation representative color to obtain a coded image, and the obtained Two or more A coding block generation unit configured to generate a block-unit coded image by arranging a representative color, the obtained interpolation coefficient, and the obtained coded image according to the determined coding format; A header information generation unit that generates header information storing the encoding format information of each block; a block connection unit that forms the final encoded image by connecting the generated encoded block and the generated header information; It is characterized by having.
[0025]
The image decoding apparatus of the present invention A block dividing unit that divides image information into specific encoded image blocks, and at least two representative colors and interpolation coefficients and pixels for calculating each of the divided encoded image blocks. A coded block decomposing unit for extracting a coded image obtained by coding information, and the obtained Two or more An interpolation representative color calculation unit that calculates an interpolation representative color from the representative color and the interpolation coefficient, the obtained interpolation representative color, Two or more From the representative color and the encoded image, a pixel information decoding unit that decodes color information in units of pixels and obtains a decoded image for each block, and the decoded image in units of the blocks thus obtained are connected to form a final And a block concatenation unit constituting a decoded image.
[0026]
The image decoding apparatus of the present invention A block dividing unit that divides image information into header information and encoded image blocks; a format determining unit that determines an encoding format for each divided image block from the header information; and each divided image An encoded block decomposition unit that extracts an encoded image obtained by encoding pixel information and at least two representative colors for each block, an interpolation coefficient for calculating an interpolation representative color, and the obtained Two or more An interpolation representative color calculation unit that calculates the number of interpolation representative colors from the representative color and interpolation coefficient according to the determined encoding format, the calculated interpolation representative color, Two or more From the representative color and the encoded image, a pixel information decoding unit that decodes color information in units of pixels and obtains a decoded image for each block, and the decoded image in units of the blocks thus obtained are connected to form a final An image decoding apparatus comprising: a block concatenation unit constituting a decoded image.
[0031]
DETAILED DESCRIPTION OF THE INVENTION
(Embodiment 1)
The first embodiment is as follows.
[0032]
Any of at least two or more representative colors, at least one interpolation coefficient for defining a new representative color by interpolating the representative color and the representative color, or an interpolation representative color obtained based on the interpolation coefficient An image block is composed of index information for selecting as color information of each pixel.
This is an image encoding method in units of blocks.
[0033]
(Embodiment 2)
The second embodiment is as follows.
[0034]
Block dividing means for dividing the image information into specific blocks;
Representative color calculating means for obtaining at least two representative colors for each image block divided by the block dividing means;
Interpolated representative color determining means for determining what can be expressed by interpolation of other two or more representative colors from the representative color obtained by the representative color calculating means, and calculating an interpolation coefficient;
Pixel information encoding means for determining and encoding each pixel constituting a block with the representative color obtained by the representative color calculation means or the interpolation representative color obtained by the interpolation representative color determination means;
A combination of the representative color obtained by the representative color calculation means, the interpolation coefficient obtained by the interpolation representative color determination means and the coded image obtained by the pixel information coding means, to generate a block-unit coded image Coding block generation means;
Block concatenating means for concatenating the encoded blocks generated by the encoded block generating means, and finally forming an encoded image;
Have
An image encoding apparatus and method in units of blocks.
[0035]
(Embodiment 3)
Embodiment 3 is as follows.
[0036]
Block dividing means for dividing the image information into specific blocks;
Representative color calculating means for obtaining at least two representative colors for each image block divided by the block dividing means;
From the representative color obtained by the representative color calculating means, determine what can be expressed by interpolation of two or more other representative colors, determine an encoding format according to the number of representative colors that can be interpolated, and calculate an interpolation coefficient Interpolation representative color determining means for,
Pixel information encoding means for determining and encoding each pixel constituting the block with a representative color obtained by the representative color calculating means or an interpolation representative color obtained by the interpolation representative color determining means When,
The representative color obtained by the representative color calculating means, the interpolation coefficient obtained by the interpolation representative color determining means, and the encoded image obtained by the pixel information encoding means are converted into the encoding format determined by the interpolated representative color determining means. A coding block generating means for generating a coded image in units of blocks by arranging them accordingly,
Header information generating means for generating header information storing encoding format information for each block determined by the interpolation representative color determining means;
A block concatenation unit for concatenating the encoded block generated by the encoded block generation unit and the header information generated by the header information generation unit, and finally forming an encoded image;
Have
An image encoding apparatus and method in units of blocks.
[0037]
(Embodiment 4)
Embodiment 4 is as follows.
[0038]
The header information generating means includes
Table information for storing the identification information of the encoding format for each block determined by the interpolation representative color determining means is generated as header information.
It is the image coding apparatus and method of a block unit as described in Embodiment 3 characterized by the above-mentioned.
[0039]
(Embodiment 5)
Embodiment 5 is as follows.
[0040]
The interpolation representative color determining means includes
The encoding code format is determined according to the distribution characteristics of the pixel colors constituting the block divided by the block dividing means.
It is the image coding apparatus and method of a block unit as described in Embodiment 3 and 4 characterized by the above-mentioned.
[0041]
(Embodiment 6)
The sixth embodiment is as follows.
[0042]
The representative color calculation means includes
Generate dominant color information including representative colors in the entire image
The block-by-block image coding apparatus and method according to the second to fifth embodiments.
[0043]
(Embodiment 7)
The seventh embodiment is as follows. That is, the interpolation representative color and the interpolation coefficient are determined by the distance from the line segment connecting the two representative colors to another representative color.
[0044]
The interpolation representative color calculation means includes:
Among the representative colors obtained by the representative color calculation means, determine an interpolation representative color based on a distance on a color space to a straight line connecting a specific representative color and two different representative colors not including the representative color, The interpolation coefficient between the two representative colors is calculated respectively.
The image coding apparatus and method in units of blocks according to the second to sixth embodiments.
[0045]
(Embodiment 8)
Embodiment 8 is as follows. That is, the interpolation representative color and the interpolation coefficient are determined by the distance to the plane constituted by the three representative colors.
[0046]
The interpolation representative color calculation means includes:
Among the representative colors obtained by the representative color calculation means, an interpolation representative color is determined based on a distance to a plane in the color space defined by a specific representative color and three different representative colors not including the representative color. , And calculate interpolation coefficients between the three representative colors, respectively
The image coding apparatus and method in units of blocks according to the second to sixth embodiments.
[0047]
(Embodiment 9)
Embodiment 9 is as follows.
[0048]
Block dividing means for dividing image information into specific encoded block images;
Encoded block decomposing means for extracting an encoded image obtained by encoding at least two representative colors, an interpolation coefficient for calculating an interpolated representative color and pixel information for each image block divided by the block dividing means. When,
Interpolation representative color calculation means for calculating an interpolation representative color from the representative color and interpolation coefficient obtained by the block decomposition means;
Pixel information decoding means for decoding color information in units of pixels from the interpolation representative color obtained by the interpolation representative color calculation means, the representative color and the encoded image, and the pixel information decoding means Block concatenation means for concatenating the decoded images in block units, and finally constructing the decoded image;
Have
An image decoding apparatus and method in units of blocks.
[0049]
(Embodiment 10)
The tenth embodiment is as follows.
[0050]
Block division means for dividing the image information into header information and an encoded block image; and format determination means for determining an encoding / encoding format for each image block divided by the block division means from the header information;
Encoded block decomposing means for extracting an encoded image obtained by encoding at least two representative colors, an interpolation coefficient for calculating an interpolated representative color and pixel information for each image block divided by the block dividing means. When,
Interpolated representative color calculating means for calculating the number of interpolation representative colors according to the format determined by the format determining means from the representative color and interpolation coefficient obtained by the block decomposing means,
Pixel information decoding means for decoding color information in units of pixels from the interpolation representative color obtained by the interpolation representative color calculation means, the representative color and the encoded image, and the pixel information decoding means Block concatenation means for concatenating the decoded images in block units, and finally constructing the decoded image;
Have
An image decoding apparatus and method in units of blocks.
[0051]
【Example】
Hereinafter, the configuration of an embodiment of the present invention will be described with reference to the drawings.
[0052]
(First embodiment)
(1) Configuration of block-unit image encoding system
FIG. 1 is a block diagram relating to a first embodiment of a block-unit image encoding system (hereinafter referred to as the present encoding system) of the present invention.
[0053]
The encoding system includes a block dividing unit 101 for dividing a given image into block images of a specific pixel size, a representative color calculating unit 102 for calculating at least one representative color representing a block, The representative color calculated by the representative color calculation means 102 is determined based on the encoding format and can be expressed by interpolation of at least two representative colors, and at the same time, an interpolation coefficient between the representative colors is determined. A block is selected from the representative representative color determined by the representative representative color determining means 103, the representative color calculated by the representative color calculating means 102, and the representative representative color determined by interpolation between representative colors according to the interpolation coefficient determined by the interpolated representative color determining means. Pixel information encoding means 104 for determining what represents the color of each pixel constituting and encoding the index information; Coding for configuring the representative color obtained by the color specification calculating means 102, the interpolation coefficient obtained by the interpolation representative color determining means 103, and the encoded pixel information obtained by the pixel information encoding means 104 in accordance with an encoding format. The block generation unit 105 and the block connection unit 106 for connecting the encoded blocks generated by the encoded block generation unit 105 to generate a final encoded image.
[0054]
(2) Overall processing flow of the encoding system
FIG. 2 shows a processing flow of the entire encoding system. The procedure of the encoding process will be described with reference to this figure.
[0055]
(2-1) Block division
In block division 202, a given encoded image is divided into image blocks of a specific block size. Here, it is considered that the image is divided into blocks every 4 × 4 pixels. If the pixel size of the image is 256 × 256, 64 × 64 image blocks will be generated.
[0056]
In the representative color calculation 203, it is considered that the color information of 16 pixels constituting the block is represented by the color information of four colors. A clustering method is used to calculate representative color information. Here, a clustering procedure for four representative colors will be described.
[0057]
(2-2) Calculation of representative colors
FIG. 3 shows a processing flow for calculating the representative color.
[0058]
The role of this process is to obtain the four representative colors (C0, C1, C2, C3) by examining the color distribution of all the pixels in the block. In the dominant color priority 302, it is determined whether or not the dominant color (here, the color most frequently used in the image to be encoded) is preferentially set as the representative color. In the case of an image in which a picture or a character is drawn on a background painted with one color, the reproducibility of the edge portion can be improved by giving priority to the dominant color. When giving priority to the dominant color, the background color itself is set as the representative color C3 (303). In the processing after the initial setting (n = 1, δ) 307, clustering processing is executed in order to calculate three or four representative colors. When sequentially dividing a cluster into two, the variance σ of each cluster 2 And a cluster having a large variance is preferentially divided into two (308). Variance σ 2 Is calculated as follows.
[0059]
[Expression 1]
Figure 0003790728
In the initial centroid determination 309, two initial centroids (cluster centers) are determined in order to divide a cluster into two. The centroid is determined by the following procedure (FIG. 4).
[0060]
1. Find the center of gravity g of the cluster.
[0061]
2. Let the element furthest from g be d0.
[0062]
3. Let d1 be the element farthest from d0.
[0063]
4). The internal dividing points of 1: 2 for g and d0 and g and d1 are C0 and C1, respectively.
[0064]
However, the Euclidean distance is used for the distance between the two elements in the RGB three-dimensional space. The loops 312 and 313 perform processing similar to the K-Means method which is a generally well-known clustering algorithm.
[0065]
With the above procedure, four representative colors (C0, C1, C2, C3) can be obtained.
[0066]
(2-3) Determination of interpolation representative color
In the interpolation representative color determination 204, it is determined whether there is any of the four representative colors obtained in the representative color calculation 203 that can be expressed by interpolation of other representative colors, and interpolation is possible. The representative color is selected and the interpolation coefficient is determined.
[0067]
“Interpolation” means that one representative color (hereinafter referred to as an interpolation representative color) is expressed by another representative color (hereinafter referred to as a stored representative color) based on the distribution in the color space. The coefficient for this is called an interpolation coefficient.
[0068]
Here, four encoding formats are defined according to the number of representative interpolation colors. The more representative colors that can be represented by interpolation, the smaller the data size of the stored representative colors that can be stored as representative colors. Therefore, the free data area can be assigned to other attribute information such as transmittance information. become. On the other hand, as the number of representative colors that can be expressed by interpolation increases, the image quality itself deteriorates, and a method of selecting an encoding format in relation to the image quality to be secured and other added image information can be considered. The number of stored representative colors, the number of interpolation representative colors, and the number of interpolation coefficients are shown in the blocks in the respective encoding formats defined below.
[0069]
Encoding format 0:
Number of saved representative colors 4 colors, number of representative interpolation colors 0, number of interpolation coefficients 0
Encoding format 1:
Number of stored representative colors 3 colors, number of interpolation representative colors 1 color, number of interpolation coefficients 1
Encoding format 2:
Number of stored representative colors 3 colors, number of interpolation representative colors 1 color, number of interpolation coefficients 1
Encoding format 3:
Number of saved representative colors 2 colors, 2 interpolation colors 2 colors, number of interpolation coefficients 2
When encoding with encoding formats 1, 2, and 3, it is necessary to interpolate one or two of the four representative colors.
[0070]
The processing flow for determining the interpolation representative color is shown in FIGS.
[0071]
First, among the four representative colors, representative colors that are not assigned to any pixel, that is, never referenced during decoding are removed (502, 602, 702). As a result of the removal, it is determined whether interpolation is necessary based on the number of remaining representative colors.
[0072]
In the case of the encoding format 1 or 2, when the remaining representative colors are three or less (502, 504, 505, 603, 604, 605), each is registered as a representative color (506, 507, 508, 606, 607, and 608), it is not necessary to determine the representative colors to be interpolated. However, if there are four remaining representative colors, it is necessary to determine one representative color to be interpolated. In the case of encoding format 3, if there are two or less representative colors remaining (703, 704), each is registered as a representative color (706, 707), and the representative color to be interpolated must be determined. There is no. However, when the remaining representative colors are three or four (705), it is necessary to determine one or two colors as representative colors to be interpolated, respectively.
[0073]
When determining the interpolation target (representative color to be interpolated), it is determined whether or not the dominant color is included in the remaining representative colors (509, 609, 708, 709). If the dominant color is included, it is better to reproduce the dominant color pixel as it is, so that it is not included in the interpolation target and is registered as a representative color (510, 610, 710, 711). The representative color registration of the dominant color is completed, and the representative color to be interpolated is determined from the remaining representative colors. In the case of the encoding format 1, one interpolation representative color may be determined from the remaining four representative colors (511, 512). In the case of the encoding format 2, one of the remaining three representative colors is selected. The interpolation representative color may be determined (611, 612). In the case of the encoding format 3, one of the remaining three representative colors is determined (712, 713), and the remaining representative color is determined. There are cases (714, 715) in which two interpolation representative colors are determined from the four colors.
[0074]
From the above combinations of representative colors, the one with the least error is selected by interpolation, and it is determined as the interpolation representative color.
[0075]
As an interpolation method, when one representative color is interpolated from three representative colors, two representative colors C0 and C1 (RGB colors are plotted in three-dimensional coordinates) are connected as shown in FIG. An interpolation color is determined by dropping a perpendicular line from another representative color with respect to the straight line. If a perpendicular foot exists on the line segment C0-C1, it is determined that “interpolation is possible”, and an error (interpolation error ε) when interpolating from the length of the perpendicular line is obtained. (613, 716). A combination of interpolation representative colors that minimizes this error is determined, and an internal division ratio in the line segment C0-C1 of the perpendicular foot C2 'dropped on the straight line at that time is obtained as an interpolation coefficient Ratio (614, 717).
[0076]
When one representative color is interpolated from four representative colors, a plane defined by three representative colors C0, C1, and C2 (RGB colors plotted in three-dimensional coordinates) as shown in FIG. Then, a perpendicular line is drawn from another representative color to determine an interpolation color. If the leg of the perpendicular exists within the triangle surrounded by C0, C1, and C2, it is determined that “interpolation is possible”, and an error (interpolation error ε) when interpolation is performed from the length of the perpendicular drawn on the plane. ) Can be obtained (513). The combination of interpolation representative colors that minimizes this error is determined, and the internal ratio of the vector C0-C1 expressing the vertical leg C3 'at that time is the interpolation coefficient Ratio1, and the internal ratio of the vector C0-C2 is the interpolation coefficient. Obtained as Ratio2 (514).
[0077]
When two representative colors are interpolated from four representative colors, a straight line connecting two representative colors C0 and C1 (RGB colors plotted in three-dimensional coordinates) as shown in FIG. The interpolation color is determined by dropping a perpendicular line from each of the two representative colors. If both perpendicular legs are present on the line segment C0C1, it is determined that “interpolation is possible”, and an error (interpolation error ε) when interpolation is performed by summing the lengths of the perpendicular lines. ) Can be obtained (716).
[0078]
The combination of interpolation representative colors that minimizes this error is determined, and the internal division ratios of the perpendicular legs C2 ′ and C3 ′ on the straight line at the line segment C0-C1 are obtained as interpolation coefficients Ratio1 and Ratio2 ( 717).
[0079]
(2-4) Encoding pixel information
In the encoding 205 of pixel information, the color of each pixel is represented from the representative color obtained in the representative color calculation 203 and the interpolation representative color obtained from the interpolation coefficient obtained in the interpolation representative color determination 204. And encoding is performed from the index information.
[0080]
Here, any one of four colors may be selected in combination with the representative color and the interpolated representative color, so the index information may be 2 bits. In this pixel color representation, the representative color closest to the determination scale is selected based on the distance in the color space between each pixel color and the representative color or the interpolation representative color.
[0081]
(2-5) Coding block generation
In the coding block generation 206, the representative color obtained in the representative color calculation 203, the interpolation coefficient obtained in the interpolation representative color decision 204, and the encoded pixel information obtained in the pixel information coding 205 Are laid out in accordance with the encoding format to generate an encoded block.
[0082]
The representative color color is 16 bits, the interpolation coefficient is 4 bits, that is, the interpolation rate of 16 steps, and the encoding bit of each pixel is 2 bits (index information representing either the representative color or the interpolated representative color), and the entire coding block If the data size is 96 bits, the free data size that can be assigned as attribute information is as follows.
[0083]
Encoding format 0: Empty data size 0 bits
Encoding format 1: Empty data size 8 bits
Encoding format 2: Empty data size 12 bits
Encoding format 3: Empty data size 24 bits
The layout of representative colors, interpolation coefficients, and encoded pixel information in each encoding format is shown in FIG.
[0084]
In these remaining data areas, transmittance information for each representative color can be entered. The transmissivity information per representative color can be embedded in 2 bits for the encoding format 1, 4 bits for the encoding format 2, and 12 bits for the encoding format 3. Also, the coding block can be divided into sub-blocks composed of 2 × 2 pixels, and the transmittance can be designated in units of sub-blocks (four sub-blocks are defined for one coding block). . In this case, the transmissivity information per sub-block can be embedded in 2 bits for the encoding format 1, 3 bits for the encoding format 2, and 6 bits for the encoding format 3.
[0085]
This format does not need to be fixed, and the color resolution of the representative color may be changed from 16 bits to 24 bits when priority is given to image quality.
[0086]
(2-6) End of all blocks
At the end 207 of all blocks, it is determined whether or not a series of encoding processes from the representative color calculation 203 to the encoding block generation 206 have been completed for all blocks.
[0087]
(2-7) Block connection
In block concatenation 208, the encoded block images generated in the encoding block generation 206 are concatenated to generate an encoded image. In this case, since there are 64 × 64 blocks and the data size of each encoded block is 96 bits, the entire encoded image has a data amount of 64 × 64 × 96 bits = 50 KBytes.
[0088]
(2-8) Summary
From the above processing flow, an image can be encoded in units of blocks.
[0089]
Even if the encoding formats are different, the block data size after encoding is constant, so the compression rate and the like are fixed. If the original image is a 256 × 256 pixel 24-bit RGB color image, the data amount is 256 × 256 × 4 = 262 Kbytes, so the compression ratio is about 50/262 = 0.19, and the 256 × 256 pixel 24-bit RGB color image In this case, 50/197 = about 0.25.
[0090]
(3) Configuration of block-based image decoding system
FIG. 10 is a block diagram relating to the first embodiment of the block-by-block image decoding system of the present invention (hereinafter referred to as the present decoding system).
[0091]
This decoding system calculates a block dividing unit 1001 that divides image information into specific encoded block images, and at least two representative colors and interpolation representative colors for each image block divided by the block dividing unit 1001. An encoding block decomposing unit 1002 for extracting an encoded image obtained by encoding the interpolation coefficient and pixel information for interpolation, and an interpolation for calculating an interpolated representative color from the representative color and the interpolation coefficient obtained by the block decomposing unit 1002 Representative color calculation means 1003, pixel information decoding means 1004 for decoding color information in units of pixels from the interpolation representative color obtained by the interpolation representative color calculation means 1003, and the representative color and the encoded image; The decoded images in block units obtained by the pixel information decoding unit 1004 are concatenated and finally decoded. Block coupling means 1005 for composing the image, and a city.
[0092]
(4) Overall processing flow in this decoding system
The overall processing flow in this decoding system is as shown in FIG. The decoding process will be described with reference to this figure.
[0093]
(4-1) Block division
In block division 1102, a given encoded image is divided into image blocks having a specific block size. Here, since the encoded block size is fixed at 96 bits, the encoded image is divided into blocks in units of 96 bits.
[0094]
(4-2) Decomposition of coding block
In the coding block decomposition 1103, the block is obtained by dividing the block into the block division 1102, and decomposition and extraction into components necessary for decoding are performed. Constituent elements necessary for the decoding extract an encoded image obtained by encoding an interpolation coefficient and pixel information for calculating a representative color and an interpolation representative color based on an encoding format set at the time of encoding.
[0095]
(4-3) Calculation of interpolation representative color
In the interpolation representative color calculation 1104, a decoding representative color is obtained from the representative color and the interpolation coefficient extracted in the coding block decomposition 1103. Four representative colors for decoding Cd0 to Cd3 are obtained by the following calculation according to the encoding format at the time of encoding. The number of representative colors for decoding obtained by interpolation of other representative colors differs depending on each method.
[0096]
For encoding format 0:
Cd0 = C0, Cd1 = C1, Cd2 = C2, Cd3 = C3
For encoding format 1:
Cd0 = C0,
Cd1 = C1,
Cd2 = C2,
Cd3 = (Ratio1 / 15) * (C1-C0) + (Ratio2 / 15) * (C2-C0)
For encoding format 2:
Cd0 = C0,
Cd1 = C1,
Cd2 = C2,
Cd3 = Ratio / 15) * C0 + (1-Ratio / 15) * C1
For encoding format 3:
Cd0 = C0,
Cd1 = C1,
Cd2 = (Ratio 1/15) * C0 + (1-Ratio 1/15) * C1,
Cd3 = (Ratio2 / 15) * C0 + (1-Ratio2 / 15) * C1
(4-4) Decoding pixel information
In the decoding of pixel information 1105, the representative color specified by the index or the interpolation representative color is used as pixel color information from the index information for each pixel included in the encoded image extracted in the encoding block decomposition 1103. Decrypt. The association between the 2-bit index information and the representative color for decoding can be performed as follows.
[0097]
Index 0 “00” is the representative color Cd0 for decoding.
Index 1 “01” is the representative color Cd1 for decoding.
Index 2 “10” becomes the representative color Cd2 for decoding
Index 3 “11” is the representative color Cd3 for decoding.
(4-5) End of all blocks
At the end of all blocks 1106, it is determined whether the processing from the above-described encoding block decomposition 1103 to pixel information decoding 1105 has been performed over all blocks.
[0098]
(4-6) Block connection
In the block concatenation 1107, the block images obtained by decoding the pixel color information in the pixel information decoding 1105 are combined while maintaining the original concatenation state to finally generate a decoded image. If 64 × 64 blocks are concatenated, an image of 256 × 256 pixels is generated.
[0099]
(Second embodiment)
FIG. 12 is a block diagram relating to a second embodiment of the block-by-block image coding system of the present invention (hereinafter referred to as the present coding system).
[0100]
(1) Configuration of this encoding system
This encoding system includes a block dividing unit 1201 for dividing image information into specific blocks, and a representative color calculating unit 1202 for obtaining at least two representative colors for each image block divided by the block dividing unit 1201. Determining from the representative color obtained by the representative color calculation means 1202 what can be expressed by interpolation of two or more other representative colors, determining an encoding format according to the number of representative colors that can be interpolated, and an interpolation coefficient Interpolated representative color determining means 1203 for calculating the pixel and each pixel constituting the block is represented by either the representative color obtained by the representative color calculating means 1202 or the interpolated representative color obtained by the interpolated representative color determining means 1203 Pixel information encoding means 1204 for determining and encoding, and the representative color obtained by the representative color calculating means 1202 and the complementary color. A block unit code is obtained by arranging the interpolation coefficient obtained by the representative color determining means 1203 and the encoded image obtained by the pixel information encoding means 1204 according to the encoding format determined by the interpolation representative color determining means 1203. An encoded block generating unit 1205 for generating a coded image, and a header information generating unit 1207 for generating header information storing the encoding format information for each block determined by the interpolation representative color determining unit 1203; A block concatenation unit 1206 for concatenating the encoded block generated by the encoded block generation unit 1205 and the header information generated by the header information generation unit 1207, and finally forming an encoded image. Is done.
[0101]
(2) Overall processing flow of the encoding system
FIG. 13 shows a processing flow of the entire encoding system.
[0102]
Since the block division 1302 and the representative color calculation 1303 are the same as the block division 202 and the representative color calculation 203 in the first embodiment, description thereof is omitted.
[0103]
The difference from the processing flow of the encoding system in the first embodiment corresponds to the determination of the encoding format by determining the interpolation representative color 1304 for each block, the determination of the number of representative colors to be interpolated, and the encoding format. This is a point where information such as an interpolation coefficient is calculated. FIG. 14 is a diagram for explaining how the encoding format is determined by the interpolation representative color determining means.
[0104]
As parameters for selecting an encoding format, the importance of image quality (interpolation error tolerance), the importance of transparency α, and the like are used. For example, if there is a request to prioritize the transparency over the image quality for the block near the edge of the texture, it is better to select the encoding format 3 than the encoding format 0.
[0105]
An error (interpolation error) generated during interpolation is calculated in the same manner as the processing shown in FIGS. 5 to 7 of the first embodiment. Interpolation errors are calculated in order from the encoding format 3 (1403), and if not below a certain threshold value, the state is shifted to the encoding formats 2, 1, 0 (1406, 1411, 1416).
[0106]
For formats other than encoding format 0, image quality priority or α value priority is selected, and the final format is determined (1405, 1410, 1415).
[0107]
The processing flow for determining the interpolation representative color corresponding to the determined encoding format is the same as the processing flow described in the determination of interpolation representative color 204 in the first embodiment, and is therefore omitted here.
[0108]
Similar to the pixel information encoding 205 in the first embodiment, the pixel information encoding 1305 generates index information for the representative color for each pixel.
[0109]
In a coding block generation 1306, a coding block is generated by laying out representative colors, interpolation coefficients, coding pixel information, and the like according to the coding format determined in the interpolation representative color determination 1304.
[0110]
The header information addition 1307 is a means for adding and registering the encoding format type for each block to the header information. An example of format identification table information in block units in the header information is shown in FIG.
[0111]
Here, a file format for identifying an encoding method, image size information such as a block size and the number of blocks, and an encoding format for each block and an identifier that can distinguish between an image quality priority format and an α priority format are embedded. ing.
[0112]
At the end of all blocks 1308, it is determined whether or not a series of encoding processing from the representative color calculation 1303 to the header information addition 1307 has been completed for all blocks.
[0113]
In the block concatenation 1309, the encoded block image generated in the encoding block generation 1306 is concatenated, and at the same time, the header information generated in the header information addition 1307 is added to finally encode the image. Is generated. Similar to the encoding system in the first embodiment, the data size after encoding does not change and the data size of each block is 96 bits in 64 × 64 blocks, so that the entire encoded image is 64 × 64 × 96 bits. = 50KByte data volume.
[0114]
The major difference from the first embodiment is that the encoding format can be changed for each block.
[0115]
It is possible to switch between image quality priority or attribute information priority such as transmittance for each block, and it is possible to assign optimum attribute information while maintaining the image quality at a certain level.
[0116]
(3) Configuration of block-based image decoding system
FIG. 16 is a block diagram relating to a second embodiment of the block-unit image decoding system of the present invention (hereinafter referred to as the present decoding system).
[0117]
The decoding system includes a block dividing unit 1601 that divides image information into header information and an encoded block image, and determines an encoding / encoding format for each image block divided by the block dividing unit 1601 from the header information. Format determination means 1602 for encoding, and at least two or more representative colors for each image block divided by the block dividing means 1601, an encoding coefficient for encoding interpolation coefficients and pixel information for encoding From the representative block and interpolation coefficient obtained by the coding block decomposing unit 1603 for extracting an image and the coding block decomposing unit 1603, the interpolation representative color is calculated by the number according to the format determined by the format determining unit 1603. Interpolation representative color calculation means 1604 for calculating the interpolation representative color A pixel information decoding unit 1605 for decoding color information in units of pixels from the interpolation representative color obtained in the step 1604 and the representative color and the encoded image, and a block obtained by the pixel information decoding unit 1605 A block concatenation unit 1606 for concatenating the unit decoded images to form a final decoded image.
[0118]
(4) Process flow of the entire decoding system
FIG. 17 shows the flow of processing of the entire decoding system. Description will be made with reference to this figure.
[0119]
In block division 1702, the header information and the encoded image are divided, and at the same time, the encoded image is divided into blocks each having a block size of 96 bits.
[0120]
The difference from the decoding system in the first embodiment is that the format determination 1703 determines the encoding format of each block. Here, the format of the corresponding block is determined with reference to the encoding format identification table (FIG. 15) for each block stored in the header information obtained by the block division.
[0121]
In the coding block decomposition 1704, the representative color, the interpolation coefficient, and the encoded pixel information are decomposed and extracted in accordance with the encoding format determined in the format determination 1703.
[0122]
An interpolation representative color calculation 1705 calculates a decoded representative color according to the encoding format obtained in the format determination 1703. The method of calculating the decoded representative color corresponding to each encoding format is the same as the method described in the calculation of the interpolation representative color 1104 in the first embodiment.
[0123]
Since the pixel information decoding 1706 is the same as the pixel information decoding 1105 in the first embodiment, a description thereof is omitted here.
[0124]
At the end of all blocks 1707, it is determined whether a series of decoding processing from the format determination 1703 to the pixel information decoding 1706 has been completed for all blocks.
[0125]
In block concatenation 1709, block images obtained by decoding pixel color information in the pixel information decoding 1706 are combined while maintaining the original concatenation state to finally generate a decoded image. If 64 × 64 blocks are concatenated, an image of 256 × 256 pixels is generated.
[0126]
The difference from the first embodiment is that even an image encoded in a different encoding format for each block can be decoded by referring to the header information.
[0127]
【The invention's effect】
As described above, according to the present invention, it is possible to encode and decode an image in an efficient image format in which additional information can be added while maintaining the image quality and the compression rate. In addition, since different encoding formats can be applied to each block area unit, flexible and efficient image compression according to the application can be performed.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a first embodiment of an image encoding system according to the present invention.
FIG. 2 is a diagram for explaining a processing flow of the first embodiment of the image coding system;
FIG. 3 is a diagram for explaining a specific processing flow in calculating a representative color.
FIG. 4 is a diagram for explaining a clustering process in representative color calculation.
FIG. 5 is a processing flowchart in the encoding format 1 in determining an interpolation representative color.
FIG. 6 is a processing flow diagram in an encoding format 2 in determining an interpolation representative color.
FIG. 7 is a processing flowchart in encoding format 3 in determining an interpolation representative color.
FIG. 8 is a diagram for explaining how interpolation representative colors and interpolation coefficients are determined according to the number of representative colors.
FIG. 9 is a diagram for explaining a layout of each encoding format;
FIG. 10 is a block diagram of a first embodiment of an image decoding system of the present invention.
FIG. 11 is a diagram for explaining a processing flow of the first embodiment of the image decoding system;
FIG. 12 is a block diagram of a second embodiment of the image coding system of the present invention.
FIG. 13 is a diagram for explaining a processing flow of the second embodiment of the image coding system;
FIG. 14 is a diagram for explaining a state of encoding format determination in an interpolation representative color determination unit.
FIG. 15 is a diagram for explaining data registered in header information;
FIG. 16 is a block diagram of a second embodiment of the image decoding system of the present invention.
FIG. 17 is a diagram for explaining a processing flow of the second embodiment of the image decoding system;
[Explanation of symbols]
101 Block dividing means
102 representative color calculation means
103 Interpolation representative color determining means
104 Pixel information encoding means
105 Coding block generation means
106 Block connecting means

Claims (10)

画像情報を特定の画像ブロックに分割するブロック分割部と、
前記分割した各画像ブロック単位において少なくとも3つ以上の代表色を求める代表色算出部と、
前記求めた3つ以上の代表色の中から2つ以上の代表色と、これら2つ以上の代表色の補間で表現できる代表色を補間代表色として決定すると共に、その補間を行うための補間係数を計算する補間代表色決定部と、
前記各画像ブロックを構成する各ピクセルを、前記求めた2つ以上の代表色、または、前記求めた補間代表色のいずれで表現するかを決定して符号化して符号化画像を求めるピクセル情報符号化部と、
前記求めた2つ以上の代表色、前記求めた補間係数及び前記求めた符号化画像を組み合わせ、ブロック単位の符号化画像である符号化ブロックを生成する符号化ブロック生成部と、
前記生成した符号化ブロックを連結して最終的な符号化画像を構成するブロック連結部と、
を有する
ことを特徴とする画像符号化装置。
A block dividing unit that divides image information into specific image blocks;
A representative color calculation unit for obtaining at least three representative colors in each divided image block unit;
Among the three or more representative colors obtained above, two or more representative colors and representative colors that can be expressed by interpolation of these two or more representative colors are determined as interpolation representative colors, and interpolation is performed for the interpolation. An interpolation representative color determination unit for calculating a coefficient;
Pixel information code for determining an encoded image by deciding whether to express each pixel constituting each image block with the obtained two or more representative colors or the obtained interpolation representative color And
A coding block generator that combines the obtained two or more representative colors, the obtained interpolation coefficient, and the obtained coded image to generate a coded block that is a block-by-block coded image;
A block concatenation unit that concatenates the generated encoded blocks to form a final encoded image;
An image encoding device characterized by comprising:
画像情報を特定の画像ブロックに分割するブロック分割部と、
前記分割した各画像ブロック単位において少なくとも3つ以上の代表色を求める代表色算出部と、
前記求めた3つ以上の代表色の中から2つ以上の代表色と、これら2つ以上の代表色の補間で表現できる代表色を補間代表色として決定し、この補間代表色の数に応じた符号化フォーマットを決定すると共に、その補間を行うための補間係数を計算する補間代表色決定部と、
前記各画像ブロックを構成する各ピクセルを、前記求めた2つ以上の代表色、または、前記求めた補間代表色のいずれで表現するかを決定して符号化して符号化画像を求めるピクセル情報符号化部と、
前記求めた2つ以上の代表色、前記求めた補間係数及び前記求めた符号化画像とを、前記決定した符号化フォーマットに応じて配置することでブロック単位の符号化画像を生成する符号化ブロック生成部と、
前記決定した各ブロックの符号化フォーマット情報を格納したヘッダ情報を生成するヘッダ情報生成部と、
前記生成した符号化ブロック及び前記生成したヘッダ情報を連結して最終的な符号化画像を構成するブロック連結部と、
を有する
ことを特徴とする画像符号化装置。
A block dividing unit that divides image information into specific image blocks;
A representative color calculation unit for obtaining at least three representative colors in each divided image block unit;
Of the three or more representative colors obtained above, two or more representative colors and representative colors that can be expressed by interpolation of these two or more representative colors are determined as interpolation representative colors, and the number of interpolation representative colors is determined. An interpolation representative color determination unit that determines an encoding format and calculates an interpolation coefficient for performing the interpolation,
Pixel information code for determining an encoded image by deciding whether to express each pixel constituting each image block with the obtained two or more representative colors or the obtained interpolation representative color And
A coding block that generates a coded image in block units by arranging the obtained two or more representative colors, the obtained interpolation coefficient, and the obtained coded image according to the determined coding format. A generator,
A header information generation unit that generates header information storing the encoding format information of each determined block;
A block concatenation unit that concatenates the generated encoded block and the generated header information to form a final encoded image;
An image encoding device characterized by comprising:
前記ブロック単位の符号化画像に、前記各代表色の付加情報が含まれている  The block unit encoded image includes additional information of each representative color.
ことを特徴とする請求項1または2記載の画像符号化装置。  The image coding apparatus according to claim 1, wherein the image coding apparatus is an image coding apparatus.
画像情報を特定の符号化された画像ブロックに分割するブロック分割部と、
前記分割された各符号化された画像ブロック単位に少なくとも2つ以上の代表色、補間代表色を算出する補間係数及びピクセル情報を符号化した符号化画像を取り出す符号化ブロック分解部と、
前記求めた2つ以上の代表色及び補間係数から補間代表色を算出する補間代表色算出部と、
前記求めた補間代表色、前記2つ以上の代表色及び前記符号化画像とから、ピクセル単位にカラー情報を復号してブロック毎の復号化画像を求めるピクセル情報復号化部と、
前記求めたブロック単位の復号化画像を連結して最終的な復号化画像を構成するブロック連結部と、
を有する
ことを特徴とする画像復号化装置。
A block divider for dividing the image information into specific encoded image blocks;
An encoded block decomposing unit that extracts an encoded image obtained by encoding pixel information with at least two or more representative colors, an interpolation coefficient for calculating an interpolated representative color for each of the divided encoded image block units;
An interpolation representative color calculator that calculates an interpolation representative color from the two or more representative colors and interpolation coefficients obtained above;
A pixel information decoding unit that decodes color information in units of pixels from the obtained interpolation representative color, the two or more representative colors, and the encoded image to obtain a decoded image for each block;
A block concatenation unit that concatenates the obtained block-unit decoded images to form a final decoded image;
An image decoding apparatus comprising:
画像情報をヘッダ情報と符号化された画像ブロックに分割するブロック分割部と、
前記ヘッダ情報から前記分割された各画像ブロック単位に符号化フォーマットを判定するフォーマット判定部と、
前記分割された各画像ブロック単位に少なくとも2つ以上の代表色、補間代表色を算出するための補間係数及びピクセル情報を符号化した符号化画像を取り出す符号化ブロック分解部と、
前記求めた2つ以上の代表色及び補間係数から補間代表色を前記判定した符号化フォーマットに従った数だけ算出する補間代表色算出部と、
前記求めた補間代表色、前記2つ以上の代表色及び前記符号化画像とから、ピクセル単位にカラー情報を復号してブロック毎の復号化画像を求めるピクセル情報復号化部と、
前記求めたブロック単位の復号化画像を連結して最終的な復号化画像を構成するブロック連結部と、
を有する
ことを特徴とする画像復号化装置。
A block dividing unit that divides image information into header information and encoded image blocks;
A format determination unit that determines an encoding format for each divided image block from the header information;
An encoded block decomposition unit that extracts an encoded image obtained by encoding pixel information and at least two or more representative colors for each divided image block, an interpolation coefficient for calculating an interpolation representative color, and
An interpolation representative color calculator that calculates the number of interpolation representative colors according to the determined encoding format from the two or more representative colors and interpolation coefficients obtained;
A pixel information decoding unit that decodes color information in units of pixels from the obtained interpolation representative color, the two or more representative colors, and the encoded image to obtain a decoded image for each block;
A block concatenation unit that concatenates the obtained block-unit decoded images to form a final decoded image;
An image decoding apparatus comprising:
画像情報を特定の画像ブロックに分割するブロック分割ステップと、
前記分割した各画像ブロック単位において少なくとも3つ以上の代表色を求める代表色算出ステップと、
前記求めた3つ以上の代表色の中から2つ以上の代表色と、これら2つ以上の代表色の補間で表現できる代表色を補間代表色として決定すると共に、その補間を行うための補間係数を計算する補間代表色決定ステップと、
前記各画像ブロックを構成する各ピクセルを、前記求めた2つ以上の代表色、または、前記求めた補間代表色のいずれで表現するかを決定して符号化して符号化画像を求めるピクセル情報符号化ステップと、
前記求めた2つ以上の代表色、前記求めた補間係数及び前記求めた符号化画像を組み合わせ、ブロック単位の符号化画像である符号化ブロックを生成する符号化ブロック生成ステップと、
前記生成した符号化ブロックを連結して最終的な符号化画像を構成するブロック連結ステップと、
を有する
ことを特徴とする画像符号化方法。
A block division step for dividing the image information into specific image blocks;
A representative color calculating step for obtaining at least three representative colors in each of the divided image block units;
Among the three or more representative colors obtained above, two or more representative colors and representative colors that can be expressed by interpolation of these two or more representative colors are determined as interpolation representative colors, and interpolation is performed for the interpolation. An interpolation representative color determination step for calculating a coefficient;
Pixel information code for determining an encoded image by deciding whether to express each pixel constituting each image block with the obtained two or more representative colors or the obtained interpolation representative color Step,
A coding block generation step of generating a coding block that is a block-unit coded image by combining the obtained two or more representative colors, the obtained interpolation coefficient, and the obtained coded image;
A block concatenation step of concatenating the generated encoded blocks to form a final encoded image;
An image encoding method characterized by comprising:
画像情報を特定の画像ブロックに分割するブロック分割ステップと、
前記分割した各画像ブロック単位において少なくとも3つ以上の代表色を求める代表色算出ステップと、
前記求めた3つ以上の代表色の中から2つ以上の代表色と、これら2つ以上の代表色の補間で表現できる代表色を補間代表色として決定し、この補間代表色の数に応じた符号化フォーマットを決定すると共に、その補間を行うための補間係数を計算する補間代表色決定ステップと、
前記各画像ブロックを構成する各ピクセルを、前記求めた2つ以上の代表色、または、前記求めた補間代表色のいずれで表現するかを決定して符号化して符号化画像を求めるピクセル情報符号化ステップと、
前記求めた2つ以上の代表色、前記求めた補間係数及び前記求めた符号化画像とを、前記決定した符号化フォーマットに応じて配置することでブロック単位の符号化画像を生成する符号化ブロック生成ステップと、
前記決定した各ブロックの符号化フォーマット情報を格納したヘッダ情報を生成するヘッダ情報生成ステップと、
前記生成した符号化ブロック及び前記生成したヘッダ情報を連結して最終的な符号化画像を構成するブロック連結ステップと、
を有する
ことを特徴とする画像符号化方法。
A block division step for dividing the image information into specific image blocks;
A representative color calculating step for obtaining at least three representative colors in each of the divided image block units;
Of the three or more representative colors obtained above, two or more representative colors and representative colors that can be expressed by interpolation of these two or more representative colors are determined as interpolation representative colors, and the number of interpolation representative colors is determined. An interpolation representative color determination step for determining an encoding format and calculating an interpolation coefficient for performing the interpolation;
Pixel information code for determining an encoded image by deciding whether to express each pixel constituting each image block with the obtained two or more representative colors or the obtained interpolation representative color Step,
A coding block that generates a coded image in block units by arranging the obtained two or more representative colors, the obtained interpolation coefficient, and the obtained coded image according to the determined coding format. Generation step;
Header information generating step for generating header information storing the encoding format information of each determined block;
A block concatenation step of concatenating the generated encoded block and the generated header information to form a final encoded image;
An image encoding method characterized by comprising:
前記ブロック単位の符号化画像に、前記各代表色の付加情報が含まれている  The block unit encoded image includes additional information of each representative color.
ことを特徴とする請求項6または7記載の画像符号化方法。  The image encoding method according to claim 6 or 7,
画像情報を特定の符号化された画像ブロックに分割するブロック分割ステップと、
前記分割された各符号化された画像ブロック単位に少なくとも2つ以上の代表色、補間代表色を算出する補間係数及びピクセル情報を符号化した符号化画像を取り出す符号化ブロック分解ステップと、
前記求めた2つ以上の代表色及び補間係数から補間代表色を算出する補間代表色算出ステップと、
前記求めた補間代表色、前記2つ以上の代表色及び前記符号化画像とから、ピクセル単位にカラー情報を復号してブロック毎の復号化画像を求めるピクセル情報復号化ステップと、
前記求めたブロック単位の復号化画像を連結して最終的な復号化画像を構成するブロック連結ステップと、
を有する
ことを特徴とする画像復号化方法。
A block division step of dividing the image information into specific encoded image blocks;
An encoded block decomposition step for extracting an encoded image obtained by encoding at least two or more representative colors, an interpolation coefficient for calculating an interpolation representative color, and pixel information for each of the divided encoded image block units;
An interpolation representative color calculation step of calculating an interpolation representative color from the two or more obtained representative colors and an interpolation coefficient;
A pixel information decoding step of decoding color information in units of pixels from the obtained interpolation representative color, the two or more representative colors, and the encoded image to obtain a decoded image for each block;
A block concatenation step for concatenating the obtained block-unit decoded images to form a final decoded image;
An image decoding method characterized by comprising:
画像情報をヘッダ情報と符号化された画像ブロックに分割するブロック分割ステップと、
前記ヘッダ情報から前記分割された各画像ブロック単位に符号化フォーマットを判定するフォーマット判定ステップと、
前記分割された各画像ブロック単位に少なくとも2つ以上の代表色、補間代表色を算出するための補間係数及びピクセル情報を符号化した符号化画像を取り出す符号化ブロック分解ステップと、
前記求めた2つ以上の代表色及び補間係数から補間代表色を前記判定した符号化フォーマットに従った数だけ算出する補間代表色算出ステップと、
前記求めた補間代表色、前記2つ以上の代表色及び前記符号化画像とから、ピクセル単位にカラー情報を復号してブロック毎の復号化画像を求めるピクセル情報復号化ステップと、
前記求めたブロック単位の復号化画像を連結して最終的な復号化画像を構成するブロック連結ステップと、
を有する
ことを特徴とする画像復号化方法。
A block division step for dividing the image information into header information and encoded image blocks;
A format determination step of determining an encoding format for each divided image block from the header information;
An encoded block decomposition step for extracting an encoded image obtained by encoding pixel information and at least two representative colors for each divided image block, an interpolation coefficient for calculating an interpolation representative color; and
An interpolation representative color calculating step of calculating an interpolation representative color by the number according to the determined encoding format from the two or more representative colors and interpolation coefficients obtained;
A pixel information decoding step of decoding color information in units of pixels from the obtained interpolation representative color, the two or more representative colors, and the encoded image to obtain a decoded image for each block;
A block concatenation step for concatenating the obtained block-unit decoded images to form a final decoded image;
An image decoding method characterized by comprising:
JP2002266055A 2002-09-11 2002-09-11 Image encoding apparatus, image decoding apparatus and methods thereof Expired - Fee Related JP3790728B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002266055A JP3790728B2 (en) 2002-09-11 2002-09-11 Image encoding apparatus, image decoding apparatus and methods thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002266055A JP3790728B2 (en) 2002-09-11 2002-09-11 Image encoding apparatus, image decoding apparatus and methods thereof

Publications (2)

Publication Number Publication Date
JP2004104621A JP2004104621A (en) 2004-04-02
JP3790728B2 true JP3790728B2 (en) 2006-06-28

Family

ID=32265014

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002266055A Expired - Fee Related JP3790728B2 (en) 2002-09-11 2002-09-11 Image encoding apparatus, image decoding apparatus and methods thereof

Country Status (1)

Country Link
JP (1) JP3790728B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521848A (en) * 2005-03-04 2012-06-27 Arm挪威股份有限公司 Method and apparatus for encoding data
US10089953B2 (en) 2012-11-28 2018-10-02 Synaptics Japan Gk Image processing circuit for image compression and decompression and display panel driver incorporating the same

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4681975B2 (en) 2005-08-04 2011-05-11 株式会社リコー Image processing apparatus, image processing method, image processing program, and recording medium on which the program is recorded
US9418450B2 (en) 2006-08-31 2016-08-16 Ati Technologies Ulc Texture compression techniques
JP5558767B2 (en) 2009-09-25 2014-07-23 キヤノン株式会社 Image processing apparatus and processing method thereof
JP5441676B2 (en) 2009-12-25 2014-03-12 キヤノン株式会社 Image processing apparatus and processing method thereof
JP2011139164A (en) 2009-12-25 2011-07-14 Canon Inc Image processing apparatus and processing method thereof
JP5501041B2 (en) 2010-03-15 2014-05-21 キヤノン株式会社 Image processing apparatus, image processing method, and program
JP2011193394A (en) 2010-03-16 2011-09-29 Canon Inc Image processing apparatus, image processing method, and program
JP2011193396A (en) 2010-03-16 2011-09-29 Canon Inc Image processing apparatus, control method, and program
JP2011193395A (en) 2010-03-16 2011-09-29 Canon Inc Image processing apparatus, control method, and program
JP5393574B2 (en) 2010-04-08 2014-01-22 キヤノン株式会社 Image processing apparatus, image processing method, and program
JP5538993B2 (en) 2010-04-28 2014-07-02 キヤノン株式会社 Image processing apparatus, image processing method, program, and storage medium
JP5538996B2 (en) 2010-04-30 2014-07-02 キヤノン株式会社 Image processing apparatus, image processing method, program, and storage medium
JP2011259246A (en) 2010-06-09 2011-12-22 Canon Inc Image processing device, image processing method, and program
JP2012010088A (en) 2010-06-24 2012-01-12 Canon Inc Image processing apparatus, control method, and program
JP5595151B2 (en) 2010-07-13 2014-09-24 キヤノン株式会社 Image processing apparatus, compression method in image processing apparatus, and program
JP5643574B2 (en) 2010-08-26 2014-12-17 キヤノン株式会社 Image processing apparatus and image processing method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521848A (en) * 2005-03-04 2012-06-27 Arm挪威股份有限公司 Method and apparatus for encoding data
CN102521848B (en) * 2005-03-04 2015-11-18 Arm挪威股份有限公司 For the method and apparatus of coded data
US10089953B2 (en) 2012-11-28 2018-10-02 Synaptics Japan Gk Image processing circuit for image compression and decompression and display panel driver incorporating the same

Also Published As

Publication number Publication date
JP2004104621A (en) 2004-04-02

Similar Documents

Publication Publication Date Title
JP3790728B2 (en) Image encoding apparatus, image decoding apparatus and methods thereof
JP3978478B2 (en) Apparatus and method for performing fixed-speed block-unit image compression with estimated pixel values
US8144981B2 (en) Texture compression based on two hues with modified brightness
EP2688042B1 (en) Image processing
EP2005393B1 (en) High quality image processing
KR100821762B1 (en) Alpha image processing
US8369629B2 (en) Image processing using resolution numbers to determine additional component values
US6968092B1 (en) System and method for reduced codebook vector quantization
JP5414121B2 (en) Compression and coding of 3D mesh networks
JP5306317B2 (en) Image processing using vectors
KR101687865B1 (en) Encoder, decoder and method
US9245353B2 (en) Encoder, decoder and method
US12020461B2 (en) Method and apparatus for Haar-based point cloud coding
US20230237705A1 (en) Methods for level partition of point cloud, and decoder
KR101346942B1 (en) Vector embedded graphics coding
WO2022183611A1 (en) Intra prediction method and apparatus, and codec, device and storage medium
WO2022116122A1 (en) Intra-frame prediction method and apparatus, codec, device, and storage medium
CN116132759B (en) Audio and video stream synchronous transmission method and device, electronic equipment and storage medium
EP4233006A2 (en) Devices and methods for spatial quantization for point cloud compression
Ahn et al. Geometry compression of 3-D models using adaptive quantization for prediction errors
TW201131514A (en) Order-of-two texture compression method
JP2004266743A (en) Image compression device, image compression method, and image compression program
JP2004260282A (en) Method for creating code book in vector quantization processing

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060217

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: 20060328

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060403

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100407

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100407

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110407

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130407

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140407

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees