CN114175641A - 在视频编解码中提高无损编解码效率 - Google Patents
在视频编解码中提高无损编解码效率 Download PDFInfo
- Publication number
- CN114175641A CN114175641A CN202080039841.7A CN202080039841A CN114175641A CN 114175641 A CN114175641 A CN 114175641A CN 202080039841 A CN202080039841 A CN 202080039841A CN 114175641 A CN114175641 A CN 114175641A
- Authority
- CN
- China
- Prior art keywords
- video
- block
- codec
- prediction
- mode
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 51
- 238000005192 partition Methods 0.000 claims abstract description 35
- 238000000638 solvent extraction Methods 0.000 claims abstract description 27
- 230000011218 segmentation Effects 0.000 claims abstract description 23
- 238000003860 storage Methods 0.000 claims description 20
- 239000013598 vector Substances 0.000 description 38
- 238000012545 processing Methods 0.000 description 37
- 230000008569 process Effects 0.000 description 28
- 230000011664 signaling Effects 0.000 description 27
- 241000023320 Luma <angiosperm> Species 0.000 description 24
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 24
- 238000013139 quantization Methods 0.000 description 24
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 22
- 238000004891 communication Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 7
- 238000001914 filtration Methods 0.000 description 7
- 230000002123 temporal effect Effects 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000007727 signaling mechanism Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 241000985610 Forpus Species 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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/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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- 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/17—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 an image region, e.g. an object
- H04N19/176—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 an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/70—Methods 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
-
- 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/90—Methods 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
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
电子装置通过以下方式执行解码视频数据的方法:从具有分层结构的视频比特流接收与分层结构的第一分割级相关联的第一指示;根据确定第一指示指明在第一分割级启用无损模式:根据无损模式配置一个或更多个编解码工具;以及使用所配置的一个或更多个编码工具来解码处于或低于第一分割级的编解码块。
Description
技术领域
本申请总体上涉及视频数据编码和解码,并且具体地,涉及在视频编解码中提高无损编解码效率的系统和方法。
背景技术
各种电子设备(诸如数字电视、膝上型计算机或台式计算机、平板计算机、数码相机、数字记录设备、数字媒体播放器、视频游戏机、智能电话、视频电话会议设备、视频流设备等)都支持数字视频。电子设备通过实施如由MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4Part 10、高级视频编解码(AVC)、高效视频编解码(HEVC)和通用视频编解码(VVC)标准定义的视频压缩/解压缩标准,来发送、接收、编码、解码和/或存储数字视频数据。视频压缩通常包括执行空间(帧内)预测和/或时间(帧间)预测来减少或去除视频数据中固有的冗余。对于基于块的视频编解码,视频帧被分割为一个或更多个条带,每个条带具有多个视频块,视频块也可以被称为编解码树单元(CTU)。每个CTU可以包含一个编解码单元(CU),或者递归地被拆分为更小的CU直到达到预定义的最小CU尺寸为止。每个CU(也称为叶CU)包含一个或多个变换单元(TU),并且每个CU还包含一个或多个预测单元(PU)。每个CU可以以帧内模式、帧间模式或IBC模式被编解码。视频帧的帧内编解码(I)条带中的视频块是使用空间预测被编码的,空间预测是关于同一视频帧内的相邻块中的参考样点的。视频帧的帧间编解码(P或B)条带中的视频块可以使用空间预测或时间预测,空间预测是关于同一视频帧内的相邻块中的参考样点的,时间预测是关于其他先前和/或未来参考视频帧中的参考样点的。
基于先前已经被编码的参考块(例如,相邻块)的空间预测或时间预测得出用于待编解码的当前视频块的预测块。找到参考块的过程可以通过块匹配算法来完成。表示待编解码的当前块与预测块之间的像素差的残差数据被称为残差块或预测误差。帧间编解码块根据运动矢量和残差块被编码,运动矢量指向参考帧中的形成预测块的参考块。确定运动矢量的过程通常被称为运动估计。帧内编解码块根据帧内预测模式和残差块被编码。为了进一步压缩,残差块从像素域被变换到变换域(例如,频域),从而得出残差变换系数,残差变换系数然后可以被量化。最初以二维阵列布置的量化的变换系数可以被扫描以产生变换系数的一维矢量,并且然后被熵编码为视频比特流以实现甚至更大的压缩。
经编码的视频比特流然后被保存于计算机可读存储介质(例如,闪存存储器)中,以由具有数字视频能力的另一电子设备访问,或者有线地或无线地直接发送到电子设备。电子设备然后执行视频解压缩(其为上文描述的视频压缩的相反过程),例如,通过对经编码的视频比特流进行解析来从比特流获得语法元素,并且至少部分地基于从比特流获得的语法元素从经编码的视频比特流将数字视频数据重建为其原始格式,并且电子设备在电子设备的显示器上呈现重建的数字视频数据。
随着数字视频质量从高清变为4K×2K或者甚至8K×4K,待编码/解码的视频数据量呈指数增长。在保持解码视频数据的图像质量的同时,如何能够更加有效率地编码/解码视频数据,是一个持续的挑战。
发明内容
本申请描述了与视频数据编码和解码相关的实施方式,并且更具体地,实施方式与在视频编解码期间提高无损编解码效率的系统和方法相关。
根据本申请的第一方面,一种解码视频数据的方法在电子装置处通过以下方式执行:从具有分层结构的视频比特流接收与分层结构的第一分割级相关联的第一指示;根据确定第一指示指明在第一分割级启用无损模式:根据无损模式配置一个或更多个编解码工具;以及使用所配置的一个或更多个编码工具解码处于或低于第一分割级的编解码块。
根据本申请的第二方面,一种电子装置包括一个或更多个处理器、存储器和存储器中存储的多个程序。程序在被一个或更多个处理器执行时使电子装置执行如上文所描述的操作。
根据本申请的第三方面,一种非暂态计算机可读存储介质存储多个程序,该多个程序用于由具有一个或更多个处理器的电子装置执行。程序在被一个或更多个处理器执行时使电子装置执行如上文所描述的操作。
附图说明
附图被包括以提供对实施方式的进一步理解并且被并入本文并构成说明书的一部分,附图示出了所描述的实施方式并且与本描述一起用于解释基本原理。相似的参考标号指代对应的部分。
图1是示出根据本公开的一些实施方式的示例性视频编码和解码系统的框图。
图2是示出根据本公开的一些实施方式的示例性视频编码器的框图。
图3是示出根据本公开的一些实施方式的示例性视频解码器的框图。
图4A至图4E是示出根据本公开的一些实施方式的如何将帧递归地分割为不同尺寸和形状的多个视频块的框图。
图5A和图5B是示出根据本公开的一些实施方式的示例性视频帧分割方案的框图。
图6是示出根据本公开的一些实施方式的示例性过程的流程图,视频编解码器通过该示例性过程来实施提高无损编解码效率的技术。
具体实施方式
现在将详细参考具体实施方式,其示例在附图中示出。在以下详细描述中,阐述了很多非限制性具体细节以便帮助理解本文呈现的主题。但是对本领域普通技术人员将显而易见的是,各种替代方案可以在不脱离权利要求的范围的情况下被使用,并且主题可以在没有这些具体细节的情况下被实践。例如,对本领域普通技术人员将显而易见的是,本文呈现的主题可以在具有数字视频能力的许多类型的电子设备上实现。
图1是示出根据本公开的一些实施方式的用于并行地对视频块进行编码和解码的示例性系统10的框图。如图1中所示,系统10包括源设备12,源设备12生成并编码后续将由目标设备14解码的视频数据。源设备12和目标设备14可以包括各种各样的电子设备中的任何电子设备,包括台式计算机或膝上型计算机、平板计算机、智能电话、机顶盒、数字电视、相机、显示器设备、数字媒体播放器、视频游戏机、视频流传输设备等。在一些实施方式中,源设备12和目标设备14配备有无线通信能力。
在一些实施方式中,目标设备14可以经由链路16接收待解码的编码视频数据。链路16可以包括能够将编码视频数据从源设备12移动到目标设备14的任何类型的通信介质或设备。在一个示例中,链路16可以包括使源设备12能够实时地将编码视频数据直接发送到目标设备14的通信介质。编码视频数据可以根据通信标准(诸如无线通信协议)被调制,并且被发送到目标设备14。通信介质可以包括任何无线或有线通信介质,诸如射频(RF)频谱或者一个或更多个物理传输线。通信介质可以形成基于分组的网络(诸如局域网、广域网或全球网,诸如互联网)的一部分。通信介质可以包括路由器、交换机、基站、或可以有利于促进从源设备12到目标设备14的通信的任何其他装备。
在一些其他实施方式中,编码视频数据可以从输出接口22被发送到存储设备32。随后,存储设备32中的编码视频数据可以由目标设备14经由输入接口28访问。存储设备32可以包括各种分布式或本地访问的数据存储介质中的任何数据存储介质,诸如硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪存存储器、易失性或非易失性存储器、或者用于存储编码视频数据的任何其他合适的数字存储介质。在进一步的示例中,存储设备32可以对应于文件服务器或可以保持由源设备12生成的编码视频数据的另一中间存储设备。目标设备14可以经由流传输或下载从存储设备32访问存储的视频数据。文件服务器可以是能够存储编码视频数据并且将编码视频数据发送到目标设备14的任何类型的计算机。示例性文件服务器包括web服务器(例如,用于网站)、FTP服务器、网络附属存储(NAS)设备、或本地磁盘驱动器。目标设备14可以通过适合于访问文件服务器上存储的编码视频数据的任何标准数据连接来访问编码视频数据,标准数据连接包括无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)、或两者的组合。编码视频数据从存储设备32的传输可以是流传输、下载传输、或两者的组合。
如图1中所示,源设备12包括视频源18、视频编码器20和输出接口22。视频源18可以包括诸如以下项的源或此类源的组合:视频捕获设备(例如,摄像机)、包含先前捕获的视频的视频存档、用于从视频内容提供者接收视频的视频馈送接口、和/或用于生成作为源视频的计算机图形数据的计算机图形系统。作为一个示例,如果视频源18是安全监控系统的摄像机,则源设备12和目标设备14可以形成相机电话或视频电话。然而,本申请中所描述的实施方式可以一般性地适用于视频编解码,并且可以应用于无线和/或有线应用。
捕获的视频、预先捕获的视频、或计算机生成的视频可以由视频编码器20编码。编码视频数据可以经由源设备12的输出接口22直接发送到目标设备14。编码视频数据还可以被存储到存储设备32上以供稍后由目标设备14或其他设备访问,以用于解码和/或回放。输出接口22可以进一步包括调制解调器和/或发送器。
目标设备14包括输入接口28、视频解码器30和显示器设备34。输入接口28可以包括接收器和/或调制解调器,并且通过链路16接收编码视频数据。通过链路16通信传送的编码视频数据或在存储设备32上提供的编码视频数据可以包括由视频编码器20生成的各种语法元素,以供视频解码器30在解码视频数据时使用。此类语法元素可以被包括在通信介质上发送的编码视频数据、在存储介质上存储的编码视频数据、或在文件服务器上存储的编码视频数据内。
在一些实施方式中,目标设备14可以包括显示器设备34,显示器设备34可以是集成显示器设备和外部显示器设备,外部显示器设备被配置为与目标设备14通信。显示器设备34将解码的视频数据显示给用户,并且可以包括各种显示器设备中的任何显示器设备,诸如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器、或另一类型的显示器设备。
视频编码器20和视频解码器30可以根据专有标准或行业标准(诸如VVC、HEVC、MPEG-4Part 10、高级视频编解码AVC)或此类标准的扩展进行操作。应当理解,本申请不限于特定的视频编解码/解码标准,并且可以适用于其他视频编解码/解码标准。通常认为源设备12的视频编码器20可以被配置为根据这些当前标准或未来标准中的任何标准来编码视频数据。类似地,还通常认为目标设备14的视频解码器30可以被配置为根据这些当前标准或未来标准中的任何标准来解码视频数据。
视频编码器20和视频解码器30可以分别被实现为各种合适的编码器电路系统中的任何电路系统,诸如一个或更多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地以软件实现时,电子设备可以将用于软件的指令存储于合适的非暂态计算机可读介质中,并且使用一个或更多个处理器执行硬件中的指令以执行本公开中所公开的视频编解码/解码操作。视频编码器20和视频解码器30中的每一个可以被包括在一个或更多个编码器或解码器中,编码器或解码器中的任一者可以被集成为相应设备中的组合式编码器/解码器(CODEC)的一部分。
图2是示出根据本申请中描述的一些实施方式的示例性视频编码器20的框图。视频编码器20可以执行对视频帧内的视频块的帧内预测编解码和帧间预测编解码。帧内预测编解码依赖于空间预测以减少或去除给定视频帧或图片内的视频数据中的空间冗余。帧间预测编解码依赖于时间预测以减少或去除视频序列的邻近视频帧或图片内的视频数据中的时间冗余。
如图2中所示,视频编码器20包括视频数据存储器40、预测处理单元41、解码图片缓冲器(DPB)64、加法器50、变换处理单元52、量化单元54和熵编码单元56。预测处理单元41进一步包括运动估计单元42、运动补偿单元44、分割单元45、帧内预测处理单元46和帧内块复制(BC)单元48。在一些实施方式中,视频编码器20还包括用于视频块重建的反量化单元58、逆变换处理单元60和加法器62。去块滤波器(未示出)可以位于加法器62与DPB 64之间,以对块边界进行滤波以从重建的视频中去除块效应。除了去块滤波器之外,还可以使用环路滤波器(未示出)来对加法器62的输出进行滤波。视频编码器20可以采取固定硬件单元或可编程硬件单元的形式,或者可以分散在所说明的固定硬件单元或可编程硬件单元中的一个或更多个中。
视频数据存储器40可以存储将由视频编码器20的组件编码的视频数据。视频数据存储器40中的视频数据可以例如从视频源18获得。DPB 64是存储参考视频数据的缓冲器,参考视频数据供视频编码器20(例如,以帧内或帧间预测编解码模式)在编码视频数据时使用。视频数据存储器40和DPB 64可以由各种存储器设备中的任何存储器设备形成。在各种示例中,视频数据存储器40可以与视频编码器20的其他组件一起在芯片上,或相对于那些组件在芯片外。
如图2中所示,在接收到视频数据之后,预测处理单元41内的分割单元45将视频数据分割为视频块。此分割还可以包括根据与视频数据相关联的预定义的拆分结构(诸如四叉树结构),将视频帧分割为条带、瓦片(tile)、或其他更大的编解码单元(CU)。视频帧可以被划分为多个视频块(或被称为瓦片的视频块集合,每个瓦片被定义为图片的矩形区域,该矩形区域包括编解码树单元序列)。瓦片组包含图片的多个瓦片。预测处理单元41可以基于误差结果(例如,编解码速率和失真等级)为当前视频块选择多个可能的预测编解码模式之一,诸如多个帧内预测编解码模式之一或多个帧间预测编解码模式之一。预测处理单元41可以将所得的帧内或帧间预测编解码块提供给加法器50以生成残差块,并且提供给加法器62以重建被编码的块以随后用作参考帧的一部分。预测处理单元41还将语法元素(诸如运动矢量、帧内模式指示符、分割信息和其他此类语法信息)提供给熵编码单元56。
为了选择用于当前视频块的合适的帧内预测编解码模式,预测处理单元41内的帧内预测处理单元46可以相对于一个或更多个相邻块来执行当前视频块的帧内预测编解码以提供空间预测,该一个或更多个相邻块与待编解码的当前块在同一帧中。预测处理单元41内的运动估计单元42和运动补偿单元44相对于一个或更多个参考帧中的一个或更多个预测块来执行当前视频块的帧间预测编解码,以提供时间预测。视频编码器20可以执行多个编解码遍次,例如,来为视频数据的每个块选择合适的编解码模式。
在一些实施方式中,运动估计单元42通过根据视频帧序列内的预定模式生成运动矢量来确定用于当前视频帧的帧间预测模式,运动矢量指示当前视频帧内的视频块的预测单元(PU)相对于参考视频帧内的预测块的位移。由运动估计单元42执行的运动估计是生成运动矢量的过程,运动矢量估计了针对视频块的运动。运动矢量例如可以指示当前视频帧或图片内的视频块的PU相对于参考帧内的预测块(或其他被编解码的单元)的位移,预测块是相对于当前帧内正被编解码的当前块(或其他被编解码的单元)而言的。预定模式可以将序列中的视频帧指定为P帧或B帧。帧内BC单元48可以以运动估计单元42确定用于帧间预测的运动矢量类似的方式来确定用于帧内BC编解码的矢量(例如,块矢量),或可以利用运动估计单元42来确定块矢量。
在像素差方面,预测块是被认为与待编解码的视频块的PU紧密匹配的参考帧的块,像素差可以由绝对差总和(SAD)、平方差总和(SSD)、或其他差度量确定。在一些实施方式中,视频编码器20可以计算用于DPB 64中存储的参考帧的亚整数像素位置的值。例如,视频编码器20可以对参考帧的四分之一像素位置、八分之一像素位置、或其他分数像素位置的值进行内插。因此,运动估计单元42可以相对于全像素位置和分数像素位置执行运动搜索,并且输出具有分数像素精度的运动矢量。
运动估计单元42通过以下方式来计算针对帧间预测编解码帧中的视频块的PU的运动矢量:将PU的位置与从第一参考帧列表(列表0)或第二参考帧列表(列表1)选择的参考帧的预测块的位置进行比较,第一参考帧列表和第二参考帧列表中的每一个参考帧列表标识DPB 64中存储的一个或更多个参考帧。运动估计单元42将计算的运动矢量发送到运动补偿单元44,并且然后发送到熵编码单元56。
由运动补偿单元44执行的运动补偿可以涉及基于由运动估计单元42确定的运动矢量来提取或生成预测块。一经接收到针对当前视频块的PU的运动矢量,运动补偿单元44可以在参考帧列表之一中定位运动矢量所指向的预测块,从DPB 64取回预测块,并且将预测块转发到加法器50。加法器50然后通过从正被编解码的当前视频块的像素值减去由运动补偿单元44提供的预测块的像素值,来形成像素差值的残差视频块。形成残差视频块的像素差值可以包括亮度差分量或色度差分量或两者。运动补偿单元44还可以生成与视频帧的视频块相关联的语法元素,以供视频解码器30在解码视频帧的视频块时使用。语法元素可以包括,例如,定义用于识别预测块的运动矢量的语法元素、指示预测模式的任何标志、或本文描述的任何其他语法信息。注意,运动估计单元42和运动补偿单元44可以高度集成,但出于概念目的而单独说明。
在一些实施方式中,帧内BC单元48可以以上文结合运动估计单元42和运动补偿单元44所描述的方式的类似方式生成矢量并提取预测块,但是这些预测块与正被编解码的当前块在同一帧中,并且这些矢量被称为块矢量而非运动矢量。具体地,帧内BC单元48可以确定将用于编码当前块的帧内预测模式。在一些示例中,帧内BC单元48可以例如在多个单独的编码遍次期间使用各种帧内预测模式来编码当前块,并且通过率失真分析来测试它们的性能。接下来,帧内BC单元48可以在各种已测试的帧内预测模式中选择合适的帧内预测模式以使用,并且相应地生成帧内模式指示符。例如,帧内BC单元48可以使用率失真分析针对各种已测试的帧内预测模式来计算率失真值,并且在已测试的模式中选择具有最佳率失真特性的帧内预测模式作为合适的帧内预测模式来使用。率失真分析通常确定已编码的块与原始未编码的块(其被编码以产生已编码的块)之间的失真(或误差)量、以及用于产生已编码的块的比特率(即,比特数量)。帧内BC单元48可以从针对各种已编码的块的失真和速率来计算比率,以确定哪个帧内预测模式展现出针对块的最佳率失真值。
在其他示例中,帧内BC单元48可以全部地或部分地使用运动估计单元42和运动补偿单元44,来执行根据本文描述的实施方式的用于帧内BC预测的此类功能。在任一种情况下,对于帧内块复制,在像素差方面,预测块可以是被认为与待编解码的块紧密匹配的块,像素差可以由绝对差总和(SAD)、平方差总和(SSD)或其他差度量确定,并且预测块的识别可以包括计算针对亚整数像素位置的值。
无论预测块是来自根据帧内预测的同一帧还是来自根据帧间预测的不同帧,视频编码器20可以通过从正被编解码的当前视频块的像素值减去预测块的像素值来形成像素差值,从而形成残差视频块。形成残差视频块的像素差值可以包括亮度分量差和色度分量差两者。
作为如上面所描述的由运动估计单元42和运动补偿单元44执行的帧间预测或由帧内BC单元48执行的帧内块复制预测的替代方案,帧内预测处理单元46可以对当前视频块进行帧内预测。具体地,帧内预测处理单元46可以确定帧内预测模式以用于编码当前块。为了这样做,帧内预测处理单元46可以例如在多个单独的编码遍次期间,使用各种帧内预测模式来编码当前块,并且帧内预测处理单元46(或在一些示例中,模式选择单元)可以从已测试的帧内预测模式中选择合适的帧内预测模式来使用。帧内预测处理单元46可以将指示针对块选择的帧内预测模式的信息提供给熵编码单元56。熵编码单元56可以将指示所选择的帧内预测模式的信息编码在比特流中。
在预测处理单元41经由帧间预测或帧内预测确定针对当前视频块的预测块之后,加法器50通过从当前视频块减去预测块来形成残差视频块。残差块中的残差视频数据可以被包括在一个或更多个变换单元(TU)中,并且被提供给变换处理单元52。变换处理单元52使用变换(诸如离散余弦变换DCT或概念上类似的变换)将残差视频数据变换为残差变换系数。
变换处理单元52可以将所得到的变换系数发送到量化单元54。量化单元54对变换系数进行量化以进一步减小比特率。量化过程还可以减小与系数中的一些系数或全部系数相关联的比特深度。量化程度可以通过调整量化参数来修改。在一些示例中,量化单元54然后可以执行对包括量化变换系数的矩阵的扫描。可选地,熵编码单元56可以执行扫描。
在量化之后,熵编码单元56使用例如上下文自适应可变长度编解码(CAVLC)、上下文自适应二进制算术编解码(CABAC)、基于语法的上下文自适应二进制算术编解码(SBAC)、概率区间分割熵(PIPE)编解码或另一熵编码方法或技术,将量化的变换系数熵编码成视频比特流。经编码的比特流然后可以被发送到视频解码器30,或被存档于存储设备32中以供稍后发送到视频解码器30或由视频解码器30取回。熵编码单元56还可以对用于正被编解码的当前视频帧的运动矢量和其他语法元素进行熵编码。
反量化单元58和逆变换处理单元60分别应用反量化和逆变换以在像素域中重建残差视频块,以生成用于预测其他视频块的参考块。如上文指出的,运动补偿单元44可以从DPB 64中存储的帧的一个或更多个参考块来生成经运动补偿的预测块。运动补偿单元44还可以将一个或更多个内插滤波器应用于预测块,以计算亚整数像素值以在运动估计时使用。
加法器62将重建的残差块加到由运动补偿单元44产生的经运动补偿的预测块来产生参考块,用于存储在DPB 64中。参考块然后可以由帧内BC单元48、运动估计单元42和运动补偿单元44用作预测块,以对后续视频帧中的另一视频块进行帧间预测。
图3是示出根据本申请的一些实施方式的示例性视频解码器30的框图。视频解码器30包括视频数据存储器79、熵解码单元80、预测处理单元81、反量化单元86、逆变换处理单元88、加法器90和DPB 92。预测处理单元81进一步包括运动补偿单元82、帧内预测处理单元84和帧内BC单元85。视频解码器30可以执行解码过程,解码过程与上文结合图2关于视频编码器20所描述的编码过程大体上互逆。例如,运动补偿单元82可以基于从熵解码单元80接收的运动矢量生成预测数据,而帧内预测单元84可以基于从熵解码单元80接收的帧内预测模式指示符生成预测数据。
在一些示例中,视频解码器30的单元可以被分派任务以执行本申请的实施方式。此外,在一些示例中,本公开的实施方式可以分散在视频解码器30的多个单元中的一个或更多个单元中。例如,帧内BC单元85可以单独地或与视频解码器30的其他单元(诸如运动补偿单元82、帧内预测处理单元84和熵解码单元80)组合地执行本申请的实施方式。在一些示例中,视频解码器30可以不包括帧内BC单元85,并且帧内BC单元85的功能可以由预测处理单元81的其他组件(诸如运动补偿单元82)执行。
视频数据存储器79可以存储将由视频解码器30的其他组件解码的视频数据,诸如经编码的视频比特流。视频数据存储器79中存储的视频数据可以例如从存储设备32、从本地视频源(诸如相机)、经由视频数据的有线或无线网络通信获得,或通过访问物理数据存储介质(例如,闪存驱动器或硬盘)获得。视频数据存储器79可以包括编解码图片缓冲器(CPB),CPB存储来自经编码的视频比特流的经编码的视频数据。视频解码器30的解码图片缓冲器(DPB)92存储参考视频数据,以供视频解码器30(例如,以帧内或帧间预测编解码模式)在解码视频数据时使用。视频数据存储器79和DPB 92可以由各种存储器设备中的任何存储器设备形成,诸如动态随机存取存储器(DRAM)(包括同步DRAM(SDRAM))、磁阻式RAM(MRAM)、电阻式RAM(RRAM)、或其他类型的存储器设备。出于说明性目的,视频数据存储器79和DPB 92在图3中描绘为视频解码器30的两个不同组件。但是对本领域的技术人员将显而易见的是,视频数据存储器79和DPB 92可以由同一存储器设备或多个分离存储器设备提供。在一些示例中,视频数据存储器79可以与视频解码器30的其他组件一起在芯片上,或相对于那些组件在芯片外。
在解码过程期间,视频解码器30接收经编码的视频比特流,其表示经编码的视频帧的视频块和相关联的语法元素。视频解码器30可以在视频帧级和/或视频块级接收语法元素。视频解码器30的熵解码单元80对比特流进行熵解码以生成量化系数、运动矢量或帧内预测模式指示符、以及其他语法元素。熵解码单元80然后将运动矢量和其他语法元素转发到预测处理单元81。
当视频帧被编解码为帧内预测编解码(I)帧或用于其他类型的帧中的帧内编解码预测块时,预测处理单元81的帧内预测处理单元84可以基于用信号传送的帧内预测模式和来自当前帧的先前解码块的参考数据,来生成用于当前视频帧的视频块的预测数据。
当视频帧被编解码为帧间预测编解码(即,B或P)帧时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收的运动矢量和其他语法元素,产生针对当前视频帧的视频块的一个或更多个预测块。预测块中的每一个预测块可以从参考帧列表之一内的参考帧产生。视频解码器30可以基于DPB 92中存储的参考帧,使用默认构建技术来构建参考帧列表,列表0和列表1。
在一些示例中,当视频块根据本文描述的帧内BC模式被编解码时,预测处理单元81的帧内BC单元85基于从熵解码单元80接收的块矢量和其他语法元素,产生针对当前视频块的预测块。预测块可以在与视频编码器20定义的当前视频块的同一图片的重建区域内。
运动补偿单元82和/或帧内BC单元85通过解析运动矢量和其他语法元素来确定针对当前视频帧的视频块的预测信息,并且然后使用该预测信息产生针对正被解码的当前视频块的预测块。例如,运动补偿单元82使用接收到的语法元素中的一些语法元素来确定用于对视频帧的视频块进行编解码的预测模式(例如,帧内预测或帧间预测)、帧间预测帧类型(例如,B或P)、针对用于帧的参考帧列表中的一个或更多个参考帧列表的构建信息、用于帧的每个帧间预测编码视频块的运动矢量、用于帧的每个帧间预测编解码视频块的帧间预测状态、以及用于解码当前视频帧中的视频块的其他信息。
类似地,帧内BC单元85可以使用接收到的语法元素中的一些语法元素,例如标志,以确定当前视频块是使用帧内BC模式预测的、帧的哪些视频块在重建区域内且应当被存储在DPB 92中的构建信息、用于帧的每个帧内BC预测视频块的块矢量、用于帧的每个帧内BC预测视频块的帧内BC预测状态、以及用于解码当前视频帧中的视频块的其他信息。
运动补偿单元82还可以使用如由视频编码器20在视频块的编码期间使用的内插滤波器执行内插,以计算针对参考块的亚整数像素的内插值。在这种情况下,运动补偿单元82可以从接收到的语法元素确定由视频编码器20使用的内插滤波器,并且使用这些内插滤波器来产生预测块。
反量化单元86使用由视频编码器20针对视频帧中的每个视频块计算的用于确定量化程度的相同量化参数,对在比特流中提供且由熵解码单元80熵解码的量化的变换系数进行反量化。逆变换处理单元88将逆变换(例如,逆DCT、逆整数变换、或概念上类似的逆变换过程)应用于变换系数,以便在像素域中重建残差块。
在运动补偿单元82或帧内BC单元85基于矢量和其他语法元素生成针对当前视频块的预测块之后,加法器90通过将来自逆变换处理单元88的残差块与由运动补偿单元82和帧内BC单元85生成的对应预测块相加,来重建针对当前视频块的已解码的视频块。环路滤波器(未示出)可以位于加法器90与DPB 92之间以进一步处理已解码的视频块。给定帧中的已解码的视频块然后被存储在DPB 92中,DPB 92存储用于接下来的视频块的后续运动补偿的参考帧。DPB 92或与DPB 92分离的存储器设备还可以存储已解码的视频,以用于稍后呈现在显示器设备(诸如图1的显示器设备34)上。
在典型的视频编解码过程中,视频序列通常包括帧或图片的有序集合。每一帧可以包括三个样点阵列,表示为SL、SCb和SCr。SL是亮度样点的二维阵列。SCb是Cb色度样点的二维阵列。SCr是Cr色度样点的二维阵列。在其他情况下,帧可以是单色的并且因此仅包括亮度样点的一个二维阵列。
如图4A中所示,视频编码器20(或更具体地,分割单元45)通过首先将帧分割为编解码树单元(CTU)的集合来生成帧的编码表示。视频帧可以包括以光栅扫描顺序从左到右和从上到下连续排序的整数个CTU。每个CTU是最大的逻辑编解码单元,并且由视频编码器20在序列参数集中用信号传送CTU的宽度和高度,使得视频序列中的所有CTU具有128×128、64×64、32×32和16×16之一的相同尺寸。但是应当注意,本申请不一定限于特定尺寸。如图4B中所示,每个CTU可以包括亮度样点的一个编解码树块(CTB)、色度样点的两个对应编解码树块、以及用于对编解码树块的样点进行编解码的语法元素。语法元素描述编解码像素块的不同类型的单元的性质以及可以如何在视频解码器30处重建视频序列,包括帧间预测或帧内预测、帧内预测模式、运动矢量和其他参数。在单色图片或具有三个单独颜色平面的图片中,CTU可以包括单个编解码树块和用于对该编解码树块的样点进行编解码的语法元素。编解码树块可以是N×N样点块。
为实现更好的性能,视频编码器20可以对CTU的编解码树块递归地执行树分割,诸如二叉树分割、三叉树分割、四叉树分割或两者的组合,并且将CTU划分为较小的编解码单元(CU)。如图4C中所描绘的,64×64CTU 400首先被划分为四个较小的CU,每个CU具有32×32的块尺寸。在四个较小的CU中,CU 410和CU 420分别被分割为块尺寸为16×16的四个CU。两个16×16的CU 430和CU 440分别进一步被划分为块尺寸为8×8的四个CU。图4D描绘了四叉树数据结构,其示出了如图4C中所描绘的CTU 400的分割过程的最终结果,四叉树的每个叶节点对应于范围从32×32到8×8的各个尺寸的一个CU。类似于图4B中描绘的CTU,每个CU可以包括相同尺寸的帧的亮度样点的编解码块(CB)和色度样点的两个对应编解码块、以及用于对编解码块的样点进行编解码的语法元素。在单色图片或具有三个单独颜色平面的图片中,CU可以包括单个编解码块和用于对编解码块的样点进行编解码的语法结构。应当注意,图4C和图4D中所描绘的四叉树分割仅用于说明性目的,并且一个CTU可以基于四叉树分割/三叉树分割/二叉树分割而被拆分为多个CU以适应于变化的局部特性。在多类型树结构中,一个CTU通过四叉树结构被分割,并且每个四叉树叶CU可以通过二叉树结构和三叉树结构被进一步分割。如图4E中所示,具有宽度W和高度H的编解码块存在五种可能的分割类型,即四元分割、水平二元分割、垂直二元分割、水平三元分割和垂直三元分割。
在一些实施方式中,视频编码器20可以进一步将CU的编解码块分割为一个或更多个M×N预测块(PB)。预测块是被应用相同预测(帧间或帧内)的矩形(正方形或非正方形)样点块。CU的预测单元(PU)可以包括亮度样点的预测块、色度样点的两个对应预测块、以及用于对预测块进行预测的语法元素。在单色图片或具有三个单独颜色平面的图片中,PU可以包括单个预测块和用于对预测块进行预测的语法结构。视频编码器20可以生成针对CU的每个PU的亮度预测块、Cb预测块和Cr预测块的预测亮度块、预测Cb块和预测Cr块。
视频编码器20可以使用帧内预测或帧间预测来生成针对PU的预测块。如果视频编码器20使用帧内预测来生成PU的预测块,则视频编码器20可以基于与PU相关联的帧的已解码样点来生成PU的预测块。如果视频编码器20使用帧间预测来生成PU的预测块,则视频编码器20可以基于除了与PU相关联的帧之外的一个或更多个帧的已解码样点来生成PU的预测块。
在视频编码器20生成针对CU的一个或更多个PU的预测亮度块、预测Cb块和预测Cr块之后,视频编码器20可以通过将CU的预测亮度块从其原始亮度编解码块中减去来生成针对CU的亮度残差块,使得CU的亮度残差块中的每个样点指示CU的预测亮度块之一中的亮度样点与CU的原始亮度编解码块中的对应样点之间的差。类似地,视频编码器20可以分别生成针对CU的Cb残差块和Cr残差块,使得CU的Cb残差块中的每个样点指示CU的预测Cb块之一中的Cb样点与CU的原始Cb编解码块中的对应样点之间的差,并且CU的Cr残差块中的每个样点可以指示CU的预测Cr块之一中的Cr样点与CU的原始Cr编解码块中的对应样点之间的差。
此外,如图4C中所示,视频编码器20可以使用四叉树分割将CU的亮度残差块、Cb残差块和Cr残差块分解成一个或更多个亮度变换块、Cb变换块和Cr变换块。变换块是被应用相同变换的矩形(正方形或非正方形)样点块。CU的变换单元(TU)可以包括亮度样点的变换块、色度样点的两个对应变换块、以及用于对变换块样点进行变换的语法元素。因此,CU的每个TU可以与亮度变换块、Cb变换块和Cr变换块相关联。在一些示例中,与TU相关联的亮度变换块可以是CU的亮度残差块的子块。Cb变换块可以是CU的Cb残差块的子块。Cr变换块可以是CU的Cr残差块的子块。在单色图片或具有三个单独颜色平面的图片中,TU可以包括单个变换块和用于对变换块的样点进行变换的语法结构。
视频编码器20可以将一个或更多个变换应用于TU的亮度变换块以生成针对TU的亮度系数块。系数块可以是变换系数的二维阵列。变换系数可以是标量。视频编码器20可以将一个或更多个变换应用于TU的Cb变换块以生成针对TU的Cb系数块。视频编码器20可以将一个或更多个变换应用于TU的Cr变换块以生成针对TU的Cr系数块。
在生成系数块(例如,亮度系数块、Cb系数块或Cr系数块)之后,视频编码器20可以对系数块进行量化。量化通常是指一种过程,在该过程中,变换系数被量化以可能减少用于表示变换系数的数据量,从而提供进一步压缩。在视频编码器20对系数块进行量化之后,视频编码器20可以对指示量化的变换系数的语法元素进行熵编码。例如,视频编码器20可以对指示量化的变换系数的语法元素执行上下文自适应二进制算术编解码(CABAC)。最后,视频编码器20可以输出包括比特序列的比特流,比特序列形成已编解码的帧和相关联数据的表示,比特流被保存于存储设备32中或被发送到目标设备14。
在接收到由视频编码器20生成的比特流之后,视频解码器30可以解析比特流以从比特流获得语法元素。视频解码器30可以至少部分地基于从比特流获得的语法元素来重建视频数据的帧。重建视频数据的过程通常与由视频编码器20执行的编码过程互逆。例如,视频解码器30可以对与当前CU的TU相关联的系数块执行逆变换,以重建与当前CU的TU相关联的残差块。视频解码器30还通过将针对当前CU的PU的预测块的样点加到当前CU的TU的变换块的对应样点,来重建当前CU的编解码块。在重建针对帧的每个CU的编解码块之后,视频解码器30可以重建帧。
图5A和图5B是示出根据本公开的一些实施方式的示例性视频帧分割方案的框图。
图5A示出视频帧502的示例性光栅扫描条带分割(例如,光栅扫描条带模式)。视频帧502是包括12×18个CTU(例如,CTU 504a、CTU 504b等)的矩形区域并且被分割为三个条带(例如,图5A中具有不同填充图案的条带508a、条带508b和条带508c)。光栅扫描条带分割方案中的条带被定义为视频帧中的连续瓦片(例如,以光栅扫描顺序)的集合。例如,瓦片条带508a包括两个瓦片,即瓦片506a和瓦片506b,条带508b包括视频帧502的按光栅扫描顺序的五个连续瓦片,并且条带508c包括视频帧502的按光栅扫描顺序的另外五个瓦片。每个瓦片是多个CTU的矩形区域。如此,视频帧502包括十二个瓦片,每个瓦片包括3×6个CTU。
图5B示出视频帧510的示例性矩形条带分割(例如,矩形条带模式)。视频帧510是包括12×18个CTU(例如,CTU 512a、CTU 512b等)的矩形区域并且被分割为九个条带(例如,图5B中具有不同填充图案的条带516a、条带516b、条带516c等)。与图5A中所示的光栅扫描条带分割不同,视频帧510中的条带(例如,条带516a、条带516b、条带516c)分别是包括多个瓦片的矩形区域。例如,条带516a是包括两个瓦片(瓦片514a和瓦片514b)的矩形区域,并且条带516b是包括四个瓦片的正方形区域。在一些实施例中,每个条带内的瓦片以光栅扫描顺序布置。视频帧510包括24个尺寸相等的瓦片(例如,瓦片514a、瓦片514b等),每个瓦片包括3×3个CTU。
在一些实施例中,条带由图片的整数个完整瓦片组成,或者由图片的瓦片内的整数个连续完整CTU行组成。因此,每个垂直条带边界也总是垂直瓦片边界。有可能的是,条带的水平边界不是瓦片边界,而是由瓦片内的水平CTU边界组成;这在瓦片被拆分为多个矩形条带时发生,每个矩形条带由瓦片内的整数个连续完整CTU行组成。两种条带模式被支持,即光栅扫描条带模式(例如,图5A中所示)和矩形条带模式(例如,图5B中所示)。在光栅扫描条带模式下,条带包含图片的按瓦片光栅扫描的完整瓦片序列。在矩形条带模式中,条带包含共同形成图片的矩形区域的多个完整瓦片,或一个瓦片的共同形成图片的矩形区域的多个连续完整CTU行。矩形条带内的瓦片在与该条带对应的矩形区域内以瓦片光栅扫描顺序被扫描。
因此,在光栅扫描条带分割方案或矩形条带分割方案中,在不同级按照嵌套方式来分割视频帧。例如,视频帧可以被分割为多个条带、每个条带内的多个瓦片、以及每个瓦片内的多个CTU。在一些实施例中,每个分割与参数集相关联,该参数集包括用于编解码对应分割的指令。例如,包括视频帧502(或视频帧510)的视频序列可以与序列参数集(SPS)相关联,并且每个视频帧502(或视频帧510)可以进一步与图片参数集(PPS)相关联。每个条带(例如,条带508a或条带516a)可以与各自的条带参数集(例如,在条带头内)相关联,并且每个瓦片(例如,瓦片506a或瓦片514a)可以与各自的瓦片参数集(例如,在瓦片头内)相关联,每个CTU(例如,CTU 504a或CTU 512a)可以与各自的CTU参数集(CTU头)相关联,并且每个CU可以与各自的CU参数集(CU头)相关联。针对分割的相应参数集可以包括用于在(i)有损模式或(ii)无损模式(其中诸如变换/逆变换、量化/反量化和环路滤波的操作被跳过)下编解码相应分割的信息。
传统上(例如,在HEVC中),通过两标志信令机制来启用无损编解码。第一标志(例如,“transquant_bypass_enabled_flag”)仅在视频帧级用信号发送(例如,被包括在与视频帧相关联的PPS中),以指示在视频帧中是否启用无损模式,并且第二标志(例如,“cu_transquant_bypass_flag”)仅在CU级用信号发送,以指示相应CU是在无损模式还是有损模式下被编解码。例如,如果针对视频帧将transquant_bypass_enabled_flag设置为布尔值“1”,则针对该视频帧启用无损模式,并且需要在CU级通过第二标志的进一步信令。另一方面,如果针对视频帧将transquant_bypass_enabled_flag设置为布尔值“0”,则不启用无损模式并且不需要在CU级通过第二标志的进一步信令(即,视频帧中的所有CU在有损模式下被编解码)。换句话说,第一标志transquant_bypass_enabled_flag被用于开启第二标志cu_transquant_bypass_flag的语法信令。在针对视频帧将transquant_bypass_enabled_flag设置为“1”的情况下,需要针对视频帧中的每个CU用信号发送cu_transquant_bypass_flag,以指示各个CU是在无损模式(例如,cu_transquant_bypass_flag被设置为“1”)还是以有损模式(例如,cu_transquant_bypass_flag被设置为“0”)下被编解码。在无损模式下,针对各个CU跳过变换/逆变换过程、量化/反量化过程和环路滤波过程,并且预测残差值由熵编解码单元56直接编解码。
这种两标志信令机制提供了用于在视频编解码中启用无损模式的更大控制粒度,但是引发过多信令开销。例如,如果在transquant_bypass_enabled_flag被设置为“1”的情况下,整个视频帧或视频帧的期望部分将在无损模式下被编解码(例如,在需要传送诸如远程医疗、遥感的高清晰度图像的应用中,或者在需要传送包括高清晰度部分的图像的应用中,高清晰度部分诸如视频会议中的幻灯片或交通监控视频中的车牌),则必须针对该视频帧中的每个CU用信号发送cu_transquant_bypass_fag,因而引起过多信令开销。此外,两标志信令机制过于死板,因为标志仅可以被设置在两个预定义的分割级(例如,视频帧级和CU级)。因此,非常需要更加灵活的信令机制来指示在任何分割级(例如,视频序列级、视频帧级、条带级、瓦片级、CTU级、或CU级)的编解码模式(例如,无损或有损)。
在一些实施例中,第一语法元素可以在任何分割级(例如,视频序列级、视频帧级、条带级、瓦片级、CTU级、或CU级)用信号发送,以开启无损模式或有损模式的语法信令。如果在第一分割级将第一语法元素设置为“0”,则处于或低于第一分割级的所有CU在有损模式下被编解码(例如,用于处于和低于第一分割级的每个CU的相应第二语法元素隐含地被解释为“0”,以指示有损模式被使用)。例如,如果在图5B的条带516a的条带头中将第一语法元素设置为“0”,则条带516a内的所有CTU(例如,CTU 512a、CTU 512b等)在有损模式下被编解码(例如,不再需要用于条带516a内的每个CU的相应第二语法元素的进一步信令)。另一方面,如果在图5B的条带516a的条带头中将第一语法元素设置为“1”,则处于或低于第一分割级的所有CTU可以在无损模式或有损模式下被编解码,并且需要通过各个第二语法元素的进一步信令。例如,如果在图5B的条带516a的条带头中将第一语法元素设置为“1”,则在较低级(诸如瓦片级)需要通过相应第二语法元素的进一步语法信令。如果用于瓦片514a的相应第二语法元素被设置为“0”,则瓦片514a内的所有九个CTU在有损模式下被编解码(例如,不再需要用于瓦片514a内的每个CU的相应第二语法元素的进一步信令)。如果用于瓦片514b的相应第二语法元素被设置为“1”,则针对瓦片514b内的每个CTU需要通过相应第三语法元素的进一步信令。因此,语法信令可以以分层或级联方式执行,并且较低级语法信令的存在取决于较高级语法信令的值。
在上面所描述的实施例中,以节省比特的方式用信号通知有损模式(例如,在分割级的语法元素“0”将使所有更低分割级在有损模式下被编解码,并且不需要进一步的语法信令)。在一些可选实施例中,基于在较高分割级的无损模式的信令来隐式地用信号通知无损模式而非有损模式。例如,如果在视频帧510的PPS中将第一语法元素设置为“1”,则使用无损模式来编解码视频帧510内的所有CTU,并且不再需要通过第二语法元素的进一步信令。如果在视频帧510的PPS中将第一语法元素设置为“0”(例如,指示视频帧510中并非所有CU都在无损模式下被编解码),则需要在更低条带级的通过第二语法元素的进一步信令。进一步信令(例如,通过第二、第三、第四等语法元素)可以以分层或级联方式在更低分割级执行。例如,如果在用于条带516a的条带头中将第二语法元素设置为“0”,则需要用于条带516a内的所有瓦片(例如,瓦片514a和瓦片514b)的进一步语法信令(例如,通过各个第三语法元素,第三语法元素可以指示无损模式或有损模式)。如果在用于条带516a的条带头中将第二语法元素设置为“1”,则在条带516a内的任何分割级不需要进一步的语法信令,并且条带516a内的所有CTU处于无损模式。
在无损模式与有损模式之间,已经开发出适合于不同编解码模式的不同编解码工具。例如,在有损模式下,视频编解码器(视频编码器20或视频解码器30)需要使用各种变换相关的编解码工具对残差块执行变换/逆变换,变换相关的编解码工具包括:例如,用于对帧间编解码块和帧内编解码块两者进行残差编解码的多变换选择(MTS)方案、子块变换(SBT)、变换跳过和二次变换等。但如上文指出的,当视频编解码器执行无损编解码时将不使用这些变换相关的编解码工具,这是因为残差块由熵编解码单元56直接编解码。类似地,当视频编解码器执行无损编解码时,用于例如量化/反量化过程、环路滤波过程、自适应环路滤波过程、去块滤波过程、样点自适应偏移滤波过程、亮度映射与色度缩放过程、帧内子分割过程、以及色度残差的联合编解码过程的其他工具应当不可用。因此,在一些实施方式中,当视频编解码器执行无损编解码时,禁用无损编解码不需要的那些编解码工具。
作为结果,不需要视频编码器20对这些编解码工具的信令,并且视频解码器30可以基于无损模式的信令或信令指示对与这些编解码工具相关的语法元素赋值。
在一个示例中,提出了避免用信号发送以下编解码工具的控制标志,这些编解码工具可能无法针对被无损编解码的CU(例如,当cu_transquant_bypass_flag等于1时)无损地重建当前块。这些编解码工具包括但不限于帧内子分割和色度残差的联合编解码。换句话说,在当前块被编解码为无损模式(即,cu_transquant_bypass_flag等于1)时,不用信号发送intra_subpartitions_mode_flag。
在另一示例中,未高效地为被无损编解码的块提供编解码性能增益的编解码工具和它们的信令被禁用。此类编解码工具包括但不限于解码器侧运动矢量细化(DMVR)、双向光流(BDOF)、基于子块的时间运动矢量预测(SbTMVP)、自适应运动矢量分辨率(AMVR)、组合的帧间和帧内预测(CIIP)、多参考行(MRL)帧内预测、以及用于亮度和色度的单独块树(或称为用于亮度分量和色度分量的双树编解码)。在又一示例中,提出了避免针对被编解码为无损模式的CU用信号通知增量QP、变换跳过、或符号数据隐藏。
在一些实施方式中,当CU的宽度或高度大于64时,其TU隐式地被划分为两个更小TU,更小TU具有对于大于64的边而言的一半尺寸。例如,128×64CU对应于2个64×64TU,并且128×128CU对应于4个64×64TU。但是针对被无损编解码的CU禁用这种隐式TU拆分,这是因为在被无损编解码的CU中没有部署变换。
在一些实施方式中,平面模式的帧内预测结果通过位置相关帧内预测组合(PDPC)方法被细化。PDPC是一种方法,其调用利用未经滤波的边界参考样点的帧内预测和利用经滤波的边界参考样点的帧内预测的组合。但是PDPC可能无益于针对被无损编解码的块的编解码效率,并且因此针对被无损编解码的块被禁用。此外,针对被无损编解码的块,也可以禁用对帧内参考样点的滤波。
图6是示出根据本公开的一些实施方式的示例性过程600的流程图,通过过程600,视频编解码器(例如,图3的视频解码器30)实施提高无损编解码效率的技术。在一些实施例中,视频编解码器通过在视频编解码过程期间跳过变换(例如,由图3的逆变换处理单元88执行的操作)、量化(例如,由图3的反量化单元86执行的操作)和环路滤波器(去块滤波器、样点自适应偏移、自适应环路滤波器等)来执行无损编解码。作为结果,预测残差值由熵编解码模块(例如,图3的熵解码单元80)直接编解码。为方便起见,将过程600描述为由视频编解码器(例如,图3的视频解码器30)执行。
在第一步骤中,视频编解码器从具有与编码有一个或更多个图片(例如,视频)的视频数据相对应的具有分层结构的视频比特流(例如,在图1的目标设备14上),接收与分层结构的第一分割级相关联的第一指示(605)。例如,该一个或更多个图片可以是一个视频帧或视频序列,并且将由目标设备上的视频编解码器重建。在一些实施例中,分层结构包括处于不同分割级的多个组。例如,该一个或更多个图片可能已经被划分为多个条带(例如,图5A的条带508a至条带508c),并且每个条带可能已经进一步被划分为多个瓦片(例如,图5A的条带508a内的瓦片506a和瓦片506b),并且每个瓦片可能已经被划分为多个CTU(例如,图5A的瓦片506a内的CTU 504a和CTU504b),并且每个CTU可能已经被划分为多个CU。在这样的示例中,第一分割级可以对应于视频序列级,第二分割级可以对应于图片级(视频序列内的一个或更多个图片),第三分割级可以对应于条带级,第四分割级可以对应于瓦片级,第五分割级可以对应于CTU级,并且第六分割级可以对应于CU级。
视频编解码器然后检查与第一分割级相关联的第一指示,以确定是否在第一分割级启用无损模式。在一些实施方式中,第一指示是专用于指示无损模式的一比特标志(例如,transquant_bypass_enabled_flag等于布尔值“1”)。在一些其他实施例中,第一指示是多个参数的组合,每个参数具有相应的值,该多个参数的相应值的组合对应于无损模式。例如,表示transform_skip被激活的语法元素和在某个级(例如,4)的量化参数(QP)的值的组合可以被解释为指示:针对处于或低于第一分割级的编解码块启用无损模式。注意,第一指示是多个参数的组合的事实指示:这些参数中没有一个参数像一比特标志transquant_bypass_enabled_flag那样与无损模式具有专用关系,并且当多个参数之一不具有与无损模式相对应的值时,可以在有损模式下使用多个参数中的至少一个参数及其相关联的值。
在视频解码器30确定无损模式被启用之后,视频解码器30根据无损模式在其控制下配置一个或更多个编解码工具(610),并且然后使用所配置的一个或更多个编解码工具来解码处于或低于第一分割级的编解码块(615)。如上文指出的,存在与无损模式不兼容的编解码工具,并且它们在视频解码器30根据无损模式解码当前块时被禁用。由于这些编解码工具被禁用,所以视频解码器30不需要在视频比特流中查找它们的对应语法元素,这是因为它们可能根本不存在于比特流中。即使它们中的任何一者存在,视频解码器30也将跳过它。如上文指出的,无损模式需要禁用包括多变换选择(MTS)、子块变换(SBT)、帧内子分割(ISP)、二次变换等的变换编解码工具。在一些实施方式中,无损模式还需要禁用信号数据隐藏。
接下来,视频解码器30从视频比特流接收与分层结构的在第一分割级下的第二分割级相关联的第二指示(620),并且确定处于或低于第二分割级的编解码块将在无损模式还是有损模式下被解码。注意,以无损模式标记的大编解码块内的子块仍然可以利用无损模式或有损模式被编解码,这是因为有损模式具有比无损模式更低的要求。例如,图5B中的条带516a可以被标记为无损模式,而瓦片514a仍然可以被标记为有损模式。相比之下,如果条带516a已经被标记为有损模式,则瓦片514a也必须被标记为有损模式。如果第二指示指明在第二分割级启用有损模式,则视频解码器30然后根据有损模式来改变一个或更多个编解码工具之一的配置(625),并且使用所配置的一个或更多个编解码工具来解码处于或低于第一分割级的编解码块(630)。在一些实施方式中,视频解码器30基于视频比特流中的与编解码工具相对应的语法元素来改变编解码工具的配置。例如,语法元素可以指示在第二分割级或更低级启用MTS或SBT。如上文指出的,处于或低于第二分割级的所有编解码块将被视为根据有损模式被解码。
在一个或更多个示例中,所描述的功能可以以硬件、软件、固件或其任何组合实施。如果以软件实施,则功能可以作为一个或更多个指令或代码存储在计算机可读介质上或通过计算机可读介质传输,并且由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质或通信介质,计算机可读存储介质对应于诸如数据存储介质的有形介质,通信介质包括促进将计算机程序从一处传送到另一处(例如,根据通信协议)的任何介质。以此方式,计算机可读介质通常可以对应于(1)非暂态的有形计算机可读存储介质、或(2)通信介质,诸如信号或载波。数据存储介质可以是任何可用介质,其可以由一个或更多个计算机或者一个或更多个处理器访问以取回用于实现本申请中描述的实施方式的指令、代码和/或数据结构。计算机程序产品可以包括计算机可读介质。
在本文的实施方式的描述中使用的术语仅用于描述特定实施方式的目的,并且不旨在限制权利要求的范围。如在实施方式的描述和所附权利要求中所使用的,单数形式“一种”、“一个”和“该”旨在也包括复数形式,除非上下文另有明确指示。还将理解,如本文使用的术语“和/或”指代并且涵盖相关联的所列项目中的一个或更多个项目的任何和所有可能的组合。将进一步理解,术语“包括”和/或“包括有”当在本说明书中使用时,指定存在所陈述的特征、元件和/或组件,但不排除存在或添加一个或更多个其他特征、元件、组件和/或其群组。
还将被理解,尽管本文可能使用术语第一、第二等来描述各种元件,但是这些元件不应当受这些术语的限制。这些术语仅用于将一个元件与另一个元件区分开。例如,在不脱离实施方式的范围的情况下,第一电极可以被称为第二电极,并且类似地,第二电极可以被称为第一电极。第一电极和第二电极两者都是电极,但它们不是同一电极。
本申请的描述已经出于说明和描述的目的被呈现,并且不旨在穷举或限于所公开的形式的发明。受益于在前面的描述和相关联的附图中呈现的教导,许多修改、变化和替代实施方式对本领域普通技术人员将是显而易见的。选择和描述实施例是为了最好地解释本发明的原理、实际应用,并且使本领域的其他技术人员能够理解本发明以用于各种实施方式,并且最好地利用基本原理和具有适合于预期的特定用途的各种修改的各种实施方式。因此,将理解,权利要求的范围不限于所公开的实施方式的具体示例,并且修改和其他实施方式旨在被包括在所附权利要求的范围内。
Claims (11)
1.一种解码视频数据的方法,所述方法包括:
从具有分层结构的视频比特流接收与所述分层结构的第一分割级相关联的第一指示;
根据确定所述第一指示指明在所述第一分割级启用无损模式:
根据所述无损模式配置一个或更多个编解码工具;以及
使用所配置的一个或更多个编码工具解码处于或低于所述第一分割级的编解码块。
2.根据权利要求1所述的方法,其中根据所述无损模式配置一个或更多个编解码工具还包括:根据所述无损模式禁用变换编解码工具。
3.根据权利要求2所述的方法,其中在所述视频比特流中不存在与所述变换编解码工具相关的语法元素。
4.根据权利要求2所述的方法,其中所述变换编解码工具包括多变换选择MTS、子块变换SBT、帧内子分割ISP、以及二次变换。
5.根据权利要求1至4中任一项所述的方法,其中根据所述无损模式配置一个或更多个编解码工具还包括:根据所述无损模式禁用符号数据隐藏。
6.根据权利要求1至5中任一项所述的方法,其中所述第一指示是专用于指示所述无损模式的一比特标志。
7.根据权利要求1至6中任一项所述的方法,其中所述第一指示是多个参数的组合,每个参数具有相应的值,所述多个参数的各个值的组合对应于所述无损模式。
8.根据权利要求7所述的方法,其中当所述多个参数之一不具有与所述无损模式相对应的值时,所述多个参数中的至少一个参数及其相关联的值能够在有损模式下被使用。
9.根据权利要求1所述的方法,还包括:
从所述视频比特流接收与在所述分层结构的所述第一分割级下的第二分割级相关联的第二指示;
根据确定所述第二指示指明在所述第二分割级启用有损模式:
根据所述有损模式来改变所述一个或更多个编解码工具之一的配置;以及
使用具有被改变的配置的编解码工具来解码处于或低于所述第二分割级的编解码块。
10.一种电子装置,包括一个或更多个处理器、存储器、以及多个程序,所述多个程序存储在所述存储器中,其中所述多个程序在由所述一个或更多个处理器执行时,使所述电子装置执行权利要求1至9中的任一项所述的方法。
11.一种非暂态计算机可读存储介质,存储用于由具有一个或更多个处理器的电子装置执行的多个程序,其中所述多个程序在由所述一个或更多个处理器执行时,使所述电子装置执行权利要求1至9中的任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962854949P | 2019-05-30 | 2019-05-30 | |
US62/854,949 | 2019-05-30 | ||
PCT/US2020/035075 WO2020243397A1 (en) | 2019-05-30 | 2020-05-29 | Improving lossless coding efficiency in video coding |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114175641A true CN114175641A (zh) | 2022-03-11 |
Family
ID=73552284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080039841.7A Pending CN114175641A (zh) | 2019-05-30 | 2020-05-29 | 在视频编解码中提高无损编解码效率 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114175641A (zh) |
WO (1) | WO2020243397A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024060099A1 (zh) * | 2022-09-21 | 2024-03-28 | Oppo广东移动通信有限公司 | 编解码方法、码流、编码器、解码器以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130077696A1 (en) * | 2011-09-26 | 2013-03-28 | Texas Instruments Incorporated | Method and System for Lossless Coding Mode in Video Coding |
US20130294524A1 (en) * | 2012-05-04 | 2013-11-07 | Qualcomm Incorporated | Transform skipping and lossless coding unification |
CN104471946A (zh) * | 2012-06-18 | 2015-03-25 | 高通股份有限公司 | 视频译码中用信号发送无损译码模式和脉码调制(pcm)模式的统一 |
US20170180737A1 (en) * | 2014-03-16 | 2017-06-22 | Vid Scale, Inc. | Method and apparatus for the signaling of lossless video coding |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100936208B1 (ko) * | 2008-12-09 | 2010-01-12 | 주식회사세오 | 무손실 문맥적응적이진산술부호화를 위한 h.264/avc 부호화기, 상기 부호화기의 문맥적응적이진산술부호화방법 |
WO2013181821A1 (en) * | 2012-06-07 | 2013-12-12 | Mediatek Singapore Pte. Ltd. | Improved intra transform skip mode |
CN105556962B (zh) * | 2013-10-14 | 2019-05-24 | 联发科技股份有限公司 | 发送用于视频系统的无损模式的信号的方法 |
US9948933B2 (en) * | 2014-03-14 | 2018-04-17 | Qualcomm Incorporated | Block adaptive color-space conversion coding |
-
2020
- 2020-05-29 WO PCT/US2020/035075 patent/WO2020243397A1/en active Application Filing
- 2020-05-29 CN CN202080039841.7A patent/CN114175641A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130077696A1 (en) * | 2011-09-26 | 2013-03-28 | Texas Instruments Incorporated | Method and System for Lossless Coding Mode in Video Coding |
US20130294524A1 (en) * | 2012-05-04 | 2013-11-07 | Qualcomm Incorporated | Transform skipping and lossless coding unification |
CN104471946A (zh) * | 2012-06-18 | 2015-03-25 | 高通股份有限公司 | 视频译码中用信号发送无损译码模式和脉码调制(pcm)模式的统一 |
US20170180737A1 (en) * | 2014-03-16 | 2017-06-22 | Vid Scale, Inc. | Method and apparatus for the signaling of lossless video coding |
Also Published As
Publication number | Publication date |
---|---|
WO2020243397A1 (en) | 2020-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114501000B (zh) | 用于视频编码的方法和电子装置 | |
CN114710679B (zh) | 视频编解码中的小色度块大小限制 | |
CN114615506B (zh) | 视频解码方法、计算设备、存储介质 | |
US12041253B2 (en) | Signaling of lossless coding in video coding | |
US20220086464A1 (en) | Methods and apparatus of segment-based video coding using palette mode | |
US20240244190A1 (en) | Prediction mode signaling in video coding | |
CN113906749B (zh) | 色度残差联合编码方法和装置 | |
CN114762329A (zh) | 使用调色板模式的视频编解码的方法和装置 | |
CN114175641A (zh) | 在视频编解码中提高无损编解码效率 | |
CN115004706A (zh) | 关于变换和系数信令的方法和装置 | |
JP7401631B2 (ja) | パレットモードを用いたビデオコーディングの方法および装置 | |
WO2021062017A1 (en) | Methods and apparatus of performing rate-distortion analysis for palette mode |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |