JP2020519042A - ビデオへのデルタカラー圧縮の適用 - Google Patents

ビデオへのデルタカラー圧縮の適用 Download PDF

Info

Publication number
JP2020519042A
JP2020519042A JP2019546114A JP2019546114A JP2020519042A JP 2020519042 A JP2020519042 A JP 2020519042A JP 2019546114 A JP2019546114 A JP 2019546114A JP 2019546114 A JP2019546114 A JP 2019546114A JP 2020519042 A JP2020519042 A JP 2020519042A
Authority
JP
Japan
Prior art keywords
bit
pixel data
pixel
compressed block
container
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
JP2019546114A
Other languages
English (en)
Other versions
JP7169284B2 (ja
Inventor
チャン アンソニー
チャン アンソニー
ジェイ. ブレナン クリストファー
ジェイ. ブレナン クリストファー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ATI Technologies ULC
Advanced Micro Devices Inc
Original Assignee
ATI Technologies ULC
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from EP17159108.4A external-priority patent/EP3367683A1/en
Application filed by ATI Technologies ULC, Advanced Micro Devices Inc filed Critical ATI Technologies ULC
Publication of JP2020519042A publication Critical patent/JP2020519042A/ja
Application granted granted Critical
Publication of JP7169284B2 publication Critical patent/JP7169284B2/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
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Generation (AREA)

Abstract

画素データを圧縮するためのシステム、装置及び方法が開示される。一実施形態では、画素データのブロックが定数値に等しい場合、プロセッサは、画素データのブロック全体に対して定数値を指定するメタデータ値までブロックを圧縮する。また、プロセッサは、定数値がビデオ固有の典型的な最小値又は最大値と等しいかどうかを検出する。別の実施形態では、プロセッサは、Nビットコンテナ内で整列された最上位ビット(MSB)である複数のMビット画素成分を受信する。次に、プロセッサは、Mビット画素成分をNビットコンテナの最下位ビット位置までシフトする。次いで、プロセッサは、NビットコンテナをMビットコンテナに変換する。次に、プロセッサは、Mビットコンテナを圧縮して画素データの圧縮ブロックを生成し、メモリサブシステムに記憶する。【選択図】図3

Description

グラフィックス処理ユニット(GPU)は、グラフィックス処理タスクを実行するように構成された複雑な集積回路である。例えば、GPUは、ビデオゲームアプリケーション等のエンドユーザアプリケーションに必要なグラフィックス処理タスクを実行することができる。GPUは、個別のデバイスであってもよいし、中央処理装置(CPU)等の別のプロセッサと同じデバイスに含めることもできる。GPUは、レンダリングと呼ばれる処理において、コンポーネントの上位レベルの記述から、画像を構成する画素を生成する。GPUは、通常、コンピューティング要素の使用による連続的なレンダリングの概念を利用して、画素、テクスチャ及び幾何学データを処理する。コンピューティング要素は、ラスタライザ、セットアップエンジン、カラーブレンダ、隠面消去、テクスチャマッピング等の機能を実行することができる。これらのコンピューティング要素は、多くの場合、シェーダ、シェーダプロセッサ、シェーダアレイ、シェーダユニット、シェーダエンジン等と呼ばれ、「シェーダ」は、レンダリングエフェクトを実行するためにグラフィックスリソースによって使用されるソフトウェア命令のセット又はプログラムを指す、コンピュータグラフィックスにおける用語である。また、「シェーダ」は、ソフトウェア命令を実行するために使用される実際のハードウェアコンポーネント又はプロセッサを指すこともある。シェーダプロセッサ又はプログラムは、データを読み出してレンダリングし、任意のタイプのデータの処理を実行することができる。
複雑なグラフィックスシーンの生成に含まれる処理の多くが、テクスチャデータを含む。テクスチャは、色、透明度、ルックアップテーブル又は他のデータ等の様々なタイプのデータのうち何れかであってもよい。いくつかの実施形態では、テクスチャは、視覚的詳細を追加するために幾何学的形状に描かれるデジタル画像であってもよい。モデルをレンダリングして目的の画像を生成する場合、テクスチャを使用することにより、大量の詳細をグラフィカルモデルの表面にマッピングすることができる。テクスチャマッピングの目的は、オブジェクトの表面にリアルな外観を提供することである。テクスチャは、色、鏡面反射等の表面プロパティ、又は、法線マップ又はバンプマップの形式での細かい表面の詳細等の多くのプロパティを指定することができる。また、テクスチャは、画像データ、色又は透明度データ、粗度/平滑度データ、反射率データ等であってもよい。
テクスチャ及び表面において、最小の情報項目は、「画素」と呼ばれる。便宜上、画素は、通常、規則的な2次元グリッドに配列される。このような構成を使用することによって、同じ操作を各画素に均一に個別に適用することで多くの共通の操作を実施することができる。特定の色を表すために、各画素は3つの値を有することができ、それぞれ所望の色に存在する赤、緑、青の量に対応する。いくつかの画素フォーマットは、画素の透明度を表すアルファと呼ばれる4番目の値を含むことができる。このフォーマットは、通常、ARGB又はRGBAと呼ばれる。画素の色を表す別のフォーマットは、YCbCrである。ここで、Yは、画素の輝度または明度に対応し、Cb及びCrは、青の色差(Cb)及び赤の色差(Cr)を表す2つの色差クロミナンス成分に対応する。ソース画素の個別の値を、本明細書では「画素成分」(例えば、赤の画素成分、青の画素成分、青の色差彩度画素成分、輝度画素成分)と呼ぶことができる。
3Dコンピュータグラフィックスでは、オブジェクトの表面の詳細は、通常、テクスチャを使用して追加される。例えば、煉瓦の壁の2Dビットマップ画像を、テクスチャマッピングを使用して、建物の3Dモデルを表すポリゴンのセットに適用し、当該オブジェクトの3Dレンダリングに対して煉瓦で作られたという外観を与えることができる。通常、リアルなコンピュータグラフィックスを提供するには、高品質で詳細なテクスチャを多く必要とする。テクスチャを使用すると大量のストレージスペース及び帯域幅を消費する場合があるので、テクスチャを圧縮してストレージスペース及び帯域幅の使用を削減することができる。
テスクチャ及び表面を圧縮すると、元のテクスチャ及び表面の品質を可能な限り維持しながら、グラフィックスシステムのストレージ及び帯域幅のコストを低減することができる。グラフィックス処理の制限の1つは、メモリ又はキャッシュの帯域幅によってGPUがフル機能に到達できないということである。GPUによる処理のためにメモリ又はキャッシュからフェッチされるデータ量を減らすために、圧縮を使用することができる。しかしながら、既存のタイプの圧縮は、GPUで処理されているテクスチャ及び表面の圧縮にあまり適していない。
本明細書で説明する方法及びメカニズムの利点は、添付の図面と共に以下の説明を参照することによって、より良く理解することができる。
コンピューティングシステムの一実施形態のブロック図である。 グラフィックス処理ユニット(GPU)の一実施形態のブロック図である。 画素データを圧縮する技術の一実施形態のブロック図である。 黒及び白の画素値の符号化値を指定する2つのテーブルを示す図である。 画素データを圧縮する方法の一実施形態を示す一般化されたフロー図である。 画素データの圧縮ブロックを復元する方法の一実施形態を示す一般化されたフロー図である。 一定の画素データを圧縮する方法の一実施形態を示す一般化されたフロー図である。 画素データを圧縮する方法の別の実施形態を示す一般化されたフロー図である。 アルファチャネルを有する画素データを圧縮する方法の別の実施形態を示す一般化されたフロー図である。
以下の説明では、本明細書に提示される方法及びメカニズムの十分な理解を提供するために、いくつかの具体的な詳細を示す。しかしながら、当業者は、様々な実施形態を、これらの特定の詳細なしに実施することができるのを認識すべきである。いくつかの場合、周知の構造、コンポーネント、信号、コンピュータプログラム命令及び技術は、本明細書で説明するアプローチを曖昧にすることを避けるために、詳細に示していない。説明を簡単且つ明確にするために、図に示された要素は必ずしも縮尺通りに描かれていないことが理解されるであろう。例えば、一部の要素の寸法は、他の要素に対して誇張されている場合がある。
本明細書では、画素データを圧縮するためのシステム、装置及び方法が開示されている。一実施形態では、システムは、メモリサブシステムに接続されたプロセッサを少なくとも含む。メモリサブシステムは、1つ以上のレベルのキャッシュ及び/又は1つ以上のメモリを含む。一実施形態では、プロセッサは、Nビットコンテナ内で整列された最上位ビット(MSB)である複数のMビット画素成分を受信するように構成されており、N及びMは整数であり、NはMよりも大きい。次に、プロセッサは、Mビット画素成分をNビットコンテナの最下位ビット(LSB)位置にシフトする。次いで、プロセッサは、複数のNビットコンテナを複数のMビットコンテナに変換する。次に、プロセッサは、複数のMビットコンテナを圧縮して、画素データの圧縮ブロックを生成する。次いで、プロセッサは、画素データの圧縮ブロックをメモリサブシステムに記憶する。
メモリサブシステムに記憶された画素データの圧縮ブロックを復元する要求を受信したことに応じて、プロセッサは、画素データの圧縮ブロックを取得するように構成されている。次に、プロセッサは、画素データの圧縮ブロックを復元して、Mビットコンテナ内に画素成分を生成する。次いで、プロセッサは、MビットコンテナをNビットコンテナに拡張する。次に、プロセッサは、Mビット画素成分をNビットコンテナのMSB位置にシフトする。次いで、プロセッサは、Nビットコンテナ内の画素成分をクライアント(例えば、シェーダ)に伝達する。
図1を参照すると、コンピューティングシステム100の一実施形態のブロック図が示されている。一実施形態では、コンピューティングシステム100は、メモリ150に接続されたシステムオンチップ(SoC)105を含む。SoC105は、集積回路(IC)とも呼ばれ得る。一実施形態では、SoC105は、中央処理装置(CPU)165の処理ユニット175A〜175Nと、入出力(I/O)インタフェース155と、キャッシュ160A〜160Bと、ファブリック120と、グラフィックス処理ユニット(GPU)130と、ローカルメモリ110と、メモリコントローラ140と、を含む。SoC105は、図を曖昧にすることを避けるために、図1に示されていない他のコンポーネントを含みことができる。処理ユニット175A〜175Nは、任意の数及びタイプの処理ユニットを表している。一実施形態では、処理ユニット175A〜175Nは、CPUコアである。別の実施形態では、処理ユニット175A〜175Nのうち1つ以上は、他のタイプの処理ユニット(例えば、特定用途集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)等)である。CPU165の処理ユニット175A〜175Nは、キャッシュ160A〜160B及びファブリック120に接続されている。
一実施形態では、処理ユニット175A〜175Nは、特定の命令セットアーキテクチャ(ISA)の命令を実行するように構成されている。各処理ユニット175A〜175Nは、1つ以上の実行ユニットと、キャッシュメモリと、スケジューラと、分岐予測回路等と、を含む。一実施形態では、処理ユニット175A〜175Nは、オペレーティングシステム等のシステム100のメイン制御ソフトウェアを実行するように構成されている。概して、使用中に処理ユニット175A〜175Nによって実行されるソフトウェアは、システム100の所望の機能を実現するために、システム100の他のコンポーネントを制御することができる。また、処理ユニット175A〜175Nは、アプリケーションプログラム等の他のソフトウェアを実行することができる。
GPU130は、コンプレッサモジュール135と、キャッシュ138と、コンピュートユニット145A〜145Nと、を少なくとも含む。コンプレッサモジュール135は、「圧縮モジュール」又は「圧縮ユニット」とも呼ばれ得ることに留意されたい。コンピュートユニット145A〜145Nは、グラフィックス又は汎用処理に使用される任意の数及びタイプのコンピュートユニットを表す。各コンピュートユニット145A〜145Nは、任意の数の実行ユニットを含み、コンピュートユニット毎の実行ユニットの数は、実施形態によって異なる。GPU130は、ローカルメモリ110及びファブリック120に接続されている。一実施形態では、ローカルメモリ110は、高帯域メモリ(HBM)を使用して実装されている。一実施形態では、GPU130は、描画コマンド、画素操作、幾何学的計算、及び、画像をディスプレイにレンダリングするための他の動作等のグラフィックスパイプライン動作を実行するように構成されている。別の実施形態では、GPU130は、グラフィックスに無関係の動作を実行するように構成されている。さらなる実施形態では、GPU130は、グラフィックス動作及び非グラフィックス関連動作の両方を実行するように構成されている。
一実施形態では、GPU130は、Nビットコンテナにおいて整列された最上位ビット(MSB)である複数のMビット画素成分を受信するように構成されており、N及びMは整数であり、NはMよりも大きい。GPU130は、複数のMビット画素成分を受信した後、Mビット画素成分をNビットコンテナの最下位ビット(LSB)位置にシフトダウンする。次いで、GPU130は、複数のNビットコンテナを複数のMビットコンテナに変換する。次に、GPU130は、複数のMビットコンテナを圧縮して、画素データの圧縮ブロックを生成する。次いで、GPU130は、画素データの圧縮ブロックをローカルメモリ110に記憶する。
I/Oインタフェース155は、ファブリック120に接続されており、任意の数及びタイプのインタフェース(例えば、周辺機器相互接続(PCI)バス、PCI−Extended(PCI−X)、PCIE(PCIExpress)バス、ギガビットイーサネット(登録商標)(GBE)バス、ユニバーサルシリアルバス(USB)等)を表す。様々なタイプの周辺デバイスを、I/Oインタフェース155に接続することができる。このような周辺デバイスは、ディスプレイ,キーボード、マウス、プリンタ、スキャナ、ジョイスティック又は他のタイプのゲームコントローラ、メディア記録デバイス、外部記憶デバイス、ネットワークインタフェースカード等を含むが、これらに限定されない。
SoC105は、1つ以上のメモリモジュールを含むメモリ150に接続されている。各メモリモジュールは、その上に搭載された1つ以上のメモリデバイスを含む。いくつかの実施形態では、メモリ150は、SoC105が搭載されたマザーボード又は他のキャリアに搭載された1つ以上のメモリデバイスを含む。一実施形態では、メモリ150は、動作中にSoC105と共に使用されるランダムアクセスメモリ(RAM)を実装するために使用される。実装されるRAMは、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、抵抗RAM(ReRAM)、相変化RAM(PCRAM)、又は、他の任意の揮発性RAM若しくは不揮発性RAMであってもよい。メモリ150を実装するために使用されるDRAMのタイプは、ダブルデータレート(DDR)DRAM、DDR2DRAM、DDR3DRAM等を含むが、これらに限定されない。図1に明示的に示されていないが、SoC105は、処理ユニット175A〜175N及び/又はコンピュートユニット145A〜145Nの内部にある1つ以上のキャッシュメモリを含むことができる。いくつかの実施形態では、SoC105は、処理ユニット175A〜175Nによって利用されるキャッシュ160A〜160Bを含む。一実施形態では、キャッシュ160A〜160Bは、キャッシュコントローラを含むキャッシュサブシステムの一部である。
本明細書において様々な構造の隣に表示される「N」という文字は、その構造の任意の数の要素(例えば、1つの処理ユニットを含むCPU165内の任意の数の処理ユニット175A〜175N)を概して示すことを意図していることに留意されたい。さらに、「N」という文字を使用する図1内の異なる符号(例えば、コンピュートユニット145A〜145N)は、異なる要素が同じ数だけ設けられていることを意図していない(例えば、CPU165内の処理ユニット175A〜175Nの数は、GPU130のコンピュートユニット145A〜145Nの数と異なってもよい)。
様々な実施形態では、コンピューティングシステム100は、コンピュータ、ラップトップ、モバイルデバイス、サーバ、又は、他の様々なタイプのコンピューティングシステム若しくはデバイスの何れかであってもよい。コンピューティングシステム100及び/又はSoC105のコンポーネントの数は、実施形態によって異なり得ることに留意されたい。コンポーネント/サブコンポーネントの各々の数は、図1に示す数より多くてもよいし少なくてもよい。例えば、別の実施形態では、SoC105は、複数のメモリに接続された複数のメモリコントローラを含むことができる。また、コンピューティングシステム100及び/又はSoC105は、図1に示されていない他のコンポーネントを含むことができることに留意されたい。さらに、他の実施形態では、コンピューティングシステム100及びSoC105は、図1に示す以外の方法で構成することができる。
図2を参照すると、グラフィックス処理ユニット(GPU)200の一実施形態のブロック図が示されている。一実施形態では、GPU200のロジックは、(図1の)GPU130に含まれている。一実施形態では、GPU200は、シェーダアレイ215A〜215Dと、コマンドセンターハブ220と、ファブリック225と、キャッシュ230と、を少なくとも含む。GPU200は、図面を不明瞭にするのを避けるために、図2に示されていない他のロジック及び/又は他のコンポーネントも含むことに留意されたい。GPU200の構造は、一実施形態で使用される構造の一例に過ぎないことにも留意されたい。他の実施形態では、GPU200は、他の方法で編成されてもよい。
シェーダアレイ215A〜215Dは、GPU200に含まれる任意の数及びタイプのシェーダコンピュートリソースを表す。シェーダアレイ215A〜215Dは、「シェーダユニット」とも呼ばれ得る。各シェーダアレイ215A〜215Dは、ジオメトリ、頂点、画素、及び/又は、他のシェーディング動作を実行してグラフィックスをレンダリングするための様々なコンピュートリソースを含む。様々な実施形態では、コンピュートリソースは、命令をフェッチ及びデコードするためのコンポーネントと、算術計算を実行するための1つ以上の算術論理ユニット「ALU」と、他のリソースと、を含む。図2に示されていないが、各シェーダアレイ215A〜215Dは、レベル1(L1)キャッシュを含むことができる。シェーダアレイ215A〜215Dは、ファブリック225を介してキャッシュ230に接続されている。一実施形態では、キャッシュ230は、レベル2(L2)キャッシュである。キャッシュ230は、実施形態に応じて、メモリ(図示省略)又は別のレベルのキャッシュ(図示省略)に接続される。コマンドセンターハブ220は、任意の数及びタイプのコマンドプロセッサ、スケジューラ及び他のコマンド処理リソースを表す。
一実施形態では、コンプレッサモジュール235は、キャッシュ230内に配置されている。別の実施形態では、コンプレッサモジュール235は、ファブリック225内に配置されている。一実施形態では、GPU200が画素データを受信すると、コンプレッサモジュール235は、デルタカラー圧縮(DCC)を用いて画素データを圧縮するように構成されている。次いで、圧縮データがキャッシュ230に書き込まれる。一実施形態では、コンプレッサモジュール235は、圧縮データを復元し、復元データをクライアント(例えば、シェーダアレイ215A〜215D)に伝達するように構成されている。
図3を参照すると、画素データを圧縮する技術の一実施形態のブロック図が示されている。一実施形態では、プロセッサは、Nビットコンテナ内で整列された最上位ビット(MSB)であるMビット画素データを受信する。ここで、説明のために、N及びMは整数であり、NはMよりも大きいと仮定する。これは、図3の上部のNビットコンテナ305において示されている。本明細書で用いられるように、コンテナは、複数のストレージ位置として定義され、ストレージ位置は、任意の適切なタイプのストレージ要素(例えば、レジスタ、メモリ、キャッシュ、処理レーン)で実装され、ストレージ要素のタイプは、実施形態によって異なる。図示するように、画素値の各ビット(PM−1,PM−2等)は、Nビットコンテナ305のMSB位置内に示されている。また、Nビットコンテナ305の最下位ビット(LSB)は、全て0ビットである。例えば、一実施形態において、Nは16に等しく、Mは10に等しく、10ビットの画素値は16ビットコンテナの上位10ビットに記憶され、下位6ビットは0に等しい。
Nビットコンテナ305を圧縮する前に、Nビットコンテナ305内の画素データは、Mビットコンテナ310のLSBにシフトダウンされる。或いは、Nビットコンテナ305のLSBの0は、Mビットコンテナ310を生成するためにドロップされる。次に、Mビットコンテナ310内の画素データがDCCを用いて圧縮されると、隣接する画素間のデルタ値が減少し、その結果、画素データは、Nビットコンテナ305内の画素データが圧縮された場合よりも高い圧縮率で圧縮される。
Mビット画素データを有するNビットコンテナを圧縮するスキームの例示的なブロック図が図3の下部に示されている。Nビットコンテナ内の画素データは、プロセッサによって受信され、シフトユニット315に送られる。シフトユニット315は、Nビットコンテナ内のデータをMビットコンテナ内のデータに変換する。次に、Mビットコンテナ内のデータは、コンプレッサモジュール320への入力として送られる。コンプレッサモジュール320は、Mビットコンテナ内のデータを圧縮するためにDCCを利用するように構成されており、圧縮データをメモリサブシステム325に書き込む。メモリサブシステム325は、任意の数のキャッシュレベル及び/又はメモリデバイスを含む。
次に、デコンプレッサモジュール330は、メモリサブシステム325から圧縮データを取得し、圧縮データを復元してMビットコンテナ内のデータを生成する。次に、拡張ユニット335は、Mビットコンテナ内のデータを拡張して、Nビットコンテナ内のデータを生成することができる。次いで、Nビットコンテナ内のデータがクライアント(例えば、シェーダ)に伝達される。シフトユニット315、コンプレッサモジュール320、デコンプレッサモジュール330及び拡張ユニット335は、ハードウェア及び/又はソフトウェアの任意の適切な組み合わせを用いて実装可能であることに留意されたい。実施形態に応じて、シフトユニット315、コンプレッサモジュール320、デコンプレッサモジュール330及び拡張ユニット335を一緒に組み合わせてもよいし、別々に実装してもよいことに留意されたい。
図4を参照すると、黒及び白の画素値の符号化値を指定する2つのテーブルが示されている。一実施形態では、YCbCr色空間のY、Cb、Cr成分のうち所定の画素成分において黒を表すのに使用される符号化値は、数値表現においてあり得る最低値ではない。むしろ、Y、Cb、Cr成分の黒を表すのに使用される符号化値は、0以外の値である。また、白を表すのに使用される符号化値は、数値表現においてあり得る最大値ではない。例えば、テーブル400は、Y及びC(Cb及びCr)成分の黒及び白の各々の画素値を表すのに使用される、8ビット符号化値410と、対応するビット表現415,417とを示している。黒は、列415,417に示される対応するビット表現を有する8ビット符号化値に関して、16のY成分及び128のC成分で表される。また、白は、列415,417に示される対応するビット表現を有する8ビット符号化値に関して、235のY成分及び128のC成分で表される。コンプレッサモジュールが黒画素のみを含むデータブロックを検出した場合、プロセッサは、当該ブロックが黒画素のみを含むことを示す第1メタデータキーを生成し、第1メタデータキーのみを記憶する一方で、当該データブロックを破棄する。コンプレッサモジュールが白画素のみを含むデータブロックを検出した場合、プロセッサは、当該ブロックが白画素のみを含むことを示す第2メタデータキーを生成し、第2メタデータキーのみを記憶する一方で、当該データブロックを破棄する。
テーブル420は、黒値及び白値についての10ビット符号化値430と、対応するビット表現435,437とを示している。黒についての10ビット符号化値430は、64のY成分及び512のC成分であり、対応するビット表現が列435,437に示されている。白についての10ビット符号化値430は、940のY成分及び512のC成分であり、対応するビット表現が列435,437に示されている。他の実施形態は、符号化値毎に他の数のビットを利用することができ、その値は、8ビット及び10ビット表現について示された同じパターンに従って黒及び白を表すのに使用されることに留意されたい。コンプレッサモジュール(例えば、図1のコンプレッサモジュール135)は、画素値が特定の黒及び白の値に合致するかを判断するように構成されることにも留意されたい。所定のデータブロックの画素成分の全てが黒又は白の値と等しい場合、コンプレッサモジュールは、データブロック全体を圧縮し、次に、当該データブロックについて何れの値(黒又は白)が検出されたかを示すメタデータキーを生成する。
図5を参照すると、ビデオ画素データを圧縮する方法500の一実施形態が示されている。説明のために、本実施形態のステップ及び図6〜図9のステップは、順番に示されている。しかしながら、説明する方法の様々な実施形態では、説明する要素の1つ以上は、同時に行われてもよいし、図示した順序と異なる順序で行われてもよいし、完全に省略されてもよいことに留意されたい。必要に応じて、他の追加要素を実行することができる。本明細書で説明する様々なシステム又は装置は、方法500を実施するように構成されている。
プロセッサは、Nビットコンテナ内で整列された最上位ビット(MSB)である複数のMビット画素成分を受信する(ブロック505)。ここで、N及びMは整数であり、NはMよりも大きい。一実施形態では、プロセッサは、コンプレッサモジュールを含み、キャッシュ及び/又はメモリに接続されている。次に、プロセッサは、Mビット画素成分をNビットコンテナの最下位ビット(LSB)位置にシフトダウンする(ブロック510)。次いで、プロセッサは、複数のNビットコンテナを複数のMビットコンテナに変換する(ブロック515)。別の実施形態では、プロセッサは、Nビットコンテナ内の各画素成分の(N−M)の最下位ビット(LSB)を破棄して、複数のMビットコンテナを生成する。次に、プロセッサは、複数のMビット画素成分を圧縮して、画素データの圧縮ブロックを生成する(ブロック520)。次いで、プロセッサは、画素データの圧縮ブロックをメモリサブシステムに記憶する(ブロック525)。ブロック525の後に、方法500は終了する。
図6を参照すると、画素データの圧縮ブロックを復元する方法600の一実施形態が示されている。プロセッサは、画素データの圧縮ブロックをメモリサブシステムから取得する(ブロック605)。一実施形態では、プロセッサは、コンプレッサモジュールを含み、メモリサブシステムは、1つ以上のレベルのキャッシュ及び/又は1つ以上のメモリを含む。次に、プロセッサは、画素データの圧縮ブロックを復元して、Mビットコンテナ内の画素成分を生成する(ブロック610)。次いで、プロセッサは、MビットコンテナをNビットコンテナに拡張する(ブロック615)。次に、プロセッサは、画素成分をNビットコンテナのMSB位置にシフトする(ブロック620)。次いで、プロセッサは、NビットコンテナのMSB位置における画素成分をクライアントに伝達する(ブロック625)。一実施形態では、クライアントはシェーダである。ブロック625の後に、方法600は終了する。
図7を参照すると、一定の画素データを圧縮する方法700の一実施形態が示されている。コンプレッサモジュールは、画素データのブロックを受信する(ブロック705)。コンプレッサモジュールは、ハードウェア及び/又はソフトウェアの任意の適切な組み合わせで実装される。一実施形態では、コンプレッサモジュールは、固定サイズのデータブロックを受信するように構成されている。一実施形態では、固定サイズは256バイトである。他の実施形態では、固定サイズは、他の量のデータを含むことができる。次に、コンプレッサモジュールは、受信した画素データが定数値と等しいかどうかを判別する(条件ブロック710)。
受信した画素データが定数値と等しい場合(条件ブロック710:Yes)、コンプレッサモジュールは、定数値が黒の符号化値と等しいかどうかを判別する(条件ブロック720)。2つの異なる実施形態について、黒の符号化値を(図4の)テーブル400,420に示す。受信した画素データが定数値と等しくない場合(条件ブロック710:No)、コンプレッサモジュールは、画素データのブロックを圧縮し、画素データのブロックがどのように圧縮されたかを示すメタデータキーを生成する(ブロック715)。次に、コンプレッサモジュールは、データの圧縮ブロックを記憶する(ブロック718)。次いで、コンプレッサモジュールは、メタデータキーを記憶する(ブロック745)。ブロック745の後に、方法700は終了する。
定数値が黒の符号化値と等しい場合(条件ブロック720:Yes)、コンプレッサモジュールは、データブロックが全て黒画素で構成されていることを示すメタデータキーを生成する(ブロック725)。次に、コンプレッサモジュールは、画素データのブロックを破棄し(ブロック740)、メタデータキーを記憶する(ブロック745)。定数値が黒の符号化値と等しくない場合(条件ブロック720:No)、コンプレッサモジュールは、定数値が白色の符号化値と等しいかどうかを判別する(条件ブロック730)。2つの異なる実施形態について、白の符号化値をテーブル400,420に示す。定数値が白の符号化値と等しい場合(条件ブロック730:Yes)、コンプレッサモジュールは、データブロックが全て白画素で構成されていることを示すメタデータキーを生成する(ブロック735)。次に、コンプレッサモジュールは、画素データのブロックを破棄し(ブロック740)、メタデータキーを記憶する(ブロック745)。
定数値が白の特別な符号化値と等しくない場合(条件ブロック730:No)、コンプレッサモジュールは、定数値の指標を記憶する(ブロック750)。一実施形態では、定数値は、レジスタに記憶される。次に、コンプレッサモジュールは、画素データのブロックが、黒ではなく、白ではない定数値の画素で構成されていることを指定するためのメタデータキーを生成する(ブロック755)。ブロック755の後に、コンプレッサモジュールは、画素データのブロックを破棄し(ブロック740)、メタデータキーを記憶する(ブロック745)。
図8を参照すると、画素データを圧縮する方法800の別の実施形態が示されている。コンプレッサモジュールは、複数の画素成分を受信する(ブロック805)。次に、コンプレッサモジュールは、画素データのブロックをデータの圧縮ブロックに圧縮する(ブロック810)。一実施形態では、コンプレッサモジュールは、デルタカラー圧縮(DCC)を利用して、データブロックを圧縮する。
データの圧縮ブロックのサイズが閾値よりも大きい場合(条件ブロック815:Yes)、コンプレッサモジュールは、データの圧縮ブロックを破棄する(ブロック820)。次に、複数の元の画素成分をまとめてパックして、コンテナ内の未使用ビットを除去する(ブロック825)。次いで、コンプレッサモジュールは、パックされた画素成分を記憶する(ブロック830)。一の実施形態では、或る量のスペースのみが、圧縮されたデータブロックを記憶するために割り当てられる。本実施形態では、閾値を、データの圧縮ブロックに割り当てられるメモリフットプリントのサイズと等しく設定することができる。一実施形態では、受信した画素成分が256バイトであり、閾値が192バイトである。例えば、本実施形態では、192バイトは、データの圧縮ブロックを記憶するために割り当てられるスペースの量であってもよい。他の実施形態では、受信した画素成分及び/又は閾値のサイズは、他のバイト数であってもよい。データの圧縮グループのサイズが閾値以下である場合(条件ブロック815:No)、コンプレッサモジュールは、データの圧縮ブロックを記憶する(ブロック835)。ブロック830,835の後に、方法800は終了する。
図9を参照すると、アルファチャネルを有する画素データを圧縮する方法900の一実施形態が示されている。圧縮モジュールは、アルファチャネルを含む画素データのブロックを受信する(ブロック905)。画素データのブロックのアルファ成分が0に等しい場合には(条件ブロック910:Yes)、他の画素成分が定数値と等しく設定される(ブロック915)。例えば、一実施形態では、他の画素成分は、所定値に設定される。一実施形態では、他の画素成分は、0に設定される。他の実施形態では、他の画素成分は、様々な他の定数値の何れかに設定される。次に、画素データのブロックを定数値として圧縮する(ブロック920)。画素データのブロックを定数値として圧縮することは、達成される圧縮量を増加させるのに役立つ。そうではなく、画素データのブロックのアルファ成分が0に等しくない場合には(条件ブロック910:No)、圧縮モジュールは、画素データのブロックの通常の圧縮を実行する(ブロック925)。ブロック920,925の後に、方法900は終了する。
様々な実施形態では、ソフトウェアアプリケーションのプログラム命令を使用して、上述した方法及び/又はメカニズムを実施する。プログラム命令は、C言語等の高水準プログラミング言語でハードウェアの動作を記述する。或いは、Verilog等のハードウェア設計言語(HDL)が使用される。プログラム命令は、非一時的なコンピュータ可読記憶媒体に記憶される。多くのタイプの記憶媒体を利用することができる。記憶媒体は、使用中にコンピューティングシステムによってアクセス可能であり、プログラム命令及び付随するデータを、プログラムの実行のためにコンピューティングシステムに提供する。コンピューティングシステムは、プログラム命令を実行するように構成された少なくとも1つ以上のメモリ及び1つ以上のプロセッサを含む。
上述した実施形態は、実施態様の非限定な例に過ぎないことを強調しておきたい。上記の開示が十分に理解されれば、多くの変形及び修正が当業者に明らかになるであろう。以下の特許請求の範囲はこのような全ての変形及び修正を包含するように解釈されることを意図している。

