用来简化视频拼接的缓冲信息的语法和语义的制作方法

文档序号:9309001阅读:208来源:国知局
用来简化视频拼接的缓冲信息的语法和语义的制作方法
【专利说明】
【背景技术】
[0001]工程师们采用压缩(也称为源编码)来降低数字视频的比特率。压缩通过将信息转换成较低的比特率形式,减少了存储和传输视频信息的成本。解压缩(也称为解码)是对来自压缩形式的原始信息版本的重构。“编解码器”是一种编码器/解码器系统。
[0002]在过去二十年,已通过了各种视频编解码标准,包括ITU-T H.261、Η.262 (MPEG-2或 IS0/IEC 13818-2)、Η.263 和 H.264 (MPEG-4 AVC 或 IS0/IEC 14496-10)标准和 MPEG-1(IS0/IEC 11172-2)、MPEG-4 视讯(IS0/IEC 14496-2)和 SMPTE 421Μ (VC-1)标准。最近,已经开发出HEVC标准(ITU-T H.265或IS0/IEC 23008-2)。视频编解码标准通常定义了经编码的视频比特流的语法选项,详细介绍了在编码和解码中使用特定功能时,比特流中的参数。在许多情况下,视频编解码标准还提供有关解码器应执行的以在解码中获得一致结果的解码操作的详细内容。除了编解码器标准,各种专用的编解码器格式定义了经编码的视频比特流的语法的其他选项,以及相应的解码操作。
[0003]一种经编码的视频比特流中的参数类型是编码图片缓冲区清除延迟(“CPBRD”)。一般情况下,用于给定图片的CPBRD值指定了要从解码器缓冲区清除与该图片相关联的编码数据的标称时间。在正确的时间清除用于图片的编码数据时,按照正常的运行模式,解码器缓冲区不会溢出(这可能会导致编码数据丢失)或下溢(这可能会导致“低频干扰(glitching)”或其他连续播放中断)。在低延迟模式中,在某些情况下允许出现下溢,但是在非低延迟模式(诸如通常用于广播)下,不允许缓冲区下溢。一种通常被称为假定参考解码器(HRD)或视频缓冲检验器(VBV)的缓冲模型使用CPBRD值和其他参数,诸如率值、缓冲区大小值和缓冲区充满度值或初始缓冲延迟值(开始播放之前),以验证可以在解码系统的缓冲资源内解码比特流,并帮助解码器确定用于操作其解码过程的时间和步骤。
[0004]在很多情景中,不同视频序列的比特流被拼接在一起。例如,这种拼接可用于在电视节目中插入一条广告或一系列广告,或者在不同的电视节目之间切换。为了调整CPBRD值以对拼接做出解释,使用信号通知CPBRD值的现有途径可能会导致在拼接期间操作繁琐而且可能很难进行。另一个问题是,虽然两个源流可能与HRD单独兼容,但是在拼接后,不能够保证由此产生的拼接流可与HRD兼容。

【发明内容】

