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

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

Info

Publication number
JP2011512067A
JP2011512067A JP2010542538A JP2010542538A JP2011512067A JP 2011512067 A JP2011512067 A JP 2011512067A JP 2010542538 A JP2010542538 A JP 2010542538A JP 2010542538 A JP2010542538 A JP 2010542538A JP 2011512067 A JP2011512067 A JP 2011512067A
Authority
JP
Japan
Prior art keywords
pixel
depth value
value
plane
block
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.)
Granted
Application number
JP2010542538A
Other languages
English (en)
Other versions
JP5302336B2 (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 JP2011512067A publication Critical patent/JP2011512067A/ja
Application granted granted Critical
Publication of JP5302336B2 publication Critical patent/JP5302336B2/ja
Expired - Fee Related 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (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)

Abstract

画素ブロック(300)は、ブロック(300)における画素(310〜318)の複数のデプス値に基づいて開始デプス値及び再開デプス値を選択することにより圧縮される。平面表現(430)は、開始デプス値平面又は再開デプス値平面のうち画素(311〜318)に対して判定される平面を示す。表現(430)は、符号化される画素(318)に対してブロック(300)における少なくとも1つの他の画素(312、314〜317)を含む画素セットを選択するために採用される。セットの画素(312、314〜317)のデプス値は、画素(318)のデプス値の予測を判定するために使用される。デプス値及び予測は、符号化される予測誤差を計算するために採用される。圧縮画素ブロック(400)は、符号化予測誤差(460)、開始値表現(420)、再開値表現(430)及び平面表現(440)を含む。

Description

本発明は、一般に画像処理に関し、特に画像ブロックの予測に基づく圧縮及び伸張に関する。
グラフィックス処理ユニット(GPU)の性能を向上するために、メモリ帯域幅減少技術が採用される。そのような帯域幅に対する要求を軽減する方法の1つは、バッファ圧縮と呼ばれる処理を実行することである。一般にグラフィックスシステムは、2つのバッファ、すなわち画素の色が描かれるカラーバッファ及び各画素のデプス(depth:奥行き)が格納されるデプスバッファを使用する。レンダリング中、これらのバッファに対して読み出し及び書き込みが行なわれ、多くの場合、同一画素が双方のバッファに対して数回アクセスされる。この読み出し及び書き込みアクセスは、エネルギーに関して高価であるため、特にモバイル機器等の、電源に制限があるユーザ端末に対しては最小限に維持されるべきである。
バッファ圧縮は、バッファデータのブロックが圧縮されてメモリに格納されることを示す。伸張及び圧縮が特定の画素及びブロックに対して数回行なわれる可能性があるため、圧縮は可逆的、すなわち非破壊的であることが重要である。
非特許文献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ページ Lapidous及びJiaoの「Optimal Depth Buffer for Low-Cost Graphics Hardware」Graphics Hardware、1999年、67〜73ページ
本発明は、従来の構成の上記欠点及び他の欠点を克服する。
本発明の一般的な目的は、画素ブロックの効率的な圧縮及び伸張を提供することである。
本発明の別の目的は、デプスバッファ値に適応される圧縮及び伸張を提供することである。
この目的及び他の目的は、添付の請求の範囲により規定される本発明により満足される。
簡単に説明すると、本発明は、関連するデプスバッファ値を有する画素のブロックの圧縮及び伸張を含む。圧縮は、好ましくはブロック中の事前定義済み位置の画素のデプス値として選択される画素ブロックに対する開始デプス値を選択することを含む。開始デプス値は、開始デプス値平面に含まれるものとして考えられる。再開デプス値平面に存在する再開デプス値は、画素ブロックに対して選択され、好ましくはブロック中の識別された画素のデプス値として選択される。
更に、ブロック中の画素に対する各平面表現が生成される。それらの表現は、開始平面及び再開平面のうち画素が属する平面を示すものとして考えられる。平面表現は、圧縮される画素に対してブロック中の少なくとも1つの他の画素を含む画素セットを選択するために使用される。そのセットは、ブロックにおいて1つ又は複数の予測方向に1つ又は複数の先行画素を含むのが好ましい。画素セットの少なくとも1つの画素のデプス値は、現在の画素のデプス値の予測値を判定するために採用される。
予測誤差は、判定された予測値及び画素のデプス値に基づいて、好ましくはそれらの間の差分として計算される。予測値は、符号化予測誤差を得るために符号化される。画素ブロックの圧縮表現は、開始値及び再開値の表現、並びに好ましくは平面表現と共に符号化予測誤差を含む。
伸張中、開始デプス値は、圧縮ブロックに含まれる開始値表現に基づいて画素ブロックに対して提供される。この開始デプス値は、ブロック中の事前定義済み位置の画素のデプス値として割り当てられる。これに対応して、再開デプス値は、圧縮ブロックに含まれる情報に基づいて提供され、ブロックにおいて識別される画素に対するデプス値として割り当てられる。
画素と関連付けられ且つ圧縮ブロックに含まれる符号化予測誤差表現は、画素に対する予測誤差を得るために復号される。好ましくは圧縮ブロックに含まれるブロック中の画素の平面表現は、その画素に対する画素セットを構成するブロック中の少なくとも1つの他の画素を選択するために検索及び採用される。画素に対する予測値は、画素セットの少なくとも1つの画素のデプス値に基づいて判定される。
画素は、判定された予測値及び復号予測誤差から自身のデプス値を計算することにより復号される。
更に本発明は、圧縮システム及び伸張システムに関する。
本発明は、平面の境界を越えてデプス値を予測することを防止し、それによりブロックの画素に対して適切な予測候補を提供し、その結果、効率的な画素の圧縮及び伸張を提供する。
本発明により提供される他の利点は、本発明の実施形態の以下の説明を読むことにより理解されるだろう。
本発明は、添付の図面と共に以下の説明を参照することにより、本発明の更なる目的及び利点と共に最もよく理解されるだろう。
本発明に係るブロック圧縮方法の一実施形態を示すフローチャートである。 本発明において有用な画素ブロックの一例を示す図である。 浮動小数点数の表現としての整数の使用を概略的に示す図である。 図1の圧縮方法の追加のステップを示すフローチャートである。 本発明の一実施形態に係る平面表現生成ステップを示すフローチャートである。 符号化誤差表現を判定するステップの一実施形態を更に詳細に示すフローチャートである。 図1又は図9のセット選択ステップ及び予測値提供ステップの一実施形態を更に詳細に示すフローチャートである。 画素ブロックの圧縮表現の一例を示す図である。 本発明に係るブロック伸張方法の一実施形態を示すフローチャートである。 図9の伸張方法の追加のステップを示すフローチャートである。 本発明の教示が適用可能であるデプスバッファアーキテクチャを示す概略ブロック図である。 本発明の一実施形態に係る圧縮システムを示す概略ブロック図である。 本発明の一実施形態に係る図12の再開選択器を示す概略ブロック図である。 本発明の一実施形態に係る図12の平面生成器判定器を示す概略ブロック図である。 本発明の一実施形態に係る図12の予測値提供器を示す概略ブロック図である。 本発明の一実施形態に係る図12の表現判定器を示す概略ブロック図である。 本発明の一実施形態に係る伸張システムを示す概略ブロック図である。 本発明の一実施形態に係る図17の誤差判定器を示す概略ブロック図である。 本発明の一実施形態に係る図17の予測値提供器を示す概略ブロック図である。 本発明の圧縮性能と従来の圧縮方式との比較を示す図である。
図中、同一の図中符号が対応する要素又は類似する要素に対して使用される。
本発明は、一般に、画素パラメータ値の可逆圧縮及び伸張に関し、特に、デプスバッファ(depth buffer)圧縮及び伸張に適切な圧縮及び伸張に関する。
本発明は、ゲーム、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画素である。
画素又は「画像要素(image element)」という表現は、ブロック中の要素又はブロックの符号化表現を示す。このブロックは、画像、テクスチャ又はバッファの一部分に対応する。従って、本発明によると、画像要素は、(1D、2D、3D)テクスチャのテクセル(テクスチャ要素)、(1D又は2D)画像の画素又は3D画像のボクセル(体素)であってもよい。一般に、画素は関連する画素パラメータ値又は特徴により特徴付けられる。本発明の好適な一実施形態において、画素パラメータ値はデプス値又はいわゆるZ値である。この特徴は、特定の画素に対する眼までのデプス又は距離を表し、レンダリング中に実際に表示される画素を制御する。
同一直線上の画素パラメータ値、すなわちある平面に位置するパラメータ値を処理するために、圧縮及び伸張が適応される。従って、圧縮されるブロックの画素パラメータ値の全ては、パラメータ空間の単一の平面に位置するか又は一般には2つの平面である複数の平面のセットのうちの1つに位置する。この要求は、画素パラメータ値の元の表現の元のビット数より少ないビット数を使用して画素ブロックの可逆圧縮を達成できる可能性があることを意味する。
更に以下において、「画像」という用語は、本発明により符号化及び復号可能な任意の1D、2D又は3D画像又はテクスチャを示すために使用される。それらの画像又はテクスチャは、バンプマップ、法線マップ、写真、ゲーム形式のテクスチャ、テキスト、図面、ダイナミックレンジの広い画像及びテクスチャ等を含むがそれらに限定されない。
[圧縮]
図1は、本発明に従って画素のブロックを圧縮する方法を示すフローチャートである。方法は、圧縮されるブロックに対する開始デプス値を選択することによりステップS1において開始する。この開始デプス値Zstartは、ブロック中の1つ画素及び好ましくはブロック中の事前定義済み位置を占有する画素のデプス値と等しくなるように設定されるのが好ましい。そのような事前定義済み位置の好適な一実現例は、ブロックの第1の画素、すなわち左上隅を占有する画素、Zstart = Z11を使用することである。可能な開始画素位置の他の例は、任意の他のブロックの隅である。実際には、隅の位置及び特に左上隅の画素はブロックの圧縮を非常に簡略化するが、ブロック中の任意の事前定義済み位置が開始位置として使用可能である。
選択された開始デプス値は、ブロックの第1のデプス値平面に属するものとして考えられる。選択されたデプス値がPビットを含む場合に、Pビットの開始値等の開始値の表現はブロックの圧縮表現に含まれる。
次のステップS2は、ブロックに対していわゆる再開デプス値を選択する。この値は、第2のデプス値平面、すなわち開始値とは異なる平面に属するものとして考えられる。再開デプス値Zrestartは、ブロック中の識別された画素のデプス値に等しくなるように、すなわちZrestart = Zijとなるように選択されるのが好ましい。ここで、位置(1, 1)の画素が開始デプス値を提供するために使用されるので、Nが行毎及び列毎の画素数を表す場合、(i, j) ≠ (1, 1)という条件で、i, j = 1, 2, ..., Nである。
圧縮ブロックは、選択されたデプス値がPビットを含む場合、好ましくはPビットの再開値の形式で選択された再開値の表現を含む。
ステップS3は、画素に対する平面表現を生成する。この平面表現は、第1の(開始)平面及び第2の(再開)平面のうち画素が属する平面を示す。表現は、好ましくは1ビットワードである。ここで、0bin(又は1bin)の値は第1の平面を示し、1bin(又は0bin)は第2の平面を表す。
ステップS3は、ブロック中の複数の画素の少なくとも一部分に対して実行されるのが好ましい。これを線L1で概略的に示す。更に好ましくは、ステップS3は、可能性として開始画素(開始デプス値と関連付けられる画素)を除くブロック中の各画素に対して実行される。オプションとして、再開画素(再開デプス値と関連付けられる画素)を除外することも可能である。複数の平面表現は、各画素が属する平面を区別するビットマップとして考えられる。ビットマップ(平面表現)は、圧縮ブロック表現に含まれるのが好ましい。
別の一実施形態としては、ステップS2及びS3の順序が交換することである。これは、ステップS1の開始デプス値の選択の後に、平面表現がブロック中の残りの画素に対して生成されることを意味する。そのような場合、開始デプス値と関連付けられる(開始)平面表現とは異なる平面表現を生成したブロックのトラバーサル順で第1の画素が再開画素と考えられる。その画素のデプス値は、ブロックに対する再開デプス値として採用される。
次のステップS4〜S7は、ブロックの複数の画素のうち符号化される画素毎に実行される。ステップS4は、その画素に対してブロックの少なくとも1つの他の画素を含む画素セットを選択する。このセット選択は、セット内の画素及び現在の画素の各平面表現に基づいて実行される。好適な一実現例において、セット内の選択された画素は、現在の画素と同一の平面表現を有する。すなわち、その画素と同一平面に属する。
選択されたセットの画素のデプス値は、現在の画素のデプス値Zijの予測値:
Figure 2011512067
を提供するステップS5において使用される。換言すると、画素のデプス値予測は、画素セットの少なくとも1つのデプス値に基づいて計算又は判定される。
次のステップS6は、画素のデプス値及びステップS5で提供された予測値に基づいて画素の予測誤差:
Figure 2011512067
を推定する。予測誤差は、画素の元のデプス値と予測との間の差分:
Figure 2011512067
として計算されるのが好ましい。
計算された予測誤差の符号化表現は、ステップS7で判定される。ブロックの圧縮又は符号化表現は、この符号化表現を含む。
上記の手順は、ブロック中の複数の画素に対して繰り返されるのが好ましい。これを線L2で概略的に示す。そのような場合、圧縮ブロックは、それらの画素(当然、開始値と関連付けられる画素及び再開値と関連付けられる画素以外)の各々に対する各符号化予測誤差表現を含む。圧縮ブロックは、開始デプス値、再開デプス値及び好ましくは平面表現のビットマップの表現を更に含むのが好ましい。
図2は、複数の画素310〜318のブロック300を示す概略図である。従来技術において周知であるように、デプスバッファの画素の元のデプス値成分は24ビットの整数である場合が多い。非特許文献3のLapidous及びJaioは、浮動小数点数を使用してデプスバッファを符号化する別の方法、いわゆる「相補的なZ表現」を提示する。この表現を使用して、fp16、fp24、fp32等を使用できる。Lapidous及びJaioにより使用されるfp16形式は、3ビットの指数部、13ビットの仮数を有し、符号ビットは有さない。fp16の数値は2(exponent-4) × (1.mantissa)である。
しかし、浮動小数点数の浮動小数点特性は問題を引き起こす。浮動小数点数の密度が均一でないため、2つの浮動小数点数の間の差分が表現できない場合がある。図3はこの概念を示す。図3の上半分は浮動小数表現を示す。数密度の不均一性は明らかに見て分かる。密度はゼロに近付くほど増加する。浮動小数点数の形式で色成分表現を有する問題を示すために、第1のデプス値は7.5であり、第2のデプス値は1.875であると仮定する。双方の数字はfp16を使用して表現可能である。しかし、2つの数字の差分7.5−1.875=5.625はfp16で表現できない。これに対して、最も近い表現は5.5である。しかし、背景の節で説明したように、デプスバッファ圧縮は可逆的である必要がある。従って、上述の浮動小数点数の間の差分の計算を必要とするブロックは、その差分がfp16で正確に表現できないため可逆圧縮できない。
本発明は、図3に示すように、各浮動小数点数を整数表現にマッピングすることにより浮動小数点の数の問題を解決できる。基本的にこれは、各浮動小数点数に固有の整数を割り当てることに対応する。浮動小数点から整数領域にマッピングすることは、より大きな整数をより大きな浮動小数点数に割り当てることを含む。これは、0.0には整数表現0が割り当てられ、次に最も小さい正の浮動小数点数には1が割り当てられ、更に次に最も小さい浮動小数点数には2が割り当てられる。
上記例は、整数15に差分16を加算して31の結果、すなわち浮動小数点として解釈すると7.5の結果を得ることに対応する。従って、本発明の好適な一実現例は、浮動小数点領域と整数領域との間の1対1マッピングに従って浮動小数点のデプス値を整数として解釈することを含む。整数領域において計算及び算術を行なうことにより、コストのかかる浮動小数点演算が回避される。また、圧縮が可逆的であるため、更にNaN(非数;Not a number)、Inf(無限大:Infinity)及びdenorm(非正規化数:denormal numbers)が適切に処理される。そのような場合、圧縮中、浮動小数点数は図3に示す上述のマッピングに従って整数として解釈される。伸張後、整数は、浮動小数点数に再度変換される。
本発明は、整数のデプス値及び浮動小数点のデプス値の双方と関連して使用される。浮動小数点のデプス値は、整数値と浮動小数点数との間の上述の1対1関係を介するのが好ましい。
再開画素位置は、種々の実施形態に従って識別される。第1の方法において、ブロックは、再開値を全く使用せずに圧縮される。同一のブロックは、可能な再開位置毎に、すなわち上述の開始画素位置以外の全ての画素位置に対して1度圧縮される。4×4のブロックの場合、これは、1+15個の異なる圧縮ブロック候補を判定することを意味する。再開値を全く使用せずに圧縮されたブロックが最小の圧縮サイズを与える場合、再開値は現在のブロックに対して採用されない。しかし、最小の圧縮サイズを与える圧縮ブロック候補が再開値を使用する15個の候補のうちの1つである場合、再開画素の位置は、最小の圧縮サイズを有するブロック候補において使用される位置になるように識別される。
計算的に更に効果的である別の方法について、図4と関連して以下に更に説明する。図4は、図1の選択ステップS2の一実施形態を示す。方法は、図1のステップS1から継続する。次のステップS10は、開始デプス値と最も異なるブロック中のデプス値を識別する。最初に、開始値に対する絶対差分|Zstart − Zij|がブロック中の全ての残りの画素に対して計算される。この式中、(i, j) ≠ (1, 1)である。最大の絶対差分を結果として与えるデプス値を有する画素が識別される。本明細書において、このデプス値はZdiffで示される。その後、画素のデプス値と開始値との間の第1の絶対差分|Zij − Zstart|、及び、デプス値とZdiffとの間の第2の絶対差分|Zij − Zdiff|が画素に対して計算される。第1の絶対差分が第2の絶対差分より小さい場合、その画素は開始デプス平面に属するものとして考えられ、開始値の予測である。第1の絶対差分が第2の絶対差分より小さくない場合、画素は再開平面に属するものとして分類され、再開値の予測である。開始平面に属する画素には0bin(又は1bin)の一時的な分類指標が割り当てられ、再開予測画素には1bin(又は0bin)の一時的な分類指標が割り当てられる。この場合、再開画素は、第1の差分より大きい第2の絶対差分を有するブロックのトラバーサル順で第1の画素として識別される。従って、1binの一時的な分類指標を有する上位行から開始し且つ下向きに進むように行毎に横切る場合のブロックの第1の画素が再開画素として考えられる。識別された再開画素のデプス値は、ステップS12において再開デプス値として選択される。その後、図1のステップS3に進む。
更に別の方法において、再開デプス値は、画素の少なくとも一部分に対して、好ましくは開始画素を除くブロック中の各画素に対して生成される平面表現から識別される。そのような場合、開始デプス値が属する第1の平面と関連付けられない平面表現を有するブロックのトラバーサル順で第1の画素が再開デプス画素として考えられる。この画素のデプス値は、ブロックに対する再開値として採用される。
図5は、図1の平面表現生成ステップの一実施形態を示すフローチャートである。この方法は、図1のステップS2から継続する。次のステップS20は、画素のデプス値と開始デプス値との間の第1の差分を計算する。また、デプス値と再開デプス値との間の第2の差分が計算される。別の方法において、特に再開デプス値がまだ判定されていない場合、第2の差分はデプス値と上述のZdiffとの間で計算される。第1の差分の絶対値が第2の差分の絶対値より小さい場合、すなわち|Zij − Zstart| < |Zij − Zrestart|、又は、|Zij − Zstart| < |Zij − Zdiff|である場合、ステップS21に進む。
ステップS21は、第1のデプス値平面を示す0bin(又は1bin)等の第1の平面表現を生成する。この平面表現は、現在の画素に割り当てられ、圧縮ブロックのビットマップの一部として含まれる。
しかし、画素のデプス値が開始値より再開値に近い場合、ステップS22に進む。このステップS22は、第2のデプス値平面を示す1bin(又は0bin)等の第2の平面表現を生成する。平面表現は、画素に割り当てられ且つ圧縮ブロックに含まれる。
再開画素の識別中に判定される一時的な分類ビットが平面表現を提供するために実際に採用されることは、本発明により理解される。そのような場合、専用平面表現提供手順は必要なく、表現は再開値選択手順と関連して提供される。
計算費用が更に高価である平面表現を生成する更なる一実施形態は、平面表現の全ての215個の可能な組合せをテストし且つ計算的に最も効果的な組合せを選択すること、すなわち最小の圧縮ブロックサイズを提供することである。
更に別の実施形態は、Haselgren及びAkenine-Mollerの非特許文献2により説明される手順を使用することである。簡単に説明すると、開始平面は、予測誤差が大きくなりすぎるまで開始デプス値から増加することが可能である。それに応じて、再開平面は、誤差が大きくなりすぎるまでブロック中のはす向かいの位置から増加可能である。2つの平面が共に全てのブロックを含むと、平面表現が取得される。
本発明は、更なる一実施形態を含む。この場合、15個の可能な位置(4×4のブロックの場合)のうち再開位置がテストされる。この位置に基づいて、平面表現の「最適な」セット又はビットマップが判定される。そのような手順において、候補再開位置に対するブロックのトラバーサル順で先行位置の全ての画素が第1の平面/開始平面を示す平面表現を有するものとして考えられる。ブロックのトラバーサル順で再開位置に後続する画素毎に、画素が第1の平面/開始平面に属するか又は第2の平面/再開平面に属するかがテストされる。このテストは、種々の基準に従って実行される。第1の基準は、結果として最小の予測誤差を与える平面表現を選択することである。しかし、画素に対する最小の予測誤差を結果として与える平面表現は、必ずしもブロックの最も効率的な符号化を与えるとは限らない。Golomb-Rice符号化と関連して本明細書で更に説明されるように、予測誤差は値2lで除算される。ここで、lは、現在の画素に対する予測を計算するために使用された隣接するデプス値の数に依存して、判定された値kと等しいか又はkの関数である。l=kであるか又はl =f(k)であるかに依存して、例えば平面表現がl=kではなくl=f(k)をもたらす値を有する場合、実際にはより大きい予測誤差は結果として得られるより短い圧縮ブロックを提供できる。
手順は、全ての可能な再開位置及び全ての可能な平面表現に対してテストされる。
図6は、図1の予測誤差の符号化表現を判定するステップの一実施形態を示すフローチャートである。方法は、図1のステップS6から継続する。次のステップS30は、正の予測誤差を得るために予測誤差を変更する。この変更は、負の予測誤差(ゼロを含む)に関数n(x)= −2xを適用し、正の予測誤差(ゼロを除く)に関数p(x)= 2x −1を適用することを含むのが好ましい。その結果、{0, 1, -1, 2, -2, 3, -3, ...}である予測誤差の新しい構成が得られる。これは、小さい大きさの数が小さい値を有することを意味する。変更された各予測誤差は、符号化表現を取得するためにGolomb-Rice符号化されるのが好ましい。
Golomb-Rice符号化は、ステップS31において、指数kを探索することを含む。この数kは、ブロックの少なくとも1つの画素のセットに対して採用されるのが好ましい。例えば、ブロックの2×2のグループの4画素又は実際には4×4の全ての画素は同一のkを共有できる。0と15との間等のkの利用可能な値の間で全数探索が使用され、グループに最適なkを見つける。
次のオプションのステップS32は、探索されたkに基づいて指数値lを計算する。すなわち、l=f(k)である。好適な一実施形態において、現在の画素に対してステップS4で選択された画素セットが1つの画素を含む場合、関数f(k)はw×k+h、又は、
Figure 2011512067
と等しく、それ以外の場合、関数はkと等しい。従って、画素のデプス値予測がブロック中の単一の他の画素の単一のデプス値に基づいて判定され且つ予測のセットに含まれる場合、l=w×k+hである。ここで、式中、wは事前定義済みの重みであり、hは事前定義済みの定数であり、例えばw=0.5及びh=10である。重み及び定数の最適な値は、複数のデプスバッファを圧縮することと種々の重み及び定数値をテストすることとを含む最適化手順を介して判定される。最適な圧縮をもたらす値、すなわち可能な限り多くのテストデプスバッファを圧縮し且つ更に結果としてビット数に関して可能な限り短い圧縮バッファを与える値が見つけられて使用される。そのような最適化手順は、w=0.5及びh=10を得るために実行された。しかし、これらの値は、従来技術において周知の手順に更に従って最適化される。
現在の画素の画素セットがブロック中の複数の他の画素を含む場合、すなわち画素のデプス値がブロック中のそれらの他の画素のデプス値に基づいて予測される場合、l=kである。
いくつかの画素が同一の値kを共有できるため、画素に対して選択される各画素セットの画素数に依存して、全ての画素が同一の値l又は異なる値lを有することができる。
次のステップS33は、グループの各予測誤差を2lで除算し、商及び余りを形成する。商は、次のステップS34においてアルファ符号化(unary encode)される。このアルファ符号化は、以下の表1に従って実行されるのが好ましい。
Figure 2011512067
アルファ符号化は、表1から明らかであるように、より大きな値により長いコードを割り当てる。一般に31より大きい値は、0xffffhexを使用して符号化され、その後値の16ビットが続く。
予測誤差の符号化表現は、アルファ符号及び余りのlビットを含む。更に値kは、画素のグループに対して格納される。この手順は、開始画素及び再開画素を除くブロック中の画素毎に実行される。上述したように、これらの画素の元のデプス値は開始成分値及び再開成分値としてそれぞれ格納される。
本発明は、Golomb-Rice符号化アルゴリズムであるが、これに限定されない。これに対して、ハフマンアルゴリズム等の他の符号化アルゴリズムが代わりに使用できる。
図7A及び図7Bは、図1の画素セット選択ステップ及び予測提供ステップの好適な一実施形態を示す。図2を参照してこの好適な実施形態を更に説明する。図中、画素ブロック300においてDで示される画素318が圧縮対象である。方法は、図1のステップS4から継続する。次のステップS40は、画素318に対するブロックにおいて第1の予測方向に存在するAで示される第1の隣接画素317、第2の予測方向に存在するBで示される第2の隣接画素315及び第3の予測方向に存在する図2のCで示される第3の隣接画素314は全て、画素318と同一のデプス値平面に属するかが調べられる。
第1の隣接画素317は、現在の画素318と同一の行に存在する先行画素であるのが好ましい。同様に、第2の隣接画素315は、ブロック300において同一列の先行画素位置に位置する。最後に第3の隣接画素314は、画素318に対して対角線上で左上に位置する対角の先行画素、すなわち先行する行及び先行する列の画素であるのが好ましい。
図1のステップS3で判定されるようなこれらの3つの隣接画素314、315、317の平面表現は、符号化される画素318の対応する平面表現と比較される。平面表現が全て等しい場合、すなわち全ての画素314、315、317、318が同一のデプス値平面に存在するものとして考えられる場合、ステップS41に進む。ステップS41は、3つの隣接画素314、315、317の予測値に基づいて画素318に対するデプス値の予測値を計算する。好適な一実施形態において、予測値は、第1の隣接画素317及び第2の隣接画素315のデプス値の合計から第3の隣接画素314のデプス値を減算したものとして計算される。すなわち、
Figure 2011512067
である。
しかし、3つの隣接画素314、315、317の平面表現のいずれかが画素318の平面表現と等しくない場合、ステップS40からステップS42に進む。ステップS42は、第1の予測方向の第1の隣接画素317及び第1の予測方向に存在する図2においてEで示される第2の画素316が現在の画素318と同一のデプス値平面に属するかを調査する。
第2の画素316は、現在の画素(及び第1の隣接画素317)と同一行に存在する第2の先行画素316であるのが好ましい。全ての3つの画素316、317、318の平面予測が等しい場合、ステップS43に進む。ステップS43は、画素セットに含まれるように選択された2つの先行画素316、317の予測値に基づいて画素318に対するデプス値の予測値を計算する。好適な一実施形態において、デプス値の予測値は、第1の隣接画素のデプス値の2倍から第2の画素のデプス値を減算した値と等しくなるように計算される。すなわち、
Figure 2011512067
である。
しかし、これらの3つの画素316、317、318の平面表現が等しくない場合、ステップS42からステップS44に進む。ステップS44は、第2の隣接画素315及び第2の予測方向に存在する図2においてFで示される第3の画素312が現在の画素318と同一のデプス値平面に属するかを調査する。
第3の画素312は、現在の画素318(及び第2の隣接画素315)と同一列に存在する第2の先行画素312であるのが好ましい。全ての3つの画素312、315、318の平面予測が等しい場合、ステップS45に進む。ステップS45は、画素セットに含まれるように選択された2つの先行画素312、315の予測値に基づいて画素318に対するデプス値の予測値を計算する。好適な一実施形態において、デプス値の予測値は、第2の隣接画素のデプス値の2倍から第3の画素のデプス値を減算した値に等しくなるように計算される。すなわち、
Figure 2011512067
である。
図7Aの別の一実施形態において、ステップS40、S42及びS44の順序は変更される。例えば、ステップS40において隣接画素314、315、317の平面表現のいずれかが画素318の平面表現と等しくない場合、ステップS40からステップS44に進む。その後、画素316、317のいずれかが現在の画素318と同一の平面表現を有さない場合、ステップS44からS42に進む。
更に図7Aの手順は、ステップS42のチェックから開始し、ステップS40に進み且つその後ステップS44に進んでもよく、ステップS42から開始し、ステップS44に進み且つその後ステップS40に進んでもよい。同様に、手順はステップS44の調査から開始し、ステップS40に進み且つその後ステップS42に進んでもよく、あるいはステップS44から開始し、ステップS42に進み且つ最後にステップS40に進んでもよい。
従って、3つのステップS40、S42、S44の順序は任意の事前定義済みの順序であってもよい。圧縮されるブロックに対して選択される特定の順序は、本発明の符号化品質に影響を及ぼさない。
上述の条件のいずれも満たされない場合、図7BのステップS46に進む。このステップS46は、第1の隣接画素317及び第2の隣接画素315が各平面表現を使用して画素318と同一のデプス値平面に属するかを調査する。それらの隣接画素の全てが同一平面に属する場合、次のステップS48(ステップS47は、圧縮中ではなく伸張中に実行される)は、現在の画素に対するデプス値の予測として2つの隣接画素315、317のデプス値のうちの一方を選択する。好適な一実施形態において、画素318のデプス値に最も近いデプス値が選択される。換言すると、|Zi(j-1) − Zij| < |Z(i-1)j − Zij|である場合、
Figure 2011512067
であり、これ以外の場合、
Figure 2011512067
である。別の方法において、予測は選択されたデプス値から計算される。すなわち、
Figure 2011512067
である。
次のステップS49は、現在の画素318に対する予測の基礎として使用するために、第1の隣接画素317及び第2の隣接画素315のうち選択された画素と関連付けられるガイドビットを提供する。2つの隣接画素315、317の間で選択されるため、ガイドビットは、その名前が提案するように1ビットの選択ワードとすることができる。
別の一実施形態において、ステップS46からステップS48に直接進まない。本実施形態は、2つの隣接画素315、317がほぼ同一のデプス値を有するかを調査するための更なるチェックを実行することを含む。その結果、デプス値の間の絶対差分が計算され、差分が事前定義済みの閾値より小さい場合、すなわち|Zi(j-1) − Z(i-1)j| < Tである場合、2つの値の平均が計算されて予測として使用される。すなわち、
Figure 2011512067
である。整数の予測のみが望ましい場合、
Figure 2011512067
のように、平均は丸められるか又は床(又は天井)関数に入力される。この場合、追加のガイドビットは必要ない。
絶対差分が閾値を超える場合、ステップS48に進み、隣接画素315、317のうちの一方が現在の画素318に対する予測の基礎として採用される。
第1の隣接画素317及び第2の隣接画素315のいずれかが現在の画素318と同一のデプス値平面に属さない場合、ステップS46からステップS50に進む。ステップS50は、第1の隣接画素317が画素318と同一のデプス平面に存在するかを調査する。そのような場合、ステップS51は、第1の隣接画素のデプス値に基づいてデプス値の予測値を規定する。好ましくは、隣接するデプス値と等しくなるように予測値を設定する。すなわち、
Figure 2011512067
である。
第1の隣接画素317が現在の画素318と同一のデプス値平面に属さない場合、ステップS50からステップS52に進む。このステップS52は、ステップS50と同様に実行されるが、第2の隣接画素315が画素318と同一のデプス平面に属するかを調査する。各平面表現の比較に基づいて判定されるように、これが該当する場合、ステップS53に進む。ステップS53において、画素318の予測は、第2の隣接画素315のデプス値に基づいて判定され、好ましくは、
Figure 2011512067
である。
第1の隣接画素317及び第2の隣接画素315の双方ともが画素318と同一のデプス平面に属さない場合、ステップS54に進む。ステップS54は、開始デプス値及び再開デプス値のうちの一方に基づくように画素318の予測値を選択する。予測値は、画素318が属する平面に基づいて選択される。画素318が開始値と同一の平面に属する場合、
Figure 2011512067
が使用され、属さない場合には、
Figure 2011512067
が使用される。別の方法において、予測値を、選択されたデプス値から計算する。すなわち、
Figure 2011512067
である。
その後、デプス値がステップS41、S43、S45、S48、S51、S53又はS54において提供されると、図1のステップS6に進む。ステップS6において、予測誤差は提供されたデプス値の予測に基づいて推定される。
上記説明において、第1の隣接画素は、画素ブロックにおいて符号化される現在の画素と同一行に存在する先行画素として開示された。しかし、これは可能な一実現例の単なる例である。別の一実施形態において、第1の隣接画素は、画素ブロックにおいて現在の画素と同一列に存在する先行画素であってもよい。そのような場合、第2の隣接画素は、ブロックにおいて現在の画素と同一行に存在する先行画素であるのが好ましい。
図7A〜図7Bにおいて開示される手順のA〜Fで示される任意の画素が実際にはブロック外に存在する場合、その画素は符号化される画素と同一のデプス値平面に属さないものとして処理される。例えば、図2の画素317が符号化される対象と仮定する。更にこの例において、第3の隣接画素313は画素317とは異なる平面に属する。従って、図7AのステップS40の条件は満足されず、ステップS42に進む。しかし、この場合、第1の予測方向の第2の画素はブロックの境界の外側に位置付けられる。従って、画素は画素317とは異なる平面表現を有すると考えられる。ステップS42からS44に進む。
これは、第1の行又は第1の列に存在する画素311、312,313、316に対して、デプス値の予測が同一の第1の列又は第1の行の隣接する先行画素のデプス値と等しくなること、あるいは第1の行又は第1の列の直前の画素のデプス値から計算されることを意味する。すなわち、Z11 = Zstartである場合、
Figure 2011512067
である。
図8は、本発明に従って圧縮された画素ブロックの圧縮表現400を示す概略図である。レンダリングの前に、全てのブロックはクリアされるのが好ましく、Zfar値のみを含む。ブロックにおけるレンダリングが開始した後でも、多くの画素がZfar値に設定されるのが一般的である。従って、多くの開始値はZfar値と等しくなる。従って、このことを信号伝送する特別な例を有するという利点がある。圧縮ブロック400は、現在のブロックがZfarに等しい開始デプス値を有するかを信号伝送するための1ビット410を含むのが好ましい。開始値の表現420は、圧縮ブロック400に含まれるか又はクリアビット410が設定される場合には省略される。圧縮ブロック400は、再開値の表現430を更に含む。平面表現440のビットマップは、判定されたk値450と同様にブロック400に含まれる。一般的な一実施形態において、ビットマップ440は15個の平面表現を含む。開始画素を除く画素毎に1つの表現を含む。しかし、従来技術において周知であり且つ本発明に適用されるそのような平面表現を符号化する更に効率的な他の方法がある。追加のガイドビット460は、画素に対して選択された予測に依存して含まれてもよい。圧縮ブロック400は、図中では符号化誤差表現470で示されるGolomb-Rice符号化による商及び余りのアルファ符号を更に含む。
圧縮ブロック400の含まれる成分の実際の順序は、図8に示す順序と異なってもよい。
[伸張]
図9は、本発明に従って圧縮又は符号化画素ブロックを伸張又は復号する方法を示すフローチャートである。方法は、ステップS60において開始する。ステップS60は、ブロックに対して開始デプス値を提供する。この開始値は、圧縮画素ブロックに含まれる開始値表現に基づいて提供される。好適な一実施形態において、開始デプス値は、圧縮ブロックにおいて圧縮されずに提供されるため、開始画素のデプス値として直接割り当てられる。この画素は、上述したようにブロックにおいて事前定義済みの位置、好ましくは(i, j) = (1, 1)を有する。あるいは、ビットは、開始デプス値がZfar値に等しいかを示すことができ、この場合は開始値を明示的に格納することを回避する。
次のステップS61は、圧縮ブロックに対して再開デプス値を提供する。この値は、圧縮ブロックに含まれる再開値表現に基づいて提供される。この表現は、好ましくは圧縮せずに再開値を含む。一般に再開画素の位置は、平面表現から取得される。開始デプス値と同一の平面表現を有さないトラバーサル順で第1の画素は、再開値の位置にある。ステップS61は、平面表現からブロックにおける再開画素を識別すること及び識別された画素に対して再開値をデプス値として割り当てることを含む。上述したように、開始デプス値及び再開デプス値は、異なるデプス値平面に属すると考えられる。
次のステップS62〜S65のループは、ブロックにおいて復号される画素毎に実行される。ステップS62は、画素と関連付けられ且つ圧縮ブロックに含まれる符号化誤差表現に基づいて画素に対する予測誤差を判定する。
予測誤差は、予測誤差の符号化表現をGolomb-Rice復号することにより実行されるのが好ましい。そのような場合、予測誤差は、アルファ符号化された商、余り及び指数値kを含むのが好ましい。商は上記の表1を使用してアルファ符号化されたデータから取得される。その後、商及び余りは、予測誤差を形成するために2lで乗算される値を形成する。値lは、現在の画素の画素セットが1つの他の画素を含むか又は複数の他の画素を含むかに依存して、kに等しいか又はkの関数である。
次のステップS63は、ブロックにおいて少なくとも1つの他の画素を含む画素セットを選択する。この選択は、画素と関連付けられる各平面表現に基づいて実行される。上述したように、平面表現は、開始デプス平面及び再開デプス平面のうち画素が属する平面を示す。
画素のデプス値の予測値は、ステップS64において提供される。このステップS64は、選択された画素セットの少なくとも1つの画素のデプス値に基づいて予測値を提供することを含むのが好ましい。従って、画素セットの少なくとも1つのデプス値は、デプス値の予測値を提供又は計算するために使用される。
最後にステップS65は、ステップS62で判定された予測誤差及びステップS64で提供されたデプス値の予測値に基づいて画素のデプス値の表現を計算する。この計算は、復号画素のデプス値を得るために判定された予測誤差を予測値に加算することにより実現されるのが好ましい。
図9の伸張方法は、復号されるブロック中の画素毎に繰り返されるのが好ましい。これを線L3により概略的に示す。これは、所定の圧縮ブロックに対して、方法がブロックの画素毎に1回等、1回又は複数回実行されることを意味する。
図10は、伸張方法の追加のステップを示すフローチャートである。この方法は図9のステップS60から継続する。次のステップS70は、圧縮ブロックに含まれるものから画素と関連付けられる各平面表現を提供する。検索された平面表現は、再開画素を識別するために図10のステップS61で使用され、画素に対する正確な画素セット及び画素に対する正確なデプス値の予測を識別するためにステップS63で使用される。
図9の画素セット選択ステップ及び予測提供ステップの好適な一実施形態を図7A及び図7Bに示す。手順は、提供された平面表現に基づいてステップS40、S42、S44、S46、S50又はS52において正確な予測のセットをステップ毎に識別するために上述したように実行される。正確な画素セットが識別されると、デプス値の予測値は、ステップS41、S43、S45、S48、S51、S53又はS54のうちの1つに従って画素セットのデプス値に基づいて判定される。
圧縮中に実行される手順と比較した場合の本実施形態の相違点は、第1の隣接画素及び第2の隣接画素の双方が復号する現在の画素と同一の平面に属するとステップS46において判断される場合にステップS47に進むことである。ステップS47は、現在の画素と関連付けられ且つ圧縮ブロックに含まれるガイドビットを提供する。ガイドビットは、第1の隣接画素及び第2の隣接画素のどちらを画素に対する予測の基礎として使用するかを示す。従って、ステップS48におけるデプス値の予測値の選択は、関連するガイドビットに基づいて実行される。次のステップS49は、伸張中には実行されないが、圧縮に関連してのみ実行される。
上述したように、ガイドビットの使用は、現在の画素と同一行又は同一列の2つの先行画素が等しい又はほぼ等しいデプス値を有する場合に省略されてもよい。そのような場合、予測は2つの隣接するデプス値の平均から判定される。
[伸張の例]
以下の例において、図2に示すようなブロックサイズ及び図8に示すような圧縮ブロックレイアウトを仮定している。
farビット:0bin
開始値:010011101001101011010001bin
再開値:000000101001101011010001bin
平面表現:000100011111111bin
k値:X1X2...Xn、ここで、Xi = 0/1bin、i = 1...nである。
ガイドビット:なし
符号化表現:Y1Y2...Ym、ここで、Yi = 0/1bin、i = 1...mである。
farビットは、現在のブロックに対して設定されず、開始値がZfar値に設定されるべきでないことを示す。その代わり、開始値は開始値ビットから直接取得されるべきである。再開画素の位置は、平面表現から取得される。平面表現ビットベクトルの第1の非ゼロビットは位置4にあるため、再開画素の位置が4である。これは、トラバーサル順に(1, 1)が位置番号0を有し、(1, 2)が位置番号1を有する場合に(2, 1)に対応する。再開値は、000000101001101011010001bin = 170705である。従って、Z(2,1) = Zrestart = 170705である。開始画素は位置(1, 1)にあり、開始値は010011101001101011010001bin = 5151441である。従って、Z(1,1) = Zstart = 5151441である。この時点で、部分的に復号されたブロックは以下のように見える。
Figure 2011512067
その後、ブロックは第1の行から開始してトラバーサル順に復号される。第1の行の全ての残りの画素は、開始デプス値と同一のデプス値平面に属することを示す0binに設定される平面表現を有する。画素の平面表現は以下に従う。
Figure 2011512067
図7A〜図7Bの伸張の実施形態に従うと、第2の先行する隣接画素又は第3の先行する隣接画素が存在しないため、位置(1, 2)にある次の画素がステップS50に従って第1の隣接画素を含む予測セットを有するべきであることが分かる。これは、
Figure 2011512067
であることを意味する。
以下の例において、予測誤差は、本明細書では開示されないGolomb-Rice復号を介して判定される。従って、ブロックに対する復号予測誤差を以下のように仮定する。
Figure 2011512067
従って、第2の画素のデプス値は以下のように計算される。すなわち、
Figure 2011512067
である。第1の行の次の画素は、ステップS42の要求を満たすため、
Figure 2011512067
を有する。第1の行の第3の画素の対応するデプス値は、
Figure 2011512067
である。手順は、第1の行の第4の最後の画素に対して繰り返され、以下のような部分的に復号されたブロックが得られる。
Figure 2011512067
その後、第2の行の残りの画素が復号される。第2の行の第2の画素は、ステップS52の要求を満たすため、
Figure 2011512067
のデプス値を有する。第2の行の第3の画素は、ステップS40の基準を満たし、以下のように復号される。
Figure 2011512067
同一の手順が第2の行の最後の画素に対して実行され、以下のような部分的に復号されたブロックが得られる。
Figure 2011512067
残りの2つの行に対して復号手順を繰り返すことにより、以下の最終的な復号ブロックが得られる。
Figure 2011512067
上記に従って計算されたデプス値は、図3と関連して上述したようにオプションとして浮動小数点数に再度マッピングされる。
[実現例の態様]
図11は、本発明の教示が適用されるデプスバッファアーキテクチャ1を示す概略図である。アーキテクチャは、特にデプス値を含む画素ブロックを格納するためのランダムアクセスメモリ(RAM)50を含む。デプスユニット10は、RAM50から取り出した圧縮ブロックを伸張するための本発明に係る伸張システム200を含む。伸張ブロック又は復号ブロックは、デプスユニット10の関連するタイルキャッシュ14に一時的に格納される。更に、RAM50に格納するためにキャッシュ14に存在する画素ブロックを圧縮する本発明に係る圧縮システム100がデプスユニット10に提供される。
好適な一実施形態において、デプスユニット10は、タイルテーブルキャッシュ12を更に含む。このテーブルキャッシュ12は、画素ブロックと関連し且つデプスバッファデータとは別に保持されるヘッダ情報を格納する。一般にタイルテーブルエントリは、関連する画素ブロックが圧縮されずにRAM50に格納されるか又は圧縮されてRAM50に格納されるかを信号伝送するフラグを含む。後者の場合、種々の圧縮ブロックが種々の合計ビット長を有することができるため、フラグは圧縮ブロックのサイズを信号伝送するのが好ましい。例えば、2ビットのフラグは、非圧縮ブロック、元のサイズの75%で圧縮された圧縮ブロック、元のサイズの50%で圧縮された圧縮ブロック又はfast-Z-clearedで圧縮された圧縮ブロックを信号伝送するために使用される。
ラスタライザ20は、デプスユニット10に接続され、画素の実際の展開を実行する。ラスタライザ20は、画素のデプス及び色を算出するために採用される1つ又は複数の画素パイプライン30に接続される。各画素パイプライン30は、先に描かれた幾何学的形状により隠蔽される画素、すなわちより大きなデプス値を有する画素を廃棄する役割を果たすデプステストユニット40に接続される。いくつかの実施形態において、画素パイプライン30及びデプステスト40の順序は交換可能である。
[圧縮器]
図12は、本発明に係る圧縮器又は圧縮システム100を示す概略ブロック図である。システム100は、圧縮されるブロックに対する開始デプス値を選択するように実現される開始選択器110を含む。この選択器110は、ブロックの左上隅の画素等のブロック中の事前定義済み画素位置にある画素のデプス値と等しくなるように開始値を選択するのが好ましい。この開始デプス値は第1の(開始)デプス平面に属するものとして考えられ、開始デプス値の表現は圧縮ブロックに含まれる。
再開選択器120は、ブロックに対する再開デプス値を選択するように構成される。この再開選択器120は、ブロック中で識別された画素のデプス値と等しくなるように再開値を選択するのが好ましい。再開値は、第2の(再開)デプス平面に属するものとして考えられ、再開値の表現は圧縮ブロックに含まれる。
圧縮システム100は、画素の平面表現を生成する平面表現生成器130を更に含む。表現は、開始平面及び再開平面のうち画素が属する平面を示す。平面生成器は、ブロック中の複数の画素の少なくとも一部分に対して及び更に好ましくは開始画素を除く各画素に対して、平面表現を生成するのが好ましい。そのような場合、再開選択器120は、上述したように正確な再開画素を識別するために平面表現を使用できる。これは、平面表現がブロックにおける再開画素の位置の表現として考えられることを意味する。
セット選択器140は、符号化対象の画素に対してブロック中の少なくとも1つの画素の画素セットを選択するために提供される。このセットの選択は、表現生成器130により判定される画素の平面表現に基づいて更に実行される。セットは、上述したようにブロックにおいて種々の予測方向に存在する1つの画素、あるいは2つ又は3つ等の複数の画素を含むことができる。
画素のデプス値の予測値は、予測提供器150により判定される。そのような場合、提供器150は、セット選択器140からの画素セットに含まれる画素のデプス値に基づいてデプス予測値を生成する。
提供されるデプス予測値は、画素に対する予測誤差を推定又は計算するために誤差推定器160により使用される。この誤差は、予測提供器150により判定される予測値と画素の元のデプス値との間の差分として計算されるのが好ましい。
表現判定器170は、誤差推定器160からの予測誤差の符号化表現を判定するために圧縮システム100において実現される。この誤差表現は、画素に割り当てられ、圧縮画素ブロックに含まれる。
圧縮システム100は、2つの利用可能な隣接画素のうち現在の画素に対する予測の基礎として使用する画素を信号伝送するために使用されるガイドビットを提供するように実現されるガイドビット提供器180をオプションとして含んでもよい。そのような場合、それらの2つの隣接画素の双方が画素と同一のデプス値平面に属し、ガイドビットは2つの画素のデプス値を区別するために採用される。
圧縮システム100のユニット110〜180は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット110〜180は、圧縮システム100に共に実現されてもよい。あるいは、いくつかのユニットがデプスバッファアーキテクチャの他の場所に提供される分散型実現例も可能である。
再開選択器120は、ブロック中の利用可能な各ビット位置(開始画素の位置を除く)をテストする全数探索を介して再開画素を識別するように実現される。最も効率的な圧縮ブロック、すなわち最短のビット長の圧縮ブロック表現をもたらす再開位置及び再開値が選択される。図13は、再開選択器120の別の実現例を示す。
再開選択器120は、開始選択器からの開始デプス値と最も異なるデプス値を有するブロック中の画素を識別するように構成される値識別器122を含む。差分計算機124は、デプス値と開始値との間の第1の差分Zij − Zstart、及び、デプス値と最も異なる値との間の第2の差分Zij − Zdiffを好ましくは画素毎に計算するように実現される。第1の差分の絶対値が画素に対して最小である場合、画素は開始デプス平面に属すると考えられる。しかし、|Zij - Zdiff| < |Zij − Zstart|である場合、画素は再開デプス平面に属する。
値選択器126は、再開平面に属すると考えられる全ての画素を調査し、再開値平面に属するトラバーサル順(4×4の画素ブロックの場合、(1, 1) → (1, 4), (2, 1) → (2, 4), (3, 1) → (3, 4), (4, 1) → (4, 4))で第1の画素である再開画素を識別する。圧縮ブロック表現は、再開値の表現、すなわち識別された再開画素のデプス値の表現を含むのが好ましい。
再開選択器120のユニット122〜126は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット122〜126は、再開選択器120に共に実現されてもよい。あるいは、いくつかのユニットが圧縮システムの他の場所に提供される分散型実現例も可能である。
再開選択器120は、本明細書で上述した任意の他の実施形態に従って動作可能である。例えば再開選択器120は、開始デプス値の平面とは異なる平面に属すると考えられるトラバーサル順で第1の画素である再開画素を識別するために平面表現生成器130からの情報を使用できる。
図14は、平面表現生成器130の一実施形態を示す概略ブロック図である。生成器130は、画素のデプス値と開始デプス値との間の第1の差分を判定するように実現される差分判定器132を含む。更に生成器130は、デプス値と再開デプス値又は開始値と最も異なるブロック中の値、すなわちZdiffとの間の第2の差分を計算する。
表現生成器134は、第1の差分の絶対値が第2の差分の絶対値より小さい場合に開始デプス値平面を示す画素の平面表現を生成するため、平面生成器130に含まれる。あるいは、第1の差分の絶対値が第2の差分の絶対値より小さくない場合、生成器134は再開平面を示す平面表現を提供する。
平面表現生成器130のユニット132及び134は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット132及び134は、生成器130に共に実現されてもよい。あるいは、いくつかのユニットが圧縮システムの他の場所に提供される分散型実現例も可能である。
好適な一実施形態において、セット選択器140は、ブロックにおいて異なる予測方向に存在する3つの先行する隣接画素の平面表現により符号化対象の画素の平面表現を調査する。全てのそれらの4つの画素が同一平面に属する場合、図15に示される予測提供器150の予測計算機152は、3つの隣接画素のデプス値に基づいて画素に対するデプス値の予測値を計算する。好適な一実現例において、計算機152は、
Figure 2011512067
として予測値を計算する。
3つの隣接画素のいずれかが画素と同一の平面に属さない場合、セット選択器は、第1の隣接画素及び第2の画素が第1の隣接画素及び現在の画素と同一行(又は同一列)に存在するかを調査するのが好ましい。そのような場合、計算機152は、2つの画素のデプス値に基づいて、好ましくは
Figure 2011512067
として予測値を判定する。
第1の隣接画素及び第2の隣接画素のいずれかが現在の画素と同一の平面に属さない場合、セット選択器は、第2の隣接画素及び第3の画素が第2の隣接画素及び現在の画素と同一列(又は同一行)にあるかをチェックする。この条件が満たされる場合、予測計算機152は、それらの2つの画素のデプス値に基づいて、好ましくは
Figure 2011512067
として予測値を判定する。
あるいは、上記チェックの順序は上述したように異なってもよい。
しかし、条件がいずれも満たされない場合、セット選択器は、第1の隣接画素及び第2の隣接画素の双方が本発明と同一のデプス値平面に属するかを調査する。そのような場合、現在の画素のデプス値に最近接するそれら2つの画素のデプス値、すなわち結果として最小の絶対差分を与えるそれら2つの画素のデプス値は、予測提供器150により画素に対する予測値として選択される。更に圧縮システムのガイドビット提供器は、ガイドビットを画素に割り当てる。このガイドビットは、第1の隣接画素及び第2の隣接画素のうち選択された画素を示す。
あるいは、これら2つの画素のデプス値は比較され、それらのデプス値が互いに非常に異なるかを確認する。デプス値が互いに非常に異ならない場合、予測提供器150は、可能性として丸められた後の2つのデプス値の平均値に基づくように予測値を判定する。2つの値が規定された閾値を上回る程互いに異なる場合、上述したように、それらの値のいずれかが選択される。
第1の隣接画素及び第2の隣接画素のいずれかが現在の画素と同一の平面に属さない場合、セット選択器は、第1の隣接画素が同一の平面に属するかをチェックし、このチェックが肯定でない場合、第2の隣接画素が符号化する画素と同一の平面に属するかを調査する。予測提供器150は、画素と同一の平面に属する第1の隣接画素及び第2の隣接画素のうちの一方のデプス値と等しくなるようにデプス値の予測値を設定する。
最後に、平面表現に基づいて判定されるように、第1の隣接画素及び第2の隣接画素のいずれも画素と同一の平面に属さない場合、セット選択器は、開始画素又は再開画素を含むセットを判定する。それらの2つの画素から選択する画素は、現在の画素の平面表現に基づいて判定される。従って、表現が再開平面を示す場合、セットは再開画素を含み、示さない場合、セットは開始画素を含む。これは、予測提供器が開始デプス値及び再開デプス値の一方になるようにデプス値の予測値を選択することを意味する。
予測提供器150のユニット152は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット152は、予測提供器150に共に実現されてもよい。あるいは、ユニットの一部が圧縮システムの他の場所に提供される分散型実現例も可能である。
図16は、図12の表現判定器170の好適な一実現例を更に詳細に示すブロック図である。判定器170は、誤差変更器172を含む。この変更器172は、上述したように正の予測誤差を取得するために、計算された予測誤差を処理する。すなわち、負の予測誤差(ゼロを含む)の場合には予測誤差xを関数n(x)= −2xに入力し、正の予測誤差(ゼロを除く)の場合には予測誤差xを関数p(x)= 2x−1に入力する。結果として得られる変更された予測誤差は、好ましくはGolomb-Rice符号器174により符号化される。この符号器174は、誤差変更器172からの正の誤差の符号化に基づいて符号化予測誤差表現を出力する。
一般に符号器174は、値kを探索するための値探索器を含む。値kは、ブロック中の画素が同一の値kを共有するようにそれらの画素のグループに対して判定されるのが好ましい。これにより、ブロックの画素毎に専用の値kを有する場合と比較して最終的な圧縮ブロック表現のビット数が節約される。値探索器171は、0 ≦ k ≦ 15等の全ての利用可能な値kの間で全数探索を実行できる。最も効率的な符号化、すなわち最短の圧縮ブロック表現をもたらす値kが画素グループに対して選択及び使用される。
数値提供器173は、判定された値kに基づいて指数lを提供する。好適な一実施形態において、この数lは、セット選択器により選択される画素セットが複数の画素を含む場合にkに等しくなるように提供器173により判定される。複数の画素を含まない場合、l =w × k + h、又は、
Figure 2011512067
である。ここで、wは重み値であり、w=0.5であるのが好ましい。また、hは定数であり、h=10であるのが好ましい。
除算器175は、判定された値lを使用し、現在のグループの画素の予測誤差を数字2lで除算して、商及びlビットの余りを得る。アルファ符号器177は、周知の手順に従って商をアルファ符号化するために提供される。画素の符号化予測誤差表現は、アルファ符号化された商、余り及び値kを含む。
表現判定器170のユニット171〜177は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット171〜177は、表現判定器170に共に実現されてもよい。あるいは、いくつかのユニットが圧縮システムの他の場所に提供される分散型実現例も可能である。
[伸張器]
図17は、本発明に係る伸張器又は伸張システム200を示す概略ブロック図である。システム200は、画素ブロックの開始デプス値を提供する開始提供器210を含む。提供器210は、圧縮画素ブロックに含まれる開始値表現に基づいてこの開始値を提供する。この開始値は、画素ブロックにおいて事前定義済みの位置を有する画素のデプス値として割り当てられるのが好ましい。
再開提供器220は、それに応じて圧縮ブロックにおける情報に基づいて再開デプス値を提供する。この情報は、実際の再開値の表現を含む。また、圧縮ブロックは、ブロックにおける特定の再開位置の識別を可能にする情報を更に含む。この位置情報は、平面表現のビットマップであってもよく、あるいはより好ましくないが、専用の再開位置ワードであってもよい。識別された画素(再開画素)には、再開値がデプス値として割り当てられる。
システム200は、ブロックにおける少なくとも1つの画素に対する予測誤差を判定する誤差判定器230を更に含む。この予測誤差は、画素と関連付けられ且つブロックに含まれる符号化誤差表現に基づいて判定される。
セット選択器240は、画素と関連付けられる平面表現に基づいて、ブロック中の少なくとも1つの先に復号された他の画素を含む画素セットを選択する。これらの平面表現は、平面提供器270により圧縮画素ブロックから取り出されるのが好ましい。セット選択器240の動作は、図12の圧縮システムと関連し且つ図7A及び図7Bと更に関連して説明されるセット選択器240に類似する。
予測提供器250は、選択された画素セットに含まれる画素のデプス値に基づいて復号される画素のデプス値の予測値を提供する。
表現計算機260は、画素のデプス値の表現を計算し且つそれにより復号画素を生成するために、誤差判定器230からの予測誤差と共に予測提供器250からの予測値を使用する。
伸張システム200のユニット210〜270は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット210〜270は、伸張システム200に共に実現されてもよい。あるいは、いくつかのユニットがデプスバッファアーキテクチャの他の場所に提供される分散型実現例も可能である。
図18は、誤差判定器230の一実施形態を示す概略ブロック図である。判定器230は、圧縮ブロックにおける符号化予測誤差表現に対して動作するGolomb-Rice復号器232を含む。特に復号器232は、上述したように予測誤差を計算するために、アルファ符号化された商、lビットの余り及び画素の値kを使用する。
誤差判定器230のユニット232は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット232は、誤差判定器230に共に実現されてもよい。あるいは、ユニットの一部が伸張システムの他の場所に提供される分散型実現例も可能である。
図19は、図17の予測提供器250の可能な一実現例である。提供器は、セット選択器により選択された画素セットに含まれる複数の画素のデプス値に基づいてデプス値の予測を計算するように構成される予測計算機252を含む。計算機252は、選択される特定の画素セットに依存して図7AのステップS41、S43又はS45に関連して上述したように予測値を計算する。あるいは、予測提供器250は、図7BのステップS48、S51、S53又はS54で開示されるようにデプス値の予測値を提供する。
予測提供器250のユニット252は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット252は、予測提供器250に共に実現されてもよい。あるいは、ユニットの一部が伸張システムの他の場所に提供される分散型実現例も可能である。
特定の一実施形態において、圧縮又は伸張システムのセット選択器は、圧縮又は伸張される少なくとも1つの画素に対するブロックにおける第1の予測方向に存在する第1の隣接画素、少なくとも1つの画素に対するブロックにおける第2の予測方向に存在する第2の隣接画素及び前記少なくとも1つの画素に対するブロックにおける第3の予測方向に存在する第3の隣接画素が平面表現に基づいて判定されるように少なくとも1つの画素と同一のデプス値平面に属する場合、第1の隣接画素、第2の隣接画素及び第3の隣接画素を含むように画素セットを選択するように構成される。
そのような場合、圧縮又は伸張システムの予測提供器は、第1の隣接画素及び第2の隣接画素のデプス値の合計から第3の隣接画素のデプス値を減算した値に等しくなるように予測値を計算する予測計算機を含む。
別の特定の実施形態において、セット選択器は、少なくとも1つの画素に対するブロックにおける第1の予測方向に存在する第1の隣接画素及び第1の予測方向の第2の画素が平面表現に基づいて判定されるように少なくとも1つの画素と同一のデプス値平面に属する場合、第1の隣接画素及び第2の画素を含むように画素セットを選択するように構成される。
そのような場合、予測提供器は、第1の隣接画素のデプス値を2倍した値から第2の画素のデプス値を減算した値に等しくなるように予測値を計算する予測計算機を含む。
更なる特定の一実施形態において、セット選択器は、少なくとも1つの画素に対するブロックにおける第2の予測方向に存在する第2の隣接画素及び第2の予測方向の第3の画素が平面表現に基づいて判定されるように少なくとも1つの画素と同一のデプス値平面に属する場合、第2の隣接画素及び第3の画素を含むように画素セットを選択するように構成される。
そのような場合、予測提供器は、第2の隣接画素のデプス値を2倍した値から前記第3の画素のデプス値を減算した値に等しくなるように予測値を計算する予測計算機を含む。
セット選択器は、前記平面表現に基づいて判定されるように、第1の隣接画素、第2の隣接画素及び第3の隣接画素のいずれかが前記少なくとも1つの画素と同一のデプス値平面に属さない場合、並びに第1の隣接画素及び第2の画素のいずれかが少なくとも1つの画素と同一のデプス値平面に属さない場合、並びに第2の隣接画素及び第3の画素のいずれかが少なくとも1つの画素と同一のデプス値平面に属さず且つ第1の隣接画素及び第2の隣接画素が少なくとも1つの画素と同一のデプス値平面に属する場合、第1の隣接画素及び第2の隣接画素のうちの一方を含むように画素セットを選択するように構成されるのが好ましい。圧縮システムは、第1の隣接画素及び第2の隣接画素のうち選択された画素と関連付けられるガイドビットを提供するガイド提供器を更に含む。ブロックの圧縮表現はガイドビットを含む。
伸張システムのセット選択器は、平面表現に基づいて判定されるように、第1の隣接画素、第2の隣接画素及び第3の隣接画素のいずれかが少なくとも1つの画素と同一のデプス値平面に属さない場合、並びに第1の隣接画素及び第2の画素のいずれかが少なくとも1つの画素と同一のデプス値平面に属さない場合、並びに第2の隣接画素及び第3の画素のいずれかが少なくとも1つの画素と同一のデプス値平面に属さず且つ第1の隣接画素及び第2の隣接画素が少なくとも1つの画素と同一のデプス値平面に属する場合、少なくとも1つの画素に割り当てられ且つ圧縮画素ブロックに含まれるガイドビットに基づいて、第1の隣接画素及び第2の隣接画素のうちの一方を含むように画素セットを選択するように構成されるのが好ましい。
更にセット選択器は、平面表現に基づいて判定されるように、第1の隣接画素、第2の隣接画素及び第3の隣接画素のいずれかが少なくとも1つの画素と同一のデプス値平面に属さない場合、並びに第1の隣接画素及び第2の画素のいずれかが少なくとも1つの画素と同一のデプス値平面に属さない場合、並びに第2の隣接画素及び第3の画素のいずれかが少なくとも1つの画素と同一のデプス値平面に属さない場合、並びに第2の隣接画素が少なくとも1つの画素と同一のデプス値平面に属さず且つ第1の隣接画素が少なくとも1つの画素と同一のデプス値平面に属する場合、第1の隣接画素を含むように画素セットを選択するように構成されるのが好ましい。
セット選択器は、平面表現に基づいて判定されるように、第1の隣接画素、第2の隣接画素及び第3の隣接画素のいずれかが少なくとも1つの画素と同一のデプス値平面に属さない場合、並びに第1の隣接画素及び第2の画素のいずれかが少なくとも1つの画素と同一のデプス値平面に属さない場合、並びに第2の隣接画素及び第3の画素のいずれかが少なくとも1つの画素と同一のデプス値平面に属さない場合、並びに第1の隣接画素が少なくとも1つの画素と同一のデプス値平面に属さない場合、並びに第2の隣接画素が少なくとも1つの画素と同一のデプス値平面に属さない場合、開始デプス値又は再開デプス値と関連付けられる画素を含むように画素セットを選択するように更に構成されるのが好ましい。
図20は、種々の解像度に対する「影」のシーンの圧縮性能を示す図である。100%は元の帯域幅を表す。破線はHasselgren及びAkenine-Mollerの非特許文献2により提示されるデプスバッファ圧縮方式に対応し、実線は本発明のデプスバッファ圧縮を表す。尚、本発明は、最も高い解像度以外の全ての解像度に対して当該技術の現状より適切に実行が行える。
種々のサイズの三角形に対して性能をテストするために、同一シーンが複数の解像度で使用されている。低解像度は、三角形が画素と比較して小さいこと、すなわち「複雑さの高い」種類のシーンを意味する。高解像度は、三角形が画素と比較して大きいことを意味し、「複雑さの低い」種類のシーンを表す。
添付の請求の範囲により規定される本発明の範囲から逸脱せずに、種々の変形及び変更が本発明に対して行なわれてもよいことが当業者には理解されるだろう。

Claims (22)

  1. 各々がデプス値を含む複数の画素のブロックを圧縮する方法であって:
    前記ブロックにおける複数のデプス値のうち第1のデプス値平面に属する開始デプス値を選択するステップと;
    前記ブロックにおける前記複数のデプス値のうち第2のデプス値平面に属する再開デプス値を選択するステップと;
    前記複数の画素の少なくとも一部分に対して、前記第1のデプス値平面及び前記第2のデプス値平面のうち、前記複数の画素の前記少なくとも一部分が属する平面を示す平面表現を生成するステップと;
    前記ブロックにおける少なくとも1つの画素に対して、前記少なくとも1つの画素及び少なくとも1つの他の画素の画素セットの平面表現に基づいて画素セットを選択するステップと;
    前記選択された画素セットの少なくとも1つのデプス値に基づいて前記少なくとも1つの画素のデプス値の予測値を提供するステップと;
    前記少なくとも1つの画素の前記デプス値及び前記予測値に基づいて予測誤差を推定するステップと;
    前記予測誤差の符号化表現を判定するステップとを有し、
    前記ブロックの圧縮表現は前記開始デプス値の表現、前記再開デプス値の表現及び前記予測誤差の前記符号化表現を含むことを特徴とする方法。
  2. 前記再開デプス値を選択する前記ステップは:
    前記ブロックにおける前記複数のデプス値のうち前記開始デプス値と最も異なるデプス値を識別するステップと;
    前記複数の画素の少なくとも一部分に対して、画素のデプス値と前記開始デプス値との間の第1の差分を判定するステップと;
    前記複数の画素の前記少なくとも一部分に対して、前記画素の前記デプス値と前記識別されたデプス値との間の第2の差分を判定するステップと;
    前記判定した第1の差分及び前記判定した第2の差分に基づいて前記再開デプス値を選択するステップとを含む
    ことを特徴とする請求項1に記載の方法。
  3. 前記生成するステップは:
    画素のデプス値と前記開始デプス値との間の第1の差分を判定するステップと;
    前記画素の前記デプス値と、前記開始デプス値に対して最も異なる前記ブロックのデプス値との間の第2の差分を判定するステップと;
    前記第1の差分の絶対値が前記第2の差分の絶対値より小さい場合に前記第1のデプス値平面を示す前記平面表現を生成し、前記第1の差分の絶対値が前記第2の差分の絶対値より小さくない場合に前記第2のデプス値平面を示す前記平面表現を生成するステップと
    を含むことを特徴とする請求項1又は2に記載の方法。
  4. 前記判定するステップは:
    正の予測誤差を得るために前記予測誤差を変更するステップと;
    前記予測誤差の前記符号化表現を得るために前記正の予測誤差をGolomb-Rice符号化するステップであって、当該ステップは、
    値がゼロ又は正の整数である値kを探索するステップと、
    hが事前定義済みの定数、wが事前定義済みの重みとしたとき、前記選択された画素セットが複数の画素を含む場合はkに等しく、複数の画素を含まない場合はw×k+hに基づく数lを提供し、
    商及び余りを形成するために前記正の予測誤差を2lで除算し、
    前記商をアルファ符号化することによりGolomb-Rice符号化するステップと
    を含み、前記予測誤差の前記符号化表現は前記余りの表現及び前記アルファ符号化された商を含み、前記ブロックの前記圧縮表現はkの表現を含むことを特徴とする請求項1乃至3のいずれか1項に記載の方法。
  5. 圧縮画素ブロックを伸張する方法であって:
    前記圧縮画素ブロックに含まれる開始値表現に基づいて第1のデプス値平面に属する開始デプス値を提供するステップと;
    前記圧縮画素ブロックに含まれる再開値表現に基づいて第2のデプス値平面に属する再開デプス値を提供するステップと;
    前記ブロックの少なくとも1つの画素に対して、前記少なくとも1つの画素と関連付けられ且つ前記圧縮画素ブロックに含まれる符号化誤差表現に基づいて予測誤差を判定するステップと;
    前記少なくとも1つの画素に対して、前記第1のデプス値平面及び前記第2のデプス値平面のうち画素が属する平面を示し且つ前記少なくとも1つの画素及び前記ブロックの少なくとも1つの他の画素を含む画素セットと関連付けられる平面表現に基づいて前記画素セットを選択するステップと;
    前記選択された画素セットの前記少なくとも1つのデプス値に基づいて前記少なくとも1つの画素のデプス値の予測値を提供するステップと;
    前記予測誤差及び前記予測値に基づいて前記少なくとも1つの画素の前記デプス値の表現を計算するステップと
    を有することを特徴とする方法。
  6. 更に、前記複数の画素の少なくとも一部分に対して、前記圧縮画素ブロックから平面表現を提供するステップを含むことを特徴とする請求項5に記載の方法。
  7. 前記画素セットを選択する前記ステップは、前記少なくとも1つの画素に対する前記ブロック(300)における第1の予測方向に存在する第1の隣接画素、前記少なくとも1つの画素に対する前記ブロックにおける第2の予測方向に存在する第2の隣接画素、及び、前記少なくとも1つの画素に対する前記ブロックにおける第3の予測方向に存在する第3の隣接画素が前記平面表現に基づいて判定されるように前記少なくとも1つの画素と同一のデプス値平面に属する場合、前記第1の隣接画素、前記第2の隣接画素及び前記第3の隣接画素を含むように前記画素セットを選択するステップを含むことを特徴とする請求項1乃至6のいずれか1項に記載の方法。
  8. 前記予測値を提供する前記ステップは、前記第1の隣接画素及び前記第2の隣接画素のデプス値の合計から前記第3の隣接画素のデプス値を減算した値と等しくなるように前記予測値を計算するステップを含むことを特徴とする請求項7に記載の方法。
  9. 前記画素セットを選択する前記ステップは、前記平面表現に基づいて判定されるように、前記少なくとも1つの画素に対する前記ブロックにおける第1の予測方向に存在する第1の隣接画素及び前記第1の予測方向の第2の画素が前記少なくとも1つの画素と同一のデプス値平面に属する場合、前記第1の隣接画素及び前記第2の画素を含むように前記画素セットを選択するステップを含むことを特徴とする請求項1乃至8のいずれか1項に記載の方法。
  10. 前記予測値を提供する前記ステップは、前記第1の隣接画素のデプス値を2倍した値から前記第2の画素のデプス値を減算した値に等しくなるように前記予測値を計算するステップを含むことを特徴とする請求項9に記載の方法。
  11. 前記画素セットを選択する前記ステップは、前記平面表現に基づいて判定されるように、前記少なくとも1つの画素に対する前記ブロックにおける第2の予測方向に存在する第2の隣接画素及び前記第2の予測方向の第3の画素が前記少なくとも1つの画素と同一のデプス値平面に属する場合、前記第2の隣接画素及び前記第3の画素を含むように前記画素セットを選択するステップを含むことを特徴とする請求項1乃至10のいずれか1項に記載の方法。
  12. 前記予測値を提供する前記ステップは、前記第2の隣接画素のデプス値を2倍した値から前記第3の画素のデプス値を減算した値に等しくなるように前記予測値を計算するステップを含むことを特徴とする請求項11に記載の方法。
  13. 前記画素セットを選択する前記ステップは:
    前記平面表現に基づいて判定されるように、前記第1の隣接画素、前記第2の隣接画素及び前記第3の隣接画素のいずれかが前記少なくとも1つの画素と同一のデプス値平面に属さない場合、並びに、前記第1の隣接画素及び前記第2の画素のいずれかが前記少なくとも1つの画素と同一のデプス値平面に属さない場合、並びに、前記第2の隣接画素及び前記第3の画素のいずれかが前記少なくとも1つの画素と同一のデプス値平面に属さず且つ前記第1の隣接画素及び前記第2の隣接画素が前記少なくとも1つの画素と同一のデプス値平面に属する場合、前記第1の隣接画素及び前記第2の隣接画素のうちの一方を含むように前記画素セットを選択するステップと;
    前記第1の隣接画素及び前記第2の隣接画素のうち前記選択された画素と関連付けられるガイドビットを提供するステップとを含み、前記ブロックの前記圧縮表現は前記ガイドビットを含むことを特徴とする請求項7乃至12のいずれか1項に記載の方法。
  14. 前記画素セットを選択する前記ステップは、前記平面表現に基づいて判定されるように、前記第1の隣接画素、前記第2の隣接画素及び前記第3の隣接画素のいずれかが前記少なくとも1つの画素と同一のデプス値平面に属さない場合、並びに、前記第1の隣接画素及び前記第2の画素のいずれかが前記少なくとも1つの画素と同一のデプス値平面に属さない場合、並びに、前記第2の隣接画素及び前記第3の画素のいずれかが前記少なくとも1つの画素と同一のデプス値平面に属さず且つ前記第1の隣接画素及び前記第2の隣接画素が前記少なくとも1つの画素と同一のデプス値平面に属する場合、前記画素に割り当てられ且つ前記圧縮画素ブロックに含まれるガイドビットに基づいて前記第1の隣接画素及び前記第2の隣接画素のうちの一方を含むように前記画素セットを選択するステップを含むことを特徴とする請求項7乃至12のいずれか1項に記載の方法。
  15. 前記画素セットを選択する前記ステップは、前記平面表現に基づいて判定されるように、前記第1の隣接画素、前記第2の隣接画素及び前記第3の隣接画素のいずれかが前記少なくとも1つの画素と同一のデプス値平面に属さない場合、並びに、前記第1の隣接画素及び前記第2の画素いずれかが前記少なくとも1つの画素と同一のデプス値平面に属さない場合、並びに、前記第2の隣接画素及び前記第3の画素のいずれかが前記少なくとも1つの画素と同一のデプス値平面に属さない場合、並びに、前記第2の隣接画素が前記少なくとも1つの画素と同一のデプス値平面に属さず且つ前記第1の隣接画素が前記少なくとも1つの画素と同一のデプス値平面に属する場合、前記第1の隣接画素を含むように前記画素セットを選択するステップを含むことを特徴とする請求項13又は14に記載の方法。
  16. 前記画素セットを選択する前記ステップは、前記平面表現に基づいて判定されるように、前記第1の隣接画素、前記第2の隣接画素及び前記第3の隣接画素のいずれかが前記少なくとも1つの画素と同一のデプス値平面に属さない場合、並びに、前記第1の隣接画素及び前記第2の画素のいずれかが前記少なくとも1つの画素と同一のデプス値平面に属さない場合、並びに、前記第2の隣接画素及び前記第3の画素のいずれかが前記少なくとも1つの画素と同一のデプス値平面に属さない場合、並びに、前記第1の隣接画素が前記少なくとも1つの画素と同一のデプス値平面に属さない場合、並びに、前記第2の隣接画素が前記少なくとも1つの画素と同一のデプス値平面に属さない場合、前記開始デプス値又は前記再開デプス値と関連付けられる画素を含むように前記画素セットを選択するステップを含むことを特徴とする請求項15に記載の方法。
  17. 各々がデプス値を含む複数の画素のブロックを圧縮するブロック圧縮システムであって:
    前記ブロックにおける前記複数のデプス値のうち第1のデプス値平面に属する開始デプス値を選択する開始選択器と;
    前記ブロックにおける前記複数のデプス値のうち第2のデプス値平面に属する再開デプス値を選択する再開選択器と;
    前記複数の画素の少なくとも一部分に対して、前記第1のデプス値平面及び前記第2のデプス値平面のうち前記複数の画素の前記少なくとも一部分が属する平面を示す平面表現を生成する平面表現生成器と;
    前記ブロックにおける少なくとも1つの画素に対して、前記少なくとも1つの画素及び少なくとも1つの他の画素の画素セットの平面表現に基づいて前記画素セットを選択するセット選択器と;
    前記選択された画素セットの少なくとも1つのデプス値に基づいて前記少なくとも1つの画素のデプス値の予測値を提供する予測提供器と;
    前記少なくとも1つの画素の前記デプス値及び前記予測値に基づいて予測誤差を推定する誤差推定器と;
    前記予測誤差の符号化表現を判定する表現判定器とを具備し、
    前記ブロックの圧縮表現は前記開始デプス値の表現、前記再開値の表現及び前記予測誤差の前記符号化表現を含むことを特徴とするシステム。
  18. 前記再開選択器は:
    前記ブロックにおける前記複数のデプス値のうち前記開始デプス値と最も異なるデプス値を識別する値識別器と;
    前記複数の画素の少なくとも一部分に対して、画素のデプス値と前記開始デプス値との間の第1の差分、及び、前記画素の前記デプス値と前記識別されたデプス値との間の第2の差分を判定する差分計算機と;
    前記判定した第1の差分及び前記判定した第2の差分に基づいて前記再開デプス値を選択する値選択器とを含むことを特徴とする請求項17に記載のシステム。
  19. 前記平面表現生成器は:
    画素のデプス値と前記開始デプス値との間の第1の差分を判定し、前記画素の前記デプス値と前記開始デプス値と最も異なる前記ブロックのデプス値との間の第2の差分を判定する差分判定器と;
    前記第1の差分が前記第2の差分の絶対値より小さい場合に前記第1のデプス値平面を示す前記平面表現を生成し、前記第1の差分が前記第2の差分より小さくない場合に前記第2のデプス値平面を示す前記平面表現を生成する表現生成器とを含むことを特徴とする請求項17又は18に記載のシステム。
  20. 表現判定器は:
    正の予測誤差を得るために前記予測誤差を変更する誤差変更器と;
    Golomb-Rice符号器とを有し、当該Golomb-Rice符号器は、
    ゼロ又は正の整数である場合に値kを探索する値探索器と;
    hが事前定義済みの定数、wが事前定義済みの重みであるとしたとき、前記選択された画素セットが複数の画素を含む場合はkに等しく、複数の画素を含まない場合はw×k+hに基づく数lを提供する数値提供器と;
    商及び余りを形成するために前記正の予測誤差を2lで除算する除算器と;
    前記商をアルファ符号化するアルファ符号器とを含み、前記予測誤差の前記符号化表現は前記余りの表現及び前記アルファ符号化された商を含み、前記ブロックの前記圧縮表現はkの表現を含むことを特徴とする請求項17乃至19のいずれか1項に記載のシステム。
  21. 圧縮画素ブロックを伸張するブロック伸張システムであって:
    前記圧縮画素ブロックに含まれる開始値表現に基づいて第1のデプス値平面に属する開始デプス値を提供する開始提供器と;
    前記圧縮画素ブロックに含まれる再開値表現に基づいて第2のデプス値平面に属する再開デプス値を提供する再開提供器と;
    前記ブロックの少なくとも1つの画素に対して、前記少なくとも1つの画素と関連付けられ且つ前記圧縮画素ブロックに含まれる符号化誤差表現に基づいて予測誤差を判定する誤差判定器と;
    前記少なくとも1つの画素に対して、前記第1のデプス値平面及び前記第2のデプス値平面のうち画素が属する平面を示し且つ前記少なくとも1つの画素及び前記ブロックの少なくとも1つの他の画素を含む画素セットと関連付けられる平面表現に基づいて前記画素セットを選択するセット選択器と;
    前記選択された画素セットの前記少なくとも1つのデプス値に基づいて前記少なくとも1つの画素のデプス値の予測値を提供する予測提供器と;
    前記予測誤差及び前記予測値に基づいて前記少なくとも1つの画素の前記デプス値の表現を計算する表現計算機と
    を具備することを特徴とするシステム。
  22. 更に、前記複数の画素の少なくとも一部分に対して、前記圧縮画素ブロックから平面表現を提供する平面提供器を具備することを特徴とする請求項21に記載の記載のシステム。
JP2010542538A 2008-01-21 2008-05-06 画素のブロックを圧縮する方法及びシステム Expired - Fee Related JP5302336B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US2239708P 2008-01-21 2008-01-21
US61/022,397 2008-01-21
PCT/EP2008/055519 WO2009092454A1 (en) 2008-01-21 2008-05-06 Prediction-based image processing

Publications (2)

Publication Number Publication Date
JP2011512067A true JP2011512067A (ja) 2011-04-14
JP5302336B2 JP5302336B2 (ja) 2013-10-02

Family

ID=40435061

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010542538A Expired - Fee Related JP5302336B2 (ja) 2008-01-21 2008-05-06 画素のブロックを圧縮する方法及びシステム

Country Status (6)

Country Link
US (1) US8311353B2 (ja)
EP (1) EP2245596B1 (ja)
JP (1) JP5302336B2 (ja)
CN (1) CN101925925B (ja)
TW (1) TWI466066B (ja)
WO (1) WO2009092454A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013031575A1 (ja) * 2011-08-31 2013-03-07 ソニー株式会社 画像処理装置および画像処理方法
WO2013031573A1 (ja) * 2011-08-31 2013-03-07 ソニー株式会社 符号化装置および符号化方法、復号装置および復号方法
WO2013115024A1 (ja) * 2012-01-31 2013-08-08 ソニー株式会社 画像処理装置および画像処理方法
US8947274B2 (en) 2012-06-21 2015-02-03 Mitsubishi Electric Corporation Encoding apparatus, decoding apparatus, encoding method, encoding program, decoding method, and decoding program
JP2016514426A (ja) * 2013-03-05 2016-05-19 クゥアルコム・インコーポレイテッドQualcomm Incorporated ビュー内でのおよびビューにわたる深度ルックアップテーブルの予測コーディング
US9615079B2 (en) 2011-03-18 2017-04-04 Sony Corporation Image processing apparatus and image processing method

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI385592B (zh) * 2009-09-14 2013-02-11 Univ Nat Pingtung Sci & Tech 編碼簿產生方法
CN106358045B (zh) 2010-04-13 2019-07-19 Ge视频压缩有限责任公司 解码器、解码方法、编码器以及编码方法
TWI815295B (zh) 2010-04-13 2023-09-11 美商Ge影像壓縮有限公司 樣本區域合併技術
CN106412608B (zh) 2010-04-13 2019-10-08 Ge视频压缩有限责任公司 用于解码、生成数据流的方法和解码器
BR112012026391B1 (pt) 2010-04-13 2020-12-15 Ge Video Compression, Llc Herança em amostra de arranjo em subdivisão multitree
KR20120023431A (ko) * 2010-09-03 2012-03-13 삼성전자주식회사 깊이 조정이 가능한 2차원/3차원 영상 변환 방법 및 그 장치
GB2487421A (en) 2011-01-21 2012-07-25 Imagination Tech Ltd Tile Based Depth Buffer Compression
CN103518227B (zh) * 2011-04-28 2017-09-15 英特尔公司 用于随机运动模糊栅格化的深度缓冲器压缩
EP2744201A4 (en) * 2011-08-09 2016-03-23 Samsung Electronics Co Ltd METHOD AND DEVICE FOR CODING A DEPTH CARD OF VIDEO DATA WITH MULTIPLE VIEWPOINTS AND METHOD AND DEVICE FOR DECODING THE CODED DEPTH CARD
PT2805419T (pt) * 2012-01-20 2017-09-01 Ge Video Compression Llc Codificação e descodificação de coeficiente de transformada
US20130265305A1 (en) * 2012-04-04 2013-10-10 Jon N. Hasselgren Compressed Depth Cache
TWI549487B (zh) 2012-04-15 2016-09-11 三星電子股份有限公司 對視訊進行解碼的方法
TW201421972A (zh) * 2012-11-23 2014-06-01 Ind Tech Res Inst 立體視訊的編碼方法及其系統
US9501864B2 (en) * 2013-12-27 2016-11-22 Intel Corporation Adaptive depth offset compression
CN104349165B (zh) * 2014-09-16 2017-06-16 上海通途半导体科技有限公司 高性能变长编解码方法及装置
US11593658B2 (en) * 2017-10-20 2023-02-28 Shanghai Cambricon Information Technology Co., Ltd Processing method and device
US10657439B2 (en) * 2017-10-24 2020-05-19 Shanghai Cambricon Information Technology Co., Ltd Processing method and device, operation method and device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030038803A1 (en) * 2001-08-23 2003-02-27 Ati Technologies System, Method, and apparatus for compression of video data using offset values

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9613039D0 (en) * 1996-06-21 1996-08-28 Philips Electronics Nv Image data compression for interactive applications
WO1998001824A1 (fr) * 1996-07-04 1998-01-15 Sega Enterprises, Ltd. Processeur d'images, jeux video, procede d'affichage d'images et support d'enregistrement
JPH10334270A (ja) * 1997-05-28 1998-12-18 Mitsubishi Electric Corp 動作認識装置及び動作認識プログラムを記録した記録媒体
US6335997B1 (en) * 1999-10-18 2002-01-01 John T. S. Lee Device and method for attenuating a low-level light source over a very wide dynamic range
CN1744719A (zh) * 2002-04-09 2006-03-08 Lg电子株式会社 块的预测方法
JP4784188B2 (ja) * 2005-07-25 2011-10-05 ソニー株式会社 画像処理装置、画像処理方法およびプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030038803A1 (en) * 2001-08-23 2003-02-27 Ati Technologies System, Method, and apparatus for compression of video data using offset values

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN5011008580; HASSELGREN J,et.al.: 'EFFICIENT DEPTH BUFFER COMPRESSION' COMPUTER GRAPHICS 2006 , 20060903, P1-8, ACM New York,NY,USA *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10218958B2 (en) 2011-03-18 2019-02-26 Sony Corporation Image processing apparatus and image processing method
US10389997B2 (en) 2011-03-18 2019-08-20 Sony Corporation Image processing apparatus and image processing method
US9615079B2 (en) 2011-03-18 2017-04-04 Sony Corporation Image processing apparatus and image processing method
US9712802B2 (en) 2011-03-18 2017-07-18 Sony Corporation Image processing apparatus and image processing method
WO2013031573A1 (ja) * 2011-08-31 2013-03-07 ソニー株式会社 符号化装置および符号化方法、復号装置および復号方法
WO2013031575A1 (ja) * 2011-08-31 2013-03-07 ソニー株式会社 画像処理装置および画像処理方法
JPWO2013031575A1 (ja) * 2011-08-31 2015-03-23 ソニー株式会社 画像処理装置および画像処理方法
US9900595B2 (en) 2011-08-31 2018-02-20 Sony Corporation Encoding device, encoding method, decoding device, and decoding method
WO2013115024A1 (ja) * 2012-01-31 2013-08-08 ソニー株式会社 画像処理装置および画像処理方法
JPWO2013115024A1 (ja) * 2012-01-31 2015-05-11 ソニー株式会社 画像処理装置、画像処理方法、プログラム、および記録媒体
US8947274B2 (en) 2012-06-21 2015-02-03 Mitsubishi Electric Corporation Encoding apparatus, decoding apparatus, encoding method, encoding program, decoding method, and decoding program
US10271034B2 (en) 2013-03-05 2019-04-23 Qualcomm Incorporated Simplified depth coding
JP2016514426A (ja) * 2013-03-05 2016-05-19 クゥアルコム・インコーポレイテッドQualcomm Incorporated ビュー内でのおよびビューにわたる深度ルックアップテーブルの予測コーディング

Also Published As

Publication number Publication date
EP2245596B1 (en) 2017-07-12
TWI466066B (zh) 2014-12-21
TW200935359A (en) 2009-08-16
EP2245596A1 (en) 2010-11-03
US8311353B2 (en) 2012-11-13
US20100296746A1 (en) 2010-11-25
CN101925925A (zh) 2010-12-22
WO2009092454A1 (en) 2009-07-30
JP5302336B2 (ja) 2013-10-02
CN101925925B (zh) 2013-05-01

Similar Documents

Publication Publication Date Title
JP5302336B2 (ja) 画素のブロックを圧縮する方法及びシステム
JP5214742B2 (ja) 予測に基づく画像処理
US8331664B2 (en) Prediction-based image processing
KR100819597B1 (ko) 멀티모드 알파 이미지 처리 방법 및 장치
US8396309B2 (en) Index-based pixel block processing
US8107753B2 (en) Prediction-based image processing
JP4805924B2 (ja) マルチモード画像処理のための方法、システム、及びシステムを具備するユーザ端末
KR101707463B1 (ko) 가변 깊이 압축
US10930020B2 (en) Texture compression using a neural network
JP4743884B2 (ja) 画像符号化装置及びその制御方法
CN117813822A (zh) 几何点云编解码中的属性编解码
JP2018117239A (ja) 動画データの圧縮装置、動画データの圧縮方法
JP2002326401A (ja) 描画処理装置および描画処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130501

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130620

R150 Certificate of patent or registration of utility model

Ref document number: 5302336

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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