Claims (20)

  1. メモリサブシステムと、
    前記メモリサブシステムに接続されたプロセッサと、を備え、
    前記プロセッサは、
    Nビットコンテナ内で整列された最上位ビット(MSB)である複数のMビット画素成分を受信することであって、N及びMは整数であり、NはMよりも大きい、ことと、
    前記Mビット画素成分を前記Nビットコンテナの最下位ビット(LSB)位置にシフトすることと、
    前記複数のNビットコンテナを複数のMビットコンテナに変換することと、
    前記複数のMビットコンテナを圧縮して、画素データの圧縮ブロックを生成することと、
    前記画素データの圧縮ブロックを前記メモリサブシステムに記憶することと、
    を行うように構成されている、
    システム。
  2. 前記プロセッサは、
    前記複数のMビットコンテナ内の画素データが定数値と等しいかどうかを判別することと、
    前記複数のMビットコンテナ内の前記画素データが定数値と等しいと判別したことに応じて、前記画素データを破棄し、定数値が検出されたことを示すメタデータキーを生成することと、
    を行うように構成されている、
    請求項1のシステム。
  3. 前記プロセッサは、
    前記複数のMビットコンテナ内の前記画素データが、黒の符号化値又は白の符号化値の何れかと等しいかどうかを判別することと、
    前記複数のMビットコンテナ内の前記画素データが黒の符号化値と等しいと判別したことに応じて、前記画素データが全て黒画素を含むことを示す第1メタデータキーを生成することと、
    前記複数のMビットコンテナ内の前記画素データが白の符号化値と等しいと判別したことに応じて、前記画素データが全て白画素を含むことを示す第2メタデータキーを生成することと、
    を行うように構成されている、
    請求項2のシステム。
  4. 前記プロセッサは、
    前記メモリサブシステムに記憶された前記画素データの圧縮ブロックを復元する要求を受信したことに応じて、
    前記画素データの圧縮ブロックを前記メモリサブシステムから取得することと、
    前記画素データの圧縮ブロックを復元して、Mビットコンテナ内の画素成分を生成することと、
    前記MビットコンテナをNビットコンテナに拡張することと、
    前記画素成分を前記NビットコンテナのMSB位置にシフトすることと、
    を行うように構成されている、
    請求項1のシステム。
  5. 前記プロセッサは、前記NビットコンテナのMSB位置における画素成分をクライアントに伝達することを行うように構成されている、
    請求項4のシステム。
  6. 前記プロセッサは、
    前記画素データの圧縮ブロックが閾値よりも大きいかどうかを判別することと、
    前記画素データの圧縮ブロックが閾値よりも大きいと判別したことに応じて、前記画素データの圧縮ブロックを破棄することと、
    を行うように構成されている、
    請求項1のシステム。
  7. 前記プロセッサは、前記画素データの圧縮ブロックが閾値よりも大きいと判別したことに応じて、前記複数のMビット画素成分をまとめてパックすることを行うように構成されている、
    請求項6のシステム。
  8. Nビットコンテナ内で整列された最上位ビット(MSB)である複数のMビット画素成分を受信することであって、N及びMは整数であり、NはMよりも大きい、ことと、
    前記Mビット画素成分を前記Nビットコンテナの最下位ビット(LSB)位置にシフトすることと、
    前記複数のNビットコンテナを複数のMビットコンテナに変換することと、
    前記複数のMビットコンテナを圧縮して、画素データの圧縮ブロックを作成することと、
    前記画素データの圧縮ブロックをメモリサブシステムに記憶することと、を含む、
    方法。
  9. 前記複数のMビットコンテナ内の画素データが定数値と等しいかどうかを判別することと、
    前記複数のMビットコンテナ内の前記画素データが定数値と等しいと判別したことに応じて、前記画素データを破棄し、定数値が検出されたことを示すメタデータキーを生成することと、を含む、
    請求項8の方法。
  10. 前記複数のMビットコンテナ内の前記画素データが、黒の符号化値又は白の符号化値の何れかと等しいかどうかを判別することと、
    前記複数のMビットコンテナ内の前記画素データが黒の符号化値と等しいと判別したことに応じて、前記画素データが全て黒画素を含むことを示す第1メタデータキーを生成することと、
    前記複数のMビットコンテナ内の前記画素データが白の符号化値と等しいと判別したことに応じて、前記画素データが全て白画素を含むことを示す第2メタデータキーを生成することと、を含む、
    請求項9の方法。
  11. 前記メモリサブシステムに記憶された前記画素データの圧縮ブロックを復元する要求を受信したことに応じて、
    前記画素データの圧縮ブロックを前記メモリサブシステムから取得することと、
    前記画素データの圧縮ブロックを復元して、Mビットコンテナ内の画素成分を生成することと、
    前記MビットコンテナをNビットコンテナに拡張することと、
    前記画素成分を前記NビットコンテナのMSB位置にシフトすることと、を含む、
    請求項8の方法。
  12. 前記Nビットコンテナの前記MSB位置における画素成分をクライアントに伝達することを含む、
    請求項11の方法。
  13. 前記画素データの圧縮ブロックが閾値よりも大きいかどうかを判別することと、
    前記画素データの圧縮ブロックが閾値よりも大きいと判別したことに応じて、前記画素データの圧縮ブロックを破棄することと、を含む、
    請求項8の方法。
  14. 前記画素データの圧縮ブロックが前記閾値よりも大きいと判別したことに応じて、前記複数のMビット画素成分をまとめてパックすることを含む、
    請求項13の方法。
  15. メモリサブシステムと、
    コンプレッサモジュールと、を備え、
    前記コンプレッサモジュールは、
    Nビットコンテナ内で整列された最上位ビット(MSB)である複数のMビット画素成分を受信することであって、N及びMは整数であり、NはMよりも大きい、ことと、
    前記Mビット画素成分を前記Nビットコンテナの最下位ビット(LSB)位置にシフトすることと、
    前記複数のNビットコンテナを複数のMビットコンテナに変換することと、
    前記複数のMビットコンテナを圧縮して、画素データの圧縮ブロックを生成することと、
    前記画素データの圧縮ブロックを前記メモリサブシステムに記憶することと、
    を行うように構成されている、
    装置。
  16. 前記コンプレッサモジュールは、
    前記複数のMビットコンテナ内の画素データが定数値と等しいかどうかを判別することと、
    前記複数のMビットコンテナ内の前記画素データが定数値と等しいと判別したことに応じて、前記画素データを破棄し、定数値が検出されたことを示すメタデータキーを生成することと、
    を行うように構成されている、
    請求項15の装置。
  17. 前記コンプレッサモジュールは、
    前記複数のMビットコンテナ内の前記画素データが、黒の符号化値又は白の符号化値の何れかと等しいかどうかを判別することと、
    前記複数のMビットコンテナ内の前記画素データが黒の符号化値と等しいと判別したことに応じて、前記画素データが全て黒画素を含むことを示す第1メタデータキーを生成することと、
    前記複数のMビットコンテナ内の前記画素データが白の符号化値と等しいと判別したことに応じて、前記画素データが全て白画素を含むことを示す第2メタデータキーを生成することと、
    を行うように構成されている、
    請求項16の装置。
  18. 前記コンプレッサモジュールは、
    前記メモリサブシステムに記憶された前記画素データの圧縮ブロックを復元する要求を受信したことに応じて、
    前記画素データの圧縮ブロックを前記メモリサブシステムから取得することと、
    前記画素データの圧縮ブロックを復元して、Mビットコンテナ内の画素成分を生成することと、
    前記MビットコンテナをNビットコンテナに拡張することと、
    前記画素成分を前記NビットコンテナのMSB位置にシフトすることと、
    を行うように構成されている、
    請求項15の装置。
  19. 前記コンプレッサモジュールは、前記NビットコンテナのMSB位置における画素成分をクライアントに伝達することを行うように構成されている、
    請求項18の装置。
  20. 前記コンプレッサモジュールは、
    前記画素データの圧縮ブロックが閾値よりも大きいかどうかを判別することと、
    前記画素データの圧縮ブロックが閾値よりも大きいと判別したことに応じて、前記画素データの圧縮ブロックを破棄することと、
    を行うように構成されている、
    請求項15の装置。
