ITU-T H.262
  項目コウモク   記述キジュツ ビットスウ ニーモニック
6. 2. 2. ビデオシーケンス video_sequence() {
next_start_code()
sequence_header
if (nextbits()==extension_start_code) {
sequence_extension()
do {
extension_and_user_data(0)
do {
if (nextbits()==group_start_code) {
group_of_pictures_header()
extension_and_user_data(1)
}
picture_header()
picture_coding_extension()
extension_and_user_data(2)
picture_data()
} while((nextbits()==picture_start_code) || (nextbits()==group_start_code))
if(nextbits()!=sequence_end_code) {
sequence_header()
sequence_extension()
}
} while(nextbits()==sequence_end_code)
} else {
/*ISO/IEC 11172-2*/
}
sequence_end_code 32 bslbf
}
         
6. 2. 2. ビデオシーケンス
6. 2. 2. 1. シーケンスヘッダ sequence_header() {
Sequence_header_code 32 bslbf
horizontal_size_value 12 uimsbf
vertical_size_value 12 uimsbf
aspect_ratio_information 4 uimsbf
frame_rate_code 4 uimsbf
bit_rate_value 18 uimsbf
marker_bit 1 "1"
vbv_buffer_size_value 10 uimsbf
constrained_parameters_flag 1
load_intra_quantiser_matrix 1
if(load_non_intra_quantiser_matrix)
intra_quantiser_matrix[64] 8*64 uimsbf
load_non_intra_quantiser_matrix 1
if(load_non_intra_quantiser_matrix)
non_intra_quantiser_matrix[64] 8*64 uimsbf
next_start_code()
}
         
6. 2. 2. ビデオシーケンス
6. 2. 2. 2. 拡張カクチョウデータおよびユーザデータ extension_and_user_data(i) {
while (((I!=1)its()&&(nextbits()=extension_start_code)) || (nextbits()==user_data_start_code)) {
if(nextbits()==extension_start_code)
extension_data(i)
if(nextbits()==user_data_start_code)
user_data()
}
}
         
6. 2. 2. ビデオシーケンス
6. 2. 2. 2. 拡張カクチョウデータおよびユーザデータ
6. 2. 2. 2. 1. 拡張カクチョウデータ extension_data(i) {
while(nextbits()==extension_start_code) { 32 bslbf
extension_start_code
if (i==0) {    /*follows sequence_extension() */
if(nextbits()=="Sequence Display Extension ID")
sequence_display_extension()
else
sequence_scalable_extension()
}
}    /* Note: extension never follows a group_of_pistures header() */
if(i == 2) {    /* follows picture_coding_extension() */
if(nextbits()=="Quant Matrix Extension ID")
quant_matrix_extension()
else if(nextbits()=="Copyright Extension ID")
copyright_extension()
else if(nextbits()=="Picture Display Extension ID")
picture_display_extension()
else if(nextbits()=="Picture Spatial Scalable Extension ID")
picture_spatial_scalable_extension()
else
picture_temoral_scalable_ectension()
}
}
}
         
6. 2. 2. ビデオシーケンス
6. 2. 2. 2. 拡張カクチョウデータおよびユーザデータ
6. 2. 2. 2. 2. ユーザデータ user_data() {
user_data_start_code 32 bslbf
while(nextbits()!='0000 0000 0000 0000 0000 0001') {
user_data 8
}
next_start_code()
}
         
6. 2. 2. ビデオシーケンス
6. 2. 2. 3. シーケンス拡張カクチョウ sequence_extension() {
extension_start_code 32 bslbf
extension_start_code_identifier 4 uimsbf
profile_and_level_indication 8 uimsbf
progressive_sequence 1 uimsbf
chroma_format 2 uimsbf
horizontal_size_extension 2 uimsbf
vertical_size_extension 2 uimsbf
bit_rate_extension 12 uimsbf
marker_bit 1 bslbf
vbv_buffer_size_extension 8 uimsbf
low_delay 1 uimsbf
frame_rate_extension_n 2 uimsbf
frame_rate_extension_d 5 uimsbf
next_start_code()
}
         
6. 2. 2. ビデオシーケンス
6. 2. 2. 4. シーケンス表示ヒョウジ拡張カクチョウ   sequence_display_extension() { ホン勧告カンコクは、表示ヒョウジ処理ショリについて定義テイギしない。この拡張カクチョウ情報ジョウホウは、復号フクゴウ処理ショリ影響エイキョウせず、本勧告ホンカンコク準拠ジュンキョする復号器フクゴウキは、この情報ジョウホウ無視ムシできる。 x
extension_start_code_identifier 4 uimsbf
video_format 3 uimsbf
colour_description 1 uimsbf
if (colour_discription) {
colour_primaries 8 uimsbf
transfer_characteristics 8 uimsbf
matrix_coefficients 8 uimsbf
}
display_horizontal_size 14 uimsbf
marker_bit 1 bslbf
display_vertical_extension 14 uimsbf
next_start_code()
}
         
