JP2019512965A - ビデオコーディングツールのための制約付きブロックレベル最適化およびシグナリング - Google Patents

ビデオコーディングツールのための制約付きブロックレベル最適化およびシグナリング Download PDF

Info

Publication number
JP2019512965A
JP2019512965A JP2018549338A JP2018549338A JP2019512965A JP 2019512965 A JP2019512965 A JP 2019512965A JP 2018549338 A JP2018549338 A JP 2018549338A JP 2018549338 A JP2018549338 A JP 2018549338A JP 2019512965 A JP2019512965 A JP 2019512965A
Authority
JP
Japan
Prior art keywords
block
coding
video
level threshold
blocks
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.)
Pending
Application number
JP2018549338A
Other languages
English (en)
Other versions
JP2019512965A5 (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 JP2019512965A publication Critical patent/JP2019512965A/ja
Publication of JP2019512965A5 publication Critical patent/JP2019512965A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

符号化ビデオデータを復号するための例示的なデバイスは、記憶媒体および処理回路構成を含む。記憶媒体は、符号化ビデオデータの一部分を記憶するように構成される。処理回路構成は、記憶媒体に記憶された符号化ビデオデータの一部分に対するブロックレベルしきい値を決定し、符号化ビデオデータの一部分の符号化ブロックが、しきい値に等しいかまたはそれよりも大きいサイズを有すると決定し、符号化ブロックの一部分がコーディングツールを使用して再構成されるべきであることを示す、シンタックス要素を受信し、符号化ブロックがしきい値に等しいかまたはそれよりも大きいサイズを有することに基づいて、シンタックス要素が符号化ブロックの中に含まれる複数のサンプルのうちのすべてのサンプルに適用されると決定し、コーディングツールに基づいて符号化ブロックを再構成するように構成される。

Description

本出願は、その内容全体が参照により本明細書に組み込まれる、2016年3月22日に出願された米国仮特許出願第62/311,877号の利益を主張する。
本開示は、ビデオ符号化およびビデオ復号に関する。
デジタルビデオ能力は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲーミングデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4、Part 10、アドバンストビデオコーディング(AVC:Advanced Video Coding)、高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオコーディング技法などのビデオコーディング技法を実施する。ビデオデバイスは、そのようなビデオコーディング技法を実施することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶し得る。ビデオコーディング規格は、そのスケーラブルビデオコーディング(SVC:Scalable Video Coding)拡張およびマルチビュービデオコーディング(MVC:Multi-view Video Coding)拡張を含む、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、およびITU-T H.264(ISO/IEC MPEG-4 AVCとも呼ばれる)を含む。加えて、新たなビデオコーディング規格、すなわち、高効率ビデオコーディング(HEVC)が、ITU-Tビデオコーディングエキスパートグループ(VCEG)とISO/IECモーションピクチャエキスパートグループ(MPEG)とのビデオコーディング共同研究部会(JCT-VC)によって最近開発されている。以下でHEVC WDと呼ばれる最新のHEVCドラフト仕様は、http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zipから入手可能である。
ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間(イントラピクチャ)予測および/または時間(インターピクチャ)予測を含む。ブロックベースのビデオコーディングの場合、ビデオスライス(たとえば、ビデオフレーム、またはビデオフレームの一部分)は、ビデオブロックに区分されてよく、ビデオブロックは、ツリーブロック、コーディングユニット(CU:Coding Unit)、および/またはコーディングノードと呼ばれることもある。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
空間予測または時間予測は、コーディングされるべきブロックに対する予測ブロックをもたらす。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて残差変換係数をもたらし得、残差変換係数は、次いで、量子化され得る。なお一層の圧縮を達成するために、エントロピーコーディングが適用されてよい。
米国特許出願第15/005,736号 米国仮出願第62/234,644号 米国仮出願第62/294,897号 米国仮出願第62/323,496号 米国仮出願第62/337,736号 米国特許出願第15/270,455号 米国特許出願第15/270,507号 米国仮出願第62/234,645号 米国特許出願第15/272,034号
HEVCドラフト仕様、http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zip Sullivanら、「Overview of the High Efficiency Video coding (HEVC) Standard」IEEE Trans. Circuits and Systems for Video Technology、Vol. 22、No. 12、pp. 1649〜1668、2012年12月 Kimら、「Block Partitioning Structure in the HEVC Standard」IEEE Trans. Circuits and Systems for Video Technology、Vol. 22、No. 12、pp. 1697〜1705、2012年12月 Anら、「Block Partitioning Structure for Next Generation Video Coding」ITU-T SG16 Doc. COM16〜C966、2015年9月 「QTBT Software」2015年10月、https://vceg.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/branches/HM-13.0-QTBT/ 「Algorithm Description of Joint Exploration Test Model 2」ITU-T SG16 WP 3とISO/IEC JTC 1/SC29/WG11との共同ビデオ探究部会(JVET)、第2回会合、サンディエゴ、米国、2016年2月20〜26日、文書番号JVET-B1001_v1
概して、本開示は、ビデオ符号化およびビデオ復号における1つまたは複数のコーディングツールの使用のための、ブロックレベルしきい値処理またはブロックレベル制約を使用するための技法について説明する。
一例では、符号化ビデオデータを復号するためのデバイスは、1つまたは複数の記憶媒体、および記憶媒体と通信している処理回路構成を含む。記憶媒体は、符号化ビデオデータの少なくとも一部分を記憶するように構成される。処理回路構成は、記憶媒体に記憶された符号化ビデオデータの一部分に対するブロックレベルしきい値を決定し、記憶媒体に記憶された符号化ビデオデータの一部分の符号化ブロックが、ブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有すると決定し、符号化ブロックの一部分がコーディングツールを使用して再構成されるべきであることを示す、シンタックス要素を受信し、符号化ブロックがブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有することに基づいて、符号化ブロックの中に含まれる複数のサンプルのうちのすべてのサンプルにシンタックス要素が適用されると決定し、コーディングツールに基づいて符号化ブロックを再構成するように構成される。
別の例では、ビデオデータを符号化するためのデバイスは、1つまたは複数の記憶媒体、および記憶媒体と通信している処理回路構成を含む。記憶媒体は、符号化ビデオデータの少なくとも一部分を記憶するように構成される。処理回路構成は、記憶媒体に記憶されたビデオデータの一部分に対するブロックレベルしきい値を決定し、記憶媒体に記憶されたビデオデータの一部分のブロックが、ブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有すると決定し、符号化ブロックを形成するためにコーディングツールを使用してブロックを符号化し、符号化ブロックがブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有することに基づいて、符号化ブロックの複数のサンプルのうちのすべてのサンプルがコーディングツールを使用して再構成されるべきであることを示す、シンタックス要素を符号化するように構成される。
別の例では、本開示は、符号化ビデオデータを復号する方法を対象とする。方法は、符号化ビデオデータの一部分に対するブロックレベルしきい値を決定するステップと、符号化ビデオデータの一部分の符号化ブロックが、ブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有すると決定するステップと、符号化ブロックの一部分がコーディングツールを使用して再構成されるべきであることを示す、シンタックス要素を受信するステップとを含む。方法は、符号化ブロックがブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有することに基づいて、符号化ブロックの中に含まれる複数のサンプルのうちのすべてのサンプルにシンタックス要素が適用されると決定するステップと、コーディングツールに基づいて符号化ブロックを再構成するステップとをさらに含む。
別の例では、本開示は、符号化ビデオデータを復号するための装置を対象とする。装置は、符号化ビデオデータの一部分に対するブロックレベルしきい値を決定するための手段と、記憶媒体に記憶された符号化ビデオデータの一部分の符号化ブロックが、ブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有すると決定するための手段とを含む。装置は、符号化ブロックの一部分がコーディングツールを使用して再構成されるべきであることを示す、シンタックス要素を受信するための手段と、符号化ブロックがブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有することに基づいて、符号化ブロックの中に含まれる複数のサンプルのうちのすべてのサンプルにシンタックス要素が適用されると決定するための手段とをさらに含む。装置は、コーディングツールに基づいて符号化ブロックを再構成するための手段をさらに含む。
1つまたは複数の例の詳細が、添付図面および以下の説明に記載される。他の特徴、目的、および利点は、説明および図面から、かつ特許請求の範囲から明らかになろう。
本開示の技法を実施するように構成された例示的なビデオ符号化および復号システムを示すブロック図である。 本開示の技法によるCTU用のブロック区分構造の一例を示す概念図である。 QTBT区分構造によるブロック区分の一例を示す概念図である。 本開示の1つまたは複数の態様による、QTBT区分構造のさらなる例および詳細ならびに区分するための対応する木構造を示す概念図である。 本開示の1つまたは複数の態様による、QTBT区分構造のさらなる例および詳細ならびに区分するための対応する木構造を示す概念図である。 本開示の技法を実施するように構成されたビデオエンコーダの一例を示すブロック図である。 本開示の技法を実施するように構成されたビデオデコーダの一例を示すブロック図である。 64×64のCTUのための本開示の例示的なコーディングツール関連フラグシグナリング技法を示す概念図である。 本開示の1つまたは複数の技法を実施するためにビデオ復号デバイスが実行し得る、例示的なプロセスを示すフローチャートである。 本開示の1つまたは複数の技法を実施するためにビデオ符号化デバイスが実行し得る、例示的なプロセスを示すフローチャートである。
本開示は、一般に、ビデオコーディングツールのための制約付きブロックレベル最適化およびシグナリングのための技法に関する。本開示の態様はまた、HEVCの拡張または次世代のビデオコーディング規格などの、アドバンストビデオコーデックのコンテキストで使用され得る。次世代のビデオコーディング規格の態様は、ブロック区分方式を対象とする。そのような区分方式の一例は、4分木+2分木(QTBT:Quadtree Plus Binary Tree)ブロック区分構造である。QTBT構造によれば、ブロックは、1つまたは複数の再帰的なサイクルの間に、4分木構造に従って区分され得る。いくらかの程度の4分木ベース区分の後、区分されつつあるサブブロックが、QTBT区分構造の下で許容される最大2分木ルートノードサイズよりも大きくないエリアを有するという条件で、得られたサブブロック(たとえば、リーフノード)のうちの1つまたは複数が2分木構造に従ってさらに区分され得る。
4分木ブロック区分構造はHEVCに記載されており、様々なビデオコーディングツールのための基礎である。すなわち、様々な既存のコーディングツールの設計は、4分木区分を介して取得されたサブブロックに適用されることに対して最適化されている。4分木区分は、定義によれば、リーフノードとして正方形サブブロックを生み出す。したがって、様々な既存のコーディングツールの設計は、正方形サブブロックに対して最適化されている。しかしながら、QTBT区分方式の2分木態様は、QTBT区分されたブロックのリーフノードが正方形または正方形でない矩形であってよいという点で、リーフノード形状にフレキシビリティを持ち込む。したがって、様々な既存のコーディングツールの設計は、ブロックがQTBT区分構造に従って区分されるすべてのシナリオにおいて適用されるように最適化されているとは限らない。
本開示は、概して、QTBT区分を介して取得されたサブブロックに既存のコーディングツールを適用することから生じることがある非効率性を緩和または潜在的に解消する、ブロックサイズベースの制約を対象とする。いくつかの例では、本開示の技法は、様々なコーディングツール関連動作に対して(たとえば、最小ブロックサイズの形式で)ブロックレベルしきい値を設定する。本開示の技法に従ってブロックレベルしきい値を設定することによって、ビデオ符号化デバイスおよびビデオ復号デバイスは、やはりQTBT区分構造を実施するとともにQTBT区分構造によってもたらされる利点を利用しながら、これらのコーディングツールによってもたらされる利点を活用し得る。
たとえば、QTBTにおけるコーディングツールは、特定のサイズのブロックに対してコーディング利得がもたらされ得るが、他のサイズのブロックの場合、シグナリングオーバーヘッドが非常に大きいことがあり、QTBTの利点を相殺する。ブロックレベルしきい値の使用を伴うと、シグナリングオーバーヘッドがコーディング利得を無効にする可能性を小さくしながら、QTBTにとって利用可能なコーディング利得が活用され得る。
図1は、本開示の技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示すように、システム10は、宛先デバイス14によって後で復号されるべき符号化ビデオデータを提供するソースデバイス12を含む。詳細には、ソースデバイス12は、コンピュータ可読媒体16を介して宛先デバイス14にビデオデータを提供する。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、タブレットコンピュータ、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーミングコンソール、ビデオストリーミングデバイスなどを含む、広範囲のデバイスのうちのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。したがって、ソースデバイス12および宛先デバイス14は、ワイヤレス通信デバイスであってよい。ソースデバイス12は、例示的なビデオ符号化デバイス(すなわち、ビデオデータを符号化するためのデバイス)である。宛先デバイス14は、例示的なビデオ復号デバイス(すなわち、ビデオデータを復号するためのデバイス)である。
図1の例では、ソースデバイス12は、ビデオソース18、ビデオデータを記憶するように構成された記憶媒体20、ビデオエンコーダ22、および出力インターフェース24を含む。宛先デバイス14は、入力インターフェース26、符号化ビデオデータを記憶するように構成された記憶媒体28、ビデオデコーダ30、およびディスプレイデバイス32を含む。他の例では、ソースデバイス12および宛先デバイス14は、他の構成要素または構成を含む。たとえば、ソースデバイス12は、外部カメラなどの外部ビデオソースからビデオデータを受信し得る。同様に、宛先デバイス14は、統合されたディスプレイデバイス32を含むのではなく、外部ディスプレイデバイスとインターフェースしてよい。
図示した図1のシステム10は一例にすぎない。ビデオデータを処理および/またはコーディングするための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行され得る。一般に、本開示の技法はビデオ符号化デバイスまたはビデオ復号デバイスによって実行されるが、技法はまた、通常は「コーデック」と呼ばれるビデオエンコーダ/デコーダによって実行され得る。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14への送信のためのコード化ビデオデータを生成するようなコーディングデバイスの例にすぎない。いくつかの例では、ソースデバイス12および宛先デバイス14は、ソースデバイス12および宛先デバイス14の各々がビデオ符号化および復号構成要素を含むように、実質的に対称的に動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオ放送、またはビデオ電話のための、ソースデバイス12と宛先デバイス14との間での一方向または双方向のビデオ送信をサポートし得る。
ソースデバイス12のビデオソース18は、ビデオカメラ、以前にキャプチャされたビデオを含むビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェースなどの、ビデオキャプチャデバイスを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブされたビデオとコンピュータで生成されたビデオとの組合せを生成し得る。ソースデバイス12は、ビデオデータを記憶するように構成された1つまたは複数のデータ記憶媒体(たとえば、記憶媒体20)を備え得る。本開示で説明する技法は、ビデオコーディングに概して適用可能であり得、ワイヤレスおよび/または有線の適用例に適用され得る。各場合において、キャプチャされた、事前にキャプチャされた、またはコンピュータで生成されたビデオが、ビデオエンコーダ22によって符号化され得る。出力インターフェース24が、符号化されたビデオ情報をコンピュータ可読媒体16に出力し得る。
宛先デバイス14は、コンピュータ可読媒体16を介して、復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。いくつかの例では、コンピュータ可読媒体16は、ソースデバイス12が符号化ビデオデータを宛先デバイス14へリアルタイムで直接送信することを可能にする通信媒体を備える。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調されてよく、宛先デバイス14へ送信され得る。通信媒体は、無線周波数(RF)スペクトルまたは1つもしくは複数の物理伝送線路などの、任意のワイヤレスまたは有線の通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなどの、パケットベースネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を容易にするのに有用であり得る任意の他の機器を含み得る。宛先デバイス14は、符号化ビデオデータおよび復号ビデオデータを記憶するように構成された1つまたは複数のデータ記憶媒体を備え得る。
いくつかの例では、符号化データは、出力インターフェース24から記憶デバイスに出力され得る。同様に、符号化データは、入力インターフェースによって記憶デバイスからアクセスされ得る。記憶デバイスは、ハードドライブ、Blu-ray(登録商標)ディスク、DVD、CD-ROM、フラッシュメモリ、揮発性メモリもしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体などの、分散されるかまたは局所的にアクセスされる様々なデータ記憶媒体のいずれかを含み得る。さらなる一例では、記憶デバイスは、ソースデバイス12によって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間記憶デバイスに相当し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介して記憶デバイスからの記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶するとともにその符号化ビデオデータを宛先デバイス14へ送信することが可能な、任意のタイプのサーバであってよい。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む任意の標準的なデータ接続を通じて符号化ビデオデータにアクセスし得る。これは、ワイヤレスチャネル(たとえば、Wi-Fi接続)、有線接続(たとえば、DSL、ケーブルモデムなど)、またはファイルサーバ上に記憶された符号化ビデオデータにアクセスするのに適した両方の組合せを含み得る。記憶デバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであってよい。
本開示で説明する技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーHTTP(DASH)などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されているデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の適用例などの、様々なマルチメディア適用例のいずれかをサポートする際にビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオ電話などの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
コンピュータ可読媒体16は、ワイヤレスブロードキャストもしくは有線ネットワーク送信などの一時媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Blu-ray(登録商標)ディスク、もしくは他のコンピュータ可読媒体などの記憶媒体(すなわち、非一時的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示せず)が、たとえば、ネットワーク送信を介して、ソースデバイス12から符号化ビデオデータを受信してよく、符号化ビデオデータを宛先デバイス14に提供してよい。同様に、ディスクスタンピング設備などの媒体製造設備のコンピューティングデバイスが、ソースデバイス12から符号化ビデオデータを受信してよく、符号化ビデオデータを含むディスクを製造してよい。したがって、コンピュータ可読媒体16は、様々な例において、様々な形態の1つまたは複数のコンピュータ可読媒体を含むものと理解されてよい。
宛先デバイス14の入力インターフェース26は、コンピュータ可読媒体16から情報を受信する。コンピュータ可読媒体16の情報は、ブロックおよび他のコード化ユニット、たとえば、ピクチャグループ(GOP:Groups of Pictures)の特性および/または処理を記述するシンタックス要素を含む、ビデオエンコーダ22によって規定されるとともにビデオデコーダ30によって同様に使用されるシンタックス情報を含み得る。記憶媒体28は、入力インターフェース26によって受信された符号化ビデオデータを記憶し得る。ディスプレイデバイス32は、復号ビデオデータをユーザに表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなどの、様々なディスプレイデバイスのいずれかを備え得る。
ビデオエンコーダ22およびビデオデコーダ30は各々、1つまたは複数のマイクロプロセッサ、処理回路構成(固定機能回路構成および/またはプログラマブル処理回路構成を含む)、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなどの、様々な好適なエンコーダ回路構成のいずれかとして実装され得る。技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアのための命令を記憶してよく、本開示の技法を実行するための1つまたは複数のプロセッサを使用してハードウェアで命令を実行してよい。ビデオエンコーダ22およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれてよく、そのいずれもが、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合されてよい。
いくつかの例では、ビデオエンコーダ22およびビデオデコーダ30は、ビデオコーディング規格に従って動作し得る。例示的なビデオコーディング規格は、限定はしないが、そのスケーラブルビデオコーディング(SVC)拡張およびマルチビュービデオコーディング(MVC)拡張を含む、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、およびITU-T H.264(ISO/IEC MPEG-4 AVCとも呼ばれる)を含む。加えて、新たなビデオコーディング規格、すなわち、そのレンジ拡張およびスクリーンコンテンツコーディング拡張、3Dビデオコーディング(3D-HEVC)およびマルチビュー拡張(MV-HEVC)、ならびにスケーラブル拡張(SHVC)を含む、高効率ビデオコーディング(HEVC)またはITU-T H.265が、ITU-Tビデオコーディングエキスパートグループ(VCEG)とISO/IECモーションピクチャエキスパートグループ(MPEG)とのビデオコーディング共同研究部会(JCT-VC)によって最近開発されている。次世代ビデオコーディング規格が、その後のITU-H.265の確定に向けて本開示の時点において開発中である。
HEVCおよび他のビデオコーディング仕様では、ビデオシーケンスは、通常、一連のピクチャを含む。ピクチャは、「フレーム」と呼ばれることもある。ピクチャは、SL、SCb、およびSCrと表される3つのサンプルアレイを含み得る。SLは、ルーマサンプルの2次元アレイ(すなわち、ブロック)である。SCbは、Cbクロミナンスサンプルの2次元アレイである。SCrは、Crクロミナンスサンプルの2次元アレイである。クロミナンスサンプルは、本明細書で「クロマ」サンプルと呼ばれることもある。他の事例では、ピクチャはモノクロームであってよく、ルーマサンプルのアレイしか含まなくてもよい。
ピクチャの符号化表現を生成するために、ビデオエンコーダ22は、コーディングツリーユニット(CTU:Coding Tree Unit)のセットを生成し得る。CTUの各々は、ルーマサンプルのコーディングツリーブロック、クロマサンプルの2つの対応するコーディングツリーブロック、およびコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造を備え得る。モノクロームピクチャまたは3つの別個のカラープレーンを有するピクチャでは、CTUは、単一のコーディングツリーブロック、およびコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造を備え得る。コーディングツリーブロックは、サンプルのN×Nブロックであり得る。CTUは、「ツリーブロック」または「最大コーディングユニット」(LCU:Largest Coding Unit)と呼ばれることもある。HEVCのCTUは、H.264/AVCなどの他の規格のマクロブロックに概して類似し得る。しかしながら、CTUは、必ずしも特定のサイズに限定されるとは限らず、1つまたは複数のコーディングユニット(CU)を含んでよい。スライスは、ラスタ走査順序で連続的に順序付けられた整数個のCTUを含み得る。
本開示は、サンプルの1つまたは複数のブロックのサンプルをコーディングするために使用される1つまたは複数のサンプルブロックおよびシンタックス構造を指すために、「ビデオユニット」または「ビデオブロック」または「ブロック」という用語を使用することがある。例示的なタイプのビデオユニットは、CTU、CU、PU、変換ユニット(TU:Transform Unit)、マクロブロック、マクロブロック区分などを含み得る。いくつかのコンテキストでは、PUの説明はマクロブロックまたはマクロブロック区分の説明と交換されてよい。例示的なタイプのビデオブロックは、コーディングツリーブロック、コーディングブロック、およびビデオデータの他のタイプのブロックを含み得る。
コード化CTUを生成するために、ビデオエンコーダ22は、CTUのコーディングツリーブロック上で4分木区分を再帰的に実行して、コーディングツリーブロックをコーディングブロックに分割してよく、したがって、「コーディングツリーユニット」という名前である。コーディングブロックは、サンプルのN×Nブロックである。CUは、ルーマサンプルアレイ、Cbサンプルアレイ、およびCrサンプルアレイを有するピクチャのルーマサンプルのコーディングブロックおよびクロマサンプルの2つの対応するコーディングブロック、ならびにコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造を備え得る。モノクロームピクチャまたは3つの別個のカラープレーンを有するピクチャでは、CUは、単一のコーディングブロック、およびコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造を備え得る。
ビデオエンコーダ22は、CUのコーディングブロックを1つまたは複数の予測ブロックに区分し得る。予測ブロックは、同じ予測が適用されるサンプルの矩形(すなわち、正方形または非正方形)ブロックである。CUの予測ユニット(PU:Prediction Unit)は、ルーマサンプルの予測ブロック、クロマサンプルの2つの対応する予測ブロック、および予測ブロックを予測するために使用されるシンタックス構造を備え得る。モノクロームピクチャまたは3つの別個のカラープレーンを有するピクチャでは、PUは、単一の予測ブロック、および予測ブロックを予測するために使用されるシンタックス構造を備え得る。ビデオエンコーダ22は、CUの各PUの予測ブロック(たとえば、ルーマ予測ブロック、Cb予測ブロック、およびCr予測ブロック)に対して、予測ブロック(たとえば、ルーマ予測ブロック、Cb予測ブロック、およびCr予測ブロック)を生成し得る。
ビデオエンコーダ22は、イントラ予測またはインター予測を使用して、PU用の予測ブロックを生成し得る。ビデオエンコーダ22がPUの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ22は、PUを含むピクチャの復号サンプルに基づいて、PUの予測ブロックを生成し得る。
ビデオエンコーダ22がCUの1つまたは複数のPUに対する予測ブロック(たとえば、ルーマ予測ブロック、Cb予測ブロック、およびCr予測ブロック)を生成した後、ビデオエンコーダ22は、CUに対して1つまたは複数の残差ブロックを生成し得る。一例として、ビデオエンコーダ22は、CUに対してルーマ残差ブロックを生成し得る。CUのルーマ残差ブロックの中の各サンプルは、CUの予測ルーマブロックのうちの1つの中のルーマサンプルとCUの元のルーマコーディングブロックの中の対応するサンプルとの間の差分を示す。加えて、ビデオエンコーダ22は、CUに対してCb残差ブロックを生成し得る。クロマ予測の一例では、CUのCb残差ブロックの中の各サンプルは、CUの予測Cbブロックのうちの1つの中のCbサンプルと、CUの元のCbコーディングブロックの中の対応するサンプルとの間の差分を示し得る。ビデオエンコーダ22はまた、CUに対してCr残差ブロックを生成し得る。CUのCr残差ブロックの中の各サンプルは、CUの予測Crブロックのうちの1つの中のCrサンプルと、CUの元のCrコーディングブロックの中の対応するサンプルとの間の差分を示し得る。しかしながら、クロマ予測用の他の技法が使用され得ることを理解されたい。
さらに、ビデオエンコーダ22は、4分木区分を使用して、CUの残差ブロック(たとえば、ルーマ残差ブロック、Cb残差ブロック、およびCr残差ブロック)を1つまたは複数の変換ブロック(たとえば、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロック)に分解し得る。変換ブロックとは、同じ変換が適用されるサンプルの矩形(たとえば、正方形または非正方形)ブロックである。CUの変換ユニット(TU)は、ルーマサンプルの変換ブロック、クロマサンプルの2つの対応する変換ブロック、および変換ブロックサンプルを変換するために使用されるシンタックス構造を備え得る。したがって、CUの各TUは、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックを有し得る。TUのルーマ変換ブロックは、CUのルーマ残差ブロックのサブブロックであり得る。Cb変換ブロックは、CUのCb残差ブロックのサブブロックであり得る。Cr変換ブロックは、CUのCr残差ブロックのサブブロックであり得る。モノクロームピクチャまたは3つの別個のカラープレーンを有するピクチャでは、TUは、単一の変換ブロック、および変換ブロックのサンプルを変換するために使用されるシンタックス構造を備え得る。
ビデオエンコーダ22は、1つまたは複数の変換をTUの変換ブロックに適用して、TUに対して係数ブロックを生成し得る。たとえば、ビデオエンコーダ22は、1つまたは複数の変換をTUのルーマ変換ブロックに適用して、TUに対してルーマ係数ブロックを生成し得る。係数ブロックは変換係数の2次元アレイであり得る。変換係数はスカラー量であり得る。ビデオエンコーダ22は、TUのCb変換ブロックに1つまたは複数の変換を適用して、TUに対してCb係数ブロックを生成し得る。ビデオエンコーダ22は、TUのCr変換ブロックに1つまたは複数の変換を適用して、TUに対してCr係数ブロックを生成し得る。
係数ブロック(たとえば、ルーマ係数ブロック、Cb係数ブロック、またはCr係数ブロック)を生成した後、ビデオエンコーダ22は、係数ブロックを量子化し得る。量子化とは、概して、変換係数を表すために使用されるデータの量をできる限り低減するために変換係数が量子化され、さらなる圧縮をもたらすプロセスを指す。ビデオエンコーダ22が係数ブロックを量子化した後、ビデオエンコーダ22は、量子化変換係数を示すシンタックス要素をエントロピー符号化し得る。たとえば、ビデオエンコーダ22は、量子化変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング(CABAC)を実行し得る。
ビデオエンコーダ22は、コード化ピクチャの表現および関連するデータを形成するビットのシーケンスを含む、ビットストリームを出力し得る。したがって、ビットストリームは、ビデオデータの符号化表現を備える。ビットストリームは、ネットワークアブストラクションレイヤ(NAL:Network Abstraction Layer)ユニットのシーケンスを備え得る。NALユニットは、NALユニットの中のデータのタイプの表示、および必要に応じてエミュレーション防止ビットが散在させられているローバイトシーケンスペイロード(RBSP:Raw Byte Sequence Payload)の形態でそのデータを含むバイトを含む、シンタックス構造である。NALユニットの各々は、NALユニットヘッダを含んでよく、RBSPをカプセル化する。NALユニットヘッダは、NALユニットタイプコードを示すシンタックス要素を含み得る。NALユニットのNALユニットヘッダによって指定されるNALユニットタイプコードは、NALユニットのタイプを示す。RBSPは、NALユニット内にカプセル化されている整数個のバイトを含むシンタックス構造であり得る。いくつかの事例では、RBSPは0個のビットを含む。
ビデオデコーダ30は、ビデオエンコーダ22によって生成されたビットストリームを受信し得る。加えて、ビデオデコーダ30は、ビットストリームを構文解析してビットストリームからシンタックス要素を取得し得る。ビデオデコーダ30は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを再構成し得る。ビデオデータを再構成するためのプロセスは、概して、ビデオエンコーダ22によって実行されるプロセスの逆であってよい。たとえば、ビデオデコーダ30は、PUの動きベクトルを使用して、現在CUのPUに対する予測ブロックを決定し得る。加えて、ビデオデコーダ30は、現在CUのTUの係数ブロックを逆量子化し得る。ビデオデコーダ30は、係数ブロックに対して逆変換を実行して、現在CUのTUの変換ブロックを再構成し得る。ビデオデコーダ30は、現在CUのPUに対する予測ブロックのサンプルを、現在CUのTUの変換ブロックの対応するサンプルに加算することによって、現在CUのコーディングブロックを再構成し得る。ピクチャのCUごとにコーディングブロックを再構成することによって、ビデオデコーダ30はピクチャを再構成し得る。
以下は、HEVCにおけるブロック区分構造について説明する。HEVC規格(ITU-T H.265およびISO/IEC23008-2、2013年1月)、ならびにSullivanらによる「Overview of the High Efficiency Video coding (HEVC) Standard」、IEEE Trans. Circuits and Systems for Video Technology、Vol. 22、No. 12、pp. 1649〜1668、2012年12月、およびKimらによる「Block Partitioning Structure in the HEVC Standard」、IEEE Trans. Circuits and Systems for Video Technology、Vol. 22、No. 12、pp. 1697〜1705、2012年12月では、各ピクチャはコーディングツリーユニット(CTU)に分割され、コーディングツリーユニット(CTU)は、特定のタイルまたはスライスに対してラスタ走査順序でコーディングされる。CTUは、正方形ブロックであり、4分木すなわちコーディングツリーのルートを表す。CTUサイズは、8×8から64×64までのルーマサンプルにわたり得る。64×64サイズが多くの事例で使用され、典型的な使用事例と見なされてよい。CTUは、様々な局所的な特性に適応させるために、コーディングツリーとして表される4分木構造を使用することによって、コーディングユニット(CU)に区分される。ビデオエンコーダ22および/またはビデオデコーダ30は、CUレベルにおいてピクチャエリアを、インターピクチャ(時間)予測を使用してコーディング(たとえば、それぞれ、符号化または復号)するのか、それともイントラピクチャ(空間)予測を使用してコーディング(たとえば、それぞれ、符号化または復号)するのかを決定し得る。2N×2Nサイズの各CUは、PU分割タイプに従って、1つの2N×2N、2つの2N×NもしくはN×2N、または4つのN×Nの予測ユニット(PU)にさらに分割され得る。1つのPUの内側のすべてのサンプルに対して同じ予測プロセスが適用され、ビデオエンコーダ22は、関連する情報をPUごとにビデオデコーダ30にシグナリング(たとえば、送信)し得る。PU分割タイプに基づいて予測プロセスを適用することによって残差ブロックを取得した後、CUは、別の4分木構造に従って変換ユニット(TU)に区分され得る。
以下は、4分木+2分木(QTBT)ブロック区分構造について説明する。Anらによる「Block Partitioning Structure for Next Generation Video Coding」ITU-T SG16 Doc. COM16〜C966、2015年9月、およびhttps://vceg.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/branches/HM-13.0-QTBT/から入手可能な「QTBT Software」2015年10月では、4分木+2分木ブロック区分構造が提案されている。提案されるQTBT構造によれば、CTU(または、Iスライスに対する「CTB」)は、4分木のルートノードであり、4分木によって最初に区分され、ここで、1つのノードの4分木分割は、ノードが最小許容4分木リーフノードサイズ(MinQTSize)に到達するまで反復され得る。4分木リーフノードサイズが最大許容2分木ルートノードサイズ(MaxBTSize)よりも大きくない場合、4分木リーフノードは、2分木区分構造に従ってさらに区分され得る。1つのノードの2分木分割は、どちらが最初に起こっても、ノードが最小許容2分木リーフノードサイズ(MinBTSize)に到達するまで、または反復的な区分が最大許容2分木深度(MaxBTDepth)に到達するまで反復され得る。2分木リーフノードとは、これ以上の区分を伴わずに予測(たとえば、イントラピクチャ予測またはインターピクチャ予測)および変換のために使用されるCU(または、Iスライスに対する「CB」)としての、名称または用語である。
2分木区分または分割によれば、2つの分割タイプ、すなわち、対称水平分割および対称垂直分割がある。QTBT区分構造の一例では、CTUサイズは128×128(すなわち、4:2:0クロマフォーマットを想定すると、128×128のルーマサンプルおよび2つの対応する64×64のクロマサンプル)として設定され、MinQTSizeは16×16として設定され、MaxBTSizeは64×64として設定され、MinBTSizeは(幅と高さの両方に対して)4として設定され、MaxBTDepthは4として設定される。最初に4分木区分がCTUに適用されて、4分木リーフノードを生成する。4分木リーフノードは、16×16(すなわち、MinQTSize)から128×128(すなわち、CTUサイズ)までのサイズを有し得る。リーフ4分木ノードは、128×128というサイズである場合、サイズがMaxBTSize(すなわち、64×64)を上回るので、2分木構造に従ってこれ以上分割されない。そうでない場合、リーフ4分木ノードは、2分木区分構造に従ってさらに区分され得る。
したがって、4分木リーフノードはまた、2分木のためのルートノードであり、2分木深度が0である。2分木深度がMaxBTDepth(すなわち、4)に到達するとき、そのことは、さらなる分割が実行されないことを暗示する。すなわち、MaxBTDepth値に等しい2分木深度値を有するノードは、QTBT区分構造の2分木区分部分の下で許容される反復の最大数にわたって実行されている2分木分割の生成物である。2分木ノードがMinBTSize(すなわち、4)に等しい幅を有するとき、そのことは、さらなる水平分割が実行されないことを暗示する。同様に、2分木ノードがMinBTSizeに等しい高さを有するとき、そのことは、さらなる垂直分割が実行されないことを暗示する。2分木のリーフノードとは、すなわち、これ以上の区分を伴わずに予測および変換によってさらに処理されたCUである。
図2は、HEVCによるCTU40用のブロック区分の一例を示す概念図である。図2の例では、CTU40は64×64のCTUを表す。図2の凡例42に示すように、実線の境界線はCU境界線を示し、破線の境界線はTU境界線を示し、点線の境界線はPU境界線を示す。
図3は、QTBT区分構造によるブロック区分の一例を示す概念図である。たとえば、図3の左は、ブロック44(たとえば、CTU0であってよい)に関するQTBTブロック区分方式を示す。図3の右は、対応する木構造を(たとえば、記号表または凡例46の形態で)示す。凡例46に示すように、図3における実線は4分木ベース分割を示し、点線は2分木ベース分割を示す。2分木ベース分割の分割ノード(すなわち、非リーフノード)ごとに、ビデオエンコーダ22は、どの分割タイプ(すなわち、水平または垂直)が使用されるのかを示すために1つのフラグをシグナリングし得る。フラグに関して、0という値は水平分割を示し、1という値は垂直分割を示す。4分木ベース分割の場合、常にブロックを水平かつ垂直に分割して等しいサイズの4つのサブブロックにするので、分割タイプを示す必要がない。
Iスライスに対して、ビデオエンコーダ22および/またはビデオデコーダ30は、QTBT区分構造に従ってルーマクロマ分割ブロッキング区分構造を使用し得る。たとえば、ビデオエンコーダ22および/またはビデオデコーダ30は、QTBT構造を使用して、1つのCTUのルーマ成分(たとえば、ルーマCTB)を区分してルーマCBにしてよく、別のQTBT構造を使用して、そのCTUの2つの対応するクロマ成分(たとえば、2つの対応するクロマCTB)を区分してクロマCBにしてよい。PスライスおよびBスライスに対して、ルーマおよびクロマのためのブロック区分構造は共有される。すなわち、PスライスまたはBスライスに対して、1つのCTU(ルーマとクロマの両方を含む)が、1つのQTBT構造によってCUに区分される。QTBTブロック区分構造において、変換サイズおよび予測サイズは、ノードを区分する各リーフブロックにおいて常に適用され、サイズはまた、リーフノードブロックサイズと位置合わせされる。このようにして、QTBT区分構造は、CU、PU、およびTUを分離するという概念を潜在的に排除し得る。代わりに、QTBT区分構造によれば、CU、PU、およびTUは、1つのブロックを形成するように統合される。QTBT区分構造によれば、統合されたブロックは、4分木(QT)ノードブロックまたは2分木(BT)ノードブロックであり得る。
図4Aおよび図4Bは、QTBT区分構造のさらなる例および詳細を示す概念図である。図4Aは、QTBT区分技法を使用して区分されたブロック50(たとえば、CTB)の一例を示す。図4Aに示すように、QTBT区分技法によれば、得られたブロックの各々は、各ブロックの中央を通って対称的に分割される。図4Bは、図4Aのブロック区分に対応する木構造を示す。図4Bにおける実線はQTベース分割を示し、破線はBTベース分割を示す。一例では、2分木の各分割ノード(すなわち、非リーフノード)において、ビデオエンコーダ22は、実行される分割のタイプを示すために、シンタックス要素(たとえば、フラグ)をシグナリングし得、ここで、0は水平分割を示し、1は垂直分割を示す。4分木分割の場合、4分木分割が常にブロックを水平かつ垂直に分割してサイズが等しく正方形形状の4つのサブブロックにするので、分割タイプを示す必要がない。
図4Bに示すように、ノード70において、ブロック50は、QT区分を使用して、図4Aに示す4つのブロック51、52、53、および54に分割される。ブロック54はこれ以上分割されず、したがって、リーフノードである。ノード72において、ブロック51は、BT区分を使用して2つのブロックにさらに分割される。図4Bに示すように、ノード72には、垂直分割を示す1がつけられている。すなわち、ビデオエンコーダ22は、ノード72に対して、垂直BTベース分割を示す1という値を有するフラグをシグナリングし得る。したがって、ノード72における分割は、ブロック57、およびブロック55と56の両方を含むブロックをもたらす。ブロック55および56は、ノード74におけるさらなる垂直分割によって作成される(ノード74において1を用いて示すように)。ノード76において、ブロック52は、BT区分を使用して2つのブロック58および59にさらに分割される。図4Bに示すように、ノード76には、水平分割を示す0がつけられている。
ノード78において、ブロック53は、QTベース区分を使用して4つの等しいサイズのブロックに分割される。ブロック63および66は、このQTベース区分から作成され、これ以上分割されない。ノード80において、左上のブロックが垂直2分木分割を使用して最初に分割されて、ブロック60および右の垂直ブロックをもたらす(ノード80において1を用いて示すように)。右の垂直ブロックは、次いで、水平2分木分割を使用して分割されて、ブロック61および62になる(ノード82において0を用いて示すように)。ノード78において4分木分割から作成された右下のブロックは、ノード84において水平BTベース分割を使用して分割されて、ブロック64および65になる(ノード84において0を用いて示すように)。
HEVCにおいて採用されている離散コサイン変換(DCT)-IIおよび4×4離散サイン変換(DST)-VIIに加えて、インターコード化ブロックとイントラコード化ブロックの両方に対する残差コーディングのために、拡張多重変換(「EMT」、または適応多重変換(AMT:Adaptive Multiple Transform)とも呼ばれる)方式が使用される。AMT方式は、HEVCに記載されている現在の変換以外のDCT/DSTファミリーから選択された複数の変換を利用する。新たに導入される変換行列は、DST-VII、DCT-VIII、DST-I、およびDCT-Vである。
AMT方式は、64×64よりも小さいCUに適用される。ビデオエンコーダ22は、CUにAMTが適用されるかどうかを示すためのフラグを符号化およびシグナリングし得る。ビデオデコーダ30において、AMTが適用されるか否かは、ビデオエンコーダ22によってシグナリングされるCUレベルフラグの値によって制御される。すなわち、ビデオデコーダ30において、CUレベルフラグの値は、フラグがそれに対して受信されるCU内のすべての変換ユニット(TU)に対するAMT適用可能性を制御する。ビデオエンコーダ22は、残差を符号化するためにCUにおいてDCT-Iが適用されることを示すために、CUレベルフラグの値を0に等しくなるように設定し得る。AMT対応CU内のTUごとに、ビデオエンコーダ22は、ビデオデコーダ30において使用/適用されるべき水平変換および垂直変換を識別するための、2つの追加フラグを符号化およびシグナリングし得る。ビデオエンコーダ22によってシグナリングされたCUレベルフラグを受信すると、ビデオデコーダ30は、フラグの値が0に等しい場合、フラグが適用されるCUのすべてのTUを復号するためにDCT-IIが適用されるべきであると決定し得る。ビデオデコーダ30は、CUに関して受信された2つの追加フラグを使用して、CUを復号する際に適用すべき水平変換および垂直変換を識別し得る。
イントラ残差コーディングの場合、異なるイントラ予測モードの異なる残差統計量に起因して、ビデオエンコーダ22および/またはビデオデコーダ30は、モード依存の変換候補選択プロセスを使用し得る。3つの変換サブセットが下のTable 1(表1)に示すように定義されており、変換サブセットは、下のTable 2(表2)で指定されるようにイントラ予測モードに基づいて選択される。
Figure 2019512965
サブセットの概念を用いると、ビデオデコーダ30は、受信されたCUレベルフラグの値が1に等しいとき、最初にTUごとにイントラ予測モードを使用して(下の)Table 2(表2)に基づいて変換サブセットを識別し得る。次に、水平変換および垂直変換の各々に対して、イントラ予測モードを仮定すると、ビデオデコーダ30は、下のTable 2(表2)に従って変換サブセットを選択し得る。次に、上のTable 1(表1)に従って、ビデオデコーダ30は、ビデオエンコーダ22から受信された、明示的にシグナリングされた変換インデックスを使用して、選択された変換サブセットの中から変換コアをさらに識別し得る。
Figure 2019512965
しかしながら、インター予測残差の場合、ビデオエンコーダ22および/またはビデオデコーダ30は、すべてのインターモードに対して、また水平変換と垂直変換の両方に対して、DST-VIIおよびDCT-VIIIからなる1つの変換セットのみを使用し得る。ビデオエンコーダ22がいわゆる「ブルータルフォース(brutal-force)探索」を使用する場合は、全体として5つ(DCT-II、および4つの多重変換候補)の異なる変換候補が、残差ブロックごとにレートひずみコストを用いて評価される必要があり得るので、AMTの計算量は、潜在的にエンコーダ側において(たとえば、ビデオエンコーダ22において)比較的大きいことになる。ビデオエンコーダ22におけるこの計算量問題を緩和するために、いくつかの最適化方法が、共同探究モデル(JEM:Joint Exploration Model)におけるアルゴリズムアクセラレーション用に設計される。JEMとは、次世代ビデオコーディング技術の探究のためのビデオコーデックプラットフォームである。JEMのさらなる態様が、「Algorithm Description of Joint Exploration Test Model 2」、ITU-T SG16 WP 3とISO/IEC JTC 1/SC29/WG11との共同ビデオ探究部会(JVET)、第2回会合、サンディエゴ、米国、2016年2月20〜26日、文書番号JVET-B1001_v1に記載されている。
上記で説明した既存の技法は、1つまたは複数の潜在的な問題を生じる。いくつかの既存のコーディングツール、たとえば、EMT(2016年1月25日に出願された米国特許出願第15/005,736号に記載されている)、非分離可能2次変換(「NSST」、2015年9月29日に出願された米国仮出願第62/234,644号、2016年2月12日に出願された第62/294,897号、2016年4月15日に出願された第62/323,496号、および2016年5月17日に出願された第62/337,736号、ならびに2016年9月20日に出願された米国特許出願第15/270,455号、および2016年9月20日に出願された第15/270,507号に記載されている)、および位置依存型予測合成(「PDPC」、2015年9月29日に出願された米国仮出願第62/234,645号、および2016年9月21日に出願された米国特許出願第15/272,034号に記載されている)において、イントラ予測が適用されるのかそれともインター予測が適用されるのかを識別するときのCUレベルシグナリングが、HEVCに記載されるブロック区分構造の上に開発され、これらのコーディングツールは、CUレベル、PUレベル、またはTUレベルにおいて最適化およびシグナリングされる。
しかしながら、これらのコーディングツールに対する最適化は、QTBTベース区分のすべての事例に適するとは限らないことがある。たとえば、これらのコーディングツールのうちの1つまたは複数をQTBT区分構造の上に適用するとき、最適化は、各QTブロックノードまたは各BTブロックノードにおいて実行されることがあり、そうしたブロックノードは4×4と同じくらい小さいことがある。したがって、コーディングツールを適用することは、(必ずしもすべての場合においてではないが)準最適解であり得る。たとえば、HEVCベースのブロック区分に対して最適化されるときに、QTBT区分されたブロックに対してコーディングツールを適用することは、小さいブロックサイズに対して潜在的に大きすぎるオーバーヘッドである著しいオーバーヘッドをシグナリングが使用し得るので、準最適解を表すことがある。
HEVCベースのブロック区分構造におけるいくつかの制約が、QTBTにおいて放棄されている。たとえば、HEVCベースのブロック区分によれば、CUは、すべてのイントラブロックまたはすべてのインターブロックのいずれかを使用してコーディング(たとえば、ビデオエンコーダ22によって符号化および/またはビデオデコーダ30によって復号)されてよく、CUは8×8よりも小さくない。しかしながら、QTBT区分構造によれば、単一の8×8ブロックでさえ、イントラコード化ブロックとインターコード化ブロックとの混合を有し得る。小さいブロック(たとえば、次元が8×8よりも小さいブロック)の場合、QTBTにおけるこのフレキシビリティは、ブロックがイントラモードによってコーディングされるのか、それともインターモードによってコーディングされるのかをビデオデコーダ30に示すために、ビデオエンコーダ22が著しい数のビットをシグナリングすることを必要とし得る。シグナリングされるビット(すなわち、「シグナリングビット」)の数は、いくつかの事例では、ブロックノードのサイズを考慮に入れると多すぎることがある。QTBTを用いると、コーディングツールは、常にQTブロックノードまたはBTブロックノードにおいて最適化およびシグナリングされ、そうしたブロックノードは、画像の変化する統計量に適応しないことがある。
本開示の態様は、上記で説明した潜在的な問題のうちの1つまたは複数を緩和および/または解決することを対象とする。本開示は以下の技法について説明し、以下の技法は本開示の様々な部分において「方法」と呼ばれることもある。ビデオエンコーダ22、ビデオデコーダ30、およびそれらの様々な構成要素(たとえば、様々な添付図面に示す構成要素)などの、本明細書で説明する様々なデバイスが、本明細書で説明する方法を実行するように構成されることが諒解されよう。以下の項目別方法は、個別にまたは代替として適用されてよく、本開示のビデオコーディングデバイスは、以下の方法の任意の組合せを実行し得る。
本開示のいくつかの技法によれば、ビデオエンコーダ22および/またはビデオデコーダ30は、ブロック分割ベースの区分構造がブロックのために適用されるシナリオの場合、1つまたは複数のコーディングツールに関してブロックレベルしきい値を規定し得る。本明細書で使用する「コーディングツール」とは、いくつかのブロックレベルにおいてオンまたはオフに切り替えられてよい、特定のコーディング方法、技法、またはモードである。たとえば、コーディングツールが適用されるブロックがHEVC4分木構造またはQTBT構造に従って区分されるべき場合、ビデオエンコーダ22およびビデオデコーダ30は、イントラ予測、インター予測、インタースキップ、変換シグナリング、拡張多重変換(EMT:Enhanced Multiple Transform)、イントラ予測が提供されるのかそれともインター予測が適用されるのかを識別するときにシグナリングする非分離可能2次変換(NSST:Non-Separable Secondary Transform)、または位置依存型予測合成(PDPC:Position-Dependent Prediction Combination)のうちの1つまたは複数などのコーディングツールを適用するとき、ブロックレベルしきい値を実施し得る。ビデオエンコーダ22は、適用可能なコーディングツールを最適化し得、適用可能なコーディングツールに対して所定のブロックレベルしきい値を満たすかまたはそれを上回るブロック用のコーディングに関連する、1つまたは複数のシンタックス要素をシグナリングし得る。ビデオエンコーダ22は、ビデオエンコーダ22および/またはビデオデコーダ30が予測および変換をそこで適用するブロックサイズとはしきい値が異なるようなブロックレベルしきい値を設定し得る。
本開示の技法のいくつかの実装形態では、ビデオエンコーダ22および/またはビデオデコーダ30は、ブロックレベルしきい値がそれぞれのブロックの寸法として表現され得るように、ブロックレベルしきい値を設定し得る。例として、ブロックレベルしきい値は、ブロックエリアサイズ、またはブロックの幅および高さのいくつかの組合せのうちの、1つまたは複数として表現され得る。たとえば、ビデオエンコーダ22は、EMTコーディングツールに関して256というブロックエリアベースしきい値を設定し得る。すなわち、ビデオエンコーダ22は、エリアに換算して少なくとも256ピクセルをカバーするブロックにEMTベースコーディングを適用し得る。この例では、ビデオエンコーダ22は、256エリアしきい値を満たすかまたはそれを上回るブロックに対してブロック全体にわたってEMTフラグおよびインデックスが適用されるような、EMTフラグおよびEMTインデックスを符号化およびシグナリングし得る。すなわち、256ピクセルブロックがHEVC4分木構造に従ってまたはQTBT構造に従ってさらに区分されても、EMTフラグの値は、256ピクセルブロックのすべてのサブブロックに適用される。QTBT区分構造によれば、バイナリ区分は、256ピクセルがさらに区分された後にのみ適用可能になり得る。すなわち、ブロックがHEVC4分木区分に従って分割されるのか、それともQTBT区分構造に従って分割されるのかにかかわらず、256ピクセルブロックは正方形のフォームファクタを有し得る。
この実装形態では、ビデオエンコーダ22は、ブロックにわたってビットレート最適化を適用することによって、256ピクセルブロックがEMTを使用して符号化されるべきか否かを決定し得る。すなわち、ビデオエンコーダ22は、しきい値サイズのブロックのサブブロックのすべてにわたってビットレート最適化を実行することによって、(EMTを実施するかまたは実施しないという)2つのオプションの間で選択し得る。ビデオエンコーダ22が、ブロック全体のビットレート最適化の結果に基づいて、256ピクセルブロックにわたってEMTが適用されるべきであると決定する場合、ビデオエンコーダ22は、EMTフラグを「有効」状態に(たとえば、フラグの値を1という値に設定することによって)符号化し得る。ビデオエンコーダ22が、ビットレート最適化動作に基づいて、EMTフラグが有効状態に設定(たとえば、1という値に設定)されるべきであると決定する場合、ビデオエンコーダ22は、256ピクセルブロック全体に対してEMTフラグを1という値に設定し得る。すなわち、ビデオエンコーダ22は、256ピクセルブロック全体に対して単一のEMTフラグを符号化してよく、EMTフラグの値を1に設定してよい。次に、EMTフラグが256ピクセルブロック全体に対して1という値を有することに基づいて、ビデオエンコーダ22は、256ピクセルブロックのサブブロックごとにそれぞれのEMTインデックス値を符号化およびシグナリングし得る。
コーディングツールに関するブロックレベルしきい値処理技法のいくつかの例では、ビデオエンコーダ22は、ブロックサイズ寸法以外の基準に基づいてブロックレベルしきい値を設定し得る。たとえば、ビデオエンコーダ22は、CTU、スライス、タイル、ピクチャ、またはピクチャグループ(GOP)基準のうちの1つまたは複数に基づいて、ブロックレベルしきい値を設定し得る。すなわち、ブロックレベルしきい値は、上記の基準のうちの1つまたは複数に基づいて変化してよい。
代替として、いくつかの実装形態では、ビデオエンコーダ22は、それぞれ、以前に符号化されたCTU、スライス、タイル、ピクチャ、またはGOPの符号化情報を使用して、CTU、スライス、タイル、ピクチャ、またはGOPごとにブロックレベルしきい値を更新し得る。ビデオエンコーダ22が以前に符号化された情報を使用してブロックレベルしきい値を変更するいくつかの事例では、ビデオエンコーダ22は、たとえば、ブロックサイズごとに予測および/または変換が何回実行されているのかという計数に基づいて、ブロックレベルを設定し得る。いくつかの例では、ビデオエンコーダ22は、ブロックレベルしきい値をデフォルト値に設定し得る。デフォルト値の例は、限定はしないが、64または256という値を含む。いくつかの例では、ビデオエンコーダ22は、ブロックを含むスライスに対するスライスタイプ、たとえば、スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのかに応じて、ブロックレベルしきい値をシグナリングし得る。ブロックレベルしきい値は、いくつかの事前定義された固定値のうちの1つであってよいが、ビデオエンコーダ22は、異なるコーディング構成または画像成分に対して異なる値を適用してよい。たとえば、ビデオエンコーダ22は、現在スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのか、および/または現在ブロックがルーマ成分であるのか、それともクロマ成分であるのかなどの、いくつかのファクタに応じて、ブロックレベルしきい値に対して異なる値を適用してよい。
いくつかの例では、ビデオエンコーダ22は、しきい値が適用されるブロックに対してアウトオブバンドでブロックレベルしきい値をシグナリングし得る。たとえば、ビデオエンコーダ22は、スライスヘッダ、ピクチャパラメータセット(PPS)、ビデオパラメータセット(VPS)、またはシーケンスパラメータセット(SPS)などの、1つまたは複数のシンタックス構造の中で、ブロックレベルしきい値をシグナリングし得る。ブロックレベルしきい値を(たとえば、適用可能な符号化ブロックに対してインバンドであるのか、それともアウトオブバンドであるのかにかかわらず)受信すると、ビデオデコーダ30は、符号化ブロックに対して逆の(デコーダ側の)コーディングツールを適用するための条件として、ブロックレベルしきい値を使用し得る。EMTの適用のためのブロックエリアベースしきい値に関して上記で説明した実装形態では、ビデオデコーダ30は、シグナリングされたブロックレベルしきい値エリアを満たすかまたはそれを上回るブロックに、受信された任意のEMTフラグを適用し得る。たとえば、(たとえば、スライスヘッダ、VPS、PPS、またはSPSの中で)受信されたブロックレベルしきい値エリアが256ピクセルのエリアを反映する場合、ビデオデコーダ30は、エリアの中の少なくとも256ピクセルであるブロックに、受信された任意のEMTフラグを適用し得る。
たとえば、ビデオデコーダ30は、有効状態に(たとえば、1という値に)設定されているEMTフラグを受信し得る。EMTフラグの有効状態に基づいて、ビデオデコーダ30は、EMTフラグが適用される、エリアの中の少なくとも256ピクセルをカバーするブロックの復号に関して、EMTコーディングツールを活動化させてよい。すなわち、ビデオデコーダ30は、エリアの中の少なくとも256ピクセルであるブロックのすべてのサブブロックに関して、EMTコーディングツールを活動化させてよい。次に、ビデオデコーダ30は、エリアの中の少なくとも256ピクセルであるブロックの各サブブロックに関する個々のEMTインデックスを受信し得る。受信された各EMTインデックス値に基づいて、ビデオデコーダ30は、EMTコーディングツールを使用して、EMTが活動化されているブロックの各サブブロックを再構成し得る。このようにして、ビデオエンコーダ22およびビデオデコーダ30は、サブブロックを取得するために使用される区分方式にかかわらず、個々のサブブロックごとにEMTフラグを必要とする代わりに、しきい値ブロックレベルにおいてEMTフラグを活用することによって、本開示の技法によるEMTフラグシグナリングに対する必要性を緩和し得る。
このようにして、ビデオエンコーダ22およびビデオデコーダ30は、QTBT区分に対応するためのコーディングツールの最適化においていかなる変更も必要とすることなく既存のコーディングツールを適用するために、本開示のブロックレベルしきい値処理技法を実施し得る。EMTフラグなどのコーディングツールベースのシンタックス要素は、HEVC4分木区分構造によるCUレベルにおいてシグナリングされる。HEVC準拠CUはサイズを変更できるが、8×8次元を下回らない。しかしながら、QTBT区分構造により、時には最大4つのサブブロックに分割される程度まで、8×8ブロックがさらに区分されることが可能になる。したがって、QTBT区分構造のために既存のコーディングツール(たとえば、EMT、PDPCなど)の最適化を拡張することは、フラグコーディングを4倍にすることになる。したがって、ビデオエンコーダ22が、HEVC4分木区分されたブロックに対して単一のフラグを符号化およびシグナリングすることを必要とされていることになる場合、ビデオエンコーダ22は、QTBT区分されたブロックに対して4つのフラグを符号化およびシグナリングすることを必要とされることになる。同様に、ビデオデコーダ30が、HEVC4分木区分されたブロックに対して単一のフラグを受信および処理することを必要とされていることになる場合、ビデオデコーダ30は、QTBT区分されたブロックに対して4つのフラグを受信および処理することを必要とされることになる。
EMTフラグのためのブロックエリアベースしきい値処理の例によって図示したように、本開示の技法により、ビデオエンコーダ22およびビデオデコーダ30が、計算量および帯域幅消費を4倍に増やすことなく、QTBT区分されたブロックに関して(EMTなどの)HEVC最適化されたコーディングツールを活用し続けることが可能になる。すなわち、本開示のブロックエリアベースしきい値処理技法により、ブロックがQTBT区分構造に従って区分されても、ビデオエンコーダ22およびビデオデコーダ30が、正方形の256ピクセルブロックに対して単一のフラグを処理することが可能になる。このようにして、本開示の技法により、ビデオエンコーダ22およびビデオデコーダ30が、より最近のQTBTブロック区分構造を活用しながら、既存のHEVC最適化されたコーディングツールを使用することが可能になる。すなわち、本開示の技法により、QTBT区分構造のための変更を必要とすることなく、既存の(HEVC最適化された)コーディングツールの継続した使用が可能になる。たとえば、本開示で説明するようにブロックレベルしきい値を使用することにより、必ずしもコーディングツールへの変更を必要とすることなく(コーディングツールへの変更は可能であるが)、コーディングツールがQTBT区分構造を用いて使用されることが可能になる。
本開示のいくつかの態様によれば、ビデオエンコーダ22および/またはビデオデコーダ30は、イントラコーディングのみがそこで適用されるか、またはインターコーディングのみがそこで適用される、最低ブロックレベルを決定するために、ブロックレベルしきい値を適用し得る。たとえば、ビデオエンコーダ22は、サイズベースのブロックレベルしきい値に基づいて、イントラコーディングまたはインターコーディングのみがそこで適用される最小ブロックレベルを指定し得る。たとえば、ビデオエンコーダ22は、ブロックレベルしきい値以下においてイントラコーディングとインターコーディングとの混合が許容されないことを示してよく、または指定してよい。すなわち、ビデオエンコーダ22は、しきい値エリアに等しいかまたはそれよりも小さいエリアを有するブロックのすべてのサブブロックに、インターコーディングのみか、またはイントラコーディングのみを適用してよい(ただし、両方の組合せは適用し得ない)。言い換えれば、ブロックがエリアしきい値以内にある場合、ビデオエンコーダ22は、サブブロックを形成するために使用される区分構造にかかわらず、ブロックのすべてのサブブロックを符号化するために、すべてのサブブロックにイントラコーディングを適用し得るか、またはインターコーディングを適用し得るかのいずれかである。ブロックエリアに関して説明するが、ビデオエンコーダ22が、いくつかの例では、ブロック幅および/またはブロック高さなどの他のサイズ寸法に基づいてブロックレベルしきい値を決定およびシグナリングし得ることが諒解されよう。したがって、ブロックエリアという用語は、ブロック幅および/またはブロック高さを考慮に入れると、エリアに基づくサイズ、およびサイズを含む。ブロックエリアという用語は、サイズの2次元の尺度に限定されるものと見なされるべきでなく、単一の寸法(たとえば、幅および/または高さ)も含む。
いくつかの例では、ビデオエンコーダ22は、CTU基準、スライス基準、タイル基準、ピクチャ基準、またはピクチャグループ(GOP)基準のうちの1つまたは複数に基づいて、ブロックレベルしきい値を変更してよい。追加として、イントラコーディングとインターコーディングとの任意の混合を許容または拒否するために、ビデオエンコーダ22がブロックレベルしきい値を適用する様々な例では、ビデオエンコーダ22は、スライスヘッダ、ピクチャパラメータセット(PPS)、ビデオパラメータセット(VPS)、またはシーケンスパラメータセット(SPS)の中などの、対応するブロックに対してアウトオブバンドでブロックレベルしきい値をシグナリングし得る。
代替として、ビデオエンコーダ22は、それぞれ、以前に符号化されたCTU、スライス、タイル、ピクチャ、またはGOPのコード化情報を使用して、CTUごと、スライスごと、タイルごと、ピクチャごと、またはGOPごとのうちの1つまたは複数で、ブロックレベルしきい値を更新し得る。たとえば、ビデオエンコーダ22は、ブロックサイズごとに予測および/または変換が何回実行されているのかという計数に基づいて、ブロックレベルしきい値を更新し得る。いくつかの代替では、ビデオエンコーダ22は、ブロックレベルしきい値を64または256などのデフォルト値に設定し得る。いくつかの例では、ビデオエンコーダ22は、スライスタイプ、たとえば、スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのかに応じて、ブロックレベルしきい値をシグナリングし得る。
イントラコーディングまたはインターコーディング決定のためのブロックレベルしきい値処理のいくつかの実装形態では、ブロックレベルしきい値更新は随意であってよい。たとえば、ビデオエンコーダ22は、ブロックレベルしきい値に関係する情報を提供するために、(既存のフラグである)「存在」フラグをシグナリングし得る。たとえば、ビデオエンコーダ22は、ブロックレベルしきい値がデフォルトのしきい値レベルまたはデフォルト値に設定されていることを示すために、フラグを0値に設定し得る。ブロックレベルしきい値がデフォルト値に設定されている場合には、ビデオエンコーダ22は、(PPS、SPS、またはVPSの中などの)より上位の構造レベルにおいて、ブロックレベルしきい値を随意にシグナリングし得る。一方、ビデオエンコーダ22は、ブロックレベルしきい値が直接シグナリングされるまたはされることになる(is or will be signaled)ことを示すために、存在フラグの値を1という値に設定し得る。いくつかの事例では、ブロックレベルしきい値を直接シグナリングするために、ビデオエンコーダ22は、レベルがデフォルト値に等しい任意の場合を除外することによって、シグナリングされる値を調整し得る。
いくつかの例では、ビデオエンコーダ22は、ブロックを含むスライスに対するスライスタイプ、たとえば、スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのかに応じて、ブロックレベルしきい値をシグナリングし得る。ブロックレベルしきい値は、いくつかの事前定義された固定値のうちの1つであってよいが、ビデオエンコーダ22は、異なるコーディング構成または画像成分に対して異なる値を適用してよい。たとえば、ビデオエンコーダ22は、現在スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのか、および/または現在ブロックがルーマ成分であるのか、それともクロマ成分であるのかなどの、いくつかのファクタに応じて、ブロックレベルしきい値に対して異なる値を適用してよい。
いくつかの事例では、ビデオエンコーダ22は、ブロックレベルしきい値以下にあるブロックに対するイントラコーディングとインターコーディングとの間での選択に対して、1つまたは複数の例外を実施し得る。すなわち、(イントラのみまたはインターのみのブロックのためのブロックレベルしきい値処理に対する例外を形成する)いくつかのシナリオでは、ビデオエンコーダ22は、ブロックレベルしきい値以下にあるブロックのサブブロックを符号化するために、イントラコーディングとインターコーディングの両方を使用し得る。いくつかのそのようなシナリオでは、ビデオエンコーダ22が、インターのみまたはイントラのみの選択に対して例外を設けるように構成される場合、ビデオエンコーダ22は、ブロックのそれぞれのサブブロックに対してイントラコーディングとインターコーディングとの混合が許容されるかどうかを示すために、ブロックレベルしきい値以内にあるブロック用のフラグを符号化およびシグナリングし得る。たとえば、ビデオエンコーダ22は、特定の対応するブロックに対してイントラコーディングとインターコーディングとの混合が許容されないことを示すために、フラグを0という値に設定し得る。この例では、ビデオエンコーダ22は、対応するブロックのサブブロックのコーディングに関してインターコーディングとイントラコーディングとの混合が許容されることを示すために、フラグを1という値に設定し得る。イントラコーディングとインターコーディングとの混合がブロックに関して許可されるか否かを示すためにビデオエンコーダ22が符号化およびシグナリングし得るフラグは、そのフラグがH.264および/またはHEVCなどの既存のビデオコーディング規格において指定されるシンタックス要素に対して追加のシンタックス要素を表すという点で、新たなフラグを表し得る。
ビデオエンコーダ22が、イントラコーディングまたはインターコーディングのみがそこで適用され得る最低ブロックレベルを決定するために、ブロックレベルしきい値処理を使用する例では、ビデオデコーダ30は、ブロックのサブブロックを再構成するために、ブロックレベルしきい値を使用して、イントラコーディングまたはインターコーディングのみがそこで適用され得る最低ブロックレベルを決定するための逆の動作を実施し得る。たとえば、ビデオデコーダ30は、ビデオエンコーダ22によって指定されるサイズベースのブロックレベルしきい値に基づいて、イントラコーディングまたはインターコーディングのみがそこで適用されるべき最小ブロックレベルを決定し得る。たとえば、ビデオデコーダ30は、ビデオエンコーダ22によってシグナリングされたビットストリームの中に含まれるデータに基づいて、ブロックレベルしきい値以下にあるブロックに対してイントラコーディングとインターコーディングとの混合が許容されないと決定し得る。すなわち、ビデオデコーダ30は、しきい値エリアに等しいかまたはそれよりも小さいエリアを有する符号化ブロックのすべてのサブブロックを再構成するために、インターコーディングのみ、またはイントラコーディングのみを適用してよい(ただし、両方の組合せは適用し得ない)。ビデオエンコーダ22がブロックエリアとしてブロックレベルしきい値を指定する例では、ブロックがエリアしきい値以内にある場合、ビデオデコーダ30は、サブブロックを形成するために使用される区分構造にかかわらず、ブロックのすべてのサブブロックを再構成するためにイントラコーディングを適用し得るか、またはブロックのすべてのサブブロックを再構成するためにインターコーディングを適用し得るかのいずれかである。ブロックエリアに関して説明するが、ビデオデコーダ30が、いくつかの例では、ブロック幅および/またはブロック高さなどの他のサイズ寸法に基づいてブロックレベルしきい値を決定し得ることが諒解されよう。
いくつかの例では、ビデオデコーダ30は、CTU基準、スライス基準、タイル基準、ピクチャ基準、またはGOP基準のうちの1つまたは複数に基づいて、ブロックレベルしきい値の変化を検出し得る。追加として、様々な例では、ビデオデコーダ30は、ブロックに適用可能なスライスヘッダ、PPS、VPS、またはSPSの中などの、対応するブロックに関してアウトオブバンドで受信されるシンタックス構造からブロックレベルしきい値を取得し得る。いくつかの例では、ビデオデコーダ30は、スライスタイプ、たとえば、スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのかに依存するビットストリーム情報に基づいて、ブロックレベルしきい値を決定し得る。
イントラコーディングまたはインターコーディング決定のためのブロックレベルしきい値処理のいくつかの実装形態では、ブロックレベルしきい値更新は随意であってよい。たとえば、ビデオデコーダ30は、ブロックレベルしきい値に関係する情報を決定するために、(既存のフラグである)「存在」フラグを受信および処理し得る。たとえば、ビデオデコーダ30は、フラグの0値を復元して、ブロックレベルしきい値がデフォルトのしきい値レベルまたはデフォルト値に設定されていると決定し得る。ブロックレベルしきい値がデフォルト値に設定される場合には、ビデオデコーダ30は、いくつかのシナリオでは、ビットストリームの(PPS、SPS、またはVPSの中などの)より上位の構造レベル内で、ブロックレベルしきい値を受信し得る。一方、ビデオデコーダ30は、存在フラグの値が1という値に設定されている場合、ブロックレベルしきい値が直接受信されるまたはされることになる(is or will be received)と決定し得る。
ビデオデコーダ30がフラグを受信しない場合、ビデオデコーダ30は、フラグの値が0であると推測してよい。すなわち、ブロックに関してフラグが受信されない場合は、ビデオデコーダ30は、ブロックレベルしきい値がデフォルト値に設定されていると決定してよく、したがって、関連するコーディングツールをブロックに適用することに関するしきい値ブロックレベルとして、デフォルト値を使用してよい。いくつかの事例では、ビデオデコーダ30は、シグナリングされる値が、レベルがデフォルト値に等しい任意の場合を除外するような、調整された値を受信し得る。
いくつかの例では、ビデオデコーダ30は、ブロックを含むスライスに対するスライスタイプ、たとえば、スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのかに依存する値として、ブロックレベルしきい値を受信し得る。ブロックレベルしきい値は、いくつかの事前定義された固定値のうちの1つであってよいが、ビデオデコーダ30は、異なるコーディング構成または画像成分に対して異なる値を適用してよい。たとえば、ビデオデコーダ30は、現在スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのか、および/または現在ブロックがルーマ成分を表すのか、それともクロマ成分を表すのかなどの、いくつかのファクタに応じて、ブロックレベルしきい値に対して異なる値を適用してよい。
いくつかの事例では、ビデオデコーダ30は、ブロックレベルしきい値以下にあるブロックに対するイントラコーディングとインターコーディングとの間での選択に対して、1つまたは複数の例外を実施し得る。すなわち、(イントラのみまたはインターのみのブロックのためのブロックレベルしきい値処理に対する例外を形成する)いくつかのシナリオでは、ビデオデコーダ30は、ブロックレベルしきい値以下にあるブロックの符号化サブブロックを再構成するために、イントラコーディングとインターコーディングの両方を使用し得る。いくつかのそのようなシナリオでは、ビデオデコーダ30がインターのみまたはイントラのみの選択に対して例外を設けるように構成される場合、ビデオデコーダ30は、ブロックレベルしきい値以内にある符号化ブロック用の(ビデオエンコーダ22によってシグナリングされたビットストリームの中に含まれる)フラグを、受信および再構成し得る。フラグの値は、ブロックのそれぞれのサブブロックを再構成することに関してイントラコーディングとインターコーディングとの混合が許可されるかどうかを示し得る。たとえば、ビデオデコーダ30は、フラグが0という値に設定されている場合、特定の対応するブロックに対してイントラコーディングとインターコーディングとの混合が許容されないと決定し得る。この例では、ビデオデコーダ30は、ブロックの様々なサブブロックを再構成するために、イントラコーディングのみ、またはインターコーディングのみを使用してよい(ただし、両方の組合せは使用し得ない)。この実装形態によれば、ビデオデコーダ30が、フラグが1という値に設定されていると決定する場合、ビデオデコーダ30は、対応するブロックのサブブロックの再構成に関してインターコーディングとイントラコーディングとの混合が許容されると決定し得る。ブロックを再構成することに関してイントラコーディングとインターコーディングとの混合が許可されるか否かを決定するためにビデオデコーダ30が受信および再構成し得るフラグは、そのフラグがH.264および/またはHEVCなどの既存のビデオコーディング規格において指定されるシンタックス要素に対して追加のシンタックス要素を表すという点で、新たなフラグを表し得る。
いくつかの例では、ビデオエンコーダ22および/またはビデオデコーダ30は、1つまたは複数のコーディングツールの最適化に対してブロックレベル制約を実施し得るが、しきい値を満たすかまたはしきい値を上回るブロックがイントラコード化サブブロックとインターコード化サブブロックとの混合を含む場合は、制約を除去してよい。たとえば、PDPCやNSSTなどのいくつかのコーディングツールは、HEVCによるイントラコーディングのみに対して最適化される。EMTは、インターコーディングとイントラコーディングの両方に対して最適化され、したがって、EMTインターおよび/またはEMTイントラとして実施され得る。いくつかのコーディングツールは、HEVCによるインターコーディングのみに対して最適化される。したがって、コーディング最適化に対するブロックレベル制約の除去は、イントラコード化サブブロックとインターコード化サブブロックの両方を含むブロックの場合には、任意のそのようなコーディングツールに適用可能である。
たとえば、EMTコーディングツールが、所与のブロックに対してEMTイントラまたはEMTインターのいずれかとして実施されるので、ブロックレベルしきい値は、EMTコーディングツールがEMTイントラまたはEMTインターのいずれかとして適用されるので、ブロックがイントラコード化サブブロックとインターコード化サブブロックの両方を含む事例においてEMTコーディングツールの使用を妨害し得る。同様に、ブロックレベル制約は、PDPCツールおよびNSSTツールの各々がイントラコード化ブロックに対して最適化されるので、ブロックがイントラコード化サブブロックとインターコード化サブブロックの両方を含む事例においてPDPCツールまたはNSSTツールの使用を妨害し得る。このようにして、ビデオエンコーダ22およびビデオデコーダ30は、コーディングツールを適用してQTBT区分構造に対応するためにブロックレベル制約を実施し得るが、コーディングツールのイントラのみまたはインターのみの最適化を活用するために、インターコード化サブブロックとイントラコード化サブブロックとの混合を含むブロックの場合に制約を除去し得る。
本開示のいくつかの技法によれば、ビデオエンコーダ22は、1つまたは複数のコーディングツール用の情報をシグナリングすることに関して、ブロックレベルしきい値処理を実施し得る。一実装形態では、ビデオエンコーダ22は、ビデオエンコーダ22によって適用されるか、またはビデオエンコーダ22にとって利用可能な、すべてのコーディングツール用の情報をシグナリングすることに関して、単一のブロックレベルしきい値を使用し得る。たとえば、ビデオエンコーダ22は、少なくともしきい値ブロックレベルにあるブロックのみに対して、単一のEMTフラグ、または単一のPDPCフラグ、または単一のNSSTフラグをシグナリングし得る。すなわち、この実装形態では、ブロックレベルしきい値は、ブロックを符号化するためにビデオエンコーダ22がどのコーディングツールを使用するのかにかかわらず、静的な値を有する。
コーディングツールシグナリングのためのブロックレベルしきい値処理の別の実装形態では、ビデオエンコーダ22は、コーディングツールごとに、コーディングツール用の個々のブロックレベルしきい値を使用し得る。たとえば、ビデオエンコーダ22は、第1のしきい値レベルを満たすブロックのみに対してEMTフラグを、第2のしきい値レベルを満たすブロックのみに対してPDPCフラグを、また第3のしきい値レベルを満たすブロックのみに対してNSSTフラグをシグナリングし得る。
本開示のいくつかの例によれば、ビデオエンコーダ22およびビデオデコーダ30は、任意の所与の時間において、単一のブロック用の単一のコーディングツールに対して、固有のブロックレベルしきい値を適用し得る。たとえば、ブロックレベルしきい値(シンタックスシグナリングがそこで実行され得る最小ブロックレベルを表すしきい値)を満たすかまたはそれを上回るブロックは、オーバーラップなしにピクチャフレームを構成し得る。たとえば、この実装形態によれば、ビデオエンコーダ22およびビデオデコーダ30は、区分が、ブロックレベルしきい値よりも小さい少なくとも1つのサブブロックをもたらすことになる場合、いかなるブロックもこれ以上区分しなくてよい。すなわち、ビデオエンコーダ22およびビデオデコーダ30は、しきい値レベルサイズを有する2つ以上のブロックの中に、より小さいサブブロックを含めなくてよい。
ビデオエンコーダ22は、いくつかのシナリオでは、いわゆる「仮想ブロック」をシグナリングし得る。より詳細には、仮想ブロックをシグナリングするとき、ビデオエンコーダ22は、ブロックを形成する符号化データのサブセットのみをシグナリングしてよい。たとえば、仮想ブロックをシグナリングする際、ビデオエンコーダ22は、ブロックの符号化ビデオデータに関するいくつかのシンタックス要素のみをグループ化およびシグナリングしてよい。仮想ブロックとは対照的に、「実ブロック」とは、ビデオエンコーダ22が符号化情報の完全なセットをそれに対してシグナリングする、ビデオデータの符号化ブロックを表す。
本開示のいくつかの技法によれば、ビデオエンコーダ22は、仮想ブロックがコーディングツール情報のシグナリングに対してしきい値サイズを満たすことを検出し得る。いくつかのそのようなシナリオでは、ビデオエンコーダ22は、仮想ブロックが実ブロックとして適格である(すなわち、仮想ブロックおよび対応する実ブロックが同じ単一のブロックである)と決定し得る。たとえば、ブロックがこれ以上分割されず、したがって、(そのサイズがしきい値サイズを満たすかまたはそれを上回る)実ブロックが最終ブロックであるとビデオエンコーダ22が決定する場合、ビデオエンコーダ22は、そのようなシナリオを検出し得る。この場合、ビデオエンコーダ22は、通例、仮想ブロックに関して実行される任意のシグナリングを、条件付けおよび/または延期してよい。代わりに、ビデオエンコーダ22は、代わりに実ブロックに関する仮想ブロック情報をシグナリングし得る。
いくつかのシナリオにおいて代わりに実ブロックに関する仮想ブロック情報をシグナリングするための本開示の技法を実施することによって、ビデオエンコーダ22は、いくつかの場合において潜在的なビットレート改善をもたらし得る。たとえば、いくつかの予測モードのみに対してシンタックスシグナリングが行われる場合は、仮想ブロックのためのシグナリングに関して、特定の予測モードがビデオエンコーダ22にとって利用可能でないことがある。そのようなシナリオでは、ビデオエンコーダ22は、分割フラグの値、およびしきい値サイズに等しい(または、それよりも大きい)ブロックサイズを、仮想ブロックに対するシグナリングの条件とし得る。対応する実ブロックがこれ以上分割されないこと、およびブロックサイズが少なくともしきい値サイズに等しいことを、ビデオエンコーダ22が検出する場合、ビデオエンコーダ22は、実ブロックが最終であると決定し得る。したがって、ビデオエンコーダ22は、本開示の技法を実施して、通例、仮想ブロックの一部としてシグナリングされるシンタックス要素のシグナリングが、後で行われてよく、また単に実ブロックに関してシグナリングされてよいと決定し得る。
ビデオエンコーダ22は、シグナリングが、(互いに区別される)得られたサブブロックの組合せが仮想ブロックのサイズにおいて可能であるかどうかに依存するような、この条件付きシンタックスシグナリングを実行し得る。たとえば、イントラ予測モードおよびインター予測モードを使用して符号化されつつあることに基づいてサブブロックが区別される場合、ビデオエンコーダ22は、シグナリングがスライスタイプに依存するような条件付きシグナリングを実施し得る。ブロックがIスライスの中に含まれる場合には、インター予測はブロックの符号化のためのオプションでない。したがって、ブロックがIスライスの中に含まれる場合には、ビデオエンコーダ22は、条件付きシグナリングが必要とされないと決定し得る。
本開示の条件付きシグナリング技法の一例が、PDPCコーディングツールに関して本明細書で説明される。ビデオデータのブロックを符号化する際のPDPCコーディングツールの適用は、ビデオエンコーダ22が本開示の条件付きシグナリング態様を実施してビットレート改善をもたらし得る1つまたは複数の例を提供する。いくつかの事例では、ビデオデコーダ30は、ピクチャ境界における分割フラグを推測し得る。たとえば、ビデオエンコーダ22が、ブロックがピクチャ境界を越えるほど十分に大きいと決定する場合、ビデオエンコーダ22は、分割フラグをシグナリングしなくてよい。この例では、ビデオデコーダ30は、大きいブロックが分割されると推測し得る。すなわち、ビデオエンコーダ22は、ブロックが越えるピクチャ境界において分割フラグをシグナリングすることを回避するために、条件付きシグナリングを実施し得る。この場合、ビデオデコーダ30は、ピクチャ境界におけるブロック分割を推測するように構成され得る。
本開示の条件付きシグナリング技法の一例が、PDPCコーディングツールに関して以下で説明される。本開示のブロックレベルしきい値を満たすかまたはそれを上回るブロックに対して、ブロックがPDPCコーディングツールを使用して符号化される場合、ビデオエンコーダ22は、有効状態においてPDPCフラグ(「PDPC使用フラグ」とも呼ばれる)をシグナリングし得、1つまたは複数のPDPCインデックス(または、「PDPCインデックス値」)を随意にシグナリングし得る。有効状態に設定されたPDPCフラグを受信すると、ビデオデコーダ30は、(サブブロックを取得するために使用される区分方式にかかわらず)しきい値サイズのブロックのあらゆるサブブロックがPDPCコーディングツールを使用して再構成されるべきであると推測し得る。すなわち、ビデオデコーダ30は、より小さいサブブロックに対するPDPCフラグ値が、しきい値レベル以上にあるもっと大きいブロックに対して受信された単一のPDPCフラグ値に等しいと推測し得る。一例では、ビデオエンコーダ22およびビデオデコーダ30は、PDPCコーディングツールを使用して符号化および復号されるべきルーマ成分ブロックのために、64サンプルに等しいしきい値レベルを使用し得る。
上記で説明したように、本開示による条件付きシグナリングのいくつかの事例では、ビデオエンコーダ22は、しきい値ブロックサイズを満たすかまたはそれを上回るブロックに対してPDPCフラグおよびインデックスをシグナリングすることを条件付けてよく、それにより回避してよい。より詳細には、ビデオエンコーダ22は、ブロックがさらに分割されるかどうかという決定を、PDPCフラグおよび/またはインデックスのシグナリングの条件としてよい。すなわち、ビデオエンコーダ22が、ブロックがこれ以上分割されないと決定する場合、ビデオエンコーダ22は、ブロック用のPDPCフラグまたは任意のPDPCインデックスをシグナリングしなくてよい。代わりに、ブロックがこれ以上分割されない場合には、ビデオエンコーダ22は、既存のPDPCシグナリング技法によって提供されるシグナリング配置に従って行われるPDPCシグナリングを実行し得る。すなわち、ビデオエンコーダ22が、ブロックがこれ以上分割されないと決定する場合、ビデオエンコーダ22は、予測モードが構文解析され利用可能となった後、任意のPDPC情報をシグナリングし得る。
上記で説明したように、PDPCは、イントラ予測モードに対して最適化されているコーディングツールである。したがって、ビデオエンコーダ22は、インター予測されるいかなるブロックまたはサブブロックに対しても、PDPCコーディングツールを適用しなくてよい。ビデオエンコーダ22が条件付きシグナリングを実施しない場合は、ビデオエンコーダ22は、ブロックがこれ以上分割されず、したがって、いかなるインターコード化サブブロックも含まないという条件で、しきい値サイズに等しいかまたはそれよりも大きいブロック用のPDPC情報をシグナリングし得る。再び、ブロックがインターコード化サブブロックを含む場合、PDPC情報は必要とされなくてよく、したがって、サブブロックレベルのPDPC情報のシグナリングは、不必要なビットがシグナリングされることに起因するビットレート消耗を引き起こすことがある。
ビデオエンコーダ22はまた、予測パラメータを示すために2つ以上のフラグを使用するバージョンのPDPCを適用する事例に、本開示の条件付きシグナリング技法を拡張し得る。そのような一例は、ブロック形状ごとかつ予測モードごとの、パラメータの4つのセットを利用するPDPCバージョンである。ビデオエンコーダ22は、符号化されるべき、または代替として、継承および共有されるべきフラグの数を規定するために、ブロックサイズに対して異なるしきい値を実施し得る。このようにして、ビデオエンコーダ22は、フラグコーディングオーバーヘッドが比較的小さくてよいもっと高いツリーレベルにおいて、より多数のPDPCパラメータオプションを利用し得る。一方、ビデオエンコーダ22は、フラグ当りの相対的なオーバーヘッドがより大きいもっと低いツリーレベルにおいて、より少数のPDPCパラメータオプション(できる限り単一オプションと同じくらい少ない)しか使用しなくてよい。
本開示のいくつかの例では、ビデオエンコーダ22は、単一のしきい値を使用する代わりに、ビデオエンコーダ22がシンタックスシグナリング決定のためのテーブルベース規則をそれによって使用し得る別の拡張を実施し得る。本開示のテーブルベースのシンタックスシグナリング決定技法の1つの場合には、ビデオエンコーダ22は、テーブルエントリがブロック区分の幅および/または高さを含むテーブルを使用し得る。この例では、テーブル要素は、区分形状が4分木ベース区分の結果であるのか、それともQTBTベース区分の結果であるのかにかかわらず、関連する区分形状から導出される区分にとって有効であるシンタックスシグナリング修正を伴うリストを表し得る。
いくつかの例では、ビデオエンコーダ22およびビデオデコーダ30は、上記で説明したようなコーディングツールのためのブロックレベルしきい値処理の代替として、ブロック分解プロセスにおける実際のブロックに対応しないブロックレベルしきい値を代わりに実施し得る。これらの例では、ブロックを分割することが、ブロックレベルしきい値未満である2つのサブブロック(BT区分)または4つのサブブロック(QT区分)サブブロックをもたらす場合、ビデオエンコーダ22は、得られたサブブロックサイズにおいてコーディングツール関連シンタックス要素をシグナリングし得る。そのようなサブブロックベースのブロックレベルしきい値の一例は392、すなわち、2のべき乗でない任意のしきい値サイズである。いくつかの事例では、ビデオエンコーダ22は、浮動小数点値であるサブブロックベースのブロックレベルしきい値を使用してもよい。
本開示のいくつかの例によれば、ビデオエンコーダ22は、ブロックサイズがブロックレベルしきい値と同じかまたはそれよりも小さいことをビデオエンコーダ22が検出するまさに最初のインスタンスにおいて、コーディングツール関連シンタックス要素(たとえば、EMTフラグ)をシグナリングし得る。ブロックに対してコーディングツール関連シンタックス要素がシグナリングされると、ビデオエンコーダ22は、ブロックのさらなる分割から得られるいかなるサブブロックに対しても、対応するコーディングツール関連シンタックス要素をシグナリングしなくてよい。すなわち、これらの例によれば、ビデオエンコーダ22は、ブロックが所定のブロックレベルしきい値以下にあると決定すると、ブロックの最初のサブブロックに関するコーディングツール関連シンタックス要素(たとえば、EMTフラグ)をシグナリングし得る。
図5は、本開示の技法を実施し得る例示的なビデオエンコーダ22を示すブロック図である。図5は、説明のために提供され、本開示において広く例示および説明されるような技法の限定と見なされるべきでない。本開示の技法は、様々なコーディング規格または方法に適用可能であり得る。
図5の例では、ビデオエンコーダ22は、予測処理ユニット100、ビデオデータメモリ101、残差生成ユニット102、変換処理ユニット104、量子化ユニット106、逆量子化ユニット108、逆変換処理ユニット110、再構成ユニット112、フィルタユニット114、復号ピクチャバッファ116、およびエントロピー符号化ユニット118を含む。予測処理ユニット100は、インター予測処理ユニット120およびイントラ予測処理ユニット126を含む。インター予測処理ユニット120は、動き推定ユニットおよび動き補償ユニット(図示せず)を含み得る。
ビデオデータメモリ101は、ビデオエンコーダ22の構成要素によって符号化されるべきビデオデータを記憶するように構成され得る。ビデオデータメモリ101の中に記憶されるビデオデータは、たとえば、ビデオソース18から取得され得る。復号ピクチャバッファ116は、たとえば、イントラコーディングモードまたはインターコーディングモードでビデオエンコーダ22によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶する、参照ピクチャメモリであり得る。ビデオデータメモリ101および復号ピクチャバッファ116は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM(登録商標))、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ101および復号ピクチャバッファ116は、同じメモリデバイスまたは別個のメモリデバイスによって設けられてよい。様々な例では、ビデオデータメモリ101は、ビデオエンコーダ22の他の構成要素とともにオンチップであってよく、またはそれらの構成要素に対してオフチップであってもよい。ビデオデータメモリ101は、図1の記憶媒体20と同じであってよく、またはその一部であってもよい。
ビデオエンコーダ22は、ビデオデータを受信する。ビデオエンコーダ22は、ビデオデータのピクチャのスライスの中の各CTUを符号化し得る。CTUの各々は、ピクチャの、等しいサイズのルーマコーディングツリーブロック(CTB)、および対応するCTBに関連付けられ得る。CTUを符号化することの一部として、予測処理ユニット100は、区分を実行して、CTUのCTBを次第に小さくなるブロックに分割し得る。より小さいブロックは、CUのコーディングブロックであり得る。たとえば、予測処理ユニット100は、CTUに関連付けられたCTBを木構造に従って区分し得る。本開示の1つまたは複数の技法によれば、木構造の各深度レベルにおける木構造のそれぞれの非リーフノードごとに、それぞれの非リーフノードに対して複数の許容分割パターンがあり、それぞれの非リーフノードに対応するビデオブロックは、複数の許容可能な分割パターンのうちの1つに従って、それぞれの非リーフノードの子ノードに対応するビデオブロックに区分される。
ビデオエンコーダ22は、CTUのCUを符号化して、CUの符号化表現(すなわち、コード化CU)を生成し得る。CUを符号化することの一部として、予測処理ユニット100は、CUの1つまたは複数のPUの間でCUに関連付けられたコーディングブロックを区分し得る。したがって、各PUは、ルーマ予測ブロックおよび対応するクロマ予測ブロックに関連付けられ得る。ビデオエンコーダ22およびビデオデコーダ30は、様々なサイズを有するPUをサポートし得る。上記のように、CUのサイズは、CUのルーマコーディングブロックのサイズを指してよく、PUのサイズは、PUのルーマ予測ブロックのサイズを指してよい。特定のCUのサイズが2N×2Nであると仮定すると、ビデオエンコーダ22およびビデオデコーダ30は、イントラ予測に対して2N×2NまたはN×NというPUサイズ、およびインター予測に対して2N×2N、2N×N、N×2N、N×N、または類似の、対称的なPUサイズをサポートし得る。ビデオエンコーダ22およびビデオデコーダ30はまた、インター予測に対して、2N×nU、2N×nD、nL×2N、およびnR×2NというPUサイズのための非対称区分をサポートし得る。
インター予測処理ユニット120は、CUの各PUに対してインター予測を実行することによって、PUに対する予測データを生成し得る。PUに対する予測データは、PUの予測ブロックおよびPUのための動き情報を含み得る。インター予測処理ユニット120は、PUがIスライスの中にあるのか、Pスライスの中にあるのか、それともBスライスの中にあるのかに応じて、CUのPUに対して異なる動作を実行し得る。Iスライスでは、すべてのPUがイントラ予測される。したがって、PUがIスライスの中にある場合、インター予測処理ユニット120は、PUに対してインター予測を実行しない。したがって、Iモードで符号化されるブロックの場合、予測されるブロックは、同じフレーム内の以前に符号化された隣接ブロックから空間予測を使用して形成される。PUがPスライスの中にある場合、インター予測処理ユニット120は、単方向インター予測を使用してPUの予測ブロックを生成し得る。PUがBスライスの中にある場合、インター予測処理ユニット120は、単方向または双方向インター予測を使用してPUの予測ブロックを生成し得る。
イントラ予測処理ユニット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によって生成された予測データの中から、CUのPUに対する予測データを選択し得る。いくつかの例では、予測処理ユニット100は、予測データのセットのレート/ひずみメトリックに基づいて、CUのPUに対する予測データを選択する。選択される予測データの予測ブロックは、本明細書で選択予測ブロックと呼ばれることがある。
残差生成ユニット102は、CUに対するコーディングブロック(たとえば、ルーマコーディングブロック、Cbコーディングブロック、およびCrコーディングブロック)およびCUのPUに対する選択予測ブロック(たとえば、予測ルーマブロック、予測Cbブロック、および予測Crブロック)に基づいて、CUに対する残差ブロック(たとえば、ルーマ残差ブロック、Cb残差ブロック、およびCr残差ブロック)を生成し得る。たとえば、残差生成ユニット102は、残差ブロックの中の各サンプルがCUのコーディングブロックの中のサンプルとCUのPUの対応する選択予測ブロックの中の対応するサンプルとの間の差分に等しい値を有するような、CUの残差ブロックを生成し得る。
変換処理ユニット104は、4分木区分を実行して、CUに関連する残差ブロックをCUのTUに関連する変換ブロックに区分し得る。したがって、TUは、ルーマ変換ブロックおよび2つのクロマ変換ブロックに関連付けられ得る。CUのTUのルーマ変換ブロックおよびクロマ変換ブロックのサイズおよび位置は、CUのPUの予測ブロックのサイズおよび位置に基づいても基づかなくてもよい。「残差4分木」(RQT:Residual Quad-Tree)と呼ばれる4分木構造が、領域の各々に関連するノードを含み得る。CUのTUは、RQTのリーフノードに対応し得る。
変換処理ユニット104は、TUの変換ブロックに1つまたは複数の変換を適用することによって、CUのTUごとに変換係数ブロックを生成し得る。変換処理ユニット104は、TUに関連する変換ブロックに様々な変換を適用し得る。たとえば、変換処理ユニット104は、離散コサイン変換(DCT)、方向変換、または概念的に類似の変換を、変換ブロックに適用し得る。いくつかの例では、変換処理ユニット104は、変換ブロックに変換を適用しない。そのような例では、変換ブロックは、変換係数ブロックとして扱われてよい。
量子化ユニット106は、係数ブロックの中の変換係数を量子化し得る。量子化プロセスは、変換係数の一部または全部に関連するビット深度を低減し得る。たとえば、nビットの変換係数は、量子化の間にmビットの変換係数に切り捨てられてよく、ただし、nはmよりも大きい。量子化ユニット106は、CUに関連する量子化パラメータ(QP:Quantization Parameter)値に基づいて、CUのTUに関連する係数ブロックを量子化し得る。ビデオエンコーダ22は、CUに関連するQP値を調整することによって、CUに関連する係数ブロックに適用される量子化の程度を調整し得る。量子化は、情報の損失をもたらすことがある。したがって、量子化変換係数は、元の精度よりも精度が低いことがある。
逆量子化ユニット108および逆変換処理ユニット110は、それぞれ、逆量子化および逆変換を係数ブロックに適用して、係数ブロックから残差ブロックを再構成し得る。再構成ユニット112は、予測処理ユニット100によって生成された1つまたは複数の予測ブロックからの対応するサンプルに、再構成された残差ブロックを加算して、TUに関連する再構成された変換ブロックを生成し得る。このようにしてCUのTUごとに変換ブロックを再構成することによって、ビデオエンコーダ22は、CUのコーディングブロックを再構成し得る。
フィルタユニット114は、1つまたは複数のデブロッキング動作を実行して、CUに関連するコーディングブロックにおけるブロッキングアーティファクトを低減し得る。フィルタユニット114が、再構成されたコーディングブロックに対して1つまたは複数のデブロッキング動作を実行した後、復号ピクチャバッファ116は、再構成されたコーディングブロックを記憶し得る。インター予測処理ユニット120は、再構成されたコーディングブロックを含む参照ピクチャを使用して、他のピクチャのPUに対してインター予測を実行し得る。加えて、イントラ予測処理ユニット126は、復号ピクチャバッファ116の中の再構成されたコーディングブロックを使用して、CUと同じピクチャの中の他のPUに対してイントラ予測を実行し得る。
エントロピー符号化ユニット118は、ビデオエンコーダ22の他の機能構成要素からデータを受信し得る。たとえば、エントロピー符号化ユニット118は、量子化ユニット106から係数ブロックを受信してよく、予測処理ユニット100からシンタックス要素を受信してよい。エントロピー符号化ユニット118は、データに対して1つまたは複数のエントロピー符号化動作を実行して、エントロピー符号化データを生成し得る。たとえば、エントロピー符号化ユニット118は、CABAC動作、コンテキスト適応型可変長コーディング(CAVLC)動作、可変長対可変長(V2V)コーディング動作、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)動作、確率区間区分エントロピー(PIPE)コーディング動作、指数ゴロム符号化動作、または別のタイプのエントロピー符号化動作を、データに対して実行し得る。ビデオエンコーダ22は、エントロピー符号化ユニット118によって生成されたエントロピー符号化データを含むビットストリームを出力し得る。たとえば、ビットストリームは、CUに対するRQTを表すデータを含み得る。
ビデオエンコーダ22(または、その1つもしくは複数の構成要素)が実行するように構成され得る、本開示の技法の様々な実装形態が以下に記載される。様々な実装形態は、アラビア数字「1」、「2」などを使用して番号が付けられ、様々なレベルの副題において説明する様々なオプションとともに以下で説明される。
1.ビデオコーディング、たとえば、HEVCまたはQTBTに対してブロック分割ベースのブロック区分構造が適用されるとき、特定のコーディングツール(特定のコーディングツールの例は、限定はしないが、イントラ予測、インター予測、インタースキップ、変換シグナリング、EMT、NSST、PDPCなどを含む)に対して、ブロックレベルしきい値が規定される。この特定のコーディングツールは、このブロックレベルしきい値に等しいかまたはブロックレベルしきい値を上回るブロックに対して、最適化およびシグナリングされる。ブロックレベルしきい値は、予測および変換がそこで適用されるブロックサイズとは異なってよい。コーディングツールとは、いくつかのブロックレベルにおいてオンまたはオフに切り替えられてよい、特定のコーディング方法、技法、またはモードである。
a)ブロックレベルしきい値は、ブロックエリアサイズ、またはブロック幅および高さとして表現され得る。
b)ブロックレベルしきい値は、CTU、スライス、タイル、ピクチャ、またはピクチャグループ(GOP)ごとに変化してよい。
・ブロックレベルしきい値は、スライスヘッダ、PPS、VPS、またはSPSの中でシグナリングされ得る。
・代替として、ブロックレベルしきい値は、たとえば、ブロックサイズごとに予測および/または変換が何回実行されているのかを計数することによって、それぞれ、以前のCTU、スライス、タイル、ピクチャ、またはGOPのコード化情報を使用して、CTU、スライス、タイル、ピクチャ、またはGOPごとに更新され得る。
・代替として、ブロックレベルしきい値は、デフォルト値、たとえば、64もしくは256に設定され得るか、またはスライスタイプ、たとえば、スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのかに応じて、シグナリングされ得る。
c)ブロックレベルしきい値は、事前定義された固定値であってよいが、異なるコーディング構成または画像成分、たとえば、現在スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのか、現在ブロックがルーマ成分であるのか、それともクロマ成分であるのかに対して、異なる値が適用されてよい。
2.ブロックレベルしきい値はまた、イントラコーディングまたはインターコーディングのみがそこで適用される最小ブロックレベルを指定し得る。イントラコーディングとインターコーディングとの混合は、この所与のブロックレベルしきい値以下において許容されない。
a)ブロックレベルしきい値は、ブロックエリアサイズ、またはブロック幅および高さとして表現され得る。
b)ブロックレベルしきい値は、CTU、スライス、タイル、ピクチャ、またはピクチャグループ(GOP)ごとに変化してよい。
・ブロックレベルしきい値は、スライスヘッダ、ピクチャパラメータセット(PPS)、ビデオパラメータセット(VPS)、またはシーケンスパラメータセット(SPS)の中でシグナリングされ得る。
・代替として、ブロックレベルしきい値は、たとえば、ブロックサイズごとに予測および/または変換が何回実行されているのかを計数することによって、それぞれ、以前のCTU、スライス、タイル、ピクチャ、またはGOPのコード化情報を使用して、CTU、スライス、タイル、ピクチャ、またはGOPごとに更新され得る。
・代替として、ブロックレベルしきい値は、デフォルト値、たとえば、64もしくは256に設定され得るか、またはスライスタイプ、たとえば、スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのかに応じて、シグナリングされ得る。
・更新は随意であってよい。たとえば、存在フラグがシグナリングされてよく、そのフラグが0値に設定される場合、デフォルトのしきい値レベルが使用され、(PPS、SPS、VPSなどの)より上位の構造レベルにおいて随意にシグナリングされ得る。この例では、存在フラグが1という値に等しく設定される場合、しきい値レベルは直接シグナリングされる。直接のシグナリングの間、シグナリングされる値は、レベルがデフォルト値に等しい場合を除外することによって調整され得る。
c)ブロックレベルしきい値は、事前定義された固定値を使用してよいが、異なるコーディング構成または画像成分、たとえば、現在スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのか、現在ブロックがルーマ成分であるのか、それともクロマ成分であるのかに対して、異なる値が適用されてよい。
d)代替として、このブロックレベルしきい値未満であり現在ブロックの中に含まれるサブブロックに対してイントラコーディングとインターコーディングとの混合が許容されるかどうかを示すために、このブロックレベルしきい値におけるブロックに対してフラグがさらにシグナリングされ得る。
3.この実装形態によれば、コーディングツールが所与のブロックレベルしきい値以上であるブロックレベルのみに最適化され得るという、特定のコーディングツールに対する限定は、現在ブロックに対してイントラコード化ブロックとインターコード化ブロックとの混合があるときに除去される。
4.いくつかのツールは、しきい値レベルブロックにおけるシグナリングを使用し得る。様々なしきい値は異なってよく、ツール固有であってよい。別の代替によれば、すべてのツールに対して1つの共通しきい値が使用される。
5.しきい値レベルにおけるブロックは、シンタックスシグナリングが実行され得る場合、オーバーラップなしにピクチャフレームを構成し得る。たとえば、この実装形態によれば、しきい値レベルサイズを有する2つ以上のブロックの中に、もっと小さい他のブロックを含めることが可能でないことがある。
6.しきい値サイズを有するブロックは、仮想ブロック、すなわち、いくつかのシンタックス要素だけがそこでグループ化およびシグナリングされるブロック、または実ブロック、情報の完全なセットを含むブロックであり得る。その時、仮想ブロックおよび実ブロックが1つの同じブロックである場合があり得る。このシナリオは、たとえば、さらなるブロック分割がなく、かつサイズがしきい値に等しい実ブロックが最終ブロックであるときに、起こり得る。この場合、仮想ブロックの中で行われるべきシグナリングは条件付けおよび延期され、代わりに実ブロックの中で行われる。この実装形態は、いくつかの予測モードのみに対してシンタックスシグナリングが行われる場合に潜在的な改善をもたらすことができるが、仮想ブロックにおいてその予測モードが利用可能でないことがある。この実装形態の態様を実行するという観点で、仮想ブロックの中でのシグナリングは、分割フラグ、およびしきい値サイズに等しいブロックサイズを条件とし得る。さらなる分割がなく、かつブロックサイズがしきい値に等しい場合、ブロックは最終であり、シグナリングは後で実ブロックの中でのみ行われ得る。この条件付きシンタックスシグナリングの適用は、区別される必要があるブロックの組合せが仮想ブロックサイズにおいて可能であるかどうかに依存し得る。たとえば、イントラ予測モードおよびインター予測モードに基づいてブロックが区別されるべき場合、それはスライスタイプに依存し得る。Iスライスの場合には、インター予測は可能でなく、条件付きシグナリングは必要とされなくてよい。以下でさらに詳細に説明するPDPCは、1つまたは複数の例を提供する。同様にして、分割フラグが境界において推定され得る。たとえば、ブロックがピクチャ境界を越えるほど十分大きいとき、分割フラグはシグナリングされなくてよく、(大きい)ブロックは分割されるものと推定される。条件付きシグナリングは、分割が推定される場合にも適用され得る。
7.一例では、ブロックレベルしきい値は、分解において実際のブロックに対応しないことがある。そのような場合、ブロックを分割することが、ブロックレベルしきい値未満の2つの(BT)ブロックまたは4つの(QT)ブロックをもたらす場合、ビデオエンコーダ22は、この(しきい値未満の)ブロックサイズにおいてシンタックス要素シグナリングを実行し得る。そのようなブロックレベルしきい値の非限定的な例は392、すなわち、2のべき乗でない任意のしきい値である。
8.一例では、ビデオエンコーダ22は、ブロックサイズがブロックレベルしきい値以下であるまさに最初の時間にシンタックス要素をシグナリングし得る。シンタックス要素は、ブロックに対してシグナリングされると、そのブロックのこれ以上の分割に対してシグナリングされない。
以下の説明では、上記の技法の様々な例が提供される。本開示によれば、説明する実施形態のいかなる部分のいかなる組合せも、別個の例として実施されてよい。
ブロックエリアしきい値に基づいてEMTを最適化およびシグナリングする例。QTBTに対してEMTが適用されるとき、ブロックレベルしきい値は256として事前定義され得る。QTBTリーフノードエリアが所与のしきい値よりも大きい場合、EMTフラグとEMTインデックスの両方が、このQTBTリーフノードに対してシグナリングされる。現在のQTBTノードエリアが所与のしきい値と同一である(たとえば、リーフノードが16×16、32×8、8×32、64×4、または4×64である)場合、それがもっと小さいブロックにさらに分割されるかどうかにかかわらず、現在のQTBTノードに対して1つのEMTフラグがシグナリングされる。このEMTフラグが、EMTを有効にすることを示している場合、EMTインデックスが、そのリーフノードの各々に対してさらにシグナリングされる。このようにして、エリアサイズが所与のしきい値よりも小さいリーフノードに対して、EMTインデックスだけがシグナリングされ、EMTフラグは、シグナリングされないが、エリアサイズが所与のしきい値に等しいその最も近い親ノードからの1つのシグナリングから導出される。
様々な例では、異なるビデオ解像度に対してデフォルトのブロックレベルしきい値が適用されてよい。たとえば、単一のビデオピクチャが100,000ピクセルよりも小さく、たとえば、WQVGA(416×240)であるとき、デフォルトのブロックレベルしきい値は64として設定されてよく、そうでなく、たとえば、WVGA(832×480)、720p、1080p、または4Kである場合、デフォルトのブロックレベルしきい値は256として設定される。
位置依存型イントラ予測組合せ(PDPC)しきい値。EMTに対する例に続いて、PDPCは、フラグおよび/またはPDPCインデックスを使用し得る。フラグおよび/またはPDPCインデックスは、しきい値サイズ以上のブロックに対してシグナリングされてよく、もっと小さいブロックに対する値は、しきい値レベルにおいてシグナリングされた値に等しいものと推定される。たとえば、しきい値レベルは、ルーマ成分に関して64サンプルに等しくてよい。
上述のように、しきい値サイズ以上のサイズを有するブロックに対するPDPCフラグおよびインデックスのシグナリングは、ブロックがこれ以上分割されないときに条件付けられてよく、実行されなくてよい。そのような場合に対して、PDPCシグナリングは、予測モードが構文解析され利用可能になった後、その元の位置において行われる。PDPCは、イントラ予測関連ツールであるので、インター予測されたブロックに対して適用されない。この場合にシンタックスが条件付けられていない場合、ブロックがしきい値サイズに等しくなるとPDPC情報がシグナリングされる。この場合、ブロックは、これ以上分割されなくてよく、インターコーディングされてよい。この場合、PDPC情報は必要とされないがシグナリングされ、それに関連するビットは潜在的に浪費される。
この実装形態は、予測パラメータをシグナリングするために2つ以上のフラグを使用するPDPCのバージョンの場合に(たとえば、ブロック形状ごとかつ予測モードごとの、パラメータの4つのセットを使用するPDPCバージョンに対して)拡張され得る。ブロックサイズにおける異なるしきい値は、さらに符号化される必要があるか、または代替として、継承および共有される必要がある、フラグの数を規定し得る。このようにして、より多くのPDPCパラメータオプションが、フラグコーディングオーバーヘッドが比較的小さいもっと高いツリーレベルにおいて利用可能であり得、フラグ当りの相対的なオーバーヘッドが増大するとき、より少数のオプション(たとえば、いくつかの事例では、単一のオプション)しか利用可能でない。
別の拡張は、単一のしきい値を使用する代わりに、シグナリングシンタックスについての決定を行うためにテーブルベース規則を使用することである。この場合、テーブルエントリは区分の幅および高さであり、テーブル要素は、その区分形状から導出される区分にとって有効なシグナリングシンタックス修正を伴うリストである。
図6は、本開示の技法を実施するように構成されている例示的なビデオデコーダ30を示すブロック図である。図6は説明のために提供され、本開示において広く例示および説明されるような技法を限定するものではない。説明のために、本開示は、HEVCコーディングのコンテキストにおいてビデオデコーダ30について説明する。しかしながら、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
図6の例では、ビデオデコーダ30は、エントロピー復号ユニット150、ビデオデータメモリ151、予測処理ユニット152、逆量子化ユニット154、逆変換処理ユニット156、再構成ユニット158、フィルタユニット160、および復号ピクチャバッファ162を含む。予測処理ユニット152は、動き補償ユニット164およびイントラ予測処理ユニット166を含む。他の例では、ビデオデコーダ30は、より多数の、より少数の、または異なる機能構成要素を含み得る。
ビデオデータメモリ151は、ビデオデコーダ30の構成要素によって復号されるべき、符号化ビデオビットストリームなどの符号化ビデオデータを記憶し得る。ビデオデータメモリ151の中に記憶されるビデオデータは、たとえば、カメラなどのローカルビデオソースから、ビデオデータの有線ネットワーク通信もしくはワイヤレスネットワーク通信を介して、または物理データ記憶媒体にアクセスすることによって、たとえば、コンピュータ可読媒体16から取得され得る。ビデオデータメモリ151は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファ(CPB:Coded Picture Buffer)を形成し得る。復号ピクチャバッファ162は、たとえば、イントラコーディングモードまたはインターコーディングモードでビデオデコーダ30によってビデオデータを復号する際に使用するための、または出力のための、参照ビデオデータを記憶する参照ピクチャメモリであってよい。ビデオデータメモリ151および復号ピクチャバッファ162は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM)、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ151および復号ピクチャバッファ162は、同じメモリデバイスまたは別個のメモリデバイスによって設けられてよい。様々な例では、ビデオデータメモリ151は、ビデオデコーダ30の他の構成要素とともにオンチップであってよく、またはそれらの構成要素に対してオフチップであってよい。ビデオデータメモリ151は、図1の記憶媒体28と同じであってよく、またはその一部であってもよい。
ビデオデータメモリ151は、ビットストリームの符号化ビデオデータ(たとえば、NALユニット)を受信および記憶する。エントロピー復号ユニット150は、符号化ビデオデータ(たとえば、NALユニット)をビデオデータメモリ151から受信し得、NALユニットを構文解析してシンタックス要素を取得し得る。エントロピー復号ユニット150は、NALユニットの中のエントロピー符号化されたシンタックス要素をエントロピー復号し得る。予測処理ユニット152、逆量子化ユニット154、逆変換処理ユニット156、再構成ユニット158、およびフィルタユニット160は、ビットストリームから抽出されたシンタックス要素に基づいて、復号ビデオデータを生成し得る。エントロピー復号ユニット150は、概して、エントロピー符号化ユニット118のプロセスとは逆のプロセスを実行し得る。
本開示のいくつかの例によれば、エントロピー復号ユニット150は、ビットストリームからシンタックス要素を取得することの一部として、木構造を決定し得る。木構造は、CTBなどの最初のビデオブロックが、コーディングユニットなどのより小さいビデオブロックにどのように区分されるのかを指定し得る。本開示の1つまたは複数の技法によれば、木構造の各深度レベルにおける木構造のそれぞれの非リーフノードごとに、それぞれの非リーフノードに対して複数の許容分割パターンがあり、それぞれの非リーフノードに対応するビデオブロックは、複数の許容可能な分割パターンのうちの1つに従って、それぞれの非リーフノードの子ノードに対応するビデオブロックに区分される。
ビットストリームからシンタックス要素を取得することに加えて、ビデオデコーダ30は、区分されていないCUに対して再構成動作を実行し得る。CUに対して再構成動作を実行するために、ビデオデコーダ30は、CUの各TUに対して再構成動作を実行し得る。CUのTUごとに再構成動作を実行することによって、ビデオデコーダ30は、CUの残差ブロックを再構成し得る。
CUのTUに対して再構成動作を実行することの一部として、逆量子化ユニット154は、TUに関連する係数ブロックを逆量子化(Inverse Quantize)、すなわち逆量子化(De-quantize)し得る。逆量子化ユニット154が係数ブロックを逆量子化した後、逆変換処理ユニット156は、TUに関連する残差ブロックを生成するために、係数ブロックに1つまたは複数の逆変換を適用し得る。たとえば、逆変換処理ユニット156は、逆DCT、逆整数変換、逆カルーネンレーベ変換(KLT:Karhunen-Loeve transform)、逆回転変換、逆方向変換、または別の逆変換を、係数ブロックに適用し得る。
PUがイントラ予測を使用して符号化されている場合、イントラ予測処理ユニット166は、イントラ予測を実行してPUの予測ブロックを生成し得る。イントラ予測処理ユニット166は、イントラ予測モードを使用して、空間的に隣接するブロックのサンプルに基づいてPUの予測ブロックを生成し得る。イントラ予測処理ユニット166は、ビットストリームから取得された1つまたは複数のシンタックス要素に基づいて、PU用のイントラ予測モードを決定し得る。
PUがインター予測を使用して符号化されている場合、エントロピー復号ユニット150は、PUのための動き情報を決定し得る。動き補償ユニット164は、PUの動き情報に基づいて、1つまたは複数の参照ブロックを決定し得る。動き補償ユニット164は、1つまたは複数の参照ブロックに基づいて、PUに対する予測ブロック(たとえば、予測ルーマブロック、予測Cbブロック、および予測Crブロック)を生成し得る。
再構成ユニット158は、CUのTUに対する変換ブロック(たとえば、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロック)、およびCUのPUの予測ブロック(たとえば、ルーマブロック、Cbブロック、およびCrブロック)、すなわち、適用可能な場合、イントラ予測データまたはインター予測データのいずれかを使用して、CUに対するコーディングブロック(たとえば、ルーマコーディングブロック、Cbコーディングブロック、およびCrコーディングブロック)を再構成し得る。たとえば、再構成ユニット158は、予測ブロック(たとえば、ルーマ予測ブロック、Cb予測ブロック、およびCr予測ブロック)の対応するサンプルに、変換ブロック(たとえば、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロック)のサンプルを加算して、CUのコーディングブロック(たとえば、ルーマコーディングブロック、Cbコーディングブロック、およびCrコーディングブロック)を再構成し得る。
フィルタユニット160は、デブロッキング動作を実行して、CUのコーディングブロックに関連するブロッキングアーティファクトを低減し得る。ビデオデコーダ30は、CUのコーディングブロックを復号ピクチャバッファ162の中に記憶し得る。復号ピクチャバッファ162は、後続の動き補償、イントラ予測、および図1のディスプレイデバイス32などのディスプレイデバイス上での提示のために、参照ピクチャを提供し得る。たとえば、ビデオデコーダ30は、復号ピクチャバッファ162の中のブロックに基づいて、他のCUのPUに対してイントラ予測動作またはインター予測動作を実行し得る。
ビデオデコーダ30および/またはその1つもしくは複数の構成要素は、既存のコーディングツールがHEVC4分木ベース区分に対して最適化されQTBTベース区分の2分木態様に対して最適化されないことから生じる潜在的な問題などの、上記で説明した様々な問題を緩和または潜在的に解決するための、本開示の様々なデコーダ側技法を実施するように構成され得る。
本開示のいくつかの技法によれば、ビデオデコーダ30は、ブロック分割ベースの区分構造がブロックのために適用されるシナリオの場合、1つまたは複数のコーディングツールに関してブロックレベルしきい値を規定し得る。本明細書で使用する「コーディングツール」とは、いくつかのブロックレベルにおいてオンまたはオフに切り替えられてよい、特定のコーディング方法、技法、またはモードである。本開示は、様々な事例におけるそのようなコーディングツールの例示的な例として、イントラ予測、インター予測、インタースキップ、変換シグナリング、拡張多重変換(EMT)、非分離可能2次変換(NSST)、または位置依存型予測合成(PDPC)を使用するが、ビデオデコーダ30が他のコーディングツールの使用に本開示の技法をやはり適用し得ることが理解されよう。
たとえば、ビデオデコーダ30は、コーディングツールが適用されるブロックがHEVC4分木構造またはQTBT構造に従って区分されるべきであるかどうかにかかわらず、符号化ビデオデータを再構成するために上記のコーディングツールのうちの1つまたは複数などのコーディングツールを適用するとき、ブロックレベルしきい値などの制約を課してよい。ビデオデコーダ30は、所定のブロックレベルしきい値を満たすかまたはそれを上回るブロックを再構成するために適用されるべきコーディングツールに関連する、1つまたは複数のシンタックス要素を受信し得る。いくつかの例では、しきい値は、ビデオデコーダ30が予測および逆変換をそこで適用するブロックサイズとは異なる。
本開示の技法のいくつかの実装形態では、ビデオデコーダ30は、それぞれのブロックの寸法に依存するブロックレベルしきい値を使用し得る。例として、ブロックレベルしきい値は、ブロックエリアサイズ、またはブロックの幅および高さのいくつかの組合せのうちの、1つまたは複数として表現され得る。たとえば、ビデオデコーダ30は、EMTコーディングツールに関して256ピクセルというブロックエリアベースしきい値を使用し得る。すなわち、ビデオデコーダ30は、エリアに換算して少なくとも256ピクセルをカバーするとともにビデオデコーダ30が符号化ビデオビットストリームの中で有効なEMTフラグをそれに対して受信するブロックを再構成するために、EMTベース復号を適用し得る。
この例では、ビデオデコーダ30は、256エリアしきい値を満たすかまたはそれを上回るブロックに対してブロック全体にわたってEMTフラグが適用されるような、EMTフラグおよび1つまたは複数のEMTインデックスを受信し得る。すなわち、256ピクセルブロックがHEVC4分木構造に従ってまたはQTBT構造に従ってさらに区分されても、ビデオデコーダ30は、EMTフラグの値が256ピクセルブロックのすべてのサブブロックに適用されると決定し得る。たとえば、QTBT区分構造によれば、バイナリ区分は、256ピクセルがさらに区分された後にのみ適用可能になり得る。すなわち、ブロックがHEVC4分木区分に従って分割されるのか、それともQTBT区分構造に従って分割されるのかにかかわらず、256ピクセルブロックは正方形のフォームファクタを有し得る。
図7は、CTU170として図示する64×64のCTUのための本開示の例示的なコーディングツール関連フラグシグナリング技法を示す概念図である。本開示のEMTフラグベース技法の一例が、図7において64×64のCTUに対して図示される。図7に示す例によれば、ビデオデコーダ30は、256よりも大きいかまたはそれに等しいエリアを有するブロックごとにのみ、EMTフラグを受信し得る。256というしきい値サイズを満たすブロックが、太い破線の境界線を使用して図示される。2つの太い破線の境界線がオーバーラップする境界に沿って、太い実線の境界線が現れることが諒解されよう。256よりも小さいエリアサイズを有する各サブブロック(実線または点線のいずれかの細い境界線を用いて識別される)に対して、ビデオデコーダ30はEMTフラグを受信しなくてよい。代わりに、ビデオデコーダ30は、現在のサブブロックを囲むかまたは含む太い線で縁どられた最小の(しきい値エリアを満たす)ブロックのEMTフラグから、EMTフラグ値を推測し得る。様々な例では、ビデオデコーダ30は、限定はしないが、32、64、128、512、1024などの他のブロックレベルしきい値エリアを使用し得る。
コーディングツールに関するブロックレベルしきい値処理技法のいくつかの例では、ビデオデコーダ30は、ブロックサイズ寸法以外の基準に基づくブロックレベルしきい値を使用し得る。たとえば、ブロックレベルしきい値は、CTU、スライス、タイル、ピクチャ、またはピクチャグループ(GOP)基準のうちの1つまたは複数に基づいてよい。すなわち、ブロックレベルしきい値は、上記の基準のうちの1つまたは複数に基づいて変化してよい。
代替として、いくつかの実装形態では、ブロックレベルしきい値は、それぞれ、以前にコーディングされたCTU、スライス、タイル、ピクチャ、またはGOPの情報を使用して、CTU、スライス、タイル、ピクチャ、またはGOP基準に基づいて変化してよい。以前にコーディングされた情報に基づいてブロックレベルしきい値が変化するいくつかの事例では、ブロックレベルは、たとえば、ブロックサイズごとに予測および/または逆変換が何回実行されているのかという計数に基づいてよい。いくつかの例では、ブロックレベルしきい値は、デフォルト値に設定され得る。デフォルト値の例は、限定はしないが、64または256という値を含む。いくつかの例では、ビデオデコーダ30は、ブロックを含むスライスに対するスライスタイプ、たとえば、スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのかに基づいて形成されている、ブロックレベルしきい値を受信し得る。ブロックレベルしきい値は、事前定義された固定値であってよいが、ビデオデコーダ30は、異なるコーディング構成または画像成分に対して異なる値を適用してよい。たとえば、ビデオデコーダ30は、現在スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのか、および/または現在ブロックがルーマ成分を表すのか、それともクロマ成分を表すのかなどの、いくつかのファクタに応じて、ブロックレベルしきい値に対して異なる値を適用してよい。
いくつかの例では、ビデオデコーダ30は、しきい値が適用されるブロックに対してアウトオブバンドでブロックレベルしきい値を受信し得る。たとえば、ビデオデコーダ30は、スライスヘッダ、ピクチャパラメータセット(PPS)、ビデオパラメータセット(VPS)、またはシーケンスパラメータセット(SPS)などの、1つまたは複数のシンタックス構造の中で、ブロックレベルしきい値を受信し得る。ブロックレベルしきい値を(たとえば、適用可能な符号化ブロックに対してインバンドであるのか、それともアウトオブバンドであるのかにかかわらず)受信すると、ビデオデコーダ30は、符号化ブロックに関するそれぞれのコーディングツールのデコーダ側態様を適用するための条件として、ブロックレベルしきい値を使用し得る。
EMTの適用のためのブロックエリアベースしきい値に関して上記で説明した実装形態では、ビデオデコーダ30は、シグナリングされたブロックレベルしきい値エリアを満たすかまたはそれを上回るブロックに、受信された任意のEMTフラグを適用し得る。たとえば、(たとえば、スライスヘッダ、VPS、PPS、またはSPSの中で)受信されたブロックレベルしきい値エリアが256ピクセルのエリアを反映する場合、ビデオデコーダ30は、エリアの中の少なくとも256ピクセルであるブロックに、受信された任意のEMTフラグを適用し得る。
たとえば、ビデオデコーダ30は、有効状態に(たとえば、1という値に)設定されているEMTフラグを受信し得る。EMTフラグの有効状態に基づいて、ビデオデコーダ30は、EMTフラグが適用される、エリアの中の少なくとも256ピクセルをカバーするブロックの復号に関して、EMTコーディングツールを活動化させてよい。すなわち、ビデオデコーダ30は、エリアの中の少なくとも256ピクセルであるブロックのすべてのサブブロックに関して、EMTコーディングツールを活動化させてよい。次に、ビデオデコーダ30は、エリアの中の少なくとも256ピクセルであるブロックの各サブブロックに関する個々のEMTインデックスを受信し得る。受信された各EMTインデックス値に基づいて、ビデオデコーダ30は、EMTコーディングツールを使用して、EMTが活動化されているブロックの各サブブロックを再構成し得る。
このようにして、ビデオデコーダ30は、QTBT区分に対応するためのコーディングツールの最適化においていかなる変更も必要とすることなく既存のコーディングツールを適用するために、本開示のブロックレベルしきい値処理技法を実施し得る。EMTフラグなどのコーディングツールベースのシンタックス要素は、HEVC4分木区分構造によるCUレベルにおいてシグナリングされる。HEVC準拠CUはサイズを変更できるが、8×8次元を下回らない。しかしながら、QTBT区分構造により、時には最大4つのサブブロックに分割される程度まで、8×8ブロックがさらに区分されることが可能になる。したがって、QTBT区分構造のために既存のコーディングツール(たとえば、EMT、PDPCなど)の最適化を拡張することは、フラグコーディングを4倍にすることになる。したがって、ビデオデコーダ30が、HEVC4分木区分されたブロックに対して単一のフラグを受信および処理することを必要とされていることになる場合、ビデオデコーダ30は、QTBT区分されたブロックに対して4つのフラグを受信および処理することを必要とされることになる。
EMTフラグのためのブロックエリアベースしきい値処理の例によって図示したように、本開示の技法により、ビデオエンコーダ22およびビデオデコーダ30が、計算量および帯域幅消費を4倍に増やすことなく、QTBT区分されたブロックに関して(EMTなどの)HEVC最適化されたコーディングツールを活用し続けることが可能になる。すなわち、本開示のブロックエリアベースしきい値処理技法により、ブロックがQTBT区分構造に従って区分されても、ビデオエンコーダ22およびビデオデコーダ30が、正方形の256ピクセルブロックに対して単一のフラグを処理することが可能になる。このようにして、本開示の技法により、ビデオエンコーダ22およびビデオデコーダ30が、より最近のQTBTブロック区分構造を活用しながら、既存のHEVC最適化されたコーディングツールを使用することが可能になる。すなわち、本開示の技法により、QTBT区分構造に対するさらなる最適化なしに、既存の(HEVC最適化された)コーディングツールの継続した使用が可能になる。
本開示のいくつかの態様によれば、ビデオデコーダ30は、ブロック再構成のためにイントラコーディングのみがそこで適用されるか、またはインターコーディングのみがそこで適用される、最低ブロックレベルを決定するために、ブロックレベルしきい値を適用し得る。たとえば、ビデオデコーダ30は、サイズベースのブロックレベルしきい値に基づいて、イントラコーディングまたはインターコーディングのみがそこで適用される最小ブロックレベルを決定し得、あるいはイントラコーディングまたはインターコーディングのみがそこで適用される最小ブロックレベルを、符号化ビデオビットストリームの中で明示的にシグナリングされる値として受信し得る。たとえば、ビデオデコーダ30は、ブロックレベルしきい値以下においてイントラコーディングとインターコーディングとの混合が許容されないと決定し得る。すなわち、ビデオデコーダ30は、ブロック再構成の間、しきい値エリアに等しいかまたはそれよりも小さいエリアを有するブロックのすべてのサブブロックに、インターコーディングのみか、またはイントラコーディングのみを適用してよい(ただし、両方の組合せは適用し得ない)。言い換えれば、ブロックがエリアしきい値以内にある場合、ビデオデコーダ30は、ブロックからサブブロックを形成するために使用される区分構造にかかわらず、符号化ブロックのすべての符号化サブブロックを再構成するために、すべてのサブブロックにイントラコーディングを適用し得るか、またはインターコーディングを適用し得るかのいずれかである。ブロックエリアに関して説明するが、ブロックレベルしきい値が、いくつかの例では、ブロック幅および/またはブロック高などの他のサイズ寸法に基づいてよいことが諒解されよう。
いくつかの例では、ブロックレベルしきい値は、CTUごと、スライスごと、タイルごと、ピクチャごと、またはピクチャグループ(GOP)ごとのうちの1つまたは複数に従って変化してよい。追加として、イントラコーディングとインターコーディングとの任意の混合を許容または拒否するためにビデオデコーダ30がブロックレベルしきい値を適用する様々な例では、ビデオデコーダ30は、スライスヘッダ、ピクチャパラメータセット(PPS)、ビデオパラメータセット(VPS)、またはシーケンスパラメータセット(SPS)の中などの、対応するブロックに対してアウトオブバンドでブロックレベルしきい値を受信し得る。
代替として、ブロックレベルしきい値は、それぞれ、以前に再構成されたCTU、スライス、タイル、ピクチャ、またはGOPのコード化情報を使用して、CTU基準、スライス基準、タイル基準、ピクチャ基準、またはGOP基準のうちの1つまたは複数に基づいて更新され得る。たとえば、ビデオデコーダ30は、ブロックサイズごとに予測および/または逆変換が何回実行されているのかという計数に基づいて、ブロックレベルしきい値を更新し得る。いくつかの代替では、ビデオデコーダ30は、ブロックレベルしきい値を64または256などのデフォルト値に設定し得る。いくつかの例では、ビデオデコーダ30は、スライスタイプ、たとえば、スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのかに依存する値として、ブロックレベルしきい値を受信し得る。
イントラコーディングまたはインターコーディング決定のためのブロックレベルしきい値処理のいくつかの実装形態では、ブロックレベルしきい値更新は随意であってよい。たとえば、ビデオデコーダ30は、ブロックレベルしきい値に関係する情報を見分けるために、(既存のフラグである)「存在」フラグを受信し得る。たとえば、フラグが0値に設定されている場合、ビデオデコーダ30は、ブロックレベルしきい値がデフォルトのしきい値レベルまたはデフォルト値に設定されていると決定し得る。ブロックレベルしきい値がデフォルト値に設定されている場合には、ビデオデコーダ30は、(PPS、SPS、またはVPSの中などの)より上位の構造レベルにおいてブロックレベルしきい値を随意に受信し得る。一方、存在フラグの値が1という値に設定されている場合、ビデオデコーダ30は、ブロックレベルしきい値が直接シグナリングされるまたはされることになる(is or will be signaled)と決定し得る。
ビデオデコーダ30がフラグを受信しない場合、ビデオデコーダ30は、フラグの値が0であると推測してよい。すなわち、ブロックに関してフラグが受信されない場合は、ビデオデコーダ30は、ブロックレベルしきい値がデフォルト値に設定されていると決定してよく、したがって、関連するコーディングツールをブロックに適用することに関するしきい値ブロックレベルとして、デフォルト値を使用してよい。いくつかの事例では、ビデオデコーダ30は、シグナリングされる値が、レベルがデフォルト値に等しい任意の場合を除外するような、調整された値を受信し得る。いくつかの事例では、ビデオデコーダ30は、シグナリングが、レベルがデフォルト値に等しい任意の場合を除外するような、調整されたブロックレベルしきい値を受信し得る。
いくつかの例では、ビデオデコーダ30は、符号化ブロックを含むスライスに対するスライスタイプ、たとえば、スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのかに依存する値として、ブロックレベルしきい値を受信し得る。ブロックレベルしきい値は、いくつかの事前定義された固定値のうちの1つであってよいが、ビデオデコーダ30は、異なるコーディング構成または画像成分に対して異なる値を適用してよい。たとえば、ビデオデコーダ30は、現在スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのか、および/または現在の符号化ブロックがルーマ成分を表すのか、それともクロマ成分を表すのかなどの、いくつかのファクタに応じて、ブロックレベルしきい値に対して異なる値を適用してよい。
いくつかの事例では、ビデオデコーダ30は、ブロックレベルしきい値以下にあるブロックに対するイントラコーディングとインターコーディングとの間での選択に対して、1つまたは複数の例外を実施し得る。すなわち、(イントラのみまたはインターのみのブロックのためのブロックレベルしきい値処理に対する例外を形成する)いくつかのシナリオでは、ビデオデコーダ30は、ブロックレベルしきい値以下にあるブロックの符号化サブブロックを再構成するために、イントラコーディングとインターコーディングの両方を使用し得る。いくつかのそのようなシナリオでは、ビデオデコーダ30がインターのみまたはイントラのみの選択に対して例外を設けるように構成される場合、ビデオデコーダ30は、ブロックレベルしきい値以内にあるブロック用のシグナリングされたフラグを受信し得る。ビデオデコーダ30は、フラグの値を復元して、ブロックのそれぞれのサブブロックに対してイントラコーディングとインターコーディングとの混合が許容されるかどうかを決定し得る。たとえば、フラグが0という値に設定されている場合、ビデオデコーダ30は、対応するブロックの再構成においてイントラコーディングとインターコーディングとの混合が許容されないと決定し得る。一方、フラグが1という値に設定されている場合、ビデオデコーダ30は、対応するブロックのサブブロックのコーディングに関してインターコーディングとイントラコーディングとの混合が許容されると決定し得る。ブロックに関してイントラコーディングとインターコーディングとの混合が許可されるか否かを決定するためにビデオデコーダ30が受信および復元し得るフラグは、そのフラグがH.264および/またはHEVCなどの既存のビデオコーディング規格において指定されるシンタックス要素に対して追加のシンタックス要素を表すという点で、新たなフラグを表し得る。
いくつかの例では、ビデオデコーダ30は、1つまたは複数のコーディングツールの最適化に対してブロックレベル制約を実施し得るが、しきい値を満たすかまたはしきい値を上回るブロックがイントラコード化サブブロックとインターコード化サブブロックとの混合を含む場合は、制約を除去してよい。たとえば、PDPCやNSSTなどのいくつかのコーディングツールは、HEVCによるイントラコーディングのみに対して最適化される。EMTは、インターコーディングとイントラコーディングの両方に対して最適化され、したがって、EMTインターおよび/またはEMTイントラとして実施され得る。いくつかのコーディングツールは、HEVCによるインターコーディングのみに対して最適化される。したがって、コーディング最適化に対するブロックレベル制約の除去は、イントラコード化サブブロックとインターコード化サブブロックの両方を含むブロックの場合には、任意のそのようなコーディングツールに適用可能である。
たとえば、EMTコーディングツールが、所与のブロックに対してEMTイントラまたはEMTインターのいずれかとして実施されるので、ブロックレベルしきい値は、EMTコーディングツールがEMTイントラまたはEMTインターのいずれかとして適用されるので、ブロックがイントラコード化サブブロックとインターコード化サブブロックの両方を含む事例においてEMTコーディングツールの使用を妨害し得る。同様に、ブロックレベル制約は、PDPCツールおよびNSSTツールの各々がイントラコード化ブロックに対して最適化されるので、ブロックがイントラコード化サブブロックとインターコード化サブブロックの両方を含む事例においてPDPCツールまたはNSSTツールの使用を妨害し得る。このようにして、ビデオデコーダ30は、コーディングツールを適用してQTBT区分構造に対応するためにブロックレベル制約を実施し得るが、コーディングツールのイントラのみまたはインターのみの最適化を活用するために、インターコード化サブブロックとイントラコード化サブブロックとの混合を含むブロックの場合に制約を除去し得る。
本開示のいくつかの技法によれば、ビデオデコーダ30は、1つまたは複数のコーディングツール用の情報を受信し得、ここで、情報のシグナリングは、ブロックレベルしきい値に依存する。一実装形態では、ビデオデコーダ30は、ビデオデコーダ30によって適用されるか、またはビデオデコーダ30にとって利用可能な、すべてのコーディングツール用の情報を受信し得、ここで、すべてのそのようなコーディングツール用の情報のシグナリングは、単一のブロックレベルしきい値に依存する。たとえば、ビデオデコーダ30は、少なくともしきい値ブロックレベルにあるブロックのみに対して、単一のEMTフラグ、または単一のPDPCフラグ、または単一のNSSTフラグを受信し得る。すなわち、この実装形態では、ブロックレベルしきい値は、符号化ブロックを再構成するためにビデオデコーダ30がどのコーディングツールを使用するのかにかかわらず、静的な値を有する。
コーディングツールシグナリングのためのブロックレベルしきい値処理の別の実装形態では、ブロックレベルしきい値は、コーディングツールごとに変化してよい。たとえば、ビデオデコーダ30は、第1のしきい値レベルを満たすブロックのみに対してEMTフラグを、第2のしきい値レベルを満たすブロックのみに対してPDPCフラグを、また第3のしきい値レベルを満たすブロックのみに対してNSSTフラグを受信し得る。
本開示のいくつかの例によれば、ビデオデコーダ30は、任意の所与の時間において、単一の符号化ブロックを再構成するための単一のコーディングツールに対して、固有のブロックレベルしきい値を適用し得る。たとえば、ブロックレベルしきい値(シンタックスシグナリングがそこで実行され得る最小ブロックレベルを表すしきい値)を満たすかまたはそれを上回るブロックは、オーバーラップなしにピクチャフレームを構成し得る。たとえば、この実装形態によれば、ビデオデコーダ30は、区分が、ブロックレベルしきい値よりも小さい少なくとも1つのサブブロックをもたらすことになる場合、いかなるブロックもこれ以上区分しなくてよい。すなわち、ビデオデコーダ30は、しきい値レベルサイズを有する2つ以上のブロックの中に、より小さいサブブロックを含めなくてよい。
ビデオデコーダ30は、いくつかのシナリオでは、符号化ビデオビットストリームの中でいわゆる「仮想ブロック」を受信し得る。より詳細には、仮想ブロックに関して、ビデオデコーダ30は、ブロックを形成する符号化データのサブセットのみを受信し得る。たとえば、仮想ブロックに対して、ビデオデコーダ30は、ブロックの符号化ビデオデータに関するいくつかのシンタックス要素のグループ化を受信し得る。仮想ブロックとは対照的に、「実ブロック」とは、ビデオデコーダ30が符号化情報の完全なセットをそれに対して受信する、ビデオデータの符号化ブロックを表す。
本開示のいくつかの技法によれば、仮想ブロックが実ブロックとして適格である(すなわち、仮想ブロックおよび対応する実ブロックが同じ単一のブロックである)場合、ビデオデコーダ30は、通例、仮想ブロックに関して実行される情報の、延期されたシグナリングを受信し得る。すなわち、ビデオデコーダ30は、代わりに実ブロックに関する仮想ブロック情報を受信し得る。
いくつかのシナリオにおいて代わりに実ブロックに関する仮想ブロック情報を受信することによって、ビデオデコーダ30は、いくつかの場合において、ビデオエンコーダ22および相互接続データトランスポートインフラストラクチャに課されたビットレート要件を低減し得る。たとえば、いくつかの予測モードのみに対してシンタックスシグナリングが行われる場合は、実ブロックがこれ以上分割されず、かつ実ブロックのサイズが少なくともしきい値サイズに等しい場合、実ブロックは最終ブロックを表し得る。したがって、通例、仮想ブロックの一部としてシグナリングされる、シンタックス要素のシグナリングは、(たとえば、ビデオエンコーダ22において)後で実行されてよく、ビデオデコーダ30は、実ブロックに関するこれらのシンタックス要素を単に受信し得る。
ビデオデコーダ30は、シグナリングされる情報が、(互いに区別される)得られたサブブロックの組合せが仮想ブロックのサイズにおいて可能であるかどうかに依存するように、実ブロックに関する仮想ブロック情報を後で受信し得る。たとえば、ビデオデコーダ30は、サブブロックがイントラ予測モードおよびインター予測モードを使用して符号化されていることに基づいて区別される場合、シグナリングがスライスタイプに依存するような、実ブロックに関する情報を受信しても受信しなくてもよい。符号化ブロックがIスライスの中に含まれる場合には、インター予測は符号化ブロックの再構成のためのオプションでない。したがって、ブロックがIスライスの中に含まれる場合には、ビデオエンコーダ22は、条件付きシグナリングが必要とされないと決定し得る。
本開示の条件付きシグナリング技法の一例が、PDPCコーディングツールに関して本明細書で説明される。いくつかの事例では、ビデオデコーダ30は、境界において明示的にシグナリングされた分割フラグが受信されないことに基づいて、ピクチャ境界における分割フラグを推測し得る。そのような場合、ビデオデコーダ30は、ブロックがピクチャ境界において分割されると推測し得る。すなわち、ビデオデコーダ30は、ブロックがピクチャ境界を越えることに基づいて、ピクチャ境界におけるブロック分割を推測するように構成され得る。
符号化ブロックに対して有効状態に設定されたPDPCフラグを受信すると、ビデオデコーダ30は、(サブブロックを取得するために使用される区分方式にかかわらず)しきい値サイズのブロックのあらゆるサブブロックがPDPCコーディングツールを使用して再構成されるべきであると推測し得る。すなわち、ビデオデコーダ30は、より小さいサブブロックに対するPDPCフラグ値が、しきい値レベル以上にあるもっと大きいブロックに対して受信された単一のPDPCフラグ値に等しいと推測し得る。一例では、ビデオデコーダ30は、PDPCコーディングツールを使用して符号化および復号されるべきルーマ成分ブロックのために、64サンプルに等しいしきい値レベルを使用し得る。
上記で説明したように、PDPCは、イントラ予測モードに対して最適化されているコーディングツールである。したがって、ビデオデコーダ30は、インター予測されるいかなる符号化ブロックまたはサブブロックの再構成のためにも、PDPCコーディングツールを適用しなくてよい。ビデオエンコーダ22が条件付きシグナリングを実施しない場合は、ビデオデコーダ30は、符号化ブロックがこれ以上分割されず、したがって、いかなるインターコード化サブブロックも含まないという条件で、しきい値サイズに等しいかまたはそれよりも大きい符号化ブロック用のPDPC情報を受信し得る。再び、ブロックがインターコード化サブブロックを含む場合、PDPC情報は必要とされなくてよく、したがって、サブブロックレベルのPDPC情報のシグナリングは、不必要なビットがシグナリングされることに起因するビットレート消耗を引き起こすことがある。このようにして、PDPC情報が明示的にシグナリングされる必要があるインスタンスを低減することによって、ビデオデコーダ30は、PDPCコーディングツール適用に対するビットレート要件を低減し得る。
ビデオデコーダ30はまた、予測パラメータを決定するために2つ以上のフラグを使用するバージョンのPDPCを復元する事例に、本開示の条件付きシグナリングベースの再構成技法を拡張し得る。そのような一例は、ブロック形状ごとかつ予測モードごとの、パラメータの4つのセットを利用するPDPCバージョンである。ビデオデコーダ30は、受信および復元されるべき、または代替として、継承および復元されるべきフラグの数を規定するために、ブロックサイズに対して異なるしきい値を実施し得る。このようにして、ビデオデコーダ30は、フラグ復元オーバーヘッドが比較的小さくてよいもっと高いツリーレベルにおいて、より多数のPDPCパラメータオプションを利用し得る。一方、ビデオデコーダ30は、フラグ当りのレベルにおける相対的なフラグ復元オーバーヘッドがより大きいもっと低いツリーレベルにおいて、より少数のPDPCパラメータオプション(できる限り単一オプションと同じくらい少ない)しか使用しなくてよい。
いくつかの例では、ビデオデコーダ30は、上記で説明したようなコーディングツールのためのブロックレベルしきい値処理の代替として、ブロック分解プロセスにおける実際のブロックに対応しないブロックレベルしきい値を代わりに実施し得る。これらの例では、ブロックを分割することが、ブロックレベルしきい値未満である2つのサブブロック(BT区分)または4つのサブブロック(QT区分)サブブロックをもたらす場合、ビデオデコーダ30は、得られたサブブロックサイズにおいてコーディングツール関連シンタックス要素を受信し得る。そのようなサブブロックベースのブロックレベルしきい値の一例は392、すなわち、2のべき乗でない任意のしきい値サイズである。いくつかの事例では、ビデオデコーダ30は、浮動小数点値であるサブブロックベースのブロックレベルしきい値を使用してもよい。
本開示のいくつかの例によれば、ビデオデコーダ30は、ブロックサイズがブロックレベルしきい値と同じかまたはそれよりも小さいことをビデオデコーダ30が検出できるまさに最初のインスタンスにおいて、コーディングツール関連シンタックス要素(たとえば、EMTフラグ)を受信し得る。ブロックに対してコーディングツール関連シンタックス要素がシグナリングされると、ビデオデコーダ30は、ブロックのさらなる分割から得られるいかなるサブブロックに対しても、対応するコーディングツール関連シンタックス要素を受信しなくてよい。すなわち、これらの例によれば、ビデオデコーダ30は、得られたブロックがそこにおいて所定のブロックレベルしきい値以下にある接合を区分すると、ブロックの最初のサブブロックに関するコーディングツール関連シンタックス要素(たとえば、EMTフラグ)を受信し得る。
図8は、本開示の1つまたは複数の技法を実施するためにビデオデコーダ30および/またはその様々な構成要素が実行し得る、例示的なプロセス180を示すフローチャートである。プロセス180は、ビデオデコーダ30が符号化ビデオデータに対するブロックレベルしきい値を決定すると開始し得る(182)。たとえば、ビデオデコーダ30は、ビデオデコーダ30の1つもしくは複数の記憶媒体に記憶されているか、または別の方法でビデオデコーダ30にとってアクセス可能である、符号化ビデオデータの一部分に対するブロックレベルしきい値を決定し得る。
次に、ビデオデコーダ30は、符号化ビデオデータの符号化ブロックがブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有すると決定し得る(184)。様々な例では、ブロックレベルしきい値は、ブロックエリアなどの様々なサイズベースの観点で表現される。したがって、ビデオデコーダ30は、ブロックのエリアがブロックレベルしきい値によって表されるエリアに等しいかまたはそれよりも大きいと決定し得る。ビデオデコーダ30は、しきい値を満たす符号化ブロックの一部分がコーディングツールを使用して再構成されるべきであることを示す、シンタックス要素を受信し得る(186)。シンタックス要素の一例はEMTフラグであり、EMTフラグは、符号化ブロックの少なくとも一部分がEMTコーディングツールを使用して再構成されるべきであることを示す。
符号化ブロックがブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有することに基づいて、ビデオデコーダ30は、受信されたシンタックス要素が符号化ブロックのすべてのサンプルに適用されると決定し得る(188)。すなわち、符号化ブロックが少なくともしきい値サイズを有することに基づいて、ビデオデコーダ30は、受信されたシンタックス要素が符号化ブロックの全体に適用されると決定し得る。次に、ビデオデコーダ30は、コーディングツールを使用して符号化ブロックを再構成し得る(190)。
いくつかの例では、ブロックレベルしきい値は最小エリアを表し、ビデオデコーダ30は、符号化ブロックが4分木ベース区分方式または4分木+2分木ベース区分方式のうちの一方に従って複数のサブブロックに区分されていると決定し得る。いくつかの例では、符号化ブロックが最小エリアに等しいかまたはそれよりも大きいサイズを有することに基づいて、ビデオデコーダ30は、受信されたシンタックス要素が符号化ブロックの各サブブロックに適用されると決定し得る。
いくつかの例では、受信されたシンタックス要素は拡張多重変換(EMT)フラグを備え、ビデオデコーダ30は、EMTフラグが有効状態に設定されていると決定し得る。EMTフラグが有効状態に設定されていることに基づいて、ビデオデコーダ30は、符号化ブロックのそれぞれのサブブロックごとにそれぞれのEMTインデックスを復号し得、EMTコーディングツールを使用して符号化ブロックを再構成し得る。
いくつかの例では、符号化ブロックは、4分木ベース区分方式または4分木+2分木ベース区分方式のうちの一方に従って複数のサブブロックに区分され得、ブロックレベルしきい値は、最大サブブロックエリアを表し得、コーディングツールは、イントラコーディングまたはインターコーディングのうちの少なくとも一方を含み得る。ビデオデコーダ30は、1つまたは複数のサブブロックのいずれかが最大サブブロックエリアよりも小さいことに基づいて、サブブロックがイントラコーディングまたはインターコーディングのうちの一方のみを使用して再構成されるべきであると決定し得る。いくつかの例では、ビデオデコーダ30は、シンタックス要素がそれに対して受信されるコーディングツールを含む複数のコーディングツールのうちの各それぞれのコーディングツールに、ブロックレベルしきい値を適用し得る。複数のコーディングツールは、拡張多重変換(EMT)コーディングツール、位置依存型予測合成(PDPC)コーディングツール、非分離可能2次変換(NSST)コーディングツール、イントラ予測ツール、またはインター予測ツールのうちの2つ以上を含み得る。様々な例では、イントラ予測ツールは、イントラコーディングツールまたはイントラ予測コーディングツールと呼ばれることがある。様々な例では、インター予測ツールは、インターコーディングツールまたはインター予測コーディングツールと呼ばれることがある。
いくつかの例では、ブロックレベルしきい値は、複数のブロックレベルしきい値の中に含まれ、ビデオデコーダ30は、シンタックス要素がそれに対して受信されるコーディングツールを含む複数のコーディングツールのうちの各それぞれのコーディングツールに、複数のブロックレベルしきい値のうちのそれぞれのブロックレベルしきい値を適用し得る。
図9は、本開示の1つまたは複数の技法を実施するためにビデオエンコーダ22および/またはその様々な構成要素が実行し得る、例示的なプロセス210を示すフローチャートである。プロセス210は、ビデオエンコーダ22がビデオデータに対するブロックレベルしきい値を決定すると開始し得る(212)。たとえば、ビデオエンコーダ22は、ビデオエンコーダ22の1つもしくは複数の記憶媒体に記憶されているか、または別の方法でビデオエンコーダ22にとってアクセス可能である、ビデオデータの一部分に対するブロックレベルしきい値を決定し得る。
次に、ビデオエンコーダ22は、ビデオデータのブロックがブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有すると決定し得る(214)。様々な例では、ブロックレベルしきい値は、ブロックエリアなどの様々なサイズベースの観点で表現される。したがって、ビデオエンコーダ22は、ブロックのエリアがブロックレベルしきい値によって表されるエリアに等しいかまたはそれよりも大きいと決定し得る。
ビデオエンコーダ22は、コーディングツールを使用してブロックを符号化し得る(218)。そのようなコーディングツールの例は、EMTコーディングツール、PDPCコーディングツール、NSSTコーディングツール、インターコーディング、またはイントラコーディングを含む。ブロックがブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有することに基づいて、ビデオエンコーダ22は、しきい値を満たす符号化ブロックのすべてのサンプルが符号化ブロックを形成するためにコーディングツールを使用して再構成されるべきであることを示す、シンタックス要素を符号化し得る(220)。すなわち、符号化ブロックが少なくともしきい値サイズを有することに基づいて、ビデオエンコーダ22は、シンタックス要素が符号化ブロックの全体に適用されるようなシンタックス要素を符号化し得る。そのような一例では、ビデオエンコーダ22は、符号化ブロック全体に対してEMTフラグを有効状態において符号化し得る。
いくつかの例では、ブロックレベルしきい値は、最小サブブロックエリアを表し、ビデオエンコーダ22は、4分木ベース区分方式または4分木+2分木ベース区分方式のうちの一方に従って符号化ブロックを複数のサブブロックに区分し得る。いくつかの例では、ビデオエンコーダ22は、符号化ブロックが最小サブブロックエリアに等しいかまたはそれよりも大きいサイズを有することに基づいて、符号化シンタックス要素が符号化ブロックの各サブブロックに適用されると決定し得る。いくつかの例では、符号化シンタックス要素は拡張多重変換(EMT)フラグを備え、ビデオエンコーダ22は、EMTフラグを有効状態に設定し得る。これらの例のうちのいくつかでは、ビデオエンコーダ22は、符号化ブロックのそれぞれのサブブロックごとにそれぞれのEMTインデックスを符号化し得る。
いくつかの例では、符号化ブロックは、4分木ベース区分方式または4分木+2分木ベース区分方式のうちの一方に従って複数のサブブロックに区分され、ブロックレベルしきい値は、最大サブブロックエリアを表し、コーディングツールは、イントラコーディングまたはインターコーディングのうちの少なくとも一方である。これらの例では、ビデオエンコーダ22は、1つまたは複数のサブブロックのうちのそれぞれの任意のサブブロックが最大サブブロックエリアよりも小さいことに基づいて、イントラコーディングまたはインターコーディングのうちの一方のみを使用してそれぞれのサブブロックを符号化し得る。いくつかの例では、ビデオエンコーダ22は、シンタックス要素がそれに対して符号化されるコーディングツールを含む複数のコーディングツールのうちの各それぞれのコーディングツールに、ブロックレベルしきい値を適用し得る。
いくつかの例では、複数のコーディングツールは、拡張多重変換(EMT)コーディングツール、位置依存型予測合成(PDPC)コーディングツール、非分離可能2次変換(NSST)コーディングツール、イントラ予測ツール(イントラ予測ツールはイントラコーディングツールまたはイントラ予測コーディングツールと呼ばれることがある)、またはインター予測ツールのうちの2つ以上を含む。いくつかの例では、ブロックレベルしきい値は、複数のブロックレベルしきい値の中に含まれ、ビデオエンコーダ22は、シンタックス要素がそれに対して符号化されるコーディングツールを含む複数のコーディングツールのうちの各それぞれのコーディングツールに、複数のブロックレベルしきい値のうちのそれぞれのブロックレベルしきい値を適用し得る。
いくつかの例では、符号化ブロックは、記憶媒体に記憶された符号化ビデオデータの一部分の実ブロックを備え、ビデオエンコーダ22は、実ブロックに対応する仮想ブロックがブロックレベルしきい値を満たすと決定し得る。これらの例では、ビデオエンコーダ22は、仮想ブロックがブロックレベルしきい値を満たすことに基づいて、実ブロックに対応する仮想ブロックに関する符号化シンタックス要素をシグナリングする代わりに、実ブロックに関する符号化シンタックス要素をシグナリングし得る。
いくつかの例では、ビデオエンコーダ22は、符号化ビデオビットストリームのピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、またはビデオパラメータセット(VPS)のうちの1つの中で符号化シンタックス要素をシグナリングし得る。いくつかの例では、ビデオエンコーダ22は、符号化ブロックのエリア、符号化ブロックの幅、または符号化ブロックの高さのうちの1つまたは複数に基づいて、ブロックレベルしきい値を決定し得る。いくつかの例では、ビデオエンコーダ22は、少なくとも部分的にはコーディングツールおよびブロックの一部分に関してビットレート最適化を実行することによって、ブロックを符号化する際にコーディングツールを適用すべきかどうかを決定し得る。いくつかの例では、ビデオエンコーダ22は、符号化ブロックの個々のサンプルを再構成するために使用されるコーディングツールを示すシンタックス要素をシグナリングすることを回避し得る。
本開示のいくつかの態様は、例示のためのHEVC規格、HEVC規格の拡張、または開発中の次世代ビデオコーディング規格に関して説明されている。しかしながら、本開示で説明する技法は、まだ開発されていない他の標準的またはプロプライエタリなビデオコーディングプロセスを含む、他のビデオコーディングプロセスにとって有用であり得る。
本開示で説明するようなビデオコーダは、ビデオエンコーダまたはビデオデコーダを指すことがある。同様に、ビデオコーディングユニットは、ビデオエンコーダまたはビデオデコーダを指すことがある。同様に、ビデオコーディングは、適用可能な場合、ビデオ符号化またはビデオ復号を指すことがある。
例に応じて、本明細書で説明した技法のうちのいずれかのいくつかの行為またはイベントが、異なるシーケンスで実行されてよく、一緒に追加され、統合され、または除外されてよい(たとえば、説明したすべての行為またはイベントが技法の実践にとって必要であるとは限らない)ことを認識されたい。その上、いくつかの例では、行為またはイベントは、連続的にではなく、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通じて並行して実行されてよい。
1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されてよく、またはコンピュータ可読媒体を介して送信されてよく、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に相当するコンピュータ可読記憶媒体、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的な有形コンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に相当し得る。データ記憶媒体は、本開示で説明した技法の実施のための命令、コード、および/またはデータ構造を取り出すために、1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品がコンピュータ可読媒体を含んでよい。
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、フラッシュメモリ、または命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用され得るとともにコンピュータによってアクセスされ得る任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)およびBlu-ray(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、処理回路構成(たとえば、プログラマブル処理回路構成、固定機能回路構成、またはプログラマブル処理回路構成と固定機能回路構成の組合せ)、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、または他の等価な集積論理回路構成もしくは個別論理回路構成などの、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造、または本明細書で説明した技法の実装に適した任意の他の構造のいずれかを指すことがある。加えて、いくつかの態様では、本明細書で説明した機能性は、符号化および復号のために構成された専用のハードウェアモジュールおよび/もしくはソフトウェアモジュール内で提供されてよく、または複合コーデックに組み込まれてもよい。また、技法は、1つまたは複数の回路または論理要素の中に完全に実装され得る。
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置の中に実装され得る。開示する技法を実行するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットが本開示で説明されるが、それらは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットは、コーデックハードウェアユニットにおいて組み合わせられてよく、または好適なソフトウェアおよび/もしくはファームウェアとともに、上記で説明したような1つもしくは複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合によって提供されてよい。
様々な例が説明されている。これらおよび他の例は、以下の特許請求の範囲内に入る。
10 ビデオ符号化および復号システム
12 ソースデバイス
14 宛先デバイス
16 コンピュータ可読媒体
18 ビデオソース
20 記憶媒体
22 ビデオエンコーダ
24 出力インターフェース
26 入力インターフェース
28 記憶媒体
30 ビデオデコーダ
32 ディスプレイデバイス
40 コーディングツリーユニット
100 予測処理ユニット
101 ビデオデータメモリ
102 残差生成ユニット
104 変換処理ユニット
106 量子化ユニット
108 逆量子化ユニット
110 逆変換処理ユニット
112 再構成ユニット
114 フィルタユニット
116 復号ピクチャバッファ
118 エントロピー符号化ユニット
120 インター予測処理ユニット
126 イントラ予測処理ユニット
150 エントロピー復号ユニット
151 ビデオデータメモリ
152 予測処理ユニット
154 逆量子化ユニット
156 逆変換処理ユニット
158 再構成ユニット
160 フィルタユニット
162 復号ピクチャバッファ
164 動き補償ユニット
166 イントラ予測処理ユニット

Claims (30)

  1. 符号化ビデオデータを復号するためのデバイスであって、
    前記符号化ビデオデータの少なくとも一部分を記憶するように構成された記憶媒体と、
    前記記憶媒体と通信している処理回路構成とを備え、前記処理回路構成が、
    前記記憶媒体に記憶された前記符号化ビデオデータの前記一部分に対するブロックレベルしきい値を決定し、
    前記記憶媒体に記憶された前記符号化ビデオデータの前記一部分の符号化ブロックが、前記ブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有すると決定し、
    前記符号化ブロックの一部分がコーディングツールを使用して再構成されるべきであることを示す、シンタックス要素を受信し、
    前記符号化ブロックが前記ブロックレベルしきい値に等しいかまたはそれよりも大きい前記サイズを有することに基づいて、前記符号化ブロックの中に含まれる複数のサンプルのうちのすべてのサンプルに前記シンタックス要素が適用されると決定し、
    前記コーディングツールに基づいて前記符号化ブロックを再構成するように構成される、
    デバイス。
  2. 前記ブロックレベルしきい値が最小エリアを表し、前記処理回路構成が、
    前記符号化ブロックが4分木ベース区分方式または4分木+2分木ベース区分方式のうちの一方に従って複数のサブブロックに区分されていると決定し、
    前記符号化ブロックが前記最小エリアに等しいかまたはそれよりも大きい前記サイズを有することに基づいて、前記受信されたシンタックス要素が前記符号化ブロックの各サブブロックに適用されると決定するようにさらに構成される、
    請求項1に記載のデバイス。
  3. 前記受信されたシンタックス要素が拡張多重変換(EMT)フラグを備え、前記処理回路構成が、
    前記EMTフラグが有効状態に設定されていると決定し、
    前記EMTフラグが前記有効状態に設定されていることに基づいて、前記符号化ブロックのそれぞれのサブブロックごとにそれぞれのEMTインデックスを復号し、
    EMTコーディングツールを使用して前記符号化ブロックを再構成するようにさらに構成される、
    請求項2に記載のデバイス。
  4. 前記符号化ブロックが、4分木ベース区分方式または4分木+2分木ベース区分方式のうちの一方に従って複数のサブブロックに区分され、前記ブロックレベルしきい値が、最大サブブロックエリアを表し、前記コーディングツールが、イントラ予測またはインター予測のうちの少なくとも一方を備え、前記処理回路構成が、
    前記1つまたは複数のサブブロックのいずれかが前記最大サブブロックエリアよりも小さいことに基づいて、前記サブブロックがイントラ予測またはインター予測のうちの一方のみを使用して再構成されるべきであると決定するようにさらに構成される、
    請求項1に記載のデバイス。
  5. 前記処理回路構成が、前記シンタックス要素がそれに対して受信される前記コーディングツールを含む複数のコーディングツールのうちの各それぞれのコーディングツールに、前記ブロックレベルしきい値を適用するようにさらに構成される、請求項1に記載のデバイス。
  6. 前記複数のコーディングツールが、拡張多重変換(EMT)コーディングツール、位置依存型予測合成(PDPC)コーディングツール、非分離可能2次変換(NSST)コーディングツール、イントラ予測ツール、またはインター予測ツールのうちの2つ以上を含む、請求項5に記載のデバイス。
  7. 前記ブロックレベルしきい値が、複数のブロックレベルしきい値の中に含まれ、前記処理回路構成が、前記シンタックス要素がそれに対して受信される前記コーディングツールを含む複数のコーディングツールのうちの各それぞれのコーディングツールに、前記複数のブロックレベルしきい値のうちのそれぞれのブロックレベルしきい値を適用するようにさらに構成される、請求項1に記載のデバイス。
  8. 前記符号化ブロックが、前記記憶媒体に記憶された前記符号化ビデオデータの前記一部分の実ブロックを備え、前記処理回路構成が、
    前記実ブロックに対応する仮想ブロックに関する前記シンタックス要素を受信する代わりに、前記実ブロックに関する前記シンタックス要素を受信するようにさらに構成される、
    請求項1に記載のデバイス。
  9. 前記シンタックス要素を受信するために、前記処理回路構成が、符号化ビデオビットストリームのピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、またはビデオパラメータセット(VPS)のうちの1つの中で前記シンタックス要素を受信するように構成される、請求項1に記載のデバイス。
  10. ビデオデータを符号化するためのデバイスであって、
    前記ビデオデータの少なくとも一部分を記憶するように構成された記憶媒体と、
    前記記憶媒体と通信している処理回路構成とを備え、前記処理回路構成が、
    前記記憶媒体に記憶された前記ビデオデータの前記一部分に対するブロックレベルしきい値を決定し、
    前記記憶媒体に記憶された前記ビデオデータの前記一部分のブロックが、前記ブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有すると決定し、
    符号化ブロックを形成するためにコーディングツールを使用して前記ブロックを符号化し、
    前記符号化ブロックが前記ブロックレベルしきい値に等しいかまたはそれよりも大きい前記サイズを有することに基づいて、前記符号化ブロックの複数のサンプルのうちのすべてのサンプルが前記コーディングツールを使用して再構成されるべきであることを示す、シンタックス要素を符号化するように構成される、
    デバイス。
  11. 前記ブロックレベルしきい値が最小サブブロックエリアを表し、前記処理回路構成が、
    4分木ベース区分方式または4分木+2分木ベース区分方式のうちの一方に従って前記符号化ブロックを複数のサブブロックに区分し、
    前記符号化ブロックが前記最小サブブロックエリアに等しいかまたはそれよりも大きい前記サイズを有することに基づいて、前記符号化シンタックス要素が前記符号化ブロックの各サブブロックに適用されると決定するようにさらに構成される、
    請求項10に記載のデバイス。
  12. 前記符号化シンタックス要素が拡張多重変換(EMT)フラグを備え、前記処理回路構成が、
    前記EMTフラグを有効状態に設定し、
    前記符号化ブロックのそれぞれのサブブロックごとにそれぞれのEMTインデックスを符号化するようにさらに構成される、
    請求項11に記載のデバイス。
  13. 前記符号化ブロックが、4分木ベース区分方式または4分木+2分木ベース区分方式のうちの一方に従って複数のサブブロックに区分され、前記ブロックレベルしきい値が、最大サブブロックエリアを表し、前記コーディングツールが、イントラコーディングまたはインターコーディングのうちの少なくとも一方を備え、前記処理回路構成が、
    1つまたは複数の前記サブブロックのうちのそれぞれの任意のサブブロックが前記最大サブブロックエリアよりも小さいことに基づいて、イントラコーディングまたはインターコーディングのうちの一方のみを使用して前記それぞれのサブブロックを符号化するようにさらに構成される、
    請求項10に記載のデバイス。
  14. 前記処理回路構成が、前記シンタックス要素がそれに対して符号化される前記コーディングツールを含む複数のコーディングツールのうちの各それぞれのコーディングツールに、前記ブロックレベルしきい値を適用するようにさらに構成される、請求項10に記載のデバイス。
  15. 前記複数のコーディングツールが、拡張多重変換(EMT)コーディングツール、位置依存型予測合成(PDPC)コーディングツール、非分離可能2次変換(NSST)コーディングツール、イントラ予測ツール、またはインター予測ツールのうちの2つ以上を含む、請求項14に記載のデバイス。
  16. 前記ブロックレベルしきい値が、複数のブロックレベルしきい値の中に含まれ、前記処理回路構成が、前記シンタックス要素がそれに対して符号化される前記コーディングツールを含む複数のコーディングツールのうちの各それぞれのコーディングツールに、前記複数のブロックレベルしきい値のうちのそれぞれのブロックレベルしきい値を適用するようにさらに構成される、請求項10に記載のデバイス。
  17. 前記符号化ブロックが、前記記憶媒体に記憶された前記符号化ビデオデータの前記一部分の実ブロックを備え、前記処理回路構成が、
    前記実ブロックに対応する仮想ブロックが前記ブロックレベルしきい値を満たすと決定し、
    前記仮想ブロックが前記ブロックレベルしきい値を満たすことに基づいて、前記実ブロックに対応する前記仮想ブロックに関する前記符号化シンタックス要素をシグナリングする代わりに、前記実ブロックに関する前記符号化シンタックス要素をシグナリングするようにさらに構成される、
    請求項10に記載のデバイス。
  18. 前記処理回路構成が、符号化ビデオビットストリームのピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、またはビデオパラメータセット(VPS)のうちの1つの中で前記符号化シンタックス要素をシグナリングするようにさらに構成される、請求項10に記載のデバイス。
  19. 前記処理回路構成が、前記符号化ブロックのエリア、前記符号化ブロックの幅、または前記符号化ブロックの高さのうちの1つまたは複数に基づいて前記ブロックレベルしきい値を決定するようにさらに構成される、請求項10に記載のデバイス。
  20. 前記処理回路構成が、少なくとも部分的には前記コーディングツールおよび前記ブロックの一部分に関してビットレート最適化を実行することによって、前記ブロックを符号化する際に前記コーディングツールを適用すべきかどうかを決定するようにさらに構成される、請求項10に記載のデバイス。
  21. 前記処理回路構成が、前記符号化ブロックの個々のサンプルを再構成するために使用される前記コーディングツールを示すシンタックス要素をシグナリングすることを回避するようにさらに構成される、請求項10に記載のデバイス。
  22. 符号化ビデオデータを復号する方法であって、
    前記符号化ビデオデータの一部分に対するブロックレベルしきい値を決定するステップと、
    前記符号化ビデオデータの前記一部分の符号化ブロックが、前記ブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有すると決定するステップと、
    前記符号化ブロックの一部分がコーディングツールを使用して再構成されるべきであることを示す、シンタックス要素を受信するステップと、
    前記符号化ブロックが前記ブロックレベルしきい値に等しいかまたはそれよりも大きい前記サイズを有することに基づいて、前記符号化ブロックの中に含まれる複数のサンプルのうちのすべてのサンプルに前記シンタックス要素が適用されると決定するステップと、
    前記コーディングツールに基づいて前記符号化ブロックを再構成するステップと
    を備える方法。
  23. 前記ブロックレベルしきい値が最小エリアを表し、前記方法が、
    前記符号化ブロックが4分木ベース区分方式または4分木+2分木ベース区分方式のうちの一方に従って複数のサブブロックに区分されていると決定するステップと、
    前記符号化ブロックが前記最小エリアに等しいかまたはそれよりも大きい前記サイズを有することに基づいて、前記受信されたシンタックス要素が前記符号化ブロックの各サブブロックに適用されると決定するステップとをさらに備える、
    請求項22に記載の方法。
  24. 前記受信されたシンタックス要素が拡張多重変換(EMT)フラグを備え、前記方法が、
    前記EMTフラグが有効状態に設定されていると決定するステップと、
    前記EMTフラグが前記有効状態に設定されていることに基づいて、前記符号化ブロックのそれぞれのサブブロックごとにそれぞれのEMTインデックスを復号するステップと、
    EMTコーディングツールを使用して前記符号化ブロックを再構成するステップとをさらに備える、
    請求項23に記載の方法。
  25. 前記符号化ブロックが、4分木ベース区分方式または4分木+2分木ベース区分方式のうちの一方に従って複数のサブブロックに区分され、前記ブロックレベルしきい値が、最大サブブロックエリアを表し、前記コーディングツールが、イントラ予測またはインター予測のうちの少なくとも一方を備え、前記方法が、
    前記1つまたは複数のサブブロックのいずれかが前記最大サブブロックエリアよりも小さいことに基づいて、前記サブブロックがイントラ予測またはインター予測のうちの一方のみを使用して再構成されるべきであると決定するステップをさらに備える、
    請求項22に記載の方法。
  26. 前記シンタックス要素がそれに対して受信される前記コーディングツールを含む複数のコーディングツールのうちの各それぞれのコーディングツールに、前記ブロックレベルしきい値を適用するステップをさらに備える、請求項22に記載の方法。
  27. 前記複数のコーディングツールが、拡張多重変換(EMT)コーディングツール、位置依存型予測合成(PDPC)コーディングツール、非分離可能2次変換(NSST)コーディングツール、イントラ予測ツール、またはインター予測ツールのうちの2つ以上を含む、請求項26に記載の方法。
  28. 前記ブロックレベルしきい値が、複数のブロックレベルしきい値の中に含まれ、前記方法が、前記シンタックス要素がそれに対して受信される前記コーディングツールを含む複数のコーディングツールのうちの各それぞれのコーディングツールに、前記複数のブロックレベルしきい値のうちのそれぞれのブロックレベルしきい値を適用するステップをさらに備える、請求項22に記載の方法。
  29. 前記符号化ブロックが、記憶媒体に記憶された前記符号化ビデオデータの前記一部分の実ブロックを備え、前記方法が、
    前記実ブロックに対応する仮想ブロックに関する前記シンタックス要素を受信する代わりに、前記実ブロックに関する前記シンタックス要素を受信するステップをさらに備える、
    請求項22に記載の方法。
  30. 符号化ビデオデータを復号するための装置であって、
    前記符号化ビデオデータの一部分に対するブロックレベルしきい値を決定するための手段と、
    記憶媒体に記憶された前記符号化ビデオデータの前記一部分の符号化ブロックが、前記ブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有すると決定するための手段と、
    前記符号化ブロックの一部分がコーディングツールを使用して再構成されるべきであることを示す、シンタックス要素を受信するための手段と、
    前記符号化ブロックが前記ブロックレベルしきい値に等しいかまたはそれよりも大きい前記サイズを有することに基づいて、前記符号化ブロックの中に含まれる複数のサンプルのうちのすべてのサンプルに前記シンタックス要素が適用されると決定するための手段と、
    前記コーディングツールに基づいて前記符号化ブロックを再構成するための手段と
    を備える装置。
JP2018549338A 2016-03-22 2017-03-22 ビデオコーディングツールのための制約付きブロックレベル最適化およびシグナリング Pending JP2019512965A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662311877P 2016-03-22 2016-03-22
US62/311,877 2016-03-22
US15/465,122 US10623774B2 (en) 2016-03-22 2017-03-21 Constrained block-level optimization and signaling for video coding tools
US15/465,122 2017-03-21
PCT/US2017/023577 WO2017165509A1 (en) 2016-03-22 2017-03-22 Constrained block-level optimization and signaling for video coding tools

Publications (2)

Publication Number Publication Date
JP2019512965A true JP2019512965A (ja) 2019-05-16
JP2019512965A5 JP2019512965A5 (ja) 2020-04-09

Family

ID=59899041

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018549338A Pending JP2019512965A (ja) 2016-03-22 2017-03-22 ビデオコーディングツールのための制約付きブロックレベル最適化およびシグナリング

Country Status (8)

Country Link
US (1) US10623774B2 (ja)
EP (1) EP3434016A1 (ja)
JP (1) JP2019512965A (ja)
KR (1) KR20180120200A (ja)
CN (1) CN108781289B (ja)
BR (1) BR112018069093A2 (ja)
CA (1) CA3014790A1 (ja)
WO (1) WO2017165509A1 (ja)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017205700A1 (en) * 2016-05-25 2017-11-30 Arris Enterprises Llc Binary, ternary and quad tree partitioning for jvet coding of video data
EP3306938A1 (en) * 2016-10-05 2018-04-11 Thomson Licensing Method and apparatus for binary-tree split mode coding
US10541894B2 (en) * 2016-10-20 2020-01-21 Netscout Systems, Inc. Method for assessing the perceived quality of adaptive video streaming
KR102601268B1 (ko) * 2017-02-24 2023-11-10 주식회사 케이티 비디오 신호 처리 방법 및 장치
CN110679149B (zh) * 2017-03-22 2023-04-04 汉阳大学校产学协力团 基于自适应像素分类基准的环路滤波方法
KR102435881B1 (ko) * 2017-05-26 2022-08-24 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법
WO2018217024A1 (ko) 2017-05-26 2018-11-29 에스케이텔레콤 주식회사 다양한 블록 크기를 지원하는 영상 부호화 또는 복호화를 위한 장치 및 방법
US11877001B2 (en) 2017-10-10 2024-01-16 Qualcomm Incorporated Affine prediction in video coding
CN118042129A (zh) * 2017-11-16 2024-05-14 松下电器(美国)知识产权公司 图像编码装置、编码方法、图像解码装置、解码方法和非暂时性存储介质
WO2019111316A1 (ja) * 2017-12-05 2019-06-13 株式会社ソシオネクスト 符号化方法、復号方法、符号化装置、復号装置、符号化プログラム及び復号プログラム
WO2019117634A1 (ko) * 2017-12-15 2019-06-20 엘지전자 주식회사 2차 변환에 기반한 영상 코딩 방법 및 그 장치
US11259021B2 (en) * 2017-12-29 2022-02-22 Sharp Kabushiki Kaisha Systems and methods for partitioning video blocks at a boundary of a picture for video coding
US10841578B2 (en) 2018-02-12 2020-11-17 Tencent America LLC Method and apparatus for using an intra prediction coding tool for intra prediction of non-square blocks in video compression
US10863175B2 (en) * 2018-03-01 2020-12-08 Panasonic Intellectual Property Corporation Of America Encoder, and decoder, encoding method, decoding method
WO2019172202A1 (ja) * 2018-03-05 2019-09-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置及び符号化方法
WO2019189279A1 (en) * 2018-03-30 2019-10-03 Sharp Kabushiki Kaisha Systems and methods for partitioning video blocks at a boundary of a picture for video coding
CN112532979A (zh) * 2018-03-31 2021-03-19 华为技术有限公司 图像块编码中的变换方法、解码中的反变换方法及装置
KR102650865B1 (ko) * 2018-04-01 2024-03-22 엘지전자 주식회사 분할된 블록에 2차 변환을 적용하여 비디오 신호를 처리하는 방법 및 장치
WO2019199142A1 (ko) * 2018-04-13 2019-10-17 엘지전자 주식회사 인트라 예측 방법을 결정하기 위한 영상 코딩 방법 및 장치
US10798382B2 (en) * 2018-04-26 2020-10-06 Tencent America LLC Sub-block transform
US11343541B2 (en) * 2018-04-30 2022-05-24 Hfi Innovation Inc. Signaling for illumination compensation
US10645396B2 (en) * 2018-06-04 2020-05-05 Tencent America LLC Method and apparatus for implicit transform splitting
TWI725456B (zh) * 2018-06-21 2021-04-21 大陸商北京字節跳動網絡技術有限公司 交錯區塊的自動劃分
US10567752B2 (en) * 2018-07-02 2020-02-18 Tencent America LLC Method and apparatus for intra prediction for non-square blocks in video compression
WO2020013583A1 (ko) * 2018-07-13 2020-01-16 엘지전자 주식회사 영상 코딩 시스템에서 인트라 예측에 따른 영상 디코딩 방법 및 장치
US10911765B2 (en) * 2018-08-01 2021-02-02 Tencent America LLC Method and apparatus for video coding
HUE064218T2 (hu) 2018-08-28 2024-02-28 Huawei Tech Co Ltd Képfelosztási eljárás és eszköz
WO2020050651A1 (ko) * 2018-09-05 2020-03-12 엘지전자 주식회사 다중 변환 선택에 기반한 영상 코딩 방법 및 그 장치
US11509908B2 (en) * 2018-09-11 2022-11-22 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
EP3837835A1 (en) * 2018-09-18 2021-06-23 Huawei Technologies Co., Ltd. Coding method, device, system
PL3847818T3 (pl) * 2018-09-18 2024-04-29 Huawei Technologies Co., Ltd. Koder wideo, dekoder wideo i odpowiednie sposoby
US11218694B2 (en) 2018-09-24 2022-01-04 Qualcomm Incorporated Adaptive multiple transform coding
GB2577337A (en) * 2018-09-24 2020-03-25 Sony Corp Image data encoding and decoding
CN111107378B (zh) * 2018-10-26 2024-05-14 北京字节跳动网络技术有限公司 分割信息的信令通知
US11310515B2 (en) * 2018-11-14 2022-04-19 Tencent America LLC Methods and apparatus for improvement for intra-inter prediction mode
CN113170146A (zh) * 2018-11-21 2021-07-23 交互数字Vc控股公司 用于图片编码和解码的方法和设备
WO2020103944A1 (en) 2018-11-22 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Sub-block based motion candidate selection and signaling
WO2020108571A1 (en) * 2018-11-28 2020-06-04 Beijing Bytedance Network Technology Co., Ltd. Extension method for motion reference in intra block copy mode
EP3664450A1 (en) * 2018-12-03 2020-06-10 InterDigital VC Holdings, Inc. Method and device for picture encoding and decoding
KR20210096116A (ko) 2018-12-03 2021-08-04 인터디지털 브이씨 홀딩스 인코포레이티드 픽처 인코딩 및 디코딩을 위한 방법 및 디바이스
EP3891994A1 (en) 2018-12-07 2021-10-13 InterDigital VC Holdings, Inc. Managing coding tools combinations and restrictions
CN116668674A (zh) * 2018-12-07 2023-08-29 华为技术有限公司 视频译码的约束预测模式
US11012697B2 (en) 2018-12-07 2021-05-18 Qualcomm Incorporated Shared candidate list and parallel candidate list derivation for video coding
US11470340B2 (en) * 2018-12-10 2022-10-11 Tencent America LLC Simplified merge list construction for small coding blocks
CN111355959B (zh) * 2018-12-22 2024-04-09 华为技术有限公司 一种图像块划分方法及装置
CA3125904A1 (en) * 2019-01-08 2020-07-16 Huawei Technologies Co., Ltd. Image prediction method, apparatus, system, device, and storage medium for processing performance and speed
CN111416975B (zh) * 2019-01-08 2022-09-16 华为技术有限公司 预测模式确定方法和装置
AU2020206492B2 (en) * 2019-01-11 2023-11-23 Huawei Technologies Co., Ltd. Encoder, decoder, non-transitionary computer-readable medium and method of video coding a block of a picture
US11330283B2 (en) * 2019-02-01 2022-05-10 Tencent America LLC Method and apparatus for video coding
CN113557719B (zh) 2019-03-11 2023-09-12 日本放送协会 图像编码装置、图像解码装置和程序
WO2020182216A1 (en) 2019-03-14 2020-09-17 Mediatek Inc. Methods and apparatuses of video processing with motion refinement and sub-partition base padding
US11363306B2 (en) * 2019-04-05 2022-06-14 Comcast Cable Communications, Llc Methods, systems, and apparatuses for processing video by adaptive rate distortion optimization
EP3952313B1 (en) 2019-04-16 2024-05-29 LG Electronics Inc. Transform in intra prediction-based image coding
BR112021019205A2 (pt) * 2019-04-17 2021-11-30 Huawei Tech Co Ltd Codificador, decodificador e métodos correspondentes que harmonizam predição intra com base em matriz e seleção de núcleo de transformada secundária
US11445174B2 (en) * 2019-05-06 2022-09-13 Tencent America LLC Method and apparatus for video coding
US11218728B2 (en) * 2019-06-04 2022-01-04 Tencent America LLC Method and apparatus for video coding
US11252410B2 (en) * 2019-06-11 2022-02-15 Tencent America LLC Method and apparatus for video coding
US11039156B2 (en) 2019-06-11 2021-06-15 Tencent America LLC Unified position dependent prediction combination process
KR20210133300A (ko) * 2019-06-19 2021-11-05 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
JP2022537989A (ja) * 2019-06-21 2022-08-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ ビデオコーディングシステムおよびビデオコーディング方法
CN113826403A (zh) * 2019-06-25 2021-12-21 Oppo广东移动通信有限公司 信息处理方法及装置、设备、存储介质
CN114208184A (zh) 2019-08-13 2022-03-18 北京字节跳动网络技术有限公司 基于子块的帧间预测中的运动精度
US11323743B2 (en) * 2019-08-26 2022-05-03 Tencent America LLC Interaction between CU partitions and sub-block transform
CN114641999A (zh) * 2019-09-10 2022-06-17 三星电子株式会社 使用工具集的图像解码装置及其图像解码方法、和图像编码装置及其图像编码方法
CN114762330A (zh) 2019-09-22 2022-07-15 北京字节跳动网络技术有限公司 视频的子图片编码和解码
KR20210035068A (ko) * 2019-09-23 2021-03-31 주식회사 케이티 비디오 신호 처리 방법 및 장치
WO2021066680A1 (en) * 2019-10-02 2021-04-08 Huawei Technologies Co., Ltd. Method and apparatus of signaling for partitioning modes
KR102493125B1 (ko) * 2019-10-10 2023-01-30 삼성전자주식회사 툴 세트를 이용하는 영상 복호화 장치 및 이에 의한 영상 복호화 방법, 및 영상 부호화 장치 및 이에 의한 영상 부호화 방법
US11425405B2 (en) * 2019-11-15 2022-08-23 Qualcomm Incorporated Cross-component adaptive loop filter in video coding
JP2023507270A (ja) * 2019-12-17 2023-02-22 アリババ グループ ホウルディング リミテッド ピクチャ境界におけるブロック区分のための方法及び装置
CN114930814A (zh) * 2019-12-24 2022-08-19 韩国电子通信研究院 图像编码/解码方法以及装置
US20210306653A1 (en) * 2020-03-31 2021-09-30 Alibaba Group Holding Limited Methods for signaling residual coding method of transform skip blocks
KR20220164764A (ko) * 2020-04-02 2022-12-13 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
WO2021207055A1 (en) * 2020-04-05 2021-10-14 Bytedance Inc. High level control of filtering in video coding
KR20240027893A (ko) * 2020-04-08 2024-03-04 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 비디오 코딩에서의 신택스 요소들의 시그널링을 위한 방법 및 장치
US11610340B2 (en) * 2020-04-17 2023-03-21 Tencent America LLC Edge enhancement filter
KR20230012526A (ko) * 2020-05-11 2023-01-26 엘지전자 주식회사 영상 코딩 방법 및 그 장치
WO2022047144A1 (en) * 2020-08-28 2022-03-03 Op Solutions, Llc Methods and systems for combined lossless and lossy coding
WO2022047117A1 (en) * 2020-08-28 2022-03-03 Op Solutions, Llc Methods and systems of adaptive geometric partitioning

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010525677A (ja) * 2007-04-17 2010-07-22 クゥアルコム・インコーポレイテッド イントラコーディングのためのモード一様性シグナリング
JP2013524669A (ja) * 2010-04-09 2013-06-17 シャープ株式会社 高効率な動画像符号化のためのスーパーブロック

Family Cites Families (141)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE1000643A5 (fr) 1987-06-05 1989-02-28 Belge Etat Procede de codage de signaux d'image.
JPH01155678A (ja) 1987-12-11 1989-06-19 Matsushita Electric Ind Co Ltd 半導体発光装置
US5136371A (en) 1990-03-15 1992-08-04 Thomson Consumer Electronics, Inc. Digital image coding using random scanning
US5424778A (en) 1992-08-31 1995-06-13 Victor Company Of Japan, Ltd. Orthogonal transform coding apparatus and decoding apparatus
TW224553B (en) 1993-03-01 1994-06-01 Sony Co Ltd Method and apparatus for inverse discrete consine transform and coding/decoding of moving picture
TW297202B (ja) 1993-10-13 1997-02-01 Rca Thomson Licensing Corp
KR960706267A (ko) 1993-11-15 1996-11-08 존 엠. 클락 3세 쿼드트리 구조형 월시(walsh) 변환 코딩(quadtree-structured walsh transform conding)
KR0183688B1 (ko) 1994-01-12 1999-05-01 김광호 영상부호화방법 및 장치
JP3086396B2 (ja) 1995-03-10 2000-09-11 シャープ株式会社 画像符号化装置及び画像復号装置
KR0178198B1 (ko) 1995-03-28 1999-05-01 배순훈 영상 신호 부호화 장치
US5721822A (en) 1995-07-21 1998-02-24 Intel Corporation Run-length encoding/decoding video signals using scan patterns explicitly encoded into bitstreams
US5790706A (en) 1996-07-03 1998-08-04 Motorola, Inc. Method and apparatus for scanning of transform coefficients
JP2002232887A (ja) 1996-11-07 2002-08-16 Matsushita Electric Ind Co Ltd 画像符号化方法および画像符号化装置並びに画像復号化方法および画像復号化装置
CN100512438C (zh) 1996-11-07 2009-07-08 松下电器产业株式会社 图像编码装置和图像解码装置
US5974181A (en) 1997-03-20 1999-10-26 Motorola, Inc. Data compression system, method, and apparatus
JPH10271505A (ja) 1997-03-25 1998-10-09 Oki Electric Ind Co Ltd 信号処理装置、符号化回路および復号回路
US5995055A (en) 1997-06-30 1999-11-30 Raytheon Company Planar antenna radiating structure having quasi-scan, frequency-independent driving-point impedance
CN100459715C (zh) 1997-07-31 2009-02-04 日本胜利株式会社 数字视频信号块间预测编码/解码装置及编码/解码方法
CN1230786C (zh) 1998-08-10 2005-12-07 Dac国际公司 数字静止图象编码方法、设备和压缩比特流解码方法
EP0986026A1 (en) 1998-09-07 2000-03-15 STMicroelectronics S.r.l. Fractal coding of data in the DCT domain
JP4226172B2 (ja) 1998-11-24 2009-02-18 株式会社ハイニックスセミコンダクター 適応的変換方法を用いる映像圧縮符号化装置および復号化装置ならびにその方法
CA2388095A1 (en) 1999-10-22 2001-05-03 Activesky, Inc. An object oriented video system
US6476805B1 (en) 1999-12-23 2002-11-05 Microsoft Corporation Techniques for spatial displacement estimation and multi-resolution operations on light fields
US6654503B1 (en) 2000-04-28 2003-11-25 Sun Microsystems, Inc. Block-based, adaptive, lossless image coder
US6724818B1 (en) 2000-07-17 2004-04-20 Telefonaktiebolaget Lm Ericsson (Publ) Alternative block orders for better prediction
CN1142683C (zh) 2000-10-13 2004-03-17 清华大学 无转置行列分离二维离散余弦正反变换电路及其方法
JP2002135126A (ja) 2000-10-26 2002-05-10 Seiko Epson Corp 半導体装置及びこれを用いた電子機器
TW589870B (en) 2000-12-19 2004-06-01 Pts Corp Adaptive transforms
US6856701B2 (en) 2001-09-14 2005-02-15 Nokia Corporation Method and system for context-based adaptive binary arithmetic coding
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US7190840B2 (en) 2002-01-07 2007-03-13 Hewlett-Packard Development Company, L.P. Transform coefficient compression using multiple scans
JP4447197B2 (ja) 2002-01-07 2010-04-07 三菱電機株式会社 動画像符号化装置および動画像復号装置
KR100468844B1 (ko) 2002-01-07 2005-01-29 삼성전자주식회사 정지영상 및 동영상을 부호화/복호화하기 위한변환계수들의 최적주사방법
BR0304545A (pt) 2002-01-14 2004-11-03 Nokia Corp Método de codificação das imagens em uma sequência de vìdeo digital para fornecer os dados de vìdeo codificados, codificador de vìdeo, método de decodificação dos dados indicativos de uma sequência de vìdeo digital, decodificador de vìdeo, e, sistema de decodificação de vìdeo
JP4510465B2 (ja) 2002-01-22 2010-07-21 ノキア コーポレイション イメージ/ビデオ符号器及び/又は復号器における変換係数の符号化
US6757576B2 (en) 2002-02-05 2004-06-29 Gcc, Inc. System and method for drawing and manufacturing bent pipes
KR100508798B1 (ko) 2002-04-09 2005-08-19 엘지전자 주식회사 쌍방향 예측 블록 예측 방법
US20060218482A1 (en) 2002-04-19 2006-09-28 Droplet Technology, Inc. Mobile imaging application, device architecture, service platform architecture and services
US7170937B2 (en) 2002-05-01 2007-01-30 Texas Instruments Incorporated Complexity-scalable intra-frame prediction technique
DE50305419D1 (de) 2002-05-02 2006-11-30 Fraunhofer Ges Forschung Kodierung und Dekodierung von Transformationskoeffizienten in Bild- oder Videokodierern
EP2309757B1 (en) 2002-05-28 2014-11-12 Sharp Kabushiki Kaisha Method and systems for image intra-prediction mode estimation, communication, and organization
US7145948B2 (en) 2002-05-29 2006-12-05 Koninklijke Philips Electronics N.V. Entropy constrained scalar quantizer for a Laplace-Markov source
US20030231795A1 (en) 2002-06-12 2003-12-18 Nokia Corporation Spatial prediction based intra-coding
US7289674B2 (en) 2002-06-11 2007-10-30 Nokia Corporation Spatial prediction based intra coding
RU2314656C2 (ru) 2002-06-11 2008-01-10 Нокиа Корпорейшн Внутреннее кодирование, основанное на пространственном прогнозировании
CN101043626B (zh) 2002-07-15 2010-06-09 株式会社日立制作所 动态图像编码方法
US6795584B2 (en) 2002-10-03 2004-09-21 Nokia Corporation Context-based adaptive variable length coding for adaptive block transforms
US7463782B2 (en) 2002-11-05 2008-12-09 Canon Kabushiki Kaisha Data encoding with an amplitude model and path between the data and corresponding decoding
US20040091047A1 (en) 2002-11-11 2004-05-13 Sony Corporation Method and apparatus for nonlinear multiple motion model and moving boundary extraction
FI116710B (fi) 2002-12-20 2006-01-31 Oplayo Oy Kuvien koodausmenetelmä ja -järjestely
WO2004080084A1 (en) 2003-03-03 2004-09-16 Agency For Science, Technology And Research Fast mode decision algorithm for intra prediction for advanced video coding
KR100750110B1 (ko) 2003-04-22 2007-08-17 삼성전자주식회사 4×4인트라 휘도 예측 모드 결정방법 및 장치
JP3756897B2 (ja) 2003-07-30 2006-03-15 株式会社東芝 動画像符号化装置及び動画像符号化方法
US7289562B2 (en) 2003-08-01 2007-10-30 Polycom, Inc. Adaptive filter to improve H-264 video quality
US20050036549A1 (en) 2003-08-12 2005-02-17 Yong He Method and apparatus for selection of scanning mode in dual pass encoding
US7688894B2 (en) 2003-09-07 2010-03-30 Microsoft Corporation Scan patterns for interlaced video content
US7782954B2 (en) 2003-09-07 2010-08-24 Microsoft Corporation Scan patterns for progressive video content
US7379608B2 (en) 2003-12-04 2008-05-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. Arithmetic coding for transforming video and picture data units
JP4142563B2 (ja) 2003-12-12 2008-09-03 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム
JP4127818B2 (ja) 2003-12-24 2008-07-30 株式会社東芝 動画像符号化方法及びその装置
US7142231B2 (en) 2003-12-29 2006-11-28 Nokia Corporation Method and apparatus for improved handset multi-tasking, including pattern recognition and augmentation of camera images
EP1558039A1 (en) 2004-01-21 2005-07-27 Deutsche Thomson-Brandt Gmbh Method and apparatus for generating/evaluating prediction information in picture signal encoding/decoding
CN100479527C (zh) 2004-02-26 2009-04-15 联合信源数字音视频技术(北京)有限公司 一种帧内预测模式选取方法
JP5037938B2 (ja) 2004-04-28 2012-10-03 日立コンシューマエレクトロニクス株式会社 画像の符号化/復号化装置、符号化/復号化プログラム及び符号化/復号化方法
JP4542447B2 (ja) 2005-02-18 2010-09-15 株式会社日立製作所 画像の符号化/復号化装置、符号化/復号化プログラム及び符号化/復号化方法
US8731054B2 (en) 2004-05-04 2014-05-20 Qualcomm Incorporated Method and apparatus for weighted prediction in predictive frames
US8369402B2 (en) 2004-06-17 2013-02-05 Canon Kabushiki Kaisha Apparatus and method for prediction modes selection based on image formation
US7664184B2 (en) 2004-07-21 2010-02-16 Amimon Ltd. Interpolation image compression
US7697610B2 (en) * 2004-09-13 2010-04-13 Microsoft Corporation Variable block size early termination for video coding
JP2008519484A (ja) 2004-11-04 2008-06-05 トムソン ライセンシング ビデオ・エンコーダにおける高速イントラ・モード予測
JP2006140758A (ja) 2004-11-12 2006-06-01 Toshiba Corp 動画像符号化方法、動画像符号化装置および動画像符号化プログラム
JP4763422B2 (ja) 2004-12-03 2011-08-31 パナソニック株式会社 イントラ予測装置
US8311119B2 (en) 2004-12-31 2012-11-13 Microsoft Corporation Adaptive coefficient scan order
US20060153295A1 (en) 2005-01-12 2006-07-13 Nokia Corporation Method and system for inter-layer prediction mode coding in scalable video coding
US7751478B2 (en) 2005-01-21 2010-07-06 Seiko Epson Corporation Prediction intra-mode selection in an encoder
US7706443B2 (en) 2005-03-11 2010-04-27 General Instrument Corporation Method, article of manufacture, and apparatus for high quality, fast intra coding usable for creating digital video content
JP2006295408A (ja) 2005-04-07 2006-10-26 Matsushita Electric Ind Co Ltd 画像符号化装置及び画像符号化プログラム
EP1711018A1 (en) 2005-04-08 2006-10-11 Thomson Licensing Method and apparatus for encoding video pictures, and method and apparatus for decoding video pictures
TW200704202A (en) 2005-04-12 2007-01-16 Nokia Corp Method and system for motion compensated fine granularity scalable video coding with drift control
EP1768415A1 (en) 2005-09-27 2007-03-28 Matsushita Electric Industrial Co., Ltd. Adaptive scan order of DCT coefficients and its signaling
KR100703200B1 (ko) 2005-06-29 2007-04-06 한국산업기술대학교산학협력단 인트라 부호화 장치 및 방법
KR101088375B1 (ko) 2005-07-21 2011-12-01 삼성전자주식회사 가변 블록 변환 장치 및 방법 및 이를 이용한 영상부호화/복호화 장치 및 방법
CN101218830B (zh) 2005-07-22 2011-10-12 三菱电机株式会社 图像编码装置和方法、以及图像解码装置和方法
US20090123066A1 (en) 2005-07-22 2009-05-14 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein,
US7933337B2 (en) 2005-08-12 2011-04-26 Microsoft Corporation Prediction of transform coefficients for image compression
JP2007053561A (ja) 2005-08-17 2007-03-01 Matsushita Electric Ind Co Ltd 画像符号化装置および画像符号化方法
JP4650173B2 (ja) 2005-09-05 2011-03-16 ソニー株式会社 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
US20070070082A1 (en) 2005-09-27 2007-03-29 Ati Technologies, Inc. Sample-level screen-door transparency using programmable transparency sample masks
JP5620641B2 (ja) 2005-10-21 2014-11-05 韓國電子通信研究院Electronics and Telecommunications ResearchInstitute 適応型走査を用いる動画の符号化/復号化装置及びその方法
US8200033B2 (en) 2005-11-30 2012-06-12 Koninklijke Philips Electronics N.V. Encoding method and apparatus applying coefficient reordering
US7529484B2 (en) 2005-12-14 2009-05-05 Nec Laboratories America, Inc. Triplexer transceiver using parallel signal detection
CN1801940A (zh) 2005-12-15 2006-07-12 清华大学 整型变换电路和整型变换方法
US7944965B2 (en) 2005-12-19 2011-05-17 Seiko Epson Corporation Transform domain based distortion cost estimation
US8000539B2 (en) 2005-12-21 2011-08-16 Ntt Docomo, Inc. Geometrical image representation and compression
JP2007189276A (ja) 2006-01-11 2007-07-26 Victor Co Of Japan Ltd 画像圧縮装置及び画像圧縮プログラム
KR101246294B1 (ko) 2006-03-03 2013-03-21 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
JP2007267123A (ja) 2006-03-29 2007-10-11 Victor Co Of Japan Ltd 動画像符号化装置
US8036264B2 (en) 2006-05-23 2011-10-11 Lsi Corporation Memory management in video decoding systems
US20080008246A1 (en) 2006-07-05 2008-01-10 Debargha Mukherjee Optimizing video coding
JP2008022405A (ja) 2006-07-14 2008-01-31 Sony Corp 画像処理装置および方法、並びに、プログラム
KR100882949B1 (ko) 2006-08-17 2009-02-10 한국전자통신연구원 화소 유사성에 따라 적응적인 이산 코사인 변환 계수스캐닝을 이용한 부호화/복호화 장치 및 그 방법
TWI386064B (zh) 2006-10-10 2013-02-11 Nippon Telegraph & Telephone 內部預測編碼控制方法及裝置,其程式,以及記錄有程式之記憶媒體
JP4908180B2 (ja) 2006-12-20 2012-04-04 株式会社東芝 動画像符号化装置
KR101366086B1 (ko) 2007-01-03 2014-02-21 삼성전자주식회사 잔차 블록의 계수들에 대한 부호화 결정 방법, 장치,인코더 및 디코더
WO2008084817A1 (ja) 2007-01-09 2008-07-17 Kabushiki Kaisha Toshiba 画像符号化と復号化の方法及び装置
JP2008193627A (ja) 2007-01-12 2008-08-21 Mitsubishi Electric Corp 画像符号化装置、画像復号装置、および画像符号化方法、画像復号方法
KR101365570B1 (ko) 2007-01-18 2014-02-21 삼성전자주식회사 인트라 예측 부호화, 복호화 방법 및 장치
PL2123052T3 (pl) 2007-01-18 2011-05-31 Fraunhofer Ges Forschung Strumień danych wideo o skalowalnej jakości
US8488668B2 (en) 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
US8571104B2 (en) 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
US8644382B2 (en) 2007-06-29 2014-02-04 Sharp Kabushiki Kaisha Image encoding device, image encoding method, image decoding device, image decoding method, program, and storage medium
US8437564B2 (en) 2007-08-07 2013-05-07 Ntt Docomo, Inc. Image and video compression using sparse orthonormal transforms
TW200910971A (en) 2007-08-22 2009-03-01 Univ Nat Cheng Kung Direction detection algorithms for H.264 intra prediction
JP5004180B2 (ja) 2007-11-07 2012-08-22 Kddi株式会社 動画像符号化装置および復号装置
CN101971631B (zh) 2007-12-21 2013-03-27 艾利森电话股份有限公司 自适应帧内模式选择
EP2081386A1 (en) 2008-01-18 2009-07-22 Panasonic Corporation High precision edge prediction for intracoding
US8024121B2 (en) 2008-01-25 2011-09-20 Smith International, Inc. Data compression method for use in downhole applications
KR20100027384A (ko) 2008-09-02 2010-03-11 삼성전자주식회사 예측 모드 결정 방법 및 장치
KR101549823B1 (ko) 2008-09-02 2015-09-04 삼성전자주식회사 적응적 이진화를 이용한 영상 부호화, 복호화 방법 및 장치
US20100172409A1 (en) 2009-01-06 2010-07-08 Qualcom Incorporated Low-complexity transforms for data compression and decompression
JP5416271B2 (ja) 2009-04-20 2014-02-12 ドルビー ラボラトリーズ ライセンシング コーポレイション 多層映像配信のための適応補間フィルタ
KR102109244B1 (ko) * 2009-07-01 2020-05-11 인터디지털 브이씨 홀딩스 인코포레이티드 비디오 인코더 및 디코더용 대형 블록에 대한 인트라 예측을 시그널링하기 위한 방법 및 장치
US20120134408A1 (en) 2009-08-06 2012-05-31 Youji Shibahara Coding method, decoding method, coding apparatus, and decoding apparatus
CN102598667B (zh) 2009-09-14 2015-03-18 汤姆森特许公司 帧内预测模式的高效视频编码和解码的方法和装置
US20110116539A1 (en) 2009-11-13 2011-05-19 Freescale Semiconductor, Inc. Method and apparatus for video decoding with reduced complexity inverse transform
FI3955579T3 (fi) 2010-04-13 2023-08-16 Ge Video Compression Llc Videokoodaus käyttäen kuvien monipuurakenteen alaosioita
US20110317757A1 (en) 2010-06-25 2011-12-29 Qualcomm Incorporated Intra prediction mode signaling for finer spatial prediction directions
US9172968B2 (en) 2010-07-09 2015-10-27 Qualcomm Incorporated Video coding using directional transforms
US9641846B2 (en) 2010-10-22 2017-05-02 Qualcomm Incorporated Adaptive scanning of transform coefficients for video coding
US20120114034A1 (en) 2010-11-08 2012-05-10 Mediatek Inc. Method and Apparatus of Delta Quantization Parameter Processing for High Efficiency Video Coding
US10992958B2 (en) 2010-12-29 2021-04-27 Qualcomm Incorporated Video coding using mapped transforms and scanning modes
US9807424B2 (en) 2011-01-10 2017-10-31 Qualcomm Incorporated Adaptive selection of region size for identification of samples in a transition zone for overlapped block motion compensation
US20120189052A1 (en) * 2011-01-24 2012-07-26 Qualcomm Incorporated Signaling quantization parameter changes for coded units in high efficiency video coding (hevc)
US9930366B2 (en) 2011-01-28 2018-03-27 Qualcomm Incorporated Pixel level adaptive intra-smoothing
US9883203B2 (en) 2011-11-18 2018-01-30 Qualcomm Incorporated Adaptive overlapped block motion compensation
CN106716999B (zh) 2014-06-20 2019-08-09 寰发股份有限公司 用于视频编码的调色板预测器信令的方法
US10306229B2 (en) 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
US10230980B2 (en) 2015-01-26 2019-03-12 Qualcomm Incorporated Overlapped motion compensation for video coding
US9998742B2 (en) 2015-01-27 2018-06-12 Qualcomm Incorporated Adaptive cross component residual prediction
US10491922B2 (en) 2015-09-29 2019-11-26 Qualcomm Incorporated Non-separable secondary transform for video coding
US10425648B2 (en) 2015-09-29 2019-09-24 Qualcomm Incorporated Video intra-prediction using position-dependent prediction combination for video coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010525677A (ja) * 2007-04-17 2010-07-22 クゥアルコム・インコーポレイテッド イントラコーディングのためのモード一様性シグナリング
JP2013524669A (ja) * 2010-04-09 2013-06-17 シャープ株式会社 高効率な動画像符号化のためのスーパーブロック

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHEN, JIANLE ET AL.: "Algorithm Description of Joint Exploration Test Model 2 [online]", JOINT VIDEO EXPLORATION TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 2ND MEETING: S, vol. JVET-B1001 (version 3), JPN6021009884, 25 March 2016 (2016-03-25), ISSN: 0004616896 *

Also Published As

Publication number Publication date
US10623774B2 (en) 2020-04-14
CN108781289B (zh) 2022-02-22
CN108781289A (zh) 2018-11-09
US20170280162A1 (en) 2017-09-28
EP3434016A1 (en) 2019-01-30
CA3014790A1 (en) 2017-09-28
BR112018069093A2 (pt) 2019-01-29
WO2017165509A1 (en) 2017-09-28
KR20180120200A (ko) 2018-11-05

Similar Documents

Publication Publication Date Title
US10623774B2 (en) Constrained block-level optimization and signaling for video coding tools
KR102574560B1 (ko) 비디오 코딩을 위해 액세스하는 샘플을 갖는 선형 모델 예측 모드
CN108464001B (zh) 用于视频译码的多类型树框架
US10298930B2 (en) Contexts for large coding tree units
KR102205328B1 (ko) 팔레트-기반 비디오 코딩에서 팔레트 인덱스들의 결정
KR102416949B1 (ko) 팔레트 기반 비디오 코딩에서 팔레트 인덱스에 기초한 런 값들의 코딩
KR102388221B1 (ko) 팔레트 기반 비디오 코딩에서의 예측자 팔레트 초기화
KR102338145B1 (ko) 팔레트 모드 인코딩 및 디코딩 설계
JP6181150B2 (ja) コード化ブロックフラグのコーディング
KR20190102201A (ko) 시간적 스케일러빌리티 지원을 위한 수정된 적응형 루프 필터 시간 예측
JP2021520117A (ja) 角度モードで拡張された位置依存型イントラ予測組合せ
KR20140130466A (ko) B 슬라이스에서의 예측 유닛의 단방향성 인터 예측으로의 제한
CN111602395B (zh) 用于视频译码的量化组
KR20140130465A (ko) B 슬라이스에서의 예측 유닛의 단방향성 인터 예측으로의 제한
CN111557095A (zh) 多模型局部照明补偿
CN111903129A (zh) 用于视频编码中的变换的多类型树框架
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: 20180926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200302

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210322

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20211018