JP5214742B2 - 予測に基づく画像処理 - Google Patents

予測に基づく画像処理 Download PDF

Info

Publication number
JP5214742B2
JP5214742B2 JP2010542539A JP2010542539A JP5214742B2 JP 5214742 B2 JP5214742 B2 JP 5214742B2 JP 2010542539 A JP2010542539 A JP 2010542539A JP 2010542539 A JP2010542539 A JP 2010542539A JP 5214742 B2 JP5214742 B2 JP 5214742B2
Authority
JP
Japan
Prior art keywords
pixel
block
prediction
difference
color component
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.)
Active
Application number
JP2010542539A
Other languages
English (en)
Other versions
JP2011514024A (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
Application filed by テレフオンアクチーボラゲット エル エム エリクソン(パブル) filed Critical テレフオンアクチーボラゲット エル エム エリクソン(パブル)
Publication of JP2011514024A publication Critical patent/JP2011514024A/ja
Application granted granted Critical
Publication of JP5214742B2 publication Critical patent/JP5214742B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/124Quantisation
    • 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/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • 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/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • 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/182Methods 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 pixel
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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/423Methods 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 characterised by memory arrangements
    • H04N19/426Methods 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 characterised by memory arrangements using memory downsizing methods
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)
  • Color Television Systems (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、一般に画像処理に関し、特に画像ブロックの予測に基づく圧縮及び伸張に関する。
グラフィックス処理装置(GPU)の性能を向上するために、メモリ帯域幅減少技術が採用される。そのような帯域幅に対する要求を軽減する方法の1つは、バッファ圧縮と呼ばれる処理を実行することである。一般にグラフィックスシステムは、2つのバッファ、すなわち画素の色が描かれるカラーバッファ及び各画素の奥行きが格納されるデプスバッファを使用する。レンダリング中、これらのバッファに対して読み出し及び書き込みが行なわれ、多くの場合、同一画素が双方のバッファに対して数回アクセスされる。この読み出し及び書き込みアクセスは、エネルギーに関して高価であるため、特に移動装置等の電源が制限されるユーザ端末に対しては最小限に維持されるべきである。
バッファ圧縮は、バッファデータのブロックが圧縮されてメモリに格納されることを示す。伸張及び圧縮が特定の画素及びブロックに対して数回行なわれる可能性があるため、圧縮は可逆的、すなわち非破壊的であることが重要である。
非特許文献1及び非特許文献2において、従来のバッファ圧縮及びデプスバッファ圧縮の適切な概要が与えられる。
カラーバッファデータは、描かれた三角形と背景との間の鮮明なエッジを含む可能性があるため、デプスバッファデータと比較して重要な問題を引き起こす。従来のカラーバッファデータ技術では、そのような不連続エッジを横切って予測することにより予測に基づくカラーバッファ圧縮を行なう場合に問題が起こるだろう。
Rasmusson、Hasselgren及びAkenine-Mollerの「Exact and Error-bounded Approximate Color Buffer Compression and Decompression」Graphics Hardware、2007年、41〜48ページ Haselgren及びAkenine-Mollerの「Efficient Depth Buffer Compression」Graphics Hardware、2006年、103〜110ページ
本発明は、従来の構成の上記欠点及び他の欠点を克服する。
本発明の一般的な目的は、効率的なカラーバッファ圧縮及び伸張を提供することである。
この目的及び他の目的は、添付の請求の範囲により規定される本発明により満足される。
簡単に説明すると、本発明は、関連する色を有する画素のブロックの圧縮及び伸張を含む。圧縮は、ブロック中の少なくとも1つの画素の色成分の予測を提供することを含む。この予測は、好ましくは現在の画素と同一のブロック中の行又は列に位置付けられるブロック中の2つの隣接画素の色成分の間の差分を計算することにより提供される。この差分の大きさが所定の閾値を超える場合、色成分予測は、2つの隣接画素の色成分の第1の重み付き合成に基づいて、好ましくは2つの色成分の平均に基づいて計算される。しかし、差分の大きさが閾値より小さくない場合、2つの隣接画素の色成分の第2の重み付き合成と第3の重み付き合成との間で選択される。更に、選択された重み付き合成と関連付けられるガイドビット又は予測方向が画素に割り当てられる。第1の重み付き合成は非ゼロ重みを使用し、その一方で、第2の合成及び第3の合成のうちの少なくとも一方はゼロに等しい2つの重みのうちの一方を有することができる。更に、全ての3つの重み付き合成は2つの色成分に対して異なる重みを使用する。
予測誤差は、色成分及び提供された色成分予測に基づいて画素に対して計算される。生成された圧縮ブロックは、現在の画素に対して判定される場合、この計算された予測誤差+ガイドビットの符号化表現を含む。
圧縮ブロックの伸張は、復号化する画素に対する予測誤差の判定を含む。この予測誤差は、画素と関連付けられ且つ圧縮ブロックに含まれる符号化誤差表現に基づいて判定される。その後、画素の色成分の予測が提供される。圧縮と同様に、2つの先行復号化隣接画素の色成分間の差分が判定される。差分の大きさが閾値より小さい場合、色成分予測は、2つの隣接画素の色成分の第1の重み付き合成に基づいて計算される。しかし、差分の大きさが閾値を超える場合、画素に割り当てられ且つ圧縮ブロックに含まれるガイドビットは予測を提供する際に採用される。ガイドビットは、2つの隣接画素の色成分の第2の重み付き合成及び第3の重み付き合成のうち現在の画素に対して予測として選択する重み付き合成を示す。
画素の色成分は、判定された誤差予測及び提供された色成分予測から取得される。
更に本発明は、圧縮器及び伸張器に関する。
本発明は、種々の画素位置の間の不自然に鮮明な色の不連続性を有する画素ブロックに対処可能である。従って、本発明はそのような不連続エッジを横切る予測を行なうことを回避する。
本発明により提供される他の利点は、本発明の実施形態の以下の説明を読むことにより理解されるだろう。
本発明は、添付の図面と共に以下の説明を参照することにより、本発明の更なる目的及び利点と共に最もよく理解されるだろう。
本発明に係るブロック圧縮方法の一実施形態を示すフローチャートである。 本発明において有用な画素ブロックの一例を示す図である。 浮動小数点数の表現としての整数の使用を概略的に示す図である。 図1、図10、図12及び図15の予測計算ステップの一実施形態を示すフローチャートである。 図1の圧縮方法の追加のステップを示すフローチャートである。 図5の圧縮方法の追加のステップを示すフローチャートである。 図6の再開値選択ステップの一実施形態を更に詳細に示すフローチャートである。 再開画素を有する画素ブロックを示す図である。 画素位置のミラー処理後の図8Aの画素ブロックを示す図である。 画素位置の回転後の図8Aの画素ブロックを示す図である。 図1の判定ステップの一実施形態を更に詳細に示すフローチャートである。 図9の圧縮方法の追加のステップを示すフローチャートである。 画素ブロックの圧縮表現の一例を示す図である。 本発明に係るブロック伸張方法の一実施形態を示すフローチャートである。 図12の伸張方法の追加のステップを示すフローチャートである。 図13の伸張方法の追加のステップを示すフローチャートである。 図12の伸張方法の追加のステップを示すフローチャートである。 本発明の教示が適用されるバッファアーキテクチャを示す概略ブロック図である。 本発明の一実施形態に係る圧縮器を示す概略ブロック図である。 本発明の一実施形態に係る図17の表現判定器を示す概略ブロック図である。 本発明の別の実施形態に係る圧縮器を示す概略ブロック図である。 本発明の一実施形態に係る伸張器を示す概略ブロック図である。 本発明の一実施形態に係る図20の誤差判定器を示す概略ブロック図である。 本発明の別の実施形態に係る伸張器を示す概略ブロック図である。 本発明の圧縮性能と従来の圧縮方式との比較を示す図である。
図中、同一の図中符号が対応する要素又は類似する要素に対して使用される。
本発明は、一般に、画素パラメータ値の可逆圧縮及び伸張に関し、特に、カラーバッファ圧縮及び伸張に適切な圧縮及び伸張に関する。
本発明は、ゲーム、3次元(3D)地図及びシーン、例えば動画メッセージである3Dメッセージ、スクリーンセーバ、マンマシンインタフェース(MMI)等の3D図形と共に使用するのに最適であるが、それらに限定されない。従って、本発明は、1次元(1D)、2次元(2D)又は3D画像等の他の種類の画像又は図形を符号化するために採用されてもよい。
本発明において、圧縮及び伸張は、一般に画素のタイル又はブロックの形式で複数の画素を一括処理する。本発明の好適な一実施形態において、画素ブロックは、M×N画素のサイズを有する。ここで、M、Nは整数であるが、M及びNの双方が同時に1にならないという条件付きである。好ましくは、M=2m且つN=2nである。m、nはゼロ又は整数であるが、m及びnが同時にゼロにならないという条件付きである。一般的な一実現例において、M=Nであり、そのような好ましいブロックの実施形態は、4×4画素、8×8画素又は16×16画素である。
画素又は「画像要素」という表現は、ブロック中の要素又はブロックの符号化表現を示す。このブロックは、画像、テクスチャ又はバッファの一部分に対応する。従って、本発明によると、画像要素は、(1D、2D、3D)テクスチャのテクセル(テクスチャ要素)、(1D又は2D)画像の画素又は3D画像のボクセル(体素)であってもよい。一般に、画素は関連する画素パラメータ値又は特徴により特徴付けられる。本発明の好適な一実施形態において、画素パラメータ値は色値及びより好ましくは複数成分から成る色値である。従って、画素色は複数の色成分、すなわち少なくとも2つの色成分から構成される。そのような色の一般的な例は、色空間において3つの色成分を有するRGB(赤、緑、青)色である。YUV、YCoCg又はYCrCb等の他の色空間に存在する他の複数成分から成る色も従来技術において周知であり、本発明に従って使用可能である。そのような場合、色成分Y、Cr及びCbの各々は、本明細書で説明される赤(第1の)色成分として符号化及び復号化されるのが好ましい。しかし、これらの他の色空間の場合、RGB色とYUV/YCrCb/YCoCg色との間の可逆変換が必要とされ、その計算コストは高い。従って、RGB色は、本発明において使用可能な有利な画素色である。
更に以下において、「画像」という用語は、本発明により符号化及び復号化可能な任意の1D、2D又は3D画像又はテクスチャを示すために使用される。それらの画像又はテクスチャは、バンプマップ、法線マップ、写真、ゲーム形式のテクスチャ、テキスト、図面、ダイナミックレンジの広い画像及びテクスチャ等を含むがそれらに限定されない。
本発明は、予測に基づくカラーバッファ圧縮(符号化)及び伸張(復号化)に関する。本発明の予測に基づく色データ処理は、例えば描かれた三角形と背景との間の鮮明なエッジにより起こる色値の不連続性に対処するのに最適である。そのような本発明の専用の不連続性管理は、従来のバッファ圧縮方式において利用されない。
<圧縮>
図1は、本発明に従って複数画素のブロックを圧縮する方法を示すフローチャートである。ブロックの各画素は、赤色成分、緑色成分及び青色成分等の複数の色成分から構成される色を有する。ブロック圧縮は、ブロック中の少なくとも1つの画素に対して画素の第1の色成分の予測を提供することを含む。以下において、この第1の色成分を赤色成分により示す。しかし、RGB色の場合に緑又は青等の他の任意の色成分が圧縮方法において最初に処理されてもよいため、これは本発明の単なる例示として考えられるべきである。
予測提供動作は、ステップS1で開始する。このステップS1は、ブロックの第1の隣接画素の赤(第1の)色成分とブロックの第2の隣接画素の赤色成分との間の差分を計算することを含む。従って、これらの2つの隣接画素は、ブロックにおいて圧縮する現在の画素に隣接する。更に画素は、現在の画素に対する2つの異なる予測方向に関連する。好適な一実施形態において、2つの隣接画素は、ブロックの同一行の先行画素及びブロックの同一列の先行画素を含む。従って、現在の画素はブロックにおいて画素位置(i, j)を有すると仮定される。そのような場合、2つの隣接画素は、位置(i-1, j)及び(i, j-1)を占有するのが好ましい。
ステップS1の計算は、差分R(i-1)j - Ri(j-1)を計算することを含むのが好ましい。ここで、Rijはブロック位置(i, j)の画素の赤色成分を示す。これは符号ではなく関連性を示す差分の大きさであるため、絶対値又は差分の大きさ|R(i-1)j - Ri(j-1)|はステップS1において計算される。別の方法において、2乗差(R(i-1)j - Ri(j-1))2がステップS1において計算される。当然、これら2つ以外の大きさの表現も可能である。
いずれかの場合において、計算された差分表現(差分の大きさ又は2乗差)は、規定された閾値hと比較される。従って、比較は|R(i-1)j - Ri(j-1)| < h1又は(R(i-1)j - Ri(j-1))2 < h2で実現される。隣接画素の赤色成分の間の差分(の大きさ)が閾値より小さい場合、ステップS1からステップS2に進む。差分が閾値より小さくない場合、ステップS3に進む。
閾値hは、可能な限り多くの種々のカラー成分のブロックとして圧縮し、その結果可能な限り短いブロック圧縮長(ビット数に関して)が得られることを最適化の目的とする最適化手順において判定される。本発明に従って使用され且つ予備最適化手順から得られる閾値の例は、h1 = 2048及びh2 = 20482であるが、それらに限定されない。しかし、閾値の実際の値は、使用される特定の色形式、色成分値に対する利用可能な範囲等を含む複数の因子に依存する。この値2048は、色成分が半精度浮動小数点数として表されるRGB色に対して適切に動作する。
ステップS2は、2つの隣接画素の赤色成分から現在の画素の色成分予測を計算することを含む。換言すると、
Figure 0005214742
であり、
Figure 0005214742
は現在の画素Rijの予測であり、f()は関数であり、特に2つの隣接する赤色成分の第1の重み付き合成の形式
Figure 0005214742
である。第1の重み付き合成は、丸められるか、切り捨てられるか又は切り上げられて整数の予測値を得てもよい。
ステップS1において調査されるように、差分が閾値より小さくない場合、オプションであるが好適なステップS3に進む。ステップS3は、現在の画素の赤色成分と隣接画素の赤色成分の第2の重み付き合成WC2との間の第1の差分を計算することを含む。ステップS3は、現在の画素の赤色成分と隣接する画素の赤色成分の第3の異なる重み付き合成WC3との間の第2の差分を計算することを更に含む。別の方法において、2つの差分は、現在の画素の赤色成分と第1の隣接画素及び第2の隣接画素のそれぞれの赤色成分(又は赤色成分から判定される値)との間で計算される。画素の色成分予測は、2つの隣接する赤色成分の第2の重み付き合成及び第3の重み付き合成のうちの一方に基づくように、好ましくはその一方と等しくなるように選択される。更に、この予測の選択は、2つの計算された差分に基づいて実行される。一般に、調査された画素の赤色成分に最も近い重み付き合成が選択される。従って、|Rij - WC2| < |Rij - WC3|(すなわち、(Rij - WC22 < (Rij - WC3)2又は好ましくないが|Rij - R(i-1)j| < |Rij - Ri(j-1)|)である場合、ステップ4において、赤色成分の第2の重み付き合成が赤色予測として選択される。すなわち、
Figure 0005214742
である。|Rij - WC2| < |Rij - WC3|でない場合、ステップS5において、第3の重み付き合成が赤色予測として選択される。すなわち、
Figure 0005214742
である。別の方法において、現在の画素ブロックは、まず第2の重み付き合成を予測として使用して符号化され、その後第3の重み付き合成を予測として使用して再度符号化される。そのような場合、最も効率的なデータ圧縮を結果として与える重み付き合成が現在の画素に対する予測として選択される。
本発明によると、2つの隣接する赤色成分の3つの重み付き合成は、異なる重み付き合成である。すなわち、異なる重み
Figure 0005214742
Figure 0005214742
及び
Figure 0005214742
を使用する。上述したように、第1の重み付き合成と関連して、第2の重み付き合成及び第3の重み付き合成は丸められるか、切り捨てられるか又は切り上げられて整数値を得てもよい。
第1の重み付き合成又は線形合成の重み
Figure 0005214742

Figure 0005214742
は、非ゼロ重みであり、0 < w1 < 1の間隔内であるのが好ましい。第2の重み付き合成及び第3の重み付き合成の重みは非ゼロであるのが好ましいが、重み付き合成毎に1つがゼロであってもよい。そのような場合、好ましくは
Figure 0005214742
の場合に
Figure 0005214742
であり且つ好ましくは
Figure 0005214742
の場合に
Figure 0005214742
である。好適な一実施形態において、
Figure 0005214742

Figure 0005214742
の場合に
Figure 0005214742
であり且つ
Figure 0005214742
である。更に好ましくは
Figure 0005214742
である。そのような場合、第2の重み付き合成は
Figure 0005214742
であり、第3の重み付き合成は
Figure 0005214742
である。第2の合成及び第3の合成の適切な重み値の一例は、WC2 = 0.75R(i-1)j + 0.25Ri(j-1)及びWC3 = 0.25R(i-1)j + 0.75Ri(j-1)である。
Figure 0005214742
であり且つ
Figure 0005214742
である場合、WC2 = R(i-1)jであり且つWC3 = Ri(j-1)である。これは、2つの隣接画素の赤色成分のうち、現在の画素の赤色成分の予測として選択された一方に対応する。
その後、ステップS6に進み、選択された予測と関連付けられるガイドビットが提供される。従って、ステップS4において第2の重み付き合成が赤色予測として選択された場合、ガイドビットは0bin(又は1bin)に設定される。しかし、ステップS5において第3の重み付き合成が選択された場合、ガイドビットは1bin(又は0bin)である。
次のステップS7は、現在の画素の赤色成分及びステップS2、S4又はS5で提供された予測に基づいて予測誤差を計算する。予測誤差
Figure 0005214742
は、画素の元の赤色成分とRijとその予測
Figure 0005214742
との差分
Figure 0005214742
、すなわち
として計算されるのが好ましい。
計算された予測誤差の符号化表現は、ステップS8において判定される。ブロックの圧縮表現又は符号化表現はこの符号化表現を含み、ステップS1からステップS3に進んだ場合は画素に対してステップS6で提供されたガイドビットを含む。
手順はブロック中の複数の画素に対して繰り返されるのが好ましい。これを線L1により概略的に示す。そのような場合、圧縮ブロックは、それらの画素毎に符号化予測誤差表現を含む。更に、画素の一部は割り当てられたガイドビットを有してもよく、その一方で、他の画素はステップS2に従って計算された予測を有するため、任意の割り当てられたガイドビットを有さない。更に正確には、図1で開示される方法に従って符号化された全ての画素がガイドビットを有してもよく、いずれの画素も割り当てられたガイドビットを有さなくてもよく、あるいは少なくとも1つの画素がガイドビットを有する一方で、少なくとも別の画素は割り当てられたガイドビットを有さなくてもよい。
図2は、複数の画素310〜318のブロック300を示す概略図である。図1に示す圧縮方法を考慮すると、現在の画素318を圧縮する場合、同一のブロック行及びブロック列の先行位置にある2つの隣接画素312、316の赤色成分が調査される。画素318に対する赤色成分の予測は、それらの差分の大きさが閾値より小さい場合、それらの双方の隣接画素312、316の赤色成分の第1の重み付き合成に基づいて計算され、閾値より小さくない場合、第2の重み付き合成及び第3の重み付き合成のうちの一方が予測基準として選択される。
従来技術において周知であるように、カラーバッファの画素の元の色成分は、浮動小数点数、特に半精度浮動小数点数、すなわちFP16である場合が多い。16ビット半精度浮動小数の最上位ビットは符号ビットを表し、後続する5ビットは指数を構成し、10個の最下位ビットは仮数を形成する。半精度浮動小数の数値は、(-1)sign × 2(exponent-l5) × (1.mantissa)である。しかし、半精度浮動小数の浮動小数点特性は問題を引き起こす。浮動小数点数の密度が均一でないため、2つの浮動小数の間の差分が表現できない場合がある。図3はこの概念を示す。図3の上半分は浮動小数表現を示す。数密度の不均一性は明らかに見て分かる。密度はゼロに近付くほど増加する。半精度浮動小数等の浮動小数点数の形式で色成分表現を有する問題を示すために、第1の色成分は7.5であり、第2の成分値は1.875であると仮定する。双方の数字は半精度浮動小数を使用して表現可能である。しかし、2つの数字の差分7.5 - 1.875 = 5.625は半精度浮動小数として表現できない。これに対して、最も近い表現は5.5である。しかし、背景の節で説明したように、カラーバッファ圧縮は可逆的である必要がある。従って、上述の半精度浮動小数の間の差分の計算を必要とするブロックは、その差分が半精度浮動小数で正確に表現できないため可逆圧縮できない。
本発明は、図3に示すように、各浮動小数点数を整数表現にマッピングすることにより浮動小数点数の問題を解決する。基本的にこれは、各浮動小数点数に固有の整数を割り当てることに対応する。浮動小数点から整数領域にマッピングすることは、より大きな整数をより大きな浮動小数点数に割り当てることを含む。これは、0.0には整数表現0が割り当てられ、次に最も小さい正の浮動小数点数には1が割り当てられ、更に次に最も小さい浮動小数点数には2が割り当てられる。
上記例は、整数15に差分16を加算して31の結果、すなわち浮動小数点として解釈すると7.5の結果を得ることに対応する。従って、本発明の好適な一実現例は、浮動小数点領域と整数領域との間の1対1マッピングに従って浮動小数点色成分を整数として解釈することを含む。整数領域において計算及び算術を行なうことにより、コストのかかる浮動小数点演算が回避される。また、圧縮が可逆的であるため、Nan(非数)、Inf(無限大)及びdenorm(非正規化数)が適切に更に処理される。そのような場合、圧縮中、浮動小数点数は図3に示す上述のマッピングに従って整数として解釈される。伸張後、整数は、上述の整数と浮動小数点数との間の1対1マッピングを介して浮動小数点数に再度変換される。
画素中の画素の元の色値は、FP16で表される符号なしの15ビット値であるのが好ましい。
図4は、図1の予測計算ステップS2の一実施形態を示すフローチャートである。方法は、図1のステップS1から継続した。次のステップS10は、2つの隣接画素の赤色成分の平均に基づいて画素予測
Figure 0005214742
Figure 0005214742
を計算する。好適な一実現例において、計算された平均は、予測として採用される。すなわち、
Figure 0005214742
である。整数予測のみが採用される場合、商は
Figure 0005214742
に従って丸められるか、あるいは床関数(又は天井関数)に入力される。
Figure 0005214742
等の平均に基づいて判定された他の予測も可能である。その後、図7のステップS7に進み、予測誤差が判定された予測に基づいて計算される。
図5は、本発明の圧縮方法の追加の好適なステップを示すフローチャートである。方法はステップS20で開始する。ステップS20は、ブロックに対して開始成分値を選択することを含む。この開始値は、ブロックの選択された位置又は事前定義済み位置の画素の赤(第1の)色成分になるように選択される。図2を参照すると、そのような事前定義済み位置の好適な一実現例は、ブロックの第1の画素310、すなわち左上隅を占有する画素を使用することである。可能な開始画素位置の他の例は、ブロックの他の隅のいずれであってもよい。
隅の位置及び特に左上隅の画素310がブロックの圧縮を非常に簡略化するが、実際には、ブロック中の任意の事前定義済み位置が開始位置として使用可能である。
圧縮ブロックは、開始成分値の表現Rstart = R11を含む。
次のステップS21は、開始画素310と同一のブロック中の行又は列に属する少なくとも1つの残りの画素312、314、316に対する予測を選択する。好適な一実現例において、これは、ブロックの画素行又は画素列の先行する隣接画素の赤色成分と等しくなるように赤色成分予測を選択することを含む。これは、第1の行の画素312、314に対して、j = 2, 3,...の場合に予測
Figure 0005214742
がR1(j-1)に等しいこと及びR11がステップS20において選択された開始成分値であることを意味する。第1の列の画素316に対する対応する予測は、i = 2, 3,...の場合に
Figure 0005214742
と定義され、R11は開始成分値である。ステップS21は、第1の行及び第1の列の残りの画素毎に実行されるのが好ましい。これを線L2により概略的に示す。
上述したように、予測誤差は、画素の元の赤色成分値とその色成分予測との間の差分として種々の画素に対して計算される。すなわち、
Figure 0005214742
であるか又は
Figure 0005214742
である。その後、図1のステップS1に進み、ブロック中の残りの画素、すなわち第1の行又は第1の列に存在しない画素が上述したように圧縮される。
カラーバッファ圧縮は、上述したように描画された三角形と背景又は非常に異なる色の先に描画された三角形に属する画素との間の不自然に鮮明な色の不連続性が存在する可能性があるという点で他の画像圧縮とは異なる。従って、ブロックに不連続エッジが存在する可能性がある。そのような場合、いわゆる再開成分値が本発明に従って判定及び採用される。図6は、この概念を更に詳細に示す。方法は、図5のステップS20から継続する。次のステップS30は、ブロックに対する再開成分値を選択する。この再開値は、ブロックの識別された画素の赤(第1の)色成分になるように選択されるのが好ましい。
再開画素位置は、種々の実施形態に従って識別可能である。第1の方法において、ブロックは再開値を全く使用せずに圧縮される。同一ブロックは、可能な再開位置毎に、すなわち上述の開始画素位置以外の全ての画素位置に対して1度圧縮される。4×4のブロックの場合、これは、1+15の異なる圧縮ブロック候補を判定することを意味する。再開値を全く使用せずに圧縮されたブロックが最小の圧縮サイズを与える場合、再開値は採用されず、ステップS30は省略される。しかし、最小の圧縮サイズを与える圧縮ブロック候補が再開値を使用する15個の候補のうちの1つである場合、再開画素の位置は、最小の圧縮サイズを有するブロック候補において使用される位置になるように識別される。また、圧縮ブロックの単一ビットは、再開値を使用しないか又は再開値を使用するかを信号伝送するために使用される。別の方法において、4ビットの再開位置識別子は4×4のブロックに対して使用される。しかし、第1の画素位置は、開始位置になるように事前定義されるのが好ましい。これは、開始位置に対応する0000binに4ビットの位置識別子を設定することにより、再開値を使用しないことが黙示的に信号伝送される。
計算的に更に効果的である別の方法について、図7と関連して以下に更に説明する。
いずれの場合においても、再開位置が識別されると、ブロックの再開画素位置の表現は判定され、ブロックの圧縮表現に含まれる。4×4のブロックの場合、この表現は4ビット位置ワードである。更にブロックは、再開値の表現、すなわち識別された再開位置を占有する画素の赤色成分値の表現を含む。
その後、図5のステップS21に進む。
ある特定のブロックに対して、再開画素は、開始画素と同一のブロック行又はブロック列に存在する。例えば、再開画素は、開始画素310が左上隅にある場合に第1の行の第2の画素312であると仮定される。そのような場合、第1の列に存在する画素316は列の先行画素の赤色成分を予測として有する。換言すると、開始値R11(画素310からの)は、画素316の予測として使用され、画素316の赤色成分値は第1の列の第3の画素の予測として採用される。図6を参照して与えられた上記説明を考慮すると、第1の行の第3の画素314に対する赤色成分の予測は再開値と等しい。その行の最後の画素は、第3の画素314の赤色成分を色成分予測として有する。
別の方法において、開始画素310及び再開画素312の双方と同一の行又は列に存在する画素314に対する予測が選択されてもよい。そのような場合、開始値又は再開値は予測として採用され、結果として最小の予測誤差を与える値が第1の行の第3の画素314及び第4の画素に対して選択される。選択ビットが採用され、開始値及び再開値のどちらが行又は列の残りの画素314に対する予測基準として使用されるかを示すために使用されるのが好ましい。例えば、0bin(又は1bin)の選択ビットは、現在の画素314の予測が開始値であることを信号伝送するが、その一方で、1bin(又は0bin)は、再開値が使用されたことを示す。
更に別の例において、行又は列の先行画素の赤色成分と先行画素に対して予測基準として採用されなかった開始/再開値の一方との間で選択が行なわれる。例えば、第1の行の第3の画素314に対する予測は再開値であったと仮定する。そのような場合、その行の第4の画素の予測は第3の画素314の赤色成分又は開始値と等しい。0bin(又は1bin)の選択ビットは、予測が同一行又は同一列の先行する隣接画素の色成分と等しいことを示すが、その一方で、1bin(又は0bin)の値は、開始値及び再開値の一方が予測として採用されることを信号伝送する。更に、隣接画素が再開(開始)値から予測された場合、開始(再開)値は予測として選択される。更に別の例において、行又は列の先行画素の赤色成分と先行画素に対して予測基準として採用されなかった開始値及び再開値のうちの一方から予測された行又は列の最近接する先行画素との間で選択が行なわれる。
図7は、図6の選択ステップS30の一実施形態を示す。方法は、図5のステップS20から継続する。次のステップS40は、ブロックに対する再開画素を識別する。このステップは、上述したように全ての可能な再開位置の全数探索に従って実行される。別の方法において、まず開始値に対する絶対差分|R11 - Rij|がブロックの全ての残りの画素に対して計算される。ここで、(i, j) ≠ (1, 1)である。開始値と最も異なる色成分値を有する画素が識別される。本明細書において、この画素の赤色成分はRdiffで示される。その後、その赤色成分と開始値との間の第1の絶対差分|Rij - R11|及びその赤色成分とRdiffとの間の第2の絶対差分|Rij - Rdiff|が画素に対して計算される。ステップS41において、第1の絶対差分が第2の絶対差分より小さい場合、画素は開始値の予測として分類され、第1の絶対差分が第2の絶対差分より小さくない場合、画素は再開値の予測として分類される。
この場合、再開画素は、第1の差分より大きい第2の絶対差分を有するブロックのトラバーサル順で第1の画素として識別される。
次のステップS42は、圧縮される現在の画素と同一の行又は列に存在する2つの隣接する先行画素に対して現在の画素と同一の分類が行われるかを調査する。先行画素のいずれに対しても同一の分類が行なわれない場合、これらの3つの画素間で不連続エッジが発生する。従って、隣接画素のいずれも現在の画素に対する適切な予測候補ではない。本発明は、画素と同一の分類が行なわれる少なくとも1つの隣接画素を現在の画素に対して取得するためにブロックの画素位置を再順序付けすることによりこの問題を解決できる。
好適な一実施形態において、再順序付け手順は、1回等の制限された回数だけ実行可能であるのが好ましい。実行される回数が制限されない場合、圧縮される特定のブロックに依存して、再順序付けにより2つの異なる画素レイアウト間で切り替わる可能性がある。
図8Aはこの概念を示す。図中、開始画素310は左上隅にある。この例において、上記に従う全数探索又は計算的に更に効果的な再開識別手順は、ブロックの右上隅の再開画素311を識別する。ステップS41の分類手順の実行後、図中の白色で印がつけられた画素314、318は、開始値に基づいて予測可能として分類され、その一方で、灰色で印がつけられた画素317は再開値に基づいて予測可能である。第2の行の第3の画素317が符号化されるべきであると仮定する。しかし、同一行又は同一列の2つの隣接画素314、318は、現在の画素317とは異なるように分類される。これは、隣接画素の赤色成分の平均又はそれらのいずれかを予測として使用することにより、非常に大きな予測誤差及び低い圧縮品質がもたらされる。従って、再順序付け動作が実行される。
第1の実施形態において、ブロック中の画素位置は、ブロックの第2の列と第3の列との間に位置付けられる垂直線に関して反転される。従って、この際順序付けは、ブロック300において画素位置(i, j)を有する画素を新しい画素位置(i, 5-j)に変換することを含む。ここで、i, j = 1, 2, 3, 4である。この再順序付け動作の結果を図8に示す。尚、画素は再順序付けの前と同一のブロック行に存在するが、新しい列に位置付けられる。
この場合、現在の画素317は同一の分類が行なわれる同一行に隣接画素を有し、その一方で、同一列の先行画素314に対しては別の分類が行なわれる。圧縮中、これらの2つの隣接画素314の赤色成分の間の差分が計算され、閾値と比較される。2つの隣接画素314に対して異なる分類が行なわれるため、差分は閾値を超える可能性が高い。従って、隣接画素314の赤色成分は図1に従って予測として使用されるべきである。この場合、予測候補は、現在の画素317と同一の分類が行なわれるため、同一行の先行する隣接画素である可能性が高い。
図8Cは、別の再順序付け実施形態の結果を示す。本実施形態は、ブロック300の中心に位置付けられる回転点に関してブロック300を90(右又は左に回転させることを含む。この再順序付けのために、ブロック300において先行位置(i, j)を有する画素は新しい画素位置(j, 5-i)を得る。ここで、i, j = 1, 2, 3, 4である。図から分かるように、現在の画素317は2つの候補隣接画素を有する。そのうちの一方は318で示され、他方(同一行に存在する)は同一の分類が行なわれるため、適切な予測候補である。
画素位置の再順序付けが実行された場合、圧縮ブロックは、そのような画素再順序付けを表す回転ビット(反転ビット又は再順序付けビットとも呼ばれる)を含むのが好ましい。例えば、1bin(又は0bin)は回転されたブロックを示すことができ、その一方で、0bin(又は1bin)は再順序付けが行なわれていないことを示す。
特定の一実施形態において、複数の種々の画素再順序付け動作が利用可能である。そのような場合、これらの再順序付け動作の一部は、新しい隣接画素が現在の画素とは異なって分類される場合があるため予測問題を解決しない可能性がある。更に、再順序付けの結果、ブロック中の他の画素が予測する同一の分類の隣接画素を有さない場合がある。上述したように、ブロック回転、ブロック反転等の全ての種々の再順序付け動作がテストされる。回転ビットは、複数の利用可能な動作の再順序付けなしと特定の再順序付けとを区別する複数ビットの回転ワードである。
一実施形態において、少なくとも1つの画素がその画素と異なる分類が行なわれた2つの隣接予測画素を有する場合、画素再順序付けが実行される。別の実現例は、まず再順序付けせずにブロックを圧縮し、位置の再順序付けをしてブロックを再度圧縮することである。元のブロックを最適に表す圧縮結果、すなわち最短の圧縮ブロック表現を結果として与える圧縮結果は、現在のブロックの圧縮表現として選択及び使用される。その後、図5のステップS21に進む。
図9は、図1の予測誤差の符号化表現を判定する一実施形態を示すフローチャートである。方法は、図1のステップS7から継続する。次のステップS50は、予測誤差を変更して正の予測誤差を得る。この変更は、負の予測誤差(ゼロ誤差を含む)に関数n(x) = -2xを適用し且つ正の予測誤差(ゼロ誤差を含まない)に関数p(x) = 2x - 1を適用することを含むのが好ましい。この結果、{0, 1, -1, 2, -2, 3, -3,...}である予測誤差の新しい構成が得られる。これは、小さい大きさの数字が小さい値を有することを意味する。変更された各予測誤差は、符号化表現を取得するためにGolomb-Rice符号化されるのが好ましい。
Golumb-Rice符号化は、指数kを探索することを含む。この数kは、ブロックの少なくとも1つの画素の集合に対して採用されるのが好ましい。例えば、ブロックの2×2のグループの4画素は同一のkを共有できる。0と15との間等のkの利用可能な値の間で全数探索が使用され、グループに最適なkを見つける。しかし、探索は利用可能なkの値の選択された部分のみを見ることにより計算が軽減される。この好適なkの探索は、[p-4, p]の間隔でkを探索することを含む。ここで、pは画素グループの最大の予測誤差の最上位ビットのビット位置である。
次のステップS52は、グループの各予測誤差を2kで除算し、商及び余りを形成する。商は、次のステップS53においてアルファ符号化される。このアルファ符号化は、以下の表1に従って実行されるのが好ましい。
Figure 0005214742
アルファ符号化は、表1から明らかであるように、より大きな値により長いコードを割り当てる。一般に31より大きい値は、0×ffffhexを使用して符号化され、その後値の16ビットが続く。
予測誤差の符号化表現は、アルファ符号及び余りのkビットを含む。更に値kは、画素のグループに対して格納される。この手順は、開始画素及び再開画素を除くブロック中の画素毎に実行される。上述したように、これらの画素の元の色成分値は開始成分値及び再開成分値としてそれぞれ格納される。
Golumb-Rice符号化は使用可能な符号化アルゴリズムであるが、本発明はこれに限定されない。ハフマン符号化又はTunstall符号化を含む他の符号化アルゴリズムが代わりに採用できる。
赤(第1の)色成分は他のデータに依存せずに符号化されるが、その一方で、緑(第2の)色成分は赤色成分に対して符号化されるのが好ましい。この状況を図10に示す。方法は、図1のステップS8から継続する。次のステップS60は、ブロックの画素毎に成分差分を計算する。この成分差分は、画素の緑色成分と赤色成分との間の差分Gij - Rijである。その後、ブロックの第2の色成分に対する各予測が提供される。
第1に、ステップS61において、2つの隣接画素の赤色成分の間の差分の大きさ/2乗差が閾値を超えるか否かが調査される。このステップS61は、図1のステップS1と同様に実行される。従って、緑色成分の予測が提供されるが、ステップS61の調査は赤色成分値を採用する。
差分が閾値より小さい場合、ステップS62に進む。ステップS62は、第1の隣接画素の緑色成分と赤色成分との間の第1の差分及び第2の隣接画素の緑色成分と赤色成分との間の第2の差分の第1の重み付き合成に基づいて予測を計算する。換言すると、
Figure 0005214742
であるか、あるいは丸められたか、切り捨てられたか又は切り上げられた重み付き合成である。好適な一実施形態において、予測は、2つの成分差分の平均に基づいて計算されるのが好ましく、平均
Figure 0005214742
又は床関数の場合は
Figure 0005214742
と等しいのが更に好ましい。
しかし、ステップS61において隣接する赤色成分の間の差分の大きさが閾値を超える場合、ステップS63に進む。ステップS63は、現在の画素に対してステップS6で判定されたガイドビットを使用し、ステップS64において予測として2つの差分の第2の重み付き合成
Figure 0005214742
を選択するか、あるいはステップS65において予測として第3の重み付き合成
Figure 0005214742
を選択する。従って、図6のステップS4において赤色成分の第2の重み付き合成が現在の画素に対する予測として選択された場合、ステップS6においてガイドビットが設定され、ステップS64において色成分の差分の第2の重み付き合成が画素に対する第2の予測として選択される。あるいは、ステップS5において隣接する赤色成分の第3の重み付き合成が画素の第1の予測として選択されたためにガイドビットが設定されなかった場合、ステップS65において差分の第3の重み付き合成が第2の予測として選択される。これらの第2の重み付き合成及び第3の重み付き合成は、丸められてもよく、切り捨てられてもよく又は切り上げられてもよい。
好適な一実施形態において、図10に開示される上述の色成分差分の3つの異なる重み付き合成を判定するために採用される重みは、赤色成分の3つの異なる重み付き合成を判定するために図1において採用された重みと同一であるのが好ましい。
次のステップS66は、画素の緑色成分及び赤色成分と選択された予測との間の差分として画素の緑色成分に対する予測誤差
Figure 0005214742
を計算する。次のステップS67は、ステップS66で計算された第2の予測誤差の第2の符号化表現を判定することを含む。このステップS67は、以下の相違点を除いて図9に関連して上述したステップS8と同様に実行されるのが好ましい。開始画素及び再開画素は、別個に処理されないが、他の予測と同様にGolomb-Rice(ハフマン又はTunstall)符号化に供給される。従って、開始画素の場合、差分G11 - R11はGolomb-Rice符号化され、同様のことが再開画素にも当てはまる。
開始画素及び/又は再開画素と同一の行又は列に存在する画素の場合、圧縮は、更に緑色成分と赤色成分との差分が使用されて赤色成分と同様に実行される。従って、開始画素と同一の行の画素は、
Figure 0005214742
である第2の予測誤差を有する。
青(第3の)色成分及び残りの色成分に対して、図9と関連して上述したように同一の手順が実行される。しかし、この場合、ステップS60において青色成分と緑色成分との間の差分Bij - Gijが計算される。別の方法において、ステップS60において青色成分と赤色成分との間の差分Bij - Rijが計算される。
図11は、本発明に従って圧縮された画素ブロックの圧縮表現400を示す概略図である。圧縮ブロック400は、再開ビット410を含むのが好ましい。このビットは、再開画素が現在のブロックに対して使用される場合、1binと等しくなるように設定される。そのような場合、圧縮ブロックは、再開画素位置の指示420及び再開値の表現430を更に含む。再順序付けビット440は、任意の画素位置再順序付けが実行されたか否かを信号伝送する。更に開始値の表現450が圧縮ブロック400に含まれる。圧縮ブロック400は、判定されたk値の表現460、ガイドビット470、並びに図中では符号化誤差表現480で示されるGolomb-Rice符号化による商及び余りのアルファ符号を更に含む。
圧縮ブロック400の含まれる成分の実際の順序は、図11に示すものと異なってもよい。
<圧縮の例>
赤色成分に対する以下の色成分値を有する図2に示すような画素ブロックを仮定する。
Figure 0005214742
開始値は、ブロックの第1の画素に対応する。すなわち、Rstart = R11 = 10001である。この場合、第1の行及び第2の行の最後の3つの画素が開始値により最適に予測され、その一方で他の画素は予測されないように、続くエッジにおいて赤色成分の鮮明な不連続性を識別することは困難なことではない。
再開値は、画素毎にその画素の赤色成分と開始値との間の絶対差分|Rij - Rstart|を計算することにより識別可能である。
Figure 0005214742
開始値と最も異なる画素は第3の行の第4の画素である。従って、Rdiff = R34 = 9995である。画素の赤色成分とRstartとRdiffとの間の絶対差分が計算される。|Rij - Rstart| < |Rij - Rdiff|である場合、画素には0binの一時的な分類ビットが割り当てられ、画素が開始値の予測であることを示し、|Rij - Rstart| < |Rij - Rdiff|でない場合、画素は再開値の予測であり、1binが割り当てられる。現在のブロックに対する結果を以下に示す。
Figure 0005214742
一時的な分類ビットは、トラバーサル順に、すなわち第1の行の左側から開始して右側に進み、その後第2の行の左側から開始して右側に進む順序で調査される。分類ビット1binを有する第1の画素は、再開画素として識別される。この例において、第2の行の第1の画素が識別されるため、Rrestart = R21 = 11である。
最初に、第1の行の画素は、
Figure 0005214742
の予測手順を使用して圧縮される。従って、その行の第2の画素に対する予測誤差は、
Figure 0005214742
である。第1の行の残りの画素に対してこの手順を継続することにより、一連の予測誤差、すなわち1,1,1が得られる。
その後、第1の列の2つの残りの画素は、
Figure 0005214742
に従って予測される。この結果、第1の列の第3の画素に対しては、
Figure 0005214742
が得られる。その行の最後の画素に対する予測も1である。部分的に圧縮されたブロックは、以下の予測誤差を有する。
Figure 0005214742
その後、第2の行の第2の画素は、図1に従って調査される。2つの隣接する赤色成分の間の差分は計算され、閾値と比較される。すなわち、(10002 - 11)2 = 99912 > 20482である。これは、予測が図1のステップS3〜S6に従って提供されるべきであることを意味する。この例において、
Figure 0005214742
であり且つ
Figure 0005214742
である。隣接する画素及び現在の画素の赤色成分の間の絶対差分が計算され且つ比較される。すなわち、|10003 - 10002| < |10003 - 11|である。これは、この例における重みの特定の選択による画素成分の予測
Figure 0005214742
を意味する。ガイドビットは1binに設定され、予測は同一行ではなく同一列に沿って実行されることを意味する。予測誤差は、
Figure 0005214742
として計算される。
その後、第2の行の第3の画素が調査される。隣接する赤色成分の間の2乗差は、上記の(10003 - 10003)2 = 0 < 20482として計算される。従って、予測は図1のステップS2に従って提供されるべきである。これは、隣接する色成分の平均が計算され、予測
Figure 0005214742
として使用される。結果として得られる予測誤差は、
Figure 0005214742
である。残りのブロックに対してこの手順を継続すると、以下の予測誤差が得られる。
Figure 0005214742
*1binのガイドビットが使用される。
**0binのガイドビットが使用される。
その後、予測誤差は、上述したようにGolomb-Rice符号化を使用して符号化される。 現在のブロックに対する緑色成分は以下の値を有すると仮定する。
Figure 0005214742
最初に、緑色成分と赤色成分との間の差分が計算され、以下の値を取得する。
Figure 0005214742
第1の画素行は、先行画素値を予測として上述したように処理される。従って、結果として得られる予測誤差は、第1の行の最後の3画素に対して2,2,2となる。第1の列の最後の2画素に対する対応する予測誤差は-3,-3である。
位置(2, 2)の画素に対するガイドビットによると、予測は同一列の隣接画素に対する値と等しい。予測誤差は18 - 21 = -3となる。
第2の行の第3の画素は、双方の隣接画素に基づいて予測されるべきである。従って、予測誤差は、
Figure 0005214742
である。残りの画素に対して手順を継続すると、緑色成分に対する予測誤差が得られる。
Figure 0005214742
その後、同一の手順が青色成分に対して実行される。
<伸張>
図12は、本発明に従って圧縮画素ブロック又は符号化画素ブロックを伸張又は復号化する方法を示すフローチャートである。方法は、ステップS70から開始し、予測誤差が復号化されるブロックの画素に対して判定される。この予測誤差は、画素と関連付けられ且つ圧縮ブロックに含まれる符号化誤差表現に基づいて判定される。従って、ステップS70は、画素予測誤差を計算するために符号化誤差表現を利用することを含む。
予測誤差は、予測誤差の符号化表現をGolomb-Rice(あるいは、例えばハフマン又はTunstall)復号化することにより実行されるのが好ましい。そのような場合、予測誤差は、アルファ符号化された商、余り及び指数値kを含むのが好ましい。そのような場合、商は上記の表1を使用してアルファ符号化されたデータから取得される。その後、商及び余りは、予測誤差を形成するために2kで乗算される値を形成する。
画素の赤(第1の)色成分の予測が提供される。予測の提供は、ブロック中の2つの隣接画素の赤色成分の間の差分を計算することを含む。これらの2つの画素は、ブロックの種々の予測方向の隣接画素であり、好ましくは復号化される現在の画素と同一のブロック中の行又は列の先行画素位置に位置付けられる。差分は、絶対差分又は2乗差であるのが好ましく、符号に関係なく差分の大きさ表現のみを提供する。差分は、ステップS71において事前定義済み閾値と比較される。差分が閾値より小さい場合、色成分予測はステップS72に従って実行され、差分が閾値より小さくない場合、ステップS73に進む。
ステップS72は、ステップS71の比較において使用された差分を計算するために採用されたブロック中の2つの隣接画素の赤色成分から成分予測を計算する。成分予測は、非ゼロ重みを有する第1の重み付き合成、好ましくはステップS72の好適な一実施形態の詳細な一実現例である図4のステップS10に示す上述した2つの赤色成分の平均に基づいて計算されるのが好ましい。
ステップS71で判定されるように差分が閾値より小さくない場合、ステップS73は、符号化画素と関連付けられ且つ圧縮画素ブロックに含まれるガイドビットの(ビット)値を調査する。ガイドビットが1bin等の第1のビット値を有する場合、ステップS74に進む。しかし、ガイドビットが0bin等の第2のビット値を有する場合、予測はステップS75に従って提供される。ステップS74は、ブロック中の2つの隣接画素の赤色成分の第2の重み付き合成に基づくように、好ましくは第2の重み付き合成と等しくなるように色成分予測を選択することを含む。ステップS75は、画素に対する成分予測としてブロック中の隣接画素の赤色成分の第3の重み付き合成を選択することを含む。これは、この場合、現在の画素に対するブロックに含まれるガイドビットが2つの可能な候補予測のうちのどちらを画素に対して使用するかを命令することを意味する。
最後にステップS76は、ステップS70で判定された予測誤差及びステップS72、S74又はS75で提供された成分予測に基づいて画素の赤色成分の表現を計算する。この計算は、(部分的に)復号化された画素の赤色成分を得るために、判定された予測誤差を成分予測に加算することにより実現されるのが好ましい。
図12の伸張方法は、復号化されるブロックの画素毎に繰り返されるのが好ましい。これを線L5により概略的に示す。これは、所定の圧縮ブロックに対して、方法がブロックの画素毎に1回等、1回又は複数回実行されることを意味する。
図13は、伸張方法の追加のステップを示すフローチャートである。方法はステップS80で開始し、圧縮ブロックに含まれる開始成分値の表現に基づいてブロックの開始画素の赤色成分を提供する。好適な一実施形態において、開始値は、圧縮ブロックにおいて符号化されずに提供されるため、開始画素の赤色成分として直接割り当てられる。この画素は、上述したようにブロックにおいて事前定義済みの位置を有する。好ましくは(i, j) = (1, 1)に位置付けられる。
ステップS81は、開始画素と同一の画素行又は画素列の次の画素の予測を提供する。ステップS81は、開始画素の赤色成分、すなわち開始成分値を隣接画素の予測として使用することを含む。画素の色成分は、この成分予測及び画素に対して判定された予測誤差に基づいて判定される。
ステップS81は、開始画素を含む(第1の)画素行又は画素列の残りの画素に対して繰り返されるのが好ましい。これを線L6により概略的に示す。しかし、これらの他の画素に対しては、予測は必ずしも開始画素の赤色成分である必要はなく、明らかに対照的に、現在の画素と同一の行又は列の直前の隣接画素の赤色成分に等しい。従って、最初に完全なブロックの伸張がステップS80に従って実行され、開始画素を復号化する。その後ステップS81において、第1の行及び列の第1の隣接画素は、開始画素の色成分値に基づいて復号化される。ステップS81において、第1の行及び列の次の画素がステップS81の1回目において判定された第1の隣接画素の第1の色成分値に基づいて復号化され、行/列の最後に到達するまで又は再開画素に到達するまで繰り返される。その後、ステップS70に進み、ブロックの残りの画素は図12に開示されるように復号化される。
図14は、ブロックの再開画素の場合の伸張方法の追加のステップを示すフローチャートである。方法は図13のステップS80から継続する。次のステップS90は、ブロックの任意の再開画素が存在するかを調査し、存在する場合は再開画素を識別する。圧縮ブロックは、ブロックが再開画素を含むか否かを信号伝送する再開ビットを含むのが好ましい。従って、ステップS90の調査は、そのような再開ビットに基づいて実行されるのが好ましい。また、圧縮ブロックは、ブロック中の複数の画素のうち再開画素の画素位置を表す位置ワードを含むのが好ましい。ステップS90は、正確な画素位置を識別する際にそのような位置情報を使用するのが好ましい。
次のステップS91は、再開画素の赤色成分を提供する。再開画素の赤色成分は、圧縮画素ブロックに含まれる再開成分値の表現に基づいて提供される。好適な一実現例において、再開値は符号化されずに含まれるため、再開画素の赤色成分として直接割り当てられる。
その後、図13のステップS81に進む。
図15は、ブロックの画素の緑(第2の)色成分を判定する追加の方法を示すフローチャートである。方法は、図12のステップS76から継続する。次のステップS100は、復号化される画素に対する第2の予測誤差を判定する。この予測は、図12のステップS70と関連して説明された第1の予測と同様に判定される。換言すると、予測は圧縮画素ブロックに含まれる符号化表現に基づいて判定される。これは、符号化表現がアルファ符号化された商、余り及び指数値kを含むのが好ましいことを意味する。従って、ステップS100の予測誤差判定は、符号化表現をGolomb-Rice(ハフマン又はTunstall)復号化することを含むのが好ましい。
その後、緑色成分の予測は画素に対して判定される。最初に、ステップS101において、2つの先行する隣接画素の赤色成分の間の差分が判定及び利用され、予測がステップS102に従って提供されるか又はステップS104及びS105の一方に従って提供されるかを判定する。このステップS101は、図12のス7テップS71と同様に実行される。
ステップS101において差分(絶対差分又は2乗差)が閾値より小さい場合、ステップS102は、第1の隣接画素の緑色成分と赤色成分との間の第1の差分及び第2の隣接画素の緑色成分と赤色成分との間の第2の差分の第1の重み付き合成(非ゼロ重みを使用する)から予測を計算する。計算は、図4のステップS10で示されるように実行されるのが好ましい。換言すると、2つの差分の平均が計算され、予測は好ましくはその
Figure 0005214742
又は平均
Figure 0005214742
に基づいて判定され、その平均に等しく設定されるのが好ましい。
ステップS101において差分(絶対差分又は2乗差)が閾値を超える場合、ステップS103に進む。ステップS103は、ガイドビットを使用して、2つの可能な候補予測のうちのどちらを現在の画素に対して使用するかを選択する。ガイドビットが第1の値を有する場合、ステップS104に進み、予測は隣接画素の緑色成分と赤色成分との間の差分の第2の重み付き合成に基づくように又は第2の重み付き合成と等しくなるように選択される。しかし、ガイドビットが別の値を有する場合、ステップS105において2つの隣接画素の緑色成分と赤色成分との間の差分の第3の重み付き合成が選択される。
その後、ステップS106に進み、画素の緑色成分の表現がステップS100で判定された予測誤差及びステップS102、S104又はS105で提供された成分予測に基づいて判定される。このステップS106は、画素の緑色成分と赤色成分との間の差分を得るために予測を予測誤差に加算することを含むのが好ましい。緑色成分は、先に判定された赤色成分(図12のステップS76から得られる)を単純に加算することにより判定される。
手順は、復号化されるブロックの全ての画素に対して繰り返される。これを線L8により概略的に示す。
青(第3の)色成分を復号化するために、図15と関連して上述した手順が繰り返される。しかし、この場合、青色成分と緑色成分との間(又は青色成分と赤色成分との間)の差分が緑色成分と赤色成分との間の差分の代わりに処理される。
従って、開始画素及び/又は再開画素と同一の行又は列に存在する画素は、図13のステップS81及び図14のステップS92と関連して上述したように復号化される。しかし、隣接画素の赤色成分と等しい赤色成分の予測を提供するのではなく、予測は隣接画素の緑色成分と赤色成分との差分又は青色成分と緑色成分との差分に等しい。
方法は、ブロックの画素位置の再順序付けが実行されるべきであるかを調査することを更に含むのが好ましい。この判定は、圧縮画素ブロックに含まれる再順序付け又は回転ビットに基づいて実行されるのが好ましい。ビットが0bin等の第1の値を有する場合、再順序付けは行なわれない。ビットが第1の値を有さない場合、画素位置は例えばブロックの回転又はブロックの反転により上述したように再順序付けされる。そのような再順序付けの一例は、画素位置(i, j)から(i, 5-j)又は(5-j, i)へのマッピングである。
<伸張の例>
以下の例において、図2に示すようなブロックサイズ及び図11に示すような圧縮ブロックレイアウトを仮定する。
再開ビット:1bin
再開位置:0100bin
再開値:000000000001011bin
再順序付けビット:0bin
開始値:010011100010001bin
k値:X1X2...Xn、ここで、Xi = 0/1bin、i = 1...nである。
ガイドビット:1000bin
符号化表現:Y1Y2...Ym、ここで、Yi = 0/1bin、i = 1...mである。
再開ビットは、現在のブロックに対して設定され、再開画素が使用されるべきであることを示す。この再開画素の位置は、位置番号0100bin = 4であり、これは、トラバーサル順に(1, 1)が位置番号0を有し、(1, 2)が位置番号1を有する場合に(2, 1)に対応する。再開値は、000000000001011bin=11である。従って、R(2,1) = Rrestart = 11である。開始画素は位置(1, 1)にあり、開始値は010011100010001bin = 10001である。従って、R(1,1) = Rstart = 10001である。この時点で、部分的に復号化されたブロックは以下のように見える。
Figure 0005214742
その後、ブロックは第1の行から開始してトラバーサル順に復号化される。位置(1, 2)にある次の画素の予測は、
Figure 0005214742
である。
以下の例において、予測誤差は、本明細書では開示されないGolomb-Rice復号化により判定される。従って、ブロックに対する復号化された第1の予測誤差は以下に提示される通りであると仮定する。
Figure 0005214742
第2の画素の赤色成分は、以下のように計算される。すなわち、
Figure 0005214742
である。第1の行の第3の画素の対応する色成分は、
Figure 0005214742
である。手順は、第1の行の第4の最後の画素に対して繰り返され、以下の部分的に復号化されたブロックが得られる。
Figure 0005214742
その後、第1の列の画素が復号化される。その列の第3の画素の赤色成分は、
Figure 0005214742
である。第1の列の最後の画素は同様に復号化され、以下のブロックが得られる。
Figure 0005214742
次に、位置(2, 2)にある画素が復号化される。この復号化の例において、先の圧縮の例で使用された同一の重みが第1の重み付き合成、第2の重み付き合成及び第3の重み付き合成に対しても採用される。隣接する色成分R(1,2)とR(2,1)との間の差分が計算され、2乗差はこの例においては20482の事前定義済み閾値と比較される。すなわち、(R(1,2) - R(2,1))2 = (10002 - 11)2 = 99912 > 20482である。これは、第2の合成及び第3の合成の重みがそれぞれ1及び0、並びに0及び1であるため、画素がガイドビットと関連付けられ且つ隣接する第1の色成分のうちの1つのみから予測されるべきであることを意味する。この場合、ガイドビットは1binであり、同一列の隣接画素が予測として使用されるべきであることを示す。すなわち、
Figure 0005214742
である。
位置(2, 3)にある画素に対してこの手順を繰り返すことにより、(R(1,3) - R(2,2))2 = (10003 - 10003)2 = 0 < 20482が得られる。従って、画素は、隣接する赤色成分の双方から予測されるべきである。すなわち、
Figure 0005214742
である。同一の演算が第2の行の最後の画素に対して実行され、以下の部分的に復号化されたブロックが得られる。
Figure 0005214742
次に、位置(3, 2)にある画素が復号化される。隣接する色成分R(2,2)とR(3,1)との間の差分は計算され、2乗差は事前定義済み閾値と比較される。すなわち、(R(2,2) - R(3,1))2 = (10003 - 12)2 = 99912 > 20482である。これは、画素がガイドビットと関連付けられ且つ隣接する第1の色成分のうちの1つのみから予測されるべきであることを意味する。この場合、ガイドビットは0binであり、同一行の隣接画素が予測として使用されるべきであることを意味する。すなわち、
Figure 0005214742
である。第3の行に沿ってこの手順を継続することにより、以下のブロックが得られる。
Figure 0005214742
最後に、最後の列の残りの画素が処理される。この場合、それらの画素の全てが各々の隣接画素の平均赤色成分から予測される。以下の第1の色成分に対する最終的なブロックが与えられる。
Figure 0005214742
その後、2つの残りの色成分が復号化される。開始画素及び再開画素に対する第2の予測誤差は、圧縮ブロックから判定されるようにそれぞれ19及び9であると仮定される。これは、G(1,1) - R(1,1) = 19且つG(2,1) - R(2,1) = 9であることを意味する。これらの2つの画素の緑色成分は、単純に各復号化赤色成分を予測誤差に加算することにより取得され、G(1,1) = 10020及びG(2,1) = 20を得る。
残りの画素は、緑色成分に対して開始値及び再開値から開始して復号化される。手順は、最後の青色成分に対して繰り返される。
<実施の態様>
図16は、本発明の教示が適用されるカラーバッファアーキテクチャ1を示す概略図である。アーキテクチャは、特にカラーバッファを含む画素ブロックを格納するためのランダムアクセスメモリ(RAM)50を含む。バッファユニット10は、RAM50から取り出した圧縮ブロックを伸張するための本発明に係る伸張器200を含む。伸張ブロック又は復号化ブロックは、バッファユニット10の関連するタイルキャッシュ14に一時的に格納される。更に、RAM50に格納するためにキャッシュ14に存在する画素ブロックを圧縮する本発明に係る圧縮器100がバッファユニット10に提供される。
好適な一実施形態において、バッファユニット10は、タイルテーブルキャッシュ12を更に含む。このテーブルキャッシュ12は、画素ブロックと関連し且つカラーバッファデータとは別に保持されるヘッダ情報を格納する。一般にタイルテーブルエントリは、関連する画素ブロックが圧縮されずにRAM50に格納されるか又は圧縮されてRAM50に格納されるかを信号伝送するフラグを含む。後者の場合、種々の圧縮ブロックが種々の合計ビット長を有することができるため、フラグは圧縮ブロックのサイズを信号伝送するのが好ましい。例えば、2ビットのフラグは、非圧縮ブロック、元のサイズの50%で圧縮された圧縮ブロック、元のサイズの25%で圧縮された圧縮ブロック又はfast-color-clearedを信号伝送するために使用される。
展開器又は展開ユニット20は、バッファユニット10に接続され、画素の実際の展開を実行する。展開器20は、画素の奥行き及び色を算出するために採用される1つ又は複数の画素パイプライン30に接続される。各画素パイプライン30は、先に描かれた幾何学的形状により隠蔽される画素、すなわちより大きな奥行き値を有する画素を廃棄する役割を果たす奥行きテストユニット40に接続される。画素パイプライン30及び奥行きテストユニット40の順序は、図16に開示される順序から交換されてもよい。
<圧縮器>
図17は、本発明に係る圧縮器100を示す概略ブロック図である。圧縮器100は、圧縮器により圧縮される複数画素ブロックの画素の赤(第1の)色成分の予測を提供するように構成される予測提供器110を含む。予測提供器110は、現在の画素に隣接して位置付けられ且つブロックの同一の画素列又は画素行の先行位置にある2つの隣接画素の赤色成分の間の差分を計算するように構成される差分計算機を含む。画素に対して選択する特定の予測は、少なくとも部分的にこの差分に基づいて判定される。
差分又は2乗差の絶対値が事前定義済み閾値より小さい場合、提供器110の予測計算機114は起動され、2つの隣接画素の赤色成分の第1の重み付き合成に基づいて画素の色成分予測を計算する。予測計算機114は、それらの2つの隣接する赤色成分の平均を判定するのが好ましい。予測は、可能性としてブロックの画素の更なる色成分を利用して平均から計算されるが、平均と等しいのが好ましい。
しかし、差分が閾値より小さくない場合、提供器110の予測選択器116が起動される。この予測選択器116は、2つの隣接画素の赤色成分の第2の重み付き合成及び第3の異なる重み付き合成のうちの一方を画素に対する予測として選択する。予測選択器116は、赤色成分の第2の重み付き合成及び第3の重み付き合成のそれぞれを計算するように更に構成されるのが好ましい。
好適な一実施形態において、差分計算機112は、差分R(i-1)j - Ri(j-1)が閾値より小さくない場合、2つの隣接画素の赤色成分の第2の重み付き合成と現在の画素との間の第1の差分及び隣接画素の赤色成分の第3の重み付き合成と現在の画素との間の第2の差分を計算する。予測選択器116は、現在の画素の赤色成分の予測を選択するためにこれらの2つの計算された差分を使用する。一般に選択器116は、第1の差分及び第2の差分のうち大きさに関して最小の差分を結果として与える第2の重み付き合成及び第3の重み付き合成のうちの一方を選択する。
ガイドビット提供器118は、予測選択器116に機能的に接続されて構成される。提供器は、予測選択器116により色成分予測子として選択される重み付き合成及び選択された予測方向を表すガイドビットを生成する。
圧縮器100は、画素の赤色成分及び提供器110から提供された予測に基づいて現在の画素に対する予測誤差を計算するための誤差計算機120を更に含む。誤差は、(真の)色成分と予測との間の差分であるのが好ましい。
表現判定器130は、計算された予測誤差を処理し、符号化誤差表現を得る。結果として得られる圧縮ブロックは、現在の画素に対するこの符号化誤差表現を含み、且つ採用された場合、すなわち予測計算機114ではなく予測選択器116が画素に対する色成分予測を提供した場合はガイドビットを含む。
画素の赤色成分は、圧縮器110により圧縮されている。手順は、ブロック中の他の画素に対して繰り返されるのが好ましい。更に、画素の緑(第2の)色成分を圧縮する場合、圧縮器100の成分差分計算機140が起動される。計算機140は、ブロックの画素毎に画素の緑色成分と赤色成分との間の差分Gij - Rijを計算する。
そのような場合、差分計算機112は、所定の画素に対して事前定義済み予測方向の2つの隣接画素の赤色成分の間の差分が閾値を超えるか否かを調査する。差分が閾値より小さい場合、予測計算機114は、第1の隣接画素の緑色成分と赤色成分との間の第1の差分及び第2の隣接画素の緑色成分と赤色成分との間の第2の差分の第1の重み付き合成(赤色成分の第1の重み付き合成と同一の非ゼロ重みを採用するのが好ましい)に基づいて画素に対する第2の予測を計算する。好適な一実施形態において、第2の予測は、第1の差分及び第2の差分の平均に基づいて計算されるが、平均と等しいのが更に好ましい。
差分が閾値を超える場合、予測選択器116は、第1の差分及び第2の差分の第2の重み付き合成及び第3の重み付き合成(赤色成分の第2の重み付き合成及び第3の重み付き合成と同一の重みをそれぞれ採用するのが好ましい)のうちの一方、すなわちG(i-1)j - R(i-1)j又はGi(j-1) - Ri(j-1)を現在の画素に対する第2の予測として選択する。選択器116は、それらの2つの重み付き合成のうち第2の予測として使用する重み付き合成を選択するために、画素に割り当てられる先に判定されたガイドビットを使用するのが好ましい。あるいは、差分計算機は、差分Rij - WC2及びRij - WC3を再度計算し、それに基づいて第2の予測を選択できる。
誤差計算機120は、予測提供器110により提供される予測と色成分差分Gij - Rijとの間の予測誤差を計算する。判定器130は、第2の予測に対する計算された予測誤差の符号化表現を判定し、その結果は圧縮ブロックに含まれる。
成分差分計算機140は、ブロックの画素の青(第3の)色成分と緑色成分との差分Bij - Gijを更に計算するのが好ましい。これらの差分は、青色成分予測及び第3の符号化予測誤差表現を画素に提供するために上述したように処理される。
圧縮器100のユニット110〜140は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット110〜140は、圧縮器100に共に実現されてもよい。あるいは、いくつかのユニットがカラーバッファアーキテクチャの他の場所に提供される分散型実現例も可能である。
図18は、図17の表現判定器130の好適な一実現例を示すブロック図である。判定器130は、誤差変更器132を含む。この変更器132は、計算された予測誤差を処理し、上述したように正の予測誤差を得る。すなわち、負の予測誤差(及びゼロ値)の場合には予測誤差xを関数n(x) = -2xに入力し、正の予測誤差の場合には予測誤差xを関数p(x) = 2x -1に入力する。結果として得られる変更予測誤差は、好ましくはGolomb-Rice符号器134により符号化される。この符号器134は、誤差変更器132からの正の誤差の符号化に基づいて符号化予測誤差表現を出力する。
一般に、符号器134は、数字2kを得るために採用される指数値kを探索するための値探索器を含む。変更予測誤差は、2kにより除算される。値kは、ブロック中の画素が同一の値kを共有するようにそれらの画素のグループに対して判定されるのが好ましい。これにより、ブロックの画素毎に専用の値kを有する場合と比較して最終的な圧縮ブロック表現のビット数が節約される。値探索器131は、0 ≦ k ≦ 15等の全ての利用可能な値kの間で全数探索を実行できる。最も効率的な符号化、すなわち最短の圧縮ブロック表現をもたらす値kが画素グループに対して選択及び使用される。計算コストがより少ない一実施形態において、値探索器はp-4 ≦ k ≦ pの中でのみ探索を実行する。ここで、pは調査される画素グループの最大の第1の色成分の最上位ビットのビット位置である。
除算器133は、判定された値kを使用し、現在のグループの画素の予測誤差を数字2kで除算して商及びkビットの余りを得る。アルファ符号器135は、周知の手順に従って商をアルファ符号化するために提供される。画素の符号化予測誤差表現は、アルファ符号化された商、余り及び値kを含む。
表現判定器130のユニット132〜135は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット132〜135は、表現判定器130に共に実現されてもよい。あるいは、いくつかのユニットが圧縮器の他の場所に提供される分散型実現例も可能である。
図19は、圧縮器100の別の実施形態を示す概略ブロック図である。圧縮器は、図17に関連して上述したユニットに加えて開始選択器150を含む。開始選択器150は、ブロックに対する開始成分値を選択する。この値は、ブロック中の選択された画素の赤色成分と等しい。この画素は、ブロックの事前定義済み画素位置を有するのが好ましく、左上の画素であるのが好ましい。圧縮ブロック表現は、好ましくは非符号化ビットシーケンスとして開始成分値の表現を含む。すなわち、開始値がPビットシーケンスである場合、圧縮ブロックに含まれる表現は同一のPビットシーケンスである。
予測提供器110は、開始画素と同一の行及び列、好ましくは第1の行及び列に存在する画素に対して予測を提供するように構成される。これらの画素に対して、各予測は、現在の画素と同一の行又は列の開始画素に向かって直前の位置を有する画素の赤色成分(第1の予測の場合)、緑色成分と赤色成分との間の差分(第2の予測の場合)又は青色成分と緑色成分との間の差分(第3の予測の場合)と等しくなるように選択される。
圧縮器100は、再開成分値を選択する再開選択器160を更に含むのが好ましい。選択器160は、ブロックの選択された再開画素の赤色成分と等しい再開値を提供する。再開画素の識別は、開始画素以外の各画素位置を調査する全数探索に従って実行される。候補再開位置毎にブロックの圧縮候補表現が判定される。最も効率的な圧縮、すなわち圧縮ブロックの最短のビットシーケンスを結果として与える候補再開位置が選択されるの好ましい。また、再開選択器160の動作が行なわれない圧縮候補表現、すなわちブロックに再開画素のない圧縮候補表現が判定され、符号化効率に関して再開値を有する候補と比較されるのが好ましい。そのような場合、再開ビットは、圧縮ブロックに含まれ、ブロックが再開画素を有するか否かを信号伝送する。
計算コストの高い全数探索を採用する代わりに、再開選択器160は開始選択器からの開始成分値と最も異なる赤色成分を有するブロックの画素を識別できる。赤色成分と開始値との間の第1の差分Rij - Rstart及び赤色成分と最も異なる値との間の第2の差分Rij - Rdiffが画素毎に計算される。第1の差分がある画素に対して最も小さい場合、画素分類器170はその画素を開始成分値の予測として分類する。しかし、|Rij - Rdiff| < |Rij - Rstart|である場合、分類器170は、その画素を再開成分値の予測として分類する。
再開選択器160は、再開値の予測と考えられるそれらの全ての画素を調査し、再開値の予測と考えられるトラバーサル順(4×4の画素ブロックの場合、(1, 1) → (1, 4), (2, 1) → (2, 4), (3, 1) → (3, 4), (4, 1) → (4, 4))で第1の画素である再開画素を識別する。圧縮ブロック表現は、再開画素の識別された位置の表現及び再開値の表現、すなわち識別された再開画素の赤色成分値の表現を含むのが好ましい。
圧縮器100において、画素調査器180は、位置(i-1, j)及び(i, j-1)の2つの隣接画素に対して位置(i, j)の現在の画素と同一の分類が行なわれるかを調査するように構成される。いずれの隣接画素に対しても同一の分類が行なわれない場合、画素に対して利用可能な適切な予測は存在しない。圧縮器100は、画素再順序付け190を介してこの問題を解決する。再順序付けユニット190は、好ましくは新しい位置(i-1, j)又は(i, j-1)の少なくとも1つの新しい隣接画素に対して現在の画素と同一の分類が行なわれるように、ブロックの画素に対する相対位置を再順序付けする。圧縮ブロック表現は、任意の画素再順序付けが現在のブロックに対して実行されたか否かを示す回転ビットを含むのが好ましい。
圧縮器100のユニット110〜190は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット110〜190は、圧縮器100に共に実現されてもよい。あるいは、いくつかのユニットがカラーバッファアーキテクチャの他の場所に提供される分散型実現例も可能である。
伸張器
図20は、圧縮画素ブロックを伸張するための本発明に係る伸張器200の一実施形態を示すブロック図である。伸張器200は、復号化される画素の予測誤差を判定するように構成される誤差判定器210を含む。この予測誤差は、画素に割り当てられ且つ圧縮画素ブロックに含まれる符号化誤差表現に基づいて判定される。
伸張器200において、予測提供器220は、画素の赤色成分の予測を提供するために実現される。提供器220は、現在の画素と同一のブロック行及びブロック列に存在する2つの隣接画素の先行復号化赤色成分の間の差分を計算する差分計算機222を含む。この差分、あるいはより好ましくは絶対値又は2乗差は、事前定義済み閾値と比較される。差分が閾値より小さい場合、予測計算機224は起動され、それらの2つの隣接する色成分の第1の(非ゼロ)重み付き合成に基づいて予測を計算する。上述したように、計算は、2つの色成分の平均に基づいて実行されるのが好ましい。
しかし、差分が閾値を超える場合、予測選択器226は、隣接画素の先行復号化色成分の第2の重み付き合成及び第3の重み付き合成のうちの一方を予測として選択する。この選択は、画素に割り当てられ且つ圧縮画素ブロックに含まれるガイドビットに基づいて更に実行される。
表現計算機230は、誤差判定器210からの予測誤差及び提供器220からの予測を使用して、画素の赤色成分を計算する。
従って、画素の緑色成分を復号化する場合、誤差判定器210は圧縮ブロックに含まれるデータから画素に対する第2の誤差予測を判定する。予測計算機224は、2つの隣接画素の赤色成分の間の差分が閾値より小さい場合、上述したように2つの隣接画素の先行復号化緑色成分と先行復号化赤色成分との間の差分の第1の重み付き合成に基づいて第2の予測を計算する。他の例において、すなわち、差分が閾値を超える場合、選択器226は、ガイドビットを使用して、2つの隣接画素の先行復号化緑色成分と先行復号化赤色成分との間の差分の第2の重み付き合成及び第3の重み付き合成のうちの一方を第2の予測として選択する。
表現計算機230は、判定器210からの第2の予測誤差を予測提供器220からの第2の予測に加算するのが好ましい。また、画素の先行復号化赤色成分はその合計に加算され、復号化緑色成分が得られる。伸張器200は、第3の予測誤差を判定し且つ第3の予測を提供することにより青色成分に対してこの手順を繰り返す。先行復号化緑色成分はそれらの第3の誤差及び予測に追加され、画素の復号化青色成分が得られる。
伸張器200のユニット210〜230は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット210〜230は、伸張器200に共に実現されてもよい。あるいは、いくつかのユニットがカラーバッファアーキテクチャの他の場所に提供される分散型実現例も可能である。
図21は、誤差判定器210の一実施形態を示す概略ブロック図である。判定器210は、圧縮ブロックの符号化予測誤差表現に対して動作するGolomb-Rice復号器212を含む。特に復号器212は、画素のアルファ符号化された商、kビットの余り及び値kを使用して上述したように予測誤差を計算する。
誤差判定器210のユニット212は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット212は、誤差判定器210に共に実現されてもよい。あるいは、いくつかのユニットが伸張器の他の場所に提供される分散型実現例も可能である。
図22は、伸張器200の別の実施形態を示す図である。伸張器200は、図20に関連して上述した伸張器ユニットに加えて開始提供器240を含む。この開始提供器240は、ブロックの開始画素の赤色成分を提供するように実現される。この成分は、圧縮画素ブロックに含まれる開始成分値と等しくなるように設定されるのが好ましい。
予測提供器220は、開始画素と同一の行又は列の次の先行画素の赤色成分、緑色成分と赤色成分との差分及び青色成分と緑色成分との差分に等しくなるように予測を設定することによりその行及び列の画素に予測を提供するのが好ましい。
伸張器200において、対応する再開識別器250は、任意の再開画素がブロックに存在するかを判定するように構成される。この判定は、圧縮画素ブロックに含まれる再開ビットに基づいて行なわれる。再開値が使用されるべきである場合、識別器250は、圧縮ブロックの再開位置識別器を使用して、再開画素と考えられるブロック中の特定の画素位置を識別する。
再開提供器260は、圧縮ブロックに含まれる再開成分値と等しくなるように再開画素の赤色成分を設定する。
伸張器200において、オプションの画素再順序付けユニット270は、画素が復号化されると画素位置の再順序付けが実行されるべきであるかを判定するために再順序付けビット又はワードを調査するように実現される。
伸張器200のユニット210〜270は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット210〜270は、伸張器200に共に実現されてもよい。あるいは、いくつかのユニットがカラーバッファアーキテクチャの他の場所に提供される分散型実現例も可能である。
図23は、種々の解像度に対する「影」のシーンの圧縮性能を示す図である。100%は元の帯域幅を表す。破線はHasselgren及びAkenine-Moller(非特許文献2)により提示されるデプスバッファ圧縮方式に対応し、実線は本発明のカラーバッファ圧縮を表す。尚、本発明は元のサイズの45%〜39%にデータを圧縮する。これは、帯域幅が全てのテストされた解像度に対して50%を上回って減少されることを意味し、大きな利得である。
種々のサイズの三角形に対して性能をテストするために、同一シーンが複数の解像度で使用されている。低解像度は、三角形が画素と比較して小さいこと、すなわち「複雑さの高い」種類のシーンを意味する。高い解像度は、三角形が画素と比較して大きいことを意味し、「複雑さの低い」種類のシーンを表す。
添付の請求の範囲により規定される本発明の範囲から逸脱せずに、種々の変形及び変更が本発明に対して行なわれてもよいことが当業者には理解されるだろう。

Claims (22)

  1. 各々が複数の色成分を有する色を含む複数の画素のブロックを圧縮する方法であって、
    −前記ブロックの少なくとも1つの画素に対して、前記少なくとも1つの画素の第1の色成分の第1の予測を提供するステップであって、
    a)前記ブロックの第1の隣接画素の第1の色成分及び前記ブロックの第2の隣接画素の第1の色成分の間の差分の大きさが閾値より小さい場合に、非ゼロ重みを採用する前記ブロックの第1の隣接画素の第1の色成分及び前記ブロックの第2の隣接画素の第1の色成分の第1の重み付き合成に基づいて、前記第1の予測を計算し、
    b)前記差分の大きさが前記閾値より小さくない場合に、前記隣接画素の前記第1の色成分の第2の異なる重み付き合成、及び、前記隣接画素の前記第1の色成分の第3の異なる重み付き合成のうち、一方に基づくように前記第1の予測を選択し、
    c)前記差分の大きさが前記閾値より小さくない場合に、前記第2の重み付き合成及び前記第3の重み付き合成のうち、前記選択した一方と関連付けられるガイドビットを提供する
    ことにより提供するステップと、
    −前記ブロックの画素毎に、前記画素の第2の色成分と前記画素の前記第1の色成分との間の差分を計算するステップと、
    −前記少なくとも1つの画素の第2の色成分の第2の予測を提供するステップであって、
    a)前記差分の大きさが前記閾値より小さい場合に前記第1の隣接画素の前記第2の色成分と前記第1の色成分との間の第1の差分、及び、前記第2の隣接画素の前記第2の色成分と前記第1の色成分との間の第2の差分の、第1の重み付き合成に基づいて前記第2の予測を計算し、
    b)前記差分の大きさが前記閾値より小さくない場合に、前記ガイドビットに基づいて、前記第1の差分及び前記第2の差分の第2の異なる重み付き合成と、前記第1の差分及び前記第2の差分の第3の異なる重み付き合成との、一方に基づくように前記第2の予測を選択する
    ことにより提供するステップと、
    −前記少なくとも1つの画素の前記第1の色成分及び前記第1の予測に基づいて第1の予測誤差を計算するステップと、
    −前記少なくとも1つの画素の前記第2の色成分及び前記第1の色成分との差分、及び、前記第2の予測に基づいて第2の予測誤差を計算するステップと、
    −前記第1の予測誤差の第1の符号化表現を判定するステップと
    −前記第2の予測誤差の第2の符号化表現を判定するステップと
    を備え、
    前記圧縮ブロック表現は、前記第1の符号化表現、前記第2の符号化表現、及び、前記オプションのガイドビットを含む、方法。
  2. 前記計算ステップa)は、前記第1の隣接画素の前記第1の色成分と前記第2の隣接画素の前記第1の色成分との差分の大きさが前記閾値より小さい場合に、
    前記第1の隣接画素の前記第1の色成分と前記第2の隣接画素の前記第1の色成分との平均に基づいて、前記第1の予測を計算するステップを含む、請求項1に記載の方法。
  3. 前記選択ステップb)は、
    −前記第2の重み付き合成と前記少なくとも1つの画素の前記第1の色成分との間の第1の差分を計算するステップと、
    −前記第3の重み付き合成と前記少なくとも1つの画素の前記第1の色成分との間の第2の差分を計算するステップと、
    −前記第1の差分及び前記第2の差分に基づいて前記第1の予測を選択するステップと
    を含む、請求項1又は2記載の方法。
  4. −wが重みであり、R(i-1)jが前記第1の隣接画素の前記第1の色成分であり、Ri(j-1)が前記第2の隣接画素の前記第1の色成分である場合に、w × R(i-1)j + (1 - w) × Ri(j-1)に基づいて前記第2の重み付き合成を計算するステップと、
    −(1 - w) × R(i-1)j + w × Ri(j-1)に基づいて前記第3の重み付き合成を計算するステップと
    を更に含む、請求項1乃至3のいずれか1項に記載の方法。
  5. −前記ブロック中の選択した画素の第1の色成分となる開始成分値を選択するステップであって、前記圧縮ブロック表現が前記開始成分値の非予測表現を含むステップと、
    −前記選択した画素を含む第1のブロック行又は第1のブロック列の少なくとも1つの残りの画素毎に、前記第1のブロック行又は前記第1のブロック列の先行する各隣接画素の第1の色成分となる前記第1の予測を選択するステップと
    を更に含む、請求項1乃至4のいずれか1項に記載の方法。
  6. 前記ブロックは、前記複数の画素の色において不連続エッジを含み、
    前記方法は、前記開始成分として選択されるべき第1の色成分を有する前記選択した画素に対して、前記不連続エッジの別の側に位置する前記ブロックの前記識別された画素の第1の色成分となる再開成分値を選択するステップを更に含み、
    前記圧縮ブロック表現は、前記再開成分値の非予測表現と前記ブロックの識別された画素の画素位置の表現とを含む、請求項5に記載の方法。
  7. −前記開始成分値又は前記再開成分値を予測可能なものとして、前記ブロックの前記画素を分類するステップと、
    −前記第1の隣接画素及び前記第2の隣接画素に対して前記少なくとも1つの画素と同一の分類が行なわれるかを調査するステップと、
    −前記第1の隣接画素及び前記第2の隣接画素のいずれに対しても前記少なくとも1つの画素と同一の分類が行なわれない場合、前記ブロックの前記画素を再順序付けするステップと
    を更に含み、
    前記圧縮ブロック表現が任意の画素再順序付けを表す回転ビットを含む、請求項6記載の方法。
  8. 前記分類するステップは、
    −前記ブロックの画素の第1の色成分と前記開始成分値との間の差分の大きさが前記画素の前記第1の色成分と前記開始色成分値と最も異なる前記ブロックの第1の色成分との間の差分の大きさより小さい場合に、前記開始成分値を予測可能なものとして前記ブロックの画素を分類するステップと、
    −前記ブロックの前記画素の前記第1の色成分と前記開始成分値との間の差分の大きさが前記画素の前記第1の色成分と前記開始色成分値と最も異なる前記ブロックの第1の色成分との間の差分の大きさより小さくない場合に、前記開始成分値を予測可能なものとして前記ブロックの画素を分類するステップと、
    を含む、請求項7記載の方法。
  9. 圧縮画素ブロックを伸張する方法であって、
    −前記ブロックの少なくとも1つの画素に対して、前記少なくとも1つの画素と関連付けられ且つ前記圧縮画素ブロックに含まれる第1の符号化誤差表現に基づいて第1の予測誤差を判定するステップと、
    −前記少なくとも1つの画素に対して、前記圧縮画素ブロックに含まれる第2の符号化表現に基づいて第2の予測誤差を判定するステップと、
    −前記少なくとも1つの画素の第1の色成分の第1の予測を提供するステップであって、
    a)前記ブロックの第1の隣接画素の第1の色成分及び前記ブロックの第2の隣接画素の第1の色成分の間の差分の大きさが閾値より小さい場合に、非ゼロ重みを採用する前記ブロックの第1の隣接画素の第1の色成分及び前記ブロックの第2の隣接画素の第1の色成分の第1の重み付き合成に基づいて、前記第1の予測を計算し、
    b)前記差分の大きさが前記閾値より小さくない場合、前記少なくとも1つの画素と関連付けられ且つ前記圧縮画素ブロックに含まれるガイドビットに基づいて、前記隣接画素の前記第1の色成分の第2の異なる重み付き合成及び前記隣接画素の前記第1の色成分の第3の異なる重み付き合成のうち、一方に基づくように前記第1の予測を選択する
    ことにより提供するステップと、
    −前記少なくとも1つの画素の第2の色成分の第2の予測を提供するステップであって、
    a)前記差分の大きさが前記閾値より小さい場合に、前記第1の隣接画素の前記第2の色成分と前記第1の色成分との間の第1の差分、及び、前記第2の隣接画素の前記第2の色成分と前記第1の色成分との間の第2の差分の、第1の重み付き合成に基づいて前記第2の予測を計算し、
    b)前記差分の大きさが前記閾値より小さくない場合に、前記ガイドビットに基づいて、前記第1の差分及び前記第2の差分の第2の異なる重み付き合成と、前記第1の差分及び前記第2の差分の第3の異なる重み付き合成とのうち、一方に基づくように前記第2の予測を選択する
    ことにより提供するステップと、
    −前記第1の予測誤差及び前記第1の予測に基づいて、前記少なくとも1つの画素の前記第1の色成分の表現を計算するステップと、
    −前記第2の予測誤差及び前記第2の予測に基づいて、前記少なくとも1つの画素の前記第2の色成分の表現を計算するステップと
    を備える方法。
  10. −前記圧縮画素ブロックに含まれる開始成分値の表現に基づいて、前記ブロックの開始画素の第1の色成分を提供するステップと、
    −前記開始画素を含む第1のブロック行又は第1のブロック列の少なくとも1つの残りの画素に対して、前記第1のブロック行又は前記第1のブロック列の先行する各隣接画素の第1の色成分になるように前記第1の予測を提供するステップと
    を更に含む、請求項に記載の方法。
  11. 前記圧縮画素ブロックの再開画素位置の表現に基づいて、前記ブロックの再開画素を識別するステップと、
    −前記圧縮画素ブロックに含まれる再開成分値の表現に基づいて、前記再開画素の第1の色成分を提供するステップと
    を更に含む、請求項10に記載の方法。
  12. 前記圧縮画素ブロックに含まれる回転ビットに基づいて、前記ブロックの前記画素を再順序付けするステップを更に含む、請求項11に記載の方法。
  13. 各々が複数の色成分を有する色を含む複数の画素のブロックを圧縮するブロック圧縮器であって、
    −前記ブロックの画素毎に前記画素の各第1の色成分と前記画素の各第2の色成分との間の差分を計算する成分差分計算器と、
    −前記ブロックの少なくとも1つの画素に対して、前記少なくとも1つの画素の前記第1の色成分の第1の予測と、前記第2の色成分の第2の予測とを提供するように構成された予測提供器であって、
    −前記ブロックの第1の隣接画素の第1の色成分と前記ブロックの第2の隣接画素の第1の色成分との間の差分を計算する差分計算器と、
    −前記差分の大きさが閾値より小さい場合に動作可能であり、非ゼロ重みを採用する前記隣接画素の前記第1の色成分の第1の重み付き合成に基づいて前記第1の予測を計算し、前記第1の隣接画素の前記第2の色成分と前記第1の色成分との間の第1の差分及び前記第2の隣接画素の前記第2の色成分と前記第1の色成分との間の第2の差分の第1の重み付き合成に基づいて、前記第2の予測を計算するように構成された予測計算器と、
    −前記差分の前記大きさが前記閾値より小さくない場合に動作可能であり、前記隣接画素の前記第1の色成分の第2の異なる重み付き合成、及び、前記隣接画素の前記第1の色成分の第3の異なる重み付き合成のうち、一方に基づくように前記第1の予測を選択するように構成された予測選択器と、
    −前記差分の前記大きさが前記閾値より小さくない場合に動作可能であり、前記第2の選択器により選択された、前記第2の重み付き合成及び前記第3の重み付き合成の重み付き合成と関連付けられるガイドビットを提供するように構成されたガイドビット提供器とを備え、
    前記差分の前記大きさが前記閾値より小さくない場合に動作可能であり、前記ガイドビットに基づいて、前記第1の差分及び前記第2の差分の第2の異なる重み付き合成と前記第1の差分及び前記第2の差分の第3の異なる重み付き合成とのうち一方に基づくように前記第2の予測を選択するように構成された予測提供器と、
    −前記少なくとも1つの画素の前記第1の色成分及び前記第1の予測に基づいて第1の予測誤差を計算し、前記少なくとも1つの画素の前記第2の色成分及び前記第1の色成分との差分と前記第2の予測とに基づいて第2の予測誤差を計算する誤差計算器と、
    −前記第1の予測誤差の第1の符号化表現と、前記第2の予測誤差の第2の符号化表現とを判定する表現判定器とを備え、
    前記圧縮ブロック表現が、前記第1の符号化表現、前記第2の符号化表現、及び、前記オプションのガイドビットを含む、ブロック圧縮器。
  14. 前記差分計算器は、
    i)前記第2の重み付き合成と前記少なくとも1つの画素の前記第1の色成分との間の第1の差分を計算し、
    ii)前記第3の重み付き合成と前記少なくとも1つの画素の前記第1の色成分との間の第2の差分を計算するように構成され、
    前記予測選択器は、前記第1の差分及び前記第2の差分に基づいて前記第1の予測を選択するように構成された、請求項13に記載の圧縮器。
  15. 前記ブロックの選択された画素の第1の色成分となる開始成分値を選択する開始選択器を更に備え、
    前記圧縮ブロック表現は前記開始成分値の非予測表現を含み、
    前記予測提供器は、前記選択された画素を含む第1のブロック行又は第1のブロック列の少なくとも1つの残りの画素に対して、前記第1のブロック行又は前記第1のブロック列の先行する各隣接画素の第1の色成分となる前記第1の予測を提供するように構成された、
    請求項13又は14に記載の圧縮器。
  16. 前記ブロックは、前記複数の画素の色において不連続エッジを含み、
    前記圧縮器は、前記開始成分として選択される第1の色成分を有する前記選択した画素に対して、前記不連続エッジの別の側に位置する前記ブロックの識別された画素の第1の色成分になるように再開成分値を選択する再開選択器を更に備え、
    前記圧縮ブロック表現は、前記再開値の非予測表現及び前記ブロックの前記識別された画素の画素位置の表現を含む、請求項15記載の圧縮器。
  17. −前記開始成分値又は前記再開成分値を予測可能なものとして、前記ブロックの前記画素を分類する画素分類器と、
    −前記第1の隣接画素及び前記第2の隣接画素に対して前記少なくとも1つの画素と同一の分類が行なわれるかを調査する画素調査器と、
    −前記第1の隣接画素及び前記第2の隣接画素のいずれに対しても前記少なくとも1つの画素と同一の分類が行なわれない場合、前記ブロックの前記画素を再順序付けする画素再順序付けユニットと
    を更に備え、
    前記圧縮ブロック表現が任意の画素再順序付けを表す回転ビットを含む、請求項16記載の圧縮器。
  18. 前記画素分類器が、
    i)前記画素の第1の色成分と前記開始成分値との間の差分の大きさが、前記画素の前記第1の色成分と前記開始成分値と最も異なる前記ブロックの第1の色成分との間の差分の大きさより小さい場合、前記開始成分値を予測可能なものとして前記ブロックの画素を分類し、
    ii)前記画素の前記第1の色成分と前記開始成分値との間の差分の大きさが前記画素の前記第1の色成分と前記開始成分値と最も異なる前記ブロックの前記第1の色成分との間の差分の大きさより小さくない場合、前記開始成分値を予測可能なものとして前記ブロックの前記画素を分類する、
    ように構成された請求項17記載の圧縮器。
  19. 圧縮画素ブロックを伸張するブロック伸張器であって、
    −前記ブロックの少なくとも1つの画素に対して、前記少なくとも1つの画素と関連付けられ且つ前記圧縮画素ブロックに含まれる第1の符号化誤差表現に基づいて第1の予測誤差を判定し、前記少なくとも1つの画素に対して、前記圧縮画素ブロックに含まれる第2の符号化表現に基づいて第2の予測誤差を判定する誤差判定器と、
    −前記少なくとも1つの画素の第1の色成分の第1の予測と第2の色成分の第2の予測を提供する予測提供器であって、
    −前記ブロックの第1の隣接画素の第1の色成分と前記ブロックの第2の隣接画素の第1の色成分との間の差分を計算する差分計算器と、
    −前記差分の大きさが閾値より小さい場合に動作可能であり、非ゼロ重みを採用する前記隣接画素の前記第1の色成分の第1の重み付き合成に基づいて前記第1の予測を計算し、前記第1の隣接画素の前記第2の色成分と前記第1の色成分との間の第1の差分及び前記第2の隣接画素の前記第2の色成分と前記第1の色成分との間の第2の差分の第1の重み付き合成に基づいて前記第2の予測を計算するように構成された予測計算器と、
    −前記差分の前記大きさが前記閾値より小さくない場合に動作可能であり、前記少なくとも1つの画素と関連付けられ且つ前記圧縮画素ブロックに含まれるガイドビットに基づいて前記隣接画素の前記第1の色成分の第2の異なる重み付き合成及び前記隣接画素の前記第1の色成分の第3の異なる重み付き合成のうちの一方に基づくように前記第1の予測を選択し、前記ガイドビットに基づいて、前記第1の差分及び前記第2の差分の第2の異なる重み付き合成と前記第1の差分及び前記第2の差分の第3の異なる重み付き合成とのうち、一方に基づくように前記第2の予測を選択するように構成された予測選択器と
    を含む予測提供器と、
    −前記第1の予測誤差及び前記第1の予測に基づいて前記少なくとも1つの画素の前記第1の色成分の表現を計算し、前記第2の予測誤差及び前記第2の予測に基づいて前記少なくとも1つの画素の前記第2の色成分の表現を計算する表現計算器と
    を備えるブロック伸張器。
  20. 前記圧縮画素ブロックに含まれる開始成分値の表現に基づいて前記ブロックの開始画素の第1の色成分を提供する開始提供器を更に備え、
    前記予測提供器は、前記開始画素を含む第1のブロック行又は第1のブロック列の少なくとも1つの残りの画素に対して、前記第1のブロック行又は前記第1のブロック列の先行する各隣接画素の第1の色成分となる前記第1の予測を提供する
    ように構成された請求項19記載の伸張器。
  21. −前記圧縮画素ブロックの再開画素位置の表現に基づいて前記ブロックの再開画素を識別する再開識別器と、
    −前記圧縮画素ブロックに含まれる再開成分値の表現に基づいて前記再開画素の第1の色成分を提供する再開提供器と
    を更に備える請求項20に記載の伸張器。
  22. 前記圧縮画素ブロックに含まれる回転ビットに基づいて前記ブロックの前記画素を再順序付けする画素再順序付けユニットを更に備える、請求項21に記載の伸張器。
