CN104054348B - 在视频译码中波前平行处理的子流 - Google Patents

在视频译码中波前平行处理的子流 Download PDF

Info

Publication number
CN104054348B
CN104054348B CN201280067198.4A CN201280067198A CN104054348B CN 104054348 B CN104054348 B CN 104054348B CN 201280067198 A CN201280067198 A CN 201280067198A CN 104054348 B CN104054348 B CN 104054348B
Authority
CN
China
Prior art keywords
ctb
picture
syntactic element
entrance
subflow
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.)
Active
Application number
CN201280067198.4A
Other languages
English (en)
Other versions
CN104054348A (zh
Inventor
王益魁
***·蔡德·科班
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN104054348A publication Critical patent/CN104054348A/zh
Application granted granted Critical
Publication of CN104054348B publication Critical patent/CN104054348B/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/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

Landscapes

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

Abstract

一种视频编码器用信号发出是否使用WPP来编码一连串视频图片中的一个图片。如果使用WPP来编码所述图片,那么所述视频编码器产生包含多个子流的经译码切片NAL单元,所述子流中的每一者包含表示所述图片的切片中的译码树块CTB的一个经编码行的位的连续系列。视频解码器接收包含所述经译码切片NAL单元的位流。此外,所述视频解码器可基于所述位流中的语法元素而确定所述切片是使用WPP编码,且可使用WPP来解码所述切片。

Description

在视频译码中波前平行处理的子流
本申请案主张于2012年1月18日申请的美国临时专利申请案第61/588,096号的权利,所述申请案的全部内容在此以引用的方式并入。
技术领域
本发明涉及视频译码(即,视频数据的编码和/或解码)。
背景技术
可将数字视频能力并入到广泛范围的装置中,所述装置包含数字电视、数字直播***、无线广播***、个人数字助理(PDA)、膝上型计算机或桌上型计算机、平板计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的“智能电话”、视频电话会议装置、视频流式传输装置和类似者。数字视频装置实施视频压缩技术,例如在由MPEG-2、MPEG-4、ITU-T H.263、ITU-TH.264/MPEG-4第10部分(先进视频译码(AVC))定义的标准、目前在开发中的高效率视频译码(HEVC)标准和这些标准的扩展中所描述的视频压缩技术。视频装置可通过实施这些视频压缩技术来更有效率地发射、接收、编码、解码和/或存储数字视频信息。
视频压缩技术执行空间(图片内)预测和/或时间(图片间)预测以减少或去除视频序列中所固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的一部分)分割成视频块,视频块也可被称作树块、译码单元(CU)和/或译码节点。图片的经帧内译码(I)切片中的视频块是使用相对于相同图片中的相邻块中的参考样本的空间预测来编码。图片的经帧间译码(P或B)切片中的视频块可使用相对于相同图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
空间或时间预测产生待译码的块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。根据指向形成预测性块的参考样本的块的运动向量和指示经译码块与预测性块之间的差的残余数据来编码经帧间译码块。根据帧内译码模式和残余数据来编码经帧内译码块。为了进一步压缩,可将残余数据自像素域变换到变换域,从而产生残余系数,所述残余系数接着可经量化。可按次序扫描最初布置成二维阵列的经量化系数以便产生系数的一维向量,且可应用熵译码以达成甚至更多压缩。
发明内容
大体来说,本发明描述涉及图像块和波前平行处理(WPP)的用于视频译码的技术。更具体来说,视频编码器可用信号发出是否使用WPP来编码一连串视频图片中的一个图片。如果使用WPP来编码所述图片,那么所述视频编码器产生多个子流。所述子流中的每一者可包含表示所述图片的切片中的译码树块(CTB)的一个经编码行的位的连续系列。所述视频编码器可产生包含所述多个子流的经译码切片网络抽象层(NAL)单元。视频解码器可接收包含所述经译码切片NAL单元的位流。此外,所述视频解码器可基于所述位流中的语法元素而确定所述切片是使用WPP编码,且可使用WPP来解码所述切片。
在一方面,本发明描述一种用于编码视频数据的方法。所述方法包括用信号发出使用WPP来编码一连串视频图片中的一个图片。所述方法也包括执行WPP以产生多个子流,所述子流中的每一者包含表示所述图片的切片中的CTB的一个经编码行的位的连续系列。所述方法也包括产生包含所述多个子流的经译码切片网络抽象层(NAL)单元。
在另一方面,本发明描述一种包括一或多个处理器的计算装置,所述一或多个处理器经配置以用信号发出使用WPP来编码一连串视频图片中的一个图片。所述一或多个处理器也经配置以执行WPP以产生多个子流,所述子流中的每一者包含表示所述图片的切片中的CTB的一个经编码行的位的连续系列。所述一或多个处理器也经配置以产生包含所述多个子流的经译码切片NAL单元。
在另一方面,本发明描述一种计算装置,所述计算装置包括用于用信号发出使用WPP来编码图片的装置。所述计算装置也包括用于执行WPP以产生多个子流的装置,所述子流中的每一者包含表示所述图片的切片中的CTB的一个经编码行的位的连续系列。另外,所述计算装置包括用于产生包含所述多个子流的经译码切片NAL单元的装置。
在另一方面,本发明描述一种存储指令的计算机可读存储媒体,所述指令在由计算装置的一或多个处理器执行时配置所述计算装置以用信号发出使用WPP来编码图片。所述指令也配置所述计算装置以执行WPP以产生多个子流,所述子流中的每一者包含表示所述图片的切片中的CTB的一个经编码行的位的连续系列。另外,所述指令配置所述计算装置以产生包含所述多个子流的经译码切片NAL单元。
在另一方面,本发明描述一种用于解码视频数据的方法。所述方法包括接收包含经译码切片NAL单元的位流,所述经译码切片NAL单元包含多个子流,所述子流中的每一者包含表示图片的切片中的译码树块(CTB)的一行的位的连续系列。所述方法也包括基于所述位流中的语法元素而确定所述切片是使用WPP编码。另外,所述方法包括使用WPP来解码所述切片。
在另一方面,本发明描述一种包括一或多个处理器的计算装置,所述一或多个处理器经配置以接收包含经译码切片NAL单元的位流,所述经译码切片NAL单元包含多个子流,所述子流中的每一者包含表示图片的切片中的CTB的一行的位的连续系列。所述一或多个处理器也经配置以基于所述位流中的一或多个语法元素而确定所述切片是使用WPP编码。另外,所述一或多个处理器经配置以使用WPP来解码所述切片。
在另一方面,本发明描述一种计算装置,所述计算装置包括用于接收包含经译码切片NAL单元的位流的装置,所述经译码切片NAL单元包含多个子流,所述子流中的每一者包含表示图片的切片中的CTB的一行的位的连续系列。所述计算装置也包括用于基于所述位流中的一或多个语法元素而确定所述切片是使用WPP编码的装置。所述计算装置也包括用于使用WPP解码所述切片的装置。
在另一方面,本发明描述一种存储指令的计算机可读存储媒体,所述指令在由计算装置的一或多个处理器执行时配置所述计算装置以接收包含经译码切片NAL单元的位流,所述经译码切片NAL单元包含多个子流,所述子流中的每一者包含表示图片的切片中的CTB的一行的位的连续系列。所述指令也配置所述计算装置以基于所述位流中的一或多个语法元素而确定所述切片是使用WPP编码。另外,所述指令配置所述计算装置以使用WPP解码所述切片。
本发明的一或多个实例的细节陈述于随附图式和以下描述中。其它特征、目标和优势将自描述、图式和权利要求书而显而易见。
附图说明
图1为说明可利用本发明中所描述的技术的实例视频译码***的框图。
图2为说明可实施本发明中所描述的技术的实例视频编码器的框图。
图3为说明可实施本发明中所描述的技术的实例视频解码器的框图。
图4为说明根据本发明的一或多个方面的用于编码视频数据的视频编码器的实例操作的流程图,其中不允许单一图片内的图像块与波前平行处理(WPP)的组合。
图5为说明根据本发明的一或多个方面的用于解码视频数据的视频解码器的实例操作的流程图,其中不允许单一图片内的图像块与WPP的组合。
图6为说明根据本发明的一或多个方面的用于解码视频数据的视频解码器的另一实例操作的流程图,其中不允许单一图片内的图像块与WPP的组合。
图7为说明根据本发明的一或多个方面的用于编码视频数据的视频编码器的实例操作的流程图,其中图片的译码树块(CTB)的每一行在单独子流中。
图8为说明根据本发明的一或多个方面的用于解码视频数据的视频解码器的实例操作的流程图,其中图片的CTB的每一行在单独子流中。
图9A为说明根据本发明的一或多个方面的剖析切片数据的实例上下文自适应性二进制算术译码(CABAC)剖析过程的第一部分的流程图。
图9B为说明图9A的实例CABAC剖析过程的接续部分的流程图。
图10为说明WPP的实例的概念图。
图11为说明在将图片分割成多个图像块时的实例译码次序的概念图。
具体实施方式
在视频译码期间,可将图片分割成多个图像块、波前平行处理(WPP)波和/或熵切片。由穿过图片的水平和/或垂直图像块边界定义图片的图像块。根据光栅扫描次序译码图片的图像块,且也根据光栅扫描次序译码每一图像块内的译码树块(CTB)。在WPP中,图片中的CTB的每一行为“WPP波”。在视频译码器使用WPP来译码图片时,视频译码器可在视频译码器已译码紧接的较高WPP波的两个或两个以上CTB之后,开始自左到右译码WPP波的CTB。熵切片可包含根据光栅扫描次序的一系列连续CTB。来自跨越熵切片边界的信息的使用被禁止用于选择熵译码上下文,但可被允许用于达成其它目的。
在现有视频译码***中,图片可具有图像块、WPP波和熵切片的任何组合。例如,可将图片分割成多个图像块。在此实例中,可根据光栅扫描次序译码图像块中的一些图像块中的CTB,而可使用WPP来译码图像块中的其它图像块中的CTB。允许图片包含图像块、WPP波和熵切片的组合可不必要地增加这些视频译码***的实施方案复杂度和成本。
本发明的技术可解决此问题。即,根据本发明的技术,不允许在图片内的两个或两个以上图像块、WPP波和熵切片中的任一者的组合。例如,视频编码器可产生包含语法元素的位流,所述语法元素指示根据第一译码模式或是第二译码模式来编码图片。在所述第一译码模式中,使用WPP来完整地编码所述图片。在所述第二译码模式中,所述图片具有一或多个图像块,且在不使用WPP的情况下编码所述图片的每一图像块。
此外,在此实例中,视频解码器可自包含图片的经译码表示的位流剖析语法元素。响应于确定所述语法元素具有特定值,所述视频解码器可使用WPP来完整地解码所述图片。响应于确定所述语法元素不具有所述特定值,所述视频解码器可在不使用WPP的情况下解码所述图片的每一图像块。图片可具有一或多个图像块。
附图说明实例。在附图中由参考数字指示的元件对应于以下描述中通过相似参考数字指示的元件。在本发明中,具有以序数词(例如,“第一”、“第二”、“第三”等)开始的名称的元件未必暗示元件具有特定次序。相反地,这些序数词仅用以指相同或类似类型的不同元件。
图1为说明可利用本发明的技术的实例视频译码***10的框图。如本文中所描述地使用,术语“视频译码器”一般地指视频编码器与视频解码器两者。在本发明中,术语“视频译码”或“译码”可一般地指视频编码或视频解码。
如图1中所展示,视频译码***10包含源装置12和目的地装置14。源装置12产生经编码视频数据。因此,源装置12可被称作视频编码装置或视频编码设备。目的地装置14可解码由源装置12产生的经编码视频数据。因此,目的地装置14可被称作视频解码装置或视频解码设备。源装置12和目的地装置14可为视频译码装置或视频译码设备的实例。源装置12和目的地装置14可包括广泛范围的装置,包含桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能型”电话的电话手持机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机或类似者。
目的地装置14可经由信道16自源装置12接收经编码视频数据。信道16可包括能够将经编码视频数据自源装置12移动到目的地装置14的一或多个媒体和/或装置。在一个实例中,信道16可包括使源装置12能够实时将经编码视频数据直接传输到目的地装置14的一或多个通信媒体。在此实例中,源装置12可根据例如无线通信协议的通信标准调制经编码视频数据,且可将经调制视频数据传输到目的地装置14。一或多个通信媒体可包含无线和/或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。一或多个通信媒体可形成基于包的网络(例如,局域网、广域网或全球网络(例如,因特网))的部分。一或多个通信媒体可包含路由器、交换器、基站或促进自源装置12到目的地装置14的通信的其它装备。
在另一实例中,信道16可包含存储由源装置12产生的经编码视频数据的存储媒体。在此实例中,目的地装置14可经由磁盘存取或卡存取来存取存储媒体。存储媒体可包含多种本地存取的数据存储媒体,例如,蓝光光盘、DVD、CD-ROM、快闪存储器或用于存储经编码视频数据的其它合适数字存储媒体。
在另一实例中,信道16可包含存储由源装置12产生的经编码视频的文件服务器或另一中间存储装置。在此实例中,目的地装置14可经由流式传输或下载来存取存储于文件服务器或其它中间存储装置处的经编码视频数据。文件服务器可为能够存储经编码视频数据且将经编码视频数据传输到目的地装置14的类型的服务器。实例文件服务器包含页面服务器(例如,用于网站)、文件传送协议(FTP)服务器、网络附接存储(NAS)装置和本地磁盘机。
目的地装置14可经由例如因特网连接的标准数据连接存取经编码视频数据。数据连接的实例类型包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器等)或无线信道与有线连接两者的组合。经编码视频数据自文件服务器的传输可为流式传输、下载传输或流式传输与下载传输两者的组合。
本发明的技术不限于无线应用或设定。所述技术可应用于视频译码以支持多种多媒体应用,例如,空中电视广播、有线电视传输、***传输、流式传输视频传输(例如,经由因特网)、编码视频数据以用于存储于数据存储媒体上、解码存储于数据存储媒体上的视频数据或其它应用。在一些实例中,视频译码***10可经配置以支持单向或双向视频传输以支持例如视频流式传输、视频播放、视频广播和/或视频电话的应用。
在图1的实例中,源装置12包含视频源18、视频编码器20和输出接口22。在一些实例中,输出接口22可包含调制器/解调制器(调制解调器)和/或发射器。视频源18可包含视频俘获装置(例如,摄像机)、含有先前俘获的视频数据的视频存档、自视频内容提供者接收视频数据的视频馈入接口和/或用于产生视频数据的计算机图形***,或这些视频数据源的组合。
视频编码器20可编码来自视频源18的视频数据。在一些实例中,源装置12经由输出接口22将经编码视频数据直接传输到目的地装置14。经编码视频数据也可存储到存储媒体或文件服务器上以供稍后由目的地装置14存取以用于解码和/或播放。
在图1的实例中,目的地装置14包含输入接口28、视频解码器30和显示装置32。在一些实例中,输入接口28包含接收器和/或调制解调器。输入接口28可经由信道16接收经编码视频数据。显示装置32可与目的地装置14集成或可在目的地装置14外部。大体来说,显示装置32显示经解码视频数据。显示装置32可包括多种显示装置,例如,液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
视频编码器20和视频解码器30可根据例如目前在开发中的高效率视频译码(HEVC)标准的视频压缩标准操作,且可遵照HEVC测试模型(HM)。被称作“HEVC工作草案5”或“WD5”的即将到来的HEVC标准的草案描述于布罗斯(Bross)等人的“WD5:高效率视频译码的工作草案5(WD5:Working Draft 5 of High-Efficiency Video Coding)”(ITU-T SG16WP3和ISO/IEC JTC1/SC29/WG11视频译码联合协作小组(JCT-VC)于2011年11月在瑞士日内瓦的第7次会议)中,所述草案可自2012年10月10日起自http://phenix.int-evry.fr/jct/doc_end_user/documents/7_Geneva/wg11/JCTVC-G1103-v3.zip下载,所述草案的全部内容以引用的方式并入本文中。被称作“HEVC工作草案9”的即将到来的HEVC标准的另一草案描述于布罗斯等人的“高效率视频译码(HEVC)文本规范草案9(High Efficiency VideoCoding(HEVC)text specification draft9)”(ITU-T SG16WP3和ISO/IEC JTC1/SC29/WG11视频译码联合协作小组(JCT-VC)于2012年10月在中国上海的第11次会议)中,所述草案可自2012年11月7日起自http://phenix.int-evry.fr/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC-K1003-v8.zip下载,所述草案的全部内容被以引用的方式并入本文中。
替代地,视频编码器20和视频解码器30可根据其它专有或工业标准来操作,其它专有或工业标准包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual和ITU-T H.264(也被称为ISO/IEC MPEG-4AVC),包含其可调式视频译码(SVC)和多视图视频译码(MVC)扩展。然而,本发明的技术不限于任何特定译码标准或技术。
此外,图1仅为实例且本发明的技术可应用于未必包含编码装置与解码装置之间的任何数据通信的视频译码设定(例如,视频编码或视频解码)。在其它实例中,数据是自本地存储器检索,经由网络而流式传输,或类似者。编码装置可编码数据且将数据存储到存储器,和/或解码装置可自存储器检索数据且解码数据。在许多实例中,由并不彼此通信而是简单地将数据编码到存储器和/或自存储器检索数据且解码数据的装置执行编码和解码。
视频编码器20和视频解码器30各自可实施为例如以下各者的多种合适电路中的任一者:一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、硬件或其任何组合。如果部分地以软件实施技术,那么装置可将软件的指令存储于合适的非暂时性计算机可读存储媒体中且可使用一或多个处理器以硬件执行指令,以执行本发明的技术。前文中的任一者(包含硬件、软件、硬件与软件的组合等)可被视为一或多个处理器。视频编码器20和视频解码器30中的每一者可包含于一或多个编码器或解码器中,编码器或解码器中的任一者可作为组合式编码器/解码器(CODEC)的部分而集成于相应装置中。
本发明可大体上提到视频编码器20将某些信息“用信号发出”到例如视频解码器30的另一装置。术语“用信号发出”大体上可指语法元素和/或表示经编码视频数据的其它数据的传达。此传达可实时地或近实时地发生。交替地,此传达可在时间跨度内发生,例如,可在编码时在将语法元素存储到计算机可读存储媒体时在经编码位流中发生,接着可在将语法元素存储到此媒体之后的任何时间由解码装置检索语法元素。
如上文简要地提及,视频编码器20编码视频数据。视频数据可包括一或多个图片。图片中的每一者可为静态图像。在一些例子中,图片可被称作视频“帧”。视频编码器20可产生包含形成视频数据的经译码表示的位序列的位流。位流可包含经译码图片和相关联的数据。经译码图片为图片的经译码表示。相关联的数据可包含序列参数集(SPS)、图片参数集(PPS)和其它语法结构。SPS可含有适用于图片的零个或零个以上序列的参数。PPS可含有适用于零个或零个以上图片的参数。
为了产生图片的经编码表示,视频编码器20可将图片分割成译码树块(CTB)的栅格。在一些例子中,CTB可被称作“树块”、“最大译码单元”(LCU)或“译码树单元”。HEVC的CTB可广泛地类似于例如H.264/AVC的先前标准的宏块。然而,CTB未必限于特定大小且可包含一或多个译码单元(CU)。
CTB中的每一者可与图片内的大小相等的不同像素块相关联。每一像素可包括一个明度(luminance或luma)样本和两个色度(chrominance或chroma)样本。因此,每一CTB可与明度样本的一个块和色度样本的两个块相关联。为了便于解释,本发明可将像素的二维阵列称作像素块且可将样本的二维阵列称作样本块。视频编码器20可使用四分树分割来将与CTB相关联的像素块分割成与CU相关联的像素块(因此名称为“译码树块”)。
可将图片的CTB分群成一或多个切片。在一些实例中,切片中的每一者包含整数数目个CTB。作为编码图片的部分,视频编码器20可产生图片的每一切片的经编码表示(即,经译码切片)。为了产生经译码切片,视频编码器20可编码切片的每一CTB以产生切片的CTB中的每一者的经编码表示(即,经译码CTB)。
为了产生经译码CTB,视频编码器20可对与CTB相关联的像素块递回地执行四分树分割以将像素块划分成逐步减小的像素块。较小像素块中的每一者可与CU相关联。经分割CU可为像素块经分割成与其它CU相关联的像素块的CU。未经分割CU可为像素块未经分割成与其它CU相关联的像素块的CU。
视频编码器20可针对每一未经分割CU产生一或多个预测单元(PU)。CU的PU中的每一者可与CU的像素块内的一不同像素块相关联。视频编码器20可针对CU的每一PU产生预测性像素块。PU的预测性像素块可为像素的块。
视频编码器20可使用帧内预测或帧间预测来产生PU的预测性像素块。如果视频编码器20使用帧内预测来产生PU的预测性像素块,那么视频编码器20可基于与PU相关联的图片的经解码像素而产生PU的预测性像素块。如果视频编码器20使用帧间预测来产生PU的预测性像素块,那么视频编码器20可基于不同于与PU相关联的图片的一或多个图片的经解码像素而产生PU的预测性像素块。
视频编码器20可基于CU的PU的预测性像素块而产生CU的残余像素块。CU的残余像素块可指示CU的PU的预测性像素块中的样本与CU的原始像素块中的对应样本之间的差。
此外,作为编码未经分割CU的部分,视频编码器20可对CU的残余像素块执行递回四分树分割以将CU的残余像素块分割成与CU的变换单元(TU)相关联的一或多个较小残余像素块。因为与TU相关联的像素块中的像素各自包含一个明度样本和两个色度样本,所以TU中的每一者可与明度样本的一个残余样本块和色度样本的两个残余样本块相关联。
视频译码器20可对与TU相关联的残余样本块应用一或多个变换以产生系数块(即,系数的块)。视频编码器20可对系数块中的每一者执行量化过程。量化大体上指对系数进行量化以可能减少用以表示系数的数据的量从而提供进一步压缩的过程。
视频编码器20可产生表示经量化系数块中的系数的语法元素的集合。视频编码器20可将例如上下文自适应性二进制算术译码(CABAC)操作的熵编码操作应用于这些语法元素中的至少一些语法元素。作为执行熵编码操作的部分,视频编码器20可选择译码上下文。在CABAC的状况下,译码上下文可指示值0和值1分格的概率。
由视频编码器20产生的位流可包含一系列网络抽象层(NAL)单元。NAL单元中的每一者可为含有NAL单元中的数据的类型的指示和含有数据的字节的语法结构。例如,NAL单元可含有表示SPS、PPS、经译码切片、补充增强信息(SEI)、存取单元定界符、填充数据或另一类型的数据的数据。经译码切片NAL单元为包含经译码切片的NAL单元。
视频解码器30可接收位流。位流可包含由视频编码器20编码的视频数据的经译码表示。视频解码器30可剖析位流以自位流提取语法元素。作为自位流提取一些语法元素的部分,视频解码器30可熵解码(例如,CABAC解码、指数哥伦布解码等)位流中的数据。视频解码器30可基于自位流提取的语法元素而重构建视频数据的图片。
基于语法元素而重构建视频数据的过程可与由视频编码器20执行以产生语法元素的过程大体上互逆。例如,视频解码器30可基于与CU相关联的语法元素而产生CU的PU的预测性像素块。另外,视频解码器30可对与CU的TU相关联的系数块进行反量化。视频解码器30可对系数块执行反变换以重构建与CU的TU相关联的残余像素块。视频解码器30可基于预测性像素块和残余像素块而重构建CU的像素块。
在一些实例中,视频编码器20可将图片划分成多个熵切片。本发明可使用术语“规则切片”来区分切片与熵切片。熵切片可包含规则切片的CU的子集。在一些实例中,视频编码器20可在熵切片当中分割CU,以使得熵切片中无一者包含比上限多的分格(例如,经熵译码位)。在单独NAL单元中可包含每一熵切片。
在本发明中,图片中预测可指使用与图片的第一单元(例如,CTB、CU、PU等)相关联的信息以用于译码同一图片的第二单元。允许跨越熵切片边界的图片中预测,用于达成熵译码的目的除外。例如,如果视频译码器(例如,视频编码器20或视频解码器30)正对特定PU执行帧内预测,那么视频译码器可使用来自相邻PU的样本,即使相邻PU在不同于特定PU的熵切片中也如此。在此实例中,如果相邻PU在不同于特定PU的切片中,那么视频译码器可能不能够使用来自相邻PU的样本。
然而,在视频译码器正对与特定PU相关联的数据执行熵译码时,如果特定PU与相邻PU在相同熵切片中,那么仅允许视频译码器基于与相邻PU相关联的信息而选择译码上下文。因为此限制,所以视频译码器可能能够对切片的多个熵切片平行地执行熵译码(即,熵编码或解码)操作。因此,视频解码器30可能能够平行地剖析多个熵切片的语法元素。然而,视频解码器30不能够平行地重构建切片的多个熵切片的像素块。
如上文所指示,经译码切片NAL单元可含有经译码切片。此切片可为熵切片或规则切片。经译码切片NAL单元中的切片标头可包含指示切片为熵切片或是规则切片的语法元素(例如,entropy_slice_flag)。例如,如果语法元素等于1,那么经译码切片NAL单元中的切片可为熵切片。
每一经译码切片可包含切片标头和切片数据。熵切片的切片标头可不同于规则切片的切片标头。例如,熵切片的切片标头中的语法元素可包含规则切片的切片标头中的语法元素的子集。因为熵切片的切片标头包含比规则切片的切片标头少的语法元素,所以熵切片也可被称作轻型切片、具有短切片标头的切片或短切片。熵切片可自按解码次序在熵切片之前的规则切片的切片标头继承自熵切片的切片标头省略的语法元素。
按照惯例,视频编码器针对每一熵切片产生单独NAL单元。常常以单独包在网络上输送个别NAL单元。换句话说,在经由网络传输NAL单元期间,每一包可存在一个NAL单元。此情形对于含有熵切片的NAL单元来说可为有问题的。如果含有包含规则切片的NAL单元的包在传输期间丢失,那么视频解码器30可能不能够使用自规则切片的切片标头继承语法元素的熵切片。此外,如果对于图片中预测,第一熵切片的一或多个CTB依赖于第二熵切片的一或多个CTB,且含有包含第二熵切片的NAL单元的包在传输期间丢失,那么视频解码器30可能不能够解码第一熵切片的CTB。
在一些实例中,视频译码器可使用波前平行处理(WPP)来译码图片的至少部分。下文中详细描述的图9为说明WPP的实例的概念图。如果视频译码器使用WPP来译码图片,那么视频译码器可将图片的CTB划分成多个“WPP波”。WPP波中的每一者可对应于图片中的CTB的不同行。如果视频译码器使用WPP来译码图片,那么视频译码器可开始译码CTB的顶行。在视频译码器已译码顶行的两个或两个以上CTB之后,视频译码器可开始与译码CTB的顶行平行地译码CTB的次顶行。在视频译码器已译码次顶行的两个或两个以上CTB之后,视频译码器可开始与译码CTB的较高行平行地译码CTB的顶部起第三行。此型样可沿图片中的CTB的行往下继续。
如果视频译码器正使用WPP,那么只要空间上相邻的CU在当前CTB的左方、左上方、上方或右上方,视频译码器便可使用与在当前CTB之外的空间上相邻的CU相关联的信息来对当前CTB中的特定CU执行图片中预测。如果当前CTB为不同于最顶行的行中的最左CTB,那么视频译码器可使用与紧接的较高行的第二CTB相关联的信息来选择用于CABAC译码当前CTB的一或多个语法元素的上下文。否则,如果当前CTB并非行中的最左CTB,那么视频译码器可使用与当前CTB左方的CTB相关联的信息来选择用于CABAC译码当前CTB的一或多个语法元素的上下文。以此方式,视频译码器可在编码紧接的较高行的两个或两个以上CTB之后,基于紧接的较高行的CABAC状态而初始化行的CABAC状态。
因此,响应于确定第一CTB通过单一CTB而与图片的左边界分离,视频译码器可存储与第一CTB相关联的上下文变量。视频译码器可至少部分基于与第一CTB相关联的上下文变量而熵译码(例如,熵编码或熵解码)第二CTB的一或多个语法元素,第二CTB邻近于图片的左边界且比第一CTB低一行CTB。
甚至在使用WPP时,仍通常根据光栅扫描次序将切片的经译码CTB布置于经译码切片NAL单元中。此情形可使实施WPP的视频译码器的设计变得复杂。在WPP波的数目大于1且小于图片的CTB行的数目时,CTB的经译码位的位流次序(即,在通过一个解码器核心处理经译码图片而非平行地解码经译码图片的情况下的解码次序)与如下未应用WPP时的情形相比较来说改变了。按位流/解码次序较迟的经译码CTB可能需要由按解码次序较早的另一经译码CTB进行图片中预测。此情形可打破无较早数据取决于按位流/解码次序较迟到来的数据的位流因果关系。位流因果关系已为包含视频译码标准的视频译码设计中的大体遵循的原理。虽然解码过程起作用,但在指示在位流中的当前位置的位流指标可在与经译码切片NAL单元相关联的位流的部分内前后移动时,解码过程可更复杂。
在一些实例中,视频编码器20可将图片划分成一或多个图像块。图像块可包括图片的CTB的非重叠集合。视频编码器20可通过界定两个或两个以上垂直图像块边界和两个或两个以上水平图像块边界而将图片划分成图像块。图片的每一垂直侧可为垂直图像块边界。当前图片的每一水平侧可为水平图像块边界。例如,如果视频编码器20界定图片的四个垂直图像块边界和三个水平图像块边界,那么将当前图片划分成六个图像块。
例如视频编码器20或视频解码器30的视频译码器可根据图像块扫描次序译码图片的图像块的CTB。为了根据图像块扫描次序译码CTB,视频译码器可根据光栅扫描次序译码图片的图像块。即,视频译码器可按由左到右次序译码一行图像块中的每一图像块,自图像块的顶行开始且接着沿图片向下进行。此外,视频译码器可根据光栅扫描次序译码图像块内的每一CTB。以此方式,视频译码器可在译码图片的另一图像块的任何CTB之前,译码图片的给定图像块的每一CTB。换句话说,图像块扫描次序按图像块内的CTB光栅扫描次序遍历CTB,且按图片内的图像块光栅扫描次序遍历图像块。因此,视频译码器译码图片的CTB的次序在将图片分割成多个图像块的情况下与在不将图片分割成多个图像块的情况下可不同。下文所描述的图10为说明在将图片分割成多个图像块时的实例图像块扫描次序的概念图。
在一些例子中,视频译码器可执行跨越图像块边界但不跨越切片边界的图片中预测。在其它例子中,禁止跨越图像块边界和切片边界的图片中预测。在禁止跨越图像块边界和切片边界的图片中预测的例子中,视频译码器可能能够平行地译码多个图像块。
在一些实例中,由旗标(例如,“tile_boundary_independence_idc”)控制跨越图像块边界的图片中预测。如果旗标等于1,那么在图片内不允许跨越图像块边界的图片中预测。否则,允许跨越图像块边界的图片中预测,也为图片边界或切片边界的图像块边界除外。如果允许跨越图像块边界的图片中预测,那么图像块的功能性可为与图片不具有图像块或等效地具有仅一个图像块的状况相比较来说改变CTB的扫描次序。如果不允许跨越图像块边界的图片中预测,那么除改变CTB的扫描次序之外,图像块也可提供可用于图像块的平行译码(编码和/或解码)的独立分割。因此,如果将图片分割成至少第一图像块和第二图像块,那么在视频解码器30在不使用WPP的情况下解码图像块时,视频解码器30可平行地解码第一图像块的CTB和第二图像块的CTB。
在一些例子中,可将图片分割成图像块、WPP波和熵切片的组合。例如,可将图片分割成图像块和WPP波的集合。在另一实例中,可将图片分割成两个图像块和一个熵切片。允许图片内的图像块、WPP波和熵切片的组合可为有问题的,这是因为允许这些组合可增加视频编码器和/或视频解码器的复杂度和成本。
本发明的技术可解决上文所描述的问题。根据本发明的技术,可不将图片分割成图像块、WPP波和熵切片的任何组合。换句话说,可将图片分割成一或多个图像块,可将图片分割成WPP波,或可将图片分割成一或多个熵切片。然而,可不将图片分割成以下组合中的任一者:(a)图像块、WPP波和熵切片、(b)图像块和WPP波、(c)图像块和熵切片或(d)WPP波和熵切片。
为了实现此情形,视频编码器20可在位流中包含语法元素,所述语法元素指示根据第一译码模式或是第二译码模式来编码图片。在所述第一译码模式中,使用WPP来完整地编码所述图片。即,可将图片中的每一行CTB编码为WPP波。在第二译码模式中,图片可具有一或多个图像块。此外,在所述第二译码模式中,可在不使用WPP的情况下编码所述图片的每一图像块。例如,在第二译码模式中,视频编码器20可针对图片的每一图像块,按跨越CTB的行自左到右且沿图像块的CTB的行向下的次序顺序地编码图像块内的CTB。为了便于解释,此语法元素可在本文中被称作译码模式语法元素。
视频解码器30可自包含视频数据中的图片的经译码表示的位流剖析语法元素。响应于确定所述语法元素具有特定值,视频解码器30可使用WPP来完整地解码所述图片。响应于确定所述语法元素不具有所述特定值,视频解码器30可在不使用WPP的情况下解码所述图片的每一图像块,其中图片具有一或多个图像块。
位流的各个部分可包含译码模式语法元素。例如,视频编码器20可产生包含译码模式语法元素的SPS。在此实例中,视频解码器30可从位流剖析包含译码模式语法元素的SPS。在另一实例中,视频编码器20可产生包含译码模式语法元素的PPS。在此实例中,视频解码器30可从位流剖析包含译码模式语法元素的PPS。此外,如果根据第二译码模式编码图片,那么位流可包含指示针对图片是否启用熵切片的一或多个语法元素。位流的各个部分可包含指示针对图片是否启用熵切片的一或多个语法元素。例如,SPS可包含指示针对与SPS相关联的图片启用熵切片的一或多个语法元素。在另一实例中,PPS可包含指示针对与PPS相关联的图片启用熵切片的一或多个语法元素。例如,在此实例中,PPS可包含指示参考PPS的经译码切片是否可由熵切片组成的entropy_slice_enabled_flag语法元素。
如果图片包含一或多个熵切片,那么与图片的切片相关联的每一熵切片可包含于单一经译码切片NAL单元中,而非包含于单独NAL单元中。因此,可将熵切片定义为切片的子集,其中熵切片的熵解码过程独立于相同切片中的其它熵切片。
如上文简要地提及,位流可包含包含经译码切片的经译码切片NAL单元。经译码切片可包括切片标头和切片数据。切片数据可包含一或多个子流。根据本发明的技术,如果在第一译码模式中编码图片(即,使用WPP来完整地编码图片),那么由子流中的单一者来表示切片的CTB的每一行。如果在第二译码模式中编码图片(即,在不使用WPP的情况下编码图片的每一图像块),那么由子流中的单一子流表示具有切片中的一或多个CTB的图片的每一图像块。
此外,根据本发明的技术,经译码切片的切片标头可包含指示经译码切片NAL单元的切片数据内的图像块、WPP波或熵切片的入口点的语法元素的集合。子流的入口点可为子流的第一位。此外,经译码切片NAL单元的切片数据内的图像块、WPP波或熵切片可包含确保图像块、WPP波或熵切片字节对准的填补位。
图2为说明经配置以实施本发明的技术的实例视频编码器20的框图。出于解释的目的而提供图2且不应将图2视为限制如本发明中广泛地例示和描述的技术。出于解释的目的,本发明在HEVC译码的情况下描述视频编码器20。然而,本发明的技术可适用于其它译码标准或方法。
在图2的实例中,视频编码器20包含预测处理单元100、残余产生单元102、变换处理单元104、量化单元106、反量化单元108、反变换处理单元110、重构建单元112、滤波器单元113、经解码图片缓冲器114和熵编码单元116。预测处理单元100包含帧间预测处理单元121和帧内预测处理单元126。帧间预测处理单元121包含运动估计单元122和运动补偿单元124。在其它实例中,视频编码器20可包含更多、更少或不同功能组件。
视频编码器20可接收视频数据。为了编码视频数据,视频编码器20可编码视频数据的每一图片的每一切片。作为编码切片的部分,视频编码器20可编码切片中的每一CTB。作为编码CTB的部分,预测处理单元100可对与CTB相关联的像素块执行四分树分割,以将像素块划分成逐步减小的像素块。较小像素块可与CU相关联。例如,预测处理单元100可将CTB的像素块分割成四个大小相等的子块,将子块中的一或多者分割成四个大小相等的子子块,等等。
视频编码器20可编码CTB的CU以产生CU的经编码表示(即,经译码CU)。视频编码器20可根据z扫描次序编码CTB的CU。换句话说,视频编码器20可按左上方CU、右上方CU、左下方CU和接着右下方CU的彼次序编码所述CU。在视频编码器20编码经分割CU时,视频编码器20可根据z扫描次序编码与经分割CU的像素块的子块相关联的CU。
作为编码CU的部分,预测处理单元100可在CU的一或多个PU当中分割CU的像素块。视频编码器20和视频解码器30可支持各种PU大小。假定特定CU的大小为2N×2N,视频编码器20和视频解码器30可支持2N×2N或N×N的PU大小以供帧内预测,且支持2N×2N、2N×N、N×2N、N×N或类似大小的对称PU大小以供帧间预测。视频编码器20和视频解码器30也可支持对2N×nU、2N×nD、nL×2N和nR×2N的PU大小的非对称分割以供帧间预测。
帧间预测处理单元121可通过对CU的每一PU执行帧间预测来产生PU的预测性数据。PU的预测性数据可包含对应于PU的预测性像素块和PU的运动信息。切片可为I切片、P切片或B切片。帧间预测单元121可取决于PU在I切片中、在P切片中或是在B切片中而对CU的PU执行不同操作。在I切片中,对所有PU进行帧内预测。因此,如果PU在I切片中,那么帧间预测单元121不对PU执行帧间预测。
如果PU在P切片中,那么运动估计单元122可搜索参考图片列表(例如,“列表0”)中的参考图片以查找PU的参考块。PU的参考块可为最紧密地对应于PU的像素块的像素块。运动估计单元122可产生指示含有PU的参考块的列表0中的参考图片的参考图片索引,和指示PU的像素块与参考块之间的空间位移的运动向量。运动估计单元122可输出参考图片索引和运动向量作为PU的运动信息。运动补偿单元124可基于通过PU的运动信息指示的参考块而产生PU的预测性像素块。
如果PU在B切片中,那么运动估计单元122可对PU执行单向帧间预测或双向帧间预测。为了对PU执行单向帧间预测,运动估计单元122可搜索第一参考图片列表(“列表0”)或第二参考图片列表(“列表1”)的参考图片以查找PU的参考块。运动估计单元122可输出以下各者作为PU的运动信息:指示参考图片的列表0或列表1中含有参考块的位置的参考图片索引、指示PU的像素块与参考块之间的空间位移的运动向量,和指示参考图片在列表0或是列表1中的预测方向指示符。
为了对PU执行双向帧间预测,运动估计单元122可搜索列表0中的参考图片以查找PU的参考块,且也可搜索列表1中的参考图片以查找PU的另一参考块。运动估计单元122可产生指示参考图片的列表0和列表1中含有参考块的位置的参考图片索引。另外,运动估计单元122可产生指示参考块与PU的像素块之间的空间位移的运动向量。PU的运动信息可包含PU的参考图片索引和运动向量。运动补偿单元124可基于通过PU的运动信息指示的参考块而产生PU的预测性像素块。
帧内预测处理单元126可通过对PU执行帧内预测来产生PU的预测性数据。PU的预测性数据可包含PU的预测性像素块和各种语法元素。帧内预测处理单元126可对I切片、P切片和B切片中的PU执行帧内预测。
为了对PU执行帧内预测,帧内预测处理单元126可使用多个帧内预测模式来产生PU的预测性数据的多个集合。为了使用帧内预测模式来产生PU的预测性数据的集合,帧内预测处理单元126可使样本在与帧内预测模式相关联的方向上自相邻PU的样本块跨越PU的样本块延伸。假定PU、CU和CTB的左到右、上到下编码次序,那么相邻PU可在PU的上方、右上方、左上方或左方。帧内预测处理单元126可使用各种数目个帧内预测模式,例如,33个定向帧内预测模式。在一些实例中,帧内预测模式的数目可取决于PU的像素块的大小。
预测处理单元100可自CU的PU的由帧间预测处理单元121产生的预测性数据或PU的由帧内预测处理单元126产生的预测性数据当中选择PU的预测性数据。在一些实例中,预测处理单元100基于预测性数据的集合的位率/失真度量而选择CU的PU的预测性数据。所选定预测性数据的预测性像素块可在本文中被称作所选定预测性像素块。
残余产生单元102可基于CU的像素块和CU的PU的所选定预测性像素块而产生CU的残余像素块。例如,残余产生单元102可产生CU的残余像素块,以使得残余像素块中的每一样本具有等于CU的像素块中的样本与CU的PU的所选定预测性像素块中的对应样本之间的差的值。
预测处理单元100可执行四分树分割以将CU的残余像素块分割成子块。每一未经划分的残余像素块可与CU的不同TU相关联。与CU的TU相关联的残余像素块的大小和位置可或可不基于CU的PU的像素块的大小和位置。
因为TU的残余像素块的像素可包括一个明度样本和两个色度样本,所以TU中的每一者可与明度样本的一个块和色度样本的两个块相关联。变换处理单元104可通过将一或多个变换应用于与TU相关联的残余样本块而产生CU的每一TU的系数块。变换处理单元104可将各种变换应用于与TU相关联的残余样本块。例如,变换处理单元104可将离散余弦变换(DCT)、方向变换或概念上类似的变换应用于残余样本块。
量化单元106可对与TU相关联的系数块中的系数进行量化。量化过程可减小与系数中的一些或全部相关联的位深度。例如,可在量化期间将n位系数降值舍位到m位系数,其中n大于m。量化单元106可基于与CU相关联的量化参数(QP)值而对与CU的TU相关联的系数块进行量化。视频编码器20可通过调整与CU相关联的QP值来调整应用于与CU相关联的系数块的量化的程度。
反量化单元108和反变换处理单元110可分别将反量化和反变换应用于系数块以自系数块重构建残余样本块。重构建单元112可将经重构建残余样本块与来自由预测处理单元100产生的一或多个预测性样本块的对应样本相加以产生与TU相关联的经重构建样本块。通过以此方式重构建CU的每一TU的样本块,视频编码器20可重构建CU的像素块。
滤波器单元113可执行解块操作以减少与CU相关联的像素块中的块伪影。经解码图片缓冲器114可在滤波器单元113对经重构建像素块执行一或多个解块操作之后,存储经重构建像素块。帧间预测单元121可使用含有经重构建像素块的参考图片来对其它图片的PU执行帧间预测。另外,帧内预测处理单元126可使用经解码图片缓冲器114中的经重构建像素块来对与CU相同的图片中的其它PU执行帧内预测。
熵编码单元116可自视频编码器20的其它功能组件接收数据。例如,熵编码单元116可自量化单元106接收系数块且可自预测处理单元100接收语法元素。熵编码单元116可对数据执行一或多个熵编码操作以产生经熵编码数据。例如,熵编码单元116可对数据执行以下操作:上下文自适应性可变长度译码(CAVLC)操作、CABAC操作、变量到变量(V2V)长度译码操作、基于语法的上下文自适应性二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作、指数哥伦布编码操作或另一类型的熵编码操作。
视频编码器20可输出包含由熵编码单元116产生的经熵编码数据的位流。位流可包含一系列NAL单元。NAL单元可包含经译码切片NAL单元、SPS NAL单元、PPS NAL单元等等。为了确保图片不包含图像块、WPP波和熵切片的组合,位流可包含指示是否使用WPP来完整地编码图片或是否在不使用WPP的情况下编码图片的每一图像块的语法元素。
图3为说明经配置以实施本发明的技术的实例视频解码器30的框图。出于解释的目的而提供图3且图3并不限制如本发明中广泛地例示和描述的技术。出于解释的目的,本发明在HEVC译码的情况下描述视频解码器30。然而,本发明的技术可适用于其它译码标准或方法。
在图3的实例中,视频解码器30包含熵解码单元150、预测处理单元152、反量化单元154、反变换处理单元156、重构建单元158、滤波器单元159和经解码图片缓冲器160。预测处理单元152包含运动补偿单元162和帧内预测处理单元164。在其它实例中,视频解码器30可包含更多、更少或不同功能组件。
视频解码器30可接收位流。熵解码单元150可剖析位流以自位流提取语法元素。作为剖析位流的部分,熵解码单元150可熵解码位流中的经熵编码语法元素。预测处理单元152、反量化单元154、反变换处理单元156、重构建单元158和滤波器单元159可基于自位流提取的语法元素而产生经解码视频数据。
位流可包括一系列NAL单元。位流的NAL单元可包含经译码切片NAL单元。作为剖析位流的部分,熵解码单元150可自经译码切片NAL单元提取语法元素且熵解码语法元素。经译码切片中的每一者可包含切片标头和切片数据。切片标头可含有关于切片的语法元素。切片标头中的语法元素可包含识别与含有切片的图片相关联的PPS的语法元素。
另外,视频解码器30可对未经分割CU执行重构建操作。为了对未经分割CU执行重构建操作,视频解码器30可对CU的每一TU执行重构建操作。通过对CU的每一TU执行重构建操作,视频解码器30可重构建与CU相关联的残余像素块。
作为对CU的TU执行重构建操作的部分,反量化单元154可对与TU相关联的系数块进行反量化(即,去量化)。反量化单元154可使用与TU的CU相关联的QP值来确定量化的程度,且同样地,确定反量化单元154将应用的反量化的程度。
在反量化单元154对系数块进行反量化之后,反变换处理单元156可将一或多个反变换应用于系数块以便产生与TU相关联的残余样本块。例如,反变换处理单元156可将反DCT、反整数变换、反卡忽南-拉维变换(KLT)、反旋转变换、反方向变换或另一反变换应用于系数块。
如果使用帧内预测来编码PU,那么帧内预测处理单元164可执行帧内预测以产生PU的预测性样本块。帧内预测处理单元164可使用帧内预测模式来基于空间上相邻的PU的像素块而产生PU的预测性像素块。帧内预测处理单元164可基于自位流剖析的一或多个语法元素而确定PU的帧内预测模式。
运动补偿单元162可基于自位流提取的语法元素而构建第一参考图片列表(列表0)和第二参考图片列表(列表1)。此外,如果使用帧间预测来编码PU,那么熵解码单元150可提取PU的运动信息。运动补偿单元162可基于PU的运动信息而确定PU的一或多个参考块。运动补偿单元162可基于PU的一或多个参考块而产生PU的预测性像素块。
重构建单元158可在可适用时,使用与CU的TU相关联的残余像素块和CU的PU的预测性像素块(即,帧内预测数据或帧间预测数据)来重构建CU的像素块。明确地说,重构建单元158可将残余像素块的样本与预测性像素块的对应样本相加以重构建CU的像素块。
滤波器单元159可执行解块操作以减少与CU的像素块相关联的块伪影。视频解码器30可将CU的像素块存储于经解码图片缓冲器160中。经解码图片缓冲器160可提供用于后续运动补偿、帧内预测和呈现于显示装置(例如,图1的显示装置32)上的参考图片。例如,视频解码器30可基于经解码图片缓冲器160中的像素块而对其它CU的PU执行帧内预测或帧间预测操作。
如上文所提及,视频解码器30可接收包含译码模式语法元素的位流。如果译码模式语法元素具有特定值,那么译码模式语法元素指示使用WPP来完整地编码图片。在各种实例中,译码模式语法元素可在位流的各个部分中。例如,SPS可包含译码模式语法元素。以下表1提供包含译码模式语法元素(“tile_mode”)的SPS的实例语法。
表1——序列参数集RBSP语法
具有类型描述符ue(v)的语法元素为使用指数哥伦布译码编码的无正负号可变长度值,其中左位居首。具有类型描述符u(1)和u(2)的语法元素为长度分别为1个位或2个位的无正负号值。在表1的实例语法中,inter_4×4_enabled_flag语法元素指定是否可将帧间预测应用于具有4×4明度样本的大小的块。
此外,在表1的实例语法中,tile_mode语法元素指定与SPS相关联的图片的图像块模式。如果tile_mode语法元素等于0,那么在与SPS相关联的图片中的每一者中存在仅一个图像块。在不使用WPP的情况下根据光栅扫描次序译码每一图片的单一图像块中的CTB。如果tile_mode语法元素等于1,那么与SPS相关联的图片处于均匀隔开的图像块模式中。在图片处于均匀隔开的图像块模式中时,图像块列边界和图像块行边界均匀地分布于与SPS相关联的每一图片中。因此,在图片处于均匀隔开的图像块模式中时,图片的图像块具有相同大小。可在不使用WPP的情况下根据光栅扫描次序编码均匀分布的图像块中的每一者内的CTB。如果tile_mode语法元素等于2,那么与SPS相关联的图片处于不均匀隔开的图像块模式中。在图片处于不均匀隔开的图像块模式中时,图像块列边界和图像块行边界跨越图片不均匀地分布,但可使用SPS的column_width[i]和row_height[i]语法元素显式地用信号发出。可在不使用WPP的情况下根据光栅扫描次序编码不均匀隔开的图像块中的每一者内的CTB。
如果tile_mode语法元素等于3,那么使用WPP模式来译码与SPS相关联的图片。换句话说,如果tile_mode语法元素具有特定值(例如,3),那么使用WPP来完整地编码与SPS相关联的图片。如果tile_mode语法元素具有除了3之外的任一值,那么与SPS相关联的任何图片中无一图像块是使用WPP来编码。此外,在使用WPP来译码图片时,在解码图片的一行CTB中的两个CTB之后调用特定记忆过程。另外,在解码图片的一行CTB中的第一CTB之前调用特定同步过程。另外,在已译码一行中的最右CTB时,调用内部变量的特定CABAC状态重新初始化过程。
在上文所提及的特定记忆过程中,视频译码器可响应于确定第一CTB通过单一CTB而与图片的左边界分离,存储与第一CTB相关联的特定上下文变量。在特定同步过程中,视频译码器可至少部分基于与第一CTB相关联的上下文变量而熵译码(即,熵编码或熵解码)第二CTB的一或多个语法元素,第二CTB定位于邻近于图片的左边界处且定位于比第一CTB低的一行CTB处。
此外,在表1的实例语法中,num_tile_columns_minus1语法元素指定分割与SPS相关联的图片中的每一者的图像块列的数目。在tile_mode语法元素等于0或3时,可推断num_tile_columns_minus1语法元素的值等于0。这是因为在tile_mode语法元素等于0时,在图片中存在仅一单一图像块,且在tile_mode语法元素等于3时,图片的每一CTB行为单一图像块。num_tile_rows_minus1语法元素指定分割与SPS相关联的图片中的每一者的图像块行的数目。在tile_mode语法元素等于0时,可推断num_tile_rows_minus1语法元素的值等于0。在tile_mode语法元素等于3时,视频解码器30可自动地确定(即,推断)num_tile_rows_minus1语法元素的值等于CTB中的图片的高度减去1所得值。此外,在tile_mode语法元素等于1或2时,num_tile_columns_minus1语法元素和num_tile_rows_minus1语法元素中的至少一者大于0。
视频解码器30可基于column_width[i]语法元素和row_height[i]语法元素而确定与SPS相关联的图片的图像块的宽度和高度。column_width[i]语法元素指示与SPS相关联的图片的图像块列的宽度。视频解码器30可至少部分基于column_width[i]语法元素而产生指示与SPS相关联的图片中的图像块的列的宽度的columnWidth向量。视频解码器30可使用以下伪码自SPS的column_width[i]语法元素产生columnWidth向量。
视频解码器30可产生指示与SPS相关联的图片中的图像块的高度的rowHeight向量。在一些实例中,视频解码器30可使用以下伪码来产生rowHeight向量。
此外,视频解码器30可产生指示图像块的每一列的最左列边界的在与SPS相关联的图片内的位置的colBd向量。在一些实例中,视频解码器30可使用以下伪码来确定colBd向量。
colBd[0]=0
for(i=0;i<=num_tile_columns_minus1;i++)
colBd[i+1]=colBd[i]+columnWidth[i]
视频解码器30可产生指示图像块的每一行的顶行边界的在与SPS相关联的图片内的位置的rowBd向量。在一些实例中,视频解码器30可使用以下伪码来确定rowBd向量。
rowBd[0]=0
for(i=0;i<=num_tile_rows_minus1;i++)
rowBd[i+1]=rowBd[i]+rowHeight[i]
在表1的实例语法中,tile_boundary_independence_flag语法元素指示是否可独立地解码图像块。例如,如果tile_boundary_independence_flag等于1,那么可独立地解码图像块。例如,如果tile_boundary_independence_flag等于1且视频解码器30正解码特定CTB,那么确定不在与特定CTB相同的图像块内的与特定CTB相邻的所有CTB不可用于图片中预测。此外,如果tile_boundary_independence_flag等于1,那么视频解码器30在熵解码图像块中的第一CTB之前重新初始化熵译码上下文。
如果tile_boundary_independence_flag语法元素等于0,那么用于图片中预测的CTB的可用性不受图像块边界影响。换句话说,如果tile_boundary_independent_flag语法元素等于0,那么视频解码器30可执行跨越图像块边界的图片中预测。此外,如果tile_boundary_independence_flag语法元素等于0,那么熵解码单元150可在解码图像块中的第一CTB时调用同步过程,图片中的第一树块除外。在此同步过程中,熵解码单元150可使用与先前图像块的最后CTB相关联的信息来选择用于熵解码图像块中的第一CTB的一或多个语法元素的译码上下文。另外,熵解码单元150可在解码图像块中的第二CTB行中的第一CTB时执行记忆过程。记忆过程可存储上下文变量,以用于在选择用于CABAC译码CTB之下一较低行中的最左CTB的一或多个语法元素的上下文中使用。
如果tile_mode语法元素等于0(即,每一图片存在仅一个图像块),那么在表1的实例语法中,SPS不包含tile_boundary_independence_flag语法元素。然而,如果tile_mode语法元素等于0,那么视频解码器30可自动地确定tile_boundary_independence_flag语法元素的值等于1。类似地,如果tile_mode语法元素等于3(即,使用WPP来完整地编码图片),那么在表1的实例语法中,SPS不包含tile_boundary_independence_flag语法元素。然而,如果tile_mode语法元素等于3,那么视频解码器30可自动地确定tile_boundary_independence_flag语法元素的值等于0。
在表1的实例语法中,loop_filter_across_tile_flag语法元素指定视频解码器30是否将执行跨越图像块边界的回路内滤波操作。例如,如果loop_filter_across_tile_flag语法元素等于1,那么视频解码器30可执行跨越图像块边界的回路内滤波操作。否则,如果loop_filter_across_tile_flag语法元素等于0,那么视频解码器30可不执行跨越图像块边界的回路内滤波操作。实例回路内滤波操作可包含解块滤波器、样本自适应性偏移和自适应性回路滤波器。
如果tile_mode语法元素等于0(即,每一图片存在仅一个图像块)或等于3(即,使用WPP来完整地编码与SPS相关联的每一图片),那么在表1的实例语法中,SPS不包含loop_filter_across_tile_flag语法元素。然而,如果tile_mode语法元素等于0,那么视频解码器30可自动地确定loop_filter_across_tile_flag语法元素的值等于0。如果tile_mode语法元素等于3,那么视频解码器30可自动地确定loop_filter_across_tile_flag语法元素的值等于1。
替代地,或除接收包含译码模式语法元素的SPS之外,视频解码器30也可接收包含译码模式语法元素的PPS。在视频解码器30接收应用于相同图片的SPS和PPS且SPS与PPS两者包含译码模式语法元素的一些实例中,视频解码器30可将优先权给予由PPS指定的译码模式语法元素。以下表2呈现包含译码模式语法元素(“tile_mode”)的PPS的实例语法。
表2——图片参数集RBSP语法
在表2的实例语法中,如果tile_partition_info_present_flag语法元素等于1,那么存在tile_mode语法元素。另外,如果tile_partition_info_present_flag语法元素等于1,那么num_tile_columns_minus1、num_tile_rows_minus1、column_width[i]和row_height[i]语法元素可存在于PPS中。tile_mode语法元素、num_tile_columns_minus1语法元素、num_tile_rows_minus1语法元素、column_width语法元素和row_height的语意可与以上关于表1的实例SPS语法所描述的语意相同。如果tile_partition_info_present_flag语法元素等于0,那么tile_mode、num_tile_columns_minus1、num_tile_rows_minus1、column_width[i]和row_height[i]语法元素不存在于PPS中。
以此方式,视频解码器30可至少部分基于具有指示图片中无CTB是使用WPP来编码的值的译码模式语法元素(例如,tile_mode)来确定参数集(例如,SPS或PPS)包含图像块列数语法元素和图像块行数语法元素。视频解码器30也可基于图像块列数语法元素而确定图像块列的数目。与参数集相关联的每一图片的图像块的列的数目可等于图像块列的数目。视频解码器30也可基于图像块行数语法元素而确定图像块行的数目。与参数集相关联的每一图片的图像块的行的数目可等于图像块行的数目。此外,视频解码器30可确定参数集(例如,SPS或PPS)包含一系列一或多个列宽度语法元素和一系列一或多个图像块高度语法元素。另外,视频解码器30可至少部分基于列宽度语法元素而确定与参数集相关联的每一图片的图像块的列的宽度。此外,视频解码器30可至少部分基于图像块高度语法元素而确定与参数集相关联的每一图片的图像块的高度。
类似地,视频编码器20可产生包含图像块列数语法元素和图像块行数语法元素的参数集。参数集可为图片参数集(PPS)或序列参数集(SPS)。图像块列的数目可基于图像块列数语法元素而确定,且与参数集相关联的每一图片的图像块的列的数目等于图像块列的数目。图像块行的数目可基于图像块行数语法元素而确定,且与参数集相关联的每一图片的图像块的行的数目等于图像块行的数目。在视频编码器20产生参数集时,视频编码器20可产生一系列一或多个列宽度语法元素和一系列一或多个行高度语法元素。与参数集相关联的每一图片的图像块的列的宽度可至少部分基于列宽度语法元素而确定。与参数集相关联的每一图片的图像块的行的高度可至少部分基于行高度语法元素而确定。
此外,在表2的实例语法中,如果tile_control_info_present_flag语法元素等于1,那么tile_boundary_independence_flag和loop_filter_across_tile_flag语法元素可存在于PPS中。如果tile_control_info_present_flag语法元素等于0,那么tile_boundary_independence_flag和loop_filter_across_tile_flag语法元素不存在于PPS中。
在表2的实例语法中,如果entropy_slice_enabled_flag等于1,那么参考PPS的经译码切片可包含一或多个熵切片(且可由一或多个熵切片组成)。如果entropy_slice_enabled_flag语法元素等于0,那么参考PPS的经译码切片不含有熵切片。在entropy_slice_enabled_flag语法元素不存在时,视频解码器30可自动地确定(即,推断)entropy_slice_enabled_flag语法元素等于0。PPS的其它语法元素的语意可与HEVC WD5中所定义的语意相同。
在表2的实例语法中,如果tile_mode语法元素等于0,那么PPS仅包含entropy_slice_enabled_flag语法元素。如上文所论述,视频解码器30可基于tile_mode语法元素而确定是否使用WPP来解码图片的每一图像块的CTB。因此,视频解码器30可基于具有特定值的译码模式语法元素(例如,tile_mode)而确定位流包含额外语法元素(例如,entropy_slice_enabled_flag),所述额外语法元素指示针对参考包含译码模式语法元素和额外语法元素的参数集(例如,SPS或PPS)的图片的经编码表示是否启用熵切片。
如上文所描述,经译码切片NAL单元可包含切片的经译码表示。切片的经译码表示可包含切片标头,继之以切片数据。在一些实例中,视频解码器30可至少部分基于译码模式语法元素(例如,tile_mode)而确定切片标头是否包含多个入口偏移语法元素,可自所述多个入口偏移语法元素确定切片数据中的子流的入口点。响应于确定切片标头包含入口偏移语法元素,视频解码器30可使用多个入口偏移语法元素来确定切片数据中的子流的入口点。换句话说,视频解码器30可至少部分基于偏移语法元素而确定子流的在存储器中的位置。如果译码模式语法元素具有一个值(例如,3),那么由子流中的单一者来表示图片的CTB的每一行。如果译码模式语法元素具有不同值(例如,0、1或2),那么由子流中的单一者来表示具有切片中的一或多个CTB的图片的每一图像块。切片标头可遵照以下表3的实例语法。
表3——切片标头语法
在表3的实例语法中,切片标头语法元素“pic_parameter_set_id”、“frame_num”、“idr_pic_id”、“pic_order_cnt_lsb”、“delta_pic_order_cnt[0]”和“delta_pic_order_cnt[1]”的值在经译码图片的所有切片标头中相同。此外,在表3的实例语法中,first_slice_in_pic_flag语法元素指示切片是否包含涵盖图片的左上方明度样本的CU。如果first_slice_in_pic_flag语法元素等于1,那么视频解码器30可将变量SliceAddress与LCUAddress两者设定为0,且视频解码器30可以图片中的第一CTB开始解码。
此外,在表3的实例语法中,slice_address语法元素以切片细微度分辨率指定切片开始的地址。切片细微度分辨率为切片经定义而具有的细微度。slice_address语法元素的位的数目可等于(Ceil(Log2(NumLCUsInPicture))+SliceGranularity),其中“NumLCUsInPicture”为图片中的CTB的数目。
在表3的实例语法中,视频解码器30将LCUAddress变量设定为(slice_address>>SliceGranularity)。LCUAddress变量指示按光栅扫描次序的切片的切片地址的LCU部分。视频解码器30将GranularityAddress变量设定为(slice_address-(LCUAddress<<SliceGranularity))。GranularityAddress变量表示切片地址的子LCU部分。按z扫描次序表达GranularityAddress变量。
视频解码器30将SliceAddress变量设定为(LCUAddress<<(log2_diff_max_min_coding_block_size<<1))+(GranularityAddress<<((log2_diff_max_min_coding_block_size<<1)-SliceGranularity))。值log2_diff_max_min_coding_block_size指定最大CU大小与最小CU大小之间的差。视频解码器30可以切片开始坐标处可能的最大CU开始解码切片。切片开始坐标可为切片的第一CU的左上方像素的坐标。
此外,在表3的实例语法中,cabac_init_idc语法指定用于确定用于上下文变量的初始化过程中的初始化表的索引。cabac_init_idc语法元素的值可在0到2的范围中,包含0和2。
在表3的实例语法中,num_entry_offsets语法元素指定切片标头中的entry_offset[i]语法元素的数目。换句话说,多个入口偏移语法元素中的入口偏移语法元素的数目可基于num_entry_offsets语法元素而确定。当不存在num_entry_offsets语法元素时,视频解码器30可确定num_entry_offsets语法元素的值等于0。以此方式,视频解码器30可基于num_entry_offsets语法元素而确定在多个入口偏移语法元素中有多少个偏移语法元素。offset_len_minus8语法元素加上8指定entry_offset[i]语法元素的以位为单位的长度。换句话说,入口偏移语法元素中的每一者的以位为单位的长度可基于offset_len_minus8语法元素而确定。以此方式,视频解码器30可基于offset_len_minus8语法元素而确定偏移语法元素的以位为单位的长度。entry_offset[i]语法元素指定第i个入口偏移(以字节为单位)。
视频解码器30可至少部分基于多个偏移语法元素中有多少个偏移语法元素和偏移语法元素的以位为单位的长度,自位流剖析偏移语法元素。经译码切片NAL单元中的子流的数目可等于num_entry_offsets+1。子流的索引值可在0到num_entry_offsets的范围中,包含0和num_entry_offsets。经译码切片NAL单元的子流0可由以下各者组成:经译码切片NAL单元的切片数据的字节0到entry_offset[0]-1,包含0和entry_offset[0]-1。经译码切片NAL单元的子流k(其中k在1到num_entry_offsets-1的范围中,包含1和num_entry_offsets-1)可由以下各者组成:经译码切片NAL单元的切片数据的字节entry_offset[k-1]到entry_offset[k]-1,包含entry_offset[k-1]和entry_offset[k]-1。经译码切片NAL单元的最后子流(其中子流索引等于num_entry_offsets)可由经译码切片NAL单元的切片数据的字节中的其余部分组成。
在表3的实例语法中,如果tile_mode语法元素大于0,那么具有在1到num_entry_offsets-1的范围中的子流索引的每一子流含有一个图像块的每一经译码位,且具有子流索引0的子流含有图像块的每一经译码位或图像块的若干个末尾经译码位。图像块的末尾经译码位为在图像块的末尾处经译码的经译码位。此外,如果tile_mode语法元素大于0,那么最后子流(即,具有等于num_entry_offsets的子流索引的子流)含有图像块的所有经译码位或图像块的若干个开始经译码位。图像块的开始经译码位为在图像块的开始处经译码的经译码位。子流不含有一个以上图像块的经译码位。在表3的实例语法中,子流0中始终包含经译码切片NAL单元的NAL单元标头和切片标头。如果tile_mode语法元素等于0且entropy_slice_enabled_flag语法元素等于1,那么每一子流含有一个熵切片的每一经译码位且不含有另一熵切片的任何经译码位。
在表3的实例语法中,entropy_slice_address[i]语法元素以切片细微度分辨率指定经译码切片NAL单元中的第(i+1)个熵切片的开始地址。entropy_slice_address[i]语法元素中的每一者的以位为单位的大小可等于(Ceil(Log2(NumLCUsInPicture))+SliceGranularity)。
此外,在表3的实例语法中,“entropy_slice_cabac_init_idc[i]”语法元素指定经译码切片NAL单元中的第(i+1)个熵切片的用于确定用于上下文变量的初始化过程中的初始化表的索引。entropy_slice_cabac_init_idc[i]的值在0到2的范围中,包含0和2。切片标头的其它语法元素的语意可与HEVC WD5中所定义的语意相同。
在一些实例中,entry_offset[i]语法元素指示就位来说的子流的偏移。此外,在一些实例中,切片标头可包含指示“entry_offset[i]”的单位为字节(在等于1时)或是位(在等于0时)的旗标。此旗标可位于切片标头中在offset_len_minus8语法元素之后。
此外,在一些实例中,切片标头可包含每一子流(包含子流0)的语法元素,所述语法元素用以指示相应子流的子流类型。在此实例中,如果子流的语法元素具有第一值,那么子流为图像块。如果子流的语法元素具有第二值,那么子流为熵切片。
如上文所提及,经译码表示可包含切片标头和切片数据。切片数据可包含一或多个子流。如果译码模式语法元素具有第一值(例如,3),那么图片的CTB的每一行由子流中的单一者来表示。如果语法元素具有第二值(例如,0、1或2),那么具有切片中的一或多个CTB的图片的每一图像块由子流中的单一者来表示。为了促进WPP或平行地解码切片的图像块,切片数据中的子流可包含确保子流的字节对准的填补位。然而,在图片中存在仅一个图像块且不启用熵切片的例子中,可能不需要包含这些填补位。因此,视频解码器30可至少部分基于译码模式语法元素(例如,tile_mode)而确定切片数据中的子流是否包含确保子流的字节对准的填补位。
切片数据可遵照以下表4的实例语法。
表4——切片数据语法
在表4的实例语法中,切片数据包含coding_tree()函数。在视频解码器30剖析切片数据时,视频解码器30可执行回圈。在回圈的每一反复期间,视频解码器30调用coding_tree()函数以剖析切片数据中的经译码CTB。在视频解码器30调用coding_tree()函数以剖析特定经译码CTB时,视频解码器30可自切片数据剖析end_of_slice_flag语法元素。如果end_of_slice_flag语法元素等于0,那么在切片或熵切片中存在在特定经译码CTB之后的另一CTB。如果end_of_slice_flag语法元素等于1,那么特定经译码CTB为切片或熵切片的最后经译码CTB。
此外,表4的实例语法包含byte_index()函数。byte_index()函数可返回NAL单元的位内的当前位置的字节索引。NAL单元的位内的当前位置可为NAL单元的第一未经剖析位。如果位流中之下一位为NAL单元标头的第一字节的任何位,那么byte_index()函数返回等于0的值。
表4的切片数据语法为实例。在切片数据语法的其它实例中,用条件“if(tile_mode==l||tile_mode==2||entropy_slice_enabled_flag)”来替换表4的条件“if(tile mode!=0||entropy_slice_enabled_flag)”。
图4为说明根据本发明的一或多个方面的用于编码视频数据的视频编码器20的实例操作200的流程图,其中不允许单一图片内的图像块与WPP波的组合。作为实例提供图4。在其它实例中,可使用比图4的实例中所展示的步骤多、比所述步骤少或不同于所述步骤的步骤来实施本发明的技术。
在图4的实例中,视频编码器20通过根据第一译码模式编码图片产生第一经译码图片(202)。在视频编码器20根据第一译码模式编码图片时,使用WPP完整地编码图片。另外,视频编码器20可通过根据第二译码模式编码图片产生第二经译码图片(204)。在视频编码器20根据第二译码模式编码图片时,视频编码器20可将图片分割成一或多个图像块。视频编码器20可在不使用WPP的情况下编码图片的每一图像块(即,编码图像块中的每一者中的每一CTB)。例如,视频编码器20可在不使用WPP的情况下根据光栅扫描次序编码图像块中的每一者的CTB。视频编码器20接着可选择第一经译码图片或第二经译码图片(206)。在一些实例中,视频编码器20可基于第一经译码图片和第二经译码图片的位率/失真分析而选择第一经译码图片或第二经译码图片。视频编码器20可产生位流,位流包含所选定经译码图片和指示根据第一译码模式或是第二译码模式编码图片的语法元素(208)。
图5为说明根据本发明的一或多个方面的用于解码视频数据的视频解码器30的实例操作220的流程图,其中不允许单一图片内的图像块与WPP的组合。作为实例提供图5。
在图5的实例中,视频解码器30可自包含视频数据中的图片的经译码表示的位流剖析语法元素(222)。视频解码器30可确定语法元素是否具有特定值(224)。响应于确定所述语法元素具有特定值(224的“是”),视频解码器30可使用WPP来完整地解码所述图片(226)。响应于确定所述语法元素不具有所述特定值(224的“否”),视频解码器30可在不使用WPP的情况下解码所述图片的每一图像块,其中图片具有一或多个图像块(228)。
图6为说明根据本发明的一或多个方面的用于解码视频数据的视频解码器30的实例操作230的流程图,其中不允许单一图片内的图像块与WPP的组合。作为实例提供图6。在其它实例中,可使用比图6的实例中所展示的步骤多、比所述步骤少或不同于所述步骤的步骤来实施本发明的技术。图6可为图5的操作220的更特定实例。
在图6的实例中,视频解码器30接收位流(231)。视频解码器30可自位流剖析语法元素(232)。在一些实例中,位流包含包含语法元素的SPS。在其它实例中,位流包含包含语法元素的PPS。
随后,视频解码器30可确定语法元素是否具有第一值(例如,0)(234)。在图6的实例中,如果语法元素具有第一值(234的“是”),那么图片具有单一图像块,且视频解码器30可在不使用WPP的情况下解码图片的单一图像块(236)。
然而,如果语法元素不具有第一值(234的“否”),那么视频解码器30可确定语法元素是否具有第二值(例如,1)(238)。响应于确定语法元素具有第二值(238的“是”),视频解码器30可确定图片具有多个均匀隔开的图像块,且视频解码器30可在不使用WPP的情况下解码均匀隔开的图像块中的每一者(240)。
另一方面,如果语法元素不具有第二值(238的“否”),那么视频解码器30可确定语法元素是否具有第三值(例如,2)(242)。响应于确定语法元素具有第三值(242的“是”),视频解码器30可确定图片具有多个不均匀隔开的图像块,且视频解码器30可在不使用WPP的情况下解码图片的不均匀隔开的图像块(244)。然而,响应于确定所述语法元素不具有第三值(242的“否”),视频解码器30可使用WPP来完整地解码所述图片(246)。以此方式,如果语法元素具有第一值(例如,3),那么使用WPP完整地编码图片,且如果语法元素具有不同于第一值的第二值(例如,0、1或2),那么将图片分割成一或多个图像块,且在不使用WPP的情况下编码图片。
图7为说明根据本发明的一或多个方面的用于编码视频数据的视频编码器20的实例操作270的流程图,其中图片的CTB的每一列在单独子流中。在一些视频译码***中,存在用信号发出图像块和WPP波的入口点的不同方式。此可增加这些视频译码***的复杂度。本发明的技术(且如关于图7和图8所解释)可通过提供用于指示图像块、WPP波和(在一些实例中)熵切片的入口点的统一语法来解决这些问题。
在图7的实例中,视频编码器20用信号发出:使用WPP来编码视频图片序列中的图片(272)。视频编码器20可以各种方式用信号发出使用WPP来编码图片。例如,视频编码器20可产生包含指示是否使用WPP来完整地解码图片的语法元素(例如,“tile_mode”)的SPS。在另一实例中,视频编码器20可产生包含指示是否使用WPP来解码图片的语法元素(例如,“tile_mode”)的PPS。
此外,视频编码器20可执行WPP以产生多个子流(274)。子流中的每一者可包含表示图片的切片中的CTB的一个经编码行的位的连续系列。因此,CTB的每一行经编码为一个子流。视频编码器20可产生包含多个子流的经译码切片NAL单元(276)。经译码切片NAL单元可包含遵照上文表3和表4的实例语法的切片标头和切片数据。
图8为说明根据本发明的一或多个方面的用于解码视频数据的视频解码器30的实例操作280的流程图,其中图片的CTB的每一行在单独子流中。在图8的实例中,视频解码器30接收包含经译码切片NAL单元的位流(282)。经译码切片NAL单元包含多个子流。子流中的每一者可包含表示图片的切片中的CTB的一个行的位的连续系列。此外,在图8的实例中,视频解码器30基于位流中的一或多个语法元素而确定切片是使用WPP而编码(284)。例如,视频解码器30可基于等于3的tile_mode语法元素而确定切片是使用WPP而编码。在此实例中,如果tile_mode语法元素不等于3,那么视频解码器30可在不使用WPP的情况下解码图片的一或多个图像块中的每一者。
接下来,视频解码器30可使用WPP解码切片(286)。在视频解码器30解码切片时,视频解码器30可剖析与切片的CTB相关联的语法元素。视频解码器30可作为剖析与CTB相关联的语法元素的部分对语法元素中的一些语法元素执行CABAC剖析过程。
图9A为说明根据本发明的一或多个方面的用以剖析切片数据的实例CABAC剖析过程300的第一部分的流程图。当剖析切片数据中和译码树语法中的具有描述符ae(v)的语法元素时,视频解码器30可执行图9A的过程。图9A的过程可输出语法元素的值。
在图9A的实例中,视频解码器30的熵解码单元150执行CABAC剖析过程的初始化(302)。在一些实例中,CABAC剖析过程的初始化与HEVC WD5的子条款9.2.1中所描述的初始化相同。
另外,熵解码单元150可确定相邻CTB的地址(304)。相邻CTB可为含有在左方、左上方、上方或右上方相邻于当前CTB(即,视频解码器30当前正解码的CTB)的块的CTB。在一些实例中,熵解码单元150可将相邻CTB的地址确定为:
tbAddrT=cuAddress(x0+2*(1<<Log2MaxCUSize)-1,y0-1)
在以上公式中,tbAddrT表示相邻CTB的地址,x0表示当前CTB的左上方明度样本的x坐标,y0表示当前CTB的左上方明度样本的y坐标,且Log2MaxCUSize表示CU的最大大小的底数为2的对数。函数cuAddress返回CU的地址,所述地址包含由第一参数指定的x坐标和由第二参数指定的y坐标。
接下来,熵解码单元150可使用相邻CTB的地址来确定用于图片中预测的相邻CTB的可用性(306)。换句话说,熵解码单元150可确定与相邻CTB相关联的信息是否可用于在选择CABAC上下文中使用。
熵解码单元150可以各种方式确定用于图片中预测的相邻CTB的可用性。例如,熵解码单元150可执行WD5的子条款6.4.3中所描述的过程(其中tbAddrT作为输入),以确定用于图片中预测的相邻CTB的可用性。在另一实例中,除非以下条件中的一者为真,否则熵解码单元150可确定CTB可用于图片中预测。如果以下条件中的一者为真,那么熵解码单元150可确定CTB不可用于图片中预测。第一,如果CTB的地址小于0,那么熵解码单元150可确定CTB不可用于图片中预测。第二,如果CTB的地址大于熵解码单元150当前正剖析的CTB的地址,那么熵解码单元150可确定CTB不可用于图片中预测。第三,如果特定CTB属于不同于熵解码单元150当前正剖析的CTB的切片,那么熵解码单元150可确定特定CTB不可用于图片中预测。例如,如果将特定CTB的地址表示为tbAddr且将熵解码单元150当前正剖析的CTB的地址表示为CurrTbAddr,那么熵解码单元150可确定具有地址tbAddr的CTB属于不同于具有地址CurrTbAddr的CTB的切片。第四,如果位流中的一或多个语法元素指示可独立地解码视频解码器30当前正解码的图片的图像块,且CTB在不同于熵解码单元150当前正剖析的CTB的图像块中,那么熵解码单元150可确定CTB不可用于图片中预测。例如,如果表1的实例语法的tile_boundary_independence_flag语法元素等于1且具有地址tbAddr的CTB含于不同于具有地址CurrTbAddr的CTB的图像块中,那么熵解码单元150可确定CTB不可用于图片中预测。
此外,熵解码单元150可确定熵解码单元150当前正剖析的语法元素(即,当前语法元素)是否在译码树语法结构中(308)。如果当前语法元素不在译码树语法结构中(308的“否”),那么熵解码单元150可执行图9B中所展示的CABAC剖析过程300的部分。另一方面,如果当前语法元素在译码树结构中(308的“是”),那么熵解码单元150可确定是否可独立地解码当前图片(即,包含当前CTB的图片)的图像块(310)。例如,在表1的实例SPS语法中,如果与当前图片相关联的SPS包含等于1的tile_boundary_independence_flag语法元素,那么熵解码单元150可确定可独立地解码当前图片的图像块。响应于确定可独立地解码当前图片的图像块(310的“是”),熵解码单元150可执行图9B中所展示的CABAC剖析过程300的部分。
然而,响应于确定不可独立地解码当前图片的图像块(310的“否”),熵解码单元150可确定tbAddr%picWidthInLCUs是否等于0,其中tbAddr为相邻CTB的地址,%表示模数运算子,且picWidthInLCUs指示CTB(即,LCU)中的当前图片的宽度(312)。
响应于确定tbAddr%picWidthInLCUs等于0(312的“是”),熵解码单元150可确定相邻CTB是否可用于图片中预测(314)。在一些实例中,熵解码单元150可在动作306中执行过程以确定指示相邻CTB是否可用于图片中预测的变量availableFlagT的值。如果变量availableFlagT等于1,那么相邻CTB可用于图片中预测。在动作314中,熵解码单元150可确定变量availableFlagT是否等于1。
响应于确定相邻CTB可用于图片中预测(314的“是”),熵解码单元150可执行CABAC剖析过程的同步过程(316)。在一些实例中,熵解码单元150可执行HEVC WD5的子条款9.2.1.3中所描述的同步过程。在执行同步过程之后或响应于确定相邻CTB不可用于图片中预测(314的“否”),熵解码单元150可执行在终止之前的针对二进制决策的解码过程(318)。大体来说,在终止之前的针对二进制决策的解码过程为用于熵解码end_of_slice_flag和pcm_flag语法元素的特殊解码过程。视频解码器30可使用end_of_slice_flag和pcm_flag在剖析切片数据的过程的终止之前作出二进制决策。在一些实例中,熵解码单元150可执行如HEVC WD5的子条款9.2.3.2.4中所指定的在终止之前的针对二进制决策的解码过程。
在执行在终止之前的二进制决策的解码过程(318)之后,熵解码单元150可执行算术解码引擎的初始化过程(320)。在一些实例中,熵解码单元150可执行HEVC WD5的子条款9.2.1.4中所定义的初始化过程。在执行算术解码引擎的初始化过程之后,熵解码单元150可执行图9B中所展示的CABAC剖析过程300的部分。
如果tbAddr%picWidthInLCUs不等于0(312的“否”),那么熵解码单元150可确定tbAddr%picWidthInLCUs是否等于2(322)。换句话说,熵解码单元150可确定相邻CTB的CTB地址模除CTB中的当前图片的宽度所得值是否等于2。响应于确定tbAddr%picWidthInLCUs不等于2,熵解码单元150可执行图9B中所展示的CABAC剖析过程300的部分。然而,响应于确定tbAddr%picWidthInLCUs等于2(322的“是”),熵解码单元150可执行记忆过程(324)。大体来说,记忆过程输出用于指派给不同于end_of_slice_flag语法元素的语法元素的上下文变量的初始化过程中的变量。在一些实例中,熵解码单元150可执行HEVC WD5的子条款9.2.1.2中所定义的记忆过程。在执行记忆过程之后,熵解码单元150可执行图9B中所展示的CABAC剖析过程300的部分。
图9B为说明图9A的实例CABAC剖析过程300的接续部分的流程图。如图9B中所展示,熵解码单元150可使当前语法元素二进制化(330)。换句话说,熵解码单元150可导出当前语法元素的二进制化。语法元素的二进制化可为语法元素的所有可能值的分格字串的集合。分格字串是为来自语法元素的二进制化的语法元素的值的中间表示的分格的字串。在一些实例中,熵解码单元150可执行HEVC WD5的子条款9.2.2中所定义的过程,以导出当前语法元素的二进制化。
另外,熵解码单元150可确定译码过程流程(332)。熵解码单元150可基于当前语法元素的二进制化和经剖析分格的序列而确定译码过程流程。在一些实例中,熵解码单元150可确定如HEVC WD5的子条款9.2.2.9中所描述的译码过程流程。
此外,熵解码单元150可确定当前语法元素的二进制化的每一分格的上下文索引(334)。由变量binIdx对当前语法元素的二进制化的分格中的每一者标以索引,且可将当前语法元素的二进制化的分格的上下文索引表示为ctxIdx。在一些实例中,熵解码单元150可确定如HEVC WD5的子条款9.2.3.1中所指定的当前语法元素的二进制化的分格的上下文索引。
熵解码单元150可执行每一上下文索引的算术解码过程(336)。在一些实例中,熵解码单元150可执行如HEVC WD5的子条款9.2.3.2中所指定的每一上下文索引的算术解码过程。通过执行每一上下文索引的算术解码过程,熵解码单元150可产生经剖析分格的序列。
熵解码单元150可确定经剖析分格的序列是否匹配由当前语法元素的二进制化产生的分格字串的集合中的分格字串(340)。如果经剖析分格的序列匹配由当前语法元素的二进制化产生的分格字串的集合中的分格字串(340的“是”),那么熵解码单元150可将对应值指派给当前语法元素(342)。在将对应值指派给当前语法元素之后或响应于确定经剖析分格的序列不匹配通过当前语法元素的二进制化产生的分格字串的集合中的任何分格字串(340的“否”),熵解码单元150已完成剖析当前语法元素。
在一些实例中,如果当前语法元素为mb_type语法元素,且mb_type语法元素的经解码值等于I_PCM,那么可在解码任何pcm_alignment_zero_bit语法元素和所有pcm_sample_luma和pcm_sample_chroma数据之后初始化熵解码单元150,如HEVC WD5的子条款9.2.1.2中所指定。
图10为说明WPP的实例的概念图。如上文所描述,可将图片分割成像素块,所述像素块中的每一者与CTB相关联。图10将与CTB相关联的像素块说明为白色正方形的栅格。图片包含CTB行350A到350E(统称为“CTB行350”)。
第一平行处理线程(例如,由多个平行处理核心中的一者执行)可能正译码CTB行350A中的CTB。与此同时,其它线程(例如,由其它平行处理核心执行)可能正译码CTB行350B、350C和350D中的CTB。在图10的实例中,第一线程当前正译码CTB352A,第二线程当前正译码CTB352B,第三线程当前正译码CTB352C,且第四线程当前正译码CTB352D。本发明可将CTB352A、352B、352C和352D通称为“当前CTB352”。因为视频译码器可在已译码紧接的较高行的两个以上CTB之后开始译码CTB行,所以将当前CTB352彼此水平地位移达两个CTB的宽度。
在图10的实例中,线程可使用来自由粗灰色箭头指示的CTB的数据来对当前CTB352中的CU执行帧内预测或帧间预测。(线程也可使用来自一或多个参考帧的数据来执行CU的帧间预测。)为了译码给定CTB,线程可基于与先前经译码CTB相关联的信息而选择一或多个CABAC上下文。线程可使用一或多个CABAC上下文来对与给定CTB的第一CU相关联的语法元素执行CABAC译码。如果给定CTB并非行的最左CTB,那么线程可基于与在给定CTB左方的CTB的最后CU相关联的信息而选择一或多个CABAC上下文。如果给定CTB为行的最左CTB,那么线程可基于与在给定CTB上方和右方的两个CTB处的CTB的最后CU相关联的信息而选择一或多个CABAC上下文。线程可使用来自通过细黑色箭头指示的CTB的最后CU的数据来选择当前CTB352的第一CU的CABAC上下文。
图11为说明经分割成多个图像块402A、402B、402C、402D、402E和402F(统称为“图像块402”)的图片400的实例CTB译码次序的概念图。图片400中的每一正方形块表示与CTB相关联的像素块。粗虚线指示实例图像块边界。不同类型的交叉影线对应于不同切片。
像素块中的编号指示按图片400的图像块译码次序的对应CTB(LCU)的位置。如图11的实例中所说明,首先译码图像块402A中的CTB,接着译码图像块402B中的CTB,接着译码图像块402C中的CTB,接着译码图像块402D中的CTB,接着译码图像块402E中的CTB,接着译码图像块402F中的CTB。在图像块402中的每一者内,根据光栅扫描次序译码CTB。
视频编码器可针对图片400产生四个经译码切片NAL单元。第一经译码切片NAL单元可包含CTB1到18的经编码表示。第一经译码切片NAL单元的切片数据可包含两个子流。第一子流可包含CTB1到9的经编码表示。第二子流可包含CTB10到18的经编码表示。因此,第一经译码切片NAL单元可包含含有多个图像块的切片的经编码表示。
第二经译码切片NAL单元可包含CTB19到22的经编码表示。第二经译码切片NAL单元的切片数据可包含单一子流。第三经译码切片NAL单元可包含CTB23到27的经编码表示。第三经译码切片NAL单元的切片数据可包含仅单一子流。因此,图像块402C可含有多个切片。
第四经译码切片NAL单元可包含CTB28到45的经编码表示。第四经译码切片NAL单元的切片数据可包含三个子流,图像块402D、402E和402F中的每一者一个子流。因此,第四经译码切片NAL单元可包含含有多个图像块的切片的经编码表示。
在一或多个实例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么所述功能可作为一或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体来传输,且由基于硬件的处理单元来执行。计算机可读媒体可包含计算机可读存储媒体或通信媒体,计算机可读存储媒体对应于例如数据存储媒体的有形媒体,通信媒体包含促进计算机程序(例如)根据通信协议自一处传送到另一处的任何媒体。以此方式,计算机可读媒体大体上可对应于:(1)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中所描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,这些计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器,或可用于存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。又,任何连接可适当地被称作计算机可读媒体。例如,如果使用同轴电缆、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波的无线技术而自网站、服务器或其它远端源传输指令,那么同轴电缆、光纤缆线、双绞线、DSL或例如红外线、无线电和微波的无线技术包含于媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而是针对非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、雷射光盘、光学光盘、数字影音光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘通过雷射以光学方式再现数据。以上各者的组合也应包含于计算机可读媒体的范围内。
可通过例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路的一或多个处理器来执行指令。因此,如本文中所使用,术语“处理器”可指前述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面,可将本文所描述的功能性提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或并入于组合式编码解码器中。又,所述技术可完全实施于一或多个电路或逻辑元件中。
本发明的技术可实施于广泛多种装置或设备中,所述装置或设备包含无线手持机、集成电路(IC)或IC的集合(例如,芯片组)。本发明中描述各种组件、模块或单元以强调经配置以执行所揭示的技术的装置的功能方面,但未必需要通过不同硬件单元实现。相反地,如上文所描述,各种单元可组合于编码解码器硬件单元中或由互操作性硬件单元的集合(包含如上文所描述的一或多个处理器)结合合适的软件和/或固件来提供。
已描述各种实例。这些和其它实例在以下权利要求书的范围内。

