[go: up one dir, main page]

CN115103196B - 图像编码方法、电子设备以及介质 - Google Patents

图像编码方法、电子设备以及介质 Download PDF

Info

Publication number
CN115103196B
CN115103196B CN202210702199.7A CN202210702199A CN115103196B CN 115103196 B CN115103196 B CN 115103196B CN 202210702199 A CN202210702199 A CN 202210702199A CN 115103196 B CN115103196 B CN 115103196B
Authority
CN
China
Prior art keywords
block
encoded
image
preset
blocks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210702199.7A
Other languages
English (en)
Other versions
CN115103196A (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.)
ARM Technology China Co Ltd
Original Assignee
ARM Technology China Co 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 ARM Technology China Co Ltd filed Critical ARM Technology China Co Ltd
Priority to CN202210702199.7A priority Critical patent/CN115103196B/zh
Publication of CN115103196A publication Critical patent/CN115103196A/zh
Application granted granted Critical
Publication of CN115103196B publication Critical patent/CN115103196B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/533Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
    • 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/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
    • 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/567Motion estimation based on rate distortion criteria

Landscapes

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

Abstract

本申请涉及视频编码技术领域,具体涉及图像编码方法、电子设备以及介质,方法包括:获取待编码图像,并将待编码图像划分为多个待编码块;从参考图像中确定出与待编码图像中的各待编码块分别匹配的目标块;基于匹配出的目标块确定待编码块与参考图像之间的运动位移;根据确定出的运动位移,对待编码图像进行编码,其中,使用第一级搜索策略预设的第一预设调整参数;并且在为第二待编码块从参考图像中搜索相匹配的第二目标块的过程中,第一级搜索策略采用第一预设调整参数。本申请的图像编码方法实现了前一个图像块的搜索结果可以用于调整后一个图像块的搜索过程,有利于提高图像帧的编码效率。

Description

