(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-07
(45)【発行日】2024-10-16
(54)【発明の名称】フレームタイプに基づく適応分解能管理の暗示的信号伝達
(51)【国際特許分類】
H04N 19/70 20140101AFI20241008BHJP
H04N 19/132 20140101ALI20241008BHJP
H04N 19/174 20140101ALI20241008BHJP
H04N 19/157 20140101ALI20241008BHJP
【FI】
H04N19/70
H04N19/132
H04N19/174
H04N19/157
(21)【出願番号】P 2022507682
(86)(22)【出願日】2020-08-06
(86)【国際出願番号】 US2020045220
(87)【国際公開番号】W WO2021026363
(87)【国際公開日】2021-02-11
【審査請求日】2023-08-04
(32)【優先日】2019-08-06
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521328755
【氏名又は名称】オーピー ソリューションズ, エルエルシー
(74)【代理人】
【識別番号】100078282
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】カルバ, ハリ
(72)【発明者】
【氏名】アジッチ, ヴェリボール
(72)【発明者】
【氏名】ファート, ボリヴォイェ
【審査官】松元 伸次
(56)【参考文献】
【文献】米国特許出願公開第2018/0098089(US,A1)
【文献】国際公開第2019/141907(WO,A1)
【文献】欧州特許出願公開第03057319(EP,A1)
【文献】国際公開第2019/059721(WO,A1)
【文献】米国特許出願公開第2010/0150231(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
基準ピクチャと異なる空間分解能を有する後続ピクチャのために前記基準ピクチャから予測因子を生成するためのインタ予測モードを有するデコーダであって、前記デコーダは、
第1のピクチャおよび後続ピクチャと、前記第1のピクチャと関連付けられるが前記後続ピクチャと関連付けられないヘッダとを含むエンコードされたビットストリームを受信することであって、前記後続ピクチャは、前記第1のピクチャと異なる空間分解能を有し、前記第1のピクチャと関連付けられる前記ヘッダは、前記モードを利用するためのパラメータを含まない、ことと、
前記ヘッダに応答して、前記モードを利用せずに、前記第1のピクチャをデコードすることと、
前記後続ピクチャのための基準ピクチャとして前記デコードされた第1のピクチャを保つことと、
前記エンコードされたビットストリーム内で信号伝達されるスケール率を使用して、かつ、前記基準ピクチャ全体ではなく前記基準ピクチャの特定のブロックのために選定されたフィルタを使用して、前記基準ピクチャのピクセルのブロックの空間分解能をスケーリングし、予測因子を形成することと、
残差ピクセル値を前記予測因子に追加することによって、前記後続ピクチャのピクセルのブロックをデコードすることと
を行うように構成される、デコーダ。
【請求項2】
基準ピクチャと異なる空間分解能を有する後続ピクチャのために前記基準ピクチャから予測因子を生成するためのインタ予測モードを有するデコーダであって、前記デコーダは、
第1のピクチャおよび後続ピクチャと、前記第1のピクチャと関連付けられるが前記後続ピクチャと関連付けられないヘッダとを含むエンコードされたビットストリームを受信することであって、前記後続ピクチャは、前記第1のピクチャと異なる空間分解能を有し、前記第1のピクチャと関連付けられる前記ヘッダは、前記モードを利用するためのパラメータを含まない、ことと、
前記ヘッダに応答して、前記モードを利用せずに、前記第1のピクチャをデコードし、前記ビットストリーム内の情報から、前記第1のピクチャが前記後続ピクチャのための基準ピクチャとしての使用のために利用可能であることを決定することと、
前記エンコードされたビットストリーム内で信号伝達されるスケール率を使用して、かつ、前記基準ピクチャ全体ではなく前記基準ピクチャの特定のブロックのために選定されたフィルタを使用して、前記第1のピクチャのピクセルのブロックの空間分解能をスケーリングし、予測因子を形成することと、
前記予測因子を使用して、前記後続ピクチャのピクセルのブロックをデコードすることと
を行うように構成される、デコーダ。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、参照することによってその全体として本明細書に組み込まれる、2019年8月6日に出願され、「IMPLICIT SIGNALING OF ADAPTIVE RESOLUTION MANAGEMENT BASED ON FRAME TYPE」と題された、米国仮特許出願第62/883,484号の優先権の利益を主張する。
【0002】
本発明は、概して、ビデオ圧縮の分野に関する。特に、本発明は、フレームタイプに基づく適応分解能管理の暗示的信号伝達を対象とする。
【背景技術】
【0003】
ビデオコーデックは、デジタルビデオを圧縮または解凍する、電子回路またはソフトウェアを含み得る。これは、非圧縮ビデオを圧縮フォーマットに転換し、逆もまた同様であり得る。ビデオ圧縮の文脈において、ビデオを圧縮する(および/またはそのある機能を実施する)デバイスは、典型的には、エンコーダと呼ばれ得、ビデオを解凍する(および/またはそのある機能を実施する)デバイスは、デコーダと呼ばれ得る。
【0004】
圧縮データのフォーマットは、標準的なビデオ圧縮仕様に適合し得る。圧縮は、圧縮されたビデオが元のビデオの中に存在するある情報を欠き得る点で損失的であり得る。この結果は、解凍されたビデオが、元のビデオを正確に再構築するための不十分な情報が存在し得るため、元の非圧縮ビデオより低い品質を有し得ることを含み得る。
【0005】
ビデオ品質と、(例えば、ビットレートによって決定される)ビデオを表すために使用されるデータ量と、エンコーディングアルゴリズムおよびデコーディングアルゴリズムの複雑性と、データ損失および誤差に対する感度と、編集のし易さと、ランダムアクセスと、エンドツーエンド遅延(例えば、待ち時間)と、同等物との間に、複雑な関係が存在し得る。
【0006】
運動補償は、ビデオにおけるカメラおよび/またはオブジェクトの運動を考慮することによって、以前および/または将来のフレーム等の基準フレームを前提として、ビデオフレームまたはその一部を予測するためのアプローチを含み得る。これは、ビデオ圧縮のためのビデオデータのエンコーディングおよびデコーディングにおいて、例えば、(H.264とも称される)MPEG(Motion Picture Experts Group)のアドバンスドビデオコーディング(AVC)規格を使用するエンコーディングおよびデコーディングにおいて採用され得る。運動補償は、基準ピクチャの現在のピクチャへの変換の観点からピクチャを記述し得る。基準ピクチャは、現在のピクチャと比較したとき、時間的に以前のものである、および/または現在のピクチャと比較したとき、将来からのものであり得る。
【発明の概要】
【課題を解決するための手段】
【0007】
ある側面では、デコーダは、ビットストリームを受信し、ビットストリームを使用して、現在のフレームに関して、現在のフレームが、基準フレームとして使用されるために利用可能であるかどうかを決定し、現在のフレームが、基準フレームとして使用されるために利用可能であることを決定することに応答して、適応分解能管理モードが禁止されることを特徴付ける変数を設定し、現在のフレームのピクセルデータを再構築することであって、適応分解能管理モードが、禁止される、ことを行うように構成される、回路網を含む。
【0008】
別の側面では、方法は、ビットストリームを受信することと、ビットストリームを使用して、現在のフレームに関して、現在のフレームが、基準フレームとして使用されるために利用可能であるかどうかを決定することと、現在のフレームが、基準フレームとして使用されるために利用可能であることを決定することに応答して、適応分解能管理モードが禁止されることを特徴付ける変数を設定することと、現在のフレームのピクセルデータを再構築することであって、適応分解能管理モードが、禁止される、こととを含む。
【0009】
本明細書に説明される主題の1つまたはそれを上回る変形例の詳細が、付随の図面および下記の説明に記載される。本明細書に説明される主題の他の特徴および利点が、説明および図面から、および請求項から明白となるであろう。
本発明は、例えば、以下を提供する。
(項目1)
デコーダであって、前記デコーダは、回路網を備え、前記回路網は、
ビットストリームを受信することと、
前記ビットストリームを使用して、現在のフレームに関して、前記現在のフレームが、基準フレームとして使用されるために利用可能であるかどうかを決定することと、
前記現在のフレームが、基準フレームとして使用されるために利用可能であることを決定することに応答して、適応分解能管理モードが禁止されることを特徴付ける変数を設定することと、
前記現在のフレームのピクセルデータを再構築することであって、前記適応分解能管理モードが、禁止される、ことと
を行うように構成される、デコーダ。
(項目2)
前記現在のフレームが、基準フレームとして使用されるために利用可能であるかどうかを決定することは、前記現在のフレームのタイプが、タイプIであるかどうかを決定することを含む、項目1に記載のデコーダ。
(項目3)
前記現在のフレームが、基準フレームとして使用されるために利用可能であるかどうかを決定することは、前記現在のフレームのタイプが、タイプPであるかどうかを決定することを含む、項目1に記載のデコーダ。
(項目4)
前記現在のフレームのタイプが、前記ビットストリーム内で信号伝達される、項目1に記載のデコーダ。
(項目5)
前記現在のフレームは、スライスである、項目1に記載のデコーダ。
(項目6)
前記適応分解能管理モードと関連付けられるパラメータが、前記現在のフレームのピクチャヘッダ内に存在していない、項目1に記載のデコーダ。
(項目7)
前記ビットストリームから、現在のブロックをデコードするようにさらに構成される、項目1に記載のデコーダ。
(項目8)
前記現在のブロックは、コーディング木単位を含む、項目1に記載のデコーダ。
(項目9)
前記現在のブロックは、予測単位を含む、項目1に記載のデコーダ。
(項目10)
エントロピデコーダプロセッサであって、前記エントロピデコーダプロセッサは、前記ビットストリームを受信し、前記ビットストリームを量子化された係数にデコードするように構成される、エントロピデコーダプロセッサと、
逆量子化および逆変換プロセッサであって、前記逆量子化および逆変換プロセッサは、逆離散コサインを実施することを含む前記量子化された係数を処理するように構成される、逆量子化および逆変換プロセッサと、
デブロッキングフィルタと、
フレームバッファと、
イントラ予測プロセッサと
をさらに備える、項目1に記載のデコーダ。
(項目11)
ビットストリームを受信することと、
前記ビットストリームを使用して、現在のフレームに関して、前記現在のフレームが、基準フレームとして使用されるために利用可能であるかどうかを決定することと、
前記現在のフレームが、基準フレームとして使用されるために利用可能であることを決定することに応答して、適応分解能管理モードが禁止されることを特徴付ける変数を設定することと、
前記現在のフレームのピクセルデータを再構築することであって、前記適応分解能管理モードが、禁止される、ことと
を含む、方法。
(項目12)
前記現在のフレームが、基準フレームとして使用されるために利用可能であるかどうかを決定することは、前記現在のフレームのタイプが、タイプIであるかどうかを決定することを含む、項目11に記載の方法。
(項目13)
前記現在のフレームが、基準フレームとして使用されるために利用可能であるかどうかを決定することは、前記現在のフレームのタイプが、タイプPであるかどうかを決定することを含む、項目11に記載の方法。
(項目14)
前記現在のフレームのタイプが、前記ビットストリーム内で信号伝達される、項目13に記載の方法。
(項目15)
前記現在のフレームは、スライスである、項目11に記載の方法。
(項目16)
前記適応分解能管理モードと関連付けられるパラメータが、前記現在のフレームのピクチャヘッダ内に存在していない、項目11に記載の方法。
(項目17)
前記ビットストリームから、現在のブロックをデコードすることをさらに含む、項目11に記載の方法。
(項目18)
前記現在のブロックは、コーディング木単位を含む、項目11に記載の方法。
(項目19)
前記現在のブロックは、予測単位を含む、項目11に記載の方法。
(項目20)
前記受信すること、前記決定すること、前記設定すること、および前記再構築することのうちの少なくとも1つが、デコーダによって実施され、前記デコーダは、
エントロピデコーダプロセッサであって、前記エントロピデコーダプロセッサは、前記ビットストリームを受信し、前記ビットストリームを量子化された係数にデコードするように構成される、エントロピデコーダプロセッサと、
逆量子化および逆変換プロセッサであって、前記逆量子化および逆変換プロセッサは、逆離散コサインを実施することを含む前記量子化された係数を処理するように構成される、逆量子化および逆変換プロセッサと、
デブロッキングフィルタと、
フレームバッファと、
イントラ予測プロセッサと
を備える、項目11に記載の方法。
【図面の簡単な説明】
【0010】
本発明を例証する目的のために、図面は、本発明の1つまたはそれを上回る実施形態の側面を示す。しかしながら、本発明が、図面に示される通りの配列および手段に限定されないことを理解されたい。
【0011】
【
図1】
図1は、種々の分解能スケールの例示的基準フレームおよび例示的予測フレームの図である。
【
図2】
図2は、例示的基準フレーム、例示的再スケーリングされた基準フレーム、および例示的後続ブロック予測プロセスを描写する図である。
【
図3】
図3は、本主題のいくつかの実装による例示的プロセスを図示する、プロセスフロー図である。
【
図4】
図4は、本主題のいくつかの実装に従ってビットストリームをデコードすることが可能である例示的デコーダを図示する、システムブロック図である。
【
図5】
図5は、本主題のいくつかの実装に従ってビデオをエンコードする例示的プロセスを図示する、プロセスフロー図である。
【
図6】
図6は、本主題のいくつかの実装による例示的ビデオエンコーダを図示する、システムブロック図である。
【
図7】
図7は、本明細書およびそのいずれか1つまたはそれを上回る部分に開示される方法論のうちのいずれか1つまたはそれを上回るものを実装するために使用され得る、コンピューティングシステムのブロック図である。
【0012】
図面は、必ずしも、縮尺通りではなく、想像線、図式表現、および部分図によって図示され得る。ある事例では、実施形態の理解のためには必要ではない、または他の詳細を知覚困難にする詳細が、省略されている場合がある。種々の図面内の同様の参照記号は、同様の要素を示す。
【発明を実施するための形態】
【0013】
詳細な説明
多くの現在の最先端のエンコーダでは、分解能が、ピクチャ群(GOP)として公知のビデオの部分全体を再コーディングおよび再送信することによって管理される。これは、それらのフレームが、GOP内のビットの大部分に関わるため、イントラフレーム(Iフレーム)を送信することを要求し、これは、付加的コストを被り得る。
【0014】
本開示において説明される実施形態は、種々のユースケースにおけるビットレートの節約を可能にする、ビデオエンコーダ/デコーダのための付加的な柔軟性を可能にする技法である、適応分解能管理(ARM)に関する。一般に、ARMは、現在のフレームと異なる分解能の基準フレームを使用して、予測を実施することを含む。現在のコーディング規格では、基準フレームは、予測フレームと同一の分解能を有する。ARMでは、基準フレームは、予測されているフレームより低いまたは高い分解能であり得る。本アプローチは、ビデオ分解能をダウンスケーリングし、したがって、ビットレートを低減させる、またはビデオ分解能をアップスケーリングし、したがって、ビデオ再生の表示特性を促進するために使用され得る。
【0015】
ARMは、代替として、または同等に、本開示の目的のために、基準ピクチャ再サンプリング(RPR)と称され得、RPRおよびARMは、同義的に使用され得る。
【0016】
本主題のいくつかの実装は、GOP内の任意の位置における、任意の数のフレームに関してARMを使用し、したがって、Iフレームの再コーディングに関する要件を除去することを含み得る。
【0017】
図1は、種々の分解能スケールの基準フレームおよび予測フレームの図である。フレーム1は、基準フレームより小さく(より低い分解能であり)、フレーム2は、同一のサイズ(同一の分解能)である一方、フレーム3は、より大きい(より高い分解能である)。本開示において使用されるような「分解能」は、ビデオ再生、圧縮、または同等物内で使用されるピクチャ、フレーム、サブフレーム、および/またはそれらの他の表示される面積または部分内のピクセルの数であり、より高い数のピクセルは、より高い分解能に対応し、より低い数のピクセルは、より低い分解能に対応する。分解能は、面積の観点から、例えば、限定ではないが、ある面積を定義する、ピクセル単位で測定される長さの1つまたはそれを上回る寸法を使用することによって、測定されてもよい。例えば、円形のサブフレームまたは他の領域が、半径に従って定義される分解能を有してもよい。代替として、または加えて、分解能は、ピクセルの全体数によって定義されてもよい。
【0018】
実施例として、
図1を継続して参照すると、基準フレームおよび/またはサブフレームが、それにわたる面積が、限定ではないが、三角形、平行四辺形、および/または長方形形態等の2つの長さのパラメータの観点から完全に定義され得る、幾何学形態を有する場合、基準フレームおよび/またはサブフレームは、分解能W×Hを有し得る(WおよびHは、それぞれ、基準フレームおよび/またはサブフレームの幅(または底辺)寸法および高さ寸法を説明するピクセルの数を示し得る)。各予測フレームはまた、基準フレームの分解能と同様に決定され得る、分解能を有してもよく、例えば、フレーム1は、より低い分解能WS×HSを有し得、フレーム2は、基準フレームW×Hと同一の分解能を有し得、フレーム3は、より高い分解能WL×HLを有し得る。より小さいフレームおよびより大きいフレームの幅および高さは、スケーリング率および/または定数とも称される、恣意的再スケーリング定数(Rc)によって基準幅および高さを乗算することによって取得され得る。より小さいフレームの場合では、Rcは、0~1の値を有し得る。より大きいフレームの場合では、Rcは、1を上回る値を有し得、例えば、Rcは、1~4の値を有し得る。他の値も、可能性として考えられる。再スケーリング定数は、ある分解能次元に関して別のものと異なり得、例えば、再スケーリング定数Rchが、高さを再スケーリングするために使用され得る一方、別の再スケーリング定数Rcwが、幅を再スケーリングするために使用され得る。
【0019】
依然として
図1を参照すると、ARMは、モードとして実装されてもよい。デコーディングの間のある時点におけるARMモードアクティブ化の場合では、デコーダが、分解能W×Hにおける基準フレームをすでに受信している場合があり、再スケーリング定数を使用して予測フレームを再スケーリングしてもよい。いくつかの実装では、エンコーダが、使用するための再スケーリング定数をデコーダに信号伝達してもよい。信号伝達することは、現在のピクチャを含有するGOPに対応するシーケンスパラメータセット(SPS)、および/または現在のピクチャに対応するピクチャパラメータセット(PPS)内で実施されてもよい。例えば、限定ではないが、エンコーダが、pps_pic_width_in_luma_samples、pps_pic_height_in_luma_samples、pps_scaling_win_left_offset、pps_scaling_win_right_offset、pps_scaling_win_top_offset、pps_scaling_win_bottom_offset、および/またはsps_num_subpics_minus1等のフィールドを使用して、再スケーリングされたパラメータを信号伝達してもよい。
【0020】
さらに
図1を参照すると、上記に説明されるようなWパラメータおよびHパラメータは、限定ではないが、それぞれ、変数CurrPicScalWinWidthLと、CurrPicScalWinHeightLとを使用して表され得、これらの変数は、信号伝達されたパラメータと変数との間の1つまたはそれを上回る数学的関係を使用して、上記に説明されるような信号伝達されたパラメータから導出され得る。例えば、限定ではないが、CurrPicScalWinWidthLは、以下の方程式に従って導出され得る。
CurrPicScalWinWidthL = pps_pic_width_in_luma_samples - SubWidthC * (pps_scaling_win_right_offset + pps_scaling_win_left_offset)
【0021】
さらなる非限定的実施例として、CurrPicScalWinHeightLは、以下の方程式に従って導出され得る。
CurrPicScalWinWidthL = pps_pic_width_in_luma_samples - SubWidthC * (pps_scaling_win_right_offset + pps_scaling_win_left_offset)
【0022】
当業者は、本開示の全体の精査に応じて、上記に説明される変数を導出するために使用され得る、種々の代替的算出を認識するであろう。エンコーダは、代替として、または加えて、例えば、限定ではないが、PPSおよび/またはSPS内で1つまたはそれを上回るそのような変数Rc、Rch、および/またはRcwを直接信号伝達してもよい。
【0023】
代替として、または加えて、依然として
図1を参照すると、上記に説明されるような再スケーリング定数および/または再スケーリング定数のセットは、記憶されたスケーリング定数および/または複数のスケーリング定数、および/または以前に信号伝達および/または利用されたスケーリング定数および/または複数のスケーリング定数を使用して信号伝達されたフレームおよび/またはブロックのインデックスへの参照を使用して、ビットストリーム内で信号伝達されてもよい。記憶されたスケーリング定数のインデックスへの参照は、ビットストリーム内で信号伝達される1つまたはそれを上回る付加的パラメータから明示的に信号伝達される、および/または決定されてもよい。例えば、限定ではないが、デコーダは、基準フレームおよび/または現在のフレーム含有するピクチャの群を識別してもよく、再スケーリング定数が、現在のフレームおよび/またはピクチャの現在の群、または同等物に適用可能であるように信号伝達される基準フレームを用いて、そのようなピクチャの群内で以前に信号伝達および/または使用されている場合、デコーダは、現在のフレームを用いた再スケーリング定数としての使用のためにその再スケーリング定数を識別してもよい。
【0024】
いくつかの実装では、
図1を継続して参照すると、ARM動作が、エンコードされたフレームのブロックレベルに応じて実行され得る。例えば、基準フレームが、最初に、再スケーリングされてもよく、続いて、予測が、
図2に描写されるように実施されてもよい。
図2は、基準フレーム、再スケーリングされた基準フレーム、および後続ブロック予測プロセスを描写する図である。ブロック予測プロセスは、元の基準フレームではなく、(スケーリングされた分解能を有する)スケーリングされた基準フレーム上で実施されてもよい。基準フレームを再スケーリングすることは、上記に説明されるように、エンコーダによって信号伝達される任意のパラメータに従って再スケーリングすることを含み得、例えば、限定ではないが、現在のピクチャを用いて使用されるべき基準フレームが、基準フレームまたは同等物と関連付けられるインデックス値への参照等を介して信号伝達される場合、信号伝達された基準フレームは、予測に先立って、上記に説明される再スケーリングの任意の方法に従って再スケーリングされてもよい。再スケーリングされた基準フレームは、実施され得るフレーム読出に従って、限定ではないが、インデックスによってその中に含有されるフレームを識別するバッファを含み得る、メモリおよび/またはバッファ内に記憶されてもよく、バッファは、デコード済ピクチャバッファ(DCB)および/またはデコーダによって実装される1つまたはそれを上回る付加的なバッファを含んでもよい。予測プロセスは、例えば、運動補償を含む、インタピクチャ予測を含んでもよい。
【0025】
ブロックベースのARMのいくつかの実装は、フレーム全体にわたって同一のフィルタを適用することの代わりに、ブロック毎に最適なフィルタを適用することの柔軟性を可能にし得る。いくつかの実装では、(例えば、ピクセルおよびビットレートコストの均一性に基づく)いくつかのブロックが、(再スケーリングが、ビットレートを変化させないであろうような)スキップARMモードにあり得るように、スキップARMモードが、可能性として考えられ得る。スキップARMモードは、ビットストリーム内で信号伝達されてもよく、例えば、限定ではないが、スキップARMモードは、PPSパラメータ内で信号伝達されてもよい。代替として、または加えて、デコーダは、スキップARMモードが、デコーダによって設定された、および/またはビットストリーム内で信号伝達された1つまたはそれを上回るパラメータに基づいて、アクティブであることを決定してもよい。ブロックベースのARM内で使用される空間フィルタは、限定ではないが、双三次補間を適用する双三次空間フィルタ、双線形補間を適用する双線形空間フィルタ、Lanczosフィルタリングを使用するLanczosフィルタ、および/またはsincフィルタ、sinc関数補間、および/または信号再構築技法の組み合わせを使用するLanczos再サンプリング、または同等物を含み得、当業者は、本開示の全体の精査に応じて、補間のために本開示に一貫して使用され得る、種々のフィルタを認識するであろう。補間フィルタは、非限定的実施例として、限定ではないが、それによって、スケーリングの以前のブロックおよび/またはフレームのピクセルの間のピクセルが、ゼロに初期化され、次いで、低域通過フィルタの出力が取り込まれる得る、アップサンプリングプロセスを用いて使用され得る、低域通過フィルタ等の上記に説明される任意のフィルタを含んでもよい。代替として、または加えて、任意の輝度サンプル補間フィルタリングプロセスが、使用されてもよい。輝度サンプル補間は、スケーリングされていないサンプルアレイの2つの連続するサンプル値の間に該当する、半サンプル補間フィルタインデックスにおける補間値の算出を含んでもよい。補間値の算出は、限定ではないが、ルックアップテーブルからの係数および/または加重の読出によって実施されてもよく、ルックアップテーブルの選択は、例えば、上記に説明されるようなスケーリング定数を使用して決定されるような、コーディング単位および/またはスケーリング比量の運動モデルの関数として、実施されてもよい。算出は、限定ではないが、加重が、ルックアップテーブルから読み出される場合、隣接するピクセル値の加重和を実施することを含んでもよい。算出された値は、代替として、または加えて、偏移されてもよく、例えば、限定ではないが、値は、最小値(4、すなわち、ビット深度-8)、6、最大値(2、すなわち、14-ビット深度)、または同等物だけ偏移されてもよい。当業者は、本開示の全体の精査に応じて、補間フィルタのために使用され得る種々の代替的または付加的実装を認識するであろう。
【0026】
依然として
図2を参照すると、適応分解能管理が、フレームおよび/またはフレームの領域を再スケーリングし、圧縮効率および/または品質を改良することを可能にし得る。重要となる課題は、デコーダにおける再スケーリング方法の再現性である。使用される再スケーリング方法に応じて、デコーダおよびエンコーダは、同じスケーリングして戻されるフレームを再現することが可能ではない場合がある。そのような場合では、基準フレームとして再スケーリングされたフレームを使用することは、予測不整合を引き起こす、および/またはエンコーダおよびデコーダをドリフトさせ得る。ドリフトは、コーディングアーチファクト(品質問題)として可視の状態になり得る。これらのドリフト問題を回避するために、ARMの暗示的および明示的な信号伝達が、本開示に説明されるように利用され得る。
【0027】
例えば、
図2をさらに参照すると、ARMの暗示的信号伝達は、フレームタイプに基づいてもよい。例えば、いくつかの実装では、デコーダおよび/またはエンコーダは、基準フレームとして使用され得るフレームが、ARMを使用してエンコードされ得ないように、言い換えると、ARMが、基準フレームとして利用可能なフレームに関して禁止され得るように構成されてもよい。例えば、ピクチャヘッダ内で信号伝達されるフレームタイプまたはスライスタイプが、フレームが、例えば、ピクチャヘッダ内でタイプIまたはタイプPであるものとして信号伝達されるフレーム等、基準フレームとしての使用のために利用可能であることを示す場合、デコーダおよび/またはエンコーダは、フレームが、ARMを使用してエンコードされ得ないこと、およびARM関連パラメータの全てが、フレームのピクチャヘッダ内に存在しない場合があることを決定してもよい。上記に説明されるようなパラメータは、限定ではないが、SPSおよび/またはPPS内で信号伝達されてもよい。例えば、SPSは、1に等しいとき、ピクチャ空間分解能が変化し得ることを規定し得る、sps_res_change_in_clvs_allowed_flagと示されるパラメータを信号伝達してもよい。分解能管理の一側面は、分解能が、シーケンス内で変化し得ることを信号伝達してもよい。さらなる非限定的実施例として、1に等しい、gci_no_ref_pic_resampling_constraint_flagが、OlsInScope内のピクチャ全てに関するsps_ref_pic_resampling_enabled_flagが、0に等しくなるであろうことを規定してもよい。0に等しい、gci_no_ref_pic_resampling_constraint_flagは、そのような制約を課さない場合がある。スライスヘッダにおいて、sh_slice_typeが、タイプIと、Pと、Bとの間のスライスののコーディングタイプを規定してもよい。1に等しい、ph_non_ref_pic_flagが、現在のピクチャが、決して基準ピクチャとして使用されないことを規定してもよい。0に等しい、ph_non_ref_pic_flagが、現在のピクチャが、基準ピクチャとして使用され得る場合とそうでない場合があることを規定してもよい。
【0028】
図3は、種々のユースケースにおけるビットレートの節約を可能にする、ビデオエンコーダ/デコーダのための付加的な柔軟性を可能にし得る、適応分解能管理のプロセス300の例示的実施形態を図示する、プロセスフロー図である。
【0029】
ステップ305において、依然として
図3を参照すると、ビットストリームが、デコーダによって受信される。現在のブロックが、デコーダが受信するビットストリーム内に含有されてもよい。ビットストリームは、例えば、データ圧縮を使用するときのデコーダへの入力である、ビットのストリーム内に見出されるデータを含んでもよい。ビットストリームは、ビデオをデコードするために必要な情報を含んでもよい。受信することは、ビットストリームからブロックおよび関連付けられる信号伝達情報を抽出および/または解析することを含んでもよい。いくつかの実装では、現在のブロックは、コーディング木単位(CTU)、コーディング単位(CU)、および/または予測単位(PU)を含んでもよい。
【0030】
ステップ310において、依然として
図3を参照すると、現在のフレームが、基準フレームとして使用されるために利用可能であるかどうかが、ビットストリームを使用して決定されてもよい。いくつかの実装では、現在のフレームが、基準フレームとして使用されるために利用可能であるかどうかを決定することは、上記に説明されるように、現在のフレームのタイプが、タイプIまたはタイプPであるかどうかを決定することを含む。非限定的実施例として、スライスヘッダにおいて、sh_slice_typeが、タイプIと、Pと、Bとの間のスライスのコーディングタイプを規定してもよい。現在のフレームのタイプが、ビットストリーム内で信号伝達されてもよい。いくつかの実装では、非限定的実施例として、現在のフレームは、タイル内のCTUのセットおよび/または整数個の連続するタイルのセットとして定義される、スライスを含んでもよい。
【0031】
依然として
図3を参照すると、ステップ315において、適応分解能管理モードが禁止されることを特徴付ける変数が、現在のフレームが、基準フレームとして使用されるために利用可能であることを決定することに応答して、設定されてもよい。いくつかの実装では、適応分解能管理モードと関連付けられるパラメータは、現在のフレームのピクチャヘッダ内に存在しない。非限定的実施例として、SPSが、ピクチャ空間分解能が、変化し得ることを規定する、1に等しい、sps_res_change_in_clvs_allowed_flagを信号伝達してもよい。スライスタイプに基づく無効化が、ピクチャタイプに基づいて、エンコーダにおいて信号伝達されてもよい。
【0032】
ステップ340において、さらに
図3を参照すると、現在のフレームのピクセルデータが、再構築されてもよい。適応分解能管理モードが、再構築の間に禁止されてもよい。ある実施形態では、現在のフレームが、基準フレームとして利用可能ではないことの決定が、ARMが、利用可能であることの決定につながり得る。例えば、SPSは、例えば、上記に説明されるように、ピクチャ空間分解能が、変化し得ることを規定する、1に等しい、sps_res_change_in_clvs_allowed_flagを信号伝達してもよい。
【0033】
図4は、本開示において説明されるようなフレームタイプに基づく適応分解能管理が可能である、例示的デコーダ400を図示する、システムブロック図である。デコーダ400は、エントロピデコーダプロセッサ404、逆量子化および逆変換プロセッサ408、デブロッキングフィルタ412、フレームバッファ416、運動補償プロセッサ420、および/またはイントラ予測プロセッサ424を含んでもよい。
【0034】
動作時、依然として
図4を参照すると、ビットストリーム428が、デコーダ400によって受信され、エントロピデコーダプロセッサ404に入力されてもよく、これは、ビットストリームの一部を量子化された係数にエントロピデコードしてもよい。量子化された係数は、逆量子化および逆変換プロセッサ408に提供されてもよく、これは、逆量子化および逆変換を実施し、残差信号を生成してもよく、これは、処理モードに従って、運動補償プロセッサ420またはイントラ予測プロセッサ424の出力に追加されてもよい。運動補償プロセッサ420およびイントラ予測プロセッサ424の出力は、以前にデコードされたブロックに基づくブロック予測を含んでもよい。予測および残差の合計が、デブロッキングフィルタ412によって処理され、フレームバッファ416内に記憶されてもよい。
【0035】
図5は、種々のユースケースにおけるビットレートの節約を可能にする、ビデオエンコーダおよび/またはデコーダのための付加的な柔軟性を可能にし得る、適応分解能管理を用いてビデオをエンコードする例示的プロセス500を図示する、プロセスフロー図である。ステップ505において、ビデオフレームが、例えば、ピクチャフレームをCTUおよびCUにパーティション化することを含み得る、木構造化マクロブロックパーティション化スキームを使用する、初期ブロックセグメント化を受けてもよい。
【0036】
ステップ510において、ブロックベースの適応分解能管理が、フレームまたはその一部の分解能スケーリングを含め、実施されてもよい。
【0037】
ステップ515において、ブロックが、エンコードされ、ビットストリーム内に含まれてもよい。エンコードすることは、例えば、インタ予測モードおよびイントラ予測モードを利用することを含んでもよい。
【0038】
図6は、本開示において説明されるようなフレームタイプに基づく適応分解能管理が可能である、例示的ビデオエンコーダ600を図示する、システムブロック図である。例示的ビデオエンコーダ600は、入力ビデオ604を受信してもよく、これは、最初に、木構造化マクロブロックパーティション化スキーム(例えば、四分木+二分木)等の処理スキームに従って、セグメント化または分割されてもよい。木構造化マクロブロックパーティション化スキームの実施例は、ピクチャフレームをコーディング木単位(CTU)と呼ばれる大きいブロック要素にパーティション化することを含んでもよい。いくつかの実装では、各CTUはさらに、コーディング単位(CU)と呼ばれる、いくつかのサブブロックに1回またはそれを上回る回数だけパーティション化されてもよい。本パーティション化の最終結果は、予測単位(PU)と呼ばれ得る、サブブロックの群を含んでもよい。変換単位(TU)もまた、利用されてもよい。
【0039】
依然として
図6を参照すると、例示的ビデオエンコーダ600は、イントラ予測プロセッサ608、大域的運動ベクトル候補を運動ベクトル候補リストに追加することを含め、運動ベクトル候補リストを構築することが可能である、インタ予測プロセッサとも称され得る、運動推定/補償プロセッサ612、変換/量子化プロセッサ616、逆量子化/逆変換プロセッサ620、ループ内フィルタ624、デコード済ピクチャバッファ628、および/またはエントロピコーディングプロセッサ632を含んでもよい。ビットストリームパラメータが、出力ビットストリーム636内での包含のために、エントロピコーディングプロセッサ632に入力されてもよい。
【0040】
動作時、継続して
図6を参照すると、入力ビデオ604のフレームのブロック毎に、イントラピクチャ予測を介して、または運動推定/補償を使用して、ブロックを処理するかどうかが、決定されてもよい。ブロックは、イントラ予測プロセッサ608または運動推定/補償プロセッサ612に提供されてもよい。ブロックが、イントラ予測を介して処理されるべきである場合、イントラ予測プロセッサ608は、処理を実施し、予測因子を出力してもよい。ブロックが、運動推定/補償を介して処理されるべきである場合、運動推定/補償プロセッサ612は、適用可能である場合、大域的運動ベクトル候補を運動ベクトル候補リストに追加することを含め、運動ベクトル候補リストを構築することを含む、処理を実施してもよい。
【0041】
さらに
図6を参照すると、残差が、入力ビデオから予測因子を減算することによって形成されてもよい。残差は、変換/量子化プロセッサ616によって受信されてもよく、これは、変換処理(例えば、離散コサイン変換(DCT))を実施し、量子化され得る、係数を生産してもよい。量子化された係数および任意の関連付けられる信号伝達情報が、出力ビットストリーム636内でのエントロピエンコーディングおよび包含のために、エントロピコーディングプロセッサ632に提供されてもよい。エントロピエンコーディングプロセッサ632は、現在のブロックをエンコードすることに関連する信号伝達情報のエンコーディングを支援してもよい。加えて、量子化された係数は、予測因子と組み合わせられ、ループ内フィルタ624によって処理され得るピクセルを再現し得る、逆量子化/逆変換プロセッサ620に提供されてもよく、その出力は、大域的運動ベクトル候補を運動ベクトル候補リストに追加することを含め、運動ベクトル候補リストを構築することが可能である、運動推定/補償プロセッサ612による使用のために、デコード済ピクチャバッファ628内に記憶されてもよい。
【0042】
図6を継続して参照すると、いくつかの変形例が、上記に詳細に説明されているが、他の修正または追加も、可能性として考えられる。例えば、いくつかの実装では、現在のブロックは、任意の対称ブロック(8×8、16×16、32×32、64×64、128×128、および同等物)および任意の非対称ブロック(8×4、16×8、および同等物)を含んでもよい。
【0043】
いくつかの実装では、依然として
図6を参照すると、四分木+二分決定木(QTBT)が、実装されてもよい。QTBTでは、コーディング木単位レベルにおいて、QTBTのパーティションパラメータが、いかなるオーバーヘッドも伝送することなく、ローカル特性に適合するように動的に導出されてもよい。続いて、コーディング単位レベルにおいて、ジョイント分類子決定木構造が、不必要な反復を排除し、誤った予測のリスクを制御してもよい。いくつかの実装では、LTRフレームブロック更新モードが、QTBTの葉ノード毎の利用可能な付加的選択肢として、利用可能であってもよい。
【0044】
いくつかの実装では、依然として
図6を参照すると、付加的な構文要素が、ビットストリームの異なる階層レベルにおいて信号伝達されてもよい。例えば、フラグが、シーケンスパラメータセット(SPS)内にコーディングされるイネーブルにされたフラグを含むことによって、シーケンス全体にわたってイネーブルにされてもよい。さらに、CTUフラグが、コーディング木単位(CTU)レベルにおいてコーディングされてもよい。
【0045】
いくつかの実施形態は、1つまたはそれを上回るコンピューティングシステムの1つまたはそれを上回るデータプロセッサによって実行されると、少なくとも1つのデータプロセッサに本明細書における動作を実施させる命令を記憶する、非一過性コンピュータプログラム製品(すなわち、物理的に具現化されたコンピュータプログラム製品)を含んでもよい。
【0046】
本明細書に開示されるいくつかの実施形態では、デコーダは、ビットストリームを受信し、ビットストリームを使用して、現在のフレームに関して、現在のフレームが、基準フレームとして使用されるために利用可能であるかどうかを決定し、現在のフレームが、基準フレームとして使用されるために利用可能であることを決定することに応答して、適応分解能管理モードが禁止されることを特徴付ける変数を設定し、現在のフレームのピクセルデータを再構築することであって、適応分解能管理モードが、禁止される、ことを行うように構成される、回路網を含んでもよい。
【0047】
いくつかの実施形態では、現在のフレームが、基準フレームとして使用されるために利用可能であるかどうかを決定することは、現在のフレームのタイプが、タイプIであるかどうかを決定することを含んでもよい。現在のフレームが、基準フレームとして使用されるために利用可能であるかどうかを決定することは、現在のフレームのタイプが、タイプPであるかどうかを決定することを含んでもよい。現在のフレームのタイプが、ビットストリーム内で信号伝達されてもよい。現在のフレームは、スライスであってもよい。適応分解能管理モードと関連付けられるパラメータが、現在のフレームのピクチャヘッダ内に存在していなくてもよい。デコーダはさらに、ビットストリームから、現在のブロックをデコードするように構成されてもよい。現在のブロックは、コーディング木単位を含んでもよい。現在のブロックは、予測単位を含んでもよい。デコーダは、ビットストリームを受信し、ビットストリームを量子化された係数にデコードするように構成される、エントロピデコーダプロセッサと、逆離散コサインを実施することを含む、量子化された係数を処理するように構成される、逆量子化および逆変換プロセッサと、デブロッキングフィルタと、フレームバッファと、イントラ予測プロセッサとを含んでもよい。
【0048】
本明細書に開示される実施形態は、ビットストリームを受信することと、ビットストリームを使用して、現在のフレームに関して、現在のフレームが、基準フレームとして使用されるために利用可能であるかどうかを決定することと、現在のフレームが、基準フレームとして使用されるために利用可能であることを決定することに応答して、適応分解能管理モードが禁止されることを特徴付ける変数を設定することと、現在のフレームのピクセルデータを再構築することであって、適応分解能管理モードが、禁止される、こととを含む、方法を含む。
【0049】
いくつかの実施形態では、現在のフレームが、基準フレームとして使用されるために利用可能であるかどうかを決定することは、現在のフレームのタイプが、タイプIであるかどうかを決定することを含んでもよい。現在のフレームが、基準フレームとして使用されるために利用可能であるかどうかを決定することは、現在のフレームのタイプが、タイプPであるかどうかを決定することを含む。現在のフレームのタイプが、ビットストリーム内で信号伝達されてもよい。現在のフレームは、スライスであってもよい。適応分解能管理モードと関連付けられるパラメータが、現在のフレームのピクチャヘッダ内に存在していなくてもよい。本方法は、ビットストリームから、現在のブロックをデコードすることを含んでもよい。現在のブロックは、コーディング木単位を含んでもよい。現在のブロックは、予測単位を含んでもよい。受信すること、決定すること、設定すること、および再構築することのうちの少なくとも1つが、ビットストリームを受信し、ビットストリームを量子化された係数にデコードするように構成される、エントロピデコーダプロセッサと、逆離散コサインを実施することを含む、量子化された係数を処理するように構成される、逆量子化および逆変換プロセッサと、デブロッキングフィルタと、フレームバッファと、イントラ予測プロセッサとを含む、デコーダによって実施されてもよい。
【0050】
本明細書に説明される側面および実施形態のうちの任意の1つまたはそれを上回るものが、コンピュータ技術分野の当業者に明白となるであろうように、本明細書の教示に従ってプログラムされる、1つまたはそれを上回る機械(例えば、電子文書のためのユーザコンピューティングデバイス、文書サーバ等の1つまたはそれを上回るサーバデバイス等として利用される、1つまたはそれを上回るコンピューティングデバイス)内に実現および/または実装されるような、デジタル電子回路網、集積回路網、特別に設計された特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせを使用して、便宜的に実装され得ることに留意されたい。これらの種々の側面または特徴は、データおよび命令を、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスから受信し、データおよび命令をそれらに伝送するように結合される、特殊目的または汎用目的であり得る、少なくとも1つのプログラマブルプロセッサを含む、プログラマブルシステム上で実行可能および/または解釈可能である、1つまたはそれを上回るコンピュータプログラムおよび/またはソフトウェア内での実装を含んでもよい。適切なソフトウェアコーディングが、ソフトウェア技術分野の当業者に明白となるであろうように、本開示の教示に基づいて、熟練したプログラマによって容易に調製され得る。ソフトウェアおよび/またはソフトウェアモジュールを採用する、上記に議論される側面および実装もまた、ソフトウェアおよび/またはソフトウェアモジュールの機械実行可能命令の実装を補助するために適切なハードウェアを含んでもよい。
【0051】
そのようなソフトウェアは、機械可読記憶媒体を採用する、コンピュータプログラム製品であってもよい。機械可読記憶媒体は、機械(例えば、コンピューティングデバイス)による実行のための命令のシーケンスを記憶および/またはエンコードすることが可能であり、機械に本明細書に説明される方法論および/または実施形態のいずれか1つを実施させる、任意の媒体であってもよい。機械可読記憶媒体の実施例は、限定ではないが、磁気ディスク、光ディスク(例えば、CD、CD-R、DVD、DVD-R等)、光磁気ディスク、読取専用メモリ「ROM」デバイス、ランダムアクセスメモリ「RAM」デバイス、磁気カード、光学カード、ソリッドステートメモリデバイス、EPROM、EEPROM、プログラマブル論理デバイス(PLD)、および/またはそれらの任意の組み合わせを含む。機械可読媒体は、本明細書で使用されるように、単一の媒体、および、例えば、コンピュータメモリとの組み合わせにおける、コンパクトディスクまたは1つまたはそれを上回るハードディスクドライブの集合等の、物理的に別個の媒体の集合を含むことを意図する。本明細書で使用されるように、機械可読記憶媒体は、信号伝送の一過性形態を含まない。
【0052】
そのようなソフトウェアはまた、搬送波等のデータキャリア上のデータ信号として搬送される情報(例えば、データ)を含んでもよい。例えば、機械実行可能情報は、信号が、機械(例えば、コンピューティングデバイス)による実行のために命令のシーケンスまたはその一部をエンコードする、データキャリアの中に具現化されるデータ搬送信号、および機械に本明細書に説明される方法論および/または実施形態のいずれか1つを実施させる、任意の関連する情報(例えば、データ構造およびデータ)として含まれてもよい。
【0053】
コンピューティングデバイスの実施例は、限定ではないが、電子書籍読取デバイス、コンピュータワークステーション、端末コンピュータ、サーバコンピュータ、ハンドヘルドデバイス(例えば、タブレット型コンピュータ、スマートフォン等)、ウェブ装置、ネットワークルータ、ネットワークスイッチ、ネットワークブリッジ、その機械およびそれらの任意の組み合わせによってとられるべきアクションを規定する命令のシーケンスを実行することが可能である、任意の機械を含む。一実施例では、コンピューティングデバイスは、キオスクを含む、および/またはその中に含まれてもよい。
【0054】
図7は、制御システムに本開示の側面および/または方法論のうちのいずれか1つまたはそれを上回るものを実施させるための命令のセットが実行され得る、コンピュータシステム700の例示的形態におけるコンピューティングデバイスの一実施形態の図式表現を示す。また、複数のコンピューティングデバイスが、本デバイスのうちの1つまたはそれを上回るものに、本開示の側面および/または方法論のうちのいずれか1つまたはそれを上回るものを実施させるための命令の特別に構成されるセットを実装するために利用され得ることも、想定される。コンピュータシステム700は、バス712を介して相互および他のコンポーネントと通信する、プロセッサ704と、メモリ708とを含む。バス712は、限定ではないが、種々のバスアーキテクチャのうちのいずれかを使用する、メモリバス、メモリコントローラ、周辺機器用バス、ローカルバス、およびそれらの任意の組み合わせを含む、いくつかのタイプのバス構造のうちのいずれかを含んでもよい。
【0055】
メモリ708は、限定ではないが、ランダムアクセスメモリコンポーネント、読取専用コンポーネント、およびそれらの任意の組み合わせを含む、種々のコンポーネント(例えば、機械可読媒体)を含んでもよい。一実施例では、立ち上げの間等にコンピュータシステム700内の要素の間で情報を転送することに役立つ基本ルーチンを含む、基本入力/出力システム716(BIOS)が、メモリ708内に記憶されてもよい。メモリ708はまた、本開示の側面および/または方法論のうちのいずれか1つまたはそれを上回るものを具現化する、命令(例えば、ソフトウェア)720を含んで(例えば、1つまたはそれを上回る機械可読媒体上に記憶されて)もよい。別の実施例では、メモリ708はさらに、限定ではないが、オペレーティングシステム、1つまたはそれを上回るアプリケーションプログラム、他のプログラムモジュール、プログラムデータ、およびそれらの任意の組み合わせを含む、任意の数のプログラムモジュールを含んでもよい。
【0056】
コンピュータシステム700はまた、記憶デバイス724を含んでもよい。記憶デバイス(例えば、記憶デバイス724)の実施例は、限定ではないが、ハードディスクドライブ、磁気ディスクドライブ、光学媒体との組み合わせにおける、光ディスクドライブ、ソリッドステートメモリデバイス、およびそれらの任意の組み合わせを含む。記憶デバイス724は、適切なインターフェース(図示せず)によってバス712に接続されてもよい。例示的インターフェースは、限定ではないが、SCSI、アドバンスト・テクノロジー・アタッチメント(ATA)、シリアルATA、ユニバーサルシリアルバス(USB)、IEEE 1394(FIREWIRE(登録商標))、およびそれらの任意の組み合わせを含む。一実施例では、記憶デバイス724(または1つまたはそれを上回るそのコンポーネント)は、(例えば、外部ポートコネクタ(図示せず)を介して)コンピュータシステム700と除去可能にインターフェースをとられてもよい。特に、記憶デバイス724および関連付けられる機械可読媒体728は、コンピュータシステム700のための機械可読命令、データ構造、プログラムモジュール、および/または他のデータの不揮発性および/または揮発性記憶装置を提供してもよい。一実施例では、ソフトウェア720は、完全または部分的に、機械可読媒体728内に常駐してもよい。別の実施例では、ソフトウェア720は、完全または部分的に、プロセッサ704内に常駐してもよい。
【0057】
コンピュータシステム700はまた、入力デバイス732を含んでもよい。一実施例では、コンピュータシステム700のユーザが、入力デバイス732を介してコンピュータシステム700の中にコマンドおよび/または他の情報を打ち込んでもよい。入力デバイス732の実施例は、限定ではないが、英数字入力デバイス(例えば、キーボード)、ポインティングデバイス、ジョイスティック、ゲームパッド、オーディオ入力デバイス(例えば、マイクロホン、音声応答システム等)、カーソル制御デバイス(例えば、マウス)、タッチパッド、光学スキャナ、ビデオ捕捉デバイス(例えば、静止カメラ、ビデオカメラ)、タッチスクリーン、およびそれらの任意の組み合わせを含む。入力デバイス732は、限定ではないが、シリアルインターフェース、パラレルインターフェース、ゲームポート、USBインターフェース、FIREWIRE(登録商標)インターフェース、バス712への直接的インターフェース、およびそれらの任意の組み合わせを含む、種々のインターフェース(図示せず)のうちのいずれかを介して、バス712にインターフェースをとられてもよい。入力デバイス732は、さらに下記に議論される、ディスプレイ736の一部である、またはそれと別個であり得る、タッチスクリーンインターフェースを含んでもよい。入力デバイス732は、上記に説明されるようなグラフィカルインターフェース内で1つまたはそれを上回るグラフィック表現を選択するための、ユーザ選択デバイスとして利用されてもよい。
【0058】
ユーザはまた、記憶デバイス724(例えば、リムーバブルディスクドライブ、フラッシュドライブ等)および/またはネットワークインターフェースデバイス740を介してコマンドおよび/または他の情報をコンピュータシステム700に入力してもよい。ネットワークインターフェースデバイス740等のネットワークインターフェースデバイスは、ネットワーク744等の種々のネットワークのうちの1つまたはそれを上回るもの、およびそれに接続される1つまたはそれを上回る遠隔デバイス748にコンピュータシステム700を接続するために利用されてもよい。ネットワークインターフェースデバイスの実施例は、限定ではないが、ネットワークインターフェースカード(例えば、モバイルネットワークインターフェースカード、LANカード)、モデム、およびそれらの任意の組み合わせを含む。ネットワークの実施例は、限定ではないが、広域ネットワーク(例えば、インターネット、企業ネットワーク)、ローカルエリアネットワーク(例えば、オフィス、ビル、キャンパス、または他の比較的に小さい地理的空間と関連付けられるネットワーク)、電話ネットワーク、電話/音声プロバイダと関連付けられるデータネットワーク(例えば、モバイル通信プロバイダのデータおよび/または音声ネットワーク)、2つのコンピューティングデバイス間の直接的接続、およびそれらの任意の組み合わせを含む。ネットワーク744等のネットワークは、通信の有線モードおよび/または無線のモードを採用してもよい。一般に、いかなるネットワークトポロジも、使用され得る。情報(例えば、データ、ソフトウェア720等)が、ネットワークインターフェースデバイス740を介してコンピュータシステム700に、および/またはそれから通信されてもよい。
【0059】
コンピュータシステム700はさらに、ディスプレイデバイス736等のディスプレイデバイスに表示可能な画像を通信するための、ビデオディスプレイアダプタ752を含んでもよい。ディスプレイデバイスの実施例は、限定ではないが、液晶ディスプレイ(LCD)、陰極線管(CRT)、プラズマディスプレイ、発光ダイオード(LED)ディスプレイ、およびそれらの任意の組み合わせを含む。ディスプレイアダプタ752およびディスプレイデバイス736は、プロセッサ704との組み合わせにおいて利用され、本開示の側面のグラフィック表現を提供してもよい。ディスプレイデバイスに加えて、コンピュータシステム700は、限定ではないが、オーディオスピーカ、プリンタ、およびそれらの任意の組み合わせを含む、1つまたはそれを上回る他の周辺出力デバイスを含んでもよい。そのような周辺出力デバイスは、周辺インターフェース756を介してバス712に接続されてもよい。周辺インターフェースの実施例は、限定ではないが、シリアルポート、USB接続、FIREWIRE(登録商標)接続、パラレル接続、およびそれらの任意の組み合わせを含む。
【0060】
前述は、本発明の例証的実施形態の詳細な説明である。種々の修正および追加が、本発明の精神および範囲から逸脱することなく成され得る。上記に説明される種々の実施形態のそれぞれの特徴が、関連付けられる新しい実施形態における複数の特徴の組み合わせを提供するために、適宜、他の説明される実施形態の特徴と組み合わせられ得る。さらに、前述は、いくつかの別個の実施形態を説明するが、本明細書に説明されているものは、本発明の原理の適用を例証するにすぎない。加えて、本明細書における特定の方法は、具体的な順序で実施されているものとして例証および/または説明され得るが、順序は、本明細書に開示されるような実施形態を達成するために、当業者間で非常に変動し易い。故に、本説明は、実施例のみとして捉えられることを意図し、別様に本発明の範囲を限定するようには意図していない。
【0061】
上記の説明において、および請求項において、「~のうちの少なくとも1つ」または「~のうちの1つまたはそれを上回るもの」等の語句が、生じ、要素または特徴の接続的列挙が後に続き得る。用語「および/または」もまた、2つまたはそれを上回る要素または特徴の列挙内に生じ得る。そのような語句が使用される文脈によって別様に暗示的または明示的に反論されない限り、これは、個々に列挙される要素または特徴のいずれか、または他の引用される要素または特徴のいずれかとの組み合わせにおいて引用される要素または特徴のいずれかを意味することを意図している。例えば、語句「AおよびBのうちの少なくとも一方」、「AおよびBのうちの一方またはそれを上回るもの」、および「Aおよび/またはB」は、それぞれ、「Aを単独で、Bを単独で、またはAおよびBをともに」を意味することを意図している。類似の解釈がまた、3つまたはそれを上回るアイテムを含む列挙に関しても意図される。例えば、語句「A、B、およびCのうちの少なくとも1つ」、「A、B、およびCのうちの1つまたはそれを上回るもの」、および「A、B、および/またはC」はそれぞれ、「Aを単独で、Bを単独で、Cを単独で、AおよびBをともに、AおよびCをともに、BおよびCをともに、またはAおよびBおよびCをともに」を意味することを意図する。加えて、上記における、および請求項内での用語「~に基づいて」の使用は、引用されていない特徴または要素もまた、許容可能であるように、「少なくとも、~に基づいて」を意味することを意図する。
【0062】
本明細書に説明される主題は、所望の構成に応じて、システム、装置、方法、および/または物品において具現化されることができる。前述の説明に記載される実装は、本明細書に説明される主題に一貫した全実装を表すわけではない。代わりに、それらは、説明される主題に関連する側面に一貫するいくつかの実施例にすぎない。いくつかの変形例が、上記で詳細に説明されているが、他の修正または追加も、可能性として考えられる。特に、さらなる特徴および/または変形例が、本明細書に記載されるものに加えて、提供されることができる。例えば、上記で説明される実装は、開示される特徴の種々の組み合わせおよび副次的組み合わせおよび/または上記に開示される、いくつかのさらなる特徴の組み合わせおよび副次的組み合わせを対象とすることができる。加えて、付随の図に描写される、および/または本明細書に説明される論理フローは、望ましい結果を達成するために、必ずしも、示される特定の順序または順次順序を要求しない。他の実装も、以下の請求項の範囲内にあり得る。