(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023145785
(43)【公開日】2023-10-11
(54)【発明の名称】ビデオ符号化のためのセミデカップルドパーティション分割
(51)【国際特許分類】
H04N 19/119 20140101AFI20231003BHJP
H04N 19/14 20140101ALI20231003BHJP
H04N 19/176 20140101ALI20231003BHJP
H04N 19/186 20140101ALI20231003BHJP
H04N 19/70 20140101ALI20231003BHJP
【FI】
H04N19/119
H04N19/14
H04N19/176
H04N19/186
H04N19/70
【審査請求】未請求
【請求項の数】1
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023130259
(22)【出願日】2023-08-09
(62)【分割の表示】P 2022523300の分割
【原出願日】2021-02-02
(31)【優先権主張番号】63/023,059
(32)【優先日】2020-05-11
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/125,350
(32)【優先日】2020-12-17
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.SMALLTALK
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジャオ,リアン
(72)【発明者】
【氏名】ジャオ,シン
(72)【発明者】
【氏名】リィウ,シャン
(57)【要約】
【課題】ビデオ符号化のためのセミデカップルドパーティション分割を提供する。
【解決手段】ビデオデータを符号化及び/又は復号するための方法、コンピュータプログラム及びコンピュータシステムが提供される。クロマ成分及びルマ成分を含むビデオデータが受信される。ルマ成分に関連する第1の符号化ツリー構造と、クロマ成分に関連する第2の符号化ツリー構造とが決定され、第1の符号化ツリー構造及び第2の符号化ツリー構造は、同じトップレベル符号化ツリー構造を共有する。ビデオデータは、第1の符号化ツリー構造及び第2の符号化ツリー構造に基づいて復号される。
【選択図】
図3
【特許請求の範囲】
【請求項1】
プロセッサによって実行可能なビデオ符号化の方法であって、
クロマ成分及びルマ成分を含むビデオデータを受信するステップと、
前記ルマ成分に関連する第1の符号化ツリー構造と、前記クロマ成分に関連する第2の符号化ツリー構造とを決定するステップであり、前記第1の符号化ツリー構造及び前記第2の符号化ツリー構造は、同じトップレベル符号化ツリー構造を共有する、ステップと、
前記第1の符号化ツリー構造及び前記第2の符号化ツリー構造に基づいて前記ビデオデータを復号するステップと
を含む方法。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願への相互参照]
本出願は、米国特許商標庁に2020年5月11日に出願された米国仮特許出願第63/023,059号、及び2020年12月17日に出願された米国特許出願第17/125,350号の優先権を主張し、これらの全内容を参照により援用する。
【0002】
[技術分野]
本開示は、概してデータ処理の分野に関し、より詳細にはビデオ符号化及び/又は復号に関する。
【背景技術】
【0003】
AV1(AOMedia Video 1)は、インターネット上のビデオ伝送のために設計されたオープンビデオ符号化フォーマットである。これは、2015年に設立されたコンソーシアムであるAOMedia(Alliance for Open Media)によってVP9の後継として開発された。AOMediaは、半導体企業、ビデオオンデマンドプロバイダ、ビデオコンテンツプロデューサ、ソフトウェア開発企業及びウェブブラウザベンダを含む。
【発明の概要】
【0004】
実施形態は、ビデオデータを符号化及び/又は復号するための方法、システム及びコンピュータ読み取り可能媒体に関する。一態様によれば、ビデオデータを符号化及び/又は復号するための方法が提供される。当該方法は、クロマ成分及びルマ成分を含むビデオデータを受信するステップを含んでもよい。ルマ成分に関連する第1の符号化ツリー構造と、クロマ成分に関連する第2の符号化ツリー構造とが決定される。ビデオデータは、第1の符号化ツリー構造及び第2の符号化ツリー構造に基づいて復号される。
【0005】
他の態様によれば、ビデオデータを符号化及び/又は復号するためのコンピュータシステムが提供される。コンピュータシステムは、1つ以上のプロセッサと、1つ以上のコンピュータ読み取り可能メモリと、1つ以上のコンピュータ読み取り可能有形記憶デバイスと、1つ以上のメモリのうち少なくとも1つを介して1つ以上のプロセッサのうち少なくとも1つによって実行するために1つ以上の記憶デバイスのうち少なくとも1つに記憶されたプログラム命令とを含み、それによって、コンピュータシステムは方法を実行することが可能になる。当該方法は、クロマ成分及びルマ成分を含むビデオデータを受信するステップを含んでもよい。ルマ成分に関連する第1の符号化ツリー構造と、クロマ成分に関連する第2の符号化ツリー構造とが決定される。ビデオデータは、第1の符号化ツリー構造及び第2の符号化ツリー構造に基づいて復号される。
【0006】
更に他の態様によれば、ビデオデータを符号化及び/又は復号するためのコンピュータ読み取り可能媒体が提供される。コンピュータ読み取り可能媒体は、1つ以上のコンピュータ読み取り可能記憶デバイスと、1つ以上の有形記憶デバイスのうち少なくとも1つに記憶されたプログラム命令を含んでもよく、プログラム命令はプロセッサによって実行可能である。プログラム命令は、クロマ成分及びルマ成分を含むビデオデータを受信するステップを含んでもよい方法を実行するために、プロセッサによって実行可能である。ルマ成分に関連する第1の符号化ツリー構造と、クロマ成分に関連する第2の符号化ツリー構造とが決定される。ビデオデータは、第1の符号化ツリー構造及び第2の符号化ツリー構造に基づいて復号される。
【図面の簡単な説明】
【0007】
上記及び他の目的、特徴及び利点は、添付の図面に関連して読まれる例示的な実施形態の以下の詳細な説明から明らかになる。図面は詳細な説明に関連して当業者の理解を容易にする際に明確にするためのものであるので、図面の様々な特徴は縮尺通りではない。
【
図1】少なくとも1つの実施形態によるネットワーク接続されたコンピュータ環境を示す。
【
図2】少なくとも1つの実施形態による、ビデオデータのクロマ成分及びルマ成分の符号化ツリー構造の図である。
【
図3】少なくとも1つの実施形態による、ビデオデータを符号化するプログラムによって実行されるステップを示す動作フローチャートである。
【
図4】少なくとも1つの実施形態による、
図1に示すコンピュータ及びサーバの内部及び外部コンポーネントのブロック図である。
【
図5】少なくとも1つの実施形態による、
図1に示すコンピュータシステムを含む例示的なクラウドコンピューティング環境のブロック図である。
【
図6】少なくとも1つの実施形態による、
図5の例示的なクラウドコンピューティング環境の機能レイヤのブロック図である。
【発明を実施するための形態】
【0008】
特許請求の範囲に記載の構造及び方法の詳細な実施形態が本明細書に開示されているが、開示の実施形態は、単に様々な形式で具現され得る特許請求の範囲に記載の構造及び方法の例示に過ぎないことが理解できる。しかし、これらの構造及び方法は、多くの異なる形式で具現されてもよく、本明細書に記載の例示的な実施形態に限定されるものとして解釈されるべきではない。むしろ、これらの例示的な実施形態は、本開示が徹底的且つ完全であり、当業者に当該範囲を十分に伝えるために提供されている。説明において、周知の特徴及び技術の詳細は、提示される実施形態を不必要に不明瞭にすることを回避するために省略されることがある。
【0009】
実施形態は、概してデータ処理の分野に関し、より詳細にはビデオ符号化及び復号に関する。以下に記載の例示的な実施形態は、とりわけ、ビデオデータの成分の符号化ツリー構造に基づいてビデオデータを符号化及び/又は復号するためのシステム、方法及びコンピュータプログラムを提供する。したがって、いくつかの実施形態は、ビデオデータの成分と特定の符号化ツリー構造タイプの制限との間の同じ符号化ツリー構造タイプ又は異なる符号化ツリー構造タイプの識別によって符号化及び復号効率を改善することで、コンピューティングの分野を改善する能力を有する。
【0010】
上記のように、AV1(AOMedia Video 1)は、インターネット上のビデオ伝送のために設計されたオープンビデオ符号化フォーマットである。これは、2015年に設立されたコンソーシアムであるAOMedia(Alliance for Open Media)によってVP9の後継として開発された。AOMediaは、半導体企業、ビデオオンデマンドプロバイダ、ビデオコンテンツプロデューサ、ソフトウェア開発企業及びウェブブラウザベンダを含む。
【0011】
AV1では、セミデカップルドツリーパーティション分割(semi-decoupled tree partitioning)、又はセミセパレートツリー(semi-separate tree)若しくはフレキシブルブロック(flexible-block)パーティション分割が、クロマ成分に使用されてもよい。この方法では、1つのスーパーブロック内のルマブロック及びクロマブロックは、同じブロックパーティション分割又は異なるブロックパーティション分割を有してもよく、これは、ルマ符号化ブロックサイズ又はルマツリー深さに依存してもよい。ルマブロック領域サイズが或る閾値T1よりも大きい場合、又はルマブロックの符号化ツリー分割深さが他の閾値T2以下である場合、クロマ成分は、ルマ成分と同じ符号化ツリー構造を使用してもよい。そうでなく、ブロック領域サイズがT1以下である場合、又はルマ分割深さがT2よりも大きい場合、対応するクロマブロックは、ルマ成分と異なる符号化ブロックパーティション分割を有してもよく、これは、クロマ成分についてのフレキシブルブロックパーティション分割と呼ばれる。T1は、128又は256のような正の整数でもよい。T2は、1又は2のような正の整数でもよい。
【0012】
しかし、セミデカップルドパーティション分割では、ルマ及びクロマが異なるツリーを使用するか否かを判断するために、ルマブロックサイズ又はルマ成分のツリー深さの固定の閾値が使用され、これは、異なるコンテンツの多様性を考慮していない。ルマ及びクロマは異なるツリーを有することができるが、依然として同じ量のパーティションタイプを使用する。パーティションタイプのいくつかはクロマ成分には有用でない可能性があるため、これらのパーティションタイプからの歪みの低減は、これらのパーティションタイプについて伝達される余分なビットにふさわしくない可能性がある。さらに、ルマ符号化ブロック及びクロマ符号化ブロックが異なるブロックパーティション分割を使用する場合、クロマブロックはルマブロックよりも高いツリー深さを有する可能性がある。これはめったに生じない可能性があるので、これらの場合を伝達するために余分なビットを費やすのは最適ではない可能性がある。さらに、ルマブロックの符号化深さが或る閾値を超えた場合、ルマ及びクロマは異なるツリー構造を使用する可能性がある。しかし、ルマブロックが非常に複雑なテクスチャを有する場合、クロマブロックも、比較的複雑なテクスチャを有するブロックになる可能性が高くなる。したがって、クロマ成分及びルマ成分が同じ符号化ツリー構造タイプを使用するか、異なる符号化ツリー構造タイプを使用するかを識別し、様々な条件に基づいて特定の符号化ツリー構造タイプを制限することは、有利になり得る。
【0013】
様々な実施形態による方法、装置(システム)及びコンピュータ読み取り可能媒体のフローチャート図及び/又はブロック図を参照して、本明細書に態様が記載される。フローチャート図及び/又はブロック図の各ブロック、及びフローチャート図及び/又はブロック図のブロックの組み合わせは、コンピュータ読み取り可能プログラム命令によって実施できることが理解される。
【0014】
次に
図1を参照すると、符号化ツリー構造タイプに基づいてビデオデータを符号化及び/又は復号するためのビデオ符号化システム100(以下、「システム」という)を示すネットワーク接続されたコンピュータ環境の機能ブロック図である。
図1は、1つの実装の例示に過ぎず、異なる実施形態が実装され得る環境に関する如何なる限定も意味しないことが認識されるべきである。設計及び実装要件に基づいて図示の環境に対する多くの修正が行われてもよい。
【0015】
システム100は、コンピュータ102及びサーバコンピュータ114を含んでもよい。コンピュータ102は、通信ネットワーク110(以下、「ネットワーク」という)を介してサーバコンピュータ114と通信してもよい。コンピュータ102は、プロセッサ104と、データ記憶デバイス106に記憶され、ユーザとインタフェースしてサーバコンピュータ114と通信することが可能なソフトウェアプログラム108とを含んでもよい。
図4を参照して以下に説明するように、コンピュータ102は、それぞれ内部コンポーネント800A及び外部コンポーネント900Aを含んでもよく、サーバコンピュータ114は、それぞれ内部コンポーネント800B及び外部コンポーネント900Bを含んでもよい。コンピュータ102は、例えば、モバイルデバイス、電話、パーソナルデジタルアシスタント、ネットブック、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、又はプログラムを実行してネットワークにアクセスしてデータベースにアクセスすることができるいずれかのタイプのコンピューティングデバイスでもよい。
【0016】
サーバコンピュータ114はまた、
図6及び
図7に関して以下に説明するように、サービスとしてのソフトウェア(SaaS, Software as a Service)、サービスとしてのプラットフォーム(PaaS, Platform as a Service)又はサービスとしてのインフラストラクチャ(IaaS, Infrastructure as a Service)のようなクラウドコンピューティングサービスモデルにおいて動作してもよい。サーバコンピュータ114はまた、プライベートクラウド、コミュニティクラウド、パブリッククラウド又はハイブリッドクラウドのようなクラウドコンピューティング展開モデルに配置されてもよい。
【0017】
ビデオデータを符号化するために使用され得るサーバコンピュータ114は、データベース112と相互作用し得るビデオ符号化プログラム116(以下、「プログラム」という)を実行することができる。ビデオ符号化プログラム方法は、
図3に関して以下により詳細に説明される。一実施形態では、コンピュータ102は、ユーザインタフェースを含む入力デバイスとして動作してもよく、一方で、プログラム116は、主としてサーバコンピュータ114で動作してもよい。別の実施形態では、プログラム116は、主として1つ以上のコンピュータ102で動作してもよく、一方で、サーバコンピュータ114は、プログラム116によって使用されるデータの処理及び記憶のために使用されてもよい。プログラム116は、スタンドアローンプログラムでもよく、或いは、より大きいビデオ符号化プログラムに統合されてもよい点に留意すべきである。
【0018】
しかし、いくつかの場合、プログラム116の処理は、コンピュータ102とサーバコンピュータ114との間でいずれかの比率で共有されてもよい点に留意すべきである。他の実施形態では、プログラム116は、1つよりも多くのコンピュータ、サーバコンピュータ、又はコンピュータとサーバコンピュータとの何らかの組み合わせ、例えば、ネットワーク110を横切って単一のサーバコンピュータ114と通信する複数のコンピュータ102で動作してもよい。他の実施形態では、例えば、プログラム116は、ネットワーク110を横切って複数のクライアントコンピュータと通信する複数のサーバコンピュータ114で動作してもよい。或いは、プログラムは、ネットワークを横切ってサーバ及び複数のクライアントコンピュータと通信するネットワークサーバで動作してもよい。
【0019】
ネットワーク110は、有線接続、無線接続、光ファイバ接続又は何らかのこれらの組み合わせを含んでもよい。一般的に、ネットワーク110は、コンピュータ102とサーバコンピュータ114との間の通信をサポートする接続及びプロトコルのいずれかの組み合わせとすることができる。ネットワーク110は、例えば、ローカルエリアネットワーク(LAN, local area network)、インターネットのような広域ネットワーク(WAN, wide area network)、公衆交換電話ネットワーク(PSTN, Public Switched Telephone Network)のような電気通信ネットワーク、無線ネットワーク、公衆交換ネットワーク、衛星ネットワーク、セルラネットワーク(例えば、第5世代(5G)ネットワーク、ロングタームエボリューション(LTE, long term evolution)ネットワーク、第3世代(3G)ネットワーク、符号分割多元接続(CDMA, code division multiple access)ネットワーク等)、公衆陸上移動ネットワーク(PLMN, public land mobile network)、メトロポリタンエリアネットワーク(MAN, metropolitan area network)、プライベートネットワーク、アドホックネットワーク、イントラネット、光ファイバベースネットワーク等、及び/又は上記若しくは他のタイプのネットワークの組み合せのような様々なタイプのネットワークを含んでもよい。
【0020】
図1に示すデバイス及びネットワークの数及び配置は、一例として提供されている。実際には、
図1に示すものよりも多くのデバイス及び/又はネットワーク、少ないデバイス及び/又はネットワーク、異なるデバイス及び/又はネットワーク、又は異なる配置のデバイス及び/又はネットワークが存在してもよい。さらに、
図1に示す2つ以上のデバイスは、単一のデバイス内に実装されてもよく、或いは、
図1に示す単一のデバイスは、複数の分散デバイスとして実装されてもよい。さらに或いは代替として、システム100の或るセットのデバイス(例えば、1つ以上のデバイス)は、システム100の他のセットのデバイスによって実行されるものとして記載される1つ以上の機能を実行してもよい。
【0021】
次に
図2を参照すると、ビデオデータのための例示的な符号化ツリー構造のブロック
図200が示されている。符号化ツリー構造は、ルマ成分202及びクロマ成分204を含んでもよい。
【0022】
ルマブロックのルマブロックサイズ及び符号化ツリー深さに加えて、ルマ符号化ブロックのパーティションタイプも、スーパーブロック内のルマ又はクロマ符号化ブロックが同じパーティション分割を使用するか別のパーティション分割を使用するかを決定するために使用されてもよい。一実施形態では、ルマブロックサイズが或る閾値T1よりも大きい場合、及び/又はルマブロックの符号化ツリー分割深さが或る閾値T2以下である場合、及び/又は四分木分割(4方向分割)のみがルマブロックに使用され得る場合、クロマブロックはルマと同じ符号化ツリー構造を使用してもよい。そうでない場合、これらは異なる符号化ツリー構造を使用してもよい。一実施形態では、ルマブロックサイズが或る閾値T1よりも大きい場合、又はルマブロックの符号化ツリー分割深さが或る閾値T2以下である場合、及び/又は四分木分割(4方向分割)又はバイナリ分割(2方向分割)のみがルマブロックに使用され得る場合、クロマブロックはルマブロックと同じ符号化ツリー構造を使用してもよい。そうでなく、ルマブロックサイズがT1未満である場合、又はルマブロックの符号化ツリー分割深さがT2以上である場合、クロマブロック及びルマブロックは、フレキシブルブロックパーティション分割方式の一部として互いに異なる符号化ツリー構造を使用してもよい。一実施形態では、L型パーティション又はT型パーティションがルマ符号化ブロックに使用され得る場合、ルマ及びクロマ符号化ブロックは、互いに異なるパーティション分割方法を使用してもよい。L型ブロックパーティション分割ツリー法は、ブロックをL型パーティション及び矩形パーティションに分割できる。同様に、T型ブロックパーティション分割ツリー法は、ブロックをT型パーティション及び2つの矩形パーティションに分割できる。
【0023】
1つのスーパーブロック内のルマ及びクロマ符号化ブロックが異なるパーティション分割構造を使用し得る場合、クロマ符号化ブロックに許容されるパーティションタイプは、ルマ符号化ブロックに許容されるパーティションタイプのサブセットでもよい。一実施形態では、ルマ符号化ブロック及びクロマ符号化ブロックが互いに異なるパーティションツリーを使用する場合、L型パーティション又はT型パーティションは、クロマ符号化ブロックに許容されなくてもよい。一実施形態では、ルマ及びクロマ符号化ブロックが互いに異なるパーティションツリータイプを使用し得る場合、四分木分割(4方向分割)及び/又はバイナリ分割(2方向分割)のみがクロマ符号化ブロックに許容されてもよい。一実施形態では、ルマ及びクロマ符号化ブロックが互いに異なるパーティションツリータイプを使用する場合、L型パーティションは、クロマ符号化ブロックについて更に分割するのに許容されなくてもよい。一実施形態では、ルマ及びクロマ符号化ブロックが互いに異なるパーティションツリータイプを使用し得る場合、四分木分割(4方向分割)又はバイナリ分割(2方向分割)のみが、クロマ符号化ブロックについて更に分割されてもよい。
【0024】
1つのスーパーブロック内のルマ及びクロマ符号化ブロックが異なるツリー構造を使用し得る場合、クロマ符号化ブロックのツリー深さは、このスーパーブロック内のルマ符号化ブロックの最大ツリー深さを超えなくてもよい。一実施形態では、1つのスーパーブロック内のルマ及びクロマ符号化ブロックが異なるパーティション分割構造を使用し得る場合、クロマ符号化ブロックの領域サイズは、このスーパーブロック内のルマ符号化ブロックの最小領域サイズよりも小さくすることができない。一実施形態では、1つのスーパーブロック内のルマ及びクロマ符号化ブロックが異なるツリー構造を使用する場合、クロマ符号化ブロックについての四分木分割(4方向分割)のツリー深さは、このスーパーブロック内のルマ符号化ブロックについての四分木分割(4方向分割)の最大ツリー深さを超えることはできない。一実施形態では、1つのスーパーブロック内のルマ及びクロマ符号化ブロックが異なるツリー構造を使用する場合、クロマ符号化ブロックについての二分木(2方向分割)+三分木(3方向分割)のツリー深さは、このスーパーブロック内のルマ符号化ブロックについての二分木(2方向分割)+三分木(3方向分割)の最大ツリー深さを超えることはできない。一実施形態では、クロマブロックが、同一位置のルマ符号化ブロックのツリー深さと同じになり得る深さにパーティション分割され得る場合、パーティション分割パターン及び現在のクロマブロックがパーティション分割され得るか否かは伝達されない。
【0025】
1つのスーパーブロック内で、ルマ符号化ブロックの深さが或る閾値T1を超え得る場合、又は最小ルマブロック領域サイズが他の閾値T2以下になり得る場合、ルマ及びクロマ符号化ブロックは、部分的なツリー構造を共有してもよい。一実施形態では、最小ルマブロック領域サイズが閾値T2以下になり得る場合、クロマ及びルマブロックは、トップSレベルツリー構造を共有し、T2及びSは共に負でない整数でもよい。例えば、T2は128又は256とすることができ、Sは1又は2とすることができる。一例では、T2は256に設定されてもよく、Sは1に設定されてもよい。他の例では、最小ルマ符号化ブロックは16×16でもよいので、ルマ及びクロマは第1レベルのツリー深さを共有してもよく、その点の下のツリー構造ではルマ及びクロマは異なるツリー構造を有してもよい。
【0026】
1つのスーパーブロック内で、ルマ及びクロマが別のツリーパーティション分割を開始し得る条件は、ルマのパーティション分割情報に依存してもよい。一実施形態では、ルマ(又はクロマ)ブロックが深さN0に分割され得る後にルマ及びクロマが別のツリーパーティション分割構造を有する場合、N0はルマのパーティション分割深さ(N1)に依存してもよい。
【0027】
1つのスーパーブロック内で、いつルマ及びクロマが別のツリーパーティション分割を開始するかの開始点は、ビットストリームで伝達されてもよい。一実施形態では、いつルマ及びクロマが別のツリーパーティション分割を開始するかの開始点は、スーパーブロックレベル伝達されてもよく、したがって、別のツリーの開始点は、異なるスーパーブロックについて異なってもよい。別のツリー構造が異なり始める点は、ビットストリームのハイレベルシンタックスで伝達されてもよい。ハイレベルシンタックスは、シーケンスヘッダ、フレームヘッダ、スライスヘッダ等のうち1つ以上を含んでもよい。
【0028】
スーパーブロックから始まる1つのスーパーブロック内で、サブパーティション毎に、ルマ及びクロマが同じパーティションツリーを共有するか否かを示すフラグが伝達されてもよい。フラグがルマ及びクロマが同じパーティションツリーを共有することを示し得る値として伝達され得る場合、クロマは更なるパーティション分割情報を伝達しなくてもよい。そうでない場合、クロマ成分について、パーティション分割情報が更に伝達されてもよい。
【0029】
次に
図3を参照すると、ビデオデータを符号化及び/又は復号するための方法300のステップを示す動作フローチャートが示されている。いくつかの実装では、
図3の1つ以上の処理ブロックは、コンピュータ102(
図1)及びサーバコンピュータ114(
図1)によって実行されてもよい。いくつかの実装では、
図3の1つ以上の処理ブロックは、コンピュータ102及びサーバコンピュータ114から分離されているか或いはこれらを含む、他のデバイス又はデバイスのグループによって実行されてもよい。
【0030】
302において、方法300は、クロマ成分及びルマ成分を含むビデオデータを受信することを含む。
【0031】
304において、方法300は、ルマ成分に関連する第1の符号化ツリー構造と、クロマ成分に関連する第2の符号化ツリー構造とを決定することを含み、それによって、第1の符号化ツリー構造及び第2の符号化ツリー構造は、同じトップレベル符号化ツリー構造を共有する。
【0032】
306において、方法300は、第1の符号化ツリー構造及び第2の符号化ツリー構造に基づいてビデオデータを復号することを含む。
【0033】
図3は、1つの実装の例示のみを提供し、異なる実施形態がどのように実装され得るかに関する如何なる限定も意味しないことが認識され得る。設計及び実装要件に基づいて図示の環境に対する多くの修正が行われてもよい。
【0034】
図4は、例示的な実施形態による、
図1に示すコンピュータの内部及び外部コンポーネントのブロック
図400である。
図4は、1つの実装の例示に過ぎず、異なる実施形態が実装され得る環境に関する如何なる限定も意味しないことが認識されるべきである。設計及び実装要件に基づいて図示の環境に対する多くの修正が行われてもよい。
【0035】
コンピュータ102(
図1)及びサーバコンピュータ114(
図1)は、
図4に示す内部コンポーネント800A、B及び外部コンポーネント900A、Bのそれぞれのセットを含んでもよい。内部コンポーネント800のセットのそれぞれは、1つ以上のバス826上の1つ以上のプロセッサ820、1つ以上のコンピュータ読み取り可能RAM822及び1つ以上のコンピュータ読み取り可能ROM824と、1つ以上のオペレーティングシステム828と、1つ以上のコンピュータ読み取り可能有形記憶デバイス830とを含む。
【0036】
プロセッサ820は、ハードウェア、ファームウェア又はハードウェアとソフトウェアとの組み合わせで実装される。プロセッサ820は、中央処理装置(CPU, central processing unit)、グラフィックス処理装置(GPU, graphics processing unit)、加速処理装置(APU, accelerated processing unit)、マイクロプロセッサ、マイクロコントローラ、デジタルシグナルプロセッサ(DSP, digital signal processor)、フィールドプログラマブルゲートアレイ(FPGA, field-programmable gate array)、特定用途向け集積回路(ASIC, application-specific integrated circuit)又は他のタイプの処理コンポーネントである。いくつかの実装では、プロセッサ820は、機能を実行するようにプログラム可能な1つ以上のプロセッサを含む。バス826は、内部コンポーネント800A、Bの間の通信を可能にするコンポーネントを含む。
【0037】
サーバコンピュータ114(
図1)上の1つ以上のオペレーティングシステム828、ソフトウェアプログラム108(
図1)及びビデオ符号化プログラム116(
図1)は、それぞれのRAM822(典型的にはキャッシュメモリを含む)のうち1つ以上を介してそれぞれのプロセッサ820のうち1つ以上によって実行するために、それぞれのコンピュータ読み取り可能有形記憶デバイス830のうち1つ以上に記憶される。
図4に示す実施形態では、コンピュータ読み取り可能有形記憶デバイス830のそれぞれは、内部ハードドライブの磁気ディスク記憶デバイスである。或いは、コンピュータ読み取り可能有形記憶デバイス830のそれぞれは、ROM824、EPROM、フラッシュメモリ、光ディスク、光磁気ディスク、ソリッドステートディスク、コンパクトディスク(CD, compact disc)、デジタル多用途ディスク(DVD, digital versatile disc)、フロッピーディスク、カートリッジ、磁気テープ、及び/又はコンピュータプログラム及びデジタル情報を記憶できる他のタイプの非一時的なコンピュータ読み取り可能有形記憶デバイスのような半導体記憶デバイスである。
【0038】
内部コンポーネント800A、Bの各セットはまた、CD-ROM、DVD、メモリスティック、磁気テープ、磁気ディスク、光ディスク又は半導体記憶デバイスのような1つ以上のポータブルコンピュータ読み取り可能有形記憶デバイス936に対して読み取り及び書き込みするためのR/Wドライブ又はインタフェース832を含む。ソフトウェアプログラム108(
図1)及びビデオ符号化プログラム116(
図1)のようなソフトウェアプログラムは、それぞれのポータブルコンピュータ読み取り可能有形記憶デバイス936のうち1つ以上に記憶され、それぞれのR/Wドライブ又はインタフェース832を介して読み取られ、それぞれのハードドライブ830にロードされてもよい。
【0039】
内部コンポーネント800A、Bの各セットは、TCP/IPアダプタカード、無線Wi-Fiインタフェースカード、又は3G、4G若しくは5G無線インタフェースカード又は他の有線若しくは無線通信リンクのようなネットワークアダプタ又はインタフェース836も含む。サーバコンピュータ114(
図1)上のソフトウェアプログラム108(
図1)及びビデオ符号化プログラム116(
図1)は、ネットワーク(例えば、インターネット、ローカルエリアネットワーク又は他の広域ネットワーク)及びそれぞれのネットワークアダプタ又はインタフェース836を介して、外部コンピュータからコンピュータ102(
図1)及びサーバコンピュータ114にダウンロードできる。ネットワークアダプタ又はインタフェース836から、サーバコンピュータ114上のソフトウェアプログラム108及びビデオ符号化プログラム116は、それぞれのハードドライブ830にロードされる。ネットワークは、銅線、光ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び/又はエッジサーバを含んでもよい。
【0040】
外部コンポーネント900A、Bのセットのそれぞれは、コンピュータディスプレイモニタ920と、キーボード930と、コンピュータマウス934とを含むことができる。外部コンポーネント900A、Bはまた、タッチスクリーンと、仮想キーボードと、タッチパッドと、ポインティングデバイスと、他のヒューマンインタフェースデバイスとを含むことができる。内部コンポーネント800A、Bのセットのそれぞれはまた、コンピュータディスプレイモニタ920、キーボード930及びコンピュータマウス934にインタフェースするためのデバイスドライバ840を含む。デバイスドライバ840、R/Wドライブ又はインタフェース832及びネットワークアダプタ又はインタフェース836は、ハードウェア及びソフトウェア(記憶デバイス830及び/又はROM824に記憶される)を含む。
【0041】
本開示は、クラウドコンピューティングに関する詳細な説明を含むが、本明細書に記載される教示の実装は、クラウドコンピューティング環境に限定されないことが、予め理解される。むしろ、いくつかの実施形態は、現在知られているか或いは後に開発されるいずれかの他のタイプのコンピューティング環境と共に実装可能である。
【0042】
クラウドコンピューティングは、最小限の管理努力又はサービスのプロバイダとの相互作用で迅速にプロビジョン及びリリースできる構成可能なコンピューティングリソースの共有プール(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン及びサービス)への便利でオンデマンドなネットワークアクセスを可能にするためのサービス配信のモデルである。このクラウドモデルは、少なくとも5つの特徴と、少なくとも3つのサービスモデルと、少なくとも4つの展開モデルとを含んでもよい。
【0043】
特徴は以下の通りである。
・オンデマンドなセルフサービス:クラウド利用者は、必要に応じて自動的に、サービスプロバイダとの人間による相互作用を必要とせずに、サーバ時間及びネットワークストレージのようなコンピューティング機能を一方的にプロビジョニングすることができる。
・広域ネットワークアクセス:機能がネットワーク上で利用可能であり、異種のシン又はシッククライアントプラットフォーム(例えば、携帯電話、ラップトップ及びPDA)による使用を促進する標準的なメカニズムを通じてアクセスされる。
・リソースプーリング:プロバイダのコンピューティングリソースは、マルチテナントモデルを使用して複数の利用者にサービス提供するためにプールされ、異なる物理及び仮想リソースが、オンデマンドに従って動的に割り当て及び再割り当てされる。一般的には利用者が提供されるリソースの正確な位置に関する制御又は認識を有さないが、より高いレベルの抽象化(例えば、国、州又はデータセンタ)における位置を指定することができるという点で、位置の独立性の観念が存在する。
・迅速な弾力性:いくつかの場合に自動的に、急にスケールアウトし、急にスケールインするように迅速にリリースされるように、機能が迅速且つ弾力的にプロビジョニングできる。利用者にとって、プロビジョニングに利用可能な機能はしばしば無制限であるように見え、いつでもどんな量でも購入できる。
・測定サービス:クラウドシステムは、サービスのタイプに適した或るレベルの抽象化(例えば、ストレージ、処理、帯域幅及びアクティブなユーザーアカウント)における計測機能を利用することにより、自動的にリソース使用を制御して最適化する。リソース使用は監視、制御及び報告され、利用サービスのプロバイダと利用者との双方にとって透明性を提供することができる。
【0044】
サービスモデルは以下の通りである。
・サービスとしてのソフトウェア(SaaS, Software as a Service):利用者に提供される機能は、クラウドインフラ上で動作するプロバイダのアプリケーションを使用するものである。アプリケーションは、ウェブブラウザのようなシンクライアントインタフェース(例えば、ウェブベースの電子メール)を通じて様々なクライアントデバイスからアクセス可能である。利用者は、ネットワーク、サーバ、オペレーティングシステム、ストレージ又は個々の各アプリケーション機能ですら含む基礎となるクラウドインフラストラクチャを管理又は制御しないが、場合によってはユーザ特有のアプリケーションの構成設定は例外である。
・サービスとしてのプラットフォーム(PaaS, Platform as a Service):利用者に提供される機能は、クラウドインフラストラクチャ上に、プロバイダによってサポートされるプログラミング言語及びツールを使用して作成される、利用者が作成又は取得したアプリケーションを展開するものである。利用者は、ネットワーク、サーバ、オペレーティングシステム又はストレージを含む基礎となるクラウドインフラストラクチャを管理又は制御しないが、展開されるアプリケーション、及び場合によってはアプリケーションホスティング環境の構成を制御する。
【0045】
サービスとしてのインフラストラクチャ(IaaS, Infrastructure as a Service):利用者に提供される機能は、処理、ストレージ、ネットワーク及び他の基本的なコンピューティングリソースをプロビジョニングするものであり、利用者は、オペレーティングシステム及びアプリケーションを含み得る任意のソフトウェアを展開して実行できる。利用者は、基礎となるクラウドインフラストラクチャを管理又は制御しないが、オペレーティングシステム、ストレージ、展開されるアプリケーション、及び場合によっては選択されたネットワークコンポーネント(例えば、ホストファイアウォール)の限られた制御に対して制御する。
【0046】
展開モデルは、以下の通りである。
・プライベートクラウド:クラウドインフラストラクチャは組織のために専用に運用される。これは組織又は第三者によって管理されてもよく、敷地内又は敷地外に存在してもよい。
・コミュニティクラウド:クラウドインフラストラクチャは、いくつかの組織によって共有され、共通の関心事(例えば、ミッション、セキュリティ要件、ポリシー及びコンプライアンスの考慮事項)を有する特定のコミュニティをサポートする。これは組織又は第三者によって管理されてもよく、敷地内又は敷地外に存在してもよい。
・パブリッククラウド:クラウドインフラストラクチャは、一般大衆又は大規模な業界団体に利用可能にされ、クラウドサービスを販売する組織によって所有される。
・ハイブリッド型クラウド:クラウドインフラストラクチャは、固有のエンティティのままであるが、データ及びアプリケーションの移植性を可能にする標準化又は独自の技術(例えば、クラウドの間の負荷分散のためのクラウドバースト)によって一緒に結合された2つ以上のクラウド(プライベート、コミュニティ又はパブリック)から構成される。
【0047】
クラウドコンピューティング環境は、ステートレス性、低結合性、モジュール性及び意味的相互運用性に焦点を当てたサービス指向である。クラウドコンピューティングの核心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0048】
図5を参照すると、例示的なクラウドコンピューティング環境500が示されている。図示のように、クラウドコンピューティング環境500は、1つ以上のクラウドコンピューティングノード10を含み、クラウド利用者によって使用されるローカルコンピューティングデバイス、例えば、パーソナルデジタルアシスタント(PDA, personal digital assistant)又は携帯電話54A、デスクトップコンピュータ54B、ラップトップコンピュータ54C及び/又は自動車コンピュータシステム54Nが、1つ以上のクラウドコンピューティングノード10と通信してもよい。クラウドコンピューティングノード10は、互いに通信してもよい。これらは、上記のようなプライベート、コミュニティ、パブリック若しくはハイブリッドクラウド、又はこれらの組み合わせのような1つ又は複数のネットワークに物理的又は仮想的にグループ化されてもよい(図示せず)。これは、クラウド利用者がローカルコンピューティングデバイスでリソースを維持する必要のないサービスとして、クラウドコンピューティング環境600がインフラストラクチャ、プラットフォーム及び/又はソフトウェアを提供することを可能にする。
図5に示すコンピューティングデバイス54A~54Nのタイプは、例示的であることのみを意図しており、クラウドコンピューティングノード10及びクラウドコンピューティング環境500は、いずれかのタイプのネットワーク及び/又はネットワークアドレス指定可能な接続で(例えば、ウェブブラウザを使用して)いずれかのタイプのコンピュータデバイスと通信できることが理解される。
【0049】
図6を参照すると、クラウドコンピューティング環境500(
図5)によって提供される機能抽象化レイヤ600のセットが示されている。
図6に示すコンポーネント、レイヤ及び機能は、例示的であることのみを意図しており、実施形態はこれに限定されないことが予め理解されるべきである。図示のように、以下のレイヤ及び対応する機能が提供される。
【0050】
ハードウェア及びソフトウェアレイヤ60は、ハードウェア及びソフトウェアコンポーネントを含む。ハードウェアコンポーネントの例は、メインフレーム61と、RISC(Reduced Instruction Set Computer)アーキテクチャベースのサーバ62と、サーバ63と、ブレードサーバ64と、記憶デバイス65と、ネットワーク及びネットワーキングコンポーネント66とを含む。いくつかの実施形態では、ソフトウェアコンポーネントは、ネットワークアプリケーションサーバソフトウェア67と、データベースソフトウェア68とを含む。
【0051】
仮想化レイヤ70は、抽象化レイヤを提供し、抽象化レイヤから、仮想サーバ71、仮想ストレージ72、仮想プライベートネットワークを含む仮想ネットワーク73、仮想アプリケーション及びオペレーティングシステム74、並びに仮想クライアント75の仮想エンティティの例が提供されてもよい。
【0052】
一例では、管理レイヤ80は、以下に記載の機能を提供してもよい。リソースプロビジョニング81は、クラウドコンピューティング環境内のタスクを実行するために利用されるコンピューティングリソース及び他のリソースの動的な調達を提供する。計測及び価格設定82は、クラウドコンピューティング環境内でリソースが利用されるときのコスト追跡と、これらのリソースの利用に対する課金又は請求を提供する。一例では、これらのリソースは、アプリケーションソフトウェアライセンスを含んでもよい。セキュリティは、クラウド利用者及びタスクのための身元確認と、データ及び他のリソースの保護とを提供する。ユーザポータル83は、利用者及びシステム管理者のためにクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理84は、要求されるサービスレベルが満たされるように、クラウドコンピューティングリソースの割り当て及び管理を提供する。サービスレベルアグリーメント(SLA, Service Level Agreement)の計画及び遂行85は、SLAに従って将来の要件が予測されるクラウドコンピューティングリソースの事前配置及び調達を提供する。
【0053】
ワークロードレイヤ90は、クラウドコンピューティング環境が利用され得る機能の例を提供する。このレイヤから提供され得るワークロード及び機能の例は、マッピング及びナビゲーション91と、ソフトウェア開発及びライフサイクル管理92と、仮想クラスルーム教育配信93と、データ分析処理94と、トランザクション処理95と、ビデオ符号化/復号96とを含む。ビデオ符号化/復号96は、符号化ツリー構造タイプに基づいてビデオデータを符号化/復号してもよい。
【0054】
いくつかの実施形態は、いずれかの可能な技術的詳細レベルの統合において、システム、方法及び/又はコンピュータ読み取り可能媒体に関してもよい。コンピュータ読み取り可能媒体は、プロセッサに動作を実行させるためのコンピュータ読み取り可能プログラム命令を有するコンピュータ読み取り可能な非一時な記憶媒体(又は媒体)を含んでもよい。
【0055】
コンピュータ読み取り可能記憶媒体は、命令実行デバイスによって使用される命令を保持及び記憶できる有形のデバイスとすることができる。コンピュータ読み取り可能記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス又は上記のいずれか適切な組み合わせでもよいが、これらに限定されない。コンピュータ読み取り可能記憶媒体のより具体的な例の非網羅的なリストは、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM, random access memory)、読み取り専用メモリ(ROM, read-only memory)、消去可能プログラム可能読み取り専用メモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM, static random access memory)、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM, compact disc read-only memory)、デジタル多用途ディスク(DVD, digital versatile disk)、メモリスティック、フロッピーディスク、パンチカードのような機械的に符号化されたデバイス又はこれらに記録された命令を有する溝における隆起構造、及びこれらのいずれか適切な組み合わせを含む。本明細書で使用されるコンピュータ読み取り可能記憶媒体は、電波若しくは他の自由に伝搬する電磁波、導波管若しくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又はワイヤを通じて伝送される電気信号のような、それ自体一時的な信号であるとして解釈されるべきではない。
【0056】
本明細書に記載のコンピュータ読み取り可能プログラム命令は、コンピュータ読み取り可能記憶媒体からそれぞれのコンピューティング/処理デバイスにダウンロードでき、或いは、ネットワーク、例えば、インターネット、ローカルエリアネットワーク、広域ネットワーク及び/又は無線ネットワークを介して外部コンピュータ又は外部記憶デバイスにダウンロードできる。ネットワークは、銅線伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び/又はエッジサーバを含んでもよい。各コンピューティング/処理デバイス内のネットワークアダプタカード又はネットワークインタフェースは、ネットワークからコンピュータ読み取り可能プログラム命令を受信し、各コンピューティング/処理デバイス内のコンピュータ読み取り可能記憶媒体に記憶するためにコンピュータ読み取り可能プログラム命令を転送する。
【0057】
動作を実行するためのコンピュータ読み取り可能プログラムコード/命令は、アセンブラ命令、命令セットアーキテクチャ(ISA, instruction-set-architecture)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、又はSmalltalk、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語若しくは同様のプログラミング言語のような手続き型プログラミング言語を含む、1つ以上のプログラミング言語のいずれかの組み合わせで記述されたソースコード又はオブジェクトコードのいずれかでもよい。コンピュータ読み取り可能プログラム命令は、ユーザのコンピュータ上で完全に、ユーザのコンピュータ上で部分的に、スタンドアローンのソフトウェアパッケージとして、一部はユーザのコンピュータ上で且つ一部はリモートコンピュータ上で、或いは、リモートコンピュータ又はサーバ上で完全に、実行されてもよい。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN, local area network)又は広域ネットワーク(WAN, wide area network)を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続されてもよく、或いは、接続は、外部コンピュータに対して(例えば、インターネットサービスプロバイダを使用してインターネットを通じて)行われてもよい。いくつかの実施形態では、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA, field-programmable gate array)又はプログラマブルロジックアレイ(PLA, programmable logic array)を含む電子回路は、態様又は動作を実行するために、電子回路をパーソナライズするようにコンピュータ読み取り可能プログラム命令の状態情報を利用することによって、コンピュータ読み取り可能プログラム命令を実行してもよい。
【0058】
これらのコンピュータ読み取り可能プログラム命令は、機械を生成するように汎用コンピュータ、専用コンピュータ又は他のプログラム可能データ処理装置のプロセッサに提供されてもよく、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサを介して実行する命令は、フローチャート及び/又はブロック図のブロックに指定された機能/動作を実施するための手段を生成する。これらのコンピュータ読み取り可能プログラム命令はまた、コンピュータ、プログラム可能データ処理装置及び/又は他のデバイスを特定の方式で機能させるように指示できるコンピュータ読み取り可能記憶媒体に記憶されてもよく、それにより、記憶された命令を有するコンピュータ読み取り可能記憶媒体は、フローチャート及び/又はブロック図のブロックに指定された機能/動作の態様を実施する命令を含む製造物を含む。
【0059】
コンピュータ読み取り可能プログラム命令はまた、コンピュータ、他のプログラム可能装置又は他のデバイスで一連の動作ステップを実行させて、コンピュータ実施プロセスを生成するように、コンピュータ、他のプログラム可能データ処理装置又は他のデバイスにロードされてもよく、それにより、コンピュータ、他のプログラム可能装置又は他のデバイスで実行する命令は、フローチャート及び/又はブロック図のブロックに指定された機能/動作を実施する。
【0060】
図面におけるフローチャート及びブロック図は、様々な実施形態によるシステム、方法及びコンピュータ読み取り可能媒体の可能な実装のアーキテクチャ、機能及び動作を示す。これに関して、フローチャート又はブロック図内の各ブロックは、指定の論理機能を実施するための1つ以上の実行可能命令を含む、モジュール、セグメント又は命令の一部を表してもよい。当該方法、コンピュータシステム及びコンピュータ読み取り可能媒体は、図面に示すものよりも多くのブロック、少ないブロック、異なるブロック又は異なる配置のブロックを含んでもよい。いくつかの別の実装では、ブロックに記載された機能は、図面に記載された順序から外れて行われてもよい。例えば、連続して示す2つのブロックは、実際には、同時に或いは実質的に同時に実行されてもよく、或いは、関与する機能に依存して、場合によってはブロックが逆の順序で実行されてもよい。また、ブロック図及び/又はフローチャート図内の各ブロック、及びブロック図及び/又はフローチャート図内のブロックの組み合わせは、指定された機能又は動作を実行するか、或いは、専用ハードウェア及びコンピュータ命令の組み合わせを実行する専用ハードウェアベースのシステムによって実施できることに留意する。
【0061】
本明細書に記載のシステム及び/又は方法は、異なる形式のハードウェア、ファームウェア又はハードウェアとソフトウェアとの組み合わせで実施されてもよいことは明らかである。これらのシステム及び/又は方法を実施するために使用される実際の特殊な制御ハードウェア又はソフトウェアコードは、実装の限定ではない。したがって、システム及び/又は方法の動作及び挙動は、特定のソフトウェアコードを参照することなく本明細書に記載されており、ソフトウェア及びハードウェアは、本明細書の記載に基づいてシステム及び/又は方法を実施するように設計されてもよいことが理解される。
【0062】
本明細書で使用される如何なる要素、動作又は命令も、明示的に記述されない限り、重要又は必須であると解釈されるべきではない。また、本明細書で使用される場合、単数は、1つ以上の項目を含むことを意図し、「1つ以上」と互換的に使用されてもよい。さらに、本明細書で使用される場合、「セット」という用語は、1つ以上の項目(例えば、関連する項目、関連しない項目、関連する項目と関連しない項目との組み合わせ等)を含むことを意図し、「1つ以上」と互換的に使用されてもよい。1つの項目のみが意図される場合、「1つ」という用語又は同様の言語が使用される。また、本明細書で使用される場合、「有する(has)」、「有する(have)」、「有する(having)」等の用語は、オープンエンドの用語であることを意図する。さらに、「基づいて」という語句は、明示的に別段の記載がない限り、「少なくとも部分的に基づいて」を意味することを意図する。
【0063】
様々な態様及び実施形態の説明は、例示の目的で提示されており、網羅的であること又は開示の実施形態に限定されることを意図するものではない。特徴の組み合わせが特許請求の範囲及び/又は明細書に開示されているとしても、これらの組み合わせは、可能な実装の開示を限定することを意図しない。実際に、これらの特徴の多くは特許請求の範囲及び/又は明細書に具体的に開示されていない方法で組み合わされてもよい。以下に列挙される各従属請求項は、1つの請求項のみに直接従属することがあるが、可能な実装の開示は、各従属請求項を特許請求の範囲内の他の全ての請求項と組み合わせたものを含む。記載の実施形態の範囲から逸脱することなく、多くの修正及び変形が当業者に明らかになる。本明細書で使用される用語は、実施形態の原理、市場で見出される技術に対する実際の適用又は技術的な改良を最も良く説明するために、或いは、当業者が本明細書に開示の実施形態を理解することを可能にするために選択されている。
【外国語明細書】