CN110741645B - 块效应减少 - Google Patents
块效应减少 Download PDFInfo
- Publication number
- CN110741645B CN110741645B CN201880036914.XA CN201880036914A CN110741645B CN 110741645 B CN110741645 B CN 110741645B CN 201880036914 A CN201880036914 A CN 201880036914A CN 110741645 B CN110741645 B CN 110741645B
- Authority
- CN
- China
- Prior art keywords
- dimensional transform
- block
- current
- transform coefficients
- transform coefficient
- 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
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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- 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/117—Filters, e.g. for pre-processing or post-processing
-
- 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/124—Quantisation
-
- 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- 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/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- 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/167—Position within a video image, e.g. region of interest [ROI]
-
- 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/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/18—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 set of transform coefficients
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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
-
- 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
-
- 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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
视频解码可以包括变换系数连续性平滑,所述变换系数连续性平滑可以包括系数连续性平滑、限定的相关性系数平滑、像素范围投影和亮度相关色度重采样。系数连续性平滑可以包括:从编码比特流获得编码块数据,编码块数据与来自重构帧的当前块相对应;以及基于编码块数据使用变换系数连续性平滑生成当前块的重构块数据。变换系数连续性平滑可以包括:针对当前块的块边界,响应于确定与沿着块边界与当前块在空间上相邻的相邻块相对应的相邻块数据可用,基于当前块、相邻块和块边界执行变换系数连续性平滑,且将重构块数据包括在重构帧中,并输出重构帧。
Description
技术领域
本发明涉及对图像数据、视频流数据或二者进行编码和解码以便传送或存储。
背景技术
数字图像和视频可以例如在互联网上用于经由视频会议的远程商务会议、高清视频娱乐、视频广告或用户生成的内容的共享。由于在传递和处理图像和视频数据时涉及的大量数据,因此高性能压缩对于传送和存储可能是有利的。因此,提供在具有有限带宽的通信通道上传送的高分辨率图像和视频——诸如使用块效应减少的图像和视频编码——将是有利的。
发明内容
本申请涉及对图像数据、视频流数据或二者进行编码和解码以便传送或存储。本文中公开了用于使用块效应减少进行编码和解码的***、方法和设备的方面。
一个方面是一种用于视频解码的方法,该方法包括:由执行存储在非暂时性计算机可读介质上的指令的处理器通过对编码比特流进行解码通过从编码比特流获得编码块数据来生成重构帧,编码块数据与来自重构帧的当前块相对应;基于编码块数据使用变换系数连续性平滑来生成当前块的重构块数据;以及输出重构帧。变换系数连续性平滑包括:针对当前块的块边界,响应于确定与沿着块边界与当前块在空间上相邻的相邻块相对应的相邻块数据可用,基于当前块、相邻块和块边界执行变换系数连续性平滑,且将重构块数据包括在重构帧中。
另一方面是一种包括解码器的设备,该解码器包括:非暂时性计算机可读存储器,该非暂时性计算机可读存储器包括用于通过对编码比特流进行解码来生成重构帧的指令;以及处理器,该处理器被可操作地耦合至非暂时性计算机可读存储器,以用于从非暂时性计算机可读存储器接收指令且执行指令以:从编码比特流获得编码块数据,编码块数据与来自重构帧的当前块相对应;基于编码块数据使用变换系数连续性平滑来生成当前块的重构块数据;将重构块数据包括在重构帧中;以及输出重构帧。处理器被配置成通过以下执行变换系数连续性平滑:针对当前块的块边界,响应于确定与沿着块边界与当前块在空间上相邻的相邻块相对应的相邻块数据可用,基于当前块、相邻块和块边界执行变换系数连续性平滑。
另一方面是一种用于视频解码的方法,该方法包括:由执行存储在非暂时性计算机可读介质上的指令的处理器通过对编码比特流进行解码通过从编码比特流获得编码块数据来生成重构帧,编码块数据与来自重构帧的当前块相对应且包括当前块的二维变换系数;基于编码块数据使用变换系数连续性平滑来生成当前块的重构块数据;将重构块数据包括在重构帧中;以及输出重构帧。变换系数连续性平滑包括针对当前块的块边界,响应于确定与沿着块边界与当前块在空间上相邻的相邻块相对应的相邻块数据可用,基于当前块、相邻块和块边界执行变换系数连续性平滑。基于当前块和相邻块执行变换系数连续性平滑包括:基于块边界和当前块的二维变换系数来确定当前块的一维变换系数,且基于当前块的二维变换系数和当前块的一维变换系数与相邻块的一维变换系数之间的差,确定当前块的中间二维变换系数。
这些和其它方面的变型将在下文中更详细地描述。
附图说明
本文中的描述参考了附图,其中,贯穿几个视图,相似的附图标记指代相似的部件。
图1是根据本公开的实施方式的计算装置的图。
图2是根据本公开的实施方式的计算和通信***的图。
图3是根据本公开的实施方式的用于编码和解码的视频流的图。
图4是根据本公开的实施方式的编码器的框图。
图5是根据本公开的实施方式的解码器的框图。
图6是根据本公开的实施方式的对帧的一部分的表示的框图。
图7是根据本公开的实施方式的对二维变换系数和生成用于对帧的块进行解码的对应左一维变换系数的表示的框图。
图8是根据本公开的实施方式的对二维变换系数和生成用于对帧的块进行解码的对应右一维变换系数的表示的框图。
图9是根据本公开的实施方式的对二维变换系数和生成用于对帧的块进行解码的对应上一维变换系数的表示的框图。
图10是根据本公开的实施方式的对二维变换系数和生成用于对帧的块进行解码的对应下一维变换系数的表示的框图。
图11是根据本公开的实施方式的使用块效应减少的解码的示例的流程图。
图12是根据本公开的实施方式的变换系数连续性平滑的示例的流程图。
具体实施方式
图像和视频压缩方案可以包括将图像或帧分解成诸如块的较小的部分以及使用限制输出中每个块所包括的信息的技术来生成输出比特流。可以通过减少空间冗余、减少时间冗余或其组合来限制输出中每个块所包括的信息。例如,可以通过基于可用于编码器和解码器二者的信息来预测帧且包括表示预测的帧与原始帧之间的差或残差的信息,来减少时间或空间冗余。可以通过将残差信息变换为变换系数、量化该变换系数且对量化的变换系数进行熵编码来进一步压缩残差信息。
可以对编码比特流进行解码,以根据有限的信息来重新创建块和源图像。解码帧可以包括效应,诸如由量化引起的跨块边界的块效应。
使用块效应减少的视频编码可以使用变换系数连续性平滑、限定的相关性系数平滑、像素范围投影、亮度相关色度重采样或其组合来提高准确性和解码质量。变换系数连续性平滑可以包括:基于二维变换系数来生成一维变换系数;确定与块边界相对应的空间相邻的一维变换系数之间的差;以及基于差来调整二维变换系数。限定的相关性系数平滑可以包括基于低频系数与相应的对应下一个泛音系数(overtone coefficient)之间的限定的相关性来调整二维变换系数。像素范围投影可以包括:逆变换变换系数以生成像素数据;基于限定的值范围来调整像素数据;变换调整后的像素值以生成有限范围变换系数;基于压缩值范围且在平滑约束内调整有限范围变换系数以生成像素范围投影调整的变换系数,可以逆变换该像素范围投影调整的变换系数以生成重构像素值。亮度相关色度重采样可以包括对亮度通道数据进行下采样、识别邻近的下采样亮度值之间的相关性以及使用相关性来对对应的色度数据进行上采样。
图1是根据本公开的实施方式的计算装置100的图。所示出的计算装置100包括存储器110、处理器120、用户接口(UI)130、电子通信单元140、传感器150、电源160和总线170。如本文中所使用,术语“计算装置”包括能够执行本文中所公开的任何方法或其任何一个或多个部分的任何单元或单元的组合。
计算装置100可以是固定计算装置,诸如个人计算机(PC)、服务器、工作站、小型计算机或大型计算机;或移动计算装置,诸如移动电话、个人数字助理(PDA)、膝上型计算机或平板PC。尽管示出为单个单元,但是计算装置100的任何一个或多个元件可以集成到任何数量的单独的物理单元中。例如,用户接口130和处理器120可以集成在第一物理单元中,且存储器110可以集成在第二物理单元中。
存储器110可以包括任何非暂时性计算机可用或计算机可读介质,诸如可以例如包含、存储、传达或传输数据112、指令114、操作***116或与其相关联的任何信息的任何有形设备,以供计算装置100的其它组件使用或与其结合使用。非暂时性计算机可用或计算机可读介质可以是例如固态驱动器、存储卡、可移动介质、只读存储器(ROM)、随机存取存储器(RAM)、包括硬盘、软盘、光盘、磁卡或光卡的任何类型的磁盘、专用集成电路(ASIC)或适合于存储电子信息的任何类型的非暂时性介质或其组合。
尽管示出了单个单元,但是存储器110可以包括多个物理单元,诸如一个或多个主存储器单元,诸如随机存取存储器单元;一个或多个辅数据存储单元,诸如磁盘;或其组合。例如,数据112或其一部分、指令114或其一部分或二者可以存储在辅存储单元中,且可被加载或以其它方式传递到主存储单元连同处理相应数据112、执行相应指令114或二者。存储器110或其一部分可以是可移动存储器。
数据112可以包括信息,诸如输入音频数据、编码音频数据、解码音频数据等。指令114可以包括用于执行本文中公开的任何方法或其任何一个或多个部分的命令,诸如代码。指令114可以硬件、软件或其任何组合来实现。例如,如本文中所描述,指令114可以实施为存储在存储器110中的由处理器120执行以执行相应方法、算法、方面或其组合中的任何一个的信息,诸如计算机程序。
如本文中所描述,尽管示出为包括在存储器110中,但是指令114或其一部分可以实施为专用处理器或电路***,其可以包括用于实行方法、算法、方面或其组合中的任何一个的专用硬件。指令114的部分可以跨在同一机器或不同机器上的多个处理器分布,或跨诸如局域网、广域网、互联网或其组合的网络分布。
处理器120可以包括能够操纵或处理数字信号或现在存在或以后开发的其它电子信息的任何装置或***,包括光学处理器、量子处理器、分子处理器或其组合。例如,处理器120可以包括专用处理器、中央处理器(CPU)、数字信号处理器(DSP)、多个微处理器、与DSP核相关联的一个或多个微处理器、控制器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑阵列、可编程逻辑控制器、微码、固件、任何类型的集成电路(IC)、状态机或其任何组合。如本文中所使用,术语“处理器”包括单个处理器或多个处理器。
用户接口130可以包括能够与用户进行接合(interface)的任何单元,诸如虚拟或物理键盘、触摸板、显示器、触摸显示器、扬声器、麦克风、视频相机、传感器或其任何组合。例如,用户接口130可以是音频-视觉显示装置,并且计算装置100可以使用用户接口130音频-视觉显示装置呈现音频,诸如连同显示视频,该音频诸如解码的音频,该视频诸如解码的视频。尽管示出为单个单元,但是用户接口130可以包括一个或多个物理单元。例如,用户接口130可以包括用于执行与用户的音频通信的音频接口和用于执行与用户的视觉和基于触摸的通信的触摸显示器。
电子通信单元140可以经由诸如射频(RF)通信介质、紫外(UV)通信介质、可见光通信介质、光纤通信介质、有线通信介质或其组合的有线或无线电子通信介质180来传送、接收或传送并接收信号。例如,如所示出,电子通信单元140可操作地连接到诸如天线的被配置为经由无线信号进行通信的电子通信接口142。
尽管在图1中将电子通信接口142示出为无线天线,但电子通信接口142可以是如所示出的无线天线、诸如以太网端口、红外端口、串行端口的有线通信端口或能够与有线或无线电子通信介质180接合的任何其它有线或无线单元。尽管图1示出了单个电子通信单元140和单个电子通信接口142,但可以使用任何数量的电子通信单元和任何数量的电子通信接口。
传感器150可以包括例如音频感测装置、可见光感测装置、运动感测装置或其组合。例如,传感器150可以包括诸如麦克风的声音感测装置或现在存在或以后开发的可以感测计算装置100附近的诸如由操作计算装置100的用户发出的语音或其它言语的声音的任何其它声音感测装置。在另一示例中,传感器150可以包括相机或现在存在或以后开发的可以感测图像的任何其它图像感测装置,该图像诸如操作计算装置的用户的图像。尽管示出了单个传感器150,但是计算装置100可以包括多个传感器150。例如,计算装置100可以包括以朝向计算装置100的用户的视场定向的第一相机和以远离计算装置100的用户的视场定向的第二相机。
电源160可以是用于为计算装置100供电的任何合适的装置。例如,电源160可包括有线外部电源接口;一个或多个干电池,诸如镍镉(NiCd)、镍锌(NiZn)、镍金属氢化物(NiMH)、锂离子(Li-ion);太阳能电池;燃料电池;或能够为计算装置100供电的任何其它装置。尽管在图1中示出了单个电源160,但是计算装置100可以包括多个电源160,诸如电池和有线外部电源接口。
尽管示出为单独单元,但是电子通信单元140、电子通信接口142,用户接口130、电源160或其一部分可以配置为组合单元。例如,电子通信单元140、电子通信接口142、用户接口130和电源160可以实施为能够与外部显示装置进行接合、提供通信、电力或二者的通信端口。
以下中的一个或多个可以经由总线170可操作地耦合:存储器110、处理器120、用户接口130、电子通信单元140、传感器150或电源160。尽管在图1中示出了单个总线170,但是计算装置100可以包括多个总线。例如,存储器110、处理器120、用户接口130、电子通信单元140、传感器150和总线170可以经由总线170从电源160接收电力。在另一示例中,存储器110、处理器120、用户接口130、电子通信单元140、传感器150、电源160或其组合可以诸如经由总线170通过发送和接收电子信号来传达数据。
尽管在图1中未单独示出,但以下中的一个或多个可以包括诸如内部缓冲器或寄存器的内部存储器:处理器120、用户接口130、电子通信单元140、传感器150或电源160。例如,处理器120可以包括内部存储器(未示出)并且可以将数据112从存储器110中读取到内部存储器(未示出)中以进行处理。
尽管示出为单独元件,但是存储器110、处理器120、用户接口130、电子通信单元140、传感器150、电源160和总线170或其任何组合可以集成在一个或多个电子单元、电路或芯片中。
图2是根据本公开的实施方式的计算和通信***200的图。所示出的计算和通信***200包括计算和通信装置100A、100B、100C、接入点210A、210B和网络220。例如,计算和通信***200可以是提供与一个或多个诸如计算和通信装置100A、100B、100C的有线或无线通信装置的诸如语音、音频、数据、视频、消息收发、广播或其组合的通信的多路访问***。尽管为简单起见图2示出了三个计算和通信装置100A、100B、100C、两个接入点210A、210B以及一个网络220,但是可以使用任何数量的计算和通信装置、接入点以及网络。
计算和通信装置100A、100B、100C可以是例如计算装置,诸如图1中所示出的计算装置100。例如,计算和通信装置100A、100B可以是用户装置,诸如移动计算装置、膝上型计算机、瘦客户端或智能电话,并且计算和通信装置100C可以是服务器,诸如大型机或集群。尽管将计算和通信装置100A和计算和通信装置100B描述为用户装置,并且将计算和通信装置100C描述为服务器,但是任何计算和通信装置可以执行服务器的功能中的一些或全部、用户装置的功能中的一些或全部或服务器和用户装置的功能中的一些或全部。例如,服务器计算和通信装置100C可以对音频数据进行接收、编码、处理、存储、传送或其组合,并且计算和通信装置100A和计算和通信装置100B中的一个或两个可以对音频数据进行接收、解码、处理、存储、呈现或其组合。
每个计算和通信装置100A、100B、100C可以被配置为诸如经由网络220执行有线或无线通信,该每个计算和通信装置100A、100B、100C可以包括用户设备(UE)、移动台、固定或移动订户单元、蜂窝电话、个人计算机、平板计算机、服务器、消费者电子产品或任何类似装置。例如,计算和通信装置100A、100B、100C可以被配置为传送或接收有线或无线通信信号。尽管每个计算和通信装置100A、100B、100C都被示出为单个单元,但是计算和通信装置可以包括任何数量的互连元件。
每个接入点210A、210B可以是被配置为经由有线或无线通信链路180A、180B、180C与计算和通信装置100A、100B、100C、网络220或二者通信的任何类型的装置。例如,接入点210A、210B可以包括基站、基站收发器站(BTS)、节点B、增强型节点B(eNode-B)、家庭节点B(HNode-B)、无线路由器、有线路由器、集线器、中继器、交换机或任何类似的有线或无线装置。尽管每个接入点210A、210B都被示出为单个单元,但是接入点可以包括任何数量的互连元件。
网络220可以是被配置为通过有线或无线通信链路提供诸如语音、数据、应用、语音互联网协议(VoIP)或任何其它通信协议或通信协议的组合的服务的任何类型的网络。例如,网络220可以是局域网(LAN)、广域网(WAN)、虚拟专用网(VPN)、移动或蜂窝电话网络、互联网或任何其它电子通信方式。网络可以使用通信协议,诸如传送控制协议(TCP)、用户数据报协议(UDP)、互联网协议(IP)、实时传输协议(RTP)、超文本传输协议(HTTP)或其组合。
计算和通信装置备100A、100B、100C可以经由网络220使用一个或多个有线或无线通信链路或经由有线和无线通信链路的组合彼此通信。例如,如所示出,计算和通信装置100A、100B可以经由无线通信链路180A、180B进行通信,并且计算和通信装置100C可以经由有线通信链路180C进行通信。计算和通信装置100A、100B、100C中的任何一个都可以使用任何一个或多个有线或无线通信链路进行通信。例如,第一计算和通信装置100A可以使用第一类型的通信链路经由第一接入点210A进行通信,第二计算和通信装置100B可以使用第二类型的通信链路经由第二接入点210B进行通信并且第三计算和通信装置100C可以使用第三类型的通信链路经由第三接入点(未示出)进行通信。类似地,接入点210A、210B可以经由一个或多个类型的有线或无线通信链路230A、230B与网络220通信。尽管图2示出了经由网络220进行通信的计算和通信装置100A、100B、100C,但计算和通信装置100A、100B、100C可以经由任何数量的诸如直接有线或无线通信链路的通信链路彼此通信。
计算和通信装置100A、100B、100C中的一个或多个之间的通信可以省略经由网络220的通信并且可以包括经由诸如数据存储装置的另一种介质(未示出)传递数据。例如,服务器计算和通信装置100C可以将诸如编码的音频数据的音频数据存储在诸如便携式数据存储单元的数据存储装置中,并且计算和通信装置100A或计算和通信装置100B中的一个或两个可以诸如通过物理地将数据存储装置与服务器计算和通信装置100C断开连接并物理地将数据存储装置连接到计算和通信装置100A或计算和通信装置100B来从数据存储单元访问、读取或检索存储的音频数据。
计算和通信***200的其它实施方式是可能的。例如,在实施方式中,网络220可以是自组织(ad-hoc)网络,并且可以省略接入点210A、210B中的一个或多个。计算和通信***200可以包括图2中未示出的装置、单元或元件。例如,计算和通信***200可以包括更多的通信装置、网络和接入点。
图3是根据本公开的实施方式的用于编码和解码的视频流300的图。诸如由摄像机捕获的视频流或由计算装置生成的视频流的视频流300可以包括视频序列310。视频序列310可以包括一系列相邻帧320。尽管示出了三个相邻帧320,但是视频序列310可以包括任何数量的相邻帧320。
来自相邻帧320的每个帧330可以表示来自视频流的单个图像。尽管未在图3中示出,但帧330可以包括一个或多个分段、瓦片或平面,该分段、瓦片或平面可以独立地——诸如并行地——被编码或以其它方式被处理。帧330可以包括块340。尽管未在图3中示出,但块可以包括像素。例如,块可以包括16×16像素组、8×8像素组、8×16像素组或任何其它像素组。除非本文中另外指示,否则术语“块”可包括超块、宏块、分段、切片(slice)或帧的任何其它部分。帧、块、像素或其组合可包括显示信息,诸如亮度信息、色度信息或可用于存储、修改、传达或显示视频流或者其部分的任何其它信息。
图4是根据本公开的实施方式的编码器400的框图。编码器400可以在诸如图1中所示出的计算装置100或图2中所示出的计算和通信装置100A、100B、100C的装置中被实施为例如存储在诸如图1中所示出的存储器110的数据存储单元中的计算机软件程序。计算机软件程序可以包括可由诸如图1中所示出的处理器120的处理器执行的机器指令,并且可以使装置如本文中所描述的对视频数据进行编码。编码器400可以被实施为例如被包括在计算装置100中的专用硬件。
编码器400可以对诸如图3中所示出的视频流300的输入视频流402进行编码,以生成编码(压缩)比特流404。编码器400包括用于生成压缩比特流404的正向路径。正向路径可以包括帧内/帧间预测单元410、变换单元420、量化单元430、熵编码单元440或其任何组合。编码器400可以包括重构路径(由虚连接线指示)以重构帧以用于对未来的块进行编码。重构路径可以包括去量化单元450、逆变换单元460、重构单元470、滤波单元480或其任何组合。编码器400的其它结构变型可以用于对视频流402进行编码。
为了编码视频流402,可以块为单位处理视频流402内的每个帧。由此,可以从帧中的块识别出当前块并且可以对当前块进行编码。
在帧内/帧间预测单元410处,可以使用可在单个帧内的帧内预测或可以从帧到帧的帧间预测来对当前块进行编码。帧内预测可包括从当前帧中先前已经被编码和重构的样本中生成预测块。帧间预测可包括从一个或多个先前构造的参考帧中的样本中生成预测块。生成当前帧中的当前块的预测块可以包括执行运动估计以生成指示参考帧的适当参考部分的运动矢量。
帧内/帧间预测单元410可以从当前块(原始块)中减去预测块以产生残差块。变换单元420可执行基于块的变换,其可包括在例如频域中将残差块变换为变换系数。基于块的变换的示例包括Karhunen-Loève变换(KLT)、离散余弦变换(DCT)、奇异值分解变换(SVD)和非对称离散正弦变换(ADST)。在示例中,DCT可以包括将块变换到频域中。DCT可以包括使用基于空间频率的变换系数值,其中最低频率(DC)系数处于矩阵的左上并且最高频率系数处于矩阵的右下。
量化单元430可以将变换系数转换成离散的量值,其可以称为量化的变换系数或量化等级。量化的变换系数可以由熵编码单元440进行熵编码以产生熵编码的系数。熵编码可包括使用概率分布度量。可以将用于解码块的熵编码的系数和信息输出到压缩比特流404,该熵编码的系数和信息可以包括所使用的预测的类型、运动矢量和量化器值。可以使用诸如游程长度编码(RLE)和零游程编码的各种技术来格式化压缩比特流404。
重构路径可以用于维持编码器400与诸如图5中所示出的解码器500的对应解码器之间的参考帧同步。重构路径可以类似于下文论述的解码过程并且可以包括对编码帧或其部分进行解码,该重构路径可以包括对编码块进行解码,该重构路径可以包括在去量化单元450处对量化的变换系数进行去量化并且在逆变换单元460处对去量化的变换系数进行逆变换以产生导数残差块。重构单元470可以将由帧内/帧间预测单元410生成的预测块添加到导数残差块以创建解码块。滤波单元480可以被应用于解码块以生成重构块,该滤波单元480可以减少失真,诸如块效应。尽管在图4中示出了一个滤波单元480,但对解码块进行滤波可以包括环路滤波、去块滤波或其它类型的滤波或滤波类型的组合。如由482处的虚线所指示,重构块可以作为是参考帧的部分的重构块被存储或以其它方式使其可访问,以用于对当前帧、另一帧的另一部分或二者进行编码。如由484处的虚线所指示,诸如去块阈值索引值的帧的编码信息可以被编码、被包括在压缩比特流404中或二者。
编码器400的其它变型可以用于对压缩比特流404进行编码。例如,基于非变换的编码器400可以直接量化残差块,而无需变换单元420。在一些实施方式中,量化单元430和去量化单元450可以被组合为单个单元。
图5是根据本公开的实施方式的解码器500的框图。解码器500可以在诸如图1中所示出的计算装置100或图2中所示出的计算和通信装置100A、100B、100C的装置中被实施为例如存储在诸如图1中所示出的存储器110的数据存储单元中的计算机软件程序。计算机软件程序可以包括可以由诸如图1中所示出的处理器120的处理器执行的机器指令并且可以使装置如本文中所描述的对视频数据进行解码。解码器500可以被实施为例如被包括在计算装置100中的专用硬件。
解码器500可以接收诸如图4中所示出的压缩比特流404的压缩比特流502并且可以对压缩比特流502进行解码以生成输出视频流504。解码器500可以包括熵解码单元510、去量化单元520、逆变换单元530、帧内/帧间预测单元540、重构单元550、滤波单元560或其任何组合。解码器500的其它结构变型可以用于对压缩比特流502进行解码。
熵解码单元510可以使用例如上下文自适应二进制算术解码来对压缩比特流502内的数据元素进行解码,以产生量化的变换系数集。去量化单元520可以对量化的变换系数进行去量化,并且逆变换单元530可以对去量化的变换系数进行逆变换以产生导数残差块,该导数残差块可以与由图4中所示出的逆变换单元460生成的导数残差块相对应。帧内/帧间预测单元540可以使用从压缩比特流502解码的头信息来生成与在编码器400中创建的预测块相对应的预测块。在重构单元550处,可以将预测块加到导数残差块以创建解码块。滤波单元560可以被应用于解码块以减少效应(诸如块效应),该滤波单元560可以包括环路滤波、去块滤波或其它类型的滤波或滤波类型的组合,并且该滤波单元560可以包括生成可以作为输出视频流504被输出的重构块。
解码器500的其它变型可以用于对压缩比特流502进行解码。例如,解码器500可以产生输出视频流504,而无需去块滤波单元570。
图6是根据本公开的实施方式的对诸如图3中所示出的帧330的帧的一部分600的表示的框图。如所示出,帧的部分600包括在矩阵或笛卡尔平面中的两行和两列中的四个64×64块610。在一些实施方式中,64×64块可以是最大编码单元,N=64。每个64×64块可以包括四个32×32块620。每个32×32块可以包括四个16×16块630。每个16×16块可以包括四个8×8块640。每个8×8块640可以包括四个4×4块650。每个4×4块650可以包括可以在笛卡尔平面或矩阵中的每个相应块中以四行和四列被表示的16个像素。像素可以包括表示在帧中捕获的图像的信息,诸如亮度信息、颜色信息和位置信息。诸如所示出的16x16像素块的块可以包括亮度块660,该亮度块660可以包括亮度像素662;和两个色度块670、680,诸如U或Cb色度块670以及V或Cr色度块680。色度块670、680可以包括色度像素690。例如,如所示出,亮度块660可以包括16×16亮度像素662,并且每个色度块670、680可以包括8×8色度像素690。尽管示出了块的一个布置,但是可以使用任何布置。尽管图6示出了N×N块,可以使用N×M块。例如,可以使用32×64块、64×32块、16×32块、32×16块或任何其它大小的块。在一些实施方式中,可以使用N×2N块、2N×N块或其组合。
视频编码可包括有序块级编码。有序块级编码可包括以一种诸如光栅扫描顺序的顺序对帧的块进行编码,其中,可从帧或帧的部分的左上角中的块开始识别和处理块,且沿着行从左到右并且从上部行向下部行行进,识别每个块继而以进行处理。例如,在帧的上部行和左列中的64×64块可以是第一个编码块,且紧接在第一块右侧的64×64块可以是第二个编码块。从上部起的第二行可以是第二个编码行,使得可以在第一行的最右列中的64×64块之后对第二行的左列中的64×64块进行编码。
在一些实施方式中,对块进行编码包括使用四叉树编码,该四叉树编码可以包括以光栅扫描顺序对块内的较小块单元进行编码。例如,可以使用四叉树编码来对图6中所示出的帧的部分的左下角中所示出的64×64块进行编码,其中,可以对左上32×32块进行编码,然后可以对右上32×32块进行编码,然后可以对左下32×32块进行编码,且然后可以对右下32×32块进行编码。可以使用四叉树编码来对每个32×32块进行编码,其中,可以对左上16×16块进行编码,然后可以对右上16×16块进行编码,然后可以对左下16×16块进行编码,且然后可以对右下16×16块进行编码。可以使用四叉树编码来对每个16×16块进行编码,其中,可以对左上8×8块进行编码,然后可以对右上8×8块进行编码,然后可以对左下8×8块进行编码,且然后可以对右下8×8块进行编码。可以使用四叉树编码来对每个8×8块进行编码,其中,可以对左上4×4块进行编码,然后可以对右上4×4块进行编码,然后可以对左下4×4块进行编码,且然后可以对右下4×4块进行编码。可能针对16×16块省略8×8块,并且可以使用四叉树编码对16×16块进行编码,其中,可以对左上4×4块进行编码,然后可以光栅扫描顺序对16×16块中的其它4×4块进行编码。
视频编码可包括例如通过从对应编码帧中省略原始帧中的一些信息来压缩原始或输入帧中包括的信息。例如,编码可以包括减少频谱冗余、减少空间冗余、减少时间冗余或其组合。
减少光谱冗余可以包括使用基于亮度分量(Y)和两个色度分量(U和V或Cb和Cr)的颜色模型,该颜色模型可以被称为YUV或YCbCr颜色模型或颜色空间。使用YUV颜色模型可以包括使用相对大量的信息来表示帧的部分的亮度分量,以及使用相对少量的信息来表示帧的该部分的每个对应色度分量。例如,帧的部分可以由高分辨率亮度分量并且由两个较低分辨率的色度分量表示,该高分辨率亮度分量可以包括16×16像素块,该两个较低分辨率的色度分量中的每个将帧的部分表示为8×8像素块。像素可以指示值,例如,从0到255的范围内的值,并且可以使用例如八个比特来被存储或传送。尽管参考YUV颜色模型描述了本公开,但是可以使用任何颜色模型。
减少空间冗余可以包括使用例如离散余弦变换(DCT)将块变换到频域中。例如,诸如图4中所示出的变换单元420的编码器的单元可以使用基于空间频率的变换系数值来执行DCT。
减少时间冗余可以包括使用帧之间的相似性来基于一个或多个参考帧使用相对少量的数据来对帧进行编码,该参考帧可为视频流的先前编码、解码和重构的帧。例如,当前帧的块或像素可以类似于参考帧的空间上对应的块或像素。当前帧的块或像素可以类似于在不同空间位置处的参考帧的块或像素,并且减少时间冗余可以包括生成指示当前帧中的块或像素的位置与参考帧中的块或像素的对应位置之间的空间差或平移的运动信息。
减少时间冗余可以包括识别参考帧的与当前帧的当前块或像素对应的一部分。例如,可以搜索可以存储在存储器中的参考帧或参考帧的一部分以识别用于生成预测器的一部分以用于最大效率对当前帧的当前块或像素进行编码。例如,搜索可以识别参考帧的一部分,对于该参考帧的该部分,当前块与基于参考帧的该部分生成的预测块之间的像素值的差被最小化,并且可以称为运动搜索。可以限制搜索的参考帧的该部分。例如,可以称为搜索区域的搜索的参考帧的该部分可以包括参考帧的有限数量的行。在示例中,识别参考帧的用于生成预测器的部分可以包括计算代价函数,诸如搜索区域的部分的像素与当前块的像素之间的绝对差的和(SAD)。
在参考帧中用于生成预测器的参考帧的部分的位置与当前帧中的当前块之间的空间差可以表示为运动矢量。预测器块与当前块之间的像素值的差可以称为差分数据、残差数据、预测误差或称为残差块。生成运动矢量可以称为运动估计,并且当前块的像素可以使用笛卡尔坐标基于位置被指示为fx,y。类似地,参考帧的搜索区域的像素可以使用笛卡尔坐标基于位置被指示为rx,y。可基于例如当前帧的像素与参考帧的对应像素之间的SAD来确定当前块的运动矢量(MV)。
尽管为了清楚起见,在本文中参考帧的矩阵或笛卡尔表示进行描述,但是帧可以以任何数据结构被存储、传送、处理或其任何组合,使得可以针对帧或图像有效地表示像素值。例如,帧可以以诸如如所示出的矩阵的二维数据结构或诸如矢量阵列的一维数据结构被存储、传送、处理或其任何组合。在一个实施方式中,诸如如所示出的二维表示的帧的表示可以与在将帧渲染为图像时的物理位置相对应。例如,在帧的左上角中的块的左上角中的位置可以与将帧渲染为图像时的左上角中的物理位置相对应。
通过将输入块分区为一个或多个预测分区可以提高基于块的编码效率,该预测分区可以是用于预测编码的包括正方形的矩形分区。使用预测分区的视频编码可包括从多个候选预测分区方案中选择预测分区方案。例如,用于64×64编码单元的候选预测分区方案可以包括矩形大小预测分区,该矩形大小预测分区大小范围从4×4到64×64,诸如4×4、4×8、8×4、8×8、8×16、16×8、16×16、16×32、32×16、32×32、32×64、64×32或64×64。使用预测分区的视频编码可以包括完整的预测分区搜索,其可以包括通过使用每个可用的候选预测分区方案对编码单元进行编码并选择诸如产生最小率失真误差的方案的最佳方案来选择预测分区方案。
对视频帧进行编码可以包括识别用于对诸如块610的当前块进行编码的预测分区方案。识别预测分区方案可以包括确定是将块作为如所示出可以是64×64的具有最大编码单元大小的单个预测分区编码还是将块分区为诸如如所示出的32×32块620、16×16块630或8×8块640的对应于子块的多个预测分区并且可以包括确定是否分区为一个或多个更小的预测分区。例如,可以将64×64块分区为四个32×32预测分区。四个32×32预测分区中的三个可以作为32×32预测分区被编码,并且第四个32×32预测分区可以进一步分区为四个16×16预测分区。四个16×16预测分区中的三个可以作为16×16预测分区被编码,并且第四个16×16预测分区可以进一步分区为四个8×8预测分区,该四个8×8预测分区中的每个都可以作为8×8预测分区被编码。识别预测分区方案可以包括使用预测分区决策树。
当前块的视频编码可包括从多个候选预测编码模式中识别最优预测编码模式,这可在处置具有各种统计特性的视频信号时提供灵活性,并且可提高压缩效率。例如,视频编码器可评估每个候选预测编码模式以识别最优预测编码模式,该最优预测编码模式例如可为使当前块的诸如率失真成本的误差度量最小化的预测编码模式。可通过基于当前块与对应的预测块之间的相似形性来限制可用的候选预测编码模式集,来降低搜索候选预测编码模式的复杂度。可以通过执行指向细化模式搜索来降低搜索每个候选预测编码模式的复杂度。例如,可以为诸如16×16、8×8和4×4的有限的候选块大小集生成度量,与每个块大小相关联的误差度量可以按降序排列,并且可以评估附加的候选块大小,诸如4×8和8×4块大小。
通过将当前残差块分区为一个或多个变换分区可以提高基于块的编码效率,该变换分区可以是用于变换编码的包括正方形的矩形分区。使用变换分区的视频编码可包括选择统一的变换分区方案。例如,诸如块610的当前残差块可以是64×64块,并且可以使用64×64变换在不进行分区的情况下进行变换。
尽管在图6中未明确示出,但可以使用统一的变换分区方案对残差块进行变换分区。例如,可以使用包括四个32×32变换块的统一的变换分区方案、使用包括十六个16×16变换块的统一的变换分区方案、使用包括六十四个8×8变换块的统一的变换分区方案或使用包括256个4×4变换块的统一的变换分区方案对64×64残差块进行变换分区。
使用变换分区的视频编码可包括使用多形式变换分区编码来识别残差块的多个变换块大小。多形式变换分区编码可以包括:递归地确定是使用当前块大小变换来对当前块进行变换还是通过对当前块进行分区并且对每个分区进行多形式变换分区编码。例如,图6中所示出的左下块610可以是64×64残差块,并且多形式变换分区编码可以包括确定是使用64×64变换来对当前64×64残差块进行编码还是通过将64×64残差块分区为诸如四个32×32块620的分区并且对每个分区进行多形式变换分区编码。确定是否对当前块进行变换分区可以基于将使用当前块大小变换对当前块进行编码的成本与使用分区大小变换对每个分区进行编码的成本的和进行比较。
图7是根据本公开的实施方式的对二维变换系数700和生成用于对诸如图3中所示出的帧330的帧的块进行解码的对应左一维变换系数710的表示的框图。
如所示出,帧的块的二维变换系数700被表示为8×8块,包括在矩阵或笛卡尔平面中的八行和八列中的64个二维变换系数。使用笛卡尔坐标基于位置来自二维变换系数700的每个相应二维变换系数被指示为a(i,j)。尽管在图7中示出了8×8块,但是可以使用任何大小的块,诸如N×M块。
左一维变换系数710包括与二维变换系数700的每个相应行相对应的左一维变换系数。可以将左一维变换系数确定为得自来自二维变换系数700的对应行的相应二维变换系数的和。
确定二维变换系数700的左一维变换系数710(L)可以表达如下:
例如,可以将与上部行(i=0)相对应的左一维变换系数712(L0)确定为对得自来自二维变换系数700的对应行的相应二维变换系数[a(0,0),a(0,1),a(0,2),a(0,3),a(0,4),a(0,5),a(0,6),a(0,7)]的和。
图8是根据本公开的实施方式的对如图7中所示出的二维变换系数700和生成用于对诸如图3中所示出的帧330的帧的块进行解码的对应右一维变换系数720的表示的框图。
右一维变换系数720包括与二维变换系数700的每个相应行相对应的右一维变换系数。可以将右一维变换系数确定为得自来自二维变换系数700的对应行的相应二维变换系数的和,其中使用交替符号求和来确定该和。交替符号求和可以包括在加上诸如来自偶数列或偶数行的二维变换系数的相应值与减去诸如来自奇数列或奇数行的二维变换系数的相应值之间交替。
确定二维变换系数700的右一维变换系数720(R)可以表达如下:
例如,可以将与上部行(i=0)相对应的右一维变换系数722(R0)确定为对得自来自二维变换系数700的相应行的二维变换系数[a(0,0),a(0,1),a(0,2),a(0,3),a(0,4),a(0,5),a(0,6),a(0,7)]的交替符号求和,该交替符号求和可以表达为R0=a(0,0)-a(0,1)+a(0,2)-a(0,3)+a(0,4)-a(0,5)+a(0,6)-a(0,7)。
图9是根据本公开的实施方式的对如图7中所示出的二维变换系数700和生成用于对诸如图3中所示出的帧330的帧的块进行解码的对应上一维变换系数730的表示的框图。
上一维变换系数730包括与二维变换系数700的每个相应列相对应的上一维变换系数。可以将上一维变换系数确定为得自来自二维变换系数700的对应列的相应二维变换系数的和。
确定二维变换系数700的上一维变换系数730(T)可以表达如下:
例如,可以将与左列(j=0)相对应的左一维变换系数732(T0)确定为对得自来自二维变换系数700的对应列的相应二维变换系数[a(0,0),a(1,0),a(2,0),a(3,0),a(4,0),a(5,0),a(6,0),a(7,0)]的和。
图10是根据本公开的实施方式的对如图7中所示出的二维变换系数700和生成用于对诸如图3中所示出的帧330的帧的块进行解码的对应底部一维变换系数740的表示的框图。
下一维变换系数740包括与二维变换系数700的每个相应列相对应的下一维变换系数。可以将下一维变换系数确定为得自来自二维变换系数700的对应列的相应二维变换系数的和,其中使用交替符号求和来确定该和。
确定二维变换系数700的下一维变换系数740(B)可以表达如下:
例如,可以将与左列(j=0)相对应的下一维变换系数742(B0)确定为得自来自二维变换系数700的相应列的二维变换系数[a(0,0),a(1,0),a(2,0),a(3,0),a(4,0),a(5,0),a(6,0),a(7,0)]的交替符号求和,该交替符号求和可以表达为R0=a(0,0)-a(1,0)+a(2,0)-a(3,0)+a(4,0)-a(5,0)+a(6,0)-a(7,0)。
图11是根据本公开的实施方式的使用块效应减少的解码1100的示例的流程图。使用块效应减少的解码1100可以在诸如图5中所示出的解码器500的解码器中实施。例如,图5中所示出的解码器500的逆变换单元530可以实施使用块效应减少的解码1100。使用块效应减少的解码1100可以在诸如图4中所示出的编码器400的编码器的解码路径中实施。
如图11中所示出,使用块效应减少的解码1100包括:在1110处识别编码帧,在1120处生成重构帧数据以及在1130处输出重构帧数据。
可以在1110处识别编码帧。识别编码帧可以包括对来自编码比特流的编码帧数据进行解码或部分解码。例如,解码器可以接收包括编码数据的诸如图4中所示出的压缩比特流404的压缩比特流并且可以对压缩比特流进行解码或部分解码,以诸如通过对帧数据进行熵解码并对帧数据进行去量化来识别编码帧数据。
可以在1120处生成重构帧数据。生成重构帧包括生成重构帧,这包括在1140处获得编码块数据以及在1150处生成重构块数据。
可以在1140处获得编码块数据。获得编码块数据可以包括从编码比特流中——诸如从在1110处识别的帧数据中——识别编码块数据。例如,编码块数据可以包括来自重构帧的当前块的二维变换系数,诸如在图7-10中在700处所示出。
可以在1150处生成重构块数据。生成重构块数据包括在1152处的变换系数连续性平滑、在1154处的限定的相关性系数平滑、在1156处的像素范围投影和在1158处的亮度相关色度重采样。
可以在1152处执行变换系数连续性平滑。例如,可以基于当前块、相邻块和块边界执行变换系数连续性平滑。变换系数连续性平滑的示例在图12中示出。
可以在1154处执行限定的相关性系数平滑。应用限定的相关性系数平滑可以包括基于限定的系数之间的限定的相关性——诸如使用可以除去或减少诸如解码的内插像素数据的波浪形失真的效应的线性的或伪线性的斜率或使用阶跃函数——来调整一个或多个二维变换系数,诸如解码的二维变换系数或重构的二维变换系数。可以使用积分变换系数相关性,使得由余弦描述的展开指示可以在量化范围内表达的线性展开。在限定的最大量化下,线性斜率——诸如与天空的图像相对应——可能不会分解(collapse)成分段余弦波重构,并且诸如在上部2x2角包含非零的DCT系数时可能被表示为分段线性面片。
例如,诸如最低频率[(0,1),(1,0)]的低频系数可以基于与相应的相对应下一泛音系数[(0,3),(3,0)]的限定的相关性(线性斜率)来调整。可以类似地调整其它系数,诸如第五、第七和第九系数。可基于在编码图像中描述的量化范围来限制使用线性相关性系数平滑调整的变换系数的值。可以从量化值和量化矩阵得出量化范围。
对于在其中物体遮挡背景接触的物体边界,可以使用基于阶跃函数的相关性。对于梯度或其它空间上缓慢变化的照明条件,可以使用线性级数。
例如,系数的量化阈值可以指示相应系数的值的范围,诸如从50到149。使用线性相关性系数平滑调整的变换系数的值可以具有值160,对应量化阈值可以指示从50到149的相应系数的值的范围,并且使用线性相关性系数平滑值160调整的变换系数可以被限制为由对应量化阈值指示的最大值149。
可以在1156处执行像素范围投影。像素范围投影可以包括对变换系数进行逆变换以生成像素值。可以是RGB格式像素值的像素值(x)可以被限制在限定的范围内,诸如从零到二百五十五(0<=x<=255)。可以诸如使用离散余弦变换(DCT)来变换有限的或钳位(clamped)的像素值,以生成有限范围的变换系数。可以基于压缩值范围并且在平滑约束内调整有限范围的变换系数以生成像素范围投影调整的变换系数,该像素范围投影调整的变换系数可以被逆变换以生成重构像素值。
生成重构图像数据可以包括在1158处的亮度相关色度重采样,其可以包括重新采样一些图像数据,诸如色度数据。例如,可以使用YUV4:2:0格式化来格式化图像数据,并且可以基于Y通道数据相关性来重采样U和V通道数据。亮度相关色度重采样通过诸如通过高斯窗口查看图像的在空间上窗口化部分或者通过计算图像的正方形内的相关性系数来获得强度之间的局部相关性系数。对于色度平面中丢失的高频数据,可以将来自强度平面的数据投影到色度平面中乘以局部相关性系数。
重构亮度数据、Y通道数据可以降采样到色度数据的分辨率。下采样的亮度数据之间的相关性可以被应用于相应色度通道的对应系数。例如,可以使用诸如高通滤波器、诸如拉普拉斯滤波器的滤波器来识别邻近的下采样亮度系数之间的相关性。可以使用相应相关性将色度数据上采样至重构亮度数据的分辨率。
解码(重构)数据可以在1130处输出。例如,解码帧可以被存储在诸如图1中所示出的计算装置100或图2中所示出的计算和通信装置100A、100B、100C的装置的诸如图1中所示出的存储器110的存储器中或可以被呈现给用户。
在一些实施方式中,可省略或组合使用块效应减少的解码1100的一个或多个元件。例如,可省略以下中的一个或多个:1152处的变换系数连续性平滑、1154处的限定的相关性系数平滑、1156处的像素范围投影或1158处的亮度相关色度重采样。
图12是根据本公开的实施方式的变换系数连续性平滑1200的示例的流程图。变换系数连续性平滑1200可以在诸如图5中所示出的解码器500的解码器中实施。例如,图5中所示出的解码器500的逆变换单元530可实施变换系数连续性平滑1200。变换系数连续性平滑1200可以在诸如图4中所示出的编码器400的编码器的解码路径中实施。
通常,变换系数连续性平滑1200通过相对于块边界对变换系数连续性进行平滑来减少块效应。可以针对当前块的每个边界执行变换系数连续性平滑1200。由此,对于当前边界,变换系数连续性平滑1200包括:获得与当前边界相邻的相邻块的数据;基于对应的二维变换系数并且相对于块边界来确定块的一维变换系数;以及基于对应的一维变换系数之间的相应差,在相对于块边界的量化阈值内调整二维变换系数。
尽管可以针对当前块的每个边缘执行变换系数连续性平滑1200,但是可以考虑少于所有边缘。例如,可以仅在相邻块可用的情况下针对当前块的边缘执行变换系数连续性平滑1200。在这个示例中,仅对边缘中的一个或两个进行角块的变换系数连续性平滑1200,并且仅对多达三个边缘进行非角边缘的变换系数连续性平滑1200。中间块可以沿着它们的四个边缘中的一些或全部被处理。
变换系数连续性平滑1200的细节可以取决于相邻块相对于当前块的相对定向。例如,对于在当前块(在左侧)的右侧上的相邻块,可以首先考虑右边缘以获得当前块的右1D系数和相邻块的左1D系数。相邻块的左1D系数是块的2D系数的每一行的组合(例如,和)。当前块的右1D系数是块的2D系数的组合。组合可以是通过交替地加上和减去的块的2D系数的每一行的和。然后,可以获得每行的1D系数之间的差。可基于差的部分来调整当前块的2D系数。可以通过在向行中的2D系数加上与减去部分值之间交替来进行调整。可以使用部分值来调整相邻块的2D系数。可以通过向2D系数加上(而不减去)部分值来进行调整。加上和减去可将2D系数的值推到由量化限定的有效范围之外,因此可以将这些值钳位回到量化范围内。
因为可以针对当前块的每个边缘进行这一处理,所以可以迭代地、一个接一个地进行该处理;或可以基于起始2D系数并组合结果(例如,通过对结果求和)来处理每个边缘。
如图12中所示出,变换系数连续性平滑1200包括:在1210处识别块边界;在1220处获得相邻块数据;在1230处确定一维变换系数;在1240处确定中间二维变换系数;以及在1250处确定重构的二维变换系数。如在1260处由虚线指示,可以针对当前块的每个边界执行以下:在1210处识别块边界;在1220处获得相邻块数据;在1230处确定一维变换系数;在1240处确定中间二维变换系数;以及在1250处确定重构的二维变换系数。
可以在1210处识别块边界。例如,可以如图7中所示出的沿着当前块的左边缘、如图8中所示出的沿着当前块的右边缘、如图9中所示出的沿着当前块的上边缘或如图10中所示出沿着当前块的下边缘来识别块边界。
可以在1220处获得相邻块数据。获得相邻块数据可以包括确定相邻块数据可用。例如,对于在帧的左上角处的块,在该块的右侧和该块的下面的相邻块数据可能可用,并且在该块的左侧和该块的上面的相邻块数据可能不可用。获得相邻块数据可以包括从编码比特流中解码或部分解码相邻块数据,或获得先前解码或部分解码的相邻块数据。相邻块数据可以包括相邻块的二维变换系数。
在1230处可以确定一维变换系数。确定一维变换系数可以包括基于当前块和块边界的二维变换系数来确定当前块的一维变换系数。确定一维变换系数可以包括基于相邻块和块边界的二维变换系数来确定相邻块的一维变换系数。确定一维变换系数可以包括确定块边界相对于当前块、相邻块或二者的相对定向。
例如,当前块可以在相邻块的右侧,诸如响应于确定块边界与当前块的左边缘和相邻块的右边缘相对应,确定当前块的一维变换系数可以包括生成如图7中所示出的对应的左一维变换系数,且确定相邻块的一维变换系数可以包括生成如图8中所示出的对应的右一维变换系数。
在另一示例中,当前块可以在相邻块的左侧,诸如响应于确定块边界与当前块的右边缘和相邻块的左边缘相对应,确定当前块的一维变换系数可以包括生成如图8中所示出的对应的右一维变换系数,且确定相邻块的一维变换系数可以包括生成如图7中所示出的对应的左一维变换系数。
在另一示例中,当前块可以在相邻块的下面,诸如响应于确定块边界与当前块的上边缘和相邻块的下边缘相对应,确定当前块的一维变换系数可以包括生成如图9中所示出的对应的上一维变换系数,且确定相邻块的一维变换系数可以包括生成如图10中所示出的对应的下一维变换系数。
在另一示例中,当前块可以在相邻块的上面,诸如响应于确定块边界与当前块的下边缘和相邻块的上边缘相对应,确定当前块的一维变换系数可以包括生成如图10中所示出的对应的下一维变换系数,且确定相邻块的一维变换系数可以包括生成如图9中所示出的对应的上一维变换系数。
可以在1240处确定中间二维变换系数。确定中间二维变换系数可以包括基于块边界、当前块的一维变换系数和当前块的二维变换系数来确定当前块的中间二维变换系数。确定中间二维变换系数可以包括基于块边界、相邻块的一维变换系数和相邻块的二维变换系数来确定相邻块的中间二维变换系数。
例如,当前块可以在相邻块的右侧,且诸如响应于确定块边界与当前块的左边缘和相邻块的右边缘相对应,确定当前块的中间二维变换系数(a'(i,j))可以包括针对当前块的可以称为当前行的每一行(i),确定来自当前块的左一维变换系数的当前行(i)的左一维变换系数(Li)与来自相邻块的右一维变换系数的当前行(i)的对应的右一维变换系数(Ri)之间的差(Di),该差可以表达为Di=Li–Ri;且针对来自当前行(i)的每个系数,向来自当前块的二维变换系数的对应的二维变换系数(a(i,j))加上差(Di)的部分。
部分可以基于当前块的大小。例如,当前块可以是N×M块,并且用于确定其中当前块在相邻块右侧的当前块的中间二维变换系数的部分可以是1/(2M)。针对8×8块,部分可以是1/16。
确定其中当前块在相邻块右侧的当前块的中间二维变换系数可以表达如下:
例如,调整的左一维变换系数(Li′)和调整的右一维变换系数(Ri′)可以表达为Li′=Ri′=(Li+Ri)/2,并且调整的上一维变换系数(Tj′)和调整后的下一维变换系数(Bj′)可以表达为Tj′=Bj′=(Tj+Bj)/2。
诸如响应于确定块边界与当前块的左边缘和相邻块的右边缘相对应,确定相邻块的中间二维变换系数(a′(i,j))可以包括针对相邻块的可称为当前行的每一行(i)和针对来自当前行(i)的每个系数,使用交替符号调整来基于差(Di)的部分调整来自相邻块的二维变换系数的对应二维变换系数(a(i,j))。交替符号调整可以包括在向诸如来自偶数列或偶数行的二维变换系数的相应值加上差的部分与从诸如来自奇数列或奇数行的二维变换系数的相应值减去差的部分之间交替。
部分可以基于当前块的大小。例如,当前块可以是N×M块,并且用于确定其中当前块在相邻块右侧的相邻块的中间二维变换系数的部分可以是1/(2M)。针对8×8块,部分可以是1/16。
确定其中当前块在相邻块右侧的相邻块的中间二维变换系数可以表达如下:
在另一示例中,当前块可以在相邻块的左侧,且诸如响应于确定块边界与当前块的右边缘和相邻块的左边缘相对应,确定当前块的中间二维变换系数(a′(i,j))可以包括针对当前块的每一行(i),确定来自当前块的右一维变换系数的当前行(i)的右一维变换系数(Ri)与来自相邻块的左一维变换系数的当前行(i)的对应的左一维变换系数(Li)之间的差(Di),该差可以表达为Di=Ri-Li;且针对来自当前行(i)的每个系数,使用交替符号调整来基于差(Di)的部分调整来自当前块的二维变换系数的对应的二维变换系数(a(i,j))。
部分可以基于当前块的大小。例如,当前块可以是N×M块,并且用于确定其中当前块在相邻块左侧的当前块的中间二维变换系数的部分可以是1/(2M)。针对8×8块,部分可以是1/16。
确定其中当前块在相邻块左侧的当前块的中间二维变换系数可以表达如下:
诸如响应于确定块边界与当前块的右边缘和相邻块的左边缘相对应,确定相邻块的中间二维变换系数(a′(i,j))可以包括针对相邻块的可称为当前行的每一行(i)和针对来自当前行(i)的每个系数,向来自相邻块的二维变换系数的对应的二维变换系数(a(i,j))加上差(Di)的部分。
部分可以基于当前块的大小。例如,当前块可以是N×M块,并且用于确定其中当前块在相邻块左侧的当前块的中间二维变换系数的部分可以是1/(2M)。针对8×8块,部分可以是1/16。
确定其中当前块在相邻块左侧的相邻块的中间二维变换系数可以表达如下:
在另一示例中,当前块可以在相邻块的下面,且诸如响应于确定块边界与当前块的上边缘和相邻块的下边缘相对应,确定当前块的中间二维变换系数(a′(i,j))可以包括针对当前块的可以称为当前列的每一列(j),确定来自当前块的上一维变换系数的当前列(j)的上一维变换系数(Tj)与来自相邻块的下一维变换系数的当前列(j)的对应的下一维变换系数(Bj)之间的差(Dj),差可以表达为Dj=Tj-Bj;且针对来自当前列(j)的每个系数,向来自当前块的二维变换系数的对应的二维变换系数(a(i,j))加上差(Dj)的部分。
部分可以基于当前块的大小。例如,当前块可以是N×M块,并且用于确定其中当前块在相邻块下面的当前块的中间二维变换系数的部分可以是1/(2N)。针对8×8块,部分可以是1/16。
确定其中当前块在相邻块下面的当前块的中间二维变换系数可以表达如下:
诸如响应于确定块边界与当前块的上边缘和相邻的下边缘对应,确定相邻块的中间二维变换系数(a′(i,j))可以包括针对相邻块的可称为当前列的每一列(j)和针对来自当前列(j)的每个系数,使用交替符号调整来基于差(Dj)的部分调整来自相邻块的二维变换系数的对应二维变换系数(a(i,j))。交替符号调整可以包括在向诸如来自偶数列或偶数行的二维变换系数的相应值加上差的部分与从诸如来自奇数列或奇数行的二维变换系数的相应值减去差的部分之间交替。
确定其中当前块在相邻块下面的相邻块的中间二维变换系数可以表达如下:
在另一示例中,当前块可以在相邻块的上方,且诸如响应于确定块边界与当前块的下边缘和相邻块的上边缘相对应,确定当前块的中间二维变换系数(a′(i,j))可以包括针对当前块的每一列(j),确定来自当前块的下一维变换系数的当前列(j)的下一维变换系数(Bj)与来自相邻块的上一维变换系数的当前列(j)的对应的上一维变换系数(Tj)之间的差(Dj),差可以表达为Dj=Bj-Tj;且针对来自当前列(j)的每个系数,使用交替符号调整来基于差(Dj)的部分调整来自当前块的二维变换系数的对应的二维变换系数(a(i,j))。
确定其中当前块在相邻块上面的当前块的中间二维变换系数可以表达如下:
诸如响应于确定块边界与当前块的下边缘和相邻块的上边缘相对应,确定相邻块的中间二维变换系数(a′(i,j))可以包括针对相邻块的可称为当前列的每一列(j)和针对来自当前列(j)的每个系数,向来自相邻块的二维变换系数的对应的二维变换系数(a(i,j))加上差(Dj)的部分。
确定其中当前块在相邻块上面的相邻块的中间二维变换系数可以表达如下:
可以在1250处确定重构的二维变换系数。在1250处确定重构的二维变换系数或部分重构的二维变换系数可以包括识别与相应变换系数相对应的量化阈值。例如,系数的量化阈值可以指示相应系数的值的范围,诸如从50到149。确定重构的二维变换系数可以包括基于与相应变换系数相对应的量化阈值来限制对应的中间二维变换系数。例如,如果与重构的二维变换系数相对应的中间二维变换系数具有低于阈值范围的值,则该中间二维变换系数可以被限制到该阈值范围的下界。类似地,如果与重构的二维变换系数相对应的中间二维变换系数具有高于阈值范围的值,则该中间二维变换系数可以被限制到该阈值范围的上界。
例如,与重构的二维变换系数相对应的中间二维变换系数可以具有值160,对应量化阈值可以指示从50到149的相应系数的值的范围,并且中间二维变换系数值160可以被限制到由对应量化阈值指示的可以被识别为重构的二维变换系数的最大值149。可以输出重构的二维变换系数。例如,可以对重构的二维变换系数进行逆变换以形成诸如重构块的空间或像素数据,并且空间数据可以包括在可以被存储或输出以呈现给用户的重构帧中。
如在1260处由虚线指示的,可以针对块的每个边界执行以下:在1210处识别块边界;在1220处获得相邻块数据;在1230处确定一维变换系数;在1240处确定中间二维变换系数;以及在1250处确定重构的二维变换系数。
可以基于解码的变换系数来生成基于当前块的第一边缘生成的重构系数,可以基于基于当前块的第一边缘生成的重构系数来生成基于当前块的第二边缘生成的重构系数,可以基于基于当前块的第二边缘生成的重构系数来生成基于当前块的第三边缘生成的重构系数,且可以基于基于当前块的第三边缘生成的重构系数来生成基于当前块的第四边缘生成的重构系数。
可以基于解码的变换系数来生成基于当前块的每个边缘生成的重构系数,可以组合重构系数,且变换系数连续性平滑1200可以重复两次或更多次重复。
本文中使用词语“示例”或“示例性”是意指充当示例、实例或图示。本文中描述为“示例”或“示例性”的任何方面或设计不一定需要理解为比其它方面或设计优选或有益。相反,词语“示例”或“示例性”的使用旨在以具体方式呈现构思。如在本申请中所使用,术语“或”旨在意指包括性“或”而不是排他性的“或”。即,除非另外规定,或从上下文可以清楚,否则“X包括A或B”旨在意指任何自然的包括性排列。即,如果X包括A;X包括B;或X包括A和B,则在前面的任何实例下都满足“X包括A或B”。另外,除非另有规定或从上下文中明确指的是单数形式,否则如在本申请和随附权利要求书中所使用的冠词“一”和“一个”应该被一般地解释为意指“一个或多个”。此外,贯穿全文,除非如此描述,否则术语“实施例”或“一个实施例”或“实施方式”或“一个实施方式”不旨在指示相同的实施例或实施方式。如本文中所使用,术语“确定”和“识别”或其任何变型包括以任何方式无论怎样使用图1中所示出的装置中的一个或多个来选择、探知、计算、查找、接收、确定、建立、获得或以其它方式识别或确定。
此外,为了简化阐释,尽管本文中的附图和描述可以包括步骤或阶段的序列或系列,但是本文中公开的方法的元素可以各种顺序和/或同时发生。另外,本文中公开的方法的元素可以与本文中未明确呈现和描述的其它元素一起出现。此外,可以从根据所公开的主题的方法的实施方式中省略本文中所描述的方法的一个或多个元素。
传送计算和通信装置100A和/或接收计算和通信装置100B(以及存储在其上和/或由此执行的算法、方法、指令等)的实施方式可在硬件、软件或其任何组合中实现。硬件可以包括例如计算机、知识产权(IP)核、专用集成电路(ASIC)、可编程逻辑阵列、光学处理器、可编程逻辑控制器、微代码、微控制器、服务器、微处理器、数字信号处理器或任何其它合适的电路。在权利要求书中,术语“处理器”应理解为单独地或组合地涵盖任何前述硬件。术语“信号”和“数据”可互换地使用。进一步地,传送计算和通信装置100A和接收计算和通信装置100B的部分不一定必须以相同的方式实施。
进一步地,在一个实施方式中,例如,传送计算和通信装置100A或接收计算和通信装置100B可以使用计算机程序来实施,该计算机程序在被执行时实行本文中所描述的相应方法、算法和/或指令。另外或替代地,例如,可以利用专用计算机/处理器,其可以包含用于实行本文中所描述的任何方法、算法或指令的专用硬件。
传送计算和通信装置100A和接收计算和通信装置100B可以例如在实时视频***中的计算机上实施。替代地,传送计算和通信装置100A可以在服务器上实施,且接收计算和通信装置100B可以在与服务器分离的诸如手持式通信装置的装置上实施。在此实例中,传送计算和通信装置100A可以使用编码器400将内容编码为编码视频信号,并且向通信装置传送编码视频信号。继而,通信装置然后可以使用解码器500对编码视频信号进行解码。替代地,通信装置可以对本地地存储在通信装置上的内容进行解码,该内容例如是未被传送计算和通信装置100A传送的内容。其它合适的传送计算和通信装置100A和接收计算和通信装置100B实施方式方案是可用的。例如,接收计算和通信装置100B可以是一般固定的个人计算机,而不是便携式通信装置,和/或包括编码器400的装置也可以包括解码器500。
进一步地,实施方式的全部或一部分可以采取可从例如有形计算机可用或计算机可读介质访问的计算机程序产品的形式。计算机可用或计算机可读介质可以是例如可以有形地包含、存储、传达或传输程序以供任何处理器使用或与任何处理器结合使用的任何装置。介质可以是例如电子、磁性、光学、电磁或半导体装置。其它合适的介质也是可用的。
已经描述了上述实施方式,以便允许对本申请的容易理解不是限制性的。相反,本申请覆盖所附权利要求书的范围内所包括的各种修改和等效布置,该范围应被赋予最宽泛的解释,以涵盖法律准许的所有这种修改和等效结构。
Claims (18)
1.一种方法,包括:
由处理器通过对编码比特流进行解码来生成重构帧,其中,解码包括:
从所述编码比特流获得编码块数据,所述编码块数据与来自所述重构帧的当前块相对应,其中从所述编码比特流获得所述编码块数据包括从所述编码比特流获得所述当前块的二维变换系数;
基于所述编码块数据使用变换系数连续性平滑来生成所述当前块的重构块数据,其中,变换系数连续性平滑包括:
针对所述当前块的块边界:
响应于确定与沿着所述块边界与所述当前块在空间上相邻的相邻块相对应的相邻块数据可用,基于所述当前块、所述相邻块和所述块边界执行变换系数连续性平滑,其中基于所述当前块、所述相邻块和所述块边界执行变换系数连续性平滑包括:
基于所述块边界和所述当前块的所述二维变换系数确定所述当前块的一维变换系数;以及
基于所述当前块的所述二维变换系数以及所述当前块的所述一维变换系数与所述相邻块的一维变换系数之间的差,确定所述当前块的中间二维变换系数;以及
将所述重构块数据包括在所述重构帧中;以及
输出所述重构帧。
2.根据权利要求1所述的方法,其中,确定所述当前块的所述一维变换系数包括以下中的至少一个:
响应于确定所述块边界与所述当前块的左边缘相对应,针对来自所述当前块的所述二维变换系数的当前行,确定来自所述当前块的所述二维变换系数的所述当前行的二维变换系数的和作为来自所述当前块的左一维变换系数的对应行的所述左一维变换系数;
响应于确定所述块边界与所述当前块的右边缘相对应,针对来自所述当前块的所述二维变换系数的所述当前行,使用交替符号求和确定来自所述当前块的所述二维变换系数的所述当前行的所述二维变换系数的所述和作为来自所述当前块的右一维变换系数的对应行的所述右一维变换系数;
响应于确定所述块边界与所述当前块的上边缘相对应,针对来自所述当前块的所述二维变换系数的当前列,确定来自所述当前块的所述二维变换系数的所述当前列的二维变换系数的和作为来自所述当前块的上一维变换系数的对应列的所述上一维变换系数;或
响应于确定所述块边界与所述当前块的下边缘相对应,针对来自所述当前块的所述二维变换系数的所述当前列,使用交替符号求和确定来自所述当前块的所述二维变换系数的所述当前列的所述二维变换系数的所述和作为来自所述当前块的下一维变换系数的对应列的所述下一维变换系数。
3.根据权利要求2所述的方法,其中,基于所述当前块、所述相邻块和所述块边界执行变换系数连续性平滑包括:
获得所述相邻块的二维变换系数;以及
基于所述块边界和所述相邻块的所述二维变换系数,确定所述相邻块的所述一维变换系数,其中,确定所述相邻块的所述一维变换系数包括以下中的至少一个:
响应于确定所述块边界与所述当前块的所述左边缘相对应,针对来自所述相邻块的所述二维变换系数的当前行,使用交替符号求和确定来自所述相邻块的所述二维变换系数的所述当前行的二维变换系数的和作为来自所述相邻块的右一维变换系数的对应行的所述右一维变换系数;
响应于确定所述块边界与所述当前块的所述右边缘相对应,针对来自所述相邻块的所述二维变换系数的所述当前行,确定来自所述相邻块的所述二维变换系数的所述当前行的所述二维变换系数的所述和作为来自所述相邻块的左一维变换系数的对应行的所述左一维变换系数;
响应于确定所述块边界与所述当前块的所述上边缘相对应,针对来自所述相邻块的所述二维变换系数的当前列,使用交替符号求和确定来自所述相邻块的所述二维变换系数的所述当前列的所述二维变换系数的和作为来自所述相邻块的下一维变换系数的对应列的所述下一维变换系数;或
响应于确定所述块边界与所述当前块的所述下边缘相对应,针对来自所述相邻块的所述二维变换系数的所述当前列,确定来自所述相邻块的所述二维变换系数的所述当前列的所述二维变换系数的所述和作为来自所述相邻块的上一维变换系数的对应列的所述上一维变换系数。
4.根据权利要求3所述的方法,其中,确定所述当前块的所述中间二维变换系数包括:针对来自所述当前块的所述中间二维变换系数的当前中间二维变换系数,来自所述当前块的所述中间二维变换系数的所述当前中间二维变换系数在空间上与来自所述当前块的所述二维变换系数的所述当前行和来自所述当前块的所述二维变换系数的当前列相对应,以下中的至少一个:
响应于确定所述块边界与所述当前块的所述左边缘相对应,通过将来自所述当前块的所述二维变换系数的对应二维变换系数乘以来自所述当前块的左一维变换系数的对应行的所述左一维变换系数与来自所述相邻块的右一维变换系数的对应行的所述右一维变换系数之间的差的部分,确定来自所述当前块的所述中间二维变换系数的所述当前中间二维变换系数;
响应于确定所述块边界与所述当前块的所述右边缘相对应,通过使用交替符号乘法将来自所述当前块的所述二维变换系数的所述对应二维变换系数乘以来自所述当前块的右一维变换系数的对应行的所述右一维变换系数与来自所述相邻块的左一维变换系数的对应行的所述左一维变换系数之间的差的所述部分,确定来自所述当前块的所述中间二维变换系数的所述当前中间二维变换系数;
响应于确定所述块边界与所述当前块的所述上边缘相对应,通过将来自所述当前块的所述二维变换系数的所述对应二维变换系数乘以来自所述当前块的上一维变换系数的对应列的所述上一维变换系数与来自所述相邻块的下一维变换系数的对应列的所述下一维变换系数之间的差的所述部分,确定来自所述当前块的所述中间二维变换系数的所述当前中间二维变换系数;或
响应于确定所述块边界与所述当前块的所述下边缘相对应,通过使用交替符号乘法将来自所述当前块的所述二维变换系数的所述对应二维变换系数乘以来自所述当前块的下一维变换系数的对应列的所述下一维变换系数与来自所述相邻块的上一维变换系数的对应列的所述上一维变换系数之间的差的所述部分,确定来自所述当前块的所述中间二维变换系数的所述当前中间二维变换系数。
5.根据权利要求3所述的方法,其中,生成所述当前块的重构块数据包括通过以下来生成所述相邻块的部分重构块数据:
基于所述相邻块的所述二维变换系数和所述当前块的所述一维变换系数与所述相邻块的所述一维变换系数之间的所述差,确定所述相邻块的中间二维变换系数。
6.根据权利要求5所述的方法,其中,确定所述相邻块的所述中间二维变换系数包括:针对来自所述相邻块的所述中间二维变换系数的当前中间二维变换系数,来自所述相邻块的所述中间二维变换系数的所述当前中间二维变换系数在空间上与来自所述相邻块的所述二维变换系数的所述当前行和来自所述相邻块的所述二维变换系数的当前列相对应,以下中的至少一个:
响应于确定所述块边界与所述当前块的所述左边缘相对应,通过使用交替符号乘法将来自所述相邻块的所述二维变换系数的对应二维变换系数乘以来自所述相邻块的右一维变换系数的对应行的所述右一维变换系数与来自所述当前块的左一维变换系数的对应行的所述左一维变换系数之间的差的所述部分,确定来自所述相邻块的所述中间二维变换系数的所述当前中间二维变换系数;
响应于确定所述块边界与所述当前块的所述右边缘相对应,通过将来自所述相邻块的所述二维变换系数的所述对应二维变换系数乘以来自所述相邻块的左一维变换系数的对应行的所述左一维变换系数与来自所述当前块的右一维变换系数的对应行的所述右一维变换系数之间的差的所述部分,确定来自所述相邻块的所述中间二维变换系数的所述当前中间二维变换系数;
响应于确定所述块边界与所述当前块的所述上边缘相对应,通过使用交替符号乘法将来自所述相邻块的所述二维变换系数的对应二维变换系数乘以来自所述相邻块的下一维变换系数的对应列的所述下一维变换系数与来自所述当前块的上一维变换系数的对应列的所述上一维变换系数之间的差的所述部分,确定来自所述相邻块的所述中间二维变换系数的所述当前中间二维变换系数;或
响应于确定所述块边界与所述当前块的所述下边缘相对应,通过将来自所述相邻块的所述二维变换系数的所述对应二维变换系数乘以来自所述相邻块的上一维变换系数的对应列的所述上一维变换系数与来自所述当前块的下一维变换系数的对应列的所述下一维变换系数之间的差的所述部分,确定来自所述相邻块的所述中间二维变换系数的所述当前中间二维变换系数。
7.根据权利要求5所述的方法,其中,生成所述相邻块的所述部分重构块数据包括:
基于所述相邻块的所述中间二维变换系数和对应量化阈值,生成所述相邻块的部分重构二维变换系数;以及
将所述相邻块的所述部分重构二维变换系数包括在所述相邻块的所述部分重构块数据中。
8.根据权利要求1至7中的任一项所述的方法,其中,基于来自所述编码比特流的所述当前块的所述二维变换系数的变换系数连续性平滑包括:
基于所述当前块的所述中间二维变换系数和对应量化阈值,生成所述当前块的部分重构二维变换系数;以及
将所述部分重构二维变换系数包括在所述当前块的所述重构块数据中。
9.一种解码器,包括:
处理器,所述处理器被配置成:
从编码比特流获得编码块数据,所述编码块数据与来自重构帧的当前块相对应,其中所述处理器被配置成通过从所述编码比特流获得所述当前块的二维变换系数来从所述编码比特流获得所述编码块数据;
基于所述编码块数据使用变换系数连续性平滑来生成所述当前块的重构块数据,其中,变换系数连续性平滑包括:
针对所述当前块的块边界:
响应于确定与沿着所述块边界与所述当前块在空间上相邻的相邻块相对应的相邻块数据可用,基于所述当前块、所述相邻块和所述块边界执行变换系数连续性平滑,其中,为了基于所述当前块、所述相邻块和所述块边界执行变换系数连续性平滑,所述处理器被配置成:
基于所述块边界和所述当前块的所述二维变换系数确定所述当前块的一维变换系数;以及
基于所述当前块的所述二维变换系数以及所述当前块的所述一维变换系数与所述相邻块的一维变换系数之间的差,确定所述当前块的中间二维变换系数;以及
将所述重构块数据包括在所述重构帧中;以及
输出所述重构帧。
10.根据权利要求9所述的解码器,其中,所述处理器被配置成通过以下中的至少一个确定所述当前块的所述一维变换系数:
响应于确定所述块边界与所述当前块的左边缘相对应,针对来自所述当前块的所述二维变换系数的当前行,确定来自所述当前块的所述二维变换系数的所述当前行的二维变换系数的和作为来自所述当前块的左一维变换系数的对应行的所述左一维变换系数;
响应于确定所述块边界与所述当前块的右边缘相对应,针对来自所述当前块的所述二维变换系数的所述当前行,使用交替符号求和确定来自所述当前块的所述二维变换系数的所述当前行的所述二维变换系数的所述和作为来自所述当前块的右一维变换系数的对应行的所述右一维变换系数;
响应于确定所述块边界与所述当前块的上边缘相对应,针对来自所述当前块的所述二维变换系数的当前列,确定来自所述当前块的所述二维变换系数的所述当前列的二维变换系数的和作为来自所述当前块的上一维变换系数的对应列的所述上一维变换系数;或
响应于确定所述块边界与所述当前块的下边缘相对应,针对来自所述当前块的所述二维变换系数的所述当前列,使用交替符号求和确定来自所述当前块的所述二维变换系数的所述当前列的所述二维变换系数的所述和作为来自所述当前块的下一维变换系数的对应列的所述下一维变换系数。
11.根据权利要求10所述的解码器,其中,所述处理器被配置成基于所述当前块和所述相邻块通过以下来执行变换系数连续性平滑:
获得所述相邻块的二维变换系数;以及
基于所述块边界和所述相邻块的所述二维变换系数,确定所述相邻块的所述一维变换系数,其中,确定所述相邻块的所述一维变换系数包括以下中的至少一个:
响应于确定所述块边界与所述当前块的所述左边缘相对应,针对来自所述相邻块的所述二维变换系数的当前行,使用交替符号求和确定来自所述相邻块的所述二维变换系数的所述当前行的二维变换系数的和作为来自所述相邻块的右一维变换系数的对应行的所述右一维变换系数;
响应于确定所述块边界与所述当前块的所述右边缘相对应,针对来自所述相邻块的所述二维变换系数的所述当前行,确定来自所述相邻块的所述二维变换系数的所述当前行的所述二维变换系数的所述和作为来自所述相邻块的左一维变换系数的对应行的所述左一维变换系数;
响应于确定所述块边界与所述当前块的所述上边缘相对应,针对来自所述相邻块的所述二维变换系数的当前列,使用交替符号求和确定来自所述相邻块的所述二维变换系数的所述当前列的所述二维变换系数的和作为来自所述相邻块的下一维变换系数的对应列的所述下一维变换系数;或
响应于确定所述块边界与所述当前块的所述下边缘相对应,针对来自所述相邻块的所述二维变换系数的所述当前列,确定来自所述相邻块的所述二维变换系数的所述当前列的所述二维变换系数的所述和作为来自所述相邻块的上一维变换系数的对应列的所述上一维变换系数。
12.根据权利要求11所述的解码器,其中,所述处理器被配置成针对来自所述当前块的所述中间二维变换系数的当前中间二维变换系数,来自所述当前块的所述中间二维变换系数的所述当前中间二维变换系数在空间上与来自所述当前块的所述二维变换系数的所述当前行和来自所述当前块的所述二维变换系数的当前列相对应,通过以下中的至少一个确定所述当前块的所述中间二维变换系数:
响应于确定所述块边界与所述当前块的所述左边缘相对应,通过将来自所述当前块的所述二维变换系数的对应二维变换系数乘以来自所述当前块的左一维变换系数的对应行的所述左一维变换系数与来自所述相邻块的右一维变换系数的对应行的所述右一维变换系数之间的差的部分,确定来自所述当前块的所述中间二维变换系数的所述当前中间二维变换系数;
响应于确定所述块边界与所述当前块的所述右边缘相对应,通过使用交替符号乘法将来自所述当前块的所述二维变换系数的所述对应二维变换系数乘以来自所述当前块的右一维变换系数的对应行的所述右一维变换系数与来自所述相邻块的左一维变换系数的对应行的所述左一维变换系数之间的差的所述部分,确定来自所述当前块的所述中间二维变换系数的所述当前中间二维变换系数;
响应于确定所述块边界与所述当前块的所述上边缘相对应,通过将来自所述当前块的所述二维变换系数的所述对应二维变换系数乘以来自所述当前块的上一维变换系数的对应列的所述上一维变换系数与来自所述相邻块的下一维变换系数的对应列的所述下一维变换系数之间的差的所述部分,确定来自所述当前块的所述中间二维变换系数的所述当前中间二维变换系数;或
响应于确定所述块边界与所述当前块的所述下边缘相对应,通过使用交替符号乘法将来自所述当前块的所述二维变换系数的所述对应二维变换系数乘以来自所述当前块的下一维变换系数的对应列的所述下一维变换系数与来自所述相邻块的上一维变换系数的对应列的所述上一维变换系数之间的差的所述部分,确定来自所述当前块的所述中间二维变换系数的所述当前中间二维变换系数。
13.根据权利要求11所述的解码器,其中,所述处理器被配置成生成所述当前块的重构块数据,包括通过以下来生成所述相邻块的部分重构块数据:
基于所述相邻块的所述二维变换系数和所述当前块的所述一维变换系数与所述相邻块的所述一维变换系数之间的所述差,确定所述相邻块的中间二维变换系数。
14.根据权利要求13所述的解码器,其中,所述处理器被配置成针对来自所述相邻块的所述中间二维变换系数的当前中间二维变换系数,来自所述相邻块的所述中间二维变换系数的所述当前中间二维变换系数在空间上与来自所述相邻块的所述二维变换系数的所述当前行和来自所述相邻块的所述二维变换系数的当前列相对应,通过以下中的至少一个来确定所述相邻块的所述中间二维变换系数:
响应于确定所述块边界与所述当前块的所述左边缘相对应,通过使用交替符号乘法将来自所述相邻块的所述二维变换系数的对应二维变换系数乘以来自所述相邻块的右一维变换系数的对应行的所述右一维变换系数与来自所述当前块的左一维变换系数的对应行的所述左一维变换系数之间的差的所述部分,确定来自所述相邻块的所述中间二维变换系数的所述当前中间二维变换系数;
响应于确定所述块边界与所述当前块的所述右边缘相对应,通过将来自所述相邻块的所述二维变换系数的所述对应二维变换系数乘以来自所述相邻块的左一维变换系数的对应行的所述左一维变换系数与来自所述当前块的右一维变换系数的对应行的所述右一维变换系数之间的差的所述部分,确定来自所述相邻块的所述中间二维变换系数的所述当前中间二维变换系数;
响应于确定所述块边界与所述当前块的所述上边缘相对应,通过使用交替符号乘法将来自所述相邻块的所述二维变换系数的对应二维变换系数乘以来自所述相邻块的下一维变换系数的对应列的所述下一维变换系数与来自所述当前块的上一维变换系数的对应列的所述上一维变换系数之间的差的所述部分,确定来自所述相邻块的所述中间二维变换系数的所述当前中间二维变换系数;或
响应于确定所述块边界与所述当前块的所述下边缘相对应,通过将来自所述相邻块的所述二维变换系数的所述对应二维变换系数乘以来自所述相邻块的上一维变换系数的对应列的所述上一维变换系数与来自所述当前块的下一维变换系数的对应列的所述下一维变换系数之间的差的所述部分,确定来自所述相邻块的所述中间二维变换系数的所述当前中间二维变换系数。
15.根据权利要求13所述的解码器,其中,所述处理器被配置成通过以下生成所述相邻块的所述部分重构块数据:
基于所述相邻块的所述中间二维变换系数和对应量化阈值,生成所述相邻块的部分重构二维变换系数;以及
将所述相邻块的所述部分重构二维变换系数包括在所述相邻块的所述部分重构块数据中。
16.根据权利要求9至15中的任一项所述的解码器,其中,所述处理器被配置成基于来自所述编码比特流的所述当前块的所述二维变换系数通过以下来执行变换系数连续性平滑:
基于所述当前块的所述中间二维变换系数和对应量化阈值,生成所述当前块的部分重构二维变换系数;以及
将所述部分重构二维变换系数包括在所述当前块的所述重构块数据中。
17.一种非暂时性计算机可读存储介质,包括可执行指令,所述可执行指令由处理器执行以执行:
由处理器通过对编码比特流进行解码来生成重构帧,其中,解码包括:
从所述编码比特流获得编码块数据,所述编码块数据与来自所述重构帧的当前块相对应且包括所述当前块的二维变换系数;
基于所述编码块数据使用变换系数连续性平滑来生成所述当前块的重构块数据,其中,变换系数连续性平滑包括:
针对所述当前块的块边界:
响应于确定与沿着所述块边界与所述当前块在空间上相邻的相邻块相对应的相邻块数据可用,基于所述当前块、所述相邻块和所述块边界执行变换系数连续性平滑,其中,基于所述当前块和所述相邻块执行变换系数连续性平滑包括:
基于所述块边界和所述当前块的所述二维变换系数确定所述当前块的一维变换系数;以及
基于所述当前块的所述二维变换系数以及所述当前块的所述一维变换系数与所述相邻块的一维变换系数之间的差,确定所述当前块的中间二维变换系数;以及
将所述重构块数据包括在所述重构帧中;以及
输出所述重构帧。
18.根据权利要求17所述的非暂时性计算机可读存储介质,其中,基于来自所述编码比特流的所述当前块的所述二维变换系数的变换系数连续性平滑包括:
基于所述当前块的所述中间二维变换系数和对应量化阈值,生成所述当前块的部分重构二维变换系数;以及
将所述部分重构二维变换系数包括在所述当前块的所述重构块数据中。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/807,622 | 2017-11-09 | ||
US15/807,622 US11457239B2 (en) | 2017-11-09 | 2017-11-09 | Block artefact reduction |
PCT/US2018/046449 WO2019094080A1 (en) | 2017-11-09 | 2018-08-13 | Block artefact reduction |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110741645A CN110741645A (zh) | 2020-01-31 |
CN110741645B true CN110741645B (zh) | 2022-10-04 |
Family
ID=63405473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880036914.XA Active CN110741645B (zh) | 2017-11-09 | 2018-08-13 | 块效应减少 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11457239B2 (zh) |
EP (1) | EP3707905A1 (zh) |
CN (1) | CN110741645B (zh) |
WO (1) | WO2019094080A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11336954B1 (en) | 2018-12-12 | 2022-05-17 | Amazon Technologies, Inc. | Method to determine the FPS on a client without instrumenting rendering layer |
US10971161B1 (en) | 2018-12-12 | 2021-04-06 | Amazon Technologies, Inc. | Techniques for loss mitigation of audio streams |
US11368400B2 (en) | 2018-12-13 | 2022-06-21 | Amazon Technologies, Inc. | Continuously calibrated network system |
US11252097B2 (en) | 2018-12-13 | 2022-02-15 | Amazon Technologies, Inc. | Continuous calibration of network metrics |
US11356326B2 (en) | 2018-12-13 | 2022-06-07 | Amazon Technologies, Inc. | Continuously calibrated network system |
US11016792B1 (en) | 2019-03-07 | 2021-05-25 | Amazon Technologies, Inc. | Remote seamless windows |
US11461168B1 (en) * | 2019-03-29 | 2022-10-04 | Amazon Technologies, Inc. | Data loss protection with continuity |
US11245772B1 (en) | 2019-03-29 | 2022-02-08 | Amazon Technologies, Inc. | Dynamic representation of remote computing environment |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005311512A (ja) * | 2004-04-19 | 2005-11-04 | Toshiba Corp | エラーコンシールメント方法及び復号器 |
EP2192786A1 (en) * | 2008-11-27 | 2010-06-02 | Panasonic Corporation | Frequency domain filters for video coding |
CN103813176A (zh) * | 2012-11-14 | 2014-05-21 | 北京三星通信技术研究有限公司 | 视频编解码中的去块效应滤波方法和自适应环路滤波方法 |
CN106303550A (zh) * | 2015-06-11 | 2017-01-04 | 华为技术有限公司 | 去块效应滤波方法和去块效应滤波器 |
CN107211154A (zh) * | 2015-02-11 | 2017-09-26 | 高通股份有限公司 | 译码树单元级自适应环路滤波器 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5684544A (en) | 1995-05-12 | 1997-11-04 | Intel Corporation | Apparatus and method for upsampling chroma pixels |
US20030222998A1 (en) | 2000-12-20 | 2003-12-04 | Satoru Yamauchi | Digital still camera system and method |
EP2899977A1 (en) | 2002-01-31 | 2015-07-29 | Samsung Electronics Co., Ltd | Filtering method and apparatus for reducing block artifacts or ringing noise |
KR100846774B1 (ko) | 2002-05-03 | 2008-07-16 | 삼성전자주식회사 | 블록킹 효과를 제거하기 위한 필터링 방법 및 그 장치 |
JP5076755B2 (ja) | 2007-09-07 | 2012-11-21 | ソニー株式会社 | 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム |
US7965900B2 (en) | 2007-09-26 | 2011-06-21 | Hewlett-Packard Development Company, L.P. | Processing an input image to reduce compression-related artifacts |
KR101432775B1 (ko) * | 2008-09-08 | 2014-08-22 | 에스케이텔레콤 주식회사 | 서브블록 내 임의 화소를 이용한 영상 부호화/복호화 방법 및 장치 |
KR101647376B1 (ko) | 2009-03-30 | 2016-08-10 | 엘지전자 주식회사 | 비디오 신호 처리 방법 및 장치 |
JP5302769B2 (ja) * | 2009-05-14 | 2013-10-02 | キヤノン株式会社 | スキャン変換装置及び画像符号化装置及びそれらの制御方法 |
KR101675116B1 (ko) * | 2009-08-06 | 2016-11-10 | 삼성전자 주식회사 | 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치 |
WO2013171168A1 (en) | 2012-05-14 | 2013-11-21 | Luca Rossato | Encoding and decoding based on blending of sequences of samples along time |
US9596461B2 (en) | 2012-11-26 | 2017-03-14 | Qualcomm Incorporated | Loop filtering across constrained intra block boundaries in video coding |
EP2962449A1 (en) | 2013-02-26 | 2016-01-06 | Nintendo European Research And Development | Block color conversion |
EP3195597A4 (en) | 2014-09-19 | 2018-02-21 | Telefonaktiebolaget LM Ericsson (publ) | Methods, encoders and decoders for coding of video sequences |
CN107211146A (zh) * | 2014-11-21 | 2017-09-26 | Vid拓展公司 | 一维变换模式和系数扫描顺序 |
CN105306959B (zh) | 2015-10-24 | 2018-08-21 | 广东医群科技有限公司 | 一种低延时网络自适应直播*** |
CN105306956B (zh) * | 2015-11-13 | 2018-03-27 | 浙江工商大学 | 一种提高hevc编码器离散余弦变换处理速度的方法 |
-
2017
- 2017-11-09 US US15/807,622 patent/US11457239B2/en active Active
-
2018
- 2018-08-13 EP EP18760211.5A patent/EP3707905A1/en not_active Withdrawn
- 2018-08-13 WO PCT/US2018/046449 patent/WO2019094080A1/en unknown
- 2018-08-13 CN CN201880036914.XA patent/CN110741645B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005311512A (ja) * | 2004-04-19 | 2005-11-04 | Toshiba Corp | エラーコンシールメント方法及び復号器 |
EP2192786A1 (en) * | 2008-11-27 | 2010-06-02 | Panasonic Corporation | Frequency domain filters for video coding |
CN103813176A (zh) * | 2012-11-14 | 2014-05-21 | 北京三星通信技术研究有限公司 | 视频编解码中的去块效应滤波方法和自适应环路滤波方法 |
CN107211154A (zh) * | 2015-02-11 | 2017-09-26 | 高通股份有限公司 | 译码树单元级自适应环路滤波器 |
CN106303550A (zh) * | 2015-06-11 | 2017-01-04 | 华为技术有限公司 | 去块效应滤波方法和去块效应滤波器 |
Also Published As
Publication number | Publication date |
---|---|
WO2019094080A1 (en) | 2019-05-16 |
CN110741645A (zh) | 2020-01-31 |
US11457239B2 (en) | 2022-09-27 |
US20190141351A1 (en) | 2019-05-09 |
EP3707905A1 (en) | 2020-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110741645B (zh) | 块效应减少 | |
US10694180B2 (en) | Entropy coding transform partitioning information | |
CN107027033B (zh) | 一种用于使用贴片拷贝的视频编解码方法 | |
US9769499B2 (en) | Super-transform video coding | |
CN115134602A (zh) | 低时延两次视频代码化 | |
US10652552B1 (en) | Efficient noise reduction coding | |
US11765377B2 (en) | Alpha channel prediction | |
US11166022B2 (en) | Quantization constrained neural image coding | |
US20170237939A1 (en) | Loop filtering for multiform transform partitioning | |
CN107302701B (zh) | 译码插值滤波器类型 | |
US20230308679A1 (en) | Motion prediction coding with coframe motion vectors | |
US11153588B2 (en) | Dual deblocking filter thresholds | |
CN107079156B (zh) | 用于交替块约束决策模式代码化的方法 | |
US10951921B2 (en) | Adjustable per-symbol entropy coding probability updating for image and video coding | |
US20230291925A1 (en) | Inter-Intra Prediction With Implicit Models | |
US20240223796A1 (en) | Local global prediction modes with projected motion fields | |
WO2024005777A1 (en) | Circular-shift transformation for image and video coding | |
CN116783890A (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 |