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

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

▶ テンセント・アメリカ・エルエルシーの特許一覧

特許7315700クロマ成分に関する柔軟なブロックパーティション分割
<>
  • 特許-クロマ成分に関する柔軟なブロックパーティション分割 図1
  • 特許-クロマ成分に関する柔軟なブロックパーティション分割 図2
  • 特許-クロマ成分に関する柔軟なブロックパーティション分割 図3
  • 特許-クロマ成分に関する柔軟なブロックパーティション分割 図4
  • 特許-クロマ成分に関する柔軟なブロックパーティション分割 図5
  • 特許-クロマ成分に関する柔軟なブロックパーティション分割 図6
  • 特許-クロマ成分に関する柔軟なブロックパーティション分割 図7
  • 特許-クロマ成分に関する柔軟なブロックパーティション分割 図8
  • 特許-クロマ成分に関する柔軟なブロックパーティション分割 図9
  • 特許-クロマ成分に関する柔軟なブロックパーティション分割 図10
  • 特許-クロマ成分に関する柔軟なブロックパーティション分割 図11
  • 特許-クロマ成分に関する柔軟なブロックパーティション分割 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-18
(45)【発行日】2023-07-26
(54)【発明の名称】クロマ成分に関する柔軟なブロックパーティション分割
(51)【国際特許分類】
   H04N 19/119 20140101AFI20230719BHJP
   H04N 19/157 20140101ALI20230719BHJP
   H04N 19/176 20140101ALI20230719BHJP
   H04N 19/186 20140101ALI20230719BHJP
   H04N 19/46 20140101ALI20230719BHJP
   H04N 19/96 20140101ALI20230719BHJP
