CN109756739A - 图像预测方法和装置 - Google Patents

图像预测方法和装置 Download PDF

Info

Publication number
CN109756739A
CN109756739A CN201711086572.6A CN201711086572A CN109756739A CN 109756739 A CN109756739 A CN 109756739A CN 201711086572 A CN201711086572 A CN 201711086572A CN 109756739 A CN109756739 A CN 109756739A
Authority
CN
China
Prior art keywords
block
prediction
reference picture
prediction block
pixel value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711086572.6A
Other languages
English (en)
Other versions
CN109756739B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201711086572.6A priority Critical patent/CN109756739B/zh
Priority to PCT/CN2018/112450 priority patent/WO2019091302A1/en
Publication of CN109756739A publication Critical patent/CN109756739A/zh
Priority to US16/815,914 priority patent/US11109060B2/en
Application granted granted Critical
Publication of CN109756739B publication Critical patent/CN109756739B/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/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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本申请提供了一种图像预测方法和装置。该方法包括:获取图像块的预测运动信息;根据所述预测运动信息和所述图像块的参考图像确定所述图像块的初始预测块;根据所述预测运动信息在所述参考图像中以整像素步长进行L次迭代搜索,得到所述图像块的中间预测块,其中,L为预设值,L为大于1的整数;在所述参考图像中以分像素步长进行单次搜索,得到所述图像块的M个预测块,其中,M为预设值,M为大于1的整数;根据所述M个预测块和所述中间预测块,确定所述图像块的目标预测块。根据所述目标预测块的像素值,得到所述图像块的像素值的预测值。本申请能够减少图像预测时的数据读取量。

Description