图像编码方法、电子设备以及介质
技术领域
本发明涉及视频编码技术领域,具体涉及一种图像编码方法、电子设备及存储介质。
背景技术
在拍摄或发送视频的过程中,电子设备的编码端通常需要将拍摄得到的视频数据编入码流(即编码数据)再进行保存或发送,而电子设备的解码端则可以对接收到的码流进行解码进而可以播放相应视频。目前的视频编码一般采用帧间预测编码(图像编码)技术中,其具体的编码过程为:获取视频数据中待编码的当前帧数据以及已编码的参考帧数据,对当前帧与参考帧之间的残差值进行编码以得到当前帧的编码数据。其中的参考帧通常是与当前帧连续的前一帧或者后一帧图像数据,该参考帧的图像数据可以是包含各像素点数据的完整图像数据,也可以是能够描述参考帧图像的其他参数数据,例如基于其他具有完整图像数据的参考帧确定的残差值数据等,在此不做限制。
在进行帧间预测编码的过程中,通常还会通过运动估计(Motion Estimation,ME)的技术来解决由于所拍摄物体的高速运动导致连续的两帧图像之间残差值很大、导致电子设备的编码端需要处理编码的数据量也很大、帧间预测编码的效率较低等问题。
参考图1所示,运动估计技术是将当前帧中的任意图像块(例如图1所示当前帧中的当前块),可以采用预设的搜索方式在参考帧中搜索到对应于当前帧当前块的匹配块(例如图1所示参考帧中的匹配块)。进而根据当前块在参考帧中的映射位置(即图1所示参考块中的当前帧所在位置)、以及匹配块在参考帧中的位置,估计出需要对当前块需要补偿的运动矢量(Motion Vector,MV),即当前块相对于匹配块的位移大小和方向(运动变化)。此时,电子设备则可以基于该运动矢量对当前块进行运动补偿后再计算当前块与匹配块之间的残差值,进而将运动矢量信息以及计算得到的残差值信息编入码流。解码端再根据解码出的运动矢量信息和残差值对当前帧的当前块进行运动补偿预测,以得到当前帧的完整图像数据用于显示。
目前进行帧间预测编码时,估计运动矢量所采用的搜索方式是在参考帧中搜索图像块对应的匹配块的搜索方法,例如分级搜索方式,以具有两级搜索结构的分级搜索方式为例,第一级搜索结构用于确定图像块的第一匹配结果,这里的第一匹配结果可以包括:在参考帧的特定区域(搜索区域)内,使用预设搜索方式,即粗略搜索,确定确定一个匹配块,决定第二级搜索结构进行匹配块搜索的起始位置;第二级搜索结构用于从第一级搜索结构确定的第一匹配结果中,即,匹配块的起始位置,进行搜索,直至获得一个匹配块,即精确搜索;获得的匹配块会发送给码率失真优化模块(Rate-Distortion Optimization,RDO),即裁决模块,裁决模块根据接收的匹配块以及将匹配块划分后形成的其他匹配块,确定一个最终的匹配块,也就是最优结果的匹配块,例如,裁决模块可以将接收匹配块和划分的匹配块输入裁决函数,确定裁决函数的代价值最小的匹配块为最终的匹配块。可以看出,对于上述分级搜索方式来说,每完成一个图像块对应的匹配块的搜索,进入下一次搜索(下一个图像块,即相邻的图像块对应的匹配块的搜索)时,下一次搜索过程中的第一级搜索结构仍旧会通过预设搜索方式,确定搜索下一个图像块,而不会每一次对匹配块的搜索方式方式进行调整。然而,在同一个当前帧中的相邻的图像块与参考帧中对应的匹配块之间的运动变化不会相差很大,因此,需要提供一种搜索方法,使得下一次相邻的图像块的匹配块的搜索过程可以参考上一次图像块对应的匹配块的搜索结果,能够提高相邻的图像块对应匹配块的搜索的准确率和效率。
发明内容
本申请实施例提供一种图像编码方法、电子设备以及介质。
本申请的第一方面提供了一种图像编码方法,方法包括:
获取待编码图像,并将待编码图像划分为多个待编码块;
从参考图像中确定出与待编码图像中的各待编码块分别匹配的目标块;
基于匹配出的目标块确定待编码块与参考图像之间的运动位移;
根据确定出的运动位移,对待编码图像进行编码;
其中,从参考图像中确定出与待编码图像中的各待编码块分别匹配的目标块,包括:
采用多级搜索策略,从参考图像中搜索出与多个待编码块中的第一待编码块匹配的第一目标块,其中,每级搜索策略预设有多个预设调整参数,在搜索到第一目标块的过程中多级搜索策略中的第一级搜索策略采用的是:使用第一级搜索策略预设的多个预设调整参数中的第一预设调整参数;
采用多级搜索策略,从参考图像中搜索与多个待编码块中的第二待编码块相匹配的第二目标块,其中,第二待编码块与第一待编码块相邻,并且
在为第二待编码块从参考图像中搜索相匹配的第二目标块的过程中,第一级搜索策略采用第一预设调整参数。
即在本申请的实施例中,这里的待编码图像可以是当前帧,这里的参考图像可以是参考帧,待编码图像和参考图像可以是视频中连续的前一帧或者后一帧图像。这里的待编码块可以是待编码图像中的图像块,也就是当前帧中的图像块。这里的目标块可以是参考图像中确定的与待编码块对应的代价值最小的匹配块,即,最佳匹配块。这里的运动位移可以是待编码块与目标块之间的运动矢量。
即在本申请的实施例中,这里的采用多级搜索策略,可是采用了RME模块210b和FME模块220b的编码器200b对参考图像分别进行第一级搜索和第二级搜索(即,第一级搜索策略和第二级搜索策略)。这里的RME模块210b可以是第一级搜索,RME模块210b可以预设有代价函数Jrme和至少一组调整参数λrme,例如:调整参数λrme包括λrme1至λrme10也就是索引值1至10,FME模块220b可以预设有代价函数Jfme和至少一组调整参数λfme,例如:调整参数λfme包括λfme1至λfme10也就是索引值1至10,调整参数λrme以及调整参数λfme的索引值可以是一一对应的,也就是,例如,λrme1与λfme1对应,λrme2与λfme2对应,直至λrme10与λfme10对应。这里的第一预设调整参数可以是RME模块210b使用的λrme2,RME模块210b(第一级搜索)通过第一预设调整参数确定了FME模块220b(第二级搜索)搜索第一待编码块的起始位置,FME模块220b(第二级搜索)通过第二预设调整参数,调整参数λfme得到第一待编码块对应的多个匹配块,这里的多个匹配块可以与FME模块220b(第二级搜索)的调整参数λfme的索引值对应,编码器200b通过RDO模块230b,也就是裁决模块,从多个匹配块中确定第一待编码块对应的第一目标块,即,代价值最小的匹配块,最佳匹配块。对应于第一目标块与调整参数λfme2对应,在编码器200b搜索到第二待编码块对应的第二目标块时,RME模块210b还是使用的调整参数λrme2,也就是说,RDO模块230b可以将第一目标块对应的调整参数λfme2序号2,发送给RME模块210b,使得RME模块210b使用序号2的调整参数λrme2
可以看出,对图像块对应的匹配块进行分级搜索的搜索结构(即搜索过程)分别设置了数量相同且索引值一致的调整参数,在对第一待编码块进行匹配块搜索后确定了代价值最小的匹配块,即,第一目标块;获取了该匹配块对应的目标调整参数,即,调整参数λfme2,使得第二待编码块的搜索过程可以直接使用与目标调整参数的索引值对应的调整参数,也就是调整参数λrme2,实现了前一个图像块的搜索结果可以用于调整后一个图像块的搜索过程,有利于提高图像帧的编码效率。
在上述第一方面的一种可能的实现中,多级搜索策略中的第二级搜索策略预设有多个预设调整参数,其中,第二级搜索策略预设的多个预设调整参数与第一级搜索策略预设的多个预设调整参数的一一对应。
即在本申请的实施例中,RME模块210b可以预设有至少一组调整参数λrme,例如:调整参数λrme包括λrme1至λrme10也就是索引值1至10,FME模块220b可以预设有至少一组调整参数λfme,例如:调整参数λfme包括λfme1至λfme10也就是索引值1至10,调整参数λrme以及调整参数λfme的索引值可以是一一对应的,也就是,例如,λrme1与λfme1对应,λrme2与λfme2对应,直至λrme10与λfme10对应。
在上述第一方面的一种可能的实现中,从参考图像中确定出与待编码图像中的各待编码块分别匹配的目标块,还包括:
在搜索到第一目标块的过程中多级搜索策略中的第二级搜索策略采用的是:使用第二级搜索策略预设的多个预设调整参数,得到多个第一参考块;
从多个第一参考块中,确定第一目标块。
即在本申请的实施例中,在RME模块210b(第一级搜索)通过第一预设调整参数确定了FME模块220b(第二级搜索)搜索第一待编码块的起始位置,FME模块220b(第二级搜索)通过第二预设调整参数,调整参数λfme得到第一待编码块对应的多个第一参考块,这里的多个第一参考块可以与FME模块220b(第二级搜索)的调整参数λfme的索引值对应。编码器200b通过RDO模块230b,也就是裁决模块,从多个第一参考块中确定第一待编码块对应的第一目标块,即,代价值最小的匹配块,最佳匹配块。
在上述第一方面的一种可能的实现中,从多个第一参考块中,确定第一目标块,包括:
通过预设裁决函数,得到多个第一参考块对应的结果值;
将符合预设裁决阈值的结果值对应的第一参考块确定为第一目标块,其中,第二级搜索策略搜索到第一目标块时所使用的预设调整参数的索引值与第一级搜索策略的多个预设调整参数中的第一预设调整参数对应。
在上述第一方面的一种可能的实现中,还包括:对应于为第二待编码块从参考图像中搜索相匹配的第二目标块的过程,将第二级搜索策略搜索到第一目标块时所使用的预设调整参数的索引值发送至第一级搜索策略。
即在本申请的实施例中,对应于第一目标块与调整参数λfme2对应,在编码器200b搜索到第二待编码块对应的第二目标块时,RME模块210b还是使用的调整参数λrme2,也就是说,RDO模块230b可以将第一目标块对应的调整参数λfme2序号2,发送给RME模块210b,使得RME模块210b使用序号2的调整参数λrme2
在上述第一方面的一种可能的实现中,从参考图像中搜索与多个待编码块中的第二待编码块相匹配的第二目标块,包括:
使用第二级搜索策略预设的多个预设调整参数,得到多个第二参考块;
从多个第二参考块中,确定第二目标块,其中,第二级搜索策略搜索到第二目标块时所使用的预设调整参数的索引值与第一级搜索策略的多个预设调整参数中的第二预设调整参数对应。
即在本申请的实施例中,FME模块220b(第二级搜索)通过第二预设调整参数,调整参数λfme得到第二待编码块对应的多个第二参考块,这里的多个第二参考块可以与FME模块220b(第二级搜索)的调整参数λfme的索引值对应。编码器200b通过RDO模块230b,也就是裁决模块,从多个第二参考块中确定第一待编码块对应的第二目标块,即,代价值最小的匹配块,最佳匹配块。
在上述第一方面的一种可能的实现中,还包括:
从参考图像中搜索与多个待编码块中的第三待编码块相匹配的第三目标块,其中,第三待编码块与第二待编码块相邻,并且
在为第三待编码块从参考图像中搜索相匹配的第三目标块的过程中,第一级搜索策略采用第二预设调整参数。
即在本申请的实施例中,对应于第二目标块与调整参数λfme3对应,在编码器200b搜索到第三待编码块对应的第三目标块时,RME模块210b使用的调整参数λrme3,也就是说,RDO模块230b可以将第二目标块对应的调整参数λfme3序号3,发送给RME模块210b,使得RME模块210b使用序号3的调整参数λrme3
在上述第一方面的一种可能的实现中,预设裁决函数为代价函数,结果值为代价函数的输出值。
在上述第一方面的一种可能的实现中,符合预设裁决阈值,包括:第一目标块对应的结果值为多个第一参考块对应的结果值中的最小值。
即在本申请的实施例中,例如,这里的预设裁决阈值可以是RDO模块230b通过裁决函数(代价函数),即Jrdo,确定的FME模块220b(第二级搜索)通过第二预设调整参数,调整参数λfme得到第一待编码块对应的多个第一参考块中的代价值的最小值。
即在本申请的实施例中,
本申请的第二方面提供了一种图像编码系统,系统包括:
获取模块,获取模块用于获取待编码图像,并将待编码图像划分为多个待编码块;
搜索模块,搜索模块用于从参考图像中确定出与待编码图像中的各待编码块分别匹配的目标块;
计算模块,计算模块用于基于匹配出的目标块确定待编码块与参考图像之间的运动位移;
编码模块,编码模块用于根据确定出的运动位移,对待编码图像进行编码;
其中,从参考图像中确定出与待编码图像中的各待编码块分别匹配的目标块,包括:
采用多级搜索策略,从参考图像中搜索出与多个待编码块中的第一待编码块匹配的第一目标块,其中,每级搜索策略预设有多个预设调整参数,在搜索到第一目标块的过程中多级搜索策略中的第一级搜索策略采用的是:使用第一级搜索策略预设的多个预设调整参数中的第一预设调整参数;
采用多级搜索策略,从参考图像中搜索与多个待编码块中的第二待编码块相匹配的第二目标块,其中,第二待编码块与第一待编码块相邻,并且
在为第二待编码块从参考图像中搜索相匹配的第二目标块的过程中,第一级搜索策略采用第一预设调整参数。
即在本申请的实施例中,这里的获取模块,搜索模块,计算模块和编码模块可以是编码器200b中的功能模块。例如,搜索模块可以是RME模块210b、FME模块220b和RDO模块230b。
本申请的第三方面提供了一种电子设备,包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及处理器,是电子设备的处理器之一,用于执行实现前述第一方面提供的图像编码方法。
本申请的第四方面提供了一种可读介质,可读介质上存储有指令,指令在电子设备上执行时使电子设备执行实现前述第一方面提供的图像编码方法。
附图说明
图1所示为本申请实施例提供的一种运动估计场景示意图;
图2a所示为本申请实施例提供的一种编码器200a的模块结构示意图;
图2b所示为本申请实施例提供的在参考帧中搜索当前帧中的图像块对应的匹配块的搜索过程示意图;
图3a所示为本申请实施例提供的一种编码器200b的基础结构示意图;
图3b和图3c所示为本申请实施例提供的在参考帧中搜索当前帧中的图像块对应的匹配块的搜索过程示意图;
图3d所示为本申请实施例提供的另一种编码器200b的基础结构示意图;
图4所示为本申请实施例提供的在参考帧中搜索当前帧中的图像块对应的匹配块的搜索过程示意图;
图5所示为本申请实施例提供的一种图像编码方法的实施流程示意图;
图6所示为本申请实施例提供的一种图像编码方法所适用的电子设备的结构示意框图;
图7所示为本申请实施例提供的一种视频编码系统的结构示意框图;
图8所示为本申请实施例提供的一种片上系统的结构示意框图。
具体实施方式
为了清楚的理解本申请实施例所提供的技术方案,下面先对本申请实施例所提供的视频编码方案涉及的相关技术术语进行解释。
(1)图像块:是对某一帧图像划分得到的包含一定数量像素点的像素点集合。其中,划分得到的每个图像块可以包括16×16个像素点,也可以包括32×32个等数量的像素点。
(2)代价函数:在参考帧中搜索匹配块的过程中,用于计算从参考帧中筛选出来的各个参考块来预测当前帧中相应图像块的像素数据所消耗的数据量(即代价值)大小的一种函数。其中,当前帧中相应图像块例如是当前待编码的图像块,可以简称当前块。
(3)代价值:代价函数计算得到的函数值,也是用于表示引用所选参考块预测出当前块的像素数据所消耗的数据压缩代价量(例如比特数)。
(4)调整参数λ:每一级搜索结构都设置有对应的调整参数λ,这里的调整参数λ也可以称为拉格朗日系数,每一级搜索结构的调整参数λ相互独立,也就是,每一级搜索结构的调整参数λ的数值可以不同。调整参数λ的数值的大小能够影响每一级搜索结构获取的图像块对应的匹配块,例如:以两级搜索结构的搜索方式为例,对于第一级搜索结构来说,调整参数λ的数值可以用于在参考帧的特定区域中确定一个用于第二级搜索结构进行搜索的匹配块,也就是,将参考帧的特定区域中确定的一个匹配块作为第二级搜索结构的起始位置。对于第二级搜索结构来说,调整参数λ的数值可以用于在第一级搜索结构确定的起始位置的周围区域内,进一步执行搜索,直至得到图像块对应的匹配块。
下面结合图2a和图2b对本申请实施例提供的在参考帧中确定图像块对应的匹配块的分级搜索方式进行介绍。
图2a根据本申请实施例示出了一种具有两级搜索结构的编码器的结构示意图。
如图2a所示,编码器200a包括粗略运动估计(RME)模块210a、精细运动估计(FME)模块220a以及(码)率失真优化模块(Rate-Distortion Optimization,RDO)230a,其中RDO模块230a即为上述裁决模块。
其中,RME模块210a用于根据输入的当前帧中待编码的当前块(例如,如10*10大小的图像块),从参考帧中的特定区域(搜索区域)先确定出一个匹配块,也就是FME模块220a进一步进行搜索的起始位置,提供给FME模块220a。RME模块210a中可以设置有一个调整参数λrme,例如:λrme1。这里的调整参数λrme1可以用于RME模块210a根据λrme的数值的在参考帧的特定区域内确定一个匹配块,作为FME模块220a的起始位置。可以理解,这里的RME模块210a可以是第一级搜索结构。
FME模块220a可以基于RME模块210a所确定的搜索匹配块的起始位置,从参考帧中搜索得到当前块的匹配块。这里的FME模块220a也设置有一个调整参数λfme,例如:λfme1。这里的调整参数λfme可以用于FME模块220a根据λfme的数值的大小进一步在RME模块210a发送的搜索匹配块的起始位置的周围区域,搜索得到图像块对应的匹配块。FME模块220a将搜索得到的匹配块输入RDO模块230a进行裁决。可以理解,这里的FME模块220a可以是第二级搜索结构。
RDO模块230a,用于对FME模块220a确定的匹配块进行代价评估,即验证搜索得到的匹配块是否为待编码的当前块对应的最优的匹配块。这里的RDO模块230a设置有裁决函数(也可以称为代价函数),用于对搜索得到的匹配块进行最优裁决,也就是将匹配块输入使用了裁决参数λrdo的裁决函数中,获取裁决函数对应的代价值,并与RDO模块230a划分的其他匹配块进行裁决,这里的其他匹配块可以是将输入的匹配块进一步划分为更小尺寸的匹配块,确定代价值最小的匹配块作为最优结果,计算出将代价值最小的匹配块与。当前块之间的运动矢量。
例如,继续参考图2a,编码器200a在参考帧中依次搜索当前帧中包括的相邻的图像块201和图像块202对应的匹配块,对于图像块201,在编码器200a中的RME模块210a使用了预设的调整参数λrme,同样地,FME模块220a也使用了预设的调整参数λfme在参考帧中搜索并确定了图像块201对应的匹配块后,通过RDO模块230a确定了最优的匹配块203。对于图像块202来说,编码器200a中的RME模块210a和FME模块220a会继续随机使用预设的调整参数λrme和调整参数λfme继续在参考帧中搜索并确定图像块202对应的匹配块204。也就是说,编码器200a的第一级搜索结构对图像块201和图像块202进行匹配块的搜索时,编码器200a中的RME模块210a在每一次搜索图像块时,都只会使用相同的调整参数。由于当前帧中不同的图像块之间会存在差异,如果在搜索整个当前帧中所有的图像块的过程中,都只使用相同的调整参数,则会降低编码器200a的搜索效率和精度。
下面参考图2b对目前进行帧间预测编码时估计运动矢量所采用的分级搜索方式在参考帧中确定匹配块的实现过程进行介绍。
可以理解,除了使用图2a中描述的两级搜索结构进行两级搜索的方式,从参考帧中搜索匹配块的过程还可以分为两级、三级或者更多级搜索,并且多级搜索中第一级搜索的步长最大,第二级搜索的步长可以是第一级搜索的步长的1/2,第三级搜索的步长可以是第二级搜索的步长的1/2,以此类推,逐级提高搜索精度。
图2b根据本申请实施例示出了一种采用分级搜索方式在参考帧中搜索当前帧中待编码的第一图像块的搜索过程示意图。
假设图2b所示的棋盘格式的图像表示参考帧,该棋盘上的每个格子代表对参考帧划分得到的各图像块。基于此,目前电子设备采用分级搜索方式在参考帧中搜索匹配块的过程例如可以包括如下过程:
第一级搜索:电子设备采用分级搜索方式在参考帧中进行第一级搜索时,例如:通过图2a中的编码器200a的RME模块210a进行搜索,RME模块210a使用调整参数λrme进行搜索,例如:RME模块210a可以基于预设的起始块、以及预设搜索步长为4开始搜索,即从起始块开始、间隔4个图像块搜索得到该起始块周围的多个参考图像块(简称参考块)并对该参考块使用调整参数计算代价函数的值(即代价值),进而将使第一级搜索所采用的代价函数的值最小的参考块作为第一级搜索的搜索结果,即第一级匹配块。
作为示例,如图2b所示,第一级搜索的起始块例如可以是图2b所示的R1,因此第一级搜索可以从R1开始,每间隔4个图像块在R1周围搜索得到R2至R9这8个参考块。进而,在第一级搜索中根据预设的第一类代价函数分别计算R2至R9这8个参考块的代价值,进而确定其中代价值最小的参考块作为第一级搜索结构确定的第一级匹配块。作为示例,第一级搜索得到的第一级匹配块例如可以是图2b所示的R4,同理,第一级搜索可以继续以R4为作为起始块、步长为2进行搜索,可以搜索到R4周围的F1至F8这8个参考块。进而,根据第一级搜索中根据预设的第一类代价函数分别计算F1至F8这8个参考块的代价值,进而确定其中代价值最小的参考块,用于确定第二级搜索的起始位置。作为示例,第二级搜索的起始位置可以是图2b所示的F4。
第二级搜索:例如:通过图2a中的编码器200a的FME模块220a进行搜索,FME模块220a使用调整参数λfme,继续参考图2b所示,例如:第二级搜索的范围可以是图2b所示的F4为中心的区域,搜索步长为1,则第二级搜索的参考块即为图2b所示的S1至S8,通过FME模块220a使用调整参数λfme代价函数分别对S1至S8这8个参考块计算代价值,并得到图2b所示的S5这个匹配块。
可以理解,如果电子设备所采用的分级搜索方式是两级搜索,则第二级搜索得到的S5可作为待编码第一图像块的匹配块,用于编码器200a的RDO模块230a进行裁决进一步确定最佳匹配块,用于估计第一图像块与参考帧之间的运动矢量并对第一图像块进行运动补偿,进而将估计得到的该运动矢量信息、以及第一图像块与该最佳匹配块之间的残差值编入码流,完成帧间预测编码过程中对当前帧第一图像块的编码过程。
可以理解,在确定了第一图像块对应的最佳匹配块,继续在参考帧中搜索与第一图像块相邻的第二图像块对应的最佳匹配块,这时,若编码器200a中的各搜索结构是使用预设的调整参数,也就是,对于第二图像块,编码器200a的RME模块210a继续使用调整参数λrme。可以看出,编码器200a搜索到第一图像块对应的最佳匹配块的过程不会对搜索第二图像块对应的最佳匹配块的过程造成影响,也就是,第一级搜索结构不会对调整参数λrme进行调整,而是只会使用预设的调整参数的代价函数。如前所述,目前进行帧间预测编码时估计运动矢量所采用的这种分级搜索方式无法适应性地调整各级搜索所采用的代价函数的调整参数,导致搜索当前帧中的相邻的图像块对应匹配块的过程之间缺少关联性,也就是,没有考虑到相邻的图像块对应匹配块在参考帧中的位置具有关联性,即,当前帧中的相邻的图像块与参考帧之间的运动矢量是相似的,因此,会导致相邻的图像块与参考帧之间的运动矢量误差较大,最终导致计算得到的当前帧与参考帧与之间的残差值仍很大,帧间预测编码效率也较低的技术问题。
为了解决在参考帧中搜索当前帧中相邻的图像块(即第一图像块和第二图像块)对应的匹配块,确定的相邻的图像块与参考帧之间的运动矢量之间会产生较大的误差的问题,本申请实施例提出了一种图像编码方法。在搜索当前帧中图像块对应的参考帧中的匹配块的过程中,由于当前帧中两个相邻的图像块与参考帧中对应的匹配块之间的运动变化的差异较小,即,当前帧中的相邻的图像块与参考帧之间的运动矢量是相似的,可以使用搜索到第一图像块的匹配块时使用的调整参数,来调整搜索第二图像块的匹配块的搜索过程,也就是,将第一图像块的匹配块的搜索结果作为第二图像块的匹配块的搜索过程的参照。
具体地,以使用图3a所示的编码器200b搜索当前帧中相邻的第一图像块和第二图像块对应的匹配块为例,首先,编码器200b中的RME模块210b,FME模块220b分别预先设置有至少一组M个调整参数λrme,N个调整参数λfme,并且调整参数λrme以及调整参数λfme对应的数量可以是相同的。例如,调整参数λrme以及调整参数λfme各自的数量都是10,即,调整参数λrme包括λrme1至λrme10也就是索引值1至10,并且,调整参数λrme以及调整参数λfme的索引值可以是一一对应的,也就是,例如,λrme1与λfme1对应,λrme2与λfme2对应,直至λrme10与λfme10对应,即,M=N。
可以理解,若第一图像块为当前帧中排列于第一位置的图像块,即,当前帧中的第一个图像块,则在参考帧中搜索第一图像块对应的匹配块时,编码器200b中的RME模块210b可以使用预设的或者随机的调整参数λrme,例如,随机选择调整参数λrme2
例如,对于当前帧中相邻的第一图像块和第二图像块,编码器200b的RME模块210b使用了调整参数λrme2进行搜索,通过FME模块220b确定了10个第一匹配块并发送给RDO模块230b后,RDO模块230b可以将第一图像块的10个第一匹配块输入使用了预先设置的裁决参数λrdo的裁决函数中,进一步筛选出代价值最小的第一匹配块对应的λfme的索引值,如λfme3,也就是索引值3,也可以称为第一图像块的搜索结果。在完成了对第一图像块的匹配块的搜索,开始对第二图像块的匹配块进行搜索时,RDO模块230b可以将筛选出的索引值(FME模块220b使用的λfme的索引值),如:索引值3发送给RME模块210b,RME模块210b可以使用与上述索引值对应的调整参数λrme3进行搜索,确定FME模块220b搜索第二图像块的匹配块的起始位置。
可以理解,对于第二图像块的多个第二匹配块,RDO模块230b可以重复上述步骤,从第二匹配块中确定代价值最小的第二匹配块,并确定与第二图像块相邻的第三图像块的搜索过程中的调整参数的索引值,并在开始对第三图像块的匹配块进行搜索之前,发送给RME模块210b。
本申请实施例的方法,对图像块对应的匹配块进行分级搜索的搜索结构(即搜索过程)分别设置了数量相同且索引值一致的调整参数,在对第一图像块(例如当前块)进行匹配块搜索后确定了代价值最小的匹配块,获取了该匹配块对应的目标调整参数,使得第二图像块的搜索过程可以直接使用与目标调整参数的索引值对应的调整参数,也就是,实现了前一个图像块的搜索结果可以用于调整后一个图像块的搜索过程,有利于提高图像帧的编码效率。
在本申请实施例中,以两级搜索结构为例,其中的第一级搜索结构和第二级搜索结构中分别预设多个代价函数的调整参数,每一级搜索结构包括的代价函数可以是一个或者多个,参考图3b所示,其中,各代价函数上预设有用于调整失真消耗的数据压缩代价量(即下述公式(1)示意代价函数“J=D+λR”中的D)与运动矢量消耗的数据压缩代价量之间比重的调整参数λ。该调整参数的大小能够影响各代价函数对从参考帧中搜索得到的各参考块计算的代价值的大小,例如对于有些图像所拍摄的物体运动速度较大时,可以调整代价函数使用的调整参数的数值,如此可以使搜索匹配块的过程中优先选择运动较大的匹配块。
作为示例,参考图3b所示,例如可以对第一级搜索结构预设的代价函数中的调整参数λrme与第二级搜索结构预设的各代价函数中的调整参数λfme预设一一对应的对应关系,例如第一级搜索结构预设的函数①中的λrme1至λrme4,函数②中的λrme5至λrme6、函数③中的λrme7至λrme10,与第二级搜索结构中的函数1中的λfme1至λfme4,函数2中的λfme5至λfme6、函数3中的λfme7至λfme10一一对应。
如此,进一步参考图3c所示,该方法在对当前帧中待编码的当前块搜索最佳匹配块进行帧间预测编码时,例如对当前块可以在参考块中搜索到当前块的最佳匹配块201,在对当前块搜索最佳匹配块201的过程中第一级搜索结构(RME模块)所采用的代价函数例如是调整参数为λrme1的函数①,该最佳匹配块201所对应的在第二级搜索结构(FME模块)中采用的代价函数例如是图3b所示的调整参数为λfme2的“函数1”。可以理解,如果在对当前帧中的下一个图像块搜索最佳匹配块时,不对第一级搜索结构和第二级搜索结构的代价函数的调整参数进行调整,则可能搜索到的就是图3c所示的下一个图像的最佳匹配块202,而该最佳匹配块202可能并不是对下一个图像块进行帧间预测编码时能使编码代价值最小的匹配块。
如果通过本申请方案进行调整,则可以基于已经搜索到的当前块的最佳匹配块201在第一级搜索结构中采用的调整参数为λrme1的函数①,在第二级搜索结构中采用的调整参数为λfme2的“函数1,在对下一个图像块搜索最佳匹配块时,第一级搜索结构也可以采用的调整参数为λrme2的函数①,也就是,与λfme2对应的调整参数为λrme2的函数①,即,采用与获得当前块的最佳匹配块201对应的调整参数来设置下一个图像块搜索时使用的调整参数。
也就是说,本申请实施例所提供的帧间预测编码方法,可以根据对第一图像块(参考图3c所示的当前块)确定出的最佳匹配块的代价函数的调整参数,从下一个相邻的图像块第一级搜索结构预设的多个代价函数的调整参数中进一步选择出与已经确定的最佳匹配块的调整参数对应的调整参数,以使对待编码的下一个相邻的图像块(参考图3c所示的下一个图像块)进行搜索时,基于上一个最佳匹配块的调整参数进行搜索,即,便于在下一次搜索匹配块时达到自适应优化。
可以理解,图3a所示第一级搜索结构与第二级搜索结构(RME模块210b和FME模块220b)中可以均预设一个代价函数和多个调整参数,如果第一级搜索结构与第二级搜索结构中还包括其他搜索结构,也可以在上述搜索结构中均预设多个可选的代价函数和多个调整参数。电子设备将根据确定的最佳匹配块对应的调整参数的索引值,选择与索引值对应的当前帧中待编码的下一个图像块的调整参数。在此不做限制。
可以理解,第一级搜索结构和第二级搜索结构在对当前帧中待编码的各个图像块搜索匹配块所采用的代价函数可以相同也可以不同。
基于上述方案,可以根据第一图像块对应的最佳匹配块的搜索结果调整与第一图像块相邻的第二图像块的搜索过程所采用的代价函数的调整参数,在对待编码的当前帧中各个图像块进行编码的过程中,搜索各个图像块对应的匹配块时所采用的代价函数的调整参数能够得以不断优化和动态调整,进而使搜索准确度得以提高。
可以理解,如果在帧间预测编码过程中,可以采用如图3a所示的两级搜索结构。在一些实施例中,也可以采用多级搜索结构,如:三级搜索结构,以此类推,在此不做赘述。
可以理解,返回参考图上述2b所示,本申请实施例所提供的帧间预测编码方法可以动态调整第一级搜索结构所采用的代价函数的调整参数,以优化下一轮搜索过程中第一级搜索结构得到的匹配结果的准确度。例如优化后,第一级搜索结构最匹配的块可能从R4变为代价值更小的R6,如此匹配的准确度便得以提高。相应地,第二级搜索可以以R6为起始块进行搜索,即第一级搜索结构的准确度提高也会促进第二级搜索结构的准确度提高。
可以理解,本申请实施例所适用的电子设备,包括但不限于桌面型、膝上型、手持式等计算机、手机、平板电脑、数码相机、无人机以及增强现实(augmentedreality,AR)\虚拟现实(virtual reality,VR)设备、智能电视、智能手表等电子设备所配置的视频编码系统中应用的编码器或编码装置中,在此不做限制。
可以理解,上文所描述的第一级搜索结构,在本申请实施例中也可以称之为粗略运动估计(Rough Motion Estimation,RME),即图2b中搜索R2至R9的过程。相应地编码器或编码装置中执行第一级搜索结构的模块可以描述为RME模块。其中,RME的目的是在目标搜索区域内,以节省计算量或者节省带宽为目的进行的粗略搜索。RME可以确定运动估计的大致方向,以决定下一级搜索结构的起始块。
上文所描述的第二级搜索结构,在本申请实施例中也可以称为精细运动估计(Fine Motion Estimation,FME),即图2b中搜索S1至S8的过程。相应地编码器或编码装置中执行第二级搜索结构或第三级搜索结构等的模块可以描述为FME模块。其中,FME的目的是以上一级搜索结构(即RME)的搜索结果作为起始块,缩小步长继续进行的新一轮搜索,以确定当前块对应的多个匹配块的过程。
以编码器进行帧间预测编码时所采用的分级搜索方式包括两级搜索结构为例,结合相应附图介绍本申请实施例所提供的图像编码方法的具体实现过程。
下面继续参考图2a所示的具有两级搜索结构的编码器。
在本申请实施例中,编码器200a的RME模块210a、FME模块220a以及RDO模块230a中可以分别预设不同精度级别的代价函数作为确定粗略匹配块(FME模块220a的起始位置)、精确匹配块以及最佳匹配块等的代价函数。该代价函数的基本形式可以参考公式(1),即:
J=D+λR (1)
其中,J代表得到的代价值,D代表当前块和相应参考块之间的失真(Distortion),R代表编码对应的当前块与参考块之间的运动矢量(MV)以及编码模式所要消耗的比特位数(Bits),λ为预设的调整参数。
可以理解,J所表示的代价值的本质,是指引用参考块预测出将要进行编码的当前块所消耗的数据压缩以及所引入的数据失真的联合代价量。
上述公式(1)中的D的本质是指当前块与参考块之间的相似度。因此,计算代价值J的目的可以理解为,在参考帧中找到与当前帧的当前块相似度高、并且预测当前块所消耗的比特数也较少的匹配块。
上述公式(1)中的R对应的编码模式可以是编码协议中预设的多种编码模式之一,例如可以是帧内编码、帧间编码等模式,其中编码模式的调整是编码器内部基于编码协议的间接调整结果,在此不做赘述。
参考上述代价公式(1),编码器200a中RME模块210a、FME模块220a以及RDO模块230a中预设的代价函数,可以分别为:
Jrme=DrmermeRrme (2)
Jfme=DfmefmeRfme (3)
Jrdo=DrdordoRrdo (4)
其中,各个代价函数的计算精度可以取决于计算相应公式中的D所使用的估计算法的精度以及R所使用的比特估计算法的精度。例如RME模块210a中计算Drme可以采用精度较低的差的绝对值的和(Sum of Absolute Differences,SAD)等,即平均绝对偏差;Rrme采用简单的二值化比特估计算法计算得到。FME模块220a中计算Dfme也可以采用SAD,或者可以采用精度较高一些的差值的平方和(Sum of Squared Differences,SSD),或者平均平方误差(Mean Squared Error,MSE)等算法;Rfme也可以采用与Rrme同样的简单二值化比特估计算法计算得到。
但是,在RDO模块230a中,计算Drdo和Rrdo则需要采用精度更高的估计算法,例如,RDO模块230a可以对FME模块220a输出的多个精细匹配块经过变换、量化、反量化以及反变换等一系列编码预处理操作后,再通过SSE或MSE算法计算Drdo;计算Rrdo则可以采用例如熵编码等复杂的比特估计算法,在此不做限制。
也就是说,在采用分级搜索方式的编码器200a中,执行第一级搜索结构或者第二级搜索结构时,所采用的用于计算D或R的估计算法的精度可以相同、也可以逐级提高;而对第二级搜索结构得到的基于使用了调整参数的代价函数确定的匹配块执行裁决功能以确定最优匹配块的裁决模块,一般需要采用计算精度较高或者准确度更高的估计算法,来计算裁决模块所采用的代价函数中的D和R的值,即便该裁决模块所采用的估计算法的计算复杂度更高,也需要确保裁决模块的裁决结果的准确性。如此,裁决模块的裁决结果才能够有利于促进第一级搜索结构在下一次搜索匹配块时达到自适应优化。
在上述图2a所示的编码器200b结构的基础上,图3a根据本申请实施例示出了另一种编码器200b的结构示意图。可以理解,该编码器200b上应用了本申请实施例所提供的图像编码方法。
与图2a所示的编码器200a相比,图3a所示的编码器200b结构的不同之处在于,编码器200b的RME模块210b、FME模块220b中分别预设有多个调整参数,也可以有多个代价函数。
RME模块210b中预设的M个调整参数λrme1至λrmeM以及M个代价函数以及相应的索引值,可以参考下表1所示:
M个代价函数 索引值
Jrme1=Drme1rme1Rrme1 *
Jrme2=Drme2rme2Rrme2 *
…… ……
JrmeM=DrmeMrmeMRrmeM *
表1
其中,表1所示的各个代价函数可以按照调整参数λrme1…λrme2至λrmeM由小到大或者由大到小的顺序进行排序,相应地索引值a1 *至aM *可以表示各调整参数的序列位置,可以理解,在调整参数的数量与代价函数的数量相同的情况下,索引值也可以表示调整参数的序列位置。可以理解,上述表1中的Drme1至DrmeM之间可以是相同或者不同的,同理,Rrme1至RrmeM之间也可以是相同或者不同的。
参考上述FME模块220a中的代价函数公式(3),FME模块220b中预设的N个λfme1至λfmeN以及N个代价函数以及调整参数的索引值,可以参考下表2所示:
N个代价函数 索引值
Jfme1=Dfme1fme1Rfme1 b1 *
Jfme2=Dfme2fme2Rfme2 b2 *
…… ……
JfmeN=DfmeNfmeNRfmeN bN *
表2
其中,表2所示的各个代价函数也可以按照调整参数λfme1…λfme2至λfmeN由小到大或者由大到小的顺序进行排序,相应地索引值b1 *至bN *可以表示各调整参数的序列位置。可以理解,上述表2中的Dfme1至DfmeN之间可以是相同或者不同的,Rfme1至RfmeN之间也可以是相同或者不同的。
为了便于描述各级搜索结构中所采用的代价函数的区别,也可以将RME模块210b中预设的多个代价函数描述为第一类代价函数;将FME模块220b中预设的多个代价函数描述为第二类代价函数;将RDO模块230b中预设的用于裁决最佳匹配块的裁决函数描述为第三类代价函数。
其中,在FME模块220b向RDO模块230b发送搜索到的多个匹配块时,还可以将多个匹配块对应的第二类代价函数的调整参数的索引值传递给RDO模块230b,RDO模块230b可以确定最佳匹配块对应的第二类代价函数的调整参数的索引值,进一步确定第二类代价函数的调整参数与第一类代价函数的调整参数之间的对应关系。即可以在RDO模块230b中,建立上述表1中的索引值a1 *至aM *、与表2中的索引值b1 *至bN *之间的对应关系。例如M=N时,表1中的索引值与表2中的索引值可以一一对应。例如M<N时,表1中的索引值与表2中的索引值可以包括部分一对多、以及部分一对一的对应关系,比如a1 *可以对应于b1 *和b2 *、a2 *可以对应于b3 *等。在此不做限制。这时,参考图3d,RDO模块230b可以将最佳匹配块对应的第二类代价函数的调整参数的索引值(即,调整参数λfme的索引值)先发送给FME模块220b,FME模块220b可以根据调整参数λfme与调整参数λrme之间的对应关系,确定调整参数λrme的索引值,再发送给RME模块210b,RME模块210b可以使用与上述索引值对应的调整参数λrme进行下一个图像块的搜索。
参考上述表1和表2、以及图3a或者图3d所示的编码器200b的结构所示,在使用编码器200b对当前帧的各个图像块进行编码时,例如对第一个图像块(即当前块)进行编码时,RME模块210b中采用第一类代价函数的调整参数,例如索引值a1 *对应的调整参数,来计算搜索到的各个参考块对应的代价值,确定其中代价值最小的参考块作为粗略匹配块,参考图4所示的R4。
接着,编码器200b中的FME模块220b分别采用预设的第二类代价函数,例如索引值b1 *至bN *对应的使用N个调整参数的第二类代价函数,来搜索以RME模块210b确定的粗略匹配块为起始位置的参考块,其中通过第二类代价函数得到的的参考块均可以作为备选的精确匹配块,例如,N=3,则参考图4所示的F3、F4、F5。
继而,FME模块220b基于预设的第二类代价函数确定的多个备选的精确匹配块输入RDO模块230b中,RDO模块230b可以基于预设的第三类代价函数,计算各个备选的精确匹配块所对应的代价值,并确定其中代价值最小的精确匹配块作为最优解输出,即裁决出能够用于预测待编码的当前块以对当前块进行编码的最佳匹配块。其中,RDO模块230b所使用的第三类代价函数,例如可以参考上述代价函数公式(3)。
参考图4所示,例如RDO模块230b从备选的精确匹配块F3、F4、F5裁决出的最佳匹配块为F4,则RDO模块230b可以基于FME模块220b中确定F4作为精确匹配块的第二类代价函数的调整参数的索引值,例如b4 *,找到可以RME模块210b中与该索引值b4 *相对应的第一类代价函数的调整参数的索引值,例如a4 *。进而,RDO模块230b可以将该索引值a4 *传递给RME模块210b,使得RME模块210b选择使用缩引值a4 *对应的调整参数的第一类代价函数。如此,在对下一个图像块(即当前块的下一个连续图像块)搜索参考块时,RME模块210b可以使用更新后的索引值a4 *的调整参数的第一类代价函数对图像块进行搜索。
可以理解,RME模块210b中更新后的使用索引值a4 *对应的调整参数的第一类代价函数更加适合对当前帧图像的编码过程,即基于更新后的使用索引值a4 *对应的调整参数的第一类代价函数计算代价值所确定的粗略匹配块,准确度相对于初始采用的索引值a1 *对应的调整参数的第一类代价代价函数的准确度会有所更高。进而,后续FME模块220b的搜索结果准确度也会得以提高。另外,每一轮图像块的匹配过程中,FME模块220b均可以基于预设的第二类代价函数计算得到的多个备选的精确匹配块,由RDO模块230b从中裁决出最佳匹配块,如此也可以提高FME模块220b搜索结果的准确度。
基于上述图3a所示的编码器200b的结构,下面结合流程图来描述本申请实施例所提供的帧间预测编码方法的具体实施过程。
图5根据本申请实施例示出了一种帧间预测编码方法的实施流程示意图。可以理解,图5所示流程各步骤的执行主体,可以均为图3a所示的编码器200b,在以下各步骤的描述中将不再重复说明各步骤的执行主体。
如图5所示,该流程包括以下步骤:
501:获取需要编码的当前帧图像数据,确定待编码的当前块。
示例性地,在对需要编码的当前帧图像进行编码时,编码器200b可以获取当前帧图像数据。该图像数据例如可以是当前帧图像上的各个像素点的像素值数据等。在本申请实施例中,编码器200b可以以图像块为单位执行编码过程,其中每个图像块例如可以包括16×16个像素点,或者32×32个像素点,在此不做限制。
编码器200b可以基于所获取的当前帧图像数据,确定需要编码的当前块所包含的各个像素点的像素值数据。
502:基于参考帧的图像数据,以及预设的第一级搜索结构的起始块、第一级搜索结构的步长,以及本轮搜索过程中第一级搜索结构的所采用的代价函数,进行粗略搜索确定粗略匹配块。
示例性地,作为参考帧的图像数据例如可以是与当前帧连续的前一帧的图像数据,也可以是与当前帧连续的前一帧图像编码时所基于的参考帧图像数据等,在此不做限制。编码器200b中的RME模块210b可以根据预设的第一级搜索结构的起始块、步长进行搜索,并基于本轮搜索过程中第一级搜索结构所采用的代价函数,来计算基于已编码的参考帧中各个参考块得到待编码的当前块对应消耗的代价值。这里的RME模块210b的代价函数对应的调整参数可以是RME模块210b预先设置的N个调整参数中的一个。RME模块210b可以将其中代价值最小的参考块,作为搜索得到的粗略匹配块,输入下一级搜索结构(第二级搜索结构)的FME模块220b,作为FME模块220b的起始位置。以前一帧的图像数据作为前向参考预测当前帧图像数据的算法实现过程,例如可以参考隐马尔可夫模型中的前向算法,在此不做赘述。
可选地,在另一些实施例中,作为参考帧的图像数据例如也可以是与当前帧连续的后一帧图像数据、或者后一帧图像预测时所基于的参考帧图像数据等,在此不做限制。以前一帧的图像数据作为前向参考预测当前帧图像数据的算法实现过程,例如可以参考隐马尔可夫模型中的后向算法,在此不做赘述。
如上所述,编码器200b中的RME模块210b中可以预设多个第一类代价函数的调整参数,可以理解,这里的第一类代价函数的数量可以与调整参数的数量相同或者小于调整参数的数量,本轮搜索过程中第一级搜索结构所采用的代价函数可以是RME模块210b中预设的多个第一类代价函数中的一个。
可以理解,对于当前帧的第一个图像块进行编码时,所使用的第一级搜索结构,可以采用初始预设的第一类代价函数的调整参数;而对于当前帧的第二个图像块以及后续其他图像块,进行编码时,则可以基于上一轮图像块编码过程中所反馈的索引值更新了调整参数的第一类代价函数。具体可以参考下述步骤507中相关描述,在此不做赘述。
503:基于粗略搜索得到的粗略匹配块,以及第二级搜索结构的步长,以及预设的第二类代价函数,进行精确搜索,得到N个作为备选的精确匹配块。
示例性地,编码器200b的RME模块210b将粗略匹配块输入FME模块220b中,作为FME模块220b进行第二级搜索结构的起始位置。进而,FME模块220b可以根据预设的第二级搜索结构的步长进行第二级搜索。在第二级搜索过程中,FME模块220b可以将搜索得到的各个参考块,通过预设的使用N个调整参数的第二类代价函数计算相应的代价值。FME模块220b将第二类代价函数所计算出的参考块,确定为备选的精确参考块。因此,基于预设的使用N个调整参数的第二类代价函数,FME模块220b可以从搜索到的各个参考块中,确定N个精确匹配块。
可以理解,这里的FME模块220b的N个调整参数与步骤502中RME模块210b预先设置的N个调整参数之间的索引值可以是一一对应的。
编码器200b中FME模块220b将搜索得到的N个精确匹配块,继续输入RDO模块230b中进行裁决,即下述步骤504所执行的过程。
504:对精确搜索得到的N个精确匹配块,采用预设的第三类代价函数计算对应的代价值,并裁决出代价值最小的精确匹配块,作为当前块的最佳匹配块。
示例性地,这里的第三类代价函数也可以称为裁决函数,编码器200b中的RDO模块230b可以对FME模块220b搜索得到的N个精确匹配块,计算各个精确匹配块所对应的代价值。RDO模块230b根据计算得到的各个精确匹配块所对应的代价值进行裁决,将代价值最小的精确匹配块确定为当前块的最佳匹配块。
505:基于裁决出的最佳匹配块计算运动矢量用于对当前块进行运动补偿,并计算当前块与最佳匹配块之间的残差值,再将运动矢量和残差值编入码流,完成对当前块的编码。
示例性地,编码器200b根据RDO模块230b裁决出的最佳匹配块,计算并估计当前块在参考帧中的位置对应的图像块与该最佳匹配块之间的运动矢量,进而基于该运动矢量对待编码的当前块进行运动补偿。然后,编码器200b可以计算当前块与最佳匹配块之间的残差值,并将估计的运动矢量和计算得到的残差值编入码流,完成对当前块的编码过程。
506:根据所选定的最佳匹配块所对应的第二类代价函数的调整参数的索引值,确定第一类代价函数的使用的调整参数。
示例性地,编码器200b中的RDO模块230b可以根据裁决出的最佳匹配块,确定在FME模块220b中计算该最佳匹配块对应的代价值所采用的第二类代价函数的调整参数的索引值,进而RDO模块230b可以根据第一类代价函数的调整参数的索引值与第二类代价函数的调整参数的索引值之间的对应关系,确定相对应的第一类代价函数的调整参数的索引值,以反馈给RME模块210b。
可以理解,RDO模块230b可以直接将所确定的第一类代价函数的调整参数的索引值返给RME模块210b,也可以通过FME模块220b将所确定的第一类代价函数的调整参数的索引值反馈给RME模块210b,或者还可以在向RME模块210b反馈所确定的第一类代价函数的调整参数的索引值时通知FME模块220b等,在此不做限制。
507:调整第一类代价函数的调整参数。在本步骤507执行之后,编码器200b可以继续执行上述步骤502,以进行当前帧的下一个图像块的编码流程。
示例性地,编码器200b中的RDO模块230b将所确定的第一类代价函数的调整参数的索引值反馈给RME模块210b后,RME模块210b可以将该索引值对应的第一类代价函数的调整参数,作为下一个图像块编码过程中进行第一级搜索结构所采用的代价函数的调整参数,来计算第一级搜索结构得到的各个参考块所对应的代价值。可以理解,RME模块210b基于RDO模块230b所反馈的第一类代价函数的调整参数的索引值,更新第一级搜索过程所采用的代价函数的调整参数的过程,即实现了RME模块210b的搜索精度的一次优化,使得RME模块210b能够更加适应当前帧的图像数据特征以及相应的复杂度,在后续的每一个图像块的搜索过程中,都能进一步得到更加准确的搜索结果。
可以理解,这种准确度的优化效果,可以在后续的每一个图像块、以及每一帧图像等的编码过程中不断叠加,最终能够使得编码得到的视频在解码后各帧图像的还原度得以提高,视频失真也会变小,得以改善。
可以理解,在一些实施例中,本申请实施例所提供的帧间预测编码方法所采用的分级搜索过程,可以应用于以像素为单位的帧间预测编码。其中FME相对于RME的搜索过程,可以从以多个像素作为步长缩小至以单个整像素作为步长进行搜索的过程,也可以是从以单个整像素作为步长缩小至以1/2像素或者更小步长进行搜索的过程。
在另一些实施例中,本申请实施例所提供的帧间预测编码方法所采用的分级搜索过程,也可以应用于以图像块为单位的帧间预测编码中。其中,FME相对于RME的搜索过程,可以从以多个图像块作为步长缩小至以一个图像块作为步长进行搜索的过程,也可以是以一个图像块作为步长缩小至1/2个图像块或者更小步长进行搜索的过程。
在另一些实施例中,本申请实施例所提供的帧间预测编码方法所采用的分级搜索过程,还可以应用于在以图像为单位的帧间预测编码过程中。其中,FME相对于RME的搜索过程,可以从以多帧图像作为步长缩小至以单帧图像作为步长进行搜索的过程。或者在以图像组为单位的帧间预测编码过程中,FME相对于RME的搜索过程,可以从以多组图像作为步长缩小至以一组图像作为步长进行搜索的过程,也可以是以一组图像块作为步长缩小至以多帧或单帧图或者更小步长进行搜索的过程。在此不做限制。
图6根据本申请实施例示出了一种帧间预测编码方法所适用的计算机600的结构示意框图。
如图6所示,计算机600可以包括处理器610、无线通信模块620、移动通信模块630、电源模块640、音频模块650、接口模块660、摄像头670、存储器680、传感器模块690、按键601以及显示屏602等。
可以理解的是,本发明实施例示意的结构并不构成对计算机600的具体限定。在本申请另一些实施例中,计算机600可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器610可以包括一个或多个处理单元,例如,可以包括中央处理器CPU(Central Processing Unit)、图像处理器GPU(Graphics Processing Unit)、数字信号处理器DSP、微处理器MCU(Micro-programmed Control Unit)、AI(ArtificialIntelligence,人工智能)处理器或可编程逻辑器件FPGA(Field Programmable GateArray)等的处理模块或处理电路。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。处理器610中可以设置存储单元,例如存储器680用于存储指令和数据。在一些实施例中,处理器610中的存储单元为高速缓冲存储器。
无线通信模块620可以包括天线,并经由天线实现对电磁波的收发。无线通信模块620可以提供应用在计算机600上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(blue tooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。计算机600可以通过无线通信技术与网络以及其他设备进行通信。
移动通信模块630可以包括但不限于天线、功率放大器、滤波器、低噪声放大器(Low noise amplify,LNA)等。移动通信模块630可以提供应用在计算机600上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块630可以由天线接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块630还可以对经调制解调处理器调制后的信号放大,经天线转为电磁波辐射出去。在一些实施例中,移动通信模块630的至少部分功能模块可以被设置于处理器610中。在一些实施例中,移动通信模块630至少部分功能模块可以与处理器610的至少部分模块被设置在同一个器件中。
在一些实施例中,计算机600的移动通信模块630和无线通信模块620也可以位于同一模块中。
电源模块640可以包括电源、电源管理部件等。电源可以为电池。电源管理部件用于管理电源的充电和电源向其他模块的供电。
音频模块650用于将数字音频信息转换成预测音频信号输出,或者将预测音频输入转换为数字音频信号。音频模块650还可以用于对音频信号编码和解码。
接口模块660包括外部存储器接口、通用串行总线(universal serial bus,USB)接口及用户标识模块(subscriber identification module,SIM)卡接口等。
摄像头670用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件把光信号转换成电信号,之后将电信号传递给ISP(Image SignalProcessing,图像信号处理)转换成数字图像信号。计算机600可以通过ISP,摄像头670,视频编解码器,GPU(Graphic Processing Unit,图形处理器),显示屏602以及应用处理器等实现拍摄功能。
传感器模块690可以包括接近光传感器、压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。
显示屏602用于显示人机交互界面、图像、视频等。显示屏602包括显示面板。
在一些实施例中,计算机600还包括按键601、马达以及指示器等。其中,按键601可以包括音量键、开/关机键等。马达用于使计算机600产生振动效果,例如在用户的计算机600被呼叫的时候产生振动,以提示用户接听计算机600来电。指示器可以包括激光指示器、射频指示器、LED指示器等。
图7根据本申请实施例示出了一种视频编码系统700的结构示意框图。
如图7所示,系统700可以包括一个或多个处理器704,与处理器704中的至少一个连接的系统控制逻辑708,与系统控制逻辑708连接的系统内存712,与系统控制逻辑708连接的非易失性存储器(NVM)716,以及与系统控制逻辑708连接的网络接口720。
在一些实施例中,处理器704可以包括一个或多个单核或多核处理器。在一些实施例中,处理器704可以包括通用处理器和专用处理器(例如,图形处理器,应用处理器,基带处理器等)的任意组合。处理器704可以被配置为执行各种符合的实施例,例如,参考上述图2-5所示描述的实施例。
在一些实施例中,系统控制逻辑708可以包括任意合适的接口控制器,以向处理器704中的至少一个和/或与系统控制逻辑708通信的任意合适的设备或组件提供任意合适的接口。
在一些实施例中,系统控制逻辑708可以包括一个或多个存储器控制器,以提供连接到系统内存712的接口。系统内存712可以用于加载以及存储数据和/或指令。在一些实施例中系统700的内存712可以包括任意合适的易失性存储器,例如合适的动态随机存取存储器(DRAM)。
NVM/存储器716可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机存储介质。在一些实施例中,NVM/存储器716可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如HDD(Hard Disk Drive,硬盘驱动器),CD(Compact Disc,光盘)驱动器,DVD(Digital Versatile Disc,数字通用光盘)驱动器中的至少一个。NVM/存储器716可以包括安装系统700的装置上的一部分存储资源,或者它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口720通过网络访问NVM/存储716。
特别地,系统内存77和NVM/存储器716可以分别包括:指令724的暂时副本和永久副本。指令724可以包括:由处理器704中的至少一个执行时导致系统700实施上述图3a所示编码器结构的功能的指令。在一些实施例中,指令724、硬件、固件和/或其软件组件可另外地/替代地置于系统控制逻辑708,网络接口720和/或处理器704中。
网络接口720可以包括收发器,用于为系统700提供无线电接口,进而通过一个或多个网络与任意其他合适的设备(如前端模块,天线等)进行通信。在一些实施例中,网络接口720可以集成于系统700的其他组件。例如,网络接口720可以集成于处理器704的,系统内存712,NVM/存储器716,和具有指令的固件设备(未示出)中的至少一种,当处理器704中的至少一个执行所述指令时,系统700实现如图5所示的功能。
网络接口720可以进一步包括任意合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,网络接口720可以是网络适配器,无线网络适配器,电话调制解调器和/或无线调制解调器。
在一个实施例中,处理器704中的至少一个可以与用于系统控制逻辑708的一个或多个控制器的逻辑封装在一起,以形成系统封装(SiP)。在一个实施例中,处理器704中的至少一个可以与用于系统控制逻辑708的一个或多个控制器的逻辑集成在同一管芯上,以形成片上系统(SoC)。
系统700可以进一步包括:输入/输出(I/O)设备732。I/O设备732可以包括用户界面,使得用户能够与系统700进行交互;外围组件接口的设计使得外围组件也能够与系统700交互。在一些实施例中,系统700还包括传感器,用于确定与系统700相关的环境条件和位置信息的至少一种。
图8根据本申请实施例示出了一种SoC(System on Chip,片上系统)800的结构示意框图。在图8中,相似的部件具有同样的附图标记。另外,虚线框是更先进的SoC的可选特征。在图8中,SoC 800包括:互连单元850,其被耦合至应用处理器810;系统代理单元870;总线控制器单元880;集成存储器控制器单元840;一组或一个或多个协处理器820,其可包括集成图形逻辑、图像处理器、音频处理器和视频处理器;静态随机存取存储器(SRAM)单元830;直接存储器存取(DMA)单元860。在一个实施例中,协处理器820包括专用处理器,诸如例如网络或通信处理器、压缩引擎、GPGPU、高吞吐量MIC处理器、或嵌入式处理器等等。
本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器之类的处理器的任何系统。程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机存储介质分发。因此,机器存储介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器存储介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器存储介质。
在说明书对“一个实施例”或“实施例”的引用意指结合实施例所描述的具体特征、结构或特性被包括在根据本申请实施例公开的至少一个范例实施方案或技术中。说明书中的各个地方的短语“在一个实施例中”的出现不一定全部指代同一个实施例。
另外,在本说明书所使用的语言已经主要被选择用于可读性和指导性的目的并且可能未被选择为描绘或限制所公开的主题。因此,本申请实施例公开旨在说明而非限制本文所讨论的概念的范围。

Claims (12)

1.一种图像编码方法,其特征在于,所述方法包括:
获取待编码图像,并将所述待编码图像划分为多个待编码块;
从参考图像中确定出与所述待编码图像中的各待编码块分别匹配的目标块;
基于匹配出的所述目标块确定所述待编码块与所述参考图像之间的运动位移;
根据确定出的所述运动位移,对所述待编码图像进行编码;
其中,所述从参考图像中确定出与所述待编码图像中的各待编码块分别匹配的目标块,包括:
采用多级搜索策略,从所述参考图像中搜索出与所述多个待编码块中的第一待编码块匹配的第一目标块,其中,每级搜索策略预设有多个预设调整参数,在搜索到所述第一目标块的过程中所述多级搜索策略中的第一级搜索策略采用的是:使用所述第一级搜索策略预设的多个预设调整参数中的第一预设调整参数,
并且,在搜索到所述第一目标块的过程中所述多级搜索策略中的第二级搜索策略采用的是:使用所述第二级搜索策略预设的多个预设调整参数中的第二预设调整参数;
采用所述多级搜索策略,从所述参考图像中搜索与所述多个待编码块中的第二待编码块相匹配的第二目标块,其中,所述第二待编码块与第一待编码块相邻,并且
在为所述第二待编码块从所述参考图像中搜索相匹配的第二目标块的过程中,所述第一级搜索策略采用的是:所述第一级搜索策略预设的多个预设调整参数中的第三预设调整参数,且所述第三预设调整参数与所述第二预设调整参数对应;
其中,所述第一级搜索策略预设的多个预设调整参数,为所述第一级搜索策略对应的多个代价函数中的调整参数,用于调整失真消耗的数据压缩代价量与运动矢量消耗的数据压缩代价量之间的比重;
所述第二级搜索策略预设的多个预设调整参数,为所述第二级搜索策略对应的多个代价函数中的调整参数,用于调整失真消耗的数据压缩代价量与运动矢量消耗的数据压缩代价量之间的比重。
2.根据权利要求1所述的方法,其特征在于,所述多级搜索策略中的第二级搜索策略预设有多个预设调整参数,其中,所述第二级搜索策略预设的多个所述预设调整参数与所述第一级搜索策略预设的多个所述预设调整参数一一对应。
3.根据权利要求2所述的方法,其特征在于,所述从参考图像中确定出与所述待编码图像中的各待编码块分别匹配的目标块,还包括:
在搜索到所述第一目标块的过程中所述多级搜索策略中的第二级搜索策略采用的是:使用所述第二级搜索策略预设的多个预设调整参数,得到多个第一参考块;
从多个所述第一参考块中,确定所述第一目标块。
4.根据权利要求3所述的方法,其特征在于,所述从多个所述第一参考块中,确定所述第一目标块,包括:
通过预设裁决函数,得到多个所述第一参考块对应的结果值;
将符合预设裁决阈值的所述结果值对应的所述第一参考块确定为所述第一目标块,其中,所述第二级搜索策略搜索到所述第一目标块时所使用的所述第二预设调整参数的索引值与所述第一级搜索策略的多个预设调整参数中的所述第三预设调整参数对应。
5.根据权利要求4所述的方法,其特征在于,还包括:对应于为所述第二待编码块从所述参考图像中搜索相匹配的第二目标块的过程,将所述第二级搜索策略搜索到所述第一目标块时所使用的所述第二预设调整参数的索引值发送至所述第一级搜索策略。
6.根据权利要求2所述的方法,其特征在于,从所述参考图像中搜索与所述多个待编码块中的第二待编码块相匹配的第二目标块,包括:
使用所述第二级搜索策略预设的多个预设调整参数,得到多个第二参考块;
从多个所述第二参考块中,确定所述第二目标块,其中,所述第二级搜索策略搜索到所述第二目标块时所使用的第四预设调整参数的索引值与所述第一级搜索策略的多个预设调整参数中的第五预设调整参数对应。
7.根据权利要求6所述的方法,其特征在于,还包括:
从所述参考图像中搜索与所述多个待编码块中的第三待编码块相匹配的第三目标块,其中,所述第三待编码块与所述第二待编码块相邻,并且
在为所述第三待编码块从所述参考图像中搜索相匹配的所述第三目标块的过程中,所述第一级搜索策略采用所述第五预设调整参数。
8.根据权利要求4所述的方法,其特征在于,所述预设裁决函数为代价函数,所述结果值为所述代价函数的输出值。
9.根据权利要求8所述的方法,其特征在于,符合预设裁决阈值,包括:所述第一目标块对应的结果值为多个所述第一参考块对应的结果值中的最小值。
10.一种图像编码系统,其特征在于,所述系统包括:
获取模块,所述获取模块用于获取待编码图像,并将所述待编码图像划分为多个待编码块;
搜索模块,所述搜索模块用于从参考图像中确定出与所述待编码图像中的各待编码块分别匹配的目标块;
计算模块,所述计算模块用于基于匹配出的所述目标块确定所述待编码块与所述参考图像之间的运动位移;
编码模块,所述编码模块用于根据确定出的所述运动位移,对所述待编码图像进行编码;
其中,所述从参考图像中确定出与所述待编码图像中的各待编码块分别匹配的目标块,包括:
采用多级搜索策略,从所述参考图像中搜索出与所述多个待编码块中的第一待编码块匹配的第一目标块,其中,每级搜索策略预设有多个预设调整参数,在搜索到所述第一目标块的过程中所述多级搜索策略中的第一级搜索策略采用的是:使用所述第一级搜索策略预设的多个预设调整参数中的第一预设调整参数,
并且,在搜索到所述第一目标块的过程中所述多级搜索策略中的第二级搜索策略采用的是:使用所述第二级搜索策略预设的多个预设调整参数中的第二预设调整参数;
采用所述多级搜索策略,从所述参考图像中搜索与所述多个待编码块中的第二待编码块相匹配的第二目标块,其中,所述第二待编码块与第一待编码块相邻,并且
在为所述第二待编码块从所述参考图像中搜索相匹配的第二目标块的过程中,所述第一级搜索策略采用的是:所述第一级搜索策略预设的多个预设调整参数中的第三预设调整参数,且所述第三预设调整参数与所述第二预设调整参数对应;
其中,所述第一级搜索策略预设的多个预设调整参数,为所述第一级搜索策略对应的多个代价函数中的调整参数,用于调整失真消耗的数据压缩代价量与运动矢量消耗的数据压缩代价量之间的比重;
所述第二级搜索策略预设的多个预设调整参数,为所述第二级搜索策略对应的多个代价函数中的调整参数,用于调整失真消耗的数据压缩代价量与运动矢量消耗的数据压缩代价量之间的比重。
11.一种电子设备,其特征在于,包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及处理器,是所述电子设备的处理器之一,用于执行权利要求1至9中任一项所述的图像编码方法。
12.一种可读介质,其特征在于,所述可读介质上存储有指令,所述指令在电子设备上执行时使所述电子设备执行权利要求1至9中任一项所述的图像编码方法。
CN202210702199.7A 2022-06-21 2022-06-21 图像编码方法、电子设备以及介质 Active CN115103196B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210702199.7A CN115103196B (zh) 2022-06-21 2022-06-21 图像编码方法、电子设备以及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210702199.7A CN115103196B (zh) 2022-06-21 2022-06-21 图像编码方法、电子设备以及介质

Publications (2)

Publication Number Publication Date
CN115103196A CN115103196A (zh) 2022-09-23
CN115103196B true CN115103196B (zh) 2024-12-17

Family

ID=83292604

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210702199.7A Active CN115103196B (zh) 2022-06-21 2022-06-21 图像编码方法、电子设备以及介质

Country Status (1)

Country Link
CN (1) CN115103196B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024216414A1 (zh) * 2023-04-16 2024-10-24 Oppo广东移动通信有限公司 编码方法及装置、设备、码流、存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1440200A (zh) * 2003-03-03 2003-09-03 清华大学 非均匀多层次六边形格点整象素运动搜索方法
CN111886867A (zh) * 2018-01-09 2020-11-03 夏普株式会社 运动矢量推导装置、运动图像解码装置以及运动图像编码装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6418166B1 (en) * 1998-11-30 2002-07-09 Microsoft Corporation Motion estimation and block matching pattern
US7471724B2 (en) * 2003-06-23 2008-12-30 Vichip Corp. Limited Method and apparatus for adaptive multiple-dimensional signal sequences encoding/decoding
US9386317B2 (en) * 2014-09-22 2016-07-05 Sony Interactive Entertainment Inc. Adaptive picture section encoding mode decision control
US20160219297A1 (en) * 2015-01-23 2016-07-28 Samsung Electronics Co., Ltd. Method and system for block matching based motion estimation
US10666946B2 (en) * 2016-07-01 2020-05-26 Intel Corporation Method and system of video coding using display modification input
CN111918068B (zh) * 2020-08-05 2022-03-08 电子科技大学 基于视频序列特征和QP-λ修正的时域率失真优化方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1440200A (zh) * 2003-03-03 2003-09-03 清华大学 非均匀多层次六边形格点整象素运动搜索方法
CN111886867A (zh) * 2018-01-09 2020-11-03 夏普株式会社 运动矢量推导装置、运动图像解码装置以及运动图像编码装置

Also Published As

Publication number Publication date
CN115103196A (zh) 2022-09-23

Similar Documents

Publication Publication Date Title
KR102618558B1 (ko) 조건부 오토인코더를 이용한 가변-레이트 압축을 위한 장치 및 방법
US10404981B2 (en) Method and apparatus for encoding a block using a partitioned block and weighted prediction values
US8705611B2 (en) Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, and image prediction decoding program
CN109218733B (zh) 一种确定预测运动矢量预测的方法以及相关设备
US10820012B2 (en) Method, apparatus, and computer program product for providing motion estimator for video encoding
CN117812270A (zh) 编码器、解码器及对应方法
US12184893B2 (en) Learned B-frame coding using P-frame coding system
US11323700B2 (en) Encoding video using two-stage intra search
EP1642464B1 (en) Method of encoding for handheld apparatuses
CN115103196B (zh) 图像编码方法、电子设备以及介质
CN111212290A (zh) 片上系统及其帧率转换方法
US7956898B2 (en) Digital image stabilization method
CN109565601B (zh) 一种基于模板匹配的预测方法及装置
CN110662033B (zh) 一种解码、编码方法及其设备
CN100584010C (zh) 功率最佳化的共位运动估测方法
CN114401405A (zh) 一种视频编码方法、介质及电子设备
CN115118981B (zh) 图像编码方法以及电子设备、存储介质
Arnaudov et al. A CAM enabled fast video motion estimation based on locality sensitive signatures
WO2018120290A1 (zh) 一种基于模板匹配的预测方法及装置
US20240305785A1 (en) Efficient warping-based neural video codec
WO2024217301A1 (zh) 点云编码处理方法、点云解码处理方法及相关设备
WO2023131045A1 (zh) 帧间预测方法、设备及可读存储介质
TW202446075A (zh) 高效的基於扭曲的神經視頻編解碼器
CN110691247A (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