JP4444968B2 - アルファ画像処理 - Google Patents

アルファ画像処理 Download PDF

Info

Publication number
JP4444968B2
JP4444968B2 JP2006545293A JP2006545293A JP4444968B2 JP 4444968 B2 JP4444968 B2 JP 4444968B2 JP 2006545293 A JP2006545293 A JP 2006545293A JP 2006545293 A JP2006545293 A JP 2006545293A JP 4444968 B2 JP4444968 B2 JP 4444968B2
Authority
JP
Japan
Prior art keywords
color
alpha
image
codeword
modifier
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 - Lifetime
Application number
JP2006545293A
Other languages
English (en)
Other versions
JP2007517434A (ja
Inventor
ヤコブ ストレム,
Original Assignee
テレフオンアクチーボラゲット エル エム エリクソン(パブル)
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
Priority claimed from SE0303497A external-priority patent/SE526226C2/sv
Application filed by テレフオンアクチーボラゲット エル エム エリクソン(パブル) filed Critical テレフオンアクチーボラゲット エル エム エリクソン(パブル)
Publication of JP2007517434A publication Critical patent/JP2007517434A/ja
Application granted granted Critical
Publication of JP4444968B2 publication Critical patent/JP4444968B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/008Vector quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/21Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with binary alpha-plane coding for video objects, e.g. context-based arithmetic encoding [CAE]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)
  • Color Television Systems (AREA)
  • Image Generation (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、一般に画像処理に関し、詳細には画像を符号化し復号化するための方法およびシステムに関する。
近年、コンピュータなど、データ処理システムおよびユーザ端末上における、またとりわけモバイル端末上における画像およびグラフィックスのプレゼンテーションおよびレンダリング(rendering)が、ものすごい勢いで増大してきている。例えば、三次元(3D)のグラフィックスおよび画像は、ゲーム、3Dマップおよびメッセージング、スクリーン・セイバ、ならびにマン・マシン・インターフェースを含めて、このような端末上のいくつかの魅力のあるアプリケーションを有する。
3Dグラフィックスのレンダリング処理は、一般に3つの下位段階を含んでいる。簡潔に言えば、第1の段階、すなわちアプリケーション段階では、いくつかの三角形が作成される。これらの三角形のこれらのコーナーは、第2の段階、すなわち幾何学的段階において、変換され、投影され、明るく照らされる。第3の段階、すなわちラスタ化(rasterization)段階においては、多くの場合にテクスチャ(texture)であることが示される画像を、これらの三角形上に「はりつける(glue)」ことができ、このレンダリングされる画像のリアル感が高められる。この第3の段階は、一般的にzバッファを使用してソーティングも実施する。
しかし、画像およびテクスチャのレンダリング、ならびに特に3Dの画像およびグラフィックスは、これらのグラフィック・システムのために必要とされるメモリ帯域幅および処理能力を考慮するとコンピュータの観点から見て高価につくタスクである。例えば、テクスチャは、これらのテクスチャが高速なオンチップ・メモリに配置し、またはキャッシングしなければならないというメモリの観点と、またテクスチャを何回もアクセスして、やっとたった1つのピクセルを描くことができるというメモリ帯域幅の観点との両方から見て高価なものとなる。
これらの帯域幅と処理能力の要件を低減させるために、画像(テクスチャ)符号化の方法またはシステムが一般的に使用される。このような符号化システムは、レンダリング中の高価なオンチップ・メモリ、およびより低いメモリ帯域幅のより効率的な使用をもたらし、それによってより低い電力消費および/またはより高速なレンダリングがもたらされるはずである。
画像を効率良く正確に圧縮し、伸張することに加えて、このテクスチャの圧縮システムおよび伸張システムは、アルファ成分(alpha component)を管理することができる機能を有するべきであるという一般的な要求が存在する。このようなアルファ成分を使用して、広い範囲の用途で使用されるこれらのテクスチャにおける透明または半透明のピクセルまたはテクセル(texel)を表現することができる。
米国特許第5956431号特許明細書において、Iourcha等は、S3TC(S3 Texture Compression S3テクスチャ圧縮)またはDXTC(DirectX Texture Compression ダイレクトXテクスチャ圧縮)と呼ばれるテクスチャ圧縮スキームについて開示している。1つの画像は、4ピクセル×4ピクセルのいくつかの画像ブロックに分解される。このような各画像ブロックは、64ビットのビット・シーケンスに符号化され、このようにして4bpp(bits per pixel ピクセル当たりビット数)の圧縮レートをもたらす。この64ビットのシーケンスは、2色の基本カラーまたはカラー・コードワードと、ピクセル・インデックス、すなわちこの画像ブロック中のピクセルごとに1つのインデックスのシーケンスとを含んでいる。復号化中に、4色のカラー・パレットが生成される。このパレットのうちの最初の2色のRGB(red, green, and blue 赤、緑、青)色は、これらの2色の基本カラー(コードワード)に対応する。このRGB空間中のこれらの基本カラーの間に位置する2色の追加カラーは、次いでこれらから補間される。この場合には、各ピクセル・インデックスは、ピクセルごとに、このピクセルのために使用する、このパレットの4色のカラーのうちの1色を識別する。
このカラー・パレットのこれらの2色の追加のカラーの補間中に、1/3および2/3による乗算が実施されるが、これは、ハードウェアにおいては理想的ではない。さらに、S3TCを使用した圧縮についても、比較的時間がかかるものである。
このS3TCスキームは、アルファ・テクスチャを特別な場合として取り扱う。この場合には、これらのビットは、いわゆるパンチ・スルー・アルファ(punch-through alpha)を可能にするために異なったように解釈される。このアルファ・メカニズムの簡単なバージョンは、各ピクセルを完全に不透明または透明であるものとして表現する。S3TCがより正確なアルファを取り扱うことができないことが、このシステムの主要な欠点の1つである。
米国特許第5956431号、Iourcha等 Y.Linde、A.Buzo、R.Gray、「An algorithm for vector quantizer design」、IEEE Transactions on Communications、28巻、84〜94頁、1980年1月
本発明は、従来技術の構成のこれらおよび他の欠点を克服するものである。
本発明の一般的な一目的は、効率的な画像処理を実現することである。
本発明の他の目的は、効率的な画像符号化および画像復号化を実現することである。
本発明のさらなる目的は、透明および/または半透明な画像エレメントを含むアルファ画像について適合させられた画像の符号化および復号化を実現することである。
これらおよび他の目的は、添付の特許請求の範囲によって定義される本発明によって満たされる。
簡潔に言えば、本発明は、アルファ画像を符号化すること(圧縮すること)、および符号化された(圧縮された)画像を復号化すること(伸張すること)の形態のアルファ画像処理を伴う。
本発明によれば、符号化すべきアルファ画像は、複数個の画像エレメント(ピクセル、テクスチャ・エレメント、テクセル、またはボリューム・エレメント、すなわちボクセル(voxel))を含むいくつかの画像ブロックに分解される。画像ブロックは、8個の画像エレメントを含むことが好ましく、また2×2個の画像エレメントのサイズを有することが好ましく、ここでm=3−nおよびn=0、1、2、3であり、あるいは2×2×2個のサイズを有することが好ましく、ここでm、n、p=0、1、2、3であり、またm+n+p=3であることが好ましい。ブロック中の各画像エレメントは、カラー、およびアルファ値または透明度値によって特徴づけられる。次いで、これらの個々の画像ブロックは、圧縮される。
この損失のあるブロック符号化においては、カラー・コードワードが、この画像ブロックについて決定される。このカラー・コードワードは、この画像ブロックのこれらの画像エレメントのカラーの表現である。さらに、アルファ・コードワードが、この画像ブロックについて決定される。このアルファ・コードワードは、このブロック中におけるこれらの画像エレメントのアルファ値の表現である。好ましい表現は、ブロック中におけるこれらの画像エレメントの量子化された平均アルファ値である。
その後、アルファ修正コードワード(alpha modifying codeword)が、この画像ブロックについて提供される。このアルファ修正コードワードは、(復号化中に)このアルファ・コードワードによって表現されるアルファ値を修正、または変調するために使用される複数のアルファ修正子(alpha modifier)の集合(set)の表現である。このアルファ修正コードワードが提供された後に、アルファ修正子インデックスが、この画像ブロック中のこれらの画像エレメントについて選択される。このような各修正子インデックスは、このアルファ修正子の集合からの1つのアルファ修正子に関連づけられる。
本発明の好ましい一実施形態においては、画像ブロックは、複数の、好ましくは2つの可能な圧縮モードのうちの一方に従って圧縮することができる。2つの異なる圧縮モードの使用は、このアルファ画像中の個々の画像ブロックの特性により良好に適応化できるようにすることにより、この符号化方法に柔軟性をもたらす。ブロックベースで2つの異なる圧縮モードの間で選択を行う結果として、この処理された画像の画像品質は、単一モードの符号化しかもたない従来技術のアルファ適応符号化スキーム(alpha-adapted encoding scheme)に比べて改善される。
第1の圧縮モードにおいては、カラー修正コードワード(color modifying codeword)が生成される。このカラー修正コードワードは、(復号化中に)このブロック中のこれらの画像エレメントのカラーを修正、または変調するために使用される複数の輝度修正子(intensity modifier)またはカラー修正子(color modifier)の集合の表現である。このカラー修正コードワードが提供された後に、カラー修正子インデックスが、この画像ブロック中のこれらの画像エレメントについて選択される。このような各修正子インデックスは、このアルファ修正子の集合からの1つのアルファ修正子に関連づけられる。
第2の圧縮モードにおいては、このカラー・コードワードは、第1のカラー・サブコードワードと第2のカラー・サブコードワードとを含んでいる。この第1のカラー・サブコードワードは、この画像ブロックの第1の部分におけるこれらの画像エレメントのカラーを表現することが好ましいのに対して、この第2のサブコードワードは、この画像ブロックの第2の部分におけるこれらの画像エレメントのカラーを表現する。さらに、この第1および第2のカラー・サブコードワードに関連するカラー・インデックスは、このブロック中のこれらの画像エレメントの第1の部分集合について生成されることが好ましい。このブロック中のこれらの画像エレメントの残りの第2の部分集合は、これらのカラー・サブコードワードの一方とのあらかじめ定義された関連付けを有することが好ましく、その結果、この残りの部分集合の1個(または複数個)の画像エレメントについては、カラー・インデックスは必要とされない。
これらの2つのモードに従って圧縮される画像ブロック表現は、異なるコードワードと、画像エレメントに関連するインデックスとを含んでいるが、ビット数を考慮したこれらの圧縮されたブロック表現のサイズは、両方のモードについて等しいことが好ましい。
1つの画像ブロックについて使用するための圧縮モードの選択は、これらのコードワードおよびインデックス・シーケンスを決定する前に、このブロック中のこれらの画像エレメントの特性の調査に基づいて、例えばこのカラー空間のこれらの画像エレメントのカラー値の分布に基づいて実施できることが好ましい。代わりに、このモード選択は、これらのコードワードおよびインデックス・シーケンスの生成中または生成後にも行われる。後者の場合には、この画像ブロックの2つの圧縮表現は、1つの圧縮表現はこの第1の圧縮モードに従って、また1つの圧縮表現はこの第2のモードに従って生成されることになる。この第1のモードに従ってこの画像ブロックを圧縮することに関連する第1のエラー値は、この第1のモードに従って圧縮されるブロック表現を使用して決定される。それに対応して、またこの第2のモードに従ってこの画像ブロックを圧縮することに関連する第2のエラー値は、この第2のモードに従って圧縮されるブロック表現を使用して決定される。次いで、これらの2つのエラー値は比較され、最高品質(最小のエラー値)をもたらす圧縮モードが選択される。この選択モードに従って圧縮されたこのブロック表現が、この現行ブロックについての符号化表現として使用されることになる。
復号化中には、伸張されるべき1つ(または複数)の圧縮された画像ブロックは、例えばメモリ・ロケーションから識別され、フェッチされる。この正しい圧縮画像ブロックが識別された後に、この識別された圧縮画像ブロック中の少なくとも1個の画像エレメントの復号化表現が、これらのコードワードおよびインデックスを使用して生成される。
本発明は、以下の複数の利点を提供する。
− 完全に透明、完全に不透明、半透明に加えてアルファ値の表現を可能にする柔軟性によるアルファ画像についての高品質(最高の信号対雑音比(signal/noise ratio)を提供する。
− 復号化のハードウェア実装が極めて簡単である。
− 符号化が非常に高速であり、これにより、低クロック周波数を有する端末中でも実装が可能になる。
− 異なる画像ブロックについて適応化された2つのモードに従って動作するように拡張することができ、これがさらにこの最高の信号対雑音比を改善することになる。
− コンピュータ上で実現可能な速度における完全な符号化が可能である。
本発明により提供される他の利点については、本発明の実施形態の以下の説明を読めばすぐに理解されよう。
本発明については、本発明のさらなる目的および利点と共に、以下の説明を添付図面と併せて参照することにより最もよく理解することができる。
これらの図面全体を通して、これらの同じ参照符号は、これらに対応する要素、または同様な要素について使用されることになる。
本発明は、画像処理およびグラフィック処理に関し、詳細には、アルファ画像の符号化または圧縮、ならびに符号化された(圧縮された)アルファ画像を復号化、または伸張することに関する。
一般に本発明によれば、画像符号化中に、1つのアルファ画像は、いくつかの画像ブロックに分解、または分割される。次いでこのような各画像ブロックは、複数個の、すなわち少なくとも2個の、画像エレメントに関連する特性、中でもとりわけある種のカラー、およびそれに関連するアルファ値または透明度値を有する画像エレメントを含んでいる。次いでこれらの画像ブロックは、符号化、または圧縮されて、この画像の符号化された表現が生成される。
符号化された画像が、画面上に表示されるべきとき、あるいはこの符号化された画像に関連する幾何学的プリミティブがレンダリングされるべきときには、この符号化画像ブロックのこれらの関連した画像エレメントが識別され、復号化される。次いでこれらの復号化された画像エレメントを使用して、この元の画像の復号化された表現を表示するために生成することができ、あるいはこれらの復号化された画像エレメントを使用して、この幾何学的プリミティブをレンダリングすることができる。
本発明は、写真、テキスト、「合成」画像など、3D(three-dimensional 三次元)のグラフィックスおよび画像と共に使用するためによく適合化させられ、これらの全ては、ゲーム、3Dマップおよびシーン、3Dメッセージ、例えばアニメーション化されたメッセージ、スクリーン・セイバ、MMI(man-machine interface マン・マシン・インターフェース)などのアプリケーション中で使用することができるが、それだけに限定されるものではない。したがって、本発明は、他のタイプの画像またはグラフィックス、例えば1D(one-dimensional 一次元)画像、2D(two-dimensional 二次元)画像または3D画像を符号化するために使用することもできる。
本発明においては、表現「画像エレメント」は、画像ブロック、または画像ブロックの符号化された(圧縮された)表現における1つのエレメントを意味する。この画像ブロックは、その結果として画像またはテクスチャの一部分に対応する。したがって、本発明によれば、1個の画像エレメントは、(1D、2D、または3Dの)テクスチャの1つのテクセル、あるいは(1D、2D、または3Dの)画像の1つのピクセルとなる可能性がある。それに対応して、1個の画像エレメントは、3Dのテクスチャまたは画像中の1つのボクセルとなる可能性がある。一般的に、画像エレメントは、カラー値やアルファ値または透明度値などのある種の画像エレメント関連特性によって特徴づけられる。さらに、以降では、用語「画像」を使用して、本発明を使用して符号化し復号化することができる任意の1D、2D、または3Dの画像またはテクスチャを示す。
以上で簡単に述べたように、画像エレメントは、多くの場合にとりわけカラーによって特徴づけられる。このカラーは、単一成分の(一次元の)特性、一般的にはグレー・レベルまたはグレー値となり得る。このような場合には、画像エレメントのカラーは、一般的に黒を表す最小のグレー・レベル、例えば0から、一般的に白を表す最大のグレー・レベル、例えば255までの値を取ることが可能である。代わりに、画像エレメントのカラーは、一般的には3つのカラー成分を含む、多成分の(多次元の)特性となることが可能である。このような場合には、このカラーは、画像処理およびグラフィックス処理において使用されるRGB(赤、緑、青)のカラー、YUV空間におけるカラー、YCrCb空間におけるカラー、または他のどのようなカラー空間とすることも可能である。以降では、本発明は、主にRGBカラーに関して説明することにする。しかし、これについては、単に例示的であるが非限定的な適切なカラー・フォーマットの例にすぎないものとして理解されたい。それ故に、この対応する説明は、他の多成分カラー・フォーマット、および単一成分のカラー・フォーマット、例えばグレー・レベルに適用することもできる。
アルファ画像処理の技術分野においては、アルファ値を使用して、画像エレメントの透明度特性を表現する。一般に、0≦alpha_value(アルファ値)≦1であり、また0≦transparency(透明度)≦1である場合、アルファ値は、一般的にalpha_value=1−transparencyとして定義される。したがって、1のアルファ値は、この定義においては不透明性、または不透明(透明度が0である)に対応するのに対して、0のアルファ値は、この場合には完全な透明性(透明度が1である)を表す。アルファ値のこの定義は、当技術分野においては、最も一般的なものであるが、本発明は、それだけに限定されるものではない。実際に、画像エレメントのアルファ値は、したがって本発明によれば、この使用されるアルファ値と透明度の関係に応じて、この画像エレメントのどのような透明度特性を表現することもできる。
これらの各アルファ値に加えて「アルファ画像」の画像エレメントもまた、関連するカラー値を有することが本発明によって予想される。したがって、本発明のアルファ画像は、いわゆるRGBA画像となり得る。
<画像符号化>
図1は、本発明によるアルファ画像を符号化する(損失のある)方法の一実施形態の流れ図である。第1のステップS1において、この画像は、いくつかの画像ブロックに分解される、若しくは分割される。このような各画像ブロックは、この場合に複数個の画像エレメントを含んでいる。本発明の好ましい一実施形態においては、1つの画像ブロックは、8個の画像エレメント(ピクセルまたはテクセル)を含み、2×2個の画像エレメントのサイズを有し、ここでm=3−nおよびn=0、1、2、3である。nが1または2であることがより好ましい。図2Aおよび2Bは、本発明による8個の画像エレメント610を有する画像ブロック600の2つの例を概略的に示している。図2Aにおいては、その高さが2個の画像エレメント610分であり、その幅が4個の画像エレメント610分であり、すなわちm=1およびn=2であるのに対して、図2Bにおける画像ブロック600では、m=2およびn=1である。それに対応して、3D画像を圧縮するときには、好ましい画像ブロックサイズは、2×2×2個の画像エレメント(ボクセル)となる可能性がある。しかし、本発明は、8個の画像エレメントを有するブロックだけに限定されるものではなく、代わりにさらに少ない、例えば2×2個の、あるいは8個の画像エレメントよりも多い、例えば4×4個の画像エレメントを有する画像ブロックに関連して使用することもできる。
図1に戻って参照すると、この全体の画像ブロックは、ステップS1において、(オーバーラップしない)画像ブロックに分解されることが好ましい。しかし、一部のアプリケーションにおいては、画像の一部分しか符号化されず、それ故に、この部分しか画像ブロックには分解されない。
ステップS2において、カラー・コードワードが、この画像ブロックについて決定される。このカラー・コードワードは、この画像ブロック中におけるこれらの画像エレメントのカラーの表現である。典型的な実装形態においては、このカラー・コードワードは、このブロックのこれらの画像エレメントについての平均カラーの表現であるが、代わりに複数のカラー値を表現することもできる。このカラー・コードワードは、元の画像と同じカラー・フォーマット(空間)中にあることが好ましい。しかし、一部のケースにおいては、この画像を異なるカラー・フォーマットに、すなわち第1のカラー空間におけるこのカラー・コードワードと第2の異なるカラー空間におけるその元の画像とを有するカラー・フォーマットに変換することが有用なこともある。次のステップS3においては、アルファ・コードワードがこの現行の画像ブロックについて決定される。このアルファ・コードワードは、この画像ブロック中のこれらの画像エレメントのアルファ値の表現である。典型的な実装形態においては、このアルファ・コードワードは、このブロック中のこれらの画像エレメントの平均アルファ値の表現である。
その後、アルファ修正コードワードが、ステップS4において提供される。このアルファ修正コードワードは、(復号化中に)この画像ブロック中のこれらの画像エレメントのアルファ表現を修正するために使用される複数のアルファ修正子の集合の表現である。
本発明の好ましい一実施形態においては、このアルファ修正コードワードは、アルファ修正子の集合の識別を可能にするインデックスまたは表現である。次いでこのインデックスは、いくつかの異なるアルファ修正子の集合を含むアルファ・テーブルまたはアルファ・コードブック中の集合を識別、あるいは指し示すことができる。各集合は、2つ以上のアルファ修正子値を含み、少なくとも4つの修正子値を含むことが好ましい。
このアルファ・テーブルは、透明度特性をスムーズに変更する表現を可能にするようになっている小さなアルファ修正値を含む集合を含んでいることが好ましい。さらに、このテーブルは、鮮明な透明度コントラストの表現を可能にするようになっている大きなアルファ修正子値を含む集合を含んでいることも好ましい。
このテーブル中のこれらの集合の実際のアルファ修正子値は、ランダムな値から出発し、次いで当業者に知られているLBG−アルゴリズム(Linde、BuzoおよびGray)[2]、シミュレーテッド・アニーリング(simulated annealing)、座標探索(coordinate search)のバージョンなど、いくつかの異なる最適化のスキームおよびアルゴリズムを使用してこれらの値を最適化することにより見出すことができる。異なるタイプのほんの一握りのアルファ画像をトレーニング・データとして使用することができる。
このアルファ・テーブルのハードウェア実装をあまり高価でないものにするために、集合のうちのこれらのアルファ修正子は、強いて数学的に相補的な値となるようにすることが可能であり、すなわち各集合が、対称的であることが好ましく、または所与の集合のうちのこれらのアルファ修正子が、あるファクタ、例えば2だけ修正された他の集合のアルファ修正子のコピーとすることができ、あるいはその両方であるようにすることが可能である。
テーブル1は、各集合中に4つの修正子値を有するアルファ修正子の16個の集合を含むアルファ・テーブルの非限定的な実施例を示している。
Figure 0004444968
テーブル1においてアルファ修正子の集合8〜15は、2のファクタだけ乗算された集合0〜7のコピーである。
このアルファ・テーブルが、せいぜい16個の異なるアルファ修正子の集合を含む場合には、このアルファ・コードワードは、このテーブルのコードワード0000binについてのこれらの(8つの)集合のうちの1つ、例えば[−8,−2,2,8]を識別する4ビットのインデックス(0000bin〜1111bin)であることが好ましい。これらの集合中の修正子値の注意深い選択により、このテーブル1全体は、16個の修正子値だけを使用して再構築することができ、これらの残りの48個の値はそれらから算出することができる。
しかし本発明は、テーブル1の使用だけには限定されず、他のアルファ修正子の集合および値を有する他のテーブルを使用することもできる。さらに、テーブル中の16個の集合よりも多い、または少ない場合についても、このアルファ・コードワードのサイズを変更する必要がある可能性もある。例えば、このテーブルが2つの(3〜4、5〜8、または16よりも多い)アルファ修正子の集合を含む場合には、このアルファ・コードワードのサイズは、1ビット(2ビット、3ビット、または5ビット以上)に制限することもできる。さらに、集合当たりのアルファ修正子値数は、4とは異なる可能性があり、例えば集合当たりに5個の値を使用して[−8,−2,0,2,8]の一例を提供することもできる。
このテーブル中のこれらの集合のアルファ値は、以上に考察されたいくつかの異なるタイプの画像をトレーニング・データとして使用して決定することができる。しかし、特定の画像タイプしか符号化すべきでない場合には、これらの修正子値は、この画像タイプに対応するトレーニング・データ、すなわち特定の画像タイプについて専用のアルファ・テーブルを提供するトレーニング・データを使用して決定することができる。特定の画像について適合化させられた輝度修正子値を有するアルファ・テーブルを有することも可能にすることができる。これらの場合、すなわち画像または画像タイプについて専用化されたテーブルの場合には、符号化された画像ブロックの圧縮されたファイル中にこのテーブルのこれらの輝度修正子値を含め、あるいはそうでなければこれらの輝度修正子値をそれに関連づけることが必要な可能性がある。
さらに、このアルファ・コードワードは、テーブル中におけるアルファ修正子の集合に対するポインタである必要はないが、実際にはアルファ修正子の集合それ自体である可能性があり、例えば2や8など、2つの修正子値を含み、この場合には、−2や−8などの他の修正子値は、これらの2つの値から決定することができる。代わりに、使用されるアルファ修正子の集合は、[−ka,−a,a,ka]または[−ka,−ka,ka,ka]に従う可能性もあり、この場合には、aは0または正の整数であり、k、kおよびkは、増倍率である。このような場合には、このアルファ・コードワードは、この値aを含む必要があるにすぎず、これらのすべての残りの3つの値は、kまたはkおよびkがあらかじめ定義された増倍率である場合には、これらから算出することができる。
このアルファ・コードワードが、ステップS4で提供された後に、次のステップS5は、この画像ブロック中のこれらの画像エレメントについてのアルファ修正子のインデックスまたは表現を選択する。このような各アルファ修正子インデックスは、ステップS4で提供されるこのアルファ修正子の集合からの1つのアルファ修正子値に関連づけられる。換言すれば、このアルファ修正子インデックスは、このブロック中の特定の画像エレメントについてこの集合のうちのどのアルファ修正子を使用すべきかについての識別を可能にする。
−8,−2,2,8などの4つの修正子値を含むアルファ修正子の集合の場合には、このアルファ修正子インデックスは、これらの4つの値のうちの1つを識別する2ビットのシーケンスとすることが可能である。
ステップS5は、このブロック中のすべての画像エレメントについて反復されることが好ましく、これについては、線L1によって概略的に示されている。
ステップS2からS5のこの符号化の結果は符号化された画像ブロック、若しくはさらに詳細には、この画像ブロックの符号化された(圧縮された)表現である。このような符号化されたブロック表現700が、図3Aに示されている。この表現700は、カラー・コードワード710、アルファ・コードワード720、アルファ修正コードワード730、およびアルファ修正子インデックスのシーケンスまたはビットマップ740を含んでいる。なお、符号化画像ブロック700のカラー・コードワード710、アルファ・コードワード720、アルファ修正コードワード730、およびアルファ修正子インデックス・シーケンス740の相互の順序は、この図に示されているものとは異なることもあることに留意されたい。またこれらのコードワードおよびインデックス・シーケンスは、連続的に配置される必要がないことにも留意されたい。
これらのステップS2からS5は、(線L2によって概略的に示される)ステップS1の分解中に提供されるすべての画像ブロックについて反復されることが好ましい。次いで、この結果は、圧縮された画像ブロックのシーケンスまたはファイルとなる。これらの結果として生ずる圧縮された画像ブロックは、ステップS1のブロック分解中に分解された順序と同じ順序で、ファイル中において左から右に上から下へと順序づけることができる。次いで、この方法は、終了する。
この符号化された画像は、この画像のその後のレンダリング、例えば表示までその中に記憶するためにメモリに供給することができる。さらに、この符号化された画像は、符号化されたブロック表現の信号として他のユニットへ(無線または有線で)伝送するためにトランスミッタに対して供給することもできる。
図4は、図1のカラー決定ステップS2の一実施形態をより詳細に示す流れ図である。この方法は、図1のステップS1から継続される。次のステップS10において、この画像ブロック中におけるこれらの画像エレメントの平均カラーが決定される。以降においては、画像エレメントのカラーは、24ビットのRGBカラーによって、すなわち8ビットの赤色成分、8ビットの緑色成分、および8ビットの青色成分によって表現されるものと想定される。しかし、本発明は、この特定の実施例だけに限定されるものではなく、画像エレメントの任意のカラー表現に対して適用可能とすることができる。次いでこの平均カラー
Figure 0004444968
は、
Figure 0004444968
として、決定され、式中でRi、Gi、Biは、画像エレメントiのR、G、B成分であり、Nは、この画像ブロック中における画像エレメントの総数である。
この平均カラー
Figure 0004444968
が、ステップS10において決定された後に、次のステップS11は、この実施形態中のカラー・コードワードとして使用されることになる量子化カラーにこの平均カラーを量子化する。このカラー量子化において、この24ビットの平均カラーは、例えば9ビット、12ビットまたは15ビットのシーケンスに量子化することができるが、18ビット・シーケンスに量子化することができることが好ましい。このような場合には、各8ビットの平均カラー成分は、6ビットの平均成分(または全体が9、12、15ビットについては、3ビット、4ビット、5ビット)に量子化される。さらに、このカラー・コードワード中の量子化されたカラー成分のビット数の観点における各サイズが、異なることもあることに留意されたい。例えば、サイズ(G)≧(サイズ(R)またはサイズ(B))である。
この平均カラー
Figure 0004444968
Figure 0004444968
に対して計算される場合、6ビットの量子化バージョン
Figure 0004444968
は、
Figure 0004444968
から生成することができ、すなわち[1011100,010110,000101]binは、(12ビット)カラー・コードワードとして使用することができる。万一、元の画像エレメントのカラーが1成分、例えばグレー・レベル(L)しか含まない場合には、対応する平均グレー・レベル
Figure 0004444968
は、ステップS10において、式2に従って計算され、
Figure 0004444968
式中でLiは、画像エレメントiのグレー・レベルであり、Nは、式2におけるように定義される。次いでこの単一平均グレー・レベルは、ステップS11において量子化し、カラー・コードワードとして使用することができる。このような場合には、このカラー・コードワードは、量子化された平均グレー・レベルを含んでいることが好ましい。
次のステップS12は、輝度またはカラーの修正コードワードを決定し、これらの画像エレメントについての輝度またはカラーの修正子インデックスを選択する。このアルファ修正コードワードに対応して、このカラー修正コードワードは、この画像ブロック中におけるこれらの画像エレメントのカラー表現(輝度)を修正するために(復号化中に)使用される複数のカラー修正子の集合の表現である。
本発明の好ましい一実施形態においては、このカラー修正コードワードは、カラー修正子の集合の識別を可能にするインデックスまたは表現である。この場合にはこのインデックスは、いくつかの異なるカラー修正子の集合を含むカラーまたは輝度のテーブルまたはコードブック中におけるこの集合を識別する、若しくは指し示すことができる。このテーブルは、テーブル1と同様にして構成することができ、すなわち対称な修正子値を含む16個の異なる修正子の集合を含み、ここでこの修正子の集合の第1の部分は、第2の部分における修正子の集合のファクタ2倍(factor two of)である。
このようなカラー・テーブル中における実際のカラー修正子値は、このアルファ・テーブル中における対応するアルファ修正子値とは異なることもある。しかし、一部のアプリケーションにおいては、これらの同じカラー修正子値をアルファ修正子値として使用することも可能になる。この場合には、記憶域を保存するために、例えばテーブル1に従う単一の組み合わされたアルファおよびカラー・テーブルを使用することもできる。この最大アルファ値および最小アルファ値がこの最大のカラー(成分)値および最小のカラー(成分)値、例えば255および0と同じである場合に、これは、特に当てはまる。たとえ、この同じアルファおよびカラー・テーブルが使用されるとしても、このアルファ修正コードワードは、このカラー修正コードワードとは独立していることが好ましい。換言すれば、これら2つの修正コードワードは、一部の画像ブロックについて同じビット・パターン(テーブル・インデックス)を含むことが可能となり得るが、ほとんどの画像ブロックでは、これら2つの修正コードワードが異なるはずであることが予想される。いずれにしても、このアルファ修正コードワードおよびこのカラー修正コードワードは、この圧縮された画像ブロック中における一般的な修正コードワードに一緒に構成しまたはグループ化することができる。この場合には、この一般的な修正コードワードは、このアルファ修正(サブ)コードワードとこのカラー修正(サブ)コードワードとを含むことになる。
他のアプリケーションにおいては、このアルファ修正コードワードは、アルファ修正符号化機能とカラー修正符号化機能との組合せを有し得る。したがって、このアルファ修正コードワードを使用して例えばテーブルから識別されたこの修正子の集合は、このアルファ・コードワードが表現するアルファ値と、このカラー・コードワードが表現する1つ(または複数)のカラー成分を共に修正するために使用されることになる。このアルファ・コードワードの組み合わされた修正機能は、そうでなければ専用のカラー修正コードワードに費やされるはずの余分なビットを保存する。しかし、これらの余分なビットは、一般的により乏しいカラー(またはアルファ)符号化という代償を払って得られる。
このカラー修正子の集合が選択され、カラー修正コードワードが決定された後に、ステップS12は、この画像ブロック中のこれらの画像エレメントについてのカラー修正子のインデックスまたは表現を選択することで継続される。このような各カラー修正子インデックスは、この選択されたカラー修正子の集合からの1つのカラー修正子値に関連づけられる。換言すれば、このカラー修正子インデックスは、このブロック中における特定の画像エレメントについてこの集合のうちのどのカラー修正子を使用すべきかについての識別を可能にする。
ステップS12は、このブロック中の画像エレメントについて反復されることが好ましく、これについては、線L3によって概略的に示されている。次いでこの方法は、図1のステップS3へと続く。
このカラー管理およびコードワード生成のこの実施形態を使用して圧縮された画像ブロック700が、図3Bに示されている。この表現700は、図3Aの圧縮されたブロックについて言えばカラー・コードワード710と、アルファ・コードワード720と、アルファ修正コードワード730と、アルファ修正子インデックス・シーケンス740とを含んでいる。さらに、この圧縮されたブロック700は、カラー修正子コードワード750とカラー修正子インデックス・シーケンス760とをさらに含んでいる。一部の実施形態においては、アルファ修正コードワード730と、カラー修正コードワード750とは、一般的な修正コードワードに構成することができるのに対して、他の一部の実装形態においては、カラー修正コードワード750は、省略することができ、その結果、このアルファ修正機能も、カラー修正機能も共にアルファ修正子コードワード730によって符号化されることを思い起こされたい。なお、この符号化された画像ブロック700についてのカラー・コードワード710と、アルファ・コードワード720と、アルファ修正コードワード730と、カラー修正コードワード750と、アルファ修正子インデックス・シーケンス740と、カラー修正子インデックス・シーケンス760との相互の順序は、この図に示されるものとは異なることもあることに留意されたい。またこのコードワード・シーケンスとインデックス・シーケンスは、連続的に配置される必要はないことにも留意されたい。
この画像ブロックが8つの画像エレメント(例えば、図2Aおよび2Bを参照)を含み、各アルファ修正子インデックスおよびカラー修正子インデックスが2ビットである場合、これらの2つの修正子インデックス・シーケンス740、760は、それぞれ16ビットになるはずである。さらに、アルファ・コードワード720、アルファ修正コードワード730、およびカラー修正コードワード750の対応するサイズは、それぞれ6ビット、4ビット、および4ビットであるものと仮定する。このカラー・コードワードが3つの6ビットのカラー成分を含む場合には、この画像ブロックの符号化された表現700の全体サイズは、64ビットであり、8bppの圧縮レートが得られる。
図5は、図1のカラー決定ステップの他の実施形態を示す流れ図である。この方法は、図1のステップS1から継続される。次のステップS20において、第1および第2のカラー・サブコードワードが決定される。これらの第1および第2のサブコードワードは、この画像ブロック中のこれらの画像エレメントのカラーの表現であり、それぞれこのブロック中のこれらの画像エレメントの第1および第2の部分の表現であることが好ましい。
図4に従うカラー処理は、同様なクロミナンス(色調(color hue))であるが、異なる輝度の画像エレメントを有する画像ブロックを圧縮するのに特に適しており、クロミナンス成分よりも輝度成分をより良好に保持する。図5に従うカラー処理は、画像ブロックを圧縮するためにとりわけ効果的であり、この画像ブロックのこれらの画像エレメントは、このカラー空間において2つのクラスタに分布させられる。さらに、図4において使用されるカラー・テーブルは、非ゼロのカラー修正子しか含まないものと仮定する。このような場合には、図4のカラー処理は、このカラー・コードワードがすべての画像エレメントについての所望のカラーを正確に表現する場合の画像ブロックを圧縮するためには特に適してはいない。すべてのカラー修正子は非ゼロ値を有するので、この所望のカラーは、カラー修正子値が画像エレメントごとにこのカラー表現に対して追加されるべきときに復号化中に取得することができない。しかし、図5のカラー処理においては、これら2つのカラー・サブコードワードのうちの少なくとも一方は、この所望のカラーを正確に表現することができ、この画像ブロックのより正確な圧縮表現を可能にする。
これら2つのカラー・サブコードワードのうちの一方を指し示す、若しくはこの一方に関連するカラー・インデックスが、次のステップS21において選択される。第1の実施形態においては、このブロック中の各画像エレメントは、各カラー・インデックスに関連づけられる。しかし、本発明の好ましい一実施形態においては、結果として生ずるより小さな全体サイズのこの圧縮されたブロック表現、すなわちこのブロック中におけるこれらの画像エレメントの部分集合が、この第1または第2のサブコードワードから選択されたあらかじめ定義されたカラー・サブコードワードに関連づけられる。結果として、カラー・インデックスの選択も割当ても、この(これらの)1つ(または複数)の画像エレメントについて実施される必要がない。例えば、この最初の(最後の)画像エレメントは、常にこの第1の(または第2の)カラー・サブコードワードに関連づけることができる。この場合には、このカラー・インデックス・シーケンスは、この最初の(最後の)画像エレメントについてのカラー・インデックスを含む必要はない。結果として、このシーケンスは、全体として8つの画像エレメントを有する画像ブロックの場合に7つのカラー・インデックスしか含まないことになる。本発明によれば、複数の画像エレメントをカラー・サブコードワードにあらかじめ関連づけることができることが予想される。
ステップS21は、カラー・インデックスを生成すべき、このブロックのすべての画像エレメントについて反復されることが好ましく、これについては、線L4によって概略的に示されている。次いでこの方法は、図5のステップS3へと続く。
このカラー管理およびコードワード生成のこの実施形態を使用して圧縮された画像ブロック700が、図3Cに示されている。この表現700は、アルファ・コードワード720と、アルファ修正コードワード730と、アルファ修正子インデックス・シーケンス740とに追加して、第1のカラー・サブコードワード710Aおよび第2のカラー・サブコードワード710Bを含むカラー・コードワードと、カラー・インデックス(好ましくはこのブロック中の画像エレメントの単なる部分集合についての1つの輝度インデックス)のシーケンスまたはビットマップ770とを含んでいる。この圧縮された画像ブロック700についての第1のカラー・サブコードワード710Aと、第2のカラー・サブコードワード710Bと、アルファ・コードワード720と、アルファ修正コードワード730と、カラー・インデックス・シーケンス770と、アルファ修正子インデックス・シーケンス740との相互の順序は、この図に示されるものとは異なることもあることに留意されたい。またこのコードワード・シーケンスとインデックス・シーケンスは、連続的に配置される必要はないことにも留意されたい。
図5において決定される2つのカラー・サブコードワードは、まず平均カラーを決定することにより生成する、若しくはこの画像ブロック中のこれらの画像エレメントの重心が決定される。その後に、このカラー空間中の平均カラー・ポイントを通過する最適な線が計算される。この最適な線は、当業者にはよく知られている主成分分析(principal component analysis)を使用して決定することができる。簡潔に言えば、この最適な線は、直線が「慣性モーメント」(平均二乗誤差)を最小にするようにこの平均カラー・ポイントを通過する、カラー空間中のこの直線として選択される。この線上の2点がカラー・サブコードワードとして選択され、量子化され、使用される。第1の実施形態においては、この画像エレメント・カラーのこの最適な線への投影の分散が計算される。この平均カラー・ポイントからの分散の約4分の3の距離にある線上の2点が識別される。次いで(一方が、この線に沿った平均カラー・ポイントのいずれかの側にある)これらの選択された2点のカラー成分が、量子化される。次いでこれらの量子化された値が、カラー・サブコードワードとして使用される。
このカラー・サブコードワード決定の代替実装形態において、このブロック中のこれらの画像エレメントのカラー値が量子化される。次いで、全数探索(exhaustive search)が、これらの量子化されたカラー値の間で実施される。この探索の結果は、これらの2つの選択されたカラー値をこのブロックについてのカラー・サブコードワードとして使用することに関連するエラー値を最小にする2つの量子化されたカラー値となる(しかし、これらの2つのカラー値は等しくなり得ることに留意されたい)。次いでこれらの2つの最適な量子化カラー値は、カラー・サブコードワードとして直接に使用することができる。しかし、オプションとしては、適切なサブコードワードの全数探索は、選択された各カラー値からのあらかじめ定義された距離の範囲内にあるこれらのカラー・ポイントの間で実施される。この探索で見出される(関連するエラー値を最小にする意味での)これらの最適な量子化されたカラー値は、カラー・サブコードワードとして使用される。
図5のカラー処理の拡張では、この第1および第2のカラー・サブコードワードは、例えば前述の実施形態のうちの1つに従ってステップS20において決定される。しかしこの実施形態においては、少なくとも3つのカラー表現をこれらの2つのカラー・サブコードワードを使用して生成することができる。このような場合には、第1のカラー表現は、この第1のカラー・サブコードワードを拡張することにより生成することができ、第2のカラーは、この第2のカラー・サブコードワードを拡張することにより生成され、少なくとも1つの第3のカラー表現は、この第1および第2のカラー・サブコードワードの一次結合を拡張することにより生成される。かかる一次結合は、w×第1のサブコードワード+(1−w)×第2のサブコードワードとなる可能性があり、式中では0<w<1である。
これらの2つのカラー・サブコードワードは、一般的に両方共に同じサイズであることに留意されたい。しかし、本発明は、それだけに限定されるものではない。例えば、この第1のカラー・サブコードワードは、この第2のサブコードワードよりも高い分解能で表現することができ、その結果、この第1のカラー・サブコードワードは、この第2のカラー・サブコードワードに比べてより多くのビットを含んでいる。
図4および5に開示されたこれらの2つの異なるカラー処理は、2つの使用可能な圧縮モードと見なすことができる。したがって、この第1の圧縮モードに従った、すなわち図1および4に従った画像ブロックの圧縮は、図3Bの圧縮されたブロック表現をもたらすのに対して、この第2のモードに従った、すなわち図1および5に従ったこのブロックの圧縮は、図3Cの圧縮されたブロックをもたらす。次いで、所与のアルファ画像のこれらの画像ブロックのうちの一部をこの第1の圧縮モードに従って圧縮し、この画像の他のブロックをこの第2の圧縮モードに従って圧縮することが有利になり得る。このような場合には、この結果として生ずる符号化された画像中のこれらのブロックの一部分は、一般的に図3Bに従うはずであり、この場合にはこれらの残りのブロックは、図3Cに従うはずである。
この2つの異なる圧縮モードの使用により、これらの画像ブロックの個別の特性によりよく適合させることを可能にすることによって、この符号化方法に対する柔軟性がもたらされる。これらの2つの異なる圧縮モードの間でブロックごとに選択を行う結果として、この処理されたアルファ画像の画像品質は、単一の(固定された)符号化しかもたない従来技術の符号化スキームに比べて改善される。
所与の画像ブロックについてこれらの2つの動作モードのうちのどちらを使用するかを決定するために、このブロックを両方の圧縮モードに従って圧縮することができる。その後に、使用するこの圧縮モードおよび圧縮されたブロック表現が、これらの2つの符号化されたブロックに関連するエラー表現の比較に基づいて選択されることが好ましい。これらのエラー表現は、この第1または第2のモードに従ってこの画像ブロックを圧縮することに関連する画像品質表現を示す尺度である。それ故に、この最小のエラー表現をもたらす、若しくはこの表現に関連する圧縮モードおよび圧縮された画像ブロックが選択されることになる。
このエラー表現の生成は、基本的にこの第1の圧縮モードに従って圧縮された画像ブロック表現(図3Bにおける700)を使用してこの画像ブロックの第1の伸張された、または復号化された表現を生成することを含んでいる。それに対応して、この画像ブロックの第2の伸張された表現が、この第2の圧縮モードに従って圧縮された画像ブロック表現(図3Cにおける700)を使用して生成される。このブロックを伸張するプロシージャについては、この復号化を考察する際に、以下でより詳細に説明することにする。
この第1および第2の伸張されたブロック表現を有するこの元の画像ブロックを表現することを示すエラー値が、計算される。
Figure 0004444968
が、この元の(未処理の)画像ブロック中の画像エレメントiの赤色(緑色、青色)カラー成分の値を示し、
Figure 0004444968
が、この第1の伸張されたブロック表現における画像エレメントiのこの対応する結果として生じる赤色(緑色、青色)カラー成分を示すものとする。この場合には、このエラー値は、
Figure 0004444968
として計算することができ、式中でNは、このブロック中の画像エレメントの総数である。オプションとして、成分特有の重みwR、wG、wBを式(3)中で使用することができる。対応するエラー値が、この第2の圧縮されたブロックおよび圧縮モードについても計算される。次いで、これらの2つの結果として生じるエラー値が比較され、この最小のエラー値が識別される。この識別されたエラー値に関連する圧縮モードおよび圧縮されたブロックがこの現行のブロックのために使用されることになる。
代わりに、圧縮モードの選択が、画像ブロックの実際の処理(圧縮)に先立って実施されることもある。結果として、1つの圧縮されたブロック表現しか画像ブロック当たりについて生成される必要がなくなる。この早期モード選択は、このブロック中のこれらの画像エレメントの特性の調査に基づいて行われることが好ましい。好ましい一実施形態においては、この選択は、この関連したカラー空間中におけるこれらの画像エレメントのカラーの分布に少なくとも部分的に基づいている。
上記において述べられているように、これらの2つの圧縮モードは、少し異なる画像ブロックについて適合化される。例えば、第1の圧縮モードは、このブロック中のこれらの画像エレメントのカラーが次式の線上、あるいは少なくとも近接しているときに使用するのに非常に適している。すなわち、
Figure 0004444968
であり、式中で
Figure 0004444968
は、このブロック中のこれらの画像エレメントの平均カラーであり、t∈[−∞,∞]である。したがって、この第1の圧縮モードは、この画像ブロックのこれらの画像エレメントが、この平均カラー・ポイントを通過し、これらのRG−平面、RB−平面、およびGB−平面中の一枚の平面の傾きを有する線(4)上、またはこの線に近接している画像ブロックを圧縮するのに適している。しかし、この画像ブロックが、以上で識別された線から離れ、特に2つのクラスタにグループ分けされたカラー値を有する画像エレメントを含んでいる場合には、この第2の圧縮モードが、より適している。
このカラー値分布に基づいた識別は、図5に関連して説明された最適な線と平行なベクトル(v1)を、前述の線(4)と平行なベクトル(v2)と比較することによって実現することができる。これら2つのベクトルの間の角度(θ)が、しきい値角(φ)よりも小さい場合、すなわち
Figure 0004444968
が成立する場合、第1の圧縮モードが選択され、そうでない場合には第2のモードが選択される。使用する圧縮モードが選択された後に、この現行の画像ブロックは、この選択されたモードに従って圧縮される。
どの圧縮モードが所与の画像ブロックについて使用されているか、この伸張中にどちらが重要であるかについての識別を可能にするために、図3Bおよび3Cにおける圧縮された画像ブロック表現700は、モード・インデックスを含めることが可能である。このモード・インデックスは、0bin(1bin)が、図3B(図3C)による圧縮されたブロック表現について使用される場合には、1ビットのインデックスとすることができる。ビット数を考慮した図3Bにおける圧縮されたブロック700の全体サイズが、このモード・インデックスの追加と共に同じに留まる場合には、例えばアルファ・コードワード720のサイズは1ビットだけ削減することができ、それ故に、今では5ビットであることが好ましい。
本発明の好ましい一実施形態においては、この結果として生じる圧縮ブロック表現のサイズ(ビット数)は、使用される圧縮モードに関係なく同じである。このような場合には、図3Cにおけるこの圧縮ブロック表現の全体サイズは、やはり64ビットであることが好ましい。これについては、1ビット・モード・インデックス、2つの15ビット・カラー・サブコードワード710A、710B、6ビット・アルファ・コードワード720、4ビット・アルファ修正コードワード730、7ビット・カラー・インデックス・シーケンス(第1のカラー・サブコードワード710Aに関連してあらかじめ定義された、このブロック中の第1の画像エレメントを除く画像エレメントごとに1つの1ビット・カラー・インデックス)および16ビット・アルファ修正子インデックス・シーケンス740を使用することによって取得することができる。
ほとんどのアルファ画像の(圧倒的)大多数の画像ブロックは、この第1および第2のモードの間での選択を使用するときにこの第1の圧縮モードに従って圧縮されることになることが予想される。これらの2つのモードの前述の好ましい実装形態においては、両方のモードは、これらの画像ブロックを圧縮するために使用することができる63ビットの「有用な」ビットにアクセスする。次いで、残りの単一ビットがモード・インデックスとして使用される。本発明の一代替実施形態においては、単一ビット以外の異なる種類のモード・インデックスが使用される。次いでこのモード・インデックスは、これらの2つの圧縮モードに対する異なる量の割り付けられた「有用な」ビットを可能にすることになるが、依然としてこの圧縮された画像ブロックの全体サイズを保持する。
この実施形態においては、この単一モード・ビットは省略され、これによって1ビットが自由になる。このカラー・テーブルの入力は、これらの2つのモードの間を識別するために使用されることになる。その結果として、これらのカラー・テーブル入力の一部分だけが、例えばこれらの16個の入力のうちの12個が、カラー修正子の集合として使用されることになる。これらの残りの(4個の)テーブル入力は、第2の圧縮モードを信号で伝えるモード・インデックスである。例えば、0001bin−0011bin、0101bin−0111bin、1001bin−1011bin、および1101bin−1111binの4ビットワードは、この第1の圧縮モードを使用すべきカラー修正子コードワードおよび信号を表すことが可能である。したがって、この第1の圧縮モードにおいては、このモード・インデックスとこのカラー修正子コードワードは、これらの同じ4ビットを共用する。
この実施形態においては、修正されたカラー・テーブルは、この第1のモードにおける画像ブロックの輝度分解能を高めるために使用することができる。一見したところでは、この第1のモードの分解能の向上は、この第2の圧縮モードについての3つのあまり有用でないビット(この単一モード・ビットを省略することに起因した1つの特別な有用なビット以外の、モード・インデックスによる4つのあまり有用でないビット、0000bin、01000bin、1000bin、または1100bin)を代償としてもたらされる。しかし、この提案された「モード2」−特有のモード・インデックスについて注意深く調査することにより、本発明者等は、これらの2つのLSBが、これらのモード・インデックスのすべてについて同一である(00bin)ことに気が付いている。その結果、これらの2つのMSBは、「有用な」データ、例えばカラー・サブコードワード、アルファ・コードワード、アルファ修正コードワード、カラー・インデックス、またはアルファ修正子インデックス・データを表現するために使用することができる。結果として、この第1の圧縮モードについての特別な1ビットの増強は、この第2の圧縮モードについてのあまり有用でない1つのビットを代償としてのみもたらされる。この単一のビットは、この第2のカラー・サブコードワードから取得されることが好ましく、この第2のサブコードワードの青色カラー成分から取得されることがより好ましい。
図6は、アルファ・コードワードを決定するステップと、アルファ修正コードワードを決定するステップと、図1のアルファ修正子インデックスを選択するステップとをさらに詳細に示す流れ図である。この方法は、図1のステップS2から継続される。次のステップS30において、この画像ブロック中のこれらの画像エレメントの平均アルファ値が決定される。以降では、画像エレメントのアルファ値は、8ビットで表現される、すなわち0から255までとなる可能性があることが仮定される。次いでこの平均アルファ
Figure 0004444968
は、
Figure 0004444968
の式のように決定され、式中でαiは、画像エレメントiのアルファ値であり、Nは、この画像ブロック中における画像エレメントの総数である。
この平均アルファ値
Figure 0004444968
がステップS30において決定された後に、次のステップS31は、この平均カラーをこの実施形態におけるアルファ・コードワードとして使用されることになる量子化されたアルファ値へと量子化する。この量子化されたアルファ値のサイズは、例えば3ビット、4ビットにすることができ、あるいは5ビットまたは6ビットにすることができることが好ましい。
次のステップS32は、このアルファ・テーブルの異なるアルファ修正子の集合とこれらの集合の異なるアルファ修正子値を調べて、かかる修正子の集合および修正子値テストごとにエラー値を計算する。これらのエラー値に基づいて、修正子の集合、および最小のエラー値をもたらす集合のアルファ修正子値が、ステップS32において選択される。次いでこの方法は、図1におけるステップS2へと続く、あるいは終了する。
<復号化>
図7は、本発明による、符号化された画像、または元の画像の符号化されたバージョンを復号化する方法の流れ図を示している。この符号化された画像は、基本的に図3A、3Bまたは3Cの表現700など、画像ブロックのいくつかの符号化された表現を含んでいる。これらの符号化されたブロック表現は、図1に関して以上で考察した画像符号化方法によって生成されることが好ましい。
この方法は、一般に復号化する1つ(または複数)の符号化された画像ブロックを識別することによって、開始される。符号化された画像のすべての符号化された画像ブロックを復号化して、この元の画像の復号化された表現を生成すべきことも可能になり得る。代わりに、この元の画像の一部分しかアクセスされないこともある。結果として、選択された画像ブロック数しか復号化する必要がなくなる(あるいはより詳細には、ある種の画像ブロックの選択された画像エレメントの量だけを復号化する必要がある)。
正しい符号化画像ブロックが識別された後に、ステップS40は、アルファ修正子の集合を提供する。この修正子の集合は、この圧縮されたブロック表現中のアルファ修正コードワードに基づいて提供される。この集合の準備は、アルファ修正コードワードを用いて複数の修正子の集合を含むテーブル、例えば以上のテーブル1から、アルファ修正子の集合を識別することによって実施されることが好ましい。しかし、一部のアプリケーションにおいては、このアルファ修正コードワードそれ自体が、この修正子の集合を含み、テーブル・ルックアップが必要とされないことが可能なこともある。
次のステップS41において、カラー表現が、この画像ブロックのこれらの画像エレメントの少なくとも1つについて(すなわち、復号化されるべき1つ(または複数)の画像エレメントについて)生成される。このカラー生成は、この圧縮されたブロック中のカラー・コードワードに基づいて実施される。
以降のステップS42は、この少なくとも1つの画像エレメントについてのアルファ表現をアルファ・コードワードに基づいて生成する。ステップS43において、復号化すべきこの画像エレメントについて使用するためのアルファ修正子が選択される。この修正子値は、ステップS40においてこの画像エレメントに関連するアルファ修正子インデックスに基づいて提供されるこの修正子の集合から選択され、この圧縮されたブロック表現のアルファ修正子インデックス・シーケンス中で見出される。この正しい輝度修正子値がステップS43において選択された後に、この画像エレメントのアルファ表現は、ステップS44においてこの値を用いて修正、または変調される。本発明によるアルファ修正とは、このアルファ修正子値によってこのアルファ表現を修正すること、例えば加算または乗算すること、を意味する。
ステップS42からS44は、この画像ブロック中のいくつかの画像エレメントについて実施することができる(線L5によって概略的に示されている)。一部のアプリケーションにおいては、単一の画像エレメントしか特定の画像ブロックからは復号化されず、特定の画像ブロックのうちの複数の画像エレメントが復号化、および/または特定のブロック中のすべての画像エレメントが復号化されることが、本発明によって予想される。
次いで、ステップS40からS44は、復号化すべき画像エレメントを含むすべての画像ブロックについて反復されることが好ましい(線L6によって概略的に示されている)。これは、ステップS40からS44のループを一度だけしか実施しないことも可能であるが、異なる符号化画像ブロックについてほとんどの場合には数回実施し、および/または特定の符号化画像ブロックについては数回実施することが可能であることを意味する。
オプションとしてのステップS45において、この元の画像の復号化された表現、またはその一部分がこの復号化された画像エレメントおよび画像ブロックに基づいて生成される。一部のアプリケーションにおいては、いくつかの画像エレメントを復号化して、この復号化された表現の単一のピクセル、テクセル、またはボクセルをレンダリングする必要があることに留意されたい。例えば、トリリニア補間(trilinear interpolation)中には、8個の画像エレメントが復号化され、またバイリニア補間(bilinear interpolation)では、この対応する数は、4個の画像エレメントである。次いでこの方法は終了する。
図8は、図7のカラー表現生成ステップの一実施形態を示す流れ図である。このカラー復号化の実施形態は、第1の復号化モードまたは伸張モードを表し、この第1の圧縮モードに従って圧縮された画像ブロック(図3B参照)を伸張するために特に適用可能である。この方法は、図7中のステップS40から継続される。次のステップS50において、好ましくは15、16、または18ビットのこのカラー・コードワードの量子化されたカラーが、好ましくは24ビットへと拡張または拡大される。RGBカラーを伴う場合については、次いでこのカラー・コードワードの各量子化された5ビットまたは6ビットのカラー成分が、8ビットのカラー成分へと拡張される。換言すれば、10110binの5ビットのカラー成分が、1011 0101binへと拡張される。次いでこの拡張されたカラーが、この復号化すべき画像ブロックのこれらの画像エレメントに対して割り当てられる。
以降のステップS51においては、正しいカラー修正子の集合が、このカラー修正コードワードを用いて、このカラー・テーブル(専用のカラー・テーブルまたは共通のカラーおよびアルファのテーブル)から識別され、選択される。共通の修正コードワードがカラーについてもアルファについても使用される場合には、この共通のコードワードは、この正しいカラー修正子の集合を識別するために使用されることになる。このカラー・テーブル中に記憶されるカラー修正子の集合が、この修正子値の第1の部分集合、例えば[a,b]を含む場合、カラー修正子値の第2の部分集合は、この第1の部分集合の値から、例えば[−a,−b]などのように決定することができる。ステップS52において、この識別され、選択されたカラー修正子値は、この拡張されたカラーに加えられる。したがって、この修正子値は、この画像エレメントについてのこのカラーのすべての成分(RGBカラーについてはすべての3成分、またはグレー・レベル・カラーについてはこの単一成分)に追加される。これは、すべてのカラー成分に対するこの修正子値の単なる加算として実装することができる。しかし、一部のアプリケーションにおいては、これらの成分にそれを加算する前にこの修正子値に重み付けを行うことが好ましい可能性もある。このような場合には、異なるカラー成分について異なる重みを使用することができる。一代替実施形態においては、単なる加算以外の他のタイプの修正、例えば乗算またはXORを使用することができる。
次のオプションとしてのステップS53においては、この結果生ずる修正されたカラー成分値は、最小カラーしきい値と最大カラーしきい値の間でクランプされる。例えば、この(たぶん重み付けされた)カラー修正子値をカラー成分に加えた後に、この結果として生ずる値が、この最小しきい値よりも小さい場合、この値は、このしきい値の値へとクランプされる。これに対応して、この結果として生ずる値がこの最大しきい値よりも大きい場合には、このしきい値の値がその代わりにこの成分について使用されるべきである。非限定的な最小しきい値および最大しきい値の実施例は、256のカラー成分レベルを有する場合についてそれぞれ0および255である。これらのステップS50からS53は、復号化すべきこの圧縮されたブロックの符号化された画像エレメントについて反復されることが好ましく、これについては、線L7によって概略的に示されている。次いで、この方法は、図7のステップS42へと続く。
図9は、図7のカラー表現生成ステップの他の実施形態を示す流れ図である。このカラー復号化の実施形態は、第2の復号化モードまたは伸張モードを表し、特にこの第2の圧縮モードに従って圧縮された画像ブロック(図3C参照)を伸張するために適用可能である。この方法は、図7のステップS40から継続される。次のステップS60において、カラー・サブコードワードは、この関連した画像エレメントに関連するカラー・インデックスを使用してこの第1または第2のカラー・サブコードワードから選択され、このカラー・インデックス・シーケンス中において見出される。しかし、この関連した画像エレメントが、関連するカラー・インデックスをもたないが、その代わりにあらかじめ定義された関連するカラー・サブコードワードを有する画像エレメントの部分集合に属する場合、このあらかじめ定義されたカラー・サブコードワードは、ステップS60において識別される。次のステップS61において、この画像エレメントについてのカラー表現は、選択またはあらかじめ定義されたカラー・コードワードを使用して、この選択されたカラー・サブコードワードの量子化されたカラーを拡張することにより生成される。このカラー拡張は、ステップS50と同様なものである。これらのステップS60およびS61は、この画像ブロック中のいくつかの画像エレメントについて実施することができる(線L8によって概略的に示されている)。
代わりに、特に圧縮されたブロック表現における複数の画像エレメントを伸張するときには、第1のカラー表現がこの第1のカラー・サブコードワードを使用して生成され、第2の対応するカラー表現が、この第2のカラー・サブコードワード、またはこの第1のサブコードワードと第2のサブコードワードの組合せを使用して生成されることもある。次いでこれらの画像エレメントについての選択が、これらのカラー・インデックスを使用してこの第1のカラー表現と第2のカラー表現との間で実施され、あるいはこの第1のカラー表現と第2のカラー表現のうちの一方が、このブロック中のこれらの画像エレメントのうちの1つまたは一部の画像エレメントにあらかじめ関連づけられている。
次いでこの方法は、図7のステップS42へと続く。
現行の画像ブロックのために使用する関連した伸張モードは、この圧縮された画像ブロック表現に含まれる専用のモード・インデックスに基づいて決定されることが好ましい。その代わりに、このカラー修正コードワードまたはこのカラー修正コードワードの一部のビットがモード・インデックスとして使用される場合には、次いでこれらのビットは、この画像ブロックのカラー表現を生成する前に調べられる。
図10は、図7のアルファ表現を生成するステップと、アルファ修正子を選択するステップと、アルファ表現を修正するステップとを示す流れ図である。この方法は、図7中のステップS41から継続される。次のステップS70においては、このアルファ・コードワードの好ましくは5ビットまたは6ビットの量子化されたアルファ値は、好ましくは8ビットに拡張または拡大される。次いでこの拡張されたアルファ値は、この画像ブロックのこれらの画像エレメントに対して割り当てられ、これらの画像エレメントが復号化されることになる。
以降のステップS71において、正しいアルファ修正子の集合が、このアルファ修正コードワードを用いてこのアルファ・テーブル(専用のアルファ・テーブルまたは共通のアルファおよびカラー・テーブル)から識別され、選択される。共通の修正コードワードがアルファについてもカラーについても使用される場合には、この共通のコードワードは、この正しいアルファ修正子の集合を識別するために使用されることになる。このアルファ・テーブル中に記憶されるアルファ修正子の集合が、この修正子値の第1の部分集合、例えば[a,b]を含む場合、カラー修正子値の第2の部分集合は、この第1の部分集合の値から、例えば[−a,−b]などのように決定することができる。ステップS72において、この識別され、選択されたアルファ修正子値は、この拡張されたアルファ値に加えられる。これは、このアルファ値に対するこの修正子値の単なる加算として実装することができる。一代替実施形態においては、単なる加算以外の他のタイプの修正、例えば乗算またはXORを使用することができる。
次のオプションとしてのステップS73においては、この結果生ずる修正されたアルファ値は、最小アルファしきい値と最大アルファしきい値の間でクランプされる。例えば、このアルファ修正子値をこのアルファ表現に加えた後に、この結果として生ずる値が、この最小しきい値よりも小さい場合、この値は、このしきい値の値へとクランプされる。これに対応して、この結果として生ずる値がこの最大しきい値よりも大きい場合には、このしきい値の値がその代わりにこの成分について使用されるべきである。非限定的な最小しきい値および最大しきい値の実施例は、256のアルファ・レベルを有する場合についてそれぞれ0および255である。これらのステップS70からS73は、復号化すべきこの圧縮されたブロックの符号化された画像エレメントについて反復されることが好ましく、これについては、線L9によって概略的に示されている。次いで、この方法は、図7のステップS40またはS45へと続く。
符号化された画像ブロックを復号化することについては、本明細書中において以下で3つの実施例によってさらに示している。テーブル1によるアルファ・テーブルが使用されることになる。
<復号化の実施例1>
この画像ブロックの符号化された表現は、図3Aに従い、以下のデータ・ビット101001 101100 0111 11 01 10 00 10 01 00 00binを含んでおり、ここで、このビット0〜5は、カラー・コードワードであり、ビット6〜11はアルファ・コードワードであり、ビット12〜15はアルファ修正コードワードであり、ビット16〜31は、アルファ修正子インデックスのシーケンスである。この復号化の実施例1において、この画像ブロックの元のカラーはグレー・レベルである。
次いでこのカラー・コードワードは、復号化されて(拡張されて)、この画像ブロックのカラー表現を生成する。この6ビットのビット・パターンは、8ビットのワードを生成するために反復される。この8ビットのワードは、その6つのMSBとしてこのカラー・コードワードを含み、その2つのLSBとしてこのカラー・コードワードの2つのMSBを含むことになる。すなわち、以下となる。
カラー表現: 10100110bin⇔166
この拡張されたカラーは、以下の
Figure 0004444968
を与えるこれらの画像ブロックの画像エレメントに割り当てられる。
この(6ビットの)アルファ・コードワードは、同様にして(8ビットの)アルファ表現、すなわち
アルファ表現: 10110010bin⇔178
へと復号化(拡張)される。
この生成されたアルファ値は、
Figure 0004444968
を与えるこれらの画像ブロックの画像エレメントに割り当てられる。この使用する正しいアルファ修正子の集合は、この輝度コードワードに基づいてテーブル1から選択される。テーブル1から分かるように、0111binのアルファ修正コードワードは、アルファ修正子[−127,−42,42,127]に対応する。
アルファ修正子インデックスのシーケンスは、
Figure 0004444968
に従って、この異なる画像エレメントについてこれらの4つの修正子値のうちのどれを使用するかを識別することを可能にする。
この第1のアルファ修正子インデックスは、11binであり、これは、この第1のアルファ修正子値、すなわち−127が、アルファ値に対して加えられるべきで、この第1の画像エレメント178−127=51がもたらされることを意味する。この51という値は、0と255の許容可能な区間内にあるので、これについてのクランピングは必要とされない。このプロシージャは、この第2の画像エレメント・インデックス01binを用いて継続され、この01binは127という修正子値に対応する。この値は、178に加えられ、305がもたらされる。次いで、この結果は0と255の間でクランプされ、それによって255が提供される。このブロック中のすべての画像エレメントについてこのプロシージャを反復することにより、以下の
Figure 0004444968
に示される最終的な復号化された画像ブロックが作成されるはずである。
<復号化の実施例2>
この画像ブロックの符号化された表現は、単一モード・インデックスを追加した図3Bに従っており、以下のデータ・ビット0 101001 101100 001100 0111 10011 0010 11 01 10 00 10 01 00 00 10 01 11 00 10 01 11 11binを含んでおり、ここでビット0は、モード・インデックスであり、ビット1〜6は、このカラー・コードワードの赤色成分であり、ビット7〜12は、このカラー・コードワードの緑色成分であり、ビット13〜18は、このカラー・コードワードの青色成分であり、ビット19〜22は、このカラー修正コードワードであり、ビット23〜27は、このアルファ・コードワードであり、ビット28〜31は、このアルファ修正コードワードであり、ビット32〜47は、このカラー修正子インデックス・シーケンスであり、ビット48〜63は、このアルファ修正子インデックス・シーケンスである。0binというモード・ビット値は、この第1の伸張モードが、この現行の圧縮されたブロックについて使用されるべきであることを示す。この実施例においては、テーブル1が、組み合わされたアルファとカラー・テーブルとして使用される。
このカラー・コードワードの各カラー成分は、以下のようにこの復号化の実施例1と同様な8ビットのカラー成分表現へと拡張される。
赤色: 10100110bin⇔166
緑色: 10110010bin⇔178
青色: 00110000bin⇔48
これらの拡張されたカラー成分は、以下の
Figure 0004444968
を与えるこれらの画像ブロックの画像エレメントに対して割り当てられる。
この使用する正しいカラー修正子の集合は、このカラー修正コードワードに基づいてテーブル1から選択される。テーブル1から分かるように、0111binというカラー修正コードワードは、カラー修正子[−127,−42,42,127]に対応する。この第1のカラー修正子インデックスは、11binであり、この11binは、−127を表す(この復号化の実施例1と比較されたい)。このカラー修正子値は、以下の式のようにこの第1の画像エレメントの3つのすべてのカラー成分に加えられる。
Figure 0004444968
次いで結果として生ずる成分が、0と255の間でクランプされ、それによって(39,0,0)が与えられる。これらの残りの画像ブロックについてこのプロシージャを継続することにより、以下に示される部分的に復号化された画像ブロックがもたらされる。
Figure 0004444968
この(5ビットの)アルファ・コードワードは、同様にして(8ビットの)アルファ表現へと復号化される(拡張される)。
アルファ表現: 10011100bin⇔156
この使用する正しいアルファ修正子の集合は、この輝度コードワードに基づいてテーブル1から選択される。テーブル1から分かるように、0010binというアルファ修正コードワードは、アルファ修正子[−31,−6,6,31]に対応する。このアルファ表現156は、このアルファ修正子インデックスを使用して修正される。このアルファ修正は、このカラー修正と同様にして実施される。この最終的な復号化された画像ブロックは、以下のように示される。
Figure 0004444968
<復号化の実施例3>
この画像ブロックの符号化された表現は、単一モード・インデックスを追加した図3Cに従っており、以下のデータ・ビット1 10100 10110 00110 01101 11110 00000 011110 0010 1100100 10 01 11 00 10 01 11 11binを含んでおり、ここでビット0は、モード・インデックスであり、ビット1〜5は、この第1のカラー・サブコードワードの赤色成分であり、ビット6〜10は、この第1のカラー・サブコードワードの緑色成分であり、ビット11〜15は、この第1のカラー・サブコードワードの青色成分であり、ビット16〜20は、この第2のカラー・サブコードワードの赤色成分であり、ビット21〜25は、この第2のカラー・サブコードワードの緑色成分であり、ビット26〜30は、この第2のカラー・サブコードワードの青色成分であり、ビット31〜36は、このアルファ・コードワードであり、ビット37〜40は、このアルファ修正コードワードであり、ビット41〜47は、このカラー・インデックス・シーケンスであり、ビット48〜63は、このアルファ修正子インデックス・シーケンスである。この1binというモード・ビット値は、この第2の伸張モードが、この現行の圧縮されたブロックについて使用されるべきであることを示す。
このカラー・サブコードワードは、復号化されて(拡張されて)、これら2つのカラー表現を生成する。このカラー・サブコードワード中の各カラー成分は、以下のように8ビットへと拡張される。
第1のカラー表現 第2のカラー表現
赤色: 10100101bin⇔165 赤色: 01101011bin⇔107
緑色: 10110101bin⇔181 緑色: 11110111bin⇔247
青色: 00110001bin⇔49 青色: 00000000bin⇔0
この第1の画像エレメントは、この実施例中において常にこの第1のカラー・サブコードワードおよび表現に関連づけられ、したがってカラー(165,181,49)が割り当てられる。この第2の画像エレメントについてのカラー・インデックスは、1binであり、これは、この第2のカラー表現(107,247,0)がこの画像エレメントに割り当てられるべきことを意味している。このプロシージャを継続することにより、以下の部分的に伸張されたブロック表現がもたらされる。
Figure 0004444968
この(6ビットの)アルファ・コードワードは、同様にして(8ビットの)アルファ表現へと復号化される(拡張される)。
アルファ表現: 01111001bin⇔121
この使用する正しいアルファ修正子の集合は、この輝度コードワードに基づいてテーブル1から選択される。テーブル1から分かるように、0010binというアルファ修正コードワードは、アルファ修正子[−31,−6,6,31]に対応する。このアルファ表現121は、このアルファ修正子インデックスを使用して修正される。このアルファ修正は、このカラー修正と同様にして実施される。この最終的な復号化された画像ブロックは、以下のように示される。
Figure 0004444968
<実装形態の考察>
本発明によるこの画像符号化(画像ブロック符号化)と画像復号化(画像ブロック復号化)のスキームは、一般的なデータ処理システム中において、例えば画像を処理、および/またはレンダリングするように構成されたユーザ端末または他のユニット中において実現することができる。かかる端末は、PDA(Personal Digital Assistance携帯型個人情報端末)、移動ユニット、移動電話など、コンピュータまたはシン・クライアント(thin client)とすることが可能である。本発明による符号化も復号化も共に、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組合せの形で非常に簡単に実装することができるので、本発明は、利点を有するようにシン・クライアントに適用することができる。
<画像処理端末>
図11は、移動ユニットによって代表される画像処理端末100を示している。しかし、本発明は、移動ユニットだけには限定されず、他の端末およびデータ処理ユニットの形で実装することもできる。本発明に直接に関与する移動ユニット100中の手段およびエレメントしか、この図には示されてはいない。
移動ユニット100は、移動ユニット100の内部の、画像データを含めてデータを処理するためのCPU((central) processing unit(中央)処理装置)200を備える。グラフィック・システム130が、画像およびグラフィック・データを管理するための移動ユニット100中に設けられる。特に、グラフィック・システム130は、接続された画面120または他のディスプレイ・ユニット上に画像をレンダリングまたは表示するようになっている。移動ユニット100は、そこにデータを記憶するためのストレージまたはメモリ140も備える。このメモリ140には、画像データ、とりわけ本発明による符号化された画像データ(圧縮された画像ブロック)を記憶することができる。
本発明による画像エンコーダ210が、移動ユニット100中に設けられる。このエンコーダ210は、画像またはテクスチャをこの画像(またはテクスチャ)の符号化された表現へと符号化するように構成される。前述のように、このような符号化された表現は、複数の圧縮された画像ブロックのシーケンスまたはファイルを含んでいる。この画像エンコーダ210は、この図に示されるようにCPU200上で実行されるソフトウェアとしても実現することができる。代わりにまたは追加して、エンコーダ210は、グラフィック・システム130中に、または移動ユニット100中の他のどこかに配置することができる。
ブロック・エンコーダ210からの画像の符号化された表現は、その後にこの画像をレンダリングするまでそこに記憶するために、(メモリ)バス150上でメモリ140に供給することができる。代わりにまたは追加して、この符号化された画像データは、他の外部端末または外部ユニットに(無線または有線)伝送するためにI/O(input and output入出力)ユニット110へと転送することもできる。このI/Oユニット110は、外部ユニットから画像データを受信するようになっている可能性もある。この画像データは、画像エンコーダ210によって符号化すべき画像、または復号化すべき符号化された画像データである可能性がある。また例えばグラフィック・システム130中に設けられた専用のテクスチャ・メモリにこの符号化された画像表現を記憶することも可能とすることができる。さらに、この符号化された画像の一部分は、またあるいは代わりに例えばグラフィック・システム130中の(テクスチャ)キャッシュ・メモリに(一時的に)記憶することもできる。本発明の(複雑さの観点からの)安価な高速な伸張の大きな利点は、圧縮された画像ブロックが、少なくとも一時的に高速で簡単にアクセスするためのこのキャッシュに記憶することができることである。これは、さらにこの高い圧縮レートによっても容易になり、これにより、非圧縮の(RGBA8888)ブロック・データに比べて4倍もの画像ブロック・データを、このキャッシュに同時に記憶できるようになる。
本発明による画像デコーダ220が、符号化された画像を復号化するために移動ユニット100中に設けられて、復号化された画像表現を生成する。この復号化された表現は、全体の元の画像またはその一部分に対応する可能性がある。画像デコーダ220は、復号化された画像データをグラフィック・システム130に供給し、このグラフィック・システムは、次に一般的には、データが画面120上でレンダリング、または提示される前にこのデータを処理する。画像デコーダ220は、この図に示されるようにグラフィック・システム130中に配置することができる。代わりにまたは追加して、デコーダ200は、CPU200上で、または移動ユニット100中の他のどこかで実行されるソフトウェアとしても実現することができる。
移動ユニット100には、この図に示されるように画像エンコーダ210も画像デコーダ220も共に装備することができる。しかし、一部の端末100では、画像エンコーダ210を含めることしか可能でないこともあり得る。このような場合には、符号化された画像データは、この画像の復号化と、たぶんレンダリングも実施する他の端末へと伝送することができる。これに対応して、端末100は、画像デコーダ220だけしか含まず、すなわちエンコーダを含まないことも可能である。次いでかかる端末100は、他の端末から符号化された画像データを含む信号を受信し、この画像データを復号化して、復号化された画像表現を生成する。このようにして、この符号化された画像信号は、無線のトランスミッタおよびレシーバを使用して端末間を無線により伝送することができる。代わりに、端末間で画像および符号化された画像表現を配信するための、IRポートを使用したIR−技術、ブルートゥース、端末間の画像データの有線転送など、他の技法を使用することもできる。また、端末間で接続し交換することができるメモリ・カードまたはメモリ・チップをこの画像データの端末間配信のために使用することもできる。
移動ユニット100のこれらのユニット110、130、200、210および220は、ソフトウェア、ハードウェアまたはこれらの組合せとして実現されてもよい。
<エンコーダ>
図12は、本発明による画像エンコーダ210の一実施形態のブロック図を示している。エンコーダ210は、一般的に入力画像をいくつかの画像ブロックに分解し、または分割するための画像分解器(image decomposer)215を備える。分解器215は、この画像を8個の画像エレメントを含む画像ブロックに分解するように構成されることが好ましい。分解器215は、異なるサイズを有する画像ブロックに異なる入力画像を分解するようになっている可能性がある。このような場合には、分解器215は、所与の画像についてどの画像ブロック・フォーマットを使用しているかの識別を可能にする入力情報を受信することが好ましい。
画像エンコーダ210は、ブロック・エンコーダ300をさらに備える。このブロック・エンコーダ300は、この画像分解器から受信された1つ(または複数)の画像ブロックを符号化して、1つ(または複数)の符号化されたブロック表現を生成する。このような画像ブロック表現は、少なくともカラー・コードワード、アルファ・コードワード、アルファ修正コードワード、およびアルファ修正子インデックス・シーケンスを含んでいる。このブロック表現の全体サイズは、この符号化されていない画像ブロックの対応するサイズに比べてずっと小さくなっている。ブロック・エンコーダ300は、分解器215からの各画像ブロックを逐次的に処理(符号化)するように構成されることが好ましい。
ブロック・エンコーダ300は、複数のアルファ修正子の集合を含むアルファ・テーブル500を含む、あるいはこれにアクセスできることが好ましい。アルファ・テーブル500のこれらの修正子の集合は、このアルファ修正コードワードの生成のために使用される。アルファ・テーブル500は、ブロック・エンコーダ300、または画像エンコーダ210中の他のどこかに配置することができる。
このアルファ・テーブル500は、専用のアルファ・テーブルまたは共通のアルファおよびカラー・テーブルとすることが可能である。前者の場合には、次いでブロック・エンコーダ300は、カラー・テーブルをさらに含むこともできる。エンコーダ210中にいくつかの異なるテーブルを実装することも可能であり、ここでは、これらのテーブルのアルファ修正子は、異なる画像タイプについて異なるものに適合させられる、あるいは各特定の画像ごとに適合させられる。複数の圧縮モードに従って動作するように構成されるときには、同じアルファ・テーブル500をすべてのモードにおいて使用することもできる。しかし、一部のアプリケーションにおいては、モード・特有のアルファ・テーブル500をその代わりに使用することもできる。
図12の画像エンコーダ210は、1つのブロック・エンコーダ300しか含んでいないが、処理時間の観点からは複数のブロック・エンコーダ300を画像エンコーダ210中に実装することが、もっと有利になる可能性がある。複数のブロック・エンコーダ300を設けることにより、分解器215からの複数の画像ブロックを並列に処理(符号化)することができ、これは、全体の画像符号化時間を減少させる。代わりに、これらのブロック・エンコーダの第1の部分集合をこの第1の圧縮モードに従って画像ブロックを圧縮するために動作させることもでき、これらのエンコーダの残りの部分集合は、この第2の圧縮モードに従って動作させられる。
複数のブロック・エンコーダの場合には、各ブロック・エンコーダ300が、アルファ・テーブル500を含むことが可能である。これらの異なるエンコーダ300中のアルファ・テーブル500は、すべて同じアルファ修正子値を含む可能性がある。代わりに、モード特有のアルファ・テーブルをこれらのエンコーダ300によって使用することもできる。一代替実装形態においては、1つのアルファ・テーブル500が、画像エンコーダ210中に配置され、すべてのブロック・エンコーダ300に接続されている。
画像エンコーダ210のこれらのユニット215および300は、ソフトウェア、ハードウェア、またはこれらの組合せとして実現されてもよい。これらのユニット215、300および500は、画像エンコーダ210中で一緒に実装することもできる。代わりにまた、分散された実装形態が、このユーザ端末中の他のどこかに設けられた一部のこれらのユニットを用いても可能になる。
図13は、図12中の画像エンコーダのブロック・エンコーダなど、本発明によるブロック・エンコーダ300の一実施形態のブロック図を示している。エンコーダ300は、この画像ブロック中のこれらの画像エレメントのカラーの表現であるカラー・コードワードを生成するカラー量子化器310を備える。アルファ量子化器320は、ブロック・エンコーダ300中に設けられて、このブロック中のこれらの画像エレメントのアルファ値の表現であるアルファ・コードワードを生成する。
アルファ修正子プロバイダ(alpha modifier provider)330は、ブロック・エンコーダ300中に実装されて、現行の画像ブロックのために使用するアルファ修正子の集合を識別する。プロバイダ330は、関連するアルファ・テーブル500からこの修正子の集合を選択するように構成されることが好ましい。次いで、この修正子プロバイダ330は、この選択されたアルファ修正子の集合に関連するアルファ修正子コードワードを生成する。
エンコーダ300は、このブロック中のこれらの画像エレメントについての画像エレメントに関連するアルファ修正子インデックスを選択するインデックス・セレクタ(index selector)340をさらに含んでいる。かかる各アルファ修正子インデックスは、アルファ修正子プロバイダ330によって識別されるアルファ修正子の集合からの1つのアルファ修正子に関連する。
ブロック・エンコーダ300は、コードワードの選択の目的のためのエラー値と、この画像ブロックについての画像エレメントに関連するインデックスを推定するためのエラー推定器(error estimator)350をオプションとして含むことができる。次いで関連するエラー値を最小にするコードワードおよびインデックスの選択肢は、1つ(または複数)の関連した圧縮された画像ブロック・バージョンについて選択される。
ブロック・エンコーダ300のこれらのユニット310から350は、ソフトウェア、ハードウェア、またはこれらの組合せとして実現されてもよい。これらのユニット310から350および500は、ブロック・エンコーダ300中において一緒に実装されてもよい。代わりにこの画像エンコーダ中の他のどこかに設けられる一部のこれらのユニットを用いて、分散実装形態も可能である。
図14は、本発明によるブロック・エンコーダ300の他の実施形態のブロック図を示している。このブロック・エンコーダの実施形態は、前述の2つの圧縮モードに従って動作することが可能である。アルファ量子化器320、アルファ修正子プロバイダ330およびエラー推定器350の動作については、図13を参照して既に説明されており、本明細書中で反復されることはない。
カラー量子化器310は、圧縮すべき画像ブロックについてのカラー・コードワードを決定する。この第1の圧縮モードに従って動作するとき、この決定されたカラー・コードワードは、このブロック中のこれらの画像エレメントのカラーの単一の表現である。しかし、カラー量子化器310が、この第2のモードに従って動作するときには、量子化器310は、第1のカラー・サブコードワードと第2のカラー・サブコードワードとを含むカラー・コードワードを生成する。この場合にはこれらの第1および第2のカラー・サブコードワードは、それぞれこれらの画像エレメントの第1および第2の部分のカラーの表現となる。
カラー修正子プロバイダ360が、ブロック・エンコーダ300中に実装され、この第1の圧縮モード中において使用可能となって、現行の画像ブロックについて使用するカラー修正子の集合を識別する。プロバイダ360は、関連するカラー・テーブル600からこの修正子の集合を選択するように構成されることが好ましい。次いで修正子プロバイダ360は、この選択されたカラー修正子の集合に関連するカラー修正子コードワードを生成する。
この第1のモードにおいて、インデックス・セレクタ340は、このブロック中の画像エレメントごとに、カラー修正子プロバイダ360によって識別されるカラー修正子の集合からカラー修正子を選択する。次いでセレクタ340は、これらの選択されたカラー修正子に関連する各カラー修正子インデックスを生成する。しかし、この第2の圧縮モードに従って動作させられるときには、インデックス・セレクタ340は、このブロック中のこれらの画像エレメントの部分集合中の画像エレメントごとにカラー量子化器310が決定するこれらのカラー・サブコードワードのうちの1つに関連するカラー・インデックスを生成する。これらの画像エレメントの残りの部分集合は、これらのカラー・コードワードのうちの1つとあらかじめ定義された関連付けを有しており、したがってカラー・インデックスを必要とはしない。
このエンコーダの実施形態は、この第1の圧縮モードに従って、またはこの第2の圧縮モードに従って常に動作させられるようにすることが可能である。しかし、このアルファ画像処理に対して柔軟性を実現し、この結果として生ずる圧縮されたアルファ画像の画像品質を高めるためには、ブロック・エンコーダ300は、両方のモードに従って動作できることが好ましい。このような場合には、エンコーダ300は、圧縮すべき画像ブロックごとに圧縮モードを選択する圧縮モード・セレクタ370を含んでいることが好ましい。このセレクタ370は、このブロック中のこれらの画像エレメントの入力カラー値に基づいて(すなわち、このブロックを圧縮する前に)この圧縮モードを選択するように動作させることができる。代わりに、このモード選択は、入力エラー表現または入力圧縮ブロック表現に応じて(すなわち、このブロックの圧縮後または圧縮中に)実施されることもある。この第1のモードおよび第2のモードに従ってこの画像ブロックを圧縮することに関連したこれらの入力エラー表現は、モード・セレクタ370それ自体が生成することも可能であり、またエラー推定器350から受信することも可能である。
モード・セレクタ370は、さらにこの選択された圧縮モードを表す、このブロックについてのモード・インデックスを生成し、このモード・インデックスをこの圧縮された画像ブロック表現に挿入する。このモード表現がこのカラー修正コードワードによって実施される場合には、特別なモード・インデックスをセレクタ370が生成する必要はない。モード・セレクタ370はまた、モードを表す信号またはコマンドを生成し、ブロック・エンコーダ300中の少なくとも一部のユニットに対して転送することが好ましい。次いで、このモード信号は、この第1または第2の圧縮モードに従ってこれらの各ユニットを動作させることになる。
ブロック・エンコーダ300のこれらのユニット310から370は、ソフトウェア、ハードウェア、またはこれらの組合せとして実現されてもよい。これらのユニット310から370、500および600は、ブロック・エンコーダ300中において一緒に実装されてもよい。代わりにまた、分散された実装形態が、この画像エンコーダ中の他のどこかに設けられた一部のこれらのユニットを用いても可能になる。
本発明によるカラー量子化器310の好ましい一実装形態が、図15のブロック図中に示されている。量子化器310は、この画像ブロック中のこれらの画像エレメントのカラーの平均を決定するように構成された手段312を備える。
次いでこの決定された平均カラーは、この平均カラーを直接に量子化し、この量子化された平均カラーに基づいてこのカラー・コードワードを生成することができる量子化手段(quantizing means)314に供給される。代わりにこの量子化手段314またはカラー・アベレージャ(color averager)312は、このカラー空間中における平均カラー・ポイントを通過する最適な線を決定する。次いでこの線上の2点が選択され、量子化器314によって2つのカラー・サブコードワードへと量子化される。この選択する点は、図5に関連した以上の考察に従って決定することができる。
カラー量子化器310のこれらのユニット312および314は、ソフトウェア、ハードウェア、またはこれらの組合せとして実現されてもよい。これらのユニット312および314は、カラー量子化器330中において一緒に実装されてもよい。代わりにまた、分散された実装形態が、このブロック・エンコーダ中の他のどこかに設けられた一部のこれらのユニットを用いても可能になる。
本発明によるアルファ量子化器320の好ましい一実装形態が、図16のブロック図中に示されている。量子化器320は、この画像ブロック中のこれらの画像エレメントのアルファの平均を決定するように構成される手段322を備える。次いでこの平均アルファ値は、量子化手段324に供給され、この量子化手段は、この平均アルファ値を量子化し、この量子化された平均アルファ値からそのアルファ・コードワードを生成する。
アルファ量子化器320のこれらのユニット322および324は、ソフトウェア、ハードウェア、またはこれらの組合せとして実現されてもよい。これらのユニット322および324は、カラー量子化器310中において一緒に実装されてもよい。代わりにまた、分散された実装形態が、このブロック・エンコーダ中の他のどこかに設けられた一部のこれらのユニットを用いても可能になる。
本発明によるインデックス・セレクタ340の好ましい一実装形態が、図17のブロック図に示されている。このインデックス・セレクタ340は、このブロック中の画像エレメントごとにアルファ修正子を選択するためのアルファ修正子セレクタ342を備える。次いでこれらの選択されたアルファ修正子に関連づけられたアルファ修正子インデックスは、生成され、アルファ・インデックス・シーケンスへと組み立てられる。
インデックス・セレクタ340はまた、この第1の圧縮モードにおいて動作させられるカラー修正子セレクタ344を含んでいることが好ましい。アルファ修正子セレクタ342に対応して、このカラー修正子セレクタ344は、このブロック中の画像エレメントごとにカラー修正子を選択する。次いでこれらの選択されたアルファ修正子に関連づけられたカラー修正子インデックスは、生成され、カラー・インデックス・シーケンスへと組み立てられる。
カラー・セレクタ346が、インデックス・セレクタ340中に実装されて、この第2の圧縮モード中においてこの画像ブロックの一部分における画像エレメントごとに、この第1または第2のカラー・サブコードワードに関連づけられたカラー・インデックスを選択することが好ましい。このブロックの残りの部分における1つ(または複数)の画像エレメントには、カラー・インデックスが欠如しており、その代わりにあらかじめ定義されたサブコードワードの関連付けが存在する。
インデックス・セレクタ340のこれらのユニット342から346は、ソフトウェア、ハードウェア、またはこれらの組合せとして実現されてもよい。これらのユニット342から346は、インデックス・セレクタ350中において一緒に実装されてもよい。代わりにまた、分散された実装形態が、このブロック・エンコーダ中の他のどこかに設けられた一部のこれらのユニットを用いても可能になる。
<デコーダ>
図18は、本発明による画像デコーダ220の一実装形態のブロック図を示している。画像デコーダ220は、復号化するためにブロック・デコーダ400に供給すべき符号化された1つ(または複数)の画像ブロックを例えばメモリから選択するためのブロック・セレクタ222を備えることが好ましい。ブロック・セレクタ222は、この符号化された画像データに関連する入力情報を例えばヘッダまたはレンダリング・エンジンから受信することが好ましい。この所望の1つ(または複数)の画像エレメントを有する圧縮された画像ブロックのアドレスが、この入力情報に基づいて計算される。この計算されたアドレスは、画像内の画像エレメントの(ピクセル、テクセル、またはボクセル)座標に依存していることが好ましい。このアドレスを使用して、ブロック・セレクタ222は、例えばメモリまたはキャッシュからこの符号化された画像ブロックを識別する。次いでこの識別され符号化された画像ブロックが、このストレージからフェッチされ、ブロック・デコーダ400に対して供給される。
画像ブロックの画像エレメントに対するこの(ランダムな)アクセスは、必要とされる画像のこれらの部分だけを選択的にフェッチし復号化することを有利に可能にする。さらに、この画像は、このデータが必要とされるどのような順序でも復号化することができる。例えば、テクスチャ・マッピングにおいては、このテクスチャの一部分しか必要とされないこともあり、これらの部分は、一般に不連続な順序で必要とされることになる。したがって、本発明の画像復号化を有利に適用して、画像の一部分または1セクションだけを処理することが可能である。
この選択済みの符号化された画像ブロックは、ブロック・デコーダ400に転送される。この画像ブロックに加えて、デコーダ400は、このブロックのうちのどの画像エレメントを復号化すべきかを指定する情報を受信することが好ましい。この情報は、この全体の画像ブロック、すなわちそこにあるすべての画像エレメントを復号化すべきことを指定することが可能である。しかし、この受信された情報は、これらの画像エレメントのうちの1つのエレメントまたは少しのエレメントしか復号化すべきでないことを識別することもできる。次いでブロック・デコーダ400は、このブロック中の1つ(または複数)の画像エレメントの伸張された表現を生成する。この復号化された表現は、Sが元の画像における画像エレメント当たりのビット数である場合のSビットのカラー、例えば24ビットのRGBカラーであり、Tが元の画像における画像エレメント当たりのビット数である場合のTビットのアルファ値、例えば8ビットのアルファ値であることが好ましい。ブロック・デコーダ400は、この復号化プロシージャ中に使用されるアルファ・テーブル500を含むことが好ましい。代わりに、このアルファ・テーブル500は、画像デコーダ220中の他のどこかに設けることも可能である。図12に関連して以上で説明した異なる動作モードおよび/または画像タイプについての異なるアルファ・テーブルの使用も、画像デコーダ220に適用される。
オプションとしての画像コンポーザ(image composer)224が、デコーダ220中に設けられてもよい。このコンポーザは、ブロック・デコーダ400から復号化された画像エレメントを受信し、これらの画像エレメントを構成して、画面上でレンダリング、あるいは表示することができるピクセル、テクセル、またはボクセルを生成する。コンポーザ224は、1つのピクセル、テクセル、またはボクセルを生成するためにいくつかの入力画像エレメントを必要とする可能性もある。この画像コンポーザ224は、代わりにこのグラフィック・システム中に設けられてもよい。
図18の画像デコーダ220は、1つのブロック・デコーダ400しか含んでいないが、処理時間の観点からは複数のブロック・デコーダ400を画像デコーダ220中に実装することがさらに有利となる可能性がある。複数のブロック・デコーダ400を設けることにより、分解器215からの複数の画像ブロックを並列に処理(復号化)することもでき、これが全体の画像復号化時間を短くする。代わりにこれらのブロック・デコーダの第1の部分集合を第1の伸張モードに従って画像ブロックを伸張するように動作させることもでき、これらのブロック・デコーダの残りの部分集合は、この第2の伸張モードに従って動作させられる。
画像デコーダ220のこれらのユニット222、224および400は、ソフトウェア、ハードウェア、またはこれらの組合せとして実現されてもよい。これらのユニット222、224、400および500は、画像デコーダ220中において一緒に実装されてもよい。代わりにまた、分散された実装形態が、このユーザ端末中の他のどこかに設けられた一部のこれらのユニットを用いても可能になる。
図19は、本発明によるブロック・デコーダ400の一実施形態を示す図である。ブロック・デコーダ400は、この画像ブロック中のこれらの画像エレメントについてのカラー表現をこのカラー・コードワードに基づいて生成するカラー・ジェネレータ410を備える。このジェネレータ410は、このカラー・コードワードの量子化されたカラーをカラー表現へと拡張することが好ましい。
アルファ・ジェネレータ420が、ブロック・デコーダ400中に実装されて、このブロック中のこれらの画像エレメントについてのアルファ値またはアルファ表現をこのアルファ・コードワードに基づいて生成する。このアルファ・ジェネレータ420は、このアルファ・コードワードの量子化されたアルファ値をアルファ表現へと拡張することが好ましい。
ブロック・デコーダ400は、このアルファ修正コードワードを使用してアルファ修正子の集合を提供する手段430をさらに含んでいる。このアルファ修正子の集合は、関連するアルファ・テーブル500から提供されることが好ましい。このプロバイダ430は、アルファ・テーブル500からアルファ修正子値の第1の部分集合をフェッチし、この第1の部分集合に基づいて修正子の第2の部分集合を決定するように構成されることが可能である。
インデックス・セレクタまたは修正子・セレクタ440は、この提供する手段430によって取得されるこの修正子の集合からアルファ修正子値のうちの1つを選択するように構成される。修正子セレクタ440は、この圧縮された画像ブロック中のこれらの画像エレメントについての正しいアルファ修正子値をアルファ修正インデックスのシーケンスに基づいて選択するように構成される。
このアルファ・ジェネレータ420からの拡張されたアルファ値と、この修正子セレクタ440からの修正子値は、この修正子値を用いてこの拡張されたアルファ値を修正するアルファ変調器(alpha modulator)またはアルファ修正器(alpha modifier)450へと転送される。さらに、このアルファ値が修正された後に、この修正器450は、この結果として生じるアルファ表現を最大しきい値と最小しきい値との間で、例えば0と255の間でクランプすることが好ましい。
ブロック・デコーダ400のこれらのユニット410から450は、ソフトウェア、ハードウェア、またはこれらの組合せとして実現されてもよい。これらのユニット410から450および500は、ブロック・デコーダ400中において一緒に実装されてもよい。代わりにまた、分散された実装形態が、このユーザ端末中の他のどこかに設けられた一部のこれらのユニットを用いても可能になる。
図20は、本発明によるブロック・デコーダ400の他の実施形態のブロック図を示している。このブロック・デコーダの実施形態は、前述の2つの伸張モードに従って動作することが可能である。アルファ・ジェネレータ420、アルファ修正子集合プロバイダ430、およびアルファ修正器450の動作については、図19に関連して既に説明されており、本明細書中で反復されることはない。
ブロック・デコーダ400は、現行の圧縮された画像ブロックを伸張すべきときに従うモードを選択する伸張モード・セレクタ480を備える。このモード選択は、この圧縮されたブロック表現中に含まれるモード・インデックスに基づいていることが好ましい。代わりに、このモード選択は、この組み合わされたカラー修正コードワードとモード表現コードワード(の少なくとも一部分)を詳細に調べることにより実施することもできる。モード・セレクタ480は、このモード・インデックスおよび現行の伸張モードを表すモード信号またはコマンドを生成する。このモード信号は、ブロック・デコーダ400中の他のユニットに転送され、これらのユニットは、この受信されたモード信号に応じてこれらの各動作を調整する。
カラー・ジェネレータ410は、この第1の伸張モード中で動作するときにこの画像ブロック中のすべての画像エレメントについての1つのカラー表現をこのカラー・コードワードに基づいて生成する。このジェネレータ410は、このカラー・コードワードの量子化されたカラーをカラー表現へと拡張することが好ましい。
ブロック・デコーダ400は、(モード・セレクタ480からのモード信号を表す)「モード1」を受信するときにこのカラー修正コードワードを使用してカラー修正子の集合を提供するための手段460をさらに含んでいる。このカラー修正子の集合は、関連するカラー・テーブル600から提供されることが好ましい。このプロバイダ460は、このカラー・テーブル600からカラー修正子値の第1の部分集合をフェッチし、この第1の部分集合に基づいて修正子の第2の部分集合を決定するように構成されることが可能である。
インデックス・セレクタ440は、この第1のモードにおいてこの提供する手段460によって取得されるカラー修正子の集合からカラー修正子値のうちの1つを選択するように構成される。セレクタ440は、この圧縮された画像ブロック中のこれらの画像エレメントについての正しいカラー修正子値をカラー修正インデックスのシーケンスに基づいて選択するように構成される。しかし、モード・セレクタ480からのモード・コマンドが、その代わりにこの第2のモードを信号で伝える場合、インデックス・セレクタ440は、このカラー・インデックス・シーケンスを使用して、これらの画像エレメントの部分集合のために使用するためのカラー・サブコードワードまたはカラー表現を選択する。これらの画像エレメントの残りの部分集合は、あらかじめ定義された関連するカラー表現(サブコードワード)を有するので、この表現は、このカラー・インデックス・シーケンスを使用せずに、この(これらの)1つ(または複数)の画像エレメントに対して簡単に割り当てることができる。
このカラー・ジェネレータ410およびカラー修正子値からの拡張されたカラーは、このデコーダがこの第1のモードに従って動作しているときに、このカラー修正子値を用いてこの拡張されたカラーのカラー成分(の輝度)を修正するカラー変調器またはカラー修正器470へと転送される。修正器470は、これらの異なるカラー成分について異なる重みを有する重み付けされたカラー修正子値を使用することが可能である。さらに、これらのカラー成分が修正された後に、修正器470は、最大しきい値と最小しきい値の間で、例えば0と255の間でこれらの成分をクランプすることが好ましい。
ブロック・デコーダ400のこれらのユニット410から480は、ソフトウェア、ハードウェア、またはこれらの組合せとして実現されてもよい。これらのユニット410から480、500および600は、ブロック・デコーダ400中において一緒に実装されてもよい。代わりにまた、分散された実装形態が、このユーザ端末中の他のどこかに設けられた一部のこれらのユニットを用いても可能になる。
図21は、本発明によるブロック・デコーダの可能なハードウェア実装形態を概略的に示している。このブロック・デコーダへの入力は、図3Bによる符号化されたブロック表現700であり、このブロック表現は、18ビットのカラー・コードワード710(各赤色、緑色および青色の成分ごとに6ビット)、4ビットのカラー修正コードワード750、16ビットのカラー修正子インデックス・シーケンス760、16ビットのアルファ修正子インデックス・シーケンス740、4ビットのアルファ修正コードワード730および6ビットのアルファ・コードワード720を含んでいる。これら2つのインデックス・シーケンス740、760中の修正子インデックスは、この8つのカラー修正子インデックスまたはアルファ修正子インデックスのMSBが8つのLSBに先行するように構成されている。それ故に、10110001 10000110binのインデックス・シーケンスは、以下の修正子インデックス11bin、00bin、10bin、10bin、00bin、01bin、01binおよび10binを表す。
カラー・コードワード710は、カラー・ジェネレータ410に供給され、このカラー・ジェネレータは、3つのビット・エキステンダ(bit extender)412から416によって実現される。第1のビット・エキステンダ412は、この6ビットの赤色成分を受け取り、第2のエキステンダ414および第3のエキステンダ416は、それぞれ6ビットの緑色成分および青色成分を受け取る。各エキステンダ412から416までの出力は、8ビットのカラー成分である。
修正子セレクタまたはインデックス・セレクタ440は、4つのマルチプレクサ442〜448として実装される。3ビットのアドレス・インデックスがこれらのマルチプレクサ442〜448へと入力される。第1のマルチプレクサ442は、このアドレス・インデックスに応じてこれらのアドレス指定された画像エレメントについてのカラー修正子インデックスのMSBを出力する。このカラー修正子インデックスのLSBは、第2のマルチプレクサ444によって供給される。これに対応して、第3のマルチプレクサ446および第4のマルチプレクサ448は、それぞれこのアルファ修正子インデックスのMSBおよびLSBを選択し出力する。
次いでこの選択された画像エレメントに関連する2ビットのカラー修正子インデックスは、テーブル・ルックアップ465へと転送される。このテーブル・ルックアップ465は、図20のカラー修正子集合プロバイダ460およびカラー・テーブル600に対応する。この入力カラー修正コードワード750およびカラー修正子インデックスを使用して、ルックアップ465は、この正しいカラー修正子値をこのテーブル中のこれらの修正子の集合のうちの1つからフェッチする。次いでこの9ビットの符号付き(正または負の)修正子値は、カラー修正器470へと供給される。このハードウェア実装形態においては、カラー修正器470は、3つの加算器471から473と、3つのクランパ474から476とを備える。この修正子値は、各加算器471から473へと入力される。第1の加算器471は、ビット・エキステンダ412からの8ビットの赤色成分にこのカラー修正子値を加算する。これに対応して、加算器472および加算器473は、それぞれビット・エキステンダ414および416からの8ビットの緑色成分および青色成分にこの修正子値を加算する。一代替実装形態においては、これらの加算器471から473は、他の修正エレメントで、例えばマルチプレクサまたはXORゲートで置き換えることが可能である。これらの加算器471から473までの出力は、クランパ474から476へと転送され、これらのクランパは、これらの修正されたカラー成分を0と255の間にクランプする。
6ビットのアルファ・コードワード720は、アルファ・ジェネレータ420へと供給され、このアルファ・ジェネレータは、ビット・エキステンダ425によって実現される。エキステンダ425からの出力は、8ビットのアルファ値である。
この選択された画像エレメントに関連する2ビットのアルファ修正子インデックスは、これらのマルチプレクサ446および448からテーブル・ルックアップ435へと転送される。このテーブル・ルックアップ435は、図19または20のアルファ修正子集合プロバイダ430およびアルファ・テーブル700に対応する。この入力アルファ修正コードワード730およびアルファ修正子値を使用して、ルックアップ435は、このテーブル中のこれらの修正子の集合のうちの1つから正しいアルファ修正子値をフェッチする。この9ビットの符号付き(正または負の)修正子値は、ビット・エキステンダ425からの拡張されたアルファ値と一緒にアルファ修正器450に供給される。
このハードウェア実装形態においては、アルファ修正器450は、加算器452とクランパ454とを備える。このアルファ修正子値は、加算器452に入力され、この加算器は、エキステンダ425からの8ビットのアルファ値にこのアルファ修正子値を加算する。この加算器452は、例えばマルチプレクサまたはXORゲートによって置き換えることができることが本発明により予想される。加算器452からの出力は、クランパ454へと転送され、このクランパは、この修正されたアルファを0と255の間でクランプする。
これらのカラー・クランパ474から476と、アルファ・クランパ454からの出力は、伸張された、または復号化された32ビットのRGBA画像エレメントである。
図21のデコーダ実装形態は、1つはカラーを管理し、1つはアルファを管理する2つの別々のルックアップ・テーブル435、465を含んでいるが、単一のテーブル・ルックアップを使用してこれらの両方の画像エレメント特性を共に復号化することも可能である。
図22は、図21のビット・エキステンダ412、414、416および425の可能なハードウェア実装形態を概略的に示している。これらのエキステンダは、6ビットのカラー成分またはアルファ・コードワードを受け取り、拡張された対応する8ビットのカラー成分またはアルファ値を出力する。この出力においては、これらの6つのMSBは、この入力の6ビットのワードを構成し、この「7番目のMSB」は、この入力のMSBに対応し、このLSBは、この入力ワードのこの「2番目のMSB」に対応する。
図23は、図21のクランパ454、474〜476の可能なハードウェア実装形態を概略的に示している。このクランパ454、474〜476への入力は、10ビットの修正されたカラー成分値またはアルファ値である。この入力値の8つのLSBは、マルチプレクサ456へと入力される。このマルチプレクサ456に対する他の入力は、最大しきい値(255、8ビット)である。マルチプレクサ445は、この入力ワードの第2のMSBに基づいて、この8ビットの入力値またはこの最大しきい値のどちらかを選択する。換言すれば、この第2のMSBが1に等しい場合、マルチプレクサ456は、このしきい値を出力し、そうでない場合には、この8ビットの入力値が第2のマルチプレクサ458へと転送される。第2のマルチプレクサ448は、この第1のマルチプレクサ456からの出力または最小しきい値(0、8ビット)のどちらかをこのカラー成分のMSBに基づいて選択する。このMSBまたは符号ビットが1に等しい場合、第1のマルチプレクサ456からの出力は、負であり、この最小しきい値が、第2のマルチプレクサ458によって選択されるはずである。しかし、この符号ビットがゼロである場合には、第1のマルチプレクサ456からの出力はまた、第2のマルチプレクサ458から出力されるはずである。
図24は、図21のテーブル・ルックアップ435、465の可能なハードウェア実装形態を概略的に示している。4ビット入力修正コードワードの3つのLSBは、各マルチプレクサ431および432についての8つの可能な修正子値から1つの7ビットのアルファ修正子値またはカラー修正子値を選択するために2つのマルチプレクサ431および432に対して入力される。これらの16個の輝度修正子から、テーブル1によるアルファ/カラー・テーブルを使用する場合には、残りの48個の値を計算することができる。これらのマルチプレクサ431および432からの選択された修正子値は、図21におけるマルチプレクサ442、444、または446、448からの1ビットの入力データ(アルファ修正子インデックスまたはカラー修正子インデックスの2ビットのうちの1ビット)に基づいてこれらの値のうちの1つを選択する他のマルチプレクサ433に対して入力される。次いでこの選択された修正子値は、マルチプレクサ436に対しても、この修正子値をネゲートする否定手段(negation means)434に対しても共に転送される。このネゲートされた値は、マルチプレクサ436にも転送される。このマルチプレクサ436は、図21におけるマルチプレクサ442、444、または446、448からの修正子インデックスの残りのビットに基づいてこの正の7ビットの修正子値またはこのネゲートされた値のどちらかを選択する。この選択された(8ビットの)修正子値は、マルチプレクサ438に対しても、この修正子値を1ビットだけ左にシフトし、9ビットの修正子値をもたらす(10進では2によるこの値の乗算に対応する)ビット・シフタ437に対しても共に入力される。マルチプレクサ438は、この入力修正コードワードからのMSBに基づいて8ビットの修正子値または9ビットの修正子値のどちらかを選択する。この選択からの結果は、特定の画像エレメントのために使用する、64個の可能な修正子値の中からの9ビットの修正子値となる。
図21中のブロック・エンコーダについてのハードウェア・ソリューションは、非常に簡単であり、このハードウェア・ソリューションは、基本的にこれらのテーブル・ルックアップ435、465およびクランパ454、474〜476がそれぞれ図23および図24に従って実装される場合には、4つの加算器、1つの否定手段、および22個のマルチプレクサを含んでいるにすぎない。
本発明の範囲を逸脱することなく本発明に対して様々な修正および変更を行うことができ、本発明については、添付の特許請求の範囲によって定義されることが当業者には理解されよう。
参考文献
[1]米国特許第5956431号
[2]Y.Linde、A.Buzo、R.Gray、「An algorithm for vector quantizer design」、IEEE Transactions on Communications、28巻、84〜94頁、1980年1月
本発明による画像符号化方法の一実施形態を示す流れ図である。 本発明による画像ブロックの実施形態を示す図である。 本発明による画像ブロックの実施形態を示す図である。 画像ブロックの圧縮表現の実施形態を示す図である。 画像ブロックの圧縮表現の実施形態を示す図である。 画像ブロックの圧縮表現の実施形態を示す図である。 図1の画像符号化方法のカラー・コードワード決定ステップの一実施形態を示す流れ図である。 図1の画像符号化方法のカラー・コードワード決定ステップの他の実施形態を示す流れ図である。 図1のアルファ・コードワードを決定するステップと、アルファ修正コードワードを決定するステップと、アルファ修正子インデックスを選択するステップとをより詳細に示す流れ図である。 本発明による1つの画像復号化方法を示す流れ図である。 図7のカラー表現生成ステップの一実施形態をより詳細に示す流れ図である。 図7のカラー表現生成ステップの他の実施形態をより詳細に示す流れ図である。 図7のアルファ表現を生成するステップと、アルファ修正子を選択するステップと、アルファ表現を修正するステップとをより詳細に示す流れ図である。 本発明による画像エンコーダおよび画像デコーダを有するユーザ端末の一実施例を概略的に示す図である。 本発明による画像エンコーダの一実施形態を概略的に示すブロック図である。 本発明によるブロック・エンコーダの一実施形態を概略的に示すブロック図である。 本発明によるブロック・エンコーダの他の実施形態を概略的に示すブロック図である。 図14または15のブロック・エンコーダのカラー量子化器をより詳細に概略的に示すブロック図である。 図14または15のブロック・エンコーダのアルファ量子化器をより詳細に概略的に示すブロック図である。 図14または15のブロック・エンコーダのインデックス・セレクタをより詳細に概略的に示すブロック図である。 本発明による画像デコーダの一実施形態を概略的に示すブロック図である。 本発明によるブロック・デコーダの一実施形態を概略的に示すブロック図である。 本発明によるブロック・デコーダの他の実施形態を概略的に示すブロック図である。 本発明によるブロック・デコーダの一実施形態を概略的に示すハードウェア・ブロック図である。 図21のビット・エキステンダの一実施形態をより詳細に示すハードウェア・ブロック図である。 図21のクランパの一実施形態をより詳細に示すハードウェア・ブロック図である。 図21のテーブル・ルックアップの一実施形態をより詳細に示すハードウェア・ブロック図である。

Claims (29)

  1. 複数の画像エレメント(610)を含む画像ブロック(600)を圧縮する方法であって、
    前記複数の画像エレメント(610)のカラーの表現である1つのカラー・コードワード(710)を決定する工程と、
    前記複数の画像エレメント(610)のアルファ値の表現である1つのアルファ・コードワード(720)を決定する工程と、
    前記アルファ・コードワード(720)に基づいて生成されるアルファ値を修正するための複数のアルファ修正子の集合の表現であるアルファ修正コードワード(730)を提供する工程と、
    前記画像ブロック(600)中の画像エレメント(610)ごとに前記アルファ修正子の集合からのアルファ修正子に関連するアルファ修正子インデックスを選択する工程と
    前記1つのカラー・コードワード(710)と、前記1つのアルファ・コードワード(720)と、前記アルファ修正コードワード(730)と、画像エレメント(610)ごとの前記アルファ修正子インデックスと、を前記画像ブロック(600)の圧縮表現(700)として出力する工程と
    を含むことを特徴とする方法。
  2. 前記カラー・コードワード(710)に基づいて生成されるカラーを修正するための複数のカラー修正子の集合の表現であるカラー修正コードワード(750)を提供する工程と、
    前記画像ブロック(600)中の画像エレメント(610)ごとに前記カラー修正子の集合からのカラー修正子に関連するカラー修正子インデックスを選択する工程と
    をさらに含み、
    前記出力工程は、前記1つのカラー・コードワード(710)と、前記1つのアルファ・コードワード(720)と、前記アルファ修正コードワード(730)と、画像エレメント(610)ごとの前記アルファ修正子インデックスと、前記カラー修正コードワード(750)と、画像エレメント(610)ごとの前記カラー修正子インデックスと、を前記画像ブロック(600)の圧縮表現(700)として出力する工程を含む
    ことを特徴とする請求項1に記載の方法。
  3. 前記カラー修正コードワードを提供する工程が、複数のカラー修正子の集合を含むカラー・テーブル(600)から前記カラー修正子の集合を選択する工程を含み、前記カラー修正コードワード(750)が、前記カラー・テーブル(600)からの前記選択されたカラー修正子の集合の識別を可能とすることを特徴とする請求項2に記載の方法。
  4. 前記カラー・コードワードを決定する工程が、
    前記複数の画像エレメント(610)の少なくとも第1の部分のカラーの表現である第1のカラー・サブコードワード(710A)を決定する工程と、
    前記複数の画像エレメント(610)の少なくとも第2の部分のカラーの表現である第2のカラー・サブコードワード(710B)を決定する工程と
    を含み、前記方法が、
    前記複数の画像エレメント(610)の少なくとも1つの部分集合中の画像エレメント(610)ごとに前記第1のカラー・サブコードワード(710A)または前記第2のカラー・サブコードワード(710B)に関連するカラー・インデックスを選択する工程
    をさらに含み、
    前記出力工程は、前記第1のカラー・サブコードワード(710A)及び前記第2のカラー・サブコードワード(710B)から構成される前記1つのカラー・コードワード(710)と、前記1つのアルファ・コードワード(720)と、前記アルファ修正コードワード(730)と、画像エレメント(610)ごとの前記アルファ修正子インデックスと、画像エレメント(610)ごとの前記カラー・インデックスと、を前記画像ブロック(600)の圧縮表現(700)として出力する工程を含む
    ことを特徴とする請求項1から3のいずれかに記載の方法。
  5. 前記カラー・インデックスのシーケンス(770)が、前記複数の画像エレメント(610)の第1の部分集合中の画像エレメント(610)ごとに前記第1のカラー・サブコードワード(710A)または前記第2のカラー・サブコードワード(710B)に関連するカラー・インデックスを含み、前記複数の画像エレメント(610)の第2の残りの部分集合中の各画像エレメント(610)が、前記第1のカラー・サブコードワード(710A)または前記第2のカラー・サブコードワード(710B)から選択されるあらかじめ定義されたカラー・サブコードワードに関連することを特徴とする請求項4に記載の方法。
  6. 前記アルファ修正コードワードを提供する工程が、複数のアルファ修正子の集合を含むアルファ・テーブル(500)から前記アルファ修正子の集合を選択する工程を含み、それにより前記アルファ修正コードワード(730)が、前記アルファ・テーブル(500)からの前記選択されたアルファ修正子の集合の識別を可能とすることを特徴とする請求項1から5のいずれかに記載の方法。
  7. 画像を符号化する方法であって、
    各画像ブロック(600)が複数の画像エレメント(610)を含む複数の画像ブロック(600)へと前記画像を分解する工程と、
    少なくとも1つの画像ブロック(600)について、請求項1から6のいずれかに従って前記少なくとも1つの画像ブロック(600)を圧縮することにより、圧縮された画像ブロック表現(700)を決定する工程と
    を含むことを特徴とする方法。
  8. 複数の画像エレメント(610)を含む画像ブロック(600)の圧縮された表現(700)を処理する方法であって、前記圧縮された表現(700)が、1つのカラー・コードワード(710)と、1つのアルファ・コードワード(720)と、アルファ修正コードワード(730)と、前記複数の画像エレメント(610)のそれぞれに対するアルファ修正子インデックスを含むアルファ修正子インデックス・シーケンス(740)とを含み、前記方法が、
    前記アルファ修正コードワード(730)に基づいて複数のアルファ修正子の集合を提供する工程と、
    前記画像ブロック(600)中の少なくとも1つの画像エレメント(610)について、
    前記カラー・コードワード(710)に基づいてカラー表現を生成する工程と、
    前記アルファ・コードワード(720)に基づいてアルファ表現を生成する工程と、
    前記アルファ修正子インデックス・シーケンス(740)に基づいて前記アルファ修正子の集合からアルファ修正子を選択する工程と、
    前記選択されたアルファ修正子に基づいて前記アルファ表現を修正する工程と
    を含むことを特徴とする方法。
  9. 前記圧縮された画像ブロック表現(700)が、カラー修正コードワード(750)と、前記複数の画像エレメント(610)のそれぞれに対するカラー修正子インデックスを含むカラー修正子インデックス・シーケンス(760)とをさらに含み、前記方法が、
    前記カラー修正コードワード(750)に基づいて複数のカラー修正子の集合を提供する工程と、
    前記カラー修正子インデックス・シーケンス(760)に基づいて前記カラー修正子の集合からカラー修正子を選択する工程と、
    前記選択されたカラー修正子に基づいて前記カラー表現を修正する工程と
    をさらに含むことを特徴とする請求項8に記載の方法。
  10. 前記カラー修正子の集合を提供する前記工程が、前記カラー修正コードワード(750)に基づいて複数のカラー修正子の集合を含むカラー・テーブル(600)から前記カラー修正子の集合を選択する工程を含むことを特徴とする請求項9に記載の方法。
  11. 前記カラー・コードワード(710)が、第1のカラー・サブコードワード(710A)と第2のカラー・サブコードワード(710B)とを含み、前記圧縮された画像ブロック表現(700)が、前記複数の画像エレメント(610)のそれぞれに対するカラー・インデックスを含むカラー・インデックス・シーケンス(770)をさらに含み、前記カラー表現を生成する工程が、
    前記第1のカラー・サブコードワード(710A)および前記第2のカラー・サブコードワード(710B)から選択される少なくとも1つのカラー・サブコードワードに基づいて前記カラー表現を生成する工程を
    含むことを特徴とする請求項7から10のいずれかに記載の方法。
  12. 前記カラー・インデックス・シーケンス(770)が、前記複数の画像エレメント(610)の第1の部分集合中の画像エレメント(610)ごとに前記第1のカラー・サブコードワード(710A)または前記第2のカラー・サブコードワード(710B)に関連するカラー・インデックスを含み、前記複数の画像エレメント(610)の第2の残りの部分集合中の各画像エレメント(610)が、前記第1のカラー・サブコードワード(710A)または前記第2のカラー・サブコードワード(710B)から選択されるあらかじめ定義されたカラー・サブコードワードに関連することを特徴とする請求項11に記載の方法。
  13. 前記アルファ修正子の集合を提供する前記工程が、前記アルファ修正コードワード(730)に基づいて複数のアルファ修正子の集合を含むアルファ・テーブル(500)から前記アルファ修正子の集合を選択する工程を含むことを特徴とする請求項8から12のいずれかに記載の方法。
  14. 複数の画像エレメント(610)を含む画像ブロック(600)の圧縮された表現(700)を含む符号化された画像を復号化する方法であって、圧縮された画像ブロック表現(700)が、カラー・コードワード(710)と、アルファ・コードワード(720)と、アルファ修正コードワード(730)と、アルファ修正子インデックス・シーケンス(740)とを含み、前記方法が、
    少なくとも1つの圧縮された画像ブロック表現(700)について、請求項8から13のいずれかに従って前記少なくとも1つの圧縮された画像ブロック表現(700)を処理することにより、少なくとも1つの伸張された画像エレメント表現(610)を決定する工程と、
    前記少なくとも1つの伸張された画像エレメント表現(610)を処理することにより、画像を生成する工程と
    を含むことを特徴とする方法。
  15. 複数の画像エレメント(610)を含む画像ブロック(600)を圧縮するためのシステム(300)であって、
    前記複数の画像エレメント(610)のカラーの表現である1つのカラー・コードワード(710)を決定するためのカラー量子化器(310)と、
    前記複数の画像エレメント(610)のアルファ値の表現である1つのアルファ・コードワード(720)を決定するためのアルファ量子化器(320)と、
    前記アルファ・コードワード(720)に基づいて生成されるアルファ値を修正するための複数のアルファ修正子の集合の表現であるアルファ修正コードワード(730)を提供する手段(330)と、
    前記画像ブロック(600)中の画像エレメント(610)ごとに前記アルファ修正子の集合からのアルファ修正子に関連するアルファ修正子インデックスを選択するためのインデックス・セレクタ(340)と
    を備え
    前記システム(300)は、前記1つのカラー・コードワード(710)と、前記1つのアルファ・コードワード(720)と、前記アルファ修正コードワード(730)と、画像エレメント(610)ごとの前記アルファ修正子インデックスと、を前記画像ブロック(600)の圧縮表現(700)として出力する
    ことを特徴とするシステム。
  16. 前記カラー・コードワード(710)に基づいて生成されるカラーを修正するための複数のカラー修正子の集合の表現であるカラー修正コードワード(750)を提供する手段(360)をさらに備え、前記インデックス・セレクタ(340)が、前記画像ブロック(600)中の画像エレメント(610)ごとに、前記カラー修正子の集合からのカラー修正子に関連するカラー修正子インデックスを選択するように構成され
    前記システム(300)は、前記1つのカラー・コードワード(710)と、前記1つのアルファ・コードワード(720)と、前記アルファ修正コードワード(730)と、画像エレメント(610)ごとの前記アルファ修正子インデックスと、前記カラー修正コードワード(750)と、画像エレメント(610)ごとの前記カラー修正子インデックスと、を前記画像ブロック(600)の圧縮表現(700)として出力する
    ることを特徴とする請求項15に記載のシステム。
  17. 前記カラー修正コードワードを提供する手段(360)が、複数のカラー修正子の集合を含むカラー・テーブル(600)から前記カラー修正子の集合を選択するように構成されており、それにより前記カラー修正コードワード(750)が、前記カラー・テーブル(600)からの前記選択されたカラー修正子の集合の識別を可能とすることを特徴とする請求項16に記載のシステム。
  18. 前記カラー量子化器(310)が、前記複数の画像エレメント(610)の少なくとも第1の部分のカラーの表現である第1のカラー・サブコードワード(710A)と、前記複数の画像エレメント(610)の少なくとも第2の部分のカラーの表現である第2のカラー・サブコードワード(710B)とを決定するように構成され、前記インデックス・セレクタ(340)が、前記複数の画像エレメント(610)の少なくとも1つの部分集合中の画像エレメント(610)ごとに前記第1のカラー・サブコードワード(710A)または前記第2のカラー・サブコードワード(710B)に関連するカラー・インデックスを選択するように構成され
    前記システム(300)は、前記第1のカラー・サブコードワード(710A)及び前記第2のカラー・サブコードワード(710B)から構成される前記1つのカラー・コードワード(710)と、前記1つのアルファ・コードワード(720)と、前記アルファ修正コードワード(730)と、画像エレメント(610)ごとの前記アルファ修正子インデックスと、画像エレメント(610)ごとの前記カラー・インデックスと、を前記画像ブロック(600)の圧縮表現(700)として出力する
    ことを特徴とする請求項15から17のいずれかに記載のシステム。
  19. 前記カラー・インデックスのシーケンス(770)が、前記複数の画像エレメント(610)の第1の部分集合中の画像エレメント(610)ごとに前記第1のカラー・サブコードワード(710A)または前記第2のカラー・サブコードワード(710B)に関連するカラー・インデックスを含み、前記複数の画像エレメント(610)の第2の残りの部分集合中の各画像エレメント(610)が、前記第1のカラー・サブコードワード(710A)または前記第2のカラー・サブコードワード(710B)から選択されるあらかじめ定義されたカラー・サブコードワードに関連することを特徴とする請求項18に記載のシステム。
  20. アルファ修正コードワードを提供する手段(330)が、複数のアルファ修正子の集合を含むアルファ・テーブル(500)から前記アルファ修正子の集合を選択するように構成され、それにより前記アルファ修正コードワード(730)が、前記アルファ・テーブル(500)からの前記選択されたアルファ修正子の集合の識別を可能とすることを特徴とする請求項15から19のいずれかに記載のシステム。
  21. 各画像ブロック(600)が複数の画像エレメント(610)を含む複数の画像ブロック(600)へと画像を分解するための画像分解器(215)と、
    請求項15から20のいずれかによる少なくとも1つの画像ブロック圧縮システム(300)と
    を備えることを特徴とする画像符号化システム(210)。
  22. 複数の画像エレメント(610)を含む画像ブロック(600)の圧縮された表現(700)を処理するためのシステム(400)であって、前記圧縮された表現(700)が、1つのカラー・コードワード(710)と、1つのアルファ・コードワード(720)と、アルファ修正コードワード(730)と、前記複数の画像エレメント(610)のそれぞれに対するアルファ修正子インデックスを含むアルファ修正子インデックス・シーケンス(740)とを含み、前記システム(400)が、
    前記アルファ修正コードワード(730)に基づいて複数のアルファ修正子の集合を提供する手段(430)と、
    前記カラー・コードワード(710)に基づいて前記画像ブロック(600)中の少なくとも1つの画像エレメント(610)についてのカラー表現を生成するためのカラー・ジェネレータ(410)と、
    前記アルファ・コードワード(720)に基づいて前記少なくとも1つの画像エレメントについてのアルファ値を生成するためのアルファ・ジェネレータ(420)と、
    前記少なくとも1つの画像エレメント(610)について、前記アルファ修正子インデックス・シーケンス(740)に基づいて前記識別されたアルファ修正子の集合からアルファ修正子を選択するためのセレクタ(440)と、
    前記選択されたアルファ修正子に基づいて前記アルファ値を修正するためのアルファ修正(450)と
    を備えることを特徴とするシステム。
  23. 前記圧縮された画像ブロック表現(700)が、カラー修正コードワード(750)と、前記複数の画像エレメント(610)のそれぞれに対するカラー修正子インデックスを含むカラー修正子インデックス・シーケンス(760)とをさらに含み、前記システム(400)が、
    前記カラー修正コードワード(750)に基づいて複数のカラー修正子の集合を提供する手段(460)と、
    前記カラー修正子インデックス・シーケンス(760)を使用して、前記カラー修正子の集合から前記セレクタ(440)によって選択されたカラー修正子に基づいて前記カラー表現を修正するためのカラー修正(470)と
    をさらに備えることを特徴とする請求項22に記載のシステム。
  24. 前記カラー修正子の集合を提供する手段(460)が、前記カラー修正コードワード(750)に基づいて、複数のカラー修正子の集合を含むカラー・テーブル(600)から前記カラー修正子の集合を選択するように構成されることを特徴とする請求項23に記載のシステム。
  25. 前記カラー・コードワード(710)が、第1のカラー・サブコードワード(710A)と第2のカラー・サブコードワード(710B)とを含み、前記圧縮された画像ブロック表現(700)が、前記複数の画像エレメント(610)のそれぞれに対するカラー・インデックスを含むカラー・インデックス・シーケンス(770)をさらに含み、前記カラー・ジェネレータ(410)が、
    前記第1のカラー・サブコードワード(710A)および前記第2のカラー・サブコードワード(710B)から前記セレクタ(440)によって選択される少なくとも1つのカラー・サブコードワードに基づいて前記カラー表現を生成するように構成されることを特徴とする請求項22から24のいずれかに記載のシステム。
  26. 前記カラー・インデックス・シーケンス(770)が、前記複数の画像エレメント(610)の第1の部分集合中の画像エレメント(610)ごとに前記第1のカラー・サブコードワード(710A)または前記第2のカラー・サブコードワード(710B)に関連するカラー・インデックスを含み、前記複数の画像エレメント(610)の第2の残りの部分集合中の各画像エレメント(610)が、前記第1のカラー・サブコードワード(710A)または前記第2のカラー・サブコードワード(710B)から選択されるあらかじめ定義されたカラー・サブコードワードに関連することを特徴とする請求項25に記載のシステム。
  27. 前記アルファ修正子の集合を提供する手段(430)が、前記アルファ修正コードワード(720)に基づいて複数のアルファ修正子の集合を含むアルファ・テーブル(500)から前記アルファ修正子の集合を選択するように構成されることを特徴とする請求項22から26のいずれかに記載のシステム。
  28. 各画像ブロック(600)が複数の画像エレメント(610)を含む画像ブロック(600)の圧縮された表現(700)を含む符号化された画像を復号化するためのシステム(220)であって、圧縮された画像ブロック表現(700)が、カラー・コードワード(710)と、アルファ・コードワード(720)と、アルファ修正コードワード(730)と、アルファ修正子インデックス・シーケンス(740)とを含み、前記システム(220)が、
    少なくとも1つの圧縮された画像ブロック表現(700)について、少なくとも1つの伸張された画像エレメント表現(610)を決定するための、請求項22から27のいずれかによる少なくとも1つのシステム(400)と、
    前記少なくとも1つの伸張された画像エレメント表現(610)を処理して、画像を生成する手段(224)と
    を備えることを特徴とするシステム。
  29. 請求項15から28のいずれかに記載のシステム(210、220、300、400)を備えることを特徴とする画像処理端末(100)。
JP2006545293A 2003-12-19 2004-12-17 アルファ画像処理 Expired - Lifetime JP4444968B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE0303497A SE526226C2 (sv) 2003-12-19 2003-12-19 Bildbehandling
SE0401850A SE0401850D0 (sv) 2003-12-19 2004-07-08 Image processing
PCT/SE2004/001920 WO2005059837A1 (en) 2003-12-19 2004-12-17 Alpha image processing

Publications (2)

Publication Number Publication Date
JP2007517434A JP2007517434A (ja) 2007-06-28
JP4444968B2 true JP4444968B2 (ja) 2010-03-31

Family

ID=32871336

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2006545293A Expired - Lifetime JP4444968B2 (ja) 2003-12-19 2004-12-17 アルファ画像処理
JP2006545294A Expired - Fee Related JP4444969B2 (ja) 2003-12-19 2004-12-17 マルチモードアルファ画像処理

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2006545294A Expired - Fee Related JP4444969B2 (ja) 2003-12-19 2004-12-17 マルチモードアルファ画像処理

Country Status (8)

Country Link
US (2) US7693337B2 (ja)
EP (2) EP1697898B1 (ja)
JP (2) JP4444968B2 (ja)
KR (2) KR100819597B1 (ja)
AT (2) ATE552574T1 (ja)
DK (1) DK1697899T3 (ja)
SE (1) SE0401850D0 (ja)
WO (2) WO2005059838A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8705880B2 (en) 2011-07-13 2014-04-22 Panasonic Corporation Image compression device, image expansion device, and image processing apparatus

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE526226C2 (sv) * 2003-12-19 2005-08-02 Ericsson Telefon Ab L M Bildbehandling
SE0401850D0 (sv) * 2003-12-19 2004-07-08 Ericsson Telefon Ab L M Image processing
EP2320380B1 (en) * 2004-07-08 2014-11-12 Telefonaktiebolaget L M Ericsson (Publ) Multi-mode image processing
EP1886277B1 (en) 2005-05-27 2016-02-17 Telefonaktiebolaget LM Ericsson (publ) Weight based image processing
JP4444180B2 (ja) * 2005-07-20 2010-03-31 株式会社東芝 テクスチャ符号化装置、テクスチャ復号化装置、方法、およびプログラム
EP1924970B1 (en) * 2005-08-19 2009-03-11 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Texture compression based on two hues with modified brightness
US7787691B2 (en) * 2006-04-11 2010-08-31 Telefonaktiebolaget Lm Ericsson (Publ) High quality image processing
US7714873B2 (en) * 2006-06-29 2010-05-11 Microsoft Corporation Strategies for compressing textures
US9418450B2 (en) 2006-08-31 2016-08-16 Ati Technologies Ulc Texture compression techniques
US7813296B2 (en) * 2006-12-27 2010-10-12 Telefonaktiebolaget L M Ericsson (Publ) Adapting transmission and reception time in packet based cellular systems
US8208731B2 (en) * 2008-04-07 2012-06-26 Microsoft Corporation Image descriptor quantization
US8208543B2 (en) * 2008-05-19 2012-06-26 Microsoft Corporation Quantization and differential coding of alpha image data
JP5071282B2 (ja) * 2008-07-15 2012-11-14 ソニー株式会社 ビット選択回路
EP2327058A4 (en) * 2008-09-23 2017-03-29 Telefonaktiebolaget LM Ericsson (publ) Pixel block processing
EP2204773B1 (en) * 2008-12-31 2012-03-21 ST-Ericsson SA Process and apparatus for blending images
US8964851B2 (en) * 2009-06-09 2015-02-24 Sony Corporation Dual-mode compression of images and videos for reliable real-time transmission
KR101709822B1 (ko) 2009-11-24 2017-02-23 텔레폰악티에볼라겟엘엠에릭슨(펍) 부호화된 텍셀 블록에서 동작할 수 있는 복호 시스템 및 방법
US20110157192A1 (en) * 2009-12-29 2011-06-30 Microsoft Corporation Parallel Block Compression With a GPU
JP4753397B1 (ja) * 2010-11-30 2011-08-24 株式会社アクセル エンコードシステムおよびデコードシステム
JP6003049B2 (ja) * 2011-11-30 2016-10-05 富士通株式会社 情報処理装置、画像送信方法及び画像送信プログラム
US10147202B2 (en) * 2013-03-15 2018-12-04 Arm Limited Methods of and apparatus for encoding and decoding data
US9582847B2 (en) * 2013-04-22 2017-02-28 Intel Corporation Color buffer compression
KR20160011951A (ko) * 2014-07-23 2016-02-02 삼성전자주식회사 영상 처리 디바이스 및 방법
US10410398B2 (en) * 2015-02-20 2019-09-10 Qualcomm Incorporated Systems and methods for reducing memory bandwidth using low quality tiles
GB201503125D0 (en) 2015-02-25 2015-04-08 Advanced Risc Mach Ltd Graphics processing systems
US9640149B2 (en) * 2015-07-21 2017-05-02 Think Silicon Sa Methods for fixed rate block based compression of image data
GB2556634B (en) 2016-11-18 2020-05-27 Advanced Risc Mach Ltd Graphics processing systems
US20180308450A1 (en) * 2017-04-21 2018-10-25 Intel Corporation Color mapping for better compression ratio
US11256528B2 (en) 2018-10-26 2022-02-22 Nvidia Corporation Individual application window streaming suitable for remote desktop applications
US11501470B2 (en) 2020-05-27 2022-11-15 Microsoft Technology Licensing, Llc Geometric encoding of data
US11670009B2 (en) 2020-08-26 2023-06-06 Meta Platforms Technologies, Llc Rate controlled image and texture data compression
US12519978B1 (en) * 2024-06-27 2026-01-06 Amazon Technologies, Inc. Alpha block transforms for alpha channel compression

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1315392C (en) * 1988-11-18 1993-03-30 Taejeong Kim Side-match and overlap-match vector quantizers for images
DE4335143A1 (de) * 1993-10-15 1995-04-20 Hell Ag Linotype Verfahren und Einrichtung zur Umsetzung von Farbwerten
US5642139A (en) * 1994-04-29 1997-06-24 Cirrus Logic, Inc. PCMCIA video card
US5742892A (en) 1995-04-18 1998-04-21 Sun Microsystems, Inc. Decoder for a software-implemented end-to-end scalable video delivery system
US5793371A (en) * 1995-08-04 1998-08-11 Sun Microsystems, Inc. Method and apparatus for geometric compression of three-dimensional graphics data
US6404923B1 (en) * 1996-03-29 2002-06-11 Microsoft Corporation Table-based low-level image classification and compression system
US5748904A (en) * 1996-09-13 1998-05-05 Silicon Integrated Systems Corp. Method and system for segment encoded graphic data compression
US5926647A (en) * 1996-10-11 1999-07-20 Divicom Inc. Processing system with dynamic alteration of a color look-up table
US6658146B1 (en) * 1997-10-02 2003-12-02 S3 Graphics Co., Ltd. Fixed-rate block-based image compression with inferred pixel values
US6775417B2 (en) * 1997-10-02 2004-08-10 S3 Graphics Co., Ltd. Fixed-rate block-based image compression with inferred pixel values
US5956431A (en) * 1997-10-02 1999-09-21 S3 Incorporated System and method for fixed-rate block-based image compression with inferred pixel values
JPH11313219A (ja) * 1998-01-20 1999-11-09 Fujitsu Ltd カラーデータ変換方法
CN1168322C (zh) 1998-07-03 2004-09-22 株式会社哈德森 图象编码和解码方法
US6636222B1 (en) * 1999-11-09 2003-10-21 Broadcom Corporation Video and graphics system with an MPEG video decoder for concurrent multi-row decoding
US6301393B1 (en) 2000-01-21 2001-10-09 Eastman Kodak Company Using a residual image formed from a clipped limited color gamut digital image to represent an extended color gamut digital image
US6580496B2 (en) * 2000-11-09 2003-06-17 Canesta, Inc. Systems for CMOS-compatible three-dimensional image sensing using quantum efficiency modulation
US20050058322A1 (en) * 2003-09-16 2005-03-17 Farmer Michael E. System or method for identifying a region-of-interest in an image
US7043077B2 (en) * 2001-11-07 2006-05-09 International Business Machines Corporation System and method for efficient compression of raster image data
GB0128888D0 (en) * 2001-12-03 2002-01-23 Imagination Tech Ltd Method and apparatus for compressing data and decompressing compressed data
EP1565879A2 (en) * 2002-11-19 2005-08-24 Koninklijke Philips Electronics N.V. Image segmentation using template prediction
US7251360B2 (en) * 2003-02-14 2007-07-31 Canon Kabushiki Kaisha Look-up table generation method, computer program, and imaging apparatus
US6944333B2 (en) * 2003-04-30 2005-09-13 Ventana Medical Systems, Inc. Color image compression via spectral decorrelation and elimination of spatial redundancy
SE526226C2 (sv) 2003-12-19 2005-08-02 Ericsson Telefon Ab L M Bildbehandling
SE0401852D0 (sv) * 2003-12-19 2004-07-08 Ericsson Telefon Ab L M Image processing
SE0401850D0 (sv) * 2003-12-19 2004-07-08 Ericsson Telefon Ab L M Image processing
EP2320380B1 (en) 2004-07-08 2014-11-12 Telefonaktiebolaget L M Ericsson (Publ) Multi-mode image processing
WO2006126949A1 (en) 2005-05-27 2006-11-30 Telefonaktiebolaget Lm Ericsson (Publ) Weight based image processing
EP1924970B1 (en) 2005-08-19 2009-03-11 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Texture compression based on two hues with modified brightness
US7787691B2 (en) 2006-04-11 2010-08-31 Telefonaktiebolaget Lm Ericsson (Publ) High quality image processing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8705880B2 (en) 2011-07-13 2014-04-22 Panasonic Corporation Image compression device, image expansion device, and image processing apparatus

Also Published As

Publication number Publication date
JP2007517434A (ja) 2007-06-28
EP1697898B1 (en) 2012-04-04
US7657105B2 (en) 2010-02-02
ATE552575T1 (de) 2012-04-15
JP4444969B2 (ja) 2010-03-31
KR100821762B1 (ko) 2008-04-14
DK1697899T3 (da) 2012-07-16
EP1697899A1 (en) 2006-09-06
WO2005059837A1 (en) 2005-06-30
EP1697899B1 (en) 2012-04-04
JP2007520103A (ja) 2007-07-19
ATE552574T1 (de) 2012-04-15
KR20060103445A (ko) 2006-09-29
EP1697898A1 (en) 2006-09-06
US20070127812A1 (en) 2007-06-07
US7693337B2 (en) 2010-04-06
SE0401850D0 (sv) 2004-07-08
WO2005059838A1 (en) 2005-06-30
US20070019869A1 (en) 2007-01-25
KR100819597B1 (ko) 2008-04-07
KR20060103454A (ko) 2006-09-29

Similar Documents

Publication Publication Date Title
JP4444968B2 (ja) アルファ画像処理
JP4444967B2 (ja) 画像処理
EP1697900B1 (en) Multi-mode image processing
KR101161900B1 (ko) 멀티모드 이미지 처리
HK1109674B (en) Method and system of multi-mode image processing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091124

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100114

R150 Certificate of patent or registration of utility model

Ref document number: 4444968

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130122

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term