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

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

▶ レモン インコーポレイテッドの特許一覧

<>
  • 特許-ビジュアル・メディア・データ処理方法 図1
  • 特許-ビジュアル・メディア・データ処理方法 図2
  • 特許-ビジュアル・メディア・データ処理方法 図3
  • 特許-ビジュアル・メディア・データ処理方法 図4
  • 特許-ビジュアル・メディア・データ処理方法 図5
  • 特許-ビジュアル・メディア・データ処理方法 図6
  • 特許-ビジュアル・メディア・データ処理方法 図7
  • 特許-ビジュアル・メディア・データ処理方法 図8
  • 特許-ビジュアル・メディア・データ処理方法 図9
  • 特許-ビジュアル・メディア・データ処理方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-24
(45)【発行日】2023-05-02
(54)【発明の名称】ビジュアル・メディア・データ処理方法
(51)【国際特許分類】
   H04N 19/70 20140101AFI20230425BHJP
【FI】
H04N19/70
【請求項の数】 14
【外国語出願】
(21)【出願番号】P 2021151936
(22)【出願日】2021-09-17
(65)【公開番号】P2022050368
(43)【公開日】2022-03-30
【審査請求日】2021-11-16
(31)【優先権主張番号】63/079892
(32)【優先日】2020-09-17
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521388058
【氏名又は名称】レモン インコーポレイテッド
【氏名又は名称原語表記】Lemon Inc.
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】イェ-クイ ワン
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2018/173498(WO,A1)
【文献】国際公開第2017/172783(WO,A1)
【文献】国際公開第2015/012227(WO,A1)
【文献】国際公開第2013/162808(WO,A1)
【文献】Versatile video coding,Recommendation ITU-T H.266,H.266 (08/2020),ITU-T,2020年08月,pp.56-57,140-143
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
ビジュアル・メディア・データを処理する方法であって、
フォーマット・ルールに従ってビジュアル・メディア・データのビットストリームとビジュアル・メディア・ファイルとの間の変換を実行するステップ
を含み、フォーマット・ルールは、前記ビジュアル・メディア・ファイルにおけるシンタックス要素の特徴を指定し、
前記シンタックス要素は、前記ビットストリームに関連する制約情報を指定するために使用されるバイト数を表す値を有し、
前記シンタックス要素の特徴は、前記シンタックス要素は6ビットを使用して前記ビジュアル・メディア・ファイルにおいてコーディングされることを含む、方法。
【請求項2】
前記フォーマット・ルールは、前記ビジュアル・メディア・ファイルにおけるプロファイル階層レベル・マルチレイヤのイネーブルされたフラグ・シンタックス要素の直後で前記ビジュアル・メディア・ファイルにおいてコーディングされることを指定している、請求項1に記載の方法。
【請求項3】
前記制約情報は、前記ビジュアル・メディア・ファイルの一般制約情報シンタックス要素におけるバイト数を含み、
前記フォーマット・ルールは、前記シンタックス要素が、前記ビジュアル・メディア・ファイルにおける前記一般制約情報シンタックス要素における前記バイト数を指定し、
前記フォーマット・ルールは、1に等しい前記シンタックス要素の値は、前記一般制約情報シンタックス要素における一般制約情報フラグが0に等しいこと、及び前記一般制約情報シンタックス要素は前記ビジュアル・メディア・ファイルのプロファイル階層レベル・レコードに含まれるようには許容されないこと、を示すことを指定している、請求項1に記載の方法。
【請求項4】
前記フォーマット・ルールは、一般制約情報シンタックス要素を前記ビジュアル・メディア・ファイルに含める条件は、シンタックス要素により指定される値が1より大きいかどうかに依存することを指定している。請求項1に記載の方法。
【請求項5】
前記フォーマット・ルールは、前記ビジュアル・メディア・ファイルにおいて別のシンタックス要素のために5ビットが使用されることを指定し、
前記別のシンタックス要素は、前記ビジュアル・メディア・ファイルのデコーダ設定レコードにおいてネットワーク抽象化レイヤ・ユニット・タイプを示す別の値を有する、請求項1に記載の方法。
【請求項6】
前記ビジュアル・メディア・ファイルのトラックは1つ以上の出力レイヤ・セットを含むビデオ・ビットストリームを含み、
前記フォーマット・ルールは、前記トラックのために別のシンタックス要素が指定されることを指定し、
前記別のシンタックス要素は、前記トラックが、前記1つ以上の出力レイヤ・セットのうちの特定の出力レイヤ・セットに対応するビデオ・ビットストリームを含むかどうかを示す、請求項1に記載の方法。
【請求項7】
前記別のシンタックス要素は、前記トラックが、複数の出力レイヤ・セットに対応する前記ビデオ・ビットストリームを含むことを示す、請求項に記載の方法。
【請求項8】
前記シンタックス要素は、前記トラックが、前記1つ以上の出力レイヤ・セットのうちの前記特定の出力レイヤ・セットに対応しない前記ビデオ・ビットストリームを含むことを示す、請求項に記載の方法。
【請求項9】
前記変換は、前記ビジュアル・メディア・ファイルを生成すること、及び前記フォーマット・ルールに従って前記ビットストリームを前記ビジュアル・メディア・ファイルに保存することを含む、請求項1-8のうちの何れか1項に記載の方法。
【請求項10】
前記変換は、前記ビジュアル・メディア・ファイルを生成することを含み、前記方法は、前記ビジュアル・メディア・ファイルを、非一時的なコンピュータ読み取り可能な記録媒体に保存するステップを更に含む、請求項1-8のうちの何れか1項に記載の方法。
【請求項11】
前記変換は、前記ビットストリームを再構築するために前記フォーマット・ルールに従って前記ビジュアル・メディア・ファイルを分析することを含む、請求項1-8のうちの何れか1項に記載の方法。
【請求項12】
前記ビジュアル・メディア・ファイルは多用途ビデオ・コーディング(VVC)によって処理される、請求項1-11のうちの何れか1項に記載の方法。
【請求項13】
ビジュアル・メディア・データを処理する装置であって、プロセッサと命令を伴う非一時的なメモリとを含み、前記命令は、前記プロセッサによって実行されると、請求項1-12のうちの何れか1項に記載の方法を前記プロセッサに実行させる、装置。
【請求項14】
請求項1-12のうちの何れか1項に記載の方法をプロセッサに実行させる命令を保存する非一時的なコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【背景技術】
【0001】
関連出願の相互参照
パリ条約に関して適用可能な特許法及び/又は規則の下で本願は2020年9月17日付で出願された米国仮特許出願第63/079,892号の優先権及び利益を適時に主張するために行われている。法に基づく全ての目的に関し、前述の出願の開示全体は、本願の開示の一部として参照により援用される。
【0002】
技術分野
本件特許明細書はデジタル・オーディオ・ビデオ・メディア情報をファイル・フォーマットで生成、保存、及び消費することに関連している。
【0003】
背景
デジタル・ビデオは、インターネット及びその他のデジタル通信ネットワークにおいて利用する最大の帯域幅を占めている。ビデオを受信及び表示することが可能な接続ユーザー・デバイスの台数が増加するにつれて、デジタル・ビデオの利用に対する帯域幅需要は増加し続けるであろうということが予想される。
【発明の概要】
【0004】
本件明細書は、ビデオ又は画像のコーディングされた表現をファイル・フォーマットに従って処理するためにビデオ・エンコーダ及びデコーダによって使用することが可能な技術を開示する。
【0005】
ある態様例では、ビデオ処理方法が開示される。方法は、フォーマット・ルールに従ってビジュアル・メディア・データのビットストリームとビジュアル・メディア・ファイルとの間の変換を実行するステップを含み、ビットストリームは、1つ以上のプロファイル階層レベル・シンタックス構造を含む1つ以上のパラメータ・セットと1つ以上の出力レイヤ・セットとを含み、プロファイル階層レベル・シンタックス構造のうちの少なくとも1つは一般制約情報シンタックス構造を含み、フォーマット・ルールは、シンタックス要素がビジュアル・メディア・ファイルのコンフィギュレーション・レコードに含まれることを指定し、シンタックス要素は、コンフィギュレーション・レコードで指定される出力レイヤ・セット・インデックスにより識別される出力レイヤ・セットが従うプロファイル、階層又はレベルを指定している。
【0006】
別の態様例では、ビデオ処理方法が開示される。方法は、フォーマット・ルールに従ってビジュアル・メディア・データのビットストリームとビジュアル・メディア・ファイルとの間の変換を実行するステップを含み、フォーマット・ルールは、ビジュアル・メディア・ファイルにおけるシンタックス要素の特徴を指定し、シンタックス要素は、ビットストリームに関連する制約情報を指定するために使用されるバイト数を表す値を有する。
【0007】
別の態様例では、ビデオ処理方法が開示される。方法は、フォーマット・ルールに従ってビジュアル・メディア・データのビットストリームとビジュアル・メディア・ファイルとの間の変換を実行するステップを含み、フォーマット・ルールは、ビジュアル・メディア・ファイルのシンタックス要素の特徴を指定し、フォーマット・ルールは、レベル識別(level identification)を表す値を有するシンタックス要素は、サブピクチャ共通グループ・ボックス又はサブピクチャ複数グループ・ボックスのうちの任意の1つ又は双方において8ビットを用いてコーディングされることを指定している。
【0008】
別の態様例では、ビデオ処理方法が開示される。方法は、フォーマット・ルールに従ってビジュアル・メディア・データのビットストリームを保存するファイルとビジュアル・メディア・データとの間の変換を実行するステップを含み、フォーマット・ルールは、ファイルで識別されるビットストリーム表現に関連するプロファイル、階層、制約又は階層に関連してファイルに含まれる情報に対する制約を指定している。
【0009】
更に別の態様例では、ビデオ・エンコーダ装置が開示される。ビデオ・エンコーダは、上述の方法を実施するように構成されたプロセッサを備える。
【0010】
更に別の態様例では、ビデオ・デコーダ装置が開示される。ビデオ・デコーダは、上述の方法を実施するように構成されたプロセッサを備える。
【0011】
更に別の態様例では、そこにコードを格納するコンピュータ読み取り可能な媒体が開示される。コードは、プロセッサ実行可能コードの形式で、本件で説明される方法の1つを具現化する。
【0012】
更に別の態様例では、そこにビットストリームを格納するコンピュータ読み取り可能な媒体が開示される。ビットストリームは、本件明細書で説明される方法を用いて生成又は処理される。
【0013】
これら及びその他の特徴については本件明細書を通じて説明される。
【図面の簡単な説明】
【0014】
図1】ビデオ処理システム例のブロック図である。
【0015】
図2】ビデオ処理装置のブロック図である。
【0016】
図3】ビデオ処理方法例のフローチャートである。
【0017】
図4】本開示の幾つかの実施形態によるビデオ・コーディング・システムを示すブロック図である。
【0018】
図5】本開示の幾つかの実施形態によるエンコーダを示すブロック図である。
【0019】
図6】本開示の幾つかの実施形態によるデコーダを示すブロック図である。
【0020】
図7】エンコーダのブロック図の一例を示す。
【0021】
図8】ビデオ処理の方法例に関するフローチャートである。
図9】ビデオ処理の方法例に関するフローチャートである。
図10】ビデオ処理の方法例に関するフローチャートである。
【発明を実施するための形態】
【0022】
セクション見出しは、本件明細書においては説明の理解を容易にするために使用されており、各セクションで開示された技術及び実施形態の適用をそのセクションのみに限定してはいない。更に、H.266の用語は、何らかの説明において、理解を容易にするためにのみ使用されており、開示される技術の範囲を限定するためには使用されていない。このように、本件で説明される技術は、他のビデオ・コーデック・プロトコル及び設計にも適用可能である。本件明細書では、VVC仕様又はISOBMFFファイル・フォーマット仕様の現在のドラフトに関し、オープン及びクローズの二重括弧(例えば、[[ ]])であって二重括弧内のテキストはキャンセルされたテキストであることを示すものによって、及び追加されたテキストを示す太字イタリック体のテキストによって、テキストに対する編集変更が示される。
【0023】
1.概要説明
本件明細書はビデオ・ファイル・フォーマットに関連する。具体的には、ISOベース・メディア・ファイル・フォーマット(ISOBMFF)に基づく多用途ビデオ・コーディング(VVC)ビデオ・ビットストリームを搬送するメディア・ファイルにおけるデコーダ構成情報及びサブピクチャ・エンティティ・グループのシグナリングに関連する。アイデアは、個々に又は様々な組み合わせで、例えばVVC規格のような任意のコーデックによってコーディングされたビデオ・ビットストリーム、及び例えば開発中のVVCビデオ・ファイル・フォーマットのような任意のビデオ・ファイル・フォーマットに適用することができる。
2.略語
ACT(adaptive colour transform) 適応色変換
ALF(adaptive loop filter) 適応ループフィルタ
AMVR(adaptive motion vector resolution) 適応動きベクトル分解能
APS(adaptation parameter set) 適応パラメータ・セット
AU(access unit) アクセス・ユニット
AUD(access unit delimiter) アクセス・ユニット・デリミタ
AVC(advanced video coding)(Rec. ITU-T H.264 | ISO/IEC 14496-10)アドバンスト・ビデオ・コーディング
B(bi-predictive) 双-予測
BCW(bi-prediction with CU-level weights) CUレベルのウェイトによる双-予測
BDOF(bi-directional optical flow) 双-予測オプティカル・フロー
BDPCM(block-based delta pulse code modulation) ブロック・ベースのデルタ・パルス・コード変調
BP(buffering period) バッファリング期間
CABAC(context-based adaptive binary arithmetic coding) コンテキスト・ベースの適応バイナリ算術コーディング
CB(coding block) コーディング・ブロック
CBR(constant bit rate) 固定ビット・レート
CCALF(cross-component adaptive loop filter) クロス・コンポーネント適応ループ・フィルタ
CPB(coded picture buffer) コーディングされたピクチャのバッファ
CRA(clean random access) クリーン・ランダム・アクセス
CRC(cyclic redundancy check) 巡回冗長検査
CTB(coding tree block) コーディング・ツリー・ブロック
CTU(coding tree unit) コーディング・ツリー・ユニット
CU(coding unit) コーディング・ユニット
CVS(coded video sequence) コーディングされたビデオ・シーケンス
DPB(decoded picture buffer) 復号化されたピクチャ・バッファ
DCI(decoding capability information) 復号化能力情報
DRAP(dependent random access point) 依存性ランダム・アクセス・ポイント
DU(decoding unit) 復号化ユニット
DUI(decoding unit information) 復号化ユニット情報
EG(exponential-Golomb) 指数ゴロム
EGk(k-th order exponential-Golomb) k次-指数ゴロム
EOB(end of bitstream) ビットストリーム末尾
EOS(end of sequence) シーケンス末尾
FD(filler data) フィラー・データ
FIFO(first-in, first-out) 先入れ先出し
FL(fixed-length) 固定長
GBR(green, blue, and red) グリーン,ブルー,レッド
GCI(general constraints information) 一般制約情報
GDR(gradual decoding refresh) 漸進的復号化リフレッシュ
GPM(geometric partitioning mode) 幾何学的パーティショニング・モード
HEVC(high efficiency video coding)(Rec. ITU-T H.265 | ISO/IEC 23008-2) 高効率ビデオ・コーディング
HRD(hypothetical reference decoder) 仮想リファレンス・デコーダ
HSS(hypothetical stream scheduler) 仮想ストリーム・スケジューラ
I(intra) イントラ
IBC(intra block copy) イントラ・ブロック・コピー
IDR(instantaneous decoding refresh) 瞬時復号化リフレッシュ
ILRP(inter-layer reference picture) インター・レイヤ参照ピクチャ
IRAP(intra random access point) イントラ・ランダム・アクセス・ポイント
LFNST(low frequency non-separable transform) 低周波ノン・セパラブル変換
LPS(least probable symbol) 最低確率シンボル
LSB(least significant bit) 最下位ビット
LTRP(long-term reference picture) 長期参照ピクチャ
LMCS(luma mapping with chroma scaling) クロマ・スケーリングによるルマ・マッピング
MIP(matrix-based intra prediction) 行列ベースのイントラ予測
MPS(most probable symbol) 最確シンボル
MSB(most significant bit) 最上位ビット
MTS(multiple transform selection) 多重変換選択
MVP(motion vector prediction) 動きベクトル予測
NAL(network abstraction layer) ネットワーク抽象化レイヤ
OLS(output layer set) 出力レイヤ・セット
OP(operation point) オペレーション・ポイント
OPI(operating point information) オペレーティング・ポイント情報
P(predictive) 予測
PH(picture header) ピクチャ・ヘッダ
POC(picture order count) ピクチャ・オーダー・カウント
PPS(picture parameter set) ピクチャ・パラメータ・セット
PROF(prediction refinement with optical flow) オプティカル・フローによる予測精密化
PT(picture timing) ピクチャ・タイミング
PU(picture unit) ピクチャ・ユニット
QP(quantization parameter) 量子化パラメータ
RADL(random access decodable leading (picture)) ランダム・アクセス復号可能リーディング(ピクチャ)
RASL(random access skipped leading (picture)) ランダム・アクセス・スキップ・リーディング(ピクチャ)
RBSP(raw byte sequence payload) 未処理バイト・シーケンス・ペイロード
RGB(red, green, and blue) レッド,グリーン,ブルー
RPL(reference picture list) 参照ピクチャ・リスト
SAO(sample adaptive offset) サンプル適応オフセット
SAR(sample aspect ratio) サンプル・アスペクト比
SEI(supplemental enhancement information) 補足エンハンスメント情報
SH(slice header) スライス・ヘッダ
SLI(subpicture level information) サブピクチャ・レベル情報
SODB(string of data bits) データ・ビット列
SPS(sequence parameter set) シーケンス・パラメータ・セット
STRP(short-term reference picture) 短期参照ピクチャ
STSA(step-wise temporal sublayer access) ステップ・ワイズ・テンポラル・サブレイヤ・アクセス
TR(truncated rice) トランケーテッド・ライス
VBR(variable bit rate) 可変ビット・レート
VCL(video coding layer) ビデオ・コーディング・レイヤ
VPS(video parameter set) ビデオ・パラメータ・セット
VSEI(versatile supplemental enhancement information)(Rec. ITU-T H.274 | ISO/IEC 23002-7) 多用途補足エンハンスメント情報
VUI(video usability information) ビデオ利用情報
VVC(versatile video coding)(Rec. ITU-T H.266 | ISO/IEC 23090-3) 多用途ビデオ・コーディング
【0024】
3.ビデオ・コーディング・イントロダクション
3.1.ビデオ・コーディング規格
ビデオ・コーディング規格は、周知のITU-T及びISO・IEC規格の開発を通じて主に発展している。ITU-TはH.261とH.263を作成し、ISO/IECはMPEG-1とMPEG-4 Visualを作成し、2つの組織は共同してH.262/MPEG-2ビデオとH.264/MPEG-4アドバンスト・ビデオ・コーディング(AVC)とH.265/HEVC規格とを作成した。H.262以来、ビデオ・コーディング規格はハイブリッド・ビデオ・コーディング構造に基づいており、そこでは時間的予測と変換コーディングが使用される。HEVCを越える将来のビデオ・コーディング技術を探求するため、2015年に共同ビデオ探査チーム(Joint Video Exploration Team,JVET)がVCEGとMPEGにより共同で設立された。それ以来、多くの新しい方法がJVETによって採用されており、共同探索モデル(Joint Exploration Model,JEM)と名付けられる参照ソフトウェアに入れられている。多用途ビデオ・コーディング(VVC)プロジェクトが公式にスタートすると、以後JVETは共同ビデオ・エキスパート・チーム(JVET)に改名された。2020年7月1日付の第19回会合においてファイナライズされたVVC規格は、新しいコーディング規格であり、HEVCと比較した場合に50%のビットレート低減を目指している。
【0025】
VVC(Versatile Video Coding)規格(ITU-T H.266 | ISO/IEC 23090-3)及び関連するVSEI(Versatile Supplemental Enhancement Information)規格(ITU-T H.274 | ISO/IEC 23002-7)は、最大限に広範囲に及ぶアプリケーションでの用途のために設計されており、用途は、テレビ放送、ビデオ会議、記憶媒体からの再生のような従来の用途と、多重コード化ビデオ・ビットストリーム、マルチビュー・ビデオ、スケーラブル階層化コーディング、及びビューポート適応360°イマーシブ・メディアからのコンテンツの適応ビット・レート・ストリーミング、ビデオ領域抽出、構成、及びマージングのようなより新しく且つより豊富な進化したユース・ケースとの双方を含む。
【0026】
3.2.ファイル・フォーマット規格
メディア・ストリーミング・アプリケーションは、典型的にはIP、TCP、HTTP転送方法に基づいており、典型的にはISOベースのメディア・ファイル・フォーマット(ISOBMFF)のようなファイル・フォーマット依存している。そのようなストリーミング・システムの一つは、HTTP(DASH)上の動的適応ストリーミングである。ISOBMFF及びDASHでビデオ・フォーマットを使用する場合、AVCファイル・フォーマット及びHEVCファイル・フォーマットのようなビデオ・フォーマットに特有のファイル・フォーマット仕様が、ISOBMFFトラック及びDASH表現及びセグメントにおけるビデオ・コンテンツのカプセル化に必要とされるであろう。ビデオ・ビットストリームに関する重要な情報、例えばプロファイル、階層、及びレベル、並びに他の多くは、コンテンツ選択の目的、例えばストリーミング・セッションの開始時の初期化のため及びストリーミング・セッション中のストリーム適応化のための両方に適切なメディア・セグメントの選択のために、ファイル・フォーマット・レベルのメタデータ及び/又はDASHメディア・プレゼンテーション記述(MPD)として公開されることを必要とするであろう。
【0027】
同様に、ISOBMFFで画像フォーマットを使用する場合、AVC画像ファイル・フォーマットやHEVC画像ファイル・フォーマットのような、画像フォーマットに特有のファイル・フォーマット仕様が必要とされるであろう。
【0028】
ISOBMFFに基づくVVCビデオ・コンテンツの保存のためのファイル・フォーマットであるVVCビデオ・ファイル・フォーマットが、現在、MPEGによって開発されている。
【0029】
【数1】
【0030】
【数2】
【0031】
【数3】
【0032】
図1は、本願で開示される種々の技術が実装され得る例示的なビデオ処理システム1900を示すブロック図である。種々の実装は、システム1900の構成要素の一部又は全部を含んでもよい。システム1900は、ビデオ・コンテンツを受信するための入力1902を含んでもよい。ビデオ・コンテンツは、生の又は非圧縮のフォーマット、例えば、8又は10ビットの多重成分ピクセル値で受信されてもよいし、又は圧縮された又は符号化されたフォーマットで受信されてもよい。入力1902は、ネットワーク・インターフェース、周辺バス・インターフェース、又は記憶インターフェースを表現している可能性がある。ネットワーク・インターフェースの例は、イーサーネット、光受動ネットワーク(PON)などのような有線インターフェースや、Wi-Fi又はセルラー・インターフェースのような無線インターフェースを含む。
【0033】
システム1900は、本件明細書で説明される種々のコーディング又は符号化方法を実装することが可能なコーディング構成要素1904を含んでもよい。コーディング構成要素1904は、入力1902からコーディング構成要素1904の出力までのビデオの平均ビットレートを低減して、ビデオのコーディングされた表現を生成することができる。従って、コーディング技術は、ビデオ圧縮又はビデオ・トランスコーディング技術と呼ばれることが間々ある。コーディング構成要素1904の出力は、記憶されてもよいし、あるいは構成要素1906によって表現されているように接続された通信を介して伝送されてもよい。入力1902で受信されたビデオの記憶又は通信されるビットストリーム(又はコーディングされた)表現は、ディスプレイ・インターフェース1910に送信されるピクセル値又は表示可能なビデオを生成するために、構成要素1908によって使用されてもよい。ビットストリーム表現から、ユーザーが視聴可能なビデオを生成するプロセスは、ビデオ解凍と呼ばれることが間々ある。更に、特定のビデオ処理操作は、「コーディングする」操作又はツールと称されるが、コーディング・ツール又は操作はエンコーダで使用され、コーディングの結果を逆向きに処理する対応する復号化ツール又は操作はデコーダで実行されるであろうということが理解されるであろう。
【0034】
周辺バス・インターフェース又はディスプレイ・インターフェースの例は、ユニバーサル・シリアル・バス(USB)又は高解像度マルチメディア・インターフェース(HDMI(登録商標))、ディスプレイポート(Displayport)などを含む可能性がある。ストレージ・インターフェースの例は、シリアル・アドバンスト・テクノロジ・アタッチメント(serial advanced technology attachment,SATA)、PCI、IDEインターフェースなどを含む。本件明細書で説明される技術は、携帯電話、ラップトップ、スマートフォン、又はその他のデバイスであってデジタル・データ処理及び/又はビデオ表示を実行することが可能なデバイス、のような種々の電子デバイスで具体化されることが可能である。
【0035】
図2は、ビデオ処理装置3600のブロック図である。装置3600は、本願で説明される1つ以上の方法を実装するために使用されてもよい。装置3600は、スマートフォン、タブレット、コンピュータ、モノのインターネット(Internet of Things,IoT)受信機などで具体化されてもよい。装置3600は、1つ以上のプロセッサ3602、1つ以上のメモリ3604、及びビデオ処理ハードウェア3606を含んでもよい。プロセッサ3602は、本件明細書で説明される1つ以上の方法を実装するように構成されてもよい。メモリ(memories)3604は、本願で説明される方法及び技術を実装するために使用されるデータ及びコードを記憶するために使用されてもよい。ビデオ処理ハードウェア3606は、ハードウェア回路において、本件明細書で説明される幾つかの技術を実装するために使用されてもよい。幾つかの実施形態では、ビデオ処理ハードウェア3606は、例えばグラフィックス・コプロセッサのようなプロセッサ3602に少なくとも部分的に含まれていてもよい。
【0036】
図4は、本開示の技術を利用することが可能な例示的なビデオ・コーディング・システム100を示すブロック図である。
【0037】
図4に示すように、ビデオ・コーディング・システム100は、送信元デバイス110及び送信先デバイス120を含む可能性がある。送信元デバイス110は、符号化されたビデオ・データを生成することが可能であり、ビデオ符号化デバイスと言及されてもよい。送信先デバイス120は、送信元デバイス110によって生成された符号化されたビデオ・データを復号化することが可能であり、ビデオ復号化デバイスと言及されてもよい。
【0038】
送信元デバイス110は、ビデオ・ソース112、ビデオ・エンコーダ114、及び入力/出力(I/O)インターフェース116を含むことが可能である。
【0039】
ビデオ・ソース112は、ビデオ・キャプチャ・デバイスのようなソース、ビデオ・コンテンツ・プロバイダーからビデオ・データを受信するためのインターフェース、及び/又はビデオ・データを生成するためのコンピュータ・グラフィックス・システム、又はそのようなソースの組み合わせを含んでもよい。ビデオ・データは、1つ以上のピクチャを含む可能性がある。ビデオ・エンコーダ114は、ビデオ・ソース112からのビデオ・データを符号化してビットストリームを生成する。ビットストリームは、ビデオ・データのコーディングされた表現を形成するビットのシーケンスを含む可能性がある。ビットストリームは、コーディングされたピクチャ及び関連するデータを含んでもよい。コーディングされたピクチャは、ピクチャのコーディングされた表現である。関連するデータは、シーケンス・パラメータ・セット、ピクチャ・パラメータ・セット、及び他のシンタックス構造を含んでもよい。I/Oインターフェース116は、変調器/復調器(モデム)及び/又は送信機を含んでもよい。符号化されたビデオ・データは、ネットワーク130aを通じてI/Oインターフェース116を介して送信先デバイス120へ直接的に送信されてもよい。符号化されたビデオ・データはまた、送信先デバイス120によるアクセスのために記憶媒体/サーバー130b上に格納されてもよい。
【0040】
送信先デバイス120は、I/Oインターフェース126、ビデオ・デコーダ124、及びディスプレイ・デバイス122を含んでもよい。
【0041】
I/Oインターフェース126は、受信機及び/又はモデムを含んでもよい。I/Oインターフェース126は、送信元デバイス110又は記憶媒体/サーバー130bから、符号化されたビデオ・データを取得することができる。ビデオ・デコーダ124は、符号化されたビデオ・データを復号化することができる。ディスプレイ・デバイス122は、復号化されたビデオ・データをユーザーに表示することができる。ディスプレイ・デバイス122は、送信先デバイス120と一体化されてもよいし、又は送信先デバイス120の外部にあってもよく、その場合の送信先デバイスは外部ディスプレイ・デバイスとのインターフェースとなるように構成される。
【0042】
ビデオ・エンコーダ114及びビデオ・デコーダ124は、高効率ビデオ・コーディング(High Efficiency Video Coding,HEVC)規格、汎用ビデオ・コーディング(Versatile Video Coding,VVC)規格、及びその他の現行及び/又は将来の規格のようなビデオ圧縮規格に従って動作することができる。
【0043】
図5はビデオ・エンコーダ200の一例を示すブロック図であり、これは図4に示すシステム100内のビデオ・エンコーダ114であってもよい。
【0044】
ビデオ・エンコーダ200は、本開示の技術の何れか又は全てを実行するように構成することができる。図5の例では、ビデオ・エンコーダ200は、複数の機能的な構成要素を含む。本開示で説明される技術は、ビデオ・エンコーダ200の種々の構成要素の間で共有されてもよい。幾つかの例において、プロセッサは、本開示で説明される技術の何れか又は全てを実行するように構成することができる。
【0045】
ビデオ・エンコーダ200の機能的な構成要素は、パーティション・ユニット201と、モード選択ユニット203、動き推定ユニット204、動き補償ユニット205、及びイントラ予測ユニット206を含むことが可能な予測ユニット202と、残差生成ユニット207と、変換ユニット208と、量子化ユニット209と、逆量子化ユニット210と、逆変換ユニット211と、再構成ユニット212と、バッファ213と、エントロピー符号化ユニット214とを含むことが可能である。
【0046】
他の例では、ビデオ・エンコーダ200は、より多い、より少ない、又は異なる機能的な構成要素を含むことができる。一例では、予測ユニット202は、イントラ・ブロック・コピー(IBC)ユニットを含むことができる。IBCユニットはIBCモードで予測を実行することが可能であり、そのモードでは、少なくとも1つの参照ピクチャは現在のビデオ・ブロックが配置されているピクチャである。
【0047】
更に、動き推定ユニット204や動き補償ユニット205のような幾つかの構成要素は、高度に統合されていてもよいが、説明のために図5の例では別々に表現されている。
【0048】
パーティション・ユニット201は、ピクチャを1つ以上のビデオ・ブロックにパーティション化することができる。ビデオ・エンコーダ200及びビデオ・デコーダ300は、様々なビデオ・ブロック・サイズをサポートすることができる。
【0049】
モード選択ユニット203は、コーディング・モードのうちの一方、インター又はイントラを、例えば誤り結果に基づいて選択し、その結果のイントラ・コーディング又はインター・コーディングされたブロックを、残差ブロック・データ生成のために残差生成ユニット207へ、及び参照ピクチャとして使用する符号化済みブロックの再構成のために再構成ユニット212へ提供する。幾つかの例では、モード選択ユニット203は、予測がインター予測信号及びイントラ予測信号に基づいているイントラ&インター予測コンビネーション(CIIP)モードを選択することができる。モード選択ユニット203はまた、インター予測の場合に、ブロックに対する動きベクトルの解像度(例えば、サブ・ピクセル又は整数ピクセル精度)を選択することができる。
【0050】
現在のビデオ・ブロックに関してインター予測を実行するために、動き推定ユニット204は、バッファ213からの1つ以上の参照フレームを現在のビデオ・ブロックと比較することによって、現在のビデオ・ブロックの動き情報を生成することができる。動き補償ユニット205は、現在のビデオ・ブロックに関連するピクチャ以外のバッファ213からのピクチャの動き情報及び復号化されたサンプルに基づいて、現在のビデオ・ブロックについて予測されるビデオ・ブロックを決定することができる。
【0051】
動き推定ユニット204と動き補償ユニット205は、例えば、現在のビデオ・ブロックがIスライスであるか、Pスライスであるか、又はBスライスであるかどうかに依存して、現在のビデオ・ブロックに対して様々な処理を実行することができる。
【0052】
幾つかの例では、動き推定ユニット204は、現在のビデオ・ブロックに対して片-方向予測を実行することができ、動き推定ユニット204は、現在のビデオ・ブロックに対する参照ピクチャ・ブロックについて、リスト0又はリスト1の参照ピクチャを検索することができる。次いで、動き推定ユニット204は、参照ビデオ・ブロックを含むリスト0又はリスト1内の参照ピクチャを示す参照インデックスと、現在のビデオ・ブロック及び参照ビデオ・ブロックの間の空間的変位を示す動きベクトルとを生成することができる。動き推定ユニット204は、参照インデックス、予測方向インジケータ、及び動きベクトルを、現在のビデオ・ブロックの動き情報として出力することができる。動き補償ユニット205は、現在のビデオ・ブロックの動き情報によって示される参照ビデオ・ブロックに基づいて、現在のブロックの予測されたビデオ・ブロックを生成することができる。
【0053】
他の例では、動き推定ユニット204は、現在のビデオ・ブロックに対して双-方向予測を実行することができ、動き推定ユニット204は、現在のビデオ・ブロックに対する参照ビデオ・ブロックについて、リスト0内の参照ピクチャを検索することができ、また、現在のビデオ・ブロックに対する別の参照ビデオ・ブロックについて、リスト1内の参照ピクチャを検索することができる。次いで、動き推定ユニット204は、参照ビデオ・ブロックを含むリスト0及びリスト1内の参照ピクチャを示す参照インデックスと、参照ビデオ・ブロック及び現在のビデオ・ブロックの間の空間的変位を示す動きベクトルとを生成することができる。動き推定ユニット204は、現在のビデオ・ブロックの動き情報として、現在のビデオ・ブロックの参照インデックスと動きベクトルを出力することができる。動き補償ユニット205は、現在のビデオ・ブロックの動き情報によって示される参照ビデオ・ブロックに基づいて、現在のビデオ・ブロックの予測されたビデオ・ブロックを生成することができる。
【0054】
幾つかの例では、動き推定ユニット204は、デコーダの復号化処理のための動き情報の完全なセットを出力することができる。
【0055】
幾つかの例では、動き推定ユニット204は、現在のビデオに対する動き情報の完全なセットを出力しない可能性がある。むしろ、動き推定ユニット204は、他のビデオ・ブロックの動き情報を参照して、現在のビデオ・ブロックの動き情報をシグナリングすることができる。例えば、動き推定ユニット204は、現在のビデオ・ブロックの動き情報が、隣接するビデオ・ブロックの動き情報と十分に類似していることを判断することができる。
【0056】
一例では、動き推定ユニット204は、現在のビデオ・ブロックに関連するシンタックス構造において、現在のビデオ・ブロックが別のビデオ・ブロックと同じ動き情報を有することをビデオ・デコーダ300に指示する値を指定することができる。
【0057】
別の例では、動き推定ユニット204は、現在のビデオ・ブロックに関連するシンタックス構造において、別のビデオ・ブロック及び動きベクトル差分(MVD)を識別することができる。動きベクトル差分は、現在のビデオ・ブロックの動きベクトルと指定されたビデオ・ブロックの動きベクトルとの間の差分を示す。ビデオ・デコーダ300は、指定されたビデオ・ブロックの動きベクトルと動きベクトル差分とを使用して、現在のビデオ・ブロックの動きベクトルを決定することができる。
【0058】
上述したように、ビデオ・エンコーダ200は、動きベクトルを予測的にシグナリングすることができる。ビデオ・エンコーダ200によって実現され得る予測シグナリング技術の2つの例は、アドバンスト動きベクトル予測(advanced motion vector predication,AMVP)及びマージ・モード・シグナリングを含む。
【0059】
イントラ予測ユニット206は、現在のビデオ・ブロックに対してイントラ予測を実行することができる。イントラ予測ユニット206が現在のビデオ・ブロックに対してイントラ予測を実行する場合、イントラ予測ユニット206は、同じピクチャ内の他のビデオ・ブロックの復号化されたサンプルに基づいて、現在のビデオ・ブロックに対する予測データを生成することができる。現在のビデオ・ブロックに対する予測データは、予測されるビデオ・ブロックと種々のシンタックス要素を含んでもよい。
【0060】
残差生成ユニット207は、現在のビデオ・ブロックから、現在のビデオ・ブロックの予測されたビデオ・ブロックを減算することによって(例えば、マイナス符号で示される)、現在のビデオ・ブロックに対する残差データを生成することができる。現在のビデオ・ブロックの残差データは、現在のビデオ・ブロック内のサンプルの異なるサンプル成分に対応する残差ビデオ・ブロックを含んでもよい。
【0061】
他の例では、例えばスキップ・モードでは、現在のビデオ・ブロックに関し、現在のビデオ・ブロックに対する残差データが存在しない場合があり、残差生成ユニット207は減算処理を実行しない可能性がある。
【0062】
変換処理ユニット208は、現在のビデオ・ブロックに関連する残差ビデオ・ブロックに、1つ以上の変換を適用することによって、現在のビデオ・ブロックに対する1つ以上の変換係数ビデオ・ブロックを生成することができる。
【0063】
変換処理ユニット208が現在のビデオ・ブロックに関連する変換係数ビデオ・ブロックを生成した後、量子化ユニット209は、現在のビデオ・ブロックに関連する1つ以上の量子化パラメータ(QP)値に基づいて、現在のビデオ・ブロックに関連する変換係数ビデオ・ブロックを量子化することができる。
【0064】
逆量子化ユニット210及び逆変換ユニット211はそれぞれ逆量子化及び逆変換を変換係数ビデオ・ブロックに適用し、変換係数ビデオ・ブロックから残差ビデオ・ブロックを再構成することができる。再構成ユニット212は、再構成された残差ビデオ・ブロックを、予測ユニット202によって生成された1つ以上の予測されたビデオ・ブロックからの対応するサンプルに追加し、現在のブロックに関連する再構成されたビデオ・ブロックを生成して、バッファ213に記憶することができる。
【0065】
再構成ユニット212がビデオ・ブロックを再構成した後、ループ・フィルタリング動作を実行し、ビデオ・ブロック内のビデオ・ブロッキング・アーチファクトを低減することができる。
【0066】
エントロピー符号化ユニット214は、ビデオ・エンコーダ200の他の機能的な構成要素からデータを受信することができる。エントロピー符号化ユニット214がデータを受信すると、エントロピー符号化ユニット214は、1つ以上のエントロピー符号化動作を実行して、エントロピー符号化されたデータを生成し、エントロピー符号化されたデータを含むビットストリームを出力することができる。
【0067】
図6は、ビデオ・デコーダ300の一例を示すブロック図であり、これは図4に示すシステム100内のビデオ・デコーダ114であってもよい。
【0068】
ビデオ・デコーダ300は、本開示の技術の何れか又は全てを実行するように構成することができる。図6の例では、ビデオ・デコーダ300は、複数の機能的構成要素を含む。本開示で説明される技術は、ビデオ・デコーダ300の種々の構成要素の間で共有されてもよい。幾つかの例において、プロセッサは、本開示で説明される技術の何れか又は全てを実行するように構成することができる。
【0069】
図6の例では、ビデオ・デコーダ300は、エントロピー復号化ユニット301と、動き補償ユニット302と、イントラ予測ユニット303と、逆量子化ユニット304と、逆変換ユニット305と、再構成ユニット306と、バッファ307とを含む。ビデオ・デコーダ300は、幾つかの例において、ビデオ・エンコーダ200(図5)に関して説明した符号化経路と概ね逆の復号化経路を実行することができる。
【0070】
エントロピー復号化ユニット301は、符号化されたビットストリームを取り出すことができる。符号化されたビットストリームは、エントロピー符号化されたビデオ・データ(例えば、ビデオ・データの符号化されたブロック)を含むことができる。エントロピー復号化ユニット301は、エントロピー符号化されたビデオ・データを復号化することができ、エントロピー復号化されたビデオ・データから、動き補償ユニット302は、動きベクトル、動きベクトル精度、参照ピクチャ・リスト・インデックス、及び他の動き情報を含む動き情報を決定することができる。動き補償ユニット302は、例えば、AMVP及びマージ・モードを実行することによって、そのような情報を決定することができる。
【0071】
動き補償ユニット302は、おそらくは補間フィルタに基づいて補間を実行することによって、動き補償されたブロックを生成することができる。サブ・ピクセル精度で使用される補間フィルタのための識別子が、シンタックス要素に含まれてもよい。
【0072】
動き補償ユニット302は、ビデオ・ブロックの符号化中にビデオ・エンコーダ20によって使用されるような補間フィルタを使用して、参照ブロックのサブ整数ピクセルに対する補間された値を計算してもよい。動き補償ユニット302は、受信したシンタックス情報に従ってビデオ・エンコーダ200によって使用される補間フィルタを決定し、補間フィルタを使用して予測ブロックを生成することができる。
【0073】
動き補償ユニット302は、シンタックス情報の一部を使用して、符号化されたビデオ・シーケンスのフレーム及び/又はスライスを符号化するために使用されるブロックのサイズ、符号化されたビデオ・シーケンスのピクチャの各マクロブロックがどのようにパーティション化されるかを記述するパーティション情報、各パーティションがどのように符号化されるかを示すモード、インター符号化されたブロック各々に対する1つ以上の参照フレーム(及び参照フレーム・リスト)、及び符号化されたビデオ・シーケンスを復号化するための他の情報を決定することができる。
【0074】
イントラ予測ユニット303は、例えば、ビットストリームで受信したイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成することができる。逆量子化ユニット303は、ビットストリーム内で提供される、エントロピー復号化ユニット301によって復号化される量子化されたビデオ・ブロック係数を、逆量子化する、即ち、量子化解除する。逆変換ユニット303は、逆変換を適用する。
【0075】
再構成ユニット306は、残差ブロックを、動き補償ユニット202又はイントラ予測ユニット303によって生成された対応する予測ブロックと合算して、復号化されたブロックを形成することができる。所望であれば、復号化されたブロックをフィルタリングしてブロック性アーチファクトを除去するために、デブロッキング・フィルタが適用されてもよい。次いで、復号化されたビデオ・ブロックはバッファ307に格納され、バッファ307は、後続の動き補償/イントラ予測のための参照ブロックを提供し、また、ディスプレイ・デバイスでの提示のために復号化されたビデオを生成する。
【0076】
幾つかの実施形態による好ましい解決策のリストを以下に与える。
【0077】
以下の解決策は前述のセクション(例えば、アイテム1-4)で議論した技術の例示的な実施形態を示す。
【0078】
1.ビジュアル・メディア処理方法(例えば、図3に示される方法3000)において、フォーマット・ルールに従ってビジュアル・メディア・データのビットストリームを保存するファイルとビジュアル・メディア・データとの間の変換を実行するステップ(3002)を含み、フォーマット・ルールは、ファイルで識別されるビットストリーム表現に関連するプロファイル、階層、制約又は階層に関連してファイルに含まれる情報に対する制約を指定している。
【0079】
2.解決策1の方法において、フォーマット・ルールは、ファイル内で識別されるビットストリーム表現の出力レイヤ・セットが従うプロファイルの身元をファイルが含んでいることを指定している。
【0080】
3.解決策1-2のうちの何れかの方法において、フォーマット・ルールは、ファイルで識別される階層が、ファイルに含まれる出力レイヤ・セットが従う全てのシンタックス構造において指定される最高階層以上であることを指定している。
【0081】
4.解決策1-3のうちの何れかの方法において、フォーマット・ルールは、ファイルで識別される制約が、ファイル内の出力レイヤ・セットが従う制約を指定するシンタックス構造の1つ以上の制約フィールドによって指定される対応する値に整合することを指定している。
【0082】
5.解決策1-4のうちの何れかの方法において、フォーマット・ルールは、ファイルで識別されるレベルが、ファイル内の出力レイヤ・セットが従うレベルを指定するシンタックス構造の1つ以上のレベル・フィールドによって指定される対応する値に整合することを指定している。
【0083】
6.解決策1-5のうちの何れかの方法において、変換は、ビジュアル・メディア・データのビットストリーム表現を生成すること、及びフォーマット・ルールに従ってビットストリーム表現をファイルに保存することを含む。
【0084】
7.解決策1-5のうちの何れかの方法において、変換は、ビジュアル・メディア・データを復元するためにフォーマット・ルールに従ってファイルを分析することを含む。
【0085】
8.ビデオ復号化装置において、解決策1-7のうちの1つ以上に記載された方法を実現するように構成されたプロセッサを含む。
【0086】
9.ビデオ符号化装置において、解決策1-7のうちの1つ以上に記載された方法を実現するように構成されたプロセッサを含む。
【0087】
10.コンピュータ・プログラム製品において、そこに保存されるコンピュータ・コードを有し、コードはプロセッサにより実行されると、解決策1-7のうちの何れかに記載の方法をプロセッサに実行させる。
【0088】
11.コンピュータ読み取り可能な媒体において、媒体におけるビットストリーム表現は、解決策1-7のうちの何れかに従って生成されるファイル・フォーマットに従っている。
【0089】
12.本件で説明される方法、装置、又はシステム。
【0090】
本件で説明される解決策において、エンコーダは、フォーマット・ルールに従ってコーディングされた表現を生成することによって、フォーマット・ルールに従うことが可能である。本件で説明される解決策において、デコーダは、フォーマット・ルールを使用して、フォーマット・ルールに従うシンタックス要素の存否の知識を用いて、コーディングされた表現におけるシンタックス要素を解析し、復号化されたビデオを生成することができる。
【0091】
技術1.ビジュアル・メディア・データを処理する方法(例えば、図8に示される方法8000)において、フォーマット・ルールに従ってビジュアル・メディア・データのビットストリームとビジュアル・メディア・ファイルとの間の変換を実行するステップ(8002)を含み、ビットストリームは、1つ以上のプロファイル階層レベル・シンタックス構造を含む1つ以上のパラメータ・セットと1つ以上の出力レイヤ・セットとを含み、プロファイル階層レベル・シンタックス構造のうちの少なくとも1つは一般制約情報シンタックス構造を含み、フォーマット・ルールは、シンタックス要素がビジュアル・メディア・ファイルのコンフィギュレーション・レコードに含まれることを指定し、シンタックス要素は、コンフィギュレーション・レコードで指定される出力レイヤ・セット・インデックスにより識別される出力レイヤ・セットが従うプロファイル、階層又はレベルを指定している。
【0092】
技術2.技術1の方法において、シンタックス要素は、出力レイヤ・セット・インデックスにより識別される出力レイヤ・セットが従うプロファイルを指定している。
【0093】
技術3.技術1の方法において、シンタックス要素は、出力レイヤ・セット・インデックスにより識別される出力レイヤ・セットが従う全てのプロファイル階層レベル・シンタックス構造において指定される最高階層以上である階層を指定する一般階層シンタックス要素である。
【0094】
技術4.技術1の方法において、シンタックス要素は、出力レイヤ・セット・インデックスにより識別される出力レイヤ・セットが従う全てのプロファイル階層レベル・シンタックス構造において指定される最高階層を指定する一般階層シンタックス要素である。
【0095】
技術5.技術1の方法において、シンタックス要素は、コンフィギュレーション・レコードに関連付けられるストリームが従う最高階層を指定する一般階層シンタックス要素である。
【0096】
技術6.技術1の方法において、シンタックス要素は、コンフィギュレーション・レコードに関連付けられるストリームが従う階層を指定する一般階層シンタックス要素である。
【0097】
技術7.技術1の方法において、コンフィギュレーション・レコードは一般制約情報シンタックス要素を含み、フォーマット・ルールは、一般制約情報シンタックス要素における第1ビットが、出力レイヤ・セット・インデックスにより識別される出力レイヤ・セットが従う全てのプロファイル階層レベル・シンタックス構造における全ての一般制約情報シンタックス構造における第2ビットに対応することを指定しており、フォーマット・ルールは、全ての一般制約情報シンタックス構造における第2ビットが1に等しく設定される場合に限り、第1ビットは1に設定されることを指定している。
【0098】
技術8.技術1の方法において、シンタックス要素は一般レベル・シンタックス要素であり、一般レベル・シンタックス要素の値は、出力レイヤ・セット・インデックスにより識別される出力レイヤ・セットが従う全てのプロファイル階層レベル・シンタックス要素において指定される最高レベル以上である能力のレベルを指定している。
【0099】
技術9.技術1の方法において、フォーマット・ルールは、ビジュアル・メディア・ファイルに保存されたストリームに含まれる1つ以上の他の出力レイヤ・セットにシンタックス要素が関連付けられることは許容されないことを指定している。
【0100】
技術10.技術1-9のうちの何れかの方法において、変換は、ビジュアル・メディア・ファイルを生成すること、及びフォーマット・ルールに従ってビットストリームをビジュアル・メディア・ファイルに保存することを含む。
【0101】
技術11.技術1-9うちの何れかの方法において、変換は、ビジュアル・メディア・ファイルを生成することを含み、方法は、ビジュアル・メディア・ファイルを、非一時的なコンピュータ読み取り可能な記録媒体に保存するステップを更に含む。
【0102】
技術12.技術1-9うちの何れかの方法において、変換は、ビットストリームを再構築するためにフォーマット・ルールに従ってビジュアル・メディア・ファイルを分析することを含む。
【0103】
技術13.技術1-12うちの何れかの方法において、ビジュアル・メディア・ファイルは多用途ビデオ・コーディング(VVC)によって処理される。
【0104】
技術14.ビジュアル・メディア・データを処理する装置において、プロセッサと命令を伴う非一時的なメモリとを含み、命令は、プロセッサによって実行されると、技術1-13のうちの1つ以上に記載された方法をプロセッサに実行させる。
【0105】
技術15.技術1-13のうちの何れかに記載の方法をプロセッサに実行させる命令を保存する非一時的なコンピュータ読み取り可能な記憶媒体。
【0106】
技術16.ビデオ復号化装置において、技術1-13のうちの任意の1つ以上に記載された方法を実現するように構成されたプロセッサを含む。
【0107】
技術17.ビデオ符号化装置において、技術1-13のうちの任意の1つ以上に記載された方法を実現するように構成されたプロセッサを含む。
【0108】
技術18.コンピュータ・プログラム製品において、そこに保存されるコンピュータ・コードを有し、コードはプロセッサにより実行されると、技術1-13のうちの何れかに記載の方法をプロセッサに実行させる。
【0109】
技術19.コンピュータ読み取り可能な媒体において、ビジュアル・メディア・ファイルは、技術1-13のうちの何れかに従って生成されるファイル・フォーマットに従っている。
【0110】
技術20.ビジュアル・メディア・ファイル生成方法において、技術1-13のうちの何れかに記載の方法に従ってビジュアル・メディア・ファイルを生成するステップと、ビジュアル・メディア・ファイルをコンピュータ読み取り可能なプログラム媒体に保存するステップとを含む。
【0111】
技術21.ビデオ処理装置によって実行される方法によって生成されたビジュアル・メディア・ファイルのビットストリームを保存する非一時的なコンピュータ読み取り可能な記録媒体において、方法は技術1-13のうちの何れかに記載されているものである。幾つかの実施形態において、非一時的なコンピュータ読み取り可能な記憶媒体は、ビデオ処理装置によって実行される方法によって生成されるビジュアル・メディア・ファイルのビットストリームを保存し、方法は、フォーマット・ルールに従ってビジュアル・メディア・データに基づいてビジュアル・メディア・ファイルを生成するステップを含み、ビットストリームは、1つ以上のプロファイル階層レベル・シンタックス構造を含む1つ以上のパラメータ・セットと1つ以上の出力レイヤ・セットとを含み、プロファイル階層レベル・シンタックス構造のうちの少なくとも1つは一般制約情報シンタックス構造を含み、フォーマット・ルールは、シンタックス要素がビジュアル・メディア・ファイルのコンフィギュレーション・レコードに含まれることを指定し、シンタックス要素は、コンフィギュレーション・レコードで指定される出力レイヤ・セット・インデックスにより識別される出力レイヤ・セットが従うプロファイル、階層又はレベルを指定している。
【0112】
実装1.ビジュアル・メディア・データを処理する方法において(例えば、図9に示される方法9000)、フォーマット・ルールに従ってビジュアル・メディア・データのビットストリームとビジュアル・メディア・ファイルとの間の変換を実行するステップ(9002)を含み、フォーマット・ルールは、ビジュアル・メディア・ファイルにおけるシンタックス要素の特徴を指定し、シンタックス要素は、ビットストリームに関連する制約情報を指定するために使用されるバイト数を表す値を有する。
【0113】
実装2.実装1に記載の方法において、フォーマット・ルールは、シンタックス要素がビジュアル・メディア・ファイルにおいて6ビットを使用してコーディングされることを指定している。
【0114】
実装3.実装1に記載の方法において、フォーマット・ルールは、ビジュアル・メディア・ファイルにおけるプロファイル階層レベル・マルチレイヤのイネーブルされたフラグ・シンタックス要素の直後にビジュアル・メディア・ファイルでコーディングされることを指定している。
【0115】
実装4.実装1に記載の方法において、フォーマット・ルールは、シンタックス要素が、ビジュアル・メディア・ファイルにおける一般制約情報シンタックス要素におけるバイト数を指定し、フォーマット・ルールは、1に等しいシンタックス要素の値は、一般制約情報シンタックス要素における一般制約情報フラグが0に等しいこと、及び一般制約情報シンタックス要素はビジュアル・メディア・ファイルのプロファイル階層レベル・レコードに含まれるようには許容されないこと、を示すことを指定している。
【0116】
実装5.実装1に記載の方法において、フォーマット・ルールは、一般制約情報シンタックス要素をビジュアル・メディア・ファイルに含める条件は、シンタックス要素により指定される値が1より大きいかどうかに依存することを指定している。
【0117】
実装6.実装1に記載の方法において、フォーマット・ルールは、フォーマット・ルールは、ビジュアル・メディア・ファイルにおいて一般制約情報シンタックス要素をコーディングするために使用されるビット数は、制約情報を指定するために使用されるバイト数を表す値と8との乗算の結果であることを指定し、フォーマット・ルールは、制約情報を指定するために使用されるバイト数を表す値と8との乗算の結果は2を減算されない。
【0118】
実装7.ビジュアル・メディア・データを処理する方法において、フォーマット・ルールに従ってビジュアル・メディア・データのビットストリームとビジュアル・メディア・ファイルとの間の変換を実行するステップを含み、フォーマット・ルールは、ビジュアル・メディア・ファイルにおいてシンタックス要素のために5ビットが使用されることを指定し、シンタックス要素は、ビジュアル・メディア・ファイルのデコーダ設定レコードにおいてネットワーク抽象化レイヤ・ユニット・タイプを示す値を有する。幾つかの実施形態において、フォーマット・ルールは、ビジュアル・メディア・ファイルにおいて別のシンタックス要素のために5ビットが使用されることを指定し、別のシンタックス要素は、ビジュアル・メディア・ファイルのデコーダ設定レコードにおいてネットワーク抽象化レイヤ・ユニット・タイプを示す別の値を有する。
【0119】
実装8.ビジュアル・メディア・データを処理する方法において、フォーマット・ルールに従ってビジュアル・メディア・データのビットストリームとビジュアル・メディア・ファイルとの間の変換を実行するステップを含み、ビジュアル・メディア・ファイルのトラックは1つ以上の出力レイヤ・セットを含むビデオ・ビットストリームを含み、フォーマット・ルールは、トラックのためにシンタックス要素が指定されることを指定し、シンタックス要素は、トラックが、1つ以上の出力レイヤ・セットのうちの特定の出力レイヤ・セットに対応するビデオ・ビットストリームを含むかどうかを示す。幾つかの実施形態において、ビジュアル・メディア・ファイルのトラックは、1つ以上の出力レイヤ・セットを含むビデオ・ビットストリームを含み、フォーマット・ルールは、トラックのために別のシンタックス要素が指定されることを指定し、別のシンタックス要素は、トラックが、1つ以上の出力レイヤ・セットのうちの特定の出力レイヤ・セットに対応するビデオ・ビットストリームを含むかどうかを示す。
【0120】
実装9.実装8に記載の方法において、シンタックス要素は、トラックが、複数の出力レイヤ・セットに対応するビデオ・ビットストリームを含むことを示す。幾つかの実施形態において、別のシンタックス要素が、トラックが、複数の出力レイヤ・セットに対応するビデオ・ビットストリームを含むことを示す。
【0121】
実装10.実装8に記載の方法において、シンタックス要素は、トラックが、1つ以上の出力レイヤ・セットのうちの特定の出力レイヤ・セットに対応しないビデオ・ビットストリームを含むことを示す。幾つかの実施形態において、別のシンタックス要素は、トラックが、1つ以上の出力レイヤ・セットのうちの特定の出力レイヤ・セットに対応しないビデオ・ビットストリームを含むことを示す。
【0122】
実装11.ビジュアル・メディア・データを処理する方法において、フォーマット・ルールに従ってビジュアル・メディア・データのビットストリームとビジュアル・メディア・ファイルとの間の変換を実行するステップを含み、フォーマット・ルールは、ビジュアル・メディア・ファイルがシンタックス要素を含み、シンタックス要素の値は、出力レイヤ・セットを示すために使用される出力レイヤ・セット・インデックスを示す。幾つかの実施形態において、フォーマット・ルールは、ビジュアル・メディア・ファイルが別のシンタックス要素を含むかどうかを指定し、別のシンタックス要素の値は、出力レイヤ・セットを示すために使用される出力レイヤ・セットを示す。
【0123】
実装12.実装11に記載の方法において、フォーマット・ルールは、ビジュアル・メディア・ファイルにおけるプロファイル階層の現在のフラグ・シンタックス要素の別の値が1に等しいことに応じて、又はプロファイル階層レイヤ・マルチレイヤ・イネーブル・フラグが1に等しいことに応じて、ビジュアル・メディア・ファイルがシンタックス要素を選択的に示すことを指定し、シンタックス要素の値は、デコーダ設定レコードにおける出力レイヤ・セット・インデックスを示す。幾つかの実施形態において、フォーマット・ルールは、ビジュアル・メディア・ファイルにおけるプロファイル階層の現在のフラグ・シンタックス要素の別の値が1に等しいことに応じて、又はプロファイル階層レイヤ・マルチレイヤ・イネーブル・フラグが1に等しいことに応じて、ビジュアル・メディア・ファイルが別のシンタックス要素を選択的に示すことを指定し、シンタックス要素の値は、デコーダ設定レコードにおける出力レイヤ・セット・インデックスを示す。
【0124】
実装13.実装11に記載の方法において、フォーマット・ルールは、ビジュアル・メディア・ファイルは、シンタックス要素であってその値が出力レイヤ・セット・インデックスを示すもの、を含むことを許容されないことを指定し、フォーマット・ルールは、プロファイル階層の現在のフラグ・シンタックス要素がビジュアル・メディア・ファイルにおいて1に等しいことに応じて、出力レイヤ・セット・インデックスの値が、トラックで搬送される唯一のレイヤを含む第2出力レイヤ・セットの第2出力レイヤ・インデックスの第2値に等しいと推定されることを指定している。フォーマット・ルールは、ビジュアル・メディア・ファイルは、別のシンタックス要素であってその値が出力レイヤ・セット・インデックスを示すもの、を含むことを許容されないことを指定し、フォーマット・ルールは、プロファイル階層の現在のフラグ・シンタックス要素がビジュアル・メディア・ファイルにおいて1に等しいことに応じて、出力レイヤ・セット・インデックスの値が、トラックで搬送される唯一のレイヤを含む第2出力レイヤ・セットの第2出力レイヤ・インデックスの第2値に等しいと推定されることを指定している。
【0125】
実装14.実装1-13のうちの何れかの方法において、変換は、ビジュアル・メディア・ファイルを生成すること、及びフォーマット・ルールに従ってビットストリームをビジュアル・メディア・ファイルに保存することを含む。
【0126】
実装15.実装1-13のうちの何れかの方法において、変換は、ビジュアル・メディア・ファイルを生成することを含み、方法は、ビジュアル・メディア・ファイルを、非一時的なコンピュータ読み取り可能な記録媒体に保存するステップを更に含む。
【0127】
実装16.実装1-13のうちの何れかの方法において、変換は、ビットストリームを再構築するためにフォーマット・ルールに従ってビジュアル・メディア・ファイルを分析することを含む。
【0128】
実装17.実装1-16のうちの何れかの方法において、ビジュアル・メディア・ファイルは多用途ビデオ・コーディング(VVC)によって処理される。
【0129】
実装18.実装1-17のうちの何れかに記載の方法において、プロセッサと命令を伴う非一時的なメモリとを含み、命令は、プロセッサによって実行されると、実装1-17のうちの1つ以上に記載された方法をプロセッサに実行させる。
【0130】
実装19.実装1-13のうちの何れかに記載の方法をプロセッサに実行させる命令を保存する非一時的なコンピュータ読み取り可能な記憶媒体。
【0131】
実装20.ビデオ復号化装置において、実装1-17のうちの1つ以上に記載された方法を実現するように構成されたプロセッサを含む。
【0132】
実装21.ビデオ符号化装置において、実装1-17のうちの1つ以上に記載された方法を実現するように構成されたプロセッサを含む。
【0133】
実装22.コンピュータ・プログラム製品において、そこに保存されるコンピュータ・コードを有し、コードはプロセッサにより実行されると、実装1-17のうちの何れかに記載された方法をプロセッサに実行させる。
【0134】
実装23.コンピュータ読み取り可能な媒体において、ビジュアル・メディア・ファイルは、実装1-17のうちの何れかに従って生成されるファイル・フォーマットに従っている。
【0135】
実装24.ビジュアル・メディア・ファイル生成方法において、実装1-17のうちの何れかに記載の方法に従ってビジュアル・メディア・ファイルを生成するステップと、ビジュアル・メディア・ファイルをコンピュータ読み取り可能なプログラム媒体に保存するステップとを含む。
【0136】
実装25.実装1-17のうちの何れかに記載の方法において、ビデオ処理装置によって実行される方法によって生成されたビジュアル・メディア・ファイルのビットストリームを保存する非一時的なコンピュータ読み取り可能な記録媒体において、方法は実装1-17のうちの何れかに記載されているものである。ビデオ処理装置により実行される方法により生成されるビジュアル・メディア・ファイルのビットストリームを保存する非一時的なコンピュータ読み取り可能な記録媒体において、方法は、フォーマット・ルールに従ってビジュアル・メディア・データに基づいてビジュアル・メディア・ファイルを生成するステップを含み、フォーマット・ルールは、ビジュアル・メディア・ファイルにおいてシンタックス要素の特徴を指定し、 シンタックス要素は、ビットストリームに関連する制約情報を示すために使用されるバイト数を示す値を有する。
【0137】
動作1.ビジュアル・メディア・データを処理する方法(例えば、図10に示される方法10002)において、フォーマット・ルールに従ってビジュアル・メディア・データのビットストリームとビジュアル・メディア・ファイルとの間の変換を実行するステップ(10002)を含み、フォーマット・ルールは、ビジュアル・メディア・ファイルのシンタックス要素の特徴を指定し、フォーマット・ルールは、レベル識別(身元)を表す値を有するシンタックス要素は、サブピクチャ共通グループ・ボックス又はサブピクチャ複数グループ・ボックスのうちの任意の1つ又は双方において8ビットを用いてコーディングされることを指定している。
【0138】
動作2.動作1の方法において、フォーマット・ルールは、シンタックス要素であってその値はレベル識別を表すもの、の直後の予約ビットの不存在を指定している。
【0139】
動作3.動作1の方法において、フォーマット・ルールは、シンタックス要素であってその値はレベル識別を表すもの、の直後の24ビットは予約ビットであることを指定している。
【0140】
動作4.動作1の方法において、フォーマット・ルールは、シンタックス要素であってその値はレベル識別を表すもの、の直後の8ビットは予約ビットであることを指定している。
【0141】
動作5.ビジュアル・メディア・データを処理する方法において、フォーマット・ルールに従ってビジュアル・メディア・データのビットストリームとビジュアル・メディア・ファイルとの間の変換を実行するステップを含み、フォーマット・ルールは、ビジュアル・メディア・ファイルにおける第1シンタックス要素、第2シンタックス要素、又は第3シンタックス要素セットに関連する特徴を指定し、第1シンタックス要素は、ビジュアル・メディア・ファイルにおけるアクティブなトラックの数を示す第1値を有し、第2シンタックス要素は、ビジュアル・メディア・ファイルにおけるサブグループ識別子の数を示す第2値を有し、第3シンタックス要素セットの各シンタックス要素は、ビジュアル・メディア・ファイルにおけるアクティブなトラックの数を示す第3値を有する。幾つかの実施形態において、フォーマット・ルールは、ビジュアル・メディア・ファイルにおける第1シンタックス要素、第2シンタックス要素、又は第3シンタックス要素セットに関連する特徴を指定し、第1シンタックス要素は、ビジュアル・メディア・ファイルにおけるアクティブなトラックの数を示す第1値を有し、第2シンタックス要素は、ビジュアル・メディア・ファイルにおけるサブグループ識別子の数を示す第2値を有し、第3シンタックス要素セットの各シンタックス要素は、ビジュアル・メディア・ファイルにおけるアクティブなトラックの数を示す第3値を有する。
【0142】
動作6.動作5の方法において、フォーマット・ルールは、ビジュアル・メディア・ファイルのサブピクチャ共通グループ・ボックスにおけるアクティブなトラックの数を示す第1値を有する第1シンタックス要素を指定するために、16ビットが使用されることを指定している。
【0143】
動作7.動作5の方法において、フォーマット・ルールは、ビジュアル・メディア・ファイルのサブピクチャ複数グループ・ボックスにおけるサブグループ識別子の数を示す第2値を有する第2シンタックス要素を指定するために、16ビットが使用されることを指定し、フォーマット・ルールは、ビジュアル・メディア・ファイルのサブピクチャ複数グループ・ボックスにおけるアクティブなトラックの数を示す第3値を有する第3シンタックス要素セットの各シンタックス要素を指定するために、16ビットが使用されることを指定している。
【0144】
動作8.動作5の方法において、フォーマット・ルールは、アクティブなトラックの数を示す第1値を有する第1シンタックス要素の直後の16ビットは予約されており、第2シンタックス要素はサブグループ識別子の数を示し、或いはアクティブなトラックの数を示す第3値を有する第3シンタックス要素セットの各シンタックス要素は予約されていることを指定している。
【0145】
動作9.動作5の方法において、フォーマット・ルールは、アクティブなトラックの数を示す第1値を有する第1シンタックス要素の直後での予約ビットの不存在を指定し、第2シンタックス要素はサブグループ識別子の数を示し、或いはアクティブなトラックの数を示す第3値を有する第3シンタックス要素セットの各シンタックス要素は予約されている。
【0146】
動作10.動作1-9のうちの何れかの方法において、変換は、ビジュアル・メディア・ファイルを生成すること、及びフォーマット・ルールに従ってビットストリームをビジュアル・メディア・ファイルに保存することを含む。
【0147】
動作11.動作1-9うちの何れかの方法において、変換は、ビジュアル・メディア・ファイルを生成することを含み、方法は、ビジュアル・メディア・ファイルを、非一時的なコンピュータ読み取り可能な記録媒体に保存するステップを更に含む。
【0148】
動作12.動作1-9うちの何れかの方法において、変換は、ビットストリームを再構築するためにフォーマット・ルールに従ってビジュアル・メディア・ファイルを分析することを含む。
【0149】
動作13.動作1-12うちの何れかの方法において、ビジュアル・メディア・ファイルは多用途ビデオ・コーディング(VVC)によって処理される。
【0150】
動作14.ビジュアル・メディア・データを処理する装置において、プロセッサと命令を伴う非一時的なメモリとを含み、命令は、プロセッサによって実行されると、動作1-13のうちの1つ以上に記載された方法をプロセッサに実行させる。
【0151】
動作15.動作1-13のうちの何れかに記載の方法をプロセッサに実行させる命令を保存する非一時的なコンピュータ読み取り可能な記憶媒体。
【0152】
動作16.ビデオ復号化装置において、動作1-13のうちの1つ以上に記載された方法を実現するように構成されたプロセッサを含む。
【0153】
動作17.ビデオ符号化装置において、動作1-13のうちの1つ以上に記載された方法を実現するように構成されたプロセッサを含む。
【0154】
動作18.コンピュータ・プログラム製品において、そこに保存されるコンピュータ・コードを有し、コードはプロセッサにより実行されると、動作1-13のうちの何れかに記載の方法をプロセッサに実行させる。
【0155】
動作19.コンピュータ読み取り可能な媒体において、ビジュアル・メディア・ファイルは、動作1-13のうちの何れかに従って生成されるファイル・フォーマットに従っている。
【0156】
動作20.ビジュアル・メディア・ファイル生成方法において、動作1-13のうちの何れかに記載された方法に従ってビジュアル・メディア・ファイルを生成するステップと、ビジュアル・メディア・ファイルをコンピュータ読み取り可能なプログラム媒体に保存するステップとを含む。
【0157】
動作21.ビデオ処理装置によって実行される方法によって生成されたビジュアル・メディア・ファイルのビットストリームを保存する非一時的なコンピュータ読み取り可能な記録媒体において、方法は動作1-13のうちの何れかに記載されているものである。幾つかの実施形態において、非一時的なコンピュータ読み取り可能な記憶媒体は、ビデオ処理装置によって実行される方法によって生成されるビジュアル・メディア・ファイルのビットストリームを保存し、方法は、フォーマット・ルールに従ってビジュアル・メディア・データに基づいてビジュアル・メディア・ファイルを生成するステップを含み、フォーマット・ルールは、ビジュアル・メディア・ファイルのシンタックス要素の特徴を指定し、フォーマット・ルールは、レベル識別を表す値を有するシンタックス要素は、サブピクチャ共通グループ・ボックス又はサブピクチャ複数グループ・ボックスのうちの任意の1つ又は双方において8ビットを用いてコーディングされることを指定している。
【0158】
本件明細書において、「ビデオ処理」という用語は、ビデオ符号化、ビデオ復号化、ビデオ圧縮又はビデオ解凍を指す可能性がある。例えば、ビデオ圧縮アルゴリズムは、ビデオのピクセル表現から、対応するビットストリーム表現へ、又はその逆への変換の間に適用される可能性がある。現在のビデオ・ブロックのビットストリーム表現は、例えばシンタックスによって定義されるように、ビットストリーム内で同じ場所にあるか又は異なる場所に拡散されるビットに対応してもよい。例えば、マクロブロックは、変換されたコーディングされたエラー残差値の観点から、また、ビットストリーム内のヘッダ及び他のフィールドのビットを使用してコーディングされてもよい。更に、変換中に、デコーダは、上述のソリューションで説明されているように、判定に基づいて、何らかフィールドが存在するか又は存在しない可能性があるという情報を用いて、ビットストリームを解析してもよい。同様に、エンコーダは、特定のシンタックス・フィールドが含まれるか、又は含まれるべきでないかを決定し、それに応じて、コーディングされた表現にシンタックス・フィールドを含めるか又はコーディングされた表現からシンタックス・フィールドを除外することによって、コーディングされた表現を生成することができる。
【0159】
開示された及びその他の解決手段、具体例、実施形態、モジュール、及び機能的動作は、本件明細書で開示される構造及びそれらの構造的均等物を含む、デジタル電子回路、又はコンピュータ・ソフトウェア、ファームウェア、又はハードウェア、又はそれらの1つ以上の組み合わせにおいて実現することができる。開示される及びその他の実施形態は、1つ以上のコンピュータ・プログラム製品として、即ち、データ処理装置による実行のための、又はその動作を制御するための、コンピュータ読み取り可能な媒体上で符号化されているコンピュータ・プログラム命令の1つ以上のモジュールとして、実装することができる。コンピュータ読み取り可能な媒体は、機械読み取り可能なストレージ・デバイス、機械読み取り可能なストレージ基板、メモリ・デバイス、機械読み取り可能な伝搬信号に影響を及ぼす物質の組成、又はそれらの1つ以上の組み合わせであるとすることが可能である。用語「データ処理装置」は、例えば、プログラマブル・プロセッサ、コンピュータ、又は複数のプロセッサ又はコンピュータを含む、データを処理するためのすべての装置、デバイス、及び機械を包含する。装置は、ハードウェアに加えて、問題としているコンピュータ・プログラムの実行環境を生成するコード、例えば、プロセッサ・ファームウェア、プロトコル・スタック、データベース管理システム、オペレーティング・システム、又はそれらの1つ以上の組み合わせを構成するコードを含むことができる。伝搬する信号は、人工的に生成された信号、例えば、適切な受信装置への送信のために情報を符号化するために生成されるマシンにより生成された電気信号、光学信号、又は電磁信号である。
【0160】
コンピュータ・プログラム(プログラム、ソフトウェア、ソフトウェア・アプリケーション、スクリプト、コードとしても知られている)は、コンパイル又は解釈された言語を含む、任意の形式のプログラミング言語で書くことが可能であり、それは、スタンド・アロン・プログラムとして、又はモジュール、コンポーネント、サブルーチン、又はコンピューティング環境での使用に適したその他のユニットとして、任意の形式で配備することができる。コンピュータ・プログラムは、必ずしもファイル・システム内のファイルに対応するとは限らない。プログラムは、他のプログラム又はデータを保持するファイルの一部分(例えば、マークアップ言語文書に記憶される1つ以上のスクリプト)内に、問題としているプログラム専用の単一ファイル内に、又は複数の調整されたファイル(例えば、1つ以上のモジュール、サブ・プログラム、又はコードの一部分を記憶するファイル)内に、保存されることが可能である。コンピュータ・プログラムは、1つのコンピュータ上で又は複数のコンピュータ上で実行されるように配備することが可能であり、複数のコンピュータは、1つのサイトに配置されるか、又は複数のサイトにわたって分散されて通信ネットワークによって相互接続されている。
【0161】
本件明細書で説明されるプロセス及びロジックの流れは、1つ以上のコンピュータ・プログラムを実行する1つ以上のプログラマブル・プロセッサによって実行され、入力データに作用して出力を生成することによって機能を実行することができる。プロセス及びロジックの流れはまた、例えばFPGA(フィールド・プログラマブル・ゲート・アレイ)又はASIC(特定用途向け集積回路)のような特殊目的論理回路によって実行されることが可能であり、また、それらとして装置を実装することも可能である。
【0162】
コンピュータ・プログラムの実行に適したプロセッサは、例えば、汎用及び専用双方のマイクロプロセッサ、及び任意の種類のデジタル・コンピュータの任意の1つ以上のプロセッサを含む。一般に、プロセッサは、リード・オンリ・メモリ又はランダム・アクセス・メモリ又は双方から命令及びデータを受信するであろう。コンピュータの本質的な要素は、命令を実行するためのプロセッサと、命令及びデータを記憶するための1つ以上のメモリ・デバイスである。一般に、コンピュータはまた、データを記憶するための1つ以上の大容量ストレージ・デバイス、例えば磁気的なもの、磁気光ディスク、又は光ディスクを含み、あるいはそれらからデータを受信したり、それらへデータを転送したり、若しくは双方のために動作可能に結合される。しかしながら、コンピュータがそのようなデバイスを有することは必須ではない。コンピュータ・プログラム命令及びデータを記憶するのに適したコンピュータ読み取り可能な媒体は、例えば、EPROM、EEPROM、及びフラッシュ・メモリ・デバイスのような半導体メモリ・デバイス;磁気ディスク、例えば内部ハード・ディスク又はリムーバブル・ディスク;光磁気ディスク;並びにCD ROM及びDVD-ROMディスク;を含む、あらゆる形態の不揮発性メモリ、媒体及びメモリ・デバイスを含む。プロセッサ及びメモリは、特殊目的論理回路によって補足されるか、又はそこに内蔵されることが可能である。
【0163】
本件明細書は多くの詳細を含んでいるが、これらは、何れかの対象事項やクレームされ得るものの範囲に関する限定として解釈されるべきではなく、むしろ特定の技術の特定の実施形態に特有である可能性がある特徴の説明として解釈されるべきである。別々の実施形態の文脈で本件明細書で説明される特定の特徴は、組み合わせて単一の実施形態で実施することも可能である。逆に、単一の実施形態の文脈で説明されている種々の特徴は、複数の実施形態において別々に、又は任意の適切なサブコンビネーションで実施することも可能である。更に、特徴が、特定の組み合わせにおいて作用するものとして上述されていたり、当初にそのようにクレームされていたりさえするかもしれないが、クレームされた組み合わせからの1つ以上の特徴は、場合によっては、組み合わせから切り出されることが可能であり、クレームされた組み合わせは、サブコンビネーション又はサブコンビネーションの変形例に仕向けられる可能性がある。
【0164】
同様に、図中、動作は特定の順序で記述されているが、これは、所望の結果を達成するために、このような動作が図示の特定の順序で又は順番通りに実行されること、又は、例示されたすべての動作が実行されること、を要求するものとして理解されるべきではない。更に、この特許文献で説明される実施形態における種々のシステム構成要素の分け方は、すべての実施形態でこのような分け方を要求とするものとして理解されるべきではない。
【0165】
僅かな実装例及び実施例のみが記述されているに過ぎず、本特許文献で説明され図示されているものに基づいて他の実装、拡張及び変更を行うことができる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10