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

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

▶ 華為技術有限公司の特許一覧

特許7346601MPMリストを構成する方法、クロマブロックのイントラ予測モードを取得する方法、および装置
<>
  • 特許-MPMリストを構成する方法、クロマブロックのイントラ予測モードを取得する方法、および装置 図1A
  • 特許-MPMリストを構成する方法、クロマブロックのイントラ予測モードを取得する方法、および装置 図1B
  • 特許-MPMリストを構成する方法、クロマブロックのイントラ予測モードを取得する方法、および装置 図2
  • 特許-MPMリストを構成する方法、クロマブロックのイントラ予測モードを取得する方法、および装置 図3
  • 特許-MPMリストを構成する方法、クロマブロックのイントラ予測モードを取得する方法、および装置 図4
  • 特許-MPMリストを構成する方法、クロマブロックのイントラ予測モードを取得する方法、および装置 図5
  • 特許-MPMリストを構成する方法、クロマブロックのイントラ予測モードを取得する方法、および装置 図6
  • 特許-MPMリストを構成する方法、クロマブロックのイントラ予測モードを取得する方法、および装置 図7A
  • 特許-MPMリストを構成する方法、クロマブロックのイントラ予測モードを取得する方法、および装置 図7B
  • 特許-MPMリストを構成する方法、クロマブロックのイントラ予測モードを取得する方法、および装置 図8
  • 特許-MPMリストを構成する方法、クロマブロックのイントラ予測モードを取得する方法、および装置 図9
  • 特許-MPMリストを構成する方法、クロマブロックのイントラ予測モードを取得する方法、および装置 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-08
(45)【発行日】2023-09-19
(54)【発明の名称】MPMリストを構成する方法、クロマブロックのイントラ予測モードを取得する方法、および装置
(51)【国際特許分類】
   H04N 19/11 20140101AFI20230911BHJP
   H04N 19/136 20140101ALI20230911BHJP
   H04N 19/176 20140101ALI20230911BHJP