Claims (25)

1.一种编码视频数据的方法,所述方法包括:
将图片分割成多个图像块,所述图片位于所述视频数据的一连串视频图片中,所述图片具有多个译码树块CTB行,所述CTB行中的每一个的高度为1CTB,并且所述多个CTB行中的每个相应CTB行形成所述多个图像块中的相应图像块;
执行波前平行处理WPP以产生多个子流,所述多个子流中的每个相应子流包含所述多个图像块中的一个图像块的经编码位的连续系列,其中所述子流中无一者含有多于一个图像块的经译码位,且所述子流中的至少一些包括填补位以确保所述子流的字节对准;
在位流中用信号发出具有特定值的语法元素,所述语法元素具有指示使用WPP来编码所述图片,以及所述多个CTB行中的每个相应CTB行形成所述多个图像块中的相应图像块的特定值;以及
产生包含切片标头和切片数据的相应经译码切片网络抽象层NAL单元,所述切片标头包含入口偏移语法元素的数目以及入口偏移语法元素的集合,所述入口偏移语法元素的数目指定所述入口偏移语法元素的集合内的入口偏移语法元素的总数量,所述切片数据由所述多个子流中的所述入口偏移语法元素的总数量加一个子流构成,且所述多个入口偏移语法元素中的每个相应入口偏移语法元素以字节为单位指定相应入口点偏移。
2.根据权利要求1所述的方法,其中用信号发出所述语法元素包括产生包含所述语法元素的图片参数集PPS。
3.根据权利要求1所述的方法,其中用信号发出所述语法元素包括产生包含所述语法元素的序列参数集SPS。
4.根据权利要求1所述的方法,其中执行WPP以产生所述多个子流包括:
响应于确定第一CTB与所述图片的左边界分离单一CTB,存储与所述第一CTB相关联的上下文变量;以及
至少部分基于与所述第一CTB相关联的所述上下文变量而熵编码第二CTB的一或多个语法元素,所述第二CTB邻近于所述图片的所述左边界且比所述第一CTB低一行CTB。
5.根据权利要求1所述的方法,其中所述方法由移动计算装置执行。
6.一种用于编码视频数据的计算装置,所述计算装置包括:
计算机可读存储媒体,其经配置以存储所述视频数据;以及
一或多个处理器,其经配置以:
将图片分割成多个图像块,所述图片位于所述视频数据的一连串视频图片中,所述图片具有多个译码树块CTB行,所述CTB行中的每一个的高度为1CTB,并且所述多个CTB行中的每个相应CTB行形成所述多个图像块中的相应图像块;
执行波前平行处理WPP以产生多个子流,所述多个子流中的每个相应子流包含所述多个图像块中的一个图像块的经编码位的连续系列,其中所述子流中无一者含有多于一个图像块的经译码位,且所述子流中的至少一些包括填补位以确保所述子流的字节对准;
在位流中用信号发出具有特定值的语法元素,所述语法元素具有指示使用WPP来编码所述图片,以及所述多个CTB行中的每个相应CTB行形成所述多个图像块中的相应图像块的特定值;以及
产生包含切片标头和切片数据的相应经译码切片网络抽象层NAL单元,所述切片标头包含入口偏移语法元素的数目以及入口偏移语法元素的集合,所述入口偏移语法元素的数目指定所述入口偏移语法元素的集合内的入口偏移语法元素的总数量,所述切片数据由所述多个子流中的所述入口偏移语法元素的总数量加一个子流构成,且所述多个入口偏移语法元素中的每个相应入口偏移语法元素以字节为单位指定相应入口点偏移。
7.根据权利要求6所述的计算装置,其中所述一或多个处理器经配置以产生包含所述语法元素的图片参数集PPS。
8.根据权利要求6所述的计算装置,其中所述一或多个处理器经配置以产生包含所述语法元素的序列参数集SPS。
9.根据权利要求6所述的计算装置,其中所述一或多个处理器经配置以:
响应于确定第一CTB与所述图片的左边界分离单一CTB,存储与所述第一CTB相关联的上下文变量;以及
至少部分基于与所述第一CTB相关联的所述上下文变量而熵编码第二CTB的一或多个语法元素,所述第二CTB邻近于所述图片的所述左边界且比所述第一CTB低一行CTB。
10.根据权利要求6所述的计算装置,其中所述计算装置为移动计算装置。
11.一种用于编码视频数据的计算装置,所述计算装置包括:
用于将图片分割成多个图像块的装置,所述图片位于所述视频数据的一连串视频图片中,所述图片具有多个译码树块CTB行,所述CTB行中的每一个的高度为1CTB,并且所述多个CTB行中的每个相应CTB行形成所述多个图像块中的相应图像块;
用于执行波前平行处理WPP以产生多个子流的装置,所述多个子流中的每个相应子流包含所述多个图像块中的一个图像块的经编码位的连续系列,其中所述子流中无一者含有多于一个图像块的经译码位,且所述子流中的至少一些包括填补位以确保所述子流的字节对准;
用于在位流中用信号发出具有特定值的语法元素的装置,所述语法元素具有指示使用WPP来编码所述图片,以及所述多个CTB行中的每个相应CTB行形成所述多个图像块中的相应图像块的特定值;以及
用于产生包含切片标头和切片数据的相应经译码切片网络抽象层NAL单元的装置,所述切片标头包含入口偏移语法元素的数目以及入口偏移语法元素的集合,所述入口偏移语法元素的数目指定所述入口偏移语法元素的集合内的入口偏移语法元素的总数量,所述切片数据由所述多个子流中的所述入口偏移语法元素的总数量加一个子流构成,且所述多个入口偏移语法元素中的每个相应入口偏移语法元素以字节为单位指定相应入口点偏移。
12.一种存储指令的计算机可读存储媒体,所述指令在由计算装置的一或多个处理器执行时配置所述计算装置以:
将图片分割成多个图像块,所述图片位于视频数据的一连串视频图片中,所述图片具有多个译码树块CTB行,所述CTB行中的每一个的高度为1CTB,并且所述多个CTB行中的每个相应CTB行形成所述多个图像块中的相应图像块;
执行波前平行处理WPP以产生多个子流,所述多个子流中的每个相应子流包含所述多个图像块中的一个图像块的经编码位的连续系列,其中所述子流中无一者含有多于一个图像块的经译码位,且所述子流中的至少一些包括填补位以确保所述子流的字节对准;
在位流中用信号发出具有特定值的语法元素,所述语法元素具有指示使用WPP来编码所述图片,以及所述多个CTB行中的每个相应CTB行形成所述多个图像块中的相应图像块的特定值;以及
产生包含切片标头和切片数据的相应经译码切片网络抽象层NAL单元,所述切片标头包含入口偏移语法元素的数目以及入口偏移语法元素的集合,所述入口偏移语法元素的数目指定所述入口偏移语法元素的集合内的入口偏移语法元素的总数量,所述切片数据由所述多个子流中的所述入口偏移语法元素的总数量加一个子流构成,且所述多个入口偏移语法元素中的每个相应入口偏移语法元素以字节为单位指定相应入口点偏移。
13.一种解码视频数据的方法,所述方法包括:
接收包含经译码切片网络抽象层NAL单元的位流,所述NAL单元包括切片标头和切片数据,所述切片标头包含入口偏移语法元素的数目以及入口偏移语法元素的集合,所述入口偏移语法元素的数目指定所述入口偏移语法元素的集合内的入口偏移语法元素的总数量,所述切片数据由多个子流中的所述入口偏移语法元素的总数量加一个子流构成,且所述多个入口偏移语法元素中的每个相应入口偏移语法元素以字节为单位指定相应入口点偏移,以及所述多个子流中的每个相应子流包含多个图像块中的一个图像块的经编码位的连续系列,其中所述视频数据的图片被分割为所述多个图像块,所述图片具有多个译码树块CTB行,所述CTB行中的每一个的高度为1CTB,且所述子流中的至少一些包括填补位以确保所述子流的字节对准;
基于所述位流中的具有特定值的语法元素而确定所述图片是使用波前平行处理WPP而编码,并且所述多个CTB行中的每个相应CTB行形成所述多个图像块中的相应图像块;以及
使用WPP解码所述图片。
14.根据权利要求13所述的方法,其进一步包括至少部分基于所述入口偏移语法元素而确定所述子流在存储器中的位置。
15.根据权利要求13所述的方法,其中所述位流包含图片参数集PPS,所述图片参数集PPS包含所述语法元素。
16.根据权利要求13所述的方法,其中所述位流包含序列参数集SPS,所述序列参数集SPS包含所述语法元素。
17.根据权利要求13所述的方法,其中使用WPP解码所述图片包括:
响应于确定第一CTB与所述图片的左边界分离单一CTB,存储与所述第一CTB相关联的上下文变量;以及
至少部分基于与所述第一CTB相关联的所述上下文变量而熵解码第二CTB的一或多个语法元素,所述第二CTB邻近于所述图片的所述左边界且比所述第一CTB低一行CTB。
18.根据权利要求13所述的方法,其中所述方法由移动计算装置执行。
19.一种用于解码视频数据的计算装置,所述计算装置包括:
计算机可读数据存储媒体,其经配置以存储所述视频数据;以及
一或多个处理器:
接收包含经译码切片网络抽象层NAL单元的位流,所述NAL单元包括切片标头和切片数据,所述切片标头包含入口偏移语法元素的数目以及入口偏移语法元素的集合,所述入口偏移语法元素的数目指定所述入口偏移语法元素的集合内的入口偏移语法元素的总数量,所述切片数据由多个子流中的所述入口偏移语法元素的总数量加一个子流构成,且所述多个入口偏移语法元素中的每个相应入口偏移语法元素以字节为单位指定相应入口点偏移,以及所述多个子流中的每个相应子流包含多个图像块中的一个图像块的经编码位的连续系列,其中所述视频数据的图片被分割为所述多个图像块,所述图片具有多个译码树块CTB行,所述CTB行中的每一个的高度为1CTB,且所述子流中的至少一些包括填补位以确保所述子流的字节对准;
基于所述位流中的具有特定值的语法元素而确定所述图片是使用波前平行处理WPP而编码,并且所述多个CTB行中的每个相应CTB行形成所述多个图像块中的相应图像块;以及
使用WPP解码所述图片。
20.根据权利要求19所述的计算装置,其中所述位流包含图片参数集PPS,所述图片参数集PPS包含所述语法元素。
21.根据权利要求19所述的计算装置,其中所述位流包含序列参数集SPS,所述序列参数集SPS包含所述语法元素。
22.根据权利要求19所述的计算装置,其中所述一或多个处理器经配置以:
响应于确定第一CTB与所述图片的左边界分离单一CTB,存储与所述第一CTB相关联的上下文变量;以及
至少部分基于与所述第一CTB相关联的所述上下文变量而熵解码第二CTB的一或多个语法元素,所述第二CTB邻近于所述图片的所述左边界且比所述第一CTB低一行CTB。
23.根据权利要求19所述的计算装置,其中所述计算装置为移动计算装置。
24.一种用于解码视频数据的计算装置,所述计算装置包括:
用于接收包含经译码切片网络抽象层NAL单元的位流的装置,所述NAL单元包括切片标头和切片数据,所述切片标头包含入口偏移语法元素的数目以及入口偏移语法元素的集合,所述入口偏移语法元素的数目指定所述入口偏移语法元素的集合内的入口偏移语法元素的总数量,所述切片数据由多个子流中的所述入口偏移语法元素的总数量加一个子流构成,且所述多个入口偏移语法元素中的每个相应入口偏移语法元素以字节为单位指定相应入口点偏移,以及所述多个子流中的每个相应子流包含多个图像块中的一个图像块的经编码位的连续系列,其中所述视频数据的图片被分割为所述多个图像块,所述图片具有多个译码树块CTB行,所述CTB行中的每一个的高度为1CTB,且所述子流中的至少一些包括填补位以确保所述子流的字节对准;
用于基于所述位流中的具有特定值的语法元素而确定所述图片是使用波前平行处理WPP而编码,并且所述多个CTB行中的每个相应CTB行形成所述多个图像块中的相应图像块的装置;以及
用于使用WPP解码所述图片的装置。
25.一种存储指令的计算机可读存储媒体,所述指令在由计算装置的一或多个处理器执行时配置所述计算装置以:
接收包含经译码切片NAL单元的位流,所述NAL单元包括切片标头和切片数据,所述切片标头包含入口偏移语法元素的数目以及入口偏移语法元素的集合,所述入口偏移语法元素的数目指定所述入口偏移语法元素的集合内的入口偏移语法元素的总数量,所述切片数据由多个子流中的所述入口偏移语法元素的总数量加一个子流构成,且所述多个入口偏移语法元素中的每个相应入口偏移语法元素以字节为单位指定相应入口点偏移,以及所述多个子流中的每个相应子流包含多个图像块中的一个图像块的经编码位的连续系列,其中视频数据的图片被分割为所述多个图像块,所述图片具有多个译码树块CTB行,所述CTB行中的每一个的高度为1CTB,且所述子流中的至少一些包括填补位以确保所述子流的字节对准;
基于所述位流中的具有特定值的语法元素而确定所述图片是使用波前平行处理WPP而编码,并且所述多个CTB行中的每个相应CTB行形成所述多个图像块中的相应图像块;以及
使用WPP解码所述图片。
CN201280067198.4A 2012-01-18 2012-12-19 在视频译码中波前平行处理的子流 Active CN104054348B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261588096P 2012-01-18 2012-01-18
US61/588,096 2012-01-18
US13/718,945 US9749661B2 (en) 2012-01-18 2012-12-18 Sub-streams for wavefront parallel processing in video coding
US13/718,945 2012-12-18
PCT/US2012/070687 WO2013109383A1 (en) 2012-01-18 2012-12-19 Sub-streams for wavefront parallel processing in video coding

