CN103828366A - 基于图样信息的自适应滤波 - Google Patents

基于图样信息的自适应滤波 Download PDF

Info

Publication number
CN103828366A
CN103828366A CN201180073589.2A CN201180073589A CN103828366A CN 103828366 A CN103828366 A CN 103828366A CN 201180073589 A CN201180073589 A CN 201180073589A CN 103828366 A CN103828366 A CN 103828366A
Authority
CN
China
Prior art keywords
pixel
frame
section
video data
coding
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
CN201180073589.2A
Other languages
English (en)
Other versions
CN103828366B (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.)
BlackBerry Ltd
Original Assignee
BlackBerry Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BlackBerry Ltd filed Critical BlackBerry Ltd
Publication of CN103828366A publication Critical patent/CN103828366A/zh
Application granted granted Critical
Publication of CN103828366B publication Critical patent/CN103828366B/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/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/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

Landscapes

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

Abstract

编码包括帧的视频数据包括:从帧的压缩数据生成重构帧;至少部分地基于个体像素的图样信息,将重构帧的至少一些像素划分为多个具有一个或更多个像素的段;针对所述多个段的一个或更多个段中的每个段,生成相应的滤波器信息。生成包括帧的压缩数据和所生成的滤波器信息的编码的视频数据。

Description

基于图样信息的自适应滤波
技术领域
本申请大体涉及编码和解码视频数据,以及具体地涉及基于图样信息进行自适应滤波的技术。
背景技术
编码和解码视频的一些标准(例如,ITU-T H.264/AVC视频编码标准)使用基于块的编码处理。在这些处理中,为了压缩由若干画面帧组成的视频序列,将帧分为块(例如,4x4、8x8、16x16、32x32或64x64像素块)。通过这种方式,将编码整个视频序列的任务拆散为编码每个块,其中,按特定的顺序(例如,光栅顺序)编码帧内的块。编码块的处理包括执行变换(例如,离散余弦变换(DCT))。在很多情况下,被变换的数据不是实际的像素数据,而是预测操作之后的残留数据。例如,为了编码具体的像素块(称为“当前块”),基于对之前编码的块的重构来导出相同大小的预测(称为“参考块”)。参考块可以来自不同的帧(称为“帧间预测”)或相同的帧(称为“帧内预测”)。重构涉及解码之前编码的块,然后将其用于预测其他块。在所谓的“编码循环”内,在解码器和编码器处均执行影响预测的解码操作。可以由解码器在编码循环之后可选地执行附加操作,包括所谓的“后滤波”或“环后滤波”。例如,后滤波可以包括应用解块滤波器。解块处理减轻重构视频中由块造成的伪像(例如,靠近块边界),并且可以涉及编码循环内和/或编码循环外的滤波。可以在解块处理之后包括基于帧的自适应后滤波,以进一步通过降低量化噪声来提高重构质量。基于视频数据的特性的滤波被称为“自适应”滤波。
附图说明
图1是示例通信系统的框图。
图2A是示例视频编码器的框图。
图2B是示例视频解码器的框图。
图3是对基于图样信息确定段和滤波器的示例过程进行说明的示意图。
图4A-4D是示例图样信息的示意图。
图5A-5C是与对应标签相关联的示例图样的示意图。
图6A是来自测试视频序列的重构帧的示例图像。
图6B-6D是滤波器生成结果的图。
图7A是示例编码过程的流程图。
图7B是示例解码过程的流程图。
图8A是示例编码器装置的框图。
图8B是示例解码器装置的框图。
具体实施方式
本文中描述的滤波技术可应用于视频数据,包括被压缩以用于通信或存储并由任何的各种设备解压缩的数据。图1示出了用于在通过网络104连接的一个或更多个节点101、102a-102e之间传送数据(包括视频或其他媒体数据)的示例系统100。在本示例中,节点101从一个或更多个源(未示出)接收帧106的序列,源例如是视频相机或存储器介质中存储的视频,或者是可以检测、导出、捕捉、存储或记录视觉信息(例如视频或图像)的任何其他源。在一些实现中,源可以与节点101通信,或者可以是节点101的一部分。节点101包括编码帧106以生成编码的视频数据的流或文件的编码器模块108。节点101可被配置为使用本文中描述的技术来生成滤波器,以在对编码的视频数据解码时使用,该滤波器可由流或文件中包括的滤波器信息来指定。在本示例中,向耦合到网络104的节点102a提供编码的视频数据。备选地,节点101可自身耦合到网络104,或者编码的视频数据也可或备选地本地存储,以用于稍后传输或输出,例如存储在非易失性存储器或其他存储介质中。
节点102a向耦合到网络104的任何各种其他节点102b-102e(例如,移动设备、电视、计算机等)发送编码的视频数据(例如,作为流或文件)。节点102a可以包括发射机,发射机被配置为可选地执行附加编码(例如,信道编码,如前向纠错编码)并将数据调制到要通过网络104发送的信号上。节点102b从网络104接收并解调信号,以恢复编码的视频数据。节点102b包括对编码的视频数据解码并生成重构帧112的序列的解码器模块110。重构处理可以包括自适应滤波,通过应用由与编码的视频数据一起发送的滤波器信息指定的滤波器来执行自适应编码。在一些实现中,节点102b可以包括用于呈现重构帧112的显示器。节点102b可以包括用于存储编码的视频数据用于稍后解码的存储介质,包括在节点102b没有耦合到网络104时。
网络104可以包括任何数目的彼此互连的网络。网络104可以包括任何类型和/或形式的网络,包括以下网络中的任何网络:广域网(例如,因特网)、局域网、电信网络、数据通信网络、计算机网络、无线网络、有线网络、点对点网络和广播网络。网络可以包括任何数目的转发器、装置、设备、服务器、存储介质和队列。
在下面的描述中参考二维视频编码/解码来描述滤波技术的示例实施例,然而,滤波技术也可应用于包括附加视图或维度的视频编码/解码,包括多视图视频编码(MVC)和三维(3D)视频,或者视频编码/解码方案的扩展,如可伸缩视频编码(SVC)。
在下面的描述中,在一定程度上互换使用术语画面、帧和片。例如,在H.264标准的情况下,帧可以包含一个或更多个片。还将意识到,取决于可应用的视频编码标准的具体要求,特定的编码/解码操作逐帧执行,而一些编码/解码操作逐片执行。在任何具体的实施例中,视情况而定,可应用的视频编码标准可以确定是否结合帧和/或片来执行下面描述的操作。
现在参考图2A,图2A示出了用于编码视频的编码器200的框图。还参考图2B,图2B示出了用于解码视频的解码器250的框图。将意识到,可以将在此描述的编码器200和解码器250各自在专用计算设备或者通用计算设备上实现,该专用计算设备或者通用计算设备包含一个或更多个处理单元和存储器。视情况而定,可以例如通过专用集成电路的方式来实现编码器200或解码器250执行的操作(例如,使用各种“处理器”模块),或者通过通用处理器可执行的已存储程序指令的方式来实现。设备可以包括附加软件,例如包括用于控制基本设备功能的操作系统。
编码器200从源(例如,视频源)接收数据212,并产生编码的视频数据214和滤波器信息242,可将其在单个比特流中一起提供。解码器250接收包含编码的视频数据214和滤波器信息242的比特流(作为解码器250的输入数据),并输出解码的视频帧216。可以将编码器200和解码器250配置为依照多种视频压缩标准进行操作。例如,编码器200和解码器250可以遵循H.264/AVC。在其他实施例中,编码器200和解码器250可以符合其他视频压缩标准,包括H.264/AVC标准的演进,例如高效视频编码(HEVC)标准。
编码器200包括变换处理器222、量化器224和熵编码器226。输入数据212例如包括组织各个帧处的空间域数据的帧作为像素数据块,可将其进一步组织为由多个像素块构成的“宏块”或“编码单元”。像素数据块各自包括像素数据的二维阵列,其中,每个像素表示至少一个值(例如,表示整体强度的亮度值,或包括色彩信息的色度值)。变换处理器222执行对空间域数据的变换。具体地,变换处理器222应用基于块的变换,以将空间域数据(在空间域中具有维度x和y)转换为变换域(具有表示空间频率的维度fx和fy)中的频谱分量。例如,在很多实施例中,使用离散余弦变换(DCT)。在一些实例中可以使用其他变换,例如离散正弦变换或者其他变换。取决于宏块的大小,基于宏块或子块来执行基于块的变换。在H.264标准中,例如,典型的16x16宏块包含16个4x4变换块,以及基于4x4的块执行DCT处理。在一些情况下,变换块可以是8x8的,意味着每个宏块有4个变换块。在有一些情况下,变换块可以具有其他大小(例如,16x16、32x32或64x64,或者在空间域中在x和y维度上具有不同数目的像素,并在变换域中在fx和fy维度上具有不同数目的系数的矩形块)。量化器224对变换域系数的块进行量化。然而,由熵编码器226对已量化的系数和相关信息进行编码。
预测器236提供参考块,以通过从正被编码的输入数据212的当前块减去参考块来执行预测。预测器236包括用于确定适当编码模式的模块,例如,正在编码的帧/片是I类型、P类型还是B类型。在不参考其他帧/片的情况下对帧内编码帧/片(即,类型I)进行编码。换言之,其不使用时间预测。然而,帧内编码帧确实依赖于帧/片内的空间预测。亦即,当对具体的块编码时,可将块中的数据与在已经针对该帧/片编码的块内附近的像素的数据进行比较,以找到类似的参考块。使用不同的处理器238(例如,减去对应的像素值),将参考块的像素数据从当前块的像素数据中减去,以生成残留数据的块。变换处理器222然后将残留数据转换为变换域中的系数。例如,H.264针对4x4变换块规定的9种空间预测模式,以及HEVC规定了附加的空间预测模式。在一些实施例中,可以使用多种模式来独立地处理块,并在然后使用速率失真优化来选择最佳模式。
运动预测/补偿使得编码器200可以利用时间预测。相应地,编码器200具有反馈环路,反馈环路包括解量化器228、逆变换处理器230和环内处理器232。这些单元对由解码器250执行的解码处理的环内部分进行镜像,以在应用任何环后处理之前再现帧/片。使用帧存储器234来存储再现帧。通过这种方式,运动预测基于解码器250处的重构帧将是什么,而不基于原始的帧,由于编码/解码中所涉及的有损压缩,原始帧与重构帧可能不同。在执行运动预测/补偿时,运动预测器236使用存储在帧存储器234中的帧/片作为源帧/片,以用于为了识别类似的块而与当前帧进行的比较。相应地,对于应用了运动预测的块,变换处理器222所编码的“源数据”是从运动预测过程产生的残留数据。例如,其可以包括与参考帧、空间位移或者“运动矢量”、以及对参考块与当前块之间的差(如果有)进行表示的残留像素数据有关的信息。变换处理器222和/或量化器224不是必须对与参考帧和/或运动矢量有关的信息进行处理,而是可以将其提供给熵编码器226,以作为比特流的一部分与量化系数一起编码。
编码器200还包括滤波器处理器240。滤波器处理器240处理编码器200正在编码的视频数据,以确定要由解码器250应用于重构视频数据的滤波器的参数。滤波器处理器240生成滤波器信息242,可以从滤波器信息242提取滤波器的参数(例如,Wiener滤波器的系数)。如下面参考图3和图4A-4D更详细地描述的,滤波器处理器240被配置为分析对要被滤波的视频数据进行表征的图样信息,以实现改进的滤波。可以将滤波器信息242与编码的视频数据214包括在相同的压缩流中,可以使用任何的各种技术来将具体的滤波器信息与要滤波的对应视频数据相关联。在一些实现中,提供滤波器信息242,以用于解码器250处的(由环后处理器进行的)后滤波。备选地,可以提供滤波器信息,以用于(由环内处理器进行的)环内滤波,或用于环内滤波和后滤波二者。可选地,如果正在执行环内滤波,滤波器处理器240向环内处理器232提供滤波器信息。
解码器250包括熵解码器252、去量化器254、逆变换处理器256、环内处理器260和环后处理器264。帧缓冲器258提供由预测器262在应用空间预测和运动补偿中使用的重构帧。附加处理器266表示以下操作:从来自预测器262的之前解码的参考块和来自逆变换处理器256的解码残留块,恢复针对要提供给环内处理器260的特定重构块的视频数据。
熵解码器252接收并解码视频数据214,以恢复量化系数。接收并向环后处理器264提供滤波器信息242,以向环内处理器260提供的重构帧应用适当的后滤波来生成从解码器250输出的解码视频帧216。在熵解码处理期间还可以恢复边带信息,可以将其中的一些提供给运动补偿环路,以在运动补偿(如果可应用)中使用。例如,针对帧间编码宏块,熵解码器252可以恢复运动矢量和/或参考帧信息。
解量化器254对熵解码器252恢复的量化系数进行解量化,以产生变换域系数,然后将变换域系数经过逆变换处理器256的逆变换来重新创建“视频数据”。在一些情况下,例如在帧内编码宏块的情况下,重新创建的“视频数据”是相对于帧内之前解码的块在空间补偿中使用的残留数据。解码器250从残留数据生成视频数据,以及从之前解码的块生成像素数据。在其他情况下,例如在帧间编码宏块的情况下,来自逆变换处理器256的重新创建的“视频数据”是相对于来自不同帧的参考块在运动补偿中使用的残留数据。
在执行运动补偿时,预测器262将参考块放置在针对特定的帧间编码宏块指定的帧缓冲器258中。这是基于针对帧间编码宏块指定的参考帧信息和运动矢量来进行的。然后,预测器262提供参考块像素数据,以与残留数据相组合来获得针对该宏块的重新创建的视频数据。
可选地,由环内处理器260和环后处理器264分别将环内处理和环后处理应用于重构帧/片。例如,环内处理可以包括解块操作,以及环后处理可以包括滤波,例如参考图3和图4A-4D更详细地描述的自适应的基于图样的滤波。特定类型的环内和环后处理是可选的,以及在一些情况下,环内和环后处理器在旁路模式下操作,以在没有任何处理的情况下(例如,在空间补偿之后,解块可以不是必须的)提供重构数据。在环内和环后处理之后,输出帧/片来作为解码视频帧216,以例如在显示设备上显示。将要理解,视频回放机器(例如计算机、机顶盒、DVD或蓝光播放器和/或移动手持设备)可以在输出设备上进行显示之前将解码帧缓冲在存储器中。
对可以由环后处理器264在后滤波中应用的基于图样的自适应滤波的实现例如基于Wiener滤波器。滤波器处理器240可被配置为在滤波器信息242中提供对要应用于重构视频帧的特定段的特定Wiener滤波器进行定义的系数。滤波器处理器240还可被配置为执行分段,以确定要被滤波的段,以及确定要将哪些滤波器应用于哪些段。例如,滤波器处理器240将重构视频帧划分为不重叠的段,以及针对每个段确定自适应滤波器以改善特定特性(例如,降低量化噪声)。
可以关于二维空间中的像素位置{(x,y);x∈X,y∈Y}对Wiener滤波器进行定义,其中,Sx,y表示原始帧S中(例如,输入数据212中)位于(x,y)处的像素的值,以及Rx,y表示(例如,向环后处理器264提供的)重构帧R中相同像素的值。可以通过最小化由E表示的均方误差(MSE)的一组系数h={hi,j;i,j∈[-K,K]}来定义Wiener滤波器,其中,通过下面的等式给出E:
E = Σ x ∈ X Σ y ∈ Y [ S x , y - Σ i = - K K Σ j = - K K h i , j R x + i , y + j ] 2
通过针对系数h将等式(1)的导数设置为零,可以通过求解由下面的等式(2)给出的Wiener-Hopf等式来确定Wiener滤波器系数:
CR·F=CSR
其中,CR是R的自相关矩阵,CSR是S和R之间的互相关,以及F=(h-K,-K,h-K,-K+1,…,hK,K}是滤波器系数的矢量。
通过向重构帧R应用由h定义的Wiener滤波器,提高了由MSE测量的重构的质量。然而,在原始帧S表示具有很多边界或例如具有复杂纹理的图像时,对于降低与重构帧R中的局部细节相关联的误差(例如,量化误差)而言,使用单个Wiener滤波器的全局线性滤波可能不是最优的或有效的。该局部非最优的原因是通过最小化由以上等式针对E给出的MSE来定义的最优性条件假设了输入帧的统计是固定的,然而,对于典型的视频序列的很多帧而言,该假设可能不成立。
解决视频帧的该不固定特性的一个技术方案是向帧的相应段生成并应用多个自适应滤波器(M+1个滤波器,hm,m∈{0,1,…,M}),而不是向整个帧应用单个滤波器。可以基于与正在分段的帧中的像素相关联的多种类型的信息来确定该分段。例如,可以使用一种类型的信息来执行初始分段,以及可以使用另一种类型的信息来执行对由初始分段形成的一个或更多个段的后续分段。
可以用于分段的一种类型的信息是变化信息,可以将其表达为二维函数v(x,y),该二维函数在预定区域(例如,以(x,y)为中心的像素区域)上对局部变化测量进行量化(例如,使用空间微分算子,如Laplacian算子)。因此,变化信息表征了像素值(例如,亮度值)的量值在围绕给定像素的局部区域中变化的程度。
可被用于分段的另一种类型的信息是图样信息,可以将图样信息表达为二维图样函数p(x,y),该二维图样函数标识了局部空间图样,并能够区分图样的不同空间特性。例如,图样函数可以区分不同的纹理特性。在一些实现中,图样函数可以区分不同的取向特性。备选地,在一些实现中,图样函数是旋转不变的。例如,为了将一些复杂图像中可能存在的多个图样分隔为不同的段,图样信息是有用的。基于变化信息确定的滤波器可独自展现出其量值上的一些不同,但在其形状上可以是实质相似的。然而,图样信息的使用(单独使用或与变化信息结合使用)使得可针对帧的图像内的特定图样定制滤波器特性,例如,滤波器形状。在一些情况下,如下面根据示例实现的结果所展示的,图样信息也可以使得可使用更少数目的滤波器,允许更简单的滤波器实现。可被使用来生成图样信息的图样函数的一个示例是有时用于被称作局部二值模式(LBP)的纹理分类的函数,下面对其进行更详细的描述。
现在参考图3,图3示出了示意在编码过程期间对帧分段并确定滤波器信息(例如,使用滤波器处理器240)的示例过程的示意图,该滤波器信息在解码过程期间要被用于滤波。将重构视频帧300(在下面的等式中以R表示)划分为不重叠的段,一个或更多个段是基于图样信息而确定的。在本示例过程中,滤波器处理器240执行二阶段分段。在第一阶段中,滤波器处理器240至少部分地基于个体像素的变化信息将重构帧300的像素划分为多个像素集合302A-302C。具有在多个范围中的不同范围内的相应的变化信息值的像素被指派给集合302A-302C中的不同的相应集合,下面对此进行更详细描述。在第二阶段中,滤波器处理器240至少部分地基于集合302A-302C的所选集合中的个体像素的图样信息,进一步将所选集合内的帧300的像素划分为多个像素子集304A-304D,下面对此进行更详细描述。在该示例中,选择集合302C,以用于第二阶段中基于图样信息的进一步划分。该像素集合和子集表示被标记的段,该被标记的段在帧300内不是必然邻接的。例如,在本示例中,子集304B包括帧300的两个区域,该两个区域都被认为是帧中将会应用相同滤波器的相同段的一部分。
滤波器处理器240将(x,y)处的特定像素的变化信息v(x,y)计算为以(x,y)为中心的(2K+1)×(2K+1)像素区域上的Laplacian函数v(x,y)=l(x,y),其中,Laplacianl(x,y)被定义为:
l ( x , y ) = 1 ( 2 K + 1 ) 2 Σ i = - K K Σ j = - K K | 4 R ( x + i , y + j ) - R ( x + i - 1 , y + j ) - R ( x + i + 1 , y + j ) - . . . - R ( x + i , y + j - 1 ) - R ( x + i , y + j + 1 ) |
其中,R(x,y)是重构帧R的像素位置(x,y)处的像素值(例如,亮度)。
当在第一阶段中基于变化信息来对重构帧R分段时,通过对Laplacianl(x,y)的值的范围设置阈值来定义M+1个集合,滤波器处理器240根据M+1标签字段LM将R中的像素划分为由不同的标签来各自标识的不同集合。在下面的示例中,M=2,以及存在定义3个集合的两个阈值tα和tβ。根据以下等式将位于(x,y)处的像素划分到3个集合中的一个中:
Figure BDA0000479866620000101
其中,LM(x,y)是标识集合中的对应集合的标签。与M+1标签字段相关联的两个标签状态具有标签“0”和“1”。第一像素集合由标签“0”来标识,第二像素集合由标签“1”来标识,以及将在第二阶段遭受附加划分的第三像素集合由标签“?”来标识(作为“未确定”的第M+1个标签状态)。可以根据帧R的特性或包含帧R的视频序列来计算阈值tα和tβ的值。在本示例中,阈值tα和tβ分别是α和β的函数,以及α和β取决于与帧R的部分相关联的平均量化参数(QP)。可以使用值M=2,其在复杂度和性能之间提供了良好的折衷。
对于具有未确定标签状态{R(x,y)|LM(x,y)=?}的像素集合,基于每个像素的图样信息,使用图样函数来将像素划分为子集。图4A-4D示意了可被用于使用图样函数来确定空间图样的参考位置的示例布置。与该特定像素的强度值相比较,图样函数至少部分地基于围绕(但不是必然邻接)特定像素的附近区域中的像素的强度值来计算针对该特定像素的图样信息。例如,像素强度值可以是亮度值或灰度级值。基于中心像素的强度是大于还是小于与各个参考位置相关联的强度来计算图样信息。针对特定像素的计算出的图样信息通过向各个图样类型指派不同的值来标识多种类型的空间图样中的哪些类型围绕该像素。图样类型(也称为“纹理基元”)例如可以包括“斑点”、“角”、“边缘”、“线端”、“平面(flat)”。
图4A示出了围绕中心像素400的参考位置(示出为黑色点)的第一布置401。将中心像素的强度值与这4个像素中的每个像素依次进行比较,并基于比较结果(中心像素的强度值大于还是小于与参考位置相关联的强度)标识图样类型。在该示例中,每个参考位置在像素中心,并因此由该像素的强度值来进行表示。因此,与例如左上角参考位置相关联的强度值是基础(underlying)像素的强度值(通过粗的轮廓线示出)。
图4B示出了围绕中心像素400的参考位置的第二布置402。这些参考位置更靠近中心像素400,因此基于其他像素的组合强度值(例如,使用加权组合进行插值)来确定与各个参考位置相关联的强度值。在本示例中,与左上角参考位置相关联的强度值是临近参考位置的4个像素(针对本布置402,包括中心像素400)的强度值的加权组合(通过粗的轮廓线示出)。
图4C示出了围绕中心像素400的参考位置的第三布置403。在下面描述的简化4相邻LBP示例中使用该布置403。图4D示出了围绕中心像素400的参考位置的第四布置404。在下面描述的简化8相邻LBP示例中使用该布置404。
在第二阶段中,将像素划分为N个子集,通过与根据图样函数定义的标签状态相对应的标签LN(x,y)来标识各个子集。在本示例中,图样函数是LBP函数其根据相对于给定中心像素位置(x,y)处的强度的周围像素强度值来返回N个可能值(称为“LBP索引”)中的一个。使用LBP函数返回的LBP索引来如下将像素指派给已标记的子集:
L N ( x , y ) = LBP P N ( x , y )
其中,P是与LBP函数相关联的参数,该参数确定将使用多少个参考位置来表征LBP索引值标识的图样。
LBP函数确定针对给定中心像素位置(x,y)的LBP索引值的方式的示例如下:
LBP P ( x , y ) = Σ p = 0 P - 1 s ( g p - g c ) 2 p
其中,gc是与(x,y)处的中心像素相对应的灰度级值,gP(p=0,…,P-1)是基于围绕(但不是必然邻接)(x,y)处的中心像素的相邻像素的P个参考位置之一的灰度级值。函数s(·)是根据其自变量的符号来返回值1或0的符号函数。
s ( g p - g c ) = 1 , g p - g c &GreaterEqual; 0 0 , g p - g c < 0
也可以使用其他类型的LBP函数,以及可以使用各种操作来改变被用作图样函数的特定LBP函数生成的LBP索引的数目。例如,另一类型的LBP函数是由
Figure BDA0000479866620000121
表示的旋转不变LBP函数,其中,将以上示出的由LVPp(x,y)生成的索引映射到更小的索引集合中。例如,可以如下定义
Figure BDA0000479866620000122
针对图5A中示出的各个LBP图样,其在顺时针或逆时针方向上的8个相邻像素的任何数目的旋转偏移将不会改变LBP图样的标签状态。例如,针对图5A中标记为7的LBP图样,在其相邻像素的旋转偏移之后,不管黑色点最终位于何处,所产生的图样始终被标记为7。
下面是使用旋转不变LBP函数
Figure BDA0000479866620000123
(P=8),基于简化8相邻LBP函数的图样函数
Figure BDA0000479866620000124
(x,y)的示例。针对各个重构帧R,取决于将特定比率与阈值thr进行如下比较的结果,根据两种可能的配置来定义图样函数(x,y):
其中,merge(.)是基于其图样的相似性来合并某些标签状态的合并算子。该比率的分子size(R|LM=?)是帧R中标签状态LM(针对M+1标签字段)是未确定状态“?”的像素的数目。该比率的分母size(R|LM=0∪LM=1)是帧R中标签状态LM是确定状态中的任一个(对于M=2,“0”或“1”)的像素的数目。在本示例中,合并算子merge(.)将具有接近的LBP索引的一些标签状态组合成组,并向各个组指派新的标签。对于P=8,图5A中示出了旋转不变LBP函数的原始标签状态,其中,通过示出围绕中心像素的8个像素(点表示灰度级比较的结果)以及中心中的对应数字标签来示意了9个标签状态(数字标签0-8)。针对总共10个原始标签(N=10),通过数字标签9来表示其他标签状态。图5B中示出了合并标签状态。原始标签状态0-2被合并到具有新标签0的组。原始标签状态3-5被合并到具有新标签1的组。原始标签状态6-8被合并到具有新标签2的组。对于总共4个合并标签(N=4),原始标签状态9被合并到具有新标签3的组。
可以通过离线的训练过程,根据测试视频序列的特性来确定阈值thr的值。在示例离线训练过程中,针对每个测试视频序列,计算未确定状态像素的数目与确定状态像素的数目的比率(lt)(在序列的帧范围内)的平均值。此外,针对每个测试视频序列,分别基于两个LBP配置来确定和应用滤波器:
Figure BDA0000479866620000131
Figure BDA0000479866620000132
针对每个LBP配置,可以计算与配置相关联的速率失真(RD)成本。针对每个测试视频序列,选择导致低RD成本的LBP配置,以在导致低RD成本的情况下将视频序列分类为“合并配置序列”,或者在
Figure BDA0000479866620000134
导致低RD成本的情况下将视频序列分类为“非合并配置序列”。针对合并配置序列的组,计算其比率lt的平均值,以及针对非合并配置序列的组,计算其比率lt的平均值。可以将阈值thr选择为针对对应于两个LBP配置的两个组的两个平均值lt的平均值。
虽然在离线训练过程中确定要使用来选择用于在线处理的LBP配置的阈值thr可能不导致针对每个序列和每个序列帧的最佳选择,使用在离线过程中确定的阈值thr可以有助于节省在线处理成本。备选地,在一些实现中,如果优选针对每个视频帧选择最佳LBP配置,在线过程可以生成并应用基于
Figure BDA0000479866620000135
配置的两个滤波器,并选择具有较低RD成本的滤波器来用于生成已编码滤波器系数。
对合并算子merge(.)的使用是保留LBP技术的高性能(例如,在峰值信号噪声比方面)和通过降低子集的数目(N)来实现低复杂度之间的折衷。虽然使用合并算子降低了状态N的数目,对于标签状态而言,标签状态的数目仍然高到足够为通过分段提高滤波器性能提供适当的描述能力。对于N的较小值,可以降低所产生的后处理的复杂度,因为针对多个(M+N)段生成各个自适应滤波器的处理可能是昂贵的。例如,针对段来生成滤波器的处理可以涉及:构成自相关矩阵;构成互相关矩阵;以及计算Weiner-Hopf等式的解。当数目N降低时,要求较少的滤波器,这导致较小的计算复杂度。
在该8-相邻LBP函数示例中,通过以下等式给出用于第二阶段中的划分的子集N的数目:
Figure BDA0000479866620000141
图样函数的其他示例可以通过其他方式使用LBP函数。例如,通过设置
Figure BDA0000479866620000142
图样函数
Figure BDA0000479866620000143
可以基于简化的4-相邻LBP函数,该简化的4-相邻LBP函数使用以上定义的非旋转不变函数LBPP(x,y),P=4,并使用N=11。图5C示出了将16个原始标签状态合并为11个标签状态的示例。
例如,通过最小化下面的M+N个MSE函数,针对M+N个段中的每个段,可以分别确定总共M+N个滤波器:
E m = &Sigma; ( x , y ) &Element; &Omega; m [ S x , y m - &Sigma; i = - K K &Sigma; j = - K K h i , j m R x + i , . y + j m ] 2
E n = &Sigma; ( x , y ) &Element; &Omega; n [ S x , y n - &Sigma; i = - K K &Sigma; j = - K K h i , j n R x + i , y + j n ] 2
其中Ωm={(x,y)|LM(x,y)=m}是在第一分段阶段中确定的M个段中的第m个段中的像素位置的集合,以及Ωn={(x,y)|LN(x,y)=n}是在第二分段阶段中确定的N个段中的第n个段中的像素位置的集合。针对M+N个MSE函数中的每一个,最小化过程包括计算每个滤波器系数的导数并将这些导数设置为零,这产生了线性等式(liner equation)集合。这些等式被称为Wiener-Hopf等式。这些等式的解产生了我们想要用于自适应滤波的滤波器系数的集合。
现在描述基于5个具有24个预测帧的1080p测试视频序列的图样信息的自适应滤波过程的示例实现。将该实现(方法1)的重构性能与参考方法(方法2)相比较,以及表格1和表格2中分别示出了对应两种不同LBP类型的比较结果:简化的8-相邻LBP和简化的4-相邻LBP。参考方法不使用图样信息生成滤波器,并且针对每个测试视频序列的每个帧使用16个滤波器。在方法之间的示例比较中,Wiener滤波器共享相同的结构:不可分隔,5x5抽头,不使用系数对称性。用于比较的质量度量是峰值信号噪声比(PSNR),PSNR是通常用于评估视频质量的度量。
Figure BDA0000479866620000151
表格1:(简化的8-相邻LBP)
表格2:(简化的4-相邻LBP)
表格1(2)的结果示出了方法1平均超出方法20.018(0.019)dB。具体地,针对拥有复杂图样的那些序列(例如,仙人掌、BQ广场和公园场景),针对两种LBP类型,方法1均比方法2产生更大的PSNR。此外,方法1比方法2使用更少的滤波器。因为滤波器的数目可以确定自适应后滤波的复杂度,方法1使得可能更简单的滤波器实现成为可能。
图6A示出了来自仙人掌(Cactus)序列的示例测试帧。图6B示出了16个滤波器的图形表示,该滤波器是针对测试帧使用方法2生成的。图6C和6D针对8-相邻LBP和4-相邻LBP分别示出了12个滤波器和13个滤波器的图形表示,该滤波器是针对测试帧使用方法1生成的。当将从方法1产生的滤波器(图6C和图6D)与从方法2产生的滤波器(图6B)进行比较时,很明显在滤波器形状和取向方面,使用图样信息来确定滤波器使得滤波器更适应测试帧的不同特性。
图7A示出了示例过程700的流程图,示例过程700包括生成针对被至少部分地基于图样信息分段的重构帧的滤波器信息,该过程可以是由编码器(例如,编码器200)执行的、包括未示出的附加步骤的过程的一部分。过程700包括从正被编码的视频数据的原始帧的压缩数据生成(702)重构帧。重构帧对应于将在解码器处生成的帧,并且可在编码器处用于预测。过程700包括:至少部分地基于个体像素的图样信息将重构帧的至少一些像素划分(704)为多个具有一个或更多个像素的段。针对每个段,过程700确定(706)该段(在解码器处)是否要被滤波,并针对要被滤波的每个段生成(708)相应的滤波器信息。过程700包括生成(710)编码的视频数据,编码的视频数据包括原始帧的压缩数据以及所生成的(针对要被滤波的所有段的)滤波器信息。
在一些实现中,解码器也可以执行过程700中的一些步骤,例如将重构帧划分为将会应用不同滤波器的段。解码器可以是能够至少部分地基于正在解码的编码的视频数据中的一些边带信息来执行划分。例如,边带信息可以包括应该将哪个LBP配置用于划分。
图7B示出了示例过程750的流程图,示例过程750包括基于与段相关联的滤波器信息来滤波数据,该段是至少部分地基于图样信息(例如,由编码器)确定的,该过程可以是由解码器(例如,解码器250)执行的、包括未示出的附加步骤的过程的一部分。过程750包括从编码的视频数据生成(752)重构帧。过程750包括从编码的视频数据提取(754)针对要被滤波的重构帧的每个段的相应的滤波器信息(与过程700中一样,在将像素划分为段之后,这基于编码的视频数据中的信息)。针对每个段,过程750(例如基于是否提取了该特定段的滤波器信息)确定(756)是否要对该特定段滤波,以及如果要滤波,通过应用从针对该特定段的滤波器信息导出的滤波器来对该特定段中的像素滤波(758)。过程750在进行滤波之后从段生成(760)解码帧。
现在参考图8A,图8A示出了编码器800的示例实施例的简化框图。编码器800包括处理器802、处理器802可访问的存储器804、以及视频编码应用806。编码应用506可以包括计算机程序或应用,该计算机程序或应用存储在存储器804中并包含用于配置处理器802执行例如本文中描述的步骤或操作的指令。编码应用806可以包括用于执行本文中描述的技术的各个方案的一个或更多个组件或模块。例如,可以将滤波器处理器810(例如,本文中描述的滤波器处理器240)作为编码应用806的模块来包括。可以将编码应用806或其任何模块存储在编码器800的存储器804与任何其他可访问计算机可读存储介质(例如,紧致盘、闪存设备、随机存取存储器、硬盘驱动器等)的任何组合中。编码器800还包括处理器802可访问以发送比特流的通信接口808,该比特流包括执行编码应用806的处理器802生成的编码的视频数据。
现在参考图8B,图8B示出了解码器850的示例实施例的简化框图。解码器850包括处理器852、存储器854以及解码应用856。解码应用856可以包括计算机程序或应用,该计算机程序或应用存储在存储器854中并包含用于配置处理器852执行例如本文中描述的步骤或操作的指令。解码应用856可以包括用于执行本文中描述的技术的各个方案的一个或更多个组件或模块。例如,可以将滤波器858(例如,本文中描述的环后处理器264)作为解码应用856的模块来包括。可以将解码码应用856或其任何模块存储在解码器850的存储器854与任何其他可访问计算机可读存储介质(例如,紧致盘、闪存设备、随机存取存储器、硬盘驱动器等)的任何组合中。解码器850还包括处理器852可访问以接收比特流的通信接口860,该比特流包括执行解码应用856的处理器852要解码的编码的视频数据。
可以在很多计算设备中实现解码器和/或编码器,包括但不限于服务器、适当编程的通用计算机、机顶电视盒、电视广播设备、和移动设备。可以通过软件的方式实现解码器或编码器,该软件包含用于配置处理器来执行本文中描述的功能的指令。可以将软件指令存储在任何适合的计算机可读存储器上,包括CD、RAM、ROM和闪存等。
将理解,可以使用标准计算机编程技术和语言来实现在此描述的编码器以及实现用于配置编码器的所述方法/过程的模块、例程、进程、线程或者其他软件组件。本文中描述的技术不限于具体的处理器、计算机语言、计算机编程惯例、数据结构、其他的这种实现细节。可以将所描述的过程作为存储在易失性或非易失性存储器中的计算机可读代码的一部分、作为专用集成芯片(ASIC)的一部分等来实现。
在一个方案中,大体上,用于编码包括帧的视频数据的方法包括:从所述帧的压缩数据生成重构帧;至少部分地基于个体像素的图样信息,将重构帧的至少一些像素划分为多个具有一个或更多个像素的段;针对所述多个段的一个或更多个段中的每个段,生成相应的滤波器信息;以及生成包括所述帧的压缩数据和所生成的滤波器信息的编码的视频数据。
方案可以包括一个或更多个以下特征。
至少部分地基于个体像素的图样信息,将重构帧的至少一些像素划分为多个具有一个或更多个像素的段包括:将重构帧的至少一些像素划分为多个具有一个或更多个像素的集合,以及至少部分地基于个体像素的图样信息,将具有一个或更多个像素的集合中的至少第一集合划分为多个具有一个或更多个像素的子集,其中,至少一个段对应于所述集合中的一个集合,以及至少一个段对应于所述子集中的一个子集。
多个具有一个或更多个像素的集合是至少部分地基于个体像素的变化信息而确定的。
具有在多个范围中的不同范围内的相应的变化信息值的像素属于多个具有一个或更多个像素的集合中不同的相应集合。
具有一个或更多个像素的一个段中的特定像素的图样信息是至少部分地基于围绕该特定像素的像素与该特定像素的强度值相比较的强度值而确定的。
确定特定像素的图样信息包括:确定与围绕该特定像素的多个参考位置相关联的相应强度值,以及确定该特定像素的强度值是大于还是小于与参考位置相关联的强度值。
根据多个像素的强度值来插值与参考位置之一相关联的至少一个强度值。
针对所述多个段的一个或更多个段中的每个段生成相应的滤波器信息包括:确定根据重构帧的第一段的滤波器信息来滤波的所述第一段中的像素值与所述帧的对应像素值之间的差。
方法还包括:基于重构帧,生成视频数据中包括的另一帧的压缩数据。
在另一方案中,大体上,计算机可读存储介质存储用于编码包括一个或更多个帧的输入数据的计算机程序。计算机程序包括用于使计算机系统执行以下操作的指令:从所述帧的压缩数据生成重构帧;至少部分地基于个体像素的图样信息,将重构帧的至少一些像素划分为多个具有一个或更多个像素的段;针对所述多个段的一个或更多个段中的每个段,生成相应的滤波器信息;以及生成包括所述帧的压缩数据和所生成的滤波器信息的编码的视频数据。
在另一方案中,大体上,用于编码包括一个或更多个帧的视频数据的设备包括:存储器,被配置为缓冲从视频数据重构的一个或更多个帧;以及至少一个处理器,耦合到存储器,并被配置为基于存储器中缓冲的一个或更多个帧来处理视频数据。处理包括:从所述帧的压缩数据生成重构帧;至少部分地基于个体像素的图样信息,将重构帧的至少一些像素划分为多个具有一个或更多个像素的段;针对所述多个段的一个或更多个段中的每个段,生成相应的滤波器信息;以及生成包括所述帧的压缩数据和所生成的滤波器信息的编码的视频数据。
在另一方案中,大体上,用于解码编码的视频数据的方法包括:从编码的视频数据生成重构帧;从编码的视频数据提取针对所述重构帧的多个具有一个或更多个像素的段的一个或更多个段中的每个段的相应的滤波器信息,其中,所述多个段中的至少一个段是至少部分地基于个体像素的图样信息确定的;以及,通过应用从针对所述多个段中的第一段的滤波器信息导出的滤波器,对所述第一段中的像素滤波。
方案可以包括一个或更多个以下特征。
至少部分地基于个体像素的图样信息确定至少一个段包括:将重构帧的至少一些像素划分为多个具有一个或更多个像素的集合,以及至少部分地基于个体像素的图样信息,将具有一个或更多个像素的集合中的至少第一集合划分为多个具有一个或更多个像素的子集,其中,至少一个段对应于所述集合中的一个集合,以及至少一个段对应于所述子集中的一个子集。
多个具有一个或更多个像素的集合是至少部分地基于个体像素的变化信息而确定的。
具有在多个范围中的不同范围内的相应的变化信息值的像素属于多个具有一个或更多个像素的集合中不同的相应集合。
具有一个或更多个像素的一个段中的特定像素的图样信息是至少部分地基于围绕该特定像素的像素与该特定像素的强度值相比较的强度值而确定的。
确定特定像素的图样信息包括:确定与围绕该特定像素的多个参考位置相关联的相应强度值,以及确定该特定像素的强度值是大于还是小于与参考位置相关联的强度值。
根据多个像素的强度值来插值与参考位置之一相关联的至少一个强度值。
在另一方案中,大体上,计算机可读存储介质存储用于解码编码的视频数据的计算机程序。计算机程序包括用于使计算机系统执行以下操作的指令:从编码的视频数据生成重构帧;从编码的视频数据提取针对所述重构帧的多个具有一个或更多个像素的段的一个或更多个段中的每个段的相应的滤波器信息,其中,所述多个段中的至少一个段是至少部分地基于个体像素的图样信息确定的;以及,通过应用从针对所述多个段中的第一段的滤波器信息导出的滤波器,对所述第一段中的像素滤波。
在另一方案中,大体上,用于解码编码的视频数据的设备包括:存储器,被配置为缓冲从编码的视频数据重构的一个或更多个帧;以及至少一个处理器,耦合到存储器,并被配置为基于存储器中缓冲的一个或更多个帧来处理编码的视频数据。处理包括:从编码的视频数据生成重构帧;从编码的视频数据提取针对所述重构帧的多个具有一个或更多个像素的段的一个或更多个段中的每个段的相应的滤波器信息,其中,所述多个段中的至少一个段是至少部分地基于个体像素的图样信息确定的;以及,通过应用从针对所述多个段中的第一段的滤波器信息导出的滤波器,对所述第一段中的像素滤波。
各方案可具有以下一个或更多个优点或其他优点。基于图样信息将帧的像素划分为将会应用不同滤波器的多个段使得可提高(例如,通过峰值信号噪声比测量的)性能。基于图样信息的分段使得滤波器处理器可区分图像的不同空间特性。从而可以基于该不同空间特性来优化针对不同段的滤波器。图样信息还使得可将较少数目的滤波器用于实现所期望的性能度量,由于减少了应用较少数目的滤波器所需的处理,提供了更高的处理效率。
根据本说明书并根据权利要求,本发明的其他特征和优点是显而易见的。
可以对所描述的实施例的进行特定的改写和修改。因此,将以上讨论的实施例认为示意性的而不是限制性的。

