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

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

▶ インターデジタル ヴイシー ホールディングス, インコーポレイテッドの特許一覧

特許7507279ビデオ符号化および復号における適応的照度補償のための方法および装置
<>
  • 特許-ビデオ符号化および復号における適応的照度補償のための方法および装置 図1
  • 特許-ビデオ符号化および復号における適応的照度補償のための方法および装置 図2A
  • 特許-ビデオ符号化および復号における適応的照度補償のための方法および装置 図2B
  • 特許-ビデオ符号化および復号における適応的照度補償のための方法および装置 図3
  • 特許-ビデオ符号化および復号における適応的照度補償のための方法および装置 図4
  • 特許-ビデオ符号化および復号における適応的照度補償のための方法および装置 図5
  • 特許-ビデオ符号化および復号における適応的照度補償のための方法および装置 図6
  • 特許-ビデオ符号化および復号における適応的照度補償のための方法および装置 図7
  • 特許-ビデオ符号化および復号における適応的照度補償のための方法および装置 図8
  • 特許-ビデオ符号化および復号における適応的照度補償のための方法および装置 図9
  • 特許-ビデオ符号化および復号における適応的照度補償のための方法および装置 図10
  • 特許-ビデオ符号化および復号における適応的照度補償のための方法および装置 図11
  • 特許-ビデオ符号化および復号における適応的照度補償のための方法および装置 図12
  • 特許-ビデオ符号化および復号における適応的照度補償のための方法および装置 図13
  • 特許-ビデオ符号化および復号における適応的照度補償のための方法および装置 図14
  • 特許-ビデオ符号化および復号における適応的照度補償のための方法および装置 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-19
(45)【発行日】2024-06-27
(54)【発明の名称】ビデオ符号化および復号における適応的照度補償のための方法および装置
(51)【国際特許分類】
   H04N 19/105 20140101AFI20240620BHJP
   H04N 19/136 20140101ALI20240620BHJP
   H04N 19/176 20140101ALI20240620BHJP
   H04N 19/513 20140101ALI20240620BHJP