[0005]总之,【具体实施方式】提出了简化拼接操作的编码图片缓冲区清除延迟(“CPBRD”)值的语法和/或语义中的创新。特别是,通过用于某些图片的CPBRD值的新的信号通知方式,该创新支持拼接操作,其中当用于一个视频序列的比特流或部分比特流被级联到用于另一个视频序列的另一个比特流或部分另一个比特流时,这种CPBRD值可以被简单地重复使用。
[0006]根据本文所描述的创新的一个方面,视频编码器或其他工具设置了用于视频序列的给定图片的CPBRD值。用于给定图片的CPBRD值指示相对于解码顺序中的在前图片的标称编码图片缓冲区(“CPB”)清除时间的增量值,无论该在前图片是否具有缓冲周期SEI(“BP SEI”)消息。编码器或其他工具然后用信号通知用于给定图片的CPBRD值。可以根据其中标志指示如何解释CPBRD值的单值法、根据其中另一个CPBRD值(具有不同的解释)也被使用信号通知的双值法、根据使用标志和A值的双值法、或者根据另一种途径,对CPBRD值进行信号通知。
[0007]根据本文所描述的创新的另一个方面,视频解码器或其他工具接收用于视频序列的给定图片的CPBRD值。用于给定图片的CPBRD值指示相对于解码顺序中的在前图片的标称CPB清除时间的增量值,无论该在前图片是否具有BP SEI消息。视频解码器或其他工具然后对用于给定图片的CPBRD值进行解析。可以根据其中标志指示如何解释CPBRD值的单值法、根据其中另一个CPBRD值(具有不同的解释)也被使用信号通知的双值法、根据使用标志和A值的双值法、或者根据另一种途径,对CPBRD值进行信号通知。
[0008]根据本文所描述的创新的另一个方面,拼接工具接收用于第一视频序列的第一比特流的至少一部分,并且还接收用于第二视频序列的第二比特流的至少一部分。用于第二视频序列的给定图片的CPBRD值指示相对于解码顺序中的在前图片的标称CPB清除时间的增量值,无论该在前图片是否具有BP SEI消息。拼接工具将第二视频序列的至少一部分拼接到第一视频序列的至少一部分。作为拼接的一部分,拼接工具从给定图片开始,将所有或部分第二视频序列级联到第一视频序列的至少一部分。可以根据其中标志指示如何解释CPBRD值的单值法、根据其中另一个CPBRD值(具有不同的解释)也被使用信号通知的双值法、根据使用标志和△值的双值法、或者根据另一种途径,对CPBRD值进行信号通知。
[0009]编码、解码或拼接可实施为方法的一部分、作为适于执行该方法的计算设备的一部分、或作为存储了计算机可执行指令的有形计算机可读媒体的一部分,以使计算设备执行该方法。
[0010]根据以下【具体实施方式】并参考附图,本发明的上述和其他目标、特征、和优点将变得更加清楚。
【附图说明】
[0011]图1是可以实施一些所描述的实施例的示例计算系统的图。
[0012]图2a和2b是可以实施一些所描述的实施例的示例网络环境的图。
[0013]图3是与其结合可以实施一些所描述的实施例的示例编码器系统的图。
[0014]图4是与其结合可以实施一些所描述的实施例的示例解码器系统的图。
[0015]图5是图示了与其结合可以实施一些所描述的实施例的示例视频编码器的图。
[0016]图6是图示了与其结合可以实施一些所描述的实施例的示例视频解码器的图。
[0017]图7是图示了根据现有CPBRD值调整法的拼接操作的图。
[0018]图8和9是图示了用于用信号通知CPBRD值的单值法的语法的表格。
[0019]图10是图示了拼接两个比特流后的缓冲区充满度的图表。
[0020]图11是图示了用于使用标志和Δ值来用信号通知CPBRD值的双值法的语法的表格。
[0021]图12是图示了用于在编码期间设置CPBRD值来简化视频拼接的一般性技术的流程图。
[0022]图13是图示了用于根据单值法在编码期间设置CPBRD值来简化视频拼接的示例技术的流程图。
[0023]图14是图示了用于在解码期间处理CPBRD值的一般性技术的流程图。
[0024]图15是图示了用于在解码期间根据单值法确定CPBRD值的示例技术的流程图。
[0025]图16是图示了用于拼接比特流的一般性技术的流程图。
[0026]图17是图示了用于根据使用标志和△值的双值法在编码期间设置CPBRD值来简化视频拼接的示例技术的流程图。
[0027]图18是图示了用于根据使用标志和△值的双值法在解码期间来确定CPBRD值的示例技术的流程图。
【具体实施方式】
[0028]【具体实施方式】提出了通过调整编码图片缓冲区清除延迟(CPBRD)值的语法和/或语义来增进拼接操作的支持的各种途径。在许多情况下,这些途径减少了现有途径的缺点。特别是,【具体实施方式】提出了用各种类型的HEVC标准或H.264/AVC标准的补充增强信息(SEI)消息通知的CPBRD值的语法和语义的创新。在各个示例中,对缓冲周期SEI (“BPSEI”)消息和/或图片定时SEI (“PT SEI”)消息的语法和/或预计进行调整,以便进行拼接操作。
[0029]尽管本文所描述的操作在某些地方描述为由编码器(例如,视频编码器)、解码器(例如,视频解码器)或拼接工具(例如,视频拼接工具)执行,但是在许多情况下,该操作可以替代地由另一种类型的媒体处理工具执行。
[0030]参考针对HEVC标准的语法元素和操作,对本文所描述的一些创新进行阐述。例如,参考了 HEVC标准的草案版本JCTVC-K1003——“高效视频编码(HEVC)文本规范草案9”,(JCTVC-K1003_dl3,2012年10月10日至19日上海,第11次会议)。本文所描述的创新也可针对其他标准或格式实施,例如,H.264/AVC标准。
[0031]更一般地,对本文所描述的示例的各种替代是可行的。例如,通过改变所描述的方法行为的顺序,通过拆分、重复或省略某些方法行为等,可以更改本文所描述的一些方法。所公开的技术的各个方面可以组合使用或单独使用。不同实施例使用一个或多个所描述的创新。本文所描述的一些创新解决了一个或多个【背景技术】中指出的问题。通常情况下,给定技术/工具不会解决所有这些问题。
[0032]1.示例计算系统
图1图示了可以实施几个所描述的创新的适当的计算系统(100)的一般性示例。计算系统(100)并不意味着对使用范围或功能暗示任何限制,因为创新可在多种通用或专用计算系统中实施。
[0033]参照图1,计算系统(100)包括一个或多个处理单元(110,115)和内存(120,125)。处理单元(110,115 )执行计算机可执行指令。处理单元可以是通用中央处理单元(“ CPU”),特定于应用的集成电路(“ASIC”)中的处理器或任何其他类型的处理器。在多处理系统中,多个处理单元执行计算机可执行指令来提高处理能力。例如,图1示出了中央处理单元(110)以及图形处理单元或协同处理单元(115)。有形内存(120,125)可以是(多个)处理单元可访问的易失性存储器(例如,寄存器,缓存器,RAM),非易失性存储器(例如,R0M、EEPR0M、闪存等),或者二者的一些组合。内存(120,125)以适于(多个)处理单元执行的计算机可执行指令的形式,存储实施一个或多个创新的软件(180),以使用用于简化视频拼接的CPBRD值的语法和语义进行视频的编码、解码和/或拼接。
[0034]计算系统可具有额外特征。例如,计算系统(100)包括存储器(140)、一个或多个输入设备(150)、一个或多个输出设备(160)、和一个或多个通信连接(170)。诸如总线、控制器或网络之类的互连机制(图中未示出)将计算系统(100)的组件互相连接。通常,操作系统软件(图中未示出)为在计算系统(100)中执行的其他软件提供操作环境,并协调计算系统(100)的组件的活动。
[0035]有形存储器(140)可以是可移动的或不可移动的,并包括磁盘、磁带或盒式磁带、CD-R0M、DVD、或者能够用来存储信息并能够在计算系统(100)内被访问的任何其他媒体。存储器(140)存储实施一个或多个创新的软件(180),以使用用于简化视频拼接的CPBRD值的语法和语义进行视频的编码、解码和/或拼接。
[0036](多个)输入设备(150)可以是诸如键盘、鼠标、笔、或轨迹球之类的触摸输入设备,语音输入设备,扫描设备,或向计算系统(100)提供输入的其他设备。对于视频编码,(多个)输入设备(150)可以是摄像机、视频卡、电视调谐卡、或接收模拟或数字形式的视频输入的类似设备,或者将视频输入读入计算系统(100)的⑶-ROM或⑶-RW。(多个)输出设备(160)可以是显示器、打印机、扬声器、CD刻录机、或提供来自计算系统(100)的输出的其他设备。
[0037](多个)通信连接(170)使得能够通过通信媒体实现到另一计算实体的通信。通信媒体在经调制的数据信号中传递诸如计算机可执行指令、音频或视频输入或输出、或其它数据之类的信息。经调制的数据信号是使得一个或多个其特性以在信号中对信息进行编码的方式设置或改变的信号。举例来说,而非限制,通信媒体能够使用电力载体、光学载体、射频载体或其它载体。
[0038]可以在计算机可读媒体的一般情景中对创新进行描述。计算机可读媒体是可以在计算环境内访问的任何可用的有形媒体。举例来说,而非限制,对于计算系统(100),计算机可读媒体包括内存(120,125 ),存储器(140 ),以及任何上述的组合。
[0039]可以在计算机可执行指令(诸如包括在程序模块中的指令,正在计算系统中在目标真实或虚拟处理器上执行的指令)的一般情景中对创新进行描述。一般而言,程序模块包括例程、程序、库、对象、类、组件、数据结构等,其执行特定的任务或实现特定的抽象数据类型。程序模块的功能可以根据需要在各种实施例中在程序模块之间被组合或拆分。用于程序模块的计算机可执行指令可以在本地或分布式计算系统内执行。
[0040]术语“系统”和“设备”可在本文互换使用。除非上下文清楚地指出,否则,术语均不暗示对计算系统或计算设备的类型的任何限制。一般情况下,计算系统或计算设备可以是本地的或分布式的,并且可以包括特殊用途硬件和/或通用硬件与实施本文所描述的功能的软件的任何组合。
[0041]所公开的方法也可以使用配置成执行任何所公开的方法的专用计算硬件来实现。例如,所公开的方法能够通过特别设计或配置用于实现任何所公开的方法的集成电路(例如,诸如ASIC数字信号处理器(“DSP”)之类的特定于应用的集成电路(“ASIC”)、图形处理单元(“GPU”)、或诸如现场可编程门阵列(“FPGA”)之类的可编程逻辑器件(“PLD”))来实施。
[0042]为了便于介绍,【具体实施方式】使用了像“确定”和“使用”等术语来描述计算系统中的计算机操作。这些术语是对由计算机执行的操作的高层抽象,不应与由人类执行的动作相混淆。对应于这些术语的实际的计算机操作根据实施方式的不同而不同。
[0043]I1.示例网络环境。
[0044]图2a和2b示出了示例网络环境(201,202),其包括视频编码器(220)和视频解码器(270)。编码器(220)和解码器(270)采用适当的通信协议在网络(250)上连接。网络(250)可以包括因特网或其他计算机网络。
[0045]在图2a所示的网络环境(201)中,每个实时通信(“RTC”)工具(210)包括进行双向通信的编码器(220)和解码器(270)。给定编码器(220)可以产生符合SMPTE 421M标准、IS0/IEC 14496-10标准(也称为H.264或AVC)、HEVC标准(也称为H.265)、其他标准或专有格式的输出,并且相应的解码器(270)接收来自编码器(220)的编码数据。双向通信可以是视频会议、视频电话呼叫、或其他两方或多方通信场景的一部分。虽然图2a中的网络环境(201)包括两个实时通信工具(210),网络环境(201)相反可以包括三个或更多参与多方通信的实时通信工具(210)。
[0046]实时通信工具(210)通过编码器(220)管理编码。图3示出了可以包括在实时通信工具(210)中的示例编码器系统(300)。另选地,实时通信工具(210)使用另一种编码器系统。实时通讯工具(210)还通过解码器(270)管理解码。图4示出了可以包括在实时通信工具(210)中的示例解码器系统(400)。另
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1