CN115643402A - 用于对视频数据进行编码的方法、设备和介质 - Google Patents

用于对视频数据进行编码的方法、设备和介质 Download PDF

Info

Publication number
CN115643402A
CN115643402A CN202211311004.2A CN202211311004A CN115643402A CN 115643402 A CN115643402 A CN 115643402A CN 202211311004 A CN202211311004 A CN 202211311004A CN 115643402 A CN115643402 A CN 115643402A
Authority
CN
China
Prior art keywords
truncated
video
samples
block
truncation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202211311004.2A
Other languages
English (en)
Other versions
CN115643402B (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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202211311004.2A priority Critical patent/CN115643402B/zh
Publication of CN115643402A publication Critical patent/CN115643402A/zh
Application granted granted Critical
Publication of CN115643402B publication Critical patent/CN115643402B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods 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
    • 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/186Methods 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 colour or a chrominance component
    • 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/423Methods 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 characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

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)

Abstract

本申请涉及用于对视频数据进行编码的方法、设备和介质。该方法包括:获得视频帧的多个图像样点,每个图像样点对应于亮度样点和色度样点之一;对于所述多个图像样点中的每一个,使用具有滤波器长度L和一组滤波器系数的自适应环路滤波器对相应图像样点进行滤波,进一步包括:识别所述相应图像样点的一组相关图像样点;对于所述一组相关图像样点中的每一个,识别相应截取值索引和对应的滤波器系数;基于所述相应截取值索引,对所述一组相关图像样点中的每一个与所述相应图像样点之间的差进行截取;以及基于所述相应的滤波器系数,利用所述一组相关图像样点中的每一个与所述相应图像样点之间的经截取的差来修改所述相应图像样点。

Description

