CN107809642B - 用于视频图像编码和解码的方法、编码设备和解码设备 - Google Patents

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

Info

Publication number
CN107809642B
CN107809642B CN201711090963.5A CN201711090963A CN107809642B CN 107809642 B CN107809642 B CN 107809642B CN 201711090963 A CN201711090963 A CN 201711090963A CN 107809642 B CN107809642 B CN 107809642B
Authority
CN
China
Prior art keywords
block
motion
vector
determining
motion vector
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
CN201711090963.5A
Other languages
English (en)
Other versions
CN107809642A (zh
Inventor
林四新
陈焕浜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201711090963.5A priority Critical patent/CN107809642B/zh
Publication of CN107809642A publication Critical patent/CN107809642A/zh
Application granted granted Critical
Publication of CN107809642B publication Critical patent/CN107809642B/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/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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

Landscapes

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

Abstract

本发明实施例涉及用于视频图像编码和解码的方法、编码设备和解码设备。该方法包括:确定当前编码块的运动矢量组;根据该运动矢量组,确定该当前编码块的运动模型初始向量的第一分量集合的预测值;根据该第一分量集合的预测值,确定该第一分量集合的待传输值;对该第一分量集合的待传输值进行编码并发送至解码端。本发明实施例的用于视频图像编码和解码的方法、编码设备和解码设备,根据该运动矢量组确定该当前编码块的运动模型初始向量,根据该运动模型初始向量确定该运动模型待传输值,并将该运动模型待传输值进行编码传输,以便于解码端根据该运动模型待传输值进行解码,从而能够减少编解码传输的数据量和占用的比特数。

Description

用于视频图像编码和解码的方法、编码设备和解码设备
技术领域
本发明涉及视频图像处理领域,尤其涉及用于视频图像编码和解码的方法、编码设备和解码设备。
背景技术
在各种视频编解码器中,运动估计/运动补偿是一种影响编码性能的关键技术。在现有的各种视频编解码器中,假设物体的运动总是满足平动运动,整个物体的各个部分有相同的运动,采用基于块的运动补偿技术。但是这些方法都是建立在平动模型(Translational Motion Model)的基础上,都是基于块运动补偿的方法进行的各种改进。现实世界中运动有多样性,仿射,缩放,旋转和剪切运动等非规则运动普遍存在,这些运动的存在会造成基于块运动补偿的运动预测效果不理想。在上世纪90年代开始,视频编码专家就意识到了非规则运动的普遍性,并通过引进非规则运动模型,例如仿射运动模型,来提高视频编码效率。
在现有技术中,通过仿射运动模型编码,可以根据率失真优化原则比较使用该仿射参数模型对当前块编码的拉格朗日代价和编码器中其他模式的代价,如果仿射参数模型编码的代价小于其他编码模式的代价,则最终选定当前块按仿射参数模型编码,把量化后的仿射模型参数编写入码流,以便解码器能利用该参数重建当前块。但现有技术中,需要使用六参数仿射运动参数模型,即需要在每个块中使用额外的比特来编码6个仿射运动模型参数,制约了编码效率的进一步提高。
发明内容
本发明提供了一种用于视频图像编码和解码的方法、编码设备和解码设备,能够提高编解码效率。
第一方面,提供了一种用于视频图像编码的方法,该方法包括:确定当前编码块的运动矢量组,该运动矢量组包括该当前编码块的至少一个运动矢量;根据该运动矢量组中的至少一个运动矢量,确定该当前编码块的运动模型初始向量的第一分量集合的预测值,该运动模型初始向量包括至少四个分量;根据该第一分量集合的预测值,确定该第一分量集合的待传输值;对该第一分量集合的待传输值进行编码,并向解码端发送该编码后的该第一分量集合的待传输值。
结合第一方面,在第一方面的一种实现方式中,该根据该第一分量集合的预测值,确定该第一分量集合的待传输值,包括:确定该当前编码块的运动模型优化向量;根据该第一分量集合的预测值和该运动模型优化向量,确定该第一分量集合的待传输值。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,该方法还包括:根据该当前编码块的尺寸和精度信息,确定运动模型量化精度;相应的,该根据该第一分量集合的预测值和该运动模型优化向量,确定该第一分量集合的待传输值,包括:根据该运动模型量化精度,对该运动模型优化向量进行量化;根据该第一分量集合的预测值和量化后的该运动模型优化向量,确定该第一分量集合的待传输值。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,该当前编码块的尺寸包括该当前编码块的宽度和该当前编码块的高度,该精度信息包括该运动矢量组的量化精度;相应的,该根据该当前编码块的尺寸和精度信息,确定该运动模型量化精度,包括:根据下面的公式确定该运动模型量化精度Q:
Q=1/(S×P),S=max(W,H)
其中,P为该运动矢量组的量化精度,W为该当前编码块的宽度,H为该当前编码块的高度。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,该运动模型初始向量和该运动模型优化向量分别包括六个分量,该运动模型初始向量的六个分量与该运动模型优化向量的六个分量一一对应,该运动矢量组包括三个运动矢量,该三个运动矢量与该当前编码块中三个像素点相对应。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,该第一分量集合包括该运动模型初始向量的六个分量中的至少一个分量,该运动模型初始向量的六个分量ai由下式确定:
a0=-vx0
a1=-vy0
Figure BDA0001461179870000021
Figure BDA0001461179870000022
Figure BDA0001461179870000023
Figure BDA0001461179870000024
其中,i=0,1,2,3,4,5,W为该当前编码块的宽度,H为该当前编码块的高度,vxj为该运动矢量vj在x方向上的分量,vyj为该运动矢量vj在y方向上的分量,j=0,1,2。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,该第一分量集合包括该运动模型初始向量中的两个分量;该根据该第一分量集合的预测值和量化后的该运动模型优化向量,确定该第一分量集合的待传输值,包括:确定该第一分量集合的待传输值,该第一分量集合的待传输值包括Δa0和Δa1,其中,
Figure BDA0001461179870000025
Figure BDA0001461179870000026
Figure BDA0001461179870000027
Figure BDA0001461179870000028
为与该第一分量集合对应的量化后的该运动模型优化向量,
Figure BDA0001461179870000029
Figure BDA00014611798700000210
为该第一分量集合的预测值a0和a1经过量化后得到的数值。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,该第一分量集合包括该运动模型初始向量中的六个分量;该根据该第一分量集合的预测值和量化后的该运动模型优化向量,确定该第一分量集合的待传输值,包括:确定该第一分量集合的待传输值,该第一分量集合的待传输值包括Δai,i=0,1,2,3,4,5,其中,
Figure BDA00014611798700000211
为量化后的该运动模型优化向量,ai为该第一分量集合的预测值。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,该确定当前编码块的运动矢量组,包括:确定该当前编码块的多个候选块,该多个候选块中的每个候选块为该当前编码块相邻的已编码块;确定该多个候选块中的每个候选块的运动矢量对应的预测块与该当前编码块的匹配误差值;将该多个候选块对应的多个匹配误差值中最小的匹配误差值对应的候选块,确定为该当前编码块的目标候选块;获取该当前编码块的参考帧的播放序号和该目标候选块的参考帧的播放序号;根据该当前编码块的参考帧的播放序号和该目标候选块的参考帧的播放序号的比值,确定该运动矢量组中的第一运动矢量,该第一运动矢量与该目标候选块的运动矢量的比值,与该当前编码块的参考帧的播放序号和该目标候选块的参考帧的播放序号的比值相同;根据该第一运动矢量,确定该运动矢量组。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,该确定当前编码块的运动矢量组,包括:确定该当前编码块中同一个像素点对应的多个候选块,该多个候选块中的每个候选块为该当前编码块相邻的已编码块;确定该多个候选块中的每个候选块的运动矢量对应的预测块与该当前编码块的匹配误差值;将该多个候选块对应的多个匹配误差值中最小的匹配误差值对应的候选块,确定为该当前编码块的目标候选块;将该目标候选块的运动矢量,确定为该运动矢量组中的第一运动矢量;根据该第一运动矢量,确定该运动矢量组中的第二运动矢量;根据该第一运动矢量和该第二运动矢量,确定该运动矢量组。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,该确定当前编码块的运动矢量组,包括:确定该当前编码块的多个候选运动矢量组,该多个候选运动矢量组中的每个候选运动矢量组包括三个候选运动矢量;确定该多个候选运动矢量组中每个候选运动矢量组对应的候选参考帧;对于该每个候选运动矢量组,确定该当前编码块中每个像素点在该候选参考帧中对应的预测点的坐标值;对于该每个候选运动矢量组,根据该当前编码块中每个像素点的坐标值和该每个像素点在该候选参考帧中对应的预测点的坐标值,确定该当前编码块的匹配误差值;将该当前编码块的匹配误差值最小时对应的该候选运动矢量组确定为该当前编码块的运动矢量组。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,该确定该当前编码块的运动模型优化向量,包括:根据该运动模型初始向量确定该当前编码块的第一预测块;确定该当前编码块与该第一预测块的第一匹配误差值;从该当前编码块的参考帧包括的多个预测块中确定与该当前编码块匹配误差值最小的第二预测块;确定该当前编码块与该第二预测块的第二匹配误差值;根据该第一匹配误差值和该第二匹配误差值确定该当前编码块的该运动模型优化向量。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,该根据该第一匹配误差值和该第二匹配误差值确定该当前编码块的该运动模型优化向量,包括:当该第一匹配误差值小于该第二匹配误差值时,确定该运动模型初始向量为该运动模型优化向量;或当该第一匹配误差值大于该第二匹配误差值时,根据该第二预测块的像素点与该当前编码块的像素点确定该运动模型优化向量。
第二方面,提供了一种用于视频图像解码的方法,该方法包括:根据码流,确定当前解码块的运动矢量组和运动模型传输向量,该运动矢量组包括该当前解码块的至少一个运动矢量,该运动模型传输向量包括至少四个分量;根据该运动矢量组中的至少一个运动矢量,确定该当前解码块的运动模型初始向量的第一分量集合的预测值,该运动模型初始向量包括至少四个分量;根据该第一分量集合的预测值和该运动模型传输向量,确定该当前解码块的运动模型优化向量,以便于根据该运动模型优化向量对该当前解码块进行解码。
结合第二方面,在第二方面的一种实现方式中,该方法还包括:确定该当前解码块的运动模型量化精度;根据该运动模型量化精度,对该运动模型优化向量进行量化;根据量化后的运动模型优化向量,对该当前解码块进行解码。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,该确定该当前解码块的运动模型量化精度,包括:根据该当前解码块的尺寸和精度信息,确定该运动模型量化精度。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,该当前解码块的尺寸包括该当前解码块的宽度和该当前解码块的高度,该精度信息包括该运动矢量组的量化精度;相应的,该根据该当前解码块的尺寸和精度信息,确定该运动模型量化精度,包括:根据下面的公式确定该运动模型量化精度Q:
Q=1/(S×P),S=max(W,H)
其中,P为该运动矢量组的量化精度,W为该当前解码块的宽度,H为该当前解码块的高度。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,该运动模型初始向量、该运动模型传输向量和该运动模型优化向量分别包括六个分量,该运动矢量组包括三个运动矢量,该三个运动矢量与该当前解码块中三个像素点一一对应。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,该第一分量集合包括该运动模型初始向量的六个分量中的至少一个分量,该运动模型初始向量的六个分量ai由下式确定:
a0=-vx0
a1=-vy0
Figure BDA0001461179870000041
Figure BDA0001461179870000042
Figure BDA0001461179870000043
Figure BDA0001461179870000044
其中,i=0,1,2,3,4,5,W为该当前解码块的宽度,H为该当前解码块的高度,vxj为该运动矢量vj在x方向上的分量,vyj为该运动矢量vj在y方向上的分量,j=0,1,2。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,该第一分量集合包括该运动模型初始向量中的两个分量;该根据该第一分量集合的预测值和该运动模型传输向量,确定该当前解码块的运动模型优化向量,包括:确定该当前解码块的运动模型优化向量为(a0',a1',a2',a3',a4',a5'),其中,
Figure BDA0001461179870000045
(Δa2,Δa3,Δa4,Δa5)=(a2',a3',a4',a5'),Δai为该运动模型传输向量,
Figure BDA0001461179870000051
Figure BDA0001461179870000052
为该第一分量集合的预测值a0和a1经过量化后得到的数值。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,该第一分量集合包括该运动模型初始向量中的六个分量;该根据该运动模型的预测参数和该运动模型的解码参数,确定该当前解码块的该运动模型的最优参数,包括:确定该当前解码块的运动模型优化向量为(a0',a1',a2',a3',a4',a5'),其中,Δai=ai'-ai,Δai为该运动模型传输向量,ai为该第一分量集合的预测值,i=0,1,2,3,4,5。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,该确定当前解码块的运动矢量组和运动模型传输向量,包括:根据码流,确定该当前解码块的目标候选块和该目标候选块的运动矢量;获取该当前解码块的参考帧的播放序号和该目标候选块的参考帧的播放序号;根据该当前解码块的参考帧的播放序号和该目标候选块的参考帧的播放序号的比值,确定该运动矢量组中的第一运动矢量,该第一运动矢量与该目标候选块的运动矢量的比值,与该当前解码块的参考帧的播放序号和该目标候选块的参考帧的播放序号的比值相同;根据该第一运动矢量,确定该运动矢量组。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,该根据码流,确定当前解码块的运动矢量组和运动模型传输向量,包括:根据码流,确定该当前解码块的目标候选块的运动矢量;确定该当前解码块的目标候选块的运动矢量为该运动矢量组中的第一运动矢量;根据该第一运动矢量,确定该运动矢量组中的第二运动矢量;根据该第一运动矢量和该第二运动矢量,确定该运动矢量组。
第三方面,提供了一种编码设备,该编码设备包括:第一确定模块,用于确定当前编码块的运动矢量组,该运动矢量组包括该当前编码块的至少一个运动矢量;第二确定模块,用于根据该运动矢量组中的至少一个运动矢量,确定该当前编码块的运动模型初始向量的第一分量集合的预测值,该运动模型初始向量包括至少四个分量;第三确定模块,用于根据该第一分量集合的预测值,确定该第一分量集合的待传输值;编码模块,用于对该第一分量集合的待传输值进行编码,并向解码端发送该编码后的该第一分量集合的待传输值。
结合第三方面,在第三方面的一种实现方式中,该第三确定模块具体用于:确定该当前编码块的运动模型优化向量;根据该第一分量集合的预测值和该运动模型优化向量,确定该第一分量集合的待传输值。
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,该第三确定模块具体用于:根据该当前编码块的尺寸和精度信息,确定运动模型量化精度;根据该运动模型量化精度,对该运动模型优化向量进行量化;根据该第一分量集合的预测值和量化后的该运动模型优化向量,确定该第一分量集合的待传输值。
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,该当前编码块的尺寸包括该当前编码块的宽度和该当前编码块的高度,该精度信息包括该运动矢量组的量化精度;该第三确定模块具体用于:根据下面的公式确定该运动模型量化精度Q:
Q=1/(S×P),S=max(W,H)
其中,P为该运动矢量组的量化精度,W为该当前编码块的宽度,H为该当前编码块的高度。
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,该运动模型初始向量和该运动模型优化向量分别包括六个分量,该运动模型初始向量的六个分量与该运动模型优化向量的六个分量一一对应,该运动矢量组包括三个运动矢量,该三个运动矢量与该当前编码块中三个像素点相对应。
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,该第二确定模块具体用于:该第一分量集合包括该运动模型初始向量的六个分量中的至少一个分量,该运动模型初始向量的六个分量ai由下式确定:
a0=-vx0
a1=-vy0
Figure BDA0001461179870000061
Figure BDA0001461179870000062
Figure BDA0001461179870000063
Figure BDA0001461179870000064
其中,i=0,1,2,3,4,5,W为该当前编码块的宽度,H为该当前编码块的高度,vxj为该运动矢量vj在x方向上的分量,vyj为该运动矢量vj在y方向上的分量,j=0,1,2。
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,该第一分量集合包括该运动模型初始向量中的两个分量;该第二确定模块具体用于:确定该第一分量集合的待传输值,该第一分量集合的待传输值包括Δa0和Δa1,其中,
Figure BDA0001461179870000065
Figure BDA0001461179870000066
Figure BDA0001461179870000067
Figure BDA0001461179870000068
为与该第一分量集合对应的量化后的该运动模型优化向量,
Figure BDA0001461179870000069
Figure BDA00014611798700000610
为该第一分量集合的预测值a0和a1经过量化后得到的数值。
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,该第一分量集合包括该运动模型初始向量中的六个分量;该第二确定模块具体用于:确定该第一分量集合的待传输值,该第一分量集合的待传输值包括Δai,i=0,1,2,3,4,5,其中,
Figure BDA00014611798700000611
Figure BDA00014611798700000612
为量化后的该运动模型优化向量,ai为该第一分量集合的预测值。
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,该第一确定模块具体用于:确定该当前编码块的多个候选块,该多个候选块中的每个候选块为该当前编码块相邻的已编码块;确定该多个候选块中的每个候选块的运动矢量对应的预测块与该当前编码块的匹配误差值;将该多个候选块对应的多个匹配误差值中最小的匹配误差值对应的候选块,确定为该当前编码块的目标候选块;获取该当前编码块的参考帧的播放序号和该目标候选块的参考帧的播放序号;根据该当前编码块的参考帧的播放序号和该目标候选块的参考帧的播放序号的比值,确定该运动矢量组中的第一运动矢量,该第一运动矢量与该目标候选块的运动矢量的比值,与该当前编码块的参考帧的播放序号和该目标候选块的参考帧的播放序号的比值相同;根据该第一运动矢量,确定该运动矢量组。
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,该第一确定模块具体用于:确定该当前编码块中同一个像素点对应的多个候选块,该多个候选块中的每个候选块为该当前编码块相邻的已编码块;确定该多个候选块中的每个候选块的运动矢量对应的预测块与该当前编码块的匹配误差值;将该多个候选块对应的多个匹配误差值中最小的匹配误差值对应的候选块,确定为该当前编码块的目标候选块;将该目标候选块的运动矢量,确定为该运动矢量组中的第一运动矢量;根据该第一运动矢量,确定该运动矢量组中的第二运动矢量;根据该第一运动矢量和该第二运动矢量,确定该运动矢量组。
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,该第一确定模块具体用于:确定该当前编码块的多个候选运动矢量组,该多个候选运动矢量组中的每个候选运动矢量组包括三个候选运动矢量;确定该多个候选运动矢量组中每个候选运动矢量组对应的候选参考帧;对于该每个候选运动矢量组,确定该当前编码块中每个像素点在该候选参考帧中对应的预测点的坐标值;对于该每个候选运动矢量组,根据该当前编码块中每个像素点的坐标值和该每个像素点在该候选参考帧中对应的预测点的坐标值,确定该当前编码块的匹配误差值;将该当前编码块的匹配误差值最小时对应的该候选运动矢量组确定为该当前编码块的运动矢量组。
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,该第三确定模块具体用于:根据该运动模型初始向量确定该当前编码块的第一预测块;确定该当前编码块与该第一预测块的第一匹配误差值;从该当前编码块的参考帧包括的多个预测块中确定与该当前编码块匹配误差值最小的第二预测块;确定该当前编码块与该第二预测块的第二匹配误差值;根据该第一匹配误差值和该第二匹配误差值确定该当前编码块的该运动模型优化向量。
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,该第三确定模块具体用于:当该第一匹配误差值小于该第二匹配误差值时,确定该运动模型初始向量为该运动模型优化向量;或当该第一匹配误差值大于该第二匹配误差值时,根据该第二预测块的像素点与该当前编码块的像素点确定该运动模型优化向量。
第四方面,提供了一种解码设备,该解码设备包括:第一确定模块,用于根据码流,确定当前解码块的运动矢量组和运动模型传输向量,该运动矢量组包括该当前解码块的至少一个运动矢量,该运动模型传输向量包括至少四个分量;第二确定模块,用于根据该运动矢量组中的至少一个运动矢量,确定该当前解码块的运动模型初始向量的第一分量集合的预测值,该运动模型初始向量包括至少四个分量;第三确定模块,用于根据该第一分量集合的预测值和该运动模型传输向量,确定该当前解码块的运动模型优化向量,以便于根据该运动模型优化向量对该当前解码块进行解码。
结合第四方面,在第四方面的一种实现方式中,该第三确定模块具体用于:确定该当前解码块的运动模型量化精度;根据该运动模型量化精度,对该运动模型优化向量进行量化;根据量化后的运动模型优化向量,对该当前解码块进行解码。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,该第三确定模块具体用于:根据该当前解码块的尺寸和精度信息,确定该运动模型量化精度。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,该当前解码块的尺寸包括该当前解码块的宽度和该当前解码块的高度,该精度信息包括该运动矢量组的量化精度;该第三确定模块具体用于:根据下面的公式确定该运动模型量化精度Q:
Q=1/(S×P),S=max(W,H)
其中,P为该运动矢量组的量化精度,W为该当前解码块的宽度,H为该当前解码块的高度。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,该运动模型初始向量、该运动模型传输向量和该运动模型优化向量分别包括六个分量,该运动矢量组包括三个运动矢量,该三个运动矢量与该当前解码块中三个像素点一一对应。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,该第二确定模块具体用于:该第一分量集合包括该运动模型初始向量的六个分量中的至少一个分量,该运动模型初始向量的六个分量ai由下式确定:
a0=-vx0
a1=-vy0
Figure BDA0001461179870000081
Figure BDA0001461179870000082
Figure BDA0001461179870000083
Figure BDA0001461179870000084
其中,i=0,1,2,3,4,5,W为该当前解码块的宽度,H为该当前解码块的高度,vxj为该运动矢量vj在x方向上的分量,vyj为该运动矢量vj在y方向上的分量,j=0,1,2。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,该第一分量集合包括该运动模型初始向量中的两个分量;该第二确定模块具体用于:确定该当前解码块的运动模型优化向量为(a0',a1',a2',a3',a4',a5'),其中,
Figure BDA0001461179870000085
(Δa2,Δa3,Δa4,Δa5)=(a2',a3',a4',a5'),Δai为该运动模型传输向量,
Figure BDA0001461179870000086
Figure BDA0001461179870000087
为该第一分量集合的预测值a0和a1经过量化后得到的数值。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,该第一分量集合包括该运动模型初始向量中的六个分量;该第二确定模块具体用于:确定该当前解码块的运动模型优化向量为(a0',a1',a2',a3',a4',a5'),其中,Δai=ai'-ai,Δai为该运动模型传输向量,ai为该第一分量集合的预测值,i=0,1,2,3,4,5。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,该第一确定模块具体用于:根据码流,确定该当前解码块的目标候选块和该目标候选块的运动矢量;获取该当前解码块的参考帧的播放序号和该目标候选块的参考帧的播放序号;根据该当前解码块的参考帧的播放序号和该目标候选块的参考帧的播放序号的比值,确定该运动矢量组中的第一运动矢量,该第一运动矢量与该目标候选块的运动矢量的比值,与该当前解码块的参考帧的播放序号和该目标候选块的参考帧的播放序号的比值相同;根据该第一运动矢量,确定该运动矢量组。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,该第一确定模块具体用于:根据码流,确定该当前解码块的目标候选块的运动矢量;确定该当前解码块的目标候选块的运动矢量为该运动矢量组中的第一运动矢量;根据该第一运动矢量,确定该运动矢量组中的第二运动矢量;根据该第一运动矢量和该第二运动矢量,确定该运动矢量组。
基于上述技术方案,本发明实施例的用于视频图像编码和解码的方法、编码设备和解码设备,通过确定当前编码块的运动矢量组,并根据该运动矢量组确定该当前编码块的运动模型初始向量,根据该运动模型初始向量确定该运动模型待传输值,并将该运动模型待传输值进行编码传输,以便于解码端根据该运动模型待传输值进行解码,从而能够减少编解码传输的数据量和占用的比特数。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的用于视频图像编码的方法的示意性流程图。
图2是根据本发明实施例的当前编码块或当前解码块与候选块的示意图。
图3是根据本发明另一实施例的用于视频图像解码的方法的示意性流程图。
图4是根据本发明另一实施例的用于视频图像解码的方法的另一示意性流程图。
图5是根据本发明实施例的编码设备的示意性框图。
图6是根据本发明实施例的解码设备的示意性框图。
图7是根据本发明实施例的编码设备的另一示意性框图。
图8是根据本发明实施例的解码设备的另一示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
图1是根据本发明一个实施例的用于视频图像编码的方法的示意性流程图。图1所示的方法可以由编码设备执行,例如编码器。具体地,如图1所示,方法100包括:
S110,确定当前编码块的运动矢量组,该运动矢量组包括该当前编码块的至少一个运动矢量;
S120,根据该运动矢量组中的至少一个运动矢量,确定该当前编码块的运动模型初始向量的第一分量集合的预测值,该运动模型初始向量包括至少四个分量;
S130,根据该第一分量集合的预测值,确定该第一分量集合的待传输值;
S140,对该第一分量集合的待传输值进行编码,并向解码端发送该编码后的该第一分量集合的待传输值。
具体地,确定当前编码块的运动矢量组,该运动矢量组包括当前编码块中至少一个像素点对应的运动矢量;根据该运动矢量组中的至少一个运动矢量,确定该当前编码块的运动模型初始向量中第一分量集合的预测值,该运动模型初始向量包括至少四个分量,第一分量集合包括该运动模型初始向量中的至少一个分量;再根据该当前编码块,确定该运动模型量化精度和运动模型优化向量,根据该量化精度对该运动模型优化向量进行量化;可以根据该运动模型初始向量中第一分量集合的预测值和量化后的该运动模型优化向量,确定该第一分量集合的待传输值,将该第一分量集合的待传输值进行编码,并发送至解码端,以便于解码端进行解码操作;还可以根据量化后的该运动模型优化向量,确定该当前编码块的预测样本,根据该预测样本对当前编码块进行编码并传输。
因此,本发明实施例的用于视频图像编码的方法,通过确定当前编码块的运动矢量组,并根据该运动矢量组确定该当前编码块的运动模型初始向量,根据该运动模型初始向量确定该运动模型待传输值,并将该运动模型待传输值进行编码传输,以便于解码端根据该运动模型待传输值进行解码,从而能够减少编解码传输的数据量和占用的比特数。
在本发明实施例中,对于各个编码标准,针对视频图像的编码过程,对于帧间预测,在运动补偿的计算过程中,采用多种运动模型,例如可以为仿射运动,或一般运动模型,或透视模型,这里以仿射运动模型为例进行说明,但本发明并不限于此。
在S110中,确定当前编码块的运动矢量组,该运动矢量组包括该当前编码块的至少一个运动矢量,每个运动矢量可以与该当前编码块中的一个像素点对应。对于不同的运动模型,描述该运动模型所需参数的数量不同,对于具有2n个参数的运动模型,确定当前编码块的运动矢量组一般可以包括n个运动矢量。例如,对于仿射运动,将当前编码块中各个像素点通过仿射运动模型表示时,一般需要可以表示为
Figure BDA0001461179870000101
即该仿射运动模型具有6个参数,则该运动矢量组包括至少3个运动矢量。对于一般的运动模型,一般涉及12个参数,则该运动矢量组至少包括6个运动矢量。可选地,确定该运动矢量组中至少一个运动矢量,可以确定该运动矢量组中一个运动矢量,或确定n个运动矢量,或该运动矢量组中的全部运动矢量。例如,对于仿射运动,确定当前编码块的运动矢量组,该运动矢量组可以包括至少3个运动矢量,可以确定该运算矢量组中的一个运动矢量,或3个运动矢量,或全部运动矢量,本发明并不限于此。
可选地,作为一个实施例,以仿射运动为例,确定当前编码块的运动矢量组,该运动矢量组包括3个运动矢量,可以确定该运算矢量组中的至少一个运动矢量。对于HEVC(High Efficiency Video Coding)标准,可以通过AMVP(Advanced Motion VectorPrediction)技术确定当前编码块的运动矢量组中的第一运动矢量。具体地,在该当前编码块的周围已编码块中,先确定该当前编码块的多个候选块,可以根据坐标位置确定该多个候选块,该多个候选块与当前编码块相邻,例如,如图2所示,对于当前编码块,一般可以将A-G确定为该当前编码块的多个候选块。然后,确定每个候选块的运动矢量对应的预测块与当前编码块的匹配误差值,具体地,可以根据候选块的运动矢量与当前编码块,在参考帧中确定该候选块的运动矢量对应的预测块,再计算该预测块与当前编码块的匹配误差值,将匹配误差值最小时对应的候选块确定为该当前编码块的目标候选块。然后,分别确定当前编码块和该目标候选块的参考帧的播放序号(POC),根据该当前编码块的参考帧的播放序号(POC)和该目标候选块的参考帧的播放序号(POC)的比值,对该目标候选块的运动矢量进行缩放,并将缩放后的该目标候选块的运动矢量确定为该当前编码块的运动矢量组中的第一运动矢量,该第一运动矢量与该目标候选块的运动矢量的比值,与该当前编码块的参考帧的播放序号和该目标候选块的参考帧的播放序号的比值相同。
在本发明实施例中,可以将确定的该目标候选块的运动矢量作为后续运动估计的搜索起始点。对于编码设备,可以将该目标候选块的对应的索引值进行编码并发送至解码端,以便于解码端解码并确定该目标候选块及该目标候选块的运动矢量。
在本发明实施例中,可以通过下面的方法确定每个候选块的运动矢量对应的预测块与当前编码块的匹配误差值。具体地,对于当前编码块中的每个像素点,可以通过下面的公式(1)-(4)确定每个像素点的匹配误差值:
Figure BDA0001461179870000111
Φ(xi,yj)=s(xi,yj)-s'(xi,yj) (2)
F(xi,yj)=(Gxi,Gyj,xiGxi,xiGyj,yjGxi,yjGyj,) (3)
Figure BDA0001461179870000112
其中,s(xi,yj)为该像素点的原始像素值,s'(xi,yj)为该像素点在候选块所指向帧中的预测像素值,xi和yi为该像素点的坐标值,Gxi是该像素点所在位置的水平梯度,Gyi是该像素点所在位置的垂直梯度,这些梯度可以用索贝尔(Sobel)算子计算得到。
在本发明实施例中,根据上面的公式可以确定该当前编码块中每个像素点相对于候选块的运动矢量对应的预测块的匹配误差值,将该当前编码块中所有像素点的匹配误差值的绝对值求和,即可得到候选块对应的预测块与该当前编码块的匹配误差值,但本发明并不限于此。根据上面的方法依次确定当前编码块与每个候选块对应的预测块的匹配误差值,从而将匹配误差值最小时对应的候选块作为当前编码块的目标候选块。
可选地,作为一个实施例,以仿射运动为例,确定当前编码块的运动矢量组,该运动矢量组包括3个运动矢量,通过上述方法确定了该运动矢量组中的一个运动矢量第一运动矢量后,根据图2所示,该第一运动矢量可以对应为该当前编码块的一个顶点的运动矢量,可选地,可以选择与该当前编码块的顶点相邻的两个顶点的运动矢量,作为该运动矢量组中其它运动矢量。该运动矢量组可以表示为{v0,v1,v2},它们的坐标分别是(0,0),(W,0),(0,H),其中,W为该当前编码块的宽度,H为该当前编码块的高度。
可选地,作为一个实施例,以仿射运动为例,确定当前编码块的运动矢量组,该运动矢量组包括3个运动矢量,可以确定该运动矢量组中的每个运动矢量。具体地,可以先将当前编码块周围多个已编码块确定为多个候选块,该多个候选块对应该当前编码块的同一个像素点,可选地,该像素点可以为当前编码块的顶点,例如,如图2所示,可以确定A、B和C为当前编码块的多个候选块。根据公式(1)-(4),分别确定当前编码块中每个像素点相对于每个候选块的运动矢量对应的预测块的匹配误差值,进而将所有像素点的匹配误差值的绝对值求和,确定当前编码块对于每个候选块的匹配误差值,选择匹配误差值最小时对应的候选块为该当前编码块的目标候选块,并将该目标候选块的运动矢量确定为该当前编码块的运动矢量组中的第一运动矢量,将该目标候选块的参考帧确定为当前编码块的参考帧。将该目标候选块的运动矢量作为当前编码块的第一运动矢量,还可以将该第一运动矢量作为后续运动估计的搜索起始点。对于编码设备,可以将该目标候选块的对应的索引值进行编码并发送至解码端,以便于解码端解码并确定该目标候选块及该目标候选块的运动矢量。
在本发明实施例中,确定该当前编码块的运动矢量组中的第一运动矢量后,根据该第一运动矢量,确定该当前编码块运动矢量组中的第二运动矢量,该第二运动矢量是指该运动矢量组中除了第一运动矢量的其它运动矢量。具体地,先在该当前编码块周围的已编码块中确定该当前编码块的多个候选块,该多个编码块对应该当前编码块的同一个像素点,可选地,该像素点可以为当前编码块的顶点,该像素点与确定第一运动矢量时的多个候选块对应的像素点不同,例如图2所示,该候选块可以包括D和E,该多个候选块不包括确定第一运动矢量时的候选块。然后,确定每个候选块的参考帧,若候选块的参考帧与第一运动矢量对应的目标候选块的参考帧,即当前编码块的参考帧,不是同一帧时,根据该当前编码块的目标候选块的参考帧的播放顺序POC号和候选块的参考帧的播放顺序POC号的比值,将候选块的运动矢量进行缩放,使得当前块与候选块的参考帧的播放顺序号之间的比例,与当前块与候选块的运动矢量之间的比例相同。分别比较每个候选块缩放后的运动矢量与第一运动矢量,当缩放后的候选块的运动矢量与第一运动矢量不相同,且差值最小时,将该候选块确定为当前编码块的第二目标候选块,将该目标候选块对应的缩放后的运动矢量确定为当前编码块的运动矢量组中的第二运动矢量。
在本发明实施例中,根据上述方法,可以确定多个第二运动矢量,例如,当该当前编码块的运动矢量组中包括3个运动矢量时,确定该运动矢量组中的一个第一运动矢量后,可以通过上述方法确定两个第二运动矢量,但本发明并不限于此。
可选地,作为一个实施例,以仿射运动为例,确定当前编码块的运动矢量组,该运动矢量组包括3个运动矢量,还可以通过下面的方法确定该运动矢量组中的每个运动矢量。具体地,确定该当前编码块的多个候选块,该多个候选块均为与当前编码块相邻的已编码块,例如图2所示,A-F为当前编码块的多个候选块。再根据该多个候选块,确定当前编码块的多个候选运动矢量组,每个候选运动矢量组包括3个运动矢量,三个运动矢量对应当前编码块的三个像素点,可选地,可以在多个候选块中选择几个候选块的运动矢量作为候选运动矢量组,例如图2所示,对于多个A-F候选块,可以在对应同一个像素点的候选块A、B和C中任选一个块的运动矢量,在对应另一个像素点的D和E中任选一个块的运动矢量,在对应另一个像素点的F和G中任选一个块的运动矢量,将该三个运动矢量构成一个候选运动矢量组,由于有不同选择,这些候选块可以构成12个候选运动矢量组。确定第一候选运动矢量组中每个运动矢量的参考帧,该第一候选运动矢量组为多个候选运动矢量组中的任意一个候选运动矢量组,将该第一候选运动矢量组中每个运动矢量对应的候选块的参考帧的索引号和播放序号进行等比例缩放,使得该第一候选运动矢量组中的三个运动矢量对应同一个参考帧索引号和播放序号。
在本发明实施例中,可以根据下面的公式(5)和(6)确定当前编码块中每个像素点在该第一候选运动矢量组的参考帧中的预测位置:
Figure BDA0001461179870000121
Figure BDA0001461179870000131
其中,W为该当前编码块的宽度,H为该当前编码块的高度,vxj为第一候选运动矢量组中第j个候选运动矢量vj在x方向上的分量,vyj为第一候选运动矢量组中第j个候选运动矢量vj在y方向上的分量,j=0,1,2,x和y为该当前编码块中每个像素点的坐标值,x'和y'为该像素点在第一候选运动矢量组的参考帧中对应的预测点的坐标值。
根据该当前编码块中每个像素点的坐标值和该参考帧中对应的预测点的坐标值,再根据公式(1)确定对于该第一候选运动矢量组,该当前编码块中每个像素点与该第一候选运动矢量组的参考帧中对应的预测点的匹配误差值;其中,
Figure BDA0001461179870000132
将每个像素点对于第一候选运动矢量组的匹配误差值求绝对值再求和,确定该当前编码块相对应第一候选运动矢量组的匹配误差值。同样地,确定当前编码块对于每个候选运动矢量组的匹配误差值,并将多个候选运动矢量组对应的多个匹配误差值中最小值对应的该候选运动矢量组,确定为该当前编码块的运动矢量组。将该运动矢量组包括的运动矢量的索引值进行编码,并发送至解码端,以便与解码端根据索引值确定该运动矢量组。
在本发明实施例中,对于确定的运动矢量组,可以将该运动矢量组中的任意一个运动矢量作为后续运动估计的搜索起始点,可选地,如图2所示,也可以将该当前编码块的左上角顶点的预测位置作为后续运动估计的搜索起始点,本发明并不限于此。
在S120中,根据该运动矢量组中的至少一个运动矢量,确定该当前编码块的运动模型初始向量的第一分量集合的预测值,该运动模型初始向量包括至少四个分量,该第一分量集合包括该运动模型初始向量中的至少一个分量。具体地,以仿射运动模型为例,仿射模型可以用六个参数表示,该六个参数可以表示为
Figure BDA0001461179870000133
则可以根据下面的公式(7)确定当前编码块中的每个像素点在参考帧中的位置:
Figure BDA0001461179870000134
其中,x和y为该当前编码块中任意像素点的坐标值,x'和y'为该像素点在参考帧中对应的预测点的坐标值;vx和vx为当前编码块中任意像素点的运动矢量。则可以得到下面的公式(8):
Figure BDA0001461179870000141
根据S110中确定的运动矢量组,该运动矢量组可以表示为{v0,v1,v2},由于该运动矢量组对应的目标候选块为如图2所示的A-G中的块,则它们的坐标可以分别表示为(0,0),(W,0),(0,H),其中,W为该当前编码块的宽度,H为该当前编码块的高度,代入公式(8)即可得到下面的公式(9):
Figure BDA0001461179870000142
其中,vxj为第一候选运动矢量组中第j个候选运动矢量vj在x方向上的分量,vyj为第一候选运动矢量组中第j个候选运动矢量vj在y方向上的分量,j=0,1,2。则对应地,即可以得到仿射运动模型
Figure BDA0001461179870000143
中的各个参数,如公式(6)所示,将该当前编码块的运动矢量组{v0,v1,v2}代入公式(6)中,即可确定该当前编码块的运动模型初始向量
Figure BDA0001461179870000144
该运动模型初始向量为六维向量,可选地,对于其他运动模型,该初始向量为至少四维向量。根据该运动模型初始向量,可以确定第一分量集合的预测值,该第一分量集合的预测值可以包括该运动模型初始向量中至少一个分量。
在S130中,根据该第一分量集合的预测值,确定该第一分量集合的待传输值。具体地,可以根据当前编码块,确定运动模型量化精度和该运动模型优化向量,根据运动模型量化精度对该运动模型优化向量进行量化,根据该运动模型第一分量集合的预测值和量化后的运动模型优化向量,确定该第一分量集合的待传输值。
在本发明实施例中,可以先确定该运动模型优化向量。可选地,可以根据现有技术确定运动模型优化向量。具体地,可以根据公式(1)-(4)确定当前编码块的匹配误差值,在该当前编码块的参考帧的一定范围内进行梯度迭代搜索当前编码块的候选块,将匹配误差值最小时的候选块确定为该当前编码块的目标候选块,并根据公式(4)确定此时对应的运动模型的参数
Figure BDA0001461179870000145
为该当前编码块优化向量。
可选地,还可以根据公式(6)确定当前编码块的运动模型初始向量,将该运动模型初始向量确定为运动模型优化向量。
可选地,还可以根据公式(6)确定当前编码块的运动模型初始向量,并根据公式(7)计算此时的当前编码块中各个像素点在参考帧中的对应位置,并利用公式(1)和(6)计算此时的该当前编码块的匹配误差值。将该匹配误差值与上述利用现有技术和公式(1)-(4)确定的运动模型参数对应的匹配误差值相比,选择最小的匹配误差值对应的运动模型的参数
Figure BDA0001461179870000146
为该当前编码块优化向量,本发明并不限于此。
在本发明实施例中,还要确定运动模型量化精度,以便于对运动模型优化向量进行量化。具体地,该运动模型优化向量中包括两个平动参数,即a0'和a1',这两个平动参数的量化精度可以为1/16或1/4,本发明并不限于此。该运动模型优化向量中的其它参数(a2',a3',a4',a5')的量化精度可以为1/512,也可以根据当前编码块的尺寸和精度信息确定量化精度,其中,当前编码块的尺寸可以包括该当前编码块的宽度和高度,精度信息可以包括该当前编码块的运动矢量组的量化精度。具体地,根据公式(6)可知,该运动模型的后四个参数与当前编码块的宽度和高度相关,因此可以通过下面的公式(10)确定量化精度:
Q=1/(S×P),S=max(W,H) (10)
其中,P可以根据该当前编码块的精度信息来确定,具体地,1/P为当前编码块的运动矢量组的量化精度,可选地,该运动矢量组的量化精度一般为1/4,则P=4,W为该当前编码块的宽度,H为该当前编码块的高度。例如,当前编码块的宽度是16,高度是32,则它们的量化精度是1/(32×4)=1/128;如果编码块的宽度是16,高度是8,则量化精度是1/(16×4)=1/64。
在本发明实施例中,根据确定的量化精度,对运动模型优化向量
Figure BDA0001461179870000151
进行量化,得到量化后的运动模型优化向量
Figure BDA0001461179870000152
在本发明实施例中,根据该第一分量集合的预测值和量化后的该运动模型优化向量,确定该第一分量集合的待传输值。具体地,可以通过下面的方法确定。这里以仿射运动为例,根据公式(6)确定了运动模型初始向量,在该运动模型初始向量中,a0和a1为平动参数,与运动矢量组中的第一运动矢量v0有关,可选地,可以将a0和a1确定为第一分量集合,根据公式(6)确定的a0和a1的值为第一分量集合的预测值,可选地,这两个参数的量化精度可以为1/16或1/4,以1/16为例,即先将v0放大四倍,使得v0的精度从1/4放大到1/16,再用1/16的精度的v0计算得到精度同样为1/16的量化后的a0和a1
Figure BDA0001461179870000153
Figure BDA0001461179870000154
即得到
Figure BDA0001461179870000155
Figure BDA0001461179870000156
为量化后的第一分量集合的预测值。
在本发明实施例中,根据量化后的第一分量集合的预测值
Figure BDA0001461179870000157
Figure BDA0001461179870000158
和确定的运动模型优化向量,确定当前编码块的第一分量集合的待传输值,该当前编码块的运动模型传输值可以为(Δa0,Δa1,Δa2,Δa3,Δa4,Δa5),其中,第一分量集合可以包括两个分量,该第一分量集合的传输值可以为Δa0和Δa1
Figure BDA0001461179870000159
则其它传输值为
Figure BDA00014611798700001510
Figure BDA00014611798700001511
为量化后的该运动模型优化向量,
Figure BDA00014611798700001512
Figure BDA00014611798700001513
为量化后的第一分量集合的预测值a0和a1。此时,由于编码传输的参数中有两个参数为量化后的第一分量集合和运动模型优化向量的差值,该差值比直接编码传输量化后的运动模型优化向量占用的比特数少,减少了传输的数据量。
可选地,作为一个实施例,根据该第一分量集合的预测值和量化后的该运动模型优化向量,确定该第一分量集合的待传输值。具体地,还可以通过下面的方法确定。根据公式(6)确定了运动模型初始向量的六个分量ai,i=0,1,2,3,4,5,再确定该第一分量集合也包括6个参数,则可以确定该当前编码块的运动模型传输值,也就是该第一分量集合的传输值为(Δa0,Δa1,Δa2,Δa3,Δa4,Δa5),其中,
Figure BDA00014611798700001514
Figure BDA00014611798700001515
为量化后的该运动模型优化向量,ai为第一分量集合的预测值。
在S140中,对确定的该第一分量集合的待传输值进行编码,并向解码端发送该编码后的该第一分量集合的待传输值。具体地,可以将确定的当前编码块的运动模型待传输向量进行编码,并发送至解码端。此外,还可以根据运动模型量化精度对运动模型优化向量进行量化,从而确定当前编码块各个像素样本的预测像素样本,进而确定当前编码块的预测残差,将该预测残差进行编码并发送至解码端。具体地,对于运动模型优化向量
Figure BDA00014611798700001516
将其中的各个参数ai'根据公式(10)确定的运动模型量化精度进行量化,得到量化后的运动模型优化向量
Figure BDA00014611798700001517
代入公式(7)中即可获得当前编码块中每个像素点精度为Q的参考偏移位置(x',y'),在该参考偏移位置计算得到当前编码块的各个像素样本的预测像素样本,进而确定当前编码块的预测残差,将该预测残差进行编码并发送至解码端。可选地,该像素样本可以为一个像素点,或多个像素点构成的小像素块,本发明并不限于此。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
因此,本发明实施例的用于视频图像编码的方法,通过确定当前编码块的运动矢量组,并根据该运动矢量组确定该当前编码块的运动模型初始向量,根据该运动模型初始向量确定该运动模型待传输值,并将该运动模型待传输值进行编码传输,以便于解码端根据该运动模型待传输值进行解码,从而能够减少编解码传输的数据量和占用的比特数。另外,由于确定该运动模型优化向量并对该优化向量进行量化时,确定的量化精度是根据当前编码块的尺寸和当前编码块运动矢量的量化精度进行确定的,也能够减少编码参数所需的比特数。
图3示出了根据本发明实施例的用于视频图像解码的方法200的示意性流程图。图3所示的方法可以用于图像或视频的解码过程中,由解码设备执行。如图3所示,该方法包括:
S210,根据码流,确定当前解码块的运动矢量组和运动模型传输向量,该运动矢量组包括该当前解码块的至少一个运动矢量,该运动模型传输向量包括至少四个分量;
S220,根据该运动矢量组中的至少一个运动矢量,确定该当前解码块的运动模型初始向量的第一分量集合的预测值,该运动模型初始向量包括至少四个分量;
S230,根据该第一分量集合的预测值和该运动模型传输向量,确定该当前解码块的运动模型优化向量,以便于根据该运动模型优化向量对该当前解码块进行解码。
具体地,解码端接收到编码端发送的码流,根据码流解码,确定当前解码块的运动矢量组和运动模型传输向量,该运动矢量组包括当前解码块的至少一个像素点对应的运动矢量;根据该运动矢量组中的至少一个运动矢量,确定该当前解码块的运动模型初始向量的第一分量集合的预测值,该运动模型初始向量包括至少四个分量,该第一分量集合包括该运动模型初始向量中的至少一个分量;根据该第一分量集合的预测值和该运动模型传输向量,确定该当前解码块的运动模型优化向量。再根据量化后的该运动模型优化向量,确定该当前解码块的预测样本,根据该预测样本对当前解码块进行解码重建。
因此,本发明实施例的用于视频图像解码的方法,根据接收到的码流,确定当前解码块的运动矢量组和运动模型传输向量,并根据该运动矢量组确定该当前解码块的运动模型初始向量,根据该运动模型初始向量和运动模型传输向量确定该运动模型优化向量,并将该运动模型优化向量进行解码重建,从而能够减少编解码传输的数据量和占用的比特数。
在S210中,解码设备根据码流,确定当前解码块的运动矢量组和运动模型传输向量,该运动矢量组包括当前解码块的至少一个运动矢量,每个运动矢量分别与当前解码块中的一个像素点对应。可选地,对于不同的运动模型,描述该运动模型所需参数的数量不同,对于具有2n个参数的运动模型,解码端确定的运动模型传输向量为2n维向量,确定当前解码块的运动矢量组一般可以包括n个运动矢量。例如,对于仿射运动,将当前解码块中各个像素点通过仿射运动模型表示时,一般需要可以表示为
Figure BDA0001461179870000171
即该仿射运动模型具有6个参数,则该运动矢量组可以包括3个运动矢量。对于一般的运动模型,一般涉及12个参数,则该运动矢量组可以包括6个运动矢量。可选地,确定该运动矢量组,可以确定该运动矢量组中至少一个运动矢量,可以确定该运动矢量组中一个运动矢量,或确定n个运动矢量,或该运动矢量组中的全部运动矢量。例如,对于仿射运动,确定当前解码块的运动矢量组,该运动矢量组可以包括至少3个运动矢量,可以确定该运算矢量组中的一个运动矢量,或3个运动矢量,或全部运动矢量,根据编码端确定的运动矢量的个数,解码端也相应的确定相应的运动矢量,本发明并不限于此。
在本发明实施例中,解码端可以根据接收到的码流确定该当前解码块的运动模型传输向量以及运动矢量组。具体地,解码端可以先根据接收到的码流确定该当前解码块的运动模型传输向量,该运动模型传输向量的全部分量可以为运动模型初始向量和运动模型优化向量的差值,或该运动模型传输向量的部分分量为运动模型初始向量和运动模型优化向量的差值,部分分量为运动模型优化向量,本发明并不限于此。
可选地,作为一个实施例,以仿射运动为例,当确定当前解码块的运动矢量组,该运动矢量组包括3个运动矢量,可以根据码流先确定该运算矢量组中的至少一个运动矢量。具体地,当解码端确定该运动模型传输向量的部分分量为运动模型初始向量和运动模型优化向量的差值,部分分量为运动模型优化向量时,解码端可以根据码流确定该运算矢量组中的至少一个运动矢量。解码端解码视频码流,确定当前解码块的目标候选块,并确定该目标候选块的运动矢量和该目标候选块的参考帧。分别获取该目标候选块的参考帧和当前解码块的参考帧的播放顺序号POC,再根据当前解码块的参考帧的播放顺序号POC和该目标候选块的参考帧的播放顺序号POC的比值,对该目标候选块的运动矢量进行缩放,并将缩放后的运动矢量确定为该当前解码块的运动矢量组中的第一运动矢量,该第一运动矢量与该目标候选块的运动矢量的比值,与该当前解码块的参考帧的播放序号和该目标候选块的参考帧的播放序号的比值相同。
可选地,作为一个实施例,以仿射运动为例,确定当前解码块的运动矢量组,该运动矢量组包括3个运动矢量,可以根据码流确定该运动矢量组中的每个运动矢量。具体地,当解码端确定该运动模型传输向量的全部分量可以为运动模型初始向量和运动模型优化向量的差值时,可以根据码流确定该运动矢量组中的每个运动矢量。可以先根据码流中的索引值,确定当前解码块的目标候选块,将该目标候选块的参考帧确定为当前解码块的参考帧,将该目标候选块的运动矢量作为该当前解码块的运动矢量组中的第一运动矢量。
在本发明实施例中,确定该当前解码块的运动矢量组中的第一运动矢量后,根据该第一运动矢量,确定该当前解码块运动矢量组中的第二运动矢量,该第二运动矢量是指该运动矢量组中除了第一运动矢量的其它运动矢量。具体地,先在该当前解码块周围的相邻的已解码块中确定该当前解码块的多个候选块,该多个候选块对应同一个像素点,可选地,该像素点可以为当前解码块的顶点,例如图2所示,对于当前解码块,该候选块可以包括D和E,该多个候选块不包括确定的第一运动矢量对应的当前解码块的目标候选块。然后,确定每个候选块的参考帧,若候选块的参考帧与第一运动矢量对应的目标候选块的参考帧,即当前解码块的参考帧,不是同一帧时,根据该目标候选块的参考帧的播放顺序POC号和候选块的参考帧的播放顺序POC号的比值,将候选块的运动矢量进行缩放,使得当前块与候选块的参考帧的播放顺序号之间的比例与运动矢量之间的比例相同。分别比较每个候选块缩放后的运动矢量与第一运动矢量,当候选块的运动矢量与第一运动矢量不相同,且差值最小时,该候选块确定为当前解码块的目标候选块,将该目标候选块候选对应的缩放后的运动矢量确定为当前解码块的运动矢量组中的第二运动矢量。
在本发明实施例中,根据上述方法,可以确定多个第二运动矢量,例如,当该当前解码块的运动矢量组中包括3个运动矢量时,确定该运动矢量组中的第一运动矢量后,可以通过上述方法确定两个第二运动矢量,进而确定了运动矢量组中的每个运动矢量,但本发明并不限于此。
可选地,作为一个实施例,以仿射运动为例,确定当前解码块的运动矢量组,该运动矢量组包括3个运动矢量,还可以通过码流解码确定该运动矢量组中的每个运动矢量。具体地,当解码端确定该运动模型传输向量的全部分量可以为运动模型初始向量和运动模型优化向量的差值时,可以根据码流确定该运动矢量组中的每个运动矢量,根据码流直接获得该当前解码块的运动矢量组中每个运动矢量值,且该运动矢量组中的每个运动矢量对应的当前解码块的目标候选块具有同一个参考帧,该参考帧为该当前解码块的参考帧。
在S220中,根据该运动矢量组中的至少一个运动矢量,确定该当前解码块的运动模型初始向量的第一分量集合的预测值,该运动模型初始向量包括至少四个分量,该第一分量集合包括该运动模型初始向量中的至少一个分量。具体地,以仿射运动模型为例,仿射模型可以用六个参数表示,该六个参数可以表示为
Figure BDA0001461179870000181
则可以根据公式(7)确定当前解码块中的每个像素点在参考帧中的位置,其中,x和y为该当前解码块中任意像素点的坐标值,x'和y'为该像素点在参考帧中对应的预测点的坐标值;vx和vx为当前解码块中任意像素点的运动矢量,则可以得到公式(8)。根据S210中确定的运动矢量组,该运动矢量组可以表示为{v0,v1,v2},它们的坐标可以分别是(0,0),(W,0),(0,H),其中,W为该当前解码块的宽度,H为该当前解码块的高度,代入公式(8)即可得到公式(9),其中,vxj为第一候选运动矢量组中第j个候选运动矢量vj在x方向上的分量,vyj为第一候选运动矢量组中第j个候选运动矢量vj在y方向上的分量,j=0,1,2。则对应地,即可以得到仿射运动模型
Figure BDA0001461179870000182
中的各个参数,如公式(6)所示,将该当前解码块的运动矢量组代入公式(6)中,即可确定该当前解码块的运动模型初始向量
Figure BDA0001461179870000183
该运动模型初始向量为六维向量,可选地,对于其他运动模型,该初始向量为至少四维向量。根据该运动模型初始向量,可以确定第一分量集合的预测值,该第一分量集合的预测值可以包括该运动模型初始向量中至少一个分量。
在S230中,根据该第一分量集合的预测值和该运动模型传输向量,确定该当前解码块的运动模型优化向量,以便于解码端根据该运动模型优化向量进行解码。具体地,该当前解码块的运动模型传输向量可以表示为(Δa0,Δa1,Δa2,Δa3,Δa4,Δa5),其中,第一分量集合的传输值可以表示为Δa0和Δa1,且
Figure BDA0001461179870000184
Figure BDA0001461179870000185
Figure BDA0001461179870000186
为第一分量集合的预测值a0和a1经过量化后得到的数值,而当前解码块的其它参数传输值可以表示为(Δa2,Δa3,Δa4,Δa5)=(a2',a3',a4',a5'),则可以确定出ai',ai'为当前解码块的运动模型优化向量。
在本发明实施例中,可以对第一分量集合的预测值a0和a1进行量化,确定量化后的第一分量集合的预测值
Figure BDA0001461179870000191
Figure BDA0001461179870000192
具体地,以仿射运动为例,根据公式(6)确定了运动模型初始向量,在该运动模型初始向量中,a0和a1为平动参数,与运动矢量组中的第一运动矢量v0有关,可以将a0和a1确定为第一分量集合。可选地,这两个参数的量化精度可以为1/16或1/4,以1/16为例,即先将v0放大四倍,使得v0的精度从1/4放大到1/16,再用1/16的精度的v0计算得到精度同样为1/16的量化后的a0和a1
Figure BDA0001461179870000193
Figure BDA0001461179870000194
即得到
Figure BDA0001461179870000195
Figure BDA0001461179870000196
为量化后的第一分量集合的预测值。
可选地,作为一个实施例,可以根据公式(6)确定了运动模型初始向量的第一分量集合预测值ai,该第一分量集合为该运动模型初始向量的所以分量,即该第一分量集合包括6个参数,而确定该当前解码块的运动模型传输值,也就是该第一分量集合的传输值为(Δa0,Δa1,Δa2,Δa3,Δa4,Δa5),则Δai=ai'-ai,确定ai'即为当前解码块的运动模型优化向量。
在本发明实施例中,图4是根据本发明实施例的用于视频图像解码的方法的另一示意性流程图。图4所示的方法可以由解码设备执行,例如解码器。具体地,如图4所示,方法200还包括:
S240,确定该当前解码块的运动模型量化精度;
S250,根据该运动模型量化精度,对该运动模型优化向量进行量化;
S260,根据量化后的运动模型优化向量,对该当前解码块进行解码。
具体地,可以根据当前解码块,确定运动模型量化精度,根据运动模型量化精度对该运动模型优化向量进行量化,根据量化后的运动模型优化向量对当前解码块进行解析解码重建。
在S240中,确定该当前解码块的运动模型量化精度。具体地,可以根据的当前解码块尺寸和精度信息确定量化精度,其中,该当前解码块的尺寸包括该当前解码块的宽度和该当前解码块的高度,该精度信息包括该运动矢量组的量化精度。具体地,根据公式(6)可知,该运动模型的参数与当前解码块的宽度和高度相关,因此可以通过公式(10)确定量化精度,其中,1/P为当前解码块的运动矢量组的量化精度,可选地,该运动矢量组的量化精度一般为1/4,则P=4,W为该当前解码块的宽度,H为该当前解码块的高度。例如,当前解码块的宽度是16,高度是32,则它们的量化精度是1/(32×4)=1/128;如果当前解码的宽度是16,高度是8,则量化精度是1/(16×4)=1/64。
在S250中,根据确定的量化精度,对确定的运动模型优化向量进行量化,得到量化后的运动模型优化向量
Figure BDA0001461179870000197
在S260中,根据量化后的运动模型优化向量,对该当前解码块进行解码。具体地,对于运动模型优化向量
Figure BDA0001461179870000198
代入公式(7)中即可获得当前解码块中每个像素点精度为Q的参考偏移位置(x',y'),在该参考偏移位置计算得到当前解码块的各个像素样本的预测像素样本,再根据接收的码流中确定的当前解码块的预测残差,对预测像素样本进行解码重建。可选地,该像素样本可以为一个像素点,或多个像素点构成的小像素块,本发明并不限于此。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
因此,本发明实施例的用于视频图像解码的方法,根据接收到的码流,确定当前解码块的运动矢量组和运动模型传输向量,并根据该运动矢量组确定该当前解码块的运动模型初始向量,根据该运动模型初始向量和运动模型传输向量确定该运动模型优化向量,并将该运动模型优化向量进行解码重建,从而能够减少编解码传输的数据量和占用的比特数。另外,由于确定该运动模型优化向量并对该优化向量进行量化时,确定的量化精度是根据当前解码块的尺寸和当前解码块运动矢量的量化精度进行确定的,也能够减少传输参数时所需的比特数。
为了更好的证明本发明实施例相对比现有技术的有益效果,将本发明的实施例实现在最新视频编码标准HEVC的编码器上,以HM12.0为基准,通过实验比较了各种方法,发现以本发明实施例的方法得到的效果明显好于case1的HM12.0的方法。
如表1所示:
表1
Figure BDA0001461179870000201
其中,Case1:没有对
Figure BDA0001461179870000202
参数进行预测,a0,a1采用1/16精度量化,a2,a3,a4,a5采用1/512精度量化和基准比较的结果;
Case2:只对a0,a1参数进行预测,a0,a1采用1/16精度量化,a2,a3,a4,a5采用1/512精度量化和基准比较的结果;
Case3:对a0,a1,a2,a3,a4,a5参数进行预测,a0,a1采用1/16精度量化,a2,a3,a4,a5采用1/512精度量化和基准比较的结果;
Case4:只对a0,a1参数进行预测,a0,a1采用1/16精度量化,a2,a3,a4,a5采用公式(10)计算的量化精度和基准比较的结果;
Case5:只对a0,a1参数进行预测,a0,a1采用1/4精度量化,a2,a3,a4,a5采用公式(10)计算的量化精度和基准比较的结果。
因此,本发明实施例的用于视频图像编解码的方法,编码端确定当前编码块的运动矢量组,并根据该运动矢量组确定该当前编码块的运动模型初始向量,根据该运动模型初始向量确定该运动模型待传输值,并将该运动模型待传输值进行编码传输,解码端根据接收到的码流,确定该运动模型待传输值,并根据该运动模型传输值进行解码重建,从而能够减少编解码传输的数据量和占用的比特数。
上文中结合图1至图4,详细描述了根据本发明实施例的用于视频图像编解码和解码的方法,下面将结合图5和图6,描述根据本发明实施例的编码设备和解码设备。
图5示出了根据本发明实施例的编码设备300的示意性流程图,该编码设备既可以为用户设备,例如UE等;也可以为网络设备,例如RNC、eNB等。如图5所示,该编码设备300包括:
第一确定模块310,用于确定当前编码块的运动矢量组,该运动矢量组包括该当前编码块的至少一个运动矢量;
第二确定模块320,用于根据该运动矢量组中的至少一个运动矢量,确定该当前编码块的运动模型初始向量的第一分量集合的预测值,该运动模型初始向量包括至少四个分量;
第三确定模块330,用于根据该第一分量集合的预测值,确定该第一分量集合的待传输值;
编码模块340,用于对该第一分量集合的待传输值进行编码,并向解码端发送该编码后的该第一分量集合的待传输值。
具体地,第一确定模块310确定当前编码块的运动矢量组,该运动矢量组包括当前编码块中至少一个像素点对应的运动矢量;第二确定模块320根据该运动矢量组中的至少一个运动矢量,确定该当前编码块的运动模型初始向量中第一分量集合的预测值,该运动模型初始向量包括至少四个分量,第一分量集合包括该运动模型初始向量中的至少一个分量;再根据该当前编码块,确定该运动模型量化精度和运动模型优化向量,根据该量化精度对该运动模型优化向量进行量化;第三确定模块330可以根据该运动模型初始向量中第一分量集合的预测值和量化后的该运动模型优化向量,确定该第一分量集合的待传输值,将该第一分量集合的待传输值进行编码,并发送至解码端,以便于解码端进行解码操作;还可以根据量化后的该运动模型优化向量,确定该当前编码块的预测样本,根据该预测样本对当前编码块进行编码并传输。
因此,本发明实施例的编码设备,通过确定当前编码块的运动矢量组,并根据该运动矢量组确定该当前编码块的运动模型初始向量,根据该运动模型初始向量确定该运动模型待传输值,并将该运动模型待传输值进行编码传输,以便于解码端根据该运动模型待传输值进行解码,从而能够减少编解码传输的数据量和占用的比特数。
在本发明实施例中,对于各个编码标准,针对视频图像的编码过程,对于帧间预测,在运动补偿的计算过程中,采用多种运动模型,例如可以为仿射运动,或一般运动模型,或透视模型,这里以仿射运动模型为例进行说明,但本发明并不限于此。
在本发明实施例中,第一确定模块310确定当前编码块的运动矢量组,该运动矢量组包括该当前编码块的至少一个像素点对应的运动矢量。对于不同的运动模型,描述该运动模型所需参数的数量不同,对于具有2n个参数的运动模型,确定当前编码块的运动矢量组一般可以包括n个运动矢量。例如,对于仿射运动,将当前编码块中各个像素点通过仿射运动模型表示时,一般需要可以表示为
Figure BDA0001461179870000221
即该仿射运动模型具有6个参数,则该运动矢量组包括至少3个运动矢量。对于一般的运动模型,一般涉及12个参数,则该运动矢量组至少包括6个运动矢量。可选地,确定该运动矢量组中至少一个运动矢量,可以确定该运动矢量组中一个运动矢量,或确定n个运动矢量,或该运动矢量组中的全部运动矢量。例如,对于仿射运动,确定当前编码块的运动矢量组,该运动矢量组可以包括至少3个运动矢量,可以确定该运算矢量组中的一个运动矢量,或3个运动矢量,或全部运动矢量,本发明并不限于此。
可选地,作为一个实施例,以仿射运动为例,第一确定模块310确定当前编码块的运动矢量组,该运动矢量组包括3个运动矢量,可以确定该运算矢量组中的至少一个运动矢量。对于HEVC(High Efficiency Video Coding)标准,可以通过AMVP(Advanced MotionVector Prediction)技术确定当前编码块的运动矢量组中的第一运动矢量。具体地,在该当前编码块的周围已编码块中,先确定该当前编码块的多个候选块,可以根据坐标位置确定该多个候选块,该多个候选块与当前编码块相邻,例如,如图2所示,对于当前编码块,一般可以将A-G确定为该当前编码块的多个候选块。然后,确定每个候选块的运动矢量对应的预测块与当前编码块的匹配误差值,具体地,可以根据候选块的运动矢量与当前编码块,在参考帧中确定该候选块的运动矢量对应的预测块,再计算该预测块与当前编码块的匹配误差值,将匹配误差值最小时对应的候选块确定为该当前编码块的目标候选块。然后,分别确定当前编码块和该目标候选块的参考帧的播放序号(POC),根据该当前编码块的参考帧的播放序号(POC)和该目标候选块的参考帧的播放序号(POC)的比值,对该目标候选块的运动矢量进行缩放,并将缩放后的该目标候选块的运动矢量确定为该当前编码块的运动矢量组中的第一运动矢量,该第一运动矢量与该目标候选块的运动矢量的比值,与该当前编码块的参考帧的播放序号和该目标候选块的参考帧的播放序号的比值相同。
在本发明实施例中,可以将确定的该目标候选块的运动矢量作为后续运动估计的搜索起始点。对于编码设备,可以将该目标候选块的对应的索引值进行编码并发送至解码端,以便于解码端解码并确定该目标候选块及该目标候选块的运动矢量。
在本发明实施例中,第一确定模块310可以通过下面的方法确定每个候选块的运动矢量对应的预测块与当前编码块的匹配误差值。具体地,对于当前编码块中的每个像素点,可以通过公式(1)-(4)确定每个像素点的匹配误差值,其中,s(xi,yj)为该像素点的原始像素值,s'(xi,yj)为该像素点在候选块的运动矢量所指向的帧中的预测像素值,xi和yi为该像素点的坐标值,Gxi是该像素点所在位置的水平梯度,Gyi是该像素点所在位置的垂直梯度,这些梯度可以用索贝尔(Sobel)算子计算得到。
在本发明实施例中,第一确定模块310根据公式(1)-(4)可以确定该当前编码块中每个像素点相对于候选块的运动矢量对应的预测块的匹配误差值,将该当前编码块中所有像素点的匹配误差值的绝对值求和,即可得到候选块对应的预测块与该当前编码块的匹配误差值,但本发明并不限于此。根据上面的方法依次确定当前编码块与每个候选块对应的预测块的匹配误差值,从而将匹配误差值最小时对应的候选块最为当前编码块的目标候选块。
可选地,作为一个实施例,以仿射运动为例,第一确定模块310确定当前编码块的运动矢量组,该运动矢量组包括3个运动矢量,通过上述方法确定了该运动矢量组中的一个运动矢量第一运动矢量后,根据图2所示,该第一运动矢量可以对应为该当前编码块的一个顶点的运动矢量,可选地,可以选择与该当前编码块的顶点相邻的两个顶点的运动矢量,作为该运动矢量组中其它运动矢量。该运动矢量组可以表示为{v0,v1,v2},它们的坐标分别是(0,0),(W,0),(0,H),其中,W为该当前编码块的宽度,H为该当前编码块的高度。
可选地,作为一个实施例,以仿射运动为例,第一确定模块310确定当前编码块的运动矢量组,该运动矢量组包括3个运动矢量,可以确定该运动矢量组中的每个运动矢量。具体地,可以先将当前编码块周围多个已编码块确定为多个候选块,该多个候选块对应该当前编码块的同一个像素点,可选地,该像素点可以为当前编码块的顶点,例如,如图2所示,可以确定A、B和C为当前编码块的多个候选块。根据公式(1)-(4),分别确定当前编码块中每个像素点相对于每个候选块的运动矢量对应的预测块的匹配误差值,进而将所有像素点的匹配误差值的绝对值求和,确定当前编码块对于每个候选块的匹配误差值,选择匹配误差值最小时对应的候选块为该当前编码块的目标候选块,并将该目标候选块的运动矢量确定为该当前编码块的运动矢量组中的第一运动矢量,将该目标候选块的参考帧确定为当前编码块的参考帧。将该目标候选块的运动矢量为当前编码块的第一运动矢量,可以将该第一运动矢量作为后续运动估计的搜索起始点。对于编码设备,可以将该目标候选块的对应的索引值进行编码并发送至解码端,以便于解码端解码并确定该目标候选块及该目标候选块的运动矢量。
在本发明实施例中,第一确定模块310确定该当前编码块的运动矢量组中的第一运动矢量后,根据该第一运动矢量,确定该当前编码块运动矢量组中的第二运动矢量,该第二运动矢量是指该运动矢量组中除了第一运动矢量的其它运动矢量。具体地,先在该当前编码块周围的已编码块中确定该当前编码块的多个候选块,该多个编码块对应该当前编码块的同一个像素点,可选地,该像素点可以为当前编码块的顶点,该像素点与确定第一运动矢量时的多个候选块对应的像素点不同,例如图2所示,该候选块可以包括D和E,该多个候选块不包括确定第一运动矢量时的候选块。然后,确定每个候选块的参考帧,若候选块的参考帧与第一运动矢量对应的目标候选块的参考帧,即当前编码块的参考帧,不是同一帧时,根据该目标候选块的参考帧的播放顺序POC号和候选块的参考帧的播放顺序POC号的比值,将候选块的运动矢量进行缩放,使得当前块与候选块的参考帧的播放顺序号之间的比例,与当前块与候选块的运动矢量之间的比例相同。分别比较每个候选块缩放后的运动矢量与第一运动矢量,当缩放后的候选块的运动矢量与第一运动矢量不相同,且差值最小时,将该候选块确定为当前编码块的第二目标候选块,将该目标候选块对应的缩放后的运动矢量确定为当前编码块的运动矢量组中的第二运动矢量。
在本发明实施例中,第一确定模块310根据上述方法,可以确定多个第二运动矢量,例如,当该当前编码块的运动矢量组中包括3个运动矢量时,确定该运动矢量组中的一个第一运动矢量后,可以通过上述方法确定两个第二运动矢量,但本发明并不限于此。
可选地,作为一个实施例,以仿射运动为例,第一确定模块310确定当前编码块的运动矢量组,该运动矢量组包括3个运动矢量,还可以通过下面的方法确定该运动矢量组中的每个运动矢量。具体地,确定该当前编码块的多个候选块,该多个候选块均为与当前编码块相邻的已编码块,例如图2所示,A-F为当前编码块的多个候选块。再根据该多个候选块确定当前编码块的多个候选运动矢量组,每个候选运动矢量组包括3个运动矢量,三个运动矢量对应当前编码块的三个像素点,可选地,可以在多个候选块中选择几个候选块的运动矢量作为候选运动矢量组,例如图2所示,对于多个A-F候选块,可以在对应同一个像素点的候选块A、B和C中任选一个块的运动矢量,在对应另一个像素点的D和E中任选一个块的运动矢量,在对应另一个像素点的F和G中任选一个块的运动矢量,将该三个运动矢量构成一个候选运动矢量组,由于有不同选择,这些候选块可以构成12个候选运动矢量组。确定第一候选运动矢量组中每个运动矢量的参考帧,该第一候选运动矢量组为多个候选运动矢量组中的任意一个候选运动矢量组,将该第一候选运动矢量组中每个运动矢量对应的候选块的参考帧的索引号和播放序号进行等比例缩放,使得该第一候选运动矢量组中的三个运动矢量对应同一个参考帧索引号和播放序号。
在本发明实施例中,第一确定模块310可以根据公式(5)和(6)确定当前编码块中每个像素点在该第一候选运动矢量组的参考帧中的预测位置,其中,W为该当前编码块的宽度,H为该当前编码块的高度,vxj为第一候选运动矢量组中第j个候选运动矢量vj在x方向上的分量,vyj为第一候选运动矢量组中第j个候选运动矢量vj在y方向上的分量,j=0,1,2,x和y为该当前编码块中每个像素点的坐标值,x'和y'为该像素点在第一候选运动矢量组的参考帧中对应的预测点的坐标值。
根据该当前编码块中每个像素点的坐标值和该参考帧中对应的预测点的坐标值,再根据公式(1)确定对于该第一候选运动矢量组,该当前编码块中每个像素点与该第一候选运动矢量组的参考帧中对应的预测点的匹配误差值;其中,
Figure BDA0001461179870000241
将每个像素点对于第一候选运动矢量组的匹配误差值求绝对值,确定该当前编码块中所有像素点的匹配误差值的和为当前编码块对于第一候选运动矢量组的匹配误差值。同样地,确定当前编码块对于每个候选运动矢量组的匹配误差值,并将多个候选运动矢量组对应的多个匹配误差值中最小值对应的该候选运动矢量组,确定为该当前编码块的运动矢量组。将该运动矢量组的索引值进行编码并发送至解码端,以便于解码端根据索引值确定该运动矢量组。
在本发明实施例中,对于第一确定模块310确定的运动矢量组,可以将该运动矢量组中的任意一个运动矢量作为后续运动估计的搜索起始点,可选地,如图2所示,也可以将该当前编码块的左上角顶点的预测位置作为后续运动估计的搜索起始点,本发明并不限于此。
在本发明实施例中,第二确定模块320根据该运动矢量组中的至少一个运动矢量,确定该当前编码块的运动模型初始向量的第一分量集合的预测值,该运动模型初始向量包括至少四个分量,该第一分量集合包括该运动模型初始向量中的至少一个分量。具体地,以仿射运动模型为例,仿射模型可以用六个参数表示,该六个参数可以表示为
Figure BDA0001461179870000242
则可以根据公式(7)确定当前编码块中的每个像素点在参考帧中的位置,其中,x和y为该当前编码块中任意像素点的坐标值,x'和y'为该像素点在参考帧中对应的预测点的坐标值;vx和vx为当前编码块中任意像素点的运动矢量。则可以得到公式(8),根据第一确定模块310确定的运动矢量组,该运动矢量组可以表示为{v0,v1,v2},由于该运动矢量组对应的目标候选块为如图2所示的A-G中的块,则它们的坐标可以分别是(0,0),(W,0),(0,H),其中,W为该当前编码块的宽度,H为该当前编码块的高度,代入公式(8)即可得到公式(9),其中,vxj为第一候选运动矢量组中第j个候选运动矢量vj在x方向上的分量,vyj为第一候选运动矢量组中第j个候选运动矢量vj在y方向上的分量,j=0,1,2。则对应地,即可以得到仿射运动模型
Figure BDA0001461179870000251
中的各个参数,如公式(6)所示,将该当前编码块的运动矢量组{v0,v1,v2}代入公式(6)中,即可确定该当前编码块的运动模型初始向量
Figure BDA0001461179870000252
该运动模型初始向量为六维向量,可选地,对于其他运动模型,该初始向量为至少四维向量。根据该运动模型初始向量,可以确定第一分量集合的预测值,该第一分量集合的预测值可以为该运动模型初始向量中至少一个分量。
在本发明实施例中,第三确定模块330根据该第一分量集合的预测值,确定该第一分量集合的待传输值。具体地,第三确定模块330可以根据当前编码块,确定运动模型量化精度和该运动模型优化向量,根据运动模型量化精度对该运动模型优化向量进行量化,根据该运动模型第一分量集合的预测值和量化后的运动模型优化向量,确定该第一分量集合的待传输值。
在本发明实施例中,第三确定模块330可以先确定该运动模型优化向量。可选地,可以根据现有技术确定运动模型优化向量。具体地,可以根据公式(1)-(4)确定当前编码块的匹配误差值,在该当前编码块的参考帧的一定范围内进行梯度迭代搜索当前编码块的预测块,将匹配误差值最小时的预测块确定为该当前编码块的预测块,并根据公式(4)确定此时对应的运动模型的参数
Figure BDA0001461179870000253
为该当前编码块优化向量。
可选地,第三确定模块330还可以根据公式(6)确定当前编码块的运动模型初始向量,将该运动模型初始向量确定为运动模型优化向量。
可选地,还可以根据公式(6)确定当前编码块的运动模型初始向量,并根据公式(7)计算此时的当前编码块中各个像素点在参考帧中得到对应位置,并利用公式(1)和(6)计算此时的该当前编码块的匹配误差值。将该匹配误差值与上述利用现有技术和公式(1)-(4)确定的运动模型参数对应的匹配误差值相比,选择最小的匹配误差值对应的运动模型的参数
Figure BDA0001461179870000254
为该当前编码块优化向量,本发明并不限于此。
在本发明实施例中,第三确定模块330还要确定运动模型量化精度,以便于对运动模型优化向量进行量化。具体地,该运动模型优化向量中包括两个平动参数,即a0'和a1',这两个平动参数的量化精度可以为1/16或1/4,本发明并不限于此。该运动模型优化向量中的其它参数(a2',a3',a4',a5')的量化精度可以为1/512,也可以根据当前编码块的尺寸和精度信息确定量化精度,其中,当前编码块的尺寸可以包括该当前编码块的宽度和高度,精度信息可以包括该当前编码块的运动矢量组的量化精度。具体地,根据公式(6)可知,该运动模型的后四个参数与当前编码块的宽度和高度相关,因此可以通过公式(10)确定量化精度,其中,P可以根据该当前编码块的精度信息来确定,具体地,1/P为当前编码块的运动矢量组的量化精度,可选地,该运动矢量组的量化精度一般为1/4,则P=4,W为该当前编码块的宽度,H为该当前编码块的高度。例如,当前编码块的宽度是16,高度是32,则它们的量化精度是1/(32×4)=1/128;如果编码块的宽度是16,高度是8,则量化精度是1/(16×4)=1/64。
在本发明实施例中,第三确定模块330根据确定的量化精度,对运动模型优化向量
Figure BDA0001461179870000255
进行量化,得到量化后的运动模型优化向量
Figure BDA0001461179870000256
在本发明实施例中,第三确定模块330根据该第一分量集合的预测值和量化后的该运动模型优化向量,确定该第一分量集合的待传输值。具体地,可以通过下面的方法确定。这里以仿射运动为例,根据公式(6)确定了运动模型初始向量,在该运动模型初始向量中,a0和a1为平动参数,与运动矢量组中的第一运动矢量v0有关,可以将a0和a1确定为第一分量集合,根据公式(6)确定的a0和a1的值为第一分量集合的预测值,可选地,这两个参数的量化精度可以为1/16或1/4,以1/16为例,即先将v0放大四倍,使得v0的精度从1/4放大到1/16,再用1/16的精度的v0计算得到精度同样为1/16的量化后的a0和a1
Figure BDA0001461179870000261
Figure BDA0001461179870000262
即得到
Figure BDA0001461179870000263
Figure BDA0001461179870000264
为量化后的第一分量集合的预测值。
在本发明实施例中,第三确定模块330根据量化后的第一分量集合的预测值
Figure BDA0001461179870000265
Figure BDA0001461179870000266
和确定的运动模型优化向量,确定当前编码块的第一分量集合的待传输值,该当前编码块的运动模型传输值可以为(Δa0,Δa1,Δa2,Δa3,Δa4,Δa5),其中,第一分量集合可以包括两个分量,该第一分量集合的传输值可以为Δa0和Δa1
Figure BDA0001461179870000267
则其它传输值为
Figure BDA0001461179870000268
Figure BDA0001461179870000269
为量化后的该运动模型优化向量,
Figure BDA00014611798700002610
Figure BDA00014611798700002611
为量化后的第一分量集合的预测值a0和a1。此时,由于编码传输的参数中有两个参数为量化后的第一分量集合和运动模型优化向量的差值,该差值比直接编码传输量化后的运动模型优化向量占用的比特数少,减少了传输的数据量。
可选地,作为一个实施例,第三确定模块330根据该第一分量集合的预测值和量化后的该运动模型优化向量,确定该第一分量集合的待传输值。具体地,还可以通过下面的方法确定。根据公式(6)确定了运动模型初始向量的六个分量ai,i=0,1,2,3,4,5,再确定该第一分量集合包括6个参数,即ai,i=0,1,2,3,4,5,则可以确定该当前编码块的运动模型传输值,也就是该第一分量集合的传输值为(Δa0,Δa1,Δa2,Δa3,Δa4,Δa5),其中,
Figure BDA00014611798700002612
Figure BDA00014611798700002613
为量化后的该运动模型优化向量,ai为第一分量集合的预测值。
在本发明实施例中,编码模块340可以将第三确定模块330确定的该第一分量集合的待传输值进行编码,并向解码端发送该编码后的该第一分量集合的待传输值。具体地,编码模块340可以将当前编码块的运动模型待传输向量进行编码,并发送至解码端。此外,编码模块340还可以根据第三确定模块330确定的运动模型量化精度对运动模型优化向量进行量化,从而确定当前编码块各个像素样本的预测像素样本,进而确定当前编码块的预测残差,将该预测残差进行编码并发送至解码端。具体地,对于运动模型优化向量
Figure BDA00014611798700002614
将其中的各个参数ai'根据公式(10)确定的运动模型量化精度进行量化,得到量化后的运动模型优化向量
Figure BDA00014611798700002615
代入公式(7)中即可获得当前编码块中每个像素点精度为Q的参考偏移位置(x',y'),在该参考偏移位置计算得到当前编码块的各个像素样本的预测像素样本,进而确定当前编码块的预测残差,将该预测残差进行编码并发送至解码端。可选地,该像素样本可以为一个像素点,或多个像素点构成的小像素块,本发明并不限于此。
应理解,根据本发明实施例的编码设备300可对应于执行本发明实施例中的用于视频图像编码的方法方法100,并且编码设备300中的各个模块的上述和其它操作和/或功能分别为了实现图1至图2中的各个方法的相应流程,为了简洁,在此不再赘述。
因此,本发明实施例的编码设备,通过确定当前编码块的运动矢量组,并根据该运动矢量组确定该当前编码块的运动模型初始向量,根据该运动模型初始向量确定该运动模型待传输值,并将该运动模型待传输值进行编码传输,以便于解码端根据该运动模型待传输值进行解码,从而能够减少编解码传输的数据量和占用的比特数。另外,由于确定该运动模型优化向量并对该优化向量进行量化时,确定的量化精度是根据当前编码块的尺寸和当前编码块运动矢量的量化精度进行确定的,也能够减少编码参数所需的比特数。
图6示出了根据本发明实施例的解码设备400的示意性框图。该解码设备既可以为用户设备,例如UE等;也可以为网络设备,例如RNC、eNB等。如图6所示,该解码设备400包括:
第一确定模块410,用于根据码流,确定当前解码块的运动矢量组和运动模型传输向量,该运动矢量组包括该当前解码块的至少一个运动矢量,该运动模型传输向量包括至少四个分量;
第二确定模块420,用于根据该运动矢量组中的至少一个运动矢量,确定该当前解码块的运动模型初始向量的第一分量集合的预测值,该运动模型初始向量包括至少四个分量;
第三确定模块430,用于根据该第一分量集合的预测值和该运动模型传输向量,确定该当前解码块的运动模型优化向量,以便于根据该运动模型优化向量对该当前解码块进行解码。
具体地,第一确定模块410解码端接收到编码端发送的码流,根据码流解码,确定当前解码块的运动矢量组和运动模型传输向量,该运动矢量组包括当前解码块的至少一个像素点对应的运动矢量;第二确定模块420根据该运动矢量组中的至少一个运动矢量,确定该当前解码块的运动模型初始向量的第一分量集合的预测值,该运动模型初始向量包括至少四个分量,该第一分量集合包括该运动模型初始向量中的至少一个分量;第三确定模块430根据该第一分量集合的预测值和该运动模型传输向量,确定该当前解码块的运动模型优化向量。再根据量化后的该运动模型优化向量,确定该当前解码块的预测样本,根据该预测样本对当前解码块进行解码重建。
因此,本发明实施例的解码设备,根据接收到的码流,确定当前解码块的运动矢量组和运动模型传输向量,并根据该运动矢量组确定该当前解码块的运动模型初始向量,根据该运动模型初始向量和运动模型传输向量确定该运动模型优化向量,并将该运动模型优化向量进行解码重建,从而能够减少编解码传输的数据量和占用的比特数。
在本发明实施例中,解码设备根据码流解码,第一确定模块410确定当前解码块的运动矢量组和运动模型传输向量,该运动矢量组包括当前解码块的至少一个运动矢量,每个运动矢量分别与当前解码块中的一个像素点对应。可选地,对于不同的运动模型,描述该运动模型所需参数的数量不同,对于具有2n个参数的运动模型,解码端确定的运动模型传输向量为2n维向量,确定当前解码块的运动矢量组一般可以包括n个运动矢量。例如,对于仿射运动,将当前解码块中各个像素点通过仿射运动模型表示时,一般需要可以表示为
Figure BDA0001461179870000271
即该仿射运动模型具有6个参数,则该运动矢量组可以包括3个运动矢量。对于一般的运动模型,一般涉及12个参数,则该运动矢量组可以包括6个运动矢量。可选地,确定该运动矢量组,可以确定该运动矢量组中至少一个运动矢量,可以确定该运动矢量组中一个运动矢量,或确定n个运动矢量,或该运动矢量组中的全部运动矢量。例如,对于仿射运动,确定当前解码块的运动矢量组,该运动矢量组可以包括至少3个运动矢量,可以确定该运算矢量组中的一个运动矢量,或3个运动矢量,或全部运动矢量,根据编码端确定的运动矢量的个数,解码端也相应的确定相应的运动矢量,本发明并不限于此。
在本发明实施例中,解码设备的第一确定模块410可以根据接收到的码流确定该当前解码块的运动模型传输向量以及运动矢量组。具体地,解码端可以先根据接收到的码流确定该当前解码块的运动模型传输向量,该运动模型传输向量的全部分量可以为运动模型初始向量和运动模型优化向量的差值,或该运动模型传输向量的部分分量为运动模型初始向量和运动模型优化向量的差值,部分分量为运动模型优化向量,本发明并不限于此。
可选地,作为一个实施例,以仿射运动为例,当第一确定模块410确定当前解码块的运动矢量组,该运动矢量组包括3个运动矢量,可以根据码流先确定该运算矢量组中的至少一个运动矢量。具体地,当解码设备第一确定模块410确定该运动模型传输向量的部分分量为运动模型初始向量和运动模型优化向量的差值,部分分量为运动模型优化向量时,解码端可以根据码流确定该运算矢量组中的至少一个运动矢量。解码端解码视频码流,确定当前解码块的目标候选块,并确定该目标候选块的运动矢量和该目标候选块的参考帧。分别获取该目标候选块的参考帧和当前解码块的参考帧的播放顺序号POC,再根据当前解码块的参考帧的播放顺序号POC和该目标候选块的参考帧的播放顺序号POC的比值,对该目标候选块的运动矢量进行缩放,使得目标候选块和当前解码块的参考帧的播放顺序号POC的比值,与缩放前和缩放后运动矢量的比值相同,并将缩放后的运动矢量确定为该当前解码块的运动矢量组中的第一运动矢量,则该第一运动矢量与该目标候选块的运动矢量的比值,与该当前解码块的参考帧的播放序号和该目标候选块的参考帧的播放序号的比值相同。
可选地,作为一个实施例,以仿射运动为例,第一确定模块410确定当前解码块的运动矢量组,该运动矢量组包括3个运动矢量,可以根据码流确定该运动矢量组中的每个运动矢量。具体地,当解码端第一确定模块410确定该运动模型传输向量的全部分量可以为运动模型初始向量和运动模型优化向量的差值时,可以根据码流确定该运动矢量组中的每个运动矢量。可以先根据码流中的索引值,确定当前解码块的目标候选块,将该目标候选块的参考帧确定为当前解码块的参考帧,将该目标候选块的运动矢量作为该当前解码块的运动矢量组中的第一运动矢量。
在本发明实施例中,第一确定模块410确定该当前解码块的运动矢量组中的第一运动矢量后,根据该第一运动矢量,确定该当前解码块运动矢量组中的第二运动矢量,该第二运动矢量是指该运动矢量组中除了第一运动矢量的其它运动矢量。具体地,先在该当前解码块周围的相邻的已解码块中确定该当前解码块的多个候选块,该多个候选块对应同一个像素点,可选地,该像素点可以为当前解码块的顶点,例如图2所示,对于当前解码块,该候选块可以包括D和E,该多个候选块不包括确定的第一运动矢量的目标候选块。然后,确定每个候选块的参考帧,若候选块的参考帧与第一运动矢量对应的目标候选块的参考帧,即当前解码块的参考帧,不是同一帧时,根据该目标候选块的参考帧的播放顺序POC号和候选块的参考帧的播放顺序POC号的比值,将候选块的运动矢量进行缩放,使得当前块与候选块的参考帧的播放顺序号之间的比例与运动矢量之间的比例相同。分别比较每个候选块缩放后的运动矢量与第一运动矢量,当候选块的运动矢量与第一运动矢量不相同,且差值最小时,该候选块确定为当前解码块的目标候选块,将该目标候选块对应的缩放后的运动矢量确定为当前解码块的运动矢量组中的第二运动矢量。
在本发明实施例中,根据上述方法,第一确定模块410可以确定多个第二运动矢量,例如,当该当前解码块的运动矢量组中包括3个运动矢量时,确定该运动矢量组中的第一运动矢量后,可以通过上述方法确定两个第二运动矢量,进而确定了运动矢量组中的每个运动矢量,但本发明并不限于此。
可选地,作为一个实施例,以仿射运动为例,第一确定模块410确定当前解码块的运动矢量组,该运动矢量组包括3个运动矢量,还可以通过码流解码确定该运动矢量组中的每个运动矢量。具体地,当解码端确定该运动模型传输向量的全部分量可以为运动模型初始向量和运动模型优化向量的差值时,可以根据码流确定该运动矢量组中的每个运动矢量,根据码流直接获得该当前解码块的运动矢量组中每个运动矢量值,且该运动矢量组中的每个运动矢量对应的当前解码块的目标候选块具有同一个参考帧,该参考帧为该当前解码块的参考帧。
在本发明实施例中,第二确定模块420根据该运动矢量组中的至少一个运动矢量,确定该当前解码块的运动模型初始向量的第一分量集合的预测值,该运动模型初始向量包括至少四个分量,该第一分量集合包括该运动模型初始向量中的至少一个分量。具体地,以仿射运动模型为例,仿射模型可以用六个参数表示,该六个参数可以表示为
Figure BDA0001461179870000291
则可以根据公式(7)确定当前解码块中的每个像素点在参考帧中的位置,其中,x和y为该当前解码块中任意像素点的坐标值,x'和y'为该像素点在参考帧中对应的预测点的坐标值;vx和vx为当前解码块中任意像素点的运动矢量,则可以得到公式(8)。根据S210中确定的运动矢量组,该运动矢量组可以表示为{v0,v1,v2},它们的坐标可以分别是(0,0),(W,0),(0,H),其中,W为该当前解码块的宽度,H为该当前解码块的高度,代入公式(8)即可得到公式(9),其中,vxj为第一候选运动矢量组中第j个候选运动矢量vj在x方向上的分量,vyj为第一候选运动矢量组中第j个候选运动矢量vj在y方向上的分量,j=0,1,2。则对应地,即可以得到仿射运动模型
Figure BDA0001461179870000292
中的各个参数,如公式(6)所示,将该当前解码块的运动矢量组代入公式(6)中,即可确定该当前解码块的运动模型初始向量
Figure BDA0001461179870000293
该运动模型初始向量为六维向量,可选地,对于其他运动模型,该初始向量为至少四维向量。根据该运动模型初始向量,可以确定第一分量集合的预测值,该第一分量集合的预测值可以为该运动模型初始向量中至少一个分量。
在本发明实施例中,第三确定模块430根据该第一分量集合的预测值和该运动模型传输向量,确定该当前解码块的运动模型优化向量,以便于解码端根据该运动模型优化向量进行解码。具体地,该当前解码块的运动模型传输值可以表示为(Δa0,Δa1,Δa2,Δa3,Δa4,Δa5),其中,第一分量集合的传输值可以表示为Δa0和Δa1
Figure BDA0001461179870000294
Figure BDA0001461179870000295
Figure BDA0001461179870000296
为量化后的第一分量集合的预测值,而当前解码块的其它参数传输值可以表示为(Δa2,Δa3,Δa4,Δa5)=(a2',a3',a4',a5'),则可以确定出ai',ai'为当前解码块的运动模型优化向量。
在本发明实施例中,第三确定模块430可以对第一分量集合的预测值a0和a1进行量化,确定量化后的第一分量集合的预测值
Figure BDA0001461179870000297
Figure BDA0001461179870000298
具体地,以仿射运动为例,根据公式(6)确定了运动模型初始向量,在该运动模型初始向量中,a0和a1为平动参数,与运动矢量组中的第一运动矢量v0有关,可以将a0和a1确定为第一分量集合。可选地,这两个参数的量化精度可以为1/16或1/4,以1/16为例,即先将v0放大四倍,使得v0的精度从1/4放大到1/16,再用1/16的精度的v0计算得到精度同样为1/16的量化后的a0和a1
Figure BDA0001461179870000301
Figure BDA0001461179870000302
即得到
Figure BDA0001461179870000303
Figure BDA0001461179870000304
为量化后的第一分量集合的预测值。
可选地,作为一个实施例,第三确定模块430可以根据公式(6)确定了运动模型初始向量的第一分量集合预测值ai,该第一分量集合为该运动模型初始向量的所以分量,即该第一分量集合包括6个参数,而确定该当前解码块的运动模型传输值,也就是该第一分量集合的传输值为(Δa0,Δa1,Δa2,Δa3,Δa4,Δa5),则Δai=ai'-ai,确定ai'即为当前解码块的运动模型优化向量。
在本发明实施例中,第三确定模块430可以根据当前解码块,确定运动模型量化精度,根据运动模型量化精度对该运动模型优化向量进行量化,根据量化后的运动模型优化向量对当前解码块进行解析解码重建。
具体地,第三确定模块430确定该当前解码块的运动模型量化精度。具体地,可以根据的当前解码块尺寸和精度信息确定量化精度,其中,该当前解码块的尺寸包括该当前解码块的宽度和该当前解码块的高度,该精度信息包括该运动矢量组的量化精度。具体地,根据公式(6)可知,该运动模型的参数与当前解码块的宽度和高度相关,因此可以通过公式(10)确定量化精度,其中,1/P为当前解码块的运动矢量组的量化精度,可选地,该运动矢量组的量化精度一般为1/4,则P=4,W为该当前解码块的宽度,H为该当前解码块的高度。例如,当前解码块的宽度是16,高度是32,则它们的量化精度是1/(32×4)=1/128;如果当前解码的宽度是16,高度是8,则量化精度是1/(16×4)=1/64。
具体地,在本发明实施例中,第三确定模块430根据确定的量化精度,对确定的运动模型优化向量进行量化,得到量化后的运动模型优化向量
Figure BDA0001461179870000305
具体地,在本发明实施例中,第三确定模块430根据量化后的运动模型优化向量,对该当前解码块进行解码。具体地,对于运动模型优化向量
Figure BDA0001461179870000306
代入公式(7)中即可获得当前解码块中每个像素点精度为Q的参考偏移位置(x',y'),在该参考偏移位置计算得到当前解码块的各个像素样本的预测像素样本,再根据接收的码流中确定的当前解码块的预测残差,对预测像素样本进行解码重建。可选地,该像素样本可以为一个像素点,或多个像素点构成的小像素块,本发明并不限于此。
应理解,根据本发明实施例的解码设备400可对应于执行本发明实施例中的用于视频图像解码的方法200,并且解码设备400中的各个模块的上述和其它操作和/或功能分别为了实现图3至图4中的各个方法的相应流程,为了简洁,在此不再赘述。
因此,本发明实施例的解码设备,根据接收到的码流,确定当前解码块的运动矢量组和运动模型传输向量,并根据该运动矢量组确定该当前解码块的运动模型初始向量,根据该运动模型初始向量和运动模型传输向量确定该运动模型优化向量,并将该运动模型优化向量进行解码重建,从而能够减少编解码传输的数据量和占用的比特数。另外,由于确定该运动模型优化向量并对该优化向量进行量化时,确定的量化精度是根据当前解码块的尺寸和当前解码块运动矢量的量化精度进行确定的,也能够减少传输参数时所需的比特数。
如图7所示,本发明实施例还提供了一种编码设备500,包括处理器510、存储器520和总线***530。其中,处理器510和存储器520通过总线***530相连,该存储器520用于存储指令,该处理器510用于执行该存储器520存储的指令。编码设备500的存储器520存储程序代码,且处理器510可以调用存储器520中存储的程序代码执行以下操作:确定当前编码块的运动矢量组,该运动矢量组包括该当前编码块的至少一个运动矢量;根据该运动矢量组中的至少一个运动矢量,确定该当前编码块的运动模型初始向量的第一分量集合的预测值,该运动模型初始向量包括至少四个分量;根据该第一分量集合的预测值,确定该第一分量集合的待传输值;对该第一分量集合的待传输值进行编码,并向解码端发送该编码后的该第一分量集合的待传输值。
因此,本发明实施例的编码设备,通过确定当前编码块的运动矢量组,并根据该运动矢量组确定该当前编码块的运动模型初始向量,根据该运动模型初始向量确定该运动模型待传输值,并将该运动模型待传输值进行编码传输,以便于解码端根据该运动模型待传输值进行解码,从而能够减少编解码传输的数据量和占用的比特数。
应理解,在本发明实施例中,该处理器510可以是中央处理单元(CentralProcessing Unit,简称为“CPU”),该处理器510还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器520可以包括只读存储器和随机存取存储器,并向处理器510提供指令和数据。存储器520的一部分还可以包括非易失性随机存取存储器。例如,存储器520还可以存储设备类型的信息。
该总线***530除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线***530。
在实现过程中,上述方法的各步骤可以通过处理器510中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器520,处理器510读取存储器520中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
可选地,作为一个实施例,处理器510可以调用存储器520中存储的程序代码执行以下操作:确定该当前编码块的运动模型优化向量;根据该第一分量集合的预测值和该运动模型优化向量,确定该第一分量集合的待传输值。
可选地,作为一个实施例,处理器510可以调用存储器520中存储的程序代码执行以下操作:根据该当前编码块的尺寸和精度信息,确定运动模型量化精度;根据该运动模型量化精度,对该运动模型优化向量进行量化;根据该第一分量集合的预测值和量化后的该运动模型优化向量,确定该第一分量集合的待传输值。
可选地,作为一个实施例,处理器510可以调用存储器520中存储的程序代码执行以下操作:该当前编码块的尺寸包括该当前编码块的宽度和该当前编码块的高度,该精度信息包括该运动矢量组的量化精度;根据公式(10)确定该运动模型量化精度Q,其中,P为该运动矢量组的量化精度,W为该当前编码块的宽度,H为该当前编码块的高度。
可选地,作为一个实施例,处理器510可以调用存储器520中存储的程序代码执行以下操作:该第一分量集合包括该运动模型初始向量的六个分量中的至少一个分量,该运动模型初始向量的六个分量ai由公式(6)确定,其中,i=0,1,2,3,4,5,W为该当前编码块的宽度,H为该当前编码块的高度,vxj为该运动矢量vj在x方向上的分量,vyj为该运动矢量vj在y方向上的分量,j=0,1,2。
可选地,作为一个实施例,处理器510可以调用存储器520中存储的程序代码执行以下操作:该第一分量集合包括该运动模型初始向量中的两个分量;确定该第一分量集合的待传输值,该第一分量集合的待传输值包括Δa0和Δa1,其中,
Figure BDA0001461179870000321
Figure BDA0001461179870000322
Figure BDA0001461179870000323
为与该第一分量集合对应的量化后的该运动模型优化向量,
Figure BDA0001461179870000324
Figure BDA0001461179870000325
为该第一分量集合的预测值a0和a1经过量化后得到的数值。
可选地,作为一个实施例,处理器510可以调用存储器520中存储的程序代码执行以下操作:该第一分量集合包括该运动模型初始向量中的六个分量;确定该第一分量集合的待传输值,该第一分量集合的待传输值包括Δai,i=0,1,2,3,4,5,其中,
Figure BDA0001461179870000326
Figure BDA0001461179870000327
为量化后的该运动模型优化向量,ai为该第一分量集合的预测值。
可选地,作为一个实施例,处理器510可以调用存储器520中存储的程序代码执行以下操作:确定该当前编码块的多个候选块,该多个候选块中的每个候选块为该当前编码块相邻的已编码块;确定该多个候选块中的每个候选块的运动矢量对应的预测块与该当前编码块的匹配误差值;将该多个候选块对应的多个匹配误差值中最小的匹配误差值对应的候选块,确定为该当前编码块的目标候选块;获取该当前编码块的参考帧的播放序号和该目标候选块的参考帧的播放序号;根据该当前编码块的参考帧的播放序号和该目标候选块的参考帧的播放序号的比值,确定该运动矢量组中的第一运动矢量,该第一运动矢量与该目标候选块的运动矢量的比值,与该当前编码块的参考帧的播放序号和该目标候选块的参考帧的播放序号的比值相同;根据该第一运动矢量,确定该运动矢量组。
可选地,作为一个实施例,处理器510可以调用存储器520中存储的程序代码执行以下操作:确定该当前编码块中同一个像素点对应的多个候选块,该多个候选块中的每个候选块为该当前编码块相邻的已编码块;确定该多个候选块中的每个候选块的运动矢量对应的预测块与该当前编码块的匹配误差值;将该多个候选块对应的多个匹配误差值中最小的匹配误差值对应的候选块,确定为该当前编码块的目标候选块;将该目标候选块的运动矢量,确定为该运动矢量组中的第一运动矢量;根据该第一运动矢量,确定该运动矢量组中的第二运动矢量;根据该第一运动矢量和该第二运动矢量,确定该运动矢量组。
可选地,作为一个实施例,处理器510可以调用存储器520中存储的程序代码执行以下操作:确定该当前编码块的多个候选运动矢量组,该多个候选运动矢量组中的每个候选运动矢量组包括三个候选运动矢量;确定该多个候选运动矢量组中每个候选运动矢量组对应的候选参考帧;对于该每个候选运动矢量组,确定该当前编码块中每个像素点在该候选参考帧中对应的预测点的坐标值;对于该每个候选运动矢量组,根据该当前编码块中每个像素点的坐标值和该每个像素点在该候选参考帧中对应的预测点的坐标值,确定该当前编码块的匹配误差值;将该当前编码块的匹配误差值最小时对应的该候选运动矢量组确定为该当前编码块的运动矢量组。可选地,作为一个实施例,处理器510可以调用存储器520中存储的程序代码执行以下操作:根据该运动模型初始向量确定该当前编码块的第一预测块;确定该当前编码块与该第一预测块的第一匹配误差值;从该当前编码块的参考帧包括的多个预测块中确定与该当前编码块匹配误差值最小的第二预测块;确定该当前编码块与该第二预测块的第二匹配误差值;根据该第一匹配误差值和该第二匹配误差值确定该当前编码块的该运动模型优化向量。
可选地,作为一个实施例,处理器510可以调用存储器520中存储的程序代码执行以下操作:当该第一匹配误差值小于该第二匹配误差值时,确定该运动模型初始向量为该运动模型优化向量;或当该第一匹配误差值大于该第二匹配误差值时,根据该第二预测块的像素点与该当前编码块的像素点确定该运动模型优化向量。
应理解,根据本发明实施例的编码设备500可对应于本发明实施例中的编码设备300,并可以对应于执行根据本发明实施例的方法100中的相应主体,并且编码设备500中的各个模块的上述和其它操作和/或功能分别为了实现图1至图2中的各个方法的相应流程,为了简洁,在此不再赘述。
因此,本发明实施例的编码设备,通过确定当前编码块的运动矢量组,并根据该运动矢量组确定该当前编码块的运动模型初始向量,根据该运动模型初始向量确定该运动模型待传输值,并将该运动模型待传输值进行编码传输,以便于解码端根据该运动模型待传输值进行解码,从而能够减少编解码传输的数据量和占用的比特数。另外,由于确定该运动模型优化向量并对该优化向量进行量化时,确定的量化精度是根据当前编码块的尺寸和当前编码块运动矢量的量化精度进行确定的,也能够减少编码参数所需的比特数。
如图8所示,本发明实施例还提供了一种解码设备600,包括处理器610、存储器620和总线***630。其中,处理器610和存储器620通过总线***630相连,该存储器620用于存储指令,该处理器610用于执行该存储器620存储的指令。解码设备600的存储器620存储程序代码,且处理器610可以调用存储器620中存储的程序代码执行以下操作:根据码流,确定当前解码块的运动矢量组和运动模型传输向量,该运动矢量组包括该当前解码块的至少一个运动矢量,该运动模型传输向量包括至少四个分量;根据该运动矢量组中的至少一个运动矢量,确定该当前解码块的运动模型初始向量的第一分量集合的预测值,该运动模型初始向量包括至少四个分量;根据该第一分量集合的预测值和该运动模型传输向量,确定该当前解码块的运动模型优化向量,以便于根据该运动模型优化向量对该当前解码块进行解码。
因此,本发明实施例的解码设备,根据接收到的码流,确定当前解码块的运动矢量组和运动模型传输向量,并根据该运动矢量组确定该当前解码块的运动模型初始向量,根据该运动模型初始向量和运动模型传输向量确定该运动模型优化向量,并将该运动模型优化向量进行解码重建,从而能够减少编解码传输的数据量和占用的比特数。
应理解,在本发明实施例中,该处理器610可以是中央处理单元(CentralProcessing Unit,简称为“CPU”),该处理器610还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器620可以包括只读存储器和随机存取存储器,并向处理器610提供指令和数据。存储器620的一部分还可以包括非易失性随机存取存储器。例如,存储器620还可以存储设备类型的信息。
该总线***630除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线***630。
在实现过程中,上述方法的各步骤可以通过处理器610中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器620,处理器610读取存储器620中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
可选地,作为一个实施例,处理器610可以调用存储器620中存储的程序代码执行以下操作:确定该当前解码块的运动模型量化精度;根据该运动模型量化精度,对该运动模型优化向量进行量化;根据量化后的运动模型优化向量,对该当前解码块进行解码。
可选地,作为一个实施例,处理器610可以调用存储器620中存储的程序代码执行以下操作:根据该当前解码块的尺寸和精度信息,确定该运动模型量化精度。
可选地,作为一个实施例,处理器610可以调用存储器620中存储的程序代码执行以下操作:该当前解码块的尺寸包括该当前解码块的宽度和该当前解码块的高度,该精度信息包括该运动矢量组的量化精度;根据公式(10)确定该运动模型量化精度Q,其中,P为该运动矢量组的量化精度,W为该当前解码块的宽度,H为该当前解码块的高度。
可选地,作为一个实施例,处理器610可以调用存储器620中存储的程序代码执行以下操作:该第一分量集合包括该运动模型初始向量的六个分量中的至少一个分量,该运动模型初始向量的六个分量ai由公式(6)确定,其中,i=0,1,2,3,4,5,W为该当前解码块的宽度,H为该当前解码块的高度,vxj为该运动矢量vj在x方向上的分量,vyj为该运动矢量vj在y方向上的分量,j=0,1,2。
可选地,作为一个实施例,处理器610可以调用存储器620中存储的程序代码执行以下操作:该第一分量集合包括该运动模型初始向量中的两个分量;确定该当前解码块的运动模型优化向量为(a0',a1',a2',a3',a4',a5'),其中,
Figure BDA0001461179870000341
(Δa2,Δa3,Δa4,Δa5)=(a2',a3',a4',a5'),Δai为该运动模型传输向量,
Figure BDA0001461179870000342
Figure BDA0001461179870000343
为该第一分量集合的预测值a0和a1经过量化后得到的数值。
可选地,作为一个实施例,处理器610可以调用存储器620中存储的程序代码执行以下操作:该第一分量集合包括该运动模型初始向量中的六个分量;确定该当前解码块的运动模型优化向量为(a0',a1',a2',a3',a4',a5'),其中,Δai=ai'-ai,Δai为该运动模型传输向量,ai为该第一分量集合的预测值,i=0,1,2,3,4,5。
可选地,作为一个实施例,处理器610可以调用存储器620中存储的程序代码执行以下操作:根据码流,确定该当前解码块的目标候选块和该目标候选块的运动矢量;获取该当前解码块的参考帧的播放序号和该目标候选块的参考帧的播放序号;根据该当前解码块的参考帧的播放序号和该目标候选块的参考帧的播放序号的比值,确定该运动矢量组中的第一运动矢量,该第一运动矢量与该目标候选块的运动矢量的比值,与该当前解码块的参考帧的播放序号和该目标候选块的参考帧的播放序号的比值相同;根据该第一运动矢量,确定该运动矢量组。
可选地,作为一个实施例,处理器610可以调用存储器620中存储的程序代码执行以下操作:根据码流,确定该当前解码块的目标候选块的运动矢量;确定该当前解码块的目标候选块的运动矢量为该运动矢量组中的第一运动矢量;根据该第一运动矢量,确定该运动矢量组中的第二运动矢量;根据该第一运动矢量和该第二运动矢量,确定该运动矢量组。
应理解,根据本发明实施例的解码设备600可对应于本发明实施例中的解码设备400,并可以对应于执行根据本发明实施例的方法200中的相应主体,并且解码设备600中的各个模块的上述和其它操作和/或功能分别为了实现图3和图4中的各个方法的相应流程,为了简洁,在此不再赘述。
因此,本发明实施例的解码设备,根据接收到的码流,确定当前解码块的运动矢量组和运动模型传输向量,并根据该运动矢量组确定该当前解码块的运动模型初始向量,根据该运动模型初始向量和运动模型传输向量确定该运动模型优化向量,并将该运动模型优化向量进行解码重建,从而能够减少编解码传输的数据量和占用的比特数。另外,由于确定该运动模型优化向量并对该优化向量进行量化时,确定的量化精度是根据当前解码块的尺寸和当前解码块运动矢量的量化精度进行确定的,也能够减少传输参数时所需的比特数。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (48)

1.一种用于视频图像编码的方法,其特征在于,所述方法包括:
确定当前编码块的运动矢量组,所述运动矢量组包括所述当前编码块的至少一个运动矢量;
根据所述运动矢量组中的至少一个运动矢量,确定所述当前编码块的运动模型初始向量的第一分量集合的预测值;
根据所述第一分量集合的预测值,确定所述第一分量集合的待传输值;
对所述第一分量集合的待传输值进行编码,并向解码端发送所述编码后的所述第一分量集合的待传输值。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一分量集合的预测值,确定所述第一分量集合的待传输值,包括:
确定所述当前编码块的运动模型优化向量;
根据所述第一分量集合的预测值和所述运动模型优化向量,确定所述第一分量集合的待传输值。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述当前编码块的尺寸和精度信息,确定运动模型量化精度;
相应的,所述根据所述第一分量集合的预测值和所述运动模型优化向量,确定所述第一分量集合的待传输值,包括:
根据所述运动模型量化精度,对所述运动模型优化向量进行量化;
根据所述第一分量集合的预测值和量化后的所述运动模型优化向量,确定所述第一分量集合的待传输值。
4.根据权利要求3所述的方法,其特征在于,所述当前编码块的尺寸包括所述当前编码块的宽度和所述当前编码块的高度,所述精度信息包括所述运动矢量组的量化精度;
相应的,所述根据所述当前编码块的尺寸和精度信息,确定所述运动模型量化精度,包括:
根据下面的公式确定所述运动模型量化精度Q:
Q=1/(S×P),S=max(W,H)
其中,P为所述运动矢量组的量化精度,W为所述当前编码块的宽度,H为所述当前编码块的高度。
5.根据权利要求2至4中任一项所述的方法,其特征在于,所述运动模型初始向量和所述运动模型优化向量分别包括六个分量,所述运动模型初始向量的六个分量与所述运动模型优化向量的六个分量一一对应,所述运动矢量组包括三个运动矢量,所述三个运动矢量与所述当前编码块中三个像素点相对应。
6.根据权利要求5所述的方法,其特征在于,所述第一分量集合包括所述运动模型初始向量的六个分量中的至少一个分量,所述运动模型初始向量的六个分量ai由下式确定:
a0=-vx0
a1=-vy0
Figure FDA0002313691260000021
Figure FDA0002313691260000022
Figure FDA0002313691260000023
Figure FDA0002313691260000024
其中,i=0,1,2,3,4,5,W为所述当前编码块的宽度,H为所述当前编码块的高度,vxj为所述运动矢量vj在x方向上的分量,vyj为所述运动矢量vj在y方向上的分量,j=0,1,2。
7.一种用于视频图像编码的方法,其特征在于,所述方法具有权利要求3至6任意一项所述的方法的全部特征,并且,所述第一分量集合包括所述运动模型初始向量中的两个分量;
所述根据所述第一分量集合的预测值和量化后的所述运动模型优化向量,确定所述第一分量集合的待传输值,包括:
确定所述第一分量集合的待传输值,所述第一分量集合的待传输值包括Δa0和Δa1,其中,
Figure FDA0002313691260000025
Figure FDA0002313691260000026
Figure FDA0002313691260000027
为与所述第一分量集合对应的量化后的所述运动模型优化向量,
Figure FDA0002313691260000028
Figure FDA0002313691260000029
为所述第一分量集合的预测值a0和a1经过量化后得到的数值。
8.一种用于视频图像编码的方法,其特征在于,所述方法具有权利要求3至6任意一项所述的方法的全部特征,并且,所述第一分量集合包括所述运动模型初始向量中的六个分量;
所述根据所述第一分量集合的预测值和量化后的所述运动模型优化向量,确定所述第一分量集合的待传输值,包括:
确定所述第一分量集合的待传输值,所述第一分量集合的待传输值包括Δai,i=0,1,2,3,4,5,其中,
Figure FDA00023136912600000210
Figure FDA00023136912600000211
为量化后的所述运动模型优化向量,ai为所述第一分量集合的预测值。
9.一种用于视频图像编码的方法,其特征在于,所述方法具有权利要求1至8任意一项所述的方法的全部特征,并且,所述确定当前编码块的运动矢量组,包括:
确定所述当前编码块的多个候选块,所述多个候选块中的每个候选块为所述当前编码块相邻的已编码块;
确定所述多个候选块中的每个候选块的运动矢量对应的预测块与所述当前编码块的匹配误差值;
将所述多个候选块对应的多个匹配误差值中最小的匹配误差值对应的候选块,确定为所述当前编码块的目标候选块;
获取所述当前编码块的参考帧的播放序号和所述目标候选块的参考帧的播放序号;
根据所述当前编码块的参考帧的播放序号和所述目标候选块的参考帧的播放序号的比值,确定所述运动矢量组中的第一运动矢量,所述第一运动矢量与所述目标候选块的运动矢量的比值,与所述当前编码块的参考帧的播放序号和所述目标候选块的参考帧的播放序号的比值相同;
根据所述第一运动矢量,确定所述运动矢量组。
10.一种用于视频图像编码的方法,其特征在于,所述方法具有权利要求1至8任意一项所述的方法的全部特征,并且,所述确定当前编码块的运动矢量组,包括:
确定所述当前编码块中同一个像素点对应的多个候选块,所述多个候选块中的每个候选块为所述当前编码块相邻的已编码块;
确定所述多个候选块中的每个候选块的运动矢量对应的预测块与所述当前编码块的匹配误差值;
将所述多个候选块对应的多个匹配误差值中最小的匹配误差值对应的候选块,确定为所述当前编码块的目标候选块;
将所述目标候选块的运动矢量,确定为所述运动矢量组中的第一运动矢量;
根据所述第一运动矢量,确定所述运动矢量组中的第二运动矢量;
根据所述第一运动矢量和所述第二运动矢量,确定所述运动矢量组。
11.一种用于视频图像编码的方法,其特征在于,所述方法具有权利要求1至8任意一项所述的方法的全部特征,并且,所述确定当前编码块的运动矢量组,包括:
确定所述当前编码块的多个候选运动矢量组,所述多个候选运动矢量组中的每个候选运动矢量组包括三个候选运动矢量;
确定所述多个候选运动矢量组中每个候选运动矢量组对应的候选参考帧;
对于所述每个候选运动矢量组,确定所述当前编码块中每个像素点在所述候选参考帧中对应的预测点的坐标值;
对于所述每个候选运动矢量组,根据所述当前编码块中每个像素点的坐标值和所述每个像素点在所述候选参考帧中对应的预测点的坐标值,确定所述当前编码块的匹配误差值;
将所述当前编码块的匹配误差值最小时对应的所述候选运动矢量组确定为所述当前编码块的运动矢量组。
12.一种用于视频图像编码的方法,其特征在于,所述方法具有权利要求2至11任意一项所述的方法的全部特征,并且,所述确定所述当前编码块的运动模型优化向量,包括:
根据所述运动模型初始向量确定所述当前编码块的第一预测块;
确定所述当前编码块与所述第一预测块的第一匹配误差值;
从所述当前编码块的参考帧包括的多个预测块中确定与所述当前编码块匹配误差值最小的第二预测块;
确定所述当前编码块与所述第二预测块的第二匹配误差值;
根据所述第一匹配误差值和所述第二匹配误差值确定所述当前编码块的所述运动模型优化向量。
13.根据权利要求12所述的方法,其特征在于,所述根据所述第一匹配误差值和所述第二匹配误差值确定所述当前编码块的所述运动模型优化向量,包括:
当所述第一匹配误差值小于所述第二匹配误差值时,确定所述运动模型初始向量为所述运动模型优化向量;或
当所述第一匹配误差值大于所述第二匹配误差值时,根据所述第二预测块的像素点与所述当前编码块的像素点确定所述运动模型优化向量。
14.一种用于视频图像解码的方法,其特征在于,所述方法包括:
根据码流,确定当前解码块的运动矢量组和运动模型传输向量,所述运动矢量组包括所述当前解码块的至少一个运动矢量,所述运动模型传输向量包括至少四个分量;
根据所述运动矢量组中的至少一个运动矢量,确定所述当前解码块的运动模型初始向量的第一分量集合的预测值;
根据所述第一分量集合的预测值和所述运动模型传输向量,确定所述当前解码块的运动模型优化向量,以便于根据所述运动模型优化向量对所述当前解码块进行解码。
15.根据权利要求14所述的方法,其特征在于,所述方法还包括:
确定所述当前解码块的运动模型量化精度;
根据所述运动模型量化精度,对所述运动模型优化向量进行量化;
根据量化后的运动模型优化向量,对所述当前解码块进行解码。
16.根据权利要求15所述的方法,其特征在于,所述确定所述当前解码块的运动模型量化精度,包括:
根据所述当前解码块的尺寸和精度信息,确定所述运动模型量化精度。
17.根据权利要求16所述的方法,其特征在于,所述当前解码块的尺寸包括所述当前解码块的宽度和所述当前解码块的高度,所述精度信息包括所述运动矢量组的量化精度;
相应的,所述根据所述当前解码块的尺寸和精度信息,确定所述运动模型量化精度,包括:
根据下面的公式确定所述运动模型量化精度Q:
Q=1/(S×P),S=max(W,H)
其中,P为所述运动矢量组的量化精度,W为所述当前解码块的宽度,H为所述当前解码块的高度。
18.根据权利要求15至17中任一项所述的方法,其特征在于,所述运动模型初始向量、所述运动模型传输向量和所述运动模型优化向量分别包括六个分量,所述运动矢量组包括三个运动矢量,所述三个运动矢量与所述当前解码块中三个像素点一一对应。
19.根据权利要求18所述的方法,其特征在于,所述第一分量集合包括所述运动模型初始向量的六个分量中的至少一个分量,所述运动模型初始向量的六个分量ai由下式确定:
a0=-vx0
a1=-vy0
Figure FDA0002313691260000041
Figure FDA0002313691260000042
Figure FDA0002313691260000051
Figure FDA0002313691260000052
其中,i=0,1,2,3,4,5,W为所述当前解码块的宽度,H为所述当前解码块的高度,vxj为所述运动矢量vj在x方向上的分量,vyj为所述运动矢量vj在y方向上的分量,j=0,1,2。
20.根据权利要求19所述的方法,其特征在于,所述第一分量集合包括所述运动模型初始向量中的两个分量;
所述根据所述第一分量集合的预测值和所述运动模型传输向量,确定所述当前解码块的运动模型优化向量,包括:
确定所述当前解码块的运动模型优化向量为(a0',a1',a2',a3',a4',a5'),其中,
Figure FDA0002313691260000053
(Δa2,Δa3,Δa4,Δa5)=(a2',a3',a4',a5'),Δai为所述运动模型传输向量,
Figure FDA0002313691260000054
Figure FDA0002313691260000055
为所述第一分量集合的预测值a0和a1经过量化后得到的数值。
21.根据权利要求19所述的方法,其特征在于,所述第一分量集合包括所述运动模型初始向量中的六个分量;
所述根据所述运动模型的预测参数和所述运动模型的解码参数,确定所述当前解码块的所述运动模型的最优参数,包括:
确定所述当前解码块的运动模型优化向量为(a0',a1',a2',a3',a4',a5'),其中,Δai=ai'-ai,Δai为所述运动模型传输向量,ai为所述第一分量集合的预测值,i=0,1,2,3,4,5。
22.一种用于视频图像解码的方法,其特征在于,所述方法具有权利要求14至21任意一项所述的方法的全部特征,并且,所述确定当前解码块的运动矢量组和运动模型传输向量,包括:
根据码流,确定所述当前解码块的目标候选块和所述目标候选块的运动矢量;
获取所述当前解码块的参考帧的播放序号和所述目标候选块的参考帧的播放序号;
根据所述当前解码块的参考帧的播放序号和所述目标候选块的参考帧的播放序号的比值,确定所述运动矢量组中的第一运动矢量,所述第一运动矢量与所述目标候选块的运动矢量的比值,与所述当前解码块的参考帧的播放序号和所述目标候选块的参考帧的播放序号的比值相同;
根据所述第一运动矢量,确定所述运动矢量组。
23.一种用于视频图像解码的方法,其特征在于,所述方法具有权利要求14至21任意一项所述的方法的全部特征,并且,所述根据码流,确定当前解码块的运动矢量组和运动模型传输向量,包括:
根据码流,确定所述当前解码块的目标候选块的运动矢量;
确定所述当前解码块的目标候选块的运动矢量为所述运动矢量组中的第一运动矢量;
根据所述第一运动矢量,确定所述运动矢量组中的第二运动矢量;
根据所述第一运动矢量和所述第二运动矢量,确定所述运动矢量组。
24.一种编码设备,其特征在于,所述编码设备包括:
第一确定模块,用于确定当前编码块的运动矢量组,所述运动矢量组包括所述当前编码块的至少一个运动矢量;
第二确定模块,用于根据所述运动矢量组中的至少一个运动矢量,确定所述当前编码块的运动模型初始向量的第一分量集合的预测值;
第三确定模块,用于根据所述第一分量集合的预测值,确定所述第一分量集合的待传输值;
编码模块,用于对所述第一分量集合的待传输值进行编码,并向解码端发送所述编码后的所述第一分量集合的待传输值。
25.根据权利要求24所述的编码设备,其特征在于,所述第三确定模块具体用于:
确定所述当前编码块的运动模型优化向量;
根据所述第一分量集合的预测值和所述运动模型优化向量,确定所述第一分量集合的待传输值。
26.根据权利要求25所述的编码设备,其特征在于,所述第三确定模块具体用于:
根据所述当前编码块的尺寸和精度信息,确定运动模型量化精度;
根据所述运动模型量化精度,对所述运动模型优化向量进行量化;
根据所述第一分量集合的预测值和量化后的所述运动模型优化向量,确定所述第一分量集合的待传输值。
27.根据权利要求26所述的编码设备,其特征在于,所述当前编码块的尺寸包括所述当前编码块的宽度和所述当前编码块的高度,所述精度信息包括所述运动矢量组的量化精度;
所述第三确定模块具体用于:
根据下面的公式确定所述运动模型量化精度Q:
Q=1/(S×P),S=max(W,H)
其中,P为所述运动矢量组的量化精度,W为所述当前编码块的宽度,H为所述当前编码块的高度。
28.根据权利要求25至27中任一项所述的编码设备,其特征在于,所述运动模型初始向量和所述运动模型优化向量分别包括六个分量,所述运动模型初始向量的六个分量与所述运动模型优化向量的六个分量一一对应,所述运动矢量组包括三个运动矢量,所述三个运动矢量与所述当前编码块中三个像素点相对应。
29.根据权利要求28所述的编码设备,其特征在于,所述第二确定模块具体用于:
所述第一分量集合包括所述运动模型初始向量的六个分量中的至少一个分量,所述运动模型初始向量的六个分量ai由下式确定:
a0=-vx0
a1=-vy0
Figure FDA0002313691260000061
Figure FDA0002313691260000071
Figure FDA0002313691260000072
Figure FDA0002313691260000073
其中,i=0,1,2,3,4,5,W为所述当前编码块的宽度,H为所述当前编码块的高度,vxj为所述运动矢量vj在x方向上的分量,vyj为所述运动矢量vj在y方向上的分量,j=0,1,2。
30.一种编码设备,其特征在于,所述编码设备具有权利要求26至29任意一项所述的编码设备的全部特征,并且,所述第一分量集合包括所述运动模型初始向量中的两个分量;所述第二确定模块具体用于:
确定所述第一分量集合的待传输值,所述第一分量集合的待传输值包括Δa0和Δa1,其中,
Figure FDA0002313691260000074
Figure FDA0002313691260000075
Figure FDA0002313691260000076
为与所述第一分量集合对应的量化后的所述运动模型优化向量,
Figure FDA0002313691260000077
Figure FDA0002313691260000078
为所述第一分量集合的预测值a0和a1经过量化后得到的数值。
31.一种编码设备,其特征在于,所述编码设备具有权利要求26至29任意一项所述的编码设备的全部特征,并且,所述第一分量集合包括所述运动模型初始向量中的六个分量;所述第二确定模块具体用于:
确定所述第一分量集合的待传输值,所述第一分量集合的待传输值包括Δai,i=0,1,2,3,4,5,其中,
Figure FDA0002313691260000079
Figure FDA00023136912600000710
为量化后的所述运动模型优化向量,ai为所述第一分量集合的预测值。
32.一种编码设备,其特征在于,所述编码设备具有权利要求26至31任意一项所述的编码设备的全部特征,并且,所述第一确定模块具体用于:
确定所述当前编码块的多个候选块,所述多个候选块中的每个候选块为所述当前编码块相邻的已编码块;
确定所述多个候选块中的每个候选块的运动矢量对应的预测块与所述当前编码块的匹配误差值;
将所述多个候选块对应的多个匹配误差值中最小的匹配误差值对应的候选块,确定为所述当前编码块的目标候选块;
获取所述当前编码块的参考帧的播放序号和所述目标候选块的参考帧的播放序号;
根据所述当前编码块的参考帧的播放序号和所述目标候选块的参考帧的播放序号的比值,确定所述运动矢量组中的第一运动矢量,所述第一运动矢量与所述目标候选块的运动矢量的比值,与所述当前编码块的参考帧的播放序号和所述目标候选块的参考帧的播放序号的比值相同;
根据所述第一运动矢量,确定所述运动矢量组。
33.一种编码设备,其特征在于,所述编码设备具有权利要求24至31任意一项所述的编码设备的全部特征,并且,所述第一确定模块具体用于:
确定所述当前编码块中同一个像素点对应的多个候选块,所述多个候选块中的每个候选块为所述当前编码块相邻的已编码块;
确定所述多个候选块中的每个候选块的运动矢量对应的预测块与所述当前编码块的匹配误差值;
将所述多个候选块对应的多个匹配误差值中最小的匹配误差值对应的候选块,确定为所述当前编码块的目标候选块;
将所述目标候选块的运动矢量,确定为所述运动矢量组中的第一运动矢量;
根据所述第一运动矢量,确定所述运动矢量组中的第二运动矢量;
根据所述第一运动矢量和所述第二运动矢量,确定所述运动矢量组。
34.一种编码设备,其特征在于,所述编码设备具有权利要求24至31任意一项所述的编码设备的全部特征,并且,所述第一确定模块具体用于:
确定所述当前编码块的多个候选运动矢量组,所述多个候选运动矢量组中的每个候选运动矢量组包括三个候选运动矢量;
确定所述多个候选运动矢量组中每个候选运动矢量组对应的候选参考帧;
对于所述每个候选运动矢量组,确定所述当前编码块中每个像素点在所述候选参考帧中对应的预测点的坐标值;
对于所述每个候选运动矢量组,根据所述当前编码块中每个像素点的坐标值和所述每个像素点在所述候选参考帧中对应的预测点的坐标值,确定所述当前编码块的匹配误差值;
将所述当前编码块的匹配误差值最小时对应的所述候选运动矢量组确定为所述当前编码块的运动矢量组。
35.一种编码设备,其特征在于,所述编码设备具有权利要求25至34任意一项所述的编码设备的全部特征,并且,所述第三确定模块具体用于:
根据所述运动模型初始向量确定所述当前编码块的第一预测块;
确定所述当前编码块与所述第一预测块的第一匹配误差值;
从所述当前编码块的参考帧包括的多个预测块中确定与所述当前编码块匹配误差值最小的第二预测块;
确定所述当前编码块与所述第二预测块的第二匹配误差值;
根据所述第一匹配误差值和所述第二匹配误差值确定所述当前编码块的所述运动模型优化向量。
36.根据权利要求35所述的编码设备,其特征在于,所述第三确定模块具体用于:
当所述第一匹配误差值小于所述第二匹配误差值时,确定所述运动模型初始向量为所述运动模型优化向量;或
当所述第一匹配误差值大于所述第二匹配误差值时,根据所述第二预测块的像素点与所述当前编码块的像素点确定所述运动模型优化向量。
37.一种用于视频图像解码的解码设备,其特征在于,所述解码设备包括:
第一确定模块,用于根据码流,确定当前解码块的运动矢量组和运动模型传输向量,所述运动矢量组包括所述当前解码块的至少一个运动矢量;
第二确定模块,用于根据所述运动矢量组中的至少一个运动矢量,确定所述当前解码块的运动模型初始向量的第一分量集合的预测值,所述运动模型初始向量包括至少四个分量;
第三确定模块,用于根据所述第一分量集合的预测值和所述运动模型传输向量,确定所述当前解码块的运动模型优化向量,以便于根据所述运动模型优化向量对所述当前解码块进行解码。
38.根据权利要求37所述的解码设备,其特征在于,所述第三确定模块具体用于:
确定所述当前解码块的运动模型量化精度;
根据所述运动模型量化精度,对所述运动模型优化向量进行量化;
根据量化后的运动模型优化向量,对所述当前解码块进行解码。
39.根据权利要求38所述的解码设备,其特征在于,所述第三确定模块具体用于:
根据所述当前解码块的尺寸和精度信息,确定所述运动模型量化精度。
40.根据权利要求39所述的解码设备,其特征在于,所述当前解码块的尺寸包括所述当前解码块的宽度和所述当前解码块的高度,所述精度信息包括所述运动矢量组的量化精度;
所述第三确定模块具体用于:
根据下面的公式确定所述运动模型量化精度Q:
Q=1/(S×P),S=max(W,H)
其中,P为所述运动矢量组的量化精度,W为所述当前解码块的宽度,H为所述当前解码块的高度。
41.根据权利要求38至40中任一项所述的解码设备,其特征在于,所述运动模型初始向量、所述运动模型传输向量和所述运动模型优化向量分别包括六个分量,所述运动矢量组包括三个运动矢量,所述三个运动矢量与所述当前解码块中三个像素点一一对应。
42.根据权利要求41所述的解码设备,其特征在于,所述第二确定模块具体用于:
所述第一分量集合包括所述运动模型初始向量的六个分量中的至少一个分量,所述运动模型初始向量的六个分量ai由下式确定:
a0=-vx0
a1=-vy0
Figure FDA0002313691260000091
Figure FDA0002313691260000092
Figure FDA0002313691260000093
Figure FDA0002313691260000094
其中,i=0,1,2,3,4,5,W为所述当前解码块的宽度,H为所述当前解码块的高度,vxj为所述运动矢量vj在x方向上的分量,vyj为所述运动矢量vj在y方向上的分量,j=0,1,2。
43.根据权利要求42所述的解码设备,其特征在于,所述第一分量集合包括所述运动模型初始向量中的两个分量;
所述第二确定模块具体用于:
确定所述当前解码块的运动模型优化向量为(a0',a1',a2',a3',a4',a5'),其中,
Figure FDA0002313691260000101
(Δa2,Δa3,Δa4,Δa5)=(a2',a3',a4',a5'),Δai为所述运动模型传输向量,
Figure FDA0002313691260000102
Figure FDA0002313691260000103
为所述第一分量集合的预测值a0和a1经过量化后得到的数值。
44.根据权利要求42所述的解码设备,其特征在于,所述第一分量集合包括所述运动模型初始向量中的六个分量;
所述第二确定模块具体用于:
确定所述当前解码块的运动模型优化向量为(a0',a1',a2',a3',a4',a5'),其中,Δai=ai'-ai,Δai为所述运动模型传输向量,ai为所述第一分量集合的预测值,i=0,1,2,3,4,5。
45.一种解码设备,其特征在于,所述解码设备具有权利要求37至44任意一项所述的解码设备的全部特征,并且,所述第一确定模块具体用于:
根据码流,确定所述当前解码块的目标候选块和所述目标候选块的运动矢量;
获取所述当前解码块的参考帧的播放序号和所述目标候选块的参考帧的播放序号;
根据所述当前解码块的参考帧的播放序号和所述目标候选块的参考帧的播放序号的比值,确定所述运动矢量组中的第一运动矢量,所述第一运动矢量与所述目标候选块的运动矢量的比值,与所述当前解码块的参考帧的播放序号和所述目标候选块的参考帧的播放序号的比值相同;
根据所述第一运动矢量,确定所述运动矢量组。
46.一种解码设备,其特征在于,所述解码设备具有权利要求37至44任意一项所述的解码设备的全部特征,并且,所述第一确定模块具体用于:
根据码流,确定所述当前解码块的目标候选块的运动矢量;
确定所述当前解码块的目标候选块的运动矢量为所述运动矢量组中的第一运动矢量;
根据所述第一运动矢量,确定所述运动矢量组中的第二运动矢量;
根据所述第一运动矢量和所述第二运动矢量,确定所述运动矢量组。
47.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质存储有计算机程序,所述计算机程序被计算机设备执行时,能够实现权利要求1至13任意一项所述的方法。
48.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质存储有计算机程序,所述计算机程序被计算机设备执行时,能够实现权利要求14至23任意一项所述的方法。
CN201711090963.5A 2015-02-16 2015-02-16 用于视频图像编码和解码的方法、编码设备和解码设备 Active CN107809642B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711090963.5A CN107809642B (zh) 2015-02-16 2015-02-16 用于视频图像编码和解码的方法、编码设备和解码设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711090963.5A CN107809642B (zh) 2015-02-16 2015-02-16 用于视频图像编码和解码的方法、编码设备和解码设备
CN201510085362.XA CN104661031B (zh) 2015-02-16 2015-02-16 用于视频图像编码和解码的方法、编码设备和解码设备

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201510085362.XA Division CN104661031B (zh) 2015-02-16 2015-02-16 用于视频图像编码和解码的方法、编码设备和解码设备

Publications (2)

Publication Number Publication Date
CN107809642A CN107809642A (zh) 2018-03-16
CN107809642B true CN107809642B (zh) 2020-06-16

Family

ID=53251655

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201510085362.XA Active CN104661031B (zh) 2015-02-16 2015-02-16 用于视频图像编码和解码的方法、编码设备和解码设备
CN201711090963.5A Active CN107809642B (zh) 2015-02-16 2015-02-16 用于视频图像编码和解码的方法、编码设备和解码设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201510085362.XA Active CN104661031B (zh) 2015-02-16 2015-02-16 用于视频图像编码和解码的方法、编码设备和解码设备

Country Status (10)

Country Link
US (1) US10349079B2 (zh)
EP (1) EP3249927B1 (zh)
JP (1) JP6481912B2 (zh)
KR (1) KR102010510B1 (zh)
CN (2) CN104661031B (zh)
MX (1) MX2017010564A (zh)
MY (1) MY185702A (zh)
RU (1) RU2679195C1 (zh)
SG (1) SG11201706698YA (zh)
WO (1) WO2016131229A1 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104661031B (zh) * 2015-02-16 2017-12-22 华为技术有限公司 用于视频图像编码和解码的方法、编码设备和解码设备
CN106331722B (zh) 2015-07-03 2019-04-26 华为技术有限公司 图像预测方法和相关设备
CN108965871B (zh) * 2015-09-29 2023-11-10 华为技术有限公司 图像预测的方法及装置
CN111556323B (zh) 2016-02-06 2022-05-13 华为技术有限公司 图像编解码方法及装置
US10659802B2 (en) 2016-08-15 2020-05-19 Nokia Technologies Oy Video encoding and decoding
US10979732B2 (en) * 2016-10-04 2021-04-13 Qualcomm Incorporated Adaptive motion vector precision for video coding
CN108271028A (zh) * 2016-12-30 2018-07-10 北京优朋普乐科技有限公司 一种子像素全搜索方法及装置
JP7261750B2 (ja) * 2017-06-26 2023-04-20 インターデジタル ヴイシー ホールディングス, インコーポレイテッド 動き補償のための複数の予測子候補
US11889100B2 (en) * 2017-11-14 2024-01-30 Qualcomm Incorporated Affine motion vector prediction in video coding
WO2019191867A1 (zh) 2018-04-02 2019-10-10 华为技术有限公司 一种视频编解码方法和装置
WO2019199127A1 (ko) * 2018-04-12 2019-10-17 삼성전자 주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
CN110536135B (zh) * 2018-05-25 2021-11-05 腾讯美国有限责任公司 用于视频编解码的方法和设备
CN116347099A (zh) 2018-06-19 2023-06-27 北京字节跳动网络技术有限公司 没有运动矢量预测截断的选择的运动矢量差精度
JP7488249B2 (ja) * 2018-07-11 2024-05-21 華為技術有限公司 ビデオ・エンコーダ、ビデオ・デコーダおよび対応する方法
CN116546213A (zh) 2018-09-19 2023-08-04 北京字节跳动网络技术有限公司 具有自适应运动矢量分辨率的仿射模式的语法重用
EP4224849B1 (en) * 2018-09-21 2024-06-12 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Video signal encoding and decoding method, and apparatus therefor
CN113170182B (zh) * 2018-12-03 2024-01-26 北京字节跳动网络技术有限公司 不同预测模式下的修剪方法
KR20210121021A (ko) 2019-01-31 2021-10-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 어파인 모드 적응적 움직임 벡터 해상도 코딩 문맥
WO2020165493A1 (en) * 2019-02-15 2020-08-20 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
WO2020177665A1 (en) 2019-03-05 2020-09-10 Mediatek Inc. Methods and apparatuses of video processing for bi-directional prediction with motion refinement in video coding systems
CN112954329B (zh) 2019-03-11 2022-08-26 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
US11343525B2 (en) * 2019-03-19 2022-05-24 Tencent America LLC Method and apparatus for video coding by constraining sub-block motion vectors and determining adjustment values based on constrained sub-block motion vectors
CN109874029B (zh) * 2019-04-22 2021-02-12 腾讯科技(深圳)有限公司 视频描述生成方法、装置、设备及存储介质
CN110263547B (zh) * 2019-05-31 2021-07-20 创新先进技术有限公司 基于合约状态的修改次序实现动态加密的方法及装置
US11076167B2 (en) * 2019-06-24 2021-07-27 FG Innovation Company Limited Device and method for coding video data

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4703350A (en) * 1985-06-03 1987-10-27 Picturetel Corporation Method and apparatus for efficiently communicating image sequences
CN101257366A (zh) * 2008-03-27 2008-09-03 华为技术有限公司 编解码方法、通讯***及设备
CN101888559A (zh) * 2006-11-09 2010-11-17 Lg电子株式会社 用于解码/编码视频信号的方法及装置
CN102685504A (zh) * 2011-03-10 2012-09-19 华为技术有限公司 视频图像的编解码方法、编码装置、解码装置及其***
CN104243982A (zh) * 2013-06-15 2014-12-24 浙江大学 一种视频编解码处理方法及装置

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998042134A1 (en) * 1997-03-17 1998-09-24 Mitsubishi Denki Kabushiki Kaisha Image encoder, image decoder, image encoding method, image decoding method and image encoding/decoding system
US6738423B1 (en) * 2000-01-21 2004-05-18 Nokia Mobile Phones Ltd. Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder
KR100359115B1 (ko) 2000-05-24 2002-11-04 삼성전자 주식회사 영상 코딩 방법
JP3681342B2 (ja) * 2000-05-24 2005-08-10 三星電子株式会社 映像コーディング方法
CN1265649C (zh) * 2002-01-24 2006-07-19 株式会社日立制作所 运动图像的编码方法、解码方法、编码装置及解码装置
US20040091047A1 (en) * 2002-11-11 2004-05-13 Sony Corporation Method and apparatus for nonlinear multiple motion model and moving boundary extraction
US7881376B2 (en) * 2004-05-14 2011-02-01 Panasonic Corporation Motion compensation apparatus
JP4755093B2 (ja) * 2005-02-01 2011-08-24 パナソニック株式会社 画像符号化方法および画像符号化装置
EP1755342A1 (en) * 2005-08-19 2007-02-21 Thomson Licensing Method and apparatus for iteratively calculating a set of global motion parameters for a picture sequence from block motion vectors
US9258519B2 (en) 2005-09-27 2016-02-09 Qualcomm Incorporated Encoder assisted frame rate up conversion using various motion models
CN101114851B (zh) * 2006-07-24 2010-10-20 大唐移动通信设备有限公司 一种hsdpa的功率控制方法及装置
KR101383540B1 (ko) 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
ES2629027T3 (es) * 2009-06-19 2017-08-07 Orange Codificación de vectores de movimiento por competición de predictores
WO2011013253A1 (ja) * 2009-07-31 2011-02-03 株式会社 東芝 幾何変換動き補償予測を用いる予測信号生成装置、動画像符号化装置及び動画像復号化装置
EP3633996A1 (en) * 2009-10-14 2020-04-08 InterDigital Madison Patent Holdings Methods and apparatus for adaptive coding of motion information
CN102595110B (zh) * 2011-01-10 2015-04-29 华为技术有限公司 视频编码方法、解码方法及终端
KR101484171B1 (ko) 2011-01-21 2015-01-23 에스케이 텔레콤주식회사 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
CN103563386A (zh) * 2011-05-31 2014-02-05 Jvc建伍株式会社 动图像编码装置、动图像编码方法及动图像编码程序、以及动图像解码装置、动图像解码方法及动图像解码程序
KR102004113B1 (ko) * 2011-06-30 2019-07-25 가부시키가이샤 제이브이씨 켄우드 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램
JP2013098899A (ja) 2011-11-04 2013-05-20 Sony Corp 符号化装置および符号化方法、並びに、復号装置および復号方法
US20130114686A1 (en) * 2011-11-08 2013-05-09 Sharp Laboratories Of America, Inc. Video decoder with enhanced cabac motion vector decoding
EP2683165B1 (en) * 2012-07-04 2015-10-14 Thomson Licensing Method for coding and decoding a block of pixels from a motion model
CN103856711A (zh) * 2012-12-05 2014-06-11 联咏科技股份有限公司 滚动快门的校正方法与图像处理装置
US9491460B2 (en) * 2013-03-29 2016-11-08 Qualcomm Incorporated Bandwidth reduction for video coding prediction
KR20140124920A (ko) * 2013-04-15 2014-10-28 인텔렉추얼디스커버리 주식회사 움직임 벡터 예측을 이용한 비디오 부호화/복호화 방법 및 장치
CN104661031B (zh) * 2015-02-16 2017-12-22 华为技术有限公司 用于视频图像编码和解码的方法、编码设备和解码设备
US10477238B2 (en) * 2016-09-07 2019-11-12 Qualcomm Incorporated Sub-PU based bi-directional motion compensation in video coding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4703350A (en) * 1985-06-03 1987-10-27 Picturetel Corporation Method and apparatus for efficiently communicating image sequences
CN101888559A (zh) * 2006-11-09 2010-11-17 Lg电子株式会社 用于解码/编码视频信号的方法及装置
CN101257366A (zh) * 2008-03-27 2008-09-03 华为技术有限公司 编解码方法、通讯***及设备
CN102685504A (zh) * 2011-03-10 2012-09-19 华为技术有限公司 视频图像的编解码方法、编码装置、解码装置及其***
CN104243982A (zh) * 2013-06-15 2014-12-24 浙江大学 一种视频编解码处理方法及装置

Also Published As

Publication number Publication date
KR102010510B1 (ko) 2019-08-13
SG11201706698YA (en) 2017-09-28
CN104661031A (zh) 2015-05-27
EP3249927A1 (en) 2017-11-29
MY185702A (en) 2021-05-31
US20170347116A1 (en) 2017-11-30
BR112017017481A2 (zh) 2018-05-08
CN107809642A (zh) 2018-03-16
RU2679195C1 (ru) 2019-02-06
EP3249927A4 (en) 2017-12-13
JP6481912B2 (ja) 2019-03-13
CN104661031B (zh) 2017-12-22
EP3249927B1 (en) 2020-07-29
WO2016131229A1 (zh) 2016-08-25
JP2018509087A (ja) 2018-03-29
KR20170118161A (ko) 2017-10-24
MX2017010564A (es) 2018-03-15
US10349079B2 (en) 2019-07-09

Similar Documents

Publication Publication Date Title
CN107809642B (zh) 用于视频图像编码和解码的方法、编码设备和解码设备
CN110557631B (zh) 图像预测方法和相关设备
CN112087629B (zh) 图像预测方法、装置及计算机可读存储介质
CN107046645B9 (zh) 图像编解码方法及装置
CN102835111B (zh) 使用先前块的运动矢量作为当前块的运动矢量来对图像进行编码/解码的方法和设备
JP2018524918A (ja) 画像予測方法および画像予測装置
CN109729352B (zh) 确定仿射编码块的运动矢量的方法和装置
WO2017201678A1 (zh) 图像预测方法和相关设备
CN112866720B (zh) 一种运动矢量预测方法、装置与编解码器
CN111654696B (zh) 一种帧内的多参考行预测方法、装置、存储介质及终端
CN109845259A (zh) 编码和解码图像参数的方法、编码和解码图像参数的设备及其相应的计算机程序
CN114449277B (zh) 用于系数代码化的上下文推导的方法和设备
CN112055201B (zh) 视频编码方法及其相关装置
CN114422803B (zh) 一种视频处理方法、装置及设备
CN116074534A (zh) 双向帧间预测方法及装置
CN117640948A (zh) 视频图像帧编码方法、解码方法及相关装置
CN111713109A (zh) 视频处理方法、装置和设备
CN117979022A (zh) 基于轮廓的帧间预测方法、***、设备与存储介质
CN103002279A (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