JP6532467B2 - ビデオ符号化および復号におけるシンタックス要素符号化方法および装置 - Google Patents

ビデオ符号化および復号におけるシンタックス要素符号化方法および装置 Download PDF

Info

Publication number
JP6532467B2
JP6532467B2 JP2016536180A JP2016536180A JP6532467B2 JP 6532467 B2 JP6532467 B2 JP 6532467B2 JP 2016536180 A JP2016536180 A JP 2016536180A JP 2016536180 A JP2016536180 A JP 2016536180A JP 6532467 B2 JP6532467 B2 JP 6532467B2
Authority
JP
Japan
Prior art keywords
value
palette
block
mode
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
JP2016536180A
Other languages
English (en)
Other versions
JP2017505001A (ja
Inventor
ラロシュ ギローム
ラロシュ ギローム
ジスケ クリストフ
ジスケ クリストフ
オンノ パトリス
オンノ パトリス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of JP2017505001A publication Critical patent/JP2017505001A/ja
Application granted granted Critical
Publication of JP6532467B2 publication Critical patent/JP6532467B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4031Fixed length to variable length coding
    • H03M7/4037Prefix coding
    • H03M7/4043Adaptive prefix coding
    • H03M7/4068Parameterized codes
    • H03M7/4075Golomb codes
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/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/1887Methods 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 variable length codeword
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/93Run-length coding

Landscapes

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

Description

本発明は、ビデオ符号化または復号のプロセスにおいて、変位ベクトル成分シンタックス要素符号化を予測する方法およびデバイスに関する。特に、HEVCにおけるパレットモード符号化における「Run」シンタックス要素に関する。
とりわけ、いわゆるパレットで符号化された、またはパレットから構築された予測ブロックに基づいて画素のブロックを予測により符号化する符号化モードについてのものである。
本明細書におけるパレットは、インデックスを画素の値と関連付ける複数のエントリを有するルックアップテーブルとして定義される。通常、必須ではないが、画素の値はその画素に関連付けられた各々の色成分の値によって構成され、カラーパレットとなる。一方、画素の値が単一の画素成分より成る場合には、モノクロのパレットとなる。
画素のブロックを符号化するこのモードは、一般にパレット符号化モード(Palette coding mode)と呼ばれる。例えば、high efficiency video coding(HEVC:ISO/IEC 23008−2 MPEG−H Part2/ITU−T H.265)のレンジ拡張で、このモードを採用することが見込まれる。
ビデオシーケンスで画像を符号化するとき、画像は最初に符号化ツリーブロック(CTB)と呼ばれる等しい大きさの画素の符号化エンティティに分割される。符号化ツリーブロックの大きさは、通常は64×64画素である。各々の符号化ツリーブロックは次に、符号化する画素の実際のブロックでありそれぞれサイズが異なり得るより小さいブロックの階層ツリーに分割することができる。符号化するためのこれらのより小さいブロックは、符号化ユニット(CU)と呼ばれる。
個別の符号化ユニットの符号化は通常は予測によるものである。つまり、予測ブロックが最初に決定される。次に、予測ブロックと符号化ユニットとの差分が計算される。この差分は残差と呼ばれる。次に、この残差が圧縮される。符号化ユニットの実際の符号化情報は、予測ブロックを決定する方法および圧縮された残差を示す情報等でできている。予測ブロックは、効率的に圧縮できる小さい残差を得るために可能な限り符号化ユニットに類似しているブロックであることが最も望ましい。
符号化モードは、符号化ユニットの予測符号化方法に対する予測ブロックを決定するために使用された方法に基づいて定義される。
第1の符号化モードはINTRAモードと呼ばれる。INTRAモードによれば、予測ブロックは、現在の画像内で符号化ユニットを直接取り囲む画素の値に基づいて構築される。留意すべきは、予測ブロックは現在の画像のブロックではなく構築物であるということである。予測ブロックを構築するために境界のどの画素が実際に使用されるか、そしてそれらがどのように使用されるかを判定するために方向が使用される。INTRAモードの背後にある考えは、自然な画像全体の整合性に起因し、符号化ユニットを直接取り囲む画素は現在の符号化ユニットの画素と類似している可能性が高いということである。したがって、これら周囲の画素に基づく予測ブロックを使用して符号化ユニットの画素の値の良好な予測を得ることが可能である。
第2の符号化モードはINTERモードと呼ばれる。INTERモードによれば、予測ブロックは別の画像のブロックである。INTERモードの背後にある考えは、一連の連続した画像は一般に非常に類似しているということである。主な差分は通常、カメラのスクロールによる、またはシーン中の動く被写体による、これらの画像間の動きによって生じる。予測ブロックは、現在の画像内の符号化ユニットの位置に対する参照画像でのその位置を相対的に示すベクトルによって判定される。このベクトルは動きベクトルと呼ばれる。このモードによれば、このモードを使用する上記符号化ユニットの符号化は、動きベクトルおよび圧縮された残差を含む動き情報を含む。
本明細書ではパレットモードと呼ばれる第3の符号化モードに焦点をあてる。パレットモードによれば、ある符号化ユニットに対する予測ブロックをパレットからのインデックスのブロックとして定義することが可能である。すなわち、予測ブロック内の各々の画素位置に対して、予測ブロックは、符号化ユニットにおいて同じ位置を有する(すなわち共通の場所に配置された)画素の値に最も近いパレット内の画素値と関連付けられたインデックスを含む。次に予測ブロックと符号化ユニットとの差分を表す残差が計算され、符号化される。パレット内のエントリインデックスは「レベル」としても知られている。
パレットモードを使用するとき、レベルの予測ブロックはビットストリームで伝送されなければならない。この伝送のために、予測ブロックは3つのシンタックス要素を使用して二値で符号化される。「Pred mode」と呼ばれる第1のシンタックス要素は、2つの符号化モードを区別出来るようにするものである。値0を有するPred modeに対応する第1のモードにおいて、符号化されるレベルの値はビットストリームで伝送されなければならない。値1を有するPred modeに対応する第2のモードにおいて、符号化されるレベルの値は予測ブロックにおける上の画素の値から取得する。レベルは伝送されなくてもよい。
「Level」と呼ばれる第2のシンタックス要素は第1のモードにおけるレベルの値の伝送のために定義される。「Run」と呼ばれる第3のシンタックス要素は繰り返しの値を符号化するために使用される。予測ブロックが、左上端から右下端まで左から右へそして上から下へ行毎に走査されることを考慮して、Runシンタックス要素は同じ符号化を有する予測ブロックにおける連続した画素の数を示す。Pred modeが0の場合、同じレベル値を有する予測ブロックの連続した画素の数である。Pred modeが1の場合、上の画素のレベル値に対応するレベル値を有する予測ブロックの連続した画素の数である。
Runシンタックス要素は、最も低い値に対してゴロム−ライス符号を、そして最も高い値に対して指数ゴロム符号を使用して符号化される。これらのゴロム符号はゴロムオーダーと呼ばれるパラメータを使用して定義される。Runシンタックス要素の符号化に対し、このゴロムオーダーは値3を有するとみなす。留意すべきは、ゴロムエントロピー符号の長さはオーダーに依存することである。
本発明は、パレットモードの「Run」シンタックス要素の符号化の符号化を改善するために考案された。
本発明は、可変のゴロムオーダーを使用することによってRunシンタックス要素の符号化を改善することを提案する。ゴロムオーダーがさまざまなパラメータに従って適合されるいくつかの実施形態を説明する。
本発明のある実施態様によれば、画素値に関連付けられたインデックスを複数含むパレットに従って画像の符号化ユニットを符号化又は復号する方法であって、前記パレットに含まれる複数のインデックスの内の対象のインデックスが、前記符号化ユニット内の当該対象のインデックスの上の位置のインデックスと等しいかを示すフラグを符号化又は復号し、前記パレットに含まれるインデックスに対応するエントロピー符号のパラメータを前記フラグに従って決定する。
本発明の第1の実施態様によれば、複数の画素値に関連付けられたインデックスのセットを備えるパレットに従って画像の符号化ユニットを符号化するために使用されたインデックスのブロックの複数のインデックスに関連付けられた、前記インデックスのブロックの少なくとも一部の前記符号化に使用される、エントロピー符号の少なくとも1つのパラメータを判定する方法であって、エントロピー符号の前記少なくとも1つのパラメータは前記インデックスのブロックの前記符号化プロセスで使用された少なくとも1つのパラメータに依存して判定される。
1つの実施形態において、エントロピー符号の前記少なくとも1つのパラメータは前記エントロピー符号の長さに関連する。
1つの実施形態において、前記エントロピー符号はゴロム型符号である。
1つの実施形態において、エントロピー符号の前記少なくとも1つのパラメータは前記ゴロム型符号のオーダーである。
1つの実施形態において、前記インデックスのブロックの少なくとも1つのインデックスは予測により符号化され、エントロピー符号の前記少なくとも1つのパラメータはエントロピー符号と関連付けられた前記少なくとも1つのインデックスの前記予測モードに依存して判定される。
1つの実施形態において、前記インデックスのブロックの少なくとも1つのインデックスは予測により符号化され、エントロピー符号の前記少なくとも1つのパラメータは前記エントロピー符号と関連付けられた前記少なくとも1つのインデックスのインデックス値に依存して判定される。
1つの実施形態において、前記インデックスのブロックの少なくとも1つのインデックスは予測により符号化され、エントロピー符号の前記少なくとも1つのパラメータは前記パレットサイズに依存して判定される。
1つの実施形態において、前記インデックスのブロックの少なくとも1つのインデックスは予測により符号化され、エントロピー符号の前記少なくとも1つのパラメータは前記符号化ユニットサイズに依存して判定される。
1つの実施形態において、各々のインデックスが各画素と関連付けされた前記インデックスのブロックの少なくとも1つのインデックスは予測により符号化され、エントロピー符号の前記少なくとも1つのパラメータは前記インデックスのブロックのインデックスと関連付ける画素の残数に依存して判定される。
1つの実施形態において、前記インデックスのブロックの少なくとも1つのインデックスは、走査順に連続した複数画素のグループによって、各々のグループが予測モードを示す第1のシンタックス要素および繰り返しを示す第2の要素を使用して、符号化され、前記エントロピー符号は前記繰り返しのシンタックス要素の符号化に使用される。
1つの実施形態において、前記方法は、
−前記インデックスのブロックの前記符号化プロセスで使用された少なくとも1つの第2のパラメータに基づいてカテゴリを判定する工程と、
−各々のカテゴリに対してエントロピー符号の前記少なくとも1つのパラメータの値を判定する工程と、
を含む。
1つの実施形態において、前記方法は、
−前記インデックスのブロックの前記符号化プロセスで使用された少なくとも1つの第3のパラメータに基づいて、エントロピー符号の前記少なくとも1つのパラメータの前記判定された値を適合させる工程と、
をさらに含む。
1つの実施形態において、前記少なくとも1つの第3のパラメータは、同じカテゴリに対して判定された最後の値と、最後に符号化された繰り返しの値と、を含む。
1つの実施形態において、前記少なくとも1つの第2のパラメータは、前記予測モード、または前記エントロピー符号と関連付けられた画素の前記インデックス値を含む。
1つの実施形態において、エントロピー符号の前記最小の1つのパラメータは、最後に符号化または復号された対応する要素の符号化または復号のために最適であったであろう前記エントロピー符号のパラメータの値として所定の要素の前記符号化に対して判定される。
1つの実施形態において、エントロピー符号の前記最小の1つのパラメータの値は、固定数の値に制限される。
本発明の第2の実施態様によれば、ビットストリームでビデオデータを符号化する方法を提供するものであって、前記方法は、
−第1の実施態様の方法に係るエントロピー符号の少なくとも1つのパラメータを判定する工程と、
−エントロピー符号の前記または1つの判定されたパラメータを使用して前記ビットストリームに値を書き込む工程と、
を含む。
本発明の第3の実施態様によれば、ビットストリームからビデオデータを復号する方法を提供するものであって、前記方法は、
−インデックスのブロックの前記符号化プロセスで使用されたパラメータを前記ビットストリームから取得する工程と、
−第1の実施態様の方法に係るエントロピー符号の少なくとも1つのパラメータを判定する工程と、
を含む。
本発明の第4の実施態様によれば、複数の画素値に関連付けられたインデックスのセットを備えるパレットに従って画像の符号化ユニットを符号化するために使用されたインデックスのブロックの複数のインデックスに関連付けられた、前記インデックスのブロックの少なくとも一部の前記符号化に使用される、エントロピー符号の少なくとも1つのパラメータを判定するデバイスを提供するものであって、前記デバイスは、前記インデックスのブロックの前記符号化プロセスで使用された少なくとも1つのパラメータに依存してエントロピー符号の前記少なくとも1つのパラメータを判定する手段を有する。
本発明の第5の実施態様によれば、ビットストリームでビデオデータを符号化するデバイスを提供するものであって、複数の画素値に関連付けられたインデックスのセットを備えるパレットに従って画像の符号化ユニットを符号化するために使用されたインデックスのブロックの複数のインデックスに関連付けられた、前記インデックスのブロックの少なくとも一部の前記符号化に使用される、エントロピー符号の少なくとも1つのパラメータを判定する手段であって、前記デバイスは、前記インデックスのブロックの前記符号化プロセスで使用された少なくとも1つのパラメータに依存してエントロピー符号の前記少なくとも1つのパラメータを判定する手段を有し、エントロピー符号の前記または1つの判定されたパラメータを使用して前記ビットストリームに値を書き込む手段と、を有する。
本発明の第6の実施態様によれば、ビットストリームからビデオデータを復号するデバイスを提供するものであって、インデックスのブロックの前記符号化プロセスで使用されたパラメータを前記ビットストリームから取得する手段と、複数の画素値に関連付けられたインデックスのセットを備えるパレットに従って画像の符号化ユニットを符号化するために使用されたインデックスのブロックの複数のインデックスに関連付けられた、前記インデックスのブロックの少なくとも一部の前記符号化に使用される、エントロピー符号の少なくとも1つのパラメータを判定する手段であって、前記デバイスは、前記インデックスのブロックの前記符号化プロセスで使用された少なくとも前記パラメータに依存してエントロピー符号の前記少なくとも1つのパラメータを判定する手段と、を有する。
本発明の第7の実施態様によれば、プログラム可能な装置用のコンピュータプログラム製品を提供するものであって、前記コンピュータプログラム製品は、前記プログラム可能な装置にロードされ実行されたとき、第1、第2または第3の実施態様のいずれか1つに係る方法を実施するための一連の命令を含む。
本発明の第8の実施態様によれば、第1、第2または第3の実施態様のいずれか1つに係る方法を実施するためのコンピュータプログラムの命令を記憶している非一過性のコンピュータ可読記憶媒体を提供する。
本発明の第9の実施態様によれば、コンピュータプログラムの命令を記憶しているコンピュータまたはマイクロプロセッサによって読取り可能な情報記憶手段を提供するものであって、第1、第2または第3の実施態様のいずれか1つに係る方法を実施することを可能にする。
本発明の1つのさらなる実施態様によれば、ビットストリームでビデオデータを符号化する方法を提供するものであって、前記方法は、第1の実施態様に係るエントロピー符号の少なくとも1つのパラメータを判定する工程と、前記判定された値を前記ビットストリームに書き込む工程と、を含む。
本発明の別の実施態様によれば、ビットストリームからビデオデータを復号する方法を提供を提供するものであって、前記方法は、第1の実施態様に係るエントロピー符号の少なくとも1つのパラメータを判定する工程と、前記判定された値を前記ビットストリームから読み取る工程と、を含む。
本発明のさらなる実施態様によれば、複数の画素値に関連付けられたインデックスのセットを備えるパレットに従って画像の符号化ユニットを符号化するために使用されたインデックスのブロックの複数のインデックスに関連付けられた、前記インデックスのブロックの少なくとも一部の前記符号化に使用される、エントロピー符号の少なくとも1つのパラメータを判定する方法を提供するものであって、前記少なくとも1つのパラメータは前記インデックスのブロックの前記符号化プロセスで使用された少なくとも1つのパラメータに依存して判定される。よって、Runシンタックス要素の符号化は改善される。
1つの実施形態において、エントロピー符号の前記少なくとも1つのパラメータは前記エントロピー符号の長さに関連する。
1つの実施形態において、前記エントロピー符号はゴロム型符号である。
1つの実施形態において、エントロピー符号の前記少なくとも1つのパラメータはゴロム型符号のオーダーである。
1つの実施形態において、前記インデックスのブロックの少なくとも1つのインデックスは予測により符号化され、エントロピー符号の前記少なくとも1つのパラメータは、前記エントロピー符号と関連付けられた前記少なくとも1つのインデックスの前記予測モードに依存して判定される。
1つの実施形態において、前記インデックスのブロックの少なくとも1つのインデックスは予測により符号化され、エントロピー符号の前記少なくとも1つのパラメータは、前記エントロピー符号と関連付けられた前記少なくとも1つのインデックスの前記インデックス値に依存して判定される。
1つの実施形態において、前記インデックスのブロックの少なくとも1つのインデックスは予測により符号化され、エントロピー符号の前記少なくとも1つのパラメータは前記パレットサイズに依存して判定される。
1つの実施形態において、前記インデックスのブロックの少なくとも1つのインデックスは予測により符号化され、エントロピー符号の前記少なくとも1つのパラメータは前記符号化ユニットサイズに依存して判定される。
1つの実施形態において、前記インデックスのブロックの少なくとも1つのインデックスは予測により符号化され、エントロピー符号の前記少なくとも1つのパラメータは復号または符号化されるレベルのブロックに残っている画素の数に依存して判定される。
1つの実施形態において、前記インデックスのブロックは、走査順に連続した複数画素のグループによって、各々のグループが予測モードを示す第1のシンタックス要素および繰り返しを示す第2の要素を使用して、符号化され、前記エントロピー符号は繰り返しのシンタックス要素の符号化に使用される。
1つの実施形態において、前記方法は、
前記インデックスのブロックの前記符号化プロセスで使用された少なくとも1つの第2のパラメータに基づいてカテゴリを判定する工程と、
各々のカテゴリに対してエントロピー符号の前記少なくとも1つのパラメータの値を判定する工程と、
を含む。
1つの実施形態において、前記方法は、
前記インデックスのブロックの前記符号化プロセスで使用された少なくとも1つの第3のパラメータに基づいてエントロピー符号の前記少なくとも1つのパラメータの前記判定された値を適合させる工程と、
をさらに含む。
1つの実施形態において、前記少なくとも1つの第3のパラメータは、同じカテゴリに対して判定された最後の値と、最後に符号化された繰り返しの値と、を含む。
1つの実施形態において、前記少なくとも1つの第2のパラメータは、前記予測モード、または前記エントロピー符号と関連付けられた前記画素のインデックス値を含む。
1つの実施形態において、エントロピー符号の前記最小の1つのパラメータは、最後に符号化または復号された対応する要素の符号化または復号のために最適であったであろう前記エントロピー符号のパラメータの値として、所定の要素の前記符号化に対して判定される。
1つの実施形態において、エントロピー符号の前記最小の1つのパラメータの値は、固定数の値に制限される。
本発明の別の実施態様によれば、ビットストリームでビデオデータを符号化または復号する方法を提供するものであって、前記方法は、
本発明に係るエントロピー符号の少なくとも1つのパラメータを判定するステップと、
前記判定された値を前記ビットストリームに書き込む、または前記ビットストリームから読み出すステップと、
を含む。
本発明の別の実施態様によれば、パレットに従って画像の符号化ユニットを符号化するために使用されたインデックスのブロックを符号化する方法を提供するものであって、前記パレットは複数の画素値に関連付けられたインデックスのセットを備え、前記エントロピー符号は前記インデックスのブロックの少なくとも一部の前記符号化に使用され、前記インデックスのブロックは走査順に連続した複数画素のグループによって符号化され、各々のグループは予測モードを示す第1のシンタックス要素および繰り返しを示す第2の要素を使用して符号化され、前記エントロピー符号は繰り返しのシンタックス要素の前記符号化に使用され、前記パレットは前記インデックスのブロックで複数のインデックスの前記出現に応じて再順序付けされるものであり、前記繰り返しの要素は事前に定義された閾値より大きいインデックスと関連付けられた複数画素のグループに対して符号化されない。
本発明の別の実施態様によれば、複数の画素値に関連付けられたインデックスのセットを備えるパレットに従って画像の符号化ユニットを符号化するために使用されたインデックスのブロックの複数のインデックスに関連付けられた、前記インデックスのブロックの少なくとも一部の前記符号化に使用される、エントロピー符号の少なくとも1つのパラメータを判定する方法を提供するものであって前記少なくとも1つのパラメータはゼロ値であると判定される。
本発明の別の実施態様によれば、複数の画素値に関連付けられたインデックスのセットを備えるパレットに従って画像の符号化ユニットを符号化するために使用されたインデックスのブロックの複数のインデックスに関連付けられた、前記インデックスのブロックの少なくとも一部の前記符号化に使用される、エントロピー符号の少なくとも1つのパラメータを判定するデバイスを提供するものであって、前記デバイスは、前記インデックスのブロックの前記符号化プロセスで使用された少なくとも1つのパラメータに依存して前記少なくとも1つのパラメータを判定する手段を有する。
本発明の別の実施態様によれば、プログラム可能な装置用のコンピュータプログラム製品を提供するものであって、前記コンピュータプログラム製品は、前記プログラム可能な装置にロードされ実行されたとき、本発明に係る方法を実施するための一連の命令を含む。
本発明の別の実施態様によれば、本発明に係る方法を実施するためのコンピュータプログラムの命令を記憶している非一過性のコンピュータ可読記憶媒体を提供するものである。
本発明の別の実施態様によれば、コンピュータプログラムの命令を記憶している、コンピュータまたはマイクロプロセッサによって読取り可能な情報記憶手段を提供するものであって、本発明に係る方法を実施することを可能にする。
本発明のさらに別の実施態様によれば、画像内のパレットモードに従って符号化された画素のブロックの複数の画素と関連付けられたエントロピー符号のパラメータを判定する方法を提供するものであって、1つの前記パラメータは前記複数の関連画素の予測方向に依存して判定される。
1つの実施形態において、前記判定されたパラメータは前記エントロピー符号の長さである。
1つの実施形態において、前記判定されたパラメータはゴロム符号のパラメータである。
本発明のさらなる実施態様で、画像符号化の方法を提供するものであって、上述のさらに別の実施態様のパラメータを判定する方法を含む。
本発明のさらなる実施態様で、画像符号化の方法を提供するものであって、上述のさらに別の実施態様のパラメータを判定する方法を含む。本発明に係る方法の少なくとも一部はコンピュータ実施することができる。したがって、本発明は、本明細書ですべて一般に「回路」、「モジュール」または「システム」と呼ばれる、完全にハードウェア実施形態、完全にソフトウェア実施形態(ファームウェア、常駐ソフトウェア、マイクロコード、などを含む)またはソフトウェアとハードウェアの実施態様を組み合わせる実施形態の形をとり得る。さらに、本発明は、媒体に具現化された、コンピュータが使用可能なプログラムコードを有する任意の有形な表現手段に具現化されたコンピュータプログラム製品の形をとり得る。
本発明はソフトウェアで実現することができるため、プログラム可能な装置に提供するための、適切なキャリア媒体上のコンピュータ可読コードとして具体化することができる。有形のキャリア媒体は、フロッピーディスク、CD−ROM、ハードディスクドライブ、磁気テープ装置または固体メモリデバイスなどの記憶媒体を含み得る。一時的キャリア媒体は、電気信号、電子信号、光信号、音響信号、磁気信号または、例えばマイクロ波もしくはRF信号などの、電磁信号などの信号を含み得る。
本発明の実施形態を、以下の図面を参照して、例としてのみ説明する。
HEVCエンコーダアーキテクチャを示す。 HEVCデコーダアーキテクチャを示す。 因果領域の概念を示す。 さまざまなビデオフォーマットを示す。 符号化ツリーブロックの符号化ユニットへの分割およびこれら符号化ユニットの復号する走査順を示す。 HEVCにおけるシンタックス要素のゴロムベースの二値符号化を示す。 HEVCのレンジ拡張において検証中のデコーダ側におけるパレットモード予測の原理を示す。 符号化ユニットとそれに対応するレベルのブロックおよび関連付けされたパレットを示す。 同じレベルのブロックおよびこのレベルのブロックの符号化に使用されたシンタックス要素のセットを示す。 パレットモードに関連したシンタックス要素の復号プロセスを示す。 レベルのブロックを構築し、次に予測子として使用すべき色空間のブロック予測子を構築する再構成プロセスを示す。 エンコーダでの例示的パレット判定アルゴリズムを示す。 エンコーダでのPred mode、LevelおよびRunシンタックス要素の選択を例示する。 Order値がレベルのブロックに残っている画素の数に依存する実施形態を示す。 Order値がビットストリームで伝送される実施形態を示す。 Run値を伝送しないことを決めるために使用されたLevel値に対する閾値の復号に関連した実施形態を示す。 本発明の1つまたは複数の実施形態を実施するのための計算装置の概略ブロック図である。
図1はHEVCエンコーダアーキテクチャを示す。ビデオエンコーダで、元のシーケンス101は画素のブロックに分割102される。次に符号化モードが各々のブロックに割り当てられる。HEVCで通常使用される符号化モードには2つのファミリーがある。すなわち、空間予測に基づくモードもしくはINTRAモード103、および時間予測に基づくモードもしくは動き推定104および動き補償105に基づくINTERモードがある。INTRA符号化ユニットは一般に、INTRA予測と呼ばれるプロセスによってその因果境界において符号化された画素から予測される。HEVC RExtとして知られる現在設計されているHEVCの拡張は、追加の符号化モード、すなわち画素のブロックを符号化するためにINTRAおよびINTER符号化モードに匹敵するパレット符号化モードを追加する。このパレット符号化モードを、具体的には図7から図13を参照してより詳細に以下に説明する。
INTER符号化モードの時間予測は、まず動き推定ステップ104で符号化ユニットに最も近い参照領域を参照フレーム116と呼ばれる過去または未来フレームにおいて特定するものである。この参照領域は予測ブロックを構成する。次に、この符号化ユニットは、動き補償ステップ105で残差を計算するために予測ブロックを使用して予測される。
空間予測および時間予測いずれの場合も、残差は元の予測ブロックから符号化ユニットを減算することによって計算される。
INTRA予測では、予測方向が符号化される。時間予測では、少なくとも1つの動きベクトルが符号化される。しかしながら、動きベクトル符号化に関連したビットレートコストをさらに削減するために動きベクトルは直接符号化されない。実際に、動きが均質なものであると仮定すると、動きベクトルをその動きベクトルとその周囲の動きベクトルとの差分として符号化することは特に影響がある。例えばH.264/AVC符号化規格で、現在ブロックの上および左に位置する3ブロックの間で計算された中間ベクトルに対して動きベクトルが符号化される。中間ベクトルと現在ブロック動きベクトルとの間で計算された残差動きベクトルとも呼ばれる差分だけが、ビットストリームに符号化される。これはモジュール「Mv予測および符号化」117で処理される。各々の符号化されたベクトルの値は動きベクトルフィールド118に記憶される。予測のために使用される隣接する動きベクトルは、動きベクトルフィールド118から抽出される。
そして、レート歪み性能を最適化するモードがモジュール106で選択される。冗長性をさらに低減するために、モジュール107で残差ブロックの変換、通常はDCT、が適用され、モジュール108で係数に量子化が適用される。係数の量子化ブロックはその後モジュール109でエントロピー符号化され、その結果がビットストリーム110に挿入される。
エンコーダはその後モジュール111〜116で、未来の動き推定のために符号化されたフレームの復号を行う。これがエンコーダにおける復号ループである。これらのステップによってエンコーダおよびデコーダに同じ参照フレームを持たせることができる。符号化されたフレームを再構成するためには、画素領域で「再構成された」残差を提供するために、残差がモジュール111で逆量子化され、モジュール112で逆変換される。符号化モード(INTERまたはINTRA)に従って、この残差がINTER予測子114またはINTRA予測子113に追加される。
次に、モジュール115で1つまたはいくつかの種類のポストフィルタリングによってこの第1の再構成がフィルタリングされる。これらのポストフィルタは復号ループに統合される。つまり、エンコーダおよびデコーダで同じ参照フレームを使用するために、エンコーダおよびデコーダでそれらを再構成フレームに適用する必要がある。このポストフィルタリングの目的は圧縮アーティファクトを除去することである。
HEVCデコーダの原理を図2に示す。
ビデオストリーム201は最初にモジュール202でエントロピー復号される。次に、画素値を取得するために残差データがモジュール203で逆量子化され、モジュール204で逆変換される。モードデータもエントロピー復号され、モードの機能で、t INTRAタイプ復号またはINTERタイプ復号が行われる。INTRAモードの場合、INTRA予測方向がビットストリームから復号される。次に予測方向を使用して参照領域の位置を決める205。INTERモードの場合、動き情報がビットストリームから復号される202。これは参照フレームインデックスおよび動きベクトル残差から構成されている。動きベクトル予測子は、動きベクトルを取得するために動きベクトル残差に追加210される。次に動きベクトルはを使用して参照フレームで参照領域の位置を決める206。なお、動きベクトルフィールドデータ211は、次の復号動きベクトルの予測に使用するために、復号動きベクトルで更新される。復号フレームのこの最初の復元は次に、エンコーダ側で使用されたものと全く同じポストフィルタでポストフィルタリング207される。デコーダの出力は解凍されたビデオ209である。
図3は、HEVCにおけるようなブロック毎の符号化から生じる因果原理を示す。
高レベルでは、画像はラスタ走査順に符号化される複数の符号化ユニットに分割される。したがって、ブロック3.1を符号化するとき、領域3.3のすべてのブロックはすでに符号化されており、エンコーダに利用可能であると考えられる。同様に、デコーダでブロック3.1を復号するとき、領域3.3のすべてのブロックはすでに復号され、したがって再構成されており、デコーダで利用可能であると考えられる。領域3.3は符号化ユニット3.1の因果領域と呼ばれる。一旦符号化ユニット3.1が符号化されると、それは次の符号化ユニットの因果領域に属することになる。以降のすべての符号化ユニットと同様に次の符号化ユニットは、点状の領域として示される領域3.4に属し、現在の符号化ユニット3.1を符号化するために使用することはできない。留意すべきは、因果領域は復元ブロックによって構成されることである。ある符号化ユニットを符号化するために使用された情報は、その情報が復号に利用できないため、画像の元のブロックではない。復号において利用可能な唯一の情報は、因果領域内の画素のブロックの再構成バージョン、すなわちこれらブロックの復号バージョンである。このため、符号化において、因果領域の予め符号化されたブロックはこれらブロックの再構成バージョンを提供するために復号される。
ブロック3.1を符号化するとき因果領域のブロック3.2からの情報を使用することが可能である。HEVCレンジ拡張ドラフト仕様書で、ビットストリームで伝送され得る変位ベクトル3.5はこのブロック3.2を示すことができる。
図5は、符号化ツリーブロックの符号化ユニットへの分割およびこれらの符号化ユニットを順次処理する例示走査順を示す。HEVC規格では、ブロック構造は符号化ツリーブロック(CTB)によって編成される。1フレームは、重複しない正方形の符号化ツリーブロックをいくつか包む。符号化ツリーブロックのサイズは64×64から16×16と等しくすることができる。このサイズはシーケンスレベルで判定される。符号化効率の点で、最も効率的なサイズは最大のサイズ、すなわち64×64である。なお、すべての符号化ツリーブロックは画像境界を除き同じサイズを有する。境界CTBのサイズは、残っている画素の量に応じて適応される。
各々の符号化ツリーブロックは1つまたは複数の正方形の符号化ユニット(CU)を含む。符号化ツリーブロックは、4分木構造に基づいていくつかの符号化ユニットに分割される。符号化ツリーブロックでの各々の符号化ユニットの処理(符号化または復号)順は、ラスタ走査順に基づく4分木構造に従う。図5は、符号化ユニットの処理順の1例を示す。この図で各々の符号化ユニット内の数字は、この符号化ツリーブロックの対応する各符号化ユニットの処理順を示す。
HEVCでは、いくつかの方法を使用して、さまざまなシンタックス要素、例えばブロック残差、予測ブロックの情報(動きベクトル、INTRA予測方向など)を符号化する。HEVCは、コンテクスト適応型二値算術符号化(CABAC)、ゴロム−ライス符号、または固定長符号化と呼ばれる単純な二進表現のような、いくつかのタイプのエントロピー符号化を使用する。ほとんどの場合、さまざまなシンタックス要素を表すため二進符号化プロセスが行われる。この二進符号化プロセスも非常に明確であってさまざまなシンタックス要素に依存する。
例えば、「coeff_abs_level_remaining」というシンタックス要素は、係数残差の絶対値またはその一部を含む。この二進符号化プロセスの考えは、ゴロム−ライス符号は第1の値に対して使用し、指数ゴロムはより高い値に対して使用することである。より具体的には、ゴロムオーダーと呼ばれるあるパラメータに応じて、つまり例えば0から3までの値を表す第1の値を表すためにゴロム−ライス符号が使用され、例えば4以上のより高い値を表わすために指数ゴロム符号が使用される。ゴロムオーダーはゴロム−ライス符号と指数ゴロム符号の両方で使用されるパラメータである。
図6は、復号側における原理を示す。復号プロセスの入力データは、ビットストリーム601およびライス・ゴロム・パラメータ、またはゴロムオーダーとして知られるOrderである。このプロセスの出力は復号されたシンボル612である。
プレフィックス値はステップ602で1に等しく設定され、次にステップ601におけるビットストリームから1ビットが抽出され、可変フラグが復号された値と等しく設定603される。ステップ604でこのフラグが0と等しい場合、Prefix値はインクリメント605され、ビットストリームから別のビットが抽出603される。フラグ値が1と等しいとき、判定モジュール606はPrefixの値が厳密に3より小さいか確認する。それが真である場合、N=Orderビットがビットストリーム601から抽出608され、変数「codeword」に設定される。これはゴロム−ライス表現に対応する。シンボル値612はステップ609に示すように((prefix<<Order)+codeword)と等しく設定される。式中「<<」は左シフト演算子である。
ステップ606でPrefixが3以上である場合、次のステップ610であり、N=(prefix−3+Order)ビットがビットストリームから抽出され、変数「codeword」に設定610される。シンボル値611は((1<<(prefix−3))+2)<<Order)+codewordと等しく設定される。これは指数ゴロム表現に対応する。
以下で、この復号プロセス、および対称的に対応する符号化プロセスは、ゴロムオーダーに対応する入力パラメータを有するGolomb_Hと呼ばれる。簡単にGolomb_H(Order)と記すことができる。
HEVCでは、残差などのいくつかののシンタックス要素に関しては、符号化される信号をエントロピー符号化するためにゴロムオーダーが更新される。更新式は、係数が大きい値を有するときゴロムオーダーを増加させることによってゴロム符号サイズを減少させようとする。HEVC規格で、更新は次の式によって行われる。
Order=Min(cLastRiceOrder+(cLastAbsLevel>(3*(1<<cLastRiceOrder))?1:0),4)
式中cLastRiceOrderは最後に使用されたOrderであり、cLastAbsLevelは最後に復号されたcoeff_abs_level_remainingである。なお、符号化または復号される最初のパラメータに関しては、cLastRiceOrderおよびcLastAbsLevelは0と等しく設定される。さらに、この式でパラメータOrderは4の値を超えることはできない。そして式中、式(C?A:B)は、条件Cが真である場合には値Aを有し、条件Cが偽である場合には値Bを有する。
一般にHEVC RExtとも呼ばれるHEVCレンジ拡張が、新しいビデオ符号化規格HEVCについて現在草案されている拡張である。
この拡張の目的は、追加のカラーフォーマットおよびビット深度で、できる限り可逆的に、ビデオシーケンスを符号化する追加のツールを提供することである。具体的には、この拡張は、4:2.0ビデオフォーマットに加えて、4:4:4ビデオフォーマットと同様4:2:2カラーフォーマットをサポートするように設計される(図4を参照)。カラー画像は一般に3つの色成分R、GおよびBでできている。これらの成分は一般に相関関係があり、画像およびビデオ圧縮において画像を処理する前に色成分の相関関係を失わせることはごく一般的である。色成分の相関を失わせる最も一般的なフォーマットはYUVカラーフォーマットである。YUV信号は通常、3つの入力R、GおよびB入力フレームを線形変換することによって、画像のRGB表現から生成される。Yは通常、輝度成分と呼ばれ、UおよびVは一般にクロマ成分と呼ばれる。用語「YCbCr」も、用語「YUV」の代わりに一般的に使用される。
画素の各々の色成分を符号化するために使用されるビットの数であるビット深度に関して、現在のHEVC規格が8および10ビットのビット深度(すなわち256から1024の可能な色)を有する4:2:0カラーフォーマットに対応が可能である場合、HEVC RExtは、8ビットから16ビットに及ぶ拡張されたビット深度(すなわち最大65536の可能な色)を有する4:2:2および4:4:4ビデオフォーマットをさらにサポートするよう設計されようとしている。これは、より動的な色成分を有するために特に有用である。
HEVC RExtも入力シーケンスの可逆符号化を提供するように設計される。すなわち、入力101と厳密に同一である復号された出力209を得るということである。これを達成するために、非可逆コーデックである従来のHEVCと比較して、多くのツールが修正または追加されている。可逆的に動作するための修正または追加の例の一部を以下にあげる。
−量子化ステップ108(デコーダでは203)の除去、
−通常のコサイン/サイン変換107としてバイパス変換の強制始動が誤差をもたらす場合がある(デコーダでは204)、
−ポストフィルタリング115(デコーダでは207)などの、量子化ノイズ補償において特に調整されたツールの除去。
HEVC RExtに対して、より高いビット深度に対応し、可逆符号化を含む拡張フォーマットのビデオ圧縮(4:2:2および4:4:4)を処理するアプリケーションによって必要とされる非常に高い品質を考慮して、ゴロムオーダーの更新式はさらに修正されている。HEVC RExtに対して、更新式は次のように修正されている。
Order=Min(cLastRiceOrder+(cLastAbsLevel>>(2+cLastRiceOrder)),7)
この式で、Orderの最大値は7である。さらに、Transformブロックのサブブロックに対するcoeff_abs_level_remainingの第1の符号化のために、ゴロムオーダーは、
Order=Max(0,cRiceOrder−(transform_skip_flag||cu_transquant_bypass_flag?1:2))
と等しく設定され、
式中、
・変数「transform_skip_flag」は、現在の符号化ユニットに対して変換(例えばDCT107または204)がスキップされる場合は1に、変換が使用される場合は0に設定され、
・変数「cu_transquant_bypass_flag」は、符号化ユニットが可逆符号化される場合は1に、そうでない場合は0に設定され、
・変数「cRiceOrder」は、変換ブロックの別のサブブロックからの最後に使用されたOrderと等しく設定され、そうでない場合は0に設定される。
HEVC RExt用の追加のツールが、ナチュラルシーケンスに加えて「スクリーンコンテンツ(screen content)」ビデオシーケンスを効率的に符号化するために現在設計されている。「スクリーンコンテンツ」ビデオシーケンスは、例えばテキスト、PowerPointプレゼンテーション、グラフィカルユーザインタフェース、テーブルを含む任意の他のデバイスのパーソナルコンピュータからキャプチャしたもの(例えばスクリーンショット)に対応する非常に具体的な内容を有する特定のビデオシーケンスを意味する。これら特定のビデオシーケンスは、ナチュラルビデオシーケンスと比較して非常に異なった統計値を有する。ビデオ符号化において、HEVCを含む従来のビデオ符号化ツールの性能は、このような「スクリーンコンテンツ」を処理する際に時として不十分なものとなる。
「スクリーンコンテンツ」ビデオシーケンスを処理するためにHEVC RExtで現在議論されている現在のツールは、イントラブロックコピーモード(Intra Block Copy mode)およびパレットモードがある。これらのモードに対するプロトタイプは、ナチュラルビデオシーケンスを対象とする従来の方法と比較して良好な符号化効率を示している。本明細書ではパレット符号化モードに焦点をあてる。
HEVC RExtのパレットモードは予測モードである。つまり、動き予測によって(インターの場合)またはイントラ予測によって行われる予測と同様に、ある符号化ユニットの符号化のための予測子を構築するためにパレット方法が使用される。予測の生成の後に、残りの符号化ユニットが変換され、量子化され、符号化される。換言すれば、図1および2を参照して上述したものと同じプロセスが適用される。
パレットは一般に、有限セットのN組の色を含む表テーブルによって表され、各々の色はある色空間でその成分によって定義される(例えば、YUV色空間に基づく図8の803を参照)。例えば、標準的なRGBフォーマットで、パレットはN組のP要素のリスト(RGBに対してN=3)から成る。より正確には、各々の要素はRGBフォーマットの色成分の固定トリプレットに対応する。もちろん、これはRGBまたはYUVカラーフォーマットに限定されない。任意の他のカラーフォーマットもパレットによって表すことができ、より少ないまたはより多い数の色成分を使用することができる。つまり、Nが3と異なっていてもよい。
エンコーダ側において、RExtで検討中のパレットモードは、ある入力符号化ユニットの画素値を関連付けされたパレットにおけるエントリを特定するレベルと呼ばれるインデックスに変換するものである。変換の後、結果として得られた符号化ユニットまたはブロックはレベルから成り、次に一般に符号化ユニットを表すために使用される色の有限数のトリプレットを有するテーブルである関連付けされたパレットとともにデコーダに伝送される。パレットは有限数の色を定義するので、インデックスのブロックへの変換は通常元の入力符号化ユニットに近似する。
エンコーダ側においてパレットモードを適用するために、画素の符号化ユニットを変換する例示方法は以下である。
−例えば全体的な歪みを最小化することによって、符号化する画素の符号化ユニットを最もよく表わすP個のトリプレットを特定し、
−次にP個のトリプレット中の最も近い色を符号化ユニットの各々の画素と関連付ける。すなわち、その結果符号化する値(またはレベル)は、関連付けられた最も近い色のエントリに対応するインデックスである。
各々の符号化ユニットに対して、パレット(すなわち特定されたP個のトリプレット)、インデックスまたはレベルのブロックおよび元の符号化ユニットと(ブロック予測子である)色空間のインデックスのブロックとの差分を表す残差は、ビットストリーム110において符号化され、デコーダに送られる。
デコーダにおいて、パレットモードは、逆方向に変換を実行するものである。つまり、符号化ユニットの各画素に対応する色を再構成するために、符号化ユニットの各々の画素と関連付けられた各々の復号インデックスが、ビットストリームから復号されたパレットでの対応する色によって置換される。これは色空間でのインデックスのブロックの(すなわち符号化ユニット予測子の)再構成である。パレットモードは予測モードであるから、関連残差はビットストリームから復号され、そして最終的に再構成された符号化ユニットを構築するために復元符号化ユニット予測子に追加される。
図7はデコーダにおけるパレットモードの原理をさらに示す。ステップ702で、現在の符号化ユニットに対する予測モードがビットストリーム701から抽出される。現時点で、パレットモードはビットストリーム内のスキップフラグの前に位置するフラグによって特定される(他の符号化モードは図1および図2を参照して上述されている)。このフラグは単一のコンテクストを使用して符号化されたCABACである。このモードがパレットモード703である場合、パレットモードの関連したシンタックス705、すなわちパレットに関する情報、レベルのブロックおよび残差がビットストリーム701から抽出704され復号される。
次に、ステップ706の期間で、2つの要素、すなわちパレット707およびレベルのブロック708、が復号データから構築される。このレベルのブロックおよび関連付けられたパレットから、画素領域での符号化ユニット予測子710が構築709される。つまり、レベルのブロックの各々のレベルに対して、色(RGBまたはYUV)が各々の画素に関連付けられる。
次に符号化ユニット残差はビットストリーム701から復号711される。パレットモードの現在の実施では、パレットモードと関連付けられた残差は一般的なHEVCインター残差符号化方法を使用して、すなわちゴロム符号化を使用して符号化される。符号化ユニットの残差を取得するために、従来の逆量子化および逆変換が行われる。再構成された符号化ユニット714を形成するために、ブロック予測子710がこの符号化ユニット残差712に追加713される。
図8はエンコーダにおけるパレットモードの原理を示す。現在の符号化ユニット801は、3つの色値(Y、U、V)または(R、G、B)の代わりに各々の画素に対するレベルを含む同じサイズのブロック802に変換される。このレベルのブロックと関連付けられたパレット803は、符号化ユニットの全体的な歪み最小化に基づいて構築され、各々のエントリにおいて、エントリインデックスまたはレベルを対応する画素色値と関連付ける。なお、モノクロのアプリケーションについては、画素値は1つの成分のみを包み得る。
図7に関連して言及したように、(残差と同様に)パレットは符号化され各々の符号化ユニット毎にビットストリームに挿入される。同じように、(符号化ユニット予測子に対応する)レベルのブロックは符号化されビットストリームに挿入され、その符号化1例は図9を参照して以下に示す。本例では、レベルのブロックは、水平方向の順に走査される。
レベルのブロック91は、図8に参照番号802で例示したものと全く同じである。テーブル92および93は、レベルのブロック91を符号化するために使用された連続したシンタックス要素を記載する。テーブル93は、テーブル92の続きとして読むべきである。テーブル内のシンタックス要素は、ブロック91の太線で囲まれたレベルのグループの符号化に対応する。
レベルのブロックは、走査順に連続した画素のグループ別に符号化される。各々のグループは、予測方向を示す第1のシンタックス要素、繰り返しを示す第2の要素、および画素の値、すなわちレベルを示す任意の第3の要素を使用して符号化される。繰り返しはグループ内の画素の数に対応する。
これらの2つのテーブルは、パレットモードに関連付けられた現在のシンタックスを表わす。これらのシンタックス要素は、レベルのブロック91に対してビットストリームにおいて関連付けられた符号化情報に対応する。これらのテーブルで、3つの主なシンタックス要素はパレットモードの動作を完全に表すために使用され、レベルのブロック91のレベルを連続的に検討するとき以下のように使用される。
「Pred mode」と呼ばれる第1のシンタックス要素により、2つの符号化モードを区別することができる。「Pred mode」フラグが「0」の場合に対応する第1のモードでは、新しいレベルが現在の画素に対して使用される。レベルはビットストリームにおけるこのフラグの後すぐに信号伝達される。「Pred mode」フラグが「1」の場合に対応する第2のモードでは、「コピーアップ」モードが使用される。より具体的には、ラスタ走査順に対して同じ位置で始まるすぐ上のラインに位置する画素レベルに現在の画素レベルが対応することを意味する。「Pred mode」フラグが「1」の場合、レベルのブロック91において真上の画素のレベルの値を参照してレベルの値が分かるので、フラグのすぐ後にレベルを信号伝達する必要がない。
「Level」と呼ばれる第2のシンタックス要素は、「Pred mode」の第1のモードにおいてのみ現在の画素に対するパレットのレベル値を示す。
「Run」と呼ばれる第3のシンタックス要素は、「Pred mode」の両方のモードにおいて繰り返しの値を符号化するために使用される。レベルのブロック91が左上端から右下端まで、左から右へそして上から下へ行毎に走査されることを考慮すると、Runシンタックス要素は同じ符号化を有するブロック91における連続した画素の数を示す。
この「Run」シンタックス要素は、「pred mode」フラグに応じた異なる意味を有する。Pred modeが0のとき、「Run」要素は同じレベル値を有する予測ブロックの連続した画素の数である。例えば、Run=8の場合、これは、ラスタ走査順で9個の同一の連続したサンプルに対応する現在の画素および次の8画素に現在の「Level」が適用されることを意味する。
Pred modeが1のとき、「Run」要素は、ブロック91においてそれらの上の画素のレベル値に対応するレベル値を有する予測ブロックの連続した画素の数であり、すなわちここでは「コピーアップ」モードが適用される。例えば、Run=31の場合、これは、現在の画素のレベルが、全部で32画素に対応する上のラインの画素および次の31画素からコピーされることを意味する。
テーブル92および93に関して、パレットモードを使用してブロック91を表すために8つのステップを示す。各々のステップは、「Pred mode」フラグの符号化で始まり、「Pred mode」フラグが「0」のとき「Level」シンタックス要素が後に続き、あるいは「Pred mode」フラグが「1」のとき「Run」シンタックス要素が後に続く。「Level」シンタックス要素の後には、常に「Run」シンタックス要素が続く。
現在のブロックに対して復号される予測モードがパレットモードであるとき、デコーダはまずこのブロックに関連したシンタックスを復号し、そして次に符号化ユニット用の再構成プロセスを適用する。
図10は、パレットモードに関連したシンタックス要素の復号プロセスを示す。まず、パレットのサイズがビットストリーム1001から抽出され復号1002される。パレットの正確なサイズ(Palette_size)は、ステップ1002において復号されたサイズ値に1を加算することによって取得される。実際に、サイズは、値0がビットの最小数(1ビット)である単項の符号を使用して符号化され、パレットのサイズが0と等しいことはあり得ない。さもなければブロック予測子を構築するために画素値は使用できない。
次にパレット値復号に対応するプロセスが始まる。パレットのインデックスに対応する変数「i」はステップ1004において0と等しく設定され、次にステップ1005において「i」がパレットサイズ(Palette_size)と等しいかどうか確認するためにテストが行われる。パレットサイズと異なる場合、1つのパレット要素がビットストリーム1001から抽出されて復号1006され、次に「i」と等しい関連付けされたレベル/インデックスと共にパレットに加えられる。それから変数「i」はステップ1007を通してでインクリメントされる。「i」がパレットサイズと等しい場合1005、パレットは完全に復号されている。
次にレベルのブロック91の復号に対応するプロセスが行われる。まず、画素カウンタに対応する変数jが変数syntax_iと同様0に設定1008される。次に、画素カウンタがブロックに含まれた画素の数に対応するかどうか確認が行われる。ステップ1009において答えがイエスである場合ステップ1017においてプロセスは終了し、そうでない場合は1つの予測モードに対応するフラグ「Pred mode」の値がビットストリーム1001から抽出され復号1010される。
「Pred mode」の値は、復号されたすべての「Pred mode」値を含むインデックスsyntax_iでテーブルに加えられる。ステップ1011でこの「Pred mode」の値が0と等しい場合、「Level」に対応するシンタックス要素がビットストリーム1001から抽出され復号1012される。この変数「Level」は、復号されたすべてのレベルを含むインデックスsyntax_iでテーブルに加えられる。画素カウンタに対応する変数jが1だけインクリメント1013する1013。
次に「Run」シンタックス要素がステップ1014で復号される。ステップ1011でシンタックス要素「Pred Mode」が1と等しい場合、「Run」値がステップ1014で同様に復号される。このシンタックス要素「Run」は、復号されたすべてのランを含むインデックスsyntax_iでテーブルに加えられる。
次にステップ1015において、値jはステップ1014において復号されたランの値ずつインクリメントされる。変数syntax_iは、シンタックス要素の次のセットを検討するために1ずつインクリメントされる。カウンタjがブロック内の画素の数と等しい場合、レベルのブロック91を構築するためのシンタックスは終了1017する。パレットに関連したこのプロセスの終わりに、デコーダは、パレット、ならびにこの符号化ユニットのパレットモードと関連付けられたすべての「Pred mode」、「Level」および「Run」シンタックス要素のリストを含むテーブルを識別する。デコーダはそれから、図7を通して説明されるように、符号化ユニットの再構成プロセスを進めることができる。
上記の例における3つの値で構成される各々のパレット要素は、一般に3つの二進符号を使用して符号化される。二進符号の長さは各々の色成分のビット深度に対応する。パレットサイズは、通常は単項の符号を使用して符号化される。「Pred mode」要素は1ビットを使用して符号化される。「Level」要素はbと等しい二進符号長を有する二進符号を使用して符号化され、ここで2はパレットサイズ以上の最小の整数である。そして「Run」要素は、図6に関連して上で解説したように、Golomb_H(Order=3)を使用して符号化される。
図11は、レベルのブロック91、そして次に、予測子として使用されるべき色空間のブロック予測子を再構成プロセスを示す。このプロセスの入力データは上述図10のプロセスで取得されたテーブルであり、「Pred mode」、「Level」および「Run」のリストを含む。追加の入力データは、ビットストリームで信号伝達された4分木(図5)から得られた(レベルのブロック802/91のサイズと同じである)符号化ユニット801のサイズである。
最初のステップ1101で、画素カウンタを表す変数「i」が0と等しく設定され、シンタックス要素の各々のセットを連続的に検討するために、変数「j」も同様に0と等しく設定される。ステップ1104において、「Pred mode」のテーブルからインデックスjで抽出された要素Pred_mode[j]は0と照合される。
0と等しい場合、現在の画素「i」に対して新しいレベルが符号化される。その結果、位置「i」における画素の値はレベルのテーブルからのインデックス「j」におけるレベルと等しく設定、Block[i]=Level[j]と設定される。これがステップ1105である。変数「i」は、次の画素を検討するためにステップ1106において1ずつインクリメントされ、現在のRunですでに処理された画素を数えるための専用の変数「k」は、ステップ1107で0と等しく設定される。
kがインデックスjでのランのテーブルの「Run」要素と等しいかどうか、k=Run[j]?かどうかを、判定するために、ステップ1108において確認を行う。等しくない場合、位置iでの画素のレベルは位置i−1における画素のレベル値と等しく設定、すなわちBlock[i]=Block[i−1]と設定される。これがステップ1109である。変数iおよび変数kはそれから、それぞれステップ1110および1111において1ずつインクリメントされる。ステップ1108においてk=Run[j]の場合、左レベル値の伝播は終了し、ステップ1120(後述する)が行われる。
ステップ1104でPred_mode[j]が0と異なる場合、ステップ1112において0と等しく設定された変数「k」で「コピーアップ」モードが始まる。次に、ステップ1113で、(k−1)がインデックス「j」でのランのテーブルの「Run」要素と等しいかどうか、k=Run[j]+1?かどうか、を確認する。等しくない場合、位置iでの画素のレベル値は、上のラインの位置iにおける画素のレベル値と等しく設定、すなわちBlock[i]=Block[i−width]と設定され、式中「width」は、符号化ユニットの入力サイズから導き出される(符号化ユニットと同じ)レベルのブロックの幅である。これがステップ1114である。次に、変数「i」および変数「k」は、それぞれステップ1115および1116において1ずつインクリメントされる。ステップ1113においてk=Run[j]+1である場合、予測モード「コピーアップ」は完了し、プロセスはステップ1120に進む。
ステップ1120において、変数iがブロック91/CU801内の画素の量と等しいかを判定するために確認が行われる。等しくない場合、シンタックス要素の次のセットを検討するためにステップ1121において変数jが1ずつインクリメントされ、プロセスは上述のステップ1104に一巡して戻る。
ステップ1120においてすべての画素が処理されていた場合、レベルの最終ブロック91はステップ1122において取得される。これは、テーブルBlock[]に対応する。それから最終ステップ1123は、図10のプロセスを使用して復号されたパレット803を使用して色値の各々のレベルを変換するものである。この最終ステップは、各々のブロック位置で、ブロックにおけるその位置のレベルおよびパレットにおける対応するエントリに応じて、画素値(Y、U、V)または(R、G、B)に影響を与える。
HEVC RExtに導入されるようなパレットモードの他の態様は、現在の符号化ユニットを符号化するために使用されるパレットのエンコーダによる判定(下の図12を参照)、およびエンコーダにおけるPred mode、LevelおよびRunシンタックス要素の選択(下の図13を参照)に関係する。
図12は、エンコーダでのパレット判定アルゴリズムを示す。このプロセスの入力データは、画素の元の符号化ユニットおよびその符号化ユニットサイズである。本例では、YUVパレットが構築されるが、他の実施では同じように構築されたRGBパレットとなる場合もある。
第1のステップ1201において、画素カウンタを表す変数jは0に設定され、パレットが構築されているときのパレットの成長に従う変数「Palette_size」は同様に0に設定され、閾値を表す変数「TH」は9に設定される。次にステップ1203において画素p、すなわち走査順に応じたインデックスiを有する画素p、は元の符号化ユニット1204から読み出される。それから変数jは1205において0と等しく設定され、ステップ1206において、パレットサイズが変数「j」と等しい(構築中のパレットのすべてのパレット要素が検討されたことを意味する)かどうか判定するために確認が行われる。
パレットサイズがjと等しい場合、ステップ1209において、インデックス「j」におけるパレットは画素値pと等しく設定される。これは現在の画素pが、それと関連付けられたインデックスjで、パレット中の新しい要素となることを意味する。より具体的には、次の割り当てが行われる:
PAL[j]=(Yi)
PAL[j]=(Ui)
PAL[j]=(Vi)
式中、PALY,U,Vは色値を記憶するための3つのテーブルである。
パレットサイズ(Palette_size)はステップ1210において1だけインクリメントされ、出現テーブルCounterはステップ1211においてインデックス「Palette size」に対して1と等しく設定される。それから変数iは、現在の符号化ユニットの次の画素「i」を検討するためにステップ1213において1だけインクリメントされる。それから現在の符号化ユニットのすべての画素が処理されたかどうか判定するためにステップ1214において確認が行われる。それらがすべて処理された場合、後に解説される順序付けステップ1215によってプロセスは完了し、そうでない場合は上述のステップ1203において次の画素が検討される。
ステップ1206に戻って、jがpalette_sizeと異なる場合、pとインデックスjにおけるパレット要素間の各々の色成分に対する絶対値を計算するステップ1207が行われる。式は図に示す。すべての絶対値差分が所定の閾値THより厳密に小さい場合、パレットでの要素「j」に関する出現カウンタはステップ1212において1だけインクリメントされる。ステップ1207は、マージンTHを前提として、要素の色に隣接する色を包含するクラスなど、構築中のパレットの各々の要素に関するクラスを生成する。したがってステップ1212は各々のクラスの出現を数える。ステップ1212の後には、すでに説明したステップ1213が続く。
ステップ1207の条件が満たされない場合、パレット内の次のパレット要素を検討するために変数jはステップ1208において1だけインクリメントされる。これは、ステップ1207の新しい出現を通して他のパレット色要素を現在の画素と比較することである。パレット内の要素がステップ1207の基準を満たさない場合、ステップ1209、1210および1211を参照して上述したように新しい要素がパレットに追加される。
なお、判定モジュール1207は、4:4:4(YUVまたはRGB)シーケンスに対して各々の色要素を比較することができ、4:2:0シーケンスに対して輝度色成分のみを比較することができる。
図12のプロセスの終わりに、テーブル「Counter」は各パレット要素によって定義されたクラスの出現回数を含む。それからパレット要素は、最も頻出する要素がパレットの最初の位置(最も低いインデックスまたは「レベル」を有するエントリ)にあるように、それらの出現に従ってステップ1215において順序付けされる。
なお、パレットのサイズは最大サイズ、例えば24エントリに限定され得る。このような場合には、ステップ1215から結果として生じるパレットのサイズが24を超える場合、順序付けられたパレットの25番目の位置からの要素(エントリ)を削除することによってパレットは削減される。結果としてパレットが構築されることとなる。
一方、エンコーダにおけるPred mode、LevelおよびRunシンタックス要素の選択では、画素の元の符号化ユニット、図12のプロセスを通して構築されたパレットおよび符号化ユニットサイズが図13のプロセスの入力データである。具体的には、INTRA符号化、INTER符号化およびパレット符号化のうちどの符号化モードを使用しなければならないか判定するときにこの評価が実行される。
第1のステップ1301において、画素カウンタを表す変数「i」は0に設定される。以下に説明するプロセスは、iから始まる画素に対してシンタックス要素を判定しようとするものである。予測の2つのモードは別々に評価される。すなわち、図の右側部分について「Pred mode」=0、および図の左側部分について「Pred mode」=1である。
「コピーアップ」予測(「Pred mode」=1に対応する)に対して、現在のRunのレベルの数を数えるために使用される変数「icopy」がステップ1303において0と等しく設定される。その後ステップ1304において、画素位置iにおける現在レベル、すなわちBlock[i+icopy]は、上のラインで真上に位置する画素のレベル、すなわちBlock[i+icopy−width]と比較され、式中「width」は現在の符号化ユニットの幅に対応する。なお、符号化ユニットの各々の画素のレベルBlock[i+icopy]はステップ1308において並列に判定される。このステップは、すでに上で解説したように、最も近いパレット要素(実際はそのインデックスまたはレベル)を位置iにおける画素と関連付けるものである。このステップは、位置i、パレット1306および元の符号化ユニット1307を使用する。
ステップ1304において、Block[i+icopy]=Block[i+icopy−width]である場合、画素のブロックの次の画素値を検討し、位置i+icopyにおける現在の画素レベルが現在の「コピーアップ」Runに含まれ得ることを示すために、ステップ1305において変数「icopy」が1だけ増分インクリメントされる。ステップ1304において、Block[i+icopy]がBlock[i+icopy−width]と異なる場合、「コピーアップ」Runの現在の評価は終了したことを意味し、変数「icopy」は判定モジュール1314に伝送される。プロセスのこの段階において、変数「icopy」は、直上のラインからコピーされた値の数に対応する。
左値予測(「Pred mode」=0に対応)のために、Run値(ileft)を判定するループは、並列にまたは順次処理される。まず、現在の画素のインデックスiを記憶するために使用された変数「iStart」が「i」に設定され、インデックス「i」に続く画素レベルを連続的に検討するために使用された変数「j」が同様に「i」と等しく設定され、構築中の現在のRunを数えるために使用された変数「ileft」が0と等しく設定される。これがステップ1309である。次に、ステップ1310は、j!=0かつ「Pred_mode[j−1]」=0かつBlock[j]=Block[j−1]であるかを判定するものである。Pred_mode[]は、予測モード(それぞれ「コピーアップ」予測および左値予測に対して1または0)を記憶するためにエンコーダによって使用されたテーブルである。それは、連続した画素が処理されるにつれて以下に説明するステップ1317において順次埋められ、例えばステップ1301においてゼロ値で初期化、すなわち任意のkに対してPred_mode[k]=0、で初期化されたものである。
ステップ1310における条件が満たされる場合、変数「ileft」は、位置jにおける現在の画素レベルが現在の「左値」Runに含まれ得ることを示すためにステップ1311において1だけインクリメントされ、変数jは、画素のブロックの次の画素値を検討するためにステップ1312において1だけインクリメントされる。
ステップ1310における条件が満たされない場合、変数「j」は、それが現在の「左値」Runに対して調べられるべき最初画素値であるかどうかを判定するために「iStart」と比較される。これがステップ1313である。「j」が「iStart」以下である場合、それが現在のRunに対して調べられるべき最初の画素値であることを意味し、次に現在のRunを開始し、上述のステップ1312において次の画素値が検討される。「j」が「iStart」より厳密に高い場合、現在の「左値」Runの画素値と異なる第1の画素値が検出されたことを意味する。現在の「左値」Runの長さに対応する変数「ileft」は判定モジュール1314に伝送される。なお、「コピーアップ」予測のためのループとして、インデックスiにおけるレベルBlock[i]はステップ1308において同じループで判定される。
「左値予測」および「コピーアップ」モードに対する最大ランを計算した後に、変数「ileft」および「icopy」はステップ1314において比較される。これは、「icopy」!=0かつ「icopy」+2が「ileft」より高いかどうかを判定するためのものである。これは、コピーアップモードまたは左値予測モードのどちらかを選択するための例示的基準である。具体的には、パラメータ「2」を少し変更することができる。
ステップ1314における条件は、「icopy」が0と等しいまたはileft−2以下である場合、「左値予測」モードがステップ1315において選択されることを意味する。その場合、同じステップ1315において、「PredMode」変数は0と等しく設定され、Run変数は「ileft」と等しく設定される。一方、「icopy」が0と異なりかつ「ileft−2」より厳密に高い場合、「コピーアップ」モードがステップ1316において選択される。その場合、ステップ1316において、「PredMode」変数は1と等しく、Run変数は「icopy−1」と等しく設定される。
それから、ステップ1317において、エンコーダで「Pred_mode」および「Run」を含むテーブルは現在値「Pred_mode」および「Run」で更新される。それから、「run」値+1によってインクリメントされる現在の位置iに対応する、画素のブロックで検討するべき次の位置がステップ1318で計算される。それから、符号化ユニットの最後の画素が処理されたか否か判定するためにステップ1319において確認が行われる。これが当てはまる場合、プロセスはステップ1320において終了し、そうでない場合はシンタックス要素の新しいセットを取得するために次の画素位置に対して2つの予測モード「左予測」および「コピーアップ」の評価がステップ1303および1309を始点に評価される。
このプロセスの終わりに、エンコーダは、符号化ユニットの各々のサンプルに対するレベルを認識しており、3つのテーブルPred_mode[]、Block[]およびRun[]の内容に基づいてレベルのブロックの対応するシンタックスを符号化することが可能である。
一般的に言えば、ゴロムオーダーの小さい値は小さい範囲の値の符号化に最も適している一方で、より高いゴロムオーダーはより高い範囲の値を符号化するのに最も適している。すでに解説したように、Runシンタックス要素は、通常は、3の固定値を有するゴロムオーダーを使用して符号化される。本発明の1つの実施態様によれば、Run値の符号化に使用されたゴロムオーダーは若干のパラメータに基づいて適合される。これらのパラメータは、とりわけ、レベルの値、パレットのサイズ、予測モード、符号化ユニットのサイズを含む。これは、Run値の予想範囲が何らかの形でこれらのパラメータに関連している可能性があるという事実による。
図14は、Runシンタックス要素に対するゴロムオーダーの選択と他のパラメータとの依存性を示す。この図は、すでに説明した図10に基づいている。図10と比較して、図14は、ランの復号に対するゴロムオーダーの判定に関連した1つの追加モジュール1418を含む。次の実施形態において説明されるように、このOrderパラメータはパレットサイズ、Pred mode、Levelの値および符号化ユニットサイズ1419に依存してもよい。
本発明の1つの実施形態において、Orderは「Pred mode」に従って更新される。それは、2つの予測モードを有する現在の実装に基づいて、2つのパラメータOrderは、「Pred mode」=0に対応する「左予測」モードに対するOrder[0]および「Pred mode」=1に対応する「コピーアップ」予測モードに対するOrder[1]と考えられることを意味する。さらに、1つまたはいくつかの予測モードが考慮された前記2つに加えられてもよい。そのため、N個の異なるOrderがN個の可能な予測モードに対応して検討され得る。
特定の実施形態において、N>2であるとき、ただ1つのOrderを2つ以上の予測モードと関連付けることができる。換言すれば、いくつかの予測モードは同じOrder値にマップされ得る。各々に関連付けられたRun値は一般に異なるので、予測モードに応じてRun符号化を適合させることは効果的である。実際に、図9の実施例に例示されるように、「コピーアップ」モードに対するRun値は一般に高く、「左予測」モードに対するRun値より高い。これは同様に、レベルを伝送することが可能な唯一のモードである「左予測」モードの性質による。好ましい実施形態において、「コピーアップ」「Pred mode」のOrderは「左予測」モードのOrderより上位である。
本発明の1つの実施形態において、Orderはレベルに応じて更新される。「左予測」モード(「Pred mode」=0)に対して、最後の復号されたシンタックス要素はレベルである。この予測モードに対して、レベルは、レベルに関連した特定のOrderを設定するために使用される。そのため、検討され得るOrderの数はパレットサイズと等しい。特定の実施形態において、パレットサイズが厳密に2より大きいとき、ただ1つのOrderを2つ以上のレベル値と関連付けることができる。換言すれば、いくつかのレベルは同じOrder値にマップされ得る。
「コピーアップ」予測モードについては、レベルは符号化されないが、コピーされた最初のレベルが関連したOrderを設定するために使用されると考えることができる。さらなる実施形態において、「左予測」モードのために使用された左レベルは、Orderを適合させるために検討され得る。レベルに応じたOrderの適合は、パレットがレベルの出現に応じて順序付けられたとき特に効率的である。レベルが低いほど、その出現率は高い。そのため、より低いレベルに対する予想Run値は、最も高いレベル値に対するものより高いはずである。好ましい実施形態において、より低いレベルに対して定義されたOrderは最も高いレベルに対して定義されたOrderより大きい。
本発明の1つの実施形態において、Orderはパレットサイズに基づいて判定される。上述したように、最大パレットサイズはデフォルトで設定される。そのため、検討され得るOrderの数はパレットサイズと等しい。しかし、これは必須ではなく、好ましい実施形態においてより小さい範囲のOrder値が検討され得るという利点が有る。レベルの数が低いとき平均Run値が増加するので、パレットサイズに応じてOrderを適合させることは効果的である。同じように、レベルの数がより高い場合、平均Run値は減少する。そのため、パレットサイズが低いときOrderを増加させ、パレットサイズが高いときOrderを減少させることは有用である。好ましい実施形態において、より低いパレットサイズ値のOrderは最も高いパレットサイズ値のOrderより上位である。特定の実施形態において、Orderはパレットサイズに依存した式によって判定され得る。
本発明の1つの実施形態において、Orderは符号化ユニットサイズに基づいて判定される。そのため、現在の符号化ユニットサイズ、すなわち64×64、32×32、16×16、8×8を考慮する場合、検討され得るOrder値の数は4と等しい。しかし、これは必須ではなく、別の実施形態においてはより小さい数のOrder値が検討され得る。符号化ユニットサイズが低いとき予想Run値はより低いはずであり、同じように、符号化ユニットサイズが高い場合予想Run値はより大きいはずなので、符号化ユニットサイズに応じてOrderを適合させることは効果的である。そのため、符号化ユニットサイズが低いときOrderを減少させ、符号化ユニットサイズが高いときOrderを増加させることは有用である。好ましい実施形態において、より低い符号化ユニットサイズに対して判定されるOrder値は、最も高い符号化ユニットサイズ値に対して判定されるOrder値より低い。特定の実施形態において、Order値はパレットサイズに依存した式によって取得され得る。
1つの実施形態において、Order値は、復号または符号化されるレベルのブロックに残っている画素の数に依存する。図14において、それはOrder値が値Pixels_in_Block−jに依存することを意味する。実際に、まだ復号または符号化されない画素の数が低いほど、Run要素の予想値は低い。
1つの実施形態において、提案された異なる適合方法を組み合わせることができる。
1つの実施形態において、Order値は、例えば次のテーブルに従って、パレットサイズおよび符号化ユニットサイズに基づいて判定される。
Figure 0006532467