【FI】
H04N19/11
H04N19/136
H04N19/176
【請求項の数】 24
(21)【出願番号】P 2021572051
(86)(22)【出願日】2020-06-04
(65)【公表番号】
(43)【公表日】2022-08-10
(86)【国際出願番号】 CN2020094387
(87)【国際公開番号】W WO2020244579
(87)【国際公開日】2020-12-10
【審査請求日】2022-01-13
(31)【優先権主張番号】201910486183.5
(32)【優先日】2019-06-05
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
【住所又は居所原語表記】Huawei Administration Building, Bantian, Longgang District, Shenzhen, Guangdong 518129, P.R. China
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133569
【弁理士】
【氏名又は名称】野村 進
(72)【発明者】
【氏名】▲馬▼ 祥
(72)【発明者】
【氏名】▲楊▼ ▲海▼涛
(72)【発明者】
【氏名】▲趙▼ 寅
(72)【発明者】
【氏名】▲張▼ 恋
【審査官】田中 純一
(56)【参考文献】
【文献】特表2022-526990(JP,A)
【文献】特表2022-531333(JP,A)
【文献】米国特許出願公開第2021/0297661(US,A1)
【文献】米国特許出願公開第2020/0359033(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00 - 19/98
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
行列に基づくイントラ予測(MIP)モードが現在のブロックに用いられる、最も確からしいモード(MPM)リストを構成する方法であって、前記方法は、
隣接ブロックのイントラ予測モード情報を取得するステップであって、前記隣接ブロックは、現在ブロックの上隣接ブロック、および/または左隣接ブロックを含む、ステップと、
前記隣接ブロックの前記イントラ予測モード情報に基づいて、前記隣接ブロックのイントラ予測モードが前記MIPモードかどうかを判定するステップと、
前記隣接ブロックの前記イントラ予測モードが前記MIPモードでなければ、前記現在ブロックのMPMリスト構成に前記隣接ブロックの前記イントラ予測モードを使用することをスキップするステップであって、前記隣接ブロックの前記イントラ予測モードが前記MIPモードでないときは、前記隣接ブロックの前記イントラ予測モードが前記現在ブロックの前記MPMリスト構成に使用されていないことを示すために、前記隣接ブロックの前記イントラ予測モードは利用不可に設定する、ステップ、または
前記隣接ブロックの前記イントラ予測モードが前記MIPモードであれば、前記現在ブロックのMPMリスト構成に前記隣接ブロックの前記イントラ予測モードを使用するステップとを含む、方法。
【請求項2】
前記隣接ブロックの前記イントラ予測モードが前記現在ブロックの前記MPMリスト構成に使用されていないことを示すために、candMipModeXの値を-1に設定するステップであって、candMipModeXは、前記隣接ブロックの前記イントラ予測モードの候補値を示すために使用される、ステップ
を更に含む、請求項1に記載の方法。
【請求項3】
前記隣接ブロックの前記イントラ予測モードが前記MIPモードでなければ、前記現在ブロックの前記MPMリスト構成にデフォルトモードを使用するステップ
を更に含む、請求項1または2に記載の方法。
【請求項4】
前記隣接ブロックの前記イントラ予測モードが前記MIPモードであれば、前記現在ブロックの前記MPMリスト構成に、前記隣接ブロックの前記イントラ予測モードを使用する前記ステップが、
前記隣接ブロックの前記イントラ予測モードが前記MIPモードであれば、前記現在ブロックと前記隣接ブロックとのサイズインデックスが同じかどうかを判定するステップと、
前記現在ブロックと前記隣接ブロックとの前記サイズインデックスが同じであれば、前記現在ブロックの前記MPMリスト構成に、前記隣接ブロックの前記イントラ予測モードを使用するステップとを含む、請求項1に記載の方法。
【請求項5】
前記隣接ブロックの前記イントラ予測モード情報に基づいて、前記隣接ブロックの前記イントラ予測モードを取得するステップ
を更に含む、請求項1または4に記載の方法。
【請求項6】
前記隣接ブロックの前記イントラ予測モード情報に基づいて、前記隣接ブロックのイントラ予測モードが前記MIPモードかどうかを判定する前記ステップが、
フラグMIP_FLAGに基づいて、前記隣接ブロックの前記イントラ予測モードが前記MIPモードかどうかを判定するステップであって、前記隣接ブロックの前記イントラ予測モード情報が、前記MIP_FLAGを含む、ステップ
を含む、請求項1から5のいずれか一項に記載の方法。
【請求項7】
行列に基づくイントラ予測(MIP)モードが現在のブロックに用いられない、最も確からしいモード(MPM)リストを構成する方法であって、前記方法は、
隣接ブロックのイントラ予測モード情報を取得するステップであって、前記隣接ブロックは、現在ブロックの上隣接ブロック、および/もしくは左隣接ブロックを含む、ステップと、
前記隣接ブロックの前記イントラ予測モード情報に基づいて、前記隣接ブロックのイントラ予測モードが前記MIPモードかどうかを判定する、ステップと、
前記隣接ブロックの前記イントラ予測モードが前記MIPモードであれば、前記現在ブロックのMPMリスト構成に前記隣接ブロックの前記イントラ予測モードを使用することをスキップするステップであって、前記隣接ブロックの前記イントラ予測モードが前記MIPモードであるときは、前記隣接ブロックの前記イントラ予測モードが前記現在ブロックの前記MPMリスト構成に使用されていないことを示すために、前記隣接ブロックの前記イントラ予測モードは利用不可に設定される、ステップ、または
前記隣接ブロックの前記イントラ予測モードが前記MIPモードでなければ、前記現在ブロックのMPMリスト構成に前記隣接ブロックの前記イントラ予測モードを使用するステップと
を含む、方法。
【請求項8】
前記隣接ブロックの前記イントラ予測モードが前記現在ブロックの前記MPMリスト構成に使用されていないことを示すために、candIntraPredModeXの値を-1に設定するステップ
を更に含む、請求項7に記載の方法。
【請求項9】
前記隣接ブロックの前記イントラ予測モードが前記MIPモードであれば、前記現在ブロックの前記MPMリスト構成にデフォルトモードを使用するステップ
を更に含む、請求項7または8に記載の方法。
【請求項10】
前記隣接ブロックの前記イントラ予測モード情報に基づいて、前記隣接ブロックの前記イントラ予測モードを取得するステップ
を更に含む、請求項7に記載の方法。
【請求項11】
前記隣接ブロックの前記イントラ予測モード情報に基づいて、前記隣接ブロックのイントラ予測モードが前記MIPモードかどうかを判定する前記ステップが、
フラグMIP_FLAGに基づいて、前記隣接ブロックの前記イントラ予測モードが前記MIPモードかどうかを判定するステップであって、前記隣接ブロックの前記イントラ予測モード情報が、前記MIP_FLAGを含む、ステップ
を含む、請求項7から10のいずれか一項に記載の方法。
【請求項12】
イントラ予測装置であって、前記装置は、
隣接ブロックのイントラ予測モード情報を取得するように構成された取得モジュールであって、前記隣接ブロックは、現在ブロックの上隣接ブロック、および/または左隣接ブロックを含む、取得モジュールと、
前記隣接ブロックの前記イントラ予測モード情報に基づいて、前記隣接ブロックのイントラ予測モードが行列に基づくイントラ予測(MIP)モードかどうかを判定するように構成された判定モジュールと、
前記隣接ブロックの前記イントラ予測モードが前記MIPモードでなければ、前記現在ブロックのMPMリスト構成に前記隣接ブロックの前記イントラ予測モードを使用しないように、または前記隣接ブロックの前記イントラ予測モードが前記MIPモードであれば、前記現在ブロックのMPMリスト構成に前記隣接ブロックの前記イントラ予測モードを使用するように構成された処理モジュールであって、前記隣接ブロックの前記イントラ予測モードが前記MIPモードでないときは、前記隣接ブロックの前記イントラ予測モードが前記現在ブロックの前記MPMリスト構成に使用されていないことを示すために、前記隣接ブロックの前記イントラ予測モードは利用不可に設定される、前記処理モジュール
を含む、装置。
【請求項13】
前記処理モジュールが、具体的には前記隣接ブロックの前記イントラ予測モードを利用不可に設定するように構成される、請求項12に記載の装置。
【請求項14】
前記処理モジュールが、前記隣接ブロックの前記イントラ予測モードが前記MIPモードでなければ、前記現在ブロックの前記MPMリスト構成にデフォルトモードを使用するように更に構成される、請求項12または13に記載の装置。
【請求項15】
前記処理モジュールが、具体的には前記隣接ブロックの前記イントラ予測モードが前記MIPモードであれば、前記現在ブロックと前記隣接ブロックとのサイズインデックスが同じかどうかを判定し、かつ前記現在ブロックと前記隣接ブロックとの前記サイズインデックスが同じであれば、前記現在ブロックの前記MPMリスト構成に前記隣接ブロックの前記イントラ予測モードを使用するように構成される、請求項12に記載の装置。
【請求項16】
前記取得モジュールが、前記隣接ブロックの前記イントラ予測モード情報に基づいて、前記隣接ブロックの前記イントラ予測モードを取得するように更に構成される、請求項12または15に記載の装置。
【請求項17】
前記判定モジュールが、具体的にはフラグMIP_FLAGに基づいて、前記隣接ブロックの前記イントラ予測モードが前記MIPモードかどうかを判定するように構成され、前記隣接ブロックの前記イントラ予測モード情報が前記MIP_FLAGを含む、請求項12から16のいずれか一項に記載の装置。
【請求項18】
イントラ予測装置であって、前記装置は、
隣接ブロックのイントラ予測モード情報を取得するように構成された取得モジュールであって、前記隣接ブロックは、現在ブロックの上隣接ブロック、および/または左隣接ブロックを含む、取得モジュールと、
前記隣接ブロックの前記イントラ予測モード情報に基づいて、前記隣接ブロックのイントラ予測モードが行列に基づくイントラ予測(MIP)モードかどうかを判定するように構成された判定モジュールと、
前記隣接ブロックの前記イントラ予測モードが前記MIPモードであれば、前記現在ブロックのMPMリスト構成に前記隣接ブロックの前記イントラ予測モードを使用しないように、または前記隣接ブロックの前記イントラ予測モードが前記MIPモードでなければ、前記現在ブロックのMPMリスト構成に前記隣接ブロックの前記イントラ予測モードを使用するように構成された処理モジュールであって、前記隣接ブロックの前記イントラ予測モードが前記MIPモードであるときは、前記隣接ブロックの前記イントラ予測モードが前記現在ブロックの前記MPMリスト構成に使用されていないことを示すために、前記隣接ブロックの前記イントラ予測モードは利用不可に設定される、前記処理モジュール
を含む、装置。
【請求項19】
前記処理モジュールが、前記隣接ブロックの前記イントラ予測モードが前記現在ブロックの前記MPMリスト構成に使用されていないことを示すために、candIntraPredModeXの値を-1に設定するように更に構成される、請求項18に記載の装置。
【請求項20】
前記処理モジュールが、前記隣接ブロックの前記イントラ予測モードが前記MIPモードであれば、前記現在ブロックの前記MPMリスト構成にデフォルトモードを使用するように更に構成される、請求項18または19に記載の装置。
【請求項21】
前記取得モジュールが、前記隣接ブロックの前記イントラ予測モード情報に基づいて、前記隣接ブロックの前記イントラ予測モードを取得するように更に構成される、請求項18に記載の装置。
【請求項22】
前記判定モジュールが、具体的にはフラグMIP_FLAGに基づいて、前記隣接ブロックの前記イントラ予測モードが前記MIPモードかどうかを判定するように構成され、前記隣接ブロックの前記イントラ予測モード情報が前記MIP_FLAGを含む、請求項18から21のいずれか一項に記載の装置。
【請求項23】
映像コーデックであって、前記映像コーデックは画像ブロックを符号化/復号するように構成され、
請求項12から22のいずれか一項に記載のイントラ予測装置であって、現在ブロックの構成されたMPMリストに基づいて前記現在ブロックの予測モードを判定し、その後、前記予測モードに基づいて前記現在ブロックの予測された画素値を判定するように構成される、イントラ予測装置と、
前記予測した画素値に基づいて前記現在ブロックを再構成するように構成された再構成モジュールと
を含む、映像コーデック。
【請求項24】
互いに結合された不揮発性メモリとプロセッサとを備え、前記プロセッサが、請求項1から11のいずれか一項に記載の方法を実行するために、前記メモリに記憶されたプログラムコードを呼び出す、映像コード化デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2019年6月5日に国家知識産権局に提出された、「METHOD FOR CONSTRUCTING MPM LIST,METHOD FOR OBTAINING INTRA PREDICTION MODE OF CHROMA BLOCK,AND APPARATUS」と題された中国特許出願第201910486183.5号の優先権を主張し、その全体は、参照によりここに組み込まれる。
【0002】
本出願は、映像コード化の分野に関し、特に最も確からしいモード(MPMリストを構成する方法、クロマブロックのイントラ予測モードを取得する方法、および装置に関する。
【背景技術】
【0003】
イントラ予測とは、現在ブロックが配置された画像内の再構成された画素を使用して、現在ブロックを予測することをいう。通常、現在ブロックの画素の予測値は、現在ブロックの周囲の再構成された隣接ブロックの画素を使用して得られる。イントラ予測は、対応する位置で画素の予測値を取得するために、現在ブロック内の各画素位置に参照画素を特定の方向でマッピングすることである。したがって、様々に異なるテクスチャまたは構造特性をカバーするために、複数のマッピング方向またはマッピング方式が存在する。通常、マッピング方向またはマッピング方式は、イントラ予測モードと称される。イントラ予測モードのセットは、35個の異なるイントラ予測モード、例えば、DC(または平均)モードおよび平面モードなどの無指向性モード、または、H.265で規定されたモードなどの指向性モードを含んでもよく、あるいは、67個の異なるイントラ予測モード、例えば、DC(または平均)モードおよび平面モードなどの無指向性モード、または、開発中のH.266で規定されたモードなどの指向性モードを含み得る。加えて、第14回JVET会議において、JVET-N0217提案で行列に基づくイントラ予測(Matrix-based Intra Prediction、MIP)モードが提案された。イントラ予測は、主に現在ブロックの上端のサンプルと左端のサンプルとを使用して行われる。
【0004】
イントラ予測は、最も確からしいモード(Most Probable Mode、MPM)リストに関連し、これは、現在ブロックに対して使用されることが最も確からしい複数の(例えば、3つまたは5つの)イントラ予測モードを含み得る。MPMリストはMIPに適用されてよい。具体的には、MPMリストは、隣接ブロックのイントラ予測モードに基づいて構成される。
【0005】
しかしながら、既存のイントラ予測方法では、MPMリストを構成するために、MIPと別のイントラ予測モードとの対応関係に基づいて、MIPと別のイントラ予測モードとの間で変換を行う必要がある。その結果、複雑性が高くなる。
【発明の概要】
【0006】
本出願の実施形態は、MPMリスト構成の複雑性を低減するために、MPMリストを構成する方法、クロマブロックのイントラ予測モードを取得する方法、および装置を提供する。
【課題を解決するための手段】
【0007】
第1の態様によれば、本出願の実施形態は、MPMリストを構成する方法であって、現在ブロックにMIPモードが使用され、本方法は、
隣接ブロックのイントラ予測モード情報を取得するステップであって、隣接ブロックは現在ブロックの上隣接ブロック、および/もしくは左隣接ブロックを含む、ステップと、隣接ブロックのイントラ予測モード情報に基づいて、隣接ブロックのイントラ予測モードがMIPモードかどうかを判定するステップと、隣接ブロックのイントラ予測モードがMIPモードでなければ、現在ブロックのMPMリスト構成に隣接ブロックのイントラ予測モードを使用することをスキップするステップ、または隣接ブロックのイントラ予測モードがMIPモードであれば、現在ブロックのMPMリスト構成に隣接ブロックのイントラ予測モードを使用するステップとを含む、方法を提供する。MIPモードは新たに追加されたVVCのイントラ予測技術であり、イントラ予測は、主に現在ブロックの上端のサンプルと左端のサンプルとを使用して行われる。幅がWで高さがHの長方形ブロックのサンプルを予測するために、長方形ブロックの左側にある再構成済みの隣接サンプルのH列と、長方形ブロックの上にある再構成済みの隣接サンプルのW行とがMIPモードの入力として使用される。再構成済みの隣接サンプルが利用不可であれば、従来のイントラ予測におけるようにサンプルが生成される。平均化、行列ベクトル乗算、および線形補間の3つのステップに基づいて予測信号が生成される。
【0008】
この実施形態の実施では、現在ブロックにMIPモードが使用されるときは、隣接ブロックのイントラ予測モードがMIPモードでなければ、隣接ブロックのイントラ予測モードは現在ブロックのMPMリスト構成に使用されないため、MPMリスト構成の複雑性を低減することができる。
【0009】
可能な実施態様では、現在ブロックのMPMリスト構成に隣接ブロックのイントラ予測モードを使用することをスキップするステップは、隣接ブロックのイントラ予測モードを利用不可に設定するステップを含む。
【0010】
可能な実施態様では、本方法は、隣接ブロックのイントラ予測モードが現在ブロックのMPMリスト構成に使用されていないことを示すために、candMipModeXの値を-1に設定するステップを更に含む。
【0011】
可能な実施態様では、本方法は、隣接ブロックのイントラ予測モードがMIPモードでなければ、現在ブロックのMPMリスト構成にデフォルトモードを使用するステップを更に含む。
【0012】
可能な実施態様では、隣接ブロックのイントラ予測モードがMIPモードであれば、現在ブロックのMPMリスト構成に隣接ブロックのイントラ予測モードを使用するステップは、隣接ブロックのイントラ予測モードがMIPモードであれば、現在ブロックと隣接ブロックとのサイズインデックスが同じかどうかを判定するステップと、現在ブロックと隣接ブロックとのサイズインデックスが異なっていれば、現在ブロックのMPMリスト構成に隣接ブロックのイントラ予測モードを使用することをスキップするステップ、または現在ブロックと隣接ブロックとのサイズインデックスが同じであれば、現在ブロックのMPMリスト構成に隣接ブロックのイントラ予測モードを使用するステップとを含む。
【0013】
可能な実施態様では、本方法は、隣接ブロックのイントラ予測モード情報に基づいて、隣接ブロックのイントラ予測モードを取得するステップを更に含む。
【0014】
可能な実施態様では、隣接ブロックのイントラ予測モード情報に基づいて、隣接ブロックのイントラ予測モードがMIPモードかどうかを判定するステップは、フラグMIP_FLAGに基づいて、隣接ブロックのイントラ予測モードがMIPモードかどうかを判定するステップであって、隣接ブロックのイントラ予測モード情報がMIP_FLAGを含む、ステップを含む。
【0015】
第2の態様によれば、本出願の実施形態は、MPMリストを構成する方法であって、現在ブロックにMIPモードが使用されず、本方法は、
隣接ブロックのイントラ予測モード情報を取得するステップであって、隣接ブロックは現在ブロックの上隣接ブロック、および/もしくは左隣接ブロックを含む、ステップと、隣接ブロックのイントラ予測モード情報に基づいて、隣接ブロックのイントラ予測モードがMIPモードかどうかを判定するステップと、隣接ブロックのイントラ予測モードがMIPモードであれば、現在ブロックのMPMリスト構成に隣接ブロックのイントラ予測モードを使用することをスキップするステップ、または隣接ブロックのイントラ予測モードがMIPモードでなければ、現在ブロックのMPMリスト構成に隣接ブロックのイントラ予測モードを使用するステップとを含む、方法を提供する。
【0016】
この実施形態の実施では、現在ブロックにMIPモードが使用されないときは、隣接ブロックのイントラ予測モードがMIPモードであれば、隣接ブロックのイントラ予測モードは現在ブロックのMPMリスト構成に使用されないため、MPMリスト構成の複雑性を低減することができる。
【0017】
可能な実施態様では、現在ブロックのMPMリスト構成に隣接ブロックのイントラ予測モードを使用することをスキップするステップは、隣接ブロックのイントラ予測モードを利用不可に設定するステップを含む。
【0018】
可能な実施態様では、本方法は、隣接ブロックのイントラ予測モードが現在ブロックのMPMリスト構成に使用されていないことを示すために、candIntraPredModeXの値を-1に設定するステップを更に含む。
【0019】
可能な実施態様では、本方法は、隣接ブロックのイントラ予測モードがMIPモードであれば、現在ブロックのMPMリスト構成にデフォルトモードを使用するステップを更に含む。
【0020】
可能な実施態様では、本方法は、隣接ブロックのイントラ予測モード情報に基づいて、隣接ブロックのイントラ予測モードを取得するステップを更に含む。
【0021】
可能な実施態様では、隣接ブロックのイントラ予測モード情報に基づいて、隣接ブロックのイントラ予測モードがMIPモードかどうかを判定するステップは、フラグMIP_FLAGに基づいて、隣接ブロックのイントラ予測モードがMIPモードかどうかを判定するステップであって、隣接ブロックのイントラ予測モード情報がMIP_FLAGを含む、ステップを含む。
【0022】
第3の態様によれば、本出願の実施形態は、クロマブロックのイントラ予測モードを取得する方法を提供し、本方法は、
ルマブロックのイントラ予測モードを取得するステップであって、ルマブロックは現在のクロマブロックに対応するルマブロックである、ステップと、ルマブロックのイントラ予測モードがMIPモードかどうかを判定するステップと、ルマブロックのイントラ予測モードがMIPモードでない場合は、ルマブロックのイントラ予測モードを現在のクロマブロックのイントラ予測モードとして使用するステップ、またはルマブロックのイントラ予測モードがMIPモードであれば、デフォルトモードをクロマブロックのイントラ予測モードとして使用するステップとを含む。
【0023】
現在のクロマブロックについては、現在のクロマブロックの中央位置をカバーするルマブロックのイントラ予測モードが直接継承される。具体的には、ルマ成分と同じイントラ予測モードがクロマ成分に対して選択される。これは、クロマブロックにクロマ導出モード(derived mode、DM)が用いられるときに使用されるイントラ予測モード取得方法である。本出願では、DMモードに基づいて、ルマブロックにMIPモードが追加された場合は、ルマブロックのイントラ予測モードがMIPモードでなければ、ルマブロックのイントラ予測モードが現在のクロマブロックのイントラ予測モードとして使用され、あるいはルマブロックのイントラ予測モードがMIPモードであれば、デフォルトモードが現在のクロマブロックのイントラ予測モードとして使用されるため、クロマブロックのイントラ予測モードを取得する複雑性を低減することができる。
【0024】
可能な実施態様では、デフォルトモードはPlanarモードまたはDCモードを含む。
【0025】
第4の態様によれば、本出願の実施形態はイントラ予測装置を提供し、現在ブロックにMIPモードが使用され、本装置は、
隣接ブロックのイントラ予測モード情報を取得するように構成された取得モジュールであって、隣接ブロックは、現在ブロックの上隣接ブロック、および/もしくは左隣接ブロックを含む、取得モジュールと、隣接ブロックのイントラ予測モード情報に基づいて、隣接ブロックのイントラ予測モードがMIPモードかどうかを判定するように構成された判定モジュールと、隣接ブロックのイントラ予測モードがMIPモードでなければ、現在ブロックのMPMリスト構成に隣接ブロックのイントラ予測モードを使用しないように、または隣接ブロックのイントラ予測モードがMIPモードであれば、現在ブロックのMPMリスト構成に隣接ブロックのイントラ予測モードを使用するように構成された処理モジュールとを含む。
【0026】
可能な実施態様では、処理モジュールは、具体的には隣接ブロックのイントラ予測モードを利用不可に設定するように構成される。
【0027】
可能な実施態様では、処理モジュールは、隣接ブロックのイントラ予測モードが現在ブロックのMPMリスト構成に使用されていないことを示すために、candMipModeXの値を-1に設定するように更に構成される。
【0028】
可能な実施態様では、処理モジュールは、隣接ブロックのイントラ予測モードがMIPモードでなければ、現在ブロックのMPMリスト構成にデフォルトモードを使用するように更に構成される。
【0029】
可能な実施態様では、処理モジュールは、具体的には隣接ブロックのイントラ予測モードがMIPモードであれば、現在ブロックと隣接ブロックとのサイズインデックスが同じかどうかを判定するように構成され、現在ブロックと隣接ブロックとのサイズインデックスが異なっている場合は、隣接ブロックのイントラ予測モードを現在ブロックのMPMリスト構成に使用しないように、または現在ブロックと隣接ブロックとのサイズインデックスが同じであれば、隣接ブロックのイントラ予測モードを現在ブロックのMPMリスト構成に使用するように構成される。
【0030】
可能な実施態様では、取得モジュールは、隣接ブロックのイントラ予測モード情報に基づいて、隣接ブロックのイントラ予測モードを取得するように更に構成される。
【0031】
可能な実施態様では、判定モジュールは、具体的にはフラグMIP_FLAGに基づいて、隣接ブロックのイントラ予測モードがMIPモードかどうかを判定するように構成され、隣接ブロックのイントラ予測モード情報はMIP_FLAGを含む。
【0032】
第5の態様によれば、本出願の実施形態はイントラ予測装置を提供し、現在ブロックにMIPモードは使用されず、本装置は、
隣接ブロックのイントラ予測モード情報を取得するように構成された取得モジュールであって、隣接ブロックは、現在ブロックの上隣接ブロック、および/もしくは左隣接ブロックを含む、取得モジュールと、隣接ブロックのイントラ予測モード情報に基づいて、隣接ブロックのイントラ予測モードがMIPモードかどうかを判定するように構成された判定モジュールと、隣接ブロックのイントラ予測モードがMIPモードであれば、現在ブロックのMPMリスト構成に隣接ブロックのイントラ予測モードを使用しないように、または隣接ブロックのイントラ予測モードがMIPモードでなければ、現在ブロックのMPMリスト構成に隣接ブロックのイントラ予測モードを使用するように構成された処理モジュールとを備える。
【0033】
可能な実施態様では、処理モジュールは、具体的には隣接ブロックのイントラ予測モードを利用不可に設定するように構成される。
【0034】
可能な実施態様では、処理モジュールは、隣接ブロックのイントラ予測モードが現在ブロックのMPMリスト構成に使用されていないことを示すために、candIntraPredModeXの値を-1に設定するように更に構成される。
【0035】
可能な実施態様では、処理モジュールは、隣接ブロックのイントラ予測モードがMIPモードであれば、現在ブロックのMPMリスト構成にデフォルトモードを使用するように更に構成される。
【0036】
可能な実施態様では、取得モジュールは、隣接ブロックのイントラ予測モード情報に基づいて、隣接ブロックのイントラ予測モードを取得するように更に構成される。
【0037】
可能な実施態様では、判定モジュールは、具体的にはフラグMIP_FLAGに基づいて、隣接ブロックのイントラ予測モードがMIPモードかどうかを判定するように構成され、隣接ブロックのイントラ予測モード情報はMIP_FLAGを含む。
【0038】
第6の態様によれば、本出願の実施形態はイントラ予測装置を提供し、本装置は、
ルマブロックのイントラ予測モードを取得するように構成された取得モジュールであって、ルマブロックは現在のクロマブロックに対応するルマブロックである、取得モジュールと、ルマブロックのイントラ予測モードがMIPモードかどうかを判定するように構成された判定モジュールと、ルマブロックのイントラ予測モードがMIPモードでなければ、ルマブロックのイントラ予測モードを現在のクロマブロックのイントラ予測モードとして使用するように、または、ルマブロックのイントラ予測モードがMIPモードであれば、デフォルトモードをクロマブロックのイントラ予測モードとして使用するように構成された処理モジュールとを備える。
【0039】
可能な実施態様では、デフォルトモードはPlanarモードまたはDCモードを含む。
【0040】
第7の態様によれば、本出願の実施形態は映像コーデックを提供し、映像コーデックは画像ブロックを符号化/復号するように構成され、かつ
第4の態様から第6の態様のいずれか1つに記載のイントラ予測装置であって、現在ブロックの構成されたMPMリストに基づいて現在ブロックの予測モードを判定し、その後、予測モードに基づいて現在ブロックの予測された画素値を判定するように構成された、イントラ予測装置と、予測した画素値に基づいて現在ブロックを再構成するように構成された再構成モジュールとを含む。
【0041】
第8の態様によれば、本出願の実施形態は、映像コード化デバイスを提供する。映像コード化デバイスは、互いに結合された不揮発性メモリとプロセッサとを備える。プロセッサは、メモリに記憶されたプログラムコードを呼び出して、第1の態様から第3の態様のいずれか1つによる方法を実行する。
【0042】
MPMリストを構成するために、MIPと別のイントラ予測との対応関係に基づいてMIPと別のイントラ予測との間で変換を行うことが必要な既存のイントラ予測方法と比較して、本出願の実施形態では、幾つかの条件が満たされれば隣接ブロックのイントラ予測モードは現在ブロックのMPMリスト構成に使用されなくてよく、その結果、MIPと別のイントラ予測モードとの対応関係に基づく変換を回避でき、MPMリスト構成の複雑性を低減することができる。
【0043】
本出願の実施形態または背景技術における技術的ソリューションをより明確に説明するために、以下では、本出願の実施形態または背景技術を説明するための添付の図面について説明する。
【図面の簡単な説明】
【0044】
図1A】本出願の一実施形態による、映像符号化および復号システム10の一例のブロック図である。
図1B】本出願の一実施形態による、映像コード化システム40の一例のブロック図である。
図2】本出願の一実施形態による、符号器20の例示的な構造のブロック図である。
図3】本出願の一実施形態による、復号器30の例示的な構造のブロック図である。
図4】本出願の一実施形態による、映像コード化デバイス400の一例のブロック図である。
図5】本出願の一実施形態による、符号化装置または復号装置の別の例のブロック図である。
図6】本出願の一実施形態による、MPMリストを構成する方法の概略流れ図である。
図7A】MIPモードにおける隣接ブロックの概略図である。
図7B】MIPモードにおける隣接ブロックの別の概略図である。
図8】本出願の一実施形態による、MPMリストを構成する方法の別の概略流れ図である。
図9】本出願の一実施形態による、クロマブロックのイントラ予測モードを取得する方法の概略流れ図である。
図10】本出願の一実施形態によるイントラ予測装置1000の概略ブロック図である。
【発明を実施するための形態】
【0045】
これ以降は、本出願の実施形態の添付の図面を参照しながら本出願の実施形態を説明する。以下の説明では、添付の図面を参照し、これらの図面は、この開示の一部を形成するとともに、例示として、本出願の実施形態の特定の態様、または本出願の実施形態が使用され得る特定の態様を示す。本出願の実施形態は他の態様で使用されてよいとともに添付図面に描かれない構造的または論理的な変更を含んでよいことを理解されたい。したがって、以下の詳細な説明は、限定的な意味で理解されないものとし、また、本出願の範囲は添付の特許請求の範囲によって規定される。例えば、開示の内容と記載の方法との組み合わせもまた、この方法を行うように構成された対応するデバイスまたはシステムに当てはまり得、逆もまた同様であることを理解されたい。例えば、1つまたは複数の特定の方法ステップが記載されている場合、対応するデバイスは、記載の1つまたは複数の方法ステップを行うために、機能ユニットなどの1つまたは複数のユニット(例えば、1つもしくは複数のステップを行う1つユニット、または複数のステップのうちの1つもしくは複数を各々行う複数のユニット)を、そのような1つまたは複数のユニットが明示的に記載されていないか、または添付の図面に示されていなくても含み得る。加えて、例えば、特定の装置が機能ユニットなどの1つまたは複数のユニットに基づいて説明されている場合、対応する方法は、1つまたは複数のユニットの機能を実施するために使用されるステップ(例えば、1つもしくは複数のユニットの機能を実施するために使用される1つのステップ、または複数のユニットの1つもしくは複数の機能を実施するために各々使用される複数のステップ)を、そのような1つまたは複数のステップが明示的に記載されていないか、または添付の図面に示されていなくても含み得る。更に、別段に明記されなければ、この明細書中に記載される様々な実施形態の例および/または態様の特徴が互いに組み合わされてもよいことを理解されたい。
【0046】
本出願の実施形態における技術的解決策は、既存の映像コード化規格(例えば、H.264やHEVCなどの規格)に適用されるだけでなく、将来の映像コード化規格(H.266規格など)にも適用され得る。本出願の実施形態で使用される用語は、本出願の特定の実施形態を説明するために使用されるものにすぎず、本出願を限定することを意図されるものではない。以下ではまず、本出願の実施形態で用いられ得る幾つかの概念について簡単に説明する。
【0047】
映像コード化は、一般に画像のシーケンスの処理を指し、画像のシーケンスは映像または映像シーケンスを形成する。映像コード化の分野では、「画像(picture)」、「フレーム(frame)」、および「イメージ(image)」という用語は同義語として使用され得る。本明細書における映像コード化とは、映像符号化または映像復号のことをいう。映像符号化は送信元側で行われ、通常、より効率的な記憶および/または伝送のために、その映像を表すデータの量を減らすように、(例えば、圧縮によって)元の映像を処理することを含む。映像復号は送信先側で行われ、通常、映像を再構成するために符号器に対して逆の処理を行うことを含む。実施形態における映像の「コード化」は、映像シーケンスの「符号化」または「復号」として理解されたい。符号化部分と復号部分との組み合わせもまたコード化(符号化および復号)と呼ばれる。
【0048】
映像シーケンスは一連の画像(picture)を含み、画像はスライス(slice)に更に分割され、スライスはブロック(block)に更に分割される。映像コード化はブロックごとに実行される。幾つかの新しい映像コード化規格では「ブロック」の概念が更に拡張されている。例えば、H.264規格にはマクロブロック(macroblock、MB)が導入されている。マクロブロックは、予測コード化に使用できる複数の予測ブロックに更に分割されてよい(partition)。高効率映像コード化(high efficiency video coding、HEVC)規格では、「コード化単位」(coding unit、CU)、「予測単位」(prediction unit、PU)、「変換単位」(transform unit、TU)などの基本概念が用いられる。機能分割によって複数の種類のブロック単位が得られ、新しい木構造を用いて記述される。例えば、CUは4分木に基づいてより小さいCUに分割され、より小さいCUは4分木構造を生成するように更に分割され得る。CUは、コード化された画像を分割し、符号化するための基本単位である。PUおよびTUも同様の木構造を有する。PUは、予測ブロックに対応していてよく、予測コード化のための基本単位である。CUは、分割モードで複数のPUに更に分割される。TUは、変換ブロックに対応していてよく、予測残差を変換するための基本単位である。しかしながら、本質的にCU、PU、TUは全て概念的なブロックである(または画像ブロックと呼ばれる)。
【0049】
例えば、HEVCでは、CTUは、コード化ツリーとして表される4分木構造を使用して、複数のCUに分割される。画像領域をインター(時間)予測で符号化するかイントラ(空間)予測で符号化するかの決定はCUレベルで行われる。各CUは、PU分割パターンに基づいて、1つ、2つ、または4つのPUに更に分割されてよい。1つのPUでは同一の予測プロセスが適用され、また関連情報がPU単位で復号器に送信される。PU分割パターンに基づいて予測プロセスを適用することによって残差ブロックが取得された後、CUは、CUに使用されるコード化ツリーに類似した他の4分木構造に基づいて変換ユニット(transform unit、TU)に分割されてよい。映像圧縮技術の最近の開発では、コード化ブロックを分割するために4分木+2分木(Quad-tree and binary tree、QTBT)分割フレームが使用される。QTBTブロック構造では、CUが正方形または長方形であってよい。
【0050】
本明細書では、記述および理解を簡単にするために、現在の符号化画像内のコード化されるべき画像ブロックは、現在ブロックと呼ばれる場合がある。例えば、符号化では現在ブロックは符号化されているブロックであり、復号では現在ブロックは復号されているブロックである。現在ブロックの予測に使用される、参照画像内の復号された画像ブロックは、参照ブロックと呼ばれる。具体的には、参照ブロックは現在ブロックの参照信号を提供するブロックであり、参照信号は画像ブロック内の画素値を表す。参照画像内にあり、現在ブロックに予測信号を提供するブロックは、予測ブロックと呼ばれてよい。予測信号は、予測ブロック内の画素値、サンプリング値、またはサンプリング信号を表す。例えば、複数の参照ブロックがトラバースされた後で、最適な参照ブロックが見つけられる。最適な参照ブロックは現在ブロックの予測を提供し、このブロックは予測ブロックと呼ばれる。
【0051】
可逆映像コード化の場合は、元の映像が再構成され得る。具体的には、再構成された映像が元の映像と同じ品質を有する(記憶中または送信中に送信損失または他のデータ損失が発生しないと仮定する)。非可逆映像コード化の場合には、映像を表すデータの量を削減するために、例えば量子化によって更なる圧縮が行われるが、映像を復号器側で完全に再構成することはできない。具体的には、再構成された映像の品質は、元の映像よりも低い、または悪い。
【0052】
幾つかのH.261映像コード化規格は、「非可逆ハイブリッド映像コード化」用である(具体的には、サンプル領域における空間予測および時間予測が、変換領域において量子化を適用するための2D変換コード化と組み合わされる)。映像シーケンスの各画像は、通常、重なり合わないブロックのセットに分割され、また、コード化は、通常、ブロックレベルで実行される。具体的には、符号器側では映像が通常はブロック(映像ブロック)レベルで処理される、すなわち符号化される。例えば、予測ブロックが空間的(イントラ)予測および時間的(インター)予測によって生成され、残差ブロックを取得するために予測ブロックが現在ブロック(処理されているか、または処理されるべきブロック)から減算され、伝送されるべきデータの量を減らすために残差ブロックが変換領域で変換され、量子化される(圧縮される)。復号器側では、表示のために現在ブロックを再構成するべく、符号器に対する逆処理部分が、符号化されたブロック、または圧縮されたブロックに適用される。更に、符号器は復号器の処理ループを複製し、それにより、符号器および復号器は、後続のブロックを処理する、すなわちコード化するために同一の予測(例えば、イントラ予測およびインター予測)ならびに/または再構成を生成する。
【0053】
以下では、本出願の実施形態が適用されるシステムアーキテクチャについて説明する。図1Aは、本出願の一実施形態が適用される、映像符号化および復号システム10の一例の概略的なブロック図である。図1Aに示されているように、映像符号化および復号システム10は、送信元デバイス12、および宛先デバイス14を含む。送信元デバイス12は符号化された映像データを生成し、したがって送信元デバイス12は、映像符号化装置と呼ばれてよい。宛先デバイス14は、送信元デバイス12によって生成された符号化された映像データを復号し、したがって宛先デバイス14は映像復号装置と呼ばれてよい。様々な実施解決策において、送信元デバイス12、宛先デバイス14、あるいは送信元デバイス12および宛先デバイス14の両方が、1つ以上のプロセッサと、1つ以上のプロセッサに結合されたメモリとを備え得る。本明細書で説明されるように、メモリは、これに限定されないが、コンピュータがアクセス可能な命令またはデータ構造の形態で所望のプログラムコードを記憶するために使用できる、RAM、ROM、EEPROM、フラッシュメモリ、その他任意の媒体を含んでよい。送信元デバイス12および宛先デバイス14は、デスクトップコンピュータ、モバイルコンピューティング装置、ノートブック(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、テレビ、カメラ、ディスプレイ装置、デジタル・メディア・プレーヤ、映像ゲームコンソール、車載コンピュータ、無線通信デバイスなどを含む様々な装置を含み得る。
【0054】
図1Aは、送信元デバイス12および宛先デバイス14を個別のデバイスとして示しているが、デバイスの実施形態は代替的に、送信元デバイス12および宛先デバイス14の両方、あるいは送信元デバイス12および宛先デバイス14の両方の機能を含んでよい、つまり送信元デバイス12または対応する機能と、宛先デバイス14または対応する機能とを含んでよい。かかる実施形態では、送信元デバイス12または対応する機能と、宛先デバイス14または対応する機能とは、同じハードウェアおよび/もしくはソフトウェア、別々のハードウェアおよび/もしくはソフトウェア、またはそれらの任意の組み合わせを使用して実装されてよい。
【0055】
送信元デバイス12と宛先デバイス14との通信接続はリンク13によって実施されてよく、宛先デバイス14は、リンク13を介して、送信元デバイス12から符号化された映像データを受信し得る。リンク13は、符号化された映像データを送信元デバイス12から宛先デバイス14に移動させることが可能な1つ以上の媒体または装置を含み得る。一例では、リンク13は、送信元デバイス12が符号化された映像データを宛先デバイス14にリアルタイムで直接送信することを可能にする1つ以上の通信媒体を含み得る。この例では、送信元デバイス12は、通信規格(例えば、無線通信プロトコル)にしたがって、符号化された映像データを変調し、変調された映像データを宛先デバイス14に送信し得る。1つ以上の通信媒体は、無線通信媒体および/または有線通信媒体、例えば、無線周波数(RF)帯域または1つ以上の物理的伝送ケーブルを含み得る。1つ以上の通信媒体は、パケットベースのネットワークの一部であってよく、パケットベースのネットワークとは、例えば、ローカル・エリア・ネットワーク、広域ネットワーク、または(インターネットなどの)グローバルネットワークである。1つ以上の通信媒体は、ルータ、スイッチ、基地局、または送信元デバイス12から宛先デバイス14への通信を容易にする別のデバイスを含み得る。
【0056】
送信元デバイス12は、符号器20を含む。任意で、送信元デバイス12は、画像ソース16と、画像プリプロセッサ18と、通信インターフェース22とを更に含んでよい。具体的な実施態様において、符号器20、画像ソース16、画像プリプロセッサ18、および通信インターフェース22は、送信元デバイス12内のハードウェアコンポーネント、または送信元デバイス12内のソフトウェアプログラムであってよい。説明は以下の通り個別に与えられる。
【0057】
画像ソース16は、例えば、現実世界の画像を捕捉するように構成される任意のタイプの画像捕捉デバイス、ならびに/または、画像もしくはコメント(スクリーンコンテンツ符号化の場合には、スクリーン上の幾つかのテキストが、符号化されるべき画像またはイメージの一部とも見なされる)を生成するための任意のタイプのデバイス、例えば、コンピュータアニメーション画像を生成するように構成されるコンピュータ・グラフィックス・プロセッサ、または、現実世界の画像もしくはコンピュータアニメーション画像(例えば、スクリーンコンテンツまたは仮想現実(virtual reality、VR)画像)を取得するおよび/もしくは与えるように構成された任意のタイプのデバイス、ならびに/または、それらの任意の組み合わせ(例えば、拡張現実(augmented reality、AR)画像)を含み得る。画像ソース16は、画像を取り込むように構成されたカメラ、または画像を記憶するように構成されたメモリであってよい。画像ソース16は、任意の種類の(内部または外部)インターフェースを更に含んでよく、これを介して以前に取り込んだもしくは生成された画像が記憶され、かつ/または画像が取得もしくは受信される。画像ソース16がカメラのとき、画像ソース16は、例えば、ローカルカメラや、送信元デバイスに一体化された一体型カメラであってよい。画像ソース16がメモリのとき、画像ソース16はローカルメモリ、または例えば、送信元デバイスに一体化された一体型メモリであってよい。画像ソース16がインターフェースを含むとき、インターフェースは、例えば、外部映像ソースから画像を受信するための外部インターフェースであってよい。外部映像ソースは、例えば、カメラなどの外部画像取り込みデバイス、外部メモリ、または外部画像生成デバイスである。外部画像生成デバイスは、例えば、外部のコンピュータ・グラフィックス・プロセッサ、コンピュータ、または、サーバである。インターフェースは、専用のまたは標準化されたインターフェースプロトコルに準拠した、任意のタイプのインターフェース、例えば、有線もしくは無線のインターフェースまたは光インターフェースであってよい。
【0058】
画像は、画像要素(picture element)の二次元配列または行列とみなされ得る。配列内の画像要素は、サンプルとも呼ばれ得る。配列または画像の水平および垂直の方向(または軸)のサンプル数が、画像のサイズおよび/または解像度を定義する。色表示のため、通常は3つの色成分が使用される。具体的には、画像は、3つのサンプル配列として表されてもよく、または3つのサンプル配列を含んでもよい。例えば、RGBフォーマットまたは色空間において、画像は、対応する赤、緑、および青のサンプル配列を含む。しかしながら、映像コード化では、各画素は、通常、ルマ/クロマフォーマットまたは色空間で表される。例えば、YUVフォーマットの画像は、Yで示されるルマ成分(あるいはLで示される場合もある)と、UおよびVで示される2つのクロマ成分とを含む。ルミナンス(luma)成分Yは、輝度またはグレーレベル強度(例えば、グレースケール画像では両方とも同じである)を表し、また、2つのクロミナンス(chroma)成分UおよびVは、クロミナンス成分または色情報成分を表す。これに対応して、YUVフォーマットの画像は、ルマサンプル値(Y)のルマサンプル配列と、クロマ値(UおよびV)の2つのクロマサンプル配列とを含む。RGBフォーマットにおける画像は、YUVフォーマットに変換されまたは置き換えられてもよく、逆もまた同様である。このプロセスは、色置換または変換とも称される。画像がモノクロである場合、画像はルマサンプル配列のみを含み得る。本出願のこの実施形態では、画像ソース16によって画像プロセッサに送信された画像は、生画像データ17と呼ばれてもよい。
【0059】
画像プリプロセッサ18は、生画像データ17を受け取り、前処理画像19または前処理された画像データ19を取得するために、生画像データ17に対して前処理を行うように構成される。例えば、画像プリプロセッサ18によって実行される前処理は、トリミング、色フォーマット変換(例えば、RGBフォーマットからYUVフォーマットへの変換)、色補正、またはノイズ除去を含み得る。
【0060】
符号器20(または映像符号器20とも呼ばれる)は、前処理された画像データ19を受信し、符号化された画像データ21を提供するために、前処理された画像データ19を関連する予測モード(本明細書の実施形態における予測モードなど)で処理するように構成される(符号器20の構造の詳細については、図2図4、または図5に基づいて以下で更に説明される)。幾つかの実施形態では、符号器20は、本出願で説明されているクロマブロック予測方法の符号器側の適用を実施するために、以下で説明される様々な実施形態を実行するように構成され得る。
【0061】
通信インターフェース22は、符号化された画像データ21を受信し、記憶または直接再構成するために、リンク13を介して、符号化された画像データ21を宛先デバイス14、またはその他任意のデバイス(例えば、メモリ)に送信するように構成され得る。他のデバイスは、復号または記憶に使用される任意のデバイスであってよい。通信インターフェース22は、例えば、リンク13を介した送信のために、符号化された画像データ21を適切なフォーマットに、例えば、データパケットにカプセル化するように構成され得る。
【0062】
宛先デバイス14は復号器30を備える。任意で、宛先デバイス14は、通信インターフェース28と、画像ポストプロセッサ32と、ディスプレイデバイス34とを更に備えてよい。説明は以下の通り個別に与えられる。
【0063】
通信インターフェース28は、送信元デバイス12または他の任意の送信元から、符号化された画像データ21を受信するように構成され得る。他の任意の送信元とは、例えば、記憶デバイスである。記憶デバイスは、例えば、符号化画像データ記憶デバイスである。通信インターフェース28は、送信元デバイス12と宛先デバイス14との間のリンク13、または任意の種類のネットワークを介して、符号化された画像データ21を送信または受信するように構成され得る。リンク13は、例えば、直接的な有線接続または無線接続である。任意のタイプのネットワークは、例えば、有線または無線ネットワーク、あるいは、それらの任意の組み合わせ、あるいは、任意のタイプのプライベートまたはパブリックネットワーク、あるいは、それらの任意の組み合わせである。通信インターフェース28は、例えば、符号化された画像データ21を取得するために、通信インターフェース22を介して送信されたデータパケットをカプセル化解除するように構成され得る。
【0064】
通信インターフェース28および通信インターフェース22はいずれも一方向通信インターフェースまたは双方向通信インターフェースとして構成されてよく、また、例えば、接続を確立するためにメッセージを送受信するとともに、通信リンクおよび/または符号化された画像データの送信などのデータ送信に関連する任意の他の情報を確認して交換するように構成されてよい。
【0065】
復号器30(または映像復号器30と呼ばれる)は、符号化された画像データ21を受信し、復号された画像データ31、すなわち復号画像331を供給するように構成される(復号器30の構造的な詳細は、図3図4、または図5に基づいて以下で更に説明される)。幾つかの実施形態では、復号器30は、本出願で説明されているクロマブロック予測方法の復号器側の適用を実施するために、以下で説明される様々な実施形態を実行するように構成され得る。
【0066】
画像ポストプロセッサ32は、後処理された画像データ33を得るために、復号された画像データ31(再構成された画像データとも呼ばれる)を後処理するように構成される。画像ポストプロセッサ32によって実行される後処理は、色フォーマット変換(例えば、YUVフォーマットからRGBフォーマットへの変換)、色補正、トリミング、再サンプリング、またはその他任意の処理を含み得る。画像ポストプロセッサ32は、後処理された画像データ33をディスプレイデバイス34に送信するように更に構成され得る。
【0067】
ディスプレイデバイス34は、例えばユーザまたはビューアに画像を表示するために、後処理された画像データ33を受信するように構成される。ディスプレイデバイス34は、再構成画像を提示する任意のタイプのディスプレイ、例えば、一体型や外付けのディスプレイやモニタであり得るか、またはそれらを含み得る。例えば、ディスプレイとしては、液晶ディスプレイ(liquid crystal display、LCD)、有機発光ダイオード(organic light emitting diode、OLED)ディスプレイ、プラズマディスプレイ、プロジェクタ、マイクロLEDディスプレイ、液晶オンシリコン(liquid crystal on silicon、LCoS)、デジタル・ライト・プロセッサ(digital light processor、DLP)、または任意のタイプの他のディスプレイが挙げられる。
【0068】
図1Aは、送信元デバイス12および宛先デバイス14を個別のデバイスとして示しているが、デバイスの実施形態は代替的に、送信元デバイス12および宛先デバイス14の両方、あるいは送信元デバイス12および宛先デバイス14の両方の機能を含んでよい、つまり送信元デバイス12または対応する機能と、宛先デバイス14または対応する機能とを含んでよい。かかる実施形態では、送信元デバイス12または対応する機能と、宛先デバイス14または対応する機能とは、同じハードウェアおよび/もしくはソフトウェア、別々のハードウェアおよび/もしくはソフトウェア、またはそれらの任意の組み合わせを使用して実装されてよい。
【0069】
説明に基づき、当業者は、異なるユニットの機能、あるいは図1Aに示す送信元デバイス12および/または宛先デバイス14の機能の存在および(正確な)分割は、実際のデバイスおよび用途に応じて変わる場合があることを明確に知ることができる。送信元デバイス12および宛先デバイス14は、任意のタイプのハンドヘルドデバイスまたは固定デバイス、例えば、ノートブックもしくはラップトップコンピュータ、携帯電話、スマートフォン、タブレットもしくはタブレットコンピュータ、ビデオカメラ、デスクトップコンピュータ、セットトップボックス、テレビ、カメラ、車載デバイス、ディスプレイデバイス、デジタル・メディア・プレーヤ、映像ゲームコンソール、映像ストリーミングデバイス(コンテンツ・サービス・サーバまたはコンテンツ配信サーバなど)、放送受信デバイス、または、放送送信デバイスを含む広範囲のデバイスのうちのいずれかを含んでよく、また、任意のタイプのオペレーティングシステムを使用しても使用しなくてもよい。
【0070】
符号器20および復号器30は、各々、様々な適切な回路のいずれか、例えば、1つもしくは複数のマイクロプロセッサ、デジタル信号プロセッサ(digital signal processor、DSP)、特定用途向け集積回路(application-specific integrated circuit、ASIC)、フィールドプログラマブル・ゲート・アレイ(field-programmable gate array、FPGA)、ディスクリートロジック、ハードウェア、またはそれらの任意の組み合わせとして実装され得る。技術が部分的にソフトウェアを使用することによって実施される場合、デバイスは、適切な非一時的コンピュータ可読記憶媒体にソフトウェア命令を記憶してよく、また、この開示の技術を実行するために、1つ以上のプロセッサなどのハードウェアを使用することによって命令を実行してよい。(ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組み合わせなどを含む)前述の内容のいずれも、1つまたは複数のプロセッサとみなされ得る。
【0071】
場合によっては、図1Aに示される映像符号化および復号システム10は単なる一例であり、また、本出願の技術は、符号化デバイスと復号デバイスとの間のいかなるデータ通信も必ず含んでいるとは限らない映像コード化設定(例えば、映像符号化または映像復号)に適用されてよい。別の例では、データは、ローカルメモリから取得されたり、ネットワーク上でストリーミングされたり、などし得る。映像符号化デバイスが、データを符号化し、そのデータをメモリに記憶し得、かつ/または映像復号デバイスが、メモリからデータを取得し、そのデータを復号し得る。幾つかの例では、データを符号化し、そのデータをメモリに記憶し、かつ/またはメモリからデータを検索し、データを復号し、かつ互いに通信しないデバイスだけが符号化および復号を実行する。
【0072】
図1Bは、例示的な実施形態による、図2の符号器20および/または図3の復号器30を含む映像コード化システム40の一例を図式的に示す図である。映像コード化システム40は、本出願の実施形態における様々な技術の組み合わせを実装することができる。図示の実施態様において、映像コード化システム40は、撮像デバイス41、符号器20、復号器30(および/もしくは処理ユニット46の論理回路47によって実装された映像符号器/復号器)、アンテナ42、1つもしくは複数のプロセッサ43、1つもしくは複数のメモリ44、ならびに/またはディスプレイデバイス45を含み得る。
【0073】
図1Bに示すように、撮像デバイス41、アンテナ42、処理ユニット46、論理回路47、符号器20、復号器30、プロセッサ43、メモリ44、および/またはディスプレイデバイス45は、互いに通信することができる。説明したように、映像コード化システム40は符号器20と復号器30を備えて示されているが、異なる例では、映像コード化システム40は、符号器20のみまたは復号器30のみを備える場合もある。
【0074】
幾つかの例では、アンテナ42は、映像データの符号化ビットストリームを送信または受信するように構成され得る。加えて、幾つかの例では、ディスプレイデバイス45は、映像データを提示するように構成され得る。幾つかの例では、論理回路47は、処理ユニット46によって実装され得る。処理ユニット46は、特定用途向け集積回路(application-specific integrated circuit、ASIC)論理、グラフィックスプロセッサ、汎用プロセッサなどを含み得る。映像コード化システム40は、任意選択のプロセッサ43も含み得る。任意選択のプロセッサ43も、特定用途向け集積回路(application-specific integrated circuit、ASIC)論理、グラフィックスプロセッサ、汎用プロセッサなどを同様に含み得る。幾つかの例では、論理回路47は、映像コード化専用ハードウェアなどのハードウェアによって実装され得る。プロセッサ43は、汎用ソフトウェア、オペレーティングシステムなどによって実装され得る。加えて、メモリ44は、任意のタイプのメモリ、例えば、揮発性メモリ(例えば、スタティック・ランダム・アクセス・メモリ(Static Random Access Memory、SRAM)やダイナミック・ランダム・アクセス・メモリ(Dynamic Random Access Memory、DRAM))または不揮発性メモリ(例えば、フラッシュメモリ)であり得る。非限定的な例において、メモリ44は、キャッシュメモリによって実施され得る。幾つかの例では、論理回路47は、(例えば、画像バッファを実施するために)メモリ44にアクセスし得る。別の例では、論理回路47および/または処理ユニット46は、画像バッファを実施するためにメモリ(例えば、キャッシュ)を含み得る。
【0075】
幾つかの例では、論理回路を使用して実施される符号器20は、画像バッファ(例えば、処理ユニット46またはメモリ44によって実施される)およびグラフィックス処理ユニット(例えば、処理ユニット46によって実施される)を含み得る。グラフィックス処理ユニットは、画像バッファに通信可能に結合され得る。グラフィックス処理ユニットは、図2を参照して説明される様々なモジュールおよび/または本明細書に記載される任意の他の符号器システムもしくはサブシステムを実施するために、論理回路47を使用して実施される符号器20を含み得る。論理回路は、本明細書に記載される様々な動作を行うように構成され得る。
【0076】
幾つかの例では、復号器30も、図3の復号器30を参照して説明される様々なモジュールおよび/または本明細書に記載される任意の他の復号器システムもしくはサブシステムを実施するために、論理回路47によって同様に実施され得る。幾つかの例では、論理回路を使用して実施される復号器30は、画像バッファ(処理ユニット46またはメモリ44によって実施される)およびグラフィックス処理ユニット(例えば、処理ユニット46によって実施される)を含み得る。グラフィックス処理ユニットは、画像バッファに通信可能に結合され得る。グラフィックス処理ユニットは、図3を参照して説明される様々なモジュールおよび/または本明細書に記載される任意の他の復号器システムもしくはサブシステムを実施するために、論理回路47を使用して実施される復号器30を含み得る。
【0077】
幾つかの例では、アンテナ42は、映像データの符号化ビットストリームを受信するように構成され得る。説明したように、符号化ビットストリームは、映像フレーム符号化に関連し、かつ本明細書に記載されているデータ、インジケータ、インデックス値、モード選択データなど、例えば、コード化分割に関連したデータ(例えば、変換係数もしくは量子化変換係数、(説明されるような)任意選択のインジケータ、および/またはコード化分割を定義するデータ)を含み得る。映像コード化システム40は、アンテナ42に結合され、符号化ビットストリームを復号するように構成された復号器30を更に含み得る。ディスプレイデバイス45は、映像フレームを提示するように構成される。
【0078】
本出願のこの実施形態では、符号器20を参照して説明された例について、復号器30は逆のプロセスを行うように構成され得ることを理解されたい。構文要素のシグナリングに関して、復号器30は、かかる構文要素を受信して構文解析し、それに対応して関連する映像データを復号するように構成され得る。幾つかの例では、符号器20は、構文要素を符号化映像ビットストリームにエントロピー符号化し得る。かかる例では、復号器30は、構文要素を構文解析し、関連する映像データをそれに応じて復号し得る。
【0079】
本出願の実施形態による、MPMリストを構成する方法、およびクロマブロックのイントラ予測モードを取得する方法は、主にイントラ予測プロセスに使用されることに留意されたい。このプロセスは、符号器20および復号器30の両方のために存在する。本出願の実施形態における、符号器20および復号器30は、H.263、H.264、HEVC、MPEG-2、MPEG-4、VP8、およびVP9、または次世代映像標準プロトコル(例えば、H.266)などの映像標準プロトコルに対応する符号器および復号器であってよい。
【0080】
図2は、本出願の一実施形態による、符号器20の例の概略的/概念的なブロック図である。図2の例において、符号器20は、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、バッファ216、ループ・フィルタ・ユニット220、復号画像バッファ(decoded picture buffer、DPB)230、予測処理ユニット260、およびエントロピー符号化ユニット270を含む。予測処理ユニット260は、インター予測ユニット244、イントラ予測ユニット254、およびモード選択ユニット262を含み得る。インター予測ユニット244は、動き推定ユニットおよび動き補償ユニット(図には示されていない)を含み得る。図2に示される符号器20は、ハイブリッド映像符号器またはハイブリッド映像コーデックに基づく映像符号器と称される場合もある。
【0081】
例えば、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、予測処理ユニット260、および、エントロピー符号化ユニット270は、符号器20の順方向信号経路を形成し、一方、例えば、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、バッファ216、ループフィルタ220、復号画像バッファ(decoded picture buffer、DPB)230、および、予測処理ユニット260は、符号器の逆方向信号経路を形成する。符号器の逆方向信号経路は復号器の信号経路に対応する(図3の復号器30を参照)。
【0082】
符号器20は、例えば入力202を介して、画像201または画像201の画像ブロック203、例えば、映像または映像シーケンスを形成する画像シーケンス内の画像を受信する。画像ブロック203は、現在の画像ブロックまたは符号化されるべき画像ブロックと称される場合もあり、また、画像201は、現在の画像または符号化されるべき画像と称される場合がある(特に映像コード化では、現在の画像を他の画像、例えば、同じ映像シーケンス内の既に符号化されたおよび/または復号された画像、すなわち現在の画像も含む映像シーケンスから区別するため)。
【0083】
符号器20の一実施形態は、画像201を画像ブロック203などの複数のブロックに分割するように構成される分割ユニット(図2には描かれない)を含んでよい。画像201は、通常、複数の重なり合わないブロックに分割される。分割ユニットは、映像シーケンス内の全ての画像に関する同じブロックサイズと、ブロックサイズを規定する対応するグリッドとを使用する、あるいは、画像または画像のサブセットもしくはグループの間でブロックサイズを変更して、各画像を対応するブロックに分割するように構成されてよい。
【0084】
一例において、符号器20の予測処理ユニット260は、前述の分割技術の任意の組み合わせを実行するように構成されてもよい。
【0085】
画像201と同様に、画像ブロック203は、サンプル値を有するサンプルの二次元配列もしくは行列とも見なされ、またはみなされ得るが、画像ブロック203のサイズは、画像201のサイズよりも小さい。言い換えると、画像ブロック203は、例えば、1つのサンプル配列(例えば、モノクロ画像201の場合には、ルマ配列)、3つのサンプル配列(例えば、色画像の場合には、1つのルマ配列および2つのクロマ配列)、あるいは、適用された色フォーマットに応じた任意の他の量および/またはタイプの配列を含んでもよい。画像ブロック203の水平方向および垂直方向(または軸)でのサンプルの量は、画像ブロック203のサイズを規定する。
【0086】
図2に示される符号器20は、画像201をブロックごとに符号化する、例えば、各画像ブロック203に対して符号化および予測を行うように構成される。
【0087】
残差計算ユニット204は、例えば、サンプル領域における残差ブロック205を取得するべく、サンプルごと(画素ごと)に、画像ブロック203のサンプル値から予測ブロック265のサンプル値を減算することにより、画像ブロック203および予測ブロック265(予測ブロック265に関する更なる詳細は以下で提供される)に基づいて残差ブロック205を計算するように構成される。
【0088】
変換処理ユニット206は、変換領域の変換係数207を取得するために、残差ブロック205のサンプル値に離散コサイン変換(discrete cosine transform、DCT)や離散サイン変換(discrete sine transform、DST)などの変換を適用するように構成される。変換係数207は、変換残差係数と称されてもよく、変換領域における残差ブロック205を表す。
【0089】
変換処理ユニット206は、HEVC/H.265において定められる変換など、DCT/DSTの整数近似を適用するように構成されてよい。直交DCT変換と比較すると、このような整数近似は通常、係数に基づいてスケーリングされる。順変換および逆変換を使用して処理される残差ブロックのノルムを維持するために、変換プロセスの一部として更なるスケール因子が適用される。スケール因子は、通常、幾つかの制約に基づいて選択される。例えば、スケール因子は、シフト演算の2の累乗、変換係数のビット深度、および、精度と実施コストとの間のトレードオフである。例えば、特定のスケール因子が、復号器30側の逆変換処理ユニット212などによって逆変換に指定され(かつ符号器20側の逆変換処理ユニット212などによって対応する逆変換に指定され)、これに対応して、符号器20側の変換処理ユニット206によって、順変換に対応するスケール因子が指定され得る。
【0090】
量子化ユニット208は、例えばスカラー量子化またはベクトル量子化を適用することによって、変換係数207を量子化して、量子化変換係数209を取得するように構成される。量子化変換係数209は、量子化残差係数209とも呼ばれ得る。量子化プロセスは、一部または全部の変換係数207に関連したビット深度を低減させ得る。例えば、nがmよりも大きい場合、nビットの変換係数が、量子化中にmビットの変換係数に丸められ得る。量子化パラメータ(quantization parameter、QP)を調整することにより、量子化度が変更されてもよい。例えば、スカラー量子化の場合、より細かいまたはより粗い量子化を達成するために、異なるスケールが適用されてもよい。より小さい量子化ステップサイズはより細かい量子化に対応し、より大きい量子化ステップサイズはより粗い量子化に対応する。適切な量子化ステップサイズは、量子化パラメータ(quantization parameter、QP)によって示され得る。例えば、量子化パラメータは、例えば、適切な量子化ステップサイズの所定のセットへのインデックスであってよい。例えば、より小さい量子化パラメータはより細かい量子化(より小さい量子化ステップサイズ)に対応し得、より大きい量子化パラメータはより粗い量子化(より大きい量子化ステップサイズ)に対応し得、逆もまた同様である。量子化は、量子化ステップサイズおよび対応する量子化または例えば逆量子化ユニット210により実行される逆量子化による除算を含んでもよく、あるいは、量子化ステップサイズによる乗算を含んでもよい。HEVCなどの幾つかの規格にしたがった実施形態では、量子化ステップサイズを決定するために量子化パラメータが使用されてもよい。一般に、量子化ステップサイズは、除算を含む方程式の固定小数点近似を使用して量子化パラメータに基づいて計算され得る。残差ブロックのノルムを復元するために量子化および逆量子化に関して更なるスケール因子が導入されてよく、残差ブロックのノルムは、量子化ステップサイズのための方程式および量子化パラメータの固定小数点近似で使用されるスケールに起因して変更されてよい。例示的な実施態様では、逆変換のスケールが逆量子化のスケールと組み合わされ得る。あるいは、カスタマイズされた量子化テーブルが使用され、符号器から
復号器に、例えば、ビットストリームでシグナリングされてもよい。量子化は損失を伴う操作であり、より大きい量子化ステップサイズはより大きい損失を示す。
【0091】
逆量子化ユニット210は、逆量子化係数211を取得するために、量子化係数に量子化ユニット208の逆量子化を適用するように構成され、例えば、同じ量子化ステップサイズに基づいて、またはこれを量子化ユニット208として使用して、量子化ユニット208によって適用された量子化方式の逆量子化方式を適用するように構成される。逆量子化係数211は、逆量子化残差係数211とも呼ばれて、変換係数207に対応し得るが、逆量子化係数211は、通常、量子化によって生じた損失に起因する変換係数とは異なる。
【0092】
逆変換処理ユニット212は、サンプル領域の逆変換ブロック213を取得するために、変換処理ユニット206によって適用された変換の逆変換、例えば、逆離散コサイン変換(discrete cosine transform、DCT)や逆離散サイン変換(discrete sine transform、DST)を適用するように構成される。逆変換ブロック213は、逆変換量子化解除ブロック213または逆変換残差ブロック213と称される場合もある。
【0093】
再構成ユニット214(例えば、加算器214)は、例えば、再構成された残差ブロック213のサンプル値と予測ブロック265のサンプル値とを加算することによって、逆変換ブロック213(すなわち、再構成された残差ブロック213)を予測ブロック265に加えてサンプル領域における再構成ブロック215を取得するように構成される。
【0094】
任意で、バッファユニット216(略して「バッファ」216とも呼ばれる)、例えばラインバッファ216は、例えばイントラ予測のために、再構成ブロック215および対応するサンプル値をバッファリングするまたは記憶するように構成される。他の実施形態において、符号器は、任意のタイプの推定および/または予測、例えばイントラ予測のために、フィルタリングされない再構成ブロックおよび/またはバッファユニット216に記憶された対応するサンプル値を使用するように構成されてよい。
【0095】
例えば、一実施形態において、符号器20は、バッファユニット216が、イントラ予測ユニット254に使用される再構成ブロック215だけでなく、ループ・フィルタ・ユニット220に使用される再構成ブロック(図2には示されていない)も記憶するよう構成されるように、および/または、例えば、バッファユニット216と復号画像バッファ230とが1つのバッファを形成するように構成されてよい。別の実施形態では、フィルタリングされたブロック221および/または復号画像バッファ230からのブロックもしくはサンプル(図2には示されていない)は、イントラ予測ユニット254のための入力または基礎として使用される。
【0096】
ループ・フィルタ・ユニット220(または簡単に「ループフィルタ」220と称される)は、再構成ブロック215をフィルタリングして、フィルタリングされたブロック221を取得し、画素移行を滑らかにする、または映像品質を向上させるように構成される。ループ・フィルタ・ユニット220は、1つまたは複数のループフィルタ、例えば、ブロック解除フィルタ、サンプル適応オフセット(sample-adaptive offset、SAO)フィルタ、またはバイラテラルフィルタ、適応ループフィルタ(adaptive loop filter、ALF)、鮮明化もしくは平滑化フィルタ、または協調フィルタなどの別のフィルタを表すことが意図されている。ループ・フィルタ・ユニット220は図2においてループ内フィルタとして示されているが、別の構成では、ループ・フィルタ・ユニット220はポストフィルタとして実装され得る。フィルタリングされたブロック221は、フィルタリングされた再構成ブロック221とも呼ばれ得る。復号画像バッファ230は、ループ・フィルタ・ユニット220が再構成された符号化ブロックに対してフィルタリング操作を行った後に再構成された符号化ブロックを記憶し得る。
【0097】
一実施形態において、符号器20(これに対応して、ループ・フィルタ・ユニット220)は、例えば、直接的に、または、エントロピー符号化ユニット270もしくは任意の他のエントロピー符号化ユニットによって実行されたエントロピー符号化の後に、ループ・フィルタ・パラメータ(サンプル適応オフセット情報など)を出力するように構成されてよく、それにより、復号器30は、同じループ・フィルタ・パラメータを受信して復号に適用することができる。
【0098】
復号画像バッファ(decoded picture buffer、DPB)230は、符号器20が映像データを符号化するための参照画像データを記憶する参照画像メモリであってよい。DPB 230は、ダイナミック・ランダム・アクセス・メモリ(dynamic random access memory,DRAM)(同期DRAM(synchronous DRAM,SDRAM)、磁気抵抗RAM(magnetoresistive RAM,MRAM)、または、抵抗RAM(resistive RAM,RRAM)を含む)、または、他のタイプのメモリデバイスなどの様々なメモリデバイスのいずれか1つを含み得る。DPB 230およびバッファ216は、同じメモリデバイスによって、または別個のメモリデバイスによって提供されてよい。一例では、復号画像バッファ(decoded picture buffer、DPB)230は、フィルタリングされたブロック221を記憶するように構成される。復号画像バッファ230は、他の以前にフィルタリングされたブロック、例えば同じ現在の画像または異なる画像、例えば以前に再構成された画像の、以前に再構成およびフィルタリングされたブロック221を記憶するように更に構成されてよく、また、例えばインター予測のために、完全に以前に再構成された、すなわち復号された画像(ならびに対応する参照ブロックおよびサンプル)および/または部分的に再構成された現在の画像(ならびに対応する参照ブロックおよびサンプル)を提供することができる。一例では、再構成ブロック215がループ内フィルタなしで再構成される場合、復号画像バッファ(decoded picture buffer、DPB)230は、再構成ブロック215を記憶するように構成される。
【0099】
ブロック予測処理ユニット260とも称される予測処理ユニット260は、画像ブロック203(現在の画像201の現在の画像ブロック203)ならびに再構成された画像データ、例えば、バッファ216からの同じ(現在の)画像の参照サンプルおよび/または復号画像バッファ230からの1つ以上の既に復号された画像の参照画像データ231を受信するまたは取得するとともに、かかるデータを予測のために処理する、すなわち、インター予測ブロック245またはイントラ予測ブロック255であってよい予測ブロック265を与えるように構成される。
【0100】
モード選択ユニット262は、残差ブロック205の計算のためおよび再構成ブロック215の再構成のために予測モード(例えば、イントラまたはインター予測モード)および/または予測ブロック265として使用されるべき対応する予測ブロック245もしくは255を選択するように構成されてよい。
【0101】
一実施形態では、モード選択ユニット262は、(例えば、予測処理ユニット260によってサポートされる予測モードから)予測モードを選択するように構成されてよく、予測モードは、最良の一致または最小残差(最小残差は、送信または記憶のためのより良い圧縮を意味する)を提供し、あるいは最小のシグナリングオーバーヘッド(最小のシグナリングオーバーヘッドは、送信または記憶のためのより良い圧縮を意味する)を提供し、あるいは両方を考慮またはバランスする。モード選択ユニット262は、レート歪み最適化(rate distortion optimization、RDO)に基づいて予測モードを決定する、すなわち、最小レート歪み最適化をもたらす予測モードを選択する、または関連するレート歪みが少なくとも予測モード選択基準を満たす予測モードを選択するように構成されてよい。
【0102】
以下、符号器20の例によって実行される予測処理(例えば、予測処理ユニット260によって実行される)およびモード選択(例えば、モード選択ユニット262によって実行される)について詳細に説明する。
【0103】
上記のように、符号器20は、一組の(所定の)予測モードから最善または最適な予測モードを決定または選択するように構成される。予測モードのセットは、例えば、イントラ予測モードおよび/またはインター予測モードを含んでもよい。
【0104】
イントラ予測モードのセットは、35個の異なるイントラ予測モード、例えば、DC(または平均)モードおよび平面モードなどの無指向性モード、または、H.265で規定されたモードなどの指向性モードを含んでもよく、あるいは、67個の異なるイントラ予測モード、例えば、DC(または平均)モードおよび平面モードなどの無指向性モード、または、開発中のH.266で規定されたモードなどの指向性モードを含み得る。
【0105】
可能な実施態様では、インター予測モードのセットは、利用可能な参照画像(すなわち、例えば、前述したように、DPB 230に記憶された少なくとも幾つかの復号された画像)やその他のインター予測パラメータに依存し、例えば、参照画像全体もしくは参照画像の一部のみ、例えば、現在ブロックの領域の周りの探索ウィンドウ領域が、最適一致参照ブロックを探索するために使用されるかどうかに依存し、ならびに/または、例えば、1/2画素補間および/もしくは1/4画素補間などの画素補間が適用されるかどうかに依存する。インター予測モードのセットは、例えば、高度動きベクトル予測(Advanced Motion Vector Prediction、AMVP)モードと、マージ(merge)モードとを含み得る。具体的な実施に際して、本出願の実施形態では、インター予測モードのセットは、改善された制御点に基づくAMVPモードと、改善された制御点に基づくマージモードとを含み得る。一例では、イントラ予測ユニット254は、以下で説明するイントラ予測技術の任意の組み合わせを行うように構成され得る。
【0106】
本出願の実施形態では、前述の予測モードに加えて、スキップモードおよび/またはダイレクトモードも使用され得る。
【0107】
予測処理ユニット260は、例えば、4分木(quad-tree、QT)分割、2分木(binary-tree、BT)分割、3分木(ternary-tree、TT)分割、またはそれらの任意の組み合わせを反復的に使用して、画像ブロック203をより小さいブロック区画またはサブブロックに分割し、例えば、ブロック区画またはサブブロックの各々に対して予測を行うように更に構成され得る。モード選択は、分割される画像ブロック203の木構造の選択、およびブロック区画またはサブブロックの各々に使用される予測モードの選択を含む。
【0108】
インター予測ユニット244は、動き推定(motion estimation、ME)ユニット(図2には示されていない)および動き補償(motion compensation、MC)ユニット(図2には示されていない)を含み得る。動き推定ユニットは、動き推定のために、画像ブロック203(現在の画像201の現在の画像ブロック203)および復号された画像231、または、少なくとも1つ以上の既に再構成されたブロック、例えば、他の/異なる既に復号された画像231の1つ以上の再構成されたブロックを受信または取得するように構成される。例えば、映像シーケンスは、現在の画像および以前に復号された画像231を含むことができ、言い換えれば、現在の画像および以前に復号された画像231は、映像シーケンスを形成する画像のシーケンスの一部であるか、またはそれを形成することができる。
【0109】
例えば、符号器20は、複数の他の画像の同じ画像または異なる画像の複数の参照ブロックから1つの参照ブロックを選択するとともに、動き推定ユニット(図2には示されていない)に参照画像を与え、かつ/または参照ブロックの位置(座標xおよびy)と現在ブロックの位置との間のオフセット(空間オフセット)をインター予測パラメータとして与えるように構成されてよい。オフセットは、動きベクトル(motion vector、MV)とも呼ばれる。
【0110】
動き補償ユニットは、インター予測パラメータを取得し、インター予測パラメータに基づいて、またはインター予測パラメータを使用してインター予測を行い、インター予測ブロック245を取得するように構成される。動き補償ユニット(図2には示されていない)によって行われる動き補償は、動き推定(おそらくは、サブ画像精度で補間を行うこと)によって決定された動き/ブロックベクトルに基づいて予測ブロックをフェッチまたは生成することを含み得る。補間フィルタリングは、既知の画素サンプルから更なる画素サンプルを生成し、それにより、画像ブロックを符号化するために使用されてよい候補予測ブロックの量を潜在的に増大させてよい。現在の画像ブロックのPUに関する動きベクトルを受信する際、動き補償ユニット246は、参照画像リストにある動きベクトルが指し示す予測ブロックを特定し得る。動き補償ユニット246は、復号器30によって映像スライスの画像ブロックを復号するために、ブロックおよび映像スライスと関連付けられる構文要素を更に生成し得る。
【0111】
具体的には、インター予測ユニット244は、エントロピー符号化ユニット270に構文要素を送信し、構文要素は、インター予測パラメータ(複数のインター予測モードをトラバースした後で、現在ブロックを予測するために使用される、インター予測モード選択の指示情報など)を含む。可能な適用シナリオでは、インター予測モードが1つしかない場合は、インター予測パラメータは、代替的に、構文要素で搬送されなくてよい。この場合、復号器30は、デフォルトの予測モードで復号を直接実行してよい。インター予測ユニット244は、インター予測技術の任意の組み合わせを行うように構成され得ることが理解されよう。
【0112】
イントラ予測ユニット254は、例えば、画像ブロック203(現在の画像ブロック)と、イントラ推定のための同じ画像の1つ以上の既に再構成されたブロック、例えば再構成された隣接ブロックとを取得する、例えば受信するように構成される。例えば、符号器20は、複数の(所定の)イントラ予測モードの中から1つのイントラ予測モードを選択するように構成されてよい。
【0113】
一実施形態において、符号器20は、例えば最小残差(例えば、現在の画像ブロック203に最も類似している予測ブロック255を与えるイントラ予測モード)または最小レート歪みに基づき、最適化基準にしたがってイントラ予測モードを選択するように構成されてよい。
【0114】
イントラ予測ユニット254は、例えば選択されたイントラ予測モードのイントラ予測パラメータに基づいてイントラ予測ブロック255を決定するように更に構成される。いずれの場合も、イントラ予測ユニット254は、ブロックのイントラ予測モードを選択した後、イントラ予測パラメータ、すなわち、ブロックのための選択されたイントラ予測モードを示す情報を、エントロピー符号化ユニット270に与えるように更に構成される。一例では、イントラ予測ユニット254は、イントラ予測技術の任意の組み合わせを行うように構成され得る。
【0115】
具体的には、イントラ予測ユニット254は、エントロピー符号化ユニット270に構文要素を送信し、構文要素は、イントラ予測パラメータ(複数のイントラ予測モードをトラバースした後で、現在ブロックを予測するために使用される、イントラ予測モード選択の指示情報など)を含む。可能な適用シナリオでは、イントラ予測モードが1つしかない場合は、イントラ予測パラメータは、代替的に、構文要素で搬送されなくてよい。この場合、復号器30は、デフォルトの予測モードで復号を直接実行してよい。
【0116】
エントロピー符号化ユニット270は、例えば、符号化ビットストリーム21の形で、出力272を介して出力され得る符号化された画像データ21を取得するために、エントロピーコード化アルゴリズムまたは方式(例えば、可変長符号化(variable length coding、VLC)方式、コンテキスト適応型VLC(context adaptive VLC、CAVLC)方式、算術符号化方式、コンテキスト適応型バイナリ算術符号化(context adaptive binary arithmetic coding、CABAC)、構文ベースのコンテキスト適応型バイナリ算術符号化(syntax-based context-adaptive binary arithmetic coding、SBAC)、確率区間分割エントロピー(probability interval partitioning entropy、PIPE)コード化、または別のエントロピーコード化方法もしくは技法)を、量子化残差係数209、インター予測パラメータ、イントラ予測パラメータ、および/またはループ・フィルタ・パラメータのうちの1つまたは全てに適用する(または適用しない)ように構成される。符号化ビットストリームは、映像復号器30に送信されてよく、あるいは、映像復号器30による後の送信または取り込みのためにアーカイブされてよい。エントロピー符号化ユニット270は、符号化されている現在の映像スライスのための他の構文要素をエントロピー符号化するように更に構成されてよい。
【0117】
映像符号器20の別の構造的変形は、映像ストリームを符号化するために使用することができる。例えば、非変換ベースの符号器20は、一部のブロックまたはフレームについて変換処理ユニット206なしで残差信号を直接量子化し得る。他の実施において、符号器20は、単一のユニットに組み合わせられる量子化ユニット208および逆量子化ユニット210を有し得る。
【0118】
具体的には、本出願の実施形態では、符号器20は、以下の実施形態で説明されるMPMリストを構成する方法、およびクロマブロックのイントラ予測モードを取得する方法を実施するように構成され得る。
【0119】
映像符号器20の別の構造的変形は、映像ストリームを符号化するために使用され得ることを理解されたい。例えば、幾つかの画像ブロックまたは画像フレームについて、映像符号器20は、変換処理ユニット206による処理を必要とせずに残差信号を直接量子化してよく、これに対応して、逆変換処理ユニット212による処理も必要とされない。あるいは、幾つかの画像ブロックまたは画像フレームについて、映像符号器20は残差データを生成せず、これに対応して、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210、および逆変換処理ユニット212による処理は必要とされない。あるいは、映像符号器20は、再構成された画像ブロックを参照ブロックとして直接記憶してよく、フィルタ220による処理は必要とされない。あるいは、映像符号器20の量子化ユニット208と逆量子化ユニット210とが組み合わされてもよい。ループフィルタ220は任意である。加えて、可逆圧縮符号化の場合、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210、および逆変換処理ユニット212は任意である。別の適用シナリオでは、インター予測ユニット244およびイントラ予測ユニット254は選択的に使用され得ることを理解されたい。
【0120】
図3は、本出願の一実施形態を実施するように構成された、復号器30の例の概略的/概念的なブロック図である。映像復号器30は、例えば、符号器20によって符号化された符号化された画像データ(例えば、符号化ビットストリーム)21を受信して、復号された画像231を取得するように構成される。復号プロセスにおいて、映像復号器30は、映像符号器20から映像データ、例えば、符号化された映像スライスの画像ブロックおよび関連付けられた構文要素を表す符号化映像ビットストリームを受信する。
【0121】
図3の例では、復号器30は、エントロピー復号ユニット304、逆量子化ユニット310、逆変換処理ユニット312、再構成ユニット314(例えば、加算器314)、バッファ316、ループフィルタ320、復号画像バッファ330、および予測処理ユニット360を含む。予測処理ユニット360は、インター予測ユニット344、イントラ予測ユニット354、および、モード選択ユニット362を含んでよい。幾つかの例では、映像復号器30は、図2の映像符号器20に関して説明された符号化プロセスとほぼ逆の復号プロセスを実行し得る。
【0122】
エントロピー復号ユニット304は、量子化係数309、および/または復号された符号化パラメータ(図3には示されていない)など、例えば、インター予測パラメータ、イントラ予測パラメータ、ループ・フィルタ・パラメータ、および/または別の構文要素(復号された)のうちのいずれか1つまたは全部を取得するために、符号化された画像データ21に対してエントロピー復号を行うように構成される。エントロピー復号ユニット304は、インター予測パラメータ、イントラ予測パラメータ、および/または別の構文要素を予測処理ユニット360に転送するように更に構成される。映像復号器30は、映像スライスレベルおよび/または映像ブロックレベルで構文要素を受信し得る。
【0123】
逆量子化ユニット310は、逆量子化ユニット210と同じ機能を有し得る。逆変換処理ユニット312は、逆変換処理ユニット212と同じ機能を有し得る。再構成ユニット314は、再構成ユニット214と同じ機能を有し得る。バッファ316は、バッファ216と同じ機能を有し得る。ループフィルタ320は、ループフィルタ220と同じ機能を有し得る。復号画像バッファ330は、復号画像バッファ230と同じ機能を有し得る。
【0124】
予測処理ユニット360は、インター予測ユニット344およびイントラ予測ユニット354を含み得る。インター予測ユニット344は、機能的にインター予測ユニット244に類似してよく、また、イントラ予測ユニット354は、機能的にイントラ予測ユニット254に類似してよい。予測処理ユニット360は、通常、ブロック予測を行い、かつ/または符号化データ21から予測ブロック365を取得し、例えば、エントロピー復号ユニット304から、予測関連パラメータおよび/もしくは選択された予測モードに関する情報を受け取るかまたは(明示的もしくは暗黙的に)取得するように構成される。
【0125】
映像スライスがイントラ符号化(I)スライスに符号化されると、予測処理ユニット360のイントラ予測ユニット354は、シグナリングされたイントラ予測モードおよび現在のフレームまたは画像の以前に復号されたブロックのデータに基づいて現在の映像スライスの画像ブロック用の予測ブロック365を生成するように構成される。映像フレームがインター符号化された(すなわち、BまたはP)スライスに符号化されるとき、予測処理ユニット360のインター予測ユニット344(例えば、動き補償ユニット)は、エントロピー復号ユニット304から受信される動きベクトルおよび他の構文要素に基づき、現在の映像スライスにおける映像ブロックの予測ブロック365を生成するように構成される。インター予測の場合、予測ブロックは、1つの参照画像リスト内の参照画像のうちの1つから生成されてよい。映像復号器30は、DPB 330に記憶された参照画像に基づくデフォルト構成技術を使用することにより、参照フレームリスト、すなわち、リスト0およびリスト1を構成し得る。
【0126】
予測処理ユニット360は、現在の映像スライスの映像ブロックに対する予測情報を、動きベクトルおよび別の構文要素を構文解析することによって決定し、予測情報を使用して、復号されている現在の映像ブロックに対する予測ブロックを生成する、ように構成される。本出願の例では、予測処理ユニット360は、現在の映像スライス内の映像ブロックを復号するために、幾つかの受け取られた構文要素を使用して、映像スライス内の映像ブロックを符号化する予測モード(例えば、イントラ予測やインター予測)、インター予測スライスタイプ(例えば、Bスライスや、Pスライスや、GPBスライス)、スライス用の参照画像リストの画像のうちの1つ以上の構成情報、スライス用の各インター符号化映像ブロックの動きベクトル、スライス内の各インター符号化映像ブロックのインター予測状態、およびその他の情報を決定する。本開示の別の例では、映像復号器30によってビットストリームから受け取られる構文要素は、適応パラメータセット(adaptive parameter set、APS)、シーケンスパラメータセット(sequence parameter set、SPS)、画像パラメータセット(picture parameter set、PPS)、またはスライスヘッダの1つ以上内の構文要素を含む。
【0127】
逆量子化ユニット310は、ビットストリームで提供され、エントロピー復号ユニット304によって復号された量子化変換係数に対して逆量子化(すなわち、量子化解除)を行うように構成され得る。逆量子化プロセスは、映像スライス内の映像ブロックごとに映像符号器20によって計算された量子化パラメータを使用して、適用されるべき量子化の程度、および適用されるべき逆量子化の程度を決定すること、を含み得る。
【0128】
逆変換処理ユニット312は、ピクセル領域内の残差ブロックを生成するために、変換係数に逆変換(例えば、逆DCT、逆整数変換、または概念的に類似した逆変換プロセス)を適用するように構成される。
【0129】
再構成ユニット314(例えば、加算器314)は、例えば、再構成された残差ブロック313のサンプル値と予測ブロック365のサンプル値とを加算することによって、逆変換ブロック313(すなわち、再構成された残差ブロック313)を予測ブロック365に加えてサンプル領域における再構成ブロック315を取得するように構成される。
【0130】
ループ・フィルタ・ユニット320(コード化ループ中またはコード化ループ後)は、再構成ブロック315をフィルタリングしてフィルタリングされたブロック321を取得し、ピクセル移行を滑らかにするまたは映像品質を向上させるように構成される。一例において、ループ・フィルタ・ユニット320は、以下に記載されるフィルタリング技術の任意の組み合わせを実行するように構成されてもよい。ループ・フィルタ・ユニット320は、1つまたは複数のループフィルタ、例えば、ブロック解除フィルタ、サンプル適応オフセット(sample-adaptive offset、SAO)フィルタ、またはバイラテラルフィルタ、適応ループフィルタ(adaptive loop filter、ALF)、鮮明化もしくは平滑化フィルタ、もしくは協調フィルタなどの別のフィルタを表すことが意図されている。ループ・フィルタ・ユニット320は図3においてループ内フィルタとして示されているが、別の構成では、ループ・フィルタ・ユニット320はポストフィルタとして実装され得る。
【0131】
次いで、所与のフレームまたは画像内の復号映像ブロック321は、後続の動き補償に使用される参照画像を記憶する復号画像バッファ330に記憶される。
【0132】
復号器30は、例えば、ユーザに提示するために、またはユーザによって閲覧されるように、出力332を介して、復号された画像331を出力するように構成される。
【0133】
映像復号器30の別の変形は、圧縮ビットストリームを復号するために使用され得る。例えば、復号器30は、ループ・フィルタ・ユニット320なしで出力映像ストリームを生成し得る。例えば、非変換ベースの復号器30は、幾つかのブロックまたはフレームに関して逆変換処理ユニット312を伴うことなく残差信号を直接に逆量子化することができる。他の実施では、映像復号器30は、組み合わされて単一のユニットになる逆量子化ユニット310と逆変換処理ユニット312とを有する場合がある。
【0134】
具体的には、本出願の実施形態では、復号器30は、以下の実施形態で説明されるMPMリストを構成する方法、およびクロマブロックのイントラ予測モードを取得する方法を実施するように構成される。
【0135】
映像復号器30の別の構造的変形は、符号化された映像ストリームを復号するために使用できることを理解されたい。例えば、映像復号器30は、フィルタ320で処理することなく出力映像ストリームを生成し得る。あるいは、幾つかの画像ブロックまたは画像フレームについて、映像復号器30のエントロピー復号ユニット304は復号によって量子化係数を取得せず、これに対応して、逆量子化ユニット310および逆変換処理ユニット312は、処理を行う必要がない。ループフィルタ320は任意である。加えて、可逆圧縮符号化の場合、逆量子化ユニット310および逆変換処理ユニット312もまた任意である。別の適用シナリオでは、インター予測ユニットおよびイントラ予測ユニットは選択的に使用されてよい。
【0136】
図4は、本出願の一実施形態による映像コード化デバイス400(例えば、映像符号化デバイス400や映像復号デバイス400)の概略構造図である。映像コード化デバイス400は、本明細書に記載される実施形態を実施するのに適する。一実施形態では、映像コード化デバイス400は、映像復号器(例えば、図1Aの復号器30)または映像符号器(例えば、図1Aの符号器20)であり得る。別の実施形態では、映像コード化デバイス400は、図1Aの復号器30または図1Aの符号器20の1つまたは複数の構成要素であり得る。
【0137】
映像コード化デバイス400は、データを受信するための入口ポート410および受信ユニット(Rx)420と、データを処理するためのプロセッサ、論理ユニット、または中央処理ユニット(CPU)430と、データを送信するための送信ユニット(Tx)440および出口ポート450と、データを記憶するためのメモリ460とを備える。映像コード化デバイス400は、光信号または電気信号が出入りするための、入口ポート410、受信ユニット420、送信ユニット440、および出口ポート450に結合された、光/電気変換構成要素および電気/光(EO)構成要素を更に含み得る。
【0138】
プロセッサ430は、ハードウェアおよびソフトウェアによって実施される。プロセッサ430は、1つまたは複数のCPUチップ、コア(例えば、マルチコアプロセッサ)、FPGA、ASIC、およびDSPとして実装され得る。プロセッサ430は、入口ポート410、受信ユニット420、送信ユニット440、出口ポート450、およびメモリ460と通信する。プロセッサ430は、コード化モジュール470(例えば、符号化モジュール470や復号モジュール470)を含む。符号化/復号モジュール470は、本出願の実施形態で提供されるクロマブロック予測方法を実施するために、本明細書で開示される実施形態を実施する。例えば、符号化/復号モジュール470は、様々なコード化操作を行い、処理し、または提供する。したがって、符号化/復号モジュール470は、映像コード化デバイス400の機能を実質的に向上させ、映像コード化デバイス400の異なる状態への変換に影響を与える。あるいは、符号化/復号モジュール470は、メモリ460に記憶された命令として実施され、プロセッサ430によって実行される。
【0139】
メモリ460は、1つまたは複数のディスク、テープドライブ、およびソリッドステートドライブを備え、プログラムが実行のために選択されたときにそのようなプログラムを記憶し、かつプログラムの実行中に読み取られた命令およびデータを記憶するために、オーバーフロー・データ・ストレージ・デバイスとして使用されてよい。メモリ460は、揮発性および/または不揮発性であり得、読取り専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、3値コンテントアドレッサブルメモリ(ternary content-addressable memory、TCAM)、および/またはスタティック・ランダム・アクセス・メモリ(SRAM)であり得る。
【0140】
図5は、例示的な実施形態による、図1Aの送信元デバイス12および宛先デバイス14のうちの1つまたは2つとして使用され得る装置500の簡略化されたブロック図である。装置500は、本出願の技術を実施することができる。言い換えると、図5は本出願の実施形態による、符号化デバイスまたは復号デバイス(略してコード化デバイス500)の実施を示す概略的なブロック図である。コード化デバイス500は、プロセッサ510と、メモリ530と、バスシステム550とを含み得る。プロセッサとメモリは、バスシステムを介して接続される。メモリは、命令を記憶するように構成される。プロセッサは、メモリに記憶された命令を実施するように構成される。コード化デバイスのメモリはプログラムコードを記憶する。プロセッサは、メモリに記憶されたプログラムコードを呼び出して、この出願に記載される様々な映像の符号化または復号方法を実行し得る。繰り返しを避けるために、ここでは詳細を説明しない。
【0141】
本出願のこの実施形態では、プロセッサ510は中央処理ユニット(Central Processing Unit、略称「CPU」)であってもよく、またはプロセッサ510は、別の汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)もしくは別のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理デバイス、個別ハードウェア構成要素などであってよい。汎用プロセッサは、マイクロプロセッサまたは任意の従来のプロセッサなどであってもよい。
【0142】
メモリ530は、読取り専用メモリ(ROM)デバイスまたはランダム・アクセス・メモリ(RAM)デバイスを含み得る。任意の他の適切なタイプの記憶デバイスが、メモリ530として代替的に使用されてよい。メモリ530は、バス550を介してプロセッサ510によってアクセスされるコードおよびデータ531を含み得る。メモリ530は、オペレーティングシステム533およびアプリケーションプログラム535を更に含み得る。アプリケーションプログラム535は、このアプリケーションに記述されている映像符号化または復号方法(特に、このアプリケーションに記述されているMPMリストを構成する方法、およびクロマブロックのイントラ予測モードを取得する方法)をプロセッサ510が実行できるようにする少なくとも1つのプログラムを含む。
【0143】
データバスに加えて、バスシステム550は、電源バス、制御バス、ステータス信号バスなどを更に含んでもよい。しかしながら、明確な説明のために、図の種々の種類のバスがバスシステム550として示されている。
【0144】
任意で、コード化デバイス500は、1つ以上の出力デバイス、例えばディスプレイ570を更に含んでよい。一例において、ディスプレイ570は、ディスプレイと、接触入力を感知するように動作可能なタッチユニットとを組み合わせたタッチディスプレイであってよい。ディスプレイ570は、バス550を介してプロセッサ510に結合され得る。
【0145】
本出願の実施形態における解決策を以下に詳細に説明する。
【0146】
図6は、本出願の一実施形態による、MPMリストを構成する方法の概略流れ図である。プロセス600は、映像符号器20または映像復号器30によって実行され得る。プロセス600は、一連のステップまたは演算として説明される。プロセス600のステップまたは演算は、様々な順序でおよび/または同時に実行されてよく、図6に示される実行順序に限定されないことが理解されるべきである。図6に示すように、現在ブロックに対してMIPモードが使用され、MPMリストを構成する方法は以下のステップを含む。
【0147】
ステップ601において、隣接ブロックのイントラ予測モード情報を取得する。
【0148】
図7Aおよび図7Bに示すように、MIPモードでは主に現在ブロックの上隣接ブロックと左隣接ブロックとを使用してイントラ予測が実行されるので、本出願における隣接ブロックは、現在ブロックの左隣接ブロック(A)および/または上隣接ブロック(B)を含む。
【0149】
現在ブロックで実行されるイントラ予測は、現在ブロックの隣接ブロックの予測値に基づいて実行される予測であり、隣接ブロックは再構成された画像ブロックでなければならない。したがって、隣接ブロックが利用可能かどうか、つまり隣接ブロックが存在し再構成されたかどうかが、通常は最初に判定される必要がある。例えば、左隣接ブロックが存在しない場合、左隣接ブロックは利用可能でない。あるいは、上隣接ブロックが存在するが再構成されていない場合は、上隣接ブロックは利用可能でない。利用可能な隣接ブロックが再構成され、利用可能な隣接ブロックの再構成中は、イントラ予測モードを使用してイントラ予測が実行されている。したがって、隣接ブロックのイントラ予測モード情報は、直接読み取ることができる。隣接ブロックのイントラ予測モード情報は、隣接ブロックのイントラ予測モードがMIPモードかどうかを示すために使用されるフラグ(例えば、MIP_FLAGまたはintra_mip_flag)を含み、かつIntraPredModeY[xNbX][yNbX]を使用して示されるイントラ予測モードなど、隣接ブロックの特定のイントラ予測モードを示すために使用される情報を更に含む。IntraPredModeY[xNbX][yNbX]は、座標が(xNbX,yNbX)の画像ブロックのイントラ予測モードを示すために使用され、座標(xNbX,yNbX)は、画像ブロックが配置された画像の左上隅に対する、画像ブロックの左上隅の位置を示す。
【0150】
ステップ602において、隣接ブロックのイントラ予測モード情報に基づいて、隣接ブロックのイントラ予測モードがMIPモードかどうかを判定する。
【0151】
表1は他のイントラ予測とMIPモードとの対応関係を示し、MIPモードが使用される画像ブロックのサイズインデックスを示すためにsizeIdが使用されている。例えば、イントラ予測モードIntraPredModeY[xNbX][yNbX]が0の画像ブロックは、画像ブロックのsizeIdが0のときは対応するMIPモードは17であり、画像ブロックのsizeIdが1のときは対応するMIPモードは0であり、画像ブロックのsizeIdが2のときは対応するMIPモードは5である。イントラ予測モードIntraPredModeY[xNbX][yNbX]が18の画像ブロックの場合、画像ブロックのsizeIdが1のときは対応するMIPモードは7である。
【0152】
【表1】
【0153】
表2は、MIPモードと別のイントラ予測モードとの対応関係を示す。表2において、MIPモードセットは35種類のモードを含む。4 x 4の画像ブロック(サイズインデックスが0)に対応するモードが35種類ある。8 x 4、4 x 8、または8 x 8の画像ブロック(サイズインデックスが1)に対応するモードが19種類ある。別のサイズの画像ブロック(サイズインデックスが2)に対応するモードが11種類ある。IntraPredModeY[xNbX][yNbX]は、座標が(xNbX,yNbX)の画像ブロックの特定のMIPモードを示すために使用され、座標(xNbX,yNbX)は、画像ブロックが配置された画像の左上隅に対する、画像ブロックの左上隅の位置を示し、sizeIdは、イントラ予測モード(非MIPモード)が使用される画像ブロックのサイズインデックスを示すために使用される。例えば、MIPモードIntraPredModeY[xNbX][yNbX]が0の画像ブロックは、画像ブロックのsizeIdが0のときは対応するイントラ予測モードは0であり、画像ブロックのsizeIdが1のときは対応するイントラ予測モードは0であり、または画像ブロックのsizeIdが2のときは対応するイントラ予測モードは1である。MIPモードIntraPredModeY[xNbX][yNbX]が18の画像ブロックの場合、画像ブロックのsizeIdが1のときは対応するイントラ予測モードは0である。
【0154】
【表2】
【0155】
上述したように、隣接ブロックのイントラ予測モード情報は、隣接ブロックのイントラ予測モードがMIPモードかどうかを示すために使用されるフラグを含む(例えば、フラグはMIP_FLAGまたは intra_mip_flag、あるいは別のフラグであってもよく、これについては特に限定されない)。したがって、隣接ブロックのイントラ予測モードがMIPモードかどうかは、MIP_FLAG またはintra_mip_flagに基づいて判定され得る。例えば、MIP_FLAGの値が0であれば、隣接ブロックのイントラ予測モードがMIPモードでないことを示し、あるいはMIP_FLAGの値が1であれば、隣接ブロックのイントラ予測モードがMIPモードであることを示している。MIP_FLAGの値が1であれば、隣接ブロックのイントラ予測モードがMIPモードであることを示し、あるいはintra_mip_flagの値が0であれば、隣接ブロックのイントラ予測モードがMIPモードでないことを示している。
【0156】
ステップ603において、隣接ブロックのイントラ予測モードがMIPモードでなければ、現在ブロックのMPMリスト構成に隣接ブロックのイントラ予測モードを使用しない。
【0157】
本出願では、隣接ブロックのイントラ予測モードがMIPモードでないときは、隣接ブロックのイントラ予測モードが現在ブロックのMPMリスト構成に使用されていないことを示すために、隣接ブロックのイントラ予測モードは利用不可に設定される。現在ブロックおよび隣接ブロックの両方でMIPモードが使用されないことによって、MPMリストを構成するために、MIPと別のイントラ予測モードとの対応関係に基づいて、MIPと別のイントラ予測モードとの間で変換を実行する必要が生じる事態をこれによって回避でき、その結果、MPMリスト構成の複雑性が低減される。
【0158】
この場合、MPMリスト構成は、以下の「2.candMipModeXの値に基づいて現在ブロックのMPMリストを構成する。」の中の「条件(1)が満たされない場合は(2)」の例を使用して説明される。
【0159】
ステップ604において、隣接ブロックのイントラ予測モードがMIPモードであれば、現在ブロックのMPMリスト構成に隣接ブロックのイントラ予測モードを使用する。
【0160】
本出願では、隣接ブロックのイントラ予測モードがMIPモードのときは、現在ブロックと隣接ブロックとのサイズインデックスが同じかどうかが更に判定される必要があり、現在ブロックと隣接ブロックとのサイズインデックスが異なっていれば、隣接ブロックのイントラ予測モードは現在ブロックのMPMリスト構成に使用されず、あるいは現在ブロックと隣接ブロックとのサイズインデックスが同じであれば、隣接ブロックのイントラ予測モードが現在ブロックのMPMリスト構成に使用される。
【0161】
例えば、前述のステップでは、隣接ブロックのイントラ予測モードが現在ブロックのMPMリスト構成に使用されていないことを示すために、candMipModeXの値が-1に設定され得る。
【0162】
本出願では、現在ブロックにMIPモードが使用されるときは、隣接ブロックのイントラ予測モードがMIPモードでなければ、隣接ブロックのイントラ予測モードは現在ブロックのMPMリスト構成に使用されないため、MPMリスト構成の複雑性を低減することができる。
【0163】
図6に示す方法の実施形態について、以下で詳細に説明する。例えば、現在ブロックが配置されている画像の左上隅が原点として使用され、座標(xCb,yCb)は原点に対する現在ブロックの左上隅の位置を示すために使用され、座標(xNbA,yNbA)は、原点に対する左隣接ブロックの左上隅の位置を示すために使用され(または左隣接ブロック、すなわち(xCb-1,yCb)は、現在ブロックの座標に基づいて取得され得る)、座標(xNbB,yNbB)は、原点に対する上隣接ブロックの左上隅の位置を示すために使用され得る(または上隣接ブロック、すなわち(xCb,yCb-1)は、現在ブロックの座標に基づいて取得され得る)。
【0164】
1.candMipModeXの値を決定する。
【0165】
ここで、現在ブロックにMIPモードが使用されるときは、隣接ブロックのものでありかつMPMリスト構成に使用されるイントラ予測モードの候補値を示すためにcandMipModeXが使用され、イントラ予測モードを示す。XがAのときは、隣接ブロックが左隣接ブロックであることを示す。XがBのときは、隣接ブロックが上隣接ブロックであることを示す。
【0166】
(1)以下の条件の1つ以上が満たされる場合、candMipModeXの値は-1に設定される。
【0167】
a.隣接ブロック(X)は利用可能でない。
【0168】
本出願では、隣接ブロックが利用不可であるということは、隣接ブロックが存在しないかまたは再構成されていない、あるいは隣接ブロックのイントラ予測モードがMIPモードでないことを示す。隣接ブロックが利用可能かどうかを判定するために、別の条件が代替的に使用されてよいことに留意されたい。これは本出願では特に限定されない。
【0169】
b.隣接ブロック(X)の予測モードがイントラ予測ではなく、かつインター予測とイントラ予測との組み合わせ(combined inter and intra prediction、CIIP)モードではない。
【0170】
c.pcm_flag[xNbX][yNbX]は1である。
【0171】
本出願では、flag pcm_flagは、対応する隣接ブロックにPCMモードが使用されているかどうかを示すために使用される。例えば、pcm_flag[xNbA][yNbA]が1であれば、左隣接ブロックにPCMモードが使用されていることを示し、pcm_flag[xNbB][yNbB]が0であれば、上隣接ブロックにPCMモードが使用されていないことを示す。通常、隣接ブロックに対応するpcm_flagがない場合は、デフォルトで、隣接ブロックのpcm_flagの値は0と見なされる。
【0172】
d.隣接ブロックが上隣接ブロックのとき、現在ブロックおよび上隣接ブロックは同じCTU内にある。
【0173】
(2)(1)の条件がいずれも満たされない場合、現在ブロックおよび隣接ブロックのサイズインデックス(sizeId)が同じであるかどうかが判定される。
【0174】
MIPにおいて、サイズとインデックスとの対応関係は、画像ブロックのサイズに基づいて設定される。例えば、表3は、画像ブロックのサイズとサイズインデックスとの対応関係の一例である。
【0175】
【表3】
【0176】
このステップにおける判定するプロセスは、比較によって、sizeId[xCb][yCb]とsizeId[xNbX][yNbX]が等しいかどうかを判定することである。sizeId[xCb][yCb]とsizeId[xNbX][yNbX]とが等しくない場合は、candMipModeXの値は-1に設定される。sizeId[xCb][yCb]とsizeId[xNbX][yNbX]とが同じであれば、candMipModeX=IntraPredModeY[xNbX][yNbX]となり、ここでIntraPredModeY[xNbX][yNbX]は隣接ブロックのイントラ予測モードを示す。
【0177】
2.candMipModeXの値に基づいて現在ブロックのMPMリストを構成する。
【0178】
(1)candMipModeAおよびcandMipModeBの値が両方とも-1の場合は、表4の方法にしたがってMPM候補が取得される。
【0179】
【表4】
【0180】
表4の2行目の0、1、および2は、それぞれ画像ブロックのサイズインデックス(sizeId)を表す。例えば、現在ブロックのsizeIdが0であれば、現在ブロックのMPMリストは、表4のインデックス0に対応する列になる。言い換えると、MPMリストにおいて、MPM[0]=17、MPM[1]=0、およびMPM[2]=1である。あるいは、現在ブロックのsizeIdが2であれば、現在ブロックのMPMリストは、表4のインデックス2に対応する列になる。言い換えると、MPMリストにおいて、MPM[0]=5、MPM[1]=16、およびMPM[2]=6である。
【0181】
例えば、隣接ブロックのイントラ予測モードをいずれも現在ブロックのMPMリスト構成に使用できない場合は、デフォルトモードmipMpmCand[0]、mipMpmCand[1]、およびmipMpmCand[2]が現在ブロックのMPMリスト構成に使用される。
【0182】
(2)(1)の条件が満たされない場合、MPMリストは以下のステップにしたがって構成される。
【0183】
a.candMipModeAおよびcandMipModeBの値が同じ、またはcandMipModeAおよび candMipModeBのうちの少なくとも1つの値が-1であれば、candMipModeAの値が-1かどうかが判定される。candMipModeAの値が-1でない場合は、MPM[0]=candMipModeAであり、またはcandMipModeAの値が-1であれば、MPM[0]=candMipModeBである。前述したステップで判定されたMPM[0]と、表4のmipMpmCand[0]とが比較される。前述のステップで決定されたMPM[0]と、表4のmipMpmCand[0]とが同じであれば、MPM[1]=mipMpmCand[1]であり、MPM[2]=mipMpmCand[2]である。前述のステップで決定されたMPM[0]と、表4のmipMpmCand[0]とが異なっていれば、MPM[1]=mipMpmCand[0]およびMPM[2]=(MPM[0]!=mipMpmCand[1])?mipMpmCand[1]:mipMpmCand[2]である。
【0184】
例えば、少なくとも1つの隣接ブロックのイントラ予測モードが現在ブロックのMPMリスト構成に使用できない場合、デフォルトモードおよび隣接ブロックの利用可能なイントラ予測モードが重複除去された後で、重複除去後に取得されたイントラ予測モードが現在ブロックのMPMリスト構成に使用される。デフォルトモードは、mipMpmCand[0]、mipMpmCand[1]、およびmipMpmCand[2]のうちの1つ以上を含む。
【0185】
b.candMipModeAの値とcandMipModeBの値とが異なる場合、およびcandMipModeA の値およびcandMipModeBの値がいずれも-1の場合は、MPM[0]=candMipModeAおよび MPM[1]=candMipModeBである。表4における、現在ブロックのsizeIdに対応する列のmipMpmCand[0]、mipMpmCand[1]、およびmipMpmCand[2]の3つの値は、判定されたMPM[0]およびMPM[1]を使用して順に重複除去され、3つの値のうち利用可能な値がMPM[2]として使用される。例えば、MPM[0]=17、MPM[1]=7であり、現在ブロックのsizeIdは0である。0に対応する列{17,0,1}は重複除去される。17がMPM[0]と同じなので、MPM[2]=0となる。あるいは、MPM[0]=5、MPM[1]=6であり、現在ブロックのsizeIdは2である。2に対応する列{5,16,6}は重複除去される。5がMPM[0]と同じであり、6がMPM[1]と同じなので、MPM[2]=16となる。
【0186】
例えば、隣接ブロックのイントラ予測モードを全て現在ブロックのMPMリスト構成に使用できる場合は、隣接ブロックのイントラ予測モードが現在ブロックのMPMリスト構成に使用される。次に、デフォルトモードおよび隣接ブロックの利用可能なイントラ予測モードが重複除去された後で、重複除去後に取得されたイントラ予測モードが現在ブロックのMPMリスト構成に使用される。デフォルトモードは、mipMpmCand[0]、mipMpmCand[1]、およびmipMpmCand[2]のうちの1つ以上を含む。
【0187】
現在ブロックおよび隣接ブロックの両方でMIPモードが使用されないことによって、MPMリストを構成するために、MIPと別のイントラ予測モードとの対応関係に基づいて、MIPと別のイントラ予測モードとの間で変換を実行する必要が生じる事態をこれによって回避でき、その結果、MPMリスト構成の複雑性が低減される。
【0188】
図8は、本出願の一実施形態による、MPMリストを構成する方法の別の概略流れ図である。プロセス800は、映像符号器20または映像復号器30によって実行され得る。プロセス800は、一連のステップまたは演算として説明される。プロセス800のステップまたは演算は、様々な順序でおよび/または同時に実行されてよく、図8に示される実行順序に限定されないことが理解されるべきである。本実施形態と図6に示す実施形態との違いは、現在ブロックにMIPモードが使用されないことである。図8に示すように、MPMリストを構成する方法は以下のステップを含む。
【0189】
ステップ801において、隣接ブロックのイントラ予測モード情報を取得する。
【0190】
ステップ802において、隣接ブロックのイントラ予測モード情報に基づいて、隣接ブロックのイントラ予測モードがMIPモードかどうかを判定する。
【0191】
本実施形態におけるステップ801および802の原理は、図6に示す実施形態におけるステップ601および602の原理と同様であり、ここで再度詳細な説明はされない。
【0192】
ステップ803において、隣接ブロックのイントラ予測モードがMIPモードであれば、現在ブロックのMPMリスト構成に隣接ブロックのイントラ予測モードを使用しない。
【0193】
本出願では、同様に、隣接ブロックのイントラ予測モードは、現在ブロックのMPMリスト構成に使用されない。ステップ803の制約条件は、隣接ブロックのイントラ予測モードがMIPモードであることである。しかしながら、ステップ603の制約条件は、隣接ブロックのイントラ予測モードがMIPモードでないことである。2つの制約条件の共通原理は、隣接ブロックのイントラ予測モードと現在ブロックのイントラ予測モードとが両方ともMIPモードになることはないということである。
【0194】
本出願では、隣接ブロックのイントラ予測モードがMIPモードのときは、隣接ブロックのイントラ予測モードが現在ブロックのMPMリスト構成に使用されていないことを示すために、隣接ブロックのイントラ予測モードは利用不可に設定される。現在ブロックおよび隣接ブロックの両方でMIPモードが使用されないことによって、MPMリストを構成するために、MIPと別のイントラ予測モードとの対応関係に基づいて、MIPと別のイントラ予測モードとの間で変換を実行する必要が生じる事態をこれによって回避でき、その結果、MPMリスト構成の複雑性が低減される。
【0195】
ステップ804において、隣接ブロックのイントラ予測モードがMIPモードでなければ、現在ブロックのMPMリスト構成に隣接ブロックのイントラ予測モードを使用する。
【0196】
本出願では、同様に、隣接ブロックのイントラ予測モードが現在ブロックのMPMリスト構成に使用される。ステップ804の制約条件は、隣接ブロックのイントラ予測モードがMIPモードでないことである。しかしながら、ステップ604の制約条件は、隣接ブロックのイントラ予測モードがMIPモードであることである。2つの制約条件の共通原理は、隣接ブロックのイントラ予測モードと現在ブロックのイントラ予測モードとがMIPモードであることである。
【0197】
例えば、前述のステップでは、隣接ブロックのイントラ予測モードが現在ブロックのMPMリスト構成に使用されていないことを示すために、candIntraPredModeXの値が-1に設定され得る。
【0198】
本出願では、現在ブロックにMIPモードが使用されないときは、隣接ブロックのイントラ予測モードがMIPモードであれば、隣接ブロックのイントラ予測モードは現在ブロックのMPMリスト構成に使用されないため、MPMリスト構成の複雑性を低減することができる。
【0199】
図8に示す方法の実施形態について、以下で詳細に説明する。例えば、現在ブロックが配置されている画像の左上隅が原点として使用され、座標(xCb,yCb)は原点に対する現在ブロックの左上隅の位置を示すために使用され、座標(xNbA,yNbA)は、原点に対する左隣接ブロックの左上隅の位置を示すために使用され、座標(xNbB,yNbB)は、原点に対する上隣接ブロックの左上隅の位置を示すために使用され得る。
【0200】
1.candIntraPredModeXの値を決定する。
【0201】
ここで、現在ブロックにMIPモードが使用されないときは、隣接ブロックのものでありかつMPMリスト構成に使用されるイントラ予測モードの候補値を示すためにcandIntraPredModeXが使用され、イントラ予測モードを示す。XがAのときは、隣接ブロックが左隣接ブロックであることを示す。XがBのときは、隣接ブロックが上隣接ブロックであることを示す。
【0202】
(1)以下の条件の1つ以上が満たされる場合、candIntraPredModeXの値はPlanarモード(INTRA_PLANAR)に設定される。
【0203】
a.隣接ブロック(X)は利用可能でない。
【0204】
本出願では、隣接ブロックが利用不可であるということは、隣接ブロックが存在しないかまたは再構成されていない、あるいは隣接ブロックのイントラ予測モードがMIPモードであることを示す。隣接ブロックが利用可能かどうかを判定するために、別の条件が代替的に使用されてよいことに留意されたい。これは本出願では特に限定されない。
【0205】
b.隣接ブロック(X)の予測モードは、イントラ予測でもCIIPモードでもない。
【0206】
c.pcm_flag[xNbX][yNbX]は1である。
【0207】
d.隣接ブロックが上隣接ブロックのとき、現在ブロックおよび上隣接ブロックは同じCTU内にある。
【0208】
(2)(1)の条件がいずれも満たされない場合は、candIntraPredModeX=IntraPredModeY[xNbX][yNbX]となり、ここでIntraPredModeY[xNbX][yNbX]は隣接ブロックのイントラ予測モードを示す。
【0209】
2.candIntraPredModeXの値に基づいて現在ブロックのMPMリストを構成する。
【0210】
MPMリストは、前述のステップで取得されたcandMipModeAおよびcandMipModeBの値、ならびにINTRA_PLANARとINTRA_DCとのモードサイズの関連性に基づいて構成される。
【0211】
表5は、モード名とモードサイズとの対応関係を示す。以下では、例を使用してMPMリスト構成プロセスについて説明する。
【0212】
【表5】
【0213】
(1)candIntraPredModeBとcandIntraPredModeAとが等しく、candIntraPredModeAがINTRA_DCよりも大きい場合は、MPMリストのcandModeList[x]は以下のようになり、xの値の範囲は0~4である。
candModeList[0]=candIntraPredModeA;
candModeList[1]=2+((candIntraPredModeA+61)%64);
candModeList[2]=2+((candIntraPredModeA-1)%64);
candModeList[3]=INTRA_DC;および
candModeList[4]=2+((candIntraPredModeA+60)%64)。
【0214】
例えば、隣接ブロックのイントラ予測モードを全て現在ブロックのMPMリスト構成に使用できる場合は、隣接ブロックのイントラ予測モードが現在ブロックのMPMリスト構成に使用される。次に、現在ブロックのMPMリストが、デフォルトモードおよび隣接ブロックのイントラ予測モードに基づいて、デフォルトのアルゴリズムを使用して構成される。デフォルトモードはINTRA_DCである。デフォルトのアルゴリズムは、上述した通りであってよい。
【0215】
(2)candIntraPredModeBとcandIntraPredModeAとが等しくなく、candIntraPredModeBおよびcandIntraPredModeAのうちの1つまたは両方がINTRA_DCよりも大きい場合は、以下の方法が使用される。
【0216】
a.candIntraPredModeAおよびcandIntraPredModeBのうち、大きい方がmaxABとされ、小さい方がminABとされる。
【0217】
b.candIntraPredModeBおよびcandIntraPredModeAの両方がINTRA_DCよりも大きい場合は、candModeList[0]=candIntraPredModeA;
candModeList[1]=candIntraPredModeB;
candModeList[2]=INTRA_DCであり、
maxAB-minABが2~62の範囲であれば、candModeList[3]=2+((maxAB+61)%64);および
candModeList[4]=2+((maxAB-1)%64);であり、あるいは
maxAB-minABが2~62の範囲でない場合は、
candModeList[3]=2+((maxAB+60)%64);および
candModeList[4]=2+((maxAB)%64)である。
【0218】
例えば、隣接ブロックのイントラ予測モードを全て現在ブロックのMPMリスト構成に使用できる場合は、隣接ブロックのイントラ予測モードが現在ブロックのMPMリスト構成に使用される。次に、現在ブロックのMPMリストが、デフォルトモード、maxAB、および隣接ブロックのイントラ予測モードに基づいて、デフォルトのアルゴリズムを使用して構成される。デフォルトモードはINTRA_DCである。デフォルトのアルゴリズムは、上述した通りであってよい。
【0219】
c.candIntraPredModeAおよびcandIntraPredModeBのうちの1つがINTRA_DCよりも大きい場合は、
candModeList[0]=maxAB;
candModeList[1]=INTRA_DC;
candModeList[2]=2+((maxAB+61)%64);
candModeList[3]=2+((maxAB-1)%64);および
candModeList[4]=2+((maxAB+60)%64)である。
【0220】
例えば、隣接ブロックのイントラ予測モードを全て現在ブロックのMPMリスト構成に使用できる場合は、デフォルトモード、maxAB、および隣接ブロックのイントラ予測モードに基づいて、デフォルトのアルゴリズムを使用して現在ブロックのMPMリストが構成される。デフォルトモードはINTRA_DCである。デフォルトのアルゴリズムは、上述した通りであってよい。
【0221】
(3)(1)も(2)も満たされない場合は、
candModeList[0]=INTRA_DC;
candModeList[1]=INTRA_ANGULAR50;
candModeList[2]=INTRA_ANGULAR18;
candModeList[3]=INTRA_ANGULAR46;および
candModeList[4]=INTRA_ANGULAR54である。
【0222】
例えば、隣接ブロックのイントラ予測モードをいずれも現在ブロックのMPMリスト構成に使用できない場合は、デフォルトモードに基づいて現在ブロックのMPMリストが構成される。デフォルトモードは、INTRA_DC、INTRA_ANGULAR50、INTRA_ANGULAR18、INTRA_ANGULAR46、およびINTRA_ANGULAR54を含む。
【0223】
現在ブロックおよび隣接ブロックの両方でMIPモードが使用されないことによって、MPMリストを構成するために、MIPと別のイントラ予測モードとの対応関係に基づいて、MIPと別のイントラ予測モードとの間で変換を実行する必要が生じる事態をこれによって回避でき、その結果、MPMリスト構成の複雑性が低減される。
【0224】
図9は、本出願の一実施形態による、クロマブロックのイントラ予測モードを取得する方法の概略流れ図である。プロセス900は、映像符号器20または映像復号器30によって実行され得る。プロセス900は、一連のステップまたは演算として説明される。プロセス900のステップまたは演算は、様々な順序でおよび/または同時に実行されてよく、図9に示される実行順序に限定されないことが理解されるべきである。図9に示すように、クロマブロックのイントラ予測モードを取得する方法は次のステップを含む。
【0225】
ステップ901において、ルマブロックのイントラ予測モードを取得する。
【0226】
ルマブロックは、現在のクロマブロックに対応するルマブロックである。具体的には、ルマブロックおよび現在のクロマブロックは、同じ画像ブロックのルマ成分およびクロマ成分である。ルマブロックの場合と同様に、クロマブロックのイントラ予測もまた、現在のクロマブロックの周囲にある隣接する再構成ブロックの境界画素を現在ブロックの参照画素として使用し、現在のクロマブロック内の画素の予測値として機能するように、特定の予測モードに基づいて、現在のクロマブロック内の画素に参照画素をマッピングする。違いは、クロマブロックのテクスチャが通常は比較的簡素であり、クロマブロックのイントラ予測モードの量が、通常はルマブロックのイントラ予測モードの量より少ないことである。例えば、H.265では、クロマブロックには、Planarモード、垂直モード、水平モード、DCモード、およびDMモードの5つのイントラ予測モードのみが存在する。例えば、HEVCではクロマブロックには5つのイントラ予測モードがあり、それぞれ0~4のモードインデックスに対応している。モードインデックス0はPlanarモードである(ルマブロックのモード0に相当する)。モードインデックス1は垂直モードである(ルマブロックのモード26に相当する)。モードインデックス2は水平モードである(ルマブロックのモード10に相当する)。モードインデックス3はDCモードである(ルマブロックのモード1に相当する)。モードインデックス4はDMモードである。
【0227】
ステップ902において、ルマブロックのイントラ予測モードがMIPモードかどうかを判定する。
【0228】
上述したように、ルマブロックのイントラ予測モード情報は、ルマブロックのイントラ予測モードがMIPモードかどうかを示すのに使用されるフラグ(MIP_FLAG)を含む。したがって、ルマブロックのイントラ予測モードがMIPモードかどうかは、MIP_FLAGに基づいて判定され得る。例えば、MIP_FLAGの値が0であれば、ルマブロックのイントラ予測モードがMIPモードでないことを示し、あるいはMIP_FLAGの値が1であれば、ルマブロックのイントラ予測モードがMIPモードであることを示している。
【0229】
ルマブロックのイントラ予測モード情報は、IntraPredModeY[xCb][yCb]を使用して示されるイントラ予測モードなどの、ルマブロックの特定のイントラ予測モードを示すために使用される情報を更に含む。例えば、現在ブロックが配置された画像の左上隅は原点として使用され、座標(xCb,yCb)は、原点に対する現在ブロックの左上隅の位置を示すために使用され得る。
【0230】
ステップ903において、ルマブロックのイントラ予測モードがMIPモードでなければ、ルマブロックのイントラ予測モードを現在のクロマブロックのイントラ予測モードとして使用する。
【0231】
ステップ904において、ルマブロックのイントラ予測モードがMIPモードであれば、デフォルトモードをクロマブロックのイントラ予測モードとして使用する。
【0232】
クロマブロックのデフォルトモードは、DCモードのPlanarモードを含む。
【0233】
現在のクロマブロックについては、現在のクロマブロックの中央位置をカバーするルマブロックのイントラ予測モードが直接継承される。具体的には、ルマ成分と同じイントラ予測モードがクロマ成分に対して選択される。これは、クロマブロックにDMモードが使用されるときに用いられるイントラ予測モード取得方法である。本出願では、DMモードに基づいて、ルマブロックにMIPモードが追加された場合は、ルマブロックのイントラ予測モードがMIPモードでなければ、ルマブロックのイントラ予測モードが現在のクロマブロックのイントラ予測モードとして使用され、あるいはルマブロックのイントラ予測モードがMIPモードであれば、デフォルトモードが現在のクロマブロックのイントラ予測モードとして使用されるため、クロマブロックのイントラ予測モードを取得する複雑性を低減することができる。
【0234】
図9に示す方法の実施形態について、以下で詳細に説明する。現在のクロマブロックに対してDMが使用される。例えば、現在ブロックが配置されている画像の左上隅が原点として使用され、座標(xCb,yCb)は原点に対する現在ブロックの左上隅の位置を示すために使用され、座標(xNbA,yNbA)は、原点に対する左隣接ブロックの左上隅の位置を示すために使用され、座標(xNbB,yNbB)は、原点に対する上隣接ブロックの左上隅の位置を示すために使用され得る。
【0235】
ルマブロックのイントラ予測モードlumaIntraPredMode[xCb][yCb]が取得される。
【0236】
a.ルマブロックのイントラ予測モードがMIPモードであれば、現在のクロマブロックの予測モードは、PlanarモードまたはDCモードなどのデフォルト値(この値が符号器側と復号器側との間で合意された値と見なされるデフォルトモード)に直接設定される。この場合は、以下のステップは必要とされない。
【0237】
b.ルマブロックのイントラ予測モードがMIPモードでなければ、現在のクロマブロックの予測モードは、ルマブロックのイントラ予測モードlumaIntraPredMode[xCb][yCb]に直接設定される。ルマブロックのイントラ予測モードlumaIntraPredMode[xCb][yCb]は、IntraPredModeY[xCb+cbWidth/2][yCb+cbHeight/2]と等しく、cbWidthはルマブロックの幅を示し、cbHeightはルマブロックの高さを示す。具体的には、この場合は、左上隅が現在ブロックの中央画素である画像ブロックに使用されるイントラ予測モードが、ルマブロックのイントラ予測モードとして使用される。その後、現在のクロマブロックのイントラ予測モードが、対応するルマブロックのイントラ予測モードに直接設定される。
【0238】
図10は、本出願の一実施形態によるイントラ予測装置1000の概略ブロック図である。イントラ予測装置1000は、取得モジュール1001と、判定モジュール1002と、処理モジュール1003とを含み得る。
【0239】
現在ブロックに対してMIPモードが使用されるとき、取得モジュール1001は隣接ブロックのイントラ予測モード情報を取得するように構成され、隣接ブロックは、現在ブロックの上隣接ブロック、および/または左隣接ブロックを含み、判定モジュール1002は、隣接ブロックのイントラ予測モード情報に基づいて、隣接ブロックのイントラ予測モードがMIPモードかどうかを判定するように構成され、処理モジュール1003は、隣接ブロックのイントラ予測モードがMIPモードでなければ、現在ブロックのMPMリスト構成に隣接ブロックのイントラ予測モードを使用しないように、または隣接ブロックのイントラ予測モードがMIPモードであれば、現在ブロックのMPMリスト構成に隣接ブロックのイントラ予測モードを使用するように構成される。
【0240】
可能な実施態様では、処理モジュール1003は、具体的には隣接ブロックのイントラ予測モードを利用不可に設定するように構成される。
【0241】
可能な実施態様では、処理モジュール1003は、隣接ブロックのイントラ予測モードが現在ブロックのMPMリスト構成に使用されていないことを示すために、candMipModeXの値を-1に設定するように更に構成される。
【0242】
可能な実施態様では、処理モジュール1003は、隣接ブロックのイントラ予測モードがMIPモードであれば、現在ブロックのMPMリスト構成にデフォルトモードを使用するように更に構成される。
【0243】
可能な実施態様では、処理モジュール1003は、具体的には隣接ブロックのイントラ予測モードがMIPモードであれば、現在ブロックと隣接ブロックとのサイズインデックスが同じかどうかを判定するように構成され、現在ブロックと隣接ブロックとのサイズインデックスが異なっていれば、隣接ブロックのイントラ予測モードを現在ブロックのMPMリスト構成に使用しないように、または現在ブロックと隣接ブロックとのサイズインデックスが同じであれば、隣接ブロックのイントラ予測モードを現在ブロックのMPMリスト構成に使用するように構成される。
【0244】
可能な実施態様では、取得モジュール1001は、隣接ブロックのイントラ予測モード情報に基づいて、隣接ブロックのイントラ予測モードを取得するように更に構成される。
【0245】
可能な実施態様では、判定モジュール1002は、具体的には、フラグMIP_FLAGに基づいて、隣接ブロックのイントラ予測モードがMIPモードかどうかを判定するように構成され、隣接ブロックのイントラ予測モード情報はMIP_FLAGを含む。
【0246】
現在ブロックに対してMIPモードが使用されないとき、取得モジュール1001は隣接ブロックのイントラ予測モード情報を取得するように構成され、隣接ブロックは、現在ブロックの上隣接ブロック、および/または左隣接ブロックを含み、判定モジュール1002は、隣接ブロックのイントラ予測モード情報に基づいて、隣接ブロックのイントラ予測モードがMIPモードかどうかを判定するように構成され、処理モジュール1003は、隣接ブロックのイントラ予測モードがMIPモードであれば、現在ブロックのMPMリスト構成に隣接ブロックのイントラ予測モードを使用しないように、または隣接ブロックのイントラ予測モードがMIPモードでなければ、現在ブロックのMPMリスト構成に隣接ブロックのイントラ予測モードを使用するように構成される。
【0247】
可能な実施態様では、処理モジュール1003は、具体的には隣接ブロックのイントラ予測モードを利用不可に設定するように構成される。
【0248】
可能な実施態様では、処理モジュール1003は、隣接ブロックのイントラ予測モードが現在ブロックのMPMリスト構成に使用されていないことを示すために、candIntraPredModeXの値を-1に設定するように更に構成される。
【0249】
可能な実施態様では、処理モジュール1003は、隣接ブロックのイントラ予測モードがMIPモードであれば、現在ブロックのMPMリスト構成にデフォルトモードを使用するように更に構成される。
【0250】
可能な実施態様では、取得モジュール1001は、隣接ブロックのイントラ予測モード情報に基づいて、隣接ブロックのイントラ予測モードを取得するように更に構成される。
【0251】
可能な実施態様では、判定モジュール1002は、具体的には、フラグMIP_FLAGに基づいて、隣接ブロックのイントラ予測モードがMIPモードかどうかを判定するように構成され、隣接ブロックのイントラ予測モード情報はMIP_FLAGを含む。
【0252】
現在のクロマブロックにDMが使用されるときは、取得モジュール1001はルマブロックのイントラ予測モードを取得するように構成され、ルマブロックは現在のクロマブロックに対応するルマブロックであり、判定モジュール1002は、ルマブロックのイントラ予測モードが行列に基づくイントラ予測MIPモードかどうかを判定するように構成され、処理モジュール1003は、ルマブロックのイントラ予測モードがMIPモードでなければ、ルマブロックのイントラ予測モードを現在のクロマブロックのイントラ予測モードとして使用するように、またはルマブロックのイントラ予測モードがMIPモードであれば、デフォルトモードをクロマブロックのイントラ予測モードとして使用するように構成される。
【0253】
可能な実施態様では、デフォルトモードはPlanarモードまたはDCモードを含む。
【0254】
イントラ予測装置1000の取得モジュール1001と、判定モジュール1002と、処理モジュール1003とは、符号器側または復号器側でイントラ予測プロセスに使用され得ることに留意されたい。現在ブロックのMPMリストが構成された後で、構成された現在ブロックのMPMリストに基づいて現在ブロックの具体的な予測モードが決定されてよく、次に、具体的な予測モードに基づいて、予測された現在ブロックの画素値が決定される。具体的には、符号器側では、モジュールは符号器20の予測処理ユニット260内のイントラ予測ユニット254で使用され得る。復号器側では、モジュールは復号器30の予測処理ユニット360内のイントラ予測ユニット354で使用され得る。
【0255】
取得モジュール1001、判定モジュール1002、および処理モジュール1003の具体的な実施プロセスについては、図6図9における任意の実施形態の詳細な説明を参照することに更に留意されたい。明細書を簡潔にするために、ここでは詳細は説明されない。
【0256】
当業者であれば分かるように、この明細書中に開示されて記載される様々な例示的な論理ブロック、モジュール、および、アルゴリズムステップに関連して記載される機能は、ハードウェア、ソフトウェア、ファームウェア、または、それらの任意の組み合わせによって実装され得る。例示的な論理ブロック、モジュール、および、ステップに関連して記載される機能は、ソフトウェアによって実装される場合、1つ以上の命令またはコードとしてコンピュータ可読媒体に記憶またはコンピュータ可読媒体を介して送信されるとともに、ハードウェアベースの処理ユニットによって実行されてもよい。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体、あるいは、ある場所から別の場所への(例えば、通信プロトコルにしたがった)コンピュータプログラムの送信を容易にする任意の通信媒体を含んでよい。この方法では、コンピュータ可読媒体は、一般に、(1)非一時的な有形のコンピュータ可読記憶媒体、または(2)信号や搬送波などの通信媒体、に対応し得る。データ記憶媒体は、この出願に記載される技術を実装するための命令、コード、および/または、データ構造を取り込むために1つ以上のコンピュータまたは1つ以上のプロセッサによってアクセスされ得る任意の使用可能な媒体であってもよい。コンピュータプログラム製品がコンピュータ可読媒体を含んでもよい。
【0257】
限定ではなく一例として、そのようなコンピュータ可読記憶媒体としては、RAM、ROM、EEPROM、CD-ROMまたは他のコンパクトディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶装置、フラッシュメモリ、あるいは、命令またはデータ構造の形態で所望のプログラムコードを記憶するために使用され得るとともにコンピュータによってアクセスされ得る任意の他の媒体を挙げることができる。更に、任意の接続は、適切には、コンピュータ可読媒体と称される。例えば、ウェブサイト、サーバ、または、他の遠隔ソースから、同軸ケーブル、光ファイバ、ツイストペア、デジタル加入者回線(DSL)、または、赤外線、電波もしくはマイクロ波などの無線技術によって、命令が送信される場合、同軸ケーブル、光ファイバ、ツイストペア、DSL、または、赤外線、電波もしくはマイクロ波などの無線技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、またはその他の一時的媒体を含まず、実際には非一時的な有形の記憶媒体を意味することを理解されたい。この明細書中で使用されるディスクは、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、および、ブルーレイディスクを含む。ディスクは、通常、磁気的にデータを再生するが、ディスクはレーザを用いて光学的にデータを再生する。前述の組み合わせもコンピュータ可読媒体の範囲に含まれるべきである。
【0258】
命令は、1つ以上のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、または、同等の集積回路もしくはディスクリート論理回路などの1つ以上のプロセッサによって実行されてもよい。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造または本明細書に記載される技術を実施するのに適した任意の他の構造のいずれかであり得る。更に、幾つかの態様において、この明細書中に記載される例示的な論理ブロック、モジュール、および、ステップに関連して記載される機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に設けられてもよく、あるいは、複合コーデックに組み込まれてもよい。加えて、技術は全て、1つまたは複数の回路もしくは論理素子で実装され得る。
【0259】
この出願における技術は、無線ハンドセット、集積回路(IC)、もしくは、ICのセット(例えば、チップセット)を含む様々な装置またはデバイスで実装されてもよい。この出願では、開示された技術を実行するように構成される装置の機能態様を強調するように様々な構成要素、モジュール、または、ユニットが記載されるが、これらは必ずしも異なるハードウェアユニットによって実装されるとは限らない。実際には、前述したように、様々なユニットは、適切なソフトウェアおよび/またはファームウェアと組み合わせてコーデック・ハードウェア・ユニットへと組み合わされてもよく、あるいは、相互運用可能なハードウェアユニット(前述した1つ以上のプロセッサを含む)によってもたらされてもよい。
【0260】
前述の実施形態において、各実施形態の説明はそれぞれの焦点を有する。実施形態で詳細に説明されない部分については、他の実施形態の関連説明を参照されたい。
【0261】
上記の説明は、単に本出願の具体的な実施の例にすぎず、本出願の保護範囲を限定することを意図するものではない。本出願で開示された技術的範囲内で当業者によって容易に考え出されるいかなる変形または置換も、本出願の保護範囲内に入るべきである。したがって、本出願の保護範囲は、特許請求の範囲の保護範囲に従うべきである。
【符号の説明】
【0262】
10 映像符号化および復号システム
12 送信元デバイス
13 リンク
14 宛先デバイス
16 画像ソース
17 生画像データ
18 画像プリプロセッサ
19 前処理された画像データ
20 符号器
21 符号化された画像データ
22 通信インターフェース
28 通信インターフェース
30 復号器
31 復号された画像データ
32 画像ポストプロセッサ
33 後処理された画像データ
34 ディスプレイデバイス
40 映像コード化システム
41 撮像デバイス
42 アンテナ
43 プロセッサ
44 メモリ
45 ディスプレイデバイス
46 処理ユニット
47 論理回路
201 画像
202 入力
203 画像ブロック
204 残差計算ユニット
205 残差ブロック
206 変換処理ユニット
207 変換係数
208 量子化ユニット
209 量子化変換係数
210 逆量子化ユニット
211 逆量子化係数
212 逆変換処理ユニット
213 再構成された残差ブロック(逆変換ブロック)
214 再構成ユニット
215 再構成ブロック
216 バッファ
220 ループ・フィルタ・ユニット
221 フィルタリングされたブロック
230 復号画像バッファ(DPB)
231 復号された画像
244 インター予測ユニット
245 インター予測ブロック
254 イントラ予測ユニット
255 イントラ予測ブロック
260 予測処理ユニット
262 モード選択ユニット
265 予測ブロック
270 エントロピー符号化ユニット
272 出力
304 エントロピー復号ユニット
309 量子化係数
310 逆量子化ユニット
311 逆量子化係数
312 逆変換処理ユニット
313 再構成された残差ブロック
314 再構成ユニット
315 再構成ブロック
316 バッファ
317 参照サンプル
320 ループ・フィルタ・ユニット
321 フィルタリングされたブロック
330 復号画像バッファ(DPB)
331 復号画像
332 出力
344 インター予測ユニット
354 イントラ予測ユニット
360 予測処理ユニット
362 モード選択ユニット
365 予測ブロック
400 映像コード化デバイス
410 入口ポート
420 受信ユニット
430 プロセッサ
440 送信ユニット
450 出口ポート
460 メモリ
470 符号化/復号モジュール
500 装置(コード化デバイス)
510 プロセッサ
530 メモリ
531 データ
533 オペレーティングシステム
535 アプリケーションプログラム
550 バスシステム
570 ディスプレイ
600 プロセス
800 プロセス
900 プロセス
1000 イントラ予測装置
1001 取得モジュール
1002 判定モジュール
1003 処理モジュール
2820 処理ユニット
図1A
図1B
図2
図3
図4
図5
図6
図7A
図7B
図8
図9
図10