IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ホアウェイ・テクノロジーズ・カンパニー・リミテッドの特許一覧

特許7358473多仮説予測を用いたブロックのための最確モードリスト構成のエンコーダ、デコーダ、および対応する方法
<>
  • 特許-多仮説予測を用いたブロックのための最確モードリスト構成のエンコーダ、デコーダ、および対応する方法 図1A
  • 特許-多仮説予測を用いたブロックのための最確モードリスト構成のエンコーダ、デコーダ、および対応する方法 図1B
  • 特許-多仮説予測を用いたブロックのための最確モードリスト構成のエンコーダ、デコーダ、および対応する方法 図2
  • 特許-多仮説予測を用いたブロックのための最確モードリスト構成のエンコーダ、デコーダ、および対応する方法 図3
  • 特許-多仮説予測を用いたブロックのための最確モードリスト構成のエンコーダ、デコーダ、および対応する方法 図4
  • 特許-多仮説予測を用いたブロックのための最確モードリスト構成のエンコーダ、デコーダ、および対応する方法 図5
  • 特許-多仮説予測を用いたブロックのための最確モードリスト構成のエンコーダ、デコーダ、および対応する方法 図6
  • 特許-多仮説予測を用いたブロックのための最確モードリスト構成のエンコーダ、デコーダ、および対応する方法 図7
  • 特許-多仮説予測を用いたブロックのための最確モードリスト構成のエンコーダ、デコーダ、および対応する方法 図8
  • 特許-多仮説予測を用いたブロックのための最確モードリスト構成のエンコーダ、デコーダ、および対応する方法 図9
  • 特許-多仮説予測を用いたブロックのための最確モードリスト構成のエンコーダ、デコーダ、および対応する方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-29
(45)【発行日】2023-10-10
(54)【発明の名称】多仮説予測を用いたブロックのための最確モードリスト構成のエンコーダ、デコーダ、および対応する方法
(51)【国際特許分類】
   H04N 19/105 20140101AFI20231002BHJP
   H04N 19/593 20140101ALI20231002BHJP
   H04N 19/70 20140101ALI20231002BHJP