Publications (2)

Publication Number Publication Date
CN104054348A CN104054348A (zh) 2014-09-17
CN104054348B true CN104054348B (zh) 2017-10-31

Family

ID=48779951

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201280067198.4A Active CN104054348B (zh) 2012-01-18 2012-12-19 在视频译码中波前平行处理的子流
CN201280067184.2A Active CN104054347B (zh) 2012-01-18 2012-12-19 在视频译码中波前平行处理的使用的指示

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201280067184.2A Active CN104054347B (zh) 2012-01-18 2012-12-19 在视频译码中波前平行处理的使用的指示

Country Status (20)

Country Link
US (2) US9332259B2 (zh)
EP (2) EP2805488B1 (zh)
JP (2) JP6203755B2 (zh)
KR (2) KR101676547B1 (zh)
CN (2) CN104054348B (zh)
AU (2) AU2012366142B2 (zh)
BR (2) BR112014017379B1 (zh)
CA (2) CA2860762C (zh)
ES (2) ES2952775T3 (zh)
HK (2) HK1198236A1 (zh)
IL (2) IL233321B (zh)
MY (2) MY168215A (zh)
PH (2) PH12014501528A1 (zh)
PL (1) PL2805488T3 (zh)
RU (2) RU2612616C1 (zh)
SG (3) SG10201605295XA (zh)
TW (2) TWI478588B (zh)
UA (2) UA112675C2 (zh)
WO (2) WO2013109382A2 (zh)
ZA (1) ZA201406023B (zh)

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8971656B2 (en) * 2009-12-10 2015-03-03 Sk Telecom Co., Ltd. Encoding/decoding method and apparatus using a tree structure
US8767824B2 (en) 2011-07-11 2014-07-01 Sharp Kabushiki Kaisha Video decoder parallelization for tiles
KR102657113B1 (ko) 2011-12-29 2024-04-15 엘지전자 주식회사 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치
US9332259B2 (en) 2012-01-18 2016-05-03 Qualcomm Incorporated Indication of use of wavefront parallel processing in video coding
SG10201505821WA (en) 2012-01-30 2015-08-28 Samsung Electronics Co Ltd Method and apparatus for video encoding for each spatial sub-area, and method and apparatus for video decoding for each spatial sub-area
CN107613297B (zh) 2012-02-04 2020-10-23 Lg 电子株式会社 视频编码方法、视频解码方法和使用其的设备
KR102489001B1 (ko) 2012-03-22 2023-01-18 엘지전자 주식회사 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
ES2912082T3 (es) * 2012-06-26 2022-05-24 Lg Electronics Inc Método de decodificación de vídeo, método de codificación de vídeo y medio de almacenamiento legible por decodificador que almacena información de video codificada
US9621905B2 (en) * 2012-06-29 2017-04-11 Qualcomm Incorporated Tiles and wavefront parallel processing
CA2897152C (en) * 2013-01-07 2019-03-05 Kemal Ugur Inter-layer video encoding and decoding with adaptive resolution change at indicated switching points
EP3008896B1 (en) * 2013-07-15 2021-03-31 Sony Corporation Extensions of motion-constrained tile sets sei message for interactivity
US11425395B2 (en) * 2013-08-20 2022-08-23 Google Llc Encoding and decoding using tiling
US9305325B2 (en) 2013-09-25 2016-04-05 Apple Inc. Neighbor context caching in block processing pipelines
US9270999B2 (en) 2013-09-25 2016-02-23 Apple Inc. Delayed chroma processing in block processing pipelines
US9299122B2 (en) 2013-09-25 2016-03-29 Apple Inc. Neighbor context processing in block processing pipelines
US9571846B2 (en) 2013-09-27 2017-02-14 Apple Inc. Data storage and access in block processing pipelines
US9215472B2 (en) 2013-09-27 2015-12-15 Apple Inc. Parallel hardware and software block processing pipelines
US9218639B2 (en) 2013-09-27 2015-12-22 Apple Inc. Processing order in block processing pipelines
EP3058739B1 (en) 2013-10-14 2019-08-07 Microsoft Technology Licensing, LLC Features of intra block copy prediction mode for video and image coding and decoding
WO2015054813A1 (en) 2013-10-14 2015-04-23 Microsoft Technology Licensing, Llc Encoder-side options for intra block copy prediction mode for video and image coding
BR112016008044A8 (pt) 2013-10-14 2020-03-17 Microsoft Technology Licensing Llc codificador de vídeo ou imagem, decodificador de vídeo ou imagem e meio legível por computador
KR101718830B1 (ko) * 2013-10-30 2017-03-23 한국전자통신연구원 부호화 모드에 따른 적응적 병렬처리가 적용된 고속 비디오 복호화 방법 및 장치
US9860540B2 (en) * 2014-01-03 2018-01-02 Qualcomm Incorporated Inference of nooutputofpriorpicsflag in video coding
KR102353787B1 (ko) 2014-01-03 2022-01-19 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 및 이미지 코딩/디코딩에서의 블록 벡터 예측
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
KR102311815B1 (ko) 2014-06-19 2021-10-13 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 통합된 인트라 블록 카피 및 인터 예측 모드
RU2690439C2 (ru) * 2014-06-20 2019-06-03 Сони Корпорейшн Устройство и способ кодирования изображений и устройство и способ декодирования изображений
US10257529B2 (en) * 2014-06-30 2019-04-09 Intel Corporation Techniques for generating wave front groups for parallel processing a video frame by a video encoder
US9807410B2 (en) 2014-07-02 2017-10-31 Apple Inc. Late-stage mode conversions in pipelined video encoders
US20160014415A1 (en) * 2014-07-08 2016-01-14 Mediatek Inc. Method and apparatus for performing wave-front parallel encoding procedure with constraint on coding mode and/or quantization parameter selection
US9762937B2 (en) 2014-08-07 2017-09-12 Sonic Ip, Inc. Systems and methods for protecting elementary bitstreams incorporating independently encoded tiles
US10123028B2 (en) * 2014-09-17 2018-11-06 Mediatek Inc. Syntax parsing apparatus with multiple syntax parsing circuits for processing multiple image regions within same frame or processing multiple frames and related syntax parsing method
US10812817B2 (en) 2014-09-30 2020-10-20 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
GB2531001B (en) * 2014-10-06 2019-06-05 Canon Kk Method and apparatus for vector encoding in video coding and decoding
US10212445B2 (en) * 2014-10-09 2019-02-19 Qualcomm Incorporated Intra block copy prediction restrictions for parallel processing
US20160105678A1 (en) * 2014-10-13 2016-04-14 Microsoft Technology Licensing, Llc Video Parameter Techniques
CN105847825A (zh) * 2015-01-16 2016-08-10 杭州海康威视数字技术股份有限公司 视频编码码流的编码、索引存储和访问方法及相应装置
US9942551B2 (en) * 2015-01-30 2018-04-10 Qualcomm Incorporated Palette index grouping for video coding
JP6717562B2 (ja) * 2015-02-06 2020-07-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
US11330284B2 (en) * 2015-03-27 2022-05-10 Qualcomm Incorporated Deriving motion information for sub-blocks in video coding
US10574993B2 (en) * 2015-05-29 2020-02-25 Qualcomm Incorporated Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design
WO2016197314A1 (en) 2015-06-09 2016-12-15 Microsoft Technology Licensing, Llc Robust encoding/decoding of escape-coded pixels in palette mode
US20170019679A1 (en) * 2015-07-15 2017-01-19 Mediatek Inc. Hybrid video decoding apparatus for performing hardware entropy decoding and subsequent software decoding and associated hybrid video decoding method
US10535114B2 (en) * 2015-08-18 2020-01-14 Nvidia Corporation Controlling multi-pass rendering sequences in a cache tiling architecture
US9451291B1 (en) * 2015-08-31 2016-09-20 Radmilo Bozinovic Fast DWT-based intermediate video codec optimized for massively parallel architecture
US10212444B2 (en) * 2016-01-15 2019-02-19 Qualcomm Incorporated Multi-type-tree framework for video coding
US10855989B2 (en) * 2016-06-09 2020-12-01 Qualcomm Incorporated Substream multiplexing for display stream compression
US20190253624A1 (en) * 2017-07-17 2019-08-15 Ki Baek Kim Image data encoding/decoding method and apparatus
EP3531700B1 (en) * 2016-10-18 2022-04-06 Panasonic Intellectual Property Management Co., Ltd. Image coding method, transmission method and image coding device
JP2018107500A (ja) * 2016-12-22 2018-07-05 キヤノン株式会社 符号化装置、符号化方法及びプログラム、復号装置、復号方法及びプログラム
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
US20190005709A1 (en) * 2017-06-30 2019-01-03 Apple Inc. Techniques for Correction of Visual Artifacts in Multi-View Images
US10754242B2 (en) 2017-06-30 2020-08-25 Apple Inc. Adaptive resolution and projection format in multi-direction video
CN115474042A (zh) * 2017-10-20 2022-12-13 韩国电子通信研究院 图像编码、解码方法以及存储比特流的记录介质
WO2019195036A1 (en) 2018-04-03 2019-10-10 Futurewei Technologies, Inc. File format signaling of error mitigation in sub-picture bitstream based viewport dependent video coding
WO2019234613A1 (en) 2018-06-05 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Partition tree with partition into 3 sub-blocks by horizontal and vertical splits
CN112703736B (zh) 2018-09-14 2022-11-25 华为技术有限公司 视频译码方法,视频译码设备以及非瞬时性计算机可读介质
WO2020070120A1 (en) * 2018-10-02 2020-04-09 Telefonaktiebolaget Lm Ericsson (Publ) Picture tile attributes signaled using loop(s) over tiles
US11653010B2 (en) * 2018-12-21 2023-05-16 Sharp Kabushiki Kaisha Moving image encoding device and moving image decoding device
CN113273193A (zh) * 2018-12-31 2021-08-17 华为技术有限公司 用于分块配置指示的编码器,解码器及对应方法
HRP20230702T1 (hr) * 2019-01-09 2023-10-13 Huawei Technologies Co., Ltd. Signaliziranje identifikatora podslike kod kodiranja videa
EP3769522A4 (en) * 2019-01-16 2021-01-27 Telefonaktiebolaget LM Ericsson (publ) VIDEO ENCODING WITH EQUAL TILE DISTRIBUTION WITH REMAINING
WO2020163038A1 (en) * 2019-02-07 2020-08-13 Interdigital Vc Holdings, Inc. Processing a point cloud
CN113632489A (zh) * 2019-03-06 2021-11-09 夏普株式会社 在视频编码中用于发送信号通知图块组信息的***和方法
AU2019201649A1 (en) 2019-03-11 2020-10-01 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a tree of blocks of video samples
MX2021011016A (es) * 2019-03-11 2021-11-12 Huawei Tech Co Ltd Un codificador, un decodificador y métodos correspondientes.
WO2020219733A1 (en) 2019-04-24 2020-10-29 Bytedance Inc. Quantized residual differential pulse code modulation representation of coded video
CN113796069B (zh) 2019-05-01 2024-03-08 字节跳动有限公司 使用量化残差差分脉冲编解码调制编解码的帧内编解码视频
CN113785306B (zh) 2019-05-02 2024-06-14 字节跳动有限公司 基于编解码树结构类型的编解码模式
CA3136342A1 (en) * 2019-05-03 2020-11-12 Fnu HENDRY An encoder, a decoder and corresponding methods
US11197009B2 (en) * 2019-05-30 2021-12-07 Hulu, LLC Processing sub-partitions in parallel using reference pixels
US11202070B2 (en) * 2019-05-30 2021-12-14 Hulu, LLC Parallel bi-directional intra-coding of sub-partitions
US11212530B2 (en) * 2019-06-24 2021-12-28 Tencent America LLC Method for slice, tile and brick signaling
WO2021027774A1 (en) 2019-08-10 2021-02-18 Beijing Bytedance Network Technology Co., Ltd. Subpicture dependent signaling in video bitstreams
US11153576B2 (en) * 2019-09-20 2021-10-19 Qualcomm Incorporated Scaling matrices and signaling for video coding
US11356685B2 (en) * 2019-09-23 2022-06-07 Qualcomm Incorproated Signaling number of sub-pictures in high-level syntax for video coding
WO2021063420A1 (en) * 2019-10-02 2021-04-08 Beijing Bytedance Network Technology Co., Ltd. Slice level signaling in video bitstreams that include sub-pictures
CN114631317B (zh) * 2019-10-18 2024-03-15 北京字节跳动网络技术有限公司 子图片的参数集信令中的语法约束
CN113038140B (zh) * 2019-12-24 2024-05-28 扬智电子科技(成都)有限公司 上下文适应性二进制算术编码的视频解码方法与其视频解码装置
WO2021164781A1 (en) 2020-02-21 2021-08-26 Beijing Bytedance Network Technology Co., Ltd. Picture partitioning in video coding
EP4101162A4 (en) 2020-02-28 2023-03-29 Huawei Technologies Co., Ltd. DECODERS AND RELATED METHODS FOR SIGNALING IMAGE SEPARATION INFORMATION FOR SLICES
CN115606183A (zh) 2020-04-07 2023-01-13 抖音视界有限公司(Cn) 参考图片环绕的剪裁操作
CN115668917A (zh) 2020-04-09 2023-01-31 抖音视界有限公司 视频编解码中的去块信令通知
WO2021204251A1 (en) 2020-04-10 2021-10-14 Beijing Bytedance Network Technology Co., Ltd. Use of header syntax elements and adaptation parameter set
WO2021209061A1 (en) 2020-04-17 2021-10-21 Beijing Bytedance Network Technology Co., Ltd. Presence of adaptation parameter set units
WO2021222036A1 (en) 2020-04-26 2021-11-04 Bytedance Inc. Conditional signaling of video coding syntax elements
US11924435B2 (en) * 2020-05-15 2024-03-05 Intel Corporation High quality advanced neighbor management encoder architecture
CN117356097A (zh) * 2021-04-21 2024-01-05 抖音视界有限公司 用于视频处理的方法、设备和介质
CN114339291B (zh) * 2021-12-31 2024-05-28 杭州当虹科技股份有限公司 流媒体视频缩放播放的方法
CN117676146A (zh) * 2022-09-08 2024-03-08 华为技术有限公司 一种编解码方法及装置
CN115499667B (zh) * 2022-11-17 2023-07-14 山东云海国创云计算装备产业创新中心有限公司 一种视频处理方法、装置、设备及可读存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2831728B1 (fr) * 2001-10-25 2004-03-12 Canon Kk Procede et dispositif de formation d'un signal numerique derive a partir d'un signal numerique compresse
US8000388B2 (en) 2006-07-17 2011-08-16 Sony Corporation Parallel processing apparatus for video compression
US8582663B2 (en) * 2006-08-08 2013-11-12 Core Wireless Licensing S.A.R.L. Method, device, and system for multiplexing of video streams
US7991236B2 (en) 2006-10-16 2011-08-02 Nokia Corporation Discardable lower layer adaptations in scalable video coding
ES2941888T3 (es) 2007-04-12 2023-05-26 Dolby Int Ab Organización en mosaico en codificación y decodificación de vídeo
KR20120031529A (ko) 2007-05-04 2012-04-03 퀄컴 인코포레이티드 추정된 코딩 비용을 이용하는 비디오 코딩 모드 선택
US8150172B2 (en) 2007-05-04 2012-04-03 Qualcomm Incorporated Video coding mode selection using estimated coding costs
US8265144B2 (en) 2007-06-30 2012-09-11 Microsoft Corporation Innovations in video decoder implementations
US8311111B2 (en) 2008-09-11 2012-11-13 Google Inc. System and method for decoding using parallel processing
US20110280314A1 (en) 2010-05-12 2011-11-17 Texas Instruments Incorporated Slice encoding and decoding processors, circuits, devices, systems and processes
CN101867821B (zh) 2010-06-18 2011-11-16 上海交通大学 基于稀疏采样和纹理重建的视频编码***
US9313514B2 (en) 2010-10-01 2016-04-12 Sharp Kabushiki Kaisha Methods and systems for entropy coder initialization
WO2012048053A2 (en) * 2010-10-05 2012-04-12 Massachusetts Institute Of Technology System and method for optimizing context-adaptive binary arithmetic coding
US9300976B2 (en) 2011-01-14 2016-03-29 Cisco Technology, Inc. Video encoder/decoder, method and computer program product that process tiles of video data
US9325999B2 (en) 2011-03-10 2016-04-26 Sharp Kabushiki Kaisha Video decoder for slices
MX2014005021A (es) 2011-11-08 2014-07-09 Ericsson Telefon Ab L M Tamaño de baldosa de codificacion de video.
US9332259B2 (en) 2012-01-18 2016-05-03 Qualcomm Incorporated Indication of use of wavefront parallel processing in video coding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Unification of picture partitioning schemes;Muhammed Coban;<Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11>;20111130;参见第2.1.1.1部分第2段,第2.1.3部分第3段,第2.5部分 *
Wavefront Parallel Processing for HEVC Encoding and Decoding;Gordon Clare;<Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11>;20110722;说明书第1-15页 *

