CN109479143B - 一种帧间预测的图像编解码方法和装置 - Google Patents

一种帧间预测的图像编解码方法和装置 Download PDF

Info

Publication number
CN109479143B
CN109479143B CN201680088009.XA CN201680088009A CN109479143B CN 109479143 B CN109479143 B CN 109479143B CN 201680088009 A CN201680088009 A CN 201680088009A CN 109479143 B CN109479143 B CN 109479143B
Authority
CN
China
Prior art keywords
block
prediction
prediction block
coding
decoded
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
CN201680088009.XA
Other languages
English (en)
Other versions
CN109479143A (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
Publication of CN109479143A publication Critical patent/CN109479143A/zh
Application granted granted Critical
Publication of CN109479143B publication Critical patent/CN109479143B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/53Multi-resolution motion estimation; Hierarchical motion estimation
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

本申请公开了一种帧间预测的图像编解码方法和装置,解码方法为,确定第一解码块的预测运动信息,根据预测运动信息对第一解码块进行双向预测得到第一解码预测块;对预测参考图像块进行第一精度的运动搜索,得到至少一个第二解码预测块,运动搜索的搜索位置由运动矢量预测值和第一精度确定;计算第一解码预测块和每个第二解码预测块的差异,获得第一解码块的目标运动矢量预测值,通过运动搜索更新目标运动矢量预测值,提高了帧间预测的运动精度。

Description

一种帧间预测的图像编解码方法和装置
技术领域
本申请实施例涉及视频图像技术领域,尤其涉及一种帧间预测的图像编解码方法和装置。
背景技术
在视频编码和解码框架中,混合编码结构通常用于视频序列的编码和解码。混合编码结构的编码端通常包括:预测模块、变换模块、量化模块和熵编码模块;混合编码结构的解码端通常包括:熵解码模块、反量化模块、反变换模块和预测补偿模块。这些编码和解码模块的组合可以有效去除视频序列的冗余信息,并能保证在解码端得到视频序列的编码图像。
在视频编码和解码框架中,视频序列的图像通常划分成图像块进行编码。一幅图像被划分成若干图像块,这些图像块使用上述模块进行编码和解码。
在上述模块中,预测模块用于编码端获得视频序列编码图像的图像块的预测块信息,进而根据具体模式确定是否需要得到图像块的残差。预测补偿模块用于解码端获得当前解码图像块的预测块信息,再根据具体模式确定是否根据解码得到的图像块残差来获得当前解码图像块。其中,预测模块和预测补偿模块中通常包含帧内预测和帧间预测两种技术。在帧间预测技术里,用于帧间预测的当前图像邻近的图像被称为参考图像。
帧间预测技术的编解码端为了有效去除当前图像块的冗余信息,需要在参考图像中获得与当前图像块最相似的匹配图像块,进而减少当前图像块的残差。当前图像块进行帧间预测时会根据预测运动信息在参考图像中搜索合适的匹配图像块,此时预测运动信息中的运动矢量信息由相邻块的运动矢量信息所确定,即前一参考图像的所有信息均有可能用于当前图像块的编解码。由此可知,帧间编解码中都直接采用了相邻块的运动矢量信息作为当前块的运动矢量预测值,这种帧间预测的运动矢量预测值的直接获取方式不可避免的会导致预测运动精度的偏差。
发明内容
本申请实施例提供一种帧间预测的图像编解码方法和装置,以提高帧间预测的运动精度。
第一方面,提供一种帧间预测的图像编码方法,包括:确定第一编码块的预测运动信息,所述预测运动信息包括运动矢量预测值和预测参考图像信息,所述预测参考图像信息用于表征预测参考图像块;根据所述预测运动信息对所述第一编码块进行双向预测得到所述第一编码块的初始编码预测块,并根据所述初始编码预测块得到所述第一编码块的第一编码预测块;对所述预测参考图像块进行第一精度的运动搜索,得到至少一个第二编码预测块,所述运动搜索的搜索位置由所述运动矢量预测值和所述第一精度确定;计算所述第一编码预测块和每个所述第二编码预测块的差异,将所述差异最小的第二编码预测块与所述第一编码块间的运动矢量预测值作为所述第一编码块的目标运动矢量预测值;根据所述目标运动矢量预测值,对所述第一编码块进行双向预测得到所述第一编码块的第三编码预测块;根据所述第三编码预测块得到所述第一编码块的目标编码预测块,并根据所述目标编码预测块对所述第一编码块进行编码。
该有益效果在于,编码端在对第一编码块编码时,能够通过运动搜索更新目标运动矢量预测值,从而提高帧间预测的运动精度。
结合第一方面,一种可能的设计中,所述预测运动信息包括前向预测运动信息和后向预测运动信息,所述运动矢量预测值包括前向运动矢量预测值和后向运动矢量预测值,所述预测参考图像块包括前向预测参考图像块和后向预测参考图像块。
结合第一方面,一种可能的设计中,所述初始编码预测块包括前向初始编码预测块和后向初始编码预测块,所述根据所述预测运动信息对所述第一编码块进行双向预测得到所述第一编码块的初始编码预测块,包括:根据所述前向预测运动信息对所述第一编码块进行前向预测得到所述第一编码块的前向初始编码预测块;根据所述后向预测运动信息对所述第一编码块进行后向预测得到所述第一编码块的后向初始编码预测块。
结合第一方面,一种可能的设计中,所述根据所述初始编码预测块得到所述第一编码块的第一编码预测块,包括以下方式:将所述前向初始编码预测块和所述后向初始编码预测块进行加权求和得到所述第一编码块的第一编码预测块;或将所述前向初始编码预测块作为所述第一编码块的第一编码预测块;或将所述后向初始编码预测块作为所述第一编码块的第一编码预测块。
该有益效果在于,编码端对第一编码块根据预测运动信息进行双向预测后,可以综合前后向的初始编码预测块得到第一编码预测块,也可以根据单个方向的初始编码预测块得到第一编码预测块,实现方式多样,可以根据实际情形灵活选择。
结合第一方面,一种可能的设计中,所述第二编码预测块包括前向第二编码预测块和后向第二编码预测块,所述对预测参考图像块进行第一精度的运动搜索,得到至少一个第二编码预测块,包括:根据所述前向运动矢量预测值对所述前向预测参考图像块进行第一精度的运动搜索,将每次搜索所得到的前向编码预测块作为前向第二编码预测块,得到所述至少一个第二编码预测块;根据所述后向运动矢量预测值对所述后向预测参考图像块进行第一精度的运动搜索,将每次搜索所得到的后向编码预测块作为后向第二编码预测块,得到所述至少一个第二编码预测块;其中,所述第一精度包括整像素精度或1/2像素精度或1/4像素精度或1/8像素精度。
结合第一方面,一种可能的设计中,所述目标运动矢量预测值包括目标前向运动矢量预测值和目标后向运动矢量预测值,所述计算所述第一编码预测块和每个所述第二编码预测块的差异,将所述差异最小的第二编码预测块与所述第一编码块间的运动矢量预测值作为所述第一编码块的目标运动矢量预测值,包括:将每个前向第二编码预测块与所述第一编码预测块进行差异比较,所述差异最小的前向第二编码预测块与所述第一编码块间的目标前向运动矢量预测值作为所述目标运动矢量预测值;将每个后向第二编码预测块与所述第一编码预测块进行差异比较,所述差异最小的后向第二编码预测块与所述第一编码块间的目标后向运动矢量预测值作为所述目标运动矢量预测值。
该有益效果在于,通过对预测参考图像块进行运动搜索得到的第二编码预测块与第一编码预测块进行差异比较,来更新第一编码块的目标运动矢量预测值,从而达到帧间预测的运动精度改进。
结合第一方面,一种可能的设计中,所述第一编码块的第三编码预测块包括前向第三编码预测块和后向第三编码预测块,所述根据所述目标运动矢量预测值,对所述第一编码块进行双向预测得到所述第一编码块的第三编码预测块,包括:根据所述目标前向运动矢量预测值对所述第一编码块进行前向预测得到所述第一编码块的前向第三编码预测块;根据所述目标后向运动矢量预测值对所述第一编码块进行后向预测得到所述第一编码块的后向第三编码预测块。
结合第一方面,一种可能的设计中,所述根据所述第三编码预测块得到所述第一编码块的目标编码预测块,包括:将所述前向第三编码预测块和后向第三编码预测块进行加权求和得到所述第一编码块的目标编码预测块;或将所述前向第三编码预测块作为所述第一编码块的目标编码预测块;或将所述后向第三编码预测块作为所述第一编码块的目标编码预测块。
该有益效果在于,编码端对第三编码块根据目标运动矢量预测值进行双向预测后得到第三编码预测块,可以综合前后向的第三编码预测块得到第一编码块的目标编码预测块,也可以根据单个方向的第三编码预测块得到第一编码块的目标编码预测块,实现方式多样,可以根据实际情形灵活选择。
第二方面,提供一种帧间预测的图像解码方法,包括:确定第一解码块的预测运动信息,所述预测运动信息包括运动矢量预测值和预测参考图像信息,所述预测参考图像信息用于表征预测参考图像块;根据所述预测运动信息对所述第一解码块进行双向预测得到所述第一解码块的初始解码预测块,并根据所述初始解码预测块得到所述第一解码块的第一解码预测块;对所述预测参考图像块进行第一精度的运动搜索,得到至少一个第二解码预测块,所述运动搜索的搜索位置由所述运动矢量预测值和所述第一精度确定;计算所述第一解码预测块和每个所述第二解码预测块的差异,将所述差异最小的第二解码预测块与所述第一解码块间的运动矢量预测值作为所述第一解码块的目标运动矢量预测值;根据所述目标运动矢量预测值,对所述第一解码块进行双向预测得到所述第一解码块的第三解码预测块;根据所述第三解码预测块得到所述第一解码块的目标解码预测块,并根据所述目标解码预测块对所述第一解码块进行解码。
该有益效果在于,解码端在对第一解码块编码时,能够通过运动搜索更新目标运动矢量预测值,从而提高帧间预测的运动精度。
结合第二方面,一种可能的设计中,所述预测运动信息包括前向预测运动信息和后向预测运动信息,所述运动矢量预测值包括前向运动矢量预测值和后向运动矢量预测值,所述预测参考图像块包括前向预测参考图像块和后向预测参考图像块。
结合第二方面,一种可能的设计中,所述初始解码预测块包括前向初始解码预测块和后向初始解码预测块,所述根据所述预测运动信息对所述第一解码块进行双向预测得到所述第一解码块的初始解码预测块,包括:根据所述前向预测运动信息对所述第一解码块进行前向预测得到所述第一解码块的前向初始解码预测块;根据所述后向预测运动信息对所述第一解码块进行后向预测得到所述第一解码块的后向初始解码预测块。
结合第二方面,一种可能的设计中,所述根据所述初始解码预测块得到所述第一解码块的第一解码预测块,包括以下方式:将所述前向初始解码预测块和所述后向初始解码预测块进行加权求和得到所述第一解码块的第一解码预测块;或将所述前向初始解码预测块作为所述第一解码块的第一解码预测块;或将所述后向初始解码预测块作为所述第一解码块的第一解码预测块。
该有益效果在于,解码端对第一解码块根据预测运动信息进行双向预测后,可以综合前后向的初始解码预测块得到第一解码预测块,也可以根据单个方向的初始解码预测块得到第一解码预测块,实现方式多样,可以根据实际情形灵活选择。
结合第二方面,一种可能的设计中,所述第二解码预测块包括前向第二解码预测块和后向第二解码预测块,所述对预测参考图像块进行第一精度的运动搜索,得到至少一个第二解码预测块,包括:根据所述前向运动矢量预测值对所述前向预测参考图像块进行第一精度的运动搜索,将每次搜索所得到的前向解码预测块作为前向第二解码预测块,得到所述至少一个第二解码预测块;根据所述后向运动矢量预测值对所述后向预测参考图像块进行第一精度的运动搜索,将每次搜索所得到的后向解码预测块作为后向第二解码预测块,得到所述至少一个第二解码预测块;其中,所述第一精度包括整像素精度或1/2像素精度或1/4像素精度或1/8像素精度。
结合第二方面,一种可能的设计中,所述目标运动矢量预测值包括目标前向运动矢量预测值和目标后向运动矢量预测值,所述计算所述第一解码预测块和每个所述第二解码预测块的差异,将所述差异最小的第二解码预测块与所述第一解码块间的运动矢量预测值作为所述第一解码块的目标运动矢量预测值,包括:将每个前向第二解码预测块与所述第一解码预测块进行差异比较,所述差异最小的前向第二解码预测块与所述第一解码块间的目标前向运动矢量预测值作为所述目标运动矢量预测值;将每个后向第二解码预测块与所述第一解码预测块进行差异比较,所述差异最小的后向第二解码预测块与所述第一解码块间的目标后向运动矢量预测值作为所述目标运动矢量预测值。
该有益效果在于,通过对预测参考图像块进行运动搜索得到的第二解码预测块与第一解码预测块进行差异比较,来更新第一解码块的目标运动矢量预测值,从而达到帧间预测的运动精度改进。
结合第二方面,一种可能的设计中,所述第一解码块的第三解码预测块包括前向第三解码预测块和后向第三解码预测块,所述根据所述目标运动矢量预测值,对所述第一解码块进行双向预测得到所述第一解码块的第三解码预测块,包括:根据所述目标前向运动矢量预测值对所述第一解码块进行前向预测得到所述第一解码块的前向第三解码预测块;根据所述目标后向运动矢量预测值对所述第一解码块进行后向预测得到所述第一解码块的后向第三解码预测块。
结合第二方面,一种可能的设计中,所述根据所述第三解码预测块得到所述第一解码块的目标解码预测块,包括以下方式:将所述前向第三解码预测块和后向第三解码预测块进行加权求和得到所述第一解码块的目标解码预测块;或将所述前向第三解码预测块作为所述第一解码块的目标解码预测块;或将所述后向第三解码预测块作为所述第一解码块的目标解码预测块。
该有益效果在于,解码端对第三解码块根据目标运动矢量预测值进行双向预测后得到第三解码预测块,可以综合前后向的第三解码预测块得到第一解码块的目标解码预测块,也可以根据单个方向的第三解码预测块得到第一解码块的目标解码预测块,实现方式多样,可以根据实际情形灵活选择。
第三方面,提供一种帧间预测的图像编码装置,包括:确定单元,用于确定第一编码块的预测运动信息,所述预测运动信息包括运动矢量预测值和预测参考图像信息,所述预测参考图像信息用于表征预测参考图像块;处理单元,用于根据所述预测运动信息对所述第一编码块进行双向预测得到所述第一编码块的初始编码预测块,并根据所述初始编码预测块得到所述第一编码块的第一编码预测块;对所述预测参考图像块进行第一精度的运动搜索,得到至少一个第二编码预测块,所述运动搜索的搜索位置由所述运动矢量预测值和所述第一精度确定;计算所述第一编码预测块和每个所述第二编码预测块的差异,将所述差异最小的第二编码预测块与所述第一编码块间的运动矢量预测值作为所述第一编码块的目标运动矢量预测值;根据所述目标运动矢量预测值,对所述第一编码块进行双向预测得到所述第一编码块的第三编码预测块;编码单元,用于根据所述第三编码预测块得到所述第一编码块的目标编码预测块,并根据所述目标编码预测块对所述第一编码块进行编码。
结合第三方面,一种可能的设计中,所述预测运动信息包括前向预测运动信息和后向预测运动信息,所述运动矢量预测值包括前向运动矢量预测值和后向运动矢量预测值,所述预测参考图像块包括前向预测参考图像块和后向预测参考图像块。
结合第三方面,一种可能的设计中,所述初始编码预测块包括前向初始编码预测块和后向初始编码预测块,所述处理单元在根据所述预测运动信息对所述第一编码块进行双向预测得到所述第一编码块的初始编码预测块时,具体用于:根据所述前向预测运动信息对所述第一编码块进行前向预测得到所述第一编码块的前向初始编码预测块;根据所述后向预测运动信息对所述第一编码块进行后向预测得到所述第一编码块的后向初始编码预测块。
结合第三方面,一种可能的设计中,所述处理单元在根据所述初始编码预测块得到所述第一编码块的第一编码预测块时,具体用于:将所述前向初始编码预测块和所述后向初始编码预测块进行加权求和得到所述第一编码块的第一编码预测块;或将所述前向初始编码预测块作为所述第一编码块的第一编码预测块;或将所述后向初始编码预测块作为所述第一编码块的第一编码预测块。
结合第三方面,一种可能的设计中,所述第二编码预测块包括前向第二编码预测块和后向第二编码预测块,所述处理单元在根据所述运动矢量预测值对预测参考图像块进行第一精度的运动搜索,得到至少一个第二编码预测块时,具体用于:根据所述前向运动矢量预测值对所述前向预测参考图像块进行第一精度的运动搜索,将每次搜索所得到的前向编码预测块作为前向第二编码预测块,得到所述至少一个第二编码预测块;根据所述后向运动矢量预测值对所述后向预测参考图像块进行第一精度的运动搜索,将每次搜索所得到的后向编码预测块作为后向第二编码预测块,得到所述至少一个第二编码预测块;其中,所述第一精度包括整像素精度或1/2像素精度或1/4像素精度或1/8像素精度。
结合第三方面,一种可能的设计中,所述目标运动矢量预测值包括目标前向运动矢量预测值和目标后向运动矢量预测值,所述处理单元在计算所述第一编码预测块和每个所述第二编码预测块的差异,将所述差异最小的第二编码预测块与所述第一编码块间的运动矢量预测值作为所述第一编码块的目标运动矢量预测值时,具体用于:将每个前向第二编码预测块与所述第一编码预测块进行差异比较,所述差异最小的前向第二编码预测块与所述第一编码块间的目标前向运动矢量预测值作为所述目标运动矢量预测值;将每个后向第二编码预测块与所述第一编码预测块进行差异比较,所述差异最小的后向第二编码预测块与所述第一编码块间的目标后向运动矢量预测值作为所述目标运动矢量预测值。
结合第三方面,一种可能的设计中,所述第一编码块的第三编码预测块包括前向第三编码预测块和后向第三编码预测块,所述处理单元在根据所述目标运动矢量预测值,对所述第一编码块进行双向预测得到所述第一编码块的第三编码预测块时,具体用于:根据所述目标前向运动矢量预测值对所述第一编码块进行前向预测得到所述第一编码块的前向第三编码预测块;根据所述目标后向运动矢量预测值对所述第一编码块进行后向预测得到所述第一编码块的后向第三编码预测块。
结合第三方面,一种可能的设计中,所述编码单元在根据所述第三编码预测块得到所述第一编码块的目标编码预测块时,具体用于:将所述前向第三编码预测块和后向第三编码预测块进行加权求和得到所述第一编码块的目标编码预测块;或将所述前向第三编码预测块作为所述第一编码块的目标编码预测块;或将所述后向第三编码预测块作为所述第一编码块的目标编码预测块。
第四方面,提供一种帧间预测的图像解码装置,包括:确定单元,用于确定第一解码块的预测运动信息,所述预测运动信息包括运动矢量预测值和预测参考图像信息,所述预测参考图像信息用于表征预测参考图像块;处理单元,用于根据所述预测运动信息对所述第一解码块进行双向预测得到所述第一解码块的初始解码预测块,并根据所述初始解码预测块得到所述第一解码块的第一解码预测块;对所述预测参考图像块进行第一精度的运动搜索,得到至少一个第二解码预测块,所述运动搜索的搜索位置由所述运动矢量预测值和所述第一精度确定;计算所述第一解码预测块和每个所述第二解码预测块的差异,将所述差异最小的第二解码预测块与所述第一解码块间的运动矢量预测值作为所述第一解码块的目标运动矢量预测值;根据所述目标运动矢量预测值,对所述第一解码块进行双向预测得到所述第一解码块的第三解码预测块;解码单元,用于根据所述第三解码预测块得到所述第一解码块的目标解码预测块,并根据所述目标解码预测块对所述第一解码块进行解码。
结合第四方面,一种可能的设计中,所述预测运动信息包括前向预测运动信息和后向预测运动信息,所述运动矢量预测值包括前向运动矢量预测值和后向运动矢量预测值,所述预测参考图像块包括前向预测参考图像块和后向预测参考图像块。
结合第四方面,一种可能的设计中,所述初始解码预测块包括前向初始解码预测块和后向初始解码预测块,所述处理单元在根据所述预测运动信息对所述第一解码块进行双向预测得到所述第一解码块的初始解码预测块时,具体用于:根据所述前向预测运动信息对所述第一解码块进行前向预测得到所述第一解码块的前向初始解码预测块;根据所述后向预测运动信息对所述第一解码块进行后向预测得到所述第一解码块的后向初始解码预测块。
结合第四方面,一种可能的设计中,所述处理单元在根据所述初始解码预测块得到所述第一解码块的第一解码预测块时,具体用于:将所述前向初始解码预测块和所述后向初始解码预测块进行加权求和得到所述第一解码块的第一解码预测块;或将所述前向初始解码预测块作为所述第一解码块的第一解码预测块;或将所述后向初始解码预测块作为所述第一解码块的第一解码预测块。
结合第四方面,一种可能的设计中,所述第二解码预测块包括前向第二解码预测块和后向第二解码预测块,所述处理单元在根据所述运动矢量预测值对预测参考图像块进行第一精度的运动搜索,得到至少一个第二解码预测块时,具体用于:根据所述前向运动矢量预测值对所述前向预测参考图像块进行第一精度的运动搜索,将每次搜索所得到的前向解码预测块作为前向第二解码预测块,得到所述至少一个第二解码预测块;根据所述后向运动矢量预测值对所述后向预测参考图像块进行第一精度的运动搜索,将每次搜索所得到的后向解码预测块作为后向第二解码预测块,得到所述至少一个第二解码预测块;其中,所述第一精度包括整像素精度或1/2像素精度或1/4像素精度或1/8像素精度。
结合第四方面,一种可能的设计中,所述目标运动矢量预测值包括目标前向运动矢量预测值和目标后向运动矢量预测值,所述处理单元在计算所述第一解码预测块和每个所述第二解码预测块的差异,将所述差异最小的第二解码预测块与所述第一解码块间的运动矢量预测值作为所述第一解码块的目标运动矢量预测值时,具体用于:将每个前向第二解码预测块与所述第一解码预测块进行差异比较,所述差异最小的前向第二解码预测块与所述第一解码块间的目标前向运动矢量预测值作为所述目标运动矢量预测值;将每个后向第二解码预测块与所述第一解码预测块进行差异比较,所述差异最小的后向第二解码预测块与所述第一解码块间的目标后向运动矢量预测值作为所述目标运动矢量预测值。
结合第四方面,一种可能的设计中,所述第一解码块的第三解码预测块包括前向第三解码预测块和后向第三解码预测块,所述处理单元在根据所述目标运动矢量预测值,对所述第一解码块进行双向预测得到所述第一解码块的第三解码预测块时,具体用于:根据所述目标前向运动矢量预测值对所述第一解码块进行前向预测得到所述第一解码块的前向第三解码预测块;根据所述目标后向运动矢量预测值对所述第一解码块进行后向预测得到所述第一解码块的后向第三解码预测块。
结合第四方面,一种可能的设计中,所述解码单元在根据所述第三解码预测块得到所述第一解码块的目标解码预测块时,具体用于:将所述前向第三解码预测块和后向第三解码预测块进行加权求和得到所述第一解码块的目标解码预测块;或将所述前向第三解码预测块作为所述第一解码块的目标解码预测块;或将所述后向第三解码预测块作为所述第一解码块的目标解码预测块。
第五方面,提供一种编码设备,该设备包括处理器、存储器,其中,所述存储器中存有计算机可读程序,所述处理器通过运行所述存储器中的程序,实现第一方面涉及的编码方法。
第六方面,提供一种解码设备,该设备包括处理器、存储器,其中,所述存储器中存有计算机可读程序,所述处理器通过运行所述存储器中的程序,实现第二方面涉及的解码方法。
第七方面,提供一种计算机存储介质,用于储存为上述第一方面、第二方面所述计算机软件指令,其包含用于执行上述方面所设计的程序。
应理解,本发明实施例的第三至七方面与本发明实施例的第一、二方面的技术方案一致,各方面及对应的可实施的设计方式所取得的有益效果相似,不再赘述。
附图说明
图1A和图1B分别为合并模式和非合并模式中当前块的预测运动信息选取示意图;
图2为视频编解码装置或电子设备的示意性框图;
图3为视频编解码系统的示意性框图;
图4为本发明实施例中帧间预测的图像编码方法流程图;
图5为本发明实施例中帧间预测的图像解码方法流程图;
图6、图7、图8、图9为本发明实施例中帧间预测的图像解码过程示意图;
图10为本发明实施例中帧间预测的图像编码装置结构图;
图11为本发明实施例中帧间预测的图像编码器结构图;
图12为本发明实施例中帧间预测的图像解码装置结构图;
图13为本发明实施例中帧间预测的图像解码器结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。根据本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
帧间预测技术分为合并模式(Merge)与非合并模式两类,非合并模式又分为跳跃(SKIP)模式和非SKIP模式。
帧间预测技术的非合并模式及合并模式中的非SKIP模式根据当前图像邻近的已编码或已解码图像像素信息去除当前图像块的冗余信息以获得残差。
帧间预测技术的编码端或解码端为了有效去除当前图像块的冗余信息,需要在参考图像中获得与当前图像块最相似的图像块,进而减少当前图像块的残差。编码端或解码端通常使用运动估计获得上述参考图像中的图像块。在现有的视频编解码技术中运动估计过程通常在编解码时以图像块为单位在参考图像中搜索合适的匹配图像块,在一些实施例中,图像块为编码端待编码图像或解码端待重构图像的预测单元,在一些实施例中,图像块为编码端待编码图像或解码端待重构图像的变换单元,在一些实施例中,图像块为编码端待编码图像的编码单元、编码子单元,或解码端待重构图像的解码单元、解码子单元,不做限定。
帧间预测技术的非合并模式的编码端将当前图像块与匹配图像块所对应像素值相减得到残差,并将该残差经变换与量化后得到的值进行熵编码,最后将熵编码得到的比特流写入编码码流中,同时还将搜索所得的运动偏移量(即运动矢量差)一并写入编码码流中。与此对应,在解码端预测补偿(或称运动补偿)时首先获得熵编码比特流后进行熵解码得到相应的残差,及相应的运动矢量差之后,根据得到的运动矢量差和相邻块的运动矢量值得到运动矢量值,根据运动矢量值在参考图像中获得相应匹配图像块,再将匹配的图像块与残差值中对应像素点的值相加得到当前图像块解码后的值。
帧间预测技术的合并模式的非SKIP模式的编码端将当前图像块与匹配图像块所对应像素值相减得到残差,并将该残差经变换与量化后得到的值进行熵编码,最后将熵编码得到的比特流写入编码码流中。与此对应,在解码端预测补偿(或称运动补偿)时首先获得熵编码比特流后进行熵解码得到相应的残差,根据相邻块的运动矢量值在参考图像中获得相应匹配图像块,再将匹配的图像块与残差值中对应像素点的值相加得到当前图像块解码后的值。
帧间预测技术的合并模式的SKIP模式中为节省码率不需要进行残差及运动矢量差获取,编解码过程均直接根据相邻块的运动信息获得相应匹配图像块并作为当前图像块的值。
如图1A所示,在合并模式中相邻块会被标记为不同索引值,通过索引值确定当前块采用哪个相邻块的运动矢量信息作为当前块的预测运动信息,如图1B所示,在非合并模式,通过对相邻块进行检测构建出运动矢量预测值列表,当前块从运动矢量预测值列表中选取运动矢量预测值作为当前块运动矢量预测值。由此可知,帧间编解码中都直接采用了相邻块的运动矢量信息作为当前块的运动矢量预测值,这种帧间预测的运动矢量预测值的直接获取方式不可避免的会导致预测运动精度的偏差。
图2是视频编解码装置或电子设备50的示意性框图,该装置或者电子设备可以并入根据本发明的实施例的编码解码器。图3是根据本发明实施例的用于视频遍解码系统的示意性装置图。下面将说明图2和图3中的单元。
电子设备50可以例如是无线通信系统的移动终端或者用户设备。应理解,可以在可能需要对视频图像进行编码和解码,或者编码,或者解码的任何电子设备或者装置内实施本发明的实施例。
装置50可以包括用于并入和保护设备的壳。装置50还可以包括形式为液晶显示器的显示器32。在本发明的其它实施例中,显示器可以是适合于显示图像或者视频的任何适当的显示器技术。装置50还可以包括小键盘34。在本发明的其它实施例中,可以运用任何适当的数据或者用户接口机制。例如,可以实施用户接口为虚拟键盘或者数据录入系统作为触敏显示器的一部分。装置可以包括麦克风36或者任何适当的音频输入,该音频输入可以是数字或者模拟信号输入。装置50还可以包括如下音频输出设备,该音频输出设备在本发明的实施例中可以是以下各项中的任何一项:耳机38、扬声器或者模拟音频或者数字音频输出连接。装置50也可以包括电池,在本发明的其它实施例中,设备可以由任何适当的移动能量设备,比如太阳能电池、燃料电池或者时钟机构生成器供电。装置还可以包括用于与其它设备的近程视线通信的红外线端口42。在其它实施例中,装置50还可以包括任何适当的近程通信解决方案,比如蓝牙无线连接或者USB/火线有线连接。
装置50可以包括用于控制装置50的控制器56或者处理器。控制器56可以连接到存储器58,该存储器在本发明的实施例中可以存储形式为图像的数据和音频的数据,和/或也可以存储用于在控制器56上实施的指令。控制器56还可以连接到适合于实现音频和/或视频数据的编码和解码或者由控制器56实现的辅助编码和解码的编码解码器电路54。
装置50还可以包括用于提供用户信息并且适合于提供用于在网络认证和授权用户的认证信息的读卡器48和智能卡46。
装置50还可以包括无线电接口电路52,该无线电接口电路连接到控制器并且适合于生成例如用于与蜂窝通信网络、无线通信系统或者无线局域网通信的无线通信信号。装置50还可以包括天线44,该天线连接到无线电接口电路52用于向其它(多个)装置发送在无线电接口电路52生成的射频信号并且用于从其它(多个)装置接收射频信号。
在本发明的一些实施例中,装置50包括能够记录或者检测单帧的相机,编码解码器54或者控制器接收到这些单帧并对它们进行处理。在本发明的一些实施例中,装置可以在传输和/或存储之前从另一设备接收待处理的视频图像数据。在本发明的一些实施例中,装置50可以通过无线或者有线连接接收图像用于编码/解码。
图3是根据本发明实施例的另一视频编解码系统10的示意性框图。如图3所示,视频编解码系统10包含源装置12及目的地装置14。源装置12产生经编码视频数据。因此,源装置12可被称作视频编码装置或视频编码设备。目的地装置14可解码由源装置12产生的经编码视频数据。因此,目的地装置14可被称作视频解码装置或视频解码设备。源装置12及目的地装置14可为视频编解码装置或视频编解码设备的实例。源装置12及目的地装置14可包括广泛范围的装置,包含台式计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、智能电话等手持机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机,或其类似者。
目的地装置14可经由信道16接收来自源装置12的编码后的视频数据。信道16可包括能够将经编码视频数据从源装置12移动到目的地装置14的一个或多个媒体及/或装置。在一个实例中,信道16可包括使源装置12能够实时地将编码后的视频数据直接发射到目的地装置14的一个或多个通信媒体。在此实例中,源装置12可根据通信标准(例如,无线通信协议)来调制编码后的视频数据,且可将调制后的视频数据发射到目的地装置14。所述一个或多个通信媒体可包含无线及/或有线通信媒体,例如射频(RF)频谱或一根或多根物理传输线。所述一个或多个通信媒体可形成根据包的网络(例如,局域网、广域网或全球网络(例如,因特网))的部分。所述一个或多个通信媒体可包含路由器、交换器、基站,或促进从源装置12到目的地装置14的通信的其它设备。
在另一实例中,信道16可包含存储由源装置12产生的编码后的视频数据的存储媒体。在此实例中,目的地装置14可经由磁盘存取或卡存取来存取存储媒体。存储媒体可包含多种本地存取式数据存储媒体,例如蓝光光盘、DVD、CD-ROM、快闪存储器,或用于存储经编码视频数据的其它合适数字存储媒体。
在另一实例中,信道16可包含文件服务器或存储由源装置12产生的编码后的视频数据的另一中间存储装置。在此实例中,目的地装置14可经由流式传输或下载来存取存储于文件服务器或其它中间存储装置处的编码后的视频数据。文件服务器可以是能够存储编码后的视频数据且将所述编码后的视频数据发射到目的地装置14的服务器类型。实例文件服务器包含web服务器(例如,用于网站)、文件传送协议(FTP)服务器、网络附加存储(NAS)装置,及本地磁盘驱动器。
目的地装置14可经由标准数据连接(例如,因特网连接)来存取编码后的视频数据。数据连接的实例类型包含适合于存取存储于文件服务器上的编码后的视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器等),或两者的组合。编码后的视频数据从文件服务器的发射可为流式传输、下载传输或两者的组合。
本发明的技术不限于无线应用场景,示例性的,可将所述技术应用于支持以下应用等多种多媒体应用的视频编解码:空中电视广播、有线电视发射、卫星电视发射、流式传输视频发射(例如,经由因特网)、存储于数据存储媒体上的视频数据的编码、存储于数据存储媒体上的视频数据的解码,或其它应用。在一些实例中,视频编解码系统10可经配置以支持单向或双向视频发射,以支持例如视频流式传输、视频播放、视频广播及/或视频电话等应用。
在图3的实例中,源装置12包含视频源18、视频编码器20及输出接口22。在一些实例中,输出接口22可包含调制器/解调器(调制解调器)及/或发射器。视频源18可包含视频俘获装置(例如,视频相机)、含有先前俘获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频输入接口,及/或用于产生视频数据的计算机图形系统,或上述视频数据源的组合。
视频编码器20可编码来自视频源18的视频数据。在一些实例中,源装置12经由输出接口22将编码后的视频数据直接发射到目的地装置14。编码后的视频数据还可存储于存储媒体或文件服务器上以供目的地装置14稍后存取以用于解码及/或播放。
在图3的实例中,目的地装置14包含输入接口28、视频解码器30及显示装置32。在一些实例中,输入接口28包含接收器及/或调制解调器。输入接口28可经由信道16接收编码后的视频数据。显示装置32可与目的地装置14整合或可在目的地装置14外部。一般来说,显示装置32显示解码后的视频数据。显示装置32可包括多种显示装置,例如液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或其它类型的显示装置。
视频编码器20及视频解码器30可根据视频压缩标准(例如,高效率视频编解码H.265标准)而操作,且可遵照HEVC测试模型(HM)。H.265标准的文本描述ITU-TH.265(V3)(04/2015)于2015年4月29号发布,可从http://handle.itu.int/11.1002/1000/12455下载,所述文件的全部内容以引用的方式并入本文中。
或者,视频编码器20及视频解码器30可根据其它专属或行业标准而操作,所述标准包含ITU-TH.261、ISO/IECMPEG-1Visual、ITU-TH.262或ISO/IECMPEG-2Visual、ITU-TH.263、ISO/IECMPEG-4Visual,ITU-TH.264(还称为ISO/IECMPEG-4AVC),包含可分级视频编解码(SVC)及多视图视频编解码(MVC)扩展。应理解,本发明的技术不限于任何特定编解码标准或技术。
此外,图3仅为实例且本发明的技术可应用于未必包含编码装置与解码装置之间的任何数据通信的视频编解码应用(例如,单侧的视频编码或视频解码)。在其它实例中,从本地存储器检索数据,经由网络流式传输数据,或以类似方式操作数据。编码装置可编码数据且将所述数据存储到存储器,及/或解码装置可从存储器检索数据且解码所述数据。在许多实例中,通过彼此不进行通信而仅编码数据到存储器及/或从存储器检索数据及解码数据的多个装置执行编码及解码。
视频编码器20及视频解码器30各自可实施为多种合适电路中的任一者,例如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、硬件或其任何组合。如果技术部分地或者全部以软件实施,则装置可将软件的指令存储于合适的非瞬时计算机可读存储媒体中,且可使用一个或多个处理器执行硬件中的指令以执行本发明的技术。可将前述各者中的任一者(包含硬件、软件、硬件与软件的组合等)视为一个或多个处理器。视频编码器20及视频解码器30中的每一者可包含于一个或多个编码器或解码器中,其中的任一者可整合为其它装置中的组合式编码器/解码器(编解码器(CODEC))的部分。
本发明大体上可指代视频编码器20将某一信息“用信号发送”到另一装置(例如,视频解码器30)。术语“用信号发送”大体上可指代语法元素及/或表示编码后的视频数据的传达。此传达可实时或近实时地发生。或者,此通信可在一时间跨度上发生,例如可在编码时以编码后得到的二进制数据将语法元素存储到计算机可读存储媒体时发生,所述语法元素在存储到此媒体之后接着可由解码装置在任何时间检索。
如图4所示,本发明实施例提供一种帧间预测的图像编码方法,具体流程如下所示:
步骤401:确定第一编码块的预测运动信息,所述预测运动信息包括运动矢量预测值和预测参考图像信息,所述预测参考图像信息用于表征预测参考图像块。
其中,第一编码块是当前待处理的待编码块,所述预测运动信息中的运动矢量预测值包括前向运动矢量预测值和后向运动矢量预测值,预测参考图像信息包括前向预测参考图像块和后向预测参考图像块的参考帧索引信息。
进一步的,根据第一编码块的运动矢量预测值或预测参考图像信息得到第一编码块的预测参考图像块。
可选的,第一编码块的预测运动信息中包括前后向运动矢量预测值和前后向预测参考图像块对应的图像序列号(PictureOrderCount,POC);也可以只包括前向运动矢量预测值和前向预测参考图像块对应的POC;也可以只包括后向运动矢量预测值和后向预测参考图像块对应的POC。
具体的,第一编码块的预测运动信息的确定方法,可以参照现有技术中针对当前编码块的预测运动信息的确定方法。
若为帧间预测的合并模式,根据第一编码块的相邻块运动信息构建候选预测运动信息列表,并从候选预测运动信息列表中选取候选预测运动信息作为第一编码块的预测运动信息。其中,候选运动信息列表包括运动矢量预测值、参考图像块的参考帧索引信息等。需要说明的是,这种模式中的运动矢量预测值为相邻块的运动矢量值。
若为帧间预测的非合并模式,根据第一编码块的相邻块运动信息构建运动矢量预测值列表,并从运动矢量预测值列表中选取运动矢量作为第一编码块的运动矢量预测值。需要说明的是,这种模式中的运动矢量预测值可以为相邻块的运动矢量值,可选的,也可以为所选取的相邻块的运动矢量值与第一编码块的运动矢量差的和。运动矢量差为通过对第一编码块进行运动估计所得到的运动矢量与所选取的相邻块的运动矢量值的差。
步骤402:根据所述预测运动信息对所述第一编码块进行双向预测得到所述第一编码块的初始编码预测块,并根据所述初始编码预测块得到所述第一编码块的第一编码预测块。
进一步的,在预测参考图像块对应的POC不等于第一编码块的POC时,根据所述预测运动信息对第一编码块进行双向预测,包括前向预测和后向预测;在预测参考图像块对应的POC比第一编码块的POC小时,根据所述预测运动信息对第一编码块进行前向预测;在预测参考图像块对应的POC比第一编码块的POC大时,根据所述预测运动信息对第一编码块进行后向预测。
具体的,根据所述预测运动信息对所述第一编码块进行双向预测得到所述第一编码块的前向初始编码预测块,包括以下过程:
S421:根据所述预测运动信息对所述第一编码块进行前向预测,即根据所述前向预测运动信息对所述第一编码块进行前向预测得到所述第一编码块的前向初始编码预测块。
一种可能的实施方式中,根据所述预测运动信息中的前向预测参考图像块对第一编码块进行前向预测得到第一编码块的前向初始编码预测块。
另一种可能的实施方式中,根据所述预测运动信息中的前向运动矢量预测值对第一编码块进行前向预测得到第一编码块的前向初始编码预测块。
S422:根据所述预测运动信息对所述第一编码块进行后向预测,即根据所述后向预测运动信息对所述第一编码块进行后向预测得到所述第一编码块的后向初始编码预测块。
一种可能的实施方式中,根据所述预测运动信息中的后向预测参考图像块对第一编码块进行前向预测得到第一编码块的前向初始编码预测块。
另一种可能的实施方式中,根据所述预测运动信息中的后向运动矢量预测值对第一编码块进行前向预测得到第一编码块的前向初始编码预测块。
其中,所述初始编码预测块包括前向初始编码预测块和后向初始编码预测块。
进一步的,根据所述初始编码预测块得到所述第一编码块的第一编码预测块时,包括以下三种实现方式:
第一种实现方式:将所述前向初始编码预测块和所述后向初始编码预测块进行加权求和得到所述第一编码块的第一编码预测块。
在这种实现方式中,可选的,将所述前向初始编码预测块和所述后向初始编码预测块的平均值作为所述第一编码块的第一编码预测块。
第二种实现方式:将所述前向初始编码预测块作为所述第一编码块的第一编码预测块。
第三种实现方式:将所述后向初始编码预测块作为所述第一编码块的第一编码预测块;
步骤403:根据所述运动矢量预测值对预测参考图像块进行第一精度的运动估计,得到至少一个第二编码预测块。
在一些实施例中,该步骤即对预测参考图像块进行第一精度的运动搜索,其中,运动搜索的搜索位置由所述运动矢量预测值和所述第一精度确定。在一个可行的实施方式中,运动搜索的位置为运动矢量预测值表征的位置周边在第一精度覆盖范围内的位置,举例来说,运动矢量预测值指示的位置为(1,1),第一精度为1/2像素精度,则所述运动搜索的位置为(1.5,1),(1.5,1.5),(1.5,-0.5),(1,1),(1,1.5),(1,-0.5),(-0.5,1),(-0.5,1.5),(-0.5,-0.5)。
具体的,根据所述运动矢量预测值对所述预测参考图像块进行第一精度的运动估计,得到至少一个第二编码预测块,包括以下过程:
S431:根据所述前向运动矢量预测值对所述前向预测参考图像块进行第一精度的运动搜索,将每次搜索所得到的前向编码预测块作为前向第二编码预测块,得到所述至少一个第二编码预测块。
S432:根据所述后向运动矢量预测值对所述后向预测参考图像块进行第一精度的运动搜索,将每次搜索所得到的后向编码预测块作为后向第二编码预测块,得到所述至少一个第二编码预测块,所述第二编码预测块包括前向第二编码预测块和后向第二编码预测块。
其中,所述第一精度包括整像素精度或1/2像素精度或1/4像素精度或1/8像素精度,不做限定。
步骤404:计算所述第一编码预测块和每个所述第二编码预测块的差异,将所述差异最小的第二编码预测块与所述第一编码块间的运动矢量预测值作为所述第一编码块的目标运动矢量预测值。
具体的,计算所述第一编码预测块和每个所述第二编码预测块的差异,将所述差异最小的第二编码预测块与所述第一编码块间的运动矢量预测值作为所述第一编码块的目标运动矢量预测值,包括以下过程:
S441:将每个前向第二编码预测块与所述第一编码预测块进行差异比较,将差异最小的一个前向第二编码预测块与所述第一编码块间的目标前向运动矢量预测值作为目标运动矢量预测值。
S442:将每个后向第二编码预测块与所述第一编码预测块进行差异比较,将差异最小的一个后向第二编码预测块与所述第一编码块间的目标后向运动矢量预测值作为目标运动矢量预测值,所述目标运动矢量预测值包括目标前向运动矢量预测值和目标后向运动矢量预测值。
具体的,第二编码预测块与所述第一编码预测块进行差异比较时,可以将两个图像块中各个像素差的绝对值之和作为第二编码预测块与所述第一编码预测块的差异值大小,可选的,也可以将两个图像块中各个像素差的平方和作为第二编码预测块与所述第一编码预测块的差异值大小,不具体限定差异的比较方法。
步骤405:根据所述目标运动矢量预测值,对所述第一编码块进行双向预测得到所述第一编码块的第三编码预测块。
具体的,根据所述目标运动矢量预测值,对所述第一编码块进行双向预测得到所述第一编码块的第三编码预测块,包括以下过程:
S451:根据所述目标前向运动矢量预测值对所述第一编码块进行前向预测得到所述第一编码块的前向第三编码预测块。
S452:根据所述目标后向运动矢量预测值对所述第一编码块进行后向预测得到所述第一编码块的后向第三编码预测块,其中,第一编码块的第三编码预测块包括前向第三编码预测块和后向第三编码预测块。
步骤406:根据所述第三编码预测块得到所述第一编码块的目标编码预测块,并根据所述目标编码预测块对所述第一编码块进行编码。
具体的,根据所述第三编码预测块得到所述第一编码块的目标编码预测块,包括以下三种实现方式:
第一种实现方式:将所述前向第三编码预测块和后向第三编码预测块进行加权求和得到所述第一编码块的目标编码预测块。
在这种实现方式中,可选的,将所述前向第三编码预测块和后向第三编码预测块的平均值作为所述第一编码块的目标编码预测块。
第二种实现方式:将所述前向第三编码预测块作为所述第一编码块的目标编码预测块。
第三种实现方式:将所述后向第三编码预测块作为所述第一编码块的目标编码预测块。
应理解,在一些实施例中,可以在编码码流的高层信息中,比如条带层级、图像层级、序列层级,编入标志位,该标志位用于表征图4所示的图像编码方法是否被应用。
如图5所示,本发明实施例提供一种帧间预测的图像解码方法,具体流程如下所示:
步骤501:确定第一解码块的预测运动信息,所述预测运动信息包括运动矢量预测值和预测参考图像信息,所述预测参考图像信息用于表征预测参考图像块。
其中,第一解码块是当前待处理的需要根据解析的码流信息构建的待重构块,所述预测运动信息中的运动矢量预测值包括前向运动矢量预测值和后向运动矢量预测值,预测参考图像信息包括前向预测参考图像块和后向预测参考图像块的参考帧索引信息。
进一步的,根据第一解码块的运动矢量预测值或预测参考图像信息得到第一编码块的预测参考图像块。
可选的,第一解码块的预测运动信息中包括前后向运动矢量预测值和前后向预测参考图像块对应的图像序列号(PictureOrderCount,POC);也可以只包括前向运动矢量预测值和前向预测参考图像块对应的POC;也可以只包括后向运动矢量预测值和后向预测参考图像块对应的POC。
具体的,第一解码块的预测运动信息的确定方法,可以参照现有技术中针对当前解码块的预测运动信息的确定方法。
若为帧间预测的合并模式,根据第一解码块的相邻块运动信息构建候选预测运动信息列表,并从候选预测运动信息列表中选取候选预测运动信息作为第一解码块的预测运动信息。其中,候选运动信息列表包括运动矢量预测值、参考图像块的参考帧索引信息等。需要说明的是,这种模式中的运动矢量预测值为相邻块的运动矢量值。
若为帧间预测的非合并模式,根据第一解码块的相邻块运动信息构建运动矢量预测值列表,并从运动矢量预测值列表中选取运动矢量作为第一解码块的运动矢量预测值。需要说明的是,这种模式中的运动矢量预测值可以为相邻块的运动矢量值,可选的,也可以为所选取的相邻块的运动矢量值与第一解码块的运动矢量差的和。运动矢量差可以直接通过解码获得。
步骤502:根据所述预测运动信息对所述第一解码块进行双向预测得到所述第一解码块的初始解码预测块,并根据所述初始解码预测块得到所述第一解码块的第一解码预测块。
进一步的,在预测参考图像块对应的POC不等于第一解码块的POC时,根据所述预测运动信息对第一解码块进行双向预测,包括前向预测和后向预测;在预测参考图像块对应的POC比第一解码块的POC小时,根据所述预测运动信息对第一解码块进行前向预测;在预测参考图像块对应的POC比第一解码块的POC大时,根据所述预测运动信息对第一解码块进行后向预测。
具体的,根据所述预测运动信息对所述第一解码块进行双向预测得到所述第一解码块的前向初始解码预测块,包括以下过程:
S521:根据所述预测运动信息对所述第一解码块进行前向预测,即根据所述前向预测运动信息对所述第一解码块进行前向预测得到所述第一解码块的前向初始解码预测块。
一种可能的实施方式中,根据所述预测运动信息中的前向预测参考图像块对第一解码块进行前向预测得到第一解码块的前向初始解码预测块。
另一种可能的实施方式中,根据所述预测运动信息中的前向运动矢量预测值对第一解码块进行前向预测得到第一解码块的前向初始解码预测块。
S522:根据所述预测运动信息对所述第一解码块进行后向预测,即根据所述后向预测运动信息对所述第一解码块进行后向预测得到所述第一解码块的后向初始解码预测块。
一种可能的实施方式中,根据所述预测运动信息中的后向预测参考图像块对第一解码块进行前向预测得到第一解码块的前向初始解码预测块。
另一种可能的实施方式中,根据所述预测运动信息中的后向运动矢量预测值对第一解码块进行前向预测得到第一解码块的前向初始解码预测块。
其中,所述初始解码预测块包括前向初始解码预测块和后向初始解码预测块。
进一步的,根据所述初始解码预测块得到所述第一解码块的第一解码预测块时,包括以下三种实现方式:
第一种实现方式:将所述前向初始解码预测块和所述后向初始解码预测块进行加权求和得到所述第一解码块的第一解码预测块。
这种实现方式中,可选的,将所述前向初始解码预测块和所述后向初始解码预测块的平均值作为所述第一解码块的第一解码预测块。
第二种实现方式:将所述前向初始解码预测块作为所述第一解码块的第一解码预测块。
第三种实现方式:将所述后向初始解码预测块作为所述第一解码块的第一解码预测块;
步骤503:根据所述运动矢量预测值对预测参考图像块进行第一精度的运动估计,得到至少一个第二解码预测块。
在一些实施例中,该步骤即对预测参考图像块进行第一精度的运动搜索,其中,运动搜索的搜索位置由所述运动矢量预测值和所述第一精度确定。在一个可行的实施方式中,运动搜索的位置为运动矢量预测值表征的位置周边在第一精度覆盖范围内的位置,举例来说,运动矢量预测值指示的位置为(1,1),第一精度为1/2像素精度,则所述运动搜索的位置为(1.5,1),(1.5,1.5),(1.5,-0.5),(1,1),(1,1.5),(1,-0.5),(-0.5,1),(-0.5,1.5),(-0.5,-0.5)。
具体的,根据所述运动矢量预测值对所述预测参考图像块进行第一精度的运动估计,得到至少一个第二解码预测块,包括以下过程:
S531:根据所述前向运动矢量预测值对所述前向预测参考图像块进行第一精度的运动搜索,将每次搜索所得到的前向解码预测块作为前向第二解码预测块,得到所述至少一个第二解码预测块。
S532:根据所述后向运动矢量预测值对所述后向预测参考图像块进行第一精度的运动搜索,将每次搜索所得到的后向解码预测块作为后向第二解码预测块,得到所述至少一个第二解码预测块,所述第二解码预测块包括前向第二解码预测块和后向第二解码预测块。
其中,所述第一精度包括整像素精度或1/2像素精度或1/4像素精度或1/8像素精度,不做限定。
步骤504:计算所述第一解码预测块和每个所述第二解码预测块的差异,将所述差异最小的第二解码预测块与所述第一解码块间的运动矢量预测值作为所述第一解码块的目标运动矢量预测值。
具体的,计算所述第一解码预测块和每个所述第二解码预测块的差异,将所述差异最小的第二解码预测块与所述第一解码块间的运动矢量预测值作为所述第一解码块的目标运动矢量预测值,包括以下过程:
S541:将每个前向第二解码预测块与所述第一解码预测块进行差异比较,将差异最小的一个前向第二解码预测块与所述第一解码块间的目标前向运动矢量预测值作为目标运动矢量预测值。
S542:将每个后向第二解码预测块与所述第一解码预测块进行差异比较,将差异最小的一个后向第二解码预测块与所述第一解码块间的目标后向运动矢量预测值作为目标运动矢量预测值,所述目标运动矢量预测值包括目标前向运动矢量预测值和目标后向运动矢量预测值。
具体的,第二解码预测块与所述第一解码预测块进行差异比较时,可以将两个图像块中各个像素差的绝对值之和作为第二解码预测块与所述第一解码预测块的差异值大小,可选的,也可以将两个图像块中各个像素差的平方和作为第二解码预测块与所述第一解码预测块的差异值大小,不具体限定差异的比较方法。
步骤505:根据所述目标运动矢量预测值,对所述第一解码块进行双向预测得到所述第一解码块的第三解码预测块。
具体的,根据所述目标运动矢量预测值,对所述第一解码块进行双向预测得到所述第一解码块的第三解码预测块,包括以下过程:
S551:根据所述目标前向运动矢量预测值对所述第一解码块进行前向预测得到所述第一解码块的前向第三解码预测块。
S552:根据所述目标后向运动矢量预测值对所述第一解码块进行后向预测得到所述第一解码块的后向第三解码预测块,其中,第一解码块的第三解码预测块包括前向第三解码预测块和后向第三解码预测块。
步骤506:根据所述第三解码预测块得到所述第一解码块的目标解码预测块,并根据所述目标解码预测块对所述第一解码块进行解码。
具体的,根据所述第三解码预测块得到所述第一解码块的目标解码预测块,包括以下三种实现方式:
第一种实现方式:将所述前向第三解码预测块和后向第三解码预测块进行加权求和得到所述第一解码块的目标解码预测块。
这种实现方式中,可选的,将所述前向第三解码预测块和后向第三解码预测块的平均值作为所述第一解码块的目标解码预测块。
第二种实现方式:将所述前向第三解码预测块作为所述第一解码块的目标解码预测块。
第三种实现方式:将所述后向第三解码预测块作为所述第一解码块的目标解码预测块。
应理解,在一些实施例中,与编码端对应的,首先可以从码流的高层信息中,比如条带层级、图像层级、序列层级,解析标志位,该标志位用于表征图5所示的图像解码方法是否被应用。
下面通过几个具体的实施例来详细说明图4中的编码方法和图5中的解码方法。
实施例一
如图6所示,当前解码块为第一解码块,获取当前解码块的预测运动信息,假设当前解码块的前后向运动矢量预测值分别为(-10,4)和(5,6),当前解码块对应的POC为4,前向预测参考图像块对应的POC为2,后向预测参考图像块对应的POC为6。
针对当前解码块分别进行前后向预测得到当前解码块的初始前向解码预测块(ForwardpredictionBlock,FPB)和初始后向解码预测块(BackwardPredictionBlock,BPB),假设分别为FPB1和BPB1,对FPB1和BPB1进行加权求和得到当前解码块的第一解码预测块(DecodingPredictionBlock,DPB),假设为DPB1。
以(-10,4)和(5,6)作为前后向运动矢量预测值的参考输入,分别对前向预测参考图像块和后向预测参考图像块进行第一精度的运动搜索,此时第一精度为1像素范围的1/2像素精度。以第一解码预测块DPB1为参考,针对每次运动搜索所得到对应的新前后向解码预测块与第一解码预测块DPB1进行差异比较,求得与DPB1差异最小的新解码预测块所对应的前后向运动矢量预测值作为目标运动矢量预测值,假设分别是(-11,4)和(6,6)。
更新目标运动矢量预测值为(-11,4)和(6,6),同时根据目标运动矢量预测值对第一解码块进行前后向预测,将得到的新前向解码预测块与新后向解码预测块进行加权求和,得到目标解码预测块,假设为DPB2,更新当前解码块的解码预测块为DPB2。
需要说明的是,对前向预测参考图像块和后向预测参考图像块进行第一精度的运动搜索时,第一精度可以是设定的任意精度,例如可以是整像素精度或1/2像素精度或1/4像素精度或1/8像素精度。
实施例二
如图6所示,当前编码块为第一编码块,获取当前编码块的预测运动信息,假设当前编码块的前后向运动矢量预测值分别为(-10,4)和(5,6),当前编码块对应的POC为4,前向预测参考图像块对应的POC为2,后向预测参考图像块对应的POC为6。
针对当前编码块分别进行前后向预测得到当前编码块的初始前向编码预测块和初始后向编码预测块,假设分别为FPB1和BPB1,对FPB1和BPB1进行加权求和得到当前编码块的第一编码预测块,假设为DPB1。
以(-10,4)和(5,6)作为前后向运动矢量预测值参考输入,分别对前向预测参考图像块和后向预测参考图像块进行第一精度的运动搜索,此时第一精度为1像素范围的1/2像素精度。以第一编码预测块DPB1为参考,针对每次运动搜索所得到对应的新前后向编码预测块与第一编码预测块DPB1进行差异比较,求得与DPB1差异最小的新编码预测块所对应的前后向运动矢量预测值作为目标运动矢量预测值,假设分别是(-11,4)和(6,6)。
更新目标运动矢量预测值为(-11,4)和(6,6),同时根据目标运动矢量预测值对第一编码块进行前后向预测,将得到的新前向编码预测块与新后向编码预测块进行加权求和,得到目标编码预测块,假设为DPB2,更新当前编码块的编码预测块为DPB2。
需要说明的是,对前向预测参考图像块和后向预测参考图像块进行第一精度的运动搜索时,第一精度可以是设定的任意精度,例如可以是整像素精度或1/2像素精度或1/4像素精度或1/8像素精度。
实施例三
如图7所示,当前解码块为第一解码块,获取当前解码块的预测运动信息,假设当前解码块的前向运动矢量预测值分别为(-21,18),当前解码块对应的POC为4,前向预测参考图像块对应的POC为2。
针对当前解码块进行前向预测得到当前解码块的初始前向解码预测块,假设为FPB1,此时,将FPB1作为当前解码块的第一解码预测块,记为DPB1。
以(-21,18)作为前向运动矢量预测值参考输入,对前向预测参考图像块进行第一精度的运动搜索,此时第一精度为5像素范围的1像素精度。以第一解码预测块DPB1为参考,针对每次运动搜索所得到对应的新后向解码预测块与第一解码预测块DPB1进行差异比较,求得与DPB1差异最小的新解码预测块所对应的前向运动矢量预测值作为目标运动矢量预测值,假设分别是(-19,19)。
更新目标运动矢量预测值为(-19,19),同时根据目标运动矢量预测值对第一解码块进行前向预测,将得到的新前向解码预测块作为目标解码预测块,假设为DPB2,更新当前解码块的解码预测块为DPB2。
需要说明的是,对前向预测参考图像块和后向预测参考图像块进行第一精度的运动搜索时,第一精度可以是设定的任意精度,例如可以是整像素精度或1/2像素精度或1/4像素精度或1/8像素精度。
实施例四:
如图7所示,当前编码块为第一编码块,获取当前编码块的预测运动信息,假设当前编码块的前向运动矢量预测值分别为(-21,18),当前编码块对应的POC为4,前向预测参考图像块对应的POC为2。
针对当前编码块进行前向预测得到当前编码块的初始前向编码预测块,假设为FPB1,此时,将FPB1作为当前编码块的第一编码预测块,记为DPB1。
以(-21,18)作为前向运动矢量预测值参考输入,对前向预测参考图像块进行第一精度的运动搜索,此时第一精度为5像素范围的1像素精度。以第一编码预测块DPB1为参考,针对每次运动搜索所得到对应的新后向编码预测块与第一编码预测块DPB1进行差异比较,求得与DPB1差异最小的新编码预测块所对应的前向运动矢量预测值作为目标运动矢量预测值,假设分别是(-19,19)。
更新目标运动矢量预测值为(-19,19),同时根据目标运动矢量预测值对第一编码块进行前向预测,将得到的新前向编码预测块作为目标编码预测块,假设为DPB2,更新当前编码块的编码预测块为DPB2。
需要说明的是,对前向预测参考图像块和后向预测参考图像块进行第一精度的运动搜索时,第一精度可以是设定的任意精度,例如可以是整像素精度或1/2像素精度或1/4像素精度或1/8像素精度。
实施例五:
如图8所示,当前编码块为第一编码块,获取当前编码块的预测运动信息,假设当前编码块的前后向运动矢量预测值分别为(-6,12)和(8,4),当前编码块对应的POC为8,前向预测参考图像块对应的POC为4,后向预测参考图像块对应的POC为12。
针对当前编码块分别进行前后向预测得到当前编码块的初始前向编码预测块和初始后向编码预测块,假设分别为FPB1和BPB1,对FPB1和BPB1进行加权求和得到当前编码块的第一编码预测块,假设为DPB1。
以(-6,12)和(8,4)作为前后向运动矢量预测值参考输入,分别对前向预测参考图像块和后向预测参考图像块进行第一精度的运动搜索。以第一编码预测块DPB1为参考,针对每次运动搜索所得到对应的新前后向编码预测块与第一编码预测块DPB1进行差异比较,求得与DPB1差异最小的新编码预测块所对应的前后向运动矢量预测值作为目标运动矢量预测值,假设分别是(-11,4)和(6,6)。
更新目标运动矢量预测值为(-11,4)和(6,6),同时根据目标运动矢量预测值对第一编码块进行前后向预测,将得到的新前向编码预测块与新后向编码预测块进行加权求和,得到目标编码预测块,假设为DPB2,更新当前编码块的编码预测块为DPB2。
继续,以(-11,4)和(6,6)作为前后向运动矢量预测值参考输入,分别对前向预测参考图像块和后向预测参考图像块进行第一精度的运动搜索。以当前编码块的编码预测块DPB2为参考,针对每次运动搜索所得到对应的新前后向编码预测块与第一编码预测块DPB2进行差异比较,求得与DPB2差异最小的新编码预测块所对应的前后向运动矢量预测值作为新的目标运动矢量预测值,假设分别是(-7,11)和(6,5)。
继续更新目标运动矢量预测值为(-7,11)和(6,5),同时根据最新的目标运动矢量预测值对第一编码块进行前后向预测,将得到的新前向编码预测块与新后向编码预测块进行加权求和,得到目标编码预测块,假设为DPB3,更新当前编码块的编码预测块为DPB3。
进而,可以继续按照上述方法更新目标运动矢量预测值,以此类推循环次数不限。
需要说明的是,对前向预测参考图像块和后向预测参考图像块进行第一精度的运动搜索时,第一精度可以是设定的任意精度,例如可以是整像素精度或1/2像素精度或1/4像素精度或1/8像素精度。
实施例六
本实施例中,帧间预测的非合并模式的编码过程运动矢量预测值的获取方式与上述实施例不同,实施例六针对帧间预测的非合并模式的解码过程进行了详细说明,同样,帧间预测的非合并模式的编码过程与解码过程类似,在此不再赘述。
如图9所示,当前解码块为第一解码块,获取当前解码块的预测运动信息,假设当前解码块的前后向运动矢量值分别为(-10,4)和(5,6),前后向运动矢量差值分别为(-2,1)和(1,1),当前解码块对应的POC为4,前向预测参考图像块对应的POC为2,后向预测参考图像块对应的POC为6。
针对当前解码块分别进行前后向预测得到当前解码块的初始前向解码预测块(-FPB)和初始后向解码预测块(BPB),假设分别为FPB1和BPB1,对FPB1和BPB1进行加权求和得到当前解码块的第一解码预测块(DPB),假设为DPB1。
以前后向运动矢量预测值:(-10,4)+(-2,1)=(-12,5)和(5,6)+(1,1)=(6,7)作为前后向运动矢量的参考输入,分别对前向预测参考图像块和后向预测参考图像块进行第一精度的运动搜索,此时第一精度为1像素范围的1/4像素精度。以第一解码预测块DPB1为参考,针对每次运动搜索所得到对应的新前后向解码预测块与第一解码预测块DPB1进行差异比较,求得与DPB1差异最小的新解码预测块所对应的前后向运动矢量作为目标运动矢量预测值,假设分别是(-11,4)和(6,6)。
更新目标运动矢量预测值为(-11,4)和(6,6),同时根据目标运动矢量预测值对第一解码块进行前后向预测,将得到的新前向解码预测块与新后向解码预测块进行加权求和,得到目标解码预测块,假设为DPB2,更新当前解码块的解码预测块为DPB2。
需要说明的是,对前向预测参考图像块和后向预测参考图像块进行第一精度的运动搜索时,第一精度可以是设定的任意精度,例如可以是整像素精度或1/2像素精度或1/4像素精度或1/8像素精度。
综上所述,上述编解码方法可应用在视频图像编解码中所有双向预测过程,更新后的运动矢量预测值和编解码预测块可应用于所有视频图像编解码过程。编解码系统根据当前编解码块的预测运动信息得到当前编解码预测块;并根据运动矢量预测值和预测参考图像块通过运动搜索从而得到新的编解码预测块,通过与当前编解码预测块比较差异来更新运动矢量预测值和当前编解码块的编解码预测块来达到运动精度的改进。
根据上述实施例,如图10所示,本发明实施例提供一种帧间预测的图像编码装置1000,如图10所示,该装置1000包括确定单元1001、处理单元1002和编码单元1003,其中:
确定单元1001,用于确定第一编码块的预测运动信息,所述预测运动信息包括运动矢量预测值和预测参考图像信息,所述预测参考图像信息用于表征预测参考图像块;
处理单元1002,用于根据所述预测运动信息对所述第一编码块进行双向预测得到所述第一编码块的初始编码预测块,并根据所述初始编码预测块得到所述第一编码块的第一编码预测块;对所述预测参考图像块进行第一精度的运动搜索,得到至少一个第二编码预测块,所述运动搜索的搜索位置由所述运动矢量预测值和所述第一精度确定;计算所述第一编码预测块和每个所述第二编码预测块的差异,将所述差异最小的第二编码预测块与所述第一编码块间的运动矢量预测值作为所述第一编码块的目标运动矢量预测值;根据所述目标运动矢量预测值,对所述第一编码块进行双向预测得到所述第一编码块的第三编码预测块;
编码单元1003,用于根据所述第三编码预测块得到所述第一编码块的目标编码预测块,并根据所述目标编码预测块对所述第一编码块进行编码。
可选的,所述预测运动信息包括前向预测运动信息和后向预测运动信息,所述运动矢量预测值包括前向运动矢量预测值和后向运动矢量预测值,所述预测参考图像块包括前向预测参考图像块和后向预测参考图像块。
可选的,所述初始编码预测块包括前向初始编码预测块和后向初始编码预测块,所述处理单元1002在根据所述预测运动信息对所述第一编码块进行双向预测得到所述第一编码块的初始编码预测块时,具体用于:
根据所述前向预测运动信息对所述第一编码块进行前向预测得到所述第一编码块的前向初始编码预测块;
根据所述后向预测运动信息对所述第一编码块进行后向预测得到所述第一编码块的后向初始编码预测块。
可选的,所述处理单元1002在根据所述初始编码预测块得到所述第一编码块的第一编码预测块时,具体用于:
将所述前向初始编码预测块和所述后向初始编码预测块进行加权求和得到所述第一编码块的第一编码预测块;或
将所述前向初始编码预测块作为所述第一编码块的第一编码预测块;或
将所述后向初始编码预测块作为所述第一编码块的第一编码预测块。
可选的,所述第二编码预测块包括前向第二编码预测块和后向第二编码预测块,所述处理单元1002在根据所述运动矢量预测值对预测参考图像块进行第一精度的运动搜索,得到至少一个第二编码预测块时,具体用于:
根据所述前向运动矢量预测值对所述前向预测参考图像块进行第一精度的运动搜索,将每次搜索所得到的前向编码预测块作为前向第二编码预测块,得到所述至少一个第二编码预测块;
根据所述后向运动矢量预测值对所述后向预测参考图像块进行第一精度的运动搜索,将每次搜索所得到的后向编码预测块作为后向第二编码预测块,得到所述至少一个第二编码预测块;
其中,所述第一精度包括整像素精度或1/2像素精度或1/4像素精度或1/8像素精度。
可选的,所述目标运动矢量预测值包括目标前向运动矢量预测值和目标后向运动矢量预测值,所述处理单元1002在计算所述第一编码预测块和每个所述第二编码预测块的差异,将所述差异最小的第二编码预测块与所述第一编码块间的运动矢量预测值作为所述第一编码块的目标运动矢量预测值时,具体用于:
将每个前向第二编码预测块与所述第一编码预测块进行差异比较,所述差异最小的前向第二编码预测块与所述第一编码块间的目标前向运动矢量预测值作为所述目标运动矢量预测值;
将每个后向第二编码预测块与所述第一编码预测块进行差异比较,所述差异最小的后向第二编码预测块与所述第一编码块间的目标后向运动矢量预测值作为所述目标运动矢量预测值。
可选的,所述第一编码块的第三编码预测块包括前向第三编码预测块和后向第三编码预测块,所述处理单元1002在根据所述目标运动矢量预测值,对所述第一编码块进行双向预测得到所述第一编码块的第三编码预测块时,具体用于:
根据所述目标前向运动矢量预测值对所述第一编码块进行前向预测得到所述第一编码块的前向第三编码预测块;
根据所述目标后向运动矢量预测值对所述第一编码块进行后向预测得到所述第一编码块的后向第三编码预测块。
可选的,所述编码单元1003在根据所述第三编码预测块得到所述第一编码块的目标编码预测块时,具体用于:
将所述前向第三编码预测块和后向第三编码预测块进行加权求和得到所述第一编码块的目标编码预测块;或
将所述前向第三编码预测块作为所述第一编码块的目标编码预测块;或
将所述后向第三编码预测块作为所述第一编码块的目标编码预测块。
需要说明的是,本发明实施例中的装置1000的各个单元的功能实现以及交互方式可以进一步参照相关方法实施例的描述,在此不再赘述。
根据同一发明构思,如图11所示,本发明实施例还提供一种编码器1100,如图11所示,该编码器1100包括处理器1101和存储器1102,执行本发明方案的程序代码保存在存储器1102中,用于指令处理器1101执行图4所示的编码方法。
本发明还可以通过对处理器进行设计编程,将图4所示的方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图4所示的方法。
根据上述实施例,如图12所示,,本发明实施例提供一种帧间预测的图像解码装置1200,如图12所示,该装置1200包括确定单元1201、处理单元1202和解码单元1203,其中:
确定单元1201,用于确定第一解码块的预测运动信息,所述预测运动信息包括运动矢量预测值和预测参考图像信息,所述预测参考图像信息用于表征预测参考图像块;
处理单元1202,用于根据所述预测运动信息对所述第一解码块进行双向预测得到所述第一解码块的初始解码预测块,并根据所述初始解码预测块得到所述第一解码块的第一解码预测块;对所述预测参考图像块进行第一精度的运动搜索,得到至少一个第二解码预测块,所述运动搜索的搜索位置由所述运动矢量预测值和所述第一精度确定;计算所述第一解码预测块和每个所述第二解码预测块的差异,将所述差异最小的第二解码预测块与所述第一解码块间的运动矢量预测值作为所述第一解码块的目标运动矢量预测值;根据所述目标运动矢量预测值,对所述第一解码块进行双向预测得到所述第一解码块的第三解码预测块;
解码单元1203,用于根据所述第三解码预测块得到所述第一解码块的目标解码预测块,并根据所述目标解码预测块对所述第一解码块进行解码。
可选的,所述预测运动信息包括前向预测运动信息和后向预测运动信息,所述运动矢量预测值包括前向运动矢量预测值和后向运动矢量预测值,所述预测参考图像块包括前向预测参考图像块和后向预测参考图像块。
可选的,所述初始解码预测块包括前向初始解码预测块和后向初始解码预测块,所述处理单元1202在根据所述预测运动信息对所述第一解码块进行双向预测得到所述第一解码块的初始解码预测块时,具体用于:
根据所述前向预测运动信息对所述第一解码块进行前向预测得到所述第一解码块的前向初始解码预测块;
根据所述后向预测运动信息对所述第一解码块进行后向预测得到所述第一解码块的后向初始解码预测块。
可选的,所述处理单元1202在根据所述初始解码预测块得到所述第一解码块的第一解码预测块时,具体用于:
将所述前向初始解码预测块和所述后向初始解码预测块进行加权求和得到所述第一解码块的第一解码预测块;或
将所述前向初始解码预测块作为所述第一解码块的第一解码预测块;或
将所述后向初始解码预测块作为所述第一解码块的第一解码预测块。
可选的,所述第二解码预测块包括前向第二解码预测块和后向第二解码预测块,所述处理单元1202在根据所述运动矢量预测值对预测参考图像块进行第一精度的运动搜索,得到至少一个第二解码预测块时,具体用于:
根据所述前向运动矢量预测值对所述前向预测参考图像块进行第一精度的运动搜索,将每次搜索所得到的前向解码预测块作为前向第二解码预测块,得到所述至少一个第二解码预测块;
根据所述后向运动矢量预测值对所述后向预测参考图像块进行第一精度的运动搜索,将每次搜索所得到的后向解码预测块作为后向第二解码预测块,得到所述至少一个第二解码预测块;
其中,所述第一精度包括整像素精度或1/2像素精度或1/4像素精度或1/8像素精度。
可选的,所述目标运动矢量预测值包括目标前向运动矢量预测值和目标后向运动矢量预测值,所述处理单元1202在计算所述第一解码预测块和每个所述第二解码预测块的差异,将所述差异最小的第二解码预测块与所述第一解码块间的运动矢量预测值作为所述第一解码块的目标运动矢量预测值时,具体用于:
将每个前向第二解码预测块与所述第一解码预测块进行差异比较,所述差异最小的前向第二解码预测块与所述第一解码块间的目标前向运动矢量预测值作为所述目标运动矢量预测值;
将每个后向第二解码预测块与所述第一解码预测块进行差异比较,所述差异最小的后向第二解码预测块与所述第一解码块间的目标后向运动矢量预测值作为所述目标运动矢量预测值。
可选的,所述第一解码块的第三解码预测块包括前向第三解码预测块和后向第三解码预测块,所述处理单元1202在根据所述目标运动矢量预测值,对所述第一解码块进行双向预测得到所述第一解码块的第三解码预测块时,具体用于:
根据所述目标前向运动矢量预测值对所述第一解码块进行前向预测得到所述第一解码块的前向第三解码预测块;
根据所述目标后向运动矢量预测值对所述第一解码块进行后向预测得到所述第一解码块的后向第三解码预测块。
可选的,所述解码单元1203在根据所述第三解码预测块得到所述第一解码块的目标解码预测块时,具体用于:
将所述前向第三解码预测块和后向第三解码预测块进行加权求和得到所述第一解码块的目标解码预测块;或
将所述前向第三解码预测块作为所述第一解码块的目标解码预测块;或
将所述后向第三解码预测块作为所述第一解码块的目标解码预测块。
本发明实施例中的装置1200的各个单元的功能实现以及交互方式可以进一步参照相关方法实施例的描述,在此不再赘述。
应理解以上装置1200和1000中的各个单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。例如,以上各个单元可以为单独设立的处理元件,也可以集成在控制器的某一个芯片中实现,此外,也可以以程序代码的形式存储于控制器的存储元件中,由控制器的某一个处理元件调用并执行以上各个单元的功能。此外各个单元可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。该处理元件可以是通用处理器,例如中央处理器(英文:centralprocessingunit,简称:CPU),还可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(英文:application-specificintegratedcircuit,简称:ASIC),或,一个或多个微处理器(英文:digitalsignalprocessor,简称:DSP),或,一个或者多个现场可编程门阵列(英文:field-programmablegatearray,简称:FPGA)等。
根据同一发明构思,本发明实施例还提供一种解码器1300,如图13所示,该解码器1300包括处理器1301和存储器1302,执行本发明方案的程序代码保存在存储器1302中,用于指令处理器1301执行图5所示的解码方法。
本发明还可以通过对处理器进行设计编程,将图5所示的方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图5所示的方法。
可以理解的是,本发明实施例上述编码器1100和解码器1300中涉及的处理器可以是一个CPU,DSP,ASIC,或一个或多个用于控制本发明方案程序执行的集成电路。计算机系统中包括的一个或多个存储器,可以是只读存储器(英文:read-onlymemory,简称ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(英文:randomaccessmemory,简称:RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是磁盘存储器。这些存储器通过总线与处理器相连接,或者也可以通过专门的连接线与处理器连接。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(英文:non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(英文:magnetictape),软盘(英文:floppydisk),光盘(英文:opticaldisc)及其任意组合。
本发明是参照本发明实施例的方法和设备各自的流程图和方框图来描述的。应理解可由计算机程序指令实现流程图和方框图中的每一流程和方框、以及流程图和方框图中的流程和方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和方框图一个方框或多个方框中指定的功能的装置。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (24)

1.一种帧间预测的图像编码方法,其特征在于,包括:
确定第一编码块的预测运动信息,所述预测运动信息包括运动矢量预测值和预测参考图像信息,所述预测参考图像信息用于表征预测参考图像块;
根据所述预测运动信息对所述第一编码块进行双向预测得到所述第一编码块的初始编码预测块,并根据所述初始编码预测块得到所述第一编码块的第一编码预测块;其中,所述初始编码预测块包括前向初始编码预测块和后向初始编码预测块;所述根据所述初始编码预测块得到所述第一编码块的第一编码预测块,包括:将所述前向初始编码预测块和所述后向初始编码预测块进行加权求和得到所述第一编码块的第一编码预测块;或将所述前向初始编码预测块作为所述第一编码块的第一编码预测块;或将所述后向初始编码预测块作为所述第一编码块的第一编码预测块;
对所述预测参考图像块进行第一精度的运动搜索,得到至少一个第二编码预测块,所述运动搜索的搜索位置由所述运动矢量预测值和所述第一精度确定;其中,所述第一精度包括整像素精度或1/2像素精度或1/4像素精度或1/8像素精度;
计算所述第一编码预测块和每个所述第二编码预测块的差异,将所述差异最小的第二编码预测块与所述第一编码块间的运动矢量预测值作为所述第一编码块的目标运动矢量预测值;
根据所述目标运动矢量预测值,对所述第一编码块进行双向预测得到所述第一编码块的第三编码预测块;
根据所述第三编码预测块得到所述第一编码块的目标编码预测块,并根据所述目标编码预测块对所述第一编码块进行编码;其中,所述第一编码块的第三编码预测块包括前向第三编码预测块和后向第三编码预测块;所述根据所述第三编码预测块得到所述第一编码块的目标编码预测块,包括:将所述前向第三编码预测块和后向第三编码预测块进行加权求和得到所述第一编码块的目标编码预测块;或将所述前向第三编码预测块作为所述第一编码块的目标编码预测块;或将所述后向第三编码预测块作为所述第一编码块的目标编码预测块。
2.如权利要求1所述的方法,其特征在于,所述预测运动信息包括前向预测运动信息和后向预测运动信息,所述运动矢量预测值包括前向运动矢量预测值和后向运动矢量预测值,所述预测参考图像块包括前向预测参考图像块和后向预测参考图像块。
3.如权利要求2所述的方法,其特征在于,所述根据所述预测运动信息对所述第一编码块进行双向预测得到所述第一编码块的初始编码预测块,包括:
根据所述前向预测运动信息对所述第一编码块进行前向预测得到所述第一编码块的前向初始编码预测块;
根据所述后向预测运动信息对所述第一编码块进行后向预测得到所述第一编码块的后向初始编码预测块。
4.如权利要求1所述的方法,其特征在于,所述第二编码预测块包括前向第二编码预测块和后向第二编码预测块,所述对预测参考图像块进行第一精度的运动搜索,得到至少一个第二编码预测块,包括:
根据所述前向运动矢量预测值对所述前向预测参考图像块进行第一精度的运动搜索,将每次搜索所得到的前向编码预测块作为前向第二编码预测块,得到所述至少一个第二编码预测块;
根据所述后向运动矢量预测值对所述后向预测参考图像块进行第一精度的运动搜索,将每次搜索所得到的后向编码预测块作为后向第二编码预测块,得到所述至少一个第二编码预测块。
5.如权利要求4所述的方法,其特征在于,所述目标运动矢量预测值包括目标前向运动矢量预测值和目标后向运动矢量预测值,所述计算所述第一编码预测块和每个所述第二编码预测块的差异,将所述差异最小的第二编码预测块与所述第一编码块间的运动矢量预测值作为所述第一编码块的目标运动矢量预测值,包括:
将每个前向第二编码预测块与所述第一编码预测块进行差异比较,所述差异最小的前向第二编码预测块与所述第一编码块间的目标前向运动矢量预测值作为所述目标运动矢量预测值;
将每个后向第二编码预测块与所述第一编码预测块进行差异比较,所述差异最小的后向第二编码预测块与所述第一编码块间的目标后向运动矢量预测值作为所述目标运动矢量预测值。
6.如权利要求5所述的方法,其特征在于,所述根据所述目标运动矢量预测值,对所述第一编码块进行双向预测得到所述第一编码块的第三编码预测块,包括:
根据所述目标前向运动矢量预测值对所述第一编码块进行前向预测得到所述第一编码块的前向第三编码预测块;
根据所述目标后向运动矢量预测值对所述第一编码块进行后向预测得到所述第一编码块的后向第三编码预测块。
7.一种帧间预测的图像解码方法,其特征在于,包括:
确定第一解码块的预测运动信息,所述预测运动信息包括运动矢量预测值和预测参考图像信息,所述预测参考图像信息用于表征预测参考图像块;
根据所述预测运动信息对所述第一解码块进行双向预测得到所述第一解码块的初始解码预测块,并根据所述初始解码预测块得到所述第一解码块的第一解码预测块;其中,所述初始解码预测块包括前向初始解码预测块和后向初始解码预测块,所述根据所述初始解码预测块得到所述第一解码块的第一解码预测块,包括:将所述前向初始解码预测块和所述后向初始解码预测块进行加权求和得到所述第一解码块的第一解码预测块;或将所述前向初始解码预测块作为所述第一解码块的第一解码预测块;或将所述后向初始解码预测块作为所述第一解码块的第一解码预测块;
对所述预测参考图像块进行第一精度的运动搜索,得到至少一个第二解码预测块,所述运动搜索的搜索位置由所述运动矢量预测值和所述第一精度确定;其中,所述第一精度包括整像素精度或1/2像素精度或1/4像素精度或1/8像素精度;
计算所述第一解码预测块和每个所述第二解码预测块的差异,将所述差异最小的第二解码预测块与所述第一解码块间的运动矢量预测值作为所述第一解码块的目标运动矢量预测值;
根据所述目标运动矢量预测值,对所述第一解码块进行双向预测得到所述第一解码块的第三解码预测块;
根据所述第三解码预测块得到所述第一解码块的目标解码预测块,并根据所述目标解码预测块对所述第一解码块进行解码;其中,所述第一解码块的第三解码预测块包括前向第三解码预测块和后向第三解码预测块,所述根据所述第三解码预测块得到所述第一解码块的目标解码预测块,包括:将所述前向第三解码预测块和后向第三解码预测块进行加权求和得到所述第一解码块的目标解码预测块;或将所述前向第三解码预测块作为所述第一解码块的目标解码预测块;或将所述后向第三解码预测块作为所述第一解码块的目标解码预测块。
8.如权利要求7所述的方法,其特征在于,所述预测运动信息包括前向预测运动信息和后向预测运动信息,所述运动矢量预测值包括前向运动矢量预测值和后向运动矢量预测值,所述预测参考图像块包括前向预测参考图像块和后向预测参考图像块。
9.如权利要求8所述的方法,其特征在于,所述根据所述预测运动信息对所述第一解码块进行双向预测得到所述第一解码块的初始解码预测块,包括:
根据所述前向预测运动信息对所述第一解码块进行前向预测得到所述第一解码块的前向初始解码预测块;
根据所述后向预测运动信息对所述第一解码块进行后向预测得到所述第一解码块的后向初始解码预测块。
10.如权利要求7所述的方法,其特征在于,所述第二解码预测块包括前向第二解码预测块和后向第二解码预测块,所述对预测参考图像块进行第一精度的运动搜索,得到至少一个第二解码预测块,包括:
根据所述前向运动矢量预测值对所述前向预测参考图像块进行第一精度的运动搜索,将每次搜索所得到的前向解码预测块作为前向第二解码预测块,得到所述至少一个第二解码预测块;
根据所述后向运动矢量预测值对所述后向预测参考图像块进行第一精度的运动搜索,将每次搜索所得到的后向解码预测块作为后向第二解码预测块,得到所述至少一个第二解码预测块。
11.如权利要求10所述的方法,其特征在于,所述目标运动矢量预测值包括目标前向运动矢量预测值和目标后向运动矢量预测值,所述计算所述第一解码预测块和每个所述第二解码预测块的差异,将所述差异最小的第二解码预测块与所述第一解码块间的运动矢量预测值作为所述第一解码块的目标运动矢量预测值,包括:
将每个前向第二解码预测块与所述第一解码预测块进行差异比较,所述差异最小的前向第二解码预测块与所述第一解码块间的目标前向运动矢量预测值作为所述目标运动矢量预测值;
将每个后向第二解码预测块与所述第一解码预测块进行差异比较,所述差异最小的后向第二解码预测块与所述第一解码块间的目标后向运动矢量预测值作为所述目标运动矢量预测值。
12.如权利要求11所述的方法,其特征在于,所述根据所述目标运动矢量预测值,对所述第一解码块进行双向预测得到所述第一解码块的第三解码预测块,包括:
根据所述目标前向运动矢量预测值对所述第一解码块进行前向预测得到所述第一解码块的前向第三解码预测块;
根据所述目标后向运动矢量预测值对所述第一解码块进行后向预测得到所述第一解码块的后向第三解码预测块。
13.一种帧间预测的图像编码装置,其特征在于,包括:
确定单元,用于确定第一编码块的预测运动信息,所述预测运动信息包括运动矢量预测值和预测参考图像信息,所述预测参考图像信息用于表征预测参考图像块;
处理单元,用于根据所述预测运动信息对所述第一编码块进行双向预测得到所述第一编码块的初始编码预测块,并根据所述初始编码预测块得到所述第一编码块的第一编码预测块;对所述预测参考图像块进行第一精度的运动搜索,得到至少一个第二编码预测块,所述运动搜索的搜索位置由所述运动矢量预测值和所述第一精度确定;计算所述第一编码预测块和每个所述第二编码预测块的差异,将所述差异最小的第二编码预测块与所述第一编码块间的运动矢量预测值作为所述第一编码块的目标运动矢量预测值;根据所述目标运动矢量预测值,对所述第一编码块进行双向预测得到所述第一编码块的第三编码预测块;
编码单元,用于根据所述第三编码预测块得到所述第一编码块的目标编码预测块,并根据所述目标编码预测块对所述第一编码块进行编码;
其中,所述第一精度包括整像素精度或1/2像素精度或1/4像素精度或1/8像素精度;
其中,所述初始编码预测块包括前向初始编码预测块和后向初始编码预测块,所述处理单元在根据所述初始编码预测块得到所述第一编码块的第一编码预测块时,具体用于:将所述前向初始编码预测块和所述后向初始编码预测块进行加权求和得到所述第一编码块的第一编码预测块;或将所述前向初始编码预测块作为所述第一编码块的第一编码预测块;或将所述后向初始编码预测块作为所述第一编码块的第一编码预测块;
其中,所述第一编码块的第三编码预测块包括前向第三编码预测块和后向第三编码预测块,所述编码单元在根据所述第三编码预测块得到所述第一编码块的目标编码预测块时,具体用于:将所述前向第三编码预测块和后向第三编码预测块进行加权求和得到所述第一编码块的目标编码预测块;或将所述前向第三编码预测块作为所述第一编码块的目标编码预测块;或将所述后向第三编码预测块作为所述第一编码块的目标编码预测块。
14.如权利要求13所述的装置,其特征在于,所述预测运动信息包括前向预测运动信息和后向预测运动信息,所述运动矢量预测值包括前向运动矢量预测值和后向运动矢量预测值,所述预测参考图像块包括前向预测参考图像块和后向预测参考图像块。
15.如权利要求14所述的装置,其特征在于,所述处理单元在根据所述预测运动信息对所述第一编码块进行双向预测得到所述第一编码块的初始编码预测块时,具体用于:
根据所述前向预测运动信息对所述第一编码块进行前向预测得到所述第一编码块的前向初始编码预测块;
根据所述后向预测运动信息对所述第一编码块进行后向预测得到所述第一编码块的后向初始编码预测块。
16.如权利要求13所述的装置,其特征在于,所述第二编码预测块包括前向第二编码预测块和后向第二编码预测块,所述处理单元在根据所述运动矢量预测值对预测参考图像块进行第一精度的运动搜索,得到至少一个第二编码预测块时,具体用于:
根据所述前向运动矢量预测值对所述前向预测参考图像块进行第一精度的运动搜索,将每次搜索所得到的前向编码预测块作为前向第二编码预测块,得到所述至少一个第二编码预测块;
根据所述后向运动矢量预测值对所述后向预测参考图像块进行第一精度的运动搜索,将每次搜索所得到的后向编码预测块作为后向第二编码预测块,得到所述至少一个第二编码预测块。
17.如权利要求16所述的装置,其特征在于,所述目标运动矢量预测值包括目标前向运动矢量预测值和目标后向运动矢量预测值,所述处理单元在计算所述第一编码预测块和每个所述第二编码预测块的差异,将所述差异最小的第二编码预测块与所述第一编码块间的运动矢量预测值作为所述第一编码块的目标运动矢量预测值时,具体用于:
将每个前向第二编码预测块与所述第一编码预测块进行差异比较,所述差异最小的前向第二编码预测块与所述第一编码块间的目标前向运动矢量预测值作为所述目标运动矢量预测值;
将每个后向第二编码预测块与所述第一编码预测块进行差异比较,所述差异最小的后向第二编码预测块与所述第一编码块间的目标后向运动矢量预测值作为所述目标运动矢量预测值。
18.如权利要求17所述的装置,其特征在于,所述处理单元在根据所述目标运动矢量预测值,对所述第一编码块进行双向预测得到所述第一编码块的第三编码预测块时,具体用于:
根据所述目标前向运动矢量预测值对所述第一编码块进行前向预测得到所述第一编码块的前向第三编码预测块;
根据所述目标后向运动矢量预测值对所述第一编码块进行后向预测得到所述第一编码块的后向第三编码预测块。
19.一种帧间预测的图像解码装置,其特征在于,包括:
确定单元,用于确定第一解码块的预测运动信息,所述预测运动信息包括运动矢量预测值和预测参考图像信息,所述预测参考图像信息用于表征预测参考图像块;
处理单元,用于根据所述预测运动信息对所述第一解码块进行双向预测得到所述第一解码块的初始解码预测块,并根据所述初始解码预测块得到所述第一解码块的第一解码预测块;对所述预测参考图像块进行第一精度的运动搜索,得到至少一个第二解码预测块,所述运动搜索的搜索位置由所述运动矢量预测值和所述第一精度确定;计算所述第一解码预测块和每个所述第二解码预测块的差异,将所述差异最小的第二解码预测块与所述第一解码块间的运动矢量预测值作为所述第一解码块的目标运动矢量预测值;根据所述目标运动矢量预测值,对所述第一解码块进行双向预测得到所述第一解码块的第三解码预测块;
解码单元,用于根据所述第三解码预测块得到所述第一解码块的目标解码预测块,并根据所述目标解码预测块对所述第一解码块进行解码;
其中,所述第一精度包括整像素精度或1/2像素精度或1/4像素精度或1/8像素精度;
其中,所述初始解码预测块包括前向初始解码预测块和后向初始解码预测块,所述处理单元在根据所述初始解码预测块得到所述第一解码块的第一解码预测块时,具体用于:将所述前向初始解码预测块和所述后向初始解码预测块进行加权求和得到所述第一解码块的第一解码预测块;或将所述前向初始解码预测块作为所述第一解码块的第一解码预测块;或将所述后向初始解码预测块作为所述第一解码块的第一解码预测块;
其中,所述第一解码块的第三解码预测块包括前向第三解码预测块和后向第三解码预测块,所述解码单元在根据所述第三解码预测块得到所述第一解码块的目标解码预测块时,具体用于:将所述前向第三解码预测块和后向第三解码预测块进行加权求和得到所述第一解码块的目标解码预测块;或将所述前向第三解码预测块作为所述第一解码块的目标解码预测块;或将所述后向第三解码预测块作为所述第一解码块的目标解码预测块。
20.如权利要求19所述的装置,其特征在于,所述预测运动信息包括前向预测运动信息和后向预测运动信息,所述运动矢量预测值包括前向运动矢量预测值和后向运动矢量预测值,所述预测参考图像块包括前向预测参考图像块和后向预测参考图像块。
21.如权利要求20所述的装置,其特征在于,所述处理单元在根据所述预测运动信息对所述第一解码块进行双向预测得到所述第一解码块的初始解码预测块时,具体用于:
根据所述前向预测运动信息对所述第一解码块进行前向预测得到所述第一解码块的前向初始解码预测块;
根据所述后向预测运动信息对所述第一解码块进行后向预测得到所述第一解码块的后向初始解码预测块。
22.如权利要求19所述的装置,其特征在于,所述第二解码预测块包括前向第二解码预测块和后向第二解码预测块,所述处理单元在根据所述运动矢量预测值对预测参考图像块进行第一精度的运动搜索,得到至少一个第二解码预测块时,具体用于:
根据所述前向运动矢量预测值对所述前向预测参考图像块进行第一精度的运动搜索,将每次搜索所得到的前向解码预测块作为前向第二解码预测块,得到所述至少一个第二解码预测块;
根据所述后向运动矢量预测值对所述后向预测参考图像块进行第一精度的运动搜索,将每次搜索所得到的后向解码预测块作为后向第二解码预测块,得到所述至少一个第二解码预测块。
23.如权利要求22所述的装置,其特征在于,所述目标运动矢量预测值包括目标前向运动矢量预测值和目标后向运动矢量预测值,所述处理单元在计算所述第一解码预测块和每个所述第二解码预测块的差异,将所述差异最小的第二解码预测块与所述第一解码块间的运动矢量预测值作为所述第一解码块的目标运动矢量预测值时,具体用于:
将每个前向第二解码预测块与所述第一解码预测块进行差异比较,所述差异最小的前向第二解码预测块与所述第一解码块间的目标前向运动矢量预测值作为所述目标运动矢量预测值;
将每个后向第二解码预测块与所述第一解码预测块进行差异比较,所述差异最小的后向第二解码预测块与所述第一解码块间的目标后向运动矢量预测值作为所述目标运动矢量预测值。
24.如权利要求23所述的装置,其特征在于,所述第一解码块的第三解码预测块包括前向第三解码预测块和后向第三解码预测块,所述处理单元在根据所述目标运动矢量预测值,对所述第一解码块进行双向预测得到所述第一解码块的第三解码预测块时,具体用于:
根据所述目标前向运动矢量预测值对所述第一解码块进行前向预测得到所述第一解码块的前向第三解码预测块;
根据所述目标后向运动矢量预测值对所述第一解码块进行后向预测得到所述第一解码块的后向第三解码预测块。
CN201680088009.XA 2016-09-30 2016-09-30 一种帧间预测的图像编解码方法和装置 Active CN109479143B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/101289 WO2018058622A1 (zh) 2016-09-30 2016-09-30 一种帧间预测的图像编解码方法和装置

Publications (2)

Publication Number Publication Date
CN109479143A CN109479143A (zh) 2019-03-15
CN109479143B true CN109479143B (zh) 2020-09-08

Family

ID=61763050

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680088009.XA Active CN109479143B (zh) 2016-09-30 2016-09-30 一种帧间预测的图像编解码方法和装置

Country Status (11)

Country Link
US (1) US11039144B2 (zh)
EP (1) EP3509304B1 (zh)
JP (1) JP6700489B2 (zh)
KR (2) KR102322437B1 (zh)
CN (1) CN109479143B (zh)
AU (1) AU2016425069B2 (zh)
BR (1) BR112019005678B1 (zh)
MX (1) MX2019003549A (zh)
MY (1) MY194555A (zh)
RU (1) RU2715010C1 (zh)
WO (1) WO2018058622A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115361564B (zh) * 2018-05-16 2023-09-01 华为技术有限公司 一种运动矢量获取方法,装置,设备及计算机可读存储介质
WO2020003270A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Number of motion candidates in a look up table to be checked according to mode
CN115134599A (zh) 2018-06-29 2022-09-30 抖音视界有限公司 更新查找表(lut)的条件
KR20210024502A (ko) 2018-06-29 2021-03-05 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Hmvp 후보를 병합/amvp에 추가할 때의 부분/풀 프루닝
WO2020003284A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and amvp
KR102646649B1 (ko) 2018-06-29 2024-03-13 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut에서의 모션 후보들의 검사 순서
WO2020003261A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Selection from multiple luts
CN110662059B (zh) 2018-06-29 2021-04-20 北京字节跳动网络技术有限公司 使用查找表存储先前编码的运动信息并用其编码后续块的方法和装置
CN114845108A (zh) 2018-06-29 2022-08-02 抖音视界(北京)有限公司 查找表的更新:fifo、约束的fifo
JP7181395B2 (ja) * 2018-07-02 2022-11-30 北京字節跳動網絡技術有限公司 イントラ予測モードを有するルックアップテーブルおよび非隣接ブロックからのイントラモード予測
WO2020007362A1 (en) * 2018-07-06 2020-01-09 Mediatek Inc. Inherited motion information for decoding a current coding unit in a video coding system
CN110858794B (zh) 2018-08-24 2022-11-11 华为技术有限公司 多频段传输方法及装置
CN112640468A (zh) * 2018-09-04 2021-04-09 华为技术有限公司 应用于双向帧间预测中的参考帧获取方法及装置
TWI820211B (zh) 2018-09-12 2023-11-01 大陸商北京字節跳動網絡技術有限公司 取決於總數減去k的開始檢查hmvp候選的條件
CN117241040A (zh) * 2018-11-08 2023-12-15 Oppo广东移动通信有限公司 图像信号编码/解码方法及其设备
CN111263152B (zh) * 2018-11-30 2021-06-01 华为技术有限公司 视频序列的图像编解码方法和装置
WO2020143741A1 (en) 2019-01-10 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Invoke of lut updating
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
WO2020147772A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Motion candidates derivation
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
WO2020221258A1 (en) 2019-04-28 2020-11-05 Beijing Bytedance Network Technology Co., Ltd. Symmetric motion vector difference coding
CN115037933B (zh) * 2022-08-09 2022-11-18 浙江大华技术股份有限公司 一种帧间预测的方法及设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1492687A (zh) * 2003-09-04 2004-04-28 上海大学 多种块模式的快速整像素运动估计方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778097A (en) * 1996-03-07 1998-07-07 Intel Corporation Table-driven bi-directional motion estimation using scratch area and offset valves
ES2602575T3 (es) * 2001-11-06 2017-02-21 Panasonic Intellectual Property Corporation Of America Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
EP1578137A2 (en) * 2004-03-17 2005-09-21 Matsushita Electric Industrial Co., Ltd. Moving picture coding apparatus with multistep interpolation process
JP2006080925A (ja) * 2004-09-09 2006-03-23 Toshiba Corp 動画符号化装置、動画符号化方法および動画符号化プログラム
EP2595381B1 (en) * 2006-04-28 2016-05-18 NTT DoCoMo, Inc. Image predictive decoding device
JP2008011158A (ja) * 2006-06-29 2008-01-17 Matsushita Electric Ind Co Ltd 動きベクトル探索方法及び動きベクトル探索装置
CN100551073C (zh) 2006-12-05 2009-10-14 华为技术有限公司 编解码方法及装置、分像素插值处理方法及装置
WO2009126260A1 (en) 2008-04-11 2009-10-15 Thomson Licensing Methods and apparatus for template matching prediction (tmp) in video encoding and decoding
JP2010028220A (ja) 2008-07-15 2010-02-04 Sony Corp 動きベクトル検出装置、動きベクトル検出方法、画像符号化装置及びプログラム
CN101931803B (zh) * 2009-06-26 2013-01-09 华为技术有限公司 视频图像运动信息获取方法、装置及设备、模板构造方法
JP5304708B2 (ja) * 2010-03-31 2013-10-02 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
CN101860747B (zh) * 2010-03-31 2012-05-23 北京大学 亚像素运动估计系统及方法
SG184528A1 (en) * 2010-04-09 2012-11-29 Mitsubishi Electric Corp Moving image encoding device and moving image decoding device
EP4425925A2 (en) 2011-01-07 2024-09-04 Nokia Technologies Oy Motion prediction in video coding
KR101846603B1 (ko) * 2011-02-10 2018-04-06 선 페이턴트 트러스트 동화상 부호화 방법, 동화상 부호화 장치, 동화상 복호 방법, 동화상 복호 장치, 및 동화상 부호화 복호 장치
JP5649523B2 (ja) * 2011-06-27 2015-01-07 日本電信電話株式会社 映像符号化方法,装置,映像復号方法,装置およびそれらのプログラム
US9819963B2 (en) * 2011-07-12 2017-11-14 Electronics And Telecommunications Research Institute Inter prediction method and apparatus for same
KR101809879B1 (ko) * 2011-09-28 2017-12-15 가부시키가이샤 제이브이씨 켄우드 동영상 인코딩 장치, 동영상 인코딩 방법 및 동영상 인코딩 프로그램을 저장한 기록매체
PT3197164T (pt) * 2011-10-17 2021-02-03 Toshiba Kk Aparelho de descodificação e método de descodificação
US10958927B2 (en) * 2015-03-27 2021-03-23 Qualcomm Incorporated Motion information derivation mode determination in video coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1492687A (zh) * 2003-09-04 2004-04-28 上海大学 多种块模式的快速整像素运动估计方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Algorithm Description of Joint Exploration Test Model 3 (JVET-C1001);Jianle Chen等;《Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 3rd Meeting: Geneva, CH, 26 May – 1 June 2016》;20160702;全文 *

Also Published As

Publication number Publication date
AU2016425069B2 (en) 2022-03-03
KR20190045935A (ko) 2019-05-03
JP6700489B2 (ja) 2020-05-27
KR102322437B1 (ko) 2021-11-05
JP2019530362A (ja) 2019-10-17
CN109479143A (zh) 2019-03-15
WO2018058622A1 (zh) 2018-04-05
EP3509304A4 (en) 2019-08-21
BR112019005678B1 (pt) 2023-12-12
EP3509304A1 (en) 2019-07-10
US20190230362A1 (en) 2019-07-25
US11039144B2 (en) 2021-06-15
MY194555A (en) 2022-12-01
BR112019005678A2 (pt) 2019-06-11
MX2019003549A (es) 2019-08-12
AU2016425069A1 (en) 2019-04-11
EP3509304B1 (en) 2023-11-01
KR102219320B1 (ko) 2021-02-23
KR20210021142A (ko) 2021-02-24
RU2715010C1 (ru) 2020-02-21

Similar Documents

Publication Publication Date Title
CN109479143B (zh) 一种帧间预测的图像编解码方法和装置
US11558623B2 (en) Bidirectional inter prediction method and terminal based on motion vector difference reduction
CN109218733B (zh) 一种确定预测运动矢量预测的方法以及相关设备
US20230030845A1 (en) Picture Encoding and Decoding Method and Apparatus for Video Sequence
CN109565601B (zh) 一种基于模板匹配的预测方法及装置
CN109891882B (zh) 一种基于模板匹配的编解码方法及装置
JP6968228B2 (ja) インター予測を介する画像符号化および復号のための方法および装置
JP7036893B2 (ja) 映像符号化方法、映像復号方法、および端末

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