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

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

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

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-07-04
(54)【発明の名称】L型パーティションツリー
(51)【国際特許分類】
   H04N 19/119 20140101AFI20220627BHJP
   H04N 19/14 20140101ALI20220627BHJP
   H04N 19/176 20140101ALI20220627BHJP
   H04N 19/46 20140101ALI20220627BHJP
   H04N 19/96 20140101ALI20220627BHJP
【FI】
H04N19/119
H04N19/14
H04N19/176
H04N19/46
H04N19/96
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021565098
(86)(22)【出願日】2021-01-07
(85)【翻訳文提出日】2021-11-02
(86)【国際出願番号】 US2021012498
(87)【国際公開番号】W WO2021142118
(87)【国際公開日】2021-07-15
(31)【優先権主張番号】62/958,417
(32)【優先日】2020-01-08
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/087,918
(32)【優先日】2020-11-03
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.SMALLTALK
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】シン・ジャオ
(72)【発明者】
【氏名】リャン・ジャオ
(72)【発明者】
【氏名】シャン・リュウ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LC04
5C159LC09
5C159TA12
5C159TB08
5C159TC10
5C159UA02
5C159UA05
(57)【要約】
ビデオデータをエンコード/デコードするための方法であって、当該方法は、ビデオデータを取得するステップと、取得したビデオデータを解析してパーティショニングパラメータを取得するステップと、パーティショニングパラメータに基づいて、パーティションコーディングブロックを取得するステップと、パーティションコーディングブロックに基づいて、取得したビデオデータをデコードするステップと、を含む。パーティションコーディングブロックは、矩形パーティション及び少なくとも1つの非矩形パーティションに分割される。
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサーを使用してビデオデコードを行う方法であって、
ビデオデータを取得するステップと、
取得したビデオデータを解析して、パーティショニングパラメータを取得するステップと、
前記パーティショニングパラメータに基づいて、パーティションコーディングブロックを取得するステップと、
前記パーティションコーディングブロックに基づいて、取得したビデオデータをデコードするステップと、
を含み、
前記パーティションコーディングブロックは、矩形パーティション及び少なくとも1つの非矩形パーティションに分割される、方法。
【請求項2】
前記少なくとも1つの非矩形パーティションは、少なくとも1つのL型パーティションを含む、請求項1に記載の方法。
【請求項3】
前記L型パーティションの第1の辺の長さは、前記パーティションコーディングブロックの高さに等しく、
前記L型パーティションの第2の辺の長さは、前記パーティションコーディングブロックの幅に等しく、
前記L型パーティションの第3の辺の長さは、前記パーティションコーディングブロックの高さの半分に等しく、
前記L型パーティションの第4の辺の長さは、前記パーティションコーディングブロックの幅の半分に等しく、
前記L型パーティションの第5の辺の長さは、前記パーティションコーディングブロックの高さの半分に等しく、
前記L型パーティションの第6の辺の長さは、前記パーティションコーディングブロックの幅の半分に等しい、請求項2に記載の方法。
【請求項4】
前記少なくとも1つのL型パーティションは、2つのL型パーティションを含む、請求項2に記載の方法。
【請求項5】
前記少なくとも1つのL型パーティションは、3つのL型パーティションを含む、請求項2に記載の方法。
【請求項6】
前記矩形パーティションは、正方形パーティションである、請求項2に記載の方法。
【請求項7】
前記正方形パーティションの幅は、前記パーティションコーディングブロックの幅の半分に等しく、
前記正方形パーティションの高さは、前記パーティションコーディングブロックの高さの半分に等しい、請求項6に記載の方法。
【請求項8】
前記少なくとも1つの非矩形パーティションのアスペクト比は、前記パーティションコーディングブロックのアスペクト比に等しい、請求項1に記載の方法。
【請求項9】
二分木分割、三分木分割、四分木分割、又はT型分割のうちの少なくとも1つに基づいて、前記矩形パーティションをさらに分割する、請求項1に記載の方法。
【請求項10】
前記少なくとも1つの非矩形パーティションは、複数の矩形パーティションにさらに分割される、請求項1に記載の方法。
【請求項11】
ビデオデコードのための装置であって、
プログラムコードを記憶するように配置される少なくとも1つのメモリと、
前記プログラムコードを読み取って前記プログラムコードの命令に従って動作するように配置される少なくとも1つのプロセッサーと、
を含み、
前記プログラムコードは、
前記少なくとも1つのプロセッサーに、ビデオデータを取得させるように配置される第1の取得コードと、
前記少なくとも1つのプロセッサーに、取得したビデオデータを解析させてパーティショニングパラメータを取得させるように配置される解析コードと、
前記少なくとも1つのプロセッサーに、前記パーティショニングパラメータに基づいてパーティションコーディングブロックを取得させるように配置される第2の取得コードと、
前記少なくとも1つのプロセッサーに、前記パーティションコーディングブロックに基づいて、取得したビデオデータをデコードさせるように配置されるデコードコードと、
を含み、
前記パーティションコーディングブロックは、矩形パーティション及び少なくとも1つの非矩形パーティションに分割される装置。
【請求項12】
前記少なくとも1つの非矩形パーティションは、少なくとも1つのL型パーティションを含む、請求項11に記載の装置。
【請求項13】
前記L型パーティションの第1の辺の長さは、前記パーティションコーディングブロックの高さに等しく、
前記L型パーティションの第2の辺の長さは、前記パーティションコーディングブロックの幅に等しく、
前記L型パーティションの第3の辺の長さは、前記パーティションコーディングブロックの高さの半分に等しく、
前記L型パーティションの第4の辺の長さは、前記パーティションコーディングブロックの幅の半分に等しく、
前記L型パーティションの第5の辺の長さは、前記パーティションコーディングブロックの高さの半分に等しく、
前記L型パーティションの第6の辺の長さは、前記パーティションコーディングブロックの幅の半分に等しい、請求項12に記載の装置。
【請求項14】
前記少なくとも1つのL型パーティションは、2つのL型パーティションを含む、請求項12に記載の装置。
【請求項15】
前記矩形パーティションは、正方形パーティションである、請求項12に記載の装置。
【請求項16】
前記正方形パーティションの幅は、前記パーティションコーディングブロックの幅の半分に等しく、
前記正方形パーティションの高さは、前記パーティションコーディングブロックの高さの半分に等しい、請求項15に記載の装置。
【請求項17】
前記少なくとも1つの非矩形パーティションのアスペクト比は、前記パーティションコーディングブロックのアスペクト比に等しい、請求項11に記載の装置。
【請求項18】
二分木分割、三分木分割、四分木分割、又はT型分割のうちの少なくとも1つに基づいて、前記矩形パーティションをさらに分割する、請求項11に記載の装置。
【請求項19】
前記少なくとも1つの非矩形パーティションは、複数の矩形パーティションにさらに分割される、請求項11に記載の装置。
【請求項20】
命令が記憶された非一時的なコンピュータ可読媒体であって、
前記命令は、1つ又は複数の命令を含み、前記1つ又は複数の命令は、ビデオデコードのための装置の1つ又は複数のプロセッサーによって実行されるときに前記1つ又は複数のプロセッサーに、
ビデオデータを取得するステップと、
取得したビデオデータを解析してパーティショニングパラメータを取得するステップと、
前記パーティショニングパラメータに基づいて、パーティションコーディングブロックを取得するステップと、
前記パーティションコーディングブロックに基づいて、取得したビデオデータをデコードするステップと、
を実行させ、
前記パーティションコーディングブロックは、矩形パーティション及び少なくとも1つの非矩形パーティションに分割される、非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2020年1月8日に提出されたアメリカ仮特許出願第62/958,417号及び2020年11月3日に提出されたアメリカ特許出願第17/087,918号に基づく優先権を主張し、それらの全内容を本明細書に組み込む。
【0002】
本開示は、一般に、データ処理の分野に関し、より具体的に、L型パーティションツリー方法に関連するビデオエンコード及び/又はデコードに関する。
【背景技術】
【0003】
AOMedia Video 1(AV1)は、インターネットを介したビデオ伝送用に設計されたオープンビデオコーディングフォーマットである。これは、VP9の後継者としてオープン・メディア・アライアンス(AOMedia)によって開発されたものであり、AOMediaは、2015年に設立されたアライアンスであり、半導体会社、ビデオオンデマンド・プロバイダー、ビデオ・コンテンツ・メーカー、ソフトウェア開発会社、ウェブブラウザー・プロバイダーなどが含まれている。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日、仕様正誤表1付きの検証済みバージョン1.0.0がリリースされた。AV1ビットストリーム仕様は、リファレンスビデオコーデックを含む。AOMedia Video 2(AV2)は現在開発中である。
【0004】
ITU-T VCEG(Q6/16)及びISO/IEC MPEG(JTC 1/SC 29/WG 11)は、2013(バージョン1)、2014(バージョン2)、2015(バージョン3)及び2016(バージョン4)でH.265/HEVC(High Efficiency Video Coding、高效率ビデオコーディング)規格を発表した。2015年、これら2つの標準化団体は、HEVCを超える次世代ビデオエンコード標準の開発の可能性を探るために、JVET(共同ビデオ探索グループ)を共同で設立した。2017年10月には、HEVCを超える能力を持つビデオ圧縮に関する共同提案(CfP)をリリースした。2018年2月15日までに、標準ダイナミックレンジ(High Dynamic Range 、SDR)に関する合計22のCfPレスポンス、ハイダイナミックレンジ(HDR)に関する合計12のCfPレスポンス及び360個のビデオカテゴリーに関する12のCfPレスポンスがそれぞれ提出されている。2018年4月、122MPEG/第10回JVET会議において、受けた全てのCfPレスポンスに対して評価した。この会議の結果、JVETはHEVCを超える次世代ビデオエンコードの標準化処理を正式に開始した。新規格は多用途ビデオコーディング(Versatile Video Coding、VVC)と名付けられ、JVETは合同ビデオ専門家チームと改名された。
【発明の概要】
【発明が解決しようとする課題】
【0005】
実施形態は、ビデオデータをエンコード及び/又はデコードするための方法、システム及びコンピュータ可読媒体に関する。
【課題を解決するための手段】
【0006】
一態様によれば、ビデオデータをエンコード及び/又はデコードするための方法を提供する。当該方法は、ビデオデータを取得するステップと、取得したビデオデータを解析してパーティショニングパラメータを取得するステップと、パーティショニングパラメータに基づいてパーティションコーディングブロックを取得するステップと、パーティションコーディングブロックに基づいて、取得したビデオデータをデコードするステップと、を含む。パーティションコーディングブロックは、矩形パーティション及び少なくとも1つの非矩形パーティションに分割される。
【0007】
一態様によれば、ビデオデータをエンコード及び/又はデコードするための装置を提供する。当該装置は、プログラムコードを記憶するように配置される少なくとも1つのメモリと、プログラムコードを読み取ってプログラムコードの命令に従って動作するように配置される少なくとも1つのプロセッサーと、を含み、プログラムコードは、少なくとも1つのプロセッサーに、ビデオデータを取得させるように配置される第1の取得コードと、少なくとも1つのプロセッサーに、取得したビデオデータを解析させてパーティショニングパラメータを取得させるように配置される解析コードと、少なくとも1つのプロセッサーに、パーティショニングパラメータに基づいてパーティションコーディングブロックを取得させるように配置される第2の取得コードと、前記少なくとも1つのプロセッサーに、パーティションコーディングブロックに基づいて、取得したビデオデータをデコードさせるように配置されるデコードコードと、を含む。パーティションコーディングブロックは、矩形パーティション及び少なくとも1つの非矩形パーティションに分割される。
【0008】
一態様によれば、ビデオデータをエンコード及び/又はデコードするための非一時的なコンピュータ可読媒体を提供する。当該非一時的なコンピュータ可読媒体は、命令を記憶することができ、前記命令は、1つ又は複数の命令を含み、前記1つ又は複数の命令は、ビデオデコードのための装置の1つ又は複数のプロセッサーによって実行されるときに、1つ又は複数のプロセッサーに、ビデオデータを取得するステップと、取得したビデオデータを解析してパーティショニングパラメータを取得するステップと、パーティショニングパラメータに基づいてパーティションコーディングブロックを取得するステップと、パーティションコーディングブロックに基づいて取得したビデオデータをデコードするステップと、を含む。パーティションコーディングブロックは、矩形パーティション及び少なくとも1つの非矩形パーティションに分割される。
【図面の簡単な説明】
【0009】
これら及び他の目的、特徴及び利点は、添付の図面と併せて示す例示的な実施形態の以下の詳細な説明から明らかになる。図面の様々な特徴は、特定の実施形態に関連して当業者の理解を促進するために、明確な説明を目的として、原寸に比例して描かれていない。図面において、
【0010】
図1】少なくとも1つの実施形態によるネットワーク化されたコンピュータ環境を示す。
図2】少なくとも1つの実施形態によるVP9及びAV1におけるパーティションツリーの例を示す。
図3図3Aから図3Bは、少なくとも1つの実施形態による四分木二分木構造の例を示す。
図4図4Aから図4Bは、少なくとも1つの実施形態による三分木分割の例を示す。
図5】少なくとも1つの実施形態によるL型パーティションの例を示す。
図6図6Aから図6Dは、少なくとも1つの実施形態による、L型パーティションを含むパーティショニングの例を示す。
図7図7Aから図7Dは、少なくとも1つの実施形態による、L型パーティションを含むパーティショニングの例を示す。
図8図8Aから図8Dは、少なくとも1つの実施形態による、L型パーティションを含むパーティショニングの例を示す。
図9図9Aから図9Dは、少なくとも1つの実施形態による、L型パーティションを含むパーティショニングの例を示す。
図10図10Aから図10Dは、少なくとも1つの実施形態による、L型パーティションを含むパーティショニングの例を示す。
図11図11Aから図11Dは、少なくとも1つの実施形態による、L型パーティションを含むパーティショニングの例を示す。
図12】少なくとも1つの実施形態による、ビデオデータをエンコードするためのプログラムによって実行されるステップを示す動作フローチャートである。
図13】少なくとも1つの実施形態による、図1に示されるコンピュータ及びサーバーの内部コンポーネント及び外部コンポーネントのブロック図である。
図14】少なくとも1つの実施形態による、図1に示されるコンピュータシステムを含む例示的なクラウドコンピューティング環境のブロック図である。
図15】少なくとも1つの実施形態による、図14の例示的なクラウドコンピューティング環境の機能層のブロック図である。
【発明を実施するための形態】
【0011】
本明細書は、請求保護される構造及び方法の詳細な実施形態を開示するが、開示する実施形態は、様々な形態で実施することができる請求保護される構造及び方法の単なる例示に過ぎない。これらの構造及び方法は、多くの異なる形態で実施することができ、本明細書に記載の例示的な実施形態に限定されない。逆に、これらの例示的な実施形態は、本開示が徹底的かつ完全になり、その範囲を当業者に十分に伝えるように提供される。本明細書では、実施形態を不必要に曖昧にすることを回避するために、周知の特徴及び技術の詳細を省略する場合がある。
【0012】
実施形態は、一般に、データ処理の分野に関し、より具体的に、ビデオエンコード及びデコードに関する。以下に説明する例示的な実施形態は、ビデオデータを効果的に圧縮するために、拡張量子化器を使用してビデオデータをエンコード及び/又はデコードするためのシステム、方法及びコンピュータプログラムなどを提供する。そのため、いくつかの実施形態は、AV2に拡張量子化器を提供することによって計算分野を改善する能力を有する。
【0013】
前述したように、AOMedia Video 1(AV1)は、インターネットを介したビデオ伝送用に設計されたオープンなビデオエンコードフォーマットである。AV1は、VP9の後継者としてオープン・メディア・アライアンス(AOMedia)が開発したものであり、当該アライアンスは、2015年に設立され、半導体会社、ビデオ・オン・デマンド・プロバイダー、ビデオ・コンテンツ・メーカー、ソフトウェア開発会社、ウェブブラウザー・プロバイダーなどが含まれている。現在、AV1量子化ステップサイズの分解能は限られている。ステップサイズの範囲は拡大されたが、Q_indexの有効範囲は同じである。量子化ステップの分解能のこのような制限は、10ビット及び12ビットの内部ビット深度の場合、より顕著であり、対応する8ビットのステップサイズ(q_idxを使用して得られる)は、それぞれ4及び16でスケーリングされる。これは、コーデックが実現できるビットレートの粒度に影響する。したがって、量子化インデックスの範囲を拡大することにより、量子化ステップの分解能を大きくすることが有利である可能性がある。
【0014】
本明細書では、様々な実施形態による方法、装置(システム)及びコンピュータ可読媒体のフローチャート及び/又はブロック図を参照して、各態様を説明する。コンピュータ可読プログラム命令によって、フローチャート及び/又はブロック図の各ブロック及びフローチャート及び/又はブロック図のブロックの組み合わせを実現できる。
【0015】
図1を参照すると、ネットワーク化されたコンピュータ環境の機能ブロック図は、例示的な実施形態(例えば、本明細書で説明される実施形態)による、ビデオデータをエンコード及び/又はデコードするためのビデオコーディングシステム100(以下、「システム」と呼ぶ)を示している。図1は、1つの実施形態の例示を提供し、異なる実施形態を実現できる環境に対する如何なる制限を意味するものではない。設計及び実現ニーズに基づいて、説明する環境に多くの変更を加えることができる。
【0016】
システム100は、コンピュータ102及びサーバーコンピュータ114を含み得る。コンピュータ102は、通信ネットワーク110(以下、「ネットワーク」)を介してサーバーコンピュータ114と通信することができる。コンピュータ102は、プロセッサー104及びソフトウェアプログラム108を含み、当該ソフトウェアプログラムは、データ記憶装置106に記憶され、ユーザーとのインタラクション及びサーバーコンピュータ114との通信を可能にする。図13を参照して以下で説明するように、コンピュータ102は、それぞれ内部コンポーネント8000A及び外部コンポーネント9000Aを含み、サーバーコンピュータ114は、それぞれ内部コンポーネント8000B及び外部コンポーネント9000Bを含み得る。コンピュータ102は、例えばモバイルデバイス、電話、携帯情報端末、ネットブック、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、又はプログラムの実行、ネットワークへのアクセス及びデータベースへのアクセスが可能な任意のタイプのコンピューティングデバイスであり得る。
【0017】
図14及び図15に関連して以下で説明するように、サーバーコンピュータ114は、例えばサービスとしてのソフトウェア(Software as a Service、SaaS)、サービスとしてのプラットフォーム(Platform as a Service、PaaS)、又はサービスとしてのインフラストラクチャ(Infrastructure as a Service、IaaS)のクラウドコンピューティングサービスモデルで動作することができる。サーバーコンピュータ114は、例えばプライベートクラウド、コミュニティクラウド、パブリッククラウド又はハイブリッドクラウドなどのクラウドコンピューティング展開モデルに配置され得る。
【0018】
ビデオデータのエンコードに使用することができるサーバーコンピュータ114は、データベース112とインタラクションすることができるビデオエンコーディングプログラム116(以下、「プログラム」)を実行することができる。ビデオエンコーディングプログラム方法は、以下、図4に関して詳細に説明する。一実施形態では、コンピュータ102は、ユーザーインターフェースを含む入力装置として実行することができ、プログラム116は、主にサーバーコンピュータ114で実行することができる。代替の実施形態では、プログラム116は、主に、1つ又は複数のコンピュータ102で実行することができ、サーバーコンピュータ114は、プログラム116によって使用されるデータを処理及び記憶することができる。なお、プログラム116は、スタンドアロンプログラムであってもよく、より大きなビデオエンコーディングプログラムに集積されてもよい。
【0019】
なお、いくつかの実施例では、プログラム116の処理は、コンピュータ102及びサーバーコンピュータ114の間で任意の比率で共有できる。別の実施形態では、プログラム116は、1つ以上のコンピュータ、サーバーコンピュータ又はコンピュータ及びサーバーコンピュータの何らかの組み合わせで実行されてもよく、例えば、複数のコンピュータ102は、ネットワーク110を介して単一のサーバーコンピュータ114と通信する。別の実施形態では、例えば、プログラム116は、ネットワーク110を介して複数のクライアントコンピュータと通信する複数のサーバーコンピュータ114で実行することができる。或いは、プログラムは、ネットワークを介してサーバー及び複数のクライアントコンピュータと通信するネットワークサーバーで実行することができる。
【0020】
ネットワーク110は、有線接続、無線接続、光ファイバ接続又はそれらのいくつかの組み合わせを含み得る。通常、ネットワーク110は、コンピュータ102とサーバーコンピュータ114との間の通信をサポートする接続及びプロトコルの任意の組み合わせであり得る。ネットワーク110は、様々なタイプのネットワークを含むことができ、例えば、ローカルエリアネットワーク(Local Area Network、LAN)、インターネットなどのワイドエリアネットワーク(Wide Area Network、WAN)、公衆交換電話ネットワーク(Public Switched Telephone Network、PSTN)などの電気通信ネットワーク、無線ネットワーク、パブリックスイッチングネットワーク、衛星ネットワーク、セルラーネットワーク(例えば、第5世代(Fifth Generation、5G)ネットワーク、長期的な進化(Long-Term Evolution、LTE)ネットワーク、第3世代(Third Generation、3G)ネットワーク、コード分割マルチアクセス(Code Division Multiple Access、CDMA)ネットワークなど)、公有地モバイルネットワーク(Public Land Mobile Network、PLMN)、メトロポリタンエリアネットワーク(Metropolitan Area Network、MAN)、プライベートネットワーク、自己組織化ネットワーク、イントラネット、ファイバベースのネットワークなど、及び/又は、これら又は他のタイプのネットワークの組み合わせである。
【0021】
図1に示される装置及びネットワークの数及び配置は、例として提供される。実際に、図1に示される装置及び/又はネットワーク以外、追加の装置及び/又はネットワーク、より少ない装置及び/又はネットワーク、異なる装置及び/又はネットワーク、又は異なる配置の装置及び/又はネットワークがあり得る。また、図1に示される2つ以上の装置は、単一の装置で実現され得るか、又は、図1に示される単一の装置は、複数の分散装置として実現され得る。追加的又は代替的に、システム100の一セットの装置(例えば、1つ又は複数の装置)は、システム100の別のセットの装置によって実行されると説明される1つ又は複数の機能を実行することができる。
【0022】
図2は、VP9及びAV1におけるブロック分割の例を示す。VP9は、64×64レベルから4×4レベルまでの4ウェイパーティションツリーを使用し、図2の上部に示すように、8×8以下のブロックには追加の制限がある。なお、Rとして指定されたパーティションは、再帰に係り、最低の4×4レベルに達するまで、低いスケールで同じパーティションツリーが繰り返される。
【0023】
同じ図に示されるように、AV1は、パーティションツリーを10ウェイ構造に拡張するだけでなく、最大サイズ(VP9/AV1用語ではスーパーブロックと呼ばれる)を128×128から開始するように増加させる。なお、VP9には存在しない4:1/1:4の矩形パーティションが含まれる。矩形パーティションをさらに細かく分割することができない。また、AV1は、2×2クロマインター予測が特定のケースで可能になり、8×8レベル未満のパーティションの使用にさらに柔軟性を追加する。
【0024】
HEVCにおいて、コーディングツリーとして表現された四分木構造を使用して、コーディングツリーユニット(Coding Tree Unit、CTU)を様々な局所的特徴に適応するコーディングユニット(Coding Unit、CU)に分割する。 ピクチャ間(時間)又はピクチャ内(空間)予測を使用してピクチャ領域をコーディングするかどうかは、CUレベルで決定される。PU分割タイプに基づいて、各CUをさらに1つ、2つ、又は4つの予測ユニット(Prediction Unit、PU)に分割することができる。1つのPU内で、同じ予測処理が適用され、関連情報がPUベースでデコーダに伝送される。PU分割タイプに基づく予測処理を適用して残差ブロックを取得した後、(CU用のコーディングツリーと類似する)別の四分木構造によって、CUを変換ユニット(Transform Unit、TU)に分割することができる。HEVC構成の主な特徴は、CU、PU、及びTUを含む複数のパーティション概念があることである。HEVCでは、インター予測ブロックの場合、CU又はTUは、正方形でなければならず、PUは、正方形又は矩形であってもよい。HEVCでは、1つのコーディングブロックをさらに4つの正方形のサブブロックに分割し、各サブブロック、即ちTUに対して変換を行うこともできる。各TUを、さらに(四分木分割を使用して)再帰的に残差四分木(Residual Quad-Tree、RQT)と呼ばれるより小さいTUに分割することができる。
【0025】
ピクチャ境界では、HEVCは暗黙的な四分木分割を採用しているため、ブロックは、サイズがピクチャ境界に適合するまで四分木分割を維持する。
【0026】
HEVCにおいて、コーディングツリーとして表現された四分木構造を使用して、CTUを、様々な局所的特徴に適応するCUに分割する。ピクチャ間(時間)又はピクチャ内(空間)予測を使用してピクチャ領域をコーディングするかどうかは、CUレベルで決定される。PU分割タイプに基づいて、各CUをさらに1つ、2つ、又は4つのPUに分割することができる。1つのPU内では、同じ予測処理が適用され、関連情報がPUベースでデコーダに伝送される。PU分割タイプに基づく予測処理を適用して残差ブロックを取得した後、(CUのコーディングツリーと類似する)別の四分木(Quad-Tree、QT)構造によって、CUを変換ユニット(TU)に分割することができる。HEVC構成の主な特徴の1つは、CU、PU、及びTUを含む複数のパーティションの概念があることである。
【0027】
QTBT(QuadTree Binary Tree)構造は、複数のパーティションタイプの概念を除去し、即ち、CU、PU、及びTUの概念のパーティションを除去し、CUパーティション形状のさらなる柔軟性をサポートする。QTBTブロック構造では、CUは、正方形又は長方形の形状を有することができる。図3Aから図3Bに示すように、コーディングツリーユニット(CTU)は、最初に四分木構造で分割される。さらに二分木(Binary Tree、BT)構造で四分木のリーフノードを分割する。二分木分割には、対称水平分割と対称垂直分割の2種類の分割タイプがある。二分木のリーフノードはコーディングユニット(CU)と呼ばれ、この分割部分は、予測及び変換処理に使用され、さらなる分割を必要としない。これは、CU、PU及びTUがQTBTコーディングブロック構造において同じブロックサイズを有することを意味する。JEMでは、CUが異なる色成分のコーディングブロック(Coding Block、CB)で構成される場合があり、例えば4:2:0クロマフォーマットのP及びBスライスの場合、1つのCUが1つの輝度CB及び2つのクロマCBを含む場合があり、CUが単一成分のCBで構成される場合もあり、例えばIスライスの場合、1つのCUが1つの輝度CBのみ又は2つのクロマCBのみを含む場合もある。
【0028】
QTBT分割スキームの場合、次のパラメータを定義できる。
CTUsize:四分木のルートノードのサイズで、HEVCと同じ概念である。
MinQTSize:四分木の最小許容サイズ
MaxBTSize:二分木のルートノードの最大許容サイズ
MaxBTDepth:二分木の最大許容深さ
MinBTSize:二分木のリーフノードの最小許容サイズ
【0029】
QTBT分割構造の一例では、CTUサイズは、128×128輝度サンプルに設定され、2つの対応する64×64クロマサンプルブロックを有し、MinQTSizeは、16×16に設定され、MaxBTSizeは、64×64に設定され、MinBTSize(幅と高さの両方)は、4×4に設定され、MaxBTDepthは、4に設定される。四分木分割は、最初にCTUに適用され、四分木のリーフノードが生成される。四分木のリーフノードのサイズは、16×16(MinQTSize)から128×128(CTUサイズ)の範囲である。四分木のリーフノードが128×128の場合、サイズがMaxBTSize(64×64)を超えるため、二分木でさらに分割されることはない。それ以外の場合、四分木のリーフノードはさらに二分木で分割されてもよい。したがって、四分木のリーフノードは二分木のルートノードでもあり、二分木の深さは0である。二分木の深さがMaxBTDepth(つまり4)に達すると、さらなる分割は考慮されない。二分木ノードの幅がMinBTSize(つまり4)に等しい場合、さらなる水平分割は考慮されない。類似的に、二分木ノードの高さがMinBTSizeに等しい場合、さらなる垂直分割は考慮されない。二分木のリーフノードは、予測及び変換処理によってさらに処理され、さらなる分割を必要としない。JEMでは、最大CTUサイズは256×256輝度サンプルである。
【0030】
図3Aは、QTBTを使用してブロック分割を行う例を示し、図3Bは、対応するツリー表現を示す。実線は、四分木分割を示し、破線は、二分木分割を示す。二分木の各分割(即ち、非リーフ)ノードにおいて、どの分割タイプ(即ち、水平又は垂直)を使用するかを示すフラグがシグナリングされ、0は、水平分割を示し、1は、垂直分割を示す。四分木分割の場合、常にブロックを水平方向と垂直方向の両方に分割して4つの等しいサイズのサブブロックを生成するため、分割タイプを示す必要はない。
【0031】
さらに、QTBTスキームは、輝度及びクロマが別々のQTBT構造を有する柔軟性をサポートする。現在、PスライスとBスライスの場合、1つのCTU内の輝度とクロマCTBは、同じQTBT構造を共有している。但し、Iスライスの場合、輝度CTBは、QTBT構造によってCUに分割され、クロマCTBは、別のQTBT構造によってクロマCUに分割される。これは、IスライスのCUが輝度成分のコーディングブロック又は2つのクロマ成分のコーディングブロックで構成され、P又はBスライスのCUが3つの色成分すべてのコーディングブロックで構成されることを意味する。
【0032】
HEVCにおいて、モーション補償のメモリアクセスを減らすために、小さなブロックのインター予測が制限され、その結果、4×8及び8×4ブロックは、二重予測をサポートせず、4×4ブロックは、インター予測をサポートしない。JEM-7.0で実現されるQTBTでは、これらの制限が解消された。
【0033】
VVCにおいて、マルチタイプツリー(Multi-Type-Tree、MTT)構造が含まれ、図4Aから図4Bに示すように、MTT構造は、QTBTの上に水平及び垂直の中央側の三分木がさらに追加される。例えば、図4Aは、垂直方向の中央側の三分木分割の例を示し、図4Bは、水平方向の中央側の三分木分割の例を示す。
【0034】
三分木分割の利点は、四分木及び二分木分割の補足として、三分木分割は、ブロックの中央に位置するオブジェクトをキャプチャできるが、四分木及び二分木分割は常にブロックの中央に沿って分割する。また、提案された三分木分割の幅及び高さは常に2の累乗であるため、追加の変換は必要ない。
【0035】
2ベレルツリーの設計は、主に複雑さを軽減するためである。理論的に、1つのツリーをトラバースする複雑さは、T^Dであり、Tは、分割タイプの数を示し、Dは、ツリーの深さである。
【0036】
関連技術のコーデックにおけるブロック分割は、画像データが1つ又は複数の矩形ブロックに分割されることを制限することができ、各矩形ブロック内のサンプルは、1つのコーディングユニット又は例えば1つのコーディングブロックとして一緒にコーディングされる。既存のブロック分割モードと重複しない新しいブロック分割方法は、追加のコーディングゲインをもたらす可能性がある。実施形態は、非矩形ブロック分割モードをサポートする新しいブロック分割を提案する。
【0037】
実施形態は、単独で使用することも、任意の順序で組み合わせて使用することもできる。図5は、少なくとも1つの実施形態によるL型(又はL型)パーティションの例を示す。実施形態では、回転したL型パーティションも、L型パーティションと見なすことができる。図5に示すように、L型パーティションは例えば、示された幅、高さ、短い幅、及び短い高さを含み得る。
【0038】
実施形態では、L型コーディングブロック分割方法は、1つのコーディングブロックを1つの矩形パーティション及び1つ又は複数のL型パーティションに分割することができる。
【0039】
図6Aから図6Dは、実施形態による、L型パーティションによって分割されるコーディングブロック600Aから600Dの例を示す。図6Aから図6Dに示すように、コーディングブロック600Aから600Dのそれぞれは、1つの正方形パーティション(例えばパーティション610、620、630及び640)及び1つのL型パーティション(例えばパーティション611、621、631及び641)に分割される。
【0040】
例えば図6Aから図6Dに示される実施形態などの実施形態では、ブロック600Aから600Dはそれぞれ、2つのパーティションに分割され、そのうちの1つのパーティションは、例えば、パーティション610、620、630及び640のような、4分の1サイズ(幅及び高さの両方がブロックの幅及び高さの半分のサイズである)の矩形ブロックであり、もう1つのパーティションは、例えばパーティション611、621、631及び641のようなブロックの面積の3/4をカバーするL型パーティションである。
【0041】
図7Aから図7Dは、実施形態による、L型パーティションによって分割されるコーディングブロック700Aから700Dの例を示す。図7Aから図7Dに示すように、コーディングブロック700Aから700Dのそれぞれは、1つの矩形パーティション(例えばパーティション710、720、730及び740)及び1つのL型パーティション(例えばパーティション711、721、731及び741)に分割される。
【0042】
例えば図に示される実施形態などの実施形態では、ブロック700Aから700Dは、2つのパーティションに分割され、そのうちの1つは、ブロックと異なるアスペクト比を有する矩形ブロック(例えばパーティション710、720、730及び740)であり、もう1つは、L型パーティション(例えばパーティション711、721、731及び741)である。
【0043】
図8Aから図8Dは、実施形態による、L型パーティションによって分割されるコーディングブロック800Aから800Dの例を示す。図8Aから図8Dに示すように、コーディングブロック800Aから800Dのそれぞれは1つの正方形パーティション(例えばパーティション810、820、830及び840)及び1つのL型パーティション(例えばパーティション811、821、831及び841)に分割される。
【0044】
例えば図8Aから図8Dに示される実施形態などの実施形態では、ブロック800Aから800Dは、2つのパーティションに分割され、そのうちの1つは、同じブロックアスペクト比(例えば、1:4、1:8、1:16)を有する矩形ブロック(例えばパーティション810、820、830及び840)であり、もう1つは、ブロックの残りの領域をカバーするL型パーティション、例えばパーティション811、821、831及び841である。図8Aから図8Dでは、パーティション810、820、830及び840のそれぞれの幅及び高さは、ブロック800Aから800Dのそれぞれの幅及び高さの4分の1であり得て、即ち、ブロックアスペクト比は1:4であり得る。
【0045】
実施形態では、ブロックは、2つ以上のパーティションに分割されてもよい。例えば、ブロックは、同じブロックアスペクト比を有する矩形ブロック及び複数のL型パーティションに分割されてもよい。
【0046】
図9Aから図9Dは、実施形態による、L型パーティションによって分割されるコーディングブロック900Aから900Dの例を示す。図9Aから図9Dに示すように、コーディングブロック900Aから900Dのそれぞれは、1つの正方形パーティション(例えばパーティション910、920、930及び940)及び2つのL型パーティション、例えばパーティション911、912、921、922、931、932、941及び942に分割される。
【0047】
例えば図9Aから図9Dに示される実施形態などの実施形態では、ブロック900Aから900Dは、3つのパーティションに分割され、そのうちの1つは、同じブロックアスペクト比を有する矩形ブロック(例えばパーティション910、920、930及び940)であり、もう2つは、L型パーティション(例えばパーティション911、912、921、922、931、932、941及び942)である。
【0048】
図10Aから図10Dは、実施形態による、L型パーティションによって分割されるコーディングブロック1000Aから1000Dの例を示す。図10Aから図10Dに示すように、コーディングブロック1000Aから1000Dのそれぞれは、1つの正方形パーティション(例えばパーティション1010、1020、1030及び1040)及び3つのL型パーティション(例えばパーティション1011、1021、1022、1023、1031、1032、1033、1041、1042及び1043)に分割される。
【0049】
例えば図10Aから図10Dに示される実施形態などの実施形態では、ブロック1000Aから1000Dは、4つのパーティションに分割され、そのうちの1つは、ブロックAと同じブロックアスペクト比を有する矩形ブロック(例えば分割する1010、1020、1030、1040)であり、他の3つは全て、L型パーティション(例えばパーティション1011、1021、1022、1023、1031、1032、1033、1041、1042、1043)である。
【0050】
実施形態では、例えばパーティション1011、1021、1022、1023、1031、1032、1033、1041、1042及び1043などの各L型パーティションの短い幅は、同じ値を有してもよく、例えばブロック全体の幅の1/4である。
【0051】
別の例では、各L型パーティション(例えばパーティション1011、1021、1022、1023、1031、1032、1033、1041、1042及び1043)の短い高さは、同じ値を有してもよく、例えばブロック全体の高さの1/4である。
【0052】
実施形態では、上記のL型パーティションによって得られた矩形パーティション(例えばパーティション610、620、630、640、710、720、730、740、810、820、830、840、910、920、930、940、1010、1020、1030及び1040)は、さらに分割することができる。例えば、AV1(二分木分割、四分木分割、T型)及びVVC(二分木分割、三分木分割及び四分木分割)で定義されている通常のコーディングツリー分割方法は、矩形パーティションにさらに適用することができる。
【0053】
実施形態では、上記の各L型パーティション(例えばパーティション611、621、631、641、711、721、731、741、811、821、831、841、911、912、922、931、932、941、942、1011、1021、1022、1023、1031、1032、1033、1041、1042及び1043)は、さらに分割されてもよい。
【0054】
図11Aから図11Bは、実施形態によるこのようなさらなる分割の例を示す。
【0055】
例えば、図11Aから図11Bに示すように、L型パーティション1100A及び1100Bはそれぞれ、2つの矩形パーティション、例えばパーティション1110、1111、1120及び1121にさらに分割することができる。
【0056】
別の例として、図11Cに示すように、L型パーティション1100Cは、3つの矩形パーティション、例えばパーティション1130、1131及び1132にさらに分割することができる。
【0057】
さらに別の例として、図11Dに示すように、L型パーティション1100Dは、L型パーティション、例えばパーティション1140及び1141にさらに分割することができる。
【0058】
実施形態では、L型パーティションは、ゼロ残差と関連付けることができる。
【0059】
実施形態では、L型パーティションの短い幅及び短い高さは、ブロックサイズの2乗の倍数(例えば1/8、1/4、1/2)でなければならない。
【0060】
一実施形態では、L型パーティションの幅、高さ、短い幅及び短い高さは全て、ブロックサイズの倍数(例えば1/8、1/4、1/2)でなければならない。
【0061】
図12を参照すると、図12は、ビデオデータをエンコード及び/又はデコードするための方法90000のステップを示す動作フローチャートを示す。いくつかの実現方式では、図4の1つ又は複数の処理ブロックは、コンピュータ102(図1)及びサーバーコンピュータ114(図1)によって実行され得る。いくつかの実現方式では、図4の1つ又は複数の処理ブロックは、コンピュータ102及びサーバーコンピュータ114から分離されているか、又はコンピュータ102及びサーバーコンピュータ114を含む別の装置又は装置のグループによって実行されてもよい。
【0062】
1210では、方法1200は、ビデオデータを取得することを含む。
【0063】
1220では、方法1200は、取得したビデオデータを解析してパーティショニングパラメータを取得することを含む。
【0064】
1230では、方法1200は、パーティショニングパラメータに基づいて、パーティションコーディングブロックを取得することを含む。実施形態では、パーティションコーディングブロックは、矩形パーティション及び少なくとも1つの非矩形パーティションに分割されてもよい。
【0065】
1240では、方法1200は、前記パーティションコーディングブロックに基づいてビデオデータをデコードすることを含む。
【0066】
1つ又は複数の実施形態では、少なくとも1つの非矩形パーティションは、少なくとも1つのL型パーティションを含んでもよい。
【0067】
1つ又は複数の実施形態では、L型パーティションの第1の辺の長さは、パーティションコーディングブロックの高さに等しく、L型パーティションの第2の辺の長さは、パーティションコーディングブロックの幅に等しく、L型パーティションの第3の辺の長さは、パーティションコーディングブロックの高さの半分に等しく、L型パーティションの第4の辺の長さは、パーティションコーディングブロックの幅の半分に等しく、L型パーティションの第5の辺の長さは、パーティションコーディングブロックの高さの半分に等しく、L型パーティションの第6の辺の長さは、パーティションコーディングブロックの幅の半分に等しくてもよい。
【0068】
1つ又は複数の実施形態では、少なくとも1つのL型パーティションは、2つのL型パーティションを含んでもよい。
【0069】
1つ又は複数の実施形態では、少なくとも1つのL型パーティションは、3つのL型パーティションを含んでもよい。
【0070】
1つ又は複数の実施形態では、矩形パーティションは、正方形パーティションであってもよい。
【0071】
1つ又は複数の実施形態では、正方形パーティションの幅は、パーティションコーディングブロックの幅の半分に等しく、正方形パーティションの高さはパーティションコーディングブロックの高さの半分に等しくてもよい。
【0072】
1つ又は複数の実施形態では、少なくとも1つの非矩形パーティションのアスペクト比は、パーティションコーディングブロックのアスペクト比に等しくてもよい。
【0073】
1つ又は複数の実施形態では、二分木分割、三分木分割、四分木分割又はT型分割のうちの少なくとも1つに基づいて、矩形パーティションをさらに分割してもよい。
【0074】
1つ又は複数の実施形態では、少なくとも1つの非矩形パーティションは、複数の矩形パーティションにさらに分割されてもよい。
【0075】
図12は、1つの実現方式の例示を提供し、異なる実施形態を実施する方法についての任意の制限を意味するものではない。設計及び実現ニーズに基づいて、説明する環境に多くの変更を加えることができる。
【0076】
図13は、例示的な実施形態による、図1に示されるコンピュータの内部コンポーネント及び外部コンポーネントのブロック図1300である。図13は、1つの実現方式の例示を提供し、異なる実施形態を実施することができる環境に対する任意の制限を意味するものではない。設計及び実現ニーズに基づいて、説明する環境に多くの変更を加えることができる。
【0077】
コンピュータ102(図1)及びサーバーコンピュータ114(図1)は、図4に示される内部コンポーネント8000A、8000B及び外部コンポーネント9000A、9000Bの対応するセットを含むことができる。内部コンポーネント8000の各セットは、1つ又は複数のバス826上の1つ又は複数のプロセッサー801、1つ又は複数のコンピュータ可読RAM802及び1つ又は複数のコンピュータ可読ROM804、1つ又は複数のオペレーティングシステム828及び1つ又は複数のコンピュータ可読有形記憶装置803を含む。
【0078】
プロセッサー801は、ハードウェア、ファームウェア又はハードウェア及びソフトウェアの組み合わせで実現される。プロセッサー801は、中央処理ユニット(Central Processing Unit、CPU)、グラフィックス処理ユニット(Graphics Processing Unit、GPU)、加速処理ユニット(Accelerated Processing Unit、APU)、マイクロプロセッサー、マイクロコントローラ、デジタル信号プロセッサー(Digital Signal Processor、DSP)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA)、専用集積回路(Application-Specific Integrated Circuit、ASIC)又は他のタイプの処理コンポーネントである。いくつかの実現方式では、プロセッサー801は、機能を実行するようにプログラムすることができる1つ又は複数プロセッサーを含む。バス826は、内部コンポーネント8000A、8000B間の通信を可能にするコンポーネントを含む。
【0079】
サーバーコンピュータ114(図1)上の1つ又は複数のオペレーティングシステム828、ソフトウェアプログラム108(図1)、及びビデオエンコーディングプログラム116(図1)は、1つ又は複数の対応するコンピュータ可読有形記憶装置803に記憶され、1つ又は複数の対応するプロセッサー801によって、(通常にキャッシュバッファメモリを含む)1つ又は複数の対応するRAM802を介して実行される。図13に示す実施形態では、各コンピュータ可読有形記憶装置803は、内蔵ハードディスクドライブの磁気ディスク記憶装置である。或いは、各コンピュータ可読有形記憶装置803は、半導体記憶装置、例えば、ROM804、EPROM、フラッシュメモリ、光ディスク、光磁気ディスク、ソリッドステートディスク、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピー(登録商標)ディスク、カートリッジ、磁気テープ、及び/又はコンピュータプログラム及びデジタル情報を記憶することができる他のタイプの非一時的なコンピュータ可読有形記憶装置である。
【0080】
内部コンポーネント8000A、8000Bの各セットはさらに、CD-ROM、DVD、メモリスティック、磁気テープ、磁気ディスク、光ディスク、又は半導体記憶装置などの1つ又は複数のポータブルコンピュータ可読有形記憶装置936に対して読み取り及び書き込みのためのR/Wドライブ又はインターフェース808を含む。ソフトウェアプログラム108(図1)及びビデオエンコーディングプログラム116(図1)などのソフトウェアプログラムは、1つ又は複数の対応するポータブルコンピュータ可読有形記憶装置936に記憶され、対応するR/Wドライブ又はインターフェース808を介して読み取られ、対応するハードディスクドライブ803にロードされてもよい。
【0081】
内部コンポーネント8000A、8000Bの各セットはさらに、TCP/IPアダプタカードなどのネットワークアダプタ又はインターフェース836、無線Wi-Fiインターフェースカード、又は、3G、4G、又は5G無線インターフェースカード、又は他の有線又は無線通信リンクを含む。サーバーコンピュータ114(図1)上のソフトウェアプログラム108(図1)及びビデオエンコーディングプログラム116(図1)は、ネットワーク(例えば、インターネット、ローカルエリアネットワーク又は他のワイドエリアネットワーク)及び対応するネットワークアダプタ又はインターフェース836を介して、外部コンピュータからコンピュータ102(図1)及びサーバーコンピュータ114にダウンロードすることができる。サーバーコンピュータ114上のソフトウェアプログラム108及びビデオエンコーディングプログラム116は、ネットワークアダプタ又はインターフェース836から対応するハードディスクドライブ803にロードされる。ネットワークには、銅線、光ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、及び/又はエッジサーバーが含まれる。
【0082】
外部コンポーネント9000A、900Bの各セットは、コンピュータディスプレイモニタ902、キーボード903、及びコンピュータマウス934を含むことができる。外部コンポーネント9000A、9000Bはさらに、タッチスクリーン、仮想キーボード、タッチパッド、ポインティングデバイス、及び他のヒューマンインタフェースデバイスを含むことができる。内部コンポーネント8000A、8000Bの各セットはさらに、コンピュータディスプレイモニタ902、キーボード903、及びコンピュータマウス934とインターフェースするデバイスドライバ806を含む。デバイスドライバ806、R/Wドライバ又はインターフェース808、及びネットワークアダプタ又はインターフェース836は、ハードウェア及び(記憶装置803及び/又はROM804に記憶された)ソフトウェアを含む。
【0083】
本開示は、クラウドコンピューティングに関する詳細な説明を含むが、本明細書に記載された教示の実施形態は、クラウドコンピューティング環境に限定されない。むしろ、いくつかの実施形態は、現在知られている、又は後に開発される任意の他のタイプのコンピューティング環境と組み合わせて実現することができる。
【0084】
クラウドコンピューティングは、サービス提供モデルであり、配置可能なコンピューティングリソース(例えば、ネットワーク、ネットワーク帯域幅、サーバー、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス)の共有プールへの便利でオンデマンドのネットワークアクセスを可能にし、前記配置可能なコンピューティングリソースは、最小の管理作業又はサービスプロバイダとのインタラクションで迅速にプロビジョニング及びリリースすることができる。このクラウドモデルは、少なくとも5つの特徴、少なくとも3つのサービスモデル、及び少なくとも4つの配置モデルを含むことができる。
【0085】
特徴は次のとおりである。
オンデマンドセルフサービス:クラウドの消費者は、サービスプロバイダとヒューマンインタラクションすることなく、サーバー時間やネットワークストレージなどのコンピューティング能力を必要に応じて一方的に自動的に提供することができる。
幅広いネットワークアクセス:機能は、ネットワーク経由で利用可能であり、異種のシンクライアントプラットフォーム又はシッククライアントプラットフォーム(携帯電話、ラップトップ、PDAなど)による利用を促進する標準メカニズムを介してアクセスできる。
リソースプーリング:プロバイダのコンピューティングリソースはプールされ、マルチテナントモデルを使用して複数の消費者にサービスを提供し、異なる物理リソースと仮想リソースは、必要に応じて動的に割り当てられるか、再割り当てされる。消費者は通常、提供されたリソースの正確な位置を制御していないか、又は知らないため、位置に依存しない感覚があるが、より抽象的なレベル(例えば、国、州、又はデータセンター)で位置を指定することができる場合がある。
急速な弾力性:迅速に拡張し、迅速にリリースして迅速に収縮するために、機能を迅速かつ弾力的に(場合によっては自動的に)プロビジョニングできる。消費者にとっては、プロビジョニングに利用可能な能力は一般的に制限されていないように見え、いつでも任意の量で購入することができる。
計測サービス:クラウドシステムは、サービスのタイプ(ストレージ、処理、帯域幅、アクティブなユーザーアカウントなど)に適した抽象的なレベルで計測機能を利用することで、リソースの使用を自動的に制御し、最適化する。リソースの使用状況を監視、制御、及びレポートすることができ、利用されるサービスのプロバイダと消費者の両方に透明性を提供することができる。
【0086】
サービスモデルは次のとおりである。
サービスとしてのソフトウェア(SaaS):消費者に提供される機能とは、クラウドインフラストラクチャで実行されるプロバイダのアプリケーションを利用することである。アプリケーションは、ウェブブラウザ(例えば、ウェブベースの電子メール)のようなシンクライアントインタフェースを介して、様々なクライアントデバイスからアクセスすることができる。消費者は、限られたユーザー固有のアプリケーション構成設定を除いて、ネットワーク、サーバー、オペレーティングシステム、ストレージ、さらに個々のアプリケーション機能を含む基盤となるクラウドインフラストラクチャを管理又は制御しない。
サービスとしてのプラットフォーム(PaaS):消費者に提供される能力は、プロバイダがサポートするプログラミング言語やツールを使用して作成した、消費者が作成又は取得したアプリケーションをクラウドインフラストラクチャ上に配置することである。消費者は、ネットワーク、サーバー、オペレーティングシステム、又はストレージを含む基盤となるクラウドインフラストラクチャを管理又は制御しないが、配置されているアプリケーション及び可能なアプリケーションホスティング環境の構成を制御することはできる。
サービスとしてのインフラストラクチャ(IaaS):消費者に提供される能力は、処理、ストレージ、ネットワーク、及び、消費者がオペレーティングシステム及びアプリケーションを含むことができる任意のソフトウェアを配置及び実行することができるその他の基本的なコンピューティングリソースを提供することである。消費者は、基盤となるクラウドインフラストラクチャを管理又は制御しないが、オペレーティングシステム、ストレージ、及び配置されたアプリケーションを制御することができる。また、ネットワークコンポーネント(ホストファイアウォールなど)の選択に制限がある場合もある。
【0087】
展開モデルは次のとおりである。
プライベートクラウド:クラウドインフラストラクチャは、組織専用に運用される。組織又はサードパーティによって管理され、オンプレミス又はオフプレミスに存在することができる。
コミュニティクラウド:クラウドインフラストラクチャは複数の組織によって共有され、共通の懸念事項(タスク、セキュリティ要件、ポリシー、及びコンプライアンスに関する考慮事項など)を持つ特定のコミュニティをサポートする。組織又はサードパーティによって管理され、オンプレミス又はオフプレミスに存在することができる。
パブリッククラウド:クラウドインフラストラクチャは、一般の人々又は大規模な業界団体が利用でき、クラウドサービスを販売する組織が所有しています。
ハイブリッドクラウド:クラウドインフラストラクチャは、2つ以上のクラウド(プライベート、コミュニティ、パブリック)を組み合わせたものであり、これらのクラウドは、依然として唯一のエンティティであるが、データとアプリケーションの移植性を実現するための標準化されたテクノロジー又は独自のテクノロジー(クラウド間のロードバランシングのためのクラウドバーストなど)によって結合されている。
【0088】
クラウドコンピューティング環境はサービス指向であり、ステートレス、低結合、モジュール性、及びセマンティック相互運用性に焦点を当てている。クラウドコンピューティングの核となるのは、相互に接続されたノードで構成されるネットワークを含むインフラストラクチャである。
【0089】
図14を参照して、開示された主題の特定の実施形態の実現に適合する例示的なクラウドコンピューティング環境1400が示される。図に示されるように、クラウドコンピューティング環境1400は、1つ又は複数のクラウドコンピューティングノード10を含み、クラウド消費者によって使用されるローカルコンピューティングデバイスは、1つ又は複数のクラウドコンピューティングノードを介して通信可能であり、前記ローカルコンピューティングデバイスは、パーソナル・デジタル・アシスタント(Personal Digital A ssistant、PDA)又は携帯電話54A、デスクトップコンピュータ54B、ラップトップコンピュータ54C、及び/又は自動車コンピュータシステム54Nなどである。クラウドコンピューティングノード10は、互いに通信可能である。それらは、上述のようなプライベートクラウド、コミュニティクラウド、パブリッククラウド、又はハイブリッドクラウド、又はこれらの組み合わせなどの1つ又は複数のネットワークに物理的又は仮想的にグループ化されてもよい(図示せず)。これにより、クラウドコンピューティング環境1500は、クラウド消費者がローカルコンピューティングデバイス上のリソースを維持する必要のないサービスとして、インフラストラクチャ、プラットフォーム、及び/又はソフトウェアを提供することができる。図14に示すコンピューティングデバイス54Aから54Nのタイプは、単に例示を意図したものであり、クラウドコンピューティングノード10及びクラウドコンピューティング環境1400は、任意のタイプのネットワーク及び/又はネットワークアドレス指定可能な接続を介して(例えば、ウェブブラウザを使用して)任意のタイプのコンピュータ化デバイスと通信することができる。
【0090】
図15を参照し、クラウドコンピューティング環境1400(図14)によって提供される機能的抽象化層1500のセットが示されている。図15に示されるコンポーネント、層及び機能は、例示を目的としており、実施形態がこれに限定されない。示されているように、以下の層及び対応する機能が提供される。
【0091】
ハードウェア及びソフトウェア層60は、ハードウェアコンポーネント及びソフトウェアコンポーネントを含む。ハードウェアコンポーネントの例は、メインフレーム61、RISC(Reduced Instruction Set Computer、縮小命令セットコンピュータ)アーキテクチャに基づくサーバー62、サーバー63、ブレードサーバー64、記憶装置65、及びネットワークとネットワークコンポーネント66を含む。いくつかの実施形態では、ソフトウェアコンポーネントは、ネットワークアプリケーションサーバーソフトウェア67及びデータベースソフトウェア68を含む。
【0092】
仮想化層70は、抽象化層を提供し、抽象化層から仮想エンティティの以下の例、即ち、仮想サーバー71、仮想ストレージ72、仮想プライベートネットワークを含む仮想ネットワーク73、仮想アプリケーション及びオペレーティングシステム74、及び仮想クライアント75を提供できる。
【0093】
一例において、管理層80は、以下に説明する機能を提供することができる。リソースプロビジョニング81は、クラウドコンピューティング環境内でタスクを実行するためのコンピューティングリソース及び他のリソースの動的な調達を提供する。計測及び価格設定82は、クラウドコンピューティング環境でリソースを利用する場合のコストの追跡、リソースの消費に関する請求書又は領収書を提供する。一例では、これらのリソースは、アプリケーションソフトウェアライセンスを含むことができる。セキュリティは、クラウドの消費者とタスクへの認証、データやその他のリソースへの保護を提供する。ユーザーポータル83は、消費者及びシステム管理者にクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理84は、要求されるサービスレベルを満たすようにクラウドコンピューティングリソースの割り当て及び管理を提供する。サービスレベルアグリーメント(Service Level Agreement、SLA)の計画と履行85は、SLAに基づいて将来の需要が予測されるクラウドコンピューティングリソースの事前スケジュールと調達を提供する。
【0094】
ワークロード層90は、クラウドコンピューティング環境を利用できる機能の一例を提供する。当該層から提供され得るワークロード及び機能の例には、地図及びナビゲーション91、ソフトウェア開発及びライフサイクル管理92、仮想教室教育の提供93、データ分析処理94、取引の処理95、ビデオエンコード/デコード96が含まれる。ビデオエンコード/デコード96は、公称角度から導出された増分角度を使用してビデオデータをエンコード/デコードすることができる。
【0095】
いくつかの実施形態は、あらゆる可能な技術的詳細統合レベルのシステム、方法、及び/又はコンピュータ可読媒体を含むことができる。コンピュータ可読媒体は、プロセッサーに動作を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読非一時的記憶媒体(又は複数の媒体)を含むことができる。
【0096】
コンピュータ可読記憶媒体は、命令実行装置によって使用される命令を保持及び記憶することができる有形装置であってもよい。コンピュータ可読記憶媒体は、例えば、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置、又は前述の任意の適切な組み合わせであってもよいが、これらに限定されない。コンピュータ可読記憶媒体のより特定の例の非網羅的リストは、ポータブルコンピュータディスク、ハードドライブ、ランダムアクセスメモリ(random access memory、RAM)、読み取り専用メモリ(read-only memory、ROM)、消去可能プログラマブル読み取り専用メモリ(erasable programmable read-only memory、EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(static random access memory、SRAM)、ポータブルコンパクトディスク読み取り専用メモリ(compact disc read-only memory、CD-ROM)、デジタル多用途ディスク(digital versatile disk、DVD)、メモリスティック、フロッピー(登録商標)ディスク、パンチカード又は溝内の隆起構造などの命令が記録された機械的エンコードデバイス、及び前述の任意の適切な組み合わせを含む。本明細書で使用されるコンピュータ可読記憶媒体は、それ自体が、電波又はその他の自由に伝搬する電磁波、導波路を伝搬する電磁波、又はその他の伝送媒体(例えば、光ファイバケーブルを通過する光パルス)、又は導線を介して伝送される電気信号などの一時的な信号であると解釈されてはならない。
【0097】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から対応するコンピューティング/処理デバイスにダウンロードすることができ、又はネットワーク(例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、及び/又は無線ネットワーク)を介して、外部コンピュータ又は外部記憶装置にダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、及び/又はエッジサーバーを含むことができる。各計算/処理装置内のネットワークアダプタカード又はネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令を、対応するコンピューティング/処理装置内のコンピュータ可読記憶媒体に記憶するように転送する。
【0098】
動作を実行するためのコンピュータ可読プログラムコード/命令は、アセンブラ命令、命令セットアーキテクチャ(instruction-set-architecture、ISA)命令、機械命令、機械関連命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データ、又は、Smalltalk、C++などのオブジェクト指向プログラミング言語と、「C」プログラミング言語又は類似するプログラミング言語などの手続きプログラミング言語を含む1つ以上のプログラミング言語の任意の組み合わせで書かれたソースコード又はオブジェクトコードであってもよい。コンピュータ可読プログラム命令は、完全にユーザーのコンピュータ上で、部分的にユーザーのコンピュータ上で、独立したソフトウェアパッケージとして、部分的にユーザーのコンピュータ上で、部分的にリモートコンピュータ上で、又は完全にリモートコンピュータ又はサーバー上で実行することができる。後者の場合、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザーコンピュータに接続することができ、又は(例えば、インターネットサービスプロバイダを使用してインターネットを介して)外部コンピュータに接続することができる。いくつかの実施形態では、例えばプログラマブル論理回路システム、フィールドプログラマブルゲートアレイ(FPGA)又はプログラマブル論理アレイ(PLA)を含む電子回路システムは、様々な態様又は動作を実行するために、コンピュータ可読プログラム命令の状態情報を利用して、電子回路システムをパーソナライズするようにコンピュータ可読プログラム命令を実行することができる。
【0099】
これらのコンピュータ可読プログラム命令は、メカニズムを生成するために、汎用コンピュータのプロセッサー、専用コンピュータのプロセッサー、又は他のプログラム可能なデータ処理装置のプロセッサーに提供され、コンピュータのプロセッサー又は他のプログラマブルデータ処理装置のプロセッサーを介して実行される命令が、フローチャート及び/又はブロック図のうちの1つ又は複数のブロック内で指定された機能/動作を実現するための手段を生成するようにする。これらのコンピュータプログラム命令は、コンピュータ可読媒体に記憶されてもよく、当該コンピュータ可読媒体は、コンピュータ、プログラマブルデータ処理装置又は他の装置に、機能するように特定の方式で指示し、これにより、命令が記憶されるコンピュータ可読媒体は製品を含み、当該製品は、フローチャート及び/又はブロック図のうちの1つ又は複数のブロック内で指定された機能/動作の態様を実現する命令を含む。
【0100】
コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブルデータ処理装置又は他の装置で実行される一連の動作ステップが、コンピュータによって実現される処理を生成することができるように、コンピュータ、他のプログラマブルデータ処理装置又は他の装置にロードされ、これにより、コンピュータ、他のプログラマブルデータ処理装置又は他の装置で実行される命令は、フローチャート及び/又はブロック図の1つ又は複数のブロック内で指定された機能/動作を実現する。
【0101】
図のフローチャート及びブロック図は、様々な実施形態によるシステム、方法及びコンピュータ可読媒体の実現可能なアーキテクチャ、機能及び動作を示している。また、フローチャート又はブロック図のうちの各ブロックは、モジュール、セグメント又は命令の一部を表すことができ、前記モジュール、セグメント又は命令の一部は、特定の論理機能を実現するための1つ又は複数の実行可能命令を含む。方法、コンピュータシステム及びコンピュータ可読媒体は、図に示されているそれらのブロックよりも追加のブロック、より少ないブロック、異なるブロック又は異なる配置のブロックを含むことができる。いくつかの代替の実施形態では、ブロックに示されている機能は、図に示されている順序とは異なる順序で実現される場合がある。例えば、連続して示されている2つのブロックは、実際には、同時又は実質的同時に実行される場合があり、又は、これらの2つのブロックは、関連する機能に従って、逆の順序で実行される場合もある。なお、特定の機能又は動作を実行することによって、又は専用ハードウェア及びコンピュータ命令の組み合わせを実現するハードウェアベースの専用システムによって、ブロック図及び/又はフローチャートに示されている各ブロック及びブロック図及び/又はフローチャートに示されているブロックの組み合わせを実現することができる。
【0102】
異なる形態のハードウェア、ファームウェア、又はハードウェア及びソフトウェアの組み合わせで、本明細書に記載のシステム及び/又は方法を実現することができることは明らかである。これらのシステム及び/又は方法を実現するための実際の専用制御ハードウェア又はソフトウェアコードは、実現方式を制限するものではない。従って、本明細書では、システム及び/又は方法の操作及び動作は、特定のソフトウェアコードを参照せずに説明し、ソフトウェア及びハードウェアは、本明細書の説明に基づいてシステム及び/又は方法を実現するように設計できる。
【0103】
特に明記されていない限り、本明細書で使用されている要素、動作又は命令は全て、重要又は必要な要素、動作、又は命令として解釈されるべきではない。また、本明細書で使用されるように、冠詞「1(a)」及び「1つ(an)」は、1つ又は複数のアイテムを含むことを意図しており、「1つ又は複数(one or more)」と交換して使用することができる。さらに、本明細書で使用される「セット」という用語は、1つ又は複数のアイテム(例えば、関連アイテム、非関連アイテム、関連アイテム及び非関連アイテムの組合せなど)を含むことを意図し、「1つ又は複数」と交換して使用することができる。なお、1つのアイテムのみを意味する場合、「1つ」又は類似する言語という用語を使用する。また、本明細書で使用されるように、「ある(has)」、「有する(have)」、「含む(having)」などの用語は、オープンな用語であることを意図している。また、特に明記されていない限り、「基づく」という句は、「少なくとも部分的に基づく」ことを意味することを意図している。
【0104】
様々な態様及び実施形態の説明は、説明の目的で提示されたが、開示された実施形態を網羅的に、又は限定することを意図するものではない。特許請求の範囲に記載され、及び/又は明細書に開示されている特徴の組み合わせであっても、これらの組み合わせは、可能な実施形態の開示を制限することを意図していない。実際には、特許請求の範囲に具体的に記載されていない、及び/又は明細書に開示されていない方式で、これらの特徴のうちの多くの特徴を組み合わせることができる。以下に列挙される各従属請求項は、1つの請求項のみに直接依存する場合があるが、可能な実施形態の開示は、請求項群の他の各請求項と組み合わせた各従属請求項を含む。記載された実施形態の範囲を逸脱することなく、多くの修正及び変更は当業者には明らかであろう。本明細書で使用される用語は、本明細書で開示される実施形態を当業者が理解することを可能にするために、実施形態の原理、実際の応用、又は市場で発見された技術に対する技術的改良を最もよく説明するために選択される。
【符号の説明】
【0105】
60 ハードウェア及びソフトウェア層
70 仮想化層
80 管理層
90 ワークロード層
100 システム
102 コンピュータ
104 プロセッサー
106 データ記憶装置
108 ソフトウェアプログラム
110 通信ネットワーク
112 データベース
114 サーバーコンピュータ
116 ビデオエンコーディングプログラム
8000 内部コンポーネント
801 プロセッサー
803 記憶装置
806 デバイスドライバ
808 ドライバ又はインターフェース
836 ネットワークアダプタ又はインターフェース
902 コンピュータディスプレイモニタ
903 キーボード
934 コンピュータマウス
936 ポータブル有形記憶装置
9000 外部コンポーネント
図1
図2
図3A
図3B
図4A
図4B
図5
図6A
図6B
図6C
図6D
図7A
図7B
図7C
図7D
図8A
図8B
図8C
図8D
図9A
図9B
図9C
図9D
図10A
図10B
図10C
図10D
図11A
図11B
図11C
図11D
図12
図13
図14
図15
【手続補正書】
【提出日】2021-11-02
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサーを使用してビデオデコードを行う方法であって、
ビデオデータを取得するステップと、
取得したビデオデータを解析して、パーティショニングパラメータを取得するステップと、
前記パーティショニングパラメータに基づいて、パーティションコーディングブロックを取得するステップと、
前記パーティションコーディングブロックに基づいて、取得したビデオデータをデコードするステップと、
を含み、
前記パーティションコーディングブロックは、矩形パーティション及び少なくとも1つの非矩形パーティションに分割される、方法。
【請求項2】
前記少なくとも1つの非矩形パーティションは、少なくとも1つのL型パーティションを含む、請求項1に記載の方法。
【請求項3】
前記L型パーティションの第1の辺の長さは、前記パーティションコーディングブロックの高さに等しく、
前記L型パーティションの第2の辺の長さは、前記パーティションコーディングブロックの幅に等しく、
前記L型パーティションの第3の辺の長さは、前記パーティションコーディングブロックの高さの半分に等しく、
前記L型パーティションの第4の辺の長さは、前記パーティションコーディングブロックの幅の半分に等しく、
前記L型パーティションの第5の辺の長さは、前記パーティションコーディングブロックの高さの半分に等しく、
前記L型パーティションの第6の辺の長さは、前記パーティションコーディングブロックの幅の半分に等しい、請求項2に記載の方法。
【請求項4】
前記少なくとも1つのL型パーティションは、2つのL型パーティションを含む、請求項2に記載の方法。
【請求項5】
前記少なくとも1つのL型パーティションは、3つのL型パーティションを含む、請求項2に記載の方法。
【請求項6】
前記矩形パーティションは、正方形パーティションである、請求項2に記載の方法。
【請求項7】
前記正方形パーティションの幅は、前記パーティションコーディングブロックの幅の半分に等しく、
前記正方形パーティションの高さは、前記パーティションコーディングブロックの高さの半分に等しい、請求項6に記載の方法。
【請求項8】
前記少なくとも1つの非矩形パーティションのアスペクト比は、前記パーティションコーディングブロックのアスペクト比に等しい、請求項1に記載の方法。
【請求項9】
二分木分割、三分木分割、四分木分割、又はT型分割のうちの少なくとも1つに基づいて、前記矩形パーティションをさらに分割する、請求項1に記載の方法。
【請求項10】
前記少なくとも1つの非矩形パーティションは、複数の矩形パーティションにさらに分割される、請求項1に記載の方法。
【請求項11】
ビデオデコードのための装置であって、
プログラムコードを記憶するように配置される少なくとも1つのメモリと、
前記プログラムコードを読み取って前記プログラムコードの命令に従って動作するように配置される少なくとも1つのプロセッサーと、
を含み、
前記プロセッサーは、請求項1乃至10のいずれか一項に記載の方法を実行させるように配置される
装置。
【請求項12】
令が含まれるコンピュータプログラムであって、
前記命令は、1つ又は複数の命令を含み、前記1つ又は複数の命令は、ビデオデコードのための装置の1つ又は複数のプロセッサーによって実行されるときに前記1つ又は複数のプロセッサーに、
ビデオデータを取得するステップと、
取得したビデオデータを解析してパーティショニングパラメータを取得するステップと、
前記パーティショニングパラメータに基づいて、パーティションコーディングブロックを取得するステップと、
前記パーティションコーディングブロックに基づいて、取得したビデオデータをデコードするステップと、
を実行させ、
前記パーティションコーディングブロックは、矩形パーティション及び少なくとも1つの非矩形パーティションに分割される、コンピュータプログラム
【国際調査報告】