【FI】
H04N19/119
H04N19/157
H04N19/176
H04N19/186
H04N19/46
H04N19/96
【請求項の数】 6
(21)【出願番号】P 2021558680
(86)(22)【出願日】2021-01-07
(65)【公表番号】
(43)【公表日】2022-05-26
(86)【国際出願番号】 US2021012479
(87)【国際公開番号】W WO2021142105
(87)【国際公開日】2021-07-15
【審査請求日】2021-09-29
(31)【優先権主張番号】62/958,422
(32)【優先日】2020-01-08
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/087,236
(32)【優先日】2020-11-02
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジャオ,リアン
(72)【発明者】
【氏名】ジャオ,シン
(72)【発明者】
【氏名】リィウ,シャン
【審査官】久保 光宏
(56)【参考文献】
【文献】国際公開第2018/142823(WO,A1)
【文献】国際公開第2018/037853(WO,A1)
【文献】国際公開第2019/230670(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N19/00-19/98
CSDB(日本国特許庁)
学術文献等データベース(日本国特許庁)
IEEEXplore
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサを使用するビデオ復号化の方法であって、当該方法は、
ビデオデータを取得するステップと、
取得したビデオデータを解析して、パーティション分割パラメータを取得するステップであって、該パーティション分割パラメータは、ルマ成分に対応するルマパーティション分割パラメータと、複数の色成分に対応する1つ又は複数のクロマパーティション分割パラメータとを含む、ステップと、
該パーティション分割パラメータに基づいて、パーティション分割したスーパーブロックを取得するステップと、
該パーティション分割したスーパーブロックに基づいて、前記ビデオデータを復号化するステップと、を含み、
前記パーティション分割したスーパーブロックの最小のルマブロックのルマブロック領域サイズが第1の閾値よりも大きいか、又は前記最小のルマブロックのルマ分割深さが第2の閾値以下であることに基づいて、前記パーティション分割したスーパーブロックのルマブロック及び前記パーティション分割したスーパーブロックのクロマブロックは、第1のブロックパーティション分割構造に基づいてパーティション分割されており
前記ルマブロック領域サイズが前記第1の閾値以下であるか、又は前記ルマ分割深さ前記第2の閾値よりも大きいことに基づいて、前記パーティション分割したスーパーブロックの前記ルマブロックは、前記第1のブロックパーティション分割構造に基づいてパーティション分割されており、前記パーティション分割したスーパーブロックの前記クロマブロックは、前記第1のブロックパーティション分割構造とは異なる第2のブロックパーティション分割構造に基づいてパーティション分割されており
前記第2のブロックパーティション分割構造に基づいてパーティション分割されている最小のクロマブロックのクロマ分割深さが、前記ルマ分割深さに基づいて決定され、
前記最小のルマブロックの前記ルマブロック領域サイズが前記第1の閾値よりも大きいか、又は前記最小のルマブロックの前記ルマ分割深さが前記第2の閾値以下であることに基づいて、前記1つ又は複数のクロマパーティション分割パラメータは、前記複数の色成分について一緒に信号通知されるクロマパーティション分割パラメータを含み、
前記最小のルマブロックの前記ルマブロック領域サイズが前記第1の閾値以下であるか、又は前記最小のルマブロックの前記ルマ分割深さが前記第2の閾値よりも大きいことに基づいて、前記1つ又は複数のクロマパーティション分割パラメータは、前記複数の色成分について別々に信号通知される複数のクロマパーティション分割パラメータを含む、
方法。
【請求項2】
前記第1の閾値は128及び256のうちの1つであり、前記第2の閾値は1及び2のうちのいずれかである、請求項1に記載の方法。
【請求項3】
前記第2のブロックパーティション分割構造に基づいてパーティション分割されている最小のクロマブロックのクロマ分割深さは、前記ルマ分割深さよりも小さい、請求項1又は2に記載の方法。
【請求項4】
前記第1の閾値又は前記第2の閾値は、ビデオパラメータセット、シーケンスパラメータセット、ピクチャパラメータセット、適応パラメータセット、スライスヘッダ、及びタイルヘッダのうちの少なくとも1つで信号通知される、請求項1乃至のいずれか一項に記載の方法。
【請求項5】
ビデオコーディングのための装置であって、当該装置は、
プログラムコードを格納するように構成された少なくとも1つのメモリと、
前記プログラムコードを読み取り、該プログラムコードによって指示されるように動作するべく構成された少なくとも1つのプロセッサと、を含み、
前記プログラムコードが、前記少なくとも1つのプロセッサによって実行されると、
請求項1乃至のいずれか一項に記載の方法が実行される、
装置。
【請求項6】
コンピュータプログラムであって、該プログラムは1つ又は複数の命令を含み、該命令がビデオコーディングのために装置の1つ又は複数のプロセッサによって実行されると、該1つ又は複数のプロセッサに、
請求項1乃至のいずれか一項に記載の方法を実行させる、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
本願は、2020年1月8日に出願された米国仮特許出願第62/958,422号、及び2020年11月2日に出願された米国特許出願第17/087,236号による優先権を主張するものであり、これら文献の全体が本明細書に組み込まれる。
【0002】
本開示は、概して、データ処理の分野に関連し、より具体的には、クロマ成分に関する柔軟なブロックパーティション分割を含むビデオ符号化及び/又は復号化に関する。
【背景技術】
【0003】
AOMediaビデオ1(AV1)は、インターネットを介したビデオ送信のために設計されたオープンビデオコーディングフォーマットである。それは、半導体企業、ビデオオンデマンドプロバイダ、ビデオコンテンツプロデューサ、ソフトウェア開発会社、及びwebブラウザベンダーを含む、2015年に設立されたコンソーシアムであるAOMedia(Alliance for Open Media)によってVP9の後継として開発された。AV1プロジェクトのコンポーネントの多くは、アライアンスメンバーによる以前の研究努力から提供された。個々の貢献者は数年前に実験的な技術プラットフォームを開始した。Xiph/MozillaのDaalaは2010年に既にコードを公開し、Googleの実験的なVP9進化プロジェクトVP10は2014年9月12日に発表され、CiscoのThorは2015年8月11日に公開された。VP9のコードベースに基づいて、AV1は追加の技術を組み込んでおり、そのいくつかはこれらの実験フォーマットで開発された。AV1リファレンスコーデックの最初のバージョン0.1.0は、2016年4月7日に公開された。アライアンスは、リファレンス、ソフトウェアベースのエンコーダ、及びデコーダとともに、2018年3月28日にAV1ビットストリーム仕様のリリースを発表した。2018年6月25日に、仕様の検証済みバージョン1.0.0がリリースされた。2019年1月8日に、仕様のErrata1を含む検証済みバージョン1.0.0がリリースされた。AV1ビットストリーム仕様には、リファレンスビデオコーデックが含まれている。AOMediaビデオ2(AV2)は現在開発中である。AV1では、量子化ステップサイズの解像度が制限されている。
【0004】
ITU-T VCEG(Q6/16)及びISO/IEC MPEG(JTC1/SC29/WG11)は、2013年(バージョン1)、2014年(バージョン2)、2015(バージョン3)、及び2016(バージョン4)においてH.265/HEVC(High Efficiency Video Coding)標準を公開した。2015年に、これら2つの標準化団体は共同でJVET(Joint Video Exploration Team)を結成し、HEVCを超えた次のビデオコーディング標準の開発の可能性を探った。2017年10月に、それら標準化団体は、HEVCを超えた機能を含むビデオ圧縮に関する共同提案の呼びかけ(CfP: Call for Proposals)を出した。2018年2月15日までに、標準ダイナミックレンジ(SDR)に関して合計22のCfP応答、高ダイナミックレンジ(HDR)に関して12のCfP応答、及び360ビデオカテゴリに関して12のCfP応答がそれぞれ提出された。2018年4月に、受け取った全てのCfP応答は、122MPEG/10thJVET会議で評価された。この会議の結果、JVETは、HEVCを超えた次世代ビデオコーディングの標準化プロセスを正式に開始した。新しい標準はVVC(Versatile Video Coding)と名付けられ、JVETは、Joint
Video Expert Teamと改名された。
【発明の概要】
【0005】
実施形態は、ビデオデータを符号化及び/又は復号化するための方法、システム、及びコンピュータ可読媒体に関する。
【0006】
一態様によれば、ビデオデータを符号化及び/又は復号化するための方法が提供される。この方法は、ビデオデータを取得するステップと;取得したビデオデータを解析して、パーティション分割パラメータを取得するステップと;パーティション分割パラメータに基づいて、パーティション分割したスーパーブロックを取得するステップと;パーティション分割したスーパーブロックに基づいて、ビデオデータを復号するステップと;を含み得、
パーティション分割したスーパーブロックの最小のルマブロックのルマブロック領域サイズが第1の閾値よりも大きいか、又は最小のルマブロックのルマ分割深さが第2の閾値より小さいことに基づいて、パーティション分割したスーパーブロックのルマブロック及びパーティション分割したスーパーブロックのクロマブロックは、第1のブロックパーティション分割構造に基づいてパーティション分割され、
ルマブロック領域サイズが第1の閾値よりも小さいか、又はルマ分割深さが第2の閾値よりも大きいことに基づいて、パーティション分割したスーパーブロックのルマブロックは、第1のブロックパーティション分割構造に基づいてパーティション分割され、パーティション分割したスーパーブロックのクロマブロックは、第1のブロックパーティション分割構造とは異なる第2のブロックパーティション分割構造に基づいてパーティション分割される。
【0007】
一態様によれば、ビデオデータを符号化及び/又は復号化するための装置が提供される。この装置は、プログラムコードを格納するように構成された少なくとも1つのメモリと;プログラムコードを読み取り、プログラムコードによって指示されるように動作するべく構成された少なくとも1つのプロセッサと;を含み得、プログラムコードには、
少なくとも1つのプロセッサに、ビデオデータを取得させるように構成された第1の取得コードと;少なくとも1つのプロセッサに、取得したビデオデータを解析してパーティション分割パラメータを取得させるように構成された解析コードと;少なくとも1つのプロセッサに、パーティション分割パラメータに基づいてパーティション分割したスーパーブロックを取得させるように構成された第2の取得コードと;少なくとも1つのプロセッサに、パーティション分割したスーパーブロックに基づいてビデオデータを復号化させるように構成された復号化コードと;が含まれ、
パーティション分割したスーパーブロックの最小のルマブロックのルマブロック領域サイズが第1の閾値よりも大きいか、又は最小のルマブロックのルマ分割深さが第2の閾値よりも小さいことに基づいて、パーティション分割したスーパーブロックのルマブロック及びパーティション分割したスーパーブロックのクロマブロックは、第1のブロックパーティション分割構造に基づいてパーティション分割され、
ルマブロック領域サイズが第1の閾値よりも小さいか、又はルマ分割深さが第2の閾値よりも大きいことに基づいて、パーティション分割したスーパーブロックのルマブロックは、第1のブロックパーティション分割構造に基づいてパーティション分割され、パーティション分割したスーパーブロックのクロマブロックは、第1のブロックパーティション分割構造とは異なる第2のブロックパーティション分割構造に基づいて分割される。
【0008】
一態様によれば、ビデオデータを符号化及び/又は復号化するための非一時的なコンピュータ可読媒体が提供される。非一時的なコンピュータ可読媒体は、1つ又は複数の命令を含む命令を格納することができ、命令がビデオコーディング(coding)のために装置の1つ又は複数のプロセッサによって実行されると、1つ又は複数のプロセッサに、
ビデオデータを取得すること;取得したビデオデータを解析して、パーティション分割パラメータを取得すること;パーティション分割パラメータに基づいてパーティション分割したスーパーブロックを取得すること;及びパーティション分割したスーパーブロックに基づいてビデオデータを復号化すること;を行わせ、
パーティション分割したスーパーブロックの最小のルマブロックのルマブロック領域サイズが第1の閾値よりも大きいか、又は最小のルマブロックのルマ分割深さが第2の閾値よりも小さいことに基づいて、パーティション分割したスーパーブロックのルマブロック及びパーティション分割したスーパーブロックのクロマブロックは、第1のブロックパーティション分割構造に基づいてパーティション分割され、
ルマブロック領域サイズが第1の閾値よりも小さいか、又はルマ分割深さが第2の閾値よりも大きいことに基づいて、パーティション分割したスーパーブロックのルマブロックは、第1のブロックパーティション分割構造に基づいてパーティション分割され、パーティション分割したスーパーブロックのクロマブロックは、第1のブロックパーティション分割構造とは異なる第2のブロックパーティション分割構造に基づいてパーティション分割される。
【図面の簡単な説明】
【0009】
これら及び他の目的、特徴、及び利点は、添付の図面に関連して読むべき例示的な実施形態の以下の詳細な説明から明らかになろう。図面の様々な特徴は、図が詳細な説明と併せて当業者の理解を容易にすることを明確にするためのものであるため、縮尺通りではない。
図1】少なくとも1つの実施形態によるネットワーク化されたコンピュータ環境を示す図である。
図2】少なくとも1つの実施形態による、マルチタイプツリー分割モードの例を示す図である。
図3】少なくとも1つの実施形態による、ネスト化したマルチタイプツリーコーディングツリー構造を有する4分木における分割フラグシグナリングの例を示す図である。
図4】少なくとも1つの実施形態による、ネスト化したマルチタイプツリーコーディングブロック構造を有する4分木の例を示す図である。
図5】少なくとも1つの実施形態による、VP9におけるコーディングツリー構造の例を示す図である。
図6】少なくとも1つの実施形態による、AV1におけるコーディングツリー構造の例を示す図である。
図7】少なくとも1つの実施形態による、制限されたパーティション分割領域の例を示す図である。
図8】少なくとも1つの実施形態による、ルマ及びクロマ成分のコーディングツリー構造の例を示す図である。
図9】少なくとも1つの実施形態による、ビデオデータをコーディングするプログラムによって実行されるステップを示す動作フローチャートである。
図10】少なくとも1つの実施形態による、図1に示されるコンピュータ及びサーバの内部及び外部コンポーネントのブロック図である。
図11】少なくとも1つの実施形態による、図1に示されるコンピュータシステムを含む例示的なクラウドコンピューティング環境のブロック図である。
図12】少なくとも1つの実施形態による、図11の例示的なクラウドコンピューティング環境の機能レイヤのブロック図である。
【発明を実施するための形態】
【0010】
特許請求の範囲に記載された構造及び方法の詳細な実施形態を、本明細書に開示するる。ただし、開示する実施形態は、様々な形態で具体化し得る特許請求の範囲に記載された構造及び方法の単なる例示であることが理解され得る。しかしながら、これらの構造及び方法は、多くの異なる形態で具体化することができ、本明細書に記載の例示的な実施形態に限定されると解釈すべきではない。むしろ、これらの例示的な実施形態は、本開示が完全且つ完璧であり、その範囲を当業者に完全に伝えるように提供される。詳細な説明では、提示する実施形態を不必要に曖昧にすることを回避するために、周知の特徴及び技術の詳細が省略され得る。
【0011】
実施形態は、概して、データ処理の分野、より具体的には、ビデオの符号化及び復号化に関する。以下に説明する例示的な実施形態は、とりわけ、ビデオデータの効率的な圧縮のために拡張した量子化器を使用してビデオデータを符号化及び/又は復号化するためのシステム、方法、及びコンピュータプログラムを提供する。従って、いくつかの実施形態は、AV2に拡張した量子化器を提供することによって、コンピューティングの分野を改善する能力を有する。
【0012】
前述したように、AOMediaビデオ1(AV1)は、インターネットを介したビデオ送信のために設計されたオープンビデオコーディングフォーマットである。それは、半導体企業、ビデオオンデマンドプロバイダ、ビデオコンテンツプロデューサ、ソフトウェア開発会社、及びwebブラウザベンダーを含む、2015年に設立されたコンソーシアムであるAOMedia(Alliance for Open Media)によってVP9の後継として開発された。現在、AV1量子化ステップサイズの解像度は制限されている。ステップサイズの範囲は拡大したが、Q_indexの有効な範囲は同じである。量子化ステップの解像度のこの制限は、10ビット及び12ビットの内部ビット深さに関してより明白になり、対応する8ビットのステップサイズ(q_idxを使用して取得される)は、それぞれ4及び16でスケーリングされる。これは、コーデックで実現できるビットレートの粒度に影響を与える可能性がある。従って、量子化インデックスの範囲を拡張することにより、量子化ステップサイズの解像度を高めることが有利となり得る。
【0013】
態様が、様々な実施形態による方法、機器(システム)、及びコンピュータ可読媒体のフローチャート図及び/又はブロック図を参照して本明細書に記載されている。フローチャート図及び/又はブロック図の各ブロック、及びフローチャート図及び/又はブロック図のブロックの組合せは、コンピュータ可読プログラム命令によって実装できることが理解されよう。
【0014】
ここで図1を参照すると、本明細書に記載されるような例示的な実施形態によるビデオデータを符号化及び/又は復号化するためのビデオコーディングシステム100(以下「システム」)を示すネットワーク化されたコンピュータ環境の機能ブロック図が示される。図1は、1つの実施態様の例示のみを提供し、異なる実施形態が実装され得る環境に関する制限を意味するものではないことを理解すべきである。示される環境には、設計及び実施態様の要件に基づいて多くの変更を加えることができる。
【0015】
システム100は、コンピュータ102及びサーバ・コンピュータ114を含み得る。コンピュータ102は、通信ネットワーク110(以下、「ネットワーク」)を介してサーバ・コンピュータ114と通信し得る。コンピュータ102は、データ記憶装置106に記憶され、ユーザとインターフェイスし、サーバ・コンピュータ114と通信することが可能であるプロセッサ104及びソフトウェアプログラム108を含み得る。図10に関して以下で議論するように、コンピュータ102は、内部コンポーネント800A及び外部コンポーネント900Aをそれぞれ含み得、サーバ・コンピュータ114は、内部コンポーネント800B及び外部コンポーネント900Bをそれぞれ含み得る。コンピュータ102は、例えば、モバイル装置、電話、携帯情報端末、ネットブック、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、又はプログラムを実行し、ネットワークにアクセスし、及びデータベースにアクセスすることができる任意のタイプのコンピューティング装置であり得る。
【0016】
サーバ・コンピュータ114は、図11及び図12に関して以下で議論するように、サービスとしてのソフトウェア(SaaS)、サービスとしてのプラットフォーム(PaaS)、又はサービスとしてのインフラストラクチャ(IaaS)等のクラウドコンピューティングサービスモデルでも動作し得る。サーバ・コンピュータ114は、プライベートクラウド、コミュニティクラウド、パブリッククラウド、又はハイブリッドクラウド等のクラウドコンピューティング展開モデルにも配置され得る。
【0017】
ビデオデータを符号化するために使用され得るサーバ・コンピュータ114は、データベース112と相互作用し得るビデオ符号化プログラム116(以下、「プログラム」)を実行することが可能である。ビデオ符号化プログラムの方法は、図4に関して以下でより詳細に説明する。一実施形態では、コンピュータ102は、プログラム116が主にサーバ・コンピュータ114上で実行され得る間に、ユーザインターフェイスを含む入力装置として動作し得る。代替実施形態では、プログラム116は、主に1つ又は複数のコンピュータ102上で実行され得るが、サーバ・コンピュータ114は、プログラム116によって使用されるデータの処理及び格納のために使用され得る。プログラム116は、スタンドアロンプログラムであってもよく、又はより大きなビデオ符号化プログラムに統合してもよいことに留意されたい。
【0018】
しかしながら、プログラム116の処理は、場合によっては、コンピュータ102とサーバ・コンピュータ114との間で任意の比率で共有され得ることに留意されたい。別の実施形態では、プログラム116は、複数のコンピュータ、サーバ・コンピュータ、又はコンピュータとサーバ・コンピュータとの何らかの組合せ、例えば、ネットワーク110を介して単一のサーバ・コンピュータ114と通信する複数のコンピュータ102で動作することができる。別の実施形態では、例えば、プログラム116は、ネットワーク110を介して複数のクライアントコンピュータと通信する複数のサーバ・コンピュータ114で動作することができる。あるいはまた、プログラムは、ネットワークを介してサーバ及び複数のクライアントコンピュータと通信するネットワークサーバで動作することができる。
【0019】
ネットワーク110は、有線接続、無線接続、光ファイバ接続、又はそれらの何らかの組合せを含み得る。一般に、ネットワーク110は、コンピュータ102とサーバ・コンピュータ114との間の通信をサポートする接続及びプロトコルの任意の組合せであり得る。ネットワーク110は、例えば、ローカルエリアネットワーク(LAN)、インターネット等の広域ネットワーク(WAN)、公衆交換電話ネットワーク(PSTN)等の電気通信ネットワーク、無線ネットワーク、公共交換ネットワーク、衛星ネットワーク、セルラーネットワーク(例えば、第5世代)(5G)ネットワーク、ロングタームエボリューション(LTE)ネットワーク、第3世代(3G)ネットワーク、符号分割多重アクセス(CDMA)ネットワーク等)、公衆陸上移動ネットワーク(PLMN)、メトロポリタンネットワーク(MAN)、プライベートネットワーク、アドホックネットワーク、イントラネット、光ファイバベースのネットワーク等、及び/又はこれら又は他のタイプのネットワークの組合せ等の様々なタイプのネットワークを含み得る。
【0020】
図1に示される装置及びネットワークの数及び配置が、例として提供される。実際には、追加の装置及び/又はネットワーク、図1に示されるものより少ない装置及び/又はネットワーク、異なる装置及び/又はネットワーク、又は異なる配置の装置及び/又はネットワークがあり得る。さらに、図1に示される2つ以上の装置は、単一の装置内に実装され、又は図1に示される単一の装置は、複数の分散装置として実装され得る。追加的に、又は代替的に、システム100の装置のセット(例えば、1つ又は複数の装置)は、システム100の別の装置のセットによって実行されると説明される1つ又は複数の機能を実行することができる。
【0021】
HEVCでは、コーディングツリーユニット(CTU)は、様々なローカル特性に適応するためにコーディングツリーとして示される4分木構造を使用することによってコーディングユニット(CU)に分割され得る。インターピクチャ(inter-picture:ピクチャ間)(時間的)又はイントラピクチャ(intra-picture:ピクチャ内)(空間的)予測を使用してピクチャ領域をコーディングするかどうかの決定は、CUレベルで行うことができる。各CUは、PU分割タイプに応じて、1つ、2つ、又は4つのPUにさらに分割できる。1つのPUの内部で、同じ予測プロセスが適用され得、関連情報は、PUベースでデコーダに送信され得る。PU分割タイプに基づく予測プロセスを適用して残差ブロックを取得した後に、CUのコーディングツリーのような別の4分木構造に従って、CUを変換ユニット(TU)にパーティション分割することができる。HEVC構造の重要な特徴の1つは、CU、PU、及びTUを含む複数のパーティションの概念があることである。
【0022】
VVCでは、2分割(binary split)及び3分割(ternary split)分割セグメンテーション構造を使用するネスト化したマルチタイプツリーを含む4分木は、複数のパーティションユニットタイプの概念を置き換える。つまり、その4分木は、サイズが最大変換長に対して大き過ぎるCUに必要な場合を除いて、CU、PU、及びTUの概念の分離を排除し、CUパーティション形状の柔軟性をより高める。コーディングツリー構造では、CUは正方形又は長方形のいずれかの形状にすることができる。コーディングツリーユニット(CTU)は、最初に、4分木(quaternary tree)(別名、4分木(quadtree))構造によってパーティション分割され得る。次に、4分木リーフ(leaf)ノードは、マルチタイプツリー構造でさらにパーティション分割され得る。図2に示されるように、マルチタイプツリー構造には、垂直2分割(SPLIT_BT_VER)、水平2分割(SPLIT_BT_HOR)、垂直3分割(SPLIT_TT_VER)、及び水平3分割(SPLIT_TT_HOR)の4つの分割タイプがあり得る。マルチタイプツリーリーフノードはコーディングユニット(CU)と呼ばれ、CUが最大変換長に対して大き過ぎない限り、このセグメンテーションは、さらにパーティション分割することなく予測及び変換処理に使用され得る。これは、殆どの場合に、CU、PU、及びTUが、ネスト化したマルチタイプツリーコーディングブロック構造を有する4分木で同じブロックサイズを有することを意味する。例外は、サポートされている最大変換長がCUの色(color)成分の幅又は高さよりも小さい場合に発生する。
【0023】
図3は、実施形態による、ネスト化したマルチタイプツリーコーディングツリー構造を有する4分木におけるパーティション分割情報のシグナリングメカニズムの例を示す。CTUは、4分木のルート(root)として扱われ得、最初に4分木構造によってパーティション分割され得る。次に、各4分木リーフノード(その4分木リーフノードを可能にするのに十分な大きさの場合)は、マルチタイプツリー構造によってさらにパーティション分割され得る。マルチタイプツリー構造では、ノードがさらにパーティション分割されるかどうかを示すために、第1のフラグ(mtt_split_cu_flag)が信号通知され得る;ノードがさらにパーティション分割されると、分割方向を示すために第2のフラグ(mtt_split_cu_vertical_flag)が信号通知され、次に分割が2分割であるか又は3分割であるかを示すために、第3のフラグ(mtt_split_cu_binary_flag)が信号通知され得る。mtt_split_cu_vertical_flag及びmtt_split_cu_binary_flagの値に基づいて、CUのマルチタイプツリー分割モード(MttSplitMode)を表1に示されるように導出できる。
【表1】
【0024】
図4は、実施形態による、4分木及びネスト化したマルチタイプツリーコーディングブロック構造を有する複数のCUに分割されたCTUの例を示しており、太字のブロックエッジは4分木パーティション分割を表し、残りのエッジはマルチタイプツリーパーティション分割を表す。ネスト化したマルチタイプツリーパーティションを有する4分木は、CUを含むコンテンツ適応型コーディングツリー構造を提供する。CUのサイズは、CTUと同じ位大きさである場合もあれば、ルマ(luma:輝度)サンプルの単位で4×4と小さい場合もある。4:2:0クロマフォーマットの場合に、最大クロマ(chroma:色差)CBサイズは64×64であり得、最小クロマCBサイズは2×2であり得る。
【0025】
VVCにおいて、サポートされる最大ルマ変換サイズは、64×64であり得、サポートされる最大クロマ変換サイズは、32×32であり得る。CBの幅又は高さが最大変換幅又は高さよりも大きい可能性がある場合に、CBは、その方向の変換サイズ制限を満たすために、水平及び/又は垂直方向に自動的に分割され得る。
【0026】
VTM7では、コーディングツリースキームは、ルマ及びクロマが別個のブロックツリー構造を有する能力をサポートする。現在、Pスライス及びBスライスの場合に、1つのCTU内のルマCTB及びクロマCTBは、同じコーディングツリー構造を共有する必要がある。ただし、Iスライスの場合に、ルマ及びクロマは別々のブロックツリー構造を有することができる。個別のブロックツリーモードが適用される場合に、ルマCTBは1つのコーディングツリー構造によってCUにパーティション分割され得、クロマCTBは別のコーディングツリー構造によってクロマCUにパーティション分割される。これは、IスライスのCUは、ルマ成分のコーディングブロック又は2つのクロマ成分のコーディングブロックで構成され得、P又はBスライスのCUは、ビデオがモノクロでない限り、常に3つの色成分全てのコーディングブロックで構成されることを意味する。
【0027】
図5に示されるように、VP9は、64×64レベルから始まり4×4レベルまで下がる4ウェイ(4-way)パーティションツリーを使用するが、ブロック8×8にはいくつかの追加の制限がある。図5に示されるように、Rとして指定されたパーティションは、同じパーティションツリーが、最低の4×4レベルに到達するまでより低いスケールで繰り返される可能性があるという点で、再帰的と呼ばれ得る。
【0028】
図6に示されるように、AV1は、パーティションツリーを10ウェイ(10-way)構造に拡張するだけでなく、128×128から開始するように最大サイズ(VP9/AV1用語ではスーパーブロックと呼ばれる)を拡張する。これには、VP9には存在しなかった4:1/1:4の長方形のパーティションが含まれ得ることに注意されたい。長方形のパーティションをさらに細分割することはできないことに注意されたい。コーディングブロックサイズに加えて、コーディングツリー深さ(depth)を規定して、ルートノートからの分割深さを示すことができる。具体的には、ルートノード、例えば128×128のコーディングツリー深さを0に設定でき、ツリーブロックをさらに1回分割した後に、コーディングツリー深さを1だけ増やすことができる。
【0029】
VP9のように固定した変換ユニットサイズを実施する代わりに、AV1は、ルマコーディングブロックを、複数のサイズの変換ユニットにパーティション分割するのを可能にし、これは、最大2レベルだけ下がる再帰的パーティションによって表すことができる。AV1の拡張コーディングブロックパーティションを組み込むために、我々は、4×4から64×64までの正方形、2:1/1:2、及び4:1/1:4の変換サイズをサポートしている。クロマブロックの場合に、可能な最大の変換単位のみが許可される。
【0030】
AV1では、1つのCTU内のルマCU及びクロマCUは、同じコーディングツリー構造を共有しなければならない。実施形態では、CUは、例えば、ブロックに対応し得、CTUは、例えば、スーパーブロックに対応し得る。ただし、クロマ成分は、ルマ成分よりもテクスチャが少ない場合があり、ルマ成分と同じコーディングツリー構造を常に使用することが最適であるとは限らない。
【0031】
実施形態では、ルマブロック領域サイズが1つの閾値T1よりも大きいか、又はルマブロックのコーディングツリー分割深さが1つの閾値T2以下である場合に、次に、クロマブロックは、ルマと同じコーディングツリー構造を使用することができる。それ以外の場合に、ブロック領域サイズがT1以下であるか、ルマ分割深さがT2より大きい場合に、対応するクロマブロックは、ルマ成分を含む異なるコーディングブロックパーティション分割を有することができ、これは、クロマ成分の柔軟なブロックパーティション分割と呼ばれ得る。T1は、128又は256等の正の整数であり得る。T2は、1又は2等の正の整数であり得る。
【0032】
少なくとも1つの実施形態では、クロマ成分に関する柔軟なブロックパーティション分割は、Iフレーム(イントラフレーム)にのみ適用され得る。
【0033】
少なくとも1つの実施形態では、ルマブロック領域サイズが1つの閾値T1よりも大きいか、又はコーディングツリー深さが1つの閾値T2以下である場合に、次に、クロマブロックは、ルマと同じコーディングツリー構造を使用することができる。それ以外の場合に、ブロック領域サイズがT1以下であるか、又はルマ分割深さがT2より大きい場合に、クロマ成分のコーディングブロック深さは、ルマ成分のコーディングブロック深さ以下になる可能性がある。
【0034】
少なくとも1つの実施形態では、ルマブロック領域サイズが1つの閾値T1よりも大きいか、又はコーディングツリー深さが1つの閾値T2以下である場合に、次に、クロマブロックは、ルマと同じコーディングツリー構造を使用することができる。それ以外の場合に、ルマブロックは依然としてさらに分割される柔軟性を有しているかもしれないが、クロマブロックはそれ以上分割されない場合がある。クロマ成分のコーディングブロック深さは、coLocatedDepthLuma> T2 ? T2: coLocatedDepthLumaとして導出することができ、ここで、coLocatedDepthLumaは、ルマ成分内の同じ場所に配置されたブロックのコーディングブロック深さであり、T2は、1又は2等の正の整数である。
【0035】
少なくとも1つの実施形態では、ルマブロック領域サイズが1つの閾値T1よりも大きいか、又はコーディングツリー深さが1つの閾値T2以下である場合に、次に、クロマブロックは、ルマと同じコーディングツリー構造を使用することができる。それ以外の場合に、クロマ成分のコーディングブロック深さは、ルマ成分のコーディングブロック深さに依存し得る。少なくとも1つの実施形態では、ルマブロック領域サイズが1つの閾値T1よりも大きいか、又はコーディングツリー深さが1つの閾値T2以下である場合に、次に、クロマブロックは、ルマと同じコーディングツリー構造を使用することができる。それ以外の場合に、クロマ成分のコーディングブロック深さは、min(max(maxDepthLuma-N1,
T2), coLocatedDepthLuma)として導出され、ここで、maxDepthLumaは、制限されたパーティション分割領域内のルマ成分の最大コーディングブロック深さであり得、coLocatedDepthLumaは、ルマ成分内の同じ場所に配置されたブロックのコーディングブロックの深さであり得、及びN1は、1又は2等の正の整数であり得る。例が図7に示されている。図7に示されるように、ルマ及びクロマ成分の制限されたパーティション分割領域は破線の円で強調表示され、各クロマブロックの併置されたルマブロックは実線の矢印を使用してマークされる。さらに、この例では、T2は1に設定され、N1も1に設定される。制限されたパーティション分割領域でmaxDepthLumaが3であることが分かり得る。さらに、この例のYUVフォーマットはYUV420である。
【0036】
少なくとも1つの実施形態では、ルマブロック領域サイズが1つの閾値T1よりも大きいか、又はコーディングツリー深さが1つの閾値T2以下である場合に、次に、クロマブロックは、ルマと同じコーディングツリー構造を使用することができる。それ以外の場合に、ブロック領域サイズの面積が1つの閾値T1以下であるか、又はルマ分割深さがT2より大きい場合に、ルマ成分及びクロマ成分のブロックパーティション分割が分離される可能性があり、これは、クロマ成分のブロックパーティション分割は、ルマ成分のブロックパーティション分割から独立してもよいことを意味する。一例が図8に示される。図8の例では、T2は1に設定される。
【0037】
少なくとも1つの実施形態では、ルマブロック領域サイズが1つの閾値T1よりも大きいか、又はコーディングツリー深さが1つの閾値T2以下である場合に、ブロックパーティション分割は、異なる色成分の間で一緒に(jointly)信号通知され得る。それ以外の場合に、ブロック領域サイズがT1以下であるか、又はルマ分割深さがT2より大きい場合に、ブロックパーティション分割は異なる色成分に対して個別に信号通知され得る。一例では、ブロックパーティション分割が異なる色成分に対して個別に信号通知される場合に、Cb及びCr色成分は依然として同じブロックパーティション分割信号を共有し得るが、その信号はルマブロックパーティション分割信号から分離され得る。
【0038】
少なくとも1つの実施形態では、上記で議論したT1及びT2の1つ又は複数の値は、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、適応パラメータセット(APS)、スライスヘッダ、及びタイルヘッダを含むがこれらに限定されない高レベルの構文で信号通知され得る。
【0039】
ここで図9を参照すると、ビデオデータを符号化及び/又は復号化するための方法9000のステップを示す動作フローチャートが示されている。いくつかの実施態様では、図4の1つ又は複数のプロセスブロックは、コンピュータ102(図1)及びサーバ・コンピュータ114(図1)によって実行され得る。いくつかの実施態様では、図4の1つ又は複数のプロセスブロックは、コンピュータ102及びサーバ・コンピュータ114とは別個の、又はそれらを含む別の装置又は装置のグループによって実行され得る。
【0040】
9100において、方法9000は、ビデオデータを取得するステップを含む。
【0041】
9200において、方法9000は、取得したビデオデータを解析して、パーティション分割パラメータを取得するステップを含む。
【0042】
9300において、方法9000は、パーティション分割パラメータに基づいてパーティション分割したスーパーブロックを取得するステップを含む。実施形態では、パーティション分割したスーパーブロックの最小のルマブロックのルマブロック領域サイズが第1の閾値よりも大きいか、又は最小のルマブロックのルマ分割深さが第2の閾値よりも小さいことに基づいて、パーティション分割したスーパーブロックのルマブロック及びパーティション分割したスーパーブロックのクロマブロックは、第1のブロックパーティション分割構造に基づいてパーティション分割され得る。実施形態では、ルマブロック領域サイズが第1の閾値よりも小さいか、又はルマ分割深さが第2の閾値よりも大きいことに基づいて、パーティション分割したスーパーブロックのルマブロックは、第1のブロックパーティション分割構造に基づいてパーティション分割され得、パーティション分割したスーパーブロックのクロマブロックは、第1のブロックパーティション分割構造とは異なる第2のブロックパーティション分割構造に基づいてパーティション分割され得る。
【0043】
9400において、方法9000は、パーティション分割したスーパーブロックに基づいてビデオデータを復号化するステップを含む。
【0044】
1つ又は複数の実施形態では、第1の閾値は、128及び/又は256のうちの1つであり得、第2の閾値は、1及び/又は2のうちの1つであり得る。
【0045】
1つ又は複数の実施形態では、パーティション分割したスーパーブロックは、イントラフレームに対応し得る。
【0046】
1つ又は複数の実施形態では、第2のブロックパーティション分割構造に基づいてパーティション分割された最小のクロマブロックのクロマ分割深さは、ルマ分割深さよりも小さくなり得る。
【0047】
1つ又は複数の実施形態では、第2のブロックパーティション分割構造に基づいてパーティション分割された最小のクロマブロックのクロマ分割深さは、ルマ分割深さに基づいて決定され得る。
【0048】
1つ又は複数の実施形態では、第1のブロックパーティション分割構造は、追加のパーティションを含む第2のブロックパーティション分割構造のパーティションを含み得る。
【0049】
1つ又は複数の実施形態では、ルマブロック領域サイズが第1の閾値よりも大きいか、又はルマ分割深さが第2の閾値よりも小さいことに基づいて、パーティション分割パラメータは、複数の色成分について一緒に信号通知され得、
ルマブロック領域サイズが第1の閾値よりも小さいか、又はルマ分割深さが第2の閾値よりも小さいことに基づいて、パーティション分割パラメータは、複数の色成分の間で別々に信号通知され得る。
【0050】
1つ又は複数の実施形態では、パーティション分割パラメータは、ビデオパラメータセット、シーケンスパラメータセット、ピクチャパラメータセット、適応パラメータセット、スライスヘッダ、及び/又はタイルヘッダのうちの少なくとも1つで信号通知され得る。
【0051】
図9は、1つの実施態様の例示のみを提供し、異なる実施形態がどのように実装され得るかに関する制限を意味するものではない。示される環境には、設計及び実施態様の要件に基づいて多くの変更を加えることができる。
【0052】
図10は、例示的な実施形態による図1に示されるコンピュータの内部及び外部コンポーネントのブロック図500である。図10は、1つの実施態様の例示のみを提供し、異なる実施形態が実装され得る環境に関する制限を意味するものではない。示される環境には、設計及び実施態様の要件に基づいて多くの変更を加えることができる。
【0053】
コンピュータ102(図1)及びサーバ・コンピュータ114(図1)は、図4に示される内部コンポーネント800A、B、及び外部コンポーネント900A、Bのそれぞれのセットを含み得る。内部コンポーネント800の各セットは、1つ又は複数のプロセッサ820、1つ又は複数のバス826上の1つ又は複数のコンピュータ可読RAM822及び1つ又は複数のコンピュータ可読ROM824、1つ又は複数のオペレーティングシステム828、及び1つ又は複数の有形のコンピュータ可読記憶装置830を含む。
【0054】
プロセッサ820は、ハードウェア、ファームウェア、又はハードウェアとソフトウェアとの組合せで実装される。プロセッサ820は、中央処理装置(CPU)、グラフィックス処理装置(GPU)、加速処理装置(APU)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、又は別のタイプの処理コンポーネントである。いくつかの実施態様では、プロセッサ820は、機能を実行するようにプログラムすることができる1つ又は複数のプロセッサを含む。バス826は、内部コンポーネント800A、Bの間の通信を可能にするコンポーネントを含む。
【0055】
1つ又は複数のオペレーティングシステム828、サーバ・コンピュータ114(図1)上のソフトウェアプログラム108(図1)及びビデオ符号化プログラム116(図1)は、それぞれの有形のコンピュータ可読記憶装置830のうちの1つ又は複数に格納され、それらは、それぞれのRAM822(典型的にはキャッシュメモリを含む)のうちの1つ又は複数を介して、それぞれのプロセッサ820のうちの1つ又は複数によって実行される。図10に示される実施形態では、有形のコンピュータ可読記憶装置830のそれぞれは、内蔵ハードドライブの磁気ディスク記憶装置である。あるいはまた、有形のコンピュータ可読記憶装置830のそれぞれは、ROM824、EPROM、フラッシュメモリ、光ディスク、磁気光学ディスク、ソリッドステートディスク、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピーディスク、カートリッジ、磁気テープ、及び/又はコンピュータプログラム及びデジタル情報を格納できる別のタイプの有形の非一時的なコンピュータ可読記憶装置等の半導体記憶装置である。
【0056】
内部コンポーネント800A、Bの各セットは、CD-ROM、DVD、メモリスティック、磁気テープ、磁気ディスク、光ディスク又は半導体記憶装置等の1つ又は複数の有形の携帯型コンピュータ可読記憶装置936との間の読み取り及び書き込みのためのR/Wドライブ又はインターフェイス832も含む。ソフトウェアプログラム108(図1)及びビデオ符号化プログラム116(図1)等のソフトウェアプログラムは、それぞれの有形の携帯型コンピュータ可読記憶装置936のうちの1つ又は複数に記憶され、それぞれのR/Wドライブ又はインターフェイス832を介して読み取られ、それぞれのハードドライブ830にロードされ得る。
【0057】
内部コンポーネント800A、Bの各セットは、TCP/IPアダプタカード等のネットワークアダプタ又はインターフェイス836、ワイヤレスWi-Fiインターフェイスカード、又は3G、4G、又は5Gワイヤレスインターフェイスカード、又は他の有線又は無線通信リンクも含む。サーバ・コンピュータ114(図1)上のソフトウェアプログラム108(図1)及びビデオ符号化プログラム116(図1)は、外部コンピュータからネットワーク(例えば、インターネット、ローカルエリアネットワーク又は他の広域ネットワーク)及びそれぞれのネットワークアダプタ又はインターフェイス836を介してコンピュータ102(図1)及びサーバ・コンピュータ114にダウンロードすることができる。ネットワークアダプタ又はインターフェイス836から、サーバ・コンピュータ114上のソフトウェアプログラム108及びビデオエンコーディングプログラム116は、それぞれのハードドライブ830にロードされる。ネットワークは、銅線、光ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、及び/又はエッジサーバを含み得る。
【0058】
外部コンポーネント900A、Bの各セットは、コンピュータ表示モニタ920、キーボード930、及びコンピュータマウス934を含むことができる。外部コンポーネント900A、Bは、タッチスクリーン、仮想キーボード、タッチパッド、ポインティング装置、及び他のヒューマンインターフェイス装置も含むことができる。内部コンポーネント800A、Bの各セットは、コンピュータ表示モニタ920、キーボード930、及びコンピュータマウス934にインターフェイスするための装置ドライバ840も含む。装置ドライバ840、R/Wドライブ又はインターフェイス832、及びネットワークアダプタ又はインターフェイス836は、ハードウェア及びソフトウェア(記憶装置830及び/又はROM824に格納される)を含む。
【0059】
本開示はクラウドコンピューティングに関する詳細な説明を含むが、本明細書に列挙される教示の実施態様はクラウドコンピューティング環境に限定されないことが事前に理解される。むしろ、いくつかの実施形態は、現在知られている、又は後で開発される他のタイプのコンピューティング環境と組み合わせて実施することができる。
【0060】
クラウドコンピューティングは、構成可能なコンピューティングリソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス)の共有プールへの便利なオンデマンドネットワークアクセスを可能にするためのサービス提供のモデルであり、構成可能なコンピューティングリソースは、最小限の管理作業又はサービスのプロバイダとの対話で迅速にプロビジョニング及びリリースできる。このクラウドモデルには、少なくとも5つの特性、少なくとも3つのサービスモデル、及び少なくとも4つの展開モデルが含まれ得る。
【0061】
特徴は以下の通りである。
オンデマンドセルフサービス:クラウドコンシューマ(consumer)は、人間とサービスプロバイダとの対話を必要とせずに、必要に応じて自動的にサーバタイム及びネットワークストレージ等のコンピューティング機能を一方的にプロビジョニングできる。
ブロード(broad)ネットワークアクセス:機能はネットワーク経由で利用可能であり、異種のシン(thin:薄い)又はシック(thick:厚い)ククライアントプラットフォーム(例えば、携帯電話、ラップトップ、PDA)による使用を促進する標準メカニズムを介してアクセスされる。
リソースプーリング:プロバイダのコンピューティングリソースは、マルチテナント(multi-tenant)モデルを使用して複数のコンシューマにサービスを提供するためにプールされ、様々な物理リソース及び仮想リソースが需要に応じて動的に割り当てられ、再割り当てされる。コンシューマは、通常、提供されたリソースの正確な場所を制御したり知見を有しないが、より高いレベルの抽象化(国、州、データセンタ等)で場所を指定できる場合があるという点で、場所に依存しないという感覚がある。
迅速な順応性(elasticity):機能は迅速且つ順応的にプロビジョニングされ、場合によっては自動的に迅速にスケールアウトされ、迅速にリリースされて迅速にスケールインされ得る。コンシューマにとって、プロビジョニングに使用できる機能は、無制限に見えることが多く、いつでも任意の量で購入することができる。
測定サービス:クラウドシステムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、アクティブなユーザカウント)に適した抽象化レベルで計測機能を活用することにより、リソースの使用を自動的に制御及び最適化する。リソースの使用状況を監視、制御、及び報告して、利用するサービスのプロバイダとコンシューマとの両方に透明性を提供できる。
【0062】
サービスモデルは以下の通りである:
サービスとしてのソフトウェア(SaaS):コンシューマに提供される機能は、クラウドインフラストラクチャで実行されているプロバイダのアプリケーションを使用することである。アプリケーションには、webブラウザ(例えば、webベースの電子メール)等のシンクライアントインターフェイスを介して、様々なクライアント装置からアクセスできる。コンシューマは、制限されたユーザ固有のアプリケーション構成設定を除いて、ネットワーク、サーバ、オペレーティングシステム、ストレージ、さらには個々のアプリケーション機能を含む基盤となるクラウドインフラストラクチャを管理又は制御しない。
サービスとしてのプラットフォーム(PaaS):コンシューマに提供される機能は、プロバイダがサポートするプログラミング言語及びツールを使用して作成された、コンシューマが作成又は取得したアプリケーションをクラウドインフラストラクチャに展開する(deploy)ことである。コンシューマは、ネットワーク、サーバ、オペレーティングシステム、ストレージを含む基盤となるクラウドインフラストラクチャを管理又は制御しないが、展開されたアプリケーションと、場合によってはアプリケーションホスティング環境の構成を制御する。
サービスとしてのインフラストラクチャ(IaaS):コンシューマに提供される機能は、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティングリソースをプロビジョニングすることであり、ここで、コンシューマは、オペレーティングシステム及びアプリケーションを含み得る任意のソフトウェアを展開及び実行することができる。コンシューマは、基盤となるクラウドインフラストラクチャを管理又は制御しないが、オペレーティングシステム、ストレージ、展開したアプリケーションを制御し、場合によっては選択したネットワークコンポーネント(例えば、ホストファイアウォール)の制御を制限する。
【0063】
展開モデルは以下の通りである:
プライベートクラウド:クラウドインフラストラクチャは、組織のためだけに運用される。そのクラウドインフラストラクチャは、その組織又は第3者によって管理され、オンプレミス(on-premise)又はオフプレミス(off-premise)に存在し得る。
コミュニティクラウド:クラウドインフラストラクチャは、複数の組織によって共有されており、懸念事項(ミッション、セキュリティ要件、ポリシー、コンプライアンスの考慮事項等)を共有している特定のコミュニティをサポートする。そのクラウドインフラストラクチャは、組織又は第3者によって管理され、オンプレミス又はオフプレミスに存在し得る。
パブリッククラウド:クラウドインフラストラクチャは、一般の人々又は大規模な業界グループが利用できるようになっており、クラウドサービスを販売する組織が所有している。
ハイブリッドクラウド:クラウドインフラストラクチャは、一意のエンティティのままであるが、データ及びアプリケーションの移植性(portability)を可能にする標準化された、又は独占(proprietary)技術(例えば、クラウド同士の間の負荷分散のためのクラウドバースト)によって結合された2つ以上のクラウド(プライベート、コミュニティ、又はパブリック)の構成である。
【0064】
クラウドコンピューティング環境は、ステートレス(statelessness)、低結合、モジュール性、及びセマンティック相互運用性に焦点を合わせたサービス指向である。クラウドコンピューティングの中心は、相互接続されたノードのネットワークで構成されるインフラストラクチャである。
【0065】
図11を参照すると、開示する主題の特定の実施形態を実施するのに適切であり得る例示的なクラウドコンピューティング環境600が示されている。示されるように、クラウドコンピューティング環境600は、例えば、携帯情報端末(PDA)又は携帯電話54A、デスクトップコンピュータ54B、ラップトップコンピュータ54C、及び/又は自動車コンピュータシステム54N等の、クラウドコンシューマによって使用されるローカルコンピューティング装置が通信することができると1つ又は複数のクラウドコンピューティングノード10を含む。クラウドコンピューティングノード10は、互いに通信することができる。それらノードは、物理的又は仮想的に、上記のプライベート、コミュニティ、パブリック、又はハイブリッドクラウド、又はそれらの組合せ等の1つ又は複数のネットワークにグループ化することができる(図示せず)。これにより、クラウドコンピューティング環境600は、クラウドコンシューマがローカルコンピューティング装置上でリソースを維持する必要がないサービスとして、インフラストラクチャ、プラットフォーム、及び/又はソフトウェアを提供することができる。図11に示されるコンピューティング装置54A~Nのタイプは、例示のみを意図しており、クラウドコンピューティングノード10及びクラウドコンピューティング環境600は、任意のタイプのネットワーク及び/又はネットワークアドレス可能接続を介して(例えば、webブラウザを使用して)任意のタイプのコンピュータ化した装置と通信できることが理解される。
【0066】
図12を参照すると、クラウドコンピューティング環境600(図11)によって提供される機能的抽象化レイヤ700のセットが示されている。図12に示されるコンポーネント、レイヤ、及び機能は、例示のみを目的としており、実施形態がそれらに限定されないことを事前に理解すべきである。示されるように、以下のレイヤ及び対応する機能が提供される。
【0067】
ハードウェア及びソフトウェアレイヤ60は、ハードウェア及びソフトウェアコンポーネントを含む。ハードウェアコンポーネントの例は、メインフレーム61、RISC(縮小命令セットコンピュータ)アーキテクチャベースのサーバ62、サーバ63、ブレードサーバ64、記憶装置65、及びネットワーク及びネットワーキングコンポーネントを含む。いくつかの実施形態では、ソフトウェアコンポーネントは、ネットワークアプリケーションサーバソフトウェア67及びデータベースソフトウェア68を含む。
【0068】
仮想化レイヤ70は、仮想エンティティの以下の例が提供され得る抽象化レイヤを提供し、仮想エンティティには、仮想サーバ71、仮想ストレージ72、仮想プライベートネットワークを含む仮想ネットワーク73、仮想アプリケーション及びオペレーティングシステム74、及び仮想クライアント75が含まれる。
【0069】
一例では、管理レイヤ80は、以下に説明する機能を提供することができる。リソースプロビジョニング81は、クラウドコンピューティング環境内でタスクを実行するために利用されるコンピューティングリソース及び他のリソースの動的な調達を提供する。計測及び価格設定82は、リソースがクラウドコンピューティング環境内で利用されるときのコスト追跡、及びこれらのリソースの消費に対する請求又は代金請求を提供する。一例では、これらのリソースは、アプリケーションソフトウェアライセンスを含み得る。セキュリティは、クラウドコンシューマ及びタスクのID検証だけでなく、データ及び他のリソースの保護を提供する。ユーザポータル83は、コンシューマ及びシステム管理者にクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理84は、必要なサービスレベルが満たされるように、クラウドコンピューティングリソースの割当て及び管理を提供する。SLA(Service Level Agreement)の計画及び履行85は、SLAに従って将来の要件が予想されるクラウドコンピューティングリソースの事前準備及び調達を提供する。
【0070】
ワークロードレイヤ90は、クラウドコンピューティング環境を利用することができる機能の例を提供する。このレイヤから提供することができるワークロード及び機能の例には、マッピング及びナビゲーション91、ソフトウェア開発及びライフサイクル管理92、仮想教室教育の提供93、データ解析処理94、トランザクション処理95、ビデオ符号化/復号化96が含まれる。ビデオ符号化/復号化96は、公称角度から導出されたデルタ角度(delta angle)を使用してビデオデータを符号化/復号することができる。
【0071】
いくつかの実施形態は、任意の可能な技術的詳細レベルの統合におけるシステム、方法、及び/又はコンピュータ可読媒体に関係し得る。コンピュータ可読媒体は、プロセッサに動作を実行させるためのコンピュータ可読プログラム命令をその上に有する非一時的なコンピュータ可読記憶媒体(又は複数の媒体)を含み得る。
【0072】
コンピュータ可読記憶媒体は、命令実行装置によって使用するための命令を保持及び記憶することができる有形の装置であり得る。コンピュータ可読記憶媒体は、例えば、電子記憶装置、磁気記憶装置、光記憶装置、電磁記憶装置、半導体記憶装置、又は前述の任意の適切な組合せであり得るが、これらに限定されるものではない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、消去可能なプログラム可能な読取り専用メモリ(EPROM又はフラッシュメモリ)、静的ランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、指示が記録された溝内のパンチカード又は隆起構造等の機械的に符号化した装置、及び前述の任意の適切な組合せが含まれる。本明細書で使用されるコンピュータ可読記憶媒体は、電波又は他の自由に伝播する電磁波、導波管又は他の伝送媒体を通って伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又はワイヤを介して送信される電気信号等の一時的な信号自体であると解釈すべきではない。
【0073】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理装置に、又はネットワーク、例えばインターネット、ローカルエリアネットワーク、広域ネットワーク及び/又はワイヤレスネットワークを介して外部コンピュータ又は外部記憶装置にダウンロードすることができる。ネットワークは、銅線伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、及び/又はエッジサーバで構成され得る。各コンピューティング/処理装置内のネットワークアダプタカード又はネットワークインターフェイスは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理装置内のコンピュータ可読記憶媒体に記憶するためにコンピュータ可読プログラム命令を転送する。
【0074】
動作を実行するためのコンピュータ可読プログラムコード/命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データ、又はSmalltalk、C ++等のオブジェクト指向プログラミング言語と「C」プログラミング言語又は同様のプログラミング言語等の手続き型プログラミング言語とを含む、1つ又は複数のプログラミング言語の任意の組合せで記述されたソースコード又はオブジェクトコードのいずれかであり得る。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で完全に、ユーザのコンピュータ上で部分的に、スタンドアロンソフトウェアパッケージとして、ユーザのコンピュータ上で部分的に、リモートコンピュータ上で部分的に、又はリモートコンピュータ又はサーバ上で完全に実行され得る。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)又は広域ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され得るか、又は(例えば、インターネットサービスプロバイダを使用したインターネット経由で)外部コンピュータに接続することができる。いくつかの実施形態では、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、又はプログラマブル論理アレイ(PLA)を含む電子回路は、態様又は動作を実行するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。
【0075】
これらのコンピュータ可読プログラム命令は、マシンを製造するために、汎用コンピュータ、特殊目的コンピュータ、又は他のプログラム可能なデータ処理装置のプロセッサに提供され、それによって、コンピュータ又は他のプログラム可能なデータ処理機器のプロセッサを介して実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックで指定された機能/行動を実施するための手段を作成することができる。これらのコンピュータ可読プログラム命令は、コンピュータ、プログラム可能なデータ処理機器、及び/又は他の装置に特定の方法で機能するように指示することができるコンピュータ可読記憶媒体にも記憶され得、それによって、その中に記憶した命令を含むコンピュータ可読記憶媒体は、フローチャート及び/又はブロック図の1つ又は複数のブロックで指定された機能/行動の態様を実施する命令を含む製造品を含む。
【0076】
コンピュータ可読プログラム命令は、コンピュータ、他のプログラム可能なデータ処理機器、又は他の装置にロードされて、コンピュータ、他のプログラム可能な機器、又は他の装置上で一連の動作ステップを実行させて、コンピュータ実装したプロセスを生成し得、それによって、コンピュータ、他のプログラム可能な機器、又は他の装置上で実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックで指定された機能/行動を実施する。
【0077】
図中のフローチャート及びブロック図は、様々な実施形態による、システム、方法、及びコンピュータ可読媒体の可能な実施態様のアーキテクチャ、機能、及び動作を示している。これに関して、フローチャート又はブロック図の各ブロックは、モジュール、セグメント、又は命令の一部を表すことができ、これは、指定した論理機能を実装するための1つ又は複数の実行可能命令を含む。この方法、コンピュータシステム、及びコンピュータ可読媒体は、追加のブロック、図に示されているものよりもより少ないブロック、異なるブロック、又は異なる配置のブロックを含み得る。いくつかの代替の実施態様では、ブロックに示される機能は、図に示されている順序とは異なる場合がある。例えば、連続して表示される2つのブロックは、実際には同時に又は実質的に同時に実行される場合があり、又は、関連する機能に応じて、ブロックが逆の順序で実行される場合もあり得る。ブロック図及び/又はフローチャート図の各ブロック、及びブロック図及び/又はフローチャート図のブロックの組合せは、指定された機能又は行動を実行する、又は特別な目的のハードウェアとコンピュータ命令の組合せを実行する特別な目的のハードウェアベースのシステムによって実装できることにも留意されたい。
【0078】
本明細書に記載のシステム及び/又は方法は、異なる形態のハードウェア、ファームウェア、又はハードウェアとソフトウェアとの組合せで実装され得ることは明らかであろう。これらのシステム及び/又は方法を実装するために使用される実際の特殊な制御ハードウェア又はソフトウェアコードは、実施態様を制限するものではない。こうして、システム及び/又は方法の動作及び行動は、特定のソフトウェアコードを参照せずに本明細書で説明された。ソフトウェア及びハードウェアは、本明細書の説明に基づいてシステム及び/又は方法を実装するように設計され得ることが理解される。
【0079】
本明細書で使用される要素、行動、又は命令は、そのように明示的に記載されていない限り、重要又は必須であると解釈すべきではない。また、本明細書で使用される場合に、冠詞「1つの(a, an)」は、1つ又は複数の項目を含むことを意図しており、「1つ又は複数」と交換可能に使用され得る。さらに、本明細書で使用される場合に、「セット」という用語は、1つ又は複数のアイテム(例えば、関連アイテム、非関連アイテム、関連アイテムと非関連アイテムとの組合せ等)を含むことを意図し、「1つ又は複数」と交換可能に使用され得る。1つの項目のみが意図される場合に、「1つ(one)」又は同様の言語が使用される。また、本明細書で使用される場合に、「有する、含む(has,
have, having)」等の用語は、オープンエンドの用語を意図している。さらに、「~に基づく」という句は、特に明記しない限り、「~に少なくとも部分的に基づく」を意味することを意図している。
【0080】
様々な態様及び実施形態の説明は、例示の目的で提示しているが、網羅的であることを意図するものではなく、開示される実施形態に限定されることを意図するものでもない。機能の組合せが特許請求の範囲に記載される、及び/又は明細書に開示されるとしても、これらの組合せは、可能な実施態様の開示を制限することを意図するものではない。実際に、これらの特徴の多くは、特許請求の範囲に具体的に記載されていない、及び/又は明細書に開示されていない方法で組み合わせることができる。以下にリストした各従属クレームは、1つのクレームのみに直接従属する場合があるが、可能な実施態様の開示には、クレームセット内の他の全てのクレームと組み合わせた各従属クレームが含まれる。説明した実施形態の範囲から逸脱することなく、多くの修正及び変形が当業者には明らかであろう。本明細書で使用する用語は、実施形態の原理、市場で見受けられる技術に対する実際の適用又は技術的改善を最もよく説明するため、又は当業者が本明細書に開示される実施形態を理解できるようにするために選択した。
【0081】
選択された頭字語:
HEVC:高効率ビデオコーディング
VVC:多用途ビデオコーディング
CfL:ルマからのクロマ
SDT:半分離ツリー
SDP:半分離パーティション分割
SST:セミセパレートツリー
SB:スーパーブロック
CTU:コーディングツリーユニット


図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12