JP6524118B2 - 改良されたパレットテーブル及びインデックスマップ符号化方法を用いた先進的スクリーンコンテンツ符号化 - Google Patents

改良されたパレットテーブル及びインデックスマップ符号化方法を用いた先進的スクリーンコンテンツ符号化 Download PDF

Info

Publication number
JP6524118B2
JP6524118B2 JP2016573052A JP2016573052A JP6524118B2 JP 6524118 B2 JP6524118 B2 JP 6524118B2 JP 2016573052 A JP2016573052 A JP 2016573052A JP 2016573052 A JP2016573052 A JP 2016573052A JP 6524118 B2 JP6524118 B2 JP 6524118B2
Authority
JP
Japan
Prior art keywords
string
current
color
indices
color index
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016573052A
Other languages
English (en)
Other versions
JP2017525204A (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 JP2017525204A publication Critical patent/JP2017525204A/ja
Application granted granted Critical
Publication of JP6524118B2 publication Critical patent/JP6524118B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/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/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/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/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本開示は概してスクリーンコンテンツ符号化に関し、より具体的には、改良されたカラー(パレット)テーブル及びインデックスマップ符号化を用いた先進的なスクリーンコンテンツ符号化に関する。
スクリーンコンテンツ符号化は、その信号特性が従来のビデオ信号と比較して異なるために、ビデオ圧縮に新たな課題をもたらす。先進的なスクリーンコンテンツ符号化のための複数の既存の技術、例えば、疑似ストリングマッチ(pseudo string match)、カラーパレット符号化、及びイントラ動き補償又はイントラブロックコピーが存在する。これらの技術の中でも、疑似ストリングマッチはロスレス符号化について最高利得を示すが、ロッシー符号化モードに対してかなりの複雑性オーバヘッドと困難さとを伴う。カラーパレット符号化は、カメラによって取り込まれたものではないコンテンツ(例えば、コンピュータで生成されたコンテンツ)が通常、多数のビデオシーケンスで見られる連続的又はほぼ連続的な複数の色調ではなく、限られた数の別個の色を含むという前提の下で、スクリーンコンテンツ用に開発されている。疑似ストリングマッチ及びカラーパレット符号化の方法が大きな可能性を示したにもかかわらず、スクリーンコンテンツ符号化用の進行中のHigh Efficiency Video Coding(HEVC)範囲拡張の作業草案(WD)バージョン4及び参照ソフトウェアにはイントラ動き補償又はイントラブロックコピーが採用された。しかしながら、イントラブロックコピーの符号化性能は、その固定ブロック分解のために制限される。(イントラピクチャにおける動き予測と同様な)ブロックマッチングの実行はまた、計算とメモリアクセスとの両方に対してエンコーダの複雑さを著しく増加させる。
一実施形態によると、スクリーンコンテンツ符号化のための方法が提供される。当該方法は、現在の符号化ユニット(CU)に基づいてカラーインデックスマップを導出する段階を備える。当該方法はまた、カラーインデックスマップをエンコードする段階も備える。当該カラーインデックスマップの少なくとも一部は、第1の符号化技術を使用してエンコードされ、第1のインジケータは、第1の符号化技術の有意距離を示す。当該方法は更に、受信機に送信するために、エンコードされたカラーインデックスマップと第1のインジケータとを組み合わせる段階を備える。
別の実施形態によると、スクリーンコンテンツ復号化のための方法が提供される。当該方法は、カラーインデックスマップを備えるビデオビットストリームを受信する段階を備える。当該方法はまた、第1のインジケータを受信する段階を備える。当該方法は更に、第1の復号化技術を使用してカラーインデックスマップの少なくとも一部を復号化する段階を備える。当該第1のインジケータは、第1の復号化技術の有意距離を示す。加えて、当該方法は、カラーインデックスマップに基づいて、現在の符号化ユニット(CU)に関連付けられた複数のピクセルを再構成する段階を備える。
他の複数の実施形態は、これらの方法を実行するよう構成された複数の装置を含む。
本開示、及びその複数の利点のより完璧な理解のために、ここで添付の図面と併せて以下の複数の説明が参照される。同様の番号は同様の対象物を示す。
本開示に係るスクリーンコンテンツ符号化処理を実行する例示的な送信機の機能ブロック図を示す。
本開示に係るスクリーンコンテンツ復号化処理を実行する例示的な受信機の機能ブロック図を示す。
本開示に係る、パレットテーブル及びインデックスマップを使用する様々なモジュール及び処理フローの例を示す。
別々に、及びパックド式で示された複数の色成分を有する例示的な符号化ユニット(CU)を示す。
スクリーンコンテンツ符号化処理での使用のための参照パレットテーブル及び現在のパレットテーブルを示す。
隣接する複数の再構成ブロックを使用するパレットテーブル予測の例を示す。
水平又は垂直の走査が使用され得る64×64のCUの例示的なカラーインデックスマップを示す。
水平走査を使用する一次元(1D)サーチ後の1Dカラーインデックスベクトルの一部を示す。
U_PIXELモジュールと呼ばれる基本ピクセル処理ユニットの例を示す。
U_ROWモジュールの例を示す。
U_CMPモジュールの例を示す。
U_COLモジュールの例を示す。
例示的なU_2D_BLOCKモジュールを示す。
インデックスマップ処理の水平走査及び垂直走査の例を示す。
4:2:0クロマサンプリングフォーマットの例を示す。 4:4:4クロマサンプリングフォーマットの例を示す。
4:4:4から4:2:0への、又はその逆の補間処理の例を示す。
上側インデックスラインバッファ又は左側インデックスラインバッファを使用するカラーインデックスマップ処理の例を示す。
本開示に係るスクリーンコンテンツ符号化のための方法を示す。
本開示に係るスクリーンコンテンツ復号化のための方法を示す。
以下で説明される図1から図18と、本特許文献の本発明の原理を説明すべく使用される様々な実施形態とは、説明のためだけのものであり、決して本発明の範囲を限定するものと解釈されるべきではない。当業者ならば、本発明の原理が、任意のタイプの適切に構成されたデバイス又はシステムにおいて実装されてよいことを理解するであろう。
以下の文献及び規格の説明は、これにより、本明細書において十分に述べられたかのように本開示の中に組み込まれる。
T.Lin、S.Wang、P.Zhang、K.Zhou、"AHG7:Full−chroma(YUV444) dictionary+hybrid dual−coder extension of HEVC"、JCT−VC Document、JCTVC−K0133、中国、上海、2012年10月(以下、「参照文献1」とする)。
W.Zhu、J.Xu、W.Ding、"RCE3 Test 2:Multi−stage Base Color and Index Map"、JCT−VC Document、JCTVC−N0287、オーストリア、ウィーン、2013年7月(以下、「参照文献2」とする)。
L.Guo、M.Karczewicz、J.Sole、"RCE3:Results of Test 3.1 on Palette Mode for Screen Content Coding",JCT−VC Document、JCTVC−N0247、オーストリア、ウィーン、2013年7月(以下、「参照文献3」とする)。
L.Guo、M.Karczewicz、J.Sole、R.Joshi、"Non−RCE3:Modified Palette Mode for Screen Content Coding"、JCT−VC Document、JCTVC−N0249、オーストリア、ウィーン、2013年7月(以下、「参照文献4」とする)。
D.−K.Kwon、M.Budagavi、"RCE3:Results of test 3.3 on Intra motion compensation、JCT−VC Document、JCTVC−N0205、オーストリア、ウィーン、2013年7月(以下、「参照文献5」とする)。
C.Pang、J.Sole、L.Guo、M.Karczewicz、R.Joshi、"Non−RCE3:Intra Motion Compensation with 2−D MVs"、JCT−VC Document、JCTVC−N0256、オーストリア、ウィーン、2013年7月(以下、「参照文献6」とする)。
C.Pang、J.Sole、L.Guo、M.Karczewicz、R.Joshi、"Non−RCE3:Pipeline Friendly Intra Motion Compensation"、JCT−VC Document、JCTVC−N0254、オーストリア、ウィーン、2013年7月(以下、「参照文献7」とする)。
D.Flynn、J.Soel and T.
Suzuki、"Range Extension Draft 4"、JCTVC−L1005、2013年8月(以下、「参照文献8」とする)。
H.Yu、K.McCann、R.Cohen、and P.Amon、"Draft call for proposals for coding of screen content and medical visual content"、ISO/IEC JTC1/SC29/WG11 N13829、2013年7月(以下、「参照文献9」とする)。
本開示の複数の実施形態は、改良されたパレットテーブル及びインデックスマップ符号化を用いた先進的なスクリーンコンテンツ符号化処理を提供する。開示される実施形態は、High−Efficiency Video Codingの現在のバージョン(HEVCバージョン2)よりも性能が大幅に優れている。開示される実施形態は、スクリーンコンテンツの符号化専用の複数のアルゴリズムを含む。これらのアルゴリズムは、パレットテーブル(又は、等価的には、カラーテーブル)を使用したピクセル表現、パレットテーブル圧縮、カラーインデックスマップ圧縮、ストリングマッチ、及び残差圧縮を含む。本明細書において開示される実施形態は、将来のHEVC拡張として、開発され、HEVC Range Extension(RExt)と調和され、統合されて、効率的なスクリーンコンテンツ符号化をサポートする。しかしながら、これらの実施形態は、追加的又は代替的に、既存のビデオ規格又は任意の他の適切なビデオ規格で実施され得る。説明を簡単にするために、本明細書では、例としてHEVC RExtを使用して、様々な実施形態を説明する。同様に、圧縮効率を明らかに示すべく、様々な実施形態の実施にはHEVC RExtソフトウェアが使用される。
図1は、本開示に係るスクリーンコンテンツ符号化処理を実行する例示的な送信機の機能ブロック図を示している。図2は、本開示に係るスクリーンコンテンツ復号化処理を実行する例示的な受信機の機能ブロック図を示している。送信機100及び受信機200の実施形態は単なる例示である。本開示の範囲から逸脱することなく、送信機100及び受信機200の他の実施形態が使用され得る。
送信機100は、ビットストリーム内の各符号化ユニット(CU)又は各符号化ツリーユニット(CTU)に対して実行され得る高効率カラーパレット圧縮(CPC)処理を実行するよう構成されている。図1に示されるように、送信機100はビットストリーム内のCU101から開始する。CUは、HEVC及びHEVC RExtの基本作業ユニットであり、3つの色成分(例えば、当該技術分野では既知のRGB、YUV、XYZ、又は同様のもの)を含むピクセルの四角のブロックである。例示的なCU101が図3に示されている。CU101は、各ピクセルについて明示的な色値(例えば、47、48、49等)を含む8ピクセル×8ピクセルのCUである。他の実施形態において、CU101のサイズは、8×8ピクセル以外のもの(例えば、16×16ピクセル、32×32ピクセル等)であってもよい。いくつかの実施形態において、送信機100は、CU101の代わりにCTU101から開始してよい。説明を簡単にするために、送信機100はCU101で説明される。当業者ならば、送信機100が、CTU101を用いても実質的に同一の処理を実行し得ることを理解するであろう。
パレットテーブル作成ブロック103は、(カラーテーブルと称されることもある)パレットテーブルを導出又は生成すべくCU101を使用する。例示的なパレットテーブル303が図3に示されている。パレットテーブル303を導出すべく、パレットテーブル作成ブロック103は、1又は複数の順序付けのルールに従って色値を順序付ける。パレットテーブル303は、各色値の発生頻度、CU101の各ピクセルの実際の色強度、又は、任意の他の適切な順序付けの(1又は複数の)メトリックに従って順序付けられて、以下のエンコード・オペレーションの効率を上げ得る。
導出されたパレットテーブル303に基づいて、色分類ブロック105がCU101を使用して、CU101の複数の色又は複数のピクセル値をカラーインデックスマップ311と1又は複数の予測残差マップ313とに割り当てる。テーブルエンコードブロック107が、パレットテーブル303を受信し、パレットテーブル303の複数のエントリをエンコードする。インデックスマップエンコードブロック109が、色分類ブロック105によって作成されたカラーインデックスマップ311をエンコードする。これらのオペレーションは以下でより詳細に説明される。
残差エンコードブロック111は、色分類ブロック105によって作成された各予測残差マップ313をエンコードする。いくつかの実施形態において、残差エンコードブロック111は、図3の321に示されるように、適応的な固定長又は可変長の残差のバイナリゼーションを実行する。次に、多重化(MUX)ブロック113が、複数のストリング/ブロックマッチ319及びエンコードされた複数の予測残差321を使用して圧縮ビットストリームを生成する。いくつかの実施形態において、図3に示されるように、複数のストリング/ブロックマッチ319と、エンコードされた複数の予測残差321とを組み合わせるべく、コンテキスト適応型バイナリ算術符号化(CABAC)方法323が使用され得る。
図2に戻って、受信機200は上述されたような、送信機100によって実行されたスクリーンコンテンツ符号化処理に類似したスクリーンコンテンツ復号化処理を実行するよう構成されている。受信機200は、圧縮ビデオビットストリームを受信し、次に、デマルチプレクサ201を使用して、ビットストリームをエンコードされたパレットテーブル、カラーインデックスマップ、及びエンコードされた複数の予測残差にパースする。テーブル復号化ブロック203及びパレットテーブル作成ブロック209は、テーブルエンコードブロック107及びパレットテーブル作成ブロック103とは逆の複数の処理を実行して、各CUについて、完全なパレットテーブルを再構成する。同様に、インデックスマップ復号化ブロック205及び残差復号化ブロック207は、インデックスマップエンコードブロック109及び残差エンコードブロック111とは逆の複数の処理を実行して、カラーインデックスマップを再構成する。色分類解除ブロック211は、カラーインデックスマップとパレットテーブルとを組み合わせることで各位置におけるピクセル値を導出し、これにより、CTU又はCU213を再構成する。
図1および2は、スクリーンコンテンツの符号化及び復号化を実行するための送信機100及び受信機200の例を示しているが、図1および2には様々な変更が施されてよい。例えば、図1および2の様々なコンポーネントは組み合わされ得、更には細分化され得、又は省略され得、特定の必要性に応じて更なる複数のコンポーネントが追加され得る。特定の例として、様々なコンポーネントは、1つの筐体又は1つの回路基板に共に配置され得る、又は、単一のプロセッサ又は単一の処理ユニットによって実行され得る。
導出されたパレットテーブル303に基づいて、元のCU101の各ピクセルは、パレットテーブル303内の自身のカラーインデックスに変換され得る。本開示の複数の実施形態は、各CU101についてのパレットテーブル303及びカラーインデックスマップ311(以下で説明される)をストリームへと効率的に圧縮する方法を提供する。受信機側において、圧縮ビットストリームは、完全なパレットテーブル303及びカラーインデックスマップ311を各CU101について再構成すべくパースされ得、次に、カラーインデックスとパレットテーブルとを組み合わせることで各位置におけるピクセル値を更に導出する。
図4は、別々に、及びパックド式で示された複数の色成分を有するCU401の別の例を示している。CU401はCU101を表していてよい。図4に示されるように、CU401は8ピクセル×8ピクセルのCUである。言うまでもなく、CU401はN×Nピクセルであり得る。ここで、HEVCとの互換性のために、N=8、16、32、64である。CU401の各ピクセルは、3つの色成分を異なるサンプリング比(例えば、4:4:4、4:2:2、4:2:0)で含む。すなわち、CU401は、別個の、赤(R)色成分402、緑(G)色成分403、及び青(B)色成分404を含む。他の実施形態において、色成分は、Y、Cb、Cr、若しくはX、Y Z、又は複数の成分の別の適切な組み合わせであり得る。
簡単にするために、本開示では4:4:4の配列が使用される。4:2:2及び4:2:0のビデオについて、4:4:4の配列を取得すべく、クロマ・アップサンプリングが適用され得る、又は各クロマ成分402−404は独立に処理され得る。4:0:0の白黒ビデオの場合では、これらは、他の2つのプレーンなしに、4:4:4の個々のプレーンとして扱われ得る。4:4:4のための全ての方法が直接適用され得る。
色成分402−404は、パック化処理において共にインターリーブされ、パックドCU401をもたらす。一実施形態において、CU101が、パックドモードを使用して処理されたのか(従って、CU401をもたらす)、又は、従来のプラナーモード(planar mode)を使用して処理されたのか(すなわち、G、B、R成分、又はY、U、V成分402−404が独立に処理される)を示すべく、enable_packed_component_flagと呼ばれるフラグが各CU101について定義される。
パックドモード及びプラナーモードの両方は、利点及び欠点を有し得る。例えば、プラナーモードは、G/B/R又はY/U/Vについて並列の色成分処理をサポートする。しかしながら、プラナーモードは低い符号化効率をもたらす場合がある。パックドモードは、異なる複数の色成分の中でも、CU101についての(パレットテーブル303及びカラーインデックスマップ311などの)ヘッダ情報を共有し得る。しかしながら、パックドモードは複数の色成分が同時に又は並列に処理されることを妨げることがある。現在のCU101がパックドモードでエンコードされるべきかどうかを決定するための1つの簡易な方法は、レート歪み(R‐D)コストを測定することである。
enable_packed_component_flagは、エンコードモードをデコーダに明示的に信号で伝えるべく使用される。低レベルハンドリングのためにCUレベルでenable_packed_component_flagを定義することに加えて、具体的な適用要件に応じて、当該フラグは、スライスヘッダ又は更にはシーケンスレベル(例えば、Sequence Parameter Set又はPicture Parameter Set)においても複製され得、スライスレベル又はシーケンスレベルでのハンドリングを可能にする。
パレットテーブル及びインデックスマップの導出
以下では、図1のパレットテーブル作成ブロック103及びテーブルエンコードブロック107における複数のオペレーションを説明する。各CU101について、複数のピクセル位置がトランスバースされ、パレットテーブル303及び次の処理のためのカラーインデックスマップ311が導出される。各別個の色は、次のエンコード処理の効率を上げるべく、そのヒストグラム(すなわち、発生頻度)若しくはその強度の何れかに応じて、又は任意の方法で、パレットテーブル303内で順序付けられる。例えば、エンコード処理が、差分パルス符号化変調(DPCM)法を使用して隣接するピクセル間の差を符号化する場合、当該隣接するピクセルがパレットテーブル303の隣接するカラーインデックスで割り当てられるとき、最適な符号化の結果を得ることができる。
ここで、新たなハッシュベースのパレットテーブル導出が説明される。それは、複数の主要色を効率的に決定し、誤差を低減させるべく使用され得る。各CU101について、パレットテーブル作成ブロック103は、CU101の各ピクセルの色値を調べ、3つの色成分を一緒に使用して、すなわち、パックドG、B、R、又はパックドY、Cb、Crを使用して、各色の発生頻度に応じて降順に色ヒストグラムを作成する。各24ビットの色を表すべく、G及びBの色成分(又は、Y及びCbの色成分)は適宜ビットシフトされ得る。すなわち、パックされた各色は、(G<<16)+(B<<8)+(R)又は(Y<<16)+(Cb<<8)+(Cr)の値に従って表され得る。ここで、<<xは、左ビットシフト演算である。ヒストグラムは色の発生頻度に従って降順にソートされる。
ロッシー符号化のために、次に、パレットテーブル作成ブロック103は、よりコンパクトなパレットテーブル表現を取得すべく、ヒストグラムにより順序付けられた色データに対してハッシュベース隣接色グルーピング処理を施す。各色成分について、(量子化パラメータ(QP)に依存する)下位Xビットはクリアされ、ハッシュ関数(G>>X<<(16+X))|(B>>X<<(8+X))|(R>>X<<X)、又は、(Y>>X<<(16+X))|(Cb>>X<<(8+X))|(Cr>>X<<X)を使用して、対応するハッシュ表現が生成される。ここで、>>xは右ビットシフト演算であり、XはQPに基づいて決定される。ハッシュテーブル、或いはバイナリサーチツリー(BST)データ構造が、同一のハッシュ値を有する複数の色を迅速に探すべく利用される。任意の2つのハッシュ値について、それらの距離は、対応する色成分の最大絶対差として定義される。
隣接色グルーピング中、パレットテーブル作成ブロック103は、N個の色が処理されるまで、パックされた複数の色を発生頻度の降順に処理する。現在のCU内の色数がNより小さい場合、現在のCUの全ての色が処理される。Nは、予め定められた最大色数(max_num_of_colors)によって制限される。いくつかの実施形態において、max_num_of_colors=128、すなわち、N≦128である。ハッシュベースの色グルーピング後、次に、選択されたN個の色(又は、現在のCU内の色数がNより小さい場合には全ての色)が、パックされた各色の値に基づいてそれらの色を昇順にソートすることで再度順序付けられる。その結果は、図3に示されるパレットテーブル303などのパレットテーブルである。パレットテーブル303は、4色のサイズ(すなわち、N=4)を有している。多くの実施形態では、N>4である。しかしながら、説明を簡単にするために、図3においてはNには4が選択されている。
CU101において表された色数がパレットテーブル303の色数Nより大きい場合、それほど頻繁に発生しない色は、パレットテーブル303外の残余として構成される。例えば、色値49、53、50及び51がパレットテーブル303の一部である一方、色値48、52、47、54、55及び56はパレットテーブル303外の残余の複数の色305である。
パレットテーブル303の導出は、パレットテーブル作成ブロック103によって実行され、以下の疑似コードによって記述され得る。
上記疑似コードにおいて、ComputeHash(C,QP)は、ハッシュ関数(G>>X<<(16+X))|(B>>X<<(8+X))|(R>>X<<X)、又は、(Y>>X<<(16+X))|(Cb>>X<<(8+X))|(Cr>>X<<X)を適用してハッシュ値を生成する。ここで、XはQPに依存する。Dist(hash1,hash2)は、hash1及びhash2における対応する色成分の最大絶対差を得る。ここで、ハッシュテーブルデータ構造及びバイナリサーチツリー構造が利用されて、そのハッシュ値に基づいて特定の条件を満たす複数の色を迅速に見付ける。
上述されたように、導出されたパレットテーブル303に基づき、色分類ブロック105はCU101を使用して、CU101の複数の色又は複数のピクセル値をカラーインデックスマップ311と1又は複数の予測残差マップ313とに割り当てる。すなわち、色分類ブロック105は、パレットテーブル303の各色をパレットテーブル303内のカラーインデックスに割り当てる。例えば、図3の307において示されるように、色49はカラーインデックス0(ColorIdx=0)が割り当てられ、色53はカラーインデックス1が割り当てられ、色50はカラーインデックス2が割り当てられ、色51はカラーインデックス3(ColorIdx=3)が割り当てられる。パレットテーブル303の複数の色がインデックスを割り当てられ次第、各色のインデックスを使用してCU101からカラーインデックスマップ311が生成され得る。カラーインデックスマップ311の処理は以下でより詳細に説明される。同様に、パレットテーブル303外の残余の各色305は、309に示されるように予測残差値が割り当てられる。残余の複数の色305が予測残差値を割り当てられ次第、CU101から予測残差マップ313が生成され得る。
プラナーCUについて、各色成分は、colorTable_Y、colorTable_U、colorTable_V、又は、colorTable_R、colorTable_G、colorTable_Bなどのそれ自身の個々のパレットテーブルを有し得る。いくつかの実施形態において、YUVのY、又はGBRのGなどの主成分のパレットテーブルが導出され得、このテーブルは全成分について共有され得る。通常、共有されたY又はGのパレットテーブルを使用することで、Y又はG以外の複数の色成分は、元の複数のピクセル色に対する、共有パレットテーブルにおけるそれらからのいくらかのミスマッチを有するであろう。次に、それらのミスマッチな残差をエンコードすべく、(複数のHEVC係数符号化方法などの)残差エンジンが適用され得る。他の実施形態については、パックドCUに対して、単一のパレットテーブルが全成分の間で共有され得る。
以下の擬似コードは、パレットテーブル及びインデックスマップの導出を例示している。
パレットテーブル処理
各CU101について、送信機100は(明示的なパレットテーブルキャリッジと称される)現在のCU101からパレットテーブル303を導出し得る、又は、送信機100は、(暗示的なパレットテーブルキャリッジと称される)現在のCU101の左側若しくは上側に隣接するものからパレットテーブル303を導出し得る。テーブルエンコードブロック107は、パレットテーブル303を受信し、パレットテーブル303の複数のエントリをエンコードする。
パレットテーブル処理は、パレットテーブル303のサイズ(すなわち、別個の色の総数)及び各色それ自体のエンコードを含む。ビットの大部分はパレットテーブル303の各色のエンコードによって消費される。よって、色のエンコード(すなわち、パレットテーブル303の各エントリのエンコード)に焦点が置かれる。
パレットテーブルの複数の色のエンコードの最も単純な方法は、パルス符号化変調(PCM)スタイルのアルゴリズムを使用することである。ここで、各色は独立に符号化される。或いは、連続する色の直近の予測が適用され得、次に、デフォルトの色強度ではなく、予測のデルタがエンコードされ得る。これは、いわゆるDPCM(差分PCM)スタイルである。両方法とも後に、複雑さのコストと符号化効率との間のトレードオフに応じて、同等確率モデル(equal probability model)又は適応型コンテキストモデル(adaptive context model)を使用してエントロピー符号化され得る。
本開示の複数の実施形態は、Neighboring Palette Table Mergeと呼ばれる別の先進的なスキームを提供する。ここで、color_table_merge_flagは、現在のCU(例えば、CU101)がその左側で隣接するCUを使用するのか、又はその上側で隣接するCUに関連付けられたパレットテーブルを使用するのかを示すべく定義される。どちらも使用しない場合、現在のCUは明示的に信号で伝えるパレットテーブルを保持する。この処理は隣接パレットテーブル共有とも称されてよい。このマージ処理により、color_table_merge_directionフラグは、上側CU又は左側CUの何れかからのマージ方向を示す。マージ方向の候補として、上側CU又は左側CU以外の方向(例えば、左上、右上など)があり得ることは言うまでもない。しかしながら、概念の簡略化のために、本開示では上側CU及び左側CUが使用される。現在のCUの各ピクセルが、左側CU又は上側CUに関連付けられた既存のパレットテーブルの複数のエントリと比較され、上記において示されたderiveIdxMap()擬似コードによって、最小の予測差分(すなわち、ピクセルからパレットテーブルの最も近い色を差し引く)を与えるインデックスが割り当てられる。予測差分が非ゼロの場合について、残差の全てはHEVC Range Extension(RExt)残差エンジンを使用してエンコードされる。テーブルマージ処理を使用するかどうかの決定は、R‐Dコストによって決定され得る。
カラーテーブルがビットストリームにおいて明示的に伝達される場合、それは各色成分について順に符号化され得る。3つ全ての色成分について順に各エントリを符号化すべく、以下で説明されるように、インターテーブル・パレットスタッフィング(inter−table palette stuffing)若しくはイントラテーブル・カラーDPCM(intra−table color DPCM)が適用される。
インターテーブル・パレットスタッフィング
パレットテーブル共有方法が使用されない場合でさえ、パレットテーブル303とパレット予測値との間で共通する複数の色が依然として存在する場合がある。故に、エントリ毎にインターテーブル・パレットスタッフィング技術を適用すれば、符号化効率を更に向上させ得る。ここで、パレット予測値は、左側に隣接するCU若しくは上側に隣接するCUなどの隣接ブロックから導出される。図5Aは、本開示に係るインターテーブル・パレットスタッフィング技術で使用され得るパレット予測値551及び現在のパレットテーブル553を示している。現在のパレットテーブル553は図3のパレットテーブル303を表わしてよい。パレット予測値551は、現在のCUの左側に隣接するCUから構成され得る。デコーダ側において、パレットは、参照の複数の隣接するCUから、パレット予測値551に従って適切に更新される。いくつかの実施形態において、パレット予測値は、再構成された隣接CU若しくは符号化ツリーユニット(CTU)から、又は、スライスレベル若しくはシーケンスレベルでのグローバルテーブルから推定され得る。当該技術分野においては公知であるように、スライスはピクチャ内に複数のCUを含む。ピクチャは、1又は複数のスライスを含んでよい。シーケンスは複数のスライスを含む。
c(i)及びr(j)がそれぞれ、現在のパレットテーブル553のi番目のエントリ、及びパレット予測値551のj番目のエントリを表わすものとしよう。各エントリが3つの色成分(GBR、YCbCr、又は同様のもの)を含むことに再度留意されたい。現在のテーブル553のi≦Nである各カラーエントリc(i)について、テーブルエンコードブロック107はパレット予測値551から完全マッチr(j)を見付ける。c(i)を信号で伝える代わりに、jがプレディケーティブにエンコードされる。予測値は、前に再構成されたjより大きく、かつ、r(k)[0]≧c(i−1)[0]を満たす最小インデックスkとして決定される。予測差分(j−k)はビットストリームにおいて信号で伝えられる。当該差分(j−k)は負ではないので、符号ビットは必要ない。
当該技術分野においては公知なように、コンテキスト適応型モデル又はバイパスモデルの何れかが、(j−k)をエンコードすべく使用され得ることに留意されたい。通常、コンテキスト適応型モデルが高効率の複数の目的のために使用される一方で、バイパスモデルは、高スループット及び低複雑性の要件のために使用される。本開示のいくつかの実施形態において、動的トランケーテッド単項バイナリゼーション(dynamic truncated unary binarization)スキームを使用して、インデックス予測差分(j−k)をエンコードすべく、2つのコンテキスト適応型モデルが使用され得る。
イントラテーブル・カラーDPCM
現在のパレットテーブル553のi番目のエントリについて、パレット予測値551においてマッチが見付けられない場合、i番目のエントリの値は前のエントリ((i−1)番目のエントリ)から減算され、その絶対差(|d(i)|)は、各成分についてカラーDPCMを使用してエンコードされる。通常、予測絶対差のためのより少ないビット及び符号ビットが生成され、イントラテーブル・カラーDPCMを使用してエンコードされる。当該技術分野においては公知であるように、コンテキスト適応型モデル又はバイパスモデルの何れかが使用されて、予測絶対差及び関連付けられた符号ビン(bin)がエンコードされ得る。加えて、符号ビットはいくつかの場合では隠され得る、又は符号化され得る。例えば、現在のパレットテーブル553が既に昇順に順序付けられたと仮定すると、Y(又はG)の成分差は全く符号ビットを必要としない。同様に、Cb(又はB)の成分差は、対応するY(又はG)の差分がゼロである場合、符号ビットを必要としない。更に、Cr(又はR)成分差は、Y(又はG)及びCb(又はB)の差分が共にゼロである場合、符号ビットを必要としない。別の例として、符号ビットは、絶対差がゼロである場合、隠され得る。更に別の例として、符号ビットは、次のバウンダリ条件:c[i−1]−|d(i)|<0、又は、c[i−1]+|d(i)|>255を満たす場合、隠され得る。
現在のテーブル553の一番目のエントリc(0)について、インターテーブル・パレットスタッフィング技術が使用されない場合、c(0)の各成分は、固定8ビットバイパスコンテキストモデルを使用してエンコードされ得る。追加的又は代替的に、更に性能を向上させるべく、それは適応型コンテキストモデルを使用してエンコードされ得る。
インターテーブル・パレットスタッフィング技術及びイントラテーブル・カラーDPCM技術をより良く説明すべく、現在のパレットテーブル553のデータを使用する例がここで説明される。
現在のパレットテーブル553の一番目のエントリc(0)、すなわち、(G,B,R)=(0,0,192)から開始すると、c(0)はパレット予測値551においてどれともマッチしないことが分かり、故に、c(0)は独立にエンコードされる。現在のパレットテーブル553の二番目のエントリc(1)((G,B,R)=(0,0,240))もまた、パレット予測値551においてどれともマッチしない。一番目のエントリc(0)が既に符号化されたと仮定すると、c(1)とc(0)との予測差分、すなわち、(0,0,240)−(0,0,192)=(0,0,48)のみがビットストリームにおいて伝達されるべきである。現在のテーブル553の三番目のエントリc(2)について、パレット予測値551のj=1において正確なマッチが特定される。前に符号化されたカラーエントリを使用する予測インデックスは0であり、故に、(1−0)=1のみがエンコードされる必要がある。これらの符号化技術は、現在のテーブル553の最後のエントリ(すなわち、図5Aのidx=12)がエンコードされるまで適用される。テーブル1は、利用可能なパレット予測値551を使用して、現在のテーブル553に対してインターテーブル共有及びイントラテーブルDPCMをどのように適用するかについての段階的な説明を提供する。
カラーテーブルの明示的な符号化は以下の擬似コードにおいて要約されている。ここで、N及びMはそれぞれ、現在のカラーテーブルのエントリ数及び参照カラーテーブルのエントリ数である。
カラーテーブルの明示的な復号化は、以下の擬似コードにおいて要約されている。
現在のCUを符号化するときのマージ処理において使用するための隣接パレットテーブルを生成する方法はいくつか存在する。実装に応じて、それらの方法のうちの1つ(説明を簡単にするために方法Aと称される)が、エンコーダ及びデコーダの両方における更新を要求する。別の方法(方法Bと称される)は、エンコーダ側のみの処理である。両方法がここで説明される。
方法A:この方法では、隣り合うCUのパレットテーブルは、CUの深度、サイズ等には関係なく、利用可能な再構成された複数のピクセルに基づいて生成される。各CUについて、(この場合では色類似度がより高いであろうと想定して)、再構成は、同一サイズ及び同一深度のその隣接CUについて回復される。
図5Bは、本開示に係る方法Aを使用するパレットテーブル再生成の例を示している。図5Bに示されるように、現在のCU501は深度=2の16×16ブロックである。現在のCU501の複数の隣接CUは、上側CU502及び左側CU503を含む。上側CU502は、深度=1の32×32ブロックである。上側CU502は、16×16の上側ブロック504を含む。左側CU503は、深度=3の8×8ブロックであり、16×16ブロック505の一部である。方法Aを使用して、その複数の隣接CUの分割(例えば、8×8の左側CU503、又は、32×32の上側CU502)には関係なく、ピクセルオフセット(=16)が、左側の16×16ブロック505を処理すべく現在のCU501の原点から左方向に配置され、上側の16×16ブロック504を処理すべく現在のCU501の原点から上方向に配置される。エンコーダ及びデコーダの両方はこのオフセットを維持する。
方法B:この方法では、現在のCUが、その上側で隣接するCU及び/又はその左側で隣接するCUと同一のサイズ及び深度を共有する場合、マージ処理が生じる。利用可能な複数の隣接CUのパレットテーブルが使用されて、続く複数のオペレーションのために現在のCUのカラーインデックスマップが導出される。例えば、16×16の現在のCUについて、その隣接CU(すなわち、その上側に隣接するもの、又はその左側に隣接するものの何れか)がパレットテーブル及びインデックス方法を使用してエンコードされる場合、現在のCUについて隣接CUのパレットテーブルが使用されて、R‐Dコストが導出される。このマージコストは、現在のCUが(HEVC又はHEVC RExtにおいて存在し得る他の複数の従来のモードだけでなく)そのパレットテーブルを明示的に導出するケースとも比較される。最も低いR‐Dコストを生成するケースの方が、出力ビットストリームに書き込まれるモードとして選択される。方法Bでは、可能性のある異なる複数のモードをシミュレートするのに、エンコーダのみが必要とされる。デコーダにおいて、color_table_merge_flag及びcolor_table_merge_directionフラグは、デコーダによる追加の処理を必要とすることなくマージ決定及びマージ方向を示す。
予測パレット(PREDICTOR PALETTE)
更に複雑さを低減すべく、前に符号化されたパレットテーブル、又は、前に符号化されたパレットテーブルから最終的にもたらされる別の予測パレットからもたらされる複数の色をキャッシュすべく、予測パレットが使用される。一実施形態において、予測パレットの複数のエントリは、現在のCUの左側CU又は上側CUの予測パレット又は符号化されたパレットテーブルからもたらされる。CUがカラーパレットでエンコードされた後、このCUサイズが、予測パレットに関連付けられたCUサイズより大きいか、又はそれに等しい場合、予測パレットは更新され、現在のパレットは予測パレットとは異なる。現在のCUがパレットモードを使用してエンコードされない場合、予測パレットに対する変更はない。これは、予測パレット伝搬とも称される。この予測パレットは、各ピクチャ若しくはスライス、又は各CUの行の初めでリセットされてよい。
予測パレットを構成すべく、いくつかの方法が利用可能である。第1の方法において、各CUのエンコードについて、予測パレットは、その左側CU又は上側CUの予測パレットから構成される。この方法では、1つの予測パレットテーブルが各CUについて保存される。
第2の方法は、予測パレットテーブルの代わりに、上側CUに関連付けられたパレットテーブルが予測処理において使用されるという点で第1の方法とは異なる。
カラーインデックスマップ処理/符号化
インデックスマップエンコードブロック109は、色分類ブロック105によって作成されたカラーインデックスマップ311をエンコードする。カラーインデックスマップ311をエンコードすべく、インデックスマップエンコードブロック109は、少なくとも1回の走査オペレーション(水平走査315又は垂直走査317)を実行して、二次元(2D)カラーインデックスマップ311を一次元(1D)ストリングへと変換する。次に、インデックスマップエンコードブロック109は、(以下で説明される)ストリングサーチ・アルゴリズムを実行して、複数のマッチを生成する。いくつかの実施形態において、インデックスマップエンコードブロック109は、別々の水平走査オペレーション及び垂直走査オペレーションを実行し、ストリングサーチ・アルゴリズムを実行して、どれがより良好な結果を提供するかを決定する。図6は、水平走査オペレーション及び垂直走査オペレーションの例を示している。図6では、例示的な2Dカラーインデックスマップ601が示されている。カラーインデックスマップ601は、図3のカラーインデックスマップ311を表し得る。カラーインデックスマップ601は64×64のマップであるが、他のサイズのカラーインデックスマップが可能である。図6に示されるように、水平走査(若しくはサーチ)602、又は垂直走査(若しくはサーチ)603がカラーインデックスマップ601に対して実行され得る。
本開示の複数の実施形態は、カラーインデックスマップ311をエンコードするための1Dストリングマッチング技術及び2D変動を提供する。各位置において、エンコード技術はマッチしたポイントを見付け、1Dストリングマッチについてのマッチした距離及び長さを記録する、又は、2Dストリングマッチについてのマッチの幅及び高さを記録する。アンマッチの位置については、そのインデックス強度、或いは、インデックス強度と予測されたインデックス強度との間のデルタ値が直接エンコードされ得る。
単純な1Dサーチ方法がカラーインデックスマップ601に対して実行され得る。例えば、図7は、カラーインデックスマップ601の一番目のインデックス位置からの水平走査を使用する1Dサーチの後の、1Dカラーインデックスベクトル700の一部を示す。次に、当該1Dカラーインデックスベクトル700にストリングサーチが適用される。カラーインデックスベクトル700の(図7において示されるように「14」である)一番目の位置701を見ると、まだバッファリングされた参照はないので、一番目の位置701が「アンマッチペア」として処理される。アンマッチペアは、その対応する距離及び長さに対して値−1及び値1が割り当てられ、(dist,len)=(−1,1)と表記される。二番目の位置702もまた「14」である。二番目の位置702は、参照として符号化された一番目のインデックスである。故に、マッチペアの距離はdist=1である。三番目の位置703においてまた「14」があるので、マッチペアの長さは2、すなわち、len=2である。四番目の位置704に向かって移動すると、初めての値である「17」に遭遇する。よって、当該四番目の位置704は別のアンマッチペア、すなわち、(dist,len)=(−1,1)としてエンコードされる。各アンマッチペアについて、現在のインデックスについてマッチしたインデックスが見付けられないことを信号で伝えるべくマッチ/アンマッチフラグがエンコードされ、このフラグの後に、実際のインデックスの値(例えば、「14」、「17」、「6」等の最初の出現)が続く。各マッチペアについて、マッチしたインデックスストリングが見付けられたことを信号で伝えるべく、マッチ/アンマッチフラグがエンコードされ、このフラグの後に、マッチしたストリングの長さが続く。
以下は、図7に示された1Dカラーインデックスベクトル700の一部を使用するエンコード技術についての結果のセットである。
以下の擬似コードがこのマッチペアの導出のために与えられる。
簡易化されたカラーインデックスマップ符号化
いくつかの実施形態において、1D方式でのカラーインデックスマップ処理のための簡易化された方法として以下の複数のオペレーションが実行され得る。上述されたように、カラーインデックスマップ601は複数のマッチペア又は複数のアンマッチペアによって表され得る。複数のマッチペアについて、複数のグループインデックスのマッチした距離及び長さのペアが受信機に信号で伝えられる。
符号化ユニットがほんの数色しか含まない、いくつかの極めて顕著なシナリオが存在する。これは、同一のインデックス値を有する1又は複数の大きな連続した又は隣接した部分をもたらし得る。そのような場合では、(距離,長さ)のペアを信号で伝えることが、必要以上のオーバヘッドをもたらす場合がある。この問題に対処すべく、以下で説明される簡易化されたカラーインデックスマップ処理方法は更に、カラーインデックスマップの符号化で消費されるビット数を低減する。
1Dインデックスマップ符号化解決法と同様に、「距離」の概念は2つの主要なカテゴリ:有意距離(significant distance)及び通常距離に分けられ得る。通常距離は、複数のコンテキストを使用してエンコードされる。次に、関連付けられた複数の長さが順にエンコードされる。
この方法の複数の実施形態は有意距離を使用する。この方法には2つのタイプの有意距離が存在する。1つは距離=blockWidthである。もう1つは、距離=1である。これらの2つのタイプの有意距離は、距離=1及び距離=blockWidthが、距離分布全体のうちの最も大きな割合と関連付けられているという所見を反映している。それらの2つのタイプの有意距離がここで例として説明される。
距離=blockWidthを使用する符号化方法は、CopyAbove符号化とも称される。CopyAbove符号化法を説明すべく、図6の64×64カラーインデックスマップ601が再度考察される。カラーインデックスマップ601はblockWidth=64を有する。64×64カラーインデックスマップ601内には、破線で示された、複数のインデックスからなる2つのストリング611−612がある。ストリング612内の複数のインデックス値は、真上のストリング611内の対応する複数のインデックス値と同一である。ストリング612内の複数のインデックス値は、ストリング611内の複数のインデックス値と同一なので、ストリング612内の複数のインデックス値はストリング611内の複数のインデックス値を参照することでエンコードされ得る。水平走査を使用してカラーインデックスマップ601が(図7の1Dカラーインデックスベクトル700に示されるものなどの)1Dカラーインデックスベクトルに変換される場合、ストリング611−612内の対応する複数のインデックス値の間の1Dカラーインデックスベクトルに沿った「距離」は、カラーインデックスマップ601のブロック幅である64に等しい。例えば、カラーインデックスマップ601が、64×64=4096個の要素を有する1Dカラーインデックスベクトルに変換される場合、ストリング611の一番目の値であるインデックス値「6」と、ストリング612の一番目の値であるインデックス値「6」との間のベクトルに沿った距離は64である。マッチしたストリング611−612の長さは27である。なぜなら、各ストリング611−612は27個のインデックス値を含むからである。従って、ストリング612は、CopyAbove符号化法と、27個のインデックス値の長さとを示すことで簡単に符号化され得る。
距離=1を使用する符号化方法は、IndexMode符号化又はCopyLeft符号化とも称される。IndexMode符号化を説明すべく、カラーインデックスマップ601の複数のインデックスからなるストリング613を考察しよう。ストリング613は、その後に51個の後続のインデックス値「14」が続く第1のインデックス値「14」を含む。ストリング613内のインデックス値の各々は同一なので、一番目の「14」に続く、ストリング613の51個のインデックス値は、(現在のインデックス値の左のインデックスまでの距離が1であるインデックス値が同じ値を有することを示す)距離=1を使用して一緒に符号化され得る。マッチしたストリング613の長さは51である。従って、ストリング613は、IndexMode符号化法と、51個のインデックス値の長さとを示すことで簡単に符号化され得る。
上述されたように、この簡易化されたカラーインデックスマップ符号化の方法では、符号化に使用された距離は有意な位置のみに限定され得る、すなわち、これらの実施形態での距離は、1又はblockWidthのみに限定され得る。更にオーバヘッドを低減すべく、マッチしたインデックスの長さはまた、符号化ユニット幅に限定され得る。この定義を使用して、距離及び長さのペアは、長さ及び距離のオーバヘッド(それはブロック幅と推定される)を送信することなく、2つのバイナリフラグ(すなわち、2つのビン)のみを使用して信号で伝えられ得る。例えば、第1のフラグは、符号化が有意距離を使用しているのか、又は、有意距離を使用しないのかを示し得る。第1のフラグが、符号化は有意距離を使用していることを示す場合、第2のフラグは、有意距離が1(すなわち、IndexMode)なのか、又はblockWidth(すなわち、CopyAbove)なのかを示し得る。マッチしたストリングは符号化ユニットにおいてライン毎(又は行毎)に生じるので、距離=1又は距離=blockWidthによってマッチしない、ライン内のあらゆるインデックスはアンマッチインデックスとして扱われる。そのようなアンマッチインデックスは個別に1つ1つ符号化される。これらのアンマッチインデックスについて、効率を向上させるべく上述の予測方法が使用され得る。
デコーダは、上述のCopyAbove符号化技術及びIndexMode符号化技術に類似した複数の復号化オペレーションを実行し得る。例えば、デコーダは、第2のフラグを受信し得、当該第2のフラグの値に基づいて、デコーダはCopyAbove復号化技術に従って復号化するのか、又はIndexMode復号化技術に従って復号化するのかを知る。
更に上述の1Dストリングマッチング技術の2D変動が使用され得る。2Dマッチング技術は以下の複数の段階を含む。
段階1:現在のピクセルの位置及び参照ピクセルが開始点として特定される。
段階2:現在のピクセルの右方向及び参照ピクセルに水平1Dストリングサーチが適用される。最大サーチ長は、現在の水平行の末尾で制限される。最大サーチ長は、right_widthとして記録され得る。
段階3:現在のピクセルの左方向及び参照ピクセルに水平1Dストリングサーチが適用される。最大サーチ長は現在の水平行の先頭で制限され、かつ、前の2Dマッチのright_widthによっても制限されてよい。最大サーチ長はleft_widthとして記録され得る。
段階4:現在のピクセル及び参照ピクセルの下のピクセルを、新たな現在のピクセル及び参照ピクセルとして使用して、同一の1Dストリングサーチが次の行において実行される。
段階5:right_width==left_width==0の場合、停止する。
段階6:各高さ[n]={1,2,3…}について、対応する幅の配列[n](例えば、{left_width[1],right_width[1]},{left_width[2],right_width[2]},{left_width[3],right_width[3]}…)が存在する。
段階7:各高さ[n]について、新たなmin_width配列が、{{lwidth[1],rwidth[1]},{lwidth[2],rwidth[2]},{lwidth[3],rwidth[3]}…}として定義される。ここで、lwidth[n]=min(left_width[1:n−1])、rwidth[n]=min(right_width[1:n−1])である。
段階8:サイズ配列{size[1],size[2],size[3]…}もまた定義される。ここで、size[n]=高さ[n]×(lwidth[n]+hwidth[n])である。
段階9:size[n]がサイズ配列において最大値を保持するものと仮定すると、2Dストリングマッチの幅及び高さは、対応する{lwidth[n],rwidth[n],高さ[n]}を使用して選択される。
1Dサーチ又は2Dサーチの速度を最適化するための1つの技術は、実行中のハッシュを使用するものである。いくつかの実施形態において、4‐ピクセルの実行中のハッシュ構造が使用され得る。実行中のハッシュが水平方向における全ピクセルについて計算されて、水平ハッシュ配列running_hash_h[]が生成される。別の実行中のハッシュがrunning_hash_h[]の上部で計算されて、2Dハッシュアレイ running_hash_hv[]が生成される。2Dハッシュアレイ running_hash_hv[]内の値の各値のマッチは、4×4ブロックマッチを表す。2Dマッチを実行すべく、複数の4×4ブロックマッチが、それらの隣接するものとのピクセルに関する比較を実行する前に見付けられる。ピクセルに関する比較は1‐3ピクセルに限定されるので、サーチ速度は劇的に増加され得る。
上記の説明から、各行のマッチした幅は互いに異なり、従って、各行は別々に処理されなくてはならない。効率及び低複雑性を達成すべく、本開示の複数の実施形態は、ハードウェア及びソフトウェアの実装の両方において使用され得るブロックベースアルゴリズムを提供する。標準的な動き予測といくつかの点で同様なように、このアルゴリズムは一度に1つの矩形ブロックを処理する。
図8は、U_PIXELモジュール800と呼ばれる、このアルゴリズムにおける基本ピクセル処理ユニットの例を示している。U_PIXELモジュール800は、符号化された信号801及び入力信号802を受信し、複数の論理ゲート803‐806を含む。符号化された信号801は、参照ピクセルが、前のストリングマッチ・オペレーションから既にエンコードされたかどうかを示すフラグである。任意で、入力信号802(cmp[n−1])は強制的に「0」にされ得る。このことにより、最後の「OR」ゲート806をU_PIXELモジュール800から取り去ることが可能である。
例として4×4ブロックを用いる。第1段階は各行の並列処理である。矩形の1つの行の各ピクセルが、1つのU_PIXELモジュール800に割り当てられる。各行を処理するための処理ユニットはU_ROWモジュールと呼ばれる。図9はU_ROWモジュール900の例を示している。U_ROWモジュール900は、複数のU_PIXELモジュール800を含む。4×4ブロックの場合では、U_ROWモジュール900は4つのU_PIXELモジュール800を含む。図9に示されるように、U_ROWモジュール900は、901において示されるように、一番目の行、行0を処理中である。
4×4ブロックの4つの行を処理すべく、4つのU_ROWモジュール900が使用される。4つのU_ROWモジュール900は、U_CMPモジュール内で並列に配置され得る。図10は、4つのU_ROWモジュール900を含むU_CMPモジュール1000の例を示している。U_CMPモジュール1000の出力は、配列cmp[4][4]である。
当該アルゴリズムの次の段階は、cmp配列の各列の並列処理である。cmp配列の列内の各cmpは、U_COLモジュールによって処理される。図11は、cmp配列の4つの列1101‐1104を受信するU_COLモジュール1100の例を示している。4つのU_COLモジュール1100は、4×4ブロックの4つの列を処理すべく使用され得る。4つのU_COLモジュール1100は、U_2D_BLOCKモジュール内で並列に配置され得る。図12は、4つのU_COLモジュール1100を含む例示的なU_2D_BLOCKモジュール1200を示している。U_2D_BLOCKモジュール1200の出力は、配列rw[4][4]である。
次に配列rw[n][0‐3]の各行におけるゼロの数がカウントされ、その4つの結果が配列r_width[n]に記録される。配列r_width[n]は、上述の2Dマッチング技術の段階7における配列rwidth[n]と同一である。配列l_width[n]が同様にして生成される。段階7におけるmin_width配列を、{{l_width[1],r_width[1]},{l_width[2],r_width[2]},{l_width[3],r_width[3]}…}として得ることが可能である。
このアルゴリズムはハードウェア、又はハードウェア及びソフトウェアの組み合わせで実装され得、任意の最新のCPU(中央処理装置)、DSP(デジタル信号プロセッサ)、又はGPU(グラフィック処理ユニット)の並列処理フレームワークにおいて機能する。高速ソフトウェア実装のための簡易化された疑似コードが以下に列挙される。
上記擬似コードにおいて示されているように、各FORループにおいてデータ依存性はないので、実行速度を上げるべく、ループアンローリング又はMMX/SSEなどの典型的なソフトウェア並列処理方法が適用され得る。
このアルゴリズムはまた、行数が1に限定される場合に、1Dサーチに対して適用され得る。固定長ベースの1Dサーチの高速ソフトウェア実装のための簡易化された疑似コードが以下に列挙される。
1Dサーチ及び2Dサーチの両方が完了した後、(1D長さ,2Dサイズ(幅×高さ))の最大のものが「ウィナー(winner)」として選択される。2Dマッチのlwidth(左側幅)が非ゼロである場合、前の1Dマッチの長さ(長さ=length−lwidth)は、前の1Dマッチと現在の2Dマッチとの間でのオーバーラップを回避すべく調整され得る。調整後に前の1Dマッチの長さゼロになる場合はマッチリストから排除されるべきである。
次に、以前のマッチが1Dマッチである場合はcurrent_location+lengthを、又は、以前のマッチが2Dマッチである場合はcurrent_location+(lwidth+rwidth)を使用して、開始位置が計算される。1Dサーチが実行される場合、何れかのこれからマッチするであろうピクセルが、その位置が2Dマッチによって既にカバーされている何れかの前の2Dマッチ領域に含まれるとき、次の1又は複数のピクセルが、以前のマッチによって符号化されなかったピクセルが見付けられるまで、最初から最後まで走査される。
複数のマッチペアを取得した後、これらの符号化要素をバイナリストリームに変換すべく、エントロピーエンジンが適用され得る。いくつかの実施形態において、エントロピーエンジンは同等確率モデルを使用し得る。より良好な圧縮効率のために、先進的な適応型コンテキストモデルも同様に適用され得る。以下の擬似コードは、各マッチペアのためのエンコード手順の例である。
これに対応して、マッチペアについての復号化処理が、以下の擬似コードにおいて提供される。
複数のアンマッチの位置のピクセルのみがビットストリームへとエンコードされることに留意されたい。より正確な統計モデルを持つべく、いくつかの実施形態は、CU内の全てのピクセルを使用する代わりに、パレットテーブル導出のためのこれらのピクセル及びそれらの隣接するピクセルのみを使用してよい。
インデックス又はデルタの出力を決定する複数のエンコードモードでは、エンコード結果は通常、限られた数の一意の値を含む。この所見を利用すべく、本開示の複数の実施形態は第2のデルタパレットテーブルを提供する。このデルタパレットテーブルは、全てのリテラルデータが現在のCUにおいて得られた後に作成され得る。当該デルタパレットテーブルは、ビットストリームで、明示的に信号で伝えられ得る。或いは、それは、符号化処理中に適応的に作成され得、これにより、テーブルはビットストリームに含まれる必要がなくなる。この選択のためにdelta_color_table_adaptive_flagが設けられる。
いくつかの実施形態において、Neighboring Delta Palette Table Mergeと呼ばれる別の先進的なスキームが提供される。適応型デルタパレット生成では、エンコーダは上部CU又は左側CUからのデルタパレットを最初の開始点として使用し得る。非適応型パレット生成では、エンコーダはまた、上部CU又は左側CUからのデルタパレットを使用し得、次に、上部CU、左側CU、現在のCUの間でR‐Dコストを比較し得る。
現在のCUがその左側CUからのデルタパレットテーブルを使用するのか、又は、その上側CUからのデルタパレットテーブルを使用するのかを示すべく、delta_color_table_merge_flagが定義される。現在のCUは、同時にdelta_color_table_adaptive_flag==0かつdelta_color_table_merge_flag==0の場合のみに、明示的に信号で伝えるデルタパレットテーブルを保持する。マージ処理では、delta_color_table_merge_flagがアサートされている場合、マージ候補が上側CU又は左側CUの何れからのものであるのかを示すべく、別のフラグ、delta_color_table_merge_directionが定義される。
delta_color_table_adaptive_flag==1の場合、以下は、適応型デルタパレット生成のためのエンコード処理の例である。デコーダ側において、デコーダがリテラルデータを受信するときはいつも、次にデコーダは複数の逆段階を使用してデルタパレットを再生成し得る。
段階1:配列palette_table[]及びpalette_count[]が定義される。
段階2:配列palette_table[]がpalette_table(n)=n(n=0…255)として初期化される。或いは、上部CU又は左側CUからのpalette_table[]が初期値として使用され得る。
段階3:配列palette_count[]がpalette_count(n)=0(n=0…255)として初期化される。或いは、上部CU又は左側CUからのpalette_count[]が初期値として使用され得る。
段階4:任意のデルタ値c'について、以下の複数のオペレーションが実行される。
a)palette_table(n)==デルタc'となるように、nを配置する。
b)nをデルタc'の新たなインデックスとして使用する。
c)++palette_count(n)。
d)降順になるようにpalette_count[]をソーティングする。
e)適宜palette_table[]をソーティングする。
段階5:処理は段階1に戻り、現在のCU内の全てのデルタc'が処理されるまで当該処理が繰り返される。
テキスト及びグラフィックの両方を含む任意のブロックについて、テキスト部及びグラフィックス部を分けるべくマスクフラグが使用され得る。テキスト部は上述の圧縮方法を使用して圧縮され得、グラフィックス部は別の圧縮方法によって圧縮され得る。マスクフラグによってカバーされた任意のピクセルの値はテキストレイヤによってロスレスに符号化されているので、グラフィックス部の各ピクセルは「ドントケア・ピクセル」とみなされ得る。グラフィックス部が圧縮される場合、最適な圧縮効率を得るべく、任意の値がドントケア・ピクセルに割り当てられ得る。
インデックスマップ及び複数の残差がパレットテーブル導出処理中に生成される。インデックスマップをロスレスに圧縮することで、1D又は2Dのストリングサーチを使用して効率的な処理が可能となる。いくつかの実施形態において、1D又は2Dのストリングサーチは現在のCU内に制限される。しかしながら、サーチウィンドウは現在のCUを超えて拡張され得る。マッチした距離は、水平方向及び垂直方向の動きベクトルのペアを使用してエンコードされ得る。例えば、(MVy=matched_distance/cuWidth,MVy=matched_distance−cuWidth×MVy)。
画像は、複数の局所領域において異なる空間的テクスチャ方向性(texture orientation)を有し得るので、1Dサーチは、color_idx_map_pred_directionインジケータの値に基づいて水平方向又は垂直方向の何れかにおいて実行され得る。最適なインデックス走査方向は、R‐Dコストに基づいて決定され得る。図13は、水平走査オペレーション及び垂直走査オペレーションの例を示している。図13において、例示的な2Dカラーインデックスマップ1301が示されている。カラーインデックスマップ1301は、図3のカラーインデックスマップ311を表し得る。カラーインデックスマップ1301は8×8マップであるが、他のサイズのカラーインデックスマップも可能である。図13において示されるように、水平走査1302又は垂直走査1303がカラーインデックスマップ1301に対して実行され得る。いくつかの実施形態において、deriveMatchPairs()と、関連付けられた複数のエントロピー符号化段階とが水平走査及び垂直走査の両方について2回実行される。次に、最終的な走査方向が、R‐Dコストが最小である方向として選択される。
改良されたバイナリゼーション
上で示されたように、パレットテーブルと、カラーインデックスマップのマッチ情報のペアとが固定長バイナリゼーションを使用してエンコードされ得る。或いは、可変長バイナリゼーションが使用され得る。例えば、パレットテーブルエンコードでは、パレットテーブルは8つの異なる色値を有してよい。故に、対応するカラーインデックスマップは、8つの異なるインデックスのみを含んでいてよい。全てのインデックス値を平等にエンコードすべく固定の3つのビンを使用する代わりに、背景ピクセルを表すべくただ1つのビンが使用され得る。例えば、背景ピクセルは0として表されてよい。次に、カラーインデックスをエンコードすべく、1000、1001、1010、1011、1100、1101、及び1110などの固定長の符号語を使用して残りの7つのピクセル値が表され得る。これは、背景色が画像の最大割合を占有する場合があるという事実に基づいているので、背景色のための別個のただ1つのビットの符号語がスペースを全面的に節約し得る。このシナリオはスクリーンコンテンツではよく起こる。例として、16×16CUを考察する。固定3ビン・バイナリゼーションを使用すると、カラーインデックスマップは3×16×16=768個のビンを必要とする。或いは、画像の40パーセントを占有する背景色を0としてインデックス化し、一方で他の複数の色を平等に分散させる。この場合、カラーインデックスマップは2.8×16×16<768のビンしか必要としない。
マッチペアのエンコードについて、現在のCUのエリア内の現在の技術制約を考慮して、マッチした距離及び長さの考えられる最大値が、そのバイナリゼーションを制限すべく使用され得る。数学的に、それぞれの場合において、マッチした距離及び長さは64×64=4Kにもなり得る。しかしながら、これは通常一緒には起こらない。全てのマッチした位置について、マッチした距離は、Lとして示され得る、現在位置と、参照バッファのまさに一番目の位置(例えば、現在のCUの一番目の位置)との間の距離によって制限される。故に、距離のバイナリゼーションのための最大ビンは(固定長の代わりに)log(L)+1であり、長さのバイナリゼーションのための最大ビンはlog(cuSize−L)+1である。式中、cuSize=cuWidth×cuHeightである。
パレットテーブル及びインデックスマップに加えて、異なる複数のバイナリゼーション方法によって残差係数符号化が大幅に改良され得る。HEVC RExt及びHEVCバージョンに関して、予測、変換、及び量子化後に従来の複数の方法を使用して生成された当該係数は、通常ほぼゼロの大きさを有するという所見に基づいて、可変長を使用して変換係数はバイナライズされ、非ゼロ値は通常、変換ユニットの左上隅に配置される。しかしながら、変換処理全体を回避することを可能にする、HEVC RExtの変換スキップ符号化ツールを導入した後、残差の大きさの分布は変化している。特に、複数の別個の色でスクリーンコンテンツに対して変換スキップを可能にした場合、一般的に複数の大きな値(すなわち、「1」、「2」、又は「0」などのゼロ近傍ではない値)を持った係数が存在し、複数の非ゼロ値は、変換ユニットの内部の複数のランダムな位置で生じる場合がある。現在のHEVC係数バイナリゼーションが使用される場合、それは非常に長い符号語をもたらす場合がある。或いは、固定長バイナリゼーションが使用され得る。当該固定長バイナリゼーションは、パレットテーブル及びインデックス符号化モードによって生成された残差係数の符号長を節約し得る。
新たな予測ピクセル生成方法
上述されたように、カラーインデックスマップのエンコードにおいて、1D/2Dストリングサーチが実行される。マッチしたインデックスが見付けられた、カラーインデックスマップ内の任意の位置において、デコーダはマッチした位置におけるピクセルを用い、それを元のピクセルから減算して残差ピクセルを生成する。この手順は、マッチした位置において、カラーインデックスによって表されるカラーパレットテーブル内の対応する色を使用すること、又は、マッチした位置において、再構成されたピクセルを使用することの何れかによって実行され得る。
上述の2つの方法に基づいて予測値を生成する2つの方法が存在する。第1の方法では、任意の目標ピクセル位置について、RGB値は、マッチした位置における主要色のインデックスによってパレットテーブルから導出され、このRGB値は目標ピクセルの予測値として使用される。しかしながら、この方法は、デコーダが、現在のCUの外部の複数のピクセルに対してカラーインデックス導出手順を実行することを強要し、その結果、復号化時間を増加させる。
第1の方法におけるカラーインデックス導出手順を回避すべく、任意の目標ピクセル位置について、マッチした位置における再構成されたピクセル値が予測値として使用される、第2の方法が適用される。この方法では、予測ピクセルが現在のCU内にある場合、再構成された値は有効ではない。しかしながら、この場合はカラーインデックスが利用可能であり、カラーパレットテーブル内のそれの対応する色が予測ピクセルとして使用され得る。
現在のCU内の任意のピクセルの残差値は、元の値からそれの予測値を減算することで導出され得る。次に、それは量子化され、ビットストリームにエンコードされる。現在のCU内の任意のピクセルの再構成された値は、それの予測値と、量子化された残差値とを足すことで導出され得る。
単一色モード
単一色CUは、全てのピクセル位置において一色のみを有するCU、又は、そのパレットに一色しか有さず、一様な単一値のインデックスマップを有するCUの何れかであり得る。パレットモードで単一色CUを圧縮する方法は複数ある。1つの方法、すなわち、Single Color Modeにおいて、この単一カラーパレット情報のみがエンコードされ、ビットストリームに含まれる。カラーインデックスマップ部全体はスキップされる。これは、一様なオールゼロのインデックスマップのエンコード及び送信とは対照的である。パレットに一色しかなく、インデックスマップがない場合、デコーダ側では、現在のCUの全てのピクセル位置は、パレットのその色で充填されるだろう。
ピクセル領域ストリングコピー
上述されたように、カラーインデックスマップ領域において1D/2Dストリングコピーが適用される。1D/2Dストリングコピーはまたピクセル領域においても適用され得る。インデックスマップ領域1D/2Dストリングコピーと比較して、ピクセル領域における1D/2Dストリングコピーはいくつかの変更を含む。それらの変更は以下のようなものである。
1.パレットテーブル及びインデックスマップの生成処理は必要ではなく、スキップされ得る。その代わりに、インデックス領域に対する全てのパレットテーブル生成、インデックスマップ生成、及び1D/2Dストリングサーチは依然として実行されるが、パレットテーブルはビットストリームに書き込まれない。符号化されたマップは、1Dストリングマッチの長さ、又は、2Dストリングマッチの幅及び高さに基づいて生成される。符号化されたマップは、ピクセル位置が以前のマッチによってカバーされているかどうかを示している。次の開始位置は、以前のマッチによってカバーされていない最初の位置である。
2.アンマッチデータを符号化する場合、(カラーインデックス値の代わりに)そのRGB値がビットストリームに書き込まれる。アンマッチデータを符号化する場合、シンタックステーブルにおいてこのRGB値の前に1ビットのフラグが追加される、ピクセルインデックス符号化方法がまた適用され得る。このRGB値が初めて現れた場合、当該フラグは1に設定され、このRGB値自体がビットストリームに符号化される。このRGB値はその後ルックアップテーブルに追加される。このRGB値が再度現れた場合、フラグは0に設定され、このRGB値の代わりのルックアップテーブルのインデックス値が符号化される。
3.予測ピクセル生成方法が単一色モードのOption2を使用する(予測ピクセル位置からの再構成されたピクセル値は予測値として使用される)。
4.単一色CUについて、単一色モードのOption1又はOption2の何れかが選択され得る。Option1が選択された場合、主要色のRGB値はビットストリームのパレットテーブル部に書き込まれる。Option2が選択された場合、1Dサーチにおいて上側ラインが使用されず、現在のCUについて2Dオプションが許容されなかったとき、主要色のRGB値はビットストリームのパレットテーブル部に書き込まれる。
通常、2Dストリングコピーはフレキシブルなアルゴリズムであり、それは、マッチブロックを見付けるべく、異なる幅及び高さの複数のブロックに対して複数のオペレーションを実行し得る。2DストリングコピーがCUの幅及び高さに制限される場合、2Dストリングコピーは固定幅/高さブロックコピーになる。イントラブロックコピー(IBC)は、固定幅/高さブロックに対して作用する2Dストリングコピーのこの特定の場合と実質的に同一である。固定幅/高さの2Dストリングコピーにおいて、残差が同様にエンコードされる。これは、また、IBCによって使用される残差符号化方法と実質的に同一である。
混合コンテンツのための適応型クロマサンプリング
上述の複数の実施形態は、HEVC/HEVC‐RExtのフレームワーク下での高効率スクリーンコンテンツ符号化のための様々な技術を提供する。実際には、(テキスト、グラフィックなどの)純粋なスクリーンコンテンツ、又は、純粋な自然な映像に加えて、コンピュータで生成されたスクリーン材料とカメラによって取り込まれた自然な映像との両方を含むコンテンツもまた存在する。これは混合コンテンツと称される。現在、混合コンテンツは、4:4:4クロマサンプリングで処理される。しかしながら、そのような混合コンテンツ内の組み込まれた、カメラによって取り込まれた自然な映像の部分については、知覚的にロスレスな品質を提供するのに4:2:0のクロマサンプリングで十分な場合がある。これは、人間の視覚が、複数のルマ成分からの空間変化と比較して、複数のクロマ成分における空間変化に対してより敏感ではないという事実に起因する。よって、再構成された同一の視覚品質を維持しつつ、顕著なビットレート低減を達成すべく、通常、複数のクロマ成分(例えば、一般的な4:2:0のビデオフォーマット)に対してサブサンプリングが実行される。
本開示の複数の実施形態は、フラグ、enable_chroma_subsamplingを提供する。当該フラグは、再帰的にCUレベルで定義され、信号で伝えられる。各CUについて、エンコーダは、レート歪みコストに応じて、それが4:2:0を使用して符号化されているところなのか、又は、4:4:4を使用して符号化されているところなのかを決定する。図14Aおよび図14Bは4:2:0及び4:4:4のクロマサンプリングフォーマットの例を示している。図14Aは4:2:0のサンプリングの例を示しており、図14Bは、4:4:4のサンプリングの例を示している。
エンコーダ側において、各CUについて、入力が図14Bに示された4:4:4のソースであると仮定すると、レート歪みコストは、enable_chroma_subsampling=0又はFALSEの4:4:4エンコード手順を使用して直接導出される。次に、当該処理は、複数の4:4:4サンプルを4:2:0にサブサンプリングして、それのビット消費が導出される。歪み測定のために、再構成された4:2:0フォーマットは、(例えば、誤差二乗和(SSE)又は絶対差和(SAD)を使用して)補間されて4:4:4フォーマットに戻される。ビット消費と共に、レート歪みコストは、CUを4:2:0の空間でエンコードする場合に導出され、それを、CUを4:4:4でエンコードする場合のコストと比較する。次に、より低いレート歪みコストをもたらすエンコード方法の方が、最終的なエンコード用に選択される。
図15は4:4:4から4:2:0への、及びその逆の補間処理の例を示している。通常、ビデオカラーサンプリングフォーマット変換処理は、多数の補間フィルタを必要とする場合がある。実装の複雑性を低減すべく、HEVC補間フィルタ(すなわち、DCT‐IF)が利用されてよい。図15に示されるように、四角形のボックスは、元の4:4:4のサンプルを表している。4:4:4から4:2:0へと、(円で表された)複数のハーフペルピクセルは、複数のクロマ成分について垂直方向にDCT‐IFを使用して補間される。図15には、ダイヤモンドで表された複数のクォーターペル位置もまた示されている。グレーでシェーディングされた円は、4:2:0のサンプルを形成すべく選択される。4:2:0から4:4:4への補間では、処理は複数のクロマ成分のグレーの円から開始し、全ての円を得るべく、複数のハーフペル位置が水平方向に補間され、次に、複数の四角形のボックスは、垂直方向にDCT‐IFを使用して補間される。補間された複数の四角形のボックスの全てが、再構成された4:4:4の信号を形成すべく選択される。
エンコーダ制御
上述したように、エンコーダにおける低レベル処理を制御すべく、複数のフラグが設けられている。例えば、enable_packed_component_flagは、処理のエンコードのために、現在のCUがそのパックド・フォーマットを使用するのか、又は、従来のプラナーフォーマットを使用するのかを示すべく使用される。パックド・フォーマットを有効にするかどうかの決定は、エンコーダにおいて計算されたR‐Dコストに依存し得る。いくつかのエンコーダの実装において、決定のためにCUのヒストグラムを分析すること、及び、最良の閾値を見付けることによって、低複雑性の解決法が達成され得る。
パレットテーブルのサイズは、複雑性に直接影響を及ぼす。複雑性と符号化効率との間のトレードオフを制御すべく、パラメータ、maxColorNumが導入される。最も単純な手段は、最も低いR‐Dコストをもたらす選択肢を選ぶことである。インデックスマップエンコード方向は、R‐D最適化によって、又は局所空間方向性(例えば、Sobelオペレータを使用するエッジ方向推定)を使用することによって決定され得る。
上述の実施形態のうちのいくつかは、全てのCTU又はCU内の処理を限定してよい。実際には、この制約は緩和され得る。例えば、カラーインデックスマップ処理では、図16に示されるように、上側CU又は左側CUからのラインバッファが使用され得る。図16は、上側インデックスラインバッファ又は左側インデックスラインバッファを使用するカラーインデックスマップ処理の例を示している。上側バッファ及び左側バッファがあれば、サーチは、更に符号化効率を向上させるべく拡張され得る。上側バッファ及び左側バッファが、複数の隣接CUからの再構成された複数のピクセルを使用して形成されたと仮定すると、これらのピクセル(及びそれらの対応するインデックス)は、現在のCUインデックスマップの処理前に参照として利用可能である。例えば、図16に示されるように、再度の順序付けの後、現在のCUインデックスマップ1600は、14、14、14…1、2、1(1Dストリングとして提示される)であり得る。ラインバッファの参照がなければ、一番目の「14」がアンマッチペアとして符号化されるであろう。しかしながら、隣接するラインバッファがあれば、一番目の「14」は、上側インデックスラインバッファ又は左側インデックスラインバッファの何れかの「14」とマッチする。従って、ストリングコピーがまさに一番目のピクセルから開始し得る。
デコーダ・シンタックス
以下で提供される情報は、図2に示される受信機200の複数の復号化オペレーションを説明すべく使用され得る。以下に示されるシンタックスはHEVC RExtの委員会草案と連携している。
7.3.5.8 符号化ユニットシンタックス
図17は、本開示に係るスクリーンコンテンツ符号化のための方法を示している。図17に示された方法1700は上述の主要概念に基づいている。方法1700は、図1の送信機100によって実行されてよい。しかしながら、方法1700はまた、任意の他の適切なデバイス又はシステムでも使用され得る。
オペレーション1701において、デバイスが、現在のCUに基づいてカラーインデックスマップを導出する。オペレーション1703において、デバイスがカラーインデックスマップをエンコードする。デバイスは、第1の符号化技術を使用してカラーインデックスマップの少なくとも一部をエンコードする。第1のインジケータが、第1の符号化技術の有意距離を示す。例えば、いくつかの実施形態において、第1のインジケータの第1の値は、1に等しい有意距離を使用するIndexMode符号化技術を示し、第1のインジケータの第2の値は、現在のCUのブロック幅に等しい有意距離を使用するCopyAbove符号化技術を示している。
デバイスが第1の符号化技術を使用してエンコードするカラーインデックスマップの一部は、複数のインデックスからなる第1ストリングであって、現在のCUにおいて、複数のインデックスからなる当該第1ストリングの真上の複数のインデックスからなるマッチする第2ストリングを有する、複数のインデックスからなる第1ストリング、又は、複数のインデックスからなる第3ストリングであって、現在のCUにおいて、全てが、複数のインデックスからなる当該第3ストリングの中の第1のインデックスのすぐ左の参照インデックス値と同じ値を有する複数のインデックスからなる第3ストリングの何れかである。
オペレーション1705において、受信機への送信のために、デバイスが、エンコードされたカラーインデックスマップと第1のインジケータとを組み合わせる。
図17は、スクリーンコンテンツ符号化のための方法1700の一例を示しているが、様々な変更が図17に対して成されてよい。例えば、一連の段階として示されているものの、図17に示された様々な段階は、オーバーラップすること、並列に起こること、異なる順番で起こること、又は、複数回起こることが可能である。更に、いくつかの段階は組み合わせられる、又は削除されることが可能であり、更なる複数の段階が特定の必要性に従って追加され得る。
図18は、本開示に係るスクリーンコンテンツ復号化のための方法を示している。図18に示された方法1800は、上述の主要概念に基づいている。方法1800は、図2の受信機200によって実行されてよい。しかしながら、方法1800はまた、任意の他の適切なデバイス又はシステムでも使用され得る。
オペレーション1801において、デバイスが送信機からの圧縮ビデオビットストリームを受信する。ビデオビットストリームは、エンコードされたカラーインデックスマップを含む。デバイスはまた、第1のインジケータも受信する。第1のインジケータは、第1の復号化技術の有意距離を示す。例えば、いくつかの実施形態において、第1のインジケータの第1の値は、1に等しい有意距離を使用するIndexMode復号化技術を示し、第1のインジケータの第2の値は、現在のCUのブロック幅に等しい有意距離を使用するCopyAbove復号化技術を示す。
オペレーション1803において、デバイスが、第1の復号化技術を使用してカラーインデックスマップの少なくとも一部を復号化する。ここで、第1のインジケータは、第1の復号化技術の有意距離を示す。その後、オペレーション1805において、デバイスが、カラーインデックスマップに基づいて、現在のCUに関連付けられた複数のピクセルを再構成する。
図18はスクリーンコンテンツ復号化のための方法1800の一例を示しているが、様々な変更が図18に対して成されてよい。例えば、一連の段階として示されているものの、図18に示された様々な段階は、オーバーラップすること、並列に起こること、異なる順番で起こること、又は複数回起こることが可能である。更に、いくつかの段階は組み合わせられる、又は削除されることが可能であり、更なる複数の段階が特定の必要性に従って追加され得る。
いくつかの実施形態において、デバイスのうちの1又は複数のものの機能又は処理の一部又は全ては、コンピュータ可読プログラムコードから形成され、かつコンピュータ可読媒体において具体化されたコンピュータプログラムによって実施又はサポートされる。「コンピュータ可読プログラムコード」という語句は、ソースコード、オブジェクトコード、及び実行コードを含む、任意のタイプのコンピュータコードを含む。「コンピュータ可読媒体」という語句は、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、ハードディスクドライブ、コンパクトディスク(CD)デジタルビデオディスク(DVD)、又は任意の他のタイプのメモリなどの、コンピュータによってアクセス可能な任意のタイプの媒体を含む。
本特許文献全体を通して使用された特定の単語及び語句の定義を記載することは有利であろう。「含む」及び「備える」という用語、並びにこれらの派生語は、限定することのない含有を意味する。「又は」という用語は両立的であり、及び/又はを意味している。「〜に関連付けられた」及び「それに関連付けられた」という語句、並びにこれらの派生語は、〜内に含まれること、〜と相互接続すること、含有すること、〜内に含有されること、〜に若しくは〜と接続すること、〜に若しくは〜と連結すること、〜と通信可能なこと、〜と協同すること、インターリーブすること、並置すること、〜に近接していること、〜に若しくは〜と結合されていること、有すること、〜の特性を有すること、又は同様のものを含むことを意味している。
本開示は、特定の実施形態及び概して関連付けられた方法を説明してきたが、これらの実施形態及び方法の修正及び並べ替えが当業者には明らかであろう。従って、例示的実施形態に係る上記の説明は、本開示を定義も制限もしない。以下の特許請求の範囲によって定義される、本開示の主旨及び範囲から逸脱することなく、他の変更、置換、及び修正がまた可能である。

