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

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

▶ バイトダンス インコーポレイテッドの特許一覧

特許7529807映像サブビットストリーム抽出処理におけるスケーラブルネスト化されたSEIメッセージのハンドリング
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-29
(45)【発行日】2024-08-06
(54)【発明の名称】映像サブビットストリーム抽出処理におけるスケーラブルネスト化されたSEIメッセージのハンドリング
(51)【国際特許分類】
   H04N 19/70 20140101AFI20240730BHJP
   H04N 19/30 20140101ALI20240730BHJP
【FI】
H04N19/70
H04N19/30
【請求項の数】 13
(21)【出願番号】P 2022571346
(86)(22)【出願日】2021-05-21
(65)【公表番号】
(43)【公表日】2023-06-22
(86)【国際出願番号】 US2021033717
(87)【国際公開番号】W WO2021237126
(87)【国際公開日】2021-11-25
【審査請求日】2022-12-16
(31)【優先権主張番号】63/029,308
(32)【優先日】2020-05-22
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520477474
【氏名又は名称】バイトダンス インコーポレイテッド
【氏名又は名称原語表記】BYTEDANCE INC.
【住所又は居所原語表記】12655 West Jefferson Boulevard, Sixth Floor, Suite No. 137 Los Angeles, California 90066 United States of America
(74)【代理人】
【識別番号】110002000
【氏名又は名称】弁理士法人栄光事務所
(72)【発明者】
【氏名】ワン イェクイ
【審査官】田中 純一
(56)【参考文献】
【文献】特表2017-522779(JP,A)
【文献】米国特許出願公開第2015/0358640(US,A1)
【文献】特表2017-510198(JP,A)
【文献】米国特許出願公開第2015/0271498(US,A1)
【文献】特表2017-510100(JP,A)
【文献】米国特許出願公開第2016/0309159(US,A1)
【文献】Virginie Drugeon,Specification for JVET-S0097 [online], JVET-S JVET-S0097,ITU-T インターネット<URL:https://jvet-experts.org/doc_end_user/documents/19_Teleconference/wg11/JVET-S0097-v1.zip>,2020年05月22日,pp.i-v, pp.1-487
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
映像データの処理の方法であって、
規則に従って、1または複数のレイヤを含む映像と、前記映像のビットストリームとの間の変換を実行することを有し、
前記規則は、出力サブビットストリームを出力するためのサブビットストリーム抽出の処理において、スケーラブルネスティングSEI(Supplementary Enhancement Information)メッセージからスケーラブルネスト化されたSEIメッセージを抽出することにより、非スケーラブルネスト化されたSEIメッセージを生成するか否かは、前記スケーラブルネスティングSEIメッセージが特定のOLS(Output Layer Set)に適用されるか否かを示す第1のフラグ、および、前記スケーラブルネスティングSEIメッセージがすべてのサブピクチャまたは特定のサブピクチャのみに適用されるかを示す第2のフラグに基づくことを規定する、方法。
【請求項2】
前記スケーラブルネスティングSEIメッセージは、前記出力サブビットストリームに含まれる第1のSEI NALユニットに含まれ、
前記非スケーラブルネスト化されたSEIメッセージが生成される場合、第2のSEI NALユニットが生成され、前記スケーラブルネスト化されたSEIメッセージが前記スケーラブルネスティングSEIメッセージから抽出され、かつ、前記非スケーラブルネスト化されたSEIメッセージとして前記第2のSEI NALユニットに含まれる、請求項1に記載の方法。
【請求項3】
前記第2のSEI NALユニットは、前記第1のSEI NALユニットを含むPUにおいて、前記第1のSEI NALユニットの直後に含まれる、請求項2に記載の方法。
【請求項4】
前記第1のSEI NALユニットは、前記出力サブビットストリームから除去される、請求項2または3に記載の方法。
【請求項5】
前記規則は、条件のセットを満たす場合に、前記非スケーラブルネスト化されたSEIメッセージを生成することを規定し、
前記条件のセットは、前記第2のフラグが、前記特定のOLSに適用する前記SEIメッセージを前記特定のOLSのすべてのサブピクチャに適用することを規定する第2の値を有することを含む、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記条件のセットは更に、前記第1のフラグが、前記SEIメッセージを特定のOLS(Output Layer Set)に適用することを規定する第1の値を有することを含む、請求項5に記載の方法。
【請求項7】
前記規則は、条件のセットを満たす場合に、前記非スケーラブルネスト化されたSEIメッセージを生成することを規定し、
前記条件のセットは、着目OLSインデックスを有するOLSのNALユニットヘッダの識別子の値のリストが、サブビットストリーム抽出の前記処理へ入力されるビットストリームのすべてのVCL(Video Coding Layer) NALユニットにおけるNALユニットヘッダの識別子のすべての値を含まないことを含む、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記規則は更に、前記OLS(Output Layer Set)のNALユニットヘッダの識別子の値の前記リストが、サブビットストリーム抽出の前記処理へ入力される前記ビットストリームにおけるすべてのVCL NALユニットにおけるNALユニットヘッダの識別子のすべての値を含まないことに応答して、
1)0または130に等しいペイロードタイプを有する非スケーラブルネスト化されたSEIメッセージを含むすべてのSEI NALユニットが、出力サブビットストリームから除去され、かつ、
2)general_same_pic_timing_in_all_ols_flagが0に等しい場合、1に等しいペイロードタイプを有する非スケーラブルネスト化されたSEIメッセージを含むすべてのSEI NALユニットが、前記出力サブビットストリームから除去される、
ことがさらに適用される、請求項7に記載の方法。
【請求項9】
前記変換は、前記映像を前記ビットストリームへ符号化することを含む、請求項1から8のいずれか一項に記載の方法。
【請求項10】
前記変換は、前記映像を前記ビットストリームから復号することを含む、請求項1から8のいずれか一項に記載の方法。
【請求項11】
プロセッサと、命令を有する非一時的メモリを有する、映像データを処理するための装置であって、
前記命令は、前記プロセッサによって実行された際に、前記プロセッサに、
規則に従って、1または複数のレイヤを含む映像と、前記映像のビットストリームとの間の変換を実行すること、
を実行させ、
前記規則は、出力サブビットストリームを出力するためのサブビットストリーム抽出の処理において、スケーラブルネスティングSEI(Supplementary Enhancement Information)メッセージからスケーラブルネスト化されたSEIメッセージを抽出することにより、非スケーラブルネスト化されたSEIメッセージを生成するか否かは、前記スケーラブルネスティングSEIメッセージが特定のOLS(Output Layer Set)に適用されるか否かを示す第1のフラグ、および、前記スケーラブルネスティングSEIメッセージがすべてのサブピクチャまたは特定のサブピクチャのみに適用されるかを示す第2のフラグに基づくことを規定する、装置。
【請求項12】
プロセッサに、
規則に従って、1または複数のレイヤを含む映像と、前記映像のビットストリームとの間の変換を実行すること、
を実行させ、
前記規則は、出力サブビットストリームを出力するためのサブビットストリーム抽出の処理において、スケーラブルネスティングSEI(Supplementary Enhancement Information)メッセージからスケーラブルネスト化されたSEIメッセージを抽出することにより、非スケーラブルネスト化されたSEIメッセージを生成するか否かは、前記スケーラブルネスティングSEIメッセージが特定のOLS(Output Layer Set)に適用されるか否かを示す第1のフラグ、および、前記スケーラブルネスティングSEIメッセージがすべてのサブピクチャまたは特定のサブピクチャのみに適用されるかを示す第2のフラグに基づくことを規定する、命令を格納する非一時的コンピュータ可読記憶媒体。
【請求項13】
像のビットストリームを格納するための方法であって、
規則に従って、1または複数のレイヤを含む前記映像の前記ビットストリームを生成することと、
前記ビットストリームを非一時的コンピュータ可読記録媒体に格納することと、
を有し、
前記規則は、出力サブビットストリームを出力するためのサブビットストリーム抽出の処理において、スケーラブルネスティングSEI(Supplementary Enhancement Information)メッセージからスケーラブルネスト化されたSEIメッセージを抽出することにより、非スケーラブルネスト化されたSEIメッセージを生成するか否かは、前記スケーラブルネスティングSEIメッセージが特定のOLS(Output Layer Set)に適用されるか否かを示す第1のフラグ、および、前記スケーラブルネスティングSEIメッセージがすべてのサブピクチャまたは特定のサブピクチャのみに適用されるかを示す第2のフラグに基づくことを規定する、方法
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2020年5月22日出願の米国特許仮出願第63/029308号の優先権および利益を主張する2021年5月21日出願の国際特許出願第PCT/US2021/033717号に基づく。上記出願の開示全体は、参照によりここに援用される。
【0002】
この特許明細書は、画像および映像の符号化および復号に関する。
【背景技術】
【0003】
デジタル映像は、インターネットおよび他のデジタル通信ネットワークにおいて最大の帯域幅の使用量を占めている。映像を受信および表示することが可能である接続されたユーザ機器の数が増加するにつれ、デジタル映像の使用に対する帯域幅需要は増大し続けることが予測される。
【発明の概要】
【0004】
本明細書は、映像符号化または復号を行うために、映像エンコーダおよびデコーダによって使用され得る技術を開示する。
【0005】
1つの例示的な態様において、映像処理方法が開示される。方法は、規則に従って、複数のレイヤを含む映像と映像のビットストリームとの間の変換を実行すること含み、規則は、ビットストリームから抽出されるサブビットストリームの時間的レイヤ識別子の値の最大許容値を規定する。
【0006】
別の例示的な態様において、映像処理方法が開示される。方法は、規則に従って、映像と映像のビットストリームとの間の変換を実行することを含み、規則は、サブビットストリームを出力するためのサブビットストリーム抽出プロセス中にビットストリームから抽出されるべきNAL(Network Abstraction Layer)ユニットを定義し、OLS(Output Layer Set)インデックスを有するOLS内のNALユニットヘッダ識別子の値のリストが、サブビットストリーム抽出プロセスに入力されるビットストリーム内のすべてのVCL(Vodeo Coding Layer) NALユニットにおけるNALユニットヘッダ識別子のすべての値を含まないかどうかに基づいて、サブビットストリームを導出することを規定する。
【0007】
別の例示的な態様において、映像処理方法が開示される。方法は、規則に従って、映像と映像のビットストリームとの間の変換を実行することを含み、規則は、サブビットストリームを出力するためのサブビットストリーム抽出プロセス中にビットストリームから抽出されるべきNAL(Network Abstraction Layer)ユニットを定義し、規則は、SEI(Supplemental Enhancement Information) NAL(Network Abstraction Layer)ユニットに含まれる第1のSEIメッセージのペイロードタイプに呼応して、SEI NALユニットが特定のペイロードタイプを持つSEIメッセージを含むことを許可しないことを規定する。
【0008】
別の例示的な態様において、映像処理方法が開示される。方法は、フォーマット規則に従って、映像と映像のビットストリームとの間の変換を実行することを含み、フォーマット規則は、ビットストリームが、1または複数の特定のペイロードタイプを有する1または複数の非スケーラブルネスト化されたSEI(Supplemental Enhancement Information)メッセージが、コーディングレイヤによって参照されるすべての出力レイヤセットに適用されるかどうかを規定するフラグを含むことを規定する。
【0009】
別の例示的な態様において、映像処理方法が開示される。方法は、規則に従って、映像と映像のビットストリームとの間の変換を実行することを含み、規則は、特定のタイプのNAL(Network Abstraction Layer)ユニットを削除せず、かつ、特定のNALユニットヘッダ識別子値を有するビットストリームから出力サブビットストリームを抽出するサブビットストリーム抽出プロセスを規定し、特定のタイプは、AUD(Access Unit Delimiter) NALユニットを含む。
【0010】
別の例示的な態様において、映像処理方法が開示される。方法は、規則に従って、1または複数のレイヤを含む映像と映像のビットストリームとの間の変換を行うこと含み、規則は、サブビットストリーム抽出のプロセスにおいて、ターゲットOLS(Output Layer Set)に含まれていないレイヤに適用されるスケーラブルネスティングSEI(Supplementary Enhancement Information)メッセージを含むNAL(Network Abstraction Layer)ユニットを削除することを規定する。
【0011】
別の例示的な態様において、映像処理方法が開示される。方法は、規則に従って、1または複数のレイヤを含む映像と映像のビットストリームとの間の変換を実行することを含み、規則は、サブビットストリーム抽出のプロセスにおいて、SEI(Supplementary Enhancement Information)メッセージが特定のOLS(Output Layer Set)に適用されるかどうかを示す第1のフラグと、SEIメッセージがすべてのサブピクチャに適用されるかまたは特定のサブピクチャにのみに適用されるかどうかを示す第2のフラグに基づいて、スケーラブルネスティングSEIメッセージからスケーラブルにネスト化されたSEIメッセージを抽出することによって、非スケーラブルネスト化されたSEIメッセージが生成される。
【0012】
別の例示的な態様において、映像処理方法が開示される。方法は、規則に従って、1または複数のレイヤを含む映像と映像のビットストリームとの間の変換を実行することを含み、規則は、サブビットストリーム抽出のプロセスにおいて、ピクチャユニットにおける第1のSEI(Supplemental Enhancement Information) NAL(Network Abstraction Layer)ユニットから複数のスケーラブルネスト化されたSEIメッセージを抽出することによって、非スケーラブルネスト化されたSEIメッセージが生成されることを規定する。
【0013】
別の例示的な態様において、映像処理方法が開示される。方法は、規則に従って、1または複数のレイヤを含む映像と映像のビットストリームとの間の変換を実行することを含み、規則は、出力ビットストリームを生成するためにサブビットストリーム抽出プロセスを規定し、規則は、サブビットストリーム抽出プロセス中の1または複数のSEI(Supplemental Enhancement Information) NAL(Network Abstraction Layer)ユニットのハンドリングを規定する。
【0014】
さらに別の例示的な態様において、映像エンコーダ装置が開示される。映像エンコーダは、上述した方法を実装するように構成されたプロセッサを備える。
【0015】
さらに別の例示的な態様において、映像デコーダ装置が開示される。映像デコーダは、上述した方法を実装するように構成されたプロセッサを備える。
【0016】
さらに別の例示的な態様では、コードが記憶されたコンピュータ可読媒体が開示される。このコードは、本明細書に記載の方法の1つをプロセッサ実行可能なコードの形式で実施する。
【0017】
これらのおよび他の特徴は、本明細書全体にわたって説明される。
【図面の簡単な説明】
【0018】
図1】開示される技術のいくつかの実施形態による映像コーディングシステムを示すブロック図である。
図2】映像処理に使用されるハードウェアプラットフォームの例を示すブロック図である。
図3】映像処理方法の一例を示すフローチャートである。
図4】例示的な映像コーディングするシステムを示すブロック図である。
図5】開示される技術のいくつかの実施形態によるエンコーダを示すブロック図である。
図6】開示される技術のいくつかの実施形態によるデコーダを示すブロック図である。
図7A】開示される技術のいくつかの実装形態に基づく、映像処理の例示的な方法のフローチャートを示す。
図7B】開示される技術のいくつかの実装形態に基づく、映像処理の例示的な方法のフローチャートを示す。
図7C】開示される技術のいくつかの実装形態に基づく、映像処理の例示的な方法のフローチャートを示す。
図7D】開示される技術のいくつかの実装形態に基づく、映像処理の例示的な方法のフローチャートを示す。
図8】開示される技術のいくつかの実装形態に基づく、映像処理の例示的な方法のフローチャートを示す。
図9】開示される技術のいくつかの実装形態に基づく、映像処理の例示的な方法のフローチャートを示す。
図10A】開示される技術のいくつかの実装形態に基づく、映像処理の例示的な方法のフローチャートを示す。
図10B】開示される技術のいくつかの実装形態に基づく、映像処理の例示的な方法のフローチャートを示す。
図10C】開示される技術のいくつかの実装形態に基づく、映像処理の例示的な方法のフローチャートを示す。
【発明を実施するための形態】
【0019】
本明細書では、理解を容易にするために章の見出しを使用しており、その技術および各章に記載された実施形態の適用可能性をその章のみに限定するものではない。さらに、H.266という用語は、ある説明において、理解を容易にするためだけに用いられ、開示される技術の範囲を限定するために用いられたものではない。このように、本明細書で説明される技術は、他の映像コーデックプロトコルおよび設計にも適用可能である。
【0020】
1.導入
本明細書は、映像コーディング技術に関する。具体的には、一般的なサブビットストリーム抽出プロセス、ピクチャレベルのHRDパラメータのシグナリング、およびSEI NALユニットにSEIメッセージを含めることについて、若干の改良がなされている。この考えは、個々にまたは様々な組み合わせで、マルチレイヤ映像コーディング、例えば、現在開発されているVVC(Versatile Video Coding)をサポートする任意の映像コーディング規格または非標準映像コーデックに適用されてもよい。
【0021】
2.略語
APS Adaptation Parameter Set
AU Access Unit
AUD Access Unit Delimiter
AVC Advanced Video Coding
CLVS Coded Layer Video Sequence
CPB Coded Picture Buffer
CRA Clean Random Access
CTU Coding Tree Unit
CVS Coded Video Sequence
DCI Decoding Capability Information
DPB Decoded Picture Buffer
EOB End Of Bitstream
EOS End Of Sequence
GDR Gradual Decoding Refresh
HEVC High Efficiency Video Coding
HRD Hypothetical Reference Decoder
IDR Instantaneous Decoding Refresh
ILP Inter-Layer Prediction
ILRP Inter-Layer Reference Picture
JEM Joint Exploration Model
LTRP Long-Term Reference Picture
MCTS Motion-Constrained Tile Sets
NAL Network Abstraction Layer
OLS Output Layer Set
PH Picture Header
PPS Picture Parameter Set
PTL Profile,Tier and Level
PU Picture Unit
RAP Random Access Point
RBSP Raw Byte Sequence Payload
SEI Supplemental Enhancement Information
SPS Sequence Parameter Set
STRP Short-Term Reference Picture
SVC Scalable Video Coding
VCL Video Coding Layer
VPS Video Parameter Set
VTM VVC Test Model
VUI Video Usability Information
VVC Versatile Video Coding
【0022】
3.初期の協議
映像符号化規格は、主に周知のITU-TおよびISO/IEC規格の開発によって発展してきた。ITU-TはH.261とH.263を作り、ISO/IECはMPEG-1とMPEG-4Visualを作り、両団体はH.262/MPEG-2VideoとH.264/MPEG-4AVC(Advanced Video Coding)とH.265/HEVC規格を共同で作った。H.262以来、映像コーディング規格は、時間的予測と変換コーディングが利用されるハイブリッド映像コーディング構造に基づく。HEVCを超えた将来の映像コーディング技術を探索するため、2015年には、VCEGとMPEGが共同でJVET(Joint Video Exploration Team)を設立した。それ以来、多くの新しい方法がJVETによって採用され、JEM(Joint Exploration Model)と呼ばれる参照ソフトウェアに組み込まれてきた。JVETは四半期に1回開催され、新しいコーディング規格はHEVCに比べて50%のビットレート低減を目指している。2018年4月のJVET会議において、新しい映像コーディング規格をVVC(Versatile Video Coding)と正式に命名し、その時、第1版のVTM(VCC Test Model)をリリースした。VVCの標準化に寄与する努力が続けられているので、すべてのJVET会議において、VVC標準に新しいコーディング技術が採用されている。毎回の会議の後、VVC作業草案およびテストモデルVTMを更新する。VVCプロジェクトは、現在、2020年7月の会合における技術完成(FDIS)を目指している。
【0023】
3.1 シーケンス内のピクチャ解像度の変更
AVCおよびHEVCにおいて、ピクチャの空間的解像度は、新しいSPSを使用する新しいシーケンスがIRAPピクチャで始まらない限り、変更することができない。VVCは、常にイントラ符号化されるIRAPピクチャを符号化せずに、ある位置のシーケンス内でピクチャの解像度を変更することを可能にする。この特徴は、参照ピクチャが復号されている現在のピクチャと異なる解像度を有する場合、インター予測に使用される参照ピクチャをリサンプリングすることが必要であるため、RPR(Reference Picture Resampling)と称する。
【0024】
スケーリング比は、1/2(参照ピクチャから現在のピクチャへのダウンサンプリングの2倍)以上8(8倍のアップサンプリング)以下に制限される。参照ピクチャと現在のピクチャとの間の様々なスケーリング比に対処するために、周波数カットオフが異なるリサンプリングフィルタの3つのセットを規定する。リサンプリングフィルタの3つのセットは、それぞれ、1/2~1/1.75、1/1.75~1/1.25、および1/1.25~8の範囲のスケーリング比に適用される。リサンプリングフィルタの各セットは、動き補償補間フィルタの場合と同様に、輝度に対して16個のフェーズを有し、彩度に対して32個のフェーズを有する。実際には、通常のMC補間処理は、1/1.25~8の範囲のスケーリング比を有するリサンプリング処理の特殊な場合である。水平および垂直スケーリング比は、ピクチャの幅および高さ、並びに参照ピクチャおよび現在のピクチャに対して規定された左、右、上および下のスケーリングオフセットに基づいて導出される。
【0025】
HEVCとは異なる、この特徴をサポートするためのVVC設計の他の態様は、i)SPSの代わりにPPSにおいてピクチャ解像度および対応する適合性ウィンドウを信号通知すること、SPSにおいて最大ピクチャ解像度を信号通知すること、ii)シングルレイヤビットストリームの場合、各ピクチャ記憶装置(1つの復号されたピクチャを記憶するためのDPBにおける1つのスロット)は、最大ピクチャ解像度を有する復号されたピクチャを記憶するために必要なバッファサイズを占めることを含む。
【0026】
3.2. 全般およびVVCにおけるSVC(Scalable Video Coding)
SVC(Scalable Video Coding、時には、映像コーディングにおけるスケーラビリティとも呼ばれる)は、BL(Base Layer)(時には、RL(Reference Layer)と呼ばれる)、1または複数のスケーラブルEL(Enhancement Layer)が使用される映像コーディングを参照する。SVCにおいて、ベースレイヤは、品質の基本レベルの映像データを担持することができる。1または複数のエンハンスメントレイヤは、例えば、より高い空間的、時間的、および/またはSNR(Signal-to-Noise)レベルをサポートするように、追加の映像データを担持することができる。エンハンスメントレイヤは、前の、符号化されたレイヤに対して定義されてもよい。例えば、下層がBLとして機能し、上層がELとして機能することができる。中間レイヤは、ELまたはRLのいずれか、またはその両方として機能することができる。例えば、中間レイヤ(例えば、最下レイヤでも最上レイヤでもないレイヤ)は、中間レイヤの下のレイヤ、例えば、ベースレイヤまたは任意の介在するエンハンスメントレイヤのためのELであってもよく、同時に、中間レイヤの上の1または複数のエンハンスメントレイヤのためのRLとしての役割を果たす。同様に、HEVC規格のマルチビューまたは3D拡張では、複数のビューが存在してもよく、1つのビューの情報を利用して別のビューの情報をコーディング(例えば、符号化または復号)することができる(例えば、動き推定、動きベクトル予測および/または他の冗長性)。
【0027】
SVCにおいて、エンコーダまたはデコーダで使用されるパラメータは、それらを利用することができるコーディングレベル(例えば、映像レベル、シーケンスレベル、ピクチャレベル、スライスレベル等)に基づいてパラメータセットにグループ分けされる。例えば、ビットストリームにおける異なるレイヤの1または複数のコーディングされた映像シーケンスによって利用できるパラメータは、VPS(Video Parameter Set)に含まれてもよく、コーディングされた映像シーケンスにおける1または複数のピクチャによって利用されるパラメータは、SPS(Sequence Parameter Set)に含まれてもよい。同様に、ピクチャの1または複数のスライスで利用されるパラメータは、PPS(Picture Paramter Set)に含まれてもよく、単一のスライスに固有の他のパラメータは、スライスヘッダに含まれてもよい。同様に、特定のレイヤが所与の時間にどのパラメータセットを使用しているかの指示は、様々なコーディングレベルで提供されてもよい。
【0028】
VVCにおけるRPR(Reference Picture Resampling)のサポートのおかげで、空間的スケーラビリティサポートに必要なアップサンプリングはRPRアップサンプリングフィルタを使用するだけでよいので、追加の信号処理レベルのコーディングツールを必要とせずに、複数のレイヤ、例えば、VVCにおけるSDおよびHD解像度の2つのレイヤを含むビットストリームをサポートするように設計することができる。それにもかかわらず、スケーラビリティサポートのためには、高レベルの構文変更(スケーラビリティをサポートしない場合と比較して)が必要である。スケーラビリティサポートは、VVCバージョン1に規定されている。AVCおよびHEVCの拡張を含む、任意の以前の映像コーディング規格におけるスケーラビリティサポートとは異なり、VVCのスケーラビリティの設計は、シングルレイヤのデコーダの設計にできるだけ適したものにされてきた。マルチレイヤのビットストリームの復号能力は、ビットストリームにシングルレイヤしかなかったかの如く規定される。例えば、DPBサイズのような復号能力は、復号されるビットストリームのレイヤの数に依存しないように規定される。基本的に、シングルレイヤのビットストリームのために設計されたデコーダは、マルチレイヤのビットストリームを復号することができるようにするために、多くの変更を必要としない。AVCおよびHEVCのマルチレイヤ拡張の設計と比較して、HLSの態様は、ある程度の柔軟性を犠牲にして大幅に簡略化されてきた。例えば、IRAP AUは、CVSに存在するレイヤの各々にピクチャを含むことが必要である。
【0029】
3.3 パラメータセット
AVC、HEVC、VVCはパラメータ集合を規定する。パラメータセットのタイプは、SPS、PPS、APS、VPS等である。SPSおよびPPSは、AVC、HEVC、VVCのすべてでサポートされている。VPSは、HEVCから導入されたものであり、HEVCおよびVVCの両方に含まれる。APSは、AVCまたはHEVCに含まれていなかったが、最近のVVC草案のテキストに含まれている。
【0030】
SPSは、シーケンスレベルのヘッダ情報を伝送するように設計され、PPSは、頻繁に変化しないピクチャレベルのヘッダ情報を伝送するように設計された。SPSおよびPPSを用いると、シーケンスまたはピクチャごとに頻繁に変化する情報を繰り返す必要がないので、この情報の冗長な信号通知を回避することができる。さらに、SPSおよびPPSを使用することは、重要なヘッダ情報の帯域外伝送を有効化し、それにより、冗長な伝送の必要性を回避するだけでなく、誤り耐性を改善する。
【0031】
VPSは、マルチレイヤのビットストリームのすべてのレイヤに共通であるシーケンスレベルのヘッダ情報を担持するために導入された。
【0032】
APSは、コーディングするためのかなりのビットを必要とし、複数のピクチャによって共有され、そして、シーケンスにおいて非常に多くの異なる変形例が存在し得る、そのようなピクチャレベルまたはスライスレベルの情報を担持するために導入された。
【0033】
3.4. 一般的なサブビットストリーム抽出処理
最新のVVCテキストのC.6項は、一般的なサブビットストリーム抽出処理を以下のように規定している。
【0034】
C.6 サブビットストリーム抽出処理
この処理への入力は、ビットストリームinBitstream、ターゲットOLSインデックスtargetOlsIdx、およびターゲットの最も高いTemporalIdの値tIdTargetである。
この処理の出力は、サブビットストリームoutBitstreamである。
入力ビットストリームに対するビットストリーム適合性の要件は、以下の条件のすべてを満たす任意の出力サブビットストリームが適合ビットストリームであるものとする。
-出力サブビットストリームは、ビットストリーム、VPSで規定されたOLSのリストのインデックスと等しいtargetOlsIdx、および0から6の範囲内の任意の値であるtIdTargetを入力として、本項で規定した処理の出力である。
-出力サブビットストリームは、LayerIdInOls[targetolsIdx]における各々のnuh_layer_id値に等しいnuh_layer_idを有する少なくとも1つのVCL NALユニットを含む。
-出力サブビットストリームは、tIdTargetに等しいTemporalIdを有する少なくとも1つのVCL NALユニットを含む。
注-適合するビットストリームは、0に等しいTemporalIdを有する1または複数のコーディングされたスライスNALユニットを含むが、0に等しいnuh_layer_idを有するコーディングされたスライスNALユニットを含む必要はない。
【0035】
出力サブビットストリームoutBitstreamは、以下のように導出される。
1. ビットストリームoutBitstreamは、ビットストリームinBitstreamと同一になるように設定される。
2. tIdTargetよりも大きいTemporalIdを有する全てのNALユニットをoutBitstreamから削除する。
3. nal_unit_typeがVPS_NUT、DCI_NUT、およびEOB_NUTのいずれとも等しくなく、nuh_layer_idがリストLayerIdInOls[targetOlsIdx]に含まれない全てのNALユニットをoutBitstreamから削除する。
4. outBitstreamから、次のすべての条件が真であるすべてのVCL NALユニットと、それらに関連づけられた、0、1、または130に等しくないPayloadTypeを有するPH_NUT、FD_NUT、SUFFIX_SEI_NUT、およびPREFIX_SEI_NUTに等しいnal_unit_typeを有する非VCL NALユニットを削除する。
-nal_unit_typeがTRAIL_NUT、STSA_NUT、RADL_NUT、またはRASL_NUTに等しい場合、またはnal_unit_typeがGDR_NUTに等しく、かつ、関連付けされたph_recovery_poc_cntが0に等しくない。
-nuh_layer_idが、0からNumLayersInOls[targetOlsIdx]-1の範囲内のjの値に対して、LayerIdInOls[targetOlsIdx][j]と等しい。
-TemporalIdが、NumSubLayersInLayerInOLS[targetOlsIdx][GeneralLayerIdx[nuh_layer_id]]以上である。
【0036】
5. 1に等しいsn_ols_flagを有し、NestingOlsIdx[i]がtargetOlsIdxと等しいような、iの値が0からsn_num_olss_minus1の範囲内にないスケーラブルネスティングSEIメッセージを含むすべてのSEI NALユニットをoutBitstreamから削除する。
6. LayerIdInOls[targetOlsIdx]がビットストリーム内の全てのNALユニットのnuh_layer_idの全ての値を含まない場合、以下が適用される。
a. 0(BP)または130(DUI)に等しいpayloadTypeを有する非スケーラブルネスト化されたSEIメッセージを含むすべてのSEI NALユニットをoutBitstreamから削除する。
b. general_same_pic_timing_in_all_ols_flagが0に等しい場合、1(PT)に等しいpayloadTypeを有する非スケーラブルネスト化されたSEIメッセージを含むすべてのSEI NALユニットをoutBitstreamから削除する。
c. outBitstreamが、1に等しいsn_ols_flagを有するスケーラブルネスティングSEIメッセージを含み、かつ、outBitstream(NestingOlsIdx[i]がtargetOlsIdxに等しい)に適用可能なSEI NALユニットを含む場合、以下が適用される。
-general_same_pic_timing_in_all_ols_flagが0に等しい場合、0(BP)、1(PT)または130(DUI)に等しいpayloadTypeを有する適切な非スケーラブルネスト化されたSEIメッセージを、スケーラブルネスティングSEIメッセージから抽出し、それらのSEIメッセージをoutBitstream内に含める。
-そうでない場合(general_same_pic_timing_in_all_ols_flagが1に等しい場合)、0(BP)または130(DUI)に等しいpayloadTypeを有する適切な非スケーラブルネスト化されたSEIメッセージを、スケーラブルネスティングSEIメッセージから抽出し、それらのSEIメッセージをoutBitstream内に含める。
【0037】
4.開示される技術的解決策によって解決される技術課題
最新のVVCテキスト(JVET-R2001-vA/v10)における一般的なサブビットストリーム抽出プロセスおよび関連する他の部分の既存の設計には、以下のような問題がある。
1) 出力サブビットストリームが適合ビットストリームであることが必要とされる条件においては、tIdTargetの値が0~6の範囲にあると言われている。しかし、多くのビットストリームにおいて、最も高いTemporalId値は6未満であり、この値は構文要素vps_max_sublayers_minus1によって規定される。
2) AUD(Access Unit Delimiter) NALユニットは、存在する場合、任意のnuh_layer_id値を有することができる。しかしながら、サブビットストリーム抽出プロセスのステップ3は、nuh_layer_id値がリストLayerIdInOls[targetOlsIdx]に含まれないAUD NALユニットを削除する。
3) いくつかのSEI NALユニットは、0に等しいsn_ols_flagを有するスケーラブルネスティングSEIメッセージを含むが、スケーラブルネスティングSEIメッセージに示される適用可能なレイヤは、ターゲットOLSにおけるいずれのレイヤを含まない、すなわち、適用可能なレイヤのnuh_layer_id値は、リストLayerIdInOls[targetOlsIdx]に含まれない。これらのSEI NALユニットも削除されるべきである。
4) ステップ6の条件、すなわち、「LayerIdInOls[targetOlsIdx]が、ビットストリームにおけるすべてのNALユニットのnuh_layer_idのすべての値を含まない場合」には、以下の2つの問題がある。
a. DCI、VPS、AUD、またはEOB NALユニットが存在し、かつ、VCL NALユニットのnuh_layer_id値のいずれにも等しくないnuh_layer_idを有する場合、この条件は機能しない。
b. 用語「ビットストリーム」は、コンテキストの中には2つのビットストリームinBitstreamおよびoutBitstreamがあるため、明瞭ではない。
【0038】
5) ステップ6.cは、非スケーラブルネスト化されたSEIメッセージを生成するために、1に等しいsn_ols_flagを有し、かつ、1に等しいsn_subpic_flagを有するスケーラブルネスティングSEIメッセージからスケーラブルネスト化されたSEIメッセージを抽出するが、そのようなスケーラブルネスト化されたSEIメッセージは特定のサブピクチャにのみ適用され、抽出されるべきではない。
6) ステップ6.cにおいて、1つのSEI NALユニットseiNalUnitAから複数のスケーラブルネスト化されたSEIメッセージを抽出し、非スケーラブルネスト化されたSEIメッセージとした場合、それらは1つのSEI NALユニットseiNalUnitBに含まれているべきであり、SEI NALユニットseiNalUnitBはSEI NALユニットseiNalUnitAを含む同じPUに含まれているべきである。ただし、これは規定されていない。
7) ステップ6.cは、いくつかのSEIメッセージが抽出され、非スケーラブルネスト化されたSEIメッセージとして含まれたすべてのSEI NALユニットをoutBitstreamから削除する。ただし、これは規定されていない。
8) SEI NALユニットが、0、1、または130に等しいpayloadTypeを有するSEIメッセージを含む場合、SEI NALユニットは、0(BP)、1(PT)、130(DUI)、または133(スケーラブルネスティング)に等しくないpayloadTypeを有するSEIメッセージを含まないとする制約がない。これにより、ステップ4におけるSEIメッセージの削除が、SEI NALユニットの単なる削除よりも多く含むことになる。
9) フラグgeneral_same_pic_timing_in_all_ols_flagは、非スケーラブルネスト化されたPT SEIメッセージがすべてのOLSに適用されるかどうかを規定するのみである。しかしながら、DUI SEIメッセージに担持される情報は、PT SEIメッセージと同様の目的のためである。
【0039】
5.技術的解決策および実施形態の一覧
上記課題を解決するために、以下に示す方法が開示されている。これらの項目は、一般的な概念を説明するための例であり、狭義に解釈されるべきではない。さらに、これらの項目は、個々に適用されてもよく、または任意の方法で組み合わされてもよい。
1) 課題1を解決するために、出力サブビットストリームが適合ビットストリームであることが必要とされる条件を、tIdTargetの値が0からvps_max_sublayers_minus1の範囲内にあるように規定する。
a. あるいは、出力サブビットストリームが適合ビットストリームであることが必要とされる条件は、入力ビットストリームに複数のレイヤがある場合にはtIdTargetの値が0からvps_max_sublayers_minus1の範囲内にあるように規定され、入力ビットストリームに1つのみのレイヤがある場合には0からsps_max_sublayers_minus1の範囲内にあるように規定される。
2) 課題2を解決するために、AUD NALユニットを、VPS_NUT、DCI_NUTまたはEOB_NUTに等しいnal_unit_typeを有するNALユニットと同様に扱うように、一般的なサブビットストリーム抽出プロセスを規定する。すなわち、nuh_layer_id値に従って、出力ビットストリームoutBitstreamからAUD NALユニットを削除しない。
【0040】
3) 課題3を解決するために、一般的なサブビットストリーム抽出プロセスは、出力ビットストリームoutBitstreamから、0に等しいsn_ols_flagを有するスケーラブルネスティングSEIメッセージを含むSEI NALユニットを削除する一方、スケーラブルネスティングSEIメッセージに示される適用可能なレイヤは、ターゲットOLS内のいずれのレイヤも含まないように規定される。
a. 一例において、0に等しいsn_ols_flagを有し、かつ、0からnestingNumLayers-1の範囲内のiに対するリストnestingLayerId[i]に、リストLayerIdInOls[targetOlsIdx]内に値がないスケーラブルネスティングSEIメッセージを含むすべてのSEI NALユニットをoutBitstreamから削除することが規定されている。
4) 課題4を解決するために、「LayerIdInOls[targetOlsIdx]が、ビットストリーム中のすべてのNALユニットのnuh_layer_idのすべての値を含まない」との条件は、「リストLayerIdInOls[targetOlsIdx]が、ビットストリームinBitstreamにおけるすべてのVCL NALユニットのnuh_layer_idのすべての値を含まない」となるように変更される。
【0041】
5) 課題5を解決するために、一般的なサブビットストリーム抽出プロセスは、非スケーラブルネスト化されたSEIメッセージを生成するために、1に等しいsn_ols_flag、かつ、0に等しいsn_subpic_flagを有するスケーラブルネスティングSEIメッセージから、スケーラブルネスト化されたSEIメッセージのみを抽出するように規定される。
6) 課題6を解決するため、一般的なサブビットストリーム抽出プロセスは、複数のスケーラブルネスト化されたSEIメッセージが、1つのSEI NALユニットseiNalUnitAから抽出されて、非スケーラブルネスト化されたSEIメッセージとなる場合、それらは出力ビットストリームoutBitstream中の1つのSEI NALユニットseiNalUnitBに含まれ、SEI NALユニットseiNalUnitBは、SEI NALユニットseiNalUnitAが含まれていたPUに含まれることが規定される。
【0042】
7) 課題7を解決するため、一般的なサブビットストリーム抽出プロセスは、出力ビットストリームoutBitstreamから、いくつかのSEIメッセージが抽出され、非スケーラブルネスト化されたSEIメッセージとして含まれているすべてのSEI NALユニットを削除するように規定される。
a. あるいは、このようなSEI NALユニットにおけるスケーラブルネスト化されたSEIメッセージがターゲットOLS(すなわち、VPSによって規定されたtargetOlsIdx番目のOLS)のみに適用される場合、そのSEI NALユニットをoutBitstreamから削除する。
b. あるいは、このようなSEI NALユニットにおけるスケーラブルネスト化されたSEIメッセージが適用されるOLS内にターゲットOLS以外に、リストLayerIdInOls[targetOlsIdx]にすべて含まれるレイヤを含むOLSがない場合、そのSEI NALユニットをoutBitstreamから削除する。
8) 課題8を解決するために、SEI NALユニットが、0、1、または130に等しいpayloadTypeを有するSEIメッセージを含む場合、SEI NALユニットは、0(BP)、1(PT)、130(DUI)、または133(スケーラブルネスティング)に等しくないpayloadTypeを有するSEIメッセージを含んではならないような制約を加える。
【0043】
9) 課題9を解決するために、フラグgeneral_same_pic_timing_in_all_ols_flagは、非スケーラブルネスト化されたPTおよびDUI SEIメッセージがすべてのOLSに適用されるかどうかを規定する。
a. あるいは、フラグgeneral_same_pic_timing_in_all_ols_flagは、非スケーラブルネスト化されたBP、PT、およびDUI SEIメッセージがすべてのOLSに適用されるかどうかを規定する。
i. 一例において、フラグgeneral_same_pic_timing_in_all_ols_flagは、フラグgeneral_same_pic_level_hrd_info_in_all_ols_flagに改名され、非スケーラブルネスト化されたBP、PT、DUI SEIメッセージがすべてのOLSに適用されるかどうかを規定する。
b. あるいは、例えばgeneral_same_dui_in_all_ols_flagという新しいフラグが追加され、非スケーラブルネスト化されたDUI SEIメッセージがすべてのOLSに適用されるかどうかが規定される。
c. あるいは、例えばgeneral_same_bp_in_all_ols_flagという新しいフラグが追加され、非スケーラブルネスト化されたBP SEIメッセージがすべてのOLSに適用されるかどうかが規定される
【0044】
6.実施形態
以下は、上記第5章に要約されたいくつかの発明の態様のためのいくつかの例示的な実施形態であり、VVC仕様に適用できる。変更されたテキストは、JVET-R2001-vA/v10の最新VVCテキストに基づく。既に追加または修正された最も関連性のある部分は、太字およびイタリック文字で強調表示され、かつ削除された部分の一部は、二重括弧でマークされている(例えば、[[a]]は、「a」という文字の削除を示す)。本質的に編集可能であるため、強調されていない他の何らかの変更があってもよい。
【0045】
6.1. 第1の実施形態
本実施形態は1、2、3、3.a.、4、5、6、7.b、および8項に対するものである。
【0046】
【化1】
【0047】
【化2】
【0048】
【化3】
【0049】
【化4】
【0050】
【化5】
【0051】
【化6】
【0052】
図1は、本明細書で開示される様々な技術が実装され得る例示的な映像処理システム1900を示すブロック図である。様々な実装形態は、システム1900のコンポーネントの一部または全部を含んでもよい。システム1900は、映像コンテンツを受信するための入力1902を含んでもよい。映像コンテンツは、未加工または非圧縮フォーマット、例えば、8または10ビットのマルチコンポーネント画素値で受信されてもよく、または圧縮または符号化フォーマットで受信されてもよい。入力1902は、ネットワークインターフェース、周辺バスインターフェース、または記憶インターフェースを表してもよい。ネットワークインターフェースの例は、イーサネット(登録商標)、PON(Passive Optical Network)等の有線インターフェース、およびWi-Fi(登録商標)またはセルラーインターフェース等の無線インターフェースを含む。
【0053】
システム1900は、本明細書に記載される様々なコーディングまたはエンコーディング方法を実装することができるコーディングコンポーネント1904を含んでもよい。コーディングコンポーネント1904は、入力1902からの映像の平均ビットレートをコーディングコンポーネント1904の出力に低減し、映像のコーディング表現を生成してもよい。従って、このコーディング技術は、映像圧縮または映像コード変換技術と呼ばれることがある。コーディングコンポーネント1904の出力は、コンポーネント1906によって表されるように、記憶されてもよいし、接続された通信を介して送信されてもよい。入力1902において受信された、記憶されたまたは通信された映像のビットストリーム(または、コーディングされた)表現は、コンポーネント1908によって使用されて、表示インターフェース1910に送信される画素値または表示可能な映像を生成してもよい。ビットストリーム表現からユーザが見ることができる映像を生成する処理は、映像展開と呼ばれることがある。さらに、特定の映像処理動作を「コーディング」動作またはツールと呼ぶが、コーディングツールまたは動作は、エンコーダおよびそれに対応する、コーディングの結果を逆にする復号ツールまたは動作が、デコーダによって行われることが理解されよう。
【0054】
周辺バスインターフェースまたは表示インターフェースの例は、USB(Universal Serial Bus)またはHDMI(登録商標;High Definition Multimedia Interface)またはディスプレイポート等を含んでもよい。ストレージインターフェースの例は、SATA(Serial Advanced Technology Attachment)、PCI、IDEインターフェース等を含む。本明細書に記載される技術は、携帯電話、ノートパソコン、スマートフォン、またはデジタルデータ処理および/または映像表示を実施可能な他のデバイス等の様々な電子デバイスに実施されてもよい。
【0055】
図2は、映像処理装置3600のブロック図である。装置3600は、本明細書に記載の1または複数の方法を実装するために使用されてもよい。装置3600は、スマートフォン、タブレット、コンピュータ、モノのIoT(Internet of Things)受信機等に実施されてもよい。装置3600は、1または複数のプロセッサ3602と、1または複数のメモリ3604と、映像処理ハードウェア3606と、を含んでもよい。1つまたは複数のプロセッサ3602は、本明細書に記載される1または複数の方法を実装するように構成されてもよい。1または複数のメモリ3604は、本明細書で説明される方法および技術を実装するために使用されるデータおよびコードを記憶するために使用してもよい。映像処理ハードウェア3606は、本明細書に記載される技術をハードウェア回路にて実装するために使用してもよい。
【0056】
図4は、本開示の技術を利用し得る例示的な映像コーディングシステム100を示すブロック図である。
【0057】
図4に示すように、映像コーディングシステム100は、送信元デバイス110と、送信先デバイス120と、を備えてもよい。送信元デバイス110は、映像エンコーディングデバイスとも称され得るエンコードされた映像データを生成する。送信先デバイス120は、送信元デバイス110によって生成された符号化映像データを復号してよく、映像復号デバイスとも呼ばれ得る。
【0058】
送信元デバイス110は、映像ソース112と、映像エンコーダ114と、入出力(I/O)インターフェース116と、を含んでよい。
【0059】
映像ソース112は、映像キャプチャデバイスなどのソース、映像コンテンツプロバイダからの映像データを受信するためのインターフェース、および/または映像データを生成するためのコンピュータグラフィックスシステム、またはこれらのソースの組み合わせを含んでもよい。映像データは、1または複数のピクチャを含んでもよい。映像エンコーダ114は、映像ソース112からの映像データを符号化し、ビットストリームを生成する。ビットストリームは、映像データのコーディングされた表現を形成するビットのシーケンスを含んでもよい。ビットストリームは、コーディングされたピクチャおよび関連付けられたデータを含んでもよい。コーディングされたピクチャは、ピクチャのコーディングされた表現である。関連付けられたデータは、シーケンスパラメータセット、ピクチャパラメータセット、および他の構文構造を含んでもよい。I/Oインターフェース116は、変復調器(モデム)および/または送信機を含んでもよい。符号化された映像データは、ネットワーク130aを介して、I/Oインターフェース116を介して送信先デバイス120に直接送信されてよい。符号化された映像データは、送信先デバイス120がアクセスするために、記録媒体/サーバ130bに記憶してもよい。
【0060】
送信先デバイス120は、I/Oインターフェース126、映像デコーダ124、および表示デバイス122を含んでもよい。
【0061】
I/Oインターフェース126は、受信機および/またはモデムを含んでもよい。I/Oインターフェース126は、送信元デバイス110または記憶媒体/サーバ130bから符号化された映像データを取得してもよい。映像デコーダ124は、符号化された映像データを復号してもよい。表示デバイス122は、復号された映像データをユーザに表示してもよい。表示デバイス122は、送信先デバイス120と一体化されてもよく、または外部表示デバイスとインターフェースするように構成される送信先デバイス120の外部にあってもよい。
【0062】
映像エンコーダ114および映像デコーダ124は、HEVC(High Efficiency Video Coding)規格、VVM(Versatile Video Coding)規格、および他の現在のおよび/または更なる規格等の映像圧縮規格に従って動作してもよい。
【0063】
図5は、映像エンコーダ200の一例を示すブロック図であり、図4に示されるシステム100における映像エンコーダ114であってもよい。
【0064】
映像エンコーダ200は、本開示の技術のいずれかまたは全部を行うように構成されてもよい。図5の例において、映像エンコーダ200は、複数の機能コンポーネントを含む。本開示で説明される技術は、映像エンコーダ200の様々なコンポーネント間で共有されてもよい。いくつかの例では、プロセッサは、本開示で説明される技術のいずれかまたはすべてを行うように構成してもよい。
【0065】
映像エンコーダ200の機能コンポーネントは、分割部201、予測部202、残差生成部207、変換部208、量子化部209、逆量子化部210、逆変換部211、再構成部212、バッファ213、およびエントロピー符号化部214を含んでもよく、予測部202は、モード選択部203、動き推定部204、動き補償部205、およびイントラ予測部206を含む。
【0066】
他の例において、映像エンコーダ200は、さらに多くの、さらに少ない、または異なる機能コンポーネントを含んでもよい。一例において、予測部202は、IBC(Intra Block Copy)部を含んでもよい。IBC部は、少なくとも1つの参照ピクチャが、現在の映像ブロックが位置するピクチャであるIBCモードにおいて予測を実行してもよい。
【0067】
さらに、動き推定部204および動き補償部205などのいくつかのコンポーネントは、高度に統合されてもよいが、説明のために、図5の例においては別個に表現されている。
【0068】
分割部201は、ピクチャを1または複数の映像ブロックに分割してもよい。映像エンコーダ200および映像デコーダ300は、様々な映像ブロックサイズをサポートしてもよい。
【0069】
モード選択部203は、例えば、誤りの結果に基づいて、イントラまたはインターのコーディングモードのうちの1つを選択し、得られたイントラまたはインターコーディングされたブロックを、残差ブロックデータを生成するために残差生成部207に供給し、また、参照ピクチャとして使用するための符号化されたブロックを再構成するために再構成部212に供給してよい。いくつかの例において、モード選択部203は、インター予測信号およびイントラ予測信号に基づいて予測を行うCIIP(Combination of Intra and Inter Prediction)モードを選択してもよい。モード選択部203は、インター予測の場合、ブロックのために動きベクトルの解像度(例えば、サブピクセルまたは整数ピクセル精度)を選択してもよい。
【0070】
現在の映像ブロックに対してインター予測を行うために、動き推定部204は、バッファ213からの1または複数の参照フレームと現在の映像ブロックとを比較することにより、現在の映像ブロックに対する動き情報を生成してもよい。動き補償部205は、動き情報および現在の映像ブロックに関連付けられたピクチャ以外のバッファ213からのピクチャの復号されたサンプルに基づいて、現在の映像ブロックに対する予測映像ブロックを決定してもよい。
【0071】
動き推定部204および動き補償部205は、現在の映像ブロックがIスライスであるか、Pスライスであるか、またはBスライスであるかに基づいて、例えば、現在の映像ブロックに対して異なる動作を行ってもよい。
【0072】
いくつかの例において、動き推定部204は、現在の映像ブロックに対して単一方向予測を行い、動き推定部204は、現在の映像ブロックに対して、参照映像ブロック用のリスト0またはリスト1の参照ピクチャを検索してもよい。そして、動き推定部204は、参照映像ブロックを含むリスト0またはリスト1における参照ピクチャを示す参照インデックスと、現在の映像ブロックと参照映像ブロックとの間の空間的変位を示す動きベクトルと、を生成する。動き推定部204は、参照インデックス、予測方向インジケータ、および動きベクトルを、現在の映像ブロックの動き情報として出力してもよい。動き補償部205は、現在の映像ブロックの動き情報が示す参照映像ブロックに基づいて、現在のブロックの予測映像ブロックを生成してもよい。
【0073】
他の例において、動き推定部204は、現在の映像ブロックを双方向予測してもよく、動き推定部204は、現在の映像ブロックに対する参照映像ブロックについて、リスト0から参照ピクチャを検索してもよく、また、現在の映像ブロックに対する別の参照映像ブロックについて、リスト1における参照ピクチャも検索してもよい。そして、動き推定部204は、参照映像ブロックを含むリスト0およびリスト1における参照ピクチャを示す参照インデックスと、参照映像ブロックと現在の映像ブロックとの間の空間的変位を示す動きベクトルとを生成してもよい。動き推定部204は、現在の映像ブロックの参照インデックスおよび動きベクトルを、現在の映像ブロックの動き情報として出力してもよい。動き補償部205は、現在の映像ブロックの動き情報が示す参照映像ブロックに基づいて、現在の映像ブロックの予測映像ブロックを生成してもよい。
【0074】
いくつかの例において、動き推定部204は、デコーダの復号処理のために、動き情報のフルセットを出力してもよい。
【0075】
いくつかの例では、動き推定部204は、現在の映像のための動き情報のフルセットを出力しなくてもよい。むしろ、動き推定部204は、別の映像ブロックの動き情報を参照して、現在の映像ブロックの動き情報を信号通知してもよい。例えば、動き推定部204は、現在の映像ブロックの動き情報が近傍の映像ブロックの動き情報に十分に類似していることを判定してもよい。
【0076】
一例において、動き推定部204は、現在の映像ブロックに関連付けられた構文構造において、現在の映像ブロックが別の映像ブロックと同一の動き情報を有することを映像デコーダ300に示す値を示してもよい。
【0077】
他の例において、動き推定部204は、現在の映像ブロックに関連付けられた構文構造において、別の映像ブロックと、MVD(Motion Vector Difference)とを識別してもよい。動きベクトルの差分は、現在の映像ブロックの動きベクトルと、指定された映像ブロックの動きベクトルとの差分を示す。映像デコーダ300は、指定された映像ブロックの動きベクトルと動きベクトル差分とを使用して、現在の映像ブロックの動きベクトルを決定してもよい。
【0078】
上述したように、映像エンコーダ200は、動きベクトルを予測的に信号通知してもよい。映像エンコーダ200によって実装され得る予測信号通知技法の2つの例は、AMVP(Advanced Motion Vector Prediction)およびマージモード信号通知を含む。
【0079】
イントラ予測部206は、現在の映像ブロックに対してイントラ予測を行ってもよい。イントラ予測部206が現在の映像ブロックをイントラ予測する場合、イントラ予測部206は、同じピクチャにおける他の映像ブロックの復号されたサンプルに基づいて、現在の映像ブロックのための予測データを生成してもよい。現在の映像ブロックのための予測データは、予測された映像ブロックおよび様々な構文要素を含んでもよい。
【0080】
残差生成部207は、現在の映像ブロックから現在の映像ブロックの予測された映像ブロックを減算することによって(例えば、マイナス符号によって示されている)、現在の映像ブロックに対する残差データを生成してもよい。現在の映像ブロックの残差データは、現在の映像ブロックにおけるサンプルの異なるサンプル成分に対応する残差映像ブロックを含んでもよい。
【0081】
他の例において、例えば、スキップモードにおいて、現在の映像ブロックに対する残差データがなくてもよく、残差生成部207は、減算動作を行わなくてもよい。
【0082】
変換処理部208は、現在の映像ブロックに関連付けられた残差映像ブロックに1または複数の変換を適用することによって、現在の映像ブロックのための1または複数の変換係数映像ブロックを生成してもよい。
【0083】
変換処理部208が現在の映像ブロックに関連付けられた変換係数映像ブロックを生成した後、量子化部209は、現在の映像ブロックに関連付けられた1または複数の量子化パラメータ(QP:Quantization Parameter)値に基づいて、現在の映像ブロックに関連付けられた変換係数映像ブロックを量子化してもよい。
【0084】
逆量子化部210および逆変換部211は、変換係数映像ブロックに逆量子化および逆変換をそれぞれ適用し、変換係数映像ブロックから残差映像ブロックを再構成してもよい。再構成部212は、予測部202によって生成された1または複数の予測映像ブロックに対応するサンプルに再構成された残差映像ブロックを追加して、バッファ213に格納するための現在のブロックに関連付けられた再構成された映像ブロックを生成してもよい。
【0085】
再構成部212が映像ブロックを再構成した後、映像ブロックにおける映像ブロッキングアーチファクトを縮小するために、ループフィルタリング動作が行われてもよい。
【0086】
エントロピー符号化部214は、映像エンコーダ200の他の機能コンポーネントからデータを受信してもよい。エントロピー符号化部214がデータを受信した場合、エントロピー符号化部214は、1または複数のエントロピー符号化動作を行い、エントロピー符号化されたデータを生成し、エントロピー符号化されたデータを含むビットストリームを出力してもよい。
【0087】
図6は、映像デコーダ300の一例を示すブロック図であり、映像デコーダ300は、図4に示すシステム100における映像デコーダ114であってもよい。
【0088】
映像デコーダ300は、本開示の技術のいずれかまたは全てを行うように構成されてもよい。図5の例において、映像デコーダ300は、複数の機能コンポーネントを含む。本開示で説明される技法は、映像デコーダ300の様々なコンポーネント間で共有されてもよい。いくつかの例では、プロセッサは、本開示で説明される技術のいずれかまたはすべてを行うように構成してもよい。
【0089】
図6の例において、映像デコーダ300は、エントロピー復号部301、動き補償部302、イントラ予測部303、逆量子化部304、逆変換部305、および再構成部306、並びにバッファ307を含む。映像デコーダ300は、いくつかの例では、映像エンコーダ200(図5)に関して説明した符号化パスとほぼ逆の復号パスを行ってもよい。
【0090】
エントロピー復号部301は、符号化されたビットストリームを取り出す。符号化されたビットストリームは、エントロピー符号化された映像データ(例えば、映像データの符号化されたブロック)を含んでもよい。エントロピー復号部301は、エントロピー符号化された映像データを復号し、エントロピー復号された映像データから、動き補償部302は、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス、および他の動き情報を含む動き情報を決定してもよい。動き補償部302は、例えば、AMVPおよびマージモードを行うことで、このような情報を決定してもよい。
【0091】
動き補償部302は、動き補償されたブロックを生成してもよく、場合によっては、補間フィルタに基づいて補間を行う。構文要素には、サブピクセルの精度で使用される補間フィルタのための識別子が含まれてもよい。
【0092】
動き補償部302は、映像ブロックの符号化中に映像エンコーダ20によって使用されるような補間フィルタを使用して、参照ブロックのサブ整数ピクセルのための補間値を計算してもよい。動き補償部302は、受信した構文情報に基づいて、映像エンコーダ200により使用される補間フィルタを決定し、予測ブロックを生成に補間フィルタを使用してもよい。
【0093】
動き補償部302は、符号化された映像シーケンスのフレームおよび/またはスライスを符号化するために使用されるブロックのサイズを判定するための構文情報、符号化された映像シーケンスのピクチャの各マクロブロックがどのように分割されるかを記述する分割情報、各分割がどのように符号化されるかを示すモード、各インター符号化されたブロックに対する1または複数の参照フレーム(および参照フレームリスト)、および符号化された映像シーケンスを復号するための他の情報のいくつかを使用してもよい。
【0094】
イントラ予測部303は、例えば、ビットストリームにおいて受信したイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成してもよい。逆量子化部303は、ビットストリームに提供され、エントロピー復号部301によって復号された量子化された映像ブロック係数を逆量子化(すなわち、逆量子化)する。逆変換部303は、逆変換を適用する。
【0095】
再構成部306は、残差ブロックと、動き補償部202またはイントラ予測部303によって生成された対応する予測ブロックとを合計し、復号されたブロックを形成してもよい。所望であれば、ブロックアーチファクトを削除するために、復号されたブロックをフィルタリングするためにデブロッキングフィルタが適用されてもよい。復号された映像ブロックは、バッファ307に記憶され、バッファ307は、後続の動き補償/イントラ予測のために参照ブロックを提供し、表示装置に表示するために復号された映像を生成する。
【0096】
解決策のリストは、開示される技術のいくつかの実施例を説明する。
【0097】
第1の解決策のセットを次に提供する。以下の解決策は、前章(例えば、項目1~9)で論じた技術の例示的な実施形態を示す。
【0098】
1.映像処理方法(例えば、図3の方法600)であって、1または複数の映像ピクチャを含む1または複数の映像レイヤを含む映像と映像のコーディングされた表現との間の変換を行うこと(602)を含み、コーディングされた表現はコーディングされた表現からのサブビットストリームの抽出に関連するフォーマット規則に準拠する。
【0099】
2.フォーマット規則に従って、コーディングされた表現からサブビットストリームを抽出することをさらに含む、解決策1に記載の方法。
【0100】
以下の解決策は、前章(例えば、項目1)で論じた技術の例示的な実施形態を示す。
【0101】
3.サブビットストリームを抽出する間に、抽出に使用されるターゲットidは、0から、コーディングされた表現のための映像パラメータセットで指示する構文フィールドの値の間の範囲となるように許可される、解決策1から2のいずれか1つに記載の方法。
【0102】
以下の解決策は、前章(例えば、項目2)で論じた技術の例示的な実施形態を示す。
【0103】
4.レイヤidに従って、出力ビットストリームからAUD NAL(Access Unit Delimiter Network Abstraction Layer)を削除せずに、サブビットストリームを抽出する、解決策1から3のいずれかに記載の方法。
【0104】
以下の解決策は、前章(例えば、項目3)で論じた技術の例示的な実施形態を示す。
【0105】
5.抽出される出力レイヤに適用できないスケーラブルネスティング補足強化情報メッセージを含むネットワーク抽象レイヤユニットを選択的に削除することによって、サブビットストリームを抽出する、解決策1から4のいずれか1つに記載の方法。
【0106】
以下の解決策は、前章(例えば、項目5)で論じた技術の例示的な実施形態を示す。
【0107】
6.設定されている出力レイヤセットのためのフラグ、および、無効にされているサブピクチャのためのフラグを用いて、スケーラブルネスティングSEIメッセージから非スケーラブルネスト化されたSEI(Supplemental Enhancement Information)を生成するために、抽出を制約することによって、サブビットストリームは抽出される、解決策1から5のいずれか1つに記載の方法。
【0108】
以下の解決策は、前章(例えば、項目6)で論じた技術の例示的な実施形態を示す。
【0109】
7.単一のSEI(Supplementtal Enhancement Informaiton)ネットワーク抽象レイヤユニットからの複数のスケーラブルネスト化されたSEIメッセージの抽出を規定する規則に従って、サブビットストリームを抽出する、解決策1から6のいずれか1つに記載の方法。
【0110】
以下の解決策は、前章(例えば、項目7)で論じた技術の例示的な実施形態を示す。
【0111】
8.いくつかのSEIメッセージが抽出され、非スケーラブルネスト化されたSEIメッセージとして含まれるすべての補足強化情報ネットワーク抽象化レイヤSEI NALユニットをコーディングされた表現から削除する規則に従って、サブビットストリームは抽出される、解決策1から7のいずれか1つに記載の方法。
【0112】
以下の解決策は、前章(例えば、項目8)で論じた技術の例示的な実施形態を示す。
【0113】
9.フォーマット規則は、SEI NAL(Supplemental Enhancement Information Network Abstraction Layer)ユニットが、0、1、または130に等しいpayloadTypeを有するSEIメッセージを含む場合、SEI NALユニットは、0(BP)、1(PT)、130(DUI)、または133(スケーラブルネスティング)に等しくないpayloadTypeを有するSEIメッセージを含むことを許容しないように規定する、解決法1から8のいずれか1つに記載の方法。
【0114】
10.変換を実行することは、映像をコーディングされた表現に符号化することを含む、解決策1から9のいずれか1つに記載の方法。
【0115】
11.変換を行うことは、コーディングされた表現を構文解析し、復号して映像を生成することを含む、解決策1から9のいずれかに記載の方法。
【0116】
12.解決策1から11の1または複数に記載の方法を実行するように構成されたプロセッサを備える、映像復号装置。
【0117】
13.解決策1から11の1または複数に記載の方法を実装するように構成されたプロセッサを備える、映像符号化装置。
【0118】
14.コンピュータコードが記憶されたコンピュータプログラム製品であって、コードは、プロセッサにより実行された際に、プロセッサに、解決策1から11のいずれかに記載の方法を実装させるコンピュータプログラム製品。
【0119】
15.本明細書に記載の方法、装置またはシステム。
【0120】
第2の解決策のセットは、前章(例えば、項目1、4、8、および9)で論じた技術の例示的な実施形態を示す。
【0121】
1.映像処理方法(例えば、図7Aに示される方法700)であって、規則に従って、複数のレイヤを含む映像と映像のビットストリームとの間の変換を実行すること(702)を含み、規則は、ビットストリームから抽出されるサブビットストリームの時間的レイヤ識別子値の最大許容値を規定する。
【0122】
2.規則は、ビットストリームにおけるレイヤの数に応答する、解決策1に記載の方法。
【0123】
3.レイヤの数が1よりも大きい場合、規則は、時間的レイヤ識別子の最大許容値が、0から、ビットストリームによって参照される映像パラメータセットにおける第1の構文要素に基づく値の範囲内にあることを規定する、解決策1または2に記載の方法。
【0124】
4.レイヤの数が1に等しい場合、規則は、時間的レイヤ識別子の最大許容値が、0から、ビットストリームによって参照されるシーケンスパラメータセットにおける第2の構文要素に基づく値の範囲内にあることを規定する、解決策1または2に記載の方法。
【0125】
5.第1の構文要素は、映像パラメータセットから1を減算した値で規定されるレイヤに存在することが許される時間的サブレイヤの最大数を規定する、解決策3に記載の方法。
【0126】
6.第2の構文要素は、シーケンスパラメータセットから1を減算した値で規定されるレイヤに存在することが許される時間的サブレイヤの最大数を規定する、解決策4に記載の方法。
【0127】
7.映像パラメータセットにおける第1の構文要素は、vps_max_sublayers_minus1である、解決策3に記載の方法。
【0128】
8.シーケンスパラメータセットにおける第2の構文要素は、sps_max_sublayers_minus1である、解決策4に記載の方法。
【0129】
9.値は、第1の構文要素または第2の構文要素の値に等しい、解決策3または4に記載の方法。
【0130】
10.映像処理方法(例えば、図7Bに示される方法710)であって、規則に従って、映像と映像のビットストリームとの間の変換を実行すること(712)を含み、規則は、サブビットストリームを出力するためのサブビットストリーム抽出プロセス中にビットストリームから抽出されるべきNAL(Network Abstraction Layer)ユニットを定義し、規則は、ターゲットOLSインデックスを有するOLS(Output Layer Set)におけるNALユニットヘッダ識別子値のリストが、サブビットストリーム抽出プロセスに入力されるビットストリームにおけるすべてのVCL(Video Coding Layer) NALユニットにおけるNALユニットヘッダ識別子のすべての値を含まないかどうかに基づいて、サブビットストリームを導出することを規定する。
【0131】
11.規則は、出力レイヤセットにおけるNALユニットヘッダ識別子値のリストが、ビットストリームにおけるすべてのVCL NALユニットのすべてのNALユニットヘッダ識別子の値を含まない場合、0または130に等しいペイロードタイプの非スケーラブルネスト化されたSEIメッセージを含むすべてのSEI(Supplemental Enhancement Informaiton) NALユニットをサブビットストリームから削除することを規定する、解決策10に記載の方法。
【0132】
12.映像処理方法(例えば、図7Cに示される方法720)であって、規則に従って、映像と映像のビットストリームとの間の変換を実行すること(722)を含み、規則は、サブビットストリームを出力するためのサブビットストリーム抽出プロセス中にビットストリームから抽出されるべきNAL(Network Abstraction Layer)ユニットを定義し、規則は、SEI NAL(Network Abstraction Layer)ユニットに含まれる第1のSEI(Supplemental Enhancement Information)メッセージのペイロードタイプに応答して、特定のペイロードタイプを有するSEIメッセージを含むことSEI NALユニットに許可しないことを規定する。
【0133】
13.第1のSEIメッセージのペイロードタイプは、0、1、または130であり、規則は、SEI NALユニットが、0、1、130、または133に等しくない特定のペイロードタイプを有するSEIメッセージを含むことを許可しないことを規定する、解決策12に記載の方法。
【0134】
14.映像処理方法(例えば、図7Dに示される方法730)であって、フォーマット規則に従って、映像と映像のビットストリームとの間の変換を実行すること(732)を含み、フォーマット規則は、ビットストリームが、1または複数の特定のペイロードタイプを有する1または複数の非スケーラブルネスト化されたSEI(Supplemental Enhancement Information)メッセージが、コーディングレイヤによって参照されるすべての出力レイヤセットに適用されるかどうかを規定するフラグを含むことを規定する。
【0135】
15.1または複数の特定のペイロードタイプは、1および130に等しい、解決策14に記載の方法。
【0136】
16.1または複数の非スケーラブルSEIメッセージは、PT(Picture Timing) SEIメッセージおよびDUI(Decoding Unit Information) SEIメッセージである、解決策14に記載の方法。
【0137】
17.1または複数の特定のペイロードタイプは、0、1、および130に等しい、解決策14に記載の方法。
【0138】
18.1または複数の非スケーラブルSEIメッセージは、BP(Buffuring Period) SEIメッセージおよびDUI(Decoding Unit Information) SEIメッセージである、解決策14に記載の方法。
【0139】
19.1または複数の特定のペイロードタイプは130に等しい、解決策14に記載の方法。
【0140】
20.1または複数の非スケーラブルSEIメッセージは、DUI(Decoding Unit Information) SEIメッセージである、解決策14に記載の方法。
【0141】
21.1または複数の特定のペイロードタイプは、0に等しい、解決策14に記載の方法。
【0142】
22.1または複数の非スケーラブルSEIメッセージは、BP(Buffering Period) SEIメッセージである、解決策1に記載の方法。
【0143】
23.変換は、映像をビットストリームに符号化することを含む、解決策1から27のいずれかに記載の方法。
【0144】
24.変換は、ビットストリームから映像を復号することを含む、解決策1から22のいずれかに記載の方法。
【0145】
25.変換は、映像からビットストリームを生成することを含み、方法は、ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することをさらに含む、解決策1から22のいずれかに記載の方法。
【0146】
26.解決策1から25の1または複数に記載の方法を実装するように構成されたプロセッサを備える映像処理装置。
【0147】
27.解決策1から25のいずれか1つに記載の方法と、ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することをさらに含む、映像のビットストリームを記憶する方法。
【0148】
28.実行された際に、解決策1から25の1または複数に記載の方法をプロセッサに実装させるプログラムコードを記憶するコンピュータ可読媒体。
【0149】
29.上述した方法のいずれかに従って生成されたビットストリームを記憶する、コンピュータ可読媒体。
【0150】
30.解決策1から25のいずれかに記載の方法を実装するように構成された、ビットストリーム表現を記憶するための映像処理装置。
【0151】
第3の解決策のセットは、前章(例えば、項目2)で論じた技術の例示的な実施形態を示す。
【0152】
1.映像処理方法(例えば、図8に示される方法800)であって、規則に従って、映像と映像のビットストリームとの間の変換を実行すること(802)を含み、規則は、特定のタイプのNAL(Network Abstraction Layer)ユニットを削除せず、かつ、特定のNALユニットヘッダ識別子値を有して、ビットストリームから出力サブビットストリームを抽出するサブビットストリーム抽出プロセスを規定し、特定のタイプは、AUD(Access Unit Delimiter) NALユニットを含む。
【0153】
2.特定のタイプは、VPS(Video Paramter Set) NALユニットを含む、解決策1に記載の方法。
【0154】
3.特定のタイプは、復号能力情報NALユニットを含む、解決策1または2に記載の方法。
【0155】
4.特定のタイプは、ビットストリーム終端NALユニットを含む、解決策1~3のいずれか1つに記載の方法。
【0156】
5.特定のタイプは、0、1、130、または203に等しいペイロードタイプを有する非スケーラブルネスト化されたSEIメッセージを含む補足強化情報NALユニットを含む、解決策1から4のいずれか1つに記載の方法。
【0157】
6.特定のNALユニットヘッダ識別子値は、出力サブビットストリームに対するレイヤ値のリストに含まれるレイヤ識別子値を含む、解決策1から6のいずれか1つに記載の方法。
【0158】
7.規則は、特定のタイプのNALユニットに関連付けられたNALユニットヘッダ識別子値に関わらず、例外に従って、特定のタイプのNALユニットを出力ビットストリームから削除しないことを規定する、解決策1に記載の方法。
【0159】
8.変換は、映像をビットストリームに符号化することを含む、解決策1から7のいずれか1つに記載の方法。
【0160】
9.変換は、ビットストリームから映像を復号することを含む、解決策1から7のいずれかに記載の方法。
【0161】
10.変換は、映像からビットストリームを生成することを含み、方法は、ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することをさらに含む、解決策1から7のいずれかに記載の方法。
【0162】
11.解決策1から10の1または複数のいずれかに記載の方法を実装するように構成された処理装置を備える映像処理装置。
【0163】
12.解決策1から10のいずれか1つに記載の方法と、ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することをさらに含む、映像のビットストリームを記憶する方法。
【0164】
13.実行されると、解決策1から10の1または複数のいずれかに記載の方法をプロセッサに実装させるプログラムコードを記憶するコンピュータ可読媒体。
【0165】
14.上述した方法のいずれかに従って生成されたビットストリームを記憶する、コンピュータ可読媒体。
【0166】
15.解決策1から10の1または複数のいずれかに記載の方法を実装するように構成された、ビットストリーム表現を記憶するための映像処理装置。
【0167】
第4の解決策のセットは、前章(例えば、項目3)で論じた技術の例示的な実施形態を示す。
【0168】
1.映像処理方法(例えば、図9に示される方法900)であって、規則に従って、1または複数のレイヤを含む映像と映像のビットストリームとの間の変換を実行すること(902)を含み、規則は、サブビットストリーム抽出プロセスにおいて、ターゲットOLS(Output Layer Set)に含まれていないレイヤに適用されるスケーラブルネスティングSEI(Supplementary Enhancement Information)メッセージを含むNAL(Network Abstraction Layer)ユニットを削除することを規定する。
【0169】
2.スケーラブルネスティングSEIメッセージは、レイヤに適用されるスケーラブルネスティングSEIメッセージを規定する特定の値に等しい値を有するフラグに関連付けられる、解決策1に記載の方法。
【0170】
3.特定の値は0である、解決策2に記載の方法。
【0171】
4.規則は、第2のリスト(LayerIdInOls[targeOlsIdx])内にある第1のリスト(NestingLayerID[i])に値を有さないSEIメッセージを含むNALユニットを削除することをさらに規定し、第1のリストは、スケーラブルネスティングSEIメッセージが適用されるレイヤのNALユニットヘッダ識別子値を特定し、かつ、iは0からNumLayers-1の範囲内であり、NumLayerはスケーラブルネスティングSEIメッセージが適用されるレイヤの数を示し、第2のリストはターゲット出力レイヤインデックスで設定されたターゲット出力レイヤにおけるNALユニットヘッダ識別子の値を規定する。
【0172】
5.変換は、映像をビットストリームに符号化することを含む、解決策1から4のいずれかに記載の方法。
【0173】
6.変換は、ビットストリームから映像を復号することを含む、解決策1から4のいずれかに記載の方法。
【0174】
7.変換は、映像からビットストリームを生成することを含み、方法は、ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することをさらに含む、解決策1から4のいずれかに記載の方法。
【0175】
8.解決策1から7の1または複数のいずれかに記載の方法を実装するように構成されたプロセッサを備える映像処理装置。
【0176】
9.解決策1から7のいずれか1つに記載の方法と、ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することをさらに含む、映像のビットストリームを記憶する方法。
【0177】
10.実行されると、解決策1から7の1または複数のいずれかに記載の方法をプロセッサに実装させるプログラムコードを記憶するコンピュータ可読媒体。
【0178】
11.上述した方法のいずれかに従って生成されたビットストリームを記憶する、コンピュータ可読媒体。
【0179】
12.解決策1から7の1または複数のいずれかに記載の方法を実装するように構成された、ビットストリーム表現を記憶するための映像処理装置。
【0180】
第5の解決策のセットは、前章(例えば、項目5~7)で論じた技術の例示的な実施形態を示す。
【0181】
1.映像処理方法(例えば、図10Aに示される方法1000)であって、規則に従って、1または複数のレイヤを含む映像と映像のビットストリームとの間の変換を実行することを含み、規則は、サブビットストリーム抽出のプロセスにおいて、SEI(Supplementary Enhancement Information)メッセージが特定のOLS(Output Layer Set)に適用されるかどうかを示す第1のフラグと、SEIメッセージがすべてのサブピクチャに適用されるかまたは特定のサブピクチャにのみに適用されるかどうかを示す第2のフラグに基づいて、スケーラブルネスティングSEIメッセージからスケーラブルにネスト化されたSEIメッセージを抽出することによって、非スケーラブルネスト化されたSEIメッセージが生成されることを規定する。
【0182】
2.規則は、条件i)第1のフラグは、SEIメッセージが特定のOLS(Output Lyer Set)に適用されることを規定する第1の値を有することと、条件ii)第2のフラグは、特定のOLSに適用されるSEIメッセージが、特定のOLSのすべてのサブピクチャに適用されることを規定する第2の値を有することと、が満たされていることに応答して、非スケーラブルネスト化されたSEIメッセージを生成するように規定する、解決策1に記載の方法。
【0183】
3.映像処理方法(例えば、図10Bに示される方法1010)であって、規則に従って、1または複数のレイヤを含む映像と映像のビットストリームとの間の変換を実行すること(1012)を含み、規則は、サブビットストリーム抽出のプロセスにおいて、ピクチャユニットにおける第1のSEI(Supplemental Enhancement Information) NAL(Network Abstraction Layer)ユニットから複数のスケーラブルネスト化されたSEIメッセージを抽出することによって、非スケーラブルネスト化されたSEIメッセージが生成されることを規定する。
【0184】
4.複数のスケーラブルネスト化されたSEIメッセージは、ピクチャユニットに含まれる第2のSEI NALユニットに含まれる、解決策3に記載の方法。
【0185】
5.第2のSEI NALユニットは、第1のSEI NALユニットの直後にある、解決策4に記載の方法。
【0186】
6.映像処理方法(例えば、図10Cに示される方法1020)であって、規則に従って、1または複数のレイヤを含む映像と映像のビットストリームとの間の変換を実行すること(1022)を含み、規則は、出力ビットストリームを生成するめにサブビットストリーム抽出プロセスを規定し、規則は、サブビットストリーム抽出プロセス中の1または複数のSEI(Supplemental Enhancement Information) NAL(Network Abstraction Layer)ユニットのハンドリングを規定する。
【0187】
7.規則は、いくつかのSEIメッセージが抽出され、非スケーラブルネスト化されたSEIメッセージとして含まれた1または複数のSEI NALユニットを削除することを規定する、解決策6に記載の方法。
【0188】
8.規則は、ターゲット出力レイヤセットのみに適用されるスケーラブルネスト化されたSEIメッセージを含むSEI NALユニットを削除することを規定する、解決策6に記載の方法。
【0189】
9.規則は、ターゲットOLS以外のOLSが存在しないOLS(Output Layer Set)に適用されるスケーラブルネスト化されたSEIメッセージを含むSEI NALユニットを削除することを規定する、解決策6に記載の方法。
【0190】
10.変換は、映像をビットストリームに符号化することを含む、解決策1から9のいずれかに記載の方法。
【0191】
11.変換は、ビットストリームから映像を復号することを含む、解決策1から9のいずれかに記載の方法。
【0192】
12.変換は、映像からビットストリームを生成することを含み、方法は、ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することをさらに含む、解決策1から9のいずれかに記載の方法。
【0193】
13.解決策1から12の1または複数のいずれかに記載の方法を実装するように構成されたプロセッサを備える映像処理装置。
【0194】
14.解決策1から12のいずれか1つに記載の方法と、ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することをさらに含む、映像のビットストリームを記憶する方法。
【0195】
15.実行されると、解決策1から12の1または複数のいずれかに記載の方法をプロセッサに実装させるプログラムコードを記憶したコンピュータ可読媒体。
【0196】
16.上述した方法のいずれかに従って生成されたビットストリームを記憶する、コンピュータ可読媒体。
【0197】
17.解決策1から12の1または複数のいずれかに記載の方法を実装するように構成された、ビットストリーム表現を記憶するための映像処理装置。
【0198】
本明細書に記載された開示された、およびその他の解決策、実施例、実施形態、モジュール、および機能動作の実装形態は、本明細書に開示された構造およびその構造的等価物を含め、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェアで実施されてもよく、またはそれらの1つ以上の組み合わせで実施してもよい。開示された、およびその他の実施形態は、1または複数のコンピュータプログラム製品、すなわち、データ処理装置によって実装されるため、またはデータ処理装置の動作を制御するために、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1または複数のモジュールとして実施することができる。このコンピュータ可読媒体は、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝播信号をもたらす物質の組成物、またはこれらの1または複数の組み合わせであってもよい。「データ処理装置」という用語は、例えば、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサ、若しくはコンピュータを含む、データを処理するためのすべての装置、デバイス、および機械を含む。この装置は、ハードウェアの他に、当該コンピュータプログラムの実行環境を作るコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの1つ以上の組み合わせを構成するコードを含むことができる。伝播信号は、人工的に生成した信号、例えば、機械で生成した電気、光、または電磁信号であり、適切な受信装置に送信するための情報をエンコードするために生成される。
【0199】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとも呼ばれる)は、コンパイルされた言語または解釈された言語を含む任意の形式のプログラミング言語で記述することができ、また、それは、スタンドアロンプログラムとして、またはコンピューティング環境で使用するのに適したモジュール、コンポーネント、サブルーチン、または他のユニットとして含む任意の形式で展開することができる。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(例えば、マークアップ言語文書に格納された1または複数のスクリプト)に記録されていてもよいし、当該プログラム専用の単一のファイルに記憶されていてもよいし、複数の調整ファイル(例えば、1または複数のモジュール、サブプログラム、またはコードの一部を格納するファイル)に記憶されていてもよい。コンピュータプログラムを、1つのコンピュータで実行するように展開することができ、あるいは、1つのサイトに位置する、または複数のサイトにわたって分散され通信ネットワークによって相互接続される複数のコンピュータで実行するように展開することができる。
【0200】
本明細書に記載された処理およびロジックフローは、入力データに対して動作し、出力を生成することによって機能を行うための1または複数のコンピュータプログラムを実行する1または複数のプログラマブルプロセッサによって行うことができる。処理およびロジックフローはまた、特定用途のロジック回路、例えば、FPGA(Field Programmable Gate Array)またはASIC(Application Specific Integrated Circuit)によって行うことができ、装置はまた、特別目的のロジック回路として実装することができる。
【0201】
コンピュータプログラムの実行に適したプロセッサは、例えば、汎用および専用マイクロプロセッサの両方、並びに任意の種類のデジタルコンピュータの任意の1または複数のプロセッサを含む。一般的に、プロセッサは、リードオンリーメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの本質的な要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための1または複数の記憶装置とである。一般的に、コンピュータは、データを記憶するための1または複数の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含んでもよく、またはこれらの大容量記憶デバイスからデータを受信するか、またはこれらにデータを転送するように動作可能に結合されてもよい。しかしながら、コンピュータは、このようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、あらゆる形式の不揮発性メモリ、媒体、およびメモリデバイスを含み、例えば、EPROM、EEPROM、フラッシュ記憶装置、磁気ディスク、例えば内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、およびCD-ROMおよびDVD-ROMディスク等の半導体記憶装置を含む。プロセッサおよびメモリは、特定用途のロジック回路によって補完されてもよく、または特定用途のロジック回路に組み込まれてもよい。
【0202】
本特許明細書は多くの特徴を含むが、これらは、任意の主題の範囲または特許請求の範囲を限定するものと解釈されるべきではなく、むしろ、特定の技術の特定の実施形態に特有であり得る特徴の説明と解釈されるべきである。本特許文献において別個の実施形態のコンテキストで説明されている特定の特徴は、1つの例において組み合わせて実装してもよい。逆に、1つの例のコンテキストで説明された様々な特徴は、複数の実施形態において別個にまたは任意の適切なサブコンビネーションで実装してもよい。さらに、特徴は、特定の組み合わせで作用するものとして上記に記載され、最初にそのように主張されていてもよいが、主張された組み合わせからの1または複数の特徴は、場合によっては、組み合わせから抜粋されることができ、主張された組み合わせは、サブコンビネーションまたはサブコンビネーションのバリエーションに向けられてもよい。
【0203】
同様に、動作は図面において特定の順番で示されているが、これは、所望の結果を達成するために、このような動作が示された特定の順番でまたは連続した順番で行われること、または示された全ての動作が行われることを必要とするものと理解されるべきではない。また、本特許明細書に記載されている実施形態における様々なシステムの構成要素の分離は、全ての実施形態においてこのような分離を必要とするものと理解されるべきではない。
【0204】
いくつかの実装形態および実施例のみが記載されており、この特許文献に記載され図示されているコンテンツに基づいて、他の実施形態、拡張および変形が可能である。
図1
図2
図3
図4
図5
図6
図7A
図7B
図7C
図7D
図8
図9
図10A
図10B
図10C