CN112351277B - 一种视频的编码方法和装置,视频的解码方法和装置 - Google Patents
一种视频的编码方法和装置,视频的解码方法和装置 Download PDFInfo
- Publication number
- CN112351277B CN112351277B CN202011216930.2A CN202011216930A CN112351277B CN 112351277 B CN112351277 B CN 112351277B CN 202011216930 A CN202011216930 A CN 202011216930A CN 112351277 B CN112351277 B CN 112351277B
- Authority
- CN
- China
- Prior art keywords
- decoding
- image group
- mode
- coding
- determining
- 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
- 238000000034 method Methods 0.000 title claims abstract description 87
- 238000004590 computer program Methods 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 32
- 238000010586 diagram Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- 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
-
- 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/169—Methods 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/177—Methods 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 a group of pictures [GOP]
-
- 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/189—Methods 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/196—Methods 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
-
- 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
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
技术领域
本申请涉及计算机领域,尤其涉及一种视频的编码方法和装置,视频的解码方法和装置。
背景技术
目前的视频编码技术中,一般都只是考虑编码模式的延迟性对用户体验的影响,尽量通过降低延迟的方式来保证用户播放视频时能够有更好的体验,但是这种方式无法依据不同的播放场景对视频的编解码过程进行调整,导致视频编解码过程灵活性较差,无法为用户提供适合用户当前播放环境的视频。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请提供了一种视频的编码方法和装置,视频的解码方法和装置,以至少解决相关技术中视频的编解码灵活性较差的技术问题。
根据本申请实施例的一个方面,提供了一种视频的编码方法,包括:
获取已编码的第一图像组的编码信息,其中,所述第一图像组是目标视频中在当前待编码的第二图像组之前完成编码的图像组,所述编码信息用于指示所述第一图像组的编码质量或者解码延迟;
根据所述编码信息从多种编码模式中确定与所述第二图像组匹配的目标编码模式,其中,所述多种编码模式中的每种编码模式下图像组中的非关键帧仅配置前向参考帧;
按照所述目标编码模式对所述第二图像组进行编码。
根据本申请实施例的一个方面,提供了一种视频的解码方法,包括:
获取已解码的第一图像组的解码信息,其中,所述第一图像组是目标视频中在当前待解码的第二图像组之前完成解码的图像组,所述解码信息用于指示所述第一图像组的解码质量或者解码延迟;
根据所述解码信息从多种解码模式中确定与所述第二图像组匹配的目标解码模式,其中,所述多种解码模式中的每种解码模式下图像组中的非关键帧仅配置前向参考帧;
按照所述目标解码模式对所述第二图像组进行解码。
根据本申请实施例的另一方面,还提供了一种视频的编码装置,包括:
获取模块,用于获取已编码的第一图像组的编码信息,其中,所述第一图像组是目标视频中在当前待编码的第二图像组之前完成编码的图像组,所述编码信息用于指示所述第一图像组的编码质量或者解码延迟;
确定模块,用于根据所述编码信息从多种编码模式中确定与所述第二图像组匹配的目标编码模式,其中,所述多种编码模式中的每种编码模式下图像组中的非关键帧仅配置前向参考帧;
编码模块,用于按照所述目标编码模式对所述第二图像组进行编码。
根据本申请实施例的另一方面,还提供了一种视频的解码装置,包括:
获取模块,用于获取已解码的第一图像组的解码信息,其中,所述第一图像组是目标视频中在当前待解码的第二图像组之前完成解码的图像组,所述解码信息用于指示所述第一图像组的解码质量或者解码延迟;
确定模块,用于根据所述解码信息从多种解码模式中确定与所述第二图像组匹配的目标解码模式,其中,所述多种解码模式中的每种解码模式下图像组中的非关键帧仅配置前向参考帧;
解码模块,用于按照所述目标解码模式对所述第二图像组进行解码。
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。
根据本申请实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。
在本申请实施例中,采用获取已编码的第一图像组的编码信息,其中,第一图像组是目标视频中在当前待编码的第二图像组之前完成编码的图像组,编码信息用于指示第一图像组的编码质量或者解码延迟;根据编码信息从多种编码模式中确定与第二图像组匹配的目标编码模式,其中,多种编码模式中的每种编码模式下图像组中的非关键帧仅配置前向参考帧;按照目标编码模式对第二图像组进行编码的方式,对于当前待编码的第二图像组,获取其之前已完成编码的第一图像组的编码信息,根据该编码信息从多种编码模式中为第二图像组确定目标编码模式,并按照目标编码模式对第二图像组进行编码,使得编码过程能够平衡编码质量与解码延迟之间的关系,并且多种编码模式中的每种编码模式下图像组中的非关键帧仅配置前向参考帧,使得每种编码模式均属于低延迟的编码模式,达到兼顾解码延迟和编码质量的目的,从而实现了提高视频的编解码灵活性的技术效果,进而解决了相关技术中视频的编解码灵活性较差的技术问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的视频的编解码方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的视频的编码方法的流程图;
图3是根据本申请实施例的一种可选的编码模式1的示意图;
图4是根据本申请实施例的一种可选的编码模式2的示意图;
图5是根据本申请实施例的一种可选的编码模式3至编码模式8的示意图;
图6是根据本申请实施例的一种可选的LDP编码模式的示意图;
图7是根据本申请实施例的一种可选的视频的解码方法的流程图;
图8是根据本申请实施例的一种可选的视频的编码装置的示意图;
图9是根据本申请实施例的一种可选的视频的解码装置的示意图;
图10是根据本申请实施例的一种电子装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
可选地,在本实施例中,视频的编解码方法可以应用于如图1所示的由终端101和服务器103所构成的硬件环境中。如图1所示,服务器103通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务(如游戏服务、应用服务、多媒体服务等),可在服务器上或独立于服务器设置数据库,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101并不限定于PC、手机、平板电脑等。本申请实施例的视频的编码方法可以由服务器103来执行,视频的解码方法可以由终端101来执行。其中,终端101执行本申请实施例的视频的解码方法也可以是由安装在其上的客户端来执行。
根据本申请实施例的一方面,提供了一种视频的编码的方法实施例。图2是根据本申请实施例的一种可选的视频的编码方法的流程图,如图2所示,该方法可以包括以下步骤:
步骤S202,获取已编码的第一图像组的编码信息,其中,所述第一图像组是目标视频中在当前待编码的第二图像组之前完成编码的图像组,所述编码信息用于指示所述第一图像组的编码质量或者解码延迟;
步骤S204,根据所述编码信息从多种编码模式中确定与所述第二图像组匹配的目标编码模式,其中,所述多种编码模式中的每种编码模式下图像组中的非关键帧仅配置前向参考帧;
步骤S206,按照所述目标编码模式对所述第二图像组进行编码。
通过上述步骤S202至步骤S206,对于当前待编码的第二图像组,获取其之前已完成编码的第一图像组的编码信息,根据该编码信息从多种编码模式中为第二图像组确定目标编码模式,并按照目标编码模式对第二图像组进行编码,使得编码过程能够平衡编码质量与解码延迟之间的关系,并且多种编码模式中的每种编码模式下图像组中的非关键帧仅配置前向参考帧,使得每种编码模式均属于低延迟的编码模式,达到兼顾解码延迟和编码质量的目的,从而实现了提高视频的编解码灵活性的技术效果,进而解决了相关技术中视频的编解码灵活性较差的技术问题。
可选地,在本实施例中,上述视频的编码方法可以但不限于应用于视频直播、实时通信、全景视频、视频播放等场景中。目标视频可以但不限于包括直播、实时通信(比如:视频通话)或者全景视频中的视频流,全景视频或者视频播放中的视频文件等等。
作为一种可选的实施例,在全景视频的播放过程中,可以但不限于通过以下过程自适应调节编码模式:
在检测到全景视频显示的主视角区域切换到第一区域的情况下,获取所述第一区域对应的待切换视频码流,其中,所述待切换视频码流的清晰度高于所述第一区域在区域切换前显示的原始视频码流的清晰度;
获取已编码的第一图像组的编码信息,其中,所述第一图像组是待切换视频码流中在当前待编码的第二图像组之前完成编码的图像组,所述编码信息用于指示所述第一图像组的编码质量或者解码延迟;
根据所述编码信息从多种编码模式中确定与所述第二图像组匹配的目标编码模式,其中,所述多种编码模式中的每种编码模式下图像组中的非关键帧仅配置前向参考帧;
按照所述目标编码模式对所述第二图像组进行编码,得到编码视频码流;
将所述编码视频码流发送至全景视频的显示设备。
可选地,在本实施例中,在编码全景视频的过程中,对于全景视频的视频码流中的每个图像组进行编码时,根据已编码的图像组的用于指示编码质量或者解码延迟的编码信息确定待编码的图像组使用的目标编码模式,从而对编码过程进行自适应的调整,能够使得编码过程既考虑到延迟的要求又考虑到图像质量的要求,从而在保证低延迟传输的同时能够尽可能保证图像质量,提高用户在观看全景视频过程中的体验度。
作为一种可选的实施例,在实时传输的视频资源的播放过程中,可以但不限于通过以下过程自适应调节编码模式:
从视频采集端获取实时传输的视频资源;
获取已编码的第一图像组的编码信息,其中,所述第一图像组是实时传输的视频资源中在当前待编码的第二图像组之前完成编码的图像组,所述编码信息用于指示所述第一图像组的编码质量或者解码延迟;
根据所述编码信息从多种编码模式中确定与所述第二图像组匹配的目标编码模式,其中,所述多种编码模式中的每种编码模式下图像组中的非关键帧仅配置前向参考帧;
按照所述目标编码模式对所述第二图像组进行编码,得到编码视频资源;
向视频播放端发送所述编码视频资源。
可选地,在本实施例中,在进行视频的实时传输的过程中,对于视频资源中的每个图像组,根据已编码的图像组的用于指示编码质量或者解码延迟的编码信息确定待编码的图像组使用的目标编码模式,从而对编码过程进行自适应的调整,能够使得编码过程既考虑到延迟的要求又考虑到图像质量的要求,从而在保证低延迟传输的同时能够尽可能保证图像质量,提高用户在进行实时音视频通信过程中的体验度。
在步骤S202提供的技术方案中,图像组(Group of Pictures,GOP)指的是视频中一组连续的图片构成的集合。通常情况下,GOP中的第一个图像为I帧,I帧作为帧内编码,不需要参考其他帧。GOP内的其他帧可以为B帧,也可以为P帧,其中P帧前向参考进行编码,B帧双向参考进行编码。
可选地,在本实施例中,第一图像组可以但不限于是第二图像组的前一个图像组。
可选地,在本实施例中,视频的编码失真越小,编码码率越低,则编码质量越好。上述编码质量可以但不限于使用峰值信噪比(Peak Signal to Noise Ratio,PSNR)来衡量。
可选地,在本实施例中,解码延迟可以但不限于使用编码速度来衡量。
作为一种可选的实施例,获取已编码的所述第一图像组的编码信息包括:
S11,确定所述目标视频的编码场景的编码要求;
S12,在所述编码场景的编码要求指示所述目标视频的视频质量的情况下,获取已编码的所述第一图像组的所述编码质量作为所述编码信息;
S13,在所述编码场景的编码要求指示所述目标视频的视频延迟的情况下,获取已编码的所述第一图像组的所述解码延迟作为所述编码信息。
可选地,在本实施例中,不同的编码场景对编码过程有不同的要求,比如:视频直播和实时通信等场景要求较低的解码延迟,全景视频和视频播放等场景要求较高的编码质量。根据不同的编码场景对编码过程有不同的要求,确定调整编码模式的标准是编码质量还是解码延迟。
可选地,在本实施例中,如果编码场景要求视频质量,则将编码质量作为编码信息,如果编码场景要求视频延迟,则将解码延迟作为编码信息。
在步骤S204提供的技术方案中,图像组中的非关键帧仅配置前向参考帧,即图像组中仅包括I帧和P帧,为P帧配置不同形式的参考帧得到了不同的编码模式。
可选地,在本实施例中,图像组的划分方式可以但不限于包括8个P帧的方式,16个P帧的方式等等。在本实施例中以8个P帧的方式为例,其他方式与其类似,在此不再赘述。
可选地,在本实施例中,可以根据已编码的图像组的编码信息来确定待编码的图像组的目标编码模式,从而灵活调整视频的编码过程,使其不仅满足对解码延迟的要求,还能够满足对视频质量的要求。
作为一种可选的实施例,根据所述编码信息从多种编码模式中确定与所述第二图像组匹配的目标编码模式包括:
S21,确定所述编码信息是否落入所述第一图像组的编码模式对应的阈值区间;
S22,在所述编码信息未落入所述第一图像组的编码模式对应的阈值区间的情况下,根据所述编码信息与所述阈值区间的边界值之间的关系确定所述目标编码模式;
S23,在所述编码信息落入所述第一图像组的编码模式对应的阈值区间的情况下,将所述第一图像组的编码模式确定为所述目标编码模式。
可选地,在本实施例中,将编码信息与第一图像组的编码模式对应的阈值区间进行比较,如果落入该阈值区间,则继续使用第一图像组的编码模式,如果未落入该阈值区间,则根据编码信息与阈值区间的边界值之间的关系确定新的编码模式。
可选地,在本实施例中,在所述编码信息用于指示所述第一图像组的编码质量的情况下,可以但不限于采用以下方式确定目标编码模式:
在所述编码信息小于所述阈值区间的下限值的情况下,从所述多个编码模式中编码质量高于所述第一图像组的编码模式的编码质量的编码模式中确定所述目标编码模式;
在所述编码信息大于所述阈值区间的上限值的情况下,从所述多个编码模式中编码质量低于所述第一图像组的编码模式的编码质量的编码模式中确定所述目标编码模式。
可选地,在本实施例中,在所述编码信息用于指示所述第一图像组的解码延迟的情况下,可以但不限于采用以下方式确定目标编码模式:
在所述编码信息小于所述阈值区间的下限值的情况下,从所述多个编码模式中解码延迟高于所述第一图像组的编码模式的解码延迟的编码模式中确定所述目标编码模式;
在所述编码信息大于所述阈值区间的上限值的情况下,从所述多个编码模式中解码延迟低于所述第一图像组的编码模式的解码延迟的编码模式中确定所述目标编码模式。
可选地,在本实施例中,多种编码模式至少包括以下编码模式中的至少两种编码模式:
第一种编码模式:图像组中的非关键帧只参考图像组中的关键帧(即模式1)。
图3是根据本申请可选实施例的一种可选的编码模式1的示意图,如图3所示,所有的P帧仅参考I帧。POC(pictur order count)表示视频编码时源视频帧的显示顺序。
第二种编码模式:图像组中的第一个非关键帧只参考图像组中的关键帧,第二个非关键帧参考第一个非关键帧和关键帧,第三个之后的非关键帧参考第二个非关键帧和关键帧(即模式2)。
图4是根据本申请可选实施例的一种可选的编码模式2的示意图,如图4所示,POC为1的P帧仅参考I帧,POC为2至8的P帧参考I帧和POC为1的P帧。
第i种编码模式:图像组中的第一个非关键帧只参考图像组中的关键帧,第i个之前及第i个非关键帧参考前一个非关键帧和关键帧,第i个之后的非关键帧参考第i个非关键帧和关键帧,其中,i为大于3且小于N的整数,N为图像组中包括的非关键帧的数量(即模式3至7)。
第N种编码模式:图像组中的每一个非关键帧参考前一个非关键帧和关键帧(即模式8)。
图5是根据本申请实施例的一种可选的编码模式3至编码模式8的示意图,如图5所示,对于编码模式3至7,第一个P帧只参考I帧,第i个之前及第i个P帧参考前一个P帧和I帧,第i个之后的P帧参考第i个P帧和I帧。对于编码模式8,每一个P帧参考前一个P帧和I帧。
第N+1种编码模式:图像组中的第M个之前及第M个非关键帧参考前一个非关键帧和关键帧,第M个之后的非关键帧参考第M个非关键帧和前一个非关键帧,其中,M为大于2且小于N的整数(即LDP模式)。
图6是根据本申请实施例的一种可选的LDP编码模式的示意图,如图6所示,第4个之前及第4个P帧参考前一个P帧和I帧,第4个之后的P帧参考第4个P帧和前一个P帧。
需要说明的是,此处给出了一种可选的LDP编码模式,本实施例中的LDP编码模式还可以是其他种类的LDP编码模式,本实施例对此不作限定。
可选地,在本实施例中,可以但不限于根据表1中给出的各个编码模式对应的阈值区间对编码模式进行调整。
表1
PSNR区间 | 速度区间 | 编码模式 |
psnr_1-psnr_min1 | s_1-s_1max | 模式1 |
psnr_2-psnr_min2 | s_2-s_2max | 模式2 |
... | ... | ... |
psnr_LDP-psnr_minLDP | s_LDP-s_LDPmax | LDP |
可选地,在本实施例中,如果编码信息用于指示编码质量,则使用表1中第一列的PSNR区间进行判断,如果编码信息用于指示解码延迟,则使用表1中第二列的速度区间进行判断。
对于既要求编码质量满足要求又需要延迟时间低的场景,计算每一个GOP的峰值信噪比(Peak Signal to Noise Ratio,PSNR),用来衡量该GOP的编码质量。对于不同区间段的PSNR采用不同的编码模式。例如第n-1个GOP的PSNR为psnr_min,小于人眼可以忍受的噪声对应的PSNR最小值,此时在编码第n个GOP时,需要根据此时的PSNR落在的区间(表1),重新选择编码模式,使PSNR增大。
在步骤S206提供的技术方案中,按照目标编码模式对第二图像组进行编码,下一个图像组继续通过上述过程确定其对应的编码模式。
根据本申请实施例的一方面,提供了一种视频的解码的方法实施例。图7是根据本申请实施例的一种可选的视频的解码方法的流程图,如图7所示,该方法可以包括以下步骤:
步骤S702,获取已解码的第一图像组的解码信息,其中,所述第一图像组是目标视频中在当前待解码的第二图像组之前完成解码的图像组,所述解码信息用于指示所述第一图像组的解码质量或者解码延迟;
步骤S704,根据所述解码信息从多种解码模式中确定与所述第二图像组匹配的目标解码模式,其中,所述多种解码模式中的每种解码模式下图像组中的非关键帧仅配置前向参考帧;
步骤S706,按照所述目标解码模式对所述第二图像组进行解码。
作为一种可选的实施例,在全景视频的播放过程中,可以但不限于通过以下过程自适应调节解码模式:
在检测到全景视频显示的主视角区域切换到第一区域的情况下,获取所述第一区域对应的待切换视频码流,其中,所述待切换视频码流的清晰度高于所述第一区域在区域切换前显示的原始视频码流的清晰度;
获取已解码的第一图像组的解码信息,其中,所述第一图像组是待切换视频码流中在当前待解码的第二图像组之前完成解码的图像组,所述解码信息用于指示所述第一图像组的解码质量或者解码延迟;
根据所述解码信息从多种解码模式中确定与所述第二图像组匹配的目标解码模式,其中,所述多种解码模式中的每种解码模式下图像组中的非关键帧仅配置前向参考帧;
按照所述目标解码模式对所述第二图像组进行解码,得到解码视频码流;
在全景视频的显示设备上显示所述解码视频码流。
可选地,在本实施例中,在解码全景视频的过程中,对于全景视频的视频码流中的每个图像组进行解码时,根据已解码的图像组的用于指示解码质量或者解码延迟的解码信息确定待解码的图像组使用的目标解码模式,从而对解码过程进行自适应的调整,能够使得解码过程既考虑到延迟的要求又考虑到图像质量的要求,从而在保证低延迟传输的同时能够尽可能保证图像质量,提高用户在观看全景视频过程中的体验度。
作为一种可选的实施例,在实时传输的视频资源的播放过程中,可以但不限于通过以下过程自适应调节解码模式:
从视频传输端获取实时传输的视频资源;
获取已解码的第一图像组的解码信息,其中,所述第一图像组是实时传输的视频资源中在当前待解码的第二图像组之前完成解码的图像组,所述解码信息用于指示所述第一图像组的解码质量或者解码延迟;
根据所述解码信息从多种解码模式中确定与所述第二图像组匹配的目标解码模式,其中,所述多种解码模式中的每种解码模式下图像组中的非关键帧仅配置前向参考帧;
按照所述目标解码模式对所述第二图像组进行解码,得到解码视频资源;
在视频播放端播放所述解码视频资源。
可选地,在本实施例中,在进行视频的实时传输的过程中,对于视频资源中的每个图像组,根据已解码的图像组的用于指示解码质量或者解码延迟的解码信息确定待解码的图像组使用的目标解码模式,从而对解码过程进行自适应的调整,能够使得解码过程既考虑到延迟的要求又考虑到图像质量的要求,从而在保证低延迟传输的同时能够尽可能保证图像质量,提高用户在进行实时音视频通信过程中的体验度。
作为一种可选的实施例,在上述步骤S704中,可以但不限于通过以下方式确定与第二图像组匹配的目标解码模式:
确定所述解码信息是否落入所述第一图像组的解码模式对应的阈值区间;
在所述解码信息未落入所述第一图像组的解码模式对应的阈值区间的情况下,根据所述解码信息与所述阈值区间的边界值之间的关系确定所述目标解码模式;
在所述解码信息落入所述第一图像组的解码模式对应的阈值区间的情况下,将所述第一图像组的解码模式确定为所述目标解码模式。
作为一种可选的实施例,在所述解码信息用于指示所述第一图像组的解码质量的情况下,根据所述解码信息与所述阈值区间的边界值之间的关系确定所述目标解码模式包括:
在所述解码信息小于所述阈值区间的下限值的情况下,从所述多个解码模式中解码质量高于所述第一图像组的解码模式的解码质量的解码模式中确定所述目标解码模式;
在所述解码信息大于所述阈值区间的上限值的情况下,从所述多个解码模式中解码质量低于所述第一图像组的解码模式的解码质量的解码模式中确定所述目标解码模式。
作为一种可选的实施例,在所述解码信息用于指示所述第一图像组的解码延迟的情况下,根据所述解码信息与所述阈值区间的边界值之间的关系确定所述目标解码模式包括:
在所述解码信息小于所述阈值区间的下限值的情况下,从所述多个解码模式中解码延迟高于所述第一图像组的解码模式的解码延迟的解码模式中确定所述目标解码模式;
在所述解码信息大于所述阈值区间的上限值的情况下,从所述多个解码模式中解码延迟低于所述第一图像组的解码模式的解码延迟的解码模式中确定所述目标解码模式。
作为一种可选的实施例,获取已解码的所述第一图像组的解码信息包括:
确定所述目标视频的解码场景的解码要求;
在所述解码场景的解码要求指示所述目标视频的视频质量的情况下,获取已解码的所述第一图像组的所述解码质量作为所述解码信息;
在所述解码场景的解码要求指示所述目标视频的视频延迟的情况下,获取已解码的所述第一图像组的所述解码延迟作为所述解码信息。
作为一种可选的实施例,在上述步骤S704之前,还可以但不限于通过以下过程确定多种解码模式:
确定第一种解码模式下图像组中的非关键帧只参考图像组中的关键帧;
确定第二种解码模式下图像组中的第一个非关键帧只参考图像组中的关键帧,第二个非关键帧参考第一个非关键帧和关键帧,第三个之后的非关键帧参考第二个非关键帧和关键帧;
确定第i种解码模式下图像组中的第一个非关键帧只参考图像组中的关键帧,第i个之前及第i个非关键帧参考前一个非关键帧和关键帧,第i个之后的非关键帧参考第i个非关键帧和关键帧,其中,i为大于3且小于N的整数,N为图像组中包括的非关键帧的数量;
确定第N种解码模式下图像组中的每一个非关键帧参考前一个非关键帧和关键帧;
确定第N+1种解码模式下图像组中的第M个之前及第M个非关键帧参考前一个非关键帧和关键帧,第M个之后的非关键帧参考第M个非关键帧和前一个非关键帧,其中,M为大于2且小于N的整数;
确定所述多种解码模式包括所述第一种解码模式、所述第二种解码模式,所述第i种解码模式,所述第N种解码模式和所述第N+1种解码模式中的至少两种解码模式。
需要说明的是,在本实施例中,视频的解码过程与上述编码过程类似,在此不再赘述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台电子设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述视频的编码方法的视频的编码装置。图8是根据本申请实施例的一种可选的视频的编码装置的示意图,如图8所示,该装置可以包括:
获取模块82,用于获取已编码的第一图像组的编码信息,其中,所述第一图像组是目标视频中在当前待编码的第二图像组之前完成编码的图像组,所述编码信息用于指示所述第一图像组的编码质量或者解码延迟;
确定模块84,用于根据所述编码信息从多种编码模式中确定与所述第二图像组匹配的目标编码模式,其中,所述多种编码模式中的每种编码模式下图像组中的非关键帧仅配置前向参考帧;
编码模块86,用于按照所述目标编码模式对所述第二图像组进行编码。
需要说明的是,该实施例中的获取模块82可以用于执行本申请实施例中的步骤S202,该实施例中的确定模块84可以用于执行本申请实施例中的步骤S204,该实施例中的编码模块86可以用于执行本申请实施例中的步骤S206。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
通过上述模块,对于当前待编码的第二图像组,获取其之前已完成编码的第一图像组的编码信息,根据该编码信息从多种编码模式中为第二图像组确定目标编码模式,并按照目标编码模式对第二图像组进行编码,使得编码过程能够平衡编码质量与解码延迟之间的关系,并且多种编码模式中的每种编码模式下图像组中的非关键帧仅配置前向参考帧,使得每种编码模式均属于低延迟的编码模式,达到兼顾解码延迟和编码质量的目的,从而实现了提高视频的编解码灵活性的技术效果,进而解决了相关技术中视频的编解码灵活性较差的技术问题。
作为一种可选的实施例,所述确定模块包括:
第一确定单元,用于确定所述编码信息是否落入所述第一图像组的编码模式对应的阈值区间;
第二确定单元,用于在所述编码信息未落入所述第一图像组的编码模式对应的阈值区间的情况下,根据所述编码信息与所述阈值区间的边界值之间的关系确定所述目标编码模式;
第三确定单元,用于在所述编码信息落入所述第一图像组的编码模式对应的阈值区间的情况下,将所述第一图像组的编码模式确定为所述目标编码模式。
作为一种可选的实施例,所述第二确定单元用于:
在所述编码信息小于所述阈值区间的下限值的情况下,从所述多个编码模式中编码质量高于所述第一图像组的编码模式的编码质量的编码模式中确定所述目标编码模式;
在所述编码信息大于所述阈值区间的上限值的情况下,从所述多个编码模式中编码质量低于所述第一图像组的编码模式的编码质量的编码模式中确定所述目标编码模式。
作为一种可选的实施例,所述第二确定单元用于:
在所述编码信息小于所述阈值区间的下限值的情况下,从所述多个编码模式中解码延迟高于所述第一图像组的编码模式的解码延迟的编码模式中确定所述目标编码模式;
在所述编码信息大于所述阈值区间的上限值的情况下,从所述多个编码模式中解码延迟低于所述第一图像组的编码模式的解码延迟的编码模式中确定所述目标编码模式。
作为一种可选的实施例,所述获取模块包括:
第四确定单元,用于确定所述目标视频的编码场景的编码要求;
第一获取单元,用于在所述编码场景的编码要求指示所述目标视频的视频质量的情况下,获取已编码的所述第一图像组的所述编码质量作为所述编码信息;
第二获取单元,用于在所述编码场景的编码要求指示所述目标视频的视频延迟的情况下,获取已编码的所述第一图像组的所述解码延迟作为所述编码信息。
作为一种可选的实施例,所述装置还用于:
在根据所述编码信息从多种编码模式中确定与所述第二图像组匹配的目标编码模式之前,确定第一种编码模式下图像组中的非关键帧只参考图像组中的关键帧;
确定第二种编码模式下图像组中的第一个非关键帧只参考图像组中的关键帧,第二个非关键帧参考第一个非关键帧和关键帧,第三个之后的非关键帧参考第二个非关键帧和关键帧;
确定第i种编码模式下图像组中的第一个非关键帧只参考图像组中的关键帧,第i个之前及第i个非关键帧参考前一个非关键帧和关键帧,第i个之后的非关键帧参考第i个非关键帧和关键帧,其中,i为大于3且小于N的整数,N为图像组中包括的非关键帧的数量;
确定第N种编码模式下图像组中的每一个非关键帧参考前一个非关键帧和关键帧;
确定第N+1种编码模式下图像组中的第M个之前及第M个非关键帧参考前一个非关键帧和关键帧,第M个之后的非关键帧参考第M个非关键帧和前一个非关键帧,其中,M为大于2且小于N的整数;
确定所述多种编码模式包括所述第一种编码模式、所述第二种编码模式,所述第i种编码模式,所述第N种编码模式和所述第N+1种编码模式中的至少两种编码模式。
根据本申请实施例的另一个方面,还提供了一种用于实施上述视频的解码方法的视频的解码装置。图9是根据本申请实施例的一种可选的视频的解码装置的示意图,如图9所示,该装置可以包括:
获取模块92,用于获取已解码的第一图像组的解码信息,其中,所述第一图像组是目标视频中在当前待解码的第二图像组之前完成解码的图像组,所述解码信息用于指示所述第一图像组的解码质量或者解码延迟;
确定模块94,用于根据所述解码信息从多种解码模式中确定与所述第二图像组匹配的目标解码模式,其中,所述多种解码模式中的每种解码模式下图像组中的非关键帧仅配置前向参考帧;
解码模块96,用于按照所述目标解码模式对所述第二图像组进行解码。
需要说明的是,该实施例中的获取模块92可以用于执行本申请实施例中的步骤S702,该实施例中的确定模块94可以用于执行本申请实施例中的步骤S704,该实施例中的解码模块96可以用于执行本申请实施例中的步骤S706。
作为一种可选的实施例,所述确定模块用于:
确定所述解码信息是否落入所述第一图像组的解码模式对应的阈值区间;
在所述解码信息未落入所述第一图像组的解码模式对应的阈值区间的情况下,根据所述解码信息与所述阈值区间的边界值之间的关系确定所述目标解码模式;
在所述解码信息落入所述第一图像组的解码模式对应的阈值区间的情况下,将所述第一图像组的解码模式确定为所述目标解码模式。
作为一种可选的实施例,所述确定模块用于:
在所述解码信息小于所述阈值区间的下限值的情况下,从所述多个解码模式中解码质量高于所述第一图像组的解码模式的解码质量的解码模式中确定所述目标解码模式;
在所述解码信息大于所述阈值区间的上限值的情况下,从所述多个解码模式中解码质量低于所述第一图像组的解码模式的解码质量的解码模式中确定所述目标解码模式。
作为一种可选的实施例,所述确定模块用于:
在所述解码信息小于所述阈值区间的下限值的情况下,从所述多个解码模式中解码延迟高于所述第一图像组的解码模式的解码延迟的解码模式中确定所述目标解码模式;
在所述解码信息大于所述阈值区间的上限值的情况下,从所述多个解码模式中解码延迟低于所述第一图像组的解码模式的解码延迟的解码模式中确定所述目标解码模式。
作为一种可选的实施例,所述获取模块用于:
确定所述目标视频的解码场景的解码要求;
在所述解码场景的解码要求指示所述目标视频的视频质量的情况下,获取已解码的所述第一图像组的所述解码质量作为所述解码信息;
在所述解码场景的解码要求指示所述目标视频的视频延迟的情况下,获取已解码的所述第一图像组的所述解码延迟作为所述解码信息。
作为一种可选的实施例,所述装置还用于:
在根据所述解码信息从多种解码模式中确定与所述第二图像组匹配的目标解码模式之前,确定第一种解码模式下图像组中的非关键帧只参考图像组中的关键帧;
确定第二种解码模式下图像组中的第一个非关键帧只参考图像组中的关键帧,第二个非关键帧参考第一个非关键帧和关键帧,第三个之后的非关键帧参考第二个非关键帧和关键帧;
确定第i种解码模式下图像组中的第一个非关键帧只参考图像组中的关键帧,第i个之前及第i个非关键帧参考前一个非关键帧和关键帧,第i个之后的非关键帧参考第i个非关键帧和关键帧,其中,i为大于3且小于N的整数,N为图像组中包括的非关键帧的数量;
确定第N种解码模式下图像组中的每一个非关键帧参考前一个非关键帧和关键帧;
确定第N+1种解码模式下图像组中的第M个之前及第M个非关键帧参考前一个非关键帧和关键帧,第M个之后的非关键帧参考第M个非关键帧和前一个非关键帧,其中,M为大于2且小于N的整数;
确定所述多种解码模式包括所述第一种解码模式、所述第二种解码模式,所述第i种解码模式,所述第N种解码模式和所述第N+1种解码模式中的至少两种解码模式。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本发明实施例的又一个方面,还提供了一种用于实施上述视频的编码方法或者视频解码方法的电子装置,如图10所示,该电子装置包括存储器1002和处理器1004,该存储器1002中存储有计算机程序,该处理器1004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
获取已编码的第一图像组的编码信息,其中,所述第一图像组是目标视频中在当前待编码的第二图像组之前完成编码的图像组,所述编码信息用于指示所述第一图像组的编码质量或者解码延迟;
根据所述编码信息从多种编码模式中确定与所述第二图像组匹配的目标编码模式,其中,所述多种编码模式中的每种编码模式下图像组中的非关键帧仅配置前向参考帧;
按照所述目标编码模式对所述第二图像组进行编码。
可选地,在本实施例中,上述处理器还可以被设置为通过计算机程序执行以下步骤:
获取已解码的第一图像组的解码信息,其中,所述第一图像组是目标视频中在当前待解码的第二图像组之前完成解码的图像组,所述解码信息用于指示所述第一图像组的解码质量或者解码延迟;
根据所述解码信息从多种解码模式中确定与所述第二图像组匹配的目标解码模式,其中,所述多种解码模式中的每种解码模式下图像组中的非关键帧仅配置前向参考帧;
按照所述目标解码模式对所述第二图像组进行解码。
可选地,本领域普通技术人员可以理解,图10所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(MobileInternetDevices,MID)、PAD等终端设备。图10其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图10中所示更多或者更少的组件(如网络接口等),或者具有与图10所示不同的配置。
其中,存储器1002可用于存储软件程序以及模块,如本发明实施例中的视频的编解码方法和装置对应的程序指令/模块,处理器1004通过运行存储在存储器1002内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的视频的编解码方法。存储器1002可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1002可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1002具体可以但不限于用于存储视频编解码过程中的数据和信息等。作为一种示例,如图10所示,上述存储器1002中可以但不限于包括上述视频图像的处理装置中的获取模块10022、确定模块10024及编码模块10026。此外,还可以包括但不限于上述视频的编码装置中的其他模块单元,本示例中不再赘述。
作为另一种示例,上述存储器1002中还可以但不限于包括上述视频的解码装置中的获取模块、确定模块及解码模块。此外,还可以包括但不限于上述视频的解码装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1006包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1006为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器1008,用于显示上述视频编解码过程中的信息;和连接总线1010,用于连接上述电子装置中的各个模块部件。
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行视频的编码方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
获取已编码的第一图像组的编码信息,其中,所述第一图像组是目标视频中在当前待编码的第二图像组之前完成编码的图像组,所述编码信息用于指示所述第一图像组的编码质量或者解码延迟;
根据所述编码信息从多种编码模式中确定与所述第二图像组匹配的目标编码模式,其中,所述多种编码模式中的每种编码模式下图像组中的非关键帧仅配置前向参考帧;
按照所述目标编码模式对所述第二图像组进行编码。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:
获取已解码的第一图像组的解码信息,其中,所述第一图像组是目标视频中在当前待解码的第二图像组之前完成解码的图像组,所述解码信息用于指示所述第一图像组的解码质量或者解码延迟;
根据所述解码信息从多种解码模式中确定与所述第二图像组匹配的目标解码模式,其中,所述多种解码模式中的每种解码模式下图像组中的非关键帧仅配置前向参考帧;
按照所述目标解码模式对所述第二图像组进行解码。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (8)
1.一种视频的编码方法,其特征在于,包括:
获取已编码的第一图像组的编码信息,其中,所述第一图像组是目标视频中在当前待编码的第二图像组之前完成编码的图像组,所述编码信息用于指示所述第一图像组的编码质量或者解码延迟;
根据所述编码信息从多种编码模式中确定与所述第二图像组匹配的目标编码模式,其中,所述多种编码模式中的每种编码模式下图像组中的非关键帧仅配置前向参考帧;
按照所述目标编码模式对所述第二图像组进行编码;
根据所述编码信息从多种编码模式中确定与所述第二图像组匹配的目标编码模式包括:
确定所述编码信息是否落入所述第一图像组的编码模式对应的阈值区间;
在所述编码信息未落入所述第一图像组的编码模式对应的阈值区间的情况下,根据所述编码信息与所述阈值区间的边界值之间的关系确定所述目标编码模式;
在所述编码信息落入所述第一图像组的编码模式对应的阈值区间的情况下,将所述第一图像组的编码模式确定为所述目标编码模式;
在所述编码信息用于指示所述第一图像组的编码质量的情况下,根据所述编码信息与所述阈值区间的边界值之间的关系确定所述目标编码模式包括:
在所述编码信息小于所述阈值区间的下限值的情况下,从所述多种编码模式中编码质量高于所述第一图像组的编码模式的编码质量的编码模式中确定所述目标编码模式;
在所述编码信息大于所述阈值区间的上限值的情况下,从所述多种编码模式中编码质量低于所述第一图像组的编码模式的编码质量的编码模式中确定所述目标编码模式;
在所述编码信息用于指示所述第一图像组的解码延迟的情况下,根据所述编码信息与所述阈值区间的边界值之间的关系确定所述目标编码模式包括:
在所述编码信息小于所述阈值区间的下限值的情况下,从所述多种编码模式中解码延迟高于所述第一图像组的编码模式的解码延迟的编码模式中确定所述目标编码模式;
在所述编码信息大于所述阈值区间的上限值的情况下,从所述多种编码模式中解码延迟低于所述第一图像组的编码模式的解码延迟的编码模式中确定所述目标编码模式;
在根据所述编码信息从多种编码模式中确定与所述第二图像组匹配的目标编码模式之前,所述方法还包括:
确定第一种编码模式下图像组中的非关键帧只参考图像组中的关键帧;
确定第二种编码模式下图像组中的第一个非关键帧只参考图像组中的关键帧,第二个非关键帧参考第一个非关键帧和关键帧,第三个之后的非关键帧参考第二个非关键帧和关键帧;
确定第i种编码模式下图像组中的第一个非关键帧只参考图像组中的关键帧,第i个之前及第i个非关键帧参考前一个非关键帧和关键帧,第i个之后的非关键帧参考第i个非关键帧和关键帧,其中,i为大于3且小于N的整数,N为图像组中包括的非关键帧的数量;
确定第N种编码模式下图像组中的每一个非关键帧参考前一个非关键帧和关键帧;
确定第N+1种编码模式下图像组中的第M个之前及第M个非关键帧参考前一个非关键帧和关键帧,第M个之后的非关键帧参考第M个非关键帧和前一个非关键帧,其中,M为大于2且小于N的整数;
确定所述多种编码模式包括所述第一种编码模式、所述第二种编码模式,所述第i种编码模式,所述第N种编码模式和所述第N+1种编码模式中的至少两种编码模式。
2.根据权利要求1所述的方法,其特征在于,获取已编码的所述第一图像组的编码信息包括:
确定所述目标视频的编码场景的编码要求;
在所述编码场景的编码要求指示所述目标视频的视频质量的情况下,获取已编码的所述第一图像组的所述编码质量作为所述编码信息;
在所述编码场景的编码要求指示所述目标视频的视频延迟的情况下,获取已编码的所述第一图像组的所述解码延迟作为所述编码信息。
3.一种视频的解码方法,其特征在于,包括:
获取已解码的第一图像组的解码信息,其中,所述第一图像组是目标视频中在当前待解码的第二图像组之前完成解码的图像组,所述解码信息用于指示所述第一图像组的解码质量或者解码延迟;
根据所述解码信息从多种解码模式中确定与所述第二图像组匹配的目标解码模式,其中,所述多种解码模式中的每种解码模式下图像组中的非关键帧仅配置前向参考帧;
按照所述目标解码模式对所述第二图像组进行解码;
根据所述解码信息从多种解码模式中确定与所述第二图像组匹配的目标解码模式包括:
确定所述解码信息是否落入所述第一图像组的解码模式对应的阈值区间;
在所述解码信息未落入所述第一图像组的解码模式对应的阈值区间的情况下,根据所述解码信息与所述阈值区间的边界值之间的关系确定所述目标解码模式;
在所述解码信息落入所述第一图像组的解码模式对应的阈值区间的情况下,将所述第一图像组的解码模式确定为所述目标解码模式;
在所述解码信息用于指示所述第一图像组的解码质量的情况下,根据所述解码信息与所述阈值区间的边界值之间的关系确定所述目标解码模式包括:
在所述解码信息小于所述阈值区间的下限值的情况下,从所述多种解码模式中解码质量高于所述第一图像组的解码模式的解码质量的解码模式中确定所述目标解码模式;
在所述解码信息大于所述阈值区间的上限值的情况下,从所述多种解码模式中解码质量低于所述第一图像组的解码模式的解码质量的解码模式中确定所述目标解码模式;
在所述解码信息用于指示所述第一图像组的解码延迟的情况下,根据所述解码信息与所述阈值区间的边界值之间的关系确定所述目标解码模式包括:
在所述解码信息小于所述阈值区间的下限值的情况下,从所述多种解码模式中解码延迟高于所述第一图像组的解码模式的解码延迟的解码模式中确定所述目标解码模式;
在所述解码信息大于所述阈值区间的上限值的情况下,从所述多种解码模式中解码延迟低于所述第一图像组的解码模式的解码延迟的解码模式中确定所述目标解码模式;
在根据所述解码信息从多种解码模式中确定与所述第二图像组匹配的目标解码模式之前,所述方法还包括:
确定第一种解码模式下图像组中的非关键帧只参考图像组中的关键帧;
确定第二种解码模式下图像组中的第一个非关键帧只参考图像组中的关键帧,第二个非关键帧参考第一个非关键帧和关键帧,第三个之后的非关键帧参考第二个非关键帧和关键帧;
确定第i种解码模式下图像组中的第一个非关键帧只参考图像组中的关键帧,第i个之前及第i个非关键帧参考前一个非关键帧和关键帧,第i个之后的非关键帧参考第i个非关键帧和关键帧,其中,i为大于3且小于N的整数,N为图像组中包括的非关键帧的数量;
确定第N种解码模式下图像组中的每一个非关键帧参考前一个非关键帧和关键帧;
确定第N+1种解码模式下图像组中的第M个之前及第M个非关键帧参考前一个非关键帧和关键帧,第M个之后的非关键帧参考第M个非关键帧和前一个非关键帧,其中,M为大于2且小于N的整数;
确定所述多种解码模式包括所述第一种解码模式、所述第二种解码模式,所述第i种解码模式,所述第N种解码模式和所述第N+1种解码模式中的至少两种解码模式。
4.根据权利要求3所述的方法,其特征在于,获取已解码的所述第一图像组的解码信息包括:
确定所述目标视频的解码场景的解码要求;
在所述解码场景的解码要求指示所述目标视频的视频质量的情况下,获取已解码的所述第一图像组的所述解码质量作为所述解码信息;
在所述解码场景的解码要求指示所述目标视频的视频延迟的情况下,获取已解码的所述第一图像组的所述解码延迟作为所述解码信息。
5.一种视频的编码装置,其特征在于,包括:
获取模块,用于获取已编码的第一图像组的编码信息,其中,所述第一图像组是目标视频中在当前待编码的第二图像组之前完成编码的图像组,所述编码信息用于指示所述第一图像组的编码质量或者解码延迟;
确定模块,用于根据所述编码信息从多种编码模式中确定与所述第二图像组匹配的目标编码模式,其中,所述多种编码模式中的每种编码模式下图像组中的非关键帧仅配置前向参考帧;根据所述编码信息从多种编码模式中确定与所述第二图像组匹配的目标编码模式包括:确定所述编码信息是否落入所述第一图像组的编码模式对应的阈值区间;在所述编码信息未落入所述第一图像组的编码模式对应的阈值区间的情况下,根据所述编码信息与所述阈值区间的边界值之间的关系确定所述目标编码模式;在所述编码信息落入所述第一图像组的编码模式对应的阈值区间的情况下,将所述第一图像组的编码模式确定为所述目标编码模式;在所述编码信息用于指示所述第一图像组的编码质量的情况下,根据所述编码信息与所述阈值区间的边界值之间的关系确定所述目标编码模式包括:在所述编码信息小于所述阈值区间的下限值的情况下,从所述多种编码模式中编码质量高于所述第一图像组的编码模式的编码质量的编码模式中确定所述目标编码模式;在所述编码信息大于所述阈值区间的上限值的情况下,从所述多种编码模式中编码质量低于所述第一图像组的编码模式的编码质量的编码模式中确定所述目标编码模式;在所述编码信息用于指示所述第一图像组的解码延迟的情况下,根据所述编码信息与所述阈值区间的边界值之间的关系确定所述目标编码模式包括:在所述编码信息小于所述阈值区间的下限值的情况下,从所述多种编码模式中解码延迟高于所述第一图像组的编码模式的解码延迟的编码模式中确定所述目标编码模式;在所述编码信息大于所述阈值区间的上限值的情况下,从所述多种编码模式中解码延迟低于所述第一图像组的编码模式的解码延迟的编码模式中确定所述目标编码模式;在根据所述编码信息从多种编码模式中确定与所述第二图像组匹配的目标编码模式之前,确定第一种编码模式下图像组中的非关键帧只参考图像组中的关键帧;确定第二种编码模式下图像组中的第一个非关键帧只参考图像组中的关键帧,第二个非关键帧参考第一个非关键帧和关键帧,第三个之后的非关键帧参考第二个非关键帧和关键帧;确定第i种编码模式下图像组中的第一个非关键帧只参考图像组中的关键帧,第i个之前及第i个非关键帧参考前一个非关键帧和关键帧,第i个之后的非关键帧参考第i个非关键帧和关键帧,其中,i为大于3且小于N的整数,N为图像组中包括的非关键帧的数量;确定第N种编码模式下图像组中的每一个非关键帧参考前一个非关键帧和关键帧;确定第N+1种编码模式下图像组中的第M个之前及第M个非关键帧参考前一个非关键帧和关键帧,第M个之后的非关键帧参考第M个非关键帧和前一个非关键帧,其中,M为大于2且小于N的整数;确定所述多种编码模式包括所述第一种编码模式、所述第二种编码模式,所述第i种编码模式,所述第N种编码模式和所述第N+1种编码模式中的至少两种编码模式;
编码模块,用于按照所述目标编码模式对所述第二图像组进行编码。
6.一种视频的解码装置,其特征在于,包括:
获取模块,用于获取已解码的第一图像组的解码信息,其中,所述第一图像组是目标视频中在当前待解码的第二图像组之前完成解码的图像组,所述解码信息用于指示所述第一图像组的解码质量或者解码延迟;
确定模块,用于根据所述解码信息从多种解码模式中确定与所述第二图像组匹配的目标解码模式,其中,所述多种解码模式中的每种解码模式下图像组中的非关键帧仅配置前向参考帧;根据所述解码信息从多种解码模式中确定与所述第二图像组匹配的目标解码模式包括:确定所述解码信息是否落入所述第一图像组的解码模式对应的阈值区间;在所述解码信息未落入所述第一图像组的解码模式对应的阈值区间的情况下,根据所述解码信息与所述阈值区间的边界值之间的关系确定所述目标解码模式;在所述解码信息落入所述第一图像组的解码模式对应的阈值区间的情况下,将所述第一图像组的解码模式确定为所述目标解码模式;在所述解码信息用于指示所述第一图像组的解码质量的情况下,根据所述解码信息与所述阈值区间的边界值之间的关系确定所述目标解码模式包括:在所述解码信息小于所述阈值区间的下限值的情况下,从所述多种解码模式中解码质量高于所述第一图像组的解码模式的解码质量的解码模式中确定所述目标解码模式;在所述解码信息大于所述阈值区间的上限值的情况下,从所述多种解码模式中解码质量低于所述第一图像组的解码模式的解码质量的解码模式中确定所述目标解码模式;在所述解码信息用于指示所述第一图像组的解码延迟的情况下,根据所述解码信息与所述阈值区间的边界值之间的关系确定所述目标解码模式包括:在所述解码信息小于所述阈值区间的下限值的情况下,从所述多种解码模式中解码延迟高于所述第一图像组的解码模式的解码延迟的解码模式中确定所述目标解码模式;在所述解码信息大于所述阈值区间的上限值的情况下,从所述多种解码模式中解码延迟低于所述第一图像组的解码模式的解码延迟的解码模式中确定所述目标解码模式;在根据所述解码信息从多种解码模式中确定与所述第二图像组匹配的目标解码模式之前,确定第一种解码模式下图像组中的非关键帧只参考图像组中的关键帧;确定第二种解码模式下图像组中的第一个非关键帧只参考图像组中的关键帧,第二个非关键帧参考第一个非关键帧和关键帧,第三个之后的非关键帧参考第二个非关键帧和关键帧;确定第i种解码模式下图像组中的第一个非关键帧只参考图像组中的关键帧,第i个之前及第i个非关键帧参考前一个非关键帧和关键帧,第i个之后的非关键帧参考第i个非关键帧和关键帧,其中,i为大于3且小于N的整数,N为图像组中包括的非关键帧的数量;确定第N种解码模式下图像组中的每一个非关键帧参考前一个非关键帧和关键帧;确定第N+1种解码模式下图像组中的第M个之前及第M个非关键帧参考前一个非关键帧和关键帧,第M个之后的非关键帧参考第M个非关键帧和前一个非关键帧,其中,M为大于2且小于N的整数;确定所述多种解码模式包括所述第一种解码模式、所述第二种解码模式,所述第i种解码模式,所述第N种解码模式和所述第N+1种解码模式中的至少两种解码模式;
解码模块,用于按照所述目标解码模式对所述第二图像组进行解码。
7.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至4任一项中所述的方法。
8.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器通过所述计算机程序执行上述权利要求1至4任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011216930.2A CN112351277B (zh) | 2020-11-04 | 2020-11-04 | 一种视频的编码方法和装置,视频的解码方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011216930.2A CN112351277B (zh) | 2020-11-04 | 2020-11-04 | 一种视频的编码方法和装置,视频的解码方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112351277A CN112351277A (zh) | 2021-02-09 |
CN112351277B true CN112351277B (zh) | 2024-04-05 |
Family
ID=74429171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011216930.2A Active CN112351277B (zh) | 2020-11-04 | 2020-11-04 | 一种视频的编码方法和装置,视频的解码方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112351277B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1775953A1 (en) * | 2005-10-14 | 2007-04-18 | Universiteit Gent | Switching between digital video streams using buffering of second digital video stream |
WO2009149564A1 (en) * | 2008-06-13 | 2009-12-17 | Octasic Inc. | Method and device for controlling bit-rate for video encoding, video encoding system using same and computer product therefor |
CN103686172A (zh) * | 2013-12-20 | 2014-03-26 | 电子科技大学 | 低延迟视频编码可变比特率码率控制方法 |
CN104067618A (zh) * | 2011-11-25 | 2014-09-24 | 三星电子株式会社 | 用于解码器的缓冲器管理的图像编码方法和装置、以及图像解码方法和装置 |
CN104754337A (zh) * | 2013-12-26 | 2015-07-01 | 联发科技股份有限公司 | 视频编码方法 |
CN106231348A (zh) * | 2016-09-19 | 2016-12-14 | 浙江宇视科技有限公司 | 一种gop数据的回放方法、装置和系统 |
CN107155107A (zh) * | 2017-03-21 | 2017-09-12 | 腾讯科技(深圳)有限公司 | 视频编码方法和装置、视频解码方法和装置 |
CN109275029A (zh) * | 2018-08-28 | 2019-01-25 | 北京达佳互联信息技术有限公司 | 视频流处理方法和装置、移动终端及存储介质 |
CN109862359A (zh) * | 2018-12-29 | 2019-06-07 | 北京数码视讯软件技术发展有限公司 | 基于分层b帧的码率控制方法、装置和电子设备 |
CN111567052A (zh) * | 2017-12-22 | 2020-08-21 | 华为技术有限公司 | 用于将vr 360视频下发给远程终端用户的可缩放fov+ |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10855988B2 (en) * | 2018-12-19 | 2020-12-01 | Qualcomm Incorporated | Adaptive prediction structures |
-
2020
- 2020-11-04 CN CN202011216930.2A patent/CN112351277B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1775953A1 (en) * | 2005-10-14 | 2007-04-18 | Universiteit Gent | Switching between digital video streams using buffering of second digital video stream |
WO2009149564A1 (en) * | 2008-06-13 | 2009-12-17 | Octasic Inc. | Method and device for controlling bit-rate for video encoding, video encoding system using same and computer product therefor |
CN104067618A (zh) * | 2011-11-25 | 2014-09-24 | 三星电子株式会社 | 用于解码器的缓冲器管理的图像编码方法和装置、以及图像解码方法和装置 |
CN103686172A (zh) * | 2013-12-20 | 2014-03-26 | 电子科技大学 | 低延迟视频编码可变比特率码率控制方法 |
CN104754337A (zh) * | 2013-12-26 | 2015-07-01 | 联发科技股份有限公司 | 视频编码方法 |
CN106231348A (zh) * | 2016-09-19 | 2016-12-14 | 浙江宇视科技有限公司 | 一种gop数据的回放方法、装置和系统 |
CN107155107A (zh) * | 2017-03-21 | 2017-09-12 | 腾讯科技(深圳)有限公司 | 视频编码方法和装置、视频解码方法和装置 |
CN111567052A (zh) * | 2017-12-22 | 2020-08-21 | 华为技术有限公司 | 用于将vr 360视频下发给远程终端用户的可缩放fov+ |
CN109275029A (zh) * | 2018-08-28 | 2019-01-25 | 北京达佳互联信息技术有限公司 | 视频流处理方法和装置、移动终端及存储介质 |
CN109862359A (zh) * | 2018-12-29 | 2019-06-07 | 北京数码视讯软件技术发展有限公司 | 基于分层b帧的码率控制方法、装置和电子设备 |
Non-Patent Citations (2)
Title |
---|
Motion vector composition in low-delay hierarchical P-frame coding;Tsz-Kwan Lee, et al;《2013 IEEE China Summit and International Conference on Signal and Information Processing》;全文 * |
基于H.264扩展的可伸缩视频编码的传输技术研究;李晓峰;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112351277A (zh) | 2021-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112040233B (zh) | 视频编码、视频解码方法和装置、电子设备及存储介质 | |
CN110139113B (zh) | 视频资源的传输参数分发方法及装置 | |
CN110636294B (zh) | 视频解码方法及装置,视频编码方法及装置 | |
CN110784740A (zh) | 视频处理方法、装置、服务器及可读存储介质 | |
US12015770B2 (en) | Method for encoding video data, device, and storage medium | |
CN112333448B (zh) | 视频编码、解码方法和装置、电子设备和存储介质 | |
CN112351285B (zh) | 视频编码、解码方法和装置、电子设备和存储介质 | |
US10567825B2 (en) | Cloud DVR storage | |
EP3490263B1 (en) | Channel switching method and device | |
CN110519607B (zh) | 视频解码方法及装置,视频编码方法及装置 | |
CN107181744B (zh) | 一种视频处理及编码方法、处理器与编码器 | |
WO2021057697A1 (zh) | 视频编解码方法和装置、存储介质及电子装置 | |
CN112351278B (zh) | 一种视频的编码方法和装置,视频的解码方法和装置 | |
CN103929682B (zh) | 一种在视频直播系统中设置关键帧的方法及装置 | |
CN112351276B (zh) | 一种视频的编码方法和装置,视频的解码方法和装置 | |
CN110650357A (zh) | 视频解码方法及装置 | |
CN116567228A (zh) | 编码方法、实时通信方法、装置、设备及存储介质 | |
CN110662071B (zh) | 视频解码方法和装置、存储介质及电子装置 | |
CN112351277B (zh) | 一种视频的编码方法和装置,视频的解码方法和装置 | |
CN113366842B (zh) | 基于内容层的视频压缩的系统和方法 | |
CN112291591A (zh) | 一种视频数据回放方法、电子设备和存储介质 | |
CN110545431B (zh) | 视频解码方法及装置、视频编码方法及装置 | |
US9467691B2 (en) | Video system for displaying image data, method and computer program | |
US20160173788A1 (en) | Systems and methods to achieve interactive special effects | |
US12034944B2 (en) | Video encoding method and apparatus, video decoding method and apparatus, electronic device and readable storage medium |
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 |