6. 2. 2. ビデオシーケンス
6. 2. 2. 5. シーケンススケーラブル拡張カクチョウ sequence_scalable_extension() {
extension_start_code_identifier 4 uimsbf
scalable_mode 2 uimsbf
layer_id 4 uimsbf
if(scalable mode=="spatial scalability")
lower_layer_prediction_horizontal_size 14 uimsbf
marker_bit 1 bslbf
lower_layer_prediction_vertical_size 14 uimsbf
horizontal_subsampling_factor_m 5 uimsbf
horizontal_subsampling_factor_n 5 uimsbf
vertical_subsampling_factor_m 5 uimsbf
vertical_subsampling_factor_n 5 uimsbf
}
if(scalable mode=="temporal scalability")
picture_mux_enable 1 uimsbf
if (picture_mux_enable)
mux_to_progressive_sequence 1 uimsbf
picture_mux_order 3 uimsbf
picture_mux_factor 3 uimsbf
}
next_start_code()
}
         
6. 2. 2. ビデオシーケンス
6. 2. 2. 6. グループオブピクチャヘッダ group_of_pictures_header() {
group_start_code 32 bslbf
time_code 25 bslbf
closed_gop 1 uimsbf これは、1ビットのフラグで、グループオブピクチャヘッダにツヅ最初サイショ符号化フゴウカIフレームピクチャの直後チョクゴツヅくBピクチャ(これがある場合バアイ)で使用シヨウされる予測ヨソク種類シュルイシメす。 x
broken_link 1 uimsbf
テキスト ボックス: 6.2.2.6 グループオブピクチャヘッダ
closed_gop
これは、1ビットのフラグで、グループオブピクチャヘッダに続く最初の符号化Iフレームピクチャの直後に続くBピクチャ(これがある場合)で使用される予測の種類を示す。
 closed_gopが"1"に設定されると、Bピクチャが後方予測またはイントラ符号化のみを使用して符号化されたことを示す。
 このビットは、符号化の後で発生する編集での使用のため設けられたものである。前画像が編集によって削除された場合、broken_linkは、"1"に設定され、復号器が、グループオブピクチャヘッダに続く最初のIピクチャ直後のBピクチャを表示しないようにする。しかし、closed_gopビットが"1"に設定された場合、これらのBピクチャは正確に復号されるので、編集器は、broken_linkビットを設定しないようにできる。
next_start_code()
}
         
6. 2. 3. ピクチャヘッダ picture_header() {
picture_start_code 32 bslbf
temporal_reference 10 uimsbf
picture_coding_type 3 uimsbf
vbv_delay 16 uimsbf
if(picture_coding_type==2 || picture_coding_type==3) {
full_pel_backward_vector 1
forward_f_code 3 uimsbf
}
if(picture_coding_type==3) {
full_pel_backward_vector 1
backward_f_code 3 uimsbf
}
while(nextbit()=='1') {
extra_bit_picture    /* with the value "1" */ 1 uimsbf
extra_information_picture 8
}
extra_bit_picture    /* with the value "0" */ 1 uimsbf
next_start_code()
}
         
6. 2. 3. ピクチャヘッダ
6. 2. 3. 1. ピクチャコーディング拡張カクチョウ picture_coding_extension() {
extension_start_code
extension_start_code_identifier
f_code[0][0]  /* forward horizontal */
f_code[0][1]  /* forward vertical */
f_code[1][0]  /* backward horizontal */
f_code[1][1]  /* backward vertical */
intra_dc_precision
picture_structure
top_field_first
frame_pred_frame_det
condealment_motion_vectors
q_scale_type
intra_vlc_format
alternate_scan
repeat_first_field
chroma_420_type
prorgessive_frame
composite_display_flag
if( composite?display_flag ){
v_axis
field_sequence
sub_carrier
burst_amplitude
sub_carrier_phase
}
next_start_code()
}
         
6. 2. 3. ピクチャヘッダ
6. 2. 3. 2. 量子化リョウシカマトリックス拡張カクチョウ quant_matrix_extension() {
         
6. 2. 3. ピクチャヘッダ
6. 2. 3. 3. ピクチャディスプレイ拡張カクチョウ picture_display_extension() {
         
6. 2. 3. ピクチャヘッダ
6. 2. 3. 4. 時間ジカンスケーラブル画像ガゾウ拡張カクチョウ picture_temporal_scalable_extension() {
         
6. 2. 3. ピクチャヘッダ
6. 2. 3. 5. 空間クウカンスケーラブル画像ガゾウ拡張カクチョウ picture_spacial_scalable_extension() {
         
6. 2. 3. ピクチャヘッダ
6. 2. 3. 6. コピーライト(著作権チョサクケン拡張カクチョウ copyright_extension() {
         
6. 2. 3. ピクチャヘッダ
6. 2. 3. 7. ピクチャデータ picture_data() {
         
6. 2. 4. スライス slice() {
         
6. 2. 5. マクロブロック macroblock() {
         
6. 2. 5. マクロブロック
6. 2. 5. 1. マクロブロックモード macroblock_modes() {
         
6. 2. 5. マクロブロック
6. 2. 5. 2. ウゴきベクトル motion_vectors(s) {
         
6. 2. 5. マクロブロック
6. 2. 5. 2. ウゴきベクトル
6. 2. 5. 2. 1. ウゴきベクトル motion_vector(r,s) {
         
6. 2. 5. マクロブロック
6. 2. 5. 2. ウゴきベクトル
6. 2. 5. 2. 2. 符号化フゴウカブロックパタン code_block_pattern() {
         
6. 2. 6. ブロック block(i) {