-
-
Annex D
附录
D
Supplemental
enhancement information
附加增强信息(
< br>SEI
)
(This annex
forms an integral part of this Recommendation |
International Standard)
(本附录是本标准的不可分的一部分)
This annex specifies syntax
and semantics for SEI message payloads.
本附录定义
SEI
消息的语法和语义。
SEI
messages
assist
in
processes
related
to
decoding,
display
or
other
purposes.
However,
SEI
messages
are
not
required
for
constructing
the
luma
or
chroma
samples
by
the
decoding
process.
Conforming decoders are not required to
process this information for output order
conformance to this
Recommendation |
International Standard
(see
Annex
C
for
the
specification
of
conformance).
Some
SEI
message
information
is
required
to
check
bitstream
conformance
and
for
output
timing
decoder
conformance.
SEI
消
息辅助处理解码、显示等等。然而,
SEI
消息对于重建图像样
点不是必要的。符合本标准的
解码器不处理这些消息也照样可以使输出顺序符合标准(关
于相符性的定义,请参照附录
C
)。
有
些消息对于检测码流的相符性和输出时序的相符性是必要的。
In
Annex
D,
specification
for
presence
of
SEI
messages
are
also
satisfied
when
those
messages
(or
some subset of them) are
conveyed to decoders (or to the HRD) by other
means not specified by this
Recommendation
|
International
Standard.
When
present
in
the
bitstream,
SEI
messages
shall
obey
the
syntax and semantics specified in subclauses
错误!未找到引用源。
and
错误!未找到引用源。
and
this annex.
When the
content of an SEI message is conveyed for the
application by some means
other than
presence
within the bitstream, the
representation of the content of the SEI
message is not
required
to
use
the
same
syntax
specified
in
this
annex.
For
the
purpose
of
counting
bits,
only
the
appropriate bits that are actually
present in the bitstream are counted.
SEI
消息
(或它的一个子集)
可以用本标准未指明的其他方法传递到解码器
(或假定解码器
HRD
)
中,这时也
认为
SEI
消息出现在码流中。当
SE
I
消息在码流中出现时,它要符合
错误!未找到引
用源。
和
错误!未找到引用源。
节中定义的语法和语义。当
SEI
消息用其他方法
传递时,它的
内容的表达方法不必使用本附录定义的语法和语义。
在计算位数时,
只有真正出现在码流中的位
才计算在内。
p>
A.1
SEI payload
syntax
SEI
载荷语法
sei_payload( payloadType, payloadSize )
{
if( payloadType = = 0 )
C
Descriptor
5
else if(
payloadType = = 1 )
pic_timing(
payloadSize )
else if( payloadType = = 2
)
buffering_period( payloadSize
)
pan_scan_rect( payloadSize
)
5
5
filler_payload( payloadSize
)
else if( payloadType = = 4 )
else if( payloadType = = 3 )
else if( payloadType = = 5 )
5
5
5
p>
user_data_registered_itu_t_t35(
payloadSize )
user_data_unregistered( payloadSize
)
else if( payloadType = = 6 )
recovery_point( payloadSize
)
5
else if( payloadType = = 7
)
dec_ref_pic_marking_repetition(
payloadSize )
5
else if( payloadType = = 8
)
spare_pic( payloadSize )
5
else if( payloadType = = 9 )
scene_info( payloadSize )
5
5
else if( payloadType = = 10
)
sub_seq_info( payloadSize
)
else if( payloadType = = 11
)
sub_seq_layer_characteristics(
payloadSize )
else if( payloadType = = 12
)
5
5
5
sub_seq_characteristics( payloadSize
)
else if( payloadType = = 13
)
full_frame_freeze( payloadSize
)
else if(
payloadType = = 14 )
5
full_frame_freeze_release( payloadSize
)
else if(
payloadType = = 15 )
full_frame_snapshot( payloadSize
)
5
else if( payloadType = = 16
)
progressive_refinement_segment_start(
payloadSize )
else if( payloadType = = 17
)
progressive_refinement_segment_end(
payloadSize )
5
5
5
5
else if( payloadType = = 18
)
motion_constrained_slice_group_set(
payloadSize )
else
reserved_sei_message(
payloadSize )
if( !byte_aligned( ) ) {
bit_equal_to_one
/* equal to 1 */
while( !byte_aligned( ) )
bit_equal_to_zero
/* equal to 0 */
}
5
f(1)
5
f
(1)
}
A.1.1
Buffering
period SEI message syntax
缓冲期间
SEI
消息语法
buffering_period( payloadSize )
{
se
q_parameter_set_id
C
Descriptor
5
ue(v)
if(
NalHrdBpPresentFlag ) {
for( SchedSelIdx = 0; SchedSelIdx <=
cpb_cnt_minus1; SchedSelIdx++ ) {
initial_cpb_removal_delay[
SchedSelIdx
]
ini
tial_cpb_removal_delay_offset[
SchedSelIdx
]
}
}
if( VclHrdBpPresentFlag ) {
5
5
u(v)
u(v)
for( SchedSelIdx = 0;
SchedSelIdx <= cpb_cnt_minus1; SchedSelIdx++ )
{
initial_cpb_removal_delay[
SchedSelIdx
]
5
u(v)
5
initial_cpb_removal_delay_o
ffset[
SchedSelIdx
]
}
}
}
u(v)
A.1.2
Picture timing SEI message syntax
图象时序
SEI
消息语法
pic_timing( payloadSize ) {
if(
CpbDpbDelaysPresentFlag ) {
C
Descriptor
cpb_removal_delay
dpb_output_delay
}
if(
pic_struct_present_flag ) {
pic_struct
u(v)
5
u(v)
5
5
u(4)
for( i = 0; i < NumClockTS
; i++ ) {
clock_timestamp_flag[ i ]
5
u(1)
if( clock_timestamp_flag[i] )
{
ct_type
nuit_field_based_flag
counting_type
full_timestamp_flag
discontinuity_flag
cnt_dropped_flag
n_frames
if(
full_timestamp_flag ) {
seconds_value
/* 0..59
*/
u(2)
5
u(1)
5
u(5)
5
u(1)
5
u(1)
5
5
u(1)
5
u(8)
5
u(6)
minutes_value
/* 0..59
*/
hours_value
/* 0..23
*/
}
else {
seconds_flag
if(
seconds_flag ) {
5
u(5)
5
u(6)
5
u(1)
seconds_value
/*
range 0..59 */
minutes_flag
if(
minutes_flag ) {
5
u
(6)
5
u(1)
5
u(6)
5
u(1)
5
u(5)
minutes_value
/* 0..59
*/
hours_flag
if( hours_flag )
hours_value
/*
0..23 */
}
}
}
5
i(v)
if( time_offset_length > 0 )
time_offset
}
}
}
}
A.1.3
Pan-scan
rectangle SEI message syntax
摇镜头矩形
SEI
消息语法
pan_scan_rect( payloadSize )
{
pan_scan_rect_id
pan_scan_rect_cancel_flag
if(
!pan_scan_rect_cancel_flag ) {
pan_scan_cnt_minus1
for( i = 0; i <= pan_scan_cnt_minus1;
i++ ) {
pan_scan_rect_left_offset[
i
]
pan_scan_rect_right_offset[
i
]
C
Descriptor
5
ue(v)
5
u(1)
5
ue(v)
5
se(v)
5
se(v)
5
se(v)
5
pan_scan_rect_top_offset[
i
]
pan_scan_rect_bottom_offset[
i
]
}
pan_scan_rect_repetition_pe
riod
s
e(v)
u
e(v)
5
}
}
A.1.4
Filler payload SEI message syntax
填充载荷
SEI
消息语法
filler_payload( payloadSize )
{
for( k = 0; k < payloadSize;
k++)
ff_byte
/* equal to 0xFF
*/
}
C
Descriptor
5
f(8)
A.1.5
User data registered by
ITU-T Recommendation T.35 SEI message syntax
ITU-T T.35
登记的用户数据
SEI
消息语法
user_data_registered_itu_t_t35(
payloadSize ) {
itu_t_t35_country_code
if(
itu_t_t35_country_code
!=
0xFF )
i =
1
else {
C
Descriptor
5
b(8)
5
b(8)
itu
_t_t35_country_code_extension_byte
i =
2
}
do {
5
b(8)
itu_t_t35_payload_byte
i++
} while( i <
payloadSize )
}
A.1.6
User data unregistered SEI
message syntax
未登记的用户数据
SEI
p>
消息语法
user_data_unregistered( payloadSize )
{
uuid_iso_iec_11578
for( i = 16; i
< payloadSize; i++ )
user_data_payload_byte
}
C
Descriptor
5
u(128)
5
b(8)
A.1.7
Recovery
point SEI message syntax
恢复点
SEI
消息语法
C
Descriptor
5
ue(v)
recovery_point(
payloadSize ) {
recovery_frame_cnt
exact_match_flag
broken_link_flag
changing_slice_group_idc
}
u
(1)
5
u
(1)
5
u
(2)
5
A.1.8
Decoded
reference picture marking repetition SEI message
syntax
解码参考图像标识重复
SEI
< br>消息语法
dec_ref_pic_marking_repetition(
payloadSize ) {
original_idr_flag
C
Descriptor
original_frame_num
if(
!frame_mbs_only_flag ) {
5
u(1)
5
ue(v)
original_field_pic_flag
if( original_field_pic_flag
)
original_bottom_field_flag
}
dec_ref_pic_marking( )
}
5
u(1)
5
u(1)
5
A.1.9
Spare
picture SEI message syntax
备用图象
< br>SEI
消息语法
spare_pic( payloadSize )
{
target_frame_num
spare_field_flag
C
Descriptor
5
ue(v)
5
u(1)
5
u(1)
if(
spare_field_flag )
target_bottom_field_flag
num_spare_pics_minus1
for( i = 0; i < num_spare_pics_minus1 +
1; i++ ) {
delta_spare_frame_num[
i
]
if(
spare_field_flag )
spare_bottom_field_flag[
i
]
spare_area_idc[
i
]
if(
spare_area_idc[ i ]
= =
1 )
for( j = 0; j < PicSizeInMapUnits; j++
)
spare_unit_flag[
i
][
j
]
5
ue(v)
5
ue(v)
5
u(1)
5
ue(v)
5
u(1)
else if( spare_area_idc[ i ]
= =
2 ) {
mapUnitCnt = 0
for( j=0; mapUnitCnt <
PicSizeInMapUnits; j++ ) {
zero_run_length[
i
][
j
]
mapUnitCnt += zero_run_length[ i ][ j ]
+ 1
5
ue(v)
}
}
}
}
A.1.10
Scene
information SEI message syntax
场景信息
SEI
消息语法
scene_info( payloadSize )
{
sc
ene_info_present_flag
C
Descriptor
5
u(1)
if(
scene_info_present_flag ) {
scene_id
scene_transition_type
ue(v)
5
ue(v)
5
5
ue(v)
if(
scene_transition_type > 3 )
second_scene_id
}
}
A.1.11
Sub-sequence information SEI message
syntax
子序列信息
SEI
消息
语法
sub_seq_info( payloadSize )
{
sub_seq_layer_num
sub_seq_id
first_ref_pic_flag
leading_non_ref_pic_flag
last_pic_flag
sub_seq_frame_num_flag
if(
sub_seq_frame_num_flag )
sub_seq_frame_num
}
C
Descriptor
5
ue(v)
5
u
e(v)
5
u(1)
5
u
(1)
5
u(1)
5
u(1)
5
u
e(v)
A.1.12
Sub-sequence layer characteristics SEI
message syntax
子序列层特性
SEI
消息语法
sub_seq_layer_characteristics(
payloadSize ) {
num_sub_seq_layers_minus1
C
Descriptor
5
ue(v)
5
u(1)
5
for( layer = 0; layer <=
num_sub_seq_layers_minus1; layer++ ) {
accurate_statistics_flag
average_bit_rate
average_frame_rate
u
(16)
5
u(16)
}
}
A.1.13
Sub-sequence characteristics SEI
message syntax
子序列特性
SEI
消息语法
sub_seq_characteristics( payloadSize )
{
sub_seq_layer_num
sub_seq_id
duration_flag
if(
duration_flag)
sub_seq_duration
average_rate_flag
if(
average_rate_flag ) {
accurate_statistics_flag
average_bit_rate
average_frame_rate
}
num_referenced_subseqs
for( n = 0; n < num_referenced_subseqs;
n++ ) {
ref_sub_seq_layer_num
ref_sub_seq_id
C
Descriptor
5
ue(v)
5
u
e(v)
5
u(1)
5
u(32)
5
u(1)
5
u(1)
5
u
(16)
5
u(16)
5
ue(v)
5
ue(v)
5
ue(v)
ref_sub_seq_direction
5
u(1)
}
}
A.1.14
Full-frame
freeze SEI message syntax
全帧冻结
SEI
消息语法
full_frame_freeze( payloadSize )
{
C
Descriptor
5
ue(v)
ful
l_frame_freeze_repetition_period
}
A.1.15
Full-frame
freeze release SEI message syntax
全帧冻结解
除
SEI
消息语法
full_frame_freeze_release( payloadSize
) {
}
A.1.16
Full-frame
snapshot SEI message syntax
全帧拍照
SEI
消息语法
full_frame_snapshot( payloadSize )
{
snapshot_id
}
A.1.17
Progressive refinement segment start
SEI message syntax
逐步细化段起始
SE
I
消息语法
progressive_refinement_segment_start(
payloadSize ) {
progressive_refinement_id
C
Descriptor
C
Descriptor
5
u
e(v)
C
Descriptor
5
ue(v)
5
ue(v)
num_refinement_steps_minus1
}
A.1.18
Progressive refinement segment end SEI
message syntax
逐步细化段结束
SEI
消息语法
}
progressive_refinement_segment_end(
payloadSize ) {
progressive_refinement_id
p>
C
Descriptor
5
ue(v)
A.1.19
Motion-
constrained slice group set SEI message syntax
运动受限的片组集
SEI
消息语法
motion_constrained_slice_group_set(
payloadSize ) {
num_slice_groups_in_set_minus1
for( i = 0;
i <= num_slice_groups_in_set_minus1;
i++)
slice_group_id[
i
]
exact_sample_value_match_fl
ag
pan_scan_rect_flag
if(
pan_scan_rect_flag )
pan_scan_rect_id
}
A.1.20
Reserved
SEI message syntax
保留
SEI
消息语法
C
Descriptor
5
ue(v)
5
u(v)
5
u(1)
5
u(1)
5
ue(v)
}
reserved_sei_message( payloadSize )
{
for( i = 0; i < payloadSize; i++
)
C
reserved_sei_message_payloa
d_byte
Descriptor
5
b(8)
A.2
SEI payload
semantics
SEI
载荷语义
A.2.1
Buffering
period SEI message semantics
缓冲期间
SEI
消息语义
When
NalHrdBpPresentFlag or VclHrdBpPresentFlag are
equal to 1, a buffering period SEI message
can be associated with any access unit
in the bitstream, and a buffering period SEI
message shall be
associated with each
IDR access unit and with each access unit
associated with a recovery point SEI
message.
如果
NalHrdBpPresentFlag
或
VclHrdBpPresentFlag
为
1
,
则一个缓冲期间
SEI
消息可以与码流
中的任何一个
访问单元相关联,并且每个
IDR
访问单元都应与一个缓冲期间
SEI
消息相关联,而
且每个与恢复点
SEI
消息相关联的访问单元都应与一个缓冲期间
SEI
消息相关联。
NOTE
–
For some
applications, the frequent presence of a buffering
period SEI message may be desirable.
注:
对某些应用,缓冲期间
SEI
消息应常常出现。
A
buffering period is specified as the set of access
units between two instances of the buffering
period
SEI message in decoding
order.
一个缓冲期间就是按
照解码顺序两个缓冲期间
SEI
消息之间的一组访问单元。
p>
seq_parameter_set_id
specifies the sequence parameter set that contains
the sequence HRD attributes.
The value
of seq_parameter_set_id shall be equal to the
value of seq_parameter_set_id in the picture
parameter
set
referenced
by
the
primary
coded
picture
associated
with
the
buffering
period
SEI
message.
The value of seq_parameter_set_id shall
be in the range of 0 to 31, inclusive.
seq_parameter_set_id
(
序
列
参
数
集
标
识
符
)
指
明
包<
/p>
含
序
列
HRD<
/p>
属
性
的
序
列
参
数
集
。
seq_parameter_set_id
的值应该等于一个图象参数集中的
seq_parameter_set_id
值,
这个图象参数
集是与缓冲期间
SEI
消息相关联的基本解码图象所引用的。
seq_parameter_set
_id
的值在
0
~
31
之间。
initial_cpb_removal_delay
[
SchedSelIdx
]
specifies
the
delay
for
the
SchedSelIdx-th
CPB
between
the time of arrival
in the CPB of the first bit of the coded data
associated with the access unit associated
with
the
buffering
period
SEI
message
and
the
time
of
removal
from
the
CPB
of
the
coded
data
associated with the same access unit,
for the first buffering period after HRD
initialisation. The syntax
element has
a length in bits given by
initial_cpb_removal_delay_length_minus1 + 1.
It is in units of a
90
kHz
clock.
initial_cpb_removal_delay[ SchedSelIdx
]
shall
not
be
equal
to 0
and
shall
not
exceed
90000 * ( CpbSize[ SchedSelIdx ]
?
BitRate[ SchedSelIdx ] ),
the time-equivalent of the CPB
size in
90 kHz clock units.
initial_cpb_removal_delay
[
SchedSelIdx ]
(初始
CPB
< br>移除延迟)指明第
SchedSelIdx
个
CPB
的
在
HRD
初始化以后第一个缓冲期间延迟。
其计算是从
(与此缓冲期间
SEI
消息相关的访问单元的)
第一个编码数据位到达
CPB
开始到这个单元的编码数据从
CPB
中移除为止
。
此语法元素的长度是
initial_cpb_removal_delay_length_minus1
+ 1
位
。
它
以
90
kHz
时
钟
为
单
位
。
initial_cpb_removal_delay[
SchedSelIdx ]
小。
initial_cpb_removal_delay_offset
[ SchedSelIdx ] is used for the SchedSelIdx-th
CPB in combination
with
the
cpb_removal_delay
to
specify
the
initial
delivery
time
of
coded
access
units
to
the
CPB.
initial_cpb_removal_delay_offset[
SchedSelIdx ]
is
in
units
of
a
90
kHz
clock.
The
initial_cpb_removal_delay_offset[
SchedSelIdx ] syntax element is a fixed length
code whose length in
bits
is
given
by
initial_cpb_removal_delay_length_minus1
+ 1.
This
syntax
element
is
not
used
by
decoders
and is needed only for the delivery scheduler
(HSS) specified in Annex C.
initial_cpb_removal_delay_offset
[ SchedSelIdx ]
(初始
CPB
p>
移除延迟补偿)
与
cpb_removal_delay
配
合
用
来
指
明
第
SchedSelIdx
个
CPB
的
编
码
访
问<
/p>
单
元
抵
达
CPB
的
初
始
送
达
时
间
。
不
应
为
0
并
且
不
应
超
出
90000
*
(
CpbSize[ SchedSelIdx ]
?
BitRate[ SchedSelIdx ]
)
,这是以
90
kHz
时钟为单位的
CPB
的等价大
initial_cpb_removal_delay_of
fset[ SchedSelIdx ]
initial_cpb_removal_delay_offset[
SchedSelIdx ]
(参见附录
C
)。
以
90
kHz
时
钟
为
单
位
。
语<
/p>
法
单
元
是
定
长
的
,
长
度
为
initial_
cpb_removal_delay_length_minus1 + 1
。
解码器不使用此语法元素,
它仅用于送达调度
(HSS)
Over
the
entire
coded
video
sequence,
the
sum
of
initial_cpb_removal_delay[ SchedSelIdx
]
and
initial_cpb_removal_delay_offset[
SchedSelIdx ] shall be constant for each value of
SchedSelIdx.
在
p>
整
个
视
频
序
列
中
,
对
每
个
SchedSelI
dx
,
initial_cpb_removal_delay
[ SchedSelIdx ]
和
initial_cpb_removal_delay_offset[
SchedSelIdx ]
的和是恒定的。
A.2.2
Picture timing SEI message semantics
p>
图象时序
SEI
消息语义
< br>
When
CpbDpbDelaysPresentFlag
is
equal to 1, a picture timing SEI Message shall be
associated with
every access unit in
the bitstream.
当
CpbDpbDelaysPresentFlag
为
1
时,码流中的每个访问单元都要与一个图象时序
SEI
消息
相关联。
cpb_removal_delay
specifies
how many clock ticks (see subclause
错误!未找到引用源。
) to wait
after removal from the
CPB of the access unit associated with
the most recent buffering period SEI
message before removing from the buffer
the access unit data associated with the picture
timing SEI
message.
This value is also used to calculate an
earliest possible time of arrival of access unit
data
into the CPB for the HSS, as
specified in Annex C.
The
syntax element is a fixed length code whose
length
in
bits
is
given
by
cpb_removal_delay_length_minus1 + 1.
The
cpb_removal_delay
is
the
remainder
of a
2
(cpb_remov
al_delay_length_minus1 + 1)
counter.
cpb_removal_delay
(
CPB
移除延迟)指明把最近的一个与缓冲期间
SEI
消息相关联的访问单元
从
< br>CPB
中移除以后要等多久才可以移除与这个图象时序
S
EI
消息相关联的访问单元。它是以时间
标签
< br>[
说明:此处似乎不应该使用标签
]
(
tick
)为单位的(参见
错误
!未找到引用源。
)。这个
值还被
HSS
用来计算一个访问单元到达
C
PB
的最早时间,参见附录
C
。此语法
元素是定长的,
长
度
为
cpb_removal_delay_length_minus1 +
1
位
。
cpb_removal_d
elay
是
一
个
p>
2
(cpb_removal_delay_length_min
us1 + 1)
计数器的余数。
The value of
cpb_removal_delay for the first picture in the
bitstream shall be equal to
0.
码流中的第一个图像的
cpb_removal_delay
值应为
0
。
dpb_output_delay
is
used
to
compute
the
DPB
output
time
of
the
picture.
It
specifies
how
many
clock
ticks
to
wait
after
removal
of
an
access
unit
from
the
CPB
before
the
decoded
picture
can
be
output from the DPB (see subclause
错误!未找到引用源。
).
dpb_output_delay
(
DPB
输出延迟)
用来计算图像的<
/p>
DPB
输出时间。
它指明一个访问单元从
CPB
中移除后要等多久才可以将图像从
DPB
中输出(参见
错误!未找到引用源。
< br>)。
NOTE
-
A
picture
is
not
removed
from
the
DPB
at
its
output
time
when
it
is
still
marked
as
for
short-term reference
注:如果一个图像标识为“用于长
期参考”或“用于短期参考”,在它的输出时刻并不从
DPB
中
删除。
NOTE - Only one dpb_output_delay is
specified for a decoded picture.
注:一个解码图象只指明一个
dpb_output_delay
。
The
size
of
the
syntax
element
dpb_output_delay
is
given
in
bits
by
dpb_output_delay_length_minus1 + 1.
If max_dec_frame_buffering
is equal to 0, dpb_output_delay
shall
be equal to 0.
语
法
元
素
p>
dpb_output_delay
的
长
度
是
dpb_output_dela
y_length_minus1 + 1
位
。
如
果
max_dec_frame_buffering
为
0
,则
dpb_output_delay
也应为
0
。
The output time derived from the
dpb_output_delay of any picture that is output
from an output timing
conforming
decoder as specified in subclause
错误!未找到引用源。
shall
precede the output time
derived from
the dpb_output_delay of all pictures in any
subsequent coded video sequence in decoding
order.
对一个输出时序符合标准的解码器
(
参见
错误!
未找到引用源。
)
,
任何图像的从
dpb_output_delay
得出的输出时刻要早于此后的任何视频序列中的任何图像的从
dpb_output_delay
得出的输出时
刻。[译注:换句话说,从
dpb_output_delay
得出的输出时间不会相互矛盾。]
The
output
time
derived
from
the
dpb_output_delay
of
the
second
field,
in
decoding
order,
of
a
complementary
non-reference
field
pair
shall
exceed
the
output
time
derived
from
the
dpb_output_delay of the
first field of the same complementary non-
reference field pair.
一个互补非参考场对中第二场的从
dpb_output_delay
得出的输出时刻要晚于其
第一场的输出时
刻。[译注:原文中的“第二场”前有定语“按解码顺序”,怀疑是笔误
。未反映在译文中。]
[
说明:按照解码顺序的第二场应该没有
什么错误吧
]
The
picture
output
order
established
by
the
values
of
this
syntax
element
shall
be
the
same
order
as
established by the values
of PicOrderCnt( ) as specified by subclauses
错误!未找到引用源。
to
错
误!未找到引用源。
,
except that when the two fields of a complementary
reference field pair have the
same
value of PicOrderCnt( ), the two fields have
different output times.
此语法元素所建立的图像输出顺序应与
错误!未找到引用源。
到
错误!未找到引用源。
所
定义的用
PicOrderCnt( )
所建立的输出顺序相同。
p>
不过有例外:
一个互补参考场对的两场有相同
PicOrderCnt(
)
,但有不同的输出时刻。
For pictures that are not output by the
错误!
未找到引用源。
because
they
precede,
in
decoding
order,
an
IDR
picture
with
no_output_of_prior_pics_flag
equal
to
1
or
inferred
to
be
equal
to
1,
the
output
times
derived
from
dpb_output_delay
shall
be
increasing
with
increasing
value
of
PicOrderCnt(
)
relative
to
all
pictures
within
the
same
coded
video
sequence
subsequent to any picture having a
memory_management_control_operation equal to
5.
对于由于
错误!未找到引用源。
中的
处理而
未输出的图像
(未输出的原因是他们在
一个
IDR
图像之前并且其
no_output_of_prior_pics_flag
为
1
或被
认定为
1
)
,
从
dpb_output_delay
得到的输出时刻应该随着
PicOrderCnt(
)
的增
加而增加(相对于所有同一个视频序列中
memory_management_con
trol_operation
为
5
的图象以后的图象)。[译注:此段很费解。勉强
直译。]
pic_struct
indicates whether
a picture should be displayed as a frame or one or
more fields, according
to Table D-1.
Frame doubling (pic_struct equal to 7) indicates
that the frame should be displayed two
times
consecutively,
and
frame
tripling
(pic_struct
equal
to
8)
indicates
that
the
frame
should
be
displayed three times
consecutively.
pic_struct
标明一个图像应该显示成一个帧还是一个或多个场,依据表
<
/p>
D-1
。帧重复
2
次
(
pic_struct
为
7
)表明
帧要连续显示两次,帧重复三次
(pic_struct
为
8)
表明帧要连续显示三
次。
NOTE
-
Frame
doubling
can
facilitate
the
display,
for
example,
of
25p
video
on
a
50p
display
and
29.97p
video on a 59.94p
display. Using frame doubling and frame tripling
in combination on every other frame can
facilitate the display of 23.98p video
on a 59.94p display.
注:举一个例子,帧重复可以用来将每秒
25
帧的视频显示在每秒
50
帧的
监视器上,或把每秒
29.97
帧的
视
频显示在每秒
59.94
帧的监视器
上。
重复使用一次
“帧重复”
和一次<
/p>
“帧重复三次”
,
可以将每秒
23.98
帧的视频(电影)显示在每秒
59.94
帧的监视器上。
[译注:将其简化成
24=>60<
/p>
,
24
帧中有
1
2
帧重复两次共
24
次,
12
帧重复
3
次共
36
次,合在一起
60
次。]
表
D-1
–
Interpretation of pic_struct
对
pic_struct
的解释
Value
值
0
1
Frame
帧
Indicated
display of picture
Restrictions
图象的显示
限制
field_pic_flag shall be 0
field_pic_flag
shall be 1,
bottom_field_flag shall be
0
NumClockTS
时间戳个数
1
1
top
field
顶场
2
bottom field
底场
3
top
field, bottom field, in that order
field_pic_flag
shall be 0
bottom_field_flag shall be
1
先顶场,再底场
bottom field, top field, in
that order
先底场,再顶场
field_pic_flag shall
be 0
field_pic_flag shall be 1,
1
2
4
2
field_pic_flag
shall be 0
3
5
top field, bottom field,
top field
repeated, in that
order
顶场,底场,重复顶场
6
bottom
field,
top
field,
bottom
field
field_pic_flag shall
be 0
repeated, in that order
底场,顶场,重复底场
3
7
frame doubling
帧重复两次
field_pic_flag shall be 0
fixed_frame_rate_flag shall be
1
field_pic_flag shall be 0
fixed_frame_rate_flag shall be
1
2
8
frame tripling
帧重复三次
3
9..15
Reserved
保留
NumClockTS is
determined by pic_struct as specified in
注:举一个例子,帧重复可以用来将每秒
25
帧的
视频显示在每秒
50
帧的监视器上,
或把每秒
29.97
帧的视频显示在每秒
59.94
帧的监视器上。
< br>重复使用一
次“帧重复”和一次“帧重复三次”,可以将每秒
23.98
帧的视频(电影)显示在每秒
59.94
帧的监视器
上。
[译注:将其简化成
24=>60<
/p>
,
24
帧中有
1
2
帧重复两次共
24
次,
12
帧重复
3
次共
36
次,合在一起
60
次。]
表
D-1.
There are
up to NumClockTS sets of clock timestamp
information for a picture, as specified
by
clock_timestamp_flag[
i
]
for
each
set.
The
sets
of
clock
timestamp
information
apply
to
the
field(s)
or the frame(s) associated with the picture by
pic_struct.
NumClockTS
(时间戳个数)由
pic_struct
按照注:举一个例子,帧重复可以用来
将每秒
25
帧的视频显
示在每秒
50
帧的监视器上,
或把每秒
29.97
帧的视频显示在每秒
59.94
帧的监视器上。
重复使用一次
< br>“帧
重复”和一次“帧重复三次”,可以将每秒
23.9
8
帧的视频(电影)显示在每秒
59.94
帧的监视器上。
[译注:将其简化成
24=>60<
/p>
,
24
帧中有
1
2
帧重复两次共
24
次,
12
帧重复
3
次共
36
次,合在一起
60
次。]
表
D-1
确定。一个图可以有
NumClockTS
个时间戳信息,参见
clock_timestamp_flag[ i ]
。每个
时间戳信息应用于其对应的场或帧。
The contents of the clock timestamp
syntax elements indicate a time of origin,
capture, or alternative
ideal display.
This indicated time is
computed as
时间戳语
法元素的内容指明原始时刻、捕捉时刻或理想显示时刻。他们如下计算:
clockTi
mestamp = ( ( hH * 60 + mM ) * 60 + sS ) *
time_scale +
+ tOffset,
nFrames * (
num_units_in_tick * ( 1 + nuit_field_based_flag )
)
(D-1)
in
units
of
clock
ticks
of
a
clock
with
clock
frequency
equal
to
time_scale
Hz,
relative
to
some
unspecified
point
in
time
for
which
clockTimestamp
is
equal
to
0.
Output
order
and
DPB
output
timing are not
affected by the value of clockTimestamp.
When two or more frames
with pic_struct
equal to 0 are
consecutive in output order and have equal values
of clockTimestamp, the indication is
that the frames represent the same
content and that the last such frame in output
order is the preferred
representation.
单位是频率为
time_scale
Hz
的时钟计数,
相对于一个未指明的时间原点
clockTimestamp = 0
。
输
出顺序和
DPB
输出
时序不受
clockTimestamp
< br>值的影响。
如果两个或更多的
pic_struct
为
0
的帧在
输出顺序上是连续的并且具有相同的
clockTimestamp
值,则表明这些帧表示相同的
内容,输出
顺序最晚的那个帧有优先显示权。
NOTE
–
clockTimestamp
time
indications
may
aid
display
on
devices
with
refresh
rates
other
than
those
well-matched to DPB output
times.
注:
clockTimestamp
用来协助在刷新率与
DPB
输出时刻不匹配的设备上显示图象。
clock_timestamp_flag[
i
]
equal to 1 indicates that
a number of clock timestamp syntax elements are
present
and
follow
immediately.
clock_timestamp_flag[
i
]
equal
to 0
indicates
that
the
associated
clock
timestamp
syntax
elements
are
not
present.
When
NumClockTS
is
greater
than
1
and
clock_timestamp_flag[ i
] is equal to 1 for more than one value of i, the
value of clockTimestamp shall
be non-
decreasing with increasing value of i.
clock_timestamp_flag[
i
]
为
1
表明紧接其下的是时间戳信息。
clock_timestam
p_flag[ i ]
为
0
表
明
没
有
与
p>
其
相
关
联
的
时
间
戳
信
息
。
当
< br>
NumClockTS
大
于
1 <
/p>
并
且
有
多
于
一
个
i
使
clock_timestamp_flag[ i ]
为
1
时,
clockTimestamp
的值在
i
增加时不能减小。
ct_type
indicates the scan
type (interlaced or progressive) of the source
material as follows:
ct_type
表明视频来源的扫描类型(隔行或逐行):
Two fields of a coded frame
may have different values of ct_type.
一个帧的两个场可以有不同的
ct_type
。
When clockTimestamp is equal for two
fields of opposite parity that are consecutive in
output order,
both with ct_type equal
to 0 (progressive) or ct_type equal to 2
(unknown), the two fields are indicated
to have come from the same original
progressive frame.
Two
consecutive fields in output order shall
have different values of clockTimestamp
when the value of ct_type for either field is 1
(interlaced).
如果输出顺序连续的奇偶性相反的两场的
clockTimestamp
相同,
并且两场的
ct_type
都为
0
(
逐
行
)
或都为
2 (
未知
< br>)
,
则认为两场来自同一个原始的逐行帧。
如果任何一个场的
ct_type
为
1
(<
/p>
隔
行),输出顺序相邻的两个场应该有不同的
clockTimestamp
值。
表
D-2
–
Mapping of ct_type to
source picture scan
ct_type
与视频来源的关系
Value
0
1
2
3
nuit_field_based_flag
: Used
in calculating clockTimestamp, as specified in
Equation D-1.
nuit_field_based_flag
:
在公式
D-1
中用于计算
clockTimestamp
。
counting_type
:
Specifies
the
method
of
dropping
values
of
the
n_frames
as
specified
in
counting_type
:
按照
错误!书签自引用无效。
,指明
n_frames
丢值的方法。
表
D-3.
counting_type
:
按照
错误!书签自引用无效。
,指明
n_frames
丢值的方法。
Original
picture scan
原始扫描方式
Progressive
逐行
Interlaced
隔行
Unknown
未知
Reserved
保留
表
D-3
–
Definition of
counting_type values
counting_type
的定义
Value
0
Interpretation
解释
no
dropping
of
n_frames
count
values
and
no
use
of
time_offset
不丢
n_frames
值,并且不用
time_offset
1
no dropping of n_frames count
values
< br>不丢
n_frames
值
2
dropping of individual zero
values of n_frames count
丢掉单个
n_frames
计数的
0
值
3
dropping
of
individual
MaxFPS-1
values
of
n_frames
count
丢掉单个
n_frames
计数的
MaxFPS-1
值
4
dropping
of
the
two
lowest
(value
0
and
1)
n_frames
counts
when
seconds_value
is
equal
to 0
and
minutes_value is not an integer
multiple of 10
当
秒值
(
seconds_value
)
为
0
并且分值
(
minutes_value
)
不是
10
的倍数时,
丢掉
< br>n_frames
计数的最低两个值
(
< br>0
和
1
)
5
dropping
of
unspecified
individual
n_frames
count
values
丢掉未指定的单个
n_frames
计数值
6
dropping
of
unspecified
numbers
of
unspecified
n_frames count
values
< br>丢掉未指定数量未指定的
n_frames
计数值
7..31
Reserved
full_timestamp_flag
equal
to
1
specifies
that
the
n_frames
syntax
element
is
followed
by
seconds_value,
minutes_value,
and
hours_value.
full_timestamp_flag
equal
to
0
specifies
that
the
n_frames
syntax element is followed by
seconds_flag.
full_timestamp_flag
(完整时间戳标志)
为
1
表示语法单元
n_frames
后跟着
seconds_value
(
秒
值)
,
minutes_value
(分值)
和
hours_v
alue
(小时值)
。
full_ti
mestamp_flag
为
0
表示
n_frames
后跟着
seconds_flag
。
discontinuity_flag
equal
to
0
indicates
that
the
difference
between
the
current
value
of
clockTimestamp
and
the
value
of
clockTimestamp
computed
from
the
previous
clock
timestamp
in
output
order
can
be
interpreted
the
time
difference
between
the
times
of
origin
or
capture
of
the
associated
frames
or
fields.
discontinuity_flag
equal
to
1
indicates
that
the
difference
between
the
current value of
clockTimestamp and the value of clockTimestamp
computed from the previous clock
timestamp in output order should not be
interpreted the time difference between the times
of origin or
capture
of
the
associated
frames
or
fields.
When
discontinuity_flag
is
equal
to 0,
the
value
of
clockTimestamp
shall
be
greater
than
or
equal
to
all
values
of
clockTimestamp
present
for
the
preceding
picture in DPB output order.
discontinuity_flag
(不连续标志)为
0
表示当前时间戳
clockTimestamp
与(按输出顺序)前
一个计算出的时间戳值差可以解释为原始来源的时间差。
discont
inuity_flag
为
1 <
/p>
则相反(不能
表示真实来源的时间差)
。
当
discontinuity_flag
为
0
时,
clockTimestamp
应大于或等于
(按
DPB
输出顺序)其
前的所有图像的
clockTimestamp
。
cnt_dropped_flag
specifies the skipping of one or more values of
n_frames using the counting method
specified by counting_type.
cnt_dropped_flag
表示要使用
counting_type
指定的方法跳过若干个
n_frames
的值。
n_frames
specifies the
value of
nFrames
used to compute
clockTimestamp.
n_frames
shall be less
than
n_frames
指定计算
clockTimestamp
所使用的
nFrames
的值。
n_frames
应小于
MaxFPS = Ceil( time_scale
?
num_units_in_tick )
NOTE
–
n_frames is a frame-based
counter.
For field-specific
timing indications, time_offset should be used
to indicate a distinct clockTimestamp
for each field.
注:
n_frames
是基于帧的计
数器。
对与场相关的时序,
要用
time_offset
来标明每场的
clockTimestamp
。
When counting_type is equal to 2 and
cnt_dropped_flag is equal to 1, n_frames shall be
equal to 1 and
the
value
of
n_frames
for
the
previous
picture
in
output
order
shall
not
be
equal
to 0
unless
discontinuity_flag is
equal to 1.
如果
counting_type
为
2
并且
cnt_dropped_flag
为
1
,则
n_frames
应为
1
并且(按输出顺序)
其前一个图像的
n_frames
的值不应为
0
(除非
discontinuity_flag
为
1
)。
NOTE
D-1
–
When
counting_type is equal to 2, the need for
increasingly large magnitudes of tOffset in
Equation
when using fixed non-integer
frame rates (e.g., 12.5 frames per second with
time_scale equal to 25 and
num_units_in_tick equal to 2 and
nuit_field_based_flag equal to 0) can be avoided
by occasionally skipping
over the value
n_frames equal to 0 when counting (e.g., counting
n_frames from 0 to 12, then incrementing
seconds_value and counting n_frames
from 1 to 12, then incrementing seconds_value and
counting n_frames
from 0 to 12,
etc.).
注:如果
counting_type
为
2,
在使用固定的非整数帧率时(比如每秒
12.5
帧:
time_scale
为
25
,
num_units_in_tick
为
2
,
nuit_field_based_flag
为
0
),可
以用下面的方法避免在公式
D-1
中使用特别大
的
tOffset
:在计数时偶然跳过
n_frames
为
0
的值(比如,
n_frames
从
0
计到
12
;然后秒值
seconds_value
加
1
,
n_frames
从
1
计到
12
;然后秒值
seconds_value
加
1
,
n_frames
从
0
计
到
12
,
…
)。
When counting_type is equal
to 3 and cnt_dropped_flag is equal to 1, n_frames
shall be equal to 0 and
the value of
n_frames for the previous picture in output order
shall not be equal to MaxFPS
–
1 unless
discontinuity_flag is equal to
1.
如果
counting_type
为
3
并且
cnt_dropped_flag
为
1
,则
n_frames
应为
0
并且(按输出顺序)
前一个图像的
n_frames
值不应等于
MaxFPS
–
1
(除非
discontinuity_flag
为
1
)。
NOTE
D-1
–
When
counting_type is equal to 3, the need for
increasingly large magnitudes of tOffset in
Equation
when using fixed non-integer
frame rates (e.g., 12.5 frames per second with
time_scale equal to 25 and
(D-
2)
num_units_in_tick equal to 2 and
nuit_field_based_flag equal to 0) can be avoided
by occasionally skipping
over
the
value
n_frames
equal
to
MaxFPS
when
counting
(e.g.,
counting
n_frames
from
0
to 12,
then
incrementing
seconds_value
and
counting
n_frames
from
0
to 11,
then
incrementing
seconds_value
and
counting n_frames from 0
to 12, etc.).
注:如果
counting_type
为
3,
在使用固定的非整数帧率时(比如每秒
12.5
帧:
time_scale
为
25
,
num_units_in_tick
为
2
,
nuit_field_based_flag
为
0
),可
以用下面的方法避免在公式
D-1
中使用特别大
的
tOffset
:在计数时偶然跳过
n_frames
为
MaxFPS
的值(比如,
n_frames
从
0
计到
12
;然后秒值
seconds_value
加
1
,
n_frames
从
0
计到
11
;然后秒值
seconds_value
加
1
,
n_frames
从
0
计
到
12
,
…
)。
When
counting_type is equal to 4 and cnt_dropped_flag
is equal to 1, n_frames shall be equal to 2 and
the specified value of sS
shall be zero and the specified value
of mM shall not be an integer multiple of
ten
and
n_frames
for
the
previous
picture
in
output
order
shall
not
be
equal
to 0
or
1
unless
discontinuity_flag is equal to
1.
如果
counting_type
为
4
并且
cnt_dropped_flag
为
1
,
则
n_frames
应为
2
并且
sS
的指定值应
为
0
并且
mM
的指定值应不是
10
的倍数
并且(按输出顺序)前一个图像的
n_frames
应不等
于
0
或
1
(除非
discontinuity_flag
为
1
)。
NOTE
–
When
counting_type is equal to 4, the need for
increasingly large magnitudes of tOffset in
Equation
D-1
when
using
fixed
non-
integer
frame
rates
(e.g.,
30000
?
1001
frames
per
second
with
time_scale
equal
to 60000
and
num_units_in_tick
equal
to 1 001
and
nuit_field_based_flag
equal
to 1)
can
be
reduced
by
occasionally skipping over the value
n_frames equal to MaxFPS when counting (e.g.,
counting n_frames from
0 to 29, then
incrementing seconds_value and counting n_frames
from 0 to 29, etc., until the seconds_value is
zero
and
is
not
an
integer
multiple
of
ten,
then
counting
n_frames
from
2
to 29,
then
incrementing
seconds_value
and counting n_frames from 0 to 29, etc.).
This counting method is
well known in industry
and is often
referred to as
注:如果
counting_type
为
<
/p>
4
,在使用固定的非整数帧率时(比如每秒
30000
?
1001
帧:
time_scale
为
60000
,
num_units_in_tick
为
1001
,
nuit_field_based_flag
为
0
)
p>
,
可以用下面的方法避免在公式
D-1
p>
中使用特别大的
tOffset
:
在计数时偶然跳过
n_frames
为
MaxFPS
的值
(比如,
n_frames
从
0
计到
29
;
然后秒值
加
1
,
n_frames
从
0
计到
29
,一直到秒值
seconds_value
为
0
并且分值
minutes_value
不
是<
/p>
10
的倍数,
然后
n_frames
从
2
计到
2
9
;
然后秒值
seconds_value
加
1
,
n_frames
从
0
计到
29
,
…
)
。
这种计数方法是工业界中常用的
“
NTSC
丢帧”计数方法。
When counting_type is equal to 5 or 6
and cnt_dropped_flag is equal to 1, n_frames shall
not be equal
to 1
plus
the
value
of
n_frames
for
the
previous
picture
in
output
order
modulo
MaxFPS
unless
discontinuity_flag is
equal to 1.
如果
counting_type
为
5
或
6
并且
cnt_dropped_flag
为
1
,则
n_frames
不应为
1
加上前一个
图像的
n_frames
值(模
MaxFPS
)(除非
discontinuity_flag
为
1
)。
NOTE
–
When
counting_type
is
equal
to 5
or
6,
the
need
for
increasingly
large
magnitudes
of
tOffset
in
Equation
D-1
when
using fixed non-integer frame rates can be avoided
by occasionally skipping over some
values of n_frames when counting.
The specific values of
n_frames that are skipped are not specified when
counting_type is equal to 5 or
6.
注:如果
counting_type
为
5
或
6<
/p>
,在使用固定的非整数帧率时,可以用偶然跳过某个值的
n_frames
的方法避免在公式
D-1<
/p>
中使用特别大的
tOffset
。具体跳过哪个值未指定。
seconds_flag
equal
to
1
specifies
that
seconds_value
and
minutes_flag
are
present
when
full_timestamp_flag
is
equal
to 0.
seconds_flag
equal
to
0
specifies
that
seconds_value
and
minutes_flag are not
present.
seconds_flag
(
秒
标
志
)
为
1
表
明
seconds_value
和
< br>minutes_flag
出
现
在
码
流
中
(
当
full_timestamp_flag
为
0
时)。
seconds_flag
为
0
表明
seconds_value
和
minutes_flag
不出现。
seconds_value
specifies
the
value
of
sS
used
to
compute
clockTimestamp.
The
value
of
seconds_value
shall
be
in
the
range
of
0
to 59,
inclusive.
When
seconds_value
is
not
present,
the
previous seconds_value in decoding
order shall be used as sS
to
compute clockTimestamp.
seconds_value
(秒值)给出计算
clockTimestamp
时使用的
sS
值。
seconds_value
取值范围是
0
~
59
。如果
seconds_value
不出现,使用(按解码顺序)前一个
seconds_value
作为
sS
来计
算
clockTimestamp
。
minutes_flag
equal
to
1
specifies
that
minutes_value
and
hours_flag
are
present
when
full_timestamp_flag
is
equal
to 0
and
seconds_flag
is
equal
to 1.
minutes_flag
equal
to
0
specifies
that minutes_value and hours_flag are
not present.
minutes_flag
(
分
标
志
)
为
1
表
明
minutes_value
和
hours_flag
在
码
流
中
出
现
(
当
full_time
stamp_flag
为
0
并且
seconds_flag
为
1
时)
。
minutes_flag
为
0
表示
minutes_value
和
hours_flag
不出现。
minutes_value
specifies
the
value
of
mM
used
to
compute
clockTimestamp.
The
value
of
minutes_value
shall
be
in
the
range
of
0
to 59,
inclusive.
When
minutes_value
is
not
present,
the
previous minutes_value in decoding
order shall be used as mM to compute
clockTimestamp.
minutes_value
给出用于计算
clockTimestamp
时使用的
mM
的值。
minutes_value
的取值范围
是
0
~
59
。如果
minutes_value
不出现,(按解码顺序)前一个
minutes_value
用来作为
mM
来计算
clockTimestamp
。
hours_flag
equal to 1
specifies that hours_value is present when
full_timestamp_flag is equal to 0 and
seconds_flag is equal to 1 and
minutes_flag is equal to 1.
hours_flag
(小时标志)为
1
表明
hours_value
出现在码流中(当
full_timestamp_flag
为
0
并
且
seconds_flag
为
1
并且
minutes_flag
为
1
)。
hours_value
specifies the value of hH used to compute
clockTimestamp.
The value
of hours_value
shall be in the range of
0 to 23, inclusive.
When
hours_value is not present, the previous
hours_value
in decoding order shall be
used as hH to compute clockTimestamp.
hours_value
给出计算<
/p>
clockTimestamp
时使用的
hH
的值。
hours_value
的取值范围是
0
~
23
。
如果
hours_value
不出现,
(
按解码顺序)
前一个
hours_value
作为
hH
来计算
clockTimestamp
。
time_offset
specifies the
value of tOffset used to compute clockTimestamp.
The number of bits used
to
represent
time_offset
shall
be
equal
to
time_offset_length.
When
time_offset
is
not
present,
the
value 0 shall be used as
tOffset to compute clockTimestamp.
time_offset
给
出
计
算
clockTi
mestamp
使
用
的
tOffset
的
值
p>
。
time_offset
的
长
度
是
time_off
set_length
个位。
如果
time_offset
不出现,
则用
0
作为
tOffset
来计算
clockTimestamp
。
A.2.3
Pan-scan rectangle SEI message
semantics
摇镜头矩形
SEI
消息语义
The pan-scan rectangle SEI message
syntax elements specify the coordinates of a
rectangle relative to
the cropping
rectangle of the sequence parameter set.
Each coordinate of this
rectangle is specified in
units of one-
sixteenth sample spacing relative to the luma
sampling grid.
摇镜头矩形
SEI
消息语法元素给出一
个(相对于序列参数集中裁减矩形的)矩形的坐标。其单位
是
1
/16
亮度取样网格。
pan_scan_rect_id
contains
an
identifying
number
that
may
be
used
to
identify
the
purpose
of
the
pan-scan
rectangle
(for
example,
to
identify
the
rectangle
as
the
area
to
be
shown
on
a
particular
display
device
or
as
the
area
that
contains
a
particular
actor
in
the
scene).
The
value
of
pan_scan_rect_id shall be
in the range of 0 to 2
32
–
1, inclusive.
pan_scan_rect_id
(摇镜头矩形标识符)包含一个数,它可以用来标识这个矩形的用途
(比如这
个矩形是在某个显示设备上的可见范围,或者在某个场景中一个区域,其中有某个特定演员)。 p>
pan_scan_rect_id
的取值范围是
0
~
2
32
–
1
。
Values
of
pan_scan_rect_id
from
0
to 255
and
from
512
to
2
31
-1
may
be
used
as
determined
by
the
application.
Values of pan_scan_rect_id from 256 to
511 and from 2
31
to
2
32
-1 are reserved for
future
use
by
ITU-T
|
ISO/IEC.
Decoders
encountering
a
value
of
pan_scan_rect_id
in
the
range
of
256
to 511 or in the range
of 2
31
to
2
32
- 1 shall ignore (remove
from the bitstream and discard) it.
pan_scan_rect_id
从
0
到
255
和从
512
到
2
31
-1
的用途由具体的应用决定。
pan_scan_rect_id
从
256
到
511
和
从
2
31
到
2
32
-1
是
保
留
给
ITU-T
|
ISO/IEC <
/p>
将
来
扩
展
用
。
解
码
器
遇
到
pan_scan
_rect_id
为
256
~
511
或
2
31
~
2
32
- 1
时,要忽略它(从码流中取出,丢掉)。
pan_scan_rect_cancel_flag
equal
to
1
indicates
that
the
SEI
message
cancels
the
persistence
of
a
previous
pan-scan
rectangle
SEI
message.
pan_scan_rect_cancel_flag
equal
to
0
indicates
that
the
SEI
message
does
not
cancel
the
persistence
of
a
previous
pan-scan
rectangle
SEI
message
and
that
pan-scan rectangle
information follows.
pan_scan_rect_cancel_flag
(摇镜头矩形取消标志)
为
1
表示
这个
SEI
消息取消前一个摇镜头
矩形
消息的作用。
pan_scan_rect_cancel_flag
为
0
表示
不取消前一个摇镜头矩形
SEI
消息,并且
其后有摇镜头矩形信息。
pan_scan_cnt_minus1
specifies
the
number
of
pan-
scan
rectangles
that
are
present
in
the
SEI
message.
pan_scan_cnt_minus1
shall
be
in
the
range
of
0
to
2,
inclusive.
pan_scan_cnt_minus1
equal to
0 indicates that a single pan-scan rectangle is
present that applies to all fields of the decoded
picture.
pan_scan_cnt_minus1
shall
be
equal
to
0
when
the
current
picture
is
a
field.
pan_scan_cnt_minus1 equal
to 1 indicates that two pan-scan rectangles are
present, the first of which
applies to
the first field of the picture in output order and
the second of which applies to the second
field
of
the
picture
in
output
order.
pan_scan_cnt_minus1
equal
to
2
indicates
that
three
pan-
scan
rectangles
are
present,
the
first
of
which
applies
to
the
first
field
of
the
picture
in
output
order,
the
second of which applies to the second
field of the picture in output order, and the
third of which applies
to a repetition
of the first field as a third field in output
order.
pan_scan_cnt_minus1
< br>指明
SEI
消息中有多少个矩形。
pan_scan_cnt_minus1
取值范围为
0
~
2<
/p>
。
pan_scan_cnt_minus1
为
0
表示
有一个摇镜头矩形,
它适用于图象的所有场。
如果当前图像是一
个场,
pan_scan_cnt_minus1
应为
0
。<
/p>
pan_scan_cnt_minus1
为
1
表明有两个矩形,第一个适用于
按输出顺序的第一场,第二个适用于第二场。
pan_scan
_cnt_minus1
为
2 <
/p>
表明有三个矩形,第一
个用于第一场,第二个用于第二场,第三个
用于第一场的重复(这时它是输出顺序的第三场)。
pan_scan_rect_le
ft_offset[
i
]
,
pan_scan_rect_right_offset[
i
]
,
pan_scan_rect_top_offset[
i
]
,
and
pan_scan_rect_bottom_offset[
i
]
,
specify,
as
signed
integer
quantities
in
units
of
one-
sixteenth
sample spacing relative to
the luma sampling grid, the location of the pan-
scan rectangle.
The values
of each of these four syntax elements
shall be in the range of
-2
31
to
2
31
- 1,
inclusive.
pan_scan_rect_left_offset[
i
]
,
pan_scan_rect_right_offset[
i
]
,
pan_scan_rect_top_offset[
i
]
,
和
pan_scan_rect_bottom_offset[
i
]
,
定义摇镜头矩形的位置。每
个都是一个整数,单位是亮度取样
网格的
1/16
。每个语法元素的取值范围是
-2
31
~
2
31
–
1
。
The pan-scan
rectangle is specified, in units of one-sixteenth
sample spacing relative to a luma frame
sampling grid, as the area of the
rectangle with coordinates as follows:
以
p>
1/16
亮度取样网格为单位表示的摇镜头矩形(以下简称矩形)的
坐标位置范围如下计算:
–
If
frame_mbs_only_flag
is
equal
to 1,
the
pan-scan
rectangle
has
luma
frame
horizontal
coordinates
from
32 *
frame_crop_left_offset
+
pan_scan_rect_left_offset[ i ]
to 32
*
( 8
*
PicWidthInMbs
–
frame_crop_right_offset )
+
pan_scan_rect_right_offset[ i ]
–
1
and
with
vertical
coordinates
from
32
*
frame_crop_top_offset
+
pan_scan_rect_top_offset[ i ]
to
32 * ( 8 * PicHeightInMbs
–
frame_crop_bottom_offset )
+ pan_scan_rect_bottom_offset[ i ]
–
1,
inclusive.
In
this case, the value of 32 *
frame_crop_left_offset +
pan_scan_rect_left_offset[ i ]
shall
be
less
than
or
equal
to
32
*
( 8
*
PicWidthInMbs
–
frame_crop_right_offset ) +
pan_scan_rect_right_offset[ i ]
–
1;
and
the
value
of
32
*
frame_crop_top_offset
+
pan_scan_rect_top_offset[ i ]
shall
be
less
than
or
equal
to
32
*
( 8
*
PicHeightInMbs
–
frame_crop_bottom_offset ) +
pan_scan_rect_bottom_offset[ i ]
–
1.
如果
frame_mbs_only_flag
为
1
,则矩形的亮度帧水平范围为:从
32 * frame_crop_left_offset
+ pan_scan_rect_left_offset[ i ]
到
32 * ( 8 * PicWidthInMbs
–
frame_crop_right_offset )
+ pan_scan_rect_right_offset[ i ]
–
1
。
垂直范围为:从
32 * frame_crop_top_offset
+ pan_scan_rect_top_offset[ i ]
到
32 * ( 8 * PicHeightInMbs
–
frame_crop_bottom_offset
)+pan_scan_rect_bottom_offset[ i
]
–
1
。
在式中,起点要小于或等于终点。
–
Otherwise
(frame_mbs_only_flag is equal to 0), the pan-scan
rectangle has luma frame horizontal
coordinates
from
32
*
frame_crop_left_offset
+
pan_scan_rect_left_offset[ i ]
to
32
*
( 8
*
PicWidthInMbs
–
frame_crop_right_offset )
+
pan_scan_rect_right_offset[ i ]
–
1
and
with
vertical
coordinates
from
64
*
frame_crop_top_offset
+
pan_scan_rect_top_offset[ i ]
to
64 * ( 4 * PicHeightInMbs
–
frame_crop_bottom_offset )
+ pan_scan_rect_bottom_offset[ i ]
–
1,
inclusive.
In
this case, the value of 32 *
frame_crop_left_offset +
pan_scan_rect_left_offset[ i ]
shall
be
less
than
or
equal
to
32
*
( 8
*
PicWidthInMbs
–
frame_crop_right_offset )
+
pan_scan_rect_right_offset[ i ]
–
1;
and
the
value
of
64
*
frame_crop_top_offset
+
pan_scan_rect_top_offset[ i ]
shall
be
less
than
or
equal
to
64
*
( 4
*
PicHeightInMbs
–
frame_crop_bottom_offset ) +
pan_scan_rect_bottom_offset[ i ]
–
1.
否则(
frame_mbs_only_flag
为
0
),矩形的水平范围为:从
32 * frame_crop_left_offset
+ pan_scan_rect_left_offset[ i ]
到
32 * ( 8 * PicWidthInMbs
–
frame_crop_right_offset )
+ pan_scan_rect_right_offset[ i ]
–
1
。
垂直范围为:从
64 * frame_crop_top_offset
+ pan_scan_rect_top_offset[ i ]
到
64 * ( 4 * PicHeightInMbs
–
frame_crop_bottom_offset
)+pan_scan_rect_bottom_offset[ i
]
–
1
。
在式中,起点要小于或等于终点。
When
the
pan-scan
rectangular
area
includes
samples
outside
of
the
cropping
rectangle,
the
region
outside of the
cropping rectangle may be filled with synthesized
content (such as black video content or
neutral grey video content) for
display.
如果摇镜头矩形的范围超出裁减矩形,
超出的部分在显示时要用合成的内容充
填
(比如黑屏或自
然灰度)。
pan_scan_rect_r
epetition_period
indicates whether
another pan-scan rectangle SEI message with the
same value of pan_scan_rect_id shall be
present in the bitstream and specifies the picture
order count
interval within which it
will be present.
The value
of pan_scan_rect_repetition_period shall be in the
range
of
0
to
16 384,
inclusive.
When
pan_scan_cnt_minus1
is
greater
than
0,
pan_scan_rect_repetition_period shall
not be greater than 1.
pan_scan_rect_r
epetition_period
指明在码流中是否会出现
另一个摇镜头矩形
SEI
消息,它带有
同样的
pan_scan_rect_id
值,以及这种消息出现的频率(以图像顺序计数值的间隔值表示)。
pan_scan_rect_repetition_period
的取值范围为
0
~
16
384
。当
pan_scan_cnt_minus1
大于
0
时
,
pan_scan_rect_repetition_period
应不大于
1.
pan_scan_rect_repetition_period equal
to 0 specifies that the pan-scan rectangle
information applies to
the current
decoded picture only.
pan_scan_rect_repetition_period
为
0
表示此摇镜头矩形信息只应用于当前图像。
pan_scan_rect_repetition_period equal
to 1 specifies that the pan-scan rectangle
information persists in
output order
until any of the following conditions are
true.
pan_scan_rect_repetition_period
为
1
表明
此摇镜头矩形信息一直有效,到任何下述条件之一满
足为止:
–
–
A new coded video sequence begins
开始一个新视频序列
A picture in an access unit
containing a pan-scan rectangle SEI message with
the same
value
of
pan_scan_rect_id
is
output
having
PicOrderCnt( )
greater
than
PicOrderCnt( CurrPic ).
输出了一个图象,他的访问单元中包含一个摇镜头矩形
SEI<
/p>
消息,它具有相同的
pan_scan_rect_id
并且其
PicOrderCnt(
)
大于
PicOrderCnt(
CurrPic )
。
pan_scan_rect_repetition_period equal
to 0 or equal to 1 indicates that another pan-scan
rectangle SEI
message with the same
value of pan_scan_rect_id may or may not be
present.
pan_scan_rect_repetition_period
为
0
或
1
表明另一个具有相同
pan_scan_rect_id
的摇镜头矩
形
SEI
消息可能出现,也可能不出现。
pan_scan_rect_repetition_period
greater
than
1
specifies
that
the
pan-scan
rectangle
information
persists until any of the following
conditions are true.
pan_scan_rect_repetition_period
大于
1
表
明摇镜头矩形信息一直有效,直到任何下述条件满足
为止:
–
–
A
new coded video sequence begins
开始一个新的视频序列
A picture in an access unit
containing a pan-scan rectangle SEI message with
the same
value
of
pan_scan_rect_id
is
output
having
PicOrderCnt( )
greater
than
PicOrderCnt( CurrPic )
+ pan_scan_rect_repetition_period.
输出了一
个图象,他的访问单元中包含一个摇镜头矩形
SEI
消息,它具
有相同的
pan_scan_rect_id
并
且
其
PicOrderCnt( )
大
于
PicOrderCnt(
CurrPic )
+
pan_scan_rect_re
petition_period
。
pan_scan_rect_repetition_period greater
than 1 indicates that another pan-scan rectangle
SEI message
with the same value of
pan_scan_rect_id shall be present for a picture in
an access unit that is output
having
PicOrderCnt( ) less than or equal to PicOrderCnt(
CurrPic ) + pan_scan_rect_repetition_period;
unless a new coded video sequence
begins without output of such a
picture.
pan_scan_rect_repetition_period
大于
1
表明另一个具有相同的
pan_scan_rect_id
的摇镜头矩形
SEI
消
息
应
该
出
现
在
一
个
图
像
中
,
而
且
这
个
图
象
的<
/p>
PicOrderCnt( )
要<
/p>
小
于
或
等
于
PicOrderCnt(
CurrPic ) + pan_scan_rect_repetition_period
(除非开始一个新的视频序列而导致不输
出这个图象)。
A.2.4
Filler payload
SEI message semantics
填充载荷
SE
I
消息语义
This message
contains a series of payloadSize bytes of value
0xFF, which can be
discarded.
此消息包含
payloadSize
个值为
0xFF
的字节。它们可以被忽略。
ff_byte
shall be
a byte having the value 0xFF.
ff_byte
是值为
0xFF
的字节。
A.2.5
User data registered by ITU-T
Recommendation T.35 SEI message semantics
ITU-T T.35
登记的用户数据
SEI
消息语义
This message
contains user data registered as specified by
ITU-T Recommendation T.35, the contents
of which are not specified by this
Recommendation | International
Standard.
此消息含有按照
ITU-T
T.35
标准登记的用户数据,其内容在本标准中未定义。
itu_t_t35_country_code
shall
be
a
byte
having
a
value
specified
as
a
country
code
by
ITU-T
Recommendation T.35 Annex A.
itu_t_t35_country_code
一个字节,含有符合标准
ITU-T
T.35
中附录
A.
的国家码。
itu_t_t35_count
ry_code_extension_byte
shall be a byte
having a value specified as a country code by
ITU-T Recommendation T.35 Annex
B.
itu_t_t35_country_code_extension_byte
一个字节,含有符合标准
ITU-T
T.35
中附录
< br>B.
的国
家码。
itu_t_t35_payload_byte
shall
be
a
byte
containing
data
registered
as
specified
by
ITU-T
Recommendation
T.35.
itu_t_t35_payload_byte
一个字节,含有按照标准
ITU-T
T.35
登记的用户数据。
The ITU-T T.35 terminal
provider code and terminal provider oriented code
shall be contained in the
first
one
or
more
bytes
of
the
itu_t_t35_payload_byte,
in
the
format
specified
by
the
Administration
that issued
the terminal provider code. Any remaining
itu_t_t35_payload_byte data shall be data having
syntax and semantics as specified by
the entity identified by the ITU-T T.35 country
code and terminal
provider
code.
-
-
-
-
-
-
-
-
-
上一篇:几种实用的英文作文结尾 英语作文的结尾怎么写
下一篇:一年级小学生简短日记大全