WO2019191892A1 - 用于视频编解码的方法和设备 - Google Patents

用于视频编解码的方法和设备 Download PDF

Info

Publication number
WO2019191892A1
WO2019191892A1 PCT/CN2018/081655 CN2018081655W WO2019191892A1 WO 2019191892 A1 WO2019191892 A1 WO 2019191892A1 CN 2018081655 W CN2018081655 W CN 2018081655W WO 2019191892 A1 WO2019191892 A1 WO 2019191892A1
Authority
WO
WIPO (PCT)
Prior art keywords
svd
matrix
vector
singular
image block
Prior art date
Application number
PCT/CN2018/081655
Other languages
English (en)
French (fr)
Inventor
马思伟
孟学苇
王苫社
贾川民
郑萧桢
Original Assignee
北京大学
深圳市大疆创新科技有限公司
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 北京大学, 深圳市大疆创新科技有限公司 filed Critical 北京大学
Priority to PCT/CN2018/081655 priority Critical patent/WO2019191892A1/zh
Priority to CN201880011078.XA priority patent/CN110291791A/zh
Publication of WO2019191892A1 publication Critical patent/WO2019191892A1/zh
Priority to US17/060,890 priority patent/US11394966B2/en

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/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/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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

一种用于视频编解码的方法和设备,该方法包括:根据待处理图像块的至少一个相似图像块,确定图像块集合;根据该图像块集合中每个图像块的像素值,创建该图像块集合的初始结构矩阵;对该初始结构矩阵进行滤波处理,获得重建结构矩阵,该重建结构矩阵对应该每个图像块的重建像素值,其中,该滤波处理包括至少一个定点化步骤;根据该每个图像块的重建像素值,重建该每个图像块。因此,本申请的用于视频编解码的方法和设备,可以通过适当损失小数精度将浮点数放大为整数的方式来进行处理,并且严格的移位设计实现了NLSF的定点化,同时将性能损失控制在可接受的范围之内。

Description

