CN107409229A - 指示编码区域的结束的语法结构 - Google Patents

指示编码区域的结束的语法结构 Download PDF

Info

Publication number
CN107409229A
CN107409229A CN201580054170.0A CN201580054170A CN107409229A CN 107409229 A CN107409229 A CN 107409229A CN 201580054170 A CN201580054170 A CN 201580054170A CN 107409229 A CN107409229 A CN 107409229A
Authority
CN
China
Prior art keywords
picture
coding region
section
region
bit stream
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201580054170.0A
Other languages
English (en)
Other versions
CN107409229B (zh
Inventor
吴勇军
朱立华
S·萨德瓦尼
G·J·苏利文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN107409229A publication Critical patent/CN107409229A/zh
Application granted granted Critical
Publication of CN107409229B publication Critical patent/CN107409229B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

描述了指示图片的编码区域的结束的语法结构。例如,基本比特流中的语法结构指示图片的编码区域的结束。语法结构可以是网络抽象层单元的类型、补充增强信息消息的类型或另一语法结构。例如,诸如编码器的媒体处理工具可以检测图片的编码区域的结束,然后在基本比特流中以预定义的顺序输出包含编码区域的一个或多个语法结构以及指示编码区域的结束的不同语法结构。诸如解码器的另一媒体处理工具可以在基本比特流中以预定义的顺序接收包含图片的编码区域的语法结构以及指示编码区域的结束的不同语法结构。

Description

指示编码区域的结束的语法结构
背景技术
工程师使用压缩(也称为源编码或信源编码)来降低数字视频的比特率。压缩通过将信息转换成较低比特率的形式来降低存储和传送视频信息的成本。解压缩(也称为解码)从压缩形式重建原始信息的版本。“编解码器”是编码器/解码器系统。
在过去25年中,已经采用了各种视频编解码器标准,包括ITU-T H.261、H.262(MPEG-2或ISO/IEC 13818-2)、H.263和H.264(MPEG-4 AVC或ISO/IEC 14496-10)标准、MPEG-1(ISO/IEC 11172-2)和MPEG-4 Visual(ISO/IEC 14496-2)标准以及SMPTE 421M(VC-1)标准。最近,H.265/HEVC标准(ITU-T H.265或ISO/IEC 23008-2)已被批准。视频编解码器标准通常定义用于编码视频比特流的语法的选项,详细说明在编码和解码中使用特定特征时比特流中的参数。例如,最近的视频编解码器标准(例如,H.264/AVC、H.265/HEVC)定义了各种语法结构,其中语法结构是比特流中以特定顺序的零个或多个语法元素(数据元素)集合。在许多情况下,视频编解码器标准还提供关于解码器应当执行以在解码中实现符合结果的解码操作的细节。除了编解码器标准之外,各种专有编解码器格式定义了用于编码视频比特流的语法的其他选项和对应的解码操作。
在最近的视频编解码器标准(例如,H.264/AVC、H.265/HEVC)中,将图片组织为一个或多个切片,其中切片是块(例如,H.264/AVC标准中的宏块;H.265/HEVC标准中的编码树单元)的集合。用于切片的编码数据以特定语法结构(其被包含在网络抽象层(“NAL”)单元中)被组织。NAL单元是包含以下项的语法结构:(1)要遵循的数据类型的指示,以及(2)数据(例如,用于切片的编码数据)的零个或多个字节的系列。NAL单元的大小(以字节为单位)可以在NAL单元外部指示,或者可以通过以字节流格式标识NAL单元之间的边界来测量(例如,在某些情况下,当解码器搜索开始NAL单元的起始码时,解码器可以测量NAL单元的大小,并且在其他情况下,可以根据多媒体系统复用协议、分组网络协议或文件格式,由诸如在数据字段中携带的数据的“带外”信息来指示NAL单元的大小)。访问单元是包含用于图片的一个或多个切片的编码数据(以及可能的其他相关数据,诸如元数据)的一个或多个NAL单元的集合。
对于根据H.264/AVC标准或H.265/HEVC标准的解码,解码器可以被设计为在解码器已接收到针对给定图片的编码切片之后,开始用于给定图片的解码处理,在这种情况下,解码器可以开始解码编码切片。然而,在许多实现中,解码器被设计为在解码器已接收到针对给定图片的所有编码数据之后,开始对给定图片的解码处理。为了确定其已接收到用于给定图片的所有编码数据,解码器可以等待,直到其接收到用于下一图片的编码数据(在下一访问单元中),用于下一图片的编码数据包括指示用于下一图片的编码数据的开始的一个或多个语法元素。或者,为了确定其已接收到用于给定图片的所有编码数据,解码器可以完全解析用于给定图片的编码数据。任一方案都可以在解码过程中引入延迟或额外的复杂性,这是不期望的,特别是在具有非常低的时延非常关键的实时视频通信场景(例如,视频会议、从计算设备到附近显示器的无线“屏幕投射”、远程视频游戏等)中。
在另一种方案中,在媒体回放工具或特定系统环境内,媒体回放工具(或特定系统环境)内的一个组件可以创建自定义语法结构,自定义语法结构用于使用信号通知用于给定图片的编码数据的末端,然后将该语法结构提供给媒体回放工具(或特定系统环境)内的解码器。这种自定义语法结构被提供在包括编码视频数据的基本比特流之外,例如,被提供在系统复用数据之类的系统级信息中。因此,该方案不会在视频编解码器标准或格式的基本比特流内携带自定义语法结构。其缺乏一般适用性,并且其从参与中排除特定媒体回放工具(或特定系统环境)之外的编码器或其他组件。
发明内容
在发明内容中,详细描述呈现了指示编码区域的结束的语法结构的创新。例如,编解码器格式一致的基本比特流中的语法结构指示编码区域的结束。通过允许解码过程更快地启动,该创新可以减少解码期间的总体延迟。在一些情况下,该创新还可以通过减少在解码之前需要缓冲的数据量或者通过消除在传入数据到达时完全解析传入数据的需要来减少解码过程的复杂性。该创新还可以促进错误检测,并提高对编码数据分组丢失的鲁棒性。
根据本文所描述的创新的一个方面,诸如编码器、多路复用器或比特流编辑器的媒体处理工具检测用于图像或视频的区域的编码区域的结束。媒体处理工具以基本比特流输出:(1)包含编码区域的一个或多个语法结构,以及(2)在包含编码区域的一个或多个语法结构之后的、指示编码区域的结束的不同语法结构。
根据本文所描述的创新的另一方面,诸如解码器、解复用器或比特流编辑器的媒体处理工具以基本比特流接收:(1)包含用于图像或视频的区域的编码区域的一个或多个语法结构,以及(2)在包含编码区域的语法结构之后的、指示编码区域的结束的不同语法结构。媒体处理工具使用不同语法结构来检测编码区域的结束。
在一些示例实现中,基本比特流符合编解码器格式。此外,包含编码区域的一个或多个语法结构以及指示编码区域的结束的不同语法结构通常以预定顺序(例如,用于访问单元的网络抽象层单元的特定顺序),预定顺序便于使用不同语法结构检测编码区域的结束。
创新可以被实现为方法的一部分、计算系统的一部分或者有形计算机可读介质的一部分,该计算系统被配置为执行该方法,该有形计算机可读介质存储计算机可执行指令,用于使处理器在由此被编程时执行该方法。各种创新可以组合使用或单独使用。提供本发明内容来以简化形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容不旨在标识所要求保护的主题的关键特征或基本特征,也不旨在用于限制所要求保护的主题的范围。通过参考附图进行的以下详细描述,本发明的前述和其他目的、特征和优点将变得更加显而易见。
附图说明
图1是其中可以实现一些描述的实施例的示例计算系统的图。
图2a和图2b是其中可以实现一些描述的实施例的示例网络环境的图。
图3是示例编码器系统的图,结合示例编码器系统可以实现一些描述的实施例。
图4是示例解码器系统的图,结合示例解码器系统可以实现一些描述的实施例。
图5a和图5b是指示编码区域的结束的语法结构的使用的图。
图6是图示指示编码区域的结束的示例网络抽象层单元的一部分的图。
图7是图示指示编码区域的结束的示例补充增强信息消息的图。
图8和图9是图示用于分别插入和使用指示编码区域的结束的语法结构的一般化技术的流程图。
具体实施方式
详细描述呈现指示编码区域的结束的语法结构的创新。例如,基本比特流中的语法结构指示编码区域的结束,其中该区域可以是图片内的切片、区块、图片或其他区域。指示编码区域的结束的语法结构可以是特殊类型的网络抽象层(“NAL”)单元、特殊类型的补充增强信息(“SEI”)消息或另一语法结构。创新可以通过允许解码器更快速地检测编码图片边界并开始用于给定图片的解码处理来减少解码期间的时延。在某些情况下,创新还可以通过减少在解码之前需要缓冲的数据量或者通过消除在传入数据到达时完全解析传入数据的需要来简化解码过程。创新还可以促进错误检测并提高对编码数据分组丢失的鲁棒性(例如,针对切片或区块)。
本文描述的操作处于描述为由视频编码器或视频解码器执行的位置。在许多情况下,操作可以由另一类型的媒体处理工具(例如,图像编码器或图像解码器、多路复用器、解复用器、比特流编辑器)执行。编码器、解码器、多路复用器和解复用器的示例在下文提供。比特流编辑器可以是编辑基本比特流的语法结构(例如,插入、修改、或删除语法结构)的任何工具。
参考特定于H.264/AVC标准或H.265/HEVC标准的术语来说明本文描述的一些创新。例如,参考2013年4月版的H.265/HEVC标准(ITU-T H.265,“高效率视频编码”)和2010年3月版的H.264/AVC标准(ITU-T H.264,“用于通用视听服务的高级视频编码”)。本文描述的创新也可以被实现用于其他标准或格式。
更一般地,本文所述的示例的各种备选方案是可能的。例如,可以通过改变所描述的方法动作的顺序,通过分割、重复或省略某些方法动作等来改变本文描述的一些方法。所公开技术的各个方面可以组合使用或单独使用。不同的实施例使用所描述的创新中的一个或多个。本文所述的一些创新针对背景技术中提到的一个或多个问题。通常,给定的技术/工具不能解决所有这些问题。
I.示例计算系统。
图1图示了其中可以实现所描述的创新中的若干创新的合适的计算系统(100)的一般化示例。因为创新可以在各种通用或专用计算系统中实现,所以计算系统(100)不旨在对用途或功能的范围提出任何限制。
参考图1,计算系统(100)包括一个或多个处理单元(110、115)和存储器(120、125)。处理单元(110、115)执行计算机可执行指令。处理单元可以是通用中央处理单元(“CPU”)、专用集成电路(“ASIC”)中的处理器或任何其他类型的处理器。在多处理系统中,多个处理单元执行计算机可执行指令以增加处理能力。例如,图1示出了中央处理单元(110)以及图形处理单元或协同处理单元(115)。有形存储器(120、125)可以是可由一个或多个处理单元访问的易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器(例如,ROM、EEPROM、闪存等)或二者的一些组合。存储器(120、125)以适于由一个或多个处理单元执行的计算机可执行指令的形式存储实现针对指示编码区域的结束的语法结构的一个或多个创新的软件(180)。
计算系统可以具有附加特征。例如,计算系统(100)包括存储装置(140)、一个或多个输入设备(150)、一个或多个输出设备(160)和一个或多个通信连接(170)。诸如总线、控制器或网络互连的互连机构(未示出)将计算系统(100)的组件互连。通常,操作系统软件(未示出)为在计算系统(100)中执行的其他软件提供操作环境,并且协调计算系统(100)的组件的活动。
有形存储装置(140)可以是可移除的或不可移除的,并且包括诸如磁盘、磁带或磁盒带、CD-ROM、DVD或可以用于存储信息的并且在计算系统(100)内可以被访问的任何其他介质的设备。存储装置(140)存储用于软件(180)的指令,软件(180)实现针对指示编码区域的结束的语法结构的一个或多个创新。
一个或多个输入设备(150)可以是诸如键盘、鼠标、笔或轨迹球的触摸输入设备、语音输入设备、扫描设备或向计算系统(100)提供输入的另一设备。对于视频,一个或多个输入设备(150)可以是相机、视频卡、TV调谐器卡、屏幕捕获模块或接受模拟或数字形式的视频输入的类似设备或将视频输入读取到计算系统(100)中的CD-ROM或CD-RW。一个或多个输出设备(160)可以是显示器、打印机、扬声器、CD写入器或提供来自计算系统(100)的输出的另一设备。
一个或多个通信连接(170)使得能够通过通信介质进行到另一个计算实体的通信。通信介质传送信息,诸如计算机可执行指令、音频或视频输入或输出或者调制数据信号中的其他数据。调制数据信号是以在信号中编码信息的方式设置或改变其特征中的一个或多个的信号。作为示例而非限制,通信介质可以使用电载体、光学载体、RF载体或其他载体。
可以在计算机可读介质的一般背景中描述创新。计算机可读介质是可以在计算环境内访问的任何可用有形介质。作为示例而非限制,利用计算系统(100),计算机可读介质包括存储器(120、125)、存储装置(140)以及上述任意的组合。术语“计算机可读介质”不涵盖、包含或以其他方式包括载波、信号本身或暂时性传播信号。
创新可以在计算机可执行指令(例如,包括在程序模块中的那些指令、在目标真实或虚拟处理器上的计算系统中执行的指令)的一般背景中描述。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。在各种实施例中,程序模块的功能可以根据需要在程序模块之间进行组合或拆分。用于程序模块的计算机可执行指令可以在本地或分布式计算系统内执行。
术语“系统”和“设备”在本文中可互换使用。除非上下文另有明确指示,否则这两个术语都不暗示对计算系统或计算设备类型的任何限制。通常,计算系统或计算设备可以是本地的或分布式的,并且可以包括专用硬件和/或通用硬件与实现本文描述的功能的软件的任何组合。
所公开的方法也可以使用被配置为执行任何所公开的方法的专用计算硬件来实现。例如,所公开的方法可以由被专门设计或配置为实现任何所公开的方法的集成电路(例如,诸如ASIC数字信号处理器(“DSP”)的ASIC、图形处理单元(“GPU”)或诸如现场可编程门阵列(“FPGA”)的可编程逻辑器件(“PLD”))来实现。
为了呈现的目的,详细描述使用诸如“确定”和“使用”的术语来描述计算系统中的计算机操作。这些术语是用于由计算机执行的操作的高级抽象,并且不应当与由人类执行的动作混淆。对应于这些术语的实际计算机操作依赖于实现而变化。
II.示例网络环境。
图2a和图2b示出了包括视频编码器(220)和视频解码器(270)的示例网络环境(201、202)。编码器(220)和解码器(270)通过网络(250)使用适当的通信协议连接。网络(250)可以包括因特网或另一计算机网络。
在图2a所示的网络环境(201)中,每个实时通信(“RTC”)工具(210)包括用于双向通信的编码器(220)和解码器(270)。给定的编码器(220)可以产生输出,该输出符合H.265/HEVC标准、SMPTE 421M标准、ISO/IEC 14496-10标准(也称为H.264或AVC)、另一标准或专用格式,其中对应解码器(270)从编码器(220)接受编码数据。双向通信可以是视频会议、视频电话呼叫或其他双方或多方通信场景的一部分。尽管图2a中的网络环境(201)包括两个实时通信工具(210),但是网络环境(201)相反可以包括参与多方通信的三个或多个实时通信工具(210)。
实时通信工具(210)管理由编码器(220)进行的编码。图3示出了可以包括在实时通信工具(210)中的示例编码器系统(300)。备选地,实时通信工具(210)使用另一个编码器系统。实时通信工具(210)还管理由解码器(270)进行的解码。图4示出了可以包括在实时通信工具(210)中的示例解码器系统(400)。备选地,实时通信工具(210)使用另一解码器系统。
在图2b所示的网络环境(202)中,编码工具(212)包括编码器(220),编码器(220)编码视频以用于传递到包括解码器(270)的多个回放工具(214)。可以为视频监控系统、网络摄像机监视系统、远程桌面会议呈现或其中将视频编码并从一个位置发送到一个或多个其他位置的其他场景提供单向通信。尽管图2b中的网络环境(202)包括两个回放工具(214),但是网络环境(202)可以包括更多或更少的回放工具(214)。通常,回放工具(214)与编码工具(212)通信,以确定用于回放工具(214)接收的视频流。回放工具(214)接收流,将所接收的编码数据缓冲适当的时段,并开始解码和回放。
图3示出了可以包括在编码工具(212)中的示例编码器系统(300)。备选地,编码工具(212)使用另一编码器系统。编码工具(212)还可以包括服务器侧控制器逻辑,用于管理与一个或多个回放工具(214)的连接。图4示出了可以包括在回放工具(214)中的示例解码器系统(400)。备选地,回放工具(214)使用另一解码器系统。回放工具(214)还可以包括客户端侧控制器逻辑,用于管理与编码工具(212)的连接。
III.示例编码器系统
图3是示例编码器系统(300)的框图,结合示例编码器系统(300)可以实现一些所描述的实施例。编码器系统(300)可以是能够以多个编码模式(例如,用于实时通信的超低时延或低时延编码模式、转码模式以及用于从文件或流产生用于回放的媒体的更高时延的编码模式)中的任何一个操作的通用编码工具,或者它可以是适于一个这样的编码模式的专用编码工具。编码器系统(300)可以适于编码特定类型的内容(例如,屏幕捕获内容)。编码器系统(300)可以被实现为操作系统模块的一部分、应用库的一部分、独立应用的一部分,或编码器系统(300)可以使用专用硬件来实现。总的来说,编码器系统(300)从视频源(310)接收源视频图片(311)的序列,并产生编码数据作为向信道(390)的输出。输出到信道的编码数据可以包括指示编码区域的结束的语法结构。
视频源(310)可以是相机、调谐器卡、存储介质、屏幕捕获模块或其他数字视频源。视频源(310)以例如每秒30帧的帧速率产生视频图片序列。如本文所使用的,术语“图片”通常指代源图像数据、编码图像数据或重建的图像数据。对于逐行扫描视频,图片是逐行扫描视频帧。对于隔行视频,在示例实施例中,可以在编码之前将隔行的视频帧去隔行。备选地,两个互补隔行视频字段被一起编码为单个视频帧或编码为两个单独编码的字段。除了指示逐行扫描视频帧或隔行扫描视频帧之外,术语“图片”可以指示单个未配对视频字段、互补配对视频字段、表示给定时间的视频对象的视频对象平面或较大图像中的感兴趣区域。视频对象平面或区域可以是包括场景的多个对象或区域的较大图像的一部分。
到达源图片(311)被存储在包括多个图片缓冲存储区域(321、322、...、32n)的源图片临时存储器存储区域(320)中。图片缓冲器(321、322等)在源图片存储区域(320)中保持一个源图片。在一个或多个源图片(311)已经被存储在图片缓冲器(321、322等)中之后,图片选择器(330)从源图片存储区域(320)中选择个体源图片。图片选择器(330)选择图片以用于输入到编码器(340)的顺序可以不同于视频源(310)产生图片的顺序,例如,一些图片的编码可以被延迟,以允许首先编码一些较晚的图片,并且因此便于时间上向后预测。在编码器(340)之前,编码器系统(300)可以包括在编码之前执行所选择的图片(331)的预处理(例如,滤波)的预处理器(未示出)。预处理可以包括将颜色空间转换为初级分量(例如,亮度)和次级分量(例如,朝向红色和朝向蓝色的色度差异)以及用于编码的重采样处理(例如,以降低色度分量的空间分辨率)。在编码之前,可以将视频转换为诸如YUV的色彩空间,其中亮度(Y)分量的采样值表示亮度或强度值,色度(U、V)分量的采样值表示色差值。色差值(以及到YUV颜色空间的转换操作/从YUV颜色空间到诸如RGB的另一颜色空间的转换操作)的精确定义取决于实现。
编码器(340)编码所选择的图片(331),以产生编码图片(341),并且还产生存储器管理控制操作(“MMCO”)信号(342)或参考图片集合(“RPS”)信息。RPS是可用于当前图片或任何后续图片的运动补偿中的参考的图片集合。如果当前图片不是已编码的第一图片,则在编码器340执行其编码处理时,编码器340可以使用已存储在解码图片临时存储器存储区域(360)中的一个或多个先前编码/解码的图片(369)。这样的存储的解码图片(369)被用作用于当前源图片(331)的内容的图片间预测的参考图片。MMCO/RPS信息(342)向解码器指示哪些重建图片可以用作参考图片,并且因此应存储在图片存储区域中。
通常,编码器(340)包括执行编码任务(例如,分割成区块、图片内预测估计和预测、运动估计和补偿、频率变换、量化和熵编码)的多个编码模块。由编码器(340)执行的精确操作可以根据压缩格式而变化。输出编码数据的格式可以是视窗媒体视频(WindowsMedia Video)格式、VC-1格式、MPEG-x格式(例如,MPEG-1、MPEG-2或MPEG-4)、H.26x格式(例如,H.261、H.262、H.263、H.264、H.265)或另一种格式的变型或扩展。
编码器(340)可以将图片分割成相同尺寸或不同尺寸的多个区块。例如,编码器(340)沿区块行和区块列划分图片,区块行和区块列与图片边界一起限定图片内的区块的水平和垂直边界,其中每个区块是矩形区域。区块通常用于提供用于并行处理的选项。图片也可以被组织为一个或多个切片,其中切片可以是整个图片或图片的部分。切片可以独立于图片中的其他切片被解码,从而改善错误恢复能力。为了编码和解码的目的,切片或区块的内容被进一步分割成块或其他采样值的集合。
对于根据H.264/AVC标准的语法,编码器(340)可以将帧分割为相同大小或不同大小的多个切片。编码器(340)将帧(或切片)的内容划分为16×16的宏块。宏块包括被组织为四个8×8亮度块的亮度采样值和被组织为8×8色度块的对应色度采样值。通常,宏块具有诸如帧间或帧内的预测模式。为了用信号传送预测信息(例如,预测模式细节、运动矢量(“MV”)信息等)和/或预测处理的目的,宏块包括一个或多个预测单元(例如,可以被称为用于帧间预测的分区的8×8块、4×4块)。为了残差编码/解码,宏块还具有一个或多个残差数据单元。
对于根据H.265/HEVC标准的语法,编码器将图片(或切片或区块)的内容划分为编码树单元。编码树单元(“CTU”)包括被组织为亮度编码树块(“CTB”)的亮度采样值和被组织为两个色度CTB的对应色度采样值。CTU(及其CTB)的大小由编码器选择。亮度CTB可以包含例如64x64、32x32或16x16的亮度采样值。CTU包括一个或多个编码单元。编码单元(“CU”)具有亮度编码块(“CB”)和两个对应的色度CB。通常,CU具有诸如帧间或帧内的预测模式。CU包括用于用信号传送预测信息(例如,预测模式细节、位移值等)和/或预测处理的一个或多个预测单元。预测单元(“PU”)具有亮度预测块(“PB”)和两个色度PB。CU还具有用于残差编码/解码的目的的一个或多个变换单元,其中变换单元(“TU”)具有亮度变换块(“TB”)和两个色度TB。CU可以具有单个TU或多个TU。编码器决定如何将视频分割为CTU、CU、PU、TU等。
在H.265/HEVC实现中,切片可以包括单个切片片段(独立的切片片段)或者可以被划分为多个切片片段(独立的切片片段和一个或多个非独立的切片片段)。切片片段是包含在单个网络抽象层(“NAL”)单元中的、区块扫描中连续排序的整数个CTU。对于独立的切片片段,切片片段报头包括应用于独立切片片段的语法元素的值。对于非独立切片片段,截断的切片片段报头包括应用于该非独立切片片段的语法元素的若干值,并且以解码顺序,从用于前面独立切片片段的值推断用于非独立切片片段的其他语法元素的值。
如本文所使用,根据上下文,术语“块”可指示宏块、残差数据单元、CTB、CB、PB或TB或一些其他采样值的集合。根据上下文,术语“单元”可以指示宏块、CTU、CU、PU、TU或某些其他块的集合,或者其可以指示单个块。
回到图3,在根据图片(331)中的先前重建的其他采样值的预测方面,编码器表示源图片(331)的帧内编码块。对于块内复制(“IBC”)预测,图片内估计器估计从当前块到其他先前重建的采样值中的位置的位移。图片中的采样值的参考块用于生成当前块的预测值。可以使用块向量(“BV”)值(在BV估计中确定)来指示参考块。IBC预测可以被实现为参考图片是当前图片的图片间预测的特殊情况。对于针对块的帧内空间预测,图片内估计器估计相邻重建采样值到块中的外推。
图片内估计器可以输出熵编码的预测信息(例如,用于IBC预测的BV值或用于帧内空间预测的预测模式(方向))。图片内预测预测器应用预测信息以确定帧内预测值。
在从参考图片的预测方面,编码器(340)表示源图片(331)的图片间编码预测块。运动估计器估计块相对于一个或多个参考图片的运动(369)。当使用多个参考图片时,多个参考图片可以来自不同的时间方向或相同的时间方向。运动补偿预测参考区域是一个或多个参考图片中的、用于生成针对当前图片的采样值的块的运动补偿预测值的采样值的区域。运动估计器输出熵编码的、诸如运动向量(“MV”)信息的运动信息。运动补偿器将MV应用于参考图片(369)以确定用于图片间预测的运动补偿预测值。
编码器可以确定是否编码并传输块的预测值(帧内或帧间)和对应的原始值之间的差异(如果存在)。如果它们被编码/传输,则使用频率变换(如果不跳过频率变换)、量化和熵编码来进一步编码这些差异(也称为预测残差值)。例如,编码器(340)针对图片、区块、切片和/或视频的其他部分设置量化参数(“QP”)的值,并相应地量化变换系数。编码器(340)的熵编码器压缩量化的变换系数值以及某些边信息(例如,MV信息、BV信息、QP值、模式决定、参数选择)。典型的熵编码技术包括指数-哥伦布编码、哥伦布-莱斯编码、算术编码、差分编码、霍夫曼编码、游程编码、可变长度到可变长度(“V2V”)编码、可变长度到固定长度(“V2F”)编码、Lempel-Ziv(“LZ”)编码、词典编码、概率间隔分割熵编码(“PIPE”)以及上述的组合。熵编码器可以对不同类型的信息使用不同的编码技术,可以组合应用多种技术(例如,通过应用哥伦布-莱斯编码,然后应用算术编码),并且可以在特定编码技术内的多个码表中进行选择。在一些实现中,可以跳过频率变换。在这种情况下,可以对预测残差值进行量化和熵编码。
自适应去块滤波器被包括在编码器(340)中的运动补偿环路(即,“环路”滤波)内,以平滑化跨解码图片中的块边界行和/或列的不连续性。可以备选地或附加地应用其他滤波(例如,去环滤波、自适应环路滤波(“ALF”)或采样自适应偏移(“SAO”)滤波;未示出)作为环路滤波操作。
编码器(340)在基本比特流中产生编码数据。基本比特流的语法通常以编解码器标准或格式或其扩展或变型来定义。如下所述,作为编码器(340)的输出,基本比特流通常以容器格式被分组化或组织。
基本比特流中的编码数据包括被组织为语法结构的语法元素。通常,语法元素可以是数据的任何元素,并且语法结构是以特定顺序在基本比特流中的零个或多个语法元素。在H.264/AVC标准和H.265/HEVC标准中,NAL单元是语法结构,其包含(1)要遵循的数据类型的指示,以及(2)一系列零个或多个字节的数据。例如,NAL单元可以包含用于切片(编码切片)的编码数据。NAL单元的大小(以字节为单位)在NAL单元外部指示。编码切片NAL单元和某些其他定义类型的NAL单元称为视频编码层(“VCL”)NAL单元。访问单元是以连续解码顺序的一个或多个NAL单元的集合,一个或多个NAL单元的集合包含用于图片的一个或多个切片的编码数据,并且可以包含诸如元数据的其他相关联的数据。根据本文描述的创新,基本比特流可以包括指示编码区域(例如,编码切片、编码图片)的结束的语法结构。在一些实现中,指示编码区域的结束的语法结构是特定类型的NAL单元。
对于根据H.264/AVC标准或H.265/HEVC标准的语法,图片参数集合(“PPS”)是包含可与图片相关联的语法元素的语法结构。PPS可以用于单个图片,或者PPS可以按序列重复用于多个图片。通常与用于图片的编码数据分开地使用信号传送PPS(例如,一个NAL单元针对PPS,并且一个或多个其他NAL单元针对用于图片的编码数据)。在用于图片的编码数据中,语法元素指示哪个PPS被用于图片。类似地,对于根据H.264/AVC标准或H.265/HEVC标准的语法,序列参数集合(“SPS”)是包含可与图片序列相关联的语法元素的语法结构。比特流可以包括单个SPS或多个SPS。通常与用于序列的其他数据分开地使用信号传送SPS,并且其他数据中的语法元素指示要使用哪个SPS。
参考图3,通过解码处理仿真器(350)处理编码的图片(341)和MMCO/RPS信息(342)(或与MMCO/RPS信息(342)等价的信息,因为图片的依赖性和排序结构在编码器(340)处已知)。解码处理仿真器(350)实现解码器的一些功能(例如,解码任务)以重建参考图片。以与MMCO/RPS信息(342)一致的方式,解码处理仿真器(350)确定是否需要重建和存储给定的编码图片(341)以用作后续被编码图片的图片间预测中的参考图片。如果需要存储编码图片(341),则解码处理仿真器(350)对由解码器进行的解码处理进行建模,解码器接收编码的图片(341)并产生对应的解码图片(351)。这样,当编码器(340)使用已经存储在解码图片存储区域(360)中的一个或多个解码图片(369)时,解码处理仿真器(350)也使用来自存储区域(360)的一个或多个解码图片(369)作为解码处理的一部分。
解码图片临时存储器存储区域(360)包括多个图片缓冲存储区域(361、362、...、36n)。以与MMCO/RPS信息(342)一致的方式,解码处理仿真器(350)管理存储区域(360)的内容,以便标识具有编码器(340)不再需要用作参考图片的图片的任何图片缓冲器(361、362等)。在对解码处理建模之后,解码处理仿真器(350)将新解码的图片(351)存储在已经以这种方式标识的图片缓冲器(361、362等)中。
编码的图片(341)和MMCO/RPS信息(342)被缓存在临时编码数据区域(370)中。在编码数据区域(370)中聚合的编码数据作为基本比特流的语法的一部分,包含用于一个或多个图片的编码数据。在编码数据区域(370)中聚合的编码数据还可以包括与编码视频数据相关的媒体元数据(例如,作为一个或多个补充增强信息(“SEI”)消息或视频可用性信息(“VUI”)消息中的一个或多个参数)。编码数据区域(370)是缓冲器的示例,其被配置为作为基本比特流的一部分存储包含用于区域的编码区域的一个或多个语法结构,并且在那些(一个或多个)语法结构之后,存储指示编码区域的结束的不同语法结构。
SEI消息是解码器可以针对各种目的使用的元数据。在格式方面,SEI消息是语法结构,其包含(1)要遵循的有效载荷数据的有效载荷类型的指示,(2)要遵循的有效载荷数据的大小(以字节为单位)的指示,以及3)一系列零个或多个字节的有效载荷数据。有效载荷数据的语法取决于有效载荷类型。在一些实现中,指示编码区域的结束的语法结构是特殊类型的SEI消息。在H.265/HEVC标准中,SEI消息可以是前缀SEI消息或后缀SEI消息。前缀SEI消息是在图片的至少一些编码部分之前的SEI消息。后缀SEI消息是图片的至少一些编码部分后面的SEI消息。
来自临时编码数据区域(370)的聚合数据(371)由信道编码器(380)处理。信道编码器(380)可以将聚合数据分组化和/或复用,以用于作为媒体流(例如,根据诸如ITU-TH.222.0|ISO/IEC 13818-1的媒体节目流或传输流格式,或诸如IETF RFC 3550的因特网实时传输协议格式)传输或存储,在这种情况下,信道编码器(380)可以添加语法元素作为媒体传输流的语法的一部分。或者,信道编码器(380)可以组织聚合数据用于作为文件(例如,根据诸如ISO/IEC 14496-12的媒体容器格式)存储,在这种情况下,信道编码器(380)可以添加语法元素作为媒体存储文件的语法的一部分。或者,更一般地,信道编码器(380)可以实现一个或多个媒体系统复用协议或传输协议,在这种情况下,信道编码器(380)可以添加语法元素作为一个或多个协议的语法的一部分。信道编码器(380)向信道(390)提供输出,信道(390)表示存储、通信连接或用于输出的另一通道。信道编码器(380)或信道(390)还可以包括其他元素(未示出),例如用于前向纠错(“FEC”)编码和模拟信号调制。
IV.示例解码器系统。
图4是示例解码器系统(400)的框图,结合示例解码器系统(400)可以实现一些所描述的实施例。解码器系统(400)可以是能够以多个解码模式(例如,用于实时通信的超低时延或低时延解码模式,以及用于从文件或流进行媒体回放的更高时延解码模式)中的任何一个操作的通用解码工具,或者其可以是适于一个这样的解码模式的专用解码工具。解码器系统(400)可以被实现为操作系统模块的一部分、应用库的一部分、独立应用的一部分,或者使用专用硬件的应用来实现。总体来说,解码器系统(400)从信道(410)接收编码数据,并产生重建图片作为针对输出目的地(490)的输出。所接收的编码数据可以包括指示编码区域的结束的语法结构。
解码器系统(400)包括信道(410),信道(410)可以表示存储、通信连接或用于作为输入的编码数据的另一信道。信道(410)产生已被信道编码的编码数据。信道解码器(420)可以处理编码数据。例如,信道解码器(420)将已聚合用于作为媒体流(例如,根据诸如ITU-T H.222.0|ISO/IEC 13818-1的媒体节目流或传输流格式,或诸如IETF RFC 3550的互联网实时传输协议格式)传输或存储的数据去分组化和/或解复用。在这种情况下,信道解码器(420)可以解析作为媒体传输流的语法的一部分添加的语法元素。或者,信道解码器(420)分离已聚合用于作为文件(例如,根据诸如ISO/IEC 14496-12的媒体容器格式)存储的编码视频数据,在这种情况下,信道解码器(420)可以解析作为媒体存储文件的语法的一部分添加的语法元素。或者,更一般地,信道解码器(420)可以实现一个或多个媒体系统解复用协议或传输协议,在这种情况下,信道解码器(420)可以解析作为一个或多个协议的语法的一部分添加的语法元素。信道(410)或信道解码器(420)还可以包括其他元素(未示出),例如用于FEC解码和模拟信号解调。
从信道解码器(420)输出的编码数据(421)被存储在临时编码数据区域(430)中,直到已接收到足够数量的这样的数据。编码数据(421)包括编码图片(431)和MMCO/RPS信息(432)。编码数据区域(430)中的编码数据(421)作为基本比特流语法的一部分,包含用于一个或多个图片的编码数据。编码数据区域(430)中的编码数据(421)还可以包括与编码视频数据相关的媒体元数据(例如,作为一个或多个SEI消息或VUI消息中的一个或多个参数)。在一些实现中,指示编码区域的结束的语法结构是特定类型的SEI消息。在其他实现中,指示编码区域的结束的语法结构是特定类型的NAL单元。
通常,编码数据区域(430)临时存储编码数据(421),直到解码器(450)使用这样的编码数据(421)。编码数据区域(430)是缓冲器的示例,该缓冲器被配置为作为基本比特流的一部分,存储包含用于区域的编码区域的一个或多个语法结构,以及在那些一个或多个语法结构之后的、指示编码区域的结束的不同语法结构。如下所述,解码器(450)可以使用指示编码区域(例如,编码图片、编码切片)的结束的语法结构,以确定编码数据区域(430)何时具有用于编码区域的所有编码数据,使得解码器(450)可以开始对编码区域解码。当已接收到足够数量的用于编码图片(431)的编码数据时,用于编码图片(431)和MMCO/RPS信息(432)的编码数据从编码数据区域(430)传送到解码器(450)。随着解码的继续,新的编码数据被添加到编码数据区域(430),并且在编码数据区域(430)中剩余的最旧的编码数据被传送到解码器(450)。
解码器(450)对编码图片(431)进行解码以产生对应的解码图片(451)。图片可以被分割成相同大小或不同大小的多个区块。图片也可以组织成一个或多个切片。切片或区块的内容可以进一步被分割成块或其他采样值的集合。
在适当情况下,当执行其解码处理时,解码器(450)可以使用一个或多个先前解码的图片(469)作为用于图片间预测的参考图片。解码器(450)从解码图片临时存储器存储区域(460)读取这样的先前解码图片(469)。通常,解码器(450)包括执行解码任务的多个解码模块,例如,熵解码、图片内预测、运动补偿图片间预测、逆量化、逆频率变换(如果不跳过)以及区块的合并。由解码器(450)执行的精确操作可以根据压缩格式而变化。
例如,解码器(450)接收用于压缩图片或图片序列的编码数据,并产生包括解码图片(451)的输出。在解码器(450)中,缓冲器接收用于编码图片的编码数据,并且在适当时间使得接收的编码数据可用于熵解码器。熵解码器将熵编码的量化数据以及熵编码的边信息熵解码(通常应用编码器中执行的熵编码的逆)。
运动补偿器将运动信息应用于一个或多个参考图片,以形成用于正被重建的图片的任何帧间编码块的运动补偿预测值。图片内预测模块可以从相邻的、先前重建的采样值在空间上预测当前块的采样值。或者,对于IBC预测,图片内预测模块可以使用以位移值表示的、图片中的参考块的先前重建的采样值来预测当前块的采样值。
解码器(450)还重建预测残差值。逆量化器对熵解码数据进行逆量化。例如,解码器(450)基于比特流中的语法元素,为图片、区块、切片和/或视频的其他部分设置QP的值,并且相应地对变换系数进行逆量化。逆频率变换器将量化的频域数据转换成空间域数据。在一些实现中,可以跳过频率变换,在这种情况下也跳过逆频率变换。如果是这样,则可以对预测残差值进行熵解码和逆量化。对于图片间预测块,解码器(450)将重建的预测残差值与运动补偿预测值相组合。解码器(450)可以类似地将预测残差值与来自图片内预测的预测值组合。
自适应去块滤波器被包括在视频解码器(450)中的运动补偿环路内,以平滑化跨解码图片(451)中的块边界行和/或列的不连续性。其他滤波(例如,去环滤波、ALF或SAO滤波;未示出)可以备选地或附加地被应用为环路滤波操作。
解码图片临时存储器存储区域(460)包括多个图片缓冲存储区域(461、462、...、46n)。解码图片存储区域(460)是解码图片缓冲器的示例。解码器(450)使用MMCO/RPS信息(432)来标识其中可以存储解码图片(451)的图片缓冲器(461、462等)。解码器(450)将解码图片(451)存储在该图片缓冲器中。
输出定序器(480)标识以输出顺序产生的下一图片何时在解码图片存储区域(460)中可用。当以输出顺序产生的下一图片(481)在解码图片存储区域(460)中可用时,其由输出定序器(480)读取并输出到输出目的地(490)(例如,显示器)。通常,通过输出定序器(480)从解码图片存储区域(460)输出图片的顺序可以不同于由解码器(450)对图片进行解码的顺序。
Ⅴ.指示编码区域的结束的语法结构。
本节描述指示编码区域的结束的语法结构中的创新。例如,基本比特流中的语法结构指示编码区域的结束,编码区域是区域的编码表示。区域可以是图片内的切片、区块、画面或其他任意区域。指示编码区域的结束的语法结构可以是特定类型的NAL单元、特定类型的补充增强信息(“SEI”)消息或另一语法结构。创新可以通过允许解码器更快速地检测编码图片边界来减少解码期间的时延,并开始用于给定图片的解码处理。这对于超低时延场景(时延时间被限制为5-30毫秒)尤其有用,但对于低时延场景(可容忍更长的延迟)也可以是有益的。此外,当可以并行地执行区域的解码时,创新可以通过允许解码器更快地检测编码区域边界来减少解码期间的时延,并开始用于给定区域的解码处理。创新可以通过减少在解码之前需要缓冲的数据量,或者通过消除在传入数据到达时完全解析传入数据的需要来简化解码过程。此外,创新可以促进错误检测并改善对编码数据的分组丢失的鲁棒性(例如,对于切片或区块)。
A.介绍。
对于根据H.264/AVC标准或H.265/HEVC标准的解码,解码器可以被设计为在解码器已接收到针对给定图片的编码切片之后,开始针对给定图片的解码过程,在这种情况下,解码器可以开始对编码切片进行解码。然而,在许多实现中,解码器被设计为在解码器已接收到针对给定图片的所有编码数据之后,开始对给定图片的解码处理。H.264/AVC标准和H.265/HEVC标准定义了用于在已接收到针对给定图片的所有编码数据时识别条件的规则。参见例如H.264/AVC标准的7.4.1.2.3节(“NAL单元和编码图片的顺序以及与访问单元的关联”)和7.4.1.2.4节(“主编码图片的第一VCL NAL单元的检测”);参见例如H.265/HEVC标准的7.4.2.4.4节(“NAL单元和编码图片的顺序以及其与访问单元的关联”)和7.4.2.4.5节(“VCL NAL单元的顺序以及与编码图片的关联”)。使用H.264/AVC标准或H.265/HEVC标准中定义的规则检测针对给定图片的编码数据的结束可以在解码期间引入显著的延迟和/或复杂性。特别地,在具有非常低的时延至关重要的实时视频通信场景(例如,视频会议、从计算设备到附近的显示器的无线“屏幕投射”、远程视频游戏等)中,引入延迟是有问题的。这样的场景可能需要5-30毫秒范围中的超低时延。
在一种一般方案中,当解码器被设计为在解码器已接收到针对给定图片的所有编码数据之后,开始对给定图片的解码处理,以确定其已接收到完整的编码图片(即,以确定其已接收到给定访问单元中的针对给定图片的所有编码数据),解码器等待直到在下一访问单元中接收针对下一图片的某些数据(以解码顺序),或者接收序列或比特流的末端的指示。针对下一图片的数据包括一个或多个语法元素,一个或多个语法元素指示针对下一图片的编码数据的开始,并且暗示针对给定图片的编码数据的结束。该方案在解码期间通常合计达一个图片延迟,因为给定图片的解码的开始直接取决于针对下一图片的数据中的值的标识。按绝对值计算,特别是对于超低时延解码场景或低时延解码场景,延迟量可能很显著。对于这样的解码场景,在不同VCL NAL单元的传输之间或在针对一个图片的最后VCLNAL单元的传输与针对下一图片的第一VCL NAL单元的传输之间可能存在显著的“寂静时间(dead air)”间隙(或填充数据),增加了被设计为等待接收完整编码图片的解码器的时延。
例如,解码器可以针对下一访问单元中的下一图片(按解码顺序在给定图片之后)标识编码切片NAL单元中的语法元素的值,其指示针对下一图片的编码数据已开始。语法元素可以是下一图片的切片的切片报头中的标记。在H.265/HEVC标准中,切片片段报头中的first_slice_segment_in_pic_flag的值指示切片片段是否是图片中的第一切片片段。如果first_slice_segment_in_pic_flag的值为1,则切片片段是图片中的第一切片片段。否则,切片片段不是图片中的第一切片片段。或者,对于根据H.264/AVC标准的解码,语法元素是帧数、PPS标识符或者如果切片是图片中的第一切片时其值可以改变的另一语法元素。针对下一图片的编码数据的开始意味着针对给定图片的编码数据的结束。在这些示例中,由于使用针对下一图片的编码切片NAL单元中的语法元素来检测给定编码图片的结束,所以高达一个图片的延迟被添加到解码。
作为另一示例,解码器可以标识基本比特流中指示针对下一图片的编码数据的开始的访问单元定界符(“AUD”)NAL单元。当其在针对下一图片(按解码顺序在给定图片之后)的编码数据之前接收AUD NAL单元时,解码器可以推断针对给定图片的编码数据是完整的。在H.264/AVC标准和H.265/HEVC标准中,AUD NAL单元是可选的。然而,当AUD NAL单元存在于基本比特流中时,AUD NAL单元被认为是访问单元的第一NAL单元。虽然在理论上,可以在完成给定的编码图片之后,并且在甚至接收下一图片之前,立即输出针对下一图片的AUDNAL单元,但是实际上这不是用于实时通信或需要超低时延或低时延的其他场景的有效策略。简言之,关于向访问单元分配时间戳的规则可以防止AUD NAL单元的早期信号传送。(例如,假设时间戳与在一分组中开始的第一访问单元相关联,并且当访问单元中的第一字节数据存在于一分组中时,访问单元在该分组中开始。时间戳(如果存在)必须与AUD NAL单元(如果存在)处于相同的分组中,但是在给定编码图片完成时,针对下一图片的时间戳甚至可能不是已知的。时间戳通常被提供有可能还未被接收用于下一图片的输入图片。此外,期望时间戳与和时间戳相关联的编码切片数据处于相同的分组中,该时间戳通常在完成给定编码图片时尚未准备好。这些因素需要延迟发送用于下一图片的AUD NAL单元。)因此,等待接收针对下一图片的AUD NAL单元通常将一个图片的延迟添加到给定图片的解码,并且还可能需要针对给定的当前图片的编码切片数据的附加缓冲空间。由于其他原因,也可能不期望仅为了启用AUD NAL单元的早期信号传送而改变访问单元边界的位置。
在另一种方案中,当解码器被设计为在解码器已接收到针对给定图片的所有编码数据之后,开始针对给定图片的解码处理,以确定其已接收到针对给定图片的所有编码数据,解码器可以完全解析针对给定图片的编码数据,并且确定针对给定图片的编码数据是完整的。例如,解码器完全解析其已接收到的编码切片NAL单元,并且确定切片完成给定图片。虽然该方法可能在解码期间避免了一些延迟,但是它可能需要解码器进行额外的处理和决策,以评估是否已接收了针对给定图片的所有编码数据。
确定针对给定编码图片的编码数据是否完整的另一方案是使用容器格式或边元数据信道中的语法元素,而不依赖于下一访问单元的数据。例如,根据针对H.264视频(IETFRFC 6184)的RTP有效载荷格式,可以将标记比特设置为指示由时间戳指示的访问单元的最后一个分组。解码器可以使用标记比特作为访问单元的最后一个分组的早期指示。然而,标记比特不是基本比特流的语法的一部分,因此其一般不可用。此外,标记比特的使用可能是不可靠的。
在另一个方案中,在媒体回放工具内,媒体回放工具内的解复用器可以创建冗余的AUD NAL单元。一个AUD NAL单元被用于以信号传送针对给定图片的编码数据的末端,另一个AUD NAL单元被用于以信号传送针对下一图片的编码数据的开始。解复用器将AUD NAL单元提供给媒体回放工具内的核心解码器。核心解码器可以使用第一冗余AUD NAL单元来检测编码图片的结束,然后使用第二AUD NAL单元来检测针对下一图片的编码数据的开始。该方法不符合H.264/AVC标准或H.265/HEVC标准,这些标准在单个编码图片之前不允许多个AUD NAL单元。因此,该方法缺乏一般适用性,并且与许多解码器实现不一致。可能不清楚多个AUD NAL单元中的哪一个已经编码与其相关联的数据。此外,根据该方案,特定媒体回放工具之外的编码器或其他组件不能插入冗余的AUD NAL单元来指示编码图片的结束,因为这将导致所得到的基本比特流不符合标准。
B.指示编码区域的结束的语法结构的示例。
本节描述指示编码区域的结束的语法结构的示例。例如,可以使用语法结构来指示基本比特流中编码图片的末端,从而允许解码器检测编码图片的结束,而不依赖于下一访问单元的数据。这可以简化和加速检测完整编码图片的过程,从而在许多场景中减少解码延迟。特别地,可以在实时通信和需要超低时延或低时延的其他场景中降低延迟。使用指示编码区域的结束的语法结构还可以减少在解码之前缓冲的数据量,并在传入数据到达时不完全解析传入数据的情况下,允许对编码图片的结束的检测。
或者,作为另一示例,可以使用语法结构来指示针对基本比特流中存在的下一切片报头(如果存在)的切片的第一单元(例如,块、宏块、CTB、CTU)的地址。这允许解码器检测编码切片或编码图片的结束(在某些情况下),而不依赖于下一访问单元的数据。除了简化和加速检测完整编码图片的过程,从而减少解码时延之外,语法结构的使用可以提高使用区域分割的解码架构中的性能。在这样的解码架构中,解码器可以快速地确定一个图片有多少在先前的VCL NAL单元中已经被发送,而不用等待下一切片报头。更一般地,虽然访问单元边界具有全图片粒度,但是指示编码切片(或其他部分图片区域)的结束的语法结构为基本比特流中插入更细粒度的边界提供了有用的机制。
通过在基本比特流中标记编码区域边界,指示编码区域的结束的语法结构可以促进错误检测并提高对编码数据的分组丢失的鲁棒性。例如,如果解码器接收到指示编码图片的结束的语法结构,但没有接收到针对该图片的所有编码数据,则解码器可以检测针对部分图片(针对切片、区块等)的编码数据的丢失。此外,如果编码数据被破坏,则解码器可以能够使用指示编码区域的结束的语法结构来标识其可以可靠地重新开始解析来自比特流的编码数据所处的点。
即使当其包括指示编码区域的结束的语法结构时,在一些示例实现中,基本比特流符合编解码器格式(例如,编解码器标准、专有格式)。即使解码器不识别指示编码区域的结束的语法结构,基本比特流也可以由符合标准的解码器解码。因此,在这些示例实现中,包括指示编码区域的结束的语法结构的基本比特流与识别语法结构的解码器兼容,并且与不识别语法结构的解码器兼容。此外,编码器或其他媒体处理工具可以插入指示编码区域的结束的语法结构。
根据实现,语法结构可以是特定类型的NAL单元、特定类型的SEI消息或其他语法结构。指示编码区域的结束的语法结构可以是包含编码区域的相同访问单元的一部分,这可以简化处理。指示编码区域的结束的语法结构可用于H.264/AVC标准、H.265/HEVC标准或另一编解码器标准或格式的变型或扩展中。在给定的标准或格式中,指示编码区域的结束的语法结构通常不同于指示针对图片的编码数据的开始的语法结构(例如,AUD NAL单元)。此外,与在图片之间使用多个AUD NAL单元的方案不同,使用指示编码区域的结束的语法结构避免了关于哪些NAL单元与给定访问单元相关联的模糊性。
图5a和图5b示出了指示编码区域的结束的语法结构的使用的示例(501、502)。在图5a和图5b中,图片(510)包括三个切片-切片A(511)、切片B(512)和切片C(513)。该图片不包括区块。备选地,图片(510)可以具有切片和/或区块的一些其他配置。
编码器对图片(510)的切片(511、512、513)进行编码,产生针对切片的编码数据。具体地说,编码器产生包含编码切片A的一个或多个语法结构(521)、包含编码切片B的一个或多个语法结构(522)以及包含编码切片C的一个或多个语法结构(523)。语法结构例如是根据H.264/AVC标准或H.265/HEVC标准的编码切片NAL单元。备选地,用于编码切片数据的语法结构是另一类型的语法结构。
在图5a中,语法结构(530)指示编码区域的结束。具体地,语法结构(530)在包含编码切片C的一个或多个语法结构(523)之后。例如,语法结构(530)可以是指示针对图片(510)的编码数据的末端(即,编码图片的结束)的特定类型的NAL单元。或者,语法结构(530)可以是指示针对切片C(513)的编码数据的末端(即,编码切片C的结束)的、也是针对图片(510)的编码数据的末端的特定类型的SEI消息。
在图5b中,三个语法结构(531、532、533)指示编码区域的结束。具体地,语法结构(531)在包含编码切片A的一个或多个语法结构(521)之后,语法结构(532)在包含编码切片B的一个或多个语法结构(522)之后,并且语法结构(533)在包含编码切片C的一个或多个语法结构(523)之后。例如,语法结构(531、532、533)中的每一个可以是特定类型的SEI消息,其指示在其之前的编码切片(521、522、523)的结束。
在图5a中,语法结构(530)可以指示作为编码图片的编码区域的结束。在图5b中,语法结构(531、532、533)指示作为编码切片的编码区域的结束,并且第三语法结构(533)也指示编码图片的结束。更一般地,指示编码区域的结束的语法结构可以指示针对给定图片中任意区域的编码数据的末端。任意区域可以对应于图片内的切片、图片或一些数量的块或其他单位。例如,语法结构包括使用比特流中的编码数据指定下一单元(例如,块、宏块、CTB、CTU)(以定义的扫描顺序)的地址的语法元素。通过暗示,已经接收针对给定图片中的下一单元(以定义的扫描顺序)之前的所有单元的编码数据。如果下一单元的地址为零,则指示针对给定图片的编码数据的末端(即,在比特流中具有编码数据的下一单元(如果存在)是下一图片的零单元)。定义的扫描顺序可以是跨越给定图片的光栅扫描模式、区块优先的光栅扫描模式(例如,单元在区块内从左到右,在该区块内从顶部到底部重复直到完成区块,然后向右继续下一区块(如果存在)或给定图片中的下一行区块(如果存在),同时从给定图片的顶部到底部对区块的行进行扫描)或在编码器和解码器处定义的一些其他扫描顺序。指示编码的任意区域的结束的语法结构的插入还可以在编码区域的解码开始时,指示熵解码处理(例如,用于上下文自适应二进制算术编码/解码)的正确性。即,如果编码区域的解码不能在解码器接收到语法结构时立即开始(例如,由于可能不满足的熵解码依赖性),则不应当插入指示编码区域的结束的语法结构。
图6示出了指示编码区域的结束的示例图片末端NAL单元的部分(600)的语法。具体地,图6示出了针对图片末端NAL单元的原始字节序列有效载荷(“RBSP”)。总体而言,可以根据在H.265/HEVC标准(通常针对H.265NAL单元)的7.3.1.1节和7.3.1.2节中所定义的、根据H.264/AVC标准(通常针对H.264NAL单元)的7.3.1节中所定义的来组织图片末端的NAL单元,或以其他方式组织图片末端的NAL单元。
图片末端的NAL单元(例如,nal_unit_type)中的语法元素将NAL单元指定为区域末端指示符。例如,对于H.264/AVC实现,nal_unit_type具有值22,其当前是H.264/AVC标准中的保留值。作为另一示例,对于H.265/HEVC实现,nal_unit_type具有值45,其当前是H.265/HEVC标准中的保留值。备选地,nal_unit_type具有另一值,或者使用NAL单元类型扩展机制。通常,可以扩展H.264/AVC标准或H.265/HEVC标准,以将nal_unit_type的先前保留值分配给新类型的NAL单元,使得所得到的基本比特流符合H.264/AVC标准或H.265/HEVC标准。如果解码器不识别新类型的NAL单元,则解码器可以简单地忽略新类型的NAL单元。
在图6中,图片末端的NAL单元的RBSP部分(600)不包括语法元素。备选地,RBSP部分(600)可以包括指定例如要解码的下一单元的地址的一个或多个语法元素,在这种情况下,图片末端的NAL单元可以更一般地用作区域末端指示符。
在一些示例实现中,存在对基本比特流中图片末端的NAL单元的放置的约束。例如,对于H.264/AVC实现,当存在图片末端的NAL单元时,图片末端的NAL单元必须是在主编码图片、所有冗余编码图片(如果存在)、在不分割NAL单元(如果存在)的情况下的辅助编码图片的所有编码切片以及所有填充数据NAL单元(如果存在)之后的第一NAL单元。或者,对于H.265/HEVC实现,当存在图片末端的NAL单元时,图片末端的NAL单元必须在访问单元的最后一个VCL NAL单元,以及在nal_unit_type等于FD_NUT(填充数据NAL单元类型)或SUFFIX_SEI_NUT或者在RSV_NVCL46...RSV_NVCL47或UNSPEC56...UNSPEC63的范围内的NAL单元(如果存在)之后。备选地,关于图片末端的NAL单元在基本比特流中的放置,也应用其他约束和/或附加约束。
图7示出了指示编码区域的结束的示例区域末端SEI消息的部分(700)的语法。具体地,图7示出了针对区域末端SEI消息的有效载荷。区域末端SEI消息可以按照H.265/HEVC标准(对于H.265NAL单元)的第7.3.2.3.1节所定义的来组织,或以其他方式组织。
区域末端SEI消息中的一个或多个语法元素将SEI消息指定为区域末端指示符。例如,对于H.265/HEVC实现,SEI消息具有分配给区域末端SEI消息的有效载荷类型值。通常,可以扩展H.265/HEVC标准,以将先前未分配的有效负载类型的值分配给新类型的SEI消息,使得所得到的基本比特流符合H.265/HEVC标准。如果解码器不识别新类型的SEI消息,则解码器可以简单地忽略新类型的SEI消息。
在图7中,区域末端SEI消息的有效负载部分(700)包括单个语法元素。语法元素next_segment_address指示在基本比特流中的下一切片报头(当存在时)中的语法元素slice_segment_address的值。在H.265/HEVC标准中,slice_segment_address语法元素以针对图片的CTB光栅扫描顺序指定切片片段中的第一CTB的地址。然而,对于图片的第一切片片段(即,当first_slice_in_pic_flag等于1时)或者如果在比特流中不存在下一切片报头,则下一切片报头中的slice_segment_address语法元素不存在于基本比特流中。在图5b的示例中,例如,如果语法结构(531)是区域末端的SEI消息(其有效载荷如图7中那样组织),则SEI消息中的语法元素next_segment_address具有等于针对切片B的切片报头中的slice_segment_address的值。
当下一切片是下一图片的第一切片时(例如,在H.265/HEVC实现中,当下一切片报头具有等于1的first_slice_in_pic_flag时)或者在比特流中不存在下一切片报头时,next_segment_address的值等于0。在图5b的示例中,例如,如果语法结构(533)是区域末端的SEI消息(其有效载荷如图7中那样组织),则SEI消息中的语法元素next_segment_address的值为零。
或者,如果编解码器标准或格式使用切片而不使用切片片段,则SEI消息可以包括指示具有比特流中的编码数据的下一切片的切片地址的语法元素。切片地址可以是例如开始下一切片的块、宏块、CTB、CTU或其他单元的地址,或者切片地址可以是下一切片或其起始点的某个其他标识符。如果下一切片的切片地址为零,则指示针对给定图像的编码数据的末端(即,具有比特流中的编码数据的下一单元(如果存在)是下一图片的单元零)。
或者更一般地,SEI消息可以包括语法元素,其指示具有比特流中编码数据的区域(例如,切片、区块、画面)的下一单元(例如,块、宏块、CTB、CTU)的地址。如果下一单元的地址为零,则指示针对给定图像的编码数据的末端(即,比特流中的编码数据的下一单元(如果存在)是下一图像的单元零)。备选地,有效载荷部分(700)可以不包括语法元素(例如,如果SEI消息指示编码图片的结束),或者有效载荷部分(700)可以包括其他语法元素和/或附加语法元素。
在图7中,语法元素next_segment_address使用无符号指数-哥伦布编码(示为ue(v))表示。该方案减少了用于表示零值的比特数,零值被预期为语法元素next_segment_address的最常见值(指示下一个切片(如果存在)开始新的编码图片)。例如,单个比特值为1表示next_segment_address的值为零。相反,根据H.265/HEVC标准,使用无符号整数的固定长度表示来表示语法元素slice_segment_address,其中其他语法元素(对于图片的宽度和高度)指示固定长度表示的长度。区域末端SEI消息中的语法元素next_segment_address也可以使用无符号整数的固定长度表示来表示,但是这可能会创建对指示无符号整数的固定长度表示中比特数的另一语法元素的依赖。备选地,语法元素next_segment_address以其他方式表示。
对基本比特流中区域末端SEI消息的放置可能存在约束。在一些示例实现中,例如,指示编码区域的结束的SEI消息是后缀SEI消息。如果区域末端SEI消息是后缀SEI消息,则它可以被放置在与其指示的完成的编码区域相同的访问单元中。可以在给定的访问单元中定位多个区域末端后缀SEI消息。备选地,区域末端SEI消息可以是前缀SEI消息。如果区域末端SEI消息是前缀SEI消息,则可以在其指示的完成的编码区域之后将其放置在下一访问单元中。备选地,关于在基本比特流中的区域末端SEI消息的放置来应用其他约束和/或附加约束。
如果依赖切片片段被启用,则如果下一切片片段是依赖性切片片段,则可以禁止区域末端SEI消息的存在。备选地,当下一切片片段是依赖性切片片段时,区域末端SEI消息可以指示依赖性切片片段的第一CTU的位置(例如,其中区域末端SEI消息的next_segment_address语法元素指示针对下一依赖性切片片段的切片报头中的slice_segment_address语法元素的值)。
H.264/AVC标准当前不支持后缀SEI消息。根据H.264/AVC标准,SEI消息在访问单元开始处在编码图像之前。为了使用如图7所示的区域末端SEI消息,H.264/AVC标准可以扩展到支持后缀SEI消息。至少对于H.264/AVC标准的某些配置文件,两个编码工具(任意切片顺序和灵活的宏块顺序)增加了其他复杂性。使用这两个编码工具,切片单元不需要使用可以使编码区域的结束的信令复杂化的简单的定义的扫描顺序。
C.指示编码区域的结束的语法结构的示例使用。
图8示出了用于插入指示编码区域的结束的语法结构的一般化技术(800)。诸如视频编码器(例如,图3所示的编码器(340)或其他编码器)、多路复用器(例如,图3所示的信道编码器(380)或其他多路复用器)或比特流编辑器的媒体处理工具可以执行技术(800)。图9示出了用于使用指示编码区域的结束的语法结构的一般化技术(900)。诸如视频解码器(例如,图4所示的解码器(450)或其他解码器)、解复用器(例如,图4所示的信道解码器(420)或其他解复用器)或比特流编辑器的媒体处理工具可以执行技术(900)。
参考图8,媒体处理工具(诸如编码器、多路复用器或比特流编辑器)检测(810)针对图像或视频的区域的编码区域的结束。编码区域是区域(其可以是图片内的切片、区块、画面或其他任意区域)的编码表示。
媒体处理工具在基本比特流中输出(820)包含编码区域的一个或多个语法结构,以及在包含编码区域的一个或多个语法结构之后,输出指示编码区域的结束的不同语法结构。例如,不同语法结构指示编码切片、编码区块或编码图片的结束。或者,不同语法结构指示图像内的一些其他任意区域的编码数据的结束。通常,基本比特流符合编解码器格式。
基本比特流中的单个访问单元可以包括:包含编码区域的一个或多个语法结构以及指示编码区域的结束的不同语法结构。即使当其包括指示编码区域的结束的不同语法结构时,基本比特流也符合编解码器格式(例如,编解码器标准、专有格式)。单个访问单元可以包括包含多个编码区域(例如,给定图片的多个编码切片)的语法结构以及分别指示编码区域的结束的多个不同语法结构。
如果媒体处理工具是编码器,则媒体处理工具还可以对该区域进行编码以产生编码区域。在这种情况下,编码可以包括对编码区域的结束的检测(810),以及基于检测(810)将不同语法结构添加到基本比特流。
参考图9,媒体处理工具(例如,解码器、解复用器或比特流编辑器)在基本比特流中接收(910)包含编码区域的一个或多个语法结构,以及在包含编码区域的一个或多个语法结构之后、指示编码区域的结束的不同语法结构。例如,不同语法结构指示编码切片、编码区块或编码图片的结束。或者,不同语法结构指示图片内的一些其他任意区域的编码数据的结束。通常,基本比特流符合编解码器格式。
基本比特流中的单个访问单元可以包括:包含编码区域的一个或多个语法结构以及指示编码区域的结束的不同语法结构。即使当其包括不同语法结构时,基本比特流也符合编解码器格式(例如,编解码器标准、专有格式)。单个访问单元可以包括:包含多个编码区域(例如,给定图片的多个编码切片)的语法结构以及分别指示编码区域的结束的多个不同语法结构。
媒体处理工具使用不同语法结构来检测(920)编码区域的结束。编码区域是图像或视频的区域(其可以是图片内的切片、区块、画面或其他任意区域)的编码表示。如果媒体处理工具是解码器,则媒体处理工具还可以对编码区域进行解码以重建该区域。媒体处理工具的解码器可以完全在软件中实现。或者,可以使用专用硬件(例如,将某些解码操作卸载(offload)到GPU或其他加速硬件,或使用用于解码操作的专用硬件解码器)来执行解码器的至少一些操作。
参考图8和图9,包含编码区域的一个或多个语法结构可以是根据H.265/HEVC标准或H.264/AVC标准的一个或多个编码切片NAL单元。或者,包含编码区域的一个或多个语法结构可以是包括用于编码区域的编码数据的某个其他类型的语法结构。
参考图8和图9,不同语法结构可以是具有NAL单元类型的NAL单元,其中NAL单元类型将NAL单元指定为区域末端指示符(例如,如参考图6所述)。或者,不同语法结构可以是具有有效载荷类型的SEI消息,其中有效载荷类型将SEI消息指定为区域末端指示符(例如,如参考图7所述)。SEI消息可以是后缀SEI消息或前缀SEI消息。或者,不同语法结构可以是另一类型的语法结构。一个或多个约束可以控制指示编码区域的结束的语法结构在基本比特流中的放置。参照图8和图9描述约束的示例。备选地,关于指示编码区域的结束的语法结构在基本比特流中的放置,应用其他约束和/或附加约束。在任何情况下,包含编码区域的一个或多个语法结构和指示编码区域的结束的语法结构通常按照预定义的顺序,这有助于检测编码区域的结束。例如,包含编码区域的一个或多个语法结构和指示编码区域的结束的语法结构遵循针对访问单元的NAL单元的特定顺序。或者,包含编码区域的一个或多个语法结构和指示编码区域的结束的语法结构以根据编解码器格式定义的某个其他方式排序。
参考图8和图9,指示编码区域的结束的语法结构可以是空的(不包括语法元素)。例如,语法结构指示针对图像的编码数据的结束。或者,指示编码区域的结束的语法结构可以包括一个或多个语法元素。例如,语法结构包括针对下一切片报头的切片的第一单元的地址(例如,针对下一切片片段报头的切片片段地址)。如果地址为零,则语法结构指示针对图像的最后切片的编码数据的结束(作为编码区域的结束)。否则,如果地址大于零,则语法结构指示针对图像的非最后切片的编码数据的结束(作为编码区域的结束)。备选地,指示编码区域的结束的语法结构包括其他和/或附加语法元素。
备选地,媒体处理工具(例如,解码器)在基本比特流中接收包含编码区域的一个或多个语法结构,以及在包含编码区域的语法结构之后的、指示编码区域的结束的不同语法结构。媒体处理工具可以处理不同语法结构(例如,使用不同语法结构来检测编码区域的结束),或忽略不同语法结构(例如,丢弃不同语法结构)。媒体处理工具对编码区域进行解码以重建该区域。解码可以完全在软件中执行。或者,可以使用专用硬件(例如,将某些解码操作卸载到GPU或其他加速硬件,或使用用于解码操作的专用硬件解码器)来执行解码的至少一些操作。如上所述,不同语法结构可以是NAL单元、SEI消息或其他类型的语法结构,并且可以为空,或者包括一个或多个语法元素。
鉴于可以应用所公开的发明的原理的许多可能的实施例,应当认识到,所图示的实施例仅是本发明的优选实例,而不应被认为是限制本发明的范围。相反,本发明的范围由所附权利要求限定。因此,我们要求保护落入这些权利要求的范围和精神内的所有内容作为我们的发明。

