[go: up one dir, main page]

HK1248042B - Electronic devices for sending a message and buffering a bitstream - Google Patents

Electronic devices for sending a message and buffering a bitstream Download PDF

Info

Publication number
HK1248042B
HK1248042B HK18107276.0A HK18107276A HK1248042B HK 1248042 B HK1248042 B HK 1248042B HK 18107276 A HK18107276 A HK 18107276A HK 1248042 B HK1248042 B HK 1248042B
Authority
HK
Hong Kong
Prior art keywords
initial
picture
cra
cpb
electronic device
Prior art date
Application number
HK18107276.0A
Other languages
Chinese (zh)
Other versions
HK1248042A1 (en
Inventor
萨琴‧G‧德希潘德
Original Assignee
夏普株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/447,095 external-priority patent/US9402082B2/en
Application filed by 夏普株式会社 filed Critical 夏普株式会社
Publication of HK1248042A1 publication Critical patent/HK1248042A1/en
Publication of HK1248042B publication Critical patent/HK1248042B/en

Links

Description

用于发送消息和缓冲比特流的电子设备Electronic devices for sending messages and buffering bit streams

本申请是于2014年10月11日递交的申请号为201380019557.3 的中国国家申请“用于发送消息和缓冲比特流的电子设备”的分案申请。This application is a divisional application of Chinese national application No. 201380019557.3 filed on October 11, 2014, entitled “Electronic device for sending messages and buffering bit streams”.

技术领域Technical Field

本公开总体上涉及电子设备。更具体地,本公开涉及用于发送消息并缓冲比特流的电子设备。The present disclosure relates generally to electronic devices and more particularly to electronic devices for sending messages and buffering bitstreams.

背景技术Background Art

为了满足消费者需求并改善便携性和便利性,电子设备变得越来越小并且越来越强大。消费者已经变得依赖电子设备,并期望增加的功能性。电子设备的一些示例包括台式计算机、膝上型计算机、蜂窝电话、智能电话、媒体播放器、集成电路等。To meet consumer demand and improve portability and convenience, electronic devices are becoming smaller and more powerful. Consumers have become dependent on electronic devices and expect increased functionality. Some examples of electronic devices include desktop computers, laptop computers, cellular phones, smartphones, media players, integrated circuits, etc.

一些电子设备用于处理并显示数字媒体。例如,便携式电子设备现在允许几乎在消费者所处的任何位置使用数字媒体。此外,一些电子设备可以提供对数字媒体内容的下载或流传输,以供消费者使用和欣赏。Some electronic devices are used to process and display digital media. For example, portable electronic devices now allow consumers to use digital media almost anywhere. In addition, some electronic devices can provide downloading or streaming of digital media content for consumers to use and enjoy.

越来越受欢迎的数字媒体呈现出若干问题。例如,有效地表示用于存储、传输和快速回放的高质量数字媒体呈现出若干挑战。如从本讨论中可以看出,以改善后的性能有效表示数字媒体的系统和方法是有利的。The increasing popularity of digital media presents several problems. For example, efficiently representing high-quality digital media for storage, transmission, and fast playback presents several challenges. As can be seen from this discussion, systems and methods for efficiently representing digital media with improved performance would be advantageous.

发明内容Summary of the Invention

技术问题Technical issues

希望提供用于表示数字媒体的更有效的技术。It would be desirable to provide more efficient techniques for representing digital media.

解决方案Solution

本发明的一方面提供了一种用于发送消息的电子设备,包括:One aspect of the present invention provides an electronic device for sending a message, comprising:

处理器;processor;

存储器,与所述处理器进行电子通信;a memory in electronic communication with the processor;

指令,存储在所述存储器中,所述指令可执行以:Instructions stored in the memory, the instructions being executable to:

(a)确定第一图片是否是随机访问图片(random access picture);(a) determining whether the first picture is a random access picture;

(b)如果第一图片是随机访问图片,则确定是否存在先行图片(leadingpicture);(b) If the first picture is a random access picture, determine whether there is a leading picture;

(c)如果存在先行图片,则生成包括指示是否存在用于开始随机访问图片的初始编码图片缓冲器(CPB)移除延迟参数加的标记和用于开始随机访问图片的初始CPB移除延迟参数在内的消息;以及(c) if a preceding picture exists, generating a message including a flag indicating whether an initial coded picture buffer (CPB) removal delay parameter for starting random access to the picture exists and the initial CPB removal delay parameter for starting random access to the picture; and

(d)发送所述消息。(d) sending the message.

本发明的另一方面提供了一种用于缓冲比特流的电子设备,包括:Another aspect of the present invention provides an electronic device for buffering a bit stream, comprising:

处理器;processor;

存储器,与所述处理器进行电子通信;a memory in electronic communication with the processor;

指令,存储在所述存储器中,所述指令可执行以:Instructions stored in the memory, the instructions being executable to:

(a)接收消息;(a) receiving a message;

(b)确定第一访问单元是否是指示随机访问图片的访问单元,是否不存在先行图片,以及标记是否指示在该消息中存在用于开始随机访问图片的初始编码图片缓冲器(CPB) 移除延迟参数;(b) determining whether the first access unit is an access unit indicating a random access picture, whether there is no preceding picture, and whether a flag indicates that an initial coded picture buffer (CPB) removal delay parameter for starting random access pictures is present in the message;

(c)移除第一访问单元;以及(c) removing the first access unit; and

(d)对第一访问单元进行解码。(d) Decode the first access unit.

本发明的另一方面提供了一种用于通过电子设备发送消息的方法,包括:Another aspect of the present invention provides a method for sending a message through an electronic device, comprising:

确定第一图片是否是随机访问图片;determining whether the first picture is a random access picture;

如果第一图片是随机访问图片,则确定是否存在先行图片;If the first picture is a random access picture, determining whether there is a preceding picture;

如果存在先行图片,则生成包括指示是否存在用于开始随机访问图片的初始编码图片缓冲器(CPB)移除延迟参数的标记和用于开始随机访问图片的初始CPB移除延迟参数在内的消息;以及If a preceding picture exists, generating a message including a flag indicating whether an initial coded picture buffer (CPB) removal delay parameter for starting random access to the picture exists and the initial CPB removal delay parameter for starting random access to the picture; and

发送所述消息。The message is sent.

本发明的另一方面提供了一种用于通过电子设备缓冲比特流的方法,包括:Another aspect of the present invention provides a method for buffering a bitstream by an electronic device, comprising:

接收消息;Receive messages;

确定第一访问单元是否是指示随机访问图片的访问单元,是否不存在先行图片,以及标记是否指示存在用于开始随机访问图片的初始编码图片缓冲器(CPB)移除延迟参数;determining whether the first access unit is an access unit indicating a random access picture, whether there is no preceding picture, and whether the flag indicates that there is an initial coded picture buffer (CPB) removal delay parameter for starting a random access picture;

移除第一访问单元;以及removing the first access unit; and

对第一访问单元进行解码。A first access unit is decoded.

本发明的有利效果Advantageous Effects of the Invention

当结合附图考虑本发明的以下详细描述时,将更容易理解本发明的上述和其它目的、特征和优点。The above and other objects, features and advantages of the present invention will be more readily understood when the following detailed description of the present invention is considered in conjunction with the accompanying drawings.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

图1是示出了用于发送消息并缓冲比特流的系统和方法可以在其中实现的一个或多个电子设备的示例的框图;1 is a block diagram illustrating an example of one or more electronic devices in which systems and methods for sending messages and buffering bitstreams may be implemented;

图2是示出了用于发送消息的方法的一种配置的流程图;FIG2 is a flow chart illustrating one configuration of a method for sending a message;

图3是示出了用于发送消息的方法的更具体配置的流程图;FIG3 is a flow chart showing a more specific configuration of a method for sending a message;

图4是示出了用于缓冲比特流的方法的一种配置的流程图;FIG4 is a flow chart illustrating one configuration of a method for buffering a bitstream;

图5是示出了用于缓冲比特流的方法的更具体配置的流程图;FIG5 is a flow chart showing a more specific configuration of a method for buffering a bit stream;

图6是示出了电子设备上的编码器的一个配置的框图;FIG6 is a block diagram showing one configuration of an encoder on an electronic device;

图7是示出了电子设备上的解码器的一个配置的框图;FIG7 is a block diagram showing one configuration of a decoder on an electronic device;

图8示出了可以在发送电子设备中使用的各个组件;FIG8 illustrates various components that may be used in a transmitting electronic device;

图9是示出了可以在接收电子设备中使用的各个组件的框图;FIG9 is a block diagram illustrating various components that may be used in a receiving electronic device;

图10是示出了用于发送消息的系统和方法可以在其中实现的电子设备的一个配置的框图;以及FIG10 is a block diagram illustrating one configuration of an electronic device in which systems and methods for sending messages may be implemented; and

图11是示出了用于缓冲比特流的系统和方法可以在其中实现的电子设备的一个配置的框图。11 is a block diagram illustrating one configuration of an electronic device in which systems and methods for buffering a bitstream may be implemented.

具体实施方式DETAILED DESCRIPTION

描述了一种用于发送消息的电子设备。该电子设备包括处理器和存储在存储器中的指令,该存储器与处理器进行电子通信。电子设备确定第一图片是否是纯净(clean)随机访问(CRA)图片。如果第一图片是CRA图片,则电子设备还确定是否存在先行图片。如果存在先行图片,则电子设备附加地生成包括CAR先行图片丢弃标记和初始CRA编码图片缓冲器(CPB)移除延迟参数在内的消息。电子设备还发送该消息。该消息可以是缓冲周期补充增强信息(SEI)消息。可以将初始CRA CPB移除延迟参数称作用于开始随机访问图片的初始 CPB移除延迟参数。可以将CRA先行图片丢弃标记称作指示该消息中是否存在用于开始随机访问图片的初始CPB移除延迟参数的标记。An electronic device for sending a message is described. The electronic device includes a processor and instructions stored in a memory, the memory being in electronic communication with the processor. The electronic device determines whether a first picture is a clean random access (CRA) picture. If the first picture is a CRA picture, the electronic device further determines whether a preceding picture exists. If a preceding picture exists, the electronic device additionally generates a message including a CAR preceding picture discard flag and an initial CRA coded picture buffer (CPB) removal delay parameter. The electronic device also sends the message. The message may be a buffering period supplemental enhancement information (SEI) message. The initial CRA CPB removal delay parameter may be referred to as an initial CPB removal delay parameter for starting random access pictures. The CRA preceding picture discard flag may be referred to as a flag indicating whether the initial CPB removal delay parameter for starting random access pictures exists in the message.

初始CRA CPB移除延迟参数可以是 initial_cra_cpb_removal_delay[SchedSelIdx]。SchedSelIdx可以是索引变量。The initial CRA CPB removal delay parameter may be initial_cra_cpb_removal_delay[SchedSelIdx]. SchedSelIdx may be an index variable.

如果存在先行图片,则电子设备还可以生成初始CRA CPB移除延迟偏移参数。初始CRA CPB移除延迟偏移参数可以是 initial_cra_cpb_removal_delay_offset[SchedSelIdx]。SchedSelIdx可以是索引变量。If a preceding picture exists, the electronic device may further generate an initial CRA CPB removal delay offset parameter. The initial CRA CPB removal delay offset parameter may be initial_cra_cpb_removal_delay_offset[SchedSelIdx]. SchedSelIdx may be an index variable.

确定第一图片是否是CRA图片可以包括:确定第一图片是否仅包括I条带。确定是否存在先行图片可以包括:确定图片是否按解码顺序在CRA图片之后以及按输出顺序在CRA图片之前。Determining whether the first picture is a CRA picture may include determining whether the first picture includes only I slices. Determining whether a preceding picture exists may include determining whether the picture follows the CRA picture in decoding order and precedes the CRA picture in output order.

还描述了一种用于对比特流进行缓冲的电子设备。该电子设备包括处理器和存储在存储器中的指令,该存储器与处理器进行电子通信。电子设备接收消息。电子设备还确定第一访问单元是否是纯净随机访问(CRA)访问单元,是否不存在先行图片,以及CRA先行图片丢弃标记是否指示丢弃。电子设备还移除第一访问单元。附加地,电子设备对第一访问单元进行解码。消息可以是缓冲周期补充增强信息 (SEI)消息。接收消息可以包括接收CRA丢弃标记、初始CRA编码图片缓冲器(CPB)移除延迟参数和初始CRA CPB移除延迟偏移参数。An electronic device for buffering a bitstream is also described. The electronic device includes a processor and instructions stored in a memory, the memory being in electronic communication with the processor. The electronic device receives a message. The electronic device also determines whether a first access unit is a clean random access (CRA) access unit, whether a preceding picture does not exist, and whether a CRA preceding picture discard flag indicates discard. The electronic device also removes the first access unit. Additionally, the electronic device decodes the first access unit. The message may be a buffering period supplemental enhancement information (SEI) message. Receiving the message may include receiving a CRA discard flag, an initial CRA coded picture buffer (CPB) removal delay parameter, and an initial CRA CPB removal delay offset parameter.

如果第一访问单元是CRA访问单元,如果不存在先行图片且如果CRA先行图片丢弃标记指示丢弃,则还可以将初始移除延迟变量设置为初始CRA编码图片缓冲器(CPB)移除延迟参数。移除第一访问单元可以基于该初始CRA CPB移除延迟参数。If the first access unit is a CRA access unit, if there is no preceding picture and if the CRA preceding picture discard flag indicates discard, then the initial removal delay variable may also be set to an initial CRA coded picture buffer (CPB) removal delay parameter. Removal of the first access unit may be based on the initial CRA CPB removal delay parameter.

初始CRA CPB移除延迟参数可以是 initial_cra_cpb_removal_delay[SchedSelIdx]。SchedSelIdx可以是索引变量。The initial CRA CPB removal delay parameter may be initial_cra_cpb_removal_delay[SchedSelIdx]. SchedSelIdx may be an index variable.

如果第一访问单元是CRA访问单元,如果不存在先行图片且如果CRA先行图片丢弃标记指示丢弃,则电子设备还可以基于该CRA CPB移除延迟参数确定移除时间。确定第一访问单元是否是CRA访问单元可以包括确定与第一访问单元相对应的所有网络访问层(NAL)单元类型是否都指示CRA图片的编码条带。如果第一访问单元是CRA 访问单元,如果不存在先行图片,并且如果CRA先行图片丢弃标记指示丢弃,则电子设备可以基于初始CRA编码图片缓冲器(CPB)移除延迟参数确定比特流到达时间。If the first access unit is a CRA access unit, if there is no preceding picture and if the CRA preceding picture discard flag indicates discard, the electronic device may further determine a removal time based on the CRA CPB removal delay parameter. Determining whether the first access unit is a CRA access unit may include determining whether all network access layer (NAL) unit types corresponding to the first access unit indicate coded slices of a CRA picture. If the first access unit is a CRA access unit, if there is no preceding picture and if the CRA preceding picture discard flag indicates discard, the electronic device may determine a bitstream arrival time based on an initial CRA coded picture buffer (CPB) removal delay parameter.

还描述了一种用于通过电子设备发送消息的方法。该方法包括确定第一图片是否是纯净随机访问(CRA)图片。该方法还包括:如果第一图片是CRA图片,则确定是否存在先行图片。该方法还包括:如果存在先行图片,则生成包括CRA丢弃标记和初始CRA编码图片缓冲器(CPB)移除延迟参数在内的消息。附加地,该方法包括发送该消息。A method for sending a message via an electronic device is also described. The method includes determining whether a first picture is a clean random access (CRA) picture. The method also includes, if the first picture is a CRA picture, determining whether a preceding picture exists. The method also includes, if the preceding picture exists, generating a message including a CRA discard flag and an initial CRA coded picture buffer (CPB) removal delay parameter. Additionally, the method includes sending the message.

还描述了一种用于通过电子设备缓冲比特流的方法。该方法包括接收消息。该方法还包括确定第一访问单元是否是纯净随机访问 (CRA)访问单元,是否不存在先行图片以及CRA先行图片丢弃标记是否指示丢弃。该方法还包括移除第一访问单元。附加地,该方法包括对第一访问单元进行解码。A method for buffering a bitstream by an electronic device is also described. The method includes receiving a message. The method also includes determining whether a first access unit is a clean random access (CRA) access unit, whether a preceding picture is not present, and whether a CRA preceding picture discard flag indicates discard. The method also includes removing the first access unit. Additionally, the method includes decoding the first access unit.

本文所公开的系统和方法描述了用于发送消息并缓冲比特流的电子设备。例如,本文所公开的系统和方法描述了对以纯净随机访问 (CRA)图片开始的比特流进行缓冲。在一些配置中,本文所公开的系统和方法可以描述针对以CRA图片开始的比特流进行的假想参考解码器(HRD)缓冲。例如,本文所公开的系统和方法描述了当存在先行图片时针对以CRA图片开始的比特流对缓冲周期补充增强信息 (SEI)消息和HRD的修改。本文所公开的系统和方法(例如,HRD 修改)可以提供以下优点:减小当在随机访问点以CRA图片开始回放时的初始缓冲等待时间。随机访问点可以是数据流(例如,比特流) 中的任何点,其中对比特流进行解码不需要访问比特流中在该随机访问点之前的任何点,就能对当前图片和按输出顺序在所述当前图片之后的所有图片进行解码。此外,本文所公开的系统和方法可以提供如下优点:当丢弃在CRA图片之后的一个或多个先行图片时,HRD将不会发生下溢。The systems and methods disclosed herein describe electronic devices for sending messages and buffering bitstreams. For example, the systems and methods disclosed herein describe buffering a bitstream that begins with a clean random access (CRA) picture. In some configurations, the systems and methods disclosed herein may describe buffering a hypothetical reference decoder (HRD) for a bitstream that begins with a CRA picture. For example, the systems and methods disclosed herein describe modifications to the buffering period supplemental enhancement information (SEI) message and HRD for a bitstream that begins with a CRA picture when preceding pictures are present. The systems and methods disclosed herein (e.g., HRD modifications) may provide the following advantages: reduced initial buffering latency when playback begins with a CRA picture at a random access point. A random access point may be any point in a data stream (e.g., a bitstream) where decoding the bitstream does not require access to any point in the bitstream before the random access point in order to decode the current picture and all pictures following the current picture in output order. Furthermore, the systems and methods disclosed herein may provide the following advantages: the HRD will not underflow when one or more preceding pictures following a CRA picture are discarded.

应注意,尽管关于HRD使用术语“假想”,然而HRD可以在物理上实现。例如,可以将“HRD”用于描述实际编码器的实现。在一些配置中,可以实现HRD以确定比特流是否符合高效率视频编码 (HEVC)规范。例如,可以将HRD用于确定I类型比特流和II类型比特流是否符合HEVC规范。I类型比特流可以仅包含视频编码层 (VCL)、网络访问层(NAL)单元和填充数据NAL单元。II类型比特流可以包含附加的其它NAL单元和语法要素。It should be noted that although the term "hypothetical" is used with respect to HRD, HRD can be physically implemented. For example, "HRD" can be used to describe the implementation of an actual encoder. In some configurations, HRD can be implemented to determine whether a bitstream conforms to the High Efficiency Video Coding (HEVC) specification. For example, HRD can be used to determine whether Type I bitstreams and Type II bitstreams conform to the HEVC specification. Type I bitstreams may contain only Video Coding Layer (VCL), Network Access Layer (NAL) units, and filler data NAL units. Type II bitstreams may contain additional NAL units and syntax elements.

视频编码的联合协作组(JCTVC)文档JCTVC-H0496提出了以 CRA图片开始的比特流。这种功能性已经合并到高效率视频编码 (HEVC)协会草案(JCTVC-H1003)中。The Joint Collaborative Team on Video Coding (JCTVC) document JCTVC-H0496 proposes a bitstream that starts with a CRA picture. This functionality has been incorporated into the High Efficiency Video Coding (HEVC) group draft (JCTVC-H1003).

下表(1)给出了根据本文所公开的系统和方法的修改后的语法和语义的一个示例。用粗体表示了根据本文所公开的系统和方法进行的修改。Table (1) below gives an example of the modified syntax and semantics according to the system and method disclosed herein. Modifications made according to the system and method disclosed herein are indicated in bold.

表1Table 1

下文示出了根据本文所公开的系统和方法的与缓冲周期SEI消息语义有关的示例。具体地,下文示出了关于修改后的语法要素的语义的附加详情。′cra_leadingpict_discard_flag′等于1指示存在′initial_cra_cpb_removal_delay[SchedSelIdx]′和′initial_cra_cpb_removal_delay_offset[SchedSelIdx]′语法要素。′cra_leadingpict_discard_flag′等于0指示不存在′initial_cra_cpb_removal_delay[SchedSelIdx]′和′initial_cra_cpb_removal_delay_offset[SchedSelIdx]′语法要素。当相关联或对应的图片不是CRA图片时,该标记可以不等于1。The following illustrates examples related to buffering period SEI message semantics according to the systems and methods disclosed herein. Specifically, the following illustrates additional details regarding the semantics of the modified syntax elements. 'cra_leadingpict_discard_flag' equal to 1 indicates the presence of 'initial_cra_cpb_removal_delay[SchedSelIdx]' and 'initial_cra_cpb_removal_delay_offset[SchedSelIdx]' syntax elements. 'cra_leadingpict_discard_flag' equal to 0 indicates the absence of 'initial_cra_cpb_removal_delay[SchedSelIdx]' and 'initial_cra_cpb_removal_delay_offset[SchedSelIdx]' syntax elements. This flag may not be equal to 1 when the associated or corresponding picture is not a CRA picture.

当丢弃了包含与开始的CRA图片相关联的先行图片在内的访问单元时,initial_cra_cpb_removal_delay[SchedSelIdx]针对在以开始的 CRA图片进行HRD初始化之后的第一缓冲周期,指定在与访问单元相关联的编码数据的第一比特到CPB的到达时间和与同一访问单元相关联的编码数据从CPB移除的移除时间之间的针对第SchedSelIdx 个编码图片缓冲器(CPB)的延迟,其中该访问单元与缓冲周期SEI 消息相关联。语法要素的比特长度为initial_cpb_removal_delay_length_minus1+1。在一些配置中,该语法要素的单位是90千赫(kHz)时钟。When an access unit containing a preceding picture associated with the starting CRA picture is discarded, initial_cra_cpb_removal_delay[SchedSelIdx] specifies the delay for the SchedSelIdx-th coded picture buffer (CPB) between the arrival time of the first bit of coded data associated with the access unit at the CPB and the removal time of coded data associated with the same access unit from the CPB, for the first buffering period after HRD initialization with the starting CRA picture, where the buffering period SEI message is associated. The bit length of the syntax element is initial_cpb_removal_delay_length_minus1+1. In some configurations, the unit of this syntax element is a 90 kilohertz (kHz) clock.

′initial_cra_cpb_removal_delay[SchedSelIdx]′可以不等于0。此外,它可以不超过90000*(CpbSize[SchedSelIdx]/** BitRate[SchedSelIdx]),90000*(CpbSize[SchedSelIdx]/** BitRate[SchedSelIdx])是以90kHz时钟为单位的CPB大小的时间等效。'initial_cra_cpb_removal_delay[SchedSelIdx]' may not be equal to 0. In addition, it may not exceed 90000*(CpbSize[SchedSelIdx]/**BitRate[SchedSelIdx]), where 90000*(CpbSize[SchedSelIdx]/**BitRate[SchedSelIdx]) is the time equivalent of the CPB size in units of a 90 kHz clock.

可以将′initial_cra_cpb_removal_delay_offset[SchedSelIdx]′连同 cpb_removal_delay一起用于第SchedSelIdx个CPB,以针对以CRA图片开始的比特流指定当丢弃包含与开始的CRA图片相关联的先行图片在内的访问单元时的编码访问单元到CPB的初始传送时间。在一些配置中,′initial_cra_cpb_removal_delay_offset[SchedSelIdx]′的单位是 90kHz时钟。′initial_cra_cpb_removal_delay_offset[SchedSelIdx]′语法要素可以是固定长度的编码,其比特长度为 initial_cpb_removal_delay_length_minus1+1。该语法要素可以不由解码器使用,并可以仅将其用于传送调度器(例如,JCTVC-H1003的Annex C中规定的假想码流调度器(HSS))。在整个编码视频序列上,对于每个SchedSelIdx值,′initial_cra_cpb_removal_delay[SchedSelIdx]′和′initial_cra_cpb_removal_delay_offset[SchedSelIdx]′的总和可以是恒定的。SchedSelIdx可以是索引变量。可以将payloadSize称作数据的字节。'initial_cra_cpb_removal_delay_offset[SchedSelIdx]' may be used together with cpb_removal_delay for the SchedSelIdx-th CPB to specify, for a bitstream starting with a CRA picture, the initial delivery time of coded access units to the CPB when access units containing preceding pictures associated with the starting CRA picture are discarded. In some configurations, the unit of 'initial_cra_cpb_removal_delay_offset[SchedSelIdx]' is a 90 kHz clock. The 'initial_cra_cpb_removal_delay_offset[SchedSelIdx]' syntax element may be a fixed-length encoding with a bit length of initial_cpb_removal_delay_length_minus1+1. This syntax element may not be used by the decoder and may only be used by the delivery scheduler (e.g., the Hypothetical Stream Scheduler (HSS) specified in Annex C of JCTVC-H1003). Over the entire coded video sequence, for each SchedSelIdx value, the sum of 'initial_cra_cpb_removal_delay[SchedSelIdx]' and 'initial_cra_cpb_removal_delay_offset[SchedSelIdx]' may be constant. SchedSelIdx may be an index variable. PayloadSize may be referred to as bytes of data.

seq_parameter_set_id规定了包含序列HRD属性的序列参数集。 seq_parameter_set_id的值可以等于在由首要编码图片所引用的图片参数集中的seq_parameter_set_id的值,该首要编码图片与缓冲周期SEI 消息相关联。seq_parameter_set_id的值的范围可以在0到31,包括0 和31。seq_parameter_set_id specifies the sequence parameter set that contains the sequence HRD attributes. The value of seq_parameter_set_id can 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 can range from 0 to 31, inclusive.

initial_cpb_removal_delay[SchedSelIdx]针对HRD初始化之后的第一缓冲周期,规定了在与访问单元相关联的编码数据的第一比特到 CPB的到达时间和与同一访问单元相关联的编码数据从CPB移除的移除时间之间的针对第SchedSelIdx个CPB的延迟,其中该访问单元与缓冲周期SEI消息相关联。语法要素的比特长度为 initial_cpb_removal_delay_length_minus1+1。该语法要素的单位是90 千赫(kHz)时钟。initial_cpb_removal_delay[SchedSelIdx] specifies the delay for the SchedSelIdx-th CPB between the arrival of the first bit of coded data associated with an access unit at the CPB and the removal of coded data associated with the same access unit from the CPB, for the first buffering period after HRD initialization, where the buffering period SEI message is associated. The bit length of this syntax element is initial_cpb_removal_delay_length_minus1+1. The units of this syntax element are 90 kilohertz (kHz) clocks.

initial_cpb_removal_delay[SchedSelIdx]可以不等于0,可以不超过90000*(CpbSize[SchedSelIdx]/BitRate[SchedSelIdx]),90000* (CpbSize[SchedSelIdx]/BitRate[SchedSelIdx])是以90kHz时钟为单位的CPB大小的时间等效。initial_cpb_removal_delay[SchedSelIdx] may not be equal to 0 and may not exceed 90000*(CpbSize[SchedSelIdx]/BitRate[SchedSelIdx]), where 90000*(CpbSize[SchedSelIdx]/BitRate[SchedSelIdx]) is the time equivalent of the CPB size in units of a 90kHz clock.

可以将initial_cpb_removal_delay_offset[SchedSelIdx]连同cpb_removal_delay用于第SchedSelIdx个CPB,以指定编码访问单元到CPB的初始传送时间。 initial_cpb_removal_delay_offset[SchedSelIdx]的单位是90kHz时钟。 initial_cpb_removal_delay_offset[SchedSelIdx]语法要素是固定长度的编码,其比特长度为initial_cpb_removal_delay_length_minus1+1。该语法要素可以不由解码器使用,并可以仅将其用于在HEVC规范的 Annex C中规定的传送调度器(HSS)。在整个编码视频序列上,对于每个SchedSelIdx值,initial_cpb_removal_delay[SchedSelIdx]和 initial_cpb_removal_delay_offset[SchedSelIdx]的总和可以是恒定的。The initial_cpb_removal_delay_offset[SchedSelIdx] may be used with cpb_removal_delay for the SchedSelIdx-th CPB to specify the initial delivery time of a coded access unit to the CPB. The unit of initial_cpb_removal_delay_offset[SchedSelIdx] is a 90 kHz clock. The initial_cpb_removal_delay_offset[SchedSelIdx] syntax element is a fixed-length encoding with a bit length of initial_cpb_removal_delay_length_minus1+1. This syntax element may not be used by the decoder and may only be used for the Transport Scheduler (HSS) specified in Annex C of the HEVC specification. Over the entire coded video sequence, for each SchedSelIdx value, the sum of initial_cpb_removal_delay[SchedSelIdx] and initial_cpb_removal_delay_offset[SchedSelIdx] may be constant.

cpb_cnt_minus1+1规定了比特流中备选CPB规范的数目。 cpb_cnt_minus1的值的范围可以是0到31,包括0和31。当 low_delay_hrd_flag等于1时,cpb_cnt_minus1可以等于0。当不存在 cpb_cnt_minus1时,可以将其视为等于0。cpb_cnt_minus1+1 specifies the number of alternative CPB specifications in the bitstream. The value of cpb_cnt_minus1 can range from 0 to 31, inclusive. When low_delay_hrd_flag is equal to 1, cpb_cnt_minus1 can be equal to 0. When cpb_cnt_minus1 is not present, it can be considered to be equal to 0.

nal_hrd_parameters_present_flag等于1说明存在NAL HRD参数 (与II类型比特流一致性有关)。nal_hrd_parameters_present_flag等于0说明不存在NAL HRD参数。应注意,当 nal_hrd_parameters_present_flag等于0时,在不提供NAL HRD参数 (包括NAL序列HRD参数信息和所有缓冲周期以及图片时序SEI消息)的前提下,无法通过未在HEVC规范中规定的一些手段来验证比特流的一致性。nal_hrd_parameters_present_flag is equal to 1 to indicate the presence of NAL HRD parameters (relevant for Type II bitstream conformance). nal_hrd_parameters_present_flag is equal to 0 to indicate the absence of NAL HRD parameters. It should be noted that when nal_hrd_parameters_present_flag is equal to 0, bitstream conformance cannot be verified by means not specified in the HEVC specification without providing NAL HRD parameters (including NAL sequence HRD parameter information and all buffering period and picture timing SEI messages).

当nal_hrd_parameters_present_flag等于1时,NAL HRD参数(例如,根据HEVC规范的子条款E.1.2和E.2.2)紧跟在该标记之后。可以如下所示得到变量NalHrdBpPresentFlag。如果以下任何内容为真,则可以通过未在HEVC规范中规定的一些手段来将 NalHrdBpPresentFlag的值设置为等于1: nal_hrd_parameters_present_flag存在于该比特流中并等于1,或由应用确定对于要在缓冲周期SEI消息内的比特流中存在的NAL HRD操作的缓冲周期的存在的需要。否则,可以将NalHrdBpPresentFlag的值设置为等于0。When nal_hrd_parameters_present_flag is equal to 1, NAL HRD parameters (e.g., according to subclauses E.1.2 and E.2.2 of the HEVC specification) immediately follow this flag. The variable NalHrdBpPresentFlag can be obtained as follows. The value of NalHrdBpPresentFlag may be set to 1 by some means not specified in the HEVC specification if any of the following is true: nal_hrd_parameters_present_flag is present in the bitstream and is equal to 1, or the need for the presence of a buffering period for NAL HRD operation to be present in the bitstream within a buffering period SEI message is determined by the application. Otherwise, the value of NalHrdBpPresentFlag may be set to 0.

vcl_hrd_parameters_present_flag等于1说明存在VCL HRD参数 (与所有比特流一致性有关)。vcl_hrd_parameters_present_flag等于0 说明不存在VCL HRD参数。应注意,当 vcl_hrd_parameters_present_flag等于0时,在不提供VCL HRD参数和所有缓冲周期以及图片时序SEI消息的前提下,无法通过未在 HEVC规范中规定的一些手段来验证比特流的一致性。当 vcl_hrd_parameters_present_flag等于1时,VCL HRD参数(例如,根据HEVC规范的子条款E.1.2和E.2.2)紧接在该标记之后。vcl_hrd_parameters_present_flag equal to 1 indicates the presence of VCL HRD parameters (relevant for all bitstream conformance). vcl_hrd_parameters_present_flag equal to 0 indicates the absence of VCL HRD parameters. It should be noted that when vcl_hrd_parameters_present_flag is equal to 0, bitstream conformance cannot be verified by some means not specified in the HEVC specification without providing VCL HRD parameters and all buffering period and picture timing SEI messages. When vcl_hrd_parameters_present_flag is equal to 1, VCL HRD parameters (e.g., according to subclauses E.1.2 and E.2.2 of the HEVC specification) immediately follow this flag.

可以如下所述得到变量VclHrdBpPresentFlag。如果以下任何内容为真,则可以通过未在HEVC规范中规定的一些手段将 VclHrdBpPresentFlag的值设置为等于1: vcl_hrd_parameters_present_flag存在于该比特流中并等于1,或由应用确定对于要在缓冲周期SEI消息内的比特流中存在的VCL HRD操作的缓冲周期的存在的需要。否则,可以将VclHrdBpPresentFlag的值设置为等于0。The variable VclHrdBpPresentFlag may be obtained as follows. The value of VclHrdBpPresentFlag may be set to 1 by some means not specified in the HEVC specification if any of the following are true: vcl_hrd_parameters_present_flag is present in the bitstream and is equal to 1, or the application determines the need for a buffering period for VCL HRD operations to be present in the bitstream within a buffering period SEI message. Otherwise, the value of VclHrdBpPresentFlag may be set to 0.

下文示出了与根据本文所公开的系统和方法的CPB的操作相关的示例。可以将如下所示的规范单独应用于存在的每个CPB参数集合,并应用于根据HEVC规范的I类型和II类型一致性。The following illustrates examples related to the operation of a CPB according to the systems and methods disclosed herein. The specifications shown below may be applied individually to each CPB parameter set present and to both Type I and Type II conformance according to the HEVC specification.

可以如下所示地确定比特流到达的时序(例如,一个或多个比特流到达时间)。可以在任何一个缓冲周期SEI消息处初始化HRD。在初始化之前,CPB可以为空。应注意,在初始化之后,可以不通过随后的缓冲周期SEI消息来再次初始化HRD。The timing of bitstream arrival (e.g., one or more bitstream arrival times) can be determined as follows. The HRD can be initialized at any buffering period SEI message. Before initialization, the CPB can be empty. It should be noted that after initialization, the HRD may not be initialized again by a subsequent buffering period SEI message.

可以将与初始化CPB的缓冲周期SEI消息相关联的访问单元称作访问单元0。可以将所有其它访问单元称作访问单元n,其中针对解码顺序中的下一访问单元,n递增1。The access unit associated with the buffering period SEI message that initializes the CPB may be referred to as access unit 0. All other access units may be referred to as access unit n, where n is incremented by 1 for the next access unit in decoding order.

如果第一访问单元是CRA访问单元,不存在先行图片且 cra_leadingpict_discard_flag等于1,则可以将 use_initial_cpb_removal_delay[SchedSelIdx]设置为initial_cra_cpb_removal_delay[SchedSelIdx]的值。否则,可以将 use_initial_cpb_removal_delay[SchedSelIdx]的值设置为 initial_cpb_removal_delay[SchedSelIdx]的值。If the first access unit is a CRA access unit, there is no leading picture and cra_leadingpict_discard_flag is equal to 1, use_initial_cpb_removal_delay[SchedSelIdx] may be set to the value of initial_cra_cpb_removal_delay[SchedSelIdx]. Otherwise, the value of use_initial_cpb_removal_delay[SchedSelIdx] may be set to the value of initial_cpb_removal_delay[SchedSelIdx].

可以将访问单元n的第一比特开始进入CPB的时间称作初始到达时间tai(n)。可以如下所示地得到访问单元的初始到达时间。如果访问单元是访问单元0,则tai(n)=0。否则(例如,访问单元是访问单元n,其中n>0),可以应用如下方法。如果cbr_flag[SchedSelIdx]等于1,则访问单元n的初始到达时间等于访问单元n-1的最终到达时间(可以如下得到最终达到时间)(例如,tai(n)=taf(n-1))。The time when the first bit of access unit n begins to enter the CPB can be called the initial arrival time tai (n). The initial arrival time of an access unit can be obtained as follows. If the access unit is access unit 0, then tai (n) = 0. Otherwise (for example, the access unit is access unit n, where n>0), the following method can be applied. If cbr_flag[SchedSelIdx] is equal to 1, then the initial arrival time of access unit n is equal to the final arrival time of access unit n-1 (the final arrival time can be obtained as follows) (for example, tai (n) = taf (n-1)).

否则,如果cbr_flag[SchedSelIdx]等于0,且访问单元n不是后续缓冲周期的第一访问单元,则可以通过tai(n)=Max(taf(n-1), tai,earliest(n))来得到访问单元n的初始到达时间。在一些配置中, tai,earliest(n)可以如下给出:tai,earliest(n)=tr,n(n)- (use_initial_cpb_removal_delay[SchedSelIdx]+ use_initial_cpb_removal_delay_offset[SchedSelIdx])/90000,其中tr,n(n)是访问单元n从CPB的标称移除时间(例如,如JCTVC-H1003 的子条款C.2.2中所规定的),如上所述地基于先前的缓冲周期SEI消息来指定use_initial_cpb_removal_delay[SchedSelIdx]和 use_initial_cpb_removal_delay_offset[SchedSelIdx]。Otherwise, if cbr_flag[SchedSelIdx] is equal to 0 and access unit n is not the first access unit of the subsequent buffering period, the initial arrival time of access unit n can be obtained by tai (n)=Max( taf (n-1), tai ,earliest (n)). In some configurations, tai ,earliest (n) can be given as follows: tai ,earliest (n) = t r,n (n) - (use_initial_cpb_removal_delay[SchedSelIdx] + use_initial_cpb_removal_delay_offset[SchedSelIdx])/90000, where t r,n (n) is the nominal removal time of access unit n from the CPB (e.g., as specified in subclause C.2.2 of JCTVC-H1003), and use_initial_cpb_removal_delay[SchedSelIdx] and use_initial_cpb_removal_delay_offset[SchedSelIdx] are specified based on the previous buffering period SEI message as described above.

否则(例如,cbr_flag[SchedSelIdx]等于0且后续的访问单元n 是后续缓冲周期的第一访问单元),可以通过tai(n)=tr,n(n)- (use_initial_cpb_removal_delay[SchedSelIdx]/90000)得到访问单元n 的初始到达时间。在这种情况下,可以如上所述地基于与访问单元n 相关联的缓冲周期SEI消息来指定 use_initial_cpb_removal_delay[SchedSelIdx]。Otherwise (e.g., cbr_flag[SchedSelIdx] is equal to 0 and the subsequent access unit n is the first access unit of the subsequent buffering period), the initial arrival time of access unit n can be obtained by tai (n)=t r,n (n)-(use_initial_cpb_removal_delay[SchedSelIdx]/90000). In this case, use_initial_cpb_removal_delay[SchedSelIdx] can be specified based on the buffering period SEI message associated with access unit n as described above.

可以通过taf(n)=tai(n)+b(n)/BitRate[SchedSelIdx]得到访问单元n的最终达到时间。在这种情况下,b(n)可以是访问单元n的比特大小,针对I类型一致性,对I类型比特流的比特进行计数,或针对II类型一致性,对II类型比特流的比特进行计数。The final arrival time of access unit n can be obtained by taf (n) = tai (n) + b(n) / BitRate[SchedSelIdx]. In this case, b(n) can be the bit size of access unit n, counting the bits of the type I bitstream for type I conformance or the bits of the type II bitstream for type II conformance.

可以如下所示地限制SchedSelIdx、BitRate[SchedSelIdx]和 CpbSize[SchedSelIdx]的值。如果访问单元n和访问单元n-1是不同编码视频序列的一部分,且两个编码视频序列的活动序列参数集(active sequence parameter)的内容不同,则HSS可以从针对包含了访问单元 n的编码视频序列所提供的SchedSelIdx的值中选择SchedSelIdx的值 SchedSelIdx 1,导致针对两个编码视频序列中的第二个(包含访问单元n-1)的BitRate[SchedSelIdx1]或CpbSize[SchedSelIdxl]不同于针对SchedSelIdx的值SchedSelIdx0的BitRate[SchedSelIdx0]或 CpbSize[SchedSelIdx0]的值,其中将SchedSelIdx0用于包含访问单元 n-1的编码视频序列。否则,HSS可以继续用SchedSelIdx、 BitRate[SchedSelIdx]和CpbSize[SchedSelIdx]的先前值进行操作。The values of SchedSelIdx, BitRate[SchedSelIdx], and CpbSize[SchedSelIdx] may be constrained as follows. If access unit n and access unit n-1 are part of different coded video sequences, and the contents of the active sequence parameter sets for the two coded video sequences are different, then the HSS may select a value of SchedSelIdx, SchedSelIdx 1, from the values of SchedSelIdx provided for the coded video sequence containing access unit n, resulting in a BitRate[SchedSelIdx1] or CpbSize[SchedSelIdx1] for the second of the two coded video sequences (containing access unit n-1) that is different from a BitRate[SchedSelIdx0] or CpbSize[SchedSelIdx0] for the value of SchedSelIdx, SchedSelIdx0, used for the coded video sequence containing access unit n-1. Otherwise, the HSS may continue to operate with the previous values of SchedSelIdx, BitRate[SchedSelIdx], and CpbSize[SchedSelIdx].

当HSS选择不同于先前访问单元的BitRate[SchedSelIdx]或 CpbSize[SchedSelIdx]的值时,可以应用如下方法。变量 BitRate[SchedSelIdx]可以在时间tai(n)生效。变量 CpbSize[SchedSelIdx]可以如下所示地生效。如果 CpbSize[SchedSelIdx]的新值超过旧的CPB大小,则它可以在时间 tai(n)生效。否则,CpbSize[SchedSelIdx]的新值可以在时间tr(n)生效。When the HSS selects a value for BitRate[SchedSelIdx] or CpbSize[SchedSelIdx] that is different from the previous access unit, the following method can be applied. The variable BitRate[SchedSelIdx] can be effective at time t ai (n). The variable CpbSize[SchedSelIdx] can be effective as follows. If the new value of CpbSize[SchedSelIdx] exceeds the old CPB size, it can be effective at time t ai (n). Otherwise, the new value of CpbSize[SchedSelIdx] can be effective at time t r (n).

在一些配置中,可以如下所示地实现编码图片移除的时序。可以假定:当初始化HRD时,在从CPB移除先前编码图片之后立即确定 (例如,计算)或针对访问单元0确定(例如,计算)编码图片的标称CPB移除时间和CPB移除时间。In some configurations, the timing of coded picture removal can be implemented as follows: It can be assumed that when the HRD is initialized, the nominal CPB removal time and the CPB removal time of the coded picture are determined (e.g., calculated) immediately after the previous coded picture is removed from the CPB or are determined (e.g., calculated) for access unit 0.

如果第一访问单元是CRA访问单元、存在先行图片并且 cra_leadingpict_discard_flag等于1,则对于访问单元0,可以将访问单元从CPB的标称移除时间指定为tr,n(0)= initial_cra_cpb_removal_delay[SchedSelIdx]/90000。否则,对于访问单元0,可以将访问单元从CPB的标称移除时间指定为tr,n(0)= initial_cpb_removal_delay[SchedSelIdx]/90000。If the first access unit is a CRA access unit, a leading picture exists, and cra_leadingpict_discard_flag is equal to 1, then the nominal removal time of the access unit from the CPB may be specified as t r,n (0) = initial_cra_cpb_removal_delay[SchedSelIdx] / 90000 for access unit 0. Otherwise, the nominal removal time of the access unit from the CPB may be specified as t r,n (0) = initial_cpb_removal_delay[SchedSelIdx] / 90000 for access unit 0.

对于不初始化HRD的缓冲周期的第一访问单元,可以将访问单元从CPB的标称移除时间指定为tr,n(n)=tr,n(nb)+tc* cpb_removal_delay(n)。在这种情况下,tr,n(nb)是先前缓冲周期的第一图片的标称移除时间,cpb_removal_delay(n)是在与访问单元n相关联的图片时序SEI消息中指定的。For the first access unit of a buffering period that does not initialize HRD, the nominal removal time of the access unit from the CPB can be specified as t r,n (n) = t r,n (n b ) + t c * cpb_removal_delay(n). In this case, t r,n (n b ) is the nominal removal time of the first picture of the previous buffering period, and cpb_removal_delay(n) is specified in the picture timing SEI message associated with access unit n.

当访问单元n是缓冲周期的第一访问单元时,可以在访问单元n 的移除时间tr,n(n),将nb设置为等于n。可以将不是缓冲周期的第一访问单元的访问单元n的标称移除时间tr,n(n)表示为tr,n(n)tr,n(nb)+ tc*cpb_removal_delay(n)。When access unit n is the first access unit of a buffering period, nb may be set equal to n at the removal time tr ,n (n) of access unit n. The nominal removal time tr ,n (n) of access unit n that is not the first access unit of a buffering period may be expressed as tr,n (n)t r,n ( nb )+ tc *cpb_removal_delay(n).

可以如下所示地指定访问单元n的移除时间。如果 low_delay_hrd_flag等于0或tr,n(n)>=taf(n),则可以将访问单元n的移除时间指定为tr(n)=tr,n(n)。否则(例如,low_delay_hrd_flag等于1且tr,n(n)<taf(n)),可以将访问单元n的移除时间指定为tr(n)=tr,n(n)+tc*Ceil((taf(n)-tr,n(n))/tc)。应注意,后者情况表示访问单元n的大小b(n)可以是足够大的,以便防止在标称移除时间进行移除。The removal time of access unit n may be specified as follows. If low_delay_hrd_flag is equal to 0 or t r,n (n) >= t af (n), then the removal time of access unit n may be specified as t r (n) = t r,n (n). Otherwise (e.g., low_delay_hrd_flag is equal to 1 and t r,n (n) < t af (n)), the removal time of access unit n may be specified as t r (n) = t r,n (n) + t c * Ceil((t af (n) - t r,n (n)) / t c ). Note that the latter case indicates that the size b(n) of access unit n may be sufficiently large to prevent removal at the nominal removal time.

在一些配置中,要求比特流一致性,其中对于每个测试,应满足所有以下条件。对于与缓冲周期SEI消息相关联的每个访问单元n,其中n>0,将delta(增量)tg,90(n)指定为delta tg,90(n)=90000* (tr,n(n)-taf(n-1)),应如下所示地限制 use_initial_cpb_removal_delay[SchedSelIdx]的值。如果 cbr_flag[SchedSelIdx]等于0,则 use_initial_cpb_removal_delay[SchedSelIdx]<=Ceil(delta tg,90(n))。否则(cbr_flag[SchedSelIdx]等于1),Floor(delta tg,90(n))<= use_initial_cpb_removal_delay[SchedSelIdx]<=Ceil(delta tg,90(n))。应注意,在每个图片的移除时间时CPB中的确切比特数目可以取决于选择哪个缓冲周期SEI消息来初始化HRD。编码器可以考虑到这一点以便当在任何一个缓冲周期SEI消息处初始化HRD时,无论选择哪个缓冲周期SEI消息来初始化HRD,都确保符合所有指定的限制。In some configurations, bitstream conformance is required where for each test, all of the following conditions shall be met. For each access unit n associated with a buffering period SEI message, where n>0, delta tg ,90 (n) is specified as delta tg,90 (n)=90000*(t r,n (n)-t af (n-1)) and the value of use_initial_cpb_removal_delay[SchedSelIdx] shall be constrained as shown below. If cbr_flag[SchedSelIdx] is equal to 0, then use_initial_cpb_removal_delay[SchedSelIdx]<=Ceil(delta tg ,90 (n)). Otherwise (cbr_flag[SchedSelIdx] is equal to 1), Floor(delta t g, 90 (n)) <= use_initial_cpb_removal_delay[SchedSelIdx] <= Ceil(delta t g, 90 (n)). It should be noted that the exact number of bits in the CPB at the removal time of each picture may depend on which buffering period SEI message is selected to initialize the HRD. The encoder can take this into account so that when initializing the HRD at any buffering period SEI message, no matter which buffering period SEI message is selected to initialize the HRD, all specified constraints are met.

如上文所示,本文所公开的系统和方法提供了当存在先行图片时针对以CRA图片开始的比特流修改缓冲周期SEI消息的语法和语义。在一些配置中,可以将本文所公开的系统和方法应用于HEVC规范。As described above, the systems and methods disclosed herein provide syntax and semantics for modifying the buffering period SEI message for a bitstream starting with a CRA picture when a preceding picture is present. In some configurations, the systems and methods disclosed herein may be applied to the HEVC specification.

为了方便,下文给出若干定义,可以应用于本文所述的系统和方法。随机访问点可以是在数据流(例如,比特流)中的任意点,其中对比特流进行解码不需要访问比特流中在该随机访问点之前的任何点,就能对当前图片和按输出顺序在所述当前图片之后的所有图片进行解码。For convenience, several definitions are provided below that may be applied to the systems and methods described herein. A random access point may be any point in a data stream (e.g., a bitstream) where decoding the bitstream does not require access to any point in the bitstream before the random access point in order to decode the current picture and all pictures following the current picture in output order.

可以将缓冲周期定义为按解码顺序在缓冲周期SEI消息的两个实例之间的访问单元集合。补充增强信息(SEI)可以包含对来自VCL NAL单元的编码图片的样本进行解码不是必要的信息。SEI消息可以有助于与解码、显示或其它目的相关的过程。然而,解码处理可以不需要SEI消息来构建亮度或色度样本。不需要一致的解码器来为了符合HEVC规范(例如,HEVC规范的Annex C包括一致的规范)的输出顺序而处理该信息。可能需要一些SEI消息信息来检查比特流一致性以及为了输出时序解码器一致性。A buffering period can be defined as the set of access units between two instances of a buffering period SEI message in decoding order. Supplemental enhancement information (SEI) may contain information that is not necessary for decoding samples of coded pictures from VCL NAL units. SEI messages may assist in processes related to decoding, display, or other purposes. However, the decoding process may not require SEI messages to construct luma or chroma samples. A conforming decoder is not required to process this information in order to conform to the output order of the HEVC specification (e.g., Annex C of the HEVC specification includes a conforming specification). Some SEI message information may be required to check bitstream consistency and for output timing decoder consistency.

缓冲周期SEI消息可以是与缓冲周期相关联的SEI消息。它可以限定定义比特流到达时序和编码图片移除时序的语法和语义。The buffering period SEI message may be an SEI message associated with the buffering period. It may define the syntax and semantics that define the timing of bitstream arrival and coded picture removal.

图片参数集(PPS)是包含语法要素的语法结构,语法要素应用于由存在于每个条带头部中的pic_parameter_set_id语法要素所确定的零个或多个完整编码图片。pic_parameter_set_id可以标识在条带头部中引用的图片参数集。pic_parameter_set_id的值的范围可以是0到255,包括0和255。A picture parameter set (PPS) is a syntax structure containing syntax elements that apply to zero or more complete coded pictures identified by the pic_parameter_set_id syntax element present in each slice header. The pic_parameter_set_id element may identify the picture parameter set referenced in the slice header. The value of pic_parameter_set_id may range from 0 to 255, inclusive.

编码图片缓冲器(CPB)可以是先进先出缓冲器,包括按在假想参考解码器(HRD)中指定的解码顺序的访问单元。访问单元可以是网络访问层(NAL)单元的集合,NAL单元按解码顺序是连续的并包含正好一个编码图片。除了编码图片的编码条带NAL单元之外,访问单元还可以包括不包含编码图片的条带的其它NAL单元。对访问单元的解码总是得到解码后的图片。NAL单元可以是语法结构,包含对所跟随的数据的类型的指示以及含有原始字节序列载荷形式的数据 (必要时穿插防止竞争字节)。The coded picture buffer (CPB) may be a first-in, first-out buffer containing access units in the decoding order specified in the hypothetical reference decoder (HRD). An access unit may be a collection of network access layer (NAL) units that are consecutive in decoding order and contain exactly one coded picture. In addition to coded slice NAL units for a coded picture, an access unit may also include other NAL units that do not contain slices of a coded picture. Decoding an access unit always results in a decoded picture. A NAL unit may be a syntactic structure containing an indication of the type of data that follows and containing the data in the form of a raw byte sequence payload (interspersed with race protection bytes as necessary).

现参考附图描述多种配置,其中相似的附图标记可以指示功能相似的要素。如这里在附图中总体描述和示意的系统和方法可以以多种不同配置布置和设计。因此,下文对附图所示的若干配置的更具体描述不是为了限制要求保护的范围,而仅仅是对系统和方法的表示。Various configurations will now be described with reference to the accompanying drawings, where like reference numerals may indicate functionally similar elements. The systems and methods, as generally described and illustrated herein in the accompanying drawings, may be arranged and designed in a variety of different configurations. Therefore, the following more detailed description of several configurations shown in the accompanying drawings is not intended to limit the scope of the claims but is merely representative of the systems and methods.

图1是示出了用于发送消息和缓冲比特流的系统和方法可以在其中实现的一个或多个电子设备102的示例的框图。在该示例中,示出了电子设备A 102a和电子设备B 102b。然而,应注意,在一些配置中,可以将关于电子设备A 102a和电子设备B 102b所描述的一个或多个特征和功能合并到单个电子设备中。FIG1 is a block diagram illustrating an example of one or more electronic devices 102 in which systems and methods for sending messages and buffering bitstreams may be implemented. In this example, electronic device A 102 a and electronic device B 102 b are shown. However, it should be noted that in some configurations, one or more features and functions described with respect to electronic device A 102 a and electronic device B 102 b may be incorporated into a single electronic device.

电子设备A 102a包括编码器104。编码器104包括消息生成模块 108。包括在电子设备A 102a中的每个元件(例如,编码器104和消息生成模块108)可以以硬件、软件或其组合来实现。Electronic device A 102a includes an encoder 104. The encoder 104 includes a message generation module 108. Each element included in electronic device A 102a (eg, encoder 104 and message generation module 108) may be implemented in hardware, software, or a combination thereof.

电子设备A 102a可以获得一个或多个输入图片106。在一些配置中,输入图片106可以使用图像传感器在电子设备A 102a上捕获,可以从存储器中检索和/或可以从其它电子设备接收。Electronic device A 102a may obtain one or more input pictures 106. In some configurations, the input pictures 106 may be captured on electronic device A 102a using an image sensor, may be retrieved from memory, and/or may be received from another electronic device.

编码器104可以对输入图片106进行编码以产生编码后的数据。例如,编码器104可以对一系列输入图片106(例如,视频)进行编码。在一个配置中,编码器104可以是HEVC编码器。编码数据可以是数字数据(例如,比特流114的一部分)。编码器104可以基于输入信号生成开销信令(overhead signaling)。The encoder 104 may encode an input picture 106 to generate encoded data. For example, the encoder 104 may encode a series of input pictures 106 (e.g., a video). In one configuration, the encoder 104 may be a HEVC encoder. The encoded data may be digital data (e.g., a portion of a bitstream 114). The encoder 104 may generate overhead signaling based on the input signal.

消息生成模块108可以生成一个或多个消息。例如,消息生成模块108可以生成一个或多个SEI消息或其它消息。电子设备102(例如,编码器104)可以确定第一图片(例如,编码图片)是否是CRA 图片,并且如果第一图片是CRA图片,则确定是否存在先行图片。如果第一图片是CRA图片并存在先行图片,则消息生成模块108可以生成包括一个或多个CRA先行图片丢弃标记(例如, cra_leadingpict_discard_flag)的消息(例如,缓冲周期SEI消息或其它消息)、初始CRA CPB移除延迟参数(例如, initial_cra_cpb_removal_delay[SchedSelIdx])和初始CRA CPB移除延迟偏移参数(例如, initial_cra_cpb_removal_delay_offset[SchedSelIdx])。例如,消息生成模块108可以执行下文结合图2和图3所描述的一个或多个过程。在一些配置中,电子设备A 102a可以向电子设备B 102b发送消息,作为比特流114的一部分。在一些配置中,电子设备A 102a可以通过单独传输110向电子设备B102b发送消息。例如,单独传输可以不是比特流114的一部分。例如,可以使用一些带外机制来发送缓冲周期SEI 消息或其它消息。应注意,在一些配置中,其它消息可以包括上述缓冲周期SEI消息的一个或多个特征。此外,与上述SEI消息相似,在一个或多个方面,可以使用其他消息。The message generation module 108 may generate one or more messages. For example, the message generation module 108 may generate one or more SEI messages or other messages. The electronic device 102 (e.g., the encoder 104) may determine whether a first picture (e.g., a coded picture) is a CRA picture, and if the first picture is a CRA picture, determine whether a leading picture exists. If the first picture is a CRA picture and a leading picture exists, the message generation module 108 may generate a message (e.g., a buffering period SEI message or other message) including one or more CRA leading picture discard flags (e.g., cra_leadingpict_discard_flag), an initial CRA CPB removal delay parameter (e.g., initial_cra_cpb_removal_delay[SchedSelIdx]), and an initial CRA CPB removal delay offset parameter (e.g., initial_cra_cpb_removal_delay_offset[SchedSelIdx]). For example, the message generation module 108 may perform one or more processes described below in conjunction with FIG. 2 and FIG. 3 . In some configurations, electronic device A 102a can send a message to electronic device B 102b as part of the bitstream 114. In some configurations, electronic device A 102a can send the message to electronic device B 102b via a separate transmission 110. For example, the separate transmission may not be part of the bitstream 114. For example, some out-of-band mechanism may be used to send the buffering period SEI message or other messages. It should be noted that in some configurations, the other message may include one or more features of the buffering period SEI message described above. Furthermore, similar to the SEI message described above, other messages may be used in one or more aspects.

编码器104(例如,以及消息生成模块108)可以产生比特流114。比特流114可以包括基于输入图片106的编码图片数据。在一些配置中,比特流114还可以包括开销数据,例如缓冲周期SEI消息或其它消息、条带头部、PPS等。当对附加输入图片106进行编码时,比特流114可以包括一个或多个编码图片。例如,比特流114可以包括一个或多个具有对应开销数据的编码图片(例如,缓冲周期SEI消息或其它消息)。The encoder 104 (e.g., and the message generation module 108) can generate a bitstream 114. The bitstream 114 can include coded picture data based on the input picture 106. In some configurations, the bitstream 114 can also include overhead data, such as a buffering period SEI message or other information, a slice header, a PPS, etc. When encoding additional input pictures 106, the bitstream 114 can include one or more coded pictures. For example, the bitstream 114 can include one or more coded pictures with corresponding overhead data (e.g., a buffering period SEI message or other information).

可以将比特流114提供给解码器112。在一个示例中,可以使用有线或无线链路将比特流114发送到电子设备B 102b。在一些情况下,这可以通过网络(例如,互联网或局域网(LAN))来完成。如图1 所示,可以将解码器112与电子设备A 102a的编码器104相分离地实现在电子设备B 102b上。然而,应注意,在一些配置中,可以将编码器104和解码器112实现在同一电子设备上。在将编码器104和解码器112实现在同一电子设备上的实施方式下,例如,可以通过总线将比特流114提供给解码器112或将比特流存储在存储器中以供解码器112进行检索。The bitstream 114 can be provided to a decoder 112. In one example, a wired or wireless link can be used to send the bitstream 114 to an electronic device B 102b. In some cases, this can be accomplished via a network (e.g., the Internet or a local area network (LAN)). As shown in Figure 1, the decoder 112 can be implemented on an electronic device B 102b separately from the encoder 104 of the electronic device A 102a. However, it should be noted that in some configurations, the encoder 104 and the decoder 112 can be implemented on the same electronic device. In the embodiment where the encoder 104 and the decoder 112 are implemented on the same electronic device, for example, the bitstream 114 can be provided to the decoder 112 via a bus or the bitstream can be stored in a memory for the decoder 112 to retrieve.

解码器112可以以硬件、软件或其组合来实现。在一个配置中,解码器112可以是HEVC解码器。解码器112可以接收(例如,获得) 比特流114。解码器112可以基于比特流114生成一个或多个解码后的图片118。解码后的图片118可以被显示、回放、存储在存储器中和/或发送到另一设备等。The decoder 112 may be implemented in hardware, software, or a combination thereof. In one configuration, the decoder 112 may be an HEVC decoder. The decoder 112 may receive (e.g., obtain) a bitstream 114. The decoder 112 may generate one or more decoded pictures 118 based on the bitstream 114. The decoded pictures 118 may be displayed, played back, stored in memory, and/or transmitted to another device, etc.

解码器112可以包括CPB 120。CPB 120可以临时存储编码图片。例如,CPB 120可以存储编码图片,直到移除时间。根据本文所公开的系统和方法,可以由解码器112基于消息(例如,缓冲周期SEI消息或其它消息)确定到达时间(例如,比特流的到达时间)和移除时间(例如,编码图片的移除时间)中的一个或多个。The decoder 112 may include a CPB 120. The CPB 120 may temporarily store coded pictures. For example, the CPB 120 may store coded pictures until a removal time. According to the systems and methods disclosed herein, one or more of an arrival time (e.g., an arrival time of a bitstream) and a removal time (e.g., a removal time of a coded picture) may be determined by the decoder 112 based on a message (e.g., a buffering period SEI message or other message).

解码器112可以接收消息(例如,缓冲周期SEI消息或其它消息)。解码器还可以确定第一访问单元是否是CRA访问单元,是否不存在先行图片,以及CRA先行图片丢弃标记是否指示丢弃。如果第一访问单元是CRA访问单元,如果不存在先行图片并且如果CRA先行图片丢弃标记指示丢弃,则解码器可以将初始移除延迟变量设置为初始 CRA CPB移除延迟参数,并可以基于CRA CPB移除延迟参数从CPB 中移除第一访问单元(例如,编码图片)。例如,CPB 120可以执行下文结合图4和图5所描述的一个或多个过程。The decoder 112 may receive a message (e.g., a buffering period SEI message or other message). The decoder may also determine whether the first access unit is a CRA access unit, whether a preceding picture does not exist, and whether a CRA preceding picture discard flag indicates discard. If the first access unit is a CRA access unit, if a preceding picture does not exist, and if the CRA preceding picture discard flag indicates discard, the decoder may set the initial removal delay variable to the initial CRA CPB removal delay parameter and may remove the first access unit (e.g., a coded picture) from the CPB based on the CRA CPB removal delay parameter. For example, the CPB 120 may perform one or more of the processes described below in conjunction with FIG. 4 and FIG. 5 .

上述HRD可以是图1所示的解码器112的一个示例。因此,在一些配置中,电子设备102可以根据上述HRD和CPB进行操作。The aforementioned HRD may be an example of the decoder 112 shown in Figure 1. Thus, in some configurations, the electronic device 102 may operate according to the aforementioned HRD and CPB.

应注意,包括在电子设备102中的一个或多个要素或部件可以以硬件来实现。例如,可以将其一个或多个要素或部件实现为芯片、电路或硬件组件等。还应注意,本文所述的一个或多个功能或方法可以以硬件来实现和/或使用硬件来执行。例如,本文所述的一个或多个方法可以以和/或使用芯片集、专用集成电路(ASIC)、大型集成电路(LSI) 或集成电路等来实现。It should be noted that one or more elements or components included in the electronic device 102 can be implemented in hardware. For example, one or more elements or components can be implemented as chips, circuits, or hardware components. It should also be noted that one or more functions or methods described herein can be implemented in hardware and/or performed using hardware. For example, one or more methods described herein can be implemented in and/or using a chipset, an application specific integrated circuit (ASIC), a large-scale integrated circuit (LSI), or an integrated circuit.

图2是示出了用于发送消息的方法200的一个配置的流程图。电子设备102(例如,电子设备A 102a)可以确定202第一图片是否是CRA图片。例如,编码器104可以将输入图片106编码为CRA图片。在一些配置中,CRA图片可以是仅使用帧内预测来进行解码的编码图片。例如,CRA图片可以包括一个或多个(例如,仅包括)I条带,其中每个条带的nal_unit_type(例如,网络抽象层单元类型)等于4。按解码顺序和输出顺序都在CRA图片之后的所有编码图片可以不使用根据按解码顺序或输出顺序在该CRA图片之前的任何图片进行的帧间预测。此外,按解码顺序在该CRA图片之前的任何图片按输出顺序还可以在该CRA图片之前。因此,如果编码器104将输入图片 106编码为CRA图片(例如,如果编码图片仅包括I条带),则电子设备102可以确定202第一图片是CRA图片。否则,电子设备102 可以确定202第一图片不是CRA图片。FIG2 is a flow chart illustrating one configuration of a method 200 for sending a message. An electronic device 102 (e.g., electronic device A 102a) may determine 202 whether a first picture is a CRA picture. For example, the encoder 104 may encode the input picture 106 as a CRA picture. In some configurations, a CRA picture may be a coded picture that uses only intra prediction for decoding. For example, a CRA picture may include one or more (e.g., only) I slices, where each slice has a nal_unit_type (e.g., network abstraction layer unit type) equal to 4. All coded pictures that follow the CRA picture in decoding order and output order may not use inter prediction based on any picture that precedes the CRA picture in decoding order or output order. Furthermore, any picture that precedes the CRA picture in decoding order may also precede the CRA picture in output order. Therefore, if the encoder 104 encodes the input picture 106 as a CRA picture (e.g., if the coded picture includes only I slices), the electronic device 102 may determine 202 that the first picture is a CRA picture. Otherwise, the electronic device 102 may determine 202 that the first picture is not a CRA picture.

应注意,CRA图片可以出现在比特流114的随机访问点处。随机访问点可以是数据流(例如,比特流)中的任何点,其中对比特流的解码不需要访问比特流中在该随机访问点之前的任何点,就能对当前图片和按输出顺序在所述当前图片之后的所有图片进行解码。It should be noted that CRA pictures may appear at random access points in the bitstream 114. A random access point may be any point in a data stream (e.g., a bitstream) where decoding the bitstream does not require access to any point in the bitstream before the random access point in order to decode the current picture and all pictures that follow the current picture in output order.

如果第一图片是CRA图片,则电子设备102可以确定204是否存在先行图片。先行图片可以是按解码顺序在CRA图片之后且按输出顺序在CRA图片之前的图片。例如,如果编码器104指定图片按解码顺序在CRA图片之后且按输出顺序(例如,从解码器112输出的顺序)在CRA图片之前,则存在先行图片。If the first picture is a CRA picture, the electronic device 102 may determine 204 whether a preceding picture exists. A preceding picture may be a picture that follows the CRA picture in decoding order and precedes the CRA picture in output order. For example, if the encoder 104 specifies a picture that follows the CRA picture in decoding order and precedes the CRA picture in output order (e.g., an order output from the decoder 112), then a preceding picture exists.

可以根据一个或多个方法来完成确定204是否存在先行图片。在一个方法中,如果第一图片是CRA图片,并且存在被指定为(例如,由编码器104指定)按解码顺序在该CRA图片之后而岸输出顺序在该CRA图片之前的另一图片,则电子设备102确定存在先行图片。在一些配置中,电子设备102可以读取与CRA图片和一个或多个其它图片相对应的数据,以便确定是否存在先行图片。例如,电子设备 102可以读取指定CRA图片和一个或多个其它图片的解码顺序和输出顺序的数据。例如,可以利用图片顺序计数(POC)来确定输出顺序。可以基于语法要素在比特流114中出现的顺序,确定解码顺序。在一些配置中,在解码图片要从解码图片的缓冲器中输出的情况下,可以将输出顺序定义为从解码图片的缓冲器输出解码图片的顺序。可以通过POC值来指定图片的输出顺序,而不管是否要输出图片。在一些配置中,可以将解码顺序定义为在解码处理中处理语法要素的顺序。如果满足将图片指定为按解码顺序在CRA图片之后并且按输出顺序在该CRA图片之前的条件,则电子设备102可以确定204存在先行图片。Determining 204 whether a preceding picture exists can be accomplished according to one or more methods. In one method, if the first picture is a CRA picture and there is another picture designated (e.g., by the encoder 104) to follow the CRA picture in decoding order and precede the CRA picture in output order, the electronic device 102 determines that a preceding picture exists. In some configurations, the electronic device 102 may read data corresponding to the CRA picture and one or more other pictures to determine whether a preceding picture exists. For example, the electronic device 102 may read data specifying the decoding order and output order of the CRA picture and one or more other pictures. For example, the output order may be determined using a picture order count (POC). The decoding order may be determined based on the order in which syntax elements appear in the bitstream 114. In some configurations, if decoded pictures are to be output from a decoded picture buffer, the output order may be defined as the order in which the decoded pictures are output from the decoded picture buffer. The output order of pictures may be specified by the POC value, regardless of whether the pictures are to be output. In some configurations, the decoding order may be defined as the order in which syntax elements are processed during the decoding process. If the condition that a picture is designated as following the CRA picture in decoding order and preceding the CRA picture in output order is met, the electronic device 102 may determine 204 that a preceding picture exists.

如果存在先行图片,则电子设备102可以生成206消息(例如,缓冲周期SEI消息或其他消息),该消息包括CRA先行图片丢弃标记和初始CRA CPB移除延迟参数。例如,电子设备102可以生成206 包括cra_leadingpict_discard_flag和 initial_cra_cpb_removal_delay[SchedSelIdx]在内的消息。在一些配置中,该消息还可以包括CRA CPB移除延迟偏移参数。例如,电子设备102可以生成206如上表1所示的缓冲周期SEI消息。If a leading picture exists, the electronic device 102 may generate 206 a message (e.g., a buffering period SEI message or other message) that includes a CRA leading picture discard flag and an initial CRA CPB removal delay parameter. For example, the electronic device 102 may generate 206 a message including cra_leadingpict_discard_flag and initial_cra_cpb_removal_delay[SchedSelIdx]. In some configurations, the message may also include a CRA CPB removal delay offset parameter. For example, the electronic device 102 may generate 206 a buffering period SEI message as shown in Table 1 above.

电子设备102可以发送208该消息(例如,缓冲周期SEI消息或其它消息)。例如,电子设备102可以通过无线传输、有线传输、设备总线、网络等的一个或多个来发送该消息。例如,电子设备A 102a 可以向电子设备B 102b发送该消息。例如,该消息可以是比特流114的一部分。在一些配置中,电子设备A 102a可以在单独传输110(也就是说,不是比特流114的一部分)中向电子设备B 102b发送208 该消息。例如,可以使用某一带外机制来发送该消息。The electronic device 102 may transmit 208 the message (e.g., a buffering period SEI message or other message). For example, the electronic device 102 may transmit the message via one or more of a wireless transmission, a wired transmission, a device bus, a network, etc. For example, electronic device A 102a may transmit the message to electronic device B 102b. For example, the message may be part of the bitstream 114. In some configurations, electronic device A 102a may transmit 208 the message to electronic device B 102b in a separate transmission 110 (i.e., not part of the bitstream 114). For example, the message may be transmitted using an out-of-band mechanism.

图3是示出了用于发送消息的方法300的更具体配置的流程图。电子设备102(例如,电子设备A 102a)可以确定302第一图片是否是CRA图片。这可以如上结合图2所描述的来实现。FIG3 is a flow chart illustrating a more specific configuration of a method 300 for sending a message. An electronic device 102 (eg, electronic device A 102a) may determine 302 whether a first picture is a CRA picture. This may be implemented as described above in conjunction with FIG2 .

如果第一图片是CRA图片,则电子设备102可以确定304是否存在先行图片。这可以如上结合图2所描述的来实现。If the first picture is a CRA picture, the electronic device 102 may determine 304 whether there is a preceding picture. This may be achieved as described above in conjunction with FIG.

如果存在先行图片,则电子设备102可以生成306缓冲周期SEI 消息,该消息包括CRA先行图片丢弃标记、初始CRA CPB移除延迟参数和初始CRA CPB移除延迟偏移参数。例如,电子设备102可以生成306包括cra_leadingpict_discard_flag、 initial_cra_cpb_removal_delay[SchedSelIdx]和 initial_cra_cpb_removal_delay_offset[SchedSelIdx]在内的缓冲周期 SEI消息。例如,电子设备102可以生成306如上表1所示的缓冲周期SEI消息。If a leading picture exists, the electronic device 102 may generate 306 a buffering period SEI message that includes a CRA leading picture discard flag, an initial CRA CPB removal delay parameter, and an initial CRA CPB removal delay offset parameter. For example, the electronic device 102 may generate 306 a buffering period SEI message that includes cra_leadingpict_discard_flag, initial_cra_cpb_removal_delay[SchedSelIdx], and initial_cra_cpb_removal_delay_offset[SchedSelIdx]. For example, the electronic device 102 may generate 306 a buffering period SEI message as shown in Table 1 above.

电子设备102可以发送308该缓冲周期SEI消息。例如,电子设备102可以通过无线传输、有线传输、设备总线、网络等的一个或多个来发送该缓冲周期SEI消息。例如,电子设备A 102a可以向电子设备B 102b发送该缓冲周期SEI消息。例如,该缓冲周期SEI消息可以是比特流114的一部分。The electronic device 102 may transmit 308 the buffering period SEI message. For example, the electronic device 102 may transmit the buffering period SEI message via one or more of wireless transmission, wired transmission, a device bus, a network, etc. For example, electronic device A 102a may transmit the buffering period SEI message to electronic device B 102b. For example, the buffering period SEI message may be part of the bitstream 114.

图4是示出了用于缓冲比特流的方法400的一种配置的流程图。电子设备102(例如,电子设备B 102b)可以接收402消息(例如,缓冲周期SEI消息或其它消息)。例如,电子设备102可以通过无线传输、有线传输、设备总线、网络等中的一个或多个来接收402该消息。例如,电子设备B 102b可以从电子设备A 102a接收该消息。例如,该消息可以是比特流114的一部分。在另一示例中,电子设备B 102b 可以在单独传输110(也就是说,不是比特流114的一部分)中从电子设备A 102a接收该消息。例如,可以使用某一带外机制来接收该缓冲周期SEI消息。在一些配置中,该消息可以包括CRA先行图片丢弃标记、初始CRA CPB移除延迟参数和初始CRA CPB移除延迟偏移参数中的一个或多个。因此,接收402消息可以包括接收CRA先行图片丢弃标记、初始CRA CPB移除延迟参数和初始CRA CPB移除延迟偏移参数中的一个或多个。FIG4 is a flow chart illustrating one configuration of a method 400 for buffering a bitstream. An electronic device 102 (e.g., electronic device B 102b) may receive 402 a message (e.g., a buffering period SEI message or other message). For example, electronic device 102 may receive 402 the message via one or more of a wireless transmission, a wired transmission, a device bus, a network, etc. For example, electronic device B 102b may receive the message from electronic device A 102a. For example, the message may be part of the bitstream 114. In another example, electronic device B 102b may receive the message from electronic device A 102a in a separate transmission 110 (i.e., not part of the bitstream 114). For example, the buffering period SEI message may be received using an out-of-band mechanism. In some configurations, the message may include one or more of a CRA preceding picture discard flag, an initial CRA CPB removal delay parameter, and an initial CRA CPB removal delay offset parameter. Thus, receiving 402 the message may include receiving one or more of the CRA preceding picture discard flag, the initial CRA CPB removal delay parameter, and the initial CRA CPB removal delay offset parameter.

电子设备102可以确定404第一访问单元是否是CRA访问单元、是否不存在一个或多个先行图片以及CRA先行图片丢弃标记是否指示丢弃。访问单元是可以包含编码图片的一个或多个NAL单元的集合。比特流114可以包括一个或多个访问单元。在一些配置中,电子设备102可以基于与第一访问单元相对应的NAL单元类型参数(例如,nal_unit_type),确定404第一访问单元是否是CRA访问单元。例如,nal_unit_type 4可以指示CRA图片的编码条带。在这种情况下,如果与第一访问单元相对应的一个或多个(例如,所有)NAL单元类型(例如,nal_unit_type)指示CRA图片的编码条带(例如,等于4),则电子设备可以确定访问单元是CRA访问单元。否则,电子设备102 可以确定第一访问单元不是CRA访问单元。The electronic device 102 may determine 404 whether the first access unit is a CRA access unit, whether one or more preceding pictures are not present, and whether a CRA preceding picture discard flag indicates discard. An access unit is a set of one or more NAL units that may contain a coded picture. The bitstream 114 may include one or more access units. In some configurations, the electronic device 102 may determine 404 whether the first access unit is a CRA access unit based on a NAL unit type parameter (e.g., nal_unit_type) corresponding to the first access unit. For example, nal_unit_type 4 may indicate a coded slice of a CRA picture. In this case, if one or more (e.g., all) NAL unit types (e.g., nal_unit_type) corresponding to the first access unit indicate a coded slice of a CRA picture (e.g., equal to 4), the electronic device may determine that the access unit is a CRA access unit. Otherwise, the electronic device 102 may determine that the first access unit is not a CRA access unit.

电子设备102可以确定是否存在任何先行图片。例如,电子设备 102可以确定在比特流114的一部分中是否包括任何先行图片。如上所述,先行图片可以是按解码顺序在CRA图片之后且按输出顺序在该CRA图片之前的图片。例如,如果由编码器104将图片指定为按解码顺序在CRA图片之后且按输出顺序(例如,从解码器112输出的顺序)在该CRA图片之前,则存在先行图片。The electronic device 102 may determine whether any preceding pictures exist. For example, the electronic device 102 may determine whether any preceding pictures are included in a portion of the bitstream 114. As described above, a preceding picture may be a picture that follows a CRA picture in decoding order and precedes the CRA picture in output order. For example, a preceding picture exists if a picture is designated by the encoder 104 as following a CRA picture in decoding order and preceding the CRA picture in output order (e.g., the order output from the decoder 112).

确定是否存在先行图片可以根据一个或多个方法来实现。在一个方法中,如果图片(第一访问单元中的图片)是CRA图片并且存在指定为(例如,由编码器104指定)按解码顺序在该CRA图片之后而按输出顺序在该CRA图片之前的另一图片,则电子设备102确定存在先行图片。在一些配置中,电子设备102可以读取与CRA图片和一个或多个其它图片相对应的数据,以便确定是否存在先行图片。例如,电子设备102可以读取指定CRA图片和一个或多个其它图片的解码顺序和输出顺序的数据。在一个示例中,电子设备102可以接收比特流114中的指示符。在另一示例中,电子设备102可以通过确定图片的POC值并将其与对应CRA图片的POC值进行比较,来确定是否存在先行图片。如果满足将图片指定为按解码顺序在CRA图片之后并且按输出顺序在该CRA图片之前的条件,则电子设备102可以确定存在先行图片。然而,如果不满足一个或多个准则,则电子设备102可以确定不存在先行图片。Determining whether a preceding picture exists can be implemented according to one or more methods. In one method, if a picture (a picture in the first access unit) is a CRA picture and there is another picture designated (e.g., by the encoder 104) as following the CRA picture in decoding order and preceding the CRA picture in output order, the electronic device 102 determines the presence of a preceding picture. In some configurations, the electronic device 102 may read data corresponding to the CRA picture and one or more other pictures to determine whether a preceding picture exists. For example, the electronic device 102 may read data specifying the decoding order and output order of the CRA picture and one or more other pictures. In one example, the electronic device 102 may receive an indicator in the bitstream 114. In another example, the electronic device 102 may determine the presence of a preceding picture by determining a Point of View (POC) value for the picture and comparing it with the POC value of a corresponding CRA picture. If the conditions for designating a picture as following the CRA picture in decoding order and preceding the CRA picture in output order are met, the electronic device 102 may determine the presence of a preceding picture. However, if one or more criteria are not met, the electronic device 102 may determine that a preceding picture does not exist.

电子设备102可以确定CRA先行图片丢弃标记是否指示丢弃。例如,电子设备102可以读取该消息以便确定SEI消息中的CRA先行图片丢弃标记是否指示丢弃。例如,如果cra_leadingpict_discard_flag 的值为1,则电子设备102可以确定CRA先行图片丢弃标记指示丢弃。然而,如果cra_leadingpict_discard_flag的值为0,则电子设备102可以确定CRA先行图片丢弃标记不指示丢弃。The electronic device 102 may determine whether the CRA leading picture discard flag indicates discard. For example, the electronic device 102 may read the message to determine whether the CRA leading picture discard flag in the SEI message indicates discard. For example, if the value of cra_leadingpict_discard_flag is 1, the electronic device 102 may determine that the CRA leading picture discard flag indicates discard. However, if the value of cra_leadingpict_discard_flag is 0, the electronic device 102 may determine that the CRA leading picture discard flag does not indicate discard.

如果第一访问单元是CRA访问单元,如果不存在先行图片且如果CRA先行图片丢弃标记指示丢弃,则电子设备102可以将初始移除延迟变量设置为406初始CRA CPB移除延迟参数。在这种情况下,例如,电子设备102可以将use_initial_cpb_removal_delay[SchedSelIdx] 设置为initial_cra_cpb_removal_delay[SchedSelIdx]的值。If the first access unit is a CRA access unit, if there is no preceding picture and if the CRA preceding picture discard flag indicates discard, the electronic device 102 may set the initial removal delay variable to the initial CRA CPB removal delay parameter 406. In this case, for example, the electronic device 102 may set use_initial_cpb_removal_delay[SchedSelIdx] to the value of initial_cra_cpb_removal_delay[SchedSelIdx].

在一些配置中,电子设备102(例如,解码器112)可以基于初始CRA CPB移除延迟参数和初始CRA CPB移除延迟偏移参数中的一个或多个来确定比特流到达时间。例如,如果第一访问单元是CRA 访问单元,如果不存在先行图片且如果CRA图片丢弃标记指示丢弃,则可以如下所示地确定比特流到达时间。In some configurations, the electronic device 102 (e.g., the decoder 112) may determine the bitstream arrival time based on one or more of the initial CRA CPB removal delay parameter and the initial CRA CPB removal delay offset parameter. For example, if the first access unit is a CRA access unit, if there is no preceding picture, and if the CRA picture discard flag indicates discard, the bitstream arrival time may be determined as follows.

如上所述,对于在初始化CPB 120的访问单元之后的访问单元(例如,n>0),如果cbr_flag[SchedSelIdx]是0且该访问单元(例如,n) 不是后续缓冲周期的第一访问单元,则电子设备102可以基于 tai,earliest(n)来确定比特流到达时间tai(n)。可以基于初始移除延迟变量 (例如,use_initial_cpb_removal_delay[SchedSelIdx])和初始移除延迟偏移变量(例如,use_initial_cpb_removal_delay_offset)来确定 tai,earliest(n)。如上所述,可以将初始移除延迟变量设置为406初始CRA CPB移除延迟参数(例如, initial_cra_cpb_removal_delay[SchedSelIdx])。因此,确定该比特流到达时间可以基于初始CRA CPB移除延迟参数。在一些配置中,还可以将初始移除延迟偏移变量(例如, use_initial_cpb_removal_delay_offset[SchedSelIdx])设置为初始CRA CPB移除延迟偏移参数(例如,initial_cra_cpb_removal_delay_offset[SchedSelIdx])。因此,附加地,确定比特流到达时间可以基于初始CRA CPB移除延迟偏移参数。As described above, for an access unit subsequent to the access unit that initializes the CPB 120 (e.g., n>0), if cbr_flag[SchedSelIdx] is 0 and the access unit (e.g., n) is not the first access unit of a subsequent buffering period, the electronic device 102 may determine the bitstream arrival time t ai (n) based on t ai,earliest (n). t ai,earliest (n) may be determined based on an initial removal delay variable (e.g., use_initial_cpb_removal_delay[SchedSelIdx]) and an initial removal delay offset variable (e.g., use_initial_cpb_removal_delay_offset). As described above, the initial removal delay variable may be set 406 to the initial CRA CPB removal delay parameter (e.g., initial_cra_cpb_removal_delay[SchedSelIdx]). Thus, determining the bitstream arrival time may be based on the initial CRA CPB removal delay parameter. In some configurations, an initial removal delay offset variable (eg, use_initial_cpb_removal_delay_offset[SchedSelIdx]) may also be set to the initial CRA CPB removal delay offset parameter (eg, initial_cra_cpb_removal_delay_offset[SchedSelIdx]). Thus, additionally, determining the bitstream arrival time may be based on the initial CRA CPB removal delay offset parameter.

如上所述,对于初始化CPB 120的访问单元之后的访问单元(例如,n>0),如果cbr_flag[SchedSelIdx]是0且该访问单元(例如,n) 是后续缓冲周期的第一访问单元,则电子设备102基于初始移除延迟变量(例如,use_initial_cpb_removal_delay[SchedSelIdx])确定比特流到达时间tai(n)。如上所述,可以将初始移除延迟变量设置为406 初始CRA CPB移除延迟参数(例如, initial_cra_cpb_removal_delay[SchedSelIdx])。因此,确定比特流到达时间可以基于初始CRA CPB移除延迟参数。As described above, for an access unit subsequent to the access unit that initialized the CPB 120 (e.g., n>0), if cbr_flag[SchedSelIdx] is 0 and the access unit (e.g., n) is the first access unit of a subsequent buffering period, the electronic device 102 determines the bitstream arrival time t ai (n) based on the initial removal delay variable (e.g., use_initial_cpb_removal_delay[SchedSelIdx]). As described above, the initial removal delay variable can be set 406 to the initial CRA CPB removal delay parameter (e.g., initial_cra_cpb_removal_delay[SchedSelIdx]). Therefore, determining the bitstream arrival time can be based on the initial CRA CPB removal delay parameter.

如果第一访问单元是CRA访问单元,如果不存在先行图片且如果CRA先行图片丢弃标记指示丢弃,则电子设备102可以基于初始 CRA CPB移除延迟参数来移除408第一访问单元。例如,电子设备 102可以基于初始CRA CPB移除延迟参数(例如, initial_cra_cpb_removal_delay[SchedSelIdx])来确定第一访问单元的移除时间。当到达移除时间时,例如电子设备102可以从CPB移除第一访问单元。If the first access unit is a CRA access unit, if there is no preceding picture and if the CRA preceding picture discard flag indicates discard, the electronic device 102 may remove 408 the first access unit based on the initial CRA CPB removal delay parameter. For example, the electronic device 102 may determine a removal time for the first access unit based on the initial CRA CPB removal delay parameter (e.g., initial_cra_cpb_removal_delay[SchedSelIdx]). When the removal time is reached, the electronic device 102 may remove the first access unit from the CPB, for example.

电子设备102可以对第一访问单元进行解码410。例如,电子设备102可以对第一访问单元中包括的编码图片进行解码410。在一些配置中,当移除时,电子设备102可以移除408第一访问单元并对其进行解码410。例如,在CPB移除时间,可以移除与每个访问单元相关联的数据,并即刻通过即刻解码处理来对其进行解码。应注意,术语“即刻”及其变形不必表示缺少任何时间段。例如,“即刻”处理可以占据一段时间。The electronic device 102 may decode 410 the first access unit. For example, the electronic device 102 may decode 410 the coded picture included in the first access unit. In some configurations, upon removal, the electronic device 102 may remove 408 the first access unit and decode 410 it. For example, at the CPB removal time, the data associated with each access unit may be removed and immediately decoded by an immediate decoding process. It should be noted that the term "immediately" and its variations do not necessarily indicate the absence of any time period. For example, "immediate" processing may occupy a period of time.

如果第一访问单元不是CRA访问单元,如果第一访问单元是 CRA访问单元且存在先行图片或如果CRA先行图片丢弃标记不指示丢弃,则电子设备102可以将初始移除延迟变量设置为412初始CPB 移除延迟参数。在这种情况下,例如,电子设备102可以将 use_initial_cpb_removal_delay[SchedSelIdx]设置为 initial_cpb_removal_delay[SchedSelIdx]的值。If the first access unit is not a CRA access unit, if the first access unit is a CRA access unit and there is a preceding picture, or if the CRA preceding picture discard flag does not indicate discard, the electronic device 102 may set the initial removal delay variable to the initial CPB removal delay parameter 412. In this case, for example, the electronic device 102 may set use_initial_cpb_removal_delay[SchedSelIdx] to the value of initial_cpb_removal_delay[SchedSelIdx].

如果第一访问单元不是CRA访问单元,如果第一访问单元是 CRA访问单元且存在先行图片或如果CRA先行图片丢弃标记不指示丢弃,则电子设备102可以基于初始CPB移除延迟参数来移除414 第一访问单元。例如,电子设备102可以基于初始CPB移除延迟参数(例如,initial_cpb_removal_delay[SchedSelIdx])来确定第一访问单元的移除时间。当到达移除时间时,例如,电子设备102可以从CPB 移除第一访问单元。If the first access unit is not a CRA access unit, if the first access unit is a CRA access unit and a preceding picture exists, or if the CRA preceding picture discard flag does not indicate discard, the electronic device 102 may remove 414 the first access unit based on an initial CPB removal delay parameter. For example, the electronic device 102 may determine a removal time for the first access unit based on an initial CPB removal delay parameter (e.g., initial_cpb_removal_delay[SchedSelIdx]). When the removal time is reached, for example, the electronic device 102 may remove the first access unit from the CPB.

电子设备102可以对第一访问单元进行解码416。例如,电子设备102可以对包括在第一访问单元中的编码图片进行解码416。例如,在CPB移除时间,可以移除与每个访问单元相关联的数据,并即刻通过即刻解码处理来对其进行解码。The electronic device 102 may decode the first access unit 416. For example, the electronic device 102 may decode the coded picture included in the first access unit 416. For example, at the CPB removal time, the data associated with each access unit may be removed and decoded immediately by the immediate decoding process.

图5是示出了用于缓冲比特流的方法500的更具体配置的流程图。电子设备102(例如,电子设备B 102b)可以接收502缓冲周期SEI 消息。例如,这可以如上结合图4所描述的来实现。5 is a flow chart illustrating a more specific configuration of a method 500 for buffering a bitstream. An electronic device 102 (eg, electronic device B 102b) may receive 502 a buffering period SEI message. For example, this may be implemented as described above in conjunction with FIG.

电子设备102可以确定504第一访问单元是否是CRA访问单元、是否不存在一个或多个先行图片以及CRA先行图片丢弃标记是否指示丢弃。这可以如上结合图4所描述的来实现。The electronic device 102 may determine 504 whether the first access unit is a CRA access unit, whether one or more preceding pictures are absent, and whether a CRA preceding picture discard flag indicates discard. This may be implemented as described above in conjunction with FIG.

如果第一访问单元是CRA访问单元,如果不存在先行图片且如果CRA先行图片丢弃标记指示丢弃,则电子设备102可以将初始移除延迟变量设置为506初始CRA CPB移除延迟参数。在这种情况下,例如,电子设备102可以将use_initial_cpb_removal_delay[SchedSelIdx] 设置为initial_cra_cpb_removal_delay[SchedSelIdx]的值。If the first access unit is a CRA access unit, if there is no preceding picture and if the CRA preceding picture discard flag indicates discard, the electronic device 102 may set the initial removal delay variable to the initial CRA CPB removal delay parameter 506. In this case, for example, the electronic device 102 may set use_initial_cpb_removal_delay[SchedSelIdx] to the value of initial_cra_cpb_removal_delay[SchedSelIdx].

在一些配置中,电子设备102可以基于初始CRA CPB移除延迟参数和初始CRA CPB移除延迟偏移参数中的一个或多个,来确定比特流到达时间。例如,这可以如上结合图4所描述的来实现。In some configurations, the electronic device 102 may determine the bitstream arrival time based on one or more of the initial CRA CPB removal delay parameter and the initial CRA CPB removal delay offset parameter. For example, this may be implemented as described above in conjunction with FIG.

如果第一访问单元是CRA访问单元,如果不存在先行图片且如果CRA先行图片丢弃标记指示丢弃,则电子设备102可以基于初始 CRA CPB移除延迟参数来确定508移除时间(例如,tr,n)。这可以如上结合initial_cra_cpb_removal_delay[SchedSelIdx]/90000所描述的来实现。If the first access unit is a CRA access unit, if there is no preceding picture and if the CRA preceding picture discard flag indicates discard, the electronic device 102 may determine 508 a removal time (e.g., t r,n ) based on the initial CRA CPB removal delay parameter. This may be implemented as described above in conjunction with initial_cra_cpb_removal_delay[SchedSelIdx]/90000.

如果第一访问单元是CRA访问单元,如果不存在先行图片且如果CRA先行图片丢弃标记指示丢弃,则电子设备102可以基于初始 CRA CPB移除延迟参数来移除510第一访问单元。例如,如上所述,电子设备102可以基于初始CRA CPB移除延迟参数(例如, initial_cra_cpb_removal_delay[SchedSelIdx])来确定508第一访问单元的移除时间(例如,tr,n)。当到达移除时间(例如,tr,n)时,例如电子设备102可以从CPB移除510第一访问单元。If the first access unit is a CRA access unit, if there is no preceding picture and if the CRA preceding picture discard flag indicates discard, the electronic device 102 may remove 510 the first access unit based on the initial CRA CPB removal delay parameter. For example, as described above, the electronic device 102 may determine 508 a removal time (e.g., t r, n ) of the first access unit based on the initial CRA CPB removal delay parameter (e.g., initial_cra_cpb_removal_delay[SchedSelIdx]). When the removal time (e.g., t r, n ) is reached, the electronic device 102 may remove 510 the first access unit from the CPB, for example.

电子设备102可以对第一访问单元进行解码512。例如,电子设备102可以对包括在第一访问单元中的编码图片进行解码512。例如,在CPB移除时间,可以移除与每个访问单元相关联的数据,并即刻通过即刻解码处理来对其进行解码。The electronic device 102 may decode the first access unit 512. For example, the electronic device 102 may decode the coded picture included in the first access unit 512. For example, at the CPB removal time, the data associated with each access unit may be removed and decoded immediately by the immediate decoding process.

如果第一访问单元不是CRA访问单元,如果第一访问单元是 CRA访问单元且存在先行图片或如果CRA先行图片丢弃标记不指示丢弃,则电子设备102可以将初始移除延迟变量设置为514初始CPB 移除延迟参数。在这种情况下,例如,电子设备102可以将 use_initial_cpb_removal_delay[SchedSelIdx]设置为 initial_cpb_removal_delay[SchedSelIdx]的值。If the first access unit is not a CRA access unit, if the first access unit is a CRA access unit and there is a preceding picture, or if the CRA preceding picture discard flag does not indicate discard, the electronic device 102 may set the initial removal delay variable to the initial CPB removal delay parameter 514. In this case, for example, the electronic device 102 may set use_initial_cpb_removal_delay[SchedSelIdx] to the value of initial_cpb_removal_delay[SchedSelIdx].

如果第一访问单元不是CRA访问单元,如果第一访问单元是 CRA访问单元且存在先行图片或如果CRA先行图片丢弃标记不指示丢弃,则电子设备102可以基于初始CPB移除延迟参数来确定516 移除时间(例如,tr,n)。这可以如上结合 initial_cpb_removal_delay[SchedSelIdx]/90000所描述的来实现。If the first access unit is not a CRA access unit, if the first access unit is a CRA access unit and there is a preceding picture, or if the CRA preceding picture discard flag does not indicate discard, the electronic device 102 may determine 516 a removal time (e.g., t r,n ) based on the initial CPB removal delay parameter. This may be implemented as described above in conjunction with initial_cpb_removal_delay[SchedSelIdx]/90000.

如果第一访问单元不是CRA访问单元,如果第一访问单元是 CRA访问单元且存在先行图片或如果CRA先行图片丢弃标记不指示丢弃,则电子设备102可以基于初始CPB移除延迟参数来移除518 第一访问单元。例如,电子设备102可以基于初始CPB移除延迟参数(例如,initial_cpb_removal_delay[SchedSelIdx])来确定516第一访问单元的移除时间(例如,tr,n)。当到达移除时间(例如,tr,n)时,例如,电子设备102可以从CPB移除518第一访问单元。If the first access unit is not a CRA access unit, if the first access unit is a CRA access unit and there is a preceding picture, or if the CRA preceding picture discard flag does not indicate discard, the electronic device 102 may remove 518 the first access unit based on the initial CPB removal delay parameter. For example, the electronic device 102 may determine 516 a removal time (e.g., t r, n ) of the first access unit based on the initial CPB removal delay parameter (e.g., initial_cpb_removal_delay[SchedSelIdx]). When the removal time (e.g., t r, n ) is reached, the electronic device 102 may remove 518 the first access unit from the CPB, for example.

电子设备102可以对第一访问单元进行解码520。例如,电子设备102可以对包括在第一访问单元中的编码图片进行解码520。例如,在CPB移除时间,可以移除与每个访问单元相关联的数据,并即刻通过即刻解码处理来对其进行解码。The electronic device 102 may decode the first access unit 520. For example, the electronic device 102 may decode the coded picture included in the first access unit 520. For example, at the CPB removal time, the data associated with each access unit may be removed and decoded immediately by the immediate decoding process.

图6是示出了电子设备602上的编码器604的一个配置的框图。应注意,示出为包括在电子设备602内的一个或多个要素可以以硬件、软件或二者组合来实现。例如,电子设备602包括编码器604,编码器604可以以硬件、软件或二者的组合来实现。例如,编码器604可以被实现为电路、集成电路、专用集成电路(ASIC)、与具有可执行指令的存储器进行电子通信的处理器、固件、现场可编程门阵列 (FPGA)等或其组合。在一些配置中,编码器604可以是HEVC编码器。FIG6 is a block diagram illustrating one configuration of an encoder 604 on an electronic device 602. It should be noted that one or more elements shown as included within the electronic device 602 may be implemented in hardware, software, or a combination thereof. For example, the electronic device 602 includes an encoder 604, which may be implemented in hardware, software, or a combination thereof. For example, the encoder 604 may be implemented as a circuit, an integrated circuit, an application-specific integrated circuit (ASIC), a processor in electronic communication with a memory having executable instructions, firmware, a field-programmable gate array (FPGA), or the like, or a combination thereof. In some configurations, the encoder 604 may be an HEVC encoder.

电子设备602可以包括源622。该源622可以提供图片或图像数据(例如,视频)作为编码器604的一个或多个输入图片606。源622 的示例可以包括图像传感器、存储器、通信接口、网络接口、无线接收器、端口等。The electronic device 602 may include a source 622. The source 622 may provide pictures or image data (e.g., video) as one or more input pictures 606 to the encoder 604. Examples of the source 622 may include an image sensor, a memory, a communication interface, a network interface, a wireless receiver, a port, etc.

可以将一个或多个输入图片606提供给帧内预测模块和重构缓冲器624。还可以将输入图片606提供给运动估计和运动补偿模块646 以及减法模块628。One or more input pictures 606 may be provided to the intra prediction module and reconstruction buffer 624. The input pictures 606 may also be provided to the motion estimation and motion compensation module 646 and the subtraction module 628.

帧内预测模块和重构缓冲器624可以基于一个或多个输入图片 606和重构数据660,生成帧内模式信息640和帧内信号626。运动估计和运动补偿模块646可以基于一个或多个输入图片606和参考图片缓冲器676信号678,生成帧间模式信息648和帧间信号644。在一些配置中,参考图片缓冲器676可以包括来自参考图片缓冲器676中的一个或多个参考图片的数据。The intra prediction module and reconstruction buffer 624 may generate intra mode information 640 and an intra signal 626 based on one or more input pictures 606 and the reconstruction data 660. The motion estimation and motion compensation module 646 may generate inter mode information 648 and an inter signal 644 based on one or more input pictures 606 and a reference picture buffer 676 signal 678. In some configurations, the reference picture buffer 676 may include data from one or more reference pictures in the reference picture buffer 676.

编码器604可以根据模式在帧内信号626与帧间信号644之间进行选择。在帧内编码模式下,可以使用帧内信号626以便利用空间特性。在帧间编码模式下,可以使用帧间信号644以便利用时间特性。当在帧内编码模式下时,可以将帧内信号626提供给减法模块628,并将帧内模式信息640提供给熵编码模块642。当在帧间编码模式下时,可以将帧间信号644提供给减法模块628,并将帧间模式信息648 提供给熵编码模块642。The encoder 604 can select between an intra-frame signal 626 and an inter-frame signal 644 depending on the mode. In intra-frame coding mode, the intra-frame signal 626 can be used to exploit spatial characteristics. In inter-frame coding mode, the inter-frame signal 644 can be used to exploit temporal characteristics. When in intra-frame coding mode, the intra-frame signal 626 can be provided to a subtraction module 628, and intra-frame mode information 640 can be provided to an entropy coding module 642. When in inter-frame coding mode, the inter-frame signal 644 can be provided to the subtraction module 628, and inter-frame mode information 648 can be provided to the entropy coding module 642.

在减法模块628处,从输入图片606中减去帧内信号626或帧间信号644(取决于模式),以便产生预测残差630。将预测残差630提供给变换模块632。变换模块632可以压缩预测残差630以便产生变换后的信号634,将该信号634提供给量化模块636。量化模块636 对变换后的信号634进行量化,以产生经变换的和量化的系数(TQC) 638。At a subtraction module 628, the intra signal 626 or the inter signal 644 (depending on the mode) is subtracted from the input picture 606 to produce a prediction residual 630. The prediction residual 630 is provided to a transform module 632. The transform module 632 may compress the prediction residual 630 to produce a transformed signal 634, which is provided to a quantization module 636. The quantization module 636 quantizes the transformed signal 634 to produce transformed and quantized coefficients (TQC) 638.

将TQC 638提供给熵编码模块642和逆量化模块650。逆量化模块650对TQC 638执行逆量化,以产生逆量化的信号652,将该信号 652提供给逆变换模块654。逆变换模块654对逆量化的信号652进行解压缩,以产生压缩后的信号656,将该信号656提供给重构模块658。The TQC 638 is provided to an entropy coding module 642 and an inverse quantization module 650. The inverse quantization module 650 performs inverse quantization on the TQC 638 to produce an inverse quantized signal 652, which is provided to an inverse transform module 654. The inverse transform module 654 decompresses the inverse quantized signal 652 to produce a compressed signal 656, which is provided to a reconstruction module 658.

重构模块658可以基于解压缩后的信号656生成重构后的数据 660。例如,重构模块658可以重构(修改)图片。可以将重构后的数据660提供给去块滤波器662以及帧内预测模块和重构缓冲器624。去块滤波器662可以基于重构后的数据660生成滤波后的信号664。The reconstruction module 658 can generate reconstructed data 660 based on the decompressed signal 656. For example, the reconstruction module 658 can reconstruct (modify) a picture. The reconstructed data 660 can be provided to a deblocking filter 662 and an intra prediction module and reconstruction buffer 624. The deblocking filter 662 can generate a filtered signal 664 based on the reconstructed data 660.

可以将滤波后的信号664提供给采样自适应偏移(SAO)模块666。 SAO模块666可以产生提供给熵编码模块642的SAO信息668以及提供给自适应环路滤波器(ALF)672的SAO信号670。ALF 672产生提供给参考图片缓冲器676的ALF信号674。ALF信号674可以包括来自可以用作参考图片的一个或多个图片的数据。The filtered signal 664 may be provided to a sample adaptive offset (SAO) module 666. The SAO module 666 may generate SAO information 668, which is provided to the entropy coding module 642, and an SAO signal 670, which is provided to an adaptive loop filter (ALF) 672. The ALF 672 generates an ALF signal 674, which is provided to a reference picture buffer 676. The ALF signal 674 may include data from one or more pictures that may be used as reference pictures.

熵编码模块642可以对TQC 638进行编码,以产生比特流A 614a (例如,编码后的图片数据)。例如,熵编码模块642可以使用上下文自适应可变长度编码(CAVLC)或上下文自适应二进制算术编码 (CABAC)来对TQC 638进行编码。具体地,熵编码模块642可以基于帧内模式信息640、帧间模式信息648和SAO信息668中的一个或多个,来对TQC 638进行编码。可以将比特流A 614a(例如,编码后的图片数据)提供给消息生成模块608。该消息生成模块608可以与结合图1所述的消息生成模块108相似地配置。附加地或备选地,消息生成模块608可以执行结合图2和图3所述的一个或多个过程。The entropy coding module 642 may encode the TQC 638 to generate a bitstream A 614a (e.g., encoded picture data). For example, the entropy coding module 642 may encode the TQC 638 using context-adaptive variable length coding (CAVLC) or context-adaptive binary arithmetic coding (CABAC). Specifically, the entropy coding module 642 may encode the TQC 638 based on one or more of the intra mode information 640, the inter mode information 648, and the SAO information 668. The bitstream A 614a (e.g., encoded picture data) may be provided to the message generation module 608. The message generation module 608 may be configured similarly to the message generation module 108 described in conjunction with FIG. Additionally or alternatively, the message generation module 608 may perform one or more of the processes described in conjunction with FIG. 2 and FIG. 3.

例如,如果第一图片(例如,比特流A 614a中的第一图片)是 CRA图片且如果存在先行图片,则消息生成模块608可以生成包括 CRA先行图片丢弃标记、初始CRA CPB移除延迟参数和初始CRA CPB移除延迟偏移参数中的一个或多个在内的消息(例如,缓冲周期 SEI消息或其它消息)。在一些配置中,可以将该消息插入到比特流A 614a,以产生比特流B614b。因此,该消息可以在生成了全部比特流 A 614a之后(例如,在生成了大部分比特流B614b之后)生成。在其它配置中,该消息可以不插入到比特流A 614(在该情况下,比特流B614b可以与比特流A614a相同),而是提供在单独传输610中。For example, if the first picture (e.g., the first picture in bitstream A 614a) is a CRA picture and if a preceding picture exists, the message generation module 608 may generate a message (e.g., a buffering period SEI message or other message) including one or more of a CRA preceding picture discard flag, an initial CRA CPB removal delay parameter, and an initial CRA CPB removal delay offset parameter. In some configurations, the message may be inserted into bitstream A 614a to generate bitstream B 614b. Thus, the message may be generated after all of bitstream A 614a has been generated (e.g., after a substantial portion of bitstream B 614b has been generated). In other configurations, the message may not be inserted into bitstream A 614 (in which case bitstream B 614b may be identical to bitstream A 614a) but may be provided in a separate transmission 610.

在一些配置中,电子设备602向其他电子设备发送比特流614。例如,可以将比特流614提供给通信接口、网络接口、无线发射机、端口等。例如,可以通过LAN、互联网、蜂窝电话基站等将比特流 614传输到另一电子设备。附加地或备选地,可以将比特流614存储在电子设备602的存储器或其它组件上。In some configurations, the electronic device 602 transmits a bitstream 614 to another electronic device. For example, the bitstream 614 can be provided to a communication interface, a network interface, a wireless transmitter, a port, etc. For example, the bitstream 614 can be transmitted to another electronic device via a LAN, the Internet, a cellular phone base station, etc. Additionally or alternatively, the bitstream 614 can be stored in a memory or other component of the electronic device 602.

图7是示出了电子设备702上的解码器712的一个配置的框图。可以将解码器712包括在电子设备702中。例如,解码器712可以是 HEVC解码器。解码器712和示出为包括在解码器712中的一个或多个要素可以以硬件、软件或二者的组合来实现。解码器712可以接收比特流714(例如,包括在比特流714中的一个或多个编码后的图片和开销数据),以便进行解码。在一些配置中,接收到的比特流714 可以包括接收到的开销数据,例如,消息(例如,缓冲周期SEI消息或其它消息)、条带头部、PPS等。在一些配置中,解码器712可以附加地接收单独传输710。单独传输710可以包括消息(例如,缓冲周期SEI消息或其它消息)。例如,可以在单独传输710中(而不是在比特流714中)接收缓冲周期SEI消息或其它消息。然而,应注意,单独传输710是可选的,在一些配置下可以不使用单独传输710。Figure 7 is a block diagram illustrating one configuration of a decoder 712 on an electronic device 702. The decoder 712 may be included in the electronic device 702. For example, the decoder 712 may be an HEVC decoder. The decoder 712 and one or more elements shown as included in the decoder 712 may be implemented in hardware, software, or a combination of both. The decoder 712 may receive a bitstream 714 (e.g., one or more coded pictures and overhead data included in the bitstream 714) for decoding. In some configurations, the received bitstream 714 may include received overhead data, such as messages (e.g., a buffering period SEI message or other messages), slice headers, PPS, etc. In some configurations, the decoder 712 may also receive a separate transmission 710. The separate transmission 710 may include messages (e.g., a buffering period SEI message or other messages). For example, the buffering period SEI message or other messages may be received in the separate transmission 710 (rather than in the bitstream 714). However, it should be noted that the separate transmission 710 is optional and may not be used in some configurations.

解码器712包括CPB 720。CPB 720可以与以上结合图1所述的 CPB 120相似地配置。附加地或备选地,解码器712可以执行结合图4和图5所述的一个或多个过程。例如,解码器712可以接收消息(例如,缓冲周期SEI消息或其它消息)。附加地,如果第一访问单元是CRA访问单元,如果不存在先行图片并且如果CRA先行图片丢弃标记指示丢弃,则解码器712可以执行一个或多个以下操作:将初始移除延迟变量设置为初始CRA CPB移除延迟参数,和基于该初始CRA CPB移除延迟参数来移除第一访问单元。应注意,一个或多个访问单元可以包括在比特流中,并且可以包括编码图片数据和开销数据中的一个或多个。The decoder 712 includes a CPB 720. The CPB 720 can be configured similarly to the CPB 120 described above in conjunction with FIG. 1 . Additionally or alternatively, the decoder 712 can perform one or more of the processes described in conjunction with FIG. 4 and FIG. 5 . For example, the decoder 712 can receive a message (e.g., a buffering period SEI message or other message). Additionally, if the first access unit is a CRA access unit, if no preceding picture exists and if the CRA preceding picture discard flag indicates discard, the decoder 712 can perform one or more of the following operations: setting an initial removal delay variable to an initial CRA CPB removal delay parameter, and removing the first access unit based on the initial CRA CPB removal delay parameter. Note that one or more access units can be included in the bitstream and can include one or more of coded picture data and overhead data.

编码图片缓冲器(CPB)720可以向熵解码模块701提供编码后的图片数据。可以通过熵解码模块701来对编码后的图片数据进行熵解码,从而产生运动信息信号703以及经量化、缩放和/或变换的系数 705。The coded picture buffer (CPB) 720 may provide the coded picture data to the entropy decoding module 701. The coded picture data may be entropy decoded by the entropy decoding module 701 to generate a motion information signal 703 and quantized, scaled and/or transformed coefficients 705.

在运动补偿模块780处,可以将运动信息信号703与来自帧存储器709的参考帧信号798的一部分合并,这样可以产生帧间预测信号 782。可以通过逆模块707对经量化、解缩放和/或变换的系数705进行逆量化、缩放和逆变换,从而产生解码后的残差信号784。可以将解码后的残差信号784与预测信号792相加,以产生合并信号786。预测信号792可以是从由运动补偿模块780所产生的帧间预测信号 782或由帧内预测模块788所产生的帧内预测信号790中选择的信号。在一些配置中,该信号选择可以基于比特流714(例如,由比特流714控制)。At the motion compensation module 780, the motion information signal 703 may be combined with a portion of the reference frame signal 798 from the frame memory 709, which may generate an inter-frame prediction signal 782. The quantized, descaled, and/or transformed coefficients 705 may be inversely quantized, scaled, and inversely transformed by the inverse module 707, thereby generating a decoded residual signal 784. The decoded residual signal 784 may be added to the prediction signal 792 to generate a combined signal 786. The prediction signal 792 may be a signal selected from the inter-frame prediction signal 782 generated by the motion compensation module 780 or the intra-frame prediction signal 790 generated by the intra-frame prediction module 788. In some configurations, this signal selection may be based on (e.g., controlled by) the bitstream 714.

可以根据来自合并信号786(例如,在当前帧中)的先前解码信息来预测帧内预测信号790。还可以通过去块滤波器794来对合并信号786进行滤波。可以将得到的滤波后的信号796写入帧存储器709。得到的滤波后的信号796可以包括解码后的图片。帧存储器709可以提供解码后的图片718。The intra prediction signal 790 may be predicted based on previously decoded information from the merge signal 786 (e.g., in the current frame). The merge signal 786 may also be filtered by a deblocking filter 794. The resulting filtered signal 796 may be written to the frame memory 709. The resulting filtered signal 796 may include a decoded picture. The frame memory 709 may provide a decoded picture 718.

图8示出了可以在发送电子设备802中使用的各个组件。本文所述的电子设备102、602、702中的一个或多个可以根据图8所示的发送电子设备802来实现。FIG8 illustrates various components that may be used in a transmitting electronic device 802. One or more of the electronic devices 102, 602, and 702 described herein may be implemented according to the transmitting electronic device 802 shown in FIG8.

发送电子设备802包括控制电子设备802的操作的处理器817。还可以将处理器817称作CPU。存储器811向处理器817提供指令813a (例如,可执行指令)和数据815a,存储器811可以包括只读存储器 (ROM)、随机访问存储器(RAM)或可以存储信息的任何类型的设备。存储器811的一部分还可以包括非易失性随机访问存储器 (NVRAM)。存储器811可以与处理器817进行电子通信。The transmitting electronic device 802 includes a processor 817 that controls the operation of the electronic device 802. The processor 817 may also be referred to as a CPU. The memory 811 provides instructions 813a (e.g., executable instructions) and data 815a to the processor 817. The memory 811 may include read-only memory (ROM), random access memory (RAM), or any other type of device that can store information. A portion of the memory 811 may also include non-volatile random access memory (NVRAM). The memory 811 may be in electronic communication with the processor 817.

指令813b和数据815b可以驻留在处理器817中。被加载到处理器817的指令813b和/或数据815b还可以包括来自存储器811的被加载以供处理器817来执行或处理的指令813a和/或数据815a。可以通过处理器817执行指令813b以便实现本文所述的系统和方法。例如,指令813b可以是可执行的,以执行上述方法200、300、400、500中的一个或多个。Instructions 813b and data 815b may reside in processor 817. Instructions 813b and/or data 815b loaded into processor 817 may also include instructions 813a and/or data 815a loaded from memory 811 for execution or processing by processor 817. Instructions 813b may be executed by processor 817 to implement the systems and methods described herein. For example, instructions 813b may be executable to perform one or more of methods 200, 300, 400, and 500 described above.

发送电子设备802可以包括一个或多个通信接口819,用于与其它电子设备(例如,接收电子设备)进行通信。通信接口819可以基于有线通信技术、无线通信技术或二者。通信接口819的示例包括串行端口、并行端口、通用串行总线(USB)、以太网适配器、IEEE 1394总线接口、小型计算机系统接口(SCSI)总线接口、红外(IR)通信端口、蓝牙无线通信适配器、根据第三代合作伙伴计划(3GPP)规范的无线收发机等。The transmitting electronic device 802 may include one or more communication interfaces 819 for communicating with other electronic devices (e.g., receiving electronic devices). The communication interface 819 may be based on wired communication technology, wireless communication technology, or both. Examples of the communication interface 819 include a serial port, a parallel port, a universal serial bus (USB), an Ethernet adapter, an IEEE 1394 bus interface, a small computer system interface (SCSI) bus interface, an infrared (IR) communication port, a Bluetooth wireless communication adapter, a wireless transceiver according to the Third Generation Partnership Project (3GPP) specification, and the like.

发送电子设备802可以包括一个或多个输出设备823以及一个或多个输入设备821。输出设备823的示例包括扬声器、打印机等。可以包括在电子设备802中的一种输出设备是显示设备825。与本文所公开的配置一同使用的显示设备825可以利用任何适合的图像投影技术,例如,阴极射线管(CRT)、液晶显示器(LCD)、发光二极管(LED)、气态等离子体、电致发光术等。可以提供显示控制器827用于将存储在存储器811中的数据转换为显示在显示器825上的文本、图形和/ 或运动图像(合适的)。输入设备821的示例包括键盘、鼠标、麦克风、遥控设备、按钮、操控杆、轨迹球、触摸板、触摸屏、激光笔等。The transmitting electronic device 802 may include one or more output devices 823 and one or more input devices 821. Examples of output devices 823 include speakers, printers, and the like. One output device that may be included in the electronic device 802 is a display device 825. The display device 825 used with the configurations disclosed herein may utilize any suitable image projection technology, such as a cathode ray tube (CRT), liquid crystal display (LCD), light emitting diode (LED), gas plasma, electroluminescence, and the like. A display controller 827 may be provided for converting data stored in the memory 811 into text, graphics, and/or moving images (as appropriate) displayed on the display 825. Examples of input devices 821 include a keyboard, mouse, microphone, remote control device, buttons, joystick, trackball, touchpad, touch screen, laser pointer, and the like.

通过总线系统829将发送电子设备802的各个组件耦接在一起,除了数据总线之外,总线系统829还可以包括电源总线、控制信号总线和状态信号总线。然而,为了清楚,图8将各种总线示出为总线系统829。图8所示的发送电子设备802是功能框图,而不是具体组件的列表。The various components of the transmitting electronic device 802 are coupled together by a bus system 829. In addition to the data bus, the bus system 829 may also include a power bus, a control signal bus, and a status signal bus. However, for clarity, FIG8 illustrates the various buses as the bus system 829. The transmitting electronic device 802 shown in FIG8 is a functional block diagram rather than a list of specific components.

图9是示出了可以在接收电子设备902中使用的各个组件的框图。本文所述的电子设备102、602、702中的一个或多个可以根据如图9 所示的接收电子设备902来实现。9 is a block diagram illustrating various components that may be used in a receiving electronic device 902. One or more of the electronic devices 102, 602, 702 described herein may be implemented according to the receiving electronic device 902 shown in FIG.

接收电子设备902包括控制电子设备902的操作的处理器917。处理器917还可以称作CPU。存储器911向处理器917提供指令913a (例如,可执行指令)和数据915a,存储器911可以包括只读存储器 (ROM)、随机访问存储器(RAM)或可以存储信息的任何类型的设备。存储器911的一部分还可以包括非易失性随机访问存储器 (NVRAM)。存储器911可以与处理器917进行电子通信。The receiving electronic device 902 includes a processor 917 that controls the operation of the electronic device 902. The processor 917 may also be referred to as a CPU. The memory 911 provides instructions 913a (e.g., executable instructions) and data 915a to the processor 917. The memory 911 may include read-only memory (ROM), random access memory (RAM), or any other type of device capable of storing information. A portion of the memory 911 may also include non-volatile random access memory (NVRAM). The memory 911 may be in electronic communication with the processor 917.

指令913b和数据915b还可以驻留在处理器917中。被加载到处理器917的指令913b和/或数据915b还可以包括来自存储器911的被加载以供处理器917来执行或处理的指令913a和/或数据915a。可以通过处理器917执行指令913b以实现本文所述的系统和方法。例如,指令913b可以是可执行的,以执行上述方法200、300、400、500中的一个或多个。Instructions 913b and data 915b may also reside in the processor 917. The instructions 913b and/or data 915b loaded into the processor 917 may also include instructions 913a and/or data 915a loaded from the memory 911 for execution or processing by the processor 917. The instructions 913b may be executed by the processor 917 to implement the systems and methods described herein. For example, the instructions 913b may be executable to perform one or more of the methods 200, 300, 400, and 500 described above.

接收电子设备902可以包括一个或多个通信接口919,用于与其它电子设备(例如,发送电子设备)进行通信。通信接口919可以基于有线通信技术、无线通信技术或二者。通信接口919的示例包括串行端口、并行端口、通用串行总线(USB)、以太网适配器、IEEE 1394总线接口、小型计算机系统接口(SCSI)总线接口、红外(IR)通信端口、蓝牙无线通信适配器、根据第三代合作伙伴计划(3GPP)规范的无线收发机等。The receiving electronic device 902 may include one or more communication interfaces 919 for communicating with other electronic devices (e.g., the sending electronic device). The communication interface 919 may be based on a wired communication technology, a wireless communication technology, or both. Examples of the communication interface 919 include a serial port, a parallel port, a universal serial bus (USB), an Ethernet adapter, an IEEE 1394 bus interface, a small computer system interface (SCSI) bus interface, an infrared (IR) communication port, a Bluetooth wireless communication adapter, a wireless transceiver according to the Third Generation Partnership Project (3GPP) specification, and the like.

发送电子设备902可以包括一个或多个输出设备923以及一个或多个输入设备921。输出设备923的示例包括扬声器、打印机等。可以包括在电子设备902中的一种输出设备是显示设备925。与本文所公开的配置一起使用的显示设备925可以使用任何适合的图像投影技术,例如,阴极射线管(CRT)、液晶显示器(LCD)、发光二极管 (LED)、气态等离子体、电致发光术等。可以提供显示控制器927 用于将存储在存储器911中的数据转换为显示在显示器925上的文本、图形和/或运动图像(合适的)。输入设备921的示例包括键盘、鼠标、麦克风、遥控设备、按钮、操控杆、轨迹球、触摸板、触摸屏、激光笔等。The transmitting electronic device 902 may include one or more output devices 923 and one or more input devices 921. Examples of output devices 923 include speakers, printers, and the like. One output device that may be included in the electronic device 902 is a display device 925. The display device 925 used with the configurations disclosed herein may use any suitable image projection technology, such as a cathode ray tube (CRT), a liquid crystal display (LCD), a light emitting diode (LED), gas plasma, electroluminescence, and the like. A display controller 927 may be provided for converting data stored in the memory 911 into text, graphics, and/or moving images (as appropriate) for display on the display 925. Examples of input devices 921 include a keyboard, a mouse, a microphone, a remote control device, buttons, a joystick, a trackball, a touchpad, a touch screen, a laser pointer, and the like.

通过总线系统929将发送电子设备902的各个组件耦接在一起,除了数据总线之外,总线系统929还可以包括电源总线、控制信号总线和状态信号总线。然而,为了清楚,图9将各种总线示出为总线系统929。图9所示的接收电子设备902是功能框图,而不是具体组件的列表。The various components of the transmitting electronic device 902 are coupled together by a bus system 929. In addition to the data bus, the bus system 929 may also include a power bus, a control signal bus, and a status signal bus. However, for clarity, FIG9 illustrates the various buses as the bus system 929. The receiving electronic device 902 shown in FIG9 is a functional block diagram rather than a list of specific components.

图10是示出了用于发送消息的系统和方法可以在其中实现的电子设备1002的一个配置的框图。电子设备1002包括编码装置1031 和发送装置1033。编码装置1031和发送装置1033可以配置为执行以上结合图1、图2、图3、图6和图8中的一个或多个所述的一个或多个功能。例如,编码装置1031和发送装置1033可以生成比特流1014。以上图8示出了图10的实际装置结构的一个示例。可以实现其它多种结构,以实现图1、图2、图3、图6和图8的一个或多个功能。例如, DSP可以通过软件来实现。FIG10 is a block diagram illustrating one configuration of an electronic device 1002 in which the system and method for sending a message can be implemented. Electronic device 1002 includes an encoding device 1031 and a transmitting device 1033. Encoding device 1031 and transmitting device 1033 can be configured to perform one or more of the functions described above in conjunction with one or more of FIG1 , FIG2 , FIG3 , FIG6 , and FIG8 . For example, encoding device 1031 and transmitting device 1033 can generate a bitstream 1014. FIG8 illustrates an example of an actual device structure of FIG10 . Various other structures can be implemented to achieve one or more of the functions of FIG1 , FIG2 , FIG3 , FIG6 , and FIG8 . For example, a DSP can be implemented using software.

图11是示出了用于缓冲比特流1114的系统和方法可以在其中实现的电子设备1102的一个配置的框图。电子设备1102包括接收装置 1135和解码装置1137。接收装置1135和解码装置1137可以配置为执行以上结合图1、图4、图5、图7和图9中的一个或多个所述的一个或多个功能。例如,接收装置1135和解码装置1137可以接收比特流 1114。以上图9示出了图11的实际装置结构的一个示例。可以实现其它多种结构,以实现图1、图4、图5、图7和图9的一个或多个功能。例如,DSP可以通过软件来实现。Figure 11 is a block diagram illustrating one configuration of an electronic device 1102 in which the system and method for buffering a bitstream 1114 can be implemented. Electronic device 1102 includes a receiving device 1135 and a decoding device 1137. Receiving device 1135 and decoding device 1137 can be configured to perform one or more of the functions described above in conjunction with one or more of Figures 1, 4, 5, 7, and 9. For example, receiving device 1135 and decoding device 1137 can receive bitstream 1114. Figure 9 above illustrates an example of a practical device structure for Figure 11. Various other structures can be implemented to achieve one or more of the functions of Figures 1, 4, 5, 7, and 9. For example, a DSP can be implemented using software.

术语“计算机可读介质”是指可以由计算机或处理器访问的任何可用介质。如文本所用,术语“计算机可读介质”可以表示非暂时性且有形的计算机和/或处理器可读介质。例如,而非限制性地,计算机可读或处理器可读介质可以包括:RAM、ROM、EEPROM、CD-COM 或其它光盘存储设备、磁盘存储设备或其它磁性存储器件;或可以用于以可以通过计算机或处理器访问的指令或数据结构的形式携带或存储所需程序代码的任何其它介质。如本文所用,磁盘和光盘包括:压缩盘(CD)、激光盘、光盘、数字可视盘(DVD)、软盘和蓝光(注册商标)盘,其中磁盘通常磁性再现数据,而光盘用激光光学再现数据。The term "computer-readable medium" refers to any available medium that can be accessed by a computer or processor. As used herein, the term "computer-readable medium" may refer to a non-transitory and tangible computer and/or processor-readable medium. For example, and not limitation, computer-readable or processor-readable media may include: RAM, ROM, EEPROM, CD-COM or other optical disk storage devices, magnetic disk storage devices or other magnetic storage devices; or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures that can be accessed by a computer or processor. As used herein, magnetic disks and optical disks include: compact disks (CDs), laser disks, optical disks, digital video disks (DVDs), floppy disks, and Blu-ray (registered trademark) disks, where magnetic disks typically reproduce data magnetically, while optical disks reproduce data optically with lasers.

应注意,本文所述方法中的一个或多个可以以硬件来实现和/或使用硬件来执行。例如,本文所述方法或方案中的一个或多个可以以和/ 或使用芯片、ASIC、大型集成电路(LSI)或集成电路等来实现。It should be noted that one or more of the methods described herein may be implemented in hardware and/or performed using hardware. For example, one or more of the methods or solutions described herein may be implemented in and/or using a chip, an ASIC, a large-scale integrated circuit (LSI), or an integrated circuit.

本文所公开的每个方法包括用于实现所述方法的一个或多个步骤或行为。所述方法步骤和/或行为可以与其它步骤和/或行为互换,和/或合并为单个步骤,而不脱离权利要求的范围。换言之,除非需要特定顺序的步骤或行为来正确操作所述的方法,否则可以修改具体步骤和/或行为的顺序和/或使用,而不脱离权利要求的范围。Each method disclosed herein includes one or more steps or actions for implementing the method. The method steps and/or actions may be interchanged with other steps and/or actions, and/or combined into a single step, without departing from the scope of the claims. In other words, unless a specific order of steps or actions is required for the proper operation of the method, the order and/or use of the specific steps and/or actions may be modified without departing from the scope of the claims.

应理解,权利要求不限于以上所述的明确配置和组件。可以对本文所述的系统、方法和装置的布置、操作和详情进行多种修改、改变和变形,而不脱离权利要求的范围。It is to be understood that the claims are not limited to the precise configuration and components described above. Various modifications, changes and variations may be made in the arrangement, operation and details of the systems, methods and apparatus described herein without departing from the scope of the claims.

Claims (5)

1.一种用于缓冲比特流的方法,包括:1. A method for buffering a bit stream, comprising: 解码通过使用以下编码步骤生成的比特流:编码第一初始编码图片缓冲器CPB移除延迟参数、指示是否存在第二初始CPB移除延迟参数的标记、以及当所述标记指示存在时的第二初始CPB移除延迟参数,Decoding is performed using the bitstream generated through the following encoding steps: encoding a first initial encoded picture buffer (CPB) removal delay parameter, a flag indicating the presence of a second initial CPB removal delay parameter, and the second initial CPB removal delay parameter when the flag indicates its presence. 其中in 当满足条件集合时将初始移除延迟变量设置为第二初始CPB移除延迟参数,以及当不满足所述条件集合时将初始移除延迟变量设置为第一初始CPB移除延迟参数,When the set of conditions is met, the initial removal delay variable is set to the second initial CPB removal delay parameter; when the set of conditions is not met, the initial removal delay variable is set to the first initial CPB removal delay parameter. 其中,所述条件集合包括以下各项:The set of conditions includes the following items: 1)第一访问单元仅包括I条带,1) The first access unit includes only I-stripes. 2)不存在先行图片,以及2) No preceding image exists, and 3)所述标记等于1。3) The mark is equal to 1. 2.根据权利要求1所述的方法,2. The method according to claim 1, 在检查比特流一致性和输出时序解码器一致性的情况下:In checking bitstream consistency and output timing decoder consistency: 当满足条件集合时将初始移除延迟变量设置为第二初始CPB移除延迟参数,以及当不满足条件集合时将初始移除延迟变量设置为第一初始CPB移除延迟参数。When the condition set is met, the initial removal delay variable is set to the second initial CPB removal delay parameter, and when the condition set is not met, the initial removal delay variable is set to the first initial CPB removal delay parameter. 3.一种用于缓冲比特流的电子设备,包括:3. An electronic device for buffering bit streams, comprising: 解码电路,配置为解码通过使用以下编码电路生成的比特流,The decoding circuit is configured to decode the bitstream generated by using the following encoding circuit. 编码电路,配置为编码第一初始编码图片缓冲器CPB移除延迟参数、指示是否存在第二初始CPB移除延迟参数的标记、以及当所述标记指示存在时的第二初始CPB移除延迟参数,The encoding circuit is configured to encode a first initial encoded image buffer (CPB) removal delay parameter, a flag indicating the presence of a second initial CPB removal delay parameter, and the second initial CPB removal delay parameter when the flag indicates its presence. 其中,in, 当满足条件集合时将初始移除延迟变量设置为第二初始CPB移除延迟参数,以及当不满足所述条件集合时将初始移除延迟变量设置为第一初始CPB移除延迟参数,When the set of conditions is met, the initial removal delay variable is set to the second initial CPB removal delay parameter; when the set of conditions is not met, the initial removal delay variable is set to the first initial CPB removal delay parameter. 其中,所述条件集合包括以下各项:The set of conditions includes the following items: 1)第一访问单元仅包括I条带,1) The first access unit includes only I-stripes. 2)不存在先行图片,以及2) No preceding image exists, and 3)所述标记等于1。3) The mark is equal to 1. 4.根据权利要求3所述的电子设备,4. The electronic device according to claim 3, 在检查比特流一致性和输出时序解码器一致性的情况下:In checking bitstream consistency and output timing decoder consistency: 当满足条件集合时将初始移除延迟变量设置为第二初始CPB移除延迟参数,以及当不满足条件集合时将初始移除延迟变量设置为第一CPB移除延迟参数。When the condition set is met, the initial removal delay variable is set to the second initial CPB removal delay parameter, and when the condition set is not met, the initial removal delay variable is set to the first CPB removal delay parameter. 5.一种用于缓冲由多个块组成的比特流的电子设备,包括:5. An electronic device for buffering a bit stream consisting of multiple blocks, comprising: 存储器;以及Memory; and 处理器,其中,所述处理器被配置为执行步骤:A processor, wherein the processor is configured to perform the following steps: 解码通过使用以下编码步骤生成的比特流:编码第一初始CPB移除延迟参数、指示是否存在第二初始CPB移除延迟参数的标记、以及当所述标记指示存在时的第二初始CPB移除延迟参数,Decoding is performed using a bitstream generated through the following encoding steps: encoding a first initial CPB removal delay parameter, a flag indicating the presence of a second initial CPB removal delay parameter, and the second initial CPB removal delay parameter when the flag indicates its presence. 其中,in, 当满足条件集合时将初始移除延迟变量设置为第二初始CPB移除延迟参数,以及当不满足所述条件集合时将初始移除延迟变量设置为第一初始CPB移除延迟参数,When the set of conditions is met, the initial removal delay variable is set to the second initial CPB removal delay parameter; when the set of conditions is not met, the initial removal delay variable is set to the first initial CPB removal delay parameter. 其中,所述条件集合包括以下各项:The set of conditions includes the following items: 1)第一访问单元仅包括I条带,1) The first access unit includes only I-stripes. 2)不存在先行图片,以及2) No preceding image exists, and 3)所述标记等于1。3) The mark is equal to 1.
HK18107276.0A 2012-04-13 2018-06-04 Electronic devices for sending a message and buffering a bitstream HK1248042B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/447,095 US9402082B2 (en) 2012-04-13 2012-04-13 Electronic devices for sending a message and buffering a bitstream
US13/447,095 2012-04-13

Publications (2)

Publication Number Publication Date
HK1248042A1 HK1248042A1 (en) 2018-10-05
HK1248042B true HK1248042B (en) 2021-03-26

Family

ID=

Similar Documents

Publication Publication Date Title
CN107770550B (en) Electronic device for transmitting messages and buffering bitstreams
CN108419079B (en) Electronic device for signaling sprite buffer parameters
US10382809B2 (en) Method and decoder for decoding a video bitstream using information in an SEI message
US9426460B2 (en) Electronic devices for signaling multiple initial buffering parameters
US20150103895A1 (en) Electronic devices for signaling multiple initial buffering parameters
US20140092995A1 (en) Electronic devices for signaling a random access point picture message
HK1248042B (en) Electronic devices for sending a message and buffering a bitstream
HK1248041B (en) Electronic devices for sending a message and buffering a bitstream
WO2014049974A1 (en) Electronic devices for signaling multiple initial buffering parameters
HK1204739B (en) Electronic devices for sending a message and buffering a bitstream
HK1261398B (en) Devices and methods for identifying a leading picture
HK1261067B (en) Devices for identifying a leading picture
HK1204186B (en) Devices for identifying a leading picture