CN111193926A - 编码数据处理方法、装置、计算机设备和存储介质 - Google Patents
编码数据处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111193926A CN111193926A CN201811353206.7A CN201811353206A CN111193926A CN 111193926 A CN111193926 A CN 111193926A CN 201811353206 A CN201811353206 A CN 201811353206A CN 111193926 A CN111193926 A CN 111193926A
- Authority
- CN
- China
- Prior art keywords
- complexity
- data frame
- encoded
- motion
- scene
- 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/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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- 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/124—Quantisation
-
- 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/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- 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/142—Detection of scene cut or scene change
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请涉及一种编码数据处理方法、装置、计算机设备和存储介质,获取待编码数据帧;确定所述待编码数据帧的复杂程度;根据第一复杂程度及第二复杂程度,确定所述待编码数据帧对应的编码参数;所述第一复杂程度为所述待编码数据帧的复杂程度,所述第二复杂程度为前序数据帧的复杂程度;所述前序数据帧为与所述待编码数据帧连续、并在所述待编码数据帧之前的至少一帧数据帧。如此,根据所述待编码数据帧与前序数据帧的复杂程度确定编码参数,不同的第一复杂程度及第二复杂程度,可以对应不同的编码参数。因此,通过该得到的编码参数进行编码后得到的码流能够适用于不同的场景。从而,可以提高编码数据处理的适应性。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种编码数据处理方法、装置、计算机设备和存储介质。
背景技术
编码是信息从一种形式或格式转换为另一种形式的过程。在需要对多媒体数据格式的编码数据进行通讯传输时,需要将编码数据进行编码形成,适宜在互联网中传输的编码码流,因此,编码在通讯方面的使用十分广泛。
传统的编码数据处理方法,根据固定的编码参数进行数据编码,难以适应不同场景需求,因此,存在适应性较差的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高适应性的编码数据处理方法、装置、计算机设备和存储介质。
一种编码数据处理方法,所述方法包括:
获取待编码数据帧;
确定所述待编码数据帧的复杂程度;
根据第一复杂程度及第二复杂程度,确定所述待编码数据帧对应的编码参数;所述第一复杂程度为所述待编码数据帧的复杂程度,所述第二复杂程度为前序数据帧的复杂程度;所述前序数据帧为与所述待编码数据帧连续、并在所述待编码数据帧之前的至少一帧数据帧。
在其中一实施例中,在第一待编码数据帧及第二待编码数据帧的第一复杂程及第二复杂程度均大于预设运动复杂值时,若所述第一待编码数据帧的第一复杂程度大于或等于所述第二待编码数据帧的第一复杂程度,且所述第一待编码数据帧的第二复杂程度大于或等于所述第二待编码数据帧的第二复杂程度,则所述第一待编码数据帧的编码码率大于或等于所述第二待编码数据帧的编码码率,且所述第二待编码数据帧的编码帧率大于或等于所述第一待编码数据帧的编码帧率。
在其中一实施例中,所述获取待编码数据帧,包括:获取基于屏幕图像的待编码数据帧。
在其中一实施例中,所述根据第一复杂程度及第二复杂程度,确定所述待编码数据帧对应的编码参数之后,还包括:
根据所述待编码数据帧对应的编码参数,对所述待编码数据帧进行编码,得到编码码流。
在其中一实施例中,所述获取待编码数据帧之前,还包括:接收无线投屏指令,所述无线投屏指令携带目标终端标识;
所述根据所述待编码数据帧对应的编码参数,对所述待编码数据帧进行编码,得到编码码流之后,还包括:根据所述目标终端标识,发送所述编码码流。
一种编码数据处理装置,所述装置包括:
数据帧获取模块,用于获取待编码数据帧;
复杂度确定模块,用于确定所述待编码数据帧的复杂程度;
编码参数确定模块,用于根据第一复杂程度及第二复杂程度,确定所述待编码数据帧对应的编码参数;所述第一复杂程度为所述待编码数据帧的复杂程度,所述第二复杂程度为前序数据帧的复杂程度;所述前序数据帧为与所述待编码数据帧连续、并在所述待编码数据帧之前的至少一帧数据帧。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待编码数据帧;
确定所述待编码数据帧的复杂程度;
根据第一复杂程度及第二复杂程度,确定所述待编码数据帧对应的编码参数;所述第一复杂程度为所述待编码数据帧的复杂程度,所述第二复杂程度为前序数据帧的复杂程度;所述前序数据帧为与所述待编码数据帧连续、并在所述待编码数据帧之前的至少一帧数据帧。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待编码数据帧;
确定所述待编码数据帧的复杂程度;
根据第一复杂程度及第二复杂程度,确定所述待编码数据帧对应的编码参数;所述第一复杂程度为所述待编码数据帧的复杂程度,所述第二复杂程度为前序数据帧的复杂程度;所述前序数据帧为与所述待编码数据帧连续、并在所述待编码数据帧之前的至少一帧数据帧。
上述编码数据处理方法、装置、计算机设备和存储介质,获取待编码数据帧;确定所述待编码数据帧的复杂程度;根据第一复杂程度及第二复杂程度,确定所述待编码数据帧对应的编码参数;所述第一复杂程度为所述待编码数据帧的复杂程度,所述第二复杂程度为前序数据帧的复杂程度;所述前序数据帧为与所述待编码数据帧连续、并在所述待编码数据帧之前的至少一帧数据帧。如此,根据所述待编码数据帧与前序数据帧的复杂程度确定编码参数,不同的第一复杂程度及第二复杂程度,可以对应不同的编码参数。因此,通过该得到的编码参数进行编码后得到的码流能够适用于不同的场景。从而,可以提高编码数据处理的适应性。
附图说明
图1为一个实施例中编码数据处理方法的应用环境图;
图2为一个实施例中编码数据处理方法的流程示意图;
图3为另一实施例中编码数据处理方法的流程示意图;
图4为一具体实施例的编码数据处理方法的工作原理示意图;
图5为一个实施例中编码数据处理装置的结构框图;
图6为一个实施例中计算机设备的结构框图;
图7为另一实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施方式中编码数据处理方法的应用环境图。该编码数据处理方法可应用于可应用于如图1所示的应用环境中。其中,第一终端102与第二终端104通过网络与服务器106通信。
在一实施例中,该编码数据处理方法可以运行在第一终端102上,第一终端102通过该编码数据处理方法确定编码参数,并根据编码参数对待编码数据帧进行编码得到编码码流之后,可以通过网络将该编码码流发送至服务器106。服务器106转发该编码码流至第二终端106,由第二终端104对该编码码流进行解码、播放。
在另一实施例中,该编码数据处理方法可以运行在服务器106上,服务器106通过该编码数据处理方法确定编码参数,并根据编码参数对待编码数据帧进行编码得到编码码流之后,可以通过网络将该编码码流发送至第一终端102,由第一终端102对该编码码流进行解码、播放。
其中,第一终端102、第二终端104可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器106可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
如图2所示,在一个实施例中,提供了一种编码数据处理方法。该方法可以运行于图1中的第一终端102,也可以运行于图1中的服务器106。该编码数据处理方法,包括以下步骤:
S202,获取待编码数据帧。
待编码数据帧为需要进行编码的数据帧。可以通过采集的方式获取到待编码数据帧。待编码数据帧也可以在其它设备采集了之后,通过各种途径传输到执行设备,执行设备存储该待编码数据帧之后,执行设备在执行本方法时,从存储器中获取该待编码数据帧。其中,执行设备为执行本方法的设备,如可以为第一终端也可以为服务器。
S204,确定待编码数据帧的复杂程度。
执行设备确定待编码数据帧的复杂程度。该复杂程度可以包括时空域复杂程度,如该复杂程度可以包括该待编码数据帧的空间信息(SI,Spatial Information)或/及时间信息(TI,Temporal Information)。其中,空间信息是表征一帧图像的空间细节量。空间上越复杂的场景一般SI值越高。时间信息是表征视频序列的时间变化量。运动程度较高的序列一般具有更高的TI值。
该复杂程度可以包括基于该待编码数据帧的率失真损失(RDCost,RateDistortion Cost)。率失真损失是视频编码中衡量码率与失真的参数。如基于该待编码数据帧预测得到的帧内、帧间最佳RDCost。
该复杂程度可以是根据该待编码数据帧确定,也可以根据该待编码数据帧及其前序数据帧确定。
S206,根据第一复杂程度及第二复杂程度,确定待编码数据帧对应的编码参数。
执行设备根据第一复杂程度及第二复杂程度,确定待编码数据帧对应的编码参数。第一复杂程度为待编码数据帧的复杂程度,第二复杂程度为前序数据帧的复杂程度;前序数据帧为与待编码数据帧连续、并在待编码数据帧之前的至少一帧数据帧。假设{Z1、Z2、Z3}为依次采集到的、连续的数据帧,则Z3的前序数据帧可以为{Z2}或{Z2,Z1},但不能为{Z1}。
编码参数可以为编码帧率、编码码率。其中,编码帧率为每秒编码的数据帧的数目,基本单位为fps(frame per second,帧每秒)。编码码率为编码后数据帧的码率。码率,也称为比特率,是指每秒传送的比特(bit)数。编码码率的基本单位为bps(bit persecond),编码码率越高,传送数据速度越快。
编码参数还可以为量化参数(QP,Quantization Parameter)。量化参数是指量化步长对应的序号。比如,H.264/MPEG-4AVC(Moving Picture Expert Group-4AdvancedVideo Coding,运动图像专家组-4高级视频编码器)中量化步长有52个值,则量化参数的数值为0~51,每个量化参数用于标识52个量化步长中的一个量化步长。
可以针对第一复杂程度及第二复杂程度的范围进行划分,不同范围映射到不同的编码参数。
也可以设置一种映射规则,将第一复杂程度及第二复杂程度进行映射得到对应的编码参数。如,对于任意两帧待编码数据帧,假设分别为第一待编码数据帧和第二待编码数据帧。在第一待编码数据帧及第二待编码数据帧的第一复杂程及第二复杂程度均大于第一预设运动复杂值时,若第一待编码数据帧的第一复杂程度大于或等于第二待编码数据帧的第一复杂程度,且第一待编码数据帧的第二复杂程度大于或等于第二待编码数据帧的第二复杂程度,则第一待编码数据帧的编码码率大于或等于第二待编码数据帧的编码码率,且第二待编码数据帧的编码帧率大于或等于第一待编码数据帧的编码帧率。
如此,根据待编码数据帧与前序数据帧的复杂程度确定编码参数,不同的第一复杂程度及第二复杂程度,可以对应不同的编码参数。如,对于运动剧烈且纹理复杂的场景,可以将编码码率设置较高值,避免画面模糊;而对于纹理较简单的画面,可以将编码码率设置较低值,以避免量化参数下溢,浪费码率。
基于本实施例的编码数据处理方法,获取待编码数据帧;确定待编码数据帧的复杂程度;根据第一复杂程度及第二复杂程度,确定待编码数据帧对应的编码参数;第一复杂程度为待编码数据帧的复杂程度,第二复杂程度为前序数据帧的复杂程度;前序数据帧为与待编码数据帧连续、并在待编码数据帧之前的至少一帧数据帧。如此,根据待编码数据帧与前序数据帧的复杂程度确定编码参数,不同的第一复杂程度及第二复杂程度,可以对应不同的编码参数。因此,通过该得到的编码参数进行编码后得到的码流能够适用于不同的场景。从而,可以提高编码数据处理的适应性。
在其中一实施例中,根据第一复杂程度及第二复杂程度,确定待编码数据帧对应的编码参数,包括:根据第一复杂程度及第二复杂程度,确定待编码数据帧对应的场景类型;基于待编码数据帧对应的场景类型,确定待编码数据帧对应的编码参数。
执行设备根据第一复杂程度及第二复杂程度,确定待编码数据帧对应的场景类型;基于待编码数据帧对应的场景类型,确定待编码数据帧对应的编码参数。场景类型可以包括运动场景和持续静止场景。其中,运动场景可以表示待编码数据帧的内容与前序数据帧的数据内容不同,如待编码数据帧对应的图像与前序数据帧对应的图像不同。持续静止场景可以表示待编码数据帧的内容与前序数据帧的数据内容相同,如待编码数据帧的图像与前序数据帧对应的图像相同。
一般情况下,运动场景对应的数据帧的第一复杂程度及第二复杂程度中,至少有一个复杂程度,均大于持续静止场景对应的数据帧的第一复杂程度及第二复杂程度。因此,可以通过预设阈值的方式,设置一预设静止复杂值:当第一复杂程度及第二复杂程度均等于或小于预设静止复杂值时,确定该待编码数据帧对应的场景类型为持续静止场景;当第一复杂程度及第二复杂程度至少有一个大于预设静止复杂值时,确定该编码数据帧对应的场景类型为运动场景。还可以设置一第一预设运动复杂值,当第一复杂程度及第二复杂程度至少有一个大于第一预设运动复杂值,确定该编码数据帧对应的场景类型为运动场景。该第一预设运动复杂值大于或等于该预设静止复杂值。
运动场景对应的编码参数包括编码码率及编码帧率,可以分别记为运动编码码率及运动编码帧率;持续静止场景对应的编码参数也包括编码码率及编码帧率,可以分别记为静止编码码率及静止编码帧率。静止编码帧率小于运动编码帧率。静止编码码率可以大于或等于运动编码码率。
基于本实施例的编码数据处理方法,可以根据待编码数据帧与前序数据帧的复杂程度确定该待编码数据帧的场景类型,并基于该场景类型确定编码参数,如此,可以使得通过该得到的编码参数进行编码后得到的码流能够适用于不同类型的场景。从而,可以提高编码数据处理的适应性。
在其中一实施例中,根据第一复杂程度及第二复杂程度,确定待编码数据帧对应的场景类型,包括:当第一复杂程度及第二复杂程度中至少有一个大于第一预设运动复杂值时,确定待编码数据帧对应的场景类型为运动场景。
执行设备在第一复杂程度及第二复杂程度中至少有一个大于第一预设运动复杂值时,确定待编码数据帧对应的场景类型为运动场景。对应地,基于待编码数据帧对应的场景类型,确定待编码数据帧对应的编码参数,包括:当待编码数据帧对应的场景类型为运动场景时,确定待编码数据帧对应的编码参数,等于待编码数据帧对应的场景类型所对应的编码参数。
运动场景的场景类型可以包括至少两种。如可以包括持续运动场景、运动转静止场景及静止转运动场景中的至少两种。又如,可以包括第二持续运动场景、第一持续运动场景;还可以在第二持续运动场景和第一持续运动场景的基础上,进一步包括介于第二持续运动场景与第一持续运动场景之间的第三持续运动场景;更进一步地,第三持续运动场景的数量可以为不小于2。
其中,持续运动场景,可以是第一复杂程度及第二复杂程度均大于第一预设运动复杂值的运动场景。静止转运动场景,可以是第一复杂程度大于第一预设运动复杂值,第二复杂程度等于或小于预设静止复杂值的运动场景。运动转静止场景,可以是第二复杂程度大于第一预设运动复杂值,第一复杂程度等于或小于预设静止复杂值的运动场景。
第二持续运动场景,可以是第一复杂程度及第二复杂程度,均大于第三预设运动复杂值的运动场景;第一持续运动场景,可以是第一复杂程度及第二复杂程度,均大于预设小运动复杂值,且小于或等于第二预设运动复杂值的运动场景;第三持续运动场景,可以是第一复杂程度及第二复杂程度,均大于第二预设运动复杂值,且小于或等于第三预设运动复杂值的运动场景。该第三预设运动复杂值大于或等于第二预设运动复杂值,该第二预设运动复杂值大于或等于预设小运动复杂值。可以理解地,第一预设运动复杂值可以等于该预设小运动复杂值。
其中,不同的运动场景对应的编码参数的值不同。如,持续运动场景对应的编码参数包括编码帧率及编码码率,可以分别记为第一编码帧率及第一编码码率;运动转静止场景对应的编码参数包括编码帧率及编码码率,可以分别记为第二编码帧率及第二编码码率,第二编码帧率大于或等于第一编码帧率,第二编码码率大于或等于第一编码码率;静止转运动场景对应的编码参数包括编码帧率及编码码率,可以分别记为第三编码帧率及第三编码码率,第三编码帧率大于或等于第一编码帧率,第三编码码率大于或等于第一编码码率。又如,第一持续运动场景对应的编码参数包括编码帧率及编码码率,可以分别记为小运动编码帧率及小运动编码码率;第二持续运动场景对应的编码参数包括编码帧率及编码码率,可以分别记为大运动编码帧率及大运动编码码率;第三持续运动场景对应的编码参数包括编码帧率及编码码率,可以分别记为中运动编码帧率及中运动编码码率;小运动编码帧率大于或等于中运动编码帧率,中运动编码帧率大于或等于大运动编码帧率;大运动编码码率大于或等于中运动编码码率,中运动编码码率大于或等于小运动编码码率。
基于本实施例的编码数据处理方法,在场景类型为运动场景时,可以确定待编码数据帧对应的编码参数,等于待编码数据帧对应的场景类型所对应的编码参数。如此,可以使得通过该得到的编码参数进行编码后得到的码流能够适用于不同类型的场景。从而,可以提高编码数据处理的适应性。
在其中一实施例中,当第一复杂程度及第二复杂程度中至少有一个大于第一预设运动复杂值时,确定待编码数据帧对应的场景类型为运动场景,包括:当第一复杂程度及第二复杂程度均大于第一预设运动复杂值时,确定待编码数据帧对应的场景类型为持续运动场景。
执行设备在第一复杂程度及第二复杂程度均大于第一预设运动复杂值时,确定待编码数据帧对应的场景类型为持续运动场景。该持续运动场景,可以表示不少于两个连续的数据帧的复杂程度大于第一预设运动复杂值的运动场景。该持续运动场景可以映射为一组编码参数的一个场景类型,也可以映射为多组编码参数的多个场景类型。如此,使得运动场景至少包括持续运动场景,从而场景类型至少包括持续运动场景。
在其中一实施例中,当第一复杂程度及第二复杂程度中至少有一个大于第一预设运动复杂值时,确定待编码数据帧对应的场景类型为运动场景,还包括:当第一复杂程度大于第一预设运动复杂值,第二复杂程度等于或小于预设静止复杂值时,确定待编码数据帧对应的场景类型为静止转运动场景;或/及,当第二复杂程度大于第一预设运动复杂值,第一复杂程度等于或小于预设静止复杂值时,确定待编码数据帧对应的场景类型为运动转静止场景;其中,第一预设运动复杂值大于或等于预设静止复杂值。
执行设备在第一复杂程度大于第一预设运动复杂值,第二复杂程度等于或小于预设静止复杂值时,确定待编码数据帧对应的场景类型为静止转运动场景;或/及,执行设备在第二复杂程度大于第一预设运动复杂值,第一复杂程度等于或小于预设静止复杂值时,确定待编码数据帧对应的场景类型为运动转静止场景。
可以理解地,在本实施例中,该持续运动场景可以映射为一组编码参数的一个场景类型,也可以映射为多组编码参数的多个场景类型。如此,使得运动场景至少包括持续运动场景,以及静止转运动场景或/及运动转静止场景,因此,场景类型至少包括持续运动场景,以及静止转运动场景或/及运动转静止场景。从而,进一步提高编码数据处理的适应性。
进一步地,持续运动场景对应的编码参数包括第一编码帧率及第一编码码率。同时,运动转静止场景对应的编码参数包括第二编码帧率及第二编码码率,第二编码帧率大于第一编码帧率,第二编码码率大于第一编码码率;或/及,静止转运动场景对应的编码参数包括第三编码帧率及第三编码码率,第三编码帧率大于第一编码帧率,第三编码码率大于第一编码码率。如此,持续运动场景,以及静止转运动场景或/及运动转静止场景分别对应不同的编码参数值,从而,进一步提高编码数据处理的适应性。
在其中一实施例中,持续运动场景,至少包括第一持续运动场景和第二持续运动场景;当第一复杂程度及第二复杂程度,均大于第一预设运动复杂值,且小于或等于第二预设运动复杂值时,待编码数据帧对应的场景类型为第一持续运动场景;第二预设运动复杂值大于或等于第一预设运动复杂值;当第一复杂程度及第二复杂程度,均大于第三预设运动复杂值,待编码数据帧对应的场景类型为第二持续运动场景;第三预设运动复杂值大于或等于第二预设运动复杂值。
如此,该持续运动场景可以映射为多组编码参数的多个场景类型,使得运动场景至少包括第一持续运动场景及第二持续运动场景,从而进一步提高编码数据处理的适应性。
在该实施例中,第一持续运动场景对应的编码参数包括编码帧率及编码码率,可以分别记为小运动编码帧率及小运动编码码率;第二持续运动场景对应的编码参数包括编码帧率及编码码率,可以分别记为大运动编码帧率及大运动编码码率;小运动编码帧率大于或等于大运动编码帧率;大运动编码码率大于或等于小运动编码码率。
进一步地,持续运动场景,还包括第三持续运动场景。当第一复杂程度及第二复杂程度,均大于第二预设运动复杂值,且小于或等于第三预设运动复杂值时,待编码数据帧对应的场景类型为第三持续运动场景。如此,使得运动场景至少包括第三持续运动场景、第一持续运动场景及第二持续运动场景,从而进一步提高编码数据处理的适应性。可以理解地,第三持续运动场景的数量至少为1。当第三持续运动场景的数量大于1时,可以在第一预设运动复杂值和第三预设运动复杂值之间可以设置多于1个的预设复杂值。如此,可以适应更多场景需求。从而进一步提高编码数据处理的适应性。
更进一步地,第一持续运动场景对应的编码参数包括小运动编码帧率及小运动编码码率;第二持续运动场景对应的编码参数包括大运动编码帧率及大运动编码码率;第三持续运动场景对应的编码参数包括编码帧率及编码码率,可以记为中运动编码帧率及中运动编码码率;小运动编码帧率大于或等于中运动编码帧率,中运动编码帧率大于或等于大运动编码帧率;大运动编码码率大于或等于中运动编码码率,中运动编码码率大于或等于小运动编码码率。
如此,使得第三持续运动场景、第一持续运动场景及第二持续运动场景,分别对应不同的编码码率,从而进一步提高编码数据处理的适应性。
在其中一实施例中,根据第一复杂程度及第二复杂程度,确定待编码数据帧对应的场景类型,包括:当第一复杂程度及第二复杂程度均等于或小于预设静止复杂值时,确定待编码数据帧对应的场景类型为持续静止场景。
执行设备在第一复杂程度及第二复杂程度均等于或小于预设静止复杂值时,确定待编码数据帧对应的场景类型为持续静止场景。
对应地,基于待编码数据帧对应的场景类型,确定待编码数据帧对应的编码参数,包括:当待编码数据帧对应的场景类型为持续静止场景时,若待编码数据帧满足静止跳帧条件,则返回获取待编码数据帧的步骤。
其中,静止跳帧条件可以包括:待编码数据帧与前一编码数据帧的时间间隔小于或等于预设时间间隔,该预设时间间隔为预设的静止跳帧的最大时间间隔(可以记为Tmax)。静止跳帧条件还可以包括:待编码数据帧为静止帧,静止帧可以是指待编码数据帧与前一编码数据帧相同。待编码数据帧与前一编码数据帧相同可以是指待编码数据帧与前一编码数据帧的内容相同。待编码数据帧与前一编码数据帧相同也可以是指待编码数据帧与前一编码数据帧的特征相同。
本实施例的编码数据处理方法,满足静止跳帧条件,无需对该待编码数据帧进行编码。在需要对待编码数据进行编码的实施例中,可以通过跳转到获取待编码数据帧的步骤,跳过编码的步骤,如此,获取到下一个待编码数据帧,继续执行后续确定复杂程度的步骤,以及确定编码参数的步骤。可以通过确定编码帧率小于或等于预设阈值的方式,使得满足静止跳帧条件的待编码数据帧无需进行编码。从而,可以提高编码数据处理的适应性。
在其中一实施例中,当待编码数据帧与前一编码数据帧的内容相同,且待编码数据帧与前一编码数据帧的时间间隔小于或等于预设时间间隔,满足静止跳帧条件。也即,静止跳帧条件包括:待编码数据帧与前一编码数据帧的内容相同,且待编码数据帧与前一编码数据帧的时间间隔小于或等于预设时间间隔。如此,跳帧条件可以适用于更多应用场景,从而,进一步提高编码数据处理的适应性。
在其中一实施例中,基于待编码数据帧对应的场景类型,确定与待编码数据帧对应的编码参数,还包括:当待编码数据帧对应的场景类型为持续静止场景时,若待编码数据帧不满足静止跳帧条件,则确定待编码数据帧对应的编码参数,等于前一数据帧对应的编码参数。
执行设备在待编码数据帧对应的场景类型为持续静止场景时,若待编码数据帧不满足静止跳帧条件,则确定待编码数据帧对应的编码参数,等于前一数据帧对应的编码参数。
在不满足静止跳帧条件时,仍然需要对该待编码数据帧进行编码。由于该待编码数据帧对应的场景为持续静止场景,因此,可以延用上一数据帧对应的编码参数,如此,可以通过采用上一数据帧对应的参数对不满足静止跳帧条件的待编码数据帧进行编码。从而,可以提高编码数据处理的适应性。
在其中一实施例中,根据第一复杂程度及第二复杂程度,确定待编码数据帧对应的场景类型,包括:当第一复杂程度及第二复杂程度满足预设条件时,根据满足的预设条件确定待编码数据帧对应的场景类型;当第一复杂程度及第二复杂程度不满足预设条件时,确定待编码数据帧对应的场景类型为,待编码数据帧的前一数据帧的场景类型。
执行设备在第一复杂程度及第二复杂程度满足预设条件时,根据满足的预设条件确定待编码数据帧对应的场景类型;执行设备在第一复杂程度及第二复杂程度不满足预设条件时,确定待编码数据帧对应的场景类型为,待编码数据帧的前一数据帧的场景类型。
预设条件可以包括:第一复杂程度大于第一预设运动复杂值,第二复杂程度等于或小于预设静止复杂值,第一预设运动复杂值大于或等于预设静止复杂值;第二复杂程度大于第一预设运动复杂值,第一复杂程度等于或小于预设静止复杂值;第一复杂程度及第二复杂程度,均大于第一预设运动复杂值,且小于或等于第二预设运动复杂值,第二预设运动复杂值大于或等于第一预设运动复杂值;第一复杂程度及第二复杂程度,均大于第三预设运动复杂值,第三预设运动复杂值大于或等于第二预设运动复杂值;第一复杂程度及第二复杂程度,均大于第二预设运动复杂值,且小于或等于第三预设运动复杂值。
对应的,当满足的预设条件为第一复杂程度大于第一预设运动复杂值,第二复杂程度等于或小于预设静止复杂值时,根据满足的预设条件确定的待编码数据帧对应的场景类型可以为静止转运动场景。当满足的预设条件为第二复杂程度大于第一预设运动复杂值,第一复杂程度等于或小于预设静止复杂值时,根据满足的预设条件确定的待编码数据帧对应的场景类型可以为运动转静止场景。当满足的预设条件为第一复杂程度及第二复杂程度,均大于第一预设运动复杂值,且小于或等于第二预设运动复杂值时,根据满足的预设条件确定的待编码数据帧对应的场景类型为可以第一持续运动场景。当满足的预设条件为第一复杂程度及第二复杂程度,均大于第三预设运动复杂值时,根据满足的预设条件确定的待编码数据帧对应的场景类型可以为第二持续运动场景;当满足的预设条件为第一复杂程度及第二复杂程度,均大于第二预设运动复杂值,且小于或等于第三预设运动复杂值时,根据满足的预设条件确定的待编码数据帧对应的场景类型可以为第三持续运动场景。
可以理解地,这些预设条件并未涵盖第一复杂程度及第二复杂程度可能取值的全部情况;如,第一复杂程度及第二复杂程度均大于预设静止复杂度,小于预设运动复杂度的情况;又如,第一复杂程度大于预设大运动复杂度,第二负责度小于预设中运动复杂度,大于预设小运动复杂度的情况;等等。本实施例中,当第一复杂程度及第二复杂程度在预设条件之外的情况时,待编码数据帧对应的场景类型,延用其前一数据帧的场景类型。如此,一方面可以使得编码数据处理方法的鲁棒性更好,另一方面,进一步提高了编码数据处理方法的适用性。
在其中一实施例中,在第一待编码数据帧及第二待编码数据帧的第一复杂程及第二复杂程度均大于第一预设运动复杂值时,若第一待编码数据帧的第一复杂程度大于或等于第二待编码数据帧的第一复杂程度,且第一待编码数据帧的第二复杂程度大于或等于第二待编码数据帧的第二复杂程度,则第一待编码数据帧的编码码率大于或等于第二待编码数据帧的编码码率,且第二待编码数据帧的编码帧率大于或等于第一待编码数据帧的编码帧率。
在第一复杂程及第二复杂程度均大于第一预设运动复杂值的两个数据帧中,第一复杂程度及第二复杂程度较大的数据帧的编码码率,不小于第一复杂程度及第二复杂程度较小的数据帧的编码码率;第一复杂程度及第二复杂程度较小的数据帧的编码帧率,不小于第一复杂程度及第二复杂程度较大的数据帧的编码帧率。
如此,可以使得不同复杂程度的待编码数据帧可以对应到不同的编码参数,从而适用于不同的场景,提高编码数据处理的适应性。
在其中一实施例中,获取待编码数据帧,包括:获取基于屏幕图像的待编码数据帧。
执行设备获取基于屏幕图像的待编码数据帧。基于屏幕图像的待编码数据帧可以为全屏播放的视频帧,也可以为通过截屏方式获取的数据帧,如按照预设采集帧率,截取屏幕图像作为待编码数据帧。采集帧率为每秒采集的数据帧的数目,单位fps(帧每秒)。
如此,将编码数据处理方法应用于无线投屏领域,由于无线投屏显示数据帧时,对实时性和清晰度在不同场景时有着不同的需求,不同复杂程度可以对应不同编码参数,能够使得编码数据处理适应性的提高更为明显。
在其中一实施例中,根据第一复杂程度及第二复杂程度,确定待编码数据帧对应的编码参数之后,还包括:根据待编码数据帧对应的编码参数,对待编码数据帧进行编码,得到编码码流。
执行设备根据待编码数据帧对应的编码参数,对待编码数据帧进行编码,得到编码码流。可以通过编码器对待编码数据帧进行编码,得到编码码流。如,可以将待编码数据帧对应的编码参数输入至编码器,由编码器对待编码数据帧进行编码。如此,根据得到的编码参数进行编码,得到编码码流。从而使得该编码码流可以适应于不同的场景,提高编码码流的适用性。
在其中一实施例中,根据待编码数据帧对应的编码参数,对待编码数据帧进行编码,得到编码码流之后,还包括发送编码码流。执行设备发送编码码流。
该编码码流可以发送至服务器,也可以发送至客户终端。如,当执行设备为如图1所示的第一终端102时,该编码码流可以发送至服务器106,由服务器106转发至第二终端104。当执行设备为如图1所示的服务器时,该编码码流可以发送至第二终端104。
由于该编码参数,可以随着待编码数据帧的复杂程度而改变,以适用于不同的场景,并不是为了同时满足高清晰度及高实时性的各种场景需求,而使得编码码率和编码帧率同时要求很高而又不改变的情况。因此,基于该编码参数对待编码参数进行编码得到编码码流后,发送的编码码流可以节约带宽。
进一步地,获取待编码数据帧之前,还包括:接收无线投屏指令,无线投屏指令携带目标终端标识。
发送编码码流,包括:根据目标终端标识,发送编码码流。
无线投屏指令可以是在客户终端接收。如,接收无线投屏指令可以采用的触发方式可以包括:在触摸屏上触发预设按钮,在触摸屏上绘制预设图案,在执行设备上按下预设按钮。
目标终端标识是用于标识投屏的目标终端。可以理解地,本实施例的执行设备为投屏的发送终端,即第一终端。第一终端接收无线投屏指令,无线投屏指令携带目标终端标识。第一终端根据目标终端标识,发送编码码流至服务器。在无线投屏时,可以通过服务器对发送终端发送的编码码流进行转发。在其转发时,需根据目标终端标识转发该编码码流。
由于该编码参数,可以随着待编码数据帧的复杂程度而改变,以适用于不同的场景,并不是为了同时满足高清晰度及高实时性的各种场景需求,而使得编码码率和编码帧率同时要求很高而又不改变的情况。又由于无线投屏时,第一终端需要将待投屏数据发送至服务器,由服务器转发至第二终端。因此,基于该编码参数对待编码参数进行编码得到编码码流后,发送的编码码流可以节约带宽,尤其适用于无线投屏场景,可以节约上行带宽。
如图3、图4所示,在其中一具体实施例中,编码数据处理方法,包括以下步骤:
S302,获取待编码数据帧;
S304,确定待编码数据帧的复杂程度;
S306,根据第一复杂程度及第二复杂程度,确定待编码数据帧对应的场景类型;
S308a,当待编码数据帧对应的场景类型为运动场景时,确定待编码数据帧对应的编码参数,等于待编码数据帧对应的场景类型所对应的编码参数;
S308b,当待编码数据帧对应的场景类型为持续静止场景时,若待编码数据帧满足静止跳帧条件,则返回获取待编码数据帧的步骤;
S308c,当待编码数据帧对应的场景类型为持续静止场景时,若待编码数据帧不满足静止跳帧条件,则确定待编码数据帧对应的编码参数,等于前一数据帧对应的编码参数;
S309,根据待编码数据帧对应的编码参数,对待编码数据帧进行编码,得到编码码流;
其中,运动场景包括静止转运动场景、运动转静止场景、第一持续运动场景、第二持续运动场景、持续中小运动场景;
当第一复杂程度及第二复杂程度均大于第一预设运动复杂值时,确定待编码数据帧对应的场景类型为持续运动场景;第一预设运动复杂值大于或等于预设静止复杂值;
当第二复杂程度大于第一预设运动复杂值,第一复杂程度等于或小于预设静止复杂值时,待编码数据帧对应的场景类型为运动转静止场景;
当第一复杂程度及第二复杂程度,均大于第一预设运动复杂值,且小于或等于第二预设运动复杂值时,待编码数据帧对应的场景类型为第一持续运动场景;第二预设运动复杂值大于或等于第一预设运动复杂值;
当第一复杂程度及第二复杂程度,均大于第三预设运动复杂值,待编码数据帧对应的场景类型为第二持续运动场景;第三预设运动复杂值大于或等于第二预设运动复杂值;
当第一复杂程度及第二复杂程度,均大于第二预设运动复杂值,且小于或等于第三预设运动复杂值时,待编码数据帧对应的场景类型为第三持续运动场景;
第一持续运动场景对应的编码参数包括小运动编码帧率(用fps3表示)及小运动编码码率(用Enc3表示);第二持续运动场景对应的编码参数包括大运动编码帧率(用fps1表示)及大运动编码码率(用Enc1表示);第三持续运动场景对应的编码参数包括中运动编码帧率(用fps2表示)及中运动编码码率(用Enc2表示);小运动编码帧率大于或等于中运动编码帧率,中运动编码帧率大于或等于大运动编码帧率;大运动编码码率大于或等于中运动编码码率,中运动编码码率大于或等于小运动编码码率;运动转静止场景对应的编码参数包括第二编码帧率(用fps4表示)及第二编码码率(用Enc4表示),第二编码帧率大于或等于大运动编码帧率,第二编码码率大于或等于小运动编码码率;静止转运动场景对应的编码参数包括第三编码帧率(用fps5表示)及第三编码码率(用Enc5表示),第三编码帧率大于或等于大运动编码帧率,第三编码码率大于或等于小运动编码码率。即,fps3≥fps2≥fps1,fps4≥fps1,fps5≥fps1;Enc1≥Enc2≥Enc3,Enc4≥Enc3,Enc5≥Enc3。
在一组应用于无线投屏的测试中,持续静态场景的清晰度从1030MTF50P提升到1048MTF50P,码率从1326kbps降低到410kbps;运动场景下,采用了根据场景确定对应的编码参数的策略。其中,MTF50P表示MTF(调制传递函数,Modulation Transfer Function)峰值(Peak Value)的50%对应的频率值,是衡量图像锐利度的参数。因此,应用于用于无线投屏时,能够适应于多种不同的场景,且能够保证用户看到清晰、流畅的画面,同时节省不必要的带宽。
应该理解的是,虽然图2、3、4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、3、4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种运行于图1中的服务器106或第一终端102的编码数据处理装置,包括:
数据帧获取模块502,用于获取待编码数据帧;
复杂度确定模块504,用于确定所述待编码数据帧的复杂程度;
编码参数确定模块506,用于根据第一复杂程度及第二复杂程度,确定所述待编码数据帧对应的编码参数;所述第一复杂程度为所述待编码数据帧的复杂程度,所述第二复杂程度为前序数据帧的复杂程度;所述前序数据帧为与所述待编码数据帧连续、并在所述待编码数据帧之前的至少一帧数据帧。
基于该实施例的编码数据处理装置,获取待编码数据帧;确定所述待编码数据帧的复杂程度;根据第一复杂程度及第二复杂程度,确定所述待编码数据帧对应的编码参数;所述第一复杂程度为所述待编码数据帧的复杂程度,所述第二复杂程度为前序数据帧的复杂程度;所述前序数据帧为与所述待编码数据帧连续、并在所述待编码数据帧之前的至少一帧数据帧。如此,根据所述待编码数据帧与前序数据帧的复杂程度确定编码参数,不同的第一复杂程度及第二复杂程度,可以对应不同的编码参数。因此,通过该得到的编码参数进行编码后得到的码流能够适用于不同的场景。从而,可以提高编码数据处理的适应性。
在其中一实施例中,还包括场景确定模块;
场景确定模块,用于根据所述第一复杂程度及所述第二复杂程度,确定所述待编码数据帧对应的场景类型;
编码参数确定模块,用于基于所述待编码数据帧对应的场景类型,确定所述待编码数据帧对应的编码参数。
在其中一实施例中,场景确定模块,用于当所述第一复杂程度及所述第二复杂程度中至少有一个大于第一预设运动复杂值时,确定所述待编码数据帧对应的场景类型为运动场景;
编码参数确定模块,用于当所述待编码数据帧对应的场景类型为运动场景时,确定所述待编码数据帧对应的编码参数,等于所述待编码数据帧对应的场景类型所对应的编码参数。
在其中一实施例中,场景确定模块,用于当所述第一复杂程度及所述第二复杂程度均大于所述第一预设运动复杂值时,确定所述待编码数据帧对应的场景类型为持续运动场景。
在其中一实施例中,场景确定模块,还用于当所述第一复杂程度大于所述第一预设运动复杂值,所述第二复杂程度等于或小于预设静止复杂值时,确定所述待编码数据帧对应的场景类型为静止转运动场景;或/及,当所述第二复杂程度大于所述第一预设运动复杂值,所述第一复杂程度等于或小于所述预设静止复杂值时,确定所述待编码数据帧对应的场景类型为运动转静止场景;其中,所述第一预设运动复杂值大于或等于所述预设静止复杂值。
在其中一实施例中,所述持续运动场景对应的编码参数包括第一编码帧率及第一编码码率;且,所述运动转静止场景对应的编码参数包括第二编码帧率及第二编码码率,所述第二编码帧率大于或等于所述第一编码帧率,所述第二编码码率大于或等于所述第一编码码率;或/及,所述静止转运动场景对应的编码参数包括第三编码帧率及第三编码码率,所述第三编码帧率大于或等于所述第一编码帧率,所述第三编码码率大于或等于所述第一编码码率。
在其中一实施例中,所述持续运动场景,至少包括第一持续运动场景和第二持续运动场景;
当所述第一复杂程度及所述第二复杂程度,均大于所述第一预设运动复杂值,且小于或等于第二预设运动复杂值时,所述待编码数据帧对应的场景类型为第一持续运动场景;所述第二预设运动复杂值大于或等于所述第一预设运动复杂值;
当所述第一复杂程度及所述第二复杂程度,均大于第三预设运动复杂值,所述待编码数据帧对应的场景类型为第二持续运动场景;所述第三预设运动复杂值大于或等于所述第二预设运动复杂值。
在其中一实施例中,所述持续运动场景,还包括第三持续运动场景;
当所述第一复杂程度及所述第二复杂程度,均大于所述第二预设运动复杂值,且小于或等于所述第三预设运动复杂值时,所述待编码数据帧对应的场景类型为第三持续运动场景。
在其中一实施例中,所述第一持续运动场景对应的编码参数包括小运动编码帧率及小运动编码码率;所述第二持续运动场景对应的编码参数包括大运动编码帧率及大运动编码码率;所述第三持续运动场景对应的编码参数包括中运动编码帧率及中运动编码码率;所述小运动编码帧率大于或等于所述中运动编码帧率,所述中运动编码帧率大于或等于所述大运动编码帧率;所述大运动编码码率大于或等于所述中运动编码码率,所述中运动编码码率大于或等于所述小运动编码码率。
在其中一实施例中,场景确定模块,用于当所述第一复杂程度及所述第二复杂程度均等于或小于预设静止复杂值时,确定所述待编码数据帧对应的场景类型为持续静止场景;
编码参数确定模块,用于当所述待编码数据帧对应的场景类型为持续静止场景时,若所述待编码数据帧满足静止跳帧条件,则返回所述获取待编码数据帧的步骤。
在其中一实施例中,当所述待编码数据帧与前一编码数据帧的内容相同,且所述待编码数据帧与所述前一编码数据帧的时间间隔小于或等于预设时间间隔,满足所述静止跳帧条件。
在其中一实施例中,编码参数确定模块,用于还当所述待编码数据帧对应的场景类型为持续静止场景时,若所述待编码数据帧不满足所述静止跳帧条件,则确定所述待编码数据帧对应的编码参数,等于前一数据帧对应的编码参数。
在其中一实施例中,场景确定模块,用于当所述第一复杂程度及所述第二复杂程度满足预设条件时,根据满足的所述预设条件确定所述待编码数据帧对应的场景类型;当所述第一复杂程度及所述第二复杂程度不满足预设条件时,确定所述待编码数据帧对应的场景类型为,所述待编码数据帧的前一数据帧的场景类型。
在其中一实施例中,在第一待编码数据帧及第二待编码数据帧的第一复杂程及第二复杂程度均大于第一预设运动复杂值时,若所述第一待编码数据帧的第一复杂程度大于或等于所述第二待编码数据帧的第一复杂程度,且所述第一待编码数据帧的第二复杂程度大于或等于所述第二待编码数据帧的第二复杂程度,则所述第一待编码数据帧的编码码率大于或等于所述第二待编码数据帧的编码码率,且所述第二待编码数据帧的编码帧率大于或等于所述第一待编码数据帧的编码帧率。
在其中一实施例中,数据帧获取模块,用于获取基于屏幕图像的待编码数据帧。
在其中一实施例中,该装置还包括:
数据编码模块,用于根据所述待编码数据帧对应的编码参数,对所述待编码数据帧进行编码,得到编码码流。
在其中一实施例中,该装置还包括:投屏指令接收模块及编码码流发送模块;
投屏指令接收模块,用于在数据帧获取模块获取待编码数据帧之前,接收无线投屏指令,所述无线投屏指令携带目标终端标识;
编码码流发送模块,用于根据所述目标终端标识,发送所述编码码流。
在一个实施例中,提供了一种计算机设备,该计算机设备可以为服务器,其内部结构图可以如图6所示。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种编码数据处理方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种编码数据处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6、7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施方式中,提供了一种计算机设备,该计算机设备可以是服务器或终端,其内部结构图可以如图6或7所示。该计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述编码数据处理方法的步骤。
在其中一实施方式中,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述编码数据处理方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种编码数据处理方法,所述方法包括:
获取待编码数据帧;
确定所述待编码数据帧的复杂程度;
根据第一复杂程度及第二复杂程度,确定所述待编码数据帧对应的编码参数;所述第一复杂程度为所述待编码数据帧的复杂程度,所述第二复杂程度为前序数据帧的复杂程度;所述前序数据帧为与所述待编码数据帧连续、并在所述待编码数据帧之前的至少一帧数据帧。
2.根据权利要求1所述的方法,其特征在于,所述根据第一复杂程度及第二复杂程度,确定所述待编码数据帧对应的编码参数,包括:
根据所述第一复杂程度及所述第二复杂程度,确定所述待编码数据帧对应的场景类型;
基于所述待编码数据帧对应的场景类型,确定所述待编码数据帧对应的编码参数。
3.根据权利要求2所述的方法,其特征在于:
所述根据所述第一复杂程度及所述第二复杂程度,确定所述待编码数据帧对应的场景类型,包括:当所述第一复杂程度及所述第二复杂程度中至少有一个大于第一预设运动复杂值时,确定所述待编码数据帧对应的场景类型为运动场景;
所述基于所述待编码数据帧对应的场景类型,确定所述待编码数据帧对应的编码参数,包括:当所述待编码数据帧对应的场景类型为运动场景时,确定所述待编码数据帧对应的编码参数,等于所述待编码数据帧对应的场景类型所对应的编码参数。
4.根据权利要求3所述的方法,其特征在于,所述当所述第一复杂程度及所述第二复杂程度中至少有一个大于第一预设运动复杂值时,确定所述待编码数据帧对应的场景类型为运动场景,包括:
当所述第一复杂程度及所述第二复杂程度均大于所述第一预设运动复杂值时,确定所述待编码数据帧对应的场景类型为持续运动场景。
5.根据权利要求4所述的方法,其特征在于,所述当所述第一复杂程度及所述第二复杂程度中至少有一个大于第一预设运动复杂值时,确定所述待编码数据帧对应的场景类型为运动场景,还包括:
当所述第一复杂程度大于所述第一预设运动复杂值,所述第二复杂程度等于或小于预设静止复杂值时,确定所述待编码数据帧对应的场景类型为静止转运动场景;
或/及,
当所述第二复杂程度大于所述第一预设运动复杂值,所述第一复杂程度等于或小于所述预设静止复杂值时,确定所述待编码数据帧对应的场景类型为运动转静止场景;
其中,所述第一预设运动复杂值大于或等于所述预设静止复杂值。
6.根据权利要求5所述的方法,其特征在于,所述持续运动场景对应的编码参数包括第一编码帧率及第一编码码率;且,
所述运动转静止场景对应的编码参数包括第二编码帧率及第二编码码率,所述第二编码帧率大于或等于所述第一编码帧率,所述第二编码码率大于或等于所述第一编码码率;
或/及,
所述静止转运动场景对应的编码参数包括第三编码帧率及第三编码码率,所述第三编码帧率大于或等于所述第一编码帧率,所述第三编码码率大于或等于所述第一编码码率。
7.根据权利要求4所述的方法,其特征在于,所述持续运动场景,至少包括第一持续运动场景和第二持续运动场景;
当所述第一复杂程度及所述第二复杂程度,均大于所述第一预设运动复杂值,且小于或等于第二预设运动复杂值时,所述待编码数据帧对应的场景类型为所述第一持续运动场景;所述第二预设运动复杂值大于或等于所述第一预设运动复杂值;
当所述第一复杂程度及所述第二复杂程度,均大于第三预设运动复杂值,所述待编码数据帧对应的场景类型为所述第二持续运动场景;所述第三预设运动复杂值大于或等于所述第二预设运动复杂值。
8.根据权利要求7所述的方法,其特征在于,所述持续运动场景,还包括第三持续运动场景;
当所述第一复杂程度及所述第二复杂程度,均大于所述第二预设运动复杂值,且小于或等于所述第三预设运动复杂值时,所述待编码数据帧对应的场景类型为所述第三持续运动场景。
9.根据权利要求8所述的方法,其特征在于:所述第一持续运动场景对应的编码参数包括小运动编码帧率及小运动编码码率;所述第二持续运动场景对应的编码参数包括大运动编码帧率及大运动编码码率;所述第三持续运动场景对应的编码参数包括中运动编码帧率及中运动编码码率;所述小运动编码帧率大于或等于所述中运动编码帧率,所述中运动编码帧率大于或等于所述大运动编码帧率;所述大运动编码码率大于或等于所述中运动编码码率,所述中运动编码码率大于或等于所述小运动编码码率。
10.根据权利要求2所述的方法,其特征在于:
所述根据所述第一复杂程度及所述第二复杂程度,确定所述待编码数据帧对应的场景类型,包括:当所述第一复杂程度及所述第二复杂程度均等于或小于预设静止复杂值时,确定所述待编码数据帧对应的场景类型为持续静止场景;
所述基于所述待编码数据帧对应的场景类型,确定所述待编码数据帧对应的编码参数,包括:当所述待编码数据帧对应的场景类型为持续静止场景时,若所述待编码数据帧满足静止跳帧条件,则返回所述获取待编码数据帧的步骤;
当所述待编码数据帧与前一编码数据帧的内容相同,且所述待编码数据帧与所述前一编码数据帧的时间间隔小于或等于预设时间间隔,满足所述静止跳帧条件。
11.根据权利要求10所述的方法,其特征在于,所述基于所述待编码数据帧对应的场景类型,确定与所述待编码数据帧对应的编码参数,还包括:
当所述待编码数据帧对应的场景类型为持续静止场景时,若所述待编码数据帧不满足所述静止跳帧条件,则确定所述待编码数据帧对应的编码参数,等于前一数据帧对应的编码参数。
12.根据权利要求2所述的方法,其特征在于,所述根据所述第一复杂程度及所述第二复杂程度,确定所述待编码数据帧对应的场景类型,包括:
当所述第一复杂程度及所述第二复杂程度满足预设条件时,根据满足的所述预设条件确定所述待编码数据帧对应的场景类型;
当所述第一复杂程度及所述第二复杂程度不满足预设条件时,确定所述待编码数据帧对应的场景类型为,所述待编码数据帧的前一数据帧的场景类型。
13.一种编码数据处理装置,所述装置包括:
数据帧获取模块,用于获取待编码数据帧;
复杂度确定模块,用于确定所述待编码数据帧的复杂程度;
编码参数确定模块,用于根据第一复杂程度及第二复杂程度,确定所述待编码数据帧对应的编码参数;所述第一复杂程度为所述待编码数据帧的复杂程度,所述第二复杂程度为前序数据帧的复杂程度;所述前序数据帧为与所述待编码数据帧连续、并在所述待编码数据帧之前的至少一帧数据帧。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12中任一项所述方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811353206.7A CN111193926B (zh) | 2018-11-14 | 2018-11-14 | 编码数据处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811353206.7A CN111193926B (zh) | 2018-11-14 | 2018-11-14 | 编码数据处理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111193926A true CN111193926A (zh) | 2020-05-22 |
CN111193926B CN111193926B (zh) | 2022-10-25 |
Family
ID=70710525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811353206.7A Active CN111193926B (zh) | 2018-11-14 | 2018-11-14 | 编码数据处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111193926B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111901603A (zh) * | 2020-07-28 | 2020-11-06 | 上海工程技术大学 | 一种用于静态背景视频的编码方法及解码方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100111162A1 (en) * | 2008-10-30 | 2010-05-06 | Vixs Systems, Inc. | Video transcoding system with drastic scene change detection and method for use therewith |
CN102572380A (zh) * | 2010-12-29 | 2012-07-11 | ***通信集团公司 | 视频监控编码方法及其装置 |
CN102625106A (zh) * | 2012-03-28 | 2012-08-01 | 上海交通大学 | 场景自适应的屏幕编码码率控制方法及其*** |
US20140153639A1 (en) * | 2012-12-03 | 2014-06-05 | Vixs Systems, Inc. | Video encoding system with adaptive hierarchical b-frames and method for use therewith |
CN105187832A (zh) * | 2015-09-09 | 2015-12-23 | 成都金本华电子有限公司 | 基于2.5g无线网络移动视频码率控制方法 |
CN105847805A (zh) * | 2016-03-30 | 2016-08-10 | 乐视控股(北京)有限公司 | 一种基于滑动窗口的码率控制方法和装置 |
CN105959700A (zh) * | 2016-05-31 | 2016-09-21 | 腾讯科技(深圳)有限公司 | 视频图像编码的方法和装置 |
CN106657998A (zh) * | 2016-09-20 | 2017-05-10 | 杭州比特瑞旺电脑有限公司 | 一种kvm视频编码量化参数范围控制方法 |
CN107155107A (zh) * | 2017-03-21 | 2017-09-12 | 腾讯科技(深圳)有限公司 | 视频编码方法和装置、视频解码方法和装置 |
CN107820087A (zh) * | 2017-10-26 | 2018-03-20 | 济南中维世纪科技有限公司 | 根据移动侦测结果动态调节码率的方法 |
-
2018
- 2018-11-14 CN CN201811353206.7A patent/CN111193926B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100111162A1 (en) * | 2008-10-30 | 2010-05-06 | Vixs Systems, Inc. | Video transcoding system with drastic scene change detection and method for use therewith |
CN102572380A (zh) * | 2010-12-29 | 2012-07-11 | ***通信集团公司 | 视频监控编码方法及其装置 |
CN102625106A (zh) * | 2012-03-28 | 2012-08-01 | 上海交通大学 | 场景自适应的屏幕编码码率控制方法及其*** |
US20140153639A1 (en) * | 2012-12-03 | 2014-06-05 | Vixs Systems, Inc. | Video encoding system with adaptive hierarchical b-frames and method for use therewith |
CN105187832A (zh) * | 2015-09-09 | 2015-12-23 | 成都金本华电子有限公司 | 基于2.5g无线网络移动视频码率控制方法 |
CN105847805A (zh) * | 2016-03-30 | 2016-08-10 | 乐视控股(北京)有限公司 | 一种基于滑动窗口的码率控制方法和装置 |
CN105959700A (zh) * | 2016-05-31 | 2016-09-21 | 腾讯科技(深圳)有限公司 | 视频图像编码的方法和装置 |
CN106657998A (zh) * | 2016-09-20 | 2017-05-10 | 杭州比特瑞旺电脑有限公司 | 一种kvm视频编码量化参数范围控制方法 |
CN107155107A (zh) * | 2017-03-21 | 2017-09-12 | 腾讯科技(深圳)有限公司 | 视频编码方法和装置、视频解码方法和装置 |
CN107820087A (zh) * | 2017-10-26 | 2018-03-20 | 济南中维世纪科技有限公司 | 根据移动侦测结果动态调节码率的方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111901603A (zh) * | 2020-07-28 | 2020-11-06 | 上海工程技术大学 | 一种用于静态背景视频的编码方法及解码方法 |
CN111901603B (zh) * | 2020-07-28 | 2023-06-02 | 上海工程技术大学 | 一种用于静态背景视频的编码方法及解码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111193926B (zh) | 2022-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6899448B2 (ja) | ビデオの符号化処理方法、コンピュータ機器及びコンピュータプログラム | |
CN111193927B (zh) | 编码数据处理方法、装置、计算机设备和存储介质 | |
US11206405B2 (en) | Video encoding method and apparatus, video decoding method and apparatus, computer device, and storage medium | |
CN109788316B (zh) | 码率控制、视频转码方法与装置、计算机设备及存储介质 | |
US11109038B2 (en) | Intra-coded frame rate allocation method, computer device and storage medium | |
JP5284471B2 (ja) | ディジタル化された一連の画像を符号化する方法 | |
CN108012163B (zh) | 视频编码的码率控制方法及装置 | |
CN110392284B (zh) | 视频编码、视频数据处理方法、装置、计算机设备和存储介质 | |
CN106534859B (zh) | 基于spice协议的图像传输方法及装置 | |
CN111193924B (zh) | 视频码率的确定方法、装置、计算机设备及存储介质 | |
CN110248192B (zh) | 编码器切换、解码器切换、屏幕分享方法和屏幕分享*** | |
CN108713318A (zh) | 一种视频帧的处理方法及设备 | |
US20110305278A1 (en) | Method of accessing a spatio-temporal part of a video sequence of images | |
JP2016111699A (ja) | リアルタイム符号化のための方法及び装置 | |
US10536726B2 (en) | Pixel patch collection for prediction in video coding system | |
CN111193926B (zh) | 编码数据处理方法、装置、计算机设备和存储介质 | |
US10735773B2 (en) | Video coding techniques for high quality coding of low motion content | |
CN114374841A (zh) | 视频编码码率控制的优化方法、装置及电子设备 | |
CN112351282A (zh) | 图像数据的传输方法及装置、非易失性存储介质及处理器 | |
US9451288B2 (en) | Inferred key frames for fast initiation of video coding sessions | |
WO2024078403A1 (zh) | 图像处理方法、装置及设备 | |
WO2020181540A1 (zh) | 一种视频处理方法、装置、编码设备及解码设备 | |
CN117425009A (zh) | 视频编码中的比特数分配方法、装置、设备及存储介质 | |
CN117812268A (zh) | 视频转码方法、装置、设备以及介质 | |
CN118158414A (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 |