(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-26
(45)【発行日】2024-03-05
(54)【発明の名称】没入型のメディア処理におけるランク情報
(51)【国際特許分類】
H04N 19/597 20140101AFI20240227BHJP
H04N 21/84 20110101ALI20240227BHJP
H04N 21/234 20110101ALI20240227BHJP
H04N 19/70 20140101ALI20240227BHJP
H04N 19/46 20140101ALI20240227BHJP
【FI】
H04N19/597
H04N21/84
H04N21/234
H04N19/70
H04N19/46
(21)【出願番号】P 2022543081
(86)(22)【出願日】2020-04-10
(86)【国際出願番号】 CN2020084137
(87)【国際公開番号】W WO2021109397
(87)【国際公開日】2021-06-10
【審査請求日】2022-07-14
(73)【特許権者】
【識別番号】511151662
【氏名又は名称】中興通訊股▲ふん▼有限公司
【氏名又は名称原語表記】ZTE CORPORATION
【住所又は居所原語表記】ZTE Plaza,Keji Road South,Hi-Tech Industrial Park,Nanshan Shenzhen,Guangdong 518057 China
(74)【代理人】
【識別番号】100078282
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】ウー, ジャオ
(72)【発明者】
【氏名】ウー, ピン
【審査官】田部井 和彦
(56)【参考文献】
【文献】米国特許出願公開第2020/0112710(US,A1)
【文献】特開2019-024197(JP,A)
【文献】特開2016-105593(JP,A)
【文献】Hyun Mook Oh et al.,Region wise quality indication SEI message [online],JCTVC-AA0030,インターネット <URL: http://phenix.it-sudparis.eu/jct/doc_end_user/documents/27_Hobart/wg11/JCTVC-AA0030-v2.zip>,2017年04月02日
【文献】Minh Nguyen et al.,An Adaptive Streaming Method of 360 Videos over HTTP/2 Protocol [online],Published in: 2017 4th NAFOSTED Conference on Information and Computer Science,2017年11月16日,pp.302-307,インターネット <URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8108082>,DOI: 10.1109/NAFOSTED.2017.8108082
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/597
H04N 19/70
H04N 19/46
H04N 21/84
H04N 21/234
(57)【特許請求の範囲】
【請求項1】
マルチメディアコンテンツを処理するための方法であって、
複数のセグメントを備えるパノラマメディアコンテンツの
第1のフレーム
と前記パノラマメディアコンテンツのビットストリーム表現との間の変換のために、前記
第1のフレーム
に関連付けられ
ているランク情報の複数のセットを決定することであって、前記ランク情報の各セットは、少なくとも、前記パノラマメディアコンテンツの
前記第1のフレームの
1つのセグメントを処理するための優先順位レベル
または品質レベル
またはストリーム切替を示す、ことと、
前記第1のフレームに後続する前記パノラマメディアコンテンツの第2のフレームと前記ビットストリーム表現との間の変換のために、前記パノラマメディアコンテンツの前記第2のフレームに関連付けられているランク情報の複数の付加的セットを決定することであって、前記第2のフレームに関連付けられている前記ランク情報の複数の付加的セットは、前記第1のフレームに関連付けられている前記ランク情報の複数のセットに対する値を備える、ことと、
前記ランク情報の複数のセットに基づいて、前記変換を
実行することと
を含む、方法。
【請求項2】
前記ランク情報の複数のセットの各セットは、前記パノラマメディアコンテンツの対応する
1つのセグメントを処理するための優先順位レベルを示す整数を含む、請求項1に記載の方法。
【請求項3】
少なくとも1つのセグメント
が、前記
第1のフレーム内の別のセグメントと
は異なるサイズを有する、請求項
2に記載の方法。
【請求項4】
前記少なくとも1つのセグメントは、非矩形形状を有する、請求項3に記載の方法。
【請求項5】
前記ビットストリーム表現は、前記ランク情報の複数のセットの数を示すパラメータを備える、請求項
2~4のうちのいずれか1項に記載の方法。
【請求項6】
前記ランク情報の各セットは、前記対応する
1つのセグメントの寸法を示す1つ
以上のパラメータを備える、請求項
2~5のうちのいずれか1項に記載の方法。
【請求項7】
前記
第1のフレーム内の少なくとも1つのセグメント
が、ランク情報の対応するセットを欠いている、請求項1
~6のうちのいずれか1項に記載の方法。
【請求項8】
前記ビットストリーム表現は、前記ランク情報の複数のセットが前記
第1のフレームに適用可能であるときを示すタイミング情報を備える、請求項1
~7のうちのいずれか1項に記載の方法。
【請求項9】
前記ビットストリーム表現は、前記ランク情報の複数のセットが前記
第1のフレームに適用可能である
1つ以上の視点を示す視点情報を備える、請求項1
~7のうちのいずれか1項に記載の方法。
【請求項10】
第1の優先順位レベルが第2の優先順位レベルより高い値を有する場合には、前記第1の優先順位レベルに対応する第1のセグメントは、
前記第2の優先順位レベルに対応する第2のセグメントに先立って処理される、請求項1
~9のうちのいずれか1項に記載の方法。
【請求項11】
前記
複数のセグメントのサブセットのみが、前記変換のために処理され、前記
複数のセグメントの
前記サブセットの優先順位レベルは、所定の閾値に等しいかまたは
前記所定の閾値よりも大きい値を有する、請求項1
~10のうちのいずれか1項に記載の方法。
【請求項12】
前記
複数のセグメントのサブセットのみが、前記変換のために処理され、前記
複数のセグメントの
前記サブセットの優先順位レベルは、前記
第1のフレーム内の前記
複数のセグメントの
前記サブセットの場所に基づいて、前記ビットストリーム表現内に含まれ
ている、請求項1
~10のうちのいずれか1項に記載の方法。
【請求項13】
前記複数のセグメントのうちの
1つのセグメントは、コーディングツリー単位、コーディングツリーブロック、タイル、マクロブロック、または
、サブピクチャを備え、前記ランク情報の複数のセットは、前記ビットストリーム表現内の補足強化情報またはビデオ可用性情報
において表される、請求項1
~12のうちのいずれか1項に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本特許文書は、概して、マルチメディアコンテンツ処理を対象とする。
【背景技術】
【0002】
ユーザは、それが実在するかのように見えるような方法でコンテンツを体験することを好む。技術の進歩に伴って、没入型のメディアは、かつてないほどより現実的である、コンテンツをもたらす。没入型のメディアは、360度画像およびビデオ、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、およびウェアラブルおよびモノのインターネット(IoT)等の新興技術プラットフォームによって駆動される、非従来的フォーマットを含む。
【発明の概要】
【課題を解決するための手段】
【0003】
本特許文書は、とりわけ、没入型のメディアのための、帯域幅消費を低減させながら、一貫した視認体験をユーザに提供する、技法を説明する。
【0004】
一例示的側面では、マルチメディアコンテンツを処理するための方法は、複数のセグメントを備えるパノラマメディアコンテンツのフレームと、パノラマメディアコンテンツのフレームのビットストリーム表現との間の変換のために、フレームと関連付けられるランク情報の複数のセットを決定することを含む。ランク情報の各セットは、少なくとも、パノラマメディアコンテンツのフレームのセグメントを処理するための優先順位レベル、品質レベル、またはストリーム切替を示す。本方法はまた、複数のランクパラメータに基づいて、変換を実施することを含む。
【0005】
別の例示的側面では、マルチメディアシステム内の装置が、開示される。本装置は、上記に説明される方法を実装するように構成される、プロセッサを含む。
【0006】
さらに別の例示的側面では、コンピュータプログラム記憶媒体が、開示される。コンピュータプログラム記憶媒体は、その上に記憶されたコードを含む。コードは、プロセッサによって実行されると、プロセッサに説明される方法を実装させる。
【0007】
これらおよび他の側面が、本書に説明される。
本発明は、例えば、以下を提供する。
(項目1)
マルチメディアコンテンツを処理するための方法であって、
複数のセグメントを備えるパノラマメディアコンテンツのフレームと、上記パノラマメディアコンテンツのビットストリーム表現との間の変換のために、上記フレームと関連付けられるランク情報の複数のセットを決定することであって、上記ランク情報の各セットは、少なくとも、上記パノラマメディアコンテンツのフレームのセグメントを処理するための優先順位レベル、品質レベル、またはストリーム切替を示す、ことと、
上記複数のランクパラメータに基づいて、上記変換を実施することと
を含む、方法。
(項目2)
上記ランク情報の各セットは、上記パノラマメディアコンテンツの対応するセグメントを処理するための優先順位レベルを示す整数を含む、項目1に記載の方法。
(項目3)
上記ランク情報の複数のセットは、上記パノラマメディアコンテンツの複数のセグメントを処理するための優先順位レベルを示す連続または非連続整数を備える、項目2に記載の方法。
(項目4)
上記ランク情報の各セットは、上記パノラマメディアコンテンツの対応するセグメントのための優先順位レベルを示す1つまたはそれを上回る文字を含む、項目1に記載の方法。
(項目5)
上記フレーム内の上記複数のセグメントは、等しくサイズ決定される、項目1-4のうちのいずれか1つまたはそれを上回る項に記載の方法。
(項目6)
上記複数のセグメントは、矩形形状を有する、項目5に記載の方法。
(項目7)
少なくとも1つのセグメントは、上記フレーム内の別のセグメントと異なるサイズを有する、項目1-6のうちのいずれか1つまたはそれを上回る項に記載の方法。
(項目8)
上記少なくとも1つのセグメントは、非矩形形状を有する、項目7に記載の方法。
(項目9)
上記ビットストリーム表現は、上記ランク情報の複数のセットの数を示すパラメータを備える、項目1-8のうちのいずれか1つまたはそれを上回る項に記載の方法。
(項目10)
上記ランク情報の各セットは、上記対応するセグメントの寸法を示す1つまたはそれを上回るパラメータを備える、項目1-9のうちのいずれか1つまたはそれを上回る項に記載の方法。
(項目11)
上記フレーム内の少なくとも1つのセグメントは、ランク情報の対応するセットを欠いている、項目1-10のうちのいずれか1つまたはそれを上回る項に記載の方法。
(項目12)
上記ビットストリーム表現は、上記ランク情報の複数のセットが上記フレームに適用可能であるときを示すタイミング情報を備える、項目1-11のうちのいずれか1つまたはそれを上回る項に記載の方法。
(項目13)
上記ビットストリーム表現は、上記ランク情報の複数のセットが上記フレームに適用可能である1つまたはそれを上回る視点を示す視点情報を備える、項目1-11のうちのいずれか1つまたはそれを上回る項に記載の方法。
(項目14)
第1の優先順位レベルに対応する第1のセグメントは、上記第1の優先順位レベルが第2の優先順位レベルより高い値を有する場合、第2の優先順位レベルに対応する第2のセグメントに先立って処理される、項目1-13のうちのいずれか1つまたはそれを上回る項に記載の方法。
(項目15)
上記セグメントのサブセットのみが、上記変換のために処理され、上記セグメントのサブセットの優先順位レベルは、所定の閾値に等しいかまたはそれを上回る値を有する、項目1-14のうちのいずれか1つまたはそれを上回る項に記載の方法。
(項目16)
上記セグメントのサブセットのみが、上記変換のために処理され、上記セグメントのサブセットの優先順位レベルは、上記フレーム内の上記セグメントのサブセットの場所に基づいて、上記ビットストリーム表現内に含まれる、項目1-14のうちのいずれか1つまたはそれを上回る項に記載の方法。
(項目17)
上記ランク情報の各セットは、対応するセグメント内の複数のサブセグメントに関するランク情報を備える、項目1-16のうちのいずれか1つまたはそれを上回る項に記載の方法。
(項目18)
パノラマメディアコンテンツの後続フレームと上記ビットストリーム表現との間の変換のために、上記パノラマメディアコンテンツの後続フレームと関連付けられるランク情報の付加的セットを決定すること
をさらに含む、項目1-17のうちのいずれか1つまたはそれを上回る項に記載の方法。
(項目19)
上記後続フレームと関連付けられる上記ランク情報の付加的セットは、フレームと関連付けられる上記ランク情報の複数のセットに対する値を備える、項目18に記載の方法。
(項目20)
フレームと関連付けられる上記ランク情報の複数のセットのうちの少なくとも1つは、上記パノラマメディアコンテンツの後続フレームに適用可能である、項目18に記載の方法。
(項目21)
領域は、コーディングツリー単位、コーディングツリーブロック、タイル、マクロブロック、またはサブピクチャを備える、項目1-20のうちのいずれか1つまたはそれを上回る項に記載の方法。
(項目22)
上記ランク情報の複数のセットは、上記ビットストリーム表現内の補足強化情報またはビデオ可用性情報に表される、項目1-21のうちのいずれか1つまたはそれを上回る項に記載の方法。
(項目23)
上記パノラマメディアコンテンツの上記ビットストリーム表現は、ISO/IEC14496に従ってフォーマット化される、項目1-22のうちのいずれか1つまたはそれを上回る項に記載の方法。
(項目24)
上記変換を実施することは、上記ビデオの現在のブロックに基づいて、上記ビットストリーム表現を生成することを含む、項目1-23のうちのいずれか1つまたはそれを上回る項に記載の方法。
(項目25)
上記変換を実施することは、上記ビデオの現在のブロックを上記ビットストリーム表現から生成することを含む、項目1-23のうちのいずれか1つまたはそれを上回る項に記載の方法。
(項目26)
プロセッサとその上に命令を伴う非一過性メモリとを備えるマルチメディアシステム内の装置であって、上記命令は、上記プロセッサによる実行に応じて、上記プロセッサに、項目1-25のいずれか1項に記載の方法を実装させる、装置。
(項目27)
非一過性コンピュータ可読媒体上に記憶されるコンピュータプログラム製品であって、上記コンピュータプログラムは、項目1-25のいずれか1項に記載の方法を行うためのプログラムコードを含む、コンピュータプログラム製品。
【図面の簡単な説明】
【0008】
【
図1】
図1は、本技術による、マルチメディアコンテンツを処理するための方法のフローチャート表現である。
【0009】
【
図2】
図2は、本技術による、ランク情報を表す、異なる数値を伴う、例示的パノラマ画像を図示する。
【0010】
【
図3】
図3は、本技術による、ランク情報を表す、非連続整数値を伴う、例示的パノラマ画像を図示する。
【0011】
【
図4】
図4は、本技術による、ランク情報を表す、異なる文字を伴う、例示的パノラマ画像を図示する。
【0012】
【
図5】
図5は、本技術による、パノラマ画像の例示的非均一分割を図示する。
【0013】
【
図6】
図6は、本技術による、パノラマ画像の別の例示的非均一分割を図示する。
【0014】
【
図7A】
図7Aは、本技術による、対応するランク情報を有する、セグメントのサブセットを伴う、例示的パノラマ画像を図示する。
【0015】
【
図7B】
図7Bは、本技術による、対応するランク情報を有する、セグメントのサブセットを伴う、別の例示的パノラマ画像を図示する。
【0016】
【
図8】
図8は、本技術による、ランク情報の例示的カスケード表示される表現を図示する。
【0017】
【
図9】
図9は、本技術による、ビデオエンコーディング装置のある実施例のブロック図である。
【0018】
【
図10】
図10は、本技術による、ビデオデコーディング装置のある実施例のブロック図である。
【0019】
【
図11】
図11は、本明細書に説明される方法を実装するためのハードウェアプラットフォームのある実施形態のブロック図である。
【発明を実施するための形態】
【0020】
詳細な説明
節の見出しは、可読性を改良するためのみに本書で使用され、各節内の開示される実施形態および技法の範囲をその節のみに限定しない。開示される技法は、限定ではないが、高効率ビデオコーディング(HEVC)規格および多用途ビデオコーディング(VVC)規格を含む、種々の結像および/またはビデオ規格に適用可能である。
【0021】
没入型のメディアは、ユーザに没入型かつ完全に異なるメディア体験を与えるためのオーディオおよびビデオ等のマルチメディア技術の使用を指す。没入型のメディアコンテンツを鑑賞するとき、ユーザは、リアルタイムでメディアに参加することができる(例えば、仮想現実ヘッドセットを装着することによって)。没入型のメディアは、映画、ゲーム、ニュース、および/または医療治療等の多くの分野への拡張に成功している。没入型のメディアコンテンツは、従来のメディアコンテンツと異なる、すなわち、視覚的コンテンツは、大画像面積および広視野を被覆し、ユーザに、コンテンツを調整する際に、その独自の選好に基づいて、より多くの柔軟性を提供する、典型的360度パノラマ視覚データである。パノラマ視覚データは、同時に複数のカメラから収集されたデータを使用して、または平行移動および/または回転動作を通して、単一カメラからの複数の画像をスティッチングすることによって、構成されることができる。パノラマ視覚データはまた、人工的に合成されることができる(例えば、既存の従来および/またはパノラマ画像データに基づいて)。パノラマ視覚データは、マッピング後、360度球状または矩形画像(例えば、正距円筒投影画像)として表され得る。代替として、パノラマ視覚データは、マッピングおよび再配列後、矩形画像(例えば、キューブマップ投影画像)として表され得る。
【0022】
没入型のメディアコンテンツを表示することは、従来のメディアコンテンツと比較して、より高い帯域幅を要求する。帯域幅要件は、モバイルネットワークの高速発展を用いても、問題点のままである。したがって、合理的帯域幅使用量を維持しながら、没入型のメディアコンテンツを表示する、効果的方法を提供する必要性が残っている。
【0023】
本明細書に開示されるものは、非合理的帯域幅要件を通信システムに課さずに、高品質没入型のメディアコンテンツをユーザに提供するために、種々の実施形態において実装され得る、技法である。没入型のメディアコンテンツは、360度パノラマ視野をユーザに提供するが、ヒトの視覚の視野は、典型的には、任意の所与の時間において、120度以内である。さらに、ユーザは、狭い視野内の非常に具体的特徴に合焦することを所望し得る。したがって、均一な視覚的品質をパノラマコンテンツ全体を横断して維持する必要はない。パノラマメディアコンテンツの異なる領域またはセグメントは、ユーザ選好、場面の特性、および/または帯域幅配分を考慮するための優先順位のセットに従って、処理され、それによって、良好なユーザ体験を提供しながら、帯域幅消費を最小限にすることができる。本特許文書では、優先順位は、視覚的コンテンツのランク情報と称される。例えば、ユーザが、没入型のコンサートビデオを鑑賞するとき、ユーザの視点は、主に、ステージ上のパフォーマに合焦される。したがって、パフォーマを示す、コンテンツの一部は、より高いランクを与えられ、より高い視覚的品質をユーザに提供することができる一方、周辺ビューは、より低いランクを与えられる。ユーザの視点またはパフォーマの位置が、変化すると、メディアコンテンツは、適宜、ユーザの視認面積が、高優先順位を与えられ、それによって、一貫した視認体験を提供することを確実にするように調節されることができる。
【0024】
パノラマ視覚データの効率的処理を促進するために、ランク情報は、パノラマビデオコンテンツを表す、ビットストリーム内に、エンコーディングされることができる。より高い分解能ビデオの需要の増加は、現代の技術における普遍的画像およびビデオコーディング技法につながっている。例えば、ビデオコーデックは、解凍されたビデオを圧縮されたフォーマットにまたはその逆に変換する。ビデオ品質、ビデオを表すために使用されるデータの量(ビットレートによって決定される)、エンコーディングおよびデコーディングアルゴリズムの複雑性、データ損失および誤差に対する感度、編集の容易性、ランダムアクセス、およびエンドツーエンド遅延(待ち時間)間には、複雑な関係が存在する。圧縮されたフォーマットは、通常、標準的ビデオ圧縮仕様、例えば、ISO/IECベースのメディアファイルフォーマット、HEVC規格(H.265またはMPEG-H Part2としても知られる)、VVC規格(また、一時的に、H.266またはMPEG-I Part3とも命名される)、または他の現在および/または将来的ビデオコーディング規格に準拠する。コーディング規格の多くは、イントラ予測および/またはインター予測コーディング技法等を使用する、ハイブリッドコーディングを使用して、空間冗長性および時間的冗長性を排除する。すなわち、予測コーディング技法を使用してコーディングされた異なる領域は、相互に関連する。ビデオエンコーディングプロセスでは、エンコーダは、最初に、これらの領域をエンコーディングする前に、画像/フレームを1つまたはそれを上回る領域に分割する。並列処理を促進するために、領域は、独立してデコーディングされ得る、画像内の単位に対応する。領域は、H.264/AVC規格におけるスライスグループ、H.265/HEVC規格におけるタイル、H.266/VVC規格におけるサブピクチャ、矩形スライス、またはタイルであることができる。
【0025】
フレームの異なる領域および/またはセグメントは、異なるランクに従って、優先順位化され、最適ユーザ視認体験を確実にすることができる。
図1は、本技術による、マルチメディアコンテンツを処理するための方法100のフローチャート表現である。方法100は、動作110では、複数のセグメントを備えるパノラマメディアコンテンツのフレームと、パノラマメディアコンテンツのフレームのビットストリーム表現との間の変換のために、フレームと関連付けられるランク情報の複数のセットを決定することを含む。ランク情報の各セットは、少なくとも、パノラマメディアコンテンツのフレームのセグメントを処理するための優先順位レベル、品質レベル、またはストリーム切替を示す。方法100はまた、動作120では、複数のランクパラメータに基づいて、変換を実施することを含む。パノラマメディアコンテンツのフレームとビットストリーム表現との間の変換は、エンコーディングおよび/またはデコーディングプロセスを含む。エンコーディング時、ランク情報は、パノラマメディアコンテンツが、リアルタイムで、および/またはコンテンツの特性およびユーザ選好に従って、収集されるとき、ビットストリーム内にエンコーディングされることができる。
【0026】
いくつかの実施形態では、ランク情報の各セットは、パノラマメディアコンテンツの対応するセグメントを処理するための優先順位レベルを示す、整数を含む。いくつかの実施形態では、ランク情報の複数のセットは、パノラマメディアコンテンツの複数のセグメントを処理するための優先順位レベルを示す、連続整数を備える。いくつかの実施形態では、ランク情報の各セットは、パノラマメディアコンテンツの対応するセグメントのための優先順位レベルを示す、1つまたはそれを上回る文字を含む。
【0027】
いくつかの実施形態では、フレーム内の複数のセグメントは、等しくサイズ決定される。例えば、複数のセグメントは、矩形形状を有する。いくつかの実施形態では、少なくとも1つのセグメントは、フレーム内の別のセグメントと異なるサイズを有する。例えば、少なくとも1つのセグメントは、非矩形形状を有する。
【0028】
いくつかの実施形態では、ビットストリーム表現は、ランク情報の複数のセットの数を示す、パラメータを備える。いくつかの実施形態では、ランク情報の各セットは、対応するセグメントの寸法を示す、1つまたはそれを上回るパラメータを備える。いくつかの実施形態では、フレーム内の少なくとも1つのセグメントは、対応するランク情報のセットを欠いている。
【0029】
いくつかの実施形態では、ビットストリーム表現は、ランク情報の複数のセットがフレームに適用可能であるときを示す、タイミング情報を備える。いくつかの実施形態では、ビットストリーム表現は、ランク情報の複数のセットがフレームに適用可能である、1つまたはそれを上回る視点を示す、視点情報を備える。
【0030】
いくつかの実施形態では、第1の優先順位レベルに対応する、第1のセグメントは、第1の優先順位レベルが第2の優先順位レベルより高い値を有する場合、第2の優先順位レベルに対応する、第2のセグメントに先立って、処理される。いくつかの実施形態では、セグメントのサブセットのみが、変換のために処理される。セグメントのサブセットの優先順位レベルは、所定の閾値に等しいかまたはそれを上回る値を有することができる。いくつかの実施形態では、セグメントのサブセットの優先順位レベルは、フレーム内のセグメントのサブセットの場所に基づいて、ビットストリーム表現内に含まれる。いくつかの実施形態では、ランク情報の各セットは、対応するセグメント内の複数のサブセグメントに関するランク情報を備える。
【0031】
いくつかの実施形態では、本方法はまた、パノラマメディアコンテンツの後続フレームとビットストリーム表現との間の変換のために、パノラマメディアコンテンツの後続フレームと関連付けられる、ランク情報の付加的セットを決定することを含む。いくつかの実施形態では、後続フレームと関連付けられる、ランク情報の付加的セットは、フレームと関連付けられるランク情報の複数のセットに対する値を備える。いくつかの実施形態では、フレームと関連付けられるランク情報の複数のセットのうちの少なくとも1つは、パノラマメディアコンテンツの後続フレームに適用可能である。
【0032】
いくつかの実施形態では、領域は、コーディングツリー単位、コーディングツリーブロック、タイル、マクロブロック、またはサブピクチャを備える。いくつかの実施形態では、ランク情報の複数のセットは、ビットストリーム表現内の補足強化情報またはビデオ可用性情報に表される。いくつかの実施形態では、パノラマメディアコンテンツのビットストリーム表現は、ISO/IEC14496に従ってフォーマット化される。
【0033】
いくつかの実施形態では、変換を実施することは、ビデオの現在のブロックに基づいて、ビットストリーム表現を生成することを含む。いくつかの実施形態では、変換を実施することは、ビデオの現在のブロックをビットストリーム表現から生成することを含む。
【0034】
開示される技法のいくつかの実施例はさらに、以下の例示的実施形態に説明される。
【0035】
実施形態1
【0036】
ランク情報は、ビットストリーム内に異なる形態で表されることができる。いくつかの実施形態では、ランク情報は、1つまたはそれを上回る数値を使用して、表されることができる。
図2は、本技術による、ランク情報を表す、異なる数値を伴う、例示的パノラマ画像200を図示する。
図2では、パノラマ画像は、9つの矩形領域(またはセグメント)に分割される。各領域は、1~3の範囲内の値を割り当てられる。異なる値は、対応する領域に関する異なる画質レベルおよび/または異なる処理優先順位を表すことができる。例えば、1は、高画質を表し、2は、中画質を表し、3は、低画質を表す。別の実施例として、1は、最高処理優先順位を表し、対応する面積が、エンコーディング/デコーディングプロセスにおいて、最初に処理されることを示す。2は、中処理優先順位を表し、3は、最低処理優先順位を表す。
【0037】
いくつかの実施形態では、レベル情報の値は、異なる配向子のカットを表すことができる。例えば、1は、第1の配向子のカットを表し、2は、第2の配向子のカットを表す。ユーザは、異なるカットに対応する異なるレベル値を選択することによって、異なるピクチャを視認することができる。ビデオビットストリームを処理するとき、デコーダは、領域に関するランク情報を解析および決定することができる。デコーダは、次いで、ランク情報に基づいて、本領域の後続ビデオストリームを入手する。例えば、ユーザが、第1の配向子のカット(例えば、ランク値は、1である)を視認するように選定すると、デコーダは、時間Tにおけるビデオストリームを取得し、1のランク値に対応する、ストリームを入手し、第1の配向子のカットを示す。ユーザが、第2の配向子のクリップ(例えば、ランク値は、2である)を視認するように選定すると、デコーダは、時間Tにおけるビデオストリームを取得し、値2のランクに対応する、後続ストリームを入手し、第2の配向子のカットを示す。
【0038】
いくつかの実施形態では、ランク情報の値は、非連続整数であることができる。
図3は、本技術による、ランク情報を表す、非連続整数値を伴う、例示的パノラマ画像300を図示する。
図3に示されるように、非連続整数値23、26、および30が、パノラマ画像内の対応する領域に関する異なる品質および/または優先順位レベルを示すために使用される。
【0039】
いくつかの実施形態では、ランク情報は、1つまたはそれを上回る文字を使用して表される、場面特性を含むことができる。
図4は、本技術による、ランク情報を表す、異なる文字を伴う、例示的パノラマ画像400を図示する。
図4に示されるように、異なる文字は、関連付けられる面積の属性または場面特性を表すことができる。例えば、文字「P」は、人々を表し、対応する領域が、1人またはそれを上回る人々を示すことを示す。文字「C」は、車を表し、対応する領域が、1つまたはそれを上回る車を示すことを示す。同様に、文字「B」は、背景を表し、対応する領域が場面背景を表すことを示す。いくつかの実施形態では、複数の文字を備える、文字列もまた、使用されることができる。
【0040】
実施形態2
【0041】
パノラマ画像内の領域/セグメントは、異なるサイズおよび/または形状を有することができる。
図2-4に示されるように、いくつかの実施形態では、パノラマ画像は、複数の領域/セグメントに等しく分割されることができる。いくつかの実施形態では、パノラマ画像は、非均一に成形された領域に分割されることができる。
図5は、本技術による、パノラマ画像500の例示的非均一分割を図示する。本実施例では、領域/セグメントは、非均一にサイズ決定された矩形面積である。
図6は、本技術による、パノラマ画像600の別の例示的非均一分割を図示する。本実施例では、領域/セグメントは、非矩形形状を有する。セグメントのうちの少なくとも1つは、パノラマ画像内の別のセグメントと異なるサイズおよび/または形状を有する。
【0042】
実施形態3
【0043】
上記に議論されるように、パノラマ画像の処理を促すために(例えば、デコーディング側において)、ランク情報が、ビットストリーム表現内にエンコーディングされ、付加的算出および/または処理時間を低減させることができる。ランク情報は、領域/セグメントに従って、編成されることができる。表1は、本技術による、ビットストリーム内のランク情報の例示的表現を示す。
【表1】
【0044】
ここでは、num_ranksは、ランク情報の数を示す。本値は、パノラマ画像内のセグメントの数と同一である。
【0045】
表2は、本技術による、ビットストリーム内のランク情報の別の例示的表現を示す。
【表2】
【0046】
ここでは、rank_cnt_minus1は、ランク情報の数(例えば、rank_cnt_minums1+1)を示す。本値は、パノラマ画像内のセグメントの数と同一である。
【0047】
表1および表2では、segment_top_left_x[i]は、パノラマ画像内のi番目のセグメントの左上ピクセルの水平座標を示す。segment_top_left_y[i]は、パノラマ画像内のi番目のセグメントの左上ピクセルの垂直座標を示す。segment_width[i]は、i番目のセグメントのピクセル幅を示す。segment_height[i]は、i番目のセグメントのピクセル高を示す。segment_rank[i]は、i番目のセグメントのランク値を示す。
【0048】
いくつかの実施形態では、セグメントの中心点の座標が、セグメントの左上点の座標の代わりに、セグメントの位置付け点として使用されることができる。いくつかの実施形態では、セグメントの座標および位置付け点は、例えば、360度球状パノラマ3D座標(方位角範囲、仰角範囲)に関して調節されることができる。
【0049】
本明細書に開示されるセグメントは、異なる規格に基づいて、異なるパーティション化単位と関連付けられることができる。例えば、セグメントは、HEVC/H.265規格におけるコーディングツリー単位(CTU)等のグリッド単位であることができる。HEVC/H.265規格では、コーディングツリーブロック(CTB)は、輝度および/または彩度サンプルのN×Nブロックであって、Nは、16、32、64等であることができる。CTUは、輝度CTBと、2つの彩度CTBとを含み、独立コーディング単位である。VVC/H.265におけるCTUは、HEVC/H.265におけるCTUの概念と一致し、また、独立コーディング単位である。グリッド単位はまた、AVC/H.264規格におけるマクロブロックであることができる。マクロブロックは、その対応する彩度ブロックを伴う、16×16輝度ブロックである。マクロブロックは、AVC/H.264規格における独立コーディング単位である。
【0050】
異なる規格は、フレームをパーティション化する異なる方法を採用する。例えば、HEVC/H.265およびVVC/H.266規格では、パーティションは、タイルの形態で表されることができる。タイルは、画像をいくつかの矩形面積に水平および垂直方向から分割する。タイルは、ピクチャ内の特定のタイル列および特定のタイル行内のCTUの矩形領域である。1つまたはそれを上回るタイルは、画像のパーティションに対応し得る。HEVC/H.265規格では、パーティションはまた、スライスで表されることができる。1つまたはそれを上回るスライスは、パーティションに対応し、CTUの複数の行を含む。VVC/H.266規格では、パーティションは、ラスタ走査スライスの形態で表されることができる。1つまたはそれを上回るラスタ走査スライスは、パーティションに対応し、CTUの複数の行を含む。パーティションはまた、矩形スライスによって表され得る。1つまたはそれを上回る矩形スライスは、パーティションに対応し得る。パーティションはまた、サブピクチャによって表され得る。1つまたはそれを上回るサブピクチャは、パーティションに対応し得る。
【0051】
表3は、本技術による、ビットストリーム内のランク情報の別の例示的表現を示す。
【表3】
【0052】
表4は、本技術による、ビットストリーム内のランク情報の別の例示的表現を示す。
【表4】
【0053】
各セグメントのランク情報は、ある所定の様式(例えば、ジグザグ走査順序、昇順または降順)で配列されることができる。いくつかの実施形態では、ランク情報は、任意の順序において、ランダムに配列されることができる。
【0054】
いくつかの実施形態では、ランク情報は、セグメントの位置付け点および/またはサイズ等のセグメントについての具体的情報を除外することができる。表5は、本技術による、ビットストリーム内のランク情報の別の例示的表現を示す。表5に示されるように、セグメントについての具体的情報は、ランクマップ内に含まれない。表6は、本技術による、ビットストリーム内のランク情報のさらに別の例示的表現を示す。同様に、セグメントについての具体的情報は、含まれない。
【表5】
【表6】
【0055】
セグメントについての具体的情報は、ビットストリーム内に別個に位置付けられることができる(例えば、ランク情報に先立って)。いくつかの実施形態では、デフォルトセグメントが、そのような情報をビットストリーム内に含む必要性を排除するために使用されることができる。
【0056】
いくつかの実施形態では、ランク情報に対応する、セグメントは、VVC/H.266規格に定義されるようなサブピクチャであることができる。セグメント位置およびサイズ情報は、サブピクチャの位置およびサイズ情報である。それらの場合では、rank_cnt_minus1およびsps_num_subpics_minus1は、等しい。各segment_rank[i]およびsps_subpic_id[i]は、1対1の対応を有する。
【表7】
【0057】
いくつかの実施形態では、ランク情報に対応する、セグメントは、H.265/HEVC規格に定義されるような時間的動き制約タイルセット(MCTS)であることができる。表8は、本技術による、MCTSの一部として、ランク情報の例示的表現を示す。
【表8】
【0058】
実施形態4
【0059】
いくつかの実施形態では、ランク情報が、セグメントのサブセットに関する具体的情報のみを含む。例えば、表1および表2に示されるように、num_ranksは、パノラマ画像内のセグメントの総数より小さくあることができる。
図7Aは、本技術による、対応するランク情報を有する、セグメントのサブセットを伴う、例示的パノラマ画像700を図示する。
図7Aに示されるように、パノラマ画像の右下角における9つのみのセグメントが、対応するランク情報を有する。セグメントのサブセットは、相互に隣接する必要がないことに留意されたい。
図7Bは、本技術による、対応するランク情報を有する、セグメントのサブセットを伴う、別の例示的パノラマ画像750を図示する。
【0060】
いくつかの実施形態では、デフォルトランク値は、具体的ランク情報を有していない、残りのセグメントを処理するために使用されることができる。
【0061】
実施形態5
【0062】
いくつかの実施形態では、ランク情報は、時間と関連付けられる。例えば、ランク情報は、特定の持続時間内のパノラマ画像の処理のみに適用可能である。表9は、本技術による、対応する時間情報を伴う、ビットストリーム内のランク情報の例示的表現を示す。
【表9】
【0063】
1に等しい変数time_flagは、ランク情報と関連付けられる、時間情報が存在することを示す。0である、その値は、関連時間情報が存在しないことを示す。TimeInfoStructは、ランク情報の有効時間インターバルを説明する、情報を含むことができる。例えば、TimeInfoStructは、絶対開始時間と、終了時間とを含むことができる。別の実施例として、絶対開始時間および持続時間インターバルが、使用されることができる。いくつかの実施形態では、最新の有効ランク情報に対する相対的開始/終了時間が、示されることができる(下記に説明される実施形態7における詳細参照)。
【0064】
新しいランク情報が、その間、ランク情報が有効である、持続時間内に入手される場合、新しいランク情報は、プリセットルールに従って、採用されてもよい。代替として、新しいランク情報は、現在のランク情報の持続時間が終了するまで、無視されてもよい。表10は、本技術による、対応する時間情報を伴う、ビットストリーム内のランク情報の例示的表現を示す。1である、変数rank_map_info_cancelは、現在のランク情報を保つことを示し、0である、その値は、新しいランク情報を採用することを示す。0である、変数rank_map_info_persistence_flagは、現在のランク情報が、現在のフレーム/画像のみに適用可能であることを示し、1である、その値は、現在のランク情報が、サブシーケンスフレーム/画像に適用可能であることを示す。
【表10】
【0065】
実施形態6
【0066】
いくつかの実施形態では、ランク情報は、ユーザの視点と関連付けられる。表11は、本技術による、対応する時間情報を伴う、ビットストリーム内のランク情報の例示的表現を示す。
【表11】
【0067】
(viewpoint_pos_x,viewpoint_pos_y,viewpoint_pos_z)は、視点の位置である。視点位置はまた、GPS座標情報(経度、緯度、高度)を使用することができ、視点の位置はまた、3次元極座標(ヨー、ピッチ、ロール)であることができる。1である、変数rankmap_flagは、ランク情報が存在することを示し、0である、その値は、ランク情報が存在しないことを示す。
【0068】
ランク情報はまた、視点が切り替えられるにつれて、変化することができる。表12は、本技術による、ビットストリーム内のランク情報の例示的表現を示す。
【表12】
【0069】
ここでは、num_viewpoint_switchingは、視点切替の数を示し、destination_viewpoint_idは、標的視点のシリアル番号を示す。1である、変数timeline_switching_offset_flagは、切替時間情報が存在することを示し、0である、その値は、切替時間情報が存在しないことを示す。1である、変数rankmap_flagは、ランク情報が存在することを示し、0である、その値は、ランク情報が存在しないことを示す。ViewpointTimelineSwitchStructは、時間視点切替を示す。
【0070】
いくつかの実施形態では、ランク情報は、視点が変化する度に変化しなくてもよい。視点切替は、特定のランク情報のセットと関連付けられない場合、現在の有効ランク情報またはデフォルトの所定のランク情報が、使用されることができる。
【0071】
実施形態7
【0072】
ランク情報内のランク値は、絶対値または相対値であることができる。表13は、本技術による、ビットストリーム内のランク情報の例示的表現を示す。変数rank_diff_flagは、絶対値または相対値が使用されるかどうかを示すために追加されることができる。値が、1であるとき、相対的ランク値が、使用されることができる。値が、0であるとき、絶対値が、使用されることができる。
【表13】
【0073】
実施形態8
【0074】
ランク情報は、カスケード式形態で表されることができる。
図8は、本技術による、ランク情報の例示的なカスケード表示される表現800を図示する。太実線は、
図8に示されるように、セグメントを表し、細実線は、サブセグメントを表す。例えば、11は、セグメント1の1つのサブ分割を表す。表14は、本技術による、ビットストリーム内のランク情報の例示的表現を示す。
【表14】
【0075】
ここでは、sub_segment_cnt_minus1は、サブセグメントランク情報の数を示す。sub_segment_top_left_x[j]は、画像の水平方向におけるj番目のサブセグメントの左上ピクセルの座標である。sub_segment_top_left_y[j]は、画像内のj番目のサブセグメントの左上ピクセルの垂直座標である。sub_segment_width[j]は、j番目のサブセグメントのピクセル幅である。sub_segment_height[j]は、j番目のサブセグメントのピクセル高である。sub_segment_height[j]は、j番目のサブセグメントのランク値である。
【0076】
いくつかの実施形態では、セグメントは、対応するランク値を有していない(例えば、segment_rank[i]は、存在しない)。サブセグメントランク値のみが、使用される。
【0077】
実施形態9
【0078】
いくつかの実施形態では、ランク情報は、ビデオストリーム内の補足強化情報(SEI)内に表される。表15は、本技術による、ビットストリーム内のランク情報の例示的表現を示す。
【表15】
【0079】
いくつかの実施形態では、ランク情報は、ビデオビットストリーム内のビデオ可用性情報(VUI)に表される。表16は、本技術による、ビットストリーム内のランク情報の例示的表現を示す。変数rank_map_info_flagは、rank_map_infoが使用されるかどうかを示すことができる。値が、1であるとき、rank_map_infoが、使用されることができる。値が、0であるとき、rank_map_infoは、スキップされることができる。
【表16】
【0080】
実施形態10
【0081】
上記の実施形態におけるメディアコードストリームは、例えば、国際標準化機構(ISO)基本メディアファイルフォーマットに基づいて、メディアファイル内に記憶されることができる。
【0082】
ISO基本ファイルフォーマット内の全てのデータが、ボックス内にパッキングされる。すなわち、MP4ファイルによって表されるISO基本ファイルフォーマットは、それぞれ、タイプおよび長さを有し、データオブジェクトと見なされ得る、いくつかのボックスから成る。ボックスは、コンテナボックスと称される、別のボックスを含有することができる。MP4ファイルは、1つのみの「ftyp」タイプボックスを有し、これは、ファイルフォーマットの署名としての役割を果たし、ファイルについてのある情報を含有する。また、1つのみの「MOOV」タイプボックス(ムービーボックス)が存在し、これは、コンテナボックスである。ムービーボックスのサブボックスは、メディアのメタデータ情報を含む。MP4ファイルのメディアデータは、「mdat」タイプボックス(メディアデータボックス)内に含まれ、これもまた、コンテナボックスである。加えて、タイミングメタデータトラックは、ISO基本メディアファイルフォーマット(ISOBMFF)内の機構であって、具体的サンプルと関連付けられる、タイミングメタデータを確立する。
【0083】
例えば、表17は、「vipo」としてのトラックエントリタイプを使用する、例示的視点を示す。ランク情報は、視点情報(例えば、ViewpointPosStructまたはViewpointSwitchingStruct内に位置付けられる)と組み合わせられることができる。
【表17】
【0084】
図9は、本技術による、ビデオエンコーディング装置900の実施例のブロック図である。装置900は、球状パノラマビデオ画像情報を収集するように構成される、入手モジュール901を含む。本モジュールは、ビデオデータを、メモリから、またはカメラフレームバッファから読み取るための入/出力コントローラ回路網を含んでもよい。本モジュールは、ビデオデータを読み取るためのプロセッサ実行可能命令を含んでもよい。装置900は、セグメント/領域と関連付けられる、ランク情報を決定するように構成される、ランク情報処理モジュール902を含む。本モジュールは、プロセッサ実行可能ソフトウェアコードとして実装されてもよい。装置900はまた、ランク情報に従って、ビデオ画像データをエンコーディングするように構成される、ビデオエンコーダモジュール903を含む。ビデオエンコーダモジュール903は、例えば、矩形形状である、ビデオおよび画像のエンコーディングのために好適である、従来のH.264/H.265または別のコーデックであってもよい。ビデオエンコーダモジュール903は、動き推定/補償または画像内コーディング技法を使用する、技法を使用してもよい。本装置はさらに、記憶またはネットワーク伝送層コーディングのいずれかをビデオエンコーディングされたデータまたはメディアデータ上で実施するように構成される、記憶/伝送モジュール904を含む。
【0085】
上記に説明される入手デバイス901、ランク情報処理モジュール902、ビデオエンコーダ903、および伝送モジュール904は、専用ハードウェア、または適切なソフトウェアとの組み合わせにおいて処理を実施することが可能なハードウェアを使用することによって、実装されることができる。そのようなハードウェアまたは特殊目的ハードウェアは、特定用途向け集積回路(ASIC)、種々の他の回路、種々のプロセッサ、および同等物を含み得る。プロセッサによって実装されると、機能性が、単一の専用プロセッサ、単一の共有プロセッサ、またはそのうちのいくつかが共有され得る、複数の独立型プロッセッサによって提供され得る。加えて、プロセッサは、ソフトウェアを実行することが可能であるハードウェアを指すように理解されるべきではないが、暗黙的に、限定ではないが、デジタル信号プロセッサ(DSP)ハードウェア、ソフトウェアを記憶するための読取専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、および不揮発性記憶デバイスを含み得る。
【0086】
図9に示されるような装置900は、モバイルフォン、コンピュータ、サーバ、セットトップボックス、持ち運び可能なモバイル端末、デジタルビデオカメラ、テレビブロードキャストシステムデバイス、または同等物等のビデオ用途におけるデバイスであり得る。
【0087】
図10は、本技術による、ビデオデコーディング装置1000の実施例のブロック図である。装置1000は、ビットストリームをネットワークまたは記憶デバイスから入手し、ビデオエンコーディングされたデータまたはメディアデータを含む、ネットワーク伝送層データからデコーディングを実施するように構成される、入手モジュール1001を含み、面積近傍情報データのみを提案する、または面積近傍情報を含む、ビデオデータを抽出してもよい。ランク情報処理モジュール1002は、ランク情報を解析するように構成される。ビデオデコーダ1003は、ビデオデータ情報をデコーディングする、パノラマビデオをデコーディングする、または着目領域がデコーディングするために位置する、独立デコーディング単位を抽出するように構成される。ディスプレイデバイス1004は、パノラマビデオ画像を生成または表示する、または部分的な隣接面積画像表示を選択するように構成される。
【0088】
上記に説明される伝送モジュール1001、面積隣接情報処理モジュール1002、ビデオデコーダ1003、およびディスプレイデバイス1004は、専用ハードウェア、または適切なソフトウェアとの組み合わせにおいて処理を実施することが可能なハードウェアを使用することによって、実現されることができる。そのようなハードウェアまたは特殊目的ハードウェアは、特定用途向け集積回路(ASIC)、種々の他の回路、種々のプロセッサ、および同等物を含み得る。プロセッサによって実装されると、機能性が、単一の専用プロセッサ、単一の共有プロセッサ、またはそのうちのいくつかが共有され得る、複数の独立型プロッセッサによって提供され得る。加えて、プロセッサは、ソフトウェアを実行することが可能であるハードウェアを指すように理解されるべきではないが、暗黙的に、限定ではないが、デジタル信号プロセッサ(DSP)ハードウェア、ソフトウェアを記憶するための読取専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、および不揮発性記憶デバイスを含み得る。
【0089】
図10に示されるようなデバイスは、モバイルフォン、コンピュータ、サーバ、セットトップボックス、持ち運び可能なモバイル端末、デジタルビデオカメラ、テレビブロードキャストシステムデバイス、または同等物等のビデオ用途におけるデバイスであり得る。
【0090】
図11は、本文書に説明されるエンコーダ側またはデコーダ側技法を実装するために使用され得る、ある例示的装置1100を示す。装置1100は、エンコーダ側またはデコーダ側技法または両方を実施するように構成され得る、プロセッサ1102を含む。装置1100はまた、プロセッサ実行可能命令を記憶するため、およびビデオビットストリームおよび/または表示データを記憶するためのメモリ(図示せず)を含んでもよい。装置1100は、変換回路、算術コーディング/デコーディング回路等のビデオ処理回路網(図示せず)を含んでもよい。ビデオ処理回路網は、部分的に、プロセッサの中に、および/または、部分的に、グラフィックプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)等の他の専用回路網の中に含まれてもよい。
【0091】
本書は、帯域幅要件を低減させながら、一貫した没入型のコンテンツ視認体験をユーザに提供するために、種々の実施形態内に具現化され得る、技法を開示することを理解されたい。本書に説明される、開示されるメディアコンテンツ処理システムおよび他の実施形態、モジュール、および機能動作が、デジタル電子回路で、または本書に開示される構造およびそれらの構造均等物を含む、コンピュータソフトウェア、ファームウェア、またはハードウェアで、またはそれらのうちの1つまたはそれを上回るものの組み合わせで、実装されることができる。開示されるおよび他の実施形態は、1つまたはそれを上回るコンピュータプログラム製品、すなわち、データ処理装置による実行のために、またはその動作を制御するために、コンピュータ可読媒体上でエンコードされるコンピュータプログラム命令の1つまたはそれを上回るモジュールとして、実装されることができる。コンピュータ可読媒体は、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝搬信号を生じさせる組成物、または1つまたはそれを上回るそれらの組み合わせであり得る。用語「データ処理装置」は、一例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサまたはコンピュータを含む、データを処理するための全ての装置、デバイス、および機械を包含する。本装置は、ハードウェアに加えて、当該コンピュータプログラムのための実行環境を生成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つまたはそれを上回るもののある組み合わせを成すコードを含むことができる。伝搬信号は、人工的に発生される信号、例えば、好適な受信機装置に伝送するために情報をエンコードするように発生される、機械で発生される電気、光学、または電磁信号である。
【0092】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても公知である)が、コンパイラ型またはインタープリタ型言語を含む、任意の形態のプログラミング言語で書かれることができ、独立型プログラムとして、またはコンピューティング環境内の使用のために好適なモジュール、コンポーネント、サブルーチン、または他の単位としてを含む、任意の形態で展開されることができる。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応するわけではない。プログラムは、他のプログラムまたはデータを保持するファイル(例えば、マークアップ言語文書内に記憶された1つまたはそれを上回るスクリプト)の一部内に、当該プログラム専用の単一のファイル内に、または複数の協調ファイル(例えば、1つまたはそれを上回るモジュール、サブプログラム、またはコードの一部を記憶するファイル)内に記憶されることができる。コンピュータプログラムは、1つのコンピュータ上で、または1つの地点に位置する、または複数の地点を横断して分散され、通信ネットワークによって相互接続される複数のコンピュータ上で、実行されるように展開されることができる。
【0093】
本書に説明されるプロセスおよび論理フローは、入力データに作用し、出力を発生させることによって機能を実施するように、1つまたはそれを上回るコンピュータプログラムを実行する、1つまたはそれを上回るプログラマブルプロセッサによって、実施されることができる。プロセスおよび論理フローはまた、特殊用途論理回路網、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実施されることもでき、装置もまた、それとして実装されることができる。
【0094】
コンピュータプログラムの実行のために好適なプロセッサは、一例として、汎用および特殊用途マイクロプロセッサの両方、および任意の種類のデジタルコンピュータのいずれか1つまたはそれを上回るプロセッサを含む。概して、プロセッサは、読取専用メモリまたはランダムアクセスメモリまたは両方から、命令およびデータを受信するであろう。コンピュータの不可欠な要素は、命令を実施するためのプロセッサ、および命令およびデータを記憶するための1つまたはそれを上回るメモリデバイスである。概して、コンピュータはまた、データを記憶するための1つまたはそれを上回る大容量記憶デバイス、例えば、磁気、磁気光学ディスク、または光ディスクを含む、またはそこからデータを受信する、またはそこにデータを転送する、または両方を行うように、動作可能に結合されるであろう。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するために好適なコンピュータ可読媒体は、一例として、半導体メモリデバイス、例えば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、例えば、内部ハードディスクまたはリムーバブルディスク、磁気光学ディスク、およびCD-ROMおよびDVD-ROMディスクを含む、あらゆる形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、特殊用途論理回路網によって補完される、またはそれに組み込まれることができる。
【0095】
本特許文書は、多くの詳細を含有するが、これらは、任意の発明または請求され得るものの範囲への限定としてではなく、むしろ、特定の発明の特定の実施形態に特有であり得る特徴の説明として解釈されるべきである。別個の実施形態との関連で本特許文書に説明されるある特徴もまた、単一の実施形態において組み合わせて実装されることができる。逆に、単一の実施形態との関連で説明される種々の特徴もまた、複数の実施形態において別個に、または任意の好適な副次的組み合わせにおいて実装されることができる。また、特徴が、ある組み合わせにおいて作用するものとして上記に説明され、さらに、そのようなものとして最初に請求され得るが、請求される組み合わせからの1つまたはそれを上回る特徴が、ある場合には、組み合わせから削除されることができ、請求される組み合わせは、副次的組み合わせまたは副次的組み合わせの変形例を対象とし得る。
【0096】
同様に、動作が、特定の順序で図面に描写されるが、これは、望ましい結果を達成するために、そのような動作が示される特定の順序で、または順次順序で実施されること、または全ての図示される動作が実施されることを要求するものとして理解されるべきではない。また、本特許文書に説明される実施形態における種々のシステムコンポーネントの分離は、全ての実施形態においてそのような分離を要求するものとして理解されるべきではない。
【0097】
いくつかの実装および実施例のみが、説明され、他の実装、向上、および変形例も、本特許文書に説明および図示されるものに基づいて成されることができる。