なお、このテーブルは単に可能な実施例を示ものである。
1つの実施形態において、Order値は予測モード「Pred mode」およびLevel値に基づいて判定される。好ましい実施形態において、Order値は次の式で示される。
If(pred_mode==1)Order=Order0
else if(pred_mode==0 AND level==0)Order=Order1
else Order=Order2
好ましい実施形態において、Order0=Order1である。実際に、0と等しいレベルはレベルのブロックの背景である。そのため、0と等しいレベルの後に続く予想Run値は、他のレベル値に対するより高いはずである。好ましい実施形態において、Order0=Order1=2かつOrder2=0である。それは、「コピーアップ」予測モードに対して、およびレベル0(ブロック背景)のとき「左予測」モードに対して、予想Run値が高く、「左予測」モードに対する他のレベル値に対してより低いはずであることを意味する。
1つの実施形態において、若干のパラメータに基づいてカテゴリが定義される。例えば、カテゴリは、上述のように予測モードに基づいてまたは予測モードおよびレベルに基づいて定義され得る。Order値は、各々のカテゴリと関連付けられ、Nがカテゴリの番号であるOrderNと呼ばれる。そして各々のカテゴリに対して判定されたオーダー値は、他のいくつかのパラメータに基づいて適合され得る。例えば、カテゴリに対して判定された最後のOrder値および復号された最後のRun値に基づいて適合されてもよい。各々のカテゴリに対して、Order値は初期化される。デフォルト値にまたは値0に初期化されてもよい。あるいは、前の符号化ユニットに対して定義された最後のOrder値を使用して初期化されてもよい。
1つの実施形態において、所定のOrder値を使用してRun値を復号した後に、エンコーダおよびデコーダは、復号されたRun値の符号化に最適であったであろうゴロムオーダー値であるOptOrderを計算する。この最適なOrder値は、その後次に復号されたランのために判定されたOrder値として使用される。
1つの代替案は、Order値を値3で初期化することである。各々のカテゴリの最初のランに対して、Order値は前に復号された他のオーダー値に依存する。
例えば、次の式を使用することができる。
If(LastRunN=0)OrderN=Max(0,LastOrderN−1)
If(LastRunN>3*(LastOrderN+1))OrderN=Min(4,LastOrderN+1)
式中LastOrderNは最後に使用されたOrderNである。LastRunNはカテゴリNに対して最後に復号されたRun値である。
別の実施形態において、各々のカテゴリはOrderN値を更新するために独自の式を有する。例えば、Order2の式は、次式を用いて2つの他のOrder0およびOrder1に対するより速くOrder値を減少させるはずである。
If(LastRun2=0)Order2=Max(0,LastOrder2−1)
の代わりに
If(LastRun2<=2)Order2=Max(0,LastOrder2−1)
1つの実施形態において、Order値はビットストリームで伝送される。図15は、現在の符号化ユニットに対して本実施形態を示す。そのため、Order値は、ステップ1518でランパラメータの復号のためにビットストリーム1501から抽出される。図15は図10に基づいている。そのため、他のモジュールは図10で使用されるものと同じである。エンコーダ側において、このパラメータはレート歪み判定基準で選択される。このアルゴリズムは、Orderのいくつかの値をテストするものである。レート歪みの最良の妥協値が選択される。
ビットレートへの影響を抑えるために、この値は小さい固定数の値に制限することができる。例えば、Order値は3つの値、すなわち0、1、2だけに制限することができる。そのため、この値は、(値に応じて)1または2ビットの符号で符号化することができる。Order値を変更する必要があるかどうか知るために1つのフラグを伝送することができる。別の実施形態において、このOrder値は別のOrder値または使用された最後のOrder値によって予測することができる。別の実施形態において、Order=0またはOrder=2を示すために、1ビットを示すことができる。
この実施形態は、すでに説明したものと組み合わせることができる。好ましい実施形態において、3つのOrder値、前節で説明したOrder0、Order1、Order2が検討される。そのため、「Pred mode」「コピーアップ」(=1)に対してOrder0が使用され、前に復号されたレベルが0であるとき「Pred mode」左(=0)に対してOrder1が使用され、そうでない場合はOrder2が使用される。そして、これらのOrderNは各々の符号化ユニットに対して伝送される。好ましい実施形態において、Order0およびOrder2だけが伝送され、Orderl1=Order0である。これらの実施形態は、図15に表される。実際に、モジュール1518はブロック「Pred mode」1510、レベル1512と多少の関係を有する。
1つの実施形態において、一部のRun値は伝送されず、それらはデフォルト値、例えば値0で置換されることを意味する。通常は、伝送されないRun値は、あまり一般的ではないより高いLevel値に関連付けられたものである。つまり、あまり一般的ではないLevel値の繰り返しのパターンが符号化に使用されないようになる。同じ高いLevel値を有するレベルのブロックの2つの連続した画素は、繰り返しがないかのように各々符号化を生成することになる。所定のRun値を伝送しない判定は、最後に復号されたLevel値に基づく。例えば、Level値に対して閾値を定義してもよい。この閾値は、例えば4の値を有するといったように固定されてもよい。閾値は、符号化ユニットサイズおよびパレットサイズに基づくルックアップテーブルに基づいてもよい。
1つの実施形態において、閾値は、シーケンス、フレーム、CTBまたは符号化ユニットレベルにおいて、ビットストリームで伝送される。
図16は、この図で「限界値」と呼ばれる閾値の復号に関連した実施形態を示す。
1つの実施形態において、限界値は単項最大符号でまたは単項符号で符号化される。この限界値が各々の符号化ユニットに対して符号化される場合、単項最大符号の最大サイズはパレットサイズと等しい。二進符号を同様に検討することができ、符号化ユニットにおいてレベルおよびビットの数はパレットサイズに依存する。図16はこれらの実施形態を示す。限界値はビットストリーム1618から復号される。それから、パレットサイズについては、限界値は復号された限界値+1と等しく設定1619される。「Level」が復号1612されるとき、それが限界値以上1620である場合、ランシンタックス要素は復号されず0と等しく設定される。そして、そうでない場合はモジュール1615が処理され、ランは通常通り復号1614される。なお、各々の符号化ユニットに対して一旦限界値が復号される。
別の実施形態において、パレットサイズの前に限界値が単項符号で符号化される。パレットサイズは、復号されたサイズ+限界値+1に設定される。
エンコーダ側において、この限界値はレート歪み判定基準に基づいて選択される。つまり、レート歪み判定基準に関して最適な限界値を見つけるためにいくつかのテストが計算される。エンコーダ側における別の解決策は、すべてのランパラメータが0と等しい、より低いレベルと等しい限界値を選択することである。つまり、その限界値より上位のすべてのレベルについて関連ランは0と等しく設定される。
1つの実施形態において、他のパラメータの値が何であってもゴロムオーダーは常に0と等しく設定される(Golomb_H(0))。
1つの実施形態において、大きすぎるゴロム符号を回避するためにRun値の値が限定される。実際に、値がとても大きいとき、関連ゴロム符号は非常に多数のビットを有する。これはエントロピー復号複雑プロセスを著しく増加させ、したがって最悪状況の複雑度を増加させる。最悪状況はハードウェアを設計するために使用される。この実施形態に対する1つの代替案は、限界値をゴロム符号に関連付けることであり、この限界値が復号される場合、デコーダは追加の二進符号を読み出す。つまり、現在値が厳密に限界値より下位である場合、現在値はゴロム符号で通常に符号化される。そして、この現在値が限界値より上位または限界値と等しい場合、固定数のビットが後に続くゴロム符号で限界値が符号化される。固定数のビットは二進符号である。その場合、現在値は、追加の固定ビットに関連付けられた数をプラスした限界値と等しい。
上記全ての実施形態は組み合わせることができる。
好ましい実施形態において、3つのカテゴリは次式に従って予測モードおよび最後に復号されたレベルに基づいて定義される。
If(pred_mode==1)Order=Order0
else if(pred_mode==0 AND level==0)Order=Order1
else Order=Order2
3つの対応するOrder値、Order0、Order1およびOrder2は次のように初期化される。Order0=Order1=2およびOrder2=0。次いで3つのオーダー値は次式に従って更新される。
If(LastRunN=0)OrderN=Max(0,LastOrderN−1)
If(LastRunN>3*(LastOrderN+1))OrderN=Min(4,LastOrderN+1)
式中LastOrderNは最後に使用されたOrderNである。LastRunNはカテゴリNに対して最後に復号されたRun値である。
さらに、Pred Mode=0に対して、最後に復号されたLevel値が閾値より厳密に大きい(または閾値以上である)とき、Run値は符号化および復号されない。閾値は、各々のパレットモード符号化ユニットに対してビットストリームから抽出される。
ゴロム符号と関連して説明されているが、任意の他のエントロピー符号の長さを適合させるために同じことが適用され得る。例えば、ハフマン符号を使用する場合、ハフマン符号の個別の辞書が符号化パラメータに従って判定されてもよい。
図17は、本発明の1つまたは複数の実施形態の実現のための計算装置1700の概略ブロック図である。計算装置1700は、マイクロコンピュータ、ワークステーションまたは軽い携帯機器などのデバイスとすることができる。計算装置1700は、下記に接続された通信バスを有する。
−CPUと示すマイクロプロセッサなどの中央処理装置1701、
−RAMと示す、本発明の実施形態による画像の少なくとも一部を符号化または復号する方法を実装するために必要な変数およびパラメータを記録するように適合されたレジスタと同様、本発明の実施形態の方法の実行可能なコードを記憶するための、ランダムアクセスメモリ1702であって、そのメモリ容量は例えば拡張ポートに接続された任意選択のRAMによって拡大され得る、
−ROMと示す、本発明の実施形態を実施するためのコンピュータプログラムを記憶するためのリードオンリメモリ1703、
−ネットワークインタフェース1704は通常は、処理されるデジタルデータがそれを介して送信または受信される通信ネットワークに接続される。ネットワークインタフェース1704は単一のネットワークインタフェースでもよく、または異なるネットワークインタフェース(例えば有線および無線インタフェース、または異なる種類の有線もしくは無線インタフェース)のセットで構成してもよい。データパケットは、CPU1701で動作するソフトウェアアプリケーションの制御の下で、送信のためにネットワークインタフェースに書き込まれ、または受信のためにネットワークインタフェースから読み出される、
−ユーザインタフェース1705は、ユーザからの入力を受け取るためにまたはユーザに情報を見せるために使用され得る、
−HDと示すハードディスク1706は、大容量記憶装置として提供され得る、
−I/Oモジュール1707は、ビデオソースまたはディスプレイなどの外部デバイスからデータを受け取る、または外部デバイスにデータを送るために使用され得る。
実行可能なコードは、リードオンリメモリ1703、ハードディスク1706または例えばディスクなどの取り外し可能なデジタル媒体のいずれかに記憶することができる。1つの変形例によれば、プログラムの実行可能なコードは、実行する前に、ハードディスク1706などの通信装置1700の記憶手段の1つに記憶するために、ネットワークインタフェース1704を介して、通信ネットワークを使って受信することができる。
中央処理装置1701は、本発明の実施形態に従ってプログラムの命令またはプログラムのソフトウェアコードの一部の実行を制御および管理するように構成され、その命令は前述の記憶手段の1つに記憶される。電源オンした後でCPU1701は、それらの命令が例えばプログラムROM1703またはハードディスク(HD)1706からロードされた後にソフトウェアアプリケーションに関連するメインRAMメモリ1702から命令を実行することが可能である。このようなソフトウェアアプリケーションは、CPU1701によって実行されると、図10から図16に示すフローチャートのステップを実行させる。
図10から図16に示されたアルゴリズムの任意のステップは、PC(「パーソナルコンピュータ」)、DSP(「デジタルシグナルプロセッサ」)またはマイクロコントローラなどのプログラム可能な計算機による命令のセットまたはプログラムの実行によってソフトウェアで実施することができ、あるいは、FPGA(「フィールドプログラマブルゲートアレイ」)またはASIC(「特定用途向け集積回路」)などの機械または専用部品によってハードウェアで実施することができる。
本発明は、具体的な実施形態を参照して上述のとおり説明したが、本発明は具体的な実施形態に限定されず、本発明の有効範囲内における修正は当業者に明らかであろう。
上記の例示的実施形態を参照することで、多くの他の修正および変形が当業者に示唆され、それらの変更および変形は例示のためだけに提示され、添付の請求項によってのみ定義される発明の範囲を限定するものではない。具体的には、異なる実施形態の異なる特徴は適宜交換することができる。
特許請求の範囲において、「有する(comprising)」という文言は他の要素またはステップを除外せず、不定冠詞「1つの(「a」または「an」)」は複数を除外しない。異なる特徴が相互に異なる従属請求項に記載されるという事実だけでは、これらの特徴の組み合わせを有効に利用できないことを意味しない。