用于视频编解码的方法和设备
版权申明
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
技术领域
本申请涉及图像处理领域,尤其涉及一种用于视频编解码的方法和设备。
背景技术
环路滤波是视频编解码框架中的关键部分。它主要用于减少编码过程中产生的块效应、振铃效应等压缩失真。环路滤波技术中有基于块的环路滤波技术和基于图像非局部相似特性的环路滤波技术。
基于块的环路滤波技术利用图像的局部相似特性,但没有充分考虑非局部自相似性。基于图像非局部相似特性的环路滤波器(Non-local Structure-Based Filter for Video Coding,NLSF)主要利用图像非局部结构相似特性,对搜索得到的相似结构组进行协同滤波。
现有技术中,基本都涉及浮点数运算,但是,浮点数运算位宽开销大,不利于硬件的实现,尤其是硬件编解码器的设计。
发明内容
本申请提供了一种用于视频编解码的方法和设备,可以通过适当损失小数精度将浮点数放大为整数的方式来进行处理,并且严格的移位设计实现了NLSF的定点化,同时将性能损失控制在可接受的范围之内。
第一方面,提供了一种用于视频编解码的方法,该方法包括:根据待处理图像块的至少一个相似图像块,确定图像块集合;根据该图像块集合中每个图像块的像素值,创建该图像块集合的初始结构矩阵;对该初始结构矩阵进行滤波处理,获得重建结构矩阵,该重建结构矩阵对应该每个图像块的重 建像素值,其中,该滤波处理包括至少一个定点化步骤;根据该每个图像块的重建像素值,重建该每个图像块。
第二方面,提供了一种用于视频编解码的设备,包括:存储单元和处理器,该存储单元用于存储指令,该处理器用于执行该存储器存储的指令,并且当该处理器执行该存储器存储的指令时,该处理器具体用于:根据待处理图像块的至少一个相似图像块,确定图像块集合;根据该图像块集合中每个图像块的像素值,创建该图像块集合的初始结构矩阵;对该初始结构矩阵进行滤波处理,获得重建结构矩阵,该重建结构矩阵对应该每个图像块的重建像素值,其中,该滤波处理包括至少一个定点化步骤;根据该每个图像块的重建像素值,重建该每个图像块。
因此,本申请实施例的用于视频编解码的方法和设备,根据待处理图像以及其相似图像块,构建初始结构矩阵,对该初始结构矩阵进行滤波处理,其中,该滤波处理包括至少一个定点化的步骤,根据滤波结果重建图像块,通过适当损失小数精度将浮点数放大为整数的方式来进行处理,并且严格的移位设计实现了NLSF的定点化,同时将性能损失控制在可接受的范围之内。
第三方面,提供了一种用于视频编解码的设备,用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。具体地,该设备包括用于执行上述第一方面或第一方面的任意可能的实现方式中的方法的单元。
第四方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
第五方面,提供了一种包括指令的计算机程序产品,当计算机运行所述计算机程序产品的所述指时,所述计算机执行上述第一方面或第一方面的任意可能的实现方式中的用于视频编解码的方法。具体地,该计算机程序产品可以运行于上述第二方面的用于视频编解码的设备上。
附图说明
图1是应用本发明实施例的技术方案的架构图。
图2是本发明实施例的待编码数据的示意图。
图3是本发明实施例的编码框架示意图。
图4是本发明实施例的用于视频编解码的方法的示意性流程图。
图5是本发明实施例的任意待处理的图像的示意图。
图6是本发明实施例的硬阈值函数中元素取值表格。
图7是本发明实施例的用于视频编解码的设备的示意性框图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
应理解,本文中的具体的例子只是为了帮助本领域技术人员更好地理解本发明实施例,而非限制本发明实施例的范围。
还应理解,本发明实施例中的公式只是一种示例,而非限制本发明实施例的范围,各公式可以进行变形,这些变形也应属于本发明保护的范围。
还应理解,在本发明的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
还应理解,本说明书中描述的各种实施方式,既可以单独实施,也可以组合实施,本发明实施例对此并不限定;在不冲突的情况下,实施例中的技术特征可以任意组合。
除非另有说明,本发明实施例所使用的所有技术和科学术语与本发明的技术领域的技术人员通常理解的含义相同。本申请中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本申请的范围。本申请所使用的术语“和/或”包括一个或多个相关的所列项的任意的和所有的组合。
图1是应用本发明实施例的技术方案的架构图。
如图1所示,系统100可以接收待处理数据102,对待处理数据102进行处理,产生处理后数据108。例如,系统100可以接收待编码数据,对待编码数据进行编码以产生编码后的数据,或者,系统100可以接收待解码数据,对待解码数据进行解码以产生解码后的数据。在一些实施例中,系统100中的部件可以由一个或多个处理器实现,该处理器可以是计算设备中的处理器,也可以是移动设备(例如无人机、移动电话)中的处理器。该处理器可以为任意种类的处理器,本发明实施例对此不做限定。在一些可能的设计中, 该处理器可以包括编码器、解码器或编解码器等。系统100中还可以包括一个或多个存储器。该存储器可用于存储指令和数据,例如,实现本发明实施例的技术方案的计算机可执行指令,待处理数据102、处理后数据108等。该存储器可以为任意种类的存储器,本发明实施例对此也不做限定。
待编码数据可以包括文本,图像,图形对象,动画序列,音频,视频,或者任何需要编码的其他数据。在一些情况下,待编码数据可以包括来自传感器的传感数据,该传感器可以为视觉传感器(例如,相机、红外传感器),麦克风,近场传感器(例如,超声波传感器、雷达),位置传感器,温度传感器,触摸传感器等。在一些情况下,待编码数据可以包括来自用户的信息,例如,生物信息,该生物信息可以包括面部特征,指纹扫描,视网膜扫描,嗓音记录,DNA采样等。
图2示出了本发明实施例的待编码数据的示意图。
如图2所示,待编码数据202可以包括多个帧204。例如,多个帧204可以表示视频流中的连续的图像帧。每个帧204可以包括一个或多个条带或贴砖(tile)206。每个条带或tile206可以包括一个或多个宏块或编码单元208。每个宏块或编码单元208可以包括一个或多个块210。每个块210可以包括一个或多个像素212。每个像素212可以包括一个或多个数据集,对应于一个或多个数据部分,例如,亮度数据部分和色度数据部分。数据单元可以为帧,条带,tile,编码单元,宏块,块,像素或以上任一种的组。在不同的实施例中,数据单元的大小可以变化。作为举例,一个帧204可以包括100个条带206,每个条带206可以包括10个宏块208,每个宏块208可以包括4个(例如,2x2)块210,每个块210可以包括64个(例如,8x8)像素212。
编码对于高效和/或安全的传输或存储数据是必需的。对待编码数据的编码可以包括数据压缩,加密,纠错编码,格式转换等。例如,对多媒体数据(例如视频或音频)压缩可以减少在网络中传输的比特数量。敏感数据,例如金融信息和个人标识信息,在传输和存储前可以加密以保护机密和/或隐私。为了减少视频存储和传输所占用的带宽,需要对视频数据进行编码压缩处理。
任何合适的编码技术都可以用于编码待编码数据。编码类型依赖于被编码的数据和具体的编码需求。
在一些实施例中,编码器可以实现一种或多种不同的编解码器。每种编 解码器可以包括实现不同编码算法的代码,指令或计算机程序。基于各种因素,包括待编码数据的类型和/或来源,编码数据的接收实体,可用的计算资源,网络环境,商业环境,规则和标准等,可以选择一种合适的编码算法编码给定的待编码数据。
例如,编码器可以被配置为编码一系列视频帧。编码每个帧中的数据可以采用一系列步骤。在一些实施例中,编码步骤可以包括预测、变换、量化、熵编码等处理步骤。
预测包括帧内预测和帧间预测两种类型,其目的在于利用预测块信息去除当前待编码图像块的冗余信息。帧内预测利用本帧图像的信息获得预测块数据。帧间预测利用参考帧的信息获得预测块数据,其过程包括将待编码图像块划分成若干个子图像块;然后,针对每个子图像块,在参考图像中搜索与当前子图像块最匹配的图像块作为预测块;其后,将该子图像块与预测块的相应像素值相减得到残差,并将得到的各子图像块对应的残差组合在一起,得到图像块的残差。
使用变换矩阵对图像的残差块进行变换可以去除图像块的残差的相关性,即去除图像块的冗余信息,以便提高编码效率,图像块中的数据块的变换通常采用二维变换,即在编码端将数据块的残差信息分别与一个NxM的变换矩阵及其转置矩阵相乘,相乘之后得到的是变换系数。变换系数经量化可得到量化后的系数,最后将量化后的系数进行熵编码,最后将熵编码得到的比特流及进行编码后的编码模式信息,如帧内预测模式、运动矢量信息等,进行存储或发送到解码端。在图像的解码端,首先获得熵编码比特流后进行熵解码,得到相应的残差,根据解码得到的运动矢量或帧内预测等信息图像块对应的预测图像块,根据预测图像块与图像块的残差得到当前子图像块中各像素点的值。
图3示出了本发明实施例的编码框架示意图。
如图3所示,在采用帧间预测时,编码的流程可以如下所示:
在301中,获取当前帧图像。在302中,获取参考帧图像。在303a中,利用参考帧图像,进行运动估计,以得到当前帧图像的各个图像块的运动矢量(Motion Vector,MV)。在304a中,利用运动估计得到的运动矢量,进行运动补偿,以得到当前图像块的估计值/预测值。在305中,将当前图像块的估计值/预测值与当前图像块相减,得到残差。在306中,对残差进行变换, 以得到变换系数。在307中,变换系数经量化可得到量化后的系数。在308中,将量化后的系数进行熵编码,最后将熵编码得到的比特流及进行编码后的编码模式信息进行存储或发送到解码端。在309中,对量化的结果进行反量化。在310中,对反量化结果进行反变换。在311中,利用反变换结果以及运动补偿结果,得到重建像素。在312中,对重建像素进行滤波(即环路滤波)。在313中,输出滤波后的重建像素。后续,重建后的图像可以作为其他帧图像的参考帧图像进行帧间预测。
在采用帧内预测时,编码的流程可以如下所示:
在302中,获取当前帧图像。在303b中,对当前帧图像进行帧内预测选择。在304b中,当前帧中的当前图像块进行帧内预测。在305中,将当前图像块的估计值与当前图像块相减,得到残差。在306中,对图像块的残差进行变换,以得到变换系数。在307中,变换系数经量化可得到量化后的系数。在308中,将量化后的系数进行熵编码,最后将熵编码得到的比特流及进行编码后的编码模式信进行存储或发送到解码端。在309中,对量化结果进行反量化。在310中,对反量化结果进行反变换,在311中,利用反变换结果以及帧内预测结果,得到重建像素。重建后的图像块可以用于下一图像块的帧内预测。
对于解码端,则进行与编码端相对应的操作。首先利用熵解码以及反量化和反变换得到残差信息,并根据解码码流确定当前图像块使用帧内预测还是帧间预测。如果是帧内预测,则利用当前帧中已重建图像块按照帧内预测方法构建预测信息;如果是帧间预测,则需要解析出运动信息,并使用所解析出的运动信息在已重建的图像中确定参考块,得到预测信息;接下来,再将预测信息与残差信息进行叠加,并经过滤波操作便可以得到重建信息。
本发明实施例的技术方案可以应用于编码或解码的滤波过程中,例如,可以应用于NLSF中。
基于块的环路滤波技术包括双边滤波、去块滤波、自适应样值补偿滤波和自适应环路滤波。双边滤波的基本思想是当前像素由它自身和相邻四个点像素值的加权平均来计算,实现保边去噪。去块滤波和自适应样值补偿滤波沿用了HEVC中的方法。去块滤波用于预测单元和变换单元的边界,利用训练得到的低通滤波器进行边界像素的非线性加权,从而减少块效应。自适应样值补偿滤波通过对图像块内像素进行分类,进而为每类像素加上相同补偿 值的方式使得重构图像更接近原始图像,从而起到抑制振铃效应的作用。自适应环路滤波是一种维纳滤波器,主要用于最小化原始图像和重构图像之间的均方误差。种基于块的滤波技术利用图像的局部相似特性,没有充分考虑非局部自相似性,这就使得滤波器的性能受到了极大的限制。为了解决这一问题,提出了很多基于图像非局部相似特性的环路滤波技术。
目前的NLSF中,一般采用复杂度较高的奇异值分解(Singular Value Decomposition,SVD)方式,利用矩阵线性变换的性质,分别从行和列对矩阵进行求和归一化运算,通过迭代的方法求出当前矩阵模最大的奇异值及其对应的左右奇异向量,从而达到快速计算奇异值的目的。
现有技术中行列矩阵的归一化以及奇异值的求解等部分都涉及浮点数运算,但是,浮点数运算位宽开销大,不利于硬件的实现,尤其是硬件编解码器的设计。
目前视频编码中基于图像非局部相似特性的环路滤波器(NLSF)主要利用图像非局部结构相似特性,对搜索得到的相似结构组进行协同滤波。
NLSF的具体处理流程如下。
首先,将整帧图像从去块滤波之后的缓冲区中读取出来,并对该帧图像按块进行处理。将图像分为K个块,以这些小块作为当前块,对每个当前块开辟一个大小为W s*W s的正方形搜索窗口。在搜索窗口中按照一定顺序提取图像块,例如,按照光栅扫描顺序依次提取图像块,计算当前块和图像块之间的相似度,例如根据当前块和图像块之间的像素灰度差的平方和(Sum of Squared Differences,SSD)确定相似度。将提取到的图像块按照相似度进行排序,选取SSD最小的c个图像块,即c个最相似块。
其次,将选中的c个最相似块组成集合,并将集合中所有小块的像素值用一维向量来表示,将c个一维向量组成一个二维结构数组,之后对这个二维结构数组进行SVD,并对奇异值进行硬阈值操作,达到滤波的目的,再根据奇异值分解的结果获得重建结构组,最后重建图像。
目前的NLSF中,以采用复杂度较高的SVD方式为例,行列矩阵的归一化以及奇异值的求解等部分都涉及浮点数运算,但是浮点数运算位宽开销大,不利于硬件的实现,尤其是硬件编解码器的设计。
目前的NLSF中,一般采用复杂度较高的奇异值分解(Singular Value Decomposition,SVD)方式,利用矩阵线性变换的性质,分别从行和列对矩 阵进行求和归一化运算,通过迭代的方法求出当前矩阵模最大的奇异值及其对应的左右奇异向量,从而达到快速计算奇异值的目的。
鉴于此,本发明实施例提供了一种用于视频编解码的方法,采用适当损失小数精度将浮点数放大为整数的方式来进行处理,通过严格的移位设计来实现NLSF的定点化,同时将性能损失控制在可接受的范围之内,进而提高环路滤波的性能。
本发明实施例的技术方案,既可以应用于编码端,也可以应用于解码端。在本发明实施例的技术方案的描述中,除非特别指明,所描述的方案对编码端和解码端都适用。
图4示出了根据本申请实施例的用于视频编解码的方法400的示意性流程图,该方法400可以由编码器执行或者由解码器执行。如图4所示,该方法400包括:S410,根据待处理图像块的至少一个相似图像块,确定图像块集合;S420,根据该图像块集合中每个图像块的像素值,创建该图像块集合的初始结构矩阵;S430,对该初始结构矩阵进行滤波处理,获得重建结构矩阵,该重建结构矩阵对应该每个图像块的重建像素值,其中,该滤波处理包括至少一个定点化步骤;S440,根据该每个图像块的重建像素值,重建该每个图像块。
在S410中,确定待处理图像块以及待处理图像块的至少一个相似图像块,进而确定对应的图像块集合,其中,该图像块集合可以包括该待处理图像块和该至少一个相似图像块。具体地,在NLSF技术中,对于待处理图像块,确定待处理图像块的至少一个相似图像的过程可以称为块匹配,该块匹配的方式有多种,本申请实施例并不限于此。
可选的,作为一个实施例,这里以对如图5所示的图像的处理为例进行说明。将如图5所示的整帧图像从去块滤波之后的缓冲区中读取出来,并对该帧图像按块进行处理,将图像分为大小为
Figure PCTCN2018081655-appb-000001
的K个块,且每个块用向量x k表示,其中,
Figure PCTCN2018081655-appb-000002
以这些小块分别作为当前块,也就是任意一个小块均可作为S410中的待处理图像块,例如图5的左图中间的实线方块可以为任意一个待处理图像块。
再为当前的该待处理图像块开辟一个大小为W s*W s的正方形搜索窗口,该搜索窗口可以以当前块为中心,例如,图5的左图中间的最大虚线方块即为中间实线方块表示的待处理图像块的搜索窗口。在搜索窗口中按照预设 搜索顺序,提取多个图像块,例如按照光栅扫描顺序,从搜索窗口的左上角开始,从坐至右,从上至下,依次提取图像块,到该搜索窗口的右下角终止。计算当前待处理图像块和提取出的多个图像块中每个图像块之间的相似度,与当前块的相似度越高,则被选择为相似块的可能性越大,例如,可以将与待处理图像块相似度最高的至少一个图像块确定为该当前待处理图像块的至少一个相似图像块。
可选地,在获取到整帧重建图像进行滤波时,像素集合中的像素可以是当前帧的重建图像中的任意位置的像素,也可以是一个搜索窗口中的部分像素,例如,可以是一个32x32像素集合中的部分像素,其中,当前块可以位于该搜索窗口中的中心位置。
可选地,用于获取该当前块的相似块的重建像素包括:该当前块所属的编码单元本身的重建像素、编码单元的上侧的重建像素、编码单元的左侧的重建像素、编码单元的右侧的重建像素和编码单元的下侧的重建像素。
可选地,在本申请实施例中,也可以在获取到重建后的编码单元(例如,CTU)之后,对该编码单元中的各个块进行滤波,例如,该编码单元可以128x128的块,当前块可以是6x6大小的块,所述的编码单元一般被称为图像块。由于在编码时,在获取到当前编码单元的重建像素时,左侧和上侧的编码单元的重建像素已获取,则用于获取当前块的相似块的重建像素可以是所属的编码单元的左侧的重建像素以及上侧的重建像素。
进一步的,在实际的视频编解码系统中,所述的上侧的重建像素需要以图像行为单位进行存储,所述的右侧的重建像素以图像块高度为单位进行存储。如对于一个宽度为3840、图像块高度为128的图像,其所述的上侧的重建像素以3840为单位进行存储,所述的右侧的重建像素以128为单位进行存储。可见所述的上侧的重建像素的存储开销通常大于所述的右侧的重建像素的存储开销。为了减少视频编解码系统的存储开销,所述上侧的重建像素的垂直方向的像素个数(通常来说可以认为是所述上侧的重建像素的行数)可以少于或等于所述左侧的重建像素的水平方向的像素个数(通常来说可以认为是所述左侧的重建像素的列数)。
当然,用于获取当前块的相似块的重建像素也可以为所述当前块所属的编码单元的左侧的重建像素,上侧的重建像素和右侧的重建像素(其中,需要等待右侧的编码单元被重建)。
本申请实施例还可以具有其他的实现方式,例如,对于当前已重建的编码单元,对于该编码单元的左上侧的当前块,用于获取相似块的重建像素可以是当前块的左侧、上侧、下侧和右侧的重建像素,这是由于该当前块的右侧和下侧的重建像素仍然属于当前编码单元。而对于该编码单元的右下侧的当前块,用于获取相似块的重建像素可以是当前块的左侧和上侧的重建像素,这是由于该当前块的右侧和下侧的重建像素属于右侧和下侧的编码单元,而右侧和下侧的编码单元还未重建,所以不能用于获取当前块的相似块。
应理解,本申请实施例的像素集合包括稀疏的重建像素意味着:该像素集合中存在这样的一些像素,这些像素之间间隔(例如,像素之间的最短直线距离上)有不属于该集合的像素。
可选地,在本申请实施例中,像素集合中的部分像素也可以聚集成块,像素集合可以聚集成分离的多个块(此处提到的块与块之间不存在相邻的像素),其中,每个块的大小可以大于或等于当前块的大小。
可选地,在本申请实施例中,滤波器可以基于模板,获取像素集合。具体地,可以在滤波器中预设模板,利用该模板在一个搜索窗口中圈定一些重建像素,这些重建像素可以理解本申请实施例提到的像素集合。
可选地,在本申请实施例中,模板也可以是理解为一种像素集合,该模板包括的像素可以是相对于模板中心对称的。可选地,从该模板的中心到该模板的边缘,像素可以是越来越稀疏的。
可选地,在用模板确定用于获取相似块的像素集合时,可能会存在这样一种结果,即:像素集合中的像素数量小于模板包括的像素数量,这是由于用模板在一个搜索范围中圈定一些重建像素时,模板的边缘可能会超出搜索范围的边缘。
可选地,该模板包括用于选择该第一相似块的多个候选相似块,该候选相似块的大小等于该当前块的大小。其中,候选相似块意味着在与当前块的相似度高到超过一定阈值时,可以被选择作为相似块。其中,多个候选相似块包括的像素可以不重叠或部分重叠。
可选地,在本申请实施例中,该模板包括从中心到边缘的多组候选相似块,每组候选相似块围成环形,该环形相对该模板的中心对称,组内的候选相似块均匀排布。当然,该模板包括的候选相似块也可以是不对称的。
可选地,该模板包括四组候选相似块,该四组候选相似块的远离该模板 的中心的边缘像素,相对于该模板的中心,分别间隔1个像素,2个像素,4个像素和8个像素。
可选地,该四组候选相似块分别具有4个候选相似块,8个候选相似块,8个候选相似块和8个候选相似块,其中,具有4个候选相似块的一组候选相似块距离该模板的中心最近。
可选地,对搜索窗口的搜索也可以采用其他方式,即按照其他搜索规则进行搜索,搜索获得的多个图像块之间可以重叠,也可以不重叠。
可选地,可以通过相似度的度量参数,确定当前块与任意图像块之间的相似度,其中,该相似度的度量参数为用于表征相似度的参量,例如该相似度的度量参数可以为:哈希值的差值、误差平方和(Sum of Squared Differences,SSD)、绝对误差和(Sum of Absolute Differences,SAD)、平均绝对差(Mean Absolute Differences,MAD)、平均误差平方和(Mean Square Differences,MSD)或结构相似性指标(Structural SIMilarity,SSIM)。
应理解,以上相似度的度量参数中,有些值越大,则表明相似度越高,而有些值越小,则表明相似度越高。
例如,假设相似度的度量参数为SSD,其中,该SSD的计算公式如公式(1)所示:
Figure PCTCN2018081655-appb-000003
其中,f(h,w)表示当前待处理图像块的像素,
Figure PCTCN2018081655-appb-000004
表示任意一个提取的图像块的像素。
对于SSD而言,SSD的值越小,则表明两个图像块之间的相似度越高。
再例如,假设相似度的度量参数为哈希值,则可以通过哈希(hash)值的大小来判断相似度,两个块的hash值越接近代表越相似,即两个图像块的哈希值的差值越小,两个图像块越相似。可选地,hash值可以通过图像块的像素和、水平、垂直梯度等等来表示。
将提取到的每个图像块按照与待处理图像块的相似度进行排序,选取与该待处理图像块最相似的至少一个图像块,作为该待处理图像块的至少一个相似图像块,例如如图5所示的右图中小的虚线方块即为中间小的实线方块表示的待处理图像块的相似图像块。
之后,组成图像块集合S xk,该图像块集合中包括c个图像块,其中,该c个图像块可以包括选中的待处理图像块以及与该待处理图像块相似的至少一个相似图像块。
在S120中,根据该图像块集合中每个图像块的像素值,创建该图像块集合的初始结构矩阵。具体地,以该图像块集合包括c个图像块为例,将该c个图像块中每个小块的像素值均用B s*1的一维向量来表示,例如,以该图像块集合中任意一个图像块为例,可以将该图像块分为B s个像素点,确定该B s个像素点的像素值,进而确定该图像块的一维向量B s*1。再将该图像块集合中的c个一维向量组成一个二维结构数组x Gk,即该图像块集合的初始结构矩阵x Gk可以表示为:
Figure PCTCN2018081655-appb-000005
其中,该初始结构矩阵x Gk是一个大小为B s*c的矩阵,图像块集合中每个图像块对应一个列向量。
在S130中,对该初始结构矩阵进行滤波处理,获得重建结构矩阵,该重建结构矩阵对应图像块集合中每个图像块的重建像素值,这里的滤波处理包括至少一个定点化步骤。可选地,在本申请实施例中,可以采用多种滤波方式进行滤波处理,例如可以采用SVD的滤波方式,还可以利用离散余弦变换(Discrete Cosine Transform,DCT)变换、哈达玛变换、KL变换(Karhunen-Loève Transform,KLT)、信号依赖转换(Signal Dependent Transform,SDT)、小波变换等等滤波方式。
可选地,本申请实施例的滤波方式可以与其他的滤波方式结合使用。具体地,可以在本申请实施例的滤波之后执行其他方式的滤波,或者,在其他方式的滤波之后执行根据本申请实施例的滤波方式。
为了便于说明,下面以SVD的滤波方式为例进行说明。
具体地,将初始结构矩阵进行SVD滤波处理,其中,可以将该SVD滤波处理分为两个过程,分别为分解过程和硬阈值过程。
具体地,该分解过程可以表示为:
Figure PCTCN2018081655-appb-000006
其中,U gk表示该初始结构矩阵x Gk的左奇异向量构成的左奇异矩阵,Σ gk表示该初始结构矩阵x Gk的多个最大奇异值构成的最大奇异值矩阵,V gk表示 该初始结构矩阵x Gk的右奇异向量构成的右奇异矩阵,其中,每个最大奇异值对应一个左奇异向量和一个右奇异向量。
该硬阈值过程可以表示为:
Figure PCTCN2018081655-appb-000007
其中,hard(x,a)代表硬阈值操作中的硬阈值函数,并且该函数中的e代表两个向量的点乘;τ代表阈值,可以通过离线训练获得,通过对该初始结构矩阵x Gk的最大奇异值矩阵进行硬阈值操作,达到滤波的目的。
应理解,由于在SDV的分解过程和硬阈值过程中,都涉及浮点数运算,浮点数运算位宽开销大,不利于硬件的实现,尤其是硬件编解码器的设计,因此,在本申请实施例中,采用适当损失小数精度,将浮点数进行放大处理,通过严格的移位设计来实现NLSF的定点化,同时将性能损失控制在可接受的范围之内。
在本申请实施例中,对于SVD滤波处理中的分解过程,将初始结构矩阵x Gk进行分解,分解过程可以分为外层循环部分和内层循环部分。其中,外层循环部分为多次进行第一SVD处理,从而获得该初始结构矩阵的多个最大奇异值、多个左奇异向量以及多个右奇异向量,其中,该多次第一SVD处理中一次第一SVD处理用于确定该初始结构矩阵的一个最大奇异值以及该一个最大奇异值对应的左奇异向量和右奇异向量;根据该多个最大奇异值,构建最大奇异值矩阵;根据该最大奇异值矩阵以及该多个左奇异向量,构建左奇异矩阵;根据该最大奇异值矩阵以及该多个右奇异向量,构建右奇异矩阵;根据该最大奇异值矩阵、该左奇异矩阵以及该右奇异矩阵,确定该重建结构矩阵。
内层循环为针对对该初始结构矩阵进行的多次第一SVD处理中任意一次第一SVD处理而言,对输入矩阵进行的多次第二SVD处理,以便于获得多个奇异值以及该多个奇异值中每个奇异值对应的左奇异向量和右奇异向量;其中,该多次第二SVD处理中每次第二SVD处理用于确定该输入矩阵的一个奇异值以及对应的左奇异向量和右奇异向量,当该当前次第一SVD处理为该多次第一SVD处理中的第一次第一SVD处理时,该输入矩阵为该初始结构矩阵;输出该多个奇异值中的最大值为该当前次第一SVD处理获得的第一最大奇异值;输出该第一最大奇异值对应的第一左奇异向量以及第一右奇异向量。
对于外层循环部分,以当前次第一SVD处理为例进行说明,该当前次第一SVD处理为多次第一SVD处理中任意一次第一SVD处理。该当前次第一SVD处理包括:基于归一化算法,对输入矩阵进行多次第二SVD处理,获得多个奇异值以及该多个奇异值中每个奇异值对应的左奇异向量和右奇异向量;其中,该多次第二SVD处理中每次第二SVD处理用于确定该输入矩阵的一个奇异值以及对应的左奇异向量和右奇异向量,当该当前次第一SVD处理为该多次第一SVD处理中的第一次第一SVD处理时,该输入矩阵为该初始结构矩阵;输出该多个奇异值中的最大值为该当前次第一SVD处理获得的第一最大奇异值;输出该第一最大奇异值对应的第一左奇异向量以及第一右奇异向量;根据该第一左奇异向量与该第一右奇异向量,确定输出矩阵。另外,还可以根据该输出矩阵与该输入矩阵的差值,确定该当前次第一SVD处理的下一次第一SVD处理的输入矩阵。
应理解,可以根据第一预设条件确定该外层循环的次数,也就是确定进行第一SVD处理的次数。例如,对该初始结构矩阵进行当前次第一SVD处理时,若该当前次第一SVD处理满足第一预设条件,停止对该初始结构矩阵进行下一次第一SVD处理,也就是该当前次第一SVD处理为多个第一SVD处理中的最后一次第一SVD处理。再例如,对该初始结构矩阵进行若干次第一SVD处理;在该若干次第一SVD处理中,确定满足第一预设条件的该多次第一SVD处理。
可选地,该第一预设条件可以包括:所述多次第一SVD处理的次数小于或者等于第一预设次数。例如,对该初始结构矩阵进行当前次第一SVD处理时,若包括该当前次第一SVD处理在内进行的多次第一SVD处理的总次数次数小于或者等于第一预设次数,停止对该初始结构矩阵进行下一次第一SVD处理,也就是该当前次第一SVD处理为多个第一SVD处理中的最后一次第一SVD处理。再例如,对该初始结构矩阵进行若干次第一SVD处理;在该若干次第一SVD处理中,按照第一预设次数在其中确定多次第一SVD处理,比如按照执行顺序先后,确定最先执行的多次第一SVD处理。
可选地,所述第一预设条件包括:所述多次第一SVD处理中最后两次处理获得的两个最大奇异值的差小于所述第一预设值。例如,对该初始结构矩阵进行当前次第一SVD处理时,若该当前次第一SVD处理获得的最大奇异值与前一次获得的最大奇异值的差小于所述第一预设值,停止对该初始结 构矩阵进行下一次第一SVD处理,也就是该当前次第一SVD处理为多个第一SVD处理中的最后一次第一SVD处理。再例如,对该初始结构矩阵进行若干次第一SVD处理;在该若干次第一SVD处理中确定前面的多次第一SVD处理,使得该多次第一SVD处理中最后两次处理获得的两个最大奇异值的差满足小于所述第一预设值。
可选地,所述第一预设条件包括:所述最后一次第一SVD处理获得的最大奇异值小于所述硬阈值。例如,对该初始结构矩阵进行当前次第一SVD处理时,若该当前次第一SVD处理获得的最大奇异值小于硬阈值,停止对该初始结构矩阵进行下一次第一SVD处理,也就是该当前次第一SVD处理为多个第一SVD处理中的最后一次第一SVD处理。再例如,对该初始结构矩阵进行若干次第一SVD处理;在该若干次第一SVD处理中确定前面的多次第一SVD处理,使得该多次第一SVD处理中最后一次处理获得的最大奇异值满足小于该硬阈值。
应理解,对于根据所述多个最大奇异值,构建最大奇异值矩阵,包括:删除所述多个最大奇异值中小于或者等于硬阈值的最大奇异值,获得剩余的最大奇异值;根据所述剩余的最大奇异值,构建所述最大奇异值矩阵。
对于内层循环部分,对任意一次的第一SVD处理的输入矩阵进行多次第二SVD处理,包括:基于归一化算法,将该输入矩阵按行或列求和,获得一维的第一向量,该第一向量的元素的个数等于该图像块集合中图像块的个数;根据该第一向量,确定第一归一化因子;根据该第一向量与该第一归一化因子,确定第二向量;对该第二向量进行当前次第二SVD处理,获得该输入矩阵的第二奇异值、第二左奇异向量和第二右奇异向量,该当前次第二SVD处理为该多次第二SVD处理中任意一次处理。进一步的,该当前次第二SVD处理包括:根据输入向量与该输入矩阵的内积,确定第三向量;根据该第三向量,确定第二归一化因子;根据该第三向量与该第二归一化因子,确定该第二左奇异向量;根据该第二左奇异向量与该输入矩阵的内积,确定第四向量;根据该第四向量,确定第三归一化因子;根据该第四向量与该第三归一化因子,确定该第二右奇异向量;将该第四向量的模确定为该第二奇异值;将该第二右奇异向量确定为该当前次第二SVD处理的下一次第二SVD处理的输入向量,其中,当该当前次第二SVD处理为该多次第二SVD处理中的第一次第二SVD处理时,该输入向量为该第二向量。
应理解,可以根据第二预设条件确定该内层循环的次数,也就是确定进行第二SVD处理的次数。例如,对该输入矩阵进行当前次第二SVD处理;若该当前次第二SVD处理满足第二预设条件,停止对该输入矩阵进行下一次第一SVD处理,也就是该当前次第二SVD处理为多次第二SVD处理中最后一次处理。再例如,对该输入矩阵进行若干次第二SVD处理;在该若干次第二SVD处理中,确定满足第二预设条件的该多次第二SVD处理。
可选地,该第二预设条件包括:该多次第二SVD处理的次数小于或者等于第二预设次数。例如,对该输入矩阵进行当前次第二SVD处理时,若包括该当前次第二SVD处理在内进行的多次第二SVD处理的总次数次数小于或者等于第二预设次数,停止对该输入矩阵阵进行下一次第二SVD处理,也就是该当前次第二SVD处理为多个第二SVD处理中的最后一次第二SVD处理。再例如,对该输入矩阵进行若干次第二SVD处理后;在该若干次第二SVD处理中,按照第一预设次数在其中确定多次第二SVD处理,比如按照执行顺序先后,确定最先执行的多次第二SVD处理。
可选地,该第二预设条件包括:该多次第二SVD处理中最后两次处理获得的两个奇异值的差小于第二预设值。例如,对该输入矩阵进行当前次第二SVD处理时,若该当前次第二SVD处理获得的奇异值与前一次获得的奇异值的差小于该第二预设值,停止对该输入矩阵进行下一次第二SVD处理,也就是该当前次第二SVD处理为多个第二SVD处理中的最后一次第二SVD处理。再例如,对该输入矩阵进行若干次第二SVD处理;在该若干次第二SVD处理中按照执行先后顺序,确定最先执行的多次第二SVD处理,使得该多次第二SVD处理中最后两次处理获得的两个奇异值的差满足小于该第二预设值。
可选地,该第二预设条件包括:该最后一次第二SVD处理获得的奇异值小于第三预设值。例如,对该输入矩阵进行当前次第二SVD处理时,若该当前次第二SVD处理获得的奇异值小于硬阈值,停止对该输入矩阵进行下一次第二SVD处理,也就是该当前次第二SVD处理为多个第二SVD处理中的最后一次第二SVD处理。再例如,对该输入矩阵进行若干次第二SVD处理;在该若干次第二SVD处理中按照执行先后顺序,确定最先执行的多次第二SVD处理,使得该多次第二SVD处理中最后一次处理获得的奇异值满足小于该硬阈值。
应理解,该多次第一SVD处理中任意一次第一SVD处理还包括第一定点化步骤,该任意一次第一SVD处理用于确定该初始结构矩阵的第一最大奇异值以及该第一最大奇异值对应的第一左奇异向量和第一右奇异向量,以使得以下至少一种元素为定点数:该初始结构矩阵中的元素、该第一最大奇异值、该第一左奇异向量中的元素和该第一右奇异向量中的元素。其中,该第一定点化步骤包括:将该初始结构矩阵进行放大处理,放大后的初始结构矩阵中的元素为定点数。可选地,该第一定点化步骤还包括:根据该初始结构矩阵中的元素的小数位,调整当前次第一SVD处理中的输入矩阵的放大倍数,使得该输入矩阵的放大倍数与该放大后的初始结构矩阵的放大倍数相同,其中,当该当前次第一SVD处理为该多次第一SVD处理中的第一次第一SVD处理时,该输入矩阵为该初始结构矩阵。
例如,由于初始结构矩阵x Gk中的每个元素一般为占用1~10bit的数,取值范围为(-1023,1023),并且对应十进制的表示方式,一般精确到小数点后4~5位;为了使得初始结构矩阵x Gk中每个元素定点化,例如每个原始均为为整数,这里可以将该初始结构矩阵x Gk进行放大处理,使得该初始结构矩阵x Gk中的每个元素为整数。
同样的,该当前次第二SVD处理还包括第二定点化步骤,以使得以下至少一种原始为定点数:该第二奇异值、该第二左奇异向量中的元素和该第二右奇异向量中的元素。其中,该第二定点化步骤包括:将该第一归一化因子进行缩小处理,使得根据缩小后的第一归一化因子确定的该第二向量中的元素为定点数;和/或,将该第二归一化因子进行缩小处理,使得根据缩小后的第二归一化因子确定的该左奇异向量中的元素为定点数;和/或,将该第三归一化因子进行缩小处理,使得根据缩小后的第三归一化因子确定的该右奇异向量中的元素为定点数。
下面结合具体实施例,分别详细介绍内层循环部分和外层循环部分。
从对初始结构矩阵x Gk的第一次的第一SVD处理中的第一次的第二SVD处理开始。对于当前的第二SVD处理,对应内层循环部分,首先,根据视频编码滤波中的图像内容,确定图像块集合对应的初始结构矩阵初始结构矩阵x Gk,将该初始结构矩阵x Gk转置后获得结构相似组矩阵X,对结构相似组矩阵X进行按行求和得到向量V0,也就是对初始结构矩阵x Gk按列求和得到向量V0,该向量V0为第一向量V0;根据该第一向量V0,确定第一归一化 因子;并对该第一归一化因子进行缩小处理,根据经过缩小处理的第一归一化因子,对该第一向量V0归一化,得到归一化后的向量V0',即为第二向量V0'。
应理解,由于初始结构矩阵x Gk的大小为B s*c,因此,对应的结构相似组矩阵X的大小为c*B s,按行求和之后获得的第一向量V0则是一个长度为c的数组,可以将第一向量V0表示为V0=[v1 1,v1 2,…v1 c],对第一向量V0进行归一化,也就是将第一向量V0中的每一个元素除以相应的归一化因子进而获得第二向量V0',可以将第二向量V0'表示为V0'=[v1' 1,v1' 2,…v1' c]。
应理解,初始结构矩阵x Gk中的每个元素一般为占用1~10bit的数,取值范围为(-1023,1023),并且对应十进制的表示方式,一般精确到小数点后4~5位;而第一向量V0中的每个元素的范围为0~B s*(1<<10),其中,程序中的B s设置为36,则B s*(1<<10)表示将二进制的B s向左移10位,则第一向量V0中的每个元素的范围为(0,36864)。
为了使得结构相似组矩阵X中每个元素为整数,这里可以将该初始结构矩阵x Gk转置后获得的矩阵进行放大处理,也就是将转置后的矩阵向左移位后获得结构相似组矩阵X,例如,可以将转置后的矩阵向左移位4位后获得结构相似组矩阵X,也就是数值上扩大2 4,使得该结构相似组矩阵X中每个元素为定点数,例如,可以令该结构相似组矩阵X中的每个元素可以为最多占用32bit的整数。对应的,第一向量V0也是定点数,可以用64bit整数来进行表示。
应理解,本申请实施例中将第一向量V0进行归一化,也就是根据第一向量V0中的每一个元素与第一归一化因子确定第二向量V0',其中,该第一归一化因子可以为根据第一向量V0的模确定获得的。具体地,通过下述公式确定该矩阵V0的模abs(V0):
Figure PCTCN2018081655-appb-000008
该第一向量V0的模是一个大小为0~c*(1<<(20*B s*B s))的数值,程序中c是一个20左右的数,程序中的B s设置为36,也就是c*(1<<(20*B s*B s))表示将二进制表示的c向左移位20*B s*B s,该第一向量V0的模整数部分有11位,小数点后可以精确到3-4位。
若将该第一向量V0的模直接作为第一归一化因子,对应的,求出该第 一向量V0归一化后得到的第二向量V0'是一个-1~0之间的小数,小数点后6~7位。为了令该第二向量V0'中元素为定点数,在归一化因子计算方面,将根据第一向量V0的模确定的第一归一化因子先右移缩小一定的位数,例如可以右移13位,再将经过缩小处理后获得的第一归一化因子作为被除数,则相当于将原本的第二向量V0'的值左移放大13位,该第二向量V0'变为最多占用64bit的定点数。
将根据上述缩小后的第一归一化因子进行归一化处理获得的第二向量V0'与结构相似组矩阵X进行点乘操作,得到第三向量U1,根据第二归一化因子,将第三向量U1归一化处理,得到归一化后的向量U1',即为本轮内层循环部分迭代计算的左奇异向量U1'。
由于第二向量V0'为一个长度为c的数组,结构相似组矩阵X的大小为c*B s,点乘后得到的第三向量U1为一个长度为B s的数组,对第三向量U1进行归一化,也就是根据第三向量U1中的每一个元素以及第二归一化因子获得左奇异向量U1',则该左奇异向量U1'为长度为B s的向量。
应理解,本申请实施例中对第三向量U1进行归一化,也就是根据第三向量U1中的每一个元素与第二归一化因子确定左奇异向量U1',其中,该第二归一化因子可以为该第三向量U1的模,并且可以将该第二归一化因子进行缩小处理。具体地,通过下述公式确定该第三向量U1的模abs(U1):
应理解,结构相似组矩阵X经过放大处理后变为定点数,上述根据缩小的归一化因子获得的第二向量V0'为定点数,点乘后得到的第三向量U1也为定点数。为了使得左奇异向量U1'也为定点数,与上述第一向量V0归一化后得到的第二向量V1'的方式类似,将第二归一化因子向右移缩小一定的位数,例如可以也右移13位,也就是将该第三向量U1的模缩小,将缩小后的第二归一化因子作为被除数,则相当于将原本的左奇异向量U1'的值左移放大13位,则该左奇异向量U1'也可以得到定点数。
将左奇异向量U1'与结构相似组矩阵X进行点乘操作,得到第四向量V1,则该第四向量V1的模即为本轮内层循环部分迭代计算的奇异值S1,再根据经过缩小处理的第三归一化因子,将第四向量V1归一化处理,得到归一化后的向量V1',即为本轮内层循环部分迭代计算的右奇异向量V1'。
左奇异向量U1'为长度为B s的向量,结构相似组矩阵X的大小为c*B s,点乘后得到的第四向量V1为一个长度为c的数组,对第四向量V1进行归一化,也就是将矩阵V1中的每一个元素除以相应的归一化因子进而获得右奇异向量V1',则该左奇异向量V1'为长度为c的向量。
应理解,本申请实施例中对第四向量V1进行归一化,也就是根据第四向量V1中的每一个元素与第三归一化因子确定右奇异向量V1',其中,该第三归一化因子可以为根据该第四向量V1的模确定,并且将该第三归一化因子进行缩小处理。具体地,通过下述公式确定该第四向量V1的模abs(V1):
Figure PCTCN2018081655-appb-000010
应理解,结构相似组矩阵X经过放大处理后变为定点数,上述根据缩小的第二归一化因子获得的左奇异向量U1'为定点数,点乘后得到的第四向量V1为定点数,即该奇异值S1为定点数。为了使得右奇异向量V1'也为定点数,与上述第一向量V0或第三向量U1归一化后得到的第二向量V0'或左奇异向量U1'的方式类似,将该第四向量V1的模确定为第三归一化因子,将该第三归一化因子向右移缩小一定的位数,例如可以也右移13位,再将该缩小后的第三归一化因子作为被除数,则相当于将原本的右奇异向量V1'的值左移放大13位,则该右奇异向量V1'也得到定点数。
应理解,经过上述步骤可以获得初始结构矩阵x Gk的奇异值S1以及对应的左奇异向量U1'和右奇异向量V1',就是当前次的第二SVD处理输出奇异值S1以及对应的左奇异向量U1'和右奇异向量V1'。将计算获得的第四向量V1代替上述过程中的第二向量V0',带入上述过程中,进入下一次的第二SVD处理,则可以计算出另一组奇异值S2以及对应的左奇异向量U1'和右奇异向量V1',以此类推,进行多次第二SVD处理,从而输出多个奇异值以及所述多个奇异值中每个奇异值对应的左奇异向量和右奇异向量。
应理解,进行多次第二SVD处理的次数可以根据第二预设条件确定,该第二预设条件可以为上文中的第二预设条件,再次不再赘述。
应理解,执行多次第二SVD处理并输出的多个奇异值以及所述多个奇异值中每个奇异值对应的左奇异向量和右奇异向量,则第一次的第一SVD处理对应的本轮内层循环部分结束,再在多个奇异值中确定最大值为本次内循环输出的该初始结构矩阵的第一个最大奇异值,也就是第一次的第一SVD 处理输出的第一个最大奇异值,对应该第一最大奇异值,输出第一左奇异向量和第一右奇异向量。
在本申请实施例中,将当前输出的第一左奇异向量与第一右奇异向量点乘,获得输出矩阵,根据该输出矩阵与初始结构矩阵的差,作为下一次第一SVD处理的输入矩阵。具体地,第一左奇异向量与第一右奇异向量点乘,获得输出矩阵为B s*c的矩阵,而初始结构矩阵x Gk的大小也为B s*c,将二者的差值矩阵作为下一次第一SVD处理的输入矩阵,即用该输入矩阵代替上述第一次的第一SVD处理过程中的初始结构矩阵x Gk的作为输入,进而输出下一组最大奇异值以及对应的左奇异向量和右奇异向量。
应理解,由于确定的第一最大奇异值的过程中,对初始结构矩阵x Gk进行了放大处理,例如,左移放大4位;对第一归一化因子、第二归一化因子以及第三归一化因子进行缩小处理,例如,均右移13位,使得第一左奇异向量以及第一右奇异向量相对放大13位,因此,由第一左奇异向量与第一右奇异向量点乘,获得输出矩阵放大了17+13+13=43位。因此,根据该输出矩阵与本次输入矩阵的差,例如,第一次的第一SVD处理过程中输入矩阵为初始结构矩阵,在确定下一次第一SVD处理的输入矩阵时,考虑到该输入矩阵扩大了4位,输出矩阵扩大了43位,可以将该输出矩阵先缩小17+13+13-4=39位,保持与输入矩阵扩大倍数相同后,再确定缩小后的输出矩阵与该输入矩阵的差为下一次第一SVD处理的输入矩阵。
在本申请实施例中,根据上述过程,进行多次第一SVD处理的次数,以便于确定多个最大奇异值、以及对应的多个左奇异向量和多个右奇异向量,这里进行多次第一SVD处理的次数可以根据第一预设条件确定,该第一预设条件可以为上文中的第一预设条件,再次不再赘述。
应理解,对于确定的初始结构矩阵的多个最大奇异值、多个左奇异向量以及多个右奇异向量,可以根据该多个最大奇异值,构建最大奇异值矩阵;根据该最大奇异值矩阵以及该多个左奇异向量,构建左奇异矩阵;根据该最大奇异值矩阵以及该多个右奇异向量,构建右奇异矩阵;根据该最大奇异值矩阵、该左奇异矩阵以及该右奇异矩阵,确定该重建结构矩阵。
其中,根据该多个最大奇异值,构建最大奇异值矩阵,包括:在该多个奇异值中,根据硬阈值函数,确定至少一个最大奇异值,构建该至少一个最大奇异值对应的最大奇异值矩阵。
可选地,该硬阈值函数可以为如公式(4)所示的。具体地,可以确定该硬阈值函数中的硬阈值τ,将该多个最大奇异值中小于或者等于该硬阈值τ的值删除,获得剩余的最大奇异值,构建最大奇异值矩阵。
可选地,以NLSF中的硬阈值的估计为例,硬阈值τ的计算公式如下所示:
Figure PCTCN2018081655-appb-000011
其中,B s为当前待处理图像块中的像素点数目,c为图像块集合中图像块的数目,QP为量化参数,公式中“0.31”和“0.71”代表阈值参数,不是固定的数值,这里的“0.31”和“0.71”是通过离线训练的方式得到的一种可能取值,这两个数值和很多因素有关,比如帧类型、序列比特深度(8bit,or10bit)等等,除此之外,色度和亮度分量的阈值参数也不同。
QP是1~51之间的整数,可以采用查表的方式,用长度为52的数组来表示
Figure PCTCN2018081655-appb-000012
为了将浮点转化为定点,可以将
Figure PCTCN2018081655-appb-000013
计算得到的结果左移放大12位,取整数部分作为数组中的元素。具体的元素数值如图6所示。
“0.13”位置的数我们用k来表示,0.71位置的数用b来表示。k左移放大12位,b左移放大24位,这样使得k*QStep+b整体左移放大24位。
对于计算公式中的
Figure PCTCN2018081655-appb-000014
的问题,我们采用先将c左移放大1位,再开根号的方法,相应的B s也左移放大1位,由于B s本身就是整数,不会有精度损失。
为了防止出现数值溢出的情况,在k*QStep+b和
Figure PCTCN2018081655-appb-000015
相乘之前,先对k*QStep+b右移缩小5位,这样,硬阈值τ相当于总体左移放大20位,实现定点化。
应理解,当奇异值S的放大倍数和硬阈值τ的放大倍数不同时,在做对比时需要将二者的放大倍数一致化。由于上述计算获得最大奇异值过程中,对初始结构矩阵x Gk进行了放大处理,例如,左移放大4位;对第一归一化因子和第二归一化因子进行缩小处理,例如,均右移13位,使得获得最大奇异值相应扩大了4+13=17位。因此,在将最大奇异值与硬阈值τ进行比较时,可以先调整最大奇异值与硬阈值τ的放大倍数,使得最大奇异值与硬阈值τ均放大了相同倍数。
应理解,这里的硬阈值还可以为第一预设条件中的硬阈值,在此不再赘 述。
应理解,本申请实施例中的定点化,例如将矩阵或向量定点化,使得其中的元素变换为定点数,或者将奇异值变换为定点数,这里的定点数可以为整数,或者,也可以为固定位数的小数,本申请实施例并不限于此。
在S440中,根据所述每个图像块的重建像素值,重建所述每个图像块。应理解,由于可能存在某一图像块被滤波处理多次,也就是会有多个滤波后的结果,可以根据获得多个滤波结果的权重,确定该图像块的最终结果。例如,确定多次滤波结果的平局值作为该图像块的重建像素值。
应理解,由于在滤波过程中已经实现定点化,例如,经过SVD处理之后,得到图像块的重构矩阵,该重构矩阵可能为放大后的矩阵,例如,相对于初始结构矩阵,该重构矩阵为左移放大4位的结果,则在确定该图像块的像素值时,应缩小为相对于初始结构矩阵相同倍数的重构矩阵。或者,对于该图像块存在的多个滤波结果时,若每个滤波结果的重构矩阵均相对于初始结构矩阵左移放大了一定倍数,例如是左移4位的结果,则在取多个重构矩阵的平均值时,被除数同样需要扩大4位,以便于获得的平均值相对于初始结构矩阵具有相同的扩大倍数。
因此,本申请实施例的用于视频编解码的方法,根据待处理图像以及其相似图像块,构建初始结构矩阵,对该初始结构矩阵进行滤波处理,其中,该滤波处理包括至少一个定点化的步骤,根据滤波结果重建图像块,通过适当损失小数精度将浮点数放大为整数的方式来进行处理,并且严格的移位设计实现了NLSF的定点化,同时将性能损失控制在可接受的范围之内。
应理解,在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文中结合图1至图6,详细描述了根据本申请实施例的用于视频编解码的方法,下面将结合图7,描述根据本申请实施例的用于视频编解码的设备。
图7示出了根据本申请实施例的用于视频编解码的设备500的示意性框图,如图5所示,该设备500包括:处理器510,可选地,该终端设备500还包括存储器520,存储器520与处理器510相连。其中,处理器510和存储器520之间通过内部连接通路互相通信,传递和/或控制数据信号,该存储器520可以用于存储指令,该处理器510用于执行该存储器520存储的指令,该处理器510用于:根据待处理图像块的至少一个相似图像块,确定图像块集合;根据该图像块集合中每个图像块的像素值,创建该图像块集合的初始结构矩阵;对该初始结构矩阵进行滤波处理,获得重建结构矩阵,该重建结构矩阵对应该每个图像块的重建像素值,其中,该滤波处理包括至少一个定点化步骤;根据该每个图像块的重建像素值,重建该每个图像块。
可选地,作为一个实施例,该待处理图像块为基于编码数据重建的。
可选地,作为一个实施例,该处理器还用于:确定该待处理图像块的搜索窗口;按照预设搜索顺序,在该搜索窗口内,搜索获得多个图像块;在该多个图像块中确定该至少一个相似图像块。
可选地,作为一个实施例,该搜索窗口为四边形,该预设搜索顺序为:从该搜索窗口左上角开始,按照光栅扫描顺序逐像素进行搜索,到右下角终止。
可选地,作为一个实施例,该处理器具体用于:根据相似度的度量参数,确定该多个图像块中每个图像块与该待处理图像块的相似度;根据该每个图像块与该待处理图像块的相似度,在该多个图像块中确定与该待处理图像块相似的该至少一个相似图像块。
可选地,作为一个实施例,该相似度的度量参数至少包括以下一种:哈希值的差值、误差平方和SSD、绝对误差和SAD、平均绝对差MAD、平均误差平方和MSD和结构相似性指标SSIM。
可选地,作为一个实施例,该图像块集合包括该待处理图像块和该至少一个相似图像块。
可选地,作为一个实施例,该滤波处理包括以下至少一种:奇异值分解SVD、KL变换KLT和信号独立转换SDT。
可选地,作为一个实施例,该SDT处理中在协方差矩阵导出变换核时采用定点化步骤;和/或,该KLT处理中在获取变换基时采用定点化步骤。
可选地,作为一个实施例,该处理器具体用于:对该初始结构矩阵进行SVD的滤波处理,获得该重建结构矩阵。
可选地,作为一个实施例,该处理器具体用于:对该初始结构矩阵进行多次第一SVD处理,获得该初始结构矩阵的多个最大奇异值、多个左奇异向量以及多个右奇异向量,其中,该多次第一SVD处理中一次第一SVD处理用于确定该初始结构矩阵的一个最大奇异值以及该一个最大奇异值对应的左奇异向量和右奇异向量;根据该多个最大奇异值,构建最大奇异值矩阵;根据该最大奇异值矩阵以及该多个左奇异向量,构建左奇异矩阵;根据该最大奇异值矩阵以及该多个右奇异向量,构建右奇异矩阵;根据该最大奇异值矩阵、该左奇异矩阵以及该右奇异矩阵,确定该重建结构矩阵。
可选地,作为一个实施例,该多次第一SVD处理中任意一次第一SVD处理还包括第一定点化步骤,该任意一次第一SVD处理用于确定该初始结构矩阵的第一最大奇异值以及该第一最大奇异值对应的第一左奇异向量和第一右奇异向量,以使得以下至少一种元素为定点数:该初始结构矩阵中的元素、该第一最大奇异值、该第一左奇异向量中的元素和该第一右奇异向量中的元素。
可选地,作为一个实施例,该第一定点化步骤包括:将该初始结构矩阵进行放大处理,放大后的初始结构矩阵中的元素为定点数。
可选地,作为一个实施例,该第一定点化步骤还包括:根据该初始结构矩阵中的元素的小数位,调整当前次第一SVD处理中的输入矩阵的放大倍数,使得该输入矩阵的放大倍数与该放大后的初始结构矩阵的放大倍数相同,其中,当该当前次第一SVD处理为该多次第一SVD处理中的第一次第一SVD处理时,该输入矩阵为该初始结构矩阵。
可选地,作为一个实施例,该放大后的初始结构矩阵中的元素为整数。
可选地,作为一个实施例,该处理器具体用于:对该初始结构矩阵进行当前次第一SVD处理;若该当前次第一SVD处理满足第一预设条件,停止对该初始结构矩阵进行下一次第一SVD处理。
可选地,作为一个实施例,该处理器具体用于:对该初始结构矩阵进行若干次第一SVD处理;在该若干次第一SVD处理中,确定满足第一预设条 件的该多次第一SVD处理。
可选地,作为一个实施例,该第一预设条件包括:该多次第一SVD处理的次数小于或者等于第一预设次数。
可选地,作为一个实施例,该第一预设条件包括:该多次第一SVD处理中最后两次处理获得的两个最大奇异值的差小于第一预设值。
可选地,作为一个实施例,该第一预设条件包括:该最后一次第一SVD处理获得的最大奇异值小于硬阈值。
可选地,作为一个实施例,该处理器具体用于:删除该多个最大奇异值中小于或者等于硬阈值的最大奇异值,获得剩余的最大奇异值;根据该剩余的最大奇异值,构建该最大奇异值矩阵。
可选地,作为一个实施例,该硬阈值为经过放大处理的硬阈值。
可选地,作为一个实施例,该设备包括:通过查表,获取该放大处理的硬阈值。
可选地,作为一个实施例,该设备还包括:调整该放大处理的硬阈值以及该最大奇异值矩阵,调整后的硬阈值与调整后的最大奇异值矩阵具有相同的放大倍数。
可选地,作为一个实施例,该处理器具体用于:基于归一化算法,对该初始结构矩阵进行当前次第一SVD处理,获得第一最大奇异值、第一左奇异向量和第一右奇异向量,该当前次第一SVD处理为该多次第一SVD处理中任意一次处理。
可选地,作为一个实施例,该当前次第一SVD处理包括:基于归一化算法,对输入矩阵进行多次第二SVD处理,获得多个奇异值以及该多个奇异值中每个奇异值对应的左奇异向量和右奇异向量;其中,该多次第二SVD处理中每次第二SVD处理用于确定该输入矩阵的一个奇异值以及对应的左奇异向量和右奇异向量,当该当前次第一SVD处理为该多次第一SVD处理中的第一次第一SVD处理时,该输入矩阵为该初始结构矩阵;输出该多个奇异值中的最大值为该当前次第一SVD处理获得的第一最大奇异值;输出该第一最大奇异值对应的第一左奇异向量以及第一右奇异向量;根据该第一左奇异向量与该第一右奇异向量,确定输出矩阵。
可选地,作为一个实施例,该当前次第一SVD处理还包括:根据该输出矩阵与该输入矩阵的差值,确定该当前次第一SVD处理的下一次第一 SVD处理的输入矩阵。
可选地,作为一个实施例,该处理器具体用于:对该输入矩阵进行当前次第二SVD处理;若该当前次第二SVD处理满足第二预设条件,停止对该输入矩阵进行下一次第一SVD处理。
可选地,作为一个实施例,该处理器具体用于:对该输入矩阵进行若干次第二SVD处理;在该若干次第二SVD处理中,确定满足第二预设条件的该多次第二SVD处理。
可选地,作为一个实施例,该第二预设条件包括:该多次第二SVD处理的次数小于或者等于第二预设次数。
可选地,作为一个实施例,该第二预设条件包括:该多次第二SVD处理中最后两次处理获得的两个奇异值的差小于第二预设值。
可选地,作为一个实施例,该第二预设条件包括:该最后一次第二SVD处理获得的奇异值小于第三预设值。
可选地,作为一个实施例,该处理器具体用于:根据该输入矩阵,确定至少一个归一化因子;将该至少一个归一化因子进行缩小处理,获得缩小后的归一化因子;根据该缩小后的归一化因子,对该输入矩阵进行多次第二SVD处理。
可选地,作为一个实施例,该处理器具体用于:基于归一化算法,将该输入矩阵按行或列求和,获得一维的第一向量,该第一向量的元素的个数等于该图像块集合中图像块的个数;根据该第一向量,确定第一归一化因子;根据该第一向量与该第一归一化因子,确定第二向量;对该第二向量进行当前次第二SVD处理,获得该输入矩阵的第二奇异值、第二左奇异向量和第二右奇异向量,该当前次第二SVD处理为该多次第二SVD处理中任意一次处理。
可选地,作为一个实施例,该处理器具体用于:根据输入向量与该输入矩阵的内积,确定第三向量;根据该第三向量,确定第二归一化因子;根据该第三向量与该第二归一化因子,确定该第二左奇异向量;根据该第二左奇异向量与该输入矩阵的内积,确定第四向量;根据该第四向量,确定第三归一化因子;根据该第四向量与该第三归一化因子,确定该第二右奇异向量;将该第四向量的模确定为该第二奇异值;将该第二右奇异向量确定为该当前次第二SVD处理的下一次第二SVD处理的输入向量,其中,当该当前次第 二SVD处理为该多次第二SVD处理中的第一次第二SVD处理时,该输入向量为该第二向量。
可选地,作为一个实施例,该当前次第二SVD处理还包括第二定点化步骤,以使得以下至少一种原始为定点数:该第二奇异值、该第二左奇异向量中的元素和该第二右奇异向量中的元素。
可选地,作为一个实施例,该第二定点化步骤包括:将该第一归一化因子进行缩小处理,使得根据缩小后的第一归一化因子确定的该第二向量中的元素为定点数;和/或,将该第二归一化因子进行缩小处理,使得根据缩小后的第二归一化因子确定的该左奇异向量中的元素为定点数;和/或,将该第三归一化因子进行缩小处理,使得根据缩小后的第三归一化因子确定的该右奇异向量中的元素为定点数。
可选地,作为一个实施例,该第一归一化因子为该第一向量的模;和/或,该第二归一化因子为该第三向量的模;和/或,该第三归一化因子为该第四向量的模。
可选地,作为一个实施例,该处理器具体用于:基于该缩小后的第一归一化因子、该缩小后的第二归一化因子以及该缩小后的第三归一化因子,对该初始结构矩阵进行滤波处理,获得放大的重建结构矩阵;将该放大的重建结构矩阵进行缩小处理,获得该重建结构矩阵,该重建结构矩阵与该初始结构矩阵具有相同倍数。
可选地,作为一个实施例,该定点数为整数。
可选地,作为一个实施例,该处理器具体用于:对该待处理图像块进行多次滤波处理,获得多个重建像素值;根据该多个重建像素值中每个重建像素值的权重,重建该待处理图像块。
可选地,作为一个实施例,该处理器具体用于:根据该多个像素值的平均值,重建该待处理图像块。
应理解,根据本申请实施例的用于视频编解码的设备500可以对应于执行根据本申请实施例的方法400中的相应主体,并且设备500中的各个单元的上述和其它操作和/或功能分别为了实现图1至图4中的各个方法中编码设备或解码设备的相应流程,为了简洁,在此不再赘述。
因此,本申请实施例的用于视频编解码的设备,根据待处理图像以及其相似图像块,构建初始结构矩阵,对该初始结构矩阵进行滤波处理,其中, 该滤波处理包括至少一个定点化的步骤,根据滤波结果重建图像块,通过适当损失小数精度将浮点数放大为整数的方式来进行处理,并且严格的移位设计实现了NLSF的定点化,同时将性能损失控制在可接受的范围之内。
应理解,本申请实施例的用于视频编解码的方法还可以由对应的用于视频编解码的设备执行,该设备包括与用于视频编解码的方法对应的软件模块来实现,此处不再赘述。
应理解,本申请各实施例的装置可以基于存储器和处理器实现,各存储器用于存储用于执行本申请个实施例的方法的指令,处理器执行上述指令,使得装置执行本申请各实施例的方法。
应理解,本申请实施例中提及的处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存 储模块)集成在处理器中。
应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本申请实施例还提供一种计算机可读存储介质,其上存储有指令,当指令在计算机上运行时,使得计算机执行上述各方法实施例的方法。
本申请实施例还提供一种计算设备,该计算设备包括上述计算机可读存储介质。
本申请实施例可以应用在飞行器,尤其是无人机领域。
应理解,本申请各实施例的电路、子电路、子单元的划分只是示意性的。本领域普通技术人员可以意识到,本文中所公开的实施例描述的各示例的电路、子电路和子单元,能够再行拆分或组合。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(Digital Video Disc,DVD))、或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
应理解,本申请各实施例均是以总位宽为16位(bit)为例进行说明的,本申请各实施例可以适用于其他的位宽。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定 指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
应理解,在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的 部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (86)

  1. 一种用于视频编解码的方法,其特征在于,包括:
    根据待处理图像块的至少一个相似图像块,确定图像块集合;
    根据所述图像块集合中每个图像块的像素值,创建所述图像块集合的初始结构矩阵;
    对所述初始结构矩阵进行滤波处理,获得重建结构矩阵,所述重建结构矩阵对应所述每个图像块的重建像素值,其中,所述滤波处理包括至少一个定点化步骤;
    根据所述每个图像块的重建像素值,重建所述每个图像块。
  2. 根据权利要求1所述的方法,其特征在于,所述待处理图像块为基于编码数据重建的。
  3. 根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
    确定所述待处理图像块的搜索窗口;
    按照预设搜索顺序,在所述搜索窗口内,搜索获得多个图像块;
    在所述多个图像块中确定所述至少一个相似图像块。
  4. 根据权利要求3所述的方法,其特征在于,所述搜索窗口为四边形,所述预设搜索顺序为:
    从所述搜索窗口左上角开始,按照光栅扫描顺序逐像素进行搜索,到右下角终止。
  5. 根据权利要求3或4所述的方法,其特征在于,所述在所述多个图像块中确定所述至少一个相似图像块,包括:
    根据相似度的度量参数,确定所述多个图像块中每个图像块与所述待处理图像块的相似度;
    根据所述每个图像块与所述待处理图像块的相似度,在所述多个图像块中确定与所述待处理图像块相似的所述至少一个相似图像块。
  6. 根据权利要求5所述的方法,其特征在于,所述相似度的度量参数至少包括以下一种:
    哈希值的差值、误差平方和SSD、绝对误差和SAD、平均绝对差MAD、平均误差平方和MSD和结构相似性指标SSIM。
  7. 根据权利要求3至6中任一项所述的方法,其特征在于,所述图像 块集合包括所述待处理图像块和所述至少一个相似图像块。
  8. 根据权利要求1至7中任一项所述的方法,其特征在于,所述滤波处理包括以下至少一种:
    奇异值分解SVD、KL变换KLT和信号独立转换SDT。
  9. 根据权利要求8所述的方法,其特征在于,所述SDT处理中在协方差矩阵导出变换核时采用定点化步骤;和/或
    所述KLT处理中在获取变换基时采用定点化步骤。
  10. 根据权利要求1所述的方法,其特征在于,所述对所述初始结构矩阵进行滤波处理,获得重建结构矩阵,包括:
    对所述初始结构矩阵进行SVD的滤波处理,获得所述重建结构矩阵。
  11. 根据权利要求10所述的方法,其特征在于,所述对所述初始结构矩阵进行SVD的滤波处理,获得所述重建结构矩阵包括:
    对所述初始结构矩阵进行多次第一SVD处理,获得所述初始结构矩阵的多个最大奇异值、多个左奇异向量以及多个右奇异向量,其中,所述多次第一SVD处理中一次第一SVD处理用于确定所述初始结构矩阵的一个最大奇异值以及所述一个最大奇异值对应的左奇异向量和右奇异向量;
    根据所述多个最大奇异值,构建最大奇异值矩阵;
    根据所述最大奇异值矩阵以及所述多个左奇异向量,构建左奇异矩阵;
    根据所述最大奇异值矩阵以及所述多个右奇异向量,构建右奇异矩阵;
    根据所述最大奇异值矩阵、所述左奇异矩阵以及所述右奇异矩阵,确定所述重建结构矩阵。
  12. 根据权利要求11所述的方法,其特征在于,所述多次第一SVD处理中任意一次第一SVD处理还包括第一定点化步骤,所述至少一个定点化步骤包括所述第一定点化步骤,所述任意一次第一SVD处理用于确定所述初始结构矩阵的第一最大奇异值以及所述第一最大奇异值对应的第一左奇异向量和第一右奇异向量,以使得以下至少一种元素为定点数:
    所述初始结构矩阵中的元素、所述第一最大奇异值、所述第一左奇异向量中的元素和所述第一右奇异向量中的元素。
  13. 根据权利要求12所述的方法,其特征在于,所述第一定点化步骤包括:
    将所述初始结构矩阵进行放大处理,放大后的初始结构矩阵中的元素为 定点数。
  14. 根据权利要求13所述的方法,其特征在于,所述第一定点化步骤还包括:
    根据所述初始结构矩阵中的元素的小数位,调整当前次第一SVD处理中的输入矩阵的放大倍数,使得所述输入矩阵的放大倍数与所述放大后的初始结构矩阵的放大倍数相同,其中,当所述当前次第一SVD处理为所述多次第一SVD处理中的第一次第一SVD处理时,所述输入矩阵为所述初始结构矩阵。
  15. 根据权利要求13或14所述的方法,其特征在于,所述放大后的初始结构矩阵中的元素为整数。
  16. 根据权利要求11至15中任一项所述的方法,其特征在于,所述对所述初始结构矩阵进行多次第一SVD处理,包括:
    对所述初始结构矩阵进行当前次第一SVD处理;
    若所述当前次第一SVD处理满足第一预设条件,停止对所述初始结构矩阵进行下一次第一SVD处理。
  17. 根据权利要求11至15中任一项所述的方法,其特征在于,所述对所述初始结构矩阵进行多次第一SVD处理,包括:
    对所述初始结构矩阵进行若干次第一SVD处理;
    在所述若干次第一SVD处理中,确定满足第一预设条件的所述多次第一SVD处理。
  18. 根据权利要求16或17所述的方法,其特征在于,所述第一预设条件包括:
    所述多次第一SVD处理的次数小于或者等于第一预设次数。
  19. 根据权利要求16或17所述的方法,其特征在于,所述第一预设条件包括:
    所述多次第一SVD处理中最后两次处理获得的两个最大奇异值的差小于第一预设值。
  20. 根据权利要求16或17所述的方法,其特征在于,所述第一预设条件包括:
    所述最后一次第一SVD处理获得的最大奇异值小于硬阈值。
  21. 根据权利要求11至20中任一项所述的方法,其特征在于,所述根 据所述多个最大奇异值,构建最大奇异值矩阵,包括:
    删除所述多个最大奇异值中小于或者等于硬阈值的最大奇异值,获得剩余的最大奇异值;
    根据所述剩余的最大奇异值,构建所述最大奇异值矩阵。
  22. 根据权利要求20或21所述的方法,其特征在于,所述硬阈值为经过放大处理的硬阈值。
  23. 根据权利要求22所述的方法,其特征在于,所述方法包括:
    通过查表,获取所述放大处理的硬阈值。
  24. 根据权利要求22或23所述的方法,其特征在于,所述方法还包括:
    调整所述放大处理的硬阈值以及所述最大奇异值矩阵,调整后的硬阈值与调整后的最大奇异值矩阵具有相同的放大倍数。
  25. 根据权利要求11至24中任一项所述的方法,其特征在于,所述对所述初始结构矩阵进行多次第一SVD处理,包括:
    基于归一化算法,对所述初始结构矩阵进行当前次第一SVD处理,获得第一最大奇异值、第一左奇异向量和第一右奇异向量,所述当前次第一SVD处理为所述多次第一SVD处理中任意一次处理。
  26. 根据权利要求25所述的方法,其特征在于,所述当前次第一SVD处理包括:
    基于归一化算法,对输入矩阵进行多次第二SVD处理,获得多个奇异值以及所述多个奇异值中每个奇异值对应的左奇异向量和右奇异向量;其中,所述多次第二SVD处理中每次第二SVD处理用于确定所述输入矩阵的一个奇异值以及对应的左奇异向量和右奇异向量,当所述当前次第一SVD处理为所述多次第一SVD处理中的第一次第一SVD处理时,所述输入矩阵为所述初始结构矩阵;
    输出所述多个奇异值中的最大值为所述当前次第一SVD处理获得的第一最大奇异值;
    输出所述第一最大奇异值对应的第一左奇异向量以及第一右奇异向量;
    根据所述第一左奇异向量与所述第一右奇异向量,确定输出矩阵。
  27. 根据权利要求26所述的方法,其特征在于,所述当前次第一SVD处理还包括:
    根据所述输出矩阵与所述输入矩阵的差值,确定所述当前次第一SVD 处理的下一次第一SVD处理的输入矩阵。
  28. 根据权利要求26或27所述的方法,其特征在于,所述对输入矩阵进行多次第二SVD处理,包括:
    对所述输入矩阵进行当前次第二SVD处理;
    若所述当前次第二SVD处理满足第二预设条件,停止对所述输入矩阵进行下一次第一SVD处理。
  29. 根据权利要求26或27所述的方法,其特征在于,所述对输入矩阵进行多次第二SVD处理,包括:
    对所述输入矩阵进行若干次第二SVD处理;
    在所述若干次第二SVD处理中,确定满足第二预设条件的所述多次第二SVD处理。
  30. 根据权利要求28或29所述的方法,其特征在于,所述第二预设条件包括:
    所述多次第二SVD处理的次数小于或者等于第二预设次数。
  31. 根据权利要求28或29所述的方法,其特征在于,所述第二预设条件包括:
    所述多次第二SVD处理中最后两次处理获得的两个奇异值的差小于第二预设值。
  32. 根据权利要求28或29所述的方法,其特征在于,所述第二预设条件包括:
    所述最后一次第二SVD处理获得的奇异值小于第三预设值。
  33. 根据权利要求26至32中任一项所述的方法,其特征在于,所述基于归一化算法,对输入矩阵进行多次第二SVD处理,包括:
    根据所述输入矩阵,确定至少一个归一化因子;
    将所述至少一个归一化因子进行缩小处理,获得缩小后的归一化因子;
    根据所述缩小后的归一化因子,对所述输入矩阵进行多次第二SVD处理。
  34. 根据权利要求26至32中任一项所述的方法,其特征在于,所述基于归一化算法,对输入矩阵进行多次第二SVD处理,包括:
    基于归一化算法,将所述输入矩阵按行或列求和,获得一维的第一向量,所述第一向量的元素的个数等于所述图像块集合中图像块的个数;
    根据所述第一向量,确定第一归一化因子;
    根据所述第一向量与所述第一归一化因子,确定第二向量;
    对所述第二向量进行当前次第二SVD处理,获得所述输入矩阵的第二奇异值、第二左奇异向量和第二右奇异向量,所述当前次第二SVD处理为所述多次第二SVD处理中任意一次处理。
  35. 根据权利要求31所述的方法,其特征在于,所述当前次第二SVD处理包括:
    根据输入向量与所述输入矩阵的内积,确定第三向量;
    根据所述第三向量,确定第二归一化因子;
    根据所述第三向量与所述第二归一化因子,确定所述第二左奇异向量;
    根据所述第二左奇异向量与所述输入矩阵的内积,确定第四向量;
    根据所述第四向量,确定第三归一化因子;
    根据所述第四向量与所述第三归一化因子,确定所述第二右奇异向量;
    将所述第四向量的模确定为所述第二奇异值;
    将所述第二右奇异向量确定为所述当前次第二SVD处理的下一次第二SVD处理的输入向量,其中,当所述当前次第二SVD处理为所述多次第二SVD处理中的第一次第二SVD处理时,所述输入向量为所述第二向量。
  36. 根据权利要求35所述的方法,其特征在于,所述当前次第二SVD处理还包括第二定点化步骤,所述至少一个定点化步骤包括所述第二定点化步骤,以使得以下至少一种原始为定点数:
    所述第二奇异值、所述第二左奇异向量中的元素和所述第二右奇异向量中的元素。
  37. 根据权利要求36所述的方法,其特征在于,所述第二定点化步骤包括:
    将所述第一归一化因子进行缩小处理,使得根据缩小后的第一归一化因子确定的所述第二向量中的元素为定点数;和/或
    将所述第二归一化因子进行缩小处理,使得根据缩小后的第二归一化因子确定的所述左奇异向量中的元素为定点数;和/或
    将所述第三归一化因子进行缩小处理,使得根据缩小后的第三归一化因子确定的所述右奇异向量中的元素为定点数。
  38. 根据权利要求36所述的方法,其特征在于,
    所述第一归一化因子为所述第一向量的模;和/或
    所述第二归一化因子为所述第三向量的模;和/或
    所述第三归一化因子为所述第四向量的模。
  39. 根据权利要求37或38所述的方法,其特征在于,所述对所述初始结构矩阵进行滤波处理,获得重建结构矩阵,包括:
    基于所述缩小后的第一归一化因子、所述缩小后的第二归一化因子以及所述缩小后的第三归一化因子,对所述初始结构矩阵进行滤波处理,获得放大的重建结构矩阵;
    将所述放大的重建结构矩阵进行缩小处理,获得所述重建结构矩阵,所述重建结构矩阵与所述初始结构矩阵具有相同倍数。
  40. 根据权利要求36至39中任一项所述的方法,其特征在于,所述定点数为整数。
  41. 根据权利要求1至40中任一项所述的方法,其特征在于,所述根据所述每个图像块的重建像素值,重建所述每个图像块,包括:
    对所述待处理图像块进行多次滤波处理,获得多个重建像素值;
    根据所述多个重建像素值中每个重建像素值的权重,重建所述待处理图像块。
  42. 根据权利要求41所述的方法,其特征在于,所述根据所述多个重建像素值中每个重建像素值的权重,重建所述待处理图像块,包括:
    根据所述多个像素值的平均值,重建所述待处理图像块。
  43. 一种用于视频编解码的设备,其特征在于,包括:存储器和处理器,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,当所述处理器执行所述存储器存储的指令时,所述处理器用于:
    根据待处理图像块的至少一个相似图像块,确定图像块集合;
    根据所述图像块集合中每个图像块的像素值,创建所述图像块集合的初始结构矩阵;
    对所述初始结构矩阵进行滤波处理,获得重建结构矩阵,所述重建结构矩阵对应所述每个图像块的重建像素值,其中,所述滤波处理包括至少一个定点化步骤;
    根据所述每个图像块的重建像素值,重建所述每个图像块。
  44. 根据权利要求43所述的设备,其特征在于,所述待处理图像块为 基于编码数据重建的。
  45. 根据权利要求43或44所述的设备,其特征在于,所述处理器还用于:
    确定所述待处理图像块的搜索窗口;
    按照预设搜索顺序,在所述搜索窗口内,搜索获得多个图像块;
    在所述多个图像块中确定所述至少一个相似图像块。
  46. 根据权利要求45所述的设备,其特征在于,所述搜索窗口为四边形,所述预设搜索顺序为:
    从所述搜索窗口左上角开始,按照光栅扫描顺序逐像素进行搜索,到右下角终止。
  47. 根据权利要求45或45所述的设备,其特征在于,所述处理器具体用于:
    根据相似度的度量参数,确定所述多个图像块中每个图像块与所述待处理图像块的相似度;
    根据所述每个图像块与所述待处理图像块的相似度,在所述多个图像块中确定与所述待处理图像块相似的所述至少一个相似图像块。
  48. 根据权利要求47所述的设备,其特征在于,所述相似度的度量参数至少包括以下一种:
    哈希值的差值、误差平方和SSD、绝对误差和SAD、平均绝对差MAD、平均误差平方和MSD和结构相似性指标SSIM。
  49. 根据权利要求45至48中任一项所述的设备,其特征在于,所述图像块集合包括所述待处理图像块和所述至少一个相似图像块。
  50. 根据权利要求43至49中任一项所述的设备,其特征在于,所述滤波处理包括以下至少一种:
    奇异值分解SVD、KL变换KLT和信号独立转换SDT。
  51. 根据权利要求50所述的设备,其特征在于,所述SDT处理中在协方差矩阵导出变换核时采用定点化步骤;和/或
    所述KLT处理中在获取变换基时采用定点化步骤。
  52. 根据权利要求43所述的设备,其特征在于,所述处理器具体用于:
    对所述初始结构矩阵进行SVD的滤波处理,获得所述重建结构矩阵。
  53. 根据权利要求52所述的设备,其特征在于,所述处理器具体用于:
    对所述初始结构矩阵进行多次第一SVD处理,获得所述初始结构矩阵的多个最大奇异值、多个左奇异向量以及多个右奇异向量,其中,所述多次第一SVD处理中一次第一SVD处理用于确定所述初始结构矩阵的一个最大奇异值以及所述一个最大奇异值对应的左奇异向量和右奇异向量;
    根据所述多个最大奇异值,构建最大奇异值矩阵;
    根据所述最大奇异值矩阵以及所述多个左奇异向量,构建左奇异矩阵;
    根据所述最大奇异值矩阵以及所述多个右奇异向量,构建右奇异矩阵;
    根据所述最大奇异值矩阵、所述左奇异矩阵以及所述右奇异矩阵,确定所述重建结构矩阵。
  54. 根据权利要求53所述的设备,其特征在于,所述多次第一SVD处理中任意一次第一SVD处理还包括第一定点化步骤,所述任意一次第一SVD处理用于确定所述初始结构矩阵的第一最大奇异值以及所述第一最大奇异值对应的第一左奇异向量和第一右奇异向量,以使得以下至少一种元素为定点数:
    所述初始结构矩阵中的元素、所述第一最大奇异值、所述第一左奇异向量中的元素和所述第一右奇异向量中的元素。
  55. 根据权利要求54所述的设备,其特征在于,所述第一定点化步骤包括:
    将所述初始结构矩阵进行放大处理,放大后的初始结构矩阵中的元素为定点数。
  56. 根据权利要求55所述的设备,其特征在于,所述第一定点化步骤还包括:
    根据所述初始结构矩阵中的元素的小数位,调整当前次第一SVD处理中的输入矩阵的放大倍数,使得所述输入矩阵的放大倍数与所述放大后的初始结构矩阵的放大倍数相同,其中,当所述当前次第一SVD处理为所述多次第一SVD处理中的第一次第一SVD处理时,所述输入矩阵为所述初始结构矩阵。
  57. 根据权利要求55或56所述的设备,其特征在于,所述放大后的初始结构矩阵中的元素为整数。
  58. 根据权利要求53至57中任一项所述的设备,其特征在于,所述处理器具体用于:
    对所述初始结构矩阵进行当前次第一SVD处理;
    若所述当前次第一SVD处理满足第一预设条件,停止对所述初始结构矩阵进行下一次第一SVD处理。
  59. 根据权利要求53至57中任一项所述的设备,其特征在于,所述处理器具体用于:
    对所述初始结构矩阵进行若干次第一SVD处理;
    在所述若干次第一SVD处理中,确定满足第一预设条件的所述多次第一SVD处理。
  60. 根据权利要求58或59所述的设备,其特征在于,所述第一预设条件包括:
    所述多次第一SVD处理的次数小于或者等于第一预设次数。
  61. 根据权利要求58或59所述的设备,其特征在于,所述第一预设条件包括:
    所述多次第一SVD处理中最后两次处理获得的两个最大奇异值的差小于第一预设值。
  62. 根据权利要求58或59所述的设备,其特征在于,所述第一预设条件包括:
    所述最后一次第一SVD处理获得的最大奇异值小于硬阈值。
  63. 根据权利要求53至62中任一项所述的设备,其特征在于,所述处理器具体用于:
    删除所述多个最大奇异值中小于或者等于硬阈值的最大奇异值,获得剩余的最大奇异值;
    根据所述剩余的最大奇异值,构建所述最大奇异值矩阵。
  64. 根据权利要求62或63所述的设备,其特征在于,所述硬阈值为经过放大处理的硬阈值。
  65. 根据权利要求64所述的设备,其特征在于,所述设备包括:
    通过查表,获取所述放大处理的硬阈值。
  66. 根据权利要求64或65所述的设备,其特征在于,所述设备还包括:
    调整所述放大处理的硬阈值以及所述最大奇异值矩阵,调整后的硬阈值与调整后的最大奇异值矩阵具有相同的放大倍数。
  67. 根据权利要求53至66中任一项所述的设备,其特征在于,所述处 理器具体用于:
    基于归一化算法,对所述初始结构矩阵进行当前次第一SVD处理,获得第一最大奇异值、第一左奇异向量和第一右奇异向量,所述当前次第一SVD处理为所述多次第一SVD处理中任意一次处理。
  68. 根据权利要求67所述的设备,其特征在于,所述当前次第一SVD处理包括:
    基于归一化算法,对输入矩阵进行多次第二SVD处理,获得多个奇异值以及所述多个奇异值中每个奇异值对应的左奇异向量和右奇异向量;其中,所述多次第二SVD处理中每次第二SVD处理用于确定所述输入矩阵的一个奇异值以及对应的左奇异向量和右奇异向量,当所述当前次第一SVD处理为所述多次第一SVD处理中的第一次第一SVD处理时,所述输入矩阵为所述初始结构矩阵;
    输出所述多个奇异值中的最大值为所述当前次第一SVD处理获得的第一最大奇异值;
    输出所述第一最大奇异值对应的第一左奇异向量以及第一右奇异向量;
    根据所述第一左奇异向量与所述第一右奇异向量,确定输出矩阵。
  69. 根据权利要求68所述的设备,其特征在于,所述当前次第一SVD处理还包括:
    根据所述输出矩阵与所述输入矩阵的差值,确定所述当前次第一SVD处理的下一次第一SVD处理的输入矩阵。
  70. 根据权利要求68或69所述的设备,其特征在于,所述处理器具体用于:
    对所述输入矩阵进行当前次第二SVD处理;
    若所述当前次第二SVD处理满足第二预设条件,停止对所述输入矩阵进行下一次第一SVD处理。
  71. 根据权利要求68或69所述的设备,其特征在于,所述处理器具体用于:
    对所述输入矩阵进行若干次第二SVD处理;
    在所述若干次第二SVD处理中,确定满足第二预设条件的所述多次第二SVD处理。
  72. 根据权利要求70或71所述的设备,其特征在于,所述第二预设条 件包括:
    所述多次第二SVD处理的次数小于或者等于第二预设次数。
  73. 根据权利要求70或71所述的设备,其特征在于,所述第二预设条件包括:
    所述多次第二SVD处理中最后两次处理获得的两个奇异值的差小于第二预设值。
  74. 根据权利要求70或71所述的设备,其特征在于,所述第二预设条件包括:
    所述最后一次第二SVD处理获得的奇异值小于第三预设值。
  75. 根据权利要求68至74中任一项所述的设备,其特征在于,所述处理器具体用于:
    根据所述输入矩阵,确定至少一个归一化因子;
    将所述至少一个归一化因子进行缩小处理,获得缩小后的归一化因子;
    根据所述缩小后的归一化因子,对所述输入矩阵进行多次第二SVD处理。
  76. 根据权利要求68至74中任一项所述的设备,其特征在于,所述处理器具体用于:
    基于归一化算法,将所述输入矩阵按行或列求和,获得一维的第一向量,所述第一向量的元素的个数等于所述图像块集合中图像块的个数;
    根据所述第一向量,确定第一归一化因子;
    根据所述第一向量与所述第一归一化因子,确定第二向量;
    对所述第二向量进行当前次第二SVD处理,获得所述输入矩阵的第二奇异值、第二左奇异向量和第二右奇异向量,所述当前次第二SVD处理为所述多次第二SVD处理中任意一次处理。
  77. 根据权利要求73所述的设备,其特征在于,所述处理器具体用于:
    根据输入向量与所述输入矩阵的内积,确定第三向量;
    根据所述第三向量,确定第二归一化因子;
    根据所述第三向量与所述第二归一化因子,确定所述第二左奇异向量;
    根据所述第二左奇异向量与所述输入矩阵的内积,确定第四向量;
    根据所述第四向量,确定第三归一化因子;
    根据所述第四向量与所述第三归一化因子,确定所述第二右奇异向量;
    将所述第四向量的模确定为所述第二奇异值;
    将所述第二右奇异向量确定为所述当前次第二SVD处理的下一次第二SVD处理的输入向量,其中,当所述当前次第二SVD处理为所述多次第二SVD处理中的第一次第二SVD处理时,所述输入向量为所述第二向量。
  78. 根据权利要求77所述的设备,其特征在于,所述当前次第二SVD处理还包括第二定点化步骤,以使得以下至少一种原始为定点数:
    所述第二奇异值、所述第二左奇异向量中的元素和所述第二右奇异向量中的元素。
  79. 根据权利要求78所述的设备,其特征在于,所述第二定点化步骤包括:
    将所述第一归一化因子进行缩小处理,使得根据缩小后的第一归一化因子确定的所述第二向量中的元素为定点数;和/或
    将所述第二归一化因子进行缩小处理,使得根据缩小后的第二归一化因子确定的所述左奇异向量中的元素为定点数;和/或
    将所述第三归一化因子进行缩小处理,使得根据缩小后的第三归一化因子确定的所述右奇异向量中的元素为定点数。
  80. 根据权利要求78所述的设备,其特征在于,
    所述第一归一化因子为所述第一向量的模;和/或
    所述第二归一化因子为所述第三向量的模;和/或
    所述第三归一化因子为所述第四向量的模。
  81. [根据细则26改正20.04.2018]
    根据权利要求79或80所述的设备,其特征在于,所述处理器具体用于:
    基于所述缩小后的第一归一化因子、所述缩小后的第二归一化因子以及所述缩小后的第三归一化因子,对所述初始结构矩阵进行滤波处理,获得放大的重建结构矩阵;
    将所述放大的重建结构矩阵进行缩小处理,获得所述重建结构矩阵,所述重建结构矩阵与所述初始结构矩阵具有相同倍数。
  82. 根据权利要求78至81中任一项所述的设备,其特征在于,所述定点数为整数。
  83. 根据权利要求43至82中任一项所述的设备,其特征在于,所述处理器具体用于:
    对所述待处理图像块进行多次滤波处理,获得多个重建像素值;
    根据所述多个重建像素值中每个重建像素值的权重,重建所述待处理图像块。
  84. 根据权利要求83所述的设备,其特征在于,所述处理器具体用于:
    根据所述多个像素值的平均值,重建所述待处理图像块。
  85. 一种计算机存储介质,其特征在于,用于存储计算机程序,所述计算机程序包括用于执行权利要求1至42中任一项所述的方法的指令。
  86. 一种计算机程序产品,其特征在于,当计算机运行所述计算机程序产品的所述指时,所述计算机执行权利要求1至42中任一项所述的方法。
