CN112788346B - 编码结构选择方法及相关装置 - Google Patents
编码结构选择方法及相关装置 Download PDFInfo
- Publication number
- CN112788346B CN112788346B CN201911094947.2A CN201911094947A CN112788346B CN 112788346 B CN112788346 B CN 112788346B CN 201911094947 A CN201911094947 A CN 201911094947A CN 112788346 B CN112788346 B CN 112788346B
- Authority
- CN
- China
- Prior art keywords
- video
- sub
- video segment
- coding
- segment
- 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
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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请实施例公开了一种编码结构选择方法及相关装置,方法包括:获取待编码的视频片段,视频片段包括目标数量的视频帧;若目标数量大于等于第一预设数量,则根据视频片段包括的前第一预设数量的视频帧确定对视频片段进行编码所需的第一目标编码结构,第一目标编码结构的层级结构与视频片段包括的前第一预设数量的视频帧关联;若目标数量小于第一预设数量且大于等于第二预设数量,则根据视频片段确定对视频片段进行编码所需的第二目标编码结构,第二目标编码结构的层级结构与视频片段关联。采用本申请实施例有助于实现对不同视频帧数量的待编码的视频片段自动选择合适的编码结构,进而提高对待编码的视频片段进行编码的编码效率。
Description
技术领域
本申请涉及视频编码技术领域,尤其涉及一种编码结构选择方法及相关装置。
背景技术
目前,对不同视频帧数量的待编码的视频片段进行编码均使用固定编码结构,这样无法针对不同帧视频数量的待编码的视频片段选择合适的编码结构,进而降低对待编码的视频片段进行编码的编码效率。
发明内容
本申请实施例提供一种编码结构选择方法及相关装置,用于实现对不同视频帧数量的待编码的视频片段自动选择合适的编码结构,进而提高对待编码的视频片段进行编码的编码效率。
第一方面,本申请实施例提供一种编码结构选择方法,包括:
获取待编码的视频片段,所述视频片段包括目标数量的视频帧;
若所述目标数量大于等于第一预设数量,则根据所述视频片段包括的前第一预设数量的视频帧确定对所述视频片段进行编码所需的第一目标编码结构,所述第一目标编码结构的层级结构与所述视频片段包括的前第一预设数量的视频帧关联;
若所述目标数量小于所述第一预设数量且大于等于第二预设数量,则根据所述视频片段确定对所述视频片段进行编码所需的第二目标编码结构,所述第二目标编码结构的层级结构与所述视频片段关联。
第二方面,本申请实施例提供一种编码结构选择装置,包括:
获取单元,用于获取待编码的视频片段,所述视频片段包括目标数量的视频帧;
判断单元,用于判断所述目标数量是否大于等于第一预设数量和所述目标数量是否小于所述第一预设数量且大于等于第二预设数量;
确定单元,用于若所述判断单元判断出所述目标数量大于等于第一预设数量,则根据所述视频片段包括的前第一预设数量的视频帧确定对所述视频片段进行编码所需的第一目标编码结构,所述第一目标编码结构的层级结构与所述视频片段包括的前第一预设数量的视频帧关联;
确定单元,还用于若所述判断单元判断出所述目标数量小于所述第一预设数量且大于等于第二预设数量,则根据所述视频片段确定对所述视频片段进行编码需要的第二目标编码结构,所述第二目标编码结构的层级结构与所述视频片段关联。
第三方面,本申请实施例提供一种编码结构选择装置,包括处理器、存储器、通信接口以及一个或多个程序,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面所述的方法中的部分或全部步骤的指令。
第四方面,本申请实施例提供了一种计算机可读存储介质,上述计算机可读存储介质用于存储计算机程序,上述计算机程序被处理器执行,以实现如本申请实施例第一方面所述的方法中所描述的部分或全部步骤。
第五方面,本申请实施例提供了一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面所述的方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
可以看出,相较于对不同视频帧数量的待编码的视频片段进行编码均使用固定编码结构,在本申请实施例中,编码结构选择装置根据待编码的视频片段的视频帧数量选择对待编码的视频片段进行编码所需的目标编码结构,这样实现了对不同视频帧数量的待编码的视频片段进行编码不再使用固定编码结构,而是对不同视频帧数量的待编码的视频片段自动选择合适的编码结构,进而使用合适的编码结构对待编码的视频片段进行编码,有助于提高对待编码的视频片段进行编码的编码效率。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1A是本申请实施例提供的第一种编码结构选择方法的流程示意图;
图1B是本申请实施例提供的一种第一子视频片段、第二子视频片段和第三子视频片段的示意图;
图1C是本申请实施例提供的一种第一编码结构的示意图;
图1D是本申请实施例提供的一种第四子视频片段的示意图;
图1E是本申请实施例提供的一种第五子视频片段的示意图;
图1F是本申请实施例提供的一种第二编码结构的示意图;
图1G是本申请实施例提供的一种第六子视频片段、第七子视频片段和第八子视频片段的示意图;
图1H是本申请实施例提供的一种第九子视频片段的示意图;
图1I是本申请实施例提供的一种第十子视频片段的示意图;
图2是本申请实施例提供的第二种编码结构选择方法的流程示意图;
图3是本申请实施例提供的第三种编码结构选择方法的流程示意图;
图4是本申请实施例提供的一种编码结构选择装置的功能单元组成框图;
图5是本申请实施例提供的一种编码结构选择装置的结构示意图。
具体实现方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
下面对本申请实施例进行详细介绍。
请参见图1A,图1A是本申请实施例提供的第一种编码结构选择方法的流程示意图,该编码结构选择方法包括步骤101-103,具体如下:
101:编码结构选择装置获取待编码的视频片段,所述视频片段包括目标数量的视频帧。
在本申请实施例中,待编码的视频片段可以为对原始视频片段筛选掉I帧后的视频片段,也可以为原始视频片段中两个I帧之间的视频片段,I帧为帧内编码帧,待编码的视频片段仅包括P帧和B帧,P帧是前向预测编码帧,B帧是双向预测内插编码帧。
102:若所述目标数量大于等于第一预设数量,则编码结构选择装置根据所述视频片段包括的前第一预设数量的视频帧确定对所述视频片段进行编码所需的第一目标编码结构,所述第一目标编码结构的层级结构与所述视频片段包括的前第一预设数量的视频帧关联。
第一预设数量预先存储于编码结构选择装置中,第一预设数量可以为32。
如果视频片段包括64个视频帧,第一预设数量为32,64个视频帧的编号分别为1-64,那么该视频片段包括的前第一预设数量的视频帧包括编号为1-32的32个视频帧。
在一个可能的示例中,编码结构选择装置根据所述视频片段包括的前第一预设数量的视频帧确定对所述视频片段进行编码所需的第一目标编码结构,包括:
编码结构选择装置对所述视频片段包括的前第一预设数量的视频帧进行第一次视频片段转换,得到至少两个初始子视频片段,所述至少两个初始子视频片段中的每个初始子视频片段的视频帧数量均为所述第一预设数量;
编码结构选择装置根据所述至少两个初始子视频片段确定对所述视频片段进行编码所需的第一目标编码结构。
在一个可能的示例中,编码结构选择装置对所述视频片段包括的前第一预设数量的视频帧进行第一次视频片段装换,得到至少两个初始子视频片段,包括:
编码结构选择装置将所述视频片段包括的前第一预设数量的视频帧分别转换成第一子视频片段、第二子视频片段和第三子视频片段;
编码结构选择装置将所述第一子视频片段、所述第二子视频片段和所述第三子视频片段确定为至少两个初始子视频片段;
其中,所述第一子视频片段由连续且视频帧数量相同的子视频分段G11和子视频分段G12组成,所述第二子视频片段由连续且视频帧数量的比值为2:1:1的子视频分段G21、子视频分段G22和子视频分段G23组成,所述第三子视频片段由连续且视频帧数量的比值为1:1:2的子视频分段G31、子视频分段G32和子视频分段G33组成。
在一个可能的示例中,编码结构选择装置根据所述至少两个初始子视频片段确定对所述视频片段进行编码所需的第一目标编码结构,包括:
编码结构选择装置分别对所述第一子视频片段、所述第二子视频片段和所述第三子视频片段进行编码代价的计算,得到所述第一子视频片段对应第一编码代价值、所述第二子视频片段对应的第二编码代价值和所述第三子视频片段对应的第三编码代价值;
若所述第三编码代价值为所述第一编码代价值、所述第二编码代价值和所述第三编码代价值中最小的,则编码结构选择装置将预先存储的第一编码结构确定为对所述视频片段进行编码所需的第一目标编码结构;所述第一编码结构的层级结构为第一层级结构;其中,所述第一编码结构的视频帧数量为所述第一预设数量的四分之一。
举例来说,如图1B所示,图1B为本申请实施例提供的一种第一子视频片段、第二子视频片段和第三子视频片段的示意图,视频片段包括的前第一预设数量的视频帧包括32个视频帧,第一子视频片段由连续的子视频分段G11和子视频分段G12组成,子视频分段G11和子视频分段G12的视频帧数量均为16,第二子视频片段由连续的子视频分段G21、子视频分段G22和子视频分段G23组成,子视频分段G21的视频帧数量为16,子视频分段G22和子视频分段G23的视频帧数量均为8,第三子视频片段由连续的子视频分段G31、子视频分段G32和子视频分段G33组成,子视频分段G31和子视频分段G32的视频帧数量均为8,子视频分段G33的视频帧数量为16。
编码结构选择装置分别对第一子视频片段、第二子视频片段和第三子视频片段进行编码代价的计算可以采用串行方式,也可以采用并行方式。
编码结构选择装置对子视频片段进行编码代价的计算是对该子视频片段包括的所有视频帧中的每个视频帧进行编码代价的计算,子视频片段可以为第一子视频片段、第二子视频片段或第三子视频片段。
编码结构选择装置使用预先存储的帧内预测算法和帧间预测算法对视频帧进行编码代价的计算,得到该视频帧的编码代价值,视频帧的编码代价值为对该视频帧进行编码所需的视频码率和编码失真的加权值,帧内预测算法和帧间预测算法预先存储于编码结构选择装置中。
第一编码代价值是第一子视频片段包括的所有视频帧的编码代价值的和,第二编码代价值是第二子视频片段包括的所有视频帧的编码代价值的和,第三编码代价值是第三子视频片段包括的所有视频帧的编码代价值的和。
举例来说,如图1C所示,图1C是本申请实施例提供的一种第一编码结构的示意图,第一编码结构包括1个P帧和7个B帧,第一编码结构还包括1个帧内预测帧(I帧),第一编码结构为4层结构,第1层结构包括4个B帧,第2层结构包括2个B帧,第3层结构包括1个B帧,第4层结构包括1个I帧和1个P帧。
上述图1C是对第一编码结构的示例性说明,不应理解为对第一编码结构的限定。
如果第一预设数量为32,那么第一编码结构的视频帧数量为8,换句话说,第一编码结构包括的P帧和B帧的数量为8。
可见,在本示例中,如果第三编码代价值为第一编码代价值、第二编码代价值和第三编码代价值中最小的,那么使用层级结构的复杂度相对较小的编码结构对该视频片段进行编码的编码效率相对较高。此时从第一层级结构和第二层级结构中选取复杂度小的第一层级结构对应的第一编码结构作为对视频片段进行编码所需的编码结构,这样有助于提高对待编码的视频片段进行编码的编码效率。
在一个可能的示例中,所述方法还包括:
若所述第三编码代价值不为所述第一编码代价值、所述第二编码代价值和所述第三编码代价值中最小的,则编码结构选择装置将所述视频片段包括的前第一预设数量的视频帧转换成视频帧数量为所述第一预设数量的第四子视频片段;其中,所述第四子视频片段由连续且视频帧数量的比值为1:2:1的子视频分段G41、子视频分段G42和子视频分段G43组成;
编码结构选择装置对所述第四子视频片段进行编码代价的计算,得到所述第四子视频片段对应的第四编码代价值;
若所述第四编码代价值为所述第一编码代价值、所述第二编码代价值、所述第三编码代价值和所述第四编码代价值中最小的,则编码结构选择装置将所述第一编码结构确定为对所述视频片段进行编码所需的第一目标编码结构。
举例来说,如图1D所示,图1D是本申请实施例提供的一种第四子视频片段的示意图,视频片段包括的前第一预设数量的视频帧包括32个视频帧,第四子视频片段由连续的子视频分段G41、子视频分段G42和子视频分段G43组成,子视频分段G41和子视频分段G43的视频帧数量均为8,子视频分段G42的视频帧数量为16。
编码结构选择装置获得第四编码代价值的实施方式参见上述获得第一编码代价值的实施方式。
第四编码代价值是第四子视频片段包括的所有视频帧的编码代价值的和。
可见,在本示例中,如果第四编码代价值为第一编码代价值、第二编码代价值、第三编码代价值和第四编码代价值中最小的,那么使用层级结构的复杂度相对较小的编码结构对该视频片段进行编码的编码效率相对较高。此时从第一层级结构和第二层级结构中选取复杂度小的第一层级结构对应的第一编码结构作为对视频片段进行编码所需的编码结构,这样有助于提高对待编码的视频片段进行编码的编码效率。
在一个可能的示例中,所述方法还包括:
若所述第四编码代价值不为所述第一编码代价值、所述第二编码代价值、所述第三编码代价值和所述第四编码代价值中最小的,则编码结构选择装置将所述视频片段包括的前第一预设数量的视频帧转换成视频帧数量为所述第一预设数量的第五子视频片段;其中,所述第五子视频片段由连续且视频帧数量相同的子视频分段G51、子视频分段G52、子视频分段G53和子视频分段G54组成;
编码结构选择装置对所述第五子视频片段进行编码代价的计算,得到所述第五子视频片段对应的第五编码代价值;
若所述第五编码代价值为所述第一编码代价值、所述第二编码代价值、所述第三编码代价值、所述第四编码代价值和所述第五编码代价值中最小的,则编码结构选择装置将所述第一编码结构确定为对所述视频片段进行编码所需的第一目标编码结构;
若所述第五编码代价值不为所述第一编码代价值、所述第二编码代价值、所述第三编码代价值、所述第四编码代价值和所述第五编码代价值中最小的,则编码结构选择装置将预先存储的第二编码结构确定为对所述视频片段进行编码所需的第一目标编码结构;所述第二编码结构的层级结构为第二层级结构;所述第二层级结构的复杂度大于所述第一层级结构的复杂度;其中,所述第二编码结构的视频帧数量为所述第一预设数量的一半。
举例来说,如图1E所示,图1E是本申请实施例提供的一种第五子视频片段的示意图,视频片段包括的前第一预设数量的视频帧包括32个视频帧,第五子视频片段由连续的子视频分段G51、子视频分段G52、子视频分段G53和子视频分段G54组成,子视频分段G51、子视频分段G52、子视频分段G53和子视频分段G54的视频帧数量均为8。
编码结构选择装置获得第四编码代价值的实施方式参见上述获得第一编码代价值的实施方式。
第五编码代价值是第五子视频片段包括的所有视频帧的编码代价值的和。
举例来说,如图1F所示,图1F是本申请实施例提供的一种第二编码结构的示意图,第二编码结构包括1个P帧和15个B帧,第二编码结构还包括1个帧内预测帧(I帧),第二编码结构为5层结构,第1层结构包括8个B帧,第2层结构包括4个B帧,第3层结构包括2个B帧,第4层结构包括1个B帧,第5层结构包括1个I帧和1个P帧。
上述图1F是对第二编码结构的示例性说明,不应理解为对第二编码结构的限定。
如果第一预设数量为32,那么第二编码结构的视频帧数量为16,换句话说,第二编码结构包括的P帧和B的数量为16。
可见,在本示例中,如果第五编码代价值为第一编码代价值、第二编码代价值、第三编码代价值、第四编码代价值和第五编码代价值中最小的,那么使用层级结构的复杂度相对较小的编码结构对该视频片段进行编码的编码效率相对较高。此时从第一层级结构和第二层级结构中选取复杂度小的第一层级结构对应的第一编码结构作为对视频片段进行编码所需的编码结构,这样有助于提高对待编码的视频片段进行编码的编码效率。否则,使用层级结构的复杂度相对较大的编码结构对该视频片段进行编码的编码效率相对较高。此时从第一层级结构和第二层级结构中选取复杂度大的第二层级结构对应的第二编码结构作为对视频片段进行编码所需的编码结构,这样有助于提高对待编码的视频片段进行编码的编码效率。
在本申请实施例中,基于多个子视频片段中的每个子视频片段的编码代价值确定对待编码的视频片段进行编码所需的编码结构和该编码结构的层级结构是基于编码人员的历史编码经验得到的。
103:若所述目标数量小于所述第一预设数量且大于等于第二预设数量,则编码结构选择装置根据所述视频片段确定对所述视频片段进行编码所需的第二目标编码结构,所述第二目标编码结构的层级结构与所述视频片段关联。
第二预设数量预先存储于编码结构选择装置中,第二预设数量可以为24。
可以看出,相较于对不同视频帧数量的待编码的视频片段进行编码均使用固定编码结构,在本申请实施例中,编码结构选择装置根据待编码的视频片段的视频帧数量选择对待编码的视频片段进行编码所需的目标编码结构,这样实现了对不同视频帧数量的待编码的视频片段进行编码不再使用固定编码结构,而是对不同视频帧数量的待编码的视频片段自动选择合适的编码结构,进而使用合适的编码结构对待编码的视频片段进行编码,有助于提高对待编码的视频片段进行编码的编码效率。
在一个可能的示例中,编码结构选择装置根据所述视频片段确定对所述视频片段进行编码所需的第二目标编码结构,包括:
编码结构选择装置对所述视频片段进行第二次视频片段转换,得到至少两个中间子视频片段,所述至少两个中间子视频片段中的每个中间子视频片段的视频帧数量均为所述目标数量;
编码结构选择装置根据所述至少两个中间子视频片段确定对所述视频片段进行编码所需的第二目标编码结构。
在一个可能的示例中,编码结构选择装置对所述视频片段进行第二次视频片段转换,得到至少两个中间子视频片段,包括:
编码结构选择装置将所述视频片段分别转换成第六子视频片段、第七子视频片段和第八子视频片段;
编码结构选择装置将所述第六子视频片段、所述第七子视频片段和所述第八子视频片段确定为至少两个中间子视频片段;
其中,所述第六子视频片段由连续且视频帧数量的比值为2M:(N-2M)的子视频分段G61和子视频分段G62组成,所述第七子视频片段由连续且视频帧数量的比值为2M:M:(N-3M)的子视频分段G71、子视频分段G72和子视频分段G73组成,所述第八子视频片段由连续且视频帧数量的比值为M:M:(N-2M)的子视频分段G81、子视频分段G82和子视频分段G83组成,所述N为所述目标数量,所述M为8,所述N为大于等于24且小于32的整数。
在一个可能的示例中,编码结构选择装置根据所述至少两个中间子视频片段确定对所述视频片段进行编码所需的第二目标编码结构,包括:
编码结构选择装置分别对所述第六子视频片段、所述第七子视频片段和所述第八子视频片段进行编码代价的计算,得到所述第六子视频片段对应第六编码代价值、所述第七子视频片段对应的第七编码代价值和所述第八子视频片段对应的第八编码代价值;
若所述第八编码代价值为所述第六编码代价值、所述第七编码代价值和所述第八编码代价值中最小的,则编码结构选择装置将预先存储的第一编码结构确定为对所述视频片段进行编码所需的第二目标编码结构;所述第一编码结构的层级结构为第一层级结构;其中,所述第一编码结构的视频帧数量为M。
举例来说,如图1G所示,图1G是本申请实施例提供的一种第六子视频片段、第七子视频片段和第八子视频片段的示意图,视频片段包括30个视频帧(即N=30),M=8,第六子视频片段由连续的子视频分段G61和子视频分段G62组成,子视频分段G61的视频帧数量为16,子视频分段G62的视频帧数量为14,第七子视频片段由连续的子视频分段G71、子视频分段G72和子视频分段G73组成,子视频分段G71的视频帧数量为16,子视频分段G72的视频帧数量为8,子视频分段G73的视频帧数量为6,第八子视频片段由连续的子视频分段G81、子视频分段G82和子视频分段G83组成,子视频分段G81和子视频分段G82的视频帧数量均为8,子视频分段G83的视频帧数量为14。
编码结构选择装置分别对第六子视频片段、第七子视频片段和第八子视频片段进行编码代价的计算可以采用串行方式,也可以采用并行方式。
编码结构选择装置获得第六编码代价值、第七编码代价值或第八编码代价值的实施方式参见上述获得第一编码代价值的实施方式。
第六编码代价值是第六子视频片段包括的所有视频帧的编码代价值的和,第七编码代价值是第七子视频片段包括的所有视频帧的编码代价值的和,第八编码代价值是第八子视频片段包括的所有视频帧的编码代价值的和。
第一编码结构参见上述图1C的描述。
可见,在本示例中,如果第八编码代价值为第六编码代价值、第七编码代价值和第八编码代价值中最小的,那么使用层级结构的复杂度相对较小的编码结构对该视频片段进行编码的编码效率相对较高。此时从第一层级结构和第二层级结构中选取复杂度小的第一层级结构对应的第一编码结构作为对视频片段进行编码所需的编码结构,这样有助于提高对待编码的视频片段进行编码的编码效率。
在一个可能的示例中,所述方法还包括:
若所述第八编码代价值不为所述第六编码代价值、所述第七编码代价值和所述第八编码代价值中最小的,则编码结构选择装置将所述视频片段转换成视频帧数量为所述目标数量的第九子视频片段;其中,所述第九子视频片段由连续且视频帧数量的比值为M:2M:(N-3M)子视频分段G91、子视频分段G92和子视频分段G93组成;
编码结构选择装置对所述第九子视频片段进行编码代价的计算,得到所述第九子视频片段对应的第九编码代价值;
若所述第九编码代价值为所述第六编码代价值、所述第七编码代价值、所述第八编码代价值和所述第九编码代价值中最小的,则编码结构选择装置将所述第一编码结构确定为对所述视频片段进行编码所需的第二目标编码结构。
举例来说,如图1H所示,图1H是本申请实施例提供的一种第九子视频片段的示意图,视频片段包括30个视频帧,第九子视频片段由连续的子视频分段G91、子视频分段G92和子视频分段G93组成,子视频分段G91的视频帧数量为8,子视频分段G92的视频帧数量为16,子视频分段G93的视频帧数量为6。
编码结构选择装置获得第九编码代价值的实施方式参见上述获得第一编码代价值的实施方式。
第九编码代价值是第九子视频片段包括的所有视频帧的编码代价值的和。
可见,在本示例中,如果第九编码代价值为第六编码代价值、第七编码代价值、第八编码代价值和第九编码代价值中最小的,那么使用层级结构的复杂度相对较小的编码结构对该视频片段进行编码的编码效率相对较高。此时从第一层级结构和第二层级结构中选取复杂度小的第一层级结构对应的第一编码结构作为对视频片段进行编码所需的编码结构,这样有助于提高对待编码的视频片段进行编码的编码效率。
在一个可能的示例中,所述方法还包括:
若所述第九编码代价值不为所述第六编码代价值、所述第七编码代价值、所述第八编码代价值和所述第九编码代价值中最小的,则编码结构选择装置将所述视频片段转换成视频帧数量为所述目标数量的第十子视频片段;其中,所述第十子视频片段由连续且视频帧数量的比值为M:M:M:(N-3M)的子视频分段G101、子视频分段G102、子视频分段G103和子视频分段G104组成;
编码结构选择装置对所述第十子视频片段进行编码代价的计算,得到所述第十子视频片段对应的第十编码代价值;
若所述第十编码代价值为所述第六编码代价值、所述第七编码代价值、所述第八编码代价值、所述第九编码代价值和所述第十编码代价值中最小的,则编码结构选择装置将所述第一编码结构确定为对所述视频片段进行编码所需的第二目标编码结构;
若所述第十编码代价值不为所述第六编码代价值、所述第七编码代价值、所述第八编码代价值、所述第九编码代价值和所述第十编码代价值中最小的,则编码结构选择装置将预先存储的第二编码结构确定为对所述视频片段进行编码所需的第二目标编码结构;所述第二编码结构的层级结构为第二层级结构;所述第二层级结构的复杂度大于所述第一层级结构的复杂度;其中,所述第二编码结构的视频帧数量为2M。
举例来说,如图1I所示,图1I是本申请实施例提供的一种第十子视频片段的示意图,视频片段包括30个视频帧,第十子视频片段由连续的子视频分段G101、子视频分段G102、子视频分段G103和子视频分段G104组成,子视频分段G101、子视频分段G102和子视频分段G103的视频帧数量均为8,子视频分段G104的视频帧数量为6。
编码结构选择装置获得第十编码代价值的实施方式参见上述获得第一编码代价值的实施方式。
第十编码代价值是第十子视频片段包括的所有视频帧的编码代价值的和。
第二编码结构参见上述关于图1F的描述。
可见,在本示例中,如果第十编码代价值为第六编码代价值、第七编码代价值、第八编码代价值、第九编码代价值和第十编码代价值中最小的,那么使用层级结构的复杂度相对较小的编码结构对该视频片段进行编码的编码效率相对较高。此时从第一层级结构和第二层级结构中选取复杂度小的第一层级结构对应的第一编码结构作为对视频片段进行编码所需的编码结构,这样有助于提高对待编码的视频片段进行编码的编码效率。否则,使用层级结构的复杂度相对较大的编码结构对该视频片段进行编码的编码效率相对较高。此时从第一层级结构和第二层级结构中选取复杂度大的第二层级结构对应的第二编码结构作为对视频片段进行编码所需的编码结构,这样有助于提高对待编码的视频片段进行编码的编码效率。
在一个可能的示例中,编码结构选择装置确定对所述视频片段进行编码所需的目标编码结构之后,方法还包括:
编码结构选择装置向对所述视频片段进行编码的编码器发送所述目标编码结构;
编码结构选择装置向对所述视频片段进行解码的解码器发送所述目标编码结构。
可见,在示例中,编码器可以根据接收到的目标编码结构对该视频片段进行编码,这样有助于提高对该视频片段进行编码的编码效率;此外,解码器可以根据目标编码结构选择合适的解码结构对该视频片段进行解码,这样有助于提高对该视频片段进行解码的解码效率。
与上述图1A所示的实施例一致的,请参见图2,图2是本申请实施例提供的第二种编码结构选择方法的流程示意图,该编码结构选择方法包括步骤201-214,具体如下:
201:编码结构选择装置获取待编码的视频片段,所述视频片段包括目标数量的视频帧。
202:若所述目标数量大于等于第一预设数量,则编码结构选择装置将所述视频片段包括的前第一预设数量的视频帧分别转换成视频帧数量为所述第一预设数量的第一子视频片段、第二子视频片段和第三子视频片段;其中,所述第一子视频片段由连续且视频帧数量相同的子视频分段G11和子视频分段G12组成,所述第二子视频片段由连续且视频帧数量的比值为2:1:1的子视频分段G21、子视频分段G22和子视频分段G23组成,所述第三子视频片段由连续且视频帧数量的比值为1:1:2的子视频分段G31、子视频分段G32和子视频分段G33组成。
203:编码结构选择装置分别对所述第一子视频片段、所述第二子视频片段和所述第三子视频片段进行编码代价的计算,得到所述第一子视频片段对应第一编码代价值、所述第二子视频片段对应的第二编码代价值和所述第三子视频片段对应的第三编码代价值。
204:编码结构选择装置判断所述第三编码代价值是否为所述第一编码代价值、所述第二编码代价值和所述第三编码代价值中最小的;
若是,则编码结构选择装置执行步骤205。
若否,则编码结构选择装置执行步骤206。
205:编码结构选择装置将预先存储的第一编码结构确定为对所述视频片段进行编码所需的第一目标编码结构;所述第一编码结构的层级结构为第一层级结构;其中,所述第一编码结构的视频帧数量为所述第一预设数量的四分之一。
206:编码结构选择装置将所述视频片段包括的前第一预设数量的视频帧转换成视频帧数量为所述第一预设数量的第四子视频片段;其中,所述第四子视频片段由连续且视频帧数量的比值为1:2:1的子视频分段G41、子视频分段G42和子视频分段G43组成。
207:编码结构选择装置对所述第四子视频片段进行编码代价的计算,得到所述第四子视频片段对应的第四编码代价值。
208:编码结构选择装置判断所述第四编码代价值是否为所述第一编码代价值、所述第二编码代价值、所述第三编码代价值和所述第四编码代价值中最小的;
若是,则编码结构选择装置执行步骤209。
若否,则编码结构选择装置执行步骤210。
209:编码结构选择装置将所述第一编码结构确定为对所述视频片段进行编码所需的第一目标编码结构。
210:编码结构选择装置将所述视频片段包括的前第一预设数量的视频帧转换成视频帧数量为所述第一预设数量的第五子视频片段;其中,所述第五子视频片段由连续且视频帧数量相同的子视频分段G51、子视频分段G52、子视频分段G53和子视频分段G54组成。
211:编码结构选择装置对所述第五子视频片段进行编码代价的计算,得到所述第五子视频片段对应的第五编码代价值。
212:编码结构选择装置判断所述第五编码代价值是否为所述第一编码代价值、所述第二编码代价值、所述第三编码代价值、所述第四编码代价值和所述第五编码代价值中最小的;
若是,则编码结构选择装置执行步骤213。
若否,则编码结构选择装置执行步骤214。
213:编码结构选择装置将所述第一编码结构确定为对所述视频片段进行编码所需的第一目标编码结构。
214:编码结构选择装置将预先存储的第二编码结构确定为对所述视频片段进行编码所需的第一目标编码结构;所述第二编码结构的层级结构为第二层级结构;所述第二层级结构的复杂度大于所述第一层级结构的复杂度;其中,所述第二编码结构的视频帧数量为所述第一预设数量的一半。
需要说明的是,图2所示的方法的各个步骤的具体实现过程可参见上述方法所述的具体实现过程,在此不再叙述。
与上述图1A所示的实施例一致的,请参见图3,图3是本申请实施例提供的第三种编码结构选择方法的流程示意图,该编码结构选择方法包括步骤301-314,具体如下:
301:编码结构选择装置获取待编码的视频片段,所述视频片段包括目标数量的视频帧。
302:若所述目标数量小于第一预设数量且大于等于第二预设数量,则编码结构选择装置将所述视频片段分别转换成视频帧数量为所述目标数量的第六子视频片段、第七子视频片段和第八子视频片段;其中,所述第六子视频片段由连续且视频帧数量的比值为2M:(N-2M)的子视频分段G61和子视频分段G62组成,所述第七子视频片段由连续且视频帧数量的比值为2M:M:(N-3M)的子视频分段G71、子视频分段G72和子视频分段G73组成,所述第八子视频片段由连续且视频帧数量的比值为M:M:(N-2M)的子视频分段G81、子视频分段G82和子视频分段G83组成,所述N为所述目标数量,所述M为8,所述N为大于等于24且小于32的整数。
303:编码结构选择装置分别对所述第六子视频片段、所述第七子视频片段和所述第八子视频片段进行编码代价的计算,得到所述第六子视频片段对应第六编码代价值、所述第七子视频片段对应的第七编码代价值和所述第八子视频片段对应的第八编码代价值。
304:编码结构选择装置判断所述第八编码代价值是否为所述第六编码代价值、所述第七编码代价值和所述第八编码代价值中最小的;
若是,则执行步骤305。
若否,则执行步骤306。
305:编码结构选择装置将预先存储的第一编码结构确定为对所述视频片段进行编码所需的第二目标编码结构;所述第一编码结构的层级结构为第一层级结构;其中,所述第一编码结构的视频帧数量为M。
306:编码结构选择装置将所述视频片段转换成视频帧数量为所述目标数量的第九子视频片段;其中,所述第九子视频片段由连续且视频帧数量的比值为M:2M:(N-3M)子视频分段G91、子视频分段G92和子视频分段G93组成。
307:编码结构选择装置对所述第九子视频片段进行编码代价的计算,得到所述第九子视频片段对应的第九编码代价值。
308:编码结构选择装置判断所述第九编码代价值是否为所述第六编码代价值、所述第七编码代价值、所述第八编码代价值和所述第九编码代价值中最小的;
若是,则编码结构选择装置执行步骤309。
若否,则编码结构选择装置执行步骤310。
309:编码结构选择装置将所述第一编码结构确定为对所述视频片段进行编码所需的第二目标编码结构。
310:编码结构选择装置将所述视频片段转换成视频帧数量为所述目标数量的第十子视频片段;其中,所述第十子视频片段由连续且视频帧数量的比值为M:M:M:(N-3M)的子视频分段G101、子视频分段G102、子视频分段G103和子视频分段G104组成。
311:编码结构选择装置对所述第十子视频片段进行编码代价的计算,得到所述第十子视频片段对应的第十编码代价值。
312:编码结构选择装置判断所述第十编码代价值是否为所述第六编码代价值、所述第七编码代价值、所述第八编码代价值、所述第九编码代价值和所述第十编码代价值中最小的;
若是,则编码结构选择装置执行步骤313。
若否,则编码结构选择装置执行步骤314。
313:编码结构选择装置将所述第一编码结构确定为对所述视频片段进行编码所需的第二目标编码结构。
314:编码结构选择装置将预先存储的第二编码结构确定为对所述视频片段进行编码所需的第二目标编码结构;所述第二编码结构的层级结构为第二层级结构;所述第二层级结构的复杂度大于所述第一层级结构的复杂度;其中,所述第二编码结构的视频帧数量为2M。
需要说明的是,图3所示的方法的各个步骤的具体实现过程可参见上述方法所述的具体实现过程,在此不再叙述。
请参见图4,图4是本申请实施例提供的一种编码结构选择装置的功能单元组成框图,该编码结构选择装置400包括:
获取单元401,用于获取待编码的视频片段,所述视频片段包括目标数量的视频帧;
判断单元402,用于判断所述目标数量是否大于等于第一预设数量和所述目标数量是否小于所述第一预设数量且大于等于第二预设数量;
确定单元403,用于若所述判断单元判断出所述目标数量大于等于第一预设数量,则根据所述视频片段包括的前第一预设数量的视频帧确定对所述视频片段进行编码所需的第一目标编码结构,所述第一目标编码结构的层级结构与所述视频片段包括的前第一预设数量的视频帧关联;
确定单元403,还用于若所述判断单元判断出所述目标数量小于所述第一预设数量且大于等于第二预设数量,则根据所述视频片段确定对所述视频片段进行编码所需的第二目标编码结构,所述第二目标编码结构的层级结构与所述视频片段关联。
在一个可能的示例中,在根据所述视频片段包括的前第一预设数量的视频帧确定对所述视频片段进行编码所需的第一目标编码结构方面,上述确定单元403具体用于:
对所述视频片段包括的前第一预设数量的视频帧进行第一次视频片段转换,得到至少两个初始子视频片段,所述至少两个初始子视频片段中的每个初始子视频片段的视频帧数量均为所述第一预设数量;
根据所述至少两个初始子视频片段确定对所述视频片段进行编码所需的第一目标编码结构。
在一个可能的示例中,在对所述视频片段包括的前第一预设数量的视频帧进行第一次视频片段转换,得到至少两个初始子视频片段方面,上述确定单元403具体用于:
将所述视频片段包括的前第一预设数量的视频帧分别转换成第一子视频片段、第二子视频片段和第三子视频片段;
将所述第一子视频片段、所述第二子视频片段和所述第三子视频片段确定为至少两个初始子视频片段;
其中,所述第一子视频片段由连续且视频帧数量相同的子视频分段G11和子视频分段G12组成,所述第二子视频片段由连续且视频帧数量的比值为2:1:1的子视频分段G21、子视频分段G22和子视频分段G23组成,所述第三子视频片段由连续且视频帧数量的比值为1:1:2的子视频分段G31、子视频分段G32和子视频分段G33组成。
在一个可能的示例中,在根据所述至少两个初始子视频片段确定对所述视频片段进行编码所需的第一目标编码结构方面,上述确定单元403具体用于:
分别对所述第一子视频片段、所述第二子视频片段和所述第三子视频片段进行编码代价的计算,得到所述第一子视频片段对应第一编码代价值、所述第二子视频片段对应的第二编码代价值和所述第三子视频片段对应的第三编码代价值;
若所述第三编码代价值为所述第一编码代价值、所述第二编码代价值和所述第三编码代价值中最小的,则将预先存储的第一编码结构确定为对所述视频片段进行编码所需的第一目标编码结构;所述第一编码结构的层级结构为第一层级结构;其中,所述第一编码结构的视频帧数量为所述第一预设数量的四分之一。
在一个可能的示例中,在根据所述视频片段包括的前第一预设数量的视频帧确定对所述视频片段进行编码所需的第一目标编码结构方面,上述确定单元403具体用于:
若所述第三编码代价值不为所述第一编码代价值、所述第二编码代价值和所述第三编码代价值中最小的,则将所述视频片段包括的前第一预设数量的视频帧转换成视频帧数量为所述第一预设数量的第四子视频片段;其中,所述第四子视频片段由连续且视频帧数量的比值为1:2:1的子视频分段G41、子视频分段G42和子视频分段G43组成;
对所述第四子视频片段进行编码代价的计算,得到所述第四子视频片段对应的第四编码代价值;
若所述第四编码代价值为所述第一编码代价值、所述第二编码代价值、所述第三编码代价值和所述第四编码代价值中最小的,则将所述第一编码结构确定为对所述视频片段进行编码所需的第一目标编码结构。
在一个可能的示例中,在根据所述视频片段包括的前第一预设数量的视频帧确定对所述视频片段进行编码所需的第一目标编码结构方面,上述确定单元403具体用于:
若所述第四编码代价值不为所述第一编码代价值、所述第二编码代价值、所述第三编码代价值和所述第四编码代价值中最小的,则将所述视频片段包括的前第一预设数量的视频帧转换成视频帧数量为所述第一预设数量的第五子视频片段;其中,所述第五子视频片段由连续且视频帧数量相同的子视频分段G51、子视频分段G52、子视频分段G53和子视频分段G54组成;
对所述第五子视频片段进行编码代价的计算,得到所述第五子视频片段对应的第五编码代价值;
若所述第五编码代价值为所述第一编码代价值、所述第二编码代价值、所述第三编码代价值、所述第四编码代价值和所述第五编码代价值中最小的,则将所述第一编码结构确定为对所述视频片段进行编码所需的第一目标编码结构;
若所述第五编码代价值不为所述第一编码代价值、所述第二编码代价值、所述第三编码代价值、所述第四编码代价值和所述第五编码代价值中最小的,则将预先存储的第二编码结构确定为对所述视频片段进行编码所需的第一目标编码结构;所述第二编码结构的层级结构为第二层级结构;所述第二层级结构的复杂度大于所述第一层级结构的复杂度;其中,所述第二编码结构的视频帧数量为所述第一预设数量的一半。
在一个可能的示例中,在根据所述视频片段确定对所述视频片段进行编码所需的第二目标编码结构方面,上述确定单元403具体用于:
对所述视频片段进行第二次视频片段转换,得到至少两个中间子视频片段,所述至少两个中间子视频片段中的每个中间子视频片段的视频帧数量均为所述目标数量;
根据所述至少两个中间子视频片段确定对所述视频片段进行编码所需的第二目标编码结构。
在一个可能的示例中,在对所述视频片段进行第二次视频片段转换,得到至少两个中间子视频片段方面,上述确定单元403具体用于:
将所述视频片段分别转换成第六子视频片段、第七子视频片段和第八子视频片段;
将所述第六子视频片段、所述第七子视频片段和所述第八子视频片段确定为至少两个中间子视频片段;
其中,所述第六子视频片段由连续且视频帧数量的比值为2M:(N-2M)的子视频分段G61和子视频分段G62组成,所述第七子视频片段由连续且视频帧数量的比值为2M:M:(N-3M)的子视频分段G71、子视频分段G72和子视频分段G73组成,所述第八子视频片段由连续且视频帧数量的比值为M:M:(N-2M)的子视频分段G81、子视频分段G82和子视频分段G83组成,所述N为所述目标数量,所述M为8,所述N为大于等于24且小于32的整数。
在一个可能的示例中,在根据所述至少两个中间子视频片段确定对所述视频片段进行编码所需的第二目标编码结构方面,上述确定单元403具体用于:
分别对所述第六子视频片段、所述第七子视频片段和所述第八子视频片段进行编码代价的计算,得到所述第六子视频片段对应第六编码代价值、所述第七子视频片段对应的第七编码代价值和所述第八子视频片段对应的第八编码代价值;
若所述第八编码代价值为所述第六编码代价值、所述第七编码代价值和所述第八编码代价值中最小的,则将预先存储的第一编码结构确定为对所述视频片段进行编码所需的第二目标编码结构;所述第一编码结构的层级结构为第一层级结构;其中,所述第一编码结构的视频帧数量为M。
在一个可能的示例中,在根据所述视频片段确定对所述视频片段进行编码所需的第二目标编码结构方面,上述确定单元403具体用于:
若所述第八编码代价值不为所述第六编码代价值、所述第七编码代价值和所述第八编码代价值中最小的,则将所述视频片段转换成视频帧数量为所述目标数量的第九子视频片段;其中,所述第九子视频片段由连续且视频帧数量的比值为M:2M:(N-3M)子视频分段G91、子视频分段G92和子视频分段G93组成;
对所述第九子视频片段进行编码代价的计算,得到所述第九子视频片段对应的第九编码代价值;
若所述第九编码代价值为所述第六编码代价值、所述第七编码代价值、所述第八编码代价值和所述第九编码代价值中最小的,则将所述第一编码结构确定为对所述视频片段进行编码所需的第二目标编码结构。
在一个可能的示例中,在根据所述视频片段确定对所述视频片段进行编码所需的第二目标编码结构方面,上述确定单元403具体用于:
若所述第九编码代价值不为所述第六编码代价值、所述第七编码代价值、所述第八编码代价值和所述第九编码代价值中最小的,则将所述视频片段转换成视频帧数量为所述目标数量的第十子视频片段;其中,所述第十子视频片段由连续且视频帧数量的比值为M:M:M:(N-3M)的子视频分段G101、子视频分段G102、子视频分段G103和子视频分段G104组成;
对所述第十子视频片段进行编码代价的计算,得到所述第十子视频片段对应的第十编码代价值;
若所述第十编码代价值为所述第六编码代价值、所述第七编码代价值、所述第八编码代价值、所述第九编码代价值和所述第十编码代价值中最小的,则将所述第一编码结构确定为对所述视频片段进行编码所需的第二目标编码结构;
若所述第十编码代价值不为所述第六编码代价值、所述第七编码代价值、所述第八编码代价值、所述第九编码代价值和所述第十编码代价值中最小的,则将预先存储的第二编码结构确定为对所述视频片段进行编码所需的第二目标编码结构;所述第二编码结构的层级结构为第二层级结构;所述第二层级结构的复杂度大于所述第一层级结构的复杂度;其中,所述第二编码结构的视频帧数量为2M。
与上述图1A、图2和图3所示的实施例一致的,请参见图5,图5是本申请实施例提供的一种编码结构选择装置的结构示意图,该编码结构选择装置500包括处理器、存储器、通信接口以及一个或多个程序,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行以下步骤的指令:
获取待编码的视频片段,所述视频片段包括目标数量的视频帧;
若所述目标数量大于等于第一预设数量,则根据所述视频片段包括的前第一预设数量的视频帧确定对所述视频片段进行编码所需的第一目标编码结构,所述第一目标编码结构的层级结构与所述视频片段包括的前第一预设数量的视频帧关联;
若所述目标数量小于所述第一预设数量且大于等于第二预设数量,则根据所述视频片段确定对所述视频片段进行编码所需的第二目标编码结构,所述第二目标编码结构的层级结构与所述视频片段关联。
在一个可能的示例中,在根据所述视频片段包括的前第一预设数量的视频帧确定对所述视频片段进行编码所需的第一目标编码结构方面,上述程序包括具体用于执行以下步骤的指令:
对所述视频片段包括的前第一预设数量的视频帧进行第一次视频片段转换,得到至少两个初始子视频片段,所述至少两个初始子视频片段中的每个初始子视频片段的视频帧数量均为所述第一预设数量;
根据所述至少两个初始子视频片段确定对所述视频片段进行编码所需的第一目标编码结构。
在一个可能的示例中,在对所述视频片段包括的前第一预设数量的视频帧进行第一次视频片段转换,得到至少两个初始子视频片段方面,上述程序包括具体用于执行以下步骤的指令:
将所述视频片段包括的前第一预设数量的视频帧分别转换成第一子视频片段、第二子视频片段和第三子视频片段;
将所述第一子视频片段、所述第二子视频片段和所述第三子视频片段确定为至少两个初始子视频片段;
其中,所述第一子视频片段由连续且视频帧数量相同的子视频分段G11和子视频分段G12组成,所述第二子视频片段由连续且视频帧数量的比值为2:1:1的子视频分段G21、子视频分段G22和子视频分段G23组成,所述第三子视频片段由连续且视频帧数量的比值为1:1:2的子视频分段G31、子视频分段G32和子视频分段G33组成。
在一个可能的示例中,在根据所述至少两个初始子视频片段确定对所述视频片段进行编码所需的第二目标编码结构方面,上述程序包括具体用于执行以下步骤的指令:
分别对所述第一子视频片段、所述第二子视频片段和所述第三子视频片段进行编码代价的计算,得到所述第一子视频片段对应第一编码代价值、所述第二子视频片段对应的第二编码代价值和所述第三子视频片段对应的第三编码代价值;
若所述第三编码代价值为所述第一编码代价值、所述第二编码代价值和所述第三编码代价值中最小的,则将预先存储的第一编码结构确定为对所述视频片段进行编码所需的第一目标编码结构;所述第一编码结构的层级结构为第一层级结构;其中,所述第一编码结构的视频帧数量为所述第一预设数量的四分之一。
在一个可能的示例中,在根据所述视频片段包括的前第一预设数量的视频帧确定对所述视频片段进行编码所需的第一目标编码结构方面,上述程序包括具体用于执行以下步骤的指令:
若所述第三编码代价值不为所述第一编码代价值、所述第二编码代价值和所述第三编码代价值中最小的,则将所述视频片段包括的前第一预设数量的视频帧转换成视频帧数量为所述第一预设数量的第四子视频片段;其中,所述第四子视频片段由连续且视频帧数量的比值为1:2:1的子视频分段G41、子视频分段G42和子视频分段G43组成;
对所述第四子视频片段进行编码代价的计算,得到所述第四子视频片段对应的第四编码代价值;
若所述第四编码代价值为所述第一编码代价值、所述第二编码代价值、所述第三编码代价值和所述第四编码代价值中最小的,则将所述第一编码结构确定为对所述视频片段进行编码所需的第一目标编码结构。
在一个可能的示例中,在根据所述视频片段包括的前第一预设数量的视频帧确定对所述视频片段进行编码所需的第一目标编码结构方面,上述程序包括具体用于执行以下步骤的指令:
若所述第四编码代价值不为所述第一编码代价值、所述第二编码代价值、所述第三编码代价值和所述第四编码代价值中最小的,则将所述视频片段包括的前第一预设数量的视频帧转换成视频帧数量为所述第一预设数量的第五子视频片段;其中,所述第五子视频片段由连续且视频帧数量相同的子视频分段G51、子视频分段G52、子视频分段G53和子视频分段G54组成;
对所述第五子视频片段进行编码代价的计算,得到所述第五子视频片段对应的第五编码代价值;
若所述第五编码代价值为所述第一编码代价值、所述第二编码代价值、所述第三编码代价值、所述第四编码代价值和所述第五编码代价值中最小的,则将所述第一编码结构确定为对所述视频片段进行编码所需的第一目标编码结构;
若所述第五编码代价值不为所述第一编码代价值、所述第二编码代价值、所述第三编码代价值、所述第四编码代价值和所述第五编码代价值中最小的,则将预先存储的第二编码结构确定为对所述视频片段进行编码所需的第一目标编码结构;所述第二编码结构的层级结构为第二层级结构;所述第二层级结构的复杂度大于所述第一层级结构的复杂度;其中,所述第二编码结构的视频帧数量为所述第一预设数量的一半。
在一个可能的示例中,在根据所述视频片段确定对所述视频片段进行编码所需的第二目标编码结构方面,上述程序包括具体用于执行以下步骤的指令:
对所述视频片段进行第二次视频片段转换,得到至少两个中间子视频片段,所述至少两个中间子视频片段中的每个中间子视频片段的视频帧数量均为所述目标数量;
根据所述至少两个中间子视频片段确定对所述视频片段进行编码所需的第二目标编码结构。
在一个可能的示例中,在对所述视频片段进行第二次视频片段转换,得到至少两个中间子视频片段方面,上述程序包括具体用于执行以下步骤的指令:
将所述视频片段分别转换成第六子视频片段、第七子视频片段和第八子视频片段;
将所述第六子视频片段、所述第七子视频片段和所述第八子视频片段确定为至少两个中间子视频片段;
其中,所述第六子视频片段由连续且视频帧数量的比值为2M:(N-2M)的子视频分段G61和子视频分段G62组成,所述第七子视频片段由连续且视频帧数量的比值为2M:M:(N-3M)的子视频分段G71、子视频分段G72和子视频分段G73组成,所述第八子视频片段由连续且视频帧数量的比值为M:M:(N-2M)的子视频分段G81、子视频分段G82和子视频分段G83组成,所述N为所述目标数量,所述M为8,所述N为大于等于24且小于32的整数。
在一个可能的示例中,在根据所述至少两个中间子视频片段确定对所述视频片段进行编码所需的第二目标编码结构方面,上述程序包括具体用于执行以下步骤的指令:
分别对所述第六子视频片段、所述第七子视频片段和所述第八子视频片段进行编码代价的计算,得到所述第六子视频片段对应第六编码代价值、所述第七子视频片段对应的第七编码代价值和所述第八子视频片段对应的第八编码代价值;
若所述第八编码代价值为所述第六编码代价值、所述第七编码代价值和所述第八编码代价值中最小的,则将预先存储的第一编码结构确定为对所述视频片段进行编码所需的第二目标编码结构;所述第一编码结构的层级结构为第一层级结构;其中,所述第一编码结构的视频帧数量为M。
在一个可能的示例中,在根据所述视频片段确定对所述视频片段进行编码所需的第二目标编码结构方面,上述程序包括具体用于执行以下步骤的指令:
若所述第八编码代价值不为所述第六编码代价值、所述第七编码代价值和所述第八编码代价值中最小的,则将所述视频片段转换成视频帧数量为所述目标数量的第九子视频片段;其中,所述第九子视频片段由连续且视频帧数量的比值为M:2M:(N-3M)子视频分段G91、子视频分段G92和子视频分段G93组成;
对所述第九子视频片段进行编码代价的计算,得到所述第九子视频片段对应的第九编码代价值;
若所述第九编码代价值为所述第六编码代价值、所述第七编码代价值、所述第八编码代价值和所述第九编码代价值中最小的,则将所述第一编码结构确定为对所述视频片段进行编码所需的第二目标编码结构。
在一个可能的示例中,在根据所述视频片段确定对所述视频片段进行编码所需的第二目标编码结构方面,上述程序包括具体用于执行以下步骤的指令:
若所述第九编码代价值不为所述第六编码代价值、所述第七编码代价值、所述第八编码代价值和所述第九编码代价值中最小的,则将所述视频片段转换成视频帧数量为所述目标数量的第十子视频片段;其中,所述第十子视频片段由连续且视频帧数量的比值为M:M:M:(N-3M)的子视频分段G101、子视频分段G102、子视频分段G103和子视频分段G104组成;
对所述第十子视频片段进行编码代价的计算,得到所述第十子视频片段对应的第十编码代价值;
若所述第十编码代价值为所述第六编码代价值、所述第七编码代价值、所述第八编码代价值、所述第九编码代价值和所述第十编码代价值中最小的,则将所述第一编码结构确定为对所述视频片段进行编码所需的第二目标编码结构;
若所述第十编码代价值不为所述第六编码代价值、所述第七编码代价值、所述第八编码代价值、所述第九编码代价值和所述第十编码代价值中最小的,则将预先存储的第二编码结构确定为对所述视频片段进行编码所需的第二目标编码结构;所述第二编码结构的层级结构为第二层级结构;所述第二层级结构的复杂度大于所述第一层级结构的复杂度;其中,所述第二编码结构的视频帧数量为2M。
本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,上述计算机程序被处理器执行,以实现如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括编码结构选择装置。
本申请实施例提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括编码结构选择装置。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实现方式及应用范围上均会有改变之处,综上上述,本说明书内容不应理解为对本申请的限制。
Claims (8)
1.一种编码结构选择方法,其特征在于,包括:
获取待编码的视频片段,所述视频片段包括目标数量的视频帧,所述目标数量的视频帧中不包含帧内编码帧;
若所述目标数量大于等于第一预设数量,则根据所述视频片段包括的前第一预设数量的视频帧进行视频片段转换,得到的至少两个初始子视频片段中的每个初始子视频片段的视频帧数量均为所述第一预设数量,并且每个初始子视频片段均由多个连续的子视频分段组成,所述至少两个初始子视频片段包括第一子视频片段,所述第一子视频片段由连续且视频帧数量的比值为1:1:2的三个子视频分段组成;或所述第一子视频片段由连续且视频帧数量的比值为1:2:1的三个子视频分段组成;或所述第一子视频片段由连续且视频帧数量的比值为1:1:1:1的四个子视频分段组成;
若所述目标数量小于所述第一预设数量,则根据所述视频片段包括所有视频帧进行视频片段转换,得到的至少两个初始子视频片段中的每个初始子视频片段的视频帧数量均为所述目标数量,并且每个初始子视频片段均由多个连续的子视频分段组成,所述至少两个初始子视频片段包括第一子视频片段,所述第一子视频片段由连续且视频帧数量分别为M:M:(N-2M)的三个子视频分段组成;或所述第一子视频片段由连续且视频帧数量分别为M:2M:(N-3M)的三个子视频分段组成;或所述第一子视频片段由连续且视频帧数量分别为M:M:M:(N-3M)的四个子视频分段组成;其中N为所述目标数量,M为所述第一预设数量的四分之一;
计算所述至少两个初始子视频片段分别对应的编码代价值,若所述第一子视频片段对应的第一编码代价值为所述至少两个初始子视频片段分别对应的编码带价值中最小的,则确定采用第一编码结构对所述视频片段进行编码,其中所述第一编码结构的视频帧数量为所述第一预设数量的四分之一。
2.如权利要求1所述的方法,其特征在于,在所述目标数量大于等于第一预设数量的情况下,所述至少两个初始子视频片段还包括第二子视频片段或第三子视频片段,其中所述第二子视频片段由连续且视频帧数量相同的两个子视频分段组成,所述第三子视频片段由连续且视频帧数量的比值为2:1:1的三个子视频分段组成。
3.如权利要求1所述的方法,其特征在于,在所述目标数量小于所述第一预设数量的情况下,所述至少两个初始子视频片段还包括第二子视频片段或第三子视频片段,其中所述第二子视频片段由连续且视频帧数量分别为2M:(N-2M)的两个子视频分段组成,所述第三子视频片段由连续且视频帧数量分别为2M:M:(N-3M)的三个子视频分段组成。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一子视频片段对应的第一编码代价值不为所述至少两个初始子视频片段分别对应的编码带价值中最小的,则确定采用第二编码结构对所述视频片段进行编码,其中所述第二编码结构的视频帧数量为所述第一预设数量的一半。
5.如权利要求1至4中任一项所述的方法,其特征在于,所述第一预设数量为32。
6.一种编码结构选择装置,其特征在于,包括:
获取单元,用于获取待编码的视频片段,所述视频片段包括目标数量的视频帧,所述目标数量的视频帧中不包含帧内编码帧;
判断单元,用于判断所述目标数量是否大于等于第一预设数量;
确定单元,用于在所述目标数量大于等于所述第一预设数量的情况下,根据所述视频片段包括的前第一预设数量的视频帧进行视频片段转换,得到的至少两个初始子视频片段中的每个初始子视频片段的视频帧数量均为所述第一预设数量,并且每个初始子视频片段均由多个连续的子视频分段组成,所述至少两个初始子视频片段包括第一子视频片段,所述第一子视频片段由连续且视频帧数量的比值为1:1:2的三个子视频分段组成;或所述第一子视频片段由连续且视频帧数量的比值为1:2:1的三个子视频分段组成;或所述第一子视频片段由连续且视频帧数量的比值为1:1:1:1的四个子视频分段组成;
在所述目标数量小于所述第一预设数量的情况下,所述确定单元用于根据所述视频片段包括所有视频帧进行视频片段转换,得到的至少两个初始子视频片段中的每个初始子视频片段的视频帧数量均为所述目标数量,并且每个初始子视频片段均由多个连续的子视频分段组成,所述至少两个初始子视频片段包括第一子视频片段,所述第一子视频片段由连续且视频帧数量分别为M:M:(N-2M)的三个子视频分段组成;或所述第一子视频片段由连续且视频帧数量分别为M:2M:(N-3M)的三个子视频分段组成;或所述第一子视频片段由连续且视频帧数量分别为M:M:M:(N-3M)的四个子视频分段组成;其中N为所述目标数量,M为所述第一预设数量的四分之一;
所述确定单元还用于,计算所述至少两个初始子视频片段分别对应的编码代价值,若所述第一子视频片段对应的第一编码代价值为所述至少两个初始子视频片段分别对应的编码带价值中最小的,则确定采用第一编码结构对所述视频片段进行编码,其中所述第一编码结构的视频帧数量为所述第一预设数量的四分之一。
7.一种编码结构选择装置,其特征在于,包括处理器、存储器、通信接口以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-5任一项所述的方法中的部分或全部步骤的指令。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被处理器执行,以实现如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911094947.2A CN112788346B (zh) | 2019-11-11 | 2019-11-11 | 编码结构选择方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911094947.2A CN112788346B (zh) | 2019-11-11 | 2019-11-11 | 编码结构选择方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112788346A CN112788346A (zh) | 2021-05-11 |
CN112788346B true CN112788346B (zh) | 2022-06-14 |
Family
ID=75749738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911094947.2A Active CN112788346B (zh) | 2019-11-11 | 2019-11-11 | 编码结构选择方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112788346B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408429A (zh) * | 2014-11-28 | 2015-03-11 | 北京奇艺世纪科技有限公司 | 一种视频代表帧提取方法及装置 |
CN107872669A (zh) * | 2016-09-27 | 2018-04-03 | 腾讯科技(深圳)有限公司 | 视频码率处理方法和装置 |
CN108833923A (zh) * | 2018-06-20 | 2018-11-16 | 腾讯科技(深圳)有限公司 | 视频编码、解码方法、装置、存储介质和计算机设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8737475B2 (en) * | 2009-02-02 | 2014-05-27 | Freescale Semiconductor, Inc. | Video scene change detection and encoding complexity reduction in a video encoder system having multiple processing devices |
US10674158B2 (en) * | 2017-06-15 | 2020-06-02 | Beamr Imaging Ltd | Method and system of video coding optimization |
-
2019
- 2019-11-11 CN CN201911094947.2A patent/CN112788346B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408429A (zh) * | 2014-11-28 | 2015-03-11 | 北京奇艺世纪科技有限公司 | 一种视频代表帧提取方法及装置 |
CN107872669A (zh) * | 2016-09-27 | 2018-04-03 | 腾讯科技(深圳)有限公司 | 视频码率处理方法和装置 |
CN108833923A (zh) * | 2018-06-20 | 2018-11-16 | 腾讯科技(深圳)有限公司 | 视频编码、解码方法、装置、存储介质和计算机设备 |
Non-Patent Citations (1)
Title |
---|
基于自适应可分离卷积核的视频压缩伪影去除算法;聂可卉;《计算机应用》;20190510;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112788346A (zh) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11800117B2 (en) | Enhanced intra prediction mode signaling | |
US10750169B2 (en) | Method and apparatus for intra chroma coding in image and video coding | |
EP2147556B1 (en) | Mode uniformity signaling for intra-coding | |
JP5490404B2 (ja) | 画像復号装置 | |
US20190082179A1 (en) | Video coding method and apparatus | |
RU2016104528A (ru) | Инициализация параметра райса для кодирования на уровне коэффициентов в процессе кодирования видео | |
KR950030708A (ko) | 움직임화상 부호화방법 | |
CN107211133B (zh) | 反量化变换系数的方法、装置及解码设备 | |
CN111741300B (zh) | 一种视频处理方法 | |
CN104662902A (zh) | 用于视频编码的受限帧内解块过滤 | |
CN108353175A (zh) | 使用系数引起的预测处理视频信号的方法和装置 | |
KR20190029753A (ko) | 예측 파라미터들에서의 데이터 숨김을 위한 방법 및 장치 | |
CN112788346B (zh) | 编码结构选择方法及相关装置 | |
CN110677653B (zh) | 视频编解码方法和装置及存储介质 | |
EP3941043A1 (en) | Image decoding device, image decoding method, and program | |
JP5591838B2 (ja) | 画像符号化装置、及び方法 | |
CN102098057A (zh) | 一种量化编解码方法和装置 | |
US20130107944A1 (en) | Moving image encoding method and decoding method | |
KR100753282B1 (ko) | Cavlc 디코딩을 위한 vlc 테이블 선택방법 및 그cavlc 디코딩방법 | |
JP2019022015A (ja) | 映像符号化装置、映像復号装置及びプログラム | |
JP5573385B2 (ja) | 動画像符号化装置及び動画像符号化方法 | |
WO2009084886A2 (en) | Apparatus for coding or decoding intra image based on line information of reference image block |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40043541 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |