CN109891894B - 用于恢复由重构产生的劣化帧的劣化图块的方法和装置 - Google Patents

用于恢复由重构产生的劣化帧的劣化图块的方法和装置 Download PDF

Info

Publication number
CN109891894B
CN109891894B CN201780067335.7A CN201780067335A CN109891894B CN 109891894 B CN109891894 B CN 109891894B CN 201780067335 A CN201780067335 A CN 201780067335A CN 109891894 B CN109891894 B CN 109891894B
Authority
CN
China
Prior art keywords
degraded
filtering
tile
filter
domain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201780067335.7A
Other languages
English (en)
Other versions
CN109891894A (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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Priority to CN202111143037.6A priority Critical patent/CN113873237B/zh
Publication of CN109891894A publication Critical patent/CN109891894A/zh
Application granted granted Critical
Publication of CN109891894B publication Critical patent/CN109891894B/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/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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/176Methods 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
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • H04N19/86Methods 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
    • 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
    • H04N19/86Methods 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
    • H04N19/865Methods 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 with detection of the former encoding block subdivision in decompressed video
    • 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
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment

Abstract

公开了恢复由重构产生的劣化帧的劣化图块。一种方法包括,对于至少一些比例因子中的比例因子,使用比例因子递归地滤波劣化图块,以生成相应的恢复图块,并且确定相应的恢复图块相对于所述源图块的相应误差。该方法还包括从至少一些比例因子中选择对应于最小相应误差的最优比例因子,以及基于最优比例因子在编码比特流中编码比例参数。一种装置包括处理器和非暂时性存储器,所述非暂时性存储器存储指令,其中,指令使处理器从编码比特流中确定比例因子,该比例因子确定劣化图块中的边缘影响滤波操作的强烈程度,并且使用比例因子递归地滤波劣化图块,得到恢复图块。

Description

用于恢复由重构产生的劣化帧的劣化图块的方法和装置
相关申请的交叉引用
本申请要求2016年12月1日提交的美国临时申请专利序列号62/428,718的优先权和权益,其全部公开内容通过引用结合于此。
背景技术
数字视频流可以使用帧或静态图像的序列来表示视频。数字视频可以用于各种应用,包括例如视频会议、高清视频娱乐、视频广告或用户生成的视频的共享。数字视频流可以包含大量数据,并且消耗计算设备的大量计算或通信资源以用于处理、传输或存储视频数据。已经提出了各种方法来减少视频流中的数据量,包括压缩和其它编码技术。
使用压缩的编码可以通过将帧或图像分成随后被压缩的块或图块来执行,通常使用导致一些数据丢失的编码技术。解码器可以将一个或多个滤波器应用于重构帧,以便去除或平滑由(例如有损)编码引起的伪像。
发明内容
本公开一般涉及视频编译,尤其涉及使用域变换递归滤波器的环路恢复。
本公开实施方式的一个方面是一种用于恢复由源图块的重构产生的劣化帧的劣化图块的方法。该方法包括对于至少一些比例因子中的比例因子:使用比例因子递归地滤波劣化图块,以生成相应的恢复图块;以及确定相应的恢复图块相对于所述源图块的相应误差。该方法还包括从至少一些比例因子中选择最优比例因子,以及基于最优比例因子,在编码比特流中编码比例参数。最优比例因子对应于最小相应误差。因此,在不减少编码或压缩处理的效率的情况下,可以提高编码帧的质量(或者可以提供减少的损耗)。
例如,劣化帧可能由编码和解码过程中出现的保真度或质量的减少引起。
图块可以是帧的至少一部分。
可选地,比例因子可以是劣化图块的空间域上的滤波器方差和劣化图块的像素值的范围上的滤波器方差的函数,以及其中,通过固定空间域上的滤波器方差和劣化图块的像素值的范围上的滤波器方差中的一个并且改变另一个来选择至少一些比例因子。
可选地,递归地滤波劣化图块可以包括:对于预定数目的迭代中的迭代次数:使用比例因子和迭代次数确定行权重;对劣化图块的行执行行滤波操作;使用比例因子和迭代次数确定列权重;以及对劣化图块的列执行列滤波操作。
可选地,迭代的预定数目为3。可以使用其他数字。
可选地,确定行权重可以包括:使用比例因子、像素的梯度和迭代次数来在查找表中查找像素的行权重。
可选地,执行行滤波操作可以包括:使用行权重执行从左到右滤波;以及使用行权重执行从右到左滤波,以及其中,执行列滤波操作包括:使用列权重执行从上到下滤波;以及使用列权重执行从下到上滤波。
可选地,递归滤波可以是梯度域中的滤波。
可选地,劣化图块可以与劣化帧共同扩展。
另一方面是一种用于恢复由源图块的重构产生的劣化帧的劣化图块的装置。该装置包括处理器以及非暂时性存储器,所述存储器存储指令。该指令使得处理器确定相对于源图块的第一误差,第一误差对应于将使用第一比例因子的域变换递归滤波器应用于劣化图块;确定相对于源图块的第二误差,第二误差对应于将使用第二比例因子的域变换递归滤波器应用于劣化图块;以及在编码比特流中编码与第一误差和第二误差中较小者对应的第一比例因子和第二比例因子中的一个。
可选地,可以应用域变换递归滤波器被执行预定数目的迭代。
可选地,迭代的预定数目为3。
可选地,将使用第一比例因子的域变换递归滤波器应用于劣化图块包括用于下述操作的指令:使用第一比例因子确定包括行权重和列权重的权重;使用行权重执行从左到右滤波;使用行权重执行从右到左滤波;使用列权重执行从上到下滤波;以及使用列权重执行从下到上滤波。
可选地,使用第一比例因子确定包括行权重和列权重的权重包括:使用第一比例因子和像素处的水平梯度来在查找表中查找像素的行权重;以及使用第一比例因子和像素处的垂直梯度来在查找表中查找像素的列权重。
可选地,指令进一步包括用于下述操作的指令:基于劣化帧的第二大小,对劣化图块选择第一大小。
可选地,基于劣化帧的第二大小选择劣化图块的第一大小包括:如果第二大小大于256x256像素,则将第一大小设置为256x256像素;以及如果第二大小小于或等于256x256像素,则将第一大小设置为120x120像素。
可选地,域变换是梯度域。
另一方面是一种用于恢复由解码器重构产生的劣化帧的劣化图块的装置。该装置包括处理器和非暂时性存储器,所述存储器存储指令。该指令使得处理器从编码比特流确定比例因子以及使用比例因子递归地滤波劣化图块,以获得恢复图块。比例因子确定劣化图块中的边缘影响滤波操作的强烈程度。
可选地,确定比例因子可以包括:从编码比特流中解码范围滤波器方差;以及使用范围滤波器方差和空间域滤波器方差来计算比例因子。
可选地,空间域滤波器方差是
Figure GDA0002410456820000041
可选地,使用比例因子递归地滤波劣化图块包括:使用比例因子来确定包括行权重和列权重的权重;使用行权重执行从左到右滤波;使用行权重执行从右到左滤波;使用列权重执行从上到下滤波;以及使用列权重执行从下到上的滤波。
应注意到,上述任何特征可以与本发明的任何特定方面或实施例一起使用。
在实施例、附加权利要求和附图的下述详细描述中公开了本公开的这些和其他方面。
附图说明
本文的描述参考附图,其中除非另有说明,否则相似的附图标记在几个视图中指代相似的部件。
图1是视频编码和解码系统的示意图。
图2是可以实现传送站或接收站的计算设备的示例的框图。
图3是待编码并且随后解码的视频流的图。
图4是根据本公开的实施方式的编码器的框图。
图5是根据本公开的实施方式的解码器的框图。
图6是根据本公开的实施方式的用于在编码器处恢复劣化帧的劣化图块的过程的流程图。
图7是根据本公开的实施方式的用于递归地滤波劣化图块的过程的流程图。
图8是根据本发开的实施方式的3×3像素图块的递归滤波的图示。
图9是根据本公开的实施方式的用于在解码器处恢复劣化帧的过程的流程图。
具体实施方式
如上所述,与编译视频流相关的压缩方案可以包括将图像分成块,并且使用一种或多种技术来生成数字视频输出比特流以限制在输出中包括的信息。可以解码所接收的比特流以由有限的信息来重新创建块和源图像。编码视频流或其一部分诸如帧或块可以包括使用视频流中的时间和空间相似性来提高编译效率。例如,可以基于识别先前编译的像素值和当前块中的像素值之间的差(残差)来编码视频流的当前块。以这种方式,仅需要将用于生成其的残差和参数添加到比特流,而不是包括整个当前块。可以使用有损量化步骤来编码残差。从这样的残差解码(即,重构)编码块通常导致原始块和重构块之间的失真。
可以以各种方式使用重构后环路滤波器来改善可能由于编码和解码过程而失真或变形的重构帧。例如,环内去块滤波器可以被用来修改块之间的边界附近的像素值,以限制重构帧内的那些边界的可见性。例如,其他环路滤波器可以被用来通过将例如在编码器处确定的偏移添加到重构帧的像素值,来使重构图像更接近源图像。这样的环路滤波器可以以盲设置操作(即,不访问源帧及其相关的重构帧)。
根据本文的教导,在编码器处对源和重构帧的访问使得编码器可以发送可以指导解码器实现优异恢复的信息。其中,描述了使用域变换递归滤波器的恢复。域变换递归滤波器将重构帧从像素域变换到不同的域(例如,梯度域),并且在不同的域中连续地应用边缘保持平滑滤波器。域变换递归滤波器可以导致边缘保留的去噪帧(即,恢复帧)比重构帧更靠近源帧。也就是说,恢复帧和源帧之间的差异可以小于源帧和重构帧之间的差异。在没有边缘的情况下平滑恢复帧并且保留边缘(即,没有在任何显著的程度上平滑边缘)。可以对基于帧差异的滤波公式的恢复参数进行编码并且信号告知解码器。本文所述的恢复可以在可切换的恢复框架中实现,该框架指的是在对重构帧的不同部分的不同恢复技术或类型之间切换的能力。使用本文所述的技术,可以去除或至少部分地补偿各种系统误差(诸如帧的平坦区域中的DC偏移)或颜色偏差,使得恢复的图像可以更接近源图像。
本文首先参考可以结合本教导的系统来描述使用域变换递归滤波器的恢复。如上所述,在本文的恢复中,可以在一个或多个部分中恢复帧。这些部分中的每一个在本文中分别称为“图块”,其中,图块可以相互重叠或不重叠。图块可以对应或不对应于本文所述的块的边界,但是本文所述的块的编码和解码也适用于图块。
图1是视频编码和解码系统100的示意图。传送站102可以是例如具有诸如图2中所述的硬件的内部配置的计算机。然而,传送站102的其它合适的实施方式是可能的。例如,传送站102的处理可以分布在多个设备中。
网络104可以连接用于视频流的编码和解码的传送站102和接收站106。具体地,可以在传送站102中对视频流进行编码,并且可以在接收站106中对编码的视频流进行解码。网络104可以是例如互联网。网络104还可以是局域网(LAN)、广域网(WAN)、虚拟专用网络(VPN)、蜂窝电话网络或将视频流从传送站102传递到本示例中的接收站106的任何其它装置。
在一个示例中,接收站106可以是具有诸如图2中所述的硬件的内部配置的计算机。然而,接收站106的其它合适的实施方式是可能的。例如,接收站106的处理可以分布在多个设备中。
视频编码和解码系统100的其它实施方式是可能的。例如,实施方式可以省略网络104。在另一实施方式中,视频流可以被编码,然后被存储以在稍后的时间传输到接收站106或具有存储器的任何其它设备。在一个实施方式中,接收站106接收(例如,经由网络104、计算机总线和/或一些通信路径)编码的视频流,并且存储视频流以供稍后解码。在示例实施方式中,实时传输协议(RTP)被用于通过网络104输送编码的视频。在另一实施方式中,可以使用除RTP之外的传输协议,例如基于超文本传输协议(HTTP)的视频流传输协议。
例如,当在视频会议系统中使用时,传送站102和/或接收站106可以包括如下所述编码和解码视频流的能力。例如,接收站106可以是视频会议参与者,其从视频会议服务器(例如,传送站102)接收编码的视频比特流以解码和查看,并且进一步编码并且将其自己的视频比特流传送到视频会议服务器,以由其他参与者解码和查看。
图2是可以实现传送站或接收站的计算设备200的框图。例如,计算设备200可以实现图1的传送站102和接收站106中的一个或两者。计算设备200可以以包括多个计算设备的计算系统的形式,或者可以以单个计算设备的形式,例如移动电话、平板电脑、膝上型计算机、笔记本计算机和桌面型计算机等。
计算设备200中的处理器202可以是中央处理单元。替选地,处理器202可以是能够操纵或处理现在存在或将来开发的信息的任何其它类型的设备或多个设备。尽管所公开的实施方式可以用所示的单个处理器例如处理器202来实现,但是可以使用多个处理器来实现速度和效率方面的优点。
在实施方式中,计算设备200中的存储器204可以是只读存储器(ROM)设备或随机存取存储器(RAM)设备。任何其它合适类型的存储设备可以被用作存储器204。存储器204可以包括由处理器202使用总线212访问的代码和数据206。存储器204可以进一步包括操作系统208和应用程序210,应用程序210包括允许处理器202执行这里描述的方法的至少一个程序。例如,应用程序210可以包括应用1至N,其进一步包括执行这里描述的方法的视频编译应用。计算设备200还可以包括辅助存储214,辅助存储214例如可以是与移动的计算设备200一起使用的存储卡。因为视频通信会话可以包含大量的信息,所以它们可以全部或部分地存储在辅助存储214中,并且根据需要被加载到存储器204中以处理。
计算设备200还可以包括一个或多个输出设备,诸如显示器218。显示器218在一个示例中,可以是将显示器与可操作以感测触摸输入的触敏元件组合的触敏显示器。显示器218可以经由总线212耦合到处理器202。除了显示器218或作为其替选,可以提供允许用户编程或以其它方式使用计算设备200的其它输出设备。当输出设备是或包括显示器时,显示器可以以各种方式实现,包括通过液晶显示器(LCD)、阴极射线管(CRT)显示器或发光二极管(LED)显示器诸如有机LED(OLED)显示器。
计算设备200还可以包括图像感测设备220或者与图像感测设备220进行通信,图像感测设备220例如是相机,或者现在存在或者将来开发的可以感测诸如操作计算设备200的用户的图像的图像的任何其他图像感测设备220。图像感测设备220可以被定位成使得其指向操作计算设备200的用户。在示例中,图像感测设备220的位置和光轴可以被配置使得视场包括与显示器218直接相邻并且从其可见显示器218的区域。
计算设备200还可以包括声音感测设备222或与声音感测设备222通信,声音感测设备222例如是麦克风或者现在存在或者将来开发的可以感测计算设备200附近的声音的任何其它声音感测设备。声音感测装置222可以被定位成使得其指向操作计算装置200的用户,并且可以被配置为接收在用户操作计算装置200时,由用户发出的声音,例如语音或其它话语。
尽管图2将计算设备200的处理器202和存储器204图示为集成为单个单元,但是可以利用其它配置。处理器202的操作可以分布在可以直接耦合或跨越局域或其它网络耦合的多个机器(每个机器具有一个或多个处理器)上。存储器204可以分布在多个机器上,诸如基于网络的存储器或在执行计算设备200的操作的多个机器中的存储器。尽管这里被描绘为单条总线,但是计算设备200的总线212可以由多条总线构成。此外,辅助存储214可以直接耦合到计算设备200的其它组件,或者可以经由网络访问,并且可以包括诸如存储卡的单个集成单元或诸如多个存储卡的多个单元。计算设备200因此可以以各种各样的配置来实现。
图3是待编码并且随后解码的视频流300的示例的图。视频流300包括视频序列302。在下一层级,视频序列302包括多个相邻帧304。虽然三个帧被描绘为相邻帧304,但是视频序列302可以包括任意多个相邻帧。然后,可以将相邻帧304进一步细分为单独的帧,例如帧306。在下一层级,帧306可以被细分成一系列片段308或平面。例如,片段308可以是允许并行处理的帧的子集。片段308也可以是可以将视频数据分离成单独颜色的帧的子集。例如,彩色视频数据的帧306可以包括亮度平面和两个色度平面。可以以不同的分辨率对片段308采样。
无论帧306是否被划分成片段308,帧306可以进一步被细分为块310,块310可以包含与例如帧306中的16×16像素相对应的数据。块310也可以被设置成包括来自像素数据的一个或多个片段308的数据。块310还可以是任何其他合适的尺寸,诸如4×4像素、8×8像素、16×8像素、8×16像素、16×16像素或更大。
图4是根据本公开的实施方式的编码器400的框图。如上所述,可以在传送站102中,诸如通过提供存储在存储器例如存储器204中的计算机软件程序来实现编码器400。计算机软件程序可以包括机器指令,其当由诸如处理器202的处理器执行时,使传送站102以本文所述的方式对视频数据进行编码。编码器400还可以被实现为包括在例如传送站102中的专用硬件。编码器400具有下述级,以在前向路径(由实连接线所示)中执行各种功能,来使用视频流300作为输入产生编码或压缩比特流420:帧内/帧间预测级402、变换级404、量化级406和熵编码级408。编码器400还可以包括重构路径(由虚连接线所示)以重构用于未来块的编码的帧。在图4中,编码器400具有执行重构路径中的各种功能的下述级:去量化级410、逆变换级412、重构级414和环路滤波级416。编码器400的其它结构变体可以被用来编码视频流300。
当呈现视频流300以编码时,可以以块为单位处理帧306。在帧内/帧间预测级402,可以使用帧内(intra-frame)预测(也称为帧内(intra)预测)或帧间(inter-frame)预测(也称为帧间(inter)预测)或两者的组合来编码块。在任何情况下,都可以形成预测块。在帧内预测的情况下,预测块的全部或一部分可以由先前已经编码和重构的当前帧中的样本形成。在帧间预测的情况下,预测块的全部或部分可以由使用运动矢量确定的一个或多个先前构建的参考帧中的样本形成。
接下来,仍然参考图4,可以在帧内/帧间预测级402处从当前块中减去预测块以产生残差块(也称为残差)。变换级404使用基于块的变换,将残差变换为例如频域中的变换系数。这种基于块的变换包括例如离散余弦变换(DCT)和非对称离散正弦变换(ADST)。其他基于块的变换也是可能的。此外,可以对单个残差应用不同变换的组合。在应用变换的一个示例中,DCT将残差块变换到频域中,在该频域中变换系数值基于空间频率。最低频率(DC)系数处于矩阵的左上角并且最高频率系数可以处于矩阵的右下角。值得注意的是,预测块的大小以及由此产生的残差块可以与变换块的大小不同。例如,预测块可以被分成应用了单独变换的较小块。
量化级406使用量化器值或量化水平,将变换系数转换为离散量子值,其被称为量化变换系数。例如,变换系数可以除以量化器值并舍位。然后,由熵编码级408对量化的变换系数进行熵编码。可以使用任何多种技术,包括令牌和二进制树来执行熵编译。然后,将熵编码系数与用于解码块的其他信息包括例如所使用的预测的类型、变换类型、运动矢量和量化器值一起输出到压缩比特流420。可以将用于解码块的信息熵编译成压缩比特流420内的块、帧、片和/或段头。压缩比特流420也可以被称为编码视频流或编码视频比特流,并且这些术语在本文中可互换使用。
图4中的重构路径(由虚连接线所示)可以被用来确保编码器400和解码器500(下文所述)使用相同的参考帧和块来解码压缩比特流420。重构路径执行类似于在下文更详细所述的、解码过程期间发生的功能的功能,包括在去量化级410对量化的变换系数进行去量化,并且在逆变换级412对去量化变换系数进行逆变换以产生衍生残差块(也称为衍生残差)。在重构级414,可以将在帧内/帧间预测级402预测的预测块添加到衍生残差以创建重构块。环路滤波级416可以被应用于重构块以减少诸如成块伪像的失真。
编码器400的其他变体可以被用来编码压缩比特流420。例如,基于非变换的编码器400可以直接量化残差信号而无需针对某些块或帧的变换级404。在另一实施方式中,编码器400可以将量化级406和去量化级410组合成单个级。附加地或替选地,除了环路滤波级416之外,编码器400包括去块滤波级,或者可以组合这些滤波级的功能。
图5是根据本公开的实施方式的解码器500的框图。解码器500可以在接收站106中实现,例如,通过提供存储在存储器204中的计算机软件程序。计算机软件程序可以包括机器指令,当由诸如处理器202的处理器执行时,使得接收站106以下文所描述的方式解码视频数据。解码器500还可以以包括在例如传送站102或接收站106中的硬件来实现。
类似于上文讨论的编码器400的重构路径,解码器500在一个示例中包括下述级以执行各种功能来从压缩比特流420产生输出视频流516:熵解码级502、去量化级504、逆变换级506、帧内/帧间预测级508、重构级510、环路滤波级512和去块滤波级514。解码器500的其他结构变体可以被用来解码压缩比特流420。
当呈现压缩比特流420以解码时,压缩比特流420内的数据元可以由熵解码级502解码以产生量化变换系数的集合。去量化级504对量化的变换系数进行去量化(例如,通过将量化的变换系数乘以量化器值),并且逆变换级506使用所选择的变换类型对去量化的变换系数进行逆变换以产生衍生残差,该衍生残差可以与在编码器400中由逆变换级412创建的衍生残差相同。使用从压缩比特流420解码的报头信息,解码器500可以使用帧内/帧间预测级508来创建与例如在帧内/帧间预测级402处在编码器400中创建的相同的预测块。在重构级510,可以将预测块添加到衍生残差以创建重构块。环路滤波级512可以被应用于重构块以减少如下所述的失真。可以将其他滤波应用于重构块。在该示例中,去块滤波级514被应用于重构块以减少成块伪像,并且结果被输出为输出视频流516。输出视频流516也可以被称为解码视频流,并且术语在本文中可互换使用。
解码器500的其他变体可以被用于解码压缩比特流420。例如,解码器500可以在没有去块滤波级514的情况下产生输出视频流516。在解码器500的一些实施方式中,在环路滤波级512之前并且因此在本文所述的滤波之前应用去块滤波级514。滤波级的功能可以在单个级中组合。
图6是根据本公开的实施方式的用于在编码器处恢复劣化帧的劣化图块的过程600的流程图。过程600可以在诸如编码器400的编码器中实现,并且可以实现为例如可以由诸如传送站102的计算设备执行的软件程序。软件程序可以包括机器可读指令,该指令可以被存储在诸如存储器204或辅助存储214的存储器中,并且可以由诸如处理器202的处理器执行,以使计算设备执行过程600。在至少一些实施方式中,可以由编码器400的环路滤波级416全部或部分地执行过程600。可以在编码器400的环路滤波级416之后全部或部分地执行过程600。
可以使用专用硬件或固件来实现过程600。一些计算设备可以具有多个存储器、多个处理器或两者。可以使用不同的处理器、存储器或两者来分布过程600的步骤或操作。使用以单数形式的术语“处理器”或“存储器”涵盖具有一个处理器或一个存储器的计算设备以及具有可以用在执行一些或所有所述步骤中的多个处理器或多个存储器的设备。
尽管没有明确示出,但是过程600首先接收源帧的对应源图块的劣化图块。劣化图块可以是例如来自编码器的重构环路的重构帧的全部或一部分。也就是说,劣化图块可以与重构帧共同扩展(co-extensive),或者可以小于重构帧。在一些示例中,劣化图块可以包括多个块。劣化图块可以是片段308。在本文中,重构帧被称为劣化帧,以便将其与滤波之后的最终重构(即,恢复)帧区分开。例如,可以在编码器400的环路滤波级416处,从重构级414接收劣化帧的全部或一部分。可以在过程600发生之前去块来自重构级414的劣化帧。
过程600可以接收整个劣化帧并且将该帧划分为一个或多个劣化图块,或者可以接收在编码器的前一级划分的劣化图块。也就是说,过程600可以将劣化帧划分为块。替选地,过程600处理接收帧的任何单元(无论是图块还是帧本身)。
可以基于劣化帧的统计特性的定位与要在编码比特流中使用的比特数之间的折衷来选择每个图块的大小。例如,如果选择较小的图块大小,则可以实现更好的定位;然而,可以使用更高比特数来编码劣化帧。替选地,可以独立于帧的统计特性来选择图块大小,诸如通过参考劣化帧大小。例如,如果帧大小大于256x256像素,则图块大小可以设置为256x256像素;否则,图块大小设置为120x120像素。可以基于超过阈值的帧大小来选择图块大小。可以将图块大小设置为帧的大小,使得帧仅包括一个图块。选择图块大小的其他方式可以与本公开的实施方式一起使用。这样,例如,过程600可以接收重构帧并将其划分为图块。过程600可以基于劣化帧的大小(即,第二大小)来选择劣化图块的大小(即,第一大小)。如上所述,如果第二大小大于256×256像素,则过程600可以将第一大小设置为256×256像素。如果第二大小小于或等于256×256像素,则过程600可将第一大小设定为120×120像素。设置图块大小可以是指将重构(即,劣化)帧划分为图块,使得至少一个图块具有图块大小。
过程600确定用于劣化图块的域变换递归滤波的最优比例因子s。通过测试若干比例因子来确定最优比例因子。最优比例因子是若干比例因子中得到最接近源图块的恢复图块的比例因子。比例因子s可以是两个参数的函数:空间域上的期望滤波器方差(即,劣化图块的像素的像素位置)和信号范围上的期望滤波器方差(即,像素值和/或劣化图块的颜色分量值的范围)。空间域上的期望滤波器方差可以由空间域标准偏差σs表示,其控制滤波器内核的空间大小。在该范围内的期望滤波器方差由信号范围标准偏差σr表示,其确定边缘影响滤波操作的强烈程度。比例因子s由等式(1)给出:
s=σsr (1)
虽然可以更改这些变量的每一个的值,但将一个变量固定到特定值可以实现更简单的计算。也就是说,可以通过固定空间域的滤波器和劣化图块的像素值的范围上的滤波器方差中的一个并且改变另一个来选择比例因子。在本文的示例中,空间域标准偏差σs是固定的,并且测试信号范围标准偏差σr的不同值以确定哪个信号范围标准偏差σr得到最优恢复图块。例如,空间域标准偏差σs可以设置为等于
Figure GDA0002410456820000151
可以从有限数量的值中选择要测试的信号范围标准偏差σr的值。由于信号范围标准偏差σr可以沿包括非整数的连续统下降,因此可以将其量化为任意多个值,例如32、128、64或更多或更少的值。量化级可以取决于用于编码将由解码器接收的编码比特流中的信号范围标准偏差σr的值的可用比特数。例如,如果6位可用,则可以测试信号范围标准偏差σr的64个值。替选地,可以选择不同的比例因子s,使得信号范围标准偏差σr变化。
在602处,过程600确定是否有更多比例因子可用于从多个比例因子测试当前劣化图块。如果更多值可用,则过程600选择一值并且控制转到604;否则控制传递到608。选择比例值可以是指选择信号范围标准偏差σr的值。过程600可以穷尽地测试信号范围标准偏差σr的每个可能的量化值。也就是说,如果64个值可用,则测试64个值中的每一个。替选地,过程600可以测试可能的量化比例因子的一些比例因子。例如,过程600可以执行分段(即,粗略搜索)算法。在一些实施方式中,过程600可以测试每个第八值。从测试值中,过程600选择得到最优恢复图块的值并且继续围绕所选值搜索。替选地,代替搜索范围标准偏差σr的最优值,过程600可以从定义的多个值中选择比例因子s。
在604处,过程600递归地滤波劣化图块,得到恢复图块。在本文的示例中,使用在Eduardo S.L、Gastal和Manuel Oliveira,“Domain transform for Edge-Aware Imageand Video Processing”,在ACM Transactions on Graphics,第30卷(2011),第4期,Proceedings of SIGGRAPH 2011,文章69中部分描述的技术来执行递归滤波,其全部内容通过引用结合于此。
图7是根据本公开的实施方式的用于递归地滤波劣化图块的过程700的流程图。过程700示出了在图6的过程600的604处递归地滤波劣化图块的实施方式。过程700的输入可以包括比例因子、范围标准偏差σr、空间域标准偏差σs或其组合。过程700将图块从像素域变换到梯度域,对变换的图块执行递归操作,并且将图块转换回像素域。过程700重复T次迭代(即,预定数目的迭代)。每次迭代由如下所述的两部分组成:行滤波操作部分和列滤波操作部分。对于预定数目的迭代中的迭代次数,过程700可以使用比例因子和迭代次数来确定行权重,对劣化图块的行执行行滤波操作,使用比例因子和迭代次数确定列权重,并且对劣化图块的列执行列滤波操作。
过程700沿图像块的每个维度应用一维(1D)滤波器。一次处理一行水平大小。一次处理一列垂直维度。期望使用若干遍(即,迭代)以便消除恢复图块中的视觉效果例如条纹效果。交替维度的处理。例如,在垂直维度之前处理一遍或迭代的水平维度。虽然遍数可以多于或少于三次,但已经观察到三遍产生可接受的结果。
在每次迭代中,过程700逐行处理图块。对于每一行,过程700应用从左到右的滤波操作,然后是从右到左的滤波操作。然后,过程700逐列处理图块。对于每列,过程700应用从上到下的滤波操作,然后是从下到上的滤波操作。应用滤波操作的结果用在应用下一滤波操作中。参考图8描述过程700。
图8是根据本发明的实施方式的3×3像素图块的递归滤波的图示800。图8示出了劣化图块802。过程700在完成时产生恢复图块828。如上所述,恢复图块828可以将劣化图块802替换为重构图块。
在702处,过程700确定是否还有更多迭代可用。如果已经执行了所有迭代,则过程700在718结束;否则,过程700前进到706以确定在当前迭代中是否存在要被滤波的当前劣化图块中的任何行。如上所述,过程700可以被执行定义的(例如,预定的)数目T的迭代。虽然过程700在下文被描述为首先执行某一方向上的滤波(即,水平地和逐行地),但是不一定是这样。例如,过程700可以在执行逐行滤波之前,首先执行逐列滤波。
对于劣化图块中的每一行,过程700执行708-710。当图8中的劣化图块802被示为具有三(3)行时,则在该示例中,过程700执行708-710三(3)次。
在708处,过程700确定作为当前迭代的对象的行的行权重。行权重由权重an,i给出,其中n对应于像素位置,i对应于当前迭代的迭代次数。本文所述的滤波操作取决于权重an,i。在一些滤波技术中,滤波系数(即,权重)对于每个像素可以是恒定的。然而,如下所述,本文的滤波权重an,i根据像素位置n处的梯度dn和迭代次数i而变化。
如下所述,在梯度域中执行滤波操作。设计an,i,使得即使在梯度域中执行滤波操作,当过程700结束时,恢复图块的值仍然在像素域中。行权重an,i使用等式(2)确定:
Figure GDA0002410456820000181
在等式(2)中,s是在图6的602处选择的比例因子,梯度dn是对要滤波的1D信号的第n个像素位置处的局部梯度的估计,i是702的迭代次数,以及ai是迭代滤波器标准偏差。迭代滤波器标准偏差ai由等式(4)给出。虽然可以使用梯度的其他度量和/或值,但是在本文所述的示例中,梯度dn是I[n](即,行的第n个位置处的像素的像素值)与滤波方向上的I[n-1](即,同一行的第(n-1)个位置处的像素的像素值)的绝对像素差,如等式(3)给出的。
dn=|I[n]-I[n-1]| (3)
在另一示例中,当确定梯度时,可以使用像素之间的距离L。例如,梯度dn可以是行的第n个位置和滤波方向上的同一行的第(n-L)个位置处的像素的绝对像素差。
现在给出计算梯度dn的示例。对于图8的像素位置804处的像素,并且当应用从左到右滤波器时,梯度dn(例如,水平梯度)由公式806给出为dn=|X0,1–X0,0|。公式806使用像素位置804处的像素的像素值和像素位置804的紧邻左侧的像素的值。应用从左到右滤波器操作的结果是图块808。然后使用图块808应用从右向左滤波操作。对于像素位置810处的像素(即,与像素位置804相同的像素位置),通过等式812给出梯度dn(例如,水平梯度)为dn=|Y0,1–Y0,2|。等式812使用像素位置810处的像素的值和像素位置810的紧邻右侧的像素的值。图块814是应用从右到左的滤波操作的结果。等式820dn=|X1,1–X0,1|示出了当执行从上到下滤波操作时确定用于图块816的像素位置818处的像素的梯度dn(例如,垂直梯度)。等式820使用像素位置818处的像素的值和像素位置818正上方的像素的值。图块822是应用从上到下的滤波操作的结果。等式826dn=|Y1,1–Y2,1|示出了当执行从下到上滤波操作时,确定用于图块822的像素位置824处的像素的梯度dn(例如,垂直梯度)。等式826使用像素位置824处的像素的值和像素位置824正下方的像素的值。
如上所述,梯度dn是相对于滤波方向上的前一像素位置的像素位置处的梯度的度量。高梯度值可以指示在像素位置处的图块中存在边缘。这样,像素位置处的权重an,i可以被设计为具有边缘保留效果(即,较少的滤波)。当梯度值小时,可以执行更多滤波(即,平滑)。
如上所述,(例如,对于迭代系数)第i次迭代的迭代滤波器标准偏差ai由等式(4)给出:
Figure GDA0002410456820000191
在等式(4)中,T是迭代的数目,i是迭代次数,并且σs是空间域标准偏差。
权重an,i可以被包括在查找表中,使得确定行权重是从查找表在708处确定的,而不是被计算的。可以通过预先计算权重an,i并且将它们与用于范围标准偏差σr的可能值的索引、迭代次数和梯度dn的可能值一起存储来生成查找表。假设但不限于劣化图块(例如劣化图块802)的像素值在[0,255]范围内(即,对于8位内容),则梯度dn值也在[0,255]范围中。也就是说,梯度dn也有256个可能值。如上所述,范围标准偏差σr在示例中可以具有64个值。此外,在上述示例中,存在定义的数目T的迭代,其中,三(3)遍或3次迭代就足够了。在这种情况下,查找表可以包括用于权重an,i的49,152个的条目(范围标准偏差σr的64个可能值乘以3迭代次数乘以梯度dn的256个可能值)。这是编解码器应用中相对较小的表,可以与编码器和解码器共享。
在708处,过程700可获得范围标准偏差σr的值和迭代次数。为了查找权重an,i的值,过程700确定(即,计算)梯度dn值。然后,过程700使用计算的梯度dn值、迭代次数i和范围标准偏差σr的值来在查找表中查找权重an,i的值。权重an,i可以映射到整数域并且作为整数存储在查找表中。
在708处确定行权重之后,过程700在710处执行行滤波。行滤波操作包括从左到右的滤波操作,随后是应用于行的每个像素的从右到左的滤波操作。从左到右的滤波操作将等式(5)应用于图8的劣化图块802的行的像素,得到图8的图块808的中间y[n]值。
y[0]=x[0];y[n]=(1-an,i)x[n]+an,iy[n-1],n=1,2,...,N-1(5)
在等式(5)中,省略了行索引。例如,当处理第二行时,y[0]对应于图8的图块808中的Y[1,0],x[0]对应于劣化图块802中的X[1,0],x[n]对应于X[1,n],依此类推。第一中间值y[0]被设置为与劣化帧的第一值x[0]相同。随后的y[n]值是x[n]值和先前计算的滤波的y[n-1]值的递归滤波版本。
使用从左到右滤波操作的结果来执行从右到左的滤波操作。也就是说,从右到左的滤波操作使用图8的图块808。从右到左的操作将等式(6)应用于图块808的行的像素。
z[N-1]=y[N-1];z[n]=(1-an,i)y[n]-an,iz[n+1],n=N-2,...,0(6)
从等式(2)-(6)可以观察到,当像素n处的梯度dn高时,该像素的权重an,i的值也高。在这种情况下,等式(5)和(6)的滤波器产生选择更多的像素本身和更少的先前滤波的像素以包括在得到的滤波的像素值中(即,加权高于先前的滤波像素的像素值)。因此,较高的梯度dn具有边缘保持效果。另一方面,当梯度值dn小时,则先前滤波的像素的更多值包括在得到的滤波像素中。也就是说,平滑得到的像素值。
在710处的行滤波完成时,过程700返回到706以确定是否存在要在当前迭代中滤波的剩余行。当在706处,响应于查询来处理劣化图块的所有行时,过程700前进到712以确定在当前迭代中是否还有剩余的列要滤波。在712-716中,过程700执行与关于706-710描述的操作类似的操作。也就是说,以与708处确定行权重类似的方式,在714处确定列权重,并且以与在710处的行滤波类似的方式执行从上到下和从下到上的列滤波。
虽然劣化图块802在708处被用作初始行的起始图块,但是图块814在714处被用作初始列的起始图块。这由图8的虚线830指示。即,图块814和图块816是相同的。虽然图8的图块802、814、816和828被图示为单独图块,但相同的存储器可以被用于X和Z值。也就是说,计算的z[n]值替换相应的x[n]值。在过程700完成时,图块828构成图8的劣化图块802的恢复图块。
图8的图块828是完成过程700的单次迭代的结果。图8的图块828被用作过程700的下一次迭代中的图8的劣化图块802。并且在过程700的所有迭代完成时,得到的图块构成恢复图块。
其他滤波技术诸如使用双边滤波器的滤波技术可能需要关于正在处理的像素的窗口。这可能导致复杂且昂贵的处理。相比之下,本文描述的从左到右、从右到左、从上到下和从下到上滤波操作中的每一个是简单操作,其不需要多于前一像素的值。这样,根据本公开的实施方式得到简单且廉价的处理。
返回到图6中的过程600,在606处确定恢复图块的误差。确定源图块和恢复图块之间的误差。该误差可以是相应图块的共位像素值之间的均方误差。误差可以是相应图块的共位像素值之间的绝对差值误差之和。可以使用任何其他合适的误差测量。然后,过程600返回到602以确定是否有任何其他比例因子可用于测试。如果是,则重复604处的递归滤波和606处的确定误差,直到不存在另外的要测试的比例因子为止。
一旦在滤波过程中测试了所有比例因子,过程600就前进到608。在608,过程600从可用比例因子中选择用于环路滤波的比例因子。例如,过程600可以选择多个比例因子中得到最小误差的比例因子。可以选择所测试的多个比例因子中的最优比例因子的另一值,只要它得到与误差的其他值相比相对小的误差。
在610处,过程600基于最优比例因子在编码比特流中编码比例参数。例如,过程600可以量化和编码与最优比例因子相对应的信号范围标准偏差σr(即,参数中的未固定的参数)。替选地,过程600可以量化和编码比例因子s。
当过程600全部或部分地由编码器400的环路滤波级416执行时,(在多个图块用于劣化图像的情况下)由重构图块形成的重构图像可用于预测后续帧。
当劣化帧由多个劣化图块形成时,可以基于不同的恢复类型来恢复多个劣化图块的每个劣化图块。例如,除了上述的域变换递归滤波之外,其他可能的恢复类型可以包括基于滤波和子空间投影自引导滤波器的滤波器、维纳滤波器或双边滤波器。例如,可以测试多个恢复类型,并且比较结果,以确定哪个得到源图块和恢复图块之间的最小误差。当多个恢复类型可用时,当前图块的恢复类型也可以在610处被编码到比特流中。
可以将参数以及可选地恢复类型编码到帧头部、片头部、段头部、块头部、图块头部或这些头部的组合中。也可以在比特流内传送在重构过程中使用的图块的标识。替选地,可以在比特流内传送用于划分的参数,使得诸如解码器500的解码器可以在解码过程期间重新创建图块。
解码器使用恢复参数(和恢复类型,当可用时),以获得参考图9所述的重构图块。
图9是根据本公开的实施方式的用于在解码器处恢复劣化帧的过程900的流程图。过程900可以由诸如解码器500的解码器执行。例如,过程900可以全部或部分地由解码器500的环路滤波器级512执行。可以通过在存储器诸如接收站106的存储器204中存储将由处理器诸如处理器202执行的指令,执行过程900的实施方式。
可以使用专用硬件或固件来实现过程900。一些计算设备可以具有多个存储器、多个处理器或两者。可以使用不同的处理器、存储器或两者来分布过程900的步骤或操作。为了简化说明,过程900被图示和描述为一系列步骤或操作。然而,根据本公开的教导可以以各种顺序和/或同时发生。另外,根据本公开的步骤可以与本文未呈现和描述的其他步骤一起发生。此外,并非所有示出的步骤或操作都可以被用来实现根据所公开的主题的方法。
在解码器生成源帧的劣化图块之后,过程900全部或部分地发生。劣化图块可以是例如由解码器的重构环路产生的重构帧的全部或一部分。也就是说,劣化帧可以是由解码器重构产生的帧。同样,该帧被称为劣化帧,以便将其与滤波后的最终重构帧区分开。例如,可以在解码器500的去块滤波级514处从重构级510接收劣化帧的全部或一部分。解码器500可以被布置为使得去块滤波器级514在环路滤波器级512之前。替选地,另一滤波器级可以位于去块滤波器级514之后。在任一种情况下,来自重构级414的劣化帧可以在过程900发生之前被去块。
在902处,过程900从编码比特流中确定劣化图块的比例参数。比例参数可以确定劣化图块中的边缘影响如上所述的滤波操作的强烈程度。在示例中,比例参数可以通过从插入它的头部解码和去量化已量化的比例因子来确定。比例参数可以是如上所述的比例因子s。比例参数可以是信号范围标准偏差σr,从中可以如上所述确定比例因子。在示例中,确定比例因子可以包括从编码比特流解码范围滤波器方差,并使用范围滤波器方差和空间域滤波器方差来计算比例因子。范围滤波器方差可以是或可以对应于由过程600的608处的编码器确定的最优范围标准偏差σr。在示例中,空间域滤波器方差可以被设置为预定值,诸如
Figure GDA0002410456820000241
在904处,递归地滤波劣化图块以生成恢复图块。可以使用当前劣化图块,根据图7的过程执行递归滤波。在实施方式中,过程900在查找表中查找行和列权重,类似于参考图7的708所述。在示例中,使用比例因子递归地滤波劣化图块可以包括使用比例因子来确定包括行权重和列权重的权重、使用行权重执行从左到右的滤波、使用行权重执行从右到左滤波、使用列权重执行从上到下的滤波、并且使用列权重执行从下到上的滤波。
可以根据需要重复图9的过程900,例如,如果劣化帧构成多于一个图块,直到重构帧被完成以包括作为输出视频流的一部分,诸如图5的输出视频流516。
如果对帧使用不同的恢复类型,则可以从编码它的头部解码图块的恢复类型。如果指示了域变换递归滤波器类型,则发生过程900。如果使用另一种恢复类型,则可以在重构过程中使用适当的滤波器(例如,维纳滤波器或双边滤波器)。
上文所述的编码和解码的方面示出一些编码和解码技术。然而,应当理解到,作为权利要求中使用的那些术语的编码和解码可以是指数据的压缩、解压缩、变换或任何其它处理或变化。
词语“示例”或“实施方式”在本文中用于表示用作示例、实例或说明。在本文中被描述为“示例”或“实施方式”的任何方面或设计不一定被解释为比其它方面或设计优选或有利。相反,使用词语“示例”或“实施方式”旨在以具体的方式呈现概念。如本申请中所使用的,术语“或”旨在表示包括性的“或”而不是排他性的“或”。也就是说,除非另有规定或从上下文中清楚,“X包括A或B”旨在表示任何自然的包括性排列。也就是说,如果X包括A;X包括B;或X包括A和B两者,则在任何前述情况下满足“X包括A或B”。此外,除非另有说明或从上下文中清楚地指示单数形式,否则本申请和所附权利要求中使用的冠词“a(一)”和“an(一)”通常应被解释为意指“一个或多个”。此外,贯穿全文使用术语“实施方式”或“一个实施方式”并不旨在表示相同的实施例或实施方式,除非这样描述。
传送站102和/或接收站106(以及其上存储的和/或由其执行,包括由编码器400和解码器500执行的算法、方法、指令等等)的实施方式可以以硬件、软件或其任何组合实现。硬件可以包括例如计算机、知识产权(IP)核、专用集成电路(ASIC)、可编程逻辑阵列、光学处理器、可编程逻辑控制器、微代码、微控制器、服务器、微处理器、数字信号处理器或任何其它合适的电路。在权利要求中,术语“处理器”应当被理解为单独地或组合地包括任何前述硬件。术语“信号”和“数据”可互换使用。此外,传送站102和接收站106的部分不一定必须以相同的方式实现。
此外,在一个方面中,例如,传送站102或接收站106可以使用具有计算机程序的通用计算机或通用处理器来实现,所述计算机程序在被执行时实现本文所述的任何相应的方法、算法和/或指令。附加地或替选地,例如,可以使用可以包含用于执行本文所述的任何方法、算法或指令的其它硬件的专用计算机/处理器。
传送站102和接收站106可以例如在视频会议系统中的计算机上实现。替选地,传送站102可以在服务器上实现,并且接收站106可以在与服务器分离的设备诸如手持通信设备上实现。在这种情况下,传送站102可以使用编码器400将内容编码为编码视频信号,并将编码视频信号传送到通信设备。继而,通信设备然后可以使用解码器500对编码的视频信号进行解码。替选地,通信设备可以解码在通信设备上本地存储的内容,例如未由传送站102传送的内容。其它传送站102和接收站106实施方案是可用的。例如,接收站106可以是通常固定的个人计算机而不是便携式通信设备,和/或包括编码器400的设备还可以包括解码器500。
此外,本公开的实施方式的全部或一部分可以采用可从例如有形计算机可用或计算机可读介质访问的计算机程序产品的形式。计算机可用或计算机可读介质可以是例如有形地包含、存储、传达或输送由任何处理器使用或与任何处理器结合使用的程序的任何设备。介质可以是例如电子、磁性、光学、电磁或半导体器件。也可使用其它合适的介质。
已经描述了上述实施例、实施方式和方面以便于容易理解本公开,并且不限制本公开。相反,本公开旨在覆盖包括在所附权利要求的范围内的各种修改和等同布置,其范围符合最宽泛的解释,以包括法律允许的所有这样的修改和等同结构。

Claims (15)

1.一种用于恢复由源图块的重构产生的劣化帧的劣化图块的方法,所述方法包括:
对于至少一些比例因子中的比例因子:
使用该比例因子来域变换递归滤波所述劣化图块,以生成相应的恢复图块,其中,域变换递归滤波所述劣化图块包括:在滤波前,将所述劣化图块从像素域变换到梯度域,所述梯度域包括像素值的梯度;以及
确定所述相应的恢复图块相对于所述源图块的相应误差;
其中,所述比例因子是所述劣化图块的空间域上的滤波器方差和所述劣化图块的像素值的范围上的滤波器方差的比,其中,所述空间域上的滤波器方差控制滤波器内核大小并且所述像素值的范围上的滤波器方差确定边缘影响滤波操作的强烈程度,以及
其中,所述至少一些比例因子是通过固定所述劣化图块的空间域上的滤波器方差和像素值的范围上的滤波器方差中的一个并且改变另一个来选择的;
从所述至少一些比例因子中选择最优比例因子,所述最优比例因子对应于最小相应误差;以及
在编码比特流中编码以下中的一者:
所述最优比例因子,或者
所述空间域上的滤波器方差与所述像素值的范围上的滤波器方差中的、与所述最优比例因子相对应的未固定的滤波器方差;
其中,域变换递归滤波所述劣化图块包括:
对于预定数目的迭代中的迭代次数:
使用所述比例因子和该迭代次数确定行权重;
对所述劣化图块的行执行递归行滤波操作;
使用所述比例因子和该迭代次数确定列权重;以及
对所述劣化图块的列执行递归列滤波操作。
2.如权利要求1所述的方法,其中,所述迭代的预定数目为3。
3.如权利要求1或2所述的方法,其中,确定所述行权重包括:
使用所述比例因子、所述像素值的梯度和所述迭代次数来在查找表中查找像素的行权重。
4.如权利要求1或2所述的方法,
其中,执行所述递归行滤波操作包括:
使用所述行权重执行从左到右滤波;以及
使用所述行权重执行从右到左滤波,并且
其中,执行所述递归列滤波操作包括:
使用所述列权重执行从上到下滤波;以及
使用所述列权重执行从下到上滤波。
5.如权利要求1或2所述的方法,其中,所述劣化图块与所述劣化帧共同扩展。
6.一种用于恢复由源图块的重构产生的劣化帧的劣化图块的装置,包括:
处理器;以及
存储计算机程序指令的非暂时性存储器,所述计算机程序指令在被所述处理器执行时使得所述处理器执行包括以下的操作:
确定相对于所述源图块的第一误差,所述第一误差对应于将使用第一比例因子的域变换递归滤波器应用于所述劣化图块,其中,应用使用第一比例因子的域变换递归滤波器包括:在滤波前,将所述劣化图块从像素域变换到梯度域,所述梯度域包括像素值的梯度;
确定相对于所述源图块的第二误差,所述第二误差对应于将使用第二比例因子的所述域变换递归滤波器应用于所述劣化图块,其中,应用使用第二比例因子的域变换递归滤波器包括:在滤波前,将所述劣化图块从像素域变换到梯度域,所述梯度域包括像素值的梯度;以及
在编码比特流中编码与所述第一误差或所述第二误差中较小者对应的所述第一比例因子和所述第二比例因子中的一个,
其中,所述第一比例因子和所述第二比例因子均是所述劣化图块的空间域上的滤波器方差和所述劣化图块的像素值的范围上的滤波器方差的比,其中,所述空间域上的滤波器方差控制滤波器内核大小并且所述像素值的范围上的滤波器方差确定边缘影响滤波操作的强烈程度,
其中,所述第一比例因子和所述第二比例因子是通过固定所述劣化图块的空间域上的滤波器方差和像素值的范围上的滤波器方差中的一个并且改变另一个来选择的,
其中,将使用所述第一比例因子的所述域变换递归滤波器应用于所述劣化图块包括:
对于预定数目的迭代中的迭代次数:
使用所述第一比例因子和该迭代次数确定行权重;
对所述劣化图块的行执行递归行滤波操作;
使用所述第一比例因子和该迭代次数确定列权重;以及
对所述劣化图块的列执行递归列滤波操作;
其中,将使用所述第二比例因子的所述域变换递归滤波器应用于所述劣化图块包括:
对于预定数目的迭代中的迭代次数:
使用所述第二比例因子和该迭代次数确定行权重;
对所述劣化图块的行执行递归行滤波操作;
使用所述第二比例因子和该迭代次数确定列权重;以及
对所述劣化图块的列执行递归列滤波操作。
7.如权利要求6所述的装置,其中,应用所述域变换递归滤波器被执行预定数目的迭代。
8.如权利要求7所述的装置,其中,所述迭代的预定数目为3。
9.如权利要求6至8中任一项所述的装置,
其中,执行所述递归行滤波操作包括:
使用所述行权重执行从左到右滤波;以及
使用所述行权重执行从右到左滤波;以及
其中,执行所述递归列滤波操作包括:
使用所述列权重执行从上到下滤波;以及
使用所述列权重执行从下到上滤波。
10.如权利要求9所述的装置,其中,使用所述第一比例因子确定所述行权重和所述列权重包括:
使用所述第一比例因子和像素处的水平梯度来在查找表中查找所述像素的行权重;以及
使用所述第一比例因子和所述像素处的垂直梯度来在所述查找表中查找所述像素的列权重。
11.如权利要求6至8中任一项所述的装置,其中,所述操作进一步包括:
基于所述劣化帧的第二大小,选择所述劣化图块的第一大小。
12.一种用于恢复由解码器重构产生的劣化帧的劣化图块的装置,所述装置包括:
处理器;以及
存储计算机程序指令的非暂时性存储器,所述计算机程序指令在被所述处理器执行时使得所述处理器执行包括以下的操作:
通过以下操作来从编码比特流确定比例因子:
从所述编码比特流中解码范围滤波器方差;以及
计算空间域滤波器方差和所述范围滤波器方差的比,
其中,所述空间域滤波器方差控制滤波器内核大小并且所述范围滤波器方差确定边缘影响滤波操作的强烈程度;以及
使用所述比例因子域变换递归滤波所述劣化图块,得到恢复图块,其中,应用使用所述比例因子的域变换递归滤波器包括:
在滤波前,将所述劣化图块从像素域变换到梯度域,所述梯度域包括像素值的梯度,以及执行以下步骤:
对于预定数目的迭代中的迭代次数:
使用所述比例因子和该迭代次数确定行权重;
对所述劣化图块的行执行递归行滤波操作;
使用所述比例因子和该迭代次数确定列权重;以及
对所述劣化图块的列执行递归列滤波操作。
13.如权利要求12所述的装置,其中,所述空间域滤波器方差是
Figure FDF0000012487330000051
14.如权利要求12或13所述的装置,
其中,执行所述递归行滤波操作包括:
使用所述行权重执行从左到右滤波;以及
使用所述行权重执行从右到左滤波;以及
其中,执行所述递归列滤波操作包括:
使用所述列权重执行从上到下滤波;以及
使用所述列权重执行从下到上滤波。
15.一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储计算机程序指令,所述计算机程序指令当由计算机执行时使得所述计算机执行权利要求1至5中任一项所述的方法。
CN201780067335.7A 2016-12-01 2017-09-29 用于恢复由重构产生的劣化帧的劣化图块的方法和装置 Active CN109891894B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111143037.6A CN113873237B (zh) 2016-12-01 2017-09-29 用于恢复由重构产生的劣化帧的劣化图块的方法和装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662428718P 2016-12-01 2016-12-01
US62/428,718 2016-12-01
PCT/US2017/054331 WO2018102017A1 (en) 2016-12-01 2017-09-29 Restoration in video coding using domain transform recursive filters

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202111143037.6A Division CN113873237B (zh) 2016-12-01 2017-09-29 用于恢复由重构产生的劣化帧的劣化图块的方法和装置

Publications (2)

Publication Number Publication Date
CN109891894A CN109891894A (zh) 2019-06-14
CN109891894B true CN109891894B (zh) 2021-10-08

Family

ID=60043399

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201780067335.7A Active CN109891894B (zh) 2016-12-01 2017-09-29 用于恢复由重构产生的劣化帧的劣化图块的方法和装置
CN202111143037.6A Active CN113873237B (zh) 2016-12-01 2017-09-29 用于恢复由重构产生的劣化帧的劣化图块的方法和装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202111143037.6A Active CN113873237B (zh) 2016-12-01 2017-09-29 用于恢复由重构产生的劣化帧的劣化图块的方法和装置

Country Status (4)

Country Link
US (1) US10757408B2 (zh)
EP (1) EP3516877B1 (zh)
CN (2) CN109891894B (zh)
WO (1) WO2018102017A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200060589A (ko) 2018-11-21 2020-06-01 삼성전자주식회사 병합된 프레임율 컨버터와 비디오 코덱을 갖는 시스템 온 칩 및 그것의 프레임율 변환 방법
US11044473B2 (en) * 2018-12-21 2021-06-22 Qualcomm Incorporated Adaptive loop filtering classification in video coding
WO2021026361A1 (en) * 2019-08-06 2021-02-11 Op Solutions, Llc Adaptive resolution management using sub-frames
JP2022544164A (ja) 2019-08-06 2022-10-17 オーピー ソリューションズ, エルエルシー フレームタイプに基づく適応分解能管理の暗示的信号伝達
BR112022002204A2 (pt) 2019-08-06 2022-10-18 Op Solutions Llc Redimensionamento de previsão de gerenciamento de resolução adaptativa
KR20220090493A (ko) 2019-08-06 2022-06-29 오피 솔루션즈, 엘엘씨 블록-기반 적응적 해상도 관리
BR112022008918A2 (pt) 2019-11-08 2022-08-02 Op Solutions Llc Métodos e sistemas para corte adaptável
US11743459B2 (en) 2020-09-29 2023-08-29 Qualcomm Incorporated Filtering process for video coding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2249572A1 (en) * 2008-03-07 2010-11-10 Kabushiki Kaisha Toshiba Dynamic image encoding/decoding method and device

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3116266A1 (de) * 1981-04-24 1982-11-11 TE KA DE Felten & Guilleaume Fernmeldeanlagen GmbH, 8500 Nürnberg Verfahren zum entzerren eines datensignales
US4652907A (en) * 1985-03-25 1987-03-24 Rca Corporation Apparatus for adaptively controlling a video signal recursive filter
US4698672A (en) * 1986-10-27 1987-10-06 Compression Labs, Inc. Coding system for reducing redundancy
US5150432A (en) * 1990-03-26 1992-09-22 Kabushiki Kaisha Toshiba Apparatus for encoding/decoding video signals to improve quality of a specific region
US5610657A (en) * 1993-09-14 1997-03-11 Envistech Inc. Video compression using an iterative error data coding method
FR2841424A1 (fr) * 2002-06-25 2003-12-26 Koninkl Philips Electronics Nv Procede de detection d'artefacts de bloc
US7778480B2 (en) * 2004-11-23 2010-08-17 Stmicroelectronics Asia Pacific Pte. Ltd. Block filtering system for reducing artifacts and method
US8218655B2 (en) * 2005-09-19 2012-07-10 Maxim Integrated Products, Inc. Method, system and device for improving video quality through in-loop temporal pre-filtering
US7885341B2 (en) * 2005-10-21 2011-02-08 Cisco Technology, Inc. Spatial filtering for improving compression efficiency of motion compensated interframe coding
JP4945532B2 (ja) * 2008-09-05 2012-06-06 株式会社東芝 劣化画像復元方法、劣化画像復元装置、及び、プログラム
US20100091127A1 (en) * 2008-09-30 2010-04-15 University Of Victoria Innovation And Development Corporation Image reconstruction method for a gradient camera
BRPI0921986A2 (pt) * 2008-11-25 2018-06-05 Thomson Licensing métodos e aparelho para filtralçao por eliminação de artefatos à base de matrizes esparsas para codificação e decodificação de vídeo
EP2520092A1 (en) * 2009-12-31 2012-11-07 Thomson Licensing Methods and apparatus for adaptive coupled pre-processing and post-processing filters for video encoding and decoding
US8630356B2 (en) * 2011-01-04 2014-01-14 The Chinese University Of Hong Kong High performance loop filters in video compression
US8538114B2 (en) * 2011-06-06 2013-09-17 Kabushiki Kaisha Toshiba Method and system utilizing parameter-less filter for substantially reducing streak and or noise in computer tomography (CT) images
JP2013074491A (ja) * 2011-09-28 2013-04-22 Sony Corp 画像処理装置および方法
KR101462052B1 (ko) * 2011-11-09 2014-11-20 에스케이 텔레콤주식회사 변환을 이용한 주파수 도메인 상의 적응적 루프 필터를 이용한 영상 부호화/복호화 방법 및 장치
US20130235931A1 (en) * 2012-03-06 2013-09-12 Apple Inc. Masking video artifacts with comfort noise
US9641729B2 (en) * 2012-04-26 2017-05-02 Futurewei Technologies, Inc. System and method for encoder-integrated media denoising
US9800869B2 (en) * 2012-06-15 2017-10-24 Google Technology Holdings LLC Method and apparatus for efficient slice header processing
WO2015104963A1 (ja) * 2014-01-09 2015-07-16 株式会社日立国際電気 画像処理装置及び動画像伝送方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2249572A1 (en) * 2008-03-07 2010-11-10 Kabushiki Kaisha Toshiba Dynamic image encoding/decoding method and device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Domain transform for edge-aware image and video processing;Eduardo Gastal等;《SIGGRAPH "11: ACM SIGGRAPH 2011 papers》;ACM;20110731;第30卷(第4期);全文 *

Also Published As

Publication number Publication date
CN113873237A (zh) 2021-12-31
CN113873237B (zh) 2023-12-29
EP3516877A1 (en) 2019-07-31
US10757408B2 (en) 2020-08-25
US20180160117A1 (en) 2018-06-07
CN109891894A (zh) 2019-06-14
EP3516877B1 (en) 2020-03-11
WO2018102017A1 (en) 2018-06-07

Similar Documents

Publication Publication Date Title
CN109891894B (zh) 用于恢复由重构产生的劣化帧的劣化图块的方法和装置
JP7110370B2 (ja) ビデオ符号化のための機械学習モデルの量子化パラメータに適用される非線形関数の使用
JP6858277B2 (ja) 方向性イントラ予測コーディング
US10469876B2 (en) Non-local adaptive loop filter combining multiple denoising technologies and grouping image patches in parallel
US20230188733A1 (en) Video display preference filtering
CN107231557B (zh) 用于在视频编码中的高级帧内预测的递归块分区中的智能重排的编、解码方法及装置
CN112203088B (zh) 用于非基带信号代码化的变换选择
KR102598789B1 (ko) 비디오 코딩에서의 필터링을 위한 장치 및 방법
US10277897B1 (en) Signaling in-loop restoration filters for video coding
CN110169059B (zh) 视频代码化的复合预测
US10009622B1 (en) Video coding with degradation of residuals
CN109891885B (zh) 视频编译中用于环路恢复的引导偏移校正
CN107018416B (zh) 用于视频和图像压缩的自适应贴片数据大小编码
CN110692245A (zh) 用于压缩的图像处理
US11924476B2 (en) Restoration in video coding using filtering and subspace projection
CN113170121A (zh) 用于比特率减少的视频流自适应滤波
CN115280772A (zh) 有损压缩的二重标准块分割启发法
CN117957839A (zh) 使用上下文设计的滤波器过滤侧信息
WO2022229495A1 (en) A method, an apparatus and a computer program product for video encoding and video decoding

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