JP2019521571A - 適応クリッピングを用いた映像コード化の方法および装置 - Google Patents

適応クリッピングを用いた映像コード化の方法および装置 Download PDF

Info

Publication number
JP2019521571A
JP2019521571A JP2018559993A JP2018559993A JP2019521571A JP 2019521571 A JP2019521571 A JP 2019521571A JP 2018559993 A JP2018559993 A JP 2018559993A JP 2018559993 A JP2018559993 A JP 2018559993A JP 2019521571 A JP2019521571 A JP 2019521571A
Authority
JP
Japan
Prior art keywords
block
reconstructed
clipping
bitstream
upper limit
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.)
Withdrawn
Application number
JP2018559993A
Other languages
English (en)
Other versions
JP2019521571A5 (ja
Inventor
ギャルピン,フランク
ラケイプ,ファビアン
ボルデ,フィリップ
Original Assignee
インターデジタル ヴイシー ホールディングス, インコーポレイテッド
インターデジタル ヴイシー ホールディングス, インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from EP16305558.5A external-priority patent/EP3244611A1/en
Application filed by インターデジタル ヴイシー ホールディングス, インコーポレイテッド, インターデジタル ヴイシー ホールディングス, インコーポレイテッド filed Critical インターデジタル ヴイシー ホールディングス, インコーポレイテッド
Publication of JP2019521571A publication Critical patent/JP2019521571A/ja
Publication of JP2019521571A5 publication Critical patent/JP2019521571A5/ja
Withdrawn legal-status Critical Current

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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/136Incoming video signal characteristics or properties
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

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

Abstract

クリッピングは、エンコーダまたはデコーダにおける様々な動作の間に適用することができる。クリッピングの下限および上限は、予測因子に対して差動符号化することができる。例えば、下限および上限のそれぞれに対して、0および2bitdepthなどの固定予測因子を使用することができる。また、適応予測因子を使用することもできる。適応予測因子は、以前に符号化または復号されたピクチャにおけるクリッピング限度から導き出すことも、またはビットストリームで明示的に伝送することもできる。クリッピング限度を符号化するかどうかは、クリッピング限度に近い値を有する画素の数に基づいて決定することができる。それに加えて、クリッピング動作を活用することで、ブロックに対する歪みを必ずしも増加せずに、予測残差をスムーズにすることができる。

Description

本原理は、概して、映像符号化および復号の方法および装置に関し、より具体的には、適応クリッピングを用いた映像符号化および復号の方法および装置に関する。
高圧縮効率を達成するため、画像および映像コード化スキームは、通常、映像コンテンツにおける空間的および時間的冗長性を活用するために予測および変換を採用する。一般に、イントラまたはインター予測は、イントラまたはインターフレーム相互関係を利用するために使用され、次いで、オリジナル画像と予測画像との差(予測誤差または予測残差として示される場合が多い)は、変換、量子化およびエントロピーコード化が行われる。映像を再構築するため、圧縮データは、予測、変換、量子化およびエントロピーコード化に対応する逆のプロセスによって復号される。
映像圧縮システムにおける様々な動作の間、映像データは、映像データを表すために使用されるデータ範囲を超える場合がある。起こり得るデータ反転を避けるため、例えば、より低い8ビットのみが保持される場合は、8ビット表現の範囲を超える高い値は、低い値として不注意に扱われ、映像データは、通常、正しい範囲にクリップされる。
一般態様によれば、ピクチャを符号化してビットストリームに埋め込む方法であって、ピクチャのブロックに対するクリッピングの上限および上限の第1の予測因子にアクセスすることと、上限と第1の予測因子との第1の差を量子化することと、量子化済みの第1の差を符号化してビットストリームに埋め込むことと、復号済みの第1の差を形成するために、量子化済みの第1の差を非量子化することと、再構築された上限より小さくなるようにブロックに対する映像データの値を調整することであって、再構築された上限が、復号済みの第1の差および第1の予測因子に基づいて形成される、調整することと、ピクチャのブロックを符号化してビットストリームに埋め込むこととを含む、方法が提示される。
符号化方法は、ピクチャのブロックに対するクリッピングの下限および下限の第2の予測因子にアクセスすることと、上限と第2の予測因子との第2の差を量子化することと、量子化済みの第2の差を符号化してビットストリームに埋め込むことと、復号済みの第2の差を形成するために、量子化済みの第2の差を非量子化することと、再構築された下限より大きくなるようにブロックに対する映像データの値を調整することであって、再構築された下限が、復号済みの第2の差および第2の予測因子に基づいて形成される、調整することとをさらに含み得る。
歪みを低減するため、量子化および非量子化は、再構築された下限がクリッピングの下限より小さくなり、再構築された上限がクリッピングの上限より大きくなるように設計することができる。
第1の差は、(bitdepth-1)ビットによって表すことができ、bitdepthは、ブロックに対する映像データを表すために使用されるビット深度である。
適応クリッピングを適用するか否かを判断するため、方法は、ブロックの上限および下限の少なくとも1つに近い値を有する画素の数を決定することと、決定された画素の数に基づいて、上限を符号化するために第1の予測因子を使用するかどうかを決定することとをさらに含み得る。
別の一般態様によれば、ビットストリームからピクチャを復号する方法であって、ピクチャのブロックに対するクリッピングの上限の第1の予測因子にアクセスすることと、復号済みの第1の差を形成するために、ビットストリームから量子化済みの第1の差を復号することと、再構築された上限より小さくなるようにブロックに対する映像データの値を調整することであって、再構築された上限が、復号済みの第1の差および第1の予測因子に基づいて形成される、調整することと、ビットストリームからピクチャのブロックを復号することとを含む、方法が提示される。
復号方法は、ピクチャのブロックに対するクリッピングの下限の第2の予測因子にアクセスすることと、復号済みの第2の差を形成するために、ビットストリームから量子化済みの第2の差を復号することと、再構築された下限より大きくなるようにブロックに対する映像データの値を調整することであって、再構築された下限が、復号済みの第2の差および第2の予測因子に基づいて形成される、調整することとをさらに含み得る。
符号化または復号方法では、第1の予測因子が2bitdepthであることも、以前に符号化または復号されたピクチャにおけるクリッピングの上限の予測因子に基づいて第1の予測因子を決定することも可能である。第1の予測因子は、ピクチャのブロックのコンテンツに適応させることができる。
また、本実施形態は、これらのステップを実行する装置も提供する。
また、本実施形態は、上記で説明される方法に従ってピクチャを符号化してビットストリームに埋め込む命令またはビットストリームからピクチャを復号する命令が格納されたコンピュータ可読記憶媒体も提供する。
また、本実施形態は、上記で説明される方法に従って生成されたビットストリームが格納されたコンピュータ可読記憶媒体も提供する。
別の一般態様によれば、映像信号は、ピクチャのブロックに対するクリッピングの上限と上限の第1の予測因子との第1の差を量子化することによって形成された量子化済みの第1の差の符号化済みのセクションを含むようにフォーマットされ、量子化済みの第1の差は、復号済みの第1の差を形成するために非量子化され、ブロックに対する映像データの値は、再構築された上限より小さくなるように調整され、再構築された上限は、復号済みの第1の差および第1の予測因子に基づいて形成される。
別の一般態様によれば、ピクチャを符号化する方法であって、符号化予定のオリジナルブロック、オリジナルブロックに対応する予測ブロックおよび残差ブロックにアクセスすることと、オリジナルブロックまたは予測ブロックの第1の要素がクリッピングの上限に近いと決定することと、オリジナルブロックまたは予測ブロックの第1の要素に対応する残差ブロックの第1の要素を残差ブロックの第1の要素より大きい第1の値と置き換えることと、復号済みの残差ブロックを形成するために、置き換えた要素で残差ブロックを符号化および復号することと、予測ブロックおよび復号済みの残差ブロックに基づいて再構築されたブロックを形成することと、再構築されたブロックの第1の要素がクリッピングの上限を超える場合は、残差ブロックの第1の要素に対応する再構築されたブロックの第1の要素をクリッピングの上限と置き換えることとを含む、方法が提示される。
方法は、オリジナルブロックまたは予測ブロックの第2の要素がクリッピングの下限に近いと決定することと、オリジナルブロックまたは予測ブロックの第2の要素に対応する残差ブロックの第2の要素を残差ブロックの第2の要素より小さい第2の値と置き換えることと、再構築されたブロックの第2の要素がクリッピングの下限より小さい場合は、残差ブロックの第2の要素に対応する再構築されたブロックの第2の要素をクリッピングの下限と置き換えることとをさらに含み得る。
第1の値は、ブロックのローパスフィルタリングされた値であり得る。
オリジナルブロックまたは予測ブロックの第1の要素がクリッピングの上限に近いと決定するため、閾値を使用することができる。一例では、閾値は0である。別の例では、閾値は、残差ブロックに対応する量子化パラメータと共に増加する。
また、本実施形態は、これらのステップを実行する装置も提供する。
また、本実施形態は、上記で説明される方法に従ってピクチャを符号化する命令が格納されたコンピュータ可読記憶媒体も提供する。
また、本実施形態は、上記で説明される方法に従って生成されたビットストリームが格納されたコンピュータ可読記憶媒体も提供する。
例示的なHEVC(高効率映像コード化)エンコーダのブロック図を示す。 例示的なHEVC映像デコーダのブロック図を示す。 本原理の実施形態による、エンコーダにおいて適応クリッピングを使用可能にするか否かを決定するための例示的な方法を描写する。 本原理の実施形態による、クリッピング限度を符号化するための例示的な方法を描写する。 本原理の実施形態による、クリッピング限度を復号するための例示的な方法を描写する。 本原理の実施形態による、エンコーダ側で参照クリッピング限度を初期化するための例示的な方法を描写する。 本原理の実施形態による、デコーダ側で参照クリッピング限度を初期化するための例示的な方法を描写する。 例を使用して、AおよびBの量子化および非量子化を示す。 本原理の実施形態による、固定予測因子または適応予測因子でクリッピング限度を符号化するための例示的な方法を示す。 本原理の実施形態による、固定予測因子または適応予測因子でクリッピング限度を復号するための例示的な方法を示す。 本原理の実施形態による、現在のブロックを符号化するための例示的な方法を示す。 本原理の実施形態による、適応残差スムージングを用いて現在のブロックを符号化するための例示的な方法を示す。 本原理の実施形態による、エンコーダにおいて残差スムージングを実行するための例示的な方法を示す。 本原理の例示的な実施形態の様々な態様を実装することができる例示的なシステムのブロック図を示す。
図1は、例示的なHEVCエンコーダ100を示す。1つまたは複数のピクチャを有する映像シーケンスを符号化するため、ピクチャは、1つまたは複数のスライスにパーティション化され、各スライスは、1つまたは複数のスライスセグメントを含み得る。スライスセグメントは、コード化単位、予測単位および変換単位に組織化される。
HEVC仕様は、「ブロック」と「単位」を区別しており、「ブロック」は、サンプルアレイの特定のエリア(例えば、ルマ、Y)に対処し、「単位」は、すべての符号化済みの色成分(Y、Cb、Crまたはモノクロ)、構文要素およびブロックと関連付けられた予測データ(例えば、動きベクトル)の配列ブロックを含む。
コード化の場合、ピクチャは、構成可能なサイズを有する正方形状のコード化木ブロック(CTB)にパーティション化され、コード化木ブロックの連続セットは、スライスに分類される。CTBに対応するコード化木単位(CTU)は、符号化済みの色成分のCTBを含む。CTBは、コード化ブロック(CB)にパーティション化される四分木の根であり、コード化ブロックは、1つまたは複数の予測ブロック(PB)にパーティション化され、変換ブロック(TB)にパーティション化される四分木の根を形成する。コード化ブロック、予測ブロックおよび変換ブロックに対応して、コード化単位(CU)は、予測単位(PU)および変換単位(TU)の木構造セットを含み、PUは、すべての色成分の予測情報を含み、TUは、各色成分の残差コード化構文構造を含む。ルマ成分のCB、PBおよびTBのサイズは、対応するCU、PUおよびTUに当てはまる。本出願では、「ブロック」という用語は、CTU、CU、PU、TU、CB、PBおよびTBのいずれかを指すために使用することができる。それに加えて、「ブロック」は、H.264/AVCまたは他の映像コード化規格において指定されるようなマクロブロック、パーティションおよびサブブロックを指すため、およびより一般的には、様々なサイズのサンプルのアレイを指すために使用することができる。
例示的なエンコーダ100では、ピクチャは、以下で説明されるようなエンコーダ要素によって符号化される。符号化予定のピクチャは、CUの単位において処理される。各CUは、イントラまたはインターモードを使用して符号化される。CUがイントラモードで符号化される際は、イントラ予測(160)が実行される。インターモードでは、動き推定(175)および補償(170)が実行される。エンコーダは、CUを符号化するためにイントラモードとインターモードのどちらを使用するかを決定し(105)、予測モードフラグによってイントラ/インター決定を示す。予測残差は、オリジナル画像ブロックから予測ブロックを減ずること(110)によって計算される。
イントラモードのCUは、同じスライス内の再構築された近隣のサンプルから予測される。35のイントラ予測モードのセットがHEVCにおいて利用可能であり、DC、平面および33の角度予測モードを含む。イントラ予測参照は、現在のブロックに隣接する行および列から再構築される。参照は、以前に再構築されたブロックから利用可能なサンプルを使用して、水平および垂直方向においてブロックサイズの2倍に及ぶ。イントラ予測に対して角度予測モードが使用される際は、参照画素は、角度予測モードによって示される方向に沿ってコピーすることができる。
現在のブロックに対する適用可能なルマイントラ予測モードは、2つの異なるオプションを使用してコード化することができる。適用可能なモードが3つの最確モード(MPM)の構築リストに含まれる場合は、モードは、MPMリストのインデックスによって信号伝達される。そうでなければ、モードは、モードインデックスの固定長二進化(fixed-length binarization)によって信号伝達される。3つの最確モードは、上および左の近隣のブロックのイントラ予測モードから導き出される。
インターCUの場合は、対応するコード化ブロックは、1つまたは複数の予測ブロックにさらにパーティション化される。インター予測は、PBレベルで実行され、対応するPUは、インター予測がどのように実行されるかについての情報を含む。
動き情報(すなわち、動きベクトルおよび参照インデックス)は、2つの方法、すなわち、「高度な動きベクトル予測(AMVP)」および「マージモード」で信号伝達することができる。AMVPでは、映像エンコーダまたはデコーダは、既にコード化されているブロックから決定された動きベクトルに基づいて候補リストを組み立てる。次いで、映像エンコーダは、動きベクトル予測因子(MVP)を識別するために候補リストにインデックスを信号伝達し、動きベクトル差(MVD)を信号伝達する。デコーダ側では、動きベクトル(MV)は、MVP+MVDとして再構築される。
マージモードでは、映像エンコーダまたはデコーダは、既にコード化されているブロックに基づいて候補リストを組み立て、映像エンコーダは、候補リスト内の候補のうちの1つに対するインデックスを信号伝達する。デコーダ側では、動きベクトルおよび参照ピクチャインデックスは、信号伝達された候補に基づいて再構築される。
HEVCでは、動き補償のための動き情報の精度は、ルマ成分に対して1/4サンプルであり、クロマ成分に対して1/8サンプルである。7タップまたは8タップ補間フィルタは、分数サンプル画素位置の補間に使用される。すなわち、水平方向と垂直方向の両方における全画素場所の1/4、1/2および3/4は、ルマに対処することができる。
予測残差は、変換(125)および量子化(130)が行われる。量子化済みの変換係数ならびに動きベクトルおよび他の構文要素は、ビットストリームを出力するために、エントロピーコード化(145)される。また、エンコーダは、変換をスキップして、4×4TUベースで非変換残差信号に量子化を直接適用することもできる。また、エンコーダは、変換と量子化の両方を回避することもできる(すなわち、残差は、変換または量子化プロセスを適用することなく直接コード化される)。直接PCMコード化では、予測は適用されず、コード化単位サンプルは、直接コード化され、ビットストリームに埋め込まれる。
エンコーダは、さらなる予測のための参照を提供するために、符号化済みのブロックを復号する。量子化済みの変換係数は、予測残差を復号するために、非量子化(140)および逆変換(150)が行われる。復号済みの予測残差と予測ブロックを組み合わせること(155)で、画像ブロックが再構築される。フィルタは、例えば、ブロックノイズのあるアーチファクトを低減するために非ブロック化/SAO(サンプル適応オフセット)フィルタリングを実行するため、再構築されたピクチャに適用される(165)。フィルタリングされた画像は、参照ピクチャバッファ(180)に格納される。
図2は、例示的なHEVC映像デコーダ200のブロック図を示す。例示的なデコーダ200では、ビットストリームは、以下で説明されるようなデコーダ要素によって復号される。映像デコーダ200は、一般に、図1で説明されるような符号化パスとは逆の復号パスを実行し、映像データの符号化の一部として映像復号を実行する。
具体的には、デコーダの入力は、映像ビットストリームを含み、映像ビットストリームは、映像エンコーダ100によって生成することができる。ビットストリームは、最初に、変換係数、動きベクトルおよび他のコード化情報を得るために、エントロピー復号(230)が行われる。変換係数は、予測残差を復号するために、非量子化(240)および逆変換(250)が行われる。復号済みの予測残差と予測ブロックを組み合わせること(255)で、画像ブロックが再構築される。予測ブロックは、イントラ予測(260)または動き補償予測(すなわち、インター予測)(275)から得ること(270)ができる。上記で説明されるように、AMVPおよびマージモード技法は、動き補償の間に使用することができ、動き補償は、参照ブロックのサブ整数画素に対する補間値を計算するために補間フィルタを使用することができる。フィルタ(265)は、再構築された画像に適用される。フィルタリング済みの画像は、参照ピクチャバッファ(280)に格納される。
データオーバーフローまたはアンダーフローを避けるため、HEVCデコーダにおける様々なプロセスにおいてクリッピングが指定される。HEVCでは、例えば、
ClipY(x)=Clip3(0,(1<<BitDepthY)-1,x)
ClipC(x)=Clip3(0,(1<<BitDepthC)-1,x) (1)
のような異なるクリッピング関数が定義される。式中、YおよびCはそれぞれ、ルマおよびクロマ成分を示し、BitDepthYおよびBitDepthCはそれぞれ、ルマおよびクロマに対する内部ビット深度(例えば、8または10)であり、Clip3は、2つの限度xとyとの間で値zをクリップするための関数である。
Figure 2019521571
クリッピングは、例えば、重み付け予測、予測、イントラ予測フィルタ、適応ループフィルタ(ALF)、非ブロック化フィルタ、SAOフィルタなどの動作においてまたは動作後および復号済みの残差が予測に追加される際など、様々な動作の間または様々な動作の後に適用することができる。それに加えて、HEVCの性能をさらに向上するため、クリッピングは、共同映像探査チーム(JVET)によって参照ソフトウェアJEM(共同探査モデル)において開発されるようなPDPC(位置依存性イントラ予測組合せ)においても適用することができる。
クリッピングプロセスは、通常、
=clip(x)=min(B,max(B,X)) (3)
によって行われ、式中、BおよびBはそれぞれ、クリッピングの下限および上限であり、値xは、B〜Bの範囲内の値xにクリップされる。例えば、デフォルトクリッピング限度は、8ビットIBD(内部ビス深度)の場合は、BL=0およびBU=255であり得、10ビットIBDの場合は、BL=0およびBU=1023であり得る。
Chih-Ming Fu等による米国特許出願第12/954,844号は、映像データの動的特性を考慮するコンテンツ適応クリッピング方法を開示しており、方法は、部分的なピクチャ、フレームまたはフレームのグループであり得る事前に定義されたセットに映像データを構成する。事前に定義されたセットと関連付けられたオリジナル映像データのデータ範囲が決定され、処理された映像データは、事前に定義されたセットに対して演算された範囲に従ってクリップされる。範囲情報は、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダまたはコード化単位ヘッダで伝えることができる。
その教示が参照により本明細書に具体的に組み込まれるP. Bordes等による“Methods and devices for encoding and decoding a sequence of pictures, and corresponding computer program products and computer-readable medium”と称する共同所有されるEP特許出願(欧州特許第15306369.8号、代理人整理番号PF150011)は、別の色成分に適応できるある色成分をクリップする方法を開示している。一実施形態では、クロマ成分のサンプルの範囲は、ルマ成分のサンプル値の関数として提供される。
本原理は、映像符号化および復号における適応クリッピングを対象とする。一実施形態では、コンテンツに適応できるクリッピングパラメータを符号化することを提案する。クリッピングパラメータは、これらに限定されないが、適応クリッピングを使用するか否かを示すフラグ、クリッピング限度を符号化するための方法のタイプを示すフラグ、クリッピングの下限および上限を含み、ピクチャのシーケンスもしくはグループに対してまたはピクチャもしくはスライスレベルで示すことができる。例えば、クリッピングパラメータは、映像パラメータセット(VPS)、SPS、PPS、スライスヘッダまたはCTUヘッダで示すことができる。スケーリング可能な映像コード化の事例では、クリッピングパラメータは、個々の層に対して示すことができる。クリッピング限度は、既定の定数および信号限度でも、映像データの確率分布に基づいて生成することも可能である。再構築されたピクチャの後処理としてのみクリッピング限度を使用することも、エンコーダまたはデコーダ内部の1つまたは複数のクリッピング動作においてクリッピング限度を使用することもできる。
図3は、本原理の実施形態による、エンコーダにおいて適応クリッピングを使用可能にするか否かを決定するための例示的な方法300を描写する。
ステップ305では、エンコーダは、ピクチャの最小画素値(m)および最大画素値(M)を演算する。次いで、エンコーダは、ピクチャのいくつの画素が信号限度mおよびMに近い画素値を有するかを決定する。例えば、エンコーダは、m〜m+T(Tはパラメータである)の画素値を有する画素の数(N)を計数し(310)、M−T〜M(Tはパラメータである)の画素値を有する画素の数(N)を計数する(315)。NおよびNの数に基づいて、エンコーダは、例えば、NとNの平均、組合せまたは最大関数を使用して、信号限度に近い画素の数の表示(N)を決定することができる。数Nがn%w(n%は閾値であり、hおよびwはピクチャの垂直および水平方向における画素の数である)より大きい場合(320)は、クリッピング動作によって十分な量の画素を調整することができる。従って、ピクチャに対して適応クリッピングを使用可能にすることができ(330)、クリッピング限度をビットストリームで信号伝達することになる。そうでなければ、適応クリッピングは、ピクチャに対して使用可能にはならず、BL=0およびBU=2bitdepth-1に基づくクリッピングを使用することができる。変形形態では、数Nは、画像サイズとは無関係に、固定閾値Tと比較することができる。
それに加えて、エンコーダは、量子化パラメータ、ピクチャタイプまたはピクチャの時間レベルをチェックすることもできる。量子化パラメータが大きい際は、時間レベルは高く、ピクチャタイプはBであり、ピクチャのコード化サイズは通常は小さく、クリッピングパラメータの信号伝達は比較的大きなオーバーヘッドを導入し得る。従って、小さなコード化サイズを有することが予想されるピクチャの場合は、余分なオーバーヘッドを避けるために、適応クリッピングを使用不可能にすることができる。大きなコード化サイズを有することが予想されるピクチャ(例えば、ピクチャのグループのイントラピクチャまたは第1のインターピクチャ)の場合は、適応クリッピングを使用可能にすることができる。
コード化サイズの考慮は、閾値n%およびパラメータT、Tを調整することによって、方法300に組み入れることができる。例えば、大きなコード化サイズを有することが予想されるピクチャの場合は、n%を小さな値に設定することができ(すなわち、適応クリッピングを使用可能にするための条件を容易に満たすことができる)、小さなコード化サイズを有することが予想されるピクチャの場合は、n%を大きな値に設定することができる。
エンコーダは、ステップ310を条件付きで実行することができ、例えば、エンコーダは、m>BL=0の場合にのみステップ310を実行する。同様に、エンコーダは、ステップ315を条件付きで実行することができ、例えば、エンコーダは、M<BU=2bitdepth-1の場合にのみステップ315を実行する。この理由は、m<BL=0またはM>BU=2bitdepth-1の場合、BL=0およびBU=2bitdepth-1での非適応クリッピングの方が、適応クリッピングより性能が優れているためである。
別の例では、量子化パラメータが高い際は、歪みは高く、歪みを低減するためにクリッピングを適用することがより有益であり得る。従って、量子化パラメータの増加と共に、パラメータTおよびTを増加することができる。また、エンコーダは、パラメータn%、TおよびTを決定する際に、コード化サイズ(すなわち、ビットレート)と歪みの両方を考慮することもできる。
方法300は、適応クリッピングがピクチャレベルで実行される際の方法を説明する。また、方法300は、適応クリッピングがシーケンスレベル、スライスレベル、CTUレベルまたは他のコード化レベルで実行される際に相応に調整することもできる。別の変形形態では、エンコーダは、適応クリッピングを使用可能にするか否かを決定するため、信号限度の代わりに、クリッピング限度に近い画素の数をチェックすることもできる。適応クリッピングが低いレベル(例えば、CTUレベル)で実行される際は、決定は、CTUを符号化する前に行うことができ、個々のCTUに対して適応クリッピングを使用可能にするかどうかを示すフラグは、エントロピー符号化することができる。
図4Aは、本原理の実施形態による、クリッピング限度を符号化するための例示的な方法400を描写する。
ステップ410では、エンコーダは、初期化ステップを実行することができ、例えば、映像データを表すために使用されるビット深度(bitdepth)、映像データのクリッピング限度(Ylow,Yhigh)およびクリッピングパラメータを量子化するために使用される量子化器のビットの数(qshift)にアクセスする。エンコーダは入力/出力データを表すために、あるビット深度(例えば、8ビット)を使用することや、内部符号化プロセスのために、別のビット深度(例えば、10ビット、12ビット)を使用することができることに留意されたい。ここでは、「bitdepth」という変数の値は、クリッピングが起こる段階におけるデータを表すために使用されるビット深度に相当する。例えば、復号済みの出力映像データにクリッピングが適用される際は、bitdepth=8であり、イントラ予測後にクリッピングが適用される最または内部ビット深度10で動作する他のモジュールの際は、bitdepth=10である。
特定の実施形態では、エンコーダは、初期化ステップの間に差を演算する(ステップ420において)ために使用される予測因子(参照クリッピング限度とも呼ばれる)の値を導き出すことができる。図4Cは、参照予測因子を導き出すための例示的な方法を描写し、クリッピング値が、スライス/ピクチャレベルで格納され、参照ピクチャリスト(すなわち、インター予測のために使用される参照ピクチャのリスト)のフレームにアクセスするために使用される規則に適合する規則を用いてアクセスされる事例におけるものである。この事例では、既に復号されているピクチャに付随する既に復号されているクリッピング限度および対応するPOCは、前記ピクチャと共に、参照ピクチャセット(RPS)(すなわち、ピクチャと関連付けられた参照ピクチャのセットであり、復号順番において関連ピクチャの前のすべての参照ピクチャからなり、関連ピクチャまたは復号順番において関連ピクチャに続く任意のピクチャのインター予測のために使用することができる)に格納される。
ステップ1410では、現在のピクチャがイントラコード化スライスを含む場合は、参照予測因子は設定されない(1412)。そうでなければ、ステップ1413において、bestDeltaPOCが初期化される。例として、bestDeltaPOC(POCの最高差)は、無限大に初期化される。POCは、各ピクチャと関連付けられた変数であり、コード化映像シーケンスのすべてのピクチャの中で関連ピクチャを一意的に識別する変数である。以下では、POC_refは、参照ピクチャのPOCであり、POC_currentは、コード化予定の現在のピクチャのPOCである。
ステップ1414では、RPSのすべての参照ピクチャにわたるループが開始される。現在のピクチャをコード化するための参照としてRPSのピクチャが使用される場合(1415)は、方法はステップ1416を続行し、そうでなければ、方法はステップ1421を続行する。参照ピクチャのクリッピング限度を使用可能にする場合(1416)は、方法はステップ1417を続行し、そうでなければ、方法はステップ1421を続行する。POCの差(deltaPOC)が、これまでに見出されたPOCの最高差の絶対値より小さい場合(1417)は、方法はステップ1420を続行し、そうでなければ、方法はステップ1418を続行する。deltaPOCとbestDeltaPOCの絶対値が等しい場合(1418)は、方法はステップ1419を続行し、そうでなければ、方法はステップ1421を続行する。POCの差が正(変形形態では負)の場合(1419)は、方法はステップ1420を続行し、そうでなければ、方法はステップ1421を続行する。ステップ1420では、POCの最高差(bestDeltaPOC)および最高POC(bestPOC)はそれぞれ、POCの差および現在処理されている参照ピクチャのPOCと等しく設定される。RPSのすべてのピクチャが処理されると、ループは終了し(1421)、方法はステップ1422を続行する。POCの最高差(bestDeltaPOC)がその初期値と等しい場合(1422)は、方法はステップ1412を続行する。そうでなければ、参照クリッピング限度は、POCがbestPOCと等しい参照ピクチャの復号済みのクリッピング限度と等しく設定される(成分cdx毎に)(1423)。これらの参照クリッピング限度は、以下では、ClipMinRefVal[cdx]およびClipMaxRefVal[cdx]と呼ばれる。
変形形態では、ステップ1416が省略される場合は、クリッピング限度が有効化されていない参照ピクチャのクリッピング限度は、従来のクリッピング値(すなわち、下限は0および上限は(1<<BitDepth)-1に設定される。
固定予測因子
圧縮効率を高めるため、クリッピング限度は、差動符号化することができる。ルマ限度の場合は、下限は、0に近い可能性が高く、上限は、2bitdepthに近い可能性が高く、
=Ylow、B=2bitdepth−Yhigh (4)
として計算することができ(420)、式中、YlowおよびYhighはそれぞれ、ルマ成分に対するクリッピングの下限および上限である。ここでは、0および2bitdepthはそれぞれ、YlowおよびYhighの予測因子として見ることができる。0および2bitdepthは、コンテンツによって変化しないため、クリッピング限度の固定予測因子とも呼ばれ、符号化方法は、固定予測因子を用いた差動符号化方法と呼ばれる。また、例えば、10ビットの限られた範囲のデータに対して64および940など、他の固定予測因子を使用することもできる。固定予測因子は、既知数でも、エンコーダとデコーダの両方において生成することも可能であるため、一般に、固定予測因子の値は、ビットストリームで伝送する必要はない。
上限の差は、2bitdepth-1の代わりに、2bitdepthを使用して計算されることに留意されたい。これにより、クリッピング限度における損失なしで差の量子化および非量子化が可能になる。
クリッピング下限は、通常、ビット深度によって表すことができる最大値の半分より小さく(すなわち、Ylow<2bitdepth-1)、クリッピング上限は、通常、ビット深度によって表すことができる最大値の半分より大きい(すなわち、Yhigh>2bitdepth-1)ことが実験から観察される。従って、AおよびBは、ビット深度(bdd=bitdepth-1)で表すことができる。従って、固定長コードを使用してAおよびBを符号化する際、いくつかのビットを節約することができる。
ステップ430では、差が量子化されるが、それは、エンコーダの内部ビット深度が10であるかまたはそれより高い一方で、ほとんどのコンテンツが未だ8ビットであるため、有益であり得る。ここでは、量子化は、精度に関してほとんど犠牲にすることなく、符号化予定の差のダイナミックレンジを低減することができる。
量子化は、qshiftビットの右シフトとして実行することができる。
=A>>qshift、B=B>>qshift (5)
およびBは負ではないことに留意されたい。量子化器の選択は、オリジナル映像データを表すために使用されるビット深度(bitdepth0)およびクリッピング段階におけるビット深度(bitdepth)に基づき得る。一例では、差の量子化が、エンコーダにおける内部ビット深度の増加によって生じるアップスケーリングを相殺するように、qshiftは、表1に示されるように、bitdepthとbitdepth0=8との差に基づいて選ばれる。
Figure 2019521571
この量子化方法を使用することで、再構築された値は、逆シフトによって計算することができる(丸めなし)。
Figure 2019521571
量子化および非量子化の後、下限に対する再構築された値
Figure 2019521571

は、一般に、符号化前の下限(Ylow)より小さく、上限に対する再構築された値
Figure 2019521571

は、一般に、符号化前の上限(Yhigh)より大きい。
適応予測因子
別の実施形態では、コンテンツによって、下限および上限クリッピングの予測因子を変化させることもできる。それらの予測因子は、クリッピング限度の適応予測因子と呼ばれ、符号化方法は、適応予測因子を用いた差動符号化方法と呼ばれる。適応予測因子(pred,pred)を使用することで、
=Ylow−pred、B=Yhigh−pred (7)
として差を計算すること(420)ができる。
およびBは適応予測因子に基づいて計算され、値は正、ゼロまたは負であり得ることに留意されたい。従って、差を量子化するために、式(5)で説明されるように量子化プロセスが調整される。下限差の場合、量子化は、
If A>0,A=A>>qshift
Else A=-1((|A|+(1<<qshift)-1))>>qshift) (8)
として実行することができる。
上限差の場合、量子化は、
If B<0,B=-1(|B|>>qshift)
Else B=(B+(1<<qshift)-1))>>qshift (9)
再構築された差値は、逆シフトによって計算することができ、
Figure 2019521571

