CN110784718A - 视频数据编码方法、装置、设备和存储介质 - Google Patents

视频数据编码方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN110784718A
CN110784718A CN201911052440.0A CN201911052440A CN110784718A CN 110784718 A CN110784718 A CN 110784718A CN 201911052440 A CN201911052440 A CN 201911052440A CN 110784718 A CN110784718 A CN 110784718A
Authority
CN
China
Prior art keywords
encoding
coding
video
frame
video data
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
Application number
CN201911052440.0A
Other languages
English (en)
Other versions
CN110784718B (zh
Inventor
王新宁
刘清
颜乐驹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Netstar Information Technology Co Ltd
Original Assignee
Guangzhou Netstar Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Netstar Information Technology Co Ltd filed Critical Guangzhou Netstar Information Technology Co Ltd
Priority to CN201911052440.0A priority Critical patent/CN110784718B/zh
Publication of CN110784718A publication Critical patent/CN110784718A/zh
Priority to US17/773,276 priority patent/US20230144483A1/en
Priority to EP20881226.3A priority patent/EP4054190A4/en
Priority to PCT/CN2020/110839 priority patent/WO2021082667A1/zh
Application granted granted Critical
Publication of CN110784718B publication Critical patent/CN110784718B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model

Abstract

本发明实施例公开了一种视频数据编码方法、装置、设备和存储介质,应用于编码器,视频数据编码方法包括:获取视频数据;配置编码器的编码参数;根据所述编码参数确定画面组中相邻两帧视频帧之间的第一时间间隔;根据所述编码参数对所述视频数据进行编码,以根据所述第一时间间隔调整所述画面组中视频帧的数量。本发明实施例在编码周期的最小单位固定不变的情况下,通过配置编码参数来调整画面组中相邻两帧视频帧之间的时间间隔,以调整编码周期内编码生成的画面组中视频帧的数量,实现了任意帧数大小的画面组编码,无需软编码器进行编码,满足了画面组包含较少视频帧的编码需求,以在解码视频数据时能够快速解码特定帧,减少解码时间。

Description

视频数据编码方法、装置、设备和存储介质
技术领域
本发明实施例涉及视频编码技术领域,尤其涉及一种视频数据编码方法、视频数据编码装置、设备和存储介质。
背景技术
视频录制设备录制图像后,经编码器对录制的图像编码后形成视频数据,该视频数据经解码后进行播放以在终端展示视频画面。
在某些系统的编码器中,编码后的视频帧包括I帧、P帧和B帧,两个I帧之间的视频帧组成一个GOP(画面组,Group Of Pictures),即一个GOP包含多个视频帧。在码率不变的前提下,GOP所包含的视频帧越多,视频的图像质量越好,但是GOP所包含的视频帧过多,在解码GOP中的P帧或B帧时,需要先解码得到GOP内的I帧及之前的N个预测帧,解码耗时变长。
在某些场景下需要快速解码特定帧,减少解码时间,这就需求GOP所包含的视频帧数量变少,然而,在某些系统的编码器中,比如安卓系统中,由于硬件编码芯片的限制,编码器编码一个GOP的编码周期的最小单位为秒,即在该编码周期内只能编码一个I帧,亦即一个编码周期内将所有接收到的视频帧编码为一个GOP,在接收到的视频数据的帧率不变时,GOP所包含的视频帧的数量是帧率的整数倍,导致编码器无法编码出任意大小GOP的视频数据,而采用软编码器虽然可以满足需求,但是软编码器编码速度慢,占用较多的系统资源。
发明内容
本发明实施例提供一种视频数据编码方法、视频数据编码装置、设备和存储介质,以解决现有的编码器无法编码出任意大小GOP的视频数据的问题。
第一方面,本发明实施例提供了一种视频数据编码方法,应用于编码器,包括:
获取视频数据;
配置所述编码器的编码参数;
根据所述编码参数确定画面组中相邻两帧视频帧之间的第一时间间隔;
根据所述编码参数对所述视频数据进行编码,以根据所述第一时间间隔调整所述画面组中视频帧的数量。
第二方面,本发明实施例提供了一种视频数据编码装置,应用于编码器,包括:
视频数据获取模块,用于获取视频数据;
编码参数配置模块,用于配置所述编码器的编码参数;
第一时间间隔确定模块,用于根据所述编码参数确定画面组中相邻两帧视频帧之间的第一时间间隔;
编码模块,用于根据所述编码参数对所述视频数据进行编码,以根据所述第一时间间隔调整所述画面组中视频帧的数量。
第三方面,本发明实施例提供了一种设备,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任一实施例所述的视频数据编码方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任一实施例所述视频数据编码方法。
本发明实施例在配置编码器的编码参数后,通过编码参数确定画面组中相邻两帧视频帧之间的时间间隔,以在根据编码参数对视频数据进行编码时根据时间间隔调整画面组中视频帧的数量,本发明实施例在编码周期的最小单位固定不变的情况下,通过配置编码参数来调整画面组中相邻两帧视频帧之间的时间间隔,以调整编码周期内编码生成的画面组中视频帧的数量,实现了任意帧数大小的画面组编码,解决了因硬件编码芯片的限制导致无法更改画面组的帧数大小的问题,无需软编码器进行编码,速度快,系统资源消耗少,满足了画面组包含较少视频帧的编码需求,以在解码视频数据时能够快速解码特定帧,减少解码时间。
附图说明
图1A是本发明实施例一提供的一种视频数据编码方法的流程图;
图1B是本发明实施例中视频数据中画面组的示意图;
图2是本发明实施例二提供的一种视频数据编码方法的流程图;
图3是本发明实施例三提供的一种视频数据编码装置的结构框图;
图4是本发明实施例四提供的一种设备的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1A为本发明实施例一提供的一种视频数据编码方法的流程图,本发明实施例可适用于对视频数据进行编码的情况,该方法可以由视频数据编码装置来执行,该装置可以通过软件和/或硬件的方式来实现,并集成在执行本方法的设备中,具体地,如图1A所示,该方法可以包括如下步骤:
S101、获取视频数据。
在本发明实施例中,视频数据可以是图像采集设备采集到的原始图像序列,图像采集设备可以是设置有摄像头的终端,例如可以是手机、摄像机等移动电子设备,当然也可以是具有摄像头的固定电子设备,例如可以是固定的监控摄像头等。
在本发明实施例中,电子设备上设置有硬件编码器,比如可以是各种编码芯片,该编码芯片可以对摄像头采集到的原始图像序列进行编码,以获得用户设定规格的视频数据。编码器在摄像头开始工作采集图像后,从摄像头的输出端接到视频数据,当然,编码器也可以是独立的设备,该独立的编码器可以从网络服务器、主机、存储器等设备接收获取读取视频数据。
S102、配置所述编码器的编码参数。
在本发明实施例中,编码参数可以是编码器编码时的编码帧率、编码码率、编码周期等参数,其中,编码帧率为编码器每秒钟编码视频帧的数量,编码码率为编码器每秒钟编码的数据量,编码周期是编码器编码一个画面组的周期。
在实际应用中,用户可以设置编码后的视频数据的目标帧率、目标码率和画面组的目标帧数,例如用户在编码器的交互界面输入编码后的视频数据所需求的目标帧率、目标码率和画面组的目标帧数,其中,目标帧率可以是编码后视频数据播放时每秒钟所播放的视频帧的帧数;目标码率可以是编码后,视频数据在传输时每秒传输的数据量;目标帧数可以是编码后的视频数据中每个画面组所包含的视频帧的数量。
编码器在接收到目标帧率、目标码率和画面组的目标帧数后,根据目标帧率、目标码率、画面组的目标帧数以及编码器自身编码画面组的编码周期配置编码器的编码帧率和编码码率,以在编码时采用配置的编码码率和编码帧率对视频数据进行编码。
S103、根据所述编码参数确定画面组中相邻两帧视频帧之间的第一时间间隔。
如图1B所示,一个画面组(GOP)包括一个关键帧(I帧)和多个预测帧(P帧或B帧),编码周期为编码一个画面组的周期,即编码周期表达了编码器间隔多长时间编码一个关键帧,在编码周期固定的情况下,画面组所包含的视频帧的数量与画面组中相邻两帧视频帧之间的时间间隔负相关,即时间间隔越长,画面组所包含的视频帧的数量越少。
本发明实施例在配置编码参数后,可以根据编码帧率计算画面组中相邻两帧视频帧之间的时间间隔,例如,编码器间隔1秒编码一个关键帧以形成一个画面组,则编码周期为1秒,可以计算1与编码帧率的比值作为画面组中相邻两帧视频帧之间的时间间隔。
S104、根据所述编码参数对所述视频数据进行编码,以根据所述第一时间间隔调整所述画面组中视频帧的数量。
在实际应用中,视频数据包括时间戳,该时间戳表达了视频帧显示的时间点,在根据编码参数确定画面组中相邻两帧视频帧之间的第一时间间隔后,可以通过第一时间间隔调整视频数据的时间戳得到编码器编码时的编码时间戳,编码器按照编码时间戳上的时间点对相应的视频帧进行编码,可选地,编码器以配置的编码码率和编码周期对视频数据进行编码时,根据编码时间戳和编码周期,确定每个编码周期对应的起始时间点,将该时间点对应的视频帧编码为关键帧,将编码周期内其他时间点对应的视频帧编码为预测帧,从而得到一个画面组,该画面组中相邻两帧视频帧之间的时间间隔等于第一时间间隔,即可以通过配置编码器的编码参数确定画面组中相邻两帧视频帧之间的时间间隔,以根据时间间隔调整画面组中视频帧的数量。
本发明实施例在编码周期的最小单位固定不变的情况下,通过配置编码参数来调整画面组中相邻两帧视频帧之间的时间间隔,以调整编码周期内编码生成的画面组中视频帧的数量,实现了任意帧数大小的画面组编码,解决了因硬件编码芯片的限制导致无法更改画面组的帧数大小的问题,无需软编码器进行编码,速度快,系统资源消耗少,满足了画面组包含较少视频帧的编码需求,以在解码视频数据时能够快速解码特定帧,减少解码时间。
实施例二
图2为本发明实施例二提供的一种视频数据编码方法的流程图,本发明实施例在前述实施例一的基础上进行优化,具体地,如图2所示,该方法可以包括如下步骤:
S201、获取视频数据,所述视频数据包括时间戳。
本发明实施例中,视频数据可以包括多个视频帧和时间戳,例如,用户在直播过程中,摄像头采集用户图像得到多个视频帧以及采集每个视频帧的时间点,多个视频帧的采集时间点所形成的时间序列为时间戳。
S202、获取目标帧率、目标码率、画面组的目标帧数和画面组的编码周期。
在实际应用中,用户可以设置编码后的视频数据的目标帧率、目标码率、画面组的目标帧数和编码周期,例如用户在编码器的交互界面输入编码后的视频数据所需求的目标帧率、目标码率、画面组的目标帧数和编码周期,其中,编码周期可以为1秒的整数倍,例如,在安卓系统中,设置编码芯片编码画面组的编码周期以秒为单位,则可以设置编码周期为1秒、2秒等等。当用户在编码器设置上述参数后,编码器可以接收到用户设置的参数。
S203、根据所述目标帧率、所述目标码率、所述目标帧数以及所述编码周期配置所述编码器编码时的编码帧率和编码码率。
在本发明的可选实施例中,可以先采用目标帧率、目标帧数和编码周期计算转换因子,然后基于转换因子对目标帧率和目标码率进行转换,得到编码帧率和编码码率。
具体地,可以计算目标帧数和编码周期的乘积得到第一乘积,然后计算目标帧率和第一乘积的比值得到转换因子,该转换因子为目标帧率与编码帧率的转换因子,也是目标码率与编码码率的转换因子,在得到转换因子后,可以计算目标帧率和转换因子的比值得到编码帧率,以及计算目标码率和转换因子的比值得到编码码率。
以下以安卓系统的编码器为示例,对配置编码码率和编码帧率进行说明。
用户在编码器设置编码后的视频数据的目标帧率为fps,目标码率为bitrate,GOP(画面组)的目标帧数为GOP_SIZE,编码器设置编码周期的最小单位为秒。
如果用户设置编码周期为1秒,则转换因子GOPFactor=fps/GOP_SIZE,如果用户设置编码周期为N×1秒,则转换因子GOPFactor=fps/GOP_SIZE/N,例如,用户需要录制目标帧率为30帧每秒,目标码率为3Mb每秒,GOP的目标帧数为10帧的视频,则目标帧率fps=30,目标码率bitrate=3×1024×1024,目标帧数GOP_SIZE=10,如果编码器编码一个GOP的编码周期为1秒,则转换因子GOPFactor=30/10=3。
在确定转换因子GOPFactor后,可以配置编码器的编码参数如下:
AMediaFormat_setInt32(videoFormat,"bitrate",bitrate/GOPFactor)
AMediaFormat_setInt32(videoFormat,"frame-rate",fps/GOPFactor)
AMediaFormat_setInt32(videoFormat,"i-frame-interval",1)。
即用户需要录制目标帧率为30帧每秒,目标码率为3Mb每秒,GOP的目标帧数为10帧的视频数据,可以:
通过AMediaFormat_setInt32(videoFormat,"bitrate",bitrate/GOPFactor)设置编码码率为1Mbps,
通过AMediaFormat_setInt32(videoFormat,"frame-rate",fps/GOPFactor)设置编码帧率为10帧每秒,
通过AMediaFormat_setInt32(videoFormat,"i-frame-interval",1)设置GOP的编码周期为1秒。
本发明实施例在编码GOP的编码周期以秒为单位的情况下,可以通过用户所需的视频数据的目标帧率、目标码率和GOP的目标帧数,对目标帧率和目标码率进行转换得到编码器编码时的编码码率和编码帧率,从而可以根据编码码率和编码帧率配置编码器,以控制编码器以编码帧率和编码码率对视频数据进行编码,使得编码后的视频数据的GOP能够满足用户的设定需求。
S204、采用所述编码帧率计算画面组中相邻两帧视频帧之间的时间间隔以作为所述第一时间间隔。
具体地,编码帧率表达了编码器对视频数据编码时,每秒钟所编码的视频帧的帧数,则可以计算1与编码帧率的比值,将比值作为画面组中相邻两帧视频帧之间的时间间隔,例如编码帧率为10,则时间间隔为100毫秒。
S205、采用所述第一时间间隔对所述时间戳进行调整,得到编码时间戳。
视频数据具有时间戳,该时间戳表达了录制视频数据时两帧视频帧之间的时间间隔,由于已经通过转换因子将目标帧率转换为编码帧率,因此需要对时间戳进行调整,使得调整后的编码时间戳上相邻的两帧视频帧之间的时间间隔等于第一时间间隔。
例如,目标帧率fps为30,视频数据未编码前的帧率通常也是30,则未编码前的视频数据中两帧视频帧之间的时间间隔为33毫秒,即未编码器前视频数据的时间戳上相邻两帧视频帧之间的时间间隔为33毫秒。而目标帧率fps经转换因子转换后得到编码器的编码帧率是10,需求编码时两帧视频帧之间的时间间隔为100毫秒,为了保证能够正常编码,需要将视频数据的时间戳上两帧视频帧之间的时间间隔由33毫秒改为100毫秒,使得编码帧率和编码时间戳匹配,以保证编码器正常编码,比如,编码帧率为10,编码时间戳上相邻两帧之间的时间间隔为100毫秒,通过编码时间戳计算得到的帧率也为10,即按照编码时间戳对视频数据进行编码,其编码帧率为10,反之,按照编码帧率10进行编码,编码时间戳上相邻两帧之间的时间间隔为100毫秒。
S206、根据所述编码码率、所述编码周期以及所述编码时间戳对所述视频数据进行编码。
在本发明的可选实施例中,可以先从编码时间戳上获取视频数据中视频帧的编码时间,然后基于编码时间和编码周期确定画面组的视频帧,以基于编码码率对多个画面组的视频帧进行编码,得到编码后包含多个画面组的视频数据,最后对编码时间戳进行调整得到编码后的视频数据的时间戳。
具体地,编码时间戳表达了编码过程中对视频帧进行编码的时间点,则可以从编码时间戳上获取到每个视频帧的编码时间,并基于编码周期和编码时间确定画面组的起始视频帧和结束视频帧,将起始视频帧、结束视频帧、起始视频帧和结束视频帧之间的视频帧确定为画面组的视频帧。
例如,编码周期为1秒,编码时间戳上相邻的两个视频帧之间的时间间隔为100毫秒,编码器在接收到视频帧时,第一个视频帧的时间点为0毫秒,第二个视频帧的时间点为100毫秒,第三个视频帧的时间点为200毫秒,以此类推,第十个视频帧的时间点为900毫秒,即1秒,则可以将第一个视频帧作为画面组的起始视频帧,第十个视频帧作为画面组的结束视频帧,第一个视频帧到第十个视频帧均为同一个画面组的视频帧,然后第十一个视频帧为下一个画面组的起始视频帧,第二十个视频帧为结束视频帧,第十一个视频帧到第二十个视频帧均为另一个画面组的视频帧,以此类推将视频数据的所有视频帧划分为多个画面组。
对于每个画面组的视频帧,在以编码码率对多个画面组的视频帧进行编码时,将起始视频帧编码为关键帧,将画面组中的起始视频帧之后的视频帧编码为预测帧,从而得到如图1B所示的多个画面组。
当然,在编码器中还可以按照编码时间戳读取视频帧进行编码,在每个编码周期开始时读取到的视频帧编码为关键帧,在编码周期内读取的其他视频帧编码为预测帧,还可以是按照编码时间戳读取视频数据并统计时间,每间隔一个编码周期将一个视频帧编码为关键帧,或者预先在编码时间戳上按照编码周期标记出将视频帧编码为关键帧的时间点,在该时间点时将视频帧编码为关键帧。
编码后的视频数据中,画面组中视频帧的数量等于目标帧数,但是编码帧率和目标帧率不一致,为了得到帧率为目标帧率的视频数据,可以基于目标帧率计算编码后的视频数据中相邻两个视频帧之间的时间间隔得到第二时间间隔,将编码时间戳中相邻两个视频帧之间的时间间隔调整为第三时间间隔,第三时间间隔与第一时间间隔相同。
例如,编码帧率为10时,编码时间戳上相邻两帧视频帧之间的时间间隔为100毫秒,如果将此编码时间戳作为编码后的视频数据的时间戳,则编码后的视频数据的帧率为10,明显和目标帧率30不符,无法满足用户需求,因此,可以根据目标帧率30计算出需求的编码数据的两帧视频帧之间的时间间隔为33毫秒,将编码时间戳中两帧视频帧之间的时间间隔由100毫秒改为33毫秒,使得编码后的视频数据的帧率为目标帧率30,即将每秒播放的视频帧的帧数由10帧改为30帧,并且由于每秒播放帧数的改变,帧率也由编码码率改为目标帧率,使得编码后的视频数据的帧率为目标帧率、码率为目标码率,画面组所包含的视频帧的帧数为目标帧数。
本发明实施例在编码周期的最小单位固定不变的情况下,在获取需求的视频数据的目标帧率、目标码率、画面组的目标帧数和编码周期后,通过目标帧率、目标码率、画面组的目标帧数和编码周期计算编码帧率和编码码率,并采用编码帧率计算相邻两帧视频帧之间的时间间隔,以采用时间间隔调整视频数据的时间戳得到编码时间戳,在根据编码码率、编码周期以及编码时间戳对视频数据进行编码后,得到画面组所包含的视频帧的帧数为目标帧数、帧率为目标帧率、码率为目标码率的视频数据,实现了任意帧数大小的画面组编码,解决了因硬件编码芯片的限制导致无法更改画面组的帧数大小的问题,无需软编码器进行编码,速度快,系统资源消耗少,满足了画面组包含较少视频帧的编码需求,以在解码视频数据时能够快速解码特定帧,减少解码时间。
实施例三
图3是本发明实施例三提供的一种视频数据编码装置的结构框图,如图3所示,本发明实施例的视频数据编码装置应用于编码器,具体可以包括如下模块:
视频数据获取模块301,用于获取视频数据;
编码参数配置模块302,用于配置所述编码器的编码参数;
第一时间间隔确定模块303,用于根据所述编码参数确定画面组中相邻两帧视频帧之间的第一时间间隔;
编码模块304,用于根据所述编码参数对所述视频数据进行编码,以根据所述第一时间间隔调整所述画面组中视频帧的数量。
所述编码参数配置模块302包括:
目标参数获取子模块,用于获取目标帧率、目标码率、画面组的目标帧数和画面组的编码周期;
编码参数配置子模块,用于根据所述目标帧率、所述目标码率、所述目标帧数以及所述编码周期配置所述编码器编码时的编码帧率和编码码率。
可选地,所述编码参数配置子模块包括:
转换因子计算单元,用于采用所述目标帧率、所述目标帧数和所述编码周期计算转换因子;
编码参数配置单元,用于基于所述转换因子对所述目标帧率和所述目标码率进行转换,得到编码帧率和编码码率。
可选地,所述转换因子计算单元包括:
乘积计算子单元,用于计算所述目标帧数和所述编码周期的乘积,得到第一乘积;
转换因子计算子单元,用于计算所述目标帧率和所述第一乘积的比值,得到所述转换因子。
可选地,所述编码周期为1秒的整数倍。
可选地,所述编码参数配置单元包括:
编码帧率计算子单元,用于计算所述目标帧率和所述转换因子的比值,得到编码帧率;
编码码率计算子单元,用于计算所述目标码率和所述转换因子的比值,得到编码码率。
可选地,所述编码参数包括编码帧率,所述第一时间间隔确定模块,包括:
第一时间间隔计算子模块,用于采用所述编码帧率计算画面组中相邻两帧视频帧之间的时间间隔以作为所述第一时间间隔。
可选地,所述视频数据包括时间戳,所述编码参数包括编码帧率和编码码率,所述编码模块304包括:
时间戳调整子模块,用于采用所述第一时间间隔对所述时间戳进行调整,得到编码时间戳;
编码子模块,用于根据所述编码码率、所述编码周期以及所述编码时间戳对所述视频数据进行编码。
可选地,所述编码子模块包括:
编码时间获取单元,用于从所述编码时间戳上获取所述视频数据中视频帧的编码时间;
视频帧确定单元,用于基于所述编码时间和所述编码周期确定画面组的视频帧;
编码单元,用于基于所述编码码率对多个画面组的视频帧进行编码,得到编码后包含多个画面组的视频数据;
时间戳调整单元,用于对所述编码时间戳进行调整,得到编码后的视频数据的时间戳。
可选地,所述视频帧确定单元包括:
起始视频帧和结束视频帧确定子单元,用于基于所述编码周期和所述编码时间确定所述画面组的起始视频帧和结束视频帧;
画面组视频帧确定子单元,用于将所述起始视频帧、所述结束视频帧、所述起始视频帧和所述结束视频帧之间的视频帧确定为画面组的视频帧。
可选地,所述编码单元包括:
关键字编码子单元,用于在以所述编码码率对多个画面组的视频帧进行编码时,将所述起始视频帧编码为关键帧;
预测帧编码子单元,用于将所述画面组中的所述起始视频帧之后的视频帧编码为预测帧。
可选地,所述编码参数包括目标帧率,所述时间戳调整单元包括:
第二时间间隔计算子单元,用于基于所述目标帧率计算编码后的视频数据中相邻两个视频帧之间的时间间隔,得到第二时间间隔;
时间戳调整子单元,用于将所述编码时间戳中相邻两个视频帧之间的时间间隔调整为所述第三时间间隔,所述第三时间间隔与所述第一时间间隔相同。
本发明实施例所提供的视频数据编码装置可执行本发明任意实施例所提供的视频数据编码方法,具备执行方法相应的功能模块和有益效果。
实施例四
参照图4,示出了本发明一个示例中的一种设备的结构示意图。如图4所示,该设备具体可以包括:处理器40、存储器41、具有触摸功能的显示屏42、输入装置43、输出装置44以及通信装置45。该设备中处理器40的数量可以是一个或者多个,图4中以一个处理器40为例。该设备中存储器41的数量可以是一个或者多个,图4中以一个存储器41为例。该设备的处理器40、存储器41、显示屏42、输入装置43、输出装置44以及通信装置45可以通过总线或者其他方式连接,图4中以通过总线连接为例。
存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明任意实施例所述的视频数据编码方法对应的程序指令/模块(例如,上述视频数据编码装置中的视频数据获取模块301、编码参数配置模块302、第一时间间隔确定模块303和编码模块304)。存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作装置、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
显示屏42为具有触摸功能的显示屏42,其可以是电容屏、电磁屏或者红外屏。一般而言,显示屏42用于根据处理器40的指示显示数据,还用于接收作用于显示屏42的触摸操作,并将相应的信号发送至处理器40或其他装置。可选的,当显示屏42为红外屏时,其还包括红外触摸框,该红外触摸框设置在显示屏42的四周,其还可以用于接收红外信号,并将该红外信号发送至处理器40或者其他设备。
通信装置45,用于与其他设备建立通信连接,其可以是有线通信装置和/或无线通信装置。
输入装置43可用于接收输入的数字或者字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入,还可以是用于获取图像的摄像头以及获取音频数据的拾音设备。输出装置44可以包括扬声器等音频设备。需要说明的是,输入装置43和输出装置44的具体组成可以根据实际情况设定。
处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述视频数据编码方法。
具体地,实施例中,处理器40执行存储器41中存储的一个或多个程序时,具体实现本发明实施例提供的视频数据编码方法的步骤。
本发明实施例还提供一种计算机可读存储介质,所述存储介质中的指令由设备的处理器执行时,使得设备能够执行如上述方法实施例所述的视频数据编码方法。
需要说明的是,对于装置、设备、存储介质实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本发明任意实施例所述的视频数据编码方法。
值得注意的是,上述视频数据编码装置中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行装置执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (15)

1.一种视频数据编码方法,其特征在于,应用于编码器,包括:
获取视频数据;
配置所述编码器的编码参数;
根据所述编码参数确定画面组中相邻两帧视频帧之间的第一间隔时间;
根据所述编码参数对所述视频数据进行编码,以根据所述第一间隔时间调整所述画面组中视频帧的数量。
2.根据权利要求1所述的方法,其特征在于,所述配置所述编码器的编码参数,包括:
获取目标帧率、目标码率、画面组的目标帧数和画面组的编码周期;
根据所述目标帧率、所述目标码率、所述目标帧数以及所述编码周期配置所述编码器编码时的编码帧率和编码码率。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标帧率、所述目标码率、所述目标帧数以及所述编码周期配置所述编码器编码时的编码帧率和编码码率,包括:
采用所述目标帧率、所述目标帧数和所述编码周期计算转换因子;
基于所述转换因子对所述目标帧率和所述目标码率进行转换,得到编码帧率和编码码率。
4.根据权利要求3所述的方法,其特征在于,所述采用所述目标帧率、所述目标帧数和所述编码周期计算转换因子,包括:
计算所述目标帧数和所述编码周期的乘积,得到第一乘积;
计算所述目标帧率和所述第一乘积的比值,得到所述转换因子。
5.根据权利要求2或3或4所述的方法,其特征在于,所述编码周期为1秒的整数倍。
6.根据权利要求3或4所述的方法,其特征在于,所述基于所述转换因子对所述目标帧率和所述目标码率进行转换,得到编码帧率和编码码率,包括:
计算所述目标帧率和所述转换因子的比值,得到编码帧率;
计算所述目标码率和所述转换因子的比值,得到编码码率。
7.根据权利要求1或2或3或4所述的方法,其特征在于,所述编码参数包括编码帧率,所述根据所述编码参数确定画面组中相邻两帧视频帧之间的第一间隔时间,包括:
采用所述编码帧率计算画面组中相邻两帧视频帧之间的间隔时间以作为所述第一间隔时间。
8.根据权利要求1所述的方法,其特征在于,所述视频数据包括时间戳,所述编码参数包括编码码率,所述根据所述编码参数对所述视频数据进行编码,以根据所述第一间隔时间调整所述画面组中视频帧的数量,包括:
采用所述第一间隔时间对所述时间戳进行调整,得到编码时间戳;
根据所述编码码率、所述编码周期以及所述编码时间戳对所述视频数据进行编码。
9.根据权利要求8所述的方法,其特征在于,所述根据所述编码码率、所述编码周期以及所述编码时间戳对所述视频数据进行编码,包括:
从所述编码时间戳上获取所述视频数据中视频帧的编码时间;
基于所述编码时间和所述编码周期确定画面组的视频帧;
基于所述编码码率对多个画面组的视频帧进行编码,得到编码后包含多个画面组的视频数据;
对所述编码时间戳进行调整,得到编码后的视频数据的时间戳。
10.根据权利要求9所述的方法,其特征在于,所述基于所述编码时间和所述编码周期确定画面组的视频帧,包括:
基于所述编码周期和所述编码时间确定所述画面组的起始视频帧和结束视频帧;
将所述起始视频帧、所述结束视频帧、所述起始视频帧和所述结束视频帧之间的视频帧确定为画面组的视频帧。
11.根据权利要求10所述的方法,其特征在于,所述基于所述编码码率对多个画面组的视频帧进行编码,得到编码后包含多个画面组频数据,包括:
在以所述编码码率对多个画面组的视频帧进行编码时,将所述起始视频帧编码为关键帧;
将所述画面组中的所述起始视频帧之后的视频帧编码为预测帧。
12.根据权利要求9所述的方法,其特征在于,所述编码参数包括目标帧率,所述对所述编码时间戳进行调整,得到编码后的视频数据的时间戳,包括:
基于所述目标帧率计算编码后的视频数据中相邻两个视频帧之间的时间间隔,得到第二时间间隔;
将所述编码时间戳中相邻两个视频帧之间的时间间隔调整为所述第三时间间隔,所述三时间间隔与所述第一时间间隔相同。
13.一种视频数据编码装置,其特征在于,应用于编码器,包括:
视频数据获取模块,用于获取视频数据;
编码参数配置模块,用于配置所述编码器的编码参数;
第一时间间隔确定模块,用于根据所述编码参数确定画面组中相邻两帧视频帧之间的第一时间间隔;
编码模块,用于根据所述编码参数对所述视频数据进行编码,以根据所述第一时间间隔调整所述画面组中视频帧的数量。
14.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-12中任一所述的视频数据编码方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-12中任一所述的视频数据编码方法。
CN201911052440.0A 2019-10-31 2019-10-31 视频数据编码方法、装置、设备和存储介质 Active CN110784718B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201911052440.0A CN110784718B (zh) 2019-10-31 2019-10-31 视频数据编码方法、装置、设备和存储介质
US17/773,276 US20230144483A1 (en) 2019-10-31 2020-08-24 Method for encoding video data, device, and storage medium
EP20881226.3A EP4054190A4 (en) 2019-10-31 2020-08-24 METHOD AND DEVICE FOR VIDEO DATA ENCODING, DEVICE AND STORAGE MEDIUM
PCT/CN2020/110839 WO2021082667A1 (zh) 2019-10-31 2020-08-24 视频数据编码方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911052440.0A CN110784718B (zh) 2019-10-31 2019-10-31 视频数据编码方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN110784718A true CN110784718A (zh) 2020-02-11
CN110784718B CN110784718B (zh) 2021-07-20

Family

ID=69387971

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911052440.0A Active CN110784718B (zh) 2019-10-31 2019-10-31 视频数据编码方法、装置、设备和存储介质

Country Status (4)

Country Link
US (1) US20230144483A1 (zh)
EP (1) EP4054190A4 (zh)
CN (1) CN110784718B (zh)
WO (1) WO2021082667A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111385637A (zh) * 2020-03-18 2020-07-07 Oppo广东移动通信有限公司 媒体数据编码方法、装置及电子设备
CN111787328A (zh) * 2020-07-27 2020-10-16 北京金山云网络技术有限公司 一种视频转码方法、装置、电子设备及存储介质
WO2021082667A1 (zh) * 2019-10-31 2021-05-06 百果园技术(新加坡)有限公司 视频数据编码方法、装置、设备和存储介质
CN113066139A (zh) * 2021-03-26 2021-07-02 西安万像电子科技有限公司 图片处理方法和装置、存储介质及电子设备
CN113596454A (zh) * 2021-08-02 2021-11-02 成都引力视创科技有限公司 一种铁路轨道图像处理方法、系统、存储介质及电子设备
CN114390314A (zh) * 2021-12-30 2022-04-22 咪咕文化科技有限公司 可变帧率音视频处理方法、设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116800976B (zh) * 2023-07-17 2024-03-12 武汉星巡智能科技有限公司 伴睡婴幼儿时音视频压缩和还原方法、装置及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105049856A (zh) * 2015-07-14 2015-11-11 无锡天脉聚源传媒科技有限公司 一种视频文件的处理方法及装置
US20160150229A1 (en) * 2014-11-24 2016-05-26 Samsung Electronics Co., Ltd. Codec, system on chip (soc) including the same, and data processing system including the soc
CN109120933A (zh) * 2018-10-11 2019-01-01 广州酷狗计算机科技有限公司 动态调整码率的方法、装置、设备及存储介质
CN110381316A (zh) * 2019-07-17 2019-10-25 腾讯科技(深圳)有限公司 一种视频传输控制方法、装置、设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002010259A (ja) * 2000-06-21 2002-01-11 Mitsubishi Electric Corp 画像符号化装置及び画像符号化方法及び画像符号化プログラムを記録した記録媒体
JP2002232893A (ja) * 2001-02-05 2002-08-16 Matsushita Electric Ind Co Ltd 画像符号化装置
CN102457728B (zh) * 2010-10-27 2013-12-25 杭州华三通信技术有限公司 一种视频图像编码方法和装置
WO2017214510A1 (en) * 2016-06-10 2017-12-14 Affirmed Networks, Inc. Transcoding using time stamps
CN106961603B (zh) * 2017-03-07 2018-06-15 腾讯科技(深圳)有限公司 帧内编码帧码率分配方法和装置
CN107623851B (zh) * 2017-09-01 2019-12-31 苏州科达科技股份有限公司 视频码流传输控制装置及控制方法
CN110784718B (zh) * 2019-10-31 2021-07-20 广州市网星信息技术有限公司 视频数据编码方法、装置、设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160150229A1 (en) * 2014-11-24 2016-05-26 Samsung Electronics Co., Ltd. Codec, system on chip (soc) including the same, and data processing system including the soc
CN105049856A (zh) * 2015-07-14 2015-11-11 无锡天脉聚源传媒科技有限公司 一种视频文件的处理方法及装置
CN109120933A (zh) * 2018-10-11 2019-01-01 广州酷狗计算机科技有限公司 动态调整码率的方法、装置、设备及存储介质
CN110381316A (zh) * 2019-07-17 2019-10-25 腾讯科技(深圳)有限公司 一种视频传输控制方法、装置、设备及存储介质

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021082667A1 (zh) * 2019-10-31 2021-05-06 百果园技术(新加坡)有限公司 视频数据编码方法、装置、设备和存储介质
CN111385637A (zh) * 2020-03-18 2020-07-07 Oppo广东移动通信有限公司 媒体数据编码方法、装置及电子设备
CN111385637B (zh) * 2020-03-18 2022-05-20 Oppo广东移动通信有限公司 媒体数据编码方法、装置及电子设备
CN111787328A (zh) * 2020-07-27 2020-10-16 北京金山云网络技术有限公司 一种视频转码方法、装置、电子设备及存储介质
CN111787328B (zh) * 2020-07-27 2022-11-04 北京金山云网络技术有限公司 一种视频转码方法、装置、电子设备及存储介质
CN113066139A (zh) * 2021-03-26 2021-07-02 西安万像电子科技有限公司 图片处理方法和装置、存储介质及电子设备
CN113596454A (zh) * 2021-08-02 2021-11-02 成都引力视创科技有限公司 一种铁路轨道图像处理方法、系统、存储介质及电子设备
CN114390314A (zh) * 2021-12-30 2022-04-22 咪咕文化科技有限公司 可变帧率音视频处理方法、设备及存储介质

Also Published As

Publication number Publication date
WO2021082667A1 (zh) 2021-05-06
EP4054190A4 (en) 2023-01-04
EP4054190A1 (en) 2022-09-07
US20230144483A1 (en) 2023-05-11
CN110784718B (zh) 2021-07-20

Similar Documents

Publication Publication Date Title
CN110784718B (zh) 视频数据编码方法、装置、设备和存储介质
WO2018010662A1 (zh) 视频文件的转码方法,装置及存储介质
CN105163134A (zh) 直播视频的视频编码参数设置方法、装置及视频编码设备
CN110784740A (zh) 视频处理方法、装置、服务器及可读存储介质
CN110662084B (zh) 一种mp4文件流直播的方法、移动终端及存储介质
CN111147860B (zh) 一种视频数据的解码方法及装置
US11438645B2 (en) Media information processing method, related device, and computer storage medium
WO2020207403A1 (zh) 一种图像获取方法及装置
CN104918123A (zh) 用于运动视频回放的方法和系统
CN101998051A (zh) 图像显示控制装置、图像处理装置及搭载其的摄像装置
WO2021057697A1 (zh) 视频编解码方法和装置、存储介质及电子装置
CN113852824A (zh) 视频转码方法、装置、电子设备和存储介质
CN110996122B (zh) 视频帧传输方法、装置、计算机设备及存储介质
CN109040818B (zh) 直播时的音视频同步方法、存储介质、电子设备及系统
CN113225585A (zh) 一种视频清晰度的切换方法、装置、电子设备以及存储介质
CN111385576B (zh) 视频编码方法、装置、移动终端及存储介质
JP2005303925A (ja) ストリームデータ送信装置、ストリームデータ受信装置およびそれらの処理をコンピュータに実行させるための処理プログラムを記録した記録媒体
CN109561337A (zh) 预览视频的播放方法和装置
CN109600651B (zh) 文档类直播交互数据和音视频数据同步方法和系统
CN109302574B (zh) 一种处理视频流的方法和装置
CN113395531B (zh) 播放切换方法、装置、电子设备及计算机可读存储介质
JP2011192229A (ja) サーバ装置および情報処理方法
KR102001549B1 (ko) 선행 디코딩없이 복수의 인코딩된 비디오 스트림들을 절단하는 장치 및 방법
CN112135163A (zh) 视频起播的方法以及装置
KR100899666B1 (ko) 분산 다중 스트리밍 전송 장치

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