JP4444970B2 - マルチモード画像処理 - Google Patents

マルチモード画像処理 Download PDF

Info

Publication number
JP4444970B2
JP4444970B2 JP2006545295A JP2006545295A JP4444970B2 JP 4444970 B2 JP4444970 B2 JP 4444970B2 JP 2006545295 A JP2006545295 A JP 2006545295A JP 2006545295 A JP2006545295 A JP 2006545295A JP 4444970 B2 JP4444970 B2 JP 4444970B2
Authority
JP
Japan
Prior art keywords
color
image
codeword
representation
index
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
JP2006545295A
Other languages
English (en)
Other versions
JP2007520104A5 (ja
JP2007520104A (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 JP2007520104A publication Critical patent/JP2007520104A/ja
Publication of JP2007520104A5 publication Critical patent/JP2007520104A5/ja
Application granted granted Critical
Publication of JP4444970B2 publication Critical patent/JP4444970B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/186Methods 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 a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、一般に、画像処理に関し、特に、画像を符号化及び復号する方法及びシステムに関する。
近年、データ処理システム、及びコンピュータ、特に移動端末等のユーザ端末において画像及び図形を提示し、レンダリングすることが極めて多くなってきている。例えば、3次元(3D)図形及び3D画像は、そのような端末において、ゲーム、3Dマップ及びメッセージ通信、スクリーンセーバ及びマン・マシンインタフェースを含む多数の魅力的なアプリケーションを有する。
3D図形レンダリング処理は、通常、3つの部分段階を含む。簡単に言うと、第1の段階であるアプリケーション段階では、いくつかの三角形を作成する。それらの三角形の角は、第2の段階であるジオメトリ段階で、変換され、投影され、照明される。第3の段階であるラスター化段階においては、多くの場合にテクスチャと呼ばれる画像を三角形の上に「貼り付け」ることができる。それにより、レンダリングされる画像の現実感が増す。第3の段階は、通常、zバッファを使用してソーティングを更に実行する。
しかし、画像及びテクスチャ、特に3D画像及び3D図形のレンダリングは、グラフィックシステムに要求されるメモリ帯域幅及び処理能力に関して、計算のコストがかかるタスクである。言い換えれば、テクスチャは、高速オンチップメモリに格納又はキャッシュされなければならないために、高価なメモリを使用する必要があり、単一の画素を描画するために1つのテクスチャに数回アクセスすることもあるので、メモリ帯域幅に関しても経済的負担が大きい。
帯域幅及び処理能力に対する要求を軽減するために、通常、画像(テクスチャ)符号化方法又はシステムが採用される。そのような符号化システムにより、レンダリング中に、高価なオンチップメモリをより効率的に使用でき、メモリ帯域幅が縮小される。従って、消費電力が減少するか、レンダリング速度が増加するかの少なくともいずれかの結果がもたらされる。帯域幅及び処理能力に対する要求がそのように軽減されることは、メモリの量が少なく、メモリ帯域幅が狭く、(バッテリにより電力が供給されるため)電力が制限された移動ユニット及び移動電話等のシンクライアント(thin client)にとって特に重要である。
特許文献1には、Iourcha他により、S3TC(S3 Texture Compression)又はDXTC(DirectX Texture Compression)と呼ばれるテクスチャ圧縮方式が開示されている。画像は、4画素×4画素の複数の画像ブロックに分解される。そのような各画像ブロックは、64ビットのビットシーケンスに符号化され、その結果、圧縮率は4bpp(ビット/画素)となる。64ビットシーケンスは、2つの基本色又は色コードワード(それぞれ16ビット)と、画像ブロック中の画素毎に1つのインデックスを含む2ビットインデックスの32ビットシーケンスとを含む。復号中、4色のカラーパレットが生成される。パレットの最初の2つのRGB(赤、緑及び青)色は、2つの基本色(コードワード)に対応する。次に、RGB空間の基本色の間に位置する2つの追加色が、それらの基本色から補間される。各2ビットインデックスは、画素に対して使用するパレットの4つの色のうちの1つを画素毎に識別する。
米国特許第5,956,431号明細書 G. Campbell、T. A. DeFanti、J. Frederiksen、S.A. Joyce、L. A. Leske、J. A. Lindberg及びD. J. Sandin「Tow bit/pixel full color encoding」SIGGRAPH '86 Conference Proceedings、Vol. 20、No. 4、215〜223ページ、1986年8月
S3TC方式は、コンピュータ端末に対して非常に適切に機能するが、移動ユニット及び他のシンクライアントには十分に適応しない。通常、そのような移動ユニットは、せいぜい16ビット又は32ビットのメモリバスを有するにすぎない。従って、移動ユニットにおいてS3TCが実現される場合、1つの画像ブロックの64ビット圧縮バージョンを読み出すために、少なくとも2回、最高4回のメモリアクセスが要求される。更に、カラーパレットの2つの追加色の補間中に、1/3及び2/3を乗算する演算が実行されるが、これはハードウェアにおいては理想的ではない。また、S3TCを使用する圧縮は、少なくとも移動端末では比較的に長い時間を必要とする。
本発明は、従来の構成のそれらの欠点及び他の欠点を克服する。
本発明の一般的な目的は、効率的な画像処理を提供することである。
本発明の別の目的は、効率的な画像符号化及び画像復号を提供することである。
本発明の更に別の目的は、メモリ容量及びメモリ帯域幅が少ないシンクライアントでの使用に適した画像符号化及び画像復号を提供することである。
本発明の別の目的は、符号化又は復号する画像部分の特性に応じて、異なる動作モードに基づいて動作可能な画像符号化及び復号を提供することである。
これらの目的及び他の目的は、添付の特許請求の範囲により示されるような発明により達成される。
簡単に言えば、本発明は、画像を符号化(圧縮)し、符号化(圧縮)画像を復号(伸張)する形態をとる複数モードの画像処理を含む。
本発明によると、符号化される画像は、複数の画像単位(image element(画像要素):画素、テクスチャ要素、テクセル又は体素、ボクセル)から構成される複数の画像ブロックに分解される。1つの画像ブロックは、8つの画像単位を含むのが好ましく、m=3−n及びn=0,1,2,3である場合に2×2の画像単位のサイズを有するか、あるいはm,n,p=0,1,2,3及び好ましくはm+n+p=3である場合に2×2×2のサイズを有するのが好ましい。ただし、これに限られるわけではない。ブロック中の各画像単位は、24ビットRGB(赤、緑、青)色等の1つの色により特徴付けられる。次に、個々の画像ブロックが符号化される。
この非可逆ブロック圧縮において、ブロック中の画像単位のプロパティ(特性)を表す2つのコードワードが判定される。更に、ブロックに対して、画像単位関連インデックスのインデックスシーケンスが提供される。このシーケンスは、ブロック中の画像単位の少なくとも1つのサブセットに対して、コードワードのうちの1つと関連付けられるインデックス又はコードワードのうちの1つに基づいて生成されるプロパティ表現を含む。
本発明のブロック圧縮は、2つの異なる圧縮モードのうちの一方に従って実行できる。2つの異なる圧縮モードを使用することにより、画像中の個々の画像ブロックのプロパティによりよく適応できるため、柔軟性が符号化方法に与えられる。ブロック毎に2つの異なる圧縮モードのうちのいずれかを選択できるため、単一の(固定された)符号化を伴う従来の符号化方式と比較して、処理後の画像の画質は改善される。本発明の第1の圧縮モードは、色が類似する画像単位を有する画像ブロックを圧縮するのに特に適しており、クロミナンス成分よりルミナンス(輝度)成分をよく保持する。第2の圧縮は、例えば、ブロックの画像単位が基本的に色の異なる2つのクラスタにグループ化される場合のように、第1の圧縮モードにより得られる結果が不十分である状況で採用される補助モードとみなされる。
その結果、ブロック圧縮は、現在の画像ブロックに対して圧縮モードを選択することと、選択された圧縮モードを示すモードインデックスを生成することとを更に含む。このモード選択は、コードワード及びインデックスシーケンスを判定する前に、好ましくはブロック中の画像単位のプロパティの調査に基づいて、例えば、色空間における画像単位の色値の分布に基づいて実行される。あるいは、モード選択は、コードワード及びインデックスシーケンスの生成中又は生成後に実行される。生成中又は生成後に実行される場合、画像ブロックの2つの圧縮表現、すなわち、第1の圧縮モードに従った圧縮表現及び第2のモードに従った圧縮表現が生成される。第1のモードに従って画像ブロックを圧縮することと関連する第1の品質尺度又は誤差値は、この第1のモードに従って圧縮されたブロック表現を使用して判定される。これに対応して、第2のモードに従って画像ブロックを圧縮することと関連する第2の品質尺度又は誤差値は、第2のモードに従って圧縮されたブロック表現を使用して判定される。次に、これら2つの尺度が比較され、最高の品質(最小の誤差値)を与える圧縮モードが選択される。この選択されたブロックに従って圧縮されたブロック表現は、現在のブロックの符号化表現として使用される。
いずれの場合にも、得られた符号化画像ブロックは、モードインデックス、2つのコードワード及びインデックスシーケンスを含む。
モードインデックスが第1の圧縮モードを表す場合、第1のコードワードは、画像ブロック中の画像単位の色の表現である色コードワードである。第2のコードワードは、ブロック中の画像単位の輝度(強度:intensity)を変更又は変調するために(復号中に)使用される複数の輝度変更子から成るセットの表現である輝度コードワードである。インデックスシーケンスは、画像ブロック中の画像単位毎の輝度インデックスを含む。そのような各輝度インデックスは、輝度変更子セットの1つの輝度変更子と関連付けられる。
第1のモードに従った圧縮により得られたブロック表現は、好ましくは1ビットのモードインデックスと、好ましくは12ビットの色コードワードと、好ましくは3ビットの輝度コードワードと、好ましくは8×2=16ビットの輝度インデックスのシーケンスとを含む。従って、第1のモードに従って符号化されたブロックの好ましい一実施形態のサイズは、わずか32ビットであり、1画素(画像単位)当たり4ビットの圧縮率が得られる。
しかし、モードインデックスが第2の圧縮モードを表す場合には、2つのコードワードは、それぞれ、ブロック中の画像単位の色、好ましくはブロック中の画像単位の少なくとも第1の部分及び第2の部分の色を表す色コードワードである。その場合、インデックスシーケンスは、ブロック中の画像単位の第1のサブセットに対して、2つの色コードワードのうちの一方と関連付けられる色インデックスを含む。ブロック中の画像単位の残る第2のサブセットは、色コードワードのうちの一方との間に事前定義済みの関連性を有するのが好ましく、従って、この残るサブセットの画像単位に対しては、色インデックスは不要である。
第2のモードに従った圧縮により得られたブロック表現は、好ましくは1ビットのモードインデックスと、好ましくは12ビットの第1の色コードワードと、好ましくは12ビットの第2の色コードワードと、好ましくは7×1=7ビットの色インデックスのシーケンスとを含む。従って、符号化画像ブロックのサイズは、わずか32ビットであり、1画素(画像単位)当たり4ビットの圧縮率が得られる。
復号中、伸張されるべき圧縮画像ブロックは識別され、例えば、記憶場所から取り出される。正確な圧縮画像ブロックが識別されると、圧縮ブロック中で見付けられる伸張モードインデックスに基づいて、そのブロックに対して使用する伸張モードが判定される。
このモードインデックスが第1の伸張モードを表す場合、輝度変更子セットが提供される。この変更子セットは、圧縮画像ブロック中の輝度コードワードに基づいて提供される。このセットの提供は、輝度コードワードを使用して、複数の変更子セットを含む輝度テーブルから1つの輝度変更子セットを識別することにより実行されるのが好ましい。その後、画像ブロックの画像単位のうちの少なくとも1つに対して、色表現が生成される。この色の生成は、圧縮ブロック表現の色コードワードに基づいて実行される。復号されるべき画像単位に対して使用する輝度変更子は、その画像単位と関連付けられ、輝度インデックスシーケンス中で見付けられる輝度インデックスに基づいて、提供された変更子セットから選択される。正確な輝度変更子値が選択されると、画像単位の輝度はその値で変更される。
モードインデックスが第2の伸張モードを表す場合には、第1の色コードワード又は第2の色コードワードから選択された色コードワードに基づいて、色表現が、復号されるべき画像単位毎に生成される。この色コードワードは、画像単位の第1のサブセットに属する関連する画像単位と関連付けられる色インデックス(インデックスシーケンスから)を使用して、第1の色コードワード又は第2の色コードワードから選択されるのが好ましい。しかし、画像単位の残る第2のサブセットに属する画像単位は、事前定義済み色コードワードを有し、従って、関連する色インデックスを有さない。そのため、この第2のサブセット中の画像単位の色表現は、事前定義済み色コードワードに基づいて生成される。
符号化画像ブロックのサイズが小さい(32ビット)ため、本発明は、メモリ容量及びメモリ帯域幅が限定されたシンクライアントに最適である。加えて、符号化の速度が非常に速いので、クロック周波数の低い端末においても、符号化を実行できる。更に、例えば、少数の規格コンポーネントを使用するハードウェアにおいて、復号を極めて単純に実現できる。
本発明は、次のような利点を提供する。
−2つの圧縮動作モード及び2つの伸張動作モードが利用可能なため、異なる画像タイプに高い品質(ピーク信号/雑音比)を与える;
−復号のハードウェアによる実現が、極めて簡単である;
−符号化が非常に高速であり、その結果、クロック周波数の低い端末でも実現可能である;
−第1の伸張動作モードにおいては、コンピュータにおいて実現可能な速度で、網羅的な(exhaustive、全数)符号化が可能である;
−符号化画像データは、メモリ容量及びメモリ帯域幅が限定されたシンクライアントに適したサイズを有する。
本発明により提供される他の利点は、以下の本発明の実施形態の説明を読むことにより理解されるであろう。
本発明は、本発明の更なる目的及び利点を含めて、添付の図面と共に以下の説明を参照することにより最もよく理解されるであろう。図中、同一の図中符号は、対応する要素又は類似する要素に対して使用される。
本発明は、画像及び図形の処理に関し、特に、画像の符号化又は圧縮、及び符号化(圧縮)画像の復号又は伸張に関する。
一般に、本発明によると、画像符号化中、画像は多数の画像ブロックに分解又は分割される。そのような各画像ブロックは、複数の画像単位、すなわち少なくとも2つの画像単位を含む。画像単位は、特に、ある特定の色等の画像単位関連プロパティを有する。その後、画像ブロックは符号化又は圧縮され、画像の符号化表現を生成する。
符号化画像が画面上に表示される時、又は符号化画像に関連する形状プリミティブがレンダリングされる時、符号化画像ブロックの関連する画像単位は識別及び復号される。それらの復号画像単位は、表示するために元の画像の復号表現を生成するのに使用されるか、又は形状プリミティブをレンダリングするのに使用される。
本発明は、写真、テキスト及び「合成」画像等の3次元(3D)図形及び画像に対する使用に非常に適している。それら3D図形及び画像の全てが、ゲーム、3Dマップ、3Dシーン、3Dメッセージ、例えば動画メッセージ、スクリーンセーバ、マンマシンインタフェース(MMI)等のアプリケーションで使用できるが、これらに限定されない。本発明は、1次元(1D)画像、2次元(2D)画像又は3D画像等の他の種類の画像又は図形の符号化に対しても採用できる。
本発明において、「画像単位」という表現は、画像ブロック中の要素又は画像ブロックの符号化(圧縮)表現を示す。この画像ブロックは、画像又はテクスチャの一部に対応する。本発明によると、画像単位は、(1D、2D又は3D)テクスチャの1つのテクセル又は(1D、2D又は3D)画像の1つの画素であってもよい。それに対応して、画像単位は、3Dテクスチャ又は画像の1つのボクセルであってもよい。一般に、画像単位は、色値及びノーマルマップベクトル等の特定の画像単位関連プロパティにより特徴付けられる。更に以下において、用語「画像」は、本発明により符号化及び復号される任意の1D、2D又は3D画像、あるいは1D、2D又は3Dテクスチャを示すために使用される。
(画像符号化)
図1は、本発明に従って画像を符号化する(非可逆)方法の一実施形態を示すフローチャートである。第1のステップS1において、画像は、多数の画像ブロックに分解又は分割される。そのような各画像ブロックは、複数の画像単位を含む。本発明の好適な一実施形態において、画像ブロックは、8つの画像単位(画素又はテクセル)を含み、m=3−n及びn=0,1,2,3である場合に2×2の画像単位のサイズを有する。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つの画像単位を有するブロックに限定されず、7つ以下又は9つ以上の画像単位、例えば4×4の画像単位を有する画像ブロックと関連して使用することもできる。
図1に戻ると、画像ブロック全体は、ステップS1において(オーバラップしない)画像ブロックに分解されるのが好ましい。しかし、いくつかのアプリケーションにおいて、画像の一部のみが符号化され、その後、その部分のみが画像ブロックに分解される。
続くステップS2〜S5は、画像ブロックの符号化又は圧縮を実行する。画像ブロック圧縮の本実施形態において、基本的に、画像ブロックの2つの符号化(圧縮)バージョン又は表現は、2つの符号化又は圧縮モードに従って生成される。2つの符号化ブロック表現の各々は、2つのコードワードと画像単位関連インデックスのシーケンスとを含む。更に、得られた2つの異なる符号化ブロックのサイズは、ビット数に関して等しいのが好ましい。第1の圧縮モードは、色が類似する画像単位を有する画像ブロックを圧縮するのに特に適しており、クロミナンス成分よりルミナンス成分をよく保持する。第2の圧縮は、例えば、ブロックの画像単位が基本的に色の異なる2つのクラスタにグループ化される場合のように、第1の圧縮モードにより得られる結果が不十分である状況で採用される補助モードとみなされる。
2つの異なる圧縮モードを使用することにより、画像ブロックの個々のプロパティによりよく適応できるため、柔軟性が符号化方法に与えられる。ブロック毎に2つの異なる圧縮モードのうちいずれかを選択できるため、単一の(固定された)符号化を伴う従来の符号化方式と比較して、処理後の画像の画質は改善される。従って、2モード符号化方法の品質は、単一の圧縮モードのみにアクセスできる対応する符号化方法と比較して、ピーク信号/雑音比(PSNR)に関して約1dB改善される。
ステップS2において、画像ブロックに対する第1のコードワード及び第2のコードワードが、2つの圧縮モードの各々に対して判定される。すなわち、全部で4つのコードワードが判定される。それらコードワードは、ブロック中の画像単位と関連付けられたプロパティを表す。第1の圧縮モードバージョンにおいて、コードワードは、色コードワード及び輝度コードワードを含む。第2の圧縮モードバージョンの対応するコードワードは、第1の色コードワード及び第2の色コードワードである。これについては、以下に更に詳細に説明する。次のステップS3において、画像単位関連インデックスのインデックスシーケンスが、各圧縮モードに対して提供される。そのシーケンスは、ブロック中の画像単位の少なくとも1つのサブセットの各画像単位に対して、第1のコードワード又は第2のコードワードのいずれか一方と関連付けられたインデックスを含む。あるいは、インデックスは、第1のコードワード又は第2のコードワードのいずれか一方に基づいて提供又は生成された輝度変更子、あるいは色表現と関連付けられる。
各々が2つのコードワード及びインデックスシーケンスを含む2つの得られた圧縮画像ブロックバージョンは、次のステップS3において取得される。次のステップS4において、現在の画像ブロックに対して使用する圧縮モードが選択される。換言すると、2つの生成された圧縮画像ブロックのうちのどちらを画像ブロックの符号化又は圧縮表現として使用するかを判定する。このモード選択は、2つの符号化ブロックと関連付けられた誤差表現の比較に基づいて実行されるのが好ましい。それらの誤差表現は、第1のモード又は第2のモードに従って画像ブロックを圧縮することに関連する画質表現を示す尺度である。最小の誤差表現を結果として与える又は最小の誤差表現に関連する圧縮モード(及び圧縮画像ブロック)は、ステップS4において選択される。次のステップS5において、選択された圧縮モードと関連する又は選択された圧縮モードを示すモードインデックスが提供される。このモードインデックスは、選択された圧縮モードを使用して生成された圧縮ブロック表現に挿入される。
従って、得られた符号化又は圧縮ブロック表現は、モードインデックス、第1のコードワード、第2のコードワード及びインデックスシーケンスを含む。
ステップS2〜S5は、ステップS1の分解の間に提供された全てのブロックに対して繰り返されるのが好ましい(線L1により概略的に示される)。その結果、圧縮画像ブロックのシーケンス又はファイルが得られる。得られた圧縮画像ブロックは、ステップS1のブロック分解で分解された順番と同一の順番で、左から右及び上から下へファイルに配列される。方法は、ここで終了する。いくつかの例において、2つの圧縮モードの結果、符号化画像は、第1の圧縮モード又は第2の圧縮モードのみに従って圧縮された画像ブロックを含む。しかし、最も実用的な実現例の場合、そのような符号化画像は、通常、第1のモードに従って圧縮されたいくつかのブロック表現及び第2のモードに従って圧縮されたいくつかのブロック表現を含む。
符号化画像は、後で画像のレンダリング、例えば表示を行なうまで格納しておくためにメモリに提供される。更に、符号化画像は、別のユニットへ(無線又は有線)送信するために、符号化ブロック表現の信号として送信機に提供される。
図3は、図1のコードワードを判定するステップ及びインデックスシーケンスを提供するステップをさらに詳細に示すフローチャートである。図中、左側の3つのステップS10〜S12は、第1の圧縮モードに従い、右側の2つのステップS13及びS14は、第2の圧縮モードに従う。従って、ステップS10〜S12の結果、第1の圧縮モードに従って圧縮された画像ブロックが得られ、ステップS13及びS14の結果、第2のモードに従って圧縮された画像ブロックが得られる。尚、ステップS10〜S12は、ステップS13及びS14と同時に実行でき、それにより、2つの圧縮ブロック表現がほぼ同時に生成される。あるいは、第1のモードに従うブロック圧縮(ステップS10〜S12)は、第2のモードに従うブロック圧縮(ステップS13及びS14)と連続して実行できる。
方法は、図1のステップS1から継続する。最初に、ステップS10において、色コードワードが画像ブロックに対して判定される。この色コードワードは、画像ブロック中の画像単位の色の表現であり、このモードにおいて画像ブロックと関連付けられた2つのコードワードのうちの第1のコードワードである。好適な実施形態において、色コードワードは、ブロックの画像単位の平均色の表現である。色は、RGB(赤、緑、青)色、YUV空間又はRCrCb空間の色、あるいは画像及び図形の処理及び管理において使用される他の任意の色空間の色であってもよい。色コードワードは、元の画像と同一の色フォーマット(空間)にあるのが好ましい。しかし、場合によっては、画像を異なる色フォーマットに変換すること、すなわち第1の色空間にある色コードワード及び第2の異なる色空間にある元の画像を有することが有用である。色コードワードは、12ビット色表現シーケンスであるのが好ましい。例えば、RGB色コードワードは、赤色成分に対する4ビット、緑色成分に対する4ビット及び青色成分に対する4ビットを含む。それに対応して、YUV色コードワードは、このモードにおける3つの異なる成分に対してそれぞれ6ビット、3ビット、3ビットを含む。
その後、ステップS11において、輝度コードワードが提供される。この輝度コードワードは、画像ブロック中の画像単位の輝度を変更するのに(復号中に)使用される複数の輝度変更子のセットの表現であり、画像ブロックに関連づけられた2つのコードワードのうち、2番目のものである。
本発明の好適な一実施形態において、輝度コードワードは、輝度変更子セットの識別を可能にするインデックス又は表現である。このインデックスは、いくつかの異なる輝度変更子セットを含むテーブル又はコードブックのセットを識別又は指示できる。各セットは、2つ以上の輝度変更子値、好ましくは、少なくとも4つの変更子値を含む。好適な一実施形態において、セットの変更子値は数学的相補値である。すなわち、各セットは対称であるのが好ましい。
輝度テーブルは、徐々に変化する表面の表現を可能にするのに適した小さな輝度変更子値を含むセットを含むのが好ましい。更に、テーブルは、鮮鋭なエッジの表現を可能にするのに適した大きな輝度変更子値を含むセットを含むのが好ましい。
テーブル中のセットの実際の輝度変更子値は、ランダム値で開始し、当業者には周知のLBGアルゴリズム(Linde、Buzo及びGray)(非特許文献1)、アニーリング法及び座標検索のバージョン等の種々の最適化方式及び最適化アルゴリズムを使用してそれらの値を最適化することにより見付けられる。例えば、写真、ゲーム風のテクスチャ、テキスト等の、異なる種類の少数の画像は、トレーニングデータとして使用される。
より安価に輝度テーブルのハードウェアを実現するために、上述したように、セットの輝度変更子を対称にし、且つ/又は特定のセットの輝度変更子を、例えば2の係数により変更された別のセットの輝度変更子のコピーとしてもよい。
表1は、本発明に基づき使用されうる、4つの識別子値を各セットに有する輝度変更子の8つのセットを含む輝度テーブルの一例を示す。
Figure 0004444970
表1において、輝度変更子セット5〜8は、セット1〜4のコピーに係数2を乗算したものである。
輝度テーブルが最大8つの輝度変更子セットを含む場合、輝度コードワードは、テーブルの(8つの)セットのうちの1つ、例えばコードワード001binに対しては[-32, -9, 9, 32]を識別する3ビットインデックス(000bin〜111bin)であるのが好ましい。セット中の変更子値を慎重に選択するため、表1全体は、8つの変更子値のみを使用して再構成され、残りの24個の値はそこから計算される。
本発明は、表1の使用に限定されず、他の輝度変更子セット及び値を有する他のテーブルを使用してもよい。更に、テーブル中のセットが9つ以上又は7つ以下である場合、輝度コードワードのサイズを変更する必要がある場合がある。例えば、テーブルが2つ(3〜4又は9つ以上)の輝度変更子セットを含む場合、輝度コードワードのサイズは、1ビット(2ビット又は4ビット(あるいはそれ以上))に限定される。更に、1セット当たりの輝度変更子値の数は4つ以外であってもよい。例えば、セット毎に5つの値が使用されてもよく、[-32, -9, 0, 9, 32]が例として与えられる。上述したように、テーブル中のセットの輝度値は、いくつかの異なる種類の画像をトレーニングデータとして使用して判定される。しかし、特定の画像の種類のみが符号化される場合、その画像の種類に対応するトレーニングデータを使用して、すなわち特定の画像の種類に専用の輝度テーブルを提供することにより、変更子値は判定される。また、特定の画像に適応された輝度変更子値を含む輝度テーブルを有することも可能である。このような場合、すなわち画像又は画像の種類に専用のテーブルの場合、符号化画像ブロックの圧縮ファイルにテーブルの輝度変更子値を含むか、又は変更子値を圧縮ファイルと関連付ける必要があるだろう。
なお、輝度コードワードは、テーブル中の輝度変更子セットに対するポインタである必要はなく、実際には、輝度変更子セット自体であってもよい。例えば、9及び32等の2つの変更子値を含み、この場合、−9及び−32等の他の変更子値は、それら2つの値から判定される。しかし、このような場合、輝度コードワードは、それがセットインデックスである場合よりも、比較的大きいものとなるだろう。あるいは、aが0又は正の整数であり、k、k1及びk2が乗算係数である場合、採用された輝度変更子セットは、[-ka, -a, a, ka]又は[-k1a, -k2a, k2a, k1a]であってもよい。この時、輝度コードワードは値aのみを含む必要があり、k又はk1及びk2が事前定義済み乗算係数である場合、残る全ての3つの値は値aから計算される。
ステップS11において輝度コードワードが提供されると、次のステップS12では、画像ブロック中の画像単位に対する輝度インデックス又は輝度表現を選択する。そのような各輝度インデックスは、ステップS11で提供された輝度変更子セットの1つの輝度変更子値と関連付けられる。換言すると、輝度インデックスは、ブロックの特定の画像単位に対して使用するセットの輝度変更子の識別を可能にする。
−32、−9、9、32等の4つの変更子値を含む輝度変更子セットの場合、輝度インデックスは、それら4つの値のうち1つの値を識別する2ビットシーケンスであってもよい。
ステップS12は、画像ブロック中の全ての画像単位に対して繰り返されるのが好ましい。ステップS10〜S12の圧縮の結果、圧縮画像ブロック、又は更に厳密には画像ブロックの圧縮(符号化)表現が得られる。そのような圧縮ブロック表現700Aを図4Aに示す。表現700Aは、色コードワード(第1のコードワード)720A、輝度コードワード(第2のコードワード)730A及び輝度インデックス(好ましくは、ブロック中の各画像単位に対して1つの輝度インデックス)のシーケンス又はビットマップ740Aを含む。更に、圧縮ブロック表現700Aは、第1の圧縮モードと関連付けられたモードインデックス710Aを含む。尚、圧縮画像ブロック700Aのモードインデックス710A、色コードワード720A、輝度コードワード730A及び輝度インデックスシーケンス740Aの相互順序は、図示される順序と異なってもよい。また、コードワード及びインデックスシーケンスは、連続して配置される必要はない。
画像ブロックが8つの画像単位を含み(例えば、図2A及び図2Bを参照)且つ各輝度インデックスが2ビットである場合、シーケンス740Aのサイズは16ビットである。更に、色コードワード720Aの対応するサイズは12ビットであり、輝度コードワード730Aのサイズは3ビットであり、モードインデックス710Aは1ビットであると仮定する。画像ブロックの符号化表現700Aの全体のサイズは32ビットとなり、4bppの圧縮率が得られる。表現700Aのその小さな(32ビット)サイズは、通常16ビット又は32ビットのメモリバスを有する移動ユニット等のシンクライアントに非常に適する。その結果、符号化表現700Aを読み出すために、1回のメモリアクセス、最悪でも2回のメモリアクセスが必要とされる。
図3の第2の圧縮モードに進むと、ステップS13は、画像ブロック中の画像単位の色の表現である第1の色コードワード及び第2の色コードワードを判定する。好適な実現例において、第1の色コードワード及び第2の色コードワードは、ブロック中の画像単位の第1の部分及び第2の部分をそれぞれ表す。簡単に説明したように、第2の圧縮モードは、画像単位が色空間の2つのクラスタに分散される画像ブロックの圧縮に特に効果的である。第1の色コードワードは、第1の画像単位クラスタの色を効率的に表し、第2のコードワードは、第2のクラスタを表す。更に、第1の圧縮モードで使用される輝度テーブルは、非ゼロ輝度変更子のみを含むと仮定する。そのような場合、第1の圧縮モードは、色コードワードが全ての画像単位に対して所望の色を正確に表す画像ブロックを圧縮するのに特に適切ではない。全ての輝度変更子が非ゼロ値を有するため、画像単位毎に変更子値が色表現に加算される必要がある場合、その所望の色は復号中に取得されない。しかし、第2の圧縮モードにおいては、2つの色コードワードのうち少なくとも一方は、その所望の色を正確に表すことができ、画像ブロックの更に正確な圧縮表現を可能にする。
次のステップS14において、2つの色コードワードのうちいずれか一方を指し示す又はいずれか一方と関連付けられる色インデックスが選択される。第1の実施形態において、ブロック中の各画像単位は、各色インデックスと関連付けられる。しかし、本発明の好適な実施形態において、圧縮ブロック表現の全体のサイズがより小さくなると、ブロック中の画像単位のサブセットは、第1のコードワード又は第2のコードワードから選択された事前定義済み色コードワードと関連付けられる。その結果、画像単位に対して、色インデックスの選択又は割当ては実行される必要がなくなる。例えば、第1(最後)の画像単位は、第1(又は第2)の色コードワードと常に関連付けられる。従って、インデックスシーケンスは、第1(最後)の画像単位に対して色インデックスを含む必要がない。その結果、全部で8つの画像単位を有する画像ブロックの場合、シーケンスは、7つの色インデックスを含む。本発明によると、2つ以上の画像単位が色コードワードと事前に関連付けられると考えられる。
ステップS14は、色インデックスが生成されるべきブロックの全ての画像単位に対して繰り返されるのが好ましい。ステップS13及びS14の圧縮の結果、圧縮画像ブロック表現が得られる。そのような圧縮ブロック表現700Bを図4Bに示す。表現700Bは、第1の色コードワード(第1のコードワード)720B、第2の色コードワード(第2のコードワード)730B及び色インデックス(好ましくは、ブロック中の画像単位の1つのサブセットに対して1つの輝度インデックス)のシーケンス又はビットマップ740Bを含む。更に、圧縮ブロック表現700Bは、第2の圧縮モードと関連付けられたモードインデックス710Bを含む。尚、圧縮画像ブロック700Bのモードインデックス710B、第1の色コードワード720B、第2の色コードワード730B及び色インデックスシーケンス740Bの相互順序は、図示される順序と異なってもよい。また、コードワード及びインデックスシーケンスは、連続して配置される必要はない。
画像ブロックが8つの画像単位を含み(例えば、図2A及び図2Bを参照)、各色インデックスが1ビットであり、且つブロック中の画像単位の1つが事前定義済み色コードワードと常に関連付けられる場合、シーケンス740Bのサイズは7ビットである。更に、第1の色コードワード720B及び第2の色コードワード730Bの対応するサイズはそれぞれ12ビットであり、モードインデックス710Bは1ビットであると仮定する。画像ブロックの圧縮表現700Bの全体のサイズは32ビットとなり、4bppの圧縮率が得られる。
上述において、2つの色コードワードは、同一サイズ(それぞれ12ビット)である。しかし、本発明はこれに限定されない。例えば、第1の色コードワードは、第2のコードワードより高い解像度で表され、そのため、第1の色コードワードは、第2の色コードワードより多くのビットを含む。そのような場合、第1の色コードワードは15(18)ビットのサイズを有し、第2の色コードワードは9(6)ビットである。
異なるサイズの色コードワードを利用する別の実施形態において、第1の色コードワードは、例えば3つの色成分の各々に対して5ビットを有する標準色として符号化されてもよい。一方、第2の色コードワードは、第1の色コードワードの関数として符号化されてもよい(例えば9ビットを使用して)。9ビットは、使用する関数を指定するために使用されてもよい。例えば、9ビットの第2の色コードワードの最初の3ビットは、第2のコードワードの色成分を取得するために、第1の色コードワードの色成分のスワップ方法を指定してもよい。第1の色コードワードがR1, G1, B1である場合、第2の色は、最初の3ビットに依存して、以下の表2から取得される:
Figure 0004444970
第2のコードワードの残りの6ビットは、得られる色表現を微調整するために使用される。例えば、2ビットは、表3に従って赤色成分を調整するために使用される:
Figure 0004444970
同一の手順が、緑色成分及び青色成分のそれぞれに対して実行されるのが好ましい。
そのような符号化が色を個別に符号化するより適切な効果を有する理由は、第1の色及び第2の色が互いに依存しているからである。t∈[-∞, ∞]の時、多くの場合、第2の色が以下の線上にないことが分かる。
Figure 0004444970
これは、第2の色が線上にあるとすると、第1の圧縮モードが優れており、選択されるからである。R1がG1及びB1と異なり、G1がB1と異なる場合、表の最後のエントリR1, G1, B1以外の表2のいずれの色も線(1)上にない。これは、表2により表されるシャフリング関数が、線(1)上に存在せず且つ第2の色表現の適切な候補である色を生成する安価な方法であることを示す。
上述の実施形態において、スワッピング関数は、第2のコードワードに対する未調整(基本)色を第1のコードワードから生成するために選択された。しかし、本発明は、そのようなスワッピング関数の使用に限定されない。例えば、反転関数が表4に従って採用される。
Figure 0004444970
あるいは、表5に示されるように、「ゼロに設定する」関数が採用される。
Figure 0004444970
更に別の例においては、表6に従って「255に設定する」関数が使用される。
Figure 0004444970
表4及び表6において、最大色成分値は255、すなわち、全部で256個の色レベルを有すると仮定する。異なる最大数の色レベルLが使用される場合、表4及び表6において、値255はL−1と交換されるのが好ましい。
別の実施形態において、表7による最近接関数が使用される。
Figure 0004444970
表7において、定数8は、第1の色に対して行なわれたように15ビットを使用する時に区別可能な最小の数であるため選択された。しかし、この原理は、任意の非ゼロ定数に拡張できる。
更に、2つ以上の関数は、第2の色を取得するために、第1の色(コードワード)に対して連続して適用される。例えば、表2のスワッピング関数の後に、表5のゼロに設定する関数が続く。第1の色コードワードを使用して生成された第1の色表現は(173, 0, 57)であり、第2の色コードワードは010 000binであると仮定する。表2を参照すると、第2の色表現は、最初に3つのMSB(010bin)に従ってスワップすることにより取得され、その結果は(173, 57, 0)となる。このスワップされた色は、ビットパターン000binを使用してゼロに設定する関数(表5)に従って処理され、その結果、(0, 57, 0)の第2の色表現が得られる。
常に線(1)上に色を生成するとは限らず且つ好ましくは実現するのに単純である任意の関数又は関数の任意の組合せが使用されることは、当業者には理解される。
画像ブロック中の全ての画像単位が同一の色コードワードと関連付けられる場合、残りの色コードワードに対して使用されるビットは、有用なことに使用されない。それらビットは、単に無意味なものである。しかし、それらは、圧縮画像ブロックの品質を向上する更に有用なことに使用される。例えば、それら余分なビットは、画像単位によりインデックス化された色コードワードを変更又は増加するために使用されてもよい。Rx、rx、Gx、gx、Bx、bxがそれぞれ0bin又は1binであり、x=0...3である場合、第1の色コードワードは(R0R1R2R3G0G1G2G3B0B1B2B3)であり、第2の色コードワードは(r0r1r2r3g0g1g2g3b0b1b2b3)であると仮定する。復号中、それら2つのコードワードを組み合わせて(R0R1R2R3r0r1r2r3G0G1G2G3g0g1g2g3B0B1B2B3b0b1b2b3)とすると、ブロック中の画像単位の色の24ビット表現が取得される。
方法は、図3のステップS12又はステップS14から図1のステップS4に継続する。
図1に従って実行される圧縮方法のテスト実験は、種々の画像に対して行なわれた。殆どのテスト実験において、画像ブロックの大多数(>90%)が、第1の圧縮モードに従って圧縮された。このことは、第1のモードは、殆どの画像ブロックのPSNRに関して最高の品質を与える主な圧縮モードとして考えられ、第2のモードは、第1のモードにより得られる結果が不十分である場合にそれらブロックに対して使用される補助圧縮モードとして考えられることを更に示す。上述の2つのモードの好適な実現例において、双方のモードは、画像ブロックを圧縮するために使用される「有用な」31ビットにアクセスする。残りの単一ビットは、モードインデックスとして使用される。本発明の別の実施形態において、単一ビットと異なる種類のモードインデックスが使用される。そのモードインデックスは、2つの圧縮モードに対して異なる量の「有用な」ビットの割当てを可能にするが、依然として圧縮画像ブロックの全体のサイズを維持する。
本実施形態において、単一のモードビットは省略され、それにより1ビットが解放される。このビットは、輝度コードワードに追加され、4ビットの好適な輝度コードワードのサイズになる。その結果、潜在的に16個の変更子セットを有する輝度テーブルが使用される。しかし、それら16個のテーブルエントリから12個のみが、輝度変更子セットとして使用されるのが好ましい。残る4つのテーブルエントリは、第2の圧縮モードを知らせるモードインデックスである。表8は、そのようなテーブルの例であるが、これに限定されない:
Figure 0004444970
0001bin〜0011bin、0101bin〜0111bin、1001bin〜1011bin又は1101bin〜1111binの4ビットワードは輝度コードワードを表し、第1の圧縮モードが使用されるべきである。この第1の圧縮モードにおいて、モードインデックス及び輝度コードワードは、同一の4ビットを共有する。換言すると、輝度インデックスが表8の12個の可能な輝度変更子セットのうちの1つと関連付けられる場合、第1の圧縮モードが現在のブロックに対して使用されるべきであるか又は使用された。尚、表8全体は、12個の輝度変更子値の組合せで得られる。それは、残る36個の変更子値がそれら12個の値から計算されることを示す。
本実施形態において、変更済み輝度テーブルは、第1のモードにおいて、画像ブロックの輝度解像度を増加するために使用される。最初、第1のモードのこの解像度の増加は、第2の圧縮モードに対して3ビットを犠牲にして得られる(モードインデックス0000bin、0100bin、1000bin又は1100binのために4ビットが有用でないが、単一のモードビットを省略するため余分な1ビットが有用となる)。しかし、提案される「モード2」−特定のモードインデックスを慎重に調査することにより、2つのLSBは、全てのモードインデックスに対して同一(00bin)であることが分かる。従って、2つのMSBは、「有用な」データ、例えば色コードワード又は色インデックスデータを表すために採用される。その結果、第1の圧縮モードに対する余分な1ビットの増加は、第2の圧縮モードに対して有用でない1ビットにより得られる。この単一ビットは、第2の色コードワードから得られるのが好ましく、第2のコードワードの青色成分から得られるのが更に好ましい。
図4Aに示される圧縮された圧縮ブロック表現と比較すると、第1のモードの本実施形態に従って圧縮されたブロック表現は、12ビット色コードワード、4ビットの輝度コードワード及びモードインデックスの組合せ、16ビット輝度インデックスシーケンスを含むのが好ましい。これに対応して、第2のモードの本実施形態に従って圧縮されたブロック表現は、12ビットの第1の色コードワード、11ビットの第2の色コードワード、7ビット色インデックスシーケンス及び4ビットモードインデックスを含む(図4Bと比較して)のが好ましい。4ビットモードインデックスのうち2ビットは、例えば第1のコードワード、第2のコードワード又はインデックスシーケンスに共有される。それら2つのモードにおいて、圧縮ブロック表現の全体のサイズは、32ビットであるのが好ましい。
上述において、0000bin、0100bin、1000bin及び1100binの4ビットワードは、第2の圧縮モードを知らせるためのモードインデックスとして使用された。しかし、これは単に例として示され、本発明はこれに限定されない。実際には、X、Y、Zがそれぞれ0bin又は1binである場合、XYZZ、ZZXY、XZZYの4つの4ビットワードは、第2の圧縮モードを表すことができる。本発明によると、4つ以外の数の「モード2」−特定のモードインデックス、例えば1つ、2つ又は3つのモードインデックスが採用されてもよいことが理解される。そのような場合、表8は、輝度変更子値を含み且つ第1のモードに専用の13個以上(又は11個以下)のエントリを含むだろう。
上述において、本発明は、8つの画像単位を含む画像ブロック、例えば1×8、8×1、2×4、4×2又は2×2×2の画像単位の画像ブロックを参照して主に説明された。尚、2×2×2の画像単位の画像ブロックは3D図形に適用可能である。しかし、本発明はそれらに限定されない。一般に、本発明は、m、nがそれぞれ0又は正の整数、好ましくは0、1、2、3から選択される場合、サイズ2×2の画像単位の画像ブロックに適用可能である。2つの画像ブロックは情報を共有し、1つのより大きな単位として圧縮及び伸張される。例えば、2つの2×4(又は4×2)のブロックは、4×4の単位に組み合わされる。第1の圧縮モードにおいて、それら2つの画像ブロックは、モードインデックス及び輝度コードワードを共有し、それにより、例えば緑色成分の解像度及び輝度コードワードを増加するために使用される4ビットを基本的に解放する。そのような場合、4×4の単位は、例えば1ビットのモードインデックス、第1の画像ブロックに対する13ビットの色コードワード、第2の画像ブロックに対する13ビットの色コードワード、5ビットの輝度コードワード及び32ビットの輝度インデックスシーケンスを含む圧縮された単位に圧縮される。圧縮単位は、オプションとして16ビット(又は15ビット)の色インデックスシーケンスを含み、単位中の全ての画像単位(1つの画像単位は、コードワードのうちの1つとの間に事前定義済みの関連性を有する)に対して2つのコードワードのうち一方を選択することを可能にする。それに対応して、第2の圧縮モードにおいては、圧縮単位は、1ビットのモードインデックス、第1の画像ブロックに対する12ビットの第1の色コードワード、第1の画像ブロックに対する12ビットの第2の色コードワード、第2の画像ブロックに対する12ビットの第1の色コードワード、第2の画像ブロックに対する12ビットの第2の色コードワード及び15ビットの色インデックスシーケンスを含むのが好ましい。
図1に関連して上述した符号化の実施形態において、現在の画像ブロックに対して使用する圧縮モード及び圧縮ブロックバージョンの選択は、2つのモードに対するコードワード及びインデックスシーケンスの生成後に実行される。その結果、殆どの場合、画像の各画像ブロックに対して最適な圧縮モードが選択される。このモードの「最適な選択」は、画像ブロックを2つの異なる圧縮表現に圧縮することにより得られる。従って、1つの圧縮表現のみを生成することと比較して、余分な処理能力及び計算作業が必要とされる。
本発明の別の実施形態において、圧縮モードの選択は、圧縮の手順中、すなわちコードワード及び/又はインデックスシーケンスの生成中に行なわれる。従って、2つの完全なブロック表現は、選択が実行される前に生成される必要はない。その結果、いくつかの画像ブロックに対して最適でないモードの選択を行なう可能性はあるが、使用される計算作業は少なくなる。
図5は、符号化方法の別の実施形態を示す。ここで、圧縮モードの選択は、画像ブロックの実際の処理(圧縮)の前に実行される。従って、単一の圧縮ブロック表現が、画像ブロック毎に生成される必要がある。方法はS20で開始し、これは、図1のステップS1に対応するため、更なる説明は行なわない。次のステップS21において、現在のブロックが圧縮又は符号化される際に従うべき圧縮モードが選択される。この早いモード選択は、ブロック中の画像単位のプロパティの調査に基づいて行なわれるのが好ましい。好適な実施形態において、選択は、関連する色空間における画像単位の色の分布に少なくとも部分的に基づく。これについては、以下に更に詳細に説明する。適切な圧縮モードがステップS21において選択されると、ステップS22において、その圧縮モードと関連付けられたモードインデックスが提供される。
残る2つのステップS23及びS24は、1つの大きな例外を除いて、図1のステップS2及びS3に対応する。S2及びS3において、各々が2つのコードワード及び1つのインデックスシーケンスを含む2つのセット、圧縮モード毎に1つのセットが判定された。しかし、本実施形態において、ブロックに対して使用する圧縮モードが既に判定されているため、ステップS23及びS24において、2つのコードワード及び1つのインデックスシーケンスのセットが1つのみ判定される。図3及び図5を参照すると、ステップS22で提供されたインデックスモードが第1の圧縮モードを表す場合、2つのステップS23及びS24は、図3の左側の3つのステップS10〜S12に従って実行されるのが好ましい。しかし、インデックスモードが第2の圧縮モードを表す場合、ステップS23及びS24は、図3の右側のステップS13及びS14に従って実行されるのが好ましい。
従って、得られる符号化又は圧縮ブロック表現は、選択された圧縮モードに応じて、モードインデックス、第1のコードワード、第2のコードワード及びインデックスシーケンスを含む。
ステップS21〜S24は、ステップS20の分解中に提供された全ての画像ブロックに対して繰り返されるのが好ましい(線L2により概略的に示される)。その結果、圧縮画像ブロックのシーケンス又はファイルが得られる。方法は、ここで終了する。
符号化画像は、後で画像のレンダリング、例えば表示を行なうまで格納しておくためにメモリに提供される。更に、符号化画像は、別のユニットへ(無線又は有線)送信するために、符号化ブロック表現の信号として送信機に提供される。
図6は、図3の色コードワード、輝度コードワード及び輝度インデックスシーケンスを生成するステップ(S10〜S12)、並びに図1及び図5の第1の圧縮モードに対してコードワードを判定するステップ及びインデックスシーケンスを提供するステップ(S2〜S3及びS23〜S24)の一実施形態を示す。ステップS30において、画像ブロック中の画像単位の平均色が判定される。以下において、画像の画像単位の色がRGB色の24ビット、すなわち赤色成分の8ビット、緑色成分の8ビット及び青色成分の8ビットにより表される。しかし、本発明はこの特定の例に限定されず、画像単位の任意の色表現に適用可能である。平均色
Figure 0004444970
は以下の式で判定される:
Figure 0004444970
式中、Ri、Gi、Biは、画像単位iのR成分、G成分、B成分である。Nは、画像ブロック中の画像単位の総数である。
平均色
Figure 0004444970
がステップS30において判定されると、次のステップS31は平均色を量子化する。平均色は、12ビットのシーケンス(色コードワード)に量子化されるのが好ましい。換言すると、8ビットの各平均成分は、4ビットの平均成分に量子化される。例えば、平均色
Figure 0004444970
は計算され、以下のようになる:
Figure 0004444970
4ビットの量子化バージョン
Figure 0004444970
は、以下から生成される:
Figure 0004444970
すなわち、[A, 5, 1]hex=[1010, 0101, 0001]binは、(12ビット)色コードワードとして使用される。
ステップS32は、テーブルの種々の輝度変更子セット及びセットの種々の変更子値を調査する。次のステップS33は、変更子セット及び変更子値の各検査に対する誤差値を計算する。ステップS33において、それらの誤差値に基づいて、最小の誤差値を与える変更子セット及びセットの輝度変更子値が選択される。これについては、以下に更に詳細に説明する。
この第1の圧縮モードにおいては、画像ブロックは、単純符号化、全数符号化及び組合せ量子化で示される3つの異なる例のうち1つを使用して符号化される。それらの例については、以下に簡単に説明する。
(単純符号化)
第1の圧縮モードのこの例に基づいて画像ブロックを符号化するために、基本的には、色コードワード及び正確な輝度変更子セットが選択される。選択されると、画像ブロック中の各画像単位の符号化は、セットの4つの輝度変更子全てを試行し且つ誤差を計算することにより行なわれる。いくつかのアプリケーションにおいて、より正確な変更子の選択及びより高い符号化品質は、以下のように、重み付き誤差値を採用することにより得られる:
Figure 0004444970
式中、画像単位の元の(24ビット)色は(R, G, B)であり、
Figure 0004444970
は色コードワード(量子化平均色、12ビット)を示す。選択された変更子セットは[-a, -b, b, a]であり、α∈[-a, -b, b, a]である。wR、wG、wBは、色成分に対する異なる重みである。更に、wGは、wR及びwBより大きいのが好ましい。例えば、wR=5/16、wG=9/16及びwB=2/16、あるいはwR=0.299、wG=0.587及びwB=0.114である。
対応する(重み付き)誤差値は、変更子及びセットの全ての組合せに対して計算され、最小誤差を与える変更子及びセットの組合せが選択される。
この単純符号化において、色成分毎に4ビットに量子化されるブロック中の8つの画像単位の平均色は、色コードワードとして使用される。正確な輝度変更子セットは、全数検索により選択される。すなわち、表1等の輝度テーブル中の8つのセット全てが試行され、誤差値を最小にするセットが選択される。これは、画像単位毎に8×4=32回の評価を必要とする。重みがwR=5/16、wG=9/16及びwB=2/16である場合、整数演算が使用され、符号化は高速になる。この重みの選択肢に対して、単純符号化を使用する64×64画素(画素要素)の画像の符号化は、1.2GHzのPCラップトップ上で100ms未満で行なわれるべきであり、多くの場合は例えば約30msで行なわれる。
(全数符号化)
上述の単純符号化の例において、量子化平均色は、画像ブロック中の画像単位の色の表現(色コードワード)として単純に使用された。第1の圧縮モードにおけるこの全数符号化の例においては、色及び輝度変更子セット(変更子値を含む)の双方が選択される。すなわち、全ての可能な組合せが試行される。特定の画像単位の場合、輝度変更子セットの3ビット及び輝度インデックスの2ビットの全ての先の繰り返しに加え、色の12ビット全てに対する繰り返しが追加され、これらを合わせると217ステップになる。64×64画素の画像の符号化は、単純圧縮の場合と同一のPCラップトップを使用して、数分で行なわれる。これは、ランタイムアプリケーションには長すぎる可能性があるが、オフライン符号化を行なうのに法外な長さではない。
(組合せ量子化)
単純符号化の例と同様に、第1の圧縮モードに係るこの例は(24ビット)平均色
Figure 0004444970
で開始するが、この平均色の色成分は、輝度成分、すなわち輝度変更子セット及び値の選択肢と共に量子化される。
Rlow及びRhighが、
Figure 0004444970
のすぐ下及びすぐ上の4ビット量子化レベル又は値をそれぞれ示す場合、
Figure 0004444970
である。タスクは、Rlow又はRhighのいずれか一方として
Figure 0004444970
を選択することである。緑色成分及び青色成分についても、同じことが当てはまる。
最初に、
Figure 0004444970
として、誤差値が計算される:
Figure 0004444970
これは次のように簡略化される:
Figure 0004444970
式中、
Figure 0004444970
及び
Figure 0004444970
である。更に、α(輝度変更子)は自由に選択されると仮定する。すなわち、qは最適なq=−(δRGB)/3に等しいと仮定する。この最適なαを式(5)に代入し、簡略化すると、以下が得られる:
Figure 0004444970
式中、
Figure 0004444970
は括弧内の式である。
しかし、より大きい値が赤色成分に対して選択される場合、すなわち、
Figure 0004444970
であり、
Figure 0004444970
であることが使用される場合には、式(5)は次のように書き換えられる:
ε2 = ((δR+17)+α)2+(δG+α)2+(δB+α)2 (7)
上記の式は、この場合の最適なα=−(δR+17+δGB)/3を代入することにより、更に簡略化される:
Figure 0004444970
2つの量子化色(Rlow, Glow, Blow)又は(Rhigh, Glow, Blow)のうちのどちらが最適であるか、すなわち、どちらが最小の誤差値を与えるかを判定するために、式(8)の大括弧の中の余分な式が調査される。換言すると、17 + 2δR - δG - δB < 0である場合、(Rhigh, Glow, Blow)が選択されるべきであり、それ以外の場合には、(Rlow, Glow, Blow)が選択される(17 + 2δR - δG - δB = 0の場合、いずれのコードワードを選択してもよい)。この手順は、3つの色成分の低量子化及び高量子化の全ての可能な組合せに対して、すなわち平均色の全ての近傍量子化色に対して繰り返される。その結果が以下の表9に示される。
Figure 0004444970
尚、
Figure 0004444970
は、明示的に計算される必要はなく、使用する量子化レベル(色コードワード)を選択するために、表9の大括弧の中の式(誤差表現)のみが計算される必要がある。更に、色コードワード(Rlow, Glow, Blow)及び(Rhigh, Ghigh, Bhigh)は、同一の誤差値を与える。これは、任意のα(輝度変更子値)に到達できるという仮定の下で言えることである。しかし、現実には、αは、使用される変更子セットの輝度変更子値、例えば表1の変更子値に限定される。表1によると、より小さな変更子値(α)は、より大きな値より高い精度で指定される。これは、
Figure 0004444970
が(Rlow, Glow, Blow)より(Rhigh, Ghigh, Bhigh)に近接する場合、(Rlow, Glow, Blow)より(Rhigh, Ghigh, Bhigh)を選択する方がよく、逆に、
Figure 0004444970
が(Rhigh, Ghigh, Bhigh)より(Rlow, Glow, Blow)に近接する場合には、(Rhigh, Ghigh, Bhigh)より(Rlow, Glow, Blow)を選択する方がよいことを示す。符号化の総時間は、単純符号化と比較して測定できるほどの変化はなかった。すなわち、64×64画素の画像は、100ms未満内で圧縮される。
図7は、図3の第1の色コードワード、第2の色コードワード及び色インデックスシーケンスを生成するステップ(S13及びS14)、並びに図1及び図5の第2の圧縮モードに対してコードワードを判定するステップ(S2〜S3及びS23〜S24)の一実施形態を示す。ステップS40において、画像ブロック中の画像単位の平均色又は重心が判定される。このステップは図6のステップS30に対応するため、更なる説明は行なわない。次のステップS41において、色空間の平均色点を通過する最適な線が計算される。この最適な線は、当業者には周知である主成分分析を使用して判定される。簡単に説明すると、この最適な線は、「慣性モーメント」(平均二乗誤差)を最小にするように、平均色点を通過する色空間における直線として選択される。例えば、この最適な線の方向は、以下のように慣性テンソルTを計算することにより算出される。
Figure 0004444970
式中、Ri、Gi、Bi
Figure 0004444970
を表し、R0 i、G0 i、B0 iは画像単位iの元の色成分である。
Figure 0004444970
は平均色点であり、Nはブロック中の画像単位の総数である。最小の固有値を有するテンソルTの固有ベクトルは、従来の方法を使用して計算される。固有ベクトルの方向は、平均色点と共に、慣性モーメントを最小にする軸を規定する。この軸は、最適な線として使用される。
次のステップS42において、線上の2つの点が選択され、量子化され、色コードワードとして使用される。第1の実施形態において、最適な線上への画像単位の色の投影の分散が計算される。平均色点から分散の約3/4の距離にある線上の2つの点が識別される。2つの選択された点(1つの点が線に沿う平均色点のいずれか一方の側にある)の色成分は、好ましくは4ビットにそれぞれ量子化され、点毎の全体のサイズは3×4=12ビットとなる。これら量子化値は、色コードワードとして使用される。
本発明の別の実施形態において、ブロック中の画像単位の色値は、最適な線上に投影される。平均色点に対して最大の距離にある線上の2つの投影された点(1つの点が平均色点のいずれか一方の側にある)が識別される。それらの2つの点が極値を表すため、平均点と極限色との間に位置する色値をコードワードとして選択するのが好ましい。例えば、平均点と極限点との間の約0.5又は0.75の距離に位置する線上の色点は、上述のように量子化され、色コードワードとして使用される。
別の実施形態において、ブロック中の画像単位の色値は、上述のように最適な線上に投影される。線上の投影された値は、2つのクラスタにグループ化又は分割される。最適な境界を検索する際、選択に関連する誤差を最小にする最適な線上に投影された8つの点に対して、2つのクラスタが識別される。2つのクラスタを最もよく表す2つの量子化(12ビット)色が判定され、色コードワードとして使用される。
更に別の実施形態において、最適な線に沿って適切な点の検索が実行される。そのような場合、小さな(事前定義された)ステップは、平均点から開始して両方向に線に沿って行なわれる。最小の誤差値と関連付けられた点が選択され、量子化され、色コードワードとして使用される。本実施形態において、最大数のステップが行なわれるまで、又は平均点からの最大距離に到達するまで、あるいは極小値が見付けられるまで、検索は継続される。
図8は、図3の第1の色コードワード、第2の色コードワード及び色インデックスシーケンスを生成するステップ(S13及びS14)、並びに図1及び図5の第2の圧縮モードに対してコードワードを判定するステップ(S2〜S3及びS23〜S24)の別の実施形態を示す。ステップS50において、ブロック中の画像単位の色値は、好ましくは12ビット量子化色値に量子化される。全数検索は、複数の量子化色値の間で実行される。この検索の結果、量子化色値をブロックに対する色コードワードとして採用することに関連する誤差値を最小にする2つの量子化色値(尚、それら2つの色値は等しくてもよい)が得られる。2つの最適な量子化色値を色コードワードとして直接使用することができる。しかし、オプションのステップS51において、適切なコードワードの全数検索は、選択された各色値から事前定義された距離内にある複数の色点の間で実行される。例えば、第1の選択画像単位の量子化色はR1G1B1であり、第2の選択画像単位の対応する量子化色はR2G2B2であると仮定する。従って、XR,G,BがR,G,B方向の検索可能な最大距離である場合、第1の色コードワードは、色値R1-XR≦R≦R1+XR、G1-XG≦G≦G1+XG、B1-XB≦B≦B1+XBの間で検索される。第2の色コードワードは、同様の方法で、色点R2G2B2付近で検索される。その検索で見付けられた最適な量子化色値(関連する誤差値を最小にするという点で)は、色コードワードとして使用される。
図9は、図1の圧縮モードを選択するステップを更に詳細に示すフローチャートである。方法は、図1のステップS3から継続する。次のステップS60において、画像ブロックの第1の伸張又は復号表現は、第1の圧縮モードに従って圧縮された画像ブロック表現を使用して生成される。このステップにおいて、ブロック中の画像単位の色表現は、色コードワードに基づいて生成される。輝度変更子セットは、輝度コードワードに基づいて、例えば表1から選択される。画像単位の輝度は、輝度インデックスシーケンスに基づいて変更子セットから選択された輝度変更子を利用して変更される。次のステップS61において、第1の伸張ブロック表現により元の画像ブロックを表すことを示す誤差値が計算される。
Figure 0004444970
は、元(未処理)の画像ブロック中の画像単位iの赤(緑、青)色成分の値を示し、
Figure 0004444970
は、第1の伸張ブロック表現の画像単位iの対応する得られた赤(緑、青)色成分を示す。
Figure 0004444970
式中、Nは、ブロック中の画像単位の総数である。成分別重みwR、wG、wBは、式(10)においてオプションとして使用されてもよい。
ステップS62において、画像ブロックの対応する第2の伸張表現は、第2の圧縮モードに従って圧縮された画像ブロック表現を使用して生成される。このステップにおいて、色表現は、インデックスシーケンス又は事前定義された関連する色コードワードを使用して第1のコードワード又は第2のコードワードから選択された色コードワードに基づいて、各画像単位に対して生成される。次のステップS63において、第2の伸張ブロック表現により元の画像ブロックを表すことを示す誤差値が計算される。このステップS63は、ステップS61と同様に実行されるため、更なる説明は行なわない。ステップS64において、2つの判定された誤差値が比較される。第1(第2)の誤差値が最小である場合、第1(第2)の圧縮モードが現在のブロックに対して選択され、第1(第2)の圧縮画像ブロックバージョンはブロックの符号化表現として使用される。方法は、図1のステップS5に継続する。
図10は、図5の圧縮モードを選択するステップを更に詳細に示すフローチャートである。方法は、図5のステップS20から継続する。次のステップS70において、色空間におけるブロックの画像単位の色の分布が調査される。上述したように、2つの圧縮モードは、多少異なる画像ブロックに対して適応される。例えば、ブロック中の画像単位の色が以下の線上にあるか又は少なくとも以下の線に近接する場合、第1の圧縮モードは、使用するのに非常に適する:
Figure 0004444970
式中、
Figure 0004444970
は、ブロック中の画像単位の平均色であり、t∈[-∞, ∞]である。第1の圧縮モードは、画像単位が平均色点を通過する線上にあるか又はその線に近接する画像ブロックを圧縮するのに適し、RG面、RB面及びGB面で傾き“1”を有する。しかし、先に識別された線から離れた色値を有し且つ特に2つのクラスタにグループ化された画像単位を画像ブロックが含む場合、第2の圧縮モードがより適切である。
次のステップS71において、現在のブロックに対して使用する圧縮モードは、その分布に基づいて判定される。例えば、図7の第2の圧縮モードに関連して説明した最適な線と平行なベクトル(v1)は、第1の圧縮モードに対する上記の線(11)と平行なベクトル(v2)と比較される。2つのベクトル間の角度(θ)が閾値角度(φ)より小さい場合、すなわち、以下の式が成り立つ場合、第1の圧縮モードが選択される。
Figure 0004444970
成り立たない場合、第2のモードが選択される。方法は、図5のステップS22に継続する。
(画像復号)
図11は、本発明に従って、元の画像の符号化画像又は符号化バージョンを復号する方法を示すフローチャートである。符号化画像は、基本的に、図4A及び図4Bの表現700A及び/又は700B等の画像ブロックのいくつかの圧縮又は符号化表現を含む。圧縮ブロック表現は、図1又は図5に関連して先に説明した画像符号化方法により生成されるのが好ましい。
方法は、伸張する圧縮画像ブロックを識別することにより開始する。符号化画像の全ての圧縮画像ブロックが伸張され、元の画像の復号表現を生成することが可能である。あるいは、元の画像の一部のみがアクセスされる。従って、選択された数の画像ブロックのみが伸張される必要がある(更に厳密には、特定の画像ブロックの選択された量の画像単位が伸張又は復号される必要がある)。
正確な圧縮画像ブロックが識別されると、ステップS100は、現在のブロックに対して採用する2つの可能な伸張モードからいずれか一方を選択する。このモード選択は、圧縮ブロック表現に含まれるモードインデックスに基づくのが好ましい。
モードインデックスが第1の伸張モードを表す場合の例から開始する。ステップS101は、輝度変更子セットを提供する。この変更子セットは、圧縮ブロック表現の輝度コードワードに基づいて提供される。このセットの提供は、輝度コードワードを使用して、複数の変更子セットを含む表1等のテーブルから輝度変更子セットを識別することにより実行されるのが好ましい。しかし、いくつかのアプリケーションにおいて、輝度コードワード自体が変更子セットを含み、テーブルルックアップが必要とされない場合もある。
次のステップS102において、色表現は、画像ブロックの画像単位のうち少なくとも1つの画像単位に対して(すなわち、伸張されるべき画像単位に対して)生成される。この色の生成は、圧縮ブロック表現の色コードワードに基づいて実行される。ステップS103において、伸張されるべき画像単位に対して使用する輝度変更子が選択される。変更子値は、画像単位に関連付けられ且つ圧縮ブロック表現のインデックスシーケンスにおいて見付けられる輝度インデックスに基づいて、ステップS101で提供された変更子セットから選択される。正確な輝度変更子値がステップS103で選択されると、ステップS104において、画像単位の輝度は、その値で変更又は変調される。本発明による輝度変更は、色表現の全ての色成分に対して(場合によっては、重み付き)輝度変更子値を加算又は乗算するなどの変更を行ない且つオプションとしてクランプすることを示す。
ステップS103及びS104は、画像ブロック中のいくつかの画像単位に対して実行される(線L3により概略的に示される)。本発明によると、いくつかのアプリケーションにおいて、単一の画像単位が特定の画像ブロックから伸張され、特定の画像ブロックの複数の画像単位が復号され、且つ/又は特定のブロックの全ての画像単位が伸張されることが理解される。
しかし、モードインデックスが第2の伸張モードを表す場合、方法は、ステップS100からステップS105に継続する。ステップS105において、色コードワードは、関連する画像単位に関連付けられ且つインデックスシーケンスにおいて見付けられる色インデックスを使用して、第1の色コードワード又は第2の色コードワードから選択される。しかし、関連する画像単位が、関連する色インデックスを有さずに事前定義された関連する色コードワードを有する画像単位のサブセットに属する場合、ステップS105において、事前定義済み色コードワードが識別される。次のステップS106において、画像単位に対する色表現は、選択された又は事前定義された色コードワードを使用して、ステップS102と同様に生成される。ステップS105及びS106は、画像ブロック中のいくつかの画像単位に対して実行される(線L4により概略的に示される)。
あるいは、特に、圧縮ブロック表現の複数の画像単位を伸張する時、第1の色表現は、第1の色コードワードを使用して生成され、第2の対応する色表現は、第2の色コードワード又は第1のコードワードと第2のコードワードとの組合せを使用して生成される。画像単位に対する選択が、色インデックスを使用して第1の色表現及び第2の色表現の間で実行されるか、あるいは、第1の色表現又は第2の色表現のいずれか一方が、ブロック中の1つの又はいくつかの画像単位と事前に関連付けられる。
圧縮ブロック表現の全ての画像単位が同一の色コードワード又は色表現と関連付けられる場合、すなわち全ての色インデックスが等しい場合、上述したように、第2の色コードワードは、第1の色コードワードを変更するために使用される。一般に、色表現は、12ビットコードワードを24ビット色表現に拡張することにより、色コードワードから判定される。この色の拡張は、異なる256色の場合の実現例に対して、量子化4ビット色成分に17を乗算することにより実現されてもよい((256-1)/(16-1)=17)。これは、拡張された8ビット色ワードの最初(先頭)の4ビット及び最後(下位)の4ビットに対して4ビットパターンを繰り返すのと同じことである。しかし、色インデックスが等しいという特別な場合、色表現は、単一の色コードワードを拡張するのではなく、2つの色コードワードを多重化することにより生成される。
ステップS100〜S104又はステップS100〜S106は、復号されるべき画像単位を含む全ての画像ブロックに対して繰り返されるのが好ましい(線L5により概略的に示される)。これは、ステップ100〜S104又はステップS100〜S106のループが1回のみ実行されることもあるが、殆どの場合、異なる圧縮画像ブロックに対して数回及び/又は特定の圧縮画像ブロックに対して数回実行される。
オプションのステップS107において、元の画像の復号表現又は元の画像の一部は、伸張画像単位及びブロックに基づいて生成される。尚、いくつかのアプリケーションにおいて、復号表現の単一の画素、テクセル又はボクセルをレンダリングするために、いくつかの画像単位が伸張される必要がある。例えば、3次元線形補間中、8つの画像単位が伸張され、2次元線形補間の場合、対応する数は4つの画像単位である。このことは、当業者には周知である。方法は、ここで終了する。
図12は、図11のステップS101及びS102の一実施形態を更に詳細に示す。ステップS110において、正確な輝度変更子セットは、輝度コードワードにより輝度テーブルから識別され、選択される。輝度テーブルに格納された輝度変更子セットが輝度値の第1のサブセット、例えば[a, b]を含む場合、輝度変更子値の第2のサブセット、例えば[-a, -b]は、第1のサブセットの値から判定される。次のステップS111において、好ましくは12ビットの色コードワードの量子化色は、24ビットに拡大又は拡張されるのが好ましい。RGB色の場合、色コードワードの各量子化4ビット色成分は、8ビット色成分に拡張される。この色の拡張は、異なる256色の場合の実現例に対して、量子化4ビット色成分に17を乗算することにより実現されてもよい((256-1)/(16-1)=17)。これは、拡張された8ビット色ワードの最初(先頭)の4ビット及び最後(下位)の4ビットに対して4ビットパターンを繰り返すのと同じことである。換言すると、1010binの4ビット色成分は1010 1010binに拡張される。ステップS112において、拡張色は、復号される画像ブロックの画像単位に割り当てられる。方法は、図11のステップS103に継続する。
図13は、図11のステップS104の一実施形態を更に詳細に示す。ステップS120において、識別され、選択された輝度変更子値は、拡張色に加算される。この変更子値は、画像単位に対する色の全ての成分(RGB色に対する3つの成分全て)に対して加算される。これは、変更子値を全ての色成分に単純に加算することにより実現される。しかし、いくつかのアプリケーションにおいて、変更子値を成分に加算する前に、変更子値に重み付けするのが好ましい。そのような場合、種々の重みが種々の色成分に対して採用される。別の実施形態において、単純に加算する以外の変更方法、例えば乗算、XOR又は別の変更が採用されてもよい。そのような場合、輝度変更子値が成分に対して異なる重み付けをされてもよいが、全く同一の輝度変更子値を使用して、同一の変調が拡張色の全ての成分に対して実行される。次のステップS121において、得られた輝度変更済み色成分値は、最小色閾値と最大色閾値との間にクランプされる。例えば、(場合によっては、重み付けされた)輝度変更子値を色成分に加算した後、得られた値が最小閾値より小さい場合、値はその閾値にクランプされる。これに対応して、得られた値が最大閾値より大きい場合、その閾値が成分に対して使用される。各色成分に対して256個のレベルがある場合、最小閾値及び最大閾値の例は、それぞれ0及び255であるが、これらに限定されない。方法は、図11のステップS100又はS107に継続する。
符号化画像ブロックの復号は、以下の3つの例により更に示される。第1の例において、図4Aに示されるような圧縮ブロック表現、図2Aに示されるような画像ブロック及び表1による輝度テーブルが仮定される。第2及び第3の例においては、圧縮ブロック表現が図4Bに従う。
(復号の例1)
画像ブロックの圧縮表現は、0 1010 0101 0001 011 11 01 10 00 10 01 00 00binである。ここで、ビット0はモードインデックスであり、ビット1〜4は色コードワードの赤色成分であり、ビット5〜8は色コードワードの緑色成分であり、ビット9〜12は色コードワードの青色成分であり、ビット13〜15は輝度コードワードであり、ビット16〜31は輝度インデックスのシーケンスである。
色コードワードは、画像ブロックの色表現を生成するために復号(拡張)される。色コードワードの各色成分は4ビットであり、17を乗算することにより8ビットに拡張される。これは、8ビットワードの先頭の4ビット及び下位の4ビットに対して4ビットパターンを繰り返すのと同じことである:
赤色:1010 1010bin ⇔ 170
緑色:0101 0101bin ⇔ 85
青色:0001 0001bin ⇔ 17
拡張色は、画像ブロックの画像単位に割り当てられ、以下の結果を与える:
Figure 0004444970
使用する正確な輝度変更子セットは、輝度コードワードに基づいて表1から選択される。表1で分かるように、011binの輝度コードワードは、輝度変更子[-127, -41, 41, 127]に対応する。
輝度インデックスのシーケンスにより、以下の式に従って、4つの変更子値から種々の画像単位に対して使用する変更子値を識別することが可能になる:
Figure 0004444970
第1の輝度インデックスは11binである。これは、第1の輝度変更子値−127が第1の画像単位の3つの成分全てに加算されるべきであることを示す:
Figure 0004444970
得られた成分は、0と255との間にクランプされ、その結果として(43, 0, 0)を与える。部分的に復号された画像ブロックは以下のようになる:
Figure 0004444970
次の画像単位の場合、輝度インデックスは01binである。すなわち、輝度変更子127は、3つの色成分全てに加算されるべきである。クランプ後の結果は(255, 212, 144)となる。ブロック中の全ての画像単位に対してこの手順を繰り返すことにより、以下に示される最終的な復号画像ブロックが作成される:
Figure 0004444970
(復号の例2)
画像ブロックの圧縮表現は、1 1010 0101 0001 1110 0001 1001 1 0 0 0 1 1 0binである。ここで、ビット0はモードインデックスであり、ビット1〜4は第1の色コードワードの赤色成分であり、ビット5〜8は第1の色コードワードの緑色成分であり、ビット9〜12は第1の色コードワードの青色成分であり、ビット13〜16は第2の色コードワードの赤色成分であり、ビット17〜20は第2の色コードワードの緑色成分であり、ビット21〜24は第2の色コードワードの青色成分であり、ビット25〜31はブロックの画像単位のサブセットに対する色インデックスのシーケンスである。この例において、ブロック中の第1の画像単位は、第1の色コードワードと事前に関連付けられ、対応する色インデックスを有さないと更に仮定する。
色コードワードは、2つの色表現を生成するために復号(拡張)される。色コードワードの各色成分は4ビットであるが、8ビットに拡張される:
Figure 0004444970
この例において、第1の画像単位は、第1の色コードワード及び表現と常に関連付けられ、従って、色(170, 85, 17)を割り当てられる。第2の画像単位に対する色インデックスは1binであり、これは、第2の色表現(238, 17, 153)がその画像単位に割り当てられるべきであることを示す。この手順を継続した結果、以下の最終的な伸張ブロック表現が得られる:
Figure 0004444970
(復号の例3)
画像ブロックの圧縮表現は、1 10101 00000 00111 010 01 10 11 1 0 0 0 1 1 0binである。ここで、ビット0はモードインデックスであり、ビット1〜5は第1の色コードワードの赤色成分であり、ビット6〜10は第1の色コードワードの緑色成分であり、ビット11〜15は第1の色コードワードの青色成分であり、ビット16〜24は第2の色コードワードであり、ビット25〜31はブロックの画像単位のサブセットに対する色インデックスのシーケンスである。この復号の例において、ブロック中の第1の画像単位は、第1の色コードワードと事前に関連付けられ、対応する色インデックスを有さないと更に仮定する。更に、この復号の例において、第2の色表現は、表2に従って第1の色表現(又は、第1の色コードワード)をシャフリング関数に入力し且つ得られた色成分を表3に従って微調整することにより計算される。
第1の色コードワードは、24ビット色表現に拡張される:
赤色:10101101bin ⇔ 173
緑色:00000000bin ⇔ 0
青色:00111001bin ⇔ 57
第2の色コードワードの3つのMSB(010bin)は、この例において使用されるべきデータのシャフリングを確認するために使用される。表2において、010binは、調整前の得られた第2の色が173, 57, 0となるR1, B1, G1である必要があることを示す。その後、各色成分は調整される。赤色専用の調整インデックスは01binである。従って、赤色成分は、4を減算することにより調整されるべきである(表3を参照)。すなわち、173−4=169となる。これに対応して、緑色専用の調整インデックスは10binである。これは、緑色成分が4増加されるべきであること、すなわち57+4=61となることを示す。最後に、青色成分に対する調整インデックスは11binである。表3において、これは16を青色成分に加算することに対応し、その結果、0+16=16となる。それらコードワードに対する得られた2つの色表現は、(173, 0, 57)及び(169, 61, 19)である。上述の復号の例2と同様に、これら2つの色成分は、種々の画像単位に割り当てられる。その結果、以下の復号画像ブロック表現が得られる:
Figure 0004444970
(実現例の説明)
本発明による画像符号化(画像ブロック符号化)及び画像復号(画像ブロック復号)方式は、画像を処理及び/又はレンダリングするように構成されたユーザ端末又は他のユニット等の汎用データ処理システムに提供される。そのような端末は、コンピュータであってもよい。しかし、本発明は、パーソナルデジタルアシスタンス(PDA)、移動ユニット及び移動電話等のシンクライアントに非常に適する。そのような端末は、通常、メモリ容量及びメモリ帯域幅が制限されることを特徴とし、バッテリ、すなわち制限された電源により電力が供給される。本発明による符号化及び復号の双方が、ハードウェア、ソフトウェア、あるいはハードウェア及びソフトウェアの組合せで非常に単純に実現でき、符号化画像ブロックの最大サイズが僅か32ビットであるのが好ましいため、本発明をシンクライアントに適用することは好都合である。
(画像処理端末)
図14は、移動ユニットにより表される画像処理端末100を示す。しかし、本発明は、移動ユニットに限定されず、他の端末及びデータ処理ユニットにおいて実現されてもよい。本発明に直接関連する移動ユニット100の手段及び要素のみが図示される。
移動ユニット100は、移動ユニット100内で画像データを含むデータを処理する(中央)処理装置(CPU)200を具備する。グラフィックシステム130は、画像及び図形データを管理するために移動ユニット100に提供される。特に、グラフィックシステム130は、接続画面120又は他の表示装置に画像をレンダリング又は表示する。移動ユニット100は、データを格納するための記憶装置又はメモリ140を更に具備する。このメモリ140において、画像データ、特に本発明による符号化画像データ(圧縮画像ブロック)が格納されてもよい。画像ブロックの全体のサイズが小さく(32ビット)、圧縮率が高い(4bpp)のため、メモリ容量が制限される移動ユニット100の場合でも、画像データはメモリ140に効率的に格納される。
本発明による画像符号化器210は、移動ユニット100に提供される。この符号化器210は、画像又はテクスチャを画像(又はテクスチャ)の符号化表現に符号化するように構成される。上述したように、そのような符号化表現は、複数の圧縮画像ブロックのシーケンス又はファイルを含む。図示されるように、この画像符号化器210は、CPU200上で実行するソフトウェアとして提供されてもよい。あるいは、又はそれに加えて、符号化器210は、移動ユニット100のグラフィックシステム130又はその他の場所に配置される。
ブロック符号化器210からの画像の符号化表現は、後で画像がレンダリングされるまで格納しておくために、(メモリ)バス150を介してメモリ140に提供されてもよい。あるいは、又はそれに加えて、符号化画像データは、入出力(I/O)ユニット110に転送され、他の外部端末又はユニットに対して(無線又は有線)送信されてもよい。このI/Oユニット110は、外部ユニットから画像データを受信できる。この画像データは、画像符号化器210により符号化されるべき画像又は復号されるべき符号化画像である。例えば、グラフィックシステム130に提供される専用テクスチャメモリに符号化画像表現を格納することも可能である。更に、符号化画像の一部は、専用テクスチャメモリに加えて又はその代わりに、例えばグラフィックシステム130の(テクスチャ)キャッシュメモリに(一時的に)格納される。本発明の安価(複雑性に関して)で高速な伸張の大きな利点は、迅速に簡単にアクセスするために、圧縮画像ブロックがキャッシュに少なくとも一時的に格納されてもよいことである。これは、高圧縮率により更に容易になる。高圧縮率により、非圧縮(RGBA8888)ブロックデータと比較して6倍の量の画像ブロックデータをキャッシュに同時に格納できる。
(メモリ)バス150が32ビットの最大帯域幅を有する場合、本発明の1つの符号化画像表現をメモリ140から取り出す又は読み出すために要求されるメモリアクセスは1回である。しかし、バス150がより大きな帯域幅容量、例えば64ビット又は128ビットを有する場合、複数の符号化画像表現が1回のメモリアクセスで取り出される。例えば、バス150が64ビットであり、画像ブロックサイズは図2Aの通りであると仮定する。画像ブロックが図2Aに従い、「順次上に」積み重ねられる場合、あるいは、画像ブロックが図2Bに従い、「並列に」並べられる場合、1つの画像ブロックは、メモリ140の後続の画像ブロックと共に4×4平方の画像単位を形成する。しかし、図2A(図2B)のブロックが「並列に」(「順次上に」)配置される場合、画像ブロックは、次のブロックと共に2×8のボックスを形成する。テクスチャキャッシングシステムの形式が採用される場合、所望の画像単位を発見する確率は2×8のボックスよりも4×4平方の方が高いため、4×4平方がより好ましい。
復号画像表現を生成するため、符号化画像を復号する本発明による画像復号器220は、移動ユニット100に提供される。この復号表現は、元の画像全体又は元の画像の一部に対応する。画像復号器220は、グラフィックシステム130に復号画像データを提供する。グラフィックシステム130は、通常、データが画面120にレンダリング又は提示される前にデータを処理する。図示されるように、画像復号器220は、グラフィックシステム130に配置される。あるいは、又はそれに加えて、復号器200は、移動ユニット100のCPU200又はその他の場所で実行するソフトウェアとして提供される。
移動ユニット100は、図示されるように、画像符号化器210及び画像復号器220の双方を具備できる。しかし、端末100によっては、画像符号化器210のみを含むことができる。そのような場合、符号化画像データは別の端末に送信され、その別の端末は、画像の復号及び場合によってはレンダリングを実行する。また、端末100は、画像復号器220のみを含むことができる。すなわち、端末100は符号化器を含まない。そのような端末100は、別の端末から符号化画像データを含む信号を受信し、その信号を復号して、復号画像表現を生成する。従って、符号化画像信号は、無線送信機及び無線受信機を使用して端末間で無線送信される。あるいは、端末間で画像及び符号化画像表現を配布する他の技術、例えばIRポートを使用するIR技術、Bluetooth及び端末間での画像データの有線転送等が採用される。また、端末間で接続及び交換されるメモリカード又はメモリチップは、この端末間の画像データの配布に使用できる。
移動ユニット100のユニット110、130、200、210及び220は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。
(符号化器)
図15は、本発明による画像符号化器210の一実施形態を示すブロック図である。符号化器210は、通常、入力画像をいくつかの画像ブロックに分解又は分割する画像分解器215を含む。分解器215は、画像を8つの画像単位を含む画像ブロックに分解するように構成されるのが好ましい。分解器215は、異なる入力画像を異なるサイズの画像ブロックに分解できる。そのような場合、分解器215は入力情報を受信し、それにより、所定の画像に対して使用する画像ブロックフォーマットを識別できるのが好ましい。
画像符号化器210の本実施形態は、単一のブロック符号化器300を含む。ブロック符号化器300は、画像分解器から受信した画像ブロックを符号化して、符号化ブロック表現を生成する。そのような画像ブロック表現は、2つのコードワード及びインデックスに関連付けられた画像単位のシーケンスを含む。ブロック表現の全体のサイズは、非符号化画像ブロックの対応するサイズより非常に小さい。ブロック符号化器300は、分解器215からの各画像ブロックを順次処理(符号化)するように構成されるのが好ましい。
ブロック符号化器300は、複数の輝度変更子セットを備える輝度テーブル500を含むか又は輝度テーブル500にアクセスできるのが好ましい。第1の圧縮モードにおいて、テーブル500の変更子セットは、輝度コードワード及び場合によっては色コードワードの生成に使用される。輝度テーブル500は、画像符号化器210のブロック符号化器300又はその他の場所に配置される。
画像符号化器210は単一の輝度テーブル500を備えることができる。あるいは、いくつかの異なるテーブルが符号化器210に配置される。ここで、テーブルの輝度変更子は、異なる画像の種類に適応されるか、あるいはテーブルが特定の画像に適応される。しかし、符号化器210と対応する復号器の複雑さを低減するために、いくつかの異なる画像の種類からトレーニングデータを用いて生成された単一の輝度テーブル500が、符号化器210の中で用いられることが好ましい。
画像符号化器210のユニット215及び300は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット215、300及び500は、画像符号化器210に共に実現されてもよい。あるいは、ユニットの一部がユーザ端末の他の場所に提供される分散型実現形態も可能である。
図16は、本発明による画像符号化器210の別の実施形態を示すブロック図である。この画像符号化器210は、図15の実施形態と同様に、画像分解器215を備える。それらについて、更なる説明は行なわない。しかし、符号化器210は、複数の(Mが2以上の正の整数である場合、M個の)ブロック符号化器300‐1〜300‐Mを有する。そのようなブロック符号化器300‐1〜300‐Mの各々は、基本的には、図15の画像符号化器のブロック符号化器に対応する。画像符号化器210に複数のブロック符号化器300‐1〜300‐Mを提供することにより、分解器215からの複数の画像ブロックは、同時に処理(符号化)されてもよく、それにより、画像符号化の総時間は減少される。あるいは、ブロック符号化器300‐1〜300‐Pの第1のサブセットは、第1の圧縮モードに従って画像ブロックを圧縮するように動作するが、残りのサブセットである符号化器300‐P+1〜300‐Mは、第2の圧縮モードに従って動作する(1<P<M)。圧縮後にブロックのための圧縮モードを選択する場合、第1のブロック符号化器が第1の圧縮モードに従って画像ブロックを圧縮するのと同時に、第2の符号化器が第2のモードに従って同じブロックを圧縮することができる。次に、生成された2つの圧縮ブロックは比較される。このような場合、画像符号化器は、2つのブロックを受けとって、それらのうちどちらがオリジナルのブロックをより正確に表しているかを判定するモード選択器を有していることが好ましい。
ブロック符号化器300‐1〜300‐Mの各々は、輝度テーブル500を含む。種々の符号化器300‐1〜300‐Mの輝度テーブル500の全ては、同一の輝度変更子値を含むことができる。あるいは、異なるブロック符号化器は異なるテーブルを有するようにしてもよい。このような場合、1以上のブロック符号化器が特定の画像の種類に適合し、残りのブロック符号化器が他の画像の種類に適合するように構成することができる。別の実現例において、単一の輝度テーブル500が画像符号化器210に配置され、全てのブロック符号化器300‐1〜300‐Mに接続される。
画像符号化器210のユニット215及び300‐1〜300‐Mは、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット215、300‐1〜300‐M及び500は、画像符号化器210に共に実現されてもよい。あるいは、ユニットの一部がユーザ端末の他の場所に提供される分散型実現形態も可能である。
図17は、図15の画像符号化器のブロック符号化器又は図16の画像符号化器の複数のブロック符号化器のうちの1つのブロック符号化器等の本発明によるブロック符号化器300の一実施形態を示すブロック図である。符号化器300は、正確な画像ブロックに対する圧縮モードを選択する圧縮モード選択器310を含む。選択器310は、ブロック中の画像単位の入力色値に基づいて(すなわち、ブロックを圧縮する前に)圧縮モードを選択するように動作する。あるいは、モード選択は、入力誤差表現又は入力圧縮ブロック表現に応答して(すなわち、ブロックの圧縮後又は圧縮中に)実行される。選択されたモードの情報は、モードインデックス提供装置320に転送され、提供装置320は、モード選択器310により選択された圧縮モードを表すブロックに対するモードインデックスを生成する。いくつかのアプリケーションにおいて、2つのユニット310、320の機能性は、単一のモードユニットに組み合わされてもよい。
コードワード発生器330は、画像ブロックに対して第1のコードワード及び第2のコードワードを生成するために、符号化器300に提供される。発生器330は、双方の圧縮モードに従ってコードワードを生成するように、すなわち、色コードワード及び輝度コードワード、並びに第1のコードワード及び第2のコードワードを生成するように構成される。しかし、モード選択器310が現在のブロックに対して使用する圧縮モードを既に選択している場合、選択されたモードの情報は、コードワード発生器330に入力されるのが好ましい。従って、事前に選択されたモードの2つのコードワードのみが、ブロックに対して生成される必要がある。
符号化器300は、画像単位関連インデックスのシーケンスを生成するインデックスシーケンス提供装置340を更に含む。コードワード発生器330と同様に、このシーケンス提供装置340は、2つの圧縮モードを表す2つのインデックスシーケンスバージョン(1つの輝度インデックスシーケンス及び1つの色インデックスシーケンス)を生成するように動作する。しかし、モード選択器310がモード選択を既に行なった場合、シーケンス提供装置340は、モード選択器310からのモード信号に応答可能である。従って、提供装置340は、画像ブロック毎に単一のインデックスシーケンスを生成する。インデックスシーケンスは、ブロック中の各画像単位に対して1つの(色又は輝度)インデックスを含むことができる。本発明の好適な実施形態において、第2の圧縮モードに従って動作する時、提供装置340は、ブロック中の画像単位の1つのサブセットのみに対して(色)インデックスを含むシーケンスを生成する。
ブロック符号化器300は、第1の圧縮モードに従って動作する時、コードワード発生器330及びインデックスシーケンス提供装置340により使用される輝度テーブル500を更に含むか、あるいは少なくとも輝度テーブル500にアクセスできるのが好ましい。
ブロック符号化器300は、画像ブロックに対するコードワード及び画像単位関連インデックスを選択する目的で誤差値を推定する誤差推定器350をオプションとして含むことができる。関連する誤差値を最小にするコードワード及びインデックスが、関連する圧縮画像ブロックバージョンに対して選択される。更に、誤差推定器350は、第1のモード又は第2のモードに従って圧縮されたブロック表現により画像ブロックを表すことを示す誤差値を判定するように動作する。誤差値は、モード選択器310に転送され、モード選択動作の際に使用されるのが好ましい。
ブロック符号化器300のユニット310〜350は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット310〜350及び500は、ブロック符号化器300に共に実現されてもよい。あるいは、ユニットの一部が画像符号化器の他の場所に提供される分散型実現形態も可能である。
図18は、図17のコードワード発生器330の一実施形態を示すブロック図である。コードワード発生器330は、色量子化器332を含む。色量子化器332は、画像ブロック中の画像単位の色の少なくとも1つの色表現を判定し、その色表現を量子化する。第1のモードで動作する場合、好ましくは画像単位の24ビット平均色である単一の色表現が判定され、その後、12ビット色コードワードに量子化される。しかし、第2のモードで動作する場合、2つの(24ビット)色表現が判定され、第1の(12ビット)色コードワード及び第2の(12ビット)色コードワードに量子化される。
輝度量子化器336は、現在の画像ブロックに対して使用する輝度変更子セットを識別するために、コードワード発生器330に提供される。量子化器336は、関連する輝度テーブル500からその変更子セットを選択する変更子セット選択器337を含むのが好ましい。その後、量子化器336は、選択された変更子セットと関連付けられる輝度コードワードを生成する。
コードワード発生器320のユニット332、336及び337は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット332、336及び337は、コードワード発生器320に共に実現されてもよい。あるいは、ユニットの一部がブロック符号化器の他の場所に提供される分散型実現形態も可能である。
本発明による色量子化器332の好適な実現例を図19のブロック図に示す。量子化器332は、画像ブロック中の画像単位の色の平均を判定するように構成された手段331を含む。この平均色は、RGB色であるのが好ましいが、画像処理において使用される他の任意の色フォーマットでもよい。
判定された平均色は、量子化手段335に提供され、量子化手段335は、平均色を直接量子化する。量子化器335は、色平均器331からの24ビット平均RGB色を12ビットRGB色コードワードに量子化するように構成されるのが好ましい。あるいは、量子化器335又は色平均器331は、(RGB)色空間の平均色点を通過する最適な線を判定する。線上の2つの点が選択され、量子化器335により2つの(12ビットRGB)色コードワードに量子化される。選択する点は、図7に関連して上述したように判定される。
オプションの画像単位選択器333は、色量子化器332に提供される。画像単位選択器333は、ブロック中の画像単位の間で全数検索を実行して、第2の圧縮モードに従って第1の色コードワード及び第2の色コードワードを判定するのに使用される2つの量子化色値を見付ける。2つの選択された色値は、2つの色コードワードを生成するために、量子化器335に直接提供される。あるいは、コードワードとして使用される最適な量子化色を見付けるために、選択器333は、2つの選択された量子化色値付近で新たに全数検索を実行する。
量子化器335は、第2の圧縮モードで動作する時、第2の色コードワードを生成する。表2〜表7に関連して上述したように、第2の色コードワードは、1つ又は複数の関数インデックス及び/又は成分別調整インデックスを含む。そのような場合、第1の色コードワードは、好ましくは第1の色表現を直接生成することを可能にするデータを含む。第2の色表現は、第1の色表現又は第1の色コードワードを、第2のコードワードにより表される1つ又は複数の関数に入力されたデータとして使用して生成され、その後、第2のコードワードにより表されるようにオプションとして色成分を調整する。
色量子化器330のユニット331、333及び335は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット331、333及び335は、色量子化器330に共に実現されてもよい。あるいは、ユニットの一部がコードワード発生器の他の場所に提供される分散型実現形態も可能である。
図20は、図17の圧縮モード選択器310の一実施形態を示すブロック図である。選択器310は、第1のモードに従う画像ブロックの圧縮に関連する画質表現(例えば、誤差表現)を示す尺度及び第2のモードに対する対応する尺度を生成する。別の実現例において、それらの尺度は、ブロック符号化器の他のユニットにより判定され、選択器310に提供される。好適な実現例において、第1の尺度は、色コードワード、輝度コードワード及び輝度インデックスシーケンスのシーケンスとして画像ブロックを表すことを示す誤差表現である。第2の尺度は、それに対応して、2つの色コードワード及び色インデックスシーケンスのシーケンスとして画像ブロックを表すことを示す誤差表現である。選択ユニット314は、最小の誤差表現と関連付けられる圧縮モードを選択する。
モード選択器310のユニット312及び314は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット312及び314は、モード選択器310に共に実現されてもよい。あるいは、ユニットの一部がブロック符号化器の他の場所に提供される分散型実現形態も可能である。
(復号器)
図21は、本発明による画像復号器220の一実施形態を示すブロック図である。画像復号器220は、復号するブロック復号器400に提供されるべき符号化画像ブロックを、例えばメモリから選択するために、ブロック選択器222を備えることが好ましい。ブロック選択器222は、例えばヘッダ又はレンダリングエンジンから、符号化画像データと関連付けられた入力情報を受信するのが好ましい。所望の画像単位を有する圧縮画像ブロックのアドレスは、入力情報に基づいて計算される。この計算されたアドレスは、画像内の画像単位(画素、テクセル又はボクセル)の座標に依存するのが好ましい。ブロック選択器222は、そのアドレスを使用して、メモリ又はキャッシュから符号化画像ブロックを識別する。識別された符号化画像ブロックは、記憶装置から取り出され、ブロック復号器400に提供される。
ビットストリームを初めからパースする必要なく、画像ブロックの画像単位に(ランダム)アクセスすることにより、必要な画像の部分のみを選択的に取り出し且つ復号することが可能となるのは好都合である。更に、画像は、データが要求される任意の順番で復号される。例えば、テクスチャマッピングにおいて、テクスチャの一部のみが要求されることもあり、一般に、それらの部分は順不同に要求される。従って、本発明の画像復号は、画像の一部又は1つのセクションのみを処理するように有利に適用される。
次に、選択された符号化画像ブロックは、ブロック復号器400に転送される。復号器400は、画像ブロックに加え、復号されるべきブロックの画像単位を指定する情報を受信するのが好ましい。情報は、画像ブロック全体、すなわち画像ブロック中の全ての画像単位が復号されるべきであると指定することができる。しかし、受信した情報は、復号されるべき画像単位を1つのみ又は少数のみ指定してもよい。ブロック復号器400は、ブロック中の画像単位の伸張表現を生成する。この復号表現は、24ビットRGB色等のSビット色であるのが好ましい。ここで、Sは、元の画像の画像単位毎のビット数である。ブロック復号器400は、復号手順中に使用される輝度テーブル500を含むのが好ましい。あるいは、輝度テーブル500は、画像復号器220の他の場所に提供されてもよい。図15を参照して先に説明した種々の画像の種類に対する種々の輝度テーブルの使用法は、画像復号器220にも適用される。
オプションの画像合成器224は、復号器220に提供される。この合成器は、ブロック復号器400から復号画像単位を受信し、それらを合成して、画面上にレンダリング又は表示される画素、テクセル又はボクセルを生成する。合成器224は、単一の画素、テクセル又はボクセルを生成するために、いくつかの入力画像単位を必要とする。この画像合成器224は、グラフィックシステムに提供されてもよい。
画像復号器220のユニット222、224及び400は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット222、224、400及び500は、画像復号器220に共に実現されてもよい。あるいは、ユニットの一部がユーザ端末の他の場所に提供される分散型実現形態も可能である。
図22は、本発明による画像復号器220の別の実施形態を示すブロック図である。ブロック選択器222及び画像合成器226は、図21の対応するユニットに類似するため、それらについての更なる説明は行なわない。
画像復号器220は、複数のブロック復号器400‐1〜400‐Q(Qは、2以上の正の整数である)を含む。複数のブロック復号器400‐1〜400‐Qにアクセスすることにより、画像復号器220は、複数の圧縮画像ブロックを同時に処理(復号)できる。それらの複数のブロック復号器400‐1〜400‐Qは、並列処理を可能にし、画像復号器220の処理性能及び効率を向上する。例えば、一般に、最近傍補間に対しては、1つの復号画像単位で十分であるが、2次元線形(3次元線形)補間の場合には、4つ(8つ)の画像単位が必要である。ブロック復号器400‐1〜400‐Qの各々は、復号に使用される輝度テーブル500を含むことができる。あるいは、単一のテーブル500は、画像復号器220に配置され、全てのブロック復号器400‐1〜400‐Qに接続される。異なる種類の輝度テーブルの使用についての更なる説明(図16に関連する先の説明を参照)は、画像復号器220にも適用される。図16に関連する先の説明と同様に、ブロック復号器400‐1〜400‐Pの第1のサブセットは、第1の伸張モードに従って圧縮画像ブロックを伸張するように動作し、残りのサブセット復号器400‐P+1〜400‐Qは、第2の伸張モードに従って動作する(1<P<Q)。このような場合、画像復号器220は、圧縮画像ブロックを評価し、ブロックのトラフィックを正しいブロック復号器400−1〜400−Qへ導く機能を備えていることが好ましい。
画像復号器220のユニット222、224及び400‐1〜400‐Qは、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット222、224、400‐1〜400‐Q及び500は、画像復号器220に共に実現されてもよい。あるいは、ユニットの一部がユーザ端末の他の場所に提供される分散型実現形態も可能である。
図23は、本発明によるブロック復号器400の一実施形態を示す。ブロック復号器400は、伸張モード選択器410を含む。伸張モード選択器410は、現在の圧縮画像ブロックを伸張する時に従うべきモードを選択する。このモード選択は、圧縮ブロック表現に含まれるモードインデックスに基づいてなされることが好ましい。モード選択器410は、モードインデックスと現在の伸張モードを示すモード信号又はコマンドを生成する。
このモード信号はブロック復号器400の中の他のユニットに転送される。このユニットは、モード信号の受信に応じて、それぞれ個別の動作を適正化する。
色発生器420は、第1の伸張モードで動作する時、色コードワードに基づいて、画像ブロック中の全ての画像単位に対して単一の色表現を生成する。発生器420は、コードワードの12ビット色を24ビット(RGB)色に拡張するのが好ましい。第2のモードに従って動作する時、第1の色表現及び第2の色表現は、第1の色コードワード及び第2の色コードワードを使用して、好ましくは各コードワードを24ビット色に拡張することにより判定される。第2のモードにおいて、圧縮画像ブロック中の全ての画像単位が同一の色コードワードと関連付けられる場合、色発生器420は、場合によっては双方の色コードワードを利用して、単一の色表現を生成するように構成される。表2〜表7に関連して上述したように、色表現の生成は、コードワード又は色表現の関数を採用することにより、第1の色コードワード及び第2の色コードワードの双方をオプションとして要求してもよい。
ブロック復号器400は、輝度コードワードに基づいて関連する輝度テーブル500から輝度変更子セットを提供する手段430を更に含む。この提供装置430は、輝度テーブル500から変更子値の第1のサブセットを取り出し、第1のサブセットに基づいて変更子の第2のサブセットを判定するように構成される。
モード選択器410が第1の伸張モード信号を提供する場合、インデックス選択器440は、手段410により提供された変更子セットの輝度変更子値のうちの1つを選択するように構成される。変更子選択器430は、輝度インデックスのシーケンスに基づいて、圧縮画像ブロック中の画像単位に対して正確な変更子値を選択するように構成される。しかし、モードコマンドが第2の伸張モードを知らせる場合、インデックス選択器は、インデックスシーケンスを使用して、画像単位のサブセットに対して使用する色コードワード又は表現を選択する。画像単位の残るサブセットが事前定義済みの関連する色表現(コードワード)を有するため、その表現は、インデックスシーケンスを使用せずに画像単位に対して単純に割り当てられる。
復号器が第1のモードに従って動作している時、色発生器420からの拡張色及び変更子選択器440からの変更子値は、変更子値で拡張色の色成分の輝度を変更する輝度変調器又は変更装置450に転送される。変更装置450は、種々の色成分に対して種々の重みを有する重み付き輝度変更子値を使用できる。更に、色成分が輝度変更されると、変更装置450は、最大閾値と最小閾値との間、例えば0と255との間に成分をクランプするのが好ましい。
ブロック復号器400のユニット410〜450は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット410〜450及び500は、ブロック復号器400に共に実現されてもよい。あるいは、ユニットの一部が画像復号器の他の場所に提供される分散型実現形態も可能である。
図24は、第1の伸張モードに従って動作するブロック復号器400のハードウェアによる可能な実現例を概略的に示す。ブロック復号器400に対する入力は、1ビットモードインデックス710A、12ビット色コードワード720A(赤色成分、緑色成分及び青色成分の各々に対して4ビット)、3ビット輝度コードワード730A及び輝度インデックスの16ビットシーケンス740Aを含む画像ブロック表現700Aである。インデックスシーケンス740Aは、この例において、各画像単位に対する各2ビット輝度インデックスのMSBを先頭にし、その後に輝度インデックスの最下位ビット(LSB)が続くように編成される。
色コードワードは、色発生器420に提供される。色発生器420は、3つのビット拡張器422〜426により実現される。第1のビット拡張器422は4ビット赤色成分を受信し、第2の拡張器424及び第3の拡張器426は、4ビット緑色成分及び4ビット青色成分をそれぞれ受信する。拡張器422〜426の各々からの出力は、8ビット色成分である。この8ビット成分は、単純に入力成分に17を乗算することにより、又は成分に16を乗算し且つ成分を加算することにより取得される。あるいは、拡張器422〜426は、ビットシフタ及びORゲートとして実現される。例えば、<<4がワードを4ビット左にシフトすることに対応する場合、(1011bin<<4) OR 1011bin=1011 0000bin OR 1011bin=1011 1011binとなる。
変更子選択器440は、マルチプレクサ442、444の対として実現される。3ビットアドレスインデックスは、マルチプレクサ442、444に入力される。マルチプレクサ442、444は、アドレスインデックスに基づいて、8つの画像単位から復号する画像単位を選択する。マルチプレクサ442は、選択された画像単位に対する輝度インデックスのMSBを出力し、マルチプレクサ444は、インデックスのLBSを出力する。組み合わされた2ビット輝度インデックスは、テーブルルックアップ435に転送される。テーブルルックアップ435は、図23の変更子セット提供装置430及び輝度テーブル500に対応する。ルックアップ435は、入力輝度コードワード及び輝度インデックスを使用して、テーブルの変更子セットのうちの1つから正確な輝度変更子値を取り出す。9ビット符号付き(正又は負の)変更子値は、輝度変更装置450に提供される。このハードウェアによる実現例において、変更装置450は、3つの加算器451〜453及び3つのクランパ454〜456を含む。変更子値は、加算器451〜453の各々に入力される。第1の加算器451は、輝度変更子値をビット拡張器422からの8ビット赤色成分に加算する。これに対応して、加算器452は、変更子値をビット拡張器424からの8ビット緑色成分に加算し、加算器453は、変更子値をビット拡張器426からの8ビット青色成分に加算する。別の実現例において、加算器451〜453は、乗算器又はXORゲート等の他の変更要素で置換できる。加算器451〜453からの出力は、クランパ454〜456に転送される。クランパ454〜456は、0と255との間に輝度変更済み色成分をクランプする。クランパ454〜456からの出力は、画像単位の伸張又は復号24ビット色である。
図25は、図24のビット拡張器422;424;426のハードウェアによる可能な実現例を概略的に示す。これらの拡張器は、4ビット(赤、緑又は青)色成分を受信し、拡張された対応する8ビット色成分を出力する。出力された8ビット色成分において、4つのMSBは入力4ビット色成分を構成し、「第5のMSB」は入力成分のMSBに対応し、「第6のMSB」は入力成分の「第2のMSB」に対応し、残る2つのLSBは入力成分の2つのLSBに対応する。
図26は、図24のクランパ454;455;456のハードウェアによる可能な実現例を概略的に示す。クランパ454;455;456に対する入力は、10ビット輝度変更済み色成分値である。入力値の8つのLSBは、マルチプレクサ457に送られる。マルチプレクサに対する他の入力は、最大閾値(255;8ビット)である。マルチプレクサ457は、輝度変更済み色成分の第2のMSBに基づいて8ビット入力値又は最大閾値のいずれか一方を選択する。換言すると、第2のMSBが1に等しい場合、マルチプレクサ457は閾値を出力し、そうでない場合(第2のMSBが0に等しい場合)、8ビット入力値が第2のマルチプレクサ458に出力される。第2のマルチプレクサ458は、色成分のMSBに基づいて、第1のマルチプレクサ457からの出力又は最小閾値(0;8ビット)を選択する。MSB又は符号ビットが1に等しい場合、第1のマルチプレクサ457からの出力は負であり、最小閾値が第2のマルチプレクサ458により選択されるべきである。しかし、符号ビットが0である場合、第1のマルチプレクサ457からの出力が、第2のマルチプレクサ458からも出力されるべきである。
図27は、図24のテーブルルックアップ435のハードウェアによる可能な実現例を概略的に示す。3ビット入力輝度コードワードの2つのLSBは、マルチプレクサ431及び433の各々に対して4つの可能な変更子値から1つの7ビット輝度変更子値を選択するために、2つのマルチプレクサ431及び433に対して入力される。表1による輝度テーブルを採用する場合、残りの24個の値は、それら8つの輝度変更子から計算される。マルチプレクサ431及び433からの選択された輝度変更子値は、別のマルチプレクサ434に入力される。そのマルチプレクサ434は、図24のマルチプレクサ442及び444からの1ビット入力データ(2ビット輝度表現のうちの1ビット)に基づいて、それら輝度変更子値のうち1つを選択する。選択された変更子値は、マルチプレクサ436及び否定手段437の双方に転送される。否定手段437は、変更子値を否定する。更に、この否定値は、マルチプレクサ436に転送される。マルチプレクサ436は、図24のマルチプレクサ442及び444からの輝度表現の残りのビットに基づいて、正の7ビット輝度変更子値又は否定値のいずれか一方を選択する。選択された(8ビット)変更子値は、マルチプレクサ438及びビットシフタ439の双方に送られる。ビットシフタ439は、変更子値を1ビット左にシフトし、その結果、9ビット輝度変更子が得られる(10進数で、値に2を乗算することに対応する)。マルチプレクサ438は、輝度コードワードのMSBに基づいて、8ビット変更子値又は9ビット変更子値のいずれか一方を選択する。特定の画像単位に対して使用する9ビット輝度変更子値は、48個の可能な変更子値から選択される。
図28は、第2の伸張モードに従って動作するブロック復号器400のハードウェアによる対応する可能な実現例を概略的に示す。ブロック復号器400に対する入力は、1ビットモードインデックス710B、12ビットの第1の色コードワード720B、12ビットの第2の色コードワード730B及び色インデックスの7ビットシーケンス740Bを含む画像ブロック表現700Bである。
(3ビット)アドレスインデックスは、図23のインデックス選択器440を表すマルチプレクサ446に入力される。選択された画像単位に関連付けられる1ビット色インデックスは、色発生器420に転送される。尚、ブロック復号器400のこの実現例において、ブロック中の第1の画像単位は、第1の色コードワードと常に関連付けられる。その結果、マルチプレクサ446は、色インデックスシーケンスを表す7つの入力ビット+第1の画像単位を表す1つの追加の固定ビット(0bin)を受信する。
第1の色コードワード及び第2の色コードワードは、色発生器420に提供される。色発生器420は、3つのマルチプレクサ423、425、427及び3つのビット拡張器422、424、426により実現される。第1のマルチプレクサ423は、第1の色コードワード及び(4ビット)第2の色コードワードの(4ビット)赤色成分を受信する。これに対応して、第2のマルチプレクサ425は、第1の色コードワード及び第2の色コードワードの(4ビット)緑色成分を受信し、第3のマルチプレクサ427は、第1の色コードワード及び第2の色コードワードの(4ビット)青色成分を受信する。インデックス選択器440のマルチプレクサ446からの1ビット色インデックスは、現在の画像単位に対して採用する色コードワードを選択するために、マルチプレクサ423、425、427の各々に提供される。
第1のビット拡張器422は、選択されたコードワードの4ビット赤色成分を受信し、第2の拡張器424は、選択された4ビット緑色成分を受信し、第3の拡張器426は、選択された4ビット青色成分を受信する。拡張器422、424、426の動作は、図24及び図25の拡張器に対応するため、更なる説明は行なわない。
拡張器422、424、426からの(組み合わされた)出力は、画像単位の伸張又は復号24ビット色である。
図29は、入力された圧縮ブロック表現700A、700Bのモードビットの値に応じて、第1の伸張モード及び第2の伸張モードの双方に従って動作できるブロック復号器400のハードウェアによる対応する実現例である。
図23のインデックス選択器440から開始する。インデックス選択器440は、3つのマルチプレクサ442、444、445及び1つのANDゲート443により実現される。圧縮ブロック表現700A、700Bの16個のLSBは、選択器に入力される。第1の伸張モードに従って動作する場合、16個のLSBの全てが2つのマルチプレクサ442、444に転送される。従って、マルチプレクサ445は、モードインデックスビットの受信に基づいて、16ビットのMSBをマルチプレクサ442に転送する。しかし、モードインデックスビットが第2の伸張モードを表す場合、マルチプレクサ445は、16ビットのMSBの代わりに0bin(事前定義済み色インデックス)を出力する。
3ビットアドレスインデックスは、マルチプレクサ442、444に入力される。マルチプレクサ442、444は、アドレスインデックスに基づいて、8つの画像単位から復号する画像単位を選択する。マルチプレクサ442、444からの出力2ビットは、テーブルルックアップ435に提供される。テーブルルックアップ435の動作は、図24及び図27に関連して説明されたため、ここでは繰り返さない。テーブルルックアップ435は双方の伸張モードで輝度変更子を出力するが、そのような変更子は第1のモードでのみ使用されるため、変更子セット提供装置430はマルチプレクサ432を更に含む。このマルチプレクサ432は、第1のモードに対応するモードインデックスビットを受信すると、入力輝度変更子を転送する。しかし、モードインデックスが第2のモードを表す場合、マルチプレクサ432は0binを出力する。マルチプレクサの出力は、輝度変更装置450に送られる。
色発生器420は、3つのマルチプレクサ423、425、427を含む。それらマルチプレクサは、第2の伸張モードでは使用する色コードワードを2つの色コードワードから選択し、第1のモードでは色コードワードに対応するビットのみが転送されることを確実にする。この実現例において、0binがマルチプレクサ423、425、427に提供される場合、第1の色コードワード(第2のモード)又は色コードワード(第1のモード)の赤色成分、緑色成分及び青色成分は、色発生器420の3つのビット拡張器422、424、426に転送される。しかし、1binがマルチプレクサ423、425、427に提供される場合は、第2の色コードワードの赤色成分、緑色成分及び青色成分が、3つのビット拡張器422、424、426に転送される。ANDゲート443は、モードインデックス及びインデックス選択器440の第1のマルチプレクサ442の1ビット出力を受信する。この実現例において、0binのモードインデックスが第1のモードを表すため、復号器が第1のモードに従って圧縮された画像ブロック700Aを受信すると、ANDゲートは常に0binを出力する。しかし、モードインデックスが1binである場合、すなわち第2のモードを表す場合、ANDゲートは、画像単位の色インデックスが1binである時、すなわち第2の色コードワードと関連付けられる時は1binを出力し、そうでない時は0binが出力される。
選択された赤色成分、緑色成分及び青色成分は、拡張器422、424、426に送られ、拡張器422、424、426は、8ビット赤色成分、8ビット緑色成分及び8ビット青色成分を生成する。拡張された成分は、3つの加算器451〜453及び3つのクランパ454〜456を含む輝度変更装置450に送られる。変更子セット提供装置430のマルチプレクサ432からの変更子値は、色成分と共に加算器451〜453に入力される。第2のモードに従って動作する場合、赤色成分、緑色成分及び青色成分が変更されずに加算器451〜453に渡されるように、マルチプレクサ432は0binを出力することを考慮する。変更装置450の残りの動作は、図24及び図26を参照して上述した通りである。
クランパ454〜456からの出力は、画像単位の伸張又は復号24ビット色である。
図29のブロック復号器400は、2つの伸張モードに従って動作できるが、ブロック復号器400に対するハードウェアによる解決策は非常に単純である。ビット拡張器422、424、426、クランパ444〜446及びテーブルルックアップ435がそれぞれ図25、図26及び図27に従って実現される場合、復号器400は、基本的に、3つの加算器、1つの否定手段、1つのANDゲート及び18個のマルチプレクサのみを含む。
上述において、本発明は、関連する色値を有する画像単位及び1つ又は複数の色コードワードの生成について参照して説明された。しかし、更に、他の画像単位プロパティが、色プロパティと同様の方法で符号化できる。そのような場合、圧縮ブロック表現は、3つのコードワードを含み、そのうち2つのコードワードは、色コードワードを表すか、あるいは色コードワード及び輝度コードワードを表す。第3のコードワードは、追加の画像単位プロパティに対して使用される。更に、輝度シーケンスは、輝度インデックス又は色インデックスに加えて、第3のコードワードに関連するインデックスを含む。別の実施形態において、他の画像単位プロパティは色の代わりに使用され、基本的には、色コードワードを置換する。そのような追加のプロパティの典型的な例は、標準マップである。色コードワードと同様に、そのような標準マップ又は標準(マップ)コードワードは、通常、X方向、Y方向及びZ方向を表す3つの(ベクトル)成分を含む。それらX、Y、Z成分は、色コードワードのR、G、B成分と同様のコードワードにより表される。標準マップの各画像単位は、特定の点が向いている方向を符号化する。
添付の特許請求の範囲により定義される本発明の範囲から逸脱せずに、本発明に対して種々の変形及び変更を実施できることは、当業者には理解されるであろう。
本発明による画像符号化方法の一実施形態を示すフローチャートである。 本発明による画像ブロックの実施形態を示す図である。 本発明による画像ブロックの実施形態を示す図である。 図1のコードワードを判定するステップ、及び、シーケンスを提供するステップを更に詳細に示すフローチャートである。 本発明に係る、画像ブロックの圧縮表現の実施形態を示す図である。 本発明に係る、画像ブロックの圧縮表現の実施形態を示す図である。 本発明に係る画像符号化方法の他の実施形態を示すフローチャートである。 第1の圧縮モードにおける、図1又は2のコードワードを判定するステップ、及び、シーケンスを提供するステップを更に詳細に示すフローチャートである。 第2の圧縮モードにおける、図1又は5のコードワードを判定するステップの一実施形態を更に詳細に示すフローチャートである。 第2の圧縮モードにおける、図1又は5のコードワードを判定するステップの他の実施形態を更に詳細に示すフローチャートである。 図1の圧縮モード選択ステップを更に詳細に示すフローチャートである。 図5の圧縮モード選択ステップを更に詳細に示すフローチャートである。 本発明による画像復号方法を示すフローチャートである。 図11の輝度変更子セットを提供するステップと、色表現を生成するステップを更に詳細に示すフローチャートである。 図11の輝度を変更するステップを更に詳細に示すフローチャートである。 本発明による画像符号化器及び画像復号器を有するユーザ端末の一例を概略的に示す図である。 本発明による画像符号化器の一実施形態を概略的に示すブロック図である。 本発明による画像符号化器の別の実施形態を概略的に示すブロック図である。 本発明によるブロック符号化器の一実施形態を概略的に示すブロック図である。 図17のブロック符号化器のコードワード発生器を概略的に示すブロック図である。 図18のコードワード発生器の色量子化器を更に詳細に概略的に示すブロック図である。 図17のブロック符号化器のモード選択器を更に詳細に概略的に示すブロック図である。 本発明による画像復号器の一実施形態を概略的に示すブロック図である。 本発明による画像復号器の別の実施形態を概略的に示すブロック図である。 本発明によるブロック復号器の一実施形態を概略的に示すブロック図である。 第1の伸張モードにおける、本発明によるブロック復号器の一実施形態を概略的に示すハードウェアブロック図である。 図24のビット拡張器の一実施形態をより詳細に示すハードウェアブロック図である。 図24のクランパの一実施形態を更に詳細に示すハードウェアブロック図である。 図24のテーブルルックアップの一実施形態を更に詳細に示すハードウェアブロック図である。 第2の伸張モードにおいて動作する、本発明に係るブロック復号器の一実施形態を概略的に示すハードウェアブロック図である。 第1又は第2の伸張モードにおいて動作するように適合された、本発明に係るブロック復号器の一実施形態を概略的に示すハードウェアブロック図である。

Claims (23)

  1. 複数の画像単位(610)から構成される画像ブロック(600)を圧縮する方法であって、
    前記複数の画像単位(610)のプロパティの表現である第1のコードワード(720A、720B)及び第2のコードワード(730A、730B)を判定するステップと、
    画像単位関連インデックスのインデックスシーケンス(740A、740B)を提供するステップと、
    前記第1の圧縮モードに従って前記画像ブロック(600)を圧縮することと関連する画質表現を示す第1の尺度を生成するステップと、
    前記第2の圧縮モードに従って前記画像ブロック(600)を圧縮することと関連する画質表現を示す第2の尺度を生成するステップと、
    前記第1のコードワード(720A、720B)及び第2のコードワード(730A、730B)を判定するステップと、前記インデックスシーケンス(740A、740B)を提供するステップとを実行する、実行している又は実行した後に、前記第1の尺度と前記第2の尺度との比較に基づいて、第1の圧縮モード及び第2の圧縮モードから圧縮モードを選択するステップと、
    前記選択された圧縮モードを表すモードインデックス(710A、710B)を提供するステップと、
    前記第1のコードワード(720A、720B)と、前記第2のコードワード(730A、730B)と、前記インデックスシーケンス(740A、740B)と、前記モードインデックス(710A、710B)とを、前記画像ブロック(600)の圧縮データとして出力するステップと
    を備え、
    前記モードインデックス(710A)が前記第1の圧縮モードを表す場合、
    前記第1のコードワードは、前記複数の画像単位(610)の色の表現である1つの色コードワード(720A)であり、前記第2のコードワードは、前記複数の画像単位(610)の輝度を変更するための複数の輝度変更子のセットの表現である輝度コードワード(730A)であり、前記インデックスシーケンス(740A)は、前記画像ブロック(600)中の画像単位(610)毎に、前記輝度変更子セットの1つの輝度変更子と関連付けられる輝度インデックスを備え、
    前記モードインデックス(710B)が前記第2の圧縮モードを表す場合には、
    前記第1のコードワード及び前記第2のコードワードは、前記複数の画像単位(610)の色の表現である第1の色コードワード(720B)及び第2の色コードワード(730B)であり、前記インデックスシーケンス(740B)は、前記複数の画像単位(610)の少なくとも1つのサブセット中の画像単位(610)毎に、前記第1の色コードワード(720B)又は前記第2の色コードワード(730B)と関連付けられる色インデックスを備える方法。
  2. 前記選択するステップは、
    前記1つの色コードワード(720A)、前記輝度コードワード(730A)及び前記輝度インデックスシーケンス(740A)によって前記画像ブロック(600)を表すことを示す第1の誤差表現を判定するステップと、
    前記第1の色コードワード(720B)、前記第2の色コードワード(730B)及び前記色インデックスシーケンス(740B)によって前記画像ブロック(600)を表すことを示す第2の誤差表現を判定するステップと、
    前記第1の誤差表現と前記第2の誤差表現との比較に基づいて、前記圧縮モードを選択するステップと、
    を備える請求項記載の方法。
  3. 前記第1の誤差表現を判定する前記ステップは、
    前記1つの色コードワード(720A)、前記輝度コードワード(730A)及び前記輝度インデックスシーケンス(740A)に基づいて、前記画像ブロック(600)の第1の伸張表現を生成するステップと、
    前記画像ブロック(600)と前記画像ブロック(600)の前記第1の伸張表現との比較に基づいて、前記第1の誤差表現を生成するステップと、
    を備える請求項記載の方法。
  4. 前記第2の誤差表現を判定する前記ステップは、
    前記第1の色コードワード(720B)、前記第2の色コードワード(730B)及び前記色インデックスシーケンス(740B)に基づいて、前記画像ブロック(600)の第2の伸張表現を生成するステップと、
    前記画像ブロック(600)と前記画像ブロック(600)の前記第2の伸張表現との比較に基づいて、前記第2の誤差表現を生成するステップと、
    を備える請求項又は記載の方法。
  5. 前記色インデックスシーケンス(740B)は、前記複数の画像単位(610)の第1のサブセット中の画像単位(610)毎に、前記第1の色コードワード(720B)又は前記第2の色コードワード(730B)と関連付けられる色インデックスを備え、前記複数の画像単位(610)の残る第2のサブセット中の各画像単位(610)は、前記第1の色コードワード(720B)又は前記第2の色コードワード(730B)から選択された事前定義済み色コードワードと関連付けられる請求項1からのいずれか1項に記載の方法。
  6. 前記第2の色コードワード(730B)は、前記第1の色コードワード(720B)を使用する色表現の生成を可能にする関数表現を備える請求項1からのいずれか1項に記載の方法。
  7. 画像を符号化する方法であって、
    前記画像を、各々が複数の画像単位(610)を備える複数の画像ブロック(600)に分解するステップと、
    少なくとも1つの画像ブロック(600)に対して、請求項1からのいずれか1項に従って前記少なくとも1つの画像ブロック(600)を圧縮することにより、圧縮画像ブロック表現(700A、700B)を判定するステップと、
    を備える方法。
  8. 複数の画像単位(610)からなる画像ブロック(600)の圧縮表現(700A、700B)であり、モードインデックス(710A、710B)、第1のコードワード(720A、720B)、第2のコードワード(730A、730B)及び画像単位関連インデックスのインデックスシーケンス(740A、740B)を備える圧縮表現(700A、700B)を処理する方法であって、
    前記モードインデックス(710A、710B)に基づいて、伸張モードを選択するステップと、
    前記第1のコードワード(720A、720B)、前記第2のコードワード(730A、730B)及び前記インデックスシーケンス(740A、740B)に基づいて、前記画像ブロック(600)の伸張表現を生成するステップと、
    を備え、
    前記モードインデックス(710A)が第1の伸張モードを表す場合、前記第1のコードワードは1つの色コードワード(720A)であり、前記第2のコードワードは輝度コードワード(720B)であり、前記インデックスシーケンスは輝度インデックスシーケンス(740A)であり、前記生成するステップは、
    前記輝度コードワード(730A)に基づいて、複数の輝度変更子のセットを提供するステップと、
    前記画像ブロック(600)中の少なくとも1つの画像単位(610)に対して、
    前記1つの色コードワード(720A)に基づいて、色表現を生成するステップと、
    前記輝度インデックスシーケンス(740A)に基づいて、前記輝度変更子セットから1つの輝度変更子を選択するステップと、
    前記選択された輝度変更子に基づいて、前記少なくとも1つの画像単位(610)の輝度を変更するステップと、を備え、
    前記モードインデックス(710B)が第2の伸張モードを表す場合には、前記第1のコードワードは第1の色コードワード(720B)であり、前記第2のコードワードは第2の色コードワード(730B)であり、前記インデックスシーケンスは色インデックスシーケンス(740B)であり、前記生成するステップは、前記画像ブロック(600)中の少なくとも1つの画像単位(610)に対して、
    前記第1の色コードワード(720B)及び前記第2の色コードワード(730B)から選択された少なくとも1つの色コードワードに基づいて、色表現を生成するステップを備える方法。
  9. 前記色インデックスシーケンス(740B)は、前記複数の画像単位(610)の第1のサブセット中の画像単位(610)毎に、前記第1の色コードワード(720B)又は前記第2の色コードワード(730B)と関連付けられる色インデックスを備え、前記複数の画像単位(610)の残る第2のサブセット中の各画像単位(610)は、前記第1の色コードワード(720B)又は前記第2の色コードワード(730B)から選択された事前定義済み色コードワードと関連付けられる請求項記載の方法。
  10. 前記色表現を生成するステップは、前記モードインデックス(710B)が前記第2の伸張モードを表す場合、
    前記複数の画像単位(610)の第1のサブセット中の1つの画像単位(610)に対する前記色インデックスシーケンス(740B)を使用して、前記第1の色コードワード(720B)及び前記第2の色コードワード(730B)から選択された色コードワードに基づいて、前記色表現を生成するステップと、
    前記複数の画像単位(610)の前記残る第2のサブセット中の1つの画像単位(610)に対する前記事前定義済み色コードワードに基づいて、前記色表現を生成するステップと、
    を備える請求項記載の方法。
  11. 前記色表現を生成するステップは、前記モードインデックス(710B)が前記第2の伸張モードを表す場合、
    前記第1の色コードワード(720B)及び前記第2の色コードワード(730B)に基づいて、前記色表現を生成するステップを備える請求項から10のいずれか1項に記載の方法。
  12. 複数の画像単位(610)を備える複数の画像ブロック(600)の圧縮画像ブロック表現(700A、700B)であり、モードインデックス(710A、710B)、第1のコードワード(720A、720B)、第2のコードワード(730A、730B)及び画像単位関連インデックスのインデックスシーケンス(740A、740B)を有する圧縮画像ブロック表現(700A、700B)を備える符号化画像を復号する方法であって、
    請求項から11のいずれか1項に従って前記少なくとも1つの圧縮画像ブロック表現(700A、700B)を処理することにより、少なくとも1つの圧縮画像ブロック表現(700A、700B)に対して少なくとも1つの伸張画像単位表現(610)を判定するステップと、
    前記少なくとも1つの伸張画像単位表現(610)を処理することにより、画像を生成するステップと、
    を備える方法。
  13. 複数の画像単位(610)からなる画像ブロック(600)を圧縮するシステム(300)であって、
    前記複数の画像単位(610)のプロパティの表現である第1のコードワード(720A、720B)及び第2のコードワード(730A、730B)を判定するコードワード発生器(330)と、
    画像単位関連インデックスのインデックスシーケンス(740A、740B)を提供する手段(340)と、
    前記コードワード発生器(330)が前記第1のコードワード(720A、720B)及び前記第2のコードワード(730A、730B)を判定し、前記提供する手段(340)が前記インデックスシーケンス(740A、740B)を提供する前又はその間又はその後に、第1の圧縮モード及び第2の圧縮モードから圧縮モードを選択するモード選択器(310)と、
    前記選択された圧縮モードを表すモードインデックス(710A、710B)を提供する手段(320)と、
    を具備し、
    前記システム(300)は、前記第1のコードワード(720A、720B)と、前記第2のコードワード(730A、730B)と、前記インデックスシーケンス(740A、740B)と、前記モードインデックス(710A、710B)とを、前記画像ブロック(600)の圧縮データとして出力し、
    前記モード選択器(310)は、
    前記第1の圧縮モードに従って前記画像ブロック(600)を圧縮することと関連する画質表現を示す第1の尺度を生成し、前記第2の圧縮モードに従って前記画像ブロック(600)を圧縮することと関連する画質表現を示す第2の尺度を生成する尺度発生器(312)と、
    前記第1の尺度と前記第2の尺度との比較に基づいて、前記圧縮モードを選択する尺度選択器(314)と、
    を具備し、
    前記モードインデックス(710A)が前記第1の圧縮モードを表す場合、
    前記第1のコードワードは、前記複数の画像単位(610)の色の表現である1つの色コードワード(720A)であり、前記第2のコードワードは、前記複数の画像単位(610)の輝度を変更するための複数の輝度変更子のセットの表現である輝度コードワード(730A)であり、前記インデックスシーケンス(740A)は、前記画像ブロック(600)中の画像単位(610)毎に、前記輝度変更子セットの1つの輝度変更子と関連付けられる輝度インデックスを備え、
    前記モードインデックス(710B)が前記第2の圧縮モードを表す場合には、
    前記第1のコードワード及び前記第2のコードワードは、前記複数の画像単位(610)の色の表現である第1の色コードワード(720B)及び第2の色コードワード(730B)であり、前記インデックスシーケンス(740B)は、前記複数の画像単位(610)の少なくとも1つのサブセット中の画像単位(610)毎に、前記第1の色コードワード(720B)又は前記第2の色コードワード(730B)と関連付けられる色インデックスを備えるシステム。
  14. 前記圧縮モード選択器(310)は、
    前記1つの色コードワード(720A)、前記輝度コードワード(730A)及び前記インデックスシーケンス(740A)によって前記画像ブロック(600)を表すことを示す第1の誤差表現を判定し、前記第1の色コードワード(720B)、前記第2の色コードワード(730B)及び前記色インデックスシーケンス(740B)によって前記画像ブロック(600)を表すことを示す第2の誤差表現を判定する誤差推定器(312)と、
    前記第1の誤差表現と前記第2の誤差表現との比較に基づいて、前記圧縮モードを選択する誤差選択器(314)と、
    を具備する請求項13記載のシステム。
  15. 前記色インデックスシーケンス(740B)は、前記複数の画像単位(610)の第1のサブセット中の画像単位(610)毎に、前記第1の色コードワード(720B)又は前記第2の色コードワード(730B)と関連付けられる色インデックスを備え、前記複数の画像単位(610)の残る第2のサブセット中の各画像単位(610)は、前記第1の色コードワード(720B)又は前記第2の色コードワード(730B)から選択された事前定義済み色コードワードと関連付けられる請求項13又は14に記載のシステム。
  16. 前記第2の色コードワード(730B)は、前記第1の色コードワード(720B)を使用する色表現の生成を可能にする関数表現を備える請求項13から15のいずれか1項に記載のシステム。
  17. 画像を、各々が複数の画像単位(610)を備える複数の画像ブロック(600)に分解する画像分解器(215)と、
    請求項13から16のいずれか1項に記載の少なくとも1つの画像ブロック圧縮システム(300‐1〜300‐M)と、
    を具備する画像符号化システム(210)。
  18. 複数の画像単位(610)からなる画像ブロック(600)の圧縮画像ブロック表現(700A、700B)であり、モードインデックス(710A、710B)、第1のコードワード(720A、720B)、第2のコードワード(730A、730B)及び画像単位関連インデックスのインデックスシーケンス(740A、740B)を備える圧縮画像ブロック表現(700A、700B)を処理するシステム(400)であって、
    前記モードインデックス(710A、710B)に基づいて、伸張モードを選択する伸張モード選択器(410)と、
    色発生器(420)と、
    インデックス選択器(440)と、
    複数の輝度変更子のセットを提供する手段(430)と、
    輝度変更ユニット(450)と、
    を具備し、
    前記モードインデックス(710A)が第1の伸張モードを表す場合、前記第1のコードワードは1つの色コードワード(720A)であり、前記第2のコードワードは輝度コードワード(730A)であり、前記インデックスシーケンスは輝度インデックスシーケンス(740A)であり、
    前記提供する手段(430)は、前記輝度コードワード(730A)に基づいて、複数の輝度変更子のセットを提供するように動作され、
    前記色発生器(420)は、前記1つの色コードワード(720A)に基づいて、前記画像ブロック(600)中の少なくとも1つの画像単位(610)に対して色表現を生成するように動作され、
    前記インデックス選択器(440)は、前記少なくとも1つの画像単位(610)に対して、前記輝度インデックスシーケンス(740A)に基づいて、前記識別された輝度変更子セットから1つの輝度変更子を選択するように動作され、
    前記輝度変更ユニット(450)は、前記選択された輝度変更子に基づいて、前記少なくとも1つの画像単位(610)の輝度を変更するように動作され、
    前記モードインデックス(710B)が第2の伸張モードを表す場合には、前記第1のコードワードは第1の色コードワード(720B)であり、前記第2のコードワードは第2の色コードワード(730B)であり、前記インデックスシーケンスは色インデックスシーケンス(740B)であり、
    前記色発生器(330)は、前記インデックス選択器(440)により前記第1の色コードワード(720B)及び前記第2の色コードワード(730B)から選択された少なくとも1つの色コードワードに基づいて、色表現を生成するように動作されるシステム。
  19. 前記色インデックスシーケンス(740B)は、前記複数の画像単位(610)の第1のサブセット中の画像単位(610)毎に、前記第1の色コードワード(720B)又は前記第2の色コードワード(730B)と関連付けられる色インデックスを備え、前記複数の画像単位(610)の残る第2のサブセット中の各画像単位(610)は、前記第1の色コードワード(720B)又は前記第2の色コードワード(730B)から選択された事前定義済み色コードワードと関連付けられる請求項18記載のシステム。
  20. 前記色発生器は、前記モードインデックス(710B)が前記第2の伸張モードを表す場合、前記複数の画像単位(610)の前記第1のサブセット中の1つの画像単位(610)に対する前記色インデックスシーケンス(740B)を使用して、前記第1の色コードワード(720B)及び前記第2の色コードワード(730B)から選択された色コードワードに基づいて、前記色表現を生成し、前記複数の画像単位(610)の前記残る第2のサブセット中の1つの画像単位(610)に対する前記事前定義済み色コードワードに基づいて、前記色表現を生成するように動作される請求項19記載のシステム。
  21. 前記色発生器(330)は、前記モードインデックス(710B)が前記第2の伸張モードを表す場合、前記第1の色コードワード(720B)及び前記第2の色コードワード(730B)に基づいて、前記色表現を生成するように動作される請求項18から20のいずれか1項に記載のシステム。
  22. 複数の画像単位(610)からなる画像ブロック(600)の圧縮画像ブロック表現(700A、700B)であり、モードインデックス(710A、710B)、第1のコードワード(720A、720B)、第2のコードワード(730A、730B)及び画像単位関連インデックスのインデックスシーケンス(740A、740B)を備える圧縮画像ブロック表現(700A、700B)を備える符号化画像を復号するシステム(220)であって、
    少なくとも1つの圧縮画像ブロック表現(700A、700B)に対して、少なくとも1つの伸張画像単位表現(610)を判定する請求項18から21のいずれか1項に記載の少なくとも1つのシステム(400‐1〜400‐M)と、
    生成するために、前記少なくとも1つの伸張画像単位表現(610)を処理する手段(224)と、
    を具備するシステム。
  23. 請求項13から22のいずれか1項に記載のシステム(210;220;300;400)を具備する画像処理端末(100)。
JP2006545295A 2003-12-19 2004-12-17 マルチモード画像処理 Expired - Fee Related JP4444970B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE0303497A SE526226C2 (sv) 2003-12-19 2003-12-19 Bildbehandling
SE0401852A SE0401852D0 (sv) 2003-12-19 2004-07-08 Image processing
PCT/SE2004/001922 WO2005059839A1 (en) 2003-12-19 2004-12-17 Multi-mode image processing

Publications (3)

Publication Number Publication Date
JP2007520104A JP2007520104A (ja) 2007-07-19
JP2007520104A5 JP2007520104A5 (ja) 2008-01-10
JP4444970B2 true JP4444970B2 (ja) 2010-03-31

Family

ID=32871337

Family Applications (1)

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

Country Status (6)

Country Link
US (1) US7734105B2 (ja)
EP (1) EP1697900B1 (ja)
JP (1) JP4444970B2 (ja)
AT (1) ATE557369T1 (ja)
SE (1) SE0401852D0 (ja)
WO (1) WO2005059839A1 (ja)

Families Citing this family (34)

* 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
ES2728097T3 (es) * 2005-05-27 2019-10-22 Ericsson Telefon Ab L M Procesamiento de imágenes basado en peso
WO2007021227A1 (en) * 2005-08-19 2007-02-22 Telefonaktiebolaget Lm Ericsson (Publ) Texture compression based on two hues with modified brightness
US20070076971A1 (en) * 2005-09-30 2007-04-05 Nokia Corporation Compression of images for computer graphics
US8369629B2 (en) 2006-01-23 2013-02-05 Telefonaktiebolaget L M Ericsson (Publ) Image processing using resolution numbers to determine additional component values
US7787691B2 (en) * 2006-04-11 2010-08-31 Telefonaktiebolaget Lm Ericsson (Publ) High quality image processing
US8552891B2 (en) 2006-05-27 2013-10-08 Samsung Electronics Co., Ltd. Method and apparatus for parallel data interfacing using combined coding and recording medium therefor
JP4730552B2 (ja) * 2006-07-14 2011-07-20 富士ゼロックス株式会社 復号化装置及びそのプログラム
KR101025847B1 (ko) * 2007-01-19 2011-03-30 삼성전자주식회사 이진 영상을 효과적으로 압축하고 복원하는 방법 및 장치
US8571339B2 (en) * 2007-04-04 2013-10-29 Telefonaktiebolaget Lm Ericsson (Publ) Vector-based image processing
TWI366391B (en) * 2007-06-28 2012-06-11 Novatek Microelectronics Corp Method and circuit for correcting signals and image correcting method and circuit using the same
JP4609488B2 (ja) * 2007-12-25 2011-01-12 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置、プログラム及びデータ処理方法
JP4433044B2 (ja) * 2007-12-25 2010-03-17 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置、プログラム及びデータ処理方法
KR101522004B1 (ko) * 2008-10-29 2015-05-20 삼성전자 주식회사 시각적 코드를 이용한 데이터 전송 장치 및 방법과 데이터 수신 장치 및 방법
DK2504814T3 (en) * 2009-11-24 2017-08-21 ERICSSON TELEFON AB L M (publ) DECODING SYSTEM AND PROCEDURE TO USE ON CODED TEXTURE ELEMENT BLOCKS
US8582906B2 (en) * 2010-03-03 2013-11-12 Aod Technology Marketing, Llc Image data compression and decompression
WO2012050489A1 (en) * 2010-06-18 2012-04-19 Telefonaktiebolaget Lm Ericsson (Publ) Texture compression and decompression
US8625910B2 (en) * 2011-02-25 2014-01-07 Adobe Systems Incorporated Compression of image data
WO2012136280A1 (en) * 2011-04-04 2012-10-11 Telefonaktiebolaget L M Ericsson (Publ) A method and an arrangement for texture compression
GB2491688B (en) 2011-05-05 2014-08-27 Advanced Risc Mach Ltd Method of and apparatus for encoding and decoding data
JP5903597B2 (ja) 2011-07-13 2016-04-13 パナソニックIpマネジメント株式会社 画像圧縮装置、画像伸長装置および画像処理装置
GB2503691B (en) 2012-07-04 2019-08-14 Advanced Risc Mach Ltd Methods of and apparatus for encoding and decoding data
US9177415B2 (en) 2013-01-30 2015-11-03 Arm Limited Methods of and apparatus for encoding and decoding data
US10147202B2 (en) 2013-03-15 2018-12-04 Arm Limited Methods of and apparatus for encoding and decoding data
TWI489445B (zh) * 2014-09-23 2015-06-21 Delta Electronics Inc 即時色域映對系統與即時色域映對方法
EP3472806A4 (en) 2016-06-17 2020-02-26 Immersive Robotics Pty Ltd IMAGE COMPRESSION METHOD AND DEVICE
AU2017285700B2 (en) * 2016-06-17 2019-07-25 Immersive Robotics Pty Ltd Image compression method and apparatus
WO2018037525A1 (ja) * 2016-08-25 2018-03-01 Necディスプレイソリューションズ株式会社 自己画像診断方法、自己画像診断プログラム、ディスプレイ装置、及び自己画像診断システム
US11429337B2 (en) 2017-02-08 2022-08-30 Immersive Robotics Pty Ltd Displaying content to users in a multiplayer venue
AU2018280337B2 (en) 2017-06-05 2023-01-19 Immersive Robotics Pty Ltd Digital content stream compression
CN111699693A (zh) 2017-11-21 2020-09-22 因默希弗机器人私人有限公司 用于数字现实的图像压缩
TW201935927A (zh) 2017-11-21 2019-09-01 澳大利亞商伊門斯機器人控股有限公司 用於影像壓縮之頻率分量選擇
CN110610688B (zh) * 2019-09-26 2021-04-09 瑞芯微电子股份有限公司 一种显示图层的动态带宽适配的方法和装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6404923B1 (en) 1996-03-29 2002-06-11 Microsoft Corporation Table-based low-level image classification and compression system
US6658146B1 (en) * 1997-10-02 2003-12-02 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
US6775417B2 (en) 1997-10-02 2004-08-10 S3 Graphics Co., Ltd. Fixed-rate block-based image compression with inferred pixel values
JPH11313219A (ja) * 1998-01-20 1999-11-09 Fujitsu Ltd カラーデータ変換方法
US7043077B2 (en) * 2001-11-07 2006-05-09 International Business Machines Corporation System and method for efficient compression of raster image data
SE526226C2 (sv) 2003-12-19 2005-08-02 Ericsson Telefon Ab L M Bildbehandling

Also Published As

Publication number Publication date
JP2007520104A (ja) 2007-07-19
US20070071333A1 (en) 2007-03-29
SE0401852D0 (sv) 2004-07-08
ATE557369T1 (de) 2012-05-15
WO2005059839A1 (en) 2005-06-30
US7734105B2 (en) 2010-06-08
EP1697900A1 (en) 2006-09-06
EP1697900B1 (en) 2012-05-09

Similar Documents

Publication Publication Date Title
JP4444970B2 (ja) マルチモード画像処理
JP4444969B2 (ja) マルチモードアルファ画像処理
RU2407223C2 (ru) Сжатие текстуры на основании двух оттенков с модифицированной яркостью
JP4444967B2 (ja) 画像処理
JP4805924B2 (ja) マルチモード画像処理のための方法、システム、及びシステムを具備するユーザ端末
JP5085642B2 (ja) 画像ブロックを圧縮する方法、画像ブロックの圧縮表現を処理する方法、ブロック圧縮器、及びブロック伸張器
CA2635542A1 (en) High quality image processing

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071113

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071113

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

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

LAPS Cancellation because of no payment of annual fees