Claims (15)

1.一种计算系统,包括:
缓冲器,被配置为存储以下各项作为基本比特流的一部分:包含针对图像或视频的区域的编码区域的一个或多个语法结构,以及在包含所述编码区域的所述一个或多个语法结构之后的、指示所述编码区域的结束的不同语法结构;以及
媒体处理工具,被配置为使用所述不同语法结构来检测所述编码区域的所述结束。
2.根据权利要求1所述的计算系统,其中所述媒体处理工具还被配置为:
解码所述编码区域以重建所述区域。
3.根据权利要求1所述的计算系统,其中所述不同语法结构是:
网络抽象层(“NAL”)单元,其具有NAL单元类型,所述NAL单元类型指定所述NAL单元作为区域末端指示符;或者
具有有效载荷类型的补充增强信息(“SEI”)消息,所述有效载荷类型指定所述SEI消息作为区域末端指示符,其中所述SEI消息是后缀SEI消息。
4.根据权利要求1所述的计算系统,其中所述不同语法结构包括下一切片片段地址,当针对下一切片片段报头的切片片段地址存在于所述基本比特流中时,所述下一切片片段地址指示针对所述下一切片片段报头的所述切片片段地址。
5.根据权利要求4所述的计算系统,其中:
如果所述下一切片片段地址为零,则所述编码区域的所述结束是针对图片的最后切片的编码数据的结束;并且
如果所述下一切片片段地址大于零,则所述编码区域的所述结束是针对所述图片的非最后切片的编码数据的结束。
6.一种存储计算机可执行指令的计算机可读介质,所述计算机可执行指令用于使得处理器在被所述计算机可执行指令编程时执行:
检测针对图像或视频的区域的编码区域的结束;以及
在基本比特流中输出包含所述编码区域的一个或多个语法结构,以及在包含所述编码区域的所述一个或多个语法结构之后的、指示所述编码区域的所述结束的不同语法结构。
7.根据权利要求6所述的计算机可读介质,还包括计算机可执行指令,计算机可执行指令用于使得所述处理器在被所述计算机可执行指令编程时执行:
编码所述区域以产生所述编码区域,其中所述编码包括检测所述编码区域的所述结束,并且基于所述检测,将所述不同语法结构添加到所述基本比特流。
8.根据权利要求6所述的计算机可读介质,其中所述区域是图片、区块或切片。
9.根据权利要求6所述的计算机可读介质,其中所述不同语法结构是:
具有NAL单元类型的网络抽象层(“NAL”)单元,所述NAL单元类型指定所述NAL单元作为区域末端指示符;或者
具有有效载荷类型的补充增强信息(“SEI”)消息,所述有效载荷类型指定所述SEI消息作为区域末端指示符,其中所述SEI消息是后缀SEI消息。
10.根据权利要求6所述的计算机可读介质,其中所述不同语法结构包括下一切片片段地址,当针对下一切片片段报头的切片片段地址存在于所述基本比特流中时,所述下一切片片段地址指示针对所述下一切片片段报头的所述切片片段地址。
11.根据权利要求10所述的计算机可读介质,其中:
如果所述下一切片片段地址为零,则所述编码区域的所述结束是针对图片的最后切片的编码数据的结束;并且
如果所述下一切片片段地址大于零,则所述编码区域的所述结束是针对所述图片的非最后切片的编码数据的结束。
12.根据权利要求6所述的计算机可读介质,其中所述基本比特流中的单个访问单元包括:包含所述编码区域的所述一个或多个语法结构以及指示所述编码区域的所述结束的所述不同语法结构。
13.一种计算系统中的方法,包括:
在基本比特流中以预定义的顺序接收包含针对图像或视频的区域的编码区域的一个或多个语法结构,以及在包含所述编码区域的所述一个或多个语法结构之后的不同语法结构,所述不同语法结构包括下一切片片段地址,当针对下一切片片段报头的切片片段地址存在于所述基本比特流中时,所述下一切片片段地址指示针对所述下一切片片段报头的所述切片片段地址;以及
使用所述不同语法结构来检测所述编码区域的结束。
14.根据权利要求13所述的方法,其中所述不同语法结构是具有有效载荷类型的后缀补充增强信息(“SEI”)消息,并且其中所述有效载荷类型指定所述后缀SEI消息作为区域末端指示符。
15.根据权利要求13所述的方法,其中:
如果所述下一切片片段地址为零,则所述编码区域的所述结束是针对图片的最后切片的编码数据的结束;并且
如果所述下一切片片段地址大于零,则所述编码区域的所述结束是针对所述图片的非最后切片的编码数据的结束。
CN201580054170.0A 2014-10-06 2015-10-06 用于语法结构的方法和计算系统 Active CN107409229B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462060458P 2014-10-06 2014-10-06
US62/060,458 2014-10-06
US14/705,705 US9800898B2 (en) 2014-10-06 2015-05-06 Syntax structures indicating completion of coded regions
US14/705,705 2015-05-06
PCT/US2015/054099 WO2016057432A1 (en) 2014-10-06 2015-10-06 Syntax structures indicating completion of coded regions

