(57)【要約】様々なインプリメンテーションでは、提供されるのは、必須情報を非必須情報と区別するＳＥＩメッセージについての技法、ならびにこれらの技法をインプリメントするシステムである。様々なインプリメンテーションでは、符号化器は、ビデオデータに関連付けられた情報が必須であるか、または必須でないかを決定するように構成されることができる。様々なインプリメンテーションでは、異なるタイプのＳＥＩメッセージが定義されることができ、ここで、これらのタイプのＳＥＩメッセージのうちの１つまたは複数は、特定のビデオに関連付けられた情報が必須であるか、または必須でないかを示すことができる。必須情報は、ビデオデータを提示するために必要とされ、およびビデオデータを復号するために必要とされない。【選択図】図７
2020511861.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを符号化する方法であって、
ビデオデータを受信することと、
符号化デバイスが、前記ビデオデータに関連付けられた情報が前記ビデオデータを提示するのに必要とされるかどうかを決定することと、ここにおいて、前記情報は、前記ビデオデータを復号するために必要とされない、
補足エンハンスメント情報（ＳＥＩ）メッセージを生成することと、ここにおいて、前記ＳＥＩメッセージは、前記情報が前記ビデオデータを提示するのに必要とされるかどうかを示すフィールドを含む、
前記ビデオデータを符号化することと、
前記符号化されたビデオデータとともに前記ＳＥＩメッセージを含めることと
を備える、方法。
【請求項２】
前記符号化デバイスは、前記情報が前記ビデオデータを提示するのに必要とされるかどうかを決定するために前記符号化デバイスが使用することができる１つまたは複数のパラメータで構成される、請求項１に記載の方法。
【請求項３】
前記符号化デバイスは、前記情報が前記ビデオデータを提示するのに必要とされると決定する、請求項１に記載の方法。
【請求項４】
前記符号化デバイスは、前記情報が前記ビデオデータを提示するのに必要とされないと決定する、請求項１に記載の方法。
【請求項５】
前記ＳＥＩメッセージのシンタックス要素は、前記ＳＥＩメッセージのタイプを示す、請求項１に記載の方法。
【請求項６】
前記情報は、前記符号化されたビデオデータとともに含まれる、請求項１に記載の方法。
【請求項７】
ファイルに前記符号化されたビデオデータと前記ＳＥＩメッセージとを書き込むことと、ここにおいて、前記符号化されたビデオデータと前記ＳＥＩメッセージとは、ファイルフォーマットにしたがって前記ファイルに書き込まれる、
前記符号化されたビデオデータが読み取られる前に前記ＳＥＩが読み取られることができる前記ファイル中に前記ＳＥＩメッセージを配置するために前記ファイルフォーマットを使用することと
をさらに備える、請求項１に記載の方法。
【請求項８】
ストリーミングのために前記符号化されたビデオデータをカプセル化することと、ここにおいて、前記符号化されたビデオデータは、ストリーミングフォーマットにしたがってカプセル化される、
前記ストリーミングフォーマットにしたがって、符号化されたビデオデータの記述を生成することと、ここにおいて、前記記述は、前記ＳＥＩメッセージを含む、
をさらに備える、請求項１に記載の方法。
【請求項９】
ネットワーク上での送信のために前記符号化されたビデオデータをカプセル化することと、ここにおいて、前記符号化されたビデオデータは、コンテナフォーマットにしたがってカプセル化される、
前記コンテナフォーマットにしたがって、第１のパケットを生成することと、ここにおいて、前記第１のパケットのペイロード部分は、記述子として前記ＳＥＩメッセージを含む、
前記符号化されたビデオデータを含む１つまたは複数のパケットを生成することと、ここにおいて、前記１つまたは複数のパケットは、送信順序で前記第１のパケットに続く、
をさらに備える、請求項１に記載の方法。
【請求項１０】
ネットワーク上での送信のために前記符号化されたビデオデータをカプセル化することと、ここにおいて、前記符号化されたビデオデータは、リアルタイム転送プロトコルにしたがってカプセル化される、
セッション記述プロトコルにしたがって、セッション記述を生成することと、ここにおいて、前記セッション記述は、前記ＳＥＩメッセージを含む、
をさらに備える、請求項１に記載の方法。
【請求項１１】
符号化デバイスであって、
ビデオデータを記憶するように構成されたメモリと、
前記ビデオデータに関連付けられた情報が前記ビデオデータを提示するのに必要とされるかどうかを決定することと、ここにおいて、前記情報は、前記ビデオデータを復号するために必要とされない、
補足エンハンスメント情報（ＳＥＩ）メッセージを生成することと、ここにおいて、前記ＳＥＩメッセージは、前記情報が前記ビデオデータを提示するのに必要とされるかどうかを示すフィールドを含む、
前記ビデオデータを符号化することと、
前記符号化されたビデオデータとともに前記ＳＥＩメッセージを含めることと
を行うように構成されたプロセッサと
を備える、符号化デバイス。
【請求項１２】
前記符号化デバイスは、前記情報が前記ビデオデータを提示するのに必要とされるかどうかを決定するために前記符号化デバイスが使用することができる１つまたは複数のパラメータで構成される、請求項１１に記載の符号化デバイス。
【請求項１３】
前記プロセッサは、
前記情報が前記ビデオデータを提示するのに必要とされると決定すること
を行うようにさらに構成される、請求項１１に記載の符号化デバイス。
【請求項１４】
前記プロセッサは、
前記情報が前記ビデオデータを提示するのに必要とされないと決定すること
を行うようにさらに構成される、請求項１１に記載の符号化デバイス。
【請求項１５】
前記ＳＥＩメッセージのシンタックス要素は、前記ＳＥＩメッセージのタイプを示す、請求項１１に記載の符号化デバイス。
【請求項１６】
前記情報は、前記符号化されたビデオデータとともに含まれる、請求項１１に記載の符号化デバイス。
【請求項１７】
１つまたは複数のプロセッサによって実行されると、前記１つまたは複数のプロセッサに、
ビデオデータを受信することと、
前記ビデオデータに関連付けられた情報が前記ビデオデータを提示するのに必要とされるかどうかを決定することと、ここにおいて、前記情報は、前記ビデオデータを復号するために必要とされない、
補足エンハンスメント情報（ＳＥＩ）メッセージを生成することと、ここにおいて、前記ＳＥＩメッセージは、前記情報が前記ビデオデータを提示するのに必要とされるかどうかを示すフィールドを含む、
前記ビデオデータを符号化することと、
前記符号化されたビデオデータとともに前記ＳＥＩメッセージを含めることと
を行わせる命令を備える、非一時的コンピュータ可読媒体。
【請求項１８】
装置であって、
ビデオデータを受信するための手段と、
前記ビデオデータに関連付けられた情報が前記ビデオデータを提示するのに必要とされるかどうかを決定するための手段と、ここにおいて、前記情報は、前記ビデオデータを復号するために必要とされない、
補足エンハンスメント情報（ＳＥＩ）メッセージを生成するための手段と、ここにおいて、前記ＳＥＩメッセージは、前記情報が前記ビデオデータを提示するのに必要とされるかどうかを示すフィールドを含む、
前記ビデオデータを符号化するための手段と、
前記符号化されたビデオデータとともに前記ＳＥＩメッセージを含めるための手段と
を備える、装置。
【請求項１９】
ビデオデータを復号する方法であって、
復号デバイスにおいて、符号化されたビデオビットストリーム、補足エンハンスメント情報（ＳＥＩ）メッセージ、および前記符号化されたビデオビットストリームに関連付けられた情報を受信することと、
前記ＳＥＩメッセージを使用して、前記情報が前記符号化されたビデオビットストリーム中のビデオデータを提示するのに必要とされるかどうかを決定することと、ここにおいて、前記情報は、前記ビデオデータを復号するために必要とされず、および前記ＳＥＩメッセージは、前記情報が前記ビデオデータを提示するのに必要とされるかどうかを示すフィールドを含む、
ビデオデータを作り出すために前記符号化されたビデオビットストリームを復号することと、ここにおいて、前記符号化されたビデオビットストリームは、前記情報が前記ビデオデータを提示するのに必要とされるかどうかを決定することの結果にしたがって復号される、
を備える、方法。
【請求項２０】
前記復号デバイスは、前記情報が前記ビデオデータを提示するのに必要とされると決定し、および前記復号デバイスは、前記情報にしたがって前記ビデオデータを構成する、請求項１９に記載の方法。
【請求項２１】
前記復号デバイスは、前記情報が前記ビデオデータを提示するのに必要とされないと決定し、および前記復号デバイスは、前記情報を使用することなしに前記符号化されたビデオデータを復号する、請求項１９に記載の方法。
【請求項２２】
前記ＳＥＩメッセージのシンタックス要素は、前記ＳＥＩメッセージのタイプを示す、請求項１９に記載の方法。
【請求項２３】
前記符号化されたビデオビットストリーム、前記ＳＥＩメッセージ、および前記符号化されたビデオビットストリームに関連付けられた前記情報は、ファイル中で受信され、前記ファイルは、ファイルフォーマットにしたがってフォーマットされ、および前記ファイルフォーマットにしたがって、前記ＳＥＩメッセージは、前記符号化されたビデオビットストリームを含む前記ファイルの一部の前の、前記復号デバイスによって読み取られる前記ファイルの一部中にある、請求項１９に記載の方法。
【請求項２４】
前記符号化されたビデオビットストリーム、前記ＳＥＩメッセージ、および前記符号化されたビデオビットストリームに関連付けられた前記情報は、データストリーム中で受信され、前記データストリームは、ストリーミングフォーマットにしたがってフォーマットされ、
前記データストリームから、前記符号化されたビデオデータの記述を読み取ること、ここにおいて、前記記述は、前記ＳＥＩメッセージを含む、
請求項１９に記載の方法。
【請求項２５】
前記符号化されたビデオビットストリーム、前記ＳＥＩメッセージ、および前記符号化されたビデオビットストリームに関連付けられた前記情報は、複数のネットワークパケット中で受信され、
前記複数のネットワークパケットからの第１のパケットのペイロード部分から前記ＳＥＩメッセージを読み取ることと、
前記複数のネットワークパケットからの１つまたは複数のパケットから前記符号化されたビデオデータを読み取ることと、ここにおいて、前記１つまたは複数のパケットは、送信順序で前記第１のパケットに続く、
請求項１９に記載の方法。
【請求項２６】
前記符号化されたビデオビットストリーム、前記ＳＥＩメッセージ、および前記符号化されたビデオビットストリームに関連付けられた前記情報は、ネットワーク上で受信され、前記符号化されたビデオビットストリームは、リアルタイム転送プロトコルにしたがってカプセル化され、前記ＳＥＩメッセージは、セッション記述中に含まれ、前記セッション記述は、セッション記述プロトコルにしたがってフォーマットされる、請求項１９に記載の方法。
【請求項２７】
復号デバイスであって、
符号化されたビデオビットストリーム、補足エンハンスメント情報（ＳＥＩ）メッセージ、および前記符号化されたビデオビットストリームに関連付けられた情報を記憶するように構成されたメモリと、
前記ＳＥＩメッセージを使用して、前記情報が前記符号化されたビデオビットストリーム中のビデオデータを提示するのに必要とされるかどうかを決定することと、ここにおいて、前記情報は、前記ビデオデータを復号するために必要とされず、および前記ＳＥＩメッセージは、前記情報が前記ビデオデータを提示するのに必要とされるかどうかを示すフィールドを含む、
ビデオデータを作り出すために前記符号化されたビデオビットストリームを復号することと、ここにおいて、前記符号化されたビデオビットストリームは、前記情報が前記ビデオデータを提示するのに必要とされるかどうかを決定することの結果にしたがって復号される、
を行うように構成されたプロセッサと
を備える、復号デバイス。
【請求項２８】
前記復号デバイスは、前記情報が前記ビデオデータを提示するのに必要とされると決定し、および前記復号デバイスは、前記情報にしたがって前記ビデオデータを構成する、請求項２７に記載の復号デバイス。
【請求項２９】
前記復号デバイスは、前記情報が前記ビデオデータを提示するのに必要とされないと決定し、および前記復号デバイスは、前記情報を使用することなしに前記符号化されたビデオデータを復号する、請求項２７に記載の復号デバイス。
【請求項３０】
前記ＳＥＩメッセージのシンタックス要素は、前記ＳＥＩメッセージのタイプを示す、請求項２７に記載の復号デバイス。
【請求項３１】
１つまたは複数のプロセッサによって実行されると、前記１つまたは複数のプロセッサに、
符号化されたビデオビットストリーム、補足エンハンスメント情報（ＳＥＩ）メッセージ、および前記符号化されたビデオビットストリームに関連付けられた情報を受信することと、
前記ＳＥＩメッセージを使用して、前記情報が前記符号化されたビデオビットストリーム中のビデオデータを提示するのに必要とされるかどうかを決定することと、ここにおいて、前記情報は、前記ビデオデータを復号するために必要とされず、および前記ＳＥＩメッセージは、前記情報が前記ビデオデータを提示するのに必要とされるかどうかを示すフィールドを含む、
ビデオデータを作り出すために前記符号化されたビデオビットストリームを復号することと、ここにおいて、前記符号化されたビデオビットストリームは、前記情報が前記ビデオデータを提示するのに必要とされるかどうかを決定することの結果にしたがって復号される、
を行わせる命令を備える、非一時的コンピュータ可読媒体。
【請求項３２】
装置であって、
符号化されたビデオビットストリーム、補足エンハンスメント情報（ＳＥＩ）メッセージ、および前記符号化されたビデオビットストリームに関連付けられた情報を受信するための手段と、
前記ＳＥＩメッセージを使用して、前記情報が前記符号化されたビデオビットストリーム中のビデオデータを提示するのに必要とされるかどうかを決定するための手段と、ここにおいて、前記情報は、前記ビデオデータを復号するために必要とされず、および前記ＳＥＩメッセージは、前記情報が前記ビデオデータを提示するのに必要とされるかどうかを示すフィールドを含む、
ビデオデータを作り出すために前記符号化されたビデオビットストリームを復号するための手段と、ここにおいて、前記符号化されたビデオビットストリームは、前記情報が前記ビデオデータを提示するのに必要とされるかどうかを決定することの結果にしたがって復号される、
を備える、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本願は概して、ビデオコーディングに関する。例えば、補足エンハンスメント情報（supplemental enhancement information）の符号化および復号についてのシステムおよび方法が説明される。
【背景技術】
【０００２】
[0002]ビデオコーディング規格は、ＩＴＵ−Ｔ Ｈ．２６１と、ＩＳＯ／ＩＥＣ ＭＰＥＧ−１ Ｖｉｓｕａｌと、ＩＴＵ−Ｔ Ｈ．２６２またはＩＳＯ／ＩＥＣ ＭＰＥＧ−２ Ｖｉｓｕａｌと、ＩＴＵ−Ｔ Ｈ．２６３と、ＩＳＯ／ＩＥＣ ＭＰＥＧ−４ Ｖｉｓｕａｌと、そのスケーラブルビデオコーディング（ＳＶＣ）およびマルチビュービデオコーディング（ＭＶＣ）拡張を含むＩＴＵ−Ｔ Ｈ．２６４またはＩＳＯ／ＩＥＣ ＭＰＥＧ−４ ＡＶＣと、そのスケーラブルコーディング拡張（すなわち、スケーラブル高効率ビデオコーディング、ＳＨＶＣ）およびマルチビュー拡張（すなわち、マルチビュー高効率ビデオコーディング、ＭＶ−ＨＥＶＣ）を含む、ＩＴＵ−Ｔ Ｈ．２６５およびＩＳＯ／ＩＥＣ ２３００８−２としても知られる高効率ビデオコーディング（ＨＥＶＣ）とを含む。
【発明の概要】
【０００３】
[0003]様々なインプリメンテーションでは、提供されるのは、ＳＥＩメッセージ中で必須情報をシグナリングするための技法である。情報は、情報がビデオデータを表示するために必要とされると符号化器が決定するときに必須である。情報は、ビデオデータを復号するために必要とされない。ビデオデータを表示または提示することに関する情報は、ＳＥＩメッセージ中で提供されることができるが、ＳＥＩメッセージは、各メッセージ中で搬送されるデータがビデオデータの提示に必須であるか、または必須でないかを示すことができないことがあり得る。加えて、ＳＥＩメッセージを使用するコーディング規格は、復号デバイスが、必須情報を含むＳＥＩメッセージを素早く識別およびロケートするための方法を提供しないことがあり得る。
【０００４】
[0004]様々なインプリメンテーションでは、提供されるのは、必須情報が符号化されたビデオビットストリームとともに含まれることを示すことができるＳＥＩメッセージである。これらのＳＥＩメッセージは、復号デバイスが、必須情報が提供されると決定することと、必須情報をロケートすることとを可能にする。
【０００５】
[0005]少なくとも一例によると、ビデオデータを受信することを含む、ビデオデータを符号化する方法が提供される。方法はさらに、符号化デバイスが、ビデオデータに関連付けられた情報がビデオデータを提示するのに必要とされるかどうかを決定することを含み、情報は、ビデオデータを復号するために必要とされない。方法はさらに、補足エンハンスメント情報（ＳＥＩ）メッセージを生成することを含み、ＳＥＩメッセージは、情報がビデオデータを提示するのに必要とされるかどうかを示すフィールドを含む。方法はさらに、ビデオデータを符号化することを含む。方法はさらに、符号化されたビデオデータとともにＳＥＩメッセージを含めることを含む。
【０００６】
[0006]別の例では、ビデオデータを記憶するように構成されたメモリと、プロセッサとを含む符号化が提供される。プロセッサは、ビデオデータに関連付けられた情報がビデオデータを提示するのに必要とされるかどうかを決定するように構成され、且つ決定することができ、情報は、ビデオデータを復号するために必要とされない。プロセッサは、補足エンハンスメント情報（ＳＥＩ）メッセージを生成するように構成され、且つ生成することができ、ＳＥＩメッセージは、情報がビデオデータを提示するのに必要とされるかどうかを示すフィールドを含む。プロセッサは、ビデオデータを符号化するように構成され、且つ符号化することができる。プロセッサは、符号化されたビデオデータとともにＳＥＩメッセージを含めるように構成され、且つ含めることができる。
【０００７】
[0007]別の例では、１つまたは複数のプロセッサによって実行されると、１つまたは複数のプロセッサに、ビデオデータを受信することを行わせる命令を備える、非一時的コンピュータ可読媒体が提供される。命令はさらに、１つまたは複数のプロセッサに、ビデオデータに関連付けられた情報がビデオデータを提示するのに必要とされるかどうかを決定することを行わせ、情報は、ビデオデータを復号するために必要とされない。命令はさらに、１つまたは複数のプロセッサに、補足エンハンスメント情報（ＳＥＩ）メッセージを生成することを行わせ、ＳＥＩメッセージは、情報がビデオデータを提示するのに必要とされるかどうかを示すフィールドを含む。命令はさらに、１つまたは複数のプロセッサに、ビデオデータを符号化することを行わせる。命令はさらに、１つまたは複数のプロセッサに、符号化されたビデオデータとともにＳＥＩメッセージを含めることを行わせる。
【０００８】
[0008]別の例では、ビデオデータを受信するための手段を含む装置が提供される。装置はさらに、ビデオデータに関連付けられた情報がビデオデータを提示するのに必要とされるかどうかを決定するための手段を備え、情報は、ビデオデータを復号するために必要とされない。装置はさらに、補足エンハンスメント情報（ＳＥＩ）メッセージを生成するための手段を備え、ＳＥＩメッセージは、情報がビデオデータを提示するのに必要とされるかどうかを示すフィールドを含む。装置はさらに、ビデオデータを符号化するための手段を備える。装置はさらに、符号化されたビデオデータとともにＳＥＩメッセージを含めるための手段を備える。
【０００９】
[0009]いくつかの態様では、符号化デバイスは、情報がビデオデータを提示するのに必要とされるかどうかを決定するために符号化デバイスが使用することができる１つまたは複数のパラメータで構成される。
【００１０】
[0010]いくつかの態様では、符号化デバイスは、情報がビデオデータを提示するのに必要とされると決定する。
【００１１】
[0011]いくつかの態様では、符号化デバイスは、情報がビデオデータを提示するのに必要とされないと決定する。
【００１２】
[0012]いくつかの態様では、ＳＥＩメッセージのシンタックス要素は、ＳＥＩメッセージのタイプを示す。
【００１３】
[0013]いくつかの態様では、情報は、符号化されたビデオデータとともに含まれる。
【００１４】
[0014]いくつかの態様では、上述された方法、装置、およびコンピュータ可読媒体はさらに、ファイルに符号化されたビデオデータとＳＥＩメッセージとを書き込むことを備え、符号化されたビデオデータとＳＥＩメッセージとは、ファイルフォーマットにしたがってファイルに書き込まれる。それら態様はさらに、符号化されたビデオデータが読み取られる前にＳＥＩが読み取られることができるファイル中にＳＥＩメッセージを配置するためにそのファイルフォーマットを使用することを備える。
【００１５】
[0015]いくつかの態様では、上述された方法、装置、およびコンピュータ可読媒体はさらに、ストリーミングのために、符号化されたビデオデータをカプセル化することを備え、符号化されたビデオデータは、ストリーミングフォーマットにしたがってカプセル化される。これらの態様はさらに、ストリーミングフォーマットにしたがって、符号化されたビデオデータの記述を生成することを備え、記述は、ＳＥＩメッセージを含む。
【００１６】
[0016]いくつかの態様では、上述された方法、装置、およびコンピュータ可読媒体はさらに、ネットワーク上での送信のために、符号化されたビデオデータをカプセル化することを備え、符号化されたビデオデータは、コンテナフォーマットにしたがってカプセル化される。これらの態様はさらに、コンテナフォーマットにしたがって、第１のパケットを生成することを備え、第１のパケットのペイロード部分は、記述子としてＳＥＩメッセージを含む。これらの態様はさらに、符号化されたビデオデータを含む１つまたは複数のパケットを生成することを備え、１つまたは複数のパケットは、送信順序で第１のパケットに続く。
【００１７】
[0017]いくつかの態様では、上述された方法、装置、およびコンピュータ可読媒体はさらに、ネットワーク上での送信のために、符号化されたビデオデータをカプセル化することを備え、符号化されたビデオデータは、リアルタイム転送プロトコルにしたがってカプセル化される。これらの態様はさらに、セッション記述プロトコルにしたがって、セッション記述を生成することを備え、セッション記述は、ＳＥＩメッセージを含む。
【００１８】
[0018]少なくとも一例によると、復号デバイスにおいて、符号化されたビデオビットストリーム、補足エンハンスメント情報（ＳＥＩ）メッセージ、および符号化されたビデオビットストリームに関連付けられた情報を受信することを含む、ビデオデータを復号する方法が提供される。方法はさらに、ＳＥＩメッセージを使用して、情報が符号化されたビデオビットストリーム中のビデオデータを提示するのに必要とされるかどうかを決定することを含み、情報は、ビデオデータを復号するために必要とされず、およびＳＥＩメッセージは、情報がビデオデータを提示するのに必要とされるかどうかを示すフィールドを含む。方法はさらに、ビデオデータを作り出すために、符号化されたビデオビットストリームを復号することを含み、符号化されたビデオビットストリームは、情報がビデオデータを提示するのに必要とされるかどうかを決定することの結果にしたがって復号される。
【００１９】
[0019]別の例では、符号化されたビデオデータ、補足エンハンスメント情報（ＳＥＩ）メッセージ、および符号化されたビデオビットストリームに関連付けられた情報を記憶するように構成されたメモリと、プロセッサとを含む装置が提供される。プロセッサは、ＳＥＩメッセージを使用して、情報が符号化されたビデオビットストリーム中のビデオデータを提示するのに必要とされるかどうかを決定するように構成され、且つ決定することができ、情報は、ビデオデータを復号するために必要とされず、およびＳＥＩメッセージは、情報がビデオデータを提示するのに必要とされるかどうかを示すフィールドを含む。プロセッサは、ビデオデータを作り出すために、符号化されたビデオビットストリームを復号するように構成され、且つ復号することができ、符号化されたビデオビットストリームは、情報がビデオデータを提示するのに必要とされるかどうかを決定することの結果にしたがって復号される。
【００２０】
[0020]別の例では、１つまたは複数のプロセッサによって実行されると、１つまたは複数のプロセッサに、符号化されたビデオビットストリーム、補足エンハンスメント情報（ＳＥＩ）メッセージ、および符号化されたビデオビットストリームに関連付けられた情報を受信することを行わせる命令を備える、非一時的コンピュータ可読媒体が提供される。命令はさらに、１つまたは複数のプロセッサに、ＳＥＩメッセージを使用して、情報が符号化されたビデオビットストリーム中のビデオデータを提示するのに必要とされるかどうかを決定することを行わせ、情報は、ビデオデータを復号するために必要とされず、およびＳＥＩメッセージは、情報がビデオデータを提示するのに必要とされるかどうかを示すフィールドを含む。命令はさらに、１つまたは複数のプロセッサに、ビデオデータを作り出すために、符号化されたビデオビットストリームを復号することを行わせ、符号化されたビデオビットストリームは、情報がビデオデータを提示するのに必要とされるかどうかを決定することの結果にしたがって復号される。
【００２１】
[0021]別の例では、符号化されたビデオビットストリーム、補足エンハンスメント情報（ＳＥＩ）メッセージ、および符号化されたビデオビットストリームに関連付けられた情報を受信するための手段を含む装置が提供される。装置はさらに、ＳＥＩメッセージを使用して、情報が符号化されたビデオビットストリーム中のビデオデータを提示するのに必要とされるかどうかを決定するための手段を備え、情報は、ビデオデータを復号するために必要とされず、およびＳＥＩメッセージは、情報がビデオデータを提示するのに必要とされるかどうかを示すフィールドを含む。装置はさらに、ビデオデータを作り出すために、符号化されたビデオビットストリームを復号するための手段を備え、符号化されたビデオビットストリームは、情報がビデオデータを提示するのに必要とされるかどうかを決定することの結果にしたがって復号される。
【００２２】
[0022]いくつかの態様では、復号デバイスは、情報がビデオデータを提示するのに必要とされると決定し、および復号デバイスは、情報にしたがってビデオデータを構成する。
【００２３】
[0023]いくつかの態様では、復号デバイスは、情報がビデオデータを提示するのに必要とされないと決定し、および復号デバイスは、情報を使用することなしに、符号化されたビデオデータを復号する。
【００２４】
[0024]いくつかの態様では、ＳＥＩメッセージのシンタックス要素は、ＳＥＩメッセージのタイプを示す。
【００２５】
[0025]いくつかの態様では、符号化されたビデオビットストリーム、ＳＥＩメッセージ、および符号化されたビデオビットストリームに関連付けられた情報は、ファイル中で受信され、ファイルは、ファイルフォーマットにしたがってフォーマットされ、およびファイルフォーマットにしたがって、ＳＥＩメッセージは、符号化されたビデオビットストリームを含むファイルの一部の前の、復号デバイスによって読み取られるファイルの一部中にある。
【００２６】
[0026]いくつかの態様では、符号化されたビデオビットストリーム、ＳＥＩメッセージ、および符号化されたビデオビットストリームに関連付けられた情報は、データストリーム中で受信され、データストリームは、ストリーミングフォーマットにしたがってフォーマットされる。これらの態様はさらに、データストリームから、符号化されたビデオデータの記述を読み取ることを含み、記述は、ＳＥＩメッセージを含む。
【００２７】
[0027]いくつかの態様では、符号化されたビデオビットストリーム、ＳＥＩメッセージ、および符号化されたビデオビットストリームに関連付けられた情報は、複数のネットワークパケット中で受信される。これらの態様はさらに、複数のネットワークパケットからの第１のパケットのペイロード部分からＳＥＩメッセージを読み取ることを含む。これらの態様はさらに、複数のネットワークパケットからの１つまたは複数のパケットから符号化されたビデオデータを読み取ることを含み、１つまたは複数のパケットは、送信順序で第１のパケットに続く。
【００２８】
[0028]いくつかの態様では、符号化されたビデオビットストリーム、ＳＥＩメッセージ、および符号化されたビデオビットストリームに関連付けられた情報は、ネットワーク上で受信され、符号化されたビデオビットストリームは、リアルタイム転送プロトコルにしたがってカプセル化され、ＳＥＩメッセージは、セッション記述中に含まれ、セッション記述は、セッション記述プロトコルにしたがってフォーマットされる。
【００２９】
[0029]本願の例示的な例が、次の図面を参照して、以下に詳細に説明される。
【図面の簡単な説明】
【００３０】
【図１】ビデオコーディングシステムの例を例示するブロック図である。
【図２】アクセスユニットの例を例示する。
【図３】ＩＳＯベースメディアファイルの例を例示する。
【図４】ビデオコンテンツをストリーミングするためのＤＡＳＨプレゼンテーション（a DASH presentation）の例を例示する。
【図５】ＭＰＥＧトランスポートストリームの例を例示する。
【図６】ネットワーク通信のためのオープンシステム相互接続（ＯＳＩ：Open Systems Interconnect）モデル６００の例を例示する。
【図７】ビデオデータを符号化するためのプロセスの例を例示する。
【図８】ビデオデータを復号するためのプロセスの例を例示する。
【図９】実例的な符号化デバイスを例示するブロック図である。
【図１０】実例的な復号デバイスを例示するブロック図である。
【詳細な説明】
【００３１】
[0040]この開示のある特定の態様および例が以下に提供される。当業者に明らかであるように、これらの態様および例のうちのいくつかは、独立して適用され得、およびそれらのうちのいくつかは、組み合わせて適用され得る。以下の説明では、説明を目的として、特定の詳細が様々な可能なインプリメンテーションの完全な理解を提供するために記載される。しかしながら、様々な例がこれらの特定の詳細なしに実施され得ることは明らかであろう。図面および説明は、制限的であることを意図されていない。
【００３２】
[0041]次に続く説明は、実例的なインプリメンテーションのみを提供しており、および本開示の範囲、適用可能性、または構成を限定することを意図されていない。むしろ、実例的なインプリメンテーションの次に続く説明は、ある例をインプリメントすることを可能にする説明を当業者に提供するであろう。添付された特許請求の範囲に記載されているような本願の趣旨および範囲から逸脱することなしに、要素の機能および配置において様々な変更がなされ得ることは理解されるべきである。
【００３３】
[0042]特定の詳細は、例の完全な理解を提供するために、以下の説明において与えられる。しかしながら、それら例がこれらの特定の詳細なしに実施され得ることは、当業者によって理解されるであろう。例えば、回路、システム、ネットワーク、プロセス、および他のコンポーネントは、不必要な詳細で例を曖昧にしないために、ブロック図形式のコンポーネントとして示され得る。他の事例では、よく知られている回路、プロセス、アルゴリズム、構造、および技法が、例を曖昧にすることを避けるために、不必要な詳細なしに示され得る。
【００３４】
[0043]また、個々の例が、フローチャート、フロー図、データフロー図、構造図、またはブロック図として図示されるプロセスとして説明され得ることに留意されたい。フローチャートは、順次的なプロセスとして動作を説明し得るが、動作の多くは、並行してまたは同時に実行されることができる。加えて、動作の順序は再配置され得る。プロセスは、その動作が完了すると終了されるが、図面に含まれていない追加のステップを有する可能性がある。プロセスは、方法、関数、プロシージャ、サブルーチン、サブプログラム、等に対応し得る。プロセスが関数に対応するとき、その終了は、その関数のｃａｌｌｉｎｇ関数またはｍａｉｎ関数への戻りに対応する可能性がある。
【００３５】
[0044]「コンピュータ可読媒体」という用語は、ポータブルまたは非ポータブル記憶デバイスと、光記憶デバイスと、命令（１つ以上）および／またはデータを記憶、包含、あるいは搬送することが可能である様々な他の媒体とを含むが、それらに限定されない。コンピュータ可読媒体は、データが記憶されることができ、且つワイヤレスにあるいはワイヤード接続を通して伝搬する搬送波および／または一時的電子信号を含まない、非一時的媒体を含み得る。非一時的媒体の例は、磁気ディスクまたはテープ、コンパクトディスク（ＣＤ）またはデジタル多用途ディスク（ＤＶＤ）のような光記憶媒体、フラッシュメモリ、メモリまたはメモリデバイスを含み得るが、それらに限定されない。コンピュータ可読媒体は、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、あるいは命令、データ構造、またはプログラム文の任意の組み合わせを表し得るコードおよび／または機械実行可能命令を記憶していることがあり得る。コードセグメントは、情報、データ、引き数、パラメータ、またはメモリコンテンツを渡すおよび／または受け取ることによって別のコードセグメントまたはハードウェア回路に結合され得る。情報、引き数、パラメータ、データ、等は、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信、または同様のものを含む任意の適した手段を介して渡され得るか、転送され得るか、または送信され得る。
【００３６】
[0045]さらに、ここに論述される例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組み合わせによってインプリメントされ得る。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードにおいてインプリメントされると、必要なタスクを実行するためのプログラムコードまたはコードセグメント（例えば、コンピュータプログラム製品）は、コンピュータ可読または機械可読媒体中に記憶され得る。プロセッサ（１つ以上）は、必要なタスクを実行し得る。
【００３７】
[0046]より多くのデバイスおよびシステムがデジタルビデオデータを消費する能力を消費者に提供するにつれて、効率的なビデオコーディング技法の必要性がより重要になる。ビデオコーディングは、デジタルビデオデータ中に存在する大量のデータを処理するのに必要な記憶および送信要件を低減するために必要とされる。様々なビデオコーディング技法は、ビデオデータをより低いビットレートを使用する形態へと圧縮しつつ、高いビデオ品質を維持するために使用され得る。ここに使用される場合、「コーディング」は、「符号化」および「復号」を指す。
【００３８】
[0047]符号化されたビットストリーム中の補足エンハンスメント情報（ＳＥＩ）メッセージは、符号化されたビットストリームの復号および／または表示を支援するために、または別の目的のために使用されることができる。ＳＥＩメッセージは、ＳＥＩメッセージ中のデータが復号プロセス中にルーマまたはクロマサンプルを構築するために必要とされないという点において「補足」である。加えて、ＳＥＩメッセージをサポートするビデオコーディング規格に適合する復号器は、適合するためにＳＥＩメッセージを処理することを必要とされない。いくつかのコーディング規格の場合、何らかのＳＥＩメッセージ情報は、ビットストリーム適合性（bitstream conformance）をチェックするのに、またはタイミング復号器適合性（timing decoder conformance）を出力するために必要とされ得る。
【００３９】
[0048]ＳＥＩメッセージは、符号化されたビットストリームについての追加の情報を提供するために使用されることができ、それは、ビットストリームが復号されたらビットストリームの提示を変更するために、または復号器に情報を提供するために使用されることができる。例えば、ＳＥＩメッセージは、中でもとりわけ、フレームパッキング情報（frame packing information）（例えば、ビデオデータがビデオフレーム中に配置される方式を記述する）、コンテンツ記述（content descriptions）（例えば、符号化されたビットストリームが、例えば、３６０度ビデオであることを示す）、および色情報（例えば、色域および／または色範囲）を提供するために使用されてきた。
【００４０】
[0049]ビデオコーディング規格は、符号化されたビットストリームを復号するためにＳＥＩメッセージが必要とされないことを規定するが、いくつかのケースでは、ＳＥＩメッセージ中で搬送される情報は、復号処理に必須であり得る。例えば、ＳＥＩメッセージは、ビットストリーム中で符号化されたビデオデータのフォーマットを記述するために使用されることができ、それなしでは、復号器は、意図された通りにビデオを提示することができないことがあり得る。例えば、ＳＥＩメッセージは、符号化されたビットストリームが３６０度ビデオを含むことを復号器にシグナリングするために使用されることができる。この例では、復号器は、３６０度提示のためにビデオデータをレンダリングするために、この情報を使用することができる。代替として、復号器が３６０度ビデオをレンダリングすることができない場合、復号器は、ビデオデータをレンダリングすることを試み、そしてひどく歪められたビデオシーケンスを提示するというよりはむしろ、ビデオデータをレンダリングしないために、この情報を使用することができる。別の例として、コンテンツ生成器は、符号化されたビデオデータが特定の色域でレンダリングされることを指定していることがあり得る。この例では、ＳＥＩメッセージ中のデータなしでは、復号器は、異なる色域でビデオをレンダリングし、およびこのことから、意図された以外の方法でビデオデータを提示し得る。
【００４１】
[0050]様々なインプリメンテーションでは、提供されるのは、「必須」情報を「非必須」情報と区別するＳＥＩメッセージについての技法、ならびにこれらの技法をインプリメントするシステムである。様々なインプリメンテーションでは、符号化器は、ビデオデータに関連付けられた情報が必須であるか、または必須でないかを決定するように構成されることができる。例えば、符号化器は、必須情報を識別するパラメータで構成されることができる。パラメータは、特定のビデオの場合、フレームパッキング配置（a frame packing arrangement）またはカラーボリューム（color volume）のような情報あるいは他の情報が特定のビデオに必須であることを示すことができる。
【００４２】
[0051]様々なインプリメンテーションでは、異なるタイプのＳＥＩメッセージが定義されることができ、ここで、これらのタイプのＳＥＩメッセージのうちの１つまたは複数は、特定のビデオに関連付けられた情報がビデオデータを提示（例えば、符号化デバイスによって意図された通りの提示）するために、例えば、符号化デバイスによって決定されたように必須であるか、または必須でないかを示すことができる。ここに規定される場合、「必須」および「非必須」という用語は、特定の方法でビデオを提示（例えば、意図された提示またはレンダリング）するために必要とされると（例えば、符号化デバイスおよび／またはコンテンツプロバイダ／生成器によって）見なされている情報を、特定の方法でのビデオの提示に必要とされない情報と区別するために使用される。情報が必須であるか、または非必須であるかは、コンテンツ生成器によって定義（例えば、決定または設定）されることができる。例えば、いくつかのビデオデータの場合、フレームパッキング情報または色変換情報は、コンテンツ生成器によって必須であると見なされ得るが、その一方でレイヤ情報は、非必須であり得る。別の例として、いくつかのビデオデータの場合、フィルタリング情報は、必須であり得るが、その一方でタイミング情報は、非必須である。必須情報および非必須情報の両方が、ビットストリームからビデオを復号するために必要とされるわけではない。
【００４３】
[0052]一例では、マニフェストＳＥＩメッセージおよびプレフィックスＳＥＩメッセージが提供される。この例では、マニフェストＳＥＩメッセージは、ビットストリーム中に存在する、または存在しないＳＥＩメッセージのタイプタイプ（type types）のリスト、およびビットストリーム中のＳＥＩメッセージのうちのいずれかが必須情報を含むかどうか、を含む。またこの例では、プレフィックスＳＥＩメッセージは、プレフィックスインジケーションを含むことができ、それは、プレフィックスＳＥＩメッセージ中で搬送されるペイロードのタイプを示すことができる。ペイロードは、必須であり得るか、または必須でないことがあり得る情報を含むことができる。
【００４４】
[0053]別の例では、ＳＥＩメッセージは、必須情報について定義され、それは、必須補足情報（ＥＳＩ：Essential Supplemental Information）ＳＥＩメッセージと呼ばれ、およびＳＥＩメッセージは、非必須情報について定義され、それは、非必須補足情報（ＮＳＩ：Non-essential Supplemental Information）ＳＥＩメッセージと呼ばれる。ＥＳＩ ＳＥＩおよびＮＳＩ ＳＥＩを使用して、ビデオコーディング規格は、２つの異なる種類のＳＥＩメッセージをサポートすることができ、それらは、これらのＳＥＩメッセージタイプをサポートする復号器によって優先順位付けされることができる。
【００４５】
[0054]様々な実例的なビデオコーディング規格では、ＳＥＩメッセージは、符号化されたビットストリームのある特定の部分に配置されることができるが、任意の特定の一点に配置される必要はない。例えば、ＳＥＩメッセージは、符号化されたビットストリーム中に早期に配置されることを必要とされない。これらの例では、必須情報を含むＳＥＩメッセージは、復号器が符号化されたビットストリーム中のビデオデータをレンダリングし始める前に、復号器によって認識（seen）されないことがあり得る。
【００４６】
[0055]様々なインプリメンテーションでは、提供されるのは、ＳＥＩメッセージが復号器によって早期に認識されることができるように、カプセル化フォーマットを使用するための技法、およびこれらの技法をインプリメントするシステムである。カプセル化フォーマットは、例えば、中でもとりわけ、国際標準化機構（ＩＳＯ）ベースメディアファイルフォーマット（ＩＳＯＢＭＦＦ）、セッション記述プロトコル（ＳＤＰ）、ハイパーテキスト転送プロトコルを通した動的適応型ストリーミング（ＤＡＳＨ：Dynamic Adaptive Streaming over Hypertext Transfer Protocol）、およびモーションピクチャ専門家グループトランスポートストリーム（ＭＰＥＧ−ＴＳ：Motion Picture Experts Group Transport Stream）を含む。様々なインプリメンテーションでは、これらのカプセル化フォーマットによって定義されたフォーマットは、ＳＥＩメッセージを配置するために使用されることができ、ここで、復号器は、ビデオデータを復号読み取りする（decoding reading）プロセスにおいて早期にＳＥＩメッセージを見出すことができる。このことから、必須情報についてのＳＥＩメッセージをサポートする復号器は、ピクチャを復号し始める前にこれらのメッセージによって提供される情報を取得することができる。
【００４７】
[0056]必須または非必須情報を示すことができるＳＥＩメッセージのユーザは、復号器の動作を改善することができる。例えば、必須情報をフラグする（flag）ことができるＳＥＩメッセージなしでは、いくつかの復号器は、システムがビデオを表示することが可能であるかどうかをまず決定することなしに、ビットストリームを復号およびレンダリングすることを試み得る。この例では、結果は、ビデオが、表示されるときに、ひどく歪められるか、またはそうでない場合はコンテンツ生成器によって意図された方式で提示されないということになり得る。
【００４８】
[0057]いくつかの例では、復号器は、ビデオを復号し始めた後に、例えば、ビットストリーム中に含まれるＳＥＩメッセージ中の必須情報に遭遇し得る。これらの例では、いくつかの復号器は、出力を補正し、且つ意図された通りにビデオを表示し始めることが可能であり得る。いくつかの復号器は、しかしながら、ＳＥＩメッセージから、システムがビデオをサポートしないと決定し得、且つビデオを表示することができない。これらのケースでは、システムは、ビデオを復号およびレンダリングすることを停止するか、またはシステムが表示することが可能であるビデオのバージョンを見出すかを決めなければならないことがあり得る。システムが、システムが表示することが可能であるビデオのバージョンを見出すことができる場合、システムはさらに、最初からビデオを復号し始めるか、または視聴者が見ていた最後の時点の近くで開始するためにシーク動作（seek operations）を行うかを決めなければならないことがあり得る。いずれのケースでも、復号器は、やり直すために処理時間を消費する。加えて、適正に表示されることができないビデオを復号するのに費やされる処理時間は、浪費される。
【００４９】
[0058]必須情報を取得することの問題に対する１つのソリューションは、復号器が必須情報について符号化されたビットストリームを探索することである。このソリューションは、しかしながら、復号器が符号化されたビットストリームをバッファするために著しい量のメモリを必要とし得、およびシステムがビデオを再生し始めることができる前に著しい遅延を引き起こし得る。
【００５０】
[0059]上記の例の各々では、復号器が必須情報を素早く識別および見出すことを可能にする方式で必須情報を提供することによって、復号器は、必須情報について探索しなければならないことを避けることができ、システムが表示することができないビットストリームを復号することを避けることができ、および意図されていたもの以外の方式でシステムが復号されたビットストリームを表示することを避けることができる。復号器はさらに、より少ない処理時間の浪費で、できる限りより効率的に動作されることができる。
【００５１】
[0060]図１は、符号化デバイス１０４および復号デバイス１１２を含むビデオコーディングシステム１００の例を例示するブロック図である。いくつかの例では、ビデオコーディングシステム１００の符号化デバイス１００は、ＥＳＩ ＳＥＩメッセージおよび／またはＮＳＩ ＳＥＩメッセージを生成することができ、および復号デバイス１１２は、ＥＳＩ ＳＥＩメッセージおよび／またはＮＳＩ ＳＥＩメッセージを復号し、およびこれらのメッセージ中に含まれる情報を利用することができる。符号化デバイス１０４は、ソースデバイスの一部であり得、および復号デバイス１１２は、受信デバイスの一部であり得る。ソースデバイスおよび／または受信デバイスは、モバイルまたは固定の電話ハンドセット（例えば、スマートフォン、セルラ電話、または同様のもの）、デスクトップコンピュータ、ラップトップまたはノートブックコンピュータ、タブレットコンピュータ、セットトップボックス、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーミングコンソール、ビデオストリーミングデバイス、インターネットプロトコル（ＩＰ）カメラのような電子デバイス、または任意の他の適した電子デバイスを含み得る。いくつかの例では、ソースデバイスおよび受信デバイスは、ワイヤレス通信のための１つまたは複数のワイヤレストランシーバを含み得る。ここに説明されるコーディング技法は、（例えば、インターネットを通した）ストリーミングビデオ送信、テレビ放送または送信、データ記憶媒体上での記憶のためのデジタルビデオの符号化、データ記憶媒体上に記憶されたデジタルビデオの復号、または他のアプリケーションを含む、様々なマルチメディアアプリケーションにおけるビデオコーディングに適用可能である。いくつかの例では、システム１００は、ビデオ会議、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、ゲーミング、および／またはビデオ電話通信のようなアプリケーションをサポートするために、１方向（one-way）または２方向（two-way）ビデオ送信をサポートすることができる。
【００５２】
[0061]符号化デバイス１０４（または符号化器）は、符号化されたビデオビットストリームを生成すべく、ビデオコーディング規格またはプロトコルを使用してビデオデータを符号化するために使用されることができる。ビデオコーディング規格の例は、ＩＴＵ−Ｔ Ｈ．２６１、ＩＳＯ／ＩＥＣ ＭＰＥＧ−１ Ｖｉｓｕａｌ、ＩＴＵ−Ｔ Ｈ．２６２またはＩＳＯ／ＩＥＣ ＭＰＥＧ−２ Ｖｉｓｕａｌ、ＩＴＵ−Ｔ Ｈ．２６３、ＩＳＯ／ＩＥＣ ＭＰＥＧ−４ Ｖｉｓｕａｌ、そのスケーラブルビデオコーディング（ＳＶＣ）およびマルチビュービデオコーディング（ＭＶＣ）拡張を含む（ＩＳＯ／ＩＥＣ ＭＰＥＧ−４ ＡＶＣとしても知られている）ＩＴＵ−Ｔ Ｈ．２６４、および高効率ビデオコーディング（ＨＥＶＣ）またはＩＴＵ−Ｔ Ｈ．２６５を含む。範囲およびスクリーンコンテンツコーディング拡張、３Ｄビデオコーディング（３Ｄ−ＨＥＶＣ）およびマルチビュー拡張（ＭＶ−ＨＥＶＣ）およびスケーラブル拡張（ＳＨＶＣ）を含む、マルチレイヤビデオコーディングを扱うＨＥＶＣへの様々な拡張が存在する。ＨＥＶＣおよびその拡張は、ＩＴＵ−Ｔビデオコーディング専門家グループ（ＶＣＥＧ）およびＩＳＯ／ＩＥＣモーションピクチャ専門家グループ（ＭＰＥＧ）のビデオコーディングに関する共同コラボレーションチーム（ＪＣＴ−ＶＣ：the Joint Collaboration Team on Video Coding）ならびに３Ｄビデオコーディング拡張開発に関する共同コラボレーションチーム（ＪＣＴ−３Ｖ：Joint Collaboration Team on 3D Video Coding Extension Development）によって開発されてきた。ＭＰＥＧとＩＴＵ−Ｔ ＶＣＥＧとはまた、次世代のビデオコーディング規格のための新しいコーディングツールを調査するために、共同調査ビデオチーム（ＪＶＥＴ：a joint exploration video team）を結成した。参照ソフトウェアは、ＪＥＭ（共同調査モデル：joint exploration model）と呼ばれる。
【００５３】
[0062]ここに説明される多くの例は、ＪＥＭモデル、ＨＥＶＣ規格、および／またはそれらの拡張を使用した例を提供する。しかしながら、ここに説明される技法およびシステムはまた、ＡＶＣ、ＭＰＥＧ、それらの拡張のような他のコーディング規格、あるいは現在存在する他の適したコーディング規格または将来のコーディング規格に適用可能であり得る。それ故に、ここに説明される技法およびシステムは、特定のビデオコーディング規格を参照して説明され得るが、当業者は、その説明がその特定の規格にしか適用されないと解釈されるべきではないことを認識するであろう。
【００５４】
[0063]図１を参照すると、ビデオソース１０２は、符号化デバイス１０４にビデオデータを提供し得る。ビデオソース１０２は、ソースデバイスの一部であり得るか、またはソースデバイス以外のデバイスの一部であり得る。ビデオソース１０２は、ビデオキャプチャデバイス（例えば、ビデオカメラ、カメラ電話、ビデオ電話、または同様のもの）、記憶されたビデオを包含するビデオアーカイブ、ビデオデータを提供するビデオサーバまたはコンテンツプロバイダ、ビデオサーバまたはコンテンツプロバイダからビデオを受信するビデオフィードインターフェース、コンピュータグラフィックスビデオデータを生成するためのコンピュータグラフィックスシステム、そのようなソースの組み合わせ、または任意の他の適したビデオソースを含み得る。
【００５５】
[0064]ビデオソース１０２からのビデオデータは、１つまたは複数の入力ピクチャまたはフレームを含み得る。ビデオのピクチャまたはフレームは、あるシーンの静止画像である。符号化デバイス１０４の符号化器エンジン１０６（または符号化器）は、符号化されたビデオビットストリームを生成するためにビデオデータを符号化する。いくつかの例では、符号化されたビデオビットストリーム（あるいは、「ビデオビットストリーム」または「ビットストリーム」）は、一連の１つまたは複数のコーディングされたビデオシーケンスである。コーディングされたビデオシーケンス（ＣＶＳ）は、ベースレイヤ中のランダムアクセスポイントピクチャを有し、且つある特定の特性を有するアクセスユニット（ＡＵ）から開始し、ベースレイヤ中のランダムアクセスポイントピクチャを有し、且つある特定の特性を有する次のＡＵまでの、およびそれを含まない一連のＡＵを含む。例えば、ＣＶＳを開始するランダムアクセスポイントピクチャのある特定の特性は、１に等しいＲＡＳＬフラグ（例えば、ＮｏＲａｓｌＯｕｔｐｕｔＦｌａｇ）を含み得る。そうでない場合は、（０に等しいＲＡＳＬフラグを有する）ランダムアクセスポイントピクチャは、ＣＶＳを開始しない。アクセスユニット（ＡＵ）は、１つまたは複数のコーディングされたピクチャ、および同じ出力時間を共有するコーディングされたピクチャに対応する制御情報を含む。ピクチャのコーディングされたスライスは、ネットワーク抽象化レイヤ（ＮＡＬ）ユニットと呼ばれるデータユニットへとビットストリームレベルでカプセル化される。例えば、ＨＥＶＣビデオビットストリームは、ＮＡＬユニットを含む１つまたは複数のＣＶＳを含み得る。ＮＡＬユニットの各々は、ＮＡＬユニットヘッダを有する。一例では、ヘッダは、Ｈ．２６４／ＡＶＣの場合は１バイト（マルチレイヤ拡張を除く）、およびＨＥＶＣの場合は２バイトである。ＮＡＬユニットヘッダ中のシンタックス要素は、指定されたビットを取り、およびしたがって、中でもとりわけ、トランスポートストリーム、リアルタイムトランスポート（ＲＴＰ）プロトコル、ファイルフォーマットのような全ての種類のシステムおよびトランスポートレイヤに対して可視である。
【００５６】
[0065]ビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニットおよび非ＶＣＬ ＮＡＬユニットを含む、２つのクラスのＮＡＬユニットがＨＥＶＣ規格中に存在する。ＶＣＬ ＮＡＬユニットは、コーディングされたピクチャデータの１つのスライスまたはスライスセグメント（以下に説明される）を含み、および非ＶＣＬ ＮＡＬユニットは、１つまたは複数のコーディングされたピクチャに関連する制御情報を含む。いくつかのケースでは、ＮＡＬユニットは、パケットと呼ばれることができる。ＨＥＶＣ ＡＵは、コーディングされたピクチャデータを包含するＶＣＬ ＮＡＬユニットと、コーディングされたピクチャデータに対応する非ＶＣＬ ＮＡＬユニット（ある場合には）とを含む。
【００５７】
[0066]ＮＡＬユニットは、ビデオ中のピクチャのコーディングされた表現のような、ビデオデータのコーディングされた表現を形成するビットのシーケンス（例えば、符号化されたビデオビットストリーム、ビットストリームのＣＶＳ、または同様のもの）を包含し得る。符号化器エンジン１０６は、各ピクチャを複数のスライスへと区分化することによってピクチャのコーディングされた表現を生成する。スライスは、同じピクチャ内の他のスライスからのデータへの依存なしにスライス中の情報がコーディングされるように、他のスライスとは独立している。スライスは、独立スライスセグメントと、存在する場合は、以前のスライスセグメントに従属する１つまたは複数の従属スライスセグメントとを含む１つまたは複数のスライスセグメントを含む。スライスはその後、ルーマサンプルおよびクロマサンプルのコーディングツリーブロック（ＣＴＢ）へと区分化される。ルーマサンプルの１つのＣＴＢおよびクロマサンプルの１つまたは複数のＣＴＢは、サンプルのためのシンタックスとともに、コーディングツリーユニット（ＣＴＵ）と呼ばれる。ＣＴＵは、ＨＥＶＣ符号化のための基本処理ユニットである。ＣＴＵは、変動するサイズの複数のコーディングユニット（ＣＵ）へと分けられることができる。ＣＵは、コーディングブロック（ＣＢ）と呼ばれるルーマおよびクロマサンプルアレイを包含する。
【００５８】
[0067]ルーマおよびクロマＣＢはさらに、予測ブロック（ＰＢ）へとさらに分けられることができる。ＰＢは、（利用可能であるか、または使用のために有効にされるときに）インター予測またはイントラブロックコピー予測のために同じ動きパラメータを使用するルーマ成分またはクロマ成分のサンプルのブロックである。１つのルーマＰＢおよび１つまたは複数のクロマＰＢは、関連するシンタックスとともに、予測ユニット（ＰＵ）を形成する。インター予測の場合、動きパラメータのセット（例えば、１つまたは複数の動きベクトル、参照インデックス、または同様のもの）は、各ＰＵについてビットストリーム中でシグナリングされ、１つのルーマＰＢおよび１つまたは複数のクロマＰＢのインター予測のために使用される。動きパラメータはまた、動き情報と呼ばれることができる。ＣＢはまた、１つまたは複数の変換ブロック（ＴＢ）へと区分化されることができる。ＴＢは、同じ２次元変換が予測残差信号をコーディングするために適用される色成分のサンプルの正方形ブロックを表す。変換ユニット（ＴＵ）は、ルーマおよびクロマサンプルのＴＢ、および対応するシンタックス要素を表す。
【００５９】
[0068]ＣＵのサイズは、コーディングモードのサイズに対応し、および形状が正方形であり得る。例えば、ＣＵのサイズは、８×８サンプル、１６×１６サンプル、３２×３２サンプル、６４×６４サンプル、または最大で対応するＣＴＵのサイズまでの任意の他の適切なサイズであり得る。「Ｎ×Ｎ」というフレーズは、垂直および水平寸法の観点からビデオブロックのピクセル寸法（例えば、８ピクセル×８ピクセル）を指すためにここでは使用される。ブロック中のピクセルは、行および列に配置され得る。いくつかの例では、ブロックは、水平方向に、垂直方向と同じ数のピクセルを有さないことがあり得る。ＣＵに関連付けられたシンタックスデータは、例えば、ＣＵの１つまたは複数のＰＵへの区分化を記述し得る。区分化モードは、ＣＵがイントラ予測モード符号化されるか、またはインター予測モード符号化されるかの間で異なり得る。ＰＵは、形状が非正方形になるように区分化され得る。ＣＵに関連付けられたシンタックスデータはまた、例えば、ＣＴＵにしたがった、ＣＵの１つまたは複数のＴＵへの区分化を記述し得る。ＴＵは、形状が正方形または非正方形であることができる。
【００６０】
[0069]ＨＥＶＣ規格によると、変換は、変換ユニット（ＴＵ）を使用して実行され得る。ＴＵは、ＣＵによって異なり得る。ＴＵは、所与のＣＵ内のＰＵのサイズに基づいてサイジングされ得る。ＴＵは、ＰＵと同じサイズであり得るか、またはより小さくあり得る。いくつかの例では、ＣＵに対応する残差サンプルは、残差四分木（ＲＱＴ）として知られる四分木構造を使用してより小さいユニットへと再分割され得る。ＲＱＴのリーフノードは、ＴＵに対応し得る。ＴＵに関連付けられたピクセル差分値は、変換係数を作り出すために変換され得る。変換係数はその後、符号化器エンジン１０６によって量子化され得る。
【００６１】
[0070]ビデオデータのピクチャがＣＵへと区分化されると、符号化器エンジン１０６は、予測モードを使用して各ＰＵを予測する。予測ユニットまたは予測ブロックはその後、残差を得るために元のビデオデータから減算される（以下に説明される）。各ＣＵについて、予測モードは、シンタックスデータを使用してビットストリーム内部でシグナリングされ得る。予測モードは、イントラ予測（またはイントラピクチャ予測）あるいはインター予測（またはインターピクチャ予測）を含み得る。イントラ予測は、ピクチャ内の空間的に近隣するサンプル間の相関を利用する。例えば、イントラ予測を使用して、各ＰＵは、例えば、ＰＵについての平均値を見出すためのＤＣ予測、平面表面（a planar surface）をＰＵに合わせるための平面予測、近隣データから補外するための方向予測、または任意の他の適したタイプの予測を使用して、同じピクチャ中の近隣画像データから予測される。インター予測は、画像サンプルのブロックについての動き補償予測を導出するために、ピクチャ間の時間的相関を使用する。例えば、インター予測を使用して、各ＰＵは、（出力順序で現在のピクチャの前または後の）１つまたは複数の参照ピクチャ中の画像データからの動き補償予測を使用して予測される。ピクチャエリアを、インターピクチャ予測を使用してコーディングするか、またはイントラピクチャ予測を使用してコーディングするかの決定は、例えば、ＣＵレベルでなされ得る。
【００６２】
[0071]いくつかの例では、ピクチャの１つまたは複数のスライスは、スライスタイプを割り当てられる。スライスタイプは、Ｉスライス、Ｐスライス、およびＢスライスを含む。Ｉスライス（イントラフレーム、独立して復号可能）は、イントラ予測によってのみコーディングされるピクチャのスライスであり、およびしたがって、Ｉスライスがスライスの任意の予測ユニットまたは予測ブロックを予測するためにフレーム内のデータしか必要としないことから、独立して復号可能である。Ｐスライス（単方向（uni-directional）予測フレーム）は、イントラ予測で、および単方向インター予測でコーディングされ得るピクチャのスライスである。Ｐスライス内の各予測ユニットまたは予測ブロックは、イントラ予測でコーディングされるか、またはインター予測でコーディングされるかのいずれかである。インター予測が適用されると、予測ユニットまたは予測ブロックは、１つの参照ピクチャによってのみ予測され、およびしたがって、参照サンプルは、１つのフレームの１つの参照領域からのもののみである。Ｂスライス（双方向（bi-directional）予測フレーム）は、イントラ予測で、およびインター予測で（例えば、双予測（bi-prediction）または単予測（uni-prediction）のいずれかで）コーディングされ得るピクチャのスライスである。Ｂスライスの予測ユニットまたは予測ブロックは、２つの参照ピクチャから双方向に予測され得、ここで、各ピクチャは、１つの参照領域を与え（contributes）、および２つの参照領域のサンプルセットは、双方向予測ブロックの予測信号を作り出すために（例えば、等しい重みで、または異なる重みで）重み付けされる。上述されたように、１つのピクチャのスライスは、独立してコーディングされる。いくつかのケースでは、ピクチャは、単に１つのスライスとしてコーディングされることができる。
【００６３】
[0072]ＰＵは、予測プロセスに関連するデータ（例えば、動きパラメータまたは他の適したデータ）を含み得る。例えば、ＰＵがイントラ予測を使用して符号化されるとき、ＰＵは、ＰＵについてのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインター予測を使用して符号化されるとき、ＰＵは、ＰＵについての動きベクトルを定義するデータを含み得る。ＰＵについての動きベクトルを定義するデータは、例えば、動きベクトルの水平成分（Δｘ）、動きベクトルの垂直成分（Δｙ）、動きベクトルについての解像度（例えば、整数精度、４分の１ピクセル精度、または８分の１ピクセル精度）、動きベクトルが指し示す参照ピクチャ、参照インデックス、動きベクトルについての参照ピクチャリスト（例えば、リスト０、リスト１、またはリストＣ）、あるいはそれらの任意の組み合わせを記述し得る。
【００６４】
[0073]符号化デバイス１０４はその後、変換および量子化を実行し得る。例えば、予測に続いて、符号化器エンジン１０６は、ＰＵに対応する残差値を算出し得る。残差値は、コーディングされているピクセルの現在のブロック（ＰＵ）と、現在のブロックを予測するために使用される予測ブロック（例えば、予測されたバージョンの現在ブロック）との間のピクセル差分値を備え得る。例えば、予測ブロックを生成した（例えば、インター予測またはイントラ予測を出した）後に、符号化器エンジン１０６は、現在のブロックから予測ユニットによって作り出される予測ブロックを減算することによって残差ブロックを生成することができる。残差ブロックは、現在のブロックのピクセル値と予測ブロックのピクセル値との間の差分を定量化するピクセル差分値のセットを含む。いくつかの例では、残差ブロックは、２次元ブロックフォーマット（例えば、ピクセル値の２次元行列または配列）で表され得る。そのような例では、残差ブロックは、ピクセル値の２次元表現である。
【００６５】
[0074]予測が実行された後に残り得る任意の残差データは、ブロック変換を使用して変換され、それは、離散コサイン変換、離散サイン変換、整数変換、ウェーブレット変換、他の適した変換関数、またはそれらの任意の組み合わせに基づき得る。いくつかのケースでは、１つまたは複数のブロック変換（例えば、サイズ３２×３２、１６×１６、８×８、４×４、または同様のもの）が、各ＣＵ中の残差データに適用され得る。いくつかの例では、ＴＵが、符号化器エンジン１０６によってインプリメントされる変換および量子化プロセスのために使用され得る。１つまたは複数のＰＵを有する所与のＣＵはまた、１つまたは複数のＴＵを含み得る。以下にさらに詳細に説明されるように、残差値は、ブロック変換を使用して変換係数へと変換され得、およびその後、エントロピーコーディングのための直列化された（serialized）変換係数を作り出すために、ＴＵを使用して量子化および走査され得る。
【００６６】
[0075]いくつかの例では、ＣＵのＰＵを使用するイントラ予測またはインター予測コーディングに続いて、符号化器エンジン１０６は、ＣＵのＴＵについての残差データを算出し得る。ＰＵは、空間的ドメイン（またはピクセルドメイン）中のピクセルデータを備え得る。ＴＵは、ブロック変換の適用後の変換ドメイン中の係数を備え得る。前述されたように、残差データは、符号化されていないピクチャのピクセルと、ＰＵに対応する予測値との間のピクセル差分値に対応し得る。符号化器エンジン１０６は、ＣＵについての残差データを含むＴＵを形成し得、およびその後、ＣＵについての変換係数を作り出すためにＴＵを変換し得る。
【００６７】
[0076]符号化器エンジン１０６は、変換係数の量子化を実行し得る。量子化は、係数を表すために使用されるデータの量を低減するために、変換係数を量子化することによって、さらなる圧縮を提供する。例えば、量子化は、係数のうちのいくつかまたは全てに関連付けられたビット深度を低減し得る。一例では、ｎビット値を有する係数は、量子化中にｍビット値に切り捨てられ得、ここで、ｎは、ｍより大きい。
【００６８】
[0077]量子化が実行されると、コーディングされたビデオビットストリームは、量子化された変換係数、予測情報（例えば、予測モード、動きベクトル、ブロックベクトル、または同様のもの）、区分化情報、および他のシンタックスデータのような任意の他の適したデータを含む。コーディングされたビデオビットストリームの異なる要素はその後、符号化器エンジン１０６によってエントロピー符号化され得る。いくつかの例では、符号化器エンジン１０６は、エントロピー符号化されることができる直列化されたベクトルを作り出すために、量子化された変換係数を走査するための予め定義された走査順序を利用し得る。いくつかの例では、符号化器エンジン１０６は、適応走査を実行し得る。ベクトル（例えば、１次元ベクトル）を形成するために、量子化された変換係数を走査した後に、符号化器エンジン１０６は、ベクトルをエントロピー符号化し得る。例えば、符号化器エンジン１０６は、コンテキスト適応可変長コーディング（context adaptive variable length coding）、コンテキスト適応バイナリ算術コーディング（context adaptive binary arithmetic coding）、シンタックスベースのコンテキスト適応バイナリ算術コーディング（syntax-based context-adaptive binary arithmetic coding）、確率間隔区分化エントロピーコーディング（probability interval partitioning entropy coding）、または別の適したエントロピー符号化技法を使用し得る。
【００６９】
[0078]前述されたように、ＨＥＶＣビットストリームは、ＶＣＬ ＮＡＬユニットおよび非ＶＣＬ ＮＡＬユニットを含む、ＮＡＬユニットのグループを含む。ＶＣＬ ＮＡＬユニットは、コーディングされたビデオビットストリームを形成するコーディングされたピクチャデータを含む。例えば、コーディングされたビデオビットストリームを形成するビットのシーケンスは、ＶＣＬ ＮＡＬユニット中で再び送られる。非ＶＣＬ ＮＡＬユニットは、他の情報に加えて、符号化されたビデオビットストリームに関連する高レベル情報を有するパラメータセットを包含し得る。例えば、パラメータセットは、ビデオパラメータセット（ＶＰＳ）、シーケンスパラメータセット（ＳＰＳ）、およびピクチャパラメータセット（ＰＰＳ）を含み得る。パラメータセットの目的の例は、ビットレート効率、誤り耐性、およびシステムレイヤインターフェースを提供することを含む。各スライスは、復号デバイス１１２がスライスを復号するために使用し得る情報にアクセスすべく、単一のアクティブＰＰＳ、ＳＰＳ、およびＶＰＳを参照する。識別子（ＩＤ）は、ＶＰＳ ＩＤ、ＳＰＳ ＩＤ、およびＰＰＳ ＩＤを含む各パラメータセットについてコーディングされ得る。ＳＰＳは、ＳＰＳ ＩＤおよびＶＰＳ ＩＤを含む。ＰＰＳは、ＰＰＳ ＩＤおよびＳＰＳ ＩＤを含む。各スライスヘッダは、ＰＰＳ ＩＤを含む。ＩＤを使用して、アクティブパラメータセットは、所与のスライスについて識別されることができる。
【００７０】
[0079]ＰＰＳは、所与のピクチャ中の全てのスライスに適用される情報を含む。このことから、ピクチャ中の全てのスライスは、同じＰＰＳを参照する。異なるピクチャ中のスライスもまた、同じＰＰＳを参照し得る。ＳＰＳは、同じコーディングされたビデオシーケンス（ＣＶＳ）またはビットストリーム中の全てのピクチャに適用される情報を含む。前述されたように、コーディングされたビデオシーケンスは、ベースレイヤ中のランダムアクセスポイントピクチャ（例えば、瞬時復号参照（ＩＤＲ：instantaneous decode reference）ピクチャまたはブロークンリンクアクセス（ＢＬＡ）ピクチャ、あるいは他の適切なランダムアクセスポイントピクチャ）から開始し、且つ（上述された）ある特定の特性を有し、そしてベースレイヤ中のランダムアクセスポイントピクチャを有し、且つある特定の特性を有する次のアクセスユニット（ＡＵ）（またはビットストリームの終了）までの、およびそれを含まない一連のＡＵである。ＳＰＳ中の情報は、コーディングされたビデオシーケンス内のピクチャごとに変化しないことがあり得る。コーディングされたビデオシーケンス中のピクチャは、同じＳＰＳを使用し得る。ＶＰＳは、コーディングされたビデオシーケンスまたはビットストリーム内の全てのレイヤに適用される情報を含む。ＶＰＳは、コーディングされたビデオシーケンス全体に適用されるシンタックス要素を有するシンタックス構造を含む。いくつかの例では、ＶＰＳ、ＳＰＳ、またはＰＰＳは、符号化されたビットストリームとともに帯域内で送信され得る。いくつかの例では、ＶＰＳ、ＳＰＳ、またはＰＰＳは、コーディングされたビデオデータを包含するＮＡＬユニットとは別個の送信中で帯域外で送信され得る。
【００７１】
[0080]ビデオビットストリームはまた、補足エンハンスメント情報（ＳＥＩ）メッセージを含むことができる。例えば、ＳＥＩ ＮＡＬユニットは、ビデオビットストリームの一部であることができる。いくつかのケースでは、ＳＥＩメッセージは、復号プロセスによって必要とされない情報を包含することができる。例えば、ＳＥＩメッセージ中の情報は、復号器がビットストリームのビデオピクチャを復号するのに必須ではないことがあり得るが、復号器は、ピクチャの表示または処理（例えば、復号された出力）を改善するためにその情報を使用することができる。ＳＥＩメッセージ中の情報は、埋め込まれたメタデータであることができる。１つの例示的な例では、ＳＥＩメッセージ中の情報は、コンテンツの見易さを改善するために、復号器側エンティティによって使用されることができる。いくつかの事例では、ある特定のアプリケーション規格は、品質の改善がアプリケーション規格に適合する全てのデバイスにもたらされることができるように、ビットストリーム中におけるそのようなＳＥＩメッセージの存在を義務付け得る（例えば、多くの他の例に加えて、フレーム互換平面立体３ＤＴＶビデオフォーマット（frame-compatible plano-stereoscopic 3DTV video format）のためのフレームパッキングＳＥＩメッセージ（the frame-packing SEI message）の搬送、ここで、ＳＥＩメッセージは、ビデオのフレームごとに搬送される、回復ポイントＳＥＩメッセージ（a recovery point SEI message）の処理、ＤＶＢにおけるパンスキャン走査矩形ＳＥＩメッセージ（pan-scan scan rectangle SEI message）の使用）。
【００７２】
[0081]符号化デバイス１０４の出力１１０は、受信デバイスの復号デバイス１１２に通信リンク１２０を通して、符号化されたビデオデータを構成するＮＡＬユニットを送り得る。復号デバイス１１２の入力１１４は、ＮＡＬユニットを受信し得る。通信リンク１２０は、ワイヤレスネットワーク、ワイヤードネットワーク、またはワイヤードネットワークとワイヤレスネットワークとの組み合わせによって提供されるチャネルを含み得る。ワイヤレスネットワークは、任意のワイヤレスインターフェースまたはワイヤレスインターフェースの組み合わせを含み得、および任意の適したワイヤレスネットワーク（例えば、インターネットまたは他のワイドエリアネットワーク、パケットベースのネットワーク、ＷｉＦｉ（登録商標）、無線周波数（ＲＦ）、ＵＷＢ、ＷｉＦｉ−Ｄｉｒｅｃｔ、セルラ、ロングタームエボリューション（ＬＴＥ（登録商標））、ＷｉＭａｘ（登録商標）、または同様のもの）を含み得る。ワイヤードネットワークは、任意のワイヤードインターフェース（例えば、ファイバ、イーサネット（登録商標）、電力線イーサネット、同軸ケーブルを通したイーサネット、デジタル信号線（ＤＳＬ）、または同様のもの）を含み得る。ワイヤードおよび／またはワイヤレスネットワークは、基地局、ルータ、アクセスポイント、ブリッジ、ゲートウェイ、スイッチ、または同様のもののような様々な機器を使用してインプリメントされ得る。符号化されたビデオデータは、ワイヤレス通信プロトコルのような通信規格にしたがって変調され、および受信デバイスに送信され得る。
【００７３】
[0082]いくつかの例では、符号化デバイス１０４は、記憶装置１０８中に符号化されたビデオデータを記憶し得る。出力１１０は、符号化器エンジン１０６から、または記憶装置１０８から、符号化されたビデオデータを取り出し得る。記憶装置１０８は、多様な分散されたまたは局所的にアクセスされるデータ記憶媒体のうちの任意のものを含み得る。例えば、記憶装置１０８は、ハードドライブ、記憶ディスク、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化されたビデオデータを記憶するための任意の他の適したデジタル記憶媒体を含み得る。
【００７４】
[0083]復号デバイス１１２の入力１１４は、符号化されたビデオビットストリームデータを受信し、および復号器エンジン１１６に、または復号器エンジン１１６による後の使用のために記憶装置１１８にビデオビットストリームデータを提供し得る。復号器エンジン１１６は、（例えば、エントロピー復号器を使用した）エントロピー復号、および符号化されたビデオデータを構成する１つまたは複数のコーディングされたビデオシーケンスの要素を抽出することによって、符号化されたビデオビットストリームデータを復号し得る。復号器エンジン１１６はその後、符号化されたビデオビットストリームデータを再スケーリングし、およびそれに対して逆変換を実行し得る。残差データはその後、復号器エンジン１１６の予測段に渡される。復号器エンジン１１６はその後、ピクセルのブロック（例えば、ＰＵ）を予測する。いくつかの例では、予測は、逆変換の出力（残差データ）に追加される。
【００７５】
[0084]復号デバイス１１２は、ビデオ宛先デバイスに復号されたビデオを出力し得、それは、コンテンツの消費者に復号されたビデオデータを表示するためのディスプレイまたは他の出力デバイスを含み得る。いくつかの態様では、ビデオ宛先デバイス１２２は、復号デバイス１１２を含む受信デバイスの一部であり得る。いくつかの態様では、ビデオ宛先デバイス１２２は、受信デバイス以外の別個のデバイスの一部であり得る。
【００７６】
[0085]いくつかの例では、ビデオ符号化デバイス１０４および／またはビデオ復号デバイス１１２は、それぞれ、オーディオ符号化デバイスおよびオーディオ復号デバイスと統合され得る。ビデオ符号化デバイス１０４および／またはビデオ復号デバイス１１２はまた、１つまたは複数のマイクロプロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組み合わせのような、上述されたコーディング技法をインプリメントするのに必要な他のハードウェアまたはソフトウェアを含み得る。ビデオ符号化デバイス１０４およびビデオ復号デバイス１１２は、それぞれのデバイス中で、組み合わされた符号化器／復号器（コーデック）の一部として統合され得る。符号化デバイス１０４の特定の詳細の例は、図９を参照して以下に説明される。復号デバイス１１２の特定の詳細の例は、図１０を参照して以下に説明される。
【００７７】
[0086]ＨＥＶＣ規格への拡張は、ＭＶ−ＨＥＶＣと呼ばれるマルチビュービデオコーディング拡張と、ＳＨＶＣと呼ばれるスケーラブルビデオコーディング拡張とを含む。ＭＶ−ＨＥＶＣおよびＳＨＶＣ拡張は、レイヤードコーディングの概念を共有しており、ここで、異なるレイヤが、符号化されたビデオビットストリーム中に含まれる。コーディングされたビデオシーケンス中の各レイヤは、一意のレイヤ識別子（ＩＤ）によってアドレス指定される。レイヤＩＤは、ＮＡＬユニットが関連付けられるレイヤを識別するために、ＮＡＬユニットのヘッダ中に存在し得る。ＭＶ−ＨＥＶＣでは、異なるレイヤは通常、ビデオビットストリーム中の同じシーンの異なるビューを表す。ＳＨＶＣでは、ビデオビットストリームを異なる空間的解像度（またはピクチャ解像度）で、あるいは異なる再構築忠実度（reconstruction fidelities）で表す、異なるスケーラブルレイヤが提供される。スケーラブルレイヤは、（レイヤＩＤ＝０の）ベースレイヤと、（レイヤＩＤ＝１、２、．．．ｎの）１つまたは複数のエンハンスメントレイヤとを含み得る。ベースレイヤは、第１のバーションのＨＥＶＣのプロファイルに適合し得、およびビットストリーム中の最下位の利用可能レイヤを表す。エンハンスメントレイヤは、ベースレイヤと比較して、増大された空間的解像度、時間的解像度またはフレームレート、および／または再構築忠実度（または品質）を有する。エンハンスメントレイヤは、階層的に編成され、およびより下位のレイヤに従属することも（またはしないことも）あり得る。いくつかの例では、異なるレイヤは、単一の標準コーデックを使用してコーディングされ得る（例えば、全てのレイヤは、ＨＥＶＣ、ＳＨＶＣ、または他のコーディング規格を使用して符号化される）。いくつかの例では、異なるレイヤは、多標準コーデックを使用してコーディングされ得る。例えば、ベースレイヤは、ＡＶＣを使用してコーディングされ得、その一方で、１つまたは複数のエンハンスメントレイヤは、ＨＥＶＣ規格へのＳＨＶＣおよび／またはＭＶ−ＨＥＶＣ拡張を使用してコーディングされ得る。
【００７８】
[0087]上述されたように、ＳＥＩメッセージは、符号化されたビデオビットストリームからルーマおよびクロマ値を生成するのに必要とされない情報を提供することができる。ＳＥＩメッセージは、しかしながら、コンテンツ生成器によって意図された通りにビットストリームをレンダリングするのに必須であると見なされ得る情報を、それにもかかわらず搬送し得る。
【００７９】
[0088]図２は、ビットストリームの一部であることができるアクセスユニット２００（ＡＵ）の例を例示している。ビットストリームが一連のアクセスユニットを含むことができることから、各々は、コーディングされたピクチャと、ことによるとビットストリームについての何らかの情報とを提供する。各アクセスユニットを復号することは、１つの復号されたピクチャをもたらす。ここに例示されている実例的なアクセスユニット２００のようなアクセスユニットは、Ｈ．２６４／ＡＶＣおよびＨ．２６５／ＨＥＶＣ規格中に含まれている。
【００８０】
[0089]図２の例に例示されているように、アクセスユニット２００は、ＮＡＬユニットのセットを含むことができ、それはともに、プライマリのコーディングされたピクチャ（a primary coded picture）を構成する。アクセスユニット２００は、オプションのＮＡＬユニットを含むことができ、それらは、点線でここに例示されている。アクセスユニット２００はオプションとして、アクセスユニットデリミタ２０２から開始することができる。アクセスユニットデリミタは、アクセスユニットの開始をロケートすることを助けることができる。アクセスユニット２００はまたオプションとして、プライマリのコーディングされたピクチャ２０６に先行する補足エンハンスメント情報２０４（例えば、ＳＥＩメッセージ）を含むことができる。ＳＥＩは、ピクチャタイミング情報のようなデータを包含することができる。プライマリのコーディングされたピクチャ２０６は、ビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニットを含むことができる。ＶＣＬ ＮＡＬユニットは、ビデオピクチャのサンプルを表すスライスまたはスライスデータ区分を含む。プライマリのコーディングされたピクチャ２０６に続くのは、冗長なコーディングされたピクチャ（a redundant coded picture）２０８を包含するいくつかの追加のＶＣＬ ＮＡＬユニットであり得る。冗長なコーディングされたピクチャ２０８は、同じビデオピクチャのエリアの冗長な表現を含むことができ、およびプライマリのコーディングされたピクチャ２０６中のデータの損失または破損から回復する際に復号器によって使用するために利用可能である。復号器は、冗長なコーディングされたピクチャが存在する場合には、冗長なコーディングされたピクチャを復号することを必要とされない。
【００８１】
[0090]プライマリのコーディングされたピクチャ２０６がコーディングされたビデオシーケンスの最後のピクチャであるとき、アクセスユニット２００は、シーケンスの終了を示すために、シーケンスの終了２１０ＮＡＬユニットを含むことができる。プライマリのコーディングされたピクチャ２０６がビットストリーム中の最後のコーディングされたピクチャでもあるとき、アクセスユニット２００はまた、（ビットストリームの終了ＮＡＬユニットとも呼ばれる）ストリームの終了２１２ＮＡＬユニットを含むことができる。
【００８２】
[0091]ＳＥＩ ＮＡＬユニットは、復号器に様々な情報を提供するために使用されることができる。以下の表１−１〜表１−４は、国際電気通信連合（ＩＴＵ−Ｔ）Ｈ．２６５の「Series H: Audiovisual and Multimedia Systems Infrastructure of audiovisual services - Coding of moving video」（以下においてＩＴＵ−Ｔ Ｈ．２６５勧告と記載される）によって提供されるような、ＳＥＩメッセージの一般的なシンタックス（the general syntax）の例を提供する。表１−１〜表１−４では、異なるペイロードタイプが、ＳＥＩメッセージ中に含まれることができる異なる情報について定義されている。以下に提供されるシンタックスは、ＨＥＶＣ規格中に定義および／または含まれているＳＥＩメッセージタイプのサブセットのみを含む。
【表１−１】
2020511861.tif 000003
【表１−２】
2020511861.tif 000004
【表１−３】
2020511861.tif 000005
【表１−４】
2020511861.tif 000006
【００８３】
[0092]様々なビデオコーディング仕様では、情報の一片がピクチャサンプルの復号に影響を及ぼさない限り、その情報は、ＳＥＩメッセージ中に含まれることができる。ＳＥＩメッセージ中で搬送される何らかの情報は、最適化の目的のためのものであり得、およびビデオのレンダリングが許容できない方式で提示されることなしに復号器によって無視され得る。フレームパッキング情報、全方位投影インジケーション情報（omnidirectional projection indication information）、および字幕またはキャプション情報のような、ＳＥＩメッセージ中で搬送される何らかの他の情報は、しかしながら、許容可能なビデオシステム性能を確実にするのに、または視聴体験に必須であり得る。例えば、デパッキング（de-packing）またはデワーピング（de-warping）のようなある特定の復号後動作は、フレームパッキングされたまたは３６０度全方位投影されたビデオが表示されることができる前に適用されなければならない。同様に、字幕またはキャプションは、ビデオに付随するオーディオが視聴者が理解できる言語でないときに必要であり得る。
【００８４】
[0093]いくつかのコーディングシステムおよびアプリケーションの場合、フレームパッキング情報、全方位投影インジケーション情報、および字幕またはキャプション情報のような情報は、ビデオアプリケーションシステムが効率的および／または正確に機能する（例えば、ビデオが見られるように意図された通りにビデオを提示する）のに必須である。これらのシステムおよびアプリケーションの場合、そのような情報はこのことから、（例えば、システム運用におけるコーデック、プロファイル、およびレベルのような）ビデオ復号相互運用性にとって重要である情報と同様に扱われるべきである。例えば、この必須情報は、例えば、ＩＳＯベースメディアファイルフォーマット（ＩＳＯＢＭＦＦ）にしたがってメディアファイルへと、またはＨＴＴＰを通した動的適応型ストリーミング（ＤＡＳＨ）にしたがってメディアプレゼンテーション（a media presentation）へと、コーディングされたビデオビットストリームをカプセル化するときに考慮されるべきである。
【００８５】
[0094]ＩＳＯＢＭＦＦファイルまたはＤＡＳＨメディアプレゼンテーションへと、コーディングされたビデオビットストリームをカプセル化するときに、上述されたような必須情報は、例えば、ファイルフォーマットサンプルエントリ、ＤＡＳＨメディアプレゼンテーション記述（ＭＰＤ）、および／またはＭＩＭＥタイプパラメータ中などで高レベルで露出される（exposed）ことができる。カプセル化形成（the encapsulation formation）において高レベルで必須情報を配置することによって、復号器は、ビットストリーム中のＳＥＩメッセージ中に何の情報が含まれ得るのかを決定するためにビットストリーム全体を走査しなければならないことを避けることができる。加えて、復号器は、必須性条件（essentiality conditions）に基づいてＳＥＩメッセージをカテゴリ化しなければならないことを避けることができる。代わりに、そのような情報を、ビットストリーム（例えば、ここで、プロファイルおよびレベル情報がシグナリングされる）中で、または、既存の規格の場合には、１つのＳＥＩメッセージ中で集合的に、早期に容易にアクセス可能にさせることは、復号器のインプリメンテーションを簡略化することができる。必須情報への早期のアクセスを有することは、復号器が、復号されたビデオをどのように最適に処理するかに関する先制的な（preemptive）決定を下すことを可能にすることができる。加えて、ビデオコーディング規格は、必須情報を包含するＳＥＩメッセージが定義されるたびに修正される必要はない。
【００８６】
[0095]様々なインプリメンテーションでは、ＳＥＩメッセージは、必須情報について定義され、それは、必須補足情報（ＥＳＩ）ＳＥＩメッセージと呼ばれ、およびＳＥＩメッセージは、非必須情報について定義され、それは、非必須補足情報（ＮＳＩ）ＳＥＩメッセージと呼ばれる。上述されたように、「必須」および「非必須」という用語は、２つの異なるタイプのＳＥＩメッセージを分類するために使用されている。ＥＳＩ ＳＥＩおよびＮＳＩ ＳＥＩメッセージ中で伝達されている情報は、例えば、ビデオプレゼンテーション（a video presentation）を符号化している符号化器の構成中のコンテンツ生成器によって決定される。ＥＳＩ ＳＥＩおよびＮＳＩ ＳＥＩは、いかなる特定の情報も伝達する必要がなく、および他のデータを処理する前に復号器が処理すべき情報を識別する際に復号器によって使用されることができる。
【００８７】
[0096]様々なインプリメンテーションでは、符号化器は、必須である情報を決定することができる。例えば、符号化器は、ある特定の情報を必須であると識別するように構成されることができる。これらの例では、符号化器は、必須情報についてのＥＳＩ ＳＥＩを利用することができる。符号化器はさらにオプションとして、非必須情報についてのＮＳＩ ＥＳＩを使用することができる。
【００８８】
[0097]様々なインプリメンテーションでは、復号器は、ＥＳＩ ＳＥＩおよびＮＳＩ ＳＥＩメッセージを識別することと、これらのメッセージ中に含まれる情報を利用することとを行うように構成されることができる。復号器がこれらのメッセージのいずれも見出さないとき、復号器は、適用可能な規格にしたがってビットストリームを復号することを進めることができる。ＥＳＩ ＳＥＩまたはＮＳＩ ＳＥＩメッセージを処理するように構成されていない復号器は、これらのメッセージを識別不能なＳＥＩメッセージとして扱うことができる。いくつかの例では、復号器がおよび識別不能な（and unidentifiable）ＳＥＩメッセージと遭遇すると、復号器は、ビットストリームを処理することを停止するように構成されることができる。代替として、いくつかの例では、復号器は、ビットストリームを復号することを進め得る。
【００８９】
[0098]後続する例では、ＥＳＩ ＳＥＩおよびＮＳＩ ＳＥＩメッセージは、ＨＥＶＣのコンテキストで説明され、およびこれらの例はまた、ＡＶＣのような、ＳＥＩメッセージをサポートする他のビデオコーディング規格に適用されることができることを理解される。
【００９０】
[0099]ＥＳＩ ＳＥＩメッセージ
【００９１】
[0100]以下は、ＥＳＩ ＳＥＩメッセージについての実例的なシンタックスおよびセマンティクスを提供する。類似のシンタックスおよびセマンティクスが、様々なビデオコーディング規格で使用されることができる。
【００９２】
[0101]ＥＳＩ ＳＥＩメッセージシンタックス
【００９３】
[0102]ＥＳＩ ＳＥＩメッセージシンタックスの例は、以下の通りである：
【表２】
2020511861.tif 000007
【００９４】
[0103]代替として、３つのｕ（１６）のコーディングされたシンタックス要素のコーディングは、ｕｅ（ｖ）のコーディングと置き換えられる（すなわち、上記の「ｕ（１６）」の全てのインスタンスを「ｕｅ（ｖ）」と置き換える）。
【００９５】
[0104]ＥＳＩ ＳＥＩメッセージセマンティクス
【００９６】
[0105]必須補足情報（ＥＳＩ）ＳＥＩメッセージは、ビットストリーム中に存在する全ての必須ＳＥＩメッセージに関する情報を伝達する。必須ＳＥＩメッセージは、搬送される情報が、復号器側が望ましいユーザエクスペリエンスを可能にするために適正に処理するのに必須であると符号化器（すなわち、コンテンツ作成器（the content producer））によって見なされるようなＳＥＩメッセージである。どのタイプのＳＥＩメッセージが特定のビットストリーム中で必須ＳＥＩメッセージであるかを決定することは、符号化器（すなわち、コンテンツ作成器）の裁量である。
【００９７】
[0106]ＥＳＩ ＳＥＩメッセージがＣＶＳの任意のアクセスユニット（ＡＵ）中に存在するとき、ＥＳＩ ＳＥＩメッセージは、ＣＶＳの第１のアクセスユニット中に存在するべきである。ＥＳＩ ＳＥＩメッセージは、現在のアクセスユニットからＣＶＳの終了まで復号順序で持続する。
【００９８】
[0107]ＥＳＩ ＳＥＩメッセージを包含するＳＥＩ ＮＡＬユニットは、非必須補足情報ＳＥＩメッセージでない任意の他のＳＥＩメッセージを包含するべきではない。複数のＥＳＩメッセージがＣＶＳ中に存在するとき、それらは、同じコンテンツを有するべきである。
【００９９】
[0108]ｎｕｍ＿ｅｓｓｅｎｔｉａｌ＿ｓｅｉ＿ｍｓｇ＿ｔｙｐｅｓは、必須ＳＥＩメッセージであると見なされる、ＣＶＳ中に存在するＳＥＩメッセージのタイプの数を指定する。
【０１００】
[0109]ｅｓｓｅｎｔｉａｌ＿ｓｅｉ＿ｐａｙｌｏａｄ＿ｔｙｐｅ［ｉ］は、ｉ番目のタイプの必須ＳＥＩメッセージのｐａｙｌｏａｄＴｙｐｅ値を示す。任意の２つの異なる値ｍおよびｎについて、ｅｓｓｅｎｔｉａｌ＿ｓｅｉ＿ｐａｙｌｏａｄ＿ｔｙｐｅ［ｍ］およびｅｓｓｅｎｔｉａｌ＿ｓｅｉ＿ｐａｙｌｏａｄ＿ｔｙｐｅ［ｎ］の値は、同一であるべきではない。
【０１０１】
[0110]ｎｕｍ＿ｅｓｅｉ＿ｉｎｉｔ＿ｐａｙｌｏａｄ＿ｄａｔａｂｉｔｓ［ｉ］は、ＣＶＳ中に存在するｉ番目のタイプの必須ＳＥＩメッセージについての追加の情報を提供する後続のビットの数を指定する。
【０１０２】
[0111]ｅｓｅｉ＿ｐａｙｌｏａｄ＿ｄａｔａ＿ｂｉｔ［ｉ］［ｊ］は、ＣＶＳ中に存在するｉ番目のタイプの必須ＳＥＩメッセージについての追加の情報を提供するビットのうちのｊ番目のビットを指定する。
【０１０３】
[0112]ｎｕｍ＿ｅｓｅｉ＿ｉｎｉｔ＿ｐａｙｌｏａｄ＿ｄａｔａｂｉｔｓ［ｉ］ビットは、ｉ番目のタイプの必須ＳＥＩメッセージのｐａｙｌｏａｄＴｙｐｅについてのＳＥＩペイロードシンタックスにしたがい、およびＳＥＩペイロードシンタックス中の第１のシンタックス要素から開始するいくつかのシンタックス要素を包含するが、ＳＥＩペイロードシンタックス中の全てのシンタックス要素を包含することも、しないこともあり得る。最後のビットは、ＳＥＩペイロードシンタックス中のシンタックス要素の最後のビットであるべきである。これらのビット中に包含されるシンタックス要素は、ここでの情報がＣＶＳ全体に適用されることを例外として、それらがｐａｙｌｏａｄＴｙｐｅを有するＳＥＩメッセージ中にあったかのように同じセマンティクスを有する。
【０１０４】
[0113]これらのビットは、望ましいユーザエクスペリエンスを可能にするために復号器側がビットストリームを適正に処理することができるかどうかをどのシステムレイヤエンティティが決定することができるかに基づいて、処理能力の観点から見て何のタイプの処理が復号器側において必要とされるかを示すための十分な情報を提供すべきである。例えば、ｐａｙｌｏａｄＴｙｐｅが４５である場合（すなわち、フレームパッキング配置ＳＥＩメッセージ）、これらのビットは、シンタックス要素ｆｒａｍｅ＿ｐａｃｋｉｎｇ＿ａｒｒａｎｇｅｍｅｎｔ＿ｔｙｐｅを少なくとも含むべきである。別の例の場合、ｐａｙｌｏａｄＴｙｐｅが１５０である場合（すなわち、ＪＣＴＶＣ−Ｚ１００５に指定されているような全方位投影インジケーションＳＥＩメッセージ）、これらのビットは、シンタックス要素ｐｒｏｊｅｃｔｉｏｎ＿ｔｙｐｅを少なくとも含むべきである。
【０１０５】
[0114]ｅｓｅｉ＿ａｌｉｇｎｍｅｎｔ＿ｂｉｔ＿ｅｑｕａｌ＿ｔｏ＿ｚｅｒｏは、０に等しくあるべきである。
【０１０６】
[0115]ＮＳＩ ＳＥＩメッセージ
【０１０７】
[0116]以下は、ＮＳＩ ＳＥＩメッセージについての実例的なシンタックスおよびセマンティクスを提供する。類似のシンタックスおよびセマンティクスが、様々なビデオコーディング規格で使用されることができる。
【０１０８】
[0117]ＮＳＩ ＳＥＩメッセージシンタックス
【０１０９】
[0118]ＮＳＩ ＳＥＩメッセージシンタックスの例は、以下の通りである：
【表３】
2020511861.tif 000008
【０１１０】
[0119]代替として、３つのｕ（１６）のコーディングされたシンタックス要素のコーディングは、ｕｅ（ｖ）のコーディングと置き換えられる、すなわち、上記の「ｕ（１６）」の全てのインスタンスを「ｕｅ（ｖ）」と置き換える。
【０１１１】
[0120]ＮＳＩ ＳＥＩメッセージセマンティクス
【０１１２】
[0121]非必須補足情報（ＮＳＩ）ＳＥＩメッセージは、ビットストリーム中に存在する全ての非必須ＳＥＩメッセージに関する情報を伝達する。非必須ＳＥＩメッセージは、必須ＳＥＩメッセージであると符号化器（すなわち、コンテンツ作成器）によって見なされないようなＳＥＩメッセージである。どのタイプのＳＥＩメッセージが特定のビットストリーム中で非必須ＳＥＩメッセージであるかを決定することは、符号化器（すなわち、コンテンツ作成器）の裁量である。
【０１１３】
[0122]ＮＳＩ ＳＥＩメッセージがＣＶＳの任意のアクセスユニット中に存在するとき、ＮＳＩ ＳＥＩメッセージは、ＣＶＳの第１のアクセスユニット中に存在するべきである。ＮＳＩ ＳＥＩメッセージは、現在のアクセスユニットからＣＶＳの終了まで復号順序で持続する。
【０１１４】
[0123]ＮＳＩ ＳＥＩメッセージを包含するＳＥＩ ＮＡＬユニットは、ＥＳＩ ＳＥＩメッセージでない任意の他のＳＥＩメッセージを包含するべきではない。複数のＮＳＩメッセージがＣＶＳ中に存在するとき、それらは、同じコンテンツを有するべきである。
【０１１５】
[0124]特定のタイプのＳＥＩメッセージが必須ＳＥＩメッセージであるとＣＶＳ中のＥＳＩ ＳＥＩメッセージによって識別されるとき、同じタイプのＳＥＩメッセージは、非必須ＳＥＩメッセージであるとＣＶＳ中のＮＳＩ ＳＥＩメッセージによって識別されるべきではない。
【０１１６】
[0125]ｎｕｍ＿ｎｏｎｅｓｓｅｎｔｉａｌ＿ｓｅｉ＿ｍｓｇ＿ｔｙｐｅｓは、非必須ＳＥＩメッセージであると見なされる、ＣＶＳ中に存在するＳＥＩメッセージのタイプの数を指定する。
【０１１７】
[0126]ｎｏｎｅｓｓｅｎｔｉａｌ＿ｓｅｉ＿ｐａｙｌｏａｄ＿ｔｙｐｅ［ｉ］は、ｉ番目のタイプの非必須ＳＥＩメッセージのｐａｙｌｏａｄＴｙｐｅ値を示す。任意の２つの異なる値ｍおよびｎについて、ｎｏｎｅｓｓｅｎｔｉａｌ＿ｓｅｉ＿ｐａｙｌｏａｄ＿ｔｙｐｅ［ｍ］およびｎｏｎｅｓｓｅｎｔｉａｌ＿ｓｅｉ＿ｐａｙｌｏａｄ＿ｔｙｐｅ［ｎ］の値は、同一であるべきではない。
【０１１８】
[0127]ｎｕｍ＿ｎｅｓｅｉ＿ｉｎｉｔ＿ｐａｙｌｏａｄ＿ｄａｔａｂｉｔｓ［ｉ］は、ＣＶＳ中に存在するｉ番目のタイプの非必須ＳＥＩメッセージについての追加の情報を提供する後続のビットの数を指定する。
【０１１９】
[0128]ｎｅｓｅｉ＿ｐａｙｌｏａｄ＿ｄａｔａ＿ｂｉｔ［ｉ］［ｊ］は、ＣＶＳ中に存在するｉ番目のタイプの非必須ＳＥＩメッセージについての追加の情報を提供するビットのうちのｊ番目のビットを指定する。
【０１２０】
[0129]ｎｕｍ＿ｎｅｓｅｉ＿ｉｎｉｔ＿ｐａｙｌｏａｄ＿ｄａｔａｂｉｔｓ［ｉ］ビットは、ｉ番目のタイプの非必須ＳＥＩメッセージのｐａｙｌｏａｄＴｙｐｅについてのＳＥＩペイロードシンタックスにしたがい、およびＳＥＩペイロードシンタックス中の第１のシンタックス要素から開始するいくつかのシンタックス要素を包含するが、ＳＥＩペイロードシンタックス中の全てのシンタックス要素を包含することも、しないこともあり得る。最後のビットは、ＳＥＩペイロードシンタックス中のシンタックス要素の最後のビットであるべきである。これらのビット中に包含されるシンタックス要素は、ここでの情報がＣＶＳ全体に適用されることを例外として、それらがｐａｙｌｏａｄＴｙｐｅを有するＳＥＩメッセージ中にあったかのように同じセマンティクスを有する。
【０１２１】
[0130]ｎｅｓｅｉ＿ａｌｉｇｎｍｅｎｔ＿ｂｉｔ＿ｅｑｕａｌ＿ｔｏ＿ｚｅｒｏは、０に等しくあるべきである。
【０１２２】
[0131]様々なインプリメンテーションでは、シンタックスおよびセマンティクスは、ＳＥＩメッセージの存在、不在、および／または必須性を示すために提供される。様々なインプリメンテーションでは、ＳＥＩマニフェスト、ならびにＳＥＩプレフィックスインジケーションを含むＳＥＩメッセージが定義される。ＳＥＩマニフェストは、ビットストリーム中に含まれるＳＥＩメッセージについての情報を伝達するために使用されることができる。ＳＥＩプレフィックスインジケーションは、ＳＥＩメッセージ中のペイロードを識別するために使用されることができ、およびビットストリーム中のコンテンツに必要とされるプロセスザティス（tha tis）のタイプを決定するために復号器によってビュース（buse）使用されることができる。
【０１２３】
[0132]様々なインプリメンテーションでは、符号化器は、必須である情報を決定することができる。例えば、符号化器は、ビデオの表示に必須である、ある特定の情報をアイディファイ（idify）するように構成されることができる。これらの例では、符号化器は、必須情報を示すためにＳＥＩプレフィックスインジケーションＳＥＩメッセージを、およびビットストリーム中に含まれるＳＥＩメッセージを記述するためにＳＥＩマニフェストＳＥＩメッセージを、利用することができる。
【０１２４】
[0133]様々なインプリメンテーションでは、復号器は、ＳＥＩマニフェストＳＥＩメッセージおよびＳＥＩプレフィックスＳＥＩメッセージを識別することと、これらのメッセージ中に含まれる情報を利用することとを行うように構成されることができる。復号器がこれらのメッセージのいずれも見出さないとき、復号器は、適用可能な規格にしたがってビットストリームを復号することを進めることができる。ＳＥＩマニフェストおよびＳＥＩプレフィックスメッセージを処理するように構成されていない復号器は、これらのメッセージを識別不能なＳＥＩメッセージとして扱うことができる。いくつかの例では、復号器がおよび識別不能なＳＥＩメッセージと遭遇すると、復号器は、ビットストリームを処理することを停止するように構成されることができる。代替として、いくつかの例では、復号器は、ビットストリームを復号することを進め得る。
【０１２５】
[0134]第１の例は、ＳＥＩマニフェストＳＥＩメッセージおよびＳＥＩプレフィックスインジケーションＳＥＩメッセージを提供する。これらのＳＥＩメッセージの各々についてのシンタックスおよびセマンティクスが以下に提供される。
【０１２６】
[0135]ＳＥＩマニフェストＳＥＩメッセージ
【０１２７】
[0136]ＳＥＩマニフェストＳＥＩメッセージシンタックス
【表４】
2020511861.tif 000009
【０１２８】
[0137]ＳＥＩマニフェストＳＥＩメッセージセマンティクス
【０１２９】
[0138]ＳＥＩマニフェストＳＥＩメッセージは、存在するまたは存在しないとビットストリームの受信機によって想定され得るＳＥＩメッセージに関する情報を伝達する。そのような情報は、以下を含み得る：
【０１３０】
[0139]１）ビットストリームの受信機は、ある特定のタイプのＳＥＩメッセージがＣＶＳ中に存在すると想定し得る。
【０１３１】
[0140]注記１−そのような「想定する」という文言が使用されると、「約束」が破られたときも誤りにはならず、そして、「約束」が破られたかどうかにかかわらず、クライアントの想定は、依然として正しいと見なされることができる。
【０１３２】
[0141]２）ＣＶＳ中に存在すると想定され得るＳＥＩメッセージの各タイプについて、このタイプのＳＥＩメッセージの必須性。
【０１３３】
[0142]必須性は、必須、非必須、または未決定（undetermined）として示され得る。
【０１３４】
[0143]ＳＥＩメッセージは、コンテンツを適正に処理し、および望ましいユーザエクスペリエンスを可能にするために、搬送される情報が復号器の側から必須であると見なされるときに、符号化器（すなわち、コンテンツ作成器）によって必須であると見なされる。どのＳＥＩメッセージが特定のビットストリーム中で必須であると見なされるかを決定することは、符号化器の裁量である。しかしながら、フレームパッキング配置、セグメント化された矩形（segmented rectangular）フレームパッキング配置、ディスプレイの向き（display orientation）、および全方位投影インジケーションＳＥＩメッセージのようないくつかのＳＥＩメッセージは、常に必須であると見なされるべきである。
【０１３５】
[0144]３）ビットストリームの受信機は、ある特定のタイプのＳＥＩメッセージがＣＶＳ中に存在しないと想定し得る。
【０１３６】
[0145]注記２−例えば、シグナリングされたＳＥＩマニフェストＳＥＩメッセージに基づいて、ビットストリームの受信機は、ビットストリーム中にフレームパッキング配置ＳＥＩメッセージ、セグメント化された矩形フレームパッキング配置ＳＥＩメッセージ、ディスプレイの向きＳＥＩメッセージ、または全方位投影インジケーションＳＥＩメッセージが存在しないと想定することができる。したがって、復号されたビデオピクチャは、そのようなＳＥＩメッセージが存在するときに一般に必要とされる任意の追加の後処理の必要なしに、視聴のためにレンダリングされる可能性が高い。
【０１３７】
[0146]ＳＥＩマニフェストＳＥＩメッセージがＣＶＳの任意のアクセスユニット中に存在するとき、ＳＥＩマニフェストＳＥＩメッセージは、ＣＶＳの第１のアクセスユニット中に存在するべきである。ＳＥＩマニフェストＳＥＩメッセージは、現在のアクセスユニットからＣＶＳの終了まで復号順序で持続する。複数のＳＥＩマニフェストＳＥＩメッセージがＣＶＳ中に存在するとき、それらは、同じコンテンツを有するべきである。
【０１３８】
[0147]ＳＥＩマニフェストＳＥＩメッセージを包含するＳＥＩ ＮＡＬユニットは、ＳＥＩプレフィックスインジケーションＳＥＩメッセージ以外の任意の他のＳＥＩメッセージを包含するべきではない。ＳＥＩ ＮＡＬユニット中に存在するとき、ＳＥＩマニフェストＳＥＩメッセージは、ＳＥＩ ＮＡＬユニット中の第１のＳＥＩメッセージであるべきである。
【０１３９】
[0148]ｍａｎｉｆｅｓｔ＿ｎｕｍ＿ｓｅｉ＿ｍｓｇ＿ｔｙｐｅｓは、ＳＥＩマニフェストＳＥＩメッセージ中で情報が提供されるＳＥＩメッセージのタイプの数を指定する。
【０１４０】
[0149]ｍａｎｉｆｅｓｔ＿ｓｅｉ＿ｐａｙｌｏａｄ＿ｔｙｐｅ［ｉ］は、ＳＥＩマニフェストＳＥＩメッセージ中で情報が提供されるｉ番目のタイプのＳＥＩメッセージのｐａｙｌｏａｄＴｙｐｅ値を示す。ｍａｎｉｆｅｓｔ＿ｓｅｉ＿ｐａｙｌｏａｄ＿ｔｙｐｅ［ｍ］およびｍａｎｉｆｅｓｔ＿ｓｅｉ＿ｐａｙｌｏａｄ＿ｔｙｐｅ［ｎ］の値は、ｍがｎに等しくないときに同一であるべきではない。
【０１４１】
[0150]ｍａｎｉｆｅｓｔ＿ｓｅｉ＿ｄｅｓｃｒｉｐｔｉｏｎ［ｉ］は、表２に指定されているようなｍａｎｉｆｅｓｔ＿ｓｅｉ＿ｐａｙｌｏａｄ＿ｔｙｐｅ［ｉ］に等しいｐａｙｌｏａｄＴｙｐｅを有するＳＥＩメッセージに関する情報を提供する。
【表５】
2020511861.tif 000010
【０１４２】
[0151]ｍａｎｉｆｅｓｔ＿ｓｅｉ＿ｄｅｓｃｒｉｐｔｉｏｎ［ｉ］の値は、この仕様のこのバージョンに適合するビットストリーム中で、両端値を含む０〜３の範囲中にあるべきである。ｍａｎｉｆｅｓｔ＿ｓｅｉ＿ｄｅｓｃｒｉｐｔｉｏｎ［ｉ］についての他の値は、ＩＴＵ−Ｔ｜ＩＳＯ／ＩＥＣによる将来の使用のためにリザーブされる。復号器は、４以上のｍａｎｉｆｅｓｔ＿ｓｅｉ＿ｄｅｓｃｒｉｐｔｉｏｎ［ｉ］の値がシンタックス中に現れることを可能にすべきであり、およびＳＥＩマニフェストＳＥＩメッセージ中でシグナリングされるｍａｎｉｆｅｓｔ＿ｓｅｉ＿ｐａｙｌｏａｄ＿ｔｙｐｅ［ｉ］に等しいｐａｙｌｏａｄＴｙｐｅについての全ての情報を無視すべきであり、およびｍａｎｉｆｅｓｔ＿ｓｅｉ＿ｐａｙｌｏａｄ＿ｔｙｐｅ［ｉ］に等しいｐｒｅｆｉｘ＿ｓｅｉ＿ｐａｙｌｏａｄ＿ｔｙｐｅを有する全てのＳＥＩプレフィックスインジケーションＳＥＩメッセージを無視すべきである。
【０１４３】
[0152]ＳＥＩプレフィックスインジケーションＳＥＩメッセージ
【０１４４】
[0153]ＳＥＩプレフィックスインジケーションＳＥＩメッセージシンタックス
【表６】
2020511861.tif 000011
【０１４５】
[0154]ＳＥＩプレフィックスインジケーションＳＥＩメッセージセマンティクス
【０１４６】
[0155]ＳＥＩプレフィックスインジケーションＳＥＩメッセージは、特定のｐａｙｌｏａｄＴｙｐｅのＳＥＩメッセージについての１つまたは複数のＳＥＩプレフィックスインジケーションを搬送する。各ＳＥＩプレフィックスインジケーションは、そのｐａｙｌｏａｄＴｙｐｅのＳＥＩペイロードシンタックスにしたがうビットストリングであり、およびＳＥＩペイロード中の第１のシンタックス要素から開始するいくつかの完全なシンタックス要素を包含する。
【０１４７】
[0156]受信機は、ＣＶＳ中のこのｐａｙｌｏａｄＴｙｐｅのＳＥＩメッセージのうちのいくつかまたは全てがこれらのビットストリングで開始すると想定し得る。開始ビットストリングは典型的に、ＳＥＩメッセージのタイプのＳＥＩペイロードの真のサブセットのみを包含し、完全なＳＥＩペイロードを包含し得るが、完全なＳＥＩペイロードより多くを決して包含しない。
【０１４８】
[0157]注記−このｐａｙｌｏａｄＴｙｐｅのいくつかのＳＥＩメッセージが、示されたビットストリングのうちのいずれかで開始しないことが許容される。
【０１４９】
[0158]これらのＳＥＩプレフィックスインジケーションは、何のタイプの処理が必要とされるか、または何のタイプのコンテンツが含まれるかを示すための十分な情報を提供すべきである。前者（処理のタイプ）は、復号器側の処理能力、例えば、何らかのタイプのフレームアンパッキングが必要とされるかどうか、を示す。後者（コンテンツのタイプ）は、例えば、ビットストリームが特定の言語の字幕キャプションを包含するかどうかを示す。情報システムレイヤに基づいて、エンティティは、復号器側が望ましいユーザエクスペリエンスを可能にするためにビットストリームを適正に処理することができるかどうか、またはビットストリームがアプリケーションのニーズを満たすかどうかを決定することができる。
【０１５０】
[0159]一例では、ｐａｙｌｏａｄＴｙｐｅがフレームパッキング配置ＳＥＩメッセージを示すとき、ＳＥＩプレフィックスインジケーションは、最大で少なくともシンタックス要素ｆｒａｍｅ＿ｐａｃｋｉｎｇ＿ａｒｒａｎｇｅｍｅｎｔ＿ｔｙｐｅまでを含むべきであり、ｐａｙｌｏａｄＴｙｐｅが全方位投影インジケーションＳＥＩメッセージを示すとき、ＳＥＩプレフィックスインジケーションは、最大で少なくともシンタックス要素ｐｒｏｊｅｃｔｉｏｎ＿ｔｙｐｅまでを含むべきである。
【０１５１】
[0160]別の例では、キャプション情報を搬送するために使用されるユーザデータ登録ＳＥＩメッセージ（user data registered SEI messages）の場合、ＳＥＩプレフィックスインジケーションは、最大で少なくとも言語コードまでを含むべきであり、私的使用のために拡張されたユーザデータ未登録ＳＥＩメッセージ（user data unregistered SEIs messages）の場合、ＳＥＩプレフィックスインジケーションは、最大で少なくともＵＵＩＤまでを含むべきである。
【０１５２】
[0161]ＳＥＩプレフィックスインジケーションＳＥＩメッセージがＣＶＳの任意のアクセスユニット中に存在するとき、ＳＥＩプレフィックスインジケーションＳＥＩメッセージは、ＣＶＳの第１のアクセスユニット中に存在するべきである。ＳＥＩプレフィックスインジケーションＳＥＩメッセージは、現在のアクセスユニットからＣＶＳの終了まで復号順序で持続する。複数のＳＥＩプレフィックスインジケーションＳＥＩメッセージがＣＶＳ中に存在するとき、それらは、同じコンテンツを有するべきである。
【０１５３】
[0162]ＳＥＩプレフィックスインジケーションＳＥＩメッセージを包含するＳＥＩ ＮＡＬユニットは、ＳＥＩマニフェストＳＥＩメッセージ以外の任意の他のＳＥＩメッセージを包含するべきではない。
【０１５４】
[0163]ｐｒｅｆｉｘ＿ｓｅｉ＿ｐａｙｌｏａｄ＿ｔｙｐｅは、ＳＥＩプレフィックスインジケーションＳＥＩメッセージ中で１つまたは複数のＳＥＩプレフィックスインジケーションが提供されるＳＥＩメッセージのｐａｙｌｏａｄＴｙｐｅ値を示す。ｐｒｅｆｉｘ＿ｓｅｉ＿ｐａｙｌｏａｄ＿ｔｙｐｅの値は、ＣＶＳに適用されるＳＥＩマニフェストＳＥＩメッセージによって示されるような、ｍａｎｉｆｅｓｔ＿ｓｅｉ＿ｄｅｓｃｒｉｐｔｉｏｎ［ｍ］が両端値を含む１〜３に等しいｍａｎｉｆｅｓｔ＿ｓｅｉ＿ｐａｙｌｏａｄ＿ｔｙｐｅ［ｍ］値のうちの１つに等しくあるべきである。
【０１５５】
[0164]ｎｕｍ＿ｓｅｉ＿ｐｒｅｆｉｘ＿ｉｎｄｉｃａｔｉｏｎｓ＿ｍｉｎｕｓ１プラス１は、ＳＥＩプレフィックスインジケーションの数を指定する。
【０１５６】
[0165]ｎｕｍ＿ｂｉｔｓ＿ｉｎ＿ｐｒｅｆｉｘ＿ｉｎｄｉｃａｔｉｏｎ＿ｍｉｎｕｓ１［ｉ］プラス１は、ｉ番目のＳＥＩプレフィックスインジケーション中のビットの数を指定する。
【０１５７】
[0166]ｓｅｉ＿ｐｒｅｆｉｘ＿ｄａｔａｂｉｔ［ｉ］［ｊ］は、ｉ番目のＳＥＩプレフィックスインジケーションのｊ番目のビットを指定する。
【０１５８】
[0167]両端値を含む０〜ｎｕｍ＿ｂｉｔｓ＿ｉｎ＿ｐｒｅｆｉｘ＿ｉｎｄｉｃａｔｉｏｎ＿ｍｉｎｕｓ１［ｉ］までの範囲にわたるｊについてのビットｓｅｉ＿ｐｒｅｆｉｘ＿ｄａｔａｂｉｔ［ｉ］［ｊ］は、ｐｒｅｆｉｘ＿ｓｅｉ＿ｐａｙｌｏａｄ＿ｔｙｐｅに等しいｐａｙｌｏａｄＴｙｐｅを有するＳＥＩペイロードのシンタックスにしたがい、およびＳＥＩペイロードシンタックス中の第１のシンタックス要素から開始するいくつかの完全なシンタックス要素を包含し、およびＳＥＩペイロードシンタックス中の全てのシンタックス要素を包含することも、しないこともあり得る。最後のビットは、ＳＥＩペイロードシンタックス中のシンタックス要素の最後のビットであるべきである。
【０１５９】
[0168]ｂｙｔｅ＿ａｌｉｇｎｍｅｎｔ＿ｂｉｔ＿ｅｑｕａｌ＿ｔｏ＿ｚｅｒｏは、０に等しくあるべきである。
【０１６０】
[0169]先行する例では、サイズが小さくあることができるＳＥＩマニフェスト記述は、別個のＳＥＩメッセージ中にあることができる。このＳＥＩメッセージの小さいサイズは、ＳＥＩメッセージが、例えば、ＭＩＭＥタイプパラメータとしてのようなシステムレベルで搬送されることを可能にする。先行する例はまた、いかなるプレフィックスインジケート（prefix indicate）も未だに定義されていないＳＥＩタイプについてのプレフィックスインジケーションの追加を可能にする。例えば、新しいＳＥＩメッセージが、既存のＳＥＩメッセージを修正することなしに追加されることができる。加えて、１つの特定のＳＥＩタイプについてのＳＥＩプレフィックスインジケーションに、複数のＳＥＩメッセージは必要とされない。プレフィックスインジケーションが既に定義されているＳＥＩタイプについてのプレフィックスインジケーションを追加するとき、既存のＳＥＩメッセージへの変更が必要とされ得る。
【０１６１】
[0170]様々な例では、代替のシンタックスが使用されることができる。
【０１６２】
[0171]第１の例では、２つの別個のＳＥＩメッセージを定義する代わりに、ＳＥＩマニフェスト記述およびＳＥＩプレフィックスは、１つのＳＥＩメッセージ中で搬送されることができる。そのようなＳＥＩメッセージについての実例的なシンタックスが以下に続く：
【表７】
2020511861.tif 000012
【０１６３】
[0172]上記の例では、（例えば、ＳＥＩマニフェスト記述と全てのＳＥＩタイプについてのＳＥＩプレフィックスインジケーションとについての）複数のＳＥＩメッセージが定義される必要はない。追加の情報が必要とされるときは、しかしながら、ＳＥＩメッセージは、変更される必要があり得る。
【０１６４】
[0173]第２の例では、１つのＳＥＩプレフィックスインジケーションＳＥＩメッセージ中に複数のＳＥＩプレフィックスインジケーションを許容する代わりに、ＳＥＩプレフィックスメッセージは、１つのＳＥＩプレフィックスインジケーションのみを含むことができる。そのようなＳＥＩメッセージについての実例的なシンタックスが以下に続く。
【表８】
2020511861.tif 000013
【０１６５】
[0174]上記の例では、既存のＳＥＩメッセージは、プレフィックスインジケーションが既に定義されているＳＥＩタイプについてのプレフィックスインジケーションを加えるときに変更される必要はない。しかしながら、１つの特定のＳＥＩタイプについてのＳＥＩプレフィックスインジケーションをシグナリングするための複数のＳＥＩメッセージは、必要とされ得る。
【０１６６】
[0175]様々な例では、代替の技法が、ＳＥＩメッセージの持続性スコープ（the persistence scope）を定義するために使用されることができる。
【０１６７】
[0176]第１の例では、ＳＥＩメッセージの持続性スコープは、アクティブＳＰＳのものと同じであることができる。この例では、アクティブＳＰＳが複数のＣＶＳのものに適用されるとき、ＳＥＩメッセージの持続性スコープもまた、複数のＣＶＳのものであるであろう。
【０１６８】
[0177]第２の例では、持続性スコープは、ビットストリーム中で指定されることができる。この例では、ＳＥＩメッセージは、複数のビットストリームが１つのビットストリームへとスプライスされる（spliced）ときに変更される必要があり得る。
【０１６９】
[0178]様々な例では、セマンティクスについての代替の文言が使用されることができる。
【０１７０】
[0179]第１の例では、「ある特定のタイプのＳＥＩメッセージが存在するか、または存在しないかを示す」というような断定的な文言（assertive wording）が、例えば、ＳＥＩマニフェストについてのセマンティクス中で使用されることができる。
【０１７１】
[0180]第２の例として、「ある特定のタイプのＳＥＩメッセージが存在すると想定され得るか、または存在しないと想定され得るかを示す」というような（復号器の観点から見た）非断定的な文言が使用されることができる。
【０１７２】
[0181]第３の例として、「ある特定のタイプのＳＥＩメッセージが存在すると符号化器によって指示される（stated）か、または存在しないと符号化器によって指示されるかを示す」というような（符号化器の観点から見た）非断定的な文言が使用されることができる。この例では、復号器がこの情報をどのようの処理するかに関する決定を下し得るとさらに指示されることができるが、情報をどのように処理するかは、復号器に委ねられることができる。
【０１７３】
[0182]上記の第１の例のケースでは、特定のタイプのＳＥＩメッセージがビットストリーム中に存在するとＳＥＩマニフェストが示し得る事例があり得るが、そのタイプのＳＥＩメッセージは、取り除かれていることがあり得る。これらの例では、ビットストリームのセマンティクスは、不正確であり得、およびビットストリームは、不適合であり得る。
【０１７４】
[0183]上記の第２および第３の例では、ビットストリーム中のＳＥＩメッセージを取り除くことは、ビットストリームの不適合を引き起こさない。例えば、特定のタイプのＳＥＩメッセージがビットストリーム中に存在するが、（例えば、ビットストリームが符号化された後で）そのＳＥＩメッセージが取り除かれたとＳＥＩマニフェストが示すとき、第２および第３の例の非断定的な文言は、不正確にはならないであろう。第３の例では、非断定的な文言は、第２の例の非断定的な文言より厳密でない。
【０１７５】
[0184]必須および非必須ＳＥＩメッセージ
【０１７６】
[0185]様々なＳＥＩメッセージが、例えば、ＨＥＶＣ仕様のＡｎｎｅｘ Ｄで、（ＪＣＴＶＣ−Ｚ１００５の修正案のような）ＨＥＶＣ仕様の修正案で、およびその仕様のＡｎｎｅｘ Ｆおよび後続のアネックスで定義されている。
【０１７７】
[0186]以下に提供されるのは、必須情報を含むと見なされ得るＳＥＩメッセージの例である。これらのＳＥＩメッセージは、存在する（例えば、もともと（natively）存在するか、またはネスティングＳＥＩメッセージ中に包含されている）とき、復号されたピクチャのレンダリングに直接影響を与え得る。これらのＳＥＩメッセージが必須であると見なされ得る一方で、この情報を含むＳＥＩメッセージが必須とラベル付けされるかどうかは、符号化器に委ねられる。
【０１７８】
[0187]−フレームパッキング配置ＳＥＩメッセージ
【０１７９】
[0188]−ディスプレイの向きＳＥＩメッセージ
【０１８０】
[0189]−セグメント化された矩形フレームパッキング配置ＳＥＩメッセージ
【０１８１】
[0190]−全方位投影インジケーションＳＥＩメッセージ
【０１８２】
[0191]以下のＳＥＩメッセージは、存在する（例えば、もともと存在するか、またはネスティングＳＥＩメッセージ中に包含されている）とき、復号されたピクチャのレンダリングに影響を及ぼし得る。これらのＳＥＩメッセージもまた、必須であると見なされることができるＳＥＩメッセージの例である。
【０１８３】
[0192]−フィルムグレイン特性ＳＥＩメッセージ（The film grain characteristics SEI message）
【０１８４】
[0193]−ポストフィルタヒントＳＥＩメッセージ（The post-filter hint SEI message）
【０１８５】
[0194]−トーンマッピング情報ＳＥＩメッセージ（The tone mapping information SEI message）
【０１８６】
[0195]−表示なしＳＥＩメッセージ（The no display SEI message）
【０１８７】
[0196]−表示なしＳＥＩメッセージ
【０１８８】
[0197]−マスタリング表示カラーボリュームＳＥＩメッセージ（The mastering display colour volume SEI message）
【０１８９】
[0198]−クロマリサンプリングフィルタヒントＳＥＩメッセージ（The chroma resampling filter hint SEI message）
【０１９０】
[0199]−ニーファンクション情報ＳＥＩメッセージ（The knee function information SEI message）
【０１９１】
[0200]−カラーリマッピング情報ＳＥＩメッセージ（The colour remapping information SEI message）
【０１９２】
[0201]−インターレース解除ピクチャ情報ＳＥＩメッセージ（The deinterlaced picture information SEI message）
【０１９３】
[0202]−コンテンツ光レベル情報ＳＥＩメッセージ（The content light level information SEI message）
【０１９４】
[0203]−代替転送特性ＳＥＩメッセージ（The alternative transfer characteristics SEI message）
【０１９５】
[0204]−周囲視聴環境ＳＥＩメッセージ（The ambient viewing environment SEI message）
【０１９６】
[0205]−コンテンツカラーボリュームＳＥＩメッセージ（The content colour volume SEI message）
【０１９７】
[0206]復号されたピクチャのレンダリングに影響を及ぼす可能性がより低い他のＳＥＩメッセージは、符号化器の裁量で、必須ＳＥＩメッセージのリストへと含まれることも、含まれないこともあり得る。例えば、符号化器は、ユーザデータ未登録ＳＥＩメッセージまたはＩＴＵ−Ｔ Ｔ．３５勧告ＳＥＩメッセージによって登録されたユーザデータが必須情報を搬送すると決定し、およびその結果として、必須ＳＥＩメッセージのリストへとそのＳＥＩペイロードタイプを含め、および何らかの追加の情報を提供し、要求される処理能力を十分に示し得る。
【０１９８】
[0207]必須補足情報のシステムレベル露出
【０１９９】
[0208]様々なインプリメンテーションでは、上述されたもののようなＳＥＩメッセージ（例えば、ＥＳＩ ＳＥＩ、ＮＳＩ ＳＥＩ、ＳＥＩマニフェストＳＥＩ、およびＳＥＩプレフィックスＳＥＩ、それらは、ここでは一括してＳＥＩを搬送する必須情報と呼ばれることになる）は、復号器がビデオセグメントを復号するプロセスにおいて早期にこれらのＳＥＩへのアクセスを有することができるように、カプセル化フォーマットで配置されることができる。カプセル化フォーマットは、例えば、ファイルフォーマット、ストリーミングフォーマット、ネットワークフォーマット、および他のフォーマットを含む。
【０２００】
[0209]ファイルフォーマット規格は、ビデオ（および、またことによるとオーディオ）データを１つまたは複数のファイルへとパッキングおよびアンパッキングするためのフォーマットを定義することができる。ファイルフォーマット規格は、国際標準化機構（ＩＳＯ）ベースメディアファイルフォーマット（ＩＳＯ／ＩＥＣ １４４９６−１２に定義されているＩＳＯＢＭＦＦ）、および（ＩＳＯ／ＩＥＣ １４４９６−１５に定義されている）モーションピクチャ専門家グループ（ＭＰＥＧ）ＭＰＥＧ−４ファイルフォーマットと、（３ＧＰＰ（登録商標） ＴＳ ２６．２４４に定義されている）第３世代パートナーシッププロジェクト（３ＧＰＰ）ファイルフォーマットと、（両方ともＩＳＯ／ＩＥＣ １４４９６−１５に定義されている）アドバンスドビデオコーディング（ＡＶＣ）ファイルフォーマットおよび高効率ビデオコーディング（ＨＥＶＣ）ファイルフォーマットとを含む、ＩＳＯＢＭＦＦから派生した他のファイルフォーマットを含む。ＩＳＯ／ＩＥＣ １４４９６−１２および１４４９６−１５についての最近の新版の草案文書は、それぞれ、http://phenix.int-evry.fr/mpeg/doc_end_user/documents/111_Geneva/wg11/w15177-v6-w15177.zipおよびhttp://phenix.int-evry.fr/mpeg/doc_end_user/documents/112_Warsaw/wg11/w15479-v2-w15479.zipにおいて入手可能である。
【０２０１】
[0210]ＩＳＯＢＭＦＦは、多くのコーデックカプセル化フォーマット（例えば、ＡＶＣファイルフォーマットまたは任意の他の適したコーデックカプセル化フォーマット）の、ならびに多くのマルチメディアコンテナフォーマット（例えば、ＭＰＥＧ−４ファイルフォーマット、３ＧＰＰファイルフォーマット（３ＧＰＰ）、デジタルビデオブロードキャスティング（ＤＶＢ）ファイルフォーマット、または任意の他の適したマルチメディアコンテナフォーマット）の基礎として使用される。ＩＳＯＢＭＦＦベースのファイルフォーマットは、連続メディアのために使用されることができ、それはまた、ストリーミングメディアと呼ばれる。
【０２０２】
[0211]連続メディア（例えば、オーディオおよびビデオ）に加えて、静的メディア（例えば、画像）およびメタデータが、ＩＳＯＢＭＦＦに適合するファイル中に記憶されることができる。ＩＳＯＢＭＦＦにしたがって構造化されたファイルは、ローカルメディアファイル再生、リモートファイルのプログレッシブダウンロード、ＨＴＴＰを通した動的適応型ストリーミング（ＤＡＳＨ）のためのセグメントとして、ストリーミングされることになるコンテンツのためのコンテナとして（そのケースではコンテナは、パケット化命令を含む）、受信されるリアルタイムメディアストリームの記録のための、または他の使用を含む、多くの目的のために使用され得る。
【０２０３】
[0212]ＩＳＯＢＭＦＦおよびその派生したファイルフォーマット（例えば、ＡＶＣファイルフォーマットまたは他の派生したファイルフォーマット）は、多くのマルチメディアアプリケーションにおいて（例えば、ビデオ、オーディオ、および時間指定されたテキストを含む）メディアコンテンツの記憶およびカプセル化のために広く使用されている。様々なインプリメンテーションでは、ＩＳＯＢＭＦＦファイルフォーマットは、情報が適用されるビデオデータより先にＳＥＩメッセージを搬送する必須情報を提供するために使用されることができる。例えば、ＳＥＩを搬送する必須情報は、さらに以下に論述されるように、サンプルエントリ中に含まれることができる。
【０２０４】
[0213]図３は、ＩＳＯＢＭＦＦにしたがってフォーマットされた、ビデオプレゼンテーションについてのデータおよびメタデータを包含するＩＳＯベースメディアファイル３００の例を例示している。ＩＳＯＢＭＦＦは、メディアの交換、管理、編集、および提示を容易にする柔軟且つ拡張可能なフォーマットで、時間指定されたメディア情報を包含するように設定されている。メディアのプレゼンテーションは、プレゼンテーションを包含するシステムに対して「ローカル」であり得るか、あるいはプレゼンテーションは、ネットワークまたは他のストリーム配信メカニズムを介し得る。
【０２０５】
[0214]ＩＳＯＢＭＦＦ仕様によって定義されているような「プレゼンテーション」は、ピクチャのシーケンスであり、多くの場合、ビデオキャプチャデバイスによって連続的にキャプチャされたことによって関連付けられるか、または何らかの他の理由により関連付けられる。ここでは、プレゼンテーションはまた、ムービーまたはビデオプレゼンテーションと呼ばれ得る。プレゼンテーションは、オーディオを含み得る。単一のプレゼンテーションは、１つまたは複数のファイル中に包含され得、ここで、１つのファイルは、プレゼンテーション全体についてのメタデータを包含する。メタデータは、タイミングおよびフレーミングデータ、記述子、ポインタ、パラメータのような情報、およびプレゼンテーションを記述する他の情報を含む。メタデータは、ビデオおよび／またはオーディオデータ自体を含まない。メタデータを包含するファイル以外のファイルは、ＩＳＯＢＭＦＦにしたがってフォーマットされる必要がなく、およびこれらのファイルがメタデータによって参照されることができるようにフォーマットされることのみを必要とする。
【０２０６】
[0215]ＩＳＯベースメディアファイルのファイル構造は、オブジェクト指向であり、およびファイル中の個々のオブジェクトの構造は、オブジェクトのタイプから直接推論されることができる。ＩＳＯベースメディアファイル中のオブジェクトは、ＩＳＯＢＭＦＦ仕様によって「ボックス」と呼ばれる。ＩＳＯベースメディアファイルは、ボックスのシーケンスとして構造化され、それは、他のボックスを包含することができる。ボックスは概して、ボックスについてのサイズおよびタイプを提供するヘッダを含む。サイズは、ヘッダ、フィールド、およびボックス内に包含される全てのボックスを含む、ボックスのサイズ全体を記述する。プレーヤデバイスによって認識されないタイプを有するボックスは、典型的に無視され、およびスキップされる。
【０２０７】
[0216]図３の例によって例示されているように、ファイルの最上位レベルにおいて、ＩＳＯベースメディアファイル３００は、ファイルタイプボックス３１０、ムービーボックス３２０、および１つまたは複数のムービーフラグメント３３０ａ、３３０ｎを含むことができる。このレベルにおいて含まれることができるが、この例には表されていない他のボックスは、中でもとりわけ、フリースペースボックス、メタデータボックス、およびメディアデータボックスを含む。
【０２０８】
[0217]ＩＳＯベースメディアファイルは、ボックスタイプ「ｆｔｙｐ」によって識別されるファイルタイプボックス３１０を含むことができる。ファイルタイプボックス３１０は、ファイルを構文解析するのに最も適したＩＳＯＢＭＦＦ仕様を識別する。この事例における「最も」は、ＩＳＯベースメディアファイル３００が特定のＩＳＯＢＭＦＦ仕様にしたがってフォーマットされていることがあり得るが、その仕様の他の反復と互換性がある可能性が高いことを意味する。この最も適した仕様は、メジャーブランド（the major brand）と呼ばれる。プレーヤデバイスは、そのデバイスがファイルのコンテンツを復号および表示することが可能であるかどうかを決定するために、メジャーブランドを使用することができる。ファイルタイプボックス３１０はまた、バージョン番号を含むことができ、それは、ＩＳＯＢＭＦＦ仕様のバージョンを示すために使用されることができる。ファイルタイプボックス３１０はまた、互換性のあるブランドのリストを含むことができ、それは、ファイルがそれと互換性がある他のブランドのリストを含む。ＩＳＯベースメディアファイルは、１つよりも多くのメジャーブランドと互換性を有することができる。
【０２０９】
[0218]ＩＳＯベースメディアファイル３００がファイルタイプボックス３１０を含むとき、１つのファイルタイプボックスのみが存在する。ＩＳＯベースメディアファイル３００は、より旧式のプレーヤデバイスと互換性を有するために、ファイルタイプボックス３１０を省略し得る。ＩＳＯベースメディアファイル３００がファイルタイプボックス３１０を含まないとき、プレーヤデバイスは、デフォルトメジャーブランド（例えば、「ｍｐ４１」）、マイナーバージョン（例えば、「０」）、および互換ブランド（例えば、「ｍｐ４１」）を想定することができる。ファイルタイプボックス３１０は典型的に、ＩＳＯベースメディアファイル３００中に可能な限り早期に配置される。
【０２１０】
[0219]ＩＳＯベースメディアファイルはさらに、ムービーボックス３２０を含むことができ、それは、プレゼンテーションについてのメタデータを包含する。ムービーボックス３２０は、ボックスタイプ「ｍｏｏｖ」によって識別される。ＩＳＯ／ＩＥＣ １４４９６−１２は、プレゼンテーションが、１つのファイル中に包含されるか、または複数のファイル中に包含されるかにかかわらず、１つのムービーボックス３２０のみを含むことができることを規定する。高い頻度で、ムービーボックス３２０は、ＩＳＯベースメディアファイルの先頭近くにある。ムービーボックス３２０は、ムービーヘッダボックス３２２を含み、および１つまたは複数のトラックボックス３２４ならびに他のボックスを含むことができる。
【０２１１】
[0220]ボックスタイプ「ｍｖｈｄ」によって識別されるムービーヘッダボックス３２２は、メディア非依存であり且つ全体としてプレゼンテーションに関連する情報を含むことができる。例えば、ムービーヘッダボックス３２２は、中でもとりわけ、プレゼンテーションについての作成時間、修正時間、時間スケール、および／または持続時間のような情報を含むことができる。ムービーヘッダボックス３２２はまた、プレゼンテーション中の次のトラックを識別する識別子を含むことができる。例えば、識別子は、例示されている例において、ムービーボックス３２０によって包含されているトラックボックス３２４を指し示すことができる。
【０２１２】
[0221]ボックスタイプ「ｔｒａｋ」によって識別されるトラックボックス３２４は、プレゼンテーションについてのトラックについての情報を包含することができる。プレゼンテーションは、１つまたは複数のトラックを含むことができ、ここで、各トラックは、プレゼンテーション中の他のトラックとは独立している。各トラックは、トラック中のコンテンツに固有の時間的および空間的情報を含むことができ、および各トラックは、メディアボックスに関連付けられることができる。トラック中のデータは、メディアデータであることができ、そのケースでは、トラックは、メディアトラックであるか、またはデータは、ストリーミングプロトコルのためのパケット化情報であることができ、そのケースでは、トラックは、ヒントトラックである。メディアデータは、例えば、ビデオおよびオーディオデータを含む。例示されている例では、実例的なトラックボックス３２４は、トラックヘッダボックス３２４ａおよびメディアボックス３２４ｂを含む。トラックボックスは、トラック参照ボックス、トラックグループボックス、編集ボックス、ユーザデータボックス、メタボックス、および他のもののような、他のボックスを含むことができる。
【０２１３】
[0222]ボックスタイプ「ｔｋｈｄ」によって識別されるトラックヘッダボックス３２４ａは、トラックボックス３２４中に包含されるトラックの特性を指定することができる。例えば、トラックヘッダボックス３２４ａは、中でもとりわけ、トラックの作成時間、修正時間、持続時間、トラック識別子、レイヤ識別子、グループ識別子、ボリューム、幅、および／または高さを含むことができる。メディアトラックの場合、トラックヘッダボックス３２４ａはさらに、中でもとりわけ、トラックが有効にされているかどうか、トラックがプレゼンテーションの一部として再生されるべきかどうか、またはトラックがプレゼンテーションをプレビューするために使用されることができるかどうかを識別することができる。トラックのプレゼンテーションは概して、プレゼンテーションの先頭にあると想定される。トラックボックス３２４は、ここには例示されていないが、明示的なタイムラインマップを含むことができる編集リストボックスを含むことができる。タイムラインマップは、中でもとりわけ、トラックについてのオフセット時間を指定することができ、ここで、オフセットは、プレゼンテーションの先頭の後の、トラックについての開始時間を示す。
【０２１４】
[0223]例示されている例では、トラックボックス３２４はまた、ボックスタイプ「ｍｄｉａ」によって識別されるメディアボックス３２４ｂを含む。メディアボックス３２４ｂは、トラック中のメディアデータについての情報およびオブジェクトを包含することができる。例えば、メディアボックス３２４ｂは、ハンドラ参照ボックスを包含することができ、それは、トラックのメディアタイプと、トラック中のメディアが提示されるプロセスとを識別することができる。別の例では、メディアボックス３２４ｂは、メディア情報ボックスを包含することができ、それは、トラック中のメディアの特性を指定することができる。メディア情報ボックスはさらに、サンプルのテーブルを含むことができ、ここで、各サンプルは、例えば、サンプルについてのデータのロケーションを含むメディアデータ（例えば、ビデオまたはオーディオデータ）のチャンクを記述する。サンプルについてのデータは、以下にさらに論述されるメディアデータボックス中に記憶される。ほとんどの他のボックスと同様に、メディアボックス３２４ｂはまた、メディアヘッダボックスを含むことができる。
【０２１５】
[0224]例示されている例では、実例的なＩＳＯベースメディアファイル３００はまた、プレゼンテーションの複数のフラグメント３３０ａ、３３０ｂ、３３０ｃ、３３０ｎを含む。フラグメント３３０ａ、３３０ｂ、３３０ｃ、３３０ｎは、ＩＳＯＢＭＦＦボックスではないが、むしろ、ムービーフラグメントボックス３３２と、ムービーフラグメントボックス３３２によって参照されるメディアデータボックス３３８とを記述する。ムービーフラグメントボックス３３２とメディアデータボックス３３８とは、最上位レベルボックスであるが、ムービーフラグメントボックス３３２とメディアデータボックス３３８との間の関係性を示すために、ここではグループ化されている。
【０２１６】
[0225]ボックスタイプ「ｍｏｏｆ」によって識別されるムービーフラグメントボックス３３２は、そうでない場合はムービーボックス３２０中に記憶されるであろう追加の情報を含めることによって、プレゼンテーションを拡張することができる。ムービーフラグメントボックス３３２を使用して、プレゼンテーションは、増分的に構築される（built incrementally）ことができる。ムービーフラグメントボックス３３２は、ムービーフラグメントヘッダボックス３３４およびトラックフラグメントボックス３３６、ならびにここには例示されていない他のボックスを含むことができる。
【０２１７】
[0226]ボックスタイプ「ｍｆｈｄ」によって識別されるムービーフラグメントヘッダボックス３３４は、シーケンス番号を含むことができる。プレーヤデバイスは、フラグメント３３０ａがプレゼンテーションについてのデータの次の一片を含むことを検証するために、シーケンス番号を使用することができる。いくつかのケースでは、ファイルのコンテンツ、またはプレゼンテーションについてのファイルが、乱れた順序でプレーヤデバイスに提供される可能性がある。例えば、ネットワークパケットは高い頻度で、パケットが当初送信された順序以外の順序で到達する可能性がある。これらのケースでは、シーケンス番号は、フラグメントについての正確な順序を決定する際にプレーヤデバイスを支援することができる。
【０２１８】
[0227]ムービーフラグメントボックス３３２はまた、ボックスタイプ「ｔｒａｆ」によって識別される１つまたは複数のトラックフラグメントボックス３３６を含むことができる。ムービーフラグメントボックス３３２は、トラックあたり０以上のトラックフラグメントのセットを含むことができる。トラックフラグメントは、０以上のトラックラン（track runs）を包含することができ、それらの各々は、トラックについてのサンプルの連続したランを記述する。トラックフラグメントは、トラックにサンプルを追加することに加えて、トラックに空の時間を追加するために使用されることができる。
【０２１９】
[0228]ボックスタイプ「ｍｄａｔ」によって識別されるメディアデータボックス３３８は、メディアデータを包含する。ビデオトラックでは、メディアデータボックス３３８は、ビデオフレームを包含するであろう。メディアデータボックスは代替としてまたは加えて、オーディオデータを含むことができる。プレゼンテーションは、１つまたは複数の個々のファイル中に包含された０以上のメディアデータボックスを含むことができる。メディアデータは、メタデータによって記述される。例示されている例では、メディアデータボックス３３８中のメディアデータは、トラックフラグメントボックス３３６中に含まれるメタデータによって記述されることができる。他の例では、メディアデータボックス中のメディアデータは、ムービーボックス３２０中のメタデータによって記述されることができる。メタデータは、メディアデータボックス３３８内のメディアデータヘッダおよび／またはフリースペースがスキップされることができるように、ファイル３００内の絶対オフセットによって特定のメディアデータを参照することができる。
【０２２０】
[0229]ＩＳＯベースメディアファイル３００中の他のフラグメント３３０ｂ、３３０ｃ、３３０ｎは、第１のフラグメント３３０ａのために例示されたものと同様のボックスを包含することができる、および／または他のボックスを包含することができる。
【０２２１】
[0230]ＩＳＯＢＭＦＦは、メディアのローカル再生をサポートすることに加えて、ネットワーク上でメディアデータをストリーミングするためのサポートを含む。１つのムービープレゼンテーションを含む１つまたは複数のファイルは、ヒントトラックと呼ばれる追加のトラックを含むことができ、それは、パケットとして１つまたは複数のファイルを形成および送信する際にストリーミングサーバを支援することができる命令を包含する。これらの命令は、例えば、サーバが送るためのデータ（例えば、ヘッダ情報）またはメディアデータのセグメントへの参照を含むことができる。ファイルは、異なるストリーミングプロトコルのための別個のヒントトラックを含むことができる。ヒントトラックはまた、ファイルを再フォーマットする必要なしにファイルに追加されることができる。
【０２２２】
[0231]図３に例示されている実例的なメディアファイル３００では、ＳＥＩを搬送する必須情報は、例えば、サンプルエントリ中に含まれることができる。例えば、ＳＥＩメッセージを搬送するａｅ必須情報（ae essential information）を包含するＳＥＩ ＮＡＬユニットは、ＨＥＶＣサンプルエントリの復号器構成記録（the decoder configuration record）中のＳＥＩ ＮＡＬユニットのアレイ中に直接含まれることができる。いくつかのケースでは、ＳＥＩメッセージを搬送する必須情報を包含するＳＥＩ ＮＡＬユニットは、復号器構成記録中のＳＥＩ ＮＡＬユニットアレイの第１のＳＥＩ ＮＡＬユニットとして含まれることができる。様々な例では、ＳＥＩメッセージを搬送する必須情報は、代替としてまたは加えて、中でもとりわけ、ムービーヘッダボックス３２２またはトラックヘッダボックス３２４ａのような、より上位レベルのボックス中で搬送されることができる。
【０２２３】
[0232]ＤＡＳＨのようなストリーミングカプセル化フォーマットもまた、復号器にＳＥＩメッセージを搬送する必須情報を提示するために使用されることができる。ＩＳＯ／ＩＥＣ ２３００９−１に指定されているＤＡＳＨは、ＨＴＴＰ（適応型）ストリーミングアプリケーションのための規格である。ＤＡＳＨは、マニフェストとしても知られるメディアプレゼンテーション記述（ＭＰＤ）と呼ばれるフォーマットと、メディアセグメントフォーマットとを指定する。ＭＰＤは、サーバ上で利用可能なメディアを記述し、およびＤＡＳＨクライアントが、メディア中の特定の時間において特定のメディアバージョンを自律的にダウンロードすることを可能にする。
【０２２４】
[0233]ＤＡＳＨベースのＨＴＴＰストリーミングは、以下のステップを含むことができる：
【０２２５】
[0234]１）クライアントは、ストリーミングコンテンツ（例えば、動画）のＭＰＤを取得する。ＭＰＤは、ストリーミングコンテンツの、例えば、ビットレート、ビデオ解像度、フレームレート、オーディオ言語のような異なる代替の表現に関する情報、ならびにＨＴＴＰリソース（例えば、初期化セグメントおよびメディアセグメント）のＵＲＬを含む。
【０２２６】
[0235]２）ＭＰＤ中の情報およびクライアントのローカル情報、（例えば、ネットワーク帯域幅、復号／表示能力、および／またはユーザ選好）ｅ（user preference)e）に基づいて、クライアントは、所望される表現（１つ以上）を一度に１セグメント（またはその一部）要求する。
【０２２７】
[0236]３）クライアントがネットワーク帯域幅の変更を検出すると、ザ（the）は、理想的にはランダムアクセスポイントで開始するセグメントから開始する、より良くマッチするビットレート（a better-matching bitrate）を有する異なる表現のセグメントを要求する。
【０２２８】
[0237]ＨＴＴＰストリーミングセッション中に、過去の位置への後方シークまたは将来の位置への前方シークを求めるユーザ要求に応答するために、クライアントは、所望される位置に近いセグメントから開始する過去または将来のセグメントを要求する。その時点から、クライアントは、ランダムアクセスポイントにおいて開始することができる。ユーザはまた、コンテンツを早送りすることを要求し得、それは、ビデオストリームの時間的サブセットのみを、またはイントラコーディングされたビデオピクチャのみを復号するために十分なデータを要求することによって実現され得る。
【０２２９】
[0238]図４は、ビデオコンテンツをストリーミングするためのＤＡＳＨプレゼンテーション４００の例を例示している。ビデオコンテンツは、メディアプレゼンテーション４０２中に包含され、それは、連続したビデオストリームを記述することができる。メディアプレゼンテーション４０２は、メディアプレゼンテーション記述（ＭＰＤ）を含むことができ、それはまた、マニフェストと呼ばれることができる。ＭＰＤは、メディアプレゼンテーション４０２中にメディアセグメントについての情報を包含する、例えば、拡張可能マークアップ言語（ＸＭＬ：eXtensible Markup Language）を使用してフォーマットされたドキュメントである。この情報は、例えば、セグメントと、セグメントの中から選ぶために使用されることができる情報との間の関係性を含むことができる。ＭＰＤはまた、クライアントデバイス（例えば、コンテンツを受信するデバイス）が使用することができる他のデータを含むことができる。
【０２３０】
[0239]メディアプレゼンテーション４０２は、期間４０４ａ〜４０４ｃへと分割されることができる。ＤＡＳＨによって定義されたような期間は、メディアプレゼンテーション４０２内の時間間隔である。プレゼンテーションはこのことから、期間４０４ａ〜４０４ｃの連続したシーケンスから成る。期間４０４ａ〜４０４ｃは、例えば、開始時間によって記述されることができ、ここで、開始時間は、その期間中の時間間隔が開始する時間を示す。別の言い方をすれば、開始時間は、時間０からのオフセットである。
【０２３１】
[0240]期間４０４ｂ（例えば、例示されている例における期間２）内では、メディアコンテンツは、例えば、平均ビットレート、言語、キャプション設定、字幕設定、等を含む、符号化の一貫したセットを有することができる。期間４０４ｂはまた、コンテンツがそこからストリーミングされることができるソース（例えば、ベースユニフォームリソースロケータ（ＵＲＬ））を提供することができる。期間４０４ｂ中のコンテンツは、適合セット（adaptation sets）４２４、４２６へと配置されることができる。適合セットは、１つまたは複数のメディアコンテンツコンポーネントの交換可能な符号化されたバージョンのセットを表す。例えば、期間は、主要なビデオコンポーネントについての１つの適合セット４２４と、主要なオーディオコンポーネントについての別個の適応セット４２６とを含み得る。キャプションまたはオーディオ説明のような他のコンテンツが利用可能であるとき、これらの各々は、別個の適合セットを有することができる。
【０２３２】
[0241]適合セット（例えば、ビデオ適合セット４２４）は、複数の代替の表現４３２を包含することができる。表現は、１つまたはいくつかのメディアコンテンツコンポーネントの配信可能な符号化されたバージョンを記述する。適合セット内のどの単一の表現も、期間中のメディアコンテンツコンポーネントをレンダリングするために使用されることができる。送られる１つの適合（one adaptation sent）中の異なる表現は、知覚的に同等であると見なされ得、クライアントデバイスが、ネットワーク条件または他の要因に適合するために、適合セット内である表現から別の表現に動的に切り替えることができることを意味する。例えば、各表現は、特定の帯域幅、およびフレームの高さと幅、ならびにフレームレートまたは符号化タイプのような他の情報を有することができる。表現４３２はさらに、メディアプレゼンテーション４０２中のセグメントを記述するセグメント情報４４２を含むことができる。
【０２３３】
[0242]セグメント情報４４２は、初期化セグメント４４４と１つまたは複数のメディアセグメント４４６ａ〜４４６ｃとを記述することができる。初期化セグメント４４４は、メディア自体を先行する何らかのコンテンツを含むことができる。各メディアセグメント４４６ａ〜４４６ｃは、期間４０４ｂ全体の一部分を含む。メディアセグメント４４６ａ〜４４６ｃは、期間４０４ｂの開始に対する開始時間、およびソースロケーション（例えば、ＵＲＬ）によって記述されることができる。
【０２３４】
[0243]ＩＳＯＢＭＦＦは、ＡＶＣおよびＨＥＶＣとそれらの拡張とのためのＭＩＭＥタイプ「コーデック」パラメータについてのサブパラメータを指定する。ＤＡＳＨを使用してコンテンツをストリーミングするとき、ＭＩＭＥタイプパラメータは、ＭＰＤ中に属性（例えば、＠ｍｉｍｅＴｙｐｅ）として提供されることができる。ＳＥＩメッセージを搬送する必須情報を包含するＳＥＩ ＮＡＬユニットは、「コーデック」パラメータまたは異なるＭＩＭＥタイプパラメータの一部として含まれることができ、このことから、これらのＳＥＩメッセージが＠ｍｉｍｅＴｙｐｅ属性を通じてＭＰＤから抽出可能になることを可能にする。
【０２３５】
[0244]ＭＰＥＧトランスポートストリーム（ＭＰＥＧ−ＴＳ）は、符号化されたビットストリームがそれによってネットワーク上で送信されることができるカプセルフォーマットである。図５は、ＭＰＥＧトランスポートストリーム５００の例を例示している。ＭＰＥＧ−ＴＳは、オーディオ、ビデオ、およびプログラミングデータを送信および記憶するために使用されるコンテナフォーマットである。ＭＰＥＧ−ＴＳは、信号が劣化したときに送信の完全性を維持するための誤り訂正およびストリーム同期機能を有する、パケット化されたエレメンタリストリームをカプセル化するコンテナフォーマットを指定する。ＭＰＥＧ−ＴＳは、地上および衛星放送のような信頼性の低い送信媒体を通した合理化（streamlining）を対象とする。
【０２３６】
[0245]ＭＰＥＧトランスポートストリーム５００は、複数のトランスポートパケット５０２を含む。パケットは、トランスポートストリーム中のデータの基本単位である。トランスポートストリーム自体は、いかなるグローバルヘッダも有さない、パケットのシーケンスである。各パケット５０２は、ヘッダ５０４およびペイロード５０６を含む。ヘッダ５０４は、例えば、ペイロードのコンテンツ、他のパケットに対するパケットシーケンス、誤り情報、等を記述することを含む、パケット５０２についての情報を提供する。
【０２３７】
[0246]フィールドの中でもとりわけ、ヘッダ５０４は、パケット識別子５０８（ＰＩＤ）を含むことができる。パケット識別子５０８は、ペイロード５０６中に含まれたデータを記述することができる。例えば、ＰＩＤ＝２は、ペイロード５０６がトランスポートストリーム記述子テーブル（ＴＳＤＴ：a transport stream descriptor table）のうちのいくつかまたは全てを含むことを示す。トランスポートストリーム記述子テーブルは、トランスポートストリーム５００に関連する記述子５１０を包含することができる。
【０２３８】
[0247]いくつかの例では、ＳＥＩメッセージを搬送する必須情報は、同様の記述子として、ビデオコーデックプロファイルおよびレベル情報を包含する記述子の一部として含まれることができる。これらの記述子の中に含まれることによって、復号器は、必須復号情報とともに、ＳＥＩメッセージを搬送する必須情報を構文解析することができる。
【０２３９】
[0248]いくつかの実例的なアプリケーションは、メディアトランスポートのためのリアルタイム転送プロトコル（ＲＴＰ）と、メディアについての情報をシグナリングするためのセッション記述プロトコル（ＳＤＰ）とを使用していることがあり得る。ＳＤＰは、マルチメディア通信セッションを記述するために使用されることができる。そのような記述は、例えば、セッション告知、セッション招待、およびパラメータネゴシエーションのために使用されることができる。ＳＤＰは、メディア自体を配信するために使用されないが、メディアタイプ、フォーマット、および関連するプロパティのネゴシエーションのためのエンドポイント間で使用されることができる。プロパティおよびパラメータのセットは、セッションプロファイルと呼ばれることが多い。ＳＤＰは当初、セッション告知プロトコル（ＳＡＰ）のコンポーネントであったが、リアルタイム転送プロトコル（ＲＴＰ）、リアルタイムストリーミングプロトコル（ＲＴＳＰ）、セッション開始プロトコル（ＳＩＰ）と併せた、およびマルチキャストセッションを記述するためのスタンドアロンフォーマットとしての、他の使用を見出された。ＳＤＰは、ＲＦＣ４５６６に記述されている。
【０２４０】
[0249]図６は、ネットワーク通信のためのオープンシステム相互接続（ＯＳＩ）モデル６００の例を例示している。このモデル内では、ＳＤＰは、セッションレイヤ６１０においてインプリメントされ、そこでは、接続管理、誤り回復、セキュリティ、リモート動作、および他の機能が生じる。セッション属性６２０は、セッションレイヤ６１０中で交換されることができる。
【０２４１】
[0250]ＯＳＩモデル６００は、通信機能を標準化し、およびコンプライアンスは、多様な通信システム間での相互運用性を可能にする。モデル６００中の各レイヤは、上位レイヤにサービングし、および下位レイヤによってサービングされる。物理レイヤ６０２は、物理媒体を通した生ビットストリームの送信および受信を定義する。データリンクレイヤ６０４は、２つのノード間でのデータフレームの信頼性の高い送信を定義する。物理アドレス指定のような動作は、データリンクレイヤ６０４中で処理される。ネットワークレイヤ６０６は、アドレス指定、ルーティング、およびトラフィック制御を含む、マルチノードネットワークの構造化および管理を定義する。パケットフラグメント化および論理アドレス指定のような動作は、ネットワークレイヤ６０６中で生じる。トランスポートレイヤ６０８は、セグメント化、確認応答、および多重化を含む、ネットワーク上の複数の地点間でのデータセグメントの信頼性の高い送信を定義する。エンドツーエンド接続管理、メッセージセグメント化、メッセージシーケンス処理（message sequencing）、信頼性、およびフロー制御のような動作は、トランスポートレイヤ６０８中で生じることができる。セッションレイヤ６１０は、セッションの管理を定義し、それは、２つのノード間での複数のバックツーバック送信の形式の情報の連続交換である。前述されたように、接続管理、誤り回復、セキュリティ、およびリモート動作のような動作は、セッションレイヤ６１０中で生じることができる。プレゼンテーションレイヤ６１２は、文字符号化と、データ圧縮と、暗号化および／または解読とを含む、ネットワークサービスとアプリケーションとの間でのデータの変換（translation of data）を定義する。アプリケーションレイヤ６１４は、リソース共有、リモートファイルアクセス、および他の動作を含む、高レベルのアプリケーションプログラミングインターフェース（ＡＰＩ）を含む。
【０２４２】
[0251]いくつかの例では、ＳＥＩメッセージを搬送する必須情報は、ＳＤＰ属性としてＳＤＰファイル中に含まれることができる。以下に提供されるのは、セッション記述中のフィールドの例である。オプションのフィールドは、「＝＊」で指定されており、および以下の例では、ＳＥＩメッセージを搬送する必須情報は、セッション属性行（lines）および／またはメディア属性行を使用して指定されることができる。
【０２４３】
[0252]セッション記述
ｖ＝（プロトコルバージョン番号、現在は０のみ）
ｏ＝（発信者およびセッション識別子：ユーザ名、ＩＤ、バージョン番号、ネットワークアドレス）
ｓ＝（セッション名：少なくとも１つのＵＦＴ−８符号化された文字を伴って必須）
ｉ＝＊（セッションタイトルまたは短い情報）
ｕ＝＊（記述のＵＲＩ）
ｅ＝＊（連絡先のオプション名を伴う０以上の電子メールアドレス）
ｐ＝＊（連絡先のオプション名を伴う０以上の電話番号）
ｃ＝＊（接続情報−全てのメディア中に含まれる場合は必要なし）
ｂ＝＊（０以上の帯域幅情報行）
１つまたは複数の時間記述（「ｔ＝」および「ｒ＝」行；以下を参照）
ｚ＝＊（時間ゾーン調節）
ｋ＝＊（暗号化キー）
ａ＝＊（０以上のセッション属性行）
０以上のメディア記述（各々は「Ｍ＝」行から開始；以下を参照）
【０２４４】
[0253]時間記述
ｔ＝（セッションがアクティブな時間）
ｒ＝＊（０以上の繰返し回数）
【０２４５】
[0254]メディア記述
ｍ＝（メディア名およびトランスポートアドレス）
ｉ＝＊（メディアタイトルまたは情報フィールド）
ｃ＝＊（接続情報−セッションレベルで含まれる場合はオプション）
ｂ＝＊（０以上の帯域幅情報行）
ｋ＝＊（暗号化キー）
ａ＝＊（０以上のメディア属性行−セッション属性行をオーバーライド）
【０２４６】
[0255]図７は、ビデオデータを符号化するためのプロセス７００の例を例示している。方法は、ここに説明されているもののようなビデオコーディングシステムによってインプリメントされることができる。
【０２４７】
[0256]７０２において、プロセス７００は、ビデオデータを受信することを含む。ビデオデータは、例えば、ビデオコーディングシステムのビデオキャプチャデバイスのために受信されることができる。別の例として、ビデオデータは、ハードドライブまたはフラッシュメモリデバイスのような記憶デバイスから、および／またはネットワーク上で受信されることができる。
【０２４８】
[0257]７０４において、プロセス７００は、符号化デバイスが、ビデオデータに関連付けられた情報がビデオデータを提示するのに必要とされるかどうかを決定することを含み、ここにおいて、情報は、ビデオデータを復号するために必要とされない。符号化デバイスは、ビデオコーディングシステムの一部であることができる。情報は、ビデオデータが受信されるのと同時に受信されることができる。代替として、情報は、符号化デバイスがビデオデータを受信する前に符号化デバイスに提供されることができる。例えば、符号化デバイスは、情報で事前に構成されることができる。代替として、情報は、ビデオデータのコンポーネントであることができる。
【０２４９】
[0258]様々な例では、情報は、復号デバイスによって使用されるとき、復号デバイスがある特定の方法でビデオデータを処理および／または表示することを可能にすることができる。例えば、情報は、フレームパッキング配置を含むことができ、それは、フレームが符号化される前にピクチャがフレームへとパッキングされる方式を示す。別の例として、情報は、ディスプレイの向きを含むことができ、それは、ビデオデータが提示されることになるディスプレイの所望される向き（例えば、回転）を示す。別の例として、情報は、セグメント化された矩形フレームパッキング配置を含み、それは、フレームへとパッキングされる前にピクチャがセグメント化されたこと、およびフレームが符号化される前にセグメントがフレームへとパッキングされた方式を示すことができる。別の例として、情報は、全方位投影インジケーションを含むことができ、それは、ビデオデータが３６０度ビデオデータであることを復号デバイスに示すことができる。これらおよび他の例では、いくつかのケースでは、復号デバイスは、復号デバイスがビデオデータを表示することが可能であるかどうかを決定するために、情報を使用することができる。
【０２５０】
[0259]様々な例では、符号化デバイスは、情報がビデオデータを提示するのに必要とされるかどうかを決定するために符号化デバイスが使用することができる１つまたは複数のパラメータで構成される。これらのパラメータは、例えば、中でもとりわけ、ビデオデータに適用するためのフィルムグレイン特性またはトーンマッピング、ビデオデータを作り出すために使用されるカラーボリュームまたはカラーマッピング、および／またはフレームパッキング構成を含むことができる。
【０２５１】
[0260]７０６（A 706）、プロセス７００は、補足エンハンスメント情報（ＳＥＩ）メッセージを生成することを含み、ここにおいて、ＳＥＩメッセージは、情報がビデオデータを提示するのに必要とされるかどうかを示すフィールドを含む。例えば、ＳＥＩメッセージは、ＳＥＩマニフェストメッセージであることができ、それは、ビデオデータとともに含まれるＳＥＩメッセージのタイプを識別するフィールドと、これらのＳＥＩメッセージの各々の必須性を示すフィールドとを含むことができる。別の例として、ＳＥＩメッセージは、必須情報を含み得るプレフィックスＳＥＩメッセージであることができる。別の例として、ＳＥＩメッセージは、ＥＳＩ ＳＥＩメッセージであることができる。別の例として、ＳＥＩメッセージは、ＮＳＩ ＳＥＩメッセージであることができる。
【０２５２】
[0261]いくつかの例では、ＳＥＩメッセージのシンタックス要素は、ＳＥＩメッセージのタイプを示す。これらの例では、復号デバイスは、表１−１〜表１−４に定義されているようなＳＥＩメッセージとは異なるものとしてそのＳＥＩメッセージを識別するために、シンタックス要素を使用することができる。
【０２５３】
[0262]７０８において、プロセス７００は、ビデオデータを符号化することを含む。ビデオデータは、例えば、ＨＥＶＣまたはＡＶＣ規格、あるいは別のビデオコーディング規格を使用して符号化されることができる。様々な例では、ビデオデータを符号化することは、符号化されたビデオビットストリームを作り出すことができ、ここで、符号化されたビデオビットストリームは、圧縮されたバージョンのビデオデータを含む。
【０２５４】
[0263]７１０において、プロセス７００は、符号化されたビデオデータとともにＳＥＩメッセージを含めることを含む。いくつかの例では、ＳＥＩメッセージは、符号化されたビデオデータ中に含まれることができる。いくつかの例では、ＳＥＩメッセージは、カプセル化されたフォーマットの符号化されたビデオデータとともに含まれることができる。
【０２５５】
[0264]例えば、プロセス７００は、ファイルに符号化されたビデオデータとＳＥＩメッセージとを書き込むことを含むことができ、ここにおいて、符号化されたビデオデータとＳＥＩメッセージとは、ファイルフォーマットにしたがってファイルに書き込まれる。これらの例では、プロセス７００はさらに、符号化されたビデオデータが読み取られる前にＳＥＩが読み取られることができるファイル中にＳＥＩメッセージを配置するためにそのファイルフォーマットを使用することを含むことができる。
【０２５６】
[0265]別の例として、プロセス７００は、ストリーミングのために、符号化されたビデオデータをカプセル化することを含むことができ、ここにおいて、符号化されたビデオデータは、ストリーミングフォーマットにしたがってカプセル化される。この例では、プロセス７００はさらに、ストリーミングフォーマットにしたがって、符号化されたビデオデータの記述を生成することを含むことができ、ここにおいて、記述は、ＳＥＩメッセージを含む。
【０２５７】
[0266]別の例として、プロセス７００は、ネットワーク上での送信のために、符号化されたビデオデータをカプセル化することを含むことができ、ここにおいて、符号化されたビデオデータは、コンテナフォーマットにしたがってカプセル化される。この例では、プロセス７００はさらに、コンテナフォーマットにしたがって、第１のパケットを生成することを含むことができ、ここにおいて、第１のパケットのペイロード部分は、記述子としてＳＥＩメッセージを含む。プロセス７００はさらに、符号化されたビデオデータを含む１つまたは複数のパケットを生成することを含むことができ、ここにおいて、１つまたは複数のパケットは、送信順序で第１のパケットに続く。
【０２５８】
[0267]別の例として、プロセス７００はさらに、ネットワーク上での送信のために、符号化されたビデオデータをカプセル化することを含むことができ、ここにおいて、符号化されたビデオデータは、リアルタイム転送プロトコルにしたがってカプセル化される。この例では、プロセス７００はさらに、セッション記述プロトコルにしたがって、セッション記述を生成することを含むことができ、ここにおいて、セッション記述は、ＳＥＩメッセージを含む。
【０２５９】
[0268]いくつかの例では、符号化されたデバイスは、情報がビデオデータを提示するのに必要とされると決定する。これらの例では、ＳＥＩメッセージ中のフィールドは、必須情報が符号化されたビデオデータ中に含まれるか、または符号化されたビデオデータを提供されることを示すことができる。これらの例では、復号デバイスは、必須情報を識別およびロケートするために、ＳＥＩメッセージを使用することができる。
【０２６０】
[0269]いくつかの態様では、符号化デバイスは、情報がビデオデータを提示するのに必要とされないと決定する。これらの例では、ＳＥＩメッセージ中のフィールドは、いかなる必須情報も符号化されたビデオデータ中に含まれないか、または符号化されたビデオデータとともに含まれないことを示すことができる。
【０２６１】
[0270]いくつかの例では、情報は、符号化されたビデオデータとともに含まれる。例えば、情報は、ＳＥＩメッセージ中に含まれることができる。代替としてまたは加えて、情報は、１つまたは複数の追加のＳＥＩメッセージ中に含まれることができる。いくつかの例では、追加のＳＥＩメッセージは、各ＳＥＩメッセージが搬送するタイプ情報を識別することができる。いくつかの例では、追加のＳＥＩメッセージの各々は、各ＳＥＩメッセージによって搬送される情報の必須性を示すことができる。いくつかの例では、各ＳＥＩメッセージの必須性は、上述されたように生成されたＳＥＩメッセージ中に示されている。
【０２６２】
[0271]図８は、ビデオデータを復号するためのプロセス８００の例を例示している。プロセス８００は、例えば、ここに説明されているもののようなビデオコーディングデバイスによってインプリメントされることができる。
【０２６３】
[0272]８０２において、プロセス８００は、復号デバイスにおいて、符号化されたビデオビットストリーム、補足エンハンスメント情報（ＳＥＩ）メッセージ、および符号化されたビデオビットストリームに関連付けられた情報を受信することを含む。いくつかの例では、復号デバイスは、ビデオコーディングデバイスの一部である。いくつかの例では、復号デバイスは、記憶デバイスからおよび／またはネットワーク上で、符号化されたビデオビットストリームを受信する。いくつかの例では、復号デバイスは、符号化デバイスから符号化されたビデオビットストリームを受信する。
【０２６４】
[0273]いくつかの例では、ＳＥＩメッセージおよび／または符号化されたビデオビットストリームに関連付けられた情報は、符号化されたビデオビットストリーム中に含まれる。いくつかの例では、ＳＥＩメッセージおよび／または情報は、例えば、符号化されたビデオビットストリームを含む、カプセル化されたフォーマットの符号化されたビデオビットストリームを提供される。
【０２６５】
[0274]例えば、符号化されたビデオビットストリーム、ＳＥＩメッセージ、および符号化されたビデオビットストリームに関連付けられた情報は、ファイル中で受信されることができ、ここで、ファイルは、ファイルフォーマットにしたがってフォーマットされる。この例では、ファイルフォーマットは、ＳＥＩメッセージが、符号化されたビデオビットストリームを含むファイルの一部の前の、復号デバイスによって読み取られるファイルの一部中にあることを規定することができる。
【０２６６】
[0275]別の例として、符号化されたビデオビットストリーム、ＳＥＩメッセージ、および符号化されたビデオビットストリームに関連付けられた情報は、データストリーム中で受信されることができ、ここで、データストリームは、ストリーミングフォーマットにしたがってフォーマットされる。この例では、復号デバイスは、データストリームから、符号化されたビデオデータの記述を読み取ることができ、ここで、記述は、ＳＥＩメッセージを含む。
【０２６７】
[0276]別の例として、符号化されたビデオビットストリーム、ＳＥＩメッセージ、および符号化されたビデオビットストリームに関連付けられた情報は、複数のネットワークパケット中で受信されることができる。この例では、復号デバイスは、複数のネットワークパケットからの第１のパケットのペイロード部分からＳＥＩメッセージを読み取ることができる。ＳＥＩメッセージは、例えば、ペイロード中の記述子として提供されることができる。この例では、復号デバイスはさらに、複数のネットワークパケットからの１つまたは複数のパケットから符号化されたビデオデータを読み取ることができ、ここで、１つまたは複数のパケットは、送信順序で第１のパケットに続く。
【０２６８】
[0277]別の例として、符号化されたビデオビットストリーム、ＳＥＩメッセージ、および符号化されたビデオビットストリームに関連付けられた情報は、ネットワーク上で受信されることができる。この例では、符号化されたビデオビットストリームは、リアルタイム転送プロトコルにしたがってカプセル化されることができ、およびＳＥＩメッセージは、セッション記述中に含まれることができ、ここで、セッション記述は、セッション記述プロトコルにしたがってフォーマットされる。
【０２６９】
[0278]８０４において、プロセス８００は、ＳＥＩメッセージを使用して、情報が符号化されたビデオビットストリーム中のビデオデータを提示するのに必要とされるかどうかを決定することを含み、ここにおいて、情報は、ビデオデータを復号するために必要とされず、およびＳＥＩメッセージは、情報がビデオデータを提示するのに必要とされるかどうかを示すフィールドを含む。
【０２７０】
[0279]いくつかの例では、ＳＥＩメッセージのシンタックス要素は、ＳＥＩメッセージのタイプを示す。これらの例では、復号デバイスは、情報がビデオデータを提示するのに必要とされるかどうかのインジケーションをＳＥＩメッセージが含むことができると決定するために、シンタックス要素を使用することができる。
【０２７１】
[0280]いくつかの例では、情報は、符号化されたビデオデータとともに含まれるＳＥＩメッセージ中および／または１つまたは複数の追加のＳＥＩメッセージ中に含まれる。例えば、ＳＥＩメッセージは、符号化されたビデオデータとともに含まれるＳＥＩメッセージのタイプのリストを含むことができる。この例では、リストはさらに、ＳＥＩメッセージの各々中に含まれるデータの必須性を示すことができる。別の例として、ＳＥＩメッセージタイプは、ＳＥＩメッセージが必須情報を含むか、含まないかを示すことができる。
【０２７２】
[0281]８０６において、プロセス８００は、ビデオデータを作り出すために、符号化されたビデオビットストリームを復号することを含み、ここにおいて、符号化されたビデオビットストリームは、情報がビデオデータを提示するのに必要とされるかどうかを決定することの結果にしたがって復号される。
【０２７３】
[0282]いくつかの例では、復号デバイスは、情報がビデオデータを提示するのに必要とされると決定する。これらの例では、復号デバイスは、情報にしたがってビデオデータを構成する。例えば、符号化されたビデオデータを復号すると、復号デバイスは、フレームパッキングフォーマットにしたがってビデオフレームのコンテンツを再配置することができる。別の例として、復号デバイスは、３６０度表示を使用する表示のためにビデオフレームを配置することができる。別の例として、復号デバイスは、ディスプレイデバイスに色情報を提供することができ、ここで、ビデオデータは、色情報を使用して表示されることができる。
【０２７４】
[0283]いくつかの例では、復号デバイスは、情報がビデオデータを提示するのに必要とされないと決定する。これらの例では、復号デバイスは、情報を使用することなしに、符号化されたビデオデータを復号することができる。
【０２７５】
[0284]いくつかの例では、プロセス７００、８００は、ビデオコーディングシステム１００のような、コンピューティングデバイスまたは装置によって実行され得る。例えば、プロセス７００、８００は、図１に示されているビデオコーディングシステム１００によって実行されることができる。いくつかのケースでは、コンピューティングデバイスまたは装置は、プロセッサ、マイクロプロセッサ、マイクロコンピュータ、またはプロセス７００、８００のステップを行うように構成されているデバイスの他のコンポーネントを含み得る。いくつかの例では、コンピューティングデバイスまたは装置は、ビデオフレームを含むビデオデータ（例えば、ビデオシーケンス）をキャプチャするように構成されたカメラを含み得る。例えば、コンピューティングデバイスは、ビデオコーデックを含み得るカメラデバイス（例えば、ＩＰカメラまたは他のタイプのカメラデバイス）を含み得る。いくつかの例では、カメラまたはビデオデータをキャプチャする他のキャプチャデバイスは、コンピューティングデバイスとは別個であり、そのケースでは、コンピューティングデバイスは、キャプチャされたビデオデータを受信する。コンピューティングデバイスはさらに、ビデオデータを通信するように構成されたネットワークインターフェースを含み得る。ネットワークインターフェースは、インターネットプロトコル（ＩＰ）ベースのデータを通信するように構成され得る。
【０２７６】
[0285]プロセス７００、８００は、論理フロー図として例示されており、それらの動作は、ハードウェア、コンピュータ命令、またはそれらの組み合わせにおいてインプリメントされることができる動作のシーケンスを表す。コンピュータ命令のコンテキストでは、動作は、１つまたは複数のプロセッサによって実行されると、記載された動作を実行する、１つまたは複数のコンピュータ可読記憶媒体上に記憶されたコンピュータ実行可能命令を表す。概して、コンピュータ実行可能命令は、特定の機能を実行するか、または特定のデータタイプをインプリメントする、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、および同様のものを含む。動作が説明された順序は、限定として解釈されることを意図されておらず、および任意の数の説明された動作は、プロセスをインプリメントするために任意の順序でおよび／または平行して組み合わされることができる。
【０２７７】
[0286]加えて、プロセス７００、８００は、実行可能命令で構成された１つまたは複数のコンピュータシステムの制御下で実行され得、および１つまたは複数のプロセッサ上で、ハードウェアによって、またはそれらの組み合わせで、集合的に実行するコード（例えば、実行可能命令、１つまたは複数のコンピュータプログラム、あるいは１つまたは複数のアプリケーション）としてインプリメントされ得る。上述されたように、コードは、例えば、１つまたは複数のプロセッサによって実行可能である複数の命令を備えるコンピュータプログラムの形態で、コンピュータ可読または機械可読記憶媒体上に記憶され得る。コンピュータ可読または機械可読記憶媒体は、非一時的であり得る。
【０２７８】
[0287]ここに論述された方法および動作は、圧縮されたビデオを使用してインプリメントされ得、および実例的なビデオ符号化および復号システム（例えば、システム１００）においてインプリメントされ得る。いくつかの例では、システムは、宛先デバイスによって後の時間に復号されることになる符号化されたビデオデータを提供するソースデバイスを含む。特に、ソースデバイスは、コンピュータ可読媒体を介して宛先デバイスにビデオデータを提供する。ソースデバイスおよび宛先デバイスは、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンのような電話ハンドセット、いわゆる「スマート」パッド、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーミングコンソール、ビデオストリーミングデバイス、または同様のものを含む、幅広い範囲のデバイスのうちの任意のものを備え得る。いくつかのケースでは、ソースデバイスおよび宛先デバイスは、ワイヤレス通信のために装備され得る。
【０２７９】
[0288]宛先デバイスは、コンピュータ可読媒体を介して復号されることになる符号化されたビデオデータを受信し得る。コンピュータ可読媒体は、ソースデバイスから宛先デバイスに符号化されたビデオデータを移動させることが可能である任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体は、ソースデバイスがリアルタイムで宛先デバイスに符号化されたビデオデータを直接送信することを可能にするための通信媒体を備え得る。符号化されたビデオデータは、ワイヤレス通信プロトコルのような通信規格にしたがって変調され、および宛先デバイスに送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理的伝送線路のような任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットのようなグローバルネットワークのような、パケットベースのネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイスから宛先デバイスへの通信を容易にするのに有用であり得る任意の他の機器を含み得る。
【０２８０】
[0289]いくつかの例では、符号化されたデータは、出力インターフェースから記憶デバイスに出力され得る。同様に、符号化されたデータは、入力インターフェースによって記憶デバイスからアクセスされ得る。記憶デバイスは、ハードドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性または非揮発性メモリ、あるいは符号化されたビデオデータを記憶するための任意の他の適したデジタル記憶媒体のような、多様な分散されたまたは局所的にアクセスされるデータ記憶媒体のうちの任意のものを含み得る。さらなる例では、記憶デバイスは、ファイルサーバ、またはソースデバイスによって生成される符号化されたビデオを記憶し得る別の中間記憶デバイスに対応し得る。宛先デバイスは、ストリーミングまたはダウンロードを介して記憶デバイスからの記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶することと、宛先デバイスにその符号化されたビデオデータを送信することとが可能である任意のタイプのサーバであり得る。実例的なファイルサーバは、（例えば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続記憶（ＮＡＳ）デバイス、またはローカルディスクドライブを含む。宛先デバイスは、インターネット接続を含む、任意の標準データ接続を通じて、符号化されたビデオデータにアクセスし得る。これは、ファイルサーバ上に記憶された符号化されたビデオデータにアクセスするのに適している、ワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ接続）、ワイヤード接続（例えば、ＤＳＬ、ケーブルモデム、等）、またはその両方の組み合わせを含み得る。記憶デバイスからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組み合わせであり得る。
【０２８１】
[0290]この開示の技法は、ワイヤレスアプリケーションまたは設定に必ずしも限定されるわけではない。本技法は、無線テレビ放送、ケーブルテレビ送信、衛星テレビ送信、ＨＴＴＰを通した動的適応型ストリーミング（ＤＡＳＨ）のようなインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されるデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他のアプリケーションのような、多様なマルチメディアアプリケーションのうちの任意のものをサポートするビデオコーディングに適用され得る。いくつかの例では、システムは、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオ電話通信のようなアプリケーションをサポートするために、１方向または２方向ビデオ送信をサポートするように構成され得る。
【０２８２】
[0291]一例では、ソースデバイスは、ビデオソース、ビデオ符号化器、および出力インターフェースを含む。宛先デバイスは、入力インターフェース、ビデオ復号器、およびディスプレイデバイスを含み得る。ソースデバイスのビデオ符号化器は、ここに開示される技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは、他のコンポーネントまたは配置を含み得る。例えば、ソースデバイスは、外部カメラのような外部ビデオソースからビデオデータを受信し得る。同様に、宛先デバイスは、統合されたディスプレイデバイスを含むというよりはむしろ、外部ディスプレイデバイスとインターフェースし得る。
【０２８３】
[0292]上記の実例的なシステムは単に一例に過ぎない。平行してビデオデータを処理するための技法は、任意のデジタルビデオ符号化および／または復号デバイスによって実行され得る。概して、この開示の技法は、ビデオ符号化デバイスによって実行されるが、本技法はまた、典型的に「ＣＯＤＥＣ」と呼ばれるビデオ符号化器／復号器によって実行され得る。その上、この開示の技法はまた、ビデオプリプロセッサによって実行され得る。ソースデバイスおよび宛先デバイスは単に、ソースデバイスが宛先デバイスへの送信のためのコーディングされたビデオデータを生成するそのようなコーディングデバイスの例に過ぎない。いくつかの例では、ソースデバイスおよび宛先デバイスは、それらデバイスの各々がビデオ符号化および復号コンポーネントを含むような実質的に対称的な方式で動作し得る。故に、実例的なシステムは、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、またはビデオ電話通信のために、ビデオデバイス間の１方向または２方向ビデオ送信をサポートし得る。
【０２８４】
[0293]ビデオソースは、ビデオカメラのようなビデオキャプチャデバイス、以前にキャプチャされたビデオを包含するビデオアーカイブ、および／またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソースは、ソースビデオとしてコンピュータグラフィックスベースのデータを、またはライブビデオ、アーカイブされたビデオ、およびコンピュータ生成されたビデオの組み合わせを生成し得る。いくつかのケースでは、ビデオソースがビデオカメラである場合、ソースデバイスおよび宛先デバイスは、いわゆるカメラ電話またはビデオ電話を形成し得る。上述されたように、しかしながら、この開示に説明される技法は、一般にビデオコーディングに適用可能であり得、およびワイヤレスおよび／またはワイヤードアプリケーションに適用され得る。各ケースでは、キャプチャされた、事前にキャプチャされた、またはコンピュータ生成されたビデオは、ビデオ符号化器によって符号化され得る。符号化されたビデオ情報はその後、コンピュータ可読媒体上に出力インターフェースによって出力され得る。
【０２８５】
[0294]述べられたように、コンピュータ可読媒体は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信のような一過性媒体、あるいはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Ｂｌｕ−ｒａｙディスク、もしくは他のコンピュータ可読媒体のような記憶媒体（すなわち、非一時的記憶媒体）を含み得る。いくつかの例では、ネットワークサーバ（図示せず）は、ソースデバイスから符号化されたビデオデータを受信し、および例えば、ネットワーク送信を介して、宛先デバイスに符号化されたビデオデータを提供し得る。同様に、ディスクスタンピング設備のような媒体製造設備のコンピューティングデバイスは、ソースデバイスから符号化されたビデオデータを受信し、および符号化されたビデオデータを包含するディスクを製造し得る。したがって、コンピュータ可読媒体は、様々な例において、様々な形態の１つまたは複数のコンピュータ可読媒体を含むことが理解され得る。
【０２８６】
[0295]宛先デバイスの入力インターフェースは、コンピュータ可読媒体から情報を受信する。コンピュータ可読媒体の情報は、ブロックおよび他のコーディングユニット、例えば、ピクチャのグループ（ＧＯＰ：group of pictures）の特性および／または処理を記述するシンタックス要素を含む、ビデオ符号化器によって定義されるシンタックス情報を含み得、それはまた、ビデオ復号器によって使用される。ディスプレイデバイスは、ユーザに復号されたビデオデータを表示し、およびブラウン管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスのような多様なディスプレイデバイスのうちの任意のものを備え得る。様々な例が説明されてきた。
【０２８７】
[0296]符号化デバイス１０４および復号デバイス１１２の特定の詳細は、それぞれ、図９および図１０に示されている。図９は、この開示に説明された技法のうちの１つまたは複数をインプリメントし得る実例的な符号化デバイス１０４を例示するブロック図である。符号化デバイス１０４は、例えば、ここに説明されるシンタックス構造（例えば、ＶＰＳ、ＳＰＳ、ＰＰＳ、または他のシンタックス要素のシンタックス構造）を生成し得る。符号化デバイス１０４は、ビデオスライス内のビデオブロックのイントラ予測およびインター予測コーディングを実行し得る。前述されたように、イントラコーディングは、所与のビデオフレームまたはピクチャ内の空間的冗長性を低減または取り除くために空間的予測に少なくとも部分的に依拠する。インターコーディングは、ビデオシーケンスの隣接または周囲フレーム内の時間的冗長性を低減または取り除くために時間的予測に少なくとも部分的に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースの圧縮モードのうちの任意のものを指し得る。単方向予測（Ｐモード）または双予測（Ｂモード）のようなインターモードは、いくつかの時間ベースの圧縮モードのうちの任意のものを指し得る。
【０２８８】
[0297]符号化デバイス１０４は、区分化ユニット３５、予測処理ユニット４１、フィルタユニット６３、ピクチャメモリ６４、加算器５０、変換処理ユニット５２、量子化ユニット５４、およびエントロピー符号化ユニット５６を含む。予測処理ユニット４１は、動き推定ユニット４２、動き補償ユニット４４、およびイントラ予測処理ユニット４６を含む。ビデオブロック再構築のために、符号化デバイス１０４はまた、逆量子化ユニット５８、逆変換処理ユニット６０、および加算器６２を含む。フィルタユニット６３は、デブロッキングフィルタ、適応ループフィルタ（ＡＬＦ）、およびサンプル適応オフセット（ＳＡＯ）フィルタのような１つまたは複数のループフィルタを表すことを意図されている。フィルタユニット６３は、インループフィルタとして図９に示されているが、他の構成では、フィルタユニット６３は、ポストループフィルタとしてインプリメントされ得る。後処理デバイス（A post processing device）５７は、符号化デバイス１０４によって生成される符号化されたビデオデータに対して追加の処理を実行し得る。この開示の技法は、いくつかの事例では、符号化デバイス１０４によってインプリメントされ得る。他の事例では、しかしながら、この開示の技法のうちの１つまたは複数は、後処理デバイス５７によってインプリメントされ得る。
【０２８９】
[0298]図９に示されているように、符号化デバイス１０４は、ビデオデータを受信し、および区分化ユニット３５は、データをビデオブロックへと区分化する。その区分化はまた、スライス、スライスセグメント、タイル、または他のより大きなユニットへの区分化、ならびに、例えば、ＬＣＵおよびＣＵの四分木構造にしたがったビデオブロック区分化を含み得る。符号化デバイス１０４は概して、符号化されることになるビデオスライス内のビデオブロックを符号化するコンポーネントを例示している。スライスは、複数のビデオブロックへと（およびことによると、タイルと呼ばれるビデオブロックのセットへと）分割され得る。予測処理ユニット４１は、誤差結果（例えば、コーディングレートおよび歪みのレベル、または同様のもの）に基づいて、現在のビデオブロックに対して、複数のイントラ予測コーディングモードのうちの１つまたは複数のインター予測コーディングモードのうちの１つのような複数の可能なコーディングモードのうちの１つを選択し得る。予測処理ユニット４１は、残差ブロックデータを生成するために加算器５０に、および参照ピクチャとして使用するための符号化されたブロックを再構築するために加算器６２に、結果として生じるイントラまたはインターコーディングされたブロックを提供し得る。
【０２９０】
[0299]予測処理ユニット４１内のイントラ予測処理ユニット４６は、空間的圧縮を提供するために、コーディングされることになる現在のブロックと同じフレームまたはスライス中の１つまたは複数の近隣ブロックに対して、現在のビデオブロックのイントラ予測コーディングを実行し得る。予測処理ユニット４１内の動き推定ユニット４２および動き補償ユニット４４は、時間的圧縮を提供するために、１つまたは複数の参照ピクチャ中の１つまたは複数の予測ブロックに対して、現在のビデオブロックのインター予測コーディングを実行する。
【０２９１】
[0300]動き推定ユニット４２は、ビデオシーケンスについての所定のパターンにしたがって、ビデオスライスについてのインター予測モードを決定するように構成され得る。所定のパターンは、Ｐスライス、Ｂスライス、またはＧＰＢスライスとして、シーケンス中のビデオスライスを指定し得る。動き推定ユニット４２および動き補償ユニット４４は、高度に統合され得るが、概念的な目的のために別個に例示されている。動き推定ユニット４２によって実行される動き推定は、動きベクトルを生成するプロセスであり、それは、ビデオブロックについての動きを推定する。動きベクトルは、例えば、参照ピクチャ内の予測ブロックに対する、現在のビデオフレームまたはピクチャ内のビデオブロックの予測ユニット（ＰＵ）の変位を示し得る。
【０２９２】
[0301]予測ブロックは、ピクセル差分の観点から、コーディングされることになるビデオブロックのＰＵと密接にマッチすることを見出されるブロックであり、それは、絶対差分の和（ＳＡＤ：sum of absolute difference）、２乗差分の和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって決定され得る。いくつかの例では、符号化デバイス１０４は、ピクチャメモリ６４中に記憶された参照ピクチャのサブ整数ピクセル位置についての値を算出し得る。例えば、符号化デバイス１０４は、参照ピクチャの４分の１ピクセル位置、８分の１ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット４２は、フルピクセル位置および分数ピクセル位置に対して動き探索を実行し、および分数ピクセル精度で動きベクトルを出力し得る。
【０２９３】
[0302]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコーディングされたスライス中のビデオブロックのＰＵについての動きベクトルを算出する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの各々は、ピクチャメモリ６４中に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、エントロピー符号化ユニット５６および動き補償ユニット４４に算出された動きベクトルを送る。
【０２９４】
[0303]動き補償ユニット４４によって実行される動き補償は、動き推定によって決定される動きベクトルに基づいて予測ブロックをフェッチするまたは生成することを伴い得、ことによるとサブピクセル精度に対する補間を実行する。現在のビデオブロックのＰＵについての動きベクトルを受信すると、動き補償ユニット４４は、参照ピクチャリスト中に、動きベクトルが指し示す予測ブロックをロケートし得る。符号化デバイス１０４は、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算することによって残差ビデオブロックを形成し、ピクセル差分値を形成する。ピクセル差分値は、ブロックについての残差データを形成し、およびルーマ差分成分とクロマ差分成分との両方を含み得る。加算器５０は、この減算演算を実行する１つまたは複数のコンポーネントを表す。動き補償ユニット４４はまた、ビデオスライスのビデオブロックを復号する際に復号デバイス１１２によって使用するための、ビデオブロックおよびビデオスライスに関連付けられたシンタックス要素を生成し得る。
【０２９５】
[0304]イントラ予測処理ユニット４６は、上述されたように、動き推定ユニット４２および動き補償ユニット４４によって実行されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測処理ユニット４６は、現在のブロックを符号化するために使用するイントラ予測モードを決定し得る。いくつかの例では、イントラ予測処理ユニット４６は、例えば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化し得、およびイントラ予測処理ユニット４６は、テストされたモードから、使用するのに適切なイントラ予測モードを選択し得る。例えば、イントラ予測処理ユニット４６は、様々なテストされたイントラ予測モードについてのレート−歪み分析を使用してレート−歪み値を算出し得、およびテストされたモードの中で最良のレート−歪み特性を有するイントラ予測モードを選択し得る。レート歪み分析は概して、符号化されたブロックと、符号化されたブロックを作り出すために符号化された元の符号化されていないブロックとの間の歪み（または誤差）の量、ならびに符号化されたブロックを作り出すために使用されたビットレート（すなわち、ビットの数）を決定する。イントラ予測処理ユニット４６は、どのイントラ予測モードがブロックについての最良のレート−歪み値を示すかを決定するために、様々な符号化されたブロックについての歪みおよびレートから比率を算出し得る。
【０２９６】
[0305]いずれのケースでも、ブロックについてのイントラ予測モードを選択した後に、イントラ予測処理ユニット４６は、エントロピー符号化ユニット５６にブロックについての選択されたイントラ予測モードを示す情報を提供し得る。エントロピー符号化ユニット５６は、選択されたイントラ予測モードを示す情報を符号化し得る。符号化デバイス１０４は、様々なブロックについての符号化コンテキストの定義、ならびにそのコンテキストの各々に対して使用する最確イントラ予測モード、イントラ予測モードインデックステーブル、および修正されたイントラ予測モードインデックステーブルのインジケーションを、送信されたビットストリーム構成データ中に含め得る。ビットストリーム構成データは、複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）を含み得る。
【０２９７】
[0306]予測処理ユニット４１がインター予測またはイントラ予測のいずれかを介して現在のビデオブロックについての予測ブロックを生成した後に、符号化デバイス１０４は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、１つまたは複数のＴＵ中に含まれ、および変換処理ユニット５２に適用され得る。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換のような変換を使用して、残差ビデオデータを残差変換係数へと変換する。変換処理ユニット５２は、ピクセルドメインから周波数ドメインのような変換ドメインへと残差ビデオデータを変換し得る。
【０２９８】
[0307]変換処理ユニット５２は、量子化ユニット５４に結果として生じる変換係数を送り得る。量子化ユニット５４は、ビットレートをさらに低減するために、変換係数を量子化する。量子化プロセスは、係数のうちのいくつかまたは全てに関連付けられたビット深度を低減し得る。量子化の程度は、量子化パラメータを調節することによって修正され得る。いくつかの例では、量子化ユニット５４はその後、量子化された変換係数を含む行列の走査を実行し得る。代替として、エントロピー符号化ユニット５６が走査を実行し得る。
【０２９９】
[0308]量子化に続いて、エントロピー符号化ユニット５６は、量子化された変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット５６は、コンテキスト適応可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースのコンテキスト適応バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分化エントロピー（ＰＩＰＥ）コーディング、または別のエントロピー符号化技法を実行し得る。エントロピー符号化ユニット５６によるエントロピー符号化に続いて、符号化されたビットストリームは、復号デバイス１１２に送信され得るか、または復号デバイス１１２による後の送信または取り出しのためにアーカイブされ得る。エントロピー符号化ユニット５６はまた、コーディングされている現在のビデオスライスについての動きベクトルおよび他のシンタックス要素をエントロピー符号化し得る。
【０３００】
[0309]逆量子化ユニット５８および逆変換処理ユニット６０は、参照ピクチャの参照ブロックとして後に使用するためにピクセルドメイン中の残差ブロックを再構築するために、それぞれ逆量子化および逆変換を適用する。動き補償ユニット４４は、参照ピクチャリスト内の参照ピクチャのうちの１つの予測ブロックに残差ブロックを追加することによって、参照ブロックを算出し得る。動き補償ユニット４４はまた、動き推定において使用するためのサブ整数ピクセル値を算出するために、再構築された残差ブロックに１つまたは複数の補間フィルタを適用し得る。加算器６２は、ピクチャメモリ６４中での記憶のための参照ブロックを作り出すために、動き補償ユニット４４によって作り出された動き補償予測ブロックに再構築された残差ブロックを追加する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、参照ブロックとして動き推定ユニット４２および動き補償ユニット４４によって使用され得る。
【０３０１】
[0310]このように、図９の符号化デバイス１０４は、符号化されたビデオビットストリームについてのシンタックスを生成するように構成されたビデオ符号化器の例を表している。符号化デバイス１０４は、例えば、上述されたように、ＶＰＳ、ＳＰＳ、およびＰＰＳパラメータセットを生成し得る。符号化デバイス１０４は、図７および図８に関して上述されたプロセスを含む、ここに説明された技法のうちの任意のものを実行し得る。この開示の技法は概して、符号化デバイス１０４に関して説明されてきたが、上述されたように、この開示の技法のうちのいくつかはまた、後処理デバイス５７によってインプリメントされ得る。
【０３０２】
[0311]図１０は、実例的な復号デバイス１１２を例示するブロック図である。復号デバイス１１２は、エントロピー復号ユニット８０、予測処理ユニット８１、逆量子化ユニット８６、逆変換処理ユニット８８、加算器９０、フィルタユニット９１、およびピクチャメモリ９２を含む。予測処理ユニット８１は、動き補償ユニット８２およびイントラ予測処理ユニット８４を含む。復号デバイス１１２は、いくつかの例では、図９からの符号化デバイス１０４に関して説明された符号化パスとは概して相反する復号パスを実行し得る。
【０３０３】
[0312]復号プロセス中に、復号デバイス１１２は、符号化デバイス１０４によって送られる符号化されたビデオスライスのビデオブロックと関連するシンタックス要素とを表す符号化されたビデオビットストリームを受信する。いくつかの例では、復号デバイス１１２は、符号化デバイス１０４から符号化されたビデオビットストリームを受信し得る。いくつかの例では、復号デバイス１１２は、サーバ、媒体認識ネットワーク要素（ＭＡＮＥ：a media-aware network element）、ビデオエディタ／スプライサ、または上述された技法のうちの１つまたは複数をインプリメントするように構成された他のそのようなデバイスのようなネットワークエンティティ７９から符号化されたビデオビットストリームを受信し得る。ネットワークエンティティ７９は、符号化デバイス１０４を含むことも含まないこともあり得る。この開示に説明された技法のうちのいくつかは、ネットワークエンティティ７９が復号デバイス１１２に符号化されたビデオビットストリームを送信するより前にネットワークエンティティ７９によってインプリメントされ得る。いくつかのビデオ復号システムでは、ネットワークエンティティ７９および復号デバイス１１２は、別個のデバイスの一部であり得るが、その一方で、他の事例では、ネットワークエンティティ７９に関して説明された機能は、復号デバイス１１２を備える同じデバイスによって実行され得る。
【０３０４】
[0313]復号デバイス１１２のエントロピー復号ユニット８０は、量子化された係数、動きベクトル、および他のシンタックス要素を生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット８０は、予測処理ユニット８１に動きベクトルおよび他のシンタックス要素を転送する。復号デバイス１１２は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。エントロピー復号ユニット８０は、ＶＰＳ、ＳＰＳ、およびＰＰＳのような、または複数の（or more）パラメータセット中の固定長シンタックス要素と可変長シンタックス要素との両方を処理および構文解析し得る。
【０３０５】
[0314]ビデオスライスがイントラコーディングされた（Ｉ）スライスとしてコーディングされるとき、予測処理ユニット８１のイントラ予測処理ユニット８４は、現在のフレームまたはピクチャの以前に復号されたブロックからのデータおよびシグナリングされたイントラ予測モードに基づいて、現在のビデオスライスのビデオブロックについての予測データを生成し得る。ビデオフレームがインターコーディングされた（すなわち、Ｂ、ＰまたはＧＰＢ）スライスとしてコーディングされるとき、予測処理ユニット８１の動き補償ユニット８２は、エントロピー復号ユニット８０から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックについての予測ブロックを作り出す。予測ブロックは、参照ピクチャリスト内の参照ピクチャのうちの１つから作り出され得る。復号デバイス１１２は、ピクチャメモリ９２中に記憶された参照ピクチャに基づいて、デフォルト構築技法を使用して参照フレームリスト、リスト０およびリスト１を構築し得る。
【０３０６】
[0315]動き補償ユニット８２は、動きベクトルおよび他のシンタックス要素を構文解析することによって現在のビデオスライスのビデオブロックについての予測情報を決定し、および復号されている現在のビデオブロックについての予測ブロックを作り出すために予測情報を使用する。例えば、動き補償ユニット８２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（例えば、イントラまたはインター予測）と、インター予測スライスタイプ（例えば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、スライスについての１つまたは複数の参照ピクチャリストについての構築情報と、スライスの各インター符号化されたビデオブロックについての動きベクトルと、スライスの各インターコーディングされたビデオブロックについてのインター予測状態と、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、パラメータセット中の１つまたは複数のシンタックス要素を使用し得る。
【０３０７】
[0316]動き補償ユニット８２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット８２は、参照ブロックのサブ整数ピクセルについての補間された値を算出するために、ビデオブロックの符号化中に符号化デバイス１０４によって使用されるような補間フィルタを使用し得る。このケースでは、動き補償ユニット８２は、受信されたシンタックス要素から符号化デバイス１０４によって使用される補間フィルタを決定し得、および予測ブロックを作り出すために補間フィルタを使用し得る。
【０３０８】
[0317]逆量子化ユニット８６は、ビットストリーム中で提供され、且つエントロピー復号ユニット８０によって復号された、量子化された変換係数を逆量子化（inverse quantizes）、すなわち逆量子化（de-quantizes）する。逆量子化プロセスは、量子化の程度、および同様に、適用されるべき逆量子化の程度を決定するために、ビデオスライス中の各ビデオブロックについて符号化デバイス１０４によって算出される量子化パラメータの使用を含み得る。逆変換処理ユニット８８は、ピクセルドメイン中に残差ブロックを作り出すために、変換係数に逆変換（例えば、逆ＤＣＴまたは他の適した逆変換）、逆整数変換、あるいは概念的に同様の逆変換プロセスを適用する。
【０３０９】
[0318]動き補償ユニット８２が動きベクトルおよび他のシンタックス要素に基づいて現在のビデオブロックについての予測ブロックを生成した後に、復号デバイス１１２は、逆変換処理ユニット８８からの残差ブロックを、動き補償ユニット８２によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器９０は、この加算演算を実行する１つまたは複数のコンポーネントを表す。所望される場合、（コーディングループ中またはコーディングループ後のいずれかの）ループフィルタはまた、ピクセル遷移を平滑化するために、またはそうでない場合にはビデオ品質を改善するために使用され得る。フィルタユニット９１は、デブロッキングフィルタ、適応ループフィルタ（ＡＬＦ）、およびサンプル適応オフセット（ＳＡＯ）フィルタのような１つまたは複数のループフィルタを表すことを意図されている。フィルタユニット９１は、インループフィルタとして図１０に示されているが、他の構成では、フィルタユニット９１は、ポストループフィルタとしてインプリメントされ得る。所与のフレームまたはピクチャ中の復号されたビデオブロックはその後、ピクチャメモリ９２中に記憶され、それは、後続する動き補償のために使用される参照ピクチャを記憶する。ピクチャメモリ９２はまた、図１に示されているビデオ宛先デバイス１２２のようなディスプレイデバイス上での後の提示のために、復号されたビデオを記憶する。
【０３１０】
[0319]前述の説明では、本願の態様は、その特定の例を参照して説明されているが、当業者は、本願はそれに限定されないと認識するであろう。このことから、本願の例がここに詳細に説明されてきたが、発明の概念は、他の方法で様々に具現化および用いられ得、および添付された特許請求の範囲は、先行技術によって限定される場合を除いて、そのような変形を含むように解釈されることを意図されていることが理解されるべきである。上述された例の様々な特徴および態様は、個々にまたは一緒に使用され得る。さらに、説明された例は、本明細書のより広い趣旨および範囲から逸脱することなしに、ここに説明されたものを超えた任意の数の環境およびアプリケーションにおいて利用されることができる。本明細書および図面は、それ故に、制限的というよりはむしろ例示的であると見なされるべきである。例示を目的として、方法は、特定の順序で説明された。代替の例では、方法は、説明されたものとは異なる順序で実行され得ることが認識されるべきである。
【０３１１】
[0320]コンポーネントがある特定の動作を実行する「ように構成される」ものとして説明される場合、そのような構成は、例えば、動作を実行するように電子回路または他のハードウェアを設計することによって、動作を実行するようにプログラマブル電子回路（例えば、マイクロプロセッサ、または他の適した電子回路）をプログラミングすることによって、またはそれらの任意の組み合わせで、達成されることができる。
【０３１２】
[0321]ここに開示された例に関連して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、ファームウェア、またはそれらの組み合わせとしてインプリメントされ得る。ハードウェアおよびソフトウェアのこの互換性を明確に例示するために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップが、概してそれらの機能の観点から上述されてきた。そのような機能がハードウェアとしてインプリメントされるか、またはソフトウェアとしてインプリメントされるかは、特定のアプリケーションとシステム全体に課せられた設計制約とに依存する。当業者は、特定のアプリケーションごとに様々な方法で、説明された機能をインプリメントし得るが、そのようなインプリメンテーションの決定は、本願の範囲からの逸脱を引き起こしていると解釈されるべきではない。
【０３１３】
[0322]ここに説明された技法はまた、電子ハードウェア、コンピュータソフトウェア、ファームウェア、またはそれらの任意の組み合わせにおいてインプリメントされ得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、またはワイヤレス通信デバイスハンドセットおよび他のデバイスにおけるアプリケーションを含む複数の用途を有する集積回路デバイスのような多様なデバイスのうちの任意のものにおいてインプリメントされ得る。モジュールまたはコンポーネントとして説明されたどの特徴も、集積ロジックデバイスにおいてともに、またはディスクリートではあるが相互運用可能なロジックデバイスとして別個に、インプリメントされ得る。ソフトウェアにおいてインプリメントされる場合、本技法は、実行されると、上述された方法のうちの１つまたは複数を実行する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、コンピュータプログラム製品の一部を形成し得、それは、パッケージング材料を含み得る。コンピュータ可読媒体は、同期動的ランダムアクセスメモリ（ＳＤＲＡＭ）のようなランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、不揮発ランダムアクセスメモリ（ＮＶＲＡＭ）、電気的消去可能プログラマブル読取専用メモリ（ＥＥＰＲＯＭ（登録商標））、ＦＬＡＳＨメモリ、磁気または光データ記憶媒体、および同様のもののようなメモリまたはデータ記憶媒体を備え得る。本技法は加えて、または代替として、伝搬される信号または波のような、コンピュータによってアクセス、読み取り、および／または実行されることができ、且つデータ構造または命令の形態でプログラムコードを搬送または通信するコンピュータ可読通信媒体によって少なくとも部分的に実現され得る。
【０３１４】
[0323]プログラムコードは、プロセッサによって実行され得、それは、１つまたは複数のデジタルシグナルプロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、あるいは他の同等の集積回路またはディスクリートロジック回路のような１つまたは複数のプロセッサを含み得る。そのようなプロセッサは、この開示に説明された技法のうちの任意のものを実行するように構成され得る。汎用プロセッサは、マイクロプロセッサであり得るが、代替では、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えば、ＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと連携した１つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成としてインプリメントされ得る。それ故に、「プロセッサ」という用語は、ここに使用される場合、前述の構造のうちの任意のもの、前述の構造の任意の組み合わせ、あるいはここに説明された技法のインプリメンテーションに適した任意の他の構造または装置を指し得る。加えて、いくつかの態様では、ここに説明された機能は、符号化および復号のために構成された専用ソフトウェアモジュールまたはハードウェアモジュール内で提供され得るか、あるいは組み合わされたビデオ符号化器−復号器（ＣＯＤＥＣ）中に組み込まれ得る。
【図１】
2020511861.tif 000014
【図２】
2020511861.tif 000015
【図３】
2020511861.tif 000016
【図４】
2020511861.tif 000017
【図５】
2020511861.tif 000018
【図６】
2020511861.tif 000019
【図７】
2020511861.tif 000020
【図８】
2020511861.tif 000021
【図９】
2020511861.tif 000022
【図１０】
2020511861.tif 000023
【国際調査報告】
2020511861.tif 000024
2020511861.tif 000025
2020511861.tif 000026