JP2018507597A - 自己完結型符号化構造を符号化または復号する場合のパレット予測子初期化子 - Google Patents

自己完結型符号化構造を符号化または復号する場合のパレット予測子初期化子 Download PDF

Info

Publication number
JP2018507597A
JP2018507597A JP2017535777A JP2017535777A JP2018507597A JP 2018507597 A JP2018507597 A JP 2018507597A JP 2017535777 A JP2017535777 A JP 2017535777A JP 2017535777 A JP2017535777 A JP 2017535777A JP 2018507597 A JP2018507597 A JP 2018507597A
Authority
JP
Japan
Prior art keywords
palette
palette predictor
predictor
coding
encoding
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
JP2017535777A
Other languages
English (en)
Other versions
JP6461355B2 (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 GB1501517.5A external-priority patent/GB2534607A/en
Priority claimed from GB1509922.9A external-priority patent/GB2539210A/en
Application filed by Canon Inc filed Critical Canon Inc
Publication of JP2018507597A publication Critical patent/JP2018507597A/ja
Application granted granted Critical
Publication of JP6461355B2 publication Critical patent/JP6461355B2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

本発明は、HEVC SCCにおいて定義されるようなパレット予測モードを使用し、例えば、画像をビットストリームに符号化する、または画像をビットストリームから復号する、画像を処理するための方法およびデバイスに関係する。画像は、階層符号化構造に分割される。デコーダにおいて、方法は、2つの符号化構造の処理されたそれぞれのブロックに対して、それぞれのエントリインデックスを対応する画素値に関連付けるエントリを含む関連パレットを使用するパレット符号化モードを用いて、同じ階層レベルを有する2つの自己完結型符号化構造の符号化されたデータを復号することであって、処理されたそれぞれの画素ブロックに関連付けられたパレットが、ビットストリームからの予測情報を使用して、パレット予測子から予測される、ことと、ビットストリームから、2つの自己完結型符号化構造よりも階層的に上の符号化構造に関連付けられたパレット予測子初期化子を得ることと、同じ得られたパレット予測子初期化子を使用して、それぞれの自己完結型符号化構造に対するパレット予測子を初期化することと、を含む。【選択図】図12b

Description

本発明は、パレット予測モードを使用して、例えば、画像をビットストリームに符号化する、または画像をビットストリームから復号する際に、少なくとも1つの画像を処理するための方法およびデバイスに関係する。本発明は、具体的には、HEVCスクリーンコンテンツ符号化(SCC:Screen Content Coding)拡張(extension)において導入されるようなパレットモード符号化に関係する。
本発明は、より具体的には、画素ブロックがそれぞれ、いわゆるパレットで符号化された、またはそれからビルドされたそれぞれのインデックスブロックに基づき符号化される、符号化モードに適用される。
本文書におけるパレットは、インデックスを画素値に関連付ける、エントリ、または「要素」を有するルックアップテーブルとして定義される。通常、それぞれのエントリは、後で述べられるように、1つまたは3つの要素を含む。それぞれの要素は、色成分に対する画素値に関係する。例えば、画像が単色である場合、パレットのそれぞれのエントリは、固有の色成分に対して1つの要素を含む。
言い換えれば、通常、しかし必ずではなく、画素値は、画素に関連付けられたそれぞれの色成分の値によって構成され、色パレットをもたらす。しかしながら、画素値が、1つの画素成分(「要素」と名付けられた)から成り、単色パレットをもたらす場合がある。
画素ブロックを符号化するこのモードは、パレット符号化モードと一般に呼ばれる。例えば、高効率映像符号化国際標準のスクリーンコンテンツ符号化(SCC)拡張において、このモードを採用することが検討されている(JCTVC−S1005文書を参照)。
映像シーケンス内の画像を符号化する際、画像は、最初、符号化ツリーブロック(CTB:Coding Tree Block)と呼ばれる等サイズの画素の符号化エンティティ(「符号化構造」としても知られる)に分割される。CTBは、スライスおよび/またはタイルなどのより高い階層レベルを有するその他の符号化構造にグループ化され得る。言い換えれば、画像は、階層符号化構造または符号化エンティティに、再帰的に分割される。
符号化ツリーブロックのサイズは、通常、64×64画素である。その後、それぞれの符号化ツリーブロックは、サイズが変わることがあり符号化する実際の画素ブロックである、より小さなブロックの階層ツリーに分解され得る。これらの符号化するより小さなブロックは、符号化ユニット(CU:Coding Unit)と呼ばれる。
特定の符号化ユニットの符号化は、周知のイントラ符号化モード、周知のインター符号化モード、およびパレット符号化モードを含む、予測符号化モード間の競合を伴う。
パレット符号化モードの場合、パレットからのインデックスブロックとして、所与の符号化ユニットに対して代表ブロックを定義することが可能であり、符号化ユニットにおけるそれぞれの画素位置に対して、前記代表ブロックが、符号化ユニットにおいて同じ位置を有する(すなわち併置された)画素の値に最も近いパレット内の画素値に関連付けられたインデックスを含む。しかしながら、最も近いパレットエントリを選択するこのパレットベースのアルゴリズムは、HEVC SCCにおけるエンコーダ専用のものであり、ビットストリームをパースまたは復号するために、前記アルゴリズムを知る必要はない。通常、最も近いとは、成分値の差分絶対値和または成分値の差分の2乗などの特定のメートル法の距離を使用した最も短い距離の場合を意味する。具体的には、ロスレス符号化の場合、これは、パレットエントリが、エンコーダによって、画素と等しいとして選択される必要のあることを意味する。以下では、「対応する」または「一致する」は、ロスレス符号化の場合に「等しい」、またはそうではない場合に「最も近い」のいずれか一方を意味するのに使用される。
HEVC SCCの最近のバージョンでは、元の画素ブロックと対応するパレットベースの代表画素ブロックとの間にもたらされる残差はない。高品質が符号化された画像において低下するのを避けるために、「エスケープ符号化された」特徴が、値がパレットのエントリの画素値に一致しない画素を符号化するのに導入された。これは、ロスレス符号化では、画素値に等しいパレットエントリがないことを意味する。このような場合、「エスケープ符号化された」画素をシグナリングするのに、パレットにおける特有のインデックスが使用され、エスケープ符号化された画素の量子化された値自体は、ビットストリームに直接、符号化され、量子化は、CUレベルにおいて送信された量子化器ステップによって決まる。ロスレス符号化の場合、量子化器ステップは、0であり、量子化がないことを意味する。量子化は、変換バイパス型量子化として、HEVC標準において定義されているものであり、量子化された値は、切り捨てバイナリコードを使用して符号化される。
このように、パレット符号化モードは、現在のパレットを使用して、現在の符号化ユニットまたは画素ブロックを代表するインデックスブロックをビルドする。パレットにおけるエントリインデックスは、「レベル」としても知られている。
パレットモードを使用する場合、パレットおよびインデックスブロックまたは「レベル」ブロックは、画像を符号化するビットストリームにおいて送信されることが多い。これは、数十のエントリを含み得るパレットが、それぞれの符号化ユニットに対して送信される必要があることから、費用の掛かるシグナリングに相当する。
JCT−VCにおける出願人の寄書(2014年3月27日〜4月4日、スペインのバレンシアにおける第17回会合の“AhG10:パレット予測子スタッフィング(AhG10:palette predictor stuffing)”と題されたNo.JCTVC−Q0063)において、パレット予測子、例えば(最後の処理された符号化ユニットのために)使用された最後のパレットを使用して、現在の符号化ユニットに対する現在のパレットを予測することが提案された。この手法は、パレットがもはやそれぞれの符号化ユニットに対して完全に明示的に送信されないことから、符号化の費用を低減することを目的とする。
さらに、別の提案された予測機構は、前のパレット全体をそっくりそのまま再利用することに頼り、このような再利用は、フラグpalette_share_flagで示され、デコーダが前記パレットのサイズを格納することを必要とする。しかしながら、そのパレットは予測子の始めにあるので、そのパレットを格納する必要はない。
しかしながら、いくつかの符号化特殊性は、画像の符号化ユニット全体にわたるパレット予測スキームを崩壊させ得る。これは、スライスやタイルのような符号化構造の場合である。
スライスおよびタイル符号化構造は、HEVCに導入されており、一連の画像(映像)におけるデータ損失の場合に、再同期化をもたらす。ここで留意すべきは、HEVC標準において定義されたような独立したタイルは、少なくとも1つのスライスを含み、その他のタイルから空間的に独立していることである。
再同期化特性を得るために、スライスおよびタイルは、互いに独立して符号化/復号される。言い換えれば、スライスおよびタイルは、「自己完結型」であり、例えば、スライスまたはタイルの境界においてイントラ予測が何も行われず、前に処理されたスライスまたはタイルと共有される(またはそれから受け継がれる)、エントロピー符号化状態もパレット予測子もIBC(Intra Block Copy(イントラブロックコピー))予測用の領域もない、ことを意味する。
このように、再同期化特性は、予測にとって有用なデータをもう使用できなくし、したがって、符号化効率を下げることになる。出願人の寄書JCTVC−Q0063では、パレット予測子は、新しい独立したスライスまたはタイルの符号化を開始するとき、あるいは、新しいCTBライン(波面符号化として知られている)または新しい画像もしくはフレームの符号化を開始するときでさえ、ゼロにリセットされる。出願人の寄書JCTVC−Q0063における別の手法は、パレット予測子が選択される1組のパレットを、ローカルに(デコーダにおいて)決定される初期設定のパレット(デフォルトパレット)にリセットすることにある。例えば、初期設定のパレットは、色空間にわたって均等に分散された画素値から成る。
この手法は、特に、全く同一の画像内に高レベルの情報冗長性があるSCCの場合、満足のいくものではないことが明らかである。
さらに、いくつかの符号化特殊性は、画像の符号化ユニット全体にわたるパレット予測スキームを崩壊させ得る。これは、スライスやタイルのような符号化構造の場合である。結果として、2015年2月19日〜26日のスイス、ジュネーブにおける第21回会合の“HEVCスクリーンコンテンツ符号化草案3(HEVC Screen Content Coding Draft Text3)”と題された寄書JCTVC−T1005において、HEVC SCC拡張に対するピクチャパラメータセット拡張においてパレット予測子初期化子を送信することが提案された。特定の実施形態によれば、その初期化子のエントリが単色である場合、単色コンテキストおよび/またはエントリ成分のビット深度がシグナリングされる。
しかしながら、カラーフォーマットをシグナリングすることは、パラメータ値における冗長性または潜在的ないくつかの不一致のいずれか一方をもたらす。
本発明は、上記の欠点のすべてまたは一部を克服するために考案されている。具体的には、パレットモードを使用して符号化効率を高め、例えば、スライスまたはタイルなどの符号化構造を使用する際のシグナリング費用を実質的に低減することを模索する。
第1の態様において、本発明は、ビットストリームから少なくとも1つの画像を復号する方法であって、画像が複数のスライスを含む階層符号化構造に分割され、前記スライスがそれぞれ、画像において同じ階層レベルを有し、方法が、
パレット符号化モードを使用して、2つのスライスの符号化されたデータを復号するステップであって、パレット符号化モードが、2つのスライスの処理された画素ブロックのそれぞれに対して、それぞれのエントリインデックスを対応する画素値に関連付ける1組のエントリを含む関連パレットを使用し、処理されたそれぞれの画素ブロックに関連付けられたパレットが、ビットストリームからの予測情報を使用して、パレット予測子から予測される、ステップと、
ビットストリームから、スライスよりも階層的に上の符号化構造に関連付けられたパレット予測子初期化子を得るステップと、
得られたパレット予測子初期化子を使用して、2つのスライスのそれぞれに対するパレット予測子を初期化するステップと、を含み、
初期化されたパレット予測子に後続するそれぞれのパレット予測子が、現在復号されているブロックに関連付けられた現在のパレットのエントリのすべてと、現在のパレットを予測するのに使用されない、現在のパレットを予測するために使用されたパレット予測子の1つまたは複数のエントリとを含む、方法を提供する。
第2の態様において、本発明は、少なくとも1つの画像をビットストリームに符号化する方法であって、
画像を分割することによって、階層符号化構造を得るステップと、
互いに独立した画像の2つの符号化構造のデータを符号化して、画像において同じ階層レベルを有する2つの符号化されたスライスを得るステップであって、前記符号化がパレット符号化モードを使用し、パレット符号化モードが、2つのスライスの画素ブロックのそれぞれに対して、それぞれのエントリインデックスを対応する画素値に関連付ける1組のエントリを含む関連パレットを使用し、符号化ステップが、パレット予測子から、処理されたそれぞれの画素ブロックに関連付けられたパレットを予測する予測情報を決定することを含む、ステップと、
パレット予測子初期化子を決定して、2つのスライスに対するパレット予測子を初期化するステップと、
ビットストリームにおいて、予測情報を含む符号化されたデータを提供し、かつパレット予測子初期化子を提供するステップであって、パレット予測子初期化子が、ビットストリームにおいて、2つのスライスよりも階層的に上の符号化構造に関連付けられている、ステップと、を含み、
パレット符号化モードでは、初期化されたパレット予測子に後続するそれぞれのパレット予測子が、現在符号化されているブロックに関連付けられた現在のパレットのエントリのすべてと、現在のパレットを予測するのに使用されていない、現在のパレットを予測するためのパレット予測子のエントリとを含む、方法を提供する。
実施形態において、パレット予測子初期化子は、ピクチャパラメータセットPPSにおける画像レベルで定義され、2つのスライスは、ピクチャパラメータセットに反映される。
実施形態において、パレット予測子初期化子は、シーケンスパラメータセットSPSにおけるシーケンスレベルで定義され、2つの自己完結型符号化構造は、シーケンスパラメータセットに反映される。
実施形態において、パレット予測子初期化子は、シーケンスパラメータセットにおいて、パレット符号化モードが有効になっているか否かを示す第1のフィールドの後、およびパレット予測子用の最大サイズを含む第2のフィールドの後に定義される。
実施形態において、パレット予測子初期化子は、2つのスライスを含むタイルにおけるタイルレベルで定義され、2つのスライスのそれぞれは、それが属するタイルを特定する。
実施形態において、2つのスライスの両方に対する初期化ステップは、それぞれのスライス内の全く最初の画素ブロックを復号する前に、行われる。
実施形態において、パレット予測子からパレットを予測するための予測情報は、そのそれぞれのフラグが、パレット予測子内の対応するエントリがパレットにおいてエントリを生成するためのエントリとして選択されるか否かを定義する、フラグのビットマップを含む。
第2の態様の実施形態において、予測子初期化子を決定することが、パレット符号化モードを使用して、2つのスライスよりも階層的に上の前記符号化構造によって画定された画像領域にわたって広がる画素ブロックサブセットを符号化することを含み、また符号化ステップの終了時に得られたパレット予測子を、パレット予測子初期化子として使用することを含む。
サブセットの画素ブロックは、領域のスロープまたは対角線に沿って分散され得る。
サブセットの画素ブロックは、画像の上部に水平方向に並べられ得る。
サブセットの画素ブロックは、隣り合っていないことがある。
実施形態において、パレット予測子初期化子を決定することは、同じ画素ブロックサブセットを再帰的に符号化することを含み、次の再帰的符号化ループに使用される第1のパレット予測子は、前の再帰的符号化ループの終了時に得られたパレット予測子である。
実施形態において、スライスは、2つの別々の画像に含まれる。
実施形態において、スライスは、同じ画像に含まれる。
実施形態において、パレットのサイズは、パレット予測子を初期化するのに使用されたパレット予測子初期化子のサイズを使用して設定される。
実施形態において、方法は、色成分数についての情報を得ることをさらに含み、パレット予測子初期化子の構造が、色成分数についての前記情報に基づく。例えば、情報は、前記画像が単色画像であるか否かをシグナリングするためのフラグであり得る。
本発明の第3の態様において、ビットストリームから少なくとも1つの画像を復号するための復号デバイスであって、画像が複数のスライスを含む階層符号化構造に分割され、前記スライスがそれぞれ、画像において同じ階層レベルを有し、復号デバイスが、
パレット符号化モードを使用して、2つのスライスの符号化されたデータを復号するための復号手段であって、パレット符号化モードが、2つのスライスの処理された画素ブロックのそれぞれに対して、それぞれのエントリインデックスを対応する画素値に関連付ける1組のエントリを含む関連パレットを使用し、処理されたそれぞれの画素ブロックに関連付けられたパレットが、ビットストリームからの予測情報を使用して、パレット予測子から予測される、復号手段と、
ビットストリームから、2つのスライスよりも階層的に上の符号化構造に関連付けられたパレット予測子初期化子を得るための取得手段と、
得られたパレット予測子初期化子を使用して、2つのスライスのそれぞれに対するパレット予測子を初期化するための初期化手段と、を備え、
初期化されたパレット予測子に後続するそれぞれのパレット予測子が、現在復号されているブロックに関連付けられた現在のパレットのエントリのすべてと、現在のパレットを予測するのに使用されていない、現在のパレットを予測するためのパレット予測子の1つまたは複数のエントリとを含む、復号デバイスが提供される。
本発明の第4の態様において、少なくとも1つの画像をビットストリームに符号化するためのデバイスであって、
画像を分割することによって、階層符号化構造を得るための取得手段と、
互いに独立した画像の2つの符号化構造のデータを符号化して、画像において同じ階層レベルを有する2つの符号化スライスを得ることであって、前記符号化がパレット符号化モードを使用し、パレット符号化モードが、2つのスライスのそれぞれの画素ブロックに対して、それぞれのエントリインデックスを対応する画素値に関連付ける1組のエントリを含む関連パレットを使用し、符号化ステップが、パレット予測子から、処理されたそれぞれの画素ブロックに関連付けられたパレットを予測する予測情報を決定することを含む、ことと、
パレット予測子初期化子を決定して、2つのスライスに対するパレット予測子を初期化することと、
ビットストリームにおいて、予測情報を含む符号化されたデータを提供し、かつパレット予測子初期化子を提供することであって、パレット予測子初期化子が、ビットストリームにおいて、2つのスライスよりも階層的に上の符号化構造に関連付けられている、ことと、を含み、
パレット符号化モードでは、初期化されたパレット予測子に後続するそれぞれのパレット予測子が、現在符号化されているブロックに関連付けられた現在のパレットのエントリのすべてと、現在のパレットを予測するのに使用されていない、現在のパレットを予測するためのパレット予測子のエントリとを含む、符号化デバイスが提供される。
本発明の第5の態様において、実行されると、前述のいずれかの方法を行わせる、コンピュータプログラムが提供される。
本発明は、さらなる態様において、ビットストリームから少なくとも1つの画像を復号する方法であって、画像が階層復号化構造に分割され、方法が、
パレット符号化モードを使用して、画像において同じ階層レベルを有する2つの自己完結型符号化構造(すなわち、同じ階層レベルのその他の符号化構造とは独立に符号化された符号化構造)の符号化されたデータを復号するステップであって、パレット符号化モードが、2つの符号化構造の処理された画素ブロックのそれぞれに対して、それぞれのエントリインデックスを対応する画素値に関連付ける1組のエントリを含む関連パレットを使用し、処理されたそれぞれの画素ブロックに関連付けられたパレットが、ビットストリームからの予測情報を使用して、パレット予測子から予測される、ステップと、
ビットストリームから、2つの自己完結型符号化構造よりも階層的に上の符号化構造に関連付けられたパレット予測子初期化子を得るステップと、
同じ得られたパレット予測子初期化子を使用して、2つの自己完結型符号化構造のそれぞれに対するパレット予測子を初期化するステップと、を含む、方法を提供する。
対称的に、本発明は、少なくとも1つの画像をビットストリームに符号化する方法であって、
画像を分割する階層符号化構造を得るステップと、
画像において同じ階層レベルを有する互いの符号化構造から独立して、画像の2つの符号化構造のデータを符号化して、2つの自己完結型の符号化された符号化構造を得るステップであって、前記符号化がパレット符号化モードを使用し、前記パレット符号化モードが、2つの符号化構造の処理された画素ブロックのそれぞれに対して、それぞれのエントリインデックスを対応する画素値に関連付ける1組のエントリを含む関連パレットを使用し、符号化ステップが、パレット予測子から、処理されたそれぞれの画素ブロックに関連付けられたパレットを予測する予測情報を決定することを含む、ステップと、
1つのパレット予測子初期化子を決定して、2つの自己完結型符号化構造に対するパレット予測子を初期化するステップと、
ビットストリームにおいて、予測情報を含む符号化されたデータを提供し、かつパレット予測子初期化子を提供するステップであって、パレット予測子初期化子が、ビットストリームにおいて、2つの自己完結型符号化構造よりも階層的に上の符号化構造に関連付けられている、ステップと、を含む、方法も提供する。
相関的に、本発明は、ビットストリームから少なくとも1つの画像を復号するための復号デバイスであって、画像が階層符号化構造に分割され、復号デバイスが、上記の復号方法のステップを実行するように構成された少なくとも1つのマイクロプロセッサを備える、復号デバイスを提供する。本発明は、少なくとも1つの画像をビットストリームに符号化するための符号化デバイスであって、上記の符号化方法のステップを実行するように構成された少なくとも1つのマイクロプロセッサを備える、符号化デバイスも提供する。
本発明により、符号化効率が改善される。これは、主に、それらのパレット予測子を初期化することを必要とする、符号化構造のうちの1つよりも厳密に高い階層レベルで定義されたパレット予測子初期化子を使用することによって実現される。これは、同じパレット予測子初期化子が、低費用で(すなわち、ビットストリームにおいて数回送信されることなく)、いくつかの独立した符号化構造(例えば、スライス)によって使用され得るからである。
本発明の実施形態の任意選択の特徴は、添付の特許請求の範囲に定義される。これらの特徴のいくつかが方法に関連して以下に説明されるが、それらは、本発明の実施形態による、デバイスに専用のシステム特徴に置き換えられ得る。
実施形態において、パレット予測子初期化子は、ピクチャパラメータセットPPS内の画像レベルで定義され、2つの自己完結型符号化構造は、ピクチャパラメータセットに当てはまる。この規定(provision)は、一定のフレームまたは時間の経過後にパレット予測子初期化子を更新する、または、画像のサブ領域(例えば、タイルまたは自由裁量のサブ領域)ごとにパレット予測子初期化子を使用するなど、エンコーダの末端部におけるいくつかの最適化と完全互換である。
変形形態において、パレット予測子初期化子は、シーケンスパラメータセットSPS内のシーケンスレベルで定義され、2つの自己完結型符号化構造は、シーケンスパラメータセットに当てはまる。上記のPPS手法に関して、この変形形態は、自己完結型符号化構造(例えば、スライス)レベルにおける追加情報を必要としない。これは、SPS(またはPPS)に対するリファレンスが、自己完結型符号化構造(例えば、スライス)のシグナリングにすでにあるからである。これにより、符号化効率は大幅に改善される。
特定の特徴によれば、パレット予測子初期化子は、シーケンスパラメータセットにおいて、パレット符号化モードが有効であるか否かを示す第1のフィールドの後、およびパラメータ予測子用の最大サイズを備える第2のフィールドの後に定義される。この規定は、例えば、第1のフィールドが、パレットモードが有効ではないことを示している場合、パレット予測子初期化子の決定が行われる必要がないことから、処理費用を最善にする。
別の変形形態において、2つの自己完結型符号化構造は、スライスであり、パレット予測子初期化子は、2つの自己完結型符号化構造を含むタイル内のタイルレベルで定義され、2つの自己完結型符号化構造のそれぞれは、それが属するタイルを特定する。PPSにおける初期化子の定義と比べると、この規定は、PPS IDの増加を制限することを可能にする。これは、明らかにされたそれぞれの新しいパレット予測子初期化子に対して新しいPPS IDを提供する必要がもうなくなるからである。初期化子リストがPPS内に定義され得、この場合、それぞれの初期化子が特定のタイルに関連付けられていることが留意されるべきである。
復号に関して、実施形態は、考えられた自己完結型符号化構造内の全く最初の画素ブロックを復号する前に、2つの自己完結型符号化構造のうちのいずれかに対する初期化ステップが行われることを提供し得る。これは、「自己完結型」特性のために、全く最初のブロックの符号化/復号が、前の画素ブロックまたは符号化構造からのデータ(パレット予測子を含む)を受け継ぐことができないためである。
いくつかの実施形態では、2つの自己完結型符号化構造のうちの1つ内の次の画素ブロックに対する次のパレット予測子は、同じ自己完結型符号化構造内の現在の画素ブロックを符号化するのに使用された現在のパレットからビルドされる。その場合、前記パレット予測子を、拡張するよりむしろ初期化することが有利であり、これは、拡張する場合、拡張されたパレット予測子が、後で重複した値を有する結果となり得るからである。
画素ブロックは普通、考えられた符号化構造内で、走査順序、例えばラスタ走査に従って連続的に考えられることに留意する。次のパレット予測子は、例えば、その他の符号化モード(イントラ、インターなど)との競合中に、パレット符号化モードを評価するのに使用される。パレット符号化モードが次の画素ブロック用に選択されない場合、「次のパレット予測子」が、さらに次の画素ブロック用に使用され得る。
上記の規定は、符号化構造(例えば、スライス)内の画素ブロックが符号化されると、パレット予測子が、必ず動的に展開することを示す。
特定の実施形態において、次のパレット予測子は、現在のパレット、および現在のパレットを予測するのに使用された現在のパレット予測子のみからビルドされる。
具体的には、次のパレット予測子は、現在のパレットのエントリのすべてを選択し、また現在のパレットを予測するのに使用されなかった現在のパレット予測子のエントリを選択することによって、ビルドされ得る。この手法は、画素ブロックを符号化しながら、現在のパレットに加えられ得る新しい色で、自己完結型符号化構造において使用されるパレット予測子を徐々に補う。結果として、パレット符号化モードは、画素ブロックが横断されるにつれて、益々効率的になる。
実施形態において、バレット予測子からパレットを予測するための予測情報は、そのそれぞれのフラグが、パレット予測子内の対応するエントリが、パレットにおいてエントリを生成するためのエントリとして選択されるか否かを定義する、フラグビットマップ(普通、デコーダの末端部においてビットストリームから復号され、エンコーダの末端部においてビットストリーム内に加えられる)を含む。
特定の実施形態において、フラグビットマップ(普通、RLE(Run−Length Encoding(連長符号化))を使用して符号化される)は、パレット予測子内のエントリ数と同じビット数を含み、ビットマップ内のある位置におけるそれぞれのビットは、パレット予測子において対応する位置を有するエントリがパレットのエントリとして選択されるか否かを定義する。この構成は、符号化効率を改善する。ビットマップのサイズをさらに縮小し得る変形形態は、パレットのエントリとして選択される最後のエントリにおいてビットマップを止めることを検討し得る。これは、上に示唆されたように、パレット予測子内のエントリがそれらの発生に従って順序付けられることから、特に有利である。いくつかの実施形態では、この結果、パレット予測子の最後のエントリが、そのパレットに、統計的にそう多くは使用されないことになる。
その他の特定の実施形態では、方法は、パレット予測子から、選択されたエントリを有するパレットの端に追加のエントリを加えることをさらに含み得る。これらの追加のエントリは、復号された(デコーダと、復号ループを使用するエンコーダとの両方において)追加の画素用のエントリ、および/または、例えば、エンコーダによってビルドされ、(従来のパレット符号化モードの場合のように)デコーダに送信された(ビットストリームにおいて)所定のパレットからのエントリであり得る。この規定は、パレットの符号化効率を高めることにある。
フラグビットマップを送信するための変形形態では、暗黙の手法が使用され得、これにより、ビットストリームにおいて送信される追加のデータまたはビット(ビットマップ)を減らし、フラグ(palette_share_flag)を通して、バレット符号化される次の画素ブロックまたはCUが、最後のパレット符号化された画素ブロックまたはCUに使用された最後のパレットのエントリのすべてを再利用するようになることを示すことが可能である。その場合、特定の実施形態は、パレット予測子初期化子サイズを使用し、画素ブロックを符号化するために使用されることになるパレットのサイズを初期化することであり得る。
いくつかの実施形態では、現在のパレットのエントリの画素値は、色成分を有し、色成分の子成分のみが、パレット予測子を使用して予測される。実際には、3つのうちの1つまたは2つの色成分が予測され得る。この規定は、処理およびビットストリームにおけるシグナリングを少なくする。
符号化に関して、実施形態は、1つのパレット予測子を決定することが、パレット符号化モードを使用して、2つの自己完結型符号化構造よりも階層的に上の前記符号化構造から成る、画像領域にわたって広がる画素ブロックサブセットを符号化することを含み、また符号化ステップの終了時に得られたパレット予測子を、パレット予測子初期化子として使用することを含む、ことを提供し得る。
決定ステップを画素サブセットに限定することは、初期化子を決定する際に低複雑度のプロセスを有することを可能にする。これは、低遅延符号化に特に適している。
パレット符号化用に適合されていないブロックが、考えから除外されるように(別の符号化モードを使用して符号化されたことから)、パレット符号化モードがその他の符号化モード(例えば、イントラおよびインター)と競合するのが好ましいことに留意されるべきである。また、決定ステップの符号化は、ビットストリーム用のデータの生成をもたらさず、パレット符号化に基づいた画素サブセットの分析となるのみである。
いくつかの実施形態において、サブセットの画素ブロックは、領域のスロープまたは対角線に沿って分散される。これは、それに対してパレット予測子初期化子が使用されることになる、画像領域全体を可能な限り代表する画素ブロックサブセットを備えるためである。
変形形態において、サブセットの画素ブロックは、画像領域の上部に、好ましくは画像の上部に水平方向に並んでいる。これにより得られたパレット予測子初期化子は、画像の開始の符号化によく適しており、またいくつかの後続画像に使用され得る。
特定の実施形態では、サブセットの画素ブロックは、隣り合っていない。例えば、2つの(またはそれより多い)画素ブロックごとに、1つの画素ブロックが選択され得る。これは、よく似た隣接の画素ブロックを処理することからもたらされ得る無用な処理を避けるためである。
その他の実施形態において、1つのパレット予測子を決定することは、同じ画素ブロックサブセットを再帰的に符号化することを含み、この場合、次の再帰的符号化ループに使用される第1のパレット予測子は、前の再帰的符号化ループの終了時に得られたパレット予測子である。言い換えれば、前の再帰的符号化ループの終了時に得られたパレット予測子は、次の符号化ループの際にパレット予測子初期化子として使用される。再帰的ループの回数が増えるにつれて、パレット予測子初期化子は、自己完結型符号化ユニットの画素ブロックを符号化することに益々適するようになる。結果として、パレット符号化される画素ブロックが多くなるに従って、インターまたはイントラ符号化される画素ブロックは少なくなり、これにより、符号化率を改善する。
いくつかの実施形態において、2つの自己完結型符号化構造は、2つの別々の画像に含まれる。変形形態において、2つの自己完結型符号化構造は、同じ画像に含まれる。
連続したパレット符号化された画素ブロック間でのパレットの再利用または共有に関係し得るいくつかの実施形態において、方法は、現在のパレットのサイズを定義することをさらに含み得る。例えば、パレットのサイズは、パレット予測子を初期化するのに使用されたパレット予測子初期化子のサイズを使用して、設定され得る。これは、主に、前の画素ブロックから受け継がれるパレットがないことから、自己完結型符号化構造内の最初のパレット符号化された画素ブロックで起こる。連続したパレット符号化された画素ブロック間でのパレットの共有に関係し得るいくつかの実施形態において、方法は、前のパレットが実際にない場合、前記共有されたパレットのサイズを初期化することをさらに含み得る。本発明の実施形態によれば、このサイズは、パレット予測子初期化子のサイズがパレットに対して許容される最大サイズよりも小さい場合、このパレット予測子初期化子のサイズを使用して初期化され得る。
実施形態において、パレット予測子初期化子構造がその情報に基づく、色成分数についての前記情報が得られる。
言い換えれば、パレット予測子初期化子は、色成分と同数の成分を含み得、パレット予測子初期化子成分数が、前記情報から得られる。
前記情報は、前記画像が単色画像か否をシグナリングするためのフラグであることが好ましい。
本発明の別の実施形態は、少なくとも1つの画像を復号または符号化するためのデバイス内のマイクロプロセッサまたはコンピュータシステムによって実行されると、デバイスに、上に定義されたような復号または符号化方法を行わせる、プログラムを格納する非一時的コンピュータ可読媒体に関する。
非一時的コンピュータ可読媒体は、方法およびデバイスに関係して上記および以下に提示されるそれらに類似する特徴および利点を有し得る。
本発明の別の態様は、ビットストリームから少なくとも1つの画像を復号する方法に関し、画像が、実質的に、添付図面の図12a、または図12b、または図12および(図14aまたは図14bまたは図14cまたは図14d)を参照して本明細書に説明されるように、またそれらの図に示されるように、階層符号化構造に分割される。
本発明のまた別の態様は、実質的に、添付図面の図13b、または図13aおよび図13b、または図13aおよび(図14aまたは図14bまたは図14cまたは図14d)を参照して本明細書に説明されるように、またそれらの図に示されるように、ビットストリームから少なくとも1つの画像を符号化する方法に関する。
本発明の別の態様は、ビットストリームから画像を復号するために使用されるピクチャパラメータセットを復号する方法であって、画像が、少なくとも1つの色成分を有する画素を含み、方法がいくつかのステップに分解される、方法に関する。方法は、
ピクチャパラメータセットにおいて定義され、復号方法の少なくとも2つのステップに関与する1つの色成分パラメータを復号し、前記画像が単色であるかどうかを示すことと、
復号された色成分パラメータが、画像が単色であることを示す場合、復号方法の少なくとも1つのステップを飛ばすかまたは改めることと、を含む。
本発明のこの態様は、誤りの元となる無駄が何も使用されていないシンタックスを提案することを目的とする。本発明のこの態様は、より効率的であり、矛盾した構成を防ぐ。
実施形態において、ステップのうちの少なくとも1つが、パレットモードを使用して符号化されている画素値を復号することを含む、少なくとも2つの異なるステップが、飛ばされるかまたは改められる。
実施形態において、1つのステップは、パレット予測子初期化子の少なくとも1つのエントリまたはそれぞれのエントリに対する要素数を決定することを含む。上に定義されたように、それぞれの要素は、色成分に対する画素値に関係する。例えば、画像が単色である場合、パレットのそれぞれのエントリは、固有の色成分に対して1つの要素を含む。
実施形態において、パレット予測子初期化子のそれぞれのエントリは、復号された色成分パラメータが所定の値に設定されている場合は、一つ組であり、そうでなければ三つ組である。
実施形態において、ステップのうちの1つは、色成分パラメータが、画像が単色であることを示す場合に飛ばれる残差適応型色変換に関係している。
実施形態において、パラメータは、画像が単色である場合に値「1」をとるフラグである。
本発明の別の態様は、ビットストリームから画像を復号するために使用されるピクチャパラメータセットを復号する方法に関し、画像が少なくとも1つの色成分を有する画素を含み、前記画像が、パレットモードを含む複数のモードの中の1つのモードを使用して復号化される。方法は、
−残差適応型色変換に関連付けられたステップと、
−パレット予測子初期化子を定義するためのステップであって、画像が単色であるか否かを示す色成分パラメータの値に基づき処理される、ステップと、を含む。
色成分パラメータの値は、残差適応型色変換の実行から推測される。
本発明のその他の態様は、誤りの元になる無駄が何も使用されていないシンタックスを提案することを目的とする。本発明のこの態様は、より効果的であり、矛盾した構成を防ぐ。
実施形態において、残差適応型色変換が実行される場合、色成分パラメータの値が、画像が単色ではないことを示すと推測される。
実施形態において、色成分パラメータは、残差適応型色変換が実行される場合、その値が「0」であると推測されるフラグである。
本発明の別の態様は、ビットストリームから画像を復号するために使用されるピクチャパラメータセットを復号する方法であって、画像が少なくとも1つの色成分を有する画素を含み、少なくとも1つの画像が、パレットモードを使用することによって符号化され、方法が、同じエントリ数を有するパレット予測子初期化子を用いてパレット予測子を初期化するためのステップを含み、パレット予測子初期化子およびパレット予測子が、エントリごとに1つまたは複数の要素を有する、方法に関する。
パレット予測子初期化子によるパレット予測子の初期化は、所与の色成分数の画素を有する画像から、別の色成分数を有する画像へ切り替える際の所定のルールによって統制される。
実施形態において、所定のルールは、パレット予測子の少なくとも1つのエントリに対して、要素のうちの少なくとも2つをパレット予測子初期化子の同じ要素の値に設定することを含む。
実施形態において、所定のルールは、パレット予測子の少なくとも1つのエントリに対して、要素のうちの少なくとも1つを所定の初期値に設定することを含む。
実施形態において、1つの色成分を有する画像から3つの色成分を有する画像に切り替える際に、所定のルールが適用される。
本発明の別の態様によれば、ビットストリームからの画像に関係付けられたピクチャパラメータセットを復号するための復号デバイスであって、上に説明された実施形態のうちの1つによる復号方法を実施するように構成される、復号デバイスが提案される。
本発明の別の態様によれば、少なくとも1つの画像を復号するためのデバイス内のマイクロプロセッサまたはコンピュータシステムによって実行されると、デバイスに、上に説明された実施形態のうちの1つによる方法を行わせる、プログラムを格納する非一時的コンピュータ可読媒体が提案される。本発明による方法の少なくとも一部は、コンピュータ実施式であり得る。したがって、本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、または、すべて全体的に、本明細書において「回路」、「モジュール」または「システム」と呼ばれ得るソフトウェア態様とハードウェア態様とを組み合わせた実施形態の形式をとり得る。さらに、本発明は、媒体において具体化されたコンピュータ使用可能プログラムコードを有する任意の有形の表現媒体において具体化されたコンピュータプログラム製品の形式をとり得る。
本発明がソフトウェアにおいて実施され得ることから、本発明は、任意の適切な担持媒体上のプログラマブル装置への提供用のコンピュータ可読コードとして具体化され得る。有形の担持媒体は、フロッピディスク、CD−ROM、ハードディスクドライブ、磁気テープデバイスまたは固体メモリデバイスなどの記憶媒体を含み得る。一時的担持媒体は、電気信号、電子信号、光信号、音響信号、磁気信号または電磁信号、例えばマイクロ波もしくはRF信号などの信号を含み得る。言い換えれば、担持媒体は、一時的または非一時的であり得る。
ここで、本発明の実施形態が、あくまでも例として、以下の図面を参照して説明される。
HEVCエンコーダアーキテクチャを図示する。 HEVCデコーダアーキテクチャを図示する。 因果領域の概念を図示する。 符号化ユニットに分割する符号化ツリーブロックと、これらの符号化ユニットの走査順復号を図示する。 HEVCのSECC拡張において研究中のデコーダ側におけるパレットモードの原理を、前記パレットの予測と共に図示する。 符号化ユニットの例を、その対応するレベルブロックおよび関連パレットと共に図示する。 同じレベルブロックと、このレベルブロックの符号化のために使用される1組のシンタックス要素を図示する。 パレット符号化モードに関係するシンタックス要素の復号プロセスを図示する。 復号側においてレベルブロックをビルドするための再構成プロセスを図示する。 パレット予測子の例示的な反復ビルドを含む予測スキームを図示する。 映像符号化に使用される様々なブロック構造を図示する。 ビットストリームからのパレット予測子初期化子のパーシングを図示する。 ビットストリームを復号するためのデコーダによるパレット予測子初期化子の使用を図示する。 パレット予測子初期化子のエンコーダ決定に使用される様々なブロックサブセットを図示する。 パレット予測子初期化子を決定するためのブロックサブセットにおいてエンコーダによって行われる分析を図示する。 エンコーダによって書き出され、またデコーダによってパースされた通りに、既存のSPSまたはPPS SCC拡張においてパレット予測初期化子をシグナリングする例を図示する。 エンコーダによって書き出され、またデコーダによってパースされた通りに、既存のSPSまたはPPS SCC拡張においてパレット予測初期化子をシグナリングする例を図示する。 エンコーダによって書き出され、またデコーダによってパースされた通りに、既存のSPSまたはPPS SCC拡張においてパレット予測初期化子をシグナリングする例を図示する。 エンコーダによって書き出され、またデコーダによってパースされた通りに、既存のSPSまたはPPS SCC拡張においてパレット予測初期化子をシグナリングする例を図示する。 エンコーダによって書き出され、またデコーダによってパースされた通りに、PPS SCC拡張において、JCTVC−T1005文書において提案されたように、パレット予測初期化子をシグナリングする例を図示する。 本発明のさらなる態様の実施形態を図示する。 本発明のさらなる態様の別の実施形態を図示する。 本発明の1つまたは複数の実施形態の実施用のコンピューティングデバイスの概略ブロック図である。
図1は、HEVCエンコーダアーキテクチャを図示する。映像エンコーダにおいて、元のシーケンス101が、画素ブロック102に分割される。その後、それぞれのブロックに符号化モードが割り当てられる。HEVCにおいて通常使用される2つの符号化モード群があり、空間的予測に基づくモードまたはイントラモード103と、時間的予測に基づくモード、または動き推定104および動き補償105に基づくインターモードである。HEVC SCCとして知られる、現在デザインされているHEVCの拡張は、追加の符号化モード、具体的にはイントラおよびインター符号化モードと競合するパレット符号化モードを、画素ブロックを符号化するために加える。このパレット符号化モードは、以下により詳細に、具体的には図5〜図9を参照して説明される。当業者は、本稿執筆の時点で最新の、JCTVC−S1005文書(HEVCスクリーンコンテンツ符号化草案2(HEVC Screen Content Coding Draft Text2))において、パレット符号化モードについての詳細を得ることも可能である。本発明は、HEVC SCC拡張において説明されるようなパレット符号化モードの実施態様に限定されず、いずれのパレット予測スキームにも適用し得ることに留意されるべきである。
イントラ符号化ユニットは、通常、イントラ予測と呼ばれるプロセスによって、その因果境界(causal border)にある符号化された画素から予測される。
インター符号化モードの時間的予測とは、第一に、動き推定ステップ104において、符号化ユニットに最も近いそれの基準領域を、基準フレーム116と呼ばれる前のまたはこれからのフレームにおいて見つけることにある。この基準領域は、予測ブロックを構成する。次に、動き補償ステップ105において残差を計算するために、この符号化ユニットが予測子ブロックを使用して予測される。
空間的予測、時間的予測のいずれの場合も、元の予測子ブロックから符号化ユニットを引き算することによって、残差が計算される。
イントラ予測では、予測方向が符号化される。時間的予測では、少なくとも1つの動きベクトルが符号化される。しかしながら、動きベクトル符号化に係るビットレート費用をさらに低減するために、動きベクトルは、直接には符号化されない。確かに、動きが均一であると仮定すると、この動きベクトルと、その周囲における動きベクトルとの間の差分として動きベクトルを符号化することは特に有利である。例えばH.264/AVC符号化標準では、動きベクトルは、現在のブロックの左上にある3つのブロック間で計算されたメジアンベクトルに関して符号化される。メジアンベクトルと現在のブロックの動きベクトルとの間で計算された、残差動きベクトルとも呼ばれる差分のみが、ビットストリームに符号化される。これは、モジュール「自己予測および符号化」117において処理される。それぞれの符号化されたベクトルの値は、動きベクトルフィールド118に格納される。予測に使用される近隣の動きベクトルは、動きベクトルフィールド118から抽出される。
次に、モジュール106において、レート歪みパフォーマンスを最適化するモードが選択される。冗長性をさらに低減するために、モジュール107において、変換、通常はDCTが、残差ブロックに適用され、モジュール108において、量子化が係数に適用される。その後、モジュール109において、量子化された係数ブロックがエントロピー符号化され、その結果がビットストリーム110内に挿入される。
その後、モジュール111〜116において、エンコーダがこれからの動き推定のための符号化されたフレームの復号を行う。これは、エンコーダにおける復号ループである。これらのステップは、エンコーダとデコーダが、同じ基準フレームを有することを可能にする。符号化されたフレームを再構成するために、残差が、モジュール111において逆量子化され、画素領域に「再構成された」残差を提供するために、モジュール112において逆変換される。符号化モード(インターまたはイントラ)に従って、この残差は、インター予測子114またはイントラ予測子113に加えられる。
次に、モジュール115において、1つまたはいくつかの種類のポストフィルタリングによって、この最初の再構成がフィルタ処理される。これらのポストフィルタは、復号ループに統合される。これは、エンコーダとデコーダにおいて同じ基準フレームを使用するために、これらのポストフィルタが、エンコーダとデコーダにおける再構成されたフレームに適用される必要があることを意味する。このポストフィルタリングの目的は、圧縮アーチファクトを取り除くことにある。
HEVCデコーダの原理が、図2に表されている。モジュール202において、映像ストリーム201が最初にエントロピー復号される。その後、残差データが、モジュール203において逆量子化され、モジュール204において逆変換され、画素値を得る。モードデータもエントロピー復号され、モードに応じて、イントラ型復号またはインター型復号が行われる。イントラモードの場合、イントラ予測方向がビットストリームから復号される。その後、基準領域を見つけるのに、この予測方向が使用される、205。モードがインターである場合、ビットストリームから動き情報が復号される、202。この情報は、基準フレームインデックスおよび動きベクトル残差から成る。動きベクトルを得るために、動きベクトル予測子が動きベクトル残差に加えられる、210。その後、基準フレーム内に基準範囲を見つけるのに動きベクトルが使用される、206。次の復号された動きベクトルの予測に使用されるように、動きベクトルフィールドデータ211が、復号された動きベクトルを用いて更新されることに留意する。その後、復号されたフレームのこの最初の再構成が、エンコーダ側で使用されたと全く同じポストフィルタを用いてポストフィルタリングされる、207。デコーダの出力は、解凍された映像である、209。
図3は、HEVCの場合のように、ブロックごとの符号化がもたらす因果律を図示する。
高レベルにおいて、画像は、ラスタ走査順に符号化される符号化ユニットに分割される。これにより、ブロック3.1を符号化するとき、領域3.3のブロックのすべては、すでに符号化されており、エンコーダに使用可能と考えられ得る。同様に、デコーダにおいてブロック3.1を復号するとき、範囲3.3のブロックすべては、すでに復号され、それにより再構成されており、デコーダにおいて使用可能と考えられ得る。領域3.3は、符号化ユニット3.1の因果領域(causal area)と呼ばれる。符号化ユニット3.1が符号化されると、それは、次の符号化ユニットに対する因果領域に属することになる。この次の符号化ユニットは、すべての後続の符号化ユニットと同様、点状領域で図示された領域3.4に属し、現在の符号化ユニット3.1を符号化するために使用され得ない。因果領域が、再構成されたブロックによって構成されることは注目に値する。所与の符号化ユニットを符号化するのに使用される情報は、この情報が復号時に使用できないことから、画像の元のブロックではない。復号時に使用可能な情報のみが因果領域内の画素ブロックの再構成バージョン、すなわち、これらのブロックの復号バージョンである。このため、符号化時に、これらのブロックのこの再構成バージョンを提供するために、因果領域の前に符号化されたブロックが復号される。
ブロック3.1を符号化するときに、因果領域内のブロック3.2からの情報を使用することが可能である。HEVC拡張仕様草案では、ビットストリームにおいて送信され得る変位ベクトル3.5が、このブロック3.2を示し得る。
図4は、符号化ツリーブロックの符号化ユニットへの分割と、これらの符号化ユニットを順次処理するための例示的な走査順を図示する。HEVC標準では、ブロック構造は、符号化ツリーブロック(CTB)によって編成される。フレームは、いくつかの非重複の正方形の符号化ツリーブロックを含む。符号化ツリーブロックのサイズは、64×64から16×16までのいろいろなサイズであり得る。このサイズは、シーケンスレベルにおいて決定される。符号化効率の面から最も効率的なサイズは、最大サイズの64×64である。符号化ツリーブロックはすべて、画像境界を除いて同じサイズを有し、それらが連続して配列されることを意味する。境界CTBのサイズは、残っている画素量に従って適合される。
それぞれの符号化ツリーブロックは、1つまたは複数の正方形の符号化ユニット(CU)を含む。符号化ツリーブロックは、四分木構造に基づき、いくつかの符号化ユニットに分割される。符号化ツリーブロック内のそれぞれの符号化ユニットの処理(符号化または復号)順は、ラスタ走査順に基づく四分木構造に従う。図5は、符号化ユニットの処理順の例を示す。この図では、それぞれの符号化ユニットにおける番号は、この符号化ツリーブロックのそれぞれの対応する符号化ユニットの処理順を示す。
HEVCでは、種々のシンタックス要素、例えばブロック残差、予測子ブロックに関する情報(動きベクトル、イントラ予測方向など)を符号化するのに、いくつかの方法が使用される。HEVCは、コンテキスト適応型二値算術符号化方式(CABAC:Context based Adaptive Binary Arithmetic Coding)、ゴロム・ライス符号、または固定長符号化と呼ばれる単純な二値表現などのいくつかのタイプのエントロピー符号化を使用する。大抵の場合、種々のシンタックス要素を表すのに二値符号化プロセスが行われる。この二値符号化プロセスはまた、非常に特殊であり、種々のシンタックス要素によって決まる。
一般にHEVC SCCとも呼ばれるHEVCスクリーンコンテンツ符号化拡張は、新しい映像符号化標準HEVCに対して現在立案されている拡張である。これは、一般にHEVC RExtとも呼ばれる、HEVCレンジ拡張から引き出される。
この拡張の目的は、グラフィカルユーザインターフェースキャプチャ、コンピュータグラフィック生成コンテンツ(スクリーンコンテンツとして知られる)などのコンテンツを含む、具体的には8ビットのビット深度の4:4:4カラーフォーマットに対して、また場合によってはロスレスで、映像シーケンスを符号化するための追加のツールを提供することにある。
カラー画像は、通常、3つの色成分R、G、およびBから成る。これらの成分は、通常、相互に関連付けられ、画像および映像圧縮では、画像を処理する前にこれらの色成分を非相関にすることがよく見られる。色成分を非相関にする最もありふれたフォーマットは、YUVカラーフォーマットである。YUV信号は、通常、3つの入力R、G、およびBの入力フレームに、線形変換を適用することによって、画像のRGB表現から作成される。Yは、普通は輝度成分と呼ばれ、UおよびVは、一般に、クロマ成分と呼ばれる。「YUV」の用語の代わりに、「YCbCr」の用語もよく使用される。
さらにいくつかのSCCのツールが、その他のカラーフォーマットと適合可能であり得る。具体的には、パレットモードは、3つの成分の代わりに1つの成分に作用することにより単色データを取り扱うように設定されている4:4:4ケースを調整することによって、4:2:0と適合可能にされている。種々のビット深度も取り扱われ得る。
HEVC SCCは、ロッシー圧縮に加えて、入力シーケンスのロスレス符号化も提供することが可能であり、これは、入力101と厳密に同一の復号された出力209を有するためである。これを実現するために、従来のHEVC RExtロッシーコーデックに比べ、多くのツールが修正されるかまたは加えられている。
HEVC SCC用の追加のツールが、自然なシーケンスに加えて、「スクリーンコンテンツ」映像シーケンスを効率的に符号化するように、現在デザインされている。上に手短に紹介されたように、「スクリーンコンテンツ」映像シーケンスは、例えばテキスト、パワーポイントプレゼンテーション、グラフィカルユーザインターフェース、テーブル(例えば、スクリーンショット)を含む、任意のその他のデバイスのパーソナルコンピュータからキャプチャされたそれらに対応する非常に特殊なコンテンツを有する特定の映像シーケンスに当てはまる。これらの特定の映像シーケンスは、自然な映像シーケンスに比べ、極めて異なる統計値を有する。映像符号化では、HEVCを含む従来の映像符号化ツールのパフォーマンスは、このような「スクリーンコンテンツ」を処理するときに、がっかりさせるものであると分かることがよくある。
HEVC SCCの場合について現在述べられている、「スクリーンコンテンツ」映像シーケンスを処理するためのツールは、適応型色変換、イントラブロックコピーモードおよびパレットモードを含む。これらのモードに対するプロトタイプは、自然な映像シーケンスを目標とする従来の方法に比べ、優れた符号化効率を示している。本出願は、パレット符号化モードに焦点を合わせる。
HEVC SCCのパレット符号化モードは、情報が画素データを直接に符号化することを意味する、符号化モードである。現在立案されているように、パレット符号化モードは、残差データを使用しないが、画素が現在使用されているパレットのいずれのエントリとも一致しない場合、「エスケープ符号化」を使用する。具体的には、ロスレス符号化の場合、これは、パレットエントリがエンコーダによって、画素と等しいとして選択される必要があるか、またはエスケープ符号化された画素が量子化されず、量子化器の値がCUレベルにおいて送信されることを意味する。
パレットは、通常、それぞれの色が所与の色空間(例えば、YUV色空間に基づく図6における例603を参照)内のその成分によって定義される、N個組の色の有限集合を含むテーブルによって表される。例えば、通常のRGBフォーマットでは、パレットは、N個組(RGBの場合はN=3)のP要素リストから成る。より正確には、それぞれの要素は、RGBフォーマットにおける固定された三つ組の色成分に対応する。もちろんこれは、RGBまたはYUVカラーフォーマットに限定されない。任意のその他のカラーフォーマットが、パレットによって表されることが可能で、より少ないまたはより多い個数の色成分を使用することができ、Nが3とは異なってもよいことを意味する。
エンコーダ側では、HEVC SCCにおいて検討中のパレットモードは、所与の入力符号化ユニットの画素値をレベルと呼ばれるインデックスに変換することにある。レベルは、それの画素値が入力符号化ユニットの画素値に一致する、関連パレット内のエントリを特定する。しかしながら、入力符号化ユニットの画素値が、例えば歪みがあまりにも大きい可能性があるために(ロスレス符号化の場合の0より大きい)、レベルによって表され得ない場合(すなわち、一致しない)、前記画素は、「エスケープ符号化」を示す、特定のレベルで表される。この特定の「エスケープ符号化」レベルで表されるそれぞれの画素に対して、量子化された画素値がさらに送信される。
変換後、結果として生じた符号化ユニットは、レベルブロックおよび量子化された値ブロック(エスケープ符号化された画素に対する)から成る。その後、符号化ユニットは、通常、テーブルが符号化ユニットを表すのに使用される有限数の三つ組の色を有する、関連パレットと共にデコーダに送信される。パレットが有限数の色を定義することから、インデックスブロックへの変換は、普通、ロッシー符号化における元の入力符号化ユニットとほぼ同じであるが、ロスレス符号化における元の入力符号化ユニットに厳密に対応する。
エンコーダ側においてパレットモードを適用するために、画素符号化ユニットを変換するための例示的な方法が以下のように行われ、
−画素符号化ユニットを最もよく説明しているP三つ組を見つけ、例えば全体的な歪みを最小にすることによって符号化し、
−その後、符号化ユニットのそれぞれの画素に、P三つ組の中の一致する色を関連付け、符号化する値(またはレベル)(これによりインデックスブロックの一部を形成する)は、関連の一致する色のエントリに対応するインデックスである。これにより、それぞれの画素に対して、一致する色を定義するエントリを特定するために、パレットのエントリを符号化ユニットのそれぞれの画素と比較することによって、インデックスブロックがパレットから得られる。一致するエントリがない場合、エスケープ符号化を示すレベルは、量子化された画素値と同様、画素に関連付けられる(量子化された値ブロックにおいて)。
それぞれの符号化ユニットに対して、パレット(すなわち、見つけられたP三つ組)、インデックスブロックまたはレベルブロック、および量子化された画素値ブロックが、ビットストリーム110に符号化され、デコーダに送られる。
さらに、パレット符号化モードが有効であるか否かを明示するために(例えばシーケンスパラメータセット、すなわち「SPS」において)、特定のフラグが、ビットストリームにおいていくつかのパラメータセットで提供され得る。それらのパラメータセットは、シンタックス構造とも呼ばれる。
また、符号化ユニットレベルにおいて、パレットに上述の特定の「エスケープ符号化」レベルを含ませるために、フラグは、符号化ユニットがエスケープ符号化された値を有するか否かを明示し得る。
デコーダにおいて、パレット符号化モードとは、逆方向に変換を行うことにある。これは、符号化ユニットのそれぞれの画素に対して、対応する色を再構成するために、符号化ユニットのそれぞれの画素に関連付けられた復号されたそれぞれのインデックスが、ビットストリームから復号されたパレット内の対応する色に置き換えられることを意味する。画素が「エスケープ符号化」レベルに関連付けられる場合、対応する量子化された画素値が復号され、量子化された画素値の(すなわち、エスケープ符号化された画素の)ブロックから逆量子化されることに留意する。これは、色空間におけるインデックスブロックの(すなわち、符号化ユニット予測子の)再構成である。
図5は、デコーダにおけるパレット符号化モードの原理をさらに図示する。スライス、フレームまたはタイルを復号する場合、復号プロセスは、最初の符号化ユニットから始まり、ビットストリームからのCUにわたってループする。その後、ステップ502において、現在の符号化ユニットに対する予測モードがビットストリーム501から抽出される。現在、パレットモードは、ビットストリーム内のスキップフラグおよびイントラブロックコピーフラグの後にあるフラグによって特定される(その他の符号化モードは、図1および図2を参照して上に説明されている)。このフラグは、1つのコンテキストを使用して、CABAC符号化される。このモードがパレットモードではない場合、503、従来の復号は、ステップ520において起こる。このモードがパレットモードである場合、パレットモードの関係シンタックス505、すなわち、パレット、レベルブロック、およびエスケープ符号化された画素ブロックに関する情報がビットストリーム501から抽出され、復号される、504。
次に、ステップ506の間に、パレット509、エスケープ符号化された画素ブロック507、およびレベルブロック508が、復号されたデータからビルドされる。具体的には、HEVC SCCが、パレットがパレット予測子510から予測されることをもたらす。レベルブロック、関連パレットおよびエスケープ符号化された画素ブロックから、画素領域内の再構成された符号化ユニット514がビルドされる。これは、レベルブロックのそれぞれのレベルに対して、色(RGBまたはYUV)がそれぞれの画素に関連付けられることを意味する。
その後、その他のパレット符号化されたCUを復号する際に使用するためのパレット予測子510を更新するのに、パレット509が使用される。
パレット予測子510を使用したパレット509の予測が、パレット予測子510のエントリのすべてを使用しない場合があることに留意すべきである。パレット予測子510の使用されたエントリまたは未使用のエントリに関する情報は、最後に使用されたパレットのサイズに関する情報と同様、格納され得る。このような情報は、以下に説明されるように、再利用される。
図6は、エンコーダにおけるパレット符号化モードの原理を図示する。現在の符号化ユニット601は、3つの色値(Y、U、V)または(R、G、B)の代わりに、それぞれの画素に対するレベルを含む、同じサイズのブロック602に変換される。説明用に、601の画素611が、実際にエスケープ符号化され、したがって、その関連レベル612は、パレットのエスケープ符号化レベル613(値「3」)を示す。結果として、エスケープ符号化された画素ブロック604は、1つの画素620の量子化された画素値を含む。レベルブロック602に関連付けられたパレット603が、符号化ユニットの全体的な歪み最小化に基づいてビルドされ、それぞれのエントリにおいて、エントリインデックスまたはレベルを対応する画素色値に関連付ける。単色用途では、画素値は、たった1つの成分しか含み得ないことに留意する。
図5に関して上に述べられたように、パレット(エスケープ符号化された画素ブロックと同様に)は、それぞれの符号化ユニットに対して符号化され、ビットストリームに挿入される。同様に、レベルブロック(符号化ユニットに対応する)が符号化され、ビットストリームに挿入され、符号化の例が、図7を参照して以下に与えられる。この例では、レベルブロックは、水平方向順に走査される。
レベルブロック71は、参照中の図6において図示されたもの602と全く同じである。テーブル72および73は、レベルブロック71を符号化するのに使用される連続するシンタックス要素を記述する。テーブル73は、テーブル72の続きとして読まれる必要がある。テーブル内のシンタックス要素は、ブロック71における太線で囲まれたレベル群の符号化に対応する。
レベルブロックは、連続する画素群によって、走査順に符号化される。各群は、予測方向を与える第1のシンタックス要素、反復を与える第2の要素、および画素値、すなわちレベルを与える任意選択の第3の要素を使用して符号化される。反復は、群内の画素数に対応する。
これらの2つのテーブルは、パレット符号化モードに関連付けられた現在のシンタックスを表す。これらのシンタックス要素は、レベルブロック71に対して、ビットストリームに挿入された符号化された情報に対応する。これらのテーブルでは、3つの主要なシンタックス要素が、パレット符号化モードの動作を完全に表すのに使用され、また引き続きレベルブロック71のレベルを考える際に以下のように使用される。
「Pred mode」と呼ばれる第1のシンタックス要素は、2つの符号化モードを区別することを可能にする。「0」に等しい「Pred mode」フラグに対応する第1のモードでは、現在の画素に対して新しいレベルが使用される。レベルは、ビットストリームにおいてこのフラグの直後にシグナリングされる。「1」に等しい「Pred mode」フラグに対応する第2のモードでは、「コピーアップ」モードが使用される。より詳細には、これは、現在の画素レベルが、ラスタ走査順に関して同じ位置で始まる、真上のラインにある画素レベルに対応することを意味する。その「1」に等しい「Pred mode」フラグの場合、レベル値が、レベルブロック71において直上の画素のレベルの値を参照することによって分かることから、フラグの直後にレベルをシグナリングする必要はない。
「Level」と呼ばれる第2のシンタックス要素は、「Pred mode」の第1のモードにおける現在の画素のみに対するパレットのレベル値、または画素のエスケープ符号化に対するレベル値を示す。
「Run」と呼ばれる第3のシンタックス要素は、「Pred mode」の両方のモードにおいて反復値を符号化するのに使用される。レベルブロック71が左上角から右下角に、左から右の行ごとに、上から下に走査されることを考慮して、Runシンタックス要素は、同じ符号化を有するブロック71内の連続した画素の数を与える。
この「Run」シンタックス要素は、「pred mode」フラグによって決まる異なる意味を有する。Pred modeが0の場合、「Run」要素は、同じレベル値を有するインデックスブロックの連続する画素の数である。例えば、Run=8の場合、これは、現在の「Level」が、ラスタ走査順における9つの同一の連続する標本に対応する現在の画素と、続く8個の画素とに適用されることを意味する。
Pred modeモードが1である場合、「Run」要素は、ブロック71内のそれらの上の画素のレベル値に対応するレベル値を有するインデックスブロックの連続した画素の数であり、すなわち、「コピーアップ」モードが適用される場合である。例えば、Run=26の場合、これは、現在の画素のレベルが、合計で27個の画素に対応する、上の行の画素および続く26個の画素からコピーされることを意味する。
テーブル72および73は、パレット符号化モードを使用することによってブロック71を表す、9つのステップを表す。それぞれのステップは、「Pred mode」フラグが「0」に等しい場合は「Level」シンタックス要素が、または「Pred mode」フラグが「1」に等しい場合は「Run」シンタックス要素が続く、「Pred mode」フラグの符号化で始まる。「Level」シンタックス要素の後に、常に「Run」シンタックス要素が続く。
現在のブロックに対して復号された予測モードがパレットモードである場合、デコーダは、最初に、このブロックに関係するシンタックスを復号し、その後、符号化ユニットに再構成プロセスを適用する。
図8は、パレット符号化モードに関係するシンタックス要素の復号プロセスを図示する。最初に、パレットのサイズがビットストリーム801から抽出され、復号される、802。ステップ802において復号されたこのサイズ値に1を加えることによって、パレットの正確なサイズ(Palette_size)が得られる。確かに、それに対する値0が最小のビット数(1ビット)を有する単項コードを使用することによって、サイズが符号化され、パレットのサイズが0と等しくなることはなく、そうでなければ、ブロック予測子をビルドするのに使用され得る画素値がなくなる。
次に、パレット値の復号に対応するプロセスが始まる。パレットのインデックスに対応する変数iは、ステップ804において0に等しく設定され、次に、ステップ805において、iがパレットサイズ(Palette_size)に等しいか否かをチェックするテストが行われる。ステップ805においてiがパレットサイズとは異なる場合、1つのパレット要素が、ビットストリーム801から抽出され(パレットがビットストリームに直接符号化されている場合)、ステップ806において復号され、その後、関連のレベル/インデックスがiに等しいパレットに加えられる。その後、変数iが、ステップ807を通してインクリメントされる。ステップ805においてiがパレットサイズに等しい場合、パレットは、完全に復号されている。
次に、レベルブロック71の復号に対応するプロセスが行われる。最初に、画素カウンタに対応する変数jが、変数syntax_iと同様に、0に設定される、808。その後、画素カウンタがブロックに含まれている画素数に対応するか否かを知るためにチェックが行われる。ステップ809において回答がはいの場合、プロセスは、ステップ817において終了し、そうではない場合、1つの予測モードに対応するフラグ「Pred mode」の値がビットストリーム801から抽出され、復号される、810。
「Pred mode」の値は、復号された「Pred mode」値のすべてを含むインデックスsyntax_iにおいてテーブルに加えられる。ステップ811において、この「Pred mode」の値が0に等しい場合、「Level」に対応するシンタックス要素がビットストリーム801から抽出され、復号される、812。この変数「Level」は、復号されたLevelのすべてを含むインデックスsyntax_iにおいてテーブルに加えられる。画素カウンタに対応する変数jは、1だけインクリメントされる、813。
次に、ステップ814において、「Run」シンタックス要素が復号される。ステップ811においてシンタックス要素「Pred mode」が1に等しい場合、「Run」値もステップ814において復号される。このシンタックス要素「Run」は、復号されたRunのすべてを含むインデックスsyntax_iにおいてテーブルに加えられる。
次に、ステップ818において、そのレベル(すなわち、抽出されたLevelが「エスケープ符号化」レベル、例えば図6および図7の例における「3」に等しい場合)によって示されるようにエスケープ符号化されたそれぞれの画素に対して、関連の量子化された画素値が、エスケープ符号化された画素ブロックからパースされて逆量子化される。逆量子化された画素値は、例えば、インデックスsyntax_iにおいて対応するテーブルに格納される。
ステップ818が、ステップ812の直後に行われ得ることに留意する。変形形態(variant)では、エスケープ符号化された画素ブロック全体が、ステップ809からステップ817のうちの1つのステップにおいて、ビットストリームから抽出されて逆量子化され得る。
次に、ステップ815では、値jが、ステップ814において復号されたRunの値だけインクリメントされる。変数syntax_iは、次のシンタックス要素組を考慮して、1だけインクリメントされる。カウンタjがブロック内の画素数に等しい場合、レベルブロック71をビルドするためのシンタックスが、完了する、817。このプロセスの終了時に、デコーダは、パレット、ならびにこの符号化ユニットのパレット符号化モードに関連付けられたすべての「Pred mode」、「Level」および「Run」のシンタックス要素のリストを含むテーブルを知り、また、エスケープ符号化された画素に対する逆量子化された画素値のテーブルも知る。その後、デコーダは、図5を通して説明されたように、符号化ユニットの再構成プロセスを進めることができる。
図8のこの実施形態のわずかに変形した形態では、レベルブロック71の上部にある最初の画素行には、「Pred mode」要素が提供されない。これは、これらの画素が上の行におけるレベルが与えられないことから、「コピーアップ」モードが実行され得ないためである。したがって、jが、ステップ809においてブロック幅より小さい限り、提供される「Pred mode」要素はなく、ステップ810〜811がショートカットされ、それによりステップ812が直接行われる。このわずかに変形した形態が、符号化されたレベルブロックのサイズを縮小することに留意する。
上記の図8の実施形態またはそのわずかに変形した実施形態のいずれか一方と組み合わせられ得る実施形態では、ただ1つではなくいくつかのレベルブロックが生成され得る。これは、いくつかのレベルが、画素のすべてまたは一部に対して使用されることを意味する。例えば、第1のレベルブロックが第1の色成分(例えばY)に対してビルドされ得る一方、別のレベルブロックは、少なくとも1つの残っている成分(例えばUおよびV)に対してビルドされ得る。もちろん、3つの色成分に対する3つのレベルブロックが考えられ得る。いくつかのレベルブロックを有するという選択と、色成分とのそれらの一致は、特定のフラグを使用してビットストリームにおいてシグナリングされ得る。変形形態では、これは、画像のカラーフォーマットによって暗示され得る。
戻ってパレットを参照すると、上の例では3つの値によって構成されるそれぞれのパレット要素が、通常、3つのバイナリコードを使用して符号化される。バイナリコードの長さは、それぞれの色要素のビット深度に対応する。「Pred mode」要素は、1ビットを使用して符号化される。「Level」要素は、バイナリコード長がbに等しいバイナリコードを使用して符号化され、この場合、2は、パレットサイズ以上の最も小さな整数である。
図9は、レベルブロック91をビルドするための再構成プロセスを図示する。このプロセスの入力データは、上記の図8のプロセスを使用して得られた、また「Pred mode」、「Level」、および「Run」のリストを含む、テーブルである。
「Pred mode」、「Level」、および「Run」に追加する入力データ項目は、ビットストリームにおいてシグナリングされた四分木(図4)から分かる符号化ユニットのサイズである、801(レベルブロック602/71のサイズと同じである)。
第1のステップ901では、画素カウンタを表す変数iが0に等しく設定され、引き続きそれぞれのシンタックス要素組を考慮して、変数jも0に等しく設定される。ステップ904において、インデックスjにある「Pred mode」のテーブルから抽出された要素Pred_mode[j]が、0に対してチェックされる。
要素Pred_mode[j]が0に等しい場合、現在の画素iに対して、新しいレベルが符号化される。結果として、位置iにある画素の値は、レベルテーブルからのインデックスjにあるレベルに等しく設定され、Block[i]=Level[j]となる。これはステップ905である。ステップ906において、変数iが、次の画素を考慮して1だけインクリメントされ、現在のRunにおいてすでに処理されている画素をカウントするのに専用の変数kが、ステップ907において0に等しく設定される。
ステップ908において、kが、インデックスjにあるランのテーブルの「Run」要素に等しいか否か、k=Run[j]?を決定するためのチェックが行われる。等しくない場合、位置iにある画素のレベルは、位置i−1にある画素のレベル値に等しく設定され、Block[i]=Block[i−1]となる。これはステップ909である。その後、変数iおよび変数kが、それぞれステップ910、ステップ911において、1だけインクリメントされる。ステップ908においてk=Run[j]の場合、残りのレベル値の伝播が完了し、ステップ920が行われる(以下に説明される)。
ステップ904においてPred_mode[j]が0と異なる場合、「コピーアップ」モードが、ステップ912において変数kが0に等しく設定されることで始まる。次に、ステップ913が、(k−1)がインデックスjにあるランのテーブルの「Run」要素に等しいか否か、k=Run[j]+1?をチェックする。等しくない場合、位置iにある画素のレベル値は、上の行の位置iにある画素のレベル値に等しく設定され、Block[i]=Block[i−width]となり、この場合、「width」は、符号化ユニットの入力サイズから導出されるようなブロックレベル(符号化ユニットと同じ)の幅である。これはステップ914である。次に、変数iおよび変数kが、それぞれステップ915、ステップ916において、1だけインクリメントされる。ステップ913においてRun[j]+1の場合、予測モード「コピーアップ」が完了し、プロセスは、ステップ920において継続する。
ステップ920において、変数iがブロック71/CU601内の画素量に等しいか否かを決定するためのチェックが行われる。等しくない場合、ステップ921において、変数jが、次のシンタックス要素組を考慮して1だけインクリメントされ、プロセスは、上に説明されたステップ904にループバックする。
ステップ920においてすべての画素が処理されると、ステップ922において最後のレベルブロック71が得られ、これは、テーブルBlock[]に対応する。
次に、最終ステップ923では、図8のプロセスを使用して復号されたパレット603を使用し、またエスケープ符号化された画素に対する逆量子化された画素値ブロック604を使用して、それぞれのレベルを色値に変換する。この最終ステップは、ブロック内のこの位置のレベルと、もしあればパレット603内の対応するエントリまたはブロック604における対応する逆量子化された画素値のいずれか一方とに従った、それぞれのブロック位置における画素値(Y、U、V)または(R、G、B)に影響を及ぼす。
上に説明されたように、HEVC SCCにおいて現在デザインされているようなパレット符号化モードは、それぞれの符号化ユニットに対して送信されるパレットを必要とする。これは、ビットストリーム内の大量のデータ、またこれによる符号化費用に相当する。この費用を減らすために、いくつかの提案された機構が、パレット予測子を使用して予測される現在の符号化ユニットに、現在のパレットを提供する。
出願人の寄書JCTVC−Q0063において提案されたように、基準パレット予測子が、例えばスライスのそれぞれの符号化ユニットによって使用されるようにビットストリームにおいて送信されることが可能であり、またはパレット予測子が、処理された符号化ユニットに近接する画素を使用してビルドされることが可能であり、または予測子がすでにある2つ以上のパレットからビルドされることが可能である。
これにより、予測プロセスは、ビットストリームからパレットを形成するステップ806を修正する。
図10は、パレット予測子の例示的な反復ビルドを含む、予測スキームを図示する。このスキームでは、構成中のパレット予測子は、そのそれぞれのフラグが、第2のパレット内の対応するエントリが第1のパレット内のエントリを予測するためのエントリとして選択されるか否かを定義する、フラグビットマップを使用し、第2のパレットに基づいて予測された第1のパレットからのエントリを含む。フラグビットマップは、ビットストリームにおいて送信され得る。
この実施形態に対しては特に、パレット予測子は、第1のパレットを予測するためのエントリの選択がないことを定義するビットマップのフラグに対応する第2のパレットのエントリも含めることによってビルドされる。
図10を参照すると、現在の画像において処理される連続した符号化ユニットであり得る、3つの符号化ユニット、CU1〜CU3が示される。
参照番号1000は、CU1を処理するのに(符号化するまたは復号するのに)使用されるパレットを表す。このパレットは、ビットストリームに符号化されていてもよく(またそれによりデコーダによって取り出されている)、または本出願において説明されている任意の機構を使用して予測されていてもよい。
パレット1000は、CU2を処理するためのパレット1001をビルドするためのパレット予測子として選択される。パレット1001の予測は、フラグのビットマップ1006に基づく。フラグが、次のCUのパレットを予測するための対応する要素の、それぞれ使用または不使用に応じて、1または0の値をとることが想起されるはずである。変形形態では、フラグ=1が、対応する要素を選択しないことを意味してもよく、一方flag=0が、次のCUのパレットを予測するための要素を選択することを意味してもよい。
結果として、この例では、パレット予測子1000の第1、第3、第4、および第5の要素が、ビットマップ1006に定義されたようにパレット1001にコピーされる。第2の要素1002は、再利用されない(ビットマップ1006において、フラグ=0)。追加のパレット要素1003が、上に説明された機構に基づき、ビルドされるパレット1001の端に加えられていてもよい(例えば、ビットストリームにおいて明示的に送信されている)。
また、パレット予測子1005が、パレット1000およびパレット1001からビルドされる。パレット1001の要素のすべてが、CU3に対するパレット予測子1005にコピーされる(ステップ1004)。この例では、パレット1001を予測するためのエントリの選択がないことを定義するビットマップのフラグに対応するパレット予測子1000のエントリ(すなわち、普通はフラグ=0、例えば要素1002)が、パレット予測子1005に加えられる(ステップ1008)。これは、パレット予測子1000のその他のエントリが、コピーステップ1004により、すでにパレット予測子1005にあるからである。要素1002のこの選択は、ビットマップ1006におけるフラグにより、非常に素早く行われ得る。
この手法は、次の画素ブロックに対する次のパレット予測子が、現在の画素ブロックを符号化するのに使用された現在のパレット、および現在のパレットを予測するのに使用された現在のパレット予測子のみからビルドされるようにする。
パレット予測子1005に基づき、CU3を処理するためのパレットを予測するのに、ビットマップが提供され得る。
もちろん、パレット予測子1005も、CU3を処理するための正にパレットであり得る。しかしながら、パレット予測子1005は、パレットの最大サイズを定義する制限値まで、前のパレットにおいて定義された要素のすべてを含むにつれて絶えず大きくなる。
要素1002の追加は、パレット予測子1005の端において行われることが好ましい。結果として生じたパレット予測子が、上に説明された状態に比べ向上していることを直に見てとることができる。
未使用の要素をパレット予測子の端に加えることの1つの特別な利点は、要素が、それらの年齢およびそれらの使用レベルによってほぼ順序付けられることである。この結果、最も役に立たない要素であり、また最も取り除かれる可能性の高い最後の要素をパレット予測子に有することになる。これにより、この要素を含むそれぞれのパレットを使用して、最後のM個の画素ブロック(Mは定義される整数)に対して処理を行う場合、例えばこの要素の使用回数に基づいて、構成中のパレット予測子からいくつかの要素を取り除く決定がなされ得る。
もちろん、このプロセスは、未使用の要素を、最初にパレット予測子に入れるように、またはパレット1001からの要素のいくつかと交互配置させるようにも、適合され得る。
前のパレットからの未使用の要素の選択は、要素が一意であり、したがってビットマップにおけるフラグが重複しないことを約束するものであることに留意する。これにより、パレット予測子の効率が最大化される。
しかしながら、目下、現在のパレット予測スキームを崩壊させる状況がある。
それらの状況のいくつかは、誤り耐性および/または並列処理が図られたHEVC符号化ツール/構造の使用に関係している。これらのツール/構造は、普通は、画像内部の符号化構造間の依存関係を何ら許さない。
ここで、画像が、普通、階層符号化構造、例えば、そのそれぞれが図4に示されるようなCUに分割される、CTBから成るスライスの場合のスライスから成るタイルに再帰的に分割されるということが想起される。階層符号化構造を定義するパラメータは、通常、シーケンスパラメータセット(すなわち、シーケンスに対して有効である)および/またはピクチャパラメータセット(すなわち、更新され得る)に含まれる。これにより、符号化構造は、可変長スキームを使用して符号化された整数である、前記SPS/PPSのIDを示すことによって、これらのSPSおよびPPSに格納された情報に関係する必要がある。
いくつかの符号化構造間に依存関係がないということは、例えば、符号化構造の境界において行われ得るイントラ予測がなく、また、符号化構造間で共有され得る、エントロピー符号化状態、パレット予測子、またはIBC予測用の領域もない、ことを意味する。
上に手短に述べられたように、このような符号化構造の1つは、画像を完全なCTBを含む種々の長方形に分割するタイル構造である。シーケンスが、タイル、およびタイルの形状を使用するか否かは、普通はSPSに含まれる。
タイルの行または列は、均一に配分されなくてもよい。これは、4つのタイル1102、1103、1104および1105に分割される、図11の画像1100の場合である。
別のすでに述べられた符号化構造は、スライス構造である。スライスは、CTBより上のベース符号化構造で、スライスが1つまたは複数のCTBから成り、タイルが1つまたは複数のスライスから成り、また画像が、1つまたは複数のタイル(またそれによりスライス)から成ることを意味する。
例として、図11の画像1110は、スライス1111、1113、1114などを含む。特に、スライス1114は、ただ1つしかCTBを含まないことが分かる。
それぞれのスライスは、CTBサイズおよびタイル構成によって決まる、開始CTBアドレス(ラスタ走査における)に関する情報、それによってスライスが決まるSPSおよびPPSのIDを含む(順不同で)スライスヘッダを含む。
HEVCは、タイルおよびスライスが「自己完結型」であること、すなわち、それらが、それぞれ、互いのタイル、互いのスライスから独立して、符号化/復号されることをもたらす。本発明は、このような自己完結型符号化構造に焦点を合わせる。
いくつかの特定の場合では、一群のスライスが実際に完全に依存しているとしてマークされ得、いくつかの符号化情報が1つのスライスから次のスライスに受け継がれることを意味することが留意されるべきである。これらの場合、本発明は、1組の依存スライスのうちの第1のスライスのみに焦点を合わせる。
スライス構造の「自己完結型」特徴のさらなる図示として、それぞれのタイルが、バラツキのあるCTBカウントを有するスライス(種々の充填パターンを有する)を含む、4つの均一なタイル(太線で範囲が定められた)を含む、画像1120を参照することができる。
非依存の現在のスライスまたはタイルが、それぞれ、別のスライスまたは別のタイルに関係することができないので、その他のスライスまたはタイルにおける誤差は、現在のスライスまたはタイルの復号に影響を与えない。さらに、現在のスライスまたはタイルに対する符号化結果は、これらのその他のスライスまたはタイルに左右されない。そのため、それらは、並行して符号化または復号され得る。
「自己完結型」特性の1つの欠点は、予測に有用なデータが、新しいスライスまたはタイルに切り替わると、もう使用できず、したがって符号化効率を下げるということである。これは、1つの画像内に高レベルの情報冗長性がある、SCCによりいっそう当てはまる。したがって、それらの場合では、その符号化効率損失をある程度軽減することが望ましい。
これに関連して、本発明は、
ビットストリームから、復号される2つの自己完結型符号化構造よりも階層的に上の符号化構造に関連付けられたパレット予測子初期化子を得るステップと、
同じ得られたパレット予測子初期化子を使用して、2つの自己完結型符号化構造のそれぞれに対するパレット予測子を初期化するステップと、を提供する。
エンコーダの末端部において対称的に、本発明は、
1つのパレット予測子初期化子を決定して、2つの自己完結型符号化構造用のパレット予測子を初期化するステップと、
ビットストリームにおいて、パレット予測子から、処理されたそれぞれの画素ブロックに関連付けられたパレットを予測するための予測情報を含む符号化されたデータを提供し、かつパレット予測子初期化子を提供するステップであって、パレット予測子初期化子が、ビットストリームにおいて、2つの自己完結型符号化構造よりも階層的に上の符号化構造に関連付けられている、ステップと、を提供する。
本発明によって提案されたように、パレット予測子を初期化するだけにパレット予測子初期化子が使用され、符号化の効率と複雑性の両方の面でよい結果を大いにもたらす。パレット予測子初期化子が、パレット符号化モードを行う際に、パレットそれ自体としては決して使用されないことに留意する。
また、本発明は、パレット予測子初期化子が、それがビットストリームにおいて1回シグナリングされる一方、いくつかの独立した符号化構造、タイルまたはスライスによって使用されることを意味して、「グローバル」であることをもたらす。これは、「自己完結型」特性のために、それらのパレット予測子の初期化を必要とする符号化構造よりも階層的に上の符号化構造に関連付けて、パレット予測子初期化子をシグナリングすることによって実現される。
スライスレベルにおいて、すなわち、パレット予測子初期化子を必要とする符号化構造(スライス)と同じレベルにおいてパレット予測子初期化子を格納することは、発明者には非効率的であるように見える。これは、画像のスライスへの分割が、符号化効率の損失の正にその理由であるからである。
以下の説明は、前記初期化子用の効率的な記憶および送信機構を提案することを目的とする。
1つの実施形態において、パレット予測子初期化子は、ピクチャパラメータセットPPS内の画像レベルで定義され(またそれにより、ビットストリームの対応する部分において送信される)、その場合、2つの自己完結型符号化構造は、ピクチャパラメータセットに当てはまる。例えば、2つの自己完結型スライスは、それらのそれぞれのヘッダ内にPPS IDを含む。
変形形態では、パレット予測子初期化子は、シーケンスパラメータセットSPS内のシーケンスレベルで定義され、その場合、2つの自己完結型符号化構造は、シーケンスパラメータセットに当てはまる。
PPSにおけるその定義に優先権が与えられる。これは、SPSレベルにおいてパレット予測子初期化子を格納することが、一定のフレームまたは時間の経過後に初期化子を更新すること、および/または画像の領域(例えば、タイルまたは自由裁量の領域)ごとに初期化子を使用すること、などのいくつかのエンコーダ最適化を許さないためである。
しかしながら、上述のように、スライスは、そのPPS IDを通してPPSに関係する。PPSが多く送られるほど、IDは大きくなり、またそれにより、それらを符号化するのにより多くのビットが必要とされる。同じIDを共有するいくつかのPPSを備えないことは、標準化機構によって禁止されるどころか強く提唱され、確かに、間違った順序でそれらを復号し、不正確な情報をスライスに関連付ける可能性があり得る。この問題に対して考えられるソリューションは、最大値に達したときにPPS IDを0にリセットする、ラップアラウンド機構である。これは、不正確な復号を完全に防ぐことはないが、同じIDを有するPPSが、自由裁量の期間だけ隔たることができるようになるので、その危険性を大幅に縮小する。
ここで、本発明の実施形態を図示する図12〜図14を参照する。
図12は、デコーダの末端部における例示的な処理を図示し、シーケンスのビットストリーム1200からのパレット予測子初期化子の取り出しを図示する図12aを含む。
ステップ1201において、上位階層レベルの符号化構造に関連付けられたシンタックス構造が、ビットストリームから抽出されて復号される。このシンタックス構造は、シーケンスに関連付けられたSPSか、または画像に関連付けられたPPSであり得る。
次に、ステップ1202において、そのシンタックス構造用のID、PPS用のPPS IDおよびSPS用のSPS IDが導出される。
次に、ステップ1203において、パレット予測子内のエントリ数が、抽出されたシンタックス構造から読み取られる。パレット符号化モードによって使用されるパレット予測子の最大サイズが、SPSに明示され、またそれにより、抽出されたシンタックス構造によって示されたサイズがその制限を受け、そのサイズがこの最大サイズ以下であることを意味することが留意されるべきである。
抽出されたシンタックス構造がSPSである場合、パレット予測子初期化子が、パレット符号化モードがシーケンスに対して有効であるか否かを定義する情報の後、およびパレット予測子の最大サイズの後にもあることが好ましい。この特定の位置は、パレットモードが無効である場合(例えば、抽出されたシンタックス構造が、自然なコンテンツの符号化用に仕立てられ、スクリーンコンテンツ用には仕立てられていない場合)、パレット予測子初期化子データ(初期化子のエントリ数)をパースし、読み取るのを避けることを可能にする。
ステップ1204において、プロセスは、ステップ1203において読み取られたエントリ数に基づき、パレット予測子初期化子がエントリを有するか否かを決定する。
パレット予測子初期化子が少なくとも1つのエントリを含む場合、ステップ1205において、1つまたは複数のエントリがビットストリームから得られる。ビットストリーム(抽出されたシンタックス構造)からパレット予測子初期化子を読み取るための機構は、ビットストリームにおいて送信されたあらゆるパレットを読み取るためのHEVC SCCにおいて定義される機構と同様であり得る。
パレット予測子初期化子が完全に決定されると、それは、ステップ1206において、メモリに格納され、抽出されたシンタックス構造のID(すなわち、ステップ1202において得られたID)に関連付けられる。この格納は、IDが後で再度使用されるとき、パレット予測子初期化子を容易に取り出せるようにする。
図12bは、図5と同じ復号プロセスをより簡単に、しかし本発明に適合させて示す。
ステップ1211〜ステップ1217は、デコーダの従来のステップと同様である。ステップ1220およびステップ1221は、本発明の実施形態に特有のものである。
この復号プロセスでは、ステップ1211において、現在の符号化構造に関する情報を得るために、ビットストリーム1200がパースされる。この情報は、例えば、現在の符号化構造の性質、例えばフレームであるか、スライスであるか、タイルであるか、などを定義することが可能で、情報は、画素ブロック(CUまたはCTB)が現在の符号化構造の最初のブロックであることも明示し得る。これは、本発明が初期化に専用、すなわち、考えられた符号化構造の全く最初の部分に対して普通は行われるプロセスに専用であるためである。
HEVC関係の実施形態では、考えられた画素ブロックはCTBである。これは、ステップ1212において、最初のCUを選択することによって、現在の符号化構造に対して復号ループを初期化することを可能にする。次に、CUがパレット符号化モードを使用して符号化される場合、ステップ1213において、現在のCUが、おそらくパレット予測子1215を使用して復号される(現在のパレットを得るために)。
パレット共有に頼る(すなわち、最後に使用されたパレットを、次のパレット符号化された画素ブロックのために使用されるパレットとして使用する)特定の実施形態では、最後に使用されたパレットは、次の画素ブロック(パレット予測子がその他のエントリも受信していてもよい)に対するパレット予測子の開始部分にコピーされている。次のパレットを形成するためにコピーし、それによって予測子からのそれらの取り出しを容易にするためのパレット予測子の最初のエントリの数(すなわち、最後に使用されたパレットから来る)をシグナリングするために、パレット予測子1215は、Nで表示された、最後に使用されたパレットサイズの情報も保持する。確かに、パレット予測子のN個の最初のエントリを次のパレットにコピーするだけで、パレット共有モードにおける次のパレットが完全にビルドされる。
ステップ1214において、適切な場合、例えば、図10を参照して上に説明されたように、またはパレット共有の場合に現在のパレットのそれぞれのエントリをコピーすることによって、パレット予測子が更新される。すべてのCUにわたる復号ループが、ステップ1216およびステップ1217を通して得られる。
本発明によれば、新たな自己完結型符号化構造の符号化または復号を開始するとき、パレット予測子1215が、パレット予測子初期化子を使用して初期化される。これを実現するために、ビットストリーム1200をパースするとき(または符号化の場合に書き込むとき)、上位階層レベルの符号化構造に関連付けられたシンタックス構造の識別子IDがステップ1220において得られる。これは、情報1211がパースされる前またはパースされた後、しかし最初のCU1212が復号される前に、ビットストリームから情報を抽出すること、1220によって起こり得る。
ステップ1221において、この識別子IDは、図12aのステップ1206において識別子を使用して予め格納されたパレット予測子初期化子を取り出すことを可能にする。この識別子は、新たなシンタックス要素であり得る。パースされた符号化構造がスライスであり、パレット予測子初期化子がPPSに格納される1つの実施形態では、前記スライスに対するPPSを特定する、すでにあるシンタックス要素が、この役割を果たす。
ステップ1221がスライスごとの開始時に起こり、パレット予測子初期化子がタイルに関連付けられる(すなわち、タイルレベルで定義される)別の実施形態では、それぞれのスライスは、そこにそれが属するタイルを特定し得る(IDを使用して)。この実施形態では、これにより、ステップ1220は、そこに現在のスライスが属するタイルを特定し、その後、関連タイルのIDに対するパレット予測子初期化子を取り出す。
ステップ1221の終了時には、パレット予測子初期化子が取り出されている。このパレット予測子初期化子は、現在の符号化構造(例えば、スライス)の最初のCUが復号される直前にパレット予測子1215を初期化するのに1度使用され得る。これは、初期化子のエントリ数から、予測子内のエントリ数を設定することによって、行われ得る。これらの2つのサイズは、最大サイズが課され得るので(SPS最大予測子サイズまたは自由裁量のサイズのいずれか一方から)、同じではない可能性がある。その後、エントリが、ちょうど設定された予測子内のエントリ数に従って、パレット予測子初期化子からパレット予測子にコピーされる。
さらなる実施形態では、復号されたCUがないので、前のパレットのサイズは、0である。しかしながら、パレット予測子初期化子がパレットを提供するので、前のパレットの前記サイズが、パレット予測子初期化子のサイズ、例えば、最大パレットサイズ(図14aにおけるpalette_max_sizeを参照)とパレット初期化子サイズのうちの最小サイズから引き出され得る。例えばパレット共有が実施される場合、すなわち、符号化構造の処理を通して、次の画素ブロックまたはCUを符号化するのに使用される次のパレットが、最後のパレット符号化された画素ブロックまたはCUのために使用された最後のパレットのエントリのすべてを再利用する場合、このさらなる実施形態が動作する。
上の説明は、パレット予測子初期化子が、スライスのレベルよりも厳密に高い階層レベルを有する符号化構造のレベルで定義され(例えば、SPS、PPS、タイルなど)、その後、スライスのレベルに関連付けられることを示す。
ここで、このようなパレット予測子初期化子を決定するための、エンコーダの末端部にあるアルゴリズムを見てみると、図13は、アルゴリムが、符号化効率、計算負荷制御、および低遅延の特性の利益を有する(すなわち、データの出力時のエンコーダ遅延にそれほど大きく影響を与えることなく、現在のフレームに対して結果が得られる)、初期化子決定のための例示的なアルゴリズムを図示する。
このアルゴリムは、考えられた自己完結型符号化構造(例えば、スライス)に対応する、画像領域にわたって広がるのが好ましい、CTBのサブセットの多かれ少なかれ高速の符号化を行うことによって働く。その高速符号化を実現するために、種々のショートカット、例えば、早期終了(例えば、インターにおいて、またはパレットモードをテストするときにエスケープ符号化された画素が多すぎる可能性がある場合)またはさらなる分析(例えば、IBCのさらなる区分化を調査するための分析)をもたらす閾値を修正する、が可能にされ得る。CTBのサブセットにおける高速符号化の終了時に得られたパレット予測子のうちの1つは、ビットストリームにおいて送信されるパレット予測子初期化子として使用され得る。
図13aは、初期化子決定のためのこのような画素ブロックサブセットの例を表示する。
CTBは、可能な限り領域(例えばスライス)を代表するように、規則的に離間されるのが理想的である。サブセット用に考えられるCTBは、それらのコンテンツが、パレット符号化モード以外の符号化モードを使って、より簡単に符号化される可能性があるので(例えば、ユーザインターフェースのハードエッジは、イントラ角度予測を用いてよりよく符号化される)、領域または画像の端(左端/上端/下端/右端)にはないのが好ましい。
また、サブセット用に考えられるCTBは、水平方向にも上下方向にも並んでいないことが好ましい。そうでなければ、CTBは、同じフレーム幅構造に属する可能性がある。
図の左部分に示される第1の実施形態1301では、サブセットの画素ブロックは、領域のスロープまたは対角線に沿って分散される。この例では、サブセットは、暗色のCTBから成る。この例は、上述の特性のすべてに従う。
この第1の例示的なサブセット1301は、1つより多いスライスに対してただ1つのパレット予測子初期化子が決定される必要のある領域により適していると考えられる。
図の右部分に示される第1の実施形態1302では、サブセットの画素ブロックは、画像領域の上部、好ましくは画像の上部に水平方向に並んでいる。この実施形態は、より高いレベルの構造(画像またはタイル)が1つの自己完結型符号化構造、例えば1つのスライスを含む場合用によりよく仕立てられており、これにより得られたパレット予測子初期化子は、より高いレベルの前記構造の開始部を符号化するのにより適している。
具体的には、パレット予測子初期化子を画像の別の部分用に仕立てることは、スライス符号化中にパレット予測子を強制的にリセットする可能性を示すことになるであろう。これにより、パレット予測子初期化子の利益は、それがいくつかのフレーム(またそれによりいくつかのスライス)のために使用されることになるという事実に根差している。
したがって、サブセット1302を形成するCTBは、パレット予測子が普通は空である、画像の開始部にむしろ集められる。
その場合、画像開始部から離れたCTBを分析することは、図12bの更新機構1214によってフラッシュされることになるパレット予測子要素をもたらし得る。
さらに、互いに近すぎるCTBを選択することは、ほんのわずかだけ異なる色やめったに起こらない色のピックアップを引き起こすことがある。これにより、例えば、1302に示されるように、考えられたCTB間に1つ以上の段を定義することによって、隣り合わない画素ブロックを選択することに、優先権が与えられる。
CTBサブセットに基づき、図13bは、エンコーダの末端部においてパレット予測子初期化子を決定するための一般的なステップを、フローチャートにおいて図示する。
プロセスは、ステップ1311において、それにプロセスが適用されるタイル、スライス、および領域の使用などを考慮して、ブロックサブセットを決定することによって始まる。
具体的には、図11を参照して説明されたように、画像は、領域に人為的に分割され得るか、または従来のタイルもしくはスライスに分割され得る。その場合、それぞれの領域にアルゴリズムが適用され得、その後、符号化構造、例えばスライスを符号化するときに、どのより高いレベルの領域に符号化構造が属するかが決定される(符号化構造が、前記領域に完全に属さない可能性がある)。
この手法は、それに基づいて例1301や例1302などのサブセットブロックが定義される領域の開始点および終了点を得ることを可能にする。
サブセットを決定するときに考慮され得る別のパラメータは、ブロックまたはCTBの許容数である。例えば、サブセットにおけるブロック数は、所定の数(例えば10)または考えられた領域の割合(例えば、10%)よりも多くなってはいけない。
ステップ1311の次に、ステップ1312では、エンコーダパラメータが初期化される。これは、正統的な決定(量子化行列、量子化器ステップ、許容の符号化モードなど)のすべてに関わり得る。具体的には、これは、高速分析パラメータの設定、例えばイントラブロックコピーについての縮小された検索、いくつかの符号化モード(パレット符号化モードを含む)の除去またはスピードアップなどにも関わり得る。
次に、ステップ1313において、サブセットの最初のブロックが選択される。
ステップ1314において、現在のブロックが符号化される。上述のように、符号化プロセスは、ステップ1312によって、作業負荷の縮小をもたらすようにわずかに修正され得る。これは、例えば、ブロックの境界に符号化された画素がなく、またイントラ予測方法が、このような境界画素に対して動作することができず、それにより、それらの画素についての分析中は無効である、といったこのブロックに対して特定の符号化パラメータを設定することにも関わり得る。
さらに、CTBサブセットを使用することは、イントラブロックコピー分析における問題を引き起こす場合がある。これらのすべては、ステップ1314の間に対処され得る。
ステップ1315において、現在のブロック用に生成されたパレット予測子が取り出され、後の参照用に保存される。
次に、ステップ1316において、分析が完了したか否かを決定するためのテストが行われる。
この決定は、タイムバジェットに基づくものであり得る。タイムバジェットが完全に使用されると、分析は停止する。
また、図12bのステップ1214におけるパレット予測子からの要素の可能なフラッシュに関して、分析を停止するときを決定するようなフラッシュを、分析中に検出することには関心が引かれるだろう。
例えば、例示的なサブセット1302を考えてみると、新しいエントリが実際にはめったに使用され得ないほど、素早く分析を停止することは、非常に関心が引かれる。例えば、前記分析が、フラッシュが検出されるとすぐに停止されてもよく、または、フラッシュカウンタが、カウンタが0に達して、分析の終了を示すようになるまで、新しい要素がフラッシュされるたびにデクリメントされてもよい。
例示的なサブセット1301の場合、パレット予測子初期化子内の色が、可能な限り多くのCTBに対して定義される必要があることから、この手法は、あまり関心が引かれない。したがって、最も頻繁に使用され続けるようにすることに関心が引かれる(それらがいくつかのスライスにとって有用になると考えられることから)。
いずれの場合でも、ステップ1316が、分析が停止される必要があること決定すると、アルゴリズムは、後に説明されることになるステップ1319において終了する。そうではない場合、ステップ1317が、サブセットの最後のブロックが処理されたか否かをテストする。最後のブロックが処理されている場合、ステップ1319において、アルゴリズムが終了する。最後のブロックが処理されていない場合、サブセットにおける次のブロックがステップ1318において選択され、分析プロセスは、ステップ1314にループバックする。
特定の実施形態において、サブセットのこの符号化は、ブロックに対してその都度よりよいパレット予測子を得るために、またこれによりパレット符号化モードをより頻繁に使用するために、数回繰り返されて得、この繰り返しは、同じ画素ブロックサブセットを再帰的に符号化することを含み、この場合、次の再帰的符号化ループに使用される第1のパレット予測子は、前の再帰的符号化ループの終了時に得られたパレット予測子である。
分析の終了時1319に、いくつかの動作が行われる。
主動作は、パレット予測子初期化子を設定し、それを符号化し、そしてそれをビットストリームにおいて送信することにある。
この動作は、パレット予測子初期化子としての使用に、パレット予測子のうちの1つを選択することを必要とする。例えば、それは、分析の最後のパレット予測子であり得る。
次に、選択されたパレット予測子初期化子が、それが符号化に実際に適しているか否かを決定するために、操作され得る。
例えば、選択されたパレット予測子初期化子に2つのいくつかのエントリ(例えば、4つより少ない)がある場合、これは、分析される領域内に最も自然なコンテンツがあることを示す可能性があり、その場合、パレット符号化モードを使用するほどのことはない。したがって、この情報は、別の分析がよりよい結果を得るまで、通常の符号化時にパレット符号化モードを無効にする働きをし得る。
別の場合では、選択されたパレット予測子は、領域に対して現在使用されている、パレット予測子初期化子とそれほど異なっておらず、その場合、現在使用されているパレット予測子初期化子が、新たに決定されたパレット予測子初期化子に代わって保持される。
別の動作は、例えば頻度基準(例えば、ただ1つのブロックに対してもたらされたいくつかの色)または類似性基準(色が、パレット予測子初期化子内の別の色とよく似ている)に基づき、それらが役に立たない場合に選択されたパレット予測子のエントリをフィルタ処理で取り除くことにある。
別の実施形態は、できる限り分析されたCTBを代表するように、選択されたパレット予測子初期化子のエントリを再度引き出すことにある。例えば、より正統的な分類アルゴリズムが、開始点として見つけられたパレットエントリを取り、例えばK平均アルゴリズムを使用して、前記エントリに関連付けられたクラスのそれぞれに対して実際の重心を決定し得る。
図14は、具体的には図14aにおけるSPS内、また図14bにおけるPPS内で、パレット予測子初期化子を明らかにする、または定義するための2つの実施形態を図示する。これら2つの実施形態は、極めて似ており、それにより一つにまとめた説明が以下に示される。
両方の実施形態とも、HEVC標準およびそのSCC拡張におけるPPSおよびSPSシンタックス構造の既存の拡張セクションに頼る(JCTVC−S1005文書を参照)。対応する拡張セクション(すなわち、「sps_scc_extensions」および「pps_scc_extensions」)の存在は、それぞれ、フラグsps_scc_extensions_flag、pps_scc_extensions_flagによって、SPS内、PPS内に示される。
これら2つの実施形態では、関連するパレット予測子初期化子情報が、それぞれ、SPS SCC拡張、PPS SCC拡張に加えられる。
既存の拡張セクションに加えられたシンタックス要素は、図14aおよび図14bに太字で示される。これらの追加のシンタックス要素の情報の名前、位置またはタイプは、説明のためのものである。もちろん、その他の名前も使用され得る。
ステップ1204に関連して上に述べられたように、パレット符号化モードは、無効化され得る。結果として、本発明は、palette_mode_enabled_flagが正しい場合か、または、SPSもしくはPPSレベルにおける同等の情報が、パレット符号化モードが有効であることを示す場合のみ、パレットモードに関係する情報をパースする。
図の例に基づき、第1のフラグpalette_predictor_initializer_present_flagが使用され得る。このフラグは、パレット予測子初期化子があるか(すなわち、SPSまたはPPS SCC拡張において実際に定義されているか)否かを示す。
パレット予測子初期化子がある場合、そのサイズが分かり、少なくとも1である。その最大サイズは可変であるが、SPSまたはPPS SCC拡張において示された最大サイズより下であるように制限され得る(palette_max_predictor_sizeを参照)。
VLCサイズ−1(例えば、標準仕様のExp−Golombコードを使用した、可変長符号化の場合はVLC)が対応するフィールド、size_palette_predictor_initializer_minus1を使用して明示される。これは、パレット予測子初期化子のサイズである。
次に、パレット予測子初期化子のエントリの値が定義される。ここでは描写されていないが、これらの値を符号化するのに、1バイト単位で揃えた符号化を使用することに優先権が与えられ、これは、行われるSCC拡張のより簡単なパーシングを可能にする。実施形態において、パレット予測子初期化は、固定長の要素として、それぞれのエントリの成分compに対してN[comp](以下を参照)で符号化される。
エントリの成分数num_compが分かり、SPSに含まれるchroma_format_idcまたはseparate_colour_plane_flagなどの情報が、成分数を決定することを可能にすることに留意されるべきである。また、それぞれの成分に対するビット数N[comp]も、それらがSPSに含まれているシンタックス要素bit_depth_luma_minus8およびbit_depth_chroma_minus8から引き出され得るので、分かる。
最後に、図14cは、成分が別々に符号化される場合に使用するための、またはタイルが使用される、パレット予測子初期化子リストを提供するための方法を図示する。成分が、いっしょに符号化されない場合は、4:2:0カラーフォーマットであり、この場合、パレットが、輝度に対して(1つの成分)、またその上に彩度に対して(2つの成分)定義され得る。
このようなリストが必要とされる別の場合では、N個のタイルがあり、スライスとパレット予測子初期化子との間の関係付け1221が、それにスライスが属するタイルを通して行われる。
それぞれの場合で、リストは、SPSまたはPPSのいずれか一方に属する情報によって決定され得る。そのように、シンタックス構造は、サイズnum_setsの、初期化子リストのそれぞれの組にわたってループする。それぞれの組に対して、palette_predictor_initializer_present_flag[set]、およびsize_palette_predictor_initializer_minus1[set]などのすでに提示されている種々の情報が送られる。
その後、前記初期化子に対する成分数num_comps[set]および成分のリストcomp_list[set]が、使用する成分と、それぞれの組に対してパレット予測子初期化子の値をどのように読み取るかを決定することを可能にする。
タイルの場合、このリストは、正に普通の成分リストである。特定のカラーフォーマットの場合、このリストは、独立した成分の組ごとにパレット予測子初期化子を明示することを可能にする。
別の実施形態では、本発明によって使用されるシンタックスは、例えばSPSから来るその他の情報から有利に分離される。これは、例えば映像ストリーミングシナリオにおける、デコーダによる別々の取り扱い、およびより簡単なセットアップスキームを可能にする。このような場合、複製された情報を提供することが重要であり得、例えば、図示されたように、パレット予測子初期化子がPPSにおいて送信される場合、このPPSがSPSから情報を複製し得るが、前記情報が同じ意味を有することを必要とする。この実施形態は、図14dに図示される。図14dのいくつかの部分は、図14cのいくつかの部分に共通している。補足情報は、第1のフラグmonochrome_entries_flagまたは同等のパラメータを含み、成分数を導出することを可能にする。別の実施形態は、chroma_format_idcおよび/またはseparate_colour_plane_flag、あるいはそれから引き出された情報を繰り返すことにある。この情報は、SPSなどの任意のその他のレベルにおいて送信されるものに一致するものであり、この情報から推測される成分数が、pps_scc_extensionsおよびそのPPSに当てはまる画像の成分数に対応するようにする。本発明の実施形態を使用し、そのビットストリームにおける要件とそれの適合性を、標準の仕様にさらに加えることができる。
成分数が分かる場合、さらなる情報が得られ得る。具体的には、成分のビット深度が送信され得る。輝度ビット深度と彩度ビット深度を別々に送信することは通常であり、luma_bit_depth_entries_minus8とchroma_bit_depth_entries_minus8に当てはまる。確かに、信号は、8以上のビット深度を有するので、8を超える追加のビット数の送信のみが、通常シグナリングされるものである。1つの重要な考慮すべきことは、それらの値が、HEVC仕様書に見られるように、PPS、例えばBitDepthやBitDepthに当てはまる、画像の実際のビット深度に一致するのが理想的であるということであり、またビットストリームの適合性におけるさらなる要件が考慮され得る。成分数を導出することを可能にする情報を送信したので、chroma_bit_depth_entries_minus8のパーシングが条件付きで行われ得る。
パレット予測子初期化子を読み取るために必要とされるすべての情報が分かる場合、エントリの読み取りが、前の図14a〜図14cにおいてすでに説明されたように起こり得る。これは、monochrome_entries_flagまたは同等のシンタックス情報によって条件付けられる。通常の実施形態は、図14dにおいて描写されたように、パレット予測子初期化子エントリごとに、1つまたは3つのいずれか一方の成分を読み取ることにある。
逆に、ステップ1221における取り出されたパレット予測子初期化子は、成分数、およびエントリごとに必要とされる記憶域も含み、したがって、前記初期化子をステップ1215における実際のパレット予測子にどのようにコピーするかを明確に決定する。
SPSまたはPPS SCC拡張から初期化子のエントリを抽出するための従来の機構が使用され得る。
デコーダ側においてパレット予測子を初期化するためのいくつかの方法(図12)が、エンコーダ側においてパレット予測子初期化子を見つける方法(図13)およびビットストリームにそれを埋め込む方法(図14)と同様に、説明された。好適な実施形態では、パレット予測子初期化子は、PPSに格納され、ブロック構造は、スライスである。
本発明者による本発明の最初の実験は、符号化において1.8%の利得を示した。しかしながら、符号化パラメータと符号化する画像コンテンツとに応じて、よりよい利得が得られ得る。
図15は、JCTVC−T1005において説明されているような標準仕様の範囲でパレット予測子初期化子を明らかにする、または定義するための既存のプロセスを図示する。この実施形態は、HEVC標準およびそのSCC拡張におけるPPSシンタックス構造の既存の拡張セクションに頼る(JCTVC−T1005文書を参照)。対応する拡張セクション(すなわち、「pps_scc_extensions」)の存在は、フラグpps_scc_extensions_flagによって、PPS内に示される。
拡張セクションは、第一に、元に戻せる所定の色変換を、復号された出力ブロックに適用する、「残差適応型色変換」ツール(これ以降「ACT」と呼ばれる)に関係する情報を含む。このツールは、フラグresidual_adaptive_colour_transform_enabled_flagを0に設定することによって、PPSレベルにおいて無効にされ得る。
ツールが無効ではない場合、追加情報が続く。フラグpps_slice_act_qp_offsets_present_flagは、(現在のPPSを使用するスライスについて設定されたものと比較した)量子化器ステップオフセットがあるか否かを示し、この場合、これらのオフセット、pps_act_y_qp_offset_plus5、pps_act_cb_qp_offset_plus5、およびpps_act_cr_qp_offset_plus3が、可変長要素として送信される。
その後、パレットモードに関係付けられた第1のフラグpalette_predictor_initializer_present_flagが使用される。このフラグは、パレット予測子初期化子があるか(すなわち、上述のようにPPS SCC拡張において実際に定義されている)否かを示す。
パレット予測子初期化子がある場合、この初期化子のエントリに関する情報が送信される。第一に、カラーフォーマット情報である。この情報は、普通、3つの成分または単色フォーマットである。フラグmonochrome_palette_flagは、フォーマットが、所定の値、例えば1に設定されている場合に、ただ1つしか色成分を含まないかどうかを示す。この値に設定されていない場合、フィーマットは単色ではない。
その後、第1の(また、それのみの可能性がある)成分のビット深度が、シンタックス要素luma_bit_depth_entry_minus8によって、可変ビット数において送信される。いずれの成分のビット深度も8よりも低いことはあり得ないので、前記ビット深度の8との差分のみが送信される必要がある(それにより少ビットを保存する)。その後、エントリが単色ではない場合、彩度に対するビット深度が、シンタックス要素chroma_bit_depth_entry_minus8を通して送信される。
その後、知られているように、パレットエントリが送信され、それらの数が分かり、少なくとも1つである。その値は、可変長シンタックス要素、num_palette_predictor_initializer_minus1を通して送信される。値は、パレット予測子初期化子のサイズである。
次に、パレット予測子初期化子のエントリの値が定義される。monochrome_palette_flagが1の場合、エントリの成分数numCompsが分かり、1つであり、そうでない場合は3つであることに留意されるべきである。また、それぞれの成分に対するビット数も、それらが、SPSに含まれているシンタックス要素luma_bit_depth_entry_minus8およびchroma_bit_depth_entry_minus8から引き出され得るので、分かる。
提案されたシンタックスは、冗長であり、誤りの元でさえあり得る。相反する構成を認可するまで、現在のシンタックスは、十分には効率的ではない。
以下に提案されるように、PPS拡張における情報は、パレットモードの使用に関して改善され得る。図16は、このような改善の例を図示する。
実施形態によれば、ここでは「monochrome_flag」と呼ばれるフラグのようなパラメータが、パレットまたはACTツール情報のいずれか一方が送信される前に送られる。言い換えれば、提案された「monochrome_flag」がPPSレベルで定義される。変形形態として、monochrome flagはシーケンスレベルで定義され得る。monochrome_flagが、所定の値、例えば「1」に設定される場合、パレット予測子初期化子を考慮して、パレットエントリは、単色フォーマット用に直接、調整される(言い換えれば、パレット予測子初期化子がエントリごとにただ1つしか要素を含まないことを考慮し、パレット予測子初期化子を定義するためのステップが改められる)。エントリ数を適合させるためにカラーフォーマットをシグナリングする際、パレット予測子初期化子に特有のパラメータの必要がなくなる。その態様の1つによる本発明は、より高いレベルのピクチャ(または画像)レベルで定義されたパラメータを使用することを提案する。
好適な実施形態において、「monochrome_flag」が1に設定される場合、ACTツールが役に立たなくなることを考慮して、このACTツールが無効にされる(言い換えれば、「residual_adaptive_coulour_transform_enabled_flag」の値を読み取るステップが飛ばされ、ACTツールを無効にする)。その場合、フラグresidual_adaptive_colour_transform_enabled_flagは、0であると推測される。反対に、monochrome_flagの値が0である場合、ACTツールは有効にされてもされなくてもよく、したがって、その対応するフラグが送信される。同様に、パレットエントリの成分数numCompsは、3である。
別の実施形態によれば、monochrome_flagが、1回に1つのモードのみ、好ましくはパレットモードのみに影響を与えるように、より単純なシンタックスが提案される。このような例は、パレットモードが、別の手段によって無効にされているのが分かる場合であるだろう。
このような実施形態の例が図17に図示される。その場合、図10に提示されたフラグmonochrome_palette_flagを読み取る前に、条件(例えば1つの条件)が導入される。ACTツールが有効である場合(その対応するフラグresidual_adaptive_colour_transform_enabled_flagの値によって示されるように)、画素のカラーフォーマットが、単色ではなく、3つの色成分があるとして導出される。フラグmonochrome_palette_flagの値は、「0」であると直接に推測され得る。逆に、ACTツールが無効である場合、フォーマットは単色であることも、またはそうでないこともある。
別の実施形態では、デコーダロジックを修正しないために、デコーダ専用の制約が提案される。以下の2つの条件が満たされる必要がある。residual_adaptive_colour_transform_enabled_flagが1の場合、monochrome_palette_flagは、0である必要がある。また、monochrome_palette_flagが1である場合、residual_adaptive_colour_transform_enabled_flagは0である必要がある。
別の実施形態において、エントリの成分数から実際の画素フォーマットの相関を失わせることが提案される。前の実施形態では、パレット予測子初期化子は、画素フォーマットに従って、異なる成分数を有するエントリを有するように設定される。この実施形態では、同じパレット予測子初期化子が、単色データおよびRGBまたはYUVデータといっしょに使用されることが可能であり得る。結果として、パレット予測子もパレット予測子初期化子も、カラーフォーマットに応じて、1〜3つの要素を有するエントリを有し得る。エントリごとの要素数は、パレット予測子およびパレット予測子初期化子により異なる可能性がある。このような場合、パレット予測子をパレット予測子初期化子を用いて初期化する際、様々なルールが適用され得る。例えば、1つの成分から3つの成分に移る際、パレット予測子エントリpredictor[i]が、初期設定のグレースケール値または既存のパレット予測子初期化子エントリを用いて初期化される。例えば、
−RGBでは、predictor[i][2]、predictor[i][1]、およびpredictor[i][0]が、palette_predictor_initializers[i][0]に等しく設定され、
−YUVでは、predictor[i][0]が、palette_predictor_initializers[i][0]に等しく設定され、predictor[i][2]、およびpredictor[i][1]が、成分の特定値に等しく設定される(すなわち、その値が0〜255である成分に対して0、128または255)。
可能性としてのその他の変形形態、すなわち、3つから1つの成分に移る場合、インデックスcompの成分に対する所与の色平面を符号化する場合(例えば、YUVフォーマットが考えられる場合はU)、predictor[i]が、palette_predictor_initializers[i][comp]に設定される。PPS SCC拡張から初期化子のエントリを抽出するための従来の機構が使用され得る。パレットモードと、デコーダ側におけるその他の既存のツールとの間の冗長性を取り除く単純化シンタックスを定義するためのいくつかの方法が説明された。
図18は、本発明の1つまたは複数の実施形態の実施用のコンピューティングデバイス1800の概略ブロック図である。コンピューティングデバイス1800は、マイクロコンピュータ、ワークステーションまたは軽量ポータブルデバイスなどのデバイスであり得る。コンピューティングデバイス1800は、以下に接続された通信バスを備える:
−マイクロプロセッサなどの、CPUと表示された中央処理装置1801、
−本発明の実施形態による、画像を符号化または復号するための方法を実施するのに必要な変数およびパラメータを記録するように適合されたレジスタだけではなく、本発明の実施形態の方法の実行可能コードも格納するための、RAMと表示されたランダムアクセスメモリ1802であって、それのメモリ容量が、例えば拡張ポートに接続された任意選択のRAMによって拡張され得る、ランダムアクセスメモリ1802、
−本発明の実施形態を実施するためのコンピュータプログラムを格納するための、ROMと表示された、読み取り専用メモリ1803、
−ネットワークインターフェース1804は、通常、それを介して処理されるデジタルデータが送信または受信される、通信ネットワークに接続される。ネットワークインターフェース1804は、1つのネットワークインターフェースであり得るか、または1組の異なるネットワークインターフェース(例えば、有線および無線インターフェース、またはいろいろな種類の有線もしくは無線インターフェース)から成り得る。データパケットは、CPU1801において実行されるソフトウェアアプリケーションの制御下で、送信の際にネットワークインターフェースに書き込まれるか、または受信の際にネットワークインターフェースから読み取られる。
−ユーザインターフェース1805は、ユーザからの入力を受信するために、またはユーザに情報を表示するために使用され得る。
−HDと表示されたハードディスク1806は、大容量記憶デバイスとして提供され得る。
−I/Oモジュール1807は、映像ソースまたは表示装置などの外部デバイスから/へデータを受信/送信するために使用され得る。
実行可能コードは、ハードディクス1806上の読み取り専用メモリ1803または例えばディスクなどの取り外し可能なデジタル媒体のいずれか一方に格納され得る。変形形態によれば、プログラムの実行可能コードは、実行される前にハードディスク1806などの通信デバイス1800の記憶手段のうちの1つに格納されるように、ネットワークインターフェース1804を介して、通信ネットワークを用いて受信され得る。
中央処理装置1801は、命令が前述の記憶手段のうちの1つに格納される、本発明の実施形態による、1つまたは複数のプログラムのソフトウェアコードの命令または部分の実行を制御し、指示するように適合される。電源投入後、CPU1801は、それらの命令が、例えばプログラムROM1803またはハードディスク(HD:Hard−Disk)1806から読み込まれた後、ソフトウェアアプリケーションに関係するメインRAMメモリ1802からの命令を実行することができる。このようなソフトウェアアプリケーションは、CPU1801によって実行されると、図13、図14、図16および図17に示されたフローチャートのステップを行わせる。
図13、図14、図16および図17に示されたアルゴリズムのいずれのステップも、PC(「Personal Computer(パーソナルコンピュータ)」)、DSP(「Digital Signal Processor(デジタルシグナルプロセッサ)」)またはマイクロコントローラなどの、プログラマブル計算機によって1組の命令またはプログラムの実行によって、ソフトウェアにおいて実施され得るか、あるいは、FPGA(「Field−Programmable Gate Array(フィールドプログラマブルゲートアレイ)」)またはASIC(「Application−Specific Integrated Circuit(特定用途向け集積回路)」)などの機械または専用構成要素によって、ハードウェアにおいて実施され得る。
本発明は、特定の実施形態に関連して本明細書の上記に説明されたが、本発明は、特定の実施形態に限定されず、本発明の範囲内にある修正形態が、当業者には明らかになるであろう。
あくまでも例として与えられ、また添付の特許請求の範囲のみによって決定される本発明の範囲を限定するものではない、上記の説明的な実施形態を参照した時点で、さらに多くの修正形態や変形形態が、当業者には想起されるであろう。具体的には、種々の実施形態からの種々の特徴は、適切な場合、交換可能であり得る。
特許請求の範囲において、「comprising(含む)」の語は、その他の要素またはステップを除外するものではなく、不定冠詞「a」または「an」は、複数を除外するものではない。種々の特徴が、相互に異なる従属項に列挙されているというだけで、これらの特徴の組合せが有利に使用され得ないことを示すことにはならない。
図5は、デコーダにおけるパレット符号化モードの原理をさらに図示する。スライス、フレームまたはタイルを復号する場合、復号プロセスは、最初の符号化ユニットから始まり、ビットストリームからのCUにわたってループする。その後、ステップ502において、現在の符号化ユニットに対する予測モードがビットストリーム50から抽出される。現在、パレットモードは、ビットストリーム内のスキップフラグおよびイントラブロックコピーフラグの後にあるフラグによって特定される(その他の符号化モードは、図1および図2を参照して上に説明されている)。このフラグは、1つのコンテキストを使用して、CABAC符号化される。このモードがパレットモードではない場合、503、従来の復号は、ステップ520において起こる。このモードがパレットモードである場合、パレットモードの関係シンタックス505、すなわち、パレット、レベルブロック、およびエスケープ符号化された画素ブロックに関する情報がビットストリーム50から抽出され、復号される、504。
図6は、エンコーダにおけるパレット符号化モードの原理を図示する。現在の符号化ユニット601は、3つの色値(Y、U、V)または(R、G、B)の代わりに、それぞれの画素に対するレベルを含む、同じサイズのブロック602に変換される。説明用に、601の画素611が、実際にエスケープ符号化され、したがって、その関連レベル612は、パレットのエスケープ符号化レベル613(値「3」)を示す。結果として、エスケープ符号化された画素ブロックは、1つの画素の量子化された画素値を含む。レベルブロック602に関連付けられたパレット603が、符号化ユニットの全体的な歪み最小化に基づいてビルドされ、それぞれのエントリにおいて、エントリインデックスまたはレベルを対応する画素色値に関連付ける。単色用途では、画素値は、たった1つの成分しか含み得ないことに留意する。
「Pred mode」、「Level」、および「Run」に追加する入力データ項目は、ビットストリームにおいてシグナリングされた四分木(図4)から分かる符号化ユニットのサイズであるレベルブロック602/71のサイズと同じである)。
次に、最終ステップ923では、図8のプロセスを使用して復号されたパレット603を使用し、またエスケープ符号化された画素に対する逆量子化された画素値ブロックを使用して、それぞれのレベルを色値に変換する。この最終ステップは、ブロック内のこの位置のレベルと、もしあればパレット603内の対応するエントリまたはブロックにおける対応する逆量子化された画素値のいずれか一方とに従った、それぞれのブロック位置における画素値(Y、U、V)または(R、G、B)に影響を及ぼす。
図の右部分に示される第の実施形態1302では、サブセットの画素ブロックは、画像領域の上部、好ましくは画像の上部に水平方向に並んでいる。この実施形態は、より高いレベルの構造(画像またはタイル)が1つの自己完結型符号化構造、例えば1つのスライスを含む場合用によりよく仕立てられており、これにより得られたパレット予測子初期化子は、より高いレベルの前記構造の開始部を符号化するのにより適している。
実施形態によれば、ここでは「monochrome_flag」と呼ばれるフラグのようなパラメータが、パレットまたはACTツール情報のいずれか一方が送信される前に送られる。言い換えれば、提案された「monochrome_flag」がPPSレベルで定義される。変形形態として、monochrome_flagはシーケンスレベルで定義され得る。monochrome_flagが、所定の値、例えば「1」に設定される場合、パレット予測子初期化子を考慮して、パレットエントリは、単色フォーマット用に直接、調整される(言い換えれば、パレット予測子初期化子がエントリごとにただ1つしか要素を含まないことを考慮し、パレット予測子初期化子を定義するためのステップが改められる)。エントリ数を適合させるためにカラーフォーマットをシグナリングする際、パレット予測子初期化子に特有のパラメータの必要がなくなる。その態様の1つによる本発明は、より高いレベルのピクチャ(または画像)レベルで定義されたパラメータを使用することを提案する。

