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

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

▶ グーグル インコーポレイテッドの特許一覧

特許7550892暗黙的モデルを伴うインターイントラ予測
<>
  • 特許-暗黙的モデルを伴うインターイントラ予測 図1
  • 特許-暗黙的モデルを伴うインターイントラ予測 図2
  • 特許-暗黙的モデルを伴うインターイントラ予測 図3
  • 特許-暗黙的モデルを伴うインターイントラ予測 図4
  • 特許-暗黙的モデルを伴うインターイントラ予測 図5
  • 特許-暗黙的モデルを伴うインターイントラ予測 図6
  • 特許-暗黙的モデルを伴うインターイントラ予測 図7
  • 特許-暗黙的モデルを伴うインターイントラ予測 図8
  • 特許-暗黙的モデルを伴うインターイントラ予測 図9
  • 特許-暗黙的モデルを伴うインターイントラ予測 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-05
(45)【発行日】2024-09-13
(54)【発明の名称】暗黙的モデルを伴うインターイントラ予測
(51)【国際特許分類】
   H04N 19/105 20140101AFI20240906BHJP
   H04N 19/176 20140101ALI20240906BHJP
   H04N 19/51 20140101ALI20240906BHJP
   H04N 19/593 20140101ALI20240906BHJP
【FI】
H04N19/105
H04N19/176
H04N19/51
H04N19/593
【請求項の数】 15
(21)【出願番号】P 2022580963
(86)(22)【出願日】2020-07-01
(65)【公表番号】
(43)【公表日】2023-07-26
(86)【国際出願番号】 US2020040522
(87)【国際公開番号】W WO2022005472
(87)【国際公開日】2022-01-06
【審査請求日】2023-02-08
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】デバーガ・ムクハージー
(72)【発明者】
【氏名】ユエ・チェン
(72)【発明者】
【氏名】ウルヴァング・ジョシ
(72)【発明者】
【氏名】サラ・パーカー
(72)【発明者】
【氏名】エリオット・カルピロフスキー
(72)【発明者】
【氏名】フイ・ス
【審査官】久保 光宏
(56)【参考文献】
【文献】特表2020-517133(JP,A)
【文献】国際公開第2019/143602(WO,A1)
【文献】Saurav Bandyopadhyay, et al.,"CE10-related: Local illumination compensation simplifications",Document: JVET-M0224-v2, [online],JVET-M0224 (version 2),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2019年01月11日,Pages 1-6,[令和6年1月22日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=5031> and <URL: https://jvet-experts.org/doc_end_user/documents/13_Marrakech/wg11/JVET-M0224-v2.zip>.,(See document file "JVET-M0224-V2.DOCX" in the zip file "JVET-M0224-v2.zip".)
【文献】Fatih Kamisli,"Recursive Prediction for Joint Spatial and Temporal Prediction in Video Coding",IEEE Signal Processing Letters,2014年03月28日,Vol.21, No.6,Pages 732-736,ISSN: 1070-9908, <DOI: 10.1109/LSP.2014.2314215>.
【文献】海野 恭平(外3名),「動画像符号化のためのブロック適応時空間予測器の最適化」,電子情報通信学会技術研究報告,日本,社団法人 電子情報通信学会,2010年07月19日,Vol.110, No.148,第71~76頁,ISSN: 0913-5685.
【文献】Martin Alain, et al.,"Inter-prediction methods based on linear embedding for video compression",Signal Processing: Image Communication,2015年08月01日,Vol.37,Pages 47-57,ISSN: 0923-5965, <DOI: 10.1016/j.image.2015.07.011>.
(58)【調査した分野】(Int.Cl.,DB名)
H04N19/00-19/98
CSDB(日本国特許庁)
学術文献等データベース(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
ビデオフレームのシーケンスから、現在フレームに対応する再構成フレームを生成するステップであって、前記再構成フレームを生成するステップが、インターイントラ予測モデルに従って、前記再構成フレームを生成するステップを含み、前記インターイントラ予測モデルに従って、前記再構成フレームを生成するステップが、
符号化ビットストリームから、前記現在フレームの現在ブロックのためのインター予測動きベクトルのセットを復号するステップと、
定義された空間的配向に従って前記現在ブロックに対して配向された、前記再構成フレームからの空間ブロックコンテキストピクセルを取得するステップと、
参照フレームのセットおよび前記インター予測動きベクトルのセットを使用して、前記現在ブロックのためのインター予測ブロックのセットを生成するステップであって、前記インター予測ブロックのセットを生成するステップが、前記インター予測ブロックのセットからのそれぞれのインター予測ブロックについて、前記定義された空間的配向に従って前記それぞれのインター予測ブロックに対して配向された参照ブロックコンテキストピクセルの対応するセットを生成するステップを含む、ステップと、
前記空間ブロックコンテキストピクセルと前記参照ブロックコンテキストピクセルとの間の誤差の最小化と一致する、インターイントラ予測パラメータのセットを識別するステップであって、前記インターイントラ予測パラメータのセットが、混合パラメータのセットを含み、前記混合パラメータのセットが、第1の混合パラメータを含み、前記インターイントラ予測パラメータのセットを識別するステップが、再帰係数のセットを識別するステップを含む、ステップと、
前記現在ブロックのための予測ブロックを生成するステップであって、前記現在ブロックの現在ピクセルについて、
前記インター予測ブロックのセットからのそれぞれのインター予測ブロックについて、前記インター予測ブロックから、前記現在ピクセルに対応するインター予測ピクセルを識別することによって、インター予測ピクセルのセットを取得するステップであって、
前記インター予測ピクセルのセットが、前記インター予測ブロックのセットからの第1のインター予測ブロックからの第1のインター予測ピクセルを含むようになる、ステップと、
前記インター予測ピクセルのセットと前記インターイントラ予測パラメータのセットとの組合せを使用して、前記現在ピクセルのための予測子を決定するステップであって、前記予測子を決定するステップが、
前記現在ピクセルに対して定義された空間的配向を有する、前記再構成フレームからの利用可能なピクセルコンテキストピクセルのセットを識別するステップと、
前記利用可能なピクセルコンテキストピクセルのセットおよび前記再帰係数のセットのドット積を識別するステップと、
前記ドット積を使用して前記予測子を決定するステップと
を含む、ステップと、
前記予測ブロック中に前記予測子を含めるステップと
を行うことによって、前記現在ブロックのための前記予測ブロックを生成する、ステップと、
前記符号化ビットストリームから、前記現在ブロックのための残差ブロックを復号するステップであって、前記残差ブロックを復号するステップが、前記現在ピクセルに対応する残差ピクセルを復号するステップを含む、ステップと、
前記現在ピクセルについて、前記現在ピクセルとして、前記現在ピクセルのための前記予測子および前記残差ピクセルの和を識別することによって、前記現在ブロックのための再構成ブロックを生成するステップと、
前記再構成フレーム中に前記再構成ブロックを含めるステップと
を含む、ステップと、
前記再構成フレームを出力するステップと
を含む方法。
【請求項2】
前記符号化ビットストリームから、前記インターイントラ予測モデルを識別するインターイントラ予測モデル識別子を復号するステップによって、前記インターイントラ予測モデルを識別するステップを含む、請求項1に記載の方法。
【請求項3】
前記インター予測動きベクトルのセットを復号するステップが、前記インター予測動きベクトルのセットのうちの第1のインター予測動きベクトルを復号するステップを含み、前記第1のインター予測動きベクトルが、前記参照フレームのセットのうちの第1の参照フレームに関連付けられ、
前記インター予測ブロックのセットを生成するステップが、前記第1のインター予測動きベクトルおよび前記第1の参照フレームを使用して、前記第1のインター予測ブロックを生成するステップを含み、前記第1のインター予測ブロックを生成するステップが、前記第1のインター予測ブロックに対して配向された参照ブロックコンテキストピクセルの第1のセットを生成するステップを含み、
前記予測子を決定するステップが、
前記第1のインター予測ピクセルを前記第1の混合パラメータで乗算した積として、第1の値を識別するステップと、
前記予測子として、値のセットの和を識別するステップであって、前記値のセットが前記第1の値および前記ドット積を含む、ステップと
を含む、請求項1に記載の方法。
【請求項4】
前記インターイントラ予測パラメータのセットが、前記空間ブロックコンテキストピクセルと前記参照ブロックコンテキストピクセルの第1のセットとの間の誤差の最小化と一致するように、前記インターイントラ予測パラメータのセットを識別するステップ
を含む、請求項3に記載の方法。
【請求項5】
前記インター予測動きベクトルのセットを復号するステップが、前記インター予測動きベクトルのセットのうちの第2のインター予測動きベクトルを復号するステップを含み、前記参照フレームのセットが、第2の参照フレームを含み、
前記インター予測ブロックのセットを生成するステップが、前記第2のインター予測動きベクトルおよび前記第2の参照フレームを使用して、前記インター予測ブロックのセットのうちの第2のインター予測ブロックを生成するステップを含み、前記第2のインター予測ブロックを生成するステップが、前記第2のインター予測ブロックに対して配向された参照ブロックコンテキストピクセルの第2のセットを生成するステップを含み、
前記インター予測ピクセルのセットを取得するステップが、前記第2のインター予測ブロックから、前記現在ピクセルに対応する第2のインター予測ピクセルを識別するステップであって、前記インター予測ピクセルのセットが、前記第2のインター予測ピクセルを含むようになる、ステップを含み、
前記インターイントラ予測パラメータのセットを識別するステップが、前記インターイントラ予測パラメータのセットが、前記空間ブロックコンテキストピクセル、前記参照ブロックコンテキストピクセルの第1のセット、および前記参照ブロックコンテキストピクセルの第2のセットに関する誤差最小化する最小2乗解と一致するように、前記インターイントラ予測パラメータのセットを識別するステップを含む、請求項3に記載の方法。
【請求項6】
前記予測子を決定するステップが、
前記第2のインター予測ピクセルを、1から前記第1の混合パラメータを減算した差で乗算した積として、第2の値を識別するステップと、
前記値のセット中に前記第2の値を含めるステップと
を含む、請求項5に記載の方法。
【請求項7】
前記インターイントラ予測パラメータのセットを識別するステップが、前記混合パラメータが第2の混合パラメータを含むように、前記混合パラメータのセットを識別するステップを含み、
前記予測子を決定するステップが、
前記第2のインター予測ピクセルを前記第2の混合パラメータで乗算した積として、第2の値を識別するステップと、
前記値のセット中に前記第2の値を含めるステップと
を含む、請求項5に記載の方法。
【請求項8】
前記インターイントラ予測パラメータのセットを識別するステップが、オフセットを識別するステップを含み、
前記予測子を決定するステップが、前記値のセット中に前記オフセットを含めるステップを含む、請求項3、6、または7のいずれか一項に記載の方法。
【請求項9】
フレームのシーケンスから、現在フレームに対応する再構成フレームを生成するステップであって、前記再構成フレームを生成するステップが、
符号化ビットストリームから、前記現在フレームの現在ブロックのためのインター予測動きベクトルを復号するステップと、
定義された空間的配向に従って前記現在ブロックに対して配向された、前記再構成フレームからの空間ブロックコンテキストピクセルを取得するステップと、
参照フレームおよび前記インター予測動きベクトルを使用して、前記現在ブロックのためのインター予測ブロックを生成するステップであって、前記インター予測ブロックを生成するステップが、前記定義された空間的配向に従って前記インター予測ブロックに対して配向された参照ブロックコンテキストピクセルを生成するステップを含む、ステップと、
前記空間ブロックコンテキストピクセルと前記参照ブロックコンテキストピクセルとの間の誤差の最小化と一致する、インターイントラ予測パラメータを取得するステップであって、前記インターイントラ予測パラメータを取得するステップが、再帰係数のセットを識別するステップを含む、ステップと、
前記現在ブロックのための予測ブロックを生成するステップであって、前記現在ブロックの現在ピクセルについて、
前記現在ピクセルに対応する前記インター予測ブロックからのインター予測ピクセルと前記インターイントラ予測パラメータとの組合せを使用して、前記現在ピクセルのための予測子を決定するステップであって、前記予測子を決定するステップが、
前記現在ピクセルに対して定義された空間的配向を有する、前記再構成フレームからの利用可能なピクセルコンテキストピクセルのセットを識別するステップと、
前記利用可能なピクセルコンテキストピクセルのセットおよび前記再帰係数のセットのドット積を識別するステップと、
前記ドット積を使用して前記予測子を決定するステップと
を含む、ステップと、
前記予測ブロック中に前記予測子を含めるステップと
を行うことよって、前記現在ブロックのための前記予測ブロックを生成する、ステップと、
前記符号化ビットストリームから、前記現在ブロックのための残差ブロックを復号するステップであって、前記残差ブロックを復号するステップが、前記現在ピクセルに対応する残差ピクセルを復号するステップを含む、ステップと、
前記現在ピクセルについて、前記現在ピクセルとして、前記現在ピクセルのための前記予測子および前記残差ピクセルの和を識別することによって、前記現在ブロックのための再構成ブロックを生成するステップと、
前記再構成フレーム中に前記再構成ブロックを含めるステップと
を含む、ステップと、
前記再構成フレームを出力するステップと
を含む方法。
【請求項10】
入力ビデオフレームのシーケンスから現在フレームを符号化することによって、符号化フレームを生成するステップであって、前記現在フレームを符号化することが、
前記現在フレームに対応する再構成フレームの一部分を生成するステップと、
前記現在フレームの現在ブロックを識別するステップと、
第1の参照フレームを使用して、前記現在ブロックのための第1のインター予測ブロックを生成するステップであって、前記第1のインター予測ブロックを生成するステップが、
第1のインター予測動きベクトルを識別するステップと、
定義された空間的配向に従って前記第1のインター予測ブロックに対して配向された第1の参照ブロックコンテキストピクセルを生成するステップと
を含む、ステップと、
前記定義された空間的配向に従って前記現在ブロックに対して配向された、前記再構成フレームからの空間ブロックコンテキストピクセルを取得するステップと、
前記空間ブロックコンテキストピクセルと前記第1の参照ブロックコンテキストピクセルとの間の誤差の最小化と一致する、第1のインターイントラ予測パラメータを取得するステップであって、前記第1のインターイントラ予測パラメータを取得するステップが、再帰係数のセットを識別するステップを含む、ステップと、
前記現在ブロックのための予測ブロックを生成するステップであって、前記現在ブロックの現在ピクセルについて、
前記現在ピクセルに対応する前記第1のインター予測ブロックからのインター予測ピクセルと前記第1のインターイントラ予測パラメータとの組合せを使用して、前記現在ピクセルのための予測子を決定するステップであって、前記予測子を決定するステップが、
前記現在ピクセルに対して定義された空間的配向を有する、前記再構成フレームからの利用可能なピクセルコンテキストピクセルのセットを識別するステップと、
前記利用可能なピクセルコンテキストピクセルのセットおよび前記再帰係数のセットのドット積を識別するステップと、
前記ドット積を使用して前記予測子を決定するステップと
を含む、ステップと、
前記予測ブロック中に前記予測子を含めるステップと
を行うことによって、前記現在ブロックのための前記予測ブロックを生成する、ステップと、
前記現在ブロックのための残差ブロックを生成するステップであって、前記残差ブロックを生成するステップが、前記現在ピクセルに対応する残差ピクセルとして、前記予測子と前記現在ピクセルとの間の差を生成するステップを含む、ステップと、
出力ビットストリーム中に、前記残差ブロックおよび前記第1のインター予測動きベクトルを含めるステップと
を含む、ステップと、
前記出力ビットストリームを出力するステップと
を含む方法。
【請求項11】
前記現在フレームを符号化することが、
インターイントラ予測モデルを識別するステップと、
前記出力ビットストリーム中に、前記インターイントラ予測モデルを識別するインターイントラ予測モデル識別子を含めるステップと
を含む、請求項10に記載の方法。
【請求項12】
ビデオフレームのシーケンスから、現在フレームに対応する再構成フレームを生成するステップであって、前記再構成フレームを生成するステップが、インターイントラ予測モデルに従って、前記再構成フレームを生成するステップを含み、前記インターイントラ予測モデルに従って、前記再構成フレームを生成するステップが、
符号化ビットストリームから、前記現在フレームの現在ブロックのためのインター予測動きベクトルのセットを復号するステップであって、前記インター予測動きベクトルのセットが、参照フレームのセットのうちの第1の参照フレームに関連付けられた第1のインター予測動きベクトルと、前記参照フレームのセットのうちの第2の参照フレームに関連付けられた第2のインター予測動きベクトルとを含む、ステップと、
定義された空間的配向に従って前記現在ブロックに対して配向された、前記再構成フレームからの空間ブロックコンテキストピクセルを取得するステップと、
前記参照フレームのセットおよび前記インター予測動きベクトルのセットを使用して、前記現在ブロックのためのインター予測ブロックのセットを生成するステップであって、前記インター予測ブロックのセットを生成するステップが、
前記第1のインター予測動きベクトルおよび前記第1の参照フレームを使用して第1のインター予測ブロックを生成するステップであって、前記第1のインター予測ブロックを生成するステップが、前記定義された空間的配向に従って前記第1のインター予測ブロックに対して配向された参照ブロックコンテキストピクセルの第1のセットを生成するステップを含む、ステップと、
前記第2のインター予測動きベクトルおよび前記第2の参照フレームを使用して第2のインター予測ブロックを生成するステップであって、前記第2のインター予測ブロックを生成するステップが、前記第2のインター予測ブロックに対して配向された参照ブロックコンテキストピクセルの第2のセットを生成するステップを含む、ステップと、
を含む、ステップと、
インターイントラ予測パラメータのセットが、(i)前記空間ブロックコンテキストピクセルと、(ii)前記参照ブロックコンテキストピクセルの第1のセット、前記参照ブロックコンテキストピクセルの第2のセット、および1からなる行列の転置と、(iii)前記行列と前記転置とを乗じた結果の逆行列と、を乗じた結果と一致するように、前記インターイントラ予測パラメータのセットを識別するステップと、
前記現在ブロックのための予測ブロックを生成するステップであって、前記現在ブロックの現在ピクセルについて、
インター予測ピクセルのセットを取得するステップであって、
前記現在ピクセルに対応する前記第1のインター予測ブロックからの第1のインター予測ピクセルを、前記インター予測ピクセルのセットに含めることと、
前記現在ピクセルに対応する前記第2のインター予測ブロックからの第2のインター予測ピクセルを、前記インター予測ピクセルのセットに含めることと、
によってインター予測ピクセルのセットを取得するステップと、
前記インター予測ピクセルのセットと前記インターイントラ予測パラメータのセットとの組合せを使用して、前記現在ピクセルのための予測子を決定するステップと、
前記予測ブロック中に前記予測子を含めるステップと
を行うことによって、前記現在ブロックのための前記予測ブロックを生成する、ステップと、
前記符号化ビットストリームから、前記現在ブロックのための残差ブロックを復号するステップであって、前記残差ブロックを復号するステップが、前記現在ピクセルに対応する残差ピクセルを復号するステップを含む、ステップと、
前記現在ピクセルについて、前記現在ピクセルとして、前記現在ピクセルのための前記予測子および前記残差ピクセルの和を識別することによって、前記現在ブロックのための再構成ブロックを生成するステップと、
前記再構成フレーム中に前記再構成ブロックを含めるステップと
を含む、ステップと、
前記再構成フレームを出力するステップと
を含む方法。
【請求項13】
前記インター予測動きベクトルのセットを復号するステップが、前記インター予測動きベクトルのセットのうちの第2のインター予測動きベクトルを復号するステップを含み、前記参照フレームのセットが、第2の参照フレームを含み、
前記インター予測ブロックのセットを生成するステップが、前記第2のインター予測動きベクトルおよび前記第2の参照フレームを使用して、前記インター予測ブロックのセットのうちの第2のインター予測ブロックを生成するステップを含み、前記第2のインター予測ブロックを生成するステップが、前記第2のインター予測ブロックに対して配向された参照ブロックコンテキストピクセルの第2のセットを生成するステップを含み、
前記インター予測ピクセルのセットを取得するステップが、前記第2のインター予測ブロックから、前記現在ピクセルに対応する第2のインター予測ピクセルを識別するステップであって、前記インター予測ピクセルのセットが、前記第2のインター予測ピクセルを含むようになる、ステップを含み、
前記インターイントラ予測パラメータのセットを識別するステップが、前記インターイントラ予測パラメータのセットが、前記参照ブロックコンテキストピクセルの第1のセットおよび前記参照ブロックコンテキストピクセルの第2のセットによって予測される、前記空間ブロックコンテキストピクセルについての誤差を最小化する最小2乗解と一致するように、前記インターイントラ予測パラメータのセットを識別するステップを含む、請求項3に記載の方法。
【請求項14】
前記インター予測動きベクトルのセットを復号するステップが、前記インター予測動きベクトルのセットのうちの第2のインター予測動きベクトルを復号するステップを含み、前記参照フレームのセットが、第2の参照フレームを含み、
前記インター予測ブロックのセットを生成するステップが、前記第2のインター予測動きベクトルおよび前記第2の参照フレームを使用して、前記インター予測ブロックのセットのうちの第2のインター予測ブロックを生成するステップを含み、前記第2のインター予測ブロックを生成するステップが、前記第2のインター予測ブロックに対して配向された参照ブロックコンテキストピクセルの第2のセットを生成するステップを含み、
前記インター予測ピクセルのセットを取得するステップが、前記第2のインター予測ブロックから、前記現在ピクセルに対応する第2のインター予測ピクセルを識別するステップであって、前記インター予測ピクセルのセットが、前記第2のインター予測ピクセルを含むようになる、ステップを含み、
前記インターイントラ予測パラメータのセットを識別するステップが、前記インターイントラ予測パラメータのセットが、(i)前記空間ブロックコンテキストピクセルと、(ii)前記参照ブロックコンテキストピクセルの第1のセット、前記参照ブロックコンテキストピクセルの第2のセット、および1からなる行列の転置と、(iii)前記行列と前記転置とを乗じた結果の逆行列と、を乗じた結果と一致するように、前記インターイントラ予測パラメータのセットを識別するステップを含む、請求項3に記載の方法。
【請求項15】
請求項1から14のいずれか一項に記載の方法を実行するように構成された装置。
【発明の詳細な説明】
【背景技術】
【0001】
デジタル画像およびビデオは、たとえば、インターネット上で、ビデオ会議を介したリモート営業会議、高精細度ビデオエンターテインメント、ビデオ広告、またはユーザ生成コンテンツの共有のために使用され得る。画像およびビデオデータの転送および処理に関与する大量のデータのために、高性能圧縮が送信および記憶のために有利であり得る。したがって、暗黙的モデル(implicit model)とともにインターイントラ予測(inter-intra prediction)を使用する画像およびビデオコーディングなど、限られた帯域幅を有する通信チャネル上で送信される高解像度画像およびビデオを提供することが有利になる。
【発明の概要】
【課題を解決するための手段】
【0002】
本出願は、画像データ、ビデオストリームデータ、またはその両方を、送信または記憶するために符号化および復号することに関する。本明細書で開示するものは、暗黙的モデル(implicit model)とともにインターイントラ予測(inter-intra prediction)を使用する符号化および復号のためのシステム、方法、および装置の態様である。
【0003】
一態様は、暗黙的モデルとともにインターイントラ予測を使用するビデオコーディングのための方法である。暗黙的モデルとともにインターイントラ予測を使用するビデオコーディングは、ビデオフレームのシーケンスから、現在フレームに対応する再構成フレームを生成するステップを含み得る。再構成フレームを生成するステップは、インターイントラ予測モデルに従って、再構成フレームを生成するステップを含み得る。インターイントラ予測モデルに従って、再構成フレームを生成するステップは、符号化ビットストリームから、現在フレームの現在ブロックのためのインター予測動きベクトルのセットを復号するステップと、定義された空間的配向に従って現在ブロックに対して配向された、再構成フレームからの空間ブロックコンテキストピクセルを取得するステップと、参照フレームのセットおよびインター予測動きベクトルのセットを使用して、現在ブロックのためのインター予測ブロックのセットを生成するステップであって、インター予測ブロックのセットを生成するステップが、インター予測ブロックのセットからのそれぞれのインター予測ブロックについて、定義された空間的配向に従ってそれぞれのインター予測ブロックに対して配向された参照ブロックコンテキストピクセルの対応するセットを生成するステップを含む、ステップとを含み得る。インターイントラ予測モデルに従って、再構成フレームを生成するステップは、空間ブロックコンテキストピクセルと参照ブロックコンテキストピクセルとの間の誤差の最小化と一致する、インターイントラ予測パラメータのセットを識別するステップであって、インターイントラ予測パラメータのセットが、混合パラメータのセットを含み、混合パラメータのセットが、第1の混合パラメータを含む、ステップを含み得る。インターイントラ予測モデルに従って、再構成フレームを生成するステップは、現在ブロックのための予測ブロックを生成するステップであって、現在ブロックのための予測ブロックを生成するステップが、現在ブロックの現在ピクセルについて、インター予測ブロックのセットからのそれぞれのインター予測ブロックについて、インター予測ブロックから、現在ピクセルに対応するインター予測ピクセルを識別することによって、インター予測ピクセルのセットを取得するステップであって、インター予測ピクセルのセットが、インター予測ブロックのセットからの第1のインター予測ブロックからの第1のインター予測ピクセルを含むようになる、ステップと、インター予測ピクセルのセットとインターイントラ予測パラメータのセットとの組合せを使用して、現在ピクセルのための予測子を決定するステップと、予測ブロック中に予測子を含めるステップとを行うことによる、ステップを含み得る。インターイントラ予測モデルに従って、再構成フレームを生成するステップは、符号化ビットストリームから、現在ブロックのための残差ブロックを復号するステップであって、残差ブロックを復号するステップが、現在ピクセルに対応する残差ピクセルを復号するステップを含む、ステップと、現在ピクセルについて、現在ピクセルとして、現在ピクセルのための予測子および残差ピクセルの和を識別することによって、現在ブロックのための再構成ブロックを生成するステップと、再構成フレーム中に再構成ブロックを含めるステップとを含み得る。方法は、再構成フレームを出力するステップを含み得る。
【0004】
別の態様は、暗黙的モデルとともにインターイントラ予測を使用するビデオコーディングのための方法である。暗黙的モデルとともにインターイントラ予測を使用するビデオコーディングは、ビデオフレームのシーケンスから、現在フレームに対応する再構成フレームを生成するステップを含み得る。再構成フレームを生成するステップは、符号化ビットストリームから、現在フレームの現在ブロックのためのインター予測動きベクトルを復号するステップと、定義された空間的配向に従って現在ブロックに対して配向された、再構成フレームからの空間ブロックコンテキストピクセルを取得するステップと、参照フレームおよびインター予測動きベクトルを使用して、現在ブロックのためのインター予測ブロックを生成するステップであって、インター予測ブロックを生成するステップが、定義された空間的配向に従ってインター予測ブロックに対して配向された参照ブロックコンテキストピクセルを生成するステップを含む、ステップと、空間ブロックコンテキストピクセルと参照ブロックコンテキストピクセルとの間の誤差の最小化と一致する、インターイントラ予測パラメータを取得するステップと、現在ブロックのための予測ブロックを生成するステップであって、現在ブロックのための予測ブロックを生成するステップが、現在ブロックの現在ピクセルについて、現在ピクセルに対応するインター予測ブロックからのインター予測ピクセルとインターイントラ予測パラメータとの組合せを使用して、現在ピクセルのための予測子を決定するステップと、予測ブロック中に予測子を含めるステップとを行うことによる、ステップとを含み得る。再構成フレームを生成するステップは、符号化ビットストリームから、現在ブロックのための残差ブロックを復号するステップであって、残差ブロックを復号するステップが、現在ピクセルに対応する残差ピクセルを復号するステップを含む、ステップと、現在ピクセルについて、現在ピクセルとして、現在ピクセルのための予測子および残差ピクセルの和を識別することによって、現在ブロックのための再構成ブロックを生成するステップと、再構成フレーム中に再構成ブロックを含めるステップとを含み得る。方法は、再構成フレームを出力するステップを含み得る。
【0005】
別の態様は、暗黙的モデルとともにインターイントラ予測を使用するビデオコーディングのための方法である。暗黙的モデルとともにインターイントラ予測を使用するビデオコーディングは、入力ビデオフレームのシーケンスから現在フレームを符号化することによって、符号化フレームを生成するステップを含み得る。現在フレームを符号化することは、現在フレームに対応する再構成フレームの一部分を生成するステップと、現在フレームの現在ブロックを識別するステップと、第1の参照フレームを使用して、現在ブロックのための第1のインター予測ブロックを生成するステップとを含み得る。第1のインター予測ブロックを生成するステップは、第1のインター予測動きベクトルを識別するステップと、定義された空間的配向に従って第1のインター予測ブロックに対して配向された第1の参照ブロックコンテキストピクセルを生成するステップとを含み得る。現在フレームを符号化することは、定義された空間的配向に従って現在ブロックに対して配向された、再構成フレームからの空間ブロックコンテキストピクセルを取得するステップと、空間ブロックコンテキストピクセルと第1の参照ブロックコンテキストピクセルとの間の誤差の最小化と一致する、第1のインターイントラ予測パラメータを取得するステップと、現在ブロックのための予測ブロックを生成するステップであって、現在ブロックのための予測ブロックを生成するステップが、現在ブロックの現在ピクセルについて、現在ピクセルに対応する第1のインター予測ブロックからのインター予測ピクセルと第1のインターイントラ予測パラメータとの組合せを使用して、現在ピクセルのための予測子を決定するステップと、予測ブロック中に予測子を含めるステップとを行うことによる、ステップとを含み得る。現在フレームを符号化することは、現在ブロックのための残差ブロックを生成するステップであって、残差ブロックを生成するステップが、現在ピクセルに対応する残差ピクセルとして、予測子と現在ピクセルとの間の差を生成するステップを含む、ステップと、出力ビットストリーム中に、残差ブロックおよび第1のインター予測動きベクトルを含めるステップとを含み得る。方法は、出力ビットストリームを出力するステップを含み得る。
【0006】
別の態様は、暗黙的モデルとともにインターイントラ予測を使用するビデオコーディングのための装置である。装置は、ビデオフレームのシーケンスから、現在フレームに対応する再構成フレームを生成するように構成された、プロセッサを含み得る。プロセッサは、符号化ビットストリームから、現在フレームの現在ブロックのためのインター予測動きベクトルのセットを復号すること、定義された空間的配向に従って現在ブロックに対して配向された、再構成フレームからの空間ブロックコンテキストピクセルを取得すること、ならびに参照フレームのセットおよびインター予測動きベクトルのセットを使用して、現在ブロックのためのインター予測ブロックのセットを生成することであって、インター予測ブロックのセットを生成することが、インター予測ブロックのセットからのそれぞれのインター予測ブロックについて、定義された空間的配向に従ってそれぞれのインター予測ブロックに対して配向された参照ブロックコンテキストピクセルの対応するセットを生成することを含む、ことによって、インターイントラ予測モデルに従って、再構成フレームを生成するように構成され得る。プロセッサは、空間ブロックコンテキストピクセルと参照ブロックコンテキストピクセルとの間の誤差の最小化と一致する、インターイントラ予測パラメータのセットを識別することであって、インターイントラ予測パラメータのセットが、混合パラメータのセットを含み、混合パラメータのセットが、第1の混合パラメータを含む、ことによって、インターイントラ予測モデルに従って、再構成フレームを生成するように構成され得る。プロセッサは、現在ブロックのための予測ブロックを生成することであって、現在ブロックのための予測ブロックを生成することが、現在ブロックの現在ピクセルについて、インター予測ブロックのセットからのそれぞれのインター予測ブロックについて、インター予測ブロックから、現在ピクセルに対応するインター予測ピクセルを識別することによって、インター予測ピクセルのセットを取得することであって、インター予測ピクセルのセットが、インター予測ブロックのセットからの第1のインター予測ブロックからの第1のインター予測ピクセルを含むようになる、こと、インター予測ピクセルのセットとインターイントラ予測パラメータのセットとの組合せを使用して、現在ピクセルのための予測子を決定すること、および予測ブロック中に予測子を含めることによる、ことによって、インターイントラ予測モデルに従って、再構成フレームを生成するように構成され得る。プロセッサは、符号化ビットストリームから、現在ブロックのための残差ブロックを復号することであって、残差ブロックを復号することが、現在ピクセルに対応する残差ピクセルを復号することを含む、こと、現在ピクセルについて、現在ピクセルとして、現在ピクセルのための予測子および残差ピクセルの和を識別することによって、現在ブロックのための再構成ブロックを生成すること、ならびに再構成フレーム中に再構成ブロックを含めることによって、インターイントラ予測モデルに従って、再構成フレームを生成するように構成され得る。プロセッサは、再構成フレームを出力するように構成され得る。
【0007】
別の態様は、暗黙的モデルとともにインターイントラ予測を使用するビデオコーディングのための装置である。装置は、ビデオフレームのシーケンスから、現在フレームに対応する再構成フレームを生成するように構成された、プロセッサを含み得る。プロセッサは、符号化ビットストリームから、現在フレームの現在ブロックのためのインター予測動きベクトルを復号すること、定義された空間的配向に従って現在ブロックに対して配向された、再構成フレームからの空間ブロックコンテキストピクセルを取得すること、参照フレームおよびインター予測動きベクトルを使用して、現在ブロックのためのインター予測ブロックを生成することであって、インター予測ブロックを生成することが、定義された空間的配向に従ってインター予測ブロックに対して配向された参照ブロックコンテキストピクセルを生成することを含む、こと、空間ブロックコンテキストピクセルと参照ブロックコンテキストピクセルとの間の誤差の最小化と一致する、インターイントラ予測パラメータを取得すること、ならびに現在ブロックのための予測ブロックを生成することであって、現在ブロックのための予測ブロックを生成することが、現在ブロックの現在ピクセルについて、現在ピクセルに対応するインター予測ブロックからのインター予測ピクセルとインターイントラ予測パラメータとの組合せを使用して、現在ピクセルのための予測子を決定すること、および予測ブロック中に予測子を含めることによる、ことによって、再構成フレームを生成するように構成され得る。プロセッサは、符号化ビットストリームから、現在ブロックのための残差ブロックを復号することであって、残差ブロックを復号することが、現在ピクセルに対応する残差ピクセルを復号することを含む、こと、現在ピクセルについて、現在ピクセルとして、現在ピクセルのための予測子および残差ピクセルの和を識別することによって、現在ブロックのための再構成ブロックを生成すること、ならびに再構成フレーム中に再構成ブロックを含めることによって、再構成フレームを生成するように構成され得る。プロセッサは、再構成フレームを出力するように構成され得る。
【0008】
別の態様は、暗黙的モデルとともにインターイントラ予測を使用するビデオコーディングのための装置である。装置は、入力ビデオフレームのシーケンスから現在フレームを符号化することによって、符号化フレームを生成するように構成された、プロセッサを含み得る。プロセッサは、現在フレームに対応する再構成フレームの一部分を生成すること、現在フレームの現在ブロックを識別すること、第1の参照フレームを使用して、現在ブロックのための第1のインター予測ブロックを生成することによって、現在フレームを符号化するように構成され得る。プロセッサは、第1のインター予測動きベクトルを識別すること、および定義された空間的配向に従って第1のインター予測ブロックに対して配向された第1の参照ブロックコンテキストピクセルを生成することによって、第1のインター予測ブロックを生成するように構成され得る。プロセッサは、定義された空間的配向に従って現在ブロックに対して配向された、再構成フレームからの空間ブロックコンテキストピクセルを取得すること、空間ブロックコンテキストピクセルと第1の参照ブロックコンテキストピクセルとの間の誤差の最小化と一致する、第1のインターイントラ予測パラメータを取得すること、ならびに現在ブロックのための予測ブロックを生成することであって、現在ブロックのための予測ブロックを生成することが、現在ブロックの現在ピクセルについて、現在ピクセルに対応する第1のインター予測ブロックからのインター予測ピクセルと第1のインターイントラ予測パラメータとの組合せを使用して、現在ピクセルのための予測子を決定すること、および予測ブロック中に予測子を含めることによる、ことによって、現在フレームを符号化するように構成され得る。プロセッサは、現在ブロックのための残差ブロックを生成することであって、残差ブロックを生成することが、現在ピクセルに対応する残差ピクセルとして、予測子と現在ピクセルとの間の差を生成することを含む、こと、ならびに出力ビットストリーム中に、残差ブロックおよび第1のインター予測動きベクトルを含めることによって、現在フレームを符号化するように構成され得る。プロセッサは、出力ビットストリームを出力するように構成され得る。
【0009】
いくつかの実装形態では、暗黙的モデルとともにインターイントラ予測を使用するコーディングは、符号化ビットストリームから、インターイントラ予測モデルを識別するインターイントラ予測モデル識別子を復号することによって、インターイントラ予測モデルを識別するステップを含み得る。
【0010】
いくつかの実装形態では、暗黙的モデルとともにインターイントラ予測を使用するコーディングは、インター予測動きベクトルのセットのうちの第1のインター予測動きベクトルを復号することによって、インター予測動きベクトルのセットを復号するステップを含み得、第1のインター予測動きベクトルが、参照フレームのセットのうちの第1の参照フレームに関連付けられる。
【0011】
いくつかの実装形態では、暗黙的モデルとともにインターイントラ予測を使用するコーディングは、第1のインター予測動きベクトルおよび第1の参照フレームを使用して、第1のインター予測ブロックを生成することによって、インター予測ブロックのセットを生成するステップを含み得、第1のインター予測ブロックを生成することが、第1のインター予測ブロックに対して配向された参照ブロックコンテキストピクセルの第1のセットを生成することを含む。
【0012】
いくつかの実装形態では、暗黙的モデルとともにインターイントラ予測を使用するコーディングは、第1のインター予測ピクセルを第1の混合パラメータで乗算した積として、第1の値を識別すること、および予測子として、値のセットの和を識別することであって、値のセットが第1の値を含む、ことによって、予測子を決定するステップを含み得る。
【0013】
いくつかの実装形態では、暗黙的モデルとともにインターイントラ予測を使用するコーディングは、インターイントラ予測パラメータのセットが、空間ブロックコンテキストピクセルと参照ブロックコンテキストピクセルの第1のセットとの間の誤差の最小化と一致するように、インターイントラ予測パラメータのセットを識別するステップを含み得る。
【0014】
いくつかの実装形態では、暗黙的モデルとともにインターイントラ予測を使用するコーディングは、インター予測動きベクトルのセットのうちの第2のインター予測動きベクトルを復号することによって、インター予測動きベクトルのセットを復号するステップを含み得、参照フレームのセットが、第2の参照フレームを含む。
【0015】
いくつかの実装形態では、暗黙的モデルとともにインターイントラ予測を使用するコーディングは、第2のインター予測動きベクトルおよび第2の参照フレームを使用して、インター予測ブロックのセットのうちの第2のインター予測ブロックを生成することによって、インター予測ブロックのセットを生成するステップを含み得、第2のインター予測ブロックを生成することが、第2のインター予測ブロックに対して配向された参照ブロックコンテキストピクセルの第2のセットを生成することを含む。
【0016】
いくつかの実装形態では、暗黙的モデルとともにインターイントラ予測を使用するコーディングは、第2のインター予測ブロックから、現在ピクセルに対応する第2のインター予測ピクセルを識別することであって、インター予測ピクセルのセットが、第2のインター予測ピクセルを含むようになる、ことによって、インター予測ピクセルのセットを取得するステップを含み得る。
【0017】
いくつかの実装形態では、暗黙的モデルとともにインターイントラ予測を使用するコーディングは、インターイントラ予測パラメータのセットが、空間ブロックコンテキストピクセルと、参照ブロックコンテキストピクセルの第1のセットと、参照ブロックコンテキストピクセルの第2のセットとの間の誤差の最小化と一致するように、インターイントラ予測パラメータのセットを識別することによって、インターイントラ予測パラメータのセットを識別するステップを含み得る。
【0018】
いくつかの実装形態では、暗黙的モデルとともにインターイントラ予測を使用するコーディングは、第2のインター予測ピクセルを、1から第1の混合パラメータを減算した差で乗算した積として、第2の値を識別すること、および値のセット中に第2の値を含めることによって、予測子を決定するステップを含み得る。
【0019】
いくつかの実装形態では、暗黙的モデルとともにインターイントラ予測を使用するコーディングは、混合パラメータが第2の混合パラメータを含むように、混合パラメータのセットを識別することによって、インターイントラ予測パラメータのセットを識別するステップを含み得る。
【0020】
いくつかの実装形態では、暗黙的モデルとともにインターイントラ予測を使用するコーディングは、第2のインター予測ピクセルを第2の混合パラメータで乗算した積として、第2の値を識別すること、および値のセット中に第2の値を含めることによって、予測子を決定するステップを含み得る。
【0021】
いくつかの実装形態では、暗黙的モデルとともにインターイントラ予測を使用するコーディングは、再帰係数(recursive factor)のセットを識別することによって、インターイントラ予測パラメータのセットを識別するステップを含み得る。
【0022】
いくつかの実装形態では、暗黙的モデルとともにインターイントラ予測を使用するコーディングは、現在ピクセルに対して定義された空間的配向を有する、再構成フレームからの利用可能なピクセルコンテキストピクセルのセットを識別すること、利用可能なピクセルコンテキストピクセルのセットおよび再帰係数のセットのドット積を識別すること、ならびに値のセット中にドット積を含めることによって、予測子を決定するステップを含み得る。
【0023】
いくつかの実装形態では、暗黙的モデルとともにインターイントラ予測を使用するコーディングは、インター予測動きベクトルのセットのうちの第2のインター予測動きベクトルを復号することによって、インター予測動きベクトルのセットを復号するステップを含み得、参照フレームのセットが、第2の参照フレームを含む。
【0024】
いくつかの実装形態では、暗黙的モデルとともにインターイントラ予測を使用するコーディングは、第2のインター予測動きベクトルおよび第2の参照フレームを使用して、インター予測ブロックのセットのうちの第2のインター予測ブロックを生成することによって、インター予測ブロックのセットを生成するステップを含み得、第2のインター予測ブロックを生成することが、第2のインター予測ブロックに対して配向された参照ブロックコンテキストピクセルの第2のセットを生成することを含む。
【0025】
いくつかの実装形態では、暗黙的モデルとともにインターイントラ予測を使用するコーディングは、第2のインター予測ブロックから、現在ピクセルに対応する第2のインター予測ピクセルを識別することであって、インター予測ピクセルのセットが、第2のインター予測ピクセルを含むようになる、ことによって、インター予測ピクセルのセットを取得するステップを含み得る。
【0026】
いくつかの実装形態では、暗黙的モデルとともにインターイントラ予測を使用するコーディングは、インターイントラ予測パラメータのセットが、空間ブロックコンテキストピクセルと、参照ブロックコンテキストピクセルの第1のセットと、参照ブロックコンテキストピクセルの第2のセットとの間の誤差の最小化と一致するように、インターイントラ予測パラメータのセットを識別することによって、インターイントラ予測パラメータのセットを識別するステップを含み得る。
【0027】
いくつかの実装形態では、暗黙的モデルとともにインターイントラ予測を使用するコーディングは、第2のインター予測ピクセルを、1から第1の混合パラメータを減算した差で乗算した積として、第2の値を識別すること、および値のセット中に第2の値を含めることによって、予測子を決定するステップを含み得る。
【0028】
いくつかの実装形態では、暗黙的モデルとともにインターイントラ予測を使用するコーディングは、混合パラメータが第2の混合パラメータを含むように、混合パラメータのセットを識別することによって、インターイントラ予測パラメータのセットを識別するステップを含み得る。
【0029】
いくつかの実装形態では、暗黙的モデルとともにインターイントラ予測を使用するコーディングは、第2のインター予測ピクセルを第2の混合パラメータで乗算した積として、第2の値を識別すること、および値のセット中に第2の値を含めることによって、予測子を決定するステップを含み得る。
【0030】
いくつかの実装形態では、暗黙的モデルとともにインターイントラ予測を使用するコーディングは、オフセットを識別することによって、インターイントラ予測パラメータのセットを識別するステップを含み得、予測子を決定するステップが、値のセット中にオフセットを含めるステップを含む。
【0031】
これらおよび他の態様における変形形態について、以下でさらに詳細に説明する。
【0032】
本明細書での説明は、添付の図面を参照し、添付の図面において、別段に記載されていない限り、または別段に文脈から明らかでない限り、同様の参照番号は、いくつかの図の全体にわたって同様の部分を指す。
【図面の簡単な説明】
【0033】
図1】本開示の実装形態によるコンピューティングデバイスの図である。
図2】本開示の実装形態によるコンピューティングおよび通信システムの図である。
図3】本開示の実装形態による符号化および復号において使用するためのビデオストリームの図である。
図4】本開示の実装形態によるエンコーダのブロック図である。
図5】本開示の実装形態によるデコーダのブロック図である。
図6】本開示の実装形態によるフレームの一部分の表現のブロック図である。
図7】本開示の実装形態による、暗黙的モデルとともにインターイントラ予測を使用する復号の一例のフローチャート図である。
図8】本開示の実装形態による、暗黙的モデルとともにインターイントラ予測を使用するコーディングのための予測ブロックの生成の一例のフローチャート図である。
図9】本開示の実装形態による、暗黙的モデルとともにインターイントラ予測を使用するコーディングのための画像要素の一例のブロック図である。
図10】本開示の実装形態による、暗黙的モデルとともにインターイントラ予測を使用する符号化の一例のフローチャート図である。
【発明を実施するための形態】
【0034】
画像およびビデオ圧縮方式は、画像またはフレームを、ブロックなどのより小さい部分に分割すること、および出力におけるブロックごとに含まれる情報の帯域幅利用を最小化するための技法を使用して、出力ビットストリームを生成することを含み得る。いくつかの実装形態では、出力におけるブロックごとに含まれる情報は、空間的冗長性を低減すること、時間的冗長性を低減すること、またはそれらの組合せによって制限され得る。たとえば、時間的冗長性または空間的冗長性は、エンコーダとデコーダの両方にとって利用可能な情報に基づいて、フレームまたはその一部分を予測すること、および符号化ビットストリーム中に、予測フレームと元のフレームとの間の差分または残差を表す情報を含めることによって低減され得る。残差情報は、残差情報を変換係数に変換すること、変換係数を量子化すること、および量子化変換係数をエントロピーコーディングすることによって、さらに圧縮され得る。動き情報などの他のコーディング情報が、符号化ビットストリーム中に含まれ得、符号化ビットストリームは、対応する帯域幅利用をさらに低減するためにエントロピーコーディングされ得る、符号化情報の予測に基づく差異情報を送信することを含み得る。符号化ビットストリームは、制限された情報からブロックおよびソース画像を再構成するために復号され得る。いくつかの実装形態では、インター予測またはイントラ予測のいずれかを使用して、ブロックをコーディングする精度、効率、またはその両方が制限され得る。
【0035】
暗黙的モデルとともにインターイントラ予測を使用する、符号化または復号などのコーディングの実装形態は、インター予測またはイントラ予測のいずれかを使用するコーディングと比較して、ビデオコーディングの精度、効率、またはその両方を向上させ得る。暗黙的モデルとともにインターイントラ予測を使用するコーディングは、定義された配向に従ってインター予測ブロックに対して空間的に配向された参照ブロックコンテキストピクセルを生成することを含み得る、対応するインター予測ブロックを生成することによって、対応する予測ブロックを生成すること、現在フレームから前に再構成されたピクセルであり得る空間ブロックコンテキストピクセルを取得すること、参照ブロックコンテキストピクセルおよび空間ブロックコンテキストピクセルに関する誤差最小化を解決することによって、インターイントラ予測パラメータを取得すること、ならびにインター予測ブロックおよびインターイントラ予測パラメータに基づいて、現在ブロックのための予測子を生成することによって、現在ブロックをコーディングすることを含み得る。
【0036】
図1は、本開示の実装形態によるコンピューティングデバイス100の図である。示されたコンピューティングデバイス100は、メモリ110と、プロセッサ120と、ユーザインターフェース(UI)130と、電子通信ユニット140と、センサー150と、電源160と、バス170とを含む。本明細書で使用する「コンピューティングデバイス」という用語は、本明細書で開示するいずれかの方法、またはそのいずれかの1つもしくは複数の部分を実行することが可能な、いずれかのユニットまたはユニットの組合せを含む。
【0037】
コンピューティングデバイス100は、パーソナルコンピュータ(PC)、サーバ、ワークステーション、ミニコンピュータ、もしくはメインフレームコンピュータなどの固定のコンピューティングデバイス、または携帯電話、携帯情報端末(PDA)、ラップトップ、もしくはタブレットPCなどのモバイルコンピューティングデバイスであり得る。単一のユニットとして示されるが、コンピューティングデバイス100のいずれか1つの要素または複数の要素は、任意の数の別個の物理ユニットに統合され得る。たとえば、ユーザインターフェース130およびプロセッサ120は、第1の物理ユニットに統合され得、メモリ110は、第2の物理ユニットに統合され得る。
【0038】
メモリ110は、たとえば、データ112、命令114、オペレーティングシステム116、またはそれらに関連付けられた任意の情報を、コンピューティングデバイス100の他の構成要素によって、またはそれらに関連して使用するために含み、記憶し、通信し、または移送することができる任意の有形のデバイスなど、任意の非一時的コンピュータ使用可能またはコンピュータ可読媒体を含み得る。非一時的コンピュータ使用可能またはコンピュータ可読媒体は、たとえば、ソリッドステートドライブ、メモリカード、リムーバブル媒体、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、ハードディスク、フロッピーディスク、光ディスクを含む任意のタイプのディスク、磁気もしくは光学カード、特定用途向け集積回路(ASIC)、または電子情報を記憶するために好適な任意のタイプの非一時的媒体、あるいはそれらの任意の組合せであり得る。
【0039】
単一のユニットとして示されるが、メモリ110は、ランダムアクセスメモリユニットなどの1つもしくは複数の1次メモリユニット、ディスクなどの1つもしくは複数の2次データ記憶ユニット、またはそれらの組合せなど、複数の物理ユニットを含み得る。たとえば、データ112もしくはその一部分、命令114もしくはその一部分、またはその両方は、2次記憶ユニットに記憶され得、それぞれのデータ112の処理、それぞれの命令114の実行、またはその両方とともに、1次記憶ユニットにロードまたは他の方法で転送され得る。いくつかの実装形態では、メモリ110またはその一部分は、リムーバブルメモリであり得る。
【0040】
データ112は、入力オーディオデータ、符号化オーディオデータ、復号オーディオデータなどの情報を含み得る。命令114は、本明細書で開示するいずれかの方法、またはそのいずれかの1つもしくは複数の部分を実行するためのコードなどの指示を含み得る。命令114は、ハードウェア、ソフトウェア、またはそれらの任意の組合せにおいて実現され得る。たとえば、命令114は、プロセッサ120によって、本明細書で説明するそれぞれの方法、アルゴリズム、態様、またはそれらの組合せのいずれかを実行するために実行され得るコンピュータプログラムなど、メモリ110に記憶された情報として実装され得る。
【0041】
メモリ110中に含まれるように示されるが、いくつかの実装形態では、命令114またはその一部分は、本明細書で説明する方法、アルゴリズム、態様、またはそれらの組合せのいずれかを行うための専用のハードウェアを含み得る、専用プロセッサまたは回路として実装され得る。命令114の部分は、同じ機械もしくは異なる機械上の複数のプロセッサにわたって、またはローカルエリアネットワーク、ワイドエリアネットワーク、インターネット、もしくはそれらの組合せなどのネットワークにわたって分散され得る。
【0042】
プロセッサ120は、光プロセッサ、量子プロセッサ、分子プロセッサ、またはそれらの組合せを含む、現存するかまたは今後開発される、デジタル信号または他の電子情報を操作または処理することが可能な、任意のデバイスまたはシステムを含み得る。たとえば、プロセッサ120は、専用プロセッサ、中央処理ユニット(CPU)、デジタル信号プロセッサ(DSP)、複数のマイクロプロセッサ、DSPコアに関連する1つもしくは複数のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理アレイ、プログラマブル論理コントローラ、マイクロコード、ファームウェア、任意のタイプの集積回路(IC)、状態機械、またはそれらの任意の組合せを含み得る。本明細書で使用する「プロセッサ」という用語は、単一のプロセッサまたは複数のプロセッサを含む。
【0043】
ユーザインターフェース130は、仮想もしくは物理的キーパッド、タッチパッド、ディスプレイ、タッチディスプレイ、スピーカー、マイクロフォン、ビデオカメラ、センサー、またはそれらの任意の組合せなど、ユーザと対話することが可能な任意のユニットを含み得る。たとえば、ユーザインターフェース130は、オーディオビジュアルディスプレイデバイスであり得、コンピューティングデバイス100は、復号ビデオなどのビデオの表示などと連動して、ユーザインターフェース130オーディオビジュアルディスプレイデバイスを使用して、復号オーディオなどのオーディオを提示し得る。単一のユニットとして示されるが、ユーザインターフェース130は、1つまたは複数の物理ユニットを含み得る。たとえば、ユーザインターフェース130は、ユーザとのオーディオ通信を実行するためのオーディオインターフェースと、ユーザとのビジュアルおよびタッチベース通信を実行するためのタッチディスプレイとを含み得る。
【0044】
電子通信ユニット140は、無線周波数(RF)通信媒体、紫外線(UV)通信媒体、可視光通信媒体、光ファイバー通信媒体、ワイヤライン通信媒体、またはそれらの組合せなど、ワイヤードまたはワイヤレス電子通信媒体180を介して、信号を送信、受信、または送受信することができる。たとえば、図示のように、電子通信ユニット140は、ワイヤレス信号を介して通信するように構成された、アンテナなどの電子通信インターフェース142に動作可能に接続される。
【0045】
電子通信インターフェース142は、図1においてワイヤレスアンテナとして示されるが、電子通信インターフェース142は、図示のようなワイヤレスアンテナ、イーサネットポート、赤外線ポート、シリアルポートなどのワイヤード通信ポート、あるいはワイヤードまたはワイヤレス電子通信媒体180とインターフェースすることが可能な任意の他のワイヤードまたはワイヤレスユニットであり得る。図1は、単一の電子通信ユニット140および単一の電子通信インターフェース142を示しているが、任意の数の電子通信ユニットおよび任意の数の電子通信インターフェースが使用され得る。
【0046】
センサー150は、たとえば、オーディオ検知デバイス、可視光検知デバイス、動き検知デバイス、またはそれらの組合せを含み得る。たとえば、センサー150は、マイクロフォンなどの音検知デバイス、またはコンピューティングデバイス100を操作するユーザによって生じた音声もしくは他の発話など、コンピューティングデバイス100の近傍における音を検知することができる、現存するかもしくは今後開発される任意の他の音検知デバイスを含み得る。別の例では、センサー150は、カメラ、またはコンピューティングデバイスを操作するユーザの画像などの画像を検知することができる、現存するかもしくは今後開発される任意の他の画像検知デバイスを含み得る。単一のセンサー150が示されているが、コンピューティングデバイス100は、いくつかのセンサー150を含み得る。たとえば、コンピューティングデバイス100は、視野がコンピューティングデバイス100のユーザに向けられるように配向された第1のカメラと、視野がコンピューティングデバイス100のユーザから離れるように向けられるように配向された第2のカメラとを含み得る。
【0047】
電源160は、コンピューティングデバイス100に電力供給するための任意の好適なデバイスであり得る。たとえば、電源160は、ワイヤード外部電源インターフェース、ニッケルカドミウム(NiCd)、ニッケル亜鉛(NiZn)、ニッケル水素(NiMH)、リチウムイオン(Li-ion)などの1つもしくは複数の乾電池、太陽電池、燃料電池、またはコンピューティングデバイス100に電力供給することが可能な任意の他のデバイスを含み得る。単一の電源160が図1に示されているが、コンピューティングデバイス100は、バッテリーおよびワイヤード外部電源インターフェースなど、複数の電源160を含み得る。
【0048】
別個のユニットとして示されているが、電子通信ユニット140、電子通信インターフェース142、ユーザインターフェース130、電源160、またはそれらの部分は、複合ユニットとして構成され得る。たとえば、電子通信ユニット140、電子通信インターフェース142、ユーザインターフェース130、および電源160は、外部ディスプレイデバイスとインターフェースし、通信、電力、またはその両方を提供することが可能な、通信ポートとして実装され得る。
【0049】
メモリ110、プロセッサ120、ユーザインターフェース130、電子通信ユニット140、センサー150、または電源160のうちの1つまたは複数は、バス170を介して動作可能に結合され得る。単一のバス170が図1に示されているが、コンピューティングデバイス100は、複数のバスを含み得る。たとえば、メモリ110、プロセッサ120、ユーザインターフェース130、電子通信ユニット140、センサー150、およびバス170は、バス170を介して、電源160から電力を受信し得る。別の例では、メモリ110、プロセッサ120、ユーザインターフェース130、電子通信ユニット140、センサー150、電源160、またはそれらの組合せは、バス170を介して、電子信号を送受信することなどによって、データを通信し得る。
【0050】
図1において別個に示されていないが、プロセッサ120、ユーザインターフェース130、電子通信ユニット140、センサー150、または電源160のうちの1つまたは複数は、内部バッファまたはレジスタなどの内部メモリを含み得る。たとえば、プロセッサ120は、内部メモリ(図示せず)を含み得、処理のためにメモリ110から内部メモリ(図示せず)にデータ112を読み込み得る。
【0051】
別個の要素として示されているが、メモリ110、プロセッサ120、ユーザインターフェース130、電子通信ユニット140、センサー150、電源160、およびバス170、またはそれらの任意の組合せは、1つまたは複数の電子ユニット、回路、またはチップに統合され得る。
【0052】
図2は、本開示の実装形態によるコンピューティングおよび通信システム200の図である。図示されたコンピューティングおよび通信システム200は、コンピューティングおよび通信デバイス100A、100B、100Cと、アクセスポイント210A、210Bと、ネットワーク220とを含む。たとえば、コンピューティングおよび通信システム200は、コンピューティングおよび通信デバイス100A、100B、100Cなど、1つまたは複数のワイヤードまたはワイヤレス通信デバイスに、ボイス、オーディオ、データ、ビデオ、メッセージング、ブロードキャスト、またはそれらの組合せなどの通信を提供する、多元接続システムであり得る。簡単のために、図2は、3つのコンピューティングおよび通信デバイス100A、100B、100Cと、2つのアクセスポイント210A、210Bと、1つのネットワーク220とを示しているが、任意の数のコンピューティングおよび通信デバイス、アクセスポイント、ならびにネットワークが使用され得る。
【0053】
コンピューティングおよび通信デバイス100A、100B、100Cは、たとえば、図1に示されたコンピューティングデバイス100などのコンピューティングデバイスであり得る。たとえば、コンピューティングおよび通信デバイス100A、100Bは、モバイルコンピューティングデバイス、ラップトップ、シンクライアント、またはスマートフォンなどのユーザデバイスであり得、コンピューティングおよび通信デバイス100Cは、メインフレームまたはクラスタなどのサーバであり得る。コンピューティングおよび通信デバイス100Aならびにコンピューティングおよび通信デバイス100Bについては、ユーザデバイスとして説明し、コンピューティングおよび通信デバイス100Cについては、サーバとして説明するが、任意のコンピューティングおよび通信デバイスが、サーバの機能の一部もしくは全部、ユーザデバイスの機能の一部もしくは全部、またはサーバおよびユーザデバイスの機能の一部もしくは全部を実行し得る。たとえば、サーバコンピューティングおよび通信デバイス100Cは、オーディオデータの受信、符号化、処理、記憶、送信、またはそれらの組合せを行い得、コンピューティングおよび通信デバイス100Aならびにコンピューティングおよび通信デバイス100Bの一方または両方は、オーディオデータの受信、復号、処理、記憶、提示、またはそれらの組合せを行い得る。
【0054】
各コンピューティングおよび通信デバイス100A、100B、100Cは、ユーザ機器(UE)、移動局、固定もしくはモバイル加入者ユニット、セルラー電話、パーソナルコンピュータ、タブレットコンピュータ、サーバ、家電製品、または任意の同様のデバイスを含み得、ネットワーク220などを介して、ワイヤードまたはワイヤレス通信を実行するように構成され得る。たとえば、コンピューティングおよび通信デバイス100A、100B、100Cは、ワイヤードまたはワイヤレス通信信号を送信または受信するように構成され得る。各コンピューティングおよび通信デバイス100A、100B、100Cは、単一のユニットとして示されているが、コンピューティングおよび通信デバイスは、任意の数の相互接続された要素を含み得る。
【0055】
各アクセスポイント210A、210Bは、ワイヤードまたはワイヤレス通信リンク180A、180B、180Cを介して、コンピューティングおよび通信デバイス100A、100B、100C、ネットワーク220、またはその両方と通信するように構成された、任意のタイプのデバイスであり得る。たとえば、アクセスポイント210A、210Bは、基地局、基地トランシーバ局(BTS)、ノードB、拡張ノードB(eノードB)、ホームノードB(HノードB)、ワイヤレスルータ、ワイヤードルータ、ハブ、中継器、スイッチ、または任意の同様のワイヤードもしくはワイヤレスデバイスを含み得る。各アクセスポイント210A、210Bは、単一のユニットとして示されているが、アクセスポイントは、任意の数の相互接続された要素を含み得る。
【0056】
ネットワーク220は、ワイヤードまたはワイヤレス通信リンク上で、ボイス、データ、アプリケーション、ボイスオーバーインターネットプロトコル(VoIP)、または任意の他の通信プロトコル、もしくは通信プロトコルの組合せなどのサービスを提供するように構成された、任意のタイプのネットワークであり得る。たとえば、ネットワーク220は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、仮想プライベートネットワーク(VPN)、モバイルもしくはセルラー電話ネットワーク、インターネット、または電子通信の任意の他の手段であり得る。ネットワークは、伝送制御プロトコル(TCP)、ユーザデータグラムプロトコル(UDP)、インターネットプロトコル(IP)、リアルタイムトランスポートプロトコル(RTP)、ハイパーテキストトランスポートプロトコル(HTTP)、またはそれらの組合せなどの通信プロトコルを使用することができる。
【0057】
コンピューティングおよび通信デバイス100A、100B、100Cは、1つまたは複数のワイヤードもしくはワイヤレス通信リンクを使用して、ネットワーク220を介して、またはワイヤードおよびワイヤレス通信リンクの組合せを介して、互いに通信することができる。たとえば、図示のように、コンピューティングおよび通信デバイス100A、100Bは、ワイヤレス通信リンク180A、180Bを介して通信することができ、コンピューティングおよび通信デバイス100Cは、ワイヤード通信リンク180Cを介して通信することができる。コンピューティングおよび通信デバイス100A、100B、100Cのうちのいずれも、任意の1つまたは複数のワイヤードまたはワイヤレス通信リンクを使用して通信し得る。たとえば、第1のコンピューティングおよび通信デバイス100Aは、第1のタイプの通信リンクを使用して、第1のアクセスポイント210Aを介して通信することができ、第2のコンピューティングおよび通信デバイス100Bは、第2のタイプの通信リンクを使用して、第2のアクセスポイント210Bを介して通信することができ、第3のコンピューティングおよび通信デバイス100Cは、第3のタイプの通信リンクを使用して、第3のアクセスポイント(図示せず)を介して通信することができる。同様に、アクセスポイント210A、210Bは、1つまたは複数のタイプのワイヤードまたはワイヤレス通信リンク230A、230Bを介して、ネットワーク220と通信することができる。図2は、ネットワーク220を介して通信しているコンピューティングおよび通信デバイス100A、100B、100Cを示しているが、コンピューティングおよび通信デバイス100A、100B、100Cは、直接ワイヤードまたはワイヤレス通信リンクなど、任意の数の通信リンクを介して、互いに通信することができる。
【0058】
いくつかの実装形態では、コンピューティングおよび通信デバイス100A、100B、100Cのうちの1つまたは複数の間の通信は、ネットワーク220を介して通信することを省略し得、データ記憶デバイスなどの別の媒体(図示せず)を介して、データを転送することを含み得る。たとえば、サーバコンピューティングおよび通信デバイス100Cは、ポータブルデータ記憶ユニットなどのデータ記憶デバイスに、符号化オーディオデータなどのオーディオデータを記憶し得、コンピューティングおよび通信デバイス100Aまたはコンピューティングおよび通信デバイス100Bの一方または両方は、サーバコンピューティングおよび通信デバイス100Cからデータ記憶デバイスを物理的に切り離し、データ記憶デバイスをコンピューティングおよび通信デバイス100Aまたはコンピューティングおよび通信デバイス100Bに物理的に接続することなどによって、データ記憶ユニットからの記憶されたオーディオデータにアクセスするか、それを読み取るか、または取り出し得る。
【0059】
コンピューティングおよび通信システム200の他の実装形態が可能である。たとえば、一実装形態では、ネットワーク220は、アドホックネットワークであり得、アクセスポイント210A、210Bのうちの1つまたは複数を省略することができる。コンピューティングおよび通信システム200は、図2に示されていないデバイス、ユニット、または要素を含み得る。たとえば、コンピューティングおよび通信システム200は、より多くの通信デバイス、ネットワーク、およびアクセスポイントを含み得る。
【0060】
図3は、本開示の実装形態による符号化および復号において使用するためのビデオストリーム300の図である。ビデオカメラによってキャプチャされたビデオストリーム、またはコンピューティングデバイスによって生成されたビデオストリームなどのビデオストリーム300は、ビデオシーケンス310を含み得る。ビデオシーケンス310は、隣接フレーム320のシーケンスを含み得る。3つの隣接フレーム320が示されているが、ビデオシーケンス310は、任意の数の隣接フレーム320を含み得る。
【0061】
隣接フレーム320からの各フレーム330は、ビデオストリームからの単一の画像を表し得る。図3には示されていないが、フレーム330は、1つまたは複数のセグメント、タイル、または平面を含み得、これらは並行してなど、独立してコーディングまたは他の方法で処理され得る。フレーム330は、1つまたは複数のタイル340を含み得る。タイル340の各々は、独立してコーディングされ得るフレームの矩形領域であり得る。タイル340の各々は、それぞれのブロック350を含み得る。図3には示されていないが、ブロックはピクセルを含み得る。たとえば、ブロックは、16×16ピクセルのグループ、8×8ピクセルのグループ、8×16ピクセルのグループ、または任意の他のピクセルのグループを含み得る。本明細書で別段に規定されていない限り、「ブロック」という用語は、スーパーブロック、マクロブロック、セグメント、スライス、またはフレームの任意の他の部分を含み得る。フレーム、ブロック、ピクセル、またはそれらの組合せは、ルミナンス情報、クロミナンス情報、またはビデオストリームもしくはその一部分を記憶、修正、通信、もしくは表示するために使用され得る任意の他の情報など、ディスプレイ情報を含み得る。
【0062】
図4は、本開示の実装形態によるエンコーダ400のブロック図である。エンコーダ400は、図1に示されたコンピューティングデバイス100、または図2に示されたコンピューティングおよび通信デバイス100A、100B、100Cなどのデバイスにおいて、たとえば、図1に示されたメモリ110などのデータ記憶ユニットに記憶されたコンピュータソフトウェアプログラムとして実装され得る。コンピュータソフトウェアプログラムは、図1に示されたプロセッサ120などのプロセッサによって実行され得る機械命令を含み得、本明細書で説明するようにビデオデータを符号化することをデバイスに行わせ得る。エンコーダ400は、たとえば、コンピューティングデバイス100中に含まれた専用のハードウェアとして実装され得る。
【0063】
エンコーダ400は、図3に示されたビデオストリーム300などの入力ビデオストリーム402を符号化して、符号化(圧縮)ビットストリーム404を生成することができる。いくつかの実装形態では、エンコーダ400は、圧縮ビットストリーム404を生成するための順方向パスを含み得る。順方向パスは、イントラ/インター予測ユニット410、変換ユニット420、量子化ユニット430、エントロピー符号化ユニット440、またはそれらの任意の組合せを含み得る。いくつかの実装形態では、エンコーダ400は、さらなるブロックの符号化のためのフレームを再構成するために、再構成パス(破線の接続線によって示される)を含み得る。再構成パスは、逆量子化ユニット450、逆変換ユニット460、再構成ユニット470、フィルタ処理ユニット480、またはそれらの任意の組合せを含み得る。エンコーダ400の他の構造的変形形態が、ビデオストリーム402を符号化するために使用され得る。
【0064】
ビデオストリーム402を符号化するために、ビデオストリーム402内の各フレームがブロックの単位で処理され得る。したがって、現在ブロックがフレーム中のブロックから識別され得、現在ブロックが符号化され得る。
【0065】
イントラ/インター予測ユニット410において、現在ブロックは、単一のフレーム内であり得るイントラフレーム予測、またはフレームごとであり得るインターフレーム予測のいずれかを使用して符号化され得る。イントラ予測は、前に符号化および再構成された現在フレーム中のサンプルから予測ブロックを生成することを含み得る。インター予測は、1つまたは複数の前に構成された参照フレーム中のサンプルから予測ブロックを生成することを含み得る。現在フレーム中の現在ブロックのための予測ブロックを生成することは、参照フレームの適切な参照部分を示す動きベクトルを生成するために、動き推定を実行することを含み得る。
【0066】
イントラ/インター予測ユニット410は、現在ブロック(生のブロック)から予測ブロックを減算して、残差ブロックを生じ得る。変換ユニット420は、ブロックベース変換を実行し得、ブロックベース変換は、残差ブロックを、たとえば、周波数領域における変換係数に変換することを含み得る。ブロックベース変換の例には、カルーネン・レーベ変換(KLT)、離散コサイン変換(DCT)、特異値分解変換(SVD)、および非対称離散サイン変換(ADST)が含まれる。一例では、DCTは、ブロックを周波数領域に変換することを含み得る。DCTは、最低周波数(すなわち、DC)係数を行列の左上とし、最高周波数係数を行列の右下とする、空間周波数に基づく変換係数値を使用することを含み得る。
【0067】
量子化ユニット430は、変換係数を、量子化変換係数または量子化レベルと呼ばれることがある離散量子値(discrete quantum value)に変換し得る。量子化変換係数は、エントロピー符号化ユニット440によってエントロピー符号化されて、エントロピー符号化係数が生じ得る。エントロピー符号化は、確率分布メトリックを使用することを含み得る。ブロックを復号するために使用されるエントロピー符号化係数および情報は、使用される予測のタイプ、動きベクトル、および量子化器値を含み得、圧縮ビットストリーム404に出力され得る。圧縮ビットストリーム404は、ランレングス符号化(RLE)およびゼロランコーディングなど、様々な技法を使用してフォーマットされ得る。
【0068】
再構成パスは、エンコーダ400と、図5に示されたデコーダ500などの対応するデコーダとの間の参照フレーム同期を維持するために使用され得る。再構成パスは、以下で説明する復号プロセスと同様であり得、逆量子化ユニット450において量子化変換係数を逆量子化すること、および逆変換ユニット460において逆量子化変換係数を逆変換して、微分残差ブロックを生じることを含み得る、符号化ブロックを復号することを含み得る、符号化フレームまたはその一部分を復号することを含み得る。再構成ユニット470は、イントラ/インター予測ユニット410によって生成された予測ブロックを微分残差ブロックに加えて、復号ブロックを作成し得る。フィルタ処理ユニット480が復号ブロックに適用されて、再構成ブロックが生成され得、再構成ブロックは、ブロッキングアーティファクトなどのひずみを低減し得る。1つのフィルタ処理ユニット480が図4に示されているが、復号ブロックをフィルタ処理することは、ループフィルタ処理、デブロッキングフィルタ処理、または他のタイプのフィルタ処理、もしくはフィルタ処理のタイプの組合せを含み得る。再構成ブロックは、482における破線によって示されるように、現在フレームの別の部分、別のフレーム、またはその両方を符号化するための、参照フレームの一部分であり得る再構成ブロックとして記憶されるか、または他の方法でアクセス可能にされ得る。フレームのための、デブロッキングしきい値インデックス値などのコーディング情報は、484における破線によって示されるように符号化されるか、圧縮ビットストリーム404中に含められるか、またはその両方が行われ得る。
【0069】
エンコーダ400の他の変形形態が、圧縮ビットストリーム404を符号化するために使用され得る。たとえば、非変換ベースのエンコーダ400は、変換ユニット420なしに直接的に残差ブロックを量子化することができる。いくつかの実装形態では、量子化ユニット430および逆量子化ユニット450は、単一のユニットに組み合わせられ得る。
【0070】
図5は、本開示の実装形態によるデコーダ500のブロック図である。デコーダ500は、図1に示されたコンピューティングデバイス100、または図2に示されたコンピューティングおよび通信デバイス100A、100B、100Cなどのデバイスにおいて、たとえば、図1に示されたメモリ110などのデータ記憶ユニットに記憶されたコンピュータソフトウェアプログラムとして実装され得る。コンピュータソフトウェアプログラムは、図1に示されたプロセッサ120などのプロセッサによって実行され得る機械命令を含み得、本明細書で説明するようにビデオデータを復号することをデバイスに行わせ得る。デコーダ500は、たとえば、コンピューティングデバイス100中に含まれた専用のハードウェアとして実装され得る。
【0071】
デコーダ500は、図4に示された圧縮ビットストリーム404などの圧縮ビットストリーム502を受信し得、圧縮ビットストリーム502を復号して、出力ビデオストリーム504を生成し得る。デコーダ500は、エントロピー復号ユニット510、逆量子化ユニット520、逆変換ユニット530、イントラ/インター予測ユニット540、再構成ユニット550、フィルタ処理ユニット560、またはそれらの任意の組合せを含み得る。デコーダ500の他の構造的変形形態が、圧縮ビットストリーム502を復号するために使用され得る。
【0072】
エントロピー復号ユニット510は、たとえば、コンテキスト適応型バイナリ算術復号を使用して、圧縮ビットストリーム502内のデータ要素を復号して、量子化変換係数のセットを生じ得る。逆量子化ユニット520は、量子化変換係数を逆量子化することができ、逆変換ユニット530は、逆量子化変換係数を逆変換して、微分残差ブロックを生じることができ、微分残差ブロックは、図4に示された逆変換ユニット460によって生成された微分残差ブロックに対応し得る。圧縮ビットストリーム502から復号されたヘッダ情報を使用して、イントラ/インター予測ユニット540は、エンコーダ400において作成された予測ブロックに対応する予測ブロックを生成し得る。再構成ユニット550において、予測ブロックが微分残差ブロックに加えられて、復号ブロックが作成され得る。フィルタ処理ユニット560が復号ブロックに適用されて、ブロッキングアーティファクトなどのアーティファクトが低減され得、このことは、ループフィルタ処理、デブロッキングフィルタ処理、または他のタイプのフィルタ処理、もしくはフィルタ処理のタイプの組合せを含み得、また、出力ビデオストリーム504として出力され得る再構成ブロックを生成することを含み得る。
【0073】
デコーダ500の他の変形形態が、圧縮ビットストリーム502を復号するために使用され得る。たとえば、デコーダ500は、デブロッキングフィルタ処理ユニット570なしに、出力ビデオストリーム504を生じることができる。
【0074】
図6は、本開示の実装形態による、図3に示されたフレーム330などのフレームの一部分600の表現のブロック図である。図示のように、フレームの部分600は、マトリックスまたはデカルト平面において2行および2列における、4つの64×64ブロック610を含む。いくつかの実装形態では、64×64ブロックは、最大コーディングユニット、N=64であり得る。各64×64ブロックは、4つの32×32ブロック620を含み得る。各32×32ブロックは、4つの16×16ブロック630を含み得る。各16×16ブロックは、4つの8×8ブロック640を含み得る。各8×8ブロック640は、4つの4×4ブロック650を含み得る。各4×4ブロック650は、デカルト平面またはマトリックスにおいて各それぞれのブロック中で4行および4列において表され得る、16ピクセルを含み得る。これらのピクセルは、ルミナンス情報、色情報、およびロケーション情報など、フレーム中でキャプチャされた画像を表す情報を含み得る。いくつかの実装形態では、図示のような16×16ピクセルブロックなどのブロックは、ルミナンスピクセル662を含み得るルミナンスブロック660と、UまたはCbクロミナンスブロック670、およびVまたはCrクロミナンスブロック680など、2つのクロミナンスブロック670、680とを含み得る。クロミナンスブロック670、680は、クロミナンスピクセル690を含み得る。たとえば、ルミナンスブロック660は、16×16個のルミナンスピクセル662を含み得、各クロミナンスブロック670、680は、図示のように8×8個のクロミナンスピクセル690を含み得る。ブロックの1つの構成が示されているが、任意の構成が使用され得る。図6は、N×Nブロックを示しているが、いくつかの実装形態では、N×Mブロックが使用され得る。たとえば、32×64ブロック、64×32ブロック、16×32ブロック、32×16ブロック、または任意の他のサイズのブロックが使用され得る。いくつかの実装形態では、N×2Nブロック、2N×Nブロック、またはそれらの組合せが使用され得る。
【0075】
いくつかの実装形態では、ビデオコーディングは、順序付きブロックレベルコーディングを含み得る。順序付きブロックレベルコーディングは、ラスタ走査順序などの順序においてフレームのブロックをコーディングすることであって、ここにおいて、ブロックが、フレームまたはフレームの部分の左上隅におけるブロックで開始して識別および処理され得ること、ならびに左から右に、および最上行から最下行へと行に沿って進行し、次に処理するために各ブロックを識別することを含み得る。たとえば、フレームの最上行および左列における64×64ブロックは、コーディングされる第1のブロックであり得、第1のブロックのすぐ右の64×64ブロックは、コーディングされる第2のブロックであり得る。上から2番目の行が、コーディングされる第2の行であり得るので、第2の行の左列における64×64ブロックは、第1の行の右端の列における64×64ブロックの後、コーディングされ得る。
【0076】
いくつかの実装形態では、ブロックをコーディングすることは、ラスタ走査順序においてブロック内のより小さいブロックユニットをコーディングすることを含み得る、4分木コーディングを使用することを含み得る。たとえば、図6に示されたフレームの部分の左下隅に示された64×64ブロックは、4分木コーディングを使用してコーディングされ得、ここにおいて、左上の32×32ブロックがコーディングされ得、次いで右上の32×32ブロックがコーディングされ得、次いで左下の32×32ブロックがコーディングされ得、次いで右下の32×32ブロックがコーディングされ得る。各32×32ブロックは、4分木コーディングを使用してコーディングされ得、ここにおいて、左上の16×16ブロックがコーディングされ得、次いで右上の16×16ブロックがコーディングされ得、次いで左下の16×16ブロックがコーディングされ得、次いで右下の16×16ブロックがコーディングされ得る。各16×16ブロックは、4分木コーディングを使用してコーディングされ得、ここにおいて、左上の8×8ブロックがコーディングされ得、次いで右上の8×8ブロックがコーディングされ得、次いで左下の8×8ブロックがコーディングされ得、次いで右下の8×8ブロックがコーディングされ得る。各8×8ブロックは、4分木コーディングを使用してコーディングされ得、ここにおいて、左上の4×4ブロックがコーディングされ得、次いで右上の4×4ブロックがコーディングされ得、次いで左下の4×4ブロックがコーディングされ得、次いで右下の4×4ブロックがコーディングされ得る。いくつかの実装形態では、8×8ブロックが、16×16ブロックのために省略され得、16×16ブロックは、4分木コーディングを使用してコーディングされ得、ここにおいて、左上の4×4ブロックがコーディングされ得、次いで16×16ブロック中の他の4×4ブロックがラスタ走査順序においてコーディングされ得る。
【0077】
いくつかの実装形態では、ビデオコーディングは、たとえば、対応する符号化フレームから元のフレーム中の情報の一部を省略することによって、元の、または入力されたフレーム中に含まれた情報を圧縮することを含み得る。たとえば、コーディングは、スペクトル冗長性を低減すること、空間的冗長性を低減すること、時間的冗長性を低減すること、またはそれらの組合せを含み得る。
【0078】
いくつかの実装形態では、空間的冗長性を低減することは、YUVまたはYCbCr色モデルまたは色空間と呼ばれることがある、ルミナンス成分(Y)および2つのクロミナンス成分(UおよびV、またはCbおよびCr)に基づく色モデルを使用することを含み得る。YUV色モデルを使用することは、比較的大量の情報を使用して、フレームの一部分のルミナンス成分を表すこと、および比較的少量の情報を使用して、フレームのその部分のための各対応するクロミナンス成分を表すことを含み得る。たとえば、フレームの一部分は、16×16ピクセルのブロックを含み得る高解像度のルミナンス成分によって、およびその各々が8×8ピクセルのブロックとしてフレームのその部分を表す、2つのより低解像度のクロミナンス成分によって表され得る。ピクセルは、値、たとえば、0から255までの範囲における値を示し得、たとえば、8ビットを使用して記憶または送信され得る。本開示について、YUV色モデルに関して説明するが、任意の色モデルが使用され得る。
【0079】
いくつかの実装形態では、空間的冗長性を低減することは、たとえば、離散コサイン変換(DCT)を使用して、ブロックを周波数領域に変換することを含み得る。たとえば、図4に示された変換ユニット420など、エンコーダのユニットは、空間周波数に基づく変換係数値を使用して、DCTを実行し得る。
【0080】
いくつかの実装形態では、時間的冗長性を低減することは、ビデオストリームの前に符号化、復号、および再構成されたフレームであり得る、1つまたは複数の参照フレームに基づく比較的少量のデータを使用して、フレーム間の類似性を使用して、フレームを符号化することを含み得る。たとえば、現在フレームのブロックまたはピクセルは、参照フレームの空間的に対応するブロックまたはピクセルに類似し得る。いくつかの実装形態では、現在フレームのブロックまたはピクセルは、異なる空間ロケーションにおける参照フレームのブロックまたはピクセルに類似し得、時間的冗長性を低減することは、現在フレーム中のブロックまたはピクセルのロケーションと、参照フレーム中のブロックまたはピクセルの対応するロケーションとの間の空間的差分または移動を示す、動き情報を生成することを含み得る。
【0081】
いくつかの実装形態では、時間的冗長性を低減することは、現在フレームの現在ブロックまたはピクセルに対応する参照フレームの一部分を識別することを含み得る。たとえば、参照フレーム、または参照フレームの一部分は、メモリに記憶され得、最大の効率で現在フレームの現在ブロックまたはピクセルを符号化するために使用するための予測を生成するための一部分を識別するために探索され得る。たとえば、探索は、それについて現在ブロックと参照フレームのその部分に基づいて生成された予測ブロックとの間のピクセル値における差分が最小化される、参照フレームの一部分を識別し得、動き探索と呼ばれることがある。いくつかの実装形態では、探索される参照フレームの部分が制限され得る。たとえば、探索される参照フレームの部分は、探索エリアと呼ばれることがあり、参照フレームの限られた数の行を含み得る。一例では、予測を生成するための参照フレームの部分を識別することは、探索エリアの部分のピクセルと現在ブロックのピクセルとの間の、絶対差分和(SAD)などの費用関数を計算することを含み得る。
【0082】
いくつかの実装形態では、参照フレーム中の予測を生成するための参照フレームの部分のロケーションと、現在フレーム中の現在ブロックとの間の空間的差分は、動きベクトルとして表され得る。予測ブロックと現在ブロックとの間のピクセル値における差分は、差異データ、残差データ、予測誤差、または残差ブロックと呼ばれることがある。いくつかの実装形態では、動きベクトルを生成することは、動き推定と呼ばれることがあり、現在ブロックのピクセルは、デカルト座標を使用するロケーションに基づいて、fx,yと示され得る。同様に、参照フレームの探索エリアのピクセルは、デカルト座標を使用するロケーションに基づいて、rx,yと示され得る。現在ブロックのための動きベクトル(MV)は、たとえば、現在フレームのピクセルと参照フレームの対応するピクセルとの間のSADに基づいて決定され得る。
【0083】
明快のために、フレームのマトリックスまたはデカルト表現に関して本明細書で説明するが、フレームの記憶、送信、処理、またはそれらの任意の組合せは、ピクセル値がフレームまたは画像のために効率的に表され得るように、任意のデータ構造において行われ得る。たとえば、フレームの記憶、送信、処理、またはそれらの任意の組合せは、図示のようなマトリックスなどの2次元データ構造において、またはベクトル配列などの1次元データ構造において行われ得る。一実装形態では、図示のような2次元表現などのフレームの表現は、画像としてのフレームのレンダリングにおける物理的ロケーションに対応し得る。たとえば、フレームの左上隅におけるブロックの左上隅におけるロケーションは、画像としてのフレームのレンダリングの左上隅における物理的ロケーションと一致し得る。
【0084】
いくつかの実装形態では、ブロックベースコーディング効率は、入力ブロックを、予測コーディングのための正方形を含む矩形のパーティションであり得る1つまたは複数の予測パーティションに区分することによって、向上し得る。いくつかの実装形態では、予測区分を使用するビデオコーディングは、複数の候補予測区分方式の中から予測区分方式を選択することを含み得る。たとえば、いくつかの実装形態では、64×64コーディングユニットのための候補予測区分方式は、4×4、4×8、8×4、8×8、8×16、16×8、16×16、16×32、32×16、32×32、32×64、64×32、または64×64など、4×4から64×64までのサイズに及ぶ矩形サイズ予測パーティションを含み得る。いくつかの実装形態では、予測区分を使用するビデオコーディングは、完全予測パーティション探索を含み得、完全予測パーティション探索は、各利用可能な候補予測区分方式を使用して、コーディングユニットを符号化すること、および最小レートひずみ誤差を生じる方式など、最良の方式を選択することによって、予測区分方式を選択することを含み得る。
【0085】
いくつかの実装形態では、ビデオフレームを符号化することは、ブロック610などの現在ブロックを符号化するための予測区分方式を識別することを含み得る。いくつかの実装形態では、予測区分方式を識別することは、図示のような64×64であり得る最大コーディングユニットサイズの単一の予測パーティションとしてブロックを符号化するか、または図示のような32×32ブロック620、16×16ブロック630、もしくは8×8ブロック640などのサブブロックと一致し得る、複数の予測パーティションにブロックを区分するかを決定することを含み得、1つまたは複数のより小さい予測パーティションに区分するか否かを決定することを含み得る。たとえば、64×64ブロックは、4つの32×32予測パーティションに区分され得る。4つの32×32予測パーティションのうちの3つは、32×32予測パーティションとして符号化され得、第4の32×32予測パーティションは、4つの16×16予測パーティションにさらに区分され得る。4つの16×16予測パーティションのうちの3つは、16×16予測パーティションとして符号化され得、第4の16×16予測パーティションは、4つの8×8予測パーティションにさらに区分され得、その各々が8×8予測パーティションとして符号化され得る。いくつかの実装形態では、予測区分方式を識別することは、予測区分決定木を使用することを含み得る。
【0086】
いくつかの実装形態では、現在ブロックのためのビデオコーディングは、複数の候補予測コーディングモードから最適な予測コーディングモードを識別することを含み得、最適な予測コーディングモードは、様々な統計的特性とともにビデオ信号を扱う際の柔軟性を提供し得、圧縮効率を向上させ得る。たとえば、ビデオコーダは、各候補予測コーディングモードを評価して、最適な予測コーディングモードを識別し得、最適な予測コーディングモードは、たとえば、現在ブロックのためのレートひずみコストなどの誤差メトリックを最小化する予測コーディングモードであり得る。いくつかの実装形態では、候補予測コーディングモードを探索する複雑さは、現在ブロックと対応する予測ブロックとの間の類似性に基づいて、利用可能な候補予測コーディングモードのセットを制限することによって低減され得る。いくつかの実装形態では、各候補予測コーディングモードを探索する複雑さは、有向改善モード探索(directed refinement mode search)を実行することによって低減され得る。たとえば、メトリックが、16×16、8×8、および4×4などの候補ブロックサイズの制限されたセットについて生成され得、各ブロックサイズに関連付けられた誤差メトリックは、降順であり得、4×8および8×4ブロックサイズなどの追加の候補ブロックサイズが評価され得る。
【0087】
いくつかの実装形態では、ブロックベースコーディング効率は、現在の残差ブロックを、変換コーディングのための正方形を含む矩形のパーティションであり得る1つまたは複数の変換パーティションに区分することによって、向上し得る。いくつかの実装形態では、変換区分を使用するビデオコーディングは、均一変換区分方式を選択することを含み得る。たとえば、ブロック610などの現在の残差ブロックは、64×64ブロックであり得、64×64変換を使用して区分なしに変換され得る。
【0088】
図6に明確に示されていないが、残差ブロックは、均一変換区分方式を使用して変換区分され得る。たとえば、64×64残差ブロックは、4つの32×32変換ブロックを含む均一変換区分方式を使用して、16個の16×16変換ブロックを含む均一変換区分方式を使用して、64個の8×8変換ブロックを含む均一変換区分方式を使用して、または256個の4×4変換ブロックを含む均一変換区分方式を使用して変換区分され得る。
【0089】
いくつかの実装形態では、変換区分を使用するビデオコーディングは、多形変換パーティションコーディングを使用して、残差ブロックのための複数の変換ブロックサイズを識別することを含み得る。いくつかの実装形態では、多形変換パーティションコーディングは、現在ブロックサイズ変換を使用して、現在ブロックを変換するか、または現在ブロックを区分すること、および各パーティションを多形変換パーティションコーディングすることによって、現在ブロックを変換するかを再帰的に決定することを含み得る。たとえば、図6に示された左下ブロック610は、64×64残差ブロックであり得、多形変換パーティションコーディングは、64×64変換を使用して、現在の64×64残差ブロックをコーディングするか、または64×64残差ブロックを、4つの32×32ブロック620などのパーティションに区分すること、および各パーティションを多形変換パーティションコーディングすることによって、64×64残差ブロックをコーディングするかを決定することを含み得る。いくつかの実装形態では、現在ブロックを変換区分するか否かを決定することは、現在ブロックサイズ変換を使用して現在ブロックを符号化するためのコストを、パーティションサイズ変換を使用して、各パーティションを符号化するためのコストの和と比較することに基づき得る。
【0090】
図7は、本開示の実装形態による、暗黙的モデルとともにインターイントラ予測を使用する復号700の一例のフローチャート図である。暗黙的モデルとともにインターイントラ予測を使用する復号700は、図5に示されたデコーダ500などのデコーダにおいて実装され得る。
【0091】
図7に示されているように、暗黙的モデルとともにインターイントラ予測を使用する復号700は、710において、現在ブロックを識別すること、720において、シグナリングされたブロックデータを取得すること、730において、1つまたは複数の空間ブロックコンテキストピクセルを取得すること、740において、1つまたは複数のインター予測ブロックを生成すること、750において、1つまたは複数のインターイントラ予測パラメータを取得すること、760において、予測ブロックを生成すること、770において、再構成ブロックを生成すること、および780において出力することを含む。
【0092】
図7に明確に示されていないが、暗黙的モデルとともにインターイントラ予測を使用する復号700は、符号化ビットストリームの少なくとも一部分を、図2に示されたネットワーク220などのワイヤードもしくはワイヤレス電子通信媒体を介して受信すること、または図1に示されたメモリ110などの電子データ記憶媒体から読み取ることなど、取得することを含み得る。図7に明確に示されていないが、暗黙的モデルとともにインターイントラ予測を使用する復号700は、現在フレームを復号するための1つもしくは複数のフレームパラメータを復号すること、対応する再構成フレームを生成すること、またはその両方を含み得る。図7に明確に示されていないが、暗黙的モデルとともにインターイントラ予測を使用する復号700は、復号、再構成、またはその両方を行うための現在フレームを識別することを含み得る。現在フレームは、図3に示されたビデオシーケンス310などのビデオシーケンスの、図3に示されたフレーム330などのフレームであり得る。フレームとして説明するが、現在フレームは、図3に示されたタイル340のうちの1つなどのタイルなど、フレームの一部分であり得る。暗黙的モデルとともにインターイントラ予測を使用する復号700は、現在フレームに対応する再構成フレームを生成することを含み得る。現在フレームを識別することは、再構成フレームの、1つまたは複数の前に復号、再構成、またはその両方が行われた、ブロックなどの部分を識別することを含み得る。
【0093】
710において、現在ブロックが識別され得る。現在ブロックは、前に復号または再構成されたブロック以外のブロックなど、現在フレームのブロックであり得る。たとえば、現在ブロックは、図6に示されたブロック610などのブロックであり得る。
【0094】
720において、シグナリングされたブロックデータが取得され得る。たとえば、720において、シグナリングされたブロックデータを取得することは、符号化ビットストリームから、シグナリングされたブロックデータをエントロピー復号することなど、復号することを含み得る。シグナリングされたブロックデータを取得することは、720において、インター予測動きベクトルのセットなど、1つまたは複数の動きベクトルを取得することを含み得る。1つまたは複数の動きベクトルを取得することは、符号化ビットストリームから、インター予測動きデータなどの動きデータをエントロピー復号することなど、復号することを含み得る。動きデータは、1つまたは複数の動きベクトルを含み得る。1つまたは複数の動きベクトルを取得することは、参照フレームのセットなど、1つまたは複数の参照フレームを示す参照フレームデータを取得することを含み得る。たとえば、動きデータは、参照フレームデータを含み得る。参照フレームは、それぞれの動きベクトルについて、ビデオシーケンスの前に復号、再構成、またはその両方が行われたフレームなど、対応する参照フレームを示し得る。たとえば、動きデータは、現在ブロックのためのヘッダから復号され得る。
【0095】
いくつかの実装形態では、動きベクトルのセットは、1の濃度を有し得、動き情報は、第1などの1つの動きベクトルと、第1などの1つの参照フレーム識別子とを含み得る。いくつかの実装形態では、動きベクトルのセットは、2の濃度を有し得、動き情報は、第1の動きベクトルと、第1の動きベクトルに対応する第1の参照フレーム識別子と、第2の動きベクトルと、第2の動きベクトルに対応する第2の参照フレーム識別子とを含み得る。動きベクトルの他の濃度が使用され得る。参照フレームの他の濃度が使用され得る。いくつかの実装形態では、参照フレーム、または参照フレームのうちの1つもしくは複数は、表示可能な参照フレーム以外の参照フレームであり得る、構成された参照フレームなど、代替参照フレームであり得る。
【0096】
図7において別個に示されていないが、暗黙的モデルとともにインターイントラ予測を使用する復号700は、インターイントラ予測モデルを識別することを含み得る。たとえば、720において、シグナリングされたブロックデータを取得することは、符号化ビットストリームから、インターイントラ予測モデルを示す、インターイントラ予測モデル識別子をエントロピー復号することなど、復号することを含み得る。たとえば、インターイントラ予測モデル識別子は、現在ブロックのためのヘッダから復号され得る。いくつかの実装形態では、インターイントラ予測モデル識別子は、インターイントラ予測モデルのインデックス付きまたは順序付きセットへのインデックス値であり得る。
【0097】
730において、空間ブロックコンテキストピクセルのセットなど、1つまたは複数の空間ブロックコンテキストピクセルが取得され得る。空間ブロックコンテキストピクセルは、現在の再構成フレームからの前に復号、再構成、またはその両方が行われたピクセルなど、現在の再構成フレームからのピクセルであり得る。空間ブロックコンテキストピクセルは、現在ブロックに対して定義された空間的配向に従って識別され得る。空間ブロックコンテキストピクセルは、現在ブロックのイントラ予測のための因果的イントラ予測領域と一致し得る。定義された配向は、空間ブロックコンテキストピクセルが、現在フレームまたはタイル中の現在ブロックに隣接または近隣するなど、近接して配向されることを示し得る。たとえば、空間ブロックコンテキストピクセルは、現在ブロックの上の1つもしくは複数のブロック、現在ブロックの左の1つもしくは複数のブロック、現在ブロックの上および左の1つもしくは複数のブロック、またはそれらの組合せからのピクセルを含み得る。現在フレームまたはタイル中の現在ブロックに対する空間ブロックコンテキストピクセルの他の配向が使用され得る。空間ブロックコンテキストピクセルを識別することは、本明細書で説明する場合を除いて、または別段に文脈から明らかである場合を除いて、イントラ予測のためのコンテキストピクセルの識別と同様であり得る。一例では、空間ブロックコンテキストピクセルは、現在ブロックの上の4つの最も近い近隣する行からのピクセル、現在ブロックの左の4つの最も近い近隣する列からのピクセル、ならびに現在ブロックの上および左の4つの最も近い近隣する行および列からのピクセルであり得る。空間ブロックコンテキストピクセルの取得の一例が、図9に示されている。いくつかの実装形態では、暗黙的モデルとともにインターイントラ予測を使用する復号700は、現在ブロックのためのイントラ予測ピクセルを取得すること、または他の方法でそれにアクセスすることを省略し得る。
【0098】
いくつかの実装形態では、空間ブロックコンテキストピクセルのセットを記述する情報が、符号化ビットストリームから復号または他の方法でアクセスされるなど、抽出され得、この情報は、空間ブロックコンテキストピクセルのセットの濃度を記述する情報、空間ブロックコンテキストピクセルのセット、もしくはそれらのそれぞれのピクセルの配向もしくは相対的ロケーションを示す情報、またはその両方を含み得る。いくつかの実装形態では、インターイントラ予測モデル識別子は、空間ブロックコンテキストピクセルのセットの定義された記述に関連付けられ得る。
【0099】
740において、インター予測ブロックのセットなど、1つまたは複数のインター予測ブロックが生成され得る。1つまたは複数のインター予測ブロックは、720において識別された動きベクトルなど、1つまたは複数の動きベクトルを使用して生成され得る。1つまたは複数のインター予測ブロックは、720において識別された参照フレームなど、1つまたは複数の参照フレームを使用して生成され得る。1つまたは複数のインター予測ブロックは、それぞれの動きベクトルによって空間的に識別されるそれぞれの参照フレームからのサンプルに基づいて生成され得、このことは、参照フレームのピクセル値を使用して、インター予測ブロックのためのピクセル値を補間または他の方法で導出することを含み得る。インター予測ブロックの、またはそれぞれのインター予測ブロックのブロック寸法は、現在ブロックのブロック寸法と一致し得る。
【0100】
1つまたは複数のインター予測ブロックを生成することは、参照ブロックコンテキストピクセルセットのセットなど、1つまたは複数の参照ブロックコンテキストピクセルセットを生成することを含み得、ここにおいて、参照ブロックコンテキストピクセルセットは、それぞれのインター予測ブロックに対応する、定義された空間的配向に従ってそれぞれのインター予測ブロックに対して配向された参照ブロックコンテキストピクセルのセットを含む。参照ブロックコンテキストピクセルを生成することは、補間または他の方法で導出された参照ブロックコンテキストピクセル値を生成することを含み得、参照ブロックコンテキストピクセルが定義された空間的配向に従ってそれぞれのインター予測ブロックに対して配向され得ることを除いて、インター予測ブロックの生成と同様であり得る。定義された空間的配向は、730において空間ブロックコンテキストピクセルを取得するために使用される、定義された空間的配向であり得る。一例では、参照ブロックコンテキストピクセルは、対応する動きベクトルによって識別された参照フレームの部分の上の4つの最も近い近隣する行からのピクセル、対応する動きベクトルによって識別された参照フレームの部分の左の4つの最も近い近隣する列からのピクセル、ならびに対応する動きベクトルによって識別された参照フレームの部分の上および左の4つの最も近い近隣する行および列からのピクセルなど、定義された空間的配向に従って対応する動きベクトルによって識別された参照フレームの部分に空間的に近い参照フレームからのピクセルに基づいて生成され得る。それぞれの動きベクトルおよび参照フレームに対応する参照ブロックコンテキストピクセルのセットの濃度および空間パターンは、空間ブロックコンテキストピクセルのセットの濃度および空間パターンに等しくなり得る。参照ブロックコンテキストピクセルの取得の一例が、図9に示されている。
【0101】
たとえば、現在ブロックは、32×32ピクセルブロックであり得る。730において取得された空間ブロックコンテキストピクセルは、現在ブロックの上、左、ならびに上および左に配向され得、再構成フレーム中の現在ブロックの上の4つの最も近い行からの128個のピクセルと、再構成フレーム中の現在ブロックの左の4つの最も近い列からの128個のピクセルと、再構成フレーム中の現在ブロックの上および左の4つの最も近い行および列からの16個のピクセルとを含み得る。動きベクトルのセットは、1の濃度を有し得、第1の参照フレームに関連付けられた第1の動きベクトルを含み得る。第1のインター予測ブロックは、第1の動きベクトルおよび第1の参照フレームに従って生成され得、このことは、32×32インター予測ブロックであり得る第1のインター予測ブロックを生成することを含み得、また、参照ブロックコンテキストピクセルを生成することを含み得、参照ブロックコンテキストピクセルは、第1のインター予測ブロックの上の4つの最も近い行のための128個のピクセルと、第1のインター予測ブロックの左の4つの最も近い列のための128個のピクセルと、第1のインター予測ブロックの上および左の4つの最も近い行および列からの16個のピクセルとを含み得る。
【0102】
750において、インターイントラ予測パラメータのセットなど、1つまたは複数のインターイントラ予測パラメータが取得され得る。1つまたは複数のインターイントラ予測パラメータは、730において取得された空間ブロックコンテキストピクセルと、740において生成された参照ブロックコンテキストピクセルとを使用して取得され得る。1つまたは複数のインターイントラ予測パラメータを取得することは、空間ブロックコンテキストピクセルを参照ブロックコンテキストピクセルと比較することを含み得る。1つまたは複数のインターイントラ予測パラメータを取得することは、空間ブロックコンテキストピクセルおよび参照ブロックコンテキストピクセルを使用して、最小2乗問題を解くことによって、1つまたは複数のインターイントラ予測パラメータを生成することを含み得る。最小2乗問題を解くことは、参照ブロックコンテキストピクセルによって予測される空間ブロックコンテキストピクセルにおける誤差を最小化する、1つまたは複数のインターイントラ予測パラメータを確率的に決定し得る。
【0103】
1つまたは複数のインターイントラ予測パラメータを取得することは、混合パラメータのセットなど、1つまたは複数の混合パラメータを取得することを含み得る。混合パラメータのセットの濃度は、動きベクトルのセットの濃度であり得、動きベクトルのセットの濃度は、インター予測ブロックのセットの濃度であり得、インター予測ブロックのセットの濃度は、参照ブロックコンテキストピクセルセットのセットの濃度であり得る。たとえば、動きベクトルのセットの濃度は1であり得、インター予測ブロックのセットの濃度は1であり得、参照ブロックコンテキストピクセルセットのセットの濃度は1であり得、混合パラメータのセットの濃度は1であり得、第1の混合パラメータ(α)を含み得る。別の例では、動きベクトルのセットの濃度は2であり得、インター予測ブロックのセットの濃度は2であり得、参照ブロックコンテキストピクセルセットのセットの濃度は2であり得、混合パラメータのセットの濃度は2であり得、第1の混合パラメータ(α)および第2の混合パラメータ(β)を含み得る。いくつかの実装形態では、混合パラメータのセットの濃度は、動きベクトルのセットの濃度、インター予測ブロックのセットの濃度、および参照ブロックコンテキストピクセルセットのセットの濃度とは異なり得る。たとえば、動きベクトルのセットの濃度は2であり得、インター予測ブロックのセットの濃度は2であり得、参照ブロックコンテキストピクセルセットのセットの濃度は2であり得、混合パラメータのセットの濃度は1であり得、第1の混合パラメータ(α)を含み得る。
【0104】
1つまたは複数のインターイントラ予測パラメータを取得することは、オフセット(δ)を取得することを含み得る。
【0105】
たとえば、最小2乗問題を解いて、第1の混合パラメータ(α)およびオフセット(δ)を取得することは、参照ブロックコンテキストピクセル中のピクセル値の和(sx)を決定すること、空間ブロックコンテキストピクセル中のピクセル値の和(sy)を決定すること、参照ブロックコンテキストピクセル中のピクセル値の2乗の和(sx2)を決定すること、対応する参照ブロックコンテキストピクセルおよび空間ブロックコンテキストピクセルのピクセル値のそれぞれの積の和(sxy)を決定すること、空間ブロックコンテキストピクセル(または参照ブロックコンテキストピクセル)中のピクセルの濃度(n)を決定することを含み得、ここにおいて、第1の混合パラメータ(α)およびオフセット(δ)を決定することが、次のように表され得る。
α=(n*sxy-sx*sy)/(sx2*n-sx*sx)
δ=(-sx*sxy+sx2*sy)/(sx2*n-sx*sx)
式1。
【0106】
別の例では、最小2乗問題を解いて、第1の混合パラメータ(α)およびオフセット(δ)を取得することは、参照ブロックコンテキストピクセル中の参照ブロックコンテキストピクセル(u)の値を識別すること、空間ブロックコンテキストピクセル中の空間ブロックコンテキストピクセル(z)の値を識別することを含み得、ここにおいて、インター予測ブロックに対する参照ブロックコンテキストピクセル(u)の配向が、現在ブロックに対する空間ブロックコンテキストピクセル(z)の配向に等しく、空間ブロックコンテキストピクセル(z)が、第1の混合パラメータ(α)を参照ブロックコンテキストピクセル(u)で乗算した積に、オフセット(δ)を加算した和に、定義されたしきい値内など、ほぼ等しくなり、このことが次のように表され得る。
z≒α・u+δ
式2。
【0107】
簡潔および明快のために、参照ブロックコンテキストピクセル中の参照ブロックコンテキストピクセル(u)、および空間ブロックコンテキストピクセル中の空間ブロックコンテキストピクセル(z)は、インター予測ブロックに対する参照ブロックコンテキストピクセル(ui)の配向(i)が、現在ブロックに対する空間ブロックコンテキストピクセル(zi)の配向に等しいことを示すために、本明細書では、同一配向される(co-oriented)と呼ばれることがある。参照ブロックコンテキストピクセル(ui)および空間ブロックコンテキストピクセル(zi)の同一配向されたセットまたはペアは、{ui,zi}として表され得る。空間ブロックコンテキストピクセルおよび参照ブロックコンテキストピクセルのそれぞれのピクセルについて、式2は、行列ベクトル形式において次のように表され得る。
【0108】
【数1】
【0109】
式3。
【0110】
(n)の濃度を有する、空間ブロックコンテキストピクセルまたは参照ブロックコンテキストピクセルのセットについて、
【0111】
【数2】
【0112】
はn×1ベクトルを示し得、(P)はn×2行列を示し得る。たとえば、図9に示された例などでは、現在ブロックはw×hブロックであり得、空間ブロックコンテキストピクセルは、図9の920において示されているように、現在ブロックに対して均等に上、左、ならびに上および左の行または列ごとにb個のピクセルを含み得、参照ブロックコンテキストピクセルは、図9の950、980において示されているように、インター予測ブロックに対して均等に上、左、ならびに上および左の行または列ごとにb個のピクセルを含み得、空間ブロックコンテキストピクセルまたは参照ブロックコンテキストピクセルの濃度(n)は、次のように表され得る。
n=b(w+h+b)
式4。
【0113】
第1の混合パラメータ(α)およびオフセット(δ)を取得するための、誤差を最小化する最小2乗推定値は、次のように表され得る。
【0114】
【数3】
【0115】
式5。
【0116】
別の例では、最小2乗問題を解いて、第1の混合パラメータ(α)、第2の混合パラメータ(β)、およびオフセット(δ)を取得することは、参照ブロックコンテキストピクセルの第1のセット中の第1の参照ブロックコンテキストピクセル(u)の値を識別すること、参照ブロックコンテキストピクセルの第2のセット中の第2の参照ブロックコンテキストピクセル(v)の値を識別すること、空間ブロックコンテキストピクセル中の空間ブロックコンテキストピクセル(z)の値を識別することを含み得、ここにおいて、対応する第1のインター予測ブロックに対する第1の参照ブロックコンテキストピクセル(u)の配向が、対応する第2のインター予測ブロックに対する第2の参照ブロックコンテキストピクセル(v)の配向に等しく、現在ブロックに対する空間ブロックコンテキストピクセル(z)の配向に等しく、空間ブロックコンテキストピクセル(z)が、第1の混合パラメータ(α)を参照ブロックコンテキストピクセル(u)で乗算した積に、オフセット(δ)を加算した和に、定義されたしきい値内など、ほぼ等しくなり、このことが次のように表され得る。
z≒α・u+β・v+δ
式6。
【0117】
第1の参照ブロックコンテキストピクセル(ui)、第2の参照ブロックコンテキストピクセル(vi)、および空間ブロックコンテキストピクセル(zi)の同一配向されたセットまたはトリプレット(簡単のために、本明細書ではペアと呼ばれることもある)は、{ui,vi,zi}として表され得る。第1の参照ブロックコンテキストピクセル、第2の参照ブロックコンテキストピクセル、および空間ブロックコンテキストピクセルのそれぞれのピクセルについて、式6は、行列ベクトル形式において次のように表され得る。
【0118】
【数4】
【0119】
式7。
【0120】
(n)の濃度を有する、空間ブロックコンテキストピクセルのセット、または参照ブロックコンテキストピクセルのそれぞれのセットについて、
【0121】
【数5】
【0122】
はn×1ベクトルを示し得、(P)はn×3行列を示し得る。
【0123】
第1の混合パラメータ(α)、第2の混合パラメータ(β)、およびオフセット(δ)を取得するための、誤差を最小化する最小2乗推定値は、次のように表され得る。
【0124】
【数6】
【0125】
式8。
【0126】
ニューラルネットワークなどの機械学習モデルを使用する解法など、最小2乗問題の他の解法が使用され得る。
【0127】
1つまたは複数のインターイントラ予測パラメータを取得することは、再帰係数のセットなど、1つまたは複数の再帰係数を取得することを含み得る。たとえば、再帰係数のセットは、3つの再帰係数(γ100111)を含み得る。
【0128】
760において、予測ブロックが生成され得る。予測ブロックは、インター予測ブロックのセット、空間ブロックコンテキストピクセルのセット、インターイントラ予測パラメータのセット、またはそれらの組合せに基づいて生成され得る。予測ブロックを生成することは、現在ブロックのための、それぞれのピクセルまたはピクセルロケーションのための、それぞれの予測子または予測ピクセルを生成することを含み得る。予測ブロックの生成の一例が、図8に示されている。
【0129】
770において、再構成ブロックが生成され得る。770において再構成ブロックを生成することは、符号化ビットストリームから残差ブロックを復号することを含み得る。770において再構成ブロックを生成することは、予測ブロックおよび残差ブロックを結合して、再構成ブロックを取得することを含み得る。たとえば、再構成ブロックの現在ピクセルの値は、対応する予測子および対応する残差ピクセルの和を使用して決定され得る。
【0130】
780において、再構成ブロックが出力され得る。たとえば、再構成ブロックは、再構成フレーム中に含まれ得、再構成フレームは、ユーザへの提示などのために、図5に示された出力ビデオストリーム504などを介して出力され得る。図7に明確に示されていないが、再構成ブロックまたは再構成フレームを生成することは、図5の560において示されたフィルタ処理などのフィルタ処理を含み得る。
【0131】
暗黙的モデルとともにインターイントラ予測を使用する復号700の他の実装形態が利用可能である。たとえば、動きベクトルまたは再帰係数の他の濃度が使用され得る。
【0132】
図8は、本開示の実装形態による、暗黙的モデルとともにインターイントラ予測を使用する、符号化または復号などのコーディングのための予測ブロックの生成800の一例のフローチャート図である。暗黙的モデルとともにインターイントラ予測を使用するコーディングのための予測ブロックの生成800は、図5に示されたデコーダ500などのデコーダ、または図4に示されたエンコーダ400などのエンコーダにおいて実装され得る。
【0133】
図8に示されているように、暗黙的モデルとともにインターイントラ予測を使用するコーディングのための予測ブロックの生成800は、810において、現在ブロックの現在ピクセルを識別すること、820において、現在ピクセルに対応する1つまたは複数のインター予測ピクセルを識別すること、830において、現在ピクセルのための予測子を取得すること、および840において、予測ブロック中に予測子を含めることを含む。
【0134】
810において、現在ブロックの現在ピクセルが識別され得る。現在ブロックは、図7の710において示されるように識別された現在ブロックなど、再構成のための現在ブロックであり得る。現在ピクセルは、現在ブロックから前に再構成されたピクセル以外のピクセルであり得る。たとえば、現在ピクセルは、現在ブロックの左上のピクセルなど、現在ブロックの1つまたは複数の端部または境界に沿った、現在ブロックからのピクセルであり得る。別の例では、現在ピクセルは、現在ピクセルの左または上など、定義された方向において隣接する、現在ブロックから前に再構成されたピクセルなど、現在ブロックからの1つまたは複数の前に再構成されたピクセルに隣接し得る。現在ピクセルを識別することは、現在ピクセルに対応するピクセルロケーションを識別することを含み得る。
【0135】
820において、現在ピクセルに対応する、インター予測ピクセルのセットなど、1つまたは複数のインター予測ピクセルが識別され得る。たとえば、図7の740において示されるように生成されたインター予測ブロックのセットは、1の濃度を有し得、第1のインター予測ブロックを含み得、現在ピクセルに対応する、それぞれのブロック内の空間的に1つのインター予測ピクセルが識別され得る。別の例では、図7の740において示されるように生成されたインター予測ブロックのセットは、2の濃度を有し得、第1のインター予測ブロックおよび第2のインター予測ブロックを含み得、現在ピクセルに対応する、それぞれのブロック内の空間的に第1のインター予測ピクセルが、第1のインター予測ブロックから識別され得、現在ピクセルに対応する、それぞれのブロック内の空間的に第2のインター予測ピクセルが、第2のインター予測ブロックから識別され得る。
【0136】
830において、現在ピクセルのための予測子が取得され得る。
【0137】
いくつかの実装形態では、第1のインターイントラ予測モデルは、1つの動きベクトルおよび1つの混合パラメータを使用することを含み得る。第1のインターイントラ予測モデルは、他の動きベクトルを使用すること、他の混合パラメータを決定すること、オフセットを決定すること、および再帰係数を決定することを省略し得る。第1のインターイントラ予測モデルによれば、i番目の行およびj番目の列における現在ブロックからのピクセルであり得る、現在ピクセルのための予測子(P[i,j])は、インター予測ピクセル(Pinter1[i,j])および混合パラメータ(α)の積として取得され得、このことが次のように表され得る。
P[i,j]=α・PInter1[i,j]
【0138】
いくつかの実装形態では、第2のインターイントラ予測モデルは、1つの動きベクトル、1つの混合パラメータ(α)、およびオフセット(δ)を使用することを含み得る。第2のインターイントラ予測モデルは、他の動きベクトルを使用すること、他の混合パラメータを決定すること、および再帰係数を決定することを省略し得る。第2のインターイントラ予測モデルによれば、i番目の行およびj番目の列における現在ブロックからのピクセルであり得る、現在ピクセルのための予測子(P[i,j])は、オフセット(δ)と、インター予測ピクセル(Pinter1[i,j])および混合パラメータ(α)の積との和として取得され得、このことが次のように表され得る。
P[i,j]=α・PInter1[i,j]+δ
【0139】
いくつかの実装形態では、第3のインターイントラ予測モデルは、2つの動きベクトルおよび1つの混合パラメータを使用することを含み得る。第3のインターイントラ予測モデルは、他の動きベクトルを使用すること、他の混合パラメータを決定すること、オフセットを決定すること、および再帰係数を決定することを省略し得る。第3のインターイントラ予測モデルによれば、i番目の行およびj番目の列における現在ブロックからのピクセルであり得る、現在ピクセルのための予測子(P[i,j])は、第1の動きベクトルに対応する第1のインター予測ブロックからの第1のインター予測ピクセル(Pinter1[i,j])および混合パラメータ(α)の積と、第2の動きベクトルに対応する第2のインター予測ブロックからの第2のインター予測ピクセル(Pinter2[i,j])、および1と混合パラメータ(α)との間の差の積との和として取得され得、このことが次のように表され得る。
P[i,j]=α・PInter1[i,j]+1-α・PInter2[i,j]
【0140】
いくつかの実装形態では、第4のインターイントラ予測モデルは、2つの動きベクトル、1つの混合パラメータ(α)、およびオフセット(δ)を使用することを含み得る。第4のインターイントラ予測モデルは、他の動きベクトルを使用すること、他の混合パラメータを決定すること、および再帰係数を決定することを省略し得る。第4のインターイントラ予測モデルによれば、i番目の行およびj番目の列における現在ブロックからのピクセルであり得る、現在ピクセルのための予測子(P[i,j])は、オフセット(δ)と、第1の動きベクトルに対応する第1のインター予測ブロックからの第1のインター予測ピクセル(Pinter1[i,j])および混合パラメータ(α)の積と、第2の動きベクトルに対応する第2のインター予測ブロックからの第2のインター予測ピクセル(Pinter2[i,j])、および1と混合パラメータ(α)との間の差の積との和として取得され得、このことが次のように表され得る。
P[i,j]=α・PInter1[i,j]+1-α・PInter2[i,j]+δ
【0141】
いくつかの実装形態では、第5のインターイントラ予測モデルは、2つの動きベクトルおよび2つの混合パラメータ(α、β)を使用することを含み得る。第5のインターイントラ予測モデルは、他の動きベクトルを使用すること、他の混合パラメータを決定すること、オフセットを決定すること、および再帰係数を決定することを省略し得る。第5のインターイントラ予測モデルによれば、i番目の行およびj番目の列における現在ブロックからのピクセルであり得る、現在ピクセルのための予測子(P[i,j])は、第1の動きベクトルに対応する第1のインター予測ブロックからの第1のインター予測ピクセル(Pinter1[i,j])および第1の混合パラメータ(α)の積と、第2の動きベクトルに対応する第2のインター予測ブロックからの第2のインター予測ピクセル(Pinter2[i,j])および第2の混合パラメータ(β)の積との和として取得され得、このことが次のように表され得る。
P[i,j]=α・PInter1[i,j]+β・PInter2[i,j]
【0142】
いくつかの実装形態では、第6のインターイントラ予測モデルは、2つの動きベクトル、2つの混合パラメータ(α、β)、およびオフセット(δ)を使用することを含み得る。第6のインターイントラ予測モデルは、他の動きベクトルを使用すること、他の混合パラメータを決定すること、および再帰係数を決定することを省略し得る。第6のインターイントラ予測モデルによれば、i番目の行およびj番目の列における現在ブロックからのピクセルであり得る、現在ピクセルのための予測子(P[i,j])は、オフセット(δ)と、第1の動きベクトルに対応する第1のインター予測ブロックからの第1のインター予測ピクセル(Pinter1[i,j])および混合パラメータ(α)の積と、第2の動きベクトルに対応する第2のインター予測ブロックからの第2のインター予測ピクセル(Pinter2[i,j])および第2の混合パラメータ(β)の積との和として取得され得、このことが次のように表され得る。
P[i,j]=α・PInter1[i,j]+β・PInter2[i,j]+δ
【0143】
いくつかの実装形態では、第7のインターイントラ予測モデルは、適応フィルタインターイントラ予測の一例であり得、1つの動きベクトル、1つの混合パラメータ、および再帰係数のセットなど、1つまたは複数の再帰係数を使用することを含み得る。第7のインターイントラ予測モデルは、他の動きベクトルを使用すること、他の混合パラメータを決定すること、およびオフセットを決定することを省略し得る。第7のインターイントラ予測モデルによれば、i番目の行およびj番目の列における現在ブロックからのピクセルであり得る、現在ピクセルのための予測子(P[i,j])を取得することは、混合パラメータ(α)およびインター予測ピクセル(Pinter1[i,j])の第1の積を取得することを含み得る。第7のインターイントラ予測モデルによれば、現在ピクセルのための予測子(P[i,j])を取得することは、第1の再帰係数(γ10)と、現在ピクセルに対して定義された配向に従って、現在ブロックからなど、現在フレームからの第1の前に再生成された利用可能なピクセルコンテキストピクセルとの第2の積を取得することを含み得る。たとえば、第1の利用可能なピクセルコンテキストピクセルは、現在ブロックから前に再生成されたピクセルであり得る、現在ピクセルのすぐ上の現在フレームから前に再生成されたピクセル(P[i-1,j])であり得る。第7のインターイントラ予測モデルによれば、現在ピクセルのための予測子(P[i,j])を取得することは、第2の再帰係数(γ01)と、現在ピクセルに対して定義された配向に従って、現在ブロックからなど、現在フレームからの第2の前に再生成された利用可能なピクセルコンテキストピクセルとの第3の積を取得することを含み得る。たとえば、第2の利用可能なピクセルコンテキストピクセルは、現在ブロックから前に再生成されたピクセルであり得る、現在ピクセルのすぐ左の現在フレームから前に再生成されたピクセル(P[i,j-1])であり得る。第7のインターイントラ予測モデルによれば、現在ピクセルのための予測子(P[i,j])を取得することは、第3の再帰係数(γ11)と、現在ピクセルに対して定義された配向に従って、現在ブロックからなど、現在フレームからの第3の前に再生成された利用可能なピクセルコンテキストピクセルとの第4の積を取得することを含み得る。たとえば、第3の利用可能なピクセルコンテキストピクセルは、現在ブロックから前に再生成されたピクセルであり得る、現在ピクセルのすぐ上および左の現在フレームから前に再生成されたピクセル(P[i-1,j-1])であり得る。第7のインターイントラ予測モデルによれば、現在ピクセルのための予測子(P[i,j])を取得することは、予測子として、第1の積、第2の積、第3の積、および第4の積の和を取得することを含み得る。第7のインターイントラ予測モデルによれば、現在ピクセルのための予測子(P[i,j])を取得することは、次のように表され得る。
P[i,j]=α・PInter1[i,j]+γ10・P[i-1,j]+γ01・P[i,j-1]+γ11・P[i-1,j-1]
【0144】
本明細書で説明する例は、3の濃度を有する再帰係数のセット、および3の濃度を有する、前に再生成された利用可能なピクセルコンテキストピクセルのセットを含むが、再帰係数および前に再生成された利用可能なピクセルコンテキストピクセルの他の濃度が使用され得る。
【0145】
いくつかの実装形態では、第8のインターイントラ予測モデルは、オフセット(δ)が使用され得ることを除いて、第7のインターイントラ予測モデルと同様であり得、このことが次のように表され得る。
P[i,j]=α・PInter1[i,j]+γ10・P[i-1,j]+γ01・P[i,j-1]+γ11・P[i-1,j-1]+δ
【0146】
いくつかの実装形態では、第9のインターイントラ予測モデルは、2つの動きベクトルおよび2つの対応するインター予測ピクセル(PInter1、PInter2)が使用され得ることを除いて、第7のインターイントラ予測モデルと同様であり得、このことが次のように表され得る。
P[i,j]=α・PInter1[i,j]+1-α・PInter2[i,j]+γ10・P[i-1,j]+γ01・P[i,j-1]+γ11・P[i-1,j-1]
【0147】
いくつかの実装形態では、第10のインターイントラ予測モデルは、オフセット(δ)が使用され得ることを除いて、第9のインターイントラ予測モデルと同様であり得、このことが次のように表され得る。
P[i,j]=α・PInter1[i,j]+1-α・PInter2[i,j]+γ10・P[i-1,j]+γ01・P[i,j-1]+γ11・P[i-1,j-1]+δ
【0148】
いくつかの実装形態では、第11のインターイントラ予測モデルは、2つの混合パラメータ(α、β)が使用され得ることを除いて、第9のインターイントラ予測モデルと同様であり得、このことが次のように表され得る。
P[i,j]=α・PInter1[i,j]+β・PInter2[i,j]+γ10・P[i-1,j]+γ01・P[i,j-1]+γ11・P[i-1,j-1]
【0149】
いくつかの実装形態では、第12のインターイントラ予測モデルは、オフセット(δ)が使用され得ることを除いて、第11のインターイントラ予測モデルと同様であり得、このことが次のように表され得る。
P[i,j]=α・PInter1[i,j]+β・PInter2[i,j]+γ10・P[i-1,j]+γ01・P[i,j-1]+γ11・P[i-1,j-1]+δ
【0150】
840において、予測子が予測ブロック中に含まれ得る。予測ブロックを取得することは、845において破線の矢印線によって示されるように、現在ブロックのピクセルのためのそれぞれの予測子を取得することを含み得る。
【0151】
図9は、暗黙的モデルとともにインターイントラ予測を使用する復号700、または図10に示された、暗黙的モデルとともにインターイントラ予測を使用する符号化1000など、本開示の実装形態による、暗黙的モデルとともにインターイントラ予測を使用するコーディングのための画像要素900の一例のブロック図である。
【0152】
図9は、現在フレームの現在ブロック910(P[])を示す。現在ブロック910は、現在ピクセル912と、現在ピクセル912のすぐ上の第1のピクセルコンテキストピクセル914と、現在ピクセル912のすぐ左の第2のピクセルコンテキストピクセル916と、現在ピクセル912のすぐ上および左の第3のピクセルコンテキストピクセル918とを含む。ピクセルコンテキストピクセル914、916、918は、定義されたピクセルコンテキスト配向など、第1の定義された配向に従って、現在ピクセル912に対して配向される。ピクセルコンテキストピクセルの他の濃度および配向が使用され得る。現在ブロック910などのブロックのピクセルは、現在ピクセルに対してデカルト座標を使用して参照され得る。たとえば、現在ピクセル912は、p[i,j]として表され得、図示のようにp[1,1]であり得る。第1のピクセルコンテキストピクセル914は、P[i-1,j]として表され得、図示のようにP[0,1]であり得る。第2のピクセルコンテキストピクセル916は、P[i,j-1]として表され得、図示のようにP[1,0]であり得る。第3のピクセルコンテキストピクセル918は、P[i-1,j-1]として表され得、図示のようにP[0,0]であり得る。いくつかの実装形態(明確に図示せず)では、現在ピクセルは、現在ブロックの左上のピクセルなど、現在ブロックの境界に隣接し得、ピクセルコンテキストピクセルのうちの1つまたは複数は、現在フレーム中の現在ブロックに隣接するブロックからなど、現在ブロックの外側から取得され得る。
【0153】
図9は、空間ブロックコンテキストピクセル920を示す。図9に示されているように、空間ブロックコンテキストピクセルは、現在ブロックのすぐ上の現在フレームの4つの行からのピクセルと、現在ブロックのすぐ左の現在フレームの4つの列からのピクセルと、現在ブロックのすぐ上および左の現在フレームの4つの列および現在フレームの4つの行からのピクセルとを含む。空間ブロックコンテキストピクセル920は、現在ブロック以外の現在フレームからのブロックから前に再構成されたピクセルであり得る。空間ブロックコンテキストピクセル920は、定義されたブロックコンテキスト配向など、第2の定義された配向に従って、現在ブロック910に対して配向される。空間ブロックコンテキストピクセル920の他の濃度および配向が使用され得る。空間ブロックコンテキストピクセル920は、現在ブロックの左上のピクセルに対してなど、現在ブロックに対してデカルト座標を使用して参照され得る。たとえば、空間ブロックコンテキストピクセル920のうちの左上における空間ブロックコンテキストピクセルは、P[i-4,j-4]として表され得る。
【0154】
図9は、第1の動きベクトル930を示す。図9は、第1の動きベクトル930によって示された第1の参照フレームの一部分(別個に図示せず)から補間または他の方法で導出されるなど、取得され得る、第1のインター予測ブロック940を示す。図9は、第1のインター予測ブロック940の上、左、ならびに上および左の第1の参照ブロックコンテキストピクセル950を示す。第1の参照ブロックコンテキストピクセル950は、第1の参照ブロックコンテキストピクセル950が、第2の定義された配向に従って、第1のインター予測ブロック940に対して配向されることを除いて、第1の動きベクトルによって示された第1の参照フレームの一部分から補間または他の方法で導出されるなど、第1のインター予測ブロック940と同様に取得され得る。第1の参照ブロックコンテキストピクセル950は、現在ブロックの左上のピクセルに対してなど、現在ブロックに対してデカルト座標を使用して参照され得る。たとえば、第1の参照ブロックコンテキストピクセル950のうちの左上における参照ブロックコンテキストピクセルは、PInter1[i-4,j-4]として表され得る。
【0155】
図9は、第2の動きベクトル960を示す。図9は、第2の動きベクトル960によって示された第2の参照フレームの一部分(別個に図示せず)から補間または他の方法で導出されるなど、取得され得る、第2のインター予測ブロック970を示す。図9は、第2のインター予測ブロック970の上、左、ならびに上および左の第2の参照ブロックコンテキストピクセル980を示す。第2の参照ブロックコンテキストピクセル980は、第2の参照ブロックコンテキストピクセル980が、第2の定義された配向に従って、第2のインター予測ブロック970に対して配向されることを除いて、第2の動きベクトルによって示された第2の参照フレームの一部分から補間または他の方法で導出されるなど、第2のインター予測ブロック970と同様に取得され得る。第2の参照ブロックコンテキストピクセル980は、現在ブロックの左上のピクセルに対してなど、現在ブロックに対してデカルト座標を使用して参照され得る。たとえば、第2の参照ブロックコンテキストピクセル980のうちの左上における参照ブロックコンテキストピクセルは、PInter2[i-4,j-4]として表され得る。
【0156】
図10は、本開示の実装形態による、暗黙的モデルとともにインターイントラ予測を使用する符号化1000の一例のフローチャート図である。暗黙的モデルとともにインターイントラ予測を使用する符号化1000は、図4に示されたエンコーダ400などのエンコーダにおいて実装され得る。暗黙的モデルとともにインターイントラ予測を使用する符号化1000は、本明細書で説明する場合を除いて、または別段に文脈から明らかである場合を除いて、暗黙的モデルとともにインターイントラ予測を使用する復号700と同様であり得る。
【0157】
図10に示されているように、暗黙的モデルとともにインターイントラ予測を使用する符号化1000は、1010において、現在ブロックを識別すること、1020においてインター予測データを生成すること、1030において、1つまたは複数の空間ブロックコンテキストピクセルを取得すること、1040において、1つまたは複数のインターイントラ予測パラメータを取得すること、1050において、予測ブロックを生成すること、1060において、残差ブロックを生成すること、および1070において出力することを含む。
【0158】
図10に明確に示されていないが、暗黙的モデルとともにインターイントラ予測を使用する符号化1000は、入力ビデオストリームの少なくとも一部分を取得することを含み得る。図10に明確に示されていないが、暗黙的モデルとともにインターイントラ予測を使用する符号化1000は、入力ビデオストリームの入力フレームなど、符号化するための現在フレームを識別することを含み得る。現在フレームは、図3に示されたビデオシーケンス310などのビデオシーケンスの、図3に示されたフレーム330などのフレームであり得る。フレームとして説明するが、現在フレームは、図3に示されたタイル340のうちの1つなどのタイルなど、フレームの一部分であり得る。図10に明確に示されていないが、暗黙的モデルとともにインターイントラ予測を使用する符号化1000は、現在フレームの前に符号化された部分に基づいて、現在フレームのための再構成フレームの一部分を生成することを含み得る。現在フレームを識別することは、再構成フレームの、1つまたは複数の前に符号化、再構成、またはその両方が行われた、ブロックなどの部分を識別することを含み得る。
【0159】
図10に別個に示されていないが、暗黙的モデルとともにインターイントラ予測を使用する符号化1000は、インターイントラ予測モデルを示すかまたは識別する、インターイントラ予測モデル識別子を識別することを含み得る、インターイントラ予測モデルを識別することを含み得る。いくつかの実装形態では、インターイントラ予測モデルは、レートひずみ最適化を使用して識別され得る。
【0160】
1010において、現在ブロックが識別され得る。現在ブロックは、前に符号化されたブロック以外のブロックなど、現在フレームのブロックであり得る。たとえば、現在ブロックは、図6に示されたブロック610などのブロックであり得る。
【0161】
1020において、現在ブロックのためのインター予測データが生成され得る。インター予測データを生成することは、現在ブロックのインター予測のための、インター予測動きベクトルのセットなど、1つまたは複数の動きベクトルを生成することを含み得る。それぞれの動きベクトルは、対応する参照フレームに関連付けられ得る。参照フレームは、それぞれの動きベクトルについて、ビデオシーケンスから前に符号化、再構成、またはその両方が行われたフレームなど、対応する参照フレームを示し得る。
【0162】
1020において、インター予測ブロックのセットなど、1つまたは複数のインター予測ブロックが生成され得る。1つまたは複数のインター予測ブロックは、1020において識別された動きベクトルなど、1つまたは複数の動きベクトルを使用して生成され得る。1つまたは複数のインター予測ブロックは、1020において識別された参照フレームなど、1つまたは複数の参照フレームを使用して生成され得る。動きベクトルは、対応する参照フレームに関連付けられ得る。1つまたは複数のインター予測ブロックは、それぞれの動きベクトルによって空間的に識別されるそれぞれの参照フレームからのサンプルに基づいて生成され得、このことは、参照フレームのピクセル値を使用して、インター予測ブロックのためのピクセル値を補間または他の方法で導出することを含み得る。インター予測ブロックの、またはそれぞれのインター予測ブロックのブロック寸法は、現在ブロックのブロック寸法と一致し得る。
【0163】
1つまたは複数のインター予測ブロックを生成することは、参照ブロックコンテキストピクセルセットのセットなど、1つまたは複数の参照ブロックコンテキストピクセルセットを生成することを含み得、ここにおいて、参照ブロックコンテキストピクセルセットは、それぞれのインター予測ブロックに対応する、定義された空間的配向に従ってそれぞれのインター予測ブロックに対して配向された参照ブロックコンテキストピクセルのセットを含む。参照ブロックコンテキストピクセルを生成することは、補間または他の方法で導出された参照ブロックコンテキストピクセル値を生成することを含み得、参照ブロックコンテキストピクセルが定義された空間的配向に従ってそれぞれのインター予測ブロックに対して配向され得ることを除いて、インター予測ブロックの生成と同様であり得る。定義された空間的配向は、1030において空間ブロックコンテキストピクセルを取得するために使用される、定義された空間的配向であり得る。一例では、参照ブロックコンテキストピクセルは、対応する動きベクトルによって識別された参照フレームの部分の上の4つの最も近い近隣する行からのピクセル、対応する動きベクトルによって識別された参照フレームの部分の左の4つの最も近い近隣する列からのピクセル、ならびに対応する動きベクトルによって識別された参照フレームの部分の上および左の4つの最も近い近隣する行および列からのピクセルなど、定義された空間的配向に従って対応する動きベクトルによって識別された参照フレームの部分に空間的に近い参照フレームからのピクセルに基づいて生成され得る。それぞれの動きベクトルおよび参照フレームに対応する参照ブロックコンテキストピクセルのセットの濃度および空間パターンは、空間ブロックコンテキストピクセルのセットの濃度および空間パターンに等しくなり得る。参照ブロックコンテキストピクセルの取得の一例が、図9に示されている。
【0164】
1030において、空間ブロックコンテキストピクセルのセットなど、1つまたは複数の空間ブロックコンテキストピクセルが取得され得る。空間ブロックコンテキストピクセルは、現在の再構成フレームからの前に符号化、再構成、またはその両方が行われたピクセルなど、現在の再構成フレームからのピクセルであり得る。空間ブロックコンテキストピクセルは、現在ブロックに対して定義された空間的配向に従って識別され得る。空間ブロックコンテキストピクセルは、現在ブロックのイントラ予測のための因果的イントラ予測領域と一致し得る。定義された配向は、空間ブロックコンテキストピクセルが、現在ブロックに隣接するなど、近接して配向されることを示し得る。たとえば、空間ブロックコンテキストピクセルは、現在ブロックの上の1つもしくは複数のブロック、現在ブロックの左の1つもしくは複数のブロック、現在ブロックの上および左の1つもしくは複数のブロック、またはそれらの組合せからのピクセルを含み得る。現在ブロックに対する空間ブロックコンテキストピクセルの他の配向が使用され得る。空間ブロックコンテキストピクセルを識別することは、本明細書で説明する場合を除いて、または別段に文脈から明らかである場合を除いて、イントラ予測のためのコンテキストピクセルの識別と同様であり得る。一例では、空間ブロックコンテキストピクセルは、現在ブロックの上の4つの最も近い近隣する行からのピクセル、現在ブロックの左の4つの最も近い近隣する列からのピクセル、ならびに現在ブロックの上および左の4つの最も近い近隣する行および列からのピクセルであり得る。空間ブロックコンテキストピクセルの取得の一例が、図9に示されている。いくつかの実装形態では、暗黙的モデルとともにインターイントラ予測を使用する符号化1000は、現在ブロックのためのイントラ予測ピクセルを取得すること、または他の方法でそれにアクセスすることを省略し得る。
【0165】
1040において、インターイントラ予測パラメータのセットなど、1つまたは複数のインターイントラ予測パラメータが取得され得る。1つまたは複数のインターイントラ予測パラメータは、1030において取得された空間ブロックコンテキストピクセルと、1020において生成された参照ブロックコンテキストピクセルとを使用して取得され得る。1つまたは複数のインターイントラ予測パラメータを取得することは、空間ブロックコンテキストピクセルを参照ブロックコンテキストピクセルと比較することを含み得る。1つまたは複数のインターイントラ予測パラメータを取得することは、空間ブロックコンテキストピクセルおよび参照ブロックコンテキストピクセルを使用して、最小2乗問題を解くことによって、1つまたは複数のインターイントラ予測パラメータを生成することを含み得る。最小2乗問題を解くことは、参照ブロックコンテキストピクセルから予測される空間ブロックコンテキストピクセルにおける誤差を最小化する、1つまたは複数のインターイントラ予測パラメータを確率的に決定し得る。
【0166】
1つまたは複数のインターイントラ予測パラメータを取得することは、混合パラメータのセットなど、1つまたは複数の混合パラメータを取得することを含み得る。混合パラメータのセットの濃度は、動きベクトルのセットの濃度であり得、動きベクトルのセットの濃度は、インター予測ブロックのセットの濃度であり得、インター予測ブロックのセットの濃度は、参照ブロックコンテキストピクセルセットのセットの濃度であり得る。たとえば、動きベクトルのセットの濃度は1であり得、インター予測ブロックのセットの濃度は1であり得、参照ブロックコンテキストピクセルセットのセットの濃度は1であり得、混合パラメータのセットの濃度は1であり得、第1の混合パラメータ(α)を含み得る。別の例では、動きベクトルのセットの濃度は2であり得、インター予測ブロックのセットの濃度は2であり得、参照ブロックコンテキストピクセルセットのセットの濃度は2であり得、混合パラメータのセットの濃度は2であり得、第1の混合パラメータ(α)および第2の混合パラメータ(β)を含み得る。いくつかの実装形態では、混合パラメータのセットの濃度は、動きベクトルのセットの濃度、インター予測ブロックのセットの濃度、および参照ブロックコンテキストピクセルセットのセットの濃度とは異なり得る。たとえば、動きベクトルのセットの濃度は2であり得、インター予測ブロックのセットの濃度は2であり得、参照ブロックコンテキストピクセルセットのセットの濃度は2であり得、混合パラメータのセットの濃度は1であり得、第1の混合パラメータ(α)を含み得る。
【0167】
1つまたは複数のインターイントラ予測パラメータを取得することは、オフセット(δ)を取得することを含み得る。
【0168】
1つまたは複数のインターイントラ予測パラメータを取得することは、再帰係数のセットなど、1つまたは複数の再帰係数を取得することを含み得る。たとえば、再帰係数のセットは、3つの再帰係数(γ100111)を含み得る。
【0169】
1050において、予測ブロックが生成され得る。予測ブロックは、インター予測ブロックのセット、空間ブロックコンテキストピクセルのセット、インターイントラ予測パラメータのセット、またはそれらの組合せに基づいて生成され得る。予測ブロックを生成することは、現在ブロックのための、それぞれのピクセルまたはピクセルロケーションのための、それぞれの予測子または予測ピクセルを生成することを含み得る。予測ブロックの生成の一例が、図8に示されている。
【0170】
1060において、残差ブロックが生成され得る。1060において残差ブロックを生成することは、現在ブロックから予測ブロックを減算して、残差ブロックを取得することを含み得る。たとえば、残差ブロックの現在ピクセルの値は、対応する入力ピクセルから対応する予測子を減算した差を使用して決定され得る。
【0171】
1070において、符号化ビットストリームが出力され得る。たとえば、1070において、残差ブロックが符号化ビットストリーム中に含められ、出力され得、このことは、残差ブロックをエントロピーコーディングすることを含み得る。1070において、1つまたは複数の動きベクトルが、符号化ビットストリーム中に含められ、出力され得、このことは、1つまたは複数の動きベクトルをエントロピーコーディングすることを含み得る。1070において、それぞれの動きベクトルに関連付けられた参照フレームを示す情報が、符号化ビットストリーム中に含められ、出力され得、このことは、参照フレーム情報をエントロピーコーディングすることを含み得る。1070において、インターイントラ予測モデル識別子が、符号化ビットストリーム中に含められ、出力され得、このことは、インターイントラ予測モデル識別子をエントロピーコーディングすることを含み得る。
【0172】
本明細書で使用する「最適な(optimal)」、「最適化された(optimized)」、「最適化(optimization)」という用語、またはそれらの他の形態は、本明細書で明記されていない限り、それぞれの文脈に関するものであり、絶対的な理論的な最適化を示すものではない。
【0173】
本明細書で使用する「セット(set)」という用語は、本明細書で明確に説明する場合を除いて、または別段に文脈から明らかである場合を除いて、1次元配列またはベクトルとして表され得る、0個以上の別個の要素またはメンバーの区別可能な集合またはグループ化を示す。
【0174】
「例(example)」または「例示的(exemplary)」という語は、例、事例、または例示として働くことを意味するように、本明細書で使用される。「例」または「例示的」として本明細書で説明する任意の態様または設計は、必ずしも他の態様または設計よりも好ましいかまたは好都合であるものとして解釈されることになるとは限らない。むしろ、「例」または「例示的」という語の使用は、概念を具体的に提示することを意図する。本出願で使用する「または(or)」という用語は、排他的な「または」ではなく、包括的な「または」を意味するものとする。すなわち、別段に規定されていない限り、または文脈から明らかでない限り、「XはAまたはBを含む」は、自然包括的並べ替えのうちのいずれかを意味するものとする。すなわち、XがAを含み、XがBを含み、またはXがAとBの両方を含む場合、上記の事例のうちのいずれの下でも「XはAまたはBを含む」が満たされる。加えて、本出願および添付の特許請求の範囲で使用する「a」および「an」という冠詞は、概して、別段に規定されていない限り、または単数形を対象とすることが文脈から明瞭でない限り、「1つまたは複数の」を意味するものと解釈されるべきである。その上、全体を通して「一実施形態(an embodiment)」もしくは「一実施形態(one embodiment)」、または「一実装形態(an implementation)」もしくは「一実装形態(one implementation)」という用語の使用は、そのように説明されない限り、同じ実施形態または実装形態を意味するものではない。本明細書で使用する「決定する(determine)」および「識別する(identify)」という用語、またはそれらの任意の変形形態は、図1に示されたデバイスのうちの1つまたは複数を使用する、何であれ任意の方法で、選択すること、確認すること、計算すること、ルックアップすること、受信すること、決定すること、確立すること、取得すること、または他の方法で識別することもしくは決定することを含む。
【0175】
さらに、説明を簡単にするために、本明細書の図および説明は、ステップまたは段階のシーケンスまたは連続を含み得るが、本明細書で開示する方法の要素は、様々な順序で、かつ/または同時に発生し得る。追加として、本明細書で開示する方法の要素は、本明細書で明示的に提示および説明されない他の要素とともに発生し得る。さらに、本明細書で開示する方法の1つまたは複数の要素は、開示する主題による方法の実装形態から省略され得る。
【0176】
送信コンピューティングおよび通信デバイス100Aならびに/または受信コンピューティングおよび通信デバイス100B(ならびに、その上に記憶される、かつ/またはそれによって実行されるアルゴリズム、方法、命令など)の実装形態は、ハードウェア、ソフトウェア、またはそれらの任意の組合せにおいて実現され得る。ハードウェアは、たとえば、コンピュータ、知的財産(IP)コア、特定用途向け集積回路(ASIC)、プログラマブル論理アレイ、光プロセッサ、プログラマブル論理コントローラ、マイクロコード、マイクロコントローラ、サーバ、マイクロプロセッサ、デジタル信号プロセッサ、または任意の他の好適な回路を含み得る。特許請求の範囲において、「プロセッサ」という用語は、上記のハードウェアのいずれかを単独または組合せのいずれかで包含するものと理解されるべきである。「信号」および「データ」という用語は、互換的に使用される。さらに、送信コンピューティングおよび通信デバイス100Aならびに受信コンピューティングおよび通信デバイス100Bは、必ずしも同様の方法で実装される必要があるとは限らない。
【0177】
さらに、一実装形態では、たとえば、送信コンピューティングおよび通信デバイス100Aまたは受信コンピューティングおよび通信デバイス100Bは、実行されると、本明細書で説明するそれぞれの方法、アルゴリズム、および/または命令のいずれかを行う、コンピュータプログラムを使用して実装され得る。追加または代替として、たとえば、本明細書で説明する方法、アルゴリズム、または命令のいずれかを行うための専用ハードウェアを含み得る、専用コンピュータ/プロセッサが利用され得る。
【0178】
送信コンピューティングおよび通信デバイス100Aならびに受信コンピューティングおよび通信デバイス100Bは、たとえば、リアルタイムビデオシステムにおけるコンピュータ上で実装され得る。代替的に、送信コンピューティングおよび通信デバイス100Aは、サーバ上で実装され得、受信コンピューティングおよび通信デバイス100Bは、ハンドヘルド通信デバイスなど、サーバとは別個のデバイス上で実装され得る。この事例では、送信コンピューティングおよび通信デバイス100Aは、エンコーダ400を使用して、コンテンツを符号化ビデオ信号に符号化し、符号化ビデオ信号を通信デバイスに送信することができる。次に、通信デバイスは、次いで、デコーダ500を使用して、符号化ビデオ信号を復号することができる。代替的に、通信デバイスは、通信デバイス上でローカルに記憶されたコンテンツ、たとえば、送信コンピューティングおよび通信デバイス100Aによって送信されなかったコンテンツを復号することができる。他の好適な送信コンピューティングおよび通信デバイス100Aならびに受信コンピューティングおよび通信デバイス100Bの実装方式が、利用可能である。たとえば、受信コンピューティングおよび通信デバイス100Bは、ポータブル通信デバイスではなく、概して固定のパーソナルコンピュータであり得、かつ/またはエンコーダ400を含むデバイスは、デコーダ500も含み得る。
【0179】
さらに、実装形態の全部または一部分は、たとえば、有形のコンピュータ使用可能またはコンピュータ可読媒体からアクセス可能なコンピュータプログラム製品の形態をとることができる。コンピュータ使用可能またはコンピュータ可読媒体は、たとえば、任意のプロセッサによって、またはそれに関連して使用するためのプログラムを有形に含み、記憶し、通信し、または移送することができる任意のデバイスであり得る。媒体は、たとえば、電子、磁気、光学、電磁、または半導体デバイスであり得る。他の好適な媒体も利用可能である。
【0180】
態様が任意の好都合な形態において実装され得ることが諒解されよう。たとえば、態様は、有形のキャリア媒体(たとえば、ディスク)または無形のキャリア媒体(たとえば、通信信号)であり得る、適切なキャリア媒体上で搬送され得る、適切なコンピュータプログラムによって実装され得る。態様はまた、本明細書で開示する方法および/または技法を実装するために構成されたコンピュータプログラムを実行しているプログラマブルコンピュータの形態をとり得る、好適な装置を使用して実装され得る。態様は、一態様の文脈において説明する特徴が別の態様において実装され得るように、組み合わせられ得る。
【0181】
本出願の容易な理解を可能にするために説明した上記の実装形態は、限定的ではない。反対に、本出願は、添付の特許請求の範囲内に含まれる様々な変更形態および等価な構成を対象とし、添付の特許請求の範囲は、法の下で許容されるようなすべてのそのような変更形態および等価な構造を包含するように、最も広い解釈が与えられるべきである。
【符号の説明】
【0182】
100 コンピューティングデバイス
100A コンピューティングおよび通信デバイス、第1のコンピューティングおよび通信デバイス、送信コンピューティングおよび通信デバイス
100B コンピューティングおよび通信デバイス、第2のコンピューティングおよび通信デバイス、受信コンピューティングおよび通信デバイス
100C コンピューティングおよび通信デバイス、サーバコンピューティングおよび通信デバイス、第3のコンピューティングおよび通信デバイス
110 メモリ
112 データ
114 命令
116 オペレーティングシステム
120 プロセッサ
130 ユーザインターフェース(UI)、ユーザインターフェース
140 電子通信ユニット
142 電子通信インターフェース
150 センサー
160 電源
170 バス
180 ワイヤードまたはワイヤレス電子通信媒体
180A、180B ワイヤードまたはワイヤレス通信リンク、ワイヤレス通信リンク
180C ワイヤードまたはワイヤレス通信リンク、ワイヤード通信リンク
200 コンピューティングおよび通信システム
210A アクセスポイント、第1のアクセスポイント
210B アクセスポイント、第2のアクセスポイント
220 ネットワーク
230A、230B ワイヤードまたはワイヤレス通信リンク
300 ビデオストリーム
310 ビデオシーケンス
320 隣接フレーム
330 フレーム
340 タイル
350 ブロック
400 エンコーダ、非変換ベースのエンコーダ
402 入力ビデオストリーム、ビデオストリーム
404 符号化(圧縮)ビットストリーム、圧縮ビットストリーム
410、540 イントラ/インター予測ユニット
420 変換ユニット
430 量子化ユニット
440 エントロピー符号化ユニット
450、520 逆量子化ユニット
460、530 逆変換ユニット
470、550 再構成ユニット
480、560 フィルタ処理ユニット
500 デコーダ
502 圧縮ビットストリーム
504 出力ビデオストリーム
510 エントロピー復号ユニット
570 デブロッキングフィルタ処理ユニット
600 一部分、部分
610 64×64ブロック、ブロック、左下ブロック
620 32×32ブロック
630 16×16ブロック
640 8×8ブロック
650 4×4ブロック
660 ルミナンスブロック
662 ルミナンスピクセル
670 UまたはCbクロミナンスブロック、クロミナンスブロック
680 VまたはCrクロミナンスブロック、クロミナンスブロック
690 クロミナンスピクセル
700 暗黙的モデルとともにインターイントラ予測を使用する復号
800 暗黙的モデルとともにインターイントラ予測を使用する、符号化または復号などのコーディングのための予測ブロックの生成、暗黙的モデルとともにインターイントラ予測を使用するコーディングのための予測ブロックの生成
900 暗黙的モデルとともにインターイントラ予測を使用するコーディングのための画像要素
910 現在ブロック
912 現在ピクセル
914 第1のピクセルコンテキストピクセル、ピクセルコンテキストピクセル
916 第2のピクセルコンテキストピクセル、ピクセルコンテキストピクセル
918 第3のピクセルコンテキストピクセル、ピクセルコンテキストピクセル
920 空間ブロックコンテキストピクセル
930 第1の動きベクトル
940 第1のインター予測ブロック
950 第1の参照ブロックコンテキストピクセル
960 第2の動きベクトル
970 第2のインター予測ブロック
980 第2の参照ブロックコンテキストピクセル
1000 暗黙的モデルとともにインターイントラ予測を使用する符号化
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10