CN103621095B - 用于视频译码中的帧内预测的边界像素填补 - Google Patents
用于视频译码中的帧内预测的边界像素填补 Download PDFInfo
- Publication number
- CN103621095B CN103621095B CN201280029111.4A CN201280029111A CN103621095B CN 103621095 B CN103621095 B CN 103621095B CN 201280029111 A CN201280029111 A CN 201280029111A CN 103621095 B CN103621095 B CN 103621095B
- Authority
- CN
- China
- Prior art keywords
- boundary pixel
- video
- pixel
- boundary
- video decoder
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods 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 pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
视频译码器执行根据一次序处理边界像素集合的填补操作。所述次序在左下方边界像素处开始且循序地前进通过所述边界像素到达右上方边界像素。当所述填补操作处理不可用边界像素时,所述填补操作基于由所述填补操作先前处理的边界像素的值来预测所述不可用边界像素的值。所述视频译码器可基于所述边界像素产生经帧内预测视频块。
Description
本申请案主张2011年6月13日申请的第61/496,504号美国临时申请案、2011年11月8日申请的第61/557,361号美国临时申请案和2011年11月9日申请的第61/557,845号美国临时申请案的权益,以上每一美国临时申请案的全部内容以引用方式并入本文。
技术领域
本发明涉及视频译码,且更特定来说涉及视频数据的帧内预测。
背景技术
数字视频能力可并入到广泛多种装置中,包含数字电视机、数字直播***、无线广播***、个人数字助理(PDA)、膝上型或桌上型计算机、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置和类似装置。数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-T H.263、ITU-TH.264/MPEG-4第10部分高级视频译码(AVC)界定的标准、当前在开发的高效视频译码(HEVC)标准以及此些标准的扩展中描述的那些技术,从而较有效地发射、接收和存储数字视频信息。
视频压缩技术执行空间(图片内)预测和/或时间(图片间)预测以减少或移除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片分割为若干视频块,所述视频块也可称为树块、译码单元(CU)和/或译码节点。图片的经帧内译码(I)切片中的视频块是使用相对于同一图片中的相邻块中的参考样本的空间预测来编码。图片的经帧间译码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可称为帧,且参考图片可称为参考帧。
发明内容
大体上,本发明描述用于在视频译码中填补用于帧内预测的边界像素的技术。根据本发明的技术,视频译码器可执行对不可用的边界像素指派值的填补操作。填补操作可根据一次序来处理边界像素,所述次序在左下方边界像素处开始且循序地前进通过边界像素到达右上方边界像素。当填补操作处理不可用的边界像素时,填补操作可基于由填补操作先前处理的边界像素的值来对不可用的边界像素指派值。所述视频译码器可基于所述边界像素产生经帧内预测视频块。
在一个方面中,本发明描述用于对视频数据进行译码的方法。所述方法包括执行填补操作,其根据一次序来处理边界像素集合,所述次序在左下方边界像素处开始且循序地前进通过边界像素到达右上方边界像素。当填补操作处理不可用的边界像素时,填补操作基于由填补操作先前处理的边界像素的值来对不可用的边界像素指派值。所述方法还包括基于所述边界像素产生经帧内预测视频块。
本发明还描述一种视频译码设备,其包括一个或一个以上处理器,所述一个或一个以上处理器经配置以执行根据一次序来处理边界像素集合的填补操作,所述次序在左下方边界像素处开始且循序地前进通过边界像素到达右上方边界像素。当填补操作处理不可用的边界像素时,填补操作基于由填补操作先前处理的边界像素的值来对不可用的边界像素指派值。所述一个或一个以上处理器还经配置以基于所述边界像素产生经帧内预测视频块。
另外,本发明描述一种视频译码设备,其包括用于执行根据一次序来处理边界像素集合的填补操作的装置,所述次序在左下方边界像素处开始且循序地前进通过边界像素到达右上方边界像素。当填补操作处理不可用的边界像素时,填补操作基于由填补操作先前处理的边界像素的值来对不可用的边界像素指派值。所述视频译码设备还包括用于基于所述边界像素产生经帧内预测视频块的装置。
本发明还描述一种计算机程序产品,其包括存储计算机可执行指令的一个或一个以上计算机可读存储媒体,所述计算机可执行指令在执行时致使一个或一个以上处理器执行根据一次序来处理边界像素集合的填补操作,所述次序在左下方边界像素处开始且循序地前进通过边界像素到达右上方边界像素。当填补操作处理不可用的边界像素时,填补操作基于由填补操作先前处理的像素的值来对不可用的边界像素指派值。所述指令还致使所述一个或一个以上处理器基于所述边界像素产生经帧内预测视频块。
在附图和以下描述中陈述一个或一个以上实例的细节。从描述和图式以及从权利要求书将明了其它特征、目的和优点。
附图说明
图1是图解说明可实施本发明的技术的实例性视频译码***的框图。
图2是图解说明实例性视频块和与视频块相关联的边界像素集合的概念图。
图3A是图解说明高效视频译码中的实例性帧内预测模式的概念图。
图3B是指示数字向不同帧内预测模式的另一实例性指派的概念图。
图3C是图解说明H.264/AVC中的实例性帧内预测模式的概念图。
图4是图解说明可实施本发明的技术的实例性视频编码器的框图。
图5是图解说明可实施本发明的技术的实例性视频解码器的框图。
图6是图解说明实例性帧内预测操作的流程图。
图7是图解说明实例性填补操作的流程图。
图8是图解说明图7的实例性填补操作前进通过边界像素的次序的概念图。
图9是图解说明另一实例性填补操作的流程图。
图10是图解说明图9的填补操作前进通过边界像素的实例性次序的概念图。
图11是图解说明另一实例性填补操作的流程图。
图12是图解说明图11的填补操作前进通过边界像素的实例性次序的概念图。
图13是图解说明用于确定边界像素是否可用的实例性操作的流程图。
具体实施方式
附图图解说明实例。在附图中由参考标号指示的元件对应于在以下描述中由相同参考标号指示的元件。在本发明中,具有以序数词(例如,“第一”、“第二”、“第三”等等)开始的名称的元件不一定暗示所述元件具有特定次序。而是,此些序数词仅用以指代相同或相似类型的不同元件。
视频译码器可基于像素集合而产生经帧内预测视频块,所述像素集合在所述视频块的顶部侧和左侧上对所述视频块定界。视频块的左侧上的边界像素可延伸到视频块的底部像素行下方,且视频块的顶部侧上的边界像素可延伸到视频块的最右边像素列的右边。
在一些实例中,边界像素中的一者或一者以上可能不可用。因此,视频译码器可执行对不可用的边界像素指派值的填补操作。填补操作可根据一次序来处理边界像素,所述次序在左下方边界像素处开始且循序地前进通过边界像素到达右上方边界像素。当填补操作处理不可用的边界像素时,填补操作可基于由填补操作先前处理的边界像素的值来对不可用的边界像素指派值。在执行填补操作之后,视频译码器可基于边界像素产生经帧内预测视频块。如果视频译码器是视频编码器,那么视频译码器可基于经帧内预测视频块产生经编码视频数据。举例来说,视频编码器可至少部分地基于经帧内预测视频块产生残余数据。如果视频译码器是视频解码器,那么视频译码器可基于经帧内预测视频块产生经解码视频数据。举例来说,视频解码器可至少部分地基于经帧内预测视频块和残余视频块重构经解码视频块。
图1是图解说明可利用本发明的技术的实例性视频译码***10的框图。如本文描述所使用,术语“视频译码器”一股指代视频编码器、视频解码器以及组合式编码器-解码器(CODEC)。在本发明中,术语“视频译码”或“译码”可一股指代视频编码和视频解码。术语译码器、编码器、解码器和CODEC全部可指代与本发明一致的经设计以用于视频数据的译码(编码和/或解码)的特定机器。执行视频译码的装置可称为视频译码装置或设备。
如图1所示,视频译码***10包含源装置12和目的地装置14。源装置12产生经编码视频数据。目的地装置14可对由源装置12产生的经编码视频数据进行解码。源装置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可对视频数据进行编码。输出接口22可将经编码视频数据直接发射到目的地装置14。或者,输出接口22可将经编码视频数据存储到存储媒体或文件服务器上以供目的地装置14稍后存取以用于解码和/或重放。
在图1的实例中,目的地装置14包含输入接口28、视频解码器30和显示装置32。在一些情况下,输入接口28可包含接收器和/或调制解调器。目的地装置14的输入接口28经由信道16接收经编码视频数据。经编码视频数据可包含表示视频数据的多种语法元素。
显示装置32可与目的地装置14集成或可在目的地装置14的外部。在其它实例中,目的地装置14可为显示装置。大体上,显示装置32向用户显示经解码视频数据。显示装置32可包括多种显示装置中的任一者,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器,或另一类型的显示装置。
视频编码器20和视频解码器30可根据例如当前在开发的高效视频译码(HEVC)标准等视频压缩标准来操作,且可符合HEVC测试模型(HM)。或者,视频编码器20和视频解码器30可根据例如ITU-T H.264标准(或者称为MPEG-4第10部分高级视频译码(AVC))等其它专门或行业标准或此些标准的扩展来操作。然而本发明的技术不限于任何特定译码标准。其它实例视频压缩标准包含MPEG-2和ITU-T H.263。
虽然图1的实例中未图示,但视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器(MUX-DEMUX)单元或其它硬件和软件,以处置共同数据流或单独数据流中的音频和视频两者的编码。在一些实例中,MUX-DEMUX单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
再次,图1仅是实例,且本发明的技术可应用于不一定包含编码与解码装置之间的任何数据通信的视频译码设定(例如,视频编码或视频解码)。在许多实例中,视频编码和视频解码由不彼此通信但是将经编码视频数据存储到存储器和/或从存储器检索和解码经编码视频数据的装置执行。
视频编码器20和视频解码器30各自可使用各种类型的电路而实施,例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、硬件或其任何组合。在一些实例中,视频编码器20和视频解码器30可至少部分地以软件实施。当视频编码器20和/或视频解码器30部分地以软件实施时,装置可将用于所述软件的指令存储在合适的非暂时性计算机可读存储媒体中,且可使用一个或一个以上处理器执行硬件中的指令以执行本发明的技术。视频编码器20和视频解码器30中的每一者可包含于一个或一个以上编码器或解码器中,其中任一者可集成为相应装置中的组合式编码器/解码器(CODEC)的部分。
如上文简要提到,视频编码器20对视频数据进行编码。视频数据可包括一个或一个以上图片。图片中的每一者是形成视频的部分的静止图像。在一些实例中,图片可称为视频“帧”。当视频编码器20对视频数据进行编码时,视频编码器20可产生位流。位流可包含形成视频数据的经译码表示的位序列。
为了产生位流,视频编码器20可对视频数据中的每一图片执行编码操作。当视频编码器20对图片执行编码操作时,视频编码器20可产生一系列经译码图片和相关联数据。经译码图片是图片的经译码表示。相关联数据可包含序列参数集、图片参数集、调适参数集,和其它语法结构。序列参数集(SPS)可含有适用于零个或零个以上图片序列的参数。图片参数集(PPS)可含有适用于零个或零个以上图片的参数。调适参数集(APS)可含有适用于零个或零个以上图片的参数。PPS中的参数可对于图片集合为固定的,而不同调适参数集中的参数可适用于所述图片集合中的不同图片。
为了产生经译码图片,视频编码器20可将图片分割为相等大小的不重叠视频块。视频块中的每一者与一树块相关联。在一些实例中,树块也可称为最大译码单元(LCU)。HEVC的树块可广义地类似于例如H.264/AVC等先前标准的宏块。然而,树块不一定限于特定大小,且可包含一个或一个以上译码单元(CU)。视频编码器20可使用四叉树分割来将树块的视频块分割为与CU相关联的视频块,因此名称为“树块”。
在一些实例中,视频编码器20可将图片分割为多个切片。切片中的每一者可包含整数个CU。在一些实例中,切片包括整数个树块。在其它实例中,切片的边界可在树块内。
作为对图片执行编码操作的部分,视频编码器20可对图片的每一切片执行编码操作。当视频编码器20对切片执行编码操作时,视频编码器20可产生与所述切片相关联的经编码数据。与切片相关联的经编码数据可称为“经译码切片”。
为了产生经译码切片,视频编码器20可对切片中的每一树块执行编码操作。当视频编码器20对树块执行编码操作时,视频编码器20可产生经译码树块。经译码树块可包括表示树块的经编码版本的数据。
为了产生经译码树块,视频编码器20可对树块的视频块递归地执行四叉树分割以将视频块划分为逐渐变小的视频块。较小视频块中的每一者可与一不同CU相关联。举例来说,视频编码器20可将树块的视频块分割为四个相等大小的子块,将子块中的一者或一者以上分割为四个相等大小的子子块,等等。位流中的一个或一个以上语法元素可指示视频编码器20可对树块的视频块进行分割的最大次数。CU的视频块的形状可为正方形。CU的视频块的大小(即,CU的大小)可从8x8像素变动直到具有最大64x64像素或更大的树块的视频块的大小(即,树块的大小)。
视频编码器20可对树块的每一未经分割CU执行编码操作。未经分割CU是视频块未经分割为用于其它CU的视频块的CU。作为对未经分割CU执行编码操作的部分,视频编码器20可产生用于CU的一个或一个以上预测单元(PU)。UC的PU中的每一者可与CU的视频块内的一不同视频块相关联。视频编码器20可产生CU的每一PU的预测视频块。PU的预测视频块可为样本块。在本发明中,术语“样本”可指代像素的亮度(明度)或色彩(色度)。视频编码器20可使用帧内预测或帧间预测来产生PU的预测视频块。
当视频编码器20使用帧内预测来产生PU的预测视频块时,视频编码器20可基于与PU相关联的图片的样本来产生PU的预测视频块。如果视频编码器20使用帧内预测来产生CU的PU的预测视频块,那么CU是经帧内预测CU。
当视频编码器20使用帧间预测来产生PU的预测视频块时,视频编码器20可基于除了与PU相关联的图片之外的图片的值来产生PU的预测视频块。换句话说,视频编码器20可基于一个或一个以上参考图片中的样本来产生PU的预测视频块。另外,当视频编码器20使用帧间预测来产生PU的预测视频块时,视频编码器20可产生PU的运动信息。PU的运动信息可指示参考图片的对应于PU的视频块的一部分。换句话说,PU的运动信息可指示PU的“参考样本”。视频编码器20可基于参考图片的由PU的运动信息指示的部分来产生PU的预测视频块。如果视频编码器20使用帧间预测来产生CU的PU的预测视频块,那么CU是经帧间预测CU。
在视频编码器20产生CU的一个或一个以上PU的预测视频块之后,视频编码器20可基于CU的PU的预测视频块来产生CU的残余数据。CU的残余数据可指示CU的PU的预测视频块与CU的原始视频块中的样本之间的差。
此外,作为对未经分割CU执行编码操作的部分,视频编码器20可对CU的残余数据执行递归四叉树分割以将CU的残余数据分割为与CU的变换单元(TU)相关联的一个或一个以上残余数据块(即,残余视频块)。CU的每一TU可与一不同残余视频块相关联。视频译码器20可对CU的每一TU执行变换操作。
当视频编码器20对TU执行变换操作时,视频编码器20可将一个或一个以上变换应用于与TU相关联的残余视频块以产生与TU相关联的一个或一个以上变换系数块(即,变换系数块)。概念上,变换系数块可为变换系数的二维(2D)矩阵。
在产生变换系数块之后,视频编码器20可对变换系数块执行量化操作。量化大体上指代其中变换系数经量化以可能地减少用以表示所述变换系数的数据量从而提供进一步压缩的过程。量化可减少与变换系数中的一些或全部相关联的位深度。举例来说,在量化期间可将n位变换系数下舍入到m位变换系数,其中n大于m。
视频编码器20可使每一CU或若干CU与量化参数(QP)值相关联。与CU相关联的QP值可决定视频编码器20如何量化与所述CU或若干CU相关联的变换系数块。视频编码器20可通过调整与CU相关联的QP值来调整应用于与CU相关联的变换系数块的量化程度。
在视频编码器20量化变换系数块之后,视频编码器20可扫描经量化变换系数以产生变换系数层级的一维向量。视频编码器20可对所述一维向量进行熵编码。视频编码器20还可对与视频数据相关联的其它语法元素进行熵编码。
由视频编码器20产生的位流可包含一系列网络抽象层(NAL)单元。NAL单元中的每一者可为一种语法结构,其含有NAL单元中的数据类型和含有所述数据的字节的指示。举例来说,NAL单元可含有表示序列参数集、图片参数集、经译码切片、补充增强信息(SEI)、存取单元定界符、填充数据或另一类型数据的数据。NAL单元中的数据可包含经熵编码语法结构,例如经熵编码变换系数块、运动信息等等。
视频解码器30可接收由视频编码器20产生的位流。位流可包含由视频编码器20编码的视频数据的经编码表示。当视频解码器30接收到位流时,视频解码器30可对位流执行剖析操作。当视频解码器30执行剖析操作时,视频解码器30可从位流提取语法元素。视频解码器30可基于从位流提取的语法元素来重构视频数据的图片。用以基于语法元素重构视频数据的过程可与由视频编码器20执行以产生语法元素的过程大体上互逆。
在视频解码器30提取与CU相关联的语法元素之后,视频解码器30可基于语法元素产生CU的PU的经帧内预测或经帧间预测视频块。另外,视频解码器30可对与CU的TU相关联的变换系数块进行逆量化。视频解码器30可对变换系数块执行逆变换以重构与CU的TU相关联的残余视频块。在产生预测视频块且重构残余视频块之后,视频解码器30可基于预测视频块和残余视频块来重构CU的视频块。以此方式,视频解码器30可基于位流中的语法元素来确定CU的视频块。
如先前简要描述,例如视频编码器20或视频解码器30等视频译码器可使用帧内预测来产生PU的预测视频块。为便于阐释,本发明可将使用帧内预测产生的预测视频块称为经帧内预测视频块。当视频译码器产生PU的经帧内预测视频块时,视频译码器可将各种边界像素的值指派于经帧内预测视频块中的像素。
图2是图解说明实例性视频块50和与视频块50相关联的边界像素集合的概念图。视频块50可与视频译码器当前正在译码的CU的PU相关联。在图2的实例中,视频块50由标为a-p的16个像素组成。在图2的实例中,边界像素标为A-R。其它视频块可大于或小于视频块50。大体上,视频块可与视频块上方的2*w+1边界像素和视频块左边的2*h+1边界像素相关联,其中w是视频块的宽度且h是视频块的高度。
视频块(例如,视频块50)上方的边界像素可形成顶部预测符。换句话说,顶部预测符可为对应于位于视频块上方的一行样本的参考样本阵列。如果视频块的左上方像素具有坐标(x,y)且视频块的大小为NxN,那么具有坐标(x+i,y-1)的样本形成顶部预测符,其中i的范围从-1变动到2N。视频块的左边的边界像素形成左预测符。换句话说,左预测符可为对应于位于视频块左边的一列样本的参考样本阵列。如果视频块的左上方像素具有坐标(x,y)且视频块的大小为NxN,那么具有坐标(x-1,y+j)的样本形成左预测符,其中j的范围从-1变动到2N。
图3A是图解说明HEVC中的实例性帧内预测模式的概念图。在图3A的实例中,帧内预测模式1、2和4到33对应于视频译码器可延伸边界像素以产生经帧内预测视频块的不同方向。举例来说,当视频译码器使用帧内预测模式1时,视频译码器可通过向下垂直地延伸边界像素的值来产生经帧内预测视频块。在此实例中,视频译码器可通过如下方式使用帧内预测模式1来产生视频块50(图2):将边界像素A的值指派于像素a、e、i和m,将边界像素B的值指派于像素b、f、j和n,将边界像素C的值指派于像素c、g、k和o,且将边界像素D的值指派于像素d、h、1和p。
模式0可指代平面模式。视频译码器可使用以下公式来使用平面模式产生经帧内预测视频块:
predSamples[x,y]=(
(nS-1-x)*p[-1,y]+(x+1)*p[nS,-1]+
(nS-1-y)*p[x,-1]+(y+1)*p[-1,nS]+nS)>>(k+1)
其中x,y=0..nS-1,k=Log2(nS)
在以上公式中,predSamples[x,y]是经帧内预测样本阵列,nS指示预测视频块的大小,且p[x,y]是相邻样本阵列。
模式3可指代DC模式。为了使用DC模式产生经帧内预测视频块,视频译码器可首先使用以下公式计算值DCVal:
其中x,y=0..nS-1
如果当前块的色度指数(cIdx)等于0,那么以下情况适用。
predSamples[0,0]=(1*p[-1,0]+2*DCVal+1*p[0,-1]+2>>2
predSamples[x,0]=(1*p[x,-1]+3*DCVal+2)>>2,其中x=1..nS-1
predSamples[0,y]=(1*p[-1,y]+3*DCVal+2)>>2,其中y=1..nS-1
predSamples[x,y]=DCVal,其中x,y=1..nS-1
否则,预测样本predSamples[x,y]经推导为
predSamples[x,y]-DCVal,其中x,y=0..nS-1
在以上公式中,predSamples[x,y]是经帧内预测样本阵列,nS指示预测视频块的大小,且p[x,y]是相邻样本阵列。
在另一实例中,当视频译码器使用帧内预测模式10时,视频译码器可通过从左下方到右上方对角地延伸边界像素的值来产生经帧内预测视频块。在图2的实例中,视频译码器可通过如下方式使用帧内预测模式10来产生视频块50:将边界像素J的值指派于像素a,将边界像素K的值指派于像素e和b,将边界像素L的值指派于像素i、f和c,将边界像素M的值指派于像素m、j、g和d,将边界像素N的值指派于像素n、k和h,将边界像素O的值指派于像素o和1,且将边界像素P的值指派于像素p。
在其它实例中,视频译码器可使用不同数字来指示帧内预测模式。举例来说,图3B是指示数字向不同帧内预测模式的另一指派的概念图。
图3C是图解说明H.264/AVC中的实例性帧内预测模式的概念图。在H.264/AVC中可存在较少可用的帧内预测模式。
在一些实例中,与经帧内预测视频块相关联的边界像素中的一者或一者以上不可用。与经帧内预测视频块相关联的边界像素集合可包含视频译码器可用来产生经帧内预测视频块的边界像素。当边界像素不可用时,视频译码器可不能存取边界像素的值。因此,视频译码器可不能使用边界像素的值来产生经帧内预测视频块。
边界像素可能出于多种原因而不可用。举例来说,如果边界像素在当前图片(即,视频译码器当前正在译码的图片)的边界之外,那么边界像素可为不可用的。在另一实例中,如果边界像素在当前切片或瓦片(即,视频译码器当前正在译码的切片或瓦片)的边界之外且不允许交叉切片/瓦片预测,那么边界像素可为不可用的。在另一实例中,如果边界像素与经帧间预测CU相关联且针对当前图片启用受限帧内预测,那么边界像素可为不可用的。
因为一个或一个以上边界像素可为不可用的,所以视频译码器可执行对不可用的边界像素指派值的填补操作。在视频译码器执行填补操作之后,视频译码器可使用可用边界像素的可用值以及不可用边界像素的经指派值来产生经帧内预测视频块。
不同的视频译码器可以各种方式对不可用的边界像素指派值。举例来说,视频译码器可执行从左下方边界像素(例如,图2中的边界像素P)到隅角像素(例如,图2中的边界像素R)到右上方边界像素(例如,图2中的边界像素H)扫描经过边界像素的填补操作。在此实例中,当视频译码器到达不可用的边界像素时,视频译码器可向前扫描直到视频译码器到达下一可用边界像素为止。在识别出可用边界像素后,填补操作可基于下一可用像素和先前可用边界像素的值来对不可用的边界像素指派值。
在上文描述的实例性填补操作中,如果不存在先前可用的边界像素,那么视频译码器可继续扫描以找到第一可用边界像素且随后将第一可用边界像素的值指派于在第一可用边界像素之前的每一不可用边界像素。换句话说,Ppad=Pnext,其中Ppad是指派于第一可用边界像素之前的每一不可用边界像素的值,且Pnext是下一可用边界像素的值。如果不存在下一可用边界像素,那么视频译码器可从最后可用边界像素的值外推不可用边界像素的值。换句话说,Ppad=Ppre,其中Ppad是指派于最后可用边界像素之后的每一不可用边界像素的值,且Ppre是最后可用边界像素的值。如果不存在边界像素Ppre和Pnext可用,那么视频译码器可对边界像素指派默认值。
以先前段落中描述的方式对不可用边界像素指派值可具有若干缺点。举例来说,以此方式对每一不可用边界像素指派值可能需要视频译码器执行若干存储器读取操作以向前扫描来找到下一可用边界像素。因此,上文描述的填补操作可能需要跳跃型存储器存取。举例来说,一旦视频译码器定位到下一可用边界像素,视频译码器便可对不可用边界像素指派值Ppad。随后,视频译码器可从当前边界像素直到下一可用边界像素将值Ppad指派于每一边界像素,这可能需要再次从当前边界像素开始的存储器存取。此来回型存储器存取模式可能不是合意的。存储器存取操作可为耗时且功率密集的,尤其是当鉴于数据位置以随机方式存取存储器时。
根据本发明的技术,视频译码器可执行根据在左下方边界像素(例如,图2中的边界像素P)开始且循序地前进通过边界像素到达右上方边界像素(例如,图2中的边界像素H)的次序处理边界像素集合的填补操作。当填补操作处理不可用边界像素时,填补操作基于由填补操作先前处理的边界像素的值来对不可用边界像素指派值。以此方式,视频译码器不需要继续扫描来找到下一可用边界像素。同时,此填补操作可对视频数据的译码效率具有极少影响。因为视频译码器可使用较规则且一致的存储器存取模式,所以视频译码器的复杂性可降低,且视频译码器的性能可相对于实施其它技术的视频译码器而改善。
图4是图解说明经配置以实施本发明的技术的实例性视频编码器20的框图。图4是为了阐释目的而提供,且不应视为限制如本发明中广义地例示和描述的技术。为了阐释的目的,本发明在HEVC译码的上下文中描述视频编码器20。然而,本发明的技术可适用于其它译码标准或方法。
在图4的实例中,视频编码器20包含多个功能组件。视频编码器20的功能组件包含预测模块100、残余产生模块102、变换模块104、量化模块106、逆量化模块108、逆变换模块110、重构模块112、滤波器模块113、经解码图片缓冲器114,以及熵编码模块116。预测模块100包含运动估计模块122、运动补偿模块124和帧内预测模块126。在其它实例中,视频编码器20可包含较多、较少或不同功能组件。此外,运动估计模块122和运动补偿模块124可高度集成,但在图4的实例中为了阐释目的而分开地表示。
视频编码器20可接收视频数据。视频编码器20可从各种源接收视频数据。举例来说,视频编码器20可从视频源18(图1)或另一源接收视频数据。视频数据可表示一系列图片。为了对视频数据进行编码,视频编码器20可对图片中的每一者执行编码操作。作为对图片执行编码操作的部分,视频编码器20可对图片的每一切片执行编码操作。作为对切片执行编码操作的部分,视频编码器20可对切片中的树块执行编码操作。
作为对树块执行编码操作的部分,预测模块100可对树块的视频块执行四叉树分割以将视频块划分为逐渐变小的视频块。较小视频块中的每一者可与一不同CU相关联。举例来说,预测模块100可将树块的视频块分割为四个相等大小的子块,将子块中的一者或一者以上分割为四个相等大小的子子块,等等。
与CU相关联的视频块的大小的范围可为从8x8样本直到具有最大64x64样本或更大的树块的大小。在本发明中,“NxN”和“N乘N”可以互换地使用以在垂直和水平尺寸方面指代视频块的样本尺寸,例如16x16样本或16乘16样本。大体上,16x16视频块将在垂直方向上具有16个样本(y=16)且在水平方向上具有16个样本(x=16)。同样,NxN块通常在垂直方向上具有N个样本且在水平方向上具有N个样本,其中N表示非负整数值。
此外,作为对树块执行编码操作的部分,预测模块100可产生树块的阶层式四叉树数据结构。举例来说,树块可对应于四叉树数据结构的根节点。如果预测模块100将树块的视频块分割为四个子块,那么根节点在四叉树数据结构中具有四个子节点。子节点中的每一者对应于与子块中的一者相关联的CU。如果预测模块100将子块中的一者分割为四个子子块,那么对应于与子块相关联的CU的节点可具有四个子节点,其各自对应于与子子块中的一者相关联的CU,依此类推。
四叉树数据结构的每一节点可含有对应树块或CU的语法数据(例如,语法元素)。举例来说,四叉树中的节点可包含***旗标,其指示CU的对应于节点的视频块是否经分割(即,***)为四个子块。CU的语法元素可递归地界定,且可取决于CU的视频块是否经***为若干子块。视频块未经分割的CU可对应于四叉树数据结构中的叶节点。经译码树块可包含基于对应树块的四叉树数据结构的数据。
视频编码器20可对树块的每一未经分割CU执行编码操作。当视频编码器20对未经分割CU执行编码操作时,视频编码器20可产生表示未经分割CU的经编码表示的数据。
作为对CU执行编码操作的部分,预测模块100可在CU的一个或一个以上PU之间分割CU的视频块。视频编码器20和视频解码器30可支持各种PU大小。假定特定CU的大小为2Nx2N,则视频编码器20和视频解码器30可支持2Nx2N或NxN的帧内预测PU大小以及2Nx2N、2NxN、Nx2N、NxN或类似的对称PU大小的帧间预测。视频编码器20和视频解码器30还可支持2NxnU、2NxnD、nLx2N和nRx2N的PU大小的不对称分割。在一些实例中,预测模块100可执行几何分割以沿着一边界在CU的PU之间分割CU的视频块,所述边界不以直角会合CU的视频块的侧。
运动估计模块122和运动补偿模块124可对CU的每一PU执行帧间预测。帧间预测可提供时间压缩。通过对PU执行帧间预测,运动估计模块122和运动补偿模块124可基于参考图片而非与CU相关联的图片的经解码样本来产生PU的预测数据.PU的预测数据可包含预测视频块和各种语法元素。
此外,当运动估计模块122执行关于PU的运动估计操作时,运动估计模块122可产生PU的一个或一个以上运动向量。举例来说,切片可为I切片、P切片或B切片。运动估计模块122和运动补偿模块124可取决于PU是否在I切片、P切片或B切片中而执行针对CU的PU的不同操作。在I切片中,所有PU经帧内预测。因此,如果PU在I切片中,那么运动估计模块122和运动补偿模块124不对PU执行帧间预测。
如果PU在P切片中,那么含有PU的图片与称为“列表0”的参考图片列表相关联。列表0中的参考图片中的每一者含有可用于解码次序上的后续图片的帧间预测的样本。当运动估计模块122执行关于P切片中的PU的运动估计操作时,运动估计模块122可搜索列表0中的参考图片是否有PU的参考样本。PU的参考样本可为样本集合,例如样本块,其最接近地对应于PU的视频块中的样本。运动估计模块122可使用多种度量来确定参考图片中的样本集合如何接近地对应于PU的视频块中的样本。举例来说,运动估计模块122可通过绝对差和(SAD)、平方差和(SSD)或其它差度量来确定参考图片中的样本集合如何接近地对应于PU的视频块中的样本。
在识别P切片中的PU的参考样本之后,运动估计模块122可产生指示列表0中含有参考样本的参考图片的参考索引,以及指示PU与参考样本之间的空间位移的运动向量。在各种实例中,运动估计模块122可在各种程度的精度上产生运动向量。举例来说,运动估计模块122可以四分之一样本精度、八分之一样本精度或其它分数样本精度来产生运动向量。在分数样本精度的情况下,可从参考图片中的整数位置样本值来内插参考样本值。运动估计模块122可将PU的运动信息输出到熵编码模块116和运动补偿模块124。PU的运动信息可包含PU的参考索引和运动向量。运动补偿模块124可使用PU的运动信息来识别和检索PU的参考样本。
如果PU在B切片中,那么含有PU的图片与称为“列表0”和“列表1”的两个参考图片列表相关联。列表0中的参考图片中的每一者含有可用于解码次序上的后续图片的帧间预测的样本。列表1中的参考图片在解码次序上发生在图片之前,但在呈现次序上发生在图片之后。在一些实例中,含有B切片的图片可与作为列表0与列表1的组合的列表组合相关联。
此外,如果PU在B切片中,那么运动估计模块122可执行针对PU的单向预测或双向预测。当运动估计模块122执行PU的单向预测时,运动估计模块122可搜索列表0或列表1的参考图片是否有PU的参考样本。运动估计模块122可随后产生指示列表0或列表1中含有参考样本的参考图片的参考索引,以及指示PU与参考样本之间的空间位移的运动向量。运动估计模块122可将指示PU的运动信息的语法元素输出到熵编码模块116和运动补偿模块124。PU的运动信息可包含PU的参考索引、预测方向指示符和运动向量。预测方向指示符可指示参考索引是否指示列表0或列表1中的参考图片。运动补偿模块124可使用PU的运动信息来识别和检索PU的参考样本。
当运动估计模块122执行PU的双向预测时,运动估计模块122可搜索列表0中的参考图片是否有PU的参考样本,且还可搜索列表1中的参考图片是否有PU的另一参考样本。运动估计模块122可随后产生指示列表0和列表1中含有参考样本的参考图片的参考索引,以及指示参考样本与PU之间的空间位移的运动向量。运动估计模块122可将指示PU的运动信息的语法元素输出到熵编码模块116和运动补偿模块124。PU的运动信息可包含PU的参考索引和运动向量。运动补偿模块124可使用运动信息来识别和检索PU的参考样本。
在一些实例中,运动估计模块122不将PU的运动信息的完整集合输出到熵编码模块116。而且,运动估计模块122可参考另一PU的运动信息来用信号发送一PU的运动信息。举例来说,运动估计模块122可确定PU的运动信息充分类似于相邻PU的运动信息。在此实例中,运动估计模块122可在与PU相关联的CU的四叉树节点中指示一个值,所述值向视频解码器30指示PU具有与相邻PU相同的运动信息。在另一实例中,运动估计模块122可在与关联于PU的CU相关联的四叉树节点中识别相邻PU和运动向量差(MVD)。运动向量差指示PU的运动向量与所指示相邻PU的运动向量之间的差。视频解码器30可使用所指示相邻PU的运动向量和运动向量差来预测PU的运动向量。通过在用信号发送第二PU的运动信息时参见第一PU的运动信息,视频编码器20可能够使用较少的位来用信号发送第二PU的运动信息。
作为对CU执行编码操作的部分,帧内预测模块126可对CU的PU执行帧内预测。帧内预测可提供空间压缩。当帧内预测模块126对PU执行帧内预测时,帧内预测模块126可基于同一图片中的其它PU的经解码样本来产生PU的预测数据。PU的预测数据可包含预测视频块和各种语法元素。帧内预测模块126可对I切片、P切片和B切片中的PU执行帧内预测。
为了对PU执行帧内预测,帧内预测模块126可使用多个帧内预测模式来产生PU的多个预测数据集合。当帧内预测模块126使用帧内预测模式来产生PU的预测数据集合时,帧内预测模块126可在与帧内预测模式相关联的方向上从相邻PU的视频块延伸样本越过PU的视频块。相邻PU可在PU的上方、右上方、左上方、左边或左下方。帧内预测模块126可使用各种数目的帧内预测模式,例如35个方向性帧内预测模式。帧内预测模块126可执行各种帧内预测操作。举例来说,帧内预测模块126可执行图6的实例性帧内预测操作。
预测模块100可从由运动补偿模块124针对PU产生的预测数据或由帧内预测模块126针对PU产生的预测数据当中选择PU的预测数据。在一些实例中,预测模块100基于预测数据集合的速率/失真度量来选择PU的预测数据。
如果预测模块100选择由帧内预测模块126产生的预测数据,那么预测模块100可用信号发送曾用以产生PU的预测数据的帧内预测模式,即选定的帧内预测模式。预测模块100可以各种方式用信号发送选定的帧内预测模式。举例来说,可能选定的帧内预测模式与相邻PU的帧内预测模式相同。换句话说,相邻PU的帧内预测模式可为当前PU的最可能模式。因此,预测模块100可产生语法元素以指示选定的帧内预测模式与相邻PU的帧内预测模式相同。
在预测模块100选择CU的PU的预测数据之后,残余产生模块102可通过从CU的视频块减去CU的PU的预测数据的预测视频块来产生CU的残余数据。CU的残余数据可包含对应于CU的视频块中的样本的不同样本分量的2D残余视频块。举例来说,残余数据可包含对应于CU的PU的预测视频块中的样本的明度分量与CU的原始视频块中的样本的明度分量之间的差的残余视频块。另外,CU的残余数据可包含对应于CU的PU的预测视频块中的样本的色度分量与CU的原始视频块中的样本的色度分量之间的差的残余视频块。
预测模块100可执行四叉树分割以将CU的残余视频块分割为子块。每一未经划分残余视频块可与CU的不同TU相关联。与CU的TU相关联的残余视频块的大小和位置可基于或可不基于与CU的PU相关联的视频块的大小和位置。称为“残余四叉树”(RQT)的四叉树结构可包含与残余视频块中的每一者相关联的节点。CU的TU可对应于RQT的叶节点。
变换模块104可通过将一个或一个以上变换应用于与TU相关联的残余视频块来产生CU的每一TU的一个或一个以上变换系数块。变换系数块中的每一者可为变换系数的2D矩阵。变换模块104可将各种变换应用于与TU相关联的残余视频块。举例来说,变换模块104可将离散余弦变换(DCT)、方向性变换或概念上类似的变换应用于与TU相关联的残余视频块。
在变换模块104产生与TU相关联的变换系数块之后,量化模块106可量化变换系数块中的变换系数。量化模块106可基于与CU相关联的QP值来量化与CU的TU相关联的变换系数块。
视频编码器20可以各种方式使QP值与CU相关联。举例来说,视频编码器20可对与CU相关联的树块执行速率-失真分析。在速率-失真分析中,视频编码器20可通过对树块多次执行编码操作来产生树块的多个经译码表示。当视频编码器20产生树块的不同经编码表示时,视频编码器20可使不同QP值与CU相关联。视频编码器20可在给定QP值与具有最低位速率和失真度量的树块的经译码表示中的CU相关联时用信号发送给定QP值与CU相关联。
逆量化模块108和逆变换模块110可分别将逆量化和逆变换应用于变换系数块以从变换系数块重构残余视频块。重构模块112可将经重构残余视频块添加到来自由预测模块100产生的一个或一个以上预测视频块的对应样本以产生与TU相关联的经重构视频块。通过以此方式针对CU的每一TU重构视频块,视频编码器20可重构CU的视频块。
在重构模块112重构CU的视频块之后,滤波器模块113可执行解块操作以减少与CU相关联的视频块中的成块假象。在执行解块操作之后,滤波器模块113可将CU的经重构视频块存储在经解码图片缓冲器114中。运动估计模块122和运动补偿模块124可使用含有经重构视频块的参考图片来对后续图片的PU执行帧间预测。另外,帧内预测模块126可使用经解码图片缓冲器114中的经重构视频块来对在与CU相同的图片中的其它PU执行帧内预测。
熵编码模块116可从视频编码器20的其它功能组件接收数据。举例来说,熵编码模块116可从量化模块106接收变换系数块,且可从预测模块100接收语法元素。当熵编码模块116接收到数据时,熵编码模块116可执行一个或一个以上熵编码操作以产生经熵编码数据。举例来说,视频编码器20可对数据执行上下文自适应可变长度译码(CAVLC)操作、上下文自适应二进制算术译码(CABAC)操作、可变到可变(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作或另一类型的熵编码操作。熵编码模块116可输出包含经熵编码数据的位流。
作为对数据执行熵编码操作的部分,熵编码模块116可选择上下文模型。如果熵编码模块116正在执行CABAC操作,那么上下文模型可指示二进位具有特定值的概率。在CABAC的上下文中,术语“二进位”用以指代语法元素的经二进制化版本的位。
如果熵编码模块116正在执行CAVLC操作,那么上下文模型可将系数映射到对应码字。CAVLC中的码字可经构造以使得相对较短的码对应于较可能的符号,而相对长的码对应于较不可能的符号。适当上下文模型的选择可影响熵编码操作的译码效率。
在一些实例中,视频编码器20可将切片的CU划分为多个瓦片。视频编码器20可通过界定图片的两个或两个以上水平边界和所述图片的两个或两个以上垂直边界来将CU划分为瓦片。水平边界可包含图片的顶部和底部边缘。垂直边界可包含图片的左侧和右侧。当视频编码器不使用瓦片时,视频编码器20可以光栅扫描次序对帧的所有树块进行编码。然而,当视频编码器20使用瓦片时,视频编码器可以光栅扫描次序对瓦片进行编码。当视频编码器20对瓦片进行编码时,视频编码器20可以光栅扫描次序对瓦片内的树块(即,LCU)进行编码。因此,视频编码器20可使用瓦片来改变图片的树块的编码次序。
此外,在一些实例中,当视频编码器20正在对给定CU进行编码时,视频编码器20可使用与空间相邻CU相关联的信息来对给定CU执行帧内预测,只要给定CU和空间相邻CU属于同一瓦片即可。空间相邻CU可为在与给定CU相同的图片中的CU。(当视频编码器20对给定CU执行帧间预测时,视频编码器20也可使用来自时间相邻CU的运动和像素信息,无论时间相邻CU的瓦片如何。)类似地,在一些实例中,当视频编码器20正在对给定CU进行编码时,视频编码器20可使用与空间相邻CU相关联的信息来选择用于对给定CU的语法元素进行熵编码的上下文,只要给定CU和空间相邻CU在同一瓦片中即可。由于这些限制,视频编码器20可能够并行地对瓦片中的两者或两者以上进行编码。
图5是图解说明可实施本发明的技术的实例性视频解码器30的框图。图5是为了阐释目的而提供,且不限制如本发明中广义地例示和描述的技术。为了阐释的目的,本发明在HEVC译码的上下文中描述视频解码器30。然而,本发明的技术可适用于其它译码标准或方法。
在图5的实例中,视频解码器30包含多个功能组件。视频解码器30的功能组件包含熵解码模块150、预测模块152、逆量化模块154、逆变换模块156、重构模块158、滤波器模块159,以及经解码图片缓冲器160。预测模块152包含运动补偿模块162和帧内预测模块164。在一些实例中,视频解码器30可执行与关于图4的视频编码器20描述的编码遍次大体上互逆的解码遍次。在其它实例中,视频解码器30可包含较多、较少或不同功能组件。
视频解码器30可接收包括经编码视频数据的位流。位流可包含多个语法元素。当视频解码器30接收到位流时,熵解码模块150可对位流执行剖析操作。由于对位流执行剖析操作,熵解码模块150可从位流提取语法元素。作为执行剖析操作的部分,熵解码模块150可对位流中的经熵编码语法元素进行熵解码。预测模块152、逆量化模块154、逆变换模块156、重构模块158以及滤波器模块159可执行重构操作,所述重构操作基于从位流提取的语法元素来产生经解码视频数据。
如上文论述,位流可包括一系列NAL单元。位流的NAL单元可包含序列参数集NAL单元、图片参数集NAL单元、SEI NAL单元等等。作为对位流执行剖析操作的部分,熵解码模块150可执行剖析操作,所述剖析操作提取和熵解码来自序列参数集NAL单元的序列参数集、来自图片参数集NAL单元的图片参数集、来自SEI NAL单元的SEI数据等等。
另外,位流的NAL单元可包含经译码切片NAL单元。作为对位流执行剖析操作的部分,熵解码模块150可执行提取和熵解码来自经译码切片NAL单元的经译码切片的剖析操作。经译码切片中的每一者可包含切片标头和切片数据。切片标头可含有属于切片的语法元素。切片标头中的语法元素可包含识别与含有切片的图片相关联的图片参数集的语法元素。熵解码模块150可对经译码切片标头执行熵解码操作,例如CAVLC解码操作,以恢复切片标头。
在从经译码切片NAL单元提取切片数据之后,熵解码模块150可从切片数据提取经译码树块。熵解码模块150可随后从经译码树块提取经译码CU。熵解码模块150可执行从经译码CU提取语法元素的剖析操作。所提取的语法元素可包含经熵编码变换系数块。熵解码模块150可随后对语法元素执行熵解码操作。举例来说,熵解码模块150可对变换系数块执行CABAC操作。
在熵解码模块150对未经分割CU执行剖析操作之后,视频解码器30可对未经分割CU执行重构操作。为了对未经分割CU执行重构操作,视频解码器30可对CU的每一TU执行重构操作。通过对CU的每一TU执行重构操作,视频解码器30可重构与CU相关联的残余视频块。
作为对TU执行重构操作的部分,逆量化模块154可对与TU相关联的变换系数块进行逆量化,即解量化。逆量化模块154可以类似于针对HEVC提出或由H.264解码标准界定的逆量化过程的方式来逆量化变换系数块。逆量化模块154可使用由视频编码器20针对变换系数块的CU计算的量化参数QP来确定量化程度,且同样确定将应用的用于逆量化模块154的逆量化程度。
在逆量化模块154逆量化变换系数块之后,逆变换模块156可产生与变换系数块相关联的TU的残余视频块。逆变换模块156可将逆变换应用于变换系数块以便产生TU的残余视频块。举例来说,逆变换模块156可将逆DCT、逆整数变换、逆卡忽南-拉维(Karhunen-Loeve)变换(KLT)、逆旋转变换、逆方向性变换或另一逆变换应用于变换系数块。
在一些实例中,逆变换模块156可基于来自视频编码器20的信令来确定将应用于变换系数块的逆变换。在此些实例中,逆变换模块156可基于与变换系数块相关联的树块的四叉树的根节点处用信号发送的变换来确定逆变换。在其它实例中,逆变换模块156可从例如块大小、译码模式或类似物等一个或一个以上译码特性推断逆变换。在一些实例中,逆变换模块156可应用级联逆变换。
如果CU的PU是使用帧间预测编码的,那么运动补偿模块162可执行运动补偿以产生PU的预测视频块。运动补偿模块162可使用PU的运动信息来识别PU的参考样本。PU的参考样本可在与PU不同的时间图片中。PU的运动信息可包含运动向量、参考图片索引和预测方向。运动补偿模块162可使用PU的参考样本来产生PU的预测视频块。在一些实例中,运动补偿模块162可基于相邻于PU的PU的运动信息来预测PU的运动信息。在本发明中,如果视频编码器20使用帧间预测来产生PU的预测视频块,那么PU是经帧间预测PU。
在一些实例中,运动补偿模块162可通过基于内插滤波器执行内插来精炼PU的预测视频块。将用于具有子样本精度的运动补偿的内插滤波器的识别符可包含于语法元素中。运动补偿模块162可使用由视频编码器20在PU的预测视频块的产生期间使用的相同内插滤波器来计算参考块的子整数样本的经内插值。运动补偿模块162可根据所接收语法信息来确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测视频块。
如果PU是使用帧内预测编码的,那么帧内预测模块164可执行帧内预测以产生PU的预测视频块。举例来说,帧内预测模块164可基于位流中的语法元素来确定PU的帧内预测模式。位流可包含帧内预测模块164可用来预测PU的帧内预测模式的语法元素。举例来说,帧内预测模块164可执行图6的实例性帧内预测操作。
在一些实例中,语法元素可指示帧内预测模块164将使用另一PU的帧内预测模式来预测当前PU的帧内预测模式。举例来说,可能当前PU的帧内预测模式与相邻PU的帧内预测模式相同。换句话说,相邻PU的帧内预测模式可为当前PU的最可能模式。因此,在此实例中,位流可包含小语法元素,其指示PU的帧内预测模式与相邻PU的帧内预测模式相同。帧内预测模块164可随后使用帧内预测模式来基于空间相邻PU的视频块而产生PU的预测数据(例如,预测样本)。
重构模块158可在适用时使用与CU的TU相关联的残余视频块和CU的PU的预测视频块(即,帧内预测数据或帧间预测数据)来重构CU的视频块。因此,视频解码器30可基于位流中的语法元素来产生预测视频块和残余视频块,且可基于预测视频块和残余视频块产生视频块。在重构模块158重构CU的视频块之后,滤波器模块159可执行滤波器模块159可执行解块操作以减少与CU相关联的成块假象。
经解码图片缓冲器160可存储视频数据的图片的经解码样本。因此,在滤波器模块159执行解块操作之后,视频解码器30可将CU的视频块存储在经解码图片缓冲器160中。经解码图片缓冲器160可提供参考图片以用于后续运动补偿、帧内预测以及在例如图1的显示装置32等显示装置上的呈现。举例来说,视频解码器30可基于经解码图片缓冲器160中的视频块来对其它CU的PU执行帧内预测或帧间预测操作。
图6是图解说明实例性帧内预测操作200的流程图。例如视频编码器20或视频解码器30等视频译码器可执行帧内预测操作200。在其它实例中,视频译码器可使用除了帧内预测操作200之外的帧内预测操作。举例来说,在其它实例中,视频译码器可执行帧内预测操作,其中视频译码器执行与帧内预测操作200相比更多、更少或不同的步骤。
在视频译码器开始帧内预测操作200之后,视频译码器可执行PU的填补操作(202)。当视频译码器执行填补操作时,视频译码器可对与PU相关联的不可用边界像素指派值。视频译码器可执行各种填补操作。举例来说,视频译码器可执行图7的实例性填补操作、图8的实例性填补操作、图10的实例性填补操作,或另一填补操作。
当视频译码器执行填补操作之后,视频译码器可基于边界像素来产生PU的经帧内预测视频块(204)。视频译码器可使用边界像素中的一些或全部来产生经帧内预测视频块。
图7是图解说明实例性填补操作250的流程图。例如视频编码器20或视频解码器30等视频译码器可执行填补操作250。在其它实例中,视频译码器可使用除了填补操作250之外的填补操作。举例来说,在其它实例中,视频译码器可执行填补操作,其中视频译码器执行与填补操作250相比更多、更少或不同的步骤。
在视频译码器开始填补操作250之后,视频译码器可设定像素指示符以指示左下方边界像素(252)。举例来说,在图2的实例中,视频译码器可设定像素指示符以指示边界像素P。为便于阐释,本发明可将由像素指示符指示的边界像素称为当前边界像素。
接着,视频译码器可确定当前边界像素是否可用(254)。视频译码器可以各种方式确定当前边界像素是否可用。举例来说,视频译码器可执行图13的实例性操作以确定当前边界像素是否可用。
响应于确定当前边界像素不可用(254的“否”),那么视频译码器可对当前边界像素指派默认值(256)。因为当前边界像素是左下方边界像素,所以视频译码器可确定左下方边界像素是否可用,且响应于确定左下方边界像素不可用而对左下方边界像素指派默认值。在另一实例中,视频译码器可响应于确定左下方边界像素不可用而对左下方边界像素指派下一可用边界像素的值。
在对当前边界像素指派值之后或响应于确定当前边界像素不可用(254的“是”),视频译码器可更新像素指示符以指示下一边界像素(258)。如果当前边界像素在左下方边界像素与隅角边界像素(例如,图2中的边界像素R)之间,那么下一边界像素在当前边界像素正上方。举例来说,在图2的实例中,如果当前边界像素是边界像素P,那么下一边界像素是边界像素O。如果当前边界像素是边界像素O,那么下一边界像素是边界像素N,依此类推。如果当前像素是隅角边界像素或在隅角边界像素与右上方边界像素(例如,图2中的边界像素H)之间,那么下一边界像素紧邻于当前边界像素的右边。举例来说,在图2的实例中,如果当前边界像素是边界像素R,那么下一边界像素是边界像素A。如果当前边界像素是边界像素A,那么下一边界像素是边界像素B,依此类推。通过更新像素指示符,下一边界像素变为当前边界像素。
在更新像素指示符之后,视频译码器可确定当前边界像素是否可用(260)。响应于确定当前边界像素不可用(260的“否”),视频译码器可对当前边界像素指派先前边界像素的值(262)。换句话说,视频译码器可对当前边界像素指派根据次序紧邻于当前边界像素之前的边界像素的值。举例来说,在图2的实例中,如果当前边界像素是边界像素M且边界像素M不可用,那么视频译码器可对边界像素M指派边界像素N的值。如果当前边界像素是边界像素L且边界像素L不可用,那么视频译码器可对边界像素L指派边界像素M的值,依此类推。当视频译码器对第二边界像素指派第一边界像素的值时,视频译码器可不改变第二边界像素的实际值,而是可使用第一边界像素的值作为第二边界像素的值以用于产生经帧内预测视频块的目的。
在执行步骤262之后或响应于确定当前边界像素可用(260的“是”),视频译码器可确定当前边界像素是否为右上方边界像素(264)。举例来说,在图2的实例中,视频译码器可确定当前边界像素是否为边界像素H。视频译码器可响应于确定当前边界像素是右上方边界像素(264的“是”)而结束填补操作250。另一方面,响应于确定当前边界像素不是右上方边界像素(264的“否”),视频译码器可再次更新像素指示符(258)。视频译码器可随后关于新的当前边界像素重复步骤260到264。
以此方式,视频译码器可执行填补操作,其根据一次序来处理边界像素集合,所述次序在左下方边界像素处开始且循序地前进通过边界像素到达右上方边界像素。当填补操作处理不可用的边界像素时,填补操作基于由填补操作先前处理的像素的值来对不可用的边界像素指派值。
在类似于填补操作250的实例性填补操作中,(x,y)指示视频块的坐标,且(x-1,y-1)指示隅角边界像素的坐标。如果(x-1,y-1)不可用,那么视频译码器可从左到右检查顶部预测符,直到视频译码器到达可用边界像素为止。如果可用边界像素具有坐标(x+d,y-1),那么视频译码器可对从(x-1,y-1)到(x+d-1,y-1)的所有边界像素指派位于(x+d,y-1)处的边界像素的值。否则,如果在(x-1,y-1)处的边界像素可用,那么视频译码器可将变量d设定为-1且执行以下伪码:
在以上伪码中,N可指示视频块的宽度。另外,视频译码器可确定在(x-1,y)处的边界像素是否可用。如果在(x-1,y)处的边界像素不可用,那么视频译码器可从上到下检查左预测符,直到视频译码器到达可用边界像素为止。如果可用边界像素具有坐标(x-1,y+d),那么视频译码器可对从(x-1,y)到(x-1,y+d-1)的所有边界像素指派位于(x-1,y+d)处的边界像素的值。否则,如果在(x-1,y)处的边界像素可用,那么视频译码器可将变量d设定为0且执行以下伪码:
在图7的实例中,对于x=-1,y=nS*2-2...-1,如果p[x,y]是不可用边界像素,那么视频译码器可用p[x,y+1]的值代替p[x,y]的值。对于x=0..nS*2-1,y-1,如果p[x,y]是不可用边界像素,那么用p[x-1,y]的值代替p[x,y]的值。nS等于经帧内预测视频块的宽度或高度,p是二维样本阵列,且p[0,0]是经帧内预测视频块的左上方明度样本。
图8是图解说明图7的实例性填补操作前进通过边界像素的次序的概念图。如图8的实例中图解说明,填补操作在左下方边界像素处开始,向上前进到隅角边界像素,且随后向右前进到右上方边界像素。
图9是图解说明实例性填补操作300的流程图。例如视频编码器20或视频解码器30的视频译码器可执行填补操作300。在其它实例中,视频译码器可使用除了填补操作300之外的填补操作。举例来说,在其它实例中,视频译码器可执行填补操作,其中视频译码器执行与填补操作300相比更多、更少或不同的步骤。
在视频译码器开始填补操作300之后,视频译码器可设定第一像素指示符和第二像素指示符以指示划分点(302)。划分点可将边界像素划分为两个片段。片段中的一者可包含在划分点上方和右边的边界像素。片段中的另一者可包含在划分点下方和左边的边界像素。
划分点可为边界像素中的各种边界像素。举例来说,视频译码器可将第一和第二像素指示符设定为隅角边界像素(例如,图2中的边界像素R)。在另一实例中,视频译码器可设定第一像素指示符和第二像素指示符以指示另一边界像素(例如,图2中的边界像素L)。
在设定第一和第二像素指示符以指示划分点之后,视频译码器可确定划分点是否可用(304)。视频译码器可以各种方式确定划分点是否可用。举例来说,视频译码器可执行图13的实例性操作以确定划分点是否可用。
响应于确定划分点不可用(304的“否”),视频译码器可导出划分点的值(306)。视频译码器可以各种方式导出划分点的值。举例来说,视频译码器可确定邻近于划分点的边界像素中的任一者是否可用。在此实例中,如果邻近于划分点的边界像素中的一者可用,那么视频译码器可通过对划分点指派邻近边界像素的值来导出划分点的值。此外,在此实例中,如果邻近边界像素中的任一者均不可用,那么视频译码器可对划分点指派默认值。举例来说,如果划分点是隅角划分点,那么视频译码器可使用以下伪码来导出划分点的值:
如果PL1可用,那么Ppad=PL1,
否则,如果PA1可用,那么Ppad=PA1,
否则,Ppad=默认值。
在以上伪码中,PL1可指示隅角边界像素下方的边界像素的值,Ppad可指示将指派于隅角边界像素的导出值,且PA1可指示隅角边界像素右边的边界像素的值。在隅角边界像素以及隅角边界像素下方的边界像素和右边的边界像素两者都不可用的情况下,使用隅角边界像素的默认值可对译码性能有极少影响,因为此情况几乎不会发生。
在导出划分点的值之后或在确定划分点可用之后(304的“是”),视频译码器可更新第一像素指示符以指示由第一像素指示符指示的边界像素下方或左边的边界像素(308)。为便于阐释,本发明可将由第一像素指示符指示的边界像素称为第一当前边界像素。举例来说,在图2的实例中,如果第一当前边界像素是边界像素B,那么视频译码器可更新第一像素指示符以指示边界像素A。如果第一当前边界像素是边界像素R,那么视频译码器可更新第一像素指示符以指示边界像素I。如果第一当前边界像素是边界像素I,那么视频译码器可更新第一像素指示符以指示边界像素J。
在更新第一像素指示符之后,视频译码器可确定第一当前边界像素是否可用(310)。视频译码器可以各种方式确定第一当前边界像素是否可用。举例来说,视频译码器可执行图13的实例性操作以确定第一当前边界像素是否可用。
响应于确定第一当前边界像素不可用(310的“否”),视频译码器可对第一当前边界像素指派先前边界像素的值(312)。举例来说,在图2的实例中,如果第一当前边界像素是边界像素I且边界像素I不可用,那么视频译码器可对边界像素I指派边界像素R的值。如果第一当前边界像素是边界像素J且边界像素J不可用,那么视频译码器可对边界像素J指派边界像素I的值,依此类推。
一旦视频译码器已执行步骤310或在确定第一当前边界像素可用之后(310的“是”),视频译码器可确定第一当前边界像素是否为左下方边界像素(314)。响应于确定第一当前边界像素是左下方边界像素(314的“是”),视频译码器可关于在划分点边界像素的左边或下方发生的边界像素结束填补操作300。然而,响应于确定第一当前边界像素不是左下方边界像素(314的“否”),视频译码器可再次更新第一像素指示符(308)且关于另一边界像素执行步骤310到314。以此方式,填补操作300可对划分点边界像素左边或下方的每一不可用边界像素指派值。
另外,在步骤306中导出划分点边界像素的值之后或响应于确定划分点可用(304的“是”),视频译码器可更新第二像素指示符以指示由第二像素指示符指示的边界像素上方或右边的边界像素(316)。为便于阐释,本发明可将由第二像素指示符指示的边界像素称为第二当前边界像素。
在更新第二像素指示符之后,视频译码器可确定第二当前边界像素是否可用(318)。视频译码器可以各种方式确定当前边界像素是否可用。举例来说,视频译码器可执行图13的实例性操作以确定第二当前边界像素是否可用。
响应于确定第二当前边界像素不可用(318的“否”),视频译码器可对第二当前边界像素指派先前边界像素的值(320)。举例来说,在图2的实例中,如果第二当前边界像素是边界像素D且边界像素D不可用,那么视频译码器可对边界像素D指派边界像素C的值。
在执行步骤320之后或在视频译码器已确定第二当前边界像素可用之后(318的“是”),视频译码器可确定第二当前边界像素是否为右上方边界像素(322)。响应于确定第二当前边界像素是右上方边界像素,视频译码器可关于在划分点边界像素的右边或上方的边界像素结束填补操作300(322的“是”)。然而,响应于确定第二当前边界像素不是右上方边界像素(322的“否”),视频译码器可更新第二像素指示符(316)且关于另一边界像素执行步骤318到322。以此方式,视频译码器可处理划分点上方或右边的每一边界像素。
在图9的实例中,视频译码器可并行地执行步骤308到314和步骤316到322。在其它实例中,视频译码器可循序地执行步骤308到314和步骤316到322。
图10是图解说明图9的填补操作前进通过边界像素的实例性次序的概念图。如图10的实例中图解说明,隅角边界像素是划分点边界像素。视频译码器可同时处理隅角边界像素下方的边界像素(例如,在步骤308到314中)和隅角边界像素右边的边界像素(例如,步骤316到322)。在图10的实例中,隅角边界像素是带阴影的。如果隅角边界像素不可用,那么视频译码器可从相邻边界像素340中的任一者或两者推导隅角边界像素的值。
在另一实例中,视频译码器可从左到右检查顶部预测符,直到视频译码器识别出可用边界像素为止。视频译码器可随后将隅角像素以及隅角像素与可用边界像素之间的所有边界像素设定为可用边界像素的值。在此实例中,如果隅角像素下方的边界像素不可用,那么视频译码器可从上到下沿着左预测符检查,直到视频译码器识别出可用边界像素为止。视频译码器可随后将隅角像素下方的每一边界像素设定为可用边界像素的值。
图11是图解说明实例性填补操作350的流程图。例如视频编码器20或视频解码器30等视频译码器可执行填补操作350。在其它实例中,视频译码器可使用除了填补操作350之外的填补操作。举例来说,在其它实例中,视频译码器可执行填补操作,其中视频译码器执行与填补操作350相比更多、更少或不同的步骤。
在填补操作350中,边界像素包含多个候选划分点。所述多个候选划分点可包含边界像素中的各种边界像素。举例来说,所述多个候选划分点可包含隅角边界像素、在隅角边界像素与左下方边界像素之间中点的边界像素,以及在隅角边界像素与右上方边界像素之间中点的边界像素。在另一实例中,所述多个候选划分点可包含左下方边界像素和右上方边界像素。在另一实例中,所述多个候选划分点可包含紧邻于隅角边界像素右边的边界像素和在隅角边界像素正下方的边界像素。
在另一实例中,所述多个候选划分点可包含两个边界像素PLX与PAY之间的所有边界像素。在此实例中,PLX可为从隅角边界像素到左下方边界像素的任一边界像素,且PAY可为从隅角边界像素到右上方边界像素的任一边界像素。在此实例中,视频译码器可从PLX到PAY或从PAY到PLX循序地搜索通过候选划分点看是否有可用候选划分点。以此方式搜索可用候选划分点可将搜索复杂性减少到一维搜索。举例来说,在此实例中,如果划分点是左下方边界像素,那么视频译码器将执行根据一次序处理边界像素集合的填补操作,所述次序在左下方边界像素处开始且循序地前进通过边界像素到右上方边界像素,其中当所述填补操作处理不可用边界像素时,填补操作基于由所述填补操作先前处理的边界像素的值来对所述不可用边界像素指派值。
在另一实例中,所述多个候选划分点可包含所有边界像素。在此实例中,视频译码器可从左下方边界像素到右上方边界像素循序地在候选划分点中搜索可用候选划分点,或反之亦然。以此方式搜索可用候选划分点可将搜索复杂性减少到单方向性搜索。
在视频译码器开始填补操作350之后,视频译码器可设定划分点指示符以指示候选划分点中的第一者(352)。为便于阐释,本发明可将由划分点指示符指示的候选划分点称为当前划分点。举例来说,如果所述多个候选划分点包含隅角边界像素,那么视频译码器可将划分点指示符设定于隅角边界像素。
在设定划分点指示符以指示候选划分点中的一者之后,视频译码器可确定当前划分点是否可用(354)。视频译码器可以各种方式确定当前划分点是否可用。举例来说,视频译码器可执行图13的实例性操作以确定当前划分点是否可用。
如果当前划分点不可用(354的“否”),那么视频译码器可确定当前划分点是否为待检查的候选划分点中的最后一者(356)。响应于确定当前划分点是候选划分点中的最后一者,视频译码器可对当前划分点指派默认值(358)。在其它实例中,视频译码器可基于当前划分点的相邻像素的值来指派值,而非使用默认值。
另一方面,响应于确定当前划分点不是候选划分点中的最后一者,视频译码器可更新划分点指示符,使得划分点指示符指示候选划分点中的下一者(360)。举例来说,在图2的实例中,所述多个候选划分点可包含边界像素L、边界像素R和边界像素D。如果当前划分点是边界像素L且边界像素L不可用,那么视频译码器可更新划分点指示符,使得划分点指示符指示边界像素R。视频译码器可以各种方式搜索可用候选划分点。举例来说,视频译码器可以最接近左下方边界像素的候选划分点开始,且随后朝向最接近右上方边界像素的候选划分点搜索通过候选划分点。
在更新划分点指示符之后,视频译码器可再次确定当前划分点是否可用(354)。以此方式,视频译码器可处理候选划分点直到视频译码器确定候选划分点中的一者可用为止或者直到视频译码器确定候选划分点中的任一者均不可用为止,或反之亦然。
在执行步骤358之后或在确定当前划分点可用之后(354的“是”),视频译码器可设定第一像素指示符和第二像素指示符以指示当前划分点(362)。举例来说,如果当前划分点是隅角边界像素,那么视频译码器可设定第一和第二像素指示符以指示隅角边界像素(例如,图2中的边界像素R)。
在设定第一和第二像素指示符以指示当前划分点之后,视频译码器可更新第一像素指示符以指示在由第一像素指示符指示的边界像素下方或左边的边界像素(364)。为便于阐释,本发明可将由第一像素指示符指示的边界像素称为第一当前边界像素。举例来说,在图2的实例中,如果第一当前边界像素是边界像素B,那么视频译码器可更新第一像素指示符以指示边界像素A。如果第一当前边界像素是边界像素R,那么视频译码器可更新第一像素指示符以指示边界像素I。如果第一当前边界像素是边界像素I,那么视频译码器可更新第一像素指示符以指示边界像素J。
在更新第一像素指示符之后,视频译码器可确定第一当前边界像素是否可用(366)。视频译码器可以各种方式确定第一当前边界像素是否可用。举例来说,视频译码器可执行图13的实例性操作以确定第一当前边界像素是否可用。
响应于确定第一当前边界像素不可用(366的“否”),视频译码器可对第一当前边界像素指派先前边界像素的值(368)。举例来说,在图2的实例中,如果第一当前边界像素是边界像素I且边界像素I不可用,那么视频译码器可对边界像素I指派边界像素R的值。如果第一当前边界像素是边界像素J且边界像素J不可用,那么视频译码器可对边界像素J指派边界像素I的值,依此类推。
一旦视频译码器已对第一当前边界像素指派先前边界像素的值或在确定第一当前边界像素可用之后(366的“是”),视频译码器可确定第一当前边界像素是否为左下方边界像素(370)。响应于确定第一当前边界像素是左下方边界像素(370的“是”),视频译码器可关于在当前划分点的左边或下方发生的边界像素结束填补操作300。然而,响应于确定第一当前边界像素不是左下方边界像素(370的“否”),视频译码器可再次更新第一像素指示符(364)且关于另一边界像素执行步骤366到370。以此方式,填补操作350可对当前划分点左边或下方的每一不可用边界像素指派值。
另外,在步骤362中将第一和第二像素指示符设定于当前划分点之后,视频译码器可更新第二像素指示符以指示在由第二像素指示符指示的边界像素上方或右边的边界像素(372)。为便于阐释,本发明可将由第二像素指示符指示的边界像素称为第二当前边界像素。
在更新第二像素指示符之后,视频译码器可确定第二当前边界像素是否可用(374)。视频译码器可以各种方式确定第二当前边界像素是否可用。举例来说,视频译码器可执行图13的实例性操作以确定第二当前边界像素是否可用。
响应于确定第二当前边界像素不可用(374的“否”),视频译码器可对第二当前边界像素指派先前边界像素的值(376)。举例来说,在图2的实例中,如果第二当前边界像素是边界像素D且边界像素D不可用,那么视频译码器可对边界像素D指派边界像素C的值。
在对第二当前边界像素指派先前边界像素的值之后或在视频译码器已确定第二当前边界像素可用之后(374的“是”),视频译码器可确定第二当前边界像素是否为右上方边界像素(378)。响应于确定第二当前边界像素是右上方边界像素,视频译码器可关于在当前划分点的右边或上方的边界像素结束填补操作300。然而,响应于确定第二当前边界像素不是右上方边界像素(378的“否”),视频译码器可更新第二像素指示符(372)且关于另一边界像素执行步骤374到378。以此方式,视频译码器可处理划分点边界像素上方或右边的每一边界像素。
在图11的实例中,视频译码器可并行地执行步骤364到370和步骤372到378。在其它实例中,视频译码器可循序地执行步骤364到370和步骤372到378。
图12是图11的填补操作前进通过边界像素的实例性次序的概念图。如图12的实例中图解说明,带阴影的边界像素是候选划分点。在图12的实例中,边界像素400可为选定的划分点,且视频译码器可同时处理选定的划分点下方的边界像素(例如,在图11的步骤364到370中)和选定的划分点上方和右边的边界像素(例如,步骤372到378)。
图13是图解说明用以确定边界像素是否可用的实例性操作450的流程图。例如视频编码器20或视频解码器30等视频译码器可执行操作450。在其它实例中,视频译码器可使用除了操作450之外的操作来确定边界像素是否可用。举例来说,在其它实例中,视频译码器可执行操作,其中视频译码器执行与操作450相比更多、更少或不同的步骤。
在视频译码器开始操作450之后,视频译码器可确定边界像素是否在当前图片的边界外(452)。当前图片可为视频译码器当前正在译码的图片。举例来说,如果视频译码器正在执行视频块邻近于当前图片的顶部或左边缘的PU的帧内预测操作,那么所述视频块上方或左边的一个或一个以上像素可在当前图片的边界外。响应于确定边界像素在当前图片的边界外(452的“是”),视频译码器可确定边界像素不可用(454)。
响应于确定边界像素不在当前图片的边界外(452的“否”),视频译码器可确定边界像素是否在当前切片或瓦片的边界外且不允许交叉切片/交叉瓦片预测(456)。当前切片或瓦片可为视频译码器当前正在译码的切片或瓦片。举例来说,如果视频译码器正在执行视频块邻近于当前切片或瓦片的顶部或左边缘的PU的帧内预测操作,那么所述视频块上方或左边的一个或一个以上像素可在当前切片或瓦片的边界外。如果允许交叉切片预测,那么允许视频译码器使用第一切片中的像素值来产生第二切片中的CU的经帧内预测视频块。响应于确定边界像素在当前切片或瓦片的边界外且不允许交叉切片/瓦片预测(456的“是”),视频译码器可确定边界像素不可用(454)。
然而,响应于确定边界像素不在当前切片或瓦片外或允许交叉切片/交叉瓦片预测(456的“否”),视频译码器可确定边界像素是否与经帧间预测CU相关联以及受限帧内预测是否经启用(458)。换句话说,如果边界像素属于经帧间预测CU且受限帧内预测经启用,那么边界像素可经标记为不是可用的或不可用。如果边界像素在与经帧间预测CU相关联的视频块中,那么边界像素可与经帧间预测CU相关联。
在H.264/AVC中,经帧间预测切片中的宏块(MB)可经译码为帧间MB或帧内MB。类似地,在HEVC中,P切片或B切片中的CU可为经帧间预测CU或经帧内预测CU。帧内MB和经帧内预测CU是从相邻视频块预测的。另外,视频译码器可对受限帧内MB进行译码。视频译码器可从同一切片中的相邻帧内MB产生受限帧内MB。根据本发明的技术,视频译码器可从相邻经帧内预测CU的视频块而非相邻经帧间预测CU的视频块来产生受限经帧内预测CU。constrained_intra_pred_flag可在图片参数集(PPS)中用信号发送以指定图片群组是否正在仅以帧间和受限帧内模式进行译码。
帧内刷新可为一种防误码工具,其使得视频编码器能够***帧内MB或经帧内预测CU以便减少错误传播。在参考图片丢失的情况下,视频解码器可能不能对使用参考图片的帧间MB或经帧间预测CU进行正确地解码。如果帧间MB或经帧间预测CU用以预测帧内MB或经帧内预测CU,那么视频译码器可能不能对帧内MB或经帧内预测CU进行解码。因此,错误可传播到帧内MB或经帧内预测CU。因为受限帧内MB和受限经帧内预测CU不依赖于帧间MB或经帧间预测CU,所以参考图片的损失并不阻止视频解码器对受限帧内MB或经帧内预测CU进行解码。因此,将帧内MB或经帧内预测CU译码为受限帧内MB或受限经帧内预测CU可能较具有防误码性。
在可缩放视频译码(SVC)中,由于视频解码器的单循环解码设计,视频解码器可能不会对多个相依性层(具有相同或不同分辨率)完全地解码。在此情况下,当使用经帧内预测基本层(BL)模式时,如果对应基本层帧内MB经译码为受限帧内MB,那么视频解码器可仅对增强层MB进行正确地解码。否则,视频解码器可能需要从经重构相邻帧间MB预测基本层帧内MB,所述经重构相邻帧间MB在单循环解码的情况下对增强层进行解码时可能不可用。
响应于确定边界像素与经帧间预测CU相关联且受限帧内预测经启用(458的“是”),视频译码器可确定边界像素不可用(454)。另一方面,响应于确定边界像素不与经帧间预测CU相关联或受限帧内预测未经启用(458的“否”),视频译码器可确定边界像素可用(460)。
在上述实例中,视频译码器可对不可用的边界像素指派默认值或先前边界像素的值。在其它实例中,视频译码器可内插不可用边界像素的值。举例来说,如果在一系列一个或一个以上不可用边界像素的任一侧上存在一个或一个以上可用边界像素。在此实例中,视频译码器可基于所述系列的不可用边界像素的任一侧上的可用边界像素的值来内插不可用边界像素的值。不可用边界像素可经内插为Ui=Aa+i*(Ab-Aa)/(M+1),i是从1到M。在此等式中,Aa和Ab是所述系列的不可用边界像素的任一侧上的可用边界像素,M是所述系列的不可用边界像素中的不可用边界像素的数目,且Ui指示不可用边界像素。在以上等式中,M可能不是2的幂,因此可能需要划分。
因为M可能不是2的幂且可能希望避免划分,所以可使用另一技术来内插所述系列的不可用边界像素。根据此技术,使Q=Floor(log2(M)),P=(1<<Q)且R=M-P。视频译码器可将右边的不可用边界像素中的每一者(Up+1到UM)设定为值Ab的值。对于从U1到UP的任一边界像素,
Ui=(Aa*i+Ab*(P-i)+P>>1)>>Q,i是从1到P。
在一些实例中,在一系列一个或一个以上不可用边界像素的任一侧上不存在可用边界。举例来说,连续不可用边界像素可发生直到预测符的结束为止。在此实例中,视频编码器可将最后可用边界像素的值延伸到预测符的结束。在另一实例中,连续不可用边界像素可发生于预测符的开始处。在此实例中,视频译码器可使用第一可用边界像素的值作为在第一可用边界像素之前的不可用边界像素的值。因此,在此些实例中,视频译码器可使用简单扩展来产生不可用参考样本的值。
在一个或一个以上实例中,所描述的功能可以硬件、软件、固件或其任一组合来实施。如果以软件实施,那么功能可作为一个或一个以上指令或代码存储在计算机可读媒体上或经由计算机可读媒体传输,且由基于硬件的处理单元执行。计算机可读媒体可包含对应于例如数据存储媒体等有形媒体的计算机可读存储媒体,或包含促进计算机程序例如根据通信协议从一处传送到另一处的任何媒体的通信媒体。以此方式,计算机可读媒体通常可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波等通信媒体。数据存储媒体可为可由一个或一个以上计算机或者一个或一个以上处理器存取以检索用于实施本发明中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
举例来说且并非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来以指令或数据结构的形式存储所要程序代码且可由计算机存取的任何其它媒体。而且,恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输指令,则同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波等无线技术包含于媒体的定义中。然而应了解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它瞬时媒体,而是针对非瞬时有形存储媒体。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘及蓝光光盘,其中磁盘通常以磁性方式再生数据,而光盘使用激光以光学方式再生数据。上文的组合也应包含在计算机可读媒体的范围内。
可由例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一个或一个以上处理器来执行指令。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文描述的功能性可提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或并入在组合式编解码器中。并且,可将所述技术完全实施于一个或一个以上电路或逻辑元件中。
本发明的技术可在广泛多种装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但不一定需要通过不同硬件单元来实现。而是,如上所述,各种单元可在编解码器硬件单元中组合或由互操作硬件单元(包含如上所述的一个或一个以上处理器)的集合结合合适软件和/或固件来提供。
已描述了各种实例。这些和其它实例属于所附权利要求书的范围内。
Claims (14)
1.一种用于对视频数据进行译码的方法,所述方法包括:
由视频译码器确定边界像素集合中的划分点,所述划分点将所述边界像素划分为两个片段;
针对所述两个片段中的第一片段,由所述视频译码器执行根据一次序的填补操作,所述次序在所述划分点处开始且循序地前进通过所述边界像素到达右上方边界像素,所述右上方边界像素位于所述边界像素集合中的每一其他边界像素的右方;
针对所述两个片段中的第二片段,由所述视频译码器执行根据一次序的填补操作,所述次序在所述划分点处开始且循序地前进通过所述边界像素到达左下方边界像素,所述左下方边界像素位于所述边界像素集合中的每一其他边界像素的下方,其中当所述填补操作处理除了所述划分点之外的不可用边界像素时,所述填补操作将等于由所述填补操作先前处理的边界像素的值的值指派给所述不可用边界像素而不搜索下一可用边界像素;以及
由所述视频译码器至少基于多个所述边界像素产生经帧内预测视频块,其中不可用边界像素为在当前图片的边界之外的边界像素或者为其实际值不能用于产生所述经帧内预测视频块的边界像素。
2.根据权利要求1所述的方法,其中针对所述第一片段执行所述填补操作包括由所述视频译码器基于所述第一片段的当前边界像素与经帧间预测译码单元CU相关联且受限帧内预测经启用来确定所述第一片段的所述当前边界像素不可用;以及
其中针对所述第二片段执行所述填补操作包括由所述视频译码器基于所述第二片段的当前边界像素与经帧间预测CU相关联且受限帧内预测经启用来确定所述第二片段的所述当前边界像素不可用。
3.根据权利要求1所述的方法,其中所述方法是在编码过程期间执行,所述方法进一步包括由所述视频译码器基于所述经帧内预测视频块产生经编码视频数据。
4.根据权利要求3所述的方法,其进一步包括由所述视频译码器至少部分地基于所述经帧内预测视频块产生残余数据。
5.根据权利要求1所述的方法,其中所述方法是在解码过程期间执行,所述方法进一步包括由所述视频译码器基于所述经帧内预测视频块产生经解码视频数据。
6.根据权利要求5所述的方法,其进一步包括由所述视频译码器至少部分地基于所述经帧内预测视频块和残余视频块重构经解码视频块。
7.一种视频译码设备,其包括视频译码器,所述视频译码器经配置以:
确定边界像素集合中的划分点,所述划分点将所述边界像素划分为两个片段;
针对所述两个片段中的第一片段,执行根据一次序的填补操作,所述次序在所述划分点处开始且循序地前进通过所述边界像素到达右上方边界像素,所述右上方边界像素位于所述边界像素集合中的每一其他边界像素的右方;
针对所述两个片段中的第二片段,执行根据一次序的填补操作,所述次序在所述划分点处开始且循序地前进通过所述边界像素到达左下方边界像素,所述左下方边界像素位于所述边界像素集合中的每一其他边界像素的下方,其中当所述填补操作处理除了所述划分点之外的不可用边界像素时,所述填补操作将等于由所述填补操作先前处理的边界像素的值的值指派给所述不可用边界像素而不搜索下一可用边界像素;以及
至少基于多个所述边界像素产生经帧内预测视频块,其中不可用边界像素为在当前图片的边界之外的边界像素或者为其实际值不能用于产生所述经帧内预测视频块的边界像素。
8.根据权利要求7所述的视频译码设备,其中
所述视频译码器经配置以基于所述第一片段的当前边界像素与经帧间预测译码单元CU相关联且受限帧内预测经启用来确定所述第一片段的所述当前边界像素不可用于产生所述经帧内预测视频块;且
所述视频译码器经配置以基于所述第二片段的当前边界像素与经帧间预测CU相关联且受限帧内预测经启用来确定所述第二片段的所述当前边界像素不可用于产生所述经帧内预测视频块。
9.根据权利要求7所述的视频译码设备,其中所述视频译码器为视频编码器,且所述视频编码器经配置以基于所述经帧内预测视频块产生经编码视频数据。
10.根据权利要求9所述的视频译码设备,其中所述视频编码器经配置以至少部分地基于所述经帧内预测视频块产生残余数据。
11.根据权利要求7所述的视频译码设备,其中所述视频译码器为视频解码器,且所述视频解码器经配置以基于所述经帧内预测视频块产生经解码视频数据。
12.根据权利要求11所述的视频译码设备,其中所述视频解码器经配置以基于所述经帧内预测视频块和残余视频块重构经解码视频块。
13.一种视频译码设备,其包括:
用于确定边界像素集合中的划分点的装置,所述划分点将所述边界像素划分为两个片段;
用于针对所述两个片段中的第一片段执行根据一次序的填补操作的装置,所述次序在所述划分点处开始且循序地前进通过所述边界像素到达右上方边界像素,所述右上方边界像素位于所述边界像素集合中的每一其他边界像素的右方;
用于针对所述两个片段中的第二片段执行根据一次序的填补操作的装置,所述次序在所述划分点处开始且循序地前进通过所述边界像素到达左下方边界像素,所述左下方边界像素位于所述边界像素集合中的每一其他边界像素的下方,其中当所述填补操作处理除了所述划分点之外的不可用边界像素时,所述填补操作将等于由所述填补操作先前处理的边界像素的值的值指派给所述不可用边界像素而不搜索下一可用边界像素;以及
用于至少基于多个所述边界像素产生经帧内预测视频块的装置,其中不可用边界像素为在当前图片的边界之外的边界像素或者为其实际值不能用于产生所述经帧内预测视频块的边界像素。
14.根据权利要求13所述的视频译码设备,
其中用于针对所述第一片段执行所述填补操作的装置包括用于基于所述第一片段的当前边界像素与经帧间预测译码单元CU相关联且受限帧内预测经启用来确定所述第一片段的所述当前边界像素不可用的装置;以及
其中用于针对所述第二片段执行所述填补操作的装置包括用于基于所述第二片段的当前边界像素与经帧间预测CU相关联且受限帧内预测经启用来确定所述第二片段的所述当前边界像素不可用的装置。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161496504P | 2011-06-13 | 2011-06-13 | |
US61/496,504 | 2011-06-13 | ||
US201161557361P | 2011-11-08 | 2011-11-08 | |
US61/557,361 | 2011-11-08 | ||
US201161557845P | 2011-11-09 | 2011-11-09 | |
US61/557,845 | 2011-11-09 | ||
US13/493,640 US20120314767A1 (en) | 2011-06-13 | 2012-06-11 | Border pixel padding for intra prediction in video coding |
US13/493,640 | 2012-06-11 | ||
PCT/US2012/042052 WO2012173991A1 (en) | 2011-06-13 | 2012-06-12 | Border pixel padding for intra prediction in video coding |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103621095A CN103621095A (zh) | 2014-03-05 |
CN103621095B true CN103621095B (zh) | 2017-09-01 |
Family
ID=47293186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280029111.4A Active CN103621095B (zh) | 2011-06-13 | 2012-06-12 | 用于视频译码中的帧内预测的边界像素填补 |
Country Status (20)
Country | Link |
---|---|
US (2) | US20120314767A1 (zh) |
EP (1) | EP2719179B1 (zh) |
JP (1) | JP5774780B2 (zh) |
KR (1) | KR101600205B1 (zh) |
CN (1) | CN103621095B (zh) |
AU (1) | AU2012271835B2 (zh) |
BR (1) | BR112013032040B1 (zh) |
CA (1) | CA2838449C (zh) |
DK (1) | DK2719179T3 (zh) |
ES (1) | ES2648312T3 (zh) |
HU (1) | HUE035496T2 (zh) |
IL (1) | IL229635A (zh) |
MX (1) | MX336906B (zh) |
MY (1) | MY164251A (zh) |
PL (1) | PL2719179T3 (zh) |
PT (1) | PT2719179T (zh) |
SG (1) | SG195185A1 (zh) |
SI (1) | SI2719179T1 (zh) |
WO (1) | WO2012173991A1 (zh) |
ZA (1) | ZA201400230B (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120163457A1 (en) * | 2010-12-28 | 2012-06-28 | Viktor Wahadaniah | Moving picture decoding method, moving picture coding method, moving picture decoding apparatus, moving picture coding apparatus, and moving picture coding and decoding apparatus |
US20120314767A1 (en) | 2011-06-13 | 2012-12-13 | Qualcomm Incorporated | Border pixel padding for intra prediction in video coding |
US8767824B2 (en) * | 2011-07-11 | 2014-07-01 | Sharp Kabushiki Kaisha | Video decoder parallelization for tiles |
US10645398B2 (en) | 2011-10-25 | 2020-05-05 | Texas Instruments Incorporated | Sample-based angular intra-prediction in video coding |
RU2588990C2 (ru) | 2011-10-28 | 2016-07-10 | Самсунг Электроникс Ко., Лтд. | Способ и устройство для внутреннего предсказания видео |
KR20130105554A (ko) * | 2012-03-16 | 2013-09-25 | 한국전자통신연구원 | 다계층 영상을 위한 인트라 예측 방법 및 이를 이용하는 장치 |
CN104247423B (zh) * | 2012-03-21 | 2018-08-07 | 联发科技(新加坡)私人有限公司 | 可伸缩视频编码***的帧内模式编码方法和装置 |
US9219913B2 (en) * | 2012-06-13 | 2015-12-22 | Qualcomm Incorporated | Inferred base layer block for TEXTURE—BL mode in HEVC based single loop scalable video coding |
HRP20231318T1 (hr) * | 2012-06-26 | 2024-02-16 | Lg Electronics Inc. | Postupak dekodiranja videozapisa, postupak kodiranja videozapisa i medija za pohranu na kojem se pohranjuju kodirane video informacije |
US9648319B2 (en) | 2012-12-12 | 2017-05-09 | Qualcomm Incorporated | Device and method for scalable coding of video information based on high efficiency video coding |
WO2014166116A1 (en) * | 2013-04-12 | 2014-10-16 | Mediatek Inc. | Direct simplified depth coding |
CN105594214B (zh) * | 2013-04-12 | 2019-11-26 | 联发科技股份有限公司 | 在三维编码***中深度区块的帧内编码方法及装置 |
US9554131B1 (en) | 2013-07-23 | 2017-01-24 | Harmonic, Inc. | Multi-slice/tile encoder with overlapping spatial sections |
AU2013228045A1 (en) * | 2013-09-13 | 2015-04-02 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding video data |
KR102070484B1 (ko) * | 2013-10-25 | 2020-01-29 | 미디어텍 인크. | 슬라이스 높이로 균등하게 분할할 수 없는 화상 높이 및/또는 화소 그룹 폭으로 균등하게 분할할 수 없는 슬라이스 폭을 갖는 화상을 처리하는 방법 및 장치 |
US9479788B2 (en) * | 2014-03-17 | 2016-10-25 | Qualcomm Incorporated | Systems and methods for low complexity encoding and background detection |
US10104397B2 (en) * | 2014-05-28 | 2018-10-16 | Mediatek Inc. | Video processing apparatus for storing partial reconstructed pixel data in storage device for use in intra prediction and related video processing method |
KR101663668B1 (ko) | 2014-06-27 | 2016-10-07 | 삼성전자주식회사 | 영상 패딩영역의 비디오 복호화 및 부호화 장치 및 방법 |
US10297009B2 (en) * | 2014-12-22 | 2019-05-21 | Interdigital Ce Patent Holdings | Apparatus and method for generating an extrapolated image using a recursive hierarchical process |
US10382791B2 (en) | 2015-03-06 | 2019-08-13 | Qualcomm Incorporated | Data structure for video coding unit |
KR101866973B1 (ko) * | 2015-06-05 | 2018-06-12 | 인텔렉추얼디스커버리 주식회사 | 화면내 예측에서의 참조 화소 구성에 관한 부호화/복호화 방법 및 장치 |
KR101875762B1 (ko) * | 2015-06-05 | 2018-07-06 | 인텔렉추얼디스커버리 주식회사 | 화면 내 예측 모드에 대한 부호화/복호화 방법 및 장치 |
TWI575937B (zh) * | 2015-07-24 | 2017-03-21 | 矽創電子股份有限公司 | Image prediction and decoding method and encoding / decoder |
EP4398578A2 (en) | 2015-11-24 | 2024-07-10 | Samsung Electronics Co., Ltd. | Encoding sequence encoding method and device thereof, and decoding method and device thereof |
AU2017342627B2 (en) * | 2016-10-11 | 2020-10-15 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Image decoding method and apparatus relying on intra prediction in image coding system |
US10848758B2 (en) | 2016-11-22 | 2020-11-24 | Electronics And Telecommunications Research Institute | Image encoding/decoding image method and device, and recording medium storing bit stream |
CN106791849B (zh) * | 2017-03-01 | 2019-08-13 | 四川大学 | 基于hevc帧内交错预测的降码率算法 |
US10721469B2 (en) * | 2017-11-28 | 2020-07-21 | Qualcomm Incorporated | Line buffer reduction for adaptive loop filtering in video coding |
WO2019185884A1 (en) * | 2018-03-29 | 2019-10-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus for selecting an intra-prediction mode for padding |
WO2020013627A1 (ko) * | 2018-07-11 | 2020-01-16 | 삼성전자 주식회사 | 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치 |
TWI676180B (zh) * | 2018-09-04 | 2019-11-01 | 華邦電子股份有限公司 | 記憶體裝置以及虛擬靜態隨機存取記憶體之刷新方法 |
US11622106B2 (en) * | 2021-05-17 | 2023-04-04 | Meta Platforms, Inc. | Supporting multiple partition sizes using a unified pixel input data interface for fetching reference pixels in video encoders |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101365136A (zh) * | 2008-09-09 | 2009-02-11 | 深圳市同洲电子股份有限公司 | 帧内预测的方法及装置 |
CN102006467A (zh) * | 2009-09-01 | 2011-04-06 | 索尼公司 | 视频发送装置、视频接收装置、视频发送方法及视频接收方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4324844B2 (ja) * | 2003-04-25 | 2009-09-02 | ソニー株式会社 | 画像復号化装置及び画像復号化方法 |
KR100886191B1 (ko) | 2004-12-06 | 2009-02-27 | 엘지전자 주식회사 | 영상 블록을 디코딩 하는 방법 |
US20090316788A1 (en) | 2008-06-23 | 2009-12-24 | Thomson Licensing | Video coding method with non-compressed mode and device implementing the method |
JP5238523B2 (ja) * | 2009-01-13 | 2013-07-17 | 株式会社日立国際電気 | 動画像符号化装置、動画像復号化装置、および、動画像復号化方法 |
US20110122950A1 (en) | 2009-11-26 | 2011-05-26 | Ji Tianying | Video decoder and method for motion compensation for out-of-boundary pixels |
US8542737B2 (en) * | 2010-03-21 | 2013-09-24 | Human Monitoring Ltd. | Intra video image compression and decompression |
KR20110111853A (ko) | 2010-04-05 | 2011-10-12 | 삼성전자주식회사 | 복수의 부분에 기초한 영상 부호화, 복호화 방법 및 장치 |
US20110249735A1 (en) * | 2010-04-09 | 2011-10-13 | Jie Zhao | Methods and Systems for Intra Prediction |
US9083974B2 (en) | 2010-05-17 | 2015-07-14 | Lg Electronics Inc. | Intra prediction modes |
US20120163457A1 (en) * | 2010-12-28 | 2012-06-28 | Viktor Wahadaniah | Moving picture decoding method, moving picture coding method, moving picture decoding apparatus, moving picture coding apparatus, and moving picture coding and decoding apparatus |
US20120314767A1 (en) | 2011-06-13 | 2012-12-13 | Qualcomm Incorporated | Border pixel padding for intra prediction in video coding |
-
2012
- 2012-06-11 US US13/493,640 patent/US20120314767A1/en not_active Abandoned
- 2012-06-12 PT PT127281608T patent/PT2719179T/pt unknown
- 2012-06-12 EP EP12728160.8A patent/EP2719179B1/en active Active
- 2012-06-12 MY MYPI2013004289A patent/MY164251A/en unknown
- 2012-06-12 MX MX2013014486A patent/MX336906B/es active IP Right Grant
- 2012-06-12 HU HUE12728160A patent/HUE035496T2/en unknown
- 2012-06-12 JP JP2014515916A patent/JP5774780B2/ja active Active
- 2012-06-12 CA CA2838449A patent/CA2838449C/en active Active
- 2012-06-12 BR BR112013032040-0A patent/BR112013032040B1/pt active IP Right Grant
- 2012-06-12 WO PCT/US2012/042052 patent/WO2012173991A1/en active Application Filing
- 2012-06-12 PL PL12728160T patent/PL2719179T3/pl unknown
- 2012-06-12 SI SI201231123T patent/SI2719179T1/sl unknown
- 2012-06-12 DK DK12728160.8T patent/DK2719179T3/en active
- 2012-06-12 SG SG2013087796A patent/SG195185A1/en unknown
- 2012-06-12 AU AU2012271835A patent/AU2012271835B2/en active Active
- 2012-06-12 ES ES12728160.8T patent/ES2648312T3/es active Active
- 2012-06-12 CN CN201280029111.4A patent/CN103621095B/zh active Active
- 2012-06-12 KR KR1020147000819A patent/KR101600205B1/ko active IP Right Grant
-
2013
- 2013-11-26 IL IL229635A patent/IL229635A/en active IP Right Grant
-
2014
- 2014-01-10 ZA ZA2014/00230A patent/ZA201400230B/en unknown
-
2017
- 2017-06-02 US US15/612,912 patent/US9807399B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101365136A (zh) * | 2008-09-09 | 2009-02-11 | 深圳市同洲电子股份有限公司 | 帧内预测的方法及装置 |
CN102006467A (zh) * | 2009-09-01 | 2011-04-06 | 索尼公司 | 视频发送装置、视频接收装置、视频发送方法及视频接收方法 |
Non-Patent Citations (1)
Title |
---|
《Constrained Intra Prediction Scheme for Flexible-Sized Prediction Units in HEVC》;Viktor Wahadaniah等;《Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,4th Meeting》;20110117;摘要,第3-4页,图1 * |
Also Published As
Publication number | Publication date |
---|---|
MY164251A (en) | 2017-11-30 |
BR112013032040A2 (pt) | 2016-12-20 |
CA2838449A1 (en) | 2012-12-20 |
KR20140029520A (ko) | 2014-03-10 |
EP2719179B1 (en) | 2017-08-30 |
MX2013014486A (es) | 2014-03-27 |
HUE035496T2 (en) | 2018-05-02 |
JP2014520454A (ja) | 2014-08-21 |
WO2012173991A1 (en) | 2012-12-20 |
PL2719179T3 (pl) | 2018-02-28 |
CN103621095A (zh) | 2014-03-05 |
AU2012271835A1 (en) | 2014-01-09 |
DK2719179T3 (en) | 2017-10-16 |
US9807399B2 (en) | 2017-10-31 |
US20120314767A1 (en) | 2012-12-13 |
EP2719179A1 (en) | 2014-04-16 |
ZA201400230B (en) | 2021-05-26 |
KR101600205B1 (ko) | 2016-03-14 |
US20170272765A1 (en) | 2017-09-21 |
PT2719179T (pt) | 2017-11-29 |
ES2648312T3 (es) | 2017-12-29 |
RU2014100889A (ru) | 2015-07-20 |
AU2012271835B2 (en) | 2015-09-03 |
JP5774780B2 (ja) | 2015-09-09 |
MX336906B (es) | 2016-02-02 |
SG195185A1 (en) | 2013-12-30 |
BR112013032040B1 (pt) | 2022-05-17 |
SI2719179T1 (sl) | 2017-12-29 |
CA2838449C (en) | 2017-10-10 |
IL229635A (en) | 2016-12-29 |
IL229635A0 (en) | 2014-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103621095B (zh) | 用于视频译码中的帧内预测的边界像素填补 | |
CN104685875B (zh) | 用于视频译码的方法、设备、计算机可读存储媒体 | |
CN106105197B (zh) | 针对帧内块复制的基于散列的编码器搜索 | |
CN103563389B (zh) | 具有方向性分区的帧内预测模式译码 | |
CN104040900B (zh) | 用于对视频数据进行编码和解码的方法和设备 | |
CN103329530B (zh) | 视频译码中的子切片 | |
CN104221378B (zh) | 在视频译码中用于量化矩阵的均匀粒度 | |
CN104081777B (zh) | 对视频数据进行编码或解码的方法、装置、设备及非暂时计算机可读媒体 | |
CN103797799B (zh) | 用于视频译码的运动向量确定 | |
CN103931182B (zh) | 帧内预测视频译码中的非正方形变换 | |
CN103959781B (zh) | 填补经译码切片nal单元中的片段的方法及装置 | |
CN103947205B (zh) | 帧内模式译码中的参考模式选择 | |
CN103797802B (zh) | 用于视频译码中的短距离帧内预测的线缓冲器减少 | |
CN104471946B (zh) | 视频译码中用信号发送无损译码模式和脉码调制(pcm)模式的统一 | |
CN104704843B (zh) | 视频性质的指示 | |
CN105009590B (zh) | 用于视频信息的可缩放译码的装置和方法 | |
CN104272742B (zh) | 加权预测参数译码 | |
CN104718757B (zh) | 用于可缩放视频译码的预测模式信息上取样 | |
CN104429072B (zh) | 自适应差域空间和时间参考重构及平滑 | |
CN104704833A (zh) | 多视图或3维视频译码中的高级视图间残差预测 | |
CN104255027B (zh) | 用于视频译码的层间纹理预测 | |
CN103999465A (zh) | 自适应性重叠块运动补偿 | |
CN105191310A (zh) | 用于视频译码的并行处理 | |
CN104471942A (zh) | 重新使用参数集用于视频译码 | |
CN104488267A (zh) | 平铺块及波前并行处理 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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: 1190548 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: 1190548 Country of ref document: HK |