Claims (16)

  1. スクリーンコンテンツ符号化のための方法であって、
    現在の符号化ユニット(CU)に基づいてカラーインデックスマップを導出する段階であり、前記現在のCUに基づいて複数の色値を含むパレットテーブルが生成され、前記パレットテーブルの各色に割り当てられるカラーインデックスを使用して前記現在のCUから前記カラーインデックスマップが生成され、前記パレットテーブル外の各色に割り当てられる予測残差値を使用して前記現在のCUから予測残差マップが生成される、段階と、
    前記カラーインデックスマップをエンコードする段階であって、前記カラーインデックスマップの少なくとも一部は1に等しい有意距離を使用するIndexMode符号化技術又は前記現在のCUのブロック幅に等しい有意距離を使用するCopyAbove符号化技術を使用してエンコードされ、使用された符号化技術の有意距離がインジケータにより示される、段階と、
    前記エンコードされたカラーインデックスマップと前記インジケータとを組み合わせて、前記パレットテーブル及び前記予測残差マップとともに受信機に送信する段階と、
    を備える方法。
  2. 前記CopyAbove符号化技術を使用してエンコードされた前記カラーインデックスマップの前記少なくとも一部は、複数のインデックスからなる第1ストリングであって、前記現在のCUにおいて、複数のインデックスからなる前記第1ストリングの真上の、複数のインデックスからなるマッチする第2ストリングを有する、複数のインデックスからなる前記第1ストリングであり、
    前記CopyAbove符号化技術の出力は、複数のインデックスからなる前記第1ストリングの長さを含む、請求項1に記載の方法。
  3. 前記IndexMode符号化技術を使用してエンコードされた前記カラーインデックスマップの前記少なくとも一部は、複数のインデックスからなる第3ストリングであって、前記現在のCU内において、全てが、複数のインデックスからなる前記第3ストリングの中の第1のインデックスのすぐ左の参照インデックス値と同じ値を有する複数のインデックスからなる前記第3ストリングであり、
    前記IndexMode符号化技術の出力は、複数のインデックスからなる前記第3ストリングの長さを含む、請求項1又は2に記載の方法。
  4. 前記インジケータは第1及び第2のバイナリフラグを含み、
    前記第1のバイナリフラグは、使用される符号化技術が有意距離を使用しているか否かを示し、
    前記第2のバイナリフラグは、前記有意距離が1又は前記現在のCUのブロック幅に等しいことを示し、
    前記現在のCUのエンコードされたラインは、前記第1及び第2のバイナリフラグのみを使用して信号で伝えられる、
    請求項1から3のいずれか一項に記載の方法。
  5. スクリーンコンテンツ符号化用装置であって、
    少なくとも1つのメモリと、
    前記少なくとも1つのメモリに接続された少なくとも1つのプロセッサであって、
    現在の符号化ユニット(CU)に基づいて複数の色値を含むパレットテーブルを生成し、前記パレットテーブルの各色に割り当てられるカラーインデックスを使用して前記現在のCUからカラーインデックスマップを生成し、前記パレットテーブル外の各色に割り当てられる予測残差値を使用して前記現在のCUから予測残差マップを生成し、
    前記カラーインデックスマップをエンコードし、前記カラーインデックスマップの少なくとも一部は1に等しい有意距離を使用するIndexMode符号化技術又は前記現在のCUのブロック幅に等しい有意距離を使用するCopyAbove符号化技術を使用してエンコードされ、使用された符号化技術の有意距離がインジケータにより示され、
    前記エンコードされたカラーインデックスマップと前記インジケータとを組み合わせて前記パレットテーブル及び前記予測残差マップとともに受信機に送信する、少なくとも1つのプロセッサと、
    を備える装置。
  6. 前記CopyAbove符号化技術を使用してエンコードされた前記カラーインデックスマップの前記少なくとも一部は、複数のインデックスからなる第1ストリングであって、前記現在のCUにおいて、複数のインデックスからなる前記第1ストリングの真上の、複数のインデックスからなるマッチする第2ストリングを有する、複数のインデックスからなる前記第1ストリングであり、
    前記CopyAbove符号化技術の出力は、複数のインデックスからなる前記第1ストリングの長さを含む、請求項に記載の装置。
  7. 前記IndexMode符号化技術を使用してエンコードされた前記カラーインデックスマップの前記少なくとも一部は、複数のインデックスからなる第3ストリングであって、前記現在のCU内において、全てが、複数のインデックスからなる前記第3ストリングの中の第1のインデックスのすぐ左の参照インデックス値と同じ値を有する複数のインデックスからなる前記第3ストリングであり、
    前記IndexMode符号化技術の出力は、複数のインデックスからなる前記第3ストリングの長さを含む、請求項又はに記載の装置。
  8. 前記インジケータは第1及び第2のバイナリフラグを含み、
    前記第1のバイナリフラグは、使用される符号化技術が有意距離を使用しているか否かを示し、
    前記第2のバイナリフラグは、前記有意距離が1又は前記現在のCUのブロック幅に等しいことを示し、
    前記現在のCUのエンコードされたラインは、前記第1及び第2のバイナリフラグのみを使用して信号で伝えられる、
    請求項からのいずれか一項に記載の装置。
  9. スクリーンコンテンツ復号化のための方法であって、
    現在の符号化ユニット(CU)に基づいて生成される複数の色値を含むパレットテーブルの各色に割り当てられるカラーインデックスを使用して前記現在のCUから生成され、エンコードされたカラーインデックスマップ、前記パレットテーブル、及び前記パレットテーブル外の各色に割り当てられる予測残差値を使用して前記現在のCUから生成された予測残差マップを含むビデオビットストリームを受信する段階と、
    前記カラーインデックスマップをエンコードするのに使用された符号化技術の有意距離を示すインジケータを受信する段階と、
    前記カラーインデックスマップの少なくとも一部を、1に等しい有意距離を使用するIndexMode復号化技術及び前記現在のCUのブロック幅に等しい有意距離を使用するCopyAbove復号化技術のうち前記インジケータが示す有意距離に対応する復号化技術を使用して、復号化する段階と、
    前記パレットテーブル及び前記予測残差マップと組み合わせて前記カラーインデックスマップに基づいて前記現在のCUに関連付けられた複数のピクセルを再構成する段階と、
    を備える方法。
  10. 前記CopyAbove復号化技術を使用して復号化された前記カラーインデックスマップの前記少なくとも一部は、複数のインデックスからなる第1ストリングであって、前記現在のCUにおいて、複数のインデックスからなる前記第1ストリングの真上の、複数のインデックスからなるマッチする第2ストリングを有する、複数のインデックスからなる前記第1ストリングであり、
    前記CopyAbove復号化技術の入力は、複数のインデックスからなる前記第1ストリングの長さを含む、請求項に記載の方法。
  11. 前記IndexMode復号化技術を使用して復号化された前記カラーインデックスマップの前記少なくとも一部は、複数のインデックスからなる第3ストリングであって、前記現在のCU内において、全てが、複数のインデックスからなる前記第3ストリングの中の第1のインデックスのすぐ左の参照インデックス値と同じ値を有する複数のインデックスからなる前記第3ストリングであり、
    前記IndexMode復号化技術の入力は、複数のインデックスからなる前記第3ストリングの長さを含む、請求項又は10に記載の方法。
  12. 前記インジケータは第1及び第2のバイナリフラグを含み、
    前記第1のバイナリフラグは、前記符号化技術が有意距離を使用したか否かを示し、
    前記第2のバイナリフラグは、前記有意距離が1又は前記現在のCUのブロック幅に等しいことを示し、
    前記現在のCUのエンコードされたラインは、前記第1及び第2のバイナリフラグのみを使用して信号で伝えられる、
    請求項から11のいずれか一項に記載の方法。
  13. スクリーンコンテンツ復号化用装置であって、
    少なくとも1つのメモリと、
    前記少なくとも1つのメモリに接続された少なくとも1つのプロセッサであって、
    現在の符号化ユニット(CU)に基づいて生成される複数の色値を含むパレットテーブルの各色に割り当てられるカラーインデックスを使用して前記現在のCUから生成され、エンコードされたカラーインデックスマップ、前記パレットテーブル、及び前記パレットテーブル外の各色に割り当てられる予測残差値を使用して前記現在のCUから生成された予測残差マップを含むビデオビットストリームを受信し、
    前記カラーインデックスマップをエンコードするのに使用された符号化技術の有意距離を示すインジケータを受信し、
    前記カラーインデックスマップの少なくとも一部を、1に等しい有意距離を使用するIndexMode復号化技術及び前記現在のCUのブロック幅に等しい有意距離を使用するCopyAbove復号化技術のうち前記インジケータが示す有意距離に対応する復号化技術を使用して、復号化し、
    前記パレットテーブル及び前記予測残差マップと組み合わせて前記カラーインデックスマップに基づいて前記現在のCUに関連付けられた複数のピクセルを再構成する、少なくとも1つのプロセッサとを備える装置。
  14. 前記CopyAbove復号化技術を使用して復号化された前記カラーインデックスマップの前記少なくとも一部は、複数のインデックスからなる第1ストリングであって、前記現在のCUにおいて、複数のインデックスからなる前記第1ストリングの真上の、複数のインデックスからなるマッチする第2ストリングを有する、複数のインデックスからなる前記第1ストリングであり、
    前記CopyAbove復号化技術の入力は、複数のインデックスからなる前記第1ストリングの長さを含む、請求項13に記載の装置。
  15. 前記IndexMode復号化技術を使用して復号化された前記カラーインデックスマップの前記少なくとも一部は、複数のインデックスからなる第3ストリングであって、前記現在のCU内において、全てが、複数のインデックスからなる前記第3ストリングの中の第1のインデックスのすぐ左の参照インデックス値と同じ値を有する複数のインデックスからなる前記第3ストリングであり、
    前記IndexMode復号化技術の入力は、複数のインデックスからなる前記第3ストリングの長さを含む、請求項13又は14に記載の装置。
  16. 前記インジケータは第1及び第2のバイナリフラグを含み、
    前記第1のバイナリフラグは、前記符号化技術が有意距離を使用したか否かを示し、
    前記第2のバイナリフラグは、前記有意距離が1又は前記現在のCUのブロック幅に等しいことを示し、
    前記現在のCUのエンコードされたラインは、前記第1及び第2のバイナリフラグのみを使用して信号で伝えられる、
    請求項13から15のいずれか一項に記載の装置。