Publications (2)

Publication Number Publication Date
CN107409229A true CN107409229A (zh) 2017-11-28
CN107409229B CN107409229B (zh) 2020-10-13

Family

ID=55633748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580054170.0A Active CN107409229B (zh) 2014-10-06 2015-10-06 用于语法结构的方法和计算系统

Country Status (11)

Country Link
US (3) US9800898B2 (zh)
EP (1) EP3205106B1 (zh)
JP (1) JP2017535167A (zh)
KR (1) KR102474461B1 (zh)
CN (1) CN107409229B (zh)
AU (1) AU2015328314A1 (zh)
BR (1) BR112017006720A2 (zh)
CA (1) CA2963412A1 (zh)
MX (1) MX2017004465A (zh)
RU (1) RU2017111475A (zh)
WO (1) WO2016057432A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110139127A (zh) * 2019-05-21 2019-08-16 北京声智科技有限公司 音频文件播放方法、服务器、智能音箱及播放系统
CN112055969A (zh) * 2018-04-27 2020-12-08 Ati科技无限责任公司 对被编码的视频位流的低时延消费
CN113950842A (zh) * 2019-06-20 2022-01-18 索尼半导体解决方案公司 图像处理装置和方法

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9866852B2 (en) * 2014-06-20 2018-01-09 Qualcomm Incorporated Video coding using end of sequence network abstraction layer units
US9800898B2 (en) * 2014-10-06 2017-10-24 Microsoft Technology Licensing, Llc Syntax structures indicating completion of coded regions
CN107005704B (zh) * 2014-10-16 2020-07-24 三星电子株式会社 处理编码视频数据的方法和装置及生成编码视频数据的方法和装置
JP6642573B2 (ja) 2015-06-24 2020-02-05 ソニー株式会社 符号化装置、復号装置及び伝送制御方法
US10230948B2 (en) * 2016-02-03 2019-03-12 Mediatek Inc. Video transmitting system with on-the-fly encoding and on-the-fly delivering and associated video receiving system
US10349067B2 (en) * 2016-02-17 2019-07-09 Qualcomm Incorporated Handling of end of bitstream NAL units in L-HEVC file format and improvements to HEVC and L-HEVC tile tracks
US10582201B2 (en) * 2016-05-19 2020-03-03 Qualcomm Incorporated Most-interested region in an image
US20170347130A1 (en) * 2016-05-26 2017-11-30 Yun Shang Company Limited Processing system and method for live video streaming based on network coding and content distribution network
US11943452B2 (en) * 2016-07-14 2024-03-26 Koninklijke Kpn N.V. Systems and methods for video encoding and decoding
KR20230033027A (ko) * 2016-11-01 2023-03-07 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
US10834164B2 (en) * 2017-02-08 2020-11-10 Wyse Technology L.L.C. Virtualizing audio and video devices using synchronous A/V streaming
EP3603074A2 (en) * 2017-03-20 2020-02-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Advanced video data stream extraction and multi-resolution video transmission
KR20190107944A (ko) * 2018-03-13 2019-09-23 삼성전자주식회사 복원 영상에 대한 필터링을 수행하는 영상 처리 장치 및 이의 필터링 방법
JP7403128B2 (ja) * 2018-03-28 2023-12-22 パナソニックIpマネジメント株式会社 符号化装置、復号装置、符号化方法、および復号方法
WO2020048617A1 (en) * 2018-09-07 2020-03-12 Telefonaktiebolaget Lm Ericsson (Publ) Latency efficient streaming of video frames for machine vision over an ip network
US10904574B2 (en) * 2018-09-13 2021-01-26 Tencent America LLC Method and device using an out of band end of stream NAL unit in decoding
US11265580B2 (en) * 2019-03-22 2022-03-01 Tencent America LLC Supplemental enhancement information messages for neural network based video post processing
EP3973677A4 (en) 2019-05-21 2023-07-12 Genetec Inc. METHODS AND SYSTEMS FOR CODEC DETECTION IN VIDEO STREAMS
EP3997869A4 (en) 2019-08-10 2022-10-26 Beijing Bytedance Network Technology Co., Ltd. SUBPICTURE DEPENDENT SIGNALING IN VIDEO STREAMS
CA3151829A1 (en) * 2019-08-19 2021-02-25 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Usage of access unit delimiters and adaptation parameter sets
CN110515579A (zh) * 2019-08-28 2019-11-29 北京小米移动软件有限公司 投屏方法、装置、终端及存储介质
EP4022917A4 (en) 2019-10-02 2022-11-30 Beijing Bytedance Network Technology Co., Ltd. SYNTAX FOR SUBPICTURE SIGNALING IN A VIDEO BITSTREAM
US11265357B2 (en) * 2019-10-10 2022-03-01 Microsoft Technology Licensing, Llc AV1 codec for real-time video communication
WO2021073630A1 (en) 2019-10-18 2021-04-22 Beijing Bytedance Network Technology Co., Ltd. Syntax constraints in parameter set signaling of subpictures
KR102192631B1 (ko) * 2019-11-28 2020-12-17 주식회사우경정보기술 병렬 포렌식 마킹 장치 및 방법
JP7310021B2 (ja) * 2019-11-28 2023-07-18 エルジー エレクトロニクス インコーポレイティド 映像/ビデオコーディング方法及び装置
US11792432B2 (en) * 2020-02-24 2023-10-17 Tencent America LLC Techniques for signaling and identifying access unit boundaries
MX2022011426A (es) * 2020-03-20 2022-10-03 Bytedance Inc Restricciones en listas de imagenes de referencia para subimagenes.
CN115462070A (zh) 2020-04-20 2022-12-09 字节跳动有限公司 对参考图片列表的约束
WO2021252461A1 (en) * 2020-06-09 2021-12-16 Bytedance Inc. Constraints on supplemental enhancement information in video coding
WO2021252541A1 (en) 2020-06-09 2021-12-16 Bytedance Inc. Signaling non-scalable-bested hypothetical reference video decoder information

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101243459A (zh) * 2005-08-12 2008-08-13 微软公司 宽范围系数的自适应编码和解码
US20090213938A1 (en) * 2008-02-26 2009-08-27 Qualcomm Incorporated Video decoder error handling
CN101548548A (zh) * 2006-10-20 2009-09-30 诺基亚公司 用于在视频编码中提供画面输出指示的系统和方法
CN103621092A (zh) * 2011-09-07 2014-03-05 松下电器产业株式会社 图像编码方法、图像解码方法、图像编码装置、图像解码装置以及图像编码和解码装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8306112B2 (en) 2005-09-20 2012-11-06 Mitsubishi Electric Corporation Image encoding method and image decoding method, image encoder and image decoder, and image encoded bit stream and recording medium
JP4664406B2 (ja) 2006-12-11 2011-04-06 パナソニック株式会社 動画像復号化装置、半導体装置、映像機器および動画像復号化方法
PL2123049T3 (pl) 2007-01-18 2017-06-30 Nokia Technologies Oy Przenoszenie komunikatów SEI w formacie bloku danych RTP
US8265144B2 (en) 2007-06-30 2012-09-11 Microsoft Corporation Innovations in video decoder implementations
US8885729B2 (en) 2010-12-13 2014-11-11 Microsoft Corporation Low-latency video decoding
US9706214B2 (en) 2010-12-24 2017-07-11 Microsoft Technology Licensing, Llc Image and video decoding implementations
US9060174B2 (en) * 2010-12-28 2015-06-16 Fish Dive, Inc. Method and system for selectively breaking prediction in video coding
US9892188B2 (en) 2011-11-08 2018-02-13 Microsoft Technology Licensing, Llc Category-prefixed data batching of coded media data in multiple categories
US9532055B2 (en) 2012-04-16 2016-12-27 Microsoft Technology Licensing, Llc Constraints and unit types to simplify video random access
US20140253601A1 (en) * 2013-03-11 2014-09-11 Samsung Electronics Co., Ltd. Display power reduction using sei information
RU2720534C2 (ru) 2012-06-29 2020-04-30 ДжиИ Видео Компрешн, ЭлЭлСи Концепция потока видеоданных
JP6214235B2 (ja) * 2012-07-02 2017-10-18 キヤノン株式会社 ファイル生成方法、ファイル生成装置、及びプログラム
US9344720B2 (en) 2012-08-07 2016-05-17 Apple Inc. Entropy coding techniques and protocol to support parallel processing with low latency
US9565452B2 (en) * 2012-09-28 2017-02-07 Qualcomm Incorporated Error resilient decoding unit association
US9154785B2 (en) 2012-10-08 2015-10-06 Qualcomm Incorporated Sub-bitstream applicability to nested SEI messages in video coding
US9521393B2 (en) * 2013-01-07 2016-12-13 Qualcomm Incorporated Non-nested SEI messages in video coding
EP3926963A3 (en) * 2013-04-30 2022-01-26 Saturn Licensing LLC Transmitting device, transmitting method, receiving device, and receiving method
US9894370B2 (en) * 2014-03-24 2018-02-13 Qualcomm Incorporated Generic use of HEVC SEI messages for multi-layer codecs
US9807410B2 (en) * 2014-07-02 2017-10-31 Apple Inc. Late-stage mode conversions in pipelined video encoders
US9800898B2 (en) * 2014-10-06 2017-10-24 Microsoft Technology Licensing, Llc Syntax structures indicating completion of coded regions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101243459A (zh) * 2005-08-12 2008-08-13 微软公司 宽范围系数的自适应编码和解码
CN101548548A (zh) * 2006-10-20 2009-09-30 诺基亚公司 用于在视频编码中提供画面输出指示的系统和方法
US20090213938A1 (en) * 2008-02-26 2009-08-27 Qualcomm Incorporated Video decoder error handling
CN103621092A (zh) * 2011-09-07 2014-03-05 松下电器产业株式会社 图像编码方法、图像解码方法、图像编码装置、图像解码装置以及图像编码和解码装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112055969A (zh) * 2018-04-27 2020-12-08 Ati科技无限责任公司 对被编码的视频位流的低时延消费
CN112055969B (zh) * 2018-04-27 2023-08-29 Ati科技无限责任公司 用于对视频数据进行编码以提供低延迟消费的系统和方法
CN110139127A (zh) * 2019-05-21 2019-08-16 北京声智科技有限公司 音频文件播放方法、服务器、智能音箱及播放系统
CN113950842A (zh) * 2019-06-20 2022-01-18 索尼半导体解决方案公司 图像处理装置和方法

