JP2023076568A - ピクチャ予測方法および装置 - Google Patents

ピクチャ予測方法および装置 Download PDF

Info

Publication number
JP2023076568A
JP2023076568A JP2023051957A JP2023051957A JP2023076568A JP 2023076568 A JP2023076568 A JP 2023076568A JP 2023051957 A JP2023051957 A JP 2023051957A JP 2023051957 A JP2023051957 A JP 2023051957A JP 2023076568 A JP2023076568 A JP 2023076568A
Authority
JP
Japan
Prior art keywords
mode
prediction
intra
triangle
inter
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
JP2023051957A
Other languages
English (en)
Inventor
巍▲ウェイ▼ 徐
Weiwei Xu
▲海▼涛 ▲楊▼
Haitao Yang
寅 ▲趙▼
Yin Zhao
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2023076568A publication Critical patent/JP2023076568A/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
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/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
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

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

Abstract

【課題】符号化および復号の効率を改善するピクチャ予測方法を提供する。【解決手段】この方法は、ビットストリームを受信するステップと、ビットストリームを解析して現在のブロックの予測モードを取得するステップと、現在のブロックの予測モードが組み合わされたイントラおよびインター予測モードであるとき、事前設定されたポリシーに従って三角形予測単位モードの実行モードを選択するステップと、三角形予測単位モードの実行モードに従って現在のブロックの動き情報を決定するステップと、動き情報に基づいて動き補償プロセスを実行してインター予測サンプルを取得するステップと、現在のブロックの予測モードに従ってイントラ予測サンプルを取得するステップと、インター予測サンプルとイントラ予測サンプルとを組み合わせて現在のブロックの予測ピクチャを取得するステップと、を含む。【選択図】図9

Description

