CN111801944A - 视频图像编码器、视频图像解码器以及对应的运动信息编码方法 - Google Patents

视频图像编码器、视频图像解码器以及对应的运动信息编码方法 Download PDF

Info

Publication number
CN111801944A
CN111801944A CN201880090578.7A CN201880090578A CN111801944A CN 111801944 A CN111801944 A CN 111801944A CN 201880090578 A CN201880090578 A CN 201880090578A CN 111801944 A CN111801944 A CN 111801944A
Authority
CN
China
Prior art keywords
motion information
value
information candidate
candidate
cost
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
CN201880090578.7A
Other languages
English (en)
Other versions
CN111801944B (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 CN111801944A publication Critical patent/CN111801944A/zh
Application granted granted Critical
Publication of CN111801944B publication Critical patent/CN111801944B/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on rate distortion criteria
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors

Landscapes

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

Abstract

本发明涉及图像(picture/image)处理领域。本发明尤其涉及一种视频图像解码设备和一种视频图像编码设备。本发明特别涉及减少从所述编码设备传输到所述解码设备的信息量。根据本发明,所述编码设备只将运动信息的绝对值传输到所述解码设备。所述编码设备和所述解码设备均使用所述运动信息的所述绝对值构建所述生成的运动信息的运动信息候选,其中,每个运动信息候选根据所述绝对值的不同符号组合生成;计算每个运动信息候选的成本;根据所述计算出的成本确定每个运动信息候选的排列值(rank)。所述编码设备根据所述确定的排列值传输所述运动信息的所述绝对值,而所述解码设备能够根据所述确定的排列值将运动信息候选确定为所述运动信息。

Description

视频图像编码器、视频图像解码器以及对应的运动信息编码 方法
技术领域
本发明实施例涉及视频图像处理(例如,视频图像和/或静止图像编码)领域。本发明尤其涉及一种视频图像解码设备(例如,视频图像解码器)以及一种视频图像编码设备(例如,视频图像编码器)。本发明还涉及对应的视频图像解码和编码方法。
背景技术
视频编码(视频编码和视频解码)广泛用于数字视频应用,例如,广播数字TV、互联网和移动网络上的视频传输、视频聊天和视频会议等实时会话应用、DVD和蓝光光盘、视频内容采集和编辑系统以及可携式摄像机的安全应用。
随着1990年H.261标准中基于块的混合型视频编码方式的发展,新的视频编码技术和工具得到发展并为新的视频编码标准形成基础。大多数视频编码标准的目标之一是在保证图像质量的情况下,实现相比前一个标准更低的码率。其它视频编码标准包括MPEG-1视频、MPEG-2视频、ITU-T H.262/MPEG-2、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频编码(Advanced Video Coding,AVC)、ITU-T H.265、高效视频编码(High EfficiencyVideo Coding,HEVC)以及这些标准的扩展,例如,可扩展性和/或三维(three dimension,3D)扩展。
在混合视频编码中,编码器执行帧间估计支持的帧间预测,从而利用视频序列中的时间冗余。这样能够减少需要从编码器传输到解码器的信息量。具体而言,帧间估计产生的运动信息与其它信息一起从编码器传输到解码器。通常,该运动信息包括不同形式的运动矢量(Motion Vector,MV)。编码器中的帧间预测确保了编码器和解码器处于同步状态,并且与解码器中的帧间预测相同。在解码器中,执行帧间预测以使用从编码器传输来的运动信息来重建时间冗余。
传输的运动信息的一种特殊形式是一对运动矢量预测值(Motion VectorPredictor,MVP)索引和运动矢量差值(Motion Vector Difference,MVD)。MVP是在编码器/解码器中以相同方式针对给定编码单元构建的矢量列表中的一个矢量。MVP索引是所述MVP列表中的MVP的索引。MVD是通过帧间估计产生的MV与选择的MVP之间的差值。顾名思义,MVD是一个2D矢量。
目前,编码器将MVD传输到解码器,该传输过程如图15所示。首先,通过具有非均匀概率模型的熵编码器传输MVD的绝对值(x,y)。然后,对于非零分量,以等概率(equalprobability,EP)模式传输符号,每个符号需要1比特来指示。在大多数情况下,MVD的符号是均匀分布的,因此上下文自适应二进制算术编码(Context-Adaptive BinaryArithmetic Coding,CABAC)等不能提高压缩效率。
发明内容
鉴于上述实现方式,本发明旨在进一步改进混合视频编码。具体而言,本发明的目的是在保证图像质量的情况下减少从编码器传输到解码器的信息量。因此,本发明分别提供一种视频图像编码设备以及一种视频图像解码设备,从而能够进一步减少所传输(即编码在从编码器到解码器的码流上)的信息。
根据独立权利要求的特征限定的本发明实施例来实现本发明的目的。从属权利要求的特征限定了这些实施例的更多有利实现方式。
具体而言,本发明提出不传输运动信息的符号,而只是从编码器向解码器传输运动信息的绝对值,例如,MVD分量(x分量和y分量)。相反,本发明提出一种的方法,在不增加计算复杂度的情况下通过模板或双向匹配等在解码器中推导出符号,还可能借助一些传输的辅助信息。
本发明第一方面提供一种视频图像解码设备。所述设备包括:接收器,用于接收运动信息的绝对值;处理器,用于:根据所述接收到的绝对值生成运动信息候选,其中,每个运动信息候选根据所述绝对值的不同符号组合生成;计算每个运动信息候选的成本;根据所述计算出的成本确定每个运动信息候选的排列值;根据所述确定的排列值将运动信息候选确定为所述运动信息。
所述设备可以是视频图像解码器,也可以由这样的解码器实现。由于所述解码设备能够在不接收所述运动信息的符号的情况下确定所述运动信息,所以编码器不需要传输这些符号。因此,减少了所述编码器编码到码流上、传输到所述解码器的信息量。所述解码设备确定所述运动信息不会增加太多的计算复杂度,也不会影响所述解码设备的解码效率。
所述运动信息可以包括MV、MVP和/或MVD。本发明可以应用于不同的运动模型。例如,本发明可以应用于平移模型、仿射模型或透视模型。相应地,所述运动信息可以包括直接传输的MVD或MV。本发明也可以应用于仿射运动模型,其中,所述运动信息可以包括MV/MVD列表。在这种情况下,存在22N个运动信息候选,其中,N是运动模型产生的MV/MVD列表的长度。值得注意的是,可以认为所述平移模型会产生长度为1的MVD列表。
所述运动信息的所述绝对值可以是所述MV或MVD的绝对值。根据所述接收到的绝对值(例如,绝对MVD分量)确定所述运动信息候选。例如,对于接收到的无符号MVD(x,y),其中,x≥0,y≥0,所述候选可以为[(x,y),(x,-y),(-x,y),(-x,-y)]。对于零值分量,可以从列表中排除不重要的组合,例如,(x,y)=(-x,y),其中,x=0;(x,y)=(x,-y),其中,y=0。
运动信息候选的成本可以说明所述运动信息候选为正确运动信息的概率。例如,所述运动信息候选的成本越低,概率越高。因此,运动信息候选的排列值可以是说明所述运动信息候选相对于其它运动信息候选的成本的信息。例如,成本越低,排列值越高。
在所述第一方面的一种实现方式中,所述接收器还用于接收排列值,所述处理器用于根据所述接收到的排列值将带有排列值的运动信息候选确定为所述运动信息。
所述排列值与所述运动信息的所述绝对值一样,可以从编码设备进行编码的码流中接收,即由所述编码设备传输到所述解码设备。所述排列值是辅助信息,从而使得所述解码设备快速且准确地确定所述运动信息。
在所述第一方面的另一种实现方式中,所述接收到的排列值为索引,所述处理器用于:生成所述运动信息候选按照排列值排序的索引列表;根据所述接收到的索引将所述索引列表中的带有索引的运动信息候选确定为所述运动信息。
如上所述,排列值大(即成本低)的候选比排列值小(成本高)的其它候选更有可能成为正确的运动信息。一种对排列值索引进行编码的方法可以利用这一事实通过使用CABAC的自适应上下文和/或使用非均匀分布的代码(例如,将较短码字分配给较大排列值候选的一元码或哥伦布(Golomb)码)来减少要传输的信息量。
在本实现方式中,只有索引从所述编码器传输到所述解码器,这样只增加了少量附加信息。当然,所述解码设备用于根据所述接收到的绝对值准确地确定正确的运动信息。
在所述第一方面的另一种实现方式中,所述处理器用于将与计算出的最低成本对应的带有排列值的运动信息候选确定为所述运动信息。
在本实现方式中,所述解码设备不需要所述编码设备提供任何辅助信息(像上文描述的排列值或索引)。因此,从所述编码器传输到所述解码器的信息量可以尽可能少。值得注意的是,即使传输了辅助信息(排列值、索引),在大多数情况下,带有最佳排列值、最低成本或最小索引的运动信息候选是真正的运动信息。因此,本实现方式避免了传输排列值/索引。
在所述第一方面的另一种实现方式中,所述处理器用于通过模板或双向匹配,特别是根据绝对差之和或者其它失真度量,计算每个运动信息候选的成本。
可以使用传统的模板或双向匹配技术。
在所述第一方面的另一种实现方式中,所述处理器用于排除两个运动信息候选中的一个,其中,所述两个运动信息候选的不同点仅在于至少一个零值的符号不同。
因此,所述列表变短,确定正确的运动信息更高效,从而能够减少匹配操作量。
在所述第一方面的另一种实现方式中,所述处理器用于根据传输每个运动信息候选的排列值需要的比特数,计算每个运动信息候选的成本。
因此,为了获得更好的结果,使用改进的成本度量。
本发明第二方面提供一种视频图像编码设备。所述设备包括:处理器,用于生成运动信息;根据所述生成的运动信息的绝对值构建运动信息候选,其中,每个运动信息候选根据所述绝对值的不同符号组合生成;计算每个运动信息候选的成本;根据所述计算出的成本确定每个运动信息候选的排列值;传输器,用于根据所述确定的排列值传输所述生成的运动信息的所述绝对值。
所述编码设备传输所述绝对值,特别是不传输所述运动信息的符号。因此,可以减少编码到码流上、传输到解码设备的信息量。术语“根据所述确定的排列值”并不意味着还传输排列值,而只表示所述编码设备在执行传输步骤时考虑所述确定的排列值。下面描述了考虑所述确定的排列值的不同方法。
在所述第二方面的一种实现方式中,所述传输器用于传输与所述生成的运动信息对应的所述运动信息候选的所述排列值。
也就是说,所述编码设备传输所述生成的运动信息的绝对值,以及根据所述确定的排列值传输所述运动信息候选的排列值。在本实现方式中,术语“根据所述确定的排列值”表示与所述生成的运动信息对应的所述运动信息候选的所述排列值也与所述绝对值一起传输。所述排列值作为辅助信息,有助于所述解码设备确定所述运动信息。
在所述第二方面的另一种实现方式中,所述处理器用于根据传输每个运动信息候选的排列值需要的比特数,计算每个运动信息候选的成本。
因此,为了获得更好的结果,使用改进的成本度量。
在所述第二方面的另一种实现方式中,所述处理器用于:生成所述运动信息候选按照排列值排序的索引列表;确定与所述生成的运动信息对应的所述运动信息候选的所述索引列表中的索引;所述传输器用于传输所述确定的索引。
所生成的运动信息的所述排列值相应地与所述确定的索引对应,所述传输的索引在所述解码设备侧作为辅助信息。所述确定的排列值、列表和索引在所述编码设备和所述解码设备侧是相同的。
在所述第二方面的另一种实现方式中,所述处理器用于:判断与计算出的最低成本对应的带有排列值的运动信息候选是否与所述生成的运动信息对应;如果所述确定的运动信息候选与所述生成的运动信息不对应,则丢弃所述生成的运动信息。
在本实现方式中,“根据所述确定的排版”表示:如果为所述生成的运动信息确定的排列值与计算出的最低成本相关,则所述编码设备只传输所述绝对值。否则,丢弃所述生成的运动信息,不传输所述生成的运动信息的绝对值。丢弃可能意味着所述编码器选择其它运动信息,或者选择其它编码模式。由于所述第一方面的解码设备将成本最低的运动信息用作正确的运动信息,所以本实现方式防止了所述解码设备错误地确定正确的运动信息。
在所述第二方面的另一种实现方式中,所述处理器用于通过模板或双向匹配,特别是根据绝对差之和或者其它失真度量,计算每个运动信息候选的成本。
本方面的优点与上文结合所述第一方面的解码设备描述的优点相同。
在所述第二方面的另一种实现方式中,所述处理器用于排除两个运动信息候选中的一个,其中,所述两个运动信息候选的不同点仅在于至少一个零值的符号不同。
本发明第三方面提供一种视频图像解码方法。所述方法包括:接收运动信息的绝对值;根据所述接收到的绝对值生成运动信息候选,其中,每个运动信息候选根据所述绝对值的不同符号组合生成;计算每个运动信息候选的成本;根据所述计算出的成本确定每个运动信息候选的排列值;根据所述确定的排列值将运动信息候选确定为所述运动信息。
在所述第三方面的一种实现方式中,所述方法包括:接收排列值;根据所述接收到的排列值将带有排列值的运动信息候选确定为所述运动信息。
在所述第三方面的另一种实现方式中,所述接收的排列值为索引,所述方法包括:生成所述运动信息候选按照排列值排序的索引列表;根据所述接收到的索引将所述索引列表中的带有索引的运动信息候选确定为所述运动信息。
在所述第三方面的另一实现方式中,所述方法包括:将与计算出的最低成本对应的带有排列值的运动信息候选确定为所述运动信息。
在所述第三方面的另一实现方式中,所述方法包括:通过模板或双向匹配,特别是根据绝对差之和或者其它失真度量,计算每个运动信息候选的成本。
在所述第三方面的另一实现方式中,所述方法包括:排除两个运动信息候选中的一个,其中,所述两个运动信息候选的不同点仅在于至少一个零值的符号不同。
在所述第三方面的另一实现方式中,所述方法包括:根据传输每个运动信息候选的排列值需要的比特数,计算每个运动信息候选的成本。
所述第三方面及其实现方式提供的方法获得了与所述第一方面及其相应实现方式提供的解码设备相同的优点和效果。
本发明第四方面提供一种视频图像编码方法。所述方法包括:生成运动信息;根据所述生成的运动信息的绝对值构建运动信息候选,其中,每个运动信息候选根据所述绝对值的不同符号组合生成;计算每个运动信息候选的成本;根据所述计算出的成本确定每个运动信息候选的排列值;根据所述确定的排列值传输所述输入运动信息的所述绝对值。
在所述第四方面的一种实现方式中,所述方法包括:传输与所述生成的运动信息对应的所述运动信息候选的所述排列值。
在所述第四方面的另一实现方式中,所述方法包括:根据传输每个运动信息候选的排列值需要的比特数,计算每个运动信息候选的成本。
在所述第四方面的另一种实现方式中,所述方法包括:生成所述运动信息候选按照排列值排序的索引列表;确定与所述生成的运动信息对应的所述运动信息候选的所述索引列表中的索引;所述传输器用于传输所述确定的索引。
在所述第四方面的另一种实现方式中,所述方法包括:判断与计算出的最低成本对应的带有排列值的运动信息候选是否与所述生成的运动信息对应;如果所述确定的运动信息候选与所述生成的运动信息不对应,则丢弃所述生成的运动信息。
在所述第四方面的另一种实现方式中,所述方法包括:通过模板或双向匹配,特别是根据绝对差之和或者其它失真度量,计算每个运动信息候选的成本。
在所述第四方面的另一种实现方式中,所述方法包括:排除两个运动信息候选中的一个,其中,所述两个运动信息候选的不同点仅在于至少一个零值的符号不同。
所述第四方面及其实现方式提供的方法获得了与所述第二方面及其相应实现方式提供的编码设备相同的优点和效果。
根据第四方面,提供了一种计算机程序产品。所述计算机程序产品存储有程序代码。当所述计算机程序在计算机上运行时,所述程序代码用于执行所述第三和第四方面及其实现方式提供的方法。
需要说明的是,本申请中描述的所有设备、元件、单元和构件可以在软件或硬件元件或其任何类型的组合中实现。本申请中描述的各种实体执行的所有步骤和所描述的将由各种实体执行的功能旨在表明各个实体适于或用于执行各自的步骤和功能。虽然在以下具体实施例的描述中,由外部实体执行的特定功能或步骤没有在执行特定步骤或功能的该实体的具体元件的描述中说明,但是技术人员应该清楚的是这些方法和功能可以在各自的硬件或软件元件或其任意组合中实现。
以下附图和描述详细阐述了一个或多个实施例。其它特征、目的和优点在描述、附图和权利要求中是显而易见的。
附图说明
下文将参考所附附图和示意图更加详细地描述本发明实施例,其中:
图1为用于实现本发明实施例的视频编码器的一种示例性结构的框图;
图2为用于实现本发明实施例的视频解码器的一种示例性结构的框图;
图3为用于实现本发明实施例的视频编码系统的一个示例的框图;
图4为本发明实施例提供的视频图像编码设备的框图;
图5为本发明实施例提供的视频图像解码设备的框图;
图6示意性地示出了本发明实施例提供的视频图像编码方法;
图7示意性地示出了本发明实施例提供的视频图像解码方法;
图8示出了本发明实施例提供的MVD传输的流程图;
图9示出了本发明实施例提供的MVD传输的流程图;
图10示出了视频编码器中的本发明实施例的一种实现方式的框图;
图11示出了视频编码器中的本发明实施例的一种实现方式的框图;
图12示出了视频解码器中的本发明实施例的一种实现方式的框图;
图13示出了视频解码器中的本发明实施例的一种实现方式的框图;
图14示出了本发明实施例提供的MVD候选列表构建的流程图;
图15示出了混合编解码器中的MVD传输。
具体实施方式
以下描述中,参考形成本发明一部分并以说明的方式示出本发明实施例的具体方面或可以使用本发明实施例的具体方面的附图。应理解,本发明实施例可以在其它方面中使用,并且可以包括附图中未描绘的结构或逻辑变化。因此,以下详细描述不应以限制性的意义来理解,且本发明的范围由所附权利要求书界定。
例如,应理解,结合所描述方法的揭示内容可以对用于执行所述方法的对应设备或系统也同样适用,且反之亦然。例如,如果描述一个或多个具体方法步骤,则对应的设备可以包括功能单元一个或多个等单元,来执行所描述的一个或多个方法步骤(例如,一个单元执行一个或多个步骤,或多个单元,其中每个都执行多个步骤中的一个或多个),即使附图中未明确描述或说明这种一个或多个单元。另一方面,例如,如果根据功能单元等一个或多个单元描述具体装置,则对应的方法可以包括一个步骤来执行一个或多个单元的功能(例如,一个步骤执行一个或多个单元的功能,或多个步骤,其中每个都执行多个单元中的一个或多个单元的功能),即使图中未明确描述或说明这种一个或多个步骤。进一步,应理解的是,除非另外明确说明,本文中所描述的各示例性实施例和/或方面的特征可以相互组合。
视频编码通常是指处理形成视频或视频序列的图像序列。在视频编码领域,术语“帧(frame)”与“图像(picture/image)”可以用作同义词。视频编码包括视频编码和视频解码两部分。视频编码在源侧执行,通常包括处理(例如,压缩)原始视频图像以减少表示该视频图像所需的数据量(从而更高效存储和/或传输)。视频解码在目的地侧执行,通常包括相对于编码器作逆处理,以重建视频图像。实施例涉及的视频图像(或通常称为视频图像(image/picture),下文将进行解释)“编码”应理解为视频图像的“编码”和“解码”。编码部分和解码部分也合称为编解码(CODEC)(编码和解码)。
在无损视频编码情况下,可以重建原始视频图像,即重建的视频图像与原始视频图像具有相同的质量(假设存储或传输期间没有传输损耗或其它数据丢失)在有损视频编码情况下,通过量化等执行进一步压缩,来减少表示视频图像的数据量,而解码器侧无法完全重建视频图像,即重建的视频图像的质量比原始视频图像的质量较低或较差。
H.261的几个视频编码标准属于“有损混合型视频编解码器”(即,将像素点域中的空间预测和时间预测与变换域中用于应用量化的2D变换编码结合)。视频序列中的每个图像通常分割成不重叠的块集合,通常在块层级上执行编码。换句话说,在编码器侧,通常在块(视频块)层级对视频进行处理(即编码),例如,通过空间(帧内)预测和时间(帧间)预测来生成预测块;从当前块(当前处理的块/待处理的块)中减去预测块以获取残差块;在变换域中对残差块进行变换并量化残差块,以减少待传输(压缩)的数据量,而解码器侧对经编码或压缩的块进行相对于编码器的逆处理,以重建用于表示的当前块。另外,编码器和解码器处理步骤相同,使得编码器和解码器生成相同的预测(例如,帧内预测和帧间预测)和/或重建,用于对后续块进行处理(即编码)。
由于视频图像处理(也称为移动图像处理)和静止图像处理(术语“处理”包括编码)共享许多概念和技术或工具,所以在下文中,术语“图像”用于指代视频序列中的视频图像(如上文所述)和/或静止图像,以避免在不需要时对视频图像和静止图像进行不必要的重复和区分。如果上述描述仅仅是指静止图像(still picture/still image),应使用术语“静止图像”。
以下在结合图4至图11更详细地描述本发明实施例之前,结合图1至图3描述用于实现本发明实施例的编码器100、解码器200和编码系统300。
图3为编码系统300(例如,图像编码系统300)的一个实施例的概念性或示意性框图。编码系统300包括源设备310,源设备310用于将编码数据330(例如,编码图像330)提供给目的地设备320等,以对编码数据330进行解码。
源设备310包括编码器100或编码单元100,并且可以另外(即,可选地)包括图像源312、预处理单元314(例如,图像预处理单元314)以及通信接口或通信单元318。
图像源312可以包括或者可以是任何类型的用于捕获真实世界图像等的图像捕获设备,和/或任何类型的图像生成设备(例如,用于生成计算机动画图像的计算机图形处理器);或任何类型的用于获取和/或提供真实世界图像、计算机动画图像(例如,屏幕内容、虚拟现实(virtual reality,VR)图像)和/或其任何组合(例如,增强现实(augmentedreality,AR)图像)的设备。在下文中,除非另有其它具体说明,所有这些类型的图像和任何其它类型的图像都将称为“图像”,而之前关于术语“图像”(包括“视频图像”和“静止图像”)的解释仍然适用,除非另有明确的不同规定。
(数字)图像是或者可以看作具有强度值的像素点组成的二维数组或矩阵。数组中的像素点也可以称为像素(pixel或pel)(图像元素的简称)。数组或图像在水平方向和垂直方向(或轴)上的像素点的数量限定了图像的大小和/或分辨率。为了表示颜色,通常采用三种颜色分量,即图像可以表示为或者可以包括三个像素点数组。在RBG格式或颜色空间中,图像包括对应的红色、绿色和蓝色像素点数组。但是,在视频编码中,每个像素通常由亮度/色度格式或在颜色空间中表示,例如,YCbCr,包括通过Y指示的亮度分量(有时也用L指示)以及通过Cb和Cr指示的两个色度分量。亮度(luminance,简写为luma)分量Y表示亮度或灰度级强度(例如,像灰度图像),而两个色度(chrominance,简写为chroma)分量Cb和Cr表示色度或颜色信息分量。因此,YCbCr格式的图像包括由亮度像素点值(Y)构成的亮度像素点数组和两个由色度值(Cb和Cr)构成的色度像素点数组。RGB格式的图像可以转换或变换为YCbCr格式,反之亦然。该过程也称为颜色变换或颜色转换。如果图像是黑白的,则该图像可以只包括亮度像素点数组。
例如,图像源312可以是用于捕获图像的摄像机、包括或存储之前捕获或生成的图像的存储器(例如,图像存储器),和/或任何类型的用于获取或接收图像的(内部或外部)接口。例如,所述摄像机可以是集成在源设备中的本地或集成摄像机,所述存储器可以是集成在源设备等中的本地或集成存储器。例如,所述接口可以是从外部视频源接收图像的外部接口,其中,所述外部视频源为摄像机等外部图像捕获设备、外部存储器或外部图像生成设备(例如,外部计算机图形处理器、计算机或服务器)。所述接口可以是根据任何专有或标准化接口协议的任何类型的接口,例如,有线接口或无线接口、光接口。所述用于获取图像数据312的接口可以与通信接口318为同一接口或者可以作为通信接口318的一部分。
为了区分预处理单元314和预处理单元314执行的处理,图像或图像数据313也可以称为原始图像或原始图像数据313。
预处理单元314用于接收(原始)图像数据313并对图像数据313执行预处理,以得到预处理图像315或预处理图像数据315。预处理单元314执行的预处理可以包括修剪、颜色格式转换(例如,从RGB转换为YCbCr)、调色或去噪等。
编码器100用于接收预处理图像数据315并提供编码图像数据171(将结合图1等进一步详细描述)。
源设备310中的通信接口318可以用于接收编码图像数据171并将编码图像数据171直接传输到另一设备(例如,目的地设备320)或任何其它设备,以便进行存储或直接重建;或者用于分别在存储编码数据330和/或将编码数据330传输到另一设备(例如,目的地设备320)或任何其它设备之前,处理编码图像数据171,以便进行解码或存储。
目的地设备320包括解码器200或解码单元200,并且可以另外(即,可选地)包括通信接口或通信单元322、后处理单元326和显示设备328。
目的地设备320中的通信接口322用于,例如,直接从源设备310或从存储器(例如,编码图像数据存储器)等任何其它源,接收编码图像数据171或编码数据330。
通信接口318和通信接口322可以用于经由源设备310与目的地设备320之间的直接通信链路(例如,直接有线或无线连接)或者经由任何类型的网络(例如,有线网络、无线网络或其任何组合,或者任何类型的私网和公网或其任何类型的组合)传输或接收编码图像数据171或编码数据330。
例如,通信接口318可以用于将编码图像数据171封装成合适的格式(例如,数据包),以便在通信链路或通信网络上进行传输,并且还可以用于执行数据丢失保护和数据丢失恢复。
例如,与通信接口318对应的通信接口322可以用于对编码数据330进行解封装,以得到编码图像数据171,并且还可以用于执行数据丢失保护和数据丢失恢复,例如,包括差错隐藏。
通信接口318和通信接口322均可以配置为如图3中从源设备310指向目的地设备320的编码图像数据330的箭头所指示的单向通信接口,或者配置为双向通信接口,并且可以用于发送和接收消息等,以建立连接,确认和/或重新发送包括图像数据的丢失或延迟数据,并交换与通信链路和/或数据传输(例如,编码图像数据传输)相关的任何其它信息,等等。
解码器200用于接收编码图像数据171并提供解码图像数据231或解码图像231(将结合图2等进一步详细描述)。
目的地设备320中的后处理器326用于对解码图像数据231(例如,解码图像231)进行后处理,以得到后处理图像数据327(例如,后处理图像327)。后处理单元326执行的后处理可以包括颜色格式转换(例如,从YCbCr转换为RGB)、调色、修剪或重采样,或任何其它处理,以便提供解码图像数据231以供显示设备328等显示,等等。
目的地设备320中的显示设备328用于接收后处理图像数据327,以向用户或观看者等显示图像。显示设备328可以是或者可以包括任何类型的显示器(例如,集成或外部显示器或显示屏,以表示重建图像。例如,显示器可以包括阴极射线管(cathode ray tube,CRT)、液晶显示器(liquid crystal display,LCD)、等离子显示器、有机发光二极管(organic light emitting diode,OLED)显示器或任何其它类型的显示器、射束器或全息图(3D)。
尽管图3示出了源设备310和目的地设备320作为单独的设备,但是设备实施例还可以同时包括源设备310和目的地设备320或同时包括源设备310和目的地设备320的功能,即源设备310或对应的功能以及目的地设备320或对应的功能。在这些实施例中,可以使用相同的硬件和/或软件或使用单独的硬件和/或软件或其任何组合来实施源设备310或对应的功能以及目的地设备320或对应的功能。
根据描述,图3所示的源设备310和/或目的地设备320中的不同单元或功能的存在和划分可能根据实际设备和应用而有所不同,这对技术人员来说是显而易见的。
因此,图3所示的源设备310和目的地设备320仅仅是本发明的示例性实施例,且本发明实施例不限于图3所示的实施例。
源设备310和目的地设备320可以包括多种设备中的任一种,包括任何类型的手持设备或固定设备,例如,笔记本电脑/膝上型电脑、手机、智能手机、平板或平板电脑、摄像机、台式电脑、机项盒、电视机、显示设备、数字媒体播放器、视频游戏机、视频流设备、广播接收器设备等,并且可以不使用或者可以使用任何类型的操作系统。
编码器和编码方法
图1为编码器100(例如,图像编码器100)的一个实施例的示意性/概念性框图。编码器100包括输入端102、残差计算单元104、变换单元106、量化单元108、反量化单元110、逆变换单元112、重建单元114、滤波器118、环路滤波器120、解码图像缓冲器(decodedpicture buffer,DPB)130、估计单元160(包括帧间估计单元142、帧间预测单元144、帧内估计单元152、帧内预测单元154)、模式选择单元162、熵编码单元170和输出端172。图1所示的视频编码器100也可以称为混合视频编码器或基于混合视频编解码器的视频编码器。
例如,残差计算单元104、变换单元106、量化单元108和熵编码单元170形成编码器100的前向信号路径,而例如,反量化单元110、逆变换单元112、重建单元114、缓冲器118、环路滤波器120、解码图像缓冲器(decoded picture buffer,DPB)130、帧间预测单元144和帧内预测单元154形成编码器的后向信号路径,其中,编码器的后向信号路径对应于解码器(参见图2中的解码器200)的信号路径。
编码器100用于通过输入端102等接收图像101或图像101中的图像块103,其中,图像101是形成视频或视频序列的一系列图像中的图像等。图像块103也可以称为当前图像块或待编码图像块,图像101也可以称为当前图像或待编码图像(特别是在视频编码中,为了将当前图像与同一视频序列(也就是同样包括当前图像的视频序列)中的其它图像(例如,之前编码和/或解码的图像)区分开)。
残差计算
残差计算单元104用于通过以下方式等根据图像块103和预测块165来计算残差块105(后续详细介绍了预测块165):逐个像素点(逐个像素)从图像块103的像素点值中减去预测块165的像素点值,以得到像素点域中的残差块105。
变换
变换单元106用于对残差块105的像素点值进行空间频率变换或线性空间变换(例如,离散余弦变换(discrete cosine transform,DCT)或离散正弦变换(discrete sinetransform,DST))等变换,以得到变换域中的变换系数107。变换系数107也可以称为变换残差系数,表示变换域中的残差块105。
变换单元106可以用于进行DCT/DST整数化近似,例如,针对HEVC/H.265指定的核心变换。与正交DCT变换相比,这种整数化近似通常通过某一因子进行缩放。为了维持经过正变换和逆变换处理的残差块的范数,使用其它缩放因子作为变换过程的一部分。缩放因子通常是根据某些约束条件来选择的,例如,缩放因子是用于移位运算的2的幂、变换系数的位深度、准确性与实现成本之间的权衡等。例如,在解码器200侧,通过逆变换单元212等为逆变换(以及在编码器100侧,通过逆变换单元112等为对应的逆变换)指定具体的缩放因子;相应地,可以在编码器100侧,通过变换单元106等为正向变换指定对应的缩放因子。
量化
量化单元108用于通过进行标量量化或矢量量化等对变换系数107进行量化,以得到量化变换系数109。量化系数109也可以称为量化残差系数109。例如,对于标量量化,可以应用不同程度的缩放来实现较细或较粗的量化。较小的量化步长对应于较细的量化,而较大的量化步长对应于较粗的量化。可以通过量化参数(quantization parameter,QP)指示合适的量化步长。例如,量化参数可以为合适的量化步长的预定义集合的索引。例如,小的量化参数可以对应于精细量化(小的量化步长),大的量化参数可以对应于粗糙量化(大的量化步长),反之亦然。量化可以包括除以量化步长,而反量化110等执行的对应或反解量化可以包括乘以量化步长。根据HEVC的实施例可以用于使用量化参数来确定量化步长。通常,可以根据量化参数使用包含除法的方程式的定点近似来计算量化步长。可以引入其它缩放因子进行量化和解量化,以恢复可能由于在用于量化步长和量化参数的方程式的定点近似中使用的缩放而修改的残差块的范数。在一个示例性实现方式中,可以合并逆变换和反量化的缩放。或者,可以使用自定义量化表,并在码流中等将量化表从编码器向解码器指示。量化是有损操作,其中,量化步长越大,损耗越大。
编码器100(或量化单元108)的实施例可以用于通过对应的量化参数等方式输出量化方案和量化步长,使得解码器200可以接收和进行对应的反量化。编码器100(或量化单元108)的实施例可以用于直接输出或由熵编码单元170或任何其它熵编码单元进行熵编码后输出量化方案和量化步长。
反量化单元110用于通过以下方式等对量化系数进行量化单元108的反量化,以得到解量化系数111:根据或使用与量化单元108相同的量化步长执行与量化单元108所执行的量化方案的反量化方案。解量化系数111也可以称为解量化残差系数111,对应于变换系数108,但是由于量化造成损耗,解量化系数111通常与变换系数不完全相同。
逆变换单元112用于进行变换单元106进行的变换的逆变换,例如,逆离散余弦变换(discrete cosine Transform,DCT)或逆离散正弦变换(discrete sine Transform,DST),以得到像素点域中的逆变换块113。逆变换块113也可以称为逆变换解量化块113或逆变换残差块113。
重建单元114用于通过以下方式等将逆变换块113和预测块165组合起来,以得到像素点域中的重建块115:以像素点为单位将解码残差块113的像素点值和预测块165的像素点值相加。
缓冲单元116(或简称“缓冲器”116)(例如,列缓冲器116)用于缓冲或存储重建块和相应的像素值,以进行帧内估计和/或帧内预测等。在其它实施例中,编码器可以用于使用存储在缓冲单元116中的未滤波重建块和/或相应的像素点值进行任何类型的估计和/或预测。
环路滤波单元120(或简称“环路滤波器”120)用于通过使用去块样本自适应偏移(sample-adaptive offset,SAO)滤波器或其它滤波器(例如,锐化或平滑滤波器或协同滤波器)等方式对重建块115进行滤波,以得到滤波块121。滤波块121也可以称为滤波重建块121。
环路滤波单元120的实施例可以包括(图1未示出)滤波分析单元和实际滤波单元,其中,滤波分析单元用于为实际滤波器确定环路滤波器参数。滤波分析单元可以用于将固定的预定滤波器参数应用于实际环路滤波器,从预定滤波参数集合中自适应地选择滤波器参数,或者自适应地为实际环路滤波器计算滤波器参数。
环路滤波单元120的实施例可以包括(图1未示出)一个或多个滤波器(例如,环路滤波组件和/或子滤波器),例如,串联连接或并联连接或其任何组合方式连接的不同种类或类型的滤波器中的一个或多个滤波器,其中,每个滤波器都可以包括滤波分析单元,以单独确定或与多个滤波器中的其它滤波器联合确定相应的环路滤波器参数,例如,如上一段所述。
编码器100(对应地,环路滤波单元120)的实施例可以用于直接输出或通过熵编码单元170或任何其它熵编码单元进行熵编码后输出环路滤波器参数,使得解码器200可以接收并使用相同的环路滤波器参数进行解码,等等。
解码图像缓冲器(decoded picture buffer,DPB)130用于接收并存储滤波块121。解码图像缓冲器130还可以用于存储同一当前图像或不同图像(例如,之前重建的图像)中的其它之前的滤波块(例如,之前重建的滤波块121),并且可以提供完整的之前重建(即解码)的图像(以及对应的参考块和像素点)和/或部分重建的当前图像(以及对应的参考块和像素点),以进行帧间估计和/或帧间预测等。
本发明的其它实施例还可以用于将解码图像缓冲器130的之前滤波块和对应的滤波像素点值用于任何类型的估计或预测,例如,帧内估计和预测以及帧间估计和预测。
运动估计与预测
预测单元160,也称为块预测单元160,用于接收或获取图像块103(当前图像101中的当前图像块103)以及解码图像数据或至少重建图像数据,例如,来自缓冲器116的同一(当前)图像的参考像素点和/或来自解码图像缓冲器130的一个或多个之前解码图像的解码图像数据231,以及用于处理这些数据以进行预测,即提供预测块165。预测块165可以是帧间预测块145或帧内预测块155。
模式选择单元162可以用于选择预测模式(例如,帧内或帧间预测模式)和/或对应的预测块145或155,以用作预测块165来计算残差块105以及对重建块115进行重建。
模式选择单元162的实施例可以用于(例如,从预测单元160支持的预测模式中)选择预测模式,所述预测模式提供最佳匹配或者说最小残差(最小残差是指传输或存储中更好的压缩),或提供最小信令开销(最小信令开销是指传输或存储中更好的压缩),或者同时考虑或平衡以上两者。模式选择单元162可以用于根据率失真优化(rate distortionoptimization,RDO)确定预测模式,即选择提供最小率失真优化的预测模式,或者选择关联率失真至少满足预测模式选择标准的预测模式。
下文将更详细地描述示例性编码器100执行的预测处理(例如,预测单元160)和模式选择(例如,通过模式选择单元162)。
如上所述,编码器100用于从(预定的)预测模式集合中确定或选择最好或最优的预测模式。预测模式集合可以包括帧内预测模式和/或帧间预测模式等。
帧内预测模式集合可以包括32种不同的帧内预测模式,例如,像DC(或均值)模式和平面模式的非方向性模式或者如H.264等定义的方向性模式,或者可以包括65种不同的帧内预测模式,例如,像DC(或均值)模式和平面模式的非方向性模式或者如H.265等定义的方向性模式。
(可能的)帧间预测模式集合取决于可用参考图像(即,存储在DPB 230等中的之前至少部分解码的图像)和其它帧间预测参数,例如,取决于是否使用整个参考图像或只使用参考图像的一部分(例如,当前块的区域附近的搜索窗口区域)来搜索最佳匹配参考块,和/或取决于是否使用像素插值(例如,二分之一/半像素插值和/或四分之一像素插值)。
除上述预测模式外,还可以应用跳过模式和/或直接模式。
预测单元160还可以用于通过以下方式等将块103分割成较小的块部分或子块:迭代使用四叉树(quad-tree,QT)分割、二叉树(binary-tree,BT)分割或三叉树(triple-tree,TT)或其任何组合;并且用于对块部分或子块中的每一个执行预测等,其中,模式选择包括选择分割块103的树结构以及选择块部分或子块中的每一个使用的预测模式。
帧间估计单元142(inter estimation unit 142/inter picture estimationunit 142)用于接收或获取图像块103(当前图像101的当前图像块103)和解码图像231,或者至少一个或多个之前的重建块(例如,一个或多个其它/不同的之前解码的图像231的重建块),以进行帧间估计(inter estimation/inter picture estimation)。例如,视频序列可以包括当前图像和之前的解码图像231,或换句话说,当前图像和之前的解码图像231可以是一系列构成视频序列中的图像的一部分或形成一系列构成视频序列的图像。
例如,编码器100可以用于从多个其它图像中的相同或不同图像的多个参考块中获取参考块,并将参考图像(或参考图像索引等)和/或参考块的位置(x坐标和y坐标)与当前块的位置之间的偏移(空间偏移)作为帧间估计参数143提供给帧间预测单元144。这种偏移也称为运动矢量(motion vector,MV)。通常,帧间估计单元142生成至少包括MV的运动信息。帧间估计单元生成的运动信息还可以包括MVD和MVP索引、MERGE索引和/或FRUC/DMVD标志。帧间估计也称为运动估计(motion estimation,ME),帧间预测也称为运动预测(motionprediction,MP)。
帧间预测单元144用于获取或接收帧间预测参数143,并根据或使用帧间预测参数143执行帧间预测,得到帧间预测块145。
尽管图1示出了两个不同的单元(或步骤)用于帧间编码,即帧间估计单元142和帧间预测单元152,但是这两种功能可以通过以下方式等作为一个整体执行(帧间估计通常包括计算帧间预测块,即上述或一“类”帧间预测154):通过迭代测试可能的帧间预测模式中的所有可能帧间预测模式或预定子集,同时存储当前最佳的帧间预测模式和相应的帧间预测块,并将当前最佳的帧间预测模式和相应的帧间预测块作为(最终的)帧间预测参数143和帧间预测块145,而不用再执行一次帧间预测144。
帧内估计单元152用于获取或接收图像块103(当前图像块)以及同一图像的一个或多个之前的重建块(例如,重建相邻块),以进行帧内估计。例如,编码器100可以用于从多个帧内预测模式中选择帧内预测模式,并将帧内预测模式作为帧内估计参数153提供给帧内预测单元154。
编码器100的实施例可以用于根据最小残差(例如,帧内预测模式提供与当前图像块103最相似的预测块155)或最小率失真等优化标准选择帧内预测模式。
帧内预测单元154用于根据帧内预测参数153(例如,所选择的帧内预测模式153)确定帧内预测块155。
尽管图1示出了两个不同的单元(或步骤)用于帧内编码,即帧内估计单元152和帧内预测单元154,但是这两种功能可以通过以下方式等作为一个整体来执行(帧内估计通常要求/包括计算帧内预测块,即上述或一“类”帧内预测154):通过迭代测试可能的帧内预测模式中的所有可能帧内预测模式或预定子集,同时存储当前最佳的帧内预测模式和相应的帧内预测块,并将当前最佳的帧内预测模式和相应的帧内预测块作为(最终的)帧内预测参数153和帧内预测块155,而不用再执行一次帧内预测154。
熵编码单元170用于单独或联合(或不涉及)对量化残差系数109、帧间预测参数143、帧内预测参数153和/或环路滤波器参数应用熵编码算法或方案(例如,可变长度编码(variable length coding,VLC)方案、上下文自适应VLC(context adaptive VLC,CAVLC)方案、算术编码方案、上下文自适应二进制算术编码(context adaptive binaryarithmetic coding,CABAC)),以得到编码图像数据171。输出端172可以使用编码码流171的形式等输出编码图像数据171。编码码流171可以传输到解码器200。根据本发明,编码器100可以经由码流171向解码器指示在帧间估计单元142中生成的运动信息的绝对值,特别是没有运动信息的信令符号。例如,可以传输MV或MVD的绝对值。可选地,码流171还包括与所指示的绝对值相关的辅助信息,下文将将进一步详细描述。
图2示出了示例性视频解码器200。视频解码器200用于接收例如由编码器100编码的编码图像数据(例如,编码码流)171,以得到解码图像231。
解码器200包括输入端202、熵解码单元204、反量化单元210、逆变换单元212、重建单元214、缓冲器216、环路滤波器220、解码图像缓冲器230、预测单元260(包括帧间预测单元244和帧内预测单元254)、模式选择单元260和输出端232。
熵解码单元204用于对编码图像数据171执行熵解码,以得到量化系数209和/或经解码的编码参数(图2未示出)(例如,(经解码的)帧间预测参数143、帧内预测参数153和/或环路滤波器参数中的任一个或全部)等。具体而言,解码器200这样可以从接收到的编码图像数据171接收由编码器100指示的运动信息的绝对值,以及可选地接收辅助信息,下文将进行更加详细地描述。
在解码器200的实施例中,反量化单元210、逆变换单元212、重建单元214、缓冲器216、环路滤波器220、解码图像缓冲器230、预测单元260和模式选择单元260用于执行编码器100(以及相应的功能单元)的逆处理,以对编码图像数据171进行解码。
具体而言,反量化单元210在功能上可以与反量化单元110相同,逆变换单元212在功能上可以与逆变换单元112相同,重建单元214在功能上可以与重建单元114相同,缓冲器216在功能可以与缓冲器116相同,环路滤波器220在功能上可以与环路滤波器220相同(关于实际环路滤波器,由于环路滤波器220通常不包括滤波分析单元来根据原始图像101或块103确定滤波器参数,但是从熵解码单元204等(显式地或隐式地)接收或获取用于编码的滤波器参数),解码图像缓冲器230在功能上可以与解码图像缓冲器130相同。
预测单元260可以包括帧间预测单元244和帧间预测单元254,其中,帧间预测单元144在功能上可以与帧间预测单元144相同,帧内预测单元154在功能上可以与帧内预测单元154相同。预测单元260和模式选择单元262通常用于执行块预测和/或仅从编码数据171中获取预测块265(无需原始图像101的任何其它信息)以及用于从熵解码单元204等(显式地或隐式地)接收或获取预测参数143或153和/或关于所选预测模式的信息。
解码器200用于经由输出端232等输出解码图像230,以向用户呈现或供用户观看。
图4示出了本发明实施例提供的设备400。具体而言,设备400用于对视频图像进行编码。也就是说,设备400是编码设备400。设备400具体可以是图1所示的编码器100,或者可以在图1的编码器100中实现(具体地,在下文详细描述的帧间估计单元142中实现)。
设备400包括处理器401或其它处理电路。处理器401或其它处理电路用于执行与运动信息生成相关的若干动作或步骤。处理器401可以是图1的编码器100中的处理器。设备400还包括传输器406。传输器406用于将运动信息传输到编码器200。传输器406可以包含在图1所示的编码器100的熵编码单元170中,或者可以为熵编码单元170。也就是说,此处的“传输”是指传输器406将信息编码到编码图像数据171中,即编码到编码码流171中。
处理器401用于生成运动信息402(例如,MV、MVP、MVP索引、MVD和/或MV/MVD列表等),根据生成的运动信息402的绝对值407(例如,MV或MVD的绝对值407)构建运动信息候选403。每个运动信息候选403(例如,MV候选或MVD候选)根据绝对值407的不同符号组合生成。处理器401还用于计算每个运动信息候选403的成本404。可以根据失真度量和/或通过模板/双向匹配来计算成本。然后,处理器401用于根据计算出的成本404确定每个运动信息候选403的排列值405。
传输器406用于将生成的运动信息402的绝对值407传输到编码器200。具体而言,传输器406用于传输运动信息402的绝对值407,而不发送对应的符号。也就是说,传输器406用于不传输运动信息402的符号。
图5示出了本发明另一实施例提供的设备500。具体而言,设备500用于对视频图像进行解码。设备500具体可以是图2所示的解码器200,或者可以在图2的解码器200中实现。设备500包括接收器501。接收器501用于接收(除其它信息外)运动信息507的绝对值506,例如,这些绝对值506包含在从编码器100发送到解码器200的编码图像数据171中。因此,绝对值506可以是运动信息402的绝对值407。接收器501可以包含在图2所示的熵解码单元204中,或者可以为熵解码单元204。设备500还包括处理器502或其他处理电路。处理器502或其他处理电路用于执行与运动信息确定相关的若干动作或步骤。处理器502可以是解码器200中的处理器。
具体而言,处理器502用于根据接收到的绝对值506生成运动信息候选503。理想情况下,这些运动信息候选503与编码器100中的编码设备400生成的运动信息候选403相同。每个运动信息候选503根据接收到的绝对值506的不同符号组合生成。处理器502还用于计算每个运动信息候选503的成本504。成本计算与编码设备400中的成本计算一样。处理器502还用于根据计算出的成本504确定每个运动信息候选503的排列值505。然后,处理器502用于根据确定的排列值505将运动信息候选503确定为运动信息507。这样,设备500可以确定运动信息507(例如,编码器100中的设备400生成的运动信息402),尽管运动信息402的符号没有在码流171中指示。
图6示出了本发明实施例提供的方法600。方法600特别用于对视频图像进行编码,并且可以由图4所示的设备400和/或图1和图5所示的编码器100执行。方法600包括步骤601:生成运动信息402;步骤602:根据生成的运动信息402的绝对值407构建运动信息候选403,其中,每个运动信息候选403根据绝对值407的不同符号组合生成;步骤603:计算每个运动信息候选403的成本404;步骤604:根据计算出的成本404确定每个运动信息候选403的排列值405。步骤601至步骤604可以由设备400中的处理器401,或者由编码器100中的处理电路执行。方法600还包括步骤605:根据所述确定到的排列值传输生成的运动信息的绝对值407。步骤605可以由设备400中的传输器406或编码器100中的编码单元170执行。
图7示出了本发明实施例提供的方法700。方法700特别用于对视频图像进行解码,并且可以由图5所示的设备500和/或图2所示的解码器200执行。方法700包括步骤701:接收运动信息的绝对值506。步骤701可以由设备500中的接收器501或解码器200中的解码单元204执行。方法700还包括步骤702:根据接收到的绝对值506生成运动信息候选503,其中,每个运动信息候选503根据绝对值506的不同符号组合生成;步骤703:计算每个运动信息候选503的成本504;步骤704:根据计算出的成本504确定每个运动信息候选503的排列值505;步骤705:根据确定的排列值505将运动信息候选503确定为运动信息507。步骤702至步骤705可以由设备500中的处理器502执行,或者由解码器200中的处理电路执行。
下面在分别结合图4至图7描述的本发明的一般实施例的基础上进行详细描述。具体而言,以本发明的两个具体实施例为例进行描述。这两个具体实施例分别结合图8和图9以及图10至图13进行描述。在两个具体实施例中,从编码器100到解码器200的运动信息传输由图4所示的设备400实现。同样地,解码器200的运动信息确定由图5所示的设备500实现。
在第一具体实施例中,编码器100中的设备400通常用于将辅助信息传输到解码器200。具体而言,设备400用于将与生成的运动信息402对应的运动信息候选403的确定排列值传输到解码器200。该排列值可以是运动信息候选列表中的索引。此时,设备400可以用于生成运动信息候选403按照排列值排序的索引列表,以确定与生成的运动信息402对应的运动信息候选403的列表中的索引。设备400可以将所述确定的索引传输到解码器200。解码器200中的设备500从编码设备400接收所述排列值,并且用于根据所述接收到的排列值将带有排列值的运动信息候选503确定为运动信息402。如果所述接收到的排列值为索引,则设备500用于生成运动信息候选503按照排列值排序的索引列表,并且根据所述接收到的索引将所述列表中的带有排列值的运动信息候选503确定为运动信息507/402。
在第二具体实施例中,编码器100中的设备400通常用于不向解码器200传输辅助信息。也就是说,设备400不传输所述确定的排列值。然而,设备400用于判断与计算出的最低成本404对应的带有确定排列值的运动信息候选403是否与生成的运动信息402对应。此外,如果确定的运动信息候选403与生成的运动信息402不对应,则设备400用于丢弃生成的运动信息402。只要确定的运动信息候选403与生成的运动信息402不对应,则设备400用于将绝对值(而不是运动信息候选403的排列值)发送到解码器200。解码器200中的设备500用于将与计算出的最低成本504对应的带有排列值的运动信息候选503确定为运动信息507/402。
图8为第一具体实施例的一种可能实现方式的流程图。编码器100中的设备400用于生成(步骤801)运动信息402,其中,运动信息402在这里包括MVD,所述MVD带有通过帧间估计生成的符号。其次,设备400用于根据带有所有可能符号组合的MVD的绝对值407构建(步骤802)可能MVD候选403的列表。然后,设备400用于使用来自DPB的重建图像通过模板或双向匹配等计算(步骤802)每个MVD候选403的成本404。接着,设备400可以用于根据计算出的成本404将候选列表按升序等进行排序(步骤802)。编码器100和解码器200的排序结果应当相同,而且排序可以包括具有相同成本404的候选403。如果两个候选403具有相同的成本404,则两个候选403在排序列表中的相对顺序在编码器100和解码器200中应当相同。
随后,设备400用于标识(步骤803)生成的MVD在MVD候选列表中的位置。这里,MVD的位置由索引(MVSD_idx)标识,所述索引是设备400确定的上述排列值的一种具体实现方式。设备400还用于通过码流171将该索引指示给解码器200,例如,通过熵编码单元170(CABAC)和/或几何分布的二值化(例如,一元码或截断一元码)。换句话说,设备400用于将所述索引传输到解码器200。设备400还用于将生成的MVD的绝对值407(在码流171中)传输(步骤804)到解码器200。
在第一具体实施例的本实现方式中,解码器200中的设备500用于从编码器100接收到的码流171中分别读取(步骤806和步骤807)所述索引(MVSD_idx)以及MVD的绝对值506。再然后,设备500用于重复执行与编码器100中的设备400相同的过程。也就是说,设备500用于根据接收到的MVD的绝对值506构建(步骤808)MVD候选503的排序列表,其中,这些候选503在理想情况下与在编码器100侧获得的候选403相同。最后,设备500用于通过从候选列表中获取位于索引位置上的MVD候选503,确定(步骤809)MVD(即运动信息507),例如,由编码器100中的设备400生成的运动信息402。解码器200使用这种确定的MVD执行(例如,MV的)进一步重建过程。
图9为第二具体实施例的一种可能实现方式的流程图。编码器100中的设备400用于生成(步骤901)运动信息402,其中,运动信息402包括MVD,所述MVD带有通过帧间估计生成的符号。其次,设备400通过所述MVD的绝对值407的所有可能符号组合来构建(步骤902)可能MVD候选403的列表。然后,设备400使用来自DPB的重建图像以及通过模板或双向匹配等方式计算(步骤902)每个MVD候选403的成本404。接着,设备400根据计算出的成本404将候选列表按升序等进行排序(步骤902)。编码器100和解码器200的排序结果应当相同,而且排序可以包括具有相同成本404的候选403。如果两个候选403具有相同的成本404,则两个候选403在排序列表中的相对顺序在编码器100和解码器200中应当相同。
随后,设备400选择(步骤903)生成的MVD在候选403的列表中的索引。如果设备400确定(步骤904)位于列表中的第一位置(MVSD_idx=0)上的MVD候选403不等于生成的MVD(通过帧间估计获得),则在运动估计过程中丢弃(步骤905)生成的运动信息402(特别是与MVD对应的MV),帧间估计需要考虑其它MV/MVD。值得注意的是,设备400并不一定需要对整个候选列表执行排序。设备400可以只选择具有最低成本404的MVD候选403。排序只是一种获取具有最小成本404的MVD候选403的示例性方式。如果具有最小成本404的MVD候选403等于运动信息402中生成的MVD,则设备400将生成的MVD的绝对值写入(步骤906)码流中,以传输到解码器200。
在第二具体实施例的本实现方式,解码器200中的设备500用于从编码器100接收到的码流171中读取(步骤907)MVD的绝对值506/407,并且用于重复执行(步骤908)由编码器100中的设备400执行的相同过程,即获取具有最低成本404的MVD候选403。最后,解码器200将MVD候选403用作MVD来执行(例如,MV的)进一步重建过程。
图10示出了在第一具体实施例的一种可能实现方式中设备400如何集成到图1的编码器100中,特别是设备400中的部件如何集成到帧间估计单元142中。帧间估计单元142用于通过执行运动估计(步骤1001)生成运动信息402。运动信息402可以包括MV、MVP和MVD。其次,帧间估计单元142还根据运动信息402对MVP的MVP索引进行编码(步骤1102)以及对MVD的绝对值407进行编码(步骤1103)。在一些实现方式中,可以不使用运动矢量预测,或者运动矢量预测在预测中具有零矢量。在这些情况下,使用MV的绝对值进行进一步处理。根据MVD的绝对值407,帧间估计单元142还构建(步骤1004)MVD候选403。帧间估计单元142还计算这些MVD候选403的成本404,并确定(步骤1005)每个MVD候选403的排列值405。然后,帧间估计单元142将MVD候选403与运动信息402(在步骤1001处生成)中的MVD进行比较(步骤1006),从而得到与运动信息402中的MVD对应的MVD候选的排列值。最后,帧间估计单元142输出MVD的绝对值407以及排列值,设备400中的传输器406(图1中的编码单元170)将MVD的绝对值407以及排列值传输到解码器200。
图11示出了在第二具体实施例的一种可能实现方式中设备400如何集成到图1的编码器100中,特别是设备400中的部件如何集成到帧间估计单元142中。帧间估计单元142用于通过运动估计(步骤1101)生成包括MV、MVP和MVD的运动信息402。帧间估计单元142还对MVP的MVP索引进行编码(步骤1102)以及对MVD的绝对值407进行编码(步骤1103)。根据MVD的绝对值,帧间估计单元142构建(步骤1104)MVD候选403。帧间估计单元142还计算这些MVD候选403的成本404,并确定(步骤1105)每个MVD候选403的排列值405。其次,帧间估计单元142选择具有最低成本404的MVD候选403,并根据所选择的MVD构建(步骤1106)MV。然后,帧间估计单元142将构建的MV与生成的运动信息402中的MV进行比较(步骤1106);如果MV不匹配,则丢弃运动信息402。具体而言,为了丢弃,所述MV分配有无限大的成本,因此编码器100将不选择该模式(在模式选择块1107中)。否则,将MVD的绝对值407传输到解码器200。这可以由设备400中的传输器406(例如,编码器100中的编码单元170)完成。
图12示出了在第一具体实施例的一种可能实现方式中设备500如何集成到图2的解码器200中,特别是设备500中的部件如何集成到帧间预测单元244中。帧间预测单元244用于从编码器100接收(例如,经由作为设备500中的接收器501的熵解码单元204)编码图像数据171,并且用于解析(步骤1201)接收数据171,以获取MVP索引。帧间预测单元244还解析(步骤1202)接收数据171,以获取运动信息507的绝对值506,在这里获取MVD的绝对值506。帧间预测单元244还解析(步骤1203)接收数据171,以获取排列值,具体地获取索引(MVSD_idx)。编码器100将所述索引作为辅助信息进行传输。
帧间预测单元244还用于根据绝对值构建(步骤1204)MVD候选503。帧间预测单元244计算(步骤1205)这些候选503的排列值505,具体地,计算候选503的列表中的索引。帧间预测单元244还根据解析的索引选择(步骤1203)MVD候选503,即,帧间预测单元244选择具有与接收到的索引(MVSD_idx)对应的索引的MVD候选503。根据所选择的MVD,帧间预测单元244可以构建(步骤1206)MV。将所述MV提供给模式选择(块1207),模式选择(块1207)决定对MV执行(步骤1207)进一步运动补偿。
图13示出了在第二具体实施例的一种可能实现方式中设备500如何集成到图2的解码器200中,特别是设备500中的部件如何集成到帧间预测单元244中。帧间预测单元244用于从编码器100接收(例如,经由作为设备500中的接收器501的熵解码单元204)编码图像数据171,并且用于解析(步骤1301)接收数据171,以获取MVP索引。帧间预测单元244还解析(步骤1302)接收数据171,以获取运动信息507的绝对值506,在这里获取MVD的绝对值506。
帧间预测单元244还用于根据绝对值构建(步骤1303)MVD候选503。帧间预测单元244计算(步骤1304)这些候选503的排列值505,具体地,计算候选503的列表中的索引。然后,帧间预测单元244选择具有最低成本504的MVD候选503。根据所选择的MVD,帧间预测单元244可以构建(步骤1305)MV。将所述MV提供给模式选择(块1306),模式选择(块1306)决定对MV执行(步骤1307)进一步运动补偿。
图14更详细地示出了编码器100中的设备400和/或解码器200中的设备500如何构建MVD候选列表403/503。MVD候选列表构建在第一和第二具体实施例中是相同的。该列表可以根据模板/双向匹配成本404/504进行排序。编码器100和解码器200的排序结果应当相同,而且排序可以包括具有相同成本404/504的候选403/503。如果两个候选403/503具有相同的成本404/504,则两个候选403/503在排序列表中的相对顺序在编码器100和解码器200中应当相同。在第一具体实施例中,成本函数可以包括失真度量(例如,SAD、SSD、MSE)和指示索引(MVSD_idx)所需的比特估计,所述索引在拉格朗日乘数(lambda)的帮助下组合在成本函数中。
具体而言,在图14中,将MVD的绝对值用作(步骤1401)输入,并生成(步骤1402)MVD候选403/503的列表。其次,根据MVP和MVD生成(步骤1403)所有可能MV的列表。然后,为当前处理的图像块获取(步骤1404)模板。如果没有可用模板(步骤1405),例如,在图像的角落处,则返回(步骤1411)MVD。如果存在可用模板(步骤1405),则对于每个MV,为参考图像中的某个位置(即,当前处理图像块的位置加上MV)计算(步骤1406至步骤1408)模板,并通过计算当前图像模板与参考图像模板之间的差异获得成本404/504。最后,根据成本404/504对MVD候选进行排序(步骤1410),并返回(步骤1411)MVD候选。
需要说明的是,本说明书提供了图像(帧)的解释,但在隔行扫描图像信号的情况下,字段替代图像。
本领域技术人员将理解,各种图(方法和装置)中的“步骤”(“单元”)表示或描述本发明实施例的功能(而不一定是硬件或软件中的各个“单元”),因此同等地描述装置实施例以及方法实施例的功能或特征(单元等同步骤)。
术语“单元”仅仅是用于说明编码器/解码器的实施例的功能,并非旨在限制本发明。
在本申请中提供若干实施例中,应理解,所公开的系统、装置和方法可通过其它方式实现。例如,上述装置实施例仅仅是示例性的。例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,本发明实施例中的功能单元可以集成到一个处理单元中,或每个单元可以物理上单独存在,或两个或更多单元集成到一个单元中。
本发明实施例还可以包括一种装置,例如,编码器和/或解码器,所述装置包括处理电路,用于执行本文描述的任何方法和/或过程。
编码器100和/或解码器200的实施例可以实现为硬件、固件、软件或其任何组合。例如,编码器/编码或解码器/解码的功能可以由处理电路执行,无论是否有固件或软件,例如,处理器、微控制器、数字信号处理器(digital signal processor,DSP)、现场可编程门阵列(field programmable gate array,FPGA)、专用集成电路(application-specificintegrated circuit,ASIC)等。
编码器100(和相应的编码方法100)和/或解码器200(和相应的解码方法200)的功能可以通过存储在计算机可读介质上的程序指令来实现。所述程序指令在执行时使得处理电路、计算机、处理器等执行编码和/或解码方法的步骤。所述计算机可读介质可以是存储所述程序的任何介质,包括非瞬时性存储介质,例如,蓝光磁盘、DVD、CD、USB(闪存)驱动器、硬盘、经由网络可用的服务器存储等。
本发明实施例包括或者是一种包含程序代码的计算机程序。所述程序代码在计算机上执行时用于执行本文描述的任何方法。
本发明实施例包括或者是一种包含程序代码的计算机可读介质。所述程序代码在由处理器执行时,使得计算机系统执行本文描述的任何方法。
参考符号列表
图1
100 编码器
103 图像块
102 输入端(例如,输入端口、输入接口)
104 残差计算[单元或步骤]
105 残差块
106 变换(例如,另外包括缩放)[单元或步骤]
107 变换系数
108 量化[单元或步骤]
109 量化系数
110 反量化[单元或步骤]
111 解量化系数
112 逆变换(例如,另外包括缩放)[单元或步骤]
113 逆变换块
114 重建[单元或步骤]
115 重建块
116 (列)缓冲器[单元或步骤]
117 参考像素点
120 环路滤波器[单元或步骤]
121 滤波块
130 解码图像缓冲器(DPB)[单元或步骤]
142 帧间估计(inter estimation/inter picture estimation)[单元或步骤]
143 帧间估计参数(例如,参考图像/参考图像索引、运动矢量/偏移)
144 帧间预测(inter prediction/inter picture prediction)[单元或步骤]
145 帧间预测块
152 帧内估计(intra estimation/intra picture estimation)[单元或步骤]
153 帧内预测参数(例如,帧内预测模式)
154 帧内预测(intra prediction/intra frame/picture prediction)[单元或步骤]
155 帧内预测块
162 模式选择[单元或步骤]
165 预测块(帧间预测块145或帧内预测块155)
170 熵编码[单元或步骤]
171 编码图像数据(例如,码流)
172 输出端(输出端口、输出接口)
231 解码图像
图2
200 解码器
171 编码图像数据(例如,码流)
202 输入端(端口/接口)
204 熵解码
209 量化系数
210 反量化
211 解量化系数
212 逆变换(缩放)
213 逆变换块
214 重建(单元)
215 重建块
216 (列)缓冲器
217 参考像素点
220 环路滤波器(环内滤波器)
221 滤波块
230 解码图像缓冲器(DPB)
231 解码图像
232 输出端(端口/接口)
244 帧间预测(inter prediction/inter frame/picture prediction)
245 帧间预测块
254 帧内预测(intra prediction/intra frame/picture prediction))
255 帧内预测块
260 模式选择
265 预测块(帧间预测块245或帧内预测块255)
图3
300 编码系统
310 源设备
312 图像源
313 (原始)图像数据
314 预处理器/预处理单元
315 预处理图像数据
318 通信单元/接口
320 目的地设备
322 通信单元/接口
326 后处理器/后处理单元
327 后处理图像数据
328 显示设备/单元
330 传输/接收/通信(编码)的图像数据
图4
400 视频图像编码设备
401 处理器
402 运动信息
403 运动信息候选
404 运动信息候选的成本
405 运动信息候选的排列值
406 传输器
407 运动信息的绝对值
图5
500 视频图像解码设备
501 接收器
502 处理器
503 运动信息候选
504 运动信息候选的成本
505 运动信息候选的排列值
506 运动信息的绝对值
507 运动信息
图6
601 生成运动信息
602 构建运动信息候选
603 计算运动信息候选的成本
604 确定运动信息候选的排列值
605 根据排列值传输绝对值
图7
701 接收运动信息的绝对值
702 构建运动信息候选
703 计算运动信息候选的成本
704 确定运动信息候选的排列值
705 根据排列值确定运动信息
图10
1001 运动估计
1002 代码MVP索引
1003 对MVD绝对值进行编码
1004 构建MVD候选
1005 计算排列值
1006 将MVD与MV进行比较
1007 模式选择
图11
1101 运动估计
1102 对MVP索引进行编码
1103 对MVD绝对值进行编码
1104 构建MVD候选
1105 计算排列值
1106 将MVD与MV进行比较
1107 模式选择
图12
1201 解析MVP索引
1202 解析MVD绝对值
1203 解析索引
1204 构建MVD候选
1205 计算排列值并选择MVD候选
1206 构建MV
1207 模式选择
1208 运动补偿
图13
1301 解析MVP索引
1302 解析MVD绝对值
1303 构建MVD候选
1304 计算排列值并选择MVD候选
1305 构建MV
1306 模式选择
1307 运动补偿

Claims (17)

1.一种视频图像解码设备(500),其特征在于,所述设备(500)包括:
接收器(501),用于接收运动信息(507)的绝对值(506);
处理器(502),用于:
根据所述接收到的绝对值(506)生成运动信息候选(503),其中,每个运动信息候选(503)根据所述绝对值(506)的不同符号组合生成;
计算每个运动信息候选(503)的成本(504);
根据所述计算出的成本(504)确定每个运动信息候选(603)的排列值(505);
根据所述确定的排列值(505)将运动信息候选(503)确定为所述运动信息(507)。
2.根据权利要求1所述的设备(500),其特征在于,
所述接收器(501)还用于接收排列值;
所述处理器(502)用于:
根据所述接收到的排列值将带有排列值(505)的运动信息候选(503)确定为所述运动信息(507)。
3.根据权利要求2所述的设备(500),其特征在于,
所述接收到的排列值为索引,
所述处理器(502)用于:
生成所述运动信息候选(503)按照排列值排序的索引列表;
根据所述接收到的索引将所述索引列表中的带有索引的运动信息候选(503)确定为所述运动信息(507)。
4.根据权利要求1所述的设备(500),其特征在于,
所述处理器(502)用于:
将与计算出的最低成本(504)对应的带有排列值(505)的运动信息候选(503)确定为所述运动信息(507)。
5.根据权利要求1至4中任一项所述的设备(500),其特征在于,
所述处理器(502)用于:
通过模板或双向匹配,特别是根据绝对差之和或者其它失真度量,计算每个运动信息候选(503)的成本(504)。
6.根据权利要求1至5中任一项所述的设备(500),其特征在于,
所述处理器(502)用于:
排除两个运动信息候选(503)中的一个,其中,所述两个运动信息候选(503)的不同点仅在于至少一个零值的符号不同。
7.根据权利要求1至6中任一项所述的设备(500),其特征在于,
所述处理器(502)用于:
根据传输每个运动信息候选(503)的排列值(505)需要的比特数,计算每个运动信息候选(503)的成本(504)。
8.一种视频图像编码设备(400),其特征在于,所述设备(400)包括:
处理器(401),用于:
生成运动信息(402);
根据所述生成的运动信息(402)的绝对值(407)构建运动信息候选(403),其中,每个运动信息候选(403)根据所述绝对值(407)的不同符号组合生成;
计算每个运动信息候选(403)的成本(404),
根据所述计算出的成本(404)确定每个运动信息候选(403)的排列值(405);
传输器(406),用于根据所述确定的排列值(405)传输所述生成的运动信息(402)的所述绝对值(407)。
9.根据权利要求8所述的设备(400),其特征在于,
所述传输器(406)用于传输与所述生成的运动信息(402)对应的所述运动信息候选(403)的所述排列值(405)。
10.根据权利要求8或9所述的设备(400),其特征在于,
所述处理器(401)用于:
根据传输每个运动信息候选(403)的排列值(405)需要的比特数,计算每个运动信息候选(403)的成本(404)。
11.根据权利要求9或10所述的设备(400),其特征在于,
所述处理器(401)用于:
生成所述运动信息候选(403)按照排列值(405)排序的索引列表;
确定与所述生成的运动信息(402)对应的所述运动信息候选(403)的所述索引列表中的索引;
传输器(406)用于传输所述确定的索引。
12.根据权利要求8所述的设备(400),其特征在于,
所述处理器(401)用于:
判断与计算出的最低成本(404)对应的带有排列值(405)的运动信息候选(403)是否与所述生成的运动信息(402)对应;
如果所述确定的运动信息候选(403)与所述生成的运动信息(402)不对应,则丢弃所述生成的运动信息(402)。
13.根据权利要求8至12中任一项所述的设备(400),其特征在于,
所述处理器(401)用于通过模板或双向匹配,特别是根据绝对差之和或者其它失真度量,计算每个运动信息候选(403)的成本(404)。
14.根据权利要求8至13中任一项所述的设备(400),其特征在于,
所述处理器(401)用于:
排除两个运动信息候选(403)中的一个,其中,所述两个运动信息候选(403)的不同点仅在于至少一个零值的符号不同。
15.一种视频图像解码方法(700),其特征在于,所述方法(700)包括:
接收(701)运动信息(507)的绝对值(506);
根据所述接收到的绝对值生成(702)运动信息候选(503),其中,每个运动信息候选(503)根据所述绝对值的不同符号组合生成;
计算(703)每个运动信息候选(503)的成本(504);
根据所述计算出的成本(504)确定每个运动信息候选(503)的排列值(505);
根据所述确定的排列值(505)将运动信息候选(503)确定(704)为所述运动信息(507)。
16.一种视频图像编码方法(600),其特征在于,所述方法(600)包括:
生成(601)运动信息(402);
根据所述生成的运动信息(402)的绝对值(407)构建(602)运动信息候选(403),其中,每个运动信息候选(403)根据所述绝对值(407)的不同符号组合生成;
计算(603)每个运动信息候选(403)的成本(404);
根据所述计算出的代价(404),确定(604)每个运动信息候选(403)的排列值(405);
根据所述确定的排列值(405)传输(605)所述生成的运动信息(402)的所述绝对值(407)。
17.一种存储程序代码的计算机程序产品,其特征在于,当所述计算机程序在计算机上运行时,所述程序代码用于执行根据权利要求15或16所述的方法。
CN201880090578.7A 2018-03-26 2018-03-26 视频图像编码器、解码器以及对应的运动信息编码方法 Active CN111801944B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2018/000189 WO2019190338A1 (en) 2018-03-26 2018-03-26 A video image encoder, a video image decoder and corresponding methods for motion information coding

Publications (2)

Publication Number Publication Date
CN111801944A true CN111801944A (zh) 2020-10-20
CN111801944B CN111801944B (zh) 2021-10-22

Family

ID=62090019

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880090578.7A Active CN111801944B (zh) 2018-03-26 2018-03-26 视频图像编码器、解码器以及对应的运动信息编码方法

Country Status (4)

Country Link
US (1) US20200382808A1 (zh)
EP (1) EP3769527A1 (zh)
CN (1) CN111801944B (zh)
WO (1) WO2019190338A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11595689B2 (en) * 2020-03-20 2023-02-28 Tencent America LLC Local weighted prediction
CN113810696A (zh) * 2020-06-12 2021-12-17 华为技术有限公司 一种信息传输方法、相关设备及系统
US11671616B2 (en) 2021-03-12 2023-06-06 Lemon Inc. Motion candidate derivation
US11936899B2 (en) * 2021-03-12 2024-03-19 Lemon Inc. Methods and systems for motion candidate derivation
WO2023131546A1 (en) * 2022-01-04 2023-07-13 Telefonaktiebolaget Lm Ericsson (Publ) Motion vector difference derivation
WO2023200242A1 (ko) * 2022-04-12 2023-10-19 엘지전자 주식회사 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100166073A1 (en) * 2008-12-31 2010-07-01 Advanced Micro Devices, Inc. Multiple-Candidate Motion Estimation With Advanced Spatial Filtering of Differential Motion Vectors
US20120076207A1 (en) * 2008-12-31 2012-03-29 Advanced Micro Devices, Inc. Multiple-candidate motion estimation with advanced spatial filtering of differential motion vectors
CN102860006A (zh) * 2010-02-05 2013-01-02 瑞典爱立信有限公司 管理预测运动向量候选
US20130003849A1 (en) * 2011-07-01 2013-01-03 Qualcomm Incorporated Video coding using adaptive motion vector resolution
CN103004204A (zh) * 2010-12-27 2013-03-27 松下电器产业株式会社 图像编码方法及图像解码方法
WO2014089727A1 (en) * 2012-12-14 2014-06-19 Qualcomm Incorporated Inside view motion prediction among texture and depth view components with asymmetric spatial resolution
CN103931189A (zh) * 2011-09-22 2014-07-16 Lg电子株式会社 用信号发送图像信息的方法和装置,以及使用其的解码方法和装置
CN105612750A (zh) * 2013-10-11 2016-05-25 黑莓有限公司 用于在跳过变换的情况下对块的符号编码
CN105723709A (zh) * 2013-10-25 2016-06-29 奥兰治 用于编码和解码图像的方法、用于编码和解码图像的装置及对应计算机程序
WO2017043769A1 (ko) * 2015-09-10 2017-03-16 삼성전자 주식회사 부호화 장치, 복호화 장치 및 그 부호화 방법 및 복호화 방법
CN107113440A (zh) * 2014-10-31 2017-08-29 三星电子株式会社 使用高精度跳过编码的视频编码设备和视频解码设备及其方法

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102342102A (zh) * 2008-12-31 2012-02-01 先进微装置公司 具有先进的空间过滤差动矢量的多候选运动估计
US20120076207A1 (en) * 2008-12-31 2012-03-29 Advanced Micro Devices, Inc. Multiple-candidate motion estimation with advanced spatial filtering of differential motion vectors
US20100166073A1 (en) * 2008-12-31 2010-07-01 Advanced Micro Devices, Inc. Multiple-Candidate Motion Estimation With Advanced Spatial Filtering of Differential Motion Vectors
CN102860006A (zh) * 2010-02-05 2013-01-02 瑞典爱立信有限公司 管理预测运动向量候选
CN103004204A (zh) * 2010-12-27 2013-03-27 松下电器产业株式会社 图像编码方法及图像解码方法
CN103703781A (zh) * 2011-07-01 2014-04-02 高通股份有限公司 使用自适应运动向量分辨率的视频译码
US20130003849A1 (en) * 2011-07-01 2013-01-03 Qualcomm Incorporated Video coding using adaptive motion vector resolution
CN103931189A (zh) * 2011-09-22 2014-07-16 Lg电子株式会社 用信号发送图像信息的方法和装置,以及使用其的解码方法和装置
WO2014089727A1 (en) * 2012-12-14 2014-06-19 Qualcomm Incorporated Inside view motion prediction among texture and depth view components with asymmetric spatial resolution
CN105612750A (zh) * 2013-10-11 2016-05-25 黑莓有限公司 用于在跳过变换的情况下对块的符号编码
CN105723709A (zh) * 2013-10-25 2016-06-29 奥兰治 用于编码和解码图像的方法、用于编码和解码图像的装置及对应计算机程序
CN107113440A (zh) * 2014-10-31 2017-08-29 三星电子株式会社 使用高精度跳过编码的视频编码设备和视频解码设备及其方法
WO2017043769A1 (ko) * 2015-09-10 2017-03-16 삼성전자 주식회사 부호화 장치, 복호화 장치 및 그 부호화 방법 및 복호화 방법

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
FELIX HENRY; GORDON CLARE: "Residual Coefficient Sign Prediction", 《JVET 4TH MEETING: CHENGDU, CN, 15-21 OCTOBER 2016》 *
JIANLE CHEN; ELENA ALSHINA: "Algorithm Description of Joint Exploration Test Model (JEM7)", 《JOINT VIDEO EXPLORATION TEAM OF ITU-T SG 16 WP 3 AND IOS/IEC JTC 1/SC 29/WG 11》 *
JIANLE CHEN; TAMMY LEE: "MVP index parsing with fixed number of candidates", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 6TH MEETING: TORINO, IT, 14-22 JULY, 2011 JCTVC-F402》 *

Also Published As

Publication number Publication date
CN111801944B (zh) 2021-10-22
US20200382808A1 (en) 2020-12-03
WO2019190338A1 (en) 2019-10-03
EP3769527A1 (en) 2021-01-27

Similar Documents

Publication Publication Date Title
CN111819852B (zh) 用于变换域中残差符号预测的方法及装置
CN111801944B (zh) 视频图像编码器、解码器以及对应的运动信息编码方法
EP3852370B1 (en) Video image prediction method and apparatus
CN111837389A (zh) 适用于多符号位隐藏的块检测方法及装置
CN112703735B (zh) 视频编/解码方法及相关设备和计算机可读存储介质
US20200404339A1 (en) Loop filter apparatus and method for video coding
EP3893510B1 (en) Video image encoding and decoding method and apparatus
CN117956197A (zh) 视频解码方法及视频解码器
CN113196783A (zh) 去块效应滤波自适应的编码器、解码器及对应方法
CN111385572A (zh) 预测模式确定方法、装置及编码设备和解码设备
CN114913249A (zh) 编码、解码方法和相关设备
CN113965765A (zh) 使用自适应乘数系数进行图像滤波的方法及装置
CN111971961A (zh) 图像处理设备和执行有效去块效应的方法技术领域
CN110944184B (zh) 视频解码方法及视频解码器
CN111432219A (zh) 一种帧间预测方法及装置
CN112055211B (zh) 视频编码器及qp设置方法
CN110958452B (zh) 视频解码方法及视频解码器
CN112262574A (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