JP6749922B2 - 高効率ビデオ符号化(hevc)画面コンテンツ符号化(scc)における改善されたパレットモード - Google Patents

高効率ビデオ符号化(hevc)画面コンテンツ符号化(scc)における改善されたパレットモード Download PDF

Info

Publication number
JP6749922B2
JP6749922B2 JP2017538163A JP2017538163A JP6749922B2 JP 6749922 B2 JP6749922 B2 JP 6749922B2 JP 2017538163 A JP2017538163 A JP 2017538163A JP 2017538163 A JP2017538163 A JP 2017538163A JP 6749922 B2 JP6749922 B2 JP 6749922B2
Authority
JP
Japan
Prior art keywords
index value
escape
escape color
index
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017538163A
Other languages
English (en)
Other versions
JP2017535218A (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 JP2017535218A publication Critical patent/JP2017535218A/ja
Application granted granted Critical
Publication of JP6749922B2 publication Critical patent/JP6749922B2/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/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
    • 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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • 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/94Vector quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、高効率ビデオ符号化(HEVC)画面コンテンツ符号化(SCC)における改善されたパレットモードに関する。
比較的短いフィルムでさえもその描写に必要なビデオデータ量は相当なものになり、そのため、限られた帯域幅の容量を有する通信ネットワークを介してデータをストリーミングし、または他の方法で伝達するときに問題を生じる場合がある。よって、ビデオデータは一般に、今日の通信ネットワークを介して通信される前に圧縮される。多くの場合、送信前に送信元でビデオ圧縮装置によりソフトウェアおよび/またはハードウェアを用いてビデオデータを符号化し、それによってデジタルビデオ画像を表現するのに必要なデータ量が減る。圧縮されたデータは次いで、送信先でビデオデータを復号するビデオ圧縮解除装置によって受信される。ネットワークリソースが限られており、高ビデオ画質がますます要求されているため、ビットレートを増加させることなく画質を向上させる改善された圧縮および圧縮解除技術が求められている。
一実施形態において、本開示は、符号化の方法を含み、本方法は、画面コンテンツを含むビデオフレームを受信するステップと、ビデオフレーム内の画面コンテンツの色のインデックスマップを含むブロックを生成するステップであって、ブロックはインデックス値列を含む、ステップと、プロセッサが、第1のインデックス値列内の1つまたは複数の連続したインデックス値を、単一のエスケープ・カラー・インデックス値と、連続したエスケープ・カラー・インデックス値のうちのいくつが符号化されているかを特定するラン値とを用いて符号化するステップと、プロセッサが、ブロックのすべてのインデックス値列が符号化された後で、2つ以上の連続したインデックス値に対応するエスケープカラーを順次に符号化するステップと、プロセッサに動作可能に結合された送信機が、インデックス値列およびエスケープカラーをビットストリームで復号装置へ送信するステップと、を含む。
別の実施形態において、本開示は、符号化の方法を含み、本方法は、画面コンテンツを含むビデオフレームを受信するステップと、ビデオフレーム内の画面コンテンツの色のインデックスマップを含むブロックを生成するステップであって、ブロックはインデックス値列を含む、ステップと、プロセッサが、エスケープ・カラー・インデックス値を含む第1のインデックス値列を符号化するステップと、プロセッサが、第1のインデックス値列からエスケープ・カラー・インデックス値を複写することによってエスケープ・カラー・インデックス値を含む第2のインデックス値列を符号化するステップと、プロセッサが、ブロックのすべてのインデックス値列が符号化された後で、第1のインデックス値列内および第2のインデックス値列内のエスケープ・カラー・インデックス値に対応するエスケープカラーを順次に符号化するステップと、プロセッサに動作可能に結合された送信機が、インデックス値列およびエスケープカラーをビットストリームで復号装置へ送信するステップと、を含む。
別の実施形態において、本開示は、符号化装置を含み、本装置は、プロセッサであって、画面コンテンツを含むビデオフレームを受信し、ビデオフレーム内の画面コンテンツの色のインデックスマップを含むブロックであって、同じエスケープ・カラー・インデックス値を共有するインデックス値列を含み、エスケープ・カラー・インデックス値はエスケープカラーを表すブロックを生成し、ブロック内のインデックス値列の各々を符号化し、ブロック内のインデックス値列の各々が符号化された後でエスケープカラーを順次に符号化するように構成された、プロセッサと、プロセッサに動作可能に結合され、インデックス値列およびエスケープカラーをビットストリームで復号装置へ送信するように構成された送信機と、を含む。
上記その他の特徴は、以下の詳細な説明を添付の図面および特許請求の範囲と併せて読めばより明確に理解されるであろう。
本開示をより十分に理解するために、次に、添付の図面および詳細な説明と関連して理解される以下の簡単な説明を参照する。添付の図面および詳細な説明において、類似の参照番号は類似の部分を表す。
パレットモードを用いたインデックスマップ符号化の説明に用いられるブロック内のインデックス・マップ・カラーの図である。 簡略化されたコンテキストモデルを用いた符号化の方法の一実施形態の流れ図である。 簡略化されたコンテキストモデルを用いた符号化の方法の一実施形態の流れ図である。 簡略化されたコンテキストモデルを用いた符号化の方法の一実施形態の流れ図である。 グループ化インデック符号化方式の一実施形態の図である。 大規模並列処理の一実施形態の図である。 ビデオエンコーダの一実施形態の概略図である。 ビデオデコーダの一実施形態の概略図である。 エンコーダとデコーダとを含むことができるネットワークユニットの一実施形態の概略図である。 典型的な汎用ネットワークコンポーネントまたはコンピュータシステムの概略図である。
以下に1つまたは複数の実施形態の例示的実施態様を示すが、開示のシステムおよび/または方法は、現在公知であるかどうか、または実在するかどうかにかかわらず、いくつもの技法を用いて実現できることをはじめに理解すべきである。本開示は、いかなる点においても、本明細書で例示し、説明する例示的設計および実施態様を含む、以下に示す例示的実施態様、図面、および技法だけに限定すべきではなく、添付の特許請求の範囲およびその均等物の全範囲内で改変され得る。
通常、ビデオメディアは、静止画像またはフレームのシーケンスを比較的速く連続して表示し、それによって視聴者に動きを知覚させる。各フレームは、複数の画像要素すなわち画素を含むことができ、各画素はフレーム内の単一の基準点を表すことができる。デジタル処理時には、各画素に、対応する基準点における輝度やクロミナンスといった画像の品質または特性を表す整数値(例えば、0、1、…255)を割り当てることができる。使用時に、画像またはビデオフレームは、大量の画素(例えば、1920×1080フレームで2,073,600画素)を含む場合がある。よって、各画素を独立して符号化し、復号すること(以下、単に符号化と呼ぶ)は面倒で非効率的になる可能性がある。符号化効率を向上させるために、ビデオフレームは、通常、複数の矩形ブロックまたはマクロブロックに分割され、各ブロックを、予測、変換、量子化といった処理の基本単位として用いることができる。例えば、典型的なN×NのブロックはN2個の画素を含むことができ、Nは1より大きい整数であり、多くの場合4の倍数である。
国際電気通信連合(ITU)の電気通信標準化部門(ITU−T)および国際標準化機構(ISO)/国際電気標準会議(IEC)では、高性能ビデオ符号化(High Efficiency Video Coding(HEVC))のための新しいブロック概念を導入した。例えば、符号化単位(coding unit(CU))は、ビデオフレームを等サイズまたは可変サイズの矩形ブロックへの細分割を指す場合がある。HEVCでは、CUで以前の規格のマクロブロック構造を置き換えることができる。インター予測またはイントラ予測のモードに応じて、CUは1つまたは複数の予測単位(prediction unit(PU))を含むことができ、各PUを予測の基本単位として用いることができる。例えば、イントラ予測では、8×8のCUが4つの4×4のPUに対称に分割され得る。別の例として、インター予測では、64×64のCUが、16×64のPUと48×64のPUとに非対称に分割される。同様に、PUは1つまたは複数の変換ユニット(transform unit(TU))を含むことができ、各TUを変換および/または量子化の基本単位として用いることができる。例えば、32×32のPUは4つの16×16のTUに対称に分割され得る。1つのPUの複数のTUは同じ予測モードを共有できるが、別々に変換されてよい。本明細書では、ブロックという用語は、一般に、マクロブロック、CU、PU、またはTUのいずれかを指す。
用途に応じて、ブロックは、可逆モード(例えばひずみ損失も情報損失なし)または不可逆モード(例えばひずみあり)のいずれかで符号化することができる。使用時には、可逆モードを用いて(例えば、4:4:4のYUVサブサンプリングによる)高画質ビデオを符号化することもでき、不可逆モードを用いて(例えば、4:2:0のYUVサブサンプリングによる)低画質ビデオを符号化することもできる。本明細書で用いる場合、YUVのY成分は色の明るさ(輝度またはルーマ)を指し、U成分およびV成分は色自体(クロマ)を指す。場合によっては、(例えば、4:4:4または4:2:0のどちらかのYUVサブサンプリングによる)単一のビデオフレームまたはスライスで、可逆モードと不可逆モードの両方を用いて複数の領域を符号化してもよく、それらの領域は長方形または不規則な形状とすることができる。各領域は複数のブロックを含むことができる。例えば、複合ビデオは、テキストおよびコンピュータ・グラフィック・コンテンツ(例えば非カメラ撮影画像)や自然画像コンテンツ(例えばカメラ撮影ビデオ)など、異なる種類のコンテンツの組み合わせを含むことができる。複合フレームでは、テキストおよびグラフィックスの領域は可逆モードで符号化されることができ、自然画像コンテンツの領域は不可逆モードで符号化されることができる。テキストおよびグラフィックスの可逆的符号化は、例えばコンピュータ画面共有アプリケーションなどにおいて望ましい。というのは、不可逆的符号化はテキストおよびグラフィックの品質または忠実度の低下をもたらす可能性があり、眼精疲労の原因となり得るからである。
半導体、ネットワーキング、通信、ディスプレイ、コンピュータ、およびタブレットやスマートフォンといった機器が急速に、絶えず進歩しているため、多くのアプリケーションで、非カメラ撮影ビデオコンテンツを高い視覚品質で効率よく圧縮できるHEVCベースの圧縮/符号化ソリューションが求められている。この非カメラ撮影ビデオコンテンツを、本明細書では画面コンテンツと呼ぶことができ、これには、コンピュータで生成されたグラフィックス、ウィンドウの切り替えや移動、テキストスクロールなどといったアプリケーションで一般に見られる典型的な動きを伴うテキストが含まれ得る。多くの場合、非カメラ撮影ビデオコンテンツは、明瞭なテクスチャおよびシャープなエッジを高コントラスで異なる色を用いて提供し、4:4:4のカラー・サンプリング・フォーマットを有し得る。
現在のHEVC画面コンテンツ符号化は、コンピュータ画面をより効率よく表現するためにパレットモードを導入している。パレットモードについては、この参照により本明細書に組み入れられる、R.Joshi and J.Xu,Working Draft 2 of HEVC Screen Content Coding,MPEG−N14969/JCTVC−S1005,Strasbourg,FR,October 2014(HEVC SCC)に記載されている。パレットモードは、Screen Content Coding Test Model(SCM)2.0の参照ソフトウェアでも利用されている。
現在のHEVCフレームワーク内でパレットモードによって提供される効率性にもかかわらず、改良の余地はまだある。本明細書で開示するのはビデオ符号化の改善のためのシステムおよび方法である。本開示は、簡略化されたエントロピー(例えば可逆的)符号化方式を提供する。全体の複雑さを低減するために、この符号化方式ではエスケープ値をインデックスマップ処理の終わりに符号化する。そうすることにより、この符号化方式では、例えば、インデックスマップがエスケープカラーに対応するインデックス値を含んでいたとしてもCOPY_ABOVE_MODEを用いるときのインデックス一致の数が増加する。加えて、この符号化方式では、エスケープ値とインデックスのその他の構文の符号化がインターリーブされるためにインデックスマップの並列処理をサポートしないHEVC SCCの現在のソリューションとは対照的に、インデックスマップとエスケープカラーの並列処理が可能になる。さらに、この符号化方式は、インデックスマップ符号化の設計を簡素化し、性能を犠牲にせずにスループットを向上させ、符号化の記述および実装をより容易にする。
画面生成コンテンツ符号化に特に適し得るパレットベースの符号化では、ビデオコーダ(例えばビデオエンコーダやビデオデコーダ)が、所与のブロックのビデオデータを表す色の「パレット」を形成する。パレットは、所与のブロック内で最も優勢な(例えば頻繁に用いられる)色を含むことができる。所与のブロックのビデオデータでたまに表現され、またはまれにしか表現されない色はパレットに含まれない。パレットに含まれていない色をエスケープカラーと呼ぶ。
所与のブロックに対応するインデックスマップがパレットモード符号化時に符号化されるときに、パレットに含まれる各色にインデックス値が割り当てられる。例えば、白色および黒色がパレットに含まれている場合、白色はインデックス値0を有し得、黒色はインデックス値1を有し得る。加えて、パレットに含まれていない各色には、例えば、単一の、または共通のインデックス値が割り当てられる。例えば、青色、緑色、および赤色がパレットに含まれていない場合、これらの色はすべてインデックス値3を有することになる。パレットに含まれていない色のインデックス値を、エスケープ・カラー・インデックス値と呼ぶことができる。
現在のHEVC SCC草案は、ランベースの1次元(1−D)ストリング複写を利用する。それでも、本参照により本明細書に組み入れられる、W.Wang,Z.Ma,M.Xu,H.Yu,“Non−CE6:2−D INDEX Map Coding of Palette Mode in HEVC SCC,”JCTVC−S0151,Strasbourg,FR,October 2014、および2014年10月に出願された、「Palette Mode in HEVC SCC」という名称の米国仮特許出願第62/060,450号には、2次元(2−D)ストリング複写法が提案されている。本明細書では簡潔にするために十分に説明されていないが、当業者であれば、2−Dストリング複写法は、状況によっては、デフォルトでランベースの1−Dストリング複写法になり得ることを理解するであろう。
1−Dストリング法を用いてパレットモードでインデックスモード符号化を行う場合、CUごとに2つの主要部分が含まれる。これら2つの部分は、カラーテーブル処理およびインデックスマップ符号化である。例えば、1−Dストリング法のインデックスマップ符号化はCOPY_ABOVEモードを利用することができ、COPY_ABOVE_MODEは、現在の列が現在の列の真上の列からのインデックスと同一であるかどうか指示するために適用される。
図1に、パレットモードを用いたインデックスマップ符号化の例を示すのに用いられるインデックス・マップ・カラーの8×8ブロック100を示す。図示のように、ブロック100の最上列102は(左から右へ)インデックス値1、1、1、1、2、2、2、2を有し、最上列102の真下の列104はインデックス値1、1、1、1、1、1、1、1を有し、ブロック100の次の列106はインデックス値1、1、1、1、1、1、1、1を有し、ブロック100の次の列108はインデックス値1、1、3(3は青を表す)、2、2、2、2、2を有し、ブロック100の次の列110はインデックス値1、1、3(3は緑を表す)、2、2、2、2、2を有し、ブロック100の次の列112はインデックス値1、1、3(3は赤を表す)、2、2、2、2、2を有し、ブロック100の次の列114はインデックス値2、2、2、2、2、2、2、2を有し、ブロック100の最下列116はインデックス値2、2、2、2、2、2、2、2を有する。最初の列102をビットストリームにおいて符号化するには、palette_run_typeフラグ(例えば、1ビットのpalette_run_type_flag)、インデックス値、およびラン値が用いられる。
palette_run_typeフラグは、現在の列の上にある列のインデックス値が複写されているかどうかを示す。上の列の一部分が複写されている場合、palette_run_typeフラグは、COPY_ABOVE_MODEを表す第1の2進数(例えば1)に設定される。上の列が複写されていない場合、palette_run_typeフラグは、COPY_INDEX_MODEを表す第2の2進数(例えば0)に設定される。最上列102を符号化するときには、最上列102の上には列が配置されていないので、palette_run_typeフラグはデフォルトで0に設定される。インデックス値は、ブロック100において列内で表される特定の数値(例えば1や2)である。ラン値は、連続したインデックス値をいくつ複写できるかである。例えば、ラン値が1に設定されている場合には、1つのインデックス値が複写され、ラン値が2に設定されている場合には、2つの連続したインデックス値が複写され、ラン値が3に設定されている場合には、3つの連続したインデックス値が複写され、以下同様である。そのため、インデックス値1、1、1、1、2、2、2、2を有する最上列102を符号化するには、以下の構文が用いられる:palette_run_type_flag=0、インデックス値=1、ラン値=4、palette_run_type_flag=0、インデックス値=2、ラン値=4。
インデックス値1、1、1、1、1、1、1、1を有する次の列104を符号化するには、以下の構文を用いることができる:palette_run_type_flag=1、ラン値=4、palette_run_type_flag=0、インデックス値=1、ラン値=4。あるいは、次の構文を用いてもよい:palette_run_type_flag=0、ラン値=8。インデックス値1、1、1、1、1、1、1、1を有する次の列106を符号化するには、以下の構文を用いる:palette_run_type_flag=1、ラン値=8。符号化に用いられる特定の構文は、例えば、レートひずみ最適化モジュールや他の適切なエンコーダ構成要素によって決定されてよい。レートひずみ最適化モジュールは、例えば、どの構文が最も効率よく符号化するかに基づいて特定の構文を選択することができる。一例として、列104および列106内のすべてのインデックスを、palette_run_type_flag=0、インデックス値=1、ラン=16として符号化してもよい。
次のストリング108はインデックス値1、1、3、3、2、2、2、2を有し、3はエスケープカラー青またはエスケープカラー緑に対応するエスケープ・カラー・インデックス値である。既存の従来の符号化方式を用いると、次の列108を符号化するのに以下の構文が用いられる:palette_run_type_flag=1、ラン値=2、palette_run_type_flag=0、インデックス値=3、エスケープカラー=青、palette_run_type_flag=0、インデックス値=3、エスケープカラー=緑、palette_run_type_flag=0、インデックス値=2、ラン値=4。同様に、既存の従来の符号化方式を用いると、次の列110を符号化するのに以下の構文が用いられる:palette_run_type_flag=1、ラン値=2、palette_run_type_flag=0、インデックス値=3、エスケープカラー=緑、palette_run_type_flag=0、インデックス値=3、エスケープカラー=青、palette_run_type_flag=1、ラン値=4。既存の従来の符号化方式を用いると、次の列112を符号化するのに以下の構文が用いられる:palette_run_type_flag=1、ラン値=2、palette_run_type_flag=0、インデックス値=3、エスケープカラー=赤、palette_run_type_flag=1、ラン値=5。
そのため、上記のように、従来の符号化方式を用いて次の列108、次の列110および次の列112を符号化する場合、特定のエスケープカラーの識別は、ブロック100のエスケープ・カラー・インデックス値の直後に符号化される。残念ながら、このような符号化には欠点がある。例えば、同じ列内または隣接する列内のエスケープカラーが互いに異なる場合、COPY_ABOVE_MODEおよびCOPY_INDEX_MODEを最大限に活かす能力が制限される。例えば、次の列108のエスケープ・カラー・インデックス値3に対応するエスケープカラーが青であり、次の列110のエスケープ・カラー・インデックス値3に対応するエスケープカラーが緑である場合、各列のエスケープカラーが異なるためにCOPY_ABOVE_MODEを用いる能力が失われる。同様に、2つの連続したエスケープカラーは、2つのpalette_run_type_flag=0構文要素で個別に符号化されなければならない。
しかし、隣接する列のエスケープカラーが互いに異なる場合でも、COPY_ABOVE_MODEおよびCOPY_INDEX_MODEの機能を使用できるように、ブロック100内の列(例えば、列108〜列112)を符号化する方法があることが分かっている。それに関しては、エスケープ・カラー・インデックス値を列の符号化の一部として符号化し、エスケープカラー自体は、エスケープ・カラー・インデックス値の直後に符号化するのではなく、インデックスマップ符号化の終わりに順次に符号する符号化方式が提案されている。図1を再度参照して、提案の新しい符号化方式の一例を以下で示す。
次の列108を符号化するには、以下の構文を用いる:palette_run_type_flag=1、ラン値=2、palette_run_type_flag=0、インデックス値=3、ラン値=2、palette_run_type_flag=0、インデックス値=2、ラン値=4。次の列110は、palette_run_type_flag=1、ラン値=8として符号化される。次の列112は、palette_run_type_flag=0、インデックス値=2、ラン値=2、palette_run_type=0、インデックス値=3、ラン値=1、palette_run_type_flag=0、インデックス値=2、ラン値=5として符号化される。よって、列108、列110、および列112のエスケープカラーは、これらの列のエスケープカラーが異なるにもかかわらず、ラン値と共にCOPY_ABOVE_MODEまたはCOPY_INDEX_MODEを用いて符号化される。
ブロック100の符号化を続けて、次の列114は、palette_run_type_flag=0、インデックス値=2、ラン値=8として符号化される。最下列116は、palette_run_type_flag=1、ラン値=8として符号化される。一実施形態では、次の列110、112、114、および116を、palette_run_type_flag=1、ラン値=11、palette_run_type_flag=0、インデックス値=2、ラン値=21として符号化することができる。
ブロック110内の各列102〜116が上記のように符号化された後で、エスケープカラーはインデックスマップ符号化の終わりに順次に符号化される。よって、最下列116のインデックスマップ符号化の後で、各エスケープカラーをそれらがブロック100で発生する順に識別するために以下の構文が符号化される:エスケープカラー=青、緑、緑、青、赤。よって、(例えば列108の)ブロックで発生した第1のインデックス値3に対応する最初のエスケープカラーは青であると識別され、(例えば列108の)ブロックで発生した第2のインデックス値3に対応する次のエスケープカラーは緑であると識別され、(例えば列110の)ブロックで発生した第2のインデックス値3に対応する次のエスケープカラーは緑であると識別され、(例えば列110の)ブロックで発生した第2のインデックス値3に対応する次のエスケープカラーは青であると識別され、(例えば列112の)ブロックで発生した第3のインデックス値3に対応する最後のエスケープカラーは赤であると識別される。このように符号化することにより、様々な利点が実現される。例えば、同じ列内または隣接する列内のエスケープカラーが互いに異なる場合でも、COPY_ABOVE_MODE機能を用いることができる。加えて、COPY_INDEX MODEを用いて、単一のエスケープ・カラー・インデックス値と連続したエスケープカラーの数に対応するラン値によって、連続したエスケープカラーをまとめて符号化することができる。実際、一実施形態では、エスケープ・カラー・インデックス値およびその他のインデックス値は、同じ方法および/または同様の方法で符号化される。加えて、この新しい符号化方式は、符号化を停止することなくインデックスの一致を増加させ、インデックスマップとインデックス・マップ・カラーの並列処理を可能にし、インデックスマップ符号化の設計を簡素化することができる。
図2Aは、エスケープカラーを符号化する方法200の一実施形態の流れ図である。方法200は、例えば、ビデオフレームが受信されており、復号装置へ送信されるビットストリームのためにエスケープカラーを効率よく符号化する必要がある場合に実施することができる。ブロック202で、第1のインデックス値列(例えば、図1の次の列108)内の1つまたは複数の連続したインデックス値が、単一のエスケープ・カラー・インデックス値(例えば、図1の値3)および連続したエスケープ・カラー・インデックス値のうちのいくつが符号化されたかを特定するラン値を用いて符号化される。ブロック204で、ブロック(例えば図1のブロック100)のすべてのインデックス値列が符号化された後で、複数の連続したインデックス値に対応するエスケープカラーが符号化される。一実施形態では、エスケープカラーは互いに異なる。例えば、第1のエスケープカラーは青であってもよく、第2のエスケープカラーは緑であってもよく、第3のエスケープカラーは赤であってもよく、以下同様である。本開示を考察すれば、当業者は、エスケープカラーを有するさらに別の列(例えば、最上列102、次の列104、次の列106)も同様に符号化できることを理解するであろう。どの別の列内のエスケープ・カラー・インデックス値も、他の列で用いられるのと同じエスケープ・カラー・インデックス値(例えば、図1の値3)を有することになる。加えて、別のエスケープ・カラー・インデックス値の1つで表される任意のエスケープカラーは、第1のエスケープカラーおよび第2のエスケープカラーを基準として順次に符号化される。ブロック206で、インデックス値列およびエスケープカラーはビットストリームで復号装置へ送信される。
図2Bは、エスケープカラーを符号化する方法250の一実施形態の流れ図である。方法250は、例えば、ビデオフレームが受信されており、復号装置へ送信されるビットストリームのためにエスケープカラーを効率よく符号化する必要がある場合に実施することができる。ブロック252で、エスケープ・カラー・インデックス値(例えば、図1の値3)を含む第1のインデックス値列(例えば、図1の次の列108)が符号化される。ブロック254で、エスケープ・カラー・インデックス値(例えば、図1の同じ値3)を含む第2のインデックス値列(例えば、図1の次の列110)が、第1のインデックス値列からのエスケープ・カラー・インデックス値を複写することによって符号化される。一実施形態では、複写は、第1のエスケープカラー(例えば青)が第1のインデックス値列のエスケープ・カラー・インデックス値を表し、第2のインデックス値列が第1のエスケープカラーと異なる第2のエスケープカラー(例えば緑)を表すにもかかわらず行われる。一実施形態では、第1のインデックス値列内のエスケープ・カラー・インデックス値は、第1の列(例えば、第1の列は11232311)内の複数のエスケープ・カラー・インデックス値のうちの1つであり、第2のインデックス値列内のエスケープ・カラー・インデックス値は、第2の列(例えば、第2の列は21232311)内の複数のエスケープ・カラー・インデックス値のうちの1つである。一実施形態では、第1のインデックス値列内のエスケープ・カラー・インデックス値は、第1の列(例えば、第1の列は11233311)内の複数の連続したエスケープ・カラー・インデックス値のうちの1つであり、第2のインデックス値列内のエスケープ・カラー・インデックス値は、第2の列(例えば、第2の列は21233311)内の複数のエスケープ・カラー・インデックス値のうちの1つである。どちらの場合も、エスケープ・カラー・インデックス値を含む、第2の列の最後の7つのインデックス値は、第1の列から最後の7つのインデックス値を複写することによってまとめて符号化される。
ブロック256で、ブロック(例えば、図1のブロック100)のすべてのインデックス値列が符号化された後で、第1のエスケープカラー(例えば青)および第2のエスケープカラー(例えば緑)が順次に符号化される。本開示を考察すれば、当業者は、さらに別の列(例えば、最上列102、次の列104、次の列106)も、ブロック252の第1のインデックス値列の前に符号化できることを理解するであろう。加えて、ブロック254の第2のインデックス値列の後でさらに別の列(例えば、次の列112、次の列114、および最下列116)を符号化することもできる。どの別の列内の別のエスケープ・カラー・インデックス値も、他の列で用いられるのと同じエスケープ・カラー・インデックス値(例えば、図1の値3)を有することになる。加えて、別のエスケープ・カラー・インデックス値の1つで表される任意のエスケープカラーは、第1のエスケープカラーおよび第2のエスケープカラーを基準として順次に符号化される。ブロック258で、インデックス値列およびエスケープカラーはビットストリームで復号装置へ送信される。
図2Cは、エスケープカラーを符号化する方法270の一実施形態の流れ図である。方法270は、例えば、ビットストリームが復号装置によって受信されており、例えば画面コンテンツを表示するためにエスケープカラーを復号する必要がある場合に実施することができる。ブロック272で、ビットストリームを受信するデコーダが、ブロック内のインデックス値列をスキャンする。1つまたは複数のインデックス値列が、エスケープカラー(例えば、青、赤、緑など)を表す同じエスケープ・カラー・インデックス値(例えば、値3)を含む。ブロック274で、デコーダは、1つまたは複数のインデックス値列内の各同じエスケープ・カラー・インデックス値に対応するエスケープカラーを決定するために、ブロック内のインデックス値列の後に符号化されたエスケープカラーを順次にスキャンする。その後、ビットストリーム内の情報に対応する画面コンテンツを、例えば、ユーザに表示することができる。
本明細書に記載されている改善されたエスケープ符号化のための構文の一例を以下の表1に示す。
上記のエスケープ符号化方式に加えて、符号化を改善するためにグループ化インデック符号化方式も実施することができる。現在のHEVC SCC草案では、インデックスマップはCUレベルで処理される。例えば、2N×2NのCUでは、インデックスマップは、図3に示すように、事前定義のスキャン順序に従って最初の位置から最後の位置まで処理される。
明らかに、スループットは処理すべき位置の数によって制限される。したがって、グループ化インデックス(またはインデックスグループ)を用いて、図4に示す大規模な並列処理を可能にすることができる。グループ化方式は以下のように実現することができるはずである。
すべてのCUサイズに固定の4×4
任意の2N×2NのCUにN×Nサイズ
任意の2N×2NのCUにN/2×2Nまたは2N×N/2
インデックスグループごとに、並列エントロピー符号化を可能にするように、コンテキスト適応2進算術符号化(context−adaptive binary arithmetic coding(CABAC))状態を再初期設定することができるはずである。
その符号化効率をさらに改善するために、現在のインデックスグループが同じ色であるか、または上の行から完全に複写できるかを示すための追加のフラグを導入することができる。このフラグにより、符号化効率は著しく改善される。
上記のグループ化インデック符号化方式に加えて、符号化を改善するためにCUサイズに依存した色テーブルサイズ方式を実施することもできる。すべてのCUサイズに固定テーブルサイズを適用する代わりに、CU依存の適応色テーブルサイズが用いられる。基本的には、小さいCUには小さい色テーブルサイズが(現在のテーブル、または参照テーブル、またはその両方に)用いられる。これにより、特に、小さいCUの処理が処理パイプライン全体のボトルネックとなることを考慮すると、小さいCUのリソース要件が低減され、スループットが大幅に向上する。
例えば、64×64および32×32のCUには参照テーブルサイズおよび現在のテーブルサイズとして32を用いることができ、16×16および8×8のCUには16を用いることができる。加えて、「再利用」色選択プロセスにさらなる制約条件を適用することもでき、基本色は、現在の作業草案における参照テーブル全体にとは対照的に、参照テーブルの一部から評価され、選択されるにすぎない。この方法では、基本色の履歴をより適切に追跡するために、参照テーブルは現在のテーブルサイズより大きく設定される。加えて、基本色は、スループットを向上させるために、現在のテーブルと同じサイズの参照テーブルのサブセットから選択されるにすぎない。上記の例では、この方式により、参照テーブルのサイズは64まで増加し、現在のテーブルのサイズは上述のように不変のままである。ただし、再利用フラグの評価は、64×64および32×32のCUの最初の32エントリ、ならびに16×16および8×8のCUの最初の16エントリのみに制限される。これにより、符号化スループットをさらに改善することができる。また、再利用ベクトルは、均一な64ビンのベクトルではなく、現在のテーブルのサイズと同じ数でシグナリングしさえすればよい。
上記のCUサイズ依存色テーブルサイズ方式に加えて、符号化を改善するためにCOPY_ABOVE_MODEの拡張サーチも実施することができる。現在のHEVC SCC草案におけるパレット(PLT)モードのインデックスマップ符号化には、COPY_INDEX_MODEとCOPY_ABOVE_MODEの2つのモードがある。COPY_ABOVE_MODEは、隣接する上の行のみを参照として用いる。COPY_ABOVE_MODEは、現在のCU内のさらに離れた追加行を参照するように拡張することができる。現在の行と参照行との差は、アルファ符号化および切捨て2進符号化、または任意の他の2進化方式を用いて符号化される。探索距離は現在のCUによって制限される。
上記のCOPY_ABOVE_MODE方式の拡張探索に加えて、符号化を改善するために、動的な幅および高さを用いた2次元(2−D)一致を実施することもできる。現在のHEVC SCC草案におけるPLTモードのインデックスマップ符号化では、ランベースの1次元(1−D)マッチを用いる。任意の所与の位置について、ランベースの1−D探索を実行するときに、様々な幅および高さを用いた2−D探索も実行される。2−D探索法によってカバーされる領域が1−Dラン値より大きい場合、2−Dストリングモードが選択され、そのブロックのベクトル(例えば、bvx、bvy)および高さおよび幅がビットストリームに符号化される。そうでない場合には、1−D一致モードが選択され、そのラン値がビットストリームに符号化される。
現在の列のモードが2−Dか1−Dかを示すために1ビットのフラグ2D_flagが構文に追加される。2D_flag=1の場合、そのブロックのベクトル(例えば、bvx、bvy)が符号化される。bvx=0であるかどうかを示すために1ビットのbvx0フラグが追加され、bvy=0であるかどうかを示すために1ビットのbvy0フラグが追加される。対応するフラグ(例えば、bvx0やbvy0)が0である場合には、bvy>0であるかどうかを示すために1ビットのbvy_signフラグが追加され、bvx>0あるかどうかを示すために1ビットのbvx_signフラグが追加される。対応するフラグ(例えば、bvx0やbvy0)がゼロである場合には、bvxまたはbvyの絶対値は、例えば、コンテキスト付きの固定長やコンテキスト付きの切捨て2進符号を用いて符号化される。2−Dの幅および高さの値もコンテキストベースまたは非コンテキストベースの符号化法を用いて符号化される。ブロックのベクトルbvxおよびbvyの両方がゼロであるが、2D_flag=1である場合、これはその2−Dブロックが実際には単色ブロックであることを意味し、そのカラーインデックスがビットストリームに符号化される。例えば、bvx、bvy、幅および高さの最大値がエンコーダとデコーダの両方に知られている場合、それらを符号化するために切捨て2進符号化法を適用することができる。
図5に、ビデオエンコーダ500の一実施形態を示す。ビデオエンコーダ500は、図5に示すように配置された、レートひずみ最適化(RDO)モジュール510、予測モジュール520、変換モジュール530、量子化モジュール540、エントロピーエンコーダ550、逆量子化モジュール560、逆変換モジュール570、再構築モジュール580、およびパレット作成インデックスマップ処理モジュール590を含むことができる。動作に際して、ビデオエンコーダ500は、ビデオフレーム(またはスライス)のシーケンスを含む入力ビデオを受信することができる。ここでは、フレームは、予測フレーム(Pフレーム)、イントラ符号化フレーム(Iフレーム)、または双方向予測フレーム(Bフレーム)のいずれかを指す場合がある。同様に、スライスも、Pスライス、Iスライス、またはBスライスのいずれかを指す場合がある。
RDOモジュール510は、他のモジュールの1つまたは複数についての論理判断を調整し、または行うように構成することができる。例えば、1つまたは複数の以前に符号化されたフレームに基づき、RDOモジュール510は、符号化されている現在のフレーム(またはスライス)が複数のCUにどのように分割されるか、ならびにCUが1つまたは複数のPUおよびTUにどのように分割されるかを決定することができる。上記のように、CU、PU、およびTUは、HEVCで用いられる様々な種類のブロックである。加えて、RDOモジュール510は、現在のフレームをどのように予測すべきかを決定することもできる。現在のフレームは、インター予測および/またはイントラ予測によって予測することができる。イントラ予測では、HEVCに複数の利用可能な予測モードまたは方向(例えば、Y成分のための34モード、ならびにU成分またはV成分のための(線形モード(LM)を含む)6モード)があり、RDO最適化モジュール510が最適なモードを決定することができる。例えば、RDOモジュール510は、予測モードごとの絶対値誤差の総和(sum of absolute error(SAE))を計算し、最小のSAEをもたらす予測モードを選択することができる。
一実施形態では、予測モジュール520は、入力ビデオから現在のブロックの予測ブロックを生成するように構成されている。予測モジュール520は、インター予測のための参照フレームまたはイントラ予測のための現在のフレームの参照画素を利用することができる。予測ブロックは複数の予測画素サンプルを含み、各予測画素サンプルは、対応する再構築されたルーマブロック内に位置する複数の再構築されたルーマサンプルと、対応する再構築されたクロマブロック内に位置する複数の再構築されたクロマサンプルとに基づいて生成することができる。
現在のブロックの予測ブロックが生成されると、現在のブロックが予測ブロックによって減じられることができ、または予測ブロックが現在のブロックによって減じられ、残差ブロックが生成されることができる。残差ブロックは変換モジュール530に供給することができ、変換モジュール530は離散コサイン変換(discrete cosine transform(DCT))といった2−D直交変換によって残差サンプルを変換係数の行列に変換することができる。次いで、変換係数の行列を、エントロピーエンコーダ550に供給する前に量子化モジュール540によって量子化することができる。量子化モジュール540は変換係数のスケールを変更し、それらを整数に丸めることができ、これにより非ゼロの変換係数の数を減らすことができる。その結果、圧縮比を高めることができる。一実施形態では、エントロピーエンコーダ550は、本明細書で開示する発明概念を実現するように構成される。
量子化変換係数を、エントロピーエンコーダ550によってスキャンし、符号化して符号化ビットストリームにすることができる。さらに、ブロックの連続した符号化を容易にするために、量子化変換係数を逆量子化モジュール560に供給して、変換係数の元のスケールを復元することもできる。その場合逆変換モジュール570は、変換モジュール530の逆を実行し、元の残差ブロックの雑音のあるバージョンを生成することができる。次いで、不可逆的残差ブロックを再構築モジュール580に供給することができ、再構築モジュール580はその後のブロックのイントラ予測のための再構築サンプルを生成することができる。必要に応じて、再構築サンプルがイントラ予測に用いられる前に、再構築サンプルに対してフィルタリングを実行することができる。一実施形態では、図5のエンコーダ500および/またはパレット作成インデックスマップ処理モジュール590は、図2Aおよび図2Bの方法200を実施するように構成される。
図5は、ビデオエンコーダの簡略化した図であることができ、よって、ビデオエンコーダに存在するモジュールの一部しか含まれていない可能性があることに留意されたい。当業者には理解されるように、ビデオ符号化を容易にするために、図5には示されていないが、他のモジュール(例えば、フィルタ、スキャナ、送信機)も含まれていてよい。加えて、符号化方式に応じて、ビデオエンコーダ内のモジュールのいくつかを省くこともできる。例えば、あるビデオコンテンツの可逆的符号化では、情報の損失が許されない可能性があるため、量子化モジュール540および逆量子化モジュール560を省くことができる。別の例として、残差ブロックが変換係数に変換されずに直接符号化される場合、変換モジュール530および逆変換モジュール570を省くことができる。さらに、エンコーダからの送信される前に、符号化ビットストリームは、ビデオフレームの符号化シーケンスがビデオデコーダによって正しく復号され得るように、ビデオ解像度、フレームレート、ブロック分割情報(サイズ、座標)、予測モードなどといった他の情報を含むように構成することもできる。
図6にビデオデコーダ600の一実施形態を示す。ビデオデコーダ600は、図5のビデオエンコーダ500に対応していてよく、図6に示すように配置された、エントロピーデコーダ610、逆量子化モジュール620、逆変換モジュール630、予測モジュール640、再構築モジュール650、およびパレット復元インデックスマップ復号モジュール690を含むことができる。動作に際して、ビデオフレームのシーケンスの情報を含む符号化ビットストリームがエントロピーデコーダ610によって受信され、エントロピーデコーダ610はビットストリームを復号して非圧縮フォーマットにすることができる。量子化変換係数の行列を生成し、次いで逆量子化モジュール620に供給することができ、逆量子化モジュール620は図5の逆量子化モジュール560と同じ、または類似したものであってよい。次いで、逆量子化モジュール620の出力が逆変換モジュール630に供給され、逆変換モジュール630は変換係数を残差ブロックの残差値に変換することができる。加えて、現在ブロックの予測モードを含む情報もエントロピーデコーダ610によって復号されてよい。予測モジュール640は、本明細書で開示する発明概念に基づいて、現在のブロックの予測ブロックを生成することができる。一実施形態では、エントロピーデコーダ610および/またはパレット復元インデックスマップ復号モジュール690は、本明細書で開示する発明概念を実現するように構成される。
図7に、例えば、ネットワークやシステム内で、上述のようなビデオフレームを処理するエンコーダ(例えば、図5のエンコーダ500)とデコーダ(例えば、図6のデコーダ600)とを含むことができるネットワークユニット700の一実施形態を示す。ネットワークユニット700は、他のネットワークユニットまたは構成要素からデータを受信するための複数の入口ポート710および/または受信装置(Rx)712と、データを処理し、データをどのネットワークユニットへ送信すべきか決定する論理演算装置またはプロセッサ720と、その他のネットワークユニットへデータを送信するための複数の出口ポート730および/または送信装置(Tx)732とを含むことができる。論理演算装置またはプロセッサ720は、上述の一致概念としてのエスケープ(escape as match concept)および/または図2A〜図2Cの方法を用いた符号化および復号のような、本明細書に記載した方式のいずれかを実現するように構成することができる。論理演算装置720は、ハードウェア、ソフトウェア、またはその両方を用いて実現することができる。
上述の方式は、配置された必要な作業負荷を処理するのに十分な処理能力、メモリリソース、およびネットワークスループット能力を備えたコンピュータやネットワークコンポーネントといった、任意の汎用ネットワークコンポーネント上で実施することができる。図8に、図2A〜図2Cの符号化および復号の方法200、250、270など、本明細書で開示する方法の1つまたは複数の実施形態を実施するのに適した、典型的な汎用ネットワークコンポーネントまたはコンピュータシステム800の概略図を示す。汎用ネットワークコンポーネントまたはコンピュータシステム800は、2次記憶804、読取り専用メモリ(ROM)806、ランダム・アクセス・メモリ(RAM)808を含むメモリデバイス、入力/出力(I/O)デバイス810、およびネットワーク接続デバイス812と通信するプロセッサ802(中央処理装置またはCPUと呼ぶことができる)を含む。単一のプロセッサとして例示されているが、プロセッサ802は単一のプロセッサだけに限定されず、複数のプロセッサを含むことができる。プロセッサ802は、1つもしくは複数のCPUチップ、コア(例えば、マルチコアプロセッサ)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、特定用途向け集積回路(ASIC)、および/もしくはデジタル信号プロセッサ(DSP)として実装されてもよく、かつ/または1つもしくは複数のASICの一部であってもよい。プロセッサ802は、一致概念としてのエスケープおよび/または図2A〜図2Cの方法を用いた符号化および復号のような、本明細書に記載した方式のいずれかを実現するように構成することができる。プロセッサ802は、ハードウェア、ソフトウェア、またはその両方を用いて実現することができる。
2次記憶804は、典型的には、1つまたは複数のディスクドライブまたはテープドライブで構成され、RAM808がすべての作業データを保持するのに十分な大きさでない場合には、データの不揮発性記憶およびオーバーフローデータ記憶装置として用いられる。2次記憶804は、プログラムが実行のために選択されたときにRAM808にロードされるプログラムを記憶するのに用いることができる。ROM806は、プログラム実行中に読み出される命令、およびおそらくは、データを記憶するのに用いられる。ROM806は、通常、2次記憶804の大きなメモリ容量と比べて小さいメモリ容量を有する不揮発性メモリデバイスである。RAM808は、揮発性データを記憶し、おそらくは、命令を記憶するのに用いられる。ROM806へのアクセスもRAM808へのアクセスも、通常は、2次記憶804へのアクセスよりも高速である。本明細書で開示するメモリデバイスの1つまたは複数(例えばRAM808など)が、論理演算装置720および/またはプロセッサ802によって実行されると、図2A〜図2Cの方法200、250、270を実施するソフトウェア、プログラミング、および/または命令を記憶することができる。
ネットワーク「エレメント」、ネットワーク「ノード」、ネットワーク「デバイス」、ネットワーク「コンポーネント」、ネットワーク「モジュール」の各用語、および/または類似した用語は、ネットワークデバイスを一般的に記述するのに区別なく用いることができ、本開示内で特に明記し、かつ/または求めない限り、特定の意味または特殊な意味を有するものではない。
本開示においてはいくつかの実施形態を提供しているが、開示のシステムおよび方法は、本開示の範囲を逸脱することなく多くの他の特定の形態として具体化される可能性もあることが理解される。本開示の各例は限定ではなく例示のためのものとみなすべきであり、その意図を本明細書に記載した詳細だけに限定すべきではない。例えば、様々な要素またはコンポーネントを、別のシステムにおいて組み合わせ、または統合することもでき、ある特徴を省略し、または実装しない場合もある。
加えて、様々な実施形態において、別個の、または分離したものとして記述され、例示された技法、システム、サブシステム、および方法を、本開示の範囲を逸脱することなく、他のシステム、モジュール、技法、または方法と組み合わせ、または統合することもできる。相互に結合され、または直接結合され、または通信し合うものとして図示され、または論じられた他の項目が、電気的にであれ、機械的にであれ、あるいはそれ以外であれ、何らかのインターフェース、デバイス、または介在コンポーネントを介して間接的に結合され、または通信する場合もある。交換、代用、および変更の他の例も、当業者であれば確認することができ、本明細書において開示される範囲を逸脱することなく実施することができる。
100 ブロック
104 列
106 列
108 列
110 列
112 列
114 列
116 列
500 ビデオエンコーダ
510 レートひずみ最適化
520 予測
530 変換
540 量子化
550 エントロピーエンコーダ
560 逆量子化
570 逆変換
580 再構築
590 パレット作成およびインデックスマップ処理
600 ビデオデコーダ
610 エントロピーデコーダ
620 逆量子化
630 逆変換
640 予測
650 再構築
690 パレット復元およびインデックスマップ復号
700 ネットワークユニット
710 入口ポート
712 受信装置
720 論理演算装置
732 送信装置
730 出口ポート
800 汎用ネットワークコンポーネントまたはコンピュータシステム
802 プロセッサ
804 2次記憶
806 読取り専用メモリ
808 ランダム・アクセス・メモリ
810 入力/出力デバイス
812 ネットワーク

Claims (23)

  1. 符号化の方法であって、
    画面コンテンツを含むビデオフレームを受信するステップと、
    前記ビデオフレーム内の画面コンテンツの色のインデックスマップを含むブロックを生成するステップであって、前記ブロックはインデックス値列を含む、前記ステップと、
    プロセッサが、第1のインデックス値列内の1つまたは複数の連続したインデックス値を、単一のエスケープ・カラー・インデックス値と、前記連続したエスケープ・カラー・インデックス値のうちのいくつが符号化されているかを特定するラン値とを用いて符号化するステップと、
    前記連続したインデックス値のうちの2つ以上を含む第2のインデックス値列を、前記第1のインデックス値列内のエスケープカラーの少なくともいくつかと前記第2のインデックス値列内のエスケープカラーの少なくともいくつかとが互いに異なるにもかかわらず、前記第1のインデックス値列から前記単一のエスケープ・カラー・インデックス値を複写することによって符号化するステップと、
    前記プロセッサが、前記ブロックのすべての前記インデックス値列が符号化された後で、前記1つまたは複数の連続したインデックス値に対応するエスケープカラーを順次に符号化するステップと、
    前記プロセッサに動作可能に結合された送信機が、前記インデックス値列およびエスケープカラーをビットストリームで復号装置へ送信するステップと、
    を含む、方法。
  2. COPY_INDEX_MODEを用いて前記1つまたは複数の連続したインデックス値および前記ラン値を符号化する、請求項1に記載の方法。
  3. 前記エスケープカラーのうちの少なくとも2つが互いに異なる、請求項1または2に記載の方法。
  4. COPY_ABOVE_MODEを用いて前記第1のインデックス値列から前記単一のエスケープ・カラー・インデックス値を複写する、請求項3に記載の方法。
  5. 前記第2のインデックス値列は前記第1のインデックス値列の真下にある、請求項1に記載の方法。
  6. 前記画面コンテンツはテキストおよびコンピュータ・グラフィック・コンテンツのうちの1つである、請求項1から5のいずれか一項に記載の方法。
  7. 前記画面コンテンツはいかなるカメラ撮影ビデオも含まない、請求項1から6のいずれか一項に記載の方法。
  8. 前記第1のインデックス値列は前記ブロック内の最上列である、請求項1から7のいずれか一項に記載の方法。
  9. 前記インデックス値列内の各インデックス値は色の数値表現である、請求項1から8のいずれか一項に記載の方法。
  10. 前記符号化するステップおよび前記順次に符号化するステップは可逆的符号化である、請求項1から9のいずれか一項に記載の方法。
  11. 符号化の方法であって、
    画面コンテンツを含むビデオフレームを受信するステップと、
    前記ビデオフレーム内の画面コンテンツの色のインデックスマップを含むブロックを生成するステップであって、前記ブロックはインデックス値列を含む、前記ステップと、
    プロセッサが、エスケープ・カラー・インデックス値を含む第1のインデックス値列を符号化するステップと、
    前記プロセッサが、前記第1のインデックス値列から前記エスケープ・カラー・インデックス値を複写することによって前記エスケープ・カラー・インデックス値を含む第2のインデックス値列を符号化するステップであって、前記エスケープ・カラー・インデックス値は、前記第1のインデックス値列の前記エスケープ・カラー・インデックス値が第1のエスケープカラーを表し、前記第2のインデックス値列のエスケープ・カラー・インデックス値が前記第1のエスケープカラーとは異なる第2のエスケープカラーを表すにもかかわらず、前記第1のインデックス値列から複写される、前記ステップと、
    前記プロセッサが、前記ブロックのすべての前記インデックス値列が符号化された後で、前記第1のインデックス値列内および前記第2のインデックス値列内の前記エスケープ・カラー・インデックス値に対応するエスケープカラーを順次に符号化するステップと、
    前記プロセッサに動作可能に結合された送信機が、前記インデックス値列および前記エスケープカラーをビットストリームで復号装置へ送信するステップと、
    を含む、方法。
  12. 前記第1の列の前記エスケープ・カラー・インデックス値に対応する前記エスケープカラーは前記第2の列の前記エスケープ・カラー・インデックス値に対応する前記エスケープカラーと異なる、請求項11に記載の方法。
  13. COPY_ABOVE_MODEを用いて前記第1のインデックス値列から前記エスケープ・カラー・インデックス値を複写する、請求項11または12に記載の方法。
  14. 前記第1の列内の前記エスケープ・カラー・インデックス値は複数の連続したエスケープ・カラー・インデックス値のうちの1つであり、前記第2の列内の前記エスケープ・カラー・インデックス値は複数の連続したエスケープ・カラー・インデックス値のうちの1つである、請求項11または12に記載の方法。
  15. 前記インデックス値列は画面コンテンツを表し、前記画面コンテンツは非カメラ撮影画像からなる、請求項11または12に記載の方法。
  16. プロセッサであって、
    画面コンテンツを含むビデオフレームを受信し、
    前記ビデオフレーム内の画面コンテンツの色のインデックスマップを含むブロックであって、同じエスケープ・カラー・インデックス値を共有するインデックス値列を含み、前記エスケープ・カラー・インデックス値はエスケープカラーを表す前記ブロックを生成し、
    前記ブロック内の前記インデックス値列の各々を符号化し、
    前記ブロック内の前記インデックス値列の各々が符号化された後で前記エスケープカラーを順次に符号化する
    ように構成された、前記プロセッサと、
    前記プロセッサに動作可能に結合され、前記インデックス値列および前記エスケープカラーをビットストリームで復号装置へ送信するように構成された送信機と、
    を含み、
    第1のインデックス値列内のエスケープカラーの少なくともいくつかと第2のインデックス値列内のエスケープカラーの少なくともいくつかとが互いに異なるにもかかわらず、第2のインデックス値列からの前記エスケープ・カラー・インデックス値は第1のインデックス値列からの前記エスケープ・カラー・インデックス値の完全な複写である、符号化装置。
  17. 1つのインデックス値列内の前記エスケープカラーは連続している、請求項16に記載の符号化装置。
  18. 復号の方法であって、
    デコーダを用いて、ブロック内のインデックス値列をスキャンするステップであって、1つまたは複数の前記インデックス値列が同じエスケープ・カラー・インデックス値を含み、前記エスケープ・カラー・インデックス値はエスケープカラーを表す、前記ステップと、
    前記デコーダを用いて、前記1つまたは複数のインデックス値列内の前記同じエスケープ・カラー・インデックス値の各々に対応する前記エスケープカラーを決定するために、前記ブロック内の前記インデックス値列の後に符号化された前記エスケープカラーを順次にスキャンするステップと、
    を含み、
    前記ブロック内の第1の列内のエスケープカラーの少なくともいくつかと前記ブロック内の第2の列内のエスケープカラーの少なくともいくつかとが互いに異なるにもかかわらず、前記ブロック内の第2の列からの前記エスケープ・カラー・インデックス値は前記ブロック内の第1の列からの前記エスケープ・カラー・インデックス値の完全な複写である、方法。
  19. 前記デコーダが、エンコーダによって送信されたビットストリームで前記ブロックを受信するステップ、
    をさらに含む、請求項18に記載の方法。
  20. 前記インデックス値列および前記インデックス値列の後に順次に符号化された前記エスケープカラーを決定するためにビットストリームを構文解析するステップ、
    をさらに含む、請求項19に記載の方法。
  21. 前記インデックス値列のうちの少なくとも1つが、単一のエスケープ・カラー・インデックス値を用いた複数の連続したインデックス値を含む、請求項18から20のいずれか一項に記載の方法。
  22. ブロック内のインデックス値列を含むビットストリームを受信するように構成された受信機であって、1つまたは複数の前記インデックス値列が同じエスケープ・カラー・インデックス値を含み、前記エスケープ・カラー・インデックス値はエスケープカラーを表す、前記受信機と、
    前記受信機に動作可能に結合され、前記ブロック内の前記インデックス値列の各々が復号された後で前記エスケープカラーを順次に復号するように構成された、プロセッサと、
    を含み、
    前記ブロック内の第1の列内のエスケープカラーの少なくともいくつかと前記ブロック内の第2の列内のエスケープカラーの少なくともいくつかとが互いに異なるにもかかわらず、前記第2の列からの前記エスケープ・カラー・インデックス値は前記第1の列からの前記エスケープ・カラー・インデックス値の完全な複写である、復号装置。
  23. 1つまたは複数の前記インデックス値列内の前記エスケープ・カラー・インデックス値は同じ数値である、請求項22に記載の復号装置。
JP2017538163A 2014-10-06 2015-10-02 高効率ビデオ符号化(hevc)画面コンテンツ符号化(scc)における改善されたパレットモード Active JP6749922B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201462060450P 2014-10-06 2014-10-06
US62/060,450 2014-10-06
PCT/US2015/053683 WO2016057323A1 (en) 2014-10-06 2015-10-02 Improved palette mode in high efficiency video coding (hevc) screen content coding (scc)

Publications (2)

Publication Number Publication Date
JP2017535218A JP2017535218A (ja) 2017-11-24
JP6749922B2 true JP6749922B2 (ja) 2020-09-02

Family

ID=54347830

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017538163A Active JP6749922B2 (ja) 2014-10-06 2015-10-02 高効率ビデオ符号化(hevc)画面コンテンツ符号化(scc)における改善されたパレットモード

Country Status (6)

Country Link
US (2) US9706212B2 (ja)
EP (1) EP3192263B1 (ja)
JP (1) JP6749922B2 (ja)
KR (1) KR101993865B1 (ja)
CN (1) CN106797468B (ja)
WO (1) WO2016057323A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9544607B2 (en) * 2014-08-25 2017-01-10 Hfi Innovation Inc. Method of palette index signaling for image and video coding
EP3007423A1 (en) * 2014-10-06 2016-04-13 Industrial Technology Research Institute Method of color palette coding applicable to electronic device and electronic device using the same
US9961351B2 (en) * 2014-11-26 2018-05-01 Qualcomm Incorporated Palette mode coding
CN107409227B (zh) * 2015-03-20 2020-01-21 联发科技(新加坡)私人有限公司 视频编解码方法及装置
WO2020006707A1 (en) * 2018-07-04 2020-01-09 Alibaba Group Holding Limited Palette-based residual coding for video compression system
KR20200071302A (ko) * 2018-12-11 2020-06-19 가온미디어 주식회사 움직임 예측을 사용하는 영상 복호화 및 부호화 방법
CN111435993B (zh) * 2019-01-14 2022-08-26 华为技术有限公司 视频编码器、视频解码器及相应方法
CN109819254B (zh) * 2019-01-31 2022-05-03 深圳市战音科技有限公司 一种有损的图像压缩传输方法和系统
CN113366841A (zh) 2019-02-01 2021-09-07 北京字节跳动网络技术有限公司 配置用于视频编解码的依赖于亮度的色度残差缩放
WO2020156528A1 (en) * 2019-02-01 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Filtering processes based on in-loop reshaping
CN117499644A (zh) 2019-03-14 2024-02-02 北京字节跳动网络技术有限公司 环路整形信息的信令和语法
WO2020192612A1 (en) 2019-03-23 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Default in-loop reshaping parameters
CN110401833B (zh) * 2019-06-04 2021-06-04 西安万像电子科技有限公司 图像传输方法及装置
US11616962B2 (en) * 2019-07-15 2023-03-28 Tencent America LLC Method and apparatus for video coding
JP2022542083A (ja) 2019-07-21 2022-09-29 エルジー エレクトロニクス インコーポレイティド パレットモードの適用有無に応じてクロマ成分予測情報をシグナリングする画像符号化/復号化方法、装置、及びビットストリームを伝送する方法
CN111489464A (zh) 2020-03-25 2020-08-04 北京小米移动软件有限公司 身份验证方法和装置、电子设备以及计算机可读存储介质
CN112565760B (zh) * 2020-12-06 2022-07-15 浙江大华技术股份有限公司 串编码技术的编码方法、设备及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2114404B (en) * 1982-01-28 1986-07-02 British Broadcasting Corp Generating a colour video signal representative of a stored picture
JPH06180573A (ja) * 1992-10-01 1994-06-28 Hudson Soft Co Ltd 画像形成方法
JPH07274007A (ja) * 1994-03-23 1995-10-20 Eastman Kodak Co カラーイメージを圧縮、パレット化、伝送、受信する方法及び装置
RU2114404C1 (ru) 1995-11-14 1998-06-27 Российский федеральный ядерный центр - Всероссийский научно-исследовательский институт технической физики Способ изготовления термопар
US6219445B1 (en) * 1997-01-14 2001-04-17 Seiko Epson Corporation Multi-color image encoding and/or decoding apparatus containing color order table and the method thereof
JP4325708B2 (ja) 2007-07-05 2009-09-02 ソニー株式会社 データ処理装置、データ処理方法およびデータ処理プログラム、符号化装置、符号化方法および符号化プログラム、ならびに、復号装置、復号方法および復号プログラム
US20090010533A1 (en) 2007-07-05 2009-01-08 Mediatek Inc. Method and apparatus for displaying an encoded image
CN106851275A (zh) 2012-05-29 2017-06-13 寰发股份有限公司 视频数据的自适应采样点偏移的处理装置及方法
US10055189B2 (en) * 2014-01-02 2018-08-21 Vid Scale, Inc. Two-dimensional palette coding for screen content coding
US9699468B2 (en) * 2014-02-10 2017-07-04 Microsoft Technology Licensing, Llc Adaptive screen and video coding scheme
KR102494913B1 (ko) * 2014-03-14 2023-02-06 브이아이디 스케일, 인크. 스크린 콘텐츠 코딩을 위한 팔레트 코딩
US9826242B2 (en) * 2014-03-14 2017-11-21 Qualcomm Incorporated Palette-based video coding
US10382749B2 (en) * 2014-05-23 2019-08-13 Qualcomm Incorporated Coding run values based on palette index in palette-based video coding

Also Published As

Publication number Publication date
KR101993865B1 (ko) 2019-06-27
CN106797468B (zh) 2018-10-30
EP3192263A1 (en) 2017-07-19
CN106797468A (zh) 2017-05-31
WO2016057323A1 (en) 2016-04-14
US9706212B2 (en) 2017-07-11
EP3192263B1 (en) 2020-01-01
US20160100174A1 (en) 2016-04-07
US20170280147A1 (en) 2017-09-28
US10038908B2 (en) 2018-07-31
KR20170063913A (ko) 2017-06-08
JP2017535218A (ja) 2017-11-24

Similar Documents

Publication Publication Date Title
JP6749922B2 (ja) 高効率ビデオ符号化(hevc)画面コンテンツ符号化(scc)における改善されたパレットモード
JP7271683B2 (ja) エンコーダ、デコーダ、および対応するイントラ予測方法
TWI689197B (zh) 用於次取樣格式之調色模式
JP5777080B2 (ja) 合成ビデオのためのロスレス・コード化および関連するシグナリング方法
JP7401556B2 (ja) イントラ予測のためのエンコーダ、デコーダおよび対応する方法
CN106170092B (zh) 用于无损编码的快速编码方法
TWI689195B (zh) 用於調色板寫碼之寫碼逃脫像素
KR20220116339A (ko) 루마 및 크로마 성분에 대한 ibc 전용 버퍼 및 디폴트 값 리프레싱을 사용하는 인코더, 디코더 및 대응하는 방법들
JP7366149B2 (ja) 行列ベースのイントラ予測と二次変換コア選択を調和させるエンコーダ、デコーダ、および対応する方法
TW201603563A (zh) 用於視訊寫碼之具有執行長度碼之調色盤預測器信令
KR20200110442A (ko) 다중 부호 비트 숨기기 및 잔차 부호 예측을 조화시키기 위한 방법 및 장치
JP2022522571A (ja) 任意のctuサイズのためのibc検索範囲最適化を用いるエンコーダ、デコーダおよび対応する方法
JP2024026231A (ja) イントラ予測モードに関連するエンコーダ、デコーダ、および対応する方法
JP2023134576A (ja) コンパクトなmvストレージを用いるエンコーダ、デコーダ、及び対応する方法
JP7359343B2 (ja) Dct2が有効である高レベルフラグを使用するエンコーダ、デコーダ及び対応する方法
CN113660489B (zh) 用于帧内子划分的解码方法、装置、解码器和存储介质
JP2023085351A (ja) Cbfフラグの効率的なシグナリング方法
CN114846789A (zh) 用于指示条带的图像分割信息的解码器及对应方法
KR20210145824A (ko) 제산 없는 인트라 예측을 위한 방법 및 장치
RU2801326C2 (ru) Кодер, декодер и соответствующие способы, использующие выделенный буфер ibc, и значение по умолчанию, обновляющее компонент яркости и цветности
KR20210122800A (ko) 인트라 서브 파티션 코딩 모드 도구로부터 서브 파티션의 크기를 제한하는 인코더, 디코더 및 대응하는 방법
US20170055003A1 (en) Context Reduction Of Palette Run Type In High Efficiency Video Coding (HEVC) Screen Content Coding (SCC)

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170620

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170620

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181022

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190118

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190304

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200812

R150 Certificate of patent or registration of utility model

Ref document number: 6749922

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250