用于对视频数据进行编码的方法、设备和介质
本申请是中国专利申请第202080097101.9号的分案申请,该中国专利申请为2020年12月28日提交的国际专利申请PCT/US2020/067159的中国国家阶段申请,该国际专利申请要求2019年12月28日提交的美国专利申请第62/954,485号的优先权。
技术领域
本申请总体上涉及视频数据编解码和压缩,并且具体涉及改进对视频数据比特流中图像帧的色度分量和亮度分量的编解码的方法和系统。
背景技术
如数字电视、膝上型计算机或台式计算机、平板计算机、数码相机、数字录音设备、数字媒体播放器、视频游戏机、智能电话、视频电话会议设备、视频流式传输设备等各种电子设备都支持数字视频。电子设备通过实施由MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分、高级视频编解码(AVC)、高效视频编解码(HEVC)和通用视频编解码(VVC)标准定义的视频压缩/解压缩标准来发送、接收、编码、解码和/或存储数字视频数据。视频压缩典型地包括执行空间(帧内)预测和/或时间(帧间)预测以减少或去除视频数据中固有的冗余。对于基于块的视频编解码,将视频帧划分为一个或多个条带,每个条带具有多个视频块,所述视频块也可以被称为编码树单元(CTU)。每个CTU可以包含一个编码单元(CU)或递归地分割成较小的CU,直到达到预定义的最小CU尺寸。每个CU(也称为叶CU)包含一个或多个变换单元(TU),并且每个CU还包含一个或多个预测单元(PU)。可以以帧内、帧间或IBC模式对每个CU进行编解码。相对于同一视频帧内的相邻块中的参考样点,使用空间预测对视频帧的帧内编解码(I)条带中的视频块进行编码。视频帧的帧间编解码(P或B)条带中的视频块可以相对于同一视频帧内的相邻块中的参考样点使用空间预测或相对于其他先前和/或未来参考视频帧中的参考样点使用时间预测。
基于先前已被编码的参考块(例如,相邻块)的空间或时间预测产生针对待编解码的当前视频块的预测块。查找参考块的过程可以通过块匹配算法来完成。表示待编解码的当前块与预测块之间的像素差的残差数据被称为残差块或预测误差。根据指向形成预测块的参考帧中的参考块的运动矢量、以及残差块来对帧间编码块进行编码。确定运动矢量的过程典型地被称为运动估计。根据帧内预测模式和残差块对帧内编码块进行编码。为了进一步压缩,将残差块从像素域变换到变换域,例如频域,从而产生残差变换系数,然后可以对所述残差变换系数进行量化。可以扫描最初布置为二维阵列的量化的变换系数,以产生变换系数的一维矢量,并且然后将其熵编码为视频比特流,以实现更多的压缩。
然后,将已编码视频比特流保存在计算机可读存储介质(例如,闪速存储器)中,以被具有数字视频能力的另一个电子设备访问,或者直接以有线或无线方式传输到电子设备。然后,电子设备通过例如解析已编码视频比特流以从比特流获得语法元素并且至少部分地基于从比特流获得的语法元素将数字视频数据从已编码视频比特流重建为其原始格式来执行视频解压缩(其是与上文描述的视频压缩相反的过程),并且在电子设备的显示器上渲染重建数字视频数据。
在将重建的视频块放入参考图片存储并用于对其他视频块进行编解码之前,对其应用环路滤波。自适应环路滤波器(ALF)分别应用于重建视频块的色度分量和亮度分量。具有更高效的编解码机制来编码和解码这些颜色分量同时保持已解码视频数据的图像质量将是有益的。
发明内容
本申请描述了与视频数据编码和解码相关的实施方式,更具体地,描述了通过在自适应环路滤波中应用基于比特深度的截取操作来改进视频帧的色度样点和亮度样点的编解码的方法和系统。根据相应的自适应环路滤波器(ALF)方案,基于多个周围的亮度样点或色度样点对视频帧的每个亮度样点或色度样点进行滤波。对于亮度样点或色度样点中的每一个,相关图像样点与相应样点的差被截取到由截取边界值定义的相应动态范围内,该截取边界值等于2的相应截取数次幂。
在一方面,一种视频数据编解码的方法包括从比特流中获得视频帧的多个图像样点。每个图像样点对应于亮度样点和色度样点之一。所述方法进一步包括对于所述多个图像样点中的每一个,使用具有滤波器长度和一组滤波器系数的自适应环路滤波器对相应图像样点进行滤波。对相应图像样点进行滤波进一步包括在相应图像样点的所述滤波器长度中识别一组相关图像样点;对于该组相关图像样点中的每一个,识别相应的截取值索引和对应的滤波器系数;基于相应的截取值索引,对该组相关图像样点中的每一个与相应图像样点的差进行截取;以及基于相应的滤波器系数,利用该组相关图像样点中的每一个的经截取的差来修改相应图像样点。对于每个图像样点,相应的截取值索引对应于等于2的相应截取数次幂的相应截取边界值,并且相应截取数是整数。所述方法进一步包括使用多个修改的图像样点来重建视频帧。
在一些实施例中,对于每个图像样点,通过确定相应图像样点的IBDI来对每个相关图像样点与相应图像样点的差进行截取;对于该组相关图像样点中的每一个,根据预定义的截取边界值公式或表基于IBDI和相应截取值索引确定相应截取边界值,并基于相应截取边界值对该组相关图像样点中的每一个与相应图像样点的差进行截取。进一步地,在一些实施例中,所述预定义的截取边界值公式或表被本地地存储在视频编码器和视频解码器两者中。对于每个图像样点,相关图像样点的截取值索引是通过比特流获得的。
在另一方面,一种电子设备包括一个或多个处理器和用于存储指令的存储器,这些指令在由一个或多个处理器执行时使电子设备执行如上所述的视频数据编解码的方法。
在又一方面,一种非暂态计算机可读存储介质存储具有存储在其上的指令,这些指令在由电子设备的一个或多个处理器执行时使一个或多个处理器执行如上所述的视频数据编解码的方法。
附图说明
被包括在内以提供对实施方式的进一步理解并且并入本文并构成说明书的一部分的附图图示了所描述的实施方式,并且与说明书一起用于解释基本原理。相似的附图标记指代对应的部分。
图1是图示了根据一些实施例的示例性视频编码和解码系统的框图。
图2是图示了根据一些实施例的示例性视频编码器的框图。
图3是图示了根据一些实施例的示例性视频解码器的框图。
图4A至图4E是根据一些实施例将图像帧递归地划分为不同尺寸和形状的视频块的示意图。
图5图示了根据一些实施例的比特流中的视频帧的部分。
图6是根据一些实施例的应用在视频编码器或解码器中的环路滤波器的框图。
图7A是根据一些实施例的其中由亮度ALF基于一组相关亮度样点来处理亮度样点的示例ALF滤波方案,并且图7B是根据一些实施例的其中由色度ALF基于一组相关色度样点来处理色度样点的示例ALF滤波方案。
图8是根据一些实施例的具有用于图像帧的块中的每个图像样点的一组相关图像样点的截取值索引的示例ALF滤波方案。
图9A至图9C是根据一些实施例的三个示例预定义截取边界值表。
图10是根据一些实施例的针对图像样点要被截取的值的数据结构。
图11是根据一些实施例的视频编解码方法的流程图。
具体实施方式
现在将详细参考具体实施方式,附图中图示了这些实施方式的示例。在以下详细描述中,阐述了许多非限制性的具体细节,以便帮助理解本文提出的主题。但是对于本领域的普通技术人员将显而易见的是,在不脱离权利要求的范围的情况下,可以使用各种替代性方案,并且可以在没有这些具体细节的情况下实践主题。例如,对于本领域普通技术人员将显而易见的是,本文提出的主题可以在具有数字视频能力的许多类型的电子设备上实施。
图1是图示了根据一些实施例的用于并行地对视频块进行编码和解码的示例性系统10的框图。如图1所示,系统10包括源设备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,该显示设备可以是集成显示设备和被配置为与目的地设备14通信的外部显示设备。显示设备34向用户显示已解码视频数据并且可以包括各种显示设备中的任何一种,如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一种类型的显示设备。
视频编码器20和视频解码器30可以根据专有或行业标准(如VVC、HEVC、MPEG-4第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。环路滤波器66可以位于加法器62与DPB 64之间,并且包括去块滤波器以对块边界进行滤波并从重建的视频中去除块效应伪像。环路滤波器66进一步包括样点自适应偏移(SAO)和自适应环路滤波器(ALF)以在加法器62的输出被放入DPB64并用于对其他视频块进行编解码之前对加法器62的输出进行滤波。视频编码器20可以采用固定或可编程硬件单元的形式,或可以被划分在在所图示的固定或可编程硬件单元中的一个或多个中。
视频数据存储器40可以存储待由视频编码器20的部件编码的视频数据。视频数据存储器40中的视频数据可以例如从视频源18获得。DPB 64是存储参考视频数据以用于由视频编码器20对视频数据进行编码(例如,在帧内预测编码模式或帧间预测编码模式下)的缓冲器。视频数据存储器40和DPB 64可以由多种存储器设备中的任何一种形成。在各个示例中,视频数据存储器40可以与视频编码器20的其他部件一起在片上(on-chip),或者相对于那些部件在片外(off-chip)。
如图2所示,在接收到视频数据之后,预测处理单元41内的划分单元45将视频数据划分为视频块。该划分还可以包括根据预定义的分割结构(如与视频数据相关联的四叉树结构)将视频帧划分为条带、瓦片、或其他更大的编码单元(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的位置与从第一参考帧列表(列表0)或第二参考帧列表(列表1)中选择的参考帧的预测块的位置进行比较来计算帧间预测编码帧中的视频块的PU的运动矢量,该列表中的每一个标识被存储在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可以例如在单独的编码通道期间使用各种帧内预测模式对当前块进行编码,并且通过率失真(rate-distortion)分析来测试其性能。接下来,帧内BC单元48可以在各种测试的帧内预测模式中选择适当的帧内预测模式来使用并相应地生成帧内模式指示符。例如,帧内BC单元48可以使用针对各种测试的帧内预测模式的率失真分析来计算率失真值并且在测试的模式中选择具有最佳率失真特性的帧内预测模式作为要使用的适当的帧内预测模式。率失真分析通常确定已编码块与原始的未编码块(被编码以产生已编码块)之间的失真(或误差)量以及用于产生已编码块的比特率(即,比特数)。帧内BC单元48可以从各个已编码块的失真和速率来计算比值,以确定哪个帧内预测模式展现出块的最佳率失真值。
在其他示例中,帧内BC单元48可以全部或部分地使用运动估计单元42和运动补偿单元44,以根据本文描述的实施方式执行用于帧内BC预测的这种功能。在任一种情况下,对于帧内块复制,预测块可以是就像素差而言被视为与待编解码的块紧密匹配的块,该像素差可以由绝对差和(SAD)、平方差和(SSD)或其他差度量确定,并且预测块的识别可以包括计算子整数像素位置的值。
无论预测块是根据帧内预测来自同一帧还是根据帧间预测来自不同帧,视频编码器20都可以通过从被编码的当前视频块的像素值中减去预测块的像素值来形成残差视频块,从而形成像素差值。形成残差视频块的像素差值可以包括亮度分量差和色度分量差。
如上文描述的,帧内预测处理单元46可以对当前视频块进行帧内预测,作为由运动估计单元42和运动补偿单元44执行的帧间预测,或者由帧内BC单元48执行的帧内块复制预测的替代方案。具体地,帧内预测处理单元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或由视频解码器取得。熵编码单元56还可以对被编码的当前视频帧的运动矢量和其他语法元素进行熵编码。
反量化单元58和逆变换处理单元60分别应用反量化和逆变换以在像素域中重建残差视频块,以生成用于预测其他视频块的参考块。如上所述,运动补偿单元44可以从DPB64中存储的帧的一个或多个参考块中生成运动补偿的预测块。运动补偿单元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的其他部件解码的视频数据,比如已编码的视频比特流。例如,可以经由对视频数据进行有线或无线网络传送或者通过访问物理数据存储介质(例如,闪存驱动器或硬盘)从存储设备32、本地视频源(如相机)获得被存储在视频数据存储器79中的视频数据。视频数据存储器79可以包括存储来自已编码视频比特流的已编码视频数据的已编码图片缓冲器(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生成的对应预测块求和来重建当前视频块的已解码视频块。环路滤波器94可以位于加法器90与DPB 92之间,并且包括去块滤波器以对块边界进行滤波并从已解码的视频块中去除块效应伪影。环路滤波器94进一步包括SAO滤波器和ALF以对由加法器90输出的已解码视频块进行滤波。然后将给定帧中的已解码视频块存储在DPB 92中,DPB存储用于对接下来的视频块进行后续运动补偿的参考帧。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×16CU 430和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所示,有五种划分类型,即四元划分、水平二元划分、垂直二元划分、水平三元划分以及垂直三元划分。
在一些实施方式中,视频编码器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可以重建该帧。
如上所述,视频编解码主要使用两种模式,即,帧内预测(intra-frameprediction)(或帧内预测(intra-prediction))和帧间预测(inter-frame prediction)(或帧间预测(inter-prediction))来实现视频压缩。基于调色板(palette-based)的编解码是许多视频编解码标准采用的另一编解码方案。在可能特别适用于屏幕生成的内容编解码的基于调色板的编解码中,视频编解码器(例如,视频编码器20或视频解码器30)形成表示给定块的视频数据的颜色的调色板表。调色板表包括给定块中最主要的(例如,经常使用的)像素值。给定块的视频数据中不经常表示的像素值不被包括在调色板表中,或者作为逸出颜色被包括在调色板表中。
调色板表中的每个条目包括调色板表中对应像素值的索引。可以对块中样点的调色板索引进行编解码,以指示调色板表中的哪个条目要被用于预测或重建哪个样点。调色板模式开始于为图片、条带、瓦片或视频块的其他这种分组的第一块生成调色板预测值的过程。如下文将解释的,后续视频块的调色板预测值典型地通过更新先前使用的调色板预测值来生成。出于说明的目的,假设调色板预测值是在图片级别定义的。换句话说,图片可以包括多个编码块,每个编码块具有其自己的调色板表,但是对于整个图片有一个调色板预测值。
为了减少用信号传输视频比特流中的调色板条目所需的比特,视频解码器可以利用调色板预测值来确定调色板表中的新调色板条目,以重建视频块。例如,调色板预测值可以包括来自先前使用的调色板表的调色板条目,或者甚至可以通过包括最近使用的调色板表的所有条目来用最近使用的调色板表来被初始化。在一些实施方式中,调色板预测值可以包括少于来自最近使用的调色板表的所有条目,并且然后结合来自其他先前使用的调色板表的一些条目。调色板预测值可以具有与用于编解码不同块的调色板表相同的大小,或者可以比用于编解码不同块的调色板表更大或更小。在一个示例中,调色板预测值被实施为包括64个调色板条目的先进先出(FIFO)表。
为了从调色板预测值生成视频数据块的调色板表,视频解码器可以从已编码视频比特流接收调色板预测值的每个条目的一比特标志。该一比特标志可以具有指示调色板预测值的相关联条目将被包括在调色板表中的第一值(例如,二进制一)或者指示调色板预测值的相关联条目将不被包括在调色板表中的第二值(例如,二进制零)。如果调色板预测值的大小大于用于视频数据块的调色板表,则一旦达到调色板表的最大大小,视频解码器可以停止接收更多的标志。
在一些实施方式中,调色板表中的一些条目可以在已编码视频比特流中直接用信号传输,而不是使用调色板预测值来确定。对于这种条目,视频解码器可以从已编码视频比特流接收三个单独的m比特的值,该m比特的值指示与条目相关联的亮度和两个色度分量的像素值,其中m表示视频数据的比特深度。与直接用信号传输的调色板条目所需的多个m比特的值相比,从调色板预测值得到的那些调色板条目只需要一比特标志。因此,使用调色板预测值用信号传输一些或所有调色板条目可以显著减少用信号传输新调色板表的条目所需的比特数,从而提高调色板模式编解码的整体编解码效率。
在许多实例中,一个块的调色板预测值是基于用于编解码一个或多个先前编解码的块的调色板表来确定的。但是,当对图片、条带或瓦片中的第一编码树单元进行编解码时,先前编解码的块的调色板表可能不可用。因此,无法使用先前使用的调色板表的条目来生成调色板预测值。在这种情况下,可以在序列参数集(SPS)和/或图片参数集(PPS)中用信号传输调色板预测值初始化器序列,该初始化器是当先前使用的调色板表不可用时用于生成调色板预测值的值。SPS通常是指应用于被称为已编码视频序列(CVS)的一系列连续编码视频图片的语法元素的语法结构,如由在PPS中找到的语法元素的内容确定的,该内容由在每个条带分段头部中找到的语法元素引用。PPS通常是指应用于CVS内的一个或多个单独图片的语法元素的语法结构,如由在每个条带分段头部中找到的语法元素确定的。因此,SPS通常被认为是比PPS更高级别的语法结构,这意味着与PPS中包括的语法元素相比,SPS中包括的语法元素通常不那么频繁地变化并且应用于视频数据的更大部分。
图5图示了根据一些实施例的比特流中的视频帧500的一部分。视频帧500包括多个像素,并且每个像素由多个颜色元素(例如,蓝色、绿色和红色)构成。在视频编码和解码中,多个像素的颜色信息由多个亮度样点502和多个色度样点504表示。多个像素中的每个像素对应于相应的亮度样点502,并且每个亮度样点502也对应于视频帧500中的相应像素。根据子采样方案(subsampling scheme),每个色度样点504对应于相应的一组亮度样点502。每个亮度样点502具有亮度分量Y’,并且每个色度样点504具有蓝差色度分量Cb和红差色度分量Cr。亮度和色度分量(Y':Cb:Cr)的子采样方案具有三部分比例,例如4:1:1、4:2:0、4:2:2、4:4:4和4:4:0。具体地,视频帧500的亮度样点502和色度样点504遵从三部分比率等于4:1:1的子采样方案,并且平均而言,每四个亮度样点502对应具有蓝差色度分量Cb和红差色度分量Cr的一个色度样点504。
图6是根据一些实施例的应用在视频编码器20或解码器30中的环路滤波器600的框图。在视频编码或编码中,亮度样点502和色度样点504中的每一个从视频帧500的残差块重建并且通过环路滤波器600(例如,图2和图3中的环路滤波器66和94)的去块滤波器、一个或多个样点自适应偏移(SAO)滤波器602和一个或多个自适应环路滤波器(ALF)滤波器604进行滤波以去除伪影。滤波后的亮度样点606和色度样点608被存储到已解码图片缓冲器64或92中并且用于对视频帧500中的其他视频块进行编码或解码。在一些实施例中,去块滤波器、SAO滤波器602和ALF滤波器604中的每一个被配置为基于相同类型的样点对亮度样点502或色度样点504进行滤波,例如,基于相应的一组相邻亮度样点502对每个亮度样点502进行滤波,并基于相应的一组相邻色度样点504对每个亮度样点502进行滤波。在一些实施例中,环路滤波器600进一步包括跨分量滤波器610,其被配置为基于与相应色度样点504相邻的一个或多个亮度样点502对每个色度样点504进行滤波。反之,在一些实施例中,环路滤波器600进一步包括替代性的跨分量滤波器,其被配置为基于与相应亮度样点502相邻的一个或多个色度样点504对每个亮度样点502进行滤波。
具体地,视频编码器20或解码器30获得视频帧500的多个亮度样点502和多个色度样点504。每个亮度样点502具有相应的亮度值,并且每个色度样点504具有相应的亮度值。SAO滤波器602补偿多个亮度样点502和多个色度样点504中的每一个。具体地,SAO滤波器602A、602B和602C分别补偿亮度样点502、色度样点504的蓝色蓝差色度分量Cb和色度样点504的红差色度分量Cr。ALF 604耦接到SAO滤波器602。基于一组相邻的已补偿亮度样点612使用亮度ALF 604A将每个已补偿亮度样点612更新为亮度样点606,同时基于一组相邻的已补偿色度样点614使用色度ALF 604B将已补偿色度样点614A和614B中的每一个更新为色度样点608A或608B。
在一些实施例中,跨分量滤波器610被配置为基于一组亮度样点502为每个色度样点504生成色度细化值616。使用色度细化值616更新相应色度样点504,即,使用色度细化值616来细化相应色度样点504的色度值。更新的相应色度样点608与视频帧500相关联地被存储。在一些实施例中,跨分量滤波器610包括第一跨分量滤波器610A和第二跨分量滤波器610,它们被配置为生成第一细化值616A和第二细化值616B。使用第一细化值616A和第二细化值616B来单独更新蓝差色度分量618A和红差色度分量618B,以分别输出第一细化色度值608A和第二细化色度值608B。
环路滤波器600的去块滤波器、SAO滤波器和ALF滤波器中的每一个都包括一个或多个环路滤波器系数,并且跨分量ALF 610还包括多个跨分量滤波器系数。环内滤波器系数和跨分量滤波器系数在自适应参数集(APS)中用信号传输。在示例中,APS携带并用信号传输多组(例如,最多25组)亮度滤波器系数和截取值索引以及多组(例如,最多8组)色度滤波器系数和截取值索引。APS与比特流中的视频帧500一起从视频编码器20传送到视频编码器30,即APS是比特流传送的开销。在一些实施例中,用于亮度样点502的亮度分量的不同分类的滤波器系数被合并以减少比特流传送的开销。在示例中,用于图像条带的APS索引在对应的条带头中用信号传输。
图7A是根据一些实施例的其中亮度ALF 604A基于一组相关亮度样点502B来处理亮度样点502A的示例ALF滤波方案700,并且图7B是根据一些实施例的其中色度ALF604B基于一组相关色度样点504B来处理色度样点504A的示例ALF滤波方案750。亮度ALF 604A具有菱形滤波器形状(例如,7×7菱形形状)并且是基于局部梯度的方向和活动从用于每个4×4块的多个预定义滤波器(例如,具有预定义滤波器系数的25个滤波器)中选择的。图7A中的每个正方形表示用具有菱形形状的亮度ALF 604A的对应滤波器系数(C0-C12)标记的亮度样点502。对于亮度样点502A,总共13个滤波器系数(C0-C12)被对称地应用以使用亮度ALF604A组合25个亮度样点502。类似地,色度ALF 604B具有菱形滤波器形状(例如,5×5菱形形状)并且是从多个预定义滤波器(例如,具有预定义滤波器系数的8个滤波器)中选择的。图7B中的每个正方形表示用具有菱形形状的色度ALF 604B的对应滤波器系数(C0-C6)标记的色度样点504。对于色度样点504A,总共7个滤波器系数(C0-C6)被对称地应用以组合色度ALF 604B中的13个色度样点504。
当启用自适应环路滤波时,例如,对于CTB,CU内的每个图像样点R(i,j)(例如,亮度样点502A、色度样点504A)被滤波,产生样点值R′(i,j)如下:
R′(i,j)=R(i,j)+((∑k≠0l≠0f(k,l)×K(R(i+k,j+l)-R(i,j),c(k,l))+64)>>7) (1)
其中,f(k,l)表示已解码的滤波器系数,K(x,y)是截取函数,并且c(k,l)表示已解码的截取参数。变量k和l在
Figure BDA0003907088730000191
Figure BDA0003907088730000192
之间变化,其中,L表示滤波器长度。
对于自适应环路滤波中的截取,每个图像样点都涉及在ALF 604的滤波器长度L中的一组相关图像样点。参考图7A,每个亮度样点502A的相关亮度样点502B包括在相应亮度样点502A上方的3行亮度样点(即,9个亮度样点)、在相应亮度样点502A下方的3行亮度样点(即,9个亮度样点)、在相应亮度样点502A左边的3个亮度样点以及在相应亮度样点502A右边的3个亮度样点。参考图7B,每个色度样点504A的相关色度样点504B包括在相应色度样点504A上方的2行色度样点(即,4个色度样点)、在相应色度样点50rA下方的2行色度样点(即,4个色度样点)、在相应色度样点504A左边的2个色度样点以及在相应色度样点504A右边的2个色度样点。
在一些实施例中,ALF滤波器参数在包括表示上述截取参数c(k,l)的截取值索引的APS中用信号传输。在一个APS中,多达25组亮度滤波器系数(例如,图7A中的一组C0-C12)和截取值索引、以及多达8组色度滤波器系数(例如,图7B中的一组C0-C6)和截取值索引可以用信号传输。为了减少信令比特开销,可以针对亮度样点502A合并不同分类的滤波器系数。在条带头中,用信号传输当前条带所使用的APS索引。从APS解码的截取值索引允许使用预定义的截取边界值公式或表来确定截取边界值。这些边界截取值取决于内部比特深度,并且定义了一组相关图像样点与图像样点502A或504A的差被截取到的动态范围。在一些实施例中,对亮度样点502A和色度样点504A应用不同的预定义截取边界值公式或表。
在一些实施例中,在条带头中,可以用信号传输多个APS索引(例如,7个索引)以选择多个对应亮度和色度滤波器组的子集用于当前条带中的自适应环路滤波。这种自适应环路滤波过程可以在CTB级别进行控制。用信号传输标志以指示自适应环路滤波是否应用于亮度CTB。根据确定标志启用了自适应环路滤波,亮度CTB在多个(例如,16个)亮度滤波器组中选择亮度滤波器组。为亮度CTB用信号传输亮度滤波器组索引以指示应用了哪个亮度滤波器组。多个滤波器组中的每一个都是预定义的并被硬编码在编码器20和解码器30中的,并且只需要与携带视频帧500的比特流一起传输亮度滤波器组索引。同样,对于色度样点504A,当标志启用了自适应环路滤波时,在条带头中用信号传输色度滤波器组索引以选择多个色度滤波器组之一以用于当前条带的自适应环路滤波。在CTB级别,如果APS中存在多于一个色度滤波器组,则针对每个色度CTB用信号传输色度滤波器组索引。每个滤波器组都以滤波器系数f(k,l)和截取参数c(k,l)或滤波器系数f(k,l)和截取参数c(k,l)的索引被本地地存储在视频编码器或解码器中。
在一些实施例中,滤波器系数用等于128的范数进行量化。应用比特流一致性,使得具有非中心位置的滤波器系数的值应在[-27至27-1]的范围内。具有中心位置的滤波器系数未在比特流中用信号传输,并假定为128。
图8是根据一些实施例的具有用于图像帧的块中的每个图像样点802的一组相关图像样点804的截取值索引的示例ALF滤波方案800。对于每个图像样点802(例如,亮度样点502A、色度样点504A),ALF 604具有滤波器长度L并且对应于多个滤波器系数(例如,亮度样点502A的C0-C13)。在相应图像样点802的滤波器长度中识别一组相关图像样点804。针对该组相关图像样点804(例如,对应于图7中的滤波器系数C1-C12的亮度样点502B)中的每一个,识别相应的截取值索引和对应的滤波器系数。例如,图8中的每个相关图像样点804都具有等于0、1、2或3的截取值索引。
相应的截取值索引对应于等于2的相应截取数i次幂的相应截取边界值M,并且相应截取数i是整数。ALF 604将该组相关图像样点804中的每一个与相应图像样点802的差截取到由与相应截取值索引相关联的相应截取边界值M定义的动态范围DR中。基于相应的滤波器系数利用该组相关图像样点804中的每一个的经截取的差来修改相应图像样点802(例如,亮度样点502A、色度样点504A),使得可以使用多个修改的图像样点802来重建图像帧。当边界值被限制为2的整数次幂时,相关图像样点804与每个图像样点802的截取差仅包括逻辑与运算和/或逻辑或运算。通过这些方式,该截取操作不包括对每个图像样点802的任何比较操作,从而减少了自适应环路滤波所需的计算量并节省了对对应视频帧进行编解码的计算资源。
在一些实施例中,对于第一图像样点块,为第一块中的所有图像样点802确定单组截取值索引。该组值索引与图像样点块一起从视频编码器20传送到视频解码器30,允许ALF604基于相同的单组截取值索引来处理第一块中的每个图像样点802。示例块是整个视频帧、条带、砖块、瓦片、瓦片组、编码树或任何其他编码单元。进一步地,在一些实施例中,视频帧包括不同于第一块的第二块。第二组截取值索引用于第二块中的图像样点802的自适应环路滤波。第二组截取值索引是与用于第一图像块的单组截取值索引分开确定的。
图9A至图9C是根据一些实施例的三个示例预定义截取边界值表900A-900C。每个预定义截取边界值表900根据一组内部比特深度索引(IBDI)906将一组截取值索引902与一组截取边界值(M)904相关联。这些表900A-900C中的每一个截取边界值M均等于2的相应截取数i次幂。在ALF 604中应用每个截取边界值表900作为参考以确定相应截取值索引的截取边界值M。例如,对于视频帧的第一图像样点802,当其相关图像样点804A之一与第一图像样点802的差被截取时,向相应截取值索引902A(即,等于0)提供该相关图像样点804A,并且可以从要被滤波的第一图像样点802中确定IBDI 906A(例如,IBDI=10)。从预定义的截取边界值表900A中对应于截取值索引902A的列和对应于IBDI 906A的行的交叉部分处识别相应的截取边界值904A(即,等于1024)。
每个截取边界值904等于2的相应截取数i次幂。对于相同的截取值索引(例如,902A),相应截取数i是以线性方式随IBDI 906增加的整数。每个边界值904(M)表示为相应截取数i的函数,如下所示:
M=2i. (1)
在一些实施例中,对于用于第一图像样点802的自适应环路滤波的每个相关图像样点804,相关图像样点804与第一图像样点802的经截取的差在[-M,M-1]的范围内,即[-2i,2i-1]的范围内。替代性地,在一些实施例中,相关图像样点804与第一图像样点802的经截取的差在[-M+1,M]的范围内,即[-2i+1,2i]的范围内。替代性地,在一些实施例中,相关图像样点804与第一图像样点802的经截取的差在[-M+1,M-1]的范围内,即[-2i+1,2i-1]的范围内。替代性地,在一些实施例中,相关图像样点804与第一图像样点802的经截取的差在[-M,M]的范围内,即[-2i,2i]的范围内。
在一些实施例中,在图像样点802的块的滤波中使用的预定义截取边界值表900是与携带该块的比特流一起获得的,允许针对图像样点802的每个块来更新表900。示例块是整个视频帧、条带、砖块、瓦片、瓦片组、编码树或任何其他编码单元。替代性地,在自适应环路滤波中使用的相同预定义截取边界值表900的两个副本分别被存储在视频编码器20和视频解码器30中。在对图像样点802的块进行滤波的过程中,预定义截取边界值表900不与视频帧一起被接收,而是从预存储一个或多个不同的预定义截取边界值表(例如,表900A-900C的子集或全部)的本地存储器中提取的。块的图像样点802共享一组截取值索引和边界表指示符。该组截取值索引和边界表指示符是结合比特流中的图像样点802的块获得的,而一个或多个截取边界值表是本地存储的。基于边界表指示符选择截取边界值表900中的一个并将其应用于截取操作以对块中的每个图像样点802进行滤波。
预定义的截取边界值表900A由以下公式表示:
Figure BDA0003907088730000221
其中,CVI是相应的截取值索引,CBV是该组相关图像样点804中的每一个的相应截取边界值。在一些实施例中,截取边界值表900A不被存储在本地存储器中,而是公式(2)被存储在其中。对于每个图像样点802,根据上述预定义截取边界值公式(2),基于IBDI和相应的截取值索引为每个相关图像样点804确定截取边界值。
截取值索引为2的截取边界值在预定义截取边界值表900A和900B中是不同的。预定义的截取边界值表900B由以下公式表示:
Figure BDA0003907088730000222
在一些实施例中,截取边界值表900B不被存储在本地存储器中,而是公式(3)被存储在其中。对于每个图像样点802,根据上述预定义截取边界值公式(3),基于IBDI和相应的截取值索引为每个相关图像样点804确定截取边界值。
截取值索引为1的截取边界值在预定义截取边界值表900A和900C中是不同的。预定义的截取边界值表900C由以下公式表示:
Figure BDA0003907088730000223
在一些实施例中,截取边界值表900C不被存储在本地存储器中,而是公式(4)被存储在其中。对于每个图像样点802,根据上述预定义截取边界值公式(4),基于IBDI和相应的截取值索引为每个相关图像样点804确定截取边界值。
在一些实施例中,比特流包括视频帧的多个图像样点802。多个图像样点802包括亮度样点502A的子集和色度样点504A的子集。亮度样点502A的子集对应于第一组截取值索引,该第一组截取值索引定义了在每个亮度样点502A的第一滤波器长度L1中的一组相关亮度样点502B中的每一个的相应截取值索引。色度样点504A的子集对应于第二组截取值索引,该第二组截取值索引定义了在每个色度样点504A的第二滤波器长度L2中的一组相关色度样点504B中的每一个的相应截取值索引。第二组截取值索引不同于第一组截取值索引。进一步地,在一些实施例中,第一组截取值索引和第二组截取值索引对应于截取边界值表或公式,该截取边界值表或公式基于IBDI将相应一组截取值索引中的每个截取值索引与相应截取边界值相关联。另外,在一些实施例中,从预定义数量的截取边界值表或公式中选择截取边界值表或公式。替代性地,在一些实施例中,第一组截取值索引和第二组截取值索引对应于第一截取边界值表/公式和不同于第一截取边界值表/公式的第二值表/公式。
图10是根据一些实施例的针对图像样点802要截取的值1000的数据结构。图像样点802对应于视频帧的亮度样点502和色度样点504之一。在一些实施例中,要截取的值1000对应于相关图像样点804与图像样点802的差。值1000的二进制表示的第一位被定义为最低有效位(LSB),其通常是最右边的位。位的索引从LSB开始向最左侧位的最高有效位(MSB)增加1。在一些实施例中,用于截取相关图像样点804与相应图像样点802的差的动态范围被定义为截取上限值-M和下限值M-1,并以[-M,M-1]的形式表示,其中,M等于2i。对应的截取操作可以被实施为对从第(i+1)位到MSB的范围内的位执行的逻辑“与”和/或逻辑“或”运算。使用逻辑“与”和/或逻辑“或”的运算比执行基于比较的截取操作更简单。
在示例中,假设要截取的值1000由11位表示,取值范围从-211到211-1(含端值)。截取上下限值定义了[-24,24-1]的动态范围,并且需要检查从第五位到MSB的位来确定该值1000是否超出由上限值和下限值定义的动态范围。如果要截取的值1000为正,则对从第五位到MSB的所有位执行逻辑“或”运算。如果逻辑“或”运算的结果为1,则值1000大于24-1并且该值1000被截取为24-1。如果要截取的值1000为负,则对从第五位到MSB的所有位执行逻辑“与”运算。如果逻辑“与”运算的结果为0,则值1000小于-24并且该值1000被截取为-24
在另一个示例中,要截取的值1000在-16到15的值范围内。值1000有五位。一位用于表示符号,并且四位用于表示值1000的大小。截取边界值为4,并且截取的动态范围被设置为[-22,22-1]。如果输入值1000等于14(二进制表示为0,1110),则对第三个和第四个二进制位(bin)应用逻辑“或”运算,结果为值1,指示输入值1000超过上限,并因此被截取为上限值3。如果输入值1000等于2(b被二进制表示为0,0010),则对第三个和第四个二进制位应用逻辑“或”运算,结果为值0,指示输入值1000未超过上限并保持不变。如果输入值1000等于-14(二进制表示为1,0010),则对第三个和第四个二进制位应用逻辑“与”运算,结果为值0,指示输入值1000超过下限,并被设置为下限值-4。如果输入值1000等于-2(二进制表示为1,1110),则对第三个和第四个二进制位应用逻辑“与”运算,结果为值1,指示输入值1000未超过下限并保持不变。
图11是根据一些实施例的视频编解码方法1100的流程图。视频编解码方法1100在具有视频编码器20或解码器30的电子设备中实施。电子设备从比特流中获得(1102)视频帧的多个图像样点802。每个图像样点802对应于亮度样点502和色度样点504之一。对于多个图像样点802中的每一个,使用具有滤波器长度L和一组滤波器系数的自适应环路滤波器604对相应图像样点802进行滤波(1104)。具体地,电子设备在相应图像样点802的滤波器长度L中识别(1106)一组相关图像样点804。对于该组相关图像样点804中的每一个,识别(1108)相应的截取值索引和对应的滤波器系数。基于相应的截取值索引,对该组相关图像样点804中的每一个与相应图像样点802的差进行截取(1110)。相应的截取值索引对应(1112)于等于2的相应截取数i次幂的相应截取边界值,并且相应截取数i是整数。电子设备基于相应的滤波器系数,利用该组相关图像样点804中的每一个的经截取的差来修改(1114)相应图像样点802。使用多个修改的图像样点802来重建(1116)视频帧。在一些实施例中,多个图像样点802形成视频帧的块。可选地,块是整个视频帧、条带、砖块、瓦片、瓦片组、编码树或任何其他编码单元。
在一些实施例中,对于每个图像样点802,确定(1118)相应图像样点802的IBDI。对于该组相关图像样点804中的每一个,电子设备根据预定义的截取边界值表900,基于IBDI和相应截取值索引来确定(1120)相应截取边界值。基于相应的截取边界值,对该组相关图像样点804中的每一个与相应图像样点802的差进行截取(1122)。进一步地,在一些实施例中,预定义的截取边界值表900是通过比特流获得的。替代性地,在一些实施例中,预定义的截取边界值表900是从本地存储器中提取的。本地存储器可以存储多个截取边界值表(例如,表900A-99C的子集或全部),预定义的截取边界值表900是从多个截取边界值表中选择的。预定义的截取边界值表900的示例在图9A至图9C中示出。
在一些实施例中,对于每个图像样点802,确定相应图像样点802的IBDI。对于该组相关图像样点804中的每一个,电子设备根据预定义的截取边界值公式,基于IBDI和相应截取值索引来确定相应截取边界值。基于相应的截取边界值,对该组相关图像样点804中的每一个与相应图像样点802的差进行截取。预定义的截取边界值公式表示为公式(2)-(4)之一。
在一些实施例中,其中,对于该组相关图像样点中的每一个,截取值索引是从多个连续数字(例如,0、1、2和3)中选择的。相应截取数i至少是截取值索引的函数,即,随截取值索引而变化。而且,相应截取数i与每个截取值索引的IBDI线性相关。例如,当截取值索引等于0时,相应截取数i等于IBDI,当截取值索引等于3时,相应截取数i等于IBDI减去7。
在一些实施例中,对于该组相关图像样点中的每一个,相应相关图像样点的经截取的差在[-2i,2i-1]的范围内。
在一些实施例中,对于该组相关图像样点中的每一个,相应相关图像样点的经截取的差在包括[-2i+1,2i]、[-2i,2i]和[-2i+1,2i-1]的多个范围中的一个范围内。
在一些实施例中,对该组相关图像样点中的每一个与相应图像样点的差进行截取仅包括逻辑与运算和/或逻辑或运算。
在一些实施例中,多个图像样点包括亮度样点502A的子集和色度样点504A的子集。亮度样点502A的子集对应于第一组截取值索引,该第一组截取值索引定义了在每个亮度样点502A的第一滤波器长度L1中的一组相关亮度样点502B中的每一个的相应截取值索引。色度样点504A的子集对应于第二组截取值索引,该第二组截取值索引定义了在每个色度样点504A的第二滤波器长度L2中的一组相关色度样点504B中的每一个的相应截取值索引。第二组截取值索引不同于第一组截取值索引。进一步地,在一些实施例中,第一组截取值索引和第二组截取值索引中的每一组对应于截取边界值表或公式,该截取边界值表或公式基于IBDI将相应一组截取值索引中的每个截取值索引与相应截取边界值相关联。另外,在一些实施例中,从预定义数量的截取边界值表或公式中选择与第一组或第二组截取值索引相对应的截取边界值表或公式。进一步地,在一些实施例中,其中,第一组截取值索引和第二组截取值索引对应于第一截取边界值表/公式和不同于第一截取边界值表/公式的第二值表/公式。
在一个或多个示例中,所描述的功能可以在硬件、软件、固件或其任何组合中实施。如果在软件中实施,则功能可以作为一个或多个指令或代码被存储在计算机可读介质上或通过计算机可读介质进行传输并且由基于硬件的处理单元执行。计算机可读介质可以包括对应于如数据存储介质等有形介质的计算机可读存储介质或包括有助于例如根据通信协议将计算机程序从一个地方转移到另一个地方的任何介质的通信介质。以这种方式,计算机可读介质通常可以对应于(1)非暂态的有形计算机可读存储介质或者(2)如信号或载波等通信介质。数据存储介质可以是可以被一个或多个计算机或者一个或多个处理器访问以取得用于实施本申请中描述的实施方式的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
在对本文中实施方式的描述中使用的术语仅出于描述特定实施方式的目的,并且不旨在限制权利要求的范围。如对实施方式的描述和所附权利要求中使用的,单数形式“一个(a)”、“一种(an)”和“所述(the)”旨在也包括复数形式,除非上下文另有明确指示。还将理解的是,本文所使用的术语“和/或”是指并涵盖相关联列举项目中的一个或多个项目的任何和所有可能组合。将进一步理解的是,当在本说明书中使用术语“包括(comprises)”和/或“包括(comprising)”时,其指定陈述的特征、元件和/或部件的存在,但不排除一个或多个其他特征、元件、部件和/或其组的存在或添加。
还应理解,尽管术语第一、第二等在本文中可以用来描述各种要素,但是这些要素不应该受这些术语的限制。这些术语仅仅是用来将一个要素与另一个要素进行区分。例如,在不偏离实施方式的范围的情况下,第一电极可以被称为第二电极,并且类似地,第二电极可以被称为第一电极。第一电极和第二电极都是电极,但是第一电极和第二电极不是同一电极。
已经出于说明和描述的目的呈现了对本申请的描述,并且描述不旨在是穷举的或以所公开的形式限于本发明。受益于前述描述和相关联附图中呈现的教导,许多修改、变体和替代性实施方式对于本领域普通技术人员将是显而易见的。选择并描述实施例以便最好地解释本发明的原理、实际应用,并且使本领域其他技术人员能够理解本发明的各种实施方式并且最好地利用基本原理以及具有适合于预期的特定用途的各种修改的各种实施方式。因此,应当理解,权利要求的范围不应受限于所公开的实施方式的具体示例,并且修改和其他实施方式旨在被包括在所附权利要求的范围内。

Claims (19)

1.一种用于对视频数据进行编码的方法,包括:
获得视频帧的多个图像样点,每个图像样点对应于亮度样点和色度样点之一;
对于所述多个图像样点中的每一个,使用具有滤波器长度L和一组滤波器系数的自适应环路滤波器对相应图像样点进行滤波,进一步包括:
识别所述相应图像样点的一组相关图像样点;
对于所述一组相关图像样点中的每一个,识别相应截取值索引和对应的滤波器系数;
基于所述相应截取值索引,对所述一组相关图像样点中的每一个与所述相应图像样点之间的差进行截取,其中,所述相应截取值索引对应于等于2的相应截取数次幂的相应截取边界值,并且所述相应截取数是整数;以及
基于所述相应的滤波器系数,利用所述一组相关图像样点中的每一个与所述相应图像样点之间的经截取的差来修改所述相应图像样点。
2.如权利要求1所述的方法,其中,对于每个图像样点,基于所述相应截取值索引对所述差进行截取包括:
确定所述相应图像样点的内部比特深度索引IBDI;
对于所述一组相关图像样点中的每一个,根据预定义的截取边界值表,基于所述IBDI和所述相应截取值索引确定所述相应截取边界值;以及
基于所述相应截取边界值,对所述一组相关图像样点中的每一个与所述相应图像样点之间的所述差进行截取。
3.如权利要求2所述的方法,进一步包括:
通过所述比特流获得所述预定义的截取边界值表。
4.如权利要求2所述的方法,进一步包括:
从本地存储器中提取所述预定义的截取边界值表。
5.如权利要求4所述的方法,其中,所述本地存储器存储多个截取边界值表,所述方法进一步包括:
从所述多个截取边界值表中选择所述预定义的截取边界值表。
6.如权利要求2所述的方法,其中,所述预定义的截取边界值表表示为以下三个表之一:
Figure FDA0003907088720000021
7.如权利要求1所述的方法,其中,对于每个图像样点,基于所述相应截取值索引对所述差进行截取包括:
确定所述相应图像样点的内部比特深度索引IBDI;
对于所述一组相关图像样点中的每一个,根据预定义的截取边界值公式,基于所述IBDI和所述相应截取值索引确定所述相应截取边界值;以及
基于所述相应截取边界值,对所述一组相关图像样点中的每一个与所述相应图像样点之间的所述差进行截取;
其中,所述预定义的截取边界值公式表示为以下公式之一:
Figure FDA0003907088720000031
Figure FDA0003907088720000032
以及
Figure FDA0003907088720000033
其中,CVI是所述相应截取值索引,CBV是所述一组相关图像样点中的每一个的所述相应截取边界值。
8.如权利要求1-7中任一项所述的方法,其中,对于所述一组相关图像样点中的每一个,截取值索引是从0、1、2和3中选择的,并且所述相应截取数i是至少所述截取值索引的函数。
9.如权利要求1-7中任一项所述的方法,其中,对于所述一组相关图像样点中的每一个,相应相关图像样点的经截取的差在[-2i,2i-1]的范围内。
10.如权利要求1-7中任一项所述的方法,其中,对于所述一组相关图像样点中的每一个,相应相关图像样点与所述相应图像样点之间的经截取的差在包括[-2i+1,2i]、[-2i,2i]和[-2i+1,2i-1]的多个范围中的一个范围内,其中i是所述相应截取数。
11.如权利要求1-7中任一项所述的方法,其中,对所述一组相关图像样点中的每一个与所述相应图像样点的所述差进行截取仅包括逻辑与运算和/或逻辑或运算。
12.如权利要求1-7中任一项所述的方法,其中:
所述多个图像样点包括亮度样点子集和色度样点子集;
所述亮度样点子集对应于第一组截取值索引,所述第一组截取值索引定义了在每个亮度样点的第一滤波器长度L1中的一组相关亮度样点中的每一个的相应截取值索引;并且
所述色度样点子集对应于第二组截取值索引,所述第二组截取值索引定义了在每个色度样点的第二滤波器长度L2中的一组相关色度样点中的每一个的相应截取值索引,所述第二组截取值索引不同于所述第一组截取值索引。
13.如权利要求12所述的方法,其中,所述第一组截取值索引和所述第二组截取值索引中的每一组对应于截取边界值表或公式,所述截取边界值表或公式基于内部比特深度增加(IBDI)将相应一组截取值索引中的每个截取值索引与所述相应截取边界值相关联。
14.如权利要求13所述的方法,进一步包括:
从预定义数量的截取边界值表或公式中选择所述截取边界值表或公式。
15.如权利要求12所述的方法,其中,所述第一组截取值索引和所述第二组截取值索引对应于第一截取边界值表/公式和不同于所述第一截取边界值表/公式的第二值表/公式。
16.一种电子设备,包括:
一个或多个处理器;以及
存储器,其上存储有指令,所述指令在由所述一个或多个处理器执行时使所述处理器执行权利要求1至15中任一项所述的方法。
17.一种非暂态计算机可读介质,其上存储有指令,所述指令在由一个或多个处理器执行时使所述处理器执行权利要求1至15中任一项所述的方法。
18.一种计算机程序产品,包括用于由具有一个或多个处理器的计算设备执行的指令,其中所述指令由所述一个或多个处理器执行时,使得所述计算设备执行如权利要求1至15中任一项所述的方法中的步骤。
19.一种非暂态计算机可读介质,所述非暂态计算机可读介质存储有视频比特流,其中,所述视频比特流是根据权利要求1至15中任一项所述的方法编码而生成的。
CN202211311004.2A 2019-12-28 2020-12-28 用于对视频数据进行编码的方法、设备和介质 Active CN115643402B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211311004.2A CN115643402B (zh) 2019-12-28 2020-12-28 用于对视频数据进行编码的方法、设备和介质

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962954485P 2019-12-28 2019-12-28
US62/954,485 2019-12-28
CN202080097101.9A CN115176481A (zh) 2019-12-28 2020-12-28 用于视频编解码的环路滤波器
CN202211311004.2A CN115643402B (zh) 2019-12-28 2020-12-28 用于对视频数据进行编码的方法、设备和介质
PCT/US2020/067159 WO2021134064A1 (en) 2019-12-28 2020-12-28 In-loop filters for video coding

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202080097101.9A Division CN115176481A (zh) 2019-12-28 2020-12-28 用于视频编解码的环路滤波器

Publications (2)

Publication Number Publication Date
CN115643402A true CN115643402A (zh) 2023-01-24
CN115643402B CN115643402B (zh) 2023-09-19

Family

ID=76575702

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202211311004.2A Active CN115643402B (zh) 2019-12-28 2020-12-28 用于对视频数据进行编码的方法、设备和介质
CN202080097101.9A Pending CN115176481A (zh) 2019-12-28 2020-12-28 用于视频编解码的环路滤波器

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202080097101.9A Pending CN115176481A (zh) 2019-12-28 2020-12-28 用于视频编解码的环路滤波器

Country Status (7)

Country Link
US (1) US12003729B2 (zh)
EP (1) EP4082213A4 (zh)
JP (2) JP7336037B2 (zh)
KR (2) KR20230145216A (zh)
CN (2) CN115643402B (zh)
MX (1) MX2022008040A (zh)
WO (1) WO2021134064A1 (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190261020A1 (en) * 2016-09-15 2019-08-22 Interdigital Vc Holdings, Inc. Method and apparatus for video coding with adaptive clipping

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9094658B2 (en) * 2010-05-10 2015-07-28 Mediatek Inc. Method and apparatus of adaptive loop filtering
US10708592B2 (en) * 2018-04-02 2020-07-07 Qualcomm Incorporated Deblocking filter for video coding and processing
CN113785569B (zh) * 2019-01-25 2023-09-08 寰发股份有限公司 视频编码的非线性适应性环路滤波方法和装置
EP3935860A1 (en) * 2019-03-08 2022-01-12 Canon Kabushiki Kaisha An adaptive loop filter
CN113785573A (zh) * 2019-05-04 2021-12-10 华为技术有限公司 编码器、解码器和使用自适应环路滤波器的对应方法
US11356662B2 (en) * 2019-05-21 2022-06-07 Qualcomm Incorporated Simplification of clipping value calculation for adaptive loop filters
CN117768644A (zh) * 2019-06-24 2024-03-26 华为技术有限公司 用于非线性自适应环路滤波器的限幅电平
BR112022005487A2 (pt) * 2019-09-23 2022-06-14 Vid Scale Inc Aparelho para processamento de vídeo, método, e, mídia legível por computador

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190261020A1 (en) * 2016-09-15 2019-08-22 Interdigital Vc Holdings, Inc. Method and apparatus for video coding with adaptive clipping

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JIANLE CHEN等: "Algorithm description for Versatile Video Coding and Test Model 5 (VTM 5)" *
YIXIN DU等: "Non-CE5: On non-linear ALF clipping values" *

Also Published As

Publication number Publication date
KR20230145216A (ko) 2023-10-17
KR102585317B1 (ko) 2023-10-04
KR20220114092A (ko) 2022-08-17
CN115643402B (zh) 2023-09-19
MX2022008040A (es) 2022-08-22
EP4082213A1 (en) 2022-11-02
JP7336037B2 (ja) 2023-08-30
US20220329817A1 (en) 2022-10-13
EP4082213A4 (en) 2023-06-14
CN115176481A (zh) 2022-10-11
JP2022552437A (ja) 2022-12-15
US12003729B2 (en) 2024-06-04
JP2023156469A (ja) 2023-10-24
WO2021134064A1 (en) 2021-07-01

Similar Documents

Publication Publication Date Title
TWI755376B (zh) 用於視訊寫碼之濾波器之幾何轉換
CN114710679B (zh) 视频编解码中的小色度块大小限制
CN114501000B (zh) 用于视频编码的方法和电子装置
US20220321895A1 (en) Cross component adaptive loop filter for video coding
WO2021247881A1 (en) Chroma coding enhancement in the prediction from multiple cross-components (pmc) mode
WO2021030667A1 (en) Methods and apparatus of video coding using palette mode
CN114567786A (zh) 以4:4:4色度格式进行视频编解码的方法和装置
US20220086464A1 (en) Methods and apparatus of segment-based video coding using palette mode
CN115086681B (zh) 4:4:4色度格式的视频编解码的方法和装置
CN116614625B (zh) 一种视频编码的方法、装置和介质
WO2021155005A1 (en) Methods and apparatus on transform and coefficient signaling
CN115643402B (zh) 用于对视频数据进行编码的方法、设备和介质
WO2021062017A1 (en) Methods and apparatus of performing rate-distortion analysis for palette mode
CN116830577A (zh) 跨分量自适应环路滤波器
CN114466185A (zh) 使用调色板模式进行视频编解码的方法和装置

Legal Events

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