Claims (20)

1.一种用于对包括帧的视频数据进行编码的方法,所述方法包括:
从所述帧的压缩数据生成重构帧;
至少部分地基于个体像素的图样信息,将所述重构帧的至少一些像素划分为多个具有一个或更多个像素的段;
针对所述多个段的一个或更多个段中的每个段,生成相应的滤波器信息;以及
生成编码的视频数据,所述编码的视频数据包括:
所述帧的压缩数据,以及
所生成的滤波器信息。
2.根据权利要求1所述的方法,其中,至少部分地基于个体像素的图样信息将所述重构帧的至少一些像素划分为多个具有一个或更多个像素的段包括:
将所述重构帧的至少一些像素划分为多个具有一个或更多个像素的集合,以及
至少部分地基于个体像素的图样信息,将具有一个或更多个像素的集合中的至少第一集合划分为多个具有一个或更多个像素的子集,
至少一个段对应于所述集合中的一个集合,以及至少一个段对应于所述子集中的一个子集。
3.根据权利要求2所述的方法,其中,所述多个具有一个或更多个像素的集合是至少部分地基于个体像素的变化信息而确定的。
4.根据权利要求3所述的方法,其中,具有在多个范围中的不同范围内的相应的变化信息值的像素属于所述多个具有一个或更多个像素的集合中不同的相应集合。
5.根据权利要求1所述的方法,其中,具有一个或更多个像素的一个段中的特定像素的图样信息是至少部分地基于围绕所述特定像素的像素的强度值与所述特定像素的强度值相比较而确定的。
6.根据权利要求5所述的方法,其中,确定所述特定像素的图样信息包括:确定与围绕所述特定像素的多个参考位置相关联的相应强度值,以及确定所述特定像素的强度值是大于还是小于与所述参考位置相关联的强度值。
7.根据权利要求6所述的方法,其中,根据多个像素的强度值,对与所述参考位置之一相关联的至少一个强度值进行插值。
8.根据权利要求1所述的方法,其中,针对所述多个段的一个或更多个段中的每个段生成相应的滤波器信息包括:确定根据所述重构帧的第一段的滤波器信息来滤波的所述第一段中的像素值与所述帧的对应像素值之间的差。
9.根据权利要求1所述的方法,还包括:基于所述重构帧,生成所述视频数据中包括的另一帧的压缩数据。
10.一种存储计算机程序的计算机可读存储介质,所述计算机程序用于对包括一个或更多个帧的输入数据进行编码,所述计算机程序包括用于使计算机系统执行以下操作的指令:
从所述帧的压缩数据生成重构帧;
至少部分地基于个体像素的图样信息,将所述重构帧的至少一些像素划分为多个具有一个或更多个像素的段;
针对所述多个段的一个或更多个段中的每个段,生成相应的滤波器信息;以及
生成编码的视频数据,所述编码的视频数据包括:
所述帧的压缩数据,以及
所生成的滤波器信息。
11.一种用于对包括一个或更多个帧的视频数据进行编码的设备,所述设备包括:
存储器,被配置为缓冲从所述视频数据重构的一个或更多个帧;以及
至少一个处理器,与所述存储器耦合并被配置为基于所述存储器中缓冲的一个或更多个帧来处理所述视频数据,所述处理包括:
从所述帧的压缩数据生成重构帧;
至少部分地基于个体像素的图样信息,将所述重构帧的至少一些像素划分为多个具有一个或更多个像素的段;
针对所述多个段的一个或更多个段中的每个段,生成相应的滤波器信息;以及
生成编码的视频数据,所述编码的视频数据包括:
所述帧的压缩数据,以及
所生成的滤波器信息。
12.一种用于对编码的视频数据进行解码的方法,所述方法包括:
从所述编码的视频数据生成重构帧;
从所述编码的视频数据提取针对所述重构帧的多个具有一个或更多个像素的段的一个或更多个段中的每个段的相应的滤波器信息,其中,所述多个段中的至少一个段是至少部分地基于个体像素的图样信息而确定的;以及
通过应用从所述多个段中的第一段的滤波器信息导出的滤波器,对所述第一段中的像素进行滤波。
13.根据权利要求12所述的方法,其中,至少部分地基于个体像素的图样信息确定至少一个段包括:
将所述重构帧的至少一些像素划分为多个具有一个或更多个像素的集合,以及
至少部分地基于个体像素的图样信息,将具有一个或更多个像素的集合中的至少第一集合划分为多个具有一个或更多个像素的子集,
至少一个段对应于所述集合中的一个集合,以及至少一个段对应于所述子集中的一个子集。
14.根据权利要求13所述的方法,其中,所述多个具有一个或更多个像素的集合是至少部分地基于个体像素的变化信息而确定的。
15.根据权利要求14所述的方法,其中,具有在多个范围中的不同范围内的相应的变化信息值的像素属于所述多个具有一个或更多个像素的集合中的不同的相应集合。
16.根据权利要求12所述的方法,其中,具有一个或更多个像素的一个段中的特定像素的图样信息是至少部分地基于围绕所述特定像素的像素的强度值与所述特定像素的强度值相比较而确定的。
17.根据权利要求16所述的方法,其中,确定所述特定像素的图样信息包括:确定与围绕所述特定像素的多个参考位置相关联的相应强度值,以及确定所述特定像素的强度值是大于还是小于与所述参考位置相关联的强度值。
18.根据权利要求17所述的方法,其中,根据多个像素的强度值,对与所述参考位置之一相关联的至少一个强度值进行插值。
19.一种存储计算机程序的计算机可读存储介质,所述计算机程序用于对编码的视频数据进行解码,所述计算机程序包括用于使计算机系统执行以下操作的指令:
从所述编码的视频数据生成重构帧;
从所述编码的视频数据提取针对所述重构帧的多个具有一个或更多个像素的段的一个或更多个段中的每个段的相应的滤波器信息,其中,所述多个段中的至少一个段是至少部分地基于个体像素的图样信息而确定的;以及
通过应用从所述多个段中的第一段的滤波器信息导出的滤波器,对所述第一段中的像素进行滤波。
20.一种用于对编码的视频数据进行解码的设备,所述设备包括:
存储器,被配置为缓冲从所述编码的视频数据重构的一个或更多个帧;以及
至少一个处理器,与所述存储器耦合并被配置为基于所述存储器中缓冲的一个或更多个帧来处理所述编码的视频数据,所述处理包括:
从所述编码的视频数据生成重构帧;
从所述编码的视频数据提取针对所述重构帧的多个具有一个或更多个像素的段的一个或更多个段中的每个段的相应的滤波器信息,其中,所述多个段中的至少一个段是至少部分地基于个体像素的图样信息而确定的;以及
通过应用从所述多个段中的第一段的滤波器信息导出的滤波器,对所述第一段中的像素进行滤波。
CN201180073589.2A 2011-07-21 2011-07-21 一种编码和解码方法、编码和解码设备 Active CN103828366B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CA2011/050446 WO2013010248A1 (en) 2011-07-21 2011-07-21 Adaptive filtering based on pattern information

