JP6827944B2 - 線形モデル予測モードのためのダウンサンプリングプロセス - Google Patents

線形モデル予測モードのためのダウンサンプリングプロセス Download PDF

Info

Publication number
JP6827944B2
JP6827944B2 JP2017548411A JP2017548411A JP6827944B2 JP 6827944 B2 JP6827944 B2 JP 6827944B2 JP 2017548411 A JP2017548411 A JP 2017548411A JP 2017548411 A JP2017548411 A JP 2017548411A JP 6827944 B2 JP6827944 B2 JP 6827944B2
Authority
JP
Japan
Prior art keywords
block
chroma
luma
sample
predictive
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017548411A
Other languages
English (en)
Other versions
JP2018514119A5 (ja
JP2018514119A (ja
Inventor
リ・ジャン
ジエンレ・チェン
マルタ・カルチェヴィッチ
Original Assignee
クアルコム,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2018514119A publication Critical patent/JP2018514119A/ja
Publication of JP2018514119A5 publication Critical patent/JP2018514119A5/ja
Application granted granted Critical
Publication of JP6827944B2 publication Critical patent/JP6827944B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Landscapes

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

Description

本出願は、その内容全体が参照により本明細書に組み込まれる、2015年3月20日に出願された米国仮特許出願第62/136,344号の利益を主張する。
本開示は、ビデオ符号化および復号に関する。
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4、Part 10、アドバンストビデオコーディング(AVC)、ITU-T H.265、高効率ビデオコーディング(HEVC)によって定義された規格、およびそのような規格の拡張に記載されているものなどのビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信し、受信し、符号化し、復号し、および/または記憶し得る。
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間(ピクチャ内)予測および/または時間(ピクチャ間)予測を実行する。ブロックベースのビデオコーディングの場合、ビデオスライス(すなわち、ビデオフレーム、またはビデオフレームの一部分)は、ビデオブロックに区分され得る。ピクチャのイントラコード化(I)スライスの中のビデオブロックは、同じピクチャの中の隣接ブロックの中の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコード化(PまたはB)スライスの中のビデオブロックは、同じピクチャの中の隣接ブロックの中の参照サンプルに対する空間予測、または他の参照ピクチャの中の参照サンプルに対する時間予測を使用し得る。空間予測または時間予測は、コーディングされるべきブロックに関する予測的ブロックをもたらす。残差データは、コーディングされるべき元のブロックと予測的ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測的ブロックを形成する参照サンプルのブロックを指す動きベクトルに従って符号化され、残差データは、コード化ブロックと予測的ブロックとの間の差分を示す。イントラコード化ブロックは、イントラコーディングモードおよび残差データに従って符号化される。さらなる圧縮のために、残差データはピクセル領域から変換領域に変換されてよく、結果として残差係数をもたらし、残差係数は次いで量子化され得る。
「High Efficiency Video Coding (HEVC) Defect Report」、Wangら、ITU-T SG 16 WP 3およびISO/IEC JTC 1/SC 29/WG 11のジョイントコラボレーティブチームオンビデオコーディング(JCT-VC)、第14回会合、ウイーン、オーストリア、2013年7月25日〜8月2日、http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zip 「Draft high efficiency video coding (HEVC) version 2, combined format range extensions (RExt), scalability (SHVC), and multi-view (MV-HEVC) extentions」、Boyceら、ITU-T SG 16 WP 3およびISO/IEC JTC 1/SC 29/WG 11のジョイントコラボレーティブチームオンビデオコーディング(JCT-VC)、第14回会合、ウイーン、オーストリア、2014年6月30日〜7月9日、http://phenix.int-evry.fr/jct/doc_end_user/documents/18_Sapporo/wg11/JCTVC-R1013-v6.zip A. FordおよびA. Roberts、「Colour space conversions」、ウェストミンスター大学、ロンドン、Tech. Rep.、1998年8月 J. Chen、V. Seregin、W.-J. Han、J.-S. Kim、B.-M. Joen、「Ce6.a.4: Chroma intra prediction by reconstructed luma samples」、ITU-T SG16 WP3およびISO/IEC JTC1/SC29/WG11のジョイントコラボレーティブチームオンビデオコーディング(JCT-VC)、JCTVC-E266、第5回会合、ジュネーブ、2011年3月16日〜23日、http://phenix.int-evry.fr/jct/doc_end_user/current_document.php?id=2196 Yi-Jen Chiu、Yu Han、Lidong Xu、Wenhao Zhang、Hong Jiang、「Cross-channel techniques to improve intra chroma prediction」、ITU-T SG16 WP3およびISO/IEC JTC1/SC29/WG11のジョイントコラボレーティブチームオンビデオコーディング(JCT-VC)、JCTVC-F502、第6回会合、トリノ、イタリア、2011年7月14日〜22日、http://phenix.int-evry.fr/jct/doc_end_user/current_document.php?id=2979
本開示は、線形モデル(LM)予測復号および符号化に関する技法について説明する。カラーフォーマットが4:4:4ではない(すなわち、ルーマ成分およびクロマ成分が異なる解像度を有する)とき、LM予測では、クロマブロックに関する予測的ブロックは、フィルタに基づいて対応するルーマブロックをダウンサンプリングし、以下で説明するアルファパラメータおよびベータパラメータをダウンサンプリングされたルーマブロックに適用することによって、決定される。技法は、ルーマブロックをダウンサンプリングするために適用されるべきフィルタを決定する。たとえば、ルーマブロックをダウンサンプリングするためにすべての場合において適用される1つのフィルタがあるのではなく、ビデオデコーダまたはビデオエンコーダは、フィルタのセットからどのフィルタが適用されるべきかを動的に決定し得る。どのフィルタが適用されるべきかの決定は、たとえば、境界に対するクロマブロックのロケーションなどの、クロマブロックの特性に基づき得る。いくつかの例では、ここで説明する技法は、クロマがルーマブロックから予測され、ルーマブロックのダウンサンプリングが必要とされる、他のコーディング方法にも適用され得る。
一例では、本開示は、ビデオデータを線形モデル(LM)予測復号する例示的な方法であって、復号されているビデオデータのクロマブロックに対応するビデオデータのルーマブロックを決定するステップと、クロマブロックの特性に基づいて、ルーマブロックに適用すべきフィルタをフィルタのセットから決定するステップと、決定されたフィルタに基づいて、ルーマブロックをダウンサンプリングするステップと、ダウンサンプリングされたルーマブロックに基づいて、予測的ブロックを決定するステップと、予測的ブロックおよび残差ブロックに基づいて、クロマブロックを再構成するステップとを備える方法について説明する。
一例では、本開示は、ビデオデータを線形モデル(LM)予測符号化する例示的な方法であって、符号化されているビデオデータのクロマブロックに対応するビデオデータのルーマブロックを決定するステップと、クロマブロックの特性に基づいて、ルーマブロックに適用すべきフィルタをフィルタのセットから決定するステップと、決定されたフィルタに基づいて、ルーマブロックをダウンサンプリングするステップと、ダウンサンプリングされたルーマブロックに基づいて、予測的ブロックを決定するステップと、クロマブロックおよび予測的ブロックに基づいて、残差ブロックを生成するステップとを備える方法について説明する。
一例では、本開示は、ビデオデータを線形モデル(LM)予測復号するための例示的なデバイスであって、ビデオデータを記憶するように構成されたビデオデータメモリと、集積回路を備えるビデオデコーダとを備えるデバイスについて説明する。ビデオデコーダは、復号されているビデオデータのクロマブロックに対応する、ビデオデータメモリに記憶されたビデオデータのルーマブロックを決定し、クロマブロックの特性に基づいて、ルーマブロックに適用すべきフィルタをフィルタのセットから決定し、決定されたフィルタに基づいて、ルーマブロックをダウンサンプリングし、ダウンサンプリングされたルーマブロックに基づいて、予測的ブロックを決定し、予測的ブロックおよび残差ブロックに基づいて、クロマブロックを再構成するように構成される。
一例では、本開示は、ビデオデータを線形モデル(LM)予測符号化するための例示的なデバイスであって、ビデオデータを記憶するように構成されたビデオデータメモリと、集積回路を備えるビデオエンコーダとを備えるデバイスについて説明する。ビデオエンコーダは、符号化されているビデオデータのクロマブロックに対応する、ビデオデータメモリに記憶されたビデオデータのルーマブロックを決定し、クロマブロックの特性に基づいて、ルーマブロックに適用すべきフィルタをフィルタのセットから決定し、決定されたフィルタに基づいて、ルーマブロックをダウンサンプリングし、ダウンサンプリングされたルーマブロックに基づいて、予測的ブロックを決定し、クロマブロックおよび予測的ブロックに基づいて、残差ブロックを生成するように構成される。
一例では、本開示は、ビデオデータを線形モデル(LM)予測復号するための例示的なデバイスであって、復号されているビデオデータのクロマブロックに対応するビデオデータのルーマブロックを決定するための手段と、クロマブロックの特性に基づいて、ルーマブロックに適用すべきフィルタをフィルタのセットから決定するための手段と、決定されたフィルタに基づいて、ルーマブロックをダウンサンプリングするための手段と、ダウンサンプリングされたルーマブロックに基づいて、予測的ブロックを決定するための手段と、予測的ブロックおよび残差ブロックに基づいて、クロマブロックを再構成するための手段とを備えるデバイスについて説明する。
一例では、本開示は、ビデオデータを線形モデル(LM)予測符号化するための例示的なデバイスであって、符号化されているビデオデータのクロマブロックに対応するビデオデータのルーマブロックを決定するための手段と、クロマブロックの特性に基づいて、ルーマブロックに適用すべきフィルタをフィルタのセットから決定するための手段と、決定されたフィルタに基づいて、ルーマブロックをダウンサンプリングするための手段と、ダウンサンプリングされたルーマブロックに基づいて、予測的ブロックを決定するための手段と、クロマブロックおよび予測的ブロックに基づいて、残差ブロックを生成するための手段とを備えるデバイスについて説明する。
一例では、本開示は、実行されると、ビデオデータを線形モデル(LM)予測復号するためのデバイスの1つまたは複数のプロセッサに、復号されているビデオデータのクロマブロックに対応するビデオデータのルーマブロックを決定させ、クロマブロックの特性に基づいて、ルーマブロックに適用すべきフィルタをフィルタのセットから決定させ、決定されたフィルタに基づいて、ルーマブロックをダウンサンプリングさせ、ダウンサンプリングされたルーマブロックに基づいて、予測的ブロックを決定させ、予測的ブロックおよび残差ブロックに基づいて、クロマブロックを再構成させる命令を記憶する例示的なコンピュータ可読記憶媒体について説明する。
一例では、本開示は、実行されると、ビデオデータを線形モデル(LM)予測符号化するためのデバイスの1つまたは複数のプロセッサに、符号化されているビデオデータのクロマブロックに対応するビデオデータのルーマブロックを決定させ、クロマブロックの特性に基づいて、ルーマブロックに適用すべきフィルタをフィルタのセットから決定させ、決定されたフィルタに基づいて、ルーマブロックをダウンサンプリングさせ、ダウンサンプリングされたルーマブロックに基づいて、予測的ブロックを決定させ、クロマブロックおよび予測的ブロックに基づいて、残差ブロックを生成させる命令を記憶する例示的なコンピュータ可読記憶媒体について説明する。
本開示の1つまたは複数の例の詳細が、添付の図面および以下の説明に記載される。他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
本開示で説明する技法を利用し得る例示的なビデオコーディングシステムを示すブロック図である。 本開示で説明する技法を実装し得る例示的なビデオエンコーダを示すブロック図である。 本開示で説明する技法を実装し得る例示的なビデオデコーダを示すブロック図である。 ルーマサンプルおよびクロマサンプルの公称の垂直方向および水平方向の相対ロケーションを示す概念図である。 ダウンサンプリングされた再構成されたルーマブロックをスケーリングするために使用されるスケーリングパラメータが導出される元となる、例示的なロケーションを示す概念図である。 予測的ブロックを生成するためにルーマブロックのサンプルをダウンサンプリングするためのルーマ位置およびクロマ位置の一例を示す概念図である。 予測的ブロックを生成するためにルーマブロックのサンプルをダウンサンプリングするためのルーマ位置およびクロマ位置の別の例を示す概念図である。 ビデオデータを線形モデル(LM)予測符号化する1つの例示的な技法を示すフローチャートである。 ビデオデータを線形モデル(LM)予測復号する1つの例示的な技法を示すフローチャートである。
本開示は、ビデオコーディングおよびビデオデータの圧縮のための技法について説明する。詳細には、本開示は、線形モデル(LM)予測ビデオコーディングモードのための技法について説明する。LM予測モードにおけるビデオコーディングは、ビデオデータのルーマサンプルとクロマサンプルとの間の成分間冗長性を低減する傾向がある。LM予測ビデオコーディングモードにおいて、サンプリングが4:4:4ではないとき、クロマブロックは、スケーリングされ、ダウンサンプリングされ、再構成された、対応するルーマブロックから予測される(すなわち、このスケーリングされ、ダウンサンプリングされ、再構成された、対応するルーマブロックは、クロマブロックを予測するために使用される予測的ブロックを形成する)。
いくつかの例では、再構成された、対応するルーマブロックのダウンサンプリングは、フィルタリングを含む。本開示は、そのようなフィルタリングを実行するための例示的な方法について説明する。本開示で説明する技法は、LM予測モードにおいて使用されるルーマサンプルが異なるタイルに位置する状況にも適用され得る。本開示で説明する技法は、ITU-T H.265高効率ビデオコーディング(HEVC)ビデオコーディング規格の拡張または次世代もしくは将来世代のビデオコーディング規格など、アドバンストビデオコーデックの文脈において使用され得る。
図1は、本開示の技法を利用し得る例示的なビデオコーディングシステム10を示すブロック図である。本明細書で使用する「ビデオコーダ」という用語は、総称的に、ビデオエンコーダとビデオデコーダの両方を指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、総称的に、ビデオ符号化またはビデオ復号を指すことがある。ビデオコーディングシステム10のビデオエンコーダ20およびビデオデコーダ30は、本開示で説明する様々な例による線形モデル(LM)予測ベースのビデオコーディングのための技法を実行するように構成され得るデバイスの例を表す。たとえば、ビデオエンコーダ20およびビデオデコーダ30は、本開示で説明するようにサンプリングが4:4:4ではない(たとえば、クロマがルーマに対してサブサンプリングされる)例などにおいて、対応するルーマブロックのスケーリングされ、ダウンサンプリングされ、再構成されたルーマサンプルを利用するクロマブロックをコーディングするように構成され得る。
図1に示すように、ビデオコーディングシステム10は、ソースデバイス12および宛先デバイス14を含む。ソースデバイス12は、符号化ビデオデータを生成する。したがって、ソースデバイス12は、ビデオ符号化デバイスまたはビデオ符号化装置と呼ばれることがある。宛先デバイス14は、ソースデバイス12によって生成された符号化ビデオデータを復号し得る。したがって、宛先デバイス14は、ビデオ復号デバイスまたはビデオ復号装置と呼ばれることがある。ソースデバイス12および宛先デバイス14は、ビデオコーディングデバイスまたはビデオコーディング装置の例であり得る。
ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノートブック(たとえば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、車載コンピュータなどを含む、広範囲のデバイスを備え得る。
宛先デバイス14は、符号化ビデオデータをソースデバイス12からチャネル16を介して受信し得る。チャネル16は、符号化ビデオデータをソースデバイス12から宛先デバイス14に移動させることが可能な1つまたは複数の媒体またはデバイスを備え得る。一例では、チャネル16は、ソースデバイス12がリアルタイムで符号化ビデオデータを宛先デバイス14に直接送信することを可能にする、1つまたは複数の通信媒体を備え得る。この例では、ソースデバイス12は、ワイヤレス通信プロトコルなどの通信規格に従って符号化ビデオデータを変調し得、変調されたビデオデータを宛先デバイス14に送信し得る。1つまたは複数の通信媒体は、無線周波数(RF)スペクトルまたは1つもしくは複数の物理伝送線路などの、ワイヤレスおよび/またはワイヤードの通信媒体を含み得る。1つまたは複数の通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはグローバルネットワーク(たとえば、インターネット)などの、パケットベースネットワークの一部を形成し得る。1つまたは複数の通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を容易にする他の機器を含み得る。
別の例では、チャネル16は、ソースデバイス12によって生成された符号化ビデオデータを記憶する記憶媒体を含み得る。この例では、宛先デバイス14は、たとえば、ディスクアクセスまたはカードアクセスを介して記憶媒体にアクセスし得る。記憶媒体は、ブルーレイディスク、DVD、CD-ROM、フラッシュメモリ、または符号化ビデオデータを記憶するための他の適切なデジタル記憶媒体などの、ローカルにアクセスされる様々なデータ記憶媒体を含み得る。
さらなる例では、チャネル16は、ソースデバイス12によって生成された符号化ビデオデータを記憶するファイルサーバまたは別の中間記憶デバイスを含み得る。この例では、宛先デバイス14は、ファイルサーバまたは他の中間記憶デバイスにおいて記憶された符号化ビデオデータに、ストリーミングまたはダウンロードを介してアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、符号化ビデオデータを宛先デバイス14に送信することが可能なタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイト用の)ウェブサーバ、ファイル転送プロトコル(FTP)サーバ、ネットワーク接続ストレージ(NAS)デバイス、およびローカルディスクドライブを含む。
宛先デバイス14は、インターネット接続などの標準的なデータ接続を通じて符号化ビデオデータにアクセスし得る。データ接続の例示的なタイプは、ファイルサーバ上に記憶された符号化ビデオデータにアクセスするために適切である、ワイヤレスチャネル(たとえば、Wi-Fi接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せを含み得る。ファイルサーバからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであってもよい。
本開示の技法は、ワイヤレス適用例または設定に限定されない。技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体上に記憶するためのビデオデータの符号化、データ記憶媒体上に記憶されたビデオデータの復号、または他の用途などの様々なマルチメディア用途をサポートするビデオコーディングに適用され得る。いくつかの例では、ビデオコーディングシステム10は、ビデオストリーミング、ビデオ再生、ビデオ放送、および/またはビデオテレフォニーなどの用途をサポートするために、片方向または双方向のビデオ送信をサポートするように構成され得る。
図1に示すビデオコーディングシステム10は一例にすぎず、本開示の技法は、符号化デバイスと復号デバイスとの間の任意のデータ通信を必ずしも含まないビデオコーディング設定(たとえば、ビデオ符号化またはビデオ復号)に適用され得る。いくつかの例では、データは、ローカルメモリからの取出し、ネットワークを介したストリーミングなどが行われる。ビデオ符号化デバイスはデータを符号化してメモリに記憶することができ、かつ/または、ビデオ復号デバイスはメモリからデータを取り出して復号することができる。多くの例では、互いに通信しないが、単にデータをメモリへと符号化し、かつ/またはメモリからデータを取り出して復号するデバイスによって、符号化および復号が実行される。
図1の例では、ソースデバイス12は、ビデオソース18、ビデオエンコーダ20、および出力インターフェース22を含む。いくつかの例では、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含み得る。ビデオソース18は、ビデオキャプチャデバイス(たとえば、ビデオカメラ)、以前にキャプチャされたビデオデータを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェース、および/もしくはビデオデータを生成するためのコンピュータグラフィックスシステム、またはビデオデータのそのようなソースの組合せを含み得る。
ビデオエンコーダ20は、ビデオソース18からのビデオデータを符号化し得る。いくつかの例では、ソースデバイス12は、符号化ビデオデータを宛先デバイス14に出力インターフェース22を介して直接送信する。他の例では、復号および/または再生のために宛先デバイス14が後でアクセスするために、符号化ビデオデータはまた、記憶媒体またはファイルサーバに記憶され得る。
図1の例では、宛先デバイス14は、入力インターフェース28、ビデオデコーダ30、およびディスプレイデバイス32を含む。いくつかの例では、入力インターフェース28は、受信機および/またはモデムを含む。入力インターフェース28は、チャネル16を介して符号化ビデオデータを受信し得る。ディスプレイデバイス32は、宛先デバイス14と一体化されてもよく、または宛先デバイス14の外部にあってもよい。一般に、ディスプレイデバイス32は、復号ビデオデータを表示する。ディスプレイデバイス32は、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなどの様々なディスプレイデバイスを備え得る。
ビデオエンコーダ20およびビデオデコーダ30は各々、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、個別論理、ハードウェア、またはそれらの任意の組合せなどの、様々な適切な回路のいずれかとして実装され得る。技法が部分的にソフトウェアにおいて実装される場合、本開示の技法を実行するために、デバイスは、ソフトウェアのための命令を適切な非一時的コンピュータ可読記憶媒体に記憶し得、1つまたは複数のプロセッサを使用するハードウェアにおいて命令を実行し得る。前述のもののいずれか(ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組合せなどを含む)は、1つまたは複数のプロセッサであると見なされ得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれてもよく、それらのいずれかが、それぞれのデバイスの中で複合エンコーダ/デコーダ(コーデック)の一部として一体化されてもよい。
本開示は、概して、ある情報をビデオデコーダ30などの別のデバイスに「シグナリングする」または「送信する」ビデオエンコーダ20に言及することがある。「シグナリングする」または「送信する」という用語は、概して、シンタックス要素、および/または圧縮されたビデオデータを復号するために使用される他のデータの通信を指すことがある。そのような通信は、リアルタイムで、またはほぼリアルタイムで発生し得る。代替的に、そのような通信は、符号化の時点において符号化ビットストリームの中のシンタックス要素をコンピュータ可読記憶媒体に記憶するときに発生し得るなど、ある時間の範囲にわたって発生することがあり、シンタックス要素は、次いで、この媒体に記憶された後の任意の時点において復号デバイスによって取り出され得る。
いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、ビデオ圧縮規格に従って動作する。ビデオコーディング規格の例は、ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262またはISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual、および、そのスケーラブルビデオコーディング(SVC)拡張とマルチビュービデオコーディング(MVC)拡張とを含むITU-T H.264(ISO/IEC MPEG-4 AVCとしても知られる)を含む。
加えて、新しいビデオコーディング規格、すなわち、高効率ビデオコーディング(HEVC)が、ITU-Tビデオコーディングエキスパートグループ(VCEG)およびISO/IECモーションピクチャエキスパートグループ(MPEG)のジョイントコラボレーションチームオンビデオコーディング(JCT-VC)によって最近開発された。以下でHEVC WDと呼ばれる最新のHEVCドラフト仕様は、「High Efficiency Video Coding (HEVC) Defect Report」、Wangら、ITU-T SG 16 WP 3およびISO/IEC JTC 1/SC 29/WG 11のジョイントコラボレーティブチームオンビデオコーディング(JCT-VC)、第14回会合、ウイーン、オーストリア、2013年7月25日〜8月2日であり、http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zipから入手可能である。HEVC、ならびにフォーマット範囲(RExt)拡張、スケーラビリティ(SHVC)拡張およびマルチビュー(MV-HEVC)拡張を含むその拡張の仕様は、「Draft high efficiency video coding (HEVC) version 2, combined format range extensions (RExt), scalability (SHVC), and multi-view (MV-HEVC) extentions」、Boyceら、ITU-T SG 16 WP 3およびISO/IEC JTC 1/SC 29/WG 11のジョイントコラボレーティブチームオンビデオコーディング(JCT-VC)、第14回会合、ウイーン、オーストリア、2014年6月30日〜7月9日であり、http://phenix.int-evry.fr/jct/doc_end_user/documents/18_Sapporo/wg11/JCTVC-R1013-v6.zipから入手可能である。
ビデオコーディングは、色空間および色フォーマットに基づいて実行され得る。たとえば、カラービデオは、色を効率的に表すために様々な色空間が使用されるマルチメディアシステムにおいて、重要な役割を果たしている。色空間は、複数の成分を使用して、数値で色を指定する。普及している色空間はRGB色空間であり、RGB色空間では、色は三原色成分値(すなわち、赤色、緑色、および青色)の組合せとして表される。カラービデオ圧縮の場合、A. FordおよびA. Roberts、「Colour space conversions」、ウェストミンスター大学、ロンドン、Tech. Rep.、1998年8月に記載されているように、YCbCr色空間が広く使用されている。
YCbCrは、線形変換および異なる成分間の冗長性によってRGB色空間から容易に変換され得、すなわち、YCbCr色空間において成分間冗長性が著しく低減される。Y信号がルミナンス情報を伝達するので、YCbCrの1つの利点は白黒TVとの後方互換性である。加えて、クロミナンス帯域幅は、RGBにおけるサブサンプリングよりも主観的影響が著しく少なくなる4:2:0クロマサンプリングフォーマットにおいてCb成分およびCr成分をサブサンプリングすることによって低減され得る。これらの利点により、YCbCrはビデオ圧縮において主要な色空間になっている。YCoCgなど、ビデオ圧縮において使用される他の色空間もある。本開示では、使用される実際の色空間にかかわらず、Y、Cb、Crは、ビデオ圧縮方式における3つの色成分を表すために使用される。
4:2:0サンプリングでは、2つのクロマアレイの各々は、ルーマアレイの半分の高さと半分の幅とを有する。ピクチャの中のルーマサンプルおよびクロマサンプルの公称の垂直方向および水平方向の相対ロケーションが図4に示されている。
HEVCおよび他のビデオコーディング規格では、ビデオシーケンスは通常、一連のピクチャを含む。ピクチャは、「フレーム」と呼ばれることもある。ピクチャは、SL、SCbおよびSCrと示される3つのサンプルアレイを含み得る。SLは、ルーマサンプルの2次元アレイ(すなわち、ブロック)である。SCbは、Cbクロミナンスサンプルの2次元アレイである。SCrは、Crクロミナンスサンプルの2次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」サンプルと呼ばれることもある。他の事例では、ピクチャはモノクロームであることがあり、ルーマサンプルのアレイだけを含むことがある。
ピクチャの符号化表現を生成するために、ビデオエンコーダ20は、コーディングツリーユニット(CTU)のセットを生成し得る。CTUの各々は、ルーマサンプルのコーディングツリーブロック、クロマサンプルの2つの対応するコーディングツリーブロック、およびコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造であり得る。コーディングツリーブロックは、サンプルのN×Nブロックであり得る。CTUは、「ツリーブロック」または「最大コーディングユニット」(LCU)と呼ばれることもある。HEVCのCTUは、H.264/AVCなどの他の規格のマクロブロックと概ね類似していることがある。しかしながら、CTUは必ずしも特定のサイズに限定されず、1つまたは複数のコーディングユニット(CU)を含み得る。スライスは、ラスタ走査において連続的に順序付けられた整数個のCTUを含み得る。
コード化CTUを生成するために、ビデオエンコーダ20は、CTUのコーディングツリーブロックに対して4分木区分を再帰的に実行して、コーディングツリーブロックをコーディングブロックに分割することができる。コーディングブロックは、サンプルのN×Nブロックである。CUは、ルーマサンプルアレイ、CbサンプルアレイおよびCrサンプルアレイを有するピクチャの、ルーマサンプルのコーディングブロックおよびクロマサンプルの2つの対応するコーディングブロック、ならびにそれらのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造であり得る。ビデオエンコーダ20は、CUのコーディングブロックを1つまたは複数の予測ブロックに区分し得る。予測ブロックは、同じ予測が適用されるサンプルの長方形(すなわち、正方形または非正方形)ブロックであり得る。CUの予測ユニット(PU)は、ピクチャの、ルーマサンプルの予測ブロック、クロマサンプルの2つの対応する予測ブロック、および予測ブロックサンプルを予測するために使用されるシンタックス構造であり得る。ビデオエンコーダ20は、CUの各PUのルーマ予測ブロック、Cb予測ブロックおよびCr予測ブロックに対して、予測的ルーマブロック、予測的Cbブロックおよび予測的Crブロックを生成し得る。
ビデオエンコーダ20は、PUに関する予測的ブロックを生成する(たとえば、決定する)ために、いくつかの例として、イントラ予測、インター予測、または線形モデル(LM)予測を使用し得る。ビデオエンコーダ20がPUの予測的ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ20は、PUに関連付けられたピクチャの復号サンプルに基づいて、PUの予測的ブロックを生成し得る。
ビデオエンコーダ20がPUの予測的ブロックを生成する(たとえば、決定する)ためにインター予測を使用する場合、ビデオエンコーダ20は、PUに関連付けられたピクチャ以外の1つまたは複数のピクチャの復号サンプルに基づいて、PUの予測的ブロックを生成し得る。ビデオエンコーダ20は、PUの予測的ブロックを生成するために単予測または双予測を使用し得る。ビデオエンコーダ20がPUの予測的ブロックを生成するために単予測を使用するとき、PUは単一の動きベクトル(MV)を有し得る。ビデオエンコーダ20がPUに関する予測的ブロックを生成するために双予測を使用するとき、PUは2つのMVを有し得る。
ビデオエンコーダ20が、CUの1つまたは複数のPUに対して予測的ルーマブロック、予測Cbブロックおよび予測Crブロックを生成した後、ビデオエンコーダ20は、CUに関するルーマ残差ブロックを生成し得る。CUのルーマ残差ブロックの中の各サンプルは、CUの予測的ルーマブロックのうちの1つの中のルーマサンプルとCUの元のルーマコーディングブロックの中の対応するサンプルとの間の差分を示す。加えて、ビデオエンコーダ20は、CUに関するCb残差ブロックを生成し得る。CUのCb残差ブロックの中の各サンプルは、CUの予測的Cbブロックのうちの1つの中のCbサンプルとCUの元のCbコーディングブロックの中の対応するサンプルとの間の差分を示し得る。ビデオエンコーダ20はまた、CUに関するCr残差ブロックを生成し得る。CUのCr残差ブロックの中の各サンプルは、CUの予測的Crブロックのうちの1つの中のCrサンプルとCUの元のCrコーディングブロックの中の対応するサンプルとの間の差分を示し得る。
いくつかの例では、クロマブロックの場合、イントラ予測またはインター予測のための予測的ブロックを決定するのではなく、ビデオエンコーダ20は、再構成された対応するルーマブロックに基づいて、LM予測モードのための予測的ブロックを決定し得る。ビデオデコーダ30は同様に、再構成された対応するルーマブロックに基づいて、予測的ブロックを決定し得る。対応するルーマブロックは、現在のクロマブロックが決定された元となったユニット(たとえば、コーディングユニットまたは予測ユニット)の一部であったルーマブロックを指す。ビデオエンコーダ20は、クロマブロックと、再構成された対応するルーマブロックから生成されたこの予測的ブロックとの間の残差を決定し得る。
さらに、ビデオエンコーダ20は、4分木区分を使用して、CUのルーマ残差ブロック、Cb残差ブロックおよびCr残差ブロックを1つまたは複数のルーマ変換ブロック、Cb変換ブロックおよびCr変換ブロックに分解し得る。変換ブロックは、同じ変換が適用されるサンプルの長方形ブロックであり得る。CUの変換ユニット(TU)は、ルーマサンプルの変換ブロック、クロマサンプルの2つの対応する変換ブロック、および変換ブロックサンプルを変換するために使用されるシンタックス構造であり得る。したがって、CUの各TUは、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックに関連付けられ得る。TUに関連付けられたルーマ変換ブロックは、CUのルーマ残差ブロックのサブブロックであり得る。Cb変換ブロックは、CUのCb残差ブロックのサブブロックであり得る。Cr変換ブロックは、CUのCr残差ブロックのサブブロックであり得る。
ビデオエンコーダ20は、TUに関するルーマ係数ブロックを生成するために、1つまたは複数の変換をTUのルーマ変換ブロックに適用し得る。係数ブロックは、変換係数の2次元アレイであり得る。変換係数は、スカラー量であり得る。ビデオエンコーダ20は、TUに関するCb係数ブロックを生成するために、1つまたは複数の変換をTUのCb変換ブロックに適用し得る。ビデオエンコーダ20は、TUに関するCr係数ブロックを生成するために、1つまたは複数の変換をTUのCr変換ブロックに適用し得る。
係数ブロック(たとえば、ルーマ係数ブロック、Cb係数ブロックまたはCr係数ブロック)を生成した後、ビデオエンコーダ20は、係数ブロックを量子化し得る。量子化は、一般に、変換係数が量子化されて、場合によっては、変換係数を表すために使用されるデータの量を低減し、さらなる圧縮をもたらすプロセスを指す。ビデオエンコーダ20が係数ブロックを量子化した後、ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素をエントロピー符号化し得る。たとえば、ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング(CABAC)を実行し得る。ビデオエンコーダ20は、エントロピー符号化されたシンタックス要素をビットストリームの中に出力し得る。
ビデオエンコーダ20は、エントロピー符号化されたシンタックス要素を含むビットストリームを出力し得る。ビットストリームは、ビデオデータの符号化表現を含み得る。たとえば、ビットストリームは、コード化ピクチャの表現および関連するデータを形成するビットのシーケンスを含み得る。ビットストリームは、ネットワークアブストラクションレイヤ(NAL)ユニットのシーケンスを備え得る。NALユニットの各々は、NALユニットヘッダを含み、ローバイトシーケンスペイロード(RBSP)をカプセル化する。NALユニットヘッダは、NALユニットタイプコードを示すシンタックス要素を含み得る。NALユニットのNALユニットヘッダによって指定されるNALユニットタイプコードは、NALユニットのタイプを示す。RBSPは、NALユニット内にカプセル化された整数個のバイトを含むシンタックス構造であり得る。いくつかの事例では、RBSPは0個のビットを含む。
異なるタイプのNALユニットは、異なるタイプのRBSPをカプセル化し得る。たとえば、第1のタイプのNALユニットは、シーケンスパラメータセット(SPS)のためのRBSPをカプセル化することができ、第2のタイプのNALユニットは、ピクチャパラメータセット(PPS)のためのRBSPをカプセル化することができ、第3のタイプのNALユニットは、コード化スライスのためのRBSPをカプセル化することができ、第4のタイプのNALユニットは、SEIのためのRBSPをカプセル化することができ、以下同様である。(パラメータセットおよびSEIメッセージのためのRBSPではなく)ビデオコーディングデータのためのRBSPをカプセル化するNALユニットは、ビデオコーディングレイヤ(VCL)NALユニットと呼ばれることがある。
ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信し得る。加えて、ビデオデコーダ30は、シンタックス要素をビットストリームから復号するために、ビットストリームをパースし得る。ビデオデコーダ30は、ビットストリームから復号されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを再構成し得る。ビデオデータを再構成するプロセスは、一般に、ビデオエンコーダ20によって実行されるプロセスの逆であり得る。たとえば、ビデオデコーダ30は、現在のCUのPUに関する予測的ブロックを決定するために、PUのMVを使用し得る。別の例として、LM予測モードの場合、ビデオデコーダ30は、対応するルーマブロックの再構成されたサンプルに基づいて、クロマブロックに関する予測的ブロックを決定し得る。加えて、ビデオデコーダ30は、現在のCUのTUに関連付けられた変換係数ブロックを逆量子化し得る。ビデオデコーダ30は、現在のCUのTUに関連付けられた変換ブロックを再構成するために、変換係数ブロックに対して逆変換を実行し得る。
ビデオデコーダ30は、現在のCUのPUに関する予測的ブロックのサンプルを、現在のCUのTUの変換ブロックの対応するサンプルに加算することによって、現在のCUのコーディングブロックを再構成し得る。ピクチャのCUごとにコーディングブロックを再構成することによって、ビデオデコーダ30は、ピクチャを再構成し得る。
いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、線形モデル(LM)ベースのコーディングを実行するように構成され得る。以下は、LMベースの予測コーディングの説明である。たとえば、成分間冗長性はYCbCr色空間において著しく低減されるが、3つの色成分間の相関は依然として存在する。相関をさらに低減することによってビデオコーディング性能を改善するために、様々な方法が研究されている。
4:2:0クロマビデオコーディングでは、線形モデル(LM)予測モードと称される方法が、HEVC規格の開発中によく研究された。http://phenix.int-evry.fr/jct/doc_end_user/current_document.php?id=2196から入手可能であり、以下でJCTVC-E266と呼ばれる、J. Chen、V. Seregin、W.-J. Han、J.-S. Kim、B.-M. Joen、「Ce6.a.4: Chroma intra prediction by reconstructed luma samples」、ITU-T SG16 WP3およびISO/IEC JTC1/SC29/WG11のジョイントコラボレーティブチームオンビデオコーディング(JCT-VC)、JCTVC-E266、第5回会合、ジュネーブ、2011年3月16日〜23日を参照されたい。
LM予測モードでは、クロマサンプルは、次のように線形モデルを使用することによって、同じブロックの再構成されたルーマサンプルに基づいて予測される。
predc(i,j)=α*recL(i,j)+β (1)
式中、predc(i,j)は、ブロックの中のクロマサンプルの予測を表し、recL(i,j)は、同じブロックのダウンサンプリングされた再構成されたルーマサンプルを表す。パラメータαおよびβは、現在のブロックの周囲の因果的な再構成されたサンプルから導出される。クロマブロックサイズがN×Nによって示される場合、iとjの両方は[0, N]の範囲内にある。
式(1)におけるパラメータαおよびβは、現在のブロックの周囲の隣接する再構成されたルーマサンプルとクロマサンプルとの間の回帰誤差を最小化することによって導出される。
また、パラメータαおよびβは、次のように解かれる。
式中、xiは、ダウンサンプリングされた再構成されたルーマ参照サンプルであり、yiは、再構成されたクロマ参照サンプルであり、Iは、参照サンプルの量である。ターゲットN×Nクロマブロックの場合、左の因果的なサンプルと上の因果的なサンプルの両方が利用可能であるとき、関与するサンプル総数Iは2Nに等しく、左の因果的なサンプルまたは上の因果的なサンプルのみが利用可能であるとき、関与するサンプル総数IはNに等しい。
図5は、ダウンサンプリングされた再構成されたルーマブロックのサンプルをスケーリングするために使用されるスケーリングパラメータが導出される元となる、例示的なロケーションを示す概念図である。たとえば、図5は4:2:0サンプリングの一例を示し、スケーリングパラメータはαおよびβである。
一般に、LM予測モードが適用されるとき、ビデオエンコーダ20およびビデオデコーダ30は、以下のステップを呼び出し得る。ビデオエンコーダ20およびビデオデコーダ30は、隣接ルーマサンプルをダウンサンプリングし得る。ビデオエンコーダ20およびビデオデコーダ30は、線形パラメータ(すなわち、αおよびβ)(スケーリングパラメータとも呼ばれる)を導出し得る。ビデオエンコーダ20およびビデオデコーダ30は、現在のルーマブロックをダウンサンプリングし、ダウンサンプリングされたルーマブロックおよび線形パラメータ(すなわち、スケーリングパラメータ)から予測(たとえば、予測的ブロック)を導出し得る。
ダウンサンプリングするための様々な方法があり得る。以下では、ダウンサンプリングが実行され得る例示的な方法について説明する。
JCTVC-E266では、上記で説明したように、LM予測モードを実行するとき、ダウンサンプリングされた現在のルーマブロックおよびダウンサンプリングされた隣接ルーマブロックが必要とされる。ダウンサンプリングされた現在のルーマブロックは、クロマコーディングに関する予測ブロックを導出するために使用されるが、ダウンサンプリングされた隣接ルーマブロックは、パラメータ(すなわち、αおよびβ)の導出に使用される。
クロマ成分の典型的なサンプリング比はルーマ成分のサンプリング比の半分であり、4:2:0サンプリングでは垂直方向において0.5サンプル位相差を有するので、現在のブロックの再構成されたルーマは、クロマ信号のサイズおよび位相を一致させるために、次のように垂直方向においてダウンサンプリングされ、水平方向においてサブサンプリングされる。
recL(i, j)=(Re cLOrig[2i, 2j]+Re cLOrig[2i, 2j+ 1])>>1 (5)
ここにおいて、RecLOrig[]は、元の再構成されたルーマサンプルを示す。
図6は、予測的ブロックを生成するためにルーマブロックのサンプルをダウンサンプリングするためのルーマ位置およびクロマ位置の一例を示す概念図である。図6に示すように、黒塗り三角形によって表されるクロマサンプルは、[1, 1]フィルタを適用することによって、2つの黒塗り円によって表される2つのルーマサンプルから予測される。[1, 1]フィルタは、2タップフィルタの一例である。言い換えれば、再構成されたルーマブロックをダウンサンプリングするために、式(5)は、一方のタップであるRe cLOrig[2i, 2j]および他方のタップであるRe cLOrig[2i, 2j+1]によって表されるように、ビルトイン[1, 1]2タップフィルタを含む。フィルタのタップは、ダウンサンプリングに使用される入力サンプルの値を表し、式(5)では、再構成されたルーマブロックからの2つの値は、ダウンサンプリングされたルーマブロックを生成するために合計され、右シフトされる。したがって、一例として、ビデオエンコーダ20またはビデオデコーダ30は、ダウンサンプリングされたルーマブロックを決定するために、式(5)の動作を実行し得る。
隣接ルーマブロックのダウンサンプリングの場合、隣接サンプルが現在のルーマブロックの上にあるとき、ダウンサンプリングプロセスは、
recL(i, -1)=Re cLOrig[2i, -1] (6)
として定義される。
隣接サンプルが現在のルーマブロックの左にあるとき、ダウンサンプリングプロセスは、
recL(-1, j)=(Re cLOrig[-2, 2j]+Re cLOrig[-2, 2j+1])>>1 (7)
として定義される。
2タップフィルタ、すなわち、[1, 1]は、図6に示す例において使用されているものと同じであり得る。したがって、一例として、ビデオエンコーダ20またはビデオデコーダ30は、ルーマブロックに隣接するダウンサンプリングされた隣接ルーマブロックを決定するために、式(6)および式(7)の動作を実行し得る。
他のダウンサンプリング技法も提案されている。http://phenix.int-evry.fr/jct/doc_end_user/current_document.php?id=2979から入手可能であり、JCTVC-F502と呼ばれる、Yi-Jen Chiu、Yu Han、Lidong Xu、Wenhao Zhang、Hong Jiang、「Cross-channel techniques to improve intra chroma prediction」、ITU-T SG16 WP3およびISO/IEC JTC1/SC29/WG11のジョイントコラボレーティブチームオンビデオコーディング(JCT-VC)、JCTVC-F502、第6回会合、トリノ、イタリア、2011年7月14日〜22日では、2タップフィルタを使用する代わりに、2次元6タップフィルタリングが現在のルーマブロックと隣接ルーマブロックの両方に適用される。2次元フィルタ係数セットは、
である。
ダウンサンプリングされたルーマサンプルは、式(9)によって導出される。
recL(i,j)=(Re cLOrig[2i, 2j]*2+Re cLOrig[2i, 2j+1]+Re cLOrig[2i, 2j-1]
+Re cLOrig[2i+1, 2j]*2+Re cLOrig[2i+1, 2j+1]+Re cLOrig[2i+1, 2j-1])>>3
たとえば、ビデオエンコーダ20またはビデオデコーダ30は、ダウンサンプリングされたルーマブロックを決定するために、式(9)の動作を実行し得る。式(9)は、6つの入力サンプルとしてRe cLOrig[2i, 2j]、Re cLOrig[2i, 2j+1]、Re cLOrig[2i, 2j-1]、Re cLOrig[2i+1, 2j]、Re cLOrig[2i+1, 2j+1]、およびRe cLOrig[2i+1, 2j-1]を有する[1, 2, 1; 1, 2, 1]によって表されるように、ビルトイン6タップフィルタを含む。フィルタのタップは、ダウンサンプリングに使用される入力サンプルの数を表し、式(9)では、ダウンサンプリングされたルーマブロックを生成するために、再構成されたルーマブロックからの6つの値が使用される。
図7は、予測的ブロックを生成するためにルーマブロックのサンプルをダウンサンプリングするためのルーマ位置およびクロマ位置の別の例を示す概念図である。図7に示すように、黒塗り三角形によって表されるクロマサンプルは、6タップフィルタを適用することによって、6つの黒塗り円によって表される6つのルーマサンプルから予測される。
式(1)において定義されているように、1つのクロマサンプルの予測子は線形関数を使用して導出されるので、6タップフィルタが適用されるとき、1つのクロマサンプルの予測子は6つの隣接ルーマサンプルに依拠することがわかる。式(1)と式(9)を組み合わせると、結果は以下の式(10)である。
predC(i,j)=α・(Re cLOrig[2i, 2j]*2+Re cLOrig[2i, 2j+1]+Re cLOrig[2i, 2j-1]
+Re cLOrig[2i+1, 2j]*2+Re cLOrig[2i+1, 2j+1]+Re cLOrig[2i+1, 2j-1]>>3)
以下の本文では、ダウンサンプリングされたサンプルrecL(i,j)は、(i, j)に位置するクロマサンプルに関する対応するダウンサンプリングされたルーマサンプルと称される。たとえば、4:2:0サンプリングにより、2N×2NのルーマブロックはN×Nのクロマブロックに対応する。ダウンサンプリングすると、2N×2NのルーマブロックはN×Nのダウンサンプリングされたルーマブロックになる。このN×NのダウンサンプリングされたルーマブロックはrecL(i,j)と呼ばれ、N×Nのクロマブロックに対応する。
さらに、4:2:0サンプリングに関して上記の例について説明したが、本開示で説明する技法はそのように限定されない。たとえば、本開示で説明する技法は、4:2:2サンプリングにも適用可能であり得る。したがって、4:2:0に関する例は、理解を助ける方法として提供されるにすぎない。
さらに、いくつかの例では、本開示で説明する技法は、4:4:4サンプリングにも適用可能であり得る。たとえば、4:4:4サンプリングでは、クロマブロックはルーマブロックに対してサブサンプリングされない。しかしながら、そのような例においても、クロマブロックに関する予測的ブロックを決定することが可能であり得る。たとえば、ルーマブロックはフィルタリングされ得、フィルタリングされたブロックは、クロマブロックに関する予測的ブロックとして使用され得る。これらの例では、ルーマブロックのダウンサンプリングは必要とされないことがある。より詳細に説明するように、例示的な技法は、クロマブロックのロケーションに基づいてルーマブロックのサンプルに適用されるフィルタの選択について説明する。ルーマブロックのサンプルに適用されるフィルタを選択するための技法は、4:4:4サンプリングのためになど、LM予測のためにダウンサンプリングが必要とされない例に拡張され得る。そのような例では、4:4:4サンプリングが保持されるように、フィルタはいかなるダウンサンプリングも含まないことがある。したがって、4:2:0サンプリングについての説明は一例であり、技法は4:4:4サンプリングにも適用可能である。
さらに、HEVCでは、ピクチャをタイルと呼ばれる矩形領域に区分するオプションが指定されている。タイルの主な目的は、誤り耐性を与えることではなく、並列処理の能力を高めることである。タイルは、何らかの共有ヘッダ情報で符号化された、ピクチャの独立して復号可能な領域である。加えて、タイルは、ビデオピクチャのローカル領域への空間ランダムアクセスの目的で使用され得る。ピクチャの典型的なタイル構成は、各タイルの中のほぼ等しい数のCTUを用いて、ピクチャを矩形領域にセグメント化することからなる。タイルは、より粗いレベルの粒度(ピクチャ/サブピクチャ)で並列性を実現し、その使用には、スレッドの精巧な同期は不要である。
LM予測モードのための技法には、いくつかの課題/問題が存在することがある。たとえば、LM予測モードにおいて呼び出されるダウンサンプリングプロセスは、コーディング性能の改善のために重要である。しかしながら、2タップフィルタおよび6タップフィルタなどの固定フィルタは、コーディング性能を制限する。1つのピクチャ内の異なるシーケンスまたは領域は、異なる特性を有することがあり、すべてのピクチャに適用される同じフィルタは、準最適であることがある。LM予測モードにおいて使用される再構成されたルーマサンプルが異なるタイルに位置するとき、この場合をどのように処理するかは不明である。
上述の問題を解決するために、本開示は以下の技法について説明する。技法は個別に適用されることがあり、または技法の任意の組合せが適用されることがある。一般に、ビデオエンコーダ20およびビデオデコーダ30は、線形モデル(LM)予測モードにおけるクロマブロックの符号化または復号の一部として、これらの例示的な技法を実行し得る。簡単にするために、ビデオコーダに関して技法について説明し、ビデオコーダの例は、ビデオエンコーダ20およびビデオデコーダ30を含む。
たとえば、ルーマブロックをダウンサンプリングするために2タップフィルタまたは6タップフィルタのみを使用することに制限されるのではなく、ビデオコーダ(たとえば、ビデオエンコーダ20またはビデオデコーダ30)は、ルーマブロックをダウンサンプリングするために使用されるフィルタをフィルタのセットから決定し得る。一例として、ビデオコーダがダウンサンプリングするために使用することができる、Xの数の異なるフィルタがあり得る。たとえば、1タップフィルタ、2タップフィルタ、3タップフィルタなどがあり得る。さらに、フィルタごとに、特定のタップは異なり得る(たとえば、第1の2タップフィルタに使用されるルーマサンプルは、第2の2タップフィルタに使用されるルーマサンプルとは異なる)。本開示で説明する例のうちのいくつかでは、フィルタのセットは2つのフィルタを含むが、ルーマブロックをダウンサンプリングするためにどのフィルタを適用すべきかをビデオコーダが決定する元となる3つ以上のフィルタが可能である。
ビデオコーダは、ビデオコーダが適用すべきフィルタを決定する様々な基準を使用し得る。一例として、ビデオコーダは、クロマブロックのロケーションに基づいて、どのフィルタを適用すべきかをフィルタのセットから決定する。クロマブロックがピクチャ、CU、PU、またはTUの左境界に接する(たとえば、ピクチャ、CU、PU、またはTUの左境界がクロマブロックエッジと同じである)場合、ビデオコーダは、左境界上にあるクロマブロックのクロマサンプルに対応するルーマブロックのルーマサンプルをダウンサンプリングするために、第1のフィルタを使用し得る。左境界上にあるクロマブロックのサンプルは、直接境界上にあるサンプルを含む、左境界に最も近いクロマブロックのサンプルを指す。第1のフィルタは、境界に最も近いN個のサンプル(たとえば、境界に最も近いサンプル、そのサンプルの隣のサンプル、およびN個のそのようなサンプル)に適用され得る。
場合によっては、ビデオコーダは、左境界に隣接するクロマサンプルに対応するサンプルだけではなく、ルーマブロックのすべてのルーマサンプルに対して第1のフィルタを適用し得るが、本開示で説明する技法はそのように限定されない。すべての他の場合、ビデオコーダは、ルーマブロックをダウンサンプリングするために第2の異なるフィルタを使用し得る。
たとえば、4:2:0サンプリングでは、4つのルーマサンプルは1つのクロマサンプルに対応する。したがって、ビデオコーダは、どのクロマサンプルがどのルーマサンプルに対応するかを決定し得る。より大きいタップを有するフィルタが使用されるとき、1つのクロマサンプルは、5つ以上のルーマサンプルに対応し得る。左境界上のクロマサンプルに対応するルーマサンプル(いくつかのサンプルにすぐ隣接するまたはそれらのサンプル内にある)の場合、ビデオコーダは、ルーマブロックをダウンサンプリングするために第1のフィルタを対応するルーマサンプルに適用し得、左境界上にないクロマサンプルに対応するルーマサンプル(いくつかのサンプルにすぐ隣接しないまたはそれらのサンプル内にない)の場合、ビデオコーダは、ルーマブロックをダウンサンプリングするために第2のフィルタを対応するルーマサンプルに適用し得る。
いくつかの例では、第1のフィルタは、第2のフィルタよりも少数のタップ(たとえば、フィルタが及ぶサンプルの数)を含み得る。一例として、第1のフィルタは2タップフィルタであり、第2のフィルタは6タップフィルタである。この例では、ビデオコーダは、クロマブロックの対応するクロマサンプルが左境界上にある場合、ルーマブロックのダウンサンプリングされたルーマサンプルを決定するために式(5)の動作を実行し得、クロマブロックの対応するクロマサンプルが左境界上にない場合、ルーマブロックのダウンサンプリングされたルーマサンプルを決定するために式(9)の動作を実行し得る。したがって、クロマサンプルの対応するダウンサンプリングされたルーマサンプルの導出プロセスの間、ビデオコーダは、左ピクチャ境界またはコーディングユニット(CU)、予測ユニット(PU)、もしくは変換ユニット(TU)の左境界にないクロマサンプルに対応するルーマブロックの他のサンプルに適用されるフィルタと比較して、異なるフィルタを、左ピクチャ境界、またはCU/PU/TUの左境界に位置するクロマブロックのクロマサンプルに対応するルーマブロックのルーマサンプルに適用し得る。左境界にあるクロマサンプルは、左境界にすぐ隣接する、または左境界からの一定数のサンプル内にある、クロマサンプルを指す。
異なるフィルタを使用することは、ビデオコーダが利用可能なサンプル値を適切に使用することを可能にする。たとえば、ピクチャ、CU、PU、またはTUの左境界にあるクロマサンプルに対応するルーマサンプルに対して6タップフィルタを使用することは、ビデオコーダがダウンサンプリングのためのルーマブロックの一部ではないルーマサンプル値を使用することを必要とすることになる場合があり、ルーマサンプルの欠如に対処するためにビデオコーダが何らかの追加の処理を実行しなければならなくなる(たとえば、ルーマブロックの一部ではないサンプルに関する値を生成するために、ルーマサンプル値をパディングする)場合がある。しかしながら、左境界において2タップフィルタを使用することは、ビデオコーダがダウンサンプリングのためのルーマブロックの一部ではないルーマサンプル値を使用することを必要としない場合がある。したがって、2タップフィルタおよび6タップフィルタについて説明したが、ルーマブロックの一部ではないルーマサンプルを必要としなければならないことを回避すること(たとえば、左境界上のルーマサンプルをパディングしなければならないことを回避すること)を考慮すると、ダウンサンプリングのための他のサイズのフィルタが可能であり得る。
一例として、クロマサンプルの対応するダウンサンプリングされたルーマサンプルの導出プロセスの間、ビデオコーダは、左ピクチャ境界に位置していないクロマサンプルに対応する他のルーマサンプルに適用されるフィルタと比較して、異なるフィルタを左ピクチャ境界に位置するクロマサンプルに対応するルーマサンプルに適用する。一例では、左ピクチャ境界にあるクロマサンプルの対応するダウンサンプリングされたルーマサンプルを導出するためのフィルタの長さ(たとえば、タップ)(すなわち、フィルタが及ぶサンプルの数)は、左ピクチャ境界にないクロマサンプルの対応するダウンサンプリングされたルーマサンプルを導出するためのフィルタの長さよりも小さい(たとえば、左境界の場合は2タップ、すべての他の場合は6タップ)。
一例として、クロマサンプルの対応するダウンサンプリングされたルーマサンプルの導出プロセスの間、ビデオコーダは、現在のCU内の他のルーマサンプルに適用されるフィルタと比較して、異なるフィルタを左CU境界に位置するクロマサンプルのルーマサンプルに適用する。一例では、左CU境界にあるクロマサンプルの対応するダウンサンプリングされたルーマサンプルを導出するためのフィルタの長さ(たとえば、タップ)(すなわち、フィルタが及ぶサンプルの数)は、左CU境界にないクロマサンプルの対応するダウンサンプリングされたルーマサンプルを導出するためのフィルタの長さよりも小さい(たとえば、左境界の場合は2タップ、すべての他の場合は6タップ)。
一例として、クロマサンプルの対応するダウンサンプリングされたルーマサンプルの導出プロセスの間、ビデオコーダは、現在のPU内の他のサンプルに適用されるフィルタと比較して、異なるフィルタを左PU境界に位置するクロマサンプルに適用する。一例では、左PU境界にあるクロマサンプルの対応するダウンサンプリングされたルーマサンプルを導出するためのフィルタの長さ(たとえば、タップ)(すなわち、フィルタが及ぶサンプルの数)は、左PU境界にないクロマサンプルの対応するダウンサンプリングされたルーマサンプルを導出するためのフィルタの長さよりも小さい(たとえば、左境界の場合は2タップ、すべての他の場合は6タップ)。
一例として、クロマサンプルの対応するダウンサンプリングされたルーマサンプルの導出プロセスの間、ビデオコーダは、現在のTU内の他のサンプルに適用されるフィルタと比較して、異なるフィルタを左TU境界に位置するクロマサンプルに適用し得る。一例では、左TU境界にあるクロマサンプルの対応するダウンサンプリングされたルーマサンプルを導出するためのフィルタの長さ(たとえば、タップ)(すなわち、フィルタが及ぶサンプルの数)は、左TU境界にないクロマサンプルの対応するダウンサンプリングされたルーマサンプルを導出するためのフィルタの長さよりも小さい(たとえば、左境界の場合は2タップ、すべての他の場合は6タップ)。
場合によっては、同じピクチャの中に対応するルーマサンプルがないことがある。以下は、そのような状況に対処するためのいくつかの例示的な技法について説明する。たとえば、パディングを回避することは場合によっては有益であり得るが、いくつかの事例では、パディングを回避することが可能ではないことがある。たとえば、いくつかのルーマサンプルが(たとえば、ピクチャのせいで)利用不可能であるので、ビデオコーダは、これらの利用不可能なサンプルの代わりにパディングサンプル値を使い、これらのパディングサンプル値を用いてダウンサンプリングを実行する(たとえば、利用可能なルーマサンプルに対して実際のルーマサンプル値を使用し、利用不可能なルーマサンプルに対してパディングサンプル値を使用してダウンサンプリングする)ことができる。パディングサンプル値は、デフォルト値(たとえば、2bitdepth、ここにおいて、bitdepthはルーマ成分のビット深度を示す)、ビデオエンコーダ20によって決定され、ビデオデコーダ30にシグナリングされる値、または情報のシグナリングを必要としない何らかの暗黙的な技法に基づいて決定された値であってもよい。パディングサンプル値を加算することは、別個のフィルタを必要としないことがあるので、複雑性を低減し得る。
クロマサンプルの対応するダウンサンプリングされたルーマサンプルの導出プロセスの間、ルーマサンプルがピクチャの外にあるか、またはCU/PU/TUがダウンサンプリングプロセスに関与することを必要とするとき、ビデオコーダは最初にパディング動作を適用し得、その後にダウンサンプリングプロセスが続く。サンプルのパディングでは、ビデオコーダは、オフスクリーンであるそれらのサンプルをパディングサンプル値と置き換えることができる。
一例として、クロマサンプルの対応するダウンサンプリングされたルーマサンプルの導出プロセスの間、ビデオコーダは、現在のピクチャの外に位置するルーマサンプル(たとえば、ルーマサンプルのみ)をパディングし得る。すべての他の位置の場合、再構成されたサンプルが使用される。一例として、クロマサンプルの対応するダウンサンプリングされたルーマサンプルの導出プロセスの間、ビデオコーダは、現在のCUの外に位置するルーマサンプルをパディングし得る。すべての他の位置の場合、再構成されたサンプルが使用される。一例として、クロマサンプルの対応するダウンサンプリングされたルーマサンプルの導出プロセスの間、ビデオコーダは、現在のPUの外に位置するルーマサンプルをパディングし得る。すべての他の位置の場合、再構成されたサンプルが使用される。一例として、クロマサンプルの対応するダウンサンプリングされたルーマサンプルの導出プロセスの間、ビデオコーダは、現在のTUの外に位置するルーマサンプルをパディングし得る。すべての他の位置の場合、再構成されたサンプルが使用される。パディングについての上記の例では、同じダウンサンプリングプロセスがすべての位置に適用される。
LM予測モードにおいて使用される再構成されたルーマサンプルの位置が現在のスライスまたは現在のタイルの外に位置するとき、ビデオコーダは、そのようなサンプルを利用不可能としてマークし得る(たとえば、ビデオコーダは、そのようなサンプルを利用不可能として決定し得る)。サンプルが利用不可能としてマークされたとき、ビデオコーダは以下のうちの1つまたは複数を実行し得る。
サンプル(たとえば、利用不可能なサンプル)は、隣接ルーマブロックに関するダウンサンプリングプロセスにおいて使用される場合、隣接ルーマブロックに関するダウンサンプリングプロセスにおいて使用されない。代替または追加として、フィルタは他のサンプルに使用されるフィルタとは異なり得る。サンプル(たとえば、利用不可能なサンプル)は、現在のルーマブロックに関するダウンサンプリングプロセスにおいて使用される場合、現在のルーマブロックに関するダウンサンプリングプロセスにおいて使用されない。代替または追加として、フィルタは他のサンプルに使用されるフィルタとは異なり得る。サンプル(たとえば、利用不可能なサンプル)は、利用可能として再マークされるが、サンプル値はパディングされたサンプル値またはデフォルト値になるように修正される。代替または追加として、フィルタは他のサンプルに使用されるフィルタと同じままである。一例では、デフォルト値はビット深度に依存する。別の例では、パディングは、利用可能としてマークされた左/右/上/下のサンプルからのものであり得る。
一般に、別のタイルの中にあるルーマサンプルの場合、ビデオコーダは、タイル境界の外のピクセルを利用不可能としてマークし、ダウンサンプリングプロセスにおいてそれらのピクセルを含まないことがある。いくつかの例では、ビデオコーダは、別のタイルの中のルーマサンプルを利用可能としてマークするが、別のタイルの中のそのようなルーマサンプルに対して、パディングされたピクセルを使用することがある。別の例として、ビデオコーダは、サンプルを利用不可能としてマークするのではなく、別のタイルの中のルーマサンプルに対して、パディングされた「拡張」値(たとえば、ビット深度に基づいた半分の可能な値、8ビットであれば、128を使用する)を使用し得る。
いくつかの例では、ビデオコーダは、特定の条件下で、上記の例示的な技法のうちの1つまたは複数を有効化することができる。一例として、条件はスライスタイプに依存してもよい(たとえば、現在のスライスがイントラコード化スライスではないとき、ビデオコーダは、本開示で説明する例に従って技法を有効化する)。代替または追加として、条件はその隣接CUのコーディングタイプに依存してもよい。たとえば、隣接CUがインターコード化されるとき、ビデオコーダは上記の技法のうちの1つまたは複数を有効化することができる。代替または追加として、条件は現在のCU/PUを含むスライスの参照ピクチャに依存してもよい。たとえば、すべての参照ピクチャが現在のピクチャのPOC(ピクチャ順序カウント)値よりも小さいPOC値を有するとき、ビデオコーダは上記の技法のうちの1つまたは複数を有効化することができる。
いくつかの例では、ビデオコーダは、異なるフィルタを異なるクロマ色成分(CbまたはCr)に適用し得る。いくつかの例では、LM予測モードが有効化されるとき、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、またはスライスヘッダのいずれかにおいて、ダウンサンプリングフィルタの1つまたは複数のセットがさらにシグナリングされ得る。代替または追加として、ダウンサンプリングフィルタを記述するために補足エンハンスメント情報(SEI)メッセージシンタックスが導入される。代替または追加として、さらに、デフォルトのダウンサンプリングフィルタ、たとえば、シグナリングなしの6タップフィルタ[1, 2, 1; 1, 2, 1]が定義される。代替または追加として、1つのPU/CU/最大CUは、LM予測モードにおいて使用されるフィルタのインデックスをシグナリングし得る。代替または追加として、フィルタタップの使用は、シグナリングなしでビデオデコーダ30によってオンザフライで導出され得る。フィルタサポートを提供するための他の方法もあり得る。
いくつかの例では、ダウンサンプリングされた隣接する再構成されたルーマサンプルを使用して線形モデルのパラメータを導出する代わりに、ビデオコーダは、パラメータを導出するために元の隣接する再構成されたルーマサンプルを使用し得る。この場合、クロマ予測は、一例として、以下の式(11)を用いて導出され得る。
predC(i,j)=α0*Re cLOrig[2i, 2j]+*α1*Re cLOrig[2i, 2j+1]+α2 *Re cLOrig[2i, 2j-1]
3*Re cLOrig[2i+1, 2j]+α4*Re cLOrig[2i+1, 2j+1]+α5*Re cLOrig[2i+1, 2j-1]

ここにおいて、パラメータ(αi(iは両端値を含む0から5である)およびβ)は、隣接する再構成されたルーマブロックおよびクロマブロックから取得される。
一例では、さらに、αiがα(i+3)に等しいという制約が適用される。一例では、さらに、αiがα(i+2)に等しく、iが0または3に等しいという制約が適用される。一例では、この例示的な技法は、より大きいコード化CU、たとえば、16×16よりも大きいCUサイズについてのみ有効にされ得る。一例では、パラメータのうちの1つまたは複数は0になるように制限される。
さらに、ビデオコーダは、ダウンサンプリングされたルーマ残差がクロマ残差を予測するために使用される成分間残差予測についても、上記の技法のうちの1つまたは複数を適用し得る。この場合、ダウンサンプリングプロセスは、一例として、再構成されたルーマ残差に適用される。
以下は、本開示で説明する技法がビデオコーダによって実装され得る例示的な方法である。例示的な実装技法は、限定的と見なされるべきではない。
以下は、左ピクチャ境界にあるサンプルに異なるダウンサンプリングプロセスを適用するための一例である。現在のルーマブロックに関するダウンサンプリングプロセスは、次のように定義される。
-クロマサンプルがピクチャの左境界に位置していない場合、対応するダウンサンプリングされたルーマサンプルを導出するために、6タップフィルタ、たとえば、[1 2 1; 1 2 1]が適用される。
recL(i,j)=(Re cLOrig[2i, 2j]*2+Re cLOrig[2i, 2j+1]+Re cLOrig[2i, 2j-1]
+Re cLOrig[2i+1, 2j]*2+Re cLOrig[2i+1, 2j+1]+Re cLOrig[2i+1, 2j-1]+offset0)>>3 (12)
-そうではなく、クロマサンプルがピクチャの左境界に位置する場合、対応するダウンサンプリングされたルーマサンプルを導出するために、2タップフィルタ、たとえば、[1; 1]が適用される。
recL(i,j)=(Re cLOrig[2i, 2j]+Re cLOrig[2i, 2j+1]+offset1)>>1 (13)
一例では、offset0およびoffset1は両方とも、0に等しく設定される。別の例では、offset0は4に等しく設定され、offset1は1に等しく設定される。
図2は、本開示の技法を実装し得る例示的なビデオエンコーダ20を示すブロック図である。図2は説明の目的で提供されており、本開示で広く例示し説明するような技法の限定と見なされるべきではない。説明の目的で、本開示は、HEVCコーディングの文脈でビデオエンコーダ20について説明する。しかしながら、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
ビデオエンコーダ20は処理回路を含み、ビデオエンコーダ20は、本開示で説明する例示的な技法のうちの1つまたは複数を実行するように構成される。たとえば、ビデオエンコーダ20は集積回路を含み、図2に示す様々なユニットは、回路バスと相互接続されるハードウェア回路ブロックとして形成され得る。これらのハードウェア回路ブロックは別個の回路ブロックであってもよく、またはこれらのユニットのうちの2つ以上が共通のハードウェア回路ブロックに組み合わせられてもよい。ハードウェア回路ブロックは、算術論理ユニット(ALU)、初等関数ユニット(EFU)などの動作ブロック、ならびにAND、OR、NAND、NOR、XOR、XNORなどの論理ブロック、および他の類似する論理ブロックを形成する電子的構成要素の組合せとして形成され得る。
いくつかの例では、図2に示すユニットのうちの1つまたは複数は、処理回路上で実行されるソフトウェアユニットによって提供され得る。そのような例では、これらのソフトウェアユニットのオブジェクトコードはメモリに記憶される。オペレーティングシステムは、ビデオエンコーダ20にオブジェクトコードを取り出させ、オブジェクトコードを実行させることができ、このことは、ビデオエンコーダ20に例示的な技法を実装する動作を実行させる。いくつかの例では、ソフトウェアユニットは、ビデオエンコーダ20が起動時に実行するファームウェアであり得る。したがって、ビデオエンコーダ20は、例示的な技法を実行するハードウェアを有する構造構成要素であるか、または例示的な技法を実行するためのハードウェアを特殊化する、ハードウェア上で実行されるソフトウェア/ファームウェアを有する。
ビデオエンコーダ20は、本開示で説明する様々な例によるLMベースのビデオコーディングのための技法を実行するように構成され得るデバイスの一例を表す。たとえば、ビデオエンコーダ20は、LMビデオ符号化を使用して1つまたは複数のブロックを符号化するように構成され得る。
図2の例では、ビデオエンコーダ20は、予測処理ユニット100、ビデオデータメモリ101、残差生成ユニット102、変換処理ユニット104、量子化ユニット106、逆量子化ユニット108、逆変換処理ユニット110、再構成ユニット112、フィルタユニット114、復号ピクチャバッファ116、およびエントロピー符号化ユニット118を含む。予測処理ユニット100は、インター予測処理ユニット120およびイントラ予測処理ユニット126を含む。インター予測処理ユニット120は、動き推定ユニットおよび動き補償ユニット(図示せず)を含む。ビデオエンコーダ20はまた、本開示で説明する線形モデル(LM)ベースのコーディング技法の様々な態様を実行するように構成されたLMベースの符号化ユニット122を含む。他の例では、ビデオエンコーダ20は、より多数の、より少数の、または異なる構成要素を含み得る。
ビデオデータメモリ101は、ビデオエンコーダ20の構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ101に記憶されたビデオデータは、たとえば、ビデオソース18から取得され得る。復号ピクチャバッファ116は、(たとえば、イントラコーディングモードまたはインターコーディングモードにおいて)ビデオエンコーダ20によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ101および復号ピクチャバッファ116は、シンクロナスDRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM)、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ101および復号ピクチャバッファ116は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ101は、ビデオエンコーダ20の他の構成要素とともにオンチップであってもよく、または、それらの構成要素に対してオフチップであってもよい。
ビデオエンコーダ20は、ビデオデータを受信し得る。ビデオエンコーダ20は、予測処理ユニット100を介して、ビデオデータのピクチャのスライスの中の各CTUを符号化し得る。CTUの各々は、ピクチャの、等しいサイズのルーマコーディングツリーブロック(CTB)、および対応するCTBに関連付けられ得る。CTUを符号化することの一部として、予測処理ユニット100は、CTUのCTBを次第に小さくなるブロックに分割するために4分木区分を実行し得る。より小さいブロックは、CUのコーディングブロックであり得る。たとえば、予測処理ユニット100は、CTUに関連付けられたCTBを4つの等しいサイズのサブブロックに区分すること、サブブロックのうちの1つまたは複数を4つの等しいサイズのサブブロックに区分することなどを行うことができる。
ビデオエンコーダ20は、CUの符号化表現(すなわち、コード化CU)を生成するためにCTUのCUを符号化し得る。CUを符号化することの一部として、予測処理ユニット100は、CUの1つまたは複数のPUの間でCUに関連付けられたコーディングブロックを区分し得る。したがって、各PUは、ルーマ予測ブロックおよび対応するクロマ予測ブロックに関連付けられ得る。ビデオエンコーダ20およびビデオデコーダ30は、様々なサイズを有するPUをサポートし得る。上記に示したように、CUのサイズは、CUのルーマコーディングブロックのサイズを指すことがあり、PUのサイズは、PUのルーマ予測ブロックのサイズを指すことがある。特定のCUのサイズが2N×2Nであると仮定すると、ビデオエンコーダ20およびビデオデコーダ30は、イントラ予測に対して2N×2NまたはN×NのPUサイズ、インター予測に対して2N×2N、2N×N、N×2N、N×N、または類似の対称のPUサイズをサポートし得る。ビデオエンコーダ20およびビデオデコーダ30はまた、インター予測に対して2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズのための非対称区分をサポートし得る。
インター予測処理ユニット120は、CUの各PUに対してインター予測を実行することによって、PUに関する予測的データを生成し得る。PUに関する予測的データは、PUの予測的ブロックおよびPUに関する動き情報を含み得る。インター予測ユニット121は、PUがIスライスの中にあるか、Pスライスの中にあるか、またはBスライスの中にあるかに応じて、CUのPUに対して異なる動作を実行し得る。Iスライスでは、すべてのPUがイントラ予測される。したがって、PUがIスライスの中にある場合、インター予測ユニット121は、PUに対してインター予測を実行しない。したがって、Iモードで符号化されるブロックの場合、予測されるブロックは、同じフレーム内の以前に符号化された隣接ブロックからの空間予測を使用して形成される。
PUがPスライスの中にある場合、インター予測処理ユニット120の動き推定ユニットは、PUに関する参照領域を求めて参照ピクチャのリスト(たとえば、「RefPicList0」)の中の参照ピクチャを検索し得る。PUに関する参照領域は、PUのサンプルブロックに最も密に対応するサンプルブロックを含む、参照ピクチャ内の領域であり得る。動き推定ユニットは、PUに関する参照領域を含む参照ピクチャのRefPicList0の中での位置を示す参照インデックスを生成し得る。加えて、動き推定ユニットは、PUのコーディングブロックと参照領域に関連付けられた参照ロケーションとの間の空間変位を示すMVを生成し得る。たとえば、MVは、現在の復号ピクチャの中の座標から参照ピクチャの中の座標までのオフセットを提供する2次元ベクトルであり得る。動き推定ユニットは、PUの動き情報として参照インデックスおよびMVを出力し得る。インター予測処理ユニット120の動き補償ユニットは、PUの動きベクトルによって示される参照ロケーションにおける実際のサンプルまたは補間されたサンプルに基づいて、PUの予測的ブロックを生成し得る。
PUがBスライスの中にある場合、インター予測処理ユニット120の動き推定ユニットは、PUに対して単予測または双予測を実行し得る。PUに対して単予測を実行するために、動き推定ユニットは、PUに関する参照領域を求めてRefPicList0または第2の参照ピクチャリスト(「RefPicList1」)の参照ピクチャを検索し得る。動き推定ユニットは、PUの動き情報として、参照領域を含む参照ピクチャのRefPicList0またはRefPicList1の中での位置を示す参照インデックス、PUの予測ブロックと参照領域に関連付けられた参照ロケーションとの間の空間変位を示すMV、および参照ピクチャがRefPicList0の中にあるかまたはRefPicList1の中にあるかを示す1つまたは複数の予測方向インジケータを出力し得る。インター予測処理ユニット120の動き補償ユニットは、PUの動きベクトルによって示される参照領域における実際のサンプルまたは補間されたサンプルに少なくとも部分的に基づいて、PUの予測的ブロックを生成し得る。
PUに対して双方向インター予測を実行するために、動き推定ユニットは、PUに関する参照領域を求めてRefPicList0の中の参照ピクチャを検索することができ、PUに関する別の参照領域を求めてRefPicList1の中の参照ピクチャを検索することもできる。動き推定ユニットは、参照領域を含む参照ピクチャのRefPicList0およびRefPicList1の中での位置を示す参照ピクチャインデックスを生成し得る。加えて、動き推定ユニットは、参照領域に関連付けられた参照ロケーションとPUのサンプルブロックとの間の空間変位を示すMVを生成し得る。PUの動き情報は、PUの参照インデックスおよびMVを含み得る。インター予測処理ユニット120の動き補償ユニットは、PUの動きベクトルによって示される参照領域における実際のサンプルまたは補間されたサンプルに少なくとも部分的に基づいて、PUの予測的ブロックを生成し得る。
LMベースの符号化ユニット122は、線形モデル(LM)予測符号化を実行し得る。たとえば、LMベースの符号化ユニット122は、符号化されている現在のクロマブロックに対応するルーマブロックの再構成されたルーマサンプルをダウンサンプリングし得る。たとえば、4:2:0サンプリングでは、4つのルーマサンプルは1つのクロマブロックに対応する。ルーマピクチャの左上隅において2×2ブロックを形成する4つのルーマサンプルは、クロマピクチャの左上隅に位置する1つのクロマサンプルに対応する。LMベースの符号化ユニット122は、予測的ブロックを生成するために、ルーマブロックのダウンサンプリングされた再構成されたルーマサンプルをスケーリングし得る。残差生成ユニット102は、クロマブロックと予測的ブロックとの間の残差ブロックを決定し得る。いくつかの例では、LMベースの符号化ユニット122は、成分間残差予測の一部として、そのような技法を適用し得る。この場合、クロマブロックはクロマ残差ブロックであり、ルーマブロックはルーマ残差ブロックである。
本開示で説明する技法では、LMベースの符号化ユニット122は、ルーマブロックのルーマサンプルのダウンサンプリングの一部として、上記の例示的な技法のうちの1つまたは複数を実装し得る。たとえば、LMベースの符号化ユニット122は、符号化されているクロマブロックの特性に基づいて、対応するルーマブロックをダウンサンプリングするための異なるフィルタを適用し得る。符号化されているクロマブロックの特性の例は、符号化されているクロマブロックの位置を含む。別の例として、LMベースの符号化ユニット122は、特定の境界(たとえば、ピクチャ、CU、PU、またはTU)の外にあるルーマサンプルに基づいて、パディングをルーマブロックに適用し得る。
イントラ予測処理ユニット126は、PUに対してイントラ予測を実行することによって、PUに関する予測的データを生成し得る。PUに関する予測的データは、PUに関する予測的ブロックおよび様々なシンタックス要素を含み得る。イントラ予測処理ユニット126は、Iスライス、Pスライス、およびBスライスの中のPUに対してイントラ予測を実行し得る。
PUに対してイントラ予測を実行するために、イントラ予測処理ユニット126は、PUに関する予測的データの複数のセットを生成するために複数のイントラ予測モードを使用し得る。イントラ予測処理ユニット126は、PUに関する予測的ブロックを生成するために隣接PUのサンプルブロックからのサンプルを使用し得る。PU、CU、およびCTUに対して左から右、上から下への符号化順序を仮定すると、隣接PUは、PUの上、右上、左上、または左であってもよい。イントラ予測処理ユニット126は、様々な数のイントラ予測モード、たとえば、33個の方向性イントラ予測モードを使用し得る。いくつかの例では、イントラ予測モードの数は、PUに関連付けられた領域のサイズに依存し得る。
予測処理ユニット100は、PUに対してインター予測処理ユニット120によって生成される予測的データ、PUに対してイントラ予測処理ユニット126によって生成される予測的データ、またはLMベースの符号化ユニット122によって生成される予測的データの中から、CUのPUに関する予測的データを選択し得る。いくつかの例では、予測処理ユニット100は、予測的データのセットのレート/ひずみメトリックに基づいて、CUのPUに関する予測的データを選択する。選択された予測的データの予測的ブロックは、本明細書では選択された予測的ブロックと呼ばれることがある。
残差生成ユニット102は、CUのルーマコーディングブロック、CbコーディングブロックおよびCrコーディングブロックと、CUのPUの選択された予測的ルーマブロック、選択された予測的Cbブロックおよび選択された予測的Crブロックとに基づいて、CUのルーマ残差ブロック、Cb残差ブロックおよびCr残差ブロックを生成し得る。たとえば、残差生成ユニット102は、残差ブロックの中の各サンプルがCUのコーディングブロックの中のサンプルとCUのPUの対応する選択された予測的ブロックの中の対応するサンプルとの間の差分に等しい値を有するように、CUの残差ブロックを生成し得る。
変換処理ユニット104は、CUに関連付けられた残差ブロックをCUのTUに関連付けられた変換ブロックに区分するために4分木区分を実行し得る。したがって、TUは、ルーマ変換ブロックおよび2つのクロマ変換ブロックに関連付けられ得る。CUのTUのルーマ変換ブロックおよびクロマ変換ブロックのサイズおよび位置は、CUのPUの予測ブロックのサイズおよび位置に基づいてもよく、基づかなくてもよい。「残差4分木」(RQT)として知られる4分木構造は、領域の各々に関連付けられたノードを含み得る。CUのTUは、RQTのリーフノードに対応し得る。
変換処理ユニット104は、1つまたは複数の変換をTUの変換ブロックに適用することによって、CUのTUごとに変換係数ブロックを生成し得る。変換処理ユニット104は、様々な変換をTUに関連付けられた変換ブロックに適用し得る。たとえば、変換処理ユニット104は、離散コサイン変換(DCT)、方向変換、または概念的に類似する変換を変換ブロックに適用し得る。いくつかの例では、変換処理ユニット104は、変換ブロックに変換を適用しない。そのような例では、変換ブロックは変換係数ブロックとして扱われてもよい。
量子化ユニット106は、係数ブロックの中の変換係数を量子化し得る。量子化プロセスは、変換係数の一部または全部に関連付けられたビット深度を低減し得る。たとえば、nビットの変換係数は、量子化の間にmビットの変換係数に切り捨てられてよく、nはmよりも大きい。量子化ユニット106は、CUに関連付けられた量子化パラメータ(QP)値に基づいて、CUのTUに関連付けられた係数ブロックを量子化し得る。ビデオエンコーダ20は、CUに関連付けられたQP値を調整することによって、CUに関連付けられた係数ブロックに適用される量子化の程度を調整し得る。量子化は情報の損失をもたらすことがあり、したがって、量子化された変換係数の精度は元の精度よりも低いことがある。
逆量子化ユニット108および逆変換処理ユニット110は、係数ブロックから残差ブロックを再構成するために、それぞれ逆量子化および逆変換を係数ブロックに適用し得る。再構成ユニット112は、TUに関連付けられた再構成された変換ブロックを生成するために、予測処理ユニット100によって生成された1つまたは複数の予測的ブロックからの対応するサンプルに再構成された残差ブロックを加算し得る。このようにしてCUのTUごとに変換ブロックを再構成することによって、ビデオエンコーダ20は、CUのコーディングブロックを再構成し得る。
フィルタユニット114は、CUに関連付けられたコーディングブロックにおけるブロッキングアーティファクトを低減するために、1つまたは複数のデブロッキング動作を実行し得る。フィルタユニット114が再構成されたコーディングブロックに対して1つまたは複数のデブロッキング動作を実行した後、復号ピクチャバッファ116は、再構成されたコーディングブロックを記憶し得る。インター予測処理ユニット120は、他のピクチャのPUに対してインター予測を実行するために、再構成されたコーディングブロックを含む参照ピクチャを使用し得る。加えて、イントラ予測処理ユニット126は、CUと同じピクチャの中の他のPUに対してイントラ予測を実行するために、復号ピクチャバッファ116の中の再構成されたコーディングブロックを使用し得る。さらに、LMベースの符号化ユニット122は、クロマブロックを線形モデル(LM)予測符号化するために、復号ピクチャバッファ116の中の再構成されたルーマブロックを利用し得る(ルーマブロックは、いくつかの例ではビデオデータを含み得るか、または残差ルーマブロックであり得、クロマブロックは、いくつかの例ではビデオデータを含み得るか、または残差クロマブロックであり得る)。
エントロピー符号化ユニット118は、ビデオエンコーダ20の他の機能構成要素からデータを受信し得る。たとえば、エントロピー符号化ユニット118は、量子化ユニット106から係数ブロックを受信し得、予測処理ユニット100からシンタックス要素を受信し得る。エントロピー符号化ユニット118は、エントロピー符号化データを生成するために、データに対して1つまたは複数のエントロピー符号化動作を実行し得る。たとえば、エントロピー符号化ユニット118は、コンテキスト適応型バイナリ算術コーディング(CABAC)動作、コンテキスト適応型可変長コーディング(CAVLC)動作、可変長-可変長(V2V)コーディング動作、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)動作、確率間隔区分エントロピー(PIPE)コーディング動作、指数ゴロム符号化動作、または別のタイプのエントロピー符号化動作を、データに対して実行し得る。ビデオエンコーダ20は、エントロピー符号化ユニット118によって生成されたエントロピー符号化データを含むビットストリームを出力し得る。たとえば、ビットストリームは、CUに関するRQTを表すデータを含み得る。
本開示の図2の例は、符号化されているクロマブロックに関する対応するルーマブロックを決定し、クロマブロックの特性に基づいて、ルーマブロックに適用すべきフィルタを決定し、決定されたフィルタに基づいて、ルーマブロックをダウンサンプリングし、ダウンサンプリングされたルーマブロックに基づいて、予測的ブロックを決定し、予測的ブロックに基づいて、クロマブロックを線形モデル(LM)予測符号化するように構成されたビデオエンコーダ20について説明する。たとえば、LMベースの符号化ユニット122は、クロマブロックをLM予測符号化する例示的な動作を実行し得る。
LMベースの符号化ユニット122は、符号化されているビデオデータのクロマブロックに対応するビデオデータのルーマブロックを決定し得る。予測処理ユニット100は、ピクチャをCTU、CU、およびPUに分割する間などに、どのルーマブロックおよびクロマブロックが互いに対応するかを追跡するように構成され得る。
LMベースの符号化ユニット122は、クロマブロックの特性に基づいて、ルーマブロックに適用すべきフィルタをフィルタのセットから決定する。たとえば、LMベースの符号化ユニット122は、ピクチャ、CU、PU、またはTUの境界に対するクロマブロックのロケーションを決定し得る。予測処理ユニット100がピクチャをCTU、CU、およびPUに分割したので、LMベースの符号化ユニット122は、ピクチャ、CU、PU、またはTUに対するクロマブロックのロケーションを決定し得る。
LMベースの符号化ユニット122は、第1のフィルタを、境界に位置するクロマブロックのクロマサンプルに対応するルーマブロックのルーマサンプルに適用すると決定する。したがって、クロマサンプルが境界に位置することに基づいて、LMベースの符号化ユニット122は、第1のフィルタを対応するルーマサンプルに適用すると決定し得る(たとえば、式(12))。LMベースの符号化ユニット122は、第2の異なるフィルタを、境界に位置しないクロマブロックのクロマサンプルに対応するルーマブロックのルーマサンプルに適用すると決定する。したがって、クロマサンプルが境界に位置しないことに基づいて、LMベースの符号化ユニット122は、第1のフィルタとは異なる第2のフィルタを、ルーマブロックの対応するルーマサンプルに適用すると決定し得る(たとえば、式(13))。
LMベースの符号化ユニット122は、再構成されたルーマブロックをDPB116から取り出し、決定されたフィルタに基づいて、ルーマブロックをダウンサンプリングする。ダウンサンプリングされたルーマブロックは、recL(i,j)と呼ばれる。たとえば、クロマサンプルが左境界にある場合、LMベースの符号化ユニット122は、2タップフィルタを使用してルーマサンプルのダウンサンプリングを実行する(たとえば、式(12)の動作)。クロマサンプルが左境界にない場合、LMベースの符号化ユニット122は、6タップフィルタを使用してルーマサンプルのダウンサンプリングを実行する(たとえば、式(13)の動作)。一般に、第1のフィルタは、第2のフィルタよりも少数のタップを含む。
ダウンサンプリングされたルーマブロックから、LMベースの符号化ユニット122は、予測的ブロックを決定する。たとえば、LMベースの符号化ユニット122は、式(1)の動作を実行し得る。予測的ブロックを決定するために、LMベースの符号化ユニット122は、αおよびβの値を決定する。LMベースの符号化ユニット122は、α値およびβ値を決定するために、式(2)〜式(4)の動作を実行し得る。α値およびβ値を用いて、LMベースの符号化ユニット122は、式(1)に従ってrecL(i,j)をスケーリングし、予測的ブロックを決定する。
α値およびβ値を決定する際、LMベースの符号化ユニット122は、1つまたは複数の隣接ルーマブロックをダウンサンプリングし(たとえば、式(6)および式(7)の動作を実行する)、1つまたは複数の隣接クロマブロックに関するダウンサンプリングされた隣接ルーマブロックに基づいて、第1のパラメータ(たとえば、α)および第2のパラメータ(たとえば、β)を決定し得る。しかしながら、隣接ブロックのダウンサンプリングは、あらゆる例において必要とされない。たとえば、LMベースの符号化ユニット122は、式(11)の動作を実行し得る。
いくつかの例では、LMベースの符号化ユニット122は、クロマブロックのタイプに基づいて、どのダウンサンプリングフィルタを適用すべきかを決定し得る。たとえば、クロマブロックが第1のタイプ(たとえば、CrまたはCb)である1つの事例では、LMベースの符号化ユニット122は、クロマブロックが第1のタイプであることに基づいて、第1のフィルタをルーマブロックに適用すると決定し得る。クロマブロックが第2のタイプ(たとえば、CrまたはCbの他方)である別の事例では、LMベースの符号化ユニット122は、クロマブロックが第2のタイプであることに基づいて、第2の異なる(すなわち、第1のフィルタとは異なる)フィルタをルーマブロックに適用すると決定し得る。第1のタイプのクロマブロックおよび第2のタイプのクロマブロックについてLMベースの符号化ユニット122が選択するフィルタは、境界に対するクロマサンプルのロケーションにも基づき得るが、あらゆる例において必ずしもそうではない。
上記で説明したように、いくつかの例では、LMベースの符号化ユニット122は、ルーマブロックのルーマサンプルがピクチャ、スライス、CU、PU、またはTUのうちの1つまたは複数の外にあると決定し得る。そのような例では、LMベースの符号化ユニット122は、外にある1つまたは複数のルーマサンプルに関するルーマサンプル値をパディング値に置き換えることができる。たとえば、LMベースの符号化ユニット122は事前構成されてもよく、またはパディング値はビデオデータメモリ101に記憶されてもよい。LMベースの符号化ユニット122は、外にあるルーマサンプルをこれらのパディング値に置き換え、得られたルーマブロックをビデオデータメモリ101に記憶してもよい。次いで、LMベースの符号化ユニット122は、パディング値を有するルーマブロックをダウンサンプリング(たとえば、式(5)または式(9)を実行)し得る。
本開示はまた、境界を越えて広がるルーマブロックに基づいて、符号化されているクロマブロックに関する対応するルーマブロックを決定し、境界を越えて広がり、パディングされたルーマブロックを生成するためにルーマブロックの残りの部分に対して再構成されたサンプルを維持するルーマブロックの一部分にパディングを適用し、パディングされたルーマブロックをダウンサンプリングし、ダウンサンプリングされたパディングされたルーマブロックに基づいて、予測的ブロックを決定し、予測的ブロックに基づいて、クロマブロックを線形モデル(LM)予測符号化するように構成されたビデオエンコーダ20について説明する。
上記の例示的な技法についてルーマサンプルのブロックであるルーマブロックに関して説明したが、本開示で説明する技法はそのように限定されない。いくつかの例では、ルーマブロックはルーマ残差ブロックであり、ルーマブロックがルーマサンプルのブロックとルーマサンプルの予測的ブロックとの間の差分を表すことを意味する。このルーマ残差ブロックは、対応するクロマ残差ブロックに関する予測クロマ残差ブロックを生成するために使用され得る。LMベースの符号化ユニット122は、クロマ残差ブロックに関する予測的クロマ残差ブロックを生成するために、ルーマ残差ブロックに対して類似の機能を実行し得る。たとえば、ルーマブロックがルーマ残差ブロックである場合、LMベースの符号化ユニット122は、ルーマブロックがルーマサンプルのブロックである例に関して上記で説明した技法に類似した技法を使用して予測的クロマ残差ブロックを生成するために、ルーマ残差ブロックをダウンサンプリングし得る。そのような技法は、上記で説明した例示的なダウンサンプリングフィルタを使用する4:2:0サンプリングと4:2:2サンプリングの両方に(および場合によっては、フィルタリングを用いるが、必ずしもダウンサンプリングを用いるとは限らない4:4:4に)適用可能であり得る。
LMベースの符号化ユニット122に関して上記で説明した例示的な技法は特定の条件下で適用可能であり得るが、これはあらゆる場合のための要件ではない。たとえば、現在のスライスがイントラコード化スライスではない場合、LMベースの符号化ユニット122はクロマ予測を実行し得る。別の例として、隣接CUがインターコード化される場合、LMベースの符号化ユニット122はクロマ予測を実行し得る。別の例として、RefPicList0および/またはRefPicList1の中の参照ピクチャが現在のピクチャのPOC値よりも小さいPOC値を有する場合、LMベースの符号化ユニット122はクロマ予測を実行し得る。しかしながら、これらの条件は単に例として説明される。LMベースの符号化ユニット122がすべての場合においてクロマ予測を実行することが可能であり得、クロマ予測がLMベースの符号化ユニット122に基づいて実行されるかどうかは、どのコーディングが最適なビデオコーディングを提供するかに基づいて最終的に決定される。
LMベースの符号化ユニット122は、予測的ブロックを残差生成ユニット102に出力し得る。残差生成ユニット102は、予測的ブロックおよびクロマブロックから残差ブロックを生成する。得られた残差ブロックは、変換処理ユニット103によって変換され、量子化ユニット106によって量子化され、エントロピー符号化ユニット118によってエントロピー符号化される。次いで、結果は、ビットストリームを介してシグナリングされ、ビデオデコーダ30は、クロマブロックを再構成するためにビットストリームの中の情報を使用する。
図3は、本開示の技法を実装するように構成された例示的なビデオデコーダ30を示すブロック図である。図3は説明の目的で提供されており、本開示で広く例示し説明するような技法の限定ではない。説明の目的で、本開示は、HEVCコーディングの文脈でビデオデコーダ30について説明する。しかしながら、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
ビデオデコーダ30は処理回路を含み、ビデオデコーダ30は、本開示で説明する例示的な技法のうちの1つまたは複数を実行するように構成される。たとえば、ビデオデコーダ30は集積回路を含み、図3に示す様々なユニットは、回路バスと相互接続されるハードウェア回路ブロックとして形成され得る。これらのハードウェア回路ブロックは別個の回路ブロックであってもよく、またはこれらのユニットのうちの2つ以上が共通のハードウェア回路ブロックに組み合わせられてもよい。ハードウェア回路ブロックは、算術論理ユニット(ALU)、初等関数ユニット(EFU)などの動作ブロック、ならびにAND、OR、NAND、NOR、XOR、XNORなどの論理ブロック、および他の類似する論理ブロックを形成する電子的構成要素の組合せとして形成され得る。
いくつかの例では、図3に示すユニットのうちの1つまたは複数は、処理回路上で実行されるソフトウェアユニットによって提供され得る。そのような例では、これらのソフトウェアユニットのオブジェクトコードはメモリに記憶される。オペレーティングシステムは、ビデオデコーダ30にオブジェクトコードを取り出させ、オブジェクトコードを実行させることができ、このことは、ビデオデコーダ30に例示的な技法を実装する動作を実行させる。いくつかの例では、ソフトウェアユニットは、ビデオデコーダ30が起動時に実行するファームウェアであり得る。したがって、ビデオデコーダ30は、例示的な技法を実行するハードウェアを有する構造構成要素であるか、または例示的な技法を実行するためのハードウェアを特殊化する、ハードウェア上で実行されるソフトウェア/ファームウェアを有する。
ビデオデコーダ30は、本開示で説明する様々な例によるLMベースのビデオコーディングのための技法を実行するように構成され得るデバイスの一例を表す。たとえば、ビデオデコーダ30は、LMビデオコーディングモードを利用して1つまたは複数のブロックを復号する(すなわち、1つまたは複数のブロックを線形モデル(LM)予測復号する)ように構成され得る。
図3の例では、ビデオデコーダ30は、エントロピー復号ユニット150、ビデオデータメモリ151、予測処理ユニット152、逆量子化ユニット154、逆変換処理ユニット156、再構成ユニット158、フィルタユニット160、および復号ピクチャバッファ162を含む。予測処理ユニット152は、動き補償ユニット164およびイントラ予測処理ユニット166を含む。ビデオデコーダ30はまた、本開示で説明する線形モデル(LM)ベースのコーディング技法の様々な態様を実行するように構成されたLMベースの復号ユニット165を含む。他の例では、ビデオデコーダ30は、より多数の、より少数の、または異なる機能構成要素を含み得る。
ビデオデータメモリ151は、ビデオデコーダ30の構成要素によって復号されるべき、符号化ビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ151に記憶されたビデオデータは、たとえば、コンピュータ可読媒体16から(たとえば、カメラなどのローカルビデオソースから、ビデオデータのワイヤードもしくはワイヤレスネットワーク通信を介して、または物理データ記憶媒体にアクセスすることによって)取得され得る。ビデオデータメモリ151は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファ(CPB)を形成し得る。復号ピクチャバッファ162は、たとえば、イントラコーディングモードまたはインターコーディングモードにおいて、ビデオデコーダ30によってビデオデータを復号する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ151および復号ピクチャバッファ162は、シンクロナスDRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM)、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ151および復号ピクチャバッファ162は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ151は、ビデオデコーダ30の他の構成要素とともにオンチップであってもよく、または、それらの構成要素に対してオフチップであってもよい。
コード化ピクチャバッファ(CPB)は、ビットストリームの符号化ビデオデータ(たとえば、NALユニット)を受信し、記憶し得る。エントロピー復号ユニット150は、CPBから符号化ビデオデータ(たとえば、NALユニット)を受信し、シンタックス要素を復号するためにNALユニットをパースし得る。エントロピー復号ユニット150は、NALユニットの中のエントロピー符号化シンタックス要素をエントロピー復号し得る。予測処理ユニット152、逆量子化ユニット154、逆変換処理ユニット156、再構成ユニット158、およびフィルタユニット160は、ビットストリームから抽出されたシンタックス要素に基づいて、復号ビデオデータを生成し得る。
ビットストリームのNALユニットは、コード化スライスNALユニットを含み得る。ビットストリームを復号することの一部として、エントロピー復号ユニット150は、コード化スライスNALユニットからシンタックス要素を抽出し、エントロピー復号し得る。コード化スライスの各々は、スライスヘッダおよびスライスデータを含み得る。スライスヘッダは、スライスに関係するシンタックス要素を含み得る。スライスヘッダの中のシンタックス要素は、スライスを含むピクチャに関連付けられたPPSを識別するシンタックス要素を含み得る。
ビットストリームからのシンタックス要素を復号することに加えて、ビデオデコーダ30は、区分されていないCUに対して再構成動作を実行し得る。区分されていないCUに対して再構成動作を実行するために、ビデオデコーダ30は、CUの各TUに対して再構成動作を実行し得る。CUのTUごとに再構成動作を実行することによって、ビデオデコーダ30は、CUの残差ブロックを再構成し得る。
CUのTUに対して再構成動作を実行することの一部として、逆量子化ユニット154は、TUに関連付けられた係数ブロックを逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)し得る。逆量子化ユニット154は、逆量子化ユニット154が適用すべき量子化の程度と、同様に、逆量子化の程度とを決定するために、TUのCUに関連付けられたQP値を使用し得る。すなわち、圧縮比、すなわち、元のシーケンスおよび圧縮されたシーケンスを表すために使用されるビット数の比が、変換係数を量子化するときに使用されるQPの値を調整することによって制御され得る。圧縮比はまた、採用されるエントロピーコーディングの方法に依存し得る。
逆量子化ユニット154が係数ブロックを逆量子化した後、逆変換処理ユニット156は、TUに関連付けられた残差ブロックを生成するために、1つまたは複数の逆変換を係数ブロックに適用し得る。たとえば、逆変換処理ユニット156は、逆DCT、逆整数変換、逆カルーネンレーベ変換(KLT)、逆回転変換、逆方向変換、または別の逆変換を係数ブロックに適用し得る。
PUがイントラ予測を使用して符号化される場合、イントラ予測処理ユニット166は、PUに関する予測的ブロックを生成するためにイントラ予測を実行し得る。イントラ予測処理ユニット166は、空間的に隣接するPUの予測ブロックに基づいてPUに関する予測的ルーマブロック、予測的Cbブロックおよび予測的Crブロックを生成するために、イントラ予測モードを使用し得る。イントラ予測処理ユニット166は、ビットストリームから復号された1つまたは複数のシンタックス要素に基づいて、PUに関するイントラ予測モードを決定し得る。
予測処理ユニット152は、ビットストリームから抽出されたシンタックス要素に基づいて、第1の参照ピクチャリスト(RefPicList0)および第2の参照ピクチャリスト(RefPicList1)を構成し得る。さらに、PUがインター予測を使用して符号化される場合、エントロピー復号ユニット150は、PUに関する動き情報を抽出し得る。動き補償ユニット164は、PUの動き情報に基づいて、PUに関する1つまたは複数の参照領域を決定し得る。動き補償ユニット164は、PUに関する1つまたは複数の参照ブロックにおけるサンプルブロックに基づいて、PUに関する予測的ルーマブロック、予測的Cbブロックおよび予測的Crブロックを生成し得る。
再構成ユニット158は、CUのルーマコーディングブロック、CbコーディングブロックおよびCrコーディングブロックを再構成するために、CUのTUに関連付けられたルーマ変換ブロック、Cb変換ブロックおよびCr変換ブロック、ならびにCUのPUの予測的ルーマブロック、予測的Cbブロックおよび予測的Crブロック、すなわち、適用可能なとき、イントラ予測データまたはインター予測データのいずれかを使用し得る。たとえば、再構成ユニット158は、CUのルーマコーディングブロック、CbコーディングブロックおよびCrコーディングブロックを再構成するために、ルーマ変換ブロック、Cb変換ブロックおよびCr変換ブロックのサンプルを、予測的ルーマブロック、予測的Cbブロックおよび予測的Crブロックの対応するサンプルに加算し得る。
フィルタユニット160は、CUのルーマコーディングブロック、CbコーディングブロックおよびCrコーディングブロックに関連付けられたブロッキングアーティファクトを低減するために、デブロッキング動作を実行し得る。ビデオデコーダ30は、CUのルーマコーディングブロック、CbコーディングブロックおよびCrコーディングブロックを復号ピクチャバッファ162に記憶し得る。復号ピクチャバッファ162は、その後の動き補償、イントラ予測、および図1のディスプレイデバイス32などのディスプレイデバイス上での提示のために、参照ピクチャを提供し得る。たとえば、ビデオデコーダ30は、復号ピクチャバッファ162の中のルーマブロック、Cbブロック、およびCrブロックに基づいて、他のCUのPUに対してイントラ予測動作またはインター予測動作を実行し得る。
本開示の様々な例によれば、ビデオデコーダ30は、LMベースのコーディングを実行するように構成され得る。LMベースの復号ユニット165は、線形モデル(LM)予測復号を実行し得る。たとえば、LMベースの復号ユニット165は、復号されている現在のクロマブロックに対応するルーマブロックの再構成されたルーマサンプルをダウンサンプリングし得る。LMベースの復号ユニット165は、クロマブロックに関する予測的ブロックを生成するために、ルーマブロックのダウンサンプリングされた再構成されたルーマサンプルをスケーリングし得る。次いで、再構成ユニット158は、生成された予測的ブロックを復号残差データに加算し得る。いくつかの例では、LMベースの復号ユニット165は、成分間残差予測の一部として、そのような技法を適用し得る。この場合、クロマブロックはクロマ残差ブロックであり、ルーマブロックはルーマ残差ブロックである。
本開示で説明する技法では、LMベースの復号ユニット165は、ルーマブロックのルーマサンプルのダウンサンプリングの一部として、上記の例示的な技法のうちの1つまたは複数を実装し得る。たとえば、LMベースの復号ユニット165は、復号されているクロマブロックの特性に基づいて、対応するルーマブロックをダウンサンプリングするための異なるフィルタを適用し得る。復号されているクロマブロックの特性の例は、復号されているクロマブロックの位置を含む。別の例として、LMベースの復号ユニット165は、特定の境界(たとえば、ピクチャ、スライス、CU、PU、またはTU)の外にあるルーマサンプルに基づいて、パディングをルーマブロックに適用し得る。
このようにして、本開示は、復号されているクロマブロックに関する対応するルーマブロックを決定し、クロマブロックの特性に基づいて、ルーマブロックに適用すべきフィルタを決定し、決定されたフィルタに基づいて、ルーマブロックをダウンサンプリングし、ダウンサンプリングされたルーマブロックに基づいて、予測的ブロックを決定し、予測的ブロックに基づいて、クロマブロックを線形モデル(LM)予測復号するように構成されたビデオデコーダ30について説明する。
本開示はまた、境界を越えて広がるルーマブロックに基づいて、復号されているクロマブロックに関する対応するルーマブロックを決定し、境界を越えて広がり、パディングされたルーマブロックを生成するためにルーマブロックの残りの部分に対して境界を越えて広がり、再構成されたサンプルを維持するルーマブロックの一部分にパディングを適用し、パディングされたルーマブロックをダウンサンプリングし、ダウンサンプリングされたパディングされたルーマブロックに基づいて、予測的ブロックを決定し、予測的ブロックに基づいて、クロマブロックを線形モデル(LM)予測復号するように構成されたビデオデコーダ30について説明する。
LMベースの復号ユニット165は、復号されているビデオデータのクロマブロックに対応するビデオデータのルーマブロックを決定し得る。予測処理ユニット152は、ビデオエンコーダ20がビットストリームの中でシグナリングするシンタックス要素に基づいて、どのルーマブロックおよびクロマブロックが互いに対応するかを追跡する。
LMベースの復号ユニット165は、クロマブロックの特性に基づいて、ルーマブロックに適用すべきフィルタをフィルタのセットから決定する。たとえば、LMベースの復号ユニット165は、ピクチャ、スライス、CU、PU、またはTUの境界に対するクロマブロックのロケーションを決定し得る。ピクチャがどのようにCTU、CU、およびPUに分割されたかをビットストリームが示したので、LMベースの復号ユニット165は、ピクチャ、CU、PU、またはTUに対するクロマブロックのロケーションを決定し得る。
LMベースの復号ユニット165は、第1のフィルタを、境界に位置するクロマブロックのクロマサンプルに対応するルーマブロックのルーマサンプルに適用すると決定する。したがって、クロマサンプルが境界に位置することに基づいて、LMベースの復号ユニット165は、第1のフィルタを対応するルーマサンプルに適用すると決定し得る(たとえば、式(12))。LMベースの復号ユニット165は、第2の異なるフィルタを、境界に位置しないクロマブロックのクロマサンプルに対応するルーマブロックのルーマサンプルに適用すると決定する。したがって、クロマサンプルが境界に位置しないことに基づいて、LMベースの復号ユニット165は、第1のフィルタとは異なる第2のフィルタを、対応するルーマサンプルに適用すると決定し得る(たとえば、式(13))。
LMベースの復号ユニット165は、再構成されたルーマブロックをDPB162から取り出し、決定されたフィルタに基づいて、ルーマブロックをダウンサンプリングする。ダウンサンプリングされたルーマブロックは、recL(i,j)と呼ばれる。たとえば、クロマサンプルが左境界にある場合、LMベースの復号ユニット165は、2タップフィルタを使用してダウンサンプリングを実行する(たとえば、式(12)の動作)。クロマサンプルが左境界にない場合、LMベースの復号ユニット165は、6タップフィルタを使用してダウンサンプリングを実行する(たとえば、式(13)の動作)。一般に、第1のフィルタは、第2のフィルタよりも少数のタップを含む。
ダウンサンプリングされたルーマブロックから、LMベースの復号ユニット165は、予測的ブロックを決定する。たとえば、LMベースの復号ユニット165は、式(1)の動作を実行し得る。予測的ブロックを決定するために、LMベースの復号ユニット165は、αおよびβの値を決定する。LMベースの復号ユニット165は、α値およびβ値を決定するために、式(2)〜式(4)の動作を実行し得る。α値およびβ値を用いて、LMベースの復号ユニット165は、式(1)に従ってrecL(i,j)をスケーリングし、予測的ブロックを決定する。
α値およびβ値を決定する際、LMベースの復号ユニット165は、1つまたは複数の隣接ルーマブロックをダウンサンプリングし(たとえば、式(6)および式(7)の動作を実行する)、1つまたは複数の隣接クロマブロックに関するダウンサンプリングされた隣接ルーマブロックに基づいて、第1のパラメータ(たとえば、α)および第2のパラメータ(たとえば、β)を決定し得る。しかしながら、隣接ブロックのダウンサンプリングは、あらゆる例において必要とされない。たとえば、LMベースの復号ユニット165は、式(11)の動作を実行し得る。
いくつかの例では、LMベースの復号ユニット165は、クロマブロックのタイプに基づいて、どのダウンサンプリングフィルタを適用すべきかを決定し得る。たとえば、クロマブロックが第1のタイプ(たとえば、CrまたはCb)である1つの事例では、LMベースの復号ユニット165は、クロマブロックが第1のタイプであることに基づいて、第1のフィルタをルーマブロックに適用すると決定し得る。クロマブロックが第2のタイプ(たとえば、CrまたはCbの他方)である別の事例では、LMベースの復号ユニット165は、クロマブロックが第2のタイプであることに基づいて、第2の異なるフィルタをルーマブロックに適用すると決定し得る。第1のタイプのクロマブロックおよび第2のタイプのクロマブロックについてLMベースの復号ユニット165が選択するフィルタは、境界に対するクロマサンプルのロケーションにも基づき得るが、あらゆる例において必ずしもそうではない。
上記で説明したように、いくつかの例では、LMベースの復号ユニット165は、ルーマブロックのルーマサンプルがピクチャ、スライス、CU、PU、またはTUのうちの1つまたは複数の外にあると決定し得る。そのような例では、LMベースの復号ユニット165は、外にある1つまたは複数のルーマサンプルに関するルーマサンプル値をパディング値に置き換えることができる。たとえば、LMベースの復号ユニット165は事前構成されてもよく、またはパディング値はビデオデータメモリ151に記憶されてもよい。LMベースの復号ユニット165は、外にあるルーマサンプルをこれらのパディング値に置き換え、得られたルーマブロックをビデオデータメモリ151に記憶してもよい。次いで、LMベースの復号ユニット165は、パディング値を有するルーマブロックをダウンサンプリング(たとえば、式(5)または式(9)を実行)し得る。
上記の例示的な技法についてルーマサンプルのブロックであるルーマブロックに関して説明したが、本開示で説明する技法はそのように限定されない。いくつかの例では、ルーマブロックはルーマ残差ブロックであり、ルーマブロックがルーマサンプルのブロックとルーマサンプルの予測的ブロックとの間の差分を表すことを意味する。このルーマ残差ブロックは、対応するクロマ残差ブロックに関する予測的クロマ残差ブロックを生成するために使用され得る。LMベースの復号ユニット165は、クロマ残差ブロックに関する予測的クロマ残差ブロックを生成するために、ルーマ残差ブロックに対して類似の機能を実行し得る。たとえば、ルーマブロックがルーマ残差ブロックである場合、LMベースの復号ユニット165は、ルーマブロックがルーマサンプルのブロックである例に関して上記で説明した技法に類似した技法を使用して予測的クロマ残差ブロックを生成するために、ルーマ残差ブロックをダウンサンプリングし得る。そのような技法は、上記で説明した例示的なダウンサンプリングフィルタを使用する4:2:0サンプリングと4:2:2サンプリングの両方に(および場合によっては、フィルタリングを用いるが、必ずしもダウンサンプリングを用いるとは限らない4:4:4に)適用可能であり得る。
LMベースの復号ユニット165に関して上記で説明した例示的な技法は特定の条件下で適用可能であり得るが、これはあらゆる場合のための要件ではない。たとえば、現在のスライスがイントラコード化スライスではない場合、LMベースの復号ユニット165はクロマ予測を実行し得る。別の例として、隣接CUがインターコード化される場合、LMベースの復号ユニット165はクロマ予測を実行し得る。別の例として、RefPicList0および/またはRefPicList1の中の参照ピクチャが現在のピクチャのPOC値よりも小さいPOC値を有する場合、LMベースの復号ユニット165はクロマ予測を実行し得る。しかしながら、これらの条件は単に例として説明される。LMベースの復号ユニット165がすべての場合においてクロマ予測を実行することが可能であり得、クロマ予測がLMベースの復号ユニット165に基づいて実行されるかどうかは、どのコーディングが最適なビデオコーディングを提供するかに基づいて最終的に決定され得る。
LMベースの復号ユニット152は、予測的ブロックを再構成ユニット158に出力し得る。再構成ユニット158はまた、(たとえば、残差ブロックについてのビットストリームの中の情報がエントロピー復号ユニット150でエントロピー復号され、逆量子化ユニット154で逆量子化され、逆変換処理ユニット156で逆変換された後に)残差ブロックを受信する。再構成ユニット158は、クロマブロックを再構成するために、予測的ブロックに残差ブロックを加算する。
図8は、ビデオデータを線形モデル(LM)予測符号化する1つの例示的な技法を示すフローチャートである。図示のように、LMベースの符号化ユニット122は、符号化されているビデオデータのクロマブロックに対応するビデオデータのルーマブロックを決定する(200)。たとえば、予測処理ユニット100は、ピクチャをCTU、CU、およびPUに分割し、ビデオデータメモリ101に記憶するためのルーマブロックおよびクロマブロックを構成し、それらのブロックから、LMベースの符号化ユニット122は、どのルーマブロックがどのクロマブロックに対応するかを決定することができる。加えて、どのルーマブロックがどのクロマブロックに対応するかの決定に基づいて、LMベースの符号化ユニット122は、ルーマブロックのどのルーマサンプルがクロマブロックのどのクロマサンプルに対応するかを決定することもできる。たとえば、4:2:0サンプリングでは、4つのルーマサンプルは1つのクロマサンプルに対応する。
LMベースの符号化ユニット122は、クロマブロックの特性に基づいて、ルーマブロックに適用すべきフィルタをフィルタのセットから決定する(202)。たとえば、LMベースの符号化ユニット122は、第1のフィルタ(たとえば、2タップフィルタ)を、ピクチャ、スライス、CU、PU、またはTUの境界(たとえば、左境界)に位置するクロマブロックのクロマサンプルに対応するルーマブロックのルーマサンプルに適用すると決定する。LMベースの符号化ユニット122は、第2のフィルタ(たとえば、6タップフィルタ)を、境界に位置しないクロマブロックのクロマサンプルに対応するルーマブロックのルーマサンプルに適用すると決定する。
LMベースの符号化ユニット122は、決定されたフィルタに基づいて、ルーマブロックをダウンサンプリングする(204)。たとえば、決定されたフィルタに基づいて、ルーマブロックをダウンサンプリングするために、LMベースの符号化ユニット122は、ピクチャ、スライス、CU、PU、またはTUの境界(たとえば、左境界)にあるクロマブロックのクロマサンプルに対応するルーマブロックのルーマサンプルに対して式(12)の動作を実行し、ピクチャ、スライス、CU、PU、またはTUの境界にないクロマブロックのクロマサンプルに対応するルーマブロックのルーマサンプルに対して式(13)の動作を実行し得る。
LMベースの符号化ユニット122は、ダウンサンプリングされたルーマブロックに基づいて、予測的ブロックを決定し得る(206)。たとえば、LMベースの符号化ユニット122は、ルーマブロックに隣接する1つまたは複数の隣接ルーマブロックをダウンサンプリングし得る。しかしながら、隣接ブロックのダウンサンプリングは、すべての例において必要とされないことがある。LMベースの符号化ユニット122は、ダウンサンプリングされた1つまたは複数の隣接ルーマブロックと、符号化されているクロマブロックに隣接する1つまたは複数の隣接クロマブロックとに基づいて、第1のパラメータ(α)および第2のパラメータ(β)を決定し得る。LMベースの符号化ユニット122は、(たとえば、式(1)の動作を実行することによって)ダウンサンプリングされたルーマブロックと、第1のパラメータおよび第2のパラメータとに基づいて、予測的ブロックを決定し得る。
ビデオエンコーダ20は、クロマブロックおよび予測的ブロックに基づいて、残差ブロックを生成する(208)。たとえば、残差生成ユニット102は、クロマブロックと予測的ブロックとの間の残差を決定し、この残差ブロックは、変換され、量子化され、エントロピー符号化される。ビデオエンコーダ20は、ビデオデコーダ30がクロマブロックを再構成するために使用する残差ブロックを示す情報をシグナリングする。
図9は、ビデオデータを線形モデル(LM)予測復号する1つの例示的な技法を示すフローチャートである。図示のように、LMベースの復号ユニット165は、復号されているビデオデータのクロマブロックに対応するビデオデータのルーマブロックを決定する(210)。たとえば、予測処理ユニット152は、ピクチャがCTU、CU、およびPUに分割される方法を示す情報を受信し、それに従って、ルーマブロックおよびクロマブロックを構成し、それらのブロックから、LMベースの復号ユニット165は、どのルーマブロックがどのクロマブロックに対応するかを決定することができる。加えて、どのルーマブロックがどのクロマブロックに対応するかの決定に基づいて、LMベースの復号ユニット165は、ルーマブロックのどのルーマサンプルがクロマブロックのどのクロマサンプルに対応するかを決定することもできる。たとえば、4:2:0サンプリングでは、4つのルーマサンプルは1つのクロマサンプルに対応する。
LMベースの復号ユニット165は、クロマブロックの特性に基づいて、ルーマブロックに適用すべきフィルタをフィルタのセットから決定する(212)。たとえば、LMベースの復号ユニット165は、第1のフィルタ(たとえば、2タップフィルタ)を、ピクチャ、スライス、CU、PU、またはTUの境界(たとえば、左境界)に位置するクロマブロックのクロマサンプルに対応するルーマブロックのルーマサンプルに適用するとを決定し、境界に位置するクロマサンプルは、直接境界上に、境界に隣接して、場合によっては一定数のサンプル内に位置するサンプルである。LMベースの復号ユニット165は、第2のフィルタ(たとえば、6タップフィルタ)を、境界に位置しないクロマブロックのクロマサンプルに対応するルーマブロックのルーマサンプルに適用すると決定する。
LMベースの復号ユニット165は、決定されたフィルタに基づいて、ルーマブロックをダウンサンプリングする(214)。たとえば、決定されたフィルタに基づいて、ルーマブロックをダウンサンプリングするために、LMベースの復号ユニット165は、ピクチャ、スライス、CU、PU、またはTUの境界(たとえば、左境界)にあるクロマブロックのクロマサンプルに対応するルーマブロックのルーマサンプルに対して式(12)の動作を実行し、ピクチャ、スライス、CU、PU、またはTUの境界にないクロマブロックのクロマサンプルに対応するルーマブロックのルーマサンプルに対して式(13)の動作を実行し得る。
LMベースの復号ユニット165は、ダウンサンプリングされたルーマブロックに基づいて、予測的ブロックを決定し得る(216)。たとえば、LMベースの復号ユニット165は、ルーマブロックに隣接する1つまたは複数の隣接ルーマブロックをダウンサンプリングし得る。しかしながら、隣接ブロックのダウンサンプリングは、すべての例において必要とされないことがある。LMベースの復号ユニット165は、ダウンサンプリングされた1つまたは複数の隣接ルーマブロックと、復号されているクロマブロックに隣接する1つまたは複数の隣接クロマブロックとに基づいて、第1のパラメータ(α)および第2のパラメータ(β)を決定し得る。LMベースの復号ユニット165は、(たとえば、式(1)の動作を実行することによって)ダウンサンプリングされたルーマブロックと、第1のパラメータおよび第2のパラメータとに基づいて、予測的ブロックを決定し得る。
ビデオデコーダ30は、予測的ブロックおよび残差ブロックに基づいて、クロマブロックを再構成する(218)。ビデオデコーダ30は、残差ブロックについてのビットストリームからの情報をエントロピー復号、逆量子化、および逆変換した後に、残差ブロックを生成する。たとえば、再構成ユニット158は、DPB162に記憶された復号クロマブロックを再構成するために、LM予測によって生成された予測的ブロックを、ビデオエンコーダ20から受信された残差ブロックと合計する。
上記で説明した技法は、ビデオエンコーダ20(図1および図2)および/またはビデオデコーダ30(図1および図3)によって実行され得、それらの両方が、一般にビデオコーダと呼ばれることがある。同様に、ビデオコーディングは、適用可能なとき、ビデオ符号化またはビデオ復号を指すことがある。加えて、ビデオ符号化およびビデオ復号は、総称的にビデオデータの「処理」と呼ばれることがある。
本明細書で説明する技法のすべてが、個別にまたは組み合わせて使用され得ることを理解されたい。本開示は、ブロックサイズ、スライスタイプなどの一定の要因に応じて変化する場合がある、いくつかのシグナリング方法を含む。シンタックス要素をシグナリングまたは推論する際のそのような変動は、先験的にエンコーダおよびデコーダに知られることがあり、またはビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダにおいて、タイルレベルで、もしくは他の場所で明示的にシグナリングされることがある。
例に応じて、本明細書で説明する技法のいずれかのいくつかの行為またはイベントは異なる順序で実行されてもよく、追加され、統合され、または完全に除外されてもよい(たとえば、説明する行為またはイベントのすべてが技法の実施のために必要であるとは限らない)ことを認識されたい。さらに、いくつかの例では、行為またはイベントは、順次的にではなく、たとえばマルチスレッド処理、割込み処理、または複数のプロセッサを通じて同時に実行され得る。加えて、明快のために本開示のいくつかの態様は単一のモジュールまたはユニットによって実行されるものとして説明されるが、本開示の技法はビデオコーダに関連付けられたユニットまたはモジュールの組合せによって実行され得ることを理解されたい。
技法の様々な態様の特定の組合せについて上記で説明したが、これらの組合せは単に本開示で説明する技法の例を示すために与えられている。したがって、本開示の技法は、これらの例示的な組合せに限定されるべきではなく、本開示で説明する技法の様々な態様の任意の考えられる組合せを包含し得る。
1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せにおいて実装され得る。ソフトウェアにおいて実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、(1)非一時的である有形コンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明する技法を実装するための命令、コードおよび/またはデータ構造を取り出すために1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、フラッシュメモリ、または命令もしくはデータ構造の形態で所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を備えることができる。また、いかなる接続も適切にコンピュータ可読媒体と呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まず、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価の集積論理回路もしくは個別論理回路などの、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明する技法の実装に適した任意の他の構造のいずれかを指すことがある。加えて、いくつかの態様では、本明細書で説明する機能は、符号化および復号のために構成された専用のハードウェアモジュールおよび/もしくはソフトウェアモジュール内で与えられることがあり、または複合コーデックに組み込まれることがある。また、技法は、1つまたは複数の回路または論理要素において完全に実装され得る。
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示される技法を実行するように構成されたデバイスの機能的側面を強調するために、様々な構成要素、モジュール、またはユニットについて説明したが、それらは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットは、コーデックハードウェアユニットにおいて組み合わされてもよく、または適切なソフトウェアおよび/もしくはファームウェアとともに、上記で説明したような1つもしくは複数のプロセッサを含む相互動作可能なハードウェアユニットの集合によって提供されてもよい。
様々な例について説明した。これらの例および他の例は以下の特許請求の範囲内に入る。
10 ビデオコーディングシステム
12 ソースデバイス
14 宛先デバイス
16 チャネル、コンピュータ可読媒体
18 ビデオソース
20 ビデオエンコーダ
22 出力インターフェース
28 入力インターフェース
30 ビデオデコーダ
32 ディスプレイデバイス
100 予測処理ユニット
101 ビデオデータメモリ
102 残差生成ユニット
104 変換処理ユニット
106 量子化ユニット
108 逆量子化ユニット
110 逆変換処理ユニット
112 再構成ユニット
114 フィルタユニット
116 復号ピクチャバッファ、DPB
118 エントロピー符号化ユニット
120 インター予測処理ユニット
122 LMベースの符号化ユニット
126 イントラ予測処理ユニット
150 エントロピー復号ユニット
151 ビデオデータメモリ
152 予測処理ユニット
154 逆量子化ユニット
156 逆変換処理ユニット
158 再構成ユニット
160 フィルタユニット
162 復号ピクチャバッファ、DPB
164 動き補償ユニット
165 LMベースの復号ユニット
166 イントラ予測処理ユニット