再構築されたクリッピング限度は、
Figure 2019521571

である。
式(8)および(9)で説明されるように量子化方法を使用することで、下限に対する再構築された値
Figure 2019521571

は、一般に、符号化前の下限(Ylow)より小さく、上限に対する再構築された値
Figure 2019521571

は、一般に、符号化前の上限(Yhigh)より大きい。
図5は、例を使用して、AおよびBの量子化および非量子化を示す。この例では、qshift=2、Ad=7、Bd=13、predl=2、predu=800、Ylow=9、Yhigh=813と設定される。量子化では、Aq=7>>2=1、Bq=(13+(1<<2)-1)>>2=4であり、非量子化では、
Figure 2019521571

である。この例では、再構築されたクリッピング下限は、符号化前の下限より小さく、再構築されたクリッピング上限は、符号化前の上限より大きい。すなわち、
Figure 2019521571

である。従って、入力オリジナルクリッピング限度が9〜813で画素値を維持する間、再構築されたクリッピング限度は6〜816で画素値を維持することになる。通常、クリッピング範囲を拡大することによって生じる歪みは、クリッピング範囲を圧縮することによって生じる歪みより小さい。従って、提案される量子化は、歪みを低減することによって圧縮効率に利益をもたらすことができる。
クリッピング限度の量子化および再構築のために他の量子化および逆量子化方法を使用できることに留意すべきである。任意選択により、
Figure 2019521571

