[0022]本開示の技法は、ファイルフォーマットにおけるビデオコンテンツの記憶に関係する。より詳細には、本技法は、パラメータセットの配置に制約を強いることと、ビデオファイルにおける同期サンプルおよび非同期サンプルの定義とを通して、コード化ビデオデータの効率的なランダムアクセシビリティを可能にし得る。
[0023]ビデオコーディング規格は、ITU-T H.261、ISO/IEC MPEG-1 Visualと、ITU-T H.262またはISO/IEC MPEG-2 Visualと、ITU-T H.263、ISO/IEC MPEG-4 Visualと、スケーラブルビデオコーディング(SVC)およびマルチビュービデオコーディング(MVC)拡張を含む、ITU-T H.264またはISO/IEC MPEG-4 AVCと、スケーラブルコーディング拡張(すなわち、スケーラブル高効率ビデオコーディング、SHVC)およびマルチビュー拡張(すなわち、マルチビュー高効率ビデオコーディング、MV-HEVC)を含む、ITU-T H.265およびISO/IEC23008-2としても知られる、高効率ビデオコーディング(HEVC)とを含む。
[0024]ランダムアクセスは、ビットストリーム中の最初のコード化ピクチャではないコード化ピクチャから始まる、ビデオビットストリームの復号を指し得る。ビットストリームへのランダムアクセスは、たとえば、ユーザが、任意の時間にプログラムに同調するため、異なるチャネル間で切り替えるため、ビデオの特定の部分にジャンプするため、またはストリーム適応(たとえば、ビットレート、フレームレート、空間解像度などの適応)のために異なるビットストリームに切り替えるために、ブロードキャスティングおよびストリーミングなど、多くのビデオアプリケーションにおいて行われる。この特徴は、ランダムアクセスピクチャまたはランダムアクセスポイントを規則的な間隔で何回もビデオビットストリーム中に挿入することによって有効にされる。
[0025]AVCまたはHEVCにおいて指定されている瞬時復号リフレッシュ(IDR:instantaneous decoding refresh)ピクチャがランダムアクセスのために使用され得る。概して、IDRピクチャは、イントラコード化データを含み得、復号ピクチャバッファのピクチャが参照のために使用されないとしてクリアおよび/またはマークさせられ得る。しかしながら、復号順序においてIDRピクチャに後続するピクチャは、IDRピクチャより前に復号されたピクチャを参照として使用することができないので、ランダムアクセスのためにIDRピクチャに依拠するビットストリームは、著しく低いコーディング効率を有することがある。
[0026]コーディング効率を改善するために、復号順序においてCRAピクチャに後続するが、出力順序においてCRAピクチャに先行するピクチャが、CRAピクチャの前に復号されたピクチャを参照として使用することを可能にするために、クリーンランダムアクセス(CRA)ピクチャの概念がHEVCに導入された。復号順序においてCRAピクチャに後続するが、出力順序ではCRAピクチャに先行するピクチャは、CRAピクチャに関連するリーディングピクチャ(またはCRAピクチャのリーディングピクチャ)と呼ばれる。現在のCRAピクチャの前のIDRまたはCRAピクチャから復号が始まる場合、CRAピクチャのリーディングピクチャは正しく復号可能である。しかしながら、CRAピクチャのリーディングピクチャは、CRAピクチャからのランダムアクセスが行われたときに非復号可能であり得、したがって、リーディングピクチャは、一般にランダムアクセス復号中に廃棄される。復号がどこから始まるかに応じて利用可能ではないことがある参照ピクチャからの誤り伝搬を防止するために、復号順序と出力順序の両方においてCRAピクチャに後続するすべてのピクチャは、復号順序または出力順序のいずれかにおいて(リーディングピクチャを含む)CRAピクチャの前にくるいかなるピクチャも参照として使用しないことがある。
[0027]切断リンクアクセス(BLA)ピクチャの概念は、CRAピクチャの導入の後にHEVCにさらに導入され、CRAピクチャの概念に基づく。BLAピクチャは、一般に、CRAピクチャの位置において(以下でより詳細に説明するように)ビットストリームスプライシングから発生し、スプライスされたビットストリームにおいて、スプライシングポイントCRAピクチャはBLAピクチャに変更される。
[0028]IDRピクチャ、CRAピクチャおよびBLAピクチャはランダムアクセスポイント(RAP)ピクチャと総称される。IDRピクチャは、いわゆるクローズドピクチャグループ(GOP)ベースのRAPに対応するが、CRAおよびBLAピクチャは、従来ではいわゆるオープンピクチャグループベースのRAPに対応する。
[0029]BLAピクチャとCRAピクチャの間の1つの差異は、CRAピクチャの場合、関連するリーディングピクチャが、復号が復号順序でCRAピクチャの前のRAPピクチャから開始する場合、正しく復号可能であり、CRAピクチャからのランダムアクセスが行われるとき(すなわち、復号がCRAピクチャから開始するとき、または言い換えると、CRAピクチャがビットストリーム中の第1のピクチャであるとき)、正しく復号可能でないことがあることである。BLAピクチャの場合、関連するリーディングピクチャは、復号が復号順序においてBLAピクチャの前のRAPピクチャから開始するときでも、すべての場合に非復号可能であり得る。
[0030]ビデオビットストリームにランダムアクセスすることはまた、イントラコーディングされない漸進的復号リフレッシュ(GDR)ピクチャから開始し得るが、一定数のピクチャが復号された後に、復号順序ですべての後続のピクチャは正しく復号され得る。GDRを達成するためのビデオ技法の検討(review)については、この文書:Miska M. Hannuksela、Ye-Kui Wang、およびMoncef Gabbouj、「Isolated regions in video coding」、マルチメディアに関するIEEEトランザクション、第6巻、第2号、259~267ページ、2004年4月を参照されたい。
[0031]いくつかの例では、ビデオビットストリームにランダムアクセスすることは、ビットストリームスプライシング(bitstream splicing)中に実施され得る。ビットストリームスプライシングは、2つ以上のビットストリームまたはそれの部分の連結を指し得る。たとえば、場合によっては、スプライスされたビットストリームを生成するためにビットストリームのいずれか一方または両方にいくつかの変更を加えて、第1のビットストリームに第2のビットストリームが付加され得る。第2のビットストリーム中の第1のコード化ピクチャは、スプライシングポイントとも呼ばれる。したがって、スプライスされたビットストリーム中のスプライシングポイントの後に生じるピクチャは、第2のビットストリームから発生したものであり、一方、スプライスされたビットストリーム中のスプライシングポイントに先行するピクチャは、第1のビットストリームから発生したものである。
[0032]ビットストリームのスプライシングはビットストリームスプライサによって実施され得る。ビットストリームスプライサは、しばしば軽量であり、エンコーダよりもはるかにインテリジェントではないことがある。たとえば、スプライサは、エントロピー復号および符号化能力を装備し得ない。いくつかの例では、ビットストリームスプライサはサーバまたは他のコンテンツ作成(preparation)デバイス中に含まれ得る。ビットストリーム切替えが適応ストリーミング環境において使用され得る。切替え先のビットストリーム中のあるピクチャにおけるビットストリーム切替え動作は、事実上、ビットストリームスプライシング動作であり、ここにおいて、スプライシングポイントは、ビットストリーム切替えポイント、すなわち、切替え先のビットストリームからの第1のピクチャである。
[0033]いくつかの事例では、コード化ビデオデータは特定のファイルフォーマットで記憶され得る。例示的なファイルフォーマット規格としてはISOベースメディアファイルフォーマット(ISOBMFF、ISO/IEC14496-12)がある(include)。ISOBMFFは、AVCファイルフォーマットなどの多くのコーデックカプセル化(encapsulation)フォーマットのための、ならびにMPEG-4ファイルフォーマット、3GPP(登録商標)ファイルフォーマット(3GP)、およびDVBファイルフォーマットなどの多くのマルチメディアコンテナフォーマットのための、基礎として使用され得る。たとえば、ISOBMFFから導出された他のファイルフォーマットとしては、MPEG-4ファイルフォーマット(ISO/IEC14496-14)、3GPPファイルフォーマット(3GPP TS26.244)およびAVCファイルフォーマット(ISO/IEC14496-15)があり得る。
[0034]オーディオおよびビデオなどの連続的メディアに加えて、画像、ならびにメタデータなどの静的メディアが、ISOBMFFに準拠した(conforming)ファイルに記憶され得る。ISOBMFFに従って構成されたファイルは、ローカルメディアファイルの再生、リモートファイルのプログレッシブダウンロード、動的適応ストリーミングオーバーHTTP(DASH)のためのセグメント、ストリーミングされるべきコンテンツおよびそれのパケット化命令のためのコンテナ、ならびに受信されたリアルタイムメディアストリームの記録を含む、多くの目的のために使用され得る。
[0035]ボックスは、4文字コード化ボックスタイプと、ボックスのバイト数と、ペイロードとを含む、ISOBMFFにおける基本的なシンタックス構造を指し得る。ISOBMFFファイルはボックスのシーケンスからなり、ボックスは他のボックスを含んでいることがある。ムービーボックス(「moov」)は、各々がファイル中にトラックとして表される、ファイル中に存在する連続的メディアストリームのためのメタデータを含んでいる。
[0036]トラックのためのメタデータは、トラックボックス(「trak」)中に封入されるが、トラックのメディアコンテンツは、メディアデータボックス(「mdat」)中に封入されるか、または別のファイル中に直接封入されるかのいずれかである。トラックのためのメディアコンテンツは、オーディオまたはビデオアクセスユニットなど、サンプルのシーケンスからなる。アクセスユニットは、概して、共通の時間インスタンスのためのコード化ピクチャデータを含むデータのユニットである。サンプルは、本明細書で説明するビデオコーディング仕様など、特定の仕様によって定義されたアクセスユニットである。サンプルエントリは、対応するサンプルの記述を提供し得る。
[0037]ISOBMFFは、次のタイプのトラック、すなわち、エレメンタリメディアストリームを含んでいるメディアトラックと、メディア送信命令を含むかまたは受信パケットストリームを表すかのいずれかであるヒントトラックと、時間同期されたメタデータを備えるタイムド(timed)メタデータトラックとを規定する。
[0038]元々は記憶のために設計されたが、ISOBMFFは、ストリーミング、たとえばプログレッシブダウンロードまたはDASHのために有用であることがわかっている。ストリーミングの目的で、ISOBMFFで定義されたムービーフラグメントが使用され得る。各トラックのためのメタデータは、トラック中で使用されるコーディングフォーマットまたはカプセル化フォーマットと、そのフォーマットを処理するために必要な初期化データとをそれぞれ提供する、(サンプルエントリとも呼ばれる)サンプル記述エントリのリストを含む。各サンプルは、トラックのサンプル記述エントリのうちの1つに関連付けられ得る。本明細書で説明するとき、サンプルは、ビデオコーディングにおけるアクセスユニットに対応し得る。たとえば、サンプルは、共通の時間インスタンスのためのすべてのビューコンポーネント(たとえば、すべてのネットワークアブストラクションレイヤ(NAL)ユニット)を含むビデオデータのユニットに対応し得る。パラメータセットサンプルは、同じ時間的インスタンスにおいてビデオエレメンタリストリーム中に存在すると見なされるべきであるパラメータセットNALユニットを含むパラメータセットストリーム中のサンプルであり得る。
[0039]ISOBMFFは、サンプル固有メタデータが様々な機構を用いて規定されることを可能にする。サンプルテーブルボックス(「stbl」)内の特定のボックスが、共通の必要に応えるために標準化されている。たとえば、同期サンプルボックス(「stss」)は、トラックの(以下で説明する)ランダムアクセスサンプルをリストするために使用される。サンプルグループ化機構は、ファイル中のサンプルグループ記述エントリとして規定される同じ特性を共有するサンプルのグループへの、4文字グループ化タイプに従うサンプルのマッピングを可能にする。いくつかのグループ化タイプがISOBMFFにおいて規定されている。
[0040]ISOBMFF仕様は、DASHとともに使用する6つのタイプのストリームアクセスポイント(SAP)を規定している(specifies)。最初の2つのSAPタイプ(タイプ1および2)は、H.264/AVCおよびHEVCにおけるIDRピクチャに対応する。第3のSAPタイプ(タイプ3)は、オープンGOPランダムアクセスポイント、したがってHEVCにおけるBLAまたはCRAピクチャに対応する。第4のSAPタイプ(タイプ4)はGDRランダムアクセスポイントに対応する。
[0041]しかしながら、「ランダムアクセスポイント」という句(phrase)は、ISOBMFF全体にわたって複数の潜在的に矛盾する定義を有することがある。たとえば、ISOBMFFの一部分に準拠するビデオコーダ(たとえば、ビデオエンコーダまたはビデオデコーダ)は、ISOBMFFの別の部分に準拠するビデオコーダとは別様に(differently)サンプルがランダムアクセスポイントであるかどうかを決定し得る。ランダムアクセスポイントが、異なるデバイス(たとえば、ビデオデータを符号化/パッケージングすることを担当するデバイス、およびビデオデータをパース/復号することを担当するデバイス)によって別様に解釈されたとき、ファイルは適切に配信および/または再生されないことがある。
[0042]たとえば、ISOBMFFにおいて「ランダムアクセスポイント」という用語の異なる解釈があるので、AVCファイルフォーマット、SVCファイルフォーマット、MVCファイルフォーマット、およびHEVCファイルフォーマットにおけるパラメータセットの配置への制約は異なる解釈を有し得る。したがって、ファイルは、いくつかの実装形態によってはISOBMFFに準拠すると見なされるが、他の実装形態によっては準拠すると見なされないことがある。そのような不整合により、ビデオコーダは、パラメータセットに関連する条件など、ランダムアクセスポイントに関連する条件が特定のビットストリームのために満たされたかどうかを正確におよび/または一貫して決定することができないことがある。場合によっては、ファイルは、要求されることまたは再生されることを拒否され得る。
[0043]本開示の技法は、上記で説明した問題のうちの1つまたは複数に対処し得る。たとえば、本開示の態様によれば、AVCファイルフォーマット、SVCファイルフォーマット、MVCファイルフォーマット、およびHEVCファイルフォーマットにおけるパラメータセットの配置への制約は、上述のインターオペラビリティ(interoperability)問題が解決されるように、ISOBMFFに関して更新され得る。
[0044]たとえば、本開示の態様によれば、ビデオコーダ(たとえば、ビデオエンコーダまたはビデオデコーダ)は、ビデオデータのサンプル(たとえば、特定の時間的インスタンス(instance in time)のための少なくとも1つのコード化ピクチャを含むアクセスユニット)が同期サンプルであるかどうかを決定し得る。概して、同期サンプルは、(たとえば、ビットストリーム切替えまたはスプライシング中に)同期のために使用され得るサンプルである。サンプルは、ビデオデコーダが、同期サンプルと、復号順序で同期サンプルに後続するすべてのサンプルとを適切に復号し始め得るように、以下でより詳細に説明するように、ランダムアクセスの条件(conditions)が満たされた(met)場合に同期サンプルと見なされ得る。
[0045]本開示の態様によれば、サンプルが同期サンプルでないと決定することに基づいて、ビデオデコーダは、サンプルのためのサンプルエントリ中で、または両端を含む(inclusive)、サンプルと、同期サンプルである復号順序で前のサンプルとの間の復号順序で生じるサンプル中でのみ、ビデオデータのためのパラメータセットデータを復号し得る。すなわち、ビデオデコーダは、非同期サンプルのためのサンプルエントリ、非同期サンプル自体、復号順序で前の同期サンプル、あるいは前の同期サンプルと非同期サンプルとの間の1つまたは複数のサンプルからのみ、非同期サンプルのビデオデータを復号するために必要なパラメータセットデータを決定し得る。たとえば、サンプルが同期サンプルでなく、パラメータセットデータが、指定されたロケーション以外のビットストリームの他のロケーション中に含まれる場合、ビデオデコーダ30は、ファイルを準拠しないものとして拒否し得、サンプルを復号しないことがある。以下でより詳細に説明するように、パラメータセットは、シーケンスまたはピクチャごとに繰り返されることが不要である、シーケンスレベルヘッダ情報またはあまり頻繁に変化しないピクチャレベル情報を含んでいることがある(それにより、コーディング効率を高める)。
[0046]図1は、本開示の態様による、1つまたは複数のターゲット出力レイヤを決定するための技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示されているように、システム10は、宛先デバイス14によって後の時間に復号されるべき符号化ビデオデータを提供するソースデバイス12を含む。特に、ソースデバイス12は、コンピュータ可読媒体16を介して宛先デバイス14にビデオデータを提供する。
[0047]ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォン、いわゆる「スマート」パッドなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲のデバイスのいずれかを備え得る。いくつかの場合には、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。
[0048]宛先デバイス14は、コンピュータ可読媒体16を介して復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動させることが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体16は、ソースデバイス12が符号化ビデオデータを宛先デバイス14にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。
[0049]符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルあるいは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を容易にするために有用であり得る任意の他の機器を含み得る。
[0050]いくつかの例では、符号化データは、出力インターフェース22からストレージデバイスに出力され得る。同様に、符号化データは入力インターフェース28によってストレージデバイスからアクセスされ得る。ストレージデバイスは、ハードドライブ、Blu-ray(登録商標)ディスク、DVD、CD-ROM、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイスは、ソースデバイス12によって生成された符号化ビデオを記憶し得る、ファイルサーバまたは別の中間ストレージデバイスに対応し得る。
[0051]宛先デバイス14は、ストリーミングまたはダウンロードを介して、ストレージデバイスから記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバとしては、(たとえば、ウェブサイト用の)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブがある。
[0052]宛先デバイス14は、インターネット接続を含む、任意の標準的なデータ接続を通して符号化ビデオデータにアクセスし得る。これは、ワイヤレスチャネル(たとえば、Wi-Fi(登録商標)接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、またはファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、両方の組合せを含み得る。ストレージデバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
[0053]本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーHTTP(DASH)などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
[0054]図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、カプセル化ユニット21と、出力インターフェース22とを含む。宛先デバイス14は、入力インターフェース28と、カプセル化解除ユニット29と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または配置を含み得る。たとえば、ソースデバイス12は、外部カメラなどの外部ビデオソース18からビデオデータを受信し得る。同様に、宛先デバイス14は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
[0055]図1の図示のシステム10は一例にすぎない。本明細書で説明する技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実施され得る。概して、本開示の技法は、ビデオ符号化デバイスによって実施されるが、本技法は、「コーデック」と通常呼ばれるビデオエンコーダ/デコーダによっても実施され得る。その上、本開示の技法はビデオプリプロセッサによっても実施され得る。
[0056]ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14への送信のためにコード化ビデオデータを生成するようなコーディングデバイスの例にすぎない。いくつかの例では、デバイス12、14は、デバイス12、14の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、またはビデオテレフォニーのために、ビデオデバイス12とビデオデバイス14との間で一方向または双方向のビデオ送信をサポートし得る。
[0057]ソースデバイス12のビデオソース18は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。いくつかの場合には、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、上述のように、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ20によって符号化され得る。
[0058]ビデオエンコーダ20は、概して、符号化ビデオデータのストリームを生成する。データの各個々のストリームは(オーディオかビデオかにかかわらず)エレメンタリストリームと呼ばれることがある。エレメンタリストリームは、表現のデジタル的にコード化された(場合によっては圧縮された)単一の成分である。たとえば、表現のコード化ビデオまたはオーディオ部分はエレメンタリストリームであり得る。エレメンタリストリームは、ビデオファイル内にカプセル化される前に、パケット化エレメンタリストリーム(PES)に変換され得る。いくつかの例では、ビデオエンコーダ20は、符号化データからPESパケットを形成するためのパケッタイザを含み得る。他の例では、ビデオエンコーダ20は、符号化データからPESパケットを形成するためのそれぞれのパケッタイザとインターフェースし得る。さらに他の例では、ビデオエンコーダ20は、符号化オーディオデータと符号化ビデオデータとからPESパケットを形成するためのパケッタイザを含み得る。
[0059]カプセル化ユニット21は、ビデオエンコーダ20から表現のエレメンタリストリームのPESパケットを受信し、PESパケットから対応するNALユニットを形成する。H.264/AVCおよびHEVCの例では、コード化ビデオセグメントは、ビデオテレフォニー、ストレージ、ブロードキャスト、またはストリーミングなどの適用例に対処する「ネットワークフレンドリーな」ビデオ表現を与えるNALユニットに編成される。NALユニットは、ビデオコーディングレイヤ(VCL)NALユニットと非VCL NALユニットとに分類され得る。VCLユニットは、コア圧縮エンジンを含んでいることがあり、ブロック、マクロブロック、および/またはスライスレベルデータを含み得る。他のNALユニットは非VCL NALユニットであり得る。いくつかの例では、通常は1次(primary)コード化ピクチャとして提示される、1つの時間インスタンス中のコード化ピクチャは、1つまたは複数のNALユニットを含み得るアクセスユニット中に包含され得る。
[0060]上述したように、アクセスユニットは、概して、共通の時間インスタンスのためのすべてのビューコンポーネント(たとえば、すべてのNALユニット)を含むデータのユニットである。アクセスユニットのビューコンポーネントは、一緒に出力される(すなわち、実質的に同時に出力される)ものであり得、ここで、ピクチャを出力することは、概して、ピクチャを復号ピクチャバッファ(DPB)から転送すること(たとえば、ピクチャをDBPから外部メモリに記憶すること、ピクチャをDPBからディスプレイに送ること、ピクチャをDPBから削除することなど)を伴う。
[0061]非VCL NALユニットは、特に、パラメータセットNALユニットとSEI NALユニットとを含み得る。パラメータセットは、(シーケンスパラメータセット(SPS)中の)シーケンスレベルヘッダ情報と、(ピクチャパラメータセット(PPS)中の)あまり頻繁に変化しないピクチャレベルヘッダ情報とを含んでいることがある。パラメータセット(たとえば、PPSおよびSPS)がある場合、あまり頻繁に変化しない情報がシーケンスごとまたはピクチャごとに繰り返される必要はなく、したがって、コーディング効率が改善され得る。さらに、パラメータセットの使用は、重要なヘッダ情報の帯域外送信を可能にし、誤り耐性のための冗長送信の必要を回避し得る。帯域外送信の例では、SEI NALユニットなど、他のNALユニットとは異なるチャネル上でパラメータセットNALユニットが送信され得る。
[0062]補足エンハンスメント情報(SEI)は、VCL NALユニットからのコード化ピクチャサンプルを復号するためには必要でないが、復号、表示、誤り耐性、および他の目的に関係するプロセスを支援し得る情報を含んでいることがある。SEIメッセージは非VCL NALユニット中に含まれていることがある。SEIメッセージは、一部の規格仕様の規範的部分であり、したがって、規格に準拠するデコーダ実装のために常に必須であるとは限らない。SEIメッセージは、シーケンスレベルSEIメッセージまたはピクチャレベルSEIメッセージであり得る。SVCの例におけるスケーラビリティ情報SEIメッセージ、MVCにおけるビュースケーラビリティ情報SEIメッセージなどのSEIメッセージ中に、何らかのシーケンスレベル情報が含まれることがある。これらの例示的なSEIメッセージは、たとえば、動作点の抽出およびそれらの動作点の特性に関する情報を搬送し得る。さらに、カプセル化ユニット21は、表現の特性を記述するメディアプレゼンテーション記述子(MPD)など、マニフェストファイルを形成し得る。カプセル化ユニット21は、拡張可能マークアップ言語(XML)に従ってMPDをフォーマットし得る。
[0063]出力インターフェース22は、コンピュータ可読媒体16上に符号化ビデオを出力し得る。コンピュータ可読媒体16は、ワイヤレスブロードキャストもしくはワイヤードネットワーク送信などの一時媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Blu-rayディスク、もしくは他のコンピュータ可読媒体などの記憶媒体(すなわち、非一時的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示せず)は、たとえば、ネットワーク送信を介して、ソースデバイス12から符号化ビデオデータを受信し、その符号化ビデオデータを宛先デバイス14に与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイス12から符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを生成し得る。したがって、コンピュータ可読媒体16は、様々な例では、様々な形態の1つまたは複数のコンピュータ可読媒体を含むと理解され得る。
[0064]宛先デバイス14の入力インターフェース28は、特定の表現のセグメントのデータを受信し得る。カプセル化解除(Decapsulation)ユニット29は、ビデオファイルの要素を構成PESストリームにカプセル化解除し、PESストリームをパケット化解除して符号化データを取り出し、符号化データをビデオデコーダ30に送り得る。ビデオデコーダ30は、符号化ビデオデータを復号し、ストリームの複数のビューを含み得る復号ビデオデータをディスプレイデバイス32に送る。ディスプレイデバイス32は、復号ビデオデータをユーザに表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0065]以下で説明するビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、およびビデオデコーダ30、後処理エンティティ27およびネットワークエンティティ79、ならびに本開示で説明する他の構成要素は、それぞれ、適用可能なとき、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せを含む、1つまたは複数のプロセッサなど、様々な好適な集積回路処理回路のいずれかとして実装され得る。したがって、本開示で説明するビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、およびビデオデコーダ30、ならびに後処理エンティティ27およびネットワークエンティティ79の構成要素は、固定ハードウェア処理回路、プログラマブル処理回路、および/または両方の組合せとして実装される1つまたは複数のプロセッサを備える様々な集積処理回路のいずれかによって形成され得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ/デコーダ(コーデック)の一部として組み込まれ得る。ビデオエンコーダ20、ビデオデコーダ30、カプセル化ユニット21、および/またはカプセル化解除ユニット29を含む装置は、集積回路、マイクロプロセッサ、および/またはセルラー電話などのワイヤレス通信デバイスを備え得る。
[0066]本開示は、概して、ビデオエンコーダ20(および/またはサーバ/コンテンツ配信ネットワーク34)が、ある情報をビデオデコーダ30などの別のデバイスに「シグナリング」することに言及することがある。しかしながら、ビデオエンコーダ20および/またはサーバ/コンテンツ配信ネットワーク34は、いくつかのシンタックス要素をビデオデータの様々な符号化部分に関連付けることによって情報をシグナリングし得ることを理解されたい。すなわち、ビデオエンコーダ20および/またはサーバ/コンテンツ配信ネットワーク34は、ビデオデータの様々な符号化部分のヘッダにいくつかのシンタックス要素を記憶することによってデータを「シグナリング」し得る。いくつかの場合には、そのようなシンタックス要素は、ビデオデコーダ30によって受信および復号される前に、符号化および記憶され(たとえば、ストレージデバイス24に記憶され)得る。したがって、「シグナリング」という用語は、通信がリアルタイムまたはほぼリアルタイムで行われるか、あるいは、符号化時にシンタックス要素を記憶媒体に記憶し、次いで、この媒体に記憶された後の任意の時間にそのシンタックス要素が復号デバイスによって取り出され得るときなどに行われ得る、ある時間期間にわたって行われるかどうかにかかわらず、概して、圧縮ビデオデータを復号するためのシンタックスまたは他のデータの通信を指し得る。
[0067]ビデオエンコーダ20およびビデオデコーダ30は、MPEG-4、Part10、アドバンストビデオコーディング(AVC)と代替的に呼ばれるITU-T H.264規格などのビデオ圧縮規格、またはそのような規格の拡張(たとえば、マルチビュービデオコーディング(MVC)またはスケーラブルビデオコーディング(SVC))に従って動作し得る。ITU-T H.264/MPEG-4(AVC)規格は、ジョイントビデオチーム(JVT)として知られる共同パートナーシップの成果として、ISO/IECムービングピクチャエキスパートグループ(MPEG)とともにITU-Tビデオコーディングエキスパートグループ(VCEG)によって策定された。H.264規格は、ITU-T研究グループによる2005年3月付けのITU-T勧告H.264、Advanced Video Coding for generic audiovisual servicesに記載されており、本明細書ではH.264規格もしくはH.264仕様、またはH.264/AVC規格もしくは仕様と呼ばれることがある。
[0068]他の例では、ビデオエンコーダ20およびビデオデコーダ30は、ITU-T H.265およびISO/IEC23008-2としても知られる、HEVCビデオコーディング規格、またはHEVCの拡張(スケーラブル高効率ビデオコーディング(SHVC)もしくはマルチビュー高効率ビデオコーディング(MV-HEVC))に従って動作し得る。確定した(finalized)HEVC規格文書は、「ITU-T H.265、SERIES H:AUDIOVISUAL AND MULTIMEDIA SYSTEMS Infrastructure of audiovisual services-Coding of moving video-High efficiency video coding」、国際電気通信連合(ITU)の電気通信標準化部門、2013年4月として公開されている。
[0069]HEVCは、ビデオピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロックまたは最大コーディングユニット(LCU)に分割されることを可能にする。ビットストリーム内のシンタックスデータは、ピクセルの数に関して最大コーディングユニットであるLTUのサイズを定義し得る。スライスは、いくつかの連続するコーディングツリーユニット(CTU)を含む。CTUの各々は、ルーマサンプルのコーディングツリーブロックと、クロマサンプルの2つの対応するコーディングツリーブロックと、それらのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは3つの別個の色平面を有するピクチャでは、CTUは、単一のコーディングツリーブロックと、そのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。
[0070]ビデオピクチャは、1つまたは複数のスライスに区分され得る。各ツリーブロックは、4分木に従ってコーディングユニット(CU)にスプリットされ得る。概して、4分木データ構造はCUごとに1つのノードを含み、ルートノードがツリーブロックに対応する。CUが4つのサブCUにスプリットされる場合、CUに対応するノードは4つのリーフノードを含み、それらの各々はサブCUのうちの1つに対応する。CUは、ルーマサンプルアレイとCbサンプルアレイとCrサンプルアレイとを有するピクチャのルーマサンプルのコーディングブロックと、そのピクチャのクロマサンプルの2つの対応するコーディングブロックと、それらのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは3つの別個の色平面を有するピクチャでは、CUは、単一のコーディングブロックと、そのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。コーディングブロックはサンプルのN×Nブロックである。
[0071]4分木データ構造の各ノードは、対応するCUについてのシンタックスデータを与え得る。たとえば、4分木のノードは、そのノードに対応するCUがサブCUにスプリットされるかどうかを示すスプリットフラグを含み得る。CUのシンタックス要素は、再帰的に定義され得、CUがサブCUに分割されるかどうかに依存し得る。CUがさらに分割されない場合、それはリーフCUと呼ばれる。本開示では、元のリーフCUの明示的スプリッティングが存在しない場合でも、リーフCUの4つのサブCUもリーフCUと呼ばれる。たとえば、16×16サイズのCUがさらにスプリットされない場合、その16×16CUが決してスプリットされなくても、4つの8×8サブCUはリーフCUとも呼ばれる。
[0072]CUは、CUがサイズの差異を有しないことを除いて、H.264規格のマクロブロックと同様の目的を有する。たとえば、ツリーブロックは、(サブCUとも呼ばれる)4つの子ノードにスプリットされ得、各子ノードは、今度は親ノードとなり、別の4つの子ノードにスプリットされ得る。4分木のリーフノードと呼ばれる、最終的な分割されていない子ノードは、リーフCUとも呼ばれるコーディングノードを備える。コード化ビットストリームに関連するシンタックスデータは、最大CU深度と呼ばれる、ツリーブロックがスプリットされ得る最大回数を定義し得、コーディングノードの最小サイズを定義し得る。それに応じて、ビットストリームはまた、最小コーディングユニット(SCU)を定義し得る。本開示では、「ブロック」という用語を、HEVCのコンテキストにおいてCU、PU、またはTUのうちのいずれかを、または他の規格のコンテキストにおいて同様のデータ構造(たとえば、H.264/AVCのマクロブロックおよびそれのサブブロック)を指すために使用する。
[0073]CUは、コーディングノードと、そのコーディングノードに関連する予測ユニット(PU)および変換ユニット(TU)とを含む。CUのサイズは、コーディングノードのサイズに対応し、形状が正方形でなければならない。CUのサイズは、8×8ピクセルから最大64×64ピクセル以上をもつツリーブロックのサイズまでわたり得る。各CUは、1つまたは複数のPUと、1つまたは複数のTUとを含んでいることがある。
[0074]概して、PUは、対応するCUのすべてまたは一部分に対応する空間エリアを表し、そのPUの参照サンプルを取り出すためのデータを含み得る。その上、PUは、予測に関係するデータを含む。たとえば、PUがイントラモード符号化されるとき、PUのデータは、PUに対応するTUについてのイントラ予測モードを記述するデータを含み得る残差4分木(RQT)中に含まれ得る。別の例として、PUがインターモード符号化されるとき、PUは、PUのための1つまたは複数の動きベクトルを定義するデータを含み得る。予測ブロックは、同じ予測が適用されるサンプルの長方形(すなわち、正方形または非正方形)ブロックであり得る。CUのPUは、ルーマサンプルの1つの予測ブロックと、ピクチャのクロマサンプルの2つの対応する予測ブロックと、それらの予測ブロックサンプルを予測するために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは3つの別個の色平面を有するピクチャでは、PUは、単一の予測ブロックと、予測ブロックサンプルを予測するために使用されるシンタックス構造とを備え得る。
[0075]TUは、変換、たとえば、離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換の残差ビデオデータへの適用後に、変換領域において係数を含み得る。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ20は、CUのための残差データを含むTUを形成し、次いで、CUのための変換係数を生成するためにTUを変換し得る。変換ブロックは、同じ変換が適用されるサンプルの長方形ブロックであり得る。CUの変換ユニット(TU)は、ルーマサンプルの変換ブロックと、クロマサンプルの2つの対応する変換ブロックと、それらの変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは3つの別個の色平面を有するピクチャでは、TUは、単一の変換ブロックと、変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。
[0076]CUのPUを使用したイントラ予測コーディングまたはインター予測コーディングの後に、ビデオエンコーダ20は、CUのTUのための残差データを計算し得る。PUは、(ピクセル領域とも呼ばれる)空間領域において予測ピクセルデータを生成する方法またはモードを記述するシンタックスデータを備え得、TUは、変換、たとえば、離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換の残差ビデオデータへの適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ20は、CUのための残差データを含むTUを形成し、次いで、CUのための変換係数を生成するためにTUを変換し得る。
[0077]変換係数を生成するための任意の変換に続いて、ビデオエンコーダ20は、変換係数の量子化を実施し得る。量子化は、一般に、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。量子化の後に、ビデオエンコーダは、変換係数を走査し、量子化された変換係数を含む2次元行列から1次元ベクトルを生成し得る。
[0078]量子化変換係数を走査して1次元ベクトルを形成した後に、ビデオエンコーダ20は、たとえば、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディングまたは別のエントロピー符号化方法に従って、1次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ20はまた、ビデオデータを復号する際にビデオデコーダ30によって使用するための、符号化ビデオデータに関連付けられたシンタックス要素をエントロピー符号化し得る。
[0079]図1に示されている例では、システム10はまた、ルータ36を有するサーバ/コンテンツ配信ネットワーク34を含む。いくつかの例では、ソースデバイス12は、上記で説明したように、様々なワイヤレスおよび/またはワイヤード送信または記憶媒体を介して、サーバ/コンテンツ配信ネットワーク34と通信し得る。さらに、図1の例では別々に示されたが、いくつかの例では、ソースデバイス12とサーバ/コンテンツ配信ネットワーク34は同じデバイスを備える。サーバ/コンテンツ配信ネットワーク34は、(ソースデバイス12のビデオエンコーダ20からの)コード化ビデオデータの1つまたは複数のバージョンを記憶し得、そのようなコード化ビデオデータを宛先デバイス14とビデオデコーダ30とによるアクセスのために利用可能にし得る。
[0080]いくつかの例では、ルータ36は、要求されたフォーマットでコード化ビデオデータを宛先デバイス14に提供することを担当し得る。他の例では、カプセル化ユニット21は、特定のフォーマットで符号化ビデオデータをカプセル化することを担当し得る。ファイルフォーマット規格は、ISOベースメディアファイルフォーマット(ISOBMFF、ISO/IEC14496-12)と、MPEG-4ファイルフォーマット(ISO/IEC14496-14)、3GPPファイルフォーマット(3GPP TS26.244)およびAVCファイルフォーマット(ISO/IEC14496-15)を含む、ISOBMFFから導出された他のフォーマットとを含む。さらに、サーバ/コンテンツ配信ネットワーク34は、ビットストリームをスプライスすることおよび/または切り替えることを担当し得る。
[0081]以下の図4に関してより詳細に説明するように、ボックスは、4文字コード化ボックスタイプと、ボックスのバイト数と、ペイロードとを含む、ISOBMFFにおけるシンタックス構造を指し得る。ISOBMFFファイルはボックスのシーケンスからなり得、ボックスは他のボックスを含んでいることがある。ムービーボックス(「moov」)は、各々がファイル中にトラックとして表される、ファイル中に存在する連続的メディアストリームのためのメタデータを含んでいる。
[0082]トラックのためのメタデータは、トラックボックス(「trak」)中に封入されるが、トラックのメディアコンテンツは、メディアデータボックス(「mdat」)中に封入されるか、または別のファイル中に直接封入されるかのいずれかである。トラックのためのメディアコンテンツは、オーディオまたはビデオアクセスユニットなど、サンプルのシーケンスからなる。アクセスユニットは、概して、共通の時間インスタンスのためのコード化ピクチャデータを含むデータのユニットである。サンプルは、本明細書で説明するビデオコーディング仕様など、特定の仕様によって定義されたアクセスユニットである。
[0083]サンプルエントリは、対応するサンプルの記述を提供し得る。たとえば、サンプルエントリは、対応するサンプルのフォーマットなど、対応するサンプルの特性を記述する4文字コードを含み得る。AVCトラックとSVCトラックとのための例示的なサンプルエントリは下記の表中に含まれる。
上記の表は説明のためのものにすぎない。他のタイプのサンプルを記述するために様々な他のサンプルエントリが使用され得る。
[0084]ビデオエンコーダ20(またはカプセル化ユニット21)は、ビデオデータを復号するときに使用され得るいくつかのパラメータセットを生成し得、ビデオデコーダ30(またはカプセル化解除ユニット29)はそれらのパラメータセットを受信し得る。たとえば、上述したように、パラメータセットは、あまり頻繁に変化しない情報を別々にシグナリングすることによって効率を改善する、SPS、PPS、またはVPSを含み得る。ISOBMFFファイルフォーマットに関して、パラメータセットサンプルは、同じ時間的インスタンスにおいてビデオエレメンタリストリーム中に存在すると見なされるべきであるパラメータセットNALユニットを含むパラメータセットストリーム中のサンプルであり得る。また、パラメータセットが更新される(updated)ポイントごとにパラメータセットサンプルがあり得る。各パラメータセットは、ビデオエレメンタリストリームの関係する(relevant)セクションを復号するために必要なシーケンスおよびピクチャパラメータセットを含んでいることがある。パラメータセットトラック中の同期サンプル(sync sample)は、ビデオエレメンタリストリーム中で前方の(forward)その復号時間から必要とされるすべてのパラメータセットが、そのまたは後続する(succeeding)パラメータストリームサンプル中にあることを示し得る。
[0085]しかしながら、いくつかの事例では、カプセル化解除ユニット29および/またはビデオデコーダ30は、パラメータセットを適切に識別および復号しないことがある。たとえば、上述したように、ISOBMFFにおいてランダムアクセスポイント(RAP)という用語の異なる解釈があるので、AVCファイルフォーマット、SVCファイルフォーマット、MVCファイルフォーマット、およびHEVCファイルフォーマットにおけるパラメータセットの配置への制約は異なる解釈を有し得、ファイルは、いくつかの実装形態によっては準拠すると見なされるが、他の実装形態によっては準拠すると見なされないことがある。ランダムアクセスポイントが、異なるデバイスによって別様に解釈されたとき(たとえば、異なるデバイスが、ビデオデータを符号化/パッケージングすることを担当するデバイス、およびビデオデータをパース/復号することを担当するデバイスを含み得る場合)、ファイルは適切に配信および/または再生されないことがある。
[0086]たとえば、ISOBMFFにおいて、ビデオコーダは、ビデオコーダが準拠するISOBMFFの特定の部分に応じて、RAPを少なくとも3つの異なる方法で解釈し得る。第1の例では、RAPは、SAPタイプ1、2、または3のいずれかに対応するが、他のSAPタイプには対応しないことがある。たとえば、ISOBMFFのセクション3.1.11の一部を以下に再掲する。
3.1.11
ランダムアクセスポイント(RAP)
アネックスIにおいて定義されているようにタイプ1または2または3のSAPのISAUにおいて開始するトラック中のサンプル。非公式には、そのサンプルから(from which)復号が開始するとき、サンプル自体と、組成順序で(in composition order)後続するすべてのサンプルとが正しく復号され得る、サンプル
[0087]解釈1と呼ばれる、上記の例では、RAPはSAPタイプ1~3のみに対応する。したがって、漸進的復号リフレッシュ(GDR)開始点はRAPと見なされないことがある。
[0088]別の例では、RAPは、SAPタイプ1、2、3、または4のいずれかに対応するが、他のSAPタイプには対応しないことがある。たとえば、ISOBMFFのセクション10.1.1.3の一部を以下に再掲する。
10.1.1.3
roll_distanceは、サンプルが正しく復号されるために順番に復号される必要がある(must be)サンプルの数を与える符号付き整数である。正の値は、これらの復元の最後において完了しているように、すなわち最後のサンプルが正しくなるように復号される必要があるグループメンバーであるサンプルの後のサンプルの数を示す。負の値は、マークされたサンプルにおいて復元が完了するために順番に復号される必要があるグループメンバーであるサンプルの前のサンプルの数を示す。値0が使用されてはならない。同期サンプルテーブルは、どんな復元ロールも必要とされないランダムアクセスポイントを記録する。
[0089]解釈2と呼ばれる、上記の例では、GDR開始点はRAPと見なされることがあり、これは、(上記で言及した)節3.1.11におけるRAPの定義と一致しない。
[0090]第3の例では、ランダムアクセスポイントは、コーデック固有である同期サンプルに対応し得る。たとえば、ISOBMFFのセクションA.7の一部を以下にリポルデュース(reporduce)する。
A.7 ランダムアクセス
...
3) ステップ1において位置特定されたサンプルは同期サンプルでないことがある。同期サンプルテーブルは、どのサンプルが実際にランダムアクセスポイントであるかを示す。このテーブルを使用して、あなたは、どれが、指定された時間より前の第1の同期サンプルであるかを位置特定することができる。同期サンプルテーブルの不在は、すべてのサンプルが同期ポイントであり、この問題を簡単にすることを示す。同期サンプルテーブルを調べて、あなたは、ステップ1において見つけられたサンプルに最も近いが、それよりも前にある、どちらの得られた(whichever resultant)サンプルでもシークすることをおそらく希望する。
[0091]解釈3と呼ばれる、上記の例では、RAPは同期サンプルであり、その逆も同様である。
[0092]上述の解釈は、カプセル化解除ユニット29またはビデオデコーダ30によるパースおよび/または復号の難しさを生じ得る。たとえば、カプセル化解除ユニット29またはビデオデコーダ30は、サンプルがRAPとして識別されるかどうかに基づいて、特定のビットストリームが特定の規格に準拠するかどうか、したがって予想されるロケーションにおいて情報を含むかどうかを決定し得る。説明のための一例では、カプセル化解除ユニット29またはビデオデコーダ30は、サンプルがRAPサンプルであるとカプセル化解除ユニット29またはビデオデコーダ30が決定するかどうかに応じて、ビットストリームの異なるロケーションからのパラメータセットをパースし得る。
[0093](AVCファイルフォーマットと、SVC、ファイルフォーマットと、MVCファイルフォーマットと、HEVCファイルフォーマットとを含んでいる、ISOBMFFと本明細書では呼ばれる)ISO/IEC14496-15の例示的なセクションが以下に含まれている。これらの例では、カプセル化解除ユニット29またはビデオデコーダ30は、たとえば、解釈1、解釈2、および解釈3に関して上述したように、セクションごとに(from one section to another)別様にRAPを解釈し得、それは、ビットストリームのパラメータセットの適切なパースおよび/または復号に影響し(impact)得る。
[0094]たとえば、ISOBMFFのセクション4.8の一部を以下に再掲する。
4.8 同期サンプル(IDR)
...
サンプルエントリ名が「avc3」または「avc4」であるとき、以下が当てはまる。
1. サンプルがIDRアクセスユニットである場合、そのサンプルを復号するために必要とされるすべてのパラメータセットは、サンプルエントリ中に含められるか、あるいはサンプル自体中に含められるべきである。
2. そうでない(サンプルがIDRアクセスユニットでない)場合、サンプルを復号するために必要とされるすべてのパラメータセットは、サンプルエントリ中に含められるか、あるいは両端を含めて、前のital<<ランダムアクセスポイント>>italからサンプル自体までのサンプルのいずれかの中に含められるべきである。(なお、本翻訳文本文中において、日本の出願システムにおいて表記できない原語表記におけるイタリック体表記部分を、上記のように、ital<<イタリック体>>italのように表記する)。
[0095]上記の例では、カプセル化解除ユニット29またはビデオデコーダ30は、ランダムアクセスポイントの定義に基づいてビットストリームのパラメータセットのロケーションを決定し得る。しかしながら、上述したように、カプセル化解除ユニット29またはビデオデコーダ30は、たとえば、解釈1、解釈2、および解釈3に関して上述したように、ランダムアクセスポイントの定義を矛盾して決定し得る。したがって、カプセル化解除ユニット29またはビデオデコーダ30は、実際はランダムアクセスポイントのある定義に基づいてビットストリームが特定のビデオコーディング規格に準拠するとき、ランダムアクセスポイントの別の定義に基づいてビットストリームがそのビデオコーディング規格に準拠しないと決定し得る。同じ問題は、SVCファイルフォーマットおよびMVCファイルフォーマットについて、それぞれISOBMFFのセクション6.5.5および7.5.3(両方ともセクション4.8と同じタイトルを有する)に当てはまる。
[0096]別の例として、ISOBMFFのセクション8.4.3の一部を以下に再掲する。
8.4.3 同期サンプル
...
HEVCサンプルは、サンプル中のVCL NALユニットが、サンプル中に含まれているコード化ピクチャが瞬時復号リフレッシュ(IDR)ピクチャ、クリーンランダムアクセス(CRA)ピクチャ、または切断リンクアクセス(BLA)ピクチャであることを示す場合、同期サンプルと見なされる。
サンプルエントリの名前が「hev1」であるとき、次のことが当てはまる。
サンプルがital<<ランダムアクセスポイント>>italである場合、そのサンプルを復号するために必要とされるすべてのパラメータセットは、サンプルエントリ中に含められるか、あるいはサンプル自体中に含められるべきである。
そうでない(サンプルがital<<ランダムアクセスポイント>>italでない)場合、サンプルを復号するために必要とされるすべてのパラメータセットは、サンプルエントリ中に含められるか、あるいは両端を含めて、前のital<<ランダムアクセスポイント>>italからサンプル自体までのサンプルのいずれかの中に含められるべきである。
[0097]この場合も、異なる可能性があるランダムアクセスポイント解釈がパラメータセットの配置への制約に影響を及ぼし得、コンポーザ(たとえば、ビデオエンコーダ20またはカプセル化ユニット21)とパーサ(たとえば、カプセル化解除ユニット29またはビデオデコーダ30)とによって2つの異なる解釈が使用されるとき、インターオペラビリティ問題が生じ得る。
[0098]本開示の態様によれば、ビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、および/またはビデオデコーダ30は、ビデオファイルの適切な復号および再生のためのパラメータセットの配置に制約を適用し得る。本開示の様々な技法による、パラメータセットをコーディングするための例示的なシンタックスおよびセマンティクスを以下に記載する。説明するシンタックスおよびセマンティクスは、たとえば、述べたような、AVC、HEVC、SVC、MVCなどのシンタックスおよびセマンティクスに関係する。
[0099]以下の例示的な説明、シンタックステーブルおよびセマンティクスでは、関係する規格への追加はボールドおよび下線を使用して表され、削除は[[二重括弧]]を使用して表される。(なお、本翻訳文本文中において、日本の出願システムにおいて表記できない原語表記におけるボールド表記部分を、下線で表記する)概して、「要件」に関するステートメントは、規格または規格拡張のテキストの一部を形成するものであり、本開示の技法の目的のための要件を形成しないものと理解されたい。場合によっては、そのような「要件」は、適用可能であると決定され得、次いで、たとえば、その決定に基づいてビデオコーダによって遵守され得る、ビットストリーム制約を含み得る)。
[0100]一例では、本開示の態様によれば、ビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、および/またはビデオデコーダ30は、次のように、AVCファイルフォーマットのセクション4.8の更新されたバージョンに準拠し得、ここで、「ランダムアクセスポイント」は「IDRアクセスユニットであるサンプル」と置き換えられる。
4.8 同期サンプル(IDR)
サンプルは、[[以下の条件のすべてが満たされる]]サンプル中のビデオデータNALユニットが、サンプル中に含まれている1次ピクチャが瞬時復号リフレッシュ(IDR)ピクチャであることを示す場合、同期サンプルと見なされる。
サンプルエントリ名が「avc3」または「avc4」であるとき、以下が当てはまる。
1. サンプルがIDRアクセスユニットである場合、そのサンプルを復号するために必要とされるすべてのパラメータセットは、サンプルエントリ中に含められるか、あるいはサンプル自体中に含められるべきである。
2. そうでない(サンプルがIDRアクセスユニットでない)場合、サンプルを復号するために必要とされるすべてのパラメータセットは、サンプルエントリ中に含められるか、あるいは両端を含めて、IDRアクセスユニットである前の[[ランダムアクセスポイント]]サンプルからサンプル自体までのサンプルのいずれかの中に含められるべきである。
[0101]同じ変更は、SVCファイルフォーマットおよびMVCファイルフォーマットについて、それぞれISOBMFFのセクション6.5.5および7.5.3(両方ともセクション4.8と同じタイトルを有する)に当てはまる。この例では、ビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、および/またはビデオデコーダ30、あるいは他のデバイスは、サンプル中のビデオデータNALユニットが、サンプル中に含まれている1次ピクチャがIDRピクチャであることを示す場合、サンプルが同期サンプルであると決定するように構成され得る。ビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、および/またはビデオデコーダ30、あるいは他のデバイスは、サンプルがIDRアクセスユニットである場合、サンプルを復号するために必要とされるすべてのパラメータセットが、サンプルのためのサンプルエントリ中に、あるいはサンプル自体中に含められる、たとえば、符号化、記憶またはさもなければ配置される(placed)ようにさらに構成され得る。したがって、サンプルがIDRアクセスユニットであるとき、サンプルを復号するために必要とされるすべてのパラメータセットがこのように含められて、ビデオデコーダ30は、サンプルのためのサンプルエントリまたはサンプル自体からのみ、同期サンプルのビデオデータのためのパラメータセットデータを決定し得る。パラメータセットデータを決定することは、たとえば、パラメータセットデータをパース、復号、取り出しまたはさもなければ取得することを指し得る。
[0102]この例では、サンプルを復号するために必要とされるパラメータセットのすべては、サンプルのサンプルエントリまたはサンプル自体の中に含められる。したがって、サンプルのビデオデータを復号するためのパラメータセットデータは、サンプルのサンプルエントリまたはサンプル自体の中にのみ含められる。同様に、サンプルのビデオデータを復号するために、サンプルのビデオデータを復号するために必要とされるパラメータセットデータのすべては、サンプルのサンプルエントリまたはサンプル自体から決定される。したがって、復号のために、ビデオデータのためのパラメータセットデータは、サンプルのサンプルエントリまたはサンプル自体からのみ決定される。
[0103]さらに、この例では、ビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、および/またはビデオデコーダ30、あるいは他のデバイスは、サンプルがIDRアクセスユニットでない場合、サンプルを復号するために必要とされるすべてのパラメータセットが、サンプルのためのサンプルエントリ中に含められる、たとえば、符号化、記憶またはさもなければ配置されるか、あるいは両端を含めて、IDRアクセスユニットである前のサンプルからIDRアクセスユニット自体でないサンプルまでのサンプルのいずれかの中に含められる、たとえば、符号化、記憶またはさもなければ配置されるように構成され得る。すなわち、サンプルがIDRアクセスユニットでない場合、サンプルを復号するために必要とされるすべてのパラメータセットは、IDRアクセスユニットでないサンプルのためのサンプルエントリ、IDRアクセスユニット自体でないサンプル、IDRアクセスユニットである前のサンプル、あるいはIDRアクセスユニットである前のサンプルの後にあり、サンプル自体の前にある、すなわち、IDRアクセスユニットでないサンプルの前にあるサンプルのいずれかの中に含められる。IDRアクセスユニットでないサンプルを復号するために必要とされるすべてのパラメータセットがこのように含められて、ビデオデコーダ30は、サンプルのためのサンプルエントリ、サンプル自体、IDRアクセスユニットである前のサンプルから、またはIDRアクセスユニットでないサンプルとIDRアクセスユニットである前のサンプルとの間に生じるサンプルからのみ、サンプルのビデオデータのためのパラメータセットデータを決定し得る。
[0104]この例では、IDRアクセスユニットでないサンプルを復号するために必要とされるパラメータセットのすべては、サンプルのためのサンプルエントリ、サンプル自体、IDRアクセスユニットである前のサンプル中に、またはIDRアクセスユニットでないサンプルとIDRアクセスユニットである前のサンプルとの間に生じるサンプル中に含められる。したがって、サンプルのビデオデータを復号するためのパラメータセットデータは、サンプルのためのサンプルエントリ、サンプル自体、IDRアクセスユニットである前のサンプル中に、またはIDRアクセスユニットでないサンプルとIDRアクセスユニットである前のサンプルとの間に生じるサンプル中にのみ含められる。同様に、サンプルのビデオデータを復号するために、サンプルのビデオデータを復号するために必要とされるパラメータセットデータのすべては、サンプルのためのサンプルエントリ、サンプル自体、IDRアクセスユニットである前のサンプルから、またはIDRアクセスユニットでないサンプルとIDRアクセスユニットである前のサンプルとの間に生じるサンプル中で決定される。したがって、サンプルのビデオデータを復号するために、ビデオデータのためのパラメータセットデータは、サンプルのためのサンプルエントリ、サンプル自体、IDRアクセスユニットである前のサンプルから、またはIDRアクセスユニットでないサンプルとIDRアクセスユニットである前のサンプルとの間に生じるサンプル中でのみ決定される。
[0105]いくつかの例では、ビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、および/またはビデオデコーダ30、あるいは他のデバイスは、サンプルがIDRアクセスユニットであり、サンプルエントリ名が「avc3」または「avc4」などの特定の名前である場合、その同期サンプルを復号するために必要とされるすべてのパラメータセットが、サンプルのためのサンプルエントリ中に、あるいはサンプル自体中に含められる、たとえば、符号化、記憶またはさもなければ配置されるようにさらに構成され得る。したがって、サンプルを復号するために必要とされるすべてのパラメータセットがこのように含められて、サンプルがIDRアクセスユニットであり、サンプルエントリ名が「avc3」または「avc4」などの特定の名前である場合、ビデオデコーダ30は、サンプルのためのサンプルエントリまたはサンプル自体の中でのみ、サンプルのビデオデータのためのパラメータセットデータを決定し得る。したがって、パラメータセットデータは、サンプルがIDRアクセスユニットであると決定することに基づいて、およびさらに、サンプルエントリ名が特定の名前または特定の名前のセットのうちの1つ、たとえば、「avc3」または「avc4」であることなど、サンプルのエントリ名に基づいて、このようにして決定され得る。サンプルエントリ名が特定の名前でない場合、パラメータセットデータの配置または決定は別様に扱われ得る。
[0106]いくつかの例では、ビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、および/またはビデオデコーダ30、あるいは他のデバイスは、サンプルがIDRアクセスユニットでなく、サンプルエントリ名が「avc3」または「avc4」などの特定の名前である場合、その同期サンプルを復号するために必要とされるすべてのパラメータセットが、IDRアクセスユニットでないサンプルのためのサンプルエントリ、IDRアクセスユニット自体でないサンプル、IDRアクセスユニットである前のサンプル、あるいはIDRアクセスユニットである前のサンプルの後にあり、サンプル自体の前にある、すなわち、IDRアクセスユニットでないサンプルの前にあるサンプルのいずれかの中に含められる、たとえば、符号化、記憶またはさもなければ配置されるようにさらに構成され得る。したがって、サンプルを復号するために必要とされるすべてのパラメータセットがこのように含められて、サンプルがIDRアクセスユニットでなく、サンプルエントリ名が「avc3」または「avc4」などの特定の名前である場合、ビデオデコーダ30は、IDRアクセスユニットでないサンプルのためのサンプルエントリ、IDRアクセスユニット自体でないサンプル、IDRアクセスユニットである前のサンプル、あるいはIDRアクセスユニットである前のサンプルの後にあり、サンプル自体の前にある、すなわち、IDRアクセスユニットでないサンプルの前にあるサンプル中でのみ、サンプルのビデオデータのためのパラメータセットデータを決定し得る。したがって、パラメータセットデータは、サンプルがIDRアクセスユニットでないと決定することに基づいて、およびさらに、サンプルエントリ名が特定の名前または特定の名前のセットのうちの1つ、たとえば、「avc3」または「avc4」であることなど、サンプルのエントリ名に基づいて、このようにして復号され得る。サンプルエントリ名が特定の名前でない場合、パラメータセットデータの配置または決定は別様に扱われ得る。
[0107]別の例では、本開示の態様によれば、ビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、および/またはビデオデコーダ30は、例として、次のように、AVCファイルフォーマットのセクション4.8の更新されたバージョンに準拠し得る。
4.8 同期サンプル(IDR)
サンプルは、[[以下の条件のすべてが満たされる]]サンプル中のビデオデータNALユニットが、サンプル中に含まれている1次ピクチャが瞬時復号リフレッシュ(IDR)ピクチャであることを示す場合、同期サンプルと見なされる。
サンプルエントリ名が「avc3」または「avc4」であるとき、以下が当てはまる。
1. サンプルが[[IDRアクセスユニット]]同期サンプルである場合、そのサンプルを復号するために必要とされるすべてのパラメータセットは、サンプルエントリ中に含められるか、あるいはサンプル自体中に含められるべきである。
2. そうでない(サンプルが[[IDRアクセスユニット]]同期サンプルでない)場合、サンプルを復号するために必要とされるすべてのパラメータセットは、サンプルエントリ中に含められるか、あるいは両端を含めて、前の[[ランダムアクセスポイント]]同期サンプルからサンプル自体までのサンプルのいずれかの中に含められるべきである。
[0108]この場合も、同じ変更は、SVCファイルフォーマットおよびMVCファイルフォーマットについて、それぞれISOBMFFのセクション6.5.5および7.5.3(両方ともセクション4.8と同じタイトルを有する)に当てはまる。この例では、ビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、および/またはビデオデコーダ30、あるいは他のデバイスは、サンプル中のビデオデータNALユニットが、サンプル中に含まれているその1次ピクチャがIDRピクチャであることを示す場合、サンプルが同期サンプルであると決定するように構成され得る。ビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、および/またはビデオデコーダ30、あるいは他のデバイスは、サンプルが同期サンプルである場合、その同期サンプルを復号するために必要とされるすべてのパラメータセットは、(たとえば、ビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、および/またはビデオデコーダ30、あるいは別のデバイスによって)同期サンプルのためのサンプルエントリ中に、あるいは同期サンプル自体の中に含められるようにさらに構成され得る。したがって、同期サンプルを復号するために必要とされるすべてのパラメータセットがこのように含められて、ビデオデコーダ30は、サンプルのためのサンプルエントリまたはサンプル自体中でのみ、同期サンプルのビデオデータのためのパラメータセットデータを決定し得る。パラメータセットデータを決定することは、たとえば、パラメータセットデータをパース、復号、取り出しまたはさもなければ取得することを指し得る。
[0109]この例では、同期サンプルを復号するために必要とされるパラメータセットのすべては、同期サンプルのためのサンプルエントリまたは同期サンプル自体の中に含められる。したがって、同期サンプルのビデオデータを復号するためのパラメータセットデータは、同期サンプルのサンプルエントリまたは同期サンプル自体の中にのみ含められる。同様に、同期サンプルのビデオデータを復号するために、同期サンプルのビデオデータを復号するために必要とされるパラメータセットデータのすべては、同期サンプルのサンプルエントリまたは同期サンプル自体から決定される。したがって、復号のために、ビデオデータのためのパラメータセットデータは、デコーダ30によって、同期サンプルのサンプルエントリまたは同期サンプル自体からのみ決定される。
[0110]さらに、この例では、ビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、および/またはビデオデコーダ30、あるいは他のデバイスは、サンプルが同期サンプルでない場合、サンプルを復号するために必要とされるすべてのパラメータセットが、サンプルのためのサンプルエントリ中に含められるか、あるいは両端を含めて、前の同期サンプルからサンプル自体までのサンプルのいずれかの中に含められるように構成され得る。すなわち、サンプルが同期サンプルでない場合、同期サンプルでないサンプルを復号するために必要とされるすべてのパラメータセットは、同期サンプルでないサンプルのためのサンプルエントリ、同期サンプル自体でないサンプル、前の同期サンプル、あるいは前の同期サンプルの後にあり、サンプル自体の前にある、すなわち、同期サンプルでないサンプルの前にある1つまたは複数のサンプルのいずれかの中に含められる、たとえば、符号化、記憶またはさもなければ配置される。同期サンプルでないサンプルは、非同期サンプルと呼ばれることもある。非同期サンプルを復号するために必要とされるすべてのパラメータセットがこのように含められて、ビデオデコーダ30は、サンプルのためのサンプルエントリ、サンプル自体、前の同期サンプルから、または非同期サンプルと前の同期サンプルとの間に生じるサンプルからのみ、非同期サンプルのビデオデータのためのパラメータセットデータを決定し得る。
[0111]この例では、非同期サンプルを復号するために必要とされるパラメータセットのすべては、非同期サンプルのためのサンプルエントリ、非同期サンプル自体、同期サンプルである前のサンプル中に、または非同期サンプルと前の同期サンプルとの間に生じるサンプル中に含められる。したがって、非同期サンプルのビデオデータを復号するためのパラメータセットデータは、非同期サンプルのためのサンプルエントリ、非同期サンプル自体、同期サンプルである前のサンプル中に、または非同期サンプルと前の同期サンプルとの間に生じるサンプル中にのみ含められる。同様に、非同期サンプルのビデオデータを復号するために、非同期サンプルのビデオデータを復号するために必要とされるパラメータセットデータのすべては、非同期サンプルのためのサンプルエントリ、非同期サンプル自体、前の同期サンプルから、または非同期サンプルと前の同期サンプルとの間に生じるサンプル中で決定される。したがって、非同期サンプルのビデオデータを復号するために、ビデオデータのためのパラメータセットデータは、非同期サンプルのためのサンプルエントリ、非同期サンプル自体、前の同期サンプルから、または非同期サンプルと前の同期サンプルとの間に生じるサンプル中でのみ決定される。
[0112]いくつかの例では、ビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、および/またはビデオデコーダ30、あるいは他のデバイスは、サンプルが同期サンプルであり、サンプルエントリ名が「avc3」または「avc4」などの特定の名前である場合、その同期サンプルを復号するために必要とされるすべてのパラメータセットが、同期サンプルのためのサンプルエントリ中に、あるいは同期サンプル自体中に含められる、たとえば、符号化、記憶またはさもなければ配置されるようにさらに構成され得る。したがって、サンプルを復号するために必要とされるすべてのパラメータセットがこのように含められて、サンプルが同期サンプルであり、サンプルエントリ名が「avc3」または「avc4」などの特定の名前である場合、ビデオデコーダ30は、同期サンプルのためのサンプルエントリまたは同期サンプル自体の中でのみ、同期サンプルのビデオデータのためのパラメータセットデータを決定し得る。したがって、パラメータセットデータは、サンプルが同期サンプルであると決定することに基づいて、およびさらに、サンプルエントリ名が特定の名前または特定の名前のセットのうちの1つ、たとえば、「avc3」または「avc4」であることなど、サンプルのエントリ名に基づいて、このようにして復号され得る。サンプルエントリ名が特定の名前でない場合、パラメータセットデータの配置または決定は別様に扱われ得る。
[0113]いくつかの例では、ビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、および/またはビデオデコーダ30、あるいは他のデバイスは、サンプルが同期サンプルでなく、サンプルエントリ名が「avc3」または「avc4」である場合、サンプルを復号するために必要とされるすべてのパラメータセットが、同期サンプルでないサンプルのためのサンプルエントリ、同期サンプル自体でないサンプル、前の同期サンプル、あるいは前の同期サンプルの後にあり、サンプル自体の前にある、すなわち、同期サンプルでないサンプルの前にあるサンプルのいずれかの中に含められる、たとえば、符号化、記憶またはさもなければ配置されるようにさらに構成され得る。したがって、サンプルを復号するために必要とされるすべてのパラメータセットがこのように含められて、サンプルが同期サンプルでなく、サンプルエントリ名が「avc3」または「avc4」などの特定の名前である場合、ビデオデコーダ30は、同期サンプルでないサンプルのためのサンプルエントリ、同期サンプル自体でないサンプル、前の同期サンプル、あるいは前の同期サンプルの後にあり、サンプル自体の前にある、すなわち、同期サンプルでないサンプルの前にある1つまたは複数のサンプルのいずれかの中でのみ、サンプルのビデオデータのためのパラメータセットデータを決定し得る。このようにして、パラメータセットデータは、サンプルが同期サンプルでないと決定することに基づいて、およびさらに、サンプルエントリ名が特定の名前または特定の名前のセットのうちの1つ、たとえば、「avc3」または「avc4」であることなど、サンプルのエントリ名に基づいて、このようにして決定され得る。サンプルエントリ名が特定の名前でない場合、パラメータセットデータの配置または決定は別様に扱われ得る。
[0114]HEVCに関して、本開示の技法に従う別の例では、ビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、および/またはビデオデコーダ30は、次のように、HEVCファイルフォーマットのセクション8.4.3の更新されたバージョンに準拠し得、ここで、「ランダムアクセスポイント」は「同期サンプル」と置き換えられる。
8.4.3 同期サンプル
...
HEVCサンプルは、サンプル中のVCL NALユニットが、サンプル中に含まれているコード化ピクチャが瞬時復号リフレッシュ(IDR)ピクチャ、クリーンランダムアクセス(CRA)ピクチャ、または切断リンクアクセス(BLA)ピクチャであることを示す場合、同期サンプルと見なされる。
サンプルエントリの名前が「hev1」であるとき、次のことが当てはまる。
サンプルが[[ランダムアクセスポイント]]同期サンプルである場合、そのサンプルを復号するために必要とされるすべてのパラメータセットは、サンプルエントリ中に含められるか、あるいはサンプル自体中に含められるべきである。
そうでない(サンプルが[[ランダムアクセスポイント]]同期サンプルでない)場合、サンプルを復号するために必要とされるすべてのパラメータセットは、サンプルエントリ中に含められるか、あるいは両端を含めて、前の[[ランダムアクセスポイント]]同期サンプルからサンプル自体までのサンプルのいずれかの中に含められるべきである。
[0115]この例では、ビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、および/またはビデオデコーダ30、あるいは他のデバイスは、サンプル中のVCL NALユニットが、サンプル中に含まれているコード化ピクチャが瞬時復号リフレッシュ(IDR)ピクチャ、クリーンランダムアクセス(CRA)ピクチャ、または切断リンクアクセス(BLA)ピクチャであることを示す場合、サンプルが同期サンプルであると決定するように構成され得る。ビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、および/またはビデオデコーダ30、あるいは他のデバイスは、サンプルが同期サンプルである場合、同期サンプルのビデオデータを復号するために必要とされるすべてのパラメータセットが、同期サンプルのためのサンプルエントリ中に、あるいは同期サンプル自体の中に含められるようにさらに構成され得る。したがって、同期サンプルを復号するために必要とされるすべてのパラメータセットがこのように含められて、ビデオデコーダ30は、同期サンプルについて、サンプルのためのサンプルエントリから、またはサンプル自体からのみ、サンプルのビデオデータのためのパラメータセットデータを決定し得る。パラメータセットデータを決定することは、たとえば、パラメータセットデータをパース、復号、取り出しまたはさもなければ取得することを指し得る。
[0116]この例では、同期サンプルを復号するために必要とされるパラメータセットのすべては、同期サンプルのためのサンプルエントリまたは同期サンプル自体の中に含められる。したがって、同期サンプルのビデオデータを復号するためのパラメータセットデータは、同期サンプルのサンプルエントリまたは同期サンプル自体の中にのみ含められる。同様に、同期サンプルのビデオデータを復号するために、同期サンプルのビデオデータを復号するために必要とされるパラメータセットデータのすべては、同期サンプルのサンプルエントリまたは同期サンプル自体から決定される。したがって、復号のために、ビデオデータのためのパラメータセットデータは、たとえば、ビデオデコーダ30によって、同期サンプルのサンプルエントリまたは同期サンプル自体からのみ決定される。
[0117]この例では、ビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、および/またはビデオデコーダ30、あるいは他のデバイスは、サンプルが同期サンプルでない場合、サンプルを復号するために必要とされるすべてのパラメータセットが、サンプルのためのサンプルエントリ中に含められるか、あるいは両端を含めて、前の同期サンプルからサンプル自体までのサンプルのいずれかの中に含められるように構成され得る。すなわち、サンプルが同期サンプルでない場合、サンプルを復号するために必要とされるすべてのパラメータセットは、同期サンプルでないサンプルのためのサンプルエントリ、同期サンプル自体でないサンプル、前の同期サンプル、あるいは前の同期サンプルの後にあり、サンプル自体の前にある、すなわち、同期サンプルでないサンプルの前にあるサンプルのいずれかの中に含められる、。同期サンプルでないサンプルは、非同期サンプルと呼ばれることもある。したがって、非同期サンプルを復号するために必要とされるすべてのパラメータセットがこのように含められて、ビデオデコーダ30は、非同期サンプルのためのサンプルエントリ、非同期サンプル自体、前の同期サンプルから、あるいは非同期サンプルと前の同期サンプルとの間に生じる1つまたは複数のサンプルからのみ、非同期サンプルのビデオデータを復号するためのパラメータセットデータを決定し得る。
[0118]この例では、非同期サンプルを復号するために必要とされるパラメータセットのすべては、非同期サンプルのためのサンプルエントリ、非同期サンプル自体、同期サンプルである前のサンプル中に、または非同期サンプルと前の同期サンプルとの間に生じるサンプル中に含められる。したがって、非同期サンプルのビデオデータを復号するためのパラメータセットデータは、非同期サンプルのためのサンプルエントリ、非同期サンプル自体、同期サンプルである前のサンプル中に、または非同期サンプルと前の同期サンプルとの間に生じるサンプル中にのみ含められる。同様に、非同期サンプルのビデオデータを復号するために、非同期サンプルのビデオデータを復号するために必要とされるパラメータセットデータのすべては、非同期サンプルのためのサンプルエントリ、非同期サンプル自体、前の同期サンプルから、または非同期サンプルと前の同期サンプルとの間に生じるサンプルから決定される。したがって、非同期サンプルのビデオデータを復号するために、ビデオデータのためのパラメータセットデータは、たとえば、ビデオデコーダ30によって、非同期サンプルのためのサンプルエントリ、非同期サンプル自体、前の同期サンプルから、あるいは非同期サンプルと前の同期サンプルとの間に生じる1つまたは複数のサンプルからのみ決定される。
[0119]いくつかの例では、ビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、および/またはビデオデコーダ30、あるいは他のデバイスは、サンプルが同期サンプルであり、サンプルエントリ名が「hev1」などの特定の名前である場合、その同期サンプルを復号するために必要とされるすべてのパラメータセットが、サンプルのためのサンプルエントリ中に、あるいはサンプル自体中に含められる、たとえば、符号化、記憶またはさもなければ配置されるようにさらに構成され得る。したがって、サンプルを復号するために必要とされるすべてのパラメータセットがこのように含められて、サンプルが同期サンプルであり、サンプルエントリ名が「hev1」などの特定の名前である場合、ビデオデコーダ30は、同期サンプルのためのサンプルエントリまたは同期サンプル自体の中でのみ、サンプルのビデオデータを復号するためのパラメータセットデータを決定し得る。したがって、パラメータセットデータは、サンプルが同期サンプルであると決定することに基づいて、およびさらに、サンプルエントリ名が特定の名前または特定の名前のセットのうちの1つ、たとえば、「hev1」であることなど、サンプルのエントリ名に基づいて、このようにして決定され得る。サンプルエントリ名が特定の名前でない場合、パラメータセットデータの配置は別様に扱われ得る。
[0120]いくつかの例では、ビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、および/またはビデオデコーダ30、あるいは他のデバイスは、サンプルが同期サンプルでなく、サンプルエントリ名が「hev1」である場合、その同期サンプルを復号するために必要とされるすべてのパラメータセットが、同期サンプルでないサンプルのためのサンプルエントリ、同期サンプル自体でないサンプル、前の同期サンプル、あるいは前の同期サンプルの後にあり、サンプル自体の前にある、すなわち、同期サンプルでないサンプルの前にある1つまたは複数のサンプルのいずれかの中に含められる、たとえば、符号化、記憶またはさもなければ配置されるようにさらに構成され得る。したがって、サンプルを復号するために必要とされるすべてのパラメータセットがこのように含められて、サンプルが同期サンプルでなく(すなわち、それが非同期サンプルであり)、サンプルエントリ名が「hev1」などの特定の名前である場合、ビデオデコーダ30は、非同期サンプルのためのサンプルエントリ、非同期サンプル自体、前の同期サンプル、あるいは前の同期サンプルの後にあり、非同期サンプル自体の前にある、すなわち、同期サンプルでないサンプルの前にある1つまたは複数のサンプルのいずれかの中でのみ、非同期サンプルのビデオデータを復号するためのパラメータセットデータを決定し得る。したがって、パラメータセットデータは、サンプルが同期サンプルでないと決定することに基づいて、およびさらに、サンプルエントリ名が特定の名前または特定の名前のセットのうちの1つ、たとえば、「hev1」であることなど、サンプルのエントリ名に基づいて、このようにして復号され得る。サンプルエントリ名が特定の名前でない場合、パラメータセットデータの決定は別様に扱われ得る。
[0121]本開示の他の態様は、サンプルが同期サンプルであるかどうかを決定することに関係する。たとえば、本開示の態様によれば、積層HEVCビットストリームのための積層HEVCファイルフォーマットにおける同期サンプルの定義は、HEVCファイルフォーマットにおける同期サンプルの定義と整合され、後方互換性があるように更新され得る。概して、同じ積層設計を使用するすべてのHEVC拡張のために、総称名、積層HEVC(L-HEVC)が使用されることがある。L-HEVCビットストリームはレイヤの集合であり得、ここで、各レイヤは、品質、解像度、フレームレート、ビュー、深度などにおいて視覚的プレゼンテーションをスケーリングするのを助ける。関係するレイヤの集合は、レイヤセットとして一緒にグループ化される。どんなレイヤセット中のレイヤも、それらのレイヤ識別子(L-id)によって一意に(uniquely)識別される。レイヤは、1つまたは複数のレイヤセットのメンバーであり得る。レイヤに属するNALユニットは、それらの時間識別子(T-id)に基づいてさらに区分され得る。各そのようなパーティションはサブレイヤと呼ばれる。
[0122]HEVCファイルフォーマットでは、HEVCサンプルは、サンプル中のVCL NALユニットが、サンプル中に含まれているコード化ピクチャがIDRピクチャ、CRAピクチャ、またはBLAピクチャであることを示す場合、同期サンプルと見なされ得る。しかしながら、ドラフトのL-HEVCファイルフォーマットでは、L-HEVCサンプルは、アクセスユニット中の各コード化ピクチャが、ランダムアクセススキップリーディング(RASL:Random Access Skipped Leading)ピクチャなしのイントラランダムアクセスポイント(IRAP)ピクチャである場合、同期サンプルと見なされ得る。たとえば、SHVCおよびMV-HEVCは、両方とも同じ積層設計を使用する。
[0123]上記の例では、ドラフトの積層HEVCファイルフォーマットにおける同期サンプルの定義は、HEVCファイルフォーマットにおける同期サンプルの定義と整合されないことがあり、この不整合(mismatch)は、IRAPピクチャのためのRASLピクチャの存在により、サンプルが同期サンプルになるのを可能にされないことがあるかどうかである。この不整合は、HEVC互換サンプルエントリ、すなわち、「hvc1」、「hev1」、「hvc2」、および「hev2」のうちの1つが使用中であるとき、L-HEVCファイルフォーマットにおける同期サンプルの定義がHEVCファイルフォーマットと後方互換性がないという問題を生じ得る。
[0124]本開示の態様によれば、ビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、および/またはビデオデコーダ30は、HEVCファイルフォーマットにおける同期サンプルと整合され後方互換性があるように、L-HEVCファイルフォーマットにおける同期サンプルの更新された定義に準拠するように構成され得る。たとえば、サンプルエントリ名に応じて、L-HEVCファイルフォーマットのための同期サンプルは次のように定義される。
サンプルエントリ名が「hvc1」、「hev1」、「hvc2」、または「hev2」であるとき、L-HEVCサンプルは、アクセスユニット中のベースレイヤピクチャが、ISO/IEC23008-2において定義されているIRAPピクチャである場合、同期サンプルと見なされる。
サンプルエントリ名が「lhv1」または「lhe1」であるとき、L-HEVCサンプルは、アクセスユニット中の各コード化ピクチャが、ISO/IEC23008-2において定義されているIRAPピクチャである場合、同期サンプルと見なされる。
[0125]代替的に、同じエントリ名にかかわらず、ビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、および/またはビデオデコーダ30は、アクセスユニット中のベースレイヤピクチャが、ISO/IEC23008-2において定義されているIRAPピクチャである場合、L-HEVCサンプルが同期サンプルであると決定するように構成され得る。
[0126]代替的に、同じエントリ名にかかわらず、ビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、および/またはビデオデコーダ30は、アクセスユニット中の各コード化ピクチャが、ISO/IEC23008-2において定義されているIRAPピクチャである場合、L-HEVCサンプルが同期サンプルであると決定するように構成され得る。同期サンプルは、同期サンプルテーブルによって記録され、ストリームアクセスポイント「sap.」サンプルグループによって追加で記録され得る。
[0127]図2は、本開示で説明する技法を実装し得る例示的なビデオエンコーダ20を示すブロック図である。ビデオエンコーダ20は、本開示で説明するように、ビデオデータを記憶するためのメモリと、ビデオデータを符号化するための演算、およびサンプルを復号するためのパラメータセットデータを特定のロケーション中に含めるための演算など、ビデオコーディング演算を実施するように構成された1つまたは複数のプロセッサとを含み得る。ビデオエンコーダ20は、本開示で説明するようにビデオデータを符号化するための技法を実装し得る別の例示的なデバイスである後処理エンティティ27にビデオを出力するように構成され得る。たとえば、後処理エンティティ27は、本開示で説明するように、サンプルを復号するためのパラメータセットデータを特定のロケーション中に含めること、および/または特定のロケーションからサンプルを復号するためのパラメータセットデータを決定することのための技法を実施し得る。後処理エンティティ27は、ビデオエンコーダ20からの符号化ビデオデータを処理し得るメディアアウェアネットワーク要素(MANE)、スプライシング/編集デバイスまたは他の中間デバイスなどのビデオエンティティの一例を表すものとする。いくつかの事例では、後処理エンティティ27はネットワークエンティティの一例であり得る。いくつかのビデオ符号化システムでは、後処理エンティティ27およびビデオエンコーダ20は別個のデバイスの一部であり得、他の事例では、後処理エンティティ27に関して説明する機能は、ビデオエンコーダ20を備える同じデバイスによって実施され得る。
[0128]ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実施し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間冗長性を低減または除去するために時間的予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースの圧縮モードのいずれかを指すことがある。単方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指すことがある。
[0129]図2の例では、ビデオエンコーダ20は、区分ユニット35と、ビデオメモリ37と、予測ユニット41と、フィルタユニット63と、参照ピクチャメモリ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。予測ユニット41は、動き推定ユニット42と、動き補償ユニット44と、イントラ予測処理ユニット46とを含む。ビデオメモリ37および参照ピクチャメモリ64は、同じメモリデバイスまたは別個のメモリデバイスの部分であり得る。メモリデバイスは、RAM、ROM、フラッシュメモリなど、またはそれらの組合せなど、本開示で説明する任意の形態のコンピュータ可読媒体またはデータ記憶媒体であり得る。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換処理ユニット60と、加算器62とを含む。フィルタユニット63は、デブロッキングフィルタ、適応ループフィルタ(ALF)、およびサンプル適応オフセット(SAO)フィルタなど、1つまたは複数のループフィルタを表すものとする。図2では、フィルタユニット63はループ内フィルタであるとして示されているが、他の構成では、フィルタユニット63はループ後フィルタとして実装され得る。
[0130]図2に示されているように、ビデオエンコーダ20は、たとえば、ビデオメモリ37中で、符号化されるべきビデオデータを受信し、区分ユニット35は、ビデオメモリ37中のビデオデータをビデオブロックに区分する。この区分はまた、たとえば、LCUおよびCUの4分木構造に従って、スライス、タイル、または他のより大きいユニットへの区分、アズウェルズアズ(as wells as)ビデオブロック区分を含み得る。ビデオエンコーダ20は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに(および、場合によっては、タイルと呼ばれるビデオブロックのセットに)分割され得る。予測処理ユニット41は、誤差結果(たとえばコーディングレートおよびひずみレベル)に基づいて現在のビデオブロックについて、複数のイントラコーディングモードのうちの1つ、または複数のインターコーディングモードのうちの1つなど、複数の可能なコーディングモードのうちの1つを選択し得る。予測処理ユニット41は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックを生成するために加算器50に与え、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器62に与え得る。
[0131]予測処理ユニット41内のイントラ予測処理ユニット46は、空間圧縮を行うために、コーディングされるべき現在のブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対して現在のビデオブロックのイントラ予測コーディングを実施し得る。予測処理ユニット41内の動き推定ユニット42および動き補償ユニット44は、時間圧縮を行うために、1つまたは複数の参照ピクチャ中の1つまたは複数の予測ブロックに対して現在のビデオブロックのインター予測コーディングを実施する。
[0132]動き推定ユニット42は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンスの中のビデオスライスをPスライスまたはBスライスとして指定し得る。動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示されている。動き推定ユニット42によって実施される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。
[0133]予測ブロックは、絶対差分和(SAD)、2乗差分和(SSD)、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきビデオブロックのPUにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ20は、参照ピクチャメモリ64に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数のピクセル位置の値を補間し得る。したがって、動き推定ユニット42は、フルピクセル位置と分数ピクセル位置とに対して動き探索を実施し、分数ピクセル精度で動きベクトルを出力し得る。
[0134]動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのPUのための動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ64に記憶された1つまたは複数の参照ピクチャを識別する。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。
[0135]動き補償ユニット44によって実施される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によっては、サブピクセル精度への補間を実施することを伴い得る。現在のビデオブロックのPUのための動きベクトルを受信すると、動き補償ユニット44は、動きベクトルが参照ピクチャリストのうちの1つにおいてそれを指す予測ブロックを位置特定し得る。ビデオエンコーダ20は、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマとクロマの両方の差分成分を含み得る。加算器50は、この減算演算を実施する1つまたは複数の構成要素を表す。動き補償ユニット44はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30によって使用するための、ビデオブロックとビデオスライスとに関連付けられたシンタックス要素を生成し得る。
[0136]イントラ予測ユニット46は、上記で説明したように、動き推定ユニット42と動き補償ユニット44とによって実施されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測ユニット46は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測ユニット46は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化し得、イントラ予測ユニット46(または、いくつかの例では、モード選択ユニット40)は、たとえば、様々なテストされたイントラ予測モードのためにレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択することによって、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。
[0137]いずれの場合も、ブロックのためのイントラ予測モードを選択した後に、イントラ予測ユニット46は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット56に提供し得る。エントロピー符号化ユニット56は、本開示の技法に従って、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを送信ビットストリーム中に含め得る。
[0138]予測処理ユニット41が、インター予測またはイントラ予測のいずれかを介して、現在のビデオブロックのための予測ブロックを生成した後に、ビデオエンコーダ20は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、1つまたは複数のTU中に含まれ、変換処理ユニット52に適用され得る。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット52は、残差ビデオデータをピクセル領域からの周波数領域などの変換領域に変換し得る。
[0139]変換処理ユニット52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット54は、次いで、量子化された変換係数を含む行列の走査を実施し得る。代替的に、エントロピー符号化ユニット56が走査を実施し得る。
[0140]量子化に続いて、エントロピー符号化ユニット56は量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディングあるいは別のエントロピー符号化方法または技法を実施し得る。エントロピー符号化ユニット56によるエントロピー符号化の後に、符号化ビットストリームはビデオデコーダ30に送信されるか、あるいはビデオデコーダ30が後で送信するかまたは取り出すためにアーカイブされ得る。エントロピー符号化ユニット56はまた、コーディングされている現在のビデオスライスのために、動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
[0141]逆量子化ユニット58および逆変換処理ユニット60は、それぞれ逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するためにピクセル領域において残差ブロックを再構成する。動き補償ユニット44は、残差ブロックを参照ピクチャリストのうちの1つの内の参照ピクチャのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構築された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するためのサブ整数ピクセル値を計算し得る。加算器62は、再構築された残差ブロックを動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ64に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット42と動き補償ユニット44とによって参照ブロックとして使用され得る。
[0142]このようにして、図2のビデオエンコーダ20は、本明細書に記載する技法のうちの1つまたは複数を実装するように構成されたビデオエンコーダの一例を表す。一例では、エントロピー符号化ユニット56は、パラメータセットと同期サンプルとに関して本明細書で説明する技法を実施し得る。さらに、図2の後処理エンティティ27は、パラメータセットと同期サンプルとに関して本開示で説明する技法を実装し得る別の例示的なデバイスである。
[0143]図3は、本開示で説明する技法を実装し得る例示的なビデオデコーダ30を示すブロック図である。ビデオデコーダ30は、本開示で説明するように、ビデオデータを記憶するためのメモリと、ビデオデータを復号するための演算、および特定のロケーションからサンプルを復号するためのパラメータセットデータを決定するための演算など、ビデオコーディング演算を実施するように構成された1つまたは複数のプロセッサとを含み得る。図3の例では、ビデオデコーダ30は、エントロピー復号ユニット80と、ビデオメモリ83と、予測処理ユニット81と、逆量子化ユニット86と、逆変換ユニット88と、加算器90と、フィルタユニット91と、参照ピクチャメモリ92とを含む。予測処理ユニット81は、動き補償ユニット82と、イントラ予測処理ユニット84とを含む。ビデオデコーダ30は、いくつかの例では、図2からのビデオエンコーダ20に関して説明した符号化パスとは概して逆の復号パスを実施し得る。
[0144]復号処理の間、ビデオデコーダ30は、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームをビデオエンコーダ20から受信する。たとえば、ビデオメモリ83が符号化ビデオビットストリームを受信し得る。いくつかの例では、ビデオメモリ83はコード化ピクチャバッファであり得る。ビデオデコーダ30は、(いくつかの例では、図1のルータ36に対応し得る)ネットワークエンティティ79から、たとえば、ビデオメモリ83を介して、符号化ビデオビットストリームを受信し得る。ネットワークエンティティ79は、たとえば、上記で説明したビデオデータを復号するための技法のうちの1つまたは複数を実装するように構成されたサーバ、MANE、ビデオエディタ/スプライサ、または他のそのようなデバイスであり得る。ネットワークエンティティ79は、ビデオエンコーダ20などのビデオエンコーダを含むことも、含まないこともある。本開示で説明する技法のうちのいくつかは、ネットワークエンティティ79が符号化ビデオビットストリームをビデオデコーダ30に送信するより前に、ネットワークエンティティ79によって実装され得る。いくつかの例では、ネットワークエンティティ79は、本開示で説明するように、サンプルを復号するためのパラメータセットデータを特定のロケーション中に含めること、および/または特定のロケーションからサンプルを復号するためのパラメータセットデータを決定することのための技法を実施し得る。いくつかのビデオ復号システムでは、ネットワークエンティティ79およびビデオデコーダ30は別個のデバイスの部分であり得るが、他の事例では、ネットワークエンティティ79に関して説明する機能は、ビデオデコーダ30を備える同じデバイスによって実施され得る。
[0145]ビデオデコーダ30のエントロピー復号ユニット80は、量子化係数と、動きベクトルと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット80は、動きベクトルと他のシンタックス要素とを予測処理ユニット81に転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信し得る。
[0146]ビデオスライスがイントラコード化(I)スライスとしてコーディングされたとき、予測処理ユニット81のイントラ予測処理ユニット84は、シグナリングされたイントラ予測モードと、現在のフレームまたはピクチャの前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化(すなわち、BまたはP)スライスとしてコーディングされたとき、予測処理ユニット81の動き補償ユニット82は、エントロピー復号ユニット80から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つの内の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、参照ピクチャメモリ92に記憶された参照ピクチャに基づくデフォルト構成技法を使用して、参照フレームリスト、リスト0およびリスト1を構成し得る。
[0147]動き補償ユニット82は、動きベクトルと他のシンタックス要素とをパースすることによって現在のビデオスライスのビデオブロックについての予測情報を決定し、予測情報を使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット82は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラ予測またはインター予測)と、インター予測スライスタイプ(たとえば、BスライスまたはPスライス)と、スライス用の参照ピクチャリストのうちの1つまたは複数についての構成情報と、スライスの各インター符号化ビデオブロックについての動きベクトルと、スライスの各インターコード化ビデオブロックについてのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のうちのいくつかを使用する。
[0148]動き補償ユニット82はまた、補間フィルタに基づいて補間を実施し得る。動き補償ユニット82は、参照ブロックのサブ整数ピクセルのための補間値を計算するために、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用し得る。この場合、動き補償ユニット82は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
[0149]逆量子化ユニット86は、ビットストリーム中で与えられ、エントロピー復号ユニット80によって復号された量子化変換係数を逆量子化、すなわち、量子化解除する。逆量子化プロセスは、量子化の程度と、同じく適用されるべき逆量子化の程度とを決定するために、ビデオスライスの中の各ビデオブロックについてビデオエンコーダ20によって計算された量子化パラメータを使用することを含み得る。逆変換処理ユニット88は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換処理を変換係数に適用する。
[0150]動き補償ユニット82が、動きベクトルおよび他のシンタックス要素に基づいて現在のビデオブロックのための予測ブロックを生成した後に、ビデオデコーダ30は、逆変換処理ユニット88からの残差ブロックを動き補償ユニット82によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器90は、この加算演算を実施する1つまたは複数の構成要素を表す。
[0151]所望される場合、(コーディングループ内またはコーディングループ後のいずれかの)ループフィルタも、ピクセル遷移を平滑化するか、またはさもなければビデオ品質を改善するために使用され得る。フィルタユニット91は、デブロッキングフィルタ、適応ループフィルタ(ALF)、およびサンプル適応オフセット(SAO)フィルタなど、1つまたは複数のループフィルタを表すものとする。図3では、フィルタユニット91はループ内フィルタであるとして示されているが、他の構成では、フィルタユニット91はループ後フィルタとして実装され得る。所与のフレームまたはピクチャ中の復号ビデオブロックは、次いで、後続の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ92に記憶される。参照ピクチャメモリ92はまた、図1のディスプレイデバイス31などのディスプレイデバイス上での後の提示のために、復号ビデオを記憶する。参照ピクチャメモリ92は復号ピクチャバッファと呼ばれることがある。ビデオメモリ83および参照ピクチャメモリ92は、同じメモリデバイスまたは別個のメモリデバイスの部分であり得る。メモリデバイスは、RAM、ROM、フラッシュメモリなど、またはそれらの組合せなど、本開示で説明する任意の形態のコンピュータ可読媒体またはデータ記憶媒体であり得る。
[0152]このようにして、図3のビデオデコーダ30は、本明細書に記載する技法のうちの1つまたは複数を実装するように構成されたビデオエンコーダの一例を表す。一例では、エントロピー復号ユニット80は、パラメータセットと同期サンプルとに関して本明細書で説明する技法を実施し得る。さらに、(メディアアウェアネットワーク要素であり得る)図3のネットワークエンティティ79は、パラメータセットと同期サンプルとに関して本開示で説明する技法を実装し得る別の例示的なデバイスである。
[0153]図4は、例示的なビデオファイル150の要素を示すブロック図である。ビデオファイル150は、セグメントをカプセル化すると言われることがある。本明細書で説明するように、ISOベースメディアファイルフォーマット(ISOBMFF)およびそれの拡張によるビデオファイルは、データを「ボックス」と呼ばれる一連のオブジェクトに記憶する。図4の例では、ビデオファイル150は、ファイルタイプ(FTYP)ボックス152と、ムービー(MOOV)ボックス154と、セグメントインデックス(sidx)ボックス162と、ムービーフラグメント(MOOF)ボックス164と、ムービーフラグメントランダムアクセス(MFRA)ボックス166とを含む。図4はビデオファイルの一例を表しているが、他のメディアファイルは、ISOベースメディアファイルフォーマットおよびそれの拡張に従って、ビデオファイル150のデータと同様に構造化された他のタイプのメディアデータ(たとえば、オーディオデータ、タイムドテキストデータなど)を含み得ることを理解されたい。
[0154]ファイルタイプ(FTYP)ボックス152は概して、ビデオファイル150のファイルタイプを記述する。ファイルタイプボックス152は、ビデオファイル150の最良の使用を記述する仕様を識別するデータを含み得る。ファイルタイプボックス152は、代替的には、MOOVボックス154、ムービーフラグメントボックス164、および/またはMFRAボックス166の前に配置され得る。
[0155]MOOVボックス154は、図4の例では、ムービーヘッダ(MVHD)ボックス156と、トラック(TRAK)ボックス158と、1つまたは複数のムービー拡張(MVEX)ボックス160とを含む。概して、MVHDボックス156はビデオファイル150の一般的特性を記述し得る。たとえば、MVHDボックス156は、ビデオファイル150が最初に生成されたとき、ビデオファイル150が最後に変更されたときを記述するデータ、ビデオファイル150の時間軸、ビデオファイル150の再生の持続時間、またはビデオファイル150を一般に記述する他のデータを含み得る。
[0156]TRAKボックス158は、ビデオファイル150のトラックについてのデータを含み得る。TRAKボックス158は、TRAKボックス158に対応するトラックの特性を記述するトラックヘッダ(TKHD)ボックスを含み得る。いくつかの例では、TRAKボックス158はコード化ビデオピクチャを含み得、他の例では、トラックのコード化ビデオピクチャは、TRAKボックス158および/またはsidxボックス162のデータによって参照され得るムービーフラグメント164中に含まれ得る。
[0157]いくつかの例では、ビデオファイル150は2つ以上のトラックを含み得る。したがって、MOOVボックス154は、ビデオファイル150中のトラックの数に等しいいくつかのTRAKボックスを含み得る。TRAKボックス158は、ビデオファイル150の対応するトラックの特性を記述し得る。たとえば、TRAKボックス158は、対応するトラックについての時間および/または空間情報を記述し得る。カプセル化ユニット21(図1)が、ビデオファイル150などのビデオファイル中にパラメータセットトラックを含むとき、MOOVボックス154のTRAKボックス158と同様のTRAKボックスはパラメータセットトラックの特性を記述し得る。
[0158]たとえば、パラメータセットトラック中の同期サンプルは、ビデオエレメンタリストリーム中で前方のその復号時間から必要とされるすべてのパラメータセットが、そのまたは後続するパラメータストリームサンプル中にあることを示し得る。また、パラメータセットが更新されるポイントごとにパラメータセットサンプルがあり得る。各パラメータセットは、ビデオエレメンタリストリームの関係するセクションを復号するために必要なシーケンスパラメータセットおよびピクチャパラメータセットを含んでいることがある。カプセル化ユニット21は、パラメータセットトラックを記述するTRAKボックス内のパラメータセットトラック中にシーケンスレベルSEIメッセージが存在することをシグナリングし得る。
[0159]MVEXボックス160は、たとえば、もしあれば、MOOVボックス154内に含まれるビデオデータに加えて、ムービーフラグメント164をビデオファイル150が含むことをシグナリングするように、対応するムービーフラグメント164の特性を記述し得る。ビデオデータをストリーミングするコンテキストでは、コード化ビデオピクチャは、MOOVボックス154ではなくムービーフラグメント164中に含まれ得る。したがって、すべてのコード化ビデオサンプルは、MOOVボックス154ではなくムービーフラグメント164中に含まれ得る。
[0160]MOOVボックス154は、ビデオファイル150中のムービーフラグメント164の数に等しいいくつかのMVEXボックス160を含み得る。MVEXボックス160の各々は、ムービーフラグメント164のうちの対応する1つの特性を記述し得る。たとえば、各MVEXボックスは、ムービーフラグメント164のうちの対応する1つの持続時間を記述するムービー拡張ヘッダボックス(MEHD)ボックスを含み得る。
[0161]上述したように、カプセル化ユニット21は、シーケンスデータセットを、実際のコード化ビデオデータを含まないビデオサンプルに記憶し得る。ビデオサンプルは、概して、特定の時間インスタンスにおける1つまたは複数のコード化ピクチャの表現である、アクセスユニットに対応し得る。AVCのコンテキストでは、コード化ピクチャは、アクセスユニットのすべてのピクセルを構成するための情報を含んでいる1つまたは複数のVCL NALユニットと、SEIメッセージなどの他の関連する非VCL NALユニットとを含む。したがって、カプセル化ユニット21は、ムービーフラグメント164のうちの1つの中に、シーケンスレベルSEIメッセージを含み得る、シーケンスデータセットを含み得る。カプセル化ユニット21はさらに、シーケンスデータセットおよび/またはシーケンスレベルSEIメッセージの存在を、ムービーフラグメント164のうちの1つに対応するMVEXボックス160のうちの1つの内のムービーフラグメント164のうちの1つの中に存在するものとしてシグナリングし得る。
[0162]SIDXボックス162は、ビデオファイル150の随意の(optional)要素である。すなわち、3GPPファイルフォーマット、または他のそのようなファイルフォーマットに準拠するビデオファイルは、必ずしもSIDXボックス162を含むとは限らない。3GPPファイルフォーマットの例によれば、SIDXボックスは、セグメント(たとえば、ビデオファイル150内に含まれているセグメント)のサブセグメントを識別するために使用され得る。3GPPファイルフォーマットは、サブセグメントを、「対応するメディアデータボックス(Media Data box(es))と、ムービーフラグメントボックスによって参照されるデータを含んでいるメディアデータボックスとをもつ、1つまたは複数の連続するムービーフラグメントボックスの独立型(self-contained)セットは、そのムービーフラグメントボックスに後続し、同じトラックに関する情報を含んでいる次のムービーフラグメントボックスに先行しなければならない」と定義している。3GPPファイルフォーマットはまた、SIDXボックスが、「ボックスによって記録される(documented)(サブ)セグメントのサブセグメントへの参照のシーケンスを含んでいる。参照されたサブセグメントはプレゼンテーション時間において連続する。同様に、セグメントインデックスボックスによって参照されるバイトは常にセグメント内で連続する。参照されたサイズは、参照された材料(material)中のバイト数のカウントを与える」ことを示している。
[0163]SIDXボックス162は、概して、ビデオファイル150中に含まれるセグメントの1つまたは複数のサブセグメントを表す情報を提供する。たとえば、そのような情報は、サブセグメントが開始および/または終了する再生時間、サブセグメントのバイトオフセット、サブセグメントがSAPを含む(たとえば、それで開始する)かどうか、SAPのタイプ(たとえば、SAPがIDRピクチャであるか、CRAピクチャであるか、BLAピクチャであるかどうかなど)、サブセグメント中の(再生時間および/またはバイトオフセットに関する)SAPの位置などを含み得る。
[0164]ムービーフラグメント164は、1つまたは複数のコード化ビデオピクチャを含み得る。いくつかの例では、ムービーフラグメント164は1つまたは複数のGOPを含み得、その各々はいくつかのコード化ビデオピクチャを含み得る。さらに、上記で説明したように、ムービーフラグメント164は、いくつかの例では、シーケンスデータセットを含み得る。ムービーフラグメント164の各々は、ムービーフラグメントヘッダボックス(MFHD、図4に図示せず)を含み得る。MFHDボックスは、ムービーフラグメントのシーケンス番号など、対応するムービーフラグメントの特性を記述し得る。ムービーフラグメント164は、ビデオファイル150中のシーケンス番号の順に含まれ得る。
[0165]MFRAボックス166は、ビデオファイル150のムービーフラグメント164内のランダムアクセスポイントを記述し得る。これは、ビデオファイル150によってカプセル化されたセグメント内の特定の時間ロケーション(すなわち、再生時間)へのシークを実施することなど、トリックモードを実施するのを支援し得る。MFRAボックス166は、概して随意であり、いくつかの例では、ビデオファイル中に含まれる必要がない。同様に、宛先デバイス14などのクライアントデバイスは、ビデオファイル150のビデオデータを正しく復号し表示するために、必ずしもMFRAボックス166を参照する必要がない。MFRAボックス166は、ビデオファイル150のトラックの数に等しいか、またはいくつかの例ではビデオファイル150のメディアトラック(たとえば、非ヒントトラック)の数に等しい、いくつかのトラックフラグメントランダムアクセス(TFRA)ボックス(図示せず)を含み得る。
[0166]いくつかの例では、ムービーフラグメント164は、IDRピクチャなど、1つまたは複数のSAPを含み得る。同様に、MFRAボックス166は、SAPのビデオファイル150内のロケーションの指示を提供し得る。したがって、ビデオファイル150のSAPからビデオファイル150の時間サブシーケンスが形成され得る。時間サブシーケンスはまた、SAPに従属するPフレームおよび/またはBフレームなど、他のピクチャを含み得る。時間サブシーケンスのフレームおよび/またはスライスは、サブシーケンスの他のフレーム/スライスに依存する時間サブシーケンスのあるフレーム/スライスが適切に復号され得るように、セグメント内に構成され得る。たとえば、データの階層構成において、他のデータの予測のために使用されるデータも時間サブシーケンス中に含まれ得る。
[0167]本開示の技法によれば、(カプセル化解除ユニット29および/またはビデオデコーダ30(図1)などのビデオデコーダは、ビデオデータのサンプルまたはサンプルエントリに基づいてパラメータセットデータを決定するように構成され得る。たとえば、カプセル化解除ユニット29および/またはビデオデコーダ30は、ムービーフラグメント164中に含まれるビデオデータのサンプルが同期サンプルであるかどうかを決定するように構成され得る。いくつかの例では、カプセル化解除ユニット29および/またはビデオデコーダ30は、たとえば、ISOBMFFのセクション4.8(AVC)と、セクション6.5.5(SVC)と、セクション7.5.3(MVC)と、セクション8.4.3(HEVC)とに記載された条件に基づいて、そのようなサンプルがISOBMFFによる同期サンプルであるかどうかを決定し得る。カプセル化解除ユニット29および/またはビデオデコーダ30は、サンプル自体に基づいてまたはMRFAボックス166に関連する記述に基づいて、そのような条件を評価し得る。
[0168]カプセル化解除ユニット29および/またはビデオデコーダ30は、同期サンプルであるサンプルの場合、同期サンプルでないサンプルの場合とは別様に、サンプルのビデオデータを復号するための、パラメータセットデータを決定し得る。たとえば、カプセル化解除ユニット29および/またはビデオデコーダ30は、サンプルに関連するサンプルエントリから、またはサンプル自体からのみ、同期サンプルのためのパラメータセットデータを決定するように構成され得る。一方、カプセル化解除ユニット29および/またはビデオデコーダ30は、非同期サンプルに関連するサンプルエントリから、非同期サンプル自体から、復号順序で非同期サンプルより前の同期サンプルから、または復号順序で非同期サンプルより前に生じるが、復号順序で前の同期サンプルの後に生じるサンプルからのみ、非同期サンプルのためのパラメータセットデータを復号するように構成され得る。
[0169]図5は、ビデオビットストリームからパラメータセットデータを復号するためのプロセスを示す流れ図である。説明のためにビデオデコーダ30(図1および図3)に関して説明するが、図5のプロセス、またはそれの部分は、カプセル化解除ユニット29(図1)、ネットワークエンティティ79(図3)、あるいはビデオデータをパースおよび/または復号するように構成された他の処理ユニットによっても実行され得ることを理解されたい。たとえば、カプセル化解除ユニット29またはネットワークエンティティ79は、本開示で説明し図5に示されているように、サンプルを復号するためのパラメータセットデータを特定のロケーション中に含めること、または特定のロケーションからサンプルを復号するためのパラメータセットデータを決定することのための技法を実施し得る。
[0170]図5の例では、ビデオデコーダ30は、ビデオデータの1つまたは複数のサンプルを含むビデオデータのファイルを受信し得る(180)。たとえば、ファイルは、本明細書で説明するように、ISOBMFFに準拠し得る。さらに、1つまたは複数のサンプルはそれぞれ、ビデオデータのアクセスユニットに対応し得る。
[0171]ビデオデコーダ30は、1つまたは複数のサンプルのうちのいずれかのサンプルが同期サンプルであるかどうかを決定し得る(182)。たとえば、サンプルのビデオデータを復号するより前に、ビデオデコーダ30は、特定のビデオコーディング規格への準拠を保証するためにサンプルを含んでいるビットストリームを分析し得る。ビデオデコーダ30は、特定のコーディング規格によって定義されているように、サンプルのいずれかが同期サンプルとして処理され得るかどうかを決定し得る。説明のための一例では、ビデオデコーダ30は、ISOBMFFのセクション4.8(AVC)と、セクション6.5.5(SVC)と、セクション7.5.3(MVC)と、セクション8.4.3(HEVC)とに記載された制約に基づいて、サンプルのいずれかが同期サンプルであるかどうかを決定し得る。
[0172]サンプルが同期サンプルでないと、すなわち、サンプルが非同期サンプルであると決定することに基づいて、ビデオデコーダ30または別のデバイスは、非同期サンプルに対応するサンプルエントリ、非同期サンプル自体、復号順序で非同期サンプルの前に生じ同期サンプルである前のサンプルから、あるいは非同期サンプルと、復号順序で前の同期サンプルとの間に生じる1つまたは複数のサンプルからのみ、非同期サンプルのためのパラメータセットデータを(たとえば、パース、復号、取り出しまたはさもなければ取得によって)決定し得る(184)。たとえば、ビデオデコーダ30は、サンプルのためのパラメータセットデータが復号され得る(from which)、ビットストリームのいくつかのロケーションに制約され得る。復号順序で配置されたサンプルを有する所与のビットストリームの場合、ビデオデコーダ30は、非同期サンプルに対応するサンプルエントリ、非同期サンプル自体、非同期サンプルの前の復号順序で同期サンプルとして復号される前のサンプル以外のどんなロケーションからも、または復号順序で非同期サンプルより前に生じるが、復号順序で同期サンプルとして復号される前のサンプルに後続するサンプルから、非同期サンプルのためのビデオデータのパラメータセットデータを復号しないことがある。非同期サンプルのビデオデータを復号するために必要とされるすべてのパラメータセットデータは、非同期サンプルに対応するサンプルエントリ、非同期サンプル自体、非同期サンプルの前の復号順序で同期サンプルとして復号される前のサンプル中に、または復号順序で非同期サンプルより前に生じるが、復号順序で同期サンプルとして復号される前のサンプルに後続するサンプル中に含められる。
[0173]言い換えれば、同期サンプルでない現在のサンプルの場合、ビデオデコーダ30は、非同期サンプルのためのサンプルエントリ中に、または両端を含む、すなわち、前の同期サンプル、前の同期サンプルの後にあるが現在の非同期サンプルの前にあるサンプルを含む、および現在の非同期サンプルを含む、前の同期サンプルから現在の非同期サンプルまでのサンプルのいずれかの中にのみ含められるパラメータセットデータを決定し得る。サンプルが同期サンプルでない場合、サンプルを復号するために必要とされるすべてのパラメータセットが、サンプルのためのサンプルエントリ中に、あるいは両端を含む、前の同期サンプルからサンプル自体までのサンプルのいずれかの中に含められ得るので、ビデオデコーダ30は、これらの制約付きロケーションのみから、非同期サンプルのためのパラメータセットデータを決定するように構成され得る。たとえば、ビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、および/またはビデオデコーダ30、あるいは他のデバイスは、サンプルが同期サンプルでない場合、サンプルを復号するために必要とされるすべてのパラメータセットが、サンプルのためのサンプルエントリ中に含められるか、あるいは両端を含めて、前の同期サンプルからサンプル自体までのサンプルのいずれかの中に含められるように構成され得る。
[0174]サンプルが同期サンプルであると決定することに基づいて、ビデオデコーダ30は、同期サンプルのためのサンプルエントリまたは同期サンプル自体からのみ、サンプルのためのパラメータセットデータを決定し得る(185)。同期サンプルのビデオデータを復号するために必要とされるすべてのパラメータセットデータは、同期サンプル自体または同期サンプルに対応するサンプルエントリの中に含められる。したがって、同期サンプルの場合、ビデオデコーダ30は、他のサンプルまたはロケーション中ではなく、サンプルエントリまたはサンプル自体の何れかの中でのみ、同期サンプルのためのパラメータセットデータを決定し得る。サンプルが同期サンプルである場合、同期サンプルを復号するために必要とされるすべてのパラメータセットが、サンプルのためのサンプルエントリ中に、あるいはサンプル自体の何れかの中に含められるので、ビデオデコーダ30は、これらの制約付きロケーションのみから、非同期サンプルのためのパラメータセットデータを(たとえば、パース、復号、取り出しまたはさもなければ取得によって)決定するように構成され得る。たとえば、ビデオエンコーダ20、カプセル化ユニット21、カプセル化解除ユニット29、および/またはビデオデコーダ30、あるいは他のデバイスは、サンプルが同期サンプルである場合、サンプルを復号するために必要とされるすべてのパラメータセットが、サンプルのためのサンプルエントリ中に、あるいはサンプル自体の中に含められるように構成され得る。ビデオデコーダ30は、次いで、決定されたパラメータセットデータに基づいてサンプルのビデオデータを復号し得る(186)。前の同期サンプルは、復号順序で直近の(most recent)同期サンプルであり得る。いくつかの例では、ビデオデコーダ30は、新しい同期サンプルの受信時に、前に記憶されたパラメータセットを廃棄し(discard)得る。
[0175]図6は、ビデオビットストリーム中でパラメータセットデータを符号化するためのプロセスを示す流れ図である。説明のためにビデオエンコーダ20(図1および図2)に関して説明するが、図6のプロセス、またはそれの部分は、カプセル化ユニット21(図1)、後処理エンティティ27(図2)、あるいはビデオデータを生成、符号化および/または処理するように構成された他の処理ユニットまたはデバイスによっても実行され得ることを理解されたい。たとえば、カプセル化ユニット21または後処理エンティティ27は、本開示で説明し図6に示されているように、サンプルを復号するためのパラメータセットデータを特定のロケーション中に含めるための技法を実施し得る。
[0176]図6の例では、ビデオエンコーダ20は、ビデオデータのサンプルのためのパラメータセットデータに基づいてそのサンプルを符号化し得る(190)。符号化されたサンプルは、ビデオデータのアクセスユニットに対応し得る。ビデオエンコーダ20は、特定のビデオコーディング規格によって定義されているように、1つまたは複数のサンプルのうちのサンプルを同期サンプルまたは非同期サンプルとして符号化し得る。ビデオエンコーダ20は、特定のビデオコーディング規格への準拠を保証するためにサンプルを含んでいるビットストリームを生成し得る。ISOBMFFのセクション4.8(AVC)と、セクション6.5.5(SVC)と、セクション7.5.3(MVC)と、セクション8.4.3(HEVC)とに記載された制約に基づいて定義された同期サンプルの場合、ビデオエンコーダ20または別のデバイスは、同期サンプルに対応するサンプルエントリ中に、または同期サンプル自体の中に、同期サンプルを復号するために必要とされるすべてのパラメータセットデータを含め得る(192)。このようにして、ビデオエンコーダ20または別のデバイスは、同期サンプルに対応するサンプルエントリ中に、または同期サンプル自体の中にのみ、同期サンプルを復号する際に使用するためのパラメータセットデータを含め得る。
[0177]非同期サンプルの場合、ISOBMFFのセクション4.8(AVC)と、セクション6.5.5(SVC)と、セクション7.5.3(MVC)と、セクション8.4.3(HEVC)とに記載された制約に基づいて定義されているように、ビデオエンコーダ20または別のデバイスは、非同期サンプルに対応するサンプルエントリ中に、非同期サンプル自体の中に、復号順序で非同期サンプルの前にある前の同期サンプル中に、または復号順序で非同期サンプルの前に、および前の同期サンプルの後に生じるサンプル中に、非同期サンプルのためのすべてのパラメータセットデータを含め得る(194)。このようにして、ビデオエンコーダ20または別のデバイスは、非同期サンプルに対応するサンプルエントリ、非同期サンプル自体、復号順序で前の同期サンプル中に、または復号順序で非同期サンプルの前に、および前の同期サンプルの後に生じるサンプル中にのみ、同期サンプルを復号する際に使用するためのパラメータセットデータを含め得る。したがって、ビデオデコーダ30が、非同期サンプルに対応するサンプルエントリ、非同期サンプル自体、同期サンプルとしてコーディングされる前のサンプル、あるいは復号順序で非同期サンプルの前に生じるが、復号順序で同期サンプルとしてコーディングされる前のサンプルに後続する1つまたは複数のサンプル以外のどんなロケーションからも、非同期サンプルのためのパラメータセットデータを復号し得ないように、ビデオエンコーダ20は、サンプルのためのパラメータセットデータをいくつかのロケーションに制約し得る。言い換えれば、同期サンプルでない現在のサンプルの場合、ビデオエンコーダ20は、サンプルエントリ中で、あるいは両端を含む、すなわち、前の同期サンプルの後にあるが現在の非同期サンプルの前にある1つまたは複数のサンプルを含む、および現在の非同期サンプルと前の同期サンプルとを含む、前の同期サンプルから現在のサンプルまでのサンプルのいずれかの中でのみ、パラメータセットデータを符号化し得る。
[0178]ビデオエンコーダ20は、次いで、ビデオデータのサンプルを含むファイルを生成し得る(196)。ファイル中のサンプルは、上記で説明した同期サンプルおよび/または非同期サンプルを含み得る。ファイルは、1つまたは複数の同期サンプルと1つまたは複数の非同期サンプルとを含む、複数のサンプルを含み得る。このようにして、図6は、ビデオデータのサンプルが同期サンプルであるかどうかを決定し、サンプルが同期サンプルでない(すなわち、非同期サンプルである)と決定することに基づいて、非同期サンプルのためのサンプルエントリ中に、非同期サンプル自体の中に、復号順序で非同期サンプルより前にあり、同期サンプルであるサンプル中に、あるいは非同期サンプルと、同期サンプルである復号順序で前のサンプルとの間に復号順序で生じる1つまたは複数のサンプル中にのみ、ビデオデータのためのパラメータセットデータを含めるための、ビデオエンコーダ20または別のデバイスの動作の一例について説明している。同様に、図6は、ビデオデータの第2のサンプルが同期サンプルであるかどうかを決定し、第2のサンプルが同期サンプルであると決定することに基づいて、同期サンプルのためのサンプルエントリ中にまたは同期サンプル中にのみ、ビデオデータのためのパラメータセットデータを含めるための、ビデオエンコーダ20または別のデバイスの動作の一例を示している。いくつかの例では、ビデオエンコーダ20はさらに、コーディング順序で同期サンプルより前に符号化されたパラメータセット(たとえば、PPSおよびSPS)に関して、同期サンプルと(コーディング順序で)後続のサンプルとを符号化することを回避し得る。
[0179]上記の例によっては、本明細書で説明した技法のうちのいずれかのいくつかの行為またはイベントは、異なるシーケンスで実施され得、追加、マージ、または完全に除外され得る(たとえば、すべての説明した行為またはイベントが本技法の実施のために必要であるとは限らない)ことを認識されたい。その上、いくつかの例では、行為またはイベントは、連続的にではなく、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して同時に実施され得る。
[0180]本開示で説明したビデオコーダは、ビデオエンコーダまたはビデオデコーダを指すことがある。同様に、ビデオコーディングユニットは、ビデオエンコーダまたはビデオデコーダを指すことがある。同様に、ビデオコーディングは、適用な可能なとき、ビデオ符号化またはビデオ復号を指すことがある。
[0181]1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応する、コンピュータ可読記憶媒体を含み得るか、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために、1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
[0182]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、フラッシュメモリ、または、命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびBlu-rayディスク(disc)を含み、ここで、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
[0183]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価な集積回路もしくはディスクリート論理回路など、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、上記の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用ハードウェアおよび/またはソフトウェアモジュール内に与えられるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素において十分に実装され得る。
[0184]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。様々な構成要素、モジュール、またはユニットは、開示された技法を実施するように構成されたデバイスの機能的態様を強調するように本開示では記載されているが、異なるハードウェアユニットによる実現を必ずしも必要としない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わされるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
[0185]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内にある。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータを復号する方法であって、前記方法は、
ビデオデータのサンプルが同期サンプルであるかどうかを決定することと、
前記サンプルが同期サンプルでないと決定することに基づいて、前記サンプルのためのサンプルエントリ、前記サンプル、同期サンプルである復号順序で前のサンプルから、または前記サンプルと、同期サンプルである復号順序で前記前のサンプルとの間の復号順序で生じるサンプルからのみ、前記サンプルの前記ビデオデータのためのパラメータセットデータを決定することと
を備える、方法。
[C2]
ビデオデータの第2のサンプルが同期サンプルであるかどうかを決定することと、
前記第2のサンプルが同期サンプルであると決定することに基づいて、前記第2のサンプルのためのサンプルエントリからまたは前記第2のサンプルからのみ前記第2のサンプルの前記ビデオデータのためのパラメータセットデータを決定することと
をさらに備える、C1に記載の方法。
[C3]
ビデオデータの前記サンプルが同期サンプルであるかどうかを決定することは、前記サンプルのビデオコーディングレイヤ(VCL)ネットワークアブストラクションレイヤ(NAL)ユニットが、前記サンプル中に含まれているコード化ピクチャが瞬時復号リフレッシュ(IDR)ピクチャ、クリーンランダムアクセス(CRA)ピクチャ、または切断リンクアクセス(BLA)ピクチャであることを示すかどうかを決定することを備える、C1に記載の方法。
[C4]
ビデオデータの前記サンプルが同期サンプルであるかどうかを決定することは、前記サンプル中のビデオデータネットワークアブストラクションレイヤ(NAL)ユニットが、前記サンプル中に含まれている1次ピクチャが瞬時復号リフレッシュ(IDR)ピクチャであることを示すかどうかを決定することを備える、C1に記載の方法。
[C5]
前記サンプルが、高効率ビデオコーディング(HEVC)と、高効率スケーラブルビデオコーディング(SHVC)と、マルチビュー高効率ビデオコーディング(MV-HEVC)と、アドバンストビデオコーディング(AVC)と、スケーラブルビデオコーディング(SVC)と、マルチビュービデオコーディング(MVC)とのうちの少なくとも1つに準拠する、C1に記載の方法。
[C6]
前記決定されたパラメータセットデータに基づいて前記サンプルの前記ビデオデータを復号することをさらに備える、C1に記載の方法。
[C7]
パラメータセットデータを決定することは、前記サンプルが同期サンプルでないと決定することに基づいて、および前記サンプルに関連するサンプルエントリ名に基づいて前記パラメータセットデータを決定することを備える、C1に記載の方法。
[C8]
ビデオデータを符号化するための方法であって、前記方法は、
ビデオデータのサンプルが同期サンプルであるかどうかを決定することと、
前記サンプルが同期サンプルでないと決定することに基づいて、前記サンプルのためのサンプルエントリ、前記サンプル、同期サンプルである復号順序で前のサンプル中に、または前記サンプルと、同期サンプルである復号順序で前記前のサンプルとの間の復号順序で生じるサンプル中にのみ、前記ビデオデータのためのパラメータセットデータを含めることと
を備える、方法。
[C9]
ビデオデータの第2のサンプルが同期サンプルであるかどうかを決定することと、
前記第2のサンプルが同期サンプルであると決定することに基づいて、前記第2のサンプルのためのサンプルエントリ中にまたは前記第2のサンプル中にのみ前記第2のサンプルの前記ビデオデータのためのパラメータセットデータを含めることと
をさらに備える、C8に記載の方法。
[C10]
ビデオデータの前記サンプルが同期サンプルであるかどうかを決定することは、前記サンプルのビデオコーディングレイヤ(VCL)ネットワークアブストラクションレイヤ(NAL)ユニットが、前記サンプル中に含まれているコード化ピクチャが瞬時復号リフレッシュ(IDR)ピクチャ、クリーンランダムアクセス(CRA)ピクチャ、または切断リンクアクセス(BLA)ピクチャであることを示すかどうかを決定することを備える、C8に記載の方法。
[C11]
ビデオデータの前記サンプルが同期サンプルであるかどうかを決定することは、前記サンプル中のビデオデータネットワークアブストラクションレイヤ(NAL)ユニットが、前記サンプル中に含まれている1次ピクチャが瞬時復号リフレッシュ(IDR)ピクチャであることを示すかどうかを決定することを備える、C8に記載の方法。
[C12]
前記サンプルが、高効率ビデオコーディング(HEVC)と、高効率スケーラブルビデオコーディング(SHVC)と、マルチビュー高効率ビデオコーディング(MV-HEVC)と、アドバンストビデオコーディング(AVC)と、スケーラブルビデオコーディング(SVC)と、マルチビュービデオコーディング(MVC)とのうちの少なくとも1つに準拠する、C8に記載の方法。
[C13]
前記パラメータセットデータに基づいて前記サンプルの前記ビデオデータを符号化することをさらに備える、C8に記載の方法。
[C14]
パラメータセットデータを含めることは、前記サンプルが同期サンプルでないと決定することに基づいて、および前記サンプルに関連するサンプルエントリ名に基づいて前記パラメータセットデータを含めることを備える、C8に記載の方法。
[C15]
ビデオデータを復号するためのデバイスであって、前記デバイスは、
ビデオデータを記憶するように構成されたメモリと、
前記ビデオデータのサンプルが同期サンプルであるかどうかを決定することと、
前記サンプルが同期サンプルでないと決定することに基づいて、前記サンプルのためのサンプルエントリ、前記サンプル、同期サンプルである復号順序で前のサンプルから、または前記サンプルと、同期サンプルである復号順序で前記前のサンプルとの間の復号順序で生じるサンプルからのみ、前記ビデオデータのためのパラメータセットデータを決定することと
を行うように構成された1つまたは複数のプロセッサと
を備える、デバイス。
[C16]
前記1つまたは複数のプロセッサは、
ビデオデータの第2のサンプルが同期サンプルであるかどうかを決定することと、
前記第2のサンプルが同期サンプルであると決定することに基づいて、前記第2のサンプルのためのサンプルエントリからまたは前記第2のサンプルからのみ前記第2のサンプルの前記ビデオデータのためのパラメータセットデータを決定することと
を行うように構成された、C15に記載のデバイス。
[C17]
サンプルが同期サンプルであるかどうかを決定するために、前記1つまたは複数のプロセッサは、前記サンプルのビデオコーディングレイヤ(VCL)ネットワークアブストラクションレイヤ(NAL)ユニットが、前記サンプル中に含まれているコード化ピクチャが瞬時復号リフレッシュ(IDR)ピクチャ、クリーンランダムアクセス(CRA)ピクチャ、または切断リンクアクセス(BLA)ピクチャであることを示すかどうかを決定するように構成された、C15に記載のデバイス。
[C18]
ビデオデータの前記サンプルが同期サンプルであるかどうかを決定するために、前記1つまたは複数のプロセッサは、前記サンプル中のビデオデータネットワークアブストラクションレイヤ(NAL)ユニットが、前記サンプル中に含まれている1次ピクチャが瞬時復号リフレッシュ(IDR)ピクチャであることを示すかどうかを決定するように構成された、C15に記載のデバイス。
[C19]
前記サンプルが、高効率ビデオコーディング(HEVC)と、高効率スケーラブルビデオコーディング(SHVC)と、マルチビュー高効率ビデオコーディング(MV-HEVC)と、アドバンストビデオコーディング(AVC)と、スケーラブルビデオコーディング(SVC)と、マルチビュービデオコーディング(MVC)とのうちの少なくとも1つに準拠する、C15に記載のデバイス。
[C20]
パラメータセットデータを決定するために、前記1つまたは複数のプロセッサは、前記サンプルが同期サンプルでないと決定することに基づいて、および前記サンプルに関連するサンプルエントリ名に基づいて前記パラメータセットデータを決定するように構成された、C15に記載のデバイス。
[C21]
前記1つまたは複数のプロセッサが、前記パラメータセットデータに基づいて前記サンプルの前記ビデオデータを復号するように構成された、C15に記載のデバイス。
[C22]
前記デバイスが、
集積回路と、
マイクロプロセッサと、
ビデオデコーダを含むワイヤレス通信デバイスと
のうちの少なくとも1つを備える、C15に記載のデバイス。
[C23]
前記ビデオデータを表示するように構成されたディスプレイをさらに備える、C15に記載のデバイス。
[C24]
ビデオデータを符号化するためのデバイスであって、前記デバイスは、
ビデオデータを記憶するように構成されたメモリと、
前記ビデオデータのサンプルが同期サンプルであるかどうかを決定することと、
前記サンプルが同期サンプルでないと決定することに基づいて、前記サンプルのためのサンプルエントリ、前記サンプル、同期サンプルである復号順序で前のサンプル中に、または前記サンプルと、同期サンプルである復号順序で前記前のサンプルとの間の復号順序で生じるサンプル中にのみ、前記ビデオデータのためのパラメータセットデータを含めることと
を行うように構成された1つまたは複数のプロセッサと
を備える、デバイス。
[C25]
前記1つまたは複数のプロセッサは、
ビデオデータの第2のサンプルが同期サンプルであるかどうかを決定することと、
前記第2のサンプルが同期サンプルであると決定することに基づいて、前記第2のサンプルのためのサンプルエントリ中にまたは前記第2のサンプル中にのみ前記第2のサンプルの前記ビデオデータのためのパラメータセットデータを含めることと
を行うように構成された、C24に記載のデバイス。
[C26]
同期サンプルが同期サンプルであるかどうかを決定するために、前記1つまたは複数のプロセッサは、前記サンプルのビデオコーディングレイヤ(VCL)ネットワークアブストラクションレイヤ(NAL)ユニットが、前記サンプル中に含まれているコード化ピクチャが瞬時復号リフレッシュ(IDR)ピクチャ、クリーンランダムアクセス(CRA)ピクチャ、または切断リンクアクセス(BLA)ピクチャであることを示すかどうかを決定するように構成された、C24に記載のデバイス。
[C27]
ビデオデータの前記サンプルが同期サンプルであるかどうかを決定するために、前記1つまたは複数のプロセッサは、前記サンプル中のビデオデータネットワークアブストラクションレイヤ(NAL)ユニットが、前記サンプル中に含まれている1次ピクチャが瞬時復号リフレッシュ(IDR)ピクチャであることを示すかどうかを決定するように構成された、C24に記載のデバイス。
[C28]
前記サンプルが、高効率ビデオコーディング(HEVC)と、高効率スケーラブルビデオコーディング(SHVC)と、マルチビュー高効率ビデオコーディング(MV-HEVC)と、アドバンストビデオコーディング(AVC)と、スケーラブルビデオコーディング(SVC)と、マルチビュービデオコーディング(MVC)とのうちの少なくとも1つに準拠する、C24に記載のデバイス。
[C29]
パラメータセットデータを含めるために、前記1つまたは複数のプロセッサは、前記サンプルが同期サンプルでないと決定することに基づいて、および前記サンプルに関連するサンプルエントリ名に基づいて前記パラメータセットデータを含めるように構成された、C24に記載のデバイス。
[C30]
前記1つまたは複数のプロセッサが、前記パラメータセットデータに基づいて前記サンプルの前記ビデオデータを符号化するように構成された、C24に記載のデバイス。
[C31]
前記デバイスが、
集積回路と、
マイクロプロセッサと、
ビデオエンコーダを含むワイヤレス通信デバイスと
のうちの少なくとも1つを備える、C24に記載のデバイス。
[C32]
前記ビデオデータを取得するように構成されたカメラをさらに備える、C24に記載のデバイス。
[C33]
ビデオデータを復号するためのデバイスであって、前記デバイスは、
ビデオデータのサンプルが同期サンプルであるかどうかを決定するための手段と、
前記サンプルが同期サンプルでないと決定することに基づいて、前記サンプルのためのサンプルエントリ、前記サンプル、同期サンプルである復号順序で前のサンプルから、または前記サンプルと、同期サンプルである復号順序で前記前のサンプルとの間の復号順序で生じるサンプルからのみ、前記ビデオデータのためのパラメータセットデータを決定するための手段と
を備える、デバイス。
[C34]
ビデオデータの第2のサンプルが同期サンプルであるかどうかを決定するための手段と、
前記第2のサンプルが同期サンプルであると決定することに基づいて、前記第2のサンプルのためのサンプルエントリからまたは前記第2のサンプルからのみ前記第2のサンプルの前記ビデオデータのためのパラメータセットデータを決定するための手段と
をさらに備える、C33に記載のデバイス。
[C35]
前記パラメータセットデータに基づいて前記サンプルの前記ビデオデータを復号するための手段をさらに備える、C33に記載のデバイス。
[C36]
ビデオデータを符号化するためのデバイスであって、前記デバイスは、
ビデオデータのサンプルが同期サンプルであるかどうかを決定するための手段と、
前記サンプルが同期サンプルでないと決定することに基づいて、前記サンプルのためのサンプルエントリ、前記サンプル、同期サンプルである復号順序で前のサンプル中に、または前記サンプルと、同期サンプルである復号順序で前記前のサンプルとの間の復号順序で生じるサンプル中にのみ、前記ビデオデータのためのパラメータセットデータを含めるための手段と
を備える、デバイス。
[C37]
ビデオデータの第2のサンプルが同期サンプルであるかどうかを決定するための手段と、
前記第2のサンプルが同期サンプルであると決定することに基づいて、前記第2のサンプルのためのサンプルエントリからまたは前記第2のサンプル中にのみ前記第2のサンプルの前記ビデオデータのためのパラメータセットデータを含めるための手段と
をさらに備える、C36に記載のデバイス。
[C38]
前記パラメータセットデータに基づいて前記サンプルの前記ビデオデータを符号化するための手段をさらに備える、C36に記載のデバイス。
[C39]
命令を記憶した非一時的コンピュータ可読媒体であって、前記命令は、実行されると、1つまたは複数のプロセッサに、
ビデオデータのサンプルが同期サンプルであるかどうかを決定することと、
前記サンプルが同期サンプルでないと決定することに基づいて、前記サンプルのためのサンプルエントリ、前記サンプル、同期サンプルである復号順序で前のサンプルから、または前記サンプルと、同期サンプルである復号順序で前記前のサンプルとの間の復号順序で生じるサンプルからのみ、前記ビデオデータのためのパラメータセットデータを決定することと
を行わせる、非一時的コンピュータ可読媒体。
[C40]
前記命令は、ビデオデータの第2のサンプルが同期サンプルであるかどうかを決定することと、前記第2のサンプルが同期サンプルであると決定することに基づいて、前記第2のサンプルのためのサンプルエントリからまたは前記第2のサンプルからのみ前記第2のサンプルの前記ビデオデータのためのパラメータセットデータを決定することとを前記1つまたは複数のプロセッサに行わせる、C39に記載のコンピュータ可読媒体。
[C41]
前記命令は、前記パラメータセットデータに基づいて前記サンプルの前記ビデオデータを復号することを前記1つまたは複数のプロセッサに行わせる、C39に記載のコンピュータ可読媒体。
[C42]
命令を記憶した非一時的コンピュータ可読媒体であって、前記命令は、実行されると、1つまたは複数のプロセッサに、
ビデオデータのサンプルが同期サンプルであるかどうかを決定することと、
前記サンプルが同期サンプルでないと決定することに基づいて、前記サンプルのためのサンプルエントリ、前記サンプル、同期サンプルである復号順序で前のサンプル中に、または前記サンプルと、同期サンプルである復号順序で前記前のサンプルとの間の復号順序で生じるサンプル中にのみ、前記ビデオデータのためのパラメータセットデータを含めることと
を行わせる、非一時的コンピュータ可読媒体。
[C43]
前記命令は、ビデオデータの第2のサンプルが同期サンプルであるかどうかを決定することと、前記第2のサンプルが同期サンプルであると決定することに基づいて、前記第2のサンプルのためのサンプルエントリ中にまたは前記第2のサンプルからのみ前記第2のサンプルの前記ビデオデータのためのパラメータセットデータを含めることとを前記1つまたは複数のプロセッサに行わせる、C42に記載のコンピュータ可読媒体。
[C44]
前記命令は、前記パラメータセットデータに基づいて前記サンプルの前記ビデオデータを符号化することを前記1つまたは複数のプロセッサに行わせる、C42に記載のコンピュータ可読媒体。