Claims (16)

  1. ビデオデータを線形モデル(LM)予測復号する方法であって、
    復号されている前記ビデオデータのクロマブロックに対応する前記ビデオデータのルーマブロックを決定するステップと、
    前記クロマブロックの左境界上の前記クロマブロックのクロマサンプルに対応する、前記ルーマブロックのルーマサンプルに適用すべき第1のフィルタをフィルタのセットから決定するステップであって、前記クロマブロックの左境界上の前記クロマブロックのクロマサンプルは、前記左境界から一定数のサンプル内にあるクロマサンプルである、ステップと、
    前記クロマブロックの左境界上にない前記クロマブロックのクロマサンプルに対応する、前記ルーマブロックのルーマサンプルに適用すべき第2のフィルタをフィルタのセットから決定するステップと、
    前記決定された第1のフィルタを使用して、前記クロマブロックの左境界上の前記クロマブロックのクロマサンプルに対応する前記ルーマブロックの前記ルーマサンプルをダウンサンプリングするステップと、
    前記決定された第2のフィルタを使用して、前記クロマブロックの左境界上にない前記クロマブロックのクロマサンプルに対応する前記ルーマブロックの前記ルーマサンプルをダウンサンプリングするステップと、
    前記ダウンサンプリングされたルーマブロックに基づいて、予測的ブロックを決定するステップと、
    前記予測的ブロックおよび残差ブロックに基づいて、前記クロマブロックを再構成するステップと
    を備える、方法。
  2. 前記第1のフィルタが2タップフィルタを備え、前記第2のフィルタが6タップフィルタを備える、
    請求項1に記載の方法。
  3. 前記ルーマブロックに隣接する1つまたは複数の隣接ルーマブロックをダウンサンプリングするステップと、
    前記ダウンサンプリングされた1つまたは複数の隣接ルーマブロックと、前記クロマブロックに隣接する1つまたは複数の隣接クロマブロックとに基づいて、第1のパラメータおよび第2のパラメータを決定するステップと
    をさらに備え、
    前記予測的ブロックを決定するステップが、前記ダウンサンプリングされたルーマブロックと、前記第1のパラメータと、前記第2のパラメータとに基づいて、前記予測的ブロックを決定するステップを備える、
    請求項1に記載の方法。
  4. 前記ルーマブロックに隣接する1つまたは複数の隣接ルーマブロックと、前記クロマブロックに隣接する1つまたは複数の隣接クロマブロックとに基づいて、第1のパラメータのセットおよび第2のパラメータを決定するステップ
    をさらに備え、
    前記予測的ブロックを決定するステップが、前記ダウンサンプリングされたルーマブロックと、前記第1のパラメータのセットと、前記第2のパラメータとに基づいて、前記予測的ブロックを決定するステップを備える、
    請求項1に記載の方法。
  5. 前記ルーマブロックの1つまたは複数のルーマサンプルが、ピクチャ、コーディングユニット(CU)、予測ユニット(PU)、または変換ユニット(TU)のうちの1つまたは複数の外にあり、前記方法が、
    パディング値を用いて、外にある前記1つまたは複数のルーマサンプルに対してルーマサンプル値をパディングするステップ
    をさらに備え、
    前記ルーマブロックをダウンサンプリングするステップが、前記パディング値を有する前記ルーマブロックをダウンサンプリングするステップを備える、
    請求項1に記載の方法。
  6. 前記ルーマブロックがルーマ残差ブロックであり、前記クロマブロックがクロマ残差ブロックである、
    請求項1に記載の方法。
  7. ビデオデータを線形モデル(LM)予測符号化する方法であって、
    符号化されている前記ビデオデータのクロマブロックに対応する前記ビデオデータのルーマブロックを決定するステップと、
    前記クロマブロックの左境界上の前記クロマブロックのクロマサンプルに対応する、前記ルーマブロックのルーマサンプルに適用すべき第1のフィルタをフィルタのセットから決定するステップであって、前記クロマブロックの左境界上の前記クロマブロックのクロマサンプルは、前記左境界から一定数のサンプル内にあるクロマサンプルである、ステップと、
    前記クロマブロックの左境界上にない前記クロマブロックのクロマサンプルに対応する、前記ルーマブロックのルーマサンプルに適用すべき第2のフィルタをフィルタのセットから決定するステップと、
    前記決定された第1のフィルタを使用して、前記クロマブロックの左境界上の前記クロマブロックのクロマサンプルに対応する前記ルーマブロックの前記ルーマサンプルをダウンサンプリングするステップと、
    前記決定された第2のフィルタを使用して、前記クロマブロックの左境界上にない前記クロマブロックのクロマサンプルに対応する前記ルーマブロックの前記ルーマサンプルをダウンサンプリングするステップと、
    前記ダウンサンプリングされたルーマブロックに基づいて、予測的ブロックを決定するステップと、
    前記クロマブロックおよび前記予測的ブロックに基づいて、残差ブロックを生成するステップと
    を備える、方法。
  8. 前記第1のフィルタが2タップフィルタを備え、前記第2のフィルタが6タップフィルタを備える、
    請求項7に記載の方法。
  9. 前記ルーマブロックに隣接する1つまたは複数の隣接ルーマブロックをダウンサンプリングするステップと、
    前記ダウンサンプリングされた1つまたは複数の隣接ルーマブロックと、前記クロマブロックに隣接する1つまたは複数の隣接クロマブロックとに基づいて、第1のパラメータおよび第2のパラメータを決定するステップと
    をさらに備え、
    前記予測的ブロックを決定するステップが、前記ダウンサンプリングされたルーマブロックと、前記第1のパラメータと、前記第2のパラメータとに基づいて、前記予測的ブロックを決定するステップを備える、
    請求項7に記載の方法。
  10. 前記ルーマブロックに隣接する1つまたは複数の隣接ルーマブロックと、前記クロマブロックに隣接する1つまたは複数の隣接クロマブロックとに基づいて、第1のパラメータのセットおよび第2のパラメータを決定するステップ
    をさらに備え、
    前記予測的ブロックを決定するステップが、前記ダウンサンプリングされたルーマブロックと、前記第1のパラメータのセットと、前記第2のパラメータとに基づいて、前記予測的ブロックを決定するステップを備える、
    請求項7に記載の方法。
  11. 前記ルーマブロックの1つまたは複数のルーマサンプルが、ピクチャ、コーディングユニット(CU)、予測ユニット(PU)、または変換ユニット(TU)のうちの1つまたは複数の外にあり、前記方法が、
    パディング値を用いて、外にある前記1つまたは複数のルーマサンプルに対してルーマサンプル値をパディングするステップ
    をさらに備え、
    前記ルーマブロックをダウンサンプリングするステップが、前記パディング値を有する前記ルーマブロックをダウンサンプリングするステップを備える、
    請求項7に記載の方法。
  12. 前記ルーマブロックがルーマ残差ブロックであり、前記クロマブロックがクロマ残差ブロックである、
    請求項7に記載の方法。
  13. ビデオデータを線形モデル(LM)予測復号するためのデバイスであって、
    復号されている前記ビデオデータのクロマブロックに対応する前記ビデオデータのルーマブロックを決定するための手段と、
    前記クロマブロックの左境界上の前記クロマブロックのクロマサンプルに対応する、前記ルーマブロックのルーマサンプルに適用すべき第1のフィルタをフィルタのセットから決定するための手段であって、前記クロマブロックの左境界上の前記クロマブロックのクロマサンプルは、前記左境界から一定数のサンプル内にあるクロマサンプルである、手段と、
    前記クロマブロックの左境界上にない前記クロマブロックのクロマサンプルに対応する、前記ルーマブロックのルーマサンプルに適用すべき第2のフィルタをフィルタのセットから決定するための手段と、
    前記決定された第1のフィルタを使用して、前記クロマブロックの左境界上の前記クロマブロックのクロマサンプルに対応する前記ルーマブロックの前記ルーマサンプルをダウンサンプリングするための手段と、
    前記決定された第2のフィルタを使用して、前記クロマブロックの左境界上にない前記クロマブロックのクロマサンプルに対応する前記ルーマブロックの前記ルーマサンプルをダウンサンプリングするための手段と、
    前記ダウンサンプリングされたルーマブロックに基づいて、予測的ブロックを決定するための手段と、
    前記予測的ブロックおよび残差ブロックに基づいて、前記クロマブロックを再構成するための手段と
    を備える、デバイス。
  14. ビデオデータを線形モデル(LM)予測符号化するためのデバイスであって、
    符号化されている前記ビデオデータのクロマブロックに対応する前記ビデオデータのルーマブロックを決定するための手段と、
    前記クロマブロックの左境界上の前記クロマブロックのクロマサンプルに対応する、前記ルーマブロックのルーマサンプルに適用すべき第1のフィルタをフィルタのセットから決定するための手段であって、前記クロマブロックの左境界上の前記クロマブロックのクロマサンプルは、前記左境界から一定数のサンプル内にあるクロマサンプルである、手段と、
    前記クロマブロックの左境界上にない前記クロマブロックのクロマサンプルに対応する、前記ルーマブロックのルーマサンプルに適用すべき第2のフィルタをフィルタのセットから決定するための手段と、
    前記決定された第1のフィルタを使用して、前記クロマブロックの左境界上の前記クロマブロックのクロマサンプルに対応する前記ルーマブロックの前記ルーマサンプルをダウンサンプリングするための手段と、
    前記決定された第2のフィルタを使用して、前記クロマブロックの左境界上にない前記クロマブロックのクロマサンプルに対応する前記ルーマブロックの前記ルーマサンプルをダウンサンプリングするための手段と、
    前記ダウンサンプリングされたルーマブロックに基づいて、予測的ブロックを決定するための手段と、
    前記クロマブロックおよび前記予測的ブロックに基づいて、残差ブロックを生成するための手段と
    を備える、デバイス。
  15. 実行されたとき、ビデオデータを線形モデル(LM)予測コーディングするためのデバイスの1つまたは複数のプロセッサに、
    請求項1から6のいずれか一項に記載の方法を実行させる命令を記憶する
    コンピュータ可読記憶媒体。
  16. 実行されたとき、ビデオデータを線形モデル(LM)予測コーディングするためのデバイスの1つまたは複数のプロセッサに、
    請求項7から12のいずれか一項に記載の方法を実行させる命令を記憶する
    コンピュータ可読記憶媒体。