JP2016573052A 2014-06-27 2015-06-25 改良されたパレットテーブル及びインデックスマップ符号化方法を用いた先進的スクリーンコンテンツ符号化 Active JP6524118B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462018349P 2014-06-27 2014-06-27
US62/018,349 2014-06-27
US14/749,138 US20150381994A1 (en) 2014-06-27 2015-06-24 Advanced screen content coding with improved palette table and index map coding methods
US14/749,138 2015-06-24
PCT/US2015/037779 WO2015200690A1 (en) 2014-06-27 2015-06-25 Advanced screen content coding with improved palette table and index map coding methods

Publications (2)

Publication Number Publication Date
JP2017525204A JP2017525204A (ja) 2017-08-31
JP6524118B2 true JP6524118B2 (ja) 2019-06-05

Family

ID=54931999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016573052A Active JP6524118B2 (ja) 2014-06-27 2015-06-25 改良されたパレットテーブル及びインデックスマップ符号化方法を用いた先進的スクリーンコンテンツ符号化

Country Status (10)

Country Link
US (1) US20150381994A1 (ja)
EP (1) EP3143766A4 (ja)
JP (1) JP6524118B2 (ja)
KR (1) KR101906740B1 (ja)
CN (1) CN106797457B (ja)
AU (1) AU2015279791A1 (ja)
BR (1) BR112016030696B1 (ja)
CA (1) CA2953505C (ja)
RU (1) RU2654200C1 (ja)
WO (1) WO2015200690A1 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102275639B1 (ko) 2013-10-14 2021-07-08 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 및 영상 코딩 및 디코딩에 대한 기본 색상 인덱스 맵 모드의 특징
CN105659602B (zh) 2013-10-14 2019-10-08 微软技术许可有限责任公司 用于视频和图像编码的帧内块复制预测模式的编码器侧选项
KR102257269B1 (ko) 2013-10-14 2021-05-26 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 및 이미지 코딩 및 디코딩을 위한 인트라 블록 카피 예측 모드의 피쳐
US10469863B2 (en) 2014-01-03 2019-11-05 Microsoft Technology Licensing, Llc Block vector prediction in video and image coding/decoding
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
US10638143B2 (en) * 2014-03-21 2020-04-28 Futurewei Technologies, Inc. Advanced screen content coding with improved color table and index map coding methods
US9924175B2 (en) 2014-06-11 2018-03-20 Qualcomm Incorporated Determining application of deblocking filtering to palette coded blocks in video coding
US10136141B2 (en) * 2014-06-11 2018-11-20 Qualcomm Incorporated Determining quantization parameter (QP) values and delta QP values for palette coded blocks in video coding
WO2015192353A1 (en) 2014-06-19 2015-12-23 Microsoft Technology Licensing, Llc Unified intra block copy and inter prediction modes
US9955157B2 (en) * 2014-07-11 2018-04-24 Qualcomm Incorporated Advanced palette prediction and signaling
EP3202150B1 (en) * 2014-09-30 2021-07-21 Microsoft Technology Licensing, LLC Rules for intra-picture prediction modes when wavefront parallel processing is enabled
CN105491379A (zh) * 2014-10-01 2016-04-13 财团法人工业技术研究院 解码器、编码器、解码方法、编码方法与编解码系统
KR102150979B1 (ko) 2014-12-19 2020-09-03 에이치에프아이 이노베이션 인크. 비디오 및 이미지 코딩에서의 비-444 색채 포맷을 위한 팔레트 기반 예측의 방법
WO2016150343A1 (en) * 2015-03-20 2016-09-29 Mediatek Singapore Pte. Ltd. Methods of palette coding with inter-prediction in video coding
WO2016175550A1 (ko) * 2015-04-27 2016-11-03 엘지전자 주식회사 비디오 신호의 처리 방법 및 이를 위한 장치
CN107637057A (zh) * 2015-06-03 2018-01-26 联发科技股份有限公司 图像和视频数据的调色板编解码方法
CN106664405B (zh) 2015-06-09 2020-06-09 微软技术许可有限责任公司 用调色板模式对经逸出编码的像素的稳健编码/解码
US10148977B2 (en) 2015-06-16 2018-12-04 Futurewei Technologies, Inc. Advanced coding techniques for high efficiency video coding (HEVC) screen content coding (SCC) extensions
EP3560200A4 (en) * 2016-12-23 2019-11-13 Telefonaktiebolaget LM Ericsson (publ) CHROMINANCE ADJUSTMENT WITH COLOR COMPONENTS IN VIDEO ENCODED COLOR SPACES
US10863190B2 (en) * 2018-06-14 2020-12-08 Tencent America LLC Techniques for memory bandwidth optimization in bi-predicted motion vector refinement
US11695919B2 (en) * 2018-08-28 2023-07-04 Google Llc Lossy image compression using palettization of locally mixed colors
EP3841751B1 (en) 2018-09-19 2024-04-17 Huawei Technologies Co., Ltd. Method for skipping refinement based on patch similarity in bilinear interpolation based decoder-side motion vector refinement
EP3935581A4 (en) 2019-03-04 2022-11-30 Iocurrents, Inc. DATA COMPRESSION AND COMMUNICATION USING MACHINE LEARNING
US11503311B2 (en) * 2019-03-08 2022-11-15 Sony Group Corporation Hybrid palette-DPCM coding for image compression
CN111919441A (zh) * 2019-03-10 2020-11-10 北京字节跳动网络技术有限公司 组合的屏幕内容编码模式
US11202101B2 (en) * 2019-03-13 2021-12-14 Qualcomm Incorporated Grouped coding for palette syntax in video coding
US11070816B2 (en) 2019-06-18 2021-07-20 Tencent America LLC Conversion of decoded block vector for intra picture block compensation
CN114375581A (zh) * 2019-09-12 2022-04-19 字节跳动有限公司 在视频编解码中使用调色板预测器
WO2021060845A1 (ko) * 2019-09-23 2021-04-01 엘지전자 주식회사 사용자 정의 팔레트 엔트리를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
CA3155112A1 (en) * 2019-09-23 2021-04-01 Lg Electronics Inc. Image encoding/decoding method and device using palette mode, and method for transmitting bitstream
CN111225214B (zh) * 2020-01-22 2022-08-12 北京字节跳动网络技术有限公司 视频处理方法、装置及电子设备
MX2022012020A (es) * 2020-03-27 2022-10-21 Beijing Dajia Internet Information Tech Co Ltd Metodos y aparatos de codificacion de video que utiliza modo paleta.
US11595694B2 (en) * 2020-04-01 2023-02-28 Tencent America LLC Method and apparatus for video coding
US11496731B2 (en) * 2020-06-08 2022-11-08 Tencent America LLC String matching with single color value
WO2022117104A1 (en) * 2020-12-06 2022-06-09 Zhejiang Dahua Technology Co., Ltd. Systems and methods for video processing

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6819793B1 (en) * 2000-06-30 2004-11-16 Intel Corporation Color distribution for texture and image compression
US7016547B1 (en) * 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
US8386628B1 (en) * 2005-05-23 2013-02-26 Glance Networks, Inc. Method and apparatus for reducing the amount of information that must be transmitted to slower viewers over a remote viewing session
US7548657B2 (en) * 2005-06-25 2009-06-16 General Electric Company Adaptive video compression of graphical user interfaces using application metadata
US8199812B2 (en) * 2007-01-09 2012-06-12 Qualcomm Incorporated Adaptive upsampling for scalable video coding
US7864193B2 (en) * 2007-07-02 2011-01-04 International Business Machines Corporation RGB color conversion palettes
WO2010017166A2 (en) * 2008-08-04 2010-02-11 Dolby Laboratories Licensing Corporation Overlapped block disparity estimation and compensation architecture
US8254704B2 (en) * 2008-10-30 2012-08-28 Microsoft Corporation Remote computing platforms providing high-fidelity display and interactivity for clients
US8180165B2 (en) * 2008-12-19 2012-05-15 Microsoft Corp. Accelerated screen codec
US20120106650A1 (en) * 2010-08-24 2012-05-03 Siegman Craig S Method and System for Block and DVC Compression
CN110225345B (zh) * 2013-12-27 2022-07-19 寰发股份有限公司 用于主颜色索引图编码的方法及装置