Also Published As

Publication number Publication date
CN107409229B (zh) 2020-10-13
CA2963412A1 (en) 2016-04-14
US10205966B2 (en) 2019-02-12
KR102474461B1 (ko) 2022-12-05
US20180014033A1 (en) 2018-01-11
AU2015328314A1 (en) 2017-04-20
US9800898B2 (en) 2017-10-24
JP2017535167A (ja) 2017-11-24
US10701401B2 (en) 2020-06-30
RU2017111475A (ru) 2018-10-05
US20190158881A1 (en) 2019-05-23
US20160100196A1 (en) 2016-04-07
BR112017006720A2 (pt) 2017-12-26
MX2017004465A (es) 2017-06-19
EP3205106B1 (en) 2018-08-15
WO2016057432A1 (en) 2016-04-14
KR20170068490A (ko) 2017-06-19
EP3205106A1 (en) 2017-08-16

Similar Documents

Publication Publication Date Title
CN107409229A (zh) 指示编码区域的结束的语法结构
US11943480B2 (en) Constraints and unit types to simplify video random access
CN105027570B (zh) 用来简化视频拼接的缓冲信息的语法和语义
CN105432082B (zh) 用于兴趣区编码的运动约束图块集合
CN105393537B (zh) 用于基于散列的块匹配的散列表构建和可用性检查
CN105684409B (zh) 在视频和图像编码和解码中使用散列值来表示各块
TWI520588B (zh) 在視訊寫碼中用於視訊時序之時脈刻度求導資訊之發信
RU2679201C2 (ru) Правила для режимов внутрикадрового прогнозирования, когда активируется волновая параллельная обработка данных
CN105659606B (zh) 用于视频和图像编码和解码的方法、系统和介质
CN103621085B (zh) 降低视频解码中的延迟的方法和计算系统
CN105900420A (zh) 选择运动向量精度
CN107211155A (zh) 图内块拷贝预测模式下的合并的色度块的特殊情况处理
KR20080040740A (ko) 화상 부호화 방법 및 화상 복호 방법, 화상 부호화 장치 및화상 복호 장치, 및 화상 부호화 비트스트림 및 기록 매체
CN106031177A (zh) 用于硬件加速的视频编码的主编码器
KR20170065568A (ko) 샘플 메타데이터와 미디어 샘플들의 결합

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant