CN111526370A - 视频编码、解码方法及装置和电子设备 - Google Patents
视频编码、解码方法及装置和电子设备 Download PDFInfo
- Publication number
- CN111526370A CN111526370A CN202010307909.7A CN202010307909A CN111526370A CN 111526370 A CN111526370 A CN 111526370A CN 202010307909 A CN202010307909 A CN 202010307909A CN 111526370 A CN111526370 A CN 111526370A
- Authority
- CN
- China
- Prior art keywords
- frame
- list
- reference frame
- bidirectional
- original
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/587—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开涉及图像处理技术领域,具体涉及一种视频编码方法、视频解码方法、视频编码装置和电子设备。该方法包括:根据预设选取规则在双向预测编码帧对应的参考帧列表中确定N对原始双向参考帧;根据预设插帧规则对N对原始双向参考帧进行插帧处理,获得T个插帧参考帧,并根据T个插帧参考帧对参考帧列表进行更新,获得目标参考帧列表;根据目标参考帧列表对双向预测编码帧进行编码获得编码数据;获取生成插帧参考帧的关键参数,将关键参数附加在编码数据中,生成双向预测编码帧对应的码流数据。本公开可以克服运动矢量或运动矢量差较大导致的编码数据较大的问题。
Description
技术领域
本公开涉及图像处理技术领域,具体涉及一种视频编码方法、视频解码方法、视频编码装置和电子设备。
背景技术
视频编码是一种通过压缩技术将原始视频格式的文件转换成另一种视频格式文件的方式,能够在一定程度上降低视频数据的大小。帧间预测是视频编码的一种,它可以利用相邻帧之间像素点的相关性进行预测得到预测值,进而实现对视频进行压缩的目的。帧间预测具体包括三种,单向预测、双向预测和重叠补偿预测。其中,双向预测编码技术是一种常用的编码技术,它能够以当前帧在播放顺序上的前后多帧为参考帧进行运动估计和帧间预测得到最终预测值。
发明内容
本公开的目的在于提供一种视频编码方法、视频解码方法、视频编码装置和电子设备,进而至少在一定程度上克服运动矢量或运动矢量差较大导致的编码数据较大的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的第一方面,提供一种视频编码方法,包括:
根据预设选取规则在双向预测编码帧对应的参考帧列表中确定N对原始双向参考帧;其中,N取正整数;
根据预设插帧规则对N对原始双向参考帧进行插帧处理,获得T个插帧参考帧,并根据T个插帧参考帧对参考帧列表进行更新,获得目标参考帧列表;其中,T取正整数;
根据目标参考帧列表对双向预测编码帧进行编码获得编码数据;
获取生成插帧参考帧的关键参数,将关键参数附加在编码数据中,生成双向预测编码帧对应的码流数据。
根据本公开的第二方面,提供一种视频解码方法,包括:
获取待解码双向预测编码帧对应的码流数据;码流数据包括编码数据和关键参数;
对编码数据进行解析,并根据关键参数确定编码数据对应的目标参考帧列表;
基于目标参考帧列表进行解码重建,获得解码后的双向预测重建帧。
根据本公开的第三方面,提供一种视频编码装置,包括:
参考获取模块,用于根据预设选取规则在双向预测编码帧对应的参考帧列表中确定N对原始双向参考帧;其中,N取正整数;
第一列表确定模块,用于根据预设插帧规则对N对原始双向参考帧进行插帧处理,获得T个插帧参考帧,并根据T个插帧参考帧对参考帧列表进行更新,获得目标参考帧列表;其中,T取正整数;
数据编码模块,用于根据目标参考帧列表对双向预测编码帧进行编码获得编码数据;
码流生成模块,用于获取生成插帧参考帧的关键参数,将关键参数附加在编码数据中,生成双向预测编码帧对应的码流数据。
根据本公开的第四方面,提供一种视频解码装置,包括:数据获取模块,用于获取待解码双向预测编码帧对应的码流数据;码流数据包括编码数据和关键参数;
第二列表确定模块,用于对编码数据进行解析,并根据关键参数确定编码数据对应的目标参考帧列表;
数据重建模块,用于基于目标参考帧列表进行解码重建,获得解码后的双向预测重建帧。
根据本公开的第五方面,提供一种计算机可读介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的视频编码方法或视频解码方法。
根据本公开的第四方面,提供一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述的视频编码方法或视频解码方法。
本公开的一种实施例所提供的视频编码方法中,可以通过根据预设选取规则在双向预测编码帧对应的参考帧列表确定原始双向参考帧,进而对确定的原始双向参考帧进行插帧获得T个与双向预测编码帧之间相对运动较小的插帧参考帧,最后根据参考帧列表和T个插帧参考帧形成目标参考帧列表。由于目标参考帧列表中,存在T个与双向预测编码帧之间相对运动较小的插帧参考帧,因此不会产生较大的运动矢量或者运动矢量差,进而也不会出现编码数据量较大的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出本公开示例性实施例中一种视频编码方法的流程图;
图2示意性示出本公开示例性实施例中根据预设选取规则确定N对原始双向参考帧的方法的流程图;
图3示意性示出本公开示例性实施例中根据预设插帧规则进行插帧处理获得T个插帧参考帧的方法的流程图;
图4示意性示出本公开示例性实施例中确定原始双向参考帧对应的插帧参考帧的时间相位的方法的流程图;
图5示意性示出本公开示例性实施例中确定第三时间点的方法的流程图;
图6示意性示出本公开示例性实施例中一种视频解码方法的流程图;
图7示意性示出本公开示例性实施例中根据关键参数确定编码数据对应的目标参考帧列表的方法的流程图;
图8示意性示出本公开示例性实施例中一种基于运动估计确定运动矢量的示意图;
图9示意性示出本公开示例性实施例中一种对修正后的运动矢量的示意图;
图10示意性示出本公开示例性实施例中一种基于运动补偿进行插帧的示意图;
图11示意性示出本公开示例性实施例中一种视频编码方法的流程图;
图12示意性示出本公开示例性实施例中一种视频解码方法的流程图;
图13示意性示出本公开示例性实施例中一个实施例的实现原理的示意图;
图14示意性示出本公开示例性实施例中另一个实施例的实现原理的示意图;
图15示意性示出本公开示例性实施例中视频编码装置的组成示意图;
图16示意性示出本公开示例性实施例中视频解码装置的组成示意图;
图17示意性示出本公开示例性实施例中电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
在相关技术中,在对帧与帧之间的相对运动较大的视频进行双向预测编码时,由于帧与帧之间的相对运动较大,因此会产生较大的运动矢量或者运动矢量差,而对这些较大的运行矢量或者运动矢量差进行编码时,可能会形成较大的数据量,因此会导致编码数据数据量较大的问题;同时,在帧与帧之间的相对运动较大时,还可能会导致运动估计的搜索范围过大,进而导致编码过程耗时较长的问题。
针对上述的现有技术所存在的缺点和不足,本示例实施方式中提供了一种视频编码方法,可以应用于具有图像处理功能的终端设备,例如手机、平板电脑等。
参考图1中所示,上述的视频编码方法可以包括以下步骤S110至S140:
步骤S110,根据预设选取规则在双向预测编码帧对应的参考帧列表中确定N对原始双向参考帧。
其中,N取正整数。需要说明的是,针对不同属性的视频,原始双向参考帧的对数N可以根据不同的参考帧列表进行设定,本公开对选取的原始双向参考帧的对数不做特殊限定。例如,在参考帧列表仅中只有两帧的存储空间,即存储一帧前向原始参考帧和一帧后向原始参考帧时,可以设置N取1;再如,对参考帧列表中存在多帧前向原始参考帧和多帧后向原始参考帧时,可以根据帧与帧之间的相对运动的大小程度设定N的取值。
本示例实施方式中,预设选取规则可以包括成对规则和选取规则。此时,参照图2所示,根据预设选取规则在双向预测编码帧对应的参考帧列表中确定N对原始双向参考帧,可以包括以下步骤S210至S220:
步骤S210,根据成对规则对双向预测编码帧对应的参考帧列表中的原始前向参考帧和原始后向参考帧进行配对,生成至少一对候选原始双向参考帧。
本示例实施方式中,成对规则可以包括用于对参考帧列表中的一帧原始前向参考帧和一帧原始后向参考帧进行配对的任意规则,本公开对配对的规则不做特殊限定。例如,双向预测编码帧对应的帧号为A时,可以设置帧号为A-k的原始前向参考帧和帧号为A+k的原始后向参考帧为一对;再如,还可以设置帧号为A-k的原始前向参考帧和帧号为A+(k+1)的原始后向参考帧为一对。
需要说明的是,由于双向预测编码的参考帧必须同时包括一帧前向参考帧和一帧后向参考帧,因此根据成对规则配对生成的至少一对候选原始双向参考帧,必须同时包括一帧原始前向参考帧和一帧原始后向参考帧。
步骤S220,根据选取规则在至少一对候选原始双向参考帧中确定N对作为原始双向参考帧。
本示例实施方式中,选取规则可以包括用于在至少一对候选原始双向参考帧中确定N对作为原始双向参考帧的任意规则,本公开对配对的规则不做特殊限定。例如,选取规则可以是将与当前的双向预测编码帧最接近的N对候选原始双向参考帧确定为原始双向参考帧;再如,选取规则还可以是随机规则,即可以在至少一对候选原始双向参考帧中随机选择N对确定为原始双向参考帧。
步骤S120,根据预设插帧规则对N对原始双向参考帧进行插帧处理,获得T个插帧参考帧,并根据T个插帧参考帧对参考帧列表进行更新,获得目标参考帧列表。
本示例实施方式中,预设插帧规则可以是对原始参考帧对进行插帧的任意插帧规则,可以包括插帧方式规则、时间相位规则等,或者可以同时插帧方式规则和时间相位规则等多个规则,本公开对此不做特殊限定。
例如,预设插帧规则可以包括以下插帧方式规则:对N对原始双向参考帧进行一次插帧得到N个一次插帧参考帧,再对N个一次插帧参考帧进行二次插帧,得到M个二次插帧参考帧,将N个一次插帧参考帧和M个二次插帧参考帧共同作为T个插帧参考帧;再如,预设插帧规则可以包括用于确定每一对原始双向参考帧形成的插帧参考帧的时间相位的规则;再如,预设插帧规则可以同时包括上述插帧方式规则以及针对一次插帧和二次插帧设置的时间相位规则。
需要说明的是,由于插帧参考帧可以根据各种预设插帧规则实现,因此T的取值可以与N的取值不一定相同,T可以大于N、小于或者等于N,本公开对此均不作特殊限制。
举例而言,在预设插帧规则包括时间相位规则时,参照图3所示,根据预设插帧规则对N对原始双向参考帧进行插帧处理,获得T个插帧参考帧,可以包括以下步骤S310至S320:
步骤S310,通过时间相位规则分别确定N对原始双向参考帧对应的插帧参考帧的时间相位。
其中,插帧参考帧的时间相位可以用于确定插帧参考帧在原始双向参考帧之间的位置。例如,插帧参考帧的时间相位可以是插帧参考帧晚于原始双向参考帧中原始前向参考帧的时间;再如,插帧参考帧的时间相位可以是插帧参考帧早于原始双向参考帧中原始后向参考帧的时间。
具体的,在插帧参考帧的时间相位是插帧参考帧晚于原始双向参考帧中原始前向参考帧的时间时,假设某一插帧参考帧的时间相位为0.5,对应的原始前向参考帧对应的时间为第1秒,则插帧参考帧对应的时间则为第1.5秒。
本示例实施方式中,参照图4,通过时间相位规则确定原始双向参考帧对应的插帧参考帧的时间相位,可以包括以下步骤S410至S420:
步骤S410,获取原始双向参考帧中原始前向参考帧对应的第一帧号、第一时间点和原始后向参考帧对应的第二帧号、第二时间点,以及双向预测编码帧对应的第三帧号。
步骤S420,根据第一帧号、第二帧号和第三帧号在第一时间点和第二时间点中间确定第三时间点,并将第三时间点确定为插帧参考帧的时间相位。
本示例实施方式中,为了使插帧参考帧与双向预测编码帧之间的相对运动更小,需要使插帧参考帧与双向预测编码帧更接近。此时可以利用视频中各帧图像的帧号、所在的时间点之间的关系,自适应的确定插帧参考帧的时间相位。具体的,在获取了原始前向参考帧的对应的第一帧号、第一时间点和原始后向参考帧对应的第二帧号、第二时间点以及双向预测编码帧对应的第三帧号,根据第一帧号、第二帧号和第三帧号在第一时间点和第二时间点中间确定第三时间点,并将第三时间点确定为插帧参考帧的时间相位。
本示例实施方式中,根据第一帧号、第二帧号和第三帧号在第一时间点和第二时间点中间确定第三时间点,参照图5所示,可以包括以下步骤S510至S540:
步骤S510,计算第一帧号和第二帧号对应的第一帧号差,并计算第一时间点和第二时间点的时间差。
步骤S520,计算时间差与第一帧号差的商作为单位时长。
本示例实施方式中,由于视频中各帧的帧号与各帧所在的时间点存在一定的固有关联,因此可以根据帧号和时间点确定各帧之间的单位时长。具体的,可以先计算原始前向参考帧和原始后向参考帧对应的帧号的帧号差为第一帧号差,再计算原始前向参考帧和原始后向参考帧在视频中对应的第一时间点和第二时间点的时间差,最后计算时间差和第一帧号差的商,得到各帧之间的单位时长。
步骤S530,计算第一帧号和第三帧号对应的第二帧号差与单位时长的乘积为第一时长,并将比第一时间点晚第一时长的时间点确定为第三时间点。
步骤S540,计算第二帧号和第三帧号对应的第三帧号差与单位时长的乘积为第二时长,并将比第二时间点早第二时长的时间点确定为第三时间点。
本示例实施方式中,在确定了各帧之间的单位时长之后,可以分别根据原始前向参考帧、原始后向参考帧和当前的双向预测编码帧的帧号差确定插帧参考帧对应的第三时间点。具体的,可以先计算第一帧号和第三帧号对应的第二帧号差,再计算第二帧号差与单位时长的乘积作为第一时长,最后将比第一时间点晚第一时长的时间点确定为第三时间点;例如,第一时间点为10,计算得到的第一时长为0.5个单位,则第三时间点为10.5;或者,可以先计算第二帧号和第三帧号对应的第三帧号差,再计算第三帧号差与单位时长的乘积作为第二时长,最后将比第二时间点早第二时长的时间点确定为第三时间点。
需要说明的是,由于视频中各帧的帧号与各帧所在的时间点存在一定的固有关联,通过上述方法计算得到的第三时间点通常与当前的双向预测编码帧对应的时间点非常接近,因此最终得到的插帧参考帧与当前的双向预测编码帧的相对运动也会比较小,进而能够避免运动矢量或运动矢量差较大导致的编码数据较大的问题;同时,也能够缩小运动估计的搜索范围,进而减少编码时间。
本示例实施方式中,上述的插帧处理可以采用运动估计运动补偿法、光流法、神经网络插帧或者其他任意帧率转化技术。
举例而言,上述的运动估计运动补偿方法可以包括以下两个步骤:
1、运动估计
根据至少两幅图像,采用运动估计的方法确定两幅图像中所有物体或区域的运动矢量。具体的,可以将两幅图像记为当前图像和参考图像,按照预设大小对两幅图像进行分块,并对分块后的图像进行遍历,搜索当前图像中每个块在参考图像中的匹配块,确定当前图像每个块相对于参考图像的运动矢量(前向MV),同理,采用上述方法确定参考图像每个块相对于当前图像的运动矢量(后向MV),如图10所示。
随后,对前后向MV进行修正操作,其中,修正操作包括滤波,加权等多种操作中至少一种或多种的组合,最终确定每个块的前向或后向MV,如图11所示
2、运动补偿
通过插帧时间相位对最终确定的每个块的前向或后向MV进行校正,然后在插帧图像中生成每个插值块相对于当前图像和参考图像的映射MV,按照该映射MV在参考图像和当前图像中找到对应块,进行两个块的权重插值,生成该插值块的所有像素,最终得到插帧图像,如图12所示。
步骤S320,针对N对原始双向参考帧分别进行插帧,以生成T个在时间相位的插帧参考帧。
本示例实施方式中,在确定了N对原始双向参考帧对应的插帧参考帧的时间相位后,可以根据每一对原始双向参考帧对应的插帧参考帧的时间相位分别进行该时间相位的插帧,得到在该时间相位的插帧参考帧。通过设置时间相位规则,能够控制生成的插帧参考帧与双向预测编码帧之间的时间差,进而控制插帧参考帧与双向预测编码帧之间相对运动,能够更有效的降低运动矢量和运动矢量差的大小,更有效的缩小运动估计的检索范围。
本示例实施方式中,在得到了T个插帧参考帧后,由于T个插帧参考帧相对于原始双向参考帧而言,与当前双向编码帧的相对运动更小,因此可以根据T个插帧参考帧对参考帧列表进行更新,得到目标参考帧列表,进而根据目标参考帧列表进行编码,得到编码数据。
本示例实施方式中,根据T个插帧参考帧对参考帧列表进行更新,得到目标参考帧列表,可以包括:将T个插帧参考帧添加至参考帧列表,生成目标参考帧列表。此时,可以将生成的T个插帧参考帧按照之前确定的时间相位插入参考帧列表中,形成一个按时间顺序排列的目标参考帧列表。此外,还可以针对插帧参考帧设置排序顺序和插入参考帧列表的位置,本公开对此不做特殊限定。
本示例实施方式中,根据T个插帧参考帧对参考帧列表进行更新,得到目标参考帧列表,还可以包括:利用T个插帧参考帧排列形成的列表替换参考帧列表,生成目标参考帧列表。此时,可以直接对T个插帧参考帧设置排序方式和帧号,并根据排序方式和帧号将T个插帧参考帧排列起来形成一个列表,并根据该列表替换参考帧列表,生成目标参考帧列表。此外,还可以通过其他方式将T个插帧参考帧转换为一个列表,本公开对此也不做特殊限制。
需要说明的是,在其它示例实施方式中,还可以通过对参考帧列表和T个插帧参考帧做其它处理,得到目标参考帧列表,本公开对得到目标参考帧列表所做的处理过程也不做特殊限定。例如,可以对参考帧列表和T个插帧参考帧进行一定条件的筛选,并根据通过筛选的参考帧列表和T个插帧参考帧形成目标参考帧列表;再如,还可以通过对T个插帧参考帧进行一定条件的筛选,并根据通过筛选插帧参考帧形成目标参考帧列表。
步骤S130,根据目标参考帧列表对双向预测编码帧进行编码获得编码数据。
本示例实施方式中,在得到目标参考帧列表后,可以根据目标参考帧列表进行编码得到编码数据。由于目标参考帧列表中存在插帧参考帧,因此在对双向预测编码帧进行编码时,不会出现较大的运动矢量或者运动矢量差,同时也能缩小编码的搜索范围,加快编码速度。
步骤S140,获取生成插帧参考帧的关键参数,将关键参数附加在编码数据中,生成双向预测编码帧对应的码流数据。
本示例实施方式中,由于在编码过程中使用了插帧编码帧,在解码过程中可能也需要插帧编码帧的相关数据,因此需要将生成插帧参考帧的一些关键参数与编码数据共同传输至解码端进行解码。具体的,可以将生成插帧参考帧的关键参数作为附件参数与编码数据共同生成双向预测编码帧对应的码流数据。
本示例实施方式中,关键参数可以包括N对原始双向参考帧中的原始前向参考帧和原始后向参考帧对应的N对帧号以及插帧参考帧的数量T。具体的,将N对原始双向参考帧中的原始前向参考帧和原始后向参考帧对应的帧号成对存储,进而可以确定生成各插帧参考帧的依据。
此外,在一种示例实施方式中,也可以直接将编码端和解码端进行配套的设置,即在编码端用了某一种编码方式,对应的可以直接使用解码端中与该编码方式对应的解码方式。在这种情况下,若使用了某一编码方式,可以只在关键参数中写入使用的编码方式使能标志,即表示该双向预测编码帧使用了该编码方式,对应的解码端则可以根据该使能标志确定对应的解码方式。
需要说明的是,上述编码可以基于H.264视频编码标准进行。在这种情况下,可以将N对帧号以及插帧参考帧的数量T写入补充增强信息单元(SEI)中,并将使能标志和双向预测编码帧中每个编码块所选取的参考帧号遵照该标准进行码流写入。此外,还可以采用其他的视频编码标准进行编码,并根据编码标准以不同的方式写入码流数据中,本公开对此也不做特殊限定。
在本公开的另一种示例实施例中,还提供了一种视频解码方法,可以应用于具有图像处理功能的终端设备,例如手机、平板电脑等。参照图6所示,上述的视频解码方法可以包括步骤S610至步骤S630,以下进行详细阐述:
步骤S610,获取待解码双向预测编码帧对应的码流数据。
本示例实施方式中,获取的待解码双向预测编码帧对应的码流数据中包括编码数据和关键参数。其中,编码数据是指基于上述编码方法获得的编码数据,关键参数则是上述编码方法中生成插帧参考帧的关键参数。具体的,关键参数包括用于确定插帧参考帧的关键参数,例如可以是生成插帧参考帧所依据的原始双向参考帧的帧号。
需要说明的是,在一种示例实施方式中,也可以直接将编码端和解码端进行配套的设置,即在编码端用了某一种编码方式,对应的可以直接使用解码端中与该编码方式对应的解码方式。在这种情况下,关键参数中也可以只包括编码时使用的编码方式对应的使能标志,在解码时,可以根据该使能标识确定对应的解码方式进行解码即可。
步骤S620,对编码数据进行解析,并根据关键参数确定编码数据对应的目标参考帧列表。
本示例实施方式中,关键参数可以包括N对帧号和数量T,其中,N和T均为正整数。此时,参照图7所示,对编码数据进行解析,并根据关键参数确定编码数据对应的目标参考帧列表,可以包括以下步骤S710至S740:
步骤S710,对编码数据进行解析重建,获得待解码双向预测编码帧对应的参考帧列表。
本示例实施方式中,待解码双向预测编码帧对应的参考帧列表是在对待解码双向预测编码帧进行解码时的原始的参考帧列表,参考帧列表中的各参考帧是对可作为参考帧的视频帧对应的编码数据重建得到的视频帧。在对待解码双向预测编码帧进行解码之前,需要先获取待解码双向预测编码帧对应的参考帧列表。
步骤S720,根据N对帧号在参考帧列表中确定N对原始双向参考帧。
本示例实施方式中,在关键参数中包括生成插帧参考帧的N对原始双向参考帧的帧号,因此可以通过N对帧号在参考帧列表中确定N对原始双向参考帧,进而确定插帧参考帧生成的依据。
步骤S730,基于N对原始双向参考帧、数量T和编码数据进行插帧重建,获得T个插帧参考帧。
本示例实施方式中,可以基于N对原始双向参考帧数量、生成的插帧参考帧数量T,以及编码数据中的预测残差等数据进行插帧重建,复现T个插帧参考帧。
步骤S740,基于T个插帧参考帧对参考帧列表进行更新,获得目标参考帧列表。
本示例实施方式中,在复现T个插帧参考帧后,可以根据T个插帧参考帧对参考帧列表进行更新,进而得到目标参考帧列表。为了复现编码时使用的目标参考帧列表,可以采用与编码过程相同的目标参考帧列表的构建方式。
举例而言,根据T个插帧参考帧对参考帧列表进行更新,获得目标参考帧列表,可以包括:将T个插帧参考帧添加至参考帧列表,生成目标参考帧列表。此时,可以将生成的T个插帧参考帧按照之前确定的时间相位插入参考帧列表中,形成一个按时间顺序排列的目标参考帧列表。此外,还可以针对插帧参考帧设置排序顺序和插入参考帧列表的位置,本公开对此不做特殊限定。
再如,根据T个插帧参考帧对参考帧列表进行更新,获得目标参考帧列表,还可以包括:利用T个插帧参考帧排列形成的列表替换参考帧列表,生成目标参考帧列表。此时,可以直接对T个插帧参考帧设置排序方式和帧号,并根据排序方式和帧号将T个插帧参考帧排列起来形成一个列表,并根据该列表替换参考帧列表,生成目标参考帧列表。此外,还可以通过其他方式将T个插帧参考帧转换为一个列表,本公开对此也不做特殊限制。
需要说明的是,在其它示例实施方式中,还可以通过对参考帧列表和T个插帧参考帧做其它处理,获得目标参考帧列表,本公开对获得目标参考帧列表所做的处理过程也不做特殊限定。例如,可以对参考帧列表和T个插帧参考帧进行一定条件的筛选,并根据通过筛选的参考帧列表和T个插帧参考帧形成目标参考帧列表;再如,还可以通过对T个插帧参考帧进行一定条件的筛选,并根据通过筛选插帧参考帧形成目标参考帧列表。
步骤S630,基于目标参考帧列表进行解码重建,获得解码后的双向预测重建帧。
本示例实施方式中,在复现了编码时的目标参考帧列表后,可以根据目标参考帧列表对编码数据进行解码重建,得到待解码双向预测编码帧对应额双向预测编码帧。举例而言,可以根据待解码双向预测编码帧对应的目标参考帧列表得到待解码视频对应的预测值,并根据编码数据中的预测残差和预测值进行视频帧重建,得到双向预测编码帧。
对于上述编码和解码的方案,本公开的实施例提供了如下5个具体的实施例:
实施例1:
编码过程:
参照图8所示,步骤S810,若当前编码帧为双向预测编码帧时,获取其原始参考帧列表;步骤S820,在原始参考帧列表中确定N对前后向原始参考帧,输入插帧模块进行插帧,形成T个插帧参考帧;步骤S830,将新形成的T个插帧参考帧和原始参考帧列表进行累计,形成目标参考帧列表;步骤S840,根据目标参考帧列表进行固定视频编码标准的预测编码形成编码数据;步骤S850,将当前双向预测编码帧所使用的插帧参考帧数量T和这些插帧参考帧选取的原始前、后向参考帧的帧号作为附加参数与编码数据共同作为码流数据。
其中,选取原始双向参考帧的规则,可以按播放顺序进行对应。例如,当前帧为第k帧,那么k-1和k+1形成一对,那么k-2和k+2形成一对。此外,也可以选择任意原始参考帧对为一对;在根据原始双向参考帧进行插帧时,插帧参考帧的时间相位可人工设定;也可以根据当前帧在原始双向参考帧的时间相位自适应的设定,例如,若参考帧对为k-1和k+1,设两个参考帧的时间段总长为1,则自适应时间相位为0.5;若参考帧对为k-1和k+2,设两个参考帧的时间段总长为1,则自适应时间相位为0.33;在插帧过程中是每对原始双向参考帧形成一个插帧参考帧,因此T=N。
需要说明的是,在编码的过程和解码重建的过程中,可能需要当前双向预测编码帧中每个编码块所选取的参考帧的帧号,在这种情况下,可以该数据也作为附加参数加入码流数据;此外,在使用了此种编码方式时,可以将对应的使能标记写入附加参数,以标识该方法在编码过程中使能。
解码过程:
参照图9所示,步骤S910,在当前码流数据为双向预测编码帧时,根据附加参数在原始参考帧列表中确定N对原始双向参考帧;步骤S920,根据得到的N对原始双向参考帧进行插帧重建,得到T个插帧参考帧;步骤S930,对编码数据进行解析,得到预测残差和预测值;步骤S940,基于原始参考帧列表、T个插帧参考帧形成的目标参考帧列表和编码数据解析得到预测残差和预测值进行解码重建,得到解码后的双向预测重建帧。
实施例2:
编码过程:
如图13所示,确定当前的双向预测编码帧在播放顺序上的前一帧和后一帧作为原始双向参考帧,即N=1,对这一对原始双向参考帧进行中间相位的插值,形成一个插帧参考帧,编码器在进行编码时,仅以形成的一个插帧参考帧为参考进行编码。此外,由于默认设置前一帧和后一帧作为原始双向参考帧,因此可以不需要形成插帧参考帧的关键参数,可以只将使能标志写入码流信息,以标识使用了该编码方法。
解码过程:
如图13所示,解码时,采用对应的策略进行解码,对每个需要重建的双向预测编码帧中的解码块,采用当前重建的双向预测编码帧的前一帧和后一帧为原始双向参考帧,对原始双向参考帧进行插帧得到一个插帧参考帧,并以这个插帧参考帧进行参考解码,得到解码后的双向预测重建帧。
实施例3:
编码过程:
如图14所示,仅对当前的双向预测编码帧,基于N对原始双向参考帧形成与当前的双向预测编码帧的时间相位相同的T个插帧参考帧。其中,在插帧过程中是每对原始双向参考帧形成一个插帧参考帧,因此T=N。编码器在编码时,仅以形成的T个插帧参考帧为参考进行编码,并将原始双向参考帧的帧号和插帧参考帧的数量T作为附加参数写入码流。
解码过程:
如图14所示,解码时,采用对应的策略进行解码,对每个需要重建的双向预测编码帧中的解码块,通过根据原始双向参考帧的帧号和插帧参考帧的数量T等附加参数确定N对原始双向参考帧,然后基于N对原始双向参考帧形成与当前的双向预测编码帧的时间相位相同的T个插帧参考帧,最后T个插帧参考帧为基础进行解码,得到解码后的双向预测重建帧。
实施例4:
编码过程:
在编码时,针对当前的双向预测编码帧,先根据N对原始双向参考帧进行插帧,得到与当前的双向预测编码帧的时间相位相同的A个一次插帧参考帧,然后根据A个一次插帧参考帧进行两两的二次插帧,形成B个二次插帧参考帧。随后,通过A个一次插帧参考帧和B个二次插帧参考帧形成包含T个参考帧的目标参考帧列表,其中T=A+B。
具体的,在对A个一次插帧参考帧和B个二次插帧参考帧进行排序时,可以先将B个二次插帧参考帧的依次编号,作为该二次插帧参考帧的帧号,例如,帧号分别为0,1,…,B-2,B-1;然后将A个一次插帧参考帧依次编号,作为一次插帧参考帧的帧号,例如,帧号分别为B,B+1,…,B+A-2,B+A-1。
编码器在进行编码时,仅参考通过A个一次插帧参考帧和B个二次插帧参考帧排序形成的目标参考帧列表进行编码,同时将原始双向参考帧的帧号、一次插帧参考帧数量A和二次插帧参考帧数量B作为附加参数写入码流。
解码过程:
解码时,采用对应的策略进行解码,对每个需要重建的双向预测编码帧中的解码块,通过根据原始双向参考帧的帧号和一次插帧参考帧数量A和二次插帧参考帧数量B确定N对原始双向参考帧,然后基于N对原始双向参考帧形成与当前的双向预测编码帧的时间相位相同的A个一次插帧参考帧,然后根据A个一次插帧参考帧两两进行二次插帧,得到B个二次插帧参考帧,以A个一次插帧参考帧和B个二次插帧参考帧进行编码排序,形成包含T个插帧参考帧的目标参考帧列表,最终以T个插帧参考帧为参考进行解码,得到解码后的双向预测重建帧。
实施例5:
编码过程:
在一种实施例中,原始参考帧列表中有可能只有两帧的存储空间,即只能存储一帧原始前向参考帧和一帧原始后向参考帧。此时,可以根据这一帧前向参考帧和一帧后向参考帧形成与当前的双向预测编码帧的时间相位相同的1个插帧参考帧,然后分别以这个插帧参考帧和原始前向参考帧、原始后向参考帧进行二次插帧,插帧的时间相位可以取0.5,得到一个前向插帧参考帧和一个后向插帧参考帧,然后通过前向插帧参考帧和后向插帧参考帧代替原始参考帧列表中的原始前向参考帧和原始后向参考帧形成目标参考帧列表。
编码器在进行编码时,仅参考目标参考帧列表中的一帧前向插帧参考帧和一帧后向插帧参考帧进行编码,同时将原始双向参考帧的帧号、插帧参考帧数量2作为附加参数写入码流。
解码过程:
解码时,采用对应的策略进行解码,对每个需要重建的双向预测编码帧中的解码块,通过根据原始双向参考帧的帧号、插帧参考帧数量2确定1对原始双向参考帧,然后基于这一对原始双向参考帧进行一次插帧得到一个与当前的双向预测编码帧的时间相位相同的1个插帧参考帧,然后分别以这个插帧参考帧和原始前向参考帧、原始后向参考帧进行二次插帧,插帧的时间相位可以取0.5,得到一个前向插帧参考帧和一个后向插帧参考帧,形成目标参考帧列表,最后以目标参考帧列表中的两个插帧参考帧为参考进行解码,得到解码后的双向预测重建帧。
需要说明的是,本公开实施例可以通过编码前的插帧缩小视频中当前双向预测编码帧与参考帧之间的相对运动,进而减小运动矢量或运动矢量差,避免由于运动矢量或运动矢量差过大造成的编码数据过大的问题;同时,由于运动矢量或运动矢量差较小,因此在进行编码时,搜索的范围缩小,因此能够提高编码效率,缩短编码时间。
需要注意的是,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
进一步的,参考图15所示,本示例的实施方式中还提供一种视频编码装置1500,包括:参考获取模块1510、第一列表确定模块1520、数据编码模块1530和码流生成模块1540。其中:
参考获取模块1510可以用于根据预设选取规则在双向预测编码帧对应的参考帧列表中确定N对原始双向参考帧;其中,N取正整数。
第一列表确定模块1520可以用于根据预设插帧规则对N对原始双向参考帧进行插帧处理,获得T个插帧参考帧,并根据T个插帧参考帧对参考帧列表进行更新,获得目标参考帧列表;其中,T取正整数。
数据编码模块1530可以用于根据目标参考帧列表对双向预测编码帧进行编码获得编码数据。
码流生成模块1540可以用于获取生成插帧参考帧的关键参数,将关键参数附加在编码数据中,生成双向预测编码帧对应的码流数据。
本示例实施方式中,参考获取模块1510可以用于根据成对规则对双向预测编码帧对应的参考帧列表中的原始前向参考帧和原始后向参考帧进行配对,生成至少一对候选原始双向参考帧;根据选取规则在至少一对候选原始双向参考帧中确定N对作为原始双向参考帧。
本示例实施方式中,第一列表确定模块1520可以用于通过时间相位规则分别确定N对原始双向参考帧对应的插帧参考帧的时间相位;其中,插帧参考帧的时间相位用于确定插帧参考帧在原始双向参考帧之间的位置;针对N对原始双向参考帧分别进行插帧,以生成T个在时间相位的插帧参考帧。
本示例实施方式中,第一列表确定模块1520可以用于获取原始双向参考帧中原始前向参考帧对应的第一帧号、第一时间点和原始后向参考帧对应的第二帧号、第二时间点,以及双向预测编码帧对应的第三帧号;根据第一帧号、第二帧号和第三帧号在第一时间点和第二时间点中间确定第三时间点,并将第三时间点确定为插帧参考帧的时间相位。
本示例实施方式中,第一列表确定模块1520可以用于计算第一帧号和第二帧号对应的第一帧号差,并计算第一时间点和第二时间点的时间差;计算时间差与第一帧号差的商作为单位时长;计算第一帧号和第三帧号对应的第二帧号差与单位时长的乘积为第一时长,并将比第一时间点晚第一时长的时间点确定为第三时间点;或计算第二帧号和第三帧号对应的第三帧号差与单位时长的乘积为第二时长,并将比第二时间点早第二时长的时间点确定为第三时间点。
本示例实施方式中,第一列表确定模块1520可以用于将T个插帧参考帧添加至参考帧列表,生成目标参考帧列表。
本示例实施方式中,第一列表确定模块1520可以用于利用T个插帧参考帧排列形成的列表替换参考帧列表,生成目标参考帧列表。
本示例实施方式中,关键参数包括N对原始双向参考帧中的原始前向参考帧和原始后向参考帧对应的N对帧号以及插帧参考帧的数量T。
此外,参考图16所示,在本公开的示例性实施方式中,还提供了一种视频解码装置1600,其特征在于,包括:数据获取模块1610,第二列表确定模块1620和数据重建模块1630。其中:
数据获取模块1610可以用于获取待解码双向预测编码帧对应的码流数据;码流数据包括编码数据和关键参数。
第二列表确定模块1620可以用于对编码数据进行解析,并根据关键参数确定编码数据对应的目标参考帧列表。
数据重建模块1630可以用于基于目标参考帧列表进行解码重建,获得待解码双向预测编码帧对应的双向预测编码帧。
本示例实施方式中,第二列表确定模块1620可以用于对编码数据进行解析重建,获得待解码双向预测编码帧对应的参考帧列表;根据N对帧号在参考帧列表中确定N对原始双向参考帧;基于N对原始双向参考帧、数量T和编码数据进行插帧重建,获得T个插帧参考帧;基于T个插帧参考帧对参考帧列表进行更新,获得目标参考帧列表。
本示例实施方式中,第二列表确定模块1620可以用于将T个插帧参考帧添加至参考帧列表,生成目标参考帧列表。
本示例实施方式中,第二列表确定模块1620可以用于利用T个插帧参考帧排列形成的列表替换参考帧列表,生成目标参考帧列表。
上述的视频编码装置和视频解码装置中各模块的具体细节已经在对应的视频编码方法和视频解码方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
图17示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图17示出的电子设备的计算机系统1700仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图17所示,计算机系统1700包括中央处理单元(CPU)1701,其可以根据存储在只读存储器(ROM)1702中的程序或者从存储部分1708加载到随机访问存储器(RAM)1703中的程序而执行各种适当的动作和处理。在RAM 1703中,还存储有系统操作所需的各种程序和数据。CPU 1701、ROM 1702以及RAM 1703通过总线1704彼此相连。输入/输出(I/O)接口1705也连接至总线1704。
以下部件连接至I/O接口1705:包括键盘、鼠标等的输入部分1706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1707;包括硬盘等的存储部分1708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1709。通信部分1709经由诸如因特网的网络执行通信处理。驱动器1710也根据需要连接至I/O接口1705。可拆卸介质1711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1710上,以便于从其上读出的计算机程序根据需要被安装入存储部分1708。
特别地,根据本发明的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1709从网络上被下载和安装,和/或从可拆卸介质1711被安装。在该计算机程序被中央处理单元(CPU)1701执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中的方法。例如,的电子设备可以实现如图1至图7所示的各个步骤。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
Claims (14)
1.一种视频编码方法,其特征在于,包括:
根据预设选取规则在双向预测编码帧对应的参考帧列表中确定N对原始双向参考帧;其中,N取正整数;
根据预设插帧规则对N对所述原始双向参考帧进行插帧处理,获得T个插帧参考帧,并根据T个所述插帧参考帧对所述参考帧列表进行更新,获得目标参考帧列表;其中,T取正整数;
根据所述目标参考帧列表对所述双向预测编码帧进行编码获得编码数据;
获取生成所述插帧参考帧的关键参数,将所述关键参数附加在所述编码数据中,生成所述双向预测编码帧对应的码流数据。
2.根据权利要求1所述的方法,其特征在于,所述预设选取规则包括成对规则和选取规则;
所述根据预设选取规则在双向预测编码帧对应的参考帧列表中确定N对原始双向参考帧,包括:
根据所述成对规则对所述双向预测编码帧对应的参考帧列表中的原始前向参考帧和原始后向参考帧进行配对,生成至少一对候选原始双向参考帧;
根据所述选取规则在至少一对所述候选原始双向参考帧中确定N对作为所述原始双向参考帧。
3.根据权利要求1所述的方法,其特征在于,所述预设插帧规则包括时间相位规则;
所述根据预设插帧规则对N对所述原始双向参考帧进行插帧处理,获得T个插帧参考帧,包括:
通过所述时间相位规则分别确定N对所述原始双向参考帧对应的插帧参考帧的时间相位;其中,所述插帧参考帧的时间相位用于确定所述插帧参考帧在所述原始双向参考帧之间的位置;
针对N对所述原始双向参考帧分别进行插帧,以生成T个在所述时间相位的所述插帧参考帧。
4.根据权利要求3所述的方法,其特征在于,通过所述时间相位规则确定所述原始双向参考帧对应的插帧参考帧的时间相位,包括:
获取所述原始双向参考帧中原始前向参考帧对应的第一帧号、第一时间点和原始后向参考帧对应的第二帧号、第二时间点,以及所述双向预测编码帧对应的第三帧号;
根据所述第一帧号、所述第二帧号和所述第三帧号在所述第一时间点和所述第二时间点中间确定第三时间点,并将所述第三时间点确定为所述插帧参考帧的时间相位。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一帧号、所述第二帧号和所述第三帧号在所述第一时间点和所述第二时间点中间确定第三时间点,包括:
计算所述第一帧号和所述第二帧号对应的第一帧号差,并计算所述第一时间点和第二时间点的时间差;
计算所述时间差与所述第一帧号差的商作为单位时长;
计算所述第一帧号和所述第三帧号对应的第二帧号差与所述单位时长的乘积为第一时长,并将比所述第一时间点晚所述第一时长的时间点确定为第三时间点;或
计算所述第二帧号和所述第三帧号对应的第三帧号差与所述单位时长的乘积为第二时长,并将比所述第二时间点早所述第二时长的时间点确定为第三时间点。
6.根据权利要求1所述的方法,其特征在于,所述根据T个所述插帧参考帧对所述参考帧列表进行更新,获得目标参考帧列表,包括:
将T个所述插帧参考帧添加至所述参考帧列表,生成目标参考帧列表。
7.根据权利要求1所述的方法,其特征在于,所述根据T个所述插帧参考帧对所述参考帧列表进行更新,获得目标参考帧列表,包括:
利用T个所述插帧参考帧排列形成的列表替换所述参考帧列表,生成目标参考帧列表。
8.根据权利要求1所述的方法,其特征在于,所述关键参数包括N对所述原始双向参考帧中的原始前向参考帧和原始后向参考帧对应的N对帧号以及所述插帧参考帧的数量T。
9.一种视频解码方法,其特征在于,包括:
获取待解码双向预测编码帧对应的码流数据;所述码流数据包括编码数据和关键参数;
对所述编码数据进行解析,并根据所述关键参数确定所述编码数据对应的目标参考帧列表;
基于所述目标参考帧列表进行解码重建,获得解码后的双向预测重建帧。
10.根据权利要求9所述的方法,其特征在于,所述关键参数包括N对帧号和数量T;其中,N、T均为正整数;
所述对所述编码数据进行解析,并根据所述关键参数确定所述编码数据对应的目标参考帧列表,包括:
对所述编码数据进行解析重建,获得待解码双向预测编码帧对应的参考帧列表;
根据N对所述帧号在所述参考帧列表中确定N对原始双向参考帧;
基于N对所述原始双向参考帧、数量T和编码数据进行插帧重建,获得T个插帧参考帧;
基于所述T个插帧参考帧对所述参考帧列表进行更新,获得目标参考帧列表。
11.根据权利要求10所述的方法,其特征在于,所述基于所述T个插帧参考帧对所述参考帧列表进行更新,获得目标参考帧列表,包括:
将T个所述插帧参考帧添加至所述参考帧列表,生成目标参考帧列表。
12.根据权利要求10所述的方法,其特征在于,所述基于所述T个插帧参考帧对所述参考帧列表进行更新,获得目标参考帧列表,包括:
利用T个所述插帧参考帧排列形成的列表替换所述参考帧列表,生成目标参考帧列表。
13.一种视频编码装置,其特征在于,包括:
参考获取模块,用于根据预设选取规则在双向预测编码帧对应的参考帧列表中确定N对原始双向参考帧;其中,N取正整数;
第一列表确定模块,用于根据预设插帧规则对N对所述原始双向参考帧进行插帧处理,获得T个插帧参考帧,并根据T个所述插帧参考帧对所述参考帧列表进行更新,获得目标参考帧列表;其中,T取正整数;
数据编码模块,用于根据所述目标参考帧列表对所述双向预测编码帧进行编码获得编码数据;
码流生成模块,用于获取生成所述插帧参考帧的关键参数,将所述关键参数附加在所述编码数据中,生成所述双向预测编码帧对应的码流数据。
14.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至8中任一项所述的视频编码方法或权利要求9至12中任一项所述的视频解码方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010307909.7A CN111526370B (zh) | 2020-04-17 | 2020-04-17 | 视频编码、解码方法及装置和电子设备 |
PCT/CN2021/076735 WO2021208588A1 (zh) | 2020-04-17 | 2021-02-18 | 视频编码、解码方法及装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010307909.7A CN111526370B (zh) | 2020-04-17 | 2020-04-17 | 视频编码、解码方法及装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111526370A true CN111526370A (zh) | 2020-08-11 |
CN111526370B CN111526370B (zh) | 2023-06-02 |
Family
ID=71903120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010307909.7A Active CN111526370B (zh) | 2020-04-17 | 2020-04-17 | 视频编码、解码方法及装置和电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111526370B (zh) |
WO (1) | WO2021208588A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111970562A (zh) * | 2020-08-17 | 2020-11-20 | Oppo广东移动通信有限公司 | 视频处理方法、视频处理装置、存储介质与电子设备 |
WO2021208588A1 (zh) * | 2020-04-17 | 2021-10-21 | Oppo广东移动通信有限公司 | 视频编码、解码方法及装置和电子设备 |
CN114363700A (zh) * | 2020-10-12 | 2022-04-15 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、存储介质及计算机设备 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114758304B (zh) * | 2022-06-13 | 2022-09-02 | 江苏中腾石英材料科技股份有限公司 | 一种高纯圆角石英粉的过筛设备及其过筛控制方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1592398A (zh) * | 2003-03-28 | 2005-03-09 | 株式会社东芝 | 帧插值方法和使用该方法的图像显示系统 |
KR20070011044A (ko) * | 2005-07-19 | 2007-01-24 | 삼성전자주식회사 | 계층적 구조에 적합하게 시간적 다이렉트 모드로인코딩하며, 디코딩하는 방법 및 장치 |
CN101188760A (zh) * | 2007-11-16 | 2008-05-28 | 中兴通讯股份有限公司 | 一种视频序列的编码方法 |
CN103975598A (zh) * | 2011-12-09 | 2014-08-06 | 高通股份有限公司 | 对于视图合成参考图片的参考图片列表修改 |
CN106658019A (zh) * | 2015-10-31 | 2017-05-10 | 华为技术有限公司 | 参考帧编解码的方法与装置 |
US20180184086A1 (en) * | 2016-12-22 | 2018-06-28 | Google Inc. | Multi-layer-multi-reference prediction using adaptive temporal filtering |
CN110741640A (zh) * | 2017-08-22 | 2020-01-31 | 谷歌有限责任公司 | 用于视频代码化中的运动补偿预测的光流估计 |
US20200120342A1 (en) * | 2019-12-16 | 2020-04-16 | Intel Corporation | Motion adaptive encoding of video |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4032200B2 (ja) * | 1998-11-06 | 2008-01-16 | セイコーエプソン株式会社 | 画像データ補間方法、画像データ補間装置および画像データ補間プログラムを記録したコンピュータ読み取り可能な記録媒体 |
US6931062B2 (en) * | 2001-04-11 | 2005-08-16 | Koninklijke Philips Electronics N.V. | Decoding system and method for proper interpolation for motion compensation |
CN103297778B (zh) * | 2013-05-27 | 2017-04-19 | 华为技术有限公司 | 一种对图像进行编、解码的方法及设备 |
US20180109810A1 (en) * | 2016-10-17 | 2018-04-19 | Mediatek Inc. | Method and Apparatus for Reference Picture Generation and Management in 3D Video Compression |
CN111526370B (zh) * | 2020-04-17 | 2023-06-02 | Oppo广东移动通信有限公司 | 视频编码、解码方法及装置和电子设备 |
-
2020
- 2020-04-17 CN CN202010307909.7A patent/CN111526370B/zh active Active
-
2021
- 2021-02-18 WO PCT/CN2021/076735 patent/WO2021208588A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1592398A (zh) * | 2003-03-28 | 2005-03-09 | 株式会社东芝 | 帧插值方法和使用该方法的图像显示系统 |
KR20070011044A (ko) * | 2005-07-19 | 2007-01-24 | 삼성전자주식회사 | 계층적 구조에 적합하게 시간적 다이렉트 모드로인코딩하며, 디코딩하는 방법 및 장치 |
CN101188760A (zh) * | 2007-11-16 | 2008-05-28 | 中兴通讯股份有限公司 | 一种视频序列的编码方法 |
CN103975598A (zh) * | 2011-12-09 | 2014-08-06 | 高通股份有限公司 | 对于视图合成参考图片的参考图片列表修改 |
CN106658019A (zh) * | 2015-10-31 | 2017-05-10 | 华为技术有限公司 | 参考帧编解码的方法与装置 |
US20180184086A1 (en) * | 2016-12-22 | 2018-06-28 | Google Inc. | Multi-layer-multi-reference prediction using adaptive temporal filtering |
CN110741640A (zh) * | 2017-08-22 | 2020-01-31 | 谷歌有限责任公司 | 用于视频代码化中的运动补偿预测的光流估计 |
US20200120342A1 (en) * | 2019-12-16 | 2020-04-16 | Intel Corporation | Motion adaptive encoding of video |
Non-Patent Citations (2)
Title |
---|
HENGLU WEI: "Sub-Frame Layer Rate Distortion Optimization for High Efficiency Video Coding", 《IEEE ACCESS》 * |
武其达: "结合帧率变换与HEVC标准的新型视频压缩编码算法", 《自动化学报》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021208588A1 (zh) * | 2020-04-17 | 2021-10-21 | Oppo广东移动通信有限公司 | 视频编码、解码方法及装置和电子设备 |
CN111970562A (zh) * | 2020-08-17 | 2020-11-20 | Oppo广东移动通信有限公司 | 视频处理方法、视频处理装置、存储介质与电子设备 |
CN114363700A (zh) * | 2020-10-12 | 2022-04-15 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、存储介质及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111526370B (zh) | 2023-06-02 |
WO2021208588A1 (zh) | 2021-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111526370B (zh) | 视频编码、解码方法及装置和电子设备 | |
CN110809887B (zh) | 用于多参考预测的运动矢量修正的方法和装置 | |
US10104393B2 (en) | Video prediction encoding device, video prediction encoding method, video prediction encoding program, video prediction decoding device, video prediction decoding method, and video prediction decoding program | |
KR101443169B1 (ko) | 비디오 이미지의 움직임 정보를 취득하는 방법, 장치, 및 기기, 그리고 템플릿 구성 방법 | |
JP2020526066A (ja) | 動き補償のための複数の予測子候補 | |
KR102642784B1 (ko) | 모션 벡터 리파인먼트를 위한 제한된 메모리 액세스 윈도우 | |
CN108924553B (zh) | 视频编码、解码方法、装置、计算机设备和存储介质 | |
CN111630859A (zh) | 根据图像编码系统中的帧间预测进行图像解码的方法和装置 | |
US9473787B2 (en) | Video coding apparatus and video coding method | |
JP2020522913A (ja) | 低減されたメモリアクセスを用いてfrucモードでビデオデータを符号化又は復号する方法及び装置 | |
CN113573051B (zh) | 视频编解码设备、方法和计算机可读记录介质 | |
CN108848377B (zh) | 视频编码、解码方法、装置、计算机设备和存储介质 | |
CN111630861A (zh) | 视频处理方法和装置 | |
CN113709458B (zh) | 视频编解码中的位移矢量预测方法、装置及设备 | |
CN114900691A (zh) | 编码方法、编码器及计算机可读存储介质 | |
CN111277838B (zh) | 编码模式选择方法、装置、电子设备及计算机可读介质 | |
CN110572672B (zh) | 视频编解码方法和装置、存储介质及电子装置 | |
KR101431046B1 (ko) | Fruc를 위한 영상정보 인코딩 방법 및 장치, 저장매체 | |
US11589038B2 (en) | Methods for video encoding and video decoding | |
US11375202B2 (en) | Translational and affine candidates in a unified list | |
KR101500300B1 (ko) | 부호화기와 복호화기 사이에 상호작용이 가능한 선택적 저전력 비디오 코덱 장치, 이를 이용한 부호화 및 복호화 방법 | |
JP7248013B2 (ja) | 復号方法、復号装置、符号化装置及びプログラム | |
JP2021526325A (ja) | 符号化/復号化におけるデータ依存関係 | |
CN111247804B (zh) | 图像处理的方法与装置 | |
CN115511740A (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 |