Publications (2)

Publication Number Publication Date
CN103828366A true CN103828366A (zh) 2014-05-28
CN103828366B CN103828366B (zh) 2017-10-20

Family

ID=47557605

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180073589.2A Active CN103828366B (zh) 2011-07-21 2011-07-21 一种编码和解码方法、编码和解码设备

Country Status (4)

Country Link
EP (1) EP2735144B1 (zh)
CN (1) CN103828366B (zh)
CA (1) CA2842489C (zh)
WO (1) WO2013010248A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108605128A (zh) * 2016-02-15 2018-09-28 高通股份有限公司 合并用于视频译码的用于多类别块的滤波器
CN110710218A (zh) * 2017-05-26 2020-01-17 Ati科技无限责任公司 用于高质量视频播放的特定于应用的滤波器
CN111050167A (zh) * 2016-11-04 2020-04-21 谷歌有限责任公司 使用滤波和子空间投影的视频编译的恢复
CN112637610A (zh) * 2019-09-24 2021-04-09 富士通株式会社 去块滤波器的系数获取装置、方法以及图像编解码装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1535024A (zh) * 2003-03-27 2004-10-06 ��ʽ����Ntt����Ħ 视频编码设备、方法和程序及视频解码设备、方法和程序
US20060159172A1 (en) * 2005-01-18 2006-07-20 Canon Kabushiki Kaisha Video Signal Encoding Apparatus and Video Data Encoding Method
CN101080929A (zh) * 2004-10-18 2007-11-28 索尼株式会社 图像处理装置与图像处理方法
CN101243685A (zh) * 2005-08-12 2008-08-13 微软公司 对图像压缩的变换系数的预测
US20090304086A1 (en) * 2008-06-06 2009-12-10 Apple Inc. Method and system for video coder and decoder joint optimization
US20100254463A1 (en) * 2008-09-04 2010-10-07 Panasonic Corporation Image coding method, image decoding method, image coding apparatus, image decoding apparatus, system, program, and integrated circuit
CN101904173A (zh) * 2007-12-21 2010-12-01 艾利森电话股份有限公司 用于视频编码的改进像素预测
CA2764868A1 (en) * 2009-06-19 2010-12-23 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, and image decoding method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7782339B1 (en) * 2004-06-30 2010-08-24 Teradici Corporation Method and apparatus for generating masks for a multi-layer image decomposition
US8634456B2 (en) * 2008-10-03 2014-01-21 Qualcomm Incorporated Video coding with large macroblocks

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1535024A (zh) * 2003-03-27 2004-10-06 ��ʽ����Ntt����Ħ 视频编码设备、方法和程序及视频解码设备、方法和程序
CN101080929A (zh) * 2004-10-18 2007-11-28 索尼株式会社 图像处理装置与图像处理方法
US20060159172A1 (en) * 2005-01-18 2006-07-20 Canon Kabushiki Kaisha Video Signal Encoding Apparatus and Video Data Encoding Method
CN101243685A (zh) * 2005-08-12 2008-08-13 微软公司 对图像压缩的变换系数的预测
CN101904173A (zh) * 2007-12-21 2010-12-01 艾利森电话股份有限公司 用于视频编码的改进像素预测
US20090304086A1 (en) * 2008-06-06 2009-12-10 Apple Inc. Method and system for video coder and decoder joint optimization
US20100254463A1 (en) * 2008-09-04 2010-10-07 Panasonic Corporation Image coding method, image decoding method, image coding apparatus, image decoding apparatus, system, program, and integrated circuit
CA2764868A1 (en) * 2009-06-19 2010-12-23 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, and image decoding method

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHIH-MING FU等: "CE8 Subset3: Picture Quadtree Adaptive Offset", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING(JCT-VC)OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11》 *
CHIH-MING FU等: "CE8 Subsets3: Picture Quadtree Adaptive Offset", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING(JCT-VC)OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11》 *
TIMO OJALA等: "Multiresolution Gray Scale and Rotation Invariant Texture Classification with Local Binary Patterns", 《IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108605128A (zh) * 2016-02-15 2018-09-28 高通股份有限公司 合并用于视频译码的用于多类别块的滤波器
US11064195B2 (en) 2016-02-15 2021-07-13 Qualcomm Incorporated Merging filters for multiple classes of blocks for video coding
CN108605128B (zh) * 2016-02-15 2021-10-08 高通股份有限公司 滤波视频数据的经解码块的方法和装置以及存储介质
US11405611B2 (en) 2016-02-15 2022-08-02 Qualcomm Incorporated Predicting filter coefficients from fixed filters for video coding
US11563938B2 (en) 2016-02-15 2023-01-24 Qualcomm Incorporated Geometric transforms for filters for video coding
CN111050167A (zh) * 2016-11-04 2020-04-21 谷歌有限责任公司 使用滤波和子空间投影的视频编译的恢复
CN111050167B (zh) * 2016-11-04 2021-11-09 谷歌有限责任公司 用于恢复由源帧的重构产生的劣化帧的方法和装置
US11405653B2 (en) 2016-11-04 2022-08-02 Google Llc Restoration in video coding using filtering and subspace projection
US11924476B2 (en) 2016-11-04 2024-03-05 Google Llc Restoration in video coding using filtering and subspace projection
CN110710218A (zh) * 2017-05-26 2020-01-17 Ati科技无限责任公司 用于高质量视频播放的特定于应用的滤波器
CN112637610A (zh) * 2019-09-24 2021-04-09 富士通株式会社 去块滤波器的系数获取装置、方法以及图像编解码装置

