JP2017504997A - Hevcにおける改良型パレットモード - Google Patents

Hevcにおける改良型パレットモード Download PDF

Info

Publication number
JP2017504997A
JP2017504997A JP2016535223A JP2016535223A JP2017504997A JP 2017504997 A JP2017504997 A JP 2017504997A JP 2016535223 A JP2016535223 A JP 2016535223A JP 2016535223 A JP2016535223 A JP 2016535223A JP 2017504997 A JP2017504997 A JP 2017504997A
Authority
JP
Japan
Prior art keywords
index
value
encoding
mode
palette
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016535223A
Other languages
English (en)
Other versions
JP6537511B2 (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
Priority claimed from GBGB1321850.8A external-priority patent/GB201321850D0/en
Priority claimed from GB201322475A external-priority patent/GB201322475D0/en
Priority claimed from GB201404596A external-priority patent/GB201404596D0/en
Priority claimed from GB1413725.1A external-priority patent/GB2521496A/en
Application filed by Canon Inc filed Critical Canon Inc
Publication of JP2017504997A publication Critical patent/JP2017504997A/ja
Application granted granted Critical
Publication of JP6537511B2 publication Critical patent/JP6537511B2/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/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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/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
    • 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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • 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

Abstract

パレットにしたがって画像の符号化ユニットを符号化するために使用されるインデックスブロックのインデックスを符号化するための符号化パラメータを決定する方法であって、各インデックスは符号化ユニットを構成する画素のうちの1つと関連付けられており、パレットは、画素値と関連付けられた一連のインデックスを含む。前記方法は、対応する符号化パラメータに基づいてパレットから符号化ユニットと関連したインデックスブロックの各インデックスを生成するステップと、インデックスブロックのインデックスが符号化ユニットの少なくとも1つの画素に対してパレットから生成できない場合には、生成できない前記インデックスブロックのインデックスと置き換えるためのエスケープ値に対応するインデックス値を生成するステップとを備え、インデックスに対応する符号化パラメータは、符号化順を考慮して前記画素の空間的近傍にしたがって決定される。

Description

本発明は、ビデオ符号化および復号に関する。より正確には、本発明はパレットモード符号化方法を対象とする。パレットモードは、high efficiency video coding(HEVC:ISO/IEC 23008−2 MPEG−H Part2/ ITU−T H.265)国際規格のレンジ拡張の範囲に示されている、新しい符号化方法である。この方法は、「スクリーンコンテンツ」ビデオシーケンスを対象とするビデオ符号化に有効である。
本発明は、効率的な符号化方法を使用することによってパレットモードの符号化効率を改善する。
本明細書におけるパレットは、インデックスと画素値とを関連付けるエントリから成る参照テーブルとして定義される。必ずしもそうとは限らないが一般的には、画素の値は、その画素に関連付けられた各色成分の値によって構成され、その結果カラーパレットとなる。その一方で、画素の値は単一の画素成分で構成されていてもよく、その結果単色パレットとなる。
画素のブロックを符号化するこのモードは、一般的にパレット符号化モードと称される。例えば、high efficiency video coding(HEVC:ISO/IEC 23008−2 MPEG−H Part21 ITU−T H.265)国際規格のレンジ拡張にこのモードを採用することが考えられる。
あるビデオシーケンス中の画像を符号化するとき、画像はまず、符号化ツリーブロック(CTB:Coding Tree Block)と称される同じサイズの画素の符号化エンティティに分割される。符号化ツリーブロックのサイズは通常64×64画素である。各符号化ツリーブロックはその後、より小さいブロックの階層ツリーに分割されてもよく、そのサイズは様々であり、これらは符号化する実際の画素ブロックである。符号化するこれらの小さいブロックは、符号化ユニット(CU:Coding Unit)と称される。
特定の符号化ユニットの符号化は、通常は予測的である。つまり、予測ブロックが最初に決定される。次に、予測ブロックと符号化ユニットとの差が計算される。この差は残差と呼ばれる。次に、この残差が圧縮される。符号化ユニットの実際の符号化情報は、予測ブロックおよび圧縮残差を決定する方法を示す何らかの情報を含む。最良の予測ブロックは、効率的に圧縮できる少ない残差を得るために、符号化ユニットと可能な限り類似するブロックである。
符号化モードは、符号化ユニットの予測符号化方法のための予測ブロックを決定するために使用される方法に基づいて定義される。
第一の符号化モードは、INTRAモードと称される。INTRAモードによれば、予測ブロックは、現在の画像内の符号化ユニットを直接囲む画素の値に基づいて構築される。予測ブロックは現在の画像のブロックではなく構成物であることは注目すべきである。境界のどの画素が予測ブロックを構築するために実際に使用されるのか、およびこれらがどのように使用されるのかを決定するために、方向が利用される。INTRAモードの背景にある考え方は、自然画像の全体的な一貫性のため、符号化ユニットを直接囲む画素が現在の符号化ユニットの画素と類似しやすいことである。したがって、これらの周囲画素に基づく予測ブロックを用いて符号化ユニットの画素の値の良好に予測することが可能である。
第二の符号化モードはINTERモードと称される。INTERモードによれば、予測ブロックは別の画像のブロックである。INTERモードの背景にある考え方は、シーケンス中の連続画像が一般的によく似ていることである。主な違いは、通常、カメラのスクロールによる、またはその風景の中の移動物体による、これらの画像間の動きに起因する。予測ブロックは、現在の画像内の符号化ユニットの位置に対して相対的に、基準画像内のその位置を付与するベクトルによって決定される。このベクトルは、動きベクトルと称される。このモードによれば、このモードを用いたこのような符号化ユニットの符号化は、動きベクトルおよび圧縮残差を含む動き情報を含む。
本明細書では、パレットモードと呼ばれる第三の符号化モードに焦点を当てる。パレットモードの第一の変形例によれば、任意の符号化ユニットの予測ブロックをパレットからのインデックスのブロックとして定義することが可能である。予測ブロック内の各画素位置に対して、予測ブロックは、符号化ユニット内に同じ位置を有する(すなわち、位置を共有する)画素の値に最も近いパレット内の画素値と関連付けられたインデックスを含む。予測ブロックと符号化ユニットとの差を表す残差がその後、計算され符号化される。パレット内のエントリインデックスは、「レベル」としても知られる。
第一の変形例に係るパレットモードを使用するとき、インデックスの予測ブロックはビットストリームで送信されなければならない。この送信において、インデックスの予測ブロックは3つのシンタックス要素を用いてバイナリ符号化される。「Pred mode」と呼ばれる第一のシンタックス要素は、2つの符号化モード間の識別を可能にする。値0を有するPred modeに対応する第一モード(「コピーレフトモード」、「左予測モード」、または「インデックスモード」としても知られる)において、符号化されるレベルの値はビットストリームで送信されなければならない。値1を有するPredモードに対応する第二モードでは、符号化されるレベルの値は、予測ブロック内の前記画素の値から得られる。レベルは送信されなくてもよい。
パレットモードの第二の変形例によれば、パレットから任意の符号化ユニットを予測するインデックスブロックを定義することも可能である。CU内の各画素位置に対して、インデックスブロックは、符号化ユニット内に同じ位置を有する(すなわち、位置を共有する)画素の値を代表するパレット内の画素値と関連付けられたインデックスを含む。画素値がパレットのインデックス値に関連付けることができない場合には、「エスケープ値」として追加インデックス値も生成される。この「エスケープ値」は、対応する画素値が直接符号化されていることを示す。
第二の変形例によれば、インデックスブロックおよびエスケープ値は、パレットを用いてビットストリームで送信される。第一の変形例について言及されたのと同じシンタックス要素が使用される。
厳密には、インデックスのブロックは画像の一部ではないが、類推により、このレベルのブロックの要素を指すために、用語「画素」が使用されることは注目すべきである。
「Level」と呼ばれる第二のシンタックス要素は、第一モードにおけるレベルの値の送信のために定義される。「Run」と呼ばれる第三のシンタックス要素は、繰り返し値を符号化するために使用される。予測ブロックは左上端から右下端まで、左右および上下へ1行ずつ走査される(ラスター走査順)ことを考慮して、ランシンタックス要素は、同じ符号化を有する予測ブロック内の連続する画素の数となる。Pred Modeが0の場合、これが同じレベル値を有する予測ブロックの連続画素の数である。Pred Modeが1の場合、これは上の画素のレベル値に対応するレベル値を有する予測ブロックの連続画素の数である。
本発明は、パレットモードの符号化効率を改善することを目的とする。
本発明の第一の態様によれば、パレット符号化モードにしたがって符号化ユニットを符号化するために使用されるインデックスブロックのインデックスの符号化において使用される符号化パラメータの値を推測する方法が提供され、前記インデックスは画素値に関連付けられた一連のインデックスを含むパレットに属し、インデックスブロックのインデックスは任意の符号化順にしたがって符号化され、インデックスブロック中の現在のインデックスに関連付けられた予測のモードを表す符号化パラメータは、現在のインデックスが上以外の予測モードとしてインデックスブロックの1行目に位置する場合に、推測される。
本発明の第二の態様によれば、パレット符号化モードにしたがって符号化ユニットを符号化するために使用されるインデックスブロックのインデックスの符号化において使用される符号化パラメータの値を推測する方法が提供され、前記インデックスは画素値に関連付けられた一連のインデックスを含むパレットに属し、インデックスブロックのインデックスは任意の符号化順に符号化され、現在のインデックスが、上と等しい予測モードを表す関連付けられた符号化パラメータを有し、符号化順で前のインデックスに続く場合に、インデックスブロックの現在のインデックスに関連付けられた予測のモードを表す符号化パラメータは、上に等しい予測モード以外のモードであるとして推測される。
一実施形態において、前記上と等しい予測モード以外の予測モードは、左に等しい予測のモードである。
本発明の第三の態様によれば、パレット符号化モードにしたがって符号化ユニットを符号化するために使用されるインデックスブロックのインデックスの符号化において使用される符号化パラメータの値を推測する方法が提供され、前記インデックスは画素値に関連付けられた一連のインデックスを含むパレットに属し、インデックスブロックのインデックスは任意の符号化順に符号化され、現在のインデックスが任意の符号化順にしたがって前のインデックスに続くとき、現在のインデックスの値は、前記前のインデックスに関連付けられた予測モードに応じて推測される。
一実施形態において、現在のインデックスが関連付けられた予測モードを有し、符号化順で前のインデックスに続く場合、現在のインデックスの値は、現在のインデックスに適用されたときに前のインデックスと関連付けられた予測のモードによるインデックスの値を含まないインデックス値のリストから推測される。
一実施形態において、現在のインデックスが左に等しい関連付けられた予測モードを有し、符号化順で前のインデックスに続く場合、現在のインデックスの値は、現在のインデックスの左側のインデックスの値を含まない値のリストから推測される。
一実施形態において、現在のインデックスが上と等しい予測方向を表す関連付けられた予測モードを有し、符号化順で前のインデックスに続く場合、現在のインデックスの値は、現在のインデックスの上のインデックスの値を含まない値のリストから推測される。
一実施形態において、現在のインデックスが上と等しい予測方向を表す関連付けられた予測モードを有し、符号化順で前のインデックスに続く場合、左と等しい予測モードは、現在のインデックスの符号化パラメータである。
本発明の第四の態様によれば、パレット符号化モードにしたがって符号化ユニットを符号化するために使用されるインデックスブロックのインデックスの符号化において使用される符号化パラメータの値を推測するステップを備える、符号化ユニットを符号化または復号する方法が提供され、前記インデックスは画素値に関連付けられた一連のインデックスを含むパレットに属し、インデックスブロックのインデックスは任意の符号化順に従って符号化され、現在のインデックスが任意の符号化順にしたがって前のインデックスに続く場合に、現在のインデックスの値は、前のインデックスに関連付けられた予測のモードにしたがってインデックスの値を含まないインデックス値のリストから推測され、かつ前記現在のインデックスの値を表す語の長さは、前記値のリスト中の値の数をMとし、現在のインデックスの値を表す語の長さを表すビットの数をNとしたとき、M=2−Rなどのように、整数Rの値にしたがって修正される。
一実施形態において、現在のインデックスが左と等しい関連付けられた予測モードを有し、符号化順で前のインデックスに続く場合、現在のインデックスの値は、現在のインデックスの左側のインデックスの値を含まない値のリストから推測される。
一実施形態において、現在のインデックスが上と等しい予測方向を表す関連付けられた予測モードを有し、符号化順で前のインデックスに続く場合、現在のインデックスの値は、現在のインデックスの上のインデックスの値を含まない値のリストから推測される。
本発明の第五の態様によれば、第一から第三の態様に係る符号化パラメータの値を推測する方法を備える、符号化ユニットを符号化する方法が提供される。
本発明の第六の態様によれば、第一から第三の態様のいずれかに係る符号化パラメータの値を推測する方法を備える、符号化ユニットを復号する方法が提供される。
本発明の第七の態様によれば、第一から第三の態様のいずれかの方法を実行する手段を備える、符号化パラメータを決定する装置が提供される。
本発明の第八の態様によれば、第四または第五の態様のいずれかの符号化方法を実行する手段を備える、ビットストリーム内の符号化ユニットを符号化するための装置が提供される。
本発明の第九の態様によれば、第四から第六の態様のいずれかの復号方法を実行する手段を備える、ビットストリームから符号化ユニットを復号するための装置が提供される。
本発明の第十の態様によれば、プログラミング可能な装置によって実行される場合に第一から第六の態様のいずれかの方法を装置に実行させるための実行可能命令を備える、コンピュータプログラムが提供される。
本発明の第十一の態様によれば、コンピュータまたはプロセッサ上で起動されると、第一から第六の態様のいずれかの方法をコンピュータまたはプロセッサに実行させる、非一時的コンピュータ可読搬送媒体が提供される。
第十二の態様によれば、本発明は、パレット符号化モードにしたがって符号化ユニットを符号化するために使用されるインデックスブロックのインデックスの符号化において使用される符号化パラメータの値を推測する方法を提供し、前記インデックスは画素値に関連付けられた一連のインデックスを含むパレットに属し、パレット符号化モードは現在の符号化ユニットを予測するためにインデックスブロックから予測ブロックを構築するステップを備え、インデックスブロックのインデックスは任意の符号化順に従い符号化され、画素ブロックの現在の画素に関連付けられたパラメータは、画素を符号化する順に応じて文脈情報の機能において推測される。
一実施形態において、第一パラメータは、インデックスブロックの現在のインデックスの予測のモードを表す。
一実施形態において、前記第一パラメータは、現在のインデックスがインデックスブロックのインデックスの列内の第一の位置にある場合に推測される。
一実施形態において、前記第一パラメータは、現在のインデックスが上と等しい予測モードを表す関連付けられた第一パラメータを有し、符号化順で前のインデックスに続く場合に、推測される。
一実施形態において、第二パラメータは、現在のインデックスの値を表す。
一実施形態において、現在のインデックスが左と等しい予測のモードを表す関連付けられた第一パラメータを有し、符号化順で前のインデックスに続く場合に、現在のインデックスの第二パラメータは、現在のインデックスの左側のインデックスの値を含まない値のリストから推測される。
他の実施形態において、現在のインデックスが左と等しい予測のモードを表す関連付けられた第一パラメータを有し、かつ所定の基準を満たす関連付けられた第二パラメータを有し、符号化順で前のインデックスに続く場合に、現在のインデックスの第二パラメータは、現在のインデックスの左側のインデックスの値を含まない値のリストから推測される。
一実施形態において、前記関連付けられた第二パラメータは、所定値よりも低いときに所定の基準を満たす。
一実施形態において、現在のインデックスが上と等しい予測方向を表す関連付けられた第一パラメータを有し、符号化順で前のインデックスに続く場合に、現在のインデックスの第二パラメータは、現在のインデックスの上のインデックスの値を含まない値のリストから推測される。
一実施形態において、現在のインデックスの第二パラメータを推測するための前記値のリストが、現在のインデックスおよび/または所定値の左側または上のインデックスの値を含まない場合には、第二パラメータを表す語の長さは所定の基準にしたがって調整される。語の長さはゼロ以上である。
一実施形態において、現在のインデックスの第二パラメータを推測するための前記値のリストが少なくとも1つの所定値を含まない場合には、第二パラメータを表す語の長さは所定の基準にしたがって調整される。
一実施形態において、第二パラメータを表す語の長さは、前記値のリスト中の値の数にしたがって調整される。
一実施形態において、第二パラメータを表す語の長さは、前記値のリスト中の値の数をMとし、第二パラメータを表す語の長さを表すビットの数をNとしたとき、M=2N−Rなど、整数Rの値にしたがって調整される。
言い換えると、上記の実施形態において、現在のインデックスがそれぞれ左または上に等しい予測モードを表す関連付けられた第一パラメータを有し、(符号化順で)前のインデックスに続く場合に(または以下に定義されるようなその他いずれか所定の状況で)、現在のインデックスの第二パラメータは、現在のインデックスのそれぞれ左または上のインデックスの値を含まない値のリスト(以下、「スパースリスト」という)から、推測される。このような実施形態において、これは符号化するインデックスの実際の範囲を縮小するために利用することができる。可能な値の最大数を減らすことができ、インデックスが欠落インデックスを上回る場合には、その値もまた減らすことができる。これは、効率的なインデックス符号化方法と組み合わせることができる。M=2−R、N>0、および0<R<2の整数となるような要素の数Mでは、最も単純となるようにNビットでインデックスを符号化する代わりに、以下のことが行われる。
−値「val」のインデックスがR未満である場合には、これはそのままN−1ビットで符号化され、
−そうでなければ、val+RがNビットで符号化される。
第十三の態様によれば、本発明は、第十二の態様に係るパレット符号化モードにしたがって符号化ユニットを符号化するために使用されるインデックスブロックのインデックスの符号化において使用される符号化パラメータの値を推測する方法を備える、符号化ユニットを符号化または復号する方法を提供する。
第十四の態様では、本発明は、第十二の態様に係るパレット符号化モードにしたがって符号化ユニットを符号化するために使用されるインデックスブロックのインデックスの符号化において使用される符号化パラメータの値を推測する方法を実施するモジュールを備える、符号化ユニットを符号化または復号するための装置を提供する。
第十五の態様では、第十二の態様に係る符号化パラメータの値を推測する方法を備える、符号化ユニットを符号化または復号する方法が提供される。デジタル画像の符号化されたシーケンスを含むビデオビットストリームの復号には、符号化ユニットの前記復号が含まれてもよく、またデジタル画像のシーケンスのビットストリームへの符号化には、符号化ユニットの前記符号化が含まれてもよい。
第十六の態様では、第十二の態様に係る方法を実行する手段を備える、パレット符号化モードにしたがって符号化ユニットを符号化するために使用されるインデックスブロックのインデックスの符号化において使用される符号化パラメータの値を推測するための装置が提供される。
第十七の態様では、第十五の態様のそれぞれの符号化または復号方法を実行する手段を備える、符号化ユニットを符号化または復号するための装置が提供される。
第十八の態様では、本発明は、1つ以上のマイクロプロセッサまたはコンピュータによって実行されると、第十二、十三、および十五の態様のいずれかの方法をプロセッサまたはコンピュータに実行させるプログラムを記憶する、非一時的コンピュータ可読媒体を提供する。
第十九の態様では、本発明は、コンピュータプログラムの命令を記憶するコンピュータまたはマイクロプロセッサによって読み取り可能な情報記憶手段を提供し、これは第十二、十三、および十五の態様のいずれかの方法を実施できるようにする。
第二十の態様では、本発明は、プログラミング可能な装置によって実行される場合に、第十二、十三、および十五の態様のいずれかの方法を装置に実行させるための実行可能命令を備える、コンピュータプログラムを提供する。
本発明の第二十一の態様によれば、パレットを使用するパレットモードにしたがって符号化ユニットを処理するためインデックスブロックからインデックスを符号化するために使用される符号化パラメータの値を決定する方法が提供され、各インデックスは符号化ユニットを形成する画素のうちの1つに関連付けられ、前記パレットには画素値に関連付けられた一連のインデックスが含まれ、前記処理には、対応する符号化ユニットを予測するためにインデックスブロックおよびパレットから符号化ユニット予測子を取得するステップを備える。前記方法には、前記画素の空間的近傍にしたがい、また符号化ユニットを形成する画素の符号化順を考慮して、符号化ユニットの画素のうちの1つに関連付けられたインデックスに対し1つ以上の符号化パラメータを決定するステップを備える。
例えば、空間的近傍には、検討される画素の上に位置する画素を含む。
一実施形態において、決定された第一符号化パラメータは、インデックスブロックのインデックスの予測モードを表す。
一実施形態において、第一符号化パラメータは、現在のインデックスの位置がインデックスブロックのインデックスの一列目である場合に、推定される。
一実施形態において、前記第一パラメータは、現在のインデックスが、上に等しい予測のモードを表す関連付けられた第一パラメータを有し、処理順で前のインデックスに続く場合に、推定される。
一実施形態において、決定された第二符号化パラメータは、現在のインデックスの値を表す。
一実施形態において、現在のインデックスが、左と等しい予測モードを表す関連付けられた第一パラメータを有し、処理順で前のインデックスに続く場合、現在のインデックスの第二パラメータは、現在のインデックスの左側のインデックスの値を含まないインデックス値のリストから決定される。
一実施形態において、現在のインデックスが、左と等しい予測のモードを表す関連付けられた第一パラメータを有し、かつ所定条件を満たす関連付けられた第二パラメータを有し、符号化順で前のインデックスに続く場合に、現在のインデックス値の第二パラメータは、現在のインデックスの左側のインデックスの値を含まないインデックス値のリストから決定される。
一実施形態において、所定条件とは、関連付けられた第二パラメータが所定のインデックス値よりも小さいことをいう。
一実施形態において、現在のインデックスが、上と等しい予測方向を表す関連付けられた第一パラメータを有し、処理順で前のインデックスに続く場合、現在のインデックスの第二パラメータは、現在のインデックスの上のインデックスの値を含まないインデックス値のリストから決定される。
一実施形態において、インデックスが、左と等しい予測方向を表す予測の第一モードを表す関連付けられた第一符号化パラメータを有するインデックスに続く場合、インデックスの第二符号化パラメータは、パレットのサイズから1を差し引いた値以下の多数のインデックス値を含むインデックス値のリストから決定される。
一実施形態において、第一の予測モードは、複数の使用可能な予測モードのうちの1つであり、前記リストのインデックス値は予測の複数のモードに依存する。
一実施形態において、第一の予測モード以外の予測モードを用いて予測することが可能なインデックスの値を参照するインデックス値は、前記リストに含まれない。
一実施形態において、インデックス値のリストには、パレットのサイズから2を差し引いた値以下の数のインデックス値が含まれる。
一実施形態において、第一の予測モード以外の予測モードを用いて予測されたインデックスの数が1より大きい場合、インデックス値のリストがパレットのサイズから1を差し引いた値に等しいサイズとなるように、他の予測モードでの予測が可能なインデックスの値のうちで最も低いインデックス値は含まれない。
一実施形態において、使用可能な複数の予測モードのうちの1つは、パターンを記憶するテーブルから符号化パラメータが決定される遷移モードであり、パターンはインデックスブロックのインデックスに隣接する少なくとも1つのインデックスで構成され、前記パターンは、パターンの近傍内の位置に予想されるインデックスに対応する少なくとも1つの予測インデックスに関連付けられる。
本発明の第二十二の態様によれば、上述の方法にしたがって符号化パラメータの値を決定するステップを備える、符号化ユニットを符号化する方法が提案される。符号化パラメータの値は、符号化ユニットを符号化するためのインデックスブロックからインデックスを得るために使用され、前記符号化ユニット予測子は、インデックスブロックおよびパレットから生成される。
本発明の第二十三の態様によれば、符号化パラメータの値を取得するステップを備える、ビットストリームから符号化ユニットを復号する方法が提案され、前記符号化パラメータの値は上述の方法を用いて決定されたものである。符号化パラメータの値は、符号化ユニットを復号するためにインデックスブロックからインデックスを取得するために使用され、前記符号化ユニット予測子は、インデックスブロック、およびビットストリームから抽出されたパレットから取得される。
一実施形態において、前記値のリスト中の値の数にしたがって第二符号化パラメータを表す語の長さを修正するステップには、前記値のリスト中の値の数をMとし、第二パラメータを表す語の長さを表すビットの数をNとしたとき、M=2N−Rなど、整数Rの値にしたがって語の長さを修正するステップを備える。
本発明の第二十四の態様によれば、上述の請求項のいずれかに記載の方法を実行する手段を備える、符号化パラメータの値を決定する装置が提案される。
本発明の第二十五の態様によれば、上述のそれぞれの符号化または復号方法を実行する手段を備える、符号化ユニットを符号化または復号するための装置が提案される。
本発明の第二十六の態様によれば、プログラミング可能な装置によって実行されると上述の方法を装置に実行させる実行可能命令を備える、コンピュータプログラムが提案される。
本発明の第二十七の態様によれば、コンピュータまたはプロセッサ上で起動されると、上述の方法をコンピュータまたはプロセッサに実行させる、非一時的コンピュータ可読搬送媒体が提案される。
本発明の第二十八の態様によれば、パレットにしたがって画像の符号化ユニットを符号化するために使用されるインデックスブロックのインデックスを符号化するための符号化パラメータを決定する方法が提案され、各インデックスは符号化ユニットを形成する画素のうちの1つと関連付けられており、パレットには、画素値と関連付けられた一連のインデックスが含まれる。前記方法は、
−対応する符号化パラメータに基づいてパレットから符号化ユニットに関連するインデックスブロックの各インデックスを生成するステップと、
−インデックスブロックのインデックスが、符号化ユニットの少なくとも1つの画素において、パレットから生成できない場合には、生成できない前記インデックスブロックのインデックスを置き換えるためのエスケープ値に対応するインデックス値を生成するステップと、
−前記画素の空間的近傍にしたがい、かつおよび符号化ユニットの画素の符号化順を考慮した、インデックスに対応する1つ以上の符号化パラメータを決定するステップと、
を備える。
例えば、空間的近傍には、検討される画素の上に位置する画素が含まれる。
一実施形態において、第一符号化パラメータは、インデックスブロックのインデックスの予測モードを表す。
一実施形態において、前記第一符号化パラメータは、現在のインデックスの位置がインデックスブロックのインデックスの列である場合に、推定される。
一実施形態において、前記第一符号化パラメータは、現在のインデックスが上に等しい予測のモードを表す関連付けられた第一パラメータを有し、符号化順で前のインデックスに続く場合に、推定される。
一実施形態において、決定された第二符号化パラメータは、インデックスブロックの生成されたインデックスの値を表す。
一実施形態において、生成されたインデックスが、左に等しい予測モードを表す関連付けられた第一パラメータを有し、符号化順で前のインデックスに続く場合、現在のインデックスの第二パラメータは、現在のインデックスの左側のインデックスの値を含まないインデックス値のリストから決定される。
一実施形態において、現在のインデックスが、左に等しい予測のモードを表す関連付けられた第一パラメータを有し、かつ所定条件を満たす関連付けられた第二パラメータを有する符号化順で前のインデックスに続く場合に、現在のインデックス値の第二パラメータは、現在のインデックスの左側のインデックスの値を含まない値のリストから決定される。
一実施形態において、所定条件とは、関連付けられた第二パラメータが所定のインデックス値よりも小さいことをいう。
一実施形態において、現在のインデックスが上に等しい予測方向を表す関連付けられた第一パラメータを有し、符号化順で前のインデックスに続く場合に、現在のインデックスの第二パラメータは、現在のインデックスの上のインデックスの値を含まないインデックス値のリストから決定される。
一実施形態において、インデックスが、左に等しい予測方向を表す予測の第一モードを表す関連付けられた第一符号化パラメータを有するインデックスに続く場合、インデックスの第二符号化パラメータは、パレットのサイズから1を差し引いた値以下のより少な多数のインデックス値を有するインデックス値のリストから決定される。
一実施形態において、予測の第一モードは予測の利用可能な複数のモードのうちの1つであり、前記リストインデックス値は予測の複数のモードに依存する。
一実施形態において、第一の予測モード以外の予測のモードを用いて予測することが可能なインデックスの値を参照するインデックス値は、前記リストに含まれない。
一実施形態において、インデックス値のリストには、パレットのサイズから2を差し引いたより少ないかまたはこれと等しい多数のインデックス値が含まれる。
一実施形態において、第一の予測モード以外の予測モードを用いて予測されたインデックスの数が1より大きい場合、インデックス値のリストにパレットのサイズから1を差し引いた値に等しいサイズが含まれるように、他の予測モードでの予測が可能なインデックスの値のうちで最も低いインデックス値を含まない。
一実施形態において、利用可能な複数の予測モードのうちの1つは、パターンを記憶するテーブルから符号化パラメータが決定される遷移モードであり、パターンはインデックスブロックのインデックスに隣接する少なくとも1つのインデックスで構成され、前記パターンは、パターンの近傍内の位置に予想されるインデックスに対応する少なくとも1つの予測インデックスに関連付けられる。
本発明の第二十九の態様によれば、上述の方法にしたがって符号化パラメータの値を決定するステップを備える、符号化ユニットを符号化する方法が提案される。
本発明の第三十の態様によれば、ビットストリームから取得されたパレットにしたがって、画像の符号化ユニットを復号するために使用されるインデックスブロックのインデックスを復号する方法が提案され、各インデックスは符号化ユニットを形成する画素のうちの1つと関連し、パレットは、画素値と関連付けられた一連のインデックスを含む。前記方法は、
−ビットストリームからパレットを取得し、符号化パラメータにしたがって、ビットストリームおよび取得されたパレットからインデックスブロックを生成するステップと、
−入手可能であればパレットから生成できない前記インデックスブロックのインデックスを置き換えるためのエスケープ値に対応するインデックス値をビットストリームから取得するステップと、
−符号化ユニットを形成する画素の符号化順を考慮した前記画素の空間的近傍にしたがってインデックスに対応する符号化パラメータを決定するステップと、を備える。
一実施形態において、符号化パラメータは、上述の方法を用いて符号化ユニットを符号化するときに、符号化順を考慮して決定される。
一実施形態において、前記値のリスト中の値の数にしたがって第二符号化パラメータを表す語の長さを修正するステップは、M=2N−Rなど、整数Rの値にしたがって語の長さを修正するステップを備え、ここでMは前記値のリスト中の値の数であり、 Nは第二パラメータを表す語の長さを表すビットの数である。
本発明の第三十一の態様によれば、上述の方法を実行する手段を備える、符号化パラメータを決定するための装置が提案される。
本発明の第三十二の態様によれば、上述のそれぞれの符号化方法を実行する手段を備える、符号化ユニットを符号化するための装置が提案される。
本発明の第三十三の態様によれば、上述のそれぞれの復号方法を実行する手段を備える、符号化ユニットを復号するための装置が提案される。
本発明の第三十四の態様によれば、プログラミング可能な装置によって実行される場合に、上述の方法を装置に実行させるための実行可能命令を備える、コンピュータプログラムが提案される。
本発明の第三十五の態様によれば、コンピュータまたはプロセッサ上で起動されると、上述の方法をコンピュータまたはプロセッサに実行させる、非一時的コンピュータ可読搬送媒体が提案される。
第三十六の態様によれば、本発明は、パレット符号化モードにしたがって符号化ユニットを符号化するために使用されるインデックスブロックのインデックスの符号化において使用される符号化パラメータの値を推測する方法を提供し、前記インデックスは画素値に関連付けられた一連のインデックスを含むパレットに属し、パレット符号化モードは現在の符号化ユニットを予測するためにインデックスブロックから予測ブロックを構築するステップを備え、インデックスブロックのインデックスは任意の符号化順に符号化され、画素ブロックの現在の画素と関連付けられたパラメータは、画素を符号化する順に応じて文脈情報の機能において推測される
一実施形態において、第一パラメータは、インデックスブロックの現在のインデックスの予測のモードを表す。
一実施形態において、前記第一パラメータは、現在のインデックスがインデックスブロックのインデックスの列内の第一の位置にある場合に、推測される。
一実施形態において、前記第一パラメータは、現在のインデックスが上と等しい予測モードを表す関連付けられた第一パラメータを有して符号化順で前のインデックスに続く場合に、推測される。
一実施形態において、第二パラメータは、現在のインデックスの値を表す。
一実施形態において、現在のインデックスが左に等しい予測モードを表す関連付けられた第一パラメータを有し、符号化順で前のインデックスに続く場合に、現在のインデックスの第二パラメータは、現在のインデックスの左側のインデックスの値を含まない値のリストから推測される。
一実施形態において、現在のインデックスが上に等しい予測方向を表す関連付けられた第一パラメータを有し、符号化順で前のインデックスに続く場合に、現在のインデックスの第二パラメータは、現在のインデックスの上のインデックスの値を含まない値のリストから推測される。
第三十七の態様において、本発明は、第三十六の態様に係るパレット符号化モードにしたがって符号化ユニットを符号化するために使用されるインデックスブロックのインデックスの符号化において使用される符号化パラメータの値を推測する方法を備える、符号化ユニットを符号化または復号する方法を提供する。
第三十八の態様において、本発明は、第三十六の態様に係るパレット符号化モードにしたがって符号化ユニットを符号化するために使用されるインデックスブロックのインデックスの符号化において使用される符号化パラメータの値を推測する方法を実施するモジュールを備える、符号化ユニットを符号化または復号するための装置を提供する。
第三十九の態様において、本発明は、符号化または復号装置内のマイクロプロセッサまたはコンピュータによって実行されると、第三十六および三十七の態様の方法を装置に実行させるプログラムを記憶する、非一時的コンピュータ可読媒体を提供する。
第四十の態様において、本発明は、コンピュータプログラムの命令を記憶し、コンピュータまたはマイクロプロセッサによって読み取り可能な情報記憶手段を提供し、それにより第三十六および三十七の態様の方法の実施が可能になる。
第四十一の態様によれば、本発明は、パレットモードにしたがって画像の画素の現在のブロックを符号化または復号する方法を提供し、カラーパレットを用いるパレットモードは、現在のブロックの画素の少なくとも1つの成分を表す一連の値を備え、前記方法は、カラーパレット予測子を取得するステップと、カラーパレット予測子を用いて現在のブロックのカラーパレットを予測するステップと、を備える。当然のことながら、第四十一の態様のパレットモードは、上記に記載したいずれの態様を実行する際にも適用可能である。
一実施形態において、前記画像のブロックは、所定の走査順にしたがって順序づけられ、カラーパレット予測子は、画像の任意の因果領域のパレットモードにしたがって符号化された最後のブロックのカラーパレットから決定される。
一実施形態において、現在のカラーパレットの値は、カラーパレット予測子に含まれる値から予測される。
一実施形態において、カラーパレットの値は順序づけられ、現在のカラーパレットの値は、前記値がカラーパレット予測子内の同じ順を有する値から予測されたものかを表すフラグと関連付けられる。
一実施形態において、前記任意の因果領域は、現在の画素ブロックを含む符号化エンティティですでに再構築された部分である。
一実施形態において、カラーパレットの値は順序づけられ、現在のカラーパレットの値は、前記値がカラーパレット予測子内の任意の順を有する値から予測されたか否かを表すフラグと関連付けられている。
一実施形態において、カラーパレット予測子は、画像の各符号化エンティティと関連付けられている。
一実施形態において、前記カラーパレット予測子は、現在のブロックの近傍の画素から取得される。
本発明の第四十二の態様によれば、パレット符号化モードにしたがって符号化ユニットを符号化するために使用されるインデックスブロックのインデックスの符号化において使用される符号化パラメータの値を推測する方法が提供され、前記インデックスは画素値に関連付けられた一連のインデックスを含むパレットに属し、インデックスブロックのインデックスは任意の符号化順に符号化され、現在のインデックスが、上に等しい予測方向を表す予測の関連付けられたモードを有し、任意の符号化順にしたがって前のインデックスに続く場合、現在のインデックスの値は、現在のインデックスの上のインデックスの値を含まない値のリストから推測される。
一実施形態において、左に等しい予測のモードは、現在のインデックスを符号化するために使用される。
本発明による方法の少なくとも一部は、コンピュータによって実施してもよい。よって、本発明は、完全なハードウェア形態、完全なソフトウェア形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、あるいはソフトウェアおよびハードウェア態様を組み合わせた形態で実施してもよく、いずれも本明細書では概して「回路」、「モジュール」、または「システム」と称する。さらに、本発明は、媒体中に表現されるコンピュータ使用可能プログラムコードを有する任意の有形表現媒体において具現化される、コンピュータプログラム製品の形態をとっても良い。
本発明はソフトウェアで実施可能なので、本発明は、適切な任意の搬送媒体上に、プログラミング可能な装置に提供するためのコンピュータ読み取り可能コードとして実現可能である。有形搬送媒体には、フロッピーディスク、CD−ROM、ハードディスクドライブ、USBキー、メモリーカード、磁気テープ装置、または固体メモリ装置などの記憶媒体が含まれるであろう。一時的搬送媒体には、電気信号、電子信号、光信号、音響信号、磁気信号、あるいはマイクロ波やRF信号のような電磁信号などの信号を含んでも良い。
以下、単なる一例として、本発明の実施形態を添付の図面を参照して説明する。
ビデオエンコーダのアーキテクチャを示す図である。 ビデオデコーダのアーキテクチャを示す図である。 因果領域の概念を示す図である。 HEVCレンジ拡張でサポートされるクロマフォーマットを示す図である。 CUにおけるCTB分割およびこれらCUの走査順復号を示す図である。 HEVCのcoeff_abs_level_remainingのための復号プロセスを示す図である。 パレットモードにしたがって画素値を復号するための第一復号プロセスを示す図である。 パレットモードにしたがって画素値を復号するための第二復号プロセスを示す図である。 図7aに関するレベル導出のパレットおよびブロック/CUの一例を示す図である。 図7bに関するレベル導出のパレットおよびブロック/CUの別の例を示す図である。 生成された構文パレット要素の一例を示す図である。 パレットモード構文の復号プロセスを示す図である。 デコーダ側のレベルのブロック/CUの構築を示す図である。 エンコーダ側のパレット決定アルゴリズムを示す図である。 レベルのブロック/CU、予測モード、およびランの現在の実施の処理選択を示す図である。 本発明の第一の実施形態を示す図である。 本発明の第二の実施形態を示す図である。 レベルおよびラン符号化の組み合わせに関する本発明の別の実施形態を示す図である。 前の予測モードから決定されたものとしてスパースインデックスリストを考慮したインデックスの符号化を示す図である。 図17の符号化プロセスにしたがって符号化されたインデックスの復号を示す図である。 リストが2つ以上の欠落レベルを含むときの、より一般的な文脈におけるスパースインデックスリストを考慮したインデックスの符号化を示す図である。 図19の符号化プロセスにしたがって符号化されたインデックスの復号を示す図である。 遷移モードを表す図である。 遷移モードを表す図である。 コンピュータデバイスの概略ブロック図である。
ビデオ圧縮規格の一般原理のひとつは、空間的および時間的冗長性による利益を受けることで、ビデオビットレートを低減することである。図1および図2に、それぞれビデオエンコーダおよびビデオデコーダで実行される異なるステップを示す。
図1は、HEVCエンコーダのアーキテクチャを示す。ビデオシーケンスエンコーダにおいて、元のシーケンス(101)は、複数の画素ブロック(102)に分割される。次に、各ブロックに対して符号化モードが実施される。符号化モードには、空間的予測に基づくモード(INTRA)(103)、および時間的予測に基づくモード(INTER、Bidir、Skip)(104、105)の二つのファミリがある。INTRAブロックは一般的に、イントラ予測と呼ばれるプロセスによって、その因果境界における符号化画素から予測される。
時間的予測は第一に、以前のまたは未来のフレーム(基準フレーム(116))内で、符号化すべきブロックに最も近い基準領域を探し(動き推定(104))、第二に選択された領域を用いてこのブロックを予測すること(動き補償(105))に本質が存する。
いずれの(空間的および時間的予測)の場合も、元の予測されたブロックから予測を減ずることによって、残差が計算される。
イントラ予測では、予測方向が符号化される。時間的予測では、少なくとも1つの動きベクトルが符号化される。ただし、動きベクトル符号化に関係するビットレートコストをさらに低減するために、動きベクトルは直接符号化されるものではない。実際、動きが均一であると仮定すると、この動きベクトルと、その近傍の動きベクトル(例えば、隣接または周囲のブロックの動きベクトル)との差として動きベクトルを符号化することは、特に興味深い。例えばH.264では、動きベクトルは、現在のブロックの上および左側に位置する3つのブロック間で計算された中央値ベクトルに対して符号化される。中央値ベクトルと現在のブロックの動きベクトルとの間で計算された差(残差動きベクトルとも呼ばれる)のみが、ビットストリーム中で符号化される。このプロセスは、モジュール「Mv予測および符号化」によって実行される(117)。各符号化ベクトルの値は、動きベクトルフィールドに記憶される(118)。予測に使用される近傍の動きベクトルは、動きベクトルフィールドから抽出される(118)。HEVCでは、動きベクトル符号化プロセスはわずかに異なり、以下のセクションで詳述される。
その後、レート歪特性を最適化するモードが選択される(106)。冗長性をさらに低減するために、変換(DCT)が残差ブロックに適用され(107)、量子化が係数に適用される(108)。量子化された係数のブロックはその後エントロピー符号化され(109)、その結果がビットストリームに挿入される(110)。エンコーダはその後、未来の動き推定のために、符号化されたフレームの復号を実行する(111から116)。これにより、エンコーダとデコーダは同じ基準フレームを持つことができる。
符号化フレームを再構築するために、画素ドメイン内の「復号された」残差を提供するため、残差を逆量子化し(111)、逆変換する(112)。符号化モード(INTERまたはINTRA)にしたがって、この残差はINTER予測子(114)またはINTRA予測子に加算される。
次に、フレームのこの第一の再構築は、1種類または複数種類のポストフィルタリングによって、フィルタリングされる(115)。これらのポストフィルタは、エンコーダおよびデコーダループに組み込まれている。つまり、エンコーダおよびデコーダ側で同じ基準フレームを使用するために、エンコーダおよびデコーダ側で再構築されたフレームにこれらを適用する必要がある。このポストフィルタリングの目的は、圧縮アーチファクトを除去することである。例えば、H.264/AVCはデブロッキングフィルタを使用する。このフィルタは、残差のDCT量子化およびブロックの動き補償によるブロッキングアーチファクトを除去することができる。現在のHEVC規格では、デブロッキングフィルタ、画素適応オフセット(SAO:sample adaptive offset)、および適応ループフィルタ(ALF:adaptive loop filter)の3タイプのループフィルタが使用されている。これらのループフィルタは、以下のセクションに記載される。
図2は、HEVCデコーダのアーキテクチャを示す。デコーダの原理を図2に表した。まず、ビデオストリーム(201)をエントロピー復号する(202)。次に残差データが逆量子化(203)、及び逆変換され(204)、画素値を取得する。モードデータもまたエントロピー復号され、モードの機能において、INTRAタイプ復号またはINTERタイプ復号が実行される。INTRAモードの場合、INTRA予測子は、ビットストリーム中で指定されたイントラ予測モードの機能において決定される(205)。モードがINTERである場合、動き情報はビットストリームから抽出される(202)。これは、基準フレームインデックスおよび動きベクトル残差で構成される。動きベクトル予測子は、ために動きベクトル残差に加算され、動きベクトルを取得する(210)。動きベクトルはその後、基準フレーム内の基準領域の位置を特定するために使用される(206)。なお、動きベクトルデータまたは動きベクトルフィールド(211)は、次の復号される動きベクトルの予測に使用するために、復号された動きベクトルで更新されることに留意されたい。復号されたフレームのこの第一の再構築は、エンコーダ側で使用されたのと全く同じポストフィルタを用いてポストフィルタリングされる(207)。デコーダの出力は、非圧縮ビデオである(209)。
図3は、ビデオエンコーダまたはビデオデコーダの因果概念を示す。インデックスAを符号化するとき、Bの部分はすべて、Aの符号化効率を改善するために使用可能である。Cにはアクセスできない。図4は、未来のHEVCレンジ拡張がサポートする新しいビデオフォーマットを示す。一般にHEVC RExtとも呼ばれるHEVCレンジ拡張は、新しいビデオ符号化規格HEVCの定義の下での拡張である。この拡張の目的は、追加のカラーフォーマットおよびビット深度を用いてビデオシーケンスを符号化するための追加ツールを提供することである。より具体的には、この拡張は、4:2:2ビデオカラーフォーマット、ならびに4:4:4ビデオカラーフォーマットもサポートすることになる。現在のHEVC規格がカラーサンプルごとに8および10ビットの4:2:0カラーフォーマットを扱うことができる場合、HEVCレンジ拡張はさらに、8ビットから14ビットまでの範囲に拡張されたビット深度を有する4:2:2および4:4:4ビデオフォーマットをサポートする。カラー画像(picture)は一般的に、R、G、およびBの3つの色成分からなる。
これらの成分は一般的に相関しており、画像およびビデオ圧縮において画像を処理する前に色成分を無相関化するのが、非常に一般的である。最も一般的な形式は、YUVカラーフォーマットである。YUV信号は通常、線形変換を用いて、RGB画像から3つのR、G、およびB入力画像に生成される。Yは通常は輝度成分と呼ばれ、UおよびVは一般的にクロマ成分と呼ばれる。用語「YCbCr」もまた、用語「YUV」の代わりに一般的に使用される。
3つの色成分に異なるサンプリング比を適用するのが非常に一般的である。サブサンプリングスキームは一般的に、幅J画素、高さ2画素の概念領域内の輝度およびクロミナンスサンプルの数を示す三連比J:a:b(例えば、4:2:2)として表される。各項は(順に)以下とする:
J:水平サンプリング基準(概念領域の幅)。通常、4。
a:J個の画素の1行目にあるクロミナンスサンプル(Cr、Cb)の数。
b:J個の画素の2行目にある(追加の)クロミナンスサンプル(Cr、Cb)の数。
図4は、HEVC RExtにおいて検討された異なるクロマフォーマットを示す。3つの色成分の画像サイズ、および色成分のタイプが異なるため、これらのフォーマットは異なっている。
(401)に示される4:2:0 YUVクロマフォーマットでは、画像は、Y(401.1)、U(Crともいう)(401.2)、V(Cbともいう)(401.3)の3つの色成分でできている。Y成分画像が幅W画素、高さH画素である場合、UおよびV成分画像は、幅W/2画素、高さH/2画素である。
(402)に示される4:2:2 YUVクロマフォーマットでは、画像は、Y(402.1)、U(Crともいう)(402.2)、およびV(Cbともいう)(402.3)の3つの色成分でできている。Y成分画像が幅W画素、高さH画素である場合、UおよびV成分画像は、幅W/2画素、高さH画素である。
(403)に示される4:4:4 YUVクロマフォーマットでは、画像は、Y(403.1)、U(Crともいう)(403.2)、およびV(Cbともいう)(403.3)での3つの色成分でできている。3つの成分は同じ幅Wおよび高さHである。(403)に示される4:4:4 RGBクロマフォーマットでは、画像は、R(403.1)、G(403.2)、およびB(403.3)の3つの色成分でできている。3つの成分は同じ幅Wおよび高さHである。
画像が単色であるとき、そのフォーマットは4:0:0と名付けられる。入力サンプルのビット深度は、各色成分での各画素に関連するビットの数である。HEVCバージョン1は、4:2:0フォーマットの8ビット入力サンプル向けに定義されている。入力サンプルが8ビットで表されるとき、各サンプルは2=256の値を取ることができる。いくつかの用途では、サンプルのより大きなダイナミックを得るために、入力サンプルのビット深度を拡張するのに有用である。一般的に、この目的は、ビデオの視覚品質を向上させることである。周知のビット深度は8、10、12、14、および16ビットである。HEVCのレンジ拡張(RExt:Range Extension)は、拡張されたカラーフォーマットに加えて、このより大きなダイナミックスを対象とする。
また、HEVCのレンジ拡張(RExt)は、入力シーケンスを可逆符号化することができる。可逆コーデック(非可逆コーデックの逆)の目的は、入力と全く同一の復号された出力を得ることである。これを実現するために、非可逆コーデックと比較して、多数のものを修正または追加しなければならない。以下が、HEVCが非可逆処理を行うために必要とされる具体的なものを限定的に示した一覧である。
・量子化(エラーの主要な原因)の除去
・通常のコサイン/サイン変換は、(無損失符号化にもはや適していないことに加えて)誤りを導く可能性があるため、バイパス変換の強制実行
・DBFおよびSAOなど、量子化ノイズを補償する際に特別に調整されたツールの除去
また、HEVCのレンジ拡張(RExt)に固有の追加ツールは、ナチュラルシーケンスに加えて、「スクリーンコンテンツ」ビデオシーケンスを効率的に符号化するために、追加されたかまたは検討中である。「スクリーンコンテンツ」シーケンスとは、非常に特有のコンテンツを有する特定のシーケンスを指す。「スクリーンコンテンツ」ビデオシーケンスは、例えば文字列、スライド形式のプレゼンテーション、グラフィカルユーザインターフェース、テーブルなどを含む、その他の装置のパーソナルコンピュータから取得されたものに対応する、ビデオシーケンスに関する。これら特定のシーケンスは、ナチュラルビデオシーケンスと比較して、かなり異なる統計を有する。ビデオ符号化において、従来のビデオ符号化ツールの性能は、この特有のビデオコンテンツには非効率となる場合がある。
検討されている現在のツールは、「INTRAブロックコピー」モードおよび「カラーパレット」モードである。これらは、ナチュラルビデオシーケンスを対象とする従来の方法よりも優れた効率性を実証した。カラーパレットモードは、スクリーンコンテンツビデオシーケンスを対象とするときにHEVCレンジ拡張の符号化効率をさらに改善するために、本発明の範囲内で検討しているツールである。
図5は、符号化ユニットにおける符号化ツリーブロックの分割、およびこれら符号化ユニットの走査順復号を示す。HEVC規格では、ブロック構造は符号化ツリーブロック(CTB)によって組織される。フレームは、いくつかの重複しない正方形の符号化ツリーブロックを含む。符号化ツリーブロックのサイズは、64×64から16×16まで様々であってもよい。このサイズはシーケンスレベルで決定される。符号化効率性において、最も効率的なサイズは、最大で64×64である。なお、すべての符号化ツリーブロックは画像境界において同じサイズを有することに留意する。この場合、サイズは画素の数に応じて適合させる。
各符号化ツリーブロックは、1つ以上の正方形の符号化ユニット(CU)を含む。符号化ツリーブロックは、4分木構造に基づいて、いくつかの符号化ユニットに分割される。符号化ツリーブロック内の各符号化ユニットの符号化または復号順は、ラスター走査順に基づいて4分木構造に続く。図5は、符号化ユニットの復号順の一例を示す。同図において、各符号化ユニット内の数字は、この符号化ツリーブロックの各符号化ユニットの復号順を示す。
図6は、HEVCシンタックス符号化を示す。HEVC規格において、またはHEVC RExtにおいて、異なるシンタックス要素を符号化するために、いくつかの方法が使用される。HEVCは、コンテキスト適応バイナリ算術符号化(CABAC:Context based Adaptive Binary Arithmetic Coding)、ゴロムライス符号、または固定長符号化と呼ばれる単純な2進表現など、複数タイプのエントロピー符号化を使用する。ほとんどの場合、2値化プロセスは、異なるシンタックス要素を表すため符号化の前に実行される。この2値化プロセスはまた非常に特有であり、異なるシンタックス要素に依存する。
例えば、「coeff_abs_level_remaining」と呼ばれるシンタックス要素は、係数残差の絶対値または絶対値の一部を含む。この特殊な符号化の考えは、第一の値にゴロムライス符号を、より高い値には指数ゴロムを、使用することである。より具体的には、ゴロムパラメータと呼ばれる任意のパラメータに応じて、つまり第一の値(例えば0から3)を表すためにゴロムライス符号が使用され、その後より高い値(4以上)には指数ゴロム符号が使用される。
図6は、この特有な復号プロセスのこの原理を示す。このプロセスの入力データはビットストリーム(601)、およびはライスゴロム順またはパラメータとして知られるrParamである。このプロセスの出力は、復号されたシンボルである(612)。
プレフィックス値は1に等しく設定され(602)、その後1ビットがビットストリーム(601)から抽出され、変数フラグは復号された値に等しく設定される(603)。このフラグが0に等しい場合(604)、プレフィックス値はインクリメントされ(605)、別の1ビットがビットストリームから抽出される(603)。フラグ値が1に等しいとき、決定モジュール(606)は、値Prefixが3未満であるか否かを確認する。真であれば、N=rParamビットがビットストリーム(601)から抽出され(608)、変数「codeword」に設定される。この「codeword」は、ゴロムライス表示に対応する。シンボル値(612)は、ステップ(609)に示されるように、((prefix<<rParam)+codeword)に等しく設定される。ここで<<は左シフト演算子である。
Prefixがステップ(606)において3以上である場合、次のステップは(610)であり、ここでN=(prefix−3+rParam)ビットがビットストリームから抽出され、これを変数「codeword」に設定する(610)。シンボル値(611)は、((1<<(prefix−3))+2)<<rParam)+codewordに等しく設定される。これは、指数ゴロム表示に対応する。以下の技術的注記において、同図に示されているこの復号プロセス(または対称的には符号化プロセス)は、入力パラメータParamを有するGolomb_Hと呼ばれる。なお、単純にGolomb_H(Param)と記すことができる。HEVC規格およびHEVCレンジ拡張において、ゴロムパラメータ「rParam」は、符号化される信号にエントロピー符号化を適合させるために、式にしたがって更新される。この式は、係数が大きい値を有するときにゴロム順を上げることによってゴロム符号サイズを縮小しようとするものである。HEVC規格において、更新は以下の式で表わされる。
rParam=Min(cLastRiceParam+(cLastAbsLevel>(3(1<<cLastRiceParam))?1:0),4)
ここでcLastRiceParamは最後に使用されたrParam、cLastAbsLevelは最後に復号されたcoeff_abs_level_remainingである。なお、符号化または復号される第一パラメータには、cLastRiceParamおよびcLastAbsLevelは0に等しく設定されることに留意されたい。また、パラメータrParamが4の値を超えてはならないことにも留意されたい。
HEVCレンジ拡張では、より大きいビット深度を扱うため、また可逆符号化を含む拡張形式のビデオ圧縮(4:2:2および4:4:4)を処理するアプリケーションで必要とされる超高品質を考慮するために、この式は更新されている。レンジ拡張では、更新式は以下のように変更されている。
rParam=Min(cLastRiceParam+(cLastAbsLevel>>(2+cLastRiceParam)),7)。
この式を用いると、Paramの最大値は7である。また、変換ブロックのサブブロック向けcoeff_abs_level_remainingの最初の符号化では、ゴロムパラメータは以下に等しく設定される。
rParam=Max(0,cRiceParam−(transform_skip_flag||cu_transquant_bypass_flag?1:2))
ここで変数「transform_skip_flag」は、現在のCUに対して変換がスキップされた場合は1に設定され、変換が使用された場合は0に設定される。
変数「cu_transquant_bypass_flag」は、CUが可逆符号化された場合は1、それ以外は0に設定される。
変数「cRiceParam」は、ブロック全体の別のサブブロックの最後に使用されたrParamに等しく設定され、それ以外では0に設定される。
以下、本発明の焦点である、パレットモードの原理を説明する。パレットモードは、レンジ拡張の適用範囲内で提示された、新しい符号化方法である。この方法は、「スクリーンコンテンツ」ビデオシーケンスを対象とするビデオ符号化に有効である。HEVCレンジ拡張に対して提案されたパレット方法は、予測モードの一種である。つまり、パレット方法は、動き予測(Interの場合)またはイントラ予測によって実行される予測と同様に任意のCUの符号化のための予測子を構築するために使用される。予測の生成の後、残差CUは変換、量子化、および符号化される。
パレットは一般的にN組の色のセットを含むテーブルによって表わされ、各色は任意の色空間内のその成分によって定義される。例えば、通常のRGB形式において、パレットは、N組のP要素のリストで構成される(RGBではN=3)。より正確には、各要素はRGB形式の固定のカラートリプレットに対応する。当然ながら、これはRGBまたはYUVカラーフォーマットに限定されるものではない。その他のカラーフォーマットがパレットによって表されてもよく、それよりも少ないかまたは多くの色を使用することができる(つまり、Nは3ではない)。
エンコーダ側では、RExtで検討されているパレットモードは、任意の入力CUの画素値を有限数のインデックス(またはレベル)に変換することに本質が存する。これらのインデックスは、限られた数の色を定義する、関連付けられたパレットのインデックスを指す。パレットモード法を適用した後、結果的に得られるCUはインデックスからなり、その後、関連付けられたパレット(CUを表すために使用される限られたトリプレットのテーブル)を有するデコーダに送信される。
エンコーダ側でパレットモードを適用するために多くのやり方で進めることができるが、しかし画素ブロックを表す最も簡単なやり方は以下のとおりである。
・(例えば、全体的な歪みを最小化することによって)符号化する画素のCUを最適に表わすP個のトリプレットを探す
・次にP個のトリプレットの中で最も近い色を各画素に関連付ける。つまり、符号化する値は対応するインデックスである。
デコーダ側では、パレットモードは、逆方向に変換することに本質が存する。つまり、CUの各画素に関連付けられた復号された各インデックスについて、プロセスが、各CUのビットストリーム内で符号化されたパレットを使用することによってCUを再構成することに本質が存する。つまり、CUの各画素に対応する色を再構成するための色により、各画素に関連付けられた各インデックスが置き換えられる。すでに述べられたように、パレットモードは予測モードであり、つまり残差符号化を関連付けることができる。これはその後、最終的に再構成されたCUを構築するために、予測に追加される。
さらに、図7aに、HEVCのレンジ拡張において検討中の、デコーダ側のパレットモード予測の原理を示す。現在のCUの予測モードは、ビットストリーム(701)からステップ(702)において抽出される。現在、パレットモードは、ビットストリーム内のスキップフラグの前に位置するフラグによって特定される。このフラグは、単一の文脈を用いてCABAC符号化される。このモードがパレットモードであれば(703)、パレットモードの関連するシンタックス(705)は、ビットストリーム(701)から抽出される(704)。
次に、ステップ(706)において、パレット(707)およびレベルのブロック/CU(708)の2つの要素が構築される。このレベルのブロック/CUおよび関連付けられたパレットにしたがって、ブロック/CU予測子(画素ドメイン中)(710)が構築される(709)。つまり、ブロック/CUの各レベルについて、(RGBまたはYUV)色が各画素に関連付けられる。
次に、CU残差がビットストリーム(701)から復号される(711)。レンジ拡張において検討中の現在の実施パレットモードでは、パレットモードに関連付けられた残差は、共通のHEVC残差間符号化方法を用いて符号化される。CUの残差を求めるため、従来の逆量子化および逆変換が実行される。再構築されたCU(714)を形成するために、このブロック残差(712)にブロック予測子(710)が加算される(713)。
図7bは、HEVCの画面符号化拡張(Screen coding Extension)において検討中のデコーダ側のパレットモードの別の実施を記載する。この場合、残差はなく、予測自体もない。代わりに、パレットによって適切に表すことができない画素がエスケープ値として符号化される。つまりインデックスは、明確に量子化された画素値が送信されることを示すために使用される。画素がエスケープ値として符号化されたとき、以下に記載されるようなエスケープフラグが所定値に設定されている。その結果、図7aと比較すると、一部のステップが修正される。残差が符号化されていなければシンタックスはわずかに変化しているので、ステップ704bは、705と比較すると、固有のシンタックス705bを抽出する。実際にこの新しいモードにおいて、画素値は、可能であればパレットモードを用いて符号化されている。それ以外は、画素値がパレット要素を用いて符号化できない場合には(例えばパレットがその最大サイズに到達し、新しい値が追加できないため)、画素値はエスケープ値として符号化される。
するとデコーダは、図7aのステップ706のように、パレット707、レベルのCU108、加えてエスケープ画素値のブロック715を、ステップ706bにおいて再構築する。この新しいブロック715は、出力ブロック714を生成するために、既知のブロック708およびパレット707に組み込まれる。
図8aは、エンコーダ側のパレット方法の原理を示す。現在のCU801は、3つの値(Y,U,V)または(R,G,B)を有する画素の代わりにレベルを含む、同じサイズのブロック802に変換される。このブロックまたはCU803に関連付けられたパレットが構築され、各レベルエントリについて関連する画素色値を含む。なお、単色用途では、画素値は1つの成分しか含むことができないことに留意する。
図8bは、図7aに関連してエスケープ画素値を使用して、この原理を拡大する。画素ブロック801bの画素値811がパレット要素によって表せないときには、これはエスケープ値であるとして信号送信される。これは、例えば812(値3を取る)など、(708と同様に)802b内の特定のインデックスレベルを用いて信号送信可能であり、パレット803b(707と同様)中のそのエントリ813は、実際には定義されない。よって、パレット要素は実際には送信されない。代わりに、エスケープ画素値が、804b(715と同様)の一部として送信される。明らかに、エスケープフラグのようなエスケープ画素値を信号送信するために、812/813以外の手段が使用可能である。
図7aにおいて述べたように、パレットは符号化され、各CUごとにビットストリームに挿入される。同じように、レベルのブロック/CUも符号化され、ビットストリームに挿入される。図9に一例が示されている。この例において、CUは水平順(例えば左から右へ)に1行ずつ処理される。
図9において、レベルのブロック/CU(91)は、図中のもの(802)と全く同じである。テーブル(92)および(93)は、ブロック/CU(91)を処理するための連続ステップを示す。テーブル(93)は、テーブル(92)の以下のステップとして読み取られる。これらのテーブルで使用される色は、同じ色を有する画素ブロック/CU(91)を処理するための8つのステップに対応する。
これら2つのテーブルは、パレットモードと関連付けられた現在のシンタックスを示す。これらのシンタックス要素は、CU(91)のビットストリーム内の関連付けられた符号化情報に対応する。これらのテーブルにおいて、3つの主要な構文要素は、パレットモードの動作全体を表すために使用され、かつ以下のように使用される。
・「Pred mode」フラグ
このフラグが「0」と等しいとき、これは、現在の画素に新しいレベルが使用されることを意味する。レベルはこのフラグの後、ただちに信号送信される。
このフラグが「1」と等しいとき、これは、「コピーアップ」モードが使用されることを意味する。より具体的には、現在の画素レベルが、(ラスター走査順と同じ位置で開始して)すぐ上の列に位置する画素レベルに対応することを意味する。「Predモード」フラグが「1」に等しい場合には、直後にレベルを信号送信する必要はない。
すぐ上の列に位置する画素レベルは、現在の画素の空間的近傍にある。
・「Level」
このシンタックス要素は、現在の画素のパレットのレベル値を示す。
・「Run」
このシンタックス要素は、「Pred mode」フラグに依存する、異なる意味を有する。
「Pred mode」フラグが「0」に等しいとき、このシンタックス要素は、現在のものの直後に同じレベルが適用される、連続画素の数を示す。例えばRun=8の場合、これは現在のレベルが、現在のサンプル(画素位置)、および後続の8サンプルに適用されることを意味し、これは合計9サンプルに対応する。
「Pred mode」フラグが「1」と等しいとき、このシンタックス要素は、現在のものの直後に「コピーアップ」モードが適用される、連続画素の数を示す。例えば、Run=31の場合、これは現在のサンプルのレベルが、上の行のサンプル、ならびに後続の31サンプルからコピーされることを意味し、これは合計32サンプルに対応する。
テーブル(92)および(93)に、パレットモードを用いてブロック/CU(91)を表すための8つのステップを表す。各ステップは「Pred mode」フラグの符号化で始まり、「Pred mode」フラグが「0」に等しい場合にはレベルシンタックス要素がこれに続き、「Pred mode」フラグが「1」に等しい場合には「Run」シンタックス要素がこれに続く。「Level」シンタックス要素には必ず「Run」シンタックス要素が続く。
図10は、パレットモードのシンタックス要素復号を示す。
現在のブロックのために復号された予測モードがパレットモードであるとき、デコーダはまず、このブロックに関連付けられたシンタックスを復号し、次に図11に記載されるCUの再構築プロセスを適用する。
図10は、パレットモードに関連するシンタックス要素の復号プロセスを詳細に示す。まず、パレットのサイズがビットストリーム(1001)から抽出され復号(1002)される。ステップ(1002)で復号されたこのサイズ値に1を追加することにより、パレットの正確なサイズ(Palette_size)が取得される。実際、サイズは単項符号を用いて符号化され、値0が最小ビット数(1ビット)をとり、パレットのサイズは0に等しくなることはできない。そうでなければ、画素値はブロック予測子を構築するために使用することはできない。
次に、パレット値復号に対応するプロセスが始まる。パレットのインデックスに対応する変数iが0に等しく設定され(1004)、次にステップ1005において、iがパレットサイズ(Palette_size)に等しいか否かを確認するためのテストが実行される。該当しない場合には、1つのパレット要素がビットストリーム(1001)から抽出され復号(1006)され、次にiに等しい関連するレベル/インデックスを有するパレットに加えられる。次に変数iは、ステップ(1007)でインクリメントされる。iがパレットサイズと等しい場合には(1005)、パレットは完全に復号されている。
次に、レベルのブロックの復号に対応するプロセスが実行される。まず、画素カウンタに対応する変数j、ならびに変数syntax_iは、0に設定される(1008)。次に、画素カウンタがブロック/CUに含まれる画素の数に対応するか否かの確認が実行される。ステップ(1009)において答えが「はい」の場合、プロセスはステップ(1017)で終了し、そうでなければ1つの予測モードに対応するフラグ「Pred mode」の値が、ビットストリーム(1001)から抽出されて復号(1010)される。
「Pred mode」の値は、復号されたすべての「Pred mode」値を含むインデックスsyntax_iにおいて、テーブルに加えられる。この「Pred mode」の値が0に等しい場合(1011)、「Level」に対応するシンタックス要素は、ビットストリーム(1001)から抽出されて復号(1012)される。この変数「Level」は復号されたすべてのレベルを含むインデックスsyntax_iにおいて、テーブルに加えられる。画素カウンタに対応する変数jは、1だけインクリメントされる(1013)。
次に、ステップ(1014)で「Run」構文要素が復号される。シンタックス要素「Pred mode」が1に等しい場合(1011)、「Run」値もまたステップ(1014)において復号される。このシンタックス要素「Run」は、復号されたすべてのランを含むインデックスsyntax_iにおいて、テーブルに加えられる。
次にステップ(1015)において、値jは、ステップ(1014)で復号されたランの値だけインクリメントされる。変数syntax_iがインクリメントされる。カウンタjがブロック内の画素の数と等しい場合には、パレット予測子を構築するためのシンタックスが完了する(1017)。パレットに関連するこのプロセスの終わりに、デコーダは、パレットと、このCUのパレット予測モードに関連付けられたすべての「Pred mode」、「Level」、および「Run」シンタックス要素のリストを含むテーブルとを知ることになる。デコーダはその後、CUの再構築プロセスに進むことができる。以下の表は、各シンタックス要素のエントロピー符号の使用法を示す。
Figure 2017504997