【FI】
H04N19/105
H04N19/136
H04N19/176
H04N19/513
【請求項の数】 20
【外国語出願】
(21)【出願番号】P 2023042042
(22)【出願日】2023-03-16
(62)【分割の表示】P 2020519390の分割
【原出願日】2018-10-04
(65)【公開番号】P2023082025
(43)【公開日】2023-06-13
【審査請求日】2023-04-05
(31)【優先権主張番号】17306333.0
(32)【優先日】2017-10-05
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】17306613.5
(32)【優先日】2017-11-21
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】518338149
【氏名又は名称】インターデジタル ヴイシー ホールディングス, インコーポレイテッド
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【弁理士】
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】ギャルピン,フランク
(72)【発明者】
【氏名】ラケイプ,ファビアン
(72)【発明者】
【氏名】ボルデ,フィリップ
【審査官】岩井 健二
(56)【参考文献】
【文献】特表2009-532931(JP,A)
【文献】国際公開第2016/204360(WO,A1)
【文献】米国特許出願公開第2016/0366415(US,A1)
【文献】Jianle Chen et al.,Algorithm Description of Joint Exploration Test Model 7 (JEM 7),Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-G1001-v1,7th Meeting: Torino, IT,2017年08月,p.17
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
ビデオデータを復号するための方法であって、
ピクチャ内のブロックが複数の隣接する再構築されたブロックの隣接する再構築されたブロックから動き情報を導出すると判定することと、
前記判定することに応じて、前記隣接する再構築されたブロックからサンプルのセットを選択することと、
参照ピクチャから、前記サンプルのセットに対応する別のサンプルのセットを選択することと、
前記選択されたサンプルのセットおよび前記選択された別のサンプルのセットに基づいて、前記ブロックに対する1つ以上の照度補償パラメータを判定することと、
前記ブロックに対する照度補償された予測ブロックを形成するために、前記判定された1つ以上の照度補償パラメータに基づいて、前記ブロックに対する予測ブロックに照度補償を適用することと、
前記照度補償された予測ブロックを使用して、前記ブロックを復号することと、を含む、方法。
【請求項2】
ビデオデータを符号化するための方法であって、
ピクチャ内のブロックが複数の隣接する再構築されたブロックの隣接する再構築されたブロックから動き情報を導出すると判定することと、
前記判定することに応じて、前記隣接する再構築されたブロックからサンプルのセットを選択することと、
参照ピクチャから、前記サンプルのセットに対応する別のサンプルのセットを選択することと、
前記選択されたサンプルのセットおよび前記選択された別のサンプルのセットに基づいて、前記ブロックに対する1つ以上の照度補償パラメータを判定することと、
前記ブロックに対する照度補償された予測ブロックを形成するために、前記判定された1つ以上の照度補償パラメータに基づいて、前記ブロックに対する予測ブロックに照度補償を適用することと、
前記照度補償された予測ブロックを使用して、前記ブロックを符号化することと、を含む、方法。
【請求項3】
前記ブロックが前記複数の隣接する再構築されたブロックの上部の隣接する再構築されたブロックから前記動き情報を導出することに応じて、前記ブロックの上の隣接するサンプルのみが選択されて前記サンプルのセット内に含まれる、請求項1または2に記載の方法。
【請求項4】
テンプレート領域の上部全体が選択されて前記サンプルのセット内に含まれる、請求項3に記載の方法。
【請求項5】
前記ブロックが前記複数の隣接する再構築されたブロックの左側の隣接する再構築されたブロックから前記動き情報を導出することに応じて、前記ブロックの左側の隣接するサンプルのみが選択されて前記サンプルのセット内に含まれる、請求項1または2に記載の方法。
【請求項6】
テンプレート領域の左部分全体が選択されて前記サンプルのセット内に含まれる、請求項5に記載の方法。
【請求項7】
前記隣接する再構築されたブロックからのサンプルのみが選択されて前記サンプルのセット内に含まれる、請求項1または2に記載の方法。
【請求項8】
前記複数の隣接する再構築されたブロックの動き情報を含む動き候補のリストを取得することをさらに含み、インデックスが、前記ブロックが前記隣接する再構築されたブロックから動き情報を導出することを示す、請求項1または2に記載の方法。
【請求項9】
ビデオデータを復号するための装置であって、
1つ以上のプロセッサを備え、前記1つ以上のプロセッサが、
ピクチャ内のブロックが複数の隣接する再構築されたブロックの隣接する再構築されたブロックから動き情報を導出すると判定することと、
前記判定することに応じて、前記隣接する再構築されたブロックからサンプルのセットを選択することと、
参照ピクチャから、前記サンプルのセットに対応する別のサンプルのセットを選択することと、
前記選択されたサンプルのセットおよび前記選択された別のサンプルのセットに基づいて、前記ブロックに対する1つ以上の照度補償パラメータを判定することと、
前記ブロックに対する照度補償された予測ブロックを形成するために、前記判定された1つ以上の照度補償パラメータに基づいて、前記ブロックに対する予測ブロックに照度補償を適用することと、
前記照度補償された予測ブロックを使用して、前記ブロックを復号することと、を行うように構成される、装置。
【請求項10】
ビデオデータを符号化するための装置であって、
1つ以上のプロセッサを備え、前記1つ以上のプロセッサが、
ピクチャ内のブロックが複数の隣接する再構築されたブロックの隣接する再構築されたブロックから動き情報を導出すると判定することと、
前記判定することに応じて、前記隣接する再構築されたブロックからサンプルのセットを選択することと、
参照ピクチャから、前記サンプルのセットに対応する別のサンプルのセットを選択することと、
前記選択されたサンプルのセットおよび前記選択された別のサンプルのセットに基づいて、前記ブロックに対する1つ以上の照度補償パラメータを判定することと、
前記ブロックに対する照度補償された予測ブロックを形成するために、前記判定された1つ以上の照度補償パラメータに基づいて、前記ブロックに対する予測ブロックに照度補償を適用することと、
前記照度補償された予測ブロックを使用して、前記ブロックを符号化することと、を行うように構成される、装置。
【請求項11】
前記ブロックが前記複数の隣接する再構築されたブロックの上部の隣接する再構築されたブロックから前記動き情報を導出することに応じて、前記ブロックの上の隣接するサンプルのみが選択されて前記サンプルのセット内に含まれる、請求項9または10に記載の装置。
【請求項12】
テンプレート領域の上部全体が選択されて前記サンプルのセット内に含まれる、請求項11に記載の装置。
【請求項13】
前記ブロックが前記複数の隣接する再構築されたブロックの左側の隣接する再構築されたブロックから前記動き情報を導出することに応じて、前記ブロックの左側の隣接するサンプルのみが選択されて前記サンプルのセット内に含まれる、請求項9または10に記載の装置。
【請求項14】
テンプレート領域の左部分全体が選択されて前記サンプルのセット内に含まれる、請求項13に記載の装置。
【請求項15】
前記隣接する再構築されたブロックからのサンプルのみが選択されて前記サンプルのセット内に含まれる、請求項9または10に記載の装置。
【請求項16】
前記1つ以上のプロセッサが、前記複数の隣接する再構築されたブロックの動き情報を含む動き候補のリストを取得するようにさらに構成され、インデックスが、前記ブロックが前記隣接する再構築されたブロックから動き情報を導出することを示す、請求項9または10に記載の装置。
【請求項17】
コンピュータ実行可能命令が記憶された非一時的コンピュータ可読媒体であって、前記コンピュータ実行可能命令が、実行された場合に復号方法を実施し、前記復号方法が、
ピクチャ内のブロックが複数の隣接する再構築されたブロックの隣接する再構築されたブロックから動き情報を導出すると判定することと、
前記判定することに応じて、前記隣接する再構築されたブロックからサンプルのセットを選択することと、
参照ピクチャから、前記サンプルのセットに対応する別のサンプルのセットを選択することと、
前記選択されたサンプルのセットおよび前記選択された別のサンプルのセットに基づいて、前記ブロックに対する1つ以上の照度補償パラメータを判定することと、
前記ブロックに対する照度補償された予測ブロックを形成するために、前記判定された1つ以上の照度補償パラメータに基づいて、前記ブロックに対する予測ブロックに照度補償を適用することと、
前記照度補償された予測ブロックを使用して、前記ブロックを復号することと、を含む、非一時的コンピュータ可読媒体。
【請求項18】
コンピュータ実行可能命令が記憶された非一時的コンピュータ可読媒体であって、前記コンピュータ実行可能命令が、実行された場合に符号化方法を実施し、前記符号化方法が、
ピクチャ内のブロックが複数の隣接する再構築されたブロックの隣接する再構築されたブロックから動き情報を導出すると判定することと、
前記判定することに応じて、前記隣接する再構築されたブロックからサンプルのセットを選択することと、
参照ピクチャから、前記サンプルのセットに対応する別のサンプルのセットを選択することと、
前記選択されたサンプルのセットおよび前記選択された別のサンプルのセットに基づいて、前記ブロックに対する1つ以上の照度補償パラメータを判定することと、
前記ブロックに対する照度補償された予測ブロックを形成するために、前記判定された1つ以上の照度補償パラメータに基づいて、前記ブロックに対する予測ブロックに照度補償を適用することと、
前記照度補償された予測ブロックを使用して、前記ブロックを符号化することと、を含む、非一時的コンピュータ可読媒体。
【請求項19】
前記ブロックが前記複数の隣接する再構築されたブロックの上部の隣接する再構築されたブロックから前記動き情報を導出することに応じて、前記ブロックの上の隣接するサンプルのみが選択されて前記サンプルのセット内に含まれる、請求項17または18に記載の媒体。
【請求項20】
前記隣接する再構築されたブロックからのサンプルのみが選択されて前記サンプルのセット内に含まれる、請求項17または18に記載の媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態のうちの少なくとも1つは、概して、ビデオ符号化または復号のための方法または装置に関し、より具体的には、ビデオ符号化または復号において照度補償パラメータを判定するための方法または装置に関する。
【背景技術】
【0002】
高い圧縮効率を達成するために、画像およびビデオのコード化スキームは、通常、予測および変換を用いて、ビデオコンテンツの空間的および時間的冗長性を活用する。一般に、イントラまたはインター予測は、イントラまたはインターフレーム相関を活用するために使用され、次いで、元のブロックと予測されたブロックとの間の差、多くの場合予測誤差または予測残差と称される差が、変換され、量子化され、エントロピー符号化される。ビデオを再構築するために、圧縮データは、エントロピー符号化、量子化、変換、および予測に対応する逆プロセスによって復号される。
【発明の概要】
【0003】
少なくとも1つの実施形態の一般的な態様によれば、ビデオデータを符号化するための方法が提示され、ピクチャ内で符号化されている現在のブロックに対して、複数の隣接する再構築されたブロックを再構築するために使用される情報に基づいて、上記現在のブロックの複数の隣接する再構築されたブロックから1つ以上の隣接するサンプルを選択することと、上記選択された1つ以上の隣接するサンプルに基づいて、上記現在のブロックに対する1つ以上の照度補償パラメータを判定することと、上記判定された1つ以上の照度補償パラメータに基づいて、上記現在のブロックに対する予測ブロックを調整することと、上記調整された予測ブロックを使用して、上記現在のブロックを符号化することと、を含む。
【0004】
少なくとも1つの実施形態の別の一般的な態様によれば、ビデオデータを復号するための方法が提示され、ピクチャ内で復号されている現在のブロックに対して、複数の隣接する再構築されたブロックを再構築するために使用される情報に基づいて、上記現在のブロックの複数の隣接する再構築されたブロックから1つ以上の隣接するサンプルを選択することと、上記選択された1つ以上の隣接するサンプルに基づいて、1つ以上の照度補償パラメータを判定することと、上記判定された1つ以上の照度補償パラメータに基づいて、上記現在のブロックに対する予測ブロックを調整することと、上記調整された予測ブロックに基づいて、上記現在のブロックを復号することと、を含む。
【0005】
少なくとも1つの実施形態の別の一般的な態様によれば、ビデオデータを符号化するための装置が提示され、ピクチャ内で符号化されている現在のブロックに対して、複数の隣接する再構築されたブロックを再構築するために使用される情報に基づいて、上記現在のブロックの複数の隣接する再構築されたブロックから1つ以上の隣接するサンプルを選択するための手段と、上記選択された1つ以上の隣接するサンプルに基づいて、上記現在のブロックに対する1つ以上の照度補償パラメータを判定するための手段と、上記判定された1つ以上の照度補償パラメータに基づいて、上記現在のブロックに対する予測ブロックを調整するための手段と、上記調整された予測ブロックを使用して、上記現在のブロックを符号化するための手段と、を備える。
【0006】
少なくとも1つの実施形態の別の一般的な態様によれば、ビデオデータを復号するための装置が提示され、ピクチャ内で復号されている現在のブロックに対して、複数の隣接する再構築されたブロックを再構築するために使用される情報に基づいて、上記現在のブロックの複数の隣接する再構築されたブロックから1つ以上の隣接するサンプルを選択するための手段と、上記選択された1つ以上の隣接するサンプルに基づいて、1つ以上の照度補償パラメータを判定するための手段と、上記判定された1つ以上の照度補償パラメータに基づいて、上記現在のブロックに対する予測ブロックを調整するための手段と、上記調整された予測ブロックに基づいて、上記現在のブロックを復号するための手段と、を備える。
【0007】
少なくとも1つの実施形態の別の一般的な態様によれば、ビデオデータを符号化するための装置が提示され、少なくともメモリおよび1つ以上のプロセッサを備え、上記1つ以上のプロセッサが、ピクチャ内で符号化されている現在のブロックに対して、複数の隣接する再構築されたブロックを再構築するために使用される情報に基づいて、上記現在のブロックの複数の隣接する再構築されたブロックから1つ以上の隣接するサンプルを選択することと、上記選択された1つ以上の隣接するサンプルに基づいて、上記現在のブロックに対する1つ以上の照度補償パラメータを判定することと、上記判定された1つ以上の照度補償パラメータに基づいて、上記現在のブロックに対する予測ブロックを調整することと、上記調整された予測ブロックを使用して、上記現在のブロックを符号化することと、を行うように構成される。
【0008】
少なくとも1つの実施形態の別の一般的な態様によれば、ビデオデータを復号するための装置が提供され、少なくともメモリおよび1つ以上のプロセッサを備え、上記1つ以上のプロセッサが、ピクチャ内で復号されている現在のブロックに対して、複数の隣接する再構築されたブロックを再構築するために使用される情報に基づいて、上記現在のブロックの複数の隣接する再構築されたブロックから1つ以上の隣接するサンプルを選択することと、上記選択された1つ以上の隣接するサンプルに基づいて、1つ以上の照度補償パラメータを判定することと、上記判定された1つ以上の照度補償パラメータに基づいて、上記現在のブロックに対する予測ブロックを調整することと、上記調整された予測ブロックに基づいて、上記現在のブロックを復号することと、を行うように構成される。
【0009】
少なくとも1つの実施形態の別の一般的な態様によれば、上記複数の隣接する再構築されたブロックを再構築するために使用される上記情報は、上記現在のブロックを再構築するためにも使用される。上記1つ以上の照度補償パラメータを判定するために、上記現在のブロックの参照ピクチャ内の対応する隣接するサンプルがさらに使用される。一例では、上記複数の隣接する再構築されたブロックを再構築するために使用される上記情報は、1)上記複数の隣接する再構築されたブロックの参照ピクチャ情報と、2)上記複数の隣接する再構築されたブロックの動きベクトル情報と、のうちの1つ以上を含む。
【0010】
少なくとも1つの実施形態の別の一般的な態様によれば、装置または方法によって選択することは、上記複数の隣接する再構築されたブロックの特定のブロックに対して、上記特定のブロックが、上記現在のブロックと同じ参照ピクチャを共有するかどうかを判定することをさらに含み、上記特定のブロックは、上記判定することに基づいて選択される。
【0011】
少なくとも1つの実施形態の別の一般的な態様によれば、装置または方法によって選択することは、上記複数の隣接する再構築されたブロックの特定のブロックに対して、上記特定のブロックの動きベクトル値と上記現在のブロックの動きベクトル値との間の差が、閾値未満であるかどうかを判定することをさらに含み、上記特定のブロックは、上記判定することに基づいて選択される。上記特定のブロックの上記動きベクトル値は、上記差が判定される前にスケーリングされてもよい。
【0012】
少なくとも1つの実施形態の別の一般的な態様によれば、装置または方法によって選択することは、上記複数の隣接する再構築されたブロックの特定のブロックに対して、上記現在のブロックが、上記特定のブロックを符号化または復号するために使用される上記情報を継承するかどうかを判定することをさらに含み、上記特定のブロックは、上記判定することに基づいて選択される。
【0013】
少なくとも1つの実施形態の別の一般的な態様によれば、上記現在のブロックが、上記複数の隣接する再構築されたブロックの上部の隣接する再構築されたブロックから符号化または復号情報を継承または導出する場合、上記現在のブロックの上の隣接するサンプルのみが、上記1つ以上の照度補償パラメータを判定するために使用されるか、または上記現在のブロックが、上記複数の隣接する再構築されたブロックの左側の隣接する再構築されたブロックから符号化または復号情報を継承または導出する場合、上記現在のブロックの左側の隣接するサンプルのみが、上記1つ以上の照度補償パラメータを判定するために使用される。
【0014】
少なくとも1つの実施形態の別の一般的な態様によれば、上記現在のブロックを符号化または復号するための上記1つ以上の照度補償パラメータの使用を示す照度補償フラグは、上記複数の隣接する再構築されたブロックの1つ以上の対応する照度補償フラグから予測される。
【0015】
少なくとも1つの実施形態の別の一般的な態様によれば、上記現在のブロックは、マージモード、高度な動きベクトル予測(AMVP)モード、またはフレームレートアップ変換(FRUC)モードを使用して、インター符号化または復号される。また、上記現在のブロックは、イントラ符号化または復号され得る。
【0016】
少なくとも1つの実施形態の別の一般的な態様によれば、ビットストリームは、照度補償が、ピクチャ内の現在のブロックに対して使用されていることを示す、信号と、上記現在のブロックに対する符号化された予測残差と、を含むようにフォーマットされ、上記現在のブロックに対する予測ブロックが、1つ以上の照度補償パラメータに基づいて調整され、上記予測残差が、上記現在のブロックおよび上記調整された予測残差ブロックに基づいて形成され、上記現在のブロックの複数の隣接する再構築されたブロックからの1つ以上の隣接するサンプルが、上記複数の隣接する再構築されたブロックを再構築するために使用される情報に基づいて選択され、上記1つ以上の照度補償パラメータが、上記選択された1つ以上の隣接するサンプルに基づいて、上記現在のブロックに対して判定される。
【0017】
また、本実施形態のうちの1つ以上は、上述の方法のいずれかに従ってビデオデータを符号化または復号するための命令が保存されたコンピュータ可読記憶媒体を提供する。また、本実施形態は、上述の方法に従って生成されたビットストリームが保存されたコンピュータ可読記憶媒体を提供する。また、本実施形態は、上述の方法に従って生成されたビットストリームを送信するための方法および装置を提供する。また、本実施形態は、説明された方法のいずれかを実行するための命令を含むコンピュータプログラム製品を提供する。
【図面の簡単な説明】
【0018】
図1】ビデオエンコーダの一実施形態のブロック図を図示する。
図2A】5つの空間的候補の位置を描いた図解例である。
図2B】AMVPを使用した動きベクトル表現を描いた図解例である。
図3】ビデオデコーダの一実施形態のブロック図を図示する。
図4】現在のブロックの動き情報を導出するためのFRUCの使用を図示する。
図5】動き導出を行うための例示的なプロセスを図示する。
図6】L字型テンプレートを使用した照度補償(IC)パラメータの導出を概念的に図示する。
図7】オブジェクトに関する、L字型テンプレートおよび現在のブロック内の隣接するサンプルの2つの例を図示する。
図8】少なくとも1つの実施形態の一般的な態様による、ICパラメータを計算するための再構築された隣接するサンプルを選択する例示的なプロセスを示す。
図9】(a)及び(b)は、少なくとも1つの実施形態の一般的な態様による、ICパラメータ計算のための複数のサンプルの選択の2つの例を示す。
図10】少なくとも1つの実施形態の一般的な態様による、ICパラメータ計算のために隣接するサンプルを選択するための例示的なプロセスを示す。
図11】マージモードでの動きベクトルの例示的な導出を図示する。
図12】少なくとも1つの実施形態の一般的な態様による、ICパラメータ計算のための隣接するサンプルを選択するために、マージモード情報を使用するための例示的なプロセスを示す。
図13】(a)、(b)および(c)は、動きベクトルのスケーリングの図解例を図示する。
図14】少なくとも1つの実施形態の一般的な態様による、ICフラグを予測する例示的なプロセスを示す。
図15】本実施形態の態様を実装することができるシステムのブロック図を示す
【発明を実施するための形態】
【0019】
図1は、高効率ビデオ符号化(HEVC)エンコーダ等の例示的なビデオエンコーダ100を示す。HEVCは、Joint Collaborative Team on Video Coding(JCT-VC)によって開発された圧縮標準である(例えば、「ITU-T H.265国際電気通信連合電気通信標準化部門(10/2014)、SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS, Infrastructure of audiovisual services - Coding of moving video, High efficiency video coding, Recommendation ITU-T H.265」を参照のこと)。図1は、HEVC規格に改良が加えられたエンコーダ、またはHEVCに類似した技術を採用するエンコーダを示す場合もある。
【0020】
本出願では、「再構築された(reconstructed)」および「復号された(decoded)」という用語は互換的に使用され得、「符号化された(encoded)」または「コード化された(coded)」という用語は互換的に使用され得、「ピクチャ(picture)」および「フレーム(frame)」という用語は互換的に使用され得る。必ずしもではないが、通常は、「再構築された」という用語は、エンコーダ側で使用され、一方で「復号された」は、デコーダ側で使用される。
【0021】
HEVCでは、1つ以上のピクチャを含むビデオシーケンスを符号化するために、ピクチャを1つ以上のスライスに分割し、ここで各スライスは、1つ以上のスライスセグメントを含むことができる。スライスセグメントは、コード化ユニットと、予測ユニットと、変換ユニットと、に編成される。HEVC仕様は、「ブロック」と「ユニット」とを区別し、ここで「ブロック」は、サンプルアレイの特定の領域(例えば、輝度、Y)をアドレス指定し、「ユニット」は、すべての符号化された色成分(Y、Cb、Cr、またはモノクロ)、構文要素、およびブロックに関連付けられている予測データ(例えば、動きベクトル)の配列されたブロックを含む。
【0022】
コード化の場合、ピクチャは、構成可能なサイズを有する正方形のコード化ツリーブロック(CTB)に分割され、一連のコード化ツリーブロックがスライスにグループ化される。コード化ツリーユニット(CTU)は、符号化された色成分のCTBを包含する。CTBは、コード化ブロック(CB)への四分木分割のルートであり、コード化ブロックは1つ以上の予測ブロック(PB)に分割することができ、変換ブロック(TB)への四分木分割のルートを形成する。コード化ブロック、予測ブロック、および変換ブロックに対応して、コード化ユニット(CU)は、予測ユニット(PU)と、変換ユニット(TU)のツリー構造セットと、を含み、PUは、すべての色成分についての予測情報を含み、TUは、各色成分の残差のコード化構文構造を含む。輝度成分のCB、PB、およびTBのサイズは、対応するCU、PU、およびTUに適用される。本出願では、「ブロック(block)」という用語は、例えば、CTU、CU、PU、TU、CB、PB、およびTBのいずれかを指すために使用することができる。加えて、「ブロック」は、H.264/AVCまたは他のビデオコード化規格で指定されているマクロブロックおよびパーティションを指すためにも使用することができ、より一般的には、様々なサイズのデータのアレイを指すために使用することができる。
【0023】
例示的なエンコーダ100において、ピクチャは、以下に説明するように、エンコーダ要素によって符号化される。符号化するピクチャは、CU単位で処理される。各CUは、イントラモードまたはインターモードのいずれかを使用して符号化される。CUがイントラモードで符号化されるとき、イントラ予測を実行する(160)。インターモードにおいて、動き推定(175)および動き補償(170)が行われる。エンコーダは、イントラモードまたはインターモードのどちらをCUの符号化に使用するかを判断し(105)、予測モードフラグによってイントラ/インター判断を示す。予測残差は、元の画像ブロックから予測されたブロックを減算することにより計算される(110)。
【0024】
イントラモードにおけるCUは、同じスライス内の再構築された隣接するサンプルから予測される。HEVCでは、DC、平面、および33角度予測モードを含む35イントラ予測モードのセットが利用可能である。イントラ予測参照は、現在のブロックに隣接する行および列から再構築される。参照は、以前に再構築されたブロックから利用可能なサンプルを使用して、水平および垂直方向にブロックサイズの2倍に拡張される。角度予測モードがイントラ予測に使用される場合、参照サンプルは、角度予測モードによって示される方向に沿ってコピーされ得る。
【0025】
現在のブロックに対して適用可能な輝度イントラ予測モードは、2つの異なるオプションを使用してコード化され得る。適用可能なモードが3つの最確モード(MPM)の構成リストに含まれる場合、モードは、MPMリストのインデックスによって通知される。そうでなければ、モードは、モードインデックスの固定長2値化によって通知される。3つの最確モードは、上部および左側の隣接するブロックのイントラ予測モードから導出される。
【0026】
インターCUの場合、対応するコード化ブロックは、さらに1つ以上の予測ブロックに分割される。インター予測はPBレベルで行われ、対応するPUは、どのようにしてインター予測を行うかに関する情報を包含する。動き情報(例えば、動きベクトルおよび参照ピクチャインデックス)は、2つの方法、即ち、「マージモード」および「高度な動きベクトル予測(AMVP)」で通知され得る。
【0027】
マージモードでは、ビデオエンコーダまたはデコーダは既にコード化されたブロックに基づいて候補リストを組み立て、ビデオエンコーダは、候補リスト内の候補の1つに対するインデックスを通知する。デコーダ側では、通知された候補に基づいて、動きベクトル(MV)および参照ピクチャインデックスが再構築される。
【0028】
マージモードで可能な候補のセットは、空間的隣接候補、時間的候補、および生成された候補で構成される。図2Aは、現在のブロック210についての5つの空間的候補¥{a、b、b、a、b}の位置を示し、ここで、aおよびaは、現在のブロックの左側にあり、b、b、bは、現在のブロックの上部にある。各候補位置について、可用性がa、b、b、a、bの順番に従ってチェックされ、その後、候補における冗長性が除去される。
【0029】
参照ピクチャ内の配列された位置の動きベクトルは、時間的候補の導出に使用することができる。適用可能な参照ピクチャは、スライスベースで選択されてスライスヘッダに示され、時間的候補の参照インデックスが、iref=0に設定される。配列されたPUのピクチャと、配列されたPUが予測される参照ピクチャとの間のPOC距離(td)が、現在のピクチャと、配列されたPUを含む参照ピクチャとの間の距離(tb)と同じである場合、配列された動きベクトルmvcolは、時間的候補として直接使用することができる。そうでなければ、スケール変更された動きベクトルtb/td*mvcolが、時間的候補として使用される。現在のPUが配置されている場所に依存して、配列されたPUは、現在のPUの右下または中心のサンプルの場所によって判定される。
【0030】
AMVPでは、ビデオエンコーダまたはデコーダは、既にコード化されたブロックから判定された動きベクトルに基づいて、候補リストを組み立てる。次いで、ビデオエンコーダは、動きベクトル予測子(MVP)を識別するために候補リスト内のインデックスを通知し、動きベクトル差分(MVD)を通知する。デコーダ側では、動きベクトル(MV)は、MVP+MVDとして再構築される。また、適用可能な参照ピクチャインデックスは、AMVPのPU構文で明示的にコード化される。
【0031】
図2Bは、AMVPを使用する例示的な動きベクトル表現を示す。符号化される現在のブロック240の場合、動きベクトル(MVcurrent)は、動き推定を通して得ることができる。左側のブロック230からの動きベクトル(MVleft)と、上方のブロック220からの動きベクトル(MVabove)と、を使用して、動きベクトル予測子を、MVleftおよびMVaboveからMVPcurrentとして選択することができる。次いで、動きベクトル差分を、MVDcurrent=MVcurrent-MVPcurrentとして計算することができる。
【0032】
動き補償予測は、予測に対し1つまたは2つの参照ピクチャを使用して行うことができる。Pスライスでは、ただ1つの予測参照をインター予測のために使用することができ、予測ブロックの片予測を可能にする。Bスライスでは、2つの参照ピクチャリストが利用可能であり、片予測または双予測を使用することができる。双予測では、参照ピクチャリストの各々から、1つの参照ピクチャが使用される。
【0033】
次いで、予測残差が変換され(125)、量子化される(130)。量子化された変換係数に加えて、動きベクトルおよび他の構文要素は、ビットストリームを出力するためにエントロピー符号化される(145)。また、エンコーダは、変換をスキップし、4x4TUベースで非変換残差信号に直接量子化を適用し得る。また、エンコーダは、変換および量子化の両方をバイパスすることもでき、即ち、残差は、変換または量子化プロセスを適用せずに直接コード化される。直接PCMコード化では、予測は適用されず、コード化ユニットサンプルはビットストリームに直接コード化される。
【0034】
エンコーダは、符号化されたブロックを復号して、さらに予測するための参照を提供する。量子化された変換係数は非量子化され(140)、逆変換され(150)、予測残差を復号する。復号された予測残差と予測されたブロックとを組み合わせて(155)、画像ブロックが再構築される。ループ内フィルタ(165)は、再構築されたピクチャに適用され、例えば、デブロッキング/SAO(サンプル適応オフセット)フィルタリングを行い、符号化アーティファクトを低減する。フィルタリングされた画像は、参照ピクチャバッファ(180)に保存される。
【0035】
図3は、HEVCデコーダ等の例示的なビデオデコーダ300のブロック図を示す。例示的なデコーダ300において、ビットストリームは、以下で説明するように、デコーダ要素によって復号される。ビデオデコーダ300は、一般に、図1で説明されたような符号化パスの逆の復号パスを行い、これは、ビデオデータの符号化の一部として、ビデオ復号を実行する。また、図3は、HEVC規格に改良が加えられたデコーダ、またはHEVCに類似した技術を採用しているデコーダを示し得る。
【0036】
特に、デコーダの入力は、ビデオエンコーダ100によって生成され得るビデオビットストリームを含む。まず、ビットストリームがエントロピー復号され(330)、変換係数、動きベクトル、および他のコード化された情報を取得する。変換係数は、非量子化されて(340)、逆変換され(350)、予測残差を復号する。復号された予測残差と予測されたブロックとを組み合わせて(355)、画像ブロックが再構築される。予測されたブロックは、イントラ予測(360)または動き補償予測(即ち、インター予測)(375)から取得され得る(370)。上記のように、AMVPおよびマージモード技法を使用して、動き補償のための動きベクトルを導出し得、これは、補間フィルタを使用して、参照ブロックのサブ整数サンプルの補間値を計算し得る。ループ内フィルタ(365)は、再構築された画像に適用される。フィルタリングされた画像は、参照ピクチャバッファ(380)に保存される。
【0037】
フレームレートアップ変換(FRUC)モードまたは導出は、フレームレートアップ変換技術に基づいており、Joint Video Exploration Team(JVET)による参照ソフトウェアJEM(Joint Exploration Model)において開発されている。FRUCモードでは、ブロックの動き情報は、デコーダ側で、MVP情報の明示的な構文なしで導出される。FRUCプロセスは、完全に対称的であり、即ち、エンコーダおよびデコーダにおいて同じ動き導出動作が行われる。
【0038】
図4は、現在のブロック410についての動き情報を導出するためのFRUCの使用を図示する。現在のブロックは、「マージ」または「AMVP」モードであり得る。現在のブロックの上部および左側に隣接するブロックが、テンプレートとして使用される。動き情報は、現在のブロックのテンプレート(420、430)と参照ピクチャのブロックのテンプレート(440、450)の間で、最良の一致を特定することによって、最小マッチングコストを有するブロック(460)、例えば、テンプレート間で最小のSAD(絶対差の合計)を有するブロックを特定することによって、導出することができる。また、マッチングコストの計算には、SAD以外の他のコスト指標を使用することができる。特に、動きベクトルは、現在のブロックの配列されたブロックと、最も一致するブロックとの間の変位として得ることができる。
【0039】
図5は、FRUCモードにおいて動きベクトルを選択するための例示的なプロセス500を示す。ステップ510において、MV候補のリストが構築される。ステップ520~540において、MV(540におけるbest_MV)がMV候補のリストから選択され、動き補償された参照ブロックおよび現在のブロックに対するテンプレート(530におけるref0およびrec)間の絶対差の合計(SAD)(530)を最小化する。
【0040】
ビデオ圧縮技術に対する近年の他の付加、例えばAlgorithm Description of Joint Exploration Test Model 6(JEM 6、Document:JVET-F1001-v3)に記載のもの等は、符号化または復号されている現在のブロックと、少なくとも1つの予測ブロックとの間の照度(例えば、輝度)における変動を補償するために、照度補償(IC)パラメータを使用することを含む。特に、L字型テンプレートを使用して、図6に示されるように、インターコード化モードでICパラメータを計算するために、隣接するサンプルを選択する。ICパラメータは、再構築された隣接するサンプル(即ち、現在のブロック603′のL字形cur領域602′内のサンプル)を、reference-iブロック(i=0または1)603′′の隣接するサンプル(L字形ref-i領域602′′のサンプル)と比較することによって推定される。演算の複雑さを軽減するために、ここでは、reference-iブロックは正確には予測ブロックではなく、むしろ、reference-iブロックは、動き補償補間フィルタを使用しない整数バージョンの動きベクトル(即ち、full-pel精度)に基づくことに留意されたい。ICパラメータは、L字型cur602′内のサンプルと、ICパラメータで調整されたL字型ref-i602′′内のサンプルとの間の差を最小化する。
【0041】
即ち、インター予測符号化または復号において、現在のブロック603′は、動き情報(例えば、動きベクトルMVcurおよび、例えば、復号されたピクチャバッファ内の1つの参照ピクチャを識別する参照ピクチャインデックスi)を使用して、動き補償(MC)プロセスを使用して、予測ブロックを構築する。さらに、予測ブロックは、ICパラメータによって調整される。i番目の参照ピクチャ(ref-i)を使用して取得された予測ブロックを所与とすると、ICパラメータは、L字型cur602′内の再構築された隣接するサンプルを、図6に描かれるようなref-iブロック(i=0または1)のL字型ref-i602′′の隣接サンプルと比較することによって推定される。
【0042】
ICパラメータは、L字型cur602′内のサンプルと、ICパラメータで調整されたL字型ref-i602′′のサンプルとの間の平均二乗誤差/差分(MSE)を最小化することによって推定され得る。通常、ICモデルは線形であり、例えば、
IC(y)=ay+b…(1)
であり、ここで、aは勾配パラメータであり、bは切片パラメータである。ICパラメータ(a、b)は、以下に示されるように取得され得る。
【数1】