Also Published As

Publication number Publication date
KR20140120339A (ko) 2014-10-13
WO2013109383A1 (en) 2013-07-25
ES2952775T3 (es) 2023-11-06
PL2805488T3 (pl) 2023-12-04
TWI561064B (en) 2016-12-01
PH12014501528B1 (en) 2014-10-08
RU2014133720A (ru) 2016-03-10
HK1198236A1 (zh) 2015-03-13
CN104054348A (zh) 2014-09-17
IL233360A0 (en) 2014-08-31
EP2805489C0 (en) 2024-02-14
BR112014017379A8 (pt) 2017-07-04
AU2012366142B2 (en) 2017-05-18
MY165064A (en) 2018-02-28
JP2015507906A (ja) 2015-03-12
AU2012366143B2 (en) 2017-04-20
TW201336312A (zh) 2013-09-01
PH12014501531B1 (en) 2014-10-08
SG11201403351VA (en) 2014-08-28
IL233360B (en) 2018-03-29
EP2805489B1 (en) 2024-02-14
BR112014017521A8 (pt) 2017-07-04
BR112014017521A2 (pt) 2017-06-13
EP2805488C0 (en) 2023-08-02
EP2805488B1 (en) 2023-08-02
CA2860840A1 (en) 2013-07-25
JP6203755B2 (ja) 2017-09-27
PH12014501531A1 (en) 2014-10-08
KR102057352B1 (ko) 2019-12-18
SG10201605295XA (en) 2016-08-30
US9332259B2 (en) 2016-05-03
BR112014017379A2 (pt) 2017-06-13
UA111879C2 (uk) 2016-06-24
AU2012366142A1 (en) 2014-08-07
JP2015507907A (ja) 2015-03-12
KR20140120338A (ko) 2014-10-13
EP2805488A2 (en) 2014-11-26
CA2860762C (en) 2019-07-02
CA2860840C (en) 2019-12-31
ZA201406023B (en) 2017-09-27
CA2860762A1 (en) 2013-07-25
WO2013109382A2 (en) 2013-07-25
BR112014017521B1 (pt) 2022-09-20
US20130182774A1 (en) 2013-07-18
JP6151276B2 (ja) 2017-06-21
US9749661B2 (en) 2017-08-29
IL233321A0 (en) 2014-08-31
RU2609073C2 (ru) 2017-01-30
KR101676547B1 (ko) 2016-11-15
HK1198403A1 (zh) 2015-04-17
SG11201403349SA (en) 2014-09-26
US20130182775A1 (en) 2013-07-18
AU2012366143A1 (en) 2014-08-07
BR112014017379B1 (pt) 2022-09-27
PH12014501528A1 (en) 2014-10-08
ES2972503T3 (es) 2024-06-13
RU2612616C1 (ru) 2017-03-09
UA112675C2 (uk) 2016-10-10
EP2805489A1 (en) 2014-11-26
MY168215A (en) 2018-10-15
TWI478588B (zh) 2015-03-21
CN104054347B (zh) 2018-08-28
TW201338560A (zh) 2013-09-16
WO2013109382A3 (en) 2013-10-10
CN104054347A (zh) 2014-09-17
IL233321B (en) 2018-04-30