JP2019546114A 2017-02-24 2018-02-22 ビデオへのデルタカラー圧縮の適用 Active JP7169284B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US15/442,383 US10304155B2 (en) 2017-02-24 2017-02-24 Delta color compression application to video
US15/442,383 2017-02-24
EP17159108.4A EP3367683A1 (en) 2017-02-24 2017-03-03 Delta color compression application to video
EP17159108.4 2017-03-03
PCT/US2018/019201 WO2018156750A1 (en) 2017-02-24 2018-02-22 Delta color compression application to video

Publications (2)

Publication Number Publication Date
JP2020519042A true JP2020519042A (ja) 2020-06-25
JP7169284B2 JP7169284B2 (ja) 2022-11-10

Family

ID=63246898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019546114A Active JP7169284B2 (ja) 2017-02-24 2018-02-22 ビデオへのデルタカラー圧縮の適用

Country Status (5)

Country Link
US (1) US10304155B2 (ja)
JP (1) JP7169284B2 (ja)
KR (1) KR102569371B1 (ja)
CN (1) CN110214338B (ja)
WO (1) WO2018156750A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180038793A (ko) * 2016-10-07 2018-04-17 삼성전자주식회사 영상 데이터 처리 방법 및 장치
US11153578B2 (en) 2018-04-27 2021-10-19 Ati Technologies Ulc Gradient texturing compression codec
GB2611864B (en) * 2019-08-23 2023-12-06 Imagination Tech Ltd Random accessible image data compression
GB2591506B (en) * 2020-01-31 2023-05-17 Sony Interactive Entertainment Inc Data storage system and method
US11917072B2 (en) * 2020-12-03 2024-02-27 International Business Machines Corporation Implementing opportunistic authentication of encrypted data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004015226A (ja) * 2002-06-04 2004-01-15 Mitsubishi Electric Corp 画像符号化装置及び画像復号化装置
JP2009524315A (ja) * 2006-01-24 2009-06-25 ノキア コーポレイション コンピュータグラフィックスのための画像圧縮
JP2012151573A (ja) * 2011-01-17 2012-08-09 Canon Inc 画像復号装置及びその制御方法
WO2012147350A1 (ja) * 2011-04-28 2012-11-01 パナソニック株式会社 高画質化に関わる記録媒体、再生装置、記録装置、符号化方法、復号化方法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8900368D0 (en) * 1989-01-09 1989-03-08 Crosfield Electronics Ltd Bit map modification
JPH03266039A (ja) 1990-03-16 1991-11-27 Fujitsu Ltd フリーフォーマットデータリンク処理方式
US5184124A (en) * 1991-01-02 1993-02-02 Next Computer, Inc. Method and apparatus for compressing and storing pixels
US5946716A (en) 1996-05-30 1999-08-31 Hewlett-Packard Company Sectored virtual memory management system and translation look-aside buffer (TLB) for the same
US6033422A (en) * 1997-04-21 2000-03-07 Winease Llc Nasal support device for domestic mammals and method
US6553457B1 (en) 2000-04-19 2003-04-22 Western Digital Technologies, Inc. Tag memory disk cache architecture
JP2001332978A (ja) 2000-05-18 2001-11-30 Sony Corp データストリーム変換装置とその方法、可変長符号化データストリーム生成装置とその方法、および、カメラシステム
US6728722B1 (en) 2000-08-28 2004-04-27 Sun Microsystems, Inc. General data structure for describing logical data spaces
JP2004021702A (ja) * 2002-06-18 2004-01-22 Canon Inc システムあるいはソフトウェア、dmac、dmac制御ソフトウェア、および画像処理装置
US7145567B2 (en) 2003-04-03 2006-12-05 Avid Technology, Inc. Bitstream format and reading and writing methods and apparatus therefor
US7068192B1 (en) 2004-08-13 2006-06-27 Google Inc. System and method for encoding and decoding variable-length data
US7336840B2 (en) * 2004-09-14 2008-02-26 Info Panama Service, Inc. Compression method for binary images
US7673345B2 (en) * 2005-03-31 2010-03-02 Intel Corporation Providing extended memory protection
US8718147B2 (en) * 2006-02-17 2014-05-06 Avocent Huntsville Corporation Video compression algorithm
US7782961B2 (en) * 2006-04-28 2010-08-24 Avocent Corporation DVC delta commands
KR101270167B1 (ko) * 2006-08-17 2013-05-31 삼성전자주식회사 저복잡도의 이미지 압축 방법 및 장치, 저복잡도의 이미지복원 방법 및 장치
US7471218B2 (en) 2006-09-18 2008-12-30 National Semiconductor Corporation Methods and systems for efficiently storing and retrieving streaming data
US8155436B2 (en) * 2008-03-31 2012-04-10 Konica Minolta Laboratory U.S.A., Inc. Systems and methods for color data compression
US8547382B2 (en) * 2008-05-30 2013-10-01 Advanced Micro Devices, Inc. Video graphics system and method of pixel data compression
US7962727B2 (en) 2008-12-05 2011-06-14 Globalfoundries Inc. Method and apparatus for decompression of block compressed data
US8161211B2 (en) * 2009-02-25 2012-04-17 Hitachi, Ltd. Storage system and data processing method for the same
LT2691803T (lt) * 2011-03-31 2017-08-25 Next Scan Technology Bvba Plokščio lauko telecentrinis skeneris su difrakcijos ribojamomis eksploatacijos savybėmis
US9378560B2 (en) * 2011-06-17 2016-06-28 Advanced Micro Devices, Inc. Real time on-chip texture decompression using shader processors
EP2749026A1 (en) 2011-11-18 2014-07-02 Koninklijke Philips N.V. Encoding high quality (medical) images using standard lower quality (web) image formats
US8942473B2 (en) * 2012-07-25 2015-01-27 Ko Hung Lin Image processing method and display apparatus
US20140098111A1 (en) * 2012-10-09 2014-04-10 Mediatek Inc. Data processing system for transmitting compressed display data over display interface
US9607407B2 (en) 2012-12-31 2017-03-28 Nvidia Corporation Variable-width differential memory compression
US9367442B2 (en) * 2014-07-12 2016-06-14 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Allocating memory usage based on voltage regulator efficiency
US9924176B2 (en) * 2014-10-10 2018-03-20 Advanced Micro Devices, Inc. Hybrid block based compression
US10511858B2 (en) * 2016-07-13 2019-12-17 Ati Technologies Ulc Bit packing for delta color compression

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004015226A (ja) * 2002-06-04 2004-01-15 Mitsubishi Electric Corp 画像符号化装置及び画像復号化装置
JP2009524315A (ja) * 2006-01-24 2009-06-25 ノキア コーポレイション コンピュータグラフィックスのための画像圧縮
JP2012151573A (ja) * 2011-01-17 2012-08-09 Canon Inc 画像復号装置及びその制御方法
WO2012147350A1 (ja) * 2011-04-28 2012-11-01 パナソニック株式会社 高画質化に関わる記録媒体、再生装置、記録装置、符号化方法、復号化方法

