CN109906610A - 使用滤波和子空间投影的视频编译的恢复 - Google Patents

使用滤波和子空间投影的视频编译的恢复 Download PDF

Info

Publication number
CN109906610A
CN109906610A CN201780067371.3A CN201780067371A CN109906610A CN 109906610 A CN109906610 A CN 109906610A CN 201780067371 A CN201780067371 A CN 201780067371A CN 109906610 A CN109906610 A CN 109906610A
Authority
CN
China
Prior art keywords
segment
parameter
deterioration
frame
pixel
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
CN201780067371.3A
Other languages
English (en)
Other versions
CN109906610B (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 CN201911257754.4A priority Critical patent/CN111050167B/zh
Publication of CN109906610A publication Critical patent/CN109906610A/zh
Application granted granted Critical
Publication of CN109906610B publication Critical patent/CN109906610B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • 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/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
    • 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/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/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
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20192Edge enhancement; Edge preservation
    • 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
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

描述了恢复由源帧的重构产生的劣化帧。一种方法包括:使用第一恢复参数,为劣化帧的劣化图块生成第一引导图块,确定投影操作的投影参数,以及在编码比特流中编码第一恢复参数和投影参数。投影操作将源帧的源图块和劣化图块之间的差异与第一引导图块和劣化图块之间的差异相关联。

Description

使用滤波和子空间投影的视频编译的恢复
相关申请的交叉引用
本申请要求2016年11月4日提交的美国临时专利申请序列号62/417,545的权益,其全部公开内容通过引用结合于此。
背景技术
数字视频流可以使用帧序列或静态图像来表示视频。数字视频可以用于各种应用,包括例如视频会议、高清视频娱乐、视频广告或用户生成的视频的共享。数字视频流可以包含大量数据,并且消耗计算设备的大量计算或通信资源以用于处理、传输或存储视频数据。已经提出了各种方法来减少视频流中的数据量,包括压缩和其它编码技术。
使用压缩的编码可以通过将帧或图像分成随后被压缩的块来执行,通常使用导致一些数据丢失的编码技术。解码器可以将一个或多个滤波器应用于重构帧,以便去除或平滑由(例如有损)编码引起的伪像。
发明内容
本公开一般涉及视频编译,尤其涉及使用滤波和子空间投影的恢复。
本公开的实施方式的一个方面是一种恢复由源帧的重构产生的劣化帧的方法。该方法包括使用第一恢复参数生成用于劣化帧的劣化图块的第一引导图块,确定投影操作的投影参数,以及在编码比特流中编码第一恢复参数和投影参数。投影操作将源帧的源图块和劣化图块之间的差异与第一引导图块和劣化图块之间的差异相关联。因此,在不降低编码或压缩过程的效率的情况下,可以提高编码帧的质量(或提供减少的损耗)。
例如,劣化帧可能由编码和解码过程中出现的保真度或质量的降低引起。
恢复参数可以是描述源图块或帧与引导图块以及原始帧两者之间的差异的值的实际值或近似值。例如,恢复参数可以包括例如从半径和噪声值的码本中选择的半径和/或噪声值。图块可以是帧的至少一部分。
可选地,生成第一引导图块可以包括下述中的一个或多个(以任意组合):
从半径和噪声值的码本中选择半径和噪声值;
对劣化图块的像素位置处的每个像素:
使用所述半径确定相对于以像素为中心的第一窗口中的劣化图块的像素值的像素均值和像素方差;
使用像素方差和噪声值来确定基线值;使用像素均值和基线值来确定平滑值;
使用以像素为中心的第二窗口中的劣化图块的像素值,确定平均基线值和平均平滑值;和/或
基于劣化图块中共位的像素值、平均基线值和平均平滑值来确定第一引导图块的像素位置中的引导像素值。
可选地,第一窗口可以具有与第二窗口相同的大小(或不同的大小)。可选地,第二窗口可以是3×3窗口。可以使用其他大小窗口。例如,可以是正方形。
可选地,可以通过以下各项来使用加权和来近似平均基线值:将权重分配给第二窗口的至少一些像素位置,使得权重之和是2的幂;计算加权和;以及将加权和移位2的幂。可以使用其他能力。
可选地,投影操作可以包括相应的差异项,每个差异项使用相应的引导图块,以及其中,投影参数包括每个相应差异项的相应投影参数。
可选地,该方法可以进一步包括:基于第二恢复参数,生成用于劣化图块的第二引导图块,其中,确定投影操作的投影参数包括:确定投影操作的投影参数,投影操作进一步将源帧的源图块和劣化图块之间的差异与第二引导图块和劣化图块之间的差异相关联。
可选地,该方法可以进一步包括从码本或其他数据集或库中选择第一恢复参数。
另一方面是一种用于恢复由源帧的重构产生的劣化帧的装置。该装置包括处理器,处理器被配置为执行存储在非暂时性存储介质中的指令以使用第一恢复参数,生成用于劣化帧的第一劣化图块的第一引导图块;确定投影操作的投影参数;以及在编码比特流中编码第一恢复参数和投影参数。
存储在非暂时性存储介质中以生成第一引导图块的指令可以包括可由处理器执行以执行以下操作的指令:从半径和噪声值的码本中选择半径和噪声值;以及对第一劣化图块的像素位置:使用所述半径,确定相对于像素位置周围的第一窗口内的第一劣化图块的像素值的像素均值和像素方差;使用像素方差和噪声值来确定基线值;使用像素均值和基线值来确定平滑值;使用围绕像素位置的第二窗口中的第一劣化图块的像素值,确定平均基线值和平均平滑值;以及使用第一劣化图块中共位的像素值、平均基线值和平均平滑值来确定第一引导图块的像素位置中的引导像素值。
可选地,第一窗口可以具有与第二窗口相同的大小。
可选地,第二窗口可以是3×3窗口。
可选地,处理器可以被配置为通过执行存储在非暂时性存储介质中的指令以执行以下各项来使用加权和来近似平均平滑值:将权重分配给第二窗口的每个像素位置,使得权重之和是2的幂;计算加权和;以及将加权和移位2的幂。
可选地,投影操作可以包括相应的差异项,每个差异项使用相应的引导图块,并且投影参数包括用于每个相应的差异项的相应的不同投影参数。
可选地,处理器可以进一步被配置为执行存储在非暂时性存储介质中的指令以:基于第二恢复参数,生成用于第一劣化图块的第二引导图块,其中,确定投影参数包括确定投影操作的投影参数。
可选地,处理器可以进一步被配置为执行存储在非暂时性存储介质中的指令以:从码本中选择第一恢复参数。
可选地,处理器可以进一步被配置为执行存储在非暂时性存储介质中的指令以:在编码比特流中编码用于第一恢复参数和投影参数的第一恢复类型;以及基于第二恢复类型,生成用于劣化帧的第二劣化图块的第二引导图块,其中,从包括维纳滤波器和双边滤波器的集合中选择第二恢复类型。
另一方面是一种恢复劣化帧的方法。该方法包括从编码比特流确定第一投影参数和第二投影参数;从编码比特流确定第一恢复参数和第二恢复参数;使用第一恢复参数生成用于劣化图块的第一引导图块;使用第二恢复参数生成用于劣化图块的第二引导图块;以及使用第一引导图块、第二引导图块、第一恢复参数和第二恢复参数,执行投影操作以生成重构帧的重构图块。
可选地,投影操作可以包括使用第一恢复参数,将源帧的源图块与劣化图块之间的差异与第一引导图块和劣化图块之间的差异相关联的第一项,以及使用第二恢复参数,将源帧的源图块和劣化图块之间的差异与第二引导图块和劣化图块之间的差异相关联的第二项。
可选地,确定第一恢复参数和第二恢复参数可以包括:从编码比特流中确定用于第一恢复参数的码本中的第一索引;基于第一索引,从码本中检索第一恢复参数;从编码比特流中确定用于第二恢复参数的码本中的第二索引;以及基于第二索引,从码本中检索第二恢复参数。
应注意到,上述任何特征可以与本发明的任何特定方面或实施例一起使用。
在实施例、附加权利要求和附图的下述详细描述中公开了本公开的这些和其他方面。
附图说明
本文的描述参考附图,其中相似的附图标记在几个视图中指代相似的部件。
图1是视频编码和解码系统的示意图。
图2是可以实现传送站或接收站的计算设备的示例的框图。
图3是待编码并且随后解码的视频流的图。
图4是根据本公开的实施方式的编码器的框图。
图5是根据本公开的实施方式的解码器的框图。
图6是根据本公开的实施方式的用于在编码器处恢复劣化帧的过程的流程图。
图7是根据本公开的实施方式的用于生成劣化图块的引导图块的过程的流程图。
图8是根据本发明的实施方式的3×3像素窗口的图示。
图9A和9B是根据本公开的实施方式的分配给3×3窗口的位置的权重的示例的图示。
图10是根据本公开的实施方式的用于在解码器处恢复劣化帧的过程的流程图。
具体实施方式
如上所述,与编译视频流相关的压缩方案可以包括将图像分成块,并且使用一种或多种技术来生成数字视频输出比特流以限制在输出中包括的信息。可以解码所接收的比特流以由有限的信息来重新创建块和源图像。编码视频流或其一部分诸如帧或块可以包括使用视频流中的时间和空间相似性来提高编译效率。例如,可以基于识别先前编译的像素值和当前块中的像素值之间的差(残差)来编码视频流的当前块。以这种方式,仅需要将残差和/或用于生成残差的参数添加到比特流,而不是包括整个当前块。可以使用有损量化步骤来编码残差。从这样的残差解码(即,重构)编码块经常导致原始(即,源)块和重构块之间的失真。
可以以各种方式使用重构后环路滤波器来改善由于编码和解码过程而失真或变形的重构帧。例如,环内去块滤波器可以被用来修改块之间的边界附近的像素值,以限制重构帧内的那些边界的可见性。例如,其他环路滤波器可以被用来通过将在编码器处确定的偏移添加到重构帧的像素值,来使重构图像更接近源图像。那些环路滤波器以盲设置操作(即,不访问源帧及其相关的重构帧)。
根据本文的教导,在编码器处对源和重构帧的访问使得可以从编码器发送信息,该信息引导解码器实现优异的恢复。其中,描述了使用滤波和子空间投影的视频编码的恢复。引导滤波器使用待滤波的帧和帧的至少一部分的引导图像(例如,引导图块)。使引导图像和帧部分在感知上相同(例如,将它们的差异减小到接近零)导致边缘保留的去噪图像。也就是说,在没有边缘的情况下平滑所得到的图像,并且保留边缘(即,边缘不被平滑)。可以对基于帧差异的投影公式的恢复参数进行编码并且将其信号告知解码器。本文所述的恢复可以在可切换的恢复框架中实现,该框架指的是在对重构帧的不同部分的(例如使用)不同恢复技术或类型之间切换的能力。可以去除或至少部分地补偿各种系统误差(诸如帧的平坦区域中的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中的CPU 202可以是中央处理单元。替选地,CPU 202可以是能够操纵或处理现在存在或将来开发的信息的任何其它类型的设备或多个设备。尽管所公开的实施方式可以用所示的单个处理器例如CPU 202来实现,但是可以使用多个处理器来实现速度和效率方面的优点。
在实施方式中,计算设备200中的存储器204可以是只读存储器(ROM)设备或随机存取存储器(RAM)设备。任何其它合适类型的存储设备可以被用作存储器204。存储器204可以包括由CPU 202使用总线212访问的代码和数据206。存储器204可以进一步包括操作系统208和应用程序210,应用程序210包括允许CPU 202执行这里描述的方法的至少一个程序。例如,应用程序210可以包括应用1至N,其进一步包括执行这里描述的方法的视频编译应用。计算设备200还可以包括辅助存储214,辅助存储214例如可以是与移动的计算设备200一起使用的存储卡。因为视频通信会话可以包含大量的信息,所以它们可以全部或部分地存储在辅助存储214中,并且根据需要被加载到存储器204中以处理。
计算设备200还可以包括一个或多个输出设备,诸如显示器218。显示器218在一个示例中,可以是将显示器与可操作以感测触摸输入的触敏元件组合的触敏显示器。显示器218可以经由总线212耦合到CPU 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的CPU 202和存储器204图示为集成为单个单元,但是可以利用其它配置。CPU 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。计算机软件程序可以包括机器指令,其当由诸如CPU 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组合成单个级。
图5是根据本公开的实施方式的解码器500的框图。解码器500可以在接收站106中实现,例如,通过提供存储在存储器204中的计算机软件程序。计算机软件程序可以包括机器指令,当由诸如CPU 202的处理器执行时,使得接收站106以下文图10中描述的方式解码视频数据。解码器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。附加地或替选地,除了环路滤波级416之外,编码器400包括去块滤波级。
图6是根据本公开的实施方式的用于在编码器处恢复劣化帧的过程600的流程图。过程600可以在诸如编码器400的编码器中实现,并且可以实现为例如可以由诸如传送站102的计算设备执行的软件程序。软件程序可以包括机器可读指令,该指令可以被存储在诸如存储器204或辅助存储214的存储器中,并且可以由诸如CPU 202的处理器执行,以使计算设备执行过程600。在至少一些实施方式中,可以由编码器400的环路滤波级416全部或部分地执行过程600。
可以使用专用硬件或固件来实现过程600。一些计算设备可以具有多个存储器、多个处理器或两者。可以使用不同的处理器、存储器或两者来分布过程600的步骤或操作。使用以单数形式的术语“处理器”或“存储器”涵盖具有一个处理器或一个存储器的计算设备以及具有可以用在执行一些或所有所述步骤中的多个处理器或多个存储器的设备。
过程600首先接收源帧的劣化图块。劣化图块可以是例如来自编码器的重构环路的重构帧的全部或一部分。在本文中,重构帧被称为劣化帧,以便将其与滤波之后的最终重构帧区分开。最终重构帧在本文中称为恢复帧。例如,可以在编码器400的环路滤波级416处,从重构级414接收劣化帧的全部或一部分。可以在处理600发生之前对劣化帧进行去块。
在示例中,过程600可以接收整个劣化帧并且将帧划分为一个或多个劣化图块。也就是说,过程600可以将劣化帧划分为一个或多个图块。替选地,过程600可以接收在编码器或解码器的前一级划分的劣化图块。也就是说,过程600可以处理过程600接收的帧的任何单元(无论是图块还是帧本身)。
可以基于劣化帧的统计特性的定位与要在编码比特流中使用的比特数之间的折衷来选择每个图块的大小。例如,如果选择较小的图块大小,则可以实现更好的定位;然而,可以使用更高比特数来编码劣化帧。替选地,可以独立于帧的统计特性来选择图块大小,诸如通过参考劣化帧大小。例如,如果帧大小大于256x256像素,则图块大小可以设置为256x256像素;否则,图块大小设置为120x120像素。可以基于超过阈值的帧大小来选择图块大小。可以将图块大小设置为帧的大小,使得帧仅包括一个图块。选择图块大小的其他方式可以与本公开的实施方式一起使用。
在602处,为劣化图块生成引导图块(即,第一引导图块)。可以使用一个以上的引导图块来恢复劣化图块。引导图块可以被称为劣化图块的廉价恢复版本,因为期望使用具有相对低复杂度的计算来生成引导图块。例如,可以通过使用相邻像素值,对相应位置处的原始像素值进行滤波或平滑来为引导图块内的像素位置生成引导图块。原始像素值是指源帧的共位像素的像素值。可以使用恢复参数(即,第一恢复参数)生成引导图块。当使用多个引导图块进行恢复时,可以对相同技术中的滤波或平滑使用不同的参数来生成它们。例如,可以使用第一恢复参数生成第一引导图块,并且可以使用第二恢复参数生成第二引导图块。不太希望但仍然可能的是,过程600可以使用不同的技术来生成用于劣化图块的引导图块。
在本文的示例中,可以使用Kaiming He、Jian Sun和Xiaoou Tang,Guided imagefiltering,Computer Vision-ECCV 2010,Springer Berlin Heidelberg 2010,pp.1-14中描述的技术生成引导图块,其通过引用将其全部内容并入本文。
图7是根据本公开的实施方式的用于生成劣化图块的引导图块的过程700的流程图。可以在过程600的602处使用过程700来生成用于劣化图块的引导图块。可以针对劣化图块的像素执行过程700。在示例中,可以针对劣化图块的每个像素执行过程700。过程700的输入可以包括恢复参数半径r和噪声e,它们是正值并且在下文进一步描述。替选地,过程700可以选择半径和噪声值。在示例中,可以从码本(即,半径和噪声值的码本)中选择半径和噪声值。
在702处,确定具有围绕像素的半径r的像素窗口中的均值μ(即,像素均值)和方差σ2(即,像素方差)。围绕像素的半径为r的像素的窗口(即,第一窗口)是以像素为中心并且包括该像素的(2r+1)(2r+1)窗口中的像素值的集合。例如,如果半径r=1,则窗口是以像素为中心的3×3像素集;如果半径r=2,则窗口是以像素为中心的5×5像素集。对于图块边缘上的像素使得像素周围的窗口将包括来自图块外部的像素,可以调整均值μ和方差σ2确定,使得在确定均值μ和方差σ2中仅包括在图块内的像素值。现在参考图8以图示。
图8是根据本发明的实施方式的3×3像素窗口的图示。线802是图块800的边缘。对于半径r=1,当计算像素804的均值μ和方差σ2时,仅考虑值a-f。另一方面,当像素806的3×3窗口的像素h-p均在图块800内时,则所有h-p像素值被用在计算像素806的均值μ和方差σ2中。在实施方式中,可以使用箱式滤波来计算均值μ和方差σ2,箱式滤波是用于计算任意大小的窗口中的像素的均值和方差的技术。
在704处,确定像素的基线值f。使用像素方差和噪声值确定基线值。基线值f使用等式(1)计算:
f=σ2/(σ2+e) (1)
可以看出,基线值f是小于1的值。当方差σ2大时,基线值f接近1。即,当在像素周围的窗口中方差σ2高时,则基线值f接近1。高方差可以指示在像素处或附近存在边缘。另一方面,如果方差σ2很小,则基线值f接近0。噪声值e可以被用作阈值:噪声值e可以确定基线值f衰减或增加的速度。
在706处,确定像素的平滑值g。可以使用像素均值μ和基线值f来确定平滑值g。平滑值g可以使用等式(2)计算:
g=(1-f)μ (2)
可以看出,当方差σ2较大且基线值f接近1时,平滑值g接近0。当方差σ2较小且基线值f接近0时,平滑值g接近均值μ。在下文中,参考710,示出平滑值g的影响。
在708处,确定像素的平均基线值fav和平均平滑值gav。也就是说,在708处,使用围绕像素位置的第二窗口中的第一劣化图块的像素值来计算各种基线值f和平滑值g的平均值,分别被称为平均基线值fav和平均平滑值gav。可以基于由用于计算像素的基线值f和平滑值g的相同大小窗口(即,(2r+1)(2r+1)窗口)所包含的像素值的线值f和平滑值g来计算平均基线值fav和平均平滑值gav。也就是说,第一窗口可以具有与第二窗口相同的大小。然而,当使用3×3窗口计算像素的平均基线值fav和平均平滑值gav时,可以获得更好的结果,与702中使用的半径r的值无关。
为了在计算平均基线值fav和平均平滑值gav时消除除法运算,可以使用fav和gav的计算中使用的窗口(例如,(2r+1)(2r+1)窗口或3x3窗口,视情况而定)中的值的加权和来近似平均基线值fav和平均平滑值gav。通常,例如,对于当前像素位置的值,加权可以是最高的,并且当它们从当前像素位置远离延伸时,对于像素位置可以减小加权。
图9A和9B是根据本公开的实施方式的分配给3×3窗口的位置的权重900和950的示例的图示。图9A示出了分配给3×3窗口的权重900的图示。在该示例中,四个角值分别被赋予权重3,而窗口的其他五个值分别被赋予权重4。因此,权重900的总数是32(等于3*4+4*5),相当于25。假设考虑以806为中心的窗口,则平均基线值fav(以及类似的平均平滑值gav)可以被计算为(3h+4i+3j+4k+4l+4m+3n+4o+3p)>>5(其中,>>是右移位运算符)。
图9B示出了分配给3×3窗口的权重950的另一图示。权重20被分配给中心位置,权重11被分配给3×3窗口的每个角,而权重16被分配给其他位置。权重950的总和是128(等于27);因此,7的右移位操作可以应用于加权和。
回到图7,在710,确定用于引导图块中的当前像素位置的引导像素值z。可以使用公式(3)来计算引导像素值z,其中,x是共位的像素值(即,处于与当前像素的位置相共位处的劣化图块中的像素的值):
z=x·fav+gav (3)
接近均值μ的平滑值g表示引导像素值z将接近均值μ。这样,如果平滑值g接近均值μ,并且基线值f接近0,则劣化像素值x被加权得更少并且引导像素值z更接近于围绕当前像素位置的像素窗口的平均平滑值gav。也就是说,平滑效果被应用于劣化像素x。另一方面,当基线值f接近1时,表示接近边缘的像素,则平滑值g小。这样,对劣化像素值x应用较少的平滑和滤波,并且引导像素值z从劣化像素值x接收其大部分值,并且从其周围像素的值接收较少的值。平均平滑值gav可以被认为是边缘相关值。在实施方式中,x可以是源图块中处于与当前像素的位置相共位处的像素的值。在这样的实施方式中,x将被称为原始像素值x,并且本文公开的所有其他方面可以保持不变。
返回到图6的过程600,在604处,确定用于关联图块差异的投影操作,也被称为子空间投影的投影参数。例如,投影操作可以将源帧的源图块和劣化图块之间的差异投影到由引导图块和劣化图块之间的差异产生的子空间中。出于本文的说明的目的,参考两个引导图块,引导图块Y1和引导图块Y2来描述604处的处理。例如,可以如上所述在过程700中使用半径r1和噪声e1作为恢复参数来生成引导图块Y1,并且可以如上所述在过程700中使用半径r2和噪声r2生成引导图块Y2。这样,投影操作将源帧的源图块和第一劣化图块之间的差异与第一引导图块和第一劣化图块之间的差异关联并且将源帧的源图块和第一劣化图块之间的差异与第二引导图块和第一劣化图块之间的差异相关联(例如,近似)。然而,可以使用一个、两个或更多个引导图块Yn。使用投影参数,投影操作可以被用来生成重构图块YR
可以使用等式(4)执行投影操作:
YR=Y+α(Y1-Y)+β(Y2-Y), (4)
其中,α和β是投影参数。
从两侧减去劣化图块Y的值表示向量(YR-Y)是向量(Y1-Y)和(Y2-Y)的线性组合。这样,投影操作包括各个差项,其中,每个差项使用相应的引导图块(在等式(4)中,这些是引导图块Y1和引导图块Y2),并且投影参数包括用于每个相应的差项的相应的不同投影参数(在等式(4)中,第一投影参数α对应于差项(Y1-Y)以及第二投影参数β对应于差项(Y2-Y))。期望地,重构图块YR具有与源图块YS的共位像素的像素值相等或相对接近的像素值。即使当每个向量(Y1-Y)和(Y2-Y)分别可能不接近源图块YS时,由向量(Y1-Y)和(Y2-Y)生成的子空间在最近点处,可以实际上比它们中的任何一个单独地更接近。对等式(4)求解投影参数α和β得到下述等式(5):
{α,β}T=(ATA)-1ATb (5)
在等式(5)中,A={(Y1-Y),(Y2-Y)}和b=Ys-Y。在该示例中,假设Y1、Y2、Y和YS中的每一个是包括来自相应图块的像素的列向量。
可以针对用于恢复参数的半径r和噪声e的不同值(或值的组合)重复604处的处理,以确定哪个值组合产生重构图块YR和源图块YS之间的最小误差。最小误差可以是各个图块的像素值之间的均方误差。最小误差可以是各个图块的像素值之间的绝对差值误差之和。可以使用任何其他合适的最小误差度量。可以从码本中选择要在604处使用的恢复参数的不同值。例如,码本可以是半径和噪声值的组合的码本{r1,r2,e1,e2}。可以凭经验推导出码本。
在606处,在比特流中编码在604处确定的恢复参数和投影参数。在上文的示例中,恢复参数是r1、r2、e1和e2。可以将恢复参数编码到比特流中,以便在比特流中传送到解码器,诸如图5的解码器500。替选地,在使用码本的情况下,所选择的码本条目{r1,r2,e1,e2}可以通过表示所选择的码本条目的索引被编码到比特流中。这样,编码第一恢复参数可以是指编码码本索引。同样具有码本的解码器可以使用索引来识别恢复参数。例如,如果码本包含8个条目,则可能需要3个比特来编码所选择的索引条目。在解码器不知道码本的情况下,可以使用编码至少一些所选恢复参数的其他手段。
在比特流中还传送在604处,对应于所选择的投影参数的投影参数α和β。由于投影参数α和β可以是双精度值,所以在它们被包括在比特流中之前发生值的量化。分配给投影参数α和β的量化方案可以取决于可用在用于投影参数α和β的编码比特流中的比特数。当投影参数需要高精度时,例如,可以使用七个比特来传送α和β中的每一个。
当过程600全部或部分地由编码器400的环路滤波级416执行时,(在多个图块用于劣化图像的情况下)由重构图块形成的重构图像可用于预测后续帧。
当劣化帧由多个劣化图块形成时,可以基于不同的恢复类型来恢复多个劣化图块的每个劣化图块。例如,上述的滤波和子空间投影还可以被称为自引导滤波器恢复类型。其他可能的恢复类型可以基于维纳滤波器或双边滤波器。当多个恢复类型可用时,当前图块的恢复类型也可以在610处被编码到比特流中。
可以将参数以及可选地恢复类型编码到帧头、片头、段头、块头或这些头的组合中。也可以在比特流内传送在重构过程中使用的图块的标识。替选地,可以在比特流内传送用于划分的参数,使得诸如解码器500的解码器可以在解码过程期间重新创建图块。
解码器使用恢复和投影参数(以及恢复类型,当可用时),以获得参考图10所述的重构图块。
图10是根据本公开的实施方式的用于在解码器处恢复劣化帧的过程1000的流程图。过程1000可以由诸如解码器500的解码器执行。例如,过程1000可以全部或部分地由解码器500的环路滤波器级512执行。可以通过在存储器诸如接收站106的存储器204中存储将由处理器诸如CPU 202执行的指令,执行过程1000的实施方式。
可以使用专用硬件或固件来实现过程1000。一些计算设备可以具有多个存储器、多个处理器或两者。可以使用不同的处理器、存储器或两者来分布过程1000的步骤或操作。为了简化说明,过程1000被图示和描述为一系列步骤或操作。然而,根据本公开的教导可以以各种顺序和/或同时发生。另外,根据本公开的步骤可以与本文未呈现和描述的其他步骤一起发生。此外,并非所有示出的步骤或操作都可以被用来实现根据所公开的主题的方法。
在解码器生成源帧的劣化图块之后,过程1000全部或部分地发生。劣化图块可以是例如来自解码器的重构环路的重构帧的全部或一部分。同样,该帧被称为劣化帧,以便将其与滤波后的最终重构帧区分开。例如,可以在解码器500的去块滤波级514处从重构级510接收劣化帧的全部或一部分。解码器500可以被布置为使得去块滤波器级514在环路滤波器级512之前。替选地,另一滤波器级可以位于去块滤波器级514之后。来自重构级510的劣化帧可以在过程1000发生之前被去块。
在1002处,从编码比特流确定投影参数。例如,在投影操作中将使用两个引导图块的情况下,过程1000可以从编码比特流解码第一投影参数(例如,投影参数α)和第二投影参数(例如,投影参数β)。可以通过从编码器插入它们的头部解码它们来确定投影参数。诸如投影参数的参数被插入到头部中,如上参考图6所述。
在1004处,从接收的编码比特流确定恢复参数。例如,在投影操作中将使用两个引导图块的情况下,过程1000可以确定第一恢复参数(例如,半径r1和噪声e1)和第二恢复参数(例如,半径r2和噪声e2)。在将恢复参数编码到比特流中的示例中,可以通过从编码器插入它们的头部解码它们来确定它们。在使用码本来产生并且索引以包含在比特流中的示例中,索引从编码器插入的头部解码。解码的索引可以被用来确定对应于由索引标识的条目的恢复参数。
在1006处,生成用于当前劣化图块的引导图块。例如,在投影操作中使用两个引导图块的情况下,使用第一恢复参数生成用于劣化图块的第一引导图块,并且使用第二恢复参数生成用于劣化图块的第二引导图块。可以根据图7的过程700,使用当前劣化图块,生成第一引导图块和第二引导图块。
在1008处,执行投影操作以生成劣化图块的重构图块。在投影操作中使用两个引导图块的情况下,使用第一引导图块、第二引导图块、第一恢复参数和第二恢复参数来执行投影操作。例如,可以使用等式(4)来执行投影操作。投影操作包括使用第一恢复参数,将源帧的源图块和劣化图块之间的差异与第一引导图块和劣化图块之间的差异相关联的第一项,以及使用第二恢复参数,将源帧的源图块和劣化图块之间的差异与第二引导图块和劣化图块之间的差异关联的第二项。
可以根据需要,即如果劣化帧构成多于一个图块,重复图10的过程1000,直到重构帧被完成以包括作为输出视频流的一部分,诸如图5的输出视频流516。
如果对帧使用不同的恢复类型,则可以从编码它的头部解码图块的恢复类型。如果恢复类型是自引导滤波器恢复类型,则发生过程1000。如果使用另一种恢复类型,则可以在重构过程中使用适当的滤波器(例如,维纳滤波器或双边滤波器)。
上文所述的编码和解码的方面示出一些编码和解码技术。然而,应当理解到,作为权利要求中使用的那些术语的编码和解码可以是指数据的压缩、解压缩、变换或任何其它处理或变化。
词语“示例”或“实施方式”在本文中用于表示用作示例、实例或说明。在本文中被描述为“示例”或“实施方式”的任何方面或设计不一定被解释为比其它方面或设计优选或有利。相反,使用词语“示例”或“实施方式”旨在以具体的方式呈现概念。如本申请中所使用的,术语“或”旨在表示包括性的“或”而不是排他性的“或”。也就是说,除非另有规定或从上下文中清楚,“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 (21)

1.一种恢复由源帧的重构产生的劣化帧的方法,所述方法包括:
使用第一恢复参数生成用于所述劣化帧的劣化图块的第一引导图块;
确定投影操作的投影参数,所述投影操作将所述源帧的源图块和所述劣化图块之间的差异与所述第一引导图块和所述劣化图块之间的差异相关联;以及
在编码比特流中编码所述第一恢复参数和所述投影参数。
2.如权利要求1所述的方法,其中,生成所述第一引导图块包括:
从半径和噪声值的码本中选择半径和噪声值;
对所述劣化图块的像素位置处的每个像素:
使用所述半径,确定相对于以该像素为中心的第一窗口中的劣化图块的像素值的像素均值和像素方差;
使用所述像素方差和所述噪声值来确定基线值;
使用所述像素均值和所述基线值来确定平滑值;
使用以该像素为中心的第二窗口中的劣化图块的像素值,确定平均基线值和平均平滑值;以及
基于所述劣化图块中的共位像素值、所述平均基线值和所述平均平滑值来确定所述第一引导图块的像素位置中的引导像素值。
3.如权利要求2所述的方法,其中,所述第一窗口具有与所述第二窗口相同的大小。
4.如权利要求2或3所述的方法,其中,所述第二窗口是3×3窗口。
5.如权利要求2至4中任一项所述的方法,其中,所述平均基线值是通过下述操作以使用加权和来近似的:
将权重分配给所述第二窗口的至少一些像素位置,使得所述权重之和是2的幂;
计算所述加权和;以及
将所述加权和移位2的幂。
6.如前述权利要求中任一项所述的方法,
其中,所述投影操作包括相应的差异项,每个差异项使用相应的引导图块,以及
其中,所述投影参数包括每个相应的差异项的相应的投影参数。
7.如前述权利要求中任一项所述的方法,进一步包括:
基于第二恢复参数,生成用于所述劣化图块的第二引导图块,其中,确定所述投影操作的投影参数包括:
确定所述投影操作的投影参数,所述投影操作进一步将所述源帧的源图块和所述劣化图块之间的差异与所述第二引导图块和所述劣化图块之间的差异相关联。
8.如前述权利要求中任一项所述的方法,进一步包括:
从码本中选择所述第一恢复参数。
9.一种用于恢复由源帧的重构产生的劣化帧的装置,包括:
处理器,所述处理器被配置为执行存储在非暂时性存储介质中的指令以:
使用第一恢复参数生成用于所述劣化帧的第一劣化图块的第一引导图块;
确定投影操作的投影参数;以及
在编码比特流中编码所述第一恢复参数和所述投影参数。
10.如权利要求9所述的装置,其中,存储在所述非暂时性存储介质中以生成所述第一引导图块的指令包括可由所述处理器执行以执行以下操作的指令:
从半径和噪声值的码本中选择半径和噪声值;
对所述第一劣化图块的像素位置:
使用所述半径,确定相对于所述像素位置周围的第一窗口内的所述第一劣化图块的像素值的像素均值和像素方差;
使用所述像素方差和所述噪声值来确定基线值;
使用所述像素均值和所述基线值来确定平滑值;
使用围绕所述像素位置的第二窗口中的所述第一劣化图块的像素值,确定平均基线值和平均平滑值;以及
使用所述第一劣化图块中的共位像素值、所述平均基线值和所述平均平滑值来确定所述第一引导图块的所述像素位置中的引导像素值。
11.如权利要求10所述的装置,其中,所述第一窗口具有与所述第二窗口相同的大小。
12.如权利要求10或11所述的装置,其中,所述第二窗口是3×3窗口。
13.如权利要求10至12中任一项所述的装置,其中,所述处理器被配置为通过执行存储在所述非暂时性存储介质中的指令以执行下述操作以使用加权和来近似所述平均平滑值:
将权重分配给所述第二窗口的每个像素位置,使得所述权重之和是2的幂;
计算所述加权和;以及
将所述加权和移位2的幂。
14.如权利要求9至13中任一项所述的装置,其中,所述投影操作包括相应的差异项,每个差异项使用相应的引导图块,并且所述投影参数包括每个相应的差异项的相应的不同投影参数。
15.如权利要求9至14中任一项所述的装置,其中,所述处理器进一步被配置为执行存储在所述非暂时性存储介质中的指令以:
基于第二恢复参数,生成用于所述第一劣化图块的第二引导图块,其中,确定所述投影参数包括确定所述投影操作的投影参数。
16.如权利要求9至15中任一项所述的装置,其中,所述处理器进一步被配置为执行存储在所述非暂时性存储介质中的指令以:
从码本中选择所述第一恢复参数。
17.如权利要求9至16中任一项所述的装置,其中,所述处理器进一步被配置为执行存储在所述非暂时性存储介质中的指令以:
在所述编码比特流中编码用于所述第一恢复参数和所述投影参数的第一恢复类型;以及
基于第二恢复类型,生成用于所述劣化帧的第二劣化图块的第二引导图块,其中,所述第二恢复类型是从包括维纳滤波器和双边滤波器的集合中选择的。
18.一种恢复劣化帧的方法,所述方法包括:
从编码比特流确定第一投影参数和第二投影参数;
从所述编码比特流确定第一恢复参数和第二恢复参数;
使用所述第一恢复参数生成用于所述劣化帧的劣化图块的第一引导图块;
使用所述第二恢复参数生成用于所述劣化图块的第二引导图块;以及
使用所述第一引导图块、所述第二引导图块、所述第一恢复参数和所述第二恢复参数,执行投影操作以生成重构帧的重构图块。
19.如权利要求18所述的方法,其中,所述投影操作包括使用所述第一恢复参数,将源帧的源图块和所述劣化图块之间的差异与所述第一引导图块和所述劣化图块之间的差异相关联的第一项,以及使用所述第二恢复参数,将所述源帧的所述源图块和所述劣化图块之间的差异与所述第二引导图块和所述劣化图块之间的差异相关联的第二项。
20.如权利要求18或19所述的方法,其中,确定所述第一恢复参数和所述第二恢复参数包括:
从所述编码比特流中确定用于所述第一恢复参数的码本中的第一索引;
基于所述第一索引,从所述码本中检索所述第一恢复参数;
从所述编码比特流中确定用于所述第二恢复参数的码本中的第二索引;以及
基于所述第二索引,从所述码本中检索所述第二恢复参数。
21.一种包括指令的计算机程序产品,当所述程序由计算机执行时,所述指令使得所述计算机执行如权利要求1至8以及权利要求18至20中的任一项所述的方法。
CN201780067371.3A 2016-11-04 2017-09-29 使用滤波和子空间投影的视频编译的恢复 Active CN109906610B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911257754.4A CN111050167B (zh) 2016-11-04 2017-09-29 用于恢复由源帧的重构产生的劣化帧的方法和装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662417545P 2016-11-04 2016-11-04
US62/417,545 2016-11-04
PCT/US2017/054354 WO2018084970A1 (en) 2016-11-04 2017-09-29 Restoration in video coding using filtering and subspace projection

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201911257754.4A Division CN111050167B (zh) 2016-11-04 2017-09-29 用于恢复由源帧的重构产生的劣化帧的方法和装置

Publications (2)

Publication Number Publication Date
CN109906610A true CN109906610A (zh) 2019-06-18
CN109906610B CN109906610B (zh) 2020-06-05

Family

ID=60043401

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201780067371.3A Active CN109906610B (zh) 2016-11-04 2017-09-29 使用滤波和子空间投影的视频编译的恢复
CN201911257754.4A Active CN111050167B (zh) 2016-11-04 2017-09-29 用于恢复由源帧的重构产生的劣化帧的方法和装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201911257754.4A Active CN111050167B (zh) 2016-11-04 2017-09-29 用于恢复由源帧的重构产生的劣化帧的方法和装置

Country Status (4)

Country Link
US (4) US10477251B2 (zh)
EP (2) EP3787288B1 (zh)
CN (2) CN109906610B (zh)
WO (1) WO2018084970A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023043552A1 (en) * 2021-09-16 2023-03-23 Google Llc Filtering with side-information using contextually-designed filters

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609905A (zh) * 2012-01-02 2012-07-25 西安电子科技大学 基于迭代投影的mri图像重构方法
CN103440630A (zh) * 2013-09-02 2013-12-11 南京理工大学 基于引导滤波器的大动态范围红外图像显示与细节增强方法
US20150016720A1 (en) * 2013-07-12 2015-01-15 Barco N.V. Guided image filtering for image content
CN105191277A (zh) * 2013-03-22 2015-12-23 马维尔国际贸易有限公司 基于引导式滤波器的细节增强

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003270386A1 (en) * 2002-09-06 2004-03-29 Rytec Corporation Signal intensity range transformation apparatus and method
KR101439484B1 (ko) * 2007-12-20 2014-09-16 삼성전자주식회사 잡음을 고려하여 영상을 복호화하는 방법 및 장치
US20090167775A1 (en) * 2007-12-30 2009-07-02 Ning Lu Motion estimation compatible with multiple standards
US8761268B2 (en) * 2009-04-06 2014-06-24 Intel Corporation Selective local adaptive wiener filter for video coding and decoding
WO2013010248A1 (en) * 2011-07-21 2013-01-24 Research In Motion Adaptive filtering based on pattern information
US10554967B2 (en) * 2014-03-21 2020-02-04 Futurewei Technologies, Inc. Illumination compensation (IC) refinement based on positional pairings among pixels
WO2016204524A1 (ko) * 2015-06-16 2016-12-22 엘지전자(주) 영상의 부호화/복호화 방법 및 이를 위한 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609905A (zh) * 2012-01-02 2012-07-25 西安电子科技大学 基于迭代投影的mri图像重构方法
CN105191277A (zh) * 2013-03-22 2015-12-23 马维尔国际贸易有限公司 基于引导式滤波器的细节增强
US20150016720A1 (en) * 2013-07-12 2015-01-15 Barco N.V. Guided image filtering for image content
CN103440630A (zh) * 2013-09-02 2013-12-11 南京理工大学 基于引导滤波器的大动态范围红外图像显示与细节增强方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHEN CHEN,等: "Adaptive Guided Image Filter for Improved In-Loop Filtering in Video Coding", 《2015 IEEE 17TH INTERNATIONAL WORKSHOP ON MULTIMEDIA SIGNAL PROCESSING (MMSP)》 *

Also Published As

Publication number Publication date
WO2018084970A1 (en) 2018-05-11
EP3787288B1 (en) 2024-02-28
US20200068224A1 (en) 2020-02-27
US20240179352A1 (en) 2024-05-30
CN109906610B (zh) 2020-06-05
US11405653B2 (en) 2022-08-02
US20220353545A1 (en) 2022-11-03
EP3516870B1 (en) 2020-02-19
US10477251B2 (en) 2019-11-12
EP3787288A1 (en) 2021-03-03
CN111050167A (zh) 2020-04-21
EP3516870A1 (en) 2019-07-31
CN111050167B (zh) 2021-11-09
US20180131968A1 (en) 2018-05-10
US11924476B2 (en) 2024-03-05

Similar Documents

Publication Publication Date Title
JP6605726B2 (ja) 直前のフレームの動きベクトルパーティショニング
CN109891894A (zh) 使用域变换递归滤波器的视频编译恢复
CN104718758B (zh) 用于对视频流中的帧进行的编码方法、解码方法及编码装置
JP6767488B2 (ja) 参照フレームのバッファ追跡を通じた動きベクトル参照の選択
JP6761033B2 (ja) 前フレーム残差を用いた動きベクトル予測
CN110268715A (zh) 变换核选择与熵编译
CN110073663A (zh) 使用级别图的变换系数代码化
CN107454403A (zh) 块尺寸可调整的方向性帧内预测
CN110622515A (zh) 定向帧内预测代码化
CN110169068B (zh) Dc系数符号代码化方案
CN107231557A (zh) 用于在视频编码中的高级帧内预测的递归块分区中的智能重排
WO2018169571A1 (en) Segmentation-based parameterized motion models
CN107318015A (zh) 用于视频编码的混合预测模式
CN110169059A (zh) 视频代码化的复合预测
CN104704826A (zh) 两步量化和编码方法和装置
US11212527B2 (en) Entropy-inspired directional filtering for image coding
CN109891885A (zh) 视频编译中用于环路恢复的引导偏移校正
US20240179352A1 (en) Restoration for video coding with self-guided filtering and subspace projection
CN107018416A (zh) 用于视频和图像压缩的自适应贴片数据大小编码
CN108605145A (zh) 混合的布尔-令牌ans系数代码化
US10225573B1 (en) Video coding using parameterized motion models
CN110679151A (zh) 使用参数化运动模型的视频代码化
US10110914B1 (en) Locally adaptive warped motion compensation in video coding
CN107396127A (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