Similar Documents

Publication Publication Date Title
CN104054348B (zh) 在视频译码中波前平行处理的子流
CN106464917B (zh) 用信号表示用于位流分区的hrd参数
CN105612752B (zh) 对用于多层视频编解码器的多模提取的支持
CN104904223B (zh) 对视频译码中的视频时序的时钟节拍导出信息的信令
CN104471943B (zh) 视频译码中的参数集
CN104160702B (zh) 具有包含多个经编码图片分区的网络抽象层单元的视频译码
CN104704842B (zh) 假想参考解码器参数的语法结构
CN104471942B (zh) 重新使用参数集用于视频译码
CN104247424B (zh) 已译码的区块旗标译码
CN103959781B (zh) 填补经译码切片nal单元中的片段的方法及装置
CN104704843B (zh) 视频性质的指示
CN104365106B (zh) 发信用于视频译码的长期参考图片的数据
CN110024401A (zh) 用于时间扩缩性支持的修改适应性环路滤波器时间预测
CN103975595B (zh) 用于视频译码的分段参数集
CN108781289A (zh) 针对视频译码工具的受约束块层级优化和用信号发送
CN105379272B (zh) 在vps中用信号通知位速率信息及图片速率信息
CN106464936A (zh) 通过基于含一或多个层的分区确定解码器的处理核心对多层视频数据进行解码的方法和装置
CN106464919A (zh) 视频译码中用于第0个输出层集合的简档、层次、层级
CN104854870A (zh) 在视频译码中的低延迟缓冲模型
CN104919802A (zh) 在视频译码中的非嵌套式补充增强信息消息
CN104488267A (zh) 平铺块及波前并行处理
CN104221387A (zh) 在视频译码中的低延迟视频缓冲
CN104885460A (zh) 在视频译码中具有时间可扩缩性支持的逐渐解码刷新
CN106797474A (zh) 基于调色板的视频译码中的调色板游程隐藏
CN106797482A (zh) 在用于视频译码的调色板译码模式中转义样本的显式信令

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1198403

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1198403

Country of ref document: HK