Claims (22)

  1. ビットストリームから少なくとも1つの画像を復号する方法であって、前記画像が複数のスライスを含む階層符号化構造に分割され、前記スライスがそれぞれ、前記画像において同じ階層レベルを有し、前記方法が、
    パレット符号化モードを使用して、2つのスライスの符号化されたデータを復号するステップであって、前記パレット符号化モードが、前記2つのスライスの処理された画素ブロックのそれぞれに対して、それぞれのエントリインデックスを対応する画素値に関連付ける1組のエントリを含む関連パレットを使用し、処理されたそれぞれの画素ブロックに関連付けられた前記パレットが、前記ビットストリームからの予測情報を使用して、パレット予測子から予測される、ステップと、
    前記ビットストリームから、前記スライスよりも階層的に上の符号化構造に関連付けられたパレット予測子初期化子を得るステップと、
    前記得られたパレット予測子初期化子を使用して、前記2つのスライスのそれぞれに対する前記パレット予測子を初期化するステップであって、前記初期化されたパレットに後続するそれぞれのパレット予測子が、現在復号されているブロックに関連付けられた現在のパレット、および前記現在のパレットを予測するために使用された前記パレット予測子からビルドされる、ステップと、
    を含む、方法。
  2. 少なくとも1つの画像をビットストリームに符号化する方法であって、
    前記画像を分割することによって階層符号化構造を得るステップと、
    互いに独立した前記画像の2つの符号化構造のデータを符号化して、前記画像において同じ階層レベルを有する2つの符号化されたスライスを得るステップであって、前記符号化がパレット符号化モードを使用し、前記パレット符号化モードが、前記2つのスライスの画素ブロックのそれぞれに対して、それぞれのエントリインデックスを対応する画素値に関連付ける1組のエントリを含む関連パレットを使用し、前記符号化ステップが、パレット予測子から、処理されたそれぞれの画素ブロックに関連付けられた前記パレットを予測する予測情報を決定することを含む、ステップと、
    パレット予測子初期化子を決定して、前記2つのスライスに対する前記パレット予測子を初期化するステップと、
    前記ビットストリームにおいて、前記予測情報を含む前記符号化されたデータを提供し、かつ前記パレット予測子初期化子を提供するステップであって、前記パレット予測子初期化子が、前記ビットストリームにおいて、前記2つのスライスよりも階層的に上の符号化構造に関連付けられている、ステップと、
    を含み、
    前記パレット符号化モードでは、前記初期化されたパレット予測子に後続するそれぞれのパレット予測子が、現在符号化されているブロックに関連付けられた現在のパレット、および前記現在のパレットを予測するための前記パレット予測子からビルドされる、方法。
  3. 前記パレット予測子初期化子が、ピクチャパラメータセットPPS内の前記画像レベルで定義され、前記2つのスライスが、前記ピクチャパラメータセットに反映される、請求項1または2に記載の方法。
  4. 前記パレット予測子初期化子が、シーケンスパラメータセットSPS内のシーケンスレベルで定義され、前記2つの自己完結型符号化構造が、前記シーケンスパラメータセットに反映される、請求項1または2に記載の方法。
  5. 前記パレット予測子初期化子が、前記シーケンスパラメータセット内で、前記パレット符号化モードが有効であるか否かを示す第1のフィールドの後、および前記パレット予測子用の最大サイズを含む第2のフィールドの後に定義される、請求項4に記載の方法。
  6. 前記パレット予測子初期化子が、前記2つのスライスを含むタイル内のタイルレベルで定義され、前記2つのスライスのそれぞれが、それが属する前記タイルを特定する、請求項1または2に記載の方法。
  7. 前記2つのスライスの両方に対する前記初期化ステップが、前記それぞれのスライス内の全く最初の画素ブロックを復号する前に行われる、請求項1に記載の方法。
  8. 現在のパレット、および前記現在のパレットを予測するための前記パレット予測子から、前記初期化されたパレット予測子に後続するそれぞれのパレット予測子をビルドすることが、現在符号化されているブロックに関連付けられた現在のパレットの前記エントリのすべて、およびビルドされる前記パレット予測子内の前記現在のパレットを予測するのに使用されていない、前記現在のパレットを予測するための前記パレット予測子のエントリを含めることを含む、請求項1から7のいずれか一項に記載の方法。
  9. 前記パレット予測子から前記パレットを予測するための前記予測情報が、フラグビットマップを含み、そのそれぞれのフラグが、前記パレット予測子内の対応するエントリが、前記パレット内にエントリを生成するためのエントリとして選択されるか否かを定義する、請求項1または2に記載の方法。
  10. 前記予測子初期化子を決定することが、前記パレット符号化モードを使用して、前記2つのスライスよりも階層的に上の前記符号化構造によって画定された画像領域に広がる画素ブロックのサブセットを符号化することを含み、前記符号化ステップの終了時に得られたパレット予測子を、前記パレット予測子初期化子として使用することを含む、請求項2に記載の方法。
  11. 前記サブセットの前記画素ブロックが、前記領域のスロープまたは対角線に沿って分散されている、請求項10に記載の方法。
  12. 前記サブセットの前記画素ブロックが、前記画像の上部に水平方向に並んでいる、請求項10に記載の方法。
  13. 前記サブセットの前記画素ブロックが隣り合っていない、請求項12に記載の方法。
  14. パレット予測子初期化子を決定することが、画素ブロックの同じサブセットを再帰的に符号化することを含み、次の再帰的符号化ループに使用される前記第1のパレット予測子が、前の再帰的符号化ループの終了時に得られた前記パレット予測子である、請求項10に記載の方法。
  15. 前記スライスが、2つの別々の画像内に含まれる、請求項1から14のいずれか一項に記載の方法。
  16. 前記スライスが、同じ画像に含まれる、請求項1から15のいずれか一項に記載の方法。
  17. 前記パレットのサイズが、前記パレット予測子を初期化するのに使用された前記パレット予測子初期化子のサイズを使用して設定される、請求項1から16のいずれか一項に記載の方法。
  18. 色成分数についての情報を得ることをさらに含み、前記パレット予測子初期化子の前記構造が、前記色成分数についての前記情報に基づく、請求項1から17のいずれか一項に記載の方法。
  19. 前記情報が、前記画像が単色画像であるか否かをシグナリングするためのフラグである、請求項18に記載の方法。
  20. ビットストリームから少なくとも1つの画像を復号するための復号デバイスであって、前記画像が複数のスライスを含む階層符号化構造に分割され、前記スライスがそれぞれ、前記画像において同じ階層レベルを有し、前記復号デバイスが、
    パレット符号化モードを使用して2つのスライスの符号化されたデータを復号するための復号手段であって、前記パレット符号化モードが、前記2つのスライスの処理された画素ブロックのそれぞれに対して、それぞれのエントリインデックスを対応する画素値に関連付ける1組のエントリを含む関連パレットを使用し、処理されたそれぞれの画素ブロックに関連付けられた前記パレットが、前記ビットストリームからの予測情報を使用して、パレット予測子から予測される、復号手段と、
    前記ビットストリームから、前記2つのスライスよりも階層的に上の符号化構造に関連付けられたパレット予測子初期化子を得るための取得手段と、
    前記得られたパレット予測子初期化子を使用して、前記2つのスライスのそれぞれに対する前記パレット予測子を初期化するための初期化手段と、を備え、
    前記パレット符号化モードでは、前記初期化されたパレット予測子に後続するそれぞれのパレット予測子が、現在符号化されているブロックに関連付けられた現在のパレット、および前記現在のパレットを予測するための前記パレット予測子からビルドされる、復号デバイス。
  21. 少なくとも1つの画像をビットストリームに符号化するための符号化デバイスであって、
    前記画像を分割することによって階層符号化構造を得るための取得手段と、
    互いに独立した前記画像の2つの符号化構造のデータを符号化して、前記画像において同じ階層レベルを有する2つのスライスを得ることであって、前記符号化がパレット符号化モードを使用し、前記パレット符号化モードが、前記2つのスライスのそれぞれの画素ブロックに対して、それぞれのエントリインデックスを対応する画素値に関連付ける1組のエントリを含む関連パレットを使用し、前記符号化ステップが、パレット予測子から、処理されたそれぞれの画素ブロックに関連付けられた前記パレットを予測する予測情報を決定することを含む、ことと、
    パレット予測子初期化子を決定して、前記2つのスライスに対する前記パレット予測子を初期化することと、
    前記ビットストリームにおいて、前記予測情報を含む前記符号化されたデータを提供し、かつ前記パレット予測子初期化子を提供することであって、前記パレット予測子初期化子が、前記ビットストリームにおいて、前記2つのスライスより階層的に上の符号化構造に関連付けられている、ことと、
    を含み、
    前記パレット符号化モードでは、前記初期化されたパレット予測子に後続するそれぞれのパレット予測子が、現在符号化されているブロックに関連付けられた現在のパレット、および前記現在のパレットを予測するための前記パレット予測子からビルドされる、符号化デバイス。
  22. 実行されると、請求項1から19のいずれか一項に記載の方法を行わせる、コンピュータプログラム。
JP2017535777A 2015-01-29 2016-01-29 画像を符号化または復号する装置、方法、プログラム Active JP6461355B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
GB1501517.5 2015-01-29
GB1501517.5A GB2534607A (en) 2015-01-29 2015-01-29 Palette predictor initializer when encoding or decoding self-contained coding structures
GB1502860.8 2015-02-20
GB1502860.8A GB2534612A (en) 2015-01-29 2015-02-20 Palette predictor initializer when encoding or decoding self-contained coding structures
GB1509922.9 2015-06-08
GB1509922.9A GB2539210A (en) 2015-06-08 2015-06-08 Decoding method and corresponding device
PCT/EP2016/051974 WO2016120468A1 (en) 2015-01-29 2016-01-29 Palette predictor initializer when encoding or decoding self-contained coding structures

Publications (2)

Publication Number Publication Date
JP2018507597A true JP2018507597A (ja) 2018-03-15
JP6461355B2 JP6461355B2 (ja) 2019-01-30

Family

ID=56542488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017535777A Active JP6461355B2 (ja) 2015-01-29 2016-01-29 画像を符号化または復号する装置、方法、プログラム

Country Status (7)

Country Link
US (1) US10277894B2 (ja)
EP (1) EP3251358B1 (ja)
JP (1) JP6461355B2 (ja)
KR (1) KR102088560B1 (ja)
CN (1) CN107211122B (ja)
RU (1) RU2686559C2 (ja)
WO (1) WO2016120468A1 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG11201706531UA (en) 2015-02-16 2017-09-28 Hfi Innovation Inc Method and apparatus for palette predictor initialization for palette coding in video and image compression
US10535114B2 (en) * 2015-08-18 2020-01-14 Nvidia Corporation Controlling multi-pass rendering sequences in a cache tiling architecture
US10356432B2 (en) * 2015-09-14 2019-07-16 Qualcomm Incorporated Palette predictor initialization and merge for video coding
US10778976B2 (en) * 2016-09-28 2020-09-15 Sharp Kabushiki Kaisha Image decoding apparatus and image coding apparatus
US11025905B2 (en) * 2018-09-14 2021-06-01 Tencent America LLC Method and device for decoding with palette mode
WO2020169103A1 (en) * 2019-02-24 2020-08-27 Beijing Bytedance Network Technology Co., Ltd. Independent coding of palette mode usage indication
EP3987806A4 (en) 2019-07-20 2022-08-31 Beijing Bytedance Network Technology Co., Ltd. CONDITIONAL CODING OF PALETTE MODE USE INDICATION
FI4002843T3 (fi) * 2019-07-21 2024-04-25 Lg Electronics Inc Kuvankoodaus/-dekoodausmenetelmä ja laite kroma-komponentin ennustusinformaation signaloimiseksi sen mukaisesti, onko palettitila sovellettavissa, ja menetelmä bittivirran lähettämiseksi
CN114145013B (zh) 2019-07-23 2023-11-14 北京字节跳动网络技术有限公司 调色板模式编解码的模式确定
CN114208188A (zh) 2019-07-29 2022-03-18 北京字节跳动网络技术有限公司 调色板模式编解码的扫描顺序改进
US11330306B2 (en) * 2019-08-07 2022-05-10 Tencent America LLC Method and apparatus for video coding
WO2021027767A1 (en) 2019-08-10 2021-02-18 Beijing Bytedance Network Technology Co., Ltd. Position restriction for inter coding mode
CN114641999A (zh) * 2019-09-10 2022-06-17 三星电子株式会社 使用工具集的图像解码装置及其图像解码方法、和图像编码装置及其图像编码方法
CN114375581A (zh) 2019-09-12 2022-04-19 字节跳动有限公司 在视频编解码中使用调色板预测器
KR20220047834A (ko) * 2019-09-23 2022-04-19 엘지전자 주식회사 팔레트 모드를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
KR102571893B1 (ko) 2019-09-23 2023-08-28 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 비디오 코딩에서의 양자화 및 역-양자화 디자인을 위한 방법 및 장치
CN114208172A (zh) * 2019-09-24 2022-03-18 北京达佳互联信息技术有限公司 执行用于调色板模式的率失真分析的方法和装置
JP7322290B2 (ja) 2019-10-02 2023-08-07 北京字節跳動網絡技術有限公司 ビデオビットストリームにおけるサブピクチャシグナリングのための構文
BR112022007408A2 (pt) 2019-10-18 2022-09-27 Beijing Bytedance Network Tech Co Ltd Método e aparelho de processamento de vídeo, e, meio legível por computador
CN114902666A (zh) * 2019-10-28 2022-08-12 Lg电子株式会社 使用自适应颜色变换的图像编码/解码方法和装置以及发送比特流的方法
US11356679B2 (en) * 2019-12-05 2022-06-07 Alibaba Group Holding Limited Method and apparatus for chroma sampling
WO2021121419A1 (en) 2019-12-19 2021-06-24 Beijing Bytedance Network Technology Co., Ltd. Interaction between adaptive color transform and quantization parameters
KR20220115965A (ko) * 2020-01-05 2022-08-19 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩을 위한 일반적인 제약 정보
CN115176470A (zh) 2020-01-18 2022-10-11 抖音视界有限公司 图像/视频编解码中的自适应颜色变换
JP7323719B2 (ja) * 2020-02-05 2023-08-08 エルジー エレクトロニクス インコーポレイティド 残差コーディングに関する画像デコード方法およびその装置
US11451811B2 (en) 2020-04-05 2022-09-20 Tencent America LLC Method and apparatus for video coding
CN111541456B (zh) * 2020-05-18 2023-07-18 深圳市埃伯瑞科技有限公司 一种连续变量分布的软网格编码方法及其解码方法
CN111882564A (zh) * 2020-07-27 2020-11-03 山东大学 一种超高清医学病理图像的压缩处理方法
CN116134820A (zh) * 2020-08-04 2023-05-16 现代自动车株式会社 基于补丁本的视频数据编码和解码的方法和装置
US20220094951A1 (en) * 2020-09-23 2022-03-24 Ati Technologies Ulc Palette mode video encoding utilizing hierarchical palette table generation
CN112633168B (zh) * 2020-12-23 2023-10-31 长沙中联重科环境产业有限公司 一种垃圾车翻桶动作识别方法、装置及垃圾车
CN113192148B (zh) * 2021-04-12 2023-01-03 中山大学 基于调色盘的属性预测方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09247682A (ja) * 1996-03-08 1997-09-19 Oki Electric Ind Co Ltd 画像符号化方法及び画像符号化装置
JP2010045589A (ja) * 2008-08-12 2010-02-25 Ricoh Co Ltd 画像処理装置、画像処理方法およびプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2420021C2 (ru) * 2009-03-24 2011-05-27 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ сжатия изображений и видеопоследовательностей
WO2013159335A1 (en) 2012-04-27 2013-10-31 Mediatek Singapore Pte. Ltd. Modifications related to sao and deblocking in hevc
WO2014048810A1 (de) * 2012-09-27 2014-04-03 Ks Kolbenschmidt Gmbh Zweiteilig aufgebauter kolben einer brennkraftmaschine
US9654777B2 (en) 2013-04-05 2017-05-16 Qualcomm Incorporated Determining palette indices in palette-based video coding
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
CN104301737B (zh) * 2013-07-15 2017-11-17 华为技术有限公司 目标图像块的解码方法和编码方法以及解码器和编码器
GB201321850D0 (en) 2013-12-10 2014-01-22 Canon Kk Palette Prediction
CN110336999B (zh) 2013-12-18 2021-09-03 寰发股份有限公司 利用调色板编码的编码视频数据区块的方法和装置
CN106068647B (zh) 2013-12-18 2019-05-17 寰发股份有限公司 视频编码系统中用调色板编码来编解码视频数据块的方法
CN106105229B (zh) * 2014-03-14 2019-03-15 寰发股份有限公司 使用调色板编码来编码视频数据的块的方法及装置
WO2015135509A1 (en) * 2014-03-14 2015-09-17 Mediatek Inc. Method for palette table initialization and management
US10382749B2 (en) * 2014-05-23 2019-08-13 Qualcomm Incorporated Coding run values based on palette index in palette-based video coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09247682A (ja) * 1996-03-08 1997-09-19 Oki Electric Ind Co Ltd 画像符号化方法及び画像符号化装置
US6125144A (en) * 1996-03-08 2000-09-26 Oki Electric Industry Co., Ltd. Picture coding method and picture coder
JP2010045589A (ja) * 2008-08-12 2010-02-25 Ricoh Co Ltd 画像処理装置、画像処理方法およびプログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
C. GISQUET ET AL.: "AhG10: palette predictor stuffing", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) 17TH MEETING: VALENCIA, vol. JCTVC-Q0063-v2, JPN6018025339, 4 April 2014 (2014-04-04), ISSN: 0003830700 *
C. GISQUET ET AL.: "Non-CE1: On palette prediction for slices", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, vol. JCTVC-T0048-v4.zip, JPN6018025341, 15 February 2015 (2015-02-15), pages 1 - 7, ISSN: 0003830701 *
RAJAN JOSHI ET AL.: "High Efficiency Video Coding (HEVC) Screen Content Coding: Draft 2", JCTVC-S1005, JPN6018025336, 10 December 2014 (2014-12-10), ISSN: 0003830698 *
VADIM SEREGIN ET AL.: "Non-SCCE3: Palette predictor resetting[online]", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) 18TH MEETING: SAPPORO, vol. JCTVC-R0229-v3, JPN6018025337, 2 July 2014 (2014-07-02), ISSN: 0003830699 *