Claims (10)

  1. 素値に関連付けられたインデックスを複数含むパレットに従って画像の符号化ユニットを符号化又は復号する方法であって、
    前記パレットに含まれる複数のインデックスの内の対象のインデックスが、前記符号化ユニット内の当該対象のインデックスの上の位置のインデックスと等しいかを示すフラグを符号化又は復号し、
    前記パレットに含まれるインデックスに対応するエントロピー符号のパラメータを前記フラグに従って決定する方法。
  2. 前記エントロピー符号のパラメータは前記エントロピー符号の長さに関連する、
    請求項1に記載の方法。
  3. 前記エントロピー符号はゴロム型符号である、
    請求項1または2に記載の方法。
  4. 前記エントロピー符号のパラメータは前記ゴロム型符号のオーダーである、
    請求項3に記載の方法。
  5. 前記エントロピー符号のパラメータは前記パレットサイズに依存して判定される、
    請求項1からのいずれか項に記載の方法。
  6. 前記エントロピー符号のパラメータは前記符号化ユニットサイズに従って決定される、
    請求項1からのいずれか項に記載の方法。
  7. 前記エントロピー符号のパラメータは前記インデックスと関連付けられる画素の残数に依存して判定される、
    請求項1からのいずれか項に記載の方法。
  8. 記インデックスは、走査順に連続した複数画素のグループによって、各々のグループが予測モードを示す第1のシンタックス要素および繰り返しを示す第2の要素を使用して、符号化又は復号され、前記エントロピー符号は前記繰り返しのシンタックス要素の符号化又は復号に使用される、
    請求項1からのいずれか項に記載の方法。
  9. 素値に関連付けられたインデックスを複数含むパレットに従って画像の符号化ユニットを符号化又は復号する装置であって、
    前記パレットに含まれる複数のインデックスの内の対象のインデックスが、前記符号化ユニット内の当該対象のインデックスの上の位置のインデックスと等しいかを示すフラグを符号化又は復号する手段と、
    前記パレットに含まれるインデックスに対応するエントロピー符号のパラメータを前記フラグに従って決定する手段と
    を有する装置。
  10. 請求項1から8のいずれか1項に記載の方法をコンピュータに実行させることを特徴とするプログラム。