の改善を計算して(440)、ビットストリームで示すこともできる。
Figure 2019521571

改善が用いられる場合は、再構築されたクリッピング限度は、改善値も含むべきである。
エンコーダとデコーダが同じクリッピング動作を実行するようにするため、再構築されたクリッピング限度は、映像データをクリップするためにエンコーダ側で使用され(455)、復号済みのクリッピング限度は、映像データをクリップするためにデコーダ側で使用される。本出願では、交換可能に「再構築された」および「復号済みの」と言及し得る。
ステップ450では、量子化済みの差(すなわち、A、B)および任意選択により改善値(すなわち、A、B)は符号化される。改善値は、可変長コード化を使用して符号化することができる。また、適応予測因子(すなわち、pred、pred)を符号化してビットストリームに埋め込むこともできる。
表2は、スライスヘッダにおいてクリッピングパラメータが信号伝達される際の例示的な構文表を示す。この例では、改善は考慮されない。また、構文要素は、ピクチャレベル、シーケンスレベル、CTUレベルおよび他のコード化レベルで信号伝達することができる。
Figure 2019521571
1に等しいadaptive_clipping_slice_flagは、現在のスライスに対して適応クリッピングを有効化する。有効化されない場合は、デフォルトクリッピング限度(典型的には、下限および上限に対してそれぞれ0および(1<<BitDepth)-1がクリッピングに使用される。
qshift_idxは、表1で指定されるようにqshiftの値を指定する。映像シーケンスを符号化する際、第1のスライスは、クリッピング限度の固定予測因子を使用して符号化されることに留意されたい。従って、後続のスライスに対するqshiftの値は、第1のスライスから得ることができる。
Figure 2019521571
clip_min_delta_quant_fixed_predictor[cIdx]は、色成分cIdxのクリッピング下限差の量子化された値を指定する。clip_min_delta_quant_fixed_predictor[cIdx]を表すために使用されるビットの数は、(bdd-qshift)であり、bdは、クリッピング限度差(例えば、式(4)のようなA、B)を表すために使用されるビットの数である。記述子u(v)は、符号なしの整数として構文解析プロセスを表し、構文表の「v」は、ビットの数が他の構文要素の値に応じて変化することを示す。
clip_max_delta_quant_fixed_predictor[cIdx]は、色成分cIdxのクリッピング上限差の量子化された値を指定する。clip_max_delta_quant_fixed_predictor[cIdx]を表すために使用されるビットの数は、(bdd-qshift)である。
Figure 2019521571
clip_min_delta_quant_adaptive_predictor[cIdx]は、色成分cIdxのクリッピング下限差の量子化された値を指定する。記述子se(v)は、左ビットが先頭の符号付き整数0次指数ゴロムコード化構文要素として構文解析プロセスを表す。
clip_max_delta_quant_adaptive_predictor[cIdx]は、色成分cIdxのクリッピング上限差の量子化された値を指定する。
エンコーダおよびデコーダ初期化では、クリッピング下限および上限の値(ClipMinRefVal[cIdx]およびClipMaxRefVal[cIdx])はそれぞれ、0および(1<<BitDepth[cIdx])-1に設定することができ、BitDepthは、色成分cIdxの内部ビット深度である。
adaptive_clipping_slice_flagが1に等しい場合、
− clip_code_fixed_predictor_flagが1に等しい場合、予測因子PredictorMin[cIdx]およびPredictorMax[cIdx]はそれぞれ、0および(1<<BitDepth[cIdx])に設定される。clip_min_delta_quant[cIdx]およびclip_max_delta_quant[cIdx]の値は、以下のように導き出される。
clip_min_delta_quant[cIdx]=clip_min_delta_quant_fixed_predictor[cIdx]
clip_max_delta_quant[cIdx]=clip_max_delta_quant_fixed_predictor[cIdx]
復号済みのクリッピング下限および上限の値(ClipMinVal[cIdx]およびClipMaxVal[cIdx])は、以下のように導き出される。
ClipMinVal[cIdx]=PredictorMin[cIdx]+(clip_min_delta_quant[cIdx]<<qshift)
ClipMaxVal[cIdx]=PredictorMax[cIdx]-(clip_max_delta_quant[cIdx]<<qshift)
if (ClipMaxVal[cIdx]>(1<<BitDepth)-1)ClipMaxVal[cIdx]=(1<<BitDepth)-1
− そうでなければ(clip_code_fixed_predictor_flagが0に等しい場合)、clip_min_delta_quant[cIdx]およびclip_max_delta_quant[cIdx]の値は、以下のように導き出される。
clip_min_sign[cIdx]=Sign(clip_min_delta_quant_adaptive_predictor[cIdx])
clip_max_sign[cIdx]=Sign(clip_max_delta_quant_adaptive_predictor[cIdx])
clip_min_delta_quant[cIdx]=Abs(clip_min_delta_quant_adaptive_predictor[cIdx])
clip_max_delta_quant[cIdx]=Abs(clip_max_delta_quant_adaptive_predictor[cIdx])
式中、
Figure 2019521571

である。下限および上限の予測因子PredictorMin[cIdx]およびPredictorMax[cIdx]の値はそれぞれ、最後に復号されたClipMinRefVal[cIdx]およびClipMaxRefVal[cIdx]に更新することができる。別の更新ポリシは、復号する現在のフレームの参照ピクチャバッファにおいて利用可能な時間的に最も近い復号済みのフレームのClipMinVal[cIdx]およびClipMaxVal[cIdx]にPredictorMin[cIdx]およびPredictorMax[cIdx]を設定することである。別の更新ポリシは、復号する現在のフレームの参照ピクチャバッファにおいて利用可能な時間的に最も近い復号済みのフレームのClipMinRefVal[cIdx]およびClipMaxRefVal[cIdx]にPredictorMin[cIdx]およびPredictorMax[cIdx]を設定することである。クリッピング下限および上限の値(ClipMinVal[cIdx]およびClipMaxVal[cIdx])は、以下のように導き出される。
ClipMinVal[cIdx]=PredictorMin[cIdx]+clip_min_sign[cIdx]*(clip_min_delta_quant[cIdx]<<qshift)
ClipMaxVal[cIdx]=PredictorMax[cIdx]+clip_max_sign[cIdx]*(clip_max_delta_quant[cIdx]<<qshift)
adaptive_clipping_slice_flagが0に等しい場合、ClipMinVal[cIdx]およびClipMaxVal[cIdx]の値はそれぞれ、0および(1<<BitDepth)-1に設定される。
上記では、スライスレベルでクリッピングパラメータを符号化することについて論じられている。クリッピングパラメータがより低いレベル(例えば、CTUレベル)で符号化される際は、差は、文脈予測因子を使用して(例えば、最後のCTUの値、参照ピクチャバッファにおけるクローゼットフレームの同一場所に配置されたCTUの値またはその周辺のCTU値の平均を使用して)演算することができる。
クリッピングパラメータがピクチャレベルで符号化される特定の事例では、代替の構文は、表5および表6で描写されるように定義することができる。この構文では、クリッピングパラメータは、ピクチャレベルで設定するために、第1のスライスにおいてのみ符号化される。あるいは、qshift_idxは、PPSレベルで符号化され、すべてのピクチャに共通である。この事例では、1に等しいadaptive_clipping_slice_flagは、現在のピクチャに対して適応クリッピングを有効化する。1に等しいadaptive_clipping_enabled_flagは、全シーケンスに対して適応クリッピングを使用可能にする。
Figure 2019521571
Figure 2019521571
図4Bは、本原理の実施形態による、クリッピング限度を復号するための例示的な方法400aを描写する。方法400aの入力は、方法400の出力であり得る。ステップ460では、デコーダは、初期化を実行することができ、例えば、映像データを表すために使用されるビット深度(bitdepth)、クリッピング限度の予測因子およびクリッピングパラメータを量子化するために使用される量子化器のビットの数(qshift)にアクセスする。ステップ465では、量子化済みのクリッピング限度差および任意選択により改善は、ビットストリームから復号することができる。クリッピング限度は、クリッピング限度の復号済みの差および予測因子に基づいて、例えば、式(6)または(11)を使用して、量子化済みのクリッピング限度差を非量子化することによって復号することができる。改善が用いられる場合は、最終的なクリッピング限度を得るために、改善を最初に復号されたクリッピング限度と組み合わせることもできる(480)。次いで、復号済みのクリッピング限度に基づいて、映像データがクリップされる(485)。
図4Dは、本原理の実施形態による、クリッピング値がスライス/ピクチャレベルで格納され、参照ピクチャリストのフレームにアクセスするためのポリシに適合するポリシを用いてアクセスされる際の参照予測因子を導き出すための初期化の例示的な方法を描写する。このポリシを使用すると、既に復号されているピクチャに付随する既に復号されているクリッピング限度および前記ピクチャの対応するPOCは、参照ピクチャセット(RPS)に格納される。方法は、図4Cを参照して説明されるエンコーダのものと同様である。図4Cのステップと同一のステップは、同一の参照番号で識別されており、さらには説明しない。デコーダ側では、RPSに格納された値から参照クリッピング限度を導き出すことは、clip_code_fixed_predictor_flagがx(例えば、x=0またはx=1)に等しい値を有する際(1411)にのみ起こり、clip_code_fixed_predictor_flagに対するxの値は、固定クリッピング予測因子が使用されることを示す。
図6は、本原理の実施形態による、固定予測因子または適応予測因子でクリッピング限度を符号化するための例示的な方法600を示す。初期化ステップ(605)では、エンコーダは、映像データを表すために使用されるビット深度にアクセスし、クリッピング下限および上限の固定予測因子をそれぞれ生成することができる。ステップ610では、エンコーダは、例えば、方法400を使用して、式(4)で説明されるように計算された差を用いて、固定予測因子でクリッピング限度を符号化する。ステップ620では、固定予測因子での符号化コストが計算される。
ステップ630では、エンコーダは、例えば、方法400を使用して、式(7)で説明されるように計算された差を用いて、適応予測因子でクリッピング限度を符号化する。ステップ640では、適応予測因子での符号化コストが計算される。ステップ650では、エンコーダは、固定予測因子での方法の符号化コストと、適応予測因子での方法の符号化コストを比較する。固定クリッピング予測因子での符号化方法の方が低いコストを有する場合は、例えば、clip_code_fixed_predictor_flag=1と設定することによって、固定クリッピング予測因子を使用することを示すようにフラグが符号化される。固定予測因子は、通常、デコーダで生成することができるため、固定予測因子を符号化してビットストリームに埋め込むことはせず、例えば、上記で説明されるようなCodeClipping_fixed_predictor()を使用して、量子化済みのクリッピング限度差および任意選択の改善のみが符号化される。そうでなければ、例えば、clip_code_fixed_predictor_flag=0と設定することによって、適応クリッピング予測因子を使用することを示すようにフラグが符号化され、クリッピング限度は、例えば、上記で説明されるようなCodeClipping_adaptive_predictor()という構文構造を使用して、適応予測因子で符号化される。
上記では、エンコーダは、図3に示されるような適応クリッピングを使用可能にするかどうかを判断できることが説明されている。それに加えて、エンコーダが適応クリッピングを使用可能にすることを最初に決定した場合であっても、エンコーダは、例えば、bitdepthの代わりに(bdd=bitdepth-1)のビット深度でAおよびBを表すことによって生じた誤差をチェックすることによって、符号化前のクリッピング限度と再構築されたクリッピング限度との誤差が閾値を超えるかどうかをチェックすることもできる。
図7は、本原理の実施形態による、固定予測因子または適応予測因子でクリッピング限度を復号するための例示的な方法700を示す。方法700の入力は、方法600の出力であり得る。初期化(705)では、デコーダは、映像データを表すために使用されるビット深度にアクセスすることができる。ステップ710では、デコーダは、固定クリッピング予測因子を使用するか否かを示すフラグを復号する。肯定の場合(720)は、デコーダは、ステップ730において、例えば、ビット深度に基づいて、クリッピング下限および上限の固定予測因子をそれぞれ生成する。次いで、ステップ740において、例えば、方法400aを使用して、固定予測因子を用いて、クリッピング限度を復号することができる。
そうでなければ、デコーダは、ステップ750において、ビットストリームから、クリッピング下限および上限の適応予測因子をそれぞれ復号する。次いで、ステップ760において、例えば、方法400aを使用して、適応予測因子を用いて、クリッピング限度を復号することができる。
符号化方法600では、適応予測因子は、ビットストリームで明示的に伝送することも、以前に符号化されたピクチャに基づいて導き出すこともできる。例えば、現在のスライスの適応予測因子は、上記で説明されるように、最も近い復号済みのフレームに基づく。以前に符号化されたピクチャに基づいて適応予測因子が導き出される際は、ピクチャのグループ内の第1のコード化単位は、通常、固定予測因子で符号化される。復号方法700は、適応予測因子を正しく復号するために相応に設計すべきである。
適応残差スムージング
図8Aは、本原理の実施形態による、現在のブロックを符号化するための例示的な方法800を示す。ステップ810では、例えば、イントラ予測またはインター予測を通じて、予測ブロックが形成される。ステップ820では、現在のオリジナルブロックと予測ブロックとの差として残差ブロックを計算することができる。ステップ830では、符号化済みの変換ブロックを形成するために、残差ブロックの変換および量子化が行われる。ステップ840では、復号済みの残差ブロックを形成するために、符号化済みの変換ブロックの逆変換および非量子化が行われる。ステップ850では、復号済みの残差ブロックと予測ブロックの総和を求めることによって、再構築されたブロックを得ることができる。ステップ860では、再構築されたクリップ済みのブロックを生成するために、クリッピングを実行することができる。
以下では、例として3×3ブロックを使用して、符号化方法についてさらに詳細に論じる。
オリジナルブロックを
Figure 2019521571

と想定し、予測ブロックを
Figure 2019521571

と想定する。次いで、残差ブロックは、
Figure 2019521571

である。変換および量子化の後、符号化済みの変換されたブロックは、
Figure 2019521571

である。逆変換および逆量子化の後、復号済みの残差ブロックは、
Figure 2019521571

である。再構築されたブロックは、
Figure 2019521571

として計算することができる。クリッピング上限を1000とすると、再構築されたクリップ済みのブロックは、
Figure 2019521571

である。オリジナルブロックと再構築されたクリップ済みのブロックとの間の歪みは、Dist0=5277である。
上記の例から、残差係数(すなわち、行列Resの要素)間の変動のため、変換されたブロックの最高周波数で非ゼロ変換係数(すなわち、行列TQの−2)が存在することに気づく。非ゼロ高周波数変換係数の符号化は通常は高価であるため、高周波数での非ゼロ係数の発生を低減するように残差をスムーズにすることが提案される。例えば、オリジナルブロックの対応する画素の値がクリッピング上限に近い場合は、残差の値を増加し、オリジナルブロックの対応する画素の値がクリッピング下限に近い場合は、残差の値を減少することができる。残差値の増加または減少は、クリッピング後、再構築された画素値をほとんど変更することなく、残差をスムーズにすることができるため、エンコーダは、追加の歪みをほとんど招くことなく、予測残差の符号化においてビットレートを低減することができる。
図8Bは、本原理の実施形態による、適応残差スムージングを用いて現在のブロックを符号化するための例示的な方法800aを示す。ステップ810〜860は、方法800で使用されるものと同様であり、追加のステップ870は、適応残差スムージングを実行する。
以下では、方法800に対して使用されるものと同じオリジナルブロックを使用して、残差スムージングを用いた符号化方法について論じる。
オリジナルブロックが
Figure 2019521571

であり、予測ブロックが
Figure 2019521571

である場合、残差ブロック
Figure 2019521571

は、適応残差スムージングを使用して調整される。具体的には、y0,0=1000およびy1,1=1000がクリッピング上限にあり、対応する位置における残差(すなわち、Res0,0=20およびres1,1=-20)がチェックされる。これらの2つの選ばれた位置に対し、例えば、選ばれた位置(すなわち、Res0,0およびres1,1)を除く全ブロックResの平均を使用して、ローパスフィルタリングされた値が計算される。この例の場合、ローパスフィルタリングされた値は、V=(300+100+500+300+200+100+100)/7=229として計算される。VはRes0,0およびres1,1より大きいため、クリッピング上限におけるクリッピング段階において増加(すなわち、V-Res0,0=219およびV-res1,1=259)を相殺することができるため、残差Res0,0およびres1,1は、Vと置き換えられる。従って、残差のスムージングおよび修正が行われても、再構築されたブロックがクリップされた後は、ブロックに対する歪みは、残差スムージングなしのものと比べて、必ずしも増加するとは限らない。従って、クリッピングプロセスを活用することによって、圧縮効率を高めることができる。
次いで、適応残差スムージングの後の残差ブロックは、
Figure 2019521571

になる。変換および量子化の後、符号化済みの変換されたブロックは、
Figure 2019521571

である。適応スムージングなしの符号化済みの変換ブロックTQとは異なり、最高周波数における係数は0であり、エネルギーは低周波数(左上)においてさらに圧縮され、従って、符号化するビットの数の観点から安価であり得る。逆変換および逆量子化の後、復号済みの残差ブロックは、
Figure 2019521571

である。再構築されたブロックは、
Figure 2019521571

として計算することができる。クリッピング上限を1000とすると、再構築されたクリップ済みのブロックは、
Figure 2019521571

である。オリジナルブロックと再構築されたクリップ済みのブロックとの間の歪みは、Dist1=4852であり、これは、残差スムージングなしのDistより小さい。従って、適応残差スムージングは、ビットを節約しながら、歪みを低減することもできる。
図9は、本原理の実施形態による、エンコーダにおいて残差スムージングを実行するための例示的な方法900を示す。ステップ905では、エンコーダは、初期化を実行し、例えば、クリッピング下限および上限にアクセスし、オリジナル入力ブロック、予測ブロックおよび残差ブロックにアクセスする。ステップ910では、エンコーダは、例えば、1つまたは複数の閾値と比べて、オリジナルブロックまたは予測ブロックの画素値がクリッピング下限または上限に近い場所を選ぶことによって、残差スムージングを実行することになるブロックの場所を特定する。一例では、閾値を0に設定することができ、従って、まさに限度における値を有する要素のみがスムーズにされる。別の例では、閾値は、量子化パラメータの増加と共に増加し得る。
ステップ915では、エンコーダは、ステップ910において1つまたは複数の画素場所が選ばれたかどうかをチェックする。肯定の場合は、エンコーダは、例えば、ローパスフィルタまたはブロックの残差の平均(選ばれた場所を除く)を使用して、ブロックに対するスムージング済みの残差値Vを計算する(920)。変形形態では、スムーズな残差値は、ブロックの選ばれた場所に対して個別に計算することができる。
次いで、現在の選ばれた場所における残差値をスムーズにするため、エンコーダは、対応する画素がクリッピング上限に近いことを理由に場所が選ばれ、スムージング済みの残差値Vが現在の残差より大きいか、あるいは、対応する画素がクリッピング下限に近いことを理由に場所が選ばれ、スムージング済みの残差値Vが現在の残差より小さいかどうかをチェックする(935)。肯定の場合は、現在の残差resi,jは、スムージング済みの残差値Vと置き換えられる。すなわち、残差値がクリッピング限度に近く、高周波数変換係数をもたらす可能性がある場合は、残差ブロックの変動を低減するためにクリッピング限度をはるかに超えるように残差値を修正する(それにより、変換ブロックのエネルギーを圧縮する)。次いで、残差スムージングによって生じる過度の残差値は、クリッピング後、クリッピング限度によって定義される範囲内に制限することができ、通常、歪みの大幅な増加を引き起こすことはない。従って、提案される残差スムージングは、歪みをそれほど増加することなく符号化コストを低減することができ、通常、圧縮効率を高めることができる。
適応残差スムージングは、反復して実行することができる。例えば、残差ブロック
Figure 2019521571

の場合、第1の反復では、ブロックの平均を計算して(V0=(20+300+100+500-20+300+200+100+100)/9=178)、Res0,0およびres1,1を置き換えるために使用することができ、残差ブロックは、
Figure 2019521571

になる。第2の反復では、ブロックの平均を計算して(V1=(178+300+100+500+178+300+200+100+100)/9=218)、
Figure 2019521571

を置き換えるために使用することができ、残差ブロックは、
Figure 2019521571

になる。反復は、反復の数が閾値に達するかまたは
Figure 2019521571

になるまで続けることができる。
ステップ950では、エンコーダは、さらなる特定場所を処理するかどうかをチェックする。肯定の場合は、制御は、ステップ935に戻る。そうでなければ、例えば、方法800aのステップ830〜860を使用して、修正済みの残差ブロックが符号化され、復号済みのクリップ済みのブロックが再構築される。また、エンコーダは、適応残差スムージングを使用するか否かを判断するために、レート歪み最適化(RDO)を実行することもできる。
上記では、クリッピング下限および上限に対する符号化および復号方法、または、クリッピング下限および上限に基づいて適応残差スムージングを適用する方法が説明されている。異なる変形形態では、単にクリッピング下限かまたはクリッピング上限に対して符号化および復号を実行することも、単にクリッピング下限かまたはクリッピング上限に基づいて残差スムージングを実行することもできる。
様々な実施形態は、HEVC規格に関して説明されている。しかし、本原理は、HEVCに限定されず、他の規格、推奨およびその拡張に適用することができる。
上記では、様々な方法が説明されており、方法の各々は、説明される方法を達成するための1つまたは複数のステップまたは行動を含む。方法の正しい動作に対してステップまたは行動の特定の順番が必要とされない限り、特定のステップおよび/または行動の順番および/または使用は、修正することも、組み合わせることもできる。
図10は、本原理の例示的な実施形態の様々な態様を実装することができる例示的なシステムのブロック図を示す。システム1000は、以下で説明される様々なコンポーネントを含むデバイスとして具体化することができ、上記で説明されるプロセスを実行するように構成される。そのようなデバイスの例は、これらに限定されないが、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビレシーバ、パーソナル映像記録システム、接続された家庭用器具およびサーバを含む。システム1000は、上記で説明される例示的な映像システムを実装するために、図10に示されるようなおよび当業者によって知られているような通信チャネルを介して、他の同様のシステムおよびディスプレイに通信可能に結合することができる。
システム1000は、上記で論じられるような様々なプロセスを実装するためにその中にロードされた命令を実行するように構成された少なくとも1つのプロセッサ1010を含み得る。プロセッサ1010は、当技術分野で知られているような埋め込みメモリ、入力出力インタフェースおよび様々な他の回路を含み得る。また、システム1000は、少なくとも1つのメモリ1020(例えば、揮発性メモリデバイス、不揮発性メモリデバイス)も含み得る。それに加えて、システム1000は、不揮発性メモリを含み得る記憶装置1040を含み得、これらに限定されないが、EEPROM、ROM、PROM、RAM、DRAM、SRAM、フラッシュ、磁気ディスクドライブおよび/または光ディスクドライブを含む。記憶装置1040は、非限定的な例として、内部記憶装置、取り付けられた記憶装置および/またはネットワークアクセス可能記憶装置を含み得る。また、システム1000は、符号化済みの映像または復号済みの映像を提供するためにデータを処理するように構成されたエンコーダ/デコーダモジュール1030も含み得る。
エンコーダ/デコーダモジュール1030は、符号化および/または復号機能を実行するためにデバイスに含めることができるモジュールを表す。知られているように、デバイスは、符号化および復号モジュールの一方または両方を含み得る。それに加えて、エンコーダ/デコーダモジュール1030は、当業者に知られているように、システム1000の別個の要素として実装することも、ハードウェアとソフトウェアの組合せとしてプロセッサ1010内に組み込むこともできる。
上記で説明される様々なプロセスを実行するためにプロセッサ1010にロードされる予定のプログラムコードは、記憶装置1040に格納し、その後、プロセッサ1010による実行のためにメモリ1020にロードすることができる。本原理の例示的な実施形態によれば、プロセッサ1010、メモリ1020、記憶装置1040およびエンコーダ/デコーダモジュール1030のうちの1つまたは複数は、本明細書で上記で論じられるプロセスの実行の間、様々なアイテムのうちの1つまたは複数を格納することができ、これらに限定されないが、基層入力映像、強化層入力映像、方程式、公式、行列、変数、動作および動作論理を含む。
また、システム1000は、通信チャネル1060を介して他のデバイスとの通信を可能にする通信インタフェース1050も含み得る。通信インタフェース1050は、これらに限定されないが、通信チャネル1060からデータを送信および受信するように構成されたトランシーバを含み得る。通信インタフェースは、これらに限定されないが、モデムまたはネットワークカードを含み得、通信チャネルは、有線および/または無線媒体内で実装することができる。システム1000の様々なコンポーネントは、これらに限定されないが、内部バス、ワイヤおよびプリント回路基板を含む様々な適切な接続を使用して、共に、接続または通信可能に結合することができる。
本原理による例示的な実施形態は、プロセッサ1010によって実装されるコンピュータソフトウェアによって、ハードウェアによってまたはハードウェアとソフトウェアの組合せによって実行することができる。非限定的な例として、本原理による例示的な実施形態は、1つまたは複数の集積回路によって実装することができる。メモリ1020は、技術環境に適切ないかなるタイプのものでもあり得、非限定的な例として、光メモリデバイス、磁気メモリデバイス、半導体ベースのメモリデバイス、固定メモリおよび取り外し可能メモリなど、任意の適切なデータ格納置技術を使用して実装することができる。プロセッサ1010は、技術環境に適切ないかなるタイプのものでもあり得、非限定的な例として、マイクロプロセッサ、汎用コンピュータ、専用コンピュータおよびマルチコアアーキテクチャに基づくプロセッサのうちの1つまたは複数を包含し得る。
本明細書で説明される実装は、例えば、方法もしくはプロセス、装置、ソフトウェアプログラム、データストリーム、または、信号で実装することができる。実装の単一の形態の文脈においてのみ論じられる(例えば、方法としてのみ論じられる)場合であっても、論じられる特徴の実装は、他の形態(例えば、装置またはプログラム)でも実装することができる。装置は、例えば、適切なハードウェア、ソフトウェアおよびファームウェアで実装することができる。方法は、例えば、コンピュータ、マイクロプロセッサ、集積回路またはプログラマブル論理デバイスを含む、例えば、一般に処理デバイスを指す装置(例えば、プロセッサなど)で実装することができる。また、プロセッサは、例えば、コンピュータ、携帯電話、ポータブル/携帯情報端末(「PDA」)、および、エンドユーザ間の情報の通信を容易にする他のデバイスなどの通信デバイスも含む。
本原理の「一実施形態」、「実施形態」、「一実装」または「実装」およびその他の変形形態への言及は、実施形態と関係して説明される特定の特徴、構造、特性などを本原理少なくとも1つの実施形態に含めることができることを意味する。従って、本明細書全体を通じて様々な場所に現れる「一実施形態では」、「実施形態では」、「一実装では」または「実装では」という記載および他の任意の変形形態の出現は、必ずしもすべてが同じ実施形態を指すとは限らない。
それに加えて、この出願またはその請求項は、様々な情報片を「決定する」ことについて言及し得る。情報を決定することは、例えば、情報を推定すること、情報を計算すること、情報を予測すること、または、メモリから情報を回収することのうちの1つまたは複数を含み得る。
さらに、この出願またはその請求項は、様々な情報片に「アクセスすること」について言及し得る。情報にアクセスすることは、例えば、情報を受信すること、情報を回収すること(例えば、メモリから)、情報を格納すること、情報を処理すること、情報を送信すること、情報を移動すること、情報をコピーすること、情報を消去すること、情報を計算すること、情報を決定すること、情報を予測すること、または、情報を推定することのうちの1つまたは複数を含み得る。
それに加えて、この出願またはその請求項は、様々な情報片を「受信すること」について言及し得る。受信することは、「アクセスすること」と同様に、幅広い用語であることを意図する。情報を受信することは、例えば、情報にアクセスすること、または、情報を回収すること(例えば、メモリから)のうちの1つまたは複数を含み得る。さらに、「受信すること」は、典型的には、例えば、情報を格納すること、情報を処理すること、情報を送信すること、情報を移動すること、情報をコピーすること、情報を消去すること、情報を計算すること、情報を決定すること、情報を予測すること、または、情報を推定することなどの動作の間に、いろいろな方法で関与する。
当業者には明らかであるように、実装は、例えば、格納または送信することができる、情報を伝えるようにフォーマットされた様々な信号を生成することができる。情報は、例えば、方法を実行するための命令、または、説明される実装のうちの1つによって生成されたデータを含み得る。例えば、信号は、説明される実施形態のビットストリームを伝えるようにフォーマットすることができる。そのような信号は、例えば、電磁波として(例えば、スペクトルの高周波部分を使用して)またはベースバンド信号としてフォーマットすることができる。フォーマットすることは、例えば、データストリームを符号化すること、および、符号化済みのデータストリームで搬送波を変調することを含み得る。信号が伝える情報は、例えば、アナログまたはデジタル情報であり得る。信号は、知られているように、様々な異なる有線または無線リンク上で送信することができる。信号は、プロセッサ可読媒体上に格納することができる。

Claims (34)

  1. ピクチャを符号化してビットストリームに埋め込む方法であって、
    前記ピクチャのブロックに対する映像データの値を調整するために下限にアクセスすること(410)と、
    前記アクセスした下限を量子化すること(430)と、
    前記量子化のためのパラメータを符号化して前記ビットストリームに埋め込むことであって、前記量子化のための前記パラメータが、前記ブロックに対する前記映像データを表すために使用されるビット深度に基づく、符号化して前記ビットストリームに埋め込むことと、
    前記量子化済みの下限を符号化して前記ビットストリームに埋め込むこと(450)と、
    再構築された下限を形成するために、前記量子化済みの下限を非量子化すること(455)と、
    前記再構築された下限より大きくなるように前記ブロックに対する映像データの前記値を調整すること(455)と、
    前記ピクチャの前記ブロックを符号化して前記ビットストリームに埋め込むことと
    を含む、方法。
  2. 前記ピクチャの前記ブロックに対する映像データの前記値を調整するために上限および前記上限の予測因子にアクセスすること(410)と、
    前記アクセスした上限と前記予測因子との差を量子化すること(430)と、
    前記量子化済みの差を符号化して前記ビットストリームに埋め込むこと(450)と、
    復号済みの差を形成するために、前記量子化済みの差を非量子化すること(455)と、
    再構築された上限より小さくなるように前記ブロックに対する映像データの前記値を調整すること(455)であって、前記再構築された上限が、前記復号済みの差および前記予測因子に基づいて形成される、調整すること(455)と
    をさらに含む、請求項1に記載の方法。
  3. 前記再構築された下限が、前記アクセスした下限より小さい、請求項1または2に記載の方法。
  4. 前記再構築された上限が、前記アクセスした上限より大きい、請求項2に記載の方法。
  5. 前記差が、(bitdepth-1)ビットによって表され、bitdepthが、前記ブロックに対する前記映像データを表すために使用されるビット深度である、請求項2〜4のいずれか一項に記載の方法。
  6. 前記ブロックの前記アクセスした下限に近い値を有する画素の数を決定すること(310、315)と、
    前記決定された画素の数に基づいて、前記量子化済みの下限を符号化して前記ビットストリームに埋め込むかどうかを決定すること(330)と
    をさらに含む、請求項1〜5のいずれか一項に記載の方法。
  7. ビットストリームからピクチャを復号する方法であって、
    前記ビットストリームから量子化済みの下限にアクセスすること(470)と、
    再構築された下限を形成するために、前記量子化済みの下限を非量子化すること(480)であって、前記非量子化のためのパラメータが、前記ビットストリームで信号伝達される、非量子化すること(480)と、
    前記ビットストリームから前記ピクチャの前記ブロックを復号することと、
    前記再構築された下限より大きくなるように前記ブロックに対する映像データの値を調整すること(485)と
    を含む、方法。
  8. 前記ピクチャの前記ブロックに対する映像データの前記値を調整するために上限の予測因子にアクセスすること(460)と、
    復号済みの差を形成するために、前記ビットストリームから量子化済みの差を復号すること(470)と、
    再構築された上限より小さくなるように前記ブロックに対する映像データの前記値を調整すること(485)であって、前記再構築された上限が、前記復号済みの差および前記予測因子に基づいて形成される、調整すること(485)と
    をさらに含む、請求項7に記載の方法。
  9. 前記予測因子が、2bitdepthであり、bitdepthが、前記ブロックに対する前記映像データを表すために使用されるビット深度である、請求項2〜6および8のいずれか一項に記載の方法。
  10. 前記予測因子が、以前に符号化または復号されたピクチャにおける上限に基づいて決定される、請求項2〜6および8のいずれか一項に記載の方法。
  11. 前記予測因子が、前記ピクチャの前記ブロックのコンテンツに適応している、請求項2〜6および8のいずれか一項に記載の方法。
  12. ピクチャを符号化してビットストリームに埋め込む装置(1000)であって、少なくとも1つのメモリおよび1つまたは複数のプロセッサを含む、装置(1000)であり、前記1つまたは複数のプロセッサが、
    前記ピクチャのブロックに対する映像データの値を調整するために下限にアクセスすることと、
    前記アクセスした下限を量子化することと、
    前記量子化のためのパラメータを符号化して前記ビットストリームに埋め込むことであって、前記量子化のための前記パラメータが、前記ブロックに対する前記映像データを表すために使用されるビット深度に基づく、符号化して前記ビットストリームに埋め込むことと、
    前記量子化済みの下限を符号化して前記ビットストリームに埋め込むことと、
    再構築された下限を形成するために、前記量子化済みの下限を非量子化することと、
    前記再構築された下限より大きくなるように前記ブロックに対する映像データの前記値を調整することと、
    前記ピクチャの前記ブロックを符号化して前記ビットストリームに埋め込むことと
    を行うように構成される、装置(1000)。
  13. 前記1つまたは複数のプロセッサが、
    前記ピクチャの前記ブロックに対する映像データの前記値を調整するために上限および前記上限の予測因子にアクセスすることと、
    前記アクセスした上限と前記予測因子との差を量子化することと、
    前記量子化済みの差を符号化して前記ビットストリームに埋め込むことと、
    復号済みの差を形成するために、前記量子化済みの差を非量子化することと、
    再構築された上限より小さくなるように前記ブロックに対する映像データの前記値を調整することであって、前記再構築された上限が、前記復号済みの差および前記予測因子に基づいて形成される、調整することと
    を行うようにさらに構成される、請求項12に記載の装置。
  14. 前記再構築された下限が、前記アクセスした下限より小さい、請求項12または13に記載の装置。
  15. 前記再構築された上限が、前記アクセスした上限より大きい、請求項13に記載の装置。
  16. 前記差が、(bitdepth-1)ビットによって表され、bitdepthが、前記ブロックに対する前記映像データを表すために使用されるビット深度である、請求項13〜15のいずれか一項に記載の装置。
  17. 前記1つまたは複数のプロセッサが、
    前記ブロックの前記アクセスした下限に近い値を有する画素の数を決定することと、
    前記決定された画素の数に基づいて、前記量子化済みの下限を符号化して前記ビットストリームに埋め込むかどうかを決定することと
    を行うようにさらに構成される、請求項12〜16のいずれか一項に記載の装置。
  18. ビットストリームからピクチャを復号する装置(1000)であって、少なくとも1つのメモリおよび1つまたは複数のプロセッサを含む、装置(1000)であり、前記1つまたは複数のプロセッサが、
    前記ビットストリームから量子化済みの下限にアクセスすることと、
    再構築された下限を形成するために、前記量子化済みの下限を非量子化することであって、前記非量子化のためのパラメータが、前記ビットストリームで信号伝達される、非量子化することと、
    前記ビットストリームから前記ピクチャの前記ブロックを復号することと、
    前記再構築された下限より大きくなるように前記ブロックに対する映像データの値を調整することと
    を行うように構成される、装置(1000)。
  19. 前記1つまたは複数のプロセッサが、
    前記ピクチャの前記ブロックに対する映像データの前記値を調整するために上限の予測因子にアクセスすることと、
    復号済みの差を形成するために、前記ビットストリームから量子化済みの差を復号することと、
    再構築された上限より小さくなるように前記ブロックに対する映像データの前記値を調整することであって、前記再構築された上限が、前記復号済みの差および前記予測因子に基づいて形成される、調整することと
    を行うようにさらに構成される、請求項18に記載の装置。
  20. 前記予測因子が、2bitdepthであり、bitdepthが、前記ブロックに対する前記映像データを表すために使用されるビット深度である、請求項13〜17および19のいずれか一項に記載の装置。
  21. 前記予測因子が、以前に符号化または復号されたピクチャにおける上限に基づいて決定される、請求項13〜17および19のいずれか一項に記載の装置。
  22. 前記予測因子が、前記ピクチャの前記ブロックのコンテンツに適応している、請求項13〜17および19のいずれか一項に記載の装置。
  23. ピクチャを符号化する方法であって、
    符号化予定のオリジナルブロック、前記オリジナルブロックに対応する予測ブロックおよび残差ブロックにアクセスすることと、
    前記オリジナルブロックまたは前記予測ブロックの第1の要素がクリッピングの上限に近いと決定すること(935)と、
    前記オリジナルブロックまたは前記予測ブロックの前記第1の要素に対応する前記残差ブロックの第1の要素を前記残差ブロックの前記第1の要素より大きい第1の値と置き換えること(945)と、
    復号済みの残差ブロックを形成するために、前記置き換えた要素で前記残差ブロックを符号化および復号すること(960)と、
    前記予測ブロックおよび前記復号済みの残差ブロックに基づいて再構築されたブロックを形成すること(850)と、
    前記再構築されたブロックの第1の要素がクリッピングの前記上限を超える場合は、前記残差ブロックの前記第1の要素に対応する前記再構築されたブロックの前記第1の要素をクリッピングの前記上限と置き換えること(860)と
    を含む、方法。
  24. 前記オリジナルブロックまたは前記予測ブロックの第2の要素がクリッピングの下限に近いと決定すること(935)と、
    前記オリジナルブロックまたは前記予測ブロックの前記第2の要素に対応する前記残差ブロックの第2の要素を前記残差ブロックの前記第2の要素より小さい第2の値と置き換えること(945)と、
    前記再構築されたブロックの第2の要素がクリッピングの前記下限より小さい場合は、前記残差ブロックの前記第2の要素に対応する前記再構築されたブロックの前記第2の要素をクリッピングの前記下限と置き換えること(860)と
    をさらに含む、請求項23に記載の方法。
  25. 前記第1の値が、前記ブロックのローパスフィルタリングされた値である、請求項23または24に記載の方法。
  26. 前記オリジナルブロックまたは前記予測ブロックの前記第1の要素がクリッピングの上限に近いと決定することが、閾値に基づく、請求項23〜25のいずれか一項に記載の方法。
  27. 前記閾値が0である、請求項26に記載の方法。
  28. 前記閾値が、前記残差ブロックに対応する量子化パラメータと共に増加する、請求項26に記載の方法。
  29. ピクチャを符号化する装置(1000)であって、少なくとも1つのメモリおよび1つまたは複数のプロセッサを含む、装置(1000)であり、前記1つまたは複数のプロセッサが、
    符号化予定のオリジナルブロック、前記オリジナルブロックに対応する予測ブロックおよび残差ブロックにアクセスすることと、
    前記オリジナルブロックまたは前記予測ブロックの第1の要素がクリッピングの上限に近いと決定することと、
    前記オリジナルブロックまたは前記予測ブロックの前記第1の要素に対応する前記残差ブロックの第1の要素を前記残差ブロックの前記第1の要素より大きい第1の値と置き換えることと、
    復号済みの残差ブロックを形成するために、前記置き換えた要素で前記残差ブロックを符号化および復号することと、
    前記予測ブロックおよび前記復号済みの残差ブロックに基づいて再構築されたブロックを形成することと、
    前記再構築されたブロックの第1の要素がクリッピングの前記上限を超える場合は、前記残差ブロックの前記第1の要素に対応する前記再構築されたブロックの前記第1の要素をクリッピングの前記上限と置き換えることと
    を行うように構成される、装置(1000)。
  30. 前記1つまたは複数のプロセッサが、
    前記オリジナルブロックまたは前記予測ブロックの第2の要素がクリッピングの下限に近いと決定することと、
    前記オリジナルブロックまたは前記予測ブロックの前記第2の要素に対応する前記残差ブロックの第2の要素を前記残差ブロックの前記第2の要素より小さい第2の値と置き換えることと、
    前記再構築されたブロックの第2の要素がクリッピングの前記下限より小さい場合は、前記残差ブロックの前記第2の要素に対応する前記再構築されたブロックの前記第2の要素をクリッピングの前記下限と置き換えることと
    を行うようにさらに構成される、請求項26に記載の装置。
  31. 前記第1の値が、前記ブロックのローパスフィルタリングされた値である、請求項29または30に記載の装置。
  32. 前記1つまたは複数のプロセッサが、前記オリジナルブロックまたは前記予測ブロックの前記第1の要素がクリッピングの上限に近いと決定するように構成されることが、閾値に基づく、請求項29〜31のいずれか一項に記載の装置。
  33. 前記閾値が0である、請求項32に記載の装置。
  34. 前記閾値が、前記残差ブロックに対応する量子化パラメータと共に増加する、請求項32に記載の装置。
JP2018559993A 2016-05-13 2017-04-26 適応クリッピングを用いた映像コード化の方法および装置 Withdrawn JP2019521571A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP16305558.5 2016-05-13
EP16305558.5A EP3244611A1 (en) 2016-05-13 2016-05-13 Method and apparatus for video coding with adaptive clipping of pixel values
EP16305609.6 2016-05-26
EP16305609 2016-05-26
PCT/EP2017/059967 WO2017194312A2 (en) 2016-05-13 2017-04-26 Method and apparatus for video coding with adaptive clipping

Publications (2)

Publication Number Publication Date
JP2019521571A true JP2019521571A (ja) 2019-07-25
JP2019521571A5 JP2019521571A5 (ja) 2020-04-30

Family

ID=58640876

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018559993A Withdrawn JP2019521571A (ja) 2016-05-13 2017-04-26 適応クリッピングを用いた映像コード化の方法および装置

Country Status (10)

Country Link
US (1) US10735774B2 (ja)
EP (1) EP3456052B1 (ja)
JP (1) JP2019521571A (ja)
KR (1) KR20190029526A (ja)
CN (1) CN109417639B (ja)
BR (1) BR112018073434A2 (ja)
CA (1) CA3023986A1 (ja)
MX (1) MX2018013942A (ja)
RU (1) RU2018144014A (ja)
WO (1) WO2017194312A2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3531700B1 (en) * 2016-10-18 2022-04-06 Panasonic Intellectual Property Management Co., Ltd. Image coding method, transmission method and image coding device
US11252464B2 (en) 2017-06-14 2022-02-15 Mellanox Technologies, Ltd. Regrouping of video data in host memory
US12058309B2 (en) 2018-07-08 2024-08-06 Mellanox Technologies, Ltd. Application accelerator
US20200014945A1 (en) * 2018-07-08 2020-01-09 Mellanox Technologies, Ltd. Application acceleration
US10880354B2 (en) 2018-11-28 2020-12-29 Netflix, Inc. Techniques for encoding a media title while constraining quality variations
US10841356B2 (en) 2018-11-28 2020-11-17 Netflix, Inc. Techniques for encoding a media title while constraining bitrate variations
GB2580173B (en) 2018-12-21 2022-07-27 Canon Kk A filter
CN117319681A (zh) 2019-04-02 2023-12-29 北京字节跳动网络技术有限公司 基于双向光流的视频编解码和解码
WO2020211769A1 (en) 2019-04-15 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. Clipping parameter derivation in adaptive loop filter
CN113728630B (zh) 2019-04-19 2023-11-17 北京字节跳动网络技术有限公司 不同运动矢量细化中的基于区域的梯度计算
CA3137163C (en) * 2019-04-24 2024-05-14 Bytedance Inc. Constraints on quantized residual differential pulse code modulation representation of coded video
US11277637B2 (en) * 2019-05-09 2022-03-15 Qualcomm Incorporated Reference sampling for matrix intra prediction mode
US11418779B2 (en) * 2019-06-11 2022-08-16 Qualcomm Incorporated Clipping indices coding for adaptive loop filter in video coding
CN113966617A (zh) * 2019-06-14 2022-01-21 瑞典爱立信有限公司 对mip缩减预测的样本值裁剪
WO2020251470A1 (en) 2019-06-14 2020-12-17 Telefonaktiebolaget Lm Ericsson (Publ) Simplified downsampling for matrix based intra prediction
CN115604488A (zh) * 2019-06-25 2023-01-13 北京大学(Cn) 环路滤波的方法与装置
KR20210025507A (ko) * 2019-08-27 2021-03-09 현대자동차주식회사 차등 부호화를 이용하는 비디오 부호화 및 복호화
CN115244930A (zh) * 2020-01-05 2022-10-25 北京达佳互联信息技术有限公司 以4:4:4色度格式进行视频编解码的方法和装置
WO2021150086A1 (ko) * 2020-01-25 2021-07-29 엘지전자 주식회사 Act 레지듀얼 기반 영상 또는 비디오 코딩
US11032546B1 (en) * 2020-07-20 2021-06-08 Tencent America LLC Quantizer for lossless and near-lossless compression

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000064189A2 (en) 1999-04-16 2000-10-26 Avid Technology, Inc. Safe color limiting of a color on a digital nonlinear editing system
US20040170319A1 (en) 2003-02-28 2004-09-02 Maurer Ron P. System and method of gamut mapping image data
KR100772873B1 (ko) 2006-01-12 2007-11-02 삼성전자주식회사 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더
US8184710B2 (en) 2007-02-21 2012-05-22 Microsoft Corporation Adaptive truncation of transform coefficient data in a transform-based digital media codec
EP2192786A1 (en) * 2008-11-27 2010-06-02 Panasonic Corporation Frequency domain filters for video coding
US8730130B1 (en) 2008-12-04 2014-05-20 RPA Electronic Solutions, Inc. System and method for automatically aligning immersive displays
WO2011010959A1 (en) * 2009-07-23 2011-01-27 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for encoding and decoding of images
US9456111B2 (en) * 2010-06-15 2016-09-27 Mediatek Inc. System and method for content adaptive clipping
US20120177111A1 (en) 2011-01-12 2012-07-12 Matthias Narroschke Efficient clipping
US20130083855A1 (en) 2011-09-30 2013-04-04 Dane P. Kottke Adaptive color space selection for high quality video compression
CN110234012B (zh) * 2012-01-17 2021-12-31 华为技术有限公司 用于高性能视频编码中的无损编码模式的环内滤波的装置
US9538200B2 (en) * 2012-01-19 2017-01-03 Qualcomm Incorporated Signaling of deblocking filter parameters in video coding
CN102970529B (zh) * 2012-10-22 2016-02-17 北京航空航天大学 一种基于对象的多视点视频分形编码压缩与解压缩方法
US20140192862A1 (en) * 2013-01-07 2014-07-10 Research In Motion Limited Methods and systems for prediction filtering in video coding
US10708589B2 (en) * 2014-03-19 2020-07-07 Samsung Electronics Co., Ltd. Video encoding and decoding method and apparatus involving boundary filtering
US10204658B2 (en) 2014-07-14 2019-02-12 Sony Interactive Entertainment Inc. System and method for use in playing back panorama video content
CN106797475B (zh) 2014-10-08 2019-12-10 联发科技股份有限公司 视频编码方法
EP3223524A1 (en) 2016-03-22 2017-09-27 Thomson Licensing Method, apparatus and stream of formatting an immersive video for legacy and immersive rendering devices
US11752547B2 (en) 2017-06-30 2023-09-12 Norsk Titanium As Solidification refinement and general phase transformation control through application of in situ gas jet impingement in metal additive manufacturing

Also Published As

Publication number Publication date
MX2018013942A (es) 2019-08-12
EP3456052B1 (en) 2023-08-02
BR112018073434A2 (pt) 2019-03-26
RU2018144014A3 (ja) 2020-06-15
US20190200044A1 (en) 2019-06-27
CA3023986A1 (en) 2017-11-16
WO2017194312A3 (en) 2017-12-21
US10735774B2 (en) 2020-08-04
WO2017194312A2 (en) 2017-11-16
KR20190029526A (ko) 2019-03-20
CN109417639A (zh) 2019-03-01
CN109417639B (zh) 2021-12-21
EP3456052A2 (en) 2019-03-20
RU2018144014A (ru) 2020-06-15

Similar Documents

Publication Publication Date Title
CN109417639B (zh) 利用自适应裁剪的视频编码的方法和设备
US11172203B2 (en) Intra merge prediction
RU2770185C2 (ru) Множество кандидатов предсказателя для компенсации движения
JP7257962B2 (ja) 予測ピクチャ符号化及び復号のための方法及びデバイス
AU2017202576B2 (en) Sample adaptive offset control
JP7277447B2 (ja) 動き補償用の改善されたプレディクタ候補
JP2019519998A (ja) 自動的な動き情報の精緻化を伴うビデオコード化のための方法及び機器
CN111418209A (zh) 用于视频编码和视频解码的方法和装置
JP7532388B2 (ja) ビデオの符号化および復号における動きベクトルの導出
WO2022218316A1 (en) Method, device, and medium for video processing
KR20220050838A (ko) 비디오 인코딩 및 디코딩을 위한 조명 보상
EP3244611A1 (en) Method and apparatus for video coding with adaptive clipping of pixel values
US11483576B2 (en) Method and a device for picture encoding and decoding
WO2023217235A1 (en) Prediction refinement with convolution model
WO2023202569A1 (en) Extended template matching for video coding
EP3706419A1 (en) Multi-model local illumination compensation for video encoding or decoding
WO2024039910A1 (en) Method and apparatus for adaptive motion compensated filtering
WO2024182735A1 (en) Method, apparatus, and medium for video processing
WO2024010832A1 (en) Methods and apparatus on chroma motion compensation using adaptive cross-component filtering
WO2024206976A1 (en) Method, apparatus, and medium for video processing
WO2024006231A1 (en) Methods and apparatus on chroma motion compensation using adaptive cross-component filtering
CN118614060A (zh) 利用自适应混合的几何分区模式的方法和设备
CN117716690A (zh) 自适应双边滤波器的使用条件

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200318

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200318

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20200701