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

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

Info

Publication number
WO2021082667A1
WO2021082667A1 PCT/CN2020/110839 CN2020110839W WO2021082667A1 WO 2021082667 A1 WO2021082667 A1 WO 2021082667A1 CN 2020110839 W CN2020110839 W CN 2020110839W WO 2021082667 A1 WO2021082667 A1 WO 2021082667A1
Authority
WO
WIPO (PCT)
Prior art keywords
encoding
video
video data
frame
rate
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.)
Ceased
Application number
PCT/CN2020/110839
Other languages
English (en)
French (fr)
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.)
Bigo Technology Pte Ltd
Original Assignee
Bigo Technology Pte 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 Bigo Technology Pte Ltd filed Critical Bigo Technology Pte Ltd
Priority to US17/773,276 priority Critical patent/US12015770B2/en
Priority to EP20881226.3A priority patent/EP4054190A4/en
Publication of WO2021082667A1 publication Critical patent/WO2021082667A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/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
    • 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]

Definitions

  • the embodiments of the present invention relate to the technical field of video coding, for example, to a video data coding method, a video data coding device, equipment, and a storage medium.
  • the video recording device After the video recording device records the image, the recorded image is encoded by the encoder to form video data, and the video data is decoded and played back to display the video screen on the terminal.
  • the encoded video frames include I-frames, P-frames, and B-frames.
  • the video frames between two I-frames form a group of pictures (GOP), that is, a GOP contains multiple Video frame.
  • GOP group of pictures
  • the more video frames contained in the GOP the better the image quality of the video, but the GOP contains too many video frames.
  • decoding the P frame or B frame in the GOP it needs to be decoded first. Obtain the I frame in the GOP and the previous N predicted frames, and the decoding time becomes longer.
  • the minimum unit of the encoding period for the encoder to encode a GOP is seconds, that is, only one I frame can be encoded in the encoding period. That is, all received video frames are encoded into a GOP in one encoding cycle.
  • the number of video frames contained in the GOP is an integer multiple of the frame rate, which makes the encoder unable to encode
  • the soft encoder has a slow encoding speed and takes up more system resources.
  • the embodiments of the present invention provide a video data encoding method, a video data encoding device, equipment, and a storage medium to solve the problem that an encoder cannot encode video data of any size GOP.
  • the embodiment of the present invention provides a video data encoding method, which is applied to an encoder, and includes:
  • the video data is encoded according to the encoding parameter to adjust the number of video frames in the group of pictures according to the first time interval.
  • the embodiment of the present invention provides a video data encoding device, which is applied to an encoder, and includes:
  • the video data acquisition module is set to acquire video data
  • An encoding parameter configuration module which is set to configure the encoding parameters of the encoder
  • the first time interval determining module is configured to determine the first time interval between two adjacent video frames in the picture group according to the encoding parameter
  • the encoding module is configured to encode the video data according to the encoding parameter, so as to adjust the number of video frames in the group of pictures according to the first time interval.
  • the embodiment of the present invention provides a device, and the device includes:
  • One or more processors are One or more processors;
  • Storage device set to store one or more programs
  • the one or more processors When the one or more programs are executed by the one or more processors, the one or more processors implement the video data encoding method according to any embodiment of the present disclosure.
  • the embodiment of the present invention provides a computer-readable storage medium, and a computer program is stored on the computer-readable storage medium.
  • the computer program is executed by a processor, the video data encoding method according to any embodiment of the present disclosure is implemented.
  • FIG. 1A is a flowchart of a method for encoding video data according to Embodiment 1 of the present invention
  • FIG. 1B is a schematic diagram of a group of pictures in video data in an embodiment of the present invention.
  • Figure 2 is a flowchart of a video data encoding method provided by the second embodiment of the present invention.
  • Fig. 3 is a structural block diagram of a video data encoding device provided by the third embodiment of the present invention.
  • Fig. 4 is a structural block diagram of a device according to the fourth embodiment of the present invention.
  • FIG. 1A is a flowchart of a video data encoding method provided by Embodiment 1 of the present invention.
  • the embodiment of the present invention is applicable to the case of encoding video data.
  • the method can be executed by a video data encoding device, which can be used by It is implemented by software and/or hardware and integrated in the device for executing the method. As shown in FIG. 1A, the method may include the following steps.
  • the video data can be the original image sequence collected by the image acquisition device.
  • the image acquisition device can be a terminal with a camera, for example, a mobile electronic device such as a mobile phone or a camera, or a fixed camera with a camera.
  • the electronic device for example, can be a fixed surveillance camera.
  • the electronic device is provided with a hardware encoder, such as a variety of encoding chips, which can encode the original image sequence collected by the camera to obtain video data with user-defined specifications.
  • the encoder receives the video data from the output terminal of the camera after the camera starts to work and collects the image.
  • the encoder can also be an independent device.
  • the independent encoder can receive and read the video data from the network server, host, storage and other devices. .
  • the encoding parameters may be the encoding frame rate, encoding bit rate, encoding period and other parameters during encoding of the encoder, wherein the encoding frame rate is the number of video frames encoded per second by the encoder, and the encoding rate is The amount of data encoded by the encoder per second.
  • the encoding period is the period for the encoder to encode a group of pictures.
  • the user can set the target frame rate, target bit rate, and target frame number of the picture group of the encoded video data.
  • the user enters the target frame rate required by the encoded video data in the interactive interface of the encoder, The target bit rate and the target frame number of the picture group, where the target frame rate can be the number of video frames played per second when the encoded video data is played; the target bit rate can be the encoded video data every second when the video data is transmitted The amount of data transmitted per second; the target frame number can be the number of video frames contained in each group of pictures in the encoded video data.
  • the encoder After the encoder receives the target frame rate, target code rate, and target frame number of the picture group, it configures the encoder according to the target frame rate, target code rate, target frame number of the picture group, and the encoding period of the encoder itself to encode the picture group.
  • the encoding frame rate and encoding rate are used to encode the video data using the configured encoding rate and encoding frame rate during encoding.
  • S103 Determine a first time interval between two adjacent video frames in the picture group according to the encoding parameter.
  • a group of pictures includes a key frame (I frame) and multiple prediction frames (P or B frames).
  • the encoding period is the period of encoding a group of pictures, that is, the encoding period expresses the encoder How long is the interval to encode a key frame.
  • the encoding period is fixed, the number of video frames contained in the picture group is negatively related to the time interval between two adjacent video frames in the picture group, that is, the longer the time interval, The smaller the number of video frames contained in the group of pictures.
  • the time interval between two adjacent video frames in the picture group can be calculated according to the encoding frame rate. For example, if the encoder encodes a key frame at an interval of 1 second to form a picture group, then the encoding The period is 1 second, and the ratio of 1 to the encoding frame rate can be calculated as the time interval between two adjacent video frames in the picture group.
  • S104 Encode the video data according to the encoding parameter, so as to adjust the number of video frames in the group of pictures according to the first time interval.
  • the video data includes a time stamp, which expresses the time point at which the video frame is displayed.
  • the first time interval can be passed Adjust the time interval of the time stamp of the video data to obtain the encoding time stamp of the encoder when encoding.
  • the encoder encodes the corresponding video frame according to the time point on the encoding time stamp.
  • the encoder uses the configured encoding rate and encoding
  • determine the starting time point corresponding to each encoding period encode the video frame corresponding to this time point as a key frame, and encode the other time points in the encoding period.
  • the video frame is encoded into a predicted frame to obtain a picture group.
  • the time interval between two adjacent video frames in the picture group is equal to the first time interval. That is, the two adjacent picture groups in the picture group can be determined by configuring the encoding parameters of the encoder. Frame the time interval between video frames to adjust the number of video frames in the picture group according to the time interval.
  • the time interval between two adjacent video frames in the picture group is determined by the encoding parameters, so as to adjust the picture group according to the time interval when the video data is encoded according to the encoding parameters.
  • the number of video frames when the minimum unit of the coding period is fixed, the time interval between two adjacent video frames in the picture group is adjusted by configuring the coding parameters to adjust the coding generation in the coding period.
  • the number of video frames in the picture group realizes the encoding of the picture group of any frame size, which solves the problem that the frame number of the picture group cannot be changed due to the limitation of the hardware encoding chip.
  • the system consumes less resources and meets the coding requirement that the picture group contains fewer video frames, so that specific frames can be quickly decoded when video data is decoded, and the decoding time is reduced.
  • FIG. 2 is a flowchart of a video data encoding method provided by Embodiment 2 of the present invention.
  • the embodiment of the present invention is described on the basis of the foregoing Embodiment 1. As shown in FIG. 2, the method may include the following steps.
  • the video data may include multiple video frames and timestamps.
  • the camera collects user images to obtain multiple video frames and the time point at which each video frame is collected.
  • the time series formed by the collection time point is a time stamp.
  • the user can set the target frame rate, target bit rate, target frame number and encoding period of the picture group, for example, the user enters the target required by the encoded video data in the interactive interface of the encoder Frame rate, target code rate, target number of frames of the picture group, and encoding period, where the encoding period can be an integer multiple of 1 second.
  • the encoding period can be an integer multiple of 1 second.
  • the Android system set the encoding period of the encoding chip to encode the picture group in seconds, You can set the encoding period to 1 second, 2 seconds, and so on.
  • the encoder can receive the parameters set by the user.
  • the encoding period is an integer multiple of 1 second.
  • the target frame rate, the target frame number, and the encoding period may be used to calculate the conversion factor, and the target frame rate and the target code rate are converted based on the conversion factor to obtain the encoding frame rate and the encoding code rate.
  • the product of the target frame number and the encoding period may be calculated to obtain the first product, and the ratio of the target frame rate to the first product may be calculated to obtain the conversion factor, where the conversion factor is the conversion factor of the target frame rate and the encoding frame rate, It is also the conversion factor between the target code rate and the coding code rate.
  • the ratio of the target frame rate and the conversion factor can be calculated to obtain the coding frame rate, and the ratio of the target code rate and the conversion factor can be calculated to obtain the coding code rate.
  • the following takes the encoder of the Android system as an example to describe the configuration of the encoding bit rate and the encoding frame rate.
  • the user sets the target frame rate of the encoded video data in the encoder to fps, the target code rate is bitrate, the target frame number of the group of pictures (GOP) is GOP_SIZE, and the encoder sets the minimum unit of the encoding period as seconds.
  • the conversion factor GOPFactor fps/GOP_SIZE
  • AMediaFormat_setInt32 (videoFormat, "bitrate”, bitrate/GOPFactor)
  • AMediaFormat_setInt32 (videoFormat, "frame-rate”, fps/GOPFactor)
  • AMediaFormat_setInt32 (videoFormat, "i-frame-interval", 1).
  • the user needs to record video data with a target frame rate of 30 frames per second, a target bit rate of 3Mb per second, and a target frame number of GOP of 10 frames. You can go through the following steps:
  • the target frame rate and the target bit rate can be determined by the target frame rate, target bit rate, and target frame number of the GOP required by the user.
  • the encoding rate and encoding frame rate of the encoder are obtained by conversion, so that the encoder can be configured according to the encoding rate and encoding frame rate to control the encoder to encode the video data at the encoding frame rate and encoding rate, so that after encoding The GOP of the video data can meet the user's set requirements.
  • the encoding frame rate expresses the number of video frames encoded per second when the encoder encodes the video data. Then, the ratio of 1 to the encoding frame rate can be calculated, and the ratio is regarded as the adjacent image group.
  • the time interval between two video frames for example, if the encoding frame rate is 10, the time interval is 100 milliseconds.
  • the video data has a time stamp, which expresses the time interval between two video frames when the video data is recorded. Since the target frame rate has been converted to the encoding frame rate by a conversion factor, the time stamp is adjusted so that the adjusted The time interval between two adjacent video frames on the encoding time stamp is equal to the first time interval.
  • the target frame rate fps is 30, and the frame rate of the video data before encoding is usually 30.
  • the time interval between two video frames in the video data before encoding is 33 milliseconds, that is, the time of the video data before encoding.
  • the time interval between two adjacent video frames on the stamp is 33 milliseconds.
  • the encoding frame rate of the encoder is 10, and the time interval between two video frames during encoding is 100 milliseconds.
  • the time stamp of the video data needs to be added
  • the time interval between two video frames is changed from 33 milliseconds to 100 milliseconds, so that the encoding frame rate and encoding timestamp match to ensure that the encoder encodes normally, for example, the encoding frame rate is 10, and the encoding timestamp is two adjacent frames
  • the time interval between is 100 milliseconds, and the frame rate calculated by the encoding timestamp is also 10, that is, the video data is encoded according to the encoding timestamp, and the encoding frame rate is 10, otherwise, the encoding is carried out according to the encoding frame rate of 10.
  • the time interval between two adjacent frames on the encoding time stamp is 100 milliseconds.
  • the encoding time of the video frame in the video data can be obtained from the encoding timestamp, and the video frame of the group of pictures is determined based on the encoding time and the encoding period, so as to compare the encoding of multiple groups of pictures based on the encoding rate.
  • the video frame is coded to obtain video data containing multiple picture groups after coding, and the coding time stamp is adjusted to obtain the time stamp of the coded video data.
  • the encoding timestamp expresses the time point at which the video frame is encoded during the encoding process
  • the encoding time of each video frame can be obtained from the encoding timestamp
  • the picture group is determined based on the encoding period and the encoding time
  • the start video frame and the end video frame of, the start video frame, the end video frame, and the video frame between the start video frame and the end video frame are determined as the video frames of the picture group.
  • the encoding period is 1 second, and the time interval between two adjacent video frames on the encoding timestamp is 100 milliseconds.
  • the time point of the first video frame is 0 milliseconds.
  • the time point of the two video frames is 100 milliseconds
  • the time point of the third video frame is 200 milliseconds
  • the time point of the tenth video frame is 900 milliseconds, that is, the encoding period is 1 second
  • the first One video frame is used as the starting video frame of the group of pictures
  • the tenth video frame is taken as the ending video frame of the group of pictures
  • the first video frame to the tenth video frame are all video frames of the same group of pictures
  • the tenth video frame One video frame is the start video frame of the next picture group
  • the twentieth video frame is the end video frame of the next picture group
  • the eleventh video frame to the twentieth video frame are all another picture group
  • the starting video frame is encoded as a key frame, and the video after the starting video frame in each group of pictures The frame is encoded as a predicted frame, thereby obtaining multiple picture groups as shown in FIG. 1B.
  • the video frame can also be read and encoded according to the encoding timestamp.
  • the video frame read at the beginning of each encoding period is encoded as a key frame, and other video frames read during the encoding period are encoded as predicted frames. It can also read the video data and count the time according to the encoding timestamp, and encode a video frame as a key frame every interval of an encoding cycle, or mark the time of encoding the video frame as a key frame in advance on the encoding timestamp according to the encoding cycle. At this point in time, the video frame is encoded as a key frame.
  • the number of video frames in the picture group is equal to the target frame number, but the encoding frame rate is inconsistent with the target frame rate.
  • the encoded frame rate can be calculated based on the target frame rate.
  • the time interval between two adjacent video frames in the video data is the second time interval, and the time interval between the two adjacent video frames in the encoding time stamp is adjusted to the second time interval.
  • the second time interval is the same as the first time interval.
  • the time interval is the same.
  • the time interval between two adjacent video frames on the encoding timestamp is 100 milliseconds. If this encoding timestamp is used as the timestamp of the encoded video data, the encoded video data The frame rate is 10, which is obviously inconsistent with the target frame rate of 30 and cannot meet user needs.
  • the time interval between the two video frames of the required encoded data can be calculated according to the target frame rate of 30 to be 33 milliseconds, and the encoding time
  • the time interval between the two video frames in the stamp is changed from 100 milliseconds to 33 milliseconds, so that the frame rate of the encoded video data is the target frame rate of 30, that is, the number of video frames played per second is changed from 10 to 30 Frame rate, and due to the change in the number of playing frames per second, the frame rate is also changed from the encoding rate to the target frame rate, so that the frame rate of the encoded video data is the target frame rate, the bit rate is the target rate, and the picture group contains The frame number of the video frame is the target frame number.
  • the target frame rate, target code calculateate the encoding frame rate and encoding bit rate by using the encoding frame rate, the target frame number of the picture group and the encoding period, and use the encoding frame rate to calculate the time interval between two adjacent video frames, and adjust the time stamp of the video data by using the time interval to obtain the encoding Timestamp, after encoding the video data according to the encoding rate, encoding period, and encoding timestamp, the number of video frames contained in the picture group is the target frame number, the frame rate is the target frame rate, and the bit rate is the target code.
  • High-speed video data realizes the encoding of groups of pictures of any frame size, and solves the problem that the frame number of the picture groups cannot be changed due to the limitation of the hardware encoding chip.
  • No soft encoder is required for encoding, which is fast and consumes less system resources. , Which meets the encoding requirement that the group of pictures contains fewer video frames, so that specific frames can be quickly decoded when video data is decoded, and the decoding time is reduced.
  • Fig. 3 is a structural block diagram of a video data encoding device provided by the third embodiment of the present invention.
  • the video data encoding device of the embodiment of the present invention is applied to an encoder and may include: a video data acquisition module 301, an encoding The parameter configuration module 302, the first time interval determination module 303, and the encoding module 304.
  • the video data acquisition module 301 is configured to acquire video data
  • the encoding parameter configuration module 302 is configured to configure the encoding parameters of the encoder
  • the first time interval determining module 303 is configured to determine the first time interval between two adjacent video frames in the picture group according to the encoding parameter
  • the encoding module 304 is configured to encode the video data according to the encoding parameters, so as to adjust the number of video frames in the group of pictures according to the first time interval.
  • the video data encoding device provided by the embodiment of the present invention can execute the video data encoding method provided by any embodiment of the present disclosure, and has corresponding functional modules and beneficial effects for the execution method.
  • the device may include: a processor 40, a memory 41, a display screen 42 with a touch function, an input device 43, an output device 44, and a communication device 45.
  • the number of processors 40 in the device may be one or more, and one processor 40 is taken as an example in FIG. 4.
  • the number of memories 41 in the device may be one or more, and one memory 41 is taken as an example in FIG. 4.
  • the processor 40, the memory 41, the display screen 42, the input device 43, the output device 44, and the communication device 45 of the device may be connected by a bus or other means. In FIG. 4, the connection by a bus is taken as an example.
  • the processor 40 executes various functional applications and data processing of the device by running the software programs, instructions, and modules stored in the memory 41, that is, realizes the foregoing video data encoding method.
  • the embodiment of the present invention also provides a computer-readable storage medium.
  • the instructions in the storage medium are executed by the processor of the device, the device can execute the video data encoding method as described in the above method embodiment.
  • the embodiments of the present invention can be implemented by software and necessary general-purpose hardware, or can be implemented by hardware.
  • the present disclosure can be embodied in the form of a software product.
  • the computer software product can be stored in a computer-readable storage medium, such as a computer floppy disk, Read-Only Memory (ROM), and Random Access Memory (Random Access Memory). , RAM), flash memory (FLASH), hard disk or optical disk, etc., including a variety of instructions to make a computer device (which can be a robot, a personal computer, a server, or a network device, etc.) execute the video described in any embodiment of the present disclosure Data encoding method.
  • the multiple units and modules included are only divided according to the functional logic, but are not limited to the above-mentioned division, as long as the corresponding functions can be realized; in addition, the names of the multiple functional units are also It is just for the convenience of distinguishing each other and is not used to limit the protection scope of the present disclosure.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明实施例公开了一种视频数据编码方法、装置、设备和存储介质,应用于编码器,视频数据编码方法包括:获取视频数据;配置编码器的编码参数;根据所述编码参数确定画面组中相邻两帧视频帧之间的第一时间间隔;根据所述编码参数对所述视频数据进行编码,以根据所述第一时间间隔调整所述画面组中视频帧的数量。

Description

视频数据编码方法、装置、设备和存储介质
本申请要求在2019年10月31日提交中国专利局、申请号为201911052440.0的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。
技术领域
本发明实施例涉及视频编码技术领域,例如涉及一种视频数据编码方法、视频数据编码装置、设备和存储介质。
背景技术
视频录制设备录制图像后,经编码器对录制的图像编码后形成视频数据,该视频数据经解码后进行播放以在终端展示视频画面。
在一些系统的编码器中,编码后的视频帧包括I帧、P帧和B帧,两个I帧之间的视频帧组成一个画面组(Group Of Pictures,GOP),即一个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秒等等。当用户在编码器设置上述参数后,编码器可以接收到用户设置的参数。
可选的,所述编码周期为1秒的整数倍。
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。
视频数据获取模块301,设置为获取视频数据;
编码参数配置模块302,设置为配置所述编码器的编码参数;
第一时间间隔确定模块303,设置为根据所述编码参数确定画面组中相邻两帧视频帧之间的第一时间间隔;
编码模块304,用于根据所述编码参数对所述视频数据进行编码,以根据所述第一时间间隔调整所述画面组中视频帧的数量。
本发明实施例所提供的视频数据编码装置可执行本公开任意实施例所提供的视频数据编码方法,具备执行方法相应的功能模块和有益效果。
实施例四
参照图4,示出了本公开一个示例中的一种设备的结构示意图。如图4所示,该设备可以包括:处理器40、存储器41、具有触摸功能的显示屏42、输入装置43、输出装置44以及通信装置45。该设备中处理器40的数量可以是一个或者多个,图4中以一个处理器40为例。该设备中存储器41的数量可以是一个或者多个,图4中以一个存储器41为例。该设备的处理器40、存储器41、显示屏42、输入装置43、输出装置44以及通信装置45可以通过总线或者其他方式连接,图4中以通过总线连接为例。
处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行设备的多种功能应用以及数据处理,即实现上述视频数据编码方法。
本发明实施例还提供一种计算机可读存储介质,所述存储介质中的指令由设备的处理器执行时,使得设备能够执行如上述方法实施例所述的视频数据编码方法。
对于装置、设备、存储介质实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明。
本发明实施例可借助软件及必需的通用硬件来实现,也可以通过硬件实现。本公开可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括多种指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本公开任意实施例所述的视频数据编码方法。
上述视频数据编码装置中,所包括的多个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,多个功能单元的名称也只是为了便于相互区分,并不用于限制本公开的保护范围。

Claims (15)

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

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/773,276 US12015770B2 (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 Video data encoding method and device, apparatus, and storage medium

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2021082667A1 true WO2021082667A1 (zh) 2021-05-06

Family

ID=69387971

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/110839 Ceased WO2021082667A1 (zh) 2019-10-31 2020-08-24 视频数据编码方法、装置、设备和存储介质

Country Status (4)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114615501A (zh) * 2022-03-15 2022-06-10 深圳万兴软件有限公司 视频编码转换方法、装置、设备及存储介质
CN115696514A (zh) * 2021-07-23 2023-02-03 维沃移动通信有限公司 图像帧的传输方法和设备
CN116800976A (zh) * 2023-07-17 2023-09-22 武汉星巡智能科技有限公司 伴睡婴幼儿时音视频压缩和还原方法、装置及设备

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110784718B (zh) * 2019-10-31 2021-07-20 广州市网星信息技术有限公司 视频数据编码方法、装置、设备和存储介质
CN111385637B (zh) * 2020-03-18 2022-05-20 Oppo广东移动通信有限公司 媒体数据编码方法、装置及电子设备
CN111787328B (zh) * 2020-07-27 2022-11-04 北京金山云网络技术有限公司 一种视频转码方法、装置、电子设备及存储介质
CN112423072B (zh) * 2020-09-02 2025-02-07 上海幻电信息科技有限公司 直播场景下的视频推送方法及系统
CN113066139B (zh) * 2021-03-26 2024-06-21 西安万像电子科技有限公司 图片处理方法和装置、存储介质及电子设备
CN113596454A (zh) * 2021-08-02 2021-11-02 成都引力视创科技有限公司 一种铁路轨道图像处理方法、系统、存储介质及电子设备
CN114390314B (zh) * 2021-12-30 2024-06-18 咪咕文化科技有限公司 可变帧率音视频处理方法、设备及存储介质
CN116320433A (zh) * 2023-03-29 2023-06-23 山东云海国创云计算装备产业创新中心有限公司 一种用于编码器的码率计算方法、装置、设备及介质
CN119653093B (zh) * 2025-02-12 2025-05-02 浙江大华技术股份有限公司 一种编码参数调节方法及电子设备

Citations (6)

* 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 画像符号化装置
CN102457728A (zh) * 2010-10-27 2012-05-16 杭州华三通信技术有限公司 一种视频图像编码方法和装置
CN107623851A (zh) * 2017-09-01 2018-01-23 苏州科达科技股份有限公司 视频码流传输控制装置及控制方法
CN110381316A (zh) * 2019-07-17 2019-10-25 腾讯科技(深圳)有限公司 一种视频传输控制方法、装置、设备及存储介质
CN110784718A (zh) * 2019-10-31 2020-02-11 广州市网星信息技术有限公司 视频数据编码方法、装置、设备和存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102274747B1 (ko) * 2014-11-24 2021-07-07 삼성전자주식회사 코덱과 이를 포함하는 시스템 온 칩, 및 상기 시스템 온 칩을 포함하는 데이터 처리 시스템
CN105049856A (zh) * 2015-07-14 2015-11-11 无锡天脉聚源传媒科技有限公司 一种视频文件的处理方法及装置
WO2017214510A1 (en) * 2016-06-10 2017-12-14 Affirmed Networks, Inc. Transcoding using time stamps
CN106961603B (zh) * 2017-03-07 2018-06-15 腾讯科技(深圳)有限公司 帧内编码帧码率分配方法和装置
CN109120933B (zh) * 2018-10-11 2021-05-14 广州酷狗计算机科技有限公司 动态调整码率的方法、装置、设备及存储介质

Patent Citations (6)

* 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 画像符号化装置
CN102457728A (zh) * 2010-10-27 2012-05-16 杭州华三通信技术有限公司 一种视频图像编码方法和装置
CN107623851A (zh) * 2017-09-01 2018-01-23 苏州科达科技股份有限公司 视频码流传输控制装置及控制方法
CN110381316A (zh) * 2019-07-17 2019-10-25 腾讯科技(深圳)有限公司 一种视频传输控制方法、装置、设备及存储介质
CN110784718A (zh) * 2019-10-31 2020-02-11 广州市网星信息技术有限公司 视频数据编码方法、装置、设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4054190A4 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115696514A (zh) * 2021-07-23 2023-02-03 维沃移动通信有限公司 图像帧的传输方法和设备
CN114615501A (zh) * 2022-03-15 2022-06-10 深圳万兴软件有限公司 视频编码转换方法、装置、设备及存储介质
CN116800976A (zh) * 2023-07-17 2023-09-22 武汉星巡智能科技有限公司 伴睡婴幼儿时音视频压缩和还原方法、装置及设备
CN116800976B (zh) * 2023-07-17 2024-03-12 武汉星巡智能科技有限公司 伴睡婴幼儿时音视频压缩和还原方法、装置及设备

Also Published As

Publication number Publication date
EP4054190A4 (en) 2023-01-04
CN110784718B (zh) 2021-07-20
US12015770B2 (en) 2024-06-18
US20230144483A1 (en) 2023-05-11
CN110784718A (zh) 2020-02-11
EP4054190A1 (en) 2022-09-07

Similar Documents

Publication Publication Date Title
WO2021082667A1 (zh) 视频数据编码方法、装置、设备和存储介质
CN107155093B (zh) 一种视频预览方法、装置及设备
US9179155B1 (en) Skipped macroblock video encoding enhancements
CN110430445B (zh) 一种视频同步播放方法、装置、设备及介质
CN110784740A (zh) 视频处理方法、装置、服务器及可读存储介质
WO2017041551A1 (zh) 基于spice协议的图像传输方法及装置
CN107948713B (zh) 一种延时直播方法及系统
TWI637631B (zh) 影像處理裝置、影視子系統與影視處理電路
CN113055680B (zh) 一种分布式转码方法
WO2022120828A1 (zh) 视频抽帧方法、设备及存储介质
CN114222156A (zh) 视频剪辑方法、装置、计算机设备和存储介质
WO2020207403A1 (zh) 一种图像获取方法及装置
CN111954016A (zh) 一种直播视频流高效精准录制方案
CN111147954A (zh) 一种缩略图抽取方法及装置
CN115460369B (zh) 视频录像设备、离线视频分析方法、电子设备及存储介质
US10826838B2 (en) Synchronized jitter buffers to handle codec switches
CN107493478A (zh) 编码帧率设置方法及设备
CN112131423A (zh) 图片获取方法、装置及系统
CN115914751B (zh) 视频解码播放方法、系统、存储介质和视频解码播放设备
CN109302574B (zh) 一种处理视频流的方法和装置
WO2024002264A1 (zh) 视频处理设备、进度条时间更新方法及装置、电子设备
CN115379236A (zh) 视频处理方法、装置、介质及设备
CN116456091A (zh) 一种视频编码方法、装置、设备和存储介质
CN115243101B (zh) 视频动静率识别方法、装置、电子设备及存储介质
CN115988257B (zh) 数据记录方法、装置及设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20881226

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020881226

Country of ref document: EP

Effective date: 20220531