JP2016536180A 2013-12-10 2014-12-10 ビデオ符号化および復号におけるシンタックス要素符号化方法および装置 Active JP6532467B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GBGB1321851.6A GB201321851D0 (en) 2013-12-10 2013-12-10 Run length parameters coding for palette mode
GB1321851.6 2013-12-10
GB1322471.2 2013-12-18
GB1322471.2A GB2521411B (en) 2013-12-10 2013-12-18 Method and apparatus for syntax element encoding in video coding and decoding
PCT/EP2014/077295 WO2015086716A1 (en) 2013-12-10 2014-12-10 Method and apparatus for syntax element encoding in a video codec

Publications (2)

Publication Number Publication Date
JP2017505001A JP2017505001A (ja) 2017-02-09
JP6532467B2 true JP6532467B2 (ja) 2019-06-19

Family

ID=50000506

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016536180A Active JP6532467B2 (ja) 2013-12-10 2014-12-10 ビデオ符号化および復号におけるシンタックス要素符号化方法および装置

Country Status (8)

Country Link
US (1) US10674155B2 (ja)
EP (1) EP3080988B1 (ja)
JP (1) JP6532467B2 (ja)
KR (1) KR102020101B1 (ja)
CN (1) CN105814890B (ja)
GB (2) GB201321851D0 (ja)
RU (1) RU2668061C2 (ja)
WO (1) WO2015086716A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102324004B1 (ko) 2014-03-14 2021-11-09 브이아이디 스케일, 인크. 스크린 콘텐츠 코딩을 위한 팔레트 코딩
US10687064B2 (en) 2014-08-04 2020-06-16 Qualcomm Incorporated Palette mode encoding and decoding with inferred pixel scan order
EP3723378A1 (en) * 2014-10-06 2020-10-14 VID SCALE, Inc. Improved palette coding for screen content coding
US10212445B2 (en) * 2014-10-09 2019-02-19 Qualcomm Incorporated Intra block copy prediction restrictions for parallel processing
JP6613842B2 (ja) * 2015-11-24 2019-12-04 富士通株式会社 画像符号化装置、画像符号化方法、及び画像符号化プログラム
KR20200132979A (ko) * 2018-04-01 2020-11-25 엘지전자 주식회사 영상의 처리 방법 및 이를 위한 장치
CN113711611B (zh) * 2019-04-19 2024-03-19 字节跳动有限公司 用于变换跳过模式中的系数编解码的方法、装置和介质
JP7414843B2 (ja) 2019-04-24 2024-01-16 バイトダンス インコーポレイテッド 符号化映像の量子化残差差分パルス符号変調表現
WO2020223467A1 (en) 2019-05-01 2020-11-05 Bytedance Inc. Intra coded video using quantized residual differential pulse code modulation coding
EP3948663A4 (en) 2019-05-02 2022-06-08 ByteDance Inc. CODING MODE BASED ON A CODING TREE STRUCTURE TYPE
US20220295105A1 (en) * 2019-08-29 2022-09-15 Lg Electronics Inc. Image or video coding based on escape binarization in palette mode
JP2022532444A (ja) * 2019-09-07 2022-07-14 ベイジン、ターチア、インターネット、インフォメーション、テクノロジー、カンパニー、リミテッド ビデオデータを復号化する方法、コンピューティングデバイス、非一時的コンピュータ可読記憶媒体、デコーダ可読記憶媒体、およびコンピュータプログラム製品
CN114930833A (zh) * 2019-10-10 2022-08-19 北京达佳互联信息技术有限公司 使用调色板模式的视频编解码的方法和装置
CN116405677B (zh) * 2019-12-30 2023-10-31 阿里巴巴(中国)有限公司 用于在调色板模式下对视频数据进行编码的方法和装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6898313B2 (en) * 2002-03-06 2005-05-24 Sharp Laboratories Of America, Inc. Scalable layered coding in a multi-layer, compound-image data transmission system
US7016547B1 (en) 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
AU2003275440A1 (en) * 2002-10-07 2004-05-04 Summus, Inc. System for graphics compression and display
US7519274B2 (en) * 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
SG136944A1 (en) 2004-04-21 2007-11-29 Slipstream Data Inc Method, system and software product for color image encoding
JP4769305B2 (ja) 2006-11-14 2011-09-07 日本電信電話株式会社 画像信号符号化方法及び復号方法、情報源符号化及び復号方法、それらの装置、及びそれらのプログラム並びにプログラムを記録した記憶媒体
KR20120071253A (ko) * 2010-12-22 2012-07-02 광주과학기술원 무손실 부호화를 위한 엔트로피 부호화 방법 및 엔트로피 부호화기
TWI530161B (zh) * 2011-06-07 2016-04-11 Sony Corp Image processing apparatus and method
US9191670B2 (en) 2012-01-17 2015-11-17 Qualcomm Incorporated Throughput improvement for CABAC coefficient level coding
ITBO20120404A1 (it) * 2012-07-26 2014-01-27 Nicolo' Antonino Patroniti Circuito extracorporeo per la rimozione della co2 dal sangue
US11259020B2 (en) * 2013-04-05 2022-02-22 Qualcomm Incorporated Determining palettes in palette-based video coding