JP2017548411A 2015-03-20 2016-03-18 線形モデル予測モードのためのダウンサンプリングプロセス Active JP6827944B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562136344P 2015-03-20 2015-03-20
US62/136,344 2015-03-20
US15/073,171 2016-03-17
US15/073,171 US10455249B2 (en) 2015-03-20 2016-03-17 Downsampling process for linear model prediction mode
PCT/US2016/023157 WO2016154008A1 (en) 2015-03-20 2016-03-18 Downsampling process for linear model prediction mode

Publications (3)

Publication Number Publication Date
JP2018514119A JP2018514119A (ja) 2018-05-31
JP2018514119A5 JP2018514119A5 (ja) 2019-04-11
JP6827944B2 true JP6827944B2 (ja) 2021-02-10

Family

ID=56924068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017548411A Active JP6827944B2 (ja) 2015-03-20 2016-03-18 線形モデル予測モードのためのダウンサンプリングプロセス

Country Status (10)

Country Link
US (1) US10455249B2 (ja)
EP (1) EP3272121B1 (ja)
JP (1) JP6827944B2 (ja)
KR (1) KR102520295B1 (ja)
CN (1) CN107409209B (ja)
AR (1) AR104854A1 (ja)
BR (1) BR112017020102B1 (ja)
CA (1) CA2976820C (ja)
TW (1) TWI693821B (ja)
WO (1) WO2016154008A1 (ja)

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9979960B2 (en) 2012-10-01 2018-05-22 Microsoft Technology Licensing, Llc Frame packing and unpacking between frames of chroma sampling formats with different chroma resolutions
US9854201B2 (en) 2015-01-16 2017-12-26 Microsoft Technology Licensing, Llc Dynamically updating quality to higher chroma sampling rate
CN115278236A (zh) * 2015-08-28 2022-11-01 株式会社Kt 对图像进行解码或编码的方法和非暂态计算机可读介质
US20170150176A1 (en) 2015-11-25 2017-05-25 Qualcomm Incorporated Linear-model prediction with non-square prediction units in video coding
CN116915985A (zh) * 2016-10-04 2023-10-20 Lx 半导体科技有限公司 图像编码/解码方法和发送方法
US10368080B2 (en) 2016-10-21 2019-07-30 Microsoft Technology Licensing, Llc Selective upsampling or refresh of chroma sample values
US10477240B2 (en) * 2016-12-19 2019-11-12 Qualcomm Incorporated Linear model prediction mode with sample accessing for video coding
WO2018120230A1 (zh) * 2016-12-30 2018-07-05 华为技术有限公司 图像滤波方法、装置以及设备
WO2018230884A1 (ko) * 2017-06-12 2018-12-20 주식회사 케이티 비디오 신호 처리 방법 및 장치
WO2019004664A1 (ko) * 2017-06-26 2019-01-03 주식회사 케이티 비디오 신호 처리 방법 및 장치
CN109257605B (zh) * 2017-07-13 2021-11-19 华为技术有限公司 图像处理方法、设备及系统
CN109274969B (zh) * 2017-07-17 2020-12-22 华为技术有限公司 色度预测的方法和设备
JP2021005741A (ja) * 2017-09-14 2021-01-14 シャープ株式会社 画像符号化装置及び画像復号装置
GB2567249A (en) * 2017-10-09 2019-04-10 Canon Kk New sample sets and new down-sampling schemes for linear component sample prediction
CN115941941A (zh) * 2017-11-29 2023-04-07 韩国电子通信研究院 采用环内滤波的图像编码/解码方法和装置
CN108172168B (zh) * 2017-12-22 2019-11-15 深圳市华星光电半导体显示技术有限公司 一种补偿表压缩方法
WO2019147910A1 (en) * 2018-01-26 2019-08-01 Interdigital Vc Holdings, Inc. Method and apparatus for video encoding and decoding based on a linear model responsive to neighboring samples
WO2019194496A1 (ko) * 2018-04-01 2019-10-10 엘지전자 주식회사 비디오 신호의 컬러 컴포넌트에 대한 병렬 처리 방법 및 이를 위한 장치
EP3799429A4 (en) * 2018-04-01 2021-07-28 Guangdong Oppo Mobile Telecommunications Corp., Ltd. METHOD AND APPARATUS FOR IMAGE CODING / DECODING USING INTRA PREDICTION
WO2019206115A1 (en) * 2018-04-24 2019-10-31 Mediatek Inc. Method and apparatus for restricted linear model parameter derivation in video coding
CN112136325B (zh) 2018-05-14 2023-12-05 英迪股份有限公司 图像解码方法/装置、图像编码方法/装置以及存储比特流的记录介质
US20190364295A1 (en) * 2018-05-25 2019-11-28 Tencent America LLC Method and apparatus for video coding
KR102389267B1 (ko) * 2018-06-12 2022-04-20 광운대학교 산학협력단 성분 간 참조 기반의 비디오 신호 처리 방법 및 장치
KR101956756B1 (ko) 2018-06-12 2019-03-11 광운대학교 산학협력단 성분 간 참조 기반의 비디오 신호 처리 방법 및 장치
CN108769681B (zh) * 2018-06-20 2022-06-10 腾讯科技(深圳)有限公司 视频编码、解码方法、装置、计算机设备和存储介质
CN110650337B (zh) * 2018-06-26 2022-04-01 中兴通讯股份有限公司 一种图像编码方法、解码方法、编码器、解码器及存储介质
CN110662065A (zh) * 2018-06-29 2020-01-07 财团法人工业技术研究院 图像数据解码方法及解码器、图像数据编码方法及编码器
CN112369023B (zh) * 2018-07-02 2023-07-14 Lg电子株式会社 基于cclm的帧内预测方法和装置
CN116405687A (zh) 2018-07-12 2023-07-07 华为技术有限公司 视频译码中使用交叉分量线性模型进行帧内预测
CN110999290B (zh) * 2018-07-15 2021-07-16 华为技术有限公司 使用跨分量线性模型进行帧内预测的方法和装置
EP3815377B1 (en) * 2018-07-16 2022-12-28 Huawei Technologies Co., Ltd. Video encoder, video decoder, and corresponding encoding and decoding methods
CN110839153B (zh) * 2018-08-17 2023-04-07 北京字节跳动网络技术有限公司 一种处理视频数据的方法和装置
WO2020041306A1 (en) * 2018-08-21 2020-02-27 Futurewei Technologies, Inc. Intra prediction method and device
CN110858903B (zh) * 2018-08-22 2022-07-12 华为技术有限公司 色度块预测方法及装置
CN117915101A (zh) * 2018-09-05 2024-04-19 华为技术有限公司 色度块预测方法以及设备
CN110896479B (zh) * 2018-09-12 2023-10-03 北京字节跳动网络技术有限公司 单行交叉分量线性模型预测模式
BR122022004891B1 (pt) * 2018-09-20 2023-03-21 Lg Electronics Inc Métodos de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação, aparelhos de decodificação/codificação para decodificar/codificar imagem, método de transmissão de dados para imagem e meio de armazenamento não transitório legível por computador
WO2020071616A1 (ko) * 2018-10-04 2020-04-09 엘지전자 주식회사 Cclm에 기반한 인트라 예측 방법 및 그 장치
WO2020071617A1 (ko) * 2018-10-04 2020-04-09 엘지전자 주식회사 Cclm에 기반한 인트라 예측 방법 및 그 장치
MX2021003853A (es) * 2018-10-05 2021-09-08 Huawei Tech Co Ltd Método y dispositivo de intrapredicción.
PL3847816T3 (pl) * 2018-10-08 2023-08-14 Beijing Dajia Internet Information Technology Co., Ltd. Uproszczenia wieloskładnikowego modelu liniowego
US10939118B2 (en) * 2018-10-26 2021-03-02 Mediatek Inc. Luma-based chroma intra-prediction method that utilizes down-sampled luma samples derived from weighting and associated luma-based chroma intra-prediction apparatus
WO2020094066A1 (en) 2018-11-06 2020-05-14 Beijing Bytedance Network Technology Co., Ltd. Multi-parameters based intra prediction
US11197005B2 (en) 2018-11-08 2021-12-07 Qualcomm Incorporated Cross-component prediction for video coding
EP3709645B1 (en) * 2018-11-23 2022-10-19 LG Electronics Inc. Video encoding and decoding on the basis of cclm prediction
CN118200545A (zh) * 2018-11-23 2024-06-14 英迪股份有限公司 图像解码方法、图像编码方法和传输图像的比特流的方法
WO2020108591A1 (en) 2018-12-01 2020-06-04 Beijing Bytedance Network Technology Co., Ltd. Parameter derivation for intra prediction
CN111327903B (zh) * 2018-12-13 2023-05-16 华为技术有限公司 色度块的预测方法和装置
CN118200556A (zh) 2018-12-27 2024-06-14 英迪股份有限公司 图像编码/解码方法和装置
CN111083486A (zh) * 2019-01-03 2020-04-28 北京达佳互联信息技术有限公司 一种确定编码单元的色度信息的方法和装置
WO2020145792A1 (ko) * 2019-01-12 2020-07-16 엘지전자 주식회사 영상 코딩 시스템에서 cclm 예측을 사용하는 영상 디코딩 방법 및 그 장치
KR102476272B1 (ko) * 2019-02-22 2022-12-09 엘지전자 주식회사 영상 코딩 시스템에서 cclm 예측에 기반한 영상 디코딩 방법 및 그 장치
MX2021009788A (es) * 2019-02-22 2021-09-08 Beijing Bytedance Network Tech Co Ltd Seleccion de muestra colindante para intraprediccion.
JP2022521757A (ja) * 2019-02-22 2022-04-12 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 線形モデルを使用したイントラ予測のための方法および装置
CN113545056A (zh) 2019-02-28 2021-10-22 交互数字Vc控股公司 用于图片编码和解码的方法及设备
CN113767624A (zh) * 2019-03-08 2021-12-07 瑞典爱立信有限公司 提供相关/独立分区编码/解码的方法和有关装置
US20200288159A1 (en) 2019-03-08 2020-09-10 Qualcomm Incorporated Combined residual coding in video coding
EP3939259A4 (en) * 2019-03-12 2022-12-14 Beijing Dajia Internet Information Technology Co., Ltd. VIDEO CODING USING A MULTIPLE MODEL LINEAR MODEL
US11070812B2 (en) * 2019-03-12 2021-07-20 Qualcomm Incorporated Coefficient domain block differential pulse-code modulation in video coding
EP3930329A4 (en) * 2019-03-25 2022-07-20 Guangdong Oppo Mobile Telecommunications Corp., Ltd. IMAGE COMPONENT PREDICTION METHOD, ENCODER, DECODER AND COMPUTER STORAGE MEDIA
WO2020192084A1 (zh) * 2019-03-25 2020-10-01 Oppo广东移动通信有限公司 图像预测方法、编码器、解码器以及存储介质
KR20200127897A (ko) * 2019-05-03 2020-11-11 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
EP3912341A4 (en) * 2019-05-21 2022-10-19 Huawei Technologies Co., Ltd. METHOD AND APPARATUS FOR INTER-COMPONENT PREDICTION
US11330298B2 (en) * 2019-06-25 2022-05-10 Qualcomm Incorporated Simplified intra chroma mode coding in video coding
CN114128280B (zh) 2019-07-07 2023-11-14 北京字节跳动网络技术有限公司 色度残差缩放的信令通知
WO2021006692A1 (ko) * 2019-07-11 2021-01-14 삼성전자 주식회사 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치
KR20210027173A (ko) * 2019-08-28 2021-03-10 주식회사 케이티 비디오 신호 처리 방법 및 장치
KR20220066045A (ko) 2019-09-19 2022-05-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩의 스케일링 윈도우
JP7328445B2 (ja) 2019-09-19 2023-08-16 北京字節跳動網絡技術有限公司 ビデオコーディングにおける参照サンプル位置の導出
JP7391199B2 (ja) 2019-10-05 2023-12-04 北京字節跳動網絡技術有限公司 映像コーディングツールのレベルベースシグナリング
JP7482218B2 (ja) 2019-10-12 2024-05-13 北京字節跳動網絡技術有限公司 ビデオコーディングにおける予測タイプシグナリング
CN114556955B (zh) 2019-10-13 2024-04-05 北京字节跳动网络技术有限公司 参考图片重采样与视频编解码工具之间的相互作用
KR102558336B1 (ko) * 2019-12-30 2023-07-20 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 비디오 데이터의 크로마 및 루마 성분의 교차 성분 결정
JP7473680B2 (ja) 2020-04-18 2024-04-23 北京字節跳動網絡技術有限公司 クロスコンポーネント予測のための利用制約

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9693070B2 (en) * 2011-06-24 2017-06-27 Texas Instruments Incorporated Luma-based chroma intra-prediction for video coding
RU2604669C2 (ru) * 2011-06-28 2016-12-10 Самсунг Электроникс Ко., Лтд. Способ и устройство для предсказания компоненты цветности изображения с использованием компоненты яркости изображения
US8724711B2 (en) * 2011-07-12 2014-05-13 Intel Corporation Luma-based chroma intra prediction
JP2013110502A (ja) * 2011-11-18 2013-06-06 Sony Corp 画像処理装置及び画像処理方法
CN103918269B (zh) 2012-01-04 2017-08-01 联发科技(新加坡)私人有限公司 色度帧内预测方法及装置
US9307237B2 (en) 2012-01-19 2016-04-05 Futurewei Technologies, Inc. Reference pixel reduction for intra LM prediction
US9225984B2 (en) 2012-01-24 2015-12-29 Futurewei Technologies, Inc. Simplification of LM mode
US9313495B2 (en) * 2012-05-14 2016-04-12 Luca Rossato Encoding and decoding based on blending of sequences of samples along time