JP2010542539A 2008-01-21 2008-05-21 予測に基づく画像処理 Active JP5214742B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US2239708P 2008-01-21 2008-01-21
US61/022,397 2008-01-21
EPPCT/EP2008/055520 2008-05-06
EP2008055520 2008-05-06
PCT/EP2008/056288 WO2009092455A2 (en) 2008-01-21 2008-05-21 Prediction-based image processing

Publications (2)

Publication Number Publication Date
JP2011514024A JP2011514024A (ja) 2011-04-28
JP5214742B2 true JP5214742B2 (ja) 2013-06-19

Family

ID=40551507

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010542539A Active JP5214742B2 (ja) 2008-01-21 2008-05-21 予測に基づく画像処理

Country Status (6)

Country Link
US (1) US8824790B2 (ja)
EP (2) EP2235953B1 (ja)
JP (1) JP5214742B2 (ja)
CN (1) CN101919254B (ja)
AT (1) ATE524927T1 (ja)
WO (1) WO2009092455A2 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8705623B2 (en) * 2009-10-02 2014-04-22 Texas Instruments Incorporated Line-based compression for digital image data
EP2947884B1 (en) 2010-04-13 2019-07-24 GE Video Compression, LLC Video coding using multi-tree sub-divisions of images
KR101447796B1 (ko) 2010-04-13 2014-10-07 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 평면 간 예측
TWI757963B (zh) 2010-04-13 2022-03-11 美商Ge影像壓縮有限公司 樣本區域合併技術
KR102696978B1 (ko) 2010-04-13 2024-08-20 지이 비디오 컴프레션, 엘엘씨 샘플 배열 멀티트리 세부분할에서 계승
WO2012146320A1 (en) * 2011-04-29 2012-11-01 Telefonaktiebolaget L M Ericsson (Publ) Encoder, decoder and methods thereof for texture compression
TW201314630A (zh) * 2011-09-19 2013-04-01 Tritan Technology Inc 一種可動態決定像素量化臨界值的影像均化編碼與解碼方法
CN103024371B (zh) * 2011-09-27 2015-09-02 硕呈科技股份有限公司 可动态决定像素量化临界值的影像均化编码与解码方法
US9225984B2 (en) * 2012-01-24 2015-12-29 Futurewei Technologies, Inc. Simplification of LM mode
US9420302B2 (en) * 2012-01-24 2016-08-16 Dolby Laboratories Licensing Corporation Weighted multi-band cross color channel predictor
US8947274B2 (en) 2012-06-21 2015-02-03 Mitsubishi Electric Corporation Encoding apparatus, decoding apparatus, encoding method, encoding program, decoding method, and decoding program
JP2014192701A (ja) * 2013-03-27 2014-10-06 National Institute Of Information & Communication Technology 複数の入力画像をエンコーディングする方法、プログラムおよび装置
JP2014192702A (ja) * 2013-03-27 2014-10-06 National Institute Of Information & Communication Technology 複数の入力画像をエンコーディングする方法、プログラムおよび装置
EP3058730B8 (en) * 2013-10-18 2021-03-10 GE Video Compression, LLC Multi-component picture or video coding concept
CN103561255B (zh) * 2013-10-24 2016-01-27 洪丹 一种裸眼立体显示方法
US9501864B2 (en) * 2013-12-27 2016-11-22 Intel Corporation Adaptive depth offset compression
US10057587B2 (en) * 2015-01-31 2018-08-21 Qualcomm Incorporated Coding escape pixels for palette mode coding
US9460365B1 (en) * 2015-03-24 2016-10-04 Intel Corporation Clustered palette compression
JP2017143355A (ja) * 2016-02-08 2017-08-17 キヤノン株式会社 画像符号化装置及び方法及び撮像装置
CN106898291B (zh) * 2017-04-28 2019-08-02 武汉华星光电技术有限公司 显示面板的驱动方法及驱动装置
DE102018122295A1 (de) * 2018-09-12 2020-03-12 Arnold & Richter Cine Technik Gmbh & Co. Betriebs Kg Verfahren zur Kompression von Bilddaten
CN113347437B (zh) * 2021-04-15 2022-09-06 浙江大华技术股份有限公司 一种基于串预测的编码方法、编码器、解码器和存储介质
CN116711307A (zh) * 2021-03-04 2023-09-05 Oppo广东移动通信有限公司 生成嵌入式图像数据的方法、图像传感器、电子设备和非暂态计算机可读介质
CN115225903B (zh) * 2022-04-30 2024-08-27 厦门精图信息技术有限公司 区划、地名、界线中线状对象精细化自动处理系统及方法
CN115580728A (zh) * 2022-09-08 2023-01-06 安谋科技(中国)有限公司 数据处理方法、电子设备及其介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4141034A (en) * 1977-08-19 1979-02-20 Bell Telephone Laboratories, Incorporated Digital encoding of color video signals
US5625712A (en) * 1994-12-14 1997-04-29 Management Graphics, Inc. Iterative compression of digital images
US6014463A (en) * 1995-05-16 2000-01-11 Canon Kabushiki Kaisha Image processing apparatus and method
US6266449B1 (en) * 1995-11-22 2001-07-24 Canon Kabushiki Kaisha Information processing apparatus and method which selectively controls data encoding by monitoring amount of encoded data
AU4601697A (en) * 1996-12-18 1998-07-15 Thomson Consumer Electronics, Inc Efficient fixed-length block compression and decompression
KR100355829B1 (ko) * 2000-12-13 2002-10-19 엘지전자 주식회사 영상의 공간적 유사성을 이용한 dpcm 영상 부호화 장치
JP4784810B2 (ja) * 2005-03-23 2011-10-05 富士ゼロックス株式会社 符号化装置及びプログラム
JP4427003B2 (ja) * 2005-05-23 2010-03-03 オリンパスイメージング株式会社 データ符号化装置、データ復号化装置、データ符号化方法、データ復号化方法、プログラム
KR101330630B1 (ko) * 2006-03-13 2013-11-22 삼성전자주식회사 최적인 예측 모드를 적응적으로 적용하여 동영상을부호화하는 방법 및 장치, 동영상을 복호화하는 방법 및장치
KR101200865B1 (ko) * 2006-03-23 2012-11-13 삼성전자주식회사 영상의 부호화 방법 및 장치, 복호화 방법 및 장치
CN101068352A (zh) * 2007-06-08 2007-11-07 中兴通讯股份有限公司 一种网络图像的压缩方法和系统
CN101082992A (zh) * 2007-07-06 2007-12-05 浙江大学 实时高动态范围图像的绘制和显示方法
US8331664B2 (en) * 2008-01-21 2012-12-11 Telefonaktiebolaget Lm Ericsson (Publ) Prediction-based image processing