PCT/CN2018/081655 2018-04-02 2018-04-02 用于视频编解码的方法和设备 WO2019191892A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/CN2018/081655 WO2019191892A1 (zh) 2018-04-02 2018-04-02 用于视频编解码的方法和设备
CN201880011078.XA CN110291791A (zh) 2018-04-02 2018-04-02 用于视频编解码的方法和设备
US17/060,890 US11394966B2 (en) 2018-04-02 2020-10-01 Video encoding and decoding method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/081655 WO2019191892A1 (zh) 2018-04-02 2018-04-02 用于视频编解码的方法和设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/060,890 Continuation US11394966B2 (en) 2018-04-02 2020-10-01 Video encoding and decoding method and apparatus

Publications (1)

Publication Number Publication Date
WO2019191892A1 true WO2019191892A1 (zh) 2019-10-10

Family

ID=68001282

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/081655 WO2019191892A1 (zh) 2018-04-02 2018-04-02 用于视频编解码的方法和设备

Country Status (3)

Country Link
US (1) US11394966B2 (zh)
CN (1) CN110291791A (zh)
WO (1) WO2019191892A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110927706B (zh) * 2019-12-10 2022-05-24 电子科技大学 基于卷积神经网络的雷达干扰检测识别方法
CN111586416A (zh) * 2020-06-02 2020-08-25 浙江大华技术股份有限公司 视频编码方法、装置、编码器及存储装置
CN115348448B (zh) * 2022-10-19 2023-02-17 北京达佳互联信息技术有限公司 滤波器训练方法、装置、电子设备及存储介质
CN116664872A (zh) * 2023-07-26 2023-08-29 成都实时技术股份有限公司 一种基于边缘计算的嵌入式图像识别方法、介质及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103442237A (zh) * 2013-08-20 2013-12-11 国家电网公司 一种基于h.264的视频编码方法
CN105763881A (zh) * 2016-02-23 2016-07-13 北京大学 利用图像非局部结构相似性特征的视频编码图像滤波方法
CN105791877A (zh) * 2016-03-15 2016-07-20 北京大学 视频编解码中自适应环路滤波的方法
CN107292851A (zh) * 2017-07-14 2017-10-24 重庆理工大学 一种基于伪3d变换的bm3d图像降噪方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000039954A1 (en) * 1998-12-29 2000-07-06 Kent Ridge Digital Labs Method and apparatus for embedding digital information in digital multimedia data
US8942283B2 (en) * 2005-03-31 2015-01-27 Euclid Discoveries, Llc Feature-based hybrid video codec comparing compression efficiency of encodings
US7929375B2 (en) * 2007-06-26 2011-04-19 The United States Of America As Represented By The Secretary Of The Navy Method and apparatus for improved active sonar using singular value decomposition filtering
US8416861B2 (en) * 2007-10-14 2013-04-09 Nokia Corporation Fixed-point implementation of an adaptive image filter with high coding efficiency
WO2010087808A1 (en) * 2009-01-27 2010-08-05 Thomson Licensing Methods and apparatus for transform selection in video encoding and decoding
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
US8451905B1 (en) * 2011-02-25 2013-05-28 Adobe Systems Incorporated Efficient encoding of video frames in a distributed video coding environment
US8451906B1 (en) * 2011-02-25 2013-05-28 Adobe Systems Incorporated Reconstructing efficiently encoded video frames in a distributed video coding environment
US8600213B2 (en) * 2011-10-26 2013-12-03 Xerox Corporation Filtering source video data via independent component selection
US8798184B2 (en) * 2012-04-26 2014-08-05 Qualcomm Incorporated Transmit beamforming with singular value decomposition and pre-minimum mean square error
JP6033725B2 (ja) * 2013-03-28 2016-11-30 Kddi株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、およびプログラム
CN105096351B (zh) * 2014-05-19 2018-04-17 北京大学 图像去块效应处理方法和装置
US10504530B2 (en) * 2015-11-03 2019-12-10 Dolby Laboratories Licensing Corporation Switching between transforms
US20190045224A1 (en) * 2016-02-04 2019-02-07 Mediatek Inc. Method and apparatus of non-local adaptive in-loop filters in video coding
CN105763880B (zh) * 2016-02-19 2019-02-22 北京大学 消除视频编码图像块效应的方法
US20170351786A1 (en) * 2016-06-02 2017-12-07 Xerox Corporation Scalable spectral modeling of sparse sequence functions via a best matching algorithm
JP6932192B2 (ja) * 2016-11-29 2021-09-08 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 超音波画像クラッタをフィルタリングする方法及びシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103442237A (zh) * 2013-08-20 2013-12-11 国家电网公司 一种基于h.264的视频编码方法
CN105763881A (zh) * 2016-02-23 2016-07-13 北京大学 利用图像非局部结构相似性特征的视频编码图像滤波方法
CN105791877A (zh) * 2016-03-15 2016-07-20 北京大学 视频编解码中自适应环路滤波的方法
CN107292851A (zh) * 2017-07-14 2017-10-24 重庆理工大学 一种基于伪3d变换的bm3d图像降噪方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JIAN ZHANG.: "Nonlocal Adaptive Non-Local Structure-Based Filter for Videc Coding", MULTIMEDIA (ISM), 2015 IEEE INTERNATIONAL SYMPOSIUM ON, 16 December 2015 (2015-12-16), pages 301 - 306, XP032886776 *
XINFENG ZHANG: "Nonlocal Adaptive In-Loop Filter via Content-Dependent So- ft-Thresholding for HEVC", 2015 IEEE INTERNATIONAL SYMPOSIUM ON MULTIMEDIA, 16 December 2015 (2015-12-16), pages 465 - 470, XP032886811 *