Also Published As

Publication number Publication date
CA2842489C (en) 2016-09-27
EP2735144B1 (en) 2020-01-08
EP2735144A4 (en) 2015-04-29
WO2013010248A1 (en) 2013-01-24
CA2842489A1 (en) 2013-01-24
CN103828366B (zh) 2017-10-20
WO2013010248A8 (en) 2013-10-24
EP2735144A1 (en) 2014-05-28

Similar Documents

Publication Publication Date Title
CN104853209B (zh) 图像编码、解码方法及装置
EP3354030B1 (en) Methods and apparatuses for encoding and decoding digital images through superpixels
CN109792519A (zh) 基于帧内预测模式的图像处理方法及其装置
CN106464880B (zh) 用于减少高效率视频编码中的计算负荷的方法和设备
CN103975587A (zh) 使针对图像的一组重建样本的补偿偏移的编码/解码最优化的方法和装置
CN105721876A (zh) 图像解码方法
CN104641643A (zh) 在分层层级中信号编码、解码和重构期间残差数据的分解
MX2014000042A (es) Metodo de codificacion y decodificacion de informacion de imagenes.
CN104581177B (zh) 一种结合块匹配和串匹配的图像压缩方法和装置
US9451271B2 (en) Adaptive filtering based on pattern information
CN116648906A (zh) 通过指示特征图数据进行编码
CN107005702B (zh) 用于处理数字图像的块的系统和方法
US20230276063A1 (en) Npu for encoding or decoding videostream format for machine analisys
CN110024397A (zh) 用于编码视频的方法和装置
JP6065613B2 (ja) 動画像符号化装置
Astola et al. Coding of light fields using disparity-based sparse prediction
CN103828366A (zh) 基于图样信息的自适应滤波
CN117730537A (zh) 经由基于学习神经网络的过滤器对机器视觉任务的性能改进
US11893783B2 (en) Apparatus and method for transceiving feature map extracted using MPEG-VCM
CN107079168A (zh) 对残差积分图像的生成和编码
WO2023048070A1 (en) Systems and methods for compression of feature data using joint coding in coding of multi-dimensional data
CN101310534A (zh) 使用随机域模型改进图片和视频压缩以及帧速率上转换的方法和设备
US11831887B1 (en) Scalable video coding for machine
EP4354862A1 (en) Systems and methods for end-to-end feature compression in coding of multi-dimensional data
US11743477B1 (en) Video-stream format for machine analysis using NPU

Legal Events

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