Also Published As

Publication number Publication date
WO2016120468A1 (en) 2016-08-04
CN107211122B (zh) 2020-05-05
RU2017130321A (ru) 2019-02-28
US10277894B2 (en) 2019-04-30
RU2686559C2 (ru) 2019-04-29
RU2017130321A3 (ja) 2019-02-28
JP6461355B2 (ja) 2019-01-30
CN107211122A (zh) 2017-09-26
US20180077411A1 (en) 2018-03-15
EP3251358A1 (en) 2017-12-06
KR20170107503A (ko) 2017-09-25
EP3251358B1 (en) 2019-11-13
KR102088560B1 (ko) 2020-03-12

Similar Documents

Publication Publication Date Title
JP6461355B2 (ja) 画像を符号化または復号する装置、方法、プログラム
KR102462009B1 (ko) 영상 부호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체
US10356432B2 (en) Palette predictor initialization and merge for video coding
JP6465890B2 (ja) 画素ブロックの符号化または復号の方法および装置
JP6537511B2 (ja) Hevcにおける改良型パレットモード
US9516342B2 (en) Method and apparatus for transition encoding in video coding and decoding
KR102020101B1 (ko) 비디오 코덱에서 신택스 요소 인코딩을 위한 방법 및 장치
US10212434B2 (en) Palette entries coding in video coding
US8780980B2 (en) Video image encoding device
GB2521410A (en) Method and apparatus for encoding or decoding blocks of pixel
CN113497935A (zh) 视频编解码方法及设备
GB2534612A (en) Palette predictor initializer when encoding or decoding self-contained coding structures
CN116016915B (zh) 变换与系数信令的方法和装置
JP2024023531A (ja) パレットモードを用いたビデオコーディングの方法および装置
GB2539210A (en) Decoding method and corresponding device

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170720

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170704

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180903

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181225

R151 Written notification of patent or utility model registration

Ref document number: 6461355

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151