图像预测方法和装置
技术领域
本申请涉及视频编解码技术领域,并且更具体地,涉及一种图像预测方法和装置。
背景技术
在对视频图像进行编解码处理时,为了减少传输数据的冗余,需要对待处理图像的像素块的像素值进行预测。在对图像进行预测时,可以先从待处理图像的参考图像中确定一个初始预测块,然后在该初始预测块的周围进行多次搜索,将搜索到的至少一个预测块与初始预测块进行对比,以找到最优预测块。
传统的方案在预测块周围进行搜索时,先是以整像素步长来搜索预测块,然后再以分像素步长来搜索预测块,由于每次搜索时既要进行整像素步长的搜索,又要进行分像素步长的搜索,这就使得每次搜索时都会产生较大的数据量,增加了图像预测时的数据读取量,从而导致图像预测的复杂度增加。
发明内容
本申请提供一种图像预测方法和装置,以降低图像预测时的数据读取量。
第一方面,提供了一种图像预测方法,该方法包括:获取图像块的预测运动信息;根据所述预测运动信息和所述图像块的参考图像确定所述图像块的初始预测块;根据所述预测运动信息在所述参考图像中以整像素步长进行L次迭代搜索,得到所述图像块的中间预测块,其中,L为预设值,L为大于1的整数;在所述参考图像中以分像素步长进行单次搜索,得到所述图像块的M个预测块,其中,M为预设值,M为大于1的整数;根据所述M个预测块和所述中间预测块,确定所述图像块的目标预测块;根据所述目标预测块的像素值,得到所述图像块的像素值的预测值。
本申请中,在以整像素步长进行多次迭代搜索之后,再基于整像素步长迭代搜索的结果以分像素步长进行搜索,并基于分像素步长搜索得到的预测块来确定目标预测块,与交替以整像素步长和分像素步长进行搜索的方式相比,能够减少搜索过程中数据的读取量,减少图像预测的复杂度。
结合第一方面,在第一方面的某些实现方式中,所述根据所述预测运动信息和所述图像块的参考图像确定所述图像块的初始预测块,包括:根据所述预测运动信息通过插值滤波器在所述参考图像中获得所述图像块对应的第一预测块和第二预测块,其中,所述插值滤波器的增益大于1;根据所述第一预测块和所述第二预测块,得到所述初始预测块,其中,所述第一预测块、所述第二预测块以及所述初始预测块的像素值的位宽均相同。
通过采用插值滤波器,能够获取像素值具有较高位宽的第一预测块和第二预测块,这样就可以根据像素值具有较高位宽的第一预测块和第二预测块来更准确地确定初始预测块。
结合第一方面,在第一方面的某些实现方式中,所述中间预测块和所述目标预测块的像素值均与所述初始预测块的像素值的位宽相同。
由于初始预测块的像素值具有较高的位宽,而中间预测块和目标预测块的像素值的位宽与初始预测块的像素值的位宽相同,也就是说,中间预测块、初始预测块以及目标预测块均采用较高的位宽来表示像素值,这样,在图像预测过程中通过采用具有较高位宽的像素值,能够提高图像预测的准确性。
上述根据第一预测块和第二预测块,得到初始预测块,可以是指根据第一预测块的像素值和第二预测块的像素值,得到初始预测块的像素值。
结合第一方面,在第一方面的某些实现方式中,所述根据所述第一预测块和所述第二预测块,得到初始预测块,包括:对所述第一预测块和所述第二预测块的像素值进行加权处理,得到初始预测块的像素值。
结合第一方面,在第一方面的某些实现方式中,所述根据所述预测运动信息通过插值滤波器在参考图像中获得所述图像块对应的第一预测块和第二预测块,包括:根据所述预测运动信息通过插值滤波器在第一参考图像中获取所述图像块对应的第一预测块;根据所述预测运动信息通过插值滤波器在第二参考图像中获取所述图像块对应的第二预测块;其中,所述第一参考图像是第一参考图像列表中的参考图像,所述第二参考图像是第二参考图像列表中的参考图像,所述第一参考图像列表和所述第二参考图像列表为对所述图像块进行预测时采用的不同参考图像列表。
结合第一方面,在第一方面的某些实现方式中,所述根据所述预测运动信息和所述图像块的参考图像确定所述图像块的初始预测块,包括:根据所述预测运动信息通过插值滤波器在所述参考图像中获得所述图像块对应的第一预测块和第二预测块,其中,所述插值滤波器的增益大于1;对所述第一预测块的像素值和第二预测块的像素值进行移位操作,使得所述第一预测块和所述第二预测块的像素值的位宽减小到目标位宽,其中,所述目标位宽为所述图像块的重建像素值的位宽;根据所述第一预测块和所述第二预测块,得到所述初始预测块,其中,所述初始预测块的像素值的位宽为目标位宽。
结合第一方面,在第一方面的某些实现方式中,所述中间预测块和所述目标预测块的像素值的位宽均为目标位宽。
由于初始预测块、中间预测块以及目标预测块的像素值的位宽均为目标位宽,因此,在对图像进行预测的过程中,能够减少像素值的在不同位宽之间的来回转换,并且根据像素值位宽为目标位宽的目标预测块来确定图像块的像素值的预测值,而不再进行运动补偿获取具有高位宽的像素值的预测块之后再确定图像块的像素值的预测值,节省了运动补偿的操作,简化了图像预测的流程,降低了图像预测的复杂度。
结合第一方面,在第一方面的某些实现方式中,所述根据所述预测运动信息在所述参考图像中以整像素步长进行L次迭代搜索包括:重复执行下列步骤1至步骤3共L次,将得到的最终的初始预测块作为所述中间预测块;
步骤1、获取当前预测运动信息,其中,第一次执行步骤1时,所述当前预测运动信息为所述图像块的预测运动信息,第i次执行步骤1时,所述当前预测运动信息为所述图像块指向当前初始预测块的运动信息,其中i为小于或者等于L且大于1的整数;
步骤2、根据当前预测运动信息在所述参考图像中以整像素步长进行搜索,得到所述图像块对应的N个预测块,其中,N为预设值,N为大于1的整数;
步骤3、根据所述N个预测块和当前初始预测块,得到新的当前初始预测块。
通过多次迭代搜索,能够确定与图像块的像素值比较接近的中间预测块。
结合第一方面,在第一方面的某些实现方式中,在所述参考图像中以分像素步长进行单次搜索,得到所述图像块的M个预测块,包括:根据所述当前预测运动信息在所述参考图像中以分像素步长进行单次搜索,得到所述图像块的M个预测块。
结合第一方面,在第一方面的某些实现方式中,所述根据所述M个预测块和所述中间预测块,确定所述图像块的目标预测块,包括:将所述M个预测块中像素值与所述中间预测块的像素值差异最小的预测块确定为所述目标预测块。
通过比较M个预测块中的每个预测块与初始预测块的像素值的差异,能够得到与图像块更接近的预测块,从而提高图像预测的效果。
结合第一方面,在第一方面的某些实现方式中,所述参考图像包括第一方向参考图像和第二方向参考图像,所述在所述参考图像中以分像素步长进行单次搜索,得到所述图像块的M个预测块,包括:在所述第一方向参考图像中以分像素步长进行搜索,得到所述图像块的M个预测块;所述根据所述M个预测块和所述中间预测块,确定所述图像块的目标预测块,包括:将所述图像块对应的M个预测块中像素值与所述中间预测块的像素值差异最小的预测块确定为第一目标预测块;确定所述图像块指向所述第一目标预测块的第一运动矢量;根据所述第一运动矢量按照预设规则确定第二运动矢量;根据所述第二运动矢量在所述第二方向参考图像中确定所述图像块对应的第二目标预测块,其中,所述第一方向参考图像和所述第二方向参考图像分别为前向参考图像和后向参考图像,或者,所述第一方向参考图像和所述第二方向参考图像分别为后向参考图像和前向参考图像;根据所述第一目标预测块和所述第二目标预测块,确定所述目标预测块。
通过在一个方向的参考图像中搜索到的预测块来推导图像块在另一个方向的参考图像中的预测块,能够节省大量搜索操作,简化图像预测时的复杂度,同时,由于在确定目标预测块的同时既采用了图像块对应在前向参考图像的预测块也采用了图像块对应在后向参考图像中的预测块,可以在简化图像预测复杂度的同时,保证图像预测的准确性。
结合第一方面,在第一方面的某些实现方式中,所述参考图像包括第一参考图像和第二参考图像,所述在所述参考图像中以分像素步长进行单次搜索,得到所述图像块的M个预测块,包括:在所述第一参考图像中以分像素步长进行搜索,得到所述图像块的M个预测块;所述根据所述M个预测块和所述中间预测块,确定所述图像块的目标预测块,包括:将所述图像块对应的M个预测块中像素值与所述中间预测块的像素值差异最小的预测块确定为第一目标预测块;确定所述图像块指向所述第一目标预测块的第一运动矢量;根据所述第一运动矢量按照预设规则确定第二运动矢量;根据所述第二运动矢量在所述第二参考图像中确定所述图像块对应的第二目标预测块;根据所述第一目标预测块和所述第二目标预测块,确定所述目标预测块;其中,所述第一参考图像是第一参考图像列表中的参考图像,所述第二参考图像是第二参考图像列表中的参考图像,所述第一参考图像列表和所述第二参考图像列表为对所述图像块进行预测时采用的不同参考图像列表。
通过在第一参考图像中搜索到的预测块来推导图像块在第二参考图像中的预测块,能够节省大量搜索操作,简化图像预测时的复杂度。
上述第一参考图像和第二参考图像既可以是前向参考图像,也可以是后向参考图像。具体地,可以包含以下几种情况:第一参考图像和第二参考图像均为前向参考图像;第一参考图像和第二参考图像均为后向参考图像;第一参考图像为前向参考图像,第二参考图像为后向参考图像。
另外,上述第一参考图像可以是一个参考图像或者多个参考图像,同样,第二参考图像也可以是一个参考图像或者多个参考图像。
结合第一方面,在第一方面的某些实现方式中,在根据所述第一运动矢量按照预设规则确定第二运动矢量之前,所述方法还包括:确定所述图像块与所述第一方向参考图像的距离小于或者等于所述图像块与所述第二方向参考图像的距离。
当图像块与第一方向参考图像的距离较小时,在第一方向参考图像中进行搜索,能够减少搜索的复杂度。
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:获得所述图像块指向所述目标预测块的运动矢量;根据所述图像块指向所述目标预测块的运动矢量,得到所述图像块的运动矢量,其中,所述图像块的运动矢量用于对其它图像块进行预测。
根据指向目标预测块的运动矢量来确定图像块的运动矢量,具体可以是将目标运动块的运动矢量直接确定为图像块的运动矢量,也就是对图像块的运动矢量进行了更新,这样就使得在进行下次图像预测时可以根据该图像块对其它图像块进行有效的预测。
第二方面,提供了一种图像预测方法,该方法包括:获取图像块的预测运动信息;根据所述预测运动信息和所述图像块的参考图像确定所述图像块的初始预测块;根据所述预测运动信息在所述参考图像中以整像素步长进行单次搜索,得到所述图像块的M个预测块,其中,M为预设值,M为大于1的整数;根据所述图像块对应的M个预测块和所述初始预测块,确定所述图像块的中间预测块;将所述中间预测块确定为所述初始预测块;将所述图像块指向所述中间预测块的运动信息确定为所述预测运动信息;根据所述预测运动信息在所述参考图像中以分像素步长进行L次迭代搜索,得到所述图像块的目标预测块,其中,L为预设值,L为大于1的整数;根据所述目标预测块的像素值,得到所述图像块的像素值的预测值。
本申请中,在以整像素步长进行单次搜索之后,再基于整像素步长单次搜索的结果以分像素步长进行多次迭代搜索,并以分像素步长进行多次迭代搜索得到的预测块来确定目标预测块,与交替以整像素步长和分像素步长进行搜索的方式相比,能够减少搜索过程中数据的读取量,减少图像预测的复杂度。
第三方面,提供了一种图像预测装置,所述装置包括用于执行所述第一方面或其各种实现方式中的方法的模块。
第四方面,提供了一种图像预测装置,所述装置包括用于执行所述第二方面或其各种实现方式中的方法的模块。
第五方面,提供一种终端设备,所述终端设备包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述程序被执行时,所述处理器用于执行所述第一方面或其各种实现方式中的方法。
第六方面,提供一种视频编码器,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现所述第一方面或其各种实现方式中的方法。
第七方面,提供一种视频编码器,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现所述第二方面或其各种实现方式中的方法。
第八方面,提供一种视频解码器,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现所述第一方面或其各种实现方式中的方法。
第九方面,提供一种视频解码器,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现所述第二方面或其各种实现方式中的方法。
第十方面,提供一种视频编码系统,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现所述第一方面或其各种实现方式中的方法。
第十一方面,提供一种视频编码系统,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现所述第二方面或其各种实现方式中的方法。
第十二方面,提供一种计算机可读介质,所述计算机可读介质存储用于设备执行的程序代码,所述程序代码包括用于执行第一方面或其各种实现方式中的方法的指令。
第十三方面,提供一种计算机可读介质,所述计算机可读介质存储用于设备执行的程序代码,所述程序代码包括用于执行第二方面或其各种实现方式中的方法的指令。
第十四方面,提供一种解码器,所述解码器包括上述第三方面或者第四方面中的图像预测装置以及重建模块,其中,所述重建模块用于根据所述图像预测装置得到的所述图像块的像素值的预测值得到所述图像块的重建像素值。
第十五方面,提供一种编码器,所述编码器包括上述第三方面或者第四方面中的图像预测装置以及重建模块,其中,所述重建模块用于根据所述图像预测装置得到的所述图像块的像素值的预测值得到所述图像块的重建像素值。
附图说明
图1是视频编码过程的示意性流程图;
图2是视频解码过程的示意性流程图;
图3是本申请实施例的图像预测方法的示意性流程图;
图4是帧间预测的合并模式下选择当前块的预测块的运动矢量的示意图;
图5是帧间预测的非合并模式下选择当前块的预测块的运动矢量的示意图;
图6是整像素位置像素与分像素位置像素的示意图;
图7是本申请实施例的图像预测方法的示意性流程图;
图8是搜索起始点的示意图;
图9是搜索起始点的示意图;
图10是搜索起始点的示意图;
图11是搜索起始点的示意图;
图12是本申请实施例的图像预测方法的示意性流程图;
图13是本申请实施例的图像预测方法的示意性流程图;
图14是本申请实施例的图像预测方法的示意性流程图;
图15是本申请实施例的图像预测装置的示意性框图;
图16是本申请实施例的图像预测装置的示意性框图;
图17是本申请实施例的视频编码器的示意性框图;
图18是本申请实施例的视频解码器的示意性框图;
图19是本申请实施例的视频传输系统的示意性框图;
图20是本申请实施例的视频编解码装置的示意性框图;
图21是本申请实施例的视频编解码系统的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
一段视频一般由很多帧图像按照一定的次序组成,一般来说,一帧图像中或者不同帧图像之间存在着大量的重复信息(冗余信息),例如,一帧图像内往往存在着大量空间结构相同或者相似的地方,也就是说视频文件中存在大量的空间冗余信息。另外,视频文件中还存在大量的时间冗余信息,这是由视频的组成结构导致的。例如,视频采样的帧速率一般为25帧/秒至60帧/秒,也就是说,相邻两帧间的采样时间间隔为1/60秒到1/25秒,在这么短的时间内,采样得到的图像画面中基本上都存在大量的相似信息,画面之间存在巨大关联性。
此外,相关研究表明,从人眼的视觉敏感度这一心理特性的角度出发,视频信息中也存在可以用来压缩的部分,即视觉冗余。所谓视觉冗余,是指利用人眼对亮度变化比较敏感,而对色度的变化相对不太敏感的特性来适当的压缩视频比特流。例如,在高亮度的区域,人眼视觉对亮度变化的敏感度呈现下降趋势,转而对物体的边缘处较为敏感;另外,人眼对内部区域相对不敏感而对对整体结构较为敏感。由于视频图像的最终服务对象是我们人类群体,所以可以充分利用人眼的这些特性对原有的视频图像进行压缩处理,达到更佳的压缩效果。除了上面提到的空间冗余、时间冗余和视觉冗余外,视频图像信息中还会存在信息熵冗余、结构冗余、知识冗余、重要性冗余等等这一系列的冗余信息。视频编码(也可以成为视频压缩编码)的目的就是使用各种技术方法将视频序列中的冗余信息去除掉,以达到减小存储空间和节省传输带宽的效果。
目前,在国际通用范围内,视频压缩编码标准中主流的压缩编码方式有四种:色度抽样、预测编码、变换编码和量化编码。下面分别对这几种编码方式进行详细介绍。
色度抽样:该方式充分利用了人眼的视觉心理特点,从底层的数据表示就开始设法最大限度的缩减单个元素描述的数据量。例如,在电视系统中多数采用的是亮度-色度-色度(YUV)颜色编码,它是欧洲电视系统广泛采用的标准。YUV颜色空间中包括一个亮度信号Y和两个色差信号U和V,三个分量彼此独立。YUV颜色空间彼此分开的表示方式更加灵活,传输占用带宽少,比传统的红绿蓝(RGB)色彩模型更具优势。例如,YUV 4:2:0形式表示两色度分量U和V在水平方向和垂直方向上都只有亮度Y分量的一半,即4个采样像素点中存在4个亮度分量Y,而色度分量U和V则只有一个。采用这种形式表示时,数据量进一步缩小,仅为原始的33%左右。因此,色度抽样充分利用了人眼的生理视觉特性,通过这种色度抽样的方式实现视频压缩的目的,是目前广泛采用的视频数据压缩方式之一。
预测编码:预测编码时利用之前已编码帧的数据信息来预测当前将要编码的帧。通过预测得到一个预测值,它不完全等同与实际值,预测值和实际值之间存在着一定的残差值。预测的越准确,则预测值就会越接近实际值,残差值就越小,这样对残差值进行编码就能大大减小数据量,在解码端解码时运用残差值加上预测值就能还原重构出匹配图像,这就是预测编码的基本思想方法。在主流编码标准中预测编码分为帧内预测和帧间预测两种基本类型。其中,帧内预测(Intra Prediction)是指利用当前图像内已重建区域内像素点的像素值对当前编码单元内像素点的像素值进行预测;帧间预测(Inter Prediction)是在已重建的图像中,为当前图像中的当前编码单元寻找匹配的参考块,将参考块中的像素点的像素值作为当前编码单元中像素点的像素值的预测信息或者预测值,并传输当前编码单元的运动信息。
变换编码:这种编码方式不直接对原本的空间域信息进行编码,而是按照某种形式的变换函数,将信息采样值从当前域转换到另外一种人为定义域中(通常称为变换域),再根据信息在变换域的分布特性进行压缩编码。由于视频图像数据往往在空间域的数据相关性非常大,存在大量的冗余信息,如果直接进行编码的话需要很大的比特量。而将信息采样值转换到变换域中后,数据的相关性大大减少,这样在编码时由于冗余信息的减少,编码所需的数据量也随之大大减少,这样就能够得到较高的压缩比,而且可以实现较好的压缩效果。典型的变换编码方式有卡洛(K-L)变换、傅立叶变换等。
量化编码:上述提到的变换编码其实本身并不压缩数据,量化过程才能有效地实现对数据的压缩,量化过程也是有损压缩中数据“损失”的主要原因。量化的过程就是将动态范围较大的输入值“强行规划”成较少的输出值的过程。由于量化输入值范围较大,需要较多的比特数表示,而“强行规划”后的输出值范围较小,从而只需要少量的比特数即可表示。
在基于混合编码架构的编码算法中,上述几种压缩编码方式可以混合使用,编码器控制模块根据视频帧中不同图像块的局部特性,选择该图像块所采用的编码模式。对帧内预测编码的块进行频域或空域预测,对帧间预测编码的块进行运动补偿预测,预测的残差再通过变换和量化处理形成残差系数,最后通过熵编码器生成最终的码流。为避免预测误差的累积,帧内或帧间预测的参考信号是通过编码端的解码模块得到。变换和量化后的残差系数经过反量化和反变换重建残差信号,再与预测的参考信号相加得到重建的图像。另外,环路滤波会对重建后的图像进行像素修正,以提高重建图像的编码质量。
下面结合图1和图2对视频编解码的整个过程进行简单的介绍。
图1是视频编码过程的示意图。
如图1所示,在对当前帧Fn中的当前图像块进行预测时,既可以采用帧内预测也可以采用帧间预测,具体地,可以根据当前帧Fn的类型,选择采用帧内编码还是帧间编码,例如,当前帧Fn为I帧时采用帧内预测,当前帧Fn为P帧或者B帧时采用帧间预测。当采用帧内预测时可以采用当前帧Fn中已经重建区域的像素点的像素值对当前图像块的像素点的像素值进行预测,当采用帧间预测时可以采用参考帧F’n-1中与当前图像块匹配的参考块的像素点的像素值对当前图像块的像素点的像素值进行预测。
在根据帧间预测或者帧内预测得到当前图像块的预测块之后,将当前图像块的像素点的像素值与预测块的像素点的像素值进行做差,得到残差信息,对残差信息进行变化、量化以及熵编码,得到编码码流。另外,在编码过程中还要对当前帧Fn的残差信息与当前帧Fn的预测信息进行叠加,并进行滤波操作,得到当前帧的重建帧F’n,并将其作为后续编码的参考帧。
图2是视频解码过程的示意图。
图2所示的视频解码过程相当于图1所示的视频解码过程的逆过程,在解码时,利用熵解码以及反量化和反变换得到残差信息,并根据解码码流确定当前图像块使用帧内预测还是帧间预测。如果是帧内预测,则利用当前帧中已重建区域内像素点的像素值按照帧内预测方法构建预测信息;如果是帧间预测,则需要解析出运动信息,并使用所解析出的运动信息在已重建的图像中确定参考块,并将参考块内像素点的像素值作为预测信息,接下来,再将预测信息与残差信息进行叠加,并经过滤波操作便可以得到重建信息。
图3是本申请实施例的图像预测方法的示意性流程图。图3所示的方法可以由视频编解码装置、视频编解码器、视频编解码系统以及其它具有视频编解码功能的设备来执行。图3所示的方法既可以发生在编码过程,也可以发生在解码过程,更具体地,图3所示的方法可以发生在编解码时的帧间预测过程。
图3所示的方法包括步骤101至步骤106,下面对步骤101至步骤106进行详细的介绍。
101、获取图像块的预测运动信息。
这里的图像块可以是待处理图像中的一个图像块,也可以是待处理图像中的一个子图像。另外,这里的图像块可以是编码过程中待编码的图像块,也可以是解码过程中待解码的图像块。
另外,上述预测运动信息可以包括预测方向的指示信息(通常为前向预测、后向预测、或者双向预测),指向参考图像块的运动矢量(通常为相邻块的运动矢量)和参考图像块所在图像信息(通常理解为参考图像信息),其中,运动矢量包括前向运动矢量和/或后向运动矢量,参考图像信息包括前向预测参考图像块和/或后向预测参考图像块的参考帧索引信息。
在获取图像块的预测运动信息时,可以采用多种方式进行,例如,可以采用下面的方式一和方式二来获取图像块的预测运动信息。
方式一:
在帧间预测的合并模式下,根据当前图像块的相邻块的运动信息构建候选预测运动信息列表,并从该候选预测运动信息列表中选择某个候选预测运动信息作为当前图像块的预测运动信息。其中,候选预测运动信息列表包含运动矢量、参考图像块的参考帧索引信息等等。如图4所示,选择相邻块A0的运动信息作为当前图像块的预测运动信息,具体地,将A0的前向运动矢量作为当前块的前向预测运动矢量,将A0的后向运动矢量作为当前块的后向预测运动矢量。
方式二:
在帧间预测的非合并模式下,根据当前图像块的相邻块的运动信息构建运动矢量预测值列表,并从该运动矢量预测值列表中选择某个运动矢量作为当前图像块的运动矢量预测值。在这种情况下,当前图像块的运动矢量可以为相邻块的运动矢量值,也可以为所选取的相邻块的运动矢量与当前图像块的运动矢量差的和,其中,运动矢量差通过对当前图像块进行运动估计所得到的运动矢量与所选取的相邻块的运动矢量的差。如图5所示,选择运动矢量预测值列表中的索引1和2对应的运动矢量作为当前图像块的前向运动矢量和后向运动矢量。
应理解,上述方式一和方式二只是获取图像块的预测运动信息的具体两种方式,本申请对获取预测块的运动信息的方式不做限定,任何能够获取图像块的预测运动信息的方式都在本申请的保护范围内。
102、根据预测运动信息和图像块的参考图像确定图像块的初始预测块。
应理解,上述参考图像可以是图像块的参考图像,或者,上述参考图像为图像块所在的待处理图像的参考图像。该参考图像可以通过现有技术中的方式来确定,也可以根据用户的预设规则来确定。
由于参考图像中只有整像素位置的像素值,若运动矢量指向的位置为分像素(也可以称为分数像素或者亚像素)位置(例如,1/2像素位置),则需要通过参考图像的整像素位置的像素值,采用插值滤波器进行插值,得到分像素位置的像素值,作为预测块的像素值。在进行插值操作中,由于插值滤波增益,使得预测块的像素值的位宽高于最终得到的图像块的重建像素值的位宽。这里的图像块的重建像素值可以是对图像块进行重建后得到的重建块的像素值。
例如,当参考图像的像素值的位宽为8比特,插值滤波器增益为6比特时,得到像素值位宽为14比特的预测块;当参考图像的像素值的位宽为10比特,插值滤波器增益为6比特时,得到像素值位宽为16比特的预测块。
为了使得差值后得到的像素值的位宽保持一定的数值,还可以在进行差值操作之后再进行移位操作,例如,当参考图像的像素值位宽为10比特,插值滤波器增益为6比特时,为了使得得到的预测块的像素值的位宽为14比特,将插值操作后得到的像素值再右移2位,得到像素值位宽为14比特的预测块。
如图6所示,Ai,j为整像素位置的像素点,其位宽为bitDepth。a0,0,b0,0,c0,0,d0,0,h0,0,n0,0e0,0,i0,0,p0,0,f0,0,j0,0,q0,0,g0,0,k0,0,和r0,0为分像素位置的像素点。若采用8抽头插值滤波器,则a0,0可以通过下面的公式计算得到:
a0,0=(C0*A-3,0+C1*A-2,0+C2*A-1,0+C3*A0,0+C4*A1,0+C5*A2,0+C6*A3,0+C7*A4,0)>>shift1
在上述公式中,Ck,k=0,1,…,7为插值滤波器的系数,如果插值滤波器的系数和为2的N次方,那么,插值滤波器的增益为N,例如,N为6表示插值滤波器增益为6比特。shift1为右移位数,shift1可以设置为bitDepth-8,其中,bitDepth为目标位宽,这样根据上述公式最终得到的预测块的像素值的位宽为bitDepth+6-shift1=14比特。
上述bitDepth为目标位宽,该目标位宽为该目标位宽就是在图像预测结束后,图像块的像素重建值要达到的位宽,目标位宽可以通过现有标准中规定的方式获取。
103、根据预测运动信息在参考图像中以整像素步长进行L次迭代搜索,得到图像块的中间预测块。
其中,L为预设值,L为大于1的整数。L可以在对图像进行预测之前预先设置好的数值,L也可以根据图像预测的精度以及搜索预测块的复杂度来设置L的数值,L也可以根据历史经验值来设定,或者L也可以根据中间搜索过程中的结果的验证情况来确定。
可选地,在步骤103中,每次迭代搜索时都可以搜索多个预测块,将每次搜索得到的多个预测块与初始预测块进行对比,将多个预测块中与初始预测块的像素值的差异最小的预测块确定为中间预测块,并且在每次搜索得到了中间预测块之后根据该中间预测块更新初始预测块,也就是直接将该中间预测块确定为初始预测块。
例如,在步骤103中一共以整像素步长进行了3次搜索,那么,在第一次搜索时,可以搜索到多个预测块,并将该多个预测块与步骤102中的初始预测块进行对比,得到第一次搜索的中间预测块,然后将该中间预测块直接确定为初始预测块;接下来再进行第二次搜索,同样搜索多个预测块,并将该多个预测块与初始预测块(此时的初始预测块实际上是第一次搜索得到的中间预测块)进行对比,得到第二次搜索的中间预测块,然后该中间预测块直接确定为初始预测块;接下来再进行第三次搜索,同样搜索多个预测块,并将该多个预测块与初始预测块(此时的初始预测块实际上是第二次搜索得到的中间预测块)进行对比,得到第三次搜索的中间预测块,应理解,这里的第三次搜索的中间预测块也就是步骤103最终得到的中间预测块。
可选地,作为一个实施例,根据预测运动信息在参考图像中以整像素步长进行L次迭代搜索具体包括:
重复执行下列步骤1至步骤3共L次,将得到的最终的初始预测块作为中间预测块;
步骤1、获取当前预测运动信息,其中,第一次执行步骤1时,当前预测运动信息为图像块的预测运动信息,第i次执行步骤1时,当前预测运动信息为图像块指向当前初始预测块的运动信息,其中i为小于或者等于L且大于1的整数;
步骤2、根据当前预测运动信息在参考图像中以整像素步长进行搜索,得到图像块对应的N个预测块,其中,N为预设值,N为大于1的整数;
步骤3、根据N个预测块和当前初始预测块,得到新的当前初始预测块。
应理解,在L次迭代搜索过程中每次迭代搜索都会得到新的当前初始预测块,每次迭代搜索都是根据N个预测块以及上次迭代搜索得到的当前初始预测块来得到新的当前初始预测块,该新的当前初始预测块作为下一次迭代搜索时的当前初始预测块。
例如,第一次迭代搜索得到第一初始预测块,那么在第二次迭代搜索时就可以根据N个预测块以及第一初始预测块得到第二次搜索对应的第二初始预测块。
通过多次迭代搜索,能够确定与图像块的像素值比较接近的中间预测块。
可选地,作为一个实施例,当参考图像包括第一方向参考图像和第二方向参考图像时,在参考图像中以整像素步长进行每次迭代搜索时,也可以得到图像块对应的N个预测块,然后根据搜索得到的N个预测块得到新的当前初始预测块,具体包括步骤4至步骤9。
步骤4、在第一方向参考图像中以整像素步长进行搜索,得到图像块对应的N个预测块;
步骤5、将图像块对应的N个预测块中像素值与当前初始预测块的像素值差异最小的预测块确定为第一初始预测块;
步骤6、确定图像块指向第一初始预测块的第一运动矢量;
步骤7、根据第一运动矢量按照预设规则确定第二运动矢量;
步骤8、根据第二运动矢量在第二方向参考图像中确定图像块对应的第二初始预测块;
步骤9、根据第一初始预测块和第二初始预测块,确定新的当前初始预测块。
其中,上述第一方向参考图像和第二方向参考图像分别为前向参考图像和后向参考图像,或者,第一方向参考图像和第二方向参考图像分别为后向参考图像和前向参考图像
通过在一个方向的参考图像中搜索到的预测块来推导图像块在另一个方向的参考图像中的预测块,能够节省大量搜索操作,简化图像预测时的复杂度,同时,由于在确定目标预测块的同时既采用了图像块对应在前向参考图像的预测块也采用了图像块对应在后向参考图像中的预测块,可以在简化图像预测复杂度的同时,保证图像预测的准确性。
应理解,在进行迭代搜索的每次搜索过程中也可以只在前向参考图像中搜索预测块,然后根据搜索到的至少一个前向预测块确定新的当前初始预测块,也可以只在前向参考图像中搜索预测块,然后根据搜索到的至少一个后向预测块确定新的当前初始预测块。
或者,还可以在前向参考图像中搜索至少一个前向预测块,在后向参考图像中搜索至少一个后向预测块,并根据至少一个前向预测块得到第一初始预测块,根据至少一个后向预测块得到第二初始预测块,然后根据第一初始预测块和第二初始预测块,得到新的初始预测块。
104、在参考图像中以分像素步长进行单次搜索,得到所述图像块的M个预测块。
其中,M为预设值,M为大于1的整数。
可选地,还可以在参考图像中以分像素步长进行K次迭代搜索,其中K的数值小于L,也就是说以分像素步长进行搜索的次数小于以整像素步长进行搜索的次数。这样由于以分像素步长迭代搜索的次数小于以整像素步长进行迭代搜索的次数,在一定程度上也能够减少图像预测的复杂度。
105、根据M个预测块和中间预测块,确定图像块的目标预测块。
当参考图像包括第一方向参考图像和第二方向参考图像时,步骤104和步骤105具体可以包括步骤10至步骤15。
步骤10、在第一方向参考图像中以分像素步长进行搜索,得到图像块对应的M个预测块;
步骤11、将图像块对应的M个预测块中像素值与中间预测块的像素值差异最小的预测块确定为第一目标预测块;
步骤12、确定图像块指向第一目标预测块的第一运动矢量;
步骤13、根据第一运动矢量按照预设规则确定第二运动矢量;
步骤14、根据第二运动矢量在第二方向参考图像中确定图像块对应的第二目标预测块;
步骤15、根据第一目标预测块和第二目标预测块,确定目标预测块。
其中,第一方向参考图像和第二方向参考图像分别为前向参考图像和后向参考图像,或者,第一方向参考图像和第二方向参考图像分别为后向参考图像和前向参考图像。
通过在一个方向的参考图像中搜索到的预测块来推导图像块在另一个方向的参考图像中的预测块,能够节省大量搜索操作,简化图像预测时的复杂度,同时,由于在确定目标预测块的同时既采用了图像块对应在前向参考图像的预测块也采用了图像块对应在后向参考图像中的预测块,可以在简化图像预测复杂度的同时,保证图像预测的准确性。
可选地,作为一个实施例,在根据第一运动矢量确定所述图像块指向第二方向参考图像的第二运动矢量之前,图3所示的方法还包括:确定图像块与第一方向参考图像的距离小于或者等于所述图像块与第二方向参考图像的距离。
当图像块与第一方向参考图像的距离较小时,在第一方向参考图像中进行搜索,能够减少搜索的复杂度。
106、根据目标预测块的像素值,得到图像块的像素值的预测值。
本申请中,在以整像素步长进行多次迭代搜索之后,再基于整像素步长迭代搜索的结果以分像素步长进行搜索,并基于分像素步长搜索得到的预测块来确定目标预测块,与交替以整像素步长和分像素步长进行搜索的方式相比,能够减少搜索过程中数据的读取量,减少图像预测的复杂度。
可选地,作为一个实施例,根据预测运动信息和图像块的参考图像确定图像块的初始预测块,具体包括:根据预测运动信息通过插值滤波器在参考图像中获得图像块对应的第一预测块和第二预测块,其中,插值滤波器的增益大于1;根据第一预测块和第二预测块,得到初始预测块,其中,初始预测块、第一预测块以及第二预测块的像素值的位宽均相同。
通过采用插值滤波器,能够获取像素值具有较高位宽的第一预测块和第二预测块,这样就可以根据像素值具有较高位宽的第一预测块和第二预测块来更准确地确定初始预测块。
可选地,作为一个实施例,中间预测块和目标预测块的像素值均与初始预测块的像素值的位宽相同。
由于初始预测块的像素值具有较高的位宽,而中间预测块和目标预测块的像素值的位宽与初始预测块的像素值的位宽相同,也就是说,中间预测块、初始预测块以及目标预测块均采用较高的位宽来表示像素值,这样,在图像预测过程中通过采用具有较高位宽的像素值,能够提高图像预测的准确性。
可选地,作为一个实施例,根据所述预测运动信息和所述图像块的参考图像确定所述图像块的初始预测块,包括:根据所述预测运动信息通过插值滤波器在所述参考图像中获得所述图像块对应的第一预测块和第二预测块,其中,所述插值滤波器的增益大于1;对所述第一预测块的像素值和第二预测块的像素值进行移位操作,使得所述第一预测块的像素值和所述第二预测块的像素值的位宽减小到目标位宽,其中,所述目标位宽为所述图像块的重建像素值的位宽;根据所述第一预测块和所述第二预测块,得到初始预测块,其中,所述初始预测块的像素值的位宽为目标位宽。
上述根据第一预测块和第二预测块,得到初始预测块,可以是指根据第一预测块的像素值和第二预测块的像素值,得到初始预测块的像素值。
可选地,所述根据所述第一预测块和所述第二预测块,得到初始预测块,包括:对所述第一预测块和所述第二预测块的像素值进行加权处理,得到初始预测块的像素值。
可选地,当初始预测块的像素值的位宽为目标位宽时,中间预测块和目标预测块的像素值的位宽均也为目标位宽。
由于初始预测块、中间预测块以及目标预测块的像素值的位宽均为目标位宽,因此,在对图像进行预测的过程中,能够减少像素值的在不同位宽之间的来回转换,并且根据像素值位宽为目标位宽的目标预测块来确定图像块的像素值的预测值,而不再进行运动补偿获取具有高位宽的像素值的预测块之后再确定图像块的像素值的预测值,节省了运动补偿的操作,简化了图像预测的流程,降低了图像预测的复杂度。
另外,在根据预测运动信息在参考图像中获取第一预测块和第二预测块时,具体可以根据预测运动信息中包含的第一运动矢量和第二运动矢量确定第一预测块和第二预测块在待处理图像的参考图像中的位置。另外,可以根据预测运动信息中包含的运动矢量以运动补偿的方式,在参考图像中获取第一预测块和第二预测块。
可选地,作为一个实施例,图3所示的方法还包括:根据图像块指向目标预测块的运动矢量,确定图像块的运动矢量。
应理解,这里的目标预测块的运动矢量是图像块指向该目标预测块的运动矢量。
根据指向目标预测块的运动矢量来确定图像块的运动矢量,具体可以是将目标运动块的运动矢量直接确定为图像块的运动矢量,也就是对图像块的运动矢量进行了更新,这样就使得在进行下次图像预测时可以根据该图像块对其它图像块进行有效的预测。另外,还可以将目标运动块的运动矢量确定为图像块的运动矢量的预测值,接下来再根据图像块的运动矢量的预测值得到图像块的运动矢量。
当参考图像为前向参考图像时,在步骤102中确定初始预测块时可以先根据预测运动信息从前向参考图像中确定两个前向预测块,然后根据这两个前向预测块来确定初始预测块,其中,初始预测块的像素值是对这两个前向预测块进行加权处理得到的。
在本申请中,出现的加权处理只是获取预测块(包括初始预测块、目标预测块等各种预测块)的像素值的一种方式,除了采用加权处理来获取预测块的像素值之外,还可以采用其它的方式来得到预测块(包括初始预测块、目标预测块等各种预测块)的像素值,本申请对此不做限定。
应理解,当上述参考图像为后向参考图像时,确定初始预测块和目标预测块的方式与参考图像为前向参考图像时的方式类似,为了简洁,此处适当省略重复的描述。
可选地,作为一个实施例,上述参考图像包括待处理图像的前向参考图像和后向参考图像。
在本申请中,当参考图像包括前向参考图像和后向参考图像时,通过在前向参考图像和后向参考图进行搜索来共同确定目标预测块,能够提高图像预测的准确性。
当参考图像包括前向参考图像和后向参考图像时,步骤102可以具体包括步骤16至步骤21。
步骤16、根据预测运动信息,通过运动补偿的方式,在前向参考图像中获取图像块的前向预测块;
步骤17、根据预测运动信息,通过运动补偿的方式,在后向参考图像中获取图像块的后向预测块;
步骤18、对前向预测块的像素值和后向预测块的像素值进行加权处理,将加权处理后得到的像素值作为初始预测块的像素值,进而得到初始预测块。
应理解,上述步骤16和步骤17之间没有先后顺序,既可以先执行步骤16,也可以先执行步骤17,或者同时执行步骤16和步骤17。
当参考图像包括前向参考图像和后向参考图像时,步骤102可以具体包括以下几个步骤:
步骤19、在前向参考图像中进行搜索,得到至少一个前向预测块(每个前向预测块的像素值均为高位宽),并该将至少一个前向预测块中像素值与初始预测块的差异最小的前向预测块确定为前向目标预测块;
步骤20、在后向参考图像中进行搜索,得到至少一个后向预测块(每个后向预测块的像素值均为高位宽),并该将至少一个后向预测块中像素值与初始预测块的差异最小的后向预测块确定为后向目标预测块;
步骤21、对前向目标预测块的像素值和后向目标预测块的像素值进行加权处理,得到目标预测块的像素值。
由于步骤19和步骤20中的前向预测块和后向预测块的像素值的位宽均为高位宽,因此,步骤19和步骤20得到的前向目标预测块和后向目标预测块的像素值的位宽也为高位宽,这样在步骤21中根据前向目标预测块和后向目标预测块得到的目标预测块的像素值的位宽也为高位宽。
另外,在步骤19和步骤20中,在比较前向预测块的像素值与初始预测块的像素值的差异,以及后向预测块的像素值与初始预测块的像素值的差异时,可以采用绝对误差和(Sum of absolute differences,SAD)、绝对变换误差和(Sum of absolutetransformation differences,SATD)或者绝对平方差和等来衡量每个前向预测块的像素值或者后向预测块的像素值与初始预测块的像素值的差异。
由于图像块的参考图像可以仅包含前向参考图像,也可以仅包含后向参考图像,或者是既包含前向参考图像又包含后向参考图像。
可选地,作为一个实施例,根据预测运动信息通过插值滤波器在参考图像中获得图像块对应的第一预测块和第二预测块,具体包含以下三种情况。
(1)、当参考图像为前向参考图像时,根据预测运动信息通过插值滤波器在前向参考图像中获得第一预测块和第二预测块;
(2)、当参考图像为后向参考图像时,根据预测运动信息通过插值滤波器在参考图像中获得第一预测块和第二预测块;
(3)、当参考图像包含前向参考图像和后向参考图像时,根据预测运动信息通过插值滤波器分别在前向参考图像和后向参考图像中获得第一预测块和第二预测块。
通过在前向参考图像和/或后向参考图像获取不同的预测块,进而可以根据不同的预测块来确定初始预测块,与直接将在前向参考图像或者后向参考图像中搜索到的预测块作为初始预测块的方式相比,根据不同的预测块能够来更准确地确定初始预测块。
可选地,当参考图像仅包含前向参考图像或者仅包含后向参考图像时,根据预测运动信息在参考图像中进行搜索,得到图像块对应的M个预测块,具体包含以下两种情况:
可选地,作为一个实施例,在参考图像中以分像素步长进行单次搜索,得到所述图像块的M个预测块,包括:
(4)、当参考图像为前向参考图像时,根据预测运动信息在前向参考图像中进行搜索,得到图像块对应的M个预测块;
(5)、当参考图像为后向参考图像时,根据预测运动信息在后向参考图像中进行搜索,得到图像块对应的M个预测块。
通过仅一个参考图像(前向参考图像或者后向参考图像)中进行搜索,从而得到M个预测块,能够减少搜索预测块的复杂度,另外,通过比较M个预测块中的每个预测块与初始预测块的像素值的差异,能够得到与图像块更接近的预测块,从而提高图像预测的效果。
当参考图像仅包含前向参考图像或者仅包含后向参考图像时,上述M个预测块或者是从前向参考图像中搜索得到的,或者是从后向参考图像中搜索得到的,接下来,在根据图像块对应的M个预测块和所述初始预测块,确定所述图像块的目标预测块时,可以将M个预测块中像素值与初始预测块的像素值的差异最小的预测块确定为目标预测块。
可选地,当参考图像既包含前向参考图像又包含后向参考图像时,在参考图像中以分像素步长进行单次搜索,得到所述图像块的M个预测块的具体过程如下:
根据预测运动信息在前向参考图像中进行搜索,得到图像块对应的A个预测块;
根据预测运动信息在后向参考图像中进行搜索,得到图像块对应的B个预测块;
根据图像块对应的M个预测块和初始预测块,确定图像块的目标预测块,包括:
将A个预测块中像素值与初始预测块的像素值的差异最小的预测块确定为第一目标预测块;
将B个预测块中像素值与初始预测块的像素值的差异最小的预测块确定为第二目标预测块;
根据第一目标预测块和第二目标预测块确定目标预测块。
其中,上述A和B均为大于0的整数,A+B=M,A和B既可以相同,也可以不同。
通过在前向参考图像和后向参考图像中分别进行搜索,能够根据前向参考图像和后向参考图像中搜索出来的预测块来综合确定最终的目标块,这样在获得预测块的时候既考虑了前向参考图像,又考虑了后向参考图像,能够使得最终得到的目标预测块与图像块更接近,从而提高图像预测的效果。
为了更详细的说明以整像素步长搜索和以分像素步长搜索的具体过程,下面结合图7对本申请实施例的图像预测方法进行详细的描述。
图7是本申请实施例的图像预测方法的示意性流程图。图7所示的方法可以由视频编解码装置、视频编解码器、视频编解码系统以及其它具有视频编解码功能的设备来执行。图7所示的方法既可以发生在编码过程,也可以发生在解码过程,更具体地,图7所示的方法可以发生在编解码时的帧间预测过程。
图7所示的方法包括步骤201至步骤222,下面对步骤201至步骤222进行详细的介绍。
201、获取当前图像块的预测运动信息。
在获取预测运动信息时,具体可以根据当前图像块的相邻图像块的运动信息来确定当前图像块的预测运动信息。进一步地,还可以采用步骤101下方的方式一和方式二来获取预测运动信息。
在当前图像块的参考图像包括前向参考图像和后向参考图像时,上述预测运动信息包括预测方向的指示信息(通常为前向预测、后向预测、或者双向预测),指向参考图像块的运动矢量(通常为相邻块的运动矢量)和参考图像块所在图像信息(通常理解为参考图像信息),其中,运动矢量包括前向运动矢量和/或后向运动矢量,参考图像信息包括前向预测参考图像块和/或后向预测参考图像块的参考帧索引信息。
202、在前向参考参考图像中获取当前图像块的前向预测块(高位宽)。
203、在后向参考参考图像中获取当前图像块的后向预测块(高位宽)。
其中,在步骤202和步骤203中,前向预测块和后向预测块的像素值的位宽均为高位宽,在本申请中,高位宽的像素值是指像位宽大于目标位宽的像素值,其中,目标位宽为像素值为图像块的重建像素值的位宽。例如,步骤202和步骤203中的前向预测块和后向预测块的像素值的位宽为14bit,目标位宽为10bit,由于前向预测块和后向预测块的像素值的位宽大于目标位宽,因此,前向预测块和后向预测块的像素值可以称为高位宽的像素值。
应理解,步骤201中的预测运动信息可以具体包括前向运动矢量和后向运动矢量,这样在步骤202和步骤203中,就可以根据前向运动矢量,通过运动补偿的方法,在前向参考图像中获取当前图像块的前向预测块,根据后向运动矢量,通过运动补偿的方法,在后向参考图像中获取当前图像块的后向预测块。
应理解,在步骤202和步骤203中获取到前向预测块和后向预测块之后,不对前向预测块和后向预测块的像素值进行位宽移位和限位操作,使得前向预测块和后向预测块的像素值保持高位宽。
可选地,在步骤202和步骤203中获取到前向预测块和后向预测块之后,也可以对前向预测块和后向预测块的像素值进行位宽移位和限位操作,使得前向预测块和后向预测块的像素值的位宽为目标位宽。
204、根据前向预测块和后向预测块,获取初始预测块(目标位宽)。
其中,初始预测块的像素值的位宽为目标位宽。
应理解,步骤204中的前向预测块和后向预测块是分别在步骤202和步骤203中得到的,前向预测块的像素值和后向预测块的像素值均为高位宽的像素值。
在根据前向预测块和后向预测块的获取初始预测块时,具体可以对前向预测块的像素值和后向预测块的像素值进行加权处理,将得到的像素值确定为初始预测块(也可以称为匹配预测块)的像素值。应理解,在对前向预测块的像素值和后向预测块的像素值进行加权处理后,不对加权处理后得到的像素值进行位宽移位和限位操作,使得得到的初始预测块的像素值也为高位宽。
在对前向预测块的像素值和后向预测块的像素值进行加权处理时,可以根据公式(1)来获得初始预测块的每个像素点的像素值。
predSamples[x][y]=(predSamplesL0[x][y]+predSamplesL1[x][y]+1)>>1 (1)
在公式(1)中,predSamplesL0为前向预测块,predSamplesL1为后向预测块,predSamples为初始预测块,predSamplesL0[x][y]为前向预测块中像素点(x,y)的像素值,predSamplesL1[x][y]为后向预测块中像素点(x,y)的像素值,predSamples[x][y]为初始预测块中像素点(x,y)的像素值。
当前向预测块的像素值和后向预测块的像素值的位宽均为14比特时,根据公式(1)得到的初始预测块的像素的位宽也为14比特,也就是说根据公式(1)计算初始预测块的像素点的像素值能够使得初始预测块的像素点的像素值的位宽与前向预测块和后向预测块的位宽保持一致(均是高位宽)。
205、当前搜索次数是否为偶数。
在当前搜索次数为偶数的情况下,执行步骤206,在当前搜索次数为奇数的情况下,执行步骤211。也就是说,在进行奇数次迭代搜索时以整像素步长在前向参考图像中进行搜索,在进行偶数次迭代搜索时以整像素步长在后向参考图像中进行搜索,当然,也可以在奇数次迭代搜索时以整像素步长在后向参考图像中进行搜索,而在进行偶数次迭代搜索时以整像素步长在前向参考图像中进行搜索。
206、以整像素步长搜索,获得最优前向预测块(目标位宽)以及最优前向运动矢量。
其中,最优前向预测块的像素值的位宽为高位宽。在获得最优前向预测块时,可以以整像素步长搜索到至少一个前向预测块,然后将至少一个前向预测块中像素值与初始预测块的像素值差异最小的前向预测块确定为最优前向预测块。
具体地,可以比较多个前向预测块中的每个前向预测块的像素值与初始预测块的像素值的SAD,选择SAD最小的前向预测块和其对应的前向运动矢量,作为最优的前向预测块和对应的最优前向运动矢量。选择SAD第二小的前向预测块和其对应的前向运动矢量,作为第二优的前向预测块和对应的第二优前向运动矢量。
应理解,在以整像素步长进行搜索时,搜索起始点既可以整像素也可以是分像素,例如,整像素,1/2像素,1/4像素,1/8像素以及1/16像素等等。
例如,如图8所示,在以整像素步长进行搜索时,可以以(0,0)为搜索起始点,得到一个前向预测块,接下来,以(0,0)的周围的5个像素点为搜索点,继续进行搜索,再得到5个前向预测块。在搜索起始点周围的5个整像素步长的搜索点进行搜索,得到对应的预测块。接下来还可以进行第6次搜索,第6次搜索时的搜索点可以为(-1,-1)、(-1,1)、(1,-1)和(1,1)任意一个位置。
另外,最优前向运动矢量可以是当前图像块指向最优前向预测块的运动矢量。
207、以最优前向运动矢量推导后向运动矢量。
具体地,可以根据公式MV1’=MV1–(MV0’–MV0)来推导后向运动矢量,其中,MV1为初始后向运动矢量,MV0’为最优前向运动矢量,MV0为初始前向运动矢量。
208、根据最优前向运动矢量和后向运动矢量获得最优前向预测块(高位宽)和后向预测块(高位宽)。
209、根据最优前向预测块和后向预测块得到当前图像块的预测块(目标位宽),更新初始预测块。
也就是说可以直接将根据最优前向预测块和后向预测块得到当前图像块的预测块直接确定为新的初始预测块。
210、确定最优前向运动矢量与初始搜索运动矢量是否相同。
在最优前向运动矢量与初始搜索运动矢量相同的情况下,停止迭代搜索,执行步骤216,在最优前向运动矢量与初始搜索运动矢量不相同的情况下,执行步骤206,继续迭代搜索。
211、以整像素步长搜索,获得最优后向预测块(目标位宽)以及最优后向运动矢量。
以整像素步长在后向参考图像中进行搜索,得到最优后向预测块。
212、以最优后向运动矢量推导前向运动矢量。
213、根据最优后向运动矢量和前向运动矢量获得最优后向预测块(高位宽)和前向预测块(高位宽)。
214、根据最优后向预测块和前向预测块得到当前图像块的预测块(目标位宽),更新初始预测块。
215、确定最优后向运动矢量与初始搜索运动矢量是否相同。
应理解,步骤211至步骤215的具体实现形式可以与步骤206至步骤210相同,为了简洁,对步骤211至步骤215不再详细描述。
216、根据最优前向运动矢量或最优前向预测块的搜索点确定分像素步长搜索点。
217、进行分像素步长搜索,获取最优前向预测块(目标位宽)和最优前向运动矢量。
具体地,可以根据步骤216所获得的分像素步长搜索点进行搜索,得到至少一个当前解码块的前向预测块(所述预测块的像素值为高位宽的像素值),每个前向预测块的像素值进行位宽移位和限位操作,得到每个前向预测块的新像素值,该前向预测块的新像素值的精度与码流的目标位宽相同。
具体地,在得到最优前向运动矢量时,可以计算该每个前向预测块的新像素值与步骤初始预测块的像素值之间的差异,选择SAD最小的后向预测块和其对应的前向运动矢量,作为最优的前向预测块和对应的最优前向运动矢量。
218、根据步骤217得到的最优前向运动矢量,进行运动补偿,得到最优前向预测块(高位宽)。
219、根据最优后向运动矢量或最优后向预测块的搜索点确定分像素步长搜索点。
220、进行分像素步长搜索,获取最优后向预测块(目标位宽)和最优后向运动矢量。
221、根据步骤220得到的最优后向运动矢量,进行运动补偿,得到最优后向预测块(高位宽)。
应理解,步骤219至步骤221的具体实现形式与步骤216至步骤218相同,为了简洁,这里不再重复描述。
222、根据步骤218和步骤221得到的最优前向预测块和最优后向预测块,确定当前图像块的像素值的预测值(目标位宽)。
在根据最优前向预测块和最优后向预测块确定当前图像块的像素值的预测值时,可以对最优前向预测块的像素值和最优后向预测块的像素值进行加权处理,并将加权处理后得到的像素值作为当前图像块的像素值的预测值。
具体地,可以根据公式(2)得到当前图像块的像素值的预测值。
predSamples’[x][y]=(predSamplesL0’[x][y]+predSamplesL1’[x][y]+1)>>1 (2)
其中,predSamplesL0’为最优前向预测块,predSamplesL1’为最优后向预测块,predSamples’为当前图像块的最终预测块,predSamplesL0’[x][y]为最优前向预测块在像素点(x,y)的像素值,predSamplesL1’[x][y]为最优后向预测块在像素点(x,y)的像素值,predSamples’[x][y]为最终预测块在像素点(x,y)的像素值,Clip3()为限位函数。
在本申请中,当以分像素步长进行搜索时,具体可以采用半像素步长、1/4像素步长、1/8像素步长等等。
下面结合图9至图11对半像素步长搜索时如何确定搜索点进行详细的说明。
如图9所示,P(0,0)为整像素步长的搜索点,在确定分像素步长搜索点时,将P(0,0)周围八个相邻的搜索点(-0.5,-0.5)、(0.5,-0.5)、(-0.5,0.5)、(0.5,0.5)、(0,-0.5)、(0.5,0)、(0,0.5)和(-0.5,0)均确定为半像素步长搜索时的搜索点。
如图10所示,P(0,0)为整像素步长的搜索点,在确定分像素步长搜索点时,将P(0,0)周围的四个搜索点(-0.5,-0.5)、(0.5,-0.5)、(-0.5,0.5)和(0.5,0.5)确定为半像素步长搜索时的搜索点。
如图11所示,P(0,0)为整像素步长的搜索点,在确定分像素步长搜索点时,将P(0,0)周围的四个搜索点(0,-0.5)、(0.5,0)、(0,0.5)和(-0.5,0)确定为半像素步长搜索时的搜索点。
与图9所示的确定半像素步长搜索点的方式相比,图10和图11中所示的确定半像素步长搜索点的方式能够减少半像素搜索点的个数,减少搜索的复杂度。
图12是本申请实施例的图像预测方法的示意性流程图。图12所示的方法可以由视频编解码装置、视频编解码器、视频编解码系统以及其它具有视频编解码功能的设备来执行。图12所示的方法包括步骤301至步骤308,下面对步骤301至步骤308进行详细的介绍。
301、获取图像块的预测运动信息。
上述预测运动信息可以包括预测方向的指示信息(通常为前向预测、后向预测、或者双向预测),指向参考图像块的运动矢量(通常为相邻块的运动矢量)和参考图像块所在图像信息(通常理解为参考图像信息),其中,运动矢量包括前向运动矢量和/或后向运动矢量,参考图像信息包括前向预测参考图像块和/或后向预测参考图像块的参考帧索引信息。
在获取图像块的预测运动信息时,可以采用多种方式进行,例如,可以采用步骤101下面的方式一和方式二来获取图像块的预测运动信息。
302、根据预测运动信息和图像块的参考图像确定图像块的初始预测块。
303、根据预测运动信息在参考图像中以整像素步长进行单次搜索,得到图像块的M个预测块,其中,M为预设值,M为大于1的整数。
304、根据图像块对应的M个预测块和初始预测块,确定图像块的中间预测块。
305、将中间预测块确定为初始预测块。
306、将图像块指向中间预测块的运动信息确定为预测运动信息。
307、根据预测运动信息在参考图像中以分像素步长进行L次迭代搜索,得到图像块的目标预测块,其中,L为预设值,L为大于1的整数。
308、根据所述目标预测块的像素值,得到所述图像块的像素值的预测值。
本申请中,在以整像素步长进行单次搜索之后,再基于整像素步长单次搜索的结果以分像素步长进行多次迭代搜索,并以分像素步长进行多次迭代搜索得到的预测块来确定目标预测块,与交替以整像素步长和分像素步长进行搜索的方式相比,能够减少搜索过程中数据的读取量,减少图像预测的复杂度。
应理解,图12所示的方法与图3所示的方法的区别在于,图12所示的方法是先以整像素步长进行单次搜索,然后以分像素步长进行多次迭代搜索,图3所示的方法是先以整像素步长进行多次迭代搜索,然后再以分像素步长进行单次搜索。图3所示的方法中对相同步骤或者相同术语的解释和限定同样适用于图12所示的方法,为了简洁,这里适当省略重复的描述。
下面结合图13对本申请实施例的图像预测方法的流程进行详细的介绍。与图3所示的方法类似,图13所示的方法也可以由视频编解码装置、视频编解码器、视频编解码系统以及其它具有视频编解码功能的设备来执行。图13所示的方法可以发生在编码过程,也可以发生在解码过程,具体地,图13所示的方法可以发生在编码过程或者解码时的帧间预测过程。
图13所示的方法具体包括步骤401至步骤409,下面分别对步骤401至步骤409进行详细的描述。
401、获得当前图像块的预测运动信息。
在获取预测运动信息时,具体可以根据当前图像块的相邻图像块的运动信息来确定当前图像块的预测运动信息。进一步地,还可以采用步骤101下方的方式一和方式二来获取预测运动信息。
在当前图像块的参考图像包括前向参考图像和后向参考图像时,上述预测运动信息包括预测方向的指示信息(通常为前向预测、后向预测、或者双向预测),指向参考图像块的运动矢量(通常为相邻块的运动矢量)和参考图像块所在图像信息(通常理解为参考图像信息),其中,运动矢量包括前向运动矢量和/或后向运动矢量,参考图像信息包括前向预测参考图像块和/或后向预测参考图像块的参考帧索引信息。
402、在前向参考图像中获取当前图像块的前向预测块,其中,该前向预测块的像素值为高位宽的像素值。
403、在后向参考图像中获取当前图像块的后向预测块,其中,该后向预测块的像素值为高位宽的像素值。
应理解,在本文中,高位宽的像素值是指像位宽大于图像预测的最终目标位宽的像素值。例如,步骤402和步骤403中的前向预测块和后向预测块的像素值的位宽为14bit,目标位宽为10bit,由于前向预测块和后向预测块的像素值的位宽大于目标位宽,因此,前向预测块和后向预测块的像素值可以称为高位宽的像素值。
应理解,步骤401中的预测运动信息可以具体包括前向运动矢量和后向运动矢量,这样在步骤402和步骤403中,就可以根据前向运动矢量,通过运动补偿的方法,在前向参考图像中获取当前图像块的前向预测块,根据后向运动矢量,通过运动补偿的方法,在后向参考图像中获取当前图像块的后向预测块。
应理解,在步骤402和步骤403中获取到前向预测块和后向预测块之后,不对前向预测块和后向预测块的像素值进行位宽移位和限位操作,使得前向预测块和后向预测块的像素值保持高位宽。
404、根据前向预测块和后向预测块,获取初始预测块。
应理解,步骤404中的前向预测块和后向预测块是分别在步骤402和步骤403中得到的,前向预测块的像素值和后向预测块的像素值均为高位宽的像素值。
在根据前向预测块和后向预测块的获取初始预测块时,具体可以对前向预测块的像素值和后向预测块的像素值进行加权处理,将得到的像素值确定为初始预测块(也可以称为匹配预测块)的像素值。应理解,在对前向预测块的像素值和后向预测块的像素值进行加权处理后,不对加权处理后得到的像素值进行位宽移位和限位操作,使得得到的初始预测块的像素值也为高位宽。
在对前向预测块的像素值和后向预测块的像素值进行加权处理时,可以根据公式(3)来获得初始预测块的每个像素点的像素值。
predSamples[x][y]=(predSamplesL0[x][y]+predSamplesL1[x][y]+1)>>1 (3)
在公式(3)中,predSamplesL0为前向预测块,predSamplesL1为后向预测块,predSamples为初始预测块,predSamplesL0[x][y]为前向预测块中像素点(x,y)的像素值,predSamplesL1[x][y]为后向预测块中像素点(x,y)的像素值,predSamples[x][y]为初始预测块中像素点(x,y)的像素值。
当前向预测块的像素值和后向预测块的像素值的位宽均为14比特时,根据公式(3)得到的初始预测块的像素的位宽也为14比特,也就是说根据公式(3)计算初始预测块的像素点的像素值能够使得初始预测块的像素点的像素值的位宽与前向预测块和后向预测块的位宽保持一致(均是高位宽)。
405、在前向参考图像中搜索至少一个前向预测块,其中,该至少一个前向预测块中的每个前向预测块的像素值均为高位宽的像素值。
406、从至少一个前向预测块中确定最优前向预测块,其中,该最优前向预测块的向像素值为高位宽的像素值。
具体地,在从至少一个前向预测块中确定最优前向预测块时,可以先确定至少一个前向预测块中的每个前向预测块的像素值与初始预测块的像素值的差异,然后将至少一个前向预测块中像素值与初始预测块的像素值差异最小的前向预测块确定为最优前向预测块。
407、在后向参考图像中搜索至少一个后向预测块,其中,至少一个后向预测块中的每个后向预测块的像素值均为高位宽的像素值。
在步骤405中,在前向参考图像中进行搜索时可以以整像素步长进行搜索(或者称为运动搜索),以得到至少一个前向预测块。
在步骤407中,在后向参考图像中进行搜索时也可以以整像素步长进行搜索(或者称为运动搜索),以得到至少一个前向预测块。
在以整像素步长进行搜索时,搜索起始点既可以整像素也可以是分像素,例如,整像素,1/2像素,1/4像素,1/8像素以及1/16像素等等。
另外,在步骤405和步骤407中搜索至少一个前向预测块和至少一个后向预测块时,也可以直接以分像素步长进行搜索,或者,既进行整像素步长搜索又进行分像素步长搜索。
应理解,以分像素步长进行搜索时,搜索起始点既可以整像素也可以是分像素。408、从至少一个后向预测块中确定最优后向预测块,其中,该最优后向预测块的像素值为高位宽的像素值。
与确定最优前向预测块类似,在确定最优后向预测块时,也可以先确定至少一个后向预测块中的每个后向预测块的像素值与初始预测块的差异,然后将至少一个后向预测块中像素值与初始预测块的像素值差异最小的后向预测块确定为最优后向预测块。
在比较前向预测块的像素值与初始预测块的像素值的差异,以及后向预测块的像素值与初始预测块的像素值的差异时,可以采用SAD、SATD或者绝对平方差和等来衡量不同预测块的像素值之间的差异。
409、根据最优前向预测块和最优后向预测块,确定当前图像块的像素值的预测值。
在确定当前图像块的像素值的预测值时,可以对最优前向预测块的像素值和最优后向预测块的像素值进行加权处理,由于最优前向预测块的像素值和最优后向预测块的像素值均为高位宽的像素值,因此,在进行加权处理后,得到的像素值仍然是高位宽,这时需要对加权处理后得到的像素值进行位宽移位和限位操作,然后再将位宽移位和限位操作处理后的像素值确定为当前图像块的像素值的预测值。
具体地,可以根据公式(4)得到当前图像块的像素值的预测值。
predSamples’[x][y]=Clip3(0,(1<<bitDepth)-1,(A+offset2)>>shift2) (4)
其中,A=predSamplesL0’[x][y]+predSamplesL1’[x][y],predSamplesL0’为最优前向预测块,predSamplesL1’为最优后向预测块,predSamples’为当前图像块,predSamples L0’[x][y]为最优前向预测块中像素点(x,y)的像素值,predSamples L1’[x][y]为最优后向预测块中像素点(x,y)的像素值,predSamples[x][y]为当前图像块中像素点(x,y)的像素值的预测值,shift2表示位宽差,offset2等于1<<(shift2-1),用于在计算过程中进行四舍五入。
例如,前向最优预测块的像素值的位宽为14bit,后向最优预测块的像素值的位宽也为14bit,bitDepth为目标位宽,那么,shift2为15-bitDepth,根据公式(4)得到的预测块像素值位宽为14+1-shift2=bitDepth。
另外,在本申请中,还可以根据其它方法来得到当前图像块的像素值的预测值,本申请对此不做限定。
下面结合图14对本申请实施例的图像预测方法的流程进行详细的介绍。图14所示的方法也可以由视频编解码装置、视频编解码器、视频编解码系统以及其它具有视频编解码功能的设备来执行。图14所示的方法可以发生在编码过程,也可以发生在解码过程,具体地,图14所示的方法可以发生在编码过程或者解码时的帧间预测过程。
图14所示的方法具体包括步骤501至步骤509,下面分别对步骤501至步骤509进行详细的描述。
501、获取当前图像块的预测运动信息。
可以根据当前图像块的相邻图像块的运动信息来确定当前图像块的预测运动信息。具体地,可以采用步骤101下方的方式一和方式二来获取预测运动信息。
上述预测运动信息包括预测方向的指示信息(通常为前向预测、后向预测、或者双向预测),指向参考图像块的运动矢量(通常为相邻块的运动矢量)和参考图像块所在图像信息(通常理解为参考图像信息),其中,运动矢量包括前向运动矢量和/或后向运动矢量,参考图像信息包括前向预测参考图像块和/或后向预测参考图像块的参考帧索引信息。
502、在前向参考图像中获取当前图像块的前向预测块,该前向预测块的像素值的位宽为目标位宽。
在步骤502中,可以根据预测运动信息中的前向运动矢量在前向参考图像中进行运动搜索,以得到当前图像块的前向预测块。
503、在后向参考图像中获取当前图像块的后向预测块,该后向预测块的像素值的位宽为目标位宽。
在步骤503中,可以根据预测运动信息中的前向运动矢量在前向参考图像中进行运动搜索,以得到当前图像块的前向预测块。
步骤502和步骤503中的目标位宽可以指最终得到的图像块重建像素值的位宽,也就是说,这里得到的前向预测块和后向预测块的像素值的位宽与最终得到的图像块的重建像素值。
应理解,在步骤502和步骤503中,在根据运动矢量直接搜索到的前向预测块和后向预测块的像素值的位宽可以大于目标位宽,接下来,在对搜索到的前向预测块和后向预测块进行移位操作,使得前向预测块和后向预测块的像素值的位宽减小到目标位宽。
例如,根据运动矢量搜索到的前向预测块和后向预测块的像素值的位宽为14bit,目标位宽为10bit,那么可以对初始搜索到的前向预测块和后向预测块的像素值的位宽从14bit移位到10bit。
504、根据前向预测块和后向预测块,获取初始预测块,该初始预测块的位宽为目标位宽。
应理解,步骤504中的前向预测块和后向预测块分别是在步骤502和步骤503中获取的。
在根据前向预测块和后向预测块获取初始预测块时,可以对前向预测块的像素值和后向预测块的像素值进行加权处理,然后再对加权处理得到的像素值进行位宽移位和限位操作,使得经过位宽移位和限位操作之后得到的像素值的位宽为目标位宽。
在确定初始预测块的像素值时可以根据公式(5)获得初始预测块块的每个像素点的像素值。
predSamples[x][y]=Clip3(0,(1<<bitDepth)-1,(B+offset2)>>shift2) (5)
其中,B=predSamplesL0[x][y]+predSamplesL1[x][y],predSamplesL0为前向预测块,predSamplesL1为后向预测块,predSamples为初始预测块,predSamplesL0[x][y]为前向预测块中像素点(x,y)的像素值,predSamplesL1[x][y]为后向预测块中像素点(x,y)的像素值,predSamples[x][y]为初始预测块中像素点(x,y)的像素值,shift2表示位宽差,offset2等于1<<(shift2-1),用于在计算过程中进行四舍五入。
Clip3函数为保证最终的预测像素值在图像预测的位宽范围内,其定义如公式(6)所示:
例如,当前向预测块和后向预测块的像素值的位宽均为14bit时,shift2可以设置为15-bitDepth,其中,bitDepth目标位宽,这样,根据公式(5)最终可以得到的初始预测块的像素值的位宽为14+1-shift2=bitDepth,也就是说,最终得到的初始预测块的像素值的位宽与目标位宽相同。
505、在前向参考图像中搜索至少一个前向预测块,该至少一个前向预测块的像素值的位宽为目标位宽。
506、从至少一个前向预测块中确定最优前向预测块,其中,该最优前向预测块的位宽为目标位宽。
在从至少一个前向预测块中确定最优前向预测块时,可以确定至少一个前向预测块中的每个前向预测块的像素值与初始预测块的差异,并将至少一个前向预测块中的像素值与初始预测块的像素值差异最小的预测块确定为最优前向预测块。
507、在后向参考图像中搜索至少一个后向预测块,该至少一个后向预测块的像素值的位宽为目标位宽。
508、从至少一个后向预测块中确定最优后向预测块,其中,该最优后向预测块的位宽为目标位宽。
在从至少一个后向预测块中确定最优前向预测块时,可以确定至少一个后向预测块中的每个后向预测块的像素值与初始预测块的差异,并将至少一个后向预测块中的像素值与初始预测块的像素值差异最小的预测块确定为最优后向预测块。
在步骤505和步骤507中,在前向参考图像或者后向参考图像中进行搜索时可以以整像素步长进行搜索(或者称为运动搜索),以得到至少一个前向预测块以及至少一个后向预测块。在以整像素步长进行搜索时,搜索起始点既可以整像素也可以是分像素,例如,整像素,1/2像素,1/4像素,1/8像素以及1/16像素等等。
另外,在步骤505和步骤507中搜索至少一个前向预测块和至少一个后向预测块时,也可以直接以分像素步长进行搜索,或者,既进行整像素步长搜索又进行分像素步长搜索。
在步骤505和步骤507中,可以在搜索的过程中使用高位宽的像素值,从而使得搜索得到的至少一个预测块的像素值为高位宽的像素值,接下来,再对至少一个预测块的像素值进行位宽移位和限位操作,使得搜索得到的至少一个预测块的像素值变为目标位宽的像素值。
具体地,可以根据公式(7)对搜索得到的前向预测块的像素值进行位宽移位和限位操作。
predSamplesL0’[x][y]=Clip3(0,(1<<bitDepth)-1,(predSamplesL0[x][y]+offset2)>>shift2) (7)
其中,predSamplesL0为搜索到的前向预测块,predSamplesL0’为对predSamplesL0进行位宽移位和限位操作处理后的前向预测块,predSamplesL0[x][y]为搜索到的前向预测块中像素点(x,y)的像素值,predSamplesL0’[x][y]为进行位宽移位和限位操作处理后的前向预测块中的像素点(x,y)的像素值,shift2表示位宽差,offset2等于1<<(shift2-1),用于在计算过程中进行四舍五入。
对于搜索到的后向预测块,也可以采用公式(7)对搜索得到后向预测块进行位宽移位和限位操作,此时,predSamplesL0表示搜索到的后向预测块,predSamplesL0’为对predSamplesL0进行位宽移位和限位操作处理后的后向预测块。
应理解,在步骤505和步骤507中进行整像素进行搜索时,具体可以采用任何搜索方法。
在步骤506和步骤508中,在计算每个前向预测块的像素值与匹配预测块的像素值的差异,以及每个后向预测块的像素值与匹配预测块的像素值的差异时,可以采用SAD、SATD或者绝对平方差和等来衡量每个前向预测块的像素值与匹配预测块的像素值的差异。但是本申请不限于此,还可以采用其他一些可以用于描述两个预测块之间相似性的参数。
509、根据最优前向预测块和最优后向预测块确定当前图像块的像素值的预测值,其中,当前图像块的像素值的预测值为目标位宽。
在根据最优前向预测块和最优后向预测块确定当前图像块的像素值的预测值时,可以对步骤507和步骤508得到的最优前向预测块的像素值和最优后向预测块的像素值进行加权处理,并将加权处理后得到的像素值作为当前图像块的像素值的预测值。
具体地,可以根据公式(8)得到当前图像块的像素值的预测值。
predSamples’[x][y]=(predSamplesL0’[x][y]+predSamplesL1’[x][y]+1)>>1 (8)
其中,predSamplesL0’为最优前向预测块,predSamplesL1’为最优后向预测块,predSamples’为当前图像块的最终预测块,predSamplesL0’[x][y]为最优前向预测块在像素点(x,y)的像素值,predSamplesL1’[x][y]为最优后向预测块在像素点(x,y)的像素值,predSamples’[x][y]为最终预测块在像素点(x,y)的像素值,Clip3()为限位函数。
应理解,在图13所示的方法中,各种预测块的像素值的位宽为高位宽,能够保证图像预测的准确性,而在图14所示的方法中,各种预测块的像素值的位宽为目标位宽,能够减少图像预测的复杂度。
另外,在图14所示的方法中,在步骤502和步骤503中,在前向参考图像和后向参考图像中得到前向预测块和后向预测块之后,也可以不对前向预测块和后向预测块的像素值进行移位,使得前向预测块和后向预测块的像素值的位宽保持高位宽,这样,能够使得步骤504中得到的初始预测块更加准确。
应理解,在本申请实施例中,在以整像素步长进行迭代搜索以及以分像素步长进行单次搜索时,具体的实现过程可以参照图13和图14中的方法中的流程来进行。
应理解,本申请实施例的图像预测方法可以对应于图1和图2所示的帧间预测,本申请实施例的图像预测方法可以发生在图1和图2所示的帧间预测过程中,本申请实施例的图像预测方法可以具体由编码器或者解码器中的帧间预测模块来执行。另外,本申请实施例的图像预测方法可以在可能需要对视频图像进行编码和/或解码的任何电子设备或者装置内实施。
下面结合图15和图16对本申请实施例的图像预测装置进行详细的描述。其中,图15所示的图像预测装置与图3、图7、图13和图14所示的方法相对应,能够执行图3、图7、图13和图14所示的方法中的各个步骤。图16所示的图像预测装置与图12、图13和图14所示的方法相对应,能够执行图12、图13和图14所示的方法中的各个步骤。为了简洁,下面适当省略重复的描述。
图15是本申请实施例的图像预测装置的示意性框图。图15的装置600包括:
获取模块601,用于获取图像块的预测运动信息;
处理模块602,所述处理模块602用于:根据所述预测运动信息和所述图像块的参考图像确定所述图像块的初始预测块;根据所述预测运动信息在所述参考图像中以整像素步长进行L次迭代搜索,得到所述图像块的中间预测块,其中,L为预设值,L为大于1的整数;在所述参考图像中以分像素步长进行单次搜索,得到所述图像块的M个预测块,其中,M为预设值,M为大于1的整数;根据所述M个预测块和所述中间预测块,确定所述图像块的目标预测块;
预测模块603,用于根据所述目标预测块的像素值,得到所述图像块的像素值的预测值。
本申请中,在以整像素步长进行多次迭代搜索之后,再基于整像素步长迭代搜索的结果以分像素步长进行搜索,并基于分像素步长搜索得到的预测块来确定目标预测块,与交替以整像素步长和分像素步长进行搜索的方式相比,能够减少搜索过程中数据的读取量,减少图像预测的复杂度。
可选地,作为一个实施例,所述处理模块602具体用于:根据所述预测运动信息通过插值滤波器在所述参考图像中获得所述图像块对应的第一预测块和第二预测块,其中,所述插值滤波器的增益大于1;根据所述第一预测块和所述第二预测块,得到所述初始预测块,其中,所述第一预测块、所述第二预测块以及所述初始预测块的像素值的位宽均相同。
可选地,作为一个实施例,所述中间预测块和所述目标预测块的像素值均与所述初始预测块的像素值的位宽相同。
由于初始预测块的像素值具有较高的位宽,而中间预测块和目标预测块的像素值的位宽与初始预测块的像素值的位宽相同,也就是说,中间预测块、初始预测块以及目标预测块均采用较高的位宽来表示像素值,这样,在图像预测过程中通过采用具有较高位宽的像素值,能够提高图像预测的准确性。
可选地,作为一个实施例,所述处理模块602具体用于:根据所述预测运动信息通过插值滤波器在所述参考图像中获得所述图像块对应的第一预测块和第二预测块,其中,所述插值滤波器的增益大于1;对所述第一预测块的像素值和第二预测块的像素值进行移位操作,使得所述第一预测块和所述第二预测块的像素值的位宽减小到目标位宽,其中,所述目标位宽为所述图像块的重建像素值的位宽;根据所述第一预测块和所述第二预测块,得到所述初始预测块,其中,所述初始预测块的像素值的位宽为目标位宽。
可选地,作为一个实施例,所述中间预测块和所述目标预测块的像素值的位宽均为目标位宽。
由于初始预测块、中间预测块以及目标预测块的像素值的位宽均为目标位宽,因此,在对图像进行预测的过程中,能够减少像素值的在不同位宽之间的来回转换,并且根据像素值位宽为目标位宽的目标预测块来确定图像块的像素值的预测值,而不再进行运动补偿获取具有高位宽的像素值的预测块之后再确定图像块的像素值的预测值,节省了运动补偿的操作,简化了图像预测的流程,降低了图像预测的复杂度。
可选地,作为一个实施例,所述处理模块602具体用于:重复执行下列步骤1至步骤3共L次,将得到的最终的初始预测块作为所述中间预测块;
步骤1、获取当前预测运动信息,其中,第一次执行步骤1时,所述当前预测运动信息为所述图像块的预测运动信息,第i次执行步骤1时,所述当前预测运动信息为所述图像块指向当前初始预测块的运动信息,其中i为小于或者等于L且大于1的整数;
步骤2、根据当前预测运动信息在所述参考图像中以整像素步长进行搜索,得到所述图像块对应的N个预测块,其中,N为预设值,N为大于1的整数;
步骤3、根据所述N个预测块和当前初始预测块,得到新的当前初始预测块。
通过多次迭代搜索,能够确定与图像块的像素值比较接近的中间预测块。
可选地,作为一个实施例,所述处理模块602具体用于:将所述M个预测块中像素值与所述中间预测块的像素值差异最小的预测块确定为所述目标预测块。
通过比较M个预测块中的每个预测块与初始预测块的像素值的差异,能够得到与图像块更接近的预测块,从而提高图像预测的效果。
可选地,作为一个实施例,所述参考图像包括第一方向参考图像和第二方向参考图像,所述处理模块602具体用于:在所述第一方向参考图像中以分像素步长进行搜索,得到所述图像块的M个预测块;将所述图像块对应的M个预测块中像素值与所述中间预测块的像素值差异最小的预测块确定为第一目标预测块;确定所述图像块指向所述第一目标预测块的第一运动矢量;根据所述第一运动矢量按照预设规则确定第二运动矢量;根据所述第二运动矢量在所述第二方向参考图像中确定所述图像块对应的第二目标预测块,其中,所述第一方向参考图像和所述第二方向参考图像分别为前向参考图像和后向参考图像,或者,所述第一方向参考图像和所述第二方向参考图像分别为后向参考图像和前向参考图像;根据所述第一目标预测块和所述第二目标预测块,确定所述目标预测块。
通过在一个方向的参考图像中搜索到的预测块来推导图像块在另一个方向的参考图像中的预测块,能够节省大量搜索操作,简化图像预测时的复杂度,同时,由于在确定目标预测块的同时既采用了图像块对应在前向参考图像的预测块也采用了图像块对应在后向参考图像中的预测块,可以在简化图像预测复杂度的同时,保证图像预测的准确性。
可选地,作为一个实施例,在根据所述第一运动矢量按照预设规则确定第二运动矢量之前,所述处理模块602还用于:确定所述图像块与所述第一方向参考图像的距离小于或者等于所述图像块与所述第二方向参考图像的距离。
当图像块与第一方向参考图像的距离较小时,在第一方向参考图像中进行搜索,能够减少搜索的复杂度。
可选地,作为一个实施例,所述获取模块601还用于获得所述图像块指向所述目标预测块的运动矢量;所述处理模块602用于根据所述图像块指向所述目标预测块的运动矢量,得到所述图像块的运动矢量,其中,所述图像块的运动矢量用于对其它图像块进行预测。
根据指向目标预测块的运动矢量来确定图像块的运动矢量,具体可以是将目标运动块的运动矢量直接确定为图像块的运动矢量,也就是对图像块的运动矢量进行了更新,这样就使得在进行下次图像预测时可以根据该图像块对其它图像块进行有效的预测。
应理解,上述装置600可执行上述图3、图7、图13和图14所示的方法,装置600具体可以是视频编码装置、视频解码装置、视频编解码系统或者其他具有视频编解码功能的设备。装置600既可以用于在编码过程中进行图像预测,也可以用于在解码过程中进行图像预测。
图16是本申请实施例的图像预测装置的示意性框图。图16的装置800包括:
获取模块801,用于获取图像块的预测运动信息;
处理模块802,所述处理模块802用于:根据所述预测运动信息和所述图像块的参考图像确定所述图像块的初始预测块;根据所述预测运动信息在所述参考图像中以整像素步长进行单次搜索,得到所述图像块的M个预测块,其中,M为预设值,M为大于1的整数;根据所述M个预测块和所述初始预测块,确定所述图像块的中间预测块;将所述中间预测块确定为所述初始预测块;将所述图像块指向所述中间预测块的运动信息确定为所述预测运动信息;根据所述预测运动信息在所述参考图像中以分像素步长进行L次迭代搜索,得到所述图像块的目标预测块,其中,L为预设值,L为大于1的整数;
预测模块803,用于根据所述目标预测块的像素值,得到所述图像块的像素值的预测值。
本申请中,在以整像素步长进行单次搜索之后,再基于整像素步长单次搜索的结果以分像素步长进行多次迭代搜索,并以分像素步长进行多次迭代搜索得到的预测块来确定目标预测块,与交替以整像素步长和分像素步长进行搜索的方式相比,能够减少搜索过程中数据的读取量,减少图像预测的复杂度。
应理解,上述装置800可执行上述图12、图13和图14所示的方法,装置800具体可以是视频编码装置、视频解码装置、视频编解码系统或者其他具有视频编解码功能的设备。装置800既可以用于在编码过程中进行图像预测,也可以用于在解码过程中进行图像预测。
本申请还提供一种终端设备,所述终端设备包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述程序被执行时,所述处理器用于执行本申请实施例的图像预测方法。
这里的终端设备可以是视频显示设备,智能手机,便携式电脑以及其它可以处理视频或者播放视频的设备。
本申请还提供一种视频编码器,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现本申请实施例的图像预测方法。
本申请还提供一种视频解码器,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现本申请实施例的图像预测方法。
本申请还提供一种视频编码系统,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现本申请实施例的图像预测方法。
本申请还提供一种计算机可读介质,所述计算机可读介质存储用于设备执行的程序代码,所述程序代码包括用于执行本申请实施例的图像预测方法的指令。
本申请还提供一种解码器,所述解码器包括本申请实施例中的图像预测装置(例如装置600、装置800)以及重建模块,其中,所述重建模块用于根据所述图像预测装置得到的所述图像块的像素值的预测值得到所述图像块的重建像素值。
本申请还提供一种编码器,所述编码器包括本申请实施例中的图像预测装置(例如装置600、装置800)以及重建模块,其中,所述重建模块用于根据所述图像预测装置得到的所述图像块的像素值的预测值得到所述图像块的重建像素值。
下面结合图17和图18对能够执行本申请实施例的图像预测方法的视频编码器和视频解码器的结构进行简单的介绍。
图17是本申请实施例的视频编码器的示意性框图。图17所示的视频编码器1000包括:编码端预测模块1001、变换量化模块1002、熵编码模块1003、编码重建模块1004和编码端滤波模块。
图17所示的视频编码器1000可以对视频进行编码,视频编码器1000可以执行图1所示的视频编码过程,从而实现对视频的编码。
视频编码器1000还可以执行本申请实施例的图像预测方法,具体地,视频编码器1000可以执行图3、图7、图12、图13和图14所示的图像预测方法的各个步骤。
本申请实施例中的图像预测装置可以是视频编码器1000中的编码端预测模块1001,具体地,装置600和装置800相当于视频编码器1000中的编码端预测模块1001。
图18是本申请实施例的视频解码器的示意性框图。图18所示的视频解码器2000包括:熵解码模块2001、反变换反量化模块2002、解码端预测模块2003、解码重建模块2004和解码端滤波模块2005。
图18所示的视频解码器2000可以对视频进行编码,视频解码器2000可以执行图2所示的视频解码过程,从而实现对视频的解码
另外,视频解码器2000还可以执行本申请实施例的图像预测方法,具体地,视频解码器2000可以执行图3、图7、图12、图13和图14所示的图像预测方法的各个步骤。
本申请实施例中的图像预测装置可以是视频解码器2000中的解码端预测模块2003,具体地,装置600和装置800相当于视频解码器2000中的解码端预测模块2003。
下面结合图19至图21对本申请实施例的图像预测的方法的应用场景进行介绍,本申请实施例的图像预测的方法可以由图19至图21所示的视频传输系统、编解码装置以及编解码系统来执行。
图19是本申请实施例的视频传输系统的示意性框图。
如图19所示,视频传输系统包括采集模块3001、编码模块3002、发送模块3003、网络传输3004、接收模块3005、解码模块3006、渲染模块3007和显示模块208组成。
其中,视频传输系统中各个模块的具体作用如下:
采集模块3001包含摄像头或者摄像头组,用于采集视频图像,并对采集到的视频图像进行编码前的处理,将光信号转化为数字化的视频序列;
编码模块3002用于对视频序列进行编码,得到码流;
发送模块3003用于将编码得到的码流发送出去;
接收模块3005用于接收发送模块3003发送的码流;
网络3004用于将发送模块3003发送的码流传输到接收模块3005;
解码模块3006用于对接收模块3005接收的码流进行解码,重建视频序列;
渲染模块3007用于对解码模块3006解码得到的重建视频序列进行渲染,以提高视频的显示效果。
图19所示的视频传输系统可以执行本申请实施例的图像预测的方法,具体地,图19所示的视频传输系统中的编码模块3001和解码模块3006都可以执行本申请实施例的图像预测的方法。
另外,图19所示的视频传输系统中的采集模块3001、编码模块3002以及发送模块3003相当于图17所示的视频编码器1000。图19所示的视频传输系统中的接收模块3005、解码模块3006和渲染模块3007相当于图18所示的视频解码器2000。
下面结合图20和图21对编解码装置和编解码装置组成的编解码系统进行详细的介绍。应理解,图20和图21中所示的编解码装置和编解码系统能够执行本申请实施例的图像预测的方法。
图20是本申请实施例的视频编解码装置的示意性图。该视频编解码装置50可以是专门用于对视频图像进行编码和/或解码的装置,也可以是具有视频编解码功能的电子设备,进一步地,该编解码装置50可以是无线通信系统的移动终端或者用户设备。
编解码装置50可以包括下列模块或者单元:控制器56、编码解码器54、无线电接口52、天线44、智能卡46、读卡器48、小键盘34、存储器58、红外线端口42、显示器32。除了图20中所示的模块和单元之外,编解码装置50还可以包括麦克风或者任何适当的音频输入模块,该音频输入模块可以是数字或者模拟信号输入,编解码装置50还可以包括音频输出模块,该音频输出模块可以是耳机、扬声器或者模拟音频或者数字音频输出连接。编解码装置50也可以包括电池,该电池可以是太阳能电池、燃料电池等等。编解码装置50还可以包括用于与其它设备进行近程视线通信的红外线端口,该编解码装置50还可以采用包括任何适当的近程通信方式与其它设备进行通信,例如,蓝牙无线连接、USB/火线有线连接。
存储器58可以存储形式为图像的数据和音频的数据,也可以存储用于在控制器56上执行的指令。
编码解码器54可以实现对音频和/或视频数据的编码和解码或者在控制器56的控制下实现对音频和/或视频数据的辅助编码和辅助解码。
智能卡46和读卡器48可以提供用户信息,也可以提供网络认证和授权用户的认证信息。智能卡46和读卡器48的具体实现形式可以是集成电路卡(Universal IntegratedCircuit Card,UICC)和UICC读取器。
无线电接口电路52可以生成无线通信信号,该无线通信信号可以是在进行蜂窝通信网络、无线通信系统或者无线局域网通信产生的通信信号。
天线44用于向其它装置(装置的数目可以为一个也可以为多个)发送在无线电接口电路52生成的射频信号,并且还可以用于从其它装置(装置的数目可以为一个也可以为多个)接收射频信号。
在本申请的一些实施例中,编解码装置50可以在传输和/或存储之前从另一设备接收待处理的视频图像数据。在本申请的另一些实施例中,编解码装置50可以通过无线或者有线连接接收图像并对接收到的图像进行编码/解码。
图21是本申请实施例的视频编解码系统7000的示意性框图。
如图21所示,视频编解码系统7000包含源装置4000及目的地装置5000。源装置4000产生经过编码后的视频数据,源装置4000也可以被称为视频编码装置或视频编码设备,目的地装置5000可以对源装置4000产生的经过编码后的视频数据进行解码,目的地装置5000也可以被称为视频解码装置或视频解码设备。
源装置4000和目的地装置5000的具体实现形式可以是如下设备中的任意一种:台式计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、智能电话、手持机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机,或者其它类似的设备。
目的地装置5000可以经由信道6000接收来自源装置4000编码后的视频数据。信道6000可包括能够将编码后的视频数据从源装置4000移动到目的地装置5000的一个或多个媒体及/或装置。在一个实例中,信道6000可以包括使源装置4000能够实时地将编码后的视频数据直接发射到目的地装置5000的一个或多个通信媒体,在此实例中,源装置4000可以根据通信标准(例如,无线通信协议)来调制编码后的视频数据,并且可以将调制后的视频数据发射到目的地装置5000。上述一个或多个通信媒体可以包含无线及/或有线通信媒体,例如射频(Radio Frequency,RF)频谱或一根或多根物理传输线。上述一个或多个通信媒体可以形成基于包的网络(例如,局域网、广域网或全球网络(例如,因特网))的部分。上述一个或多个通信媒体可以包含路由器、交换器、基站,或者实现从源装置4000到目的地装置5000的通信的其它设备。
在另一实例中,信道6000可包含存储由源装置4000产生的编码后的视频数据的存储媒体。在此实例中,目的地装置5000可经由磁盘存取或卡存取来存取存储媒体。存储媒体可包含多种本地存取式数据存储媒体,例如蓝光光盘、高密度数字视频光盘(DigitalVideo Disc,DVD)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、快闪存储器,或用于存储经编码视频数据的其它合适数字存储媒体。
在另一实例中,信道6000可包含文件服务器或存储由源装置4000产生的编码后的视频数据的另一中间存储装置。在此实例中,目的地装置5000可经由流式传输或下载来存取存储于文件服务器或其它中间存储装置处的编码后的视频数据。文件服务器可以是能够存储编码后的视频数据且将所述编码后的视频数据发射到目的地装置5000的服务器类型。例如,文件服务器可以包含全球广域网(World Wide Web,Web)服务器(例如,用于网站)、文件传送协议(File Transfer Protocol,FTP)服务器、网络附加存储(Network AttachedStorage,NAS)装置以及本地磁盘驱动器。
目的地装置5000可经由标准数据连接(例如,因特网连接)来存取编码后的视频数据。数据连接的实例类型包含适合于存取存储于文件服务器上的编码后的视频数据的无线信道、有线连接(例如,缆线调制解调器等),或两者的组合。编码后的视频数据从文件服务器的发射可为流式传输、下载传输或两者的组合。
本申请的图像预测方法不限于无线应用场景,示例性的,本申请的图像预测方法可以应用于支持以下应用等多种多媒体应用的视频编解码:空中电视广播、有线电视发射、卫星电视发射、流式传输视频发射(例如,经由因特网)、存储于数据存储媒体上的视频数据的编码、存储于数据存储媒体上的视频数据的解码,或其它应用。在一些实例中,视频编解码系统7000可经配置以支持单向或双向视频发射,以支持例如视频流式传输、视频播放、视频广播及/或视频电话等应用。
在图21中,源装置4000包含视频源4001、视频编码器4002及输出接口4003。在一些实例中,输出接口4003可包含调制器/解调器(调制解调器)及/或发射器。视频源4001可包含视频俘获装置(例如,视频相机)、含有先前俘获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频输入接口,及/或用于产生视频数据的计算机图形系统,或上述视频数据源的组合。
视频编码器4002可编码来自视频源4001的视频数据。在一些实例中,源装置4000经由输出接口4003将编码后的视频数据直接发射到目的地装置5000。编码后的视频数据还可存储于存储媒体或文件服务器上以供目的地装置5000稍后存取以用于解码及/或播放。
在图21的实例中,目的地装置5000包含输入接口5003、视频解码器5002及显示装置5001。在一些实例中,输入接口5003包含接收器及/或调制解调器。输入接口5003可经由信道6000接收编码后的视频数据。显示装置5001可与目的地装置5000整合或可在目的地装置5000外部。一般来说,显示装置5001显示解码后的视频数据。显示装置5001可包括多种显示装置,例如液晶显示器、等离子体显示器、有机发光二极管显示器或其它类型的显示装置。
视频编码器4002及视频解码器5002可根据视频压缩标准(例如,高效率视频编解码H.265标准))而操作,并且可以可遵照高效视频编码(High Efficiency Video Coding,HEVC)测试模型(HM)。H.265标准的文本描述ITU-TH.265(V3)(04/2015)于2015年4月29号发布,可从http://handle.itu.int/11.1002/7000/12455下载,所述文件的全部内容以引用的方式并入本文中。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (17)