Also Published As

Publication number Publication date
JP2011514024A (ja) 2011-04-28
WO2009092455A2 (en) 2009-07-30
ATE524927T1 (de) 2011-09-15
EP2232876A4 (en) 2011-12-07
EP2232876B1 (en) 2018-12-12
EP2232876A1 (en) 2010-09-29
CN101919254B (zh) 2013-01-23
WO2009092455A3 (en) 2009-09-17
US20130011059A1 (en) 2013-01-10
EP2235953A2 (en) 2010-10-06
CN101919254A (zh) 2010-12-15
EP2235953B1 (en) 2011-09-14
US8824790B2 (en) 2014-09-02

Similar Documents

Publication Publication Date Title
JP5214742B2 (ja) 予測に基づく画像処理
JP5302336B2 (ja) 画素のブロックを圧縮する方法及びシステム
US8331664B2 (en) Prediction-based image processing
JP4805924B2 (ja) マルチモード画像処理のための方法、システム、及びシステムを具備するユーザ端末
EP2128822B1 (en) Index-based pixel block processing
US8107753B2 (en) Prediction-based image processing
EP1697899B1 (en) Multi-mode alpha imag eprocessing
US20110026819A1 (en) Apparatus, method, and medium of encoding and decoding image data using sampling
JP2009534914A (ja) 画像処理
JP4019790B2 (ja) 画像処理装置および画像処理プログラム
WO2003081898A1 (en) Image data compression device, image data compression method, recording medium, and program
JPH1098620A (ja) 画像処理装置
JPH05298063A (ja) 符号化装置
JP2002326401A (ja) 描画処理装置および描画処理方法
JP2008228229A (ja) 画像符号化装置及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110516

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130227

R150 Certificate of patent or registration of utility model

Ref document number: 5214742

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

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