Also Published As

Publication number Publication date
KR20160093061A (ko) 2016-08-05
WO2015086716A1 (en) 2015-06-18
CN105814890B (zh) 2019-07-26
US10674155B2 (en) 2020-06-02
EP3080988A1 (en) 2016-10-19
CN105814890A (zh) 2016-07-27
GB201322471D0 (en) 2014-02-05
JP2017505001A (ja) 2017-02-09
GB201321851D0 (en) 2014-01-22
US20160330452A1 (en) 2016-11-10
KR102020101B1 (ko) 2019-09-09
EP3080988B1 (en) 2022-04-27
GB2521411A (en) 2015-06-24
GB2521411B (en) 2017-11-01
RU2668061C2 (ru) 2018-09-25

Similar Documents

Publication Publication Date Title
JP6532467B2 (ja) ビデオ符号化および復号におけるシンタックス要素符号化方法および装置
JP6537511B2 (ja) Hevcにおける改良型パレットモード
JP6465890B2 (ja) 画素ブロックの符号化または復号の方法および装置
US10972742B2 (en) Encoding process using a palette mode
KR101970903B1 (ko) 팔레트 모드를 사용하는 개선된 인코딩 프로세스
US9516342B2 (en) Method and apparatus for transition encoding in video coding and decoding
GB2521410A (en) Method and apparatus for encoding or decoding blocks of pixel
GB2526337A (en) Method and apparatus for syntax element encoding in video coding and decoding
GB2528431A (en) Improved encoding process using a palette mode
GB2523992A (en) Method and apparatus for encoding or decoding blocks of pixel

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180905

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180918

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181115

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190521

R151 Written notification of patent or utility model registration

Ref document number: 6532467

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151