1.一种图像预测方法,其特征在于,包括:
获取图像块的预测运动信息;
根据所述预测运动信息和所述图像块的参考图像确定所述图像块的初始预测块;
根据所述预测运动信息在所述参考图像中以整像素步长进行L次迭代搜索,得到所述图像块的中间预测块,其中,L为预设值,L为大于1的整数;
在所述参考图像中以分像素步长进行单次搜索,得到所述图像块的M个预测块,其中,M为预设值,M为大于1的整数;
根据所述M个预测块和所述中间预测块,确定所述图像块的目标预测块;
根据所述目标预测块的像素值,得到所述图像块的像素值的预测值。
2.如权利要求1所述的方法,其特征在于,所述根据所述预测运动信息和所述图像块的参考图像确定所述图像块的初始预测块,包括:
根据所述预测运动信息通过插值滤波器在所述参考图像中获得所述图像块对应的第一预测块和第二预测块,其中,所述插值滤波器的增益大于1;
根据所述第一预测块和所述第二预测块,得到所述初始预测块,其中,所述第一预测块、所述第二预测块以及所述初始预测块的像素值的位宽均相同。
3.如权利要求1所述的方法,其特征在于,所述根据所述预测运动信息和所述图像块的参考图像确定所述图像块的初始预测块,包括:
根据所述预测运动信息通过插值滤波器在所述参考图像中获得所述图像块对应的第一预测块和第二预测块,其中,所述插值滤波器的增益大于1;
对所述第一预测块的像素值和第二预测块的像素值进行移位操作,使得所述第一预测块和所述第二预测块的像素值的位宽减小到目标位宽,其中,所述目标位宽为所述图像块的重建像素值的位宽;
根据所述第一预测块和所述第二预测块,得到所述初始预测块,其中,所述初始预测块的像素值的位宽为目标位宽。
4.如权利要求1-3中任一项所述的方法,其特征在于,所述根据所述预测运动信息在所述参考图像中以整像素步长进行L次迭代搜索包括:
重复执行下列步骤1至步骤3共L次,将得到的最终的初始预测块作为所述中间预测块;
步骤1、获取当前预测运动信息,其中,第一次执行步骤1时,所述当前预测运动信息为所述图像块的预测运动信息,第i次执行步骤1时,所述当前预测运动信息为所述图像块指向当前初始预测块的运动信息,其中i为小于或者等于L且大于1的整数;
步骤2、根据当前预测运动信息在所述参考图像中以整像素步长进行搜索,得到所述图像块对应的N个预测块,其中,N为预设值,N为大于1的整数;
步骤3、根据所述N个预测块和当前初始预测块,得到新的当前初始预测块。
5.如权利要求1-4中任一项所述的方法,其特征在于,所述根据所述M个预测块和所述中间预测块,确定所述图像块的目标预测块,包括:
将所述M个预测块中像素值与所述中间预测块的像素值差异最小的预测块确定为所述目标预测块。
6.如权利要求1-5中任一项所述的方法,所述参考图像包括第一方向参考图像和第二方向参考图像,所述在所述参考图像中以分像素步长进行单次搜索,得到所述图像块的M个预测块,包括:
在所述第一方向参考图像中以分像素步长进行搜索,得到所述图像块的M个预测块;
所述根据所述M个预测块和所述中间预测块,确定所述图像块的目标预测块,包括:
将所述图像块对应的M个预测块中像素值与所述中间预测块的像素值差异最小的预测块确定为第一目标预测块;
确定所述图像块指向所述第一目标预测块的第一运动矢量;
根据所述第一运动矢量按照预设规则确定第二运动矢量;
根据所述第二运动矢量在所述第二方向参考图像中确定所述图像块对应的第二目标预测块,其中,所述第一方向参考图像和所述第二方向参考图像分别为前向参考图像和后向参考图像,或者,所述第一方向参考图像和所述第二方向参考图像分别为后向参考图像和前向参考图像;
根据所述第一目标预测块和所述第二目标预测块,确定所述目标预测块。
7.如权利要求6所述的方法,其特征在于,在根据所述第一运动矢量按照预设规则确定第二运动矢量之前,所述方法还包括:
确定所述图像块与所述第一方向参考图像的距离小于或者等于所述图像块与所述第二方向参考图像的距离。
8.一种图像预测方法,其特征在于,包括:
获取图像块的预测运动信息;
根据所述预测运动信息和所述图像块的参考图像确定所述图像块的初始预测块;
根据所述预测运动信息在所述参考图像中以整像素步长进行单次搜索,得到所述图像块的M个预测块,其中,M为预设值,M为大于1的整数;
根据所述M个预测块和所述初始预测块,确定所述图像块的中间预测块;
将所述中间预测块确定为所述初始预测块;
将所述图像块指向所述中间预测块的运动信息确定为所述预测运动信息;
根据所述预测运动信息在所述参考图像中以分像素步长进行L次迭代搜索,得到所述图像块的目标预测块,其中,L为预设值,L为大于1的整数;
根据所述目标预测块的像素值,得到所述图像块的像素值的预测值。
9.一种图像预测装置,其特征在于,包括:
获取模块,用于获取图像块的预测运动信息;
处理模块,所述处理模块用于:
根据所述预测运动信息和所述图像块的参考图像确定所述图像块的初始预测块;
根据所述预测运动信息在所述参考图像中以整像素步长进行L次迭代搜索,得到所述图像块的中间预测块,其中,L为预设值,L为大于1的整数;
在所述参考图像中以分像素步长进行单次搜索,得到所述图像块的M个预测块,其中,M为预设值,M为大于1的整数;
根据所述M个预测块和所述中间预测块,确定所述图像块的目标预测块;
预测模块,用于根据所述目标预测块的像素值,得到所述图像块的像素值的预测值。
10.如权利要求9所述的装置,其特征在于,所述处理模块具体用于:
根据所述预测运动信息通过插值滤波器在所述参考图像中获得所述图像块对应的第一预测块和第二预测块,其中,所述插值滤波器的增益大于1;
根据所述第一预测块和所述第二预测块,得到所述初始预测块,其中,所述第一预测块、所述第二预测块以及所述初始预测块的像素值的位宽均相同。
11.如权利要求9所述的装置,其特征在于,所述处理模块具体用于:
根据所述预测运动信息通过插值滤波器在所述参考图像中获得所述图像块对应的第一预测块和第二预测块,其中,所述插值滤波器的增益大于1;
对所述第一预测块的像素值和第二预测块的像素值进行移位操作,使得所述第一预测块和所述第二预测块的像素值的位宽减小到目标位宽,其中,所述目标位宽为所述图像块的重建像素值的位宽;
根据所述第一预测块和所述第二预测块,得到所述初始预测块,其中,所述初始预测块的像素值的位宽为目标位宽。
12.如权利要求9-11中任一项所述的装置,其特征在于,所述处理模块具体用于:
重复执行下列步骤1至步骤3共L次,将得到的最终的初始预测块作为所述中间预测块;
步骤1、获取当前预测运动信息,其中,第一次执行步骤1时,所述当前预测运动信息为所述图像块的预测运动信息,第i次执行步骤1时,所述当前预测运动信息为所述图像块指向当前初始预测块的运动信息,其中i为小于或者等于L且大于1的整数;
步骤2、根据当前预测运动信息在所述参考图像中以整像素步长进行搜索,得到所述图像块对应的N个预测块,其中,N为预设值,N为大于1的整数;
步骤3、根据所述N个预测块和当前初始预测块,得到新的当前初始预测块。
13.如权利要求9-12中任一项所述的装置,其特征在于,所述处理模块具体用于:
将所述M个预测块中像素值与所述中间预测块的像素值差异最小的预测块确定为所述目标预测块。
14.如权利要求9-13中任一项所述的装置,所述参考图像包括第一方向参考图像和第二方向参考图像,所述处理模块具体用于:
在所述第一方向参考图像中以分像素步长进行搜索,得到所述图像块的M个预测块;
将所述图像块对应的M个预测块中像素值与所述中间预测块的像素值差异最小的预测块确定为第一目标预测块;
确定所述图像块指向所述第一目标预测块的第一运动矢量;
根据所述第一运动矢量按照预设规则确定第二运动矢量;
根据所述第二运动矢量在所述第二方向参考图像中确定所述图像块对应的第二目标预测块,其中,所述第一方向参考图像和所述第二方向参考图像分别为前向参考图像和后向参考图像,或者,所述第一方向参考图像和所述第二方向参考图像分别为后向参考图像和前向参考图像;
根据所述第一目标预测块和所述第二目标预测块,确定所述目标预测块。
15.如权利要求14所述的装置,其特征在于,在根据所述第一运动矢量按照预设规则确定第二运动矢量之前,所述处理模块还用于:
确定所述图像块与所述第一方向参考图像的距离小于或者等于所述图像块与所述第二方向参考图像的距离。
16.一种图像预测装置,其特征在于,包括:
获取模块,用于获取图像块的预测运动信息;
处理模块,所述处理模块用于:
根据所述预测运动信息和所述图像块的参考图像确定所述图像块的初始预测块;
根据所述预测运动信息在所述参考图像中以整像素步长进行单次搜索,得到所述图像块的M个预测块,其中,M为预设值,M为大于1的整数;
根据所述M个预测块和所述初始预测块,确定所述图像块的中间预测块;
将所述中间预测块确定为所述初始预测块;
将所述图像块指向所述中间预测块的运动信息确定为所述预测运动信息;
根据所述预测运动信息在所述参考图像中以分像素步长进行L次迭代搜索,得到所述图像块的目标预测块,其中,L为预设值,L为大于1的整数;
预测模块,用于根据所述目标预测块的像素值,得到所述图像块的像素值的预测值。
17.一种终端设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的程序,当所述程序被执行时,所述处理器用于执行如权利要求1-7中任一项所述的方法。
CN201711086572.6A 2017-11-07 2017-11-07 图像预测方法和装置 Active CN109756739B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201711086572.6A CN109756739B (zh) 2017-11-07 2017-11-07 图像预测方法和装置
PCT/CN2018/112450 WO2019091302A1 (en) 2017-11-07 2018-10-29 Image prediction method and apparatus
US16/815,914 US11109060B2 (en) 2017-11-07 2020-03-11 Image prediction method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711086572.6A CN109756739B (zh) 2017-11-07 2017-11-07 图像预测方法和装置

