JP2017512439A - 色空間、色サンプリングレート、及び/又は色深度の適応切り替え - Google Patents

色空間、色サンプリングレート、及び/又は色深度の適応切り替え Download PDF

Info

Publication number
JP2017512439A
JP2017512439A JP2016555569A JP2016555569A JP2017512439A JP 2017512439 A JP2017512439 A JP 2017512439A JP 2016555569 A JP2016555569 A JP 2016555569A JP 2016555569 A JP2016555569 A JP 2016555569A JP 2017512439 A JP2017512439 A JP 2017512439A
Authority
JP
Japan
Prior art keywords
color
video
color space
format
prediction
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
JP2016555569A
Other languages
English (en)
Other versions
JP6340083B2 (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.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2017512439A publication Critical patent/JP2017512439A/ja
Application granted granted Critical
Publication of JP6340083B2 publication Critical patent/JP6340083B2/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • 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
    • 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/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different 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/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

ビデオシーケンスのユニットのための適応符号化及び適応復号における方法又はデバイスは、符号化効率を向上させることができる。方法又はデバイスは、ビデオシーケンス内のユニットの間の色空間の適応切り替えを含む符号化/復号を含む。方法又はデバイスは、ビデオシーケンス内のユニットの間の色サンプリングレートの適応切り替えを含む符号化/復号を含む。さらに、方法又はデバイスは、ビデオシーケンス内のユニットの間の色深度の適応切り替えを含む符号化/復号を含む。

Description

エンジニアは、デジタルビデオのビットレートを低減させるために、圧縮(ソース符号化とも呼ばれる)を使用する。圧縮は、ビデオ情報をより低いビットレート形式に変換することにより、ビデオ情報を記憶及び伝送するコストを低減させる。伸張(復号とも呼ばれる)は、圧縮形式からオリジナル情報のバージョンを再構成する。「コーデック」はエンコーダ/デコーダシステムである。
ここ20年の間、ITU−T H.261規格、H.262(MPEG−2又はISO/IEC 13818−2)規格、H.263規格、及びH.264(MPEG−4 AVC又はISO/IEC 14496−10)規格、並びに、MPEG−1(ISO/IEC 11172−2)規格、MPEG−4 Visual(ISO/IEC 14496−2)規格、及びSMPTE 421M(VC−1)規格を含む様々なビデオコーデック規格が採用されてきた。より最近では、H.265/HEVC(ITU−T H.265又はISO/IEC 23008−2)規格が承認されている。H.265/HEVC規格に対する拡張(例えば、スケーラブルビデオ符号化/復号に関するもの、サンプル色深度又はクロマサンプリングレートの観点でのより高い忠実度を伴うビデオの符号化/復号に関するもの、スクリーンキャプチャコンテンツに関するもの、又はマルチビュー符号化/復号に関するもの)を現在策定中である。ビデオコーデック規格は、通常、特定の特徴が符号化及び復号において使用されるときの符号化ビデオビットストリームにおけるパラメータを詳述する、符号化ビデオビットストリームのシンタックスのためのオプションを定義している。多くの場合、ビデオコーデック規格はまた、デコーダが復号において整合する結果を達成するために実行すべき復号オペレーションに関する詳細を提供している。コーデック規格とは別に、様々なプロプライエタリコーデックフォーマット(proprietary codec format)が、符号化ビデオビットストリームのシンタックスのための他のオプション及び対応する復号オペレーションを定義している。
カメラ、アニメーション出力、スクリーンキャプチャモジュール等といったビデオソースは、通常、特定の色空間におけるビデオであって、ビデオの色成分が、特定の色サンプリングレートに従ってサブサンプリングされ、サンプル値が、特定の色深度を有するビデオを提供する。一般に、色空間(時として色モデルと呼ばれる)は、1つの物理位置につきn(n≧1)個の値として色を表現するためのモデルであり、n個の値の各値は、その位置についての色成分値を提供する。例えば、YUV色空間において、ルマ(又はY)成分値は、ある位置におけるおおよその輝度を表し、複数のクロマ(又はU及びV)成分値は、その位置における色差を表す。あるいは、RGB色空間において、赤(R)成分値は、ある位置における赤強度を表し、緑(G)成分値は、その位置における緑強度を表し、青(B)成分値は、その位置における青強度を表す。歴史的に見て、異なる色空間は、表示、印刷、ブロードキャスト、及び符号化/復号等の異なる用途についての利点を有する。サンプル値は、色空間変換演算を用いて、色空間の間で変換することができる。
色サンプリングレート(時としてクロマサンプリングレートと呼ばれる)とは、色成分の間の相対空間解像度を指す。例えば、4:4:4という色サンプリングレートの場合、セカンダリ成分(例えば、YUVのU成分及びV成分)についての情報は、プライマリ成分(例えば、YUVのY成分)についての情報と同じ空間解像度を有する。4:2:2又は4:2:0という色サンプリングレートの場合、セカンダリ成分についての情報は、プライマリ成分についての情報に対してダウンサンプリングされる。YUV4:2:0フォーマットが、符号化/復号のために一般的に使用される。設計原理として、符号化/復号のためにYUV4:2:0フォーマットを使用するとの判断は、ほとんどのユースケースに関して、観察者が、YUV4:2:0フォーマットで符号化/復号されたビデオとYUV4:4:4フォーマットで符号化/復号されたビデオとの間の多くの視覚的差異に気付かないという理解に基づいている。したがって、1フレーム当たりより少ないサンプルしか有さないYUV4:2:0フォーマットの圧縮上の利点は、抗いがたいものである。
色深度とは、1サンプル値当たりのビット数を指す。一般的な色深度は、1サンプル当たり8ビット、1サンプル当たり10ビット、及び1サンプル当たり12ビットである。一般に、1サンプル当たりより多くのビットを有することは、ビデオの色のより正確なグラデーションを可能にするが、ビデオのためにより多くのストレージを用いる。1サンプル当たりより少ないビットを有することは、通常、品質が低減される代わりに、ビットレートを低減させる。
多くの商用利用可能なビデオエンコーダ及びビデオデコーダは、YUV4:2:0フォーマットのみサポートしている。他の商用利用可能なエンコーダ及びデコーダ(例えば、H.264/AVC規格用又はH.265/HEVC規格用のエンコーダ及びデコーダ)は、エンコーダが、所与のシーケンスについて、色空間、色サンプリングレート、及び色深度を指定することを可能にする。指定された色空間、色サンプリングレート、及び色深度が、ビデオシーケンス全体について使用される。これらのアプローチは、単一のビデオシーケンス内の非常に異なる種類のビデオコンテンツを処理することがある汎用コーデックシステムには、十分な柔軟性を提供しない。
要約すると、詳細な説明は、適応符号化及び適応復号の領域におけるイノベーションを提示している。例えば、本イノベーションのうちのいくつかは、符号化中に、ビデオシーケンス内のユニットの間で色空間を切り替えるエンコーダ、及び対応するデコーダに関する。他のイノベーションは、符号化中に、ビデオシーケンス内のユニットの間で色サンプリングレートを切り替えるエンコーダ、及び対応するデコーダに関する。さらに他のイノベーションは、符号化中に、ビデオシーケンス内のユニットの間で色深度を切り替えるエンコーダ、及び対応するデコーダに関する。これらのイノベーションは、多くのシナリオにおいて、符号化効率を向上させることができる。
本明細書に記載のイノベーションの第1の態様に従うと、画像エンコーダ又はビデオエンコーダは、シーケンス内のビデオを符号化する。符号化の一部として、エンコーダは、シーケンス内のビデオの少なくともいくつかのユニット(例えば、シーケンスのピクチャ、シーケンスの所与のピクチャのスライス、シーケンスの所与のピクチャのブロック)の間で、色空間、色サンプリングレート、及び/又は色深度を、空間的且つ/又は時間的に切り替える。エンコーダは、ビットストリーム内に符号化されたデータを出力する。符号化されたデータは、シーケンス内のビデオの少なくともいくつかのユニットの間で、色空間、色サンプリングレート、及び/又は色深度がどのように切り替わるかを示す1以上の信号を含む。
対応するデコーダは、ビットストリーム内の符号化されたデータを受信する。符号化されたデータは、シーケンス内のビデオの少なくともいくつかのユニット(例えば、シーケンスのピクチャ、シーケンスの所与のピクチャのスライス、シーケンスの所与のピクチャのブロック)の間で、色空間、色サンプリングレート、及び/又は色深度がどのように切り替わるかを示す1以上の信号を含む。デコーダは、符号化されたデータを復号する。復号の一部として、デコーダは、シーケンス内のビデオの少なくともいくつかのユニットの間で、色空間、色サンプリングレート、及び/又は色深度を、空間的且つ/又は時間的に切り替える。
例えば、符号化中又は復号中、切り替えることは、色空間変換演算を用いて、色空間のうちの2つの色空間の間で変更することを含む。色空間変換演算に関して、色空間は、少なくとも1つのYUVタイプの色空間と、少なくとも1つのRGBタイプの色空間と、を含み得る。
あるいは、別の例として、符号化中又は復号中、切り替えることは、色空間並べ替え(reordering)演算を用いて、色空間のうちの2つの色空間の間で変更することを含む。色空間並べ替え演算に関して、色空間は、複数のRGBタイプの色空間を含み得る。
あるいは、別の例として、符号化中又は復号中、切り替えることは、色サンプリングレートのうちの2つの色サンプリングレートの間で変更することを含む。色サンプリングレートは、4:4:4、4:2:2、4:2:0、及び4:0:0のうちの2以上を含み得る。
あるいは、別の例として、符号化中又は復号中、切り替えることは、色深度のうちの2つの色深度の間で変更することを含む。色深度は、1サンプル当たり12ビット、1サンプル当たり10ビット、及び1サンプル当たり8ビットのうちの2以上を含み得る。また、ビデオの所与のユニットの異なる色成分は、異なる色深度を有し得る。
色空間、色サンプリングレート、及び/又は色深度がどのように切り替わるかを示す1以上の信号についてのシンタックス及びセマンティクスは、実装に依存する。例えば、1以上の信号は、ビデオの所与のユニットについてのフラグ値を含む。フラグ値は、色空間、色サンプリングレート、又は色深度についての2つのオプション間の選択を示す。あるいは、1以上の信号は、ビデオの所与のユニットについてのシンタックス要素を含む。シンタックス要素は、色空間、色サンプリングレート、又は色深度についての3以上のオプション間の選択を示す。信号は、予測符号化され得る。この場合、ビデオの所与のユニットについてのパラメータの差分(デルタ)値(delta value)が、パラメータの実際の値とパラメータの予測因子(predictor)との差を表す。予測因子は、シーケンスレイヤパラメータであり得る。あるいは、予測因子は、ビデオの1以上の以前のユニットについてのパラメータの1以上の実際の値に基づいてもよい。
1以上の信号に加えて、符号化されたデータは、色空間、色サンプリングレート、及び/又は色深度を識別又は規定する情報を含んでもよい。例えば、この情報は、色空間のうちの2つの色空間の間の色空間変換演算のために使用可能な値の行列を含み得る。
符号化又は復号は、以前に再構成されたコンテンツのサンプル値のセットに少なくとも部分的に基づく、現ピクチャ内の現ブロックのサンプル値の予測を含み得る。イントラピクチャ予測(ピクチャ内予測)に関して、以前に再構成されたコンテンツのサンプル値のセットは、現ピクチャの一部である。インターピクチャ予測(ピクチャ間予測)に関して、以前に再構成されたコンテンツのサンプル値のセットは、参照ピクチャの一部である。予測の一部として、エンコーダ又はデコーダは、以前に再構成されたコンテンツのサンプル値のセットと現ブロックのサンプル値とが、異なるフォーマットであるかどうかを評価することができる。
いくつかの場合において、以前に再構成されたコンテンツのサンプル値のセットは、第1のフォーマットで記憶されており、現ブロックのサンプル値は、第1のフォーマットとは異なる第2のフォーマットで符号化されている。この場合、予測の一部として、エンコーダ又はデコーダは、(a)第1のフォーマットから第2のフォーマットに、以前に再構成されたコンテンツのサンプル値のセットを変換し(例えば、2つの色空間の間で変換し、2つの色サンプリングレートの間で変換し、且つ/又は、2つの色深度の間で変換し)、(b)以前に再構成されたコンテンツの変換されたサンプル値のセットを使用して、現ブロックのサンプル値を予測し、(c)現ブロックの予測されたサンプル値に少なくとも部分的に基づいて、現ブロックのサンプル値を再構成することができる。あるいは、予測の一部として、エンコーダ又はデコーダは、(a)以前に再構成されたコンテンツのサンプル値のセットを使用して、現ブロックのサンプル値を予測し、(b)第1のフォーマットから第2のフォーマットに、現ブロックの予測されたサンプル値を変換し、(c)現ブロックの変換された予測されたサンプル値に少なくとも部分的に基づいて、現ブロックのサンプル値を再構成することができる。予測の後に、エンコーダ又はデコーダは、(d)、第2のフォーマットから第1のフォーマットに、現ブロックの再構成されたサンプル値を変換し、(e)以前に再構成されたコンテンツの一部として、(第1のフォーマットである)現ブロックの変換された再構成されたサンプル値を記憶することができる。
符号化又は復号はまた、1以上のルールに従って、以前に再構成されたコンテンツをデブロックすることを含み得る。例えば、デブロッキングの一部として、エンコーダ又はデコーダは、2つの隣接ブロックのプライマリ成分がゼロでない残差値を有するかどうかに応じて、デブロッキングフィルタの強度を調整する。あるいは、デブロッキングの一部として、エンコーダ又はデコーダは、2つの隣接ブロックの対応する成分がゼロでない残差値を有するかどうかに応じて、デブロッキングフィルタの強度を調整する。したがって、1以上のルールは、2つの隣接ブロックの異なる色空間を考慮し得る。
色空間、色サンプリングレート、及び/又は色深度の適応切り替えのためのイノベーションは、方法の一部として、方法を実行するよう適合されたコンピューティングデバイスの一部として、又は、コンピューティングデバイスに方法を実行させるコンピュータ実行可能な命令を記憶した有体のコンピュータ読み取り可能な媒体の一部として実施され得る。様々なイノベーションが、組み合わせて又は別々に、使用され得る。詳細には、ビデオエンコーダ及びビデオデコーダは、ビデオシーケンス内で色空間のみを適応的に切り替えることができる(色サンプリングレート及び色深度は固定される)。あるいは、ビデオエンコーダ及びビデオデコーダは、ビデオシーケンス内で色サンプリングレートのみを適応的に切り替えることができる(色空間及び色深度は固定される)。あるいは、ビデオエンコーダ及びビデオデコーダは、ビデオシーケンス内で色深度のみを適応的に切り替えることができる(色空間及び色サンプリングレートは固定される)。あるいは、ビデオエンコーダ及びビデオデコーダは、(1)ビデオシーケンス内で、色深度を切り替えずに、色空間及び色サンプリングレートを適応的に切り替えることができ、(2)ビデオシーケンス内で、色サンプリングレートを切り替えずに、色空間及び色深度を適応的に切り替えることができ、又は(3)ビデオシーケンス内で、色空間を切り替えずに、色サンプリングレート及び色深度を適応的に切り替えることができる。あるいは、ビデオエンコーダ及びビデオデコーダは、ビデオシーケンス内で、色空間、色サンプリングレート、及び色深度を適応的に切り替えることができる。
本発明の前述の目的及び他の目的、特徴、並びに利点が、添付の図面を参照しながら進む以下の詳細な説明からより明らかになるであろう。
いくつかの説明する実施形態を実装することができる例示的なコンピューティングシステムの図。 いくつかの説明する実施形態を実装することができる例示的なネットワーク環境の図。 いくつかの説明する実施形態を実装することができる例示的なネットワーク環境の図。 いくつかの説明する実施形態を協働して実装することができる例示的なエンコーダシステムの図。 いくつかの説明する実施形態を協働して実装することができる例示的なデコーダシステムの図。 いくつかの説明する実施形態を協働して実装することができる例示的なビデオエンコーダを示す図。 いくつかの説明する実施形態を協働して実装することができる例示的なビデオエンコーダを示す図。 いくつかの説明する実施形態を協働して実装することができる例示的なビデオデコーダを示す図。 スクリーンキャプチャのための入力を提供することができる、コンテンツを含むコンピュータデスクトップ環境を示す図。 自然ビデオコンテンツ及び人工ビデオコンテンツを含む混合ビデオを示す図。 シーケンス内のピクチャについてのピクチャ適応的な色空間、色サンプリングレート、及び/又は色深度を示す図。 シーケンス内のピクチャのスライスについてのスライス適応的な色空間、色サンプリングレート、及び/又は色深度を示す図。 シーケンス内のピクチャのスライスのブロックについてのブロック適応的な色空間、色サンプリングレート、及び/又は色深度を示す図。 符号化中に、色空間、色サンプリングレート、及び/又は色深度を適応的に切り替えるための一般化された技術を示すフローチャート。 符号化中に、ユニットごとに適応的に切り替えるためのより詳細な例示的な技術を示すフローチャート。 復号中に、色空間、色サンプリングレート、及び/又は色深度を適応的に切り替えるための一般化された技術を示すフローチャート。 復号中に、ユニットごとに適応的に切り替えるためのより詳細な例示的な技術を示すフローチャート。 1つのフォーマットで符号化されているブロックのサンプル値の、別のフォーマットの以前に再構成されたコンテンツのサンプル値のセットからの予測のための技術を示すフローチャート。
詳細な説明は、適応符号化及び適応復号の領域におけるイノベーションを提示している。例えば、本イノベーションのうちのいくつかは、符号化中に、ビデオシーケンス内のユニットの間で色空間を切り替えるエンコーダ、及び対応するデコーダに関する。他のイノベーションは、符号化中に、ビデオシーケンス内のユニットの間で色サンプリングレートを切り替えるエンコーダ、及び対応するデコーダに関する。さらに他のイノベーションは、符号化中に、ビデオシーケンス内のユニットの間で色深度を切り替えるエンコーダ、及び対応するデコーダに関する。これらのイノベーションは、多くのシナリオにおいて、符号化効率を向上させることができる。
一般に、色空間(時として色モデルと呼ばれる)は、1つの物理位置につきn(n≧1)個の値として色を表現するためのモデルであり、n個の値の各値は、その位置についての色成分値を提供する。
例えば、YUV色空間において、ルマ(又はY)成分値は、ある位置におけるおおよその輝度を表し、複数のクロマ(又はU及びV)成分値は、その位置における色差を表す。色差値(及び、YUV色空間からRGB等の別の色空間へ変換演算、RGB等の別の色空間からYUV色空間への変換演算)の正確な定義は、実装に依存する。一般に、符号化及び復号の目的では、Y成分がプライマリ成分であり、U成分及びV成分がセカンダリ成分である。一般に、本明細書で使用されるとき、YUVタイプの色空間という用語は、1つのルマ(又はルミナンス)成分と1以上のクロマ(又はクロミナンス)成分とを有する任意の色空間を示し、Y’UV、YIQ、Y’IQ、及びYDbDrに加えて、YCbCr及びYCoCg等の変形を含む。
使用される成分信号尺度(measure)は、非線形伝達特性関数(「ガンマプレ補償(gamma pre-compensation)」として一般に知られており、プライム記号を使用してしばしば表記されるが、プライム記号は、表記の都合上しばしば省略される)の適用を通じて調整され得る。あるいは、成分信号尺度は、光振幅と線形関係を有するドメインにあり得る。ルマ成分信号及びクロマ信号成分は、人間の視覚系についての輝度及び色の知覚に非常に沿ったものであり得る、あるいは、ルマ成分信号及びクロマ信号成分は、そのような尺度からいくらかそれたものであり得る(例えば、YCoCgの変形におけるように、色成分値の計算を単純化する式が適用される)。
別の例として、RGB色空間において、赤(R)成分値は、ある位置における赤強度を表し、緑(G)成分値は、その位置における緑強度を表し、青(B)成分値は、その位置における青強度を表す。本明細書で使用されるとき、RGBタイプの色空間という用語は、R色成分、G色成分、及びB色成分を任意の順番で有する色空間を示す。例は、RGB色空間、BGR色空間、及びGBR色空間を含み、これらの色空間は、符号化及び復号の目的でのプライマリ成分の点で異なる。プライマリ成分は、色空間の最初の文字(例えば、RGBの場合はR)により示される。
色サンプリングレート(時としてクロマサンプリングレートと呼ばれる)とは、色成分の間の相対空間解像度を指す。例えば、4:4:4という色サンプリングレートの場合、セカンダリ成分(例えば、YUVのU成分及びV成分)についての情報は、プライマリ成分(例えば、YUVのY成分)についての情報と同じ空間解像度を有する。4:2:2又は4:2:0という色サンプリングレートの場合、セカンダリ成分についての情報は、プライマリ成分についての情報に対してダウンサンプリングされる。YUV4:2:0フォーマットは、YUV4:4:4フォーマットと比べて、クロマ情報をサブサンプリングしたフォーマットであるので、クロマ解像度は、水平方向及び垂直方向の両方においてルマ解像度の半分である。YUV4:2:0フォーマットは、YUV4:4:4フォーマットと比べて、水平方向においてクロマ情報をサブサンプリングしたフォーマットであるので、クロマ解像度は、水平方向においてルマ解像度の半分である。色サンプリングレートの他の例は、4:1:1(セカンダリ成分が水平方向において1/4の解像度を有する)及び4:0:0(セカンダリ成分が欠如している)を含む。色サブサンプリングは、通常、YUVタイプの色空間に適用される。RGBタイプの色空間は、通常、4:4:4という色サンプリングレートを有するが、セカンダリ色成分がサブサンプリングされる異なる色サンプリングレートを有してもよい。
YUV4:2:0フォーマットは、従来、ビデオ符号化及びビデオ復号のために使用されていたが、ビデオがよりリッチな色情報を有し、より高い色忠実度が妥当であろういくつかのユースケースが存在する。そのようなユースケースにおいて、YUV4:4:4クロマサンプリングフォーマットとYUV4:2:0クロマサンプリングフォーマットとの差が、観察者によってより容易に知覚される。例えば、コンピュータスクリーンテキストコンテンツ、人工的な鋭い境界を有するアニメーション化されたビデオコンテンツ、又はより一般的にビデオコンテンツの所定の特徴(スクロールするタイトル及び鋭いグラフィックス、又はクロマチャネルにおいて集結された情報を有するビデオ)の符号化/復号に関して、4:4:4フォーマットが、4:2:0フォーマットより好ましい場合がある。
色深度とは、1サンプル値当たりのビット数を指す。一般的な色深度は、1サンプル当たり8ビット、1サンプル当たり10ビット、及び1サンプル当たり12ビットである。他の可能な色深度は、1サンプル当たり4ビット及び1サンプル当たり16ビットを含む。
本明細書に記載のオペレーションは、ビデオエンコーダ又はビデオデコーダにより実行されるものとして所々で説明されるが、多くの場合、このようなオペレーションは、別のタイプのメディア処理ツール(例えば、画像エンコーダ又は画像デコーダ)により実行することができる。例えば、このようなオペレーションは、静止画像符号化/復号、医療スキャンコンテンツ符号化/復号、マルチスペクトル画像コンテンツ符号化/復号等といった用途のために実行することができる。
本明細書に記載のイノベーションのうちのいくつかは、H.265/HEVC規格に固有のシンタックス要素及びオペレーションを参照して示される。例えば、H.265/HEVC規格のドラフトバージョンJCTVC−P1005(”High Efficiency Video Coding (HEVC) Range Extensions Text Specification: Draft 6”, JCTVC-P1005_v1, February 2014)を参照する。本明細書に記載のイノベーションはまた、他の規格又はフォーマットのためにも実装することができる。
より一般的に、本明細書に記載の例に対する様々な代替例が可能である。例えば、本明細書に記載の方法のうちのいくつかは、例えば、説明する方法動作の順番を変えることにより、所定の方法動作を分けることにより、所定の方法動作を繰り返すことにより、又は所定の方法動作を省略することにより、変更することができる。開示する技術の様々な態様が、組み合わせて又は別々に、使用され得る。様々な実施形態が、説明するイノベーションのうちの1以上を使用する。本明細書に記載のイノベーションのうちのいくつかは、背景技術において記した問題のうちの1以上に対処する。一般的に、所与の技術/ツールが、そのような問題の全てを解決するわけではない。
I.例示的なコンピューティングシステム
図1は、説明するイノベーションのうちのいくつかを実装することができる適切なコンピューティングシステム(100)の一般化された例を示している。コンピューティングシステム(100)は、使用又は機能の範囲に関して限定を示唆するよう意図するものではない。なぜならば、本イノベーションは、多様な汎用コンピューティングシステム又は専用コンピューティングシステムにおいて実施することができるからである。
図1を参照すると、コンピューティングシステム(100)は、1以上の処理装置(110、115)及びメモリ(120、125)を含む。処理装置(110、115)は、コンピュータ実行可能な命令を実行する。処理装置は、汎用中央処理装置(「CPU」)、特定用途向け集積回路(「ASIC」)におけるプロセッサ、又は任意の他のタイプのプロセッサとすることができる。マルチ処理システムにおいては、複数の処理装置が、処理能力を増大させるために、コンピュータ実行可能な命令を実行する。例えば、図1は、中央処理装置(110)に加えて、グラフィックス処理装置又は共処理装置(115)も示している。有体のメモリ(120、125)は、1以上の処理装置によりアクセス可能な、揮発性メモリ(例えば、レジスタ、キャッシュ、RAM)であってもよいし、不揮発性メモリ(例えば、ROM、EEPROM、フラッシュメモリ等)であってもよいし、これら2つの何らかの組合せであってもよい。メモリ(120、125)は、1以上の処理装置による実行に適したコンピュータ実行可能な命令の形態で、色空間、色サンプリングレート、及び/又は色深度の適応切り替えのための1以上のイノベーションを実装するソフトウェア(180)を記憶する。
コンピューティングシステムは、さらなる特徴を有することができる。例えば、コンピューティングシステム(100)は、ストレージ(140)、1以上の入力デバイス(150)、1以上の出力デバイス(160)、及び1以上の通信接続(170)を含む。バス、コントローラ、又はネットワーク等の相互接続機構(図示せず)が、コンピューティングシステム(100)のコンポーネントを相互接続する。通常、オペレーティングシステムソフトウェア(図示せず)が、コンピューティングシステム(100)において実行される他のソフトウェアのための動作環境を提供し、コンピューティングシステム(100)のコンポーネントの動作を調整する。
有体のストレージ(140)は、着脱可能であっても着脱不可能であってもよく、磁気ディスク、磁気テープ、磁気カセット、CD−ROM、DVD、又は、情報を記憶するために使用することができ、コンピューティングシステム(100)内でアクセスされ得る任意の他の媒体を含む。ストレージ(140)は、色空間、色サンプリングレート、及び/又は色深度の適応切り替えのための1以上のイノベーションを実装するソフトウェア(180)の命令を記憶する。
1以上の入力デバイス(150)は、キーボード、マウス、ペン、若しくはトラックボール等のタッチ入力デバイス、音声入力デバイス、スキャニングデバイス、又はコンピューティングシステム(100)への入力を提供する別のデバイスとすることができる。ビデオに関して、1以上の入力デバイス(150)は、カメラ、ビデオカード、TVチューナカード、スクリーンキャプチャモジュール、若しくはアナログ形態あるいはデジタル形態のビデオ入力を受け入れる同様のデバイス、又はビデオ入力をコンピューティングシステム(100)に読み込むCD−ROMあるいはCD−RWとすることができる。1以上の出力デバイス(160)は、ディスプレイ、プリンタ、スピーカ、CDライタ、又はコンピューティングシステム(100)からの出力を提供する別のデバイスとすることができる。
1以上の通信接続(170)は、通信媒体を介した別のコンピューティングエンティティとの通信を可能にする。通信媒体は、変調されたデータ信号により、コンピュータ実行可能な命令、オーディオ入力、ビデオ入力、オーディオ出力、ビデオ出力、又は他のデータ等の情報を伝達する。変調されたデータ信号とは、信号内の情報を符号化するように設定又は変更された特性のうちの1以上を有する信号である。限定ではなく例として、通信媒体は、電気、光、RF、又は他のキャリアを使用することができる。
本イノベーションは、コンピュータ読み取り可能な媒体の一般的なコンテキストにおいて説明され得る。コンピュータ読み取り可能な媒体は、コンピューティング環境内でアクセスされ得る任意の利用可能な有体の媒体である。限定ではなく例として、コンピューティングシステム(100)において、コンピュータ読み取り可能な媒体は、メモリ(120、125)、ストレージ(140)、及びこれらの任意の組合せを含む。
本イノベーションは、コンピュータ実行可能な命令の一般的なコンテキストにおいて説明され得る。コンピュータ実行可能な命令は、例えば、プログラムモジュールに含まれ、コンピューティングシステムにおいて、ターゲット実プロセッサ又は仮想プロセッサ上で実行される。一般に、プログラムモジュールは、特定のタスクを実行する又は特定の抽象データ型を実装するルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造等を含む。プログラムモジュールの機能は、様々な実施形態において、必要に応じて、組み合わされてもよいし、プログラムモジュール間で分割されてもよい。プログラムモジュールのコンピュータ実行可能な命令は、ローカルコンピューティングシステム又は分散コンピューティングシステム内で実行され得る。
「システム」及び「デバイス」という用語は、本明細書において置き換え可能に使用される。文脈が別途明確に示さない限り、これらの用語は、コンピューティングシステム又はコンピューティングデバイスのタイプに関していかなる限定も示すものではない。一般に、コンピューティングシステム又はコンピューティングデバイスは、局在することもあるし分散されることもあり、専用ハードウェア及び/又は汎用ハードウェアと、本明細書に記載の機能を実装するソフトウェアと、の任意の組合せを含み得る。
開示する方法は、開示する方法のいずれかを実行するよう構成された専用コンピューティングハードウェアを用いて実装することもできる。例えば、開示する方法は、開示する方法のいずれかを実行するよう特別に設計又は構成された集積回路(例えば、ASIC(ASICデジタル信号プロセッサ(「DSP」)等)、グラフィックス処理装置(「GPU」)、又はフィールドプログラマブルゲートアレイ(「FPGA」)等のプログラマブルロジックデバイス(「PLD」)等)により実装することができる。
提示の目的上、詳細な説明では、コンピューティングシステムにおけるコンピュータオペレーションを説明するための「決定する」及び「使用する」のような用語が使用される。これらの用語は、コンピュータにより実行されるオペレーションの高レベル抽象表現であって、人間により実行される動作と混同すべきではない。これらの用語に対応する実際のコンピュータオペレーションは、実装に応じて変化する。
II.例示的なネットワーク環境
図2a及び図2bは、ビデオエンコーダ(220)及びビデオデコーダ(270)を含む例示的なネットワーク環境(201、202)を示している。エンコーダ(220)及びデコーダ(270)は、適切な通信プロトコルを用いて、ネットワーク(250)を介して接続される。ネットワーク(250)は、インターネット又は別のコンピュータネットワークを含み得る。
図2aに示されるネットワーク環境(201)において、各リアルタイム通信(「RTC」)ツール(210)は、双方向通信のためのエンコーダ(220)及びデコーダ(270)の両方を含む。所与のエンコーダ(220)は、H.265/HEVC規格の変形又は拡張、SMPTE 421M規格、ISO/IEC 14496−10規格(H.264又はAVCとしても知られている)、別の規格、又はプロプライエタリフォーマットに準拠する出力を生成することができ、対応するデコーダ(270)は、エンコーダ(220)からの符号化データを受け入れることができる。双方向通信は、ビデオ会議、ビデオ通話、又は他の2パーティ若しくはマルチパーティ通信シナリオの一部であり得る。図2aのネットワーク環境(201)は、2つのリアルタイム通信ツール(210)を含むが、ネットワーク環境(201)は、マルチパーティ通信に参加する3以上のリアルタイム通信ツール(210)を含んでもよい。
リアルタイム通信ツール(210)は、エンコーダ(220)による符号化を管理する。図3は、リアルタイム通信ツール(210)に含まれ得る例示的なエンコーダシステム(300)を示している。代替的に、リアルタイム通信ツール(210)は、別のエンコーダシステムを使用してもよい。リアルタイム通信ツール(210)はまた、デコーダ(270)による復号も管理する。図4は、リアルタイム通信ツール(210)に含まれ得る例示的なデコーダシステム(400)を示している。代替的に、リアルタイム通信ツール(210)は、別のデコーダシステムを使用してもよい。
図2bに示されるネットワーク環境(202)において、符号化ツール(212)は、デコーダ(270)を含む複数の再生ツール(214)に配信するためのビデオを符号化するエンコーダ(220)を含む。単方向通信は、ビデオが符号化されて1つのロケーションから1以上の他のロケーションに送信される、ビデオ監視システム、ウェブカメラモニタリングシステム、スクリーンキャプチャモジュール、リモートデスクトップ会議プレゼンテーション、又は他のシナリオのために提供され得る。図2bのネットワーク環境(202)は、2つの再生ツール(214)を含むが、ネットワーク環境(202)は、それより多い又はそれより少ない再生ツール(214)を含んでもよい。一般に、再生ツール(214)は、再生ツール(214)が受信するビデオのストリームを判定するために、符号化ツール(212)と通信する。再生ツール(214)は、ストリームを受信し、受信した符号化データを適切な期間の間バッファし、復号及び再生を開始する。
図3は、符号化ツール(212)に含まれ得る例示的なエンコーダシステム(300)を示している。代替的に、符号化ツール(212)は、別のエンコーダシステムを使用してもよい。符号化ツール(212)はまた、1以上の再生ツール(214)との接続を管理するためのサーバサイドコントローラロジックも含み得る。図4は、再生ツール(214)に含まれ得る例示的なデコーダシステム(400)を示している。代替的に、再生ツール(214)は、別のデコーダシステムを使用してもよい。再生ツール(214)はまた、符号化ツール(212)との接続を管理するためのクライアントサイドコントローラロジックも含み得る。
III.例示的なエンコーダシステム
図3は、いくつかの説明する実施形態を協働して実装することができる例示的なエンコーダシステム(300)のブロック図である。エンコーダシステム(300)は、リアルタイム通信のための低遅延符号化モード、トランスコーディングモード、及びファイル又はストリームからの再生のためのメディアを生成するためのより高遅延の符号化モード等の複数の符号化モードのうちのいずれかで動作することができる汎用符号化ツールであってもよいし、そのような1つの符号化モードのために適合された専用符号化ツールであってもよい。エンコーダシステム(300)は、特定のタイプのコンテンツ(例えば、スクリーンキャプチャコンテンツ)を符号化するよう適合されてもよいし、複数の異なるタイプのコンテンツ(例えば、スクリーンキャプチャコンテンツ及び自然ビデオ)のうちの任意のコンテンツを符号化するよう適合されてもよい。エンコーダシステム(300)は、オペレーティングシステムモジュールとして、アプリケーションライブラリの一部として、又はスタンドアロンアプリケーションとして、実装することができる。概して、エンコーダシステム(300)は、ビデオソース(310)から、一連のソースビデオフレーム(311)を受信し、チャネル(390)への出力として符号化データを生成する。チャネルに出力される符号化データは、色空間、色サンプリングレート、及び/又は色深度の適応切り替えにより符号化されたコンテンツを含み得る。
ビデオソース(310)は、カメラ、チューナカード、記憶媒体、スクリーンキャプチャモジュール、又は他のデジタルビデオソースとすることができる。ビデオソース(310)は、例えば、毎秒30フレームといったフレームレートで一連のビデオフレームを生成する。本明細書で使用されるとき、「フレーム」という用語は、一般に、ソースの符号化又は再構成された画像データを指す。プログレッシブスキャンビデオに関して、フレームは、プログレッシブスキャンビデオフレームである。インターレースビデオに関して、例示的な実施形態において、インターレースビデオフレームは、符号化の前にインターレース解除され得る(de-interlaced)。代替的に、2つの相補的インターレースビデオフィールドが、1つのビデオフレームとして一緒に符号化されてもよいし、2つの別々に符号化されるフィールドとして符号化されてもよい。プログレッシブスキャンビデオフレーム又はインターレーススキャンビデオフレームを示すかは別にして、「フレーム」又は「ピクチャ」という用語は、単一の対でないビデオフィールド、相補的な一対のビデオフィールド、所与の時間におけるビデオオブジェクトを表すビデオオブジェクトプレーン、又はより大きな画像における関心領域を示し得る。ビデオオブジェクトプレーン又は領域は、シーンの複数のオブジェクト又は領域を含むより大きな画像の一部であり得る。
到着ソースフレーム(311)は、複数のフレームバッファ記憶領域(321、322、...、32n)を含むソースフレーム一時メモリ記憶領域(320)に記憶される。フレームバッファ(321、322等)は、ソースフレーム記憶領域(320)内で1つのソースフレームを保持する。ソースフレーム(311)のうちの1以上がフレームバッファ(321、322等)に記憶された後、フレームセレクタ(330)が、ソースフレーム記憶領域(320)から個々のソースフレームを選択する。エンコーダ(340)への入力のためにフレームセレクタ(330)によりフレームが選択される順番は、ビデオソース(310)によりフレームが生成される順番とは異なり得る。例えば、いくつかの後続フレームが最初に符号化され、これにより、時間的後方予測を容易にすることを可能にするために、いくつかのフレームの符号化は、順に遅延されることがある。エンコーダ(340)の前に、エンコーダシステム(300)は、符号化の前に選択されたフレーム(331)の前処理(例えば、フィルタリング)を実行するプリプロセッサ(図示せず)を含み得る。
エンコーダ(340)は、選択されたフレーム(331)を符号化して、符号化フレーム(341)を生成するとともに、メモリ管理制御操作(「MMCO」)信号(342)又は参照ピクチャセット(「RPS」)情報を生成する。RPSは、現フレーム又は任意の後続フレームのための動き補償における参照のために使用され得るフレームのセットである。現フレームが、符号化された最初のフレームではない場合、符号化プロセスを実行するとき、エンコーダ(340)は、復号フレーム一時メモリ記憶領域(360)に記憶されている1以上の以前に符号化/復号されたフレーム(369)を使用することができる。そのような記憶されている復号フレーム(369)は、現ソースフレーム(331)のコンテンツのインターフレーム予測のための参照フレームとして使用される。MMCO/RPS情報(342)は、どの再構成フレームが、参照フレームとして使用され得るかを、したがって、フレーム記憶領域に記憶されるべきかを、デコーダに示す。
エンコーダ(340)は、特定の色空間(例えば、YUVタイプの色空間、RGBタイプの色空間)におけるビデオであって、特定の色サンプリングレート(例えば、4:4:4)であり1サンプル当たり特定のビット数(例えば、1サンプル当たり12ビット)のビデオを受け入れる。符号化中、異なるピクチャ、スライス、ブロック、又はビデオの他のユニットについて、エンコーダ(340)は、色空間変換を実行して、YUVタイプの色空間とRGBタイプの色空間との間で、又は、何らかの他の色空間へ/から、変換することができる。エンコーダ(340)はまた、色空間変換を実行して、色成分を並べ替え、どの色成分がプライマリ成分であるかを変更することができる(例えば、RGBフォーマットとBGRフォーマットとGBRフォーマットとの間で変換することができる)。符号化中、エンコーダ(340)はまた、再サンプリング処理を実行して、異なるピクチャ、スライス、ブロック、又はビデオの他のユニットについて、色サンプリングレートを(例えば、4:4:4フォーマットと4:2:2フォーマットと4:2:0フォーマットとの間で)変更することができる。エンコーダ(340)はまた、符号化中、異なるピクチャ、スライス、ブロック、又はビデオの他のユニットについて、色深度を(例えば、1サンプル当たり12ビットと1サンプル当たり10ビットと1サンプル当たり8ビットとの間で)変更することができる。いくつかの例示的な実装において、エンコーダ(340)は、符号化中、ピクチャごとに、色空間、色サンプリングレート、及び/又は色深度を切り替えることができる。
一般に、エンコーダ(340)は、タイルへの分割、色空間、色サンプリングレート、及び/又は色深度の適応、イントラ予測推定及び予測、動き推定及び動き補償、周波数変換、量子化、並びにエントロピ符号化等の符号化タスクを実行する複数の符号化モジュールを含む。エンコーダ(340)により実行される正確なオペレーションは、圧縮フォーマットに応じて変わり得る。出力される符号化データのフォーマットは、H.265/HEVCフォーマットの変形又は拡張、Windows(登録商標) Media Videoフォーマット、VC−1フォーマット、MPEG−xフォーマット(例えば、MPEG−1、MPEG−2、又はMPEG−4)、H.26xフォーマット(例えば、H.261、H.262、H.263、H.264)、又は別のフォーマットであり得る。
エンコーダ(340)は、フレームを、同じサイズ又は異なるサイズの複数のタイルに分割することができる。例えば、エンコーダ(340)は、フレーム境界を用いてフレーム内のタイルの水平境界及び垂直境界を規定するタイル行及びタイル列に沿って、フレームを分割する。ここで、各タイルは矩形領域である。タイルは、並列処理のためのオプションを提供するために、しばしば使用される。フレームはまた、1以上のスライスとして編成され得る。ここで、スライスは、フレーム全体又はフレームの一領域であり得る。スライスは、フレーム内の他のスライスとは独立して復号することができ、これは、誤り耐性を向上させる。スライス又はタイルのコンテンツは、符号化及び復号のために、ブロック又はサンプル値の他のセットにさらに分割される。いくつかの例示的な実装において、エンコーダ(340)は、符号化中、スライスごとに、色空間、色サンプリングレート、及び/又は色深度を切り替えることができる。
H.265/HEVC規格に従ったシンタックスに関して、エンコーダは、フレーム(又はスライス若しくはタイル)のコンテンツを、符号化ツリーユニットに分割する。符号化ツリーユニット(「CTU」)は、1つのルマ符号化ツリーブロック(「CTB」)として編成されるルマサンプル値と、2つのクロマCTBとして編成される対応するクロマサンプル値と、を含む。CTU(及びそのCTB)のサイズは、エンコーダにより選択され、例えば、64×64サンプル値、32×32サンプル値、又は16×16サンプル値であり得る。CTUは、1以上の符号化ユニットを含む。符号化ユニット(「CU」)は、1つのルマ符号化ブロック(「CB」)と2つの対応するクロマCBとを有する。例えば、1つの64×64ルマCTBと2つの64×64クロマCTBとを有するCTU(YUV4:4:4フォーマット)は、4つのCUに分割され得る。ここで、各CUは、1つの32×32ルマCBと2つの32×32クロマCBとを含み、各CUは、可能であれば、より小さなCUにさらに分割される。あるいは、別の例として、1つの64×64ルマCTBと2つの32×32クロマCTBとを有するCTU(YUV4:2:0フォーマット)は、4つのCUに分割され得る。ここで、各CUは、1つの32×32ルマCBと2つの16×16クロマCBとを含み、各CUは、可能であれば、より小さなCUにさらに分割される。CUの最小許容可能サイズ(例えば、8×8、16×16)が、ビットストリームに含められてシグナリングされ得る。
一般に、CUは、インター又はイントラ等の予測モードを有する。CUは、予測情報(例えば、予測モード詳細、変位値等)のシグナリング及び/又は予測処理のために、1以上の予測ユニットを含む。予測ユニット(「PU」)は、1つのルマ予測ブロック(「PB」)と2つのクロマPBとを有する。イントラ予測CUに関して、CUが最小サイズ(例えば、8×8)を有する場合を除いて、PUは、CUと同じサイズを有する。この場合、CUは、4つのより小さなPU(例えば、最小CUサイズが8×8である場合、それぞれ4×4である)に分割され得る、あるいは、PUは、CUについてのシンタックス要素により示される最小CUサイズを有し得る。CUはまた、残差符号化/復号のために、1以上の変換ユニットを有する。ここで、変換ユニット(「TU」)は、1つのルマ変換ブロック(「TB」)と2つのクロマTBとを有する。イントラ予測CU内のPUは、1つのTU(PUとサイズが等しい)又は複数のTUを含み得る。エンコーダは、ビデオをCTU、CU、PU、TU等にどのように分割するかを決定する。
H.265/HEVC実装において、スライスは、1つのスライスセグメント(独立スライスセグメント)を含み得る、又は、複数のスライスセグメント(1つの独立スライスセグメント及び1以上の従属スライスセグメント)に分割され得る。スライスセグメントは、1つのネットワーク抽象化レイヤ(「NAL」)ユニットに含まれる、タイルスキャンにおいて連続して順番付けられる整数個のCTUである。独立スライスセグメントに関して、スライスセグメントヘッダは、独立スライスセグメントについて適用されるシンタックス要素の値を含む。従属スライスセグメントに関して、短(truncated)スライスセグメントヘッダは、その従属スライスセグメントについて適用されるシンタックス要素の少しの値を含み、その従属スライスセグメントについての他のシンタックス要素の値は、復号順で先行する独立スライスセグメントについての値から推測される。
本明細書で使用されるとき、「ブロック」という用語は、文脈に応じて、マクロブロック、予測ユニット、残差データユニット、すなわち、CB、PB、若しくはTB、又は、サンプル値の何らかの他のセットを示し得る。いくつかの例示的な実装において、エンコーダ(340)は、符号化中、ブロックごとに、色空間、色サンプリングレート、及び/又は色深度を切り替えることができる。
図3に戻ると、エンコーダは、ソースフレーム(331)内の他の以前に再構成されたサンプル値からの予測の観点でそのソースフレーム(331)のイントラ符号化ブロックを表現する。イントラブロックコピー(「BC」)予測に関して、イントラピクチャ推定部が、他の以前に再構成されたサンプル値に対するブロックの変位を推定する。イントラフレーム予測参照領域とは、ブロックのためのBC予測値を生成するために使用される、フレーム内のサンプル値の領域である。イントラフレーム予測領域は、(ブロックベクトル(「BV」)推定において決定された)BV値により示され得る。ブロックのためのイントラ空間予測に関して、イントラピクチャ推定部が、ブロックへの、隣接する再構成されたサンプル値の外挿(extrapolation)を推定する。イントラピクチャ推定部は、予測情報(イントラBC予測のためのBV値やイントラ空間予測のための予測モード(方向)等)を出力することができ、この予測情報が、エントロピ符号化される。イントラフレーム予測予測部は、イントラ予測値を決定するために、予測情報を適用する。
エンコーダ(340)は、参照フレームからの予測の観点でソースフレーム(331)のインターフレーム符号化予測ブロックを表現する。動き推定部は、1以上の参照フレーム(369)に対するブロックの動きを推定する。複数の参照フレームが使用される場合、複数の参照フレームは、異なる時間的方向からのものであってもよいし、同じ時間的方向からのものであってもよい。動き補償予測参照領域とは、現フレームのブロックのサンプル値のための動き補償予測値を生成するために使用される、1以上の参照フレーム内のサンプル値の領域である。動き推定部は、動きベクトル(「MV」)情報等の動き情報を出力し、この動き情報が、エントロピ符号化される。動き補償部は、インターフレーム予測のための動き補償予測値を決定するために、MVを参照フレーム(369)に適用する。
エンコーダは、ブロックの予測値(イントラ又はインター)と対応するオリジナルの値との間の差(あれば)を決定することができる。このような予測残差値が、周波数変換、量子化、及びエントロピ符号化を用いて、さらに符号化される。例えば、エンコーダ(340)は、ピクチャ、タイル、スライス、及び/又はビデオの他の部分のための量子化パラメータ(「QP」)の値を設定し、それに従って変換係数を量子化する。エンコーダ(340)のエントロピ符号化部が、量子化された変換係数値に加えて、所定のサイド情報(例えば、MV情報、BV予測因子のインデックス値、BV差分、QP値、モード決定、パラメータ選択)も圧縮する。一般的なエントロピ符号化技術は、指数ゴロム符号化、ゴロムライス符号化、算術符号化、差分符号化、ハフマン符号化、ランレングス符号化、「V2V(variable-length-to-variable-length)」符号化、「V2F(variable-length-to-fixed-length)」符号化、「LZ(Lempel-Ziv)」符号化、辞書符号化、「PIPE(probability interval partitioning entropy)」符号化、及びこれらの組合せを含む。エントロピ符号化部は、様々な種類の情報のための様々な符号化技術を使用することができ、複数の技術を組み合わせて適用することができ(例えば、ゴロムライス符号化を適用した後に算術符号化を適用することにより)、特定の符号化技術における複数の符号テーブルの中から選択することができる。
復号フレーム内のブロック境界行及び/又はブロック境界列にわたる不連続さを平滑化するために、適応デブロッキングフィルタが、エンコーダ(340)における動き補償ループ内に含まれる。代替的又は追加的に、他のフィルタリング(デリンギングフィルタリング、適応ループフィルタリング(「ALF」)、又はサンプル適応オフセット(「SAO」)フィルタリング等;図示せず)が、ループ内フィルタリングオペレーションとして、適用されてもよい。
エンコーダ(340)により生成された符号化データは、ビットストリームシンタックスの様々なレイヤについてのシンタックス要素を含む。H.265/HEVC規格に従ったシンタックスに関して、例えば、ピクチャパラメータセット(「PPS」)は、ピクチャに関連付けられ得るシンタックス要素を含むシンタックス構造である。いくつかの例示的な実装において、PPSは、1つのピクチャ(又は、PPSを使用する複数のピクチャ)について適用される色空間、色サンプリングレート、及び/又は色深度を示す1以上の信号に加えて、利用可能な色空間、利用可能な色サンプリングレート、及び/又は利用可能な色深度を識別又は規定する他の情報を含み得る。PPSは、1つのピクチャについて使用されることもあるし、PPSは、シーケンス内の複数のピクチャについて再使用されることもある。PPSは、通常、ピクチャについての符号化データとは別にシグナリングされる(例えば、1つのNALユニットは、PPS用であり、1以上の他のNALユニットは、ピクチャについての符号化データ用である)。ピクチャについての符号化データにおいて、シンタックス要素は、ピクチャについてどのPPSを使用するかを示す。同様に、H.265/HEVC規格に従ったシンタックスに関して、シーケンスパラメータセット(「SPS」)は、ピクチャのシーケンスに関連付けられ得るシンタックス要素を含むシンタックス構造である。ビットストリームは、1つのSPS又は複数のSPSを含み得る。SPSは、通常、シーケンスについての他のデータとは別にシグナリングされ、他のデータにおけるシンタックス要素が、どのSPSを使用するかを示す。いくつかの例示的な実装において、シーケンスについてのSPSは、利用可能な色空間、利用可能な色サンプリングレート、及び/又は利用可能な色深度を識別又は規定する情報を含み得、これが、シーケンス内で、色空間、色サンプリングレート、及び/又は色深度を切り替えるときに、参照される。
スライスレイヤに関して、スライスヘッダ(例えば、スライスセグメントヘッダ)は、スライス(例えば、独立スライスセグメント及びそれに続くあらゆる従属スライスセグメント)について適用されるシンタックス要素の値を含む。いくつかの例示的な実装において、スライスヘッダは、スライスについて適用される色空間、色サンプリングレート、及び/又は色深度を示す1以上の信号を含み得る。いくつかの例示的な実装において、スライスヘッダはまた、利用可能な色空間、利用可能な色サンプリングレート、及び/又は利用可能な色深度を識別又は規定する情報を含み得、これが、スライス内で、色空間、色サンプリングレート、及び/又は色深度を切り替えるときに、参照される。ブロックレイヤに関して(例えば、CTUに関して)、シンタックス構造は、ブロックについて適用されるシンタックス要素の値を含む。いくつかの例示的な実装において、ブロックについてのシンタックス構造は、ブロックについて適用される色空間、色サンプリングレート、及び/又は色深度を示す1以上の信号を含み得る。
符号化フレーム(341)及びMMCO/RPS情報(342)(又は、フレームについての依存関係及び順番構造がエンコーダ(340)において既に知られているため、MMCO/RPS情報(342)と同等の情報)が、復号プロセスエミュレータ(350)により処理される。復号プロセスエミュレータ(350)は、例えば、参照フレームを再構成する復号タスク等のデコーダの機能の一部を実装している。復号プロセスエミュレータ(350)は、MMCO/RPS情報(342)と整合するように、所与の符号化フレーム(341)が、符号化される後続フレームのインターフレーム予測において参照フレームとして使用するために再構成されて記憶される必要があるかどうかを判定する。符号化フレーム(341)が記憶される必要がある場合、復号プロセスエミュレータ(350)は、符号化フレーム(341)を受信して対応する復号フレーム(351)を生成するデコーダにより行われるであろう復号プロセスを模擬する。そうする際に、エンコーダ(340)が、復号フレーム記憶領域(360)に記憶されている1以上の復号フレーム(369)を使用したとき、復号プロセスエミュレータ(350)は、復号プロセスの一部として、記憶領域(360)から1以上の復号フレーム(369)を使用する。
復号フレーム一時メモリ記憶領域(360)は、複数のフレームバッファ記憶領域(361、362、...、36n)を含む。復号プロセスエミュレータ(350)は、MMCO/RPS情報(342)と整合するように、参照フレームとして使用するためにエンコーダ(340)によりもはや必要とされなくなったフレームを有する任意のフレームバッファ(361、362等)を識別するために、記憶領域(360)のコンテンツを管理する。復号プロセスを模擬した後、復号プロセスエミュレータ(350)は、このように識別されるフレームバッファ(361、362等)に、新たに復号されたフレーム(351)を記憶する。
符号化フレーム(341)及びMMCO/RPS情報(342)は、一時符号化データ領域(370)にバッファされる。符号化データ領域(370)に収集される符号化データは、エレメンタリ符号化ビデオビットストリームのシンタックスの一部として、1以上のピクチャの符号化データを含む。符号化データ領域(370)に収集される符号化データはまた、(例えば、1以上の付加拡張情報(「SEI」)メッセージ又はビデオユーザビリティ情報(「VUI」)メッセージにおける1以上のパラメータとして、)符号化ビデオデータに関連するメディアメタデータを含み得る。
一時符号化データ領域(370)からの収集されたデータ(371)は、チャネルエンコーダ(380)により処理される。チャネルエンコーダ(380)は、(例えば、ITU−T H.222.0|ISO/IEC 13818−1等のメディアプログラムストリーム若しくはトランスポートストリームフォーマット、又は、IETF RFC 3550等のインターネットリアルタイムトランスポートプロトコルフォーマットに従って)メディアストリームとして伝送又は記憶するために、収集されたデータをパケット化及び/又は多重化することができる。そのような場合、チャネルエンコーダ(380)は、メディア伝送ストリームのシンタックスの一部として、シンタックス要素を付加することができる。あるいは、チャネルエンコーダ(380)は、(例えば、ISO/IEC 14496−12等のメディアコンテナフォーマットに従って)ファイルとして記憶するために、収集されたデータを編成することができる。そのような場合、チャネルエンコーダ(380)は、メディア記憶ファイルのシンタックスの一部として、シンタックス要素を付加することができる。あるいは、より一般的に、チャネルエンコーダ(380)は、1以上のメディアシステム多重化プロトコル又はトランスポートプロトコルを実装することができる。そのような場合、チャネルエンコーダ(380)は、1以上のプロトコルのシンタックスの一部として、シンタックス要素を付加することができる。チャネルエンコーダ(380)は、チャネル(390)への出力を提供する。チャネル(390)は、ストレージ、通信接続、又は出力のための別のチャネルを表す。チャネルエンコーダ(380)又はチャネル(390)はまた、例えば、前方誤り訂正(「FEC」)符号化及びアナログ信号変調のための他の要素(図示せず)を含み得る。
IV.例示的なデコーダシステム
図4は、いくつかの説明する実施形態を協働して実装することができる例示的なデコーダシステム(400)のブロック図である。デコーダシステム(400)は、リアルタイム通信のための低遅延復号モード及びファイル又はストリームからのメディア再生のためのより高遅延の復号モード等の複数の復号モードのうちのいずれかで動作することができる汎用復号ツールであってもよいし、そのような1つの復号モードのために適合された専用復号ツールであってもよい。デコーダシステム(400)は、特定のタイプのコンテンツ(例えば、スクリーンキャプチャコンテンツ)を復号するよう適合されてもよいし、複数の異なるタイプのコンテンツ(例えば、スクリーンキャプチャコンテンツ及び自然ビデオ)のうちの任意のコンテンツを復号するよう適合されてもよい。デコーダシステム(400)は、オペレーティングシステムモジュールとして、アプリケーションライブラリの一部として、又はスタンドアロンアプリケーションとして、実装することができる。概して、デコーダシステム(400)は、チャネル(410)から符号化データを受信し、出力先(490)への出力として再構成フレームを生成する。符号化データは、色空間、色サンプリングレート、及び/又は色深度の適応切り替えにより符号化されたコンテンツを含み得る。
デコーダシステム(400)は、ストレージ、通信接続、又は入力としての符号化データのための別のチャネルを表し得るチャネル(410)を含む。チャネル(410)は、チャネル符号化された符号化データを生成する。チャネルデコーダ(420)は、符号化データを処理することができる。例えば、チャネルデコーダ(420)は、(例えば、ITU−T H.222.0|ISO/IEC 13818−1等のメディアプログラムストリーム若しくはトランスポートストリームフォーマット、又は、IETF RFC 3550等のインターネットリアルタイムトランスポートプロトコルフォーマットに従って)メディアストリームとして伝送又は記憶するために収集されたデータを逆パケット化及び/又は逆多重化する。そのような場合、チャネルデコーダ(420)は、メディア伝送ストリームのシンタックスの一部として付加されたシンタックス要素を解析することができる。あるいは、チャネルデコーダ(420)は、(例えば、ISO/IEC 14496−12等のメディアコンテナフォーマットに従って)ファイルとして記憶するために収集された符号化ビデオデータを分離する。そのような場合、チャネルデコーダ(420)は、メディア記憶ファイルのシンタックスの一部として付加されたシンタックス要素を解析することができる。あるいは、より一般的に、チャネルデコーダ(420)は、1以上のメディアシステム逆多重化プロトコル又はトランスポートプロトコルを実装することができる。そのような場合、チャネルデコーダ(420)は、1以上のプロトコルのシンタックスの一部として付加されたシンタックス要素を解析することができる。チャネル(410)又はチャネルデコーダ(420)はまた、例えば、FEC復号及びアナログ信号復調のための他の要素(図示せず)を含み得る。
十分な量のデータが受信されるまで、チャネルデコーダ(420)から出力される符号化データ(421)は、一時符号化データ領域(430)に記憶される。符号化データ(421)は、符号化フレーム(431)及びMMCO/RPS情報(432)を含む。符号化データ領域(430)内の符号化データ(421)は、エレメンタリ符号化ビデオビットストリームのシンタックスの一部として、1以上のピクチャの符号化データを含む。符号化データ領域(430)内の符号化データ(421)はまた、(例えば、1以上のSEIメッセージ又はVUIメッセージにおける1以上のパラメータとして、)符号化ビデオデータに関連するメディアメタデータを含み得る。
一般に、符号化データ(421)がデコーダ(450)により使用されるまで、符号化データ領域(430)は、そのような符号化データ(421)を一時的に記憶する。その時点で、符号化フレーム(431)及びMMCO/RPS情報(432)の符号化データが、符号化データ領域(430)からデコーダ(450)に伝送される。復号が進むにつれ、新たな符号化データが、符号化データ領域(430)に追加され、符号化データ領域(430)に残っている最も古い符号化データが、デコーダ(450)に伝送される。
デコーダ(450)は、符号化フレーム(431)を復号して、対応する復号フレーム(451)を生成する。必要に応じて、復号プロセスを実行するとき、デコーダ(450)は、インターフレーム予測のための参照フレームとして、1以上の以前に復号されたフレーム(469)を使用することができる。デコーダ(450)は、復号フレーム一時メモリ記憶領域(460)から、そのような以前に復号されたフレーム(469)を読み出す。
復号中、異なるピクチャ、スライス、ブロック、又はビデオの他のユニットについて、デコーダ(450)は、色空間変換を実行して、YUVタイプの色空間とRGBタイプの色空間との間で、又は、何らかの他の色空間へ/から、変換することができる。デコーダ(450)はまた、色空間変換を実行して、異なるピクチャ、スライス、ブロック、又はビデオの他のユニットについて、色成分を並べ替え、どの色成分がプライマリ成分であるかを変更することができる(例えば、RGBフォーマットとBGRフォーマットとGBRフォーマットとの間で変換することができる)。復号中、デコーダ(450)はまた、再サンプリング処理を実行して、異なるピクチャ、スライス、ブロック、又はビデオの他のユニットについて、色サンプリングレート及び/又は色深度を変更することができる。いくつかの例示的な実装において、デコーダ(450)は、復号中、ピクチャごとに、色空間、色サンプリングレート、及び/又は色深度を切り替えることができる。代替的に、デコーダ(450)は、復号中、スライスごとに又はブロックごとに、色空間、色サンプリングレート、及び/又は色深度を切り替えてもよい。
一般に、デコーダ(450)は、エントロピ復号、色空間、色サンプリングレート、及び/又は色深度の適応、イントラフレーム予測、動き補償インターフレーム予測、逆量子化、逆周波数変換、及びタイルのマージ等の復号タスクを実行する複数の復号モジュールを含む。デコーダ(450)により実行される正確なオペレーションは、圧縮フォーマットに応じて変わり得る。
例えば、デコーダ(450)は、圧縮フレーム又は一連のフレームの符号化データを受信し、復号フレーム(451)を含む出力を生成する。デコーダ(450)において、バッファは、圧縮フレームの符号化データを受け入れ、適切な時間に、受け入れた符号化データをエントロピ復号部に利用可能にする。エントロピ復号部は、通常はエンコーダにおいて実行されたエントロピ符号化の逆を適用することにより、エントロピ符号化された量子化されたデータに加えて、エントロピ符号化されたサイド情報もエントロピ復号する。動き補償部は、再構成されているフレームのインター符号化ブロックの動き補償予測値を形成するために、動き情報を1以上の参照フレームに適用する。イントラフレーム予測モジュールは、隣接する以前に再構成されたサンプル値から、現ブロックのサンプル値を空間的に予測することができる、又は、イントラBC予測に関して、フレーム内のイントラフレーム予測参照領域の以前に再構成されたサンプル値を使用して、現ブロックのサンプル値を予測することができる。この参照領域は、BV値により示され得る。デコーダ(450)はまた、予測残差値を再構成する。逆量子化部は、エントロピ復号されたデータを逆量子化する。例えば、デコーダ(450)は、ビットストリームにおけるシンタックス要素に基づいて、ピクチャ、タイル、スライス、及び/又はビデオの他の部分のためのQPの値を設定し、それに従って変換係数を逆量子化する。逆周波数変換部は、量子化された周波数領域データを空間領域データに変換する。インターフレーム予測ブロックに関して、デコーダ(450)は、再構成された予測残差値を動き補償予測値と結合する。デコーダ(450)は、同様に、予測残差値を、イントラ予測からの予測値と結合することができる。復号フレーム(451)内のブロック境界行及び/又はブロック境界列にわたる不連続さを平滑化するために、適応デブロッキングフィルタが、ビデオデコーダ(450)における動き補償ループ内に含まれる。代替的又は追加的に、他のフィルタリング(デリンギングフィルタリング、ALF、又はSAOフィルタリング等;図示せず)が、ループ内フィルタリングオペレーションとして、適用されてもよい。
復号フレーム一時メモリ記憶領域(460)は、複数のフレームバッファ記憶領域(461、462、...、46n)を含む。復号フレーム記憶領域(460)は、復号ピクチャバッファの一例である。デコーダ(450)は、MMCO/RPS情報(432)を使用して、復号フレーム(451)を記憶することができるフレームバッファ(461、462等)を識別する。デコーダ(450)は、そのフレームバッファに復号フレーム(451)を記憶する。
出力シーケンサ(480)は、出力順で生成される次のフレームが復号フレーム記憶領域(460)内で利用可能になるときを識別する。出力順で生成される次のフレーム(481)が、復号フレーム記憶領域(460)内で利用可能になったとき、そのフレームが、出力シーケンサ(480)により読み出され、出力先(490)(例えば、ディスプレイ)に出力される。一般に、復号フレーム記憶領域(460)から出力シーケンサ(480)によりフレームが出力される順番は、デコーダ(450)によりフレームが復号される順番とは異なり得る。
V.例示的なビデオエンコーダ
図5a及び図5bは、いくつかの説明する実施形態を協働して実装することができる一般化されたビデオエンコーダ(500)のブロック図である。エンコーダ(500)は、現ピクチャを含む一連のビデオピクチャを、入力ビデオ信号(505)として受信し、符号化ビデオビットストリーム(595)内の符号化データを、出力として生成する。
エンコーダ(500)は、ブロックベースであり、実装に依存するブロックフォーマットを使用する。ブロックは、例えば、予測段階、周波数変換段階、及び/又はエントロピ符号化段階において等の様々な段階において、さらに細分割され得る。例えば、ピクチャは、64×64ブロック、32×32ブロック、又は16×16ブロックに分割され得、今度は、それらのブロックが、符号化及び復号のために、サンプル値のより小さなブロックに分割され得る。H.265/HEVC規格のための符号化の実装において、エンコーダは、ピクチャを、CTU(CTB)、CU(CB)、PU(PB)、及びTU(TB)に分割する。
エンコーダ(500)は、イントラピクチャ符号化及び/又はインターピクチャ符号化を用いて、ピクチャを圧縮する。エンコーダ(500)のコンポーネントの多くが、イントラピクチャ符号化及びインターピクチャ符号化の両方のために使用される。これらのコンポーネントにより実行される正確なオペレーションは、圧縮される情報のタイプに応じて変わり得る。
タイル化モジュール(510)は、任意的に、ピクチャを、同じサイズ又は異なるサイズの複数のタイルに分割する。例えば、タイル化モジュール(510)は、ピクチャ境界を用いてピクチャ内のタイルの水平境界及び垂直境界を規定するタイル行及びタイル列に沿って、ピクチャを分割する。ここで、各タイルは矩形領域である。H.265/HEVC実装において、エンコーダ(500)は、ピクチャを1以上のスライスに分割する。ここで、各スライスは、1以上のスライスセグメントを含む。
一般符号化制御部(520)は、入力ビデオ信号(505)のピクチャに加えて、エンコーダ(500)の様々なモジュールからのフィードバック(図示せず)を受信する。概して、一般符号化制御部(520)は、符号化中に符号化パラメータを設定及び変更するために、他のモジュール(タイル化モジュール(510)、変換部/スケーリング部/量子化部(530)、スケーリング部/逆変換部(535)、イントラピクチャ推定部(540)、動き推定部(550)、及びイントラ/インタースイッチ等)に制御信号(図示せず)を供給する。詳細には、一般符号化制御部(520)は、符号化中に、ピクチャごとに、スライスごとに、ブロックごとに、又は何らかの他の単位で、色空間、色サンプリングレート、及び/又は色深度をどのように適応的に切り替えるかを決定することができる。一般符号化制御部(520)はまた、符号化中に中間結果を評価することができる。一般符号化制御部(520)は、符号化中になされた決定を示す一般制御データ(522)を生成するので、対応するデコーダは、整合する決定を行うことができる。一般制御データ(522)は、ヘッダフォーマット化部/エントロピ符号化部(590)に提供される。
現ピクチャが、インターピクチャ予測を用いて予測される場合、動き推定部(550)は、1以上の参照ピクチャに対する、入力ビデオ信号(505)の現ピクチャのサンプル値のブロックの動きを推定する。復号ピクチャバッファ(570)は、参照ピクチャとして使用するために、1以上の以前に再構成された符号化ピクチャをバッファする。複数の参照ピクチャが使用される場合、複数の参照ピクチャは、異なる時間的方向からのものであってもよいし、同じ時間的方向からのものであってもよい。動き推定部(550)は、サイド情報として、MVデータ等の動きデータ(552)、マージモードインデックス値、及び参照ピクチャ選択データを生成する。動きデータ(552)は、ヘッダフォーマット化部/エントロピ符号化部(590)及び動き補償部(555)に提供される。
動き補償部(555)は、復号ピクチャバッファ(570)からの1以上の再構成された参照ピクチャに、MVを適用する。動き補償部(555)は、現ピクチャのための動き補償予測を生成する。ピクチャについてのセカンダリ成分が、プライマリ成分と同じ解像度を有する場合(例えば、フォーマットが、YUV4:4:4フォーマット又はRGB4:4:4フォーマットである場合)、セカンダリ成分ブロックについて適用されるMV値は、対応するプライマリ成分ブロックについて適用されるMV値と同じであり得る。一方、ピクチャについてのセカンダリ成分が、プライマリ成分より低い解像度を有する場合(例えば、フォーマットが、YUV4:2:0フォーマットである場合)、セカンダリ成分ブロックについて適用されるMV値は、低減され、可能であれば、解像度における差を調整するために丸められ得る(例えば、MV値の垂直成分及び水平成分を2で除算して、それらを整数値に切り捨てる又は丸めることにより)。
エンコーダ(500)内の分離パス(separate path)において、イントラピクチャ推定部(540)は、入力ビデオ信号(505)の現ピクチャのサンプル値のブロックのためのイントラピクチャ予測をどのように実行するかを決定する。現ピクチャは、イントラピクチャ符号化を用いて、全体又は一部が符号化され得る。イントラ空間予測に関して、イントラピクチャ推定部(540)は、現ピクチャの再構成(538)の値を使用して、現ピクチャの隣接する以前に再構成されたサンプル値から、現ピクチャの現ブロックのサンプル値をどのように空間的に予測するかを決定する。あるいは、BV値を使用するイントラBC予測に関して、イントラピクチャ推定部(540)は、現ピクチャ内の異なる候補参照領域への、現ブロックのサンプル値の変位を推定する。図5bにおいて、候補参照領域は、再構成されたサンプル値を含む。代替的に、BV推定のために、候補参照領域は、入力サンプル値を含んでもよい。
イントラピクチャ推定部(540)は、サイド情報として、イントラ予測が空間予測を使用するかイントラBC予測を使用するかを示す情報(例えば、イントラブロックごとのフラグ値)、予測モード方向(イントラ空間予測に関して)、及びBV値(イントラBC予測に関して)等のイントラ予測データ(542)を生成する。イントラ予測データ(542)は、ヘッダフォーマット化部/エントロピ符号化部(590)及びイントラピクチャ予測部(545)に提供される。
イントラピクチャ予測部(545)は、イントラ予測データ(542)に従って、現ピクチャの隣接する以前に再構成されたサンプル値から、現ピクチャの現ブロックのサンプル値を空間的に予測する。あるいは、イントラBC予測に関して、イントラピクチャ予測部(545)は、現ブロックのBV値により示されるイントラピクチャ予測参照領域の以前に再構成されたサンプル値を使用して、現ブロックのサンプル値を予測する。いくつかの場合において、BV値は、BV予測因子(予測されたBV値)であり得る。他の場合において、BV値は、その予測されたBV値とは異なり得、このような場合、BV差分が、予測されるBV値とBV値との差を示す。ピクチャについてのセカンダリ成分が、プライマリ成分と同じ解像度を有する場合(例えば、フォーマットが、YUV4:4:4フォーマット又はRGB4:4:4フォーマットである場合)、セカンダリ成分ブロックについて適用されるBV値は、対応するプライマリ成分ブロックについて適用されるBV値と同じであり得る。一方、ピクチャについてのセカンダリ成分が、プライマリ成分より低い解像度を有する場合(例えば、フォーマットが、YUV4:2:0フォーマットである場合)、セカンダリ成分ブロックについて適用されるBV値は、低減され、可能であれば、解像度における差を調整するために丸められ得る(例えば、BV値の垂直成分及び水平成分を2で除算して、それらを整数値に切り捨てる又は丸めることにより)。
イントラ/インタースイッチは、所与のブロックのための予測(558)が、動き補償予測であるか又はイントラピクチャ予測であるかを選択する。非スキップモードブロックに関して、予測(558)のブロックと、入力ビデオ信号(505)のオリジナルの現ピクチャの対応する部分と、の間の差(あれば)が、残差(518)の値を提供する。非スキップモードブロックに関して、現ピクチャの再構成中に、再構成された残差値が、予測(558)と結合されて、ビデオ信号(505)からのオリジナルのコンテンツのおおよその又は正確な再構成(538)が生成される。(損失圧縮(lossy compression)では、いくつかの情報が、ビデオ信号(505)から失われる。)
変換部/スケーリング部/量子化部(530)において、周波数変換部は、空間領域ビデオ情報を周波数領域(すなわち、スペクトル変換)データに変換する。ブロックベースのビデオ符号化に関して、周波数変換部は、離散コサイン変換(「DCT」)、その整数近似、又は別のタイプの順ブロック変換(例えば、離散サイン変換又はその整数近似)を予測残差データ(又は、予測(558)がヌルの場合にはサンプル値データ)のブロックに適用して、周波数変換係数のブロックを生成する。エンコーダ(500)はまた、そのような変換ステップがスキップされることを指示することができる。スケーリング部/量子化部は、変換係数をスケーリングして量子化する。例えば、量子化部は、ピクチャごとに、タイルごとに、スライスごとに、ブロックごとに、周波数固有の単位で、又は他の単位で変わる量子化ステップサイズで、デッドゾーン(dead-zone)スカラ量子化を周波数領域データに適用する。量子化された変換係数データ(532)は、ヘッダフォーマット化部/エントロピ符号化部(590)に提供される。
スケーリング部/逆変換部(535)において、スケーリング部/逆量子化部は、量子化された変換係数に対して、逆スケーリング及び逆量子化を実行する。逆周波数変換部は、逆周波数変換を実行して、再構成された予測残差値又はサンプル値のブロックを生成する。非スキップモードブロックに関して、エンコーダ(500)は、再構成された残差値を、予測(558)の値(例えば、動き補償予測値、イントラピクチャ予測値)と結合して、再構成(538)を生成する。スキップモードブロックに関して、エンコーダ(500)は、再構成(538)として、予測(558)の値を使用する。
イントラピクチャ予測に関して、再構成(538)の値は、イントラピクチャ推定部(540)及びイントラピクチャ予測部(545)にフィードバックされ得る。また、再構成(538)の値は、後続ピクチャの動き補償予測のためにも使用され得る。再構成(538)の値は、さらにフィルタリングされ得る。フィルタリング制御部(560)は、ビデオ信号(505)の所与のピクチャについて、再構成(538)の値に対して、デブロックフィルタリング及びSAOフィルタリングをどのように実行するかを決定する。フィルタリング制御部(560)は、フィルタリング制御データ(562)を生成する。フィルタリング制御データ(562)は、ヘッダフォーマット化部/エントロピ符号化部(590)及びマージ部/1以上のフィルタ(565)に提供される。
マージ部/1以上のフィルタ(565)において、エンコーダ(500)は、異なるタイルからのコンテンツを、ピクチャの再構成バージョンにマージする。エンコーダ(500)は、ピクチャ内の境界にわたる不連続さを適応的に平滑化するために、フィルタリング制御データ(562)に従って、デブロックフィルタリング及びSAOフィルタリングを選択的に実行する。代替的又は追加的に、他のフィルタリング(デリンギングフィルタリング又はALF等;図示せず)が、適用されてもよい。タイル境界は、エンコーダ(500)の設定に応じて、選択的にフィルタリングされ得る又はフィルタリングされず、エンコーダ(500)は、そのようなフィルタリングが適用されたか否かを示すシンタックスを、符号化ビットストリーム内に提供することができる。復号ピクチャバッファ(570)は、後続の動き補償予測において使用するために、再構成された現ピクチャをバッファする。
ヘッダフォーマット化部/エントロピ符号化部(590)は、一般制御データ(522)、量子化された変換係数データ(532)、イントラ予測データ(542)、動きデータ(552)、及びフィルタリング制御データ(562)をフォーマット化及び/又はエントロピ符号化する。一般制御データ(522)は、ピクチャ、スライス、ブロック、又はビデオの他のユニットについての色空間、色サンプリングレート、及び/又は色深度を示す信号を含む。そのような信号は、例えば、PPS、スライスヘッダ、ブロックシンタックス構造、又は他のシンタックス構造に含められ得、固定長の値としてエントロピ符号化又はシグナリングされ得る。ヘッダフォーマット化部/エントロピ符号化部(590)はまた、利用可能な色空間を識別又は規定する情報(例えば、予め定められた色空間のリスト、色空間変換演算のためのカスタム行列)、利用可能な色サンプリングレートを識別又は規定する情報(例えば、予め定められた色サンプリングレート、他の色サンプリングレート、又はダウンサンプリング及びアップサンプリングについての演算のアイデンティフィケーションのリスト)、及び/又は、利用可能な色深度を識別又は規定する情報(例えば、予め定められた色深度、他の色深度、又は色深度変換についての演算のアイデンティフィケーションのリスト)をフォーマット化及び/又はエントロピ符号化することができ、これらは、適応切り替え中にデコーダにより使用可能である。
ヘッダフォーマット化部/エントロピ符号化部(590)は、符号化データを、符号化ビデオビットストリーム(595)内に提供する。符号化ビデオビットストリーム(595)のフォーマットは、H.265/HEVCフォーマットの変形又は拡張、Windows(登録商標) Media Videoフォーマット、VC−1フォーマット、MPEG−xフォーマット(例えば、MPEG−1、MPEG−2、又はMPEG−4)、H.26xフォーマット(例えば、H.261、H.262、H.263、H.264)、又は別のフォーマットであり得る。
実装及び所望の圧縮のタイプに応じて、エンコーダ(500)のモジュールを追加してもよいし、省略してもよいし、複数のモジュールに分割してもよいし、他のモジュールと結合してもよいし、且つ/又は同様のモジュールと置換してもよい。代替実施形態において、異なるモジュール及び/又はモジュールの他の構成を有するエンコーダは、説明した技術のうちの1以上を実行する。エンコーダの特定の実施形態は、通常、エンコーダ(500)の変形又は補完バージョンを使用する。エンコーダ(500)内のモジュール間の示された関係は、エンコーダ内の情報の一般的な流れを示すものである。他の関係は、簡潔さのため示されていない。
VI.例示的なビデオデコーダ
図6は、いくつかの説明する実施形態を協働して実装することができる一般化されたデコーダ(600)のブロック図である。デコーダ(600)は、符号化ビデオビットストリーム(605)内の符号化データを受信し、再構成ビデオ(695)のためのピクチャを含む出力を生成する。符号化ビデオビットストリーム(605)のフォーマットは、H.265/HEVCフォーマットの変形又は拡張、Windows(登録商標) Media Videoフォーマット、VC−1フォーマット、MPEG−xフォーマット(例えば、MPEG−1、MPEG−2、又はMPEG−4)、H.26xフォーマット(例えば、H.261、H.262、H.263、H.264)、又は別のフォーマットであり得る。
デコーダ(600)は、ブロックベースであり、実装に依存するブロックフォーマットを使用する。ブロックは、様々な段階において、さらに細分割され得る。例えば、ピクチャは、64×64ブロック、32×32ブロック、又は16×16ブロックに分割され得、今度は、それらのブロックが、サンプル値のより小さなブロックに分割され得る。H.265/HEVC規格のための復号の実装において、ピクチャは、CTU(CTB)、CU(CB)、PU(PB)、及びTU(TB)に分割される。
デコーダ(600)は、イントラピクチャ復号及び/又はインターピクチャ復号を用いて、ピクチャを伸張する。デコーダ(600)のコンポーネントの多くが、イントラピクチャ復号及びインターピクチャ復号の両方のために使用される。これらのコンポーネントにより実行される正確なオペレーションは、伸張される情報のタイプに応じて変わり得る。
バッファは、符号化ビデオビットストリーム(605)内の符号化データを受け入れ、受け入れた符号化データを解析部/エントロピ復号部(610)に利用可能にする。解析部/エントロピ復号部(610)は、通常はエンコーダ(500)において実行されたエントロピ符号化の逆(例えば、コンテキスト適応バイナリ算術復号)を適用することにより、エントロピ符号化されたデータをエントロピ復号する。解析及びエントロピ復号の結果として、解析部/エントロピ復号部(610)は、一般制御データ(622)、量子化された変換係数データ(632)、イントラ予測データ(642)、動きデータ(652)、及びフィルタリング制御データ(662)を生成する。一般制御データ(622)は、ピクチャ、スライス、ブロック、又はビデオの他のユニットについての色空間、色サンプリングレート、及び/又は色深度を示す信号を含む。そのような信号は、例えば、PPS、スライスヘッダ、ブロックシンタックス構造、又は他のシンタックス構造に含められ得、固定長の値としてエントロピ符号化又はシグナリングされ得る。解析部/エントロピ復号部(610)はまた、利用可能な色空間を識別又は規定する情報(例えば、予め定められた色空間のリスト、色空間変換演算のためのカスタム行列)、利用可能な色サンプリングレートを識別又は規定する情報(例えば、予め定められた色サンプリングレート、他の色サンプリングレート、又はダウンサンプリング及びアップサンプリングについての演算のアイデンティフィケーションのリスト)、及び/又は、利用可能な色深度を識別又は規定する情報(例えば、予め定められた色深度、他の色深度、又は色深度変換についての演算のアイデンティフィケーションのリスト)を解析及び/又はエントロピ復号することができ、これらは、適応切り替え中にデコーダ(600)により使用可能である。
一般復号制御部(620)は、一般制御データ(622)を受信し、復号中に復号パラメータを設定及び変更するために、他のモジュール(スケーリング部/逆変換部(635)、イントラピクチャ予測部(645)、動き補償部(655)、及びイントラ/インタースイッチ等)に制御信号(図示せず)を供給する。詳細には、一般復号制御部(620)は、復号中に、ピクチャごとに、スライスごとに、ブロックごとに、又は何らかの他の単位で、色空間、色サンプリングレート、及び/又は色深度を、デコーダ(600)に切り替えさせることができる。
現ピクチャが、インターピクチャ予測を用いて予測される場合、動き補償部(655)は、MVデータ等の動きデータ(652)、参照ピクチャ選択データ、及びマージモードインデックス値を受信する。動き補償部(655)は、復号ピクチャバッファ(670)からの1以上の再構成された参照ピクチャに、MVを適用する。動き補償部(655)は、現ピクチャのインター符号化ブロックのための動き補償予測を生成する。復号ピクチャバッファ(670)は、参照ピクチャとして使用するために、1以上の以前に再構成されたピクチャを記憶する。
デコーダ(600)内の分離パスにおいて、イントラピクチャ予測予測部(645)は、イントラ予測が空間予測を使用するかイントラBC予測を使用するかを示す情報(例えば、イントラブロックごとのフラグ値)、予測モード方向(イントラ空間予測に関して)、及びBV値(イントラBC予測に関して)等のイントラ予測データ(642)を受信する。イントラ空間予測に関して、イントラピクチャ予測部(645)は、現ピクチャの再構成(638)の値を使用して、予測モードデータに従って、現ピクチャの隣接する以前に再構成されたサンプル値から、現ピクチャの現ブロックのサンプル値を空間的に予測する。あるいは、BV値を使用するイントラBC予測に関して、イントラピクチャ予測部(645)は、現ブロックのBV値により示されるイントラピクチャ予測参照領域の以前に再構成されたサンプル値を使用して、現ブロックのサンプル値を予測する。
イントラ/インタースイッチは、所与のブロックのための予測(658)が、動き補償予測であるか又はイントラピクチャ予測であるかを選択する。例えば、H.265/HEVCシンタックスに従うと、イントラ/インタースイッチは、イントラ予測CU及びインター予測CUを含み得るピクチャのCUについて符号化されたシンタックス要素に基づいて制御され得る。非スキップモードブロックに関して、デコーダ(600)は、予測(658)を、再構成された残差値と結合して、ビデオ信号からのコンテンツの再構成(638)を生成する。スキップモードブロックに関して、デコーダ(600)は、再構成(638)として、予測(658)の値を使用する。
非スキップモードモードブロックについて残差を再構成するために、スケーリング部/逆変換部(635)は、量子化された変換係数データ(632)を受信して処理する。スケーリング部/逆変換部(635)において、スケーリング部/逆量子化部は、量子化された変換係数に対して、逆スケーリング及び逆量子化を実行する。逆周波数変換部は、逆周波数変換を実行して、再構成された予測残差値又はサンプル値のブロックを生成する。例えば、逆周波数変換部は、逆ブロック変換を周波数変換係数に適用して、サンプル値データ又は予測残差データを生成する。逆周波数変換は、逆DCT、その整数近似、又は別のタイプの逆周波数変換(例えば、逆離散サイン変換又はその整数近似)であり得る。
イントラピクチャ予測に関して、再構成(638)の値は、イントラピクチャ予測部(645)にフィードバックされ得る。インターピクチャ予測に関して、再構成(638)の値は、さらにフィルタリングされ得る。マージ部/1以上のフィルタ(665)において、デコーダ(600)は、異なるタイルからのコンテンツを、ピクチャの再構成バージョンにマージする。デコーダ(600)は、ピクチャ内の境界にわたる不連続さを適応的に平滑化するために、フィルタリング制御データ(662)とフィルタ適応のためのルールとに従って、デブロックフィルタリング及びSAOフィルタリングを選択的に実行する。代替的又は追加的に、他のフィルタリング(デリンギングフィルタリング又はALF等;図示せず)が、適用されてもよい。タイル境界は、デコーダ(600)の設定又は符号化ビットストリームデータ内のシンタックスインジケーションに応じて、選択的にフィルタリングされ得る又はフィルタリングされない。復号ピクチャバッファ(670)は、後続の動き補償予測において使用するために、再構成された現ピクチャをバッファする。
デコーダ(600)はまた、後処理フィルタを含み得る。後処理フィルタ(608)は、デリンギングフィルタリング、適応ウィナーフィルタリング、フィルムグレイン再現フィルタリング(film-grain reproduction filtering)、SAOフィルタリング、又は別の種類のフィルタリングを含み得る。
実装及び所望の伸張のタイプに応じて、デコーダ(600)のモジュールを追加してもよいし、省略してもよいし、複数のモジュールに分割してもよいし、他のモジュールと結合してもよいし、且つ/又は同様のモジュールと置換してもよい。代替実施形態において、異なるモジュール及び/又はモジュールの他の構成を有するデコーダは、説明した技術のうちの1以上を実行する。デコーダの特定の実施形態は、通常、デコーダ(600)の変形又は補完バージョンを使用する。デコーダ(600)内のモジュール間の示された関係は、デコーダ内の情報の一般的な流れを示すものである。他の関係は、簡潔さのため示されていない。
VII.色空間、色サンプリングレート、及び/又は色深度の適応切り替え
符号化中、エンコーダは、様々な点(例えば、符号化モードのより多くのオプション、潜在的により低い量子化ステップサイズ)で、セカンダリ色成分よりも慎重にプライマリ色成分を扱い得る。また、エンコーダは、セカンダリ色成分をサブサンプリングすることにより、相対的により多くのビット(したがって品質)を、プライマリ色成分に割り当てることができる。
ビデオシーケンスの異なるピクチャ、スライス、又はブロックのサンプル値は、異なる統計的特性を有し得る。これらの異なる統計的特性は、レート歪み性能の観点で測定され得る符号化効率に影響を及ぼし得る(所与のビットレートについてより低い又はより高い品質;又は、所与の品質についてより低い又はより高いビットレート)。
このセクションは、ビデオシーケンスのユニットのための適応符号化及び適応復号の様々な特徴を提示している。ユニットは、ビデオシーケンスのピクチャ、スライス、ブロック、又は他の部分であり得る。例えば、これらの特徴のうちのいくつかは、ビデオシーケンス内のユニットの間の色空間の適応切り替えを含む符号化/復号に関する。他の特徴は、ビデオシーケンス内のユニットの間の色サンプリングレートの適応切り替えを含む符号化/復号に関する。さらに他の特徴は、ビデオシーケンス内のユニットの間の色深度の適応切り替えを含む符号化/復号に関する。これらの特徴は、多くのシナリオにおいて、符号化効率を向上させることができ、組み合わせて又は別々に使用することができる。
詳細には、色空間、色サンプリングレート、及び/又は色深度の適応切り替えは、スクリーンキャプチャコンテンツ等の所定の「人工的に」作成されたビデオコンテンツを符号化する際のレート歪み性能又は自然ビデオと人工的に作成されたビデオコンテンツとの混合を符号化する際のレート歪み性能を向上させることができる。
A.ビデオのタイプ
一般に、スクリーンキャプチャビデオは、コンピュータスクリーン又は他のディスプレイの出力を表す。図7は、スクリーンキャプチャのための入力を提供することができる、コンテンツを含むコンピュータデスクトップ環境(710)を示している。例えば、スクリーンキャプチャビデオは、コンピュータデスクトップ(711)全体の一連の画像を表すことができる。あるいは、スクリーンキャプチャビデオは、ゲームコンテンツを含むアプリケーションウィンドウ(713)、ウェブページコンテンツを含むブラウザウィンドウ(712)、又はワードプロセッサコンテンツを含むウィンドウ(714)等の、コンピュータデスクトップ環境のウィンドウのうちの1つのウィンドウについての一連の画像を表すことができる。
コンピュータにより生成される人工的に作成されるビデオコンテンツであるので、スクリーンキャプチャコンテンツは、ビデオカメラを使用してキャプチャされる自然ビデオコンテンツと比較して、相対的に少ない離散サンプル値を有する傾向にある。例えば、スクリーンキャプチャコンテンツの領域は、しばしば、単一の均一な色を含むのに対し、自然ビデオコンテンツ内の領域は、徐々に変化する色を含む可能性がより高い。また、スクリーンキャプチャコンテンツは、通常、当該コンテンツが空間的に移動され得るとしても、(例えば、スクロールに起因して)フレームからフレームへと正確に繰り返される異なる構造(例えば、グラフィックス、テキスト文字)を含む。スクリーンキャプチャコンテンツは、しばしば、高クロマサンプリング解像度を有するフォーマット(例えば、YUV4:4:4又はRGB4:4:4)で符号化されるが、より低いクロマサンプリング解像度を有するフォーマット(例えば、YUV4:2:0、YUV4:2:2)で符号化されてもよい。
図8は、自然ビデオ(821)及び人工的に作成されたビデオコンテンツを含む混合ビデオ(820)を示している。人工的に作成されたビデオコンテンツは、自然ビデオ(821)の横にあるグラフィック(822)及び自然ビデオ(821)の下を横断するティッカー(ticker)(823)を含む。図7に示されるスクリーンキャプチャコンテンツと同様に、図8に示される人工的に作成されたビデオコンテンツは、相対的に少ない離散サンプル値を有する傾向にある。この人工的に作成されたビデオコンテンツはまた、(例えば、スクロールに起因して)フレームからフレームへと正確に繰り返される異なる構造(例えば、グラフィックス、テキスト文字)を有する傾向にある。
B.適応切り替えの例
色空間の適応切り替えに関して、シーケンス内のビデオの異なるユニットは、異なる色空間で符号化される。例えば、これらのユニットのうちのいくつかは、YUVタイプの色空間(例えば、YCbCr、YCoCg)で符号化され、他のユニットは、RGBタイプの色空間(例えば、RGB、BGR、GBR)で符号化される。この場合、エンコーダ又はデコーダは、適切なときに、サンプル値に対して色空間変換演算を実行して、YUVタイプの色空間とRGBタイプの色空間との間で切り替える。通常、色空間変換演算は、位置ごとに実行される行列乗算演算として表され得、第1の色空間におけるある位置についてのn個のサンプル値が、n×n行列で乗算されて、第2の色空間におけるその位置についてのn個のサンプル値が生成される。実際には、色空間変換演算は、他の算術を用いて実施されてもよい。
色空間の適応切り替えの別の例として、異なるユニットは、プライマリ成分と、成分が(例えば、残差データについて)シグナリングされる順番と、の観点で相違する異なるRGBタイプの色空間で符号化され得る。この場合、エンコーダ又はデコーダは、適切なときに、サンプル値のブロック又はプレーンに対して色空間並べ替え演算を実行して、どの色成分がプライマリ色成分であるかを変更する。
いくつかの例示的な実装において、非可逆符号化に関して、エンコーダは、異なる色空間のうちの任意の色空間の間で切り替えることができる。しかしながら、可逆符号化に関して、エンコーダは、可逆色空間変換しか実行しない(例えば、RGB色空間とBGR色空間とGBR色空間との間の色成分の並べ替え、又は、いくつかの実装において、増加された中間色深度を用いたYCoCgへ/からの変換)。
色サンプリングレートの適応切り替えに関して、シーケンス内のビデオの異なるユニットは、異なる色サンプリングレートで符号化される。例えば、これらのユニットのいくつかは、4:2:2フォーマット又は4:2:0フォーマット(YUV4:2:2又はYUV4:2:0等)で符号化されるのに対し、他のユニットは、4:4:4フォーマット(YUV4:4:4等)で符号化される。RGBタイプの色空間は、通常、4:4:4という色サンプリングレートを有するが、その色成分が、4:2:2又は4:2:0という色サンプリングレートに従って代わりにサブサンプリングされ得る。
水平方向又は垂直方向においてセカンダリ成分のサンプル値をダウンサンプリングするとき、エンコーダ又はデコーダは、単純なサブサンプリング、ローパスフィルタリングとサブサンプリング、又は他のフィルタリングとサブサンプリングを実行することができる。セカンダリ成分のサンプル値の対応するアップサンプリングに関して、エンコーダ又はデコーダは、例えば、サンプル値繰り返し(sample values repetition)及び/又はフィルタリングを用いて、サブサンプリングを逆にする。
色深度の適応切り替えに関して、シーケンス内のビデオの異なるユニットは、異なる色深度で符号化される。例えば、これらのユニットのいくつかは、12ビットサンプル値で符号化されるのに対し、他のユニットは、10ビットサンプル値又は8ビットサンプル値で符号化される。色深度の間で変換するとき、エンコーダ又はデコーダは、(丸め係数を追加して又は追加しないで)より高い色深度のサンプル値を切り捨てて、より低い色深度のサンプル値を生成することができる、又は、より低い色深度のサンプル値をスケーリングして、より高い色深度のサンプル値を生成することができる。
エンコーダは、通常、12ビットサンプル値を有するRGB4:4:4等の所与のフォーマットの入力ビデオを受信する。エンコーダは、ビデオの所与のユニットについて、入力フォーマットと(異なる色空間、異なる色サンプリングレート、及び/又は異なる色深度を有する)別のフォーマットとの間で変換することができる。色空間適応は、ピクチャレベル、スライスレベル、ブロックレベル、又は何らかの他のレベルで、単独で、又は、色サンプリングレート適応及び/又は色深度適応と組み合わせて、実行され得る。同様に、色サンプリングレート適応は、ピクチャレベル、スライスレベル、ブロックレベル、又は何らかの他のレベルで、単独で、又は、色空間適応及び/又は色深度適応と組み合わせて、実行され得る。色深度適応も、ピクチャレベル、スライスレベル、ブロックレベル、又は何らかの他のレベルで、単独で、又は、色空間適応及び/又は色サンプリングレート適応と組み合わせて、実行され得る。
図9は、シーケンス(900)内のピクチャについてのピクチャ適応的な(picture-adaptive)色空間、色サンプリングレート、及び/又は色深度を示している。シーケンス(900)は、一連のピクチャを含む。必要とされるときに、エンコーダは、入力ビデオフォーマットから、所与のピクチャについて選択されたフォーマットに、入力ビデオを変換する。ピクチャ1のフォーマットは、8ビットサンプル値を有するYCbCr4:2:0であり、ピクチャ2のフォーマットは、8ビットサンプル値を有するRGB4:4:4である。ピクチャ3及びピクチャ4は、BGR4:4:4ビデオであるが、ピクチャ3のサンプル値とピクチャ4のサンプル値とは、異なる色深度を有する。
図10は、シーケンス内のピクチャ(1000)のスライスについてのスライス適応的な(slice-adaptive)色空間、色サンプリングレート、及び/又は色深度を示している。ピクチャ(1000)は、5つのスライスを含み、これらのスライスの境界が、破線で示されている。例えば、スライス0、スライス1、スライス3、及びスライス4は、スクリーンキャプチャコンテンツ又は他の人工的に作成されたビデオコンテンツに関連付けられたものであり得るのに対し、スライス2は、自然ビデオコンテンツに関連付けられている。スライス0及びスライス3のフォーマットは、10ビットサンプル値を有するBGR4:4:4である。スライス1は、GBR4:4:4ビデオの12ビットサンプル値を含む。スライス2のフォーマットは、8ビットサンプル値を有するYCbCr4:2:0であり、スライス4のフォーマットは、8ビットサンプル値を有するRGB4:4:4である。
図11は、シーケンス内のピクチャのスライス(1100)のブロックについてのブロック適応的な(block-adaptive)色空間、色サンプリングレート、及び/又は色深度を示している。スライス(1100)は、3つの異なるブロックサイズを有する16個のブロックを含む。最初の2つのブロックのフォーマットは、8ビットサンプル値を有するYCbCr4:2:0であり、最後のブロックのフォーマットは、10ビットサンプル値を有するYCbCr4:2:0である。ブロック2〜ブロック15は、RGBタイプの色空間における4:4:4というサンプリングレートの12ビットサンプル値を含む。ブロック2〜ブロック15についての色空間は、RGBとBGRとGBRとの間で変化する。
C.符号化中の適応切り替えの例
図12は、符号化中に、色空間、色サンプリングレート、及び/又は色深度を適応的に切り替えるための一般化された技術(1200)を示している。図3若しくは図5a〜図5bを参照して説明したエンコーダ等の画像エンコーダ又はビデオエンコーダが、技術(1200)を実行することができる。
エンコーダは、シーケンス内のビデオを符号化する(1210)。符号化の一部として、エンコーダは、符号化中に、シーケンス内のビデオの少なくともいくつかのユニットの間で、色空間、色サンプリングレート、及び/又は色深度を切り替える。エンコーダは、ピクチャ内で空間的に、色空間、色サンプリングレート、及び/又は色深度を切り替えることができる。エンコーダはまた、ピクチャからピクチャへと時間的に、色空間、色サンプリングレート、及び/又は色深度を切り替えることができる。適応切り替えの目的では、ビデオのユニットは、シーケンスのピクチャ、シーケンスの所与のピクチャのスライス、シーケンスの所与のピクチャのブロック、又はビデオシーケンスの他の部分であり得る。
例えば、切り替えることは、色空間変換演算を用いて、色空間のうちの2つの色空間の間で変更することを含み得る。色空間変換演算に関して、色空間は、少なくとも1つのYUVタイプの色空間と、少なくとも1つのRGBタイプの色空間と、を含み得る。あるいは、別の例として、切り替えることは、色空間並べ替え演算を用いて、色空間のうちの2つの色空間の間で変更することを含む。色空間並べ替え演算に関して、色空間は、複数のRGBタイプの色空間を含み得る。代替的に、色空間は、他の色空間及び/又はさらなる色空間を含んでもよい。
あるいは、別の例として、切り替えることは、色サンプリングレートのうちの2つの色サンプリングレートの間で変更することを含み得る。色サンプリングレートは、4:4:4、4:2:2、4:2:0、及び4:0:0のうちの2以上を含み得る。代替的に、色サンプリングレートは、他の色サンプリングレート及び/又はさらなる色サンプリングレートを含んでもよい。
あるいは、別の例として、切り替えることは、色深度のうちの2つの色深度の間で変更することを含み得る。色深度は、1サンプル当たり12ビット、1サンプル当たり10ビット、及び1サンプル当たり8ビットのうちの2以上を含み得る。ビデオの所与のユニットの異なる色成分は、同じ色深度又は異なる色深度を有し得る。代替的に、色深度は、他の色深度及び/又はさらなる色深度を含んでもよい。
符号化中、エンコーダは、以前に再構成されたコンテンツのサンプル値のセットに少なくとも部分的に基づいて、現ピクチャ内の現ブロックのサンプル値の予測することができる。イントラピクチャ予測に関して、以前に再構成されたコンテンツのサンプル値のセットは、現ピクチャの一部である。インターピクチャ予測に関して、以前に再構成されたコンテンツのサンプル値のセットは、参照ピクチャの一部である。現ブロックのサンプル値と、以前に再構成されたコンテンツのサンプル値のセットと、が、異なるフォーマットである場合、エンコーダは、変換演算を実行して、予測を容易にすることができる。そのような変換演算の例は、セクションVII.Eで説明される。
符号化中、エンコーダはまた、1以上のルールに従って、以前に再構成されたコンテンツについて適応ループ内デブロッキングを実行することができる。1以上のルールは、以前に再構成されたコンテンツ内の2つの隣接ブロックの異なる色空間を考慮し得る。適応デブロッキングについてのルールの例は、セクションVII.Fで説明される。
エンコーダは、ビットストリーム内に符号化されたデータを出力する(1220)。符号化されたデータは、シーケンス内のビデオの少なくともいくつかのユニットの間で、色空間、色サンプリングレート、及び/又は色深度がどのように切り替わるかを示す1以上の信号を含む。1以上の信号についてのシンタックス要素の例は、セクションVII.Dで説明される。
図13は、符号化中に、色空間、色サンプリングレート、及び/又は色深度を適応的に切り替えるためのより詳細な技術(1300)を示している。図3若しくは図5a〜図5bを参照して説明したエンコーダ等の画像エンコーダ又はビデオエンコーダが、技術(1300)を実行することができる。詳細には、図13は、エンコーダによりなされるユニットごとの決定を示しているが、符号化についての他のオプションが、図12を参照して説明されている。
エンコーダは、次のユニット(例えば、ピクチャ、スライス、ブロック)を取得し(1310)、そのユニットについて、色空間、色サンプリングレート、及び/又は色深度を設定する(1320)。必要とされるときに、エンコーダは、サンプル値を、そのユニットについて設定された別の色空間、色サンプリングレート、及び/又は色深度に変換し、次いで、そのユニットを符号化する(1330)。エンコーダは、そのユニットについての色空間、色サンプリングレート、及び/又は色深度を示す1以上の信号を含む、そのユニットについての符号化されたデータを出力する(1340)。エンコーダは、次のユニットに進むかどうかをチェックし(1350)、次のユニットに進む場合、次のユニットを取得する(1310)。
C.復号中の適応切り替えの例
図14は、復号中に、色空間、色サンプリングレート、及び/又は色深度を適応的に切り替えるための一般化された技術(1400)を示している。図4又は図6を参照して説明したデコーダ等の画像デコーダ又はビデオデコーダが、技術(1400)を実行することができる。
デコーダは、ビートストリーム内の符号化されたデータを受信する(1410)。符号化されたデータは、シーケンス内のビデオの少なくともいくつかのユニットの間で、色空間、色サンプリングレート、及び/又は色深度がどのように切り替わるかを示す1以上の信号を含む。1以上の信号についてのシンタックス要素の例は、セクションVII.Dで説明される。
デコーダは、シーケンス内のビデオを復号する(1420)。復号の一部として、デコーダは、復号中に、シーケンス内のビデオの少なくともいくつかのユニットの間で、色空間、色サンプリングレート、及び/又は色深度を切り替える。デコーダは、ピクチャ内で空間的に、色空間、色サンプリングレート、及び/又は色深度を切り替えることができる。デコーダはまた、ピクチャからピクチャへと時間的に、色空間、色サンプリングレート、及び/又は色深度を切り替えることができる。適応切り替えの目的では、ビデオのユニットは、シーケンスのピクチャ、シーケンスの所与のピクチャのスライス、シーケンスの所与のピクチャのブロック、又はビデオシーケンスの他の部分であり得る。
例えば、切り替えることは、色空間変換演算を用いて、色空間のうちの2つの色空間の間で変更することを含み得る。色空間変換演算に関して、色空間は、少なくとも1つのYUVタイプの色空間と、少なくとも1つのRGBタイプの色空間と、を含み得る。あるいは、別の例として、切り替えることは、色空間並べ替え演算を用いて、色空間のうちの2つの色空間の間で変更することを含む。色空間並べ替え演算に関して、色空間は、複数のRGBタイプの色空間を含み得る。代替的に、色空間は、他の色空間及び/又はさらなる色空間を含んでもよい。
あるいは、別の例として、切り替えることは、色サンプリングレートのうちの2つの色サンプリングレートの間で変更することを含み得る。色サンプリングレートは、4:4:4、4:2:2、4:2:0、及び4:0:0のうちの2以上を含み得る。代替的に、色サンプリングレートは、他の色サンプリングレート及び/又はさらなる色サンプリングレートを含んでもよい。
あるいは、別の例として、切り替えることは、色深度のうちの2つの色深度の間で変更することを含み得る。色深度は、1サンプル当たり12ビット、1サンプル当たり10ビット、及び1サンプル当たり8ビットのうちの2以上を含み得る。ビデオの所与のユニットの異なる色成分は、同じ色深度又は異なる色深度を有し得る。代替的に、色深度は、他の色深度及び/又はさらなる色深度を含んでもよい。
復号中、デコーダは、以前に再構成されたコンテンツのサンプル値のセットに少なくとも部分的に基づいて、現ピクチャ内の現ブロックのサンプル値を予測することができる。イントラピクチャ予測に関して、以前に再構成されたコンテンツのサンプル値のセットは、現ピクチャの一部である。インターピクチャ予測に関して、以前に再構成されたコンテンツのサンプル値のセットは、参照ピクチャの一部である。現ブロックのサンプル値と、以前に再構成されたコンテンツのサンプル値のセットと、が、異なるフォーマットである場合、デコーダは、変換演算を実行して、予測を容易にすることができる。そのような変換演算の例は、セクションVII.Eで説明される。
復号中、デコーダはまた、1以上のルールに従って、以前に再構成されたコンテンツについて適応ループ内デブロッキングを実行することができる。1以上のルールは、以前に再構成されたコンテンツ内の2つの隣接ブロックの異なる色空間を考慮し得る。適応デブロッキングについてのルールの例は、セクションVII.Fで説明される。
図15は、復号中に、色空間、色サンプリングレート、及び/又は色深度を適応的に切り替えるためのより詳細な技術(1500)を示している。図4又は図6を参照して説明したデコーダ等の画像デコーダ又はビデオデコーダが、技術(1500)を実行することができる。詳細には、図15は、デコーダによりなされるユニットごとの決定を示しているが、復号についての他のオプションが、図14を参照して説明されている。
デコーダは、次のユニット(例えば、ピクチャ、スライス、ブロック)についての符号化されたデータを取得する(1510)。符号化されたデータは、そのユニットについての色空間、色サンプリングレート、及び/又は色深度を示す1以上の信号を含む。デコーダは、そのユニットについての色空間、色サンプリングレート、及び/又は色深度を決定する(1520)。デコーダは、必要とされるときに、そのユニットについて設定された色空間、色サンプリングレート、及び/又は色深度からサンプル値を変換して、そのユニットを復号する(1530)。デコーダは、次のユニットに進むかどうかをチェックし(1540)、次のユニットに進む場合、次のユニットについての符号化されたデータを取得する(1510)。
D.適応切り替え情報のシグナリングの例
このセクションでは、シーケンス内のビデオの少なくともいくつかのユニットの間で、色空間、色サンプリングレート、及び/又は色深度がどのように切り替わるかを示す信号の例が説明される。一般に、ビットストリーム内の信号は、ユニットを符号化/復号する2以上のオプション間の選択を示す。色空間適応に関して、信号は、ユニットを符号化/復号するときに使用される2以上の色空間の間の選択を示す。色サンプリングレート適応に関して、信号は、ユニットを符号化/復号するときに使用される2以上の色サンプリングレートの間の選択を示す。色深度適応に関して、信号は、ユニットを符号化/復号するときに使用される2以上の色深度の間の選択を示す。異なる色深度が、ユニットの異なる色成分についてシグナリングされ得る。
信号は、所与のユニットを符号化/復号するための色空間(又は、色サンプリングレート若しくは色深度)についての2つのオプション間の選択を示す、所与のユニットについてのフラグ値であり得る。あるいは、信号は、所与のユニットを符号化/復号するための色空間(又は、色サンプリングレート若しくは色深度)についての3以上のオプション間の選択を示す、所与のユニットについての何らかの他のシンタックス要素(又は、所与のユニットについての複数のフラグ)であり得る。
所与のユニットについての信号は、ビットストリームシンタックスの様々なレベルの任意のレベルにおいて存在し得る。ピクチャごとの適応に関して、例えば、色空間(又は、色サンプリングレート若しくは色深度)の選択を示すシンタックス要素は、PPSの一部であり得る。あるいは、スライスごとの適応に関して、色空間(又は、色サンプリングレート若しくは色深度)の選択を示すシンタックス要素は、スライスヘッダの一部であり得る。あるいは、ブロックごとの適応に関して、色空間(又は、色サンプリングレート若しくは色深度)の選択を示すシンタックス要素は、ブロックについてのシンタックス構造(例えば、CUシンタックス構造)の一部であり得る。一般に、ピクチャごとの適応は、スライスごとの適応又はブロックごとの適応よりも柔軟性が低いが、より少ないシグナリングビットしか使用しない。ブロックごとの適応は、スライスごとの適応よりも多くのシグナリングビットを使用するが、より柔軟性が高い。
所与のユニットについての信号は、例えば、CABACを用いて、エントロピ符号化され得る、又は、固定長の値としてフォーマット化され得る。所与のユニットについての信号は、予測符号化され得る。この場合、所与のユニットについてのパラメータの差分(デルタ)値が、パラメータの実際の値とパラメータの予測因子との差を表す。予測因子は、より高いシンタックスレベルで(例えば、SPSの一部として、又は、別のシーケンスレイヤパラメータとして)シグナリングされるパラメータの値であり得る。例えば、現ブロック又はスライスについての色深度値は、SPSにより指定された色深度に対する差分(デルタ)値としてシグナリングされ得る。あるいは、予測因子は、ビデオの1以上の以前のユニットについてのパラメータの1以上の実際の値(例えば、最後に符号化されたユニットについてのパラメータの実際の値、又は、所与のユニットの周囲の隣接ユニットにおけるパラメータの実際の値の中央値)に基づいてもよい。例えば、現ブロックについての色深度は、以前の符号化されたブロックの色深度に対する差分(デルタ)値としてシグナリングされてもよい。
符号化されたデータはまた、利用可能な色空間を識別又は規定する情報、利用可能な色サンプリングレートを識別又は規定する情報、及び/又は利用可能な色深度を識別又は規定する情報を含み得る。そのような情報は、SPS、PPS、スライスヘッダ、又はビットストリームシンタックスの他の構造の一部としてシグナリングされ得る。利用可能な色空間、色サンプリングレート、又は色深度は、エンコーダ及びデコーダに既知である予め定められたオプションの中から選択され得る。あるいは、エンコーダは、エンコーダ及びデコーダによる使用のために、符号化されたデータにおいて、カスタム色空間(又は、色サンプリングレート若しくは色深度)を指定することができる。例えば、この情報は、色空間のうちの2つの色空間の間の色空間変換演算のために使用可能な値の行列を含み得る。カスタムオプションを指定することは、予め定められたオプションのセットを識別することよりも多くのビットを使用するが、より柔軟性が高い。別の可能なものは、SPS、PPS、スライスヘッダ等の一部としてシグナリングされる識別情報なく、エンコーダ及びデコーダに既知である予め定められたオプションを使用することである。これは、追加の情報のためのビットを使用しないが、オプションのうちの多くが、シーケンスについての符号化中に全く使用されないときには、信号のより効率性の低い符号化につながるおそれがある。
利用可能な色空間(又は、色サンプリングレート若しくは色深度)を識別又は規定する情報は、ビデオのユニットについてのオプションの選択を示す信号とともに使用される。例えば、SPSが、利用可能な色空間と、シーケンスについてどの色空間変換が許容されるかと、を識別する情報を含み得、PPS(又は、スライスヘッダ若しくはブロックシンタックス構造)ごとのシンタックス要素が、利用可能な色空間の指定されたリストからの選択を示す。あるいは、スライスヘッダが、利用可能な色サンプリングレートを識別する情報を含み得、ブロックシンタックス構造ごとのシンタックス要素が、利用可能な色サンプリングレートの指定されたリストからの選択を示す。あるいは、前述のバリエーションの何らかの組合せが使用されてもよい。例えば、SPSが、予め定められた色空間のリストを示し得、PPS又はスライスヘッダが、予め定められた色空間のうちの1つの色空間の選択を含む、又は、カスタム色空間についての情報を含む。
いくつかの例示的な実装において、さらなるルールが、色空間インジケータのCUレベルのシグナリングについて適用される。現CUが、イントラ空間予測CUである場合、色空間インジケータは、CUシンタックス構造の一部としてシグナリングされ得る。現CUが、イントラBC予測CU又はインターピクチャ予測CUである場合、色空間インジケータは、残差が存在するときにCUシンタックス構造の一部としてシグナリングされ得るが、(例えば、RGBとBGRとGBRとの間の)並べ替えしか伴わない色空間変換は許容されない。このコンテキストにおいて、このような色空間変換は、性能を向上させず、色成分をどのように並べ替えるかをシグナリングするのに費やされるビットは無駄となってしまうであろう。
E.予測のための変換演算の例
符号化中又は復号中、エンコーダ又はデコーダは、以前に再構成されたコンテンツのサンプル値のセットに少なくとも部分的に基づいて、現ピクチャ内の現ブロックのサンプル値を予測することができる。イントラピクチャ予測に関して、以前に再構成されたコンテンツのサンプル値のセットは、現ピクチャの一部である(例えば、イントラ空間予測に関しては、空間的に隣接する位置におけるサンプル値である、又は、イントラBC予測に関しては、以前のブロックの再構成されたサンプル値である)。インターピクチャ予測に関して、以前に再構成されたコンテンツのサンプル値のセットは、参照ピクチャの一部である。現ブロックのサンプル値と、以前に再構成されたコンテンツのサンプル値のセットと、が、異なるフォーマットである場合、エンコーダ又はデコーダは、変換演算を実行して、現ブロックのサンプル値の予測を容易にする。
例えば、以前に再構成されたコンテンツのサンプル値のセットが、GBR色空間であるあり、現ブロックが、YCbCr色空間で符号化されている場合、エンコーダ又はデコーダは、変換されたサンプル値のセットを使用するイントラピクチャ予測又はインターピクチャ予測の前に、以前に再構成されたコンテンツのサンプル値のセットを、YCbCr色空間に変換することができる。
実装を単純にするために、エンコーダ及びデコーダは、「メイン」フォーマットで、以前に再構成されたコンテンツのサンプル値を記憶することができる。メインフォーマットは、特定の色空間における、特定のサンプリングレートであり、サンプル値が特定の色深度を有する、再構成されたコンテンツのための一般的な表現を提供する。実装に応じて、メインフォーマットは、12ビットサンプル値を有するGBR4:4:4、12ビットサンプル値を有するYUV4:4:4、又は、色空間と色サンプリングレートと色深度との何らかの他の組合せであり得る。メインフォーマットは、エンコーダ及びデコーダのために、予め定められている。代替的に、メインフォーマットは、再構成されたコンテンツの記憶のための色空間、色サンプリングレート、及び/又は色深度を示す、ビットストリーム内の信号により指定されてもよい。メインフォーマットは、例えば、多くの場合において変換演算を回避するために、ビデオシーケンスのユニットについて最もよく起こる符号化フォーマットとするように選択され得る。メインフォーマットとして、12ビットサンプル値を有するGBR4:4:4を使用することは、色空間切り替えはよく起こるが、色サンプリングレート切り替えはまれにしか起こらない場合、スクリーンキャプチャコンテンツにとって効率的であり得る。メインフォーマットとして、12ビットサンプル値を有するYUV4:4:4を使用することは、色空間切り替え及び色サンプリングレート切り替えの両方がよく起こる場合、効率的であり得る。
図16は、1つのフォーマットで符号化されているブロックのサンプル値の、別のフォーマットの以前に再構成されたコンテンツのサンプル値のセットからの予測のための技術(1600)を示している。エンコーダ又はデコーダが、符号化中又は復号中に、技術(1600)を実行することができる。
始めに、エンコーダ又はデコーダは、現ピクチャの現ブロックのサンプル値の予測のために使用されることになる、以前に再構成されたコンテンツのサンプル値のセットを取得する(1610)。以前に再構成されたコンテンツのサンプル値のセットは、予測のタイプに応じて、現ピクチャ又は参照ピクチャであり得る。
以前に再構成されたコンテンツのサンプル値は、第1のフォーマット(例えば、メインフォーマット)で記憶されている。エンコーダ又はデコーダは、現ブロックが第1のフォーマットで符号化されているかどうかをチェックする(1620)。より一般的に、エンコーダ又はデコーダは、以前に再構成されたコンテンツのサンプル値のセットと、現ブロックのサンプル値と、が、異なるフォーマットであるかどうかを評価する。
現ブロックが第1のフォーマット(例えば、メインフォーマット)で符号化されている場合、エンコーダ又はデコーダは、予測の前に、変換演算を実行する必要がない。エンコーダ又はデコーダは、以前に再構成されたコンテンツのサンプル値のセットを使用して、現ブロックのサンプル値を予測する(1640)。符号化中、エンコーダは、次いで、残差値を生成、符号化、及び再構成することができる(1650)。復号中、デコーダは、残差値を再構成することができる(1650)。エンコーダ又はデコーダは、次いで、予測されたサンプル値に少なくとも部分的に基づいて、現ブロックのサンプル値を再構成する(1660)。非スキップブロックに関して、エンコーダ又はデコーダは、予測されたサンプル値を、再構成された残差値と結合して、再構成されたサンプル値を生成することができる。エンコーダ又はデコーダは、次いで、以前に再構成されたコンテンツの一部として、現ブロックの再構成されたサンプル値を記憶する(1670)。現ブロックは第1のフォーマット(例えば、メインフォーマット)で符号化されているので、エンコーダ又はデコーダは、予測の後に、変換演算を実行する必要がない。
一方、現ブロックが第1のフォーマット(例えば、メインフォーマット)で符号化されていない場合、エンコーダ又はデコーダは、第1のフォーマットから、現ブロックが符号化されている第2のフォーマットに、以前に再構成されたコンテンツのサンプル値のセットを変換する(1632)。例えば、第1のフォーマットと第2のフォーマットとが異なる色空間を有する場合、エンコーダ又はデコーダは、色空間変換演算及び/又は色空間並べ替え演算を実行して、以前に再構成されたコンテンツのサンプル値のセットの色空間を、第2のフォーマットに変更する。例えば、エンコーダ又はデコーダは、以下のように、RGB色空間からYCoCg色空間に、以前に再構成されたコンテンツのサンプル値のセットPを変換することができる。
RGB色空間におけるある位置についてのサンプル値が、それぞれ、
PsR、PsG、及びPsB
であり、現色深度が、
bit_depthcurrent
であると仮定する。最小サンプル値は、0であり、最大サンプル値は、
(1<<bit_depthcurrent)-1
(例えば、8ビットサンプル値については255)である。Co及びCgのダイナミックレンジを調整するために、項
add_value
が、1<<(bit_depthcurrent-1)
(例えば、8ビットサンプル値については128)として定義される。YCoCg空間におけるその位置についてのサンプル値
PsY、PsCo、及びPsCg
は、
PsY=(PsR+(2*PsG)+PsB)>>2
PsCo=((PsR-PsB)>>1)+add_value
PsCg=(((2*PsG)-PsR-PsB)>>2)+add_value
により算出され得る。
サンプル値
PsY、PsCo、及びPsCg
は、最小サンプル値と最大サンプル値とによって規定されるレンジ内にクリップされる。
より一般的に、第1の色空間から第2の色空間への変換のための色変換行列
CC_matrix1_to_2
は、
[ c00, c01, c02
c10, c11, c12
c20, c21, c22
として定義され得る。
出力のダイナミックレンジを調整するために、オフセット
CC_offsets1_to_2
の行列が使用され得る。オフセット
CC_offsets1_to_2
は、
[ o0,
o1,
o2
として定義され得る。
第1の色空間におけるある位置についてのサンプル値が、
PsCC1=[Ps00, Ps01, Ps02]T
であると仮定する。第2の色空間におけるその位置についてのサンプル値
PsCC2
は、
PsCC2=CC_matrix1_to_2*PsCC1+CC_offsets1_to_2
として算出され得る。
サンプル値
PsCC2
は、適切なレンジにクリップされる。
以前に再構成されたコンテンツのサンプル値のセットPのための色空間並べ替え演算は、プライマリ色成分及びセカンダリ色成分の順番を変更するために、サンプル値のブロック又はプレーンの色成分を並べ替えることにより実施され得る。
第1のフォーマットと第2のフォーマットとが異なる色サンプリングレートを有する場合、エンコーダ又はデコーダは、(フィルタリングあり又はフィルタリングなしで)ダウンサンプリング又はアップサンプリングを実行して、以前に再構成されたコンテンツのサンプル値のセットの色サンプリングレートを、第2のフォーマットに変更する。例えば、エンコーダ又はデコーダは、以下のように、4:4:4色サンプリングレートから4:2:0色サンプリングレートに、以前に再構成されたコンテンツのサンプル値のセットPを変換することができる。
以前に再構成されたコンテンツのサンプル値がYUV4:4:4サンプル値であると仮定する。YUV4:4:4ビデオの空間解像度は、全ての色成分について、
width x height
である。色サンプリングレート変換の後、YUV4:2:0ビデオの空間解像度は、Y成分については、
width x height
であり、U成分及びV成分については、
(width/2) x (height/2)
である。
0≦i<width
であり、
0≦j<height
である各位置
(i, j)
について、エンコーダ又はデコーダは、YUV4:2:0ビデオについてのサンプル値を、
Y420[i][j]=Y444[i][j]
U420[i][j]=(U444[2*i][2*j]+U444[2*i+1[2*j]+U444[2*i][2*j+1]+
U444[2*i+1][2*j+1])>>2
V420[i][j]=(V444[2*i][2*j]+V444[2*i+1[2*j]+V444[2*i][2*j+1]+
V444[2*i+1][2*j+1])>>2
として算出することができる。
このアプローチでは、U成分及びV成分についてのサンプル値は、フィルタリングなしで決定される。代替的に、エンコーダ又はデコーダは、ダウンサンプリングされたU成分及びV成分を取得する際に、フィルタリングを用いてもよい。
第1のフォーマットと第2のフォーマットとが異なる色深度を有する場合、エンコーダ又はデコーダは、以下のように、色深度
bit_depthref
から、現ブロックのサンプル値の色深度
bit_depthcurrent
に、以前に再構成されたコンテンツのサンプル値のセットPを変更する。
bit_depthref>bit_depthcurrentである場合
shift=bit_depthref-bit_depthcurrent
add=1<<(shift-1)
P=(P+add)>>shift
bit_depthref<bit_depthcurrentである場合
shift=bit_depthcurrent-bit_depthref
P<<=shift
例えば、第1のフォーマットの色深度が、1サンプル当たり10ビットであり、第2のフォーマットの色深度が、1サンプル当たり8ビットであり、現ブロックが、イントラ空間予測を使用すると仮定する。エンコーダ又はデコーダは、イントラ空間予測において使用される隣接位置の10ビットサンプル値を取得する。これらの10ビットサンプル値は、8ビットサンプル値に変換され、次いで、これらの8ビットサンプル値を使用して、現ブロックのための8ビット予測サンプル値を生成する。
変換(1632)の後、エンコーダ又はデコーダは、以前に再構成されたコンテンツの変換されたサンプル値のセットを使用して、現ブロックのサンプル値を予測する(1642)。符号化中、エンコーダは、次いで、残差値を生成、符号化、及び再構成することができる(1652)。復号中、デコーダは、残差値を再構成することができる(1652)。エンコーダ又はデコーダは、次いで、予測されたサンプル値に少なくとも部分的に基づいて、現ブロックのサンプル値を再構成する(1662)。非スキップブロックに関して、エンコーダ又はデコーダは、予測されたサンプル値を、再構成された残差値と結合して、再構成されたサンプル値を生成することができる。
この時点において、現ブロックの再構成されたサンプル値は、第2のフォーマットである。現ブロックの再構成されたサンプル値が、再構成されたコンテンツの一部として記憶される前に、第1のフォーマットに変換される。エンコーダ又はデコーダは、第2のフォーマットから第1のフォーマットに、現ブロックの再構成されたサンプル値を変換し(1672)、この時点においては第1のフォーマット(例えば、メインフォーマット)である、現ブロックの変換された再構成されたサンプル値を、以前に再構成されたコンテンツの一部として記憶する(1670)。
例えば、第1のフォーマットと第2のフォーマットとが異なる色空間を有する場合、エンコーダ又はデコーダは、色空間変換演算及び/又は色空間並べ替え演算を実行して、現ブロックの再構成されたサンプル値の色空間を、第1のフォーマットに変換する。(第2のフォーマットから第1のフォーマットへの色空間変換演算は、概して、第1のフォーマットから第2のフォーマットへの先の色空間変換演算に類似している。)例えば、エンコーダ又はデコーダは、以下のように、YCoCg色空間からRGB色空間に、現ブロックの再構成されたサンプル値Rを変換することができる。
YCoCg色空間におけるある位置についてのサンプル値が、それぞれ、
RsY、RsCo、及びRsCg
であり、現色深度が、
bit_depthcurrent
であると仮定する。ダイナミックレンジを調整するために、項
add_value
が、
1<<(bit_depthcurrent-1)
(例えば、8ビットサンプル値については128)として定義される。RGB色空間におけるその位置についてのサンプル値
RsR、RsG、及びRsB
は、
RsCo-=add_value
RsCg-=add_value
RsR=RsY+RsCo-RsCg
RsG=RsY+RsCg
RsB=RsY-RsCo-RsCg
により算出され得る。
サンプル値
RsR、RsG、及びRsB
は、最小サンプル値と最大サンプル値とにより規定されるレンジ内にクリップされる。
より一般的に、第2の色空間から第1の色空間に戻す変換のための色変換行列
CC_matrix2_to_1
は、
[ c'00, c'01, c'02
c'10, c'11, c'12
c'20, c'21, c'22
として定義され得る。
出力のダイナミックレンジを調整するために、オフセット
CC_offsets2_to_1
の行列が使用され得る。オフセット
CC_offsets2_to_1
は、
[ o'0,
o'1,
o'2
として定義され得る。
第2の色空間における位置についてのサンプル値が、
RsCC2=[Rs00, Rs01, Rs02]T
であると仮定する。第1の色空間におけるその位置についてのサンプル値
RsCC1
は、
RsCC1=CC_matrix2_to_1*(RsCC2+CC_offsets2_to_1)
として算出され得る。
サンプル値
RsCC1
は、適切なレンジにクリップされる。
再構成されたサンプル値Rのための色空間並べ替え演算は、プライマリ色成分及びセカンダリ色成分の順番を変更するために、サンプル値のブロック又はプレーンの色成分を並べ替えることにより実施され得る。
第1のフォーマットと第2のフォーマットとが異なる色サンプリングレートを有する場合、エンコーダ又はデコーダは、(フィルタリングあり又はフィルタリングなしで)ダウンサンプリング又はアップサンプリングを実行して、現ブロックの再構成されたサンプル値の色サンプリングレートを、第1のフォーマットに変更する。(第2のフォーマットから第1のフォーマットへの色サンプリングレート変換演算は、概して、第1のフォーマットから第2のフォーマットへの先の色サンプリングレート変換演算に類似している。)例えば、エンコーダ又はデコーダは、ダウンサンプリングされた色成分をアップサンプリングすることにより、4:2:0色サンプリングレートから4:4:4色サンプリングレートに、現ブロックの再構成されたサンプル値Rを変換することができる。
第1のフォーマットと第2のフォーマットとが異なる色深度を有する場合、エンコーダ又はデコーダは、以下のように、色深度
bit_depthcurrent
から、再構成されたコンテンツのサンプル値の色深度
bit_depthref
に、現ブロックの再構成されたサンプル値Rを変更する。
bit_depthref>bit_depthcurrentである場合
shift=bit_depthref-bit_depthcurrent
R<<=shift
bit_depthref<bit_depthcurrentである場合
shift=bit_depthcurrent-bit_depthref
add=1<<(shift-1)
R=(R+add)>>shift
エンコーダ又はデコーダは、スライス又はピクチャの他のブロックについて、技術(1600)を繰り返すことができる。
図16において、変換(1632)は、予測(1642)の前に生じている。代替的に、いくつかのタイプの予測(例えば、イントラ空間予測、イントラBC予測)に関しては、変換は、予測の後でもよい。この場合、エンコーダ又はデコーダは、以前に再構成されたコンテンツのサンプル値のセットを使用して、現ブロックのサンプル値を予測し、次いで、第1のフォーマットから第2のフォーマットに、現ブロックの予測されたサンプル値を変換する。エンコーダ又はデコーダは、現ブロックの変換された予測されたサンプル値に少なくとも部分的に基づいて、現ブロックのサンプル値を再構成する。
例えば、第1のフォーマットの色深度が、1サンプル当たり10ビットであり、第2のフォーマットの色深度が、1サンプル当たり8ビットであり、現ブロックが、イントラ空間予測を使用すると仮定する。エンコーダ又はデコーダは、イントラ空間予測において使用される隣接位置の10ビットサンプル値を取得する。これらの10ビットサンプル値を使用して、10ビット予測サンプル値を生成し、次いで、これらの10ビット予測サンプル値が、8ビットサンプル値に変換される。
代替的に、再構成されたコンテンツのユニットのサンプル値は、ユニットが符号化されているフォーマットで記憶されてもよい。それぞれのユニットについての符号化フォーマットの何らかのインジケーションも記憶される。再構成されたコンテンツのサンプル値が、必要とされるときに、予測のために別のフォーマットに変換される。
F.デブロッキングオペレーションの例
符号化中又は復号中、エンコーダ又はデコーダは、1以上のルールに従って、以前に再構成されたコンテンツについて適応ループ内デブロッキングを実行することができる。いくつかの場合において、デブロッキングは、異なる色空間で符号化された2つのブロック間の境界にわたって適用され得る。
例えば、適応デブロッキングのいくつかの実装において、2つのブロック間の境界についてのデブロッキングフィルタの強度は、これらの隣接ブロックの一方がゼロでない残差値を有するかどうかに少なくとも部分的に基づく。2つの隣接ブロックが異なる色空間を有する場合、これらのブロックの間の境界についてのデブロッキングフィルタの強度は、これらの2つの隣接ブロックのプライマリ成分がゼロでない残差値を有するかどうかに依存し得る。例えば、色空間が、これらの2つのブロックについて異なるとしても、第1の隣接ブロックのプライマリ成分が評価されるとともに、第2の隣接ブロックのプライマリ成分が評価される。フィルタ強度は、これらのブロックの一方のプライマリ成分がゼロでない残差値を有するかどうか依存する。
代替的に、1以上のルールは、2つの隣接ブロックの異なる色空間を考慮してもよい。この場合、2つの隣接ブロックが異なる色空間を有する場合、これらのブロックの間の境界についてのデブロッキングフィルタの強度は、これらの2つの隣接ブロックの対応する成分がゼロでない残差値を有するかどうかに依存する。例えば、一方の隣接ブロックの色空間がGBRであり、他方の隣接ブロックの色空間がRGBであると仮定する。両方の色空間とも、RGBタイプの色空間である。G成分についてのフィルタ強度を決定するとき、エンコーダ又はデコーダは、第1のブロックの1番目の成分(G)の残差値と、第2のブロックの2番目の成分(G)の残差値と、を考慮する。適応デブロッキングのこの変形例は、異なるRGBタイプの色空間を有するブロックについて使用され得る。
開示した本発明の原理を適用することができる多くの可能な実施形態の観点から、例示した実施形態は、本発明の好ましい例に過ぎないことを認識すべきであり、本発明の範囲を限定するものとして解釈すべきではない。そうではなく、本発明の範囲は、請求項により定められる。したがって、我々は、請求項の範囲及び主旨に含まれる全てを、我々の発明として特許請求する。

Claims (34)

  1. ビデオエンコーダ又は画像エンコーダを有するコンピューティングデバイスにおける方法であって、
    シーケンス内のビデオを符号化する符号化ステップであって、前記符号化ステップ中に、前記シーケンス内の前記ビデオの少なくともいくつかのユニットの間で、色空間、色サンプリングレート、及び/又は色深度を、空間的且つ/又は時間的に切り替える切り替えステップを含む符号化ステップと、
    ビットストリーム内に符号化されたデータを出力する出力ステップであって、前記符号化されたデータは、前記シーケンス内の前記ビデオの前記少なくともいくつかのユニットの間で、前記色空間、前記色サンプリングレート、及び/又は前記色深度がどのように切り替わるかを示す1以上の信号を含む、出力ステップと、
    を含む方法。
  2. ビデオデコーダ又は画像デコーダを有するコンピューティングデバイスにおける方法であって、
    ビットストリーム内の符号化されたデータを受信する受信ステップであって、前記符号化されたデータは、シーケンス内のビデオの少なくともいくつかのユニットの間で、色空間、色サンプリングレート、及び/又は色深度がどのように切り替わるかを示す1以上の信号を含む、受信ステップと、
    前記符号化されたデータを復号する復号ステップであって、前記復号ステップ中に、前記シーケンス内の前記ビデオの前記少なくともいくつかのユニットの間で、前記色空間、前記色サンプリングレート、及び/又は前記色深度を、空間的且つ/又は時間的に切り替える切り替えステップを含む復号ステップと、
    を含む方法。
  3. 前記ビデオの前記ユニットは、前記シーケンスのピクチャである、請求項1又は2記載の方法。
  4. 前記ビデオの前記ユニットは、前記シーケンスの所与のピクチャのスライスである、請求項1又は2記載の方法。
  5. 前記ビデオの前記ユニットは、前記シーケンスの所与のピクチャのブロックである、請求項1又は2記載の方法。
  6. 前記切り替えステップは、色空間変換演算を用いて、前記色空間のうちの2つの色空間の間で変更するステップを含む、請求項1乃至5いずれか一項記載の方法。
  7. 前記色空間は、少なくとも1つのYUVタイプの色空間と、少なくとも1つのRGBタイプの色空間と、を含む、請求項6記載の方法。
  8. 前記切り替えステップは、色空間並べ替え演算を用いて、前記色空間のうちの2つの色空間の間で変更するステップを含む、請求項1乃至5いずれか一項記載の方法。
  9. 前記色空間は、複数のRGBタイプの色空間を含む、請求項8記載の方法。
  10. 前記符号化されたデータは、前記色空間を識別又は規定する情報をさらに含む、請求項1乃至5いずれか一項記載の方法。
  11. 前記情報は、前記色空間のうちの2つの色空間の間の色空間変換演算のために使用可能な値の行列を含む、請求項10記載の方法。
  12. 前記切り替えステップは、前記色サンプリングレートのうちの2つの色サンプリングレートの間で変更するステップを含む、請求項1乃至11いずれか一項記載の方法。
  13. 前記色サンプリングレートは、4:4:4、4:2:2、4:2:0、及び4:0:0のうちの2以上を含む、請求項12記載の方法。
  14. 前記切り替えステップは、前記色深度のうちの2つの色深度の間で変更するステップを含む、請求項1乃至13いずれか一項記載の方法。
  15. 前記色深度は、1サンプル当たり12ビット、1サンプル当たり10ビット、及び1サンプル当たり8ビットのうちの2以上を含む、請求項14記載の方法。
  16. 前記ビデオの前記ユニットのうちの所与のユニットの異なる色成分は、異なる色深度を有する、請求項14記載の方法。
  17. 前記1以上の信号は、前記ビデオの前記ユニットのうちの所与のユニットについてのフラグ値を含み、前記フラグ値は、前記色空間、前記色サンプリングレート、又は前記色深度についての2つのオプション間の選択を示す、請求項1乃至16いずれか一項記載の方法。
  18. 前記1以上の信号は、前記ビデオの前記ユニットのうちの所与のユニットについてのシンタックス要素を含み、前記シンタックス要素は、前記色空間、前記色サンプリングレート、又は前記色深度についての3以上のオプション間の選択を示す、請求項1乃至16いずれか一項記載の方法。
  19. 前記1以上の信号は、前記ビデオの前記ユニットのうちの所与のユニットについてのパラメータの差分値を含み、前記差分値は、前記パラメータの実際の値と前記パラメータの予測因子との差を表す、請求項1乃至16いずれか一項記載の方法。
  20. 前記予測因子は、シーケンスレイヤパラメータである、請求項19記載の方法。
  21. 前記予測因子は、前記ビデオの前記ユニットの中の1以上の以前のユニットについての前記パラメータの1以上の実際の値に基づく、請求項19記載の方法。
  22. 前記符号化ステップ又は前記復号ステップは、以前に再構成されたコンテンツのサンプル値のセットに少なくとも部分的に基づいて、現ピクチャ内の現ブロックのサンプル値を予測する予測ステップであって、前記以前に再構成されたコンテンツの前記サンプル値のセットは、第1のフォーマットで記憶されており、前記現ブロックの前記サンプル値は、前記第1のフォーマットとは異なる第2のフォーマットで符号化されている、予測ステップを含む、請求項1乃至21いずれか一項記載の方法。
  23. 前記予測ステップは、
    前記第1のフォーマットから前記第2のフォーマットに、前記以前に再構成されたコンテンツの前記サンプル値のセットを変換するステップと、
    前記以前に再構成されたコンテンツの前記の変換されたサンプル値のセットを使用して、前記現ブロックの前記サンプル値を予測するステップと、
    前記現ブロックの前記の予測されたサンプル値に少なくとも部分的に基づいて、前記現ブロックの前記サンプル値を再構成するステップと、
    を含む、請求項22記載の方法。
  24. 前記第1のフォーマットから前記第2のフォーマットに変換することは、前記色空間のうちの2つの色空間の間で変換すること、前記色サンプリングレートのうちの2つの色空間の間で変換すること、又は、前記色深度のうちの2つの色深度の間で変換すること、を含む、請求項23記載の方法。
  25. 前記予測ステップは、
    前記以前に再構成されたコンテンツの前記サンプル値のセットを使用して、前記現ブロックの前記サンプル値を予測するステップと、
    前記第1のフォーマットから前記第2のフォーマットに、前記現ブロックの前記の予測されたサンプル値を変換するステップと、
    前記現ブロックの前記の変換された予測されたサンプル値に少なくとも部分的に基づいて、前記現ブロックの前記サンプル値を再構成するステップと、
    を含む、請求項22記載の方法。
  26. 前記予測ステップの後に、
    前記第2のフォーマットから前記第1のフォーマットに、前記現ブロックの前記の再構成されたサンプル値を変換するステップと、
    前記以前に再構成されたコンテンツの一部として、前記現ブロックの前記の変換された再構成されたサンプル値を記憶するステップと、
    をさらに含む、請求項23乃至25いずれか一項記載の方法。
  27. 前記予測は、イントラピクチャ予測であり、前記以前に再構成されたコンテンツの前記サンプル値のセットは、前記現ピクチャの一部である、請求項22乃至26いずれか一項記載の方法。
  28. 前記予測は、インターピクチャ予測であり、前記以前に再構成されたコンテンツの前記サンプル値のセットは、参照ピクチャの一部である、請求項22乃至26いずれか一項記載の方法。
  29. 前記符号化ステップ又は前記復号ステップは、以前に再構成されたコンテンツのサンプル値のセットに少なくとも部分的に基づいて、現ピクチャ内の現ブロックのサンプル値を予測する予測ステップであって、前記以前に再構成されたコンテンツの前記サンプル値のセットと、前記現ブロックの前記サンプル値と、が、異なるフォーマットであるかどうかを評価するステップを含む予測ステップを含む、請求項1乃至21いずれか一項記載の方法。
  30. 前記符号化ステップ又は前記復号ステップは、1以上のルールに従って、以前に再構成されたコンテンツをデブロックするデブロッキングステップを含む、請求項1乃至21いずれか一項記載の方法。
  31. 前記デブロッキングステップは、2つの隣接ブロックのプライマリ成分がゼロでない残差値を有するかどうかに応じて、デブロッキングフィルタの強度を調整するステップを含む、請求項30記載の方法。
  32. 前記1以上のルールは、前記以前に再構成されたコンテンツ内の2つの隣接ブロックの異なる色空間を考慮し、前記デブロッキングステップは、前記2つの隣接ブロックの対応する成分がゼロでない残差値を有するかどうかに応じて、デブロッキングフィルタの強度を調整するステップを含む、請求項30記載の方法。
  33. 請求項1乃至32いずれか一項記載の方法を実行するよう適合されているコンピューティングデバイス。
  34. コンピューティングデバイスに請求項1乃至32いずれか一項記載の方法を実行させるコンピュータ実行可能な命令を記憶した1以上のコンピュータ読み取り可能な記憶媒体。
JP2016555569A 2014-03-04 2014-03-04 色空間、色サンプリングレート、及び/又は色深度の適応切り替え Active JP6340083B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/072847 WO2015131328A1 (en) 2014-03-04 2014-03-04 Adaptive switching of color spaces, color sampling rates and/or bit depths

Publications (2)

Publication Number Publication Date
JP2017512439A true JP2017512439A (ja) 2017-05-18
JP6340083B2 JP6340083B2 (ja) 2018-06-06

Family

ID=54054341

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016555569A Active JP6340083B2 (ja) 2014-03-04 2014-03-04 色空間、色サンプリングレート、及び/又は色深度の適応切り替え

Country Status (16)

Country Link
US (5) US10171833B2 (ja)
EP (2) EP3114843B1 (ja)
JP (1) JP6340083B2 (ja)
KR (1) KR102203111B1 (ja)
CN (3) CN110519593B (ja)
AU (1) AU2014385774B2 (ja)
BR (3) BR122022001646B1 (ja)
CA (1) CA2939434C (ja)
CL (1) CL2016002184A1 (ja)
IL (1) IL247232B (ja)
MX (1) MX365498B (ja)
MY (1) MY189001A (ja)
PH (1) PH12016501641A1 (ja)
RU (1) RU2653295C2 (ja)
SG (1) SG11201607282YA (ja)
WO (1) WO2015131328A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022050585A (ja) * 2017-07-17 2022-03-30 華為技術有限公司 クロマ予測方法及びデバイス
JP2023514638A (ja) * 2020-11-12 2023-04-06 テンセント・アメリカ・エルエルシー ビデオ復号の方法、機器、及びコンピュータプログラム
JP7500981B2 (ja) 2020-02-05 2024-06-18 富士通株式会社 画像符号化装置、画像復号装置、及び画像処理システム

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2653295C2 (ru) 2014-03-04 2018-05-07 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Адаптивное переключение цветовых пространств, частот цветовой дискретизации и/или битовых глубин
EP3114835B1 (en) 2014-03-04 2020-04-22 Microsoft Technology Licensing, LLC Encoding strategies for adaptive switching of color spaces
EP3123716B1 (en) 2014-03-27 2020-10-28 Microsoft Technology Licensing, LLC Adjusting quantization/scaling and inverse quantization/scaling when switching color spaces
WO2016054765A1 (en) 2014-10-08 2016-04-14 Microsoft Technology Licensing, Llc Adjustments to encoding and decoding when switching color spaces
CN112929670A (zh) 2015-03-10 2021-06-08 苹果公司 自适应色度下采样和色彩空间转换技术
KR101770300B1 (ko) * 2015-06-09 2017-08-22 삼성전자주식회사 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
CN108141595A (zh) * 2015-09-23 2018-06-08 Lg 电子株式会社 图像编码/解码方法及其设备
US20170105012A1 (en) * 2015-10-08 2017-04-13 Mediatek Inc. Method and Apparatus for Cross Color Space Mode Decision
US20170310969A1 (en) * 2016-04-20 2017-10-26 Mediatek Inc. Image encoding method and apparatus with color space transform performed upon predictor and associated image decoding method and apparatus
US10244215B2 (en) * 2016-11-29 2019-03-26 Microsoft Technology Licensing, Llc Re-projecting flat projections of pictures of panoramic video for rendering by application
US10244200B2 (en) 2016-11-29 2019-03-26 Microsoft Technology Licensing, Llc View-dependent operations during playback of panoramic video
US10242714B2 (en) 2016-12-19 2019-03-26 Microsoft Technology Licensing, Llc Interface for application-specified playback of panoramic video
WO2018120230A1 (zh) * 2016-12-30 2018-07-05 华为技术有限公司 图像滤波方法、装置以及设备
CN108989820B (zh) * 2017-06-03 2022-07-05 上海天荷电子信息有限公司 各阶段采用各自相应色度采样格式的数据压缩方法和装置
GB2564466B (en) * 2017-07-13 2020-01-08 Advanced Risc Mach Ltd Storing YUV texture data in a cache in a graphics processing system
CN113055691A (zh) * 2017-12-29 2021-06-29 深圳市大疆创新科技有限公司 视频解码器及其制造方法,数据处理电路、系统和方法
KR20190107944A (ko) * 2018-03-13 2019-09-23 삼성전자주식회사 복원 영상에 대한 필터링을 수행하는 영상 처리 장치 및 이의 필터링 방법
AU2018416684B2 (en) * 2018-03-29 2022-12-01 Sony Corporation Image processing apparatus and image processing method
US10666863B2 (en) 2018-05-25 2020-05-26 Microsoft Technology Licensing, Llc Adaptive panoramic video streaming using overlapping partitioned sections
US10764494B2 (en) 2018-05-25 2020-09-01 Microsoft Technology Licensing, Llc Adaptive panoramic video streaming using composite pictures
WO2020156545A1 (en) 2019-02-02 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Prediction using intra-buffer samples for intra block copy in video coding
US10939116B2 (en) 2019-02-26 2021-03-02 Raritan Americas, Inc. Adaptive variation of chroma subsampling in image compression
JP7405861B2 (ja) 2019-03-01 2023-12-26 北京字節跳動網絡技術有限公司 映像符号化におけるイントラブロックコピーのための方向に基づく予測
JP7284284B2 (ja) 2019-03-04 2023-05-30 北京字節跳動網絡技術有限公司 映像符号化におけるイントラブロックコピーの実装形態の態様
US10742992B1 (en) 2019-03-26 2020-08-11 Electronic Arts Inc. Video compression for video games
CN113841395B (zh) * 2019-05-16 2022-10-25 北京字节跳动网络技术有限公司 视频编解码中的自适应分辨率改变
US11856232B2 (en) 2019-05-28 2023-12-26 Dolby Laboratories Licensing Corporation Quantization parameter signaling
WO2020253861A1 (en) 2019-06-21 2020-12-24 Beijing Bytedance Network Technology Co., Ltd. Adaptive in-loop color-space transform for video coding
EP3981151A4 (en) 2019-07-06 2022-08-24 Beijing Bytedance Network Technology Co., Ltd. VIRTUAL PREDICTION BUFFER FOR INTRA-BLOCK COPY IN VIDEO ENCODING
KR102635519B1 (ko) 2019-07-10 2024-02-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 인트라 블록 카피를 위한 샘플 식별
CN114097221B (zh) * 2019-07-11 2024-01-12 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的比特流一致性约束
BR112022004668A2 (pt) 2019-09-14 2022-05-31 Bytedance Inc Método de processamento de dados de vídeo, aparelho para processar dados de vídeo e meios de armazenamento e de gravação não transitórios legíveis por computador
CN114651442A (zh) 2019-10-09 2022-06-21 字节跳动有限公司 视频编解码中的跨分量适应性回路滤波
US11412235B2 (en) 2019-10-10 2022-08-09 Tencent America LLC Color transform for video coding
WO2021076475A1 (en) 2019-10-14 2021-04-22 Bytedance Inc. Joint coding of chroma residual and filtering in video processing
WO2021086024A1 (ko) * 2019-10-28 2021-05-06 엘지전자 주식회사 적응적 색공간 변환을 이용하여 레지듀얼 처리를 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2021088951A1 (en) 2019-11-07 2021-05-14 Beijing Bytedance Network Technology Co., Ltd. Quantization properties of adaptive in-loop color-space transform for video coding
CA3162583C (en) * 2019-11-22 2024-02-13 Lg Electronics Inc. Image encoding/decoding method and device using lossless color transform, and method for transmitting bitstream
WO2021118977A1 (en) * 2019-12-09 2021-06-17 Bytedance Inc. Using quantization groups in video coding
WO2021128281A1 (zh) * 2019-12-27 2021-07-01 富士通株式会社 自适应颜色变换的编解码方法、装置以及视频编解码设备
CN114902657A (zh) 2019-12-31 2022-08-12 字节跳动有限公司 视频编解码中的自适应颜色变换
KR20220037379A (ko) 2020-09-17 2022-03-24 레몬 인크. 비디오 동작 포인트 레코드 신택스 및 시맨틱스
US11689743B2 (en) * 2020-11-12 2023-06-27 Tencent America LLC Method and apparatus for video coding
US11838551B2 (en) * 2020-12-30 2023-12-05 Ofinno, Llc Adaptive block level bit-depth prediction

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009523337A (ja) * 2006-01-13 2009-06-18 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 適応色空間変換を用いた画像符号化
US20130083855A1 (en) * 2011-09-30 2013-04-04 Dane P. Kottke Adaptive color space selection for high quality video compression

Family Cites Families (115)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3238704A (en) 1963-03-07 1966-03-08 Engelhard Ind Inc Diffusion purification of gases
US5386496A (en) 1991-02-15 1995-01-31 Toyo Ink Mfg. Co., Ltd. Method and device for nonlinear transformation of colour information by neural network
EP0579873B1 (en) 1992-07-20 1999-05-06 Océ-Technologies B.V. Method of reproducing text on a raster output device
JP3284829B2 (ja) 1995-06-15 2002-05-20 ミノルタ株式会社 画像処理装置
US5805228A (en) 1996-08-09 1998-09-08 U.S. Robotics Access Corp. Video encoder/decoder system
US6319306B1 (en) 2000-03-23 2001-11-20 Idatech, Llc Hydrogen-selective metal membrane modules and method of forming the same
JPH1155538A (ja) 1997-08-01 1999-02-26 Fujitsu Ltd カラー画像情報処理システム、カラー画像情報入力装置及びカラー画像出力装置
JPH11164152A (ja) 1997-11-26 1999-06-18 Ricoh Co Ltd カラー画像データ圧縮装置
US6262812B1 (en) 1998-04-30 2001-07-17 Xerox Corporation Method and apparatus for object-oriented adjustment of color attributes in a perceptually uniform manner
US7129860B2 (en) * 1999-01-29 2006-10-31 Quickshift, Inc. System and method for performing scalable embedded parallel data decompression
JP3725454B2 (ja) 2001-01-17 2005-12-14 セイコーエプソン株式会社 画像ファイルの出力画像調整
US8374237B2 (en) 2001-03-02 2013-02-12 Dolby Laboratories Licensing Corporation High precision encoding and decoding of video images
US6975680B2 (en) 2001-07-12 2005-12-13 Dolby Laboratories, Inc. Macroblock mode decision biasing for video compression systems
JP3902968B2 (ja) 2002-03-26 2007-04-11 キヤノン株式会社 画像処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体
US7155065B1 (en) * 2002-03-27 2006-12-26 Microsoft Corporation System and method for progressively transforming and coding digital data
US6961736B1 (en) 2002-05-31 2005-11-01 Adobe Systems Incorporated Compact color feature vector representation
JP4617644B2 (ja) 2003-07-18 2011-01-26 ソニー株式会社 符号化装置及び方法
WO2005034092A2 (en) 2003-09-29 2005-04-14 Handheld Entertainment, Inc. Method and apparatus for coding information
US7308135B2 (en) 2004-01-14 2007-12-11 Eastman Kodak Company Constructing extended color gamut digital images from limited color gamut digital images
US7428332B2 (en) 2004-01-14 2008-09-23 Spaulding Kevin E Applying an adjusted image enhancement algorithm to a digital image
KR100518849B1 (ko) * 2004-03-02 2005-09-30 엘지전자 주식회사 영상 압축 및 복원 방법
US7209145B2 (en) 2004-04-02 2007-04-24 Xerox Corporation Color device profile having a buffered look-up table
US7689051B2 (en) * 2004-04-15 2010-03-30 Microsoft Corporation Predictive lossless coding of images and video
US20050259730A1 (en) * 2004-05-18 2005-11-24 Sharp Laboratories Of America, Inc. Video coding with residual color conversion using reversible YCoCg
KR100601867B1 (ko) 2004-06-11 2006-07-19 삼성전자주식회사 벡터 스트레칭을 이용한 색역 매핑 장치 및 방법
US7454055B1 (en) 2004-11-12 2008-11-18 Payton Paul M Enhanced image compression utilizing Hilbert curve scanning of quantized discrete cosine transform coefficients
TWI257074B (en) 2005-02-22 2006-06-21 Sunplus Technology Co Ltd Motion estimation method and system using colors information
KR100723403B1 (ko) 2005-02-28 2007-05-30 삼성전자주식회사 컬러 성분간 단일 부호화 모드를 이용한 예측영상 생성 방법 및 장치와, 그를 이용한 영상 및 비디오 부호화/복호화방법 및 장치
KR100763178B1 (ko) * 2005-03-04 2007-10-04 삼성전자주식회사 색 공간 스케일러블 비디오 코딩 및 디코딩 방법, 이를위한 장치
US7792370B2 (en) * 2005-03-18 2010-09-07 Sharp Laboratories Of America, Inc. Residual color transform for 4:2:0 RGB format
US20060210156A1 (en) * 2005-03-18 2006-09-21 Sharp Laboratories Of America, Inc. Video compression for raw rgb format using residual color transform
KR101246915B1 (ko) * 2005-04-18 2013-03-25 삼성전자주식회사 동영상 부호화 또는 복호화 방법 및 장치
JP2006340012A (ja) 2005-06-01 2006-12-14 Konica Minolta Medical & Graphic Inc 色調整方法
US7706607B2 (en) 2005-06-23 2010-04-27 Microsoft Corporation Optimized color image encoding and decoding using color space parameter data
KR101204801B1 (ko) 2005-07-15 2012-11-26 삼성전자주식회사 색상계에 적응적인 화소값 보정 방법 및 장치, 그를 이용항영상 부호화/복호화 방법 및 장치
CN100425066C (zh) * 2005-09-23 2008-10-08 逐点半导体(上海)有限公司 图像压缩的方法
US9219898B2 (en) 2005-12-21 2015-12-22 Thomson Licensing Constrained color palette in a color space
EP1977602B1 (en) * 2006-01-13 2013-03-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Picture coding using adaptive colour space transformation
JP5249784B2 (ja) * 2006-01-23 2013-07-31 マックス−プランク−ゲゼルシャフト・ツア・フェルデルング・デア・ヴィッセンシャフテン・エー・ファオ 高ダイナミックレンジコーデック
US8243340B2 (en) 2006-02-23 2012-08-14 Microsoft Corporation Pre-processing of image data for enhanced compression
WO2007116551A1 (ja) * 2006-03-30 2007-10-18 Kabushiki Kaisha Toshiba 画像符号化装置及び画像符号化方法並びに画像復号化装置及び画像復号化方法
CN101110963B (zh) 2006-07-21 2010-05-12 帆宣系统科技股份有限公司 图像调整装置
CN100502507C (zh) * 2006-09-14 2009-06-17 浙江大学 视频数据压缩编码方法
WO2008043198A1 (en) 2006-09-30 2008-04-17 Thomson Licensing Method and device for encoding and decoding color enhancement layer for video
KR100843095B1 (ko) 2006-12-13 2008-07-03 삼성전자주식회사 선호색 재현 장치 및 방법
US8055070B2 (en) * 2007-01-05 2011-11-08 Geo Semiconductor Inc. Color and geometry distortion correction system and method
KR20080067226A (ko) 2007-01-15 2008-07-18 주식회사 대우일렉트로닉스 칼라 스페이스 컨버터의 rgb 출력 편차 제거 방법
US20100202512A1 (en) 2007-04-16 2010-08-12 Hae-Chul Choi Color video scalability encoding and decoding method and device thereof
TW200845723A (en) 2007-04-23 2008-11-16 Thomson Licensing Method and apparatus for encoding video data, method and apparatus for decoding encoded video data and encoded video signal
CN101076125B (zh) * 2007-06-18 2010-07-28 山东经济学院 图像压缩中RGB与YCbCr转换计算的方法
US7991237B2 (en) 2007-06-28 2011-08-02 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method and image decoding method
EP2175660A4 (en) * 2007-08-02 2012-04-25 Sony Corp IMAGE PROCESSOR
US8189243B1 (en) 2007-11-13 2012-05-29 Adobe Systems Incorporated Color calibration for digital imaging devices
CN101163252B (zh) 2007-11-27 2011-10-26 中国科学院计算技术研究所 一种多媒体视频图像的缩放方法
KR101213704B1 (ko) 2007-12-05 2012-12-18 삼성전자주식회사 가변 컬러 포맷 기반 동영상 부호화 방법 및 장치, 그복호화 방법 및 장치
US8750390B2 (en) 2008-01-10 2014-06-10 Microsoft Corporation Filtering and dithering as pre-processing before encoding
US8369638B2 (en) 2008-05-27 2013-02-05 Microsoft Corporation Reducing DC leakage in HD photo transform
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
EP2144432A1 (en) 2008-07-08 2010-01-13 Panasonic Corporation Adaptive color format conversion and deconversion
US20100027973A1 (en) 2008-07-29 2010-02-04 Chia-Yun Cheng Image processing circuit and method capable of performing online color space conversion
WO2010022002A1 (en) * 2008-08-19 2010-02-25 Marvell World Trade Ltd Systems and methods for perceptually lossless video compression
US8279924B2 (en) 2008-10-03 2012-10-02 Qualcomm Incorporated Quantization parameter selections for encoding of chroma and luma video blocks
US8451896B2 (en) 2009-10-19 2013-05-28 Hong Kong Applied Science and Technology Research Institute Company Limited Method and apparatus for adaptive quantization in digital video coding
JP5227987B2 (ja) 2010-03-10 2013-07-03 日本放送協会 符号化装置、復号装置及びプログラム
CN102223525B (zh) * 2010-04-13 2014-02-19 富士通株式会社 视频解码方法和系统
JP5073004B2 (ja) * 2010-04-23 2012-11-14 株式会社東芝 画像符号化装置及び画像符号化方法並びに画像復号化装置及び画像復号化方法
CN103119937B (zh) * 2010-07-20 2016-02-10 Sk电信有限公司 用于解块滤波的方法和装置以及利用该方法和装置进行编码和解码的方法和装置
US20120026394A1 (en) * 2010-07-30 2012-02-02 Emi Maruyama Video Decoder, Decoding Method, and Video Encoder
US8860785B2 (en) 2010-12-17 2014-10-14 Microsoft Corporation Stereo 3D video support in computing devices
WO2012122426A1 (en) 2011-03-10 2012-09-13 Dolby Laboratories Licensing Corporation Reference processing for bitdepth and color format scalable video coding
US20140003527A1 (en) 2011-03-10 2014-01-02 Dolby Laboratories Licensing Corporation Bitdepth and Color Scalable Video Coding
JP2012217137A (ja) * 2011-03-31 2012-11-08 Sony Corp 画像処理装置、画像処理方法、画像処理プログラム
US9167247B2 (en) 2011-05-20 2015-10-20 Panasonic Intellectual Property Corporation Of America Methods and apparatuses for encoding and decoding video using inter-color-plane prediction
US9185424B2 (en) * 2011-07-05 2015-11-10 Qualcomm Incorporated Image data compression
WO2013006986A1 (en) 2011-07-12 2013-01-17 Intel Corporation Luma-based chroma intra prediction
EP2745519B1 (en) 2011-08-17 2017-09-27 MediaTek Singapore Pte Ltd. Method and apparatus for intra prediction using non-square blocks
US8804816B2 (en) 2011-08-30 2014-08-12 Microsoft Corporation Video encoding enhancements
US9807403B2 (en) 2011-10-21 2017-10-31 Qualcomm Incorporated Adaptive loop filtering for chroma components
CN103918265B (zh) 2011-11-07 2018-09-18 英特尔公司 跨通道残余预测
KR20130058524A (ko) 2011-11-25 2013-06-04 오수미 색차 인트라 예측 블록 생성 방법
CN102761738B (zh) 2011-12-05 2017-11-24 同济大学 基于混合色度采样率的图像压缩方法和装置
US9756353B2 (en) * 2012-01-09 2017-09-05 Dolby Laboratories Licensing Corporation Hybrid reference picture reconstruction method for single and multiple layered video coding systems
US9438904B2 (en) 2012-01-19 2016-09-06 Futurewei Technologies, Inc. Reduced look-up table for LM mode calculation
CN110234009B (zh) 2012-01-20 2021-10-29 维洛媒体国际有限公司 色度量化参数扩展的解码方法及装置
JP5901362B2 (ja) 2012-03-08 2016-04-06 日本放送協会 色変換装置、カラーサブサンプリング装置およびこれらのプログラム
JP5624576B2 (ja) 2012-03-14 2014-11-12 株式会社東芝 画像圧縮コントローラ及び画像圧縮装置
US9451258B2 (en) 2012-04-03 2016-09-20 Qualcomm Incorporated Chroma slice-level QP offset and deblocking
US9270986B2 (en) 2012-04-13 2016-02-23 Qualcomm Incorporated Level decision in rate distortion optimized quantization
JP5909149B2 (ja) 2012-05-15 2016-04-26 日本放送協会 色変換装置、符号化器および復号器ならびにそれらのプログラム
GB2503875B (en) * 2012-06-29 2015-06-10 Canon Kk Method and device for encoding or decoding an image
US9414054B2 (en) 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values
US8897580B2 (en) 2012-07-30 2014-11-25 Apple Inc. Error diffusion with color conversion and encoding
US11240515B2 (en) * 2012-09-10 2022-02-01 Apple Inc. Video display preference filtering
CN104685878B (zh) 2012-09-24 2018-11-30 华为技术有限公司 具有颜色空间缩放性的视频压缩
US10812829B2 (en) * 2012-10-03 2020-10-20 Avago Technologies International Sales Pte. Limited 2D block image encoding
CN104937935A (zh) 2012-11-16 2015-09-23 Vid拓展公司 用于视觉条件意识视频编码的感知预处理滤波器
CN104902864B (zh) 2012-12-21 2020-09-01 莱雅公司 化妆品组合物
CN103096092B (zh) 2013-02-07 2015-12-02 上海国茂数字技术有限公司 基于颜色空间变换进行编解码误差修正的方法和系统
JP6033725B2 (ja) 2013-03-28 2016-11-30 Kddi株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、およびプログラム
CN105122804A (zh) * 2013-04-05 2015-12-02 夏普株式会社 利用颜色位深缩放的视频压缩
US9225988B2 (en) * 2013-05-30 2015-12-29 Apple Inc. Adaptive color space transform coding
US9225991B2 (en) 2013-05-30 2015-12-29 Apple Inc. Adaptive color space transform coding
US9300967B2 (en) 2013-06-19 2016-03-29 Apple Inc. Sample adaptive offset control
US20140376611A1 (en) * 2013-06-21 2014-12-25 Qualcomm Incorporated Adaptive color transforms for video coding
US9510002B2 (en) 2013-09-09 2016-11-29 Apple Inc. Chroma quantization in video coding
EP2887672A1 (en) 2013-12-17 2015-06-24 Thomson Licensing Method for coding a sequence of pictures and method for decoding a bitstream and corresponding devices
RU2653295C2 (ru) 2014-03-04 2018-05-07 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Адаптивное переключение цветовых пространств, частот цветовой дискретизации и/или битовых глубин
EP3114835B1 (en) 2014-03-04 2020-04-22 Microsoft Technology Licensing, LLC Encoding strategies for adaptive switching of color spaces
US11070810B2 (en) * 2014-03-14 2021-07-20 Qualcomm Incorporated Modifying bit depths in color-space transform coding
EP3123716B1 (en) 2014-03-27 2020-10-28 Microsoft Technology Licensing, LLC Adjusting quantization/scaling and inverse quantization/scaling when switching color spaces
US10142642B2 (en) * 2014-06-04 2018-11-27 Qualcomm Incorporated Block adaptive color-space conversion coding
US9924175B2 (en) 2014-06-11 2018-03-20 Qualcomm Incorporated Determining application of deblocking filtering to palette coded blocks in video coding
US20150373327A1 (en) * 2014-06-20 2015-12-24 Qualcomm Incorporated Block adaptive color-space conversion coding
WO2016054765A1 (en) 2014-10-08 2016-04-14 Microsoft Technology Licensing, Llc Adjustments to encoding and decoding when switching color spaces
US10290119B2 (en) 2016-09-15 2019-05-14 Sportsmedia Technology Corporation Multi view camera registration

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009523337A (ja) * 2006-01-13 2009-06-18 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 適応色空間変換を用いた画像符号化
US20130083855A1 (en) * 2011-09-30 2013-04-04 Dane P. Kottke Adaptive color space selection for high quality video compression

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DETLEV MARPE, ET AL.: "Macroblock-Adaptive Residual Color Space Transforms for 4:4:4 Video Coding", 2006 INTERNATIONAL CONFERENCE ON IMAGE PROCESSING, vol. ICIP2006, JPN6017048422, 11 October 2006 (2006-10-11), US, pages 3157 - 3160, XP055337060, ISSN: 0003703493, DOI: 10.1109/ICIP.2006.313039 *
大久保 榮, 改訂三版H.264/AVC教科書 第1版 H.264/AVC TEXTBOOK, vol. 第1版, JPN6017048424, pages 144 - 146, ISSN: 0003703494 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022050585A (ja) * 2017-07-17 2022-03-30 華為技術有限公司 クロマ予測方法及びデバイス
JP7461974B2 (ja) 2017-07-17 2024-04-04 華為技術有限公司 クロマ予測方法及びデバイス
JP7500981B2 (ja) 2020-02-05 2024-06-18 富士通株式会社 画像符号化装置、画像復号装置、及び画像処理システム
JP2023514638A (ja) * 2020-11-12 2023-04-06 テンセント・アメリカ・エルエルシー ビデオ復号の方法、機器、及びコンピュータプログラム
JP7467650B2 (ja) 2020-11-12 2024-04-15 テンセント・アメリカ・エルエルシー ビデオ復号の方法、機器、及びコンピュータプログラム
US11997299B2 (en) 2020-11-12 2024-05-28 Tencent America LLC Scaling an output offset value in a cross-component sample offset filter

Also Published As

Publication number Publication date
US20200244991A1 (en) 2020-07-30
CN110049325B (zh) 2022-07-05
EP3114843A4 (en) 2017-03-01
CN110049325A (zh) 2019-07-23
WO2015131328A1 (en) 2015-09-11
US20220046276A1 (en) 2022-02-10
EP3565251A1 (en) 2019-11-06
RU2016135630A3 (ja) 2018-03-07
AU2014385774A1 (en) 2016-09-01
CN105230023A (zh) 2016-01-06
EP3114843A1 (en) 2017-01-11
CL2016002184A1 (es) 2017-02-03
IL247232B (en) 2019-03-31
PH12016501641A1 (en) 2016-10-03
RU2016135630A (ru) 2018-03-07
EP3114843B1 (en) 2019-08-07
CN110519593B (zh) 2021-08-31
NZ723358A (en) 2020-09-25
KR102203111B1 (ko) 2021-01-13
US10666972B2 (en) 2020-05-26
US11184637B2 (en) 2021-11-23
KR20160129067A (ko) 2016-11-08
US20230269396A1 (en) 2023-08-24
US20160261884A1 (en) 2016-09-08
CN105230023B (zh) 2019-10-18
EP3565251B1 (en) 2020-09-16
MX2016011297A (es) 2016-11-08
BR122022001594B1 (pt) 2023-03-07
US11683522B2 (en) 2023-06-20
JP6340083B2 (ja) 2018-06-06
US20190098335A1 (en) 2019-03-28
RU2653295C2 (ru) 2018-05-07
BR112016019297B1 (pt) 2023-02-23
CN110519593A (zh) 2019-11-29
CA2939434A1 (en) 2015-09-11
SG11201607282YA (en) 2016-09-29
BR112016019297A2 (ja) 2017-08-15
BR122022001646B1 (pt) 2023-03-07
US10171833B2 (en) 2019-01-01
MX365498B (es) 2019-06-05
CA2939434C (en) 2021-02-16
AU2014385774B2 (en) 2019-01-17
MY189001A (en) 2022-01-17

Similar Documents

Publication Publication Date Title
US11184637B2 (en) Encoding/decoding with flags to indicate switching of color spaces, color sampling rates and/or bit depths
US11451778B2 (en) Adjusting quantization/scaling and inverse quantization/scaling when switching color spaces
US11166042B2 (en) Encoding/decoding with flags to indicate switching of color spaces, color sampling rates and/or bit depths
NZ723358B2 (en) Adaptive switching of color spaces, color sampling rates and/or bit depths

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170220

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180313

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180511

R150 Certificate of patent or registration of utility model

Ref document number: 6340083

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250