Also Published As

Publication number Publication date
CA2953505A1 (en) 2015-12-30
KR101906740B1 (ko) 2018-10-10
US20150381994A1 (en) 2015-12-31
EP3143766A1 (en) 2017-03-22
WO2015200690A1 (en) 2015-12-30
BR112016030696B1 (pt) 2023-11-21
JP2017525204A (ja) 2017-08-31
CA2953505C (en) 2019-05-21
BR112016030696A2 (pt) 2018-07-17
CN106797457B (zh) 2018-10-30
CN106797457A (zh) 2017-05-31
RU2654200C1 (ru) 2018-05-17
KR20170016958A (ko) 2017-02-14
EP3143766A4 (en) 2017-05-17
AU2015279791A1 (en) 2017-01-12

Similar Documents

Publication Publication Date Title
JP6524118B2 (ja) 改良されたパレットテーブル及びインデックスマップ符号化方法を用いた先進的スクリーンコンテンツ符号化
EP3053339B1 (en) Advanced screen content coding with improved palette table and index map coding methods
US11057621B2 (en) Encoding method, decoding method and device thereof
US20180343455A1 (en) Method and apparatus for coefficient induced intra prediction in image coding system
US10638143B2 (en) Advanced screen content coding with improved color table and index map coding methods
US11979554B2 (en) Intra prediction-based video signal processing method and device
US10694187B2 (en) Method and device for deriving block structure in video coding system
US10284864B2 (en) Content initialization for enhancement layer coding
US11240507B2 (en) Simplified palette predictor update for video coding
US11202101B2 (en) Grouped coding for palette syntax in video coding
CN114223208A (zh) 为视频中的缩减二次变换的边信息的上下文建模
JP2022539786A (ja) 画像成分の予測方法、エンコーダ、デコーダ及び記憶媒体
KR102708719B1 (ko) 교차성분 선형 모델을 이용한 비디오 신호 처리 방법 및 장치
CN117560489A (zh) 用于残差编解码的上下文建模
JP7455840B2 (ja) ビデオコーディングのためのツリーベース変換ユニット(tu)区分
JP2024502109A (ja) ビデオコーディング用の残差および係数のコーディング
US20230188709A1 (en) Method and apparatus for patch book-based encoding and decoding of video data
JP2024529313A (ja) ビデオコーデックにおけるシーケンスレベルおよびスライスレベルの構文表現
TWI851681B (zh) 用於視訊寫碼中的調色板語法的分組寫碼
WO2021136486A1 (en) Palette size signaling in video coding
JP2024509532A (ja) 高ビット深度ビデオコーディングのためのライスパラメータ導出

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180409

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190110

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20190124

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190426

R150 Certificate of patent or registration of utility model

Ref document number: 6524118

Country of ref document: JP

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