Publications (2)

Publication Number Publication Date
CN109756739A true CN109756739A (zh) 2019-05-14
CN109756739B CN109756739B (zh) 2022-09-02

Family

ID=66400195

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711086572.6A Active CN109756739B (zh) 2017-11-07 2017-11-07 图像预测方法和装置

Country Status (3)

Country Link
US (1) US11109060B2 (zh)
CN (1) CN109756739B (zh)
WO (1) WO2019091302A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111885389A (zh) * 2020-07-24 2020-11-03 腾讯科技(深圳)有限公司 一种多媒体数据编码方法、装置及存储介质
CN113411611A (zh) * 2021-06-30 2021-09-17 脸萌有限公司 视频图像处理方法、设备及电子设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024012559A1 (en) * 2022-07-14 2024-01-18 Zhejiang Dahua Technology Co., Ltd. Methods, systems, and storage mediums for video encoding and decoding

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101247523A (zh) * 2008-03-18 2008-08-20 上海华平信息技术股份有限公司 用于h.264编码器的半像素运动估计方法
CN101505427A (zh) * 2009-02-20 2009-08-12 杭州爱威芯科技有限公司 视频压缩编码算法中的运动估计装置
CN102387360A (zh) * 2010-09-02 2012-03-21 乐金电子(中国)研究开发中心有限公司 视频编解码帧间图像预测方法及视频编解码器
US20130051473A1 (en) * 2011-08-26 2013-02-28 Tsui-Chin Chen Estimating Method of Predicted Motion Vector
CN103108177A (zh) * 2011-11-09 2013-05-15 华为技术有限公司 图像编码方法及图像编码装置
CN103503458A (zh) * 2011-01-07 2014-01-08 诺基亚公司 视频编码中的运动预测
WO2015035769A1 (zh) * 2013-09-11 2015-03-19 华为技术有限公司 运动矢量的获取方法、获取装置、视频编解码器及其方法
US20160360234A1 (en) * 2015-06-03 2016-12-08 Apple Inc. Techniques For Resource Conservation During Performance Of Intra Block Copy Prediction Searches
CN106878737A (zh) * 2017-03-02 2017-06-20 西安电子科技大学 高效视频编码中的运动估计加速方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100244291B1 (ko) * 1997-07-30 2000-02-01 구본준 동영상 움직임 벡터 코딩 방법
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US8824553B2 (en) * 2003-05-12 2014-09-02 Google Inc. Video compression method
US7580456B2 (en) * 2005-03-01 2009-08-25 Microsoft Corporation Prediction-based directional fractional pixel motion estimation for video coding
TW200850006A (en) * 2007-06-01 2008-12-16 Nat Univ Chung Cheng Scalable fractional motion estimation method for multimedia encoding system
US9332264B2 (en) * 2007-12-30 2016-05-03 Intel Corporation Configurable performance motion estimation for video encoding
US8325796B2 (en) * 2008-09-11 2012-12-04 Google Inc. System and method for video coding using adaptive segmentation
KR101279573B1 (ko) * 2008-10-31 2013-06-27 에스케이텔레콤 주식회사 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
US20100220786A1 (en) * 2009-02-27 2010-09-02 Hong Kong Applied Science and Technology Research Institute Company Limited Method and apparatus for multiple reference picture motion estimation
US10178406B2 (en) * 2009-11-06 2019-01-08 Qualcomm Incorporated Control of video encoding based on one or more video capture parameters
TW201146019A (en) * 2010-06-02 2011-12-16 Nat Univ Chung Cheng Decimal pixel moving estimation method having dynamic selection mode
US10327008B2 (en) * 2010-10-13 2019-06-18 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
JP6331394B2 (ja) * 2011-11-24 2018-05-30 日本電気株式会社 映像符号化装置、映像符号化方法及びプログラム
US9503746B2 (en) * 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
US9756331B1 (en) * 2013-06-17 2017-09-05 Google Inc. Advance coded reference prediction
US9774881B2 (en) * 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
US9942560B2 (en) * 2014-01-08 2018-04-10 Microsoft Technology Licensing, Llc Encoding screen capture data
US10200713B2 (en) * 2015-05-11 2019-02-05 Qualcomm Incorporated Search region determination for inter coding within a particular picture of video data
US10477233B2 (en) * 2015-09-30 2019-11-12 Apple Inc. Predictor candidates for motion estimation search systems and methods
KR20180081716A (ko) * 2015-11-13 2018-07-17 엘지전자 주식회사 영상 코딩 시스템에서 임계값을 이용한 적응적 영상 예측 방법 및 장치
WO2017094298A1 (ja) * 2015-12-04 2017-06-08 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
US10812791B2 (en) * 2016-09-16 2020-10-20 Qualcomm Incorporated Offset vector identification of temporal motion vector predictor
US10142633B2 (en) * 2016-12-21 2018-11-27 Intel Corporation Flexible coding unit ordering and block sizing
CN118678099A (zh) * 2017-11-09 2024-09-20 三星电子株式会社 运动信息编码设备、运动信息解码设备和比特流发送方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101247523A (zh) * 2008-03-18 2008-08-20 上海华平信息技术股份有限公司 用于h.264编码器的半像素运动估计方法
CN101505427A (zh) * 2009-02-20 2009-08-12 杭州爱威芯科技有限公司 视频压缩编码算法中的运动估计装置
CN102387360A (zh) * 2010-09-02 2012-03-21 乐金电子(中国)研究开发中心有限公司 视频编解码帧间图像预测方法及视频编解码器
CN103503458A (zh) * 2011-01-07 2014-01-08 诺基亚公司 视频编码中的运动预测
US20130051473A1 (en) * 2011-08-26 2013-02-28 Tsui-Chin Chen Estimating Method of Predicted Motion Vector
CN103108177A (zh) * 2011-11-09 2013-05-15 华为技术有限公司 图像编码方法及图像编码装置
WO2015035769A1 (zh) * 2013-09-11 2015-03-19 华为技术有限公司 运动矢量的获取方法、获取装置、视频编解码器及其方法
US20160360234A1 (en) * 2015-06-03 2016-12-08 Apple Inc. Techniques For Resource Conservation During Performance Of Intra Block Copy Prediction Searches
CN106878737A (zh) * 2017-03-02 2017-06-20 西安电子科技大学 高效视频编码中的运动估计加速方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111885389A (zh) * 2020-07-24 2020-11-03 腾讯科技(深圳)有限公司 一种多媒体数据编码方法、装置及存储介质
CN111885389B (zh) * 2020-07-24 2021-08-24 腾讯科技(深圳)有限公司 一种多媒体数据编码方法、装置及存储介质
CN113411611A (zh) * 2021-06-30 2021-09-17 脸萌有限公司 视频图像处理方法、设备及电子设备
CN113411611B (zh) * 2021-06-30 2023-06-20 脸萌有限公司 视频图像处理方法、设备及电子设备