【FI】
H04N19/105
H04N19/593
H04N19/70
【請求項の数】 27
(21)【出願番号】P 2021531212
(86)(22)【出願日】2019-11-29
(65)【公表番号】
(43)【公表日】2022-02-07
(86)【国際出願番号】 CN2019122153
(87)【国際公開番号】W WO2020108640
(87)【国際公開日】2020-06-04
【審査請求日】2021-07-30
(31)【優先権主張番号】62/773,149
(32)【優先日】2018-11-29
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/783,149
(32)【優先日】2018-12-20
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】504161984
【氏名又は名称】ホアウェイ・テクノロジーズ・カンパニー・リミテッド
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133569
【弁理士】
【氏名又は名称】野村 進
(72)【発明者】
【氏名】ビャオ・ワン
(72)【発明者】
【氏名】セミフ・エセンリク
(72)【発明者】
【氏名】ジエンレ・チェン
(72)【発明者】
【氏名】アナンド・メヘル・コトラ
(72)【発明者】
【氏名】ハン・ガオ
【審査官】岩井 健二
(56)【参考文献】
【文献】Man-Shu Chiang, et al.,CE10.1: Combined and multi-hypothesis prediction,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-K0257-v1,11th Meeting: Ljubljana, SI,2018年07月,pp.1-6
【文献】Man-Shu Chiang, Chih-Wei Hsu, Yu-Wen Huang, and Shaw-Min Lei,CE10.1.1: Multi-hypothesis prediction for improving AMVP mode, skip or merge mode, and intra mode,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-L0100-v3,12th Meeting: Macao, CN,2018年10月,pp.1-14
【文献】Weiwei Xu, Haitao Yang, Yin Zhao, and Jianle Chen,CE10-related: inter prediction sample filtering,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-L0375-v1,JVET-L0375-v1,2018年10月,pp.1-4
【文献】Chih-Wei Hsu, and Martin Winken,Description of Core Experiment 10: Combined and multi-hypothesis prediction,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-L1030-v2,12th Meeting: Macao, CN,2018年11月04日,pp.1-3
【文献】Weiwei Xu, Biao Wang, Haitao Yang, and Jianle Chen,CE10: Simplification on Combined Inter-Intra Prediction (test 10.1.3),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-0290,13th Meeting: Marrakech, MA,2019年01月,pp.1-4
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
ピクチャのブロックを復号する方法であって、
現在コーディングブロックに対する表示パラメータを取得するステップであって、前記表示パラメータが、前記現在コーディングブロックに多仮説予測が適用されるかどうかを表す、ステップと、
前記現在コーディングブロックに前記多仮説予測が適用されることを前記表示パラメータが表すとき、平面モードに従って前記現在コーディングブロックを復号するステップと、
前記表示パラメータが前記現在コーディングブロックに前記多仮説予測が適用されないことを示すとき、
最確モード(MPM)リストに従って前記現在コーディングブロック用のイントラ予測モードを取得するステップと、を備え、前記MPMリストの中のイントラ予測モードの各々が、MPMリストインデックスの対応する値でインデックス付けされる、
方法。
【請求項2】
前記多仮説予測が、組み合わせられたインターおよびイントラ予測(CIIP)である、請求項1に記載の方法。
【請求項3】
前記表示パラメータがCIIPフラグである、請求項2に記載の方法。
【請求項4】
前記表示パラメータがマージデータシンタックスによって搬送される、請求項1から3のいずれか一項に記載の方法。
【請求項5】
MPMリストインデックスを取得するためにビットストリームを構文解析するステップであって、前記MPMリストインデックスが0~N-1の間の値を有し、Nが前記MPMリストの中の前記イントラ予測モードのエントリである、ステップと、
前記MPMリストインデックスの前記値に従って前記MPMリストから前記現在コーディングブロック用の前記イントラ予測モードを取得するステップと
をさらに備える、請求項1に記載の方法。
【請求項6】
前記MPMリストが少なくとも平面モードを備える、請求項1または5に記載の方法。
【請求項7】
前記MPMリストが、平面モード、ならびにDCモード、垂直モード、および水平モードのうちの少なくとも1つを備える、請求項1または5に記載の方法。
【請求項8】
前記MPMリストが平面モードからなる、請求項1または5に記載の方法。
【請求項9】
前記MPMリストが、事前定義されたデフォルトリストから構成される、請求項1および5から8のいずれか一項に記載の方法。
【請求項10】
前記MPMリストインデックスが10進表現または2進表現にコーディングされる、請求項5に記載の方法。
【請求項11】
請求項1から10のいずれか一項に記載の方法を実行するための処理回路構成を備えるデコーダ。
【請求項12】
デコーダであって、
命令を備えるメモリストレージと、
前記メモリと通信している1つまたは複数のプロセッサとを備え、前記1つまたは複数のプロセッサが、請求項1から10のいずれか一項に記載の方法を実行するために前記命令を実行する、
デコーダ。
【請求項13】
ピクチャのブロックを復号するための装置であって、
現在コーディングブロックに対する表示パラメータを取得するように構成された決定ユニットであって、前記表示パラメータが、前記現在コーディングブロックに多仮説予測が適用されるかどうかを表す、決定ユニットと、
前記現在コーディングブロックに前記多仮説予測が適用されることを前記表示パラメータが表すとき、平面モードに基づいて前記現在コーディングブロックに対してイントラ予測を実行し、
前記表示パラメータが前記現在コーディングブロックに前記多仮説予測が適用されないことを示すとき、
最確モード(MPM)リストに従って前記現在コーディングブロック用のイントラ予測モードを取得するように構成され、前記MPMリストの中のイントラ予測モードの各々が、MPMリストインデックスの対応する値でインデックス付けされる、イントラ予測処理ユニットと、
を備える装置。
【請求項14】
ビデオ信号のビットストリームからの複数のシンタックス要素を構文解析するように構成された構文解析ユニットをさらに備え、
前記決定ユニットが、前記複数のシンタックス要素からの1つのシンタックス要素に基づいて前記平面モードを決定するようにさらに構成される、
請求項13に記載の装置。
【請求項15】
ピクチャのブロックを符号化する方法であって、
現在ブロックに対する表示パラメータを取得するステップであって、前記表示パラメータが、前記現在ブロックに多仮説予測が適用されるかどうかを表す、ステップと、
前記現在ブロックに前記多仮説予測が適用されることを前記表示パラメータが表すとき、平面モードに従って前記現在ブロックを符号化するステップと
前記表示パラメータが前記現在ブロックに前記多仮説予測が適用されないことを示すとき、
最確モード(MPM)リストに従って現在ブロック用のイントラ予測モードを取得するステップと、を備え、前記MPMリストの中のイントラ予測モードの各々が、MPMリストインデックスの対応する値でインデックス付けされる、
方法。
【請求項16】
前記多仮説予測が、組み合わせられたインターおよびイントラ予測(CIIP)である、請求項15に記載の方法。
【請求項17】
前記表示パラメータがCIIPフラグである、請求項16に記載の方法。
【請求項18】
前記表示パラメータがマージデータシンタックスによって搬送される、請求項15から17のいずれか一項に記載の方法。
【請求項19】
前記MPMリストが少なくとも平面モードを備える、請求項15に記載の方法。
【請求項20】
前記MPMリストが、平面モード、ならびにDCモード、垂直モード、および水平モードのうちの少なくとも1つを備える、請求項15に記載の方法。
【請求項21】
前記MPMリストが平面モードからなる、請求項15に記載の方法。
【請求項22】
前記MPMリストが、事前定義されたデフォルトリストから構成される、請求項18から21のいずれか一項に記載の方法。
【請求項23】
前記MPMリストインデックスが10進表現または2進表現にコーディングされる、請求項18から22のいずれか一項に記載の方法。
【請求項24】
請求項15から23のいずれか一項に記載の方法を実行するための処理回路構成を備えるエンコーダ。
【請求項25】
エンコーダであって、
命令を備えるメモリストレージと、
前記メモリと通信している1つまたは複数のプロセッサとを備え、前記1つまたは複数のプロセッサが、請求項15から23のいずれか一項に記載の方法を実行するために前記命令を実行する、
エンコーダ。
【請求項26】
コンピュータ上またはプロセッサ上で実行されたとき、請求項15から23のいずれか一項に記載の方法を実行するためのプログラムコードを備えるプログラム。
【請求項27】
ピクチャのブロックを符号化するための装置であって、
現在ブロックに対する表示パラメータを取得するように構成された決定ユニットであって、前記表示パラメータが、前記現在ブロックに多仮説予測が適用されるかどうかを表す、決定ユニットと、
前記現在ブロックに前記多仮説予測が適用されることを前記表示パラメータが表すとき、平面モードに従って前記現在ブロックを符号化し、
前記表示パラメータが前記現在ブロックに前記多仮説予測が適用されないことを示すとき、最確モード(MPM)リストに従って前記現在ブロック用のイントラ予測モードを取得するように構成され、前記MPMリストの中のイントラ予測モードの各々が、MPMリストインデックスの対応する値でインデックス付けされた、イントラ予測処理ユニットと
を備える装置。
【発明の詳細な説明】
【技術分野】
【0002】
本出願(開示)の実施形態は、一般に、ピクチャ処理の分野に関し、より詳細には、最確モードリストを構成することに関する。
【背景技術】
【0003】
ビデオコーディング(ビデオ符号化およびビデオ復号)は、幅広いデジタルビデオ適用例、たとえば、ブロードキャストデジタルTV、インターネットおよびモバイルネットワークを介したビデオ送信、ビデオチャット、ビデオ会議などの、リアルタイム会話型適用例、DVDおよびBlu-ray(登録商標)ディスク、ビデオコンテンツ収集および編集システム、ならびにセキュリティ適用例のカムコーダにおいて使用される。
【0004】
比較的短いビデオを描写するのに必要とされるビデオデータの量でさえ相当であり得、そのことは、帯域幅容量が限定された通信ネットワークを越えてデータがストリーミングされるかまたは別の方法で通信されることになるときに、困難をもたらすことがある。したがって、ビデオデータは、一般に、現代の電気通信ネットワークを越えて通信される前に圧縮される。メモリリソースが限定されることがあるので、ビデオが記憶デバイス上に記憶されるときにビデオのサイズも問題となり得る。ビデオ圧縮デバイスは、しばしば、送信または記憶の前に、ソースにおいてソフトウェアおよび/またはハードウェアを使用してビデオデータをコーディングし、それによって、デジタルビデオ画像を表現するのに必要とされるデータの数量を減らす。圧縮されたデータは、次いで、ビデオデータを復号するビデオ復元デバイスによって宛先において受信される。ネットワークリソースが限定され、かつより高いビデオ品質の需要が絶えず増大すると、ピクチャ品質における犠牲をほとんど伴わずに圧縮率を改善する、改善された圧縮および復元技法が望ましい。
【発明の概要】
【課題を解決するための手段】
【0005】
復号の計算量を低減し、したがって、ビデオ復号効率を高めることを可能にする、改善された方法および装置を提供することが本発明の一目的である。
【0006】
上記および他の目的は、独立請求項の主題によって達成される。さらなる実装形態が、従属請求項、説明、および図から明らかである。
【0007】
第1の態様によれば、本開示は、復号デバイスによって実施される、ピクチャ(またはフレーム)のブロックを復号する方法に関し、方法は、ビットストリームに従って現在コーディングブロックに対する表示パラメータを取得するステップであって、表示パラメータが、現在コーディングブロックに多仮説予測が適用されるか否かを表す、ステップと、
ビットストリームに従って現在コーディングブロックに対するインデックスパラメータを取得するステップと、
表示パラメータの値に従って、現在コーディングブロックに多仮説予測が適用されるとき、インデックスパラメータおよび既定のリストに従って現在コーディングブロック用のイントラ予測モードを取得するステップであって、既定のリストが、以下のイントラ予測モード、すなわち、平面モード、DCモード、垂直モード、水平モードを順序正しく備える、ステップと、現在コーディングブロック用のイントラ予測モードに従って現在コーディングブロックを復号するステップとを備える。
【0008】
第2の態様によれば、本開示は、復号デバイスによって実施される、ピクチャ(またはフレーム)のブロックを復号する方法に関し、方法は、ビットストリームに従って現在コーディングブロックに対する表示パラメータを取得するステップであって、表示パラメータが、現在コーディングブロックに多仮説予測が適用されるか否かを表す、ステップと、
ビットストリームに従って現在コーディングブロックに対するインデックスパラメータを取得するステップと、
表示パラメータの値に従って、現在コーディングブロックに多仮説予測が適用されるとき、インデックスパラメータおよび既定のリストに従って現在コーディングブロック用のイントラ予測モードを取得するステップであって、既定のリストが、以下のイントラ予測モード、すなわち、平面モード、DCモード、垂直モードを順序正しく備える、ステップと、現在コーディングブロック用のイントラ予測モードに従って現在コーディングブロックを復号するステップとを備える。
【0009】
第3の態様によれば、本開示は、復号デバイスによって実施される、ピクチャ(またはフレーム)のブロックを復号する方法に関し、方法は、ビットストリームに従って現在コーディングブロックに対する表示パラメータを取得するステップであって、表示パラメータが、現在コーディングブロックに多仮説予測が適用されるか否かを表す、ステップと、
ビットストリームに従って現在コーディングブロックに対するインデックスパラメータを取得するステップと、
表示パラメータの値に従って、現在コーディングブロックに多仮説予測が適用されるとき、
インデックスパラメータおよび既定のリストに従って現在コーディングブロック用のイントラ予測モードを取得するステップであって、既定のリストが、以下のイントラ予測モード、すなわち、平面モード、DCモードを順序正しく備える、ステップと、
現在コーディングブロック用のイントラ予測モードに従って現在コーディングブロックを復号するステップとを備える。
【0010】
第4の態様によれば、本開示は、復号デバイスによって実施される、ピクチャ(またはフレーム)のブロックを復号する方法に関し、方法は、
ビットストリームに従って現在コーディングブロックに対する表示パラメータを取得するステップであって、表示パラメータが、現在コーディングブロックに多仮説予測が適用されるか否かを表すステップと、
表示パラメータの値に従って、現在コーディングブロックに多仮説予測が適用されるとき、
平面モードに従って現在コーディングブロックを復号するステップとを備える。
【0011】
第5の態様によれば、本開示は、復号デバイスによって実施される、ピクチャ(またはフレーム)のブロックを復号する方法に関し、方法は、
ビットストリームに従って現在コーディングブロックに対する表示パラメータを取得するステップであって、表示パラメータが、現在コーディングブロックに多仮説予測が適用されるか否かを表す、ステップと、
ビットストリームに従って現在コーディングブロックに対するインデックスパラメータを取得するステップと、
表示パラメータの値に従って、現在コーディングブロックに多仮説予測が適用されるとき、
インデックスパラメータおよび既定のリストに従って現在コーディングブロック用のイントラ予測モードを取得するステップであって、既定のリストが、以下のイントラ予測モード、すなわち、DCモード、平面モード、垂直モード、水平モードを順序正しく備える、ステップと、
現在コーディングブロック用のイントラ予測モードに従って現在コーディングブロックを復号するステップとを備える。
【0012】
第6の態様によれば、本開示は、復号デバイスによって実施される、ピクチャ(またはフレーム)のブロックを復号する方法に関し、方法は、
ビットストリームに従って現在コーディングブロックに対する表示パラメータを取得するステップであって、表示パラメータが、現在コーディングブロックに多仮説予測が適用されるか否かを表す、ステップと、
ビットストリームに従って現在コーディングブロックに対するインデックスパラメータを取得するステップと、
表示パラメータの値に従って、現在コーディングブロックに多仮説予測が適用されるとき、
インデックスパラメータおよび既定のリストに従って現在コーディングブロック用のイントラ予測モードを取得するステップであって、既定のリストが、以下のイントラ予測モード、すなわち、DCモード、平面モード、垂直モードを順序正しく備える、ステップと、
現在コーディングブロック用のイントラ予測モードに従って現在コーディングブロックを復号するステップとを備える。
【0013】
第7の態様によれば、本開示は、復号デバイスによって実施される、ピクチャ(またはフレーム)のブロックを復号する方法に関し、方法は、
ビットストリームに従って現在コーディングブロックに対する表示パラメータを取得するステップであって、表示パラメータが、現在コーディングブロックに多仮説予測が適用されるか否かを表す、ステップと、
ビットストリームに従って現在コーディングブロックに対するインデックスパラメータを取得するステップと、
表示パラメータの値に従って、現在コーディングブロックに多仮説予測が適用されるとき、
インデックスパラメータおよび既定のリストに従って現在コーディングブロック用のイントラ予測モードを取得するステップであって、既定のリストが、以下のイントラ予測モード、すなわち、DCモード、平面モードを順序正しく備える、ステップと、
現在コーディングブロック用のイントラ予測モードに従って現在コーディングブロックを復号するステップとを備える。
【0014】
第8の態様によれば、本開示は、復号デバイスによって実施される、ピクチャ(またはフレーム)のブロックを復号する方法に関し、方法は、
ビットストリームに従って現在コーディングブロックに対する表示パラメータを取得するステップであって、表示パラメータが、現在コーディングブロックに多仮説予測が適用されるか否かを表す、ステップと、
表示パラメータの値に従って、現在コーディングブロックに多仮説予測が適用されるとき、
DCモードに従って現在コーディングブロックを復号するステップとを備える。
【0015】
第9の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能であり、かつ左のブロックのイントラ予測モードに対応する値が第1の既定の範囲(一例では、範囲は、2および34を含む、2から34までであり得る)の中にあるとき、MPMリストの中に水平モードを追加するステップとを備える。
【0016】
第10の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能であり、かつ左のブロックのイントラ予測モードに対応する値が第1の既定の範囲(一例では、範囲は、35および66を含む、35から66までであり得る)の中にあるとき、MPMリストの中に垂直モードを追加するステップとを備える。
【0017】
第11の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能であり、かつ左のブロックのイントラ予測モードに対応する値が第1の既定の範囲(一例では、範囲は、2および34を含む、2から34までであり得る)の中にあるとき、MPMリストの中に水平モードを追加するステップと、
現在コーディングブロックの上のブロックが利用可能であり、かつ上のブロックのイントラ予測モードに対応する値が第1の既定の範囲(一例では、範囲は、2および34を含む、2から34までであり得る)の中にあるとき、MPMリストの中に別の水平モードを追加するステップとを備える。
【0018】
第12の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能であり、かつ左のブロックのイントラ予測モードに対応する値が第1の既定の範囲(一例では、範囲は、2および34を含む、2から34までであり得る)の中にあるとき、MPMリストの中に水平モードを追加するステップと、
現在コーディングブロックの上のブロックが利用可能であり、かつ上のブロックのイントラ予測モードに対応する値が第1の既定の範囲(一例では、範囲は、2および34を含む、2から34までであり得る)の中にあるとき、MPMリストの中に平面モード、DCモード、および垂直モードを追加するステップとを備える。
【0019】
第13の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能であり、かつ左のブロックのイントラ予測モードに対応する値が第1の既定の範囲(一例では、範囲は、2および34を含む、2から34までであり得る)の中にあるとき、MPMリストの中に水平モードを追加するステップと、
現在コーディングブロックの上のブロックが利用可能であり、かつ上のブロックのイントラ予測モードに対応する値が第2の既定の範囲(一例では、範囲は、35および66を含む、35から66までであり得る)の中にあるとき、MPMリストの中に垂直モードを追加するステップとを備える。
【0020】
第14の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能であり、かつ左のブロックのイントラ予測モードに対応する値が第2の既定の範囲(一例では、範囲は、35および66を含む、35から66までであり得る)の中にあるとき、MPMリストの中に垂直モードを追加するステップと、
現在コーディングブロックの上のブロックが利用可能であり、かつ上のブロックのイントラ予測モードに対応する値が第2の既定の範囲(一例では、範囲は、35および66を含む、35から66までであり得る)の中にあるとき、MPMリストの中に別の垂直モードを追加するステップとを備える。
【0021】
第15の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能であり、かつ左のブロックのイントラ予測モードに対応する値が第2の既定の範囲(一例では、範囲は、35および66を含む、35から66までであり得る)の中にあるとき、MPMリストの中に垂直モードを追加するステップと、
現在コーディングブロックの上のブロックが利用可能であり、かつ上のブロックのイントラ予測モードに対応する値が第2の既定の範囲(一例では、範囲は、35および66を含む、35から66までであり得る)の中にあるとき、MPMリストの中に平面モード、DCモード、および水平モードを追加するステップとを備える。
【0022】
第16の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能であり、かつ左のブロックのイントラ予測モードに対応する値が第2の既定の範囲(一例では、範囲は、35および66を含む、35から66までであり得る)の中にあるとき、MPMリストの中に垂直モードを追加するステップと、
現在コーディングブロックの上のブロックが利用可能であり、かつ上のブロックのイントラ予測モードに対応する値が第1の既定の範囲(一例では、範囲は、2および34を含む、2から34までであり得る)の中にあるとき、MPMリストの中に水平モードを追加するステップとを備える。
【0023】
第17の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能でなく、かつ現在コーディングブロックの上のブロックが利用可能でないとき、
MPMリストの中に平面モード、DCモードを追加するステップとを備える。
【0024】
第18の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能でなく、現在コーディングブロックの上のブロックが利用可能であり、かつ上のブロックのイントラ予測モードが平面モードであるとき、
MPMリストの中に平面モード、DCモードを追加するステップとを備える。
【0025】
第19の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能でなく、現在コーディングブロックの上のブロックが利用可能であり、かつ上のブロックのイントラ予測モードがDCモードであるとき、
MPMリストの中にDCモード、平面モードを追加するステップとを備える。
【0026】
第20の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能でなく、現在コーディングブロックの上のブロックが利用可能であり、かつ上のブロックのイントラ予測モードに対応する値が第2の既定の範囲(一例では、範囲は、35および66を含む、35から66までであり得る)の中にあるとき、
MPMリストの中に垂直モード、DCモード、平面モードを追加するステップとを備える。
【0027】
第21の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能でなく、現在コーディングブロックの上のブロックが利用可能であり、かつ上のブロックのイントラ予測モードに対応する値が第1の既定の範囲(一例では、範囲は、2および34を含む、2から34までであり得る)の中にあるとき、
MPMリストの中に水平モード、DCモードを追加するステップとを備える。
【0028】
第22の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能であり、左のブロックのイントラ予測モードが平面モードであり、かつ現在コーディングブロックの上のブロックが利用可能でないとき、
MPMリストの中に平面モード、DCモードを追加するステップとを備える。
【0029】
第23の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能であり、左のブロックのイントラ予測モードが平面モードであり、現在コーディングブロックの上のブロックが利用可能であり、かつ上のブロックのイントラ予測モードが平面モードであるとき、
MPMリストの中に平面モード、DCモードを追加するステップとを備える。
【0030】
第24の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能であり、左のブロックのイントラ予測モードが平面モードであり、現在コーディングブロックの上のブロックが利用可能であり、かつ上のブロックのイントラ予測モードがDCモードであるとき、
MPMリストの中に平面モード、DCモードを追加するステップとを備える。
【0031】
第25の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能であり、左のブロックのイントラ予測モードが平面モードであり、現在コーディングブロックの上のブロックが利用可能であり、かつ上のブロックのイントラ予測モードに対応する値が第2の既定の範囲(一例では、範囲は、35および66を含む、35から66までであり得る)の中にあるとき、
MPMリストの中に平面モード、垂直モードを追加するステップとを備える。
【0032】
第26の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能であり、左のブロックのイントラ予測モードが平面モードであり、現在コーディングブロックの上のブロックが利用可能であり、かつ上のブロックのイントラ予測モードに対応する値が第1の既定の範囲(一例では、範囲は、2および34を含む、2から34までであり得る)の中にあるとき、
MPMリストの中に平面モード、水平モードを追加するステップとを備える。
【0033】
第27の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能であり、左のブロックのイントラ予測モードがDCモードであり、かつ現在コーディングブロックの上のブロックが利用可能でないとき、
MPMリストの中にDCモード、平面モードを追加するステップとを備える。
【0034】
第28の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能であり、左のブロックのイントラ予測モードがDCモードであり、現在コーディングブロックの上のブロックが利用可能であり、かつ上のブロックのイントラ予測モードが平面モードであるとき、
MPMリストの中にDCモード、平面モードを追加するステップとを備える。
【0035】
第29の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能であり、左のブロックのイントラ予測モードがDCモードであり、現在コーディングブロックの上のブロックが利用可能であり、かつ上のブロックのイントラ予測モードがDCモードであるとき、
MPMリストの中にDCモード、平面モードを追加するステップとを備える。
【0036】
第30の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能であり、左のブロックのイントラ予測モードがDCモードであり、現在コーディングブロックの上のブロックが利用可能であり、かつ上のブロックのイントラ予測モードに対応する値が第2の既定の範囲(一例では、範囲は、35および66を含む、35から66までであり得る)の中にあるとき、
MPMリストの中にDCモード、垂直モードを追加するステップとを備える。
【0037】
第31の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能であり、左のブロックのイントラ予測モードがDCモードであり、現在コーディングブロックの上のブロックが利用可能であり、かつ上のブロックのイントラ予測モードに対応する値が第1の既定の範囲(一例では、範囲は、2および34を含む、2から34までであり得る)の中にあるとき、
MPMリストの中にDCモード、水平モードを追加するステップとを備える。
【0038】
第32の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能であり、左のブロックのイントラ予測モードに対応する値が第2の既定の範囲(一例では、範囲は、35および66を含む、35から66までであり得る)の中にあり、かつ現在コーディングブロックの上のブロックが利用可能でないとき、MPMリストの中に垂直モード、平面モードを追加するステップとを備える。
【0039】
第33の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能であり、左のブロックのイントラ予測モードに対応する値が第2の既定の範囲(一例では、範囲は、35および66を含む、35から66までであり得る)の中にあり、現在コーディングブロックの上のブロックが利用可能であり、かつ上のブロックのイントラ予測モードが平面モードであるとき、MPMリストの中に垂直モード、平面モードを追加するステップとを備える。
【0040】
第34の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能であり、左のブロックのイントラ予測モードに対応する値が第2の既定の範囲(一例では、範囲は、35および66を含む、35から66までであり得る)の中にあり、現在コーディングブロックの上のブロックが利用可能であり、かつ上のブロックのイントラ予測モードがDCモードであるとき、MPMリストの中に垂直モード、DCモードを追加するステップとを備える。
【0041】
第35の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能であり、左のブロックのイントラ予測モードに対応する値が第1の既定の範囲(一例では、範囲は、2および34を含む、2から34までであり得る)の中にあり、かつ現在コーディングブロックの上のブロックが利用可能でないとき、
MPMリストの中に水平モード、平面モードを追加するステップとを備える。
【0042】
第36の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能であり、左のブロックのイントラ予測モードに対応する値が第1の既定の範囲(一例では、範囲は、2および34を含む、2から34までであり得る)の中にあり、現在コーディングブロックの上のブロックが利用可能であり、かつイントラ予測モード、上のブロックが平面モードであるとき、
MPMリストの中に水平モード、平面モードを追加するステップとを備える。
【0043】
第37の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能であり、左のブロックのイントラ予測モードに対応する値が第1の既定の範囲(一例では、範囲は、2および34を含む、2から34までであり得る)の中にあり、現在コーディングブロックの上のブロックが利用可能であり、かつイントラ予測モード、上のブロックがDCモードであるとき、
MPMリストの中に水平モード、DCモードを追加するステップとを備える。
【0044】
第38の態様によれば、本開示は、最確モードMPMリストに従ってブロックを処理する方法に関し、方法は、
現在ブロックの隣接ブロックのイントラモードに従って現在ブロック用の第1のMPMリストを構成するステップと(一例では、現在ブロックのMPMリストは6個のイントラモードを備える。一例では、1つのMPMリストが1つまたは複数のイントラモードを備えることは、MPMリストが1つまたは複数のイントラモードに対応する1つまたは複数の値を備えることを意味し、1つの値が1つのイントラモードに対応する)、
現在ブロックの第1のMPMリストの1つまたは複数のイントラモードに従って現在ブロックの第2のMPMリストを構成することと、
ビットストリームに従って現在ブロックに対する表示パラメータを取得することであって、表示パラメータが、現在ブロックに多仮説予測が適用されるか否かを表すことと、
表示パラメータの値に従って、現在ブロックを処理するために第1のMPMリストまたは第2のMPMリストを使用することと(たとえば、MPMリストは現在ブロックのイントラ予測において使用され得る)を備える。
【0045】
そのように第1の態様または第38の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、現在ブロックの第1のMPMリストの1つまたは複数のイントラモードに従って現在ブロックの第2のMPMリストを構成するステップが、
現在ブロックの第2のMPMリストが1つのイントラモードを備えるとき、現在ブロックの第1のMPMリストの中の第1のイントラモードに従って現在ブロックの第2のMPMリストを構成するステップを備えることを、さらに備える。
【0046】
そのように第1の態様または第38の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、現在ブロックの第1のMPMリストの1つまたは複数のイントラモードに従って現在ブロックの第2のMPMリストを構成するステップが、
現在ブロックの第2のMPMリストが2つのイントラモードを備えるとき、現在ブロックの第1のMPMリストの中の第1のイントラモードおよび第2のイントラモードに従って現在ブロックの第2のMPMリストを構成するステップを備えることを、さらに備える。
【0047】
そのように第1の態様または第37の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、現在ブロックの第1のMPMリストの1つまたは複数のイントラモードに従って現在ブロックの第2のMPMリストを構成するステップと、
現在ブロックの第2のMPMリストが3つのイントラモードを備えるとき、現在ブロックの第1のMPMリストの中の第1のイントラモード、第2のイントラモード、および第3のイントラモードに従って現在ブロックの第2のMPMリストを構成するステップを備えることを、さらに備える。
【0048】
そのように第1の態様または第38の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、現在ブロックの第1のMPMリストの1つまたは複数のイントラモードに従って現在ブロックの第2のMPMリストを構成するステップが、
現在ブロックの第2のMPMリストが4つのイントラモードを備えるとき、現在ブロックの第1のMPMリストの中の第1のイントラモード、第2のイントラモード、第3のイントラモード、および第4のイントラモードに従って現在ブロックの第2のMPMリストを構成するステップを備えることを、さらに備える。
【0049】
そのように第1の態様または第38の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、現在ブロックの第1のMPMリストの中の第1のイントラモードが平面モードであるとき、第2のMPMリストの中に平面モードが追加されることをさらに備える(一例では、平面モードが現在ブロックのMPMリストの中の第1のイントラモードである)。
【0050】
そのように第1の態様または第38の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、現在ブロックの第1のMPMリストの中の第1のイントラモードがDCモードであるとき、第2のMPMリストの中にDCモードが追加されることをさらに備える(一例では、DCモードが現在ブロックの第2のMPMリストの中の第1のイントラモードである)。
【0051】
そのように第1の態様または第38の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、現在ブロックの第1のMPMリストの中の第1のイントラ予測モードに対応する値が第1の既定の範囲(一例では、範囲は、2および34を含む、2から34までであり得る)の中にあるとき、現在ブロックの第2のMPMリストの中に水平モードが追加されることをさらに備える(一例では、水平モードが現在ブロックの第2のMPMリストの中の第1のイントラモードである)。
【0052】
そのように第1の態様または第38の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、現在ブロックの第1のMPMリストの中の第1のイントラ予測モードに対応する値が第2の既定の範囲(一例では、範囲は、35および66を含む、35から66までであり得る)の中にあり、現在ブロックの第2のMPMリストの中に垂直モードが追加されることをさらに備える(一例では、垂直モードが現在ブロックの第2のMPMリストの中の第1のイントラモードである)。
【0053】
第39の態様によれば、本開示は、イントラ予測のための最確モードMPMリストを構成する方法に関し、方法は、
ビットストリームに従って現在ブロックに対する表示パラメータを取得するステップであって、表示パラメータが、現在コーディングブロックに多仮説予測が適用されるか否かを表す、ステップと、
表示パラメータの値に従って、現在コーディングブロックに多仮説予測が適用されるとき、
現在コーディングブロックの左のブロック(たとえば、図6の中のブロックL)が利用可能であるか否かを決定するステップと(たとえば、左のブロックのイントラ予測モードがない場合、左のブロックは利用可能でなく、左のブロックのイントラ予測モードがある場合、左のブロックは利用可能である)、
現在コーディングブロックの左のブロックが利用可能でないとき、現在コーディングブロックのMPMリストの中に平面モードを追加するステップとを備える(一例では、この追加ステップの前、現在コーディングブロックのMPMリストは空のリストであってよい)。
【0054】
そのように第39の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、
現在コーディングブロックの左のブロックが利用可能であり、かつ左のブロックのイントラモードが平面モードであるとき、現在コーディングブロックのMPMリストの中に平面モードを追加するステップをさらに備える(一例では、この追加ステップの前、現在コーディングブロックのMPMリストは空のリストであってよい)。
【0055】
そのように第39の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、
現在コーディングブロックの左のブロックが利用可能であり、かつ左のブロックのイントラモードがDCモードであるとき、現在コーディングブロックのMPMリストの中にDCモードを追加するステップをさらに備える(一例では、この追加ステップの前、現在コーディングブロックのMPMリストは空のリストであってよい)。
【0056】
そのように第39の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、
現在コーディングブロックの左のブロックが利用可能であり、かつ左のブロックのイントラモードに対応する値が第1の既定の範囲(一例では、範囲は、2および34を含む、2から34までであり得る)の中にあるとき、現在コーディングブロックのMPMリストの中に水平モードを追加するステップをさらに備える(一例では、この追加ステップの前、現在コーディングブロックのMPMリストは空のリストであってよい)。
【0057】
そのように第39の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、
現在コーディングブロックの左のブロックが利用可能であり、かつ左のブロックのイントラモードに対応する値が第2の既定の範囲(一例では、範囲は、35および66を含む、35から66までであり得る)の中にあるとき、現在コーディングブロックのMPMリストの中に垂直モードを追加するステップをさらに備える(一例では、この追加ステップの前、現在コーディングブロックのMPMリストは空のリストであってよい)。
【0058】
そのように第39の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの上のブロックが利用可能でないとき、現在コーディングブロックのMPMリストの中に平面モードを追加するステップとをさらに備える。(一例では、この追加ステップの前、現在コーディングブロックのMPMリストは1つのイントラモードを備える。この追加プロセスの後、MPMリストは2つのイントラモードを備え、たとえば、MPMリストは、(0,0)または(1,0)または(50,0)または(18,0)を備えてよい。)
【0059】
そのように第39の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、
現在コーディングブロックの上のブロック(たとえば、図6の中のブロックA)が利用可能であるか否かを決定するステップと(たとえば、上のブロックのイントラ予測モードがない場合、上のブロックは利用可能でなく、上のブロックのイントラ予測モードがある場合、上のブロックは利用可能である)、
現在コーディングブロックの上のブロックが利用可能でなく、かつ現在コーディングブロックのMPMリストの中に平面モードが備えられていないとき(一例では、左のブロックのイントラモードがDCモードまたは角度モードであるとき、MPMリストの中に第1のイントラモードが追加された後、MPMリストの中に平面モードが備えられていない)、現在コーディングブロックのMPMリストの中に平面モードを追加するステップとをさらに備える。(一例では、この追加ステップの前、現在コーディングブロックのMPMリストは1つのイントラモードを備える。この追加プロセスの後、MPMリストは2つのイントラモードを備え、たとえば、MPMリストは、(1,0)または(50,0)または(18,0)を備えてよい。)
【0060】
そのように第39の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、
現在コーディングブロックの上のブロックが利用可能であり、かつ上のブロックのイントラモードが平面モードであるとき、現在コーディングブロックのMPMリストの中に平面モードを追加するステップをさらに備える。(一例では、この追加ステップの前、現在コーディングブロックのMPMリストは1つのイントラモードを備える。この追加プロセスの後、MPMリストは2つのイントラモードを備え、たとえば、MPMリストは、(0,0)または(1,0)または(50,0)または(18,0)を備えてよい。)
【0061】
そのように第39の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、
現在コーディングブロックの上のブロックが利用可能であり、上のブロックのイントラモードが平面モードであり、かつ現在コーディングブロックのMPMリストの中に平面モードが備えられていないとき(一例では、左のブロックのイントラモードがDCモードまたは角度モードであるとき、MPMリストの中に第1のイントラモードが追加された後、MPMリストの中に平面モードが備えられていない)、現在コーディングブロックのMPMリストの中に平面モードを追加するステップをさらに備える。(一例では、この追加ステップの前、現在コーディングブロックのMPMリストは1つのイントラモードを備える。この追加プロセスの後、MPMリストは2つのイントラモードを備え、たとえば、MPMリストは、(1,0)または(50,0)または(18,0)を備えてよい。)
【0062】
そのように第39の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、
現在コーディングブロックの上のブロックが利用可能であり、かつ上のブロックのイントラモードがDCモードであるとき、現在コーディングブロックのMPMリストの中にDCモードを追加するステップをさらに備える(一例では、この追加ステップの前、現在コーディングブロックのMPMリストは1つのイントラモードを備える。この追加プロセスの後、MPMリストは2つのイントラモードを備え、たとえば、MPMリストは、(0,1)または(1,1)または(50,1)または(18,1)を備えてよい。)
【0063】
そのように第39の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、
現在コーディングブロックの上のブロックが利用可能であり、上のブロックのイントラモードがDCモードであり、かつ現在コーディングブロックのMPMリストの中にDCモードが備えられていないとき(一例では、左のブロックのイントラモードがDCモードでないとき、MPMリストの中に第1のイントラモードが追加された後、MPMリストの中にDCモードが備えられていない)、現在コーディングブロックのMPMリストの中にDCモードを追加するステップをさらに備える。(一例では、この追加ステップの前、現在コーディングブロックのMPMリストは1つのイントラモードを備える。この追加プロセスの後、MPMリストは2つのイントラモードを備え、たとえば、MPMリストは、(0,1)または(50,1)または(18,1)を備えてよい。)
【0064】
そのように第39の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、
現在コーディングブロックの上のブロックが利用可能であり、かつ上のブロックのイントラモードに対応する値が第1の既定の範囲(一例では、範囲は、2および34を含む、2から34までであり得る)の中にあるとき、現在コーディングブロックのMPMリストの中に水平モードを追加するステップをさらに備える。(一例では、この追加ステップの前、現在コーディングブロックのMPMリストは1つのイントラモードを備える。この追加プロセスの後、MPMリストは2つのイントラモードを備え、たとえば、MPMリストは、(0,18)または(1,18)または(50,18)または(18,18)を備えてよい。)
【0065】
そのように第39の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、
現在コーディングブロックの上のブロックが利用可能であり、上のブロックのイントラモードに対応する値が第1の既定の範囲(一例では、範囲は、2および34を含む、2から34までであり得る)の中にあり、かつ現在コーディングブロックのMPMリストの中に水平モードが備えられていないとき(一例では、左のブロックのイントラモードがDCモードもしくは平面モードであるか、または左のブロックのイントラモードに対応する値が第1の既定の範囲の中にないとき、MPMリストの中に第1のイントラモードが追加された後、MPMリストの中に水平モードが備えられていない)、現在コーディングブロックのMPMリストの中に水平モードを追加するステップをさらに備える。(一例では、この追加ステップの前、現在コーディングブロックのMPMリストは1つのイントラモードを備える。この追加プロセスの後、MPMリストは2つのイントラモードを備え、たとえば、MPMリストは、(0,18)または(1,18)または(50,18)を備えてよい。)
【0066】
そのように第39の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、
現在コーディングブロックの上のブロックが利用可能であり、かつ上のブロックのイントラモードに対応する値が第2の既定の範囲(一例では、範囲は、35および66を含む、35から66までであり得る)の中にあるとき、現在コーディングブロックのMPMリストの中に垂直モードを追加するステップをさらに備える。(一例では、この追加ステップの前、現在コーディングブロックのMPMリストは1つのイントラモードを備える。この追加プロセスの後、MPMリストは2つのイントラモードを備え、たとえば、MPMリストは、(0,50)または(1,50)または(50,50)または(18,50)を備えてよい。)
【0067】
そのように第39の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、
現在コーディングブロックの上のブロックが利用可能であり、上のブロックのイントラモードに対応する値が第2の既定の範囲(一例では、範囲は、35および66を含む、35から66までであり得る)の中にあり、かつ現在コーディングブロックのMPMリストの中に垂直モードが備えられていないとき(一例では、左のブロックのイントラモードがDCモードもしくは平面モードであるか、または左のブロックのイントラモードに対応する値が第2の既定の範囲の中にないとき、MPMリストの中に第1のイントラモードが追加された後、MPMリストの中に垂直モードが備えられていない)、現在コーディングブロックのMPMリストの中に垂直モードを追加するステップをさらに備える(一例では、この追加ステップの前、現在コーディングブロックのMPMリストは1つのイントラモードを備える。この追加プロセスの後、MPMリストは2つのイントラモードを備え、たとえば、MPMリストは、(0,50)または(1,50)または(18,50)を備えてよい。)
【0068】
そのように第39の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、
現在コーディングブロックのMPMリストの中の1つまたは複数のイントラモードの数量が既定の値(たとえば、値は2、3、または4であってよい)よりも小さく、かつ現在コーディングブロックのMPMリストの中に平面モードが備えられていないとき、現在コーディングブロックのMPMリストの中に平面モードを追加するステップをさらに備える。
【0069】
そのように第39の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、
現在コーディングブロックのMPMリストの中の1つまたは複数のイントラモードの数量が既定の値(たとえば、値は2、3、または4であってよい)よりも小さく、かつ現在コーディングブロックのMPMリストの中にDCモードが備えられていないとき、現在コーディングブロックのMPMリストの中にDCモードを追加するステップをさらに備える。
【0070】
そのように第39の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、
現在コーディングブロックのMPMリストの中の1つまたは複数のイントラモードの数量が既定の値(たとえば、値は2、3、または4であってよい)よりも小さく、かつ現在コーディングブロックのMPMリストの中に垂直モードが備えられていないとき、現在コーディングブロックのMPMリストの中に垂直モードを追加するステップをさらに備える。
【0071】
そのように第39の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、
現在コーディングブロックのMPMリストの中の1つまたは複数のイントラモードの数量が既定の値(たとえば、値は2、3、または4であってよい)よりも小さく、かつ現在コーディングブロックのMPMリストの中に水平モードが備えられていないとき、現在コーディングブロックのMPMリストの中に水平モードを追加するステップをさらに備える。
【0072】
第40の態様によれば、本開示は、復号デバイスによって実施される、ピクチャ(またはフレーム)のブロックを復号する方法に関し、方法は、
現在ブロックの隣接ブロックのイントラモードに従って現在ブロック用の最確モードMPMリストを構成するステップであって(一例では、現在ブロックのMPMリストは6個のイントラモードを備える。一例では、1つのMPMリストが1つまたは複数のイントラモードを備えることは、MPMリストが1つまたは複数のイントラモードに対応する1つまたは複数の値を備えることを意味し、1つの値が1つのイントラモードに対応する)、MPMリストが、1つまたは複数の角度モードを備えることと、
ビットストリームに従って現在ブロックに対する表示パラメータを取得することであって、表示パラメータが、現在ブロックに多仮説予測が適用されるか否かを表すことと、
ビットストリームに従って現在ブロックに対するインデックスパラメータを取得することと、
表示パラメータの値に従って、現在ブロックに多仮説予測が適用されるとき、
インデックスパラメータ、および現在ブロックのMPMリストに従って、現在ブロック用のイントラ予測モードを取得することと、
現在ブロックのイントラ予測モードに対応する値が既定の範囲(一例では、範囲は、2および34を含む、2から34までであり得るか、または範囲は、35および66を含む、35から66までであり得る)の中にあるとき、既定のモード(たとえば、既定のモードは水平モードまたは垂直モードであってよい)に従って現在ブロックを復号することとを備える。
【0073】
そのように第40の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、現在ブロックのイントラ予測モードに対応する値が(2および34を含む)範囲2~34の中にあるとき、既定のモードが水平モードであること、または現在ブロックのイントラ予測モードに対応する値が(2および33を含む)範囲2~33の中にあるとき、既定のモードが水平モードであることをさらに備える。
【0074】
そのように第40の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、現在ブロックのイントラ予測モードに対応する値が(35および66を含む)範囲35~66の中にあるとき、既定のモードが垂直モードであること、または現在ブロックのイントラ予測モードに対応する値が(34および66を含む)範囲34~66の中にあるとき、既定のモードが垂直モードであることをさらに備える。
【0075】
そのように第40の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、現在ブロックのイントラ予測モードが角度モードであるとき(たとえば、現在ブロックのイントラ予測モードに対応する値が、2および66を含む範囲2~66の中にある)、既定のモードが平面モードであることをさらに備える。
【0076】
そのように第40の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、現在ブロックのイントラ予測モードが角度モードであるとき(たとえば、現在ブロックのイントラ予測モードに対応する値が、2および66を含む範囲2~66の中にある)、既定のモードがDCモードであることをさらに備える。
【0077】
そのように第40の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、現在ブロックのイントラ予測モードに対応する値が(2および66を含む)範囲2~66の中にあるとき、既定のモードが垂直モードであることをさらに備える。
【0078】
そのように第40の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、現在ブロックのイントラ予測モードに対応する値が(2および66を含む)範囲2~66の中にあるとき、既定のモードが水平モードであることをさらに備える。
【0079】
そのように第40の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、現在ブロック用のイントラ予測モードが平面モードであるとき、平面モードに従って現在ブロックを復号することをさらに備える。
【0080】
そのように第40の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、現在ブロック用のイントラ予測モードがDCモードであるとき、DCモードに従って現在ブロックを復号することをさらに備える。
【0081】
そのように第40の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、現在ブロック用のイントラ予測モードがDCモードであるとき、平面モードに従って現在ブロックを復号することをさらに備える。
【0082】
そのように第40の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、インデックスパラメータがNという最大値を有することをさらに備え、ただし、NはMPMリストのサイズよりも小さく、Nは正の整数である。
【0083】
そのように第40の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、Nが1に等しいことをさらに備える(インデックスパラメータは0または1のいずれかの値を有することができる)。
【0084】
そのように第40の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、Nが3に等しいことをさらに備える(インデックスパラメータは0、1、2、または3のいずれかの値を有することができる)。
【0085】
そのように第40の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、インデックスパラメータがあらかじめ決定され0に等しいことをさらに備え、0はMPMリストの中の最初の候補を示す。
【0086】
第41の態様によれば、本開示は、復号デバイスによって実施される、ピクチャ(またはフレーム)のブロックを復号する方法に関し、方法は、
ビットストリームに従って現在コーディングブロックに対する表示パラメータを取得するステップであって、表示パラメータが、現在コーディングブロックに多仮説予測が適用されるか否かを表す、ステップと、
ビットストリームに従って現在コーディングブロックに対するインデックスパラメータを取得するステップと、
表示パラメータの値に従って、現在コーディングブロックに多仮説予測が適用されるとき、インデックスパラメータおよび既定のリストに従って現在コーディングブロック用のイントラ予測モードを取得するステップであって、既定のリストが、以下のイントラ予測モード、すなわち、平面モード、水平モード、および垂直モードを順序正しく備える、ステップと、
現在コーディングブロック用のイントラ予測モードに従って現在コーディングブロックを復号するステップとを備える。
【0087】
第42の態様によれば、本開示は、復号デバイスによって実施される、ピクチャ(またはフレーム)のブロックを復号する方法に関し、方法は、
ビットストリームに従って現在コーディングブロックに対する表示パラメータを取得するステップであって、表示パラメータが、現在コーディングブロックに多仮説予測が適用されるか否かを表す、ステップと、
ビットストリームに従って現在コーディングブロックに対するインデックスパラメータを取得するステップと、
表示パラメータの値に従って、現在コーディングブロックに多仮説予測が適用されるとき、インデックスパラメータおよび既定のリストに従って現在コーディングブロック用のイントラ予測モードを取得するステップであって、既定のリストが、以下のイントラ予測モード、すなわち、平面モード、垂直モード、および水平モードを順序正しく備える、ステップと、
現在コーディングブロック用のイントラ予測モードに従って現在コーディングブロックを復号するステップとを備える。
【0088】
第43の態様によれば、本開示は、ピクチャのブロックを復号する方法に関し、方法は、
現在コーディングブロックに対する表示パラメータを取得するステップであって、表示パラメータが、現在コーディングブロックに多仮説予測が適用されるかどうかを表す、ステップと、
現在コーディングブロックに多仮説予測が適用されることを表示パラメータが表すとき、平面モードに従って現在コーディングブロックを復号するステップとを備える。
【0089】
第43の態様の先行する任意の実装形態による方法の可能な一実装形態では、多仮説予測は、組み合わせられたインターおよびイントラ予測(CIIP:Combined Inter and Intra Prediction)である。
【0090】
第43の態様の先行する任意の実装形態による方法の可能な一実装形態では、表示パラメータはCIIPフラグである。
【0091】
第43の態様の先行する任意の実装形態による方法の可能な一実装形態では、表示パラメータはマージデータシンタックスによって搬送される。
【0092】
第43の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、最確モード(MPM:Most Probable Mode)リストに従って現在コーディングブロック用の平面モードを取得するステップをさらに備え、MPMリストの中のイントラ予測モードの各々は、MPMリストインデックスの対応する値でインデックス付けされる。
【0093】
第43の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、
MPMリストインデックスを取得するためにビットストリームを構文解析するステップであって、MPMリストインデックスが0~N-1の間の値を有し、NがMPMリストの中のイントラ予測モードのエントリであることと、MPMリストインデックスの値に従ってMPMリストから現在コーディングブロック用のイントラ予測モードを取得するステップとをさらに備える。
【0094】
第43の態様の先行する任意の実装形態による方法の可能な一実装形態では、MPMリストは少なくとも平面モードを備える。
【0095】
第43の態様の先行する任意の実装形態による方法の可能な一実装形態では、MPMリストは、平面モード、ならびにDCモード、垂直モード、および水平モードのうちの少なくとも1つを備える。
【0096】
第43の態様の先行する任意の実装形態による方法の可能な一実装形態では、MPMリストは平面モードからなる。
【0097】
第43の態様の先行する任意の実装形態による方法の可能な一実装形態では、MPMリストは、事前定義されたデフォルトリストから構成される。
【0098】
第43の態様の先行する任意の実装形態による方法の可能な一実装形態では、MPMリストインデックスは10進表現または2進表現にコーディングされる。
【0099】
第43の態様の先行する任意の実装形態による方法の可能な一実装形態では、デコーダは、第43の態様の先行する任意の実装形態による方法を実行するための処理回路構成を備える。
【0100】
第43の態様の先行する任意の実装形態による方法の可能な一実装形態では、デコーダは、命令を備えるメモリストレージと、
メモリと通信している1つまたは複数のプロセッサとを備え、1つまたは複数のプロセッサは、第43の態様の先行する任意の任意の実装形態による方法を実行するために命令を実行する。
【0101】
第44の態様によれば、本開示は、復号するための装置に関し、装置は、現在コーディングブロックに対する表示パラメータを取得するように構成された決定ユニットであって、表示パラメータが、現在コーディングブロックに多仮説予測が適用されるかどうかを表す、決定ユニットと、現在コーディングブロックに多仮説予測が適用されることを表示パラメータが表すとき、平面モードに基づいて現在コーディングブロックに対してイントラ予測を実行するように構成された、イントラ予測処理ユニットとを備える。
【0102】
第44の態様の先行する任意の実装形態による装置の可能な一実装形態では、装置は、ビデオ信号のビットストリームからの複数のシンタックス要素を構文解析するように構成された構文解析ユニットをさらに備え、決定ユニットは、複数のシンタックス要素からの1つのシンタックス要素に基づいて平面モードを決定するようにさらに構成される。
【0103】
第45の態様によれば、本開示は、ピクチャのブロックを符号化する方法に関し、方法は、現在ブロックに対する表示パラメータを取得ステップことであって、表示パラメータが、現在ブロックに多仮説予測が適用されるかどうかを表す、ステップと、現在ブロックに多仮説予測が適用されることを表示パラメータが表すとき、平面モードに従って現在ブロックを符号化するステップとを備える。
【0104】
第45の態様の先行する任意の実装形態による方法の可能な一実装形態では、多仮説予測は、組み合わせられたインターおよびイントラ予測(CIIP)である。
【0105】
第45の態様の先行する任意の実装形態による方法の可能な一実装形態では、表示パラメータはCIIPフラグである。
【0106】
第45の態様の先行する任意の実装形態による方法の可能な一実装形態では、表示パラメータはマージデータシンタックスによって搬送される。
【0107】
第45の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、
最確モード(MPM)リストに従って現在コーディングブロック用の平面モードを取得するステップをさらに備え、MPMリストの中のイントラ予測モードの各々は、MPMリストインデックスの対応する値でインデックス付けされる。
【0108】
第45の態様の先行する任意の実装形態による方法の可能な一実装形態では、方法は、MPMリストの中のイントラ予測モードの各々に、MPMリストインデックスの対応する値でインデックス付けするステップと、ビットストリームからのMPMリストインデックスを構文解析するステップであって、MPMリストインデックスが0~N-1の間の値を有し、NがMPMリストの中のイントラ予測モードのエントリである、ステップと、MPMリストインデックスの値に従ってMPMリストから現在コーディングブロックのイントラ予測モードを取得するステップとをさらに備える。
【0109】
第45の態様の先行する任意の実装形態による方法の可能な一実装形態では、MPMリストは少なくとも平面モードを備える。
【0110】
第45の態様の先行する任意の実装形態による方法の可能な一実装形態では、MPMリストは、平面モード、ならびにDCモード、垂直モード、および水平モードのうちの少なくとも1つを備える。
【0111】
第45の態様の先行する任意の実装形態による方法の可能な一実装形態では、MPMリストは平面モードからなる。
【0112】
第45の態様の先行する任意の実装形態による方法の可能な一実装形態では、MPMリストは、事前定義されたデフォルトリストから構成される。
【0113】
第45の態様の先行する任意の実装形態による方法の可能な一実装形態では、MPMリストインデックスは10進表現または2進表現にコーディングされる。
【0114】
第45の態様の先行する任意の実装形態による方法の可能な一実装形態では、エンコーダは、第45の態様の先行する任意の実装形態による方法を実行するための処理回路構成を備える。
【0115】
第45の態様の先行する任意の実装形態による方法の可能な一実装形態では、エンコーダは、命令を備えるメモリストレージと、
メモリと通信している1つまたは複数のプロセッサとを備え、1つまたは複数のプロセッサは、第45の態様の先行する任意の実装形態による方法を実行するために命令を実行する。
【0116】
第45の態様の先行する任意の実装形態による方法の可能な一実装形態では、コンピュータプログラム製品は、コンピュータ上またはプロセッサ上で実行されたとき、第45の態様の先行する任意の実装形態の方法を実行するためのプログラムコードを備える。
【0117】
第46の態様によれば、本開示は、ピクチャのブロックを符号化するための装置に関し、装置は、現在ブロックに対する表示パラメータを取得するように構成された決定ユニットであって、表示パラメータが、現在ブロックに多仮説予測が適用されるかどうかを表す、決定ユニットと、現在ブロックに多仮説予測が適用されることを表示パラメータが表すとき、平面モードに従って現在ブロックを符号化するように構成された、イントラ予測処理ユニットとを備える。
【0118】
1つまたは複数の実施形態の詳細が、添付図面および以下の説明において記載される。他の特徴、目的、および利点は、説明、図面、および請求項から明らかとなろう。
【0119】
以下では、本発明の実施形態が、添付の図面(figure)および図面(drawing)を参照しながらより詳細に説明される。
【図面の簡単な説明】
【0120】
図1A】本発明の実施形態を実施するように構成されたビデオコーディングシステムの一例を示すブロック図である。
図1B】本発明の実施形態を実施するように構成されたビデオコーディングシステムの別の例を示すブロック図である。
図2】本発明の実施形態を実施するように構成されたビデオエンコーダの一例を示すブロック図である。
図3】本発明の実施形態を実施するように構成されたビデオデコーダの例示的な構造を示すブロック図である。
図4】符号化装置または復号装置の一例を示すブロック図である。
図5】符号化装置または復号装置の別の例を示すブロック図である。
図6】現在コーディングブロックまたは現在コーディングユニットの隣接ブロックを示す一例を示す図である。
図7】多くのイントラ予測モードを示す一例を示す図である。
図8】ピクチャのブロックを復号する方法を示す一例を示す図である。
図9】コンテンツ配信サービスを実現するコンテンツ供給システム3100の例示的な構造を示すブロック図である。
図10】端末デバイスの一例の構造を示すブロック図である。
【発明を実施するための形態】
【0121】
以下では、同一の参照符号は、別段に明示的に指定されない場合、同一のまたは少なくとも機能的に均等な特徴を指す。
【0122】
以下の説明では、本開示の一部を形成し、かつ本発明の実施形態の特定の態様または本発明の実施形態が使用され得る特定の態様を例として示す、添付の図への参照が行われる。本発明の実施形態が、他の態様において使用されてよく、図の中に示されない構造的または論理的な変更を備えてよいことが理解される。したがって、以下の発明を実施するための形態は限定的な意味で理解されるべきでなく、本発明の範囲は添付の請求項によって定義される。
【0123】
たとえば、説明する方法に関する開示が、本方法を実行するように構成された対応するデバイスまたはシステムに対しても当てはまり得ることが理解され、逆も同様である。たとえば、1つまたは複数の特定の方法ステップが説明される場合、対応するデバイスは、説明する1つまたは複数の方法ステップを実行するための1つまたは複数のユニット(たとえば、1つもしくは複数のステップを実行する1つのユニット、または複数のステップのうちの1つもしくは複数を各々が実行する複数のユニット)、たとえば、機能ユニットを、そのような1つまたは複数のユニットが明示的に説明されないかまたは図に示されないとしても含むことがある。一方、たとえば、1つまたは複数のユニット、たとえば、機能ユニットに基づいて、特定の装置が説明される場合、そのような1つまたは複数のステップが明示的に説明されないかまたは図に示されないとしても、対応する方法は、1つまたは複数のユニットの機能を実行するための1つのステップ(たとえば、1つもしくは複数のユニットの機能を実行する1つのステップ、または複数のユニットのうちの1つもしくは複数の機能を各々が実行する複数のステップ)を含んでよい。さらに、別段に特に記載されていない限り、本明細書で説明する様々な例示的な実施形態および/または態様の特徴が互いに組み合わせられてよいことが理解される。
【0124】
ビデオコーディングとは、通常、ビデオまたはビデオシーケンスを形成する、ピクチャのシーケンスの処理を指す。「ピクチャ」という用語の代わりに、ビデオコーディングの分野では「フレーム」または「画像」という用語が同義語として使用され得る。ビデオコーディング(または、一般にコーディング)は、2つの部分、ビデオ符号化およびビデオ復号を備える。ビデオ符号化は、ソース側において実行され、通常、ビデオピクチャを表現するのに必要とされるデータの量を(より効率的な記憶および/または送信のために)低減するために、(たとえば、圧縮によって)元のビデオピクチャを処理することを備える。ビデオ復号は、宛先側において実行され、通常、ビデオピクチャを再構成するための、エンコーダと比較して逆の処理を備える。ビデオピクチャ(または、一般にピクチャ)の「コーディング」に言及する実施形態は、ビデオピクチャまたはそれぞれのビデオシーケンスの「符号化」または「復号」に関係すると理解されるものとする。符号化部分と復号部分との組合せは、コーデック(コーディングおよび復号)とも呼ばれる。
【0125】
可逆的ビデオコーディングの場合には、元のビデオピクチャは再構成され得、すなわち、(記憶または送信の間に伝送損失または他のデータ損失がないと想定すると)再構成ビデオピクチャは元のビデオピクチャと同じ品質を有する。不可逆的ビデオコーディングの場合には、ビデオピクチャを表現するデータの量を低減するために、たとえば、量子化によって、さらなる圧縮が実行され、ビデオピクチャは、デコーダにおいて完全に再構成され得るとは限らず、すなわち、再構成ビデオピクチャの品質は元のビデオピクチャの品質と比較して低く、すなわち悪い。
【0126】
いくつかのビデオコーディング規格は、「不可逆的ハイブリッドビデオコーデック」のグループに属する(すなわち、サンプル領域における空間予測および時間予測と、変換領域において量子化を適用するための2D変換コーディングとを組み合わせる)。ビデオシーケンスの各ピクチャは、通常、重複しないブロックのセットに区分され、コーディングは、通常、ブロックレベルにおいて実行される。言い換えれば、エンコーダにおいて、ビデオは、通常、たとえば、予測ブロックを生成するために空間(ピクチャ内)予測および/または時間(ピクチャ間)予測を使用すること、現在ブロック(現在処理される/処理されるべきブロック)から予測ブロックを減算して残差ブロックを取得すること、残差ブロックを変換すること、ならびに送信されるべきデータの量を低減(圧縮)するために変換領域において残差ブロックを量子化することによって、ブロック(ビデオブロック)レベルにおいて処理すなわち符号化され、その一方で、デコーダにおいて、表現のために現在ブロックを再構成するために、エンコーダと比較して逆の処理が符号化または圧縮されたブロックに適用される。さらに、エンコーダは、後続のブロックを処理すなわちコーディングするために、その両方が同一の予測(たとえば、イントラ予測およびインター予測)および/または再構成を生成するように、デコーダ処理ループを複製する。
【0127】
以下では、ビデオコーディングシステム10、ビデオエンコーダ20、およびビデオデコーダ30の実施形態が、図1図3に基づいて説明される。
【0128】
図1Aは、この本出願の技法を利用し得る例示的なコーディングシステム10、たとえば、ビデオコーディングシステム10(または、ショートコーディングシステム10)を示す概略ブロック図である。ビデオコーディングシステム10のビデオエンコーダ20(または、ショートエンコーダ20)およびビデオデコーダ30(または、ショートデコーダ30)は、本出願で説明する様々な例による技法を実行するように構成され得るデバイスの例を表す。
【0129】
図1Aに示すように、コーディングシステム10は、たとえば、符号化ピクチャデータ13を復号するための宛先デバイス14に、符号化ピクチャデータ21を提供するように構成された、ソースデバイス12を備える。
【0130】
ソースデバイス12は、エンコーダ20を備え、追加として、すなわち随意に、ピクチャソース16、プリプロセッサ(または、前処理ユニット)18、たとえば、ピクチャプリプロセッサ18、および通信インターフェースまたは通信ユニット22を備えてよい。
【0131】
ピクチャソース16は、任意の種類のピクチャキャプチャデバイス、たとえば、実世界ピクチャをキャプチャするためのカメラ、ならびに/あるいは任意の種類のピクチャ生成デバイス、たとえば、コンピュータアニメーション化されたピクチャを生成するためのコンピュータグラフィックスプロセッサ、または実世界ピクチャ、コンピュータ生成されたピクチャ(たとえば、スクリーンコンテンツ、仮想現実(VR)ピクチャ)、および/もしくはそれらの任意の組合せ(たとえば、拡張現実(AR)ピクチャ)を取得および/もしくは提供するための任意の種類の他のデバイスを備えてよく、またはそれらであってもよい。ピクチャソースは、上述のピクチャのうちのいずれかを記憶する任意の種類のメモリまたはストレージであってよい。
【0132】
プリプロセッサ18、および前処理ユニット18によって実行される処理と対比して、ピクチャまたはピクチャデータ17は、未加工ピクチャまたは未加工ピクチャデータ17と呼ばれることもある。
【0133】
プリプロセッサ18は、(未加工)ピクチャデータ17を受信し、ピクチャデータ17に対して前処理を実行して、前処理済みのピクチャ19または前処理済みのピクチャデータ19を取得するように構成される。プリプロセッサ18によって実行される前処理は、たとえば、トリミング、(たとえば、RGBからYCbCrへの)カラーフォーマット変換、色補正、またはノイズ除去を備えてよい。前処理ユニット18が随意の構成要素であってよいことが理解され得る。
【0134】
ビデオエンコーダ20は、前処理済みのピクチャデータ19を受信し、符号化ピクチャデータ21を提供するように構成される(さらなる詳細が、たとえば図2に基づいて、以下で説明される)。
【0135】
ソースデバイス12の通信インターフェース22は、符号化ピクチャデータ21を受信し、記憶または直接の再構成のために、通信チャネル13を介して別のデバイス、たとえば、宛先デバイス14または任意の他のデバイスへ、符号化ピクチャデータ21(または、それらのさらに処理された任意のバージョン)を送信するように構成され得る。
【0136】
宛先デバイス14は、デコーダ30(たとえば、ビデオデコーダ30)を備え、追加として、すなわち随意に、通信インターフェースまたは通信ユニット28、ポストプロセッサ32(または、後処理ユニット32)、およびディスプレイデバイス34を備えてよい。
【0137】
宛先デバイス14の通信インターフェース28は、たとえば、ソースデバイス12から直接、または任意の他のソース、たとえば、記憶デバイス、たとえば、符号化ピクチャデータ記憶デバイスから、符号化ピクチャデータ21(または、それらのさらに処理された任意のバージョン)を受信し、符号化ピクチャデータ21をデコーダ30に提供するように構成される。
【0138】
通信インターフェース22および通信インターフェース28は、ソースデバイス12と宛先デバイス14との間の直接通信リンク、たとえば、直接有線接続または直接ワイヤレス接続を介して、あるいは任意の種類のネットワーク、たとえば、有線ネットワークもしくはワイヤレスネットワークもしくはそれらの任意の組合せ、または任意の種類のプライベートネットワークおよびパブリックネットワーク、またはそれらの任意の種類の組合せを介して、符号化ピクチャデータ21または符号化データ13を送信または受信するように構成され得る。
【0139】
通信インターフェース22は、たとえば、適切なフォーマット、たとえば、パケットの中に、符号化ピクチャデータ21をパッケージ化し、かつ/または通信リンクもしくは通信ネットワークを介した送信のために任意の種類の送信符号化もしくは送信処理を使用して符号化ピクチャデータを処理するように構成され得る。
【0140】
通信インターフェース22の相対物を形成する通信インターフェース28は、たとえば、送信されたデータを受信し、任意の種類の対応する送信復号もしくは送信処理および/またはデパッケージングを使用して送信データを処理して符号化ピクチャデータ21を取得するように構成され得る。
【0141】
通信インターフェース22と通信インターフェース28の両方が、ソースデバイス12から宛先デバイス14を指し示す、図1Aの中の通信チャネル13に対する矢印によって示されるような単方向の通信インターフェース、または双方向の通信インターフェースとして構成されてよく、たとえば、通信リンクおよび/またはデータ送信、たとえば、符号化ピクチャデータ送信に関係する、任意の他の情報を認識応答および交換するために、たとえば、接続をセットアップするためのメッセージを送るとともに受信するように構成されてよい。
【0142】
デコーダ30は、符号化ピクチャデータ21を受信し、復号ピクチャデータ31または復号ピクチャ31を提供するように構成される(さらなる詳細は、たとえば、図3または図5に基づいて、以下で説明される)。
【0143】
宛先デバイス14のポストプロセッサ32は、復号ピクチャデータ31(再構成ピクチャデータとも呼ばれる)、たとえば、復号ピクチャ31を後処理して、後処理されたピクチャデータ33、たとえば、後処理されたピクチャ33を取得するように構成される。後処理ユニット32によって実行される後処理は、たとえば、ディスプレイデバイス34による、たとえば、表示用の復号ピクチャデータ31を準備するための、たとえば、(たとえば、YCbCrからRGBへの)カラーフォーマット変換、色補正、トリミング、もしくはリサンプリング、または任意の他の処理を備えてよい。
【0144】
宛先デバイス14のディスプレイデバイス34は、たとえば、ユーザまたは見ている人に、ピクチャを表示するための、後処理されたピクチャデータ33を受信するように構成される。ディスプレイデバイス34は、再構成ピクチャを表現するための任意の種類のディスプレイ、たとえば、統合型または外部のディスプレイまたはモニタであってよく、またはそれを備えてもよい。ディスプレイは、たとえば、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイ、プラズマディスプレイ、プロジェクタ、マイクロLEDディスプレイ、液晶オンシリコン(LCoS)、デジタル光プロセッサ(DLP)、または任意の種類の他のディスプレイを備えてよい。
【0145】
図1Aはソースデバイス12および宛先デバイス14を別個のデバイスとして示すが、デバイスの実施形態はまた、ソースデバイス12または対応する機能と宛先デバイス14または対応する機能の、両方または両方の機能を備えてよい。そのような実施形態では、ソースデバイス12または対応する機能および宛先デバイス14または対応する機能は、同じハードウェアおよび/またはソフトウェアを使用して、あるいは別個のハードウェアおよび/もしくはソフトウェアまたはそれらの任意の組合せによって、実施され得る。
【0146】
説明に基づいて当業者にとって明らかとなるように、異なるユニットの機能または図1Aに示すようなソースデバイス12内および/もしくは宛先デバイス14内の機能の存在および(正確な)分割は、実際のデバイスおよび適用例に応じて変わることがある。
【0147】
エンコーダ20(たとえば、ビデオエンコーダ20)もしくはデコーダ30(たとえば、ビデオデコーダ30)、またはエンコーダ20とデコーダ30の両方は、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、個別論理、ハードウェア、ビデオコーディング専用、またはそれらの任意の組合せなどの、図1Bに示すような処理回路構成を介して実装され得る。エンコーダ20は、図2のエンコーダ20に関して説明するような様々なモジュールおよび/または本明細書で説明する任意の他のエンコーダシステムもしくはサブシステムを具現するために、処理回路構成46を介して実装され得る。デコーダ30は、図3のデコーダ30に関して説明するような様々なモジュールおよび/または本明細書で説明する任意の他のデコーダシステムもしくはサブシステムを具現するために、処理回路構成46を介して実装され得る。処理回路構成は、後で説明するような様々な動作を実行するように構成され得る。図5に示すように、技法が部分的にソフトウェアで実施される場合、デバイスは、ソフトウェアのための命令を好適な非一時的コンピュータ可読記憶媒体の中に記憶してよく、本開示の技法を実行するために1つまたは複数のプロセッサを使用してハードウェアで命令を実行してよい。ビデオエンコーダ20およびビデオデコーダ30のいずれも、たとえば、図1Bに示すように、組み合わせられたエンコーダ/デコーダ(コーデック)の一部として単一のデバイスの中に統合され得る。
【0148】
ソースデバイス12および宛先デバイス14は、任意の種類のハンドヘルドまたは固定のデバイス、たとえば、ノートブックまたはラップトップコンピュータ、モバイルフォン、スマートフォン、タブレットまたはタブレットコンピュータ、カメラ、デスクトップコンピュータ、セットトップボックス、テレビジョン、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーム機、(コンテンツサービスサーバまたはコンテンツ配信サーバなどの)ビデオストリーミングデバイス、ブロードキャスト受信機デバイス、ブロードキャスト送信機デバイスなどを含む、幅広いデバイスのうちのいずれかを備えてよく、オペレーティングシステムを使用しなくてよく、または任意の種類のオペレーティングシステムを使用してもよい。場合によっては、ソースデバイス12および宛先デバイス14はワイヤレス通信のために装備されてよい。したがって、ソースデバイス12および宛先デバイス14はワイヤレス通信デバイスであってよい。
【0149】
場合によっては、図1Aに示すビデオコーディングシステム10は一例にすぎず、本出願の技法は、必ずしも符号化デバイスと復号デバイスとの間の任意のデータ通信を含むとは限らない、ビデオコーディング設定(たとえば、ビデオ符号化またはビデオ復号)に適用されてよい。他の例では、データは、ローカルメモリから取り出される、ネットワークを介してストリーミングされるなどである。ビデオ符号化デバイスは、データを符号化するとともにメモリに記憶してよく、かつ/またはビデオ復号デバイスは、データをメモリから取り出すとともに復号してよい。いくつかの例では、互いに通信しないが、単にデータをメモリに符号化し、かつ/またはデータをメモリから取り出すとともに復号するデバイスによって、符号化および復号が実行される。
【0150】
説明の便宜上、たとえば、高効率ビデオコーディング(HEVC:High-Efficiency Video Coding)への、または多用途ビデオコーディング(VVC:Versatile Video Coding)、すなわち、ITU-Tビデオコーディングエキスパートグループ(VCEG:Video Coding Experts Group)とISO/IECモーションピクチャエキスパートグループ(MPEG:Motion Picture Experts Group)とのビデオコーディング共同研究部会(JCT-VC:Joint Collaboration Team on Video Coding)によって策定された次世代ビデオコーディング規格の参照ソフトウェアへの参照によって、本発明の実施形態が本明細書で説明される。本発明の実施形態がHEVCまたはVVCに限定されないことを、当業者は理解されよう。
【0151】
エンコーダおよび符号化方法
図2は、本出願の技法を実施するように構成される例示的なビデオエンコーダ20の概略ブロック図を示す。図2の例では、ビデオエンコーダ20は、入力部201(または、入力インターフェース201)、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210および逆変換処理ユニット212、再構成ユニット214、ループフィルタユニット220、復号ピクチャバッファ(DPB:Decoded Picture Buffer)230、モード選択ユニット260、エントロピー符号化ユニット270、ならびに出力部272(または、出力インターフェース272)を備える。モード選択ユニット260は、インター予測ユニット244、イントラ予測ユニット254、および区分ユニット262を含んでよい。インター予測ユニット244は、動き推定ユニットおよび動き補償ユニット(図示せず)を含んでよい。図2に示すようなビデオエンコーダ20は、ハイブリッドビデオエンコーダ、すなわちハイブリッドビデオコーデックによるビデオエンコーダと呼ばれることもある。
【0152】
残差計算ユニット204、変換処理ユニット206、量子化ユニット208、モード選択ユニット260は、エンコーダ20の順方向信号経路を形成するものとして参照されてよく、その一方で、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、バッファ216、ループフィルタ220、復号ピクチャバッファ(DPB)230、インター予測ユニット244、およびイントラ予測ユニット254は、ビデオエンコーダ20の逆方向信号経路を形成するものとして参照されてよく、ビデオエンコーダ20の逆方向信号経路はデコーダの信号経路に対応する(図3の中のビデオデコーダ30を参照)。逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、ループフィルタ220、復号ピクチャバッファ(DPB)230、インター予測ユニット244、およびイントラ予測ユニット254はまた、ビデオエンコーダ20の「ビルトインデコーダ」を形成することが参照される。
【0153】
ピクチャおよびピクチャ区分(ピクチャおよびブロック)
エンコーダ20は、ピクチャ17(または、ピクチャデータ17)、たとえば、ビデオまたはビデオシーケンスを形成するピクチャのシーケンスのピクチャを、たとえば、入力部201を介して受信するように構成され得る。受信されるピクチャまたはピクチャデータはまた、前処理済みのピクチャ19(または、前処理済みのピクチャデータ19)であってよい。簡単のために、以下の説明はピクチャ17を参照する。ピクチャ17は、現在ピクチャ、または(同じビデオシーケンス、すなわち、やはり現在ピクチャを備えるビデオシーケンスの、他のピクチャ、たとえば、前に符号化および/または復号されたピクチャから、現在ピクチャを区別するために、ビデオコーディングでは特に)コーディングされるべきピクチャと呼ばれることもある。
【0154】
(デジタル)ピクチャは、強度値を有するサンプルの2次元のアレイまたは行列であるか、またはそのように見なされ得る。アレイの中のサンプルは、ピクセル(短い形式のピクチャ要素)またはペルと呼ばれることもある。アレイまたはピクチャの水平および垂直の方向(または、軸)におけるサンプルの個数は、ピクチャのサイズおよび/または解像度を規定する。色の表現のために、通常、3つの色成分が採用され、すなわち、ピクチャは、3つのサンプルアレイが表されてよく、またはそれらを含んでよい。RBGフォーマットまたは色空間の中で、ピクチャは、対応する赤色、緑色、および青色のサンプルアレイを備える。しかしながら、ビデオコーディングでは、各ピクセルは、通常、ルミナンスおよびクロミナンスのフォーマットまたは色空間、たとえば、YCbCrで表され、YCbCrは、Y(時々、代わりにLも使用される)によって示されるルミナンス成分、ならびにCbおよびCrによって示される2つのクロミナンス成分を備える。ルミナンス(または、ショートルーマ)成分Yは、輝度または(たとえば、グレースケールピクチャにおけるような)グレーレベル強度を表し、2つのクロミナンス(または、ショートクロマ)成分CbおよびCrは、色度または色情報成分を表す。したがって、YCbCrフォーマットをなすピクチャは、ルミナンスサンプル値(Y)のルミナンスサンプルアレイ、およびクロミナンス値(CbおよびCr)の2つのクロミナンスサンプルアレイを備える。RGBフォーマットをなすピクチャは、YCbCrフォーマットに変換(convert)または変換(transform)されてよく、逆も同様であり、そのプロセスは色変換(color transformation)または色変換(color conversion)とも呼ばれる。ピクチャがモノクロである場合、ピクチャはルミナンスサンプルアレイのみを備えてよい。したがって、ピクチャは、たとえば、モノクロフォーマットでのルーマサンプルのアレイ、または4:2:0、4:2:2、および4:4:4カラーフォーマットでの、ルーマサンプルのアレイおよびクロマサンプルの2つの対応するアレイであってよい。
【0155】
ビデオエンコーダ20の実施形態は、ピクチャ17を複数の(通常は重複しない)ピクチャブロック203に区分するように構成されたピクチャ区分ユニット(図2に示さず)を備えてよい。これらのブロックは、ルートブロック、マクロブロック(H.264/AVC)、またはコーディング木ブロック(CTB:Coding Tree Block)もしくはコーディング木ユニット(CTU:Coding Tree Unit)(H.265/HEVCおよびVVC)と呼ばれることもある。ピクチャ区分ユニットは、ビデオシーケンスのすべてのピクチャに対して同じブロックサイズを、かつブロックサイズを規定する対応するグリッドを使用するか、あるいはピクチャまたはピクチャのサブセットもしくはグループの間でブロックサイズを変更し、各ピクチャを対応するブロックに区分するように構成され得る。
【0156】
さらなる実施形態では、ビデオエンコーダは、ピクチャ17のブロック203、たとえば、ピクチャ17を形成する1つの、複数の、または全部のブロックを、直接受信するように構成され得る。ピクチャブロック203は、現在ピクチャブロック、またはコーディングされるべきピクチャブロックと呼ばれることもある。
【0157】
ピクチャ17のように、ピクチャブロック203は再び、強度値(サンプル値)を有するサンプルの、ただしピクチャ17よりも寸法が小さい、2次元のアレイまたは行列であるか、またはそのように見なされ得る。言い換えれば、ブロック203は、たとえば、1つのサンプルアレイ(たとえば、モノクロピクチャ17の場合にはルーマアレイ、またはカラーピクチャの場合にはルーマアレイもしくはクロマアレイ)、または3つのサンプルアレイ(たとえば、カラーピクチャ17の場合にはルーマアレイおよび2つのクロマアレイ)、あるいは適用されるカラーフォーマットに応じて任意の他の個数および/または種類のアレイを備えてよい。ブロック203の水平および垂直の方向(または、軸)におけるサンプルの個数は、ブロック203のサイズを規定する。したがって、ブロックは、たとえば、サンプルのM×N(M列×N行)アレイ、または変換係数のM×Nアレイであってよい。
【0158】
図2に示すようなビデオエンコーダ20の実施形態は、ピクチャ17をブロックごとに符号化するように構成されてよく、たとえば、符号化および予測がブロック203単位で実行される。
【0159】
残差計算
残差計算ユニット204は、たとえば、サンプルごとに(ピクセルごとに)ピクチャブロック203のサンプル値から予測ブロック265のサンプル値を減算することによって、ピクチャブロック203および予測ブロック265(予測ブロック265についてのさらなる詳細は後で提供される)に基づいて残差ブロック205(残差205とも呼ばれる)を計算して、サンプル領域における残差ブロック205を取得するように構成され得る。
【0160】
変換
変換処理ユニット206は、残差ブロック205のサンプル値に対して変換、たとえば、離散コサイン変換(DCT)または離散サイン変換(DST)を適用して、変換領域における変換係数207を取得するように構成され得る。変換係数207は、変換残差係数と呼ばれることもあり、変換領域における残差ブロック205を表してよい。
【0161】
変換処理ユニット206は、H.265/HEVCに対して指定された変換などのDCT/DSTの整数近似を適用するように構成され得る。直交DCT変換と比較して、そのような整数近似は、通常、いくつかの係数によってスケーリングされる。順変換および逆変換によって処理される残差ブロックのノルムを保存するために、変換プロセスの一部として追加のスケーリング係数が適用される。スケーリング係数は、通常、シフト演算のためにスケーリング係数が2のべき乗であること、変換係数のビット深度、確度と実装コストとの間のトレードオフなどのような、いくつかの制約に基づいて選ばれる。たとえば、逆変換処理ユニット212による、たとえば、逆変換(および、たとえば、ビデオデコーダ30における逆変換処理ユニット312による、対応する逆変換)に対して、特定のスケーリング係数が指定され、エンコーダ20における、たとえば、変換処理ユニット206による、順変換のための対応するスケーリング係数が、それに応じて指定され得る。
【0162】
ビデオエンコーダ20の実施形態(それぞれ、変換処理ユニット206)は、たとえば、直接、またはエントロピー符号化ユニット270を介して符号化もしくは圧縮された、変換パラメータ、たとえば、1つまたは複数の変換のタイプを出力するように構成されてよく、その結果、たとえば、ビデオデコーダ30は、復号のために変換パラメータを受信および使用し得る。
【0163】
量子化
量子化ユニット208は、たとえば、スカラー量子化またはベクトル量子化を適用することによって、変換係数207を量子化して量子化係数209を取得するように構成され得る。量子化係数209は、量子化変換係数209または量子化残差係数209と呼ばれることもある。
【0164】
量子化プロセスは、変換係数207の一部または全部に関連するビット深度を低減し得る。たとえば、nビットの変換係数は、量子化の間にmビットの変換係数に切り捨てられてよく、ただし、nはmよりも大きい。量子化の程度は、量子化パラメータ(QP:Quantization Parameter)を調整することによって修正され得る。たとえば、スカラー量子化の場合、より細かいかまたはより粗い量子化を達成するために、様々なスケーリングが適用され得る。より小さい量子化ステップサイズは、より細かい量子化に対応し、その一方で、より大きい量子化ステップサイズは、より粗い量子化に対応する。適用可能な量子化ステップサイズは、量子化パラメータ(QP)によって示され得る。量子化パラメータは、たとえば、適用可能な量子化ステップサイズの既定のセットへのインデックスであってよい。たとえば、小さい量子化パラメータは、細かい量子化(小さい量子化ステップサイズ)に対応してよく、大きい量子化パラメータは、粗い量子化(大きい量子化ステップサイズ)に対応してよく、またはその逆も同様である。量子化は、量子化ステップサイズによる除算を含んでよく、たとえば、逆量子化ユニット210による、対応する逆量子化および/または逆の逆量子化は、量子化ステップサイズによる乗算を含んでよい。いくつかの規格、たとえば、HEVCによる実施形態は、量子化ステップサイズを決定するために量子化パラメータを使用するように構成され得る。概して、量子化ステップサイズは、除算を含む式の固定小数点近似を使用して、量子化パラメータに基づいて計算され得る。量子化ステップサイズおよび量子化パラメータに対する式の固定小数点近似において使用されるスケーリングのために修正されることがある、残差ブロックのノルムを復元するために、量子化および逆量子化に対して追加のスケーリング係数が導入されてよい。1つの例示的な実装形態では、逆変換および逆量子化のスケーリングが組み合わせられることがある。代替として、カスタマイズされた量子化テーブルが使用されてよく、たとえば、ビットストリームの中で、エンコーダからデコーダにシグナリングされてよい。量子化は不可逆的演算であり、増大する量子化ステップサイズとともに損失が増大する。
【0165】
ビデオエンコーダ20の実施形態(それぞれ、量子化ユニット208)は、たとえば、直接、またはエントロピー符号化ユニット270を介して符号化された、量子化パラメータ(QP)を出力するように構成されてよく、その結果、たとえば、ビデオデコーダ30は、復号のために量子化パラメータを受信および適用し得る。
【0166】
逆量子化
逆量子化ユニット210は、たとえば、量子化ユニット208と同じ量子化ステップサイズに基づいて、またはそれを使用して、量子化ユニット208によって適用される量子化方式の逆を適用することによって、量子化係数に対して量子化ユニット208の逆量子化を適用して逆量子化係数211を取得するように構成される。逆量子化係数211は、逆量子化残差係数211と呼ばれることもあり、- 量子化による損失に起因して通常は変換係数と同一でないが、- 変換係数207に対応し得る。
【0167】
逆変換
逆変換処理ユニット212は、変換処理ユニット206によって適用される変換の逆変換、たとえば、逆離散コサイン変換(DCT)もしくは逆離散サイン変換(DST)、または他の逆変換を適用して、サンプル領域における再構成残差ブロック213(または、対応する逆量子化係数213)を取得するように構成される。再構成残差ブロック213は、変換ブロック213と呼ばれることもある。
【0168】
再構成
再構成ユニット214(たとえば、加算回路(adder)または加算器(summer)214)は、たとえば、再構成残差ブロック213のサンプル値と予測ブロック265のサンプル値とを- サンプルごとに- 加算することによって、変換ブロック213(すなわち、再構成残差ブロック213)を予測ブロック265に加算してサンプル領域における再構成ブロック215を取得するように構成される。
【0169】
フィルタ処理
ループフィルタユニット220(または、ショート「ループフィルタ」220)は、再構成ブロック215をフィルタ処理してフィルタ処理済みのブロック221を取得するように、または概して、再構成サンプルをフィルタ処理してフィルタ処理済みのサンプルを取得するように構成される。ループフィルタユニットは、たとえば、ピクセル遷移を平滑化するか、またはビデオ品質を別の方法で改善するように構成される。ループフィルタユニット220は、デブロッキングフィルタ、サンプル適応型オフセット(SAO:Sample-Adaptive Offset)フィルタ、または1つもしくは複数の他のフィルタ、たとえば、双方向フィルタ、適応型ループフィルタ(ALF:Adaptive Loop Filter)、シャープ化フィルタ、平滑化フィルタ、または協調フィルタ、あるいはそれらの任意の組合せなどの、1つまたは複数のループフィルタを備えてよい。ループフィルタユニット220はループ内フィルタであるものとして図2に示されるが、他の構成では、ループフィルタユニット220は、ループ後フィルタとして実装されてよい。フィルタ処理済みのブロック221は、フィルタ処理済みの再構成ブロック221と呼ばれることもある。
【0170】
ビデオエンコーダ20の実施形態(それぞれ、ループフィルタユニット220)は、たとえば、直接、またはエントロピー符号化ユニット270を介して符号化された、(サンプル適応型オフセット情報などの)ループフィルタパラメータを出力するように構成されてよく、その結果、たとえば、デコーダ30は、復号のために同じループフィルタパラメータまたはそれぞれのループフィルタを受信および適用し得る。
【0171】
復号ピクチャバッファ
復号ピクチャバッファ(DPB)230は、ビデオエンコーダ20によってビデオデータを符号化するための、参照ピクチャまたは概して参照ピクチャデータを記憶するメモリであってよい。DPB230は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM)、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのうちのいずれかによって形成され得る。復号ピクチャバッファ(DPB)230は、1つまたは複数のフィルタ処理済みのブロック221を記憶するように構成され得る。復号ピクチャバッファ230は、以前にフィルタ処理された他のブロック、たとえば、同じ現在ピクチャの、または異なるピクチャの、以前に再構成およびフィルタ処理されたブロック221、たとえば、以前に再構成されたピクチャを記憶するようにさらに構成されてよく、たとえば、インター予測のために、以前に再構成すなわち復号された全体的なピクチャ(ならびに、対応する参照ブロックおよびサンプル)、および/または部分的に再構成された現在ピクチャ(ならびに、対応する参照ブロックおよびサンプル)を提供し得る。たとえば、再構成ブロック215が、ループフィルタユニット220によってフィルタ処理されていないか、または再構成ブロックもしくはサンプルのさらに処理された任意の他のバージョンである場合、復号ピクチャバッファ(DPB)230はまた、1つまたは複数のフィルタ処理されていない再構成ブロック215、または概して、フィルタ処理されていない再構成サンプルを、記憶するように構成されてもよい。
【0172】
モード選択(区分および予測)
モード選択ユニット260は、区分ユニット262、インター予測ユニット244、およびイントラ予測ユニット254を備え、元のピクチャデータ、たとえば、元のブロック203(現在ピクチャ17の現在ブロック203)、ならびに同じ(現在の)ピクチャの、かつ/あるいは1つまたは複数の以前に復号されたピクチャからの、たとえば、復号ピクチャバッファ230または他のバッファ(たとえば、図示しないラインバッファ)からの、再構成ピクチャデータ、たとえば、フィルタ処理された再構成済みのサンプルもしくはブロック、および/またはフィルタ処理されていない再構成済みのサンプルもしくはブロックを、受信または取得するように構成される。再構成ピクチャデータは、予測ブロック265または予測子265を取得するために、予測、たとえば、インター予測またはイントラ予測のための、参照ピクチャデータとして使用される。
【0173】
モード選択ユニット260は、(区分を含まない)現在のブロック予測モードに対する区分、および予測モード(たとえば、イントラまたはインター予測モード)を決定または選択し、残差ブロック205の計算のために、かつ再構成ブロック215の再構成のために使用される、対応する予測ブロック265を生成するように構成され得る。
【0174】
モード選択ユニット260の実施形態は、最良の整合すなわち言い換えれば最小残差(最小残差とは、送信または記憶のためのより良好な圧縮を意味する)、または最小シグナリングオーバーヘッド(最小シグナリングオーバーヘッドとは、送信または記憶のためのより良好な圧縮を意味する)を与えるか、あるいはその両方を考慮するかまたはその両方のバランスをとる、区分および予測モードを(たとえば、モード選択ユニット260によってサポートされるか、またはモード選択ユニット260にとって利用可能なものから)選択するように構成され得る。モード選択ユニット260は、レートひずみ最適化(RDO:Rate Distortion Optimization)に基づいて区分および予測モードを決定するように、すなわち、最小のレートひずみをもたらす予測モードを選択するように構成され得る。このコンテキストにおける「最良の」、「最小の」、「最適な」などのような用語は、必ずしも全体的な「最良の」、「最小の」、「最適な」などを指すとは限らず、しきい値または他の制約を上回るかまたは下回る値のような、終結基準または選択基準の充足を指してもよく、潜在的に「準最適な選択」につながるが、計算量および処理時間を低減する。
【0175】
言い換えれば、区分ユニット262は、たとえば、4分木区分(QT)、バイナリ区分(BT)、もしくはトリプル木区分(TT)、またはそれらの任意の組合せを反復的に使用して、ブロック203をより小さいブロック区分または(再びブロックを形成する)サブブロックに区分し、たとえば、ブロック区分またはサブブロックの各々に対して予測を実行するように構成されてよく、モード選択は、区分されるブロック203の木構造の選択を備え、予測モードは、ブロック区分またはサブブロックの各々に適用される。
【0176】
以下では、例示的なビデオエンコーダ20によって実行される(たとえば、区分ユニット260による)区分および(インター予測ユニット244およびイントラ予測ユニット254による)予測処理が、より詳細に説明される。
【0177】
区分
区分ユニット262は、現在ブロック203をより小さい区分、たとえば、正方形または長方形のサイズのより小さいブロックに、区分(すなわち分割)し得る。これらのより小さいブロック(サブブロックと呼ばれることもある)は、一層小さい区分にさらに区分され得る。このことはまた、木区分または階層的木区分と呼ばれ、たとえば、ルート木レベル0(階層レベル0、深度0)における、ルートブロックは、再帰的に区分されてよく、たとえば、次に低い木レベルの2つ以上のブロック、たとえば、木レベル1(階層レベル1、深度1)におけるノードに区分されてよく、これらのブロックは再び、たとえば、終結基準が充足されており、たとえば、最大木深度または最小ブロックサイズに到達したので、区分が終結されるまで、次に低いレベルの2つ以上のブロック、たとえば、木レベル2(階層レベル2、深度2)などに区分されてよい。それ以上区分されないブロックは、木のリーフブロックまたはリーフノードとも呼ばれる。2つの区分への区分を使用する木は2分木(BT)と呼ばれ、3つの区分への区分を使用する木は3分木(TT)と呼ばれ、4つの区分への区分を使用する木は4分木(QT)と呼ばれる。
【0178】
前に述べたように、本明細書で使用する「ブロック」という用語は、ピクチャの一部分、特に正方形または長方形の部分であってよい。たとえば、HEVCおよびVVCを参照すると、ブロックは、コーディング木ユニット(CTU)、コーディングユニット(CU:coding unit)、予測ユニット(PU:prediction unit)、および変換ユニット(TU:transform unit)、ならびに/または対応するブロック、たとえば、コーディング木ブロック(CTB)、コーディングブロック(CB:coding block)、変換ブロック(TB:transform block)、もしくは予測ブロック(PB:prediction block)であってよく、またはそれらに相当し得る。
【0179】
たとえば、コーディング木ユニット(CTU)は、3つのサンプルアレイを有するピクチャのルーマサンプルのCTB、クロマサンプルの2つの対応するCTB、またはモノクロピクチャもしくは3つの別個の色平面を使用してコーディングされるピクチャのサンプルのCTB、およびサンプルをコーディングするために使用されるシンタックス構造であってよく、またはそれらを備えてもよい。それに対応して、コーディング木ブロック(CTB)は、CTBへの成分の分割が区分であるような、Nのいくつかの値に対する、サンプルのN×Nブロックであってよい。コーディングユニット(CU)は、3つのサンプルアレイを有するピクチャのルーマサンプルのコーディングブロック、クロマサンプルの2つの対応するコーディングブロック、またはモノクロピクチャもしくは3つの別個の色平面を使用してコーディングされるピクチャのサンプルのコーディングブロック、およびサンプルをコーディングするために使用されるシンタックス構造であってよく、またはそれらを備えてもよい。それに対応して、コーディングブロック(CB)は、コーディングブロックへのCTBの分割が区分であるような、MおよびNのいくつかの値に対する、サンプルのM×Nブロックであってよい。
【0180】
たとえば、HEVCによる実施形態では、コーディング木ユニット(CTU)は、コーディング木として示される4分木構造を使用することによってCUに分割され得る。ピクチャエリアを、(時間的な)インターピクチャ予測を使用してコーディングすべきか、それとも(空間的な)イントラピクチャ予測を使用してコーディングすべきかという決定は、CUレベルにおいて行われる。各CUは、PU分割タイプに従って1つ、2つ、または4つのPUにさらに分割され得る。1つのPUの内側では、同じ予測プロセスが適用され、関連する情報がPU単位でデコーダへ送信される。PU分割タイプに基づいて予測プロセスを適用することによって残差ブロックを取得した後、CUは、CU用のコーディング木と類似の別の4分木構造に従って変換ユニット(TU)に区分され得る。
【0181】
実施形態では、たとえば、多用途ビデオコーディング(VVC)と呼ばれる現在策定中の最新のビデオコーディング規格によれば、コーディングブロックを区分するために4分木および2分木(QTBT:Quad-tree and binary tree)区分が使用される。QTBTブロック構造の中で、CUは、正方形または長方形のいずれかの形状を有することができる。たとえば、コーディング木ユニット(CTU)は、4分木構造によって最初に区分される。4分木リーフノードは、2分木または3分(またはトリプル)木構造によってさらに区分される。木リーフノードを区分することは、コーディングユニット(CU)と呼ばれ、そのセグメント化は、それ以上の区分を伴わずに予測処理および変換処理のために使用される。このことは、CU、PU、およびTUがQTBTコーディングブロック構造の中で同じブロックサイズを有することを意味する。並行して、複数の区分、たとえば、QTBTブロック構造と一緒に使用されるためにトリプル木区分も提案された。
【0182】
一例では、ビデオエンコーダ20のモード選択ユニット260は、本明細書で説明する区分技法の任意の組合せを実行するように構成され得る。
【0183】
上記で説明したように、ビデオエンコーダ20は、(事前決定された)予測モードのセットから、最良のまたは最適な予測モードを決定または選択するように構成される。予測モードのセットは、たとえば、イントラ予測モードおよび/またはインター予測モードを備えてよい。
【0184】
イントラ予測
イントラ予測モードのセットは、たとえば、HEVCにおいて規定されるように、35個の異なるイントラ予測モード、たとえば、DC(または、平均)モードおよび平面モードのような全方向性モード、もしくは方向性モードを備えてよく、または、たとえば、VVCのために規定されるように、67個の異なるイントラ予測モード、たとえば、DC(または、平均)モードおよび平面モードのような全方向性モード、もしくは方向性モードを備えてよい。
【0185】
イントラ予測ユニット254は、イントラ予測モードのセットのイントラ予測モードに従ってイントラ予測ブロック265を生成するために、同じ現在ピクチャの隣接ブロックの再構成されたサンプルを使用するように構成される。
【0186】
イントラ予測ユニット254(または概して、モード選択ユニット260)は、符号化ピクチャデータ21の中に含めるためのシンタックス要素266の形式でイントラ予測パラメータ(または概して、ブロック用の選択されたイントラ予測モードを示す情報)をエントロピー符号化ユニット270に出力するようにさらに構成され、その結果、たとえば、ビデオデコーダ30は、復号のために予測パラメータを受信および使用し得る。
【0187】
インター予測
インター予測モードのセット(または、可能なインター予測モード)は、利用可能な参照ピクチャ(すなわち、たとえば、DBP230の中に記憶されている、少なくとも部分的に復号された、以前のピクチャ)、ならびに他のインター予測パラメータ、たとえば、最良に整合する参照ブロックを求めて探索するために参照ピクチャ全体が使用されるのか、それとも一部のみ、たとえば、参照ピクチャの現在ブロックのエリアの周囲の探索ウィンドウエリアが使用されるのか、ならびに/または、たとえば、ピクセル補間、たとえば、ハーフペル補間/セミペル補間および/もしくはクォーターペル補間が適用されるか否かに依存する。
【0188】
上記の予測モードに加えて、スキップモードおよび/またはダイレクトモードが適用されてよい。
【0189】
インター予測ユニット244は、動き推定(ME:Motion Estimation)ユニットおよび動き補償(MC:Motion Compensation)ユニット(両方とも図2に示さず)を含んでよい。動き推定ユニットは、動き推定のために、ピクチャブロック203(現在ピクチャ17の現在ピクチャブロック203)および復号ピクチャ231、または少なくとも1つもしくは複数の以前に再構成されたブロック、たとえば、他の/異なる1つもしくは複数の以前に復号されたピクチャ231の再構成ブロックを、受信または取得するように構成され得る。たとえば、ビデオシーケンスは、現在ピクチャおよび以前に復号されたピクチャ231を備えてよく、すなわち言い換えれば、現在ピクチャおよび以前に復号されたピクチャ231は、ビデオシーケンスを形成するピクチャのシーケンスの一部であってよく、またはそれらを形成し得る。
【0190】
エンコーダ20は、たとえば、複数の他のピクチャのうちの同じかまたは異なるピクチャの複数の参照ブロックから参照ブロックを選択し、参照ピクチャ(または、参照ピクチャインデックス)、および/または参照ブロックの位置(x、y座標)と現在ブロックの位置との間のオフセット(空間オフセット)を、インター予測パラメータとして動き推定ユニットに提供するように構成され得る。このオフセットは動きベクトル(MV:Motion Vector)とも呼ばれる。
【0191】
動き補償ユニットは、インター予測パラメータを取得、たとえば受信し、インター予測パラメータに基づいて、またはインター予測パラメータを使用して、インター予測を実行してインター予測ブロック265を取得するように構成される。動き補償ユニットによって実行される動き補償は、動き推定によって決定された動き/ブロックベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実行することを伴ってよい。補間フィルタ処理は、知られているピクセルサンプルから追加のピクセルサンプルを生成してよく、したがって、ピクチャブロックをコーディングするために使用され得る候補予測ブロックの個数を潜在的に増大させる。現在ピクチャブロックのPUに対する動きベクトルを受信すると、動き補償ユニットは、参照ピクチャリストのうちの1つの中で動きベクトルが指し示す先の予測ブロックの位置を特定し得る。
【0192】
動き補償ユニットはまた、ビデオスライスのピクチャブロックを復号する際のビデオデコーダ30による使用のために、ブロックおよびビデオスライスに関連するシンタックス要素を生成し得る。
【0193】
エントロピーコーディング
エントロピー符号化ユニット270は、量子化係数209、インター予測パラメータ、イントラ予測パラメータ、ループフィルタパラメータ、および/または他のシンタックス要素に対して、たとえば、エントロピー符号化アルゴリズムまたはエントロピー符号化方式(たとえば、可変長コーディング(VLC:Variable Length Coding)方式、コンテキスト適応型VLC方式(CAVLC:Context Adaptive VLC)、算術コーディング方式、2値化方式、コンテキスト適応型バイナリ算術コーディング(CABAC:Context Adaptive Binary Arithmetic Coding)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC:Syntax-Based Context-Adaptive Binary Arithmetic Coding)、確率区間区分エントロピー(PIPE:Probability Interval Partitioning Entropy)コーディング、または別のエントロピー符号化方法または技法)、あるいはバイパス(圧縮なし)を適用して、たとえば、符号化ビットストリーム21の形式で、出力部272を介して出力され得る符号化ピクチャデータ21を取得するように構成され、その結果、たとえば、ビデオデコーダ30は、復号のためにパラメータを受信および使用し得る。符号化ビットストリーム21は、ビデオデコーダ30へ送信されてよく、または後でビデオデコーダ30によって送信するかもしくは取り出すためにメモリの中に記憶されてもよい。
【0194】
ビデオエンコーダ20の他の構造的変形が、ビデオストリームを符号化するために使用され得る。たとえば、非変換ベースのエンコーダ20が、いくつかのブロックまたはフレームに対して変換処理ユニット206を用いずに残差信号を直接量子化することができる。別の実装形態では、エンコーダ20は、単一のユニットの中に組み合わせられた量子化ユニット208および逆量子化ユニット210を有することができる。
【0195】
デコーダおよび復号方法
図3は、この本出願の技法を実施するように構成されるビデオデコーダ30の一例を示す。ビデオデコーダ30は、たとえば、エンコーダ20によって符号化された、符号化ピクチャデータ21(たとえば、符号化ビットストリーム21)を受信して、復号ピクチャ331を取得するように構成される。符号化ピクチャデータまたはビットストリームは、符号化ピクチャデータを復号するための情報、たとえば、符号化ビデオスライスのピクチャブロックを表すデータ、および関連するシンタックス要素を備える。
【0196】
図3の例では、デコーダ30は、エントロピー復号ユニット304、逆量子化ユニット310、逆変換処理ユニット312、再構成ユニット314(たとえば、加算器314)、ループフィルタ320、復号ピクチャバッファ(DBP)330、インター予測ユニット344、およびイントラ予測ユニット354を備える。インター予測ユニット344は、動き補償ユニットであってよく、または動き補償ユニットを含んでもよい。ビデオデコーダ30は、いくつかの例では、図2からのビデオエンコーダ100に関して説明した符号化パスとは概して相反の復号パスを実行し得る。
【0197】
エンコーダ20に関して説明したように、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、ループフィルタ220、復号ピクチャバッファ(DPB)230、インター予測ユニット344、およびイントラ予測ユニット354はまた、ビデオエンコーダ20の「ビルトインデコーダ」を形成するものとして参照される。したがって、逆量子化ユニット310は逆量子化ユニット110と機能が同一であってよく、逆変換処理ユニット312は逆変換処理ユニット212と機能が同一であってよく、再構成ユニット314は再構成ユニット214と機能が同一であってよく、ループフィルタ320はループフィルタ220と機能が同一であってよく、復号ピクチャバッファ330は復号ピクチャバッファ230と機能が同一であってよい。したがって、ビデオ20エンコーダのそれぞれのユニットおよび機能に対して提供された説明は、それに対応してビデオデコーダ30のそれぞれのユニットおよび機能に適用される。
【0198】
エントロピー復号
エントロピー復号ユニット304は、ビットストリーム21(または概して、符号化ピクチャデータ21)を構文解析し、たとえば、符号化ピクチャデータ21へのエントロピー復号を実行して、たとえば、量子化係数309および/または復号されたコーディングパラメータ(図3に示さず)、たとえば、インター予測パラメータ(たとえば、参照ピクチャインデックスおよび動きベクトル)、イントラ予測パラメータ(たとえば、イントラ予測モードまたはインデックス)、変換パラメータ、量子化パラメータ、ループフィルタパラメータ、および/または他のシンタックス要素のうちのいずれかまたはすべてを取得するように構成される。エントロピー復号ユニット304は、エンコーダ20のエントロピー符号化ユニット270に関して説明したような符号化方式に対応する復号アルゴリズムまたは復号方式を適用するように構成され得る。エントロピー復号ユニット304は、モード選択ユニット360にインター予測パラメータ、イントラ予測パラメータ、および/または他のシンタックス要素を、またデコーダ30の他のユニットに他のパラメータを提供するように、さらに構成され得る。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルにおいてシンタックス要素を受信し得る。
【0199】
逆量子化
逆量子化ユニット310は、(たとえば、エントロピー復号ユニット304によって、たとえば、構文解析および/または復号することによって)符号化ピクチャデータ21から量子化パラメータ(QP)(または概して、逆量子化に関係する情報)および量子化係数を受信し、量子化パラメータに基づいて、復号された量子化係数309に対して逆量子化を適用して、変換係数311と呼ばれることもある逆量子化係数311を取得するように構成され得る。逆量子化プロセスは、量子化の程度、および同様に、適用されるべき逆量子化の程度を決定するために、ビデオスライスの中のビデオブロックごとの、ビデオエンコーダ20によって決定された量子化パラメータの使用を含んでよい。
【0200】
逆変換
逆変換処理ユニット312は、変換係数311とも呼ばれる逆量子化係数311を受信し、サンプル領域における再構成残差ブロック213を取得するために逆量子化係数311に変換を適用するように構成され得る。再構成残差ブロック213は、変換ブロック313と呼ばれることもある。変換は、逆変換、たとえば、逆DCT変換、逆DST変換、逆整数変換、または概念的に類似の逆変換プロセスであってよい。逆変換処理ユニット312は、逆量子化係数311に適用されるべき変換を決定するために、(たとえば、エントロピー復号ユニット304によって、たとえば、構文解析および/または復号することによって)符号化ピクチャデータ21から変換パラメータまたは対応する情報を受信するようにさらに構成され得る。
【0201】
再構成
再構成ユニット314(たとえば、加算回路(adder)または加算器(summer)314)は、たとえば、再構成残差ブロック313のサンプル値と予測ブロック365のサンプル値とを加算することによって、予測ブロック365に再構成残差ブロック313を加算して、サンプル領域における再構成ブロック315を取得するように構成され得る。
【0202】
フィルタ処理
(コーディングループの中またはコーディングループの後のいずれかの)ループフィルタユニット320は、たとえば、ピクセル遷移を平滑化するか、またはビデオ品質を別の方法で改善するために、再構成ブロック315をフィルタ処理してフィルタ処理済みのブロック321を取得するように構成される。ループフィルタユニット320は、デブロッキングフィルタ、サンプル適応型オフセット(SAO)フィルタ、または1つもしくは複数の他のフィルタ、たとえば、双方向フィルタ、適応型ループフィルタ(ALF)、シャープ化フィルタ、平滑化フィルタ、または協調フィルタ、あるいはそれらの任意の組合せなどの、1つまたは複数のループフィルタを備えてよい。ループフィルタユニット320はループ内フィルタであるものとして図3に示されるが、他の構成では、ループフィルタユニット320は、ループ後フィルタとして実装されてよい。
【0203】
復号ピクチャバッファ
ピクチャの復号されたビデオブロック321は、次いで、他のピクチャに対する後続の動き補償のための、かつ/または出力されるそれぞれ表示用の、参照ピクチャとして復号ピクチャ331を記憶する、復号ピクチャバッファ330の中に記憶される。
【0204】
デコーダ30は、ユーザへの提示または鑑賞のために、たとえば、出力部312を介して復号ピクチャ311を出力するように構成される。
【0205】
予測
インター予測ユニット344は、インター予測ユニット244と(詳細には、動き補償ユニットと)同一であってよく、イントラ予測ユニット354は、機能がインター予測ユニット254と同一であってよく、区分および/もしくは予測パラメータ、または符号化ピクチャデータ21から(たとえば、エントロピー復号ユニット304によって、たとえば、構文解析および/または復号することによって)受信されたそれぞれの情報に基づいて、分割または区分決定および予測を実行する。モード選択ユニット360は、(フィルタ処理されているかまたはフィルタ処理されていない)再構成されたピクチャ、ブロック、またはそれぞれのサンプルに基づいて、ブロックごとに予測(イントラ予測またはインター予測)を実行して、予測ブロック365を取得するように構成され得る。
【0206】
イントラコーディングされた(I)スライスとしてビデオスライスがコーディングされるとき、モード選択ユニット360のイントラ予測ユニット354は、シグナリングされたイントラ予測モード、および現在ピクチャの以前に復号されたブロックからのデータに基づいて、現在ビデオスライスのピクチャブロックに対する予測ブロック365を生成するように構成される。インターコーディングされた(すなわち、BまたはP)スライスとしてビデオピクチャがコーディングされるとき、モード選択ユニット360のインター予測ユニット344(たとえば、動き補償ユニット)は、動きベクトル、およびエントロピー復号ユニット304から受信された他のシンタックス要素に基づいて、現在ビデオスライスのビデオブロックに対する予測ブロック365を作り出すように構成される。インター予測の場合、予測ブロックは、参照ピクチャリストのうちの1つの中の参照ピクチャのうちの1つから作り出されてよい。ビデオデコーダ30は、DPB330の中に記憶された参照ピクチャに基づいてデフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト0およびリスト1を構成し得る。
【0207】
モード選択ユニット360は、動きベクトルおよび他のシンタックス要素を構文解析することによって、現在ビデオスライスのビデオブロックに対する予測情報を決定し、予測情報を使用して、復号されている現在ビデオブロックに対する予測ブロックを作り出すように構成される。たとえば、モード選択ユニット360は、受信されたシンタックス要素のうちのいくつかを使用して、ビデオスライスのビデオブロックをコーディングするために使用された予測モード(たとえば、イントラ予測またはインター予測)、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)、スライス用の参照ピクチャリストのうちの1つまたは複数に対する構成情報、スライスのインター符号化ビデオブロックごとの動きベクトル、スライスのインターコーディングされたビデオブロックごとのインター予測ステータス、および現在ビデオスライスの中のビデオブロックを復号するための他の情報を決定する。
【0208】
ビデオデコーダ30の他の変形が、符号化ピクチャデータ21を復号するために使用され得る。たとえば、デコーダ30は、ループフィルタ処理ユニット320を用いずに出力ビデオストリームを作り出すことができる。たとえば、非変換ベースのデコーダ30が、いくつかのブロックまたはフレームに対して逆変換処理ユニット312を用いずに残差信号を直接逆量子化することができる。別の実装形態では、ビデオデコーダ30は、単一のユニットの中に組み合わせられた逆量子化ユニット310および逆変換処理ユニット312を有することができる。
【0209】
エンコーダ20およびデコーダ30において、現在のステップの処理結果がさらに処理されてよく、次いで、次のステップに出力されてよいことを理解されたい。たとえば、補間フィルタ処理、動きベクトル導出、またはループフィルタ処理の後、補間フィルタ処理、動きベクトル導出、またはループフィルタ処理の処理結果に対して、クリップまたはシフトなどのさらなる演算が実行されてよい。
【0210】
現在ブロックの導出された動きベクトル(限定はしないが、アフィンモードの制御点動きベクトル、アフィンモード、平面モード、ATMVPモードにおけるサブブロック動きベクトル、時間動きベクトルなどを含む)に、さらなる演算が適用され得ることに留意されたい。たとえば、動きベクトルの値は、その表現ビットに従って既定の範囲に制約される。動きベクトルの表現ビットがbitDepthである場合、範囲は-2^(bitDepth-1)~2^(bitDepth-1)-1であり、ただし、「^」は累乗を意味する。たとえば、bitDepthが16に等しく設定される場合、範囲は-32768~32767であり、bitDepthが18に等しく設定される場合、範囲は-131072~131071である。たとえば、導出される動きベクトル(たとえば、1つの8×8ブロック内の4つの4×4サブブロックのMV)の値は、4つの4×4サブブロックMVの整数部分の間の最大差分が、1ピクセル以下などの、Nピクセル以下となるように制約される。
【0211】
ここで、bitDepthに従って動きベクトルを制約するための2つの方法を提供する。
【0212】
方法1:フローイング(flowing)演算によってオーバーフローMSB(最上位ビット)を除去する。
ux=(mvx+2bitDepth)%2bitDepth (1)
mvx=(ux>=2bitDepth-1) ? (ux-2bitDepth) : ux (2)
uy=(mvy+2bitDepth)%2bitDepth (3)
mvy=(uy>=2bitDepth-1) ? (uy-2bitDepth) : uy (4)
ただし、mvxは、画像ブロックまたはサブブロックの動きベクトルの水平成分であり、mvyは、画像ブロックまたはサブブロックの動きベクトルの垂直成分であり、uxおよびuyは中間値を示す。
【0213】
たとえば、mvxの値が-32769である場合、式(1)および式(2)を適用した後、得られる値は32767である。コンピュータシステムでは、10進数は2の補数として記憶される。-32769の2の補数は1,0111,1111,1111,1111(17ビット)であり、次いで、MSBが廃棄され、そのため、得られる2の補数は0111,1111,1111,1111(10進数は32767)であり、それは式(1)および式(2)を適用することによる出力と同じである。
ux=(mvpx+mvdx+2bitDepth)%2bitDepth (5)
mvx=(ux>=2bitDepth-1) ? (ux-2bitDepth) : ux (6)
uy=(mvpy+mvdy+2bitDepth)%2bitDepth (7)
mvy=(uy>=2bitDepth-1) ? (uy-2bitDepth) : uy (8)
【0214】
式(5)~式(8)に示すように、その演算はmvpおよびmvdの総計の間に適用され得る。
【0215】
方法2:値をクリップ(clip)することによってオーバーフローMSBを除去する。
vx=Clip3(-2bitDepth-1,2bitDepth-1-1,vx)
vy=Clip3(-2bitDepth-1,2bitDepth-1-1,vy)
ただし、vxは、画像ブロックまたはサブブロックの動きベクトルの水平成分であり、vyは、画像ブロックまたはサブブロックの動きベクトルの垂直成分であり、x、y、およびzは、それぞれ、MVクリッピングプロセスの3つの入力値に相当し、関数Clip3の定義は以下の通りである。
【0216】
【数1】
【0217】
図4は、本開示の一実施形態によるビデオコーディングデバイス400の概略図である。ビデオコーディングデバイス400は、本明細書で説明するような開示する実施形態を実施するのに適している。一実施形態では、ビデオコーディングデバイス400は、図1Aのビデオデコーダ30などのデコーダ、または図1Aのビデオエンコーダ20などのエンコーダであってよい。
【0218】
ビデオコーディングデバイス400は、データを受信するための入口ポート410(または、入力ポート410)および受信機ユニット(Rx)420、データを処理するためのプロセッサ、論理ユニット、または中央処理ユニット(CPU)430、データを送信するための送信機ユニット(Tx)440および出口ポート450(または、出力ポート450)、ならびにデータを記憶するためのメモリ460を備える。ビデオコーディングデバイス400はまた、光信号または電気信号の出口または入口のために入口ポート410、受信機ユニット420、送信機ユニット440、および出口ポート450に結合された、光電気(OE:Optical-to-Electrical)構成要素および電気光(EO:Electrical-to-Optical)構成要素を備えてよい。
【0219】
プロセッサ430は、ハードウェアおよびソフトウェアによって実装される。プロセッサ430は、1つまたは複数のCPUチップ、コア(たとえば、マルチコアプロセッサ)、FPGA、ASIC、およびDSPとして実装され得る。プロセッサ430は、入口ポート410、受信機ユニット420、送信機ユニット440、出口ポート450、およびメモリ460と通信している。プロセッサ430は、コーディングモジュール470を備える。コーディングモジュール470は、上記で説明した開示する実施形態を実施する。たとえば、コーディングモジュール470は、様々なコーディング動作を実施、処理、準備、または提供する。したがって、コーディングモジュール470を含むことは、ビデオコーディングデバイス400の機能性に大幅な改善をもたらし、異なる状態へのビデオコーディングデバイス400の変形をもたらす。代替として、コーディングモジュール470は、メモリ460の中に記憶されプロセッサ430によって実行される命令として実装される。
【0220】
メモリ460は、1つまたは複数のディスク、テープドライブ、およびソリッドステートドライブを備えてよく、実行のためにそのようなプログラムが選択されるときにプログラムを記憶するための、かつプログラム実行中に読み取られる命令およびデータを記憶するための、オーバーフローデータ記憶デバイスとして使用されてよい。メモリ460は、たとえば、揮発性および/または不揮発性であってよく、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、3値連想メモリ(TCAM:Ternary Content-Addressable Memory)、および/またはスタティックランダムアクセスメモリ(SRAM)であってよい。
【0221】
図5は、例示的な実施形態による図1からのソースデバイス12および宛先デバイス14のうちのどちらか一方または両方として使用され得る装置500の簡略化されたブロック図である。
【0222】
装置500の中のプロセッサ502は中央処理ユニットであり得る。代替として、プロセッサ502は、現存するかまたは今後開発される、情報を操作または処理することが可能な任意の他のタイプのデバイスまたは複数のデバイスであり得る。開示する実装形態は図示のように単一のプロセッサ、たとえば、プロセッサ502を用いて実践され得るが、速度および効率における利点は、2つ以上のプロセッサを使用して達成され得る。
【0223】
装置500の中のメモリ504は、一実装形態では読取り専用メモリ(ROM)デバイスまたはランダムアクセスメモリ(RAM)デバイスであり得る。任意の他の好適なタイプの記憶デバイスが、メモリ504として使用され得る。メモリ504は、バス512を使用してプロセッサ502によってアクセスされるコードおよびデータ506を含むことができる。メモリ504は、オペレーティングシステム508およびアプリケーションプログラム510をさらに含むことができ、アプリケーションプログラム510は、ここで説明する方法をプロセッサ502が実行することを可能にする少なくとも1つのプログラムを含む。たとえば、アプリケーションプログラム510は、アプリケーション1~Nを含むことができ、アプリケーション1~Nは、ここで説明する方法を実行するビデオコーディングアプリケーションをさらに含む。
【0224】
装置500はまた、ディスプレイ518などの1つまたは複数の出力デバイスを含むことができる。ディスプレイ518は、一例では、ディスプレイを、タッチ入力を感知するように動作可能なタッチ感応性要素と組み合わせる、タッチ感応性ディスプレイであってよい。ディスプレイ518は、バス512を介してプロセッサ502に結合され得る。
【0225】
ここでは単一のバスとして示されるが、装置500のバス512は複数のバスからなり得る。さらに、2次ストレージ514が、装置500の他の構成要素に直接結合され得るか、またはネットワークを介してアクセスされ得、メモリカードなどの単一の統合ユニット、または複数のメモリカードなどの複数のユニットを備えることができる。したがって、装置500は多種多様な構成で実装され得る。
【0226】
イントラ予測モード
HEVC/H.265規格によれば、35個のイントラ予測モードが利用可能である。図6に示すように、このセットは、以下のモード、すなわち、平面モード(イントラ予測モードインデックスが0である)、DCモード(イントラ予測モードインデックスが1である)、および180°の範囲をカバーし、図6の中の黒い矢印によって示される2~34というイントラ予測モードインデックス値範囲を有する、方向性(角度)モードを含む。自然ビデオの中に存在する任意のエッジ方向をキャプチャするために、方向性イントラモードの個数は、HEVCにおいて使用されるような33個から65個に拡張される。追加の方向性モードが図6の中の破線矢印として示され、平面モードおよびDCモードは同じままである。イントラ予測モードによってカバーされる範囲が180°よりも広くなり得ることに留意する価値がある。詳細には、3~64というインデックス値を有する62個の方向性モードは、ほぼ230°の範囲をカバーし、すなわち、モードのいくつかのペアは、対向する方向性を有する。HEVC参照モデル(HM)およびJEMプラットフォームの場合には、角度モードの1つのペア(すなわち、モード2および66)のみが、図6に示すように対向する方向性を有する。予測子を構成するために、従来の角度モードは参照サンプルを取り、(必要な場合)それらをフィルタ処理してサンプル予測子を得る。予測子を構成するために必要とされる参照サンプルの個数は、補間のために使用されるフィルタの長さに依存する(たとえば、双線形フィルタおよび立方体フィルタは、それぞれ、長さが2および4である)。
【0227】
図4は、たとえば、VVCのために提案されるような、67個のイントラ予測モードの一例を示し、67個のイントラ予測モードの複数のイントラ予測モードは、平面モード(インデックス0)、dcモード(インデックス1)、およびインデックス2~66を有する角度モードを備え、図6の中の左下角度モードはインデックス2を指し、インデックスの番号付けは、インデックス66が図6の最も右上の角度モードとなるまでインクリメントされる。
【0228】
最確モードリスト構成
コーディング効率を改善するために、イントラモードコーディングにおいて最確モード(MPM)リストが使用される。多数のイントラモード(たとえば、ITU H.265では35個、またVVCでは67個)に起因して、現在CU(コーディングユニット)または現在CB(コーディングブロック)の最確モードリストは、その隣接CUまたは隣接CBのイントラ予測モードに基づいて構成される。現在CUまたは現在CBのイントラモードが、その隣接CUまたは隣接CBのイントラ予測モードに関連するので、MPMリストは、通常、良好な予測を提供し、現在CUまたは現在CBのイントラモードは、MPMリストの中に入る見込みが大きい。このようにして、現在CUまたは現在CBのイントラモードを導出するために、MPMリストのインデックスがシグナリングされる。全イントラモードの個数と比較して、MPMリストの長さはずっと小さく(たとえば、HEVCでは3-MPMリストが使用され、VVCでは6-MPMリストが使用される)、したがって、イントラモードをコーディングするために、さほど多くないビットしか必要とされない。現在CUまたは現在CBのイントラモードがMPMリストの中にあるか否かを示すために、フラグ(たとえば、mpm_flag)が使用される。フラグの値が真(たとえば、値が1)である場合、現在CUまたは現在CBのイントラモードはMPMリストの中にある。フラグの値が偽(たとえば、値が0)である場合、現在CUまたは現在CBのイントラモードはMPMリストの中になく、現在CUまたは現在CBのイントラモードは2値化コードを使用してシグナリングされる。
【0229】
VVCおよびITU H.265におけるMPMリスト構成
VVCおよびITU H.265では、MPMリストは、現在ブロックの隣接する左および上のブロックに基づいて構成される。イントラ予測に対して現在ブロックの左のブロックおよび上のブロックが利用不可能であるとき、モードリストが使用される。
【0230】
6-MPMリスト構成に対する一例では、モードリストは、以下のイントラ予測モード、すなわち、(1)平面モード、(2)DCモード、(3)垂直モード、(4)水平モード、(5)V-4モード(すなわち、イントラモード46)、(6)V+4モード(すなわち、イントラモード54)を順に含む場合がある。3-MPMリスト構成に対する別の例では、デフォルトモードリストが、以下のイントラ予測モード、すなわち、(1)平面モード、(2)DCモードを順に含む場合がある。
【0231】
現在ブロックのイントラモードがMPMリストの中にあるときの現在ブロックのインデックスの2値化
10進表現を2進表現に変換するために2値化が使用される。ITU-T H.265およびVVCでは、固定長コード、短縮単項コード、および短縮バイナリコードなどの多くの2値化手法が使用される。短縮単項コードは、6-MPMリストに対応するインデックスをコーディングするために使用される。短縮単項2値化は、すべてのnビットが1である最大値を除いて、n個の1とそれに後続する0を有するか、または代替として、すべてのnビットが0である最大値を除いて、n個の0とそれに後続する1を有する、mpm idxを表す(mpm idxがnであると仮定すると、nの値は、両端値を含む0~5の間に及ぶ)。最大値が5であるmpmインデックスの2値化コードが、Table 1(表1)に示される。
【0232】
【表1】
【0233】
上記の例では、各10進値は、インデックスの最大値に相当する最後の10進値を除いて、(1だけ小さい10進値である)先行する10進値と比較した2進表現において、もう1つのビットに従ってコーディングされる。
【0234】
多仮説予測
コーディングブロックは、イントラ予測されるか(すなわち、同じピクチャの中の参照サンプルを使用する)、またはインター予測されるか(すなわち、他のピクチャの中の参照サンプルを使用する)のいずれかである。多仮説予測は、これらの2つの予測手法を組み合わせる。したがって、それは、組み合わせられたインターイントラ予測と呼ばれることもある。組み合わせられたインターイントラ予測が可能であるとき、イントラ予測かつインター予測されたサンプルには重みが加えられ、コーディングブロックに対する最終の予測は、重み付き平均サンプルとして導出される。
【0235】
VTM3.0では、多仮説(MH:Multi-Hypothesis)予測が可能である場合、ブロック形状に基づく4つまたは3つのイントラモードが使用される。4つのイントラモード事例では、平面モード、DCモード、垂直モード(値50に対応する)、および水平モード(18に対応する)が使用される。3つのイントラモード事例では、CU幅またはCB幅がCU高さまたはCB高さの2倍よりも大きいとき、水平モードはイントラモードリストから除かれ、CU高さまたはCB高さがCU幅またはCB幅の2倍よりも大きいとき、垂直モードはイントラモードリストから除去される。3つおよび4つのイントラモードの両方の事例に対して、これらの4つのイントラモード(すなわち、平面、DC、垂直、および水平)しか許容されず、3-MPMリストが定義される。
【0236】
MHブロック:多仮説予測によって予測されるルーマ成分のコーディングブロック。
【0237】
イントラブロック:イントラ予測によって予測されるが多仮説予測によって予測されないコーディングブロック。MHブロックのためのMPMリスト構成は、VTM3.0におけるイントラブロックのためのMPMリスト構成とは異なる。一例では、6-MPMリストが構成され、67個のイントラモードがイントラ予測のために使用され得る。イントラブロックのためのMPMリスト構成は、左のブロックおよび上のブロックのイントラ予測モードに基づいて構成され、左のブロックのイントラ予測モードおよび上のブロックのイントラ予測モードが利用可能でない場合、6エントリデフォルトモードリスト{平面、DC、垂直、水平、垂直-4、垂直+4}が使用され得る。
【0238】
別の態様では、MHブロックのmpmリストインデックスに対する2値化は、イントラブロックのmpmリストインデックスに対する2値化とは異なる。第1に、MHブロックの場合、3-MPMリストが定義され、mpmリストインデックスの最大値は2であるが、イントラブロックの場合、6-MPMリストが定義され、mpmリストインデックスの最大値は5である。第2に、3つまたは4つのイントラモード事例では、MHブロックに対するインデックス2値化はmpm_flagのシグナリングと組み合わせられる。3つのイントラモード事例におけるとき、水平モードまたは垂直モードを除外した後に、そのイントラモードが3-MPMリストの中に入るはずであるので、mpm_flagはシグナリングされないが真として推測される。4つのイントラモード事例におけるとき、mpm_flagがシグナリングされ、mpm_flagの値が真である(たとえば、mpm_flagの値が1である)場合、mpm_idxは短縮単項コードを用いてコーディングされ、短縮単項コードの最大値は2であり、mpm_flagの値が偽である(たとえば、mpm_flagの値が0である)場合、3-MPMリストの中の3つのイントラモードを4つのモード{平面、DC、垂直、および水平}から除外することによって、イントラモードが取得される。
【0239】
3つおよび4つのイントラモード事例のための、MHブロックのMPMリストインデックスの2値化、ならびにmpm_flagシグナリングは、Table 2(表2)によって表される。
【0240】
【表2】
【0241】
MHブロック用の3つまたは4つのMPMを区別する、VTMにおけるブロックベースの手法は、復号計算量を増大させ、多仮説予測(すなわち、組み合わせられたインターイントラ予測)が適用されるブロックにとって必要でない場合がある。
【0242】
本出願の実施形態は、特にMHブロックのためのMPMリスト構成の簡略化から恩恵を受ける、MH予測を通じてピクチャのブロックを復号する計算量を低減するためのいくつかの代替形態を提供する。
【0243】
実施形態1:
コーディングブロックに多仮説予測が適用されるか否かを決定する。
【0244】
コーディングブロックを予測するために多仮説予測が適用される場合、
・イントラ予測用のモードの事前定義されたデフォルトリストとともに第1のMPMリストを使用し、デフォルトリストはサイズがN(Nは0よりも大きい)である。
・第1のMPMリストのエントリのうちの1つに基づいてブロックを予測する。
【0245】
コーディングブロックを予測するために多仮説予測が適用されない場合、かつブロックを予測するためにイントラ予測が適用される場合、
・第2のMPMリストのエントリのうちの1つに基づいてブロックを予測する(一例では、第2のMPMリストはJVET-L1001の中で開示される方法に従って構成される)。
【0246】
一実装形態では、デフォルトモードリストは長さが4であり、リストは指定された順序を伴う後続するエントリ、すなわち、平面モード、DCモード、垂直モード、および水平モードからなる。
【0247】
一実装形態では、デフォルトモードリストは長さが3であり、リストは指定された順序を伴う後続するエントリ、すなわち、平面モード、DCモード、垂直モードからなる。
【0248】
一実装形態では、デフォルトモードリストは長さが2であり、リストは指定された順序を伴う後続するエントリ、すなわち、平面モード、DCモードからなる。
【0249】
一実装形態では、デフォルトモードリストは長さが1であり、リストは平面モードのみからなる。
【0250】
一実装形態では、mpmリストインデックスの2値化は短縮単項コードを使用し、第1のMPMリストが4つのイントラモードを有するとき、短縮単項コードの最大値は3であり、mpm_flagは常に真に設定される(mpm_flagの値は1である)。
【0251】
別の実装形態では、4つのイントラモードを有する第1のMPMリストを構成するために、デフォルトモードリストの中の最初の4つの候補が使用される。デフォルトモードリストの中での4つの候補の順序は、第1のMPMリストの中での候補の順序と同じである。一例として、デフォルトモードリストが以下のイントラ予測モード、すなわち、
1.平面モード、
2.DCモード、
3.垂直モード、
4.水平モード、
5.V-4モード、
6.V+4モード
を備える場合、第1のMPMリストは、以下のイントラ予測モード、すなわち、
1.平面モード、
2.DCモード、
3.垂直モード、
4.水平モード
を順に備える。
【0252】
一実装形態では、3つのイントラモードを有する第1のMPMリストを構成するために、デフォルトモードリストの中の最初の3つの候補が使用される。
【0253】
一実装形態では、mpmリストインデックスの2値化は短縮単項コードを使用し、第1のMPMリストが3つのイントラモードを有するとき、短縮単項コードの最大値は2であり、mpm_flagは常に真に設定される(mpm_flagの値は1である)。
【0254】
別の実装形態では、3つのイントラモードを有する第1のMPMリストを構成するために、デフォルトモードリストの中の最初の3つの候補が使用される。デフォルトモードリストの中での3つの候補の順序は、第1のMPMリストの中での候補の順序と同じである。一例として、デフォルトモードリストが以下のイントラ予測モード、すなわち、
1.平面モード、
2.DCモード、
3.垂直モード、
4.水平モード、
5.V-4モード、
6.V+4モード
を備える場合、第1のMPMリストは、以下のイントラ予測モード、すなわち、
1.平面モード、
2.DCモード、
3.垂直モード
を順に備える。
【0255】
一実装形態では、2つのイントラモードを有する第1のMPMリストを構成するために、デフォルトモードリストの中の最初の2つの候補が使用される。
【0256】
一実装形態では、第1のMPMリストが2つのイントラモードを有するとき、mpmリストインデックスの2値化は、最大値が1である短縮単項コードを使用し、mpm_flagは常に真に設定される(mpm_flagの値は1である)。
【0257】
別の実装形態では、2つのイントラモードを有する第1のMPMリストを構成するために、デフォルトモードリストの中の最初の2つの候補が使用される。デフォルトモードリストの中での2つの候補の順序は、第1のMPMリストの中での候補の順序と同じである。一例として、デフォルトモードリストが以下のイントラ予測モード、すなわち、
1.平面モード、
2.DCモード、
3.垂直モード、
4.水平モード、
5.V-4モード、
6.V+4モード
を備える場合、第1のMPMリストは、以下のイントラ予測モード、すなわち、
1.平面モード、
2.DCモード
を順に備える。
【0258】
一実装形態では、1つのイントラモードを有する第1のMPMリストを構成するために、デフォルトモードリストの中の最初の1つの候補が使用される。一例では、第1のMPMリストの中に挿入されるモードは平面モードである。
【0259】
一実装形態では、第1のMPMリストが、1つのイントラモードを有し、かつ固定のイントラモードを用いてコーディングされる場合、mpm_idxはシグナリングされず、mpm_flagは常に真に設定される(mpm_flagの値は1である)。
【0260】
別の実装形態では、1つのイントラモードを有する第1のMPMリストを構成するために、デフォルトモードリストの中の最初の候補が使用される。一例として、デフォルトモードリストが以下のイントラ予測モード、すなわち、
1.平面モード、
2.DCモード、
3.垂直モード、
4.水平モード、
5.V-4モード、
6.V+4モード
を備える場合、第1のMPMリストは、以下のイントラ予測モード、すなわち、
1.平面モード
を順に備える。
【0261】
第2のMPMリストは、ITU-T H.265およびVVCにおける方法に従って構成され得、上記の例、ならびにITU-T H.265およびVVCにおけるMPMリスト構成プロセスについての開示を参照されたい。
【0262】
実施形態2:
第1のMPMリストを構成する(一例では、第1のMPMリストは、JVET-L1001の中で開示される方法に従って構成される)。
【0263】
コーディングブロックに多仮説予測が適用されるか否かを決定する。
【0264】
コーディングブロックを予測するために多仮説予測が適用される場合、
・第1のMPMリストの中のエントリのうちの1つに基づいてブロックを予測する。
【0265】
コーディングブロックを予測するために多仮説予測が適用されない場合、かつブロックを予測するためにイントラ予測が適用される場合、
・第1のMPMリストのエントリのうちの1つに基づいてブロックを予測する。
【0266】
一実装形態では、第1のMPMリストの中のエントリのうちの1つに基づくイントラ予測は、次のように実行される。
・ステップ1:第1のMPMリストのエントリのすべてを構成する。
・ステップ2:ブロックが多仮説予測を適用するか否かを決定する。
・ステップ3:
〇コーディングブロックを予測するために多仮説予測が適用される場合、
*その最大値が(N-1)として知られている、ビットストリームからのインデックス表示を構文解析し、Nは1以上である。Nが1であるとき、インデックス表示は(構文解析されないが)0として推測される。
*第1のMPMリストおよび導出されたインデックス表示に従ってイントラ予測モードを導出する。導出されたイントラ予測モードは、インデックス表示によってインデックス付けされた、第1のMPMリストの中のエントリである。
*導出されたイントラ予測モードが、両端値を含む2と34との間のモードインデックス(イントラモードの対応する値)を有する角度モードである場合、導出されたイントラ予測は水平モードに変更される。
*そうではなく、導出されたイントラ予測が、両端値を含む35と66との間のモードインデックスを有する角度モードである場合、導出されたイントラ予測は垂直モードに変更される。
〇ブロックを予測するために多仮説予測が適用されない場合、かつブロックにイントラ予測が適用される場合、
*その最大値が(M-1)として知られている、ビットストリームからのインデックス表示を構文解析し、Mは1以上である。
*第1のMPMリストおよび導出されたインデックス表示に従ってイントラ予測モードを導出する。導出されたイントラ予測モードは、インデックス表示によってインデックス付けされた、第1のMPMリストの中のエントリである。
・ステップ4:導出されたイントラモードに基づいてブロックを予測する。
【0267】
一実装形態では、第1のMPMリストの中のエントリのうちの1つに基づくイントラ予測は、次のように実行される。
・ステップ1:第1のMPMリストのエントリのすべてを構成する。
・ステップ2:ブロックが多仮説予測を適用するか否かを決定する。
・ステップ3:
〇コーディングブロックを予測するために多仮説予測が適用される場合、
*その最大値が(N-1)として知られている、ビットストリームからのインデックス表示を構文解析し、Nは1以上である。Nが1であるとき、インデックス表示は(構文解析されないが)0として推測される。
*第1のMPMリストおよび導出されたインデックス表示に従ってイントラ予測モードを導出する。導出されたイントラ予測モードは、インデックス表示によってインデックス付けされた、第1のMPMリストの中のエントリである。
*導出されたイントラ予測モードが、両端値を含む2と33との間のモードインデックス(イントラモードの対応する値)を有する角度モードである場合、導出されたイントラ予測は水平モードに変更される。
*そうではなく、導出されたイントラ予測が、両端値を含む34と66との間のモードインデックスを有する角度モードである場合、導出されたイントラ予測は垂直モードに変更される。
〇ブロックを予測するために多仮説予測が適用されない場合、かつブロックにイントラ予測が適用される場合、
*その最大値が(M-1)として知られている、ビットストリームからのインデックス表示を構文解析し、Mは1以上である。
*第1のMPMリストおよび導出されたインデックス表示に従ってイントラ予測モードを導出する。導出されたイントラ予測モードは、インデックス表示によってインデックス付けされた、第1のMPMリストの中のエントリである。
・ステップ4:導出されたイントラモードに基づいてブロックを予測する。
【0268】
一実装形態では、第1のMPMリストの中のエントリのうちの1つに基づくイントラ予測は、次のように実行される。
・ステップ1:第1のMPMリストのエントリのすべてを構成する。
・ステップ2:ブロックが多仮説予測を適用するか否かを決定する。
・ステップ3:
〇コーディングブロックを予測するために多仮説予測が適用される場合、
*その最大値が(N-1)として知られている、ビットストリームからのインデックス表示を構文解析し、Nは1以上である。Nが1であるとき、インデックス表示は(構文解析されないが)0として推測される。
*第1のMPMリストおよび導出されたインデックス表示に従ってイントラ予測モードを導出する。導出されたイントラ予測モードは、インデックス表示によってインデックス付けされた、第1のMPMリストの中のエントリである。
*導出されたイントラ予測モードが、両端値を含む2と66との間のモードインデックス(イントラモードの対応する値)を有する角度モードである場合、導出されたイントラ予測は平面モードに変更される。
*導出されたイントラモードに基づいてブロックを予測する。
〇ブロックを予測するために多仮説予測が適用されない場合、かつブロックにイントラ予測が適用される場合、
*その最大値が(M-1)として知られている、ビットストリームからのインデックス表示を構文解析し、Mは1以上である。
*第1のMPMリストおよび導出されたインデックス表示に従ってイントラ予測モードを導出する。導出されたイントラ予測モードは、インデックス表示によってインデックス付けされた、第1のMPMリストの中のエントリである。
・ステップ4:導出されたイントラモードに基づいてブロックを予測する。
【0269】
実施形態3:
ブロックが多仮説予測を適用するか否かを決定する。
【0270】
ブロックを予測するために多仮説予測が適用される場合、
・第1のMPMリストの最初のN個のエントリを構成する(一例では、第1のMPMリストは、JVET-L1001の中で開示される方法に従って構成される)。
・第1のMPMリストのエントリのうちの1つに基づいてブロックを予測する。
【0271】
ブロックを予測するために多仮説予測が適用されない場合、かつブロックにイントラ予測が適用される場合、
・第1のMPMリストのエントリのすべてを構成する(一例では、第1のMPMリストは、JVET-L1001の中で開示される方法に従って構成される)。
・第1のMPMリストのエントリのうちの1つに基づいてブロックを予測する。
【0272】
一実装形態では、第1のMPMリストは、平面イントラ予測モード、DCイントラ予測モード、垂直イントラ予測モード、および水平イントラ予測モードのみを備える。
【0273】
一実装形態では、第1のMPMリストの中のエントリのうちの1つに基づくイントラ予測は、次のように実行される。
・ステップ1:ブロックが多仮説予測を適用するか否かを決定する。
・ステップ2:
・コーディングブロックを予測するために多仮説予測が適用される場合、
〇第1のMPMリストの最初のN個のエントリを構成し、すなわち、第1のMPMリストの構成規則に従って第1のMPMリストの最初のN個のエントリを構成する。最初のN個のエントリが決定され得ると、第1のMPMリストの他のエントリを構成するのをやめる。
〇その最大値が(N-1)として知られている、ビットストリームからのインデックス表示を構文解析し、Nは1以上である。Nが1であるとき、インデックス表示は(構文解析されないが)0として推測される。
〇第1のMPMリストの最初のN個のエントリ、および導出されたインデックス表示に従って、イントラ予測モードを導出する。導出されたイントラ予測モードは、インデックス表示によってインデックス付けされた、第1のMPMリストの中の最初のN個のエントリのうちのエントリである。
〇導出されたイントラ予測モードが、両端値を含む2と33との間のモードインデックス(イントラモードの対応する値)を有する角度モードである場合、導出されたイントラ予測は水平モードに変更される(値18に対応する)。
〇そうではなく、導出されたイントラ予測が、両端値を含む34と66との間のモードインデックスを有する角度モードである場合、導出されたイントラ予測は垂直モードに変更される(値50に対応する)。
・ブロックを予測するために多仮説予測が適用されない場合、かつブロックにイントラ予測が適用される場合、
〇第1のMPMリストのすべてのM個のエントリを構成する。
〇その最大値が(M-1)として知られている、ビットストリームからのインデックス表示を構文解析し、Mは1以上である。
〇第1のMPMリストおよび導出されたインデックス表示に従ってイントラ予測モードを導出する。導出されたイントラ予測モードは、インデックス表示によってインデックス付けされた、第1のMPMリストの中のエントリである。
・ステップ3:導出されたイントラモードに基づいてブロックを予測する。
【0274】
一実装形態では、第1のMPMリストの中のエントリのうちの1つに基づくイントラ予測は、次のように実行される。
・ステップ1:ブロックが多仮説予測を適用するか否かを決定する。
・ステップ2:
・コーディングブロックを予測するために多仮説予測が適用される場合、
〇第1のMPMリストの最初のN個のエントリを構成し、すなわち、第1のMPMリストの構成規則に従って第1のMPMリストの最初のN個のエントリを構成する。最初のN個のエントリが決定され得ると、第1のMPMリストの他のエントリを構成するのをやめる。
〇その最大値が(N-1)として知られている、ビットストリームからのインデックス表示を構文解析し、Nは1以上である。Nが1であるとき、インデックス表示は(構文解析されないが)0として推測される。
〇第1のMPMリストの最初のN個のエントリ、および導出されたインデックス表示に従って、イントラ予測モードを導出する。導出されたイントラ予測モードは、インデックス表示によってインデックス付けされた、第1のMPMリストの中の最初のN個のエントリのうちのエントリである。
〇導出されたイントラ予測モードが、両端値を含む2と34との間のモードインデックス(イントラモードの対応する値)を有する角度モードである場合、導出されたイントラ予測は水平モードに変更される(値18に対応する)。
〇そうではなく、導出されたイントラ予測が、両端値を含む35と66との間のモードインデックスを有する角度モードである場合、導出されたイントラ予測は垂直モードに変更される(値50に対応する)。
・ブロックを予測するために多仮説予測が適用されない場合、かつブロックにイントラ予測が適用される場合、
〇第1のMPMリストのすべてのM個のエントリを構成する。
〇その最大値が(M-1)として知られている、ビットストリームからのインデックス表示を構文解析し、Mは1以上である。
〇第1のMPMリストおよび導出されたインデックス表示に従ってイントラ予測モードを導出する。導出されたイントラ予測モードは、インデックス表示によってインデックス付けされた、第1のMPMリストの中のエントリである。
・ステップ3:導出されたイントラモードに基づいてブロックを予測する。
【0275】
一実装形態では、第1のMPMリストの中のエントリのうちの1つに基づくイントラ予測は、次のように実行される。
・ステップ1:ブロックが多仮説予測を適用するか否かを決定する。
・ステップ2:
・コーディングブロックを予測するために多仮説予測が適用される場合、
〇第1のMPMリストの最初のN個のエントリを構成し、すなわち、第1のMPMリストの構成規則に従って第1のMPMリストの最初のN個のエントリを構成する。最初のN個のエントリが決定され得ると、第1のMPMリストの他のエントリを構成するのをやめる。
〇その最大値が(N-1)として知られている、ビットストリームからのインデックス表示を構文解析し、Nは1以上である。Nが1であるとき、インデックス表示は(構文解析されないが)0として推測される。
〇第1のMPMリストの最初のN個のエントリ、および導出されたインデックス表示に従って、イントラ予測モードを導出する。導出されたイントラ予測モードは、インデックス表示によってインデックス付けされた、第1のMPMリストの中の最初のN個のエントリのうちのエントリである。
〇導出されたイントラ予測モードが、両端値を含む2と66との間のモードインデックス(イントラモードの対応する値)を有する角度モードである場合、導出されたイントラ予測は平面モードに変更される(値0に対応する)。
・ブロックを予測するために多仮説予測が適用されない場合、かつブロックにイントラ予測が適用される場合、
〇第1のMPMリストのすべてのM個のエントリを構成する。
〇その最大値が(M-1)として知られている、ビットストリームからのインデックス表示を構文解析し、Mは1以上である。
〇第1のMPMリストおよび導出されたインデックス表示に従ってイントラ予測モードを導出する。導出されたイントラ予測モードは、インデックス表示によってインデックス付けされた、第1のMPMリストの中のエントリである。
・ステップ3:導出されたイントラモードに基づいてブロックを予測する。
【0276】
一実装形態では、第1のMPMリストは、第2のMPMリストの最初のN個のエントリに基づいて、次のように構成される。
・ステップ1:第2のMPMリストの最初のエントリに進む。
・ステップ2.1:エントリが平面モードまたはDCモードである場合、第1のMPMリストの中にそのエントリを挿入する。
・ステップ2.2:そうではなく、エントリが、両端値を含む2と33との間のモードインデックスを有する角度モードである場合、第1のMPMリストの中に水平モードを挿入する。
・ステップ2.3:そうではなく、エントリが、両端値を含む34と66との間のモードインデックスを有する角度モードである場合、第1のMPMリストの中に垂直モードを挿入する。
・ステップ3:第2のMPMリストの中の次のエントリに進み、第1のMPMリストの中のエントリの個数が指定の最大値に等しくなるまで、ステップ2.1から再開する。
【0277】
一実装形態では、第1のMPMリストは、第2のMPMリストの最初のN個のエントリに基づいて、次のように構成される。
・ステップ1:第2のMPMリストの最初のエントリに進む。
・ステップ2.1:エントリが平面モードまたはDCモードである場合、第1のMPMリストの中にそのエントリを挿入する。
・ステップ2.2:そうではなく、エントリが、両端値を含む2と34との間のモードインデックスを有する角度モードである場合、かつ水平モードが挿入されていない場合、第1のMPMリストの中に水平モードを挿入する。
・ステップ2.3:そうではなく、エントリが、両端値を含む35と66との間のモードインデックスを有する角度モードである場合、かつ垂直モードが挿入されていない場合、第1のMPMリストの中に垂直モードを挿入する。
・ステップ3:第2のMPMリストの中の次のエントリに進み、第1のMPMリストの中のエントリの個数が指定の最大値に等しくなるか、または第2のMPMリストの最初のN個のエントリがすべて反復されるまで、ステップ2.1から再開する。
・ステップ4:挿入されていない1つまたは複数のデフォルトモードを第1のMPMリストの中に入れる。
【0278】
一実装形態では、第1のMPMリストは、第2のMPMリストの最初のN個のエントリに基づいて、次のように構成される。
・ステップ1:第2のMPMリストの最初のエントリに進む。
・ステップ2.1:エントリが平面モードまたはDCモードである場合、第1のMPMリストの中にそのエントリを挿入する。
・ステップ2.2:そうではなく、エントリが、両端値を含む2と33との間のモードインデックスを有する角度モードである場合、かつ水平モードが挿入されていない場合、第1のMPMリストの中に水平モードを挿入する。
・ステップ2.3:そうではなく、エントリが、両端値を含む34と66との間のモードインデックスを有する角度モードである場合、かつ垂直モードが挿入されていない場合、第1のMPMリストの中に垂直モードを挿入する。
・ステップ3:第2のMPMリストの中の次のエントリに進み、第1のMPMリストの中のエントリの個数が指定の最大値に等しくなるか、または第2のMPMリストの最初のN個のエントリがすべて反復されるまで、ステップ2.1から再開する。
・ステップ4:挿入されていない1つまたは複数のデフォルトモードを第1のMPMリストの中に入れる。
【0279】
一実装形態では、第1のMPMリストは、第2のMPMリストの最初のN個のエントリに基づいて、次のように構成される。
・ステップ1:第2のMPMリストの最初のエントリに進む。
・ステップ2.1:エントリが平面モードまたはDCモードである場合、第1のMPMリストの中にそのエントリを挿入する。
・ステップ2.2:そうではなく、エントリが、両端値を含む2と66との間のモードインデックスを有する角度モードである場合、かつデフォルトモードが挿入されていない場合、第1のMPMリストの中にデフォルトモードを挿入する。
・ステップ3:第2のMPMリストの中の次のエントリに進み、ステップ2.1から再開し、第1のMPMリストの中のエントリの個数が指定の最大値に等しくなるまで、異なるデフォルトモードで満たす。
【0280】
実施形態4:
コーディングブロックに多仮説予測が適用されるか否かを決定する。
【0281】
コーディングブロックを予測するために多仮説予測が適用される場合、
・イントラ予測用のモードの事前定義されたデフォルトリスト(たとえば、default_list[N])とともに第1のMPMリストを使用し、デフォルトリストはサイズがN(Nは0よりも大きい)である。
・mpm_flagを真として設定し、すなわち、mpm_flagは1として推測される。mpm_flagは、現在ブロックのイントラモードがMPMリストの中にあるか否かを示す。mpm_flagが1に等しいとき、現在ブロックのイントラモードはMPMリストの中にあり、mpm_flagが0に等しいとき、現在ブロックのイントラモードはMPMリストの中にない。
・0~N-1の間の値(0およびN-1を含む)を有するmpm_idxを構文解析する。Nが1である場合、mpm_idxは構文解析されないが0として推測される。
・default_list[mpm_idx]を有する現在ブロックのイントラモードを取得する。
・取得されたイントラモードに基づいてブロックを予測する。
【0282】
一例では、本実施形態においてブロックベースの2値化およびMPMリスト構成がない。
【0283】
一実装形態では、デフォルトモードリストは長さが4であり、リストは指定された順序を伴う後続するエントリ、すなわち、平面モード、DCモード、垂直モード、および水平モードからなる。
【0284】
一実装形態では、デフォルトモードリストは長さが3であり、リストは指定された順序を伴う後続するエントリ、すなわち、平面モード、DCモード、垂直モードからなる。
【0285】
一実装形態では、デフォルトモードリストは長さが3であり、リストは指定された順序を伴う後続するエントリ、すなわち、平面モード、水平モード(すなわち、18)、および垂直モード(すなわち、50)からなる。
【0286】
一実装形態では、デフォルトモードリストは長さが3でありリストは指定された順序を伴う後続するエントリ、すなわち、平面モード、垂直モード、および水平モードからなる。
【0287】
一実装形態では、デフォルトモードリストは長さが2であり、リストは指定された順序を伴う後続するエントリ、すなわち、平面モード、DCモードからなる。
【0288】
一実装形態では、デフォルトモードリストは長さが1であり、リストは平面モードのみからなる。
【0289】
一実装形態では、mpmリストインデックスの2値化は短縮単項コードを使用し、第1のMPMリストが4つのイントラモードを有するとき、短縮単項コードの最大値は3であり、mpm_flagは常に真に設定される(mpm_flagの値は1である)。
【0290】
一実装形態では、mpm_flagは常に真に設定される(mpm_flagの値は1である)。mpmリストインデックスの2値化は短縮単項コードを使用し、すべてのビンがCABACバイパスコーディングされる。デフォルトMPMリストはサイズが3であり、第1のMPMリストが、以下の順序で3つのイントラモード、すなわち、平面モード、水平(すなわち、18)モード、および垂直(すなわち、50)モードを有するとき、短縮単項コードの最大値は2である。
【0291】
一実装形態では、mpm_flagは常に真に設定される(mpm_flagの値は1である)。mpmリストインデックスの2値化は短縮単項コードを使用し、すべてのビンがCABACバイパスコーディングされる。デフォルトMPMリストはサイズが3であり、第1のMPMリストが、以下の順序で3つのイントラモード、すなわち、平面モード、垂直(すなわち、50)モード、および水平(すなわち、18)モードを有するとき、短縮単項コードの最大値は2である。
【0292】
第2のMPMリストは、ITU-T H.265およびVVCにおける方法に従って構成され得、上記の例、ならびにITU-T H.265およびVVCにおけるMPMリスト構成プロセスについての開示を参照されたい。
【0293】
実施形態5:
図8に示すように、ピクチャのブロックを復号する方法は、以下のことを備える。
【0294】
ステップ801:現在コーディングブロックに対する表示パラメータを取得し、表示パラメータが、現在コーディングブロックに多仮説予測が適用されるかどうかを表し、
【0295】
ステップ802:現在コーディングブロックに多仮説予測が適用されることを表示パラメータが表すとき、
【0296】
ステップ803:平面モードに従って現在コーディングブロックを復号する。
【0297】
一実装形態では、多仮説予測は、組み合わせられたインターおよびイントラ予測(CIIP)である。
【0298】
一実装形態では、表示パラメータはCIIPフラグである。
【0299】
一実装形態では、表示パラメータを搬送するために、マージデータが使用される。そのことは、表示パラメータがマージデータシンタックスから導出されることを意味する。
【0300】
一実装形態では、表示パラメータの値に基づいて現在コーディングブロックに多仮説予測を適用した後、方法は、最確モード(MPM)リストおよびMPMリストインデックスに従って現在コーディングブロック用のイントラ予測モードを取得するステップをさらに備える。随意に、以下のステップ、すなわち、MPMリストの中のイントラ予測モードの各々に、MPMリストインデックスの対応する値でインデックス付けするステップと、ビットストリームからのMPMリストインデックスを構文解析するステップであって、MPMリストインデックスが0~N-1の間の値を有する、ステップと、MPMリストインデックスの値に従ってMPMリストから現在ブロックのイントラ予測モードを取得するステップとを通じた、MPMリストおよびMPMリストインデックスに従って現在コーディングブロック用のイントラ予測モードを取得すること。
【0301】
一実装形態では、MPMリストは少なくとも平面モードを備える。
【0302】
別の実装形態では、MPMリストは、平面モード、ならびにDCモード、垂直モード、および水平モードのうちの少なくとも1つを備える。
【0303】
別の実装形態では、MPMリストは平面モードからなる。
【0304】
一実装形態では、方法は、MPMリストインデックスの値に従ってMPMリストから現在コーディングブロック用の平面モードを選択することをさらに備える。
【0305】
一実装形態では、MPMリストは、イントラ予測用のモードの事前定義されたデフォルトリスト(たとえば、デフォルトモードリスト)から構成され、デフォルトリストはサイズがNよりも大きい。
【0306】
一実装形態では、MPMリストインデックスは10進表現または2進表現にコーディングされる。
【0307】
一実装形態では、MPMリストインデックスの2値化は短縮単項コードを使用する。
【0308】
一実装形態では、4つのイントラモードを有するMPMリストを構成するために、デフォルトモードリストの中の最初の4つの候補が使用される。デフォルトモードリストの中での4つの候補の順序は、MPMリストの中での候補の順序と同じである。一例として、デフォルトモードリストが以下のイントラ予測モード、すなわち、
1.平面モード、
2.DCモード、
3.垂直モード、
4.水平モード、
5.V-4モード、
6.V+4モード
を備える場合、MPMリストは、以下のイントラ予測モード、すなわち、
1.平面モード、
2.DCモード、
3.垂直モード、
4.水平モード
を順に備える。
【0309】
一実装形態では、3つのイントラモードを有するMPMリストを構成するために、デフォルトモードリストの中の最初の3つの候補が使用される。
【0310】
一実装形態では、mpmリストインデックスの2値化は短縮単項コードを使用し、MPMリストが3つのイントラモードを有するとき、短縮単項コードの最大値は2であり、mpm_flagは常に真に設定される(mpm_flagの値は1である)。
【0311】
別の実装形態では、3つのイントラモードを有するMPMリストを構成するために、デフォルトモードリストの中の最初の3つの候補が使用される。デフォルトモードリストの中での3つの候補の順序は、MPMリストの中での候補の順序と同じである。一例として、デフォルトモードリストが以下のイントラ予測モード、すなわち、
1.平面モード、
2.DCモード、
3.垂直モード、
4.水平モード、
5.V-4モード、
6.V+4モード
を備える場合、MPMリストは、以下のイントラ予測モード、すなわち、
1.平面モード、
2.DCモード、
3.垂直モード
を順に備える。
【0312】
一実装形態では、2つのイントラモードを有するMPMリストを構成するために、デフォルトモードリストの中の最初の2つの候補が使用される。
【0313】
一実装形態では、MPMリストが2つのイントラモードを有するとき、mpmリストインデックスの2値化は、最大値が1である短縮単項コードを使用し、mpm_flagは常に真に設定される(mpm_flagの値は1である)。
【0314】
別の実装形態では、2つのイントラモードを有するMPMリストを構成するために、デフォルトモードリストの中の最初の2つの候補が使用される。デフォルトモードリストの中での2つの候補の順序は、MPMリストの中での候補の順序と同じである。一例として、デフォルトモードリストが以下のイントラ予測モード、すなわち、
1.平面モード、
2.DCモード、
3.垂直モード、
4.水平モード、
5.V-4モード、
6.V+4モード
を備える場合、MPMリストは、以下のイントラ予測モード、すなわち、
1.平面モード、
2.DCモード
を順に備える。
【0315】
一実装形態では、1つのイントラモードを有するMPMリストを構成するために、デフォルトモードリストの中の最初の1つの候補が使用される。一例では、MPMリストの中に挿入されるモードは平面モードである。
【0316】
別の実装形態では、1つのイントラモードを有するMPMリストを構成するために、デフォルトモードリストの中の最初の候補が使用される。一例として、デフォルトモードリストが以下のイントラ予測モード、すなわち、
1.平面モード、
2.DCモード、
3.垂直モード、
4.水平モード、
5.V-4モード、
6.V+4モード
を備える場合、MPMリストは、以下のイントラ予測モード、すなわち、
1.平面モード
を備える。
【0317】
上記の実施形態は、ピクチャのブロックを符号化する方法にも適用可能である。
【0318】
一実装形態では、mpmリストインデックスの2値化は短縮単項コードを使用し、第1のMPMリストがN個のイントラモードを有するとき、短縮単項コードの最大値はN-1であり、mpm_flagは常に真に設定される。Nが1に等しい場合、mpm_idxはシグナリングされない。
【0319】
本発明の実施形態は主にビデオコーディングに基づいて説明されているが、コーディングシステム10、エンコーダ20、およびデコーダ30(かつそれに対応して、システム10)の実施形態、ならびに本明細書で説明する他の実施形態がまた、静止画処理または静止画コーディング、すなわち、ビデオコーディングにおけるような先行するかまたは連続する任意のピクチャから独立した個々のピクチャの処理またはコーディングのために構成され得ることに留意されたい。概して、ピクチャ処理コーディングが単一のピクチャ17に限定される場合には、インター予測ユニット244(エンコーダ)および344(デコーダ)だけは利用可能でなくてよい。ビデオエンコーダ20およびビデオデコーダ30のすべての他の機能性(ツールまたは技術とも呼ばれる)は、静止画処理、たとえば、残差計算204/304、変換206、量子化208、逆量子化210/310、(逆)変換212/312、区分262/362、イントラ予測254/354および/またはループフィルタ処理220、320、ならびにエントロピーコーディング270およびエントロピー復号304のために等しく使用され得る。
【0320】
たとえば、エンコーダ20およびデコーダ30の実施形態、ならびに、たとえば、エンコーダ20およびデコーダ30を参照しながら、本明細書で説明する機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実施され得る。ソフトウェアで実施される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されてよく、または通信媒体を介して送信されてよく、ハードウェアベースの処理ユニットによって実行されてよい。コンピュータ可読媒体は、データ記憶媒体などの有形媒体、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体に相当する、コンピュータ可読記憶媒体を含んでよい。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に、相当し得る。データ記憶媒体は、本開示で説明する技法の実施のための命令、コード、および/またはデータ構造を取り出すために、1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であってよい。コンピュータプログラム製品は、コンピュータ可読媒体を含んでよい。
【0321】
例として、かつ限定的でなく、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROM、または他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気記憶デバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得るとともにコンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、任意の接続が適切にコンピュータ可読媒体と呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義の中に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体が、接続、搬送波、信号、または他の一時的媒体を含まず、代わりに非一時的な有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)、およびBlu-ray(登録商標)ディスク(disc)を含み、ここで、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記のものの組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【0322】
命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の均等な集積論理回路構成もしくは個別論理回路構成などの、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造または本明細書で説明する技法の実装にとって好適な任意の他の構造のうちのいずれかを指すことがある。加えて、いくつかの態様では、本明細書で説明する機能性は、符号化および復号するために構成された専用のハードウェア内および/またはソフトウェアモジュール内で提供され得るか、または組み合わせられたコーデックの中に組み込まれ得る。また、技法は1つまたは複数の回路または論理要素の中に完全に実装され得る。
【0323】
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実施され得る。様々な構成要素、モジュール、またはユニットは、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために本開示で説明されるが、必ずしも様々なハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットは、コーデックハードウェアユニットの中で組み合わせられてよく、あるいは好適なソフトウェアおよび/またはファームウェアとともに、上記で説明したような1つまたは複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合によって提供されてよい。
【0324】
以下のことは、コーディング方法、ならびに上述の実施形態に示すような復号方法、およびそれらを使用するシステムの、適用例の説明である。
【0325】
図9は、コンテンツ配信サービスを実現するためのコンテンツ供給システム3100を示すブロック図である。このコンテンツ供給システム3100は、キャプチャデバイス3102、端末デバイス3106を含み、随意にディスプレイ3126を含む。キャプチャデバイス3102は、通信リンク3104を介して端末デバイス3106と通信する。通信リンクは、上記で説明した通信チャネル13を含んでよい。通信リンク3104は、限定はしないが、WIFI、Ethernet、ケーブル、ワイヤレス(3G/4G/5G)、USB、またはそれらの任意の種類の組合せなどを含む。
【0326】
キャプチャデバイス3102はデータを生成し、上記の実施形態に示すようなコーディング方法によってデータをコーディングし得る。代替として、キャプチャデバイス3102がデータをストリーミングサーバ(図に示さず)に配信してよく、サーバがデータをコーディングしコーディングされたデータを端末デバイス3106へ送信する。キャプチャデバイス3102は、限定はしないが、カメラ、スマートフォンもしくはパッド、コンピュータもしくはラップトップ、ビデオ会議システム、PDA、車載デバイス、またはそれらのうちのいずれかの組合せなどを含む。たとえば、キャプチャデバイス3102は、上記で説明したようなソースデバイス12を含んでよい。データがビデオを含むとき、キャプチャデバイス3102の中に含まれるビデオエンコーダ20が実際にビデオコーディング処理を実行してよい。データがオーディオ(すなわち、音声)を含むとき、キャプチャデバイス3102の中に含まれるオーディオエンコーダが実際にオーディオコーディング処理を実行してよい。いくつかの実際的なシナリオの場合、キャプチャデバイス3102は、コーディングされたビデオおよびオーディオデータを、それらを一緒に多重化することによって配信する。他の実際的なシナリオの場合、たとえば、ビデオ会議システムでは、符号化オーディオデータおよび符号化ビデオデータは多重化されない。キャプチャデバイス3102は、符号化オーディオデータおよび符号化ビデオデータを別々に端末デバイス3106に配信する。
【0327】
コンテンツ供給システム3100では、端末デバイス310はコーディングされたデータを受信および再生する。端末デバイス3106は、上述のコーディングされたデータを復号することが可能な、スマートフォンもしくはパッド3108、コンピュータもしくはラップトップ3110、ネットワークビデオレコーダ(NVR)/デジタルビデオレコーダ(DVR)3112、TV3114、セットトップボックス(STB)3116、ビデオ会議システム3118、ビデオ監視システム3120、携帯情報端末(PDA)3122、車載デバイス3124、またはそれらのうちのいずれかの組合せなどの、データ受信および復元能力を有するデバイスであり得る。たとえば、端末デバイス3106は、上記で説明したような宛先デバイス14を含んでよい。コーディングされたデータがビデオを含むとき、端末デバイスの中に含まれるビデオデコーダ30は、ビデオ復号を実行するために優先される。コーディングされたデータがオーディオを含むとき、端末デバイスの中に含まれるオーディオデコーダは、オーディオ復号処理を実行するために優先される。
【0328】
そのディスプレイを有する端末デバイス、たとえば、スマートフォンもしくはパッド3108、コンピュータもしくはラップトップ3110、ネットワークビデオレコーダ(NVR)/デジタルビデオレコーダ(DVR)3112、TV3114、携帯情報端末(PDA)3122、または車載デバイス3124の場合、端末デバイスは復号データをそのディスプレイに供給することができる。ディスプレイが装備されない端末デバイス、たとえば、STB3116、ビデオ会議システム3118、またはビデオ監視システム3120の場合、復号データを受信および表示するために外部ディスプレイ3126がそれらに接触される。
【0329】
このシステムの中の各デバイスがコーディングまたは復号を実行するとき、上述の実施形態に示されるようなピクチャコーディングデバイスまたはピクチャ復号デバイスが使用され得る。
【0330】
図10は、端末デバイス3106の一例の構造を示す図である。端末デバイス3106がキャプチャデバイス3102からストリームを受信した後、プロトコル進行ユニット3202は、ストリームの伝送プロトコルを分析する。プロトコルは、限定はしないが、リアルタイムストリーミングプロトコル(RTSP)、ハイパーテキスト転送プロトコル(HTTP)、HTTPライブストリーミングプロトコル(HLS)、MPEG-DASH、リアルタイムトランスポートプロトコル(RTP)、リアルタイムメッセージングプロトコル(RTMP)、またはそれらの任意の種類の組合せなどを含む。
【0331】
プロトコル進行ユニット3202がストリームを処理した後、ストリームファイルが生成される。ファイルは逆多重化ユニット3204に出力される。逆多重化ユニット3204は、多重化されたデータをコーディングされたオーディオデータおよびコーディングされたビデオデータに分離することができる。上記で説明したように、いくつかの実際的なシナリオの場合、たとえば、ビデオ会議システムでは、符号化オーディオデータおよび符号化ビデオデータは多重化されない。この状況では、符号化データは、逆多重化ユニット3204を通ることなく、ビデオデコーダ3206およびオーディオデコーダ3208へ送信される。
【0332】
逆多重化処理を介して、ビデオエレメンタリストリーム(ES:elementary stream)、オーディオES、および随意にサブタイトルが生成される。上述の実施形態で説明したようなビデオデコーダ30を含むビデオデコーダ3206は、上述の実施形態に示されるような復号方法によってビデオESを復号してビデオフレームを生成し、このデータを同期ユニット3212に供給する。オーディオデコーダ3208は、オーディオESを復号してオーディオフレームを生成し、このデータを同期ユニット3212に供給する。代替として、ビデオフレームは、それを同期ユニット3212に供給する前にバッファ(図10に示さず)の中に記憶し得る。同様に、オーディオフレームは、それを同期ユニット3212に供給する前にバッファ(図10に示さず)の中に記憶し得る。
【0333】
同期ユニット3212は、ビデオフレームとオーディオフレームとを同期させ、随意に、グラフィックス処理装置(GPU)を介して、ビデオ/オーディオをビデオ/オーディオディスプレイ3214に供給する。たとえば、同期ユニット3212は、デコーダの中のデータバッファがオーバーフローまたはアンダーフローしないことを確実にしながら、ビデオの提示とオーディオ情報とを同期させる。情報は、コーディングされたオーディオデータおよびビジュアルデータの提示に関係するタイムスタンプ、ならびにデータストリーム自体の配信に関係するタイムスタンプを使用して、シンタックスの中でコーディングし得る。タイムスタンプは、一般に、90kHzの単位であるが、システムクロックリファレンス(SCR:System Clock Reference)、プログラムクロックリファレンス(PCR:Program Clock Reference)、および随意のエレメンタリストリームクロックリファレンス(ESCR:Elementary Stream Clock Reference)は、27MHzの分解能を伴う拡張を有する。
【0334】
ストリームの中にサブタイトルが含まれる場合、サブタイトルデコーダ3210は、サブタイトルを復号し、それをビデオフレームおよびオーディオフレームと同期させ、随意に、GPUを介して、ビデオ/オーディオ/サブタイトルをビデオ/オーディオ/サブタイトルディスプレイ3216に供給する。
【0335】
本発明は上述のシステムに限定されず、上述の実施形態におけるピクチャコーディングデバイスまたはピクチャ復号デバイスのいずれも、他のシステム、たとえば、自動車システムの中に組み込まれ得る。
【符号の説明】
【0336】
10 コーディングシステム、ビデオコーディングシステム
12 ソースデバイス
13 通信チャネル
14 宛先デバイス
16 ピクチャソース
17 ピクチャ、ピクチャデータ、未加工ピクチャ、未加工ピクチャデータ
18 プリプロセッサ、ピクチャプリプロセッサ、前処理ユニット
19 前処理済みのピクチャ、前処理済みのピクチャデータ
20 エンコーダ、ビデオエンコーダ
21 符号化ピクチャデータ、ビットストリーム
22 通信インターフェース、通信ユニット
28 通信インターフェース、通信ユニット
30 デコーダ、ビデオデコーダ
31 復号ピクチャ、復号ピクチャデータ
32 ポストプロセッサ、後処理ユニット
33 後処理されたピクチャ、後処理されたピクチャデータ
34 ディスプレイデバイス
46 処理回路構成
201 入力部、入力インターフェース
203 ブロック、ピクチャブロック
204 残差計算ユニット
205 残差、残差ブロック
206 変換処理ユニット
207 変換係数
208 量子化ユニット
209 量子化係数、量子化変換係数、量子化残差係数
210 逆量子化ユニット
211 逆量子化係数、逆量子化残差係数
212 逆変換処理ユニット
213 変換ブロック、再構成残差ブロック
214 再構成ユニット、加算器
215 再構成ブロック
220 ループフィルタユニット
221 フィルタ処理済みのブロック、フィルタ処理済みの再構成ブロック
230 復号ピクチャバッファ(DPB)
231 復号ピクチャ
244 インター予測ユニット
254 イントラ予測ユニット
260 モード選択ユニット
262 区分ユニット
265 予測ブロック、予測子、イントラ予測ブロック、インター予測ブロック
266 シンタックス要素
270 エントロピー符号化ユニット
272 出力部、出力インターフェース
304 エントロピー復号ユニット
309 量子化係数
310 逆量子化ユニット
311 変換係数、逆量子化係数
312 逆変換処理ユニット
313 変換ブロック、再構成残差ブロック
314 再構成ユニット、加算器
315 再構成ブロック
320 ループフィルタ、ループフィルタ処理ユニット
321 フィルタ処理済みのブロック
330 復号ピクチャバッファ(DBP)
331 復号ピクチャ
344 インター予測ユニット
354 イントラ予測ユニット
365 予測ブロック
400 ビデオコーディングデバイス
410 入口ポート、入力ポート
420 受信機ユニット(Rx)
430 プロセッサ、論理ユニット、中央処理ユニット(CPU)
440 送信機ユニット(Tx)
450 出口ポート、出力ポート
460 メモリ
470 コーディングモジュール
500 装置
502 プロセッサ
504 メモリ
506 データ
508 オペレーティングシステム
510 アプリケーションプログラム
512 バス
518 ディスプレイ
3100 コンテンツ供給システム
3102 キャプチャデバイス
3104 通信リンク
3106 端末デバイス
3108 スマートフォン、パッド
3110 コンピュータ、ラップトップ
3112 ネットワークビデオレコーダ(NVR)/デジタルビデオレコーダ(DVR)
3114 TV
3116 セットトップボックス(STB)
3118 ビデオ会議システム
3120 ビデオ監視システム
3122 携帯情報端末(PDA)
3124 車載デバイス
3126 ディスプレイ
3202 プロトコル進行ユニット
3204 逆多重化ユニット
3206 ビデオデコーダ
3208 オーディオデコーダ
3210 サブタイトルデコーダ
3212 同期ユニット
3214 ビデオ/オーディオディスプレイ
3216 ビデオ/オーディオ/サブタイトルディスプレイ
図1A
図1B
図2
図3
図4
図5
図6
図7
図8
図9
図10