図11は、予測子として使用されることになるCUを構築するための、再構築プロセスを示す。このプロセスの入力データは、「Pred mode」、「Level」、および「Run」のリスト、ならびにブロック/CUサイズを含む、テーブルである。第一ステップ(1101)において、画素カウンタを表す変数iが0に等しく設定され、変数jもまた0に等しく設定される。次に、インデックスjの「Pred mode」のテーブルから抽出された要素が0に等しいか否かを確認する(1104)。0に等しい場合、これは現在の画素iのために新しいレベルが符号化されることを意味する。ゆえに位置iにおける画素の値は、レベルのテーブルのインデックスjのレベルに等しく設定される(1105)(Block[i]=Level[j])。
変数iは1だけインクリメントされる(1106)。変数kは0に等しく設定される(1107)。kがインデックスjにおけるランのテーブルの「Run」要素に等しいか否かを知るために、(1108)において確認が実行される。該当しない場合には、位置iにおける画素の値(レベル値)は位置i−1における画素の値(レベル値)と等しく設定され(1109)、これは以下の式Block[i]=Block[i−1]に対応する。変数i(1110)および変数k(1111)はその後、1だけインクリメントされる。ステップ1108における確認が「はい」を返したら、左のレベル値の伝播が完了し、ステップ1120が実行される。
ステップ1104における確認が値「いいえ」を返すと、「コピーアップ」モードが開始する。変数kは0に等しく設定される(1112)。ステップ1113は、(k−1)がインデックスjのランのテーブルの「Run」要素と等しいか否かを確認する。該当しない場合、位置iの画素の値(レベル値)は、上の列の位置iにおける画素の値(レベル値)に等しく設定される(1014)。これは、以下の式Block[i]=Block[i−width]に対応する。値「width」は、ブロック/CUの幅である。変数iおよび変数kはその後、ステップ1115および1116において1だけインクリメントされる。ステップ1113における確認が値「はい」を返したら、予測モード「コピーアップ」は完了し、次のステップ1120が実行される。
ステップ1120において、変数iがブロック/CU内の画素の量と等しいか否かの確認が実行される。該当しない場合、変数jは1だけインクリメントされ(1121)、プロセスは上記ですでに説明したステップ(1104)を続けて実行する。
ステップ(1120)において確認の結果が「はい」であった場合、すべてのレベルは、ステップ(1122)でブロックの各画素に対して影響を与える(1122)。
次に、最終段階(1123)は、パレット内容にしたがって色値の各レベルを変換することに本質が存する。このプロセスは、ブロック内の位置のレベルおよびパレットのエントリにしたがって、各ブロック位置の画素値(Y,U,V)または(R,G,B)に対して影響を与える。図12は、エンコーダ側のパレット決定アルゴリズムを示す。
このプロセスの入力データは、元のブロック/CUおよびブロック/CUサイズである。この例ではYUVパレットを作成するが、RGBパレットも同じやり方で構築可能である。
第一ステップ(1201)において、画素カウンタ「i」を表す変数および変数「Palette_size」が0に設定される。閾値を表す変数「TH」は、9に設定される。次にステップ(1203)において、画素piが元のブロック(1204)から読み取られる(1203)。次に変数jが0に設定され(1205)、ステップ(1206)において、パレットサイズが変数「j」に等しいか否かの確認が実行される。
これが該当する場合、インデックス「j」におけるパレットは、画素値piに等しく設定される(1209)。つまり、現在の画素Piがパレットのエントリになる。より正確には、以下の代入が実行される
・PALY[j]=(Y
・PALU[j]=(U
・PALV[j]=(V
パレットサイズ(Palette_size)は1だけインクリメントされ(1210)、発生テーブルは、インデックス「パレットサイズ」については1に等しく設定される(1211)。次に、ブロック/CUの次の画素「i」を検討するために、変数iがインクリメントされる(1213)。
ブロック/CUのすべての画素が処理されたか否かの確認が、ステップ(1214)で実行される。「はい」の場合、以下で説明する順序づけプロセス(1215)によってプロセスが完了し、そうでなければ次の画素が、すでに記載されたステップ(1203)で検討される。
確認が値「いいえ」を返したときはステップ(1206)に戻り、次のステップは、ステップ(1207)であり、piとインデックスjにおけるパレット要素との間の各色成分の絶対値が計算される。すべての絶対差が厳密にTH(本実施形態では9に設定)と同等の閾値以下である場合、パレット内のエントリ「j」に関する発生カウンタは、1だけインクリメントされる。ステップ(1212)の後、次のステップでは、すでに説明したステップ(1213)である。ステップ(1207)において、確認が「いいえ」の回答を返したとき、その他のパレット要素を現在の画素と比較するために(1207)、変数jはインクリメントされる(1208)。パレット内のいずれの要素も基準を満たさない場合には、パレットに新しい要素が加えられる(1209、1210、1211)。
なお、決定モジュール(1207)は、444個の(YUVまたはRGB)シーケンスの各色要素を比較することができるが、420個のシーケンスについてしか輝度色成分を比較できない。
このプロセスの終わりに、テーブル「カウンタ」は、パレット要素の発生を含む。次にステップ(1215)において、パレット要素は、最も頻度の高い要素がパレット内の第一の位置になるように、これらの発生にしたがって順序づけられる。
また、パレットサイズは、現在の実施において24に固定されているパレットの最大サイズを超過することができる。パレットサイズが24を超過した場合、パレットサイズは24に等しく設定され、残りの要素はパレットから削除される。これらのプロセスの終わりに、パレットが構築される。これは実施の一例に過ぎず、このアルゴリズムを用いてパレットを直接構築することも可能である。
図13は、レベルのブロック、予測モード、およびランの現在の実施の選択のプロセスを示す。このプロセスの入力データは、元のブロック/CU、パレット、およびブロック/CUサイズである。
第一ステップにおいて、画素カウンタに関する変数「i」が0に設定される(1301)。
予測の2つのモード(「Pred mode」=0および「Pred mode」=1)が、個別に評価される。
「コピーアップ」予測(「Pred mode」=1に対応)では、変数「icopy」が0に等しく設定される(1303)。次にステップ(1304)は、画素位置ブロック[i+icopy]における現在のレベルが、位置ブロック[i+icopy−width]に対応する上の列の画素のレベルに等しいか否かを確認するが、ここで「width」は、検討される現在のブロック/CUの幅に対応する。答えが「はい」の場合、変数「icopy」はステップ(1305)において1だけインクリメントされる。
なお、ブロック/CUの各インデックスのレベルはステップ(1308)において並行して決定されることに留意する。これは、最も近いパレット要素内の位置iにおける画素に対して作用することに本質が存する(1308)。このプロセスは、位置i、パレット(1306)、および元のブロック(1307)を使用する。ステップ(1308)において、レベルはブロック/CU内の位置「i」に位置するサンプルに関連付けられる。
ステップ(1304)において答えが「いいえ」を返した場合、変数「icopy」は決定モジュール1314に送信される。この変数「icopy」は、上の列からコピーされた値の数に対応する。
並行して(または連続的に)、左予測モードのラン値を決定するためのループが、処理される。まず、変数「iStart」および「j」は「i」と等しく設定され、「ileft」は0に等しく設定される(1009)。ステップ(1310)において、j!=0か否か、「Pred mode[j−1]」=0か否か、およびBlock[j]=Block[j−1]か否かの確認が実行される。真である場合、変数「ileft」は1だけインクリメントされ(1311)、変数jもインクリメントされる(1312)。
ステップ1310において、答えが「いいえ」であるとき、次のステップは、新しい確認が実行される(1313)である。「j」が「iStart」より大きい場合(1313)、これは予測されておらずレベルを用いて直接符号化されていない予測モードの第一の値ではないかどうか(j!=0またはPred mode[j−1]=0)を確認する。これが第一の値ではない場合、変数「ileft」は決定モジュール1314に送信される。そしてこれは第一の確認済みレベルとなり(1313)、変数jのみがインクリメントされる。コピーアップ予測のループと同様に、インデックスiのレベルBlock[i]は、同じループで決定される(1308)。
「左予測」および「コピーアップ」モードの最大ランを計算した後、「icopy」!=0か否か、および「icopy」+2が「ileft」より大きいか否かを知ることにしたがって、変数「ileft」および「icopy」が比較される(1314)。つまり、「icopy」が0である場合に「左予測」モードが選択される(「copy」!=0)(1315)。これが0とは異なり、「icopy」+2が「ileft」より大きい場合、「コピーアップ」モードが選択される(1316)。「左予測」モードでは、「PredMode」変数は0に等しく設定され、ランは「ileft」に等しく設定される(1315)。「コピーアップ」モードでは、「PredMode」変数は1に等しく設定され、ランは「icopy」−1に等しく設定される(1316)。
次に、「Predモード」および「Run」を含むテーブルが、現在の値「Pred mode」および「Run」で更新される(1317)。なお、ステップ(1318)で検討すべき次の位置は、「Run」値によってインクリメントされた現在の位置に対応することに留意する。次に、最後の画素が処理されたことを知るための確認が、ステップ(1319)において実行される。「はい」の場合、プロセスは終了するが(1320)、そうでなければ2つの予測モード「左予測」および「コピーアップ」の評価が、次の画素位置について評価される。
このプロセスの終わりに、エンコーダは、ブロック/CUの各サンプルのレベルを知り、2つのテーブル「Pred mode」および「Run」の内容に基づいて、ブロック/CUの対応するシンタックスを符号化することができる。
ブロック予測を決定するために、エンコーダはその後、パレットにしたがって定義されたレベルのブロックを変換する。
本発明の第一の実施形態においては、「Pred mode」の符号化/復号化は、レベルのブロックの一列目では回避される。本実施形態では、レベルの信号送信に対応するモード「Pred mode」=0のみが、一列目に使用される。実際、上の列は存在しない、またはこの上の列は符号化されているレベルのブロック内にはないために、「Pred mode」=1、「コピーアップ」予測モードは一列目では適用不可能と見なされ、あるいはこれがパレットモードに属する場合には、この列は同じパレットを使用すべきではない。本実施形態の利点は、「コピーアップ」予測モードが利用可能な場合、「Pred mode」の信号送信のためにビットを節約することである。
図14は、本実施形態を示す。図14は図10に基づく。モジュール1401から1417は、モジュール1001から1017と同じである。変数jが列内の画素の数よりも少ないときの「Pred mode」の復号を回避するために、モジュール1418が追加されている。
本実施形態の代替は、上の列にレベル選択プロセスを適用することである。これは、上の列の各画素にレベルの影響を与えることに本質が存する。この場合、「コピーアップ」モードは、内側ブロック内と同じ機能を有し、この上の列のいくつかのレベルをコピーすることができる。この上の列が別のパレットモードCUに属する場合、この上の列に対応するレベルは、上のCUのパレットおよび現在のCUが異なったとしても、現在のパレットの「コピーアップ」モードに使用可能である。
一実施形態において、「Pred mode」の復号は、最後に復号された「Pred mode」に依存する。「Pred mode」は、最後に復号された「Pred mode」が1に等しいときには(「コピーアップ」)復号されない。実際、最後のモードが「コピーアップ」である場合、現在のレベルが上のレベルと等しいことを選択する最も簡単な方法は、最後の「コピーアップ」のランに+1を追加することである。本実施形態の利点は、「コピーアップ」予測モードの後に「Pred mode」の信号送信を省略することである。図15は、本実施形態を示す。図15は、図10に基づく。モジュール1501から1517は、Last_Pred変数が0に等しく設定されているモジュール1508を除いて、モジュール1001から1017と同じである。モジュール1518は、Last_Predが1に設定されているか否か(「コピーアップ」)を確認する。該当する場合、変数「Pred mode」はビットストリームから抽出されず、これは0に設定される(1519)。また、レベルおよび/またはラン値を復号した後、変数Last_Predは「Pred mode」に等しく設定される。
代替実施形態では、「Pred mode」は常に復号されるが、これが行われるときには復号プロセスが変更される。そのため、「コピーアップ」が「コピーアップ」に続くとき、レベルを送信することなく「Pred mode」=0が適用される。コピーされたレベルは、最後に復号されたレベル(左レベル)に等しく設定される。本実施形態の利点は、「Pred mode」と最後に復号された「Pred mode」との間の構文解析依存を回避することである。
一実施形態において、「Pred mode」は、最後に復号された「Pred mode」、左レベル、および上レベルに依存する。「Pred mode」は、最後に復号された「Pred mode」が0に等しい場合、および上レベルが左レベルに等しい場合には、復号されない。実際、その場合、現在のレベルが上レベルに等しいことを選択する最も簡単な方法は、最後の「Pred mode」のランに1を追加することである。先の実施形態のように、利点は、この条件が真であるときに「Pred mode」に関連するビットを節約することである。
本発明の一実施形態において、復号されたレベルの値は、最後の「Pred mode」の値に依存し、この「Pred mode」にしたがって、復号されたレベルは、左レベルまたは上レベルの値に依存する。実際、Last_predが0に等しいとき、レベルは左レベルと等しくなってはならず、別途ラン値に+1を設定する方が簡単である。同じように、Last_predが1に等しいとき(「コピーアップ」)、レベルは上レベルと等しくなってはならず、別途ラン値に+1を設定する方が簡単である。この実施形態の利点は、レベルの符号化においていくらかのビットを節約することである。したがって、Last_Predが0に等しいとき、現在のレベルが左レベルよりも大きい場合には、1を差し引いたレベルに設定される。同じように、Last_Predが1に等しいとき、現在のレベルが上レベルよりも高い場合には、1を差し引いたレベルに設定される。また、最大可能レベル値がデクリメントされる。なお、先行技術のセクションで述べたように、最大値は、現在の実施におけるレベル当たりのビット数を固定するために使用されることに留意する。最大サイズがPalette_sizeであることにも留意する。本実施形態は、Palette_sizeのみが2に等しいときに、特に有効である。実際にその場合には、第一レベルを除きレベルを符号化する必要はない。実施を簡素化するために、本実施形態は、Palette_sizeが2と等しいときにのみ適用される。
図16の別の実施形態において、「Level」値は、ランに関する情報を含む。具体的には、「Level」が固定長符号化を用いて符号化される場合には、いくつかの可能なcodewordは利用されず、強制的により多くの情報を保持させることができる。この場合、復号された「Level」がPalette_size以上であれば、この値は特定のラン長および「Level」に対応する。図16では、1617に具体的なケースを示す。1617では、−ラン値は「Level」−Palette_sizeであると推定可能であり、
−「Level」は、値X(通常は0)のその他の「Level」であり、実際にはパレットの一部である(すなわち、「Level」<Palette_size)。
当然ながら、Palette_size以上の各「Level」は特定の「Level」および「Run」値を表すと推測できる。これは、この場合にランが実際にどのように符号化されるかに影響を及ぼすことがある。上記は、「Level」および「Run」値のいくつかの組み合わせはその「Run」値を明示的に送信されないことを示している。我々の具体例において、Palette_sizeから2−1までの「Level」値は「Run」値を符号化するので、0からT=2−1−Palette_sizeまでの「Run」値は符号化されないことが、わかる。ここでPはパレット要素の数、Bは2Bが2B≧Pとなる最小整数となるような整数である。この場合、復号された「Run」値は、Tによってインクリメントされる。このことを考慮するとさらに、例えば順序3の指数ゴロム符号など、この具体的なケース(ステップ16.14)において特定のエントロピー符号が推測できる。
図17は、レベル(または代表インデックス)符号化の簡素化された実施形態を示し、その目的は単にこの符号化を説明するためである。結果的に、ステップ17.3から17.15は本実施形態にとって重要なステップであり、その他のステップは任意に簡素化されたままである。「idx」を、レベルのブロック内のラスター走査順にしたがって符号化すべき現在のレベルの位置とし、lvlを前記ブロックに対応するアレイとし、Wをブロックの幅(1行あたりのレベルの数を単位とする)とし、Mを現在のパレット内の要素の数とする。そこでステップ17.1では、とりわけブロック内の現在の位置「idx」を0に設定することによってインデックス符号化が実行されるループを初期化する。ステップ17.2は、レベルが符号化されるべきか否かを確認する。これは好適な実施形態において、位置「idx」における予測モードが「コピーレフト」であるか否かを確認するのと似ている。
符号化しなければならないレベルがない場合には、処理は直接ステップ17.16までスキップし、そうでなければこれはステップ17.3に続く。このステップは、符号化すべき変数「val」の値をlvl[idx]に、スパースリスト内の可能なレベルの数「M’」を「M」に設定することによって(すなわち、存在しない要素はない)、レベルの符号化の準備をする。次にステップ17.4は、最後のモード、すなわちラスター走査順で先に使用された予測モードが「コピーレフト」であったか否かを確認する。これが判断できなかった場合(例えば、「idx」が0であるため)、または最後のモードが「エスケープモード」として知られるモードであったため、または最後のモードが「コピーレフト」ではないため、処理はステップ17.5に続くが、そうでなければステップ17.6が実行され、一時変数「TH」がラスター走査順で前のレベルに設定され、その後ステップ17.8に進む。
別の実施形態では、ステップ17.4は、位置「idx−1」における予測モード(最後のモード)が「コピーレフト」であったか否かを確認するステップ、および位置「idx−1」におけるレベルが特定条件を満たしたか否か、特に位置「idx−1」におけるにレベルが「lvl[idx−1]<LIMIT」などの所定値LIMITより小さいか否かを確認するステップを、備えることができる。この新しい実施形態は、「Run」機能が前のブロックを符号化するために使用された場合に特に有用であり、この機能は、同じレベルを有する連続ブロックのすべてについて同じ値を符号化することを含んでいる。しかしながら、本実施形態において、ラン機能は、閾値LIMITより上のブロックについては無効にしてもよい。ステップ17.5に戻り、このステップでは、前のモードが「コピーアップ」であったか否かを確認する。ステップ17.4については、その判断ができない場合またはそうではない場合には、処理はステップ17.11まで完全にスキップし、そうでなければ変数THの値は、1行あたりのレベルの数Wに等しい値を位置から減ずることによって、ラスター走査順で現在のものの上のレベルに設定される。次にプロセスは、17.6からの処理と同じように、ステップ17.8に進む。いずれも変数THを設定しており、これはスパースリスト中に存在しないものである。
実際には変数THは、使用された最後のモードに応じて位置idxで取ることができないレベル値を表す。例えば最後のモードが「コピーレフトモード」であった場合、idxでのレベルはidx−1のレベルと同じになることはなく、それ以外は最後のモードを用いて符号化されたことになる。
したがって、M’はステップ17.8においてM−1に設定される。次にステップ17.9は、符号化すべき値「val」と変数THの値とを比較する。これがTHより大きい場合には、符号化すべき値がステップ17.10でデクリメントされる。実際、valの値がTHより小さい場合には、これはステップ17.8による影響を受けない。いずれの場合も、これにステップ17.11が続く。
ここで、M’が1と比較される。可能なレベルがひとつだけだとすれば、その値は推測可能であり、レベル符号化はすべて省略され、したがって処理はステップ17.16までスキップする。
そうでない場合は、ステップ17.12で、可能なレベルの数M’、ビット数N、N≧0、および整数値Rを前提とすると、代わりにN=N+1およびR=2とされるM’=2の特殊な場合にM’=2−Rとなるように、0<R≦2<N>が決定される。NまたはRの値は、テーブルに記憶されるか、または計算されることが可能である。例えば、Nまたは2<N>あるいはその何らかの変形がM’から容易に計算可能であり、したがってRが容易に推定可能であるシステムが考えられる。M’=5では、これはR=3およびN=3となり、M−8では、これはR=8およびN=4となる。次にステップ17.13が実行される。これらの値は、インデックスcodewordの符号化および復号が簡単になるように考案されているが、より短いcodewordを特定のレベルに結び付けるという同じ目的を達成するために異なる決定およびcodewordが採用されてもよいことを、当業者は理解するだろう。
なお、M’=2の場合には、特殊なケースが発生し、これには必ずステップ17.14が続き、N−1ではなくN+1−1を用いる。これは、追加確認および図18のステップとして実施可能であるが、特にテーブルを用いて実施される場合には、この挙動を満たす値をステップ17.12で見つける方が簡単である。
ステップ17.13では、符号化すべき値「val」をRと比較する。それの方が小さい場合には、その値は実際に、ステップ17.14で行われるように、N−1ビットで符号化されることが可能である。そうでなければ、Nビットが必要とされ、代わりにステップ17.15においてval+RがNビット上で符号化される。これは、図18においてより明確になるように、追加ビットを復号するか否かを決定する前にデコーダがN−1ビットのみを確認できるように、行われる。
図17に戻ると、ステップ17.14または17.15のいずれでも、処理は17.16に続く。これは単なるループ操作であり、ここで少なくとも位置が、符号化すべき次の要素に更新される。一旦位置が更新されると、ステップ17.17において、ブロックの終わりに到達したか否かが判断される。到達していない場合には、処理はステップ17.2に戻り、そうでなければステップ17.18で終了する。
図17の対応する復号プロセスを示す図18に言及したが、そこでは「idx」、「val」、「M」、「M’」、「N」、および「R」は同じ意味が維持される。ステップ18.1は、例えばidxを0に設定することによって、レベルの復号を初期化する。次にステップ18.2では、現在のモードが「コピーレフト」であるか否かを確認する。そうでない場合には、いずれのレベル(またはインデックス)も復号される必要はなく、処理はステップ18.20にスキップする。そうでなければ、M’はMに設定される。ステップ18.4および18.5ではそれぞれ、前に使用されたモードがそれぞれ「コピーレフト」および「コピーアップ」であるか否かを確認し、該当すればそれぞれステップ18.6および18.7に進み、そうでない場合またはこの前のモードを判断できなかった場合には、それぞれステップ18.5および18.9に進む。欠落しているレベルがあるため、M’がM−1に設定されるステップ18.8に進む前に、ステップ18.6および18.7では、それぞれ前のものおよび上のものである、欠落レベルにTHを設定する。その一方でステップ18.9では、欠落している値がないことを示す最大値MAXに、THを設定する。ステップ18.8および18.9の次が、ステップ18.10である。
ステップ18.10では、可能なレベルが1つしかないか否かを確認し、その場合、これは暗黙である。ステップ18.11において、復号値valは0に設定される。そうでなければ、ステップ17.12で行われたように、NおよびRがステップ18.12おいて決定される。図17を説明するときに述べたように、まず、「val」がステップ18.13においてN−1ビットから読み取られる。これにより、valがRより小さいか否かをステップ18.14で確認することが可能になる。それに該当する場合には、符号化された値は本当にN−1ビットで符号化されており、それはすでに完全に復号されているので、処理はステップ18.17に進む。そうでなければ、ステップ18.15においてもう1ビットが読み取られる。そしてステップ18.16では、読み取られたビットの値「bit」(したがって0または1)を用いて、2val+bit−Rである実際の符号化された値を決定することができる。符号化された値が決定されたので、ステップ18.17を実行することができる。
これらは、ステップ17.9および17.10の逆である。復号値がTH未満の場合には、復号値は実際のレベルであり、したがってステップ18.18ではこれを「val」に設定する。そうでなければ、ステップ17.10が実行され、それによりステップ18.19では現在のレベルをval+1に設定することによって処理を逆行させる。なお、ステップ18.9では、ステップ18.19が決して実行されないように、THを最大値MAXに設定する。いずれにせよ、次のステップ18.20ではidxを次の位置に更新し、その後ステップ18.21に進む。このステップではブロックの終わりに到達したか否かを検証するが、この場合、レベル復号はステップ18.22で停止し、そうでなければ処理はステップ18.2に戻る。
より一般的には、上述のスパースリストは、いずれか所定のレベル値を差し引いた値のリストであってもよく、つまり上述のように左のレベル値または上のレベル値を意味するが、その他の所定のレベル値であってもよく、またレベルまたは上のレベル値と組み合わせても組み合わせなくてもよい。
スパースリストを更新するための別の実施形態が、図19に示されている。本実施形態は、3つ以上の所定のレベルまたはインデックス値が存在するとき、つまり3つ以上の予測モードが検討されるときにスパースリストを処理する方法を提案する。好適な実施形態において、Pが利用可能な予測モードの数である場合、スパースリストを取得するために、最大P−1個のレベル値が取り除かれてもよい。実際、予測モードのうちの1つ(例えば「コピーレフト」)を用いてレベル値を符号化する必要がある場合、これは、他のモード(例えば、「コピーアップ」または図21に示されるような「遷移モード」と呼ばれるモード)が選択されないこと、また具体的には関連付けられたレベル値が不可能であることを示している。使用されるモードが「コピーアップ」または「遷移モード」である場合も、同じ論理があてはまる。言い換えると、前のインデックスのモードが「コピーレフト」または「遷移」モードのいずれかである場合には、現在の画素/レベルをカバーするために左側のランが代わりに1だけインクリメントされるので、左側のレベルは繰り返されない。
処理は図17と非常によく似ている。スパースリスト中で2つ以上のレベル値が禁止されることを考慮するためのステップ19.4から19.10を除いて、2つの図ではステップは同じである。
ステップ19.4では、P個の別のモードに関連付けられたレベル値を決定することが可能であり、これら別のモードのリストは、前に使用されたモードに依存することがある。例えば、「コピーレフト」モード、「コピーアップ」モード、およびパターンテーブルの所定値を暗黙に参照することによって任意の画素のレベル値の符号化を可能にする遷移モードの3つのモードが考えられる。パターンテーブルは、最後に処理された画素の値、および符号化すべき現在の画素の関連付けられた値を含む。遷移モードは、図21を参照することのよりより詳細に記載する。
禁止レベルの最初のリストLは、こうして作成される。ステップ19.5はその後、リストLをフィルタリングして縮小リストL’にする。第一の実施形態は、レベルの降順でLをソートし、そして重複するレベル値を除外してL’に結果を記憶させることである。したがって、Lが{6,0,4,1,6}と等しい場合には、L’は{6,4,1,0}に等しい。
別の実施形態では、重複のソートおよび除外は複雑なので、Lのサブセットのみが処理される。例えば、前記サブセットは、R=Q=1の最も明白な実施形態を用いて、リストLの中で最も小さいレベル値の数Qが取得され、L’の中のR≦Qレベル値などの数Rが取得されるものである。
フィルタリングプロセスには、禁止レベル値を考慮に入れるための、現在のパレットの新たなソートを含まれる。例えば現在のパレットが{0,1,2,3,4,5,6,7}に等しい場合、これはL’の禁止レベル値を除外した後{2,3,5,7}となる。そして、それぞれのインデックス2、3、5、および7は、以下に記載される処理の後、0、1、2、および3としてそれぞれ符号化されることになる。
その結果、0≦p≦P(Pはモードの数)となるようなp個のレベル値(pはL’サイズと等しい)が決定され、スパーリストにはM’=M−p個の要素が含まれる。ステップ19.6において、スパースリストのサイズM’が計算される。また、L’の最初の要素は、ループカウンタiをOに設定することによって選択される。
ステップ19.7はその後、L’の中に要素が残っているか否かを確認する。残っていなければ、L’は完全に使用されており、処理は先に記載されたステップ17.11と類似のステップ19.11で再開する。そうでなければ、ステップ19.8はステップ17.9と同じように動作する。一時変数THが、縮小リストL’の第一の値(i=0)に設定される。
値valが変数THよりも大きい場合には、valは上述のスパースリストのソートを考慮に入れるため、ステップ19.9でデクリメントされる。いずれの場合においても、プロセスはステップ19.10に続き、そこで例えばループカウンタiをインクリメントすることによってL’の中の次のレベルを選択する。よって、変数THは新しい値を取る。処理は次にステップ19.7に戻る。
図20は、対応する復号プロセスを示す。ステップ20.1から20.3、20.10から20.16、および20.20から20.22はそれぞれ、図18のこれらのバージョンと同一である。ステップ20.4はステップ19.4と同一である。ステップ20.5はステップ19.5と同一であってもよい。その結果、p個の要素を含むリストL’が決定され、ステップ20.6でのスパーリストに新しいサイズM’=M−pがもたらされる。
次に、ステップ19.7から19.10に記載されたプロセスが、逆順で実行される。このためステップ20.7では、例えばループカウンタをp−1に設定することによって、リストL’の中で最も高いレベルを選択する。pは0に等しくてもよく、またはL’の中で最も低いレベルはすでに処理されているので、ステップ20.8ではループカウンタを確認する。本実施形態において、L’は昇順で記憶されている。L’の中のすべての要素がステップ20.9、20.7、および20.18の処理が実行されていれば(つまり、すべての可能な値が検討されていれば)、レベル値valは完全に復号されており、それはステップ20.19で影響を受ける。あるいはvalは、ステップ20.9で、リストL’の現在のレベルTHと比較される。それの方が低ければ処理は必要とされないが、そうでなければステップ20.17においてインクリメントされる。最後にステップ20.18を通じて、ステップ20.8のテストに戻る前にiをデクリメントすることによって、L’の次のレベルが選択される。
ステップ19.7から19.10のプロセスに応じて、上述の復号プロセスは簡素化されることが可能である。例えば、リストL’は最大で1つの要素を含むことができ、これにより、THが例えば18.6または18.7によって示されるように適切に設定されていれば、ステップ18.17から18.19のように再利用が可能となる。リストL’の中の1つの要素のみを取得するための解決策の1つは、リストL’を得るために、リストLから最小レベル値を選択することである。
別の実施形態によれば、ステップ20.5において、デクリメント順でLをソートし、ステップ20.7、20.8、および20.18を相応に修正することが可能である。
aおよびbに分割された図21は、遷移モードと名付けられた予測のモードを示す。好適な実施形態によれば、このモードは図19および図20の実施形態の予測モードの1つである。
図21aはパターン、すなわち複数の近傍パレットレベルおよび位置およびレベルのつながりを示す。パターン符号化の主旨は、符号化すべきブロックの中の冗長性を利用することである。通常、ブロック内で同じ遷移が行われる。つまり、画素のサブセットがブロックの異なる場所で見出される。したがって、遷移モードはいくつかのパターンを、一般的にはパターンテーブルに記憶させる。パターンは、対象画素を包囲する任意の配置における画素のサブセットを定義する。対象画素のレベルの値は、異なるパターンの発生でも同じとする。この場合、レベル値の符号化は、パターン予測モードを用いることによって省略できる。対象画素の実際の値は、記憶されたパターンの中で対象画素の実際の周囲に対応するパターンを探すことによって、取得される。パターンテーブル内の特定されたパターンと関連付けられたレベル値は、対象画素のレベルの実際の値となる。すなわち、遷移モードと呼ばれる新しい予測モードは、パターンテーブルの所定値を暗黙に参照することによる、任意の画素のレベル値の符号化を可能にする。
例えば、パターン21.1は、xの値をその左近傍レベルと関連付け、その一方で21.2は上近傍を使用し、21.3は両方を使用する。21.4から21.6によって示されるように、このいわゆるパターンの性質は多様であり、ここでの重要な特性は、特定のレベル値をレベル値の近傍と関連付けできることであるがわかる。図21bは、パターン21.1の左のレベル値を21.1の右のレベルの値xと関連付けることにより、このプロセスを示す。このテーブルがどのようにしてあらゆる形式のパターンにも適合可能であるかは、当業者にとって自明である。このテーブルは当然ながら、符号化または復号化のいずれの時点でも初期化または更新可能である。
以下のパラグラフに、その他の好適な実施形態を記載する。
図22は、本発明の1つまたは複数の実施形態の実施のための計算装置2400の概略ブロック図である。計算装置2400は、マイクロコンピュータ、ワークステーション、または軽量ポータブルデバイスなどの装置である。計算装置2400は、
−マイクロプロセッサなどの中央処理装置(CPU)2401と、
−本発明の実施形態の方法の実行可能コード、ならびに本発明の実施形態に係る画像の少なくとも一部を符号化または復号する方法を実施するために必要な変数およびパラメータを記録するレジスタを記憶するためのものであって、そのメモリ容量は、例えば拡張ポートに接続された任意のRAMによって拡張可能である、ランダムアクセスメモリ(RAM)2402と、
−本発明の実施形態を実施するためのコンピュータプログラムを記憶するための読み取り専用メモリ(ROM)2403と、
−通常は、処理すべきデジタルデータが送受信される通信ネットワークに接続されている、ネットワークインターフェース2404と、
に接続された、通信バスを備える。
ネットワークインターフェース2404は、単一のネットワークインターフェースであってもよく、あるいは一連の異なるネットワークインターフェースで構成されていてもよい(例えば、有線および無線インターフェース、または異なる種類の有線または無線インターフェース)。データパケットは、CPU2401内で起動しているソフトウェアアプリケーションの制御の下で、送信の際にネットワークインターフェースに書き込まれ、受信の際にネットワークインターフェースから読み取られる。
−ユーザインターフェース2405は、ユーザからの入力を受け付けるため、またはユーザに情報を表示するために使用されてもよい;
−ハードディスク(HD)2406は、大容量記憶装置として提供されてもよい;
−I/Oモジュール2407は、ビデオソースまたはディスプレイなど、外部装置とデータを送受信するために使用されてもよい。
実行可能コードは、読み取り専用メモリ2403、ハードディスク2406、または例えばディスクなどのリムーバブルデジタル媒体のいずれかに記憶されてもよい。変形例によれば、プログラムの実行可能コードは、実行される前に、ハードディスク2406など、通信装置2400の記憶手段の1つに記憶されるために、ネットワークインターフェース2404を介して、通信ネットワークによって受信されることが可能である。
中央処理装置2401は、本発明の実施形態にしたがって、1つまたは複数のプログラムの命令またはソフトウェアコードの一部の実行を制御および指示するよう構成されており、この命令は前記記憶手段の1つに記憶される。電源投入後、CPU2401は、例えばプログラムROM2403またはハードディスク(HD)2406から命令が読み込まれた後に、ソフトウェアアプリケーションに関するメインRAMメモリ2402からのこれらの命令を実行することができる。このようなソフトウェアアプリケーションは、CPU2401によって実行されると、図6から図7bおよび図10から図20に示されるフローチャートのステップを実行させる。
本実施形態において、装置は、本発明を実施するためにソフトウェアを使用する、プログラミング可能な装置である。しかしながら代わりに、本発明は、(例えば、特定用途向け集積回路すなわちASICの形式で)ハードウェアで実施してもよい。
例えば、「エスケープモード」と呼ばれる周知のモード(図7bおよび図8b参照)は、画素がレベル値では表せないこと、およびその画素値が明示的に送信されることを、例えば特定のレベル値を用いて信号送信することに本質が存する。好適な実施形態は、パレットが、格納可能な値の最大数に到達した場合にのみ、エスケープフラグを挿入することである。この場合、パレットはMAX−1個のインデックスしか格納できず(MAXは、格納可能な値の最大数)、パレット内の位置MAXにおける値はエスケープレベルである。この場合、値のリストから減じられた所定のレベル値は、パレットの最後のインデックスである。
本最終実施形態は、モードがコピーレフトである場合に有効である。例えば、図17(または図19)を参照すると、Mを1だけ減少させるために、ステップ17.2と17.3との間に新しいステップが追加される。特定のレベル予測モード(コピーアップまたはコピーレフト以外)は、特定のスパースリスト、および本明細書に提示される概念をこの特定モードに拡大するやり方を、結果的にもたらすかも知れないしもたらさないかも知れないことは、当業者によって理解されるだろう。
従来技術において述べられたように、要素を用いないパレットの使用は禁止されており、Palette_sizeは復号化側に1を加えたものと等しく設定される(Palette_size−1が符号化される)。一実施形態において、1と等しい値Palette_sizeもまた禁止されている。実際これは、一定のブロックを復号するためにパレット内の1つの色のみを使用することに存し、ビデオコーデックにおいて、1つのブロックが、すべての画素について同じ値またはほぼ同じ値を含む場合には、その他の効果的なモードが存在する。そしてその場合、パレットモードはあまり最適ではない。例えば、イントラDCモードの方が効果的である。したがって、本実施形態は、図10のモジュール1003の動作を(Palette_size=Size+1の代わりに)Palette_size=Size+2によって変更することに本質が存する。これらの実施形態は組み合わせてもよい。
以上、本発明は特定の実施形態を参照して記載したが、本発明はその特定の実施形態に限定されるものではなく、本発明の範囲に含まれる修正は、当業者にとって自明であろう。
上記に説明の実施形態を参照すると、多くのさらなる修正および変形が当業者に提案されることになるが、これらは例示のみによって提供されるものであり、添付請求項のみによって定められる本発明の範囲を限定するものではない。具体的には、適切であれば、異なる実施形態の異なる特徴を入れ替えてもよい。
請求項において、用語「備える(comprising)」は他の要素またはステップを排除するものではなく、不定冠詞「a」または「an」は複数を排除するものではない。異なる特徴は相互に異なる従属請求項に列挙されるという単なる事実は、これらの特徴の組み合わせが有利に使用できないことを示すものではない。

Claims (17)

  1. パレット符号化モードにしたがって符号化ユニットを符号化するために使用されるインデックスブロックのインデックスの符号化において使用される符号化パラメータの値を推測する方法であって、前記インデックスは画素値に関連付けられた一連のインデックスを含むパレットに属し、前記インデックスブロックのインデックスは任意の符号化順に符号化され、インデックスブロックの現在のインデックスに関連付けられた予測のモードを表す符号化パラメータは、前記現在のインデックスが上以外の予測のモードとして前記インデックスブロックの1行目に位置する場合に推測される、方法。
  2. パレット符号化モードにしたがって符号化ユニットを符号化するために使用されるインデックスブロックのインデックスの符号化において使用される符号化パラメータの値を推測する方法であって、前記インデックスは画素値に関連付けられた一連のインデックスを含むパレットに属し、前記インデックスブロックのインデックスは任意の符号化順に符号化され、現在のインデックスが、上に等しい予測のモードを表す関連付けられた符号化パラメータを有し、符号化順で前のインデックスに続く場合に、前記インデックスブロックの現在のインデックスに関連付けられた予測のモードを表す符号化パラメータが、上に等しい予測のモード以外の予測のモードを表すとして推測される、方法。
  3. パレット符号化モードにしたがって符号化ユニットを符号化するために使用されるインデックスブロックのインデックスの符号化において使用される符号化パラメータの値を推測する方法であって、前記インデックスは画素値に関連付けられた一連のインデックスを含むパレットに属し、前記インデックスブロックのインデックスは任意の符号化順に符号化され、現在のインデックスが任意の符号化順にしたがって前のインデックスに続くとき、前記現在のインデックスの値は、前記前のインデックスと関連付けられた予測モードに応じて推測される、方法。
  4. 前記現在のインデックスが関連付けられた予測のモードを有し、符号化順で前のインデックスに続く場合、前記現在のインデックスの値は、前記現在のインデックスに適用されたときに前のインデックスと関連付けられた予測のモードによる前記インデックスの値を含まないインデックス値のリストから推測される、請求項3に記載の方法。
  5. 前記現在のインデックスが左に等しい関連付けられた予測のモードを有し、符号化順で前のインデックスに続く場合、前記現在のインデックスの値は、前記現在のインデックスの左側の前記インデックスの値を含まない値のリストから推測される、請求項4に記載の方法。
  6. 前記現在のインデックスが上に等しい予測方向を表す関連付けられた予測のモードを有し、符号化順で前のインデックスに続く場合、前記現在のインデックスの値は、前記現在のインデックスの上の前記インデックスの値を含まない値のリストから推測される、請求項4に記載の方法。
  7. 前記現在のインデックスが上に等しい予測方向を表す関連付けられた予測のモードを有し、符号化順で前のインデックスに続く場合、左に等しい予測のモードは前記現在のインデックスと関連付けられる、請求項6に記載の方法。
  8. パレット符号化モードにしたがって符号化ユニットを符号化するために使用されるインデックスブロックのインデックスの符号化において使用される符号化パラメータの値を推測するステップを備える、符号化ユニットを符号化または復号する方法であって、前記インデックスは画素値に関連付けられた一連のインデックスを含むパレットに属し、前記インデックスブロックのインデックスは任意の符号化順に符号化され、現在のインデックスが任意の符号化順にしたがって前のインデックスに続く場合に、前記現在のインデックスの値は、前記前のインデックスと関連付けられた予測のモードにしたがって前記インデックスの値を含まないインデックス値のリストから推測され、前記現在のインデックスの値を表す語の長さは、M=2−Rなど、整数Rの値にしたがって修正され、ここでMは前記値のリスト中の値の数であり、Nは前記現在のインデックスの値を表す語の長さを表すビットの数である、方法。
  9. 前記現在のインデックスが左に等しい関連付けられた予測のモードを有し、符号化順で前のインデックスに続く場合、前記現在のインデックスの値は、前記現在のインデックスの左側の前記インデックスの値を含まない値のリストから推測される、請求項8に記載の方法。
  10. 前記現在のインデックスが上に等しい予測方向を表す関連付けられた予測のモードを有し、符号化順で前のインデックスに続く場合、前記現在のインデックスの値は、前記現在のインデックスの上の前記インデックスの値を含まない値のリストから推測される、請求項8に記載の方法。
  11. 請求項1から7のいずれか一項に記載の符号化パラメータの値を推測する方法を備える、符号化ユニットを符号化する方法。
  12. 請求項1から7のいずれか一項に記載の符号化パラメータの値を推測する方法を備える、符号化ユニットを復号する方法。
  13. 請求項1から7のいずれか一項に記載の方法を実行する手段を備える、符号化パラメータを決定するための装置
  14. 請求項8から11のいずれか一項に記載のそれぞれの符号化方法を実行するための手段を備える、ビットストリーム内の符号化ユニットを符号化するための装置。
  15. 請求項8から10および請求項12のいずれか一項に記載のそれぞれの復号方法を実行するための手段を備える、ビットストリームから符号化ユニットを復号するための装置。
  16. プログラミング可能な装置によって実行されると請求項1から12のいずれか一項に記載の方法を前記装置に実行させる実行可能命令を備える、コンピュータプログラム。
  17. コンピュータまたはプロセッサ上で起動されると、請求項1から12のいずれか一項に記載の方法を前記コンピュータまたはプロセッサに実行させる、非一時的コンピュータ可読搬送媒体。
JP2016535223A 2013-12-10 2014-12-10 Hevcにおける改良型パレットモード Active JP6537511B2 (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
GBGB1321850.8A GB201321850D0 (en) 2013-12-10 2013-12-10 Palette Prediction
GB1321850.8 2013-12-10
GB201322475A GB201322475D0 (en) 2013-12-18 2013-12-18 Improved palette mode in HEVC
GB1322475.3 2013-12-18
GB201404596A GB201404596D0 (en) 2014-03-14 2014-03-14 Improved palette mode in HEVC
GB1404596.7 2014-03-14
GB1413725.1 2014-08-01
GB1413725.1A GB2521496A (en) 2013-12-18 2014-08-01 Improved palette mode in HEVC
PCT/EP2014/077296 WO2015086717A2 (en) 2013-12-10 2014-12-10 Improved palette mode in hevc

Publications (2)

Publication Number Publication Date
JP2017504997A true JP2017504997A (ja) 2017-02-09
JP6537511B2 JP6537511B2 (ja) 2019-07-03

Family

ID=53371913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016535223A Active JP6537511B2 (ja) 2013-12-10 2014-12-10 Hevcにおける改良型パレットモード

Country Status (7)

Country Link
US (1) US10419774B2 (ja)
EP (2) EP3664448B1 (ja)
JP (1) JP6537511B2 (ja)
KR (2) KR101869018B1 (ja)
CN (1) CN105814889B (ja)
RU (2) RU2679566C1 (ja)
WO (1) WO2015086717A2 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3058740B1 (en) 2013-10-14 2020-06-03 Microsoft Technology Licensing, LLC Features of base color index map mode for video and image coding and decoding
PL3425914T3 (pl) 2013-12-10 2022-02-14 Canon Kabushiki Kaisha Sposób i aparatura do kodowania lub dekodowania palety w trybie kodowania palety
WO2015086717A2 (en) * 2013-12-10 2015-06-18 Canon Kabushiki Kaisha Improved palette mode in hevc
KR101951083B1 (ko) 2014-01-02 2019-05-10 브이아이디 스케일, 인크. 스크린 컨텐츠 코딩을 위한 2차원 팔레트 코딩
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
KR101845462B1 (ko) * 2014-03-14 2018-04-04 브이아이디 스케일, 인크. 스크린 콘텐츠 코딩을 위한 팔레트 코딩
WO2015136693A1 (ja) * 2014-03-14 2015-09-17 富士通株式会社 画像符号化装置、画像復号装置、画像符号化方法、及び画像復号方法
KR20170002611A (ko) * 2014-05-09 2017-01-06 노키아 테크놀로지스 오와이 팔레트 코딩을 사용하는 비디오 인코딩 및 디코딩을 위한 방법 및 기술 장비
CN107079151B (zh) * 2014-09-26 2020-06-05 株式会社Kt 用于处理视频信号的方法和设备
US10812817B2 (en) 2014-09-30 2020-10-20 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
WO2016064123A1 (ko) 2014-10-20 2016-04-28 주식회사 케이티 비디오 신호 처리 방법 및 장치
WO2016114583A1 (ko) 2015-01-15 2016-07-21 주식회사 케이티 비디오 신호 처리 방법 및 장치
CN111970515B (zh) 2015-01-29 2024-03-29 株式会社Kt 对视频信号进行编解码的方法
US10477244B2 (en) 2015-01-29 2019-11-12 Kt Corporation Method and apparatus for predicting and restoring a video signal using palette entry and palette mode
KR20160118945A (ko) 2015-04-02 2016-10-12 주식회사 케이티 비디오 신호 처리 방법 및 장치
US10448058B2 (en) * 2015-05-21 2019-10-15 Qualcomm Incorporated Grouping palette index at the end and index coding using palette size and run value
EP3308540B1 (en) * 2015-06-09 2020-04-15 Microsoft Technology Licensing, LLC Robust encoding/decoding of escape-coded pixels in palette mode
US10880548B2 (en) * 2016-06-01 2020-12-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding video according to coding order
CN110674796B (zh) * 2016-11-18 2022-05-03 格兰菲智能科技有限公司 纹理砖解压缩方法
CN111726639B (zh) * 2016-11-18 2023-05-30 上海兆芯集成电路有限公司 纹理砖压缩及解压缩方法以及使用该方法的装置
KR102471978B1 (ko) * 2017-07-20 2022-11-29 삼성전자주식회사 이미지의 에러 데이터를 보정하여 압축하기 위한 장치 및 그에 관한 방법
CN108540799B (zh) * 2018-05-16 2022-06-03 重庆堂堂网络科技有限公司 一种可以精确表示一个视频文件两帧图像之间差异的压缩方法
US11025905B2 (en) 2018-09-14 2021-06-01 Tencent America LLC Method and device for decoding with palette mode
US11936868B2 (en) * 2018-11-08 2024-03-19 Interdigital Vc Holdings, Inc. Quantization for video encoding or decoding based on the surface of a block
EP3915265A4 (en) 2019-03-01 2022-06-22 Beijing Bytedance Network Technology Co., Ltd. DIRECTION-BASED PREDICTION FOR INTRA BLOCK COPY IN VIDEO CODING
CN113748674A (zh) * 2019-04-25 2021-12-03 北京达佳互联信息技术有限公司 使用调色板模式进行视频编解码的方法和装置
CN116684583A (zh) * 2019-08-26 2023-09-01 Lg电子株式会社 解码设备、编码设备和数据发送设备
CN110996127B (zh) * 2019-11-25 2022-12-09 西安万像电子科技有限公司 图像编解码方法、设备及系统
US11356679B2 (en) * 2019-12-05 2022-06-07 Alibaba Group Holding Limited Method and apparatus for chroma sampling

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6023558A (en) 1996-06-27 2000-02-08 Apple Computer, Inc. Graphics compression for an emulation system
JPH11161782A (ja) 1997-11-27 1999-06-18 Seiko Epson Corp カラー画像の符号化方法およびその符号化装置ならびにカラー画像の復号化方法およびその復号化装置
WO2003065709A1 (en) * 2002-02-01 2003-08-07 Koninklijke Philips Electronics N.V. Compression of palettized color images with variable length color codes
US7433526B2 (en) 2002-04-30 2008-10-07 Hewlett-Packard Development Company, L.P. Method for compressing images and image sequences through adaptive partitioning
US7302006B2 (en) 2002-04-30 2007-11-27 Hewlett-Packard Development Company, L.P. Compression of images and image sequences through adaptive partitioning
JP2004179687A (ja) * 2002-11-22 2004-06-24 Toshiba Corp 動画像符号化/復号化方法及び装置
EP1445734B1 (en) 2003-02-06 2007-08-08 STMicroelectronics S.r.l. Method and apparatus for texture compression
JP4515832B2 (ja) 2004-06-14 2010-08-04 オリンパス株式会社 画像圧縮装置、及び画像復元装置
JP2006005421A (ja) * 2004-06-15 2006-01-05 Olympus Corp 画像処理方法、及びコンピュータプログラムを格納したコンピュータで読み取り可能な記憶媒体
JP4769039B2 (ja) * 2005-07-26 2011-09-07 パナソニック株式会社 デジタル信号符号化および復号化装置ならびにその方法
JP4736619B2 (ja) * 2005-08-18 2011-07-27 沖電気工業株式会社 画像処理装置および画像処理方法
ATE425516T1 (de) 2005-08-19 2009-03-15 Ericsson Telefon Ab L M Texturkomprimierung auf der basis zweier farbtöne mit modifizierter helligkeit
WO2007077942A1 (ja) 2006-01-05 2007-07-12 Nippon Telegraph And Telephone Corporation 映像符号化方法及び復号方法、それらの装置、及びそれらのプログラム並びにプログラムを記録した記憶媒体
JP4747917B2 (ja) * 2006-04-03 2011-08-17 株式会社日立製作所 デジタル放送受信装置
EP2016767A4 (en) * 2006-04-28 2014-08-13 Avocent Corp DIGITAL VIDEO COMPRESSION DELTA CONTROLS
US20090010533A1 (en) 2007-07-05 2009-01-08 Mediatek Inc. Method and apparatus for displaying an encoded image
EP2154893A1 (en) * 2008-08-13 2010-02-17 Thomson Licensing Method for modifying a reference block of a reference image, method for encoding or decoding a block of an image by help of a reference block and device therefor and storage medium or signal carrying a block encoded by help of a modified reference block
US9232226B2 (en) 2008-08-19 2016-01-05 Marvell World Trade Ltd. Systems and methods for perceptually lossless video compression
CN101645173B (zh) 2008-12-16 2012-05-16 中国科学院声学研究所 一种随机调色板编码系统及方法
JP5221430B2 (ja) * 2009-03-24 2013-06-26 株式会社東芝 画像圧縮装置および画像伸張装置
RU2420021C2 (ru) 2009-03-24 2011-05-27 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ сжатия изображений и видеопоследовательностей
JP2011035807A (ja) * 2009-08-05 2011-02-17 Victor Co Of Japan Ltd 動画像符号化方法及び動画像符号化装置
JP5222870B2 (ja) * 2010-03-05 2013-06-26 日本放送協会 イントラ予測装置、符号化器、復号器及びプログラム
EP3493544B1 (en) * 2010-12-17 2020-12-23 Mitsubishi Electric Corporation Moving image encoding device, moving image decoding device, moving image encoding method and moving image decoding method
US9343076B2 (en) 2011-02-16 2016-05-17 Dolby Laboratories Licensing Corporation Methods and systems for generating filter coefficients and configuring filters
WO2015006169A1 (en) * 2013-07-08 2015-01-15 Sony Corporation Improvement for palette coding mode
US9558567B2 (en) 2013-07-12 2017-01-31 Qualcomm Incorporated Palette prediction in palette-based video coding
WO2015086717A2 (en) * 2013-12-10 2015-06-18 Canon Kabushiki Kaisha Improved palette mode in hevc
PL3425914T3 (pl) 2013-12-10 2022-02-14 Canon Kabushiki Kaisha Sposób i aparatura do kodowania lub dekodowania palety w trybie kodowania palety

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GARY SULLIVAN, ET AL.: "Meeting report of the 14th meeting of the Joint Collaborative Team on Video Coding (JCT-VC),Vienna,", JCTVC-N1000, JPN6018036765, 23 October 2013 (2013-10-23), pages p. 71 *
LIWEI GUO, ET AL.: "Non-RCE3: Modified Palette Mode for Screen Content Coding", JCTVC-N0249, JPN6018036764, 16 July 2013 (2013-07-16), pages pp. 1-6 *

Also Published As

Publication number Publication date
WO2015086717A3 (en) 2015-08-06
KR20160095034A (ko) 2016-08-10
KR101869018B1 (ko) 2018-06-20
CN105814889A (zh) 2016-07-27
KR20180067733A (ko) 2018-06-20
EP3080991B1 (en) 2020-02-12
EP3664448A1 (en) 2020-06-10
WO2015086717A2 (en) 2015-06-18
US10419774B2 (en) 2019-09-17
RU2653270C2 (ru) 2018-05-07
RU2679566C1 (ru) 2019-02-11
EP3080991A2 (en) 2016-10-19
JP6537511B2 (ja) 2019-07-03
CN105814889B (zh) 2019-03-29
KR101996197B1 (ko) 2019-07-03
US20160309177A1 (en) 2016-10-20
EP3664448B1 (en) 2022-10-19

Similar Documents

Publication Publication Date Title
JP6537511B2 (ja) Hevcにおける改良型パレットモード
KR101897378B1 (ko) 팔레트 코딩 모드에서 팔레트를 인코딩 또는 디코딩하기 위한 방법 및 장치
US10972742B2 (en) Encoding process using a palette mode
JP6461355B2 (ja) 画像を符号化または復号する装置、方法、プログラム
KR102020101B1 (ko) 비디오 코덱에서 신택스 요소 인코딩을 위한 방법 및 장치
US9516342B2 (en) Method and apparatus for transition encoding in video coding and decoding
RU2684202C2 (ru) Улучшенный процесс кодирования с использованием режима палитры
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
GB2523076A (en) Improved palette mode in HEVC for the encoding process
GB2521496A (en) Improved palette mode in HEVC
GB2528431A (en) Improved encoding process using a palette mode
CN116016915B (zh) 变换与系数信令的方法和装置
CN116016915A (zh) 变换与系数信令的方法和装置

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180925

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190604

R151 Written notification of patent or utility model registration

Ref document number: 6537511

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151