AV1 specification を読む 2018-03-26 (7.4. Ordering of OBUs)

#AV1 specification 日本語訳 (2018-03-26)

AV1ストリームは、OBUが連なったものです。
本節では、どのようにOBUを並べればよいかについて書かれています。

----

## 7.4. Ordering of OBUs

>A bitstream conforming to this specification consists of one or more coded video sequences.

本規格に適合するビットストリームは、1つ以上の符号化ビデオシーケンスで構成されます。

>A coded video sequence consists of one or more temporal units. 
>A temporal unit consists of a series of OBUs starting from a temporal delimiter, optional sequence headers, optional metadata OBUs, a sequence of one or more frame headers, each followed by zero or more tile group OBUs as well as optional padding OBUs.

1つの符号化ビデオシーケンスは、1つ以上のテンポラルユニットで構成されます。
1つのテンポラルユニットは、OBU列（テンポラルデリミタで開始し、選択的なシーケンスヘッダ、選択的なメタデータOBU、1つ以上のフレームヘッダと、それら各フレームヘッダに後続するゼロ以上のタイルグループOBUと、選択的なパディングOBU）で構成されます。

>The first frame header in a coded video sequence must have frame_type equal to KEY_FRAME and show_frame equal to 1.

符号化ビデオシーケンスの最初のフレームヘッダは、frame_type==KEY_FRAMEかつshow_frame==1を持たなければなりません。

>If operating points are being used, then only a selection of frames will be decoded. 
>The first frame header that will be decoded for each valid operating point must have frame_type equal to KEY_FRAME and show_frame equal to 1.

オペレーティングポイントが使われるならば、洗濯されたフレームだけがデコードされます。
有効なオペレーティングポイントそれぞれついて、最初んでコードされるフレームヘッダは、frame_type==KEY_FRAMEかつshow_frame==1を持たなければなりません。

>A frame header and its associated tile group OBUs within a temporal unit must use the same value of obu_extension_flag
>(i.e., either both include or both not include the optional OBU extension header).

1つのテンポラルユニット内で、フレームヘッダとそれに関連付けられるタイルグループOBUは、同じ obu_extension_flag を持たなければなりません（つまり、オプショナルOBU拡張ヘッダを両方とも持つか、両方とも持たないかどちらかということです）。

>The value of temporal_id must be the same in all OBU extension headers that are contained in the same temporal unit.

tempral_idの値は、同じテンポラルユニット内に含まれるすべてのOBU拡張ヘッダで同一でなければなりません。

>If a coded video sequence contains at least one enhancement layer (OBUs with spatial_id greater than 0 or temporal_id greater than 0) then all frame headers and tile group OBUs associated with base (spatial_id equals 0 and temporal_id equals 0) and enhancement layer (spatial_id greater than 0 or temporal_id greater than 0) data must include the OBU extension header.

符号化ビデオシーケンスが少なくとも1つのエンハンスメントレイヤ（spatial_id>0 || temporal_id>0 のOBU）をもつならば、ベース（spatial_id==0 && temporal_id==0）に関連付けられる全てのフレームヘッダとタイルグループOBUと、エンハンスメントレイヤ（spatial_id>0 || temporal_id>0）データは、OBU拡張ヘッダ持たなければなりません

>OBUs with spatial level IDs (spatial_id) greater than 0 must appear within a temporal unit in increasing order of the spatial level ID values.

空間レベルID (spatial_id) >0 を持つOBUは、空間レベルIDの昇順で1つのテンポラルユニット内に存在しなければなりません。

>Temporal units containing key frames must contain a sequence header before the frame header. 
>If multiple sequence headers are contained in a temporal unit containing a key frame then they must all indicate identical parameter values.

キーフレームを含むテンポラルユニットは、そのフレームヘッダに先行してシーケンスヘッダが存在しなければなりません。
複数のシーケンスヘッダが、キーフレームを含む1つのテンポラルユニットに存在するならば、それらのシーケンスヘッダは全て同一のパラメータ値を持たなければなりません。

>Sequence header OBUs may appear in any order within an OBU sequence. 
>The values of the parameters must be identical each time the sequence header appears.

シーケンスヘッダOBUは、OBU列内で任意の順序で存在しても構いません。
そのシーケンスヘッダが存在するごとに、そのパラメータ値は同じでなければなりません

>Note: 
>A bitstream can change the sequence header parameters during decode, but this is interpreted as a video consisting of multiple independent coded video sequences.

注意：
ビットストリームは、デコード中にそのシーケンスヘッダの値を変えることができますが、それは複数の独立した符号化ビデオシーケンスで構成されていると解釈されます。

>One or more metadata and padding OBUs may appear in any order within an OBU sequence (unless constrained by semantics provided elsewhere in this specification). 
>Specific metadata types may be required or recommended to be placed in specific locations, as identified in their corresponding definitions.

1つ以上のメタデータとパディングOBUが、OBU列内で任意の順で存在します（本規格のどこかで制約される場合を除く）。
特定のメタデータタイプは、その定義上、特定の位置に配置することが要求あるいは推奨されるかもしれません。

>OBU types that are not defined in this specification can be ignored by a decoder.

本規格で定義されないOBUタイプは、デコーダで無視できます。