この出願は、2018年10月27日に中国国家知識産権局に出願され、発明の名称を「ピクチャ予測方法および装置」とする中国特許出願第201811262934.7号の優先権を主張し、参照によりその全体がここに組み入れられる。
この出願は、ビデオ符号化および復号の分野、より詳細には、ピクチャ予測方法および装置に関する。
インターネット技術が急速に発展し、人々の物質的および精神的な文化がますます豊かにされるにつれて、インターネットにおいてビデオのアプリケーション、特に高精細ビデオのアプリケーションへの増加する需要がある。しかしながら、高精細ビデオは非常に大量のデータを有する。制限された帯域幅を有するインターネットにおいて高精細ビデオを送信するために、ビデオ符号化および復号の問題がまず解決されることが必要である。ビデオ符号化および復号は、広い範囲のデジタルビデオアプリケーション、例えば、放送デジタルテレビ、インターネットおよびモバイルネットワーク上でのビデオ送信、ビデオチャットおよびビデオ会議のようなリアルタイム対話型アプリケーション、DVDおよびブルーレイディスク、ならびにビデオコンテンツの収集および編集のシステムおよびカムコーダのセキュリティアプリケーションにおいて使用される。
ビデオシーケンス内の各ピクチャは、通常、重複しないブロックのセットに区分され、コード化は、通常、ブロックレベルで実行される。例えば、予測ブロックは、空間的(イントラピクチャ)予測および時間的(インターピクチャ)予測を通じて生成される。これに対応して、予測モードは、イントラ予測モード(空間的予測)およびインター予測モード(時間的予測)を含み得る。イントラ予測モードセットは、35の異なるイントラ予測モード、例えば、DC(もしくは平均)モードおよび平面モードのような無方向性モード、もしくはH.265で定義されるもののような方向性モードを含んでもよく、または67の異なるイントラ予測モード、例えば、DC(もしくは平均)モードおよび平面モードのような無方向性モード、もしくは開発中のH.266で定義されるもののような方向性モードを含んでもよい。インター予測モードセットは、利用可能な参照ピクチャおよび他のインター予測パラメータに依存し、例えば、参照ピクチャ全体が使用されるか、または参照ピクチャの一部のみが使用されるかに依存する。
従来技術では、ピクチャ予測の効率が比較的低い。
この出願(またはこの開示)の実施形態は、ピクチャ予測装置および方法を提供する。
第1の態様によれば、本発明の一実施形態は、ピクチャ予測方法を提供する。この方法は、ビットストリームを受信するステップと、ビットストリームを解析して現在のブロックの予測モードを取得するステップと、現在のブロックの予測モードが組み合わされたイントラおよびインター予測モードであるとき、事前設定されたポリシーに従って三角形予測単位モードの実行モードを選択するステップと、三角形予測単位モードの実行モードに従って現在のブロックの動き情報を決定するステップと、動き情報に基づいて動き補償プロセスを実行してインター予測サンプルを取得するステップと、現在のブロックの予測モードに従ってイントラ予測サンプルを取得するステップと、インター予測サンプルとイントラ予測サンプルとを組み合わせて現在のブロックの予測ピクチャを取得するステップと、を含む。
本発明の実施形態の第1の態様における方法によれば、符号化および復号の効率は改善されることができる。
第2の態様によれば、本発明の一実施形態は、ピクチャ予測方法を提供する。この方法は、ビットストリームを受信するステップと、ビットストリームを解析して現在のブロックの三角形予測単位モードを取得するステップと、三角形予測単位モードが現在のブロックについて使用されるとき、第1の事前設定されたポリシーに従って組み合わされたイントラおよびインター予測モードの実行モードを選択するステップと、三角形予測単位モードに従って現在のブロックの動き情報を取得してインター予測サンプルを取得するステップと、組み合わされたイントラおよびインター予測モードの実行モードおよびインター予測サンプルに従って現在のブロックの予測ピクチャを取得するステップと、を含む。
本発明の実施形態の第2の態様における方法によれば、符号化および復号の効率は改善されることができる。
第3の態様によれば、本発明の一実施形態は、プロセッサとメモリとを含む、ビデオストリームを復号するための装置を提供する。メモリは命令を記憶し、命令はプロセッサが第1の態様における方法を実行することを可能にする。
第4の態様によれば、本発明の一実施形態は、プロセッサとメモリとを含む、ビデオストリームを復号するための装置を提供する。メモリは命令を記憶し、命令はプロセッサが第2の態様における方法を実行することを可能にする。
第5の態様によれば、コンピュータ可読記憶媒体が提供される。コンピュータ可読記憶媒体は命令を記憶し、命令が実行されるとき、1つまたは複数のプロセッサが、ビデオデータを符号化または復号することを可能にされる。命令は、1つまたは複数のプロセッサが、第1の態様の任意の可能な実施態様における方法を実行することを可能にする。
第6の態様によれば、本発明の一実施形態は、プログラムコードを含むコンピュータプログラムを提供する。プログラムコードがコンピュータ上で実行されるとき、第1の態様の任意の可能な実施態様における方法が実行される。
第7の態様によれば、コンピュータ可読記憶媒体が提供される。コンピュータ可読記憶媒体は命令を記憶し、命令が実行されるとき、1つまたは複数のプロセッサが、ビデオデータを符号化または復号することを可能にされる。命令は、1つまたは複数のプロセッサが、第2の態様の任意の可能な実施態様における方法を実行することを可能にする。
第8の態様によれば、本発明の一実施形態は、プログラムコードを含むコンピュータプログラムを提供する。プログラムコードがコンピュータ上で実行されるとき、第2の態様の任意の可能な実施態様における方法が実行される。
1つまたは複数の実施形態の詳細が添付の図面および以下の説明において説明される。他の特徴、目的、および利点は、この明細書、図面、および請求項から明らかである。
この出願の実施形態または背景における技術的解決策をより明確に説明するために、以下は、この出願の実施形態または背景について要求される添付の図面を説明する。
本発明の一実施形態を実現するためのビデオ符号化システムの例を示すブロック図である。 図2における符号化器20および図3における復号器30のいずれか1つまたは2つを含むビデオコード化システムの例を示すブロック図である。 本発明の一実施形態を実現するためのビデオ符号化器の例示の構造を示すブロック図である。 本発明の一実施形態を実現するためのビデオ復号器の例示の構造を示すブロック図である。 符号化装置または復号装置の例を示すブロック図である。 別の符号化装置または別の復号装置の例を示すブロック図である。 現在のブロックの空間的候補および時間的候補の例を表す。 イントラ(intra)予測モードの概略図である。 三角形予測単位モードの概略図である。 本発明の実施形態1の概略フローチャートである。 本発明の実施形態2の概略フローチャートである。 本発明の一実施形態による装置1100の概略構造図である。 コンテンツ配信サービスを実現するコンテンツ供給システム3100の例示の構造を示すブロック図である。 端末デバイスの例示の構造のブロック図である。
以下において、同一の参照符号は、そうでなく指定されるのでなければ、同一の、または少なくとも機能的に同等の特徴を表現する。
ビデオコード化は、通常、ビデオまたはビデオシーケンスを形成するピクチャのシーケンスを処理する。ビデオコード化の分野では、用語「ピクチャ(picture)」、「フレーム(frame)」、および「画像(image)」は同義語として使用され得る。この出願(またはこの開示)において使用されるビデオコード化は、ビデオ符号化またはビデオ復号を示す。ビデオ符号化はソース側で実行され、通常、(より効率的な記憶および/または送信のために)元のビデオを処理してそのビデオを表現するために要求されるデータの量を減らすこと(例えば、圧縮を通じて)を含む。ビデオ復号は宛先側で実行され、通常、ビデオピクチャを再構築するために符号化器に対する逆の処理を含む。実施形態におけるビデオピクチャの「コード化」は、ビデオシーケンスに関連した「符号化」または「復号」として理解されるべきである。符号化と復号の組み合わせもコード化(符号化および復号)と呼ばれる。
ビデオシーケンス内の各ピクチャは、通常、重複しないブロックのセットに区分され、コード化は、通常、ブロックレベルで実行される。具体的には、符号化器側で、ビデオは、通常、ブロック(ピクチャブロックまたはビデオブロックとも呼ばれる)レベルで処理され、すなわち、符号化される。例えば、予測ブロックが空間的(イントラピクチャ)予測および時間的(インターピクチャ)予測を通じて生成され、残差ブロックを取得するために予測ブロックが現在のブロック(処理されているか、または処理されるべきブロック)から減算され、送信されるべきデータの量を減らすために残差ブロックが変換領域において変換され、量子化される(圧縮される)。復号器側では、表現のために現在のブロックを再構築するために符号化または圧縮されたブロックに、符号化器に対する逆の処理が適用される。加えて、符号化器は復号器の処理ループを複製し、これにより符号化器および復号器は、後続のブロックを処理、すなわち、符号化するために同じ予測(例えば、イントラ予測およびインター予測)および/または再構築を生成する。
用語「ブロック」は、ピクチャまたはフレームの一部であり得る。この出願における重要な用語は以下のように定義される。
現在のブロック:現在のブロックは、処理されているブロックである。例えば、符号化の間、現在のブロックは符号化されているブロックであり、復号の間、現在のブロックは復号されているブロックである。処理されているブロックがクロマ成分ブロックであるならば、ブロックは現在のクロマブロックと呼ばれる。現在のクロマブロックに対応するルマブロックは、現在のルマブロックと呼ばれ得る。
参照ブロック:参照ブロックは、現在のブロックのために参照信号を提供するブロックである。探索プロセスでは、最適な参照ブロックを見出すために複数の参照ブロックがトラバースされ得る。
予測ブロック:現在のブロックのために予測を提供するブロックが予測ブロックと呼ばれる。例えば、複数の参照ブロックがトラバースされた後で、最適な参照ブロックが見出される。最適な参照ブロックは現在のブロックのために予測を提供し、そのブロックは予測ブロックと呼ばれる。
ピクチャブロック信号:ピクチャブロック信号は、ピクチャブロック内のピクセル値、サンプル値、またはサンプル信号である。
予測信号:予測ブロック内のピクセル値、サンプル値、またはサンプル信号が予測信号と呼ばれる。
以下は、図1Aおよび図1Bから図3に基づいて、符号化器20、復号器30、および符号化システム10の実施形態を説明する。
図1Aは、例示の符号化システム10、例えば、この出願(この開示)の技術を使用し得るビデオ符号化システム10を示す概念的なまたは概略のブロック図である。ビデオ符号化システム10内の符号化器20(例えば、ビデオ符号化器20)および復号器30(例えば、ビデオ復号器30)は、この出願において説明される様々な例に従ってイントラ予測を実行するように構成され得るデバイス例を表現する。図1Aに表されるように、符号化システム10は、符号化されたピクチャ13のような符号化されたデータ13を、符号化されたデータ13を復号するために宛先デバイス14に提供するように構成されたソースデバイス12、または同様のものを含む。
ソースデバイス12は符号化器20を含み、加えて、または任意選択で、ピクチャソース16、例えば、ピクチャ前処理ユニット18のような前処理ユニット18、および通信インターフェースまたは通信ユニット22を含み得る。
ピクチャソース16は、現実世界のピクチャおよび同様のものを取り込むように構成された任意のタイプのピクチャ取り込みデバイス、ならびに/またはピクチャもしくはコメント(画面コンテンツの符号化のための、画面におけるいくつかのテキストは符号化されるべきピクチャの一部とみなされる)を生成するための任意のタイプのデバイス、例えば、コンピュータアニメーションピクチャを生成するように構成されたコンピュータグラフィックス処理ユニット、または現実世界のピクチャもしくはコンピュータアニメーションピクチャ(例えば、画面コンテンツや仮想現実(virtual reality, VR)ピクチャ)および/もしくはそれらの任意の組み合わせ(例えば、拡張現実(augmented reality, AR)ピクチャ)を取得および/もしくは提供するように構成された任意のタイプのデバイスを含み得るか、またはそれらであり得る。
ピクチャは、ルマ値を有するサンプルの二次元配列または行列とみなされ得る。配列内のサンプルは、ピクセル(pixel)(ピクチャ・エレメント(picture element)の短縮形)またはペル(pel)とも呼ばれ得る。配列またはピクチャの水平および垂直の方向(または軸)におけるサンプル数が、ピクチャのサイズおよび/または解像度を定義する。色の表現のために、3つの色成分が通常使用され、すなわち、ピクチャは3つのサンプル配列として表現され、または3つのサンプルの配列を含み得る。RBGフォーマットまたは色空間において、ピクチャは、対応する赤、緑、および青のサンプル配列を含む。しかしながら、ビデオコード化では、各ピクセルは、通常、輝度/色度フォーマットまたは色空間において表現され、例えば、YCbCrフォーマットにおけるピクチャは、Y(時々、Lによって示される)で示される輝度成分と、CbおよびCrによって示される2つの色度成分とを含む。輝度(略してluma)成分Yは、輝度またはグレーレベル強度(例えば、これら2つはグレースケールピクチャにおいて同じである)を示し、2つの色度(略してchroma)成分CbおよびCrは、色度または色情報成分を表現する。したがって、YCbCrフォーマットにおけるピクチャは、輝度サンプル値(Y)の輝度サンプル配列と、色度値(CbおよびCr)の2つの色度サンプル配列とを含む。RGBフォーマットにおけるピクチャがYCbCrフォーマットにおけるピクチャに転換または変換されてもよく、逆もまた同様である。このプロセスは、色変換または色転換とも呼ばれる。ピクチャがモノクロであるならば、ピクチャは輝度サンプル配列のみを含み得る。
ピクチャソース16(例えば、ビデオソース16)は、例えば、ピクチャを取り込むように構成されたカメラ、例えば、以前に取り込まれたか、もしくは生成されたピクチャを含むか、もしくは記憶するピクチャメモリのようなメモリ、および/またはピクチャを取得もしくは受信するための任意のタイプの(内部もしくは外部)インターフェースであり得る。カメラは、例えば、ローカルカメラまたはソースデバイスに統合された統合型カメラであってもよく、メモリは、ローカルメモリまたはソースデバイスに統合された統合型メモリであってもよい。インターフェースは、例えば、外部ビデオソースからピクチャを受信するための外部インターフェースであり得る。外部ビデオソースは、例えば、カメラのような外部ピクチャ取り込みデバイス、外部メモリ、または外部ピクチャ生成デバイスである。外部ピクチャ生成デバイスは、例えば、外部コンピュータグラフィックス処理ユニット、コンピュータ、またはサーバである。インターフェースは、任意の専用の、または標準化されたインターフェースプロトコルによる任意のタイプのインターフェース、例えば、有線または無線インターフェースまたは光インターフェースであり得る。ピクチャデータ17を取得するためのインターフェースは、通信インターフェース22と同じインターフェースであってもよく、または通信インターフェース22の一部であってもよい。
前処理ユニット18および前処理ユニット18によって実行される処理とは異なり、ピクチャ17またはピクチャデータ17(例えば、ビデオデータ16)は、元のピクチャ17または元のピクチャデータ17とも呼ばれ得る。
前処理ユニット18は、(元の)ピクチャデータ17を受信し、前処理ピクチャ19または前処理されたピクチャデータ19を取得するために、ピクチャデータ17に対して前処理を実行するように構成される。例えば、前処理ユニット18によって実行される前処理は、トリミング、カラーフォーマット転換(例えば、RGBからYCbCrへ)、色補正、またはノイズ低減を含み得る。前処理ユニット18は、任意選択の構成要素であり得ることが理解され得る。
符号化器20(例えば、ビデオ符号化器20)は、前処理されたピクチャデータ19を受信し、符号化されたピクチャデータ21を提供するように構成される(詳細は、例えば、図2または図4に基づいて、以下でさらに説明される)。一例では、符号化器20は、以下の実施形態1から実施形態7を実行するように構成され得る。
ソースデバイス12の通信インターフェース22は、符号化されたピクチャデータ21を受信し、記憶もしくは直接の再構築のために、符号化されたピクチャデータ21を別のデバイス、例えば、宛先デバイス14または任意の別のデバイスに送信するように構成されてもよく、またはこれに対応して、符号化されたデータ13を記憶する、および/もしくは符号化されたデータ13を別のデバイスに送信する前に符号化されたピクチャデータ21を処理するように構成されてもよい。別のデバイスは、例えば、宛先デバイス14または復号もしくは記憶のために使用される任意の他のデバイスである。
宛先デバイス14は、復号器30(例えば、ビデオ復号器30)を含み、加えて、または任意選択で、通信インターフェースまたは通信ユニット28、後処理ユニット32、および表示デバイス34を含み得る。
例えば、宛先デバイス14の通信インターフェース28は、ソースデバイス12または任意の他のソースから符号化されたピクチャデータ21または符号化されたデータ13を直接受信するように構成される。任意の他のソースは、例えば、記憶デバイスであり、記憶デバイスは、例えば、符号化されたピクチャデータ記憶デバイスである。
通信インターフェース22および通信インターフェース28は、ソースデバイス12と宛先デバイス14との間の直接通信リンク上または任意のタイプのネットワーク上で符号化されたピクチャデータ21または符号化されたデータ13を送信または受信するように構成され得る。直接通信リンクは、例えば、直接有線または無線接続であり、任意のタイプのネットワークは、例えば、有線もしくは無線ネットワークまたはそれらの任意の組み合わせ、または任意のタイプのプライベートネットワークもしくは公衆ネットワークもしくはそれらの任意の組み合わせである。
通信インターフェース22は、例えば、符号化されたピクチャデータ21を、通信リンクや通信ネットワーク上での送信のためのパケットのような適切なフォーマットにカプセル化するように構成され得る。
通信インターフェース22の対応する部分としての通信インターフェース28は、符号化されたピクチャデータ21および同様のものを取得するために符号化されたデータ13をカプセル化解除するように構成され得る。
通信インターフェース22および通信インターフェース28の両方は、図1Aにおける符号化されたピクチャデータ13のために使用される、単方向通信インターフェース、例えば、ソースデバイス12から宛先デバイス14を指し示す矢印として構成されてもよく、または双方向通信インターフェースとして構成されてもよく、例えば、接続を確立するためにメッセージを送信および受信し、通信リンクおよび/または符号化されたピクチャデータ送信のようなデータ送信に関連した任意の他の情報を確認および交換するように構成され得る。
復号器30は、符号化されたピクチャデータ21を受信し、復号されたピクチャデータ31または復号されたピクチャ31を提供するように構成される(詳細は、例えば、図3または図5に基づいて、以下でさらに説明される)。一例では、復号器30は、以下の実施形態1から実施形態7を実行するように構成され得る。
宛先デバイス14の後処理ユニット32は、後処理されたピクチャ33のような後処理されたピクチャデータ33を取得するために、復号されたピクチャ131のような(再構築されたピクチャデータとも呼ばれる)復号されたピクチャデータ31を後処理するように構成される。後処理ユニット32によって実行される後処理は、例えば、カラーフォーマット転換(例えば、YCbCrからRGBへ)、色補正、トリミング、再サンプリング、または表示デバイス34による表示のための復号されたピクチャデータ31を作成するための任意の他の処理を含み得る。
宛先デバイス14の表示デバイス34は、ユーザ、ビューア、または同様のものにピクチャを表示するために後処理されたピクチャデータ33を受信するように構成される。表示デバイス34は、再構築されたピクチャを提示するように構成される任意のタイプのディスプレイ、例えば、統合されたまたは外部のディスプレイまたはモニタであり得るか、またはそれらを含み得る。例えば、ディスプレイは、液晶ディスプレイ(liquid crystal display, LCD)、有機発光ダイオード(organic light emitting diode, OLED)ディスプレイ、プラズマディスプレイ、プロジェクタ、マイクロLEDディスプレイ、液晶オンシリコン(liquid crystal on silicon, LCoS)ディスプレイ、デジタルライトプロセッサ(digital light processor, DLP)、または任意の他のタイプのディスプレイを含み得る。
図1Aは、ソースデバイス12および宛先デバイス14を別々のデバイスとして示しているが、デバイスの実施形態は、ソースデバイス12と宛先デバイス14の両方、またはソースデバイス12の機能と宛先デバイス14の機能、すなわち、ソースデバイス12または対応する機能と宛先デバイス14または対応する機能の両方も含み得る。そのような実施形態では、ソースデバイス12または対応する機能と宛先デバイス14または対応する機能とは、同じハードウェアおよび/もしくはソフトウェア、別々のハードウェアおよび/もしくはソフトウェア、またはそれらの任意の組み合わせを使用して実現され得る。
これらの説明に基づいて、この技術分野の当業者は、図1Aに表されるソースデバイス12および/または宛先デバイス14の異なるユニットの機能または1つもしくは複数の機能の存在および(正確な)区分が実際のデバイスおよびアプリケーションで変わり得ることを容易に理解する。
符号化器20(例えば、ビデオ符号化器20)および復号器30(例えば、ビデオ復号器30)は、各々、様々な適切な回路のいずれか1つ、例えば、1つもしくは複数のマイクロプロセッサ、デジタル信号プロセッサ(digital signal processor, DSP)、特定用途向け集積回路(application-specific integrated circuit, ASIC)、フィールドプログラマブルゲートアレイ(field-programmable gate array, FPGA)、個別のロジック、ハードウェア、またはそれらの任意の組み合わせとして実現され得る。技術が部分的にソフトウェアで実現されるならば、デバイスは、適切な非一時的なコンピュータ可読記憶媒体にソフトウェア命令を記憶してもよく、1つまたは複数のプロセッサを使用することによってこの開示における技術を実行するために命令をハードウェアで実行してもよい。(ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組み合わせ、および同様のものを含む)前述の内容のいずれも、1つまたは複数のプロセッサとみなされ得る。ビデオ符号化器20およびビデオ復号器30は、各々、1つまたは複数の符号化器または復号器に含まれてもよく、それらの符号化器または復号器の任意の1つが対応するデバイスにおいて符号化器/復号器の組み合わせ(コーデック)の一部として統合されてもよい。
ソースデバイス12は、ビデオ符号化デバイスまたはビデオ符号化装置とも呼ばれ得る。宛先デバイス14は、ビデオ復号デバイスまたはビデオ復号装置とも呼ばれ得る。ソースデバイス12および宛先デバイス14は、各々、ビデオ符号化デバイスまたはビデオ復号装置の一例であり得る。
ソースデバイス12および宛先デバイス14は、各々、任意のタイプのハンドヘルドまたは据え置きのデバイス、例えば、ノートブックまたはラップトップコンピュータ、携帯電話、スマートフォン、タブレットもしくはタブレットコンピュータ、ビデオカメラ、デスクトップコンピュータ、セットトップボックス、テレビ、表示デバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミング送信デバイス(コンテンツサービスサーバおよびコンテンツ配信サーバのような)、放送受信機デバイス、または放送送信機デバイスを含む、様々なデバイスのうちの任意の1つを含んでもよく、任意のタイプのオペレーティングシステムを使用してもよく、または使用しなくてもよい。
いくつかの場合には、ソースデバイス12および宛先デバイス14は、無線通信を備え得る。したがって、ソースデバイス12および宛先デバイス14は、無線通信デバイスであり得る。
いくつかの場合には、図1Aに表されるビデオ符号化システム10は単に一例であり、この出願における技術は、符号化デバイスと復号デバイスとの間の任意のデータ通信を含む必要のないビデオコード化設定(例えば、ビデオ符号化またはビデオ復号)に適用され得る。別の例では、データは、ローカルメモリから取得され、ネットワーク上でストリーミングされ、または同様であり得る。ビデオ符号化デバイスが、データを符号化し、そのデータをメモリに記憶してもよく、かつ/またはビデオ復号デバイスが、メモリからデータを取得し、そのデータを復号してもよい。いくつかの例では、符号化および復号が、互いと通信せず、データをメモリに符号化し、かつ/またはメモリからデータを取得し、そのデータを復号するだけのデバイスによって実行される。
ビデオ符号化器20を参照して説明された前述の例の各々について、ビデオ復号器30は逆のプロセスを実行するように構成され得ることを理解されるべきである。シグナリング構文要素について、ビデオ復号器30は、構文要素を受信し、解析し、関連するビデオデータをそれに応じて復号するように構成され得る。いくつかの例では、ビデオ符号化器20は、構文要素を符号化されたビデオビットストリームにエントロピー符号化し得る。そのような例では、ビデオ復号器30は、構文要素を解析し、関連するビデオデータをそれに応じて復号し得る。
図1Bは、例示の実施形態による、図2における符号化器20および/または図3における復号器30を含むビデオコード化システム40の例を示す図である。システム40は、この出願の様々な技術の組み合わせを実現し得る。示された実施態様において、ビデオコード化システム40は、撮像デバイス41、ビデオ符号化器20、ビデオ復号器30(および/もしくは処理ユニット46の論理回路47によって実現されたビデオ復号器)、アンテナ42、1つもしくは複数のプロセッサ43、1つもしくは複数のメモリ44、ならびに/または表示デバイス45を含み得る。
図に表されるように、撮像デバイス41、アンテナ42、処理ユニット46、論理回路47、ビデオ符号化器20、ビデオ復号器30、プロセッサ43、メモリ44、および/または表示デバイス45は、互いに通信することができる。説明されたように、ビデオコード化システム40はビデオ符号化器20とビデオ復号器30の両方を有して示されているが、異なる例では、ビデオコード化システム40は、ビデオ符号化器20のみまたはビデオ復号器30のみを含んでもよい。
いくつかの例では、図に表されるように、ビデオコード化システム40は、アンテナ42を含み得る。例えば、アンテナ42は、ビデオデータの符号化されたビットストリームを送信または受信するように構成され得る。加えて、いくつかの例では、ビデオコード化システム40は、表示デバイス45を含み得る。表示デバイス45は、ビデオデータを提示するように構成され得る。いくつかの例では、図に表されるように、論理回路47は、処理ユニット46によって実現され得る。処理ユニット46は、特定用途向け集積回路(application-specific integrated circuit, ASIC)ロジック、グラフィックス処理ユニット、汎用プロセッサ、または同様のものを含み得る。ビデオコード化システム40は、任意選択のプロセッサ43も含み得る。任意選択のプロセッサ43は、同様に、特定用途向け集積回路(application-specific integrated circuit, ASIC)ロジック、グラフィックス処理ユニット、汎用プロセッサ、または同様のものを含み得る。いくつかの例では、論理回路47は、ビデオ符号化専用ハードウェアのようなハードウェアによって実現されてもよく、プロセッサ43は、ユニバーサルソフトウェア、オペレーティングシステム、または同様のものによって実現され得る。加えて、メモリ44は、任意のタイプのメモリ、例えば、揮発性メモリ(例えば、スタティック・ランダム・アクセス・メモリ(Static Random Access Memory, SRAM)またはダイナミック・ランダム・アクセス・メモリ(Dynamic Random Access Memory, DRAM))または不揮発性メモリ(例えば、フラッシュメモリ)であり得る。非限定的な例において、メモリ44は、キャッシュメモリによって実現され得る。いくつかの例では、論理回路47は、(例えば、ピクチャバッファを実現するために)メモリ44にアクセスし得る。別の例では、論理回路47および/または処理ユニット46は、ピクチャバッファまたは同様のものを実現するためにメモリ(例えば、キャッシュ)を含み得る。
いくつかの例では、論理回路によって実現されるビデオ符号化器20は、ピクチャバッファ(例えば、処理ユニット46またはメモリ44によって実現される)およびグラフィックス処理ユニット(例えば、処理ユニット46によって実現される)を含み得る。グラフィックス処理ユニットは、ピクチャバッファに通信可能に結合され得る。グラフィックス処理装置は、図2を参照して説明される様々なモジュールおよび/またはこの明細書において説明される任意の他の符号化器システムもしくはサブシステムを実現するために、論理回路47によって実現されるビデオ符号化器20を含み得る。論理回路は、この明細書において説明される様々な動作を実行するように構成され得る。
ビデオ復号器30は、同様に、図3における復号器30を参照して説明される様々なモジュールおよび/またはこの明細書において説明される任意の他の復号器システムもしくはサブシステムを実現するために、論理回路47によって実現され得る。いくつかの例では、論理回路によって実現されるビデオ復号器30は、ピクチャバッファ(処理ユニット2820またはメモリ44によって実現される)およびグラフィックス処理ユニット(例えば、処理ユニット46によって実現される)を含み得る。グラフィックス処理ユニットは、ピクチャバッファに通信可能に結合され得る。グラフィックス処理ユニットは、図3を参照して説明される様々なモジュールおよび/またはこの明細書において説明される任意の他の復号器システムもしくはサブシステムを実現するために、論理回路47によって実現されるビデオ復号器30を含み得る。
いくつかの例では、ビデオコード化システム40のアンテナ42は、ビデオデータの符号化されたビットストリームを受信するように構成され得る。説明されたように、符号化されたビットストリームは、この明細書において説明されるビデオフレーム符号化に関連したデータ、インジケータ、インデックス値、モード選択データ、または同様のもの、例えば、符号化区分に関連したデータ(例えば、変換係数もしくは量子化された変換係数、(説明されるような)任意選択のインジケータ、および/または符号化区分を定義するデータ)を含み得る。ビデオコード化システム40は、アンテナ42に結合され、符号化されたビットストリームを復号するように構成されたビデオ復号器30をさらに含み得る。表示デバイス45は、ビデオフレームを提示するように構成される。
符号化器および符号化方法
図2は、この出願(開示)の技術を実現するように構成されたビデオ符号化器20の例の概略/概念ブロック図である。図2の例において、ビデオ符号化器20は、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210、逆変換処理ユニット212、再構築ユニット214、バッファ216、ループフィルタユニット220、復号されたピクチャバッファ(decoded picture buffer, DPB)230、予測処理ユニット260、およびエントロピー符号化ユニット270を含む。予測処理ユニット260は、インター予測ユニット244、イントラ予測ユニット254、およびモード選択ユニット262を含み得る。インター予測ユニット244は、動き推定ユニットおよび動き補償ユニット(図には表されていない)を含み得る。図2に表されるビデオ符号化器20は、ハイブリッドビデオ符号化器またはハイブリッドビデオコーデックベースのビデオ符号化器とも呼ばれ得る。
例えば、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、予測処理ユニット260、およびエントロピー符号化ユニット270は、符号化器20の順方向信号経路を形成し、逆量子化ユニット210、逆変換処理ユニット212、再構築ユニット214、バッファ216、ループフィルタユニット220、復号されたピクチャバッファ(decoded picture buffer, DPB)230、予測処理ユニット260、および同様のものは、符号化器の逆方向信号経路を形成する。符号化器の逆方向信号経路は(図3における復号器30を指す)復号器の信号経路に対応する。
符号化器20は、入力202または同様のものを使用することによってピクチャ201またはピクチャ201のブロック203、例えば、ビデオまたはビデオシーケンスを形成するピクチャのシーケンス内のピクチャを受信する。ピクチャブロック203は、また、現在のピクチャブロックまたは符号化されるべきピクチャブロックと呼ばれることがあり、ピクチャ201は、現在のピクチャまたは符号化されるべきピクチャとも呼ばれることがある(特に、現在のピクチャがビデオコード化において別のピクチャと区別され、例えば、同じビデオシーケンス内の他のピクチャも、現在のピクチャのビデオシーケンス内の以前に符号化されたおよび/または復号されたピクチャを含むとき)。
区分
符号化器20の実施形態は、ピクチャ201を、ブロック203のような複数の重複しないブロックに区分するように構成された、区分ユニット(図2には表されていない)を含み得る。区分ユニットは、ビデオシーケンス内のすべてのピクチャについて同じブロックサイズおよびブロックサイズを定義する対応するラスタを使用するように構成されてもよく、またはピクチャ間、サブセット間、もしくはピクチャグループ間でブロックサイズを変更し、各ピクチャを対応するブロックに区分するように構成されてもよい。
一例では、ビデオ符号化器20の予測処理ユニット260は、前述の区分技術の任意の組み合わせを実行するように構成され得る。
例えば、ピクチャ201において、ブロック203は、また、ルマ値(サンプル値)を有するサンプルの二次元配列または行列とみなされ、またはみなされ得るが、ブロック203のサイズは、ピクチャ201のサイズよりも小さい。言い換えると、ブロック203は、例えば、1つのサンプル配列(例えば、モノクロピクチャ201の場合における輝度配列)、3つのサンプル配列(例えば、カラーピクチャの場合における1つの輝度配列および2つの色度配列)、または使用されるカラーフォーマットに基づく任意の他の数および/もしくはタイプの配列を含み得る。ブロック203の水平および垂直の方向(または軸)におけるサンプルの数が、ブロック203のサイズを定義する。
図2に表される符号化器20は、ピクチャ201をブロックごとに符号化する、例えば、各ブロック203に対して符号化および予測を実行するように構成される。
残差計算
残差計算ユニット204は、ピクチャブロック203および予測ブロック265(予測ブロック265に関する更なる詳細は以下で提供される)に基づいて残差ブロック205を計算する、例えば、サンプル領域の残差ブロック205を、サンプルごとに(ピクセルごとに)ピクチャブロック203のサンプル値から予測ブロック265のサンプル値を減算することによって取得するように構成される。
変換
変換処理ユニット206は、変換領域における変換係数207を取得するために、残差ブロック205のサンプル値に離散コサイン変換(discrete cosine transform, DCT)または離散サイン変換(discrete sine transform, DST)のような変換を適用するように構成される。変換係数207は、また、残差変換係数と呼ばれることがあり、変換領域における残差ブロック205を示す。
変換処理ユニット206は、DCT/DSTの整数近似、例えば、HEVC/H.265で指定される変換を適用するように構成され得る。この整数近似は、通常、直交DCT変換と比較される係数によって比例的にスケーリングされる。順変換および逆変換を通じて取得された残差ブロックのノルムを維持するために、追加のスケール係数が変換プロセスの一部として適用される。スケール係数は、通常、いくつかの制約条件に基づいて選択され、例えば、2の累乗、変換係数のビット深度、またはシフト演算について使用される精度と実現コストとの間のトレードオフである。例えば、特定のスケール係数が、逆変換処理ユニット212を使用することによって復号器30側で逆変換について(これに対応して、逆変換処理ユニット212または同様のものを使用することによって符号化器20側で逆変換について)指定され、これに対応して、対応するスケール係数が、変換処理ユニット206を使用することによって符号化器20側で順変換について指定され得る。
量子化
量子化ユニット208は、量子化された変換係数209を取得するために、スケール量子化、ベクトル量子化、または同様のものを適用することによって変換係数207を量子化するように構成される。量子化された変換係数209は、また、量子化された残差係数209と呼ばれることがある。量子化プロセスは、いくつかまたは全ての変換係数207に関連したビット深度を低減させ得る。例えば、nビットの変換係数が、量子化の間にmビットの変換係数に切り下げられてもよく、nはmよりも大きい。量子化パラメータ(quantization parameter, QP)を調整することによって量子化の程度が変更され得る。例えば、スケール量子化では、より細かいまたはより粗い量子化を達成するために異なるスケールが適用され得る。より小さい量子化ステップはより細かい量子化に対応し、より大きい量子化ステップはより粗い量子化に対応する。適切な量子化ステップは、量子化パラメータ(quantization parameter, QP)を使用することによって示され得る。例えば、量子化パラメータは、事前定義された適切な量子化ステップのセットのインデックスであり得る。例えば、より小さい量子化パラメータはより細かい量子化(より小さい量子化ステップ)に対応し得、より大きい量子化パラメータはより粗い量子化(より大きい量子化ステップ)に対応し得、逆もまた同様である。量子化は、量子化ステップによる除算および逆量子化ユニット210または同様のものによって実行される対応する量子化もしくは逆量子化を含んでもよく、または量子化ステップによる乗算を含んでもよい。HEVCのようないくつかの規格による実施形態では、量子化ステップを決定するために量子化パラメータが使用され得る。一般に、量子化ステップは、除算を含む数式の不動点近似を通じて量子化パラメータに基づいて計算され得る。量子化ステップおよび量子化パラメータについて使用される数式の不動点近似において使用されるスケールが原因で変更され得る、残差ブロックのノルムを復元するために、量子化および逆量子化について追加のスケール係数が導入され得る。例示の実施態様では、逆変換のスケールが逆量子化のスケールと組み合わされ得る。その代わりに、カスタマイズされた量子化テーブルが使用され、符号化器から復号器に、例えば、ビットストリーム内でシグナリングされてもよい。量子化は損失を有する演算であり、より大きい量子化ステップはより大きい損失を示す。
逆量子化ユニット210は、逆量子化された係数211を取得するために量子化された係数に量子化ユニット208の逆量子化を適用するように、例えば、量子化ユニット208と同じ量子化ステップに基づいて、またはこれを使用することによって、量子化ユニット208によって適用された量子化方式の逆量子化方式を適用するように構成される。逆量子化された係数211は、また、逆量子化された残差係数211と呼ばれ、変換係数207に対応し得るが、量子化によって引き起こされた損失は、通常、変換係数とは異なる。
逆変換処理ユニット212は、サンプル領域において逆変換ブロック213を取得するために、変換処理ユニット206によって適用された変換の逆変換、例えば、逆離散コサイン変換(discrete cosine transform, DCT)または逆離散サイン変換(discrete sine transform, DST)を適用するように構成される。逆変換ブロック213は、逆変換逆量子化ブロック213または逆変換残差ブロック213とも呼ばれ得る。
再構築ユニット214(例えば、加算器214)は、例えば、再構築された残差ブロック213のサンプル値と予測ブロック265のサンプル値とを加算することによって、サンプル領域において再構築されたブロック215を取得するために、予測ブロック265に逆変換ブロック213(すなわち、再構築された残差ブロック213)を加算するように構成される。
任意選択で、ラインバッファ216のようなバッファユニット216(または略して「バッファ」216)は、再構築されたブロック215、およびイントラ予測および同様のもののための対応するサンプル値をバッファまたは記憶するように構成される。他の実施形態では、符号化器が、イントラ予測のような任意のタイプの推定および/または予測のためにバッファユニット216に記憶されるフィルタリングされていない再構築されたブロックおよび/または対応するサンプル値を使用するように構成され得る。
例えば、符号化器20の実施形態は、バッファユニット216がイントラ予測254のための再構築されたブロック215を記憶するように構成されるだけでなく、ループフィルタユニット220のフィルタリングされたブロック221(図2には表されていない)を記憶するようにも構成されてもよく、かつ/またはバッファユニット216と復号されたピクチャバッファユニット230とが1つのバッファを形成する。他の実施形態は、フィルタリングされたブロック221および/または復号されたピクチャバッファ230からのブロックもしくはサンプル(図2には表されていない)をイントラ予測254のための入力または基礎として使用するために使用されてもよい。
ループフィルタユニット220(または略して「ループフィルタ」220)は、ピクセル変換をスムーズに実行するか、またはビデオ品質を改善するように、再構築されたブロック215に対してフィルタリングを実行してフィルタリングされたブロック221を取得するように構成される。ループフィルタユニット220は、1つまたは複数のループフィルタ、例えば、ブロック解除フィルタ、サンプル適応オフセット(sample-adaptive offset, SAO)フィルタ、またはバイラテラルフィルタ、適応ループフィルタ(adaptive loop filter, ALF)、鮮明化もしくは平滑化フィルタ、または協調フィルタのような別のフィルタを表現することが意図されている。ループフィルタユニット220は図2においてループ内フィルタとして表されているが、ループフィルタユニット220は、他の構成ではループ後フィルタとして実現されてもよい。フィルタリングされたブロック221は、フィルタリングされた再構築されたブロック221とも呼ばれ得る。復号されたピクチャバッファ230は、ループフィルタユニット220が再構築されたコード化ブロックに対してフィルタリング演算を実行した後に再構築されたコード化ブロックを記憶し得る。
符号化器20の実施形態(これに対応して、ループフィルタユニット220)は、ループフィルタパラメータ(例えば、サンプル適応オフセット情報)を出力して、例えば、ループフィルタパラメータを直接出力するか、またはエントロピー符号化ユニット270もしくは任意の他のエントロピー符号化ユニットがエントロピー符号化を実行した後にループフィルタパラメータを出力するために使用されてもよく、それによって復号器30が、同じループフィルタパラメータを受信し、復号および同様のもののために適用することができる。
復号されたピクチャバッファ(decoded picture buffer, DPB)230は、ビデオ符号化器20がビデオデータを符号化するための参照ピクチャデータを記憶する参照ピクチャメモリであり得る。DPB230は、複数のメモリのうちの任意の1つ、例えば、ダイナミック・ランダム・アクセス・メモリ(dynamic random access memory, DRAM)(シンクロナスDRAM(synchronous DRAM, SDRAM)、磁気抵抗RAM(magnetoresistive RAM, MRAM)、もしくは抵抗RAM(resistive RAM, RRAM)を含む)、または別のタイプのメモリであり得る。DPB230およびバッファ216は、同じメモリまたは別々のメモリによって提供され得る。一例では、復号されたピクチャバッファ(decoded picture buffer, DPB)230は、フィルタリングされたブロック221を記憶するように構成される。復号されたピクチャバッファ230は、同じ現在のピクチャまたは前の再構築されたピクチャのような異なるピクチャの前の再構築およびフィルタリングされたブロック221のような他の前のフィルタリングされたブロックを記憶するようにさらに構成されてもよく、完全な前の再構築された、すなわち、復号されたピクチャ(および対応する参照ブロックおよび対応するサンプル)ならびに/またはインター予測および同様のもののための部分的に再構築された現在のピクチャ(および対応する参照ブロックおよび対応するサンプル)を提供してもよい。一例では、再構築されたブロック215がループ内フィルタなしで再構築されるならば、復号されたピクチャバッファ(decoded picture buffer, DPB)230は、再構築されたブロック215を記憶するように構成される。
予測処理ユニット260は、ブロック予測処理ユニット260とも呼ばれ、ブロック203(現在のピクチャ201の現在のブロック203)と、再構築されたピクチャデータ、例えば、バッファ216内の同じ(現在の)ピクチャからの参照サンプルおよび/または復号されたピクチャバッファ230内の1つもしくは複数の前の復号されたピクチャからの参照ピクチャデータ231とを受信するか、または取得し、そのようなデータを予測のために処理する、すなわち、インター予測ブロック245またはイントラ予測ブロック255であり得る予測ブロック265を提供するように構成される。
モード選択ユニット262は、残差ブロック205を計算し、再構築されたブロック215を再構築するために、予測モード(例えば、イントラもしくはインター予測モード)および/または予測ブロック265としての対応する予測ブロック245もしくは255を選択するように構成され得る。
モード選択ユニット262の実施形態は、(例えば、予測処理ユニット260によってサポートされる予測モードの中から)予測モードを選択するために使用され得る。予測モードは、最適な一致もしくは最小残差(最小残差は、伝送もしくは記憶におけるより良い圧縮を意味する)を提供するか、または最小のシグナリングオーバーヘッド(最小のシグナリングオーバーヘッドは、伝送もしくは記憶におけるより良い圧縮を意味する)を提供するか、またはこれら2つを考慮するか、またはこれら2つのバランスをとる。モード選択ユニット262は、レート歪み最適化(rate distortion optimization, RDO)に基づいて予測モードを決定する、すなわち、最小のレート歪み最適化を提供する予測モードを選択するか、または関連するレート歪みが少なくとも予測モード選択基準を満たす予測モードを選択するように構成され得る。
符号化器20の一例によって実行される(例えば、予測処理ユニット260を使用した)予測処理および(例えば、モード選択ユニット262を使用した)モード選択が、以下で詳細に説明される。
上述したように、符号化器20は、(所定の)予測モードセットの中から最善または最適な予測モードを決定または選択するように構成される。予測モードセットは、例えば、イントラ予測モードおよび/またはインター予測モードを含み得る。
イントラ予測モードセットは、35の異なるイントラ予測モードを含み得るか、または67の異なるイントラ予測モードを含み得るか、または開発中のH.266で定義されたイントラ予測モードを含み得る。
インター予測モードセットは、利用可能な参照ピクチャ(例えば、DBP230に記憶された復号されたピクチャの少なくとも一部)およびその他のインター予測パラメータに依存し、例えば、参照ピクチャ全体が使用されるか、それとも参照ピクチャの一部だけが使用されるか、例えば、現在のブロックの領域を囲む探索ウィンドウ領域が最適な一致の参照ブロックを求めて探索されるかに依存し、かつ/または半ピクセルおよび/または1/4ピクセル補間などのピクセル補間が適用されるかどうかに依存する。
前述の予測モードに加えて、スキップモードおよび/またはダイレクトモードも適用され得る。
予測処理ユニット260は、例えば、四分木(quad-tree、QT)区分、二分木(binary-tree、BT)区分、三分木(triple-tree、TT)区分、またはそれらの任意の組み合わせを反復的に使用して、ブロック203をより小さいブロック区分またはサブブロックに区分し、ブロック区分またはサブブロックの各々に対して予測を実行するようにさらに構成され得る。モード選択は、区分されるブロック203の木構造を選択することおよびブロック区分またはサブブロックの各々に適用される予測モードを選択することを含む。
インター予測ユニット244は、動き推定(motion estimation, ME)ユニット(図2には示されていない)および動き補償(motion compensation, MC)ユニット(図2には示されていない)を含み得る。動き推定ユニットは、動き推定を実行するために、ピクチャブロック203(現在のピクチャ201の現在のピクチャブロック203)および復号されたピクチャ231、または少なくとも1つまたは複数の再構築されたブロック、例えば、前の復号されたピクチャ231とは異なる1つまたは複数の他の再構築されたブロックを受信するかまたは取得するように構成される。例えば、ビデオシーケンスは、現在のピクチャおよび前の復号されたピクチャ31を含み得る。言い換えると、現在のピクチャおよび前の復号されたピクチャ31は、ビデオシーケンスを形成する、またはピクチャシーケンスを形成するピクチャシーケンスの一部であり得る。
例えば、符号化器20は、複数の他のピクチャ内の同じピクチャまたは異なるピクチャの複数の参照ブロックの中から参照ブロックを選択し、参照ピクチャ(もしくは参照ピクチャインデックス)および/または参照ブロックの位置(X、Y座標)と現在のブロックの位置との間のオフセット(空間的オフセット)をインター予測パラメータとして動き推定ユニット(図2には示されていない)に提供する、ように構成され得る。このオフセットは、動きベクトル(motion vector, MV)とも呼ばれる。
動き補償ユニットは、インター予測パラメータを取得し、例えば、受信し、インター予測パラメータに基づいて、またはインター予測パラメータを使用してインター予測ブロック245を取得することによってインター予測を実行するように構成される。動き補償ユニット(図2には示されていない)によって実行される動き補償は、動き推定(おそらくは、サブピクセル精度で補間を実行すること)によって決定された動き/ブロックベクトルに基づいて予測ブロックをフェッチまたは生成することを含み得る。補間フィルタリングの間に、既知のサンプルから追加サンプルが生成され得、それによってピクチャブロックを符号化するために使用され得る候補予測ブロックの数が潜在的に増加する。現在のピクチャブロックのPUに使用される動きベクトルが受信されると、動き補償ユニット246は、参照ピクチャリストにおいて動きベクトルが指し示す予測ブロックを位置特定し得る。動き補償ユニット246は、ブロックおよびビデオスライスと関連付けられた構文要素をさらに生成し得るので、ビデオ復号器30は、ビデオスライスのピクチャブロックを復号するときに構文要素を使用する。
インター予測は、動き補償(motion compensation)に基づく技術であり、現在ブロックの動き情報を決定し、動き情報に基づいて参照フレームから参照ピクチャブロックを取得し、現在のブロックの予測ピクチャを生成するものとして主に処理される。動き情報は、インター予測方向、参照フレームインデックス(reference index, ref_idx)、動きベクトル(motion vector, MV)などを含む。インター予測の間に、インター予測方向は、現在のブロックに使用される順方向予測、逆方向予測、または双方向予測の予測方向を示すために使用され、参照フレームインデックス(reference index)は、参照フレーム(reference frame)を示すために使用され、動きベクトルは、現在のフレーム内の現在のブロックに対する参照フレーム内の現在のブロック(current block)の参照ブロック(reference block)の位置オフセットを示すために使用される。動きベクトルは、現在のブロックに対する現在のブロックを予測するために使用される参照フレーム内の参照ピクチャブロックの変位ベクトルを示す。したがって、1つの動きベクトルが1つの参照ピクチャブロックに対応する。
イントラ予測ユニット254は、イントラ推定を実行するために、同じピクチャのピクチャブロック203(現在のピクチャブロック)および再構築された近隣のブロックなどの1つまたは複数の前の再構築されたブロックを取得する、例えば、受信するように構成される。例えば、符号化器20は、複数のイントラ予測モードの中からイントラ予測モードを選択するように構成され得る。
符号化器20の実施形態は、最適化基準に基づいて、例えば、最小残差(例えば、現在のピクチャブロック203に最も類似した予測ブロック255を提供するイントラ予測モード)または最小レート歪みに基づいてイントラ予測モードを選択するように構成され得る。
イントラ予測ユニット254は、選択されたイントラ予測モードのイントラ予測パラメータに基づいてイントラ予測ブロック255を決定するようにさらに構成される。いずれの場合も、ブロックに使用されるイントラ予測モードを選択した後、イントラ予測ユニット254は、イントラ予測パラメータをエントロピー符号化ユニット270に提供する、すなわち、ブロックに使用される選択されたイントラ予測モードを示す情報を提供するようにさらに構成される。一例では、イントラ予測ユニット254は、以下のイントラ予測技術の任意の組み合わせを実行するように構成され得る。
エントロピー符号化ユニット270は、例えば、符号化されたビットストリーム21の形で、出力272を使用して出力することができる符号化されたピクチャデータ21を取得するために、エントロピー符号化アルゴリズムまたは方式(例えば、可変長符号化(variable length coding, VLC)方式、コンテキスト適応型VLC(context adaptive VLC, CAVLC)方式、算術符号化方式、コンテキスト適応型バイナリ算術符号化(context adaptive binary arithmetic coding, CABAC)方式、構文ベースのコンテキスト適応型バイナリ算術符号化(syntax-based context-adaptive binary arithmetic coding, SBAC)方式、確率区間区分エントロピー(probability interval partitioning entropy, PIPE)符号化方式、または別のエントロピー符号化方法もしくは技術)を、量子化された残差係数209、インター予測パラメータ、イントラ予測パラメータ、および/またはループフィルタパラメータのうちの1つまたは複数に適用する(またはそのいずれにも適用しない)ように構成される。符号化されたビットストリームは、ビデオ復号器30に送信され得るか、または後の送信またはビデオ復号器30による取得のためにアーカイブされ得る。エントロピー符号化ユニット270は、符号化されている現在のビデオスライスの別の構文要素に対してエントロピー符号化を実行するようにさらに構成され得る。
ビデオ符号化器20の別の構造的変形は、ビデオストリームを符号化するように構成され得る。例えば、非変換ベースの符号化器20は、一部のブロックまたはフレームについて変換処理ユニット206なしで残差信号を直接量子化し得る。別の実施態様では、符号化器20は、1つのユニットに組み合わされた量子化ユニット208および逆量子化ユニット210を有し得る。
図3に、本出願の技術を実装するように構成された、ビデオ復号器30の例を示す。ビデオ復号器30は、復号されたピクチャ231を取得するために、符号化器20などによって符号化された符号化されたピクチャデータ(例えば、符号化されたビットストリーム)21を受信するように構成される。復号プロセスにおいて、ビデオ復号器30は、ビデオ符号化器20からビデオデータ、例えば、符号化されたビデオスライスのピクチャブロックおよび関連付けられた構文要素を示す符号化されたビデオビットストリームを受信する。
図3の例では、復号器30は、エントロピー復号ユニット304、逆量子化ユニット310、逆変換処理ユニット312、再構築ユニット314(例えば、加算器314)、バッファ316、ループフィルタ320、復号されたピクチャバッファ330、および予測処理ユニット360を含む。予測処理ユニット360は、インター予測ユニット344、イントラ予測ユニット354、およびモード選択ユニット362を含み得る。いくつかの例では、ビデオ復号器30は、図2のビデオ符号化器20を参照して説明された符号化トラバースと概ね逆の復号トラバースを実行し得る。
エントロピー復号ユニット304は、量子化された係数309、復号コード化パラメータ(図3には示されていない)など、例えば、インター予測パラメータ、イントラ予測パラメータ、ループフィルタパラメータ、および/または別の構文要素(復号された)のうちのいずれか1つまたは全部を取得するために、符号化されたピクチャデータ21に対してエントロピー復号を実行するように構成される。エントロピー復号ユニット304は、インター予測パラメータ、イントラ予測パラメータ、および/または別の構文要素を予測処理ユニット360に転送するようにさらに構成される。ビデオ復号器30は、ビデオスライスレベルの構文要素および/またはビデオブロックレベルの構文要素を受信し得る。
逆量子化ユニット310は、逆量子化ユニット110と同じ機能を有し得、逆変換処理ユニット312は、逆変換処理ユニット212と同じ機能を有し得、再構築ユニット314は、再構築ユニット214と同じ機能を有し得、バッファ316は、バッファ216と同じ機能を有し得、ループフィルタ320は、ループフィルタ220と同じ機能を有し得、復号されたピクチャバッファ330は、復号されたピクチャバッファ230と同じ機能を有し得る。
予測処理ユニット360は、インター予測ユニット344およびイントラ予測ユニット354を含み得る。インター予測ユニット344は、インター予測ユニット244の機能と同様の機能を有し得、イントラ予測ユニット354はイントラ予測ユニット254の機能と同様の機能を有し得る。予測処理ユニット360は、通常、ブロック予測を実行し、かつ/または符号化されたデータ21から予測ブロック365を取得し、例えば、エントロピー復号ユニット304から、予測関連パラメータおよび/または選択された予測モードに関する情報を受信するかまたは(明示的もしくは暗黙的に)取得するように構成される。
ビデオスライスがイントラ符号化(I)スライスとして符号化されると、予測処理ユニット360のイントラ予測ユニット354は、シグナリングされたイントラ予測モードおよび現在のフレームまたはピクチャの前の復号ブロックからのデータに基づいて現在のビデオスライスのピクチャブロックに使用される予測ブロック365を生成するように構成される。ビデオフレームがインターコード化(すなわち、BまたはP)スライスとして符号化されると、予測処理ユニット360のインター予測ユニット344(例えば、動き補償ユニット)は、動きベクトルおよびエントロピー復号ユニット304から受信された別の構文要素に基づいて現在のビデオスライスのビデオブロックに使用される予測ブロック365を生成するように構成される。インター予測では、予測ブロックは、1つの参照ピクチャリスト内の参照ピクチャのうちの1つから生成され得る。ビデオ復号器30は、参照フレームリスト、リスト0およびリスト1を、DPB330に記憶された参照ピクチャに基づいてデフォルトの構築技術を使用して構築し得る。
予測処理ユニット360は、現在のビデオスライスのビデオブロックに使用される予測情報を、動きベクトルおよび別の構文要素を解析することによって決定し、予測情報を使用して、復号されている現在のビデオブロックに使用される予測ブロックを生成する、ように構成される。例えば、予測処理ユニット360は、現在のビデオスライスのビデオブロックを復号するために、いくつかの受信された構文要素を使用して、ビデオスライスのビデオブロックを符号化するために使用される予測モード(例えば、イントラ予測やインター予測)、インター予測スライスタイプ(例えば、Bスライスや、Pスライスや、GPBスライス)、スライスに使用される参照ピクチャリスト内のピクチャのうちの1つまたは複数の構築情報、スライスに使用される各インター符号化ビデオブロックの動きベクトル、スライスに使用される各インター符号化ビデオブロックのインター予測状態、およびその他の情報を決定する。
逆量子化ユニット310は、ビットストリームで提供され、エントロピー復号ユニット304によって復号された量子化された変換係数に対して逆量子化(すなわち、量子化解除)を実行するように構成され得る。逆量子化プロセスは、ビデオスライス内のビデオブロックごとにビデオ符号化器20によって計算された量子化パラメータを使用して、適用されるべき量子化の程度を決定し、適用されるべき逆量子化の程度を決定すること、を含み得る。
逆変換処理ユニット312は、サンプル領域の残差ブロックを生成するために、変換係数に逆変換(例えば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセス)を適用するように構成される。
再構築ユニット314(例えば、加算器314)は、例えば、再構築された残差ブロック313のサンプル値を予測ブロック365のサンプル値に加算することによって、サンプル領域の再構築されたブロック315を取得するために、予測ブロック365に逆変換ブロック313(すなわち、再構築された残差ブロック313)を付加するように構成される。
ループフィルタユニット320(符号化ループ内または符号化ループ後の)は、ピクセル変換をスムーズに実行するか、またはビデオ品質を改善するために、再構築されたブロック315をフィルタリングしてフィルタリングされたブロック321を取得するように構成される。一例では、ループフィルタユニット320は、以下のフィルタリング技術の任意の組み合わせを実行するように構成され得る。ループフィルタユニット320は、1つまたは複数のループフィルタ、例えば、ブロック解除フィルタ、サンプル適応オフセット(sample-adaptive offset, SAO)フィルタ、またはバイラテラルフィルタ、適応ループフィルタ(adaptive loop filter, ALF)、鮮明化もしくは平滑化フィルタ、または協調フィルタなどの別のフィルタを表すことが意図されている。ループフィルタユニット320は図3においてループ内フィルタとして示されているが、ループフィルタユニット320は、他の構成ではループ後フィルタとして実装され得る。
所与のフレームまたはピクチャ内の復号されたビデオブロック321は、次いで、後続の動き補償に使用される参照ピクチャを記憶する復号されたピクチャバッファ330に記憶される。
復号器30は、復号されたピクチャ31をユーザに提示するか、またはユーザが見るための復号されたピクチャ31を提供するために、出力332などを使用して復号されたピクチャ31を出力するように構成される。
ビデオ復号器30の別の変形は、圧縮ビットストリームを復号するように構成され得る。例えば、復号器30は、ループフィルタユニット320なしで出力ビデオストリームを生成し得る。例えば、非変換ベースの復号器30は、一部のブロックまたはフレームについて逆変換処理ユニット312なしで残差信号を直接量子化解除し得る。別の実施態様では、ビデオ復号器30は、1つのユニットに組み合わされた逆量子化ユニット310および逆変換処理ユニット312を有し得る。
図4は、本発明の一実施形態によるビデオコード化デバイス400(例えば、ビデオ符号化デバイス400やビデオ復号デバイス400)の概略構造図である。ビデオコード化デバイス400は、本明細書に記載される実施形態を実現するのに適する。一実施形態では、ビデオコード化デバイス400は、ビデオ復号器(例えば、図1Aのビデオ復号器30)またはビデオ符号化器(例えば、図1Aのビデオ符号化器20)であり得る。別の実施形態では、ビデオコード化デバイス400は、図1Aのビデオ復号器30または図1Aのビデオ符号化器20の1つまたは複数の構成要素であり得る。
ビデオコード化デバイス400は、データを受信するように構成された入口ポート410および受信装置(Rx)420と、データを処理するように構成されたプロセッサ、論理ユニット、または中央処理装置(CPU)430と、データを送信するように構成された送信装置(Tx)440および出口ポート450と、データを記憶するように構成されるメモリ460と、を含む。ビデオコード化デバイス400は、光信号または電気信号の出口または入口として機能するための、入口ポート410、受信装置420、送信装置440、および出口ポート450に結合された光/電気変換構成要素および電気/光(EO)変換構成要素をさらに含み得る。
プロセッサ430は、ハードウェアまたはソフトウェアを使用して実装される。プロセッサ430は、1つまたは複数のCPUチップ、コア(例えば、マルチコアプロセッサ)、FPGA、ASIC、またはDSPとして実装され得る。プロセッサ430は、入口ポート410、受信装置420、送信装置440、出口ポート450、およびメモリ460と通信する。プロセッサ430は、コード化モジュール470(例えば、符号化モジュール470や復号モジュール470)を含む。符号化/復号モジュール470は、前述の実施形態を実現する。例えば、符号化/復号モジュール470は、様々なコード化演算を実行し、処理し、または提供する。したがって、符号化/復号モジュール470は、ビデオコード化デバイス400の機能を実質的に拡張し、ビデオコード化デバイス400の様々な状態への変換に影響を与える。あるいは、符号化/復号モジュール470は、メモリ460に記憶された命令を使用して実現され、プロセッサ430によって実行される。
メモリ460は、1つまたは複数のディスク、テープドライブ、およびソリッドステートドライブを含み、オーバフローデータ記憶デバイスとして使用され得、プログラムが選択的に実行される場合にこれらのプログラムを記憶し、プログラム実行中に読み取られる命令およびデータを記憶するように構成される。メモリ460は、揮発性および/または不揮発性であり得、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、3値コンテントアドレッサブルメモリ(ternary content-addressable memory, TCAM)、および/またはスタティック・ランダム・アクセス・メモリ(SRAM)であり得る。
図5は、例示的な実施形態による、図1Aのソースデバイス12および宛先デバイス14のうちの任意の1つまたは2つとして使用することができる装置500の簡略化されたブロック図である。装置500は、本出願の技術を実現し得る。装置500は、複数のコンピューティングデバイスを含むコンピューティングシステムの形を使用し得るか、または携帯電話、タブレットコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、デスクトップコンピュータなどの単一のコンピューティングデバイスの形を使用し得る。
装置500内のプロセッサ502は、中央処理装置であり得る。あるいは、プロセッサ502は、情報を制御または処理することができる任意の他のタイプの既存または将来の1つまたは複数のデバイスであってもよい。図に示されるように、開示の実施態様は、プロセッサ502などの単一のプロセッサを使用して実現され得るが、少なくとも1つのプロセッサを使用することにより速度および効率における利益が達成され得る。
一実施態様において、装置500内のメモリ504は、読取り専用メモリ(Read Only Memory, ROM)デバイスまたはランダムアクセスメモリ(random access memory, RAM)デバイスであり得る。任意の他の適切なタイプの記憶デバイスがメモリ504として使用され得る。メモリ504は、プロセッサ502によってバス512を使用してアクセスされるコードおよびデータ506を含み得る。メモリ504は、オペレーティングシステム508およびアプリケーションプログラム510をさらに含み得る。アプリケーションプログラム510は、プロセッサ502が本明細書に記載される方法を実行することを可能にする少なくとも1つのプログラムを含む。例えば、アプリケーションプログラム510は、アプリケーション1からアプリケーションNを含み得、アプリケーション1からアプリケーションNは、本明細書に記載される方法を実行するためのビデオ符号化アプリケーションをさらに含む。装置500は、2次メモリ514の形の追加メモリをさらに含み得る。2次メモリ514は、例えば、モバイルコンピューティングデバイスと併用されるメモリカードであり得る。ビデオ通信セッションは大量の情報を含み得るので、情報は、2次メモリ514に完全に、または部分的に記憶され、必要に応じて処理のためにメモリ504にロードされ得る。
装置500は、1つまたは複数の出力デバイス、例えば、ディスプレイ518をさらに含み得る。一例では、ディスプレイ518は、ディスプレイを、タッチ入力を感知するように動作させることができるタッチセンシティブ要素と組み合わせたタッチセンシティブディスプレイであり得る。ディスプレイ518は、バス512を使用してプロセッサ502に結合され得る。ディスプレイ518に加えて、ユーザが装置500をプログラムするか、または装置500を別の方法で使用することを可能にする別の出力デバイスがさらに提供されてもよく、またはディスプレイ518の代替として別の出力デバイスが設けられてもよい。出力デバイスがディスプレイであるか、またはディスプレイを含む場合、ディスプレイは、例えば、液晶ディスプレイ(liquid crystal display, LCD)、陰極線管(cathode-ray tube, CRT)ディスプレイ、プラズマディスプレイ、または有機LED(organic LED, OLED)ディスプレイなどの発光ダイオード(light emitting diode, LED)ディスプレイを使用して異なる方法で実現され得る。
装置500は、ピクチャ感知デバイス520をさらに含み得るか、またはピクチャ感知デバイス520に接続され得る。ピクチャ感知デバイス520は、例えば、カメラや、ピクチャを感知できる任意の他の既存または将来のピクチャ感知デバイス520である。ピクチャは、例えば、装置500を動作させるユーザのピクチャである。ピクチャ感知デバイス520は、装置500を動作させるユーザに直接面して配置され得る。一例では、ピクチャ感知デバイス520の位置および光軸が、ピクチャ感知デバイス520の視野がディスプレイ518に隣接する領域を含み、ディスプレイ518がその領域から見られることができるように、構成され得る。
装置500は、音感知デバイス522をさらに含み得るか、または音感知デバイス522に接続され得る。音感知デバイス522は、例えば、マイクロフォンまたは装置500の付近の音を感知できる任意の他の既存または将来の音感知デバイスである。音感知デバイス522は、装置500を動作させるユーザに直接面するように配置され得、音声やユーザが装置500を動作させるときにユーザによって作り出される別の音などの音を受信するように構成され得る。
装置500のプロセッサ502およびメモリ504は図5に示されるように1つのユニットに統合されているが、他の構成が使用されることもできる。プロセッサ502の動作は、直接結合され得る(各マシンが1つもしくは複数のプロセッサを有する)複数のマシンに分散され得るか、またはローカル領域もしくは別のネットワークで分散され得る。メモリ504は、ネットワークベースのメモリおよび装置500を動作させる複数のマシン内のメモリなどの複数のマシンにおいて分散され得る。ここでは単一のバスが描かれているが、装置500の複数のバス512があり得る。さらに、2次メモリ514は、装置500のその他の構成要素に直接結合され得るか、またはネットワークを介してアクセスされ得、メモリカードなどの単一の統合されたユニット、または複数のメモリカードなどの複数のユニットを含み得る。したがって、装置500は、複数の構成として実現され得る。
ビットストリームにおいて、動き情報は大量のデータを占有する。必要なデータ量を削減するために、動き情報は、通常、予測によって送信される。一般には、2つのタイプのモード、interおよびmergeがある。
Inter動きベクトル予測子(motion vector predictor, MVP)モード:送信される動き情報は、インター予測方向(順方向、逆方向、または双方向)、参照フレームインデックス、動きベクトル予測子インデックス、および動きベクトル差、を含む。動き情報内の動きベクトル情報については、実際の動きベクトルと動きベクトル予測子(motion vector predictor, MVP)との差を送信する方法が、通常、使用される。符号化器は、復号器にMVPと実際の動きベクトルとの動きベクトル差(motion vector difference, MVD)を送信する。複数の動きベクトル予測子があり得る。一般には、動きベクトル予測子候補リスト(mvp candidate list)が、符号化器と復号器とで同じ方法で構築され、動きベクトル予測子インデックス(motion vector predictor index, MVP index)が復号器に送信される。
Mergeモード:マージ動き情報候補リスト(merge candidate list)が、符号化器と復号器とで同じ方法で構築され、インデックスが復号器に送信される。マージインデックス(merge index)がビットストリームで送信される。動き情報候補リスト(candidate list)内の動き情報は、通常、空間的に隣接するブロックまたは参照フレーム内の時間的ブロックから取得される。現在のブロックに隣接するピクチャブロックの動き情報から取得される候補動き情報は空間的候補(spatial candidate)と呼ばれ、参照ピクチャ内の現在のブロックの対応する位置のピクチャブロックの動き情報は、時間的候補(temporal candidate)と呼ばれる。現在のブロックの空間的候補および時間的候補が図6に示されている。
イントラ(intra)予測モードでは、方向性インター予測(directional interpolation)方法が、通常、使用され、補間方向がビットストリームで送信され、現在のコード化ブロックの予測ピクセルが、復号器で、補間方向情報および空間的に隣接する符号化ピクセルを使用して取得される。異なる予測モードが図7に示されている。
三角形予測単位モード(triangular prediction unit mode)
三角形予測単位モード(triangular prediction unit mode)は、元のHEVCまたはVVC VTMにおけるインター符号化に基づいてコード化ブロックを対角線に沿って2つの三角形のコード化ブロックに分割するものである。各三角形のコード化ブロックは、別々の動き情報を使用する。対角分割は、図8に示されるように、対角(diagonal)分割または逆対角(inverse diagonal)分割であり得る。現在のコード化ブロックの左上隅から右下隅へ分割するのが対角分割であり、現在のコード化ブロックの右上隅から左下隅へ分割するのが逆対角分割である。逆対角分割は、反対角分割とも呼ばれ得る。三角形予測単位モードは、動き補償予測においてのみ使用され、変換および量子化プロセスで2つの三角形を組み合わせることによって取得されたコード化ブロック全体に対して実行される。三角形予測単位モードは、そのブロックサイズが8×8以上であり、その符号化モードがmergeまたはskipモードであるコード化ブロックに使用され得る。
三角形予測単位モードを使用できるコード化ブロックでは、三角形予測単位モードが使用されるかどうかを示すために、識別子merge_triangle_flagがCUレベルで送信される。三角形予測単位モードが現在のコード化ブロック/CUに使用される場合、CUが2つの三角形予測単位に分割される方向および2つの三角形予測単位の動き情報を示すために、シーケンス番号merge_triangle_idxが送信される。例えば、2つの三角形予測単位の方向および2つの三角形予測単位の動き情報インデックスは、ルックアップテーブルを使用してカプセル化され得、対応する情報が、merge_triangle_idxを使用してルックアップテーブルから決定される。次いで、各三角形予測単位は、動き情報インデックスに基づいて単方向動き情報候補リスト(uni-prediction candidate list)から単方向予測情報(uni-prediction candidate)を取得する。
重み付けピクセル予測プロセス(Weighted sample prediction process)では、分割方向および分割方向から取得された重み付けモード(weighting set, WS)に従って適応重み付けプロセスが実行される。
組み合わされたイントラおよびインター予測モードにおける符号化および復号
マージ(merge)モードが使用されるコード化ブロック/CUでは、イントラ予測が使用されるかどうかを示すために識別子mh_intra_flagが送信される。イントラ予測が使用される場合、イントラ符号化モード関連の構文要素mh_intra_luma_mpm_flagおよびmh_intra_luma_mpm_idxに基づいてイントラ候補モードリスト(intra candidate list)の中から選択されたイントラ予測モードに基づいて、イントラ予測ブロックが生成される。ルマブロックでは、イントラ候補モードリストは、4つのモード、DCモード、PLANARモード、水平horizontalモード、および垂直verticalモードを含み得る。イントラ候補モードリストのサイズは、現在のコード化ブロックの形状に基づいて選択され、イントラ候補モードリストは、3つまたは4つのモードを含み得る。現在のコード化ブロック/CUの幅が現在のコード化ブロック/CUの高さの2倍である場合、イントラ候補モードリストは水平モードを含まない。現在のコード化ブロック/CUの高さが現在のコード化ブロック/CUの幅の2倍である場合、イントラ候補モードリストは垂直モードを含まない。組み合わされたイントラおよびインター予測モードが使用される場合、イントラ予測モードインデックスに基づいて取得されたイントラ予測とマージインデックス(merge index)に基づいて取得されたインター予測とが、重み付け平均化によって組み合わされる。クロマ成分では、DMモードのみが使用される。
組み合わされたイントラおよびインター予測モードの重み付け方法では、異なる重み付け係数が異なるイントラ予測モードに使用される。DCモードおよびplanarモードが使用される場合にはイントラ予測に同じ重み付け係数が使用され、または現在のコード化ブロックの長さもしくは幅が4以下である場合には同じ重み付け係数が使用される。水平モードおよび垂直モードが使用される場合には、イントラ予測に可変の重み付け係数が使用される。
組み合わされたイントラおよびインター予測モードの多重仮説(multi-hypothesis、MH)符号化方法では、マージ(merge)モードが使用されるコード化ブロック/CUで、イントラ予測が使用されるかどうか、または現在のコード化ブロックの周りの空間的に隣接するピクセルが使用されるかどうかを示すために、識別子が送信される。イントラ予測が使用される場合、イントラ予測モードを使用してイントラ予測ブロックが生成される。ルマブロックでは、イントラ候補モードがPLANARモードに設定される。最終的な予測ブロックが、適応的重み付けによって予測ブロックに対してイントラ予測とインター予測の組み合わせを実行することによって生成される。
マージ三角形予測単位モードと、組み合わされたイントラおよびインター予測モードの多重仮説符号化方法の両方が動き補償プロセスを含む。本発明の実施形態で提供される方法および装置は、2つの異なる予測方法、すなわち、三角形予測単位モードと、組み合わされたイントラおよびインター予測モードの多重仮説符号化方法とが組み合わされることができ、それによって、符号化および復号の複雑さを低減し、符号化および復号の性能および効率を改善する。本発明の実施形態で提供される方法によれば、符号化器での処理は復号器での処理と同様である。以下では、詳細な説明の例として実施形態1から実施形態5を使用する。実施形態1から実施形態5は、図1Aから図5の装置またはシステムによって実行され得る。
実施形態1
復号処理が、ピクチャ内の少なくとも1つのピクチャブロックに対して、そのピクチャブロックの再構築されたピクチャを取得するために実行される。図9に表されるように、前述の復号処理は、ステップ902からステップ914を含む。復号処理が実行されているブロックは現在のブロックと呼ばれる。
この実施形態では、組み合わされたイントラおよびインター予測モードの識別子はmh_intra_flagであり、三角形予測単位モードの識別子はmerge_triangle_flagである。
ステップ902:ビットストリームを受信する。
ステップ904:ビットストリームを解析して現在のブロックの予測モードを取得する。
ビットストリームがmh_intra_flagを含み、かつmh_intra_flagが真であるならば、現在のブロックの予測モードは組み合わされたイントラおよびインター予測モードであり、ステップ906が実行される。
ステップ906:現在のブロックの予測モードが組み合わされたイントラおよびインター予測モードであるとき、事前設定されたポリシーに従って三角形予測単位モードの実行モードを選択する。具体的には、以下の実施態様が含まれる。
実施態様1:組み合わされたイントラおよびインター予測モードが使用されるとき、三角形予測単位モードは使用されない。
intrainter_flag();
If(intrainter_flag == 0)Tri_flag();
If(intrainter_flag())intra_mode()存在しないか、またはその位置が制限されない
If(Tri_flag())triangle_idx()位置が制限されないことを示す
実施態様2:組み合わされたイントラおよびインター予測モードが使用されるとき、イントラ予測モードがDCまたはPLANARモードであるならば、三角形予測単位モードは使用されず、そうでないならば、三角形予測単位モードが使用される。
intrainter_flag();
If(intrainter_flag())intra_mode()
If((intrainter_flag == 0)
||((intrainter_flag == 1) && (intra_mode != DC) && (intra_mode != PLANAR)))
Tri_flag();
If(Tri_flag())triangle_idx()
実施態様3:組み合わされたイントラおよびインター予測モードが使用されるとき、イントラ予測モードがDCまたはPLANARモードであるならば、反対角分割のみが三角形予測単位モードにおいて使用され、そうでないならば、対角分割および反対角分割が三角形予測単位モードで使用される。
ステップ908:三角形予測単位モードの実行モードに従って現在のブロックの動き情報を決定する。
ステップ910:動き情報に基づいて動き補償プロセスを実行してインター予測サンプルを取得する。
ステップ908とステップ910とは、三角形予測単位モードの実行モードに従って動き補償プロセスを決定し、インター予測サンプルを取得するために組み合わされ得る。その場合、以下の方法1および方法2がある。
方法1:三角形予測単位モードが実行されるならば、動き補償プロセスが三角形予測単位モードに従って実行される。例えば、三角形予測単位モードインデックス(merge_triangle_idx)を取得するためにビットストリームが解析され得、三角形予測単位モードの分割方向(TriangleDir)がmerge_triangle_idxに基づいて取得される。具体的には、単方向動き情報候補リスト(uni-prediction candidate list)が生成され得、現在のブロックの動き情報が、三角形予測単位モードインデックスに基づいて単方向動き情報候補リストから決定される。
方法2:三角形予測単位モードが実行されないならば、動き補償プロセスがマージモードに従って実行される。具体的には、マージ動き情報候補リストが生成され得、次いで現在のブロックの動き情報が、ビットストリーム内で搬送されたマージインデックスに基づいて決定される。
ステップ912:現在のブロックの予測モードに従ってイントラ予測サンプルを取得する。
具体的には、イントラ予測モード関連の構文を取得するためにビットストリームが解析されてもよく、イントラ予測モードが、構文に基づいてイントラ候補モードリスト(intra candidate list)から選択される。例えば、イントラ符号化モードの構文は、最も見込みがあるモード識別子mh_intra_luma_mpm_flagおよび最も見込みがあるモードインデックスmh_intra_luma_mpm_idxを含む。
ステップ914:インター予測サンプルとイントラ予測サンプルとを組み合わせて現在のブロックの予測ピクチャを取得する。
ステップ906からステップ910およびステップ912は特定の順序に従わない。
詳細については、以下の実施形態3から実施形態5の説明を参照されたい。
実施形態2
復号処理が、ピクチャ内の少なくとも1つのピクチャブロックに対して、そのピクチャブロックの再構築されたピクチャを取得するために実行される。図10に示されるように、前述の復号処理は、ステップ1002からステップ1010を含む。復号処理が実行されているブロックは現在のブロックと呼ばれる。
この実施形態では、組み合わされたイントラおよびインター予測モードの識別子はmh_intra_flagであり、三角形予測単位モードの識別子はmerge_triangle_flagである。
ステップ1002:ビットストリームを受信する。
ステップ1004:ビットストリームを解析して現在のブロックの三角形予測単位モードを取得する。
ビットストリームがmerge_triangle_idxを含み、merge_triangle_idxが真である場合、三角形予測単位モードが現在のブロックに使用され、ステップ1006が実行される。
ステップ1006:三角形予測単位モードが現在のブロックに使用される場合、第1の事前設定されたポリシーに従って組み合わされたイントラおよびインター予測モードの実行モードを選択する。具体的には、以下の実施態様が含まれる。
実施態様1:三角形予測単位モードが使用される場合、組み合わされたイントラおよびインター予測モードは使用されない。
Tri_flag()
If(tri_flag == 0)intrainter_flag();
If(intrainter_flag())intra_mode()存在しないか、またはその位置が制限されない
If(Tri_flag())triangle_idx()位置が制限されないことを示す
実施態様2:三角形予測単位モードが使用されるとき、三角形が対角線に沿って分割される場合、組み合わされたイントラおよびインター予測モードは使用されない。
Tri_flag()
If(Tri_flag())triangle_idx()
TriangleDir = getTriangleDir(triangle_idx);
If((tri_flag == 0)
||((tri_flag == 1) && (TriangleDir == inverse diagonal)))
intrainter_flag();
If(intrainter_flag())intra_mode()
実施態様3:三角形予測単位モードが使用されるとき、三角形が対角線に沿って分割される場合、組み合わされたイントラおよびインター予測モードが使用されるときに水平予測モードのみが使用される。
ステップ1008:三角形予測単位モードに従って現在のブロックの動き情報を取得してインター予測サンプルを取得する。
例えば、三角形予測単位モードインデックスmerge_triangle_idxを取得するためにビットストリームが解析され得、三角形予測単位モードの分割方向TriangleDirが、merge_triangle_idxに基づいてルックアップテーブルから取得される。
次いで、単方向動き情報候補リスト(uni-prediction candidate list)が生成され、現在のブロックの動き情報が、三角形予測単位モードインデックスに基づいて単方向動き情報候補リストから決定される。
ステップ1010:組み合わされたイントラおよびインター予測モードの実行モードおよびインター予測サンプルに従って現在のブロックの予測ピクチャを取得する。
具体的には、組み合わされたイントラおよびインター予測モードが第1の事前設定されたポリシーに従って実行される場合、組み合わされたイントラおよびインター予測モードに従ってイントラ予測サンプルが取得され、インター予測サンプルとイントラ予測サンプルとが組み合わされて現在のブロックの予測ピクチャを取得する。
あるいは、組み合わされたイントラおよびインター予測モードが第1の事前設定されたポリシーに従って実行されない場合、現在のブロックの予測ピクチャがインター予測サンプルに従って取得される。
ステップ1006およびステップ1008は特定の順序に従わない。
詳細については、以下の実施形態3から実施形態5の説明を参照されたい。
実施形態3
実施形態3では、復号処理が、ピクチャ内の少なくとも1つのピクチャブロックに対して、そのピクチャブロックの再構築されたピクチャを取得するために実行される。前述の復号処理は、ステップ1101からステップ1106を含む。復号処理が実行されているブロックは現在のブロックと呼ばれる。
ステップ1101:三角形予測単位モードの識別子、組み合わされたイントラおよびインター予測モードの識別子、およびモード関連の構文要素を取得するために現在のブロックのインター予測モードを解析する。
現在のコード化ブロック/CUがマージモードである場合、三角形予測単位モードの識別子merge_triangle_flagおよび組み合わされたイントラおよびインター予測モードの識別子mh_intra_flagの結合解析方法は、以下の方法のうちの1つを含む。
方法1:現在のコード化ブロック/CUが、三角形予測単位モードの識別子merge_triangle_flagの別個の制約条件を満たし、merge_triangle_flagの送信が許容される場合、merge_triangle_flagが解析される。merge_triangle_flagが、三角形予測単位モードが実行されないことを示し、現在のコード化ブロック/CUが、組み合わされたイントラおよびインター予測モードの識別子mh_intra_flagの別個の制約条件を満たし、mh_intra_flagの送信が許容される場合、mh_intra_flagが解析される。制約条件が満たされない場合、mh_intra_flagは解析されず、mh_intra_flagは0である。すなわち、merge_triangle_flagが、三角形予測単位モードが実行されることを示す場合、mh_intra_flagは送信されず、組み合わされたイントラおよびインター予測モードの多重仮説方法は実行されない。
方法2:現在のコード化ブロック/CUが、組み合わされたイントラおよびインター予測モードの識別子mh_intra_flagの別個の制約条件を満たし、mh_intra_flagの送信が許容される場合、mh_intra_flagが解析される。mh_intra_flagが、組み合わされたイントラおよびインター予測モードが実行されないことを示し、現在のコード化ブロック/CUが、三角形予測単位モードの識別子merge_triangle_flagの別個の制約条件を満たし、merge_triangle_flagの送信が許容される場合、merge_triangle_flagが解析される。したがって、現在のブロックの予測モードが組み合わされたイントラおよびインター予測モードではない場合、現在のブロックに三角形予測単位モードが実行される。三角形予測単位モードの制約条件が満たされる場合、三角形予測単位モードの識別子は1である。制約条件が満たされない場合、merge_triangle_flagは解析されず、merge_triangle_flagは0である。すなわち、mh_intra_flagが、組み合わされたイントラおよびインター予測モードが実行されることを示す場合、merge_triangle_flagは送信されず、三角形予測単位モードは実行されない。この場合、三角形予測単位モードの制約条件は事前設定されたポリシーとして理解され得る。現在のブロックの予測モードが組み合わされたイントラおよびインター予測モードである場合、現在のブロックに三角形予測単位モードは実行されない。
merge_triangle_flagが、三角形予測単位モードが実行されることを示す場合、三角形予測単位モードインデックスmerge_triangle_idxを取得するためにビットストリームが解析され、三角形予測単位モードの区分情報および動き情報が、merge_triangle_idxに基づいてルックアップテーブルから取得され得る。加えて、ルックアップテーブル内の各要素は、三角形予測単位モードの区分情報および単方向動き情報候補リストインデックスを含み得る。具体的な実施に際して、merge_triangle_flagが、三角形予測単位モードが実行されることを示す場合、ビットストリームは、三角形予測単位モードの分割方向(TriangleDir)を取得するために解析され得る。
識別子mh_intra_flagは、現在のブロックの予測モードが組み合わされたイントラおよびインター予測モードであるかどうかを示すために使用され得る。mh_intra_flagが、組み合わされたイントラおよびインター予測モードが実行されることを示す場合、ビットストリームが解析されてイントラ符号化モード関連の構文を取得する。イントラ符号化モード関連の構文は、最も見込みがあるモード識別子mh_intra_luma_mpm_flagおよび最も見込みがあるモードインデックスmh_intra_luma_mpm_idxを含み、その場合イントラ符号化モードは、mh_intra_luma_mpm_flagおよびmh_intra_luma_mpm_idxに基づいて抽出される。あるいは、インデックスを送信せずに、PLANARモードなどの固定モードが直接使用され得る。
merge_triangle_idxがmerge_triangle_flagの後に解析される場合には、ビットストリーム内のmerge_triangle_idxの位置は、本発明のこの実施形態では指定されないことに留意されたい。
本発明のこの実施形態では、mh_intra_luma_mpm_flagおよびmh_intra_luma_mpm_idxがmh_intra_flagの後に解析される場合には、ビットストリーム内のmh_intra_luma_mpm_flagおよびmh_intra_luma_mpm_idxの位置は指定されない。
本発明のこの実施形態では、三角形予測単位モードの識別子merge_triangle_flagと組み合わされたイントラおよびインター予測モードの識別子mh_intra_flagとを一緒に使用するための方法のみが使用されることに留意されたい。三角形予測単位モードの識別子merge_triangle_flagまたは組み合わされたイントラおよびインター予測モードの識別子mh_intra_flagのための解析方法は限定されない。例えば、制約は以下であり得る。組み合わされたイントラおよびインター予測モードの識別子mh_intra_flagは、コード化ブロック/CUの幅および高さが8以上、128未満である場合にのみ解析され、そうでないならば、mh_intra_flagは解析されず、mh_intra_flagは、組み合わされたイントラおよびインター予測モードを実行しない、に設定される。三角形予測単位モードの識別子merge_triangle_flagは、コード化ブロック/CUの幅+高さが12より大きい場合にのみ解析され、そうでないならば、merge_triangle_flagは解析されず、merge_triangle_flagは、三角形予測単位モードを実行しない、に設定される、
ステップ1102:三角形予測単位モードの識別子merge_triangle_flagおよび三角形予測単位モードインデックスmerge_triangle_idxに基づいて、三角形予測単位モードの区分情報および動き情報を取得する。
現在のブロックがmerge/skipモードにあり、merge_triangle_flagが0である場合、マージ動き情報候補リストが生成される。次いで、現在のブロックの動き情報が、ビットストリームで搬送されたマージインデックスに基づいて決定される。HEVCまたはVTMの方法が使用され得るか、または動きベクトル予測子候補リストを生成するための別の方法が使用され得る。これは、本発明のこの実施形態では限定されない。
現在のブロックがmerge/skipモードにあり、merge_triangle_flagが1である場合、単方向動き情報候補リスト(uni-prediction candidate list)が生成され、merge_triangle_idxを使用してルックアップテーブルから決定される三角形予測単位モードの区分情報および単方向動き情報候補リストインデックスに基づいて、動き情報が単方向動き情報候補リストから決定される。
現在のブロックがInter MVPモードにある場合、現在のブロックの動き情報は、ビットストリームで伝送されるインター予測方向、参照フレームインデックス、動きベクトル予測子インデックス、および動きベクトル差に基づいて決定される。HEVCまたはVTMの方法が使用され得るか、または動きベクトル予測子候補リストを生成するための別の方法が使用され得る。これは、本発明のこの実施形態では限定されない。
ステップ1103:動き情報に基づいて動き補償プロセスを実行してインター予測サンプル(prediction samples)を取得する。
ステップ1103では、動き補償プロセスおよび重み付け予測プロセスが、現在のブロックの動き情報に基づいて実行されてインター予測サンプルを取得する。
ステップ1104:mh_intra_flagに基づいてイントラ予測サンプルを取得する。
mh_intra_flagが1である場合、以下の方法のうちの1つが特に使用され得る。
方法1:mh_intra_luma_mpm_flagおよびmh_intra_luma_mpm_idxに基づいてイントラ符号化モードを取得し、イントラ予測ブロックを生成するためにイントラ予測モジュールを呼び出す。
方法2:mh_intra_luma_mpm_flagおよびmh_intra_luma_mpm_idxに基づいてイントラ符号化モードを取得し、イントラ予測ブロックを生成するためにイントラ予測モジュールを呼び出し、イントラ予測モジュールは、次の2つのイントラ符号化ツール、境界フィルタリングおよびPDPCを使用しない。
方法3:イントラ符号化モードをplanarモードに設定し、イントラ予測ブロックを生成するためにイントラ予測モジュールを呼び出す。
方法4:イントラ符号化モードをplanarモードに設定し、イントラ予測ブロックを生成するためにイントラ予測モジュールを呼び出し、イントラ予測モジュールは、次の2つのイントラ符号化ツール、境界フィルタリングおよびPDPCを使用しない。
ステップ1105:インター予測サンプルとイントラ予測サンプルとを組み合わせて現在のブロックの最終予測ブロック/予測ピクチャを取得する。
より具体的には、復号器で、適応重み付け方法、固定係数重み付け方法、または均等比率重み付け方法が使用される。
ステップ1106:現在のブロックの再構築されたピクチャを取得するために最終インター予測ピクチャと残差ピクチャを加算する。
具体的には、復号器で、現在のブロックに残差がある場合、現在のブロックの再構築されたピクチャを取得するために残差情報と予測ピクチャとが加算され、または現在のブロックに残差がない場合、予測ピクチャが現在のブロックの再構築されたピクチャである。
ステップ1102およびステップ1103の順序は入れ替えられ得ることに留意されたい。これは、本発明のこの実施形態では限定されない。
実施形態4
実施形態4は、インター符号化およびフィルタリングの方法、ならびにこの方法を使用したピクチャブロックに対する復号処理に関する。実施形態3との主要な違いはステップ1201にある。
ステップ1201:三角形予測単位モードの識別子、組み合わされたイントラおよびインター予測モードの識別子、およびモード関連の構文要素を取得するために現在のブロックのインター予測モードを解析する。
三角形予測単位モードでは、コード化ブロックが対角線に沿って2つの三角形のコード化ブロックに分割される。対角分割は、図3に示されるように、対角(diagonal)分割または逆対角(inverse diagonal)分割であり得る。現在のコード化ブロックの左上隅から右下隅へ分割するのが対角分割であり、現在のコード化ブロックの右上隅から左下隅へ分割するのが反対角分割である。
現在のコード化ブロック/CUがマージモードである場合、三角形予測単位モードの識別子merge_triangle_flagと組み合わされたイントラおよびインター予測モードの識別子mh_intra_flagのための結合解析方法は、主に、三角形予測単位モードの分割情報に基づいて、組み合わされたイントラおよびインター予測モードが実行されるかどうか、および実行モードを制約する。
具体的には、以下の方法のうちの1つが含まれる。
方法1:現在のコード化ブロック/CUが、三角形予測単位モードの識別子merge_triangle_flagの別個の制約条件を満たし、merge_triangle_flagの送信が許容される場合、merge_triangle_flagが解析される。merge_triangle_flagが1である場合、merge_triangle_idxが解析され、三角形予測単位モードの分割方向TriangleDirが、merge_triangle_idxに基づいてルックアップテーブルから取得される。TriangleDirが、三角形予測単位が対角線(diagonal)に沿って分割されることを示す場合、組み合わされたイントラおよびインター予測モードの識別子mh_intra_flagは送信されず、組み合わされたイントラおよびインター予測モードは使用されない。TriangleDirが、三角形予測単位が逆の対角線(inverse diagonal)に沿って分割されることを示す場合、現在のコード化ブロック/CUが、組み合わされたイントラおよびインター予測モードの識別子mh_intra_flagの別個の制約条件を満たし、mh_intra_flagの伝送が許容される場合にmh_intra_flagが解析される。mh_intra_flagが、組み合わされたイントラおよびインター予測モードが実行されることを示す場合、ビットストリームが解析されてイントラ符号化モード関連の構文を取得する。イントラ符号化モード関連の構文は、最も見込みがあるモード識別子mh_intra_luma_mpm_flagおよび最も見込みがあるモードインデックスmh_intra_luma_mpm_idxを含み得る。あるいは、インデックスを送信せずに、PLANARモードなどの固定モードが直接使用され得る。イントラ符号化モードが、mh_intra_luma_mpm_flagおよびmh_intra_luma_mpm_idxに基づいて抽出され得ることに留意されたい。
方法2:現在のコード化ブロック/CUが、三角形予測単位モードの識別子merge_triangle_flagの別個の制約条件を満たし、merge_triangle_flagの送信が許容される場合、merge_triangle_flagが解析される。merge_triangle_flagが1である場合、三角形予測単位モードの分割方向TriangleDirを取得するためにmerge_triangle_idxが解析される。現在のコード化ブロック/CUが、組み合わされたイントラおよびインター予測モードの識別子mh_intra_flagの別個の制約条件を満たし、mh_intra_flagの送信が許容される場合、mh_intra_flagが解析される。mh_intra_flagが1である場合、イントラ符号化モード関連のインデックスが解析され、イントラ予測モードが、イントラ予測モード関連のインデックスに基づいてイントラ候補モードリスト(intra candidate list)の中から選択される。TriangleDirが、三角形予測単位が対角線(diagonal)に沿って分割されることを示す場合、イントラ候補モードリスト(intra candidate list)は、水平および垂直の予測モードのみを含む。TriangleDirが、三角形予測単位が逆の対角線(inverse diagonal)に沿って分割されることを示す場合、イントラ候補モードリスト(intra candidate list)の構造は変更されない。
三角形予測単位モードの区分情報および動き情報が、merge_triangle_idxに基づいてルックアップテーブルから取得され得ることに留意されたい。加えて、ルックアップテーブル内の各要素は、三角形予測単位モードの区分情報および単方向動き情報候補リストインデックスを含み得る。
merge_triangle_idxがmerge_triangle_flagの後に解析される場合には、ビットストリーム内のmerge_triangle_idxの位置は、本発明のこの実施形態では指定されないことに留意されたい。
イントラ予測モード関連のインデックスがmh_intra_flagの後に解析される場合には、ビットストリーム内のイントラ予測モード関連のインデックスの位置は、本発明のこの実施形態では指定されないことに留意されたい。
本発明のこの実施形態では、三角形予測単位モードの識別子merge_triangle_flagと組み合わされたイントラおよびインター予測モードの識別子mh_intra_flagとを一緒に使用するための方法のみが使用されることに留意されたい。三角形予測単位モードの識別子merge_triangle_flagまたは組み合わされたイントラおよびインター予測モードの識別子mh_intra_flagのための解析方法は限定されない。例えば、制約は以下であり得る。組み合わされたイントラおよびインター予測モードの識別子mh_intra_flagは、コード化ブロック/CUの幅および高さが8以上、128未満である場合にのみ解析され、そうでないならば、mh_intra_flagは解析されず、mh_intra_flagは、組み合わされたイントラおよびインター予測モードを実行しない、に設定される。三角形予測単位モードの識別子merge_triangle_flagは、コード化ブロック/CUの幅+高さが12より大きい場合にのみ解析され、そうでないならば、merge_triangle_flagは解析されず、merge_triangle_flagは、三角形予測単位モードを実行する、に設定される。
他のステップについては、実施形態3の説明を参照されたい。詳細は繰り返し説明しない。
実施形態5
実施形態5は、インター符号化およびフィルタリングの方法、ならびにこの方法を使用したピクチャブロックに対する復号処理に関する。実施形態3との主な違いはステップ1301およびステップ1302にある。
ステップ1301:三角形予測単位モードの識別子、組み合わされたイントラおよびインター予測モードの識別子、およびモード関連の構文要素を取得するために現在のブロックのインター予測モードを解析する。
三角形予測単位モードでは、コード化ブロックが対角線に沿って2つの三角形のコード化ブロックに分割される。対角分割は、図3に示されるように、対角(diagonal)分割または逆対角(inverse diagonal)分割であり得る。現在のコード化ブロックの左上隅から右下隅へ分割するのが対角分割であり、現在のコード化ブロックの右上隅から左下隅へ分割するのが反対角分割である。
現在のコード化ブロック/CUがマージモードである場合、三角形予測単位モードの識別子merge_triangle_flagと組み合わされたイントラおよびインター予測モードの識別子mh_intra_flagのための結合解析方法は、主に、組み合わされたイントラおよびインター予測モードに基づいて、三角形予測単位モードが実行されるかどうかおよび分割情報を制約する。
詳細は以下のとおりである。
方法1:現在のコード化ブロック/CUが、組み合わされたイントラおよびインター予測モードの識別子mh_intra_flagの別個の制約条件を満たし、mh_intra_flagの送信が許容される場合、mh_intra_flagが解析される。mh_intra_flagが1である場合、イントラ符号化モード関連の構文要素(mh_intra_luma_mpm_flagやmh_intra_luma_mpm_idxなど)が解析され、イントラ予測モードが、mh_intra_luma_mpm_flagおよびmh_intra_luma_mpm_idxに基づいてイントラ候補モードリスト(intra candidate list)の中から選択される。削除は、事前設定されたポリシーに従ってルックアップテーブルに対して実行される。削除ポリシーは以下のとおりである。イントラ予測モードがDCまたはPLANARモードである場合、merge_triangle_flagは解析されず、三角形予測単位モードは実行されない。イントラ予測モードが水平または垂直モードであり、現在のコード化ブロック/CUが、三角形予測単位モードの識別子merge_triangle_flagの別個の制約条件を満たし、merge_triangle_flagの送信が許容される場合、merge_triangle_flagが解析される。merge_triangle_flagが1である場合、merge_triangle_idxが解析され、三角形予測単位モードの分割方向TriangleDirがルックアップテーブルに基づいて取得される。
方法2:現在のコード化ブロック/CUが、組み合わされたイントラおよびインター予測モードの識別子mh_intra_flagの別個の制約条件を満たし、mh_intra_flagの送信が許容される場合、mh_intra_flagが解析される。mh_intra_flagが1である場合、イントラ符号化モード関連の構文要素(mh_intra_luma_mpm_flagやmh_intra_luma_mpm_idxなど)が解析され、イントラ予測モードが、mh_intra_luma_mpm_flagおよびmh_intra_luma_mpm_idxに基づいてイントラ候補モードリスト(intra candidate list)の中から選択される。現在のコード化ブロック/CUが、三角形予測単位モードの識別子merge_triangle_flagの別個の制約条件を満たし、merge_triangle_flagの送信が許容される場合、merge_triangle_flagが解析される。merge_triangle_flagが1である場合、merge_triangle_idxが解析され、三角形予測単位モードの分割方向TriangleDirがルックアップテーブルに基づいて取得される。削除は、事前設定されたポリシーに従ってルックアップテーブルに対して実行され得る。削除ポリシーは以下のとおりである。イントラ予測モードがDCまたはPLANARモードである場合、ルックアップテーブルは、対角線(diagonal)に沿った分割によって取得された要素を含まない。イントラ予測モードが水平または垂直モードである場合、ルックアップテーブルは変更されない場合がある。
ステップ1302:三角形予測単位モードの識別子merge_triangle_flag、ならびに三角形予測単位モードインデックスmerge_triangle_idxに基づいて取得される三角形予測単位モードの区分情報および動き情報に基づいて、インター予測ブロックを取得する。
ステップ2.1:動き情報を取得する。
現在のブロックがmerge/skipモードにあり、merge_triangle_flagが0である場合、マージ動き情報候補リストが生成される。次いで、現在のブロックの動き情報が、ビットストリームで搬送されたマージインデックスに基づいて決定される。HEVCまたはVTMの方法が使用され得るか、または動きベクトル予測子候補リストを生成するための別の方法が使用され得る。これは、本発明のこの実施形態では限定されない。
現在のブロックがmerge/skipモードにあり、merge_triangle_flagが1である場合、単方向動き情報候補リスト(uni-prediction candidate list)が生成され、merge_triangle_idxを使用してルックアップテーブルから決定される三角形予測単位モードの区分情報および単方向動き情報候補リストインデックスに基づいて、動き情報が単方向動き情報候補リストから決定される。
ルックアップテーブルは、既存の方法で構築され、削除が事前設定されたポリシーに従って実行されるルックアップテーブルである。削除ポリシーは以下のとおりである。イントラ予測モードがDCまたはPLANARモードである場合、ルックアップテーブルは、対角線(diagonal)に沿った分割によって取得された要素を含まない。イントラ予測モードが水平または垂直モードである場合、ルックアップテーブルは既存の方法で構築される。
他のステップについては、実施形態3の説明を参照されたい。詳細は繰り返し説明しない。
本発明の実施形態1から実施形態5は、符号化の複雑さを低減し、符号化効率を改善することができる。
図11は、本発明の一実施形態による装置1100の概略構造図である。装置1100は、受信モジュール1102と、解析モジュール1104と、決定モジュール1106と、取得モジュール1108とを含む。いくつかの実施形態では、解析モジュール1104、決定モジュール1106、および取得モジュール1108は、前述のプロセッサ、例えば、図4のプロセッサ430や図5のプロセッサ502で動作し得る。いくつかの他の実施形態では、解析モジュール1104、決定モジュール1106、および取得モジュール1108の関連する機能が、図1Aから図3の実施形態に記載されるシステムまたは装置において実装され得る。
第1の装置実施形態は以下のとおりである。
受信モジュール1102は、ビットストリームを受信するように構成される。
解析モジュール1104は、ビットストリームを解析して現在のブロックの予測モードを取得するように構成される。
決定モジュール1106は、現在のブロックの予測モードが組み合わされたイントラおよびインター予測モードではない場合、事前設定されたポリシーに従って三角形予測単位モードの実行モードを選択し、三角形予測単位モードの実行モードに従って現在のブロックの動き情報を決定する、ように構成される。
取得モジュール1108は、動き情報に基づいて動き補償プロセスを実行して現在のブロックの予測ピクチャを取得するように構成される。
決定モジュールは、組み合わされたイントラおよびインター予測モードが使用されない場合、事前設定されたポリシーに従って三角形予測単位モードを実行する、ように構成される。あるいは、決定モジュールは、組み合わされたイントラおよびインター予測モードが使用されない場合、三角形予測単位モードの識別子を解析し、事前設定されたポリシーに従って三角形予測単位モードを実行する、ように構成される、
第2の装置実施形態は以下のとおりである。
受信モジュール1102は、ビットストリームを受信するように構成される。
解析モジュール1104は、ビットストリームを解析して現在のブロックの三角形予測単位モードを取得するように構成される。
決定モジュール1106は、三角形予測単位モードが現在のブロックに使用される場合、第1の事前設定されたポリシーに従って組み合わされたイントラおよびインター予測モードの実行モードを選択する、ように構成される。
取得モジュール1108は、三角形予測単位モードに従って現在のブロックの動き情報を取得してインター予測サンプルを取得し、組み合わされたイントラおよびインター予測モードの実行モードおよびインター予測サンプルに従って現在のブロックの予測ピクチャを取得する、ように構成される。
第3の装置実施形態において、受信モジュール1102および解析モジュール1104は任意選択である。
決定モジュール1106は、現在のブロックの予測モードが組み合わされたイントラおよびインター予測モードではない場合、三角形予測単位モードが実行されることを決定し、三角形予測単位モードに従って現在のブロックの動き情報を決定する、ように構成される。
取得モジュール1108は、動き情報に基づいて動き補償プロセスを実行して現在のブロックの予測ピクチャを取得するように構成される。
決定モジュール1106は、事前設定されたポリシーに従って、三角形予測単位モードが実行されることが決定されると、三角形予測単位モードの分割方向(TriangleDir)を取得し、現在のブロックの予測モードが組み合わされたイントラおよびインター予測モードである場合、三角形予測単位モードが現在のブロックについて実行されないことを決定するようにさらに構成される。
取得モジュール1108は、識別子mh_intra_flagを取得し、識別子mh_intra_flagが、現在のブロックの予測モードが組み合わされたイントラおよびインター予測モードであるかどうかを示すために使用される、ように構成される。
受信モジュール1102、解析モジュール1104、決定モジュール1106、および取得モジュール1108は、実施形態1から実施形態5に示される関連する方法ステップを実現するように特に構成され得る。本明細書を簡潔にするために、ここでは詳細は繰り返し説明されない。
前述の実施形態では、各実施形態の説明にはそれぞれの焦点がある。実施形態で詳細に説明されない部分については、他の実施形態の関連説明を参照されたい。
本出願で提供されるいくつかの実施形態において、開示の装置は他の方法でも実現され得ることを理解されたい。例えば、記載の装置実施形態は単なる例である。例えば、ユニットへの分割は、単なる論理的な機能分割である。実際の実施態様では、別の分割方法があり得る。例えば、複数のユニットもしくは構成要素が、別のシステムに結合もしくは統合される場合もあり、または一部の特徴が無視され、もしくは実行されない場合もある。加えて、表示または論述された相互結合または直接結合または通信接続が、いくつかのインターフェースを介して実現される場合もある。装置間またはユニット間の間接結合または通信接続は、電子的形態またはその他の形態で実現され得る。
別々の部分として記載されているユニットは、物理的に分離されている場合もそうでない場合もあり、ユニットとして示されている部分は、物理ユニットである場合もそうでない場合もあり、一箇所に位置する場合もあり、または複数のネットワークユニット上に分散される場合もある。実施形態の解決策の目的を達成するために実際の要件に基づいて、ユニットの一部または全部が選択され得る。
加えて、本発明の実施形態における機能ユニットが1つの処理装置に統合される場合もあり、またはユニットの各々が物理的に独立して存在する場合もあり、または2つ以上のユニットが1つのユニットに統合される場合もある。統合ユニットは、ハードウェアの形態で実装されてもよく、またはソフトウェア機能ユニットの形態で実装されてもよい。
以下で、前述の実施形態に示される符号化方法および復号方法の適用、ならびに符号化方法および復号方法を使用したシステムを説明する。
図12は、コンテンツ配信サービスを実現するように構成されたコンテンツ供給システム3100を示すブロック図である。コンテンツ供給システム3100は、取り込みデバイス3102と、端末デバイス3106と、任意選択でディスプレイ3126とを含む。取り込みデバイス3102は、通信リンク3104を介して端末デバイス3106と通信する。通信リンクは、上述した通信チャネル13を含み得る。通信リンク3104は、Wi-Fi、イーサネット、有線接続、無線(3G/4G/5G)接続、USB、またはそれらの任意のタイプの組み合わせを含むが、これに限定されない。
取り込みデバイス3102は、データを生成し、前述の実施形態に示される符号化方法に従ってデータを符号化し得る。あるいは、取り込みデバイス3102は、データをストリーミングサーバ(図には示されていない)に配信してもよく、サーバは、データを符号化し、符号化されたデータを端末デバイス3106に送信する。取り込みデバイス3102は、カメラ、スマートフォンもしくはタブレットコンピュータ、コンピュータもしくはノートブックコンピュータ、ビデオ会議システム、PDA、車載デバイス、またはそれらの任意の組み合わせを含むが、これに限定されない。例えば、取り込みデバイス3102は、上述したソースデバイス12を含み得る。データがビデオを含む場合、取り込みデバイス3102に含まれるビデオ符号化器20がビデオを実際に符号化し得る。データがオーディオ(すなわち、音声)を含む場合、取り込みデバイス3102に含まれるオーディオ符号化器がオーディオを実際に符号化し得る。いくつかの実際のシナリオでは、取り込みデバイス3102は、符号化ビデオデータと符号化オーディオデータとを多重化することによって符号化ビデオデータおよび符号化オーディオデータを配信する。別の実際のシナリオでは、例えば、ビデオ会議システムでは、符号化オーディオデータと符号化ビデオデータは多重化されない。取り込みデバイス3102は、符号化オーディオデータと符号化ビデオデータとを端末デバイス3106に別々に配信する。
コンテンツ供給システム3100では、端末デバイス310は、符号化されたデータを受信および再生する。端末デバイス3106は、データの受信機能および回復機能を備えたデバイス、例えば、スマートフォンもしくはタブレットコンピュータ3108、コンピュータもしくはノートブックコンピュータ3110、ネットワークビデオレコーダ(network video recorder, NVR)/デジタルビデオレコーダ(digital video recorder, DVR)3112、テレビ3114、セットトップボックス(set top box, STB)3116、ビデオ会議システム3118、ビデオ監視システム3120、パーソナルデジタルアシスタント(personal digital assistant, PDA)3122、車載デバイス3124、または符号化されたデータを復号することができる前述のデバイスの任意の組み合わせであり得る。例えば、端末デバイス3106は、上述した宛先デバイス14を含み得る。符号化されたデータがビデオを含む場合、端末デバイスに含まれるビデオ復号器30がビデオ復号を実行するように優先される。符号化されたデータがオーディオを含む場合、端末デバイスに含まれるオーディオ復号器がオーディオ復号を実行するように優先される。
ディスプレイを有する端末デバイス、例えば、スマートフォンもしくはタブレットコンピュータ3108、コンピュータもしくはノートブックコンピュータ3110、ネットワークビデオレコーダ(network video recorder, NVR)/デジタルビデオレコーダ(digital video recorder, DVR)3112、テレビ3114、パーソナルデジタルアシスタント(Personal Digital Assistant, PDA)3122、または車載デバイス3124については、端末デバイスは、端末デバイスのディスプレイに復号データを供給し得る。ディスプレイなしの端末デバイス、例えば、STB3116、ビデオ会議システム3118、またはビデオ監視システム3120については、復号データを受信および表示するために端末デバイスに外部ディスプレイ3126が接続される。
システム内の各デバイスが符号化または復号を実行する場合、前述の実施形態に示されるピクチャ符号化デバイスまたはピクチャ復号デバイスが使用される。
図13は、端末デバイス3106の例示的構造の図である。端末デバイス3106が取り込みデバイス3102からストリームを受信した後、プロトコル処理ユニット3202がストリームのトランスポートプロトコルを分析する。プロトコルは、リアルタイムストリーミングプロトコル(Real Time Streaming Protocol, RTSP)、ハイパーテキスト転送プロトコル(Hyper Text Transfer Protocol, HTTP)、HTTPライブストリーミングプロトコル(HTTP Live streaming protocol, HLS)、MPEG-DASH、リアルタイムトランスポートプロトコル(Real-time Transport protocol, RTP)、リアルタイムメッセージングプロトコル(Real Time Messaging Protocol, RTMP)、またはそれらの任意の組み合わせを含むが、これに限定されない。
ストリームを処理した後、プロトコル処理ユニット3202は、ストリームファイルを生成する。ファイルは、逆多重化ユニット3204に出力される。逆多重化ユニット3204は、多重化データを符号化オーディオデータと符号化ビデオデータとに分割し得る。上述したように、別の実際のシナリオでは、例えば、ビデオ会議システムでは、符号化オーディオデータと符号化ビデオデータは多重化されない。この場合、符号化されたデータは、逆多重化ユニット3204を介して送られずに、ビデオ復号器3206およびオーディオ復号器3208に送られる。
逆多重化は、ビデオエレメンタリストリーム(elementary stream, ES)、オーディオES、および任意選択の字幕を生成するために実行される。ビデオ復号器3206は、前述の実施形態に記載されるビデオ復号器30を含み、ビデオフレームを生成するために前述の実施形態に示される復号方法に従ってビデオESを復号し、そのようなデータを同期ユニット3212に供給する。オーディオ復号器3208は、オーディオフレームを生成するためにオーディオESを復号し、そのようなデータを同期ユニット3212に供給する。あるいは、ビデオフレームは、同期ユニット3212に供給される前に、バッファ(図Yには示されいない)に記憶されてもよい。同様に、オーディオフレームも、同期ユニット3212に供給される前に、バッファ(図Yには示されいない)に記憶されてもよい。
同期ユニット3212は、ビデオフレームとオーディオフレームとを同期させ、ビデオ/オーディオをビデオ/オーディオディスプレイ3214に提供する。例えば、同期ユニット3212は、ビデオ情報とオーディオ情報の提示を同期させる。情報は、符号化されたオーディオおよびビデオのデータの提示に関連したタイムスタンプと、データストリームの伝送に関連したタイムスタンプとを使用して、構文的に符号化され得る。
ストリームに字幕が含まれる場合、字幕復号器3210が、字幕をビデオフレームおよびオーディオフレームと同期させるために字幕を復号し、ビデオ/オーディオ/字幕をビデオ/オーディオ/字幕ディスプレイ3216に提供する。
本発明は、前述のシステムに限定されず、前述の実施形態におけるピクチャ符号化デバイスまたはピクチャ復号デバイスは、別のシステム、例えば、自動車システムに統合されてもよい。
開示の内容と記載の方法との組み合わせもまた、この方法を実行するように構成された対応するデバイスまたはシステムに当てはまり得、逆もまた同様であることが理解されよう。例えば、1つまたは複数の特定の方法ステップが記載されている場合、対応するデバイスは、記載の1つまたは複数の方法ステップを実行するために、機能ユニットなどの1つまたは複数のユニット(例えば、1つもしくは複数のステップを実行する1つユニット、または複数のステップのうちの1つもしくは複数を各々実行する複数のユニット)を、そのような1または複数のユニットが明示的に記載されていないか、または添付の図面に示されていなくても含み得る。加えて、例えば、特定の装置が機能ユニットなどの1つまたは複数のユニットに基づいて説明されている場合、対応する方法は、1つまたは複数のユニットの機能を実現するために使用される1つのステップ(例えば、1つもしくは複数のユニットの機能を実現するために使用される1つのステップ、または複数のユニットの1つもしくは複数の機能を実現するために各々使用される複数のステップ)を、そのような1つまたは複数のステップが明示的に記載されていないか、または添付の図面に示されていなくても含み得る。さらに、本明細書に記載される様々な例示的な実施形態および/または態様の特徴は、特に明記されない限り、互いに組み合わされ得ることを理解されたい。
1つまたは複数の例において、記載の機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせによって実現され得る。ソフトウェアによって実現される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体に記憶されるか、またはコンピュータ可読媒体上で伝送され、ハードウェアベースの処理装置によって実行され得る。コンピュータ可読媒体は、データ記憶媒体や通信媒体などの有形の媒体に対応する、コンピュータ可読記憶媒体を含み得る。例えば、通信媒体は、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの伝送を容易にする任意の媒体を含む。この方法では、コンピュータ可読媒体は、一般に、(1)非一時的な有形のコンピュータ可読記憶媒体、または(2)信号や搬送波などの通信媒体、に対応し得る。データ記憶媒体は、本発明に記載される技術を実現するための命令、コード、および/またはデータ構造を取得するために、1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされることができる任意の使用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは別の光ディスクメモリ、磁気ディスクメモリもしくは別の磁気記憶デバイス、フラッシュメモリ、または所望のプログラムコードを命令もしくはデータ構造の形で記憶するために使用することができ、コンピュータによってアクセスされることができる任意の他の媒体を含み得る。加えて、任意の接続も、適切にコンピュータ可読媒体と呼ばれ得る。例えば、命令が、ウェブサイト、サーバ、または別のリモートソースから、同軸ケーブル、光ファイバ、ツイストペア、デジタル加入者線(digital subscriber line, DSL)、または赤外線、電波、およびマイクロ波などの無線技術を使用して伝送される場合、同軸ケーブル、光ファイバ、ツイストペア、DSL、または赤外線、電波、およびマイクロ波などの無線技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、またはその他の一時的媒体を含まず、実際には非一時的な有形の記憶媒体を意味することを理解されたい。本明細書で使用される場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(compact disc, CD)、レーザディスク、光ディスク、デジタル多用途ディスク(digital versatile disc, DVD)、フロッピーディスク、ブルーレイディスクを含む。ディスク(disk)は、通常、磁気的にデータを再生するが、ディスク(disc)は、レーザを使用して光学的にデータを再生する。前述の項目の組み合わせも、コンピュータ可読媒体の範囲に含まれるべきである。
命令は、1つまたは複数のプロセッサによって実行され得る。1つまたは複数のプロセッサは、例えば、1つまたは複数のデジタル信号プロセッサ(digital signal processor, DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(application specific integrated circuit, ASIC)、フィールドプログラマブルロジックアレイ(field programmable logic arrays, FPGA)、または他の同等の集積回路もしくは個別の論理回路である。したがって、本出願で使用される用語「プロセッサ」は、前述の構造または本明細書に記載される技術を実現するのに適した任意の他の構造のいずれかであり得る。加えて、いくつかの態様では、本明細書に記載される機能は、符号化および復号のために構成された専用のハードウェアおよび/もしくはソフトウェアモジュール内で提供されるか、または組み合わせコーデックに統合され得る。加えて、技術はすべて、1つまたは複数の回路または論理素子で実装され得る。
本開示の技術は、無線ハンドセット、集積回路(integrated circuit, IC)またはICのセット(例えば、チップセット)を含む、様々なデバイスまたは装置において実装され得る。本開示には、開示の技術を実行するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットが記載されているが、必ずしも異なるハードウェアユニットによって実装されるとは限らない。正確には、上述したように、様々なユニットは、適切なソフトウェアおよび/もしくはファームウェアと組み合わせてコーデックハードウェアユニット統合され得るか、または相互運用ハードウェアユニットのセットによって提供され得る。それらのハードウェアユニットは、上述した1つまたは複数のプロセッサを含む。
10 符号化システム
12 ソースデバイス
13 符号化されたデータ
14 宛先デバイス
16 ピクチャソース、ビデオソース
17 ピクチャデータ
18 前処理装置
19 前処理ピクチャデータ
20 ビデオ符号化器
21 符号化されたピクチャデータ
22 通信インターフェース、通信装置
28 通信インターフェース、通信装置
30 ビデオ復号器
31 復号されたピクチャデータ
32 後処理装置
33 後処理ピクチャデータ
34 表示デバイス
40 ビデオコード化システム
41 撮像デバイス
42 アンテナ
43 プロセッサ
44 メモリ
45 表示デバイス
46 処理装置
47 論理回路
201 ピクチャ
202 入力
203 ピクチャブロック
204 残差計算ユニット
205 残差ブロック
206 変換処理ユニット
207 変換係数
208 量子化ユニット
209 量子化された残差係数、量子化された変換係数
210 逆量子化ユニット
211 逆量子化された係数
212 逆変換処理ユニット
213 再構築された残差ブロック、逆変換逆量子化ブロック、逆変換残差ブロック
214 再構築ユニット、加算器
215 再構築されたブロック
216 バッファ
220 ループフィルタユニット
221 フィルタリングされたブロック
230 復号されたピクチャバッファDPB
231 復号されたピクチャ
244 インター予測ユニット
245 インター予測ブロック
246 動き補償ユニット
254 イントラ予測ユニット
255 イントラ予測ブロック
260 予測処理ユニット
262 モード選択ユニット
265 予測ブロック
270 エントロピー符号化ユニット
272 出力
304 エントロピー復号ユニット
309 量子化された係数
310 逆量子化ユニット
312 逆変換処理ユニット
313 再構築された残差ブロック、逆変換ブロック
314 再構築ユニット、加算器
315 再構築されたブロック
316 バッファ
320 ループフィルタユニット
321 フィルタリングされたブロック
330 復号されたピクチャバッファDPB
332 出力
344 インター予測
354 イントラ予測
360 予測処理ユニット
362 モード選択ユニット
365 予測ブロック
400 ビデオコード化デバイス
410 入口ポート
420 受信装置
430 プロセッサ
440 送信装置
450 出口ポート
460 メモリ
470 符号化/復号モジュール
500 装置
502 プロセッサ
504 メモリ
506 コードおよびデータ
508 オペレーティングシステム
510 アプリケーションプログラム
512 バス
514 2次メモリ
518 ディスプレイ
520 ピクチャ感知デバイス
522 音感知デバイス
1100 装置
1102 受信モジュール
1104 解析モジュール
1106 決定モジュール
1108 取得モジュール
3100 コンテンツ供給システム
3102 取り込みデバイス
3104 通信リンク
3106 端末デバイス
3108 スマートフォン/タブレットコンピュータ
3110 コンピュータ/ノートブックコンピュータ
3112 デジタルビデオレコーダ
3114 テレビ
3116 セットトップボックス(set top box、STB)
3118 ビデオ会議システム
3120 ビデオ監視システム
3122 パーソナルデジタルアシスタント
3124 車載デバイス
3126 ディスプレイ
3202 プロトコル処理ユニット
3204 逆多重化ユニット
3206 ビデオ復号器
3208 オーディオ復号器
3210 字幕復号器
3212 同期ユニット
3214 ビデオ/オーディオディスプレイ
3216 ビデオ/オーディオ/字幕ディスプレイ
この出願は、2019年10月28日に出願された特願2021-523291の分割出願であり、これは、2018年10月27日に中国国家知識産権局に出願され、発明の名称を「ピクチャ予測方法および装置」とする中国特許出願第201811262934.7号の優先権を主張し、参照によりその全体がここに組み入れられる。
符号化器20(例えば、ビデオ符号化器20)は、前処理されたピクチャデータ19を受信し、符号化されたピクチャデータ21を提供するように構成される(詳細は、例えば、図2または図4に基づいて、以下でさらに説明される)。一例では、符号化器20は、以下の実施形態1から実施形態5を実行するように構成され得る。
宛先デバイス14の後処理ユニット32は、後処理されたピクチャ33のような後処理されたピクチャデータ33を取得するために、復号されたピクチャ31のような(再構築されたピクチャデータとも呼ばれる)復号されたピクチャデータ31を後処理するように構成される。後処理ユニット32によって実行される後処理は、例えば、カラーフォーマット転換(例えば、YCbCrからRGBへ)、色補正、トリミング、再サンプリング、または表示デバイス34による表示のための復号されたピクチャデータ31を作成するための任意の他の処理を含み得る。
ビデオ復号器30は、同様に、図3における復号器30を参照して説明される様々なモジュールおよび/またはこの明細書において説明される任意の他の復号器システムもしくはサブシステムを実現するために、論理回路47によって実現され得る。いくつかの例では、論理回路によって実現されるビデオ復号器30は、ピクチャバッファ(処理ユニット46またはメモリ44によって実現される)およびグラフィックス処理ユニット(例えば、処理ユニット46によって実現される)を含み得る。グラフィックス処理ユニットは、ピクチャバッファに通信可能に結合され得る。グラフィックス処理ユニットは、図3を参照して説明される様々なモジュールおよび/またはこの明細書において説明される任意の他の復号器システムもしくはサブシステムを実現するために、論理回路47によって実現されるビデオ復号器30を含み得る。
例えば、符号化器20の実施形態は、バッファユニット216がイントラ予測のための再構築されたブロック215を記憶するように構成されるだけでなく、ループフィルタユニット220のフィルタリングされたブロック221(図2には表されていない)を記憶するようにも構成されてもよく、かつ/またはバッファユニット216と復号されたピクチャバッファユニット230とが1つのバッファを形成する。他の実施形態は、フィルタリングされたブロック221および/または復号されたピクチャバッファ230からのブロックもしくはサンプル(図2には表されていない)をイントラ予測254のための入力または基礎として使用するために使用されてもよい。
インター予測ユニット244は、動き推定(motion estimation, ME)ユニット(図2には示されていない)および動き補償(motion compensation, MC)ユニット(図2には示されていない)を含み得る。動き推定ユニットは、動き推定を実行するために、ピクチャブロック203(現在のピクチャ201の現在のピクチャブロック203)および復号されたピクチャ31、または少なくとも1つまたは複数の再構築されたブロック、例えば、前の復号されたピクチャ231とは異なる1つまたは複数の他の再構築されたブロックを受信するかまたは取得するように構成される。例えば、ビデオシーケンスは、現在のピクチャおよび前の復号されたピクチャ31を含み得る。言い換えると、現在のピクチャおよび前の復号されたピクチャ31は、ビデオシーケンスを形成する、またはピクチャシーケンスを形成するピクチャシーケンスの一部であり得る。
エントロピー符号化ユニット270は、例えば、符号化されたビットストリームの形で、出力272を使用して出力することができる符号化されたピクチャデータ21を取得するために、エントロピー符号化アルゴリズムまたは方式(例えば、可変長符号化(variable length coding, VLC)方式、コンテキスト適応型VLC(context adaptive VLC, CAVLC)方式、算術符号化方式、コンテキスト適応型バイナリ算術符号化(context adaptive binary arithmetic coding, CABAC)方式、構文ベースのコンテキスト適応型バイナリ算術符号化(syntax-based context-adaptive binary arithmetic coding, SBAC)方式、確率区間区分エントロピー(probability interval partitioning entropy, PIPE)符号化方式、または別のエントロピー符号化方法もしくは技術)を、量子化された残差係数209、インター予測パラメータ、イントラ予測パラメータ、および/またはループフィルタパラメータのうちの1つまたは複数に適用する(またはそのいずれにも適用しない)ように構成される。符号化されたビットストリームは、ビデオ復号器30に送信され得るか、または後の送信またはビデオ復号器30による取得のためにアーカイブされ得る。エントロピー符号化ユニット270は、符号化されている現在のビデオスライスの別の構文要素に対してエントロピー符号化を実行するようにさらに構成され得る。
所与のフレームまたはピクチャ内のフィルタリングされたブロック321は、次いで、後続の動き補償に使用される参照ピクチャを記憶する復号されたピクチャバッファ330に記憶される。
コンテンツ供給システム3100では、端末デバイス3106は、符号化されたデータを受信および再生する。端末デバイス3106は、データの受信機能および回復機能を備えたデバイス、例えば、スマートフォンもしくはタブレットコンピュータ3108、コンピュータもしくはノートブックコンピュータ3110、ネットワークビデオレコーダ(network video recorder, NVR)/デジタルビデオレコーダ(digital video recorder, DVR)3112、テレビ3114、セットトップボックス(set top box, STB)3116、ビデオ会議システム3118、ビデオ監視システム3120、パーソナルデジタルアシスタント(personal digital assistant, PDA)3122、車載デバイス3124、または符号化されたデータを復号することができる前述のデバイスの任意の組み合わせであり得る。例えば、端末デバイス3106は、上述した宛先デバイス14を含み得る。符号化されたデータがビデオを含む場合、端末デバイスに含まれるビデオ復号器30がビデオ復号を実行するように優先される。符号化されたデータがオーディオを含む場合、端末デバイスに含まれるオーディオ復号器がオーディオ復号を実行するように優先される。

Claims (43)

  1. ピクチャ予測方法であって、
    ビットストリームを受信するステップと、
    前記ビットストリームを解析して現在のブロックの予測モードを取得するステップと、
    前記現在のブロックの前記予測モードが組み合わされたイントラおよびインター予測モードであるとき、事前設定されたポリシーに従って三角形予測単位モードの実行モードを選択するステップと、
    前記三角形予測単位モードの前記実行モードに従って前記現在のブロックの動き情報を決定するステップと、
    前記動き情報に基づいて動き補償プロセスを実行してインター予測サンプルを取得するステップと、
    前記現在のブロックの前記予測モードに従ってイントラ予測サンプルを取得するステップと、
    前記インター予測サンプルと前記イントラ予測サンプルとを組み合わせて前記現在のブロックの予測ピクチャを取得するステップと、
    を含む方法。
  2. 前記組み合わされたイントラおよびインター予測モードにおけるイントラ予測モードがDCまたはPLANARモードであるならば、前記事前設定されたポリシーに従って前記三角形予測単位モードが実行されない、請求項1に記載の方法。
  3. 前記組み合わされたイントラおよびインター予測モードにおけるイントラ予測モードがDCまたはPLANARモードであるならば、前記事前設定されたポリシーに従って前記三角形予測単位モードにおいて逆対角分割のみが使用される、請求項1に記載の方法。
  4. 前記組み合わされたイントラおよびインター予測モードが使用されるとき、前記事前設定されたポリシーに従って前記三角形予測単位モードが実行されない、請求項1に記載の方法。
  5. 前記組み合わされたイントラおよびインター予測モードにおけるイントラ予測モードがDCまたはPLANARモードであるならば、三角形予測単位モードの識別子が解析されず、前記事前設定されたポリシーに従って前記三角形予測単位モードが実行されない、請求項1に記載の方法。
  6. 前記組み合わされたイントラおよびインター予測モードが使用されるとき、三角形予測単位モードの識別子が解析されず、前記事前設定されたポリシーに従って前記三角形予測単位モードが実行されない、請求項1に記載の方法。
  7. 前記三角形予測単位モードの識別子がmerge_triangle_flagである、請求項5または6に記載の方法。
  8. 前記逆対角分割が、右上隅から左下隅へ分割することを含む、請求項3に記載の方法。
  9. 前記三角形予測単位モードの前記実行モードに従って前記現在のブロックの動き情報を決定すること、および前記動き情報に基づいて動き補償プロセスを実行することが、
    前記三角形予測単位モードが実行されるならば、前記三角形予測単位モードに従って前記動き補償プロセスを実行するステップ、または
    前記三角形予測単位モードが実行されないならば、mergeモードに従って前記動き補償プロセスを実行するステップ
    を含む、請求項1から8のいずれか一項に記載の方法。
  10. 組み合わされたイントラおよびインター予測モードの識別子が前記組み合わされたイントラおよびインター予測モードを示す、請求項1から9のいずれか一項に記載の方法。
  11. 前記組み合わされたイントラおよびインター予測モードの識別子がmh_intra_flagである、請求項10に記載の方法。
  12. 前記事前設定されたポリシーに従って、前記三角形予測単位モードが実行されることが決定されるとき、三角形予測単位モードインデックス(merge_triangle_idx)を取得するために前記ビットストリームが解析され、前記三角形予測単位モードの分割方向(TriangleDir)がmerge_triangle_idxに基づいて取得される、請求項1から11のいずれか一項に記載の方法。
  13. 単方向動き情報候補リスト(uni-prediction candidate list)が生成され、前記現在のブロックの前記動き情報が、前記三角形予測単位モードインデックスに基づいて前記単方向動き情報候補リストから決定される、請求項12に記載の方法。
  14. 前記事前設定されたポリシーに従って前記三角形予測単位モードが実行されないとき、前記方法が、
    マージ動き情報候補リストを生成し、前記ビットストリーム内で搬送されたマージインデックスに基づいて前記現在のブロックの前記動き情報を決定するステップを含む、請求項1から11のいずれか一項に記載の方法。
  15. 前記現在のブロックの前記予測モードに従ってイントラ予測サンプルを取得する前記ステップが、
    前記ビットストリームを解析してイントラ符号化モード関連の構文を取得し、前記構文に基づいてイントラ候補モードリスト(intra candidate list)からイントラ予測モードを選択するステップを含む、請求項1から14のいずれか一項に記載の方法。
  16. 前記イントラ符号化モード関連の構文が、最も見込みがあるモード識別子mh_intra_luma_mpm_flagおよび最も見込みがあるモードインデックスmh_intra_luma_mpm_idxを含む、請求項15に記載の方法。
  17. ピクチャ予測方法であって、
    ビットストリームを受信するステップと、
    前記ビットストリームを解析して現在のブロックの三角形予測単位モードを取得するステップと、
    前記三角形予測単位モードが前記現在のブロックについて使用されるとき、第1の事前設定されたポリシーに従って組み合わされたイントラおよびインター予測モードの実行モードを選択するステップと、
    前記三角形予測単位モードに従って前記現在のブロックの動き情報を取得してインター予測サンプルを取得するステップと、
    前記組み合わされたイントラおよびインター予測モードの前記実行モードおよび前記インター予測サンプルに従って前記現在のブロックの予測ピクチャを取得するステップと、
    を含む方法。
  18. 前記組み合わされたイントラおよびインター予測モードの前記実行モードおよび前記インター予測サンプルに従って前記現在のブロックの予測ピクチャを取得する前記ステップが、
    前記組み合わされたイントラおよびインター予測モードが前記第1の事前設定されたポリシーに従って実行されるならば、前記組み合わされたイントラおよびインター予測モードに従ってイントラ予測サンプルを取得し、前記インター予測サンプルと前記イントラ予測サンプルとを組み合わせて前記現在のブロックの前記予測ピクチャを取得するステップ、または
    前記組み合わされたイントラおよびインター予測モードが前記第1の事前設定されたポリシーに従って実行されないならば、前記インター予測サンプルに従って前記現在のブロックの前記予測ピクチャを取得するステップ
    を含む、請求項17に記載の方法。
  19. 前記三角形予測単位モードが使用されるとき、組み合わされたイントラおよびインター予測モードの識別子が解析されず、前記組み合わされたイントラおよびインター予測モードが前記第1の事前設定されたポリシーに従って実行されない、請求項17に記載の方法。
  20. 前記三角形予測単位モードが使用されるとき、三角形予測単位が逆対角線に沿って分割されるならば、組み合わされたイントラおよびインター予測モードの識別子が第2の事前設定された規則に従って解析され、または三角形予測単位が対角線に沿って分割されるならば、組み合わされたイントラおよびインター予測モードの識別子が解析されず、前記組み合わされたイントラおよびインター予測モードが実行されない、請求項17に記載の方法。
  21. 前記組み合わされたイントラおよびインター予測モードの識別子がmh_intra_flagである、請求項19または20に記載の方法。
  22. 前記三角形予測単位モードが使用されるとき、前記組み合わされたイントラおよびインター予測モードが前記第1の事前設定されたポリシーに従って実行されない、請求項17に記載の方法。
  23. 前記三角形予測単位モードが使用されるとき、三角形予測単位が逆対角線に沿って分割されるならば、前記組み合わされたイントラおよびインター予測モードが実行され、または三角形予測単位が対角線に沿って分割されるならば、前記組み合わされたイントラおよびインター予測モードが実行されない、請求項17に記載の方法。
  24. 前記三角形予測単位モードが使用されるとき、三角形予測単位が対角線に沿って分割されるならば、前記組み合わされたイントラおよびインター予測モードが使用されるときに水平および垂直の予測モードのみが使用される、請求項17に記載の方法。
  25. 三角形予測単位モードの識別子が、前記三角形予測単位モードの実行モードを示す、請求項17から24のいずれか一項に記載の方法。
  26. 前記三角形予測単位モードの識別子がmerge_triangle_flagである、請求項25に記載の方法。
  27. 前記組み合わされたイントラおよびインター予測モードが実行されるとき、前記ビットストリームが、イントラ符号化モード関連の構文を取得するために解析され、前記構文に基づいてイントラ候補モードリスト(intra candidate list)からイントラ予測モードが選択される、請求項17から26のいずれか一項に記載の方法。
  28. 前記イントラ符号化モード関連の構文が、最も見込みがあるモード識別子mh_intra_luma_mpm_flagおよび最も見込みがあるモードインデックスmh_intra_luma_mpm_idxを含む、請求項27に記載の方法。
  29. 前記ビットストリームが、三角形予測単位モードインデックスmerge_triangle_idxを取得するために解析され、前記三角形予測単位モードの分割方向TriangleDirがmerge_triangle_idxに基づいてルックアップテーブルから取得される、請求項17から28のいずれか一項に記載の方法。
  30. 単方向動き情報候補リスト(uni-prediction candidate list)が生成され、前記現在のブロックの前記動き情報が、前記三角形予測単位モードインデックスに基づいて前記単方向動き情報候補リストから決定される、請求項29に記載の方法。
  31. ピクチャ予測方法であって、
    現在のブロックの予測モードが組み合わされたイントラおよびインター予測モードではないとき、三角形予測単位モードが実行されることを決定するステップと、
    前記三角形予測単位モードに従って前記現在のブロックの動き情報を決定するステップと、
    前記動き情報に基づいて動き補償プロセスを実行して前記現在のブロックの予測ピクチャを取得するステップと、
    を含む方法。
  32. 三角形予測単位モードの識別子がmerge_triangle_flagである、請求項31に記載の方法。
  33. 前記方法が、前記三角形予測単位モードの分割方向(TriangleDir)を取得するステップをさらに含む、請求項31または32に記載の方法。
  34. 前記方法が、
    識別子mh_intra_flagを取得するステップであって、前記識別子mh_intra_flagが、前記現在のブロックの前記予測モードが前記組み合わされたイントラおよびインター予測モードであるかどうかを示すために使用される、ステップをさらに含む、請求項31から33のいずれか一項に記載の方法。
  35. 前記現在のブロックの前記予測モードが前記組み合わされたイントラおよびインター予測モードであるとき、前記三角形予測単位モードが前記現在のブロックについて実行されないことが決定される、請求項31から34のいずれか一項に記載の方法。
  36. ビデオストリームを復号するための装置であって、プロセッサとメモリとを含み、前記メモリが命令を記憶し、前記命令が、請求項1から16または請求項31から35のいずれか一項に記載の方法を前記プロセッサが実行することを可能にする、装置。
  37. ビデオストリームを復号するための装置であって、プロセッサとメモリとを含み、前記メモリが命令を記憶し、前記命令が、請求項17から35のいずれか一項に記載の方法を前記プロセッサが実行することを可能にする、装置。
  38. 復号デバイスであって、互いに結合された不揮発性メモリとプロセッサとを含み、前記メモリがプログラム命令を記憶するように構成され、前記プログラム命令が、請求項1から16または請求項31から35のいずれか一項に記載の方法を前記プロセッサが実行することを可能にする、復号デバイス。
  39. 復号デバイスであって、互いに結合された不揮発性メモリとプロセッサとを含み、前記メモリがプログラム命令を記憶するように構成され、前記プログラム命令が、請求項17から38のいずれか一項に記載の方法を前記プロセッサが実行することを可能にする、復号デバイス。
  40. ピクチャ予測装置であって、
    現在のブロックの予測モードが組み合わされたイントラおよびインター予測モードではないとき、三角形予測単位モードが実行されることを決定し、前記三角形予測単位モードに従って前記現在のブロックの動き情報を決定するように構成された決定モジュールと、
    前記動き情報に基づいて動き補償プロセスを実行して前記現在のブロックの予測ピクチャを取得するように構成された取得モジュールと、
    を含む装置。
  41. 前記取得モジュールが、前記三角形予測単位モードの分割方向(TriangleDir)を取得するようにさらに構成された、請求項40に記載の装置。
  42. 前記取得モジュールが、識別子mh_intra_flagを取得するように構成され、前記識別子mh_intra_flagが、前記現在のブロックの前記予測モードが前記組み合わされたイントラおよびインター予測モードであるかどうかを示すために使用される、請求項40または41に記載の装置。
  43. 前記決定モジュールが、前記現在のブロックの前記予測モードが前記組み合わされたイントラおよびインター予測モードであるとき、前記三角形予測単位モードが前記現在のブロックについて実行されないことを決定するようにさらに構成された、請求項40から42のいずれか一項に記載の装置。
JP2023051957A 2018-10-27 2023-03-28 ピクチャ予測方法および装置 Pending JP2023076568A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201811262934.7A CN111107356B (zh) 2018-10-27 2018-10-27 图像预测方法及装置
CN201811262934.7 2018-10-27
JP2021523291A JP7254919B2 (ja) 2018-10-27 2019-10-28 ピクチャ予測方法および装置
PCT/CN2019/113541 WO2020083403A1 (zh) 2018-10-27 2019-10-28 图像预测方法及装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2021523291A Division JP7254919B2 (ja) 2018-10-27 2019-10-28 ピクチャ予測方法および装置

Publications (1)

Publication Number Publication Date
JP2023076568A true JP2023076568A (ja) 2023-06-01

Family

ID=70330274

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021523291A Active JP7254919B2 (ja) 2018-10-27 2019-10-28 ピクチャ予測方法および装置
JP2023051957A Pending JP2023076568A (ja) 2018-10-27 2023-03-28 ピクチャ予測方法および装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2021523291A Active JP7254919B2 (ja) 2018-10-27 2019-10-28 ピクチャ予測方法および装置

Country Status (8)

Country Link
US (2) US11711511B2 (ja)
EP (1) EP3866464A4 (ja)
JP (2) JP7254919B2 (ja)
KR (1) KR20210077759A (ja)
CN (4) CN117528077A (ja)
BR (1) BR112021007865A2 (ja)
MX (1) MX2021004793A (ja)
WO (1) WO2020083403A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117528077A (zh) * 2018-10-27 2024-02-06 华为技术有限公司 图像预测方法及装置
CN112970263A (zh) 2018-11-06 2021-06-15 北京字节跳动网络技术有限公司 基于条件的具有几何分割的帧间预测
IL307153A (en) 2018-11-08 2023-11-01 Guangdong Oppo Mobile Telecommunications Corp Ltd A method for encoding/decoding an image signal and a device for it
EP3884667B1 (en) * 2018-12-25 2024-04-17 Beijing Dajia Internet Information Technology Co., Ltd. Video coding with triangular shape prediction units
CN116156164B (zh) * 2018-12-30 2023-11-28 北京达佳互联信息技术有限公司 用于对视频进行解码的方法、设备和可读存储介质
WO2020140862A1 (en) 2018-12-30 2020-07-09 Beijing Bytedance Network Technology Co., Ltd. Conditional application of inter prediction with geometric partitioning in video processing
JP6801830B1 (ja) * 2019-03-08 2020-12-16 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
CN115136598A (zh) 2020-02-19 2022-09-30 字节跳动有限公司 推断比特流中的视频分量的权重值
KR20230111254A (ko) * 2020-12-03 2023-07-25 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 인트라 예측 방법, 인코더, 디코더 및 저장 매체
JP2023028147A (ja) * 2021-08-18 2023-03-03 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
WO2023059100A1 (ko) * 2021-10-06 2023-04-13 현대자동차주식회사 기하학적 분할 모드를 이용한 비디오 부호화/복호화 방법 및 장치

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3277116B2 (ja) * 1996-03-18 2002-04-22 シャープ株式会社 動画像符号化装置および動画像復号化装置
US6577310B1 (en) * 1998-12-01 2003-06-10 Samsung Electronics Co., Ltd. 3D mesh coding/decoding method and apparatus for error resilience and incremental rendering
CN101415121B (zh) * 2007-10-15 2010-09-29 华为技术有限公司 一种自适应的帧预测的方法及装置
KR101431545B1 (ko) * 2008-03-17 2014-08-20 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
CN102113326A (zh) * 2008-08-04 2011-06-29 杜比实验室特许公司 重叠块差异估计和补偿体系结构
CN102685474B (zh) * 2011-03-10 2014-11-05 华为技术有限公司 预测模式的编解码方法、编解码设备及网络系统
KR20130050407A (ko) * 2011-11-07 2013-05-16 오수미 인터 모드에서의 움직임 정보 생성 방법
WO2016072775A1 (ko) * 2014-11-06 2016-05-12 삼성전자 주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
WO2017043816A1 (ko) * 2015-09-10 2017-03-16 엘지전자(주) 인터-인트라 병합 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
KR102338356B1 (ko) * 2016-05-24 2021-12-13 한국전자통신연구원 영상 부호화/복호화 방법 및 이를 위한 기록 매체
WO2018128466A1 (ko) * 2017-01-09 2018-07-12 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법
CA3105461C (en) 2018-07-04 2024-01-09 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
US11284066B2 (en) * 2018-10-10 2022-03-22 Tencent America LLC Method and apparatus for intra block copy in intra-inter blending mode and triangle prediction unit mode
CN116939198A (zh) * 2018-10-23 2023-10-24 北京字节跳动网络技术有限公司 并置的局部照明补偿和修改的帧间预测编解码
CN117528077A (zh) * 2018-10-27 2024-02-06 华为技术有限公司 图像预测方法及装置
US11611759B2 (en) * 2019-05-24 2023-03-21 Qualcomm Incorporated Merge mode coding for video coding

Also Published As

Publication number Publication date
MX2021004793A (es) 2021-08-11
CN111107356A (zh) 2020-05-05
US20210250581A1 (en) 2021-08-12
CN117692636A (zh) 2024-03-12
CN115695785A (zh) 2023-02-03
EP3866464A1 (en) 2021-08-18
BR112021007865A2 (pt) 2021-07-27
EP3866464A4 (en) 2022-03-16
KR20210077759A (ko) 2021-06-25
CN111107356B (zh) 2023-11-10
JP7254919B2 (ja) 2023-04-10
CN115695785B (zh) 2023-06-06
WO2020083403A1 (zh) 2020-04-30
CN117528077A (zh) 2024-02-06
JP2022511657A (ja) 2022-02-01
US20230188711A1 (en) 2023-06-15
US11711511B2 (en) 2023-07-25

Similar Documents

Publication Publication Date Title
JP7254919B2 (ja) ピクチャ予測方法および装置
US11765343B2 (en) Inter prediction method and apparatus
JP7106744B2 (ja) ルーマおよびクロマ成分についてibc専用バッファおよびデフォルト値リフレッシュを使用するエンコーダ、デコーダおよび対応する方法
US20230291902A1 (en) Apparatus and method for inverse quantization
US11930171B2 (en) Video encoder, a video decoder and corresponding methods with improved block partitioning
US11653032B2 (en) Video processing method, video processing apparatus, encoder, decoder, medium and computer program
JP7225375B2 (ja) パレット符号化を使用するエンコード装置、デコード装置および対応する方法
JP7431803B2 (ja) クロマブロック予測方法およびデバイス
JP2023088997A (ja) 補間フィルタを使用するイントラ予測のための方法および装置
US11856228B2 (en) Deblocking filter for sub-partition boundaries caused by intra sub-partition coding tool
JP7314300B2 (ja) イントラ予測のための方法および装置
US11843806B2 (en) Encoder, a decoder and corresponding methods of deblocking filter adaptation
JP2022551313A (ja) ピクチャヘッダのシグナリングを簡略化するためのエンコーダ、デコーダ及び対応する方法
US11503290B2 (en) Video encoder, video decoder and methods
JP7299331B2 (ja) ビデオコーディングにおけるクロマイントラ予測のための方法及び装置
WO2020073928A1 (en) Inter prediction method and apparatus
WO2021134393A1 (en) Method and apparatus of deblocking filtering between boundaries of blocks predicted using weighted prediction and non-rectangular merge modes
JP2022550989A (ja) エンコーダ、デコーダ、および、対応する方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230407

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230407

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240403

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20240520