Also Published As

Publication number Publication date
US11394966B2 (en) 2022-07-19
CN110291791A (zh) 2019-09-27
US20210021821A1 (en) 2021-01-21

Similar Documents

Publication Publication Date Title
US11394966B2 (en) Video encoding and decoding method and apparatus
KR101247042B1 (ko) 변환 계수의 예측 코딩을 이용하여 디지털 미디어 데이터를인코딩하는 방법, 디지털 미디어 인코더, 디코더, 및컴퓨터 판독가능 기록 매체
WO2019157717A1 (zh) 运动补偿的方法、装置和计算机系统
Roy et al. Fractal image compression using upper bound on scaling parameter
Kumar et al. A reversible high capacity data hiding scheme using pixel value adjusting feature
Sun et al. Reduction of JPEG compression artifacts based on DCT coefficients prediction
WO2021163862A1 (zh) 视频编码的方法与装置
US7379500B2 (en) Low-complexity 2-power transform for image/video compression
JP2023515742A (ja) ループ内フィルタリングの方法、コンピュータ可読記憶媒体及びプログラム
Song et al. Compressed image restoration via artifacts-free PCA basis learning and adaptive sparse modeling
Ince et al. Low dynamic range discrete cosine transform (LDR-DCT) for high-performance JPEG image compression
US9712828B2 (en) Foreground motion detection in compressed video data
US8745116B2 (en) Low-complexity inverse transform computation method
WO2018014301A1 (zh) 视频编码方法及装置
WO2019191891A1 (zh) 用于视频处理的方法和设备
Memon et al. Interband coding extension of the new lossless JPEG standard
CN113273194A (zh) 图像分量预测方法、编码器、解码器以及存储介质
Petrov et al. Intra frame compression and video restoration based on conditional markov processes theory
Lin Robust estimation of parameter for fractal inverse problem
US11205077B1 (en) Operating on a video frame to generate a feature map of a neural network
WO2019191888A1 (zh) 环路滤波的方法、装置和计算机系统
JP4784386B2 (ja) 復号化装置、逆量子化方法及びプログラム
WO2019157718A1 (zh) 运动补偿的方法、装置和计算机系统
Qiu et al. DC Coefficients Recovery from AC Coefficients in the JPEG Compression Scenario
WO2019191887A1 (zh) 运动补偿的方法、装置和计算机系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18913538

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18913538

Country of ref document: EP

Kind code of ref document: A1