Also Published As

Publication number Publication date
CN109756739B (zh) 2022-09-02
WO2019091302A1 (en) 2019-05-16
US20200213616A1 (en) 2020-07-02
US11109060B2 (en) 2021-08-31

Similar Documents

Publication Publication Date Title
CN109274969A (zh) 色度预测的方法和设备
JP7485839B2 (ja) ビデオピクチャ予測方法及び装置
CN104023240B (zh) 图像处理设备和方法
KR102620024B1 (ko) 아핀 모션 모델을 기반으로 한 모션 벡터 예측 방법 및 디바이스
CN103404144A (zh) 视频译码中的经量化脉码调制
CN109996080A (zh) 图像的预测方法、装置及编解码器
CN110741641B (zh) 用于视频压缩的方法和装置
CN109905714A (zh) 帧间预测方法、装置及终端设备
CN109218733A (zh) 一种确定运动矢量预测值的方法以及相关设备
KR20210020971A (ko) 영상 변환 부호화/복호화 방법 및 장치
CN111699688B (zh) 帧间预测的方法和装置
CN109756739A (zh) 图像预测方法和装置
US20140119446A1 (en) Preserving rounding errors in video coding
JP2022526839A (ja) ビデオデコーディング方法、及びビデオデコーディングシステム
CN109565588A (zh) 色度预测的方法及装置
CN109922340B (zh) 图像编解码方法、装置、系统及存储介质
CN109565601B (zh) 一种基于模板匹配的预测方法及装置
CN109756737B (zh) 图像预测方法和装置
WO2019233423A1 (zh) 获取运动矢量的方法和装置
CN107079156A (zh) 交替块约束决策模式代码化
US20140118460A1 (en) Video Coding
CN111355961A (zh) 一种帧间预测的方法和装置
US20240298001A1 (en) Group of pictures size determination method and electronic device
CN111050164B (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