ここで、xは現在のピクチャ内のL字型テンプレートの再構築されたサンプルであり、yは参照ピクチャ内のL字型テンプレートのサンプルであり、これは、MVcurまたは修正されたMVcur(例えば、低精度のMVcur)による動き補償を介して得ることができる。式(2)において、xおよびyは、図6に示されるように、L字型テンプレート内の同じ場所に位置するサンプルである(例えば、x605′およびy605′′の対を参照)。双予測の場合、ICパラメータ(a、b)および(a、b)は、それぞれL字型ref-0およびL字型ref-1から独立して導出される。ビットストリームにおいて、ICが現在のスライス、ピクチャまたはシーケンスに対して有効にされるとき、例えば、ICフラグ等の指標は、ICがこのブロックに対して有効にされるか否かを示すためにブロックごとに符号化され得る。
【0043】
ICが圧縮効率を向上させ得る1つの理由は、隣接するサンプルに対して最適化されたICパラメータが、引き続き現在のブロックに適し得ることである。このことは、L字型テンプレートの隣接するサンプルが、現在のブロックに対して最も近い利用可能な再構築サンプルであるため、概ね当てはまる。しかしながら、図7の例に示されるように、隣接するサンプルのいくつかが、現在のブロックとは異なるオブジェクトに属する場合、これらの隣接するサンプルは、良好なICパラメータ推定を提供する可能性が低い。図7の左側のピクチャ701において、オブジェクト702は、L字型テンプレートおよび現在のブロックの大きなセクションを包囲する。一方、現在のピクチャ703において、オブジェクト704は、L字型テンプレートのみを包囲し、現在のブロックのいかなるセクションもほとんど含まない。したがって、ピクチャ703に示される現在のブロックの場合、L字型テンプレートのサンプルは、現在のブロックのICパラメータを推定するのにあまり適していない場合がある。
【0044】
本実施形態は、ICパラメータを導出するために使用される隣接するサンプルを適応的に選定するための方法および装置を対象とし、それによって、ICプロセスが現在のブロック予測をより効果的に向上させることができる。特に、ICパラメータを推定するために使用される再構築された隣接するサンプルの選択を変えることにより、ブロックベースのICを改善し、それらが現在のブロックサンプルとより良好に相関し得るようにする手法が提案される。
【0045】
図8は、一実施形態による、ICパラメータを計算するために再構築された隣接するサンプルを選択するための例示的なプロセス800を示す。ステップ810において、現在のブロックについて、動き情報(例えば、MV、参照ピクチャインデックス)が取得され、動き補償(MC)プロセスによって予測情報を構築するために使用される。ステップ820において、ICフラグによって示されるようなICが使用されている場合、ICフラグをチェックして、真であるかまたは偽であるかを確認する。ICフラグが真である場合、隣接する再構築されたサンプルのセットSが選択される(830)。JEM6で使用される固定L字型テンプレートとは異なり、隣接するサンプルのセットSは適応的に変化して、ICプロセスを改善する。例えば、1つの例示的な態様では、隣接するサンプルのセットSの選択は、1つ以上の隣接する再構築されたブロックを再構築するために使用される情報に基づく。隣接するサンプルのセットSを選択するための様々な例示的な実施形態の詳細を以下に説明する。
【0046】
ステップ840において、ICパラメータは、選択された隣接するサンプルのセットSおよび参照ピクチャ内の対応するサンプルを使用して推定される。ここで、参照ピクチャ内の対応するサンプルは、現在のブロックの予測ブロックの隣接するサンプルとして選択され得る。演算を簡略化するために、エンコーダまたはデコーダは、参照ピクチャ内の特定のブロックの周囲の対応するサンプルを選択でき、ここで、特定のブロックは、現在のブロックの動きベクトル(MVcur)によって、より低い精度(例えば、整数full-pelバージョン、またはhalf-pel)で指し示される。参照ピクチャ内の対応するサンプルのセットは、典型的には、現在のブロックのサンプルセットSと同じ形状である。ステップ850において、推定されたICパラメータは、現在のブロックの予測のための照度補償のために使用され、即ち、IC関数に基づいて調整され、例えば、予測ブロック内のサンプルは、式(1)を使用して調整される。ステップ860において、照度補償後の予測ブロックを使用して、現在のブロックを符号化または復号する。
【0047】
方法800は、エンコーダまたはデコーダで使用することができる。ビットストリームを適切に復号するには、エンコーダおよびデコーダで同じICパラメータ推定方法を使用する必要がある。
【0048】
方法800がエンコーダ側で使用されるとき、動き情報は、動き推定プロセスから取得され得る(810)。動き推定は、照度補償を考慮してもよく、またはしなくてもよい。また、動き推定プロセスは、動き情報を出力することに加えて、例えば、ICフラグを真または偽に設定することによって、ICを使用するかどうかを判断し得る。予測ブロックが照度補償された(850)後、予測残差、即ち、現在のブロックと照度補償された予測ブロックとの間の差は、変換係数を形成するために変換および量子化され得る。ICの隣接するサンプルセットSの適応選択を使用すると、予測残差が小さくなり得るため、より少ないビットで符号化され得る。次いで、変換係数、動き情報、およびICフラグを含む情報が、ビットストリームに符号化され得る(860)。代替的には、ICフラグは明示的に符号化されず、デコーダ側で他の復号された情報から推論され得る。
【0049】
方法800がデコーダ側で使用されるとき、動き情報は、例えば、マージモードまたはAMVPを使用して、ビットストリームから復号され得る(810)。また、ICフラグは、ビットストリームから復号することができる(820)。予測ブロックが照度補償された後(850)、現在のブロックを復号する(860)ために、予測ブロックを予測残差に追加することができる。
【0050】
例示的な一実施形態では、現在のブロックは、例えば、動きベクトルおよび参照ピクチャ情報等の動き情報を使用して、インターモードで動き補償プロセスを使用して予測を構築する。この動き情報は、エンコーダまたはデコーダによって保存され、それによって、他のブロックを符号化するかまたは復号するために使用することができる。特に、隣接するブロックの動き情報を使用して、ICパラメータ計算にどの隣接するサンプルを使用するかを導出することができる。
【0051】
図9は、例示的な現在のブロックおよびいくつかの隣接するブロックの動き情報を示す。隣接するブロックは、異なるサイズを有することができることに注意されたい。図9(a)では、現在のJEMで使用されているL字型テンプレートが破線で示されている。この例では、L字型テンプレート901の上部901-1の隣接するサンプルは、隣接するブロックT0、T1、T2に属し、L字型テンプレート901の左側の部分901-2の隣接するサンプルは、ブロックL0、L1、L2に属する。さらに、この例示的な実施形態によれば、現在のブロックと同じ参照ピクチャを共有する、および/または現在のブロックのMV値に近いMV値を有するブロック(例えば、T0、T1、T2、L0、L1およびL2の1つ以上)に属する隣接するサンプルのみが、現在のブロックのICパラメータの導出のために選択される。
【0052】
上記の例では、現在のブロックに直ぐ近接するサンプルを有する隣接するブロックからのサンプルのみを選択することができる。他の実施形態では、他の再構築された隣接するブロックからのサンプルを選択することができる。例えば、図9(b)に示すように、左上、左下、または右上の隣接するブロックをさらに含むように拡張されたL字に対応する異なるL字が破線で示されている。この例では、L字型テンプレート911の上部911-1の隣接するサンプルは、隣接するブロックT0、T1、T2、およびT3に属し、L字型テンプレート911の左側の部分911-2の隣接するサンプルは、ブロックL0、L1、L2、L3およびL4に属する。
【0053】
また、L字型の厚さは、1つ以上のサンプルであることができる。例えば、厚さが2サンプルである場合、L字型の上部は2行のサンプルを有し、L字型の左側の部分は2列のサンプルを有する。さらに、L字型をサブサンプリングしてもよい。例えば、上から2行のうちの1行、または左の2列から1列だけが選択される。このことは、L字型が非常に大きく、1)計算を高速化し、2)ICパラメータの演算を簡略化する場合に有利であるが、これは、ICを導出するためのアルゴリズム(典型的には、最小二乗に基づく)が、サンプル値の二乗和を使用する場合があり、したがって、いくつかの数値を保存するために十分な範囲数が必要であるためである。また、L字型は、左側と上部とで異なる厚さを有してもよく、またはテンプレートがL字型とは異なる形状を取ってもよい。代替的には、選択された隣接する再構築されたブロックからのサンプルは、可能なサブサンプリングを使用して選択され、L字型テンプレートの制約なしにICパラメータ計算に使用され得る。
【0054】
図10は、一実施形態による、ICパラメータ計算のための隣接するサンプルを選択するための例示的なプロセス1000を示す。方法1000は、方法800のステップ830で使用することができる。ステップ1010において、現在のブロックの隣接するブロックのリストが取得される。図9(a)に示されるように、リストは、上部の隣接するブロック(例えば、T0、T1、およびT2)と、左側の隣接するブロック(例えば、L0、L1、およびL2)とを含み得る。ステップ1020において、最初に、複数の隣接するブロックのリストからの隣接するブロック「b」がインターコード化されているかどうかを確認するための判定がなされる。隣接するブロック「b」がインターコード化されている場合、ステップ1030において、ブロック「b」が同じ参照ピクチャを使用するかどうかを確認するための判定がなされる。また、非限定的かつ例示的な一実施形態では、特定の隣接するブロック「b」の動きベクトル値(MVb)と、現在のブロック(MVcur)の動きベクトル値との間の差が閾値より小さいかどうかを確認するための判定がなされる。例えば、差分関数は、L2-norm((MVb-MVcur+(MVb-MVcur)か、または2つの閾値を有するL1-norm(|MVb-MVcur|<THxおよび|MVb-MVcur|<Thy、もしくはMIN(|MVb-MVcur|、|MVb-MVcur|)<TH)とすることができる。ステップ1030での判定が肯定的である場合、次いでステップ1040において、特定のブロック「b」に属するL字型テンプレートの隣接するサンプルが、選択されたサンプルセットSに追加される。次いで、プロセス1000は、隣接するブロック(例えば、T0、T1、T2、L0、L1、およびL2)のすべてがテストされるまで、ステップ1020にループバックする。
【0055】
一例では、隣接するブロックL2、T1、およびT2が現在のブロック902と同じ参照ピクチャを共有し、これらのブロックのMV値が現在のブロックのMV値に近いため、L字型テンプレート領域901において、これらのブロックに属する隣接するサンプルのみが、セットSに対して選択される。図9(a)を再び参照すると、選択されたサンプルSは、L字型テンプレート901において網掛けで示されている。
【0056】
別の例では、隣接するブロックL2、L3、T1、T2およびT3が現在のブロック912と同じ参照フレームを共有し、これらのブロックのMV値が現在のブロックのMV値に近いため、これらのブロックに属する隣接するサンプルのみが、L字型テンプレート領域911において、セットSのために選択される。図9(b)に戻って参照すると、選択されたサンプルは、L字型テンプレート911において網掛けとして示されている。
【0057】
動きベクトル値および参照ピクチャ情報に加えて、他の動き情報をさらに使用して、隣接するサンプルセットSを選択することができる。異なる実施形態では、IC計算のための隣接するサンプルセットSは、現在のブロックが、マージモード等で、隣接するブロックと同じ動きベクトルを継承するように、またはAMVPモードもしくはFRUCモード等で、隣接するブロックおよびMVDの動きベクトルに基づいて動きベクトルを導出するように指示されているかどうかに基づくことができる。
【0058】
図11は、符号化または復号されているブロック902(図9(a)にも示される)等の現在のブロックが、マージモード情報を使用して、隣接するサンプルを選択することができる例示的な実施形態を示す。マージモードでは、動き情報(例えば、動きベクトルおよび/または参照インデックス)等のいくつかの情報は、ビットストリームから復号されないが、以前に復号された隣接するブロックから継承される。例えば、HEVCマージモードでは、デコーダは、隣接するブロック(例えば、T0、T1、T2、L0、L1、およびL2)データおよび以前に復号された同一位置にあるブロック(複数可)(例えば、1101)データの動き情報を含むマージ候補のリストを構築する。また、デコーダは、現在のブロックがどの候補ブロックから動き情報を継承するかを示すマージインデックスを復号する。
【0059】
例示的な一実施形態では、マージインデックスが現在のブロックの上に位置する隣接するブロックを示す場合、サンプルSのセットは、L字型テンプレートの上部全体と等しくなるように選択される。一方、マージインデックスが現在のブロックの左側にあるブロックを示している場合、サンプルSのセットは、L字型の左部分全体と等しくなるように選択される。図11に示す例に戻って参照すると、マージインデックスが隣接するブロックT2を示す場合、L字型の上部が、L字型テンプレート902において網掛けされているように選定される。異なる実施形態では、L字形の上部全体または左側部分を選定する代わりに、マージインデックスによって示される隣接するブロックに属する左側部分の上部の一部を選定することができる。
【0060】
図12は、一実施形態による、ICパラメータ計算のためのセットSを選択するためにマージモード情報を使用する例示的なプロセス1200を示す。方法1200は、方法800のステップ830に使用することができる。ステップ1210において、最初に、コーデック(codec)に対するマージモードの使用を示すマージフラグが存在するかどうかが判定される。マージフラグは、ビットストリームでコード化することができるか、または他の復号された情報から推測することができる。はいの場合、1220で、対応するマージインデックスが取得される。ステップ1230において、図11に関連して上述したように、マージ候補のリストが構築される。ステップ1240において、現在のブロックの選択されたマージ候補ブロックの位置が取得される。ステップ1250および1270において、選択されたマージ候補ブロックが現在のブロックの上にある場合、サンプルSのセットは、L字型テンプレートの上部と等しくなるように選択される。一方、ステップ1260および1280において、マージインデックスが現在のブロックの左側に位置するブロックを示す場合、サンプルSのセットは、L字型の左側部分に等しくなるように選択される。他の場合では、ステップ1290において、サンプルSは、L字型に等しくなるように選択される。
【0061】
いくつかのコード化モードでは、現在の動き情報は、隣接するブロックの動き情報を使用して、例えば、再構築された隣接するブロックの動きベクトルから選択された動きベクトル予測子と、ビットストリームにおいて(例えば、JEMのAMVPモードで)コード化することができるか、または動きベクトル改良によって(例えば、JEMのFRUCモードで)構築することができるMVDとに基づいて復号もしくは符号化される。例えば、AMVPモードでは、隣接するブロックの動き情報を使用して、動き情報候補のAMVPリストが構築され、MV予測子インデックスが符号化または復号される。現在の動きベクトルは、MV予測子インデックスに対応する動きベクトルから導出される(即ち、現在の動きベクトルが予測される)。よって、例示的な実施形態では、MV予測子インデックスが、現在のブロックの上部の隣接するブロックを示す場合、サンプルSのセットは、L字型テンプレートの上部に等しい。一方、MV予測子インデックスが、現在のブロックの左側の隣接するブロックを示す場合、サンプルSのセットは、L字型テンプレートの左側の部分に等しい。
【0062】
加えて、一部のコード化モードでは、動きベクトルはコード化されないが、デコーダ側でFRUC(フレームレートアップ変換)モードを使用して導出される。図5の例に示されるように、FRUCモードでは、MV候補のリストが構築され、デコーダは、最終的に、動き補償された参照L字型テンプレート(ref0)と、現在の再構築されたL字型(rec)との間の差を最小限にするMV(best_MV)を選択する。best_MVは、現在の動き情報を取得するために使用される。一実施形態では、best_MVが現在のブロックの上部の隣接するブロックから生じる場合、セットSはL字型の上部に設定される。best_MVが現在のブロックの左側の隣接するブロックから生じる場合、セットSはL字型の左側部分に設定される。
【0063】
また、前述のように、候補動きベクトルは、例えば、現在のピクチャと現在のPUの参照ピクチャとの間の距離(tb)と、現在のピクチャと空間的候補の参照ピクチャとの間の距離(td)とに従ってスケーリングされ得る。したがって、例示的な一態様では、インターモード(AMVPおよびFRUCを含む)でコード化されるすべての隣接するブロックについて、MV候補は、図13に示すように、現在のブロック参照ピクチャと同じ参照ピクチャで表されるようにスケーリングされる。図13(a)は、例えば、POC=1の隣接するブロックとPOC=2の対応する参照ブロックとの間の参照MVを示す。図13(b)は、POC=0の現在のブロックおよびPOC=2の対応する参照ブロックのMVを示す。図13(c)は、POC=0とPOC=2との間でスケーリングされた参照MVを示す。次に、サンプルSのセットは、スケーリングされたMVが現在のMVに近い隣接するサンプルで構築される。スケーリングされたMVに基づく差分計算は、方法1000のステップ1030で使用することができる。
【0064】
図14は、一実施形態による、隣接するブロックのICフラグ値からICフラグの値を予測するための例示的なプロセス1400を示す。ICフラグ値(図14のIC_flag_pred)の予測は、ICフラグ値のリストの関数であり、リストは前の実施形態と同じ方法で構築される。例えば、ICフラグ値のリストは、L字型に属するサンプルを有する再構築された隣接するブロックのICフラグ値で構築される。例示的な一実施形態では、ICフラグは直接コード化されないが、代わりに残差ICフラグ値(図14のIC_flag_residual)がコード化され、これは、実際のICフラグ値と予測ICフラグ値(図14のIC_flag_pred)との間の差である。別の例示的な態様では、予測ICフラグ値は、現在のブロックと同じ参照を有する、および/または現在のMV値に近いMVを有する隣接するブロックのすべてのICフラグ値の中央値に設定され、ここでMVは、前述のようにスケーリングされ得る。ICフラグ値と同じである可能性が高い値でICフラグを予測することの利点は、IC_flag_residualのエントロピーが非常に小さくなり(ICフラグ自体よりも小さくなる)、その結果、例えば、CABACによる符号化に必要なビットが少なくなることである。
【0065】
図14を再び参照すると、ステップ1410で、最初に隣接するブロックのリストが取得される。ステップ1420において、IC_flag_residualが復号される。次いで、ステップ1430~1450で構成されるループが、隣接するブロックのリスト内の各ブロックに対して行われる。ステップ1430において、特定の隣接するブロックがインターモードでコード化されているかどうかが判定される。はいの場合、1440において、この隣接するブロックが現在のブロックと同じ参照を使用しているかどうか、および/または特定の隣接するブロックの動きベクトル値と、現在のブロックの動きベクトル値との間の差が閾値未満であるかどうかを確認するために、別の判定がなされる。判定がはいである場合、この特定の隣接するブロックのIC_flagはその後、符号化または復号されている現在のブロックに対応するIC_flagの導出に使用されるIC_flag値のリストに追加される。1460において、IC_flag_predは、上記の例示的な関数に従って、IC_flag値のリストの関数として演算され得る。1470において、現在のブロックのIC_flagは、IC_flag_predとIC_flag_residualとの合計に設定される。
【0066】
ICパラメータを判定する様々な方法、例えば、限定はしないが、JEMで使用されるものおよび本実施形態による方法は、OBMC(オーバーラップブロック動き補償)が動き補償に使用されるときに適用され得る。ブロックベースのビデオコード化では、OBMCの手法を使用して、コード化ユニット(CU)の境界でのブロックノイズアーティファクトを低減することができる。
【0067】
OBMCが現在のブロックに適用される場合、現在のブロックの動き情報(例えば、動きベクトルおよび参照ピクチャインデックス)に加えて、利用可能である場合、かつ現在の動き情報と同一でない場合は、隣接するブロックの動き情報もまた、現在のブロックに対する予測ブロックを導出するために使用される。複数の動き情報に基づくこれらの複数の予測ブロックを組み合わせて、現在のブロックの最終予測信号を生成する。隣接するブロックの動き情報に基づく予測ブロックは、Pとして示され、Nは隣接するブロック(例えば、上、下、左、および右ブロック)のインデックスを示し、現在のブロックの動き情報に基づく予測ブロックはPとして示される。ICが使用される場合、ICパラメータは、予測ブロック(P、P)を形成する際にも使用されることに留意されたい。
【0068】
OBMCが有効にされると、現在のCU境界領域(上部および左側)の各サンプルに適用される。上部の境界領域は、現在のブロックの第1のdの上部の行内のサンプルを参照し、左側の境界領域は、現在のブロックの第1のdの左列のサンプルを参照する(dは、例えば輝度については2に等しく、彩度については4に等しい)。
【0069】
境界領域のサンプルごとに、予測P(s)と予測P(s)との加重和を使用して、図16に示すように、最終予測(POBMC(s))を生成することができる。
-sが1つの境界領域に属する場合:POBMC(s)=w(d).P(s)+(1-w(d)).P(s)
-sが2つの境界領域に属する場合:POBMC(s)=(w(d)+w(d)).P(s)+(1-w(d)).PN1(s)+(1-w(d)).PN2(s)
【0070】
現在のCUが複数のサブCUに分割されるサブCUコード化の場合、OBMCが各サブCUに適用され、(図17に示すように)サブCUは右側および下部のOBMC境界領域を有し得る。サブCUコード化モードの例は、各サブCUの動きベクトルがCU内で補間されるAffineモードである。
【0071】
OBMCおよび照度補償(IC)
JEMで実装されるように、隣接するCUが照度補償(IC)を使用する場合、ICパラメータの判定は、上部の隣接するブロックの予測ブロックを計算するときに行われ(ステップ1、図18(a))、また、上部の隣接CUと境界を接するサンプルの現在のブロックのP(s)を計算するために行われる(ステップ2、図18(b))。
【0072】
特に、図18は、上部ブロックがICを使用してその予測Pを(ICパラメータを使用して)演算するのに対し、現在のブロックがICを使用しないで予測Pを構築する場合を図示する。しかし、隣接する上部ブロックがICを使用しているため、Pは、ICを使用する。PおよびPは、同じ動き情報を使用する。
【0073】
現在のブロックも同様にICを使用した場合、現在のブロックのICパラメータ(IC)が判定され、Pの演算に適用される。しかしながら、ICは、OBMCプロセスによるPの演算には使用されない(ICが使用される)。
【0074】
したがって、OBMCがICを使用して隣接するCUを含む場合、ICパラメータの計算は、図19にも示されているように、異なるL字型を使用して(図18のステップ1~2を参照)、同じ動き情報で2回行われ、これは結果として、2つの問題を生じさせる場合がある。
-複雑さ(計算量)は、ICなしのOBMCに比べてかなり大きい可能性がある。
-OBMCの目的は、実際には境界の不連続性を減らすことであったが、ステップ1およびステップ2のICパラメータは異なる可能性があり、これがCU境界において不連続性を引き起こす場合がある。
【0075】
現在のブロックのOBMCの異なるICパラメータを隣接するCUの再構築のために計算されたものとして使用することによって引き起こされるICモードでのOBMCの問題に対処するために、現在のCUを再構築するために演算されたICパラメータを保存して、それらを、図20に図示されるように、後続のCUのOBMCを計算するために再利用することができる。
【0076】
図18の例を考えると、まず上部CUが復号/再構築される。ICを使用するため、ICパラメータが判定され、予測Pに適用される。次いで、ICパラメータが「ICパラメータストレージ」に保存される。その後、現在のCUが復号される。現在の予測は、Pとして構築される。次のOBMCプロセスは、上部境界領域に対して開始され、隣接する上部CUがICを使用しているため、ICパラメータは、「ICパラメータストレージ」から取得され、Pを構築するために使用される。最後に、POBMCは、PとPとの加重和によって構築される。同じOBMCプロセスが、左側の境界領域および左側の隣接CUで行われる。
【0077】
様々な方法が上で説明されており、各方法は、説明された方法を達成するための1つ以上のステップまたは動作を含む。本方法の正しい運用のために特定のステップまたは動作の順序が必要でない限り、特定のステップおよび/または動作の順序および/または使用を、変更するかまたは組み合わせてもよい。
【0078】
本出願では、例えば、ICパラメータの数、またはL字型テンプレートの厚さ(サンプル数の単位で)の様々な数値が使用される。特定の値は例示を目的とし、本実施形態はこれらの特定の値に限定されないことに留意されたい。
【0079】
上記のようなICパラメータ計算のために、隣接する再構築されたサンプルを選択する様々な方法を使用して、図1および図3に示すように、JVETまたはHEVCエンコーダおよびデコーダの動き推定および補償モジュール(170、175、375)を修正することができる。さらに、本実施形態は、JVETまたはHEVCに限定されず、他の標準、推奨、およびそれらの拡張に適用することができる。上述の様々な実施形態は、個別にまたは組み合わせて使用することができる。
【0080】
さらに、異なる実施形態では、ICモデルは、ICパラメータの他の線形または非線形関数を使用し得る。例えば、ICモデルは、切片パラメータなしで勾配パラメータのみを考慮し得る(即ち、IC(y)=a*y)。別の例では、ICモデルは、関数に応じて(例えば、多項式関数の次数に応じて)、3つ以上のパラメータを有し得る。ICパラメータを推定するために、式(2)に示すようなMSEの代わりに、絶対差または他の差分関数を使用することができる。また、本実施形態は、照度補償がイントラコード化のために使用されるときにも適用することができる。
【0081】
図15は、例示的な実施形態の様々な態様が実装され得る例示的なシステム1500のブロック図を示す。システム1500は、以下に説明される様々な構成要素を含むデバイスとして具現化されてもよく、上述のプロセスを実行するように構成される。このようなデバイスの例は、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビ受信機、パーソナルビデオ録画システム、接続された家電製品、およびサーバを含むが、これらに限定されない。システム1500は、図15に示され、かつ当業者には周知であるような通信チャネルを介して、他の同様のシステムに、またディスプレイに通信可能に結合され、上記の例示的なビデオシステムのすべてまたは一部を実装し得る。
【0082】
システム1500の様々な実施形態は、上で考察されるような様々なプロセスを実装するためにシステム1500にロードされた命令を実行するように構成された、少なくとも1つのプロセッサ1510を含む。プロセッサ1510は、当技術分野で周知であるように、埋め込みメモリ、入出力インターフェース、および他の様々な回路を含み得る。システム1500はまた、少なくとも1つのメモリ1520(例えば、揮発性メモリデバイス、不揮発性メモリデバイス)を含み得る。システム1500は、ストレージデバイス1540をさらに含み得、これには、EEPROM、ROM、PROM、RAM、DRAM、SRAM、フラッシュ、磁気ディスクドライブ、および/または光ディスクドライブを含むが、これらに限定されない不揮発性メモリが含まれ得る。ストレージデバイス1540は、非限定的な例として、内部ストレージデバイス、付属のストレージデバイス、および/またはネットワークアクセス可能なストレージデバイスを含み得る。システム1500はまた、データを処理して符号化されたビデオおよび/または復号されたビデオを提供するように構成されたエンコーダ/デコーダモジュール1530を含み得、エンコーダ/デコーダモジュール1530は、それ自体のプロセッサおよびメモリを含み得る。
【0083】
エンコーダ/デコーダモジュール1530は、符号化および/または復号機能を実行するためにデバイスに含まれ得るモジュールを表す。周知であるように、そのようなデバイスは、符号化モジュールおよび復号モジュールの一方または両方を含み得る。さらに、エンコーダ/デコーダモジュール1530は、システム1500の別個の要素として実装されてもよく、または当業者には周知であるようなハードウェアとソフトウェアとの組み合わせとして、1つ以上のプロセッサ1510内に組み込まれてもよい。
【0084】
上述の様々なプロセスを実行するために1つ以上のプロセッサ1510にロードされるプログラムコードは、ストレージデバイス1540に保存され、その後、プロセッサ1510による実行のためにメモリ1520にロードされ得る。例示的な実施形態によれば、プロセッサ(複数可)1510、メモリ1520、ストレージデバイス1540、およびエンコーダ/デコーダモジュール1530の1つ以上は、本明細書で上で考察されたプロセスの実行中に、入力されたビデオ、復号されたビデオ、ビットストリーム、方程式、数式、行列、変数、演算、および演算ロジックを含むが、これらに限定されない様々なアイテムのうちの1つ以上を記憶し得る。
【0085】
また、システム1500は、通信チャネル1560を介して他のデバイスとの通信を可能にする通信インターフェース1550も含み得る。通信インターフェース1550は、通信チャネル1560からデータを送受信するように構成されたトランシーバを含み得るが、これに限定されない。通信インターフェース1550は、モデムまたはネットワークカードを含み得るが、これらに限定されず、通信チャネル1550は、有線および/または無線媒体内部に実装されてもよい。システム1500の様々な構成要素は、内部バス、ワイヤ、およびプリント回路基板を含むが、これらに限定されない様々な好適な接続を使用して、互いに接続または通信可能に結合され得る(図15には図示せず)。
【0086】
例示的な実施形態は、プロセッサ1510によって実装されるコンピュータソフトウェアによって、またはハードウェアによって、またはハードウェアとソフトウェアとの組み合わせによって、行われてもよい。非限定的な例として、例示的な実施形態は、1つ以上の集積回路によって実装され得る。メモリ1520は、技術的環境に適切な任意のタイプであり得、非限定的な例として、光学メモリデバイス、磁気メモリデバイス、半導体ベースのメモリデバイス、固定メモリ、および取り外し可能メモリ等の任意の適切なデータストレージ技術を使用して実装され得る。プロセッサ1510は、技術的環境に適切な任意のタイプであり得、非限定的な例として、マイクロプロセッサ、汎用コンピュータ、専用コンピュータ、およびマルチコアアーキテクチャに基づくプロセッサのうちの1つ以上を包含し得る。
【0087】
本明細書で説明される実装形態は、例えば、方法もしくはプロセス、装置、ソフトウェアプログラム、データストリーム、または信号で実装され得る。考察される機能の実装は、単一の形態の実装形態(例えば、方法としてのみ考察される)の文脈でのみ考察されたとしても、他の形態(例えば、装置またはプログラム)で実装されてもよい。装置は、例えば、適切なハードウェア、ソフトウェア、およびファームウェアで実装され得る。これらの方法は、例えば、例えば、コンピュータ、マイクロプロセッサ、集積回路、またはプログラム可能な論理デバイスを含む、一般に処理デバイスを指す、例えば、プロセッサ等の装置で実装することができる。また、プロセッサは、通信デバイス、例えば、コンピュータ、携帯電話、ポータブル/個人用デジタル補助装置(「PDA」)、およびエンドユーザ間の情報の通信を容易にする他のデバイス等を含む。
【0088】
「一実施形態(one embodiment)」もしくは「一実施形態(an embodiment)」または「一実装形態(an implementation)」もしくは「一実装形態(an implementation)」、ならびにそれらの他の変形への言及は、当該実施形態に関連して説明された特定の特徴、構造、特性等が、少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書の全体にわたって様々な箇所においてみられる、「一実施形態において(in one embodiment)」もしくは「一実施形態において(in an embodiment)」または「一実装形態において(in one implementation)」もしくは「一実装形態において(in an implementation)」という句、ならびに任意の他の変形の出現は、必ずしもすべてが同じ実施形態に言及しているわけではない。
【0089】
さらに、本出願またはその請求項は、様々な情報を「判定すること」に言及し得る。情報を判定することは、例えば、情報を推定すること、情報を計算すること、情報を予測すること、またはメモリから情報を取り出すことのうちの1つ以上を含み得る。
【0090】
さらに、本出願またはその請求項は、様々な情報に「アクセスすること」に言及する場合がある。情報にアクセスすることは、例えば、情報の受信、情報の取得(例えば、メモリから)、情報の保存、情報の移動、情報のコピー、情報の計算、情報の予測、または情報の推定の1つ以上を含み得る。
【0091】
さらに、本出願またはその請求項は、様々な情報を「受信すること」に言及し得る。受信することは、「アクセスすること」と同様に、広義の用語であることが意図されている。情報を受信することは、例えば、情報にアクセスすること、または(例えば、メモリから)情報を取り出すことのうちの1つ以上を含み得る。さらに、「受信すること」は、典型的には、何らかの方法で、例えば、情報の保存、情報の処理、情報の送信、情報の移動、情報のコピー、情報の消去、情報の計算、情報の判定、情報の予測、または情報の推定等の動作中に含まれる。
【0092】
当業者には明らかであるように、実装形態は、例えば、保存または送信され得る情報を搬送するようにフォーマットされた多種多様な信号を生成し得る。情報は、例えば、方法を実行するための命令、または説明された実装形態のうちの1つによって生成されたデータを含み得る。例えば、信号は、説明された実施形態のビットストリームを搬送するようにフォーマットされてもよい。そのような信号は、例えば、電磁波(例えば、スペクトルの無線周波数部分を使用して)として、またはベースバンド信号としてフォーマットされてもよい。フォーマットは、例えば、データストリームを符号化すること、および符号化されたデータストリームで搬送波を変調することを含み得る。信号が搬送する情報は、例えば、アナログまたはデジタル情報であり得る。信号は、周知であるように、多種多様な異なる有線または無線リンクを介して送信され得る。信号は、プロセッサ可読媒体に保存されてもよい。
図1
図2A
図2B
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15