Also Published As

Publication number Publication date
CN107409209B (zh) 2020-11-10
TWI693821B (zh) 2020-05-11
EP3272121A1 (en) 2018-01-24
KR20170129750A (ko) 2017-11-27
AR104854A1 (es) 2017-08-23
BR112017020102A2 (pt) 2018-05-29
EP3272121B1 (en) 2021-07-07
CA2976820C (en) 2023-08-29
JP2018514119A (ja) 2018-05-31
TW201639365A (zh) 2016-11-01
US10455249B2 (en) 2019-10-22
CN107409209A (zh) 2017-11-28
BR112017020102B1 (pt) 2023-10-31
CA2976820A1 (en) 2016-09-29
WO2016154008A1 (en) 2016-09-29
US20160277762A1 (en) 2016-09-22
KR102520295B1 (ko) 2023-04-10

Similar Documents

Publication Publication Date Title
JP6827944B2 (ja) 線形モデル予測モードのためのダウンサンプリングプロセス
KR102574560B1 (ko) 비디오 코딩을 위해 액세스하는 샘플을 갖는 선형 모델 예측 모드
EP3350997B1 (en) Restriction of escape pixel signaled values in palette mode video coding
CN107113436B (zh) 用于解码视频数据的方法和装置以及计算机可读存储媒体
JP6771493B2 (ja) ビデオコーディングのためのパレットバイパスビンのグループ化
KR101977450B1 (ko) 팔레트 코딩 모드에서의 비디오 블록의 이스케이프 픽셀들의 양자화
KR102338145B1 (ko) 팔레트 모드 인코딩 및 디코딩 설계
EP3056003B1 (en) Signaling for sub-decoded picture buffer (sub-dpb) based dpb operations in video coding
US20140198846A1 (en) Device and method for scalable coding of video information
JP2016526334A (ja) 色成分の間のサンプル予測を使用したビデオコード化
EP3198873A1 (en) Parsing dependency reduction for palette index coding
US9848198B2 (en) Diagonal copy for palette mode coding

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190301

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190301

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200408

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200907

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210120

R150 Certificate of patent or registration of utility model

Ref document number: 6827944

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250