Also Published As

Publication number Publication date
CN110214338B (zh) 2023-09-19
JP7169284B2 (ja) 2022-11-10
CN110214338A (zh) 2019-09-06
US10304155B2 (en) 2019-05-28
KR102569371B1 (ko) 2023-08-22
KR20190120166A (ko) 2019-10-23
WO2018156750A1 (en) 2018-08-30
US20180247388A1 (en) 2018-08-30

Similar Documents

Publication Publication Date Title
US11043010B2 (en) Real time on-chip texture decompression using shader processors
JP7169284B2 (ja) ビデオへのデルタカラー圧縮の適用
US9478002B2 (en) Vertex parameter data compression
US9159114B2 (en) Texture decompression for graphics processors
US10699361B2 (en) Method and apparatus for enhanced processing of three dimensional (3D) graphics data
US10824357B2 (en) Updating data stored in a memory
US20150154733A1 (en) Stencil buffer data compression
US11694367B2 (en) Compressing texture data on a per-channel basis
KR100806345B1 (ko) 3차원 그래픽 가속기 그리고 텍스쳐 데이터 독출 방법
US10445902B2 (en) Fetch reduction for fixed color and pattern sub-frames
EP3367683A1 (en) Delta color compression application to video
US11954028B2 (en) Accessing encoded blocks of data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220614

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221028

R150 Certificate of patent or registration of utility model

Ref document number: 7169284

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150