WO2020098534A1 - 编码数据处理方法、装置、计算机设备和存储介质 - Google Patents
编码数据处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- WO2020098534A1 WO2020098534A1 PCT/CN2019/115785 CN2019115785W WO2020098534A1 WO 2020098534 A1 WO2020098534 A1 WO 2020098534A1 CN 2019115785 W CN2019115785 W CN 2019115785W WO 2020098534 A1 WO2020098534 A1 WO 2020098534A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- complexity
- encoded
- data frame
- real
- quantization parameter
- Prior art date
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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- 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/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/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
-
- 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
-
- 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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/192—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
Definitions
- the present application relates to the field of communication technology, and in particular, to a method, device, computer device, and storage medium for processing encoded data.
- Encoding is the process of converting information from one form or format to another.
- the encoded data in the multimedia data format needs to be communicated and transmitted, the encoded data needs to be encoded to form an encoded code stream suitable for transmission on the Internet. Therefore, coding is widely used in communications.
- a method for processing encoded data includes:
- the complexity is at least used to characterize the complexity of the texture in the air domain and the intensity of the motion in the domain;
- the real-time encoding code rate is the encoding code rate of the pre-encoded data frame of the data frame to be encoded
- the encoding parameters are adjusted.
- the acquiring the data frame to be encoded includes: acquiring the data frame to be encoded based on the screen image.
- the method further includes:
- encode the data frame to be encoded to obtain an encoded code stream.
- the method before acquiring the data frame to be encoded, the method further includes: receiving a wireless screen projection instruction, the wireless screen projection instruction carrying a target terminal identifier;
- Said encoding the data frame to be encoded according to the adjusted encoding parameters to obtain the encoded code stream further comprising: sending the encoded code stream according to the target terminal identifier.
- an encoded data processing device including:
- the data frame acquisition module is used to acquire the data frame to be encoded
- the complexity determination module is used to determine the complexity of the data frame to be encoded, the complexity is at least used to characterize the complexity of the texture in the air domain and the intensity of the motion in the domain;
- a real-time code rate obtaining module configured to obtain a real-time code rate, the real-time code rate is the code rate of the pre-coded data frame of the data frame to be coded;
- An encoding parameter adjustment module is used to adjust encoding parameters according to the real-time encoding bit rate and the complexity of the data frame to be encoded.
- the computer device includes a memory and a processor.
- the memory stores a computer program.
- the processor executes the computer program, the following steps are implemented:
- the complexity is at least used to characterize the complexity of the texture in the air domain and the intensity of the motion in the domain;
- the real-time encoding code rate is the encoding code rate of the pre-encoded data frame of the data frame to be encoded
- the encoding parameters are adjusted.
- a computer-readable storage medium in which a computer program is stored, and when the computer program is executed by a processor, the following steps are realized:
- the complexity is at least used to characterize the complexity of the texture in the air domain and the intensity of the motion in the domain;
- the real-time encoding code rate is the encoding code rate of the pre-encoded data frame of the data frame to be encoded
- the encoding parameters are adjusted.
- the real-time coding rate is the coding rate of the pre-coded data frame to be coded; the coding parameters are adjusted according to the real-time coding rate and the complexity of the data frame to be coded.
- the encoding parameters are adjusted according to the real-time encoding bit rate and complexity, different real-time encoding bit rates and complexity can correspond to different encoding parameters, so that the encoding parameters can be applied to different scenarios, and therefore, their adaptability is high.
- FIG. 1 is an application environment diagram of an encoding data processing method in an embodiment
- FIG. 2 is a schematic flowchart of an encoding data processing method in an embodiment
- FIG. 3 is a schematic diagram of the working principle of a method for processing encoded data according to a specific embodiment
- FIG. 4 is a schematic flowchart of determining encoding parameters of an encoding data processing method in a specific embodiment
- FIG. 5 is a structural block diagram of an encoded data processing device in an embodiment
- FIG. 6 is a structural block diagram of a computer device in an embodiment
- FIG. 7 is a structural block diagram of a computer device in another embodiment.
- FIG. 1 is an application environment diagram of an encoding data processing method in an embodiment.
- the coded data processing method can be applied to the application environment shown in FIG. 1.
- the first terminal 102 and the second terminal 104 communicate with the server 106 through the network.
- the coded data processing method may run on the first terminal 102, and the first terminal 102 determines the coding parameters through the coded data processing method, and encodes the data frame to be coded according to the coding parameters to obtain the coded code stream.
- the encoded code stream can be sent to the server 106 through the network.
- the server 106 forwards the encoded code stream to the second terminal 104, and the second terminal 104 decodes and plays the encoded code stream.
- the encoded data processing method may run on the server 106, and the server 106 determines the encoding parameters through the encoded data processing method, and encodes the encoded data frame according to the encoding parameters to obtain an encoded code stream, which may be passed through the network
- the encoded code stream is sent to the first terminal 102, and the first terminal 102 decodes and plays the encoded code stream.
- the first terminal 102 and the second terminal 104 may be, but not limited to, various personal computers, notebook computers, smart phones, tablets, and portable wearable devices, and the server 106 may be an independent server or a server composed of multiple servers Cluster.
- a method for processing encoded data is provided.
- the method may run on an execution device, which may refer to the first terminal 102 in FIG. 1 or may refer to the server 106 running in FIG. 1, which is not limited in this embodiment of the present application.
- the coded data processing method includes the following steps:
- the data frame to be encoded is a data frame that needs to be encoded.
- the data frame to be encoded can be obtained by the execution device through acquisition.
- the data frame to be coded can also be transmitted to the execution device through various channels after being collected by other devices.
- the execution device After the execution device stores the data frame to be coded, the execution device obtains the data frame to be coded from the memory when executing the method.
- the execution device is a device that executes the method.
- the complexity includes the complexity of the spatiotemporal domain, and the complexity of the spatiotemporal domain includes the complexity of the texture of the spatial domain and the violent degree of motion in the domain. That is to say, the complexity of the data frame to be encoded is at least used to characterize the texture complexity of the spatial domain and the intensity of the motion in the domain.
- the complexity of the data frame to be encoded may include spatial information (SI, Spatial Information) or / and temporal information (TI, Temporal Information) of the data frame to be encoded.
- SI Spatial Information
- TI Temporal Information
- the spatial information is used to characterize the amount of spatial detail of a frame of image, and the more complex the spatial image, the higher the SI value.
- Time information is used to characterize the time variation of video sequences. Video sequences with a higher degree of motion generally have higher TI values.
- the complexity may include a rate distortion loss (RDCost, Rate DistortionCost) based on the data frame to be encoded.
- Rate distortion loss is a parameter that measures bit rate and distortion in video encoding.
- the complexity of the data frame to be encoded may refer to the best RDCost within and between frames predicted based on the data frame to be encoded.
- the real-time coding rate is the coding rate of the pre-coded data frame to be coded.
- the real-time encoding bit rate may be the real-time encoding bit rate of the pre-encoded data frame of the data frame to be encoded.
- the real-time encoding bit rate may be the encoding bit rate in the encoder that encodes based on the previous encoding parameters when the execution device executes the method.
- the real-time encoding code rate can be determined by the encoding code stream corresponding to the previously encoded data frame of the data frame to be encoded.
- the pre-encoded data frame is a data frame that is before the data frame to be encoded and has been encoded based on the previous encoding parameters.
- the encoding parameters can be the encoding frame rate and encoding bit rate.
- the encoding frame rate is the number of data frames encoded per second, and the basic unit is fps (frame per second, frames per second).
- the code rate is the code rate of the encoded data frame.
- Code rate also known as bit rate, refers to the number of bits transmitted per second.
- the basic unit of the coding bit rate is bps (bit per second). The higher the coding bit rate, the faster the data transmission speed.
- the coding parameter may also be a quantization parameter (QP, Quantization Parameter). Adjusting encoding parameters is adjusting quantization parameters.
- the quantization parameter here refers to the quantization parameter to be adjusted.
- the quantization parameter may refer to the serial number corresponding to the quantization step. For example, in H.264 / MPEG-4 AVC (Moving Picture Group-4 Advanced Video Coding), there are 52 values for the quantization step size, then the value of the quantization parameter is 0 to 51 The value of each quantization parameter is used to identify one of the 52 quantization steps.
- the quantization parameter may also be a parameter involved in the process of quantizing the video frame. Quantization is the process of mapping the continuous values of a signal into multiple discrete amplitudes, and achieving a many-to-one mapping of signal values.
- the quantization parameter may also be a parameter indicating quantization accuracy. Among them, the quantization parameter has a negative correlation with the quantization accuracy. That is, the smaller the quantization parameter, the finer the quantization, the better the picture quality at this time, and the lower the compression ratio of the data; the larger the quantization parameter, the rougher the quantization, the poorer the picture quality and the higher the compression .
- adjusting encoding parameters may include at least one of the following:
- the first quantization parameter is obtained by reducing the first quantization parameter based on the basic quantization parameter.
- the basic quantization parameter is the default value of the preset quantization parameter, which can be set according to experience.
- the first adjustment parameter may be less than 0. In this way, the first quantization parameter can be conveniently obtained through addition operation to improve efficiency. Understandably, the first adjustment parameter may also be greater than zero.
- the basic quantization parameter is used as the quantization parameter to be adjusted
- the process of adjusting the basic quantization parameter is the process of adjusting the quantization parameter to be adjusted. That is to say, in this case, the process of adjusting the quantization parameter to be adjusted is as follows: adjusting on the basis of the basic quantization parameter according to the first adjustment parameter.
- the first quantization parameter obtained according to the foregoing adjustment process is the adjusted quantization parameter obtained when the first reference condition is satisfied.
- the second quantization parameter is obtained by adjusting the large adjustment parameter based on the basic quantization parameter according to the second adjustment parameter.
- the second adjustment parameter is greater than 0. In this way, the second quantization parameter can be conveniently obtained through addition operation to improve efficiency.
- the basic quantization parameter is used as the quantization parameter to be adjusted
- the process of adjusting the basic quantization parameter is the process of adjusting the quantization parameter to be adjusted. That is to say, in this case, the process of adjusting the quantization parameter to be adjusted is: on the basis of the basic quantization parameter, adjust according to the second adjustment parameter.
- the second quantization parameter obtained according to the above adjustment process is the adjusted quantization parameter obtained when the second reference condition is satisfied.
- the third quantization parameter is obtained by adjusting the large adjustment parameter based on the basic quantization parameter according to the third adjustment parameter.
- the third adjustment parameter is smaller than the second adjustment parameter.
- the basic quantization parameter is used as the quantization parameter to be adjusted
- the process of adjusting the basic quantization parameter is the process of adjusting the quantization parameter to be adjusted. That is to say, in this case, the process of adjusting the quantization parameter to be adjusted is: adjusting on the basis of the basic quantization parameter according to the third adjustment parameter.
- the third quantization parameter obtained according to the above adjustment process is the adjusted quantization parameter obtained when the third reference condition is satisfied.
- the adjustment quantization parameter is equal to the basic quantization parameter.
- the quantization parameter remains unchanged. That is, the value of the quantization parameter corresponding to the data frame to be encoded is equal to the value of the quantization parameter of the previous encoded data frame.
- the first reference condition may be that the real-time encoding code rate is less than the first encoding code rate, and the complexity of the data frame to be encoded is less than the first complexity.
- the second reference condition may be: the real-time encoding bit rate is greater than the fourth encoding bit rate, and the complexity of the data frame to be encoded is greater than the third complexity level; wherein, the first encoding bit rate is less than the fourth encoding bit rate, and the first complex The degree is less than the third degree of complexity.
- the third reference condition may be: the first reference condition and the second reference condition are not satisfied, and the real-time coding rate is greater than the third coding rate, the complexity of the data frame to be encoded is greater than the third complexity, and the quantization parameter is not equal to Based on the basic quantization parameter, the parameter adjusted according to the second adjustment parameter is increased.
- the third encoding bit rate is less than the fourth encoding bit rate and greater than the first encoding bit rate.
- the fourth reference condition may be: the third reference condition is not satisfied, and the real-time coding rate is greater than the second coding rate, the complexity of the data frame to be encoded is greater than the second complexity, and the quantization parameter is less than the basic quantization parameter.
- the second coding rate is greater than the first coding rate and less than the third coding rate; the second complexity is greater than the first complexity and less than the third complexity.
- the fifth reference condition may be: the fourth reference condition is not satisfied, the real-time encoding bit rate is less than the second encoding bit rate, the complexity of the data frame to be encoded is less than the second complexity, and the quantization parameter is greater than the basic quantization parameter.
- the manner of adjusting the encoding parameters may also be the manner involved in subsequent embodiments.
- the encoding parameters are adjusted according to the real-time encoding bit rate and complexity, and different real-time encoding bit rates and complexity can correspond to different encoding parameters, so that the encoding parameters can be applied to different scenarios, and therefore, their adaptability is high.
- the performance requirements are high, and the frame rate cannot be too low.
- factors such as the difference between the actual coding rate and the target rate, the complexity of the current scene, and other factors can be comprehensively adjusted to adaptively adjust the quantization parameters.
- the encoding data processing method of this embodiment obtain the data frame to be encoded; determine the complexity of the data frame to be encoded, the complexity is at least used to characterize the complexity of the texture in the air domain and the severity of the motion in the domain; obtain the real-time coding rate, real-time coding code
- the rate is the coding rate of the pre-coded data frame to be coded; the coding parameters are adjusted according to the real-time coding rate and the complexity of the data frame to be coded. Since the encoding parameters are adjusted according to the real-time encoding bit rate and complexity, different real-time encoding bit rates and complexity can correspond to different encoding parameters, so that the encoding parameters can be applied to different scenarios, and therefore, their adaptability is high.
- the encoding parameters include quantization parameters; adjusting the encoding parameters according to the real-time encoding bit rate and the complexity of the data frame to be encoded, including: acquiring the target encoding bit rate; according to the target encoding bit rate, real-time encoding bit rate and Adjust the quantization parameter according to the complexity of the data frame to be encoded.
- the target encoding code rate may be the encoding code rate fed back by the target device, and the target device may be the server or the target receiving terminal.
- the target coding rate may be the coding rate to be encoded in the data frame to be encoded.
- the target encoding code rate can be determined through a preset strategy, and the target encoding code rate can be obtained; the determined target encoding code rate can also be stored to the memory, and the target encoding code can be obtained by reading the memory rate.
- the target encoding code rate may be obtained by receiving the target encoding code rate determined and sent by the server through a preset strategy.
- the quantization parameter is adjusted according to the target encoding code rate, the real-time encoding code rate, and the complexity of the data frame to be encoded.
- Different target coding rate, real-time coding rate and complexity can correspond to different coding parameters, so that the coding parameters can be applied to more different scenarios. Therefore, the adaptability of the encoded data processing can be further improved.
- the quantization parameter is adjusted according to the target encoding bit rate, real-time encoding bit rate and the complexity of the data frame to be encoded, including any of the following cases:
- the quantization parameter is adjusted down.
- the reference complexity is used to measure the complexity of the data frame to be encoded.
- the reference complexity can be set according to experience.
- the reference complexity can be expressed by a preset complexity value.
- When the real-time encoding bit rate is less than the target encoding bit rate and the complexity is less than the reference complexity it is generally a static scene, which has high requirements on the picture clarity and is not sensitive to the frame rate. Increase, and the encoding frame rate decreases. In this way, it is possible to obtain a balance between image quality and coding rate under the condition of limited bandwidth.
- adjusting the quantization parameter according to the target encoding bit rate, real-time encoding bit rate and the complexity of the data frame to be encoded includes: determining at least one bit rate threshold according to the target encoding bit rate; The relationship between the size of the bit rate threshold and the relationship between the complexity of the data frame to be encoded and the reference complexity adjusts the quantization parameter.
- At least one code rate threshold may be determined based on the target code rate.
- the target encoding code rate may be used as the code rate threshold, or the target code rate may be converted to a preset strategy to obtain the code rate threshold.
- the code rate can be divided into two ranges.
- the code rate may be divided into at least three ranges based on the target encoding code rate. It is possible to determine not less than two code rate thresholds according to the target code rate and the preset strategy. For example, the values corresponding to 0.5 times, 1 times and 2 times the target code rate can be used as the three code rate thresholds.
- the at least one code rate threshold may divide the code rate into at least two ranges.
- the range to which the real-time encoding bit rate belongs can be determined according to the magnitude relationship between the real-time encoding bit rate and the code rate threshold.
- the number of reference complexity levels is at least 1, and the complexity value can be divided into at least two ranges.
- the scope of the complexity can be determined according to the magnitude relationship between the complexity of the data frame to be encoded and the reference complexity.
- the quantization parameter can be adjusted according to the range to which the real-time coding rate belongs and the range to which the complexity belongs. In this way, the quantization parameter can be adjusted according to the magnitude relationship between the real-time encoding bit rate and the code rate threshold, and the magnitude relationship between the complexity of the data frame to be encoded and the reference complexity.
- the quantization parameter can be adjusted according to the magnitude relationship between the real-time encoding bit rate and the code rate threshold, and the magnitude relationship between the complexity of the data frame to be encoded and the reference complexity. Therefore, different quantization parameters can be obtained when the size relationship between the real-time coding bit rate and the code rate threshold is different, and the size relationship between the complexity of the data frame to be encoded and the reference complexity is different, thereby improving the adaptability of encoding data processing .
- the quantization parameter is adjusted according to the size relationship between the real-time encoding bit rate and the code rate threshold, and the relationship between the complexity of the data frame to be encoded and the reference complexity, including: When the complexity of the data frame satisfies the first reference condition, the first quantization parameter is obtained by reducing the first quantization parameter based on the basic quantization parameter.
- the first reference condition includes: the real-time coding rate is less than the first code rate threshold, and the complexity of the data frame to be encoded is less than the first reference complexity.
- the basic quantization parameter is the default value of the preset quantization parameter and can be set according to experience.
- the basic quantization parameter is used as the quantization parameter to be adjusted
- the process of adjusting the basic quantization parameter is the process of adjusting the quantization parameter to be adjusted. That is to say, in this embodiment, the process of adjusting the quantization parameter to be adjusted is as follows: adjusting on the basis of the basic quantization parameter according to the first adjustment parameter.
- the first quantization parameter obtained according to the foregoing adjustment process is the adjusted quantization parameter obtained when the first reference condition is satisfied.
- the code rate threshold includes at least a first code rate threshold.
- the first quantization parameter can be obtained by adding and subtracting the operation according to the first adjustment parameter on the basis of the basic quantization parameter.
- the first adjustment parameter may be less than 0. In this way, the first quantization parameter can be conveniently obtained through addition operation to improve efficiency. Understandably, the first adjustment parameter may also be greater than 0. In this case, the first quantization parameter may be obtained by reducing the first adjustment parameter on the basis of the basic quantization parameter by means of subtraction.
- the quantization parameter is adjusted to be equal to the basic quantization parameter and the first Adjust the sum or difference of parameters.
- the real-time encoding bit rate is less than the first bit rate threshold and the complexity of the data frame to be encoded is less than the first reference complexity
- the single-frame clarity is improved and the encoding frame rate is reduced. Therefore, the adaptability of the encoded data processing is improved.
- adjusting the quantization parameter according to the size relationship between the real-time encoding bit rate and the code rate threshold, and the relationship between the complexity of the data frame to be encoded and the reference complexity and further includes: When the complexity of the encoded data frame satisfies the second reference condition, the second quantization parameter is obtained based on the basic quantization parameter and adjusted up according to the second adjustment parameter.
- the second reference condition includes: the real-time coding rate is greater than the second code rate threshold, and the complexity of the data frame to be encoded is greater than the second reference complexity.
- the first code rate threshold is less than the second code rate threshold, and the first reference complexity is less than the second reference complexity.
- the basic quantization parameter is used as the quantization parameter to be adjusted
- the process of adjusting the basic quantization parameter is the process of adjusting the quantization parameter to be adjusted. That is to say, in this embodiment, the process of adjusting the quantization parameter to be adjusted is: on the basis of the basic quantization parameter, it is adjusted up according to the second adjustment parameter.
- the second quantization parameter obtained according to the above adjustment process is the adjusted quantization parameter obtained when the second reference condition is satisfied.
- the code rate threshold includes a first code rate threshold and a second code rate threshold.
- the first reference condition is determined, if the first reference condition is not met, it may be determined whether the second reference condition is met. That is, when the real-time encoding bit rate and the complexity of the data frame to be encoded do not satisfy the first reference condition, it is determined whether the second reference condition is met, that is, if it is determined that the real-time encoding bit rate is greater than the second bit rate threshold, and the If the complexity is greater than the second reference complexity, the second adjustment parameter is increased on the basis of the basic quantization parameter to obtain the second quantization parameter, so that the encoding frame rate is not too low, and the encoding bit rate can be effectively reduced. In this way, the fluency of the playback of the encoded data can be ensured, and in the case of limited bandwidth, the balance between the image quality and the encoding bit rate is obtained. Thereby further improving the adaptability of encoding data processing.
- the determination of the second reference condition may also be determined before the determination of the first reference condition.
- adjusting the quantization parameter according to the size relationship between the real-time encoding bit rate and the code rate threshold, and the relationship between the complexity of the data frame to be encoded and the reference complexity and further includes: When the complexity of the encoded data frame satisfies the third reference condition, the third adjustment parameter is increased according to the third adjustment parameter based on the basic quantization parameter to obtain the third quantization parameter.
- the third reference condition includes: the first reference condition and the second reference condition are not met, the real-time coding rate is greater than the third code rate threshold, the complexity of the data frame to be encoded is greater than the second reference complexity, and the quantization parameter is not equal to Based on the basic quantization parameter, the parameter adjusted according to the second adjustment parameter is increased.
- the third code rate threshold is smaller than the second code rate threshold and larger than the first code rate threshold; the third adjustment parameter is smaller than the second adjustment parameter.
- the basic quantization parameter is used as the quantization parameter to be adjusted
- the process of adjusting the basic quantization parameter is the process of adjusting the quantization parameter to be adjusted. That is to say, in the present embodiment, the process of adjusting the quantization parameter to be adjusted is: on the basis of the basic quantization parameter, adjust it according to the third adjustment parameter.
- the third quantization parameter obtained according to the above adjustment process is the adjusted quantization parameter obtained when the third reference condition is satisfied.
- the code rate threshold includes a first code rate threshold, a second code rate threshold, and a third code rate threshold.
- the real-time encoding bit rate and the complexity of the data frame to be encoded do not satisfy the first reference condition and the second reference condition, if the real-time encoding bit rate is determined to be greater than the third bit rate threshold, the complexity of the data frame to be encoded is For the second reference complexity level, the quantization parameter is not equal to the parameter adjusted according to the second adjustment parameter based on the basic quantization parameter, and then adjusted according to the third adjustment parameter based on the basic quantization parameter to obtain the third quantization parameter.
- the third adjustment parameter greater than the second adjustment parameter can be adjusted based on the basic quantization parameter. Large, get the third quantization parameter. In this way, it is possible to obtain a balance between image quality and coding rate under the condition of limited bandwidth. Thereby further improving the applicability of coded data processing.
- adjusting the quantization parameter according to the size relationship between the real-time encoding bit rate and the code rate threshold, and the relationship between the complexity of the data frame to be encoded and the reference complexity and further includes: When the complexity of the encoded data frame satisfies the fourth reference condition, the adjusted quantization parameter is equal to the basic quantization parameter.
- the fourth reference condition includes: the third reference condition is not satisfied, the real-time coding rate is greater than the fourth code rate threshold, the complexity of the data frame to be encoded is greater than the third reference complexity, and the quantization parameter is less than the basic quantization parameter.
- the fourth bit rate threshold is greater than the first bit rate threshold and less than the third bit rate threshold; the third reference complexity is greater than the first reference complexity and less than the second reference complexity.
- the code rate threshold includes a first code rate threshold, a second code rate threshold, a third code rate threshold, and a fourth code rate threshold.
- the real-time coding rate and the complexity of the data frame to be coded do not satisfy the first reference condition, the second reference condition, and the third reference condition at the same time, if the real-time coding rate is determined to be greater than the fourth code rate threshold, the data frame to be coded
- the complexity is greater than the third reference complexity, and the quantization parameter is less than the basic quantization parameter, then the adjusted quantization parameter is equal to the basic quantization parameter. In this way, the applicability of coded data processing is further improved.
- the quantization parameter is adjusted according to the size relationship between the real-time coding rate and the code rate threshold, and the relationship between the complexity of the data frame to be encoded and the reference complexity, and one of the following two cases is also included :
- the adjustment quantization parameter is equal to the basic quantization parameter.
- the fifth reference condition includes: the fourth reference condition is not satisfied, the real-time coding rate is less than the fourth code rate threshold, the complexity of the data frame to be encoded is less than the third reference complexity, and the quantization parameter is greater than the basic quantization parameter.
- the unchanged quantization parameter may mean that the value of the quantization parameter corresponding to the data frame to be encoded is equal to the value of the quantization parameter of the previous encoded data frame.
- the real-time encoding bit rate and the complexity of the data frame to be encoded do not satisfy the first reference condition, the second reference condition, the third reference condition, and the fourth reference condition at the same time, if it is determined that the real-time encoding bit rate is less than the fourth bit rate threshold , The complexity of the data frame to be encoded is less than the third reference complexity, and the quantization parameter is greater than the basic quantization parameter, then the adjusted quantization parameter is equal to the basic quantization parameter; otherwise, the quantization parameter is unchanged. Thereby further improving the adaptability of encoding data processing.
- determining the complexity of the data frame to be encoded includes: when the data frame to be encoded does not satisfy the static frame skip condition, determining the complexity of the data frame to be encoded; when the data frame to be encoded and the previous data Frame, when the condition of still frame skipping is satisfied, return to the step of obtaining the data frame to be encoded.
- the static frame skip condition may include: the data frame to be encoded is the same as the previous encoded data frame; the time interval between the data frame to be encoded and the previous encoded data frame is less than or equal to the reference time interval.
- the previous encoded data frame is a data frame that is continuous with the data frame to be encoded and has been encoded before the data frame to be encoded.
- the static frame skip condition is not satisfied when the data frame to be coded is different from the previous coded data frame, or the time interval between the data frame to be coded and the previous coded data frame is greater than the reference time interval.
- the static frame skip condition is satisfied.
- the reference time interval is a preset time interval, and the reference time interval may be set according to experience, which is not limited in this embodiment.
- the complexity of the data frame to be encoded is determined only when the frame skipping condition is not satisfied. Otherwise, there is no need to determine the complexity of the data frame to be coded, and return to the step of obtaining the data frame to be coded, and there is no need to encode the data frame to be coded that satisfies the static frame skip condition. In this way, resources and bandwidth can be saved, thereby further improving the adaptability of encoding data processing.
- acquiring the data frame to be encoded includes: acquiring the data frame to be encoded based on the screen image.
- the data frame to be coded based on the screen image may be a video frame played in full screen or a data frame obtained by screen capture.
- a screen image intercepted at a reference acquisition frame rate is used as the data frame to be coded.
- the collection frame rate is the number of data frames collected per second in fps (frames per second).
- the encoding data processing method is applied to the field of wireless projection. Since the wireless projection screen displays data frames, there are different requirements for real-time and clarity in different scenarios. Different complexity can correspond to different encoding parameters, which can make the encoding The improvement of data processing adaptability is more obvious.
- the method further includes:
- the data frame to be encoded is encoded to obtain an encoded code stream.
- the encoded data frame can be encoded by the encoder to obtain an encoded code stream.
- the adjusted encoding parameters corresponding to the data frame to be encoded can be input to the encoder, and the encoder encodes the data frame to be encoded.
- encoding is performed according to the obtained adjusted encoding parameters to obtain an encoded code stream. Therefore, the coded code stream can be adapted to different scenarios, and the applicability of the coded code stream is improved.
- the data frame to be encoded is encoded to obtain the encoded code stream, and further includes sending the encoded code stream.
- the coded code stream can be sent to the server or to the client terminal.
- the execution device is the first terminal 102 shown in FIG. 1
- the encoded code stream may be sent to the server 106 and forwarded to the second terminal 104 by the server 106.
- the execution device is a server as shown in FIG. 1, the coded code stream may be sent to the second terminal 104.
- the encoding parameters can be changed according to the complexity of the data frame to be encoded, so as to be suitable for different scenarios, not to meet the requirements of various scenes with high definition and high real-time performance at the same time, so that the encoding bit rate and encoding frame rate At the same time demanding conditions that do not change. Therefore, after encoding the encoding parameters based on the adjusted encoding parameters to obtain the encoding code stream, the transmitted encoding code stream can save bandwidth.
- the method further includes: receiving a wireless screen projection instruction, and the wireless screen projection instruction carries the target terminal identifier.
- Sending the coded code stream includes: sending the coded code stream according to the target terminal identifier.
- the wireless screen casting instruction may be received at the client terminal.
- the triggering method used to receive the wireless screen projection instruction may include: triggering a preset button on the touch screen, drawing a preset pattern on the touch screen, and pressing the preset button on the execution device.
- the target terminal identifier is used to identify the target terminal for screen projection.
- the execution device in this embodiment is a sending terminal for screen projection. According to the target terminal identification, send the encoded code stream to the server. During wireless screen projection, the encoded code stream sent by the sending terminal can be forwarded by the server. During its forwarding, the encoded code stream needs to be forwarded according to the target terminal identification.
- the encoding parameters can be changed according to the complexity of the data frame to be encoded, so as to be suitable for different scenes, it is not to meet the requirements of various scenes with high definition and high real-time performance at the same time, so that the encoding rate and encoding At the same time, the frame rate is very high without changing.
- the first terminal needs to send the data to be screened to the server, and the server forwards the data to the second terminal. Therefore, after the encoded data stream is encoded based on the adjusted encoding parameters to obtain the encoded code stream, the transmitted encoded code stream can save bandwidth, especially suitable for wireless screen projection scenarios, can save upstream bandwidth, and is suitable for scenarios where the upstream bandwidth is limited . Therefore, the adaptability of the encoded data processing can be further improved.
- the encoding data processing method includes:
- the frame skip condition includes: the data frame to be encoded is the same as the previous encoded data frame, and the time interval between the data frame to be encoded and the previous encoded data frame is less than or equal to the reference time interval;
- adjusting the quantization parameter according to the relationship between the real-time encoding bit rate and the bit rate threshold and the relationship between the complexity of the data frame to be encoded and the reference complexity can include:
- the first adjustment is based on the basic quantization parameter (which can be represented by QPbase)
- the parameter (which can be expressed by delta1) is reduced to obtain the first quantization parameter (which can be expressed by QP base + delta1).
- the first reference condition includes: the real-time encoding bit rate is less than the first bit rate threshold (which can be represented by BR_low_Th), and the complexity of the data frame to be encoded is less than the first reference complexity (which can be represented by Scene_low_Th).
- the basic quantization parameter at this time is the quantization parameter to be adjusted.
- the second quantization parameter (which can be used QP base + delta2 means).
- the second reference condition includes: the real-time encoding bit rate is greater than the second bit rate threshold (which can be represented by BR_veryhigh_Th), and the complexity of the data frame to be encoded is greater than the second reference complexity (which can be represented by Scene_high_Th); what needs to be explained is
- the basic quantization parameter is the quantization parameter to be adjusted.
- the third quantization parameter (which can be used QP base + delta3);
- the third reference condition includes: the first reference condition and the second reference condition are not met, the real-time coding rate is greater than the third code rate threshold (which can be expressed by BR_high_Th), and the complexity of the data frame to be encoded is greater than
- the quantization parameter is not equal to the parameter adjusted according to the second adjustment parameter on the basis of the basic quantization parameter (which can be expressed by QP old ⁇ QP base + delta2); it should be noted that the basic quantization at this time
- the parameter is the quantization parameter to be adjusted.
- the quantization parameter is adjusted to be equal to the basic quantization parameter;
- the first bit rate threshold is less than the second bit rate threshold; the third bit rate threshold is less than the second bit rate threshold, greater than the first bit rate threshold; the fourth bit rate threshold is greater than the first bit rate threshold, less than the third bit rate Threshold; that is, BR_low_Th ⁇ BR_mid_Th ⁇ BR_high_Th ⁇ BR_veryhigh_Th; the third reference complexity is greater than the first reference complexity and less than the second reference complexity; the first reference complexity is less than the second reference complexity; that is, Scene_low_Th ⁇ Scene_mid_Th ⁇ Scene_high_Th .
- the first adjustment parameter is less than 0, the second adjustment parameter and the third adjustment parameter are greater than 0, and the third adjustment parameter is less than the second adjustment parameter; that is, delta1 ⁇ 0, delta2> 0, delta3> 0, And delta1 ⁇ delta3 ⁇ delta2.
- MTF50P represents the frequency value corresponding to 50% of the peak value (Peak Value) of MTF (Modulation Transfer Function), which is a parameter to measure the sharpness of the image. Therefore, when it is used for wireless projection, it can be adapted to many different scenarios, and can ensure that the user sees a clear and smooth picture, while saving unnecessary bandwidth.
- steps in the flowcharts of FIGS. 2, 3, and 4 are displayed in order according to the arrows, the steps are not necessarily executed in the order indicated by the arrows. Unless clearly stated in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least some of the steps in FIGS. 2, 3, and 4 may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but may be executed at different times. These sub-steps Or the execution order of the stages is not necessarily sequential, but may be executed in turn or alternately with other steps or sub-steps of the other steps or at least a part of the stages.
- an encoded data processing device running on the server 106 or the first terminal 102 in FIG. 1 including:
- the data frame obtaining module 502 is used to obtain a data frame to be encoded
- the complexity determination module 504 is used to determine the complexity of the data frame to be encoded, and the complexity is at least used to characterize the complexity of the spatial texture and the intensity of the motion in the domain;
- the real-time code rate obtaining module 506 is used to obtain a real-time coding rate, which is the coding rate of the pre-encoded data frame of the data frame to be coded;
- the encoding parameter adjustment module 508 is configured to adjust encoding parameters according to the real-time encoding bit rate and the complexity of the data frame to be encoded.
- the data frame to be coded is obtained; the complexity of the data frame to be coded is determined, and the complexity is at least used to characterize the texture complexity of the air domain and the intensity of the motion in the domain; obtain the real-time coding rate and real-time coding
- the rate is the coding rate of the pre-coded data frame to be coded; the coding parameters are adjusted according to the real-time coding rate and the complexity of the data frame to be coded. Since the encoding parameters are adjusted according to the real-time encoding bit rate and complexity, different real-time encoding bit rates and complexity can correspond to different encoding parameters, so that the encoding parameters can be applied to different scenarios, and therefore, their adaptability is high.
- the encoding parameter includes a quantization parameter; the device further includes a target code rate acquisition module;
- the target code rate acquisition module is used to obtain the target code rate
- An encoding parameter adjustment module is used to adjust the quantization parameter according to the target encoding code rate, the real-time encoding code rate, and the complexity of the data frame to be encoded.
- the encoding parameter adjustment module is used in any of the following situations:
- the quantization parameter is adjusted down.
- the encoding parameter adjustment module is configured to determine at least one code rate threshold according to the target encoding code rate; and according to the magnitude relationship between the real-time encoding code rate and the code rate threshold, and the pending The relationship between the complexity of the encoded data frame and the reference complexity, and adjusting the quantization parameter.
- the encoding parameter adjustment module is configured to, according to the first adjustment based on the basic quantization parameter, when the real-time encoding bit rate and the complexity of the data frame to be encoded satisfy the first reference condition
- the parameter is reduced to obtain a first quantization parameter;
- the first reference condition includes: the real-time coding rate is less than a first code rate threshold, and the complexity of the data frame to be encoded is less than the first reference complexity.
- the encoding parameter adjustment module is further configured to, based on the basic quantization parameter, when the real-time encoding bit rate and the complexity of the data frame to be encoded satisfy the second reference condition
- the second adjustment parameter is increased to obtain a second quantization parameter
- the second reference condition includes: the real-time encoding bit rate is greater than the second bit rate threshold, and the complexity of the data frame to be encoded is greater than the second reference complexity
- the first bit rate threshold is less than the second bit rate threshold, and the first reference complexity is less than the second reference complexity.
- the encoding parameter adjustment module is further configured to, based on the basic quantization parameter, when the real-time encoding bit rate and the complexity of the data frame to be encoded satisfy the third reference condition
- the third adjustment parameter is increased to obtain a third quantization parameter
- the third reference condition includes: the first reference condition and the second reference condition are not satisfied, and the real-time encoding code rate is greater than a third code rate threshold,
- the complexity of the data frame to be encoded is greater than the second reference complexity, and the quantization parameter is not equal to the parameter adjusted according to the second adjustment parameter based on the basic quantization parameter; wherein, the third code rate The threshold is smaller than the second code rate threshold and larger than the first code rate threshold; the third adjustment parameter is smaller than the second adjustment parameter.
- the encoding parameter adjustment module is further used to adjust the quantization parameter equal to the basic quantization when the real-time encoding bit rate and the complexity of the data frame to be encoded satisfy the fourth reference condition Parameters;
- the fourth reference condition includes: the third reference condition is not met, the real-time coding rate is greater than the fourth code rate threshold, and the complexity of the data frame to be encoded is greater than the third reference complexity, the The quantization parameter is smaller than the basic quantization parameter;
- the fourth code rate threshold is greater than the first code rate threshold and less than the third code rate threshold; the third reference complexity is greater than the first reference complexity and less than the second reference complexity.
- the encoding parameter adjustment module is further used to adjust the quantization parameter equal to the basic quantization when the real-time encoding bit rate and the complexity of the data frame to be encoded satisfy the fifth reference condition Parameters; when the real-time encoding bit rate and the complexity of the data frame to be encoded do not satisfy the fifth reference condition, the quantization parameter remains unchanged; wherein, the fifth reference condition includes: In the fourth reference condition, the real-time encoding bit rate is less than the fourth bit rate threshold, the complexity of the data frame to be encoded is less than the third reference complexity, and the quantization parameter is greater than the basic quantization parameter.
- the complexity determination module is configured to determine the complexity of the data frame to be encoded when the data frame to be encoded does not satisfy the static frame skip condition.
- the complexity determination module is configured to return to the step of acquiring the data frame to be encoded when the data frame to be encoded satisfies the still frame skip condition.
- the Still frame skip condition when the data frame to be coded is different from the previous coded data frame, or the time interval between the data frame to be coded and the previous coded data frame is greater than the reference time interval, the Still frame skip condition.
- the data frame acquisition module is used to acquire the data frame to be encoded based on the screen image.
- the device further includes a data encoding module, configured to encode the data frame to be encoded according to the adjusted encoding parameters to obtain an encoded code stream.
- the device further includes a projection instruction receiving module and an encoded code stream sending module;
- the screen projection instruction receiving module is used to receive a wireless screen projection instruction before the data frame acquisition module acquires the data frame to be encoded, the wireless screen projection instruction carrying the target terminal identifier;
- the coded code stream sending module is used to send the coded code stream according to the target terminal identifier.
- a computer device is provided.
- the computer device may be a server, and its internal structure may be as shown in FIG. 6.
- the computer device includes a processor, memory, and network interface connected by a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities.
- the memory of the computer device includes a non-volatile storage medium and an internal memory.
- the non-volatile storage medium stores an operating system and computer programs.
- the internal memory provides an environment for the operating system and computer programs in the non-volatile storage medium.
- the network interface of the computer device is used to communicate with external terminals through a network connection. When the computer program is executed by the processor, an encoding data processing method is realized.
- a computer device is provided.
- the computer device may be a terminal, and an internal structure diagram thereof may be as shown in FIG. 7.
- the computer equipment includes a processor, a memory, a network interface, a display screen, and an input device connected through a system bus.
- the processor of the computer device is used to provide computing and control capabilities.
- the memory of the computer device includes a non-volatile storage medium and an internal memory.
- the non-volatile storage medium stores an operating system and computer programs.
- the internal memory provides an environment for the operating system and computer programs in the non-volatile storage medium.
- the network interface of the computer device is used to communicate with external terminals through a network connection. When the computer program is executed by the processor, an encoding data processing method is realized.
- the display screen of the computer device may be a liquid crystal display screen or an electronic ink display screen
- the input device of the computer device may be a touch layer covered on the display screen, or may be a button, a trackball or a touchpad provided on the computer device housing , Can also be an external keyboard, touchpad or mouse.
- FIGS. 6 and 7 is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied.
- the specific computer The device may include more or fewer components than shown in the figures, or combine certain components, or have a different arrangement of components.
- a computer device may be a server or a terminal, and an internal structure diagram thereof may be as shown in FIG. 6 or 7.
- the computer device includes a memory and a processor.
- the memory stores a computer program.
- the processor executes the computer program, the steps of the foregoing encoded data processing method are implemented.
- the computer device includes a memory and a processor.
- the memory stores a computer program.
- the processor executes the computer program, the following steps are implemented:
- the complexity is at least used to characterize the complexity of the texture in the air domain and the intensity of the motion in the domain;
- the real-time encoding code rate is the encoding code rate of the pre-encoded data frame of the data frame to be encoded
- the encoding parameters are adjusted.
- the encoding parameter includes a quantization parameter
- adjusting the encoding parameter according to the real-time encoding bit rate and the complexity of the data frame to be encoded includes: obtaining a target encoding bit rate; according to the The target encoding code rate, the real-time encoding code rate and the complexity of the data frame to be encoded adjust the quantization parameter.
- the adjusting the quantization parameter according to the target encoding bit rate, the real-time encoding bit rate and the complexity of the data frame to be encoded includes any of the following cases: when the When the real-time encoding bit rate is greater than the target encoding bit rate and the complexity is greater than the reference complexity, increase the quantization parameter; when the real-time encoding bit rate is less than the target encoding bit rate, the complexity is less than When referring to the complexity, the quantization parameter is adjusted down.
- the adjusting the quantization parameter according to the target encoding bit rate, the real-time encoding bit rate and the complexity of the data frame to be encoded includes: determining at least one according to the target encoding bit rate Bit rate threshold; adjust the quantization parameter according to the relationship between the real-time encoding bit rate and the bit rate threshold, and the relationship between the complexity of the data frame to be encoded and the reference complexity.
- the quantization parameter is adjusted according to the size relationship between the real-time coding rate and the code rate threshold, and the relationship between the complexity of the data frame to be encoded and the reference complexity
- the method includes: when the real-time encoding bit rate and the complexity of the data frame to be encoded satisfy the first reference condition, based on the basic quantization parameter, the first adjustment parameter is adjusted down to obtain the first quantization parameter;
- the first reference condition includes: the real-time coding rate is less than the first code rate threshold, and the complexity of the data frame to be encoded is less than the first reference complexity.
- the quantization parameter is adjusted according to the size relationship between the real-time coding rate and the code rate threshold, and the relationship between the complexity of the data frame to be encoded and the reference complexity, It also includes: when the real-time encoding bit rate and the complexity of the data frame to be encoded satisfy the second reference condition, increase the second quantization parameter according to the second adjustment parameter on the basis of the basic quantization parameter
- the second reference condition includes: the real-time encoding bit rate is greater than a second bit rate threshold, and the complexity of the data frame to be encoded is greater than a second reference complexity; the first bit rate threshold is less than the first With a second code rate threshold, the first reference complexity is less than the second reference complexity.
- the quantization parameter is adjusted according to the size relationship between the real-time coding rate and the code rate threshold, and the relationship between the complexity of the data frame to be encoded and the reference complexity, It also includes: when the real-time encoding bit rate and the complexity of the data frame to be encoded satisfy the third reference condition, increase the third quantization parameter according to the third adjustment parameter on the basis of the basic quantization parameter
- the third reference condition includes: the first reference condition and the second reference condition are not satisfied, the real-time encoding bit rate is greater than the third bit rate threshold, and the complexity of the data frame to be encoded is greater than the second
- the quantization parameter is not equal to the parameter adjusted according to the second adjustment parameter based on the basic quantization parameter; wherein, the third bit rate threshold is less than the second bit rate threshold and is greater than The first bit rate threshold; the third adjustment parameter is less than the second adjustment parameter.
- the quantization parameter is adjusted according to the size relationship between the real-time coding rate and the code rate threshold, and the relationship between the complexity of the data frame to be encoded and the reference complexity, It also includes: when the real-time encoding bit rate and the complexity of the data frame to be encoded satisfy the fourth reference condition, adjusting the quantization parameter to be equal to the basic quantization parameter; the fourth reference condition includes: not being satisfied In the third reference condition, the real-time encoding code rate is greater than a fourth code rate threshold, the complexity of the data frame to be encoded is greater than the third reference complexity, the quantization parameter is less than the basic quantization parameter; the first The fourth code rate threshold is greater than the first code rate threshold and less than the third code rate threshold; the third reference complexity is greater than the first reference complexity and less than the second reference complexity.
- the quantization parameter is adjusted according to the size relationship between the real-time coding rate and the code rate threshold, and the relationship between the complexity of the data frame to be encoded and the reference complexity, It also includes one of the following two cases: when the real-time encoding bit rate and the complexity of the data frame to be encoded satisfy the fifth reference condition, adjusting the quantization parameter is equal to the basic quantization parameter; when The real-time encoding bit rate and the complexity of the data frame to be encoded, when the fifth reference condition is not satisfied, the quantization parameter is unchanged; wherein, the fifth reference condition includes: the fourth reference is not satisfied The condition is that the real-time encoding bit rate is less than the fourth bit rate threshold, the complexity of the data frame to be encoded is less than the third reference complexity, and the quantization parameter is greater than the basic quantization parameter.
- the determining the complexity of the data frame to be encoded includes: determining the complexity of the data frame to be encoded when the data frame to be encoded does not satisfy the static frame skip condition.
- the determining the complexity of the data frame to be encoded further includes: returning to the step of acquiring the data frame to be encoded when the data frame to be encoded satisfies the still frame skip condition .
- the Still frame skip condition when the data frame to be coded is different from the previous coded data frame, or the time interval between the data frame to be coded and the previous coded data frame is greater than the reference time interval, the Still frame skip condition.
- the acquiring the data frame to be encoded includes: acquiring the data frame to be encoded based on the screen image.
- the method further includes: according to the adjusted encoding parameters, performing the data frame to be encoded Encoding to get the encoded code stream.
- the method before acquiring the data frame to be encoded, the method further includes: receiving a wireless screen projection instruction, the wireless screen projection instruction carrying a target terminal identifier;
- Said encoding the data frame to be encoded according to the adjusted encoding parameters to obtain the encoded code stream further comprising: sending the encoded code stream according to the target terminal identifier.
- a computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the foregoing encoded data processing method are implemented.
- Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory.
- Volatile memory can include random access memory (RAM) or external cache memory.
- RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous chain (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
- SRAM static RAM
- DRAM dynamic RAM
- SDRAM synchronous DRAM
- DDRSDRAM double data rate SDRAM
- ESDRAM enhanced SDRAM
- SLDRAM synchronous chain (Synchlink) DRAM
- SLDRAM synchronous chain (Synchlink) DRAM
- Rambus direct RAM
- DRAM direct memory bus dynamic RAM
- RDRAM memory bus dynamic RAM
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请涉及一种编码数据处理方法、装置、计算机设备和存储介质,获取待编码数据帧;确定待编码数据帧的复杂程度,复杂程度至少用于表征空域纹理复杂度及时域运动剧烈程度;获取实时编码码率,实时编码码率为待编码数据帧的前序已编码数据帧的编码码率;根据实时编码码率及待编码数据帧的复杂程度,调节编码参数。由于根据实时编码码率及复杂程度调节编码参数,不同的实时编码码率及复杂程度可以对应不同的编码参数,如此可以使得编码参数适用于不同的场景,因此,其适应性高。
Description
本申请要求于2018年11月14日提交的申请号为201811353718.3、发明名称为“编码数据处理方法、装置、计算机设备和存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及通信技术领域,特别是涉及一种编码数据处理方法、装置、计算机设备和存储介质。
编码是信息从一种形式或格式转换为另一种形式的过程。在需要对多媒体数据格式的编码数据进行通讯传输时,需要将编码数据进行编码,形成适宜在互联网中传输的编码码流。因此,编码在通讯方面的使用十分广泛。
传统的编码数据处理方法,根据固定的编码参数进行数据编码,难以适应不同场景需求,因此,存在适应性较差的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高适应性的编码数据处理方法、装置、计算机设备和存储介质。
一方面,提供一种编码数据处理方法,所述方法包括:
获取待编码数据帧;
确定所述待编码数据帧的复杂程度,所述复杂程度至少用于表征空域纹理复杂度及时域运动剧烈程度;
获取实时编码码率,所述实时编码码率为所述待编码数据帧的前序已编码数据帧的编码码率;
根据所述实时编码码率及所述待编码数据帧的复杂程度,调节编码参数。
在其中一实施例中,所述获取待编码数据帧,包括:获取基于屏幕图像的待编码数据帧。
在其中一实施例中,所述据所述实时编码码率及所述待编码数据帧的复杂程度,调节编码参数之后,还包括:
根据调节后的编码参数,对所述待编码数据帧进行编码,得到编码码流。
在其中一实施例中,所述获取待编码数据帧之前,还包括:接收无线投屏指令,所述无线投屏指令携带目标终端标识;
所述根据调节后的编码参数,对所述待编码数据帧进行编码,得到编码码流之后,还包括:根据所述目标终端标识,发送所述编码码流。
另一方面,提供一种编码数据处理装置,所述装置包括:
数据帧获取模块,用于获取待编码数据帧;
复杂度确定模块,用于确定所述待编码数据帧的复杂程度,所述复杂程度至少用于表征空域纹理复杂度及时域运动剧烈程度;
实时码率获取模块,用于获取实时编码码率,所述实时编码码率为所述待编码数据帧的前序已编码数据帧的编码码率;
编码参数调节模块,用于根据所述实时编码码率及所述待编码数据帧的复杂程度,调节编码参数。
另一方面,提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待编码数据帧;
确定所述待编码数据帧的复杂程度,所述复杂程度至少用于表征空域纹理复杂度及时域运动剧烈程度;
获取实时编码码率,所述实时编码码率为所述待编码数据帧的前序已编码数据帧的编码码率;
根据所述实时编码码率及所述待编码数据帧的复杂程度,调节编码参数。
另一方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待编码数据帧;
确定所述待编码数据帧的复杂程度,所述复杂程度至少用于表征空域纹理复杂度及时域运动剧烈程度;
获取实时编码码率,所述实时编码码率为所述待编码数据帧的前序已编码数据帧的编码码率;
根据所述实时编码码率及所述待编码数据帧的复杂程度,调节编码参数。
上述编码数据处理方法、装置、计算机设备和存储介质,获取待编码数据帧;确定待编码数据帧的复杂程度,复杂程度至少用于表征空域纹理复杂度及时域运动剧烈程度;获取实时编码码率,实时编码码率为待编码数据帧的前序已编码数据帧的编码码率;根据实时编码码率及待编码数据帧的复杂程度,调节编码参数。由于根据实时编码码率及复杂程度调节编码参数,不同的实时编码码率及复杂程度可以对应不同的编码参数,如此可以使得编码参数适用于不同的场景,因此,其适应性高。
图1为一个实施例中编码数据处理方法的应用环境图;
图2为一个实施例中编码数据处理方法的流程示意图;
图3为一具体实施例的编码数据处理方法的工作原理示意图;
图4为一具体实施例中,编码数据处理方法的编码参数确定的流程示意图;
图5为一个实施例中编码数据处理装置的结构框图;
图6为一个实施例中计算机设备的结构框图;
图7为另一实施例中计算机设备的结构框图。
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施方式中编码数据处理方法的应用环境图。该编码数据处理方法可应用于如图1所示的应用环境中。其中,第一终端102与第二终端104通过网络与服务器106通信。
在一实施例中,该编码数据处理方法可以运行在第一终端102上,第一终端102通过该编码数据处理方法确定编码参数,并根据编码参数对待编码数据帧进行编码得到编码码流之后,可以通过网络将该编码码流发送至服务器106。服务器106转发该编码码流至第二终端104,由第二终端104对该编码码流进行解码、播放。
在另一实施例中,该编码数据处理方法可以运行在服务器106上,服务器106通过该编码数据处理方法确定编码参数,并根据编码参数对待编码数据帧进行编码得到编码码流之后,可以通过网络将该编码码流发送至第一终端102,由第一终端102对该编码码流进行解码、播放。
其中,第一终端102、第二终端104可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器106可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
如图2所示,在一个实施例中,提供了一种编码数据处理方法。该方法可以运行于执行设备中,该执行设备可以是指图1中的第一终端102,也可以是指运行于图1中的服务器106,本申请实施例对此不加以限定。该编码数据处理方法,包括以下步骤:
S202,获取待编码数据帧。
待编码数据帧为需要进行编码的数据帧。可以由执行设备通过采集的方式获取到待编码数据帧。待编码数据帧也可以在其它设备采集了之后,通过各种途径传输到执行设备,执行设备存储该待编码数据帧之后,执行设备在执行本方法时,从存储器中获取该待编码数据帧。其中,执行设备为执行本方法的设备。
S204,确定待编码数据帧的复杂程度。
该复杂程度包括时空域复杂程度,时空域复杂程度包括空域纹理复杂度及时域运动剧烈程度。也就是说,待编码数据帧的复杂程度至少用于表征空域纹理复杂度及时域运动剧烈程度。例如,该待编码数据帧的复杂程度可以包括该待编码数据帧的空间信息(SI,Spatial Information)或/和时间信息(TI,Temporal Information)。其中,空间信息用于表征一帧图像的空间细节量,空间上越复杂的图像一般SI值越高。时间信息用于表征视频序列的时间变化量,运动程度较高的视频序列一般具有更高的TI值。
该复杂程度可以包括基于该待编码数据帧的率失真损失(RDCost,Rate Distortion Cost)。率失真损失是视频编码中衡量码率与失真的参数。例如,待编码数据帧的复杂程度可以是指基于该待编码数据帧预测得到的帧内、帧间最佳RDCost。
S206,获取实时编码码率。
实时编码码率为待编码数据帧的前序已编码数据帧的编码码率。如,该实时编码码率可以为待编码数据帧的前序已编码数据帧的实时编码码率。该实时编码码率可以为在执行设备执行本方法时,基于之前的编码参数进行编码的编码器中的编码码率。该实时编码码率可以通过待编码数据帧的前一已编码数据帧对应的编码码流确定。
前序已编码数据帧为在待编码数据帧之前的、且已经基于之前的编码参数进行编码的数据帧。
S208,根据实时编码码率及待编码数据帧的复杂程度,调节编码参数。
编码参数可以为编码帧率、编码码率。其中,编码帧率为每秒编码的数据帧的数目,基本单位为fps(frame per second,帧每秒)。编码码率为编码后数据帧的码率。码率,也称为比特率,是指每秒传送的比特(bit)数。编码码率的基本单位为bps(bit per second,比特每秒),编码码率越高,传送数据速度越快。
编码参数也可以为量化参数(QP,Quantization Parameter)。调节编码参数即为调节量化参数。此处的量化参数是指待调节的量化参数。量化参数可以是指量化步长对应的序号。比如,H.264/MPEG-4 AVC(Moving Picture Expert Group-4 Advanced Video Coding,运动图像专家组-4高级视频编码器)中量化步长有52个值,则量化参数的数值为0~51,每个量化参数的数值用于标识52个量化步长中的一个量化步长。
量化参数还可以是量化视频帧的过程中涉及的参数。量化就是把信号的连续取值映射成多个离散的幅值的过程,实现了信号取值多对一的映射。量化参数还可以是用于表示量化精度的参数。其中,量化参数与量化精度呈负相关关系。即,量化参数越小,表示量化越精细,此时的画面质量较好,数据的压缩比不高;量化参数越大,表示量化越粗糙,此时的画面质量较差,数据的压缩比较高。
根据实时编码码率及待编码数据帧的复杂程度,调节编码参数可以包括以下至少一种情况:
(1)当实时编码码率及该待编码数据帧的复杂程度,满足第一参考条件时,在基础量化参数的基础上按照第一调节参数调小,得到第一量化参数。其中,基础量化参数为预设的量化参数的默认值,可以根据经验设定。该第一调节参数可以小于0,如此,可以方便地通过加法运算得到第一量化参数,提高效率。可以理解地,该第一调节参数也可以大于0。
此种情况下,将基础量化参数作为待调节的量化参数,调节基础量化参数的过程即为调节待调节的量化参数的过程。也就是说,在此种情况下,调节待调节的量化参数的过程为:在基础量化参数的基础上按照第一调节参数调小。根据上述调节过程得到的第一量化参数为在满足第一参考条件时,得到的调节后的量化参数。
(2)当实时编码码率及该待编码数据帧的复杂程度,满足第二参考条件时,在基础量化参数的基础上按照第二调节参数调大,得到第二量化参数。该第二调节参数大于0,如此,可以方便地通过加法运算得到第二量化参数,提高效率。
此种情况下,将基础量化参数作为待调节的量化参数,调节基础量化参数的过程即为 调节待调节的量化参数的过程。也就是说,在此种情况下,调节待调节的量化参数的过程为:在基础量化参数的基础上按照第二调节参数调大。根据上述调节过程得到的第二量化参数为在满足第二参考条件时,得到的调节后的量化参数。
(3)当实时编码码率及该待编码数据帧的复杂程度,满足第三参考条件时,在基础量化参数的基础上按照第三调节参数调大,得到第三量化参数。第三调节参数小于第二调节参数。
此种情况下,将基础量化参数作为待调节的量化参数,调节基础量化参数的过程即为调节待调节的量化参数的过程。也就是说,在此种情况下,调节待调节的量化参数的过程为:在基础量化参数的基础上按照第三调节参数调大。根据上述调节过程得到的第三量化参数为在满足第三参考条件时,得到的调节后的量化参数。
(4)当实时编码码率及该待编码数据帧的复杂程度,满足第四参考条件或第五参考条件时,调节量化参数等于基础量化参数。
(5)当实时编码码率及该待编码数据帧的复杂程度,不满足第五参考条件时,量化参数不变。即该待编码数据帧对应的量化参数的值等于前一编码数据帧的量化参数的值。
第一参考条件可以为:实时编码码率小于第一编码码率,且该待编码数据帧的复杂程度小于第一复杂程度。
第二参考条件可以为:实时编码码率大于第四编码码率,且该待编码数据帧的复杂程度大于第三复杂程度;其中,第一编码码率小于第四编码码率,第一复杂程度小于第三复杂程度。
第三参考条件可以为:不满足第一参考条件及第二参考条件,且实时编码码率大于第三编码码率,该待编码数据帧的复杂程度大于第三复杂程度,量化参数不等于在基础量化参数的基础上按照第二调节参数调大后的参数。其中,第三编码码率小于第四编码码率,大于第一编码码率。
第四参考条件可以为:不满足第三参考条件,且实时编码码率大于第二编码码率,该待编码数据帧的复杂程度大于第二复杂程度,量化参数小于基础量化参数。其中,第二编码码率大于第一编码码率,小于第三编码码率;第二复杂程度大于第一复杂程度,小于第三复杂程度。
第五参考条件可以为:不满足第四参考条件,实时编码码率小于第二编码码率,该待编码数据帧的复杂程度小于第二复杂程度,且量化参数大于基础量化参数。
根据实时编码码率及待编码数据帧的复杂程度,调节编码参数的方式还可以为后续实施例中涉及的方式。
如此,根据实时编码码率及复杂程度调节编码参数,不同的实时编码码率及复杂程度可以对应不同的编码参数,如此可以使得编码参数适用于不同的场景,因此,其适应性高。如,对于静止的场景,其对画面清晰度要求较高,而对帧率不敏感,可以采用减小量化参数提升单帧清晰度、降低帧率的策略;而对于运动的场景,其对流畅性要求较高,帧率不能太低,为了有效的减小编码码率,可以综合考虑实际编码码率与目标码率的差别、当前场景复杂度等因素,自适应调整量化参数。
基于本实施例的编码数据处理方法,获取待编码数据帧;确定待编码数据帧的复杂程度,复杂程度至少用于表征空域纹理复杂度及时域运动剧烈程度;获取实时编码码率,实时编码码率为待编码数据帧的前序已编码数据帧的编码码率;根据实时编码码率及待编码数据帧的复杂程度,调节编码参数。由于根据实时编码码率及复杂程度调节编码参数,不同的实时编码码率及复杂程度可以对应不同的编码参数,如此可以使得编码参数适用于不同的场景,因此,其适应性高。
在其中一实施例中,编码参数包括量化参数;根据实时编码码率及待编码数据帧的复杂程度,调节编码参数,包括:获取目标编码码率;根据目标编码码率、实时编码码率及待编码数据帧的复杂程度,调节量化参数。
目标编码码率可以为目标设备反馈的编码码率,目标设备可以为服务器、目标接收终端。目标编码码率可以为拟对待编码数据帧进行编码的编码码率。对于运行于服务器的实施例,可以通过预设策略确定目标编码码率,而获取到目标编码码率;也可以将确定的目标编码码率存储至存储器,通过读取存储器的方式获取目标编码码率。对于运行于第一终端的实施例,可以通过接收服务器通过预设策略确定并发送的目标编码码率的方式,获取到目标编码码率。
基于本实施例的编码数据处理方法,根据目标编码码率、实时编码码率及待编码数据帧的复杂程度,调节量化参数。不同的目标编码码率、实时编码码率及复杂程度可以对应不同的编码参数,如此可以使得编码参数适用于更多不同的场景。从而可以进一步提高编码数据处理的适应性。
在其中一实施例中,根据目标编码码率、实时编码码率及待编码数据帧的复杂程度,调节量化参数,包括以下任意一种情况:
当实时编码码率大于目标编码码率,且复杂程度大于参考复杂程度时,调大量化参数;
当实时编码码率小于目标编码码率,且复杂程度小于参考复杂程度时,调小量化参数。
其中,参考复杂程度用于衡量待编码数据帧的复杂程度的高低。参考复杂程度可以根据经验设定。参考复杂程度可以用预设复杂值来表示。在实时编码码率大于目标编码码率,复杂程度大于参考复杂程度时,一般为运动场景,对流畅性要求较高,编码帧率不能太低,为了有效的减小编码码率,可以调大量化参数。在实时编码码率小于目标编码码率,复杂程度小于参考复杂程度时,一般为静止场景,对画面清晰度要求很高,而对帧率不敏感,因此调小量化参数,使得单帧清晰度提升,而编码帧率降低。如此,可以在带宽受限的情况下,获得图像质量与编码码率的平衡。
在其中一实施例中,根据目标编码码率、实时编码码率及待编码数据帧的复杂程度,调节量化参数,包括:根据目标编码码率确定至少一个码率阈值;根据实时编码码率与码率阈值的大小关系,以及待编码数据帧的复杂程度与参考复杂程度的大小关系,调节量化参数。
可以基于该目标编码码率确定至少一个码率阈值。当码率阈值的数量为1时,可以将该目标编码码率作为码率阈值,也可以将该目标编码码率作预设策略的变换之后,得到该码率阈值。当码率阈值的数量为1时,可以将码率划分为两个范围。当编码阈值的数量为不少于两个时,可以基于该目标编码码率,将码率划分为至少三个范围。可以根据该目标编码码率及预设策略确定不少于两个码率阈值。如,可以以目标编码码率的0.5倍,1倍及2倍分别对应的值作为三个码率阈值。
至少一个码率阈值可以将码率划分为至少两个范围。可以根据实时编码码率与码率阈值的大小关系,确定实时编码码率所属的范围。参考复杂程度的数量至少为1,可以将复杂值划分为至少两个范围。可以根据待编码数据帧的复杂程度与参考复杂程度的大小关系,确定复杂程度的所属范围。然后可以根据实时编码码率所属的范围及复杂程度所属的范围,调节量化参数。如此,可以根据实时编码码率与码率阈值的大小关系,以及待编码数据帧的复杂程度与参考复杂程度的大小关系,调节量化参数。
基于本实施例的编码数据处理方法,由于可以根据实时编码码率与码率阈值的大小关系,以及待编码数据帧的复杂程度与参考复杂程度的大小关系,调节量化参数。因此,可以在实时编码码率与码率阈值的大小关系不同,以及待编码数据帧的复杂程度与参考复杂程度的大小关系不同时,得到不同的量化参数,从而,提高编码数据处理的适应性。
在其中一实施例中,根据实时编码码率与码率阈值的大小关系,以及待编码数据帧的复杂程度与参考复杂程度的大小关系,调节量化参数,包括:当实时编码码率及待编码数 据帧的复杂程度,满足第一参考条件时,在基础量化参数的基础上按照第一调节参数调小,得到第一量化参数。第一参考条件包括:实时编码码率小于第一码率阈值,且待编码数据帧的复杂程度小于第一参考复杂程度。
基础量化参数为预设的量化参数的默认值,可以根据经验设定。在本实施例中,将基础量化参数作为待调节的量化参数,调节基础量化参数的过程即为调节待调节的量化参数的过程。也就是说,在本实施例中,调节待调节的量化参数的过程为:在基础量化参数的基础上按照第一调节参数调小。根据上述调节过程得到的第一量化参数为在满足第一参考条件时,得到的调节后的量化参数。
在该实施例中,码率阈值至少包括第一码率阈值。可以通过加减法运算的方式在基础量化参数的基础上按照第一调节参数调小,得到第一量化参数。第一调节参数可以小于0,如此,可以方便地通过加法运算得到第一量化参数,提高效率。可以理解地,该第一调节参数也可以大于0,此时,可以通过减法运算的方式在基础量化参数的基础上按照第一调节参数调小,得到第一量化参数。
基于本实施例的编码数据处理方法,可以在实时编码码率小于第一码率阈值,且待编码数据帧的复杂程度小于第一参考复杂程度时,调节该量化参数等于基础量化参数与第一调节参数的和或差。如此,使得实时编码码率小于第一码率阈值,且待编码数据帧的复杂程度小于第一参考复杂程度时,提升单帧清晰度,降低编码帧率。从而,提高编码数据处理的适应性。
在其中一实施例中,根据实时编码码率与码率阈值的大小关系,以及待编码数据帧的复杂程度与参考复杂程度的大小关系,调节量化参数,还包括:当实时编码码率及待编码数据帧的复杂程度,满足第二参考条件时,在基础量化参数的基础上按照第二调节参数调大,得到第二量化参数。第二参考条件包括:实时编码码率大于第二码率阈值,且待编码数据帧的复杂程度大于第二参考复杂程度。第一码率阈值小于第二码率阈值,第一参考复杂程度小于第二参考复杂程度。
在本实施例中,将基础量化参数作为待调节的量化参数,调节基础量化参数的过程即为调节待调节的量化参数的过程。也就是说,在本实施例中,调节待调节的量化参数的过程为:在基础量化参数的基础上按照第二调节参数调大。根据上述调节过程得到的第二量化参数为在满足第二参考条件时,得到的调节后的量化参数。
在本实施例中,码率阈值包括第一码率阈值及第二码率阈值。可以在第一参考条件判定之后,若不满足第一参考条件,再判定是否满足第二参考条件。即在实时编码码率及待 编码数据帧的复杂程度不满足第一参考条件时,判定是否满足第二参考条件,即若判定实时编码码率大于第二码率阈值,且待编码数据帧的复杂程度大于第二参考复杂程度,则在基础量化参数的基础上按照第二调节参数调大,得到第二量化参数,使得编码帧率不太低,而又可以有效地减少编码码率。如此,可以保证编码数据播放时的流畅性,在带宽受限的情况下,获得图像质量与编码码率的平衡。从而进一步提高编码数据处理的适应性。
可以理解地,第二参考条件的判定也可以在第一参考条件的判定之前进行判定。
在其中一实施例中,根据实时编码码率与码率阈值的大小关系,以及待编码数据帧的复杂程度与参考复杂程度的大小关系,调节量化参数,还包括:当实时编码码率及待编码数据帧的复杂程度,满足第三参考条件时,在基础量化参数的基础上按照第三调节参数调大,得到第三量化参数。
其中,第三参考条件包括:不满足第一参考条件及第二参考条件,实时编码码率大于第三码率阈值,待编码数据帧的复杂程度大于第二参考复杂程度,量化参数不等于在基础量化参数的基础上按照第二调节参数调大后的参数。其中,第三码率阈值小于第二码率阈值,大于第一码率阈值;第三调节参数小于第二调节参数。
在本实施例中,将基础量化参数作为待调节的量化参数,调节基础量化参数的过程即为调节待调节的量化参数的过程。也就是说,在本实施例中,调节待调节的量化参数的过程为:在基础量化参数的基础上按照第三调节参数调大。根据上述调节过程得到的第三量化参数为在满足第三参考条件时,得到的调节后的量化参数。
在本实施例中,码率阈值包括第一码率阈值、第二码率阈值及第三码率阈值。可以在实时编码码率及待编码数据帧的复杂程度不满足第一参考条件且不满足第二参考条件时,若判定实时编码码率大于第三码率阈值,待编码数据帧的复杂程度大于第二参考复杂程度,量化参数不等于在基础量化参数的基础上按照第二调节参数调大后的参数,则在基础量化参数的基础上按照第三调节参数调大,得到第三量化参数。
基于本实施例的编码数据处理方法,可以在实时编码码率及待编码数据帧的复杂程度满足第三参考条件时,在基础量化参数的基础上按照大于第二调节参数的第三调节参数调大,得到第三量化参数。如此,可以在带宽受限的情况下,获得图像质量与编码码率的平衡。从而进一步提高编码数据处理的适用性。
在其中一实施例中,根据实时编码码率与码率阈值的大小关系,以及待编码数据帧的复杂程度与参考复杂程度的大小关系,调节量化参数,还包括:当实时编码码率及待编码 数据帧的复杂程度,满足第四参考条件时,调节量化参数等于基础量化参数。
其中,第四参考条件包括:不满足第三参考条件,且实时编码码率大于第四码率阈值,待编码数据帧的复杂程度大于第三参考复杂程度,量化参数小于基础量化参数。第四码率阈值大于第一码率阈值,小于第三码率阈值;第三参考复杂程度大于第一参考复杂程度,小于第二参考复杂程度。
在本实施例中,码率阈值包括第一码率阈值、第二码率阈值、第三码率阈值及第四码率阈值。可以在实时编码码率及待编码数据帧的复杂程度同时不满足第一参考条件、第二参考条件及第三参考条件时,若判定实时编码码率大于第四码率阈值,待编码数据帧的复杂程度大于第三参考复杂程度,量化参数小于基础量化参数,则调节量化参数等于基础量化参数。如此,进一步提高编码数据处理的适用性。
在其中一实施例中,根据实时编码码率与码率阈值的大小关系,以及待编码数据帧的复杂程度与参考复杂程度的大小关系,调节量化参数,还包括以下两种情况中的一种:
(1)当实时编码码率及待编码数据帧的复杂程度,满足第五参考条件时,调节量化参数等于基础量化参数。
(2)当实时编码码率及待编码数据帧的复杂程度,不满足第五参考条件时,量化参数不变。
其中,第五参考条件包括:不满足第四参考条件,实时编码码率小于第四码率阈值,待编码数据帧的复杂程度小于第三参考复杂程度,量化参数大于基础量化参数。量化参数不变可以是指该待编码数据帧对应的量化参数的值等于前一编码数据帧的量化参数的值。
可以在实时编码码率及待编码数据帧的复杂程度同时不满足第一参考条件、第二参考条件、第三参考条件及第四参考条件时,若判定实时编码码率小于第四码率阈值,待编码数据帧的复杂程度小于第三参考复杂程度,量化参数大于基础量化参数,则调节量化参数等于基础量化参数;否则,量化参数不变。从而进一步提高编码数据处理的适应性。
在其中一实施例中,确定待编码数据帧的复杂程度,包括:当待编码数据帧,不满足静止跳帧条件时,确定待编码数据帧的复杂程度;当待编码数据帧与前一数据帧,满足静止跳帧条件时,返回获取待编码数据帧的步骤。
静止跳帧条件可以包括:待编码数据帧与前一编码数据帧相同;待编码数据帧与前一编码数据帧的时间间隔小于或等于参考时间间隔。前一编码数据帧为与待编码数据帧连续、且在待编码数据帧之前的一帧已编码的数据帧。在其中一实施例中,当待编码数据帧与前 一编码数据帧不同,或待编码数据帧与前一编码数据帧的时间间隔大于参考时间间隔时,不满足静止跳帧条件。在其中一实施例中,当待编码数据帧与前一编码数据帧相同,且待编码数据帧与前一编码数据帧的时间间隔小于或等于参考时间间隔时,满足静止跳帧条件。参考时间间隔为预先设置的时间间隔,该参考时间间隔可以根据经验设置,本实施例对此不加以限定。
基于本实施例的编码数据处理方法,在不满足静止跳帧条件时,才确定待编码数据帧的复杂程度。否则无需确定该待编码数据帧的复杂程度,返回获取待编码数据帧的步骤,也无需对满足静止跳帧条件的待编码数据帧进行编码。如此,可以节约资源,节约带宽,从而进一步提高编码数据处理的适应性。
在其中一实施例中,获取待编码数据帧,包括:获取基于屏幕图像的待编码数据帧。
基于屏幕图像的待编码数据帧可以为全屏播放的视频帧,也可以为通过截屏方式获取的数据帧,例如,将按照参考采集帧率截取的屏幕图像作为待编码数据帧。采集帧率为每秒采集的数据帧的数目,单位为fps(帧每秒)。
如此,将编码数据处理方法应用于无线投屏领域,由于无线投屏显示数据帧时,对实时性和清晰度在不同场景时有着不同的需求,不同复杂度可以对应不同编码参数,能够使得编码数据处理适应性的提高更为明显。
在其中一实施例中,根据实时编码码率及待编码数据帧的复杂程度,调节编码参数之后,还包括:
根据调节后的编码参数,对待编码数据帧进行编码,得到编码码流。
可以通过编码器对待编码数据帧进行编码,得到编码码流。如,可以将待编码数据帧对应的调节后的编码参数输入至编码器,由编码器对待编码数据帧进行编码。如此,根据得到的调节后的编码参数进行编码,得到编码码流。从而使得该编码码流可以适应于不同的场景,提高编码码流的适用性。
在其中一实施例中,根据待编码数据帧对应的编码参数,对待编码数据帧进行编码,得到编码码流之后,还包括发送编码码流。
该编码码流可以发送至服务器,也可以发送至客户终端。如,当执行设备为如图1所示的第一终端102时,该编码码流可以发送至服务器106,由服务器106转发至第二终端104。当执行设备为如图1所示的服务器时,该编码码流可以发送至第二终端104。
由于编码参数可以随着待编码数据帧的复杂度而改变,以适用于不同的场景,并不是 为了同时满足高清晰度及高实时性的各种场景需求,而使得编码码率和编码帧率同时要求很高而又不改变的情况。因此,基于调节后的编码参数对待编码参数进行编码得到编码码流后,发送的编码码流可以节约带宽。
进一步地,获取待编码数据帧之前,还包括:接收无线投屏指令,无线投屏指令携带目标终端标识。
发送编码码流,包括:根据目标终端标识,发送编码码流。
无线投屏指令可以是在客户终端接收。如,接收无线投屏指令采用的触发方式可以包括:在触摸屏上触发预设按钮,在触摸屏上绘制预设图案,在执行设备上按下预设按钮。
目标终端标识是用于标识投屏的目标终端。可以理解地,本实施例的执行设备为投屏的发送终端。根据目标终端标识,发送编码码流至服务器。在无线投屏时,可以通过服务器对发送终端发送的编码码流进行转发。在其转发时,需根据目标终端标识转发该编码码流。
由于该编码参数,可以随着待编码数据帧的复杂度而改变,以适用于不同的场景,并不是为了同时满足高清晰度及高实时性的各种场景需求,而使得编码码率和编码帧率同时要求很高而又不改变的情况。又由于无线投屏时,第一终端需要将待投屏数据发送至服务器,由服务器转发至第二终端。因此,基于调节后的编码参数对待编码数据帧进行编码得到编码码流后,发送的编码码流可以节约带宽,尤其适用于无线投屏场景,可以节约上行带宽,适用于上行带宽受限的场景。从而,可以进一步提高编码数据处理的适应性。
如图3所示,在其中一具体实施例中,编码数据处理方法,包括:
获取待编码数据帧;
当待编码数据帧,不满足静止跳帧条件时,确定待编码数据帧的复杂程度;当待编码数据帧,满足静止跳帧条件时,返回获取待编码数据帧的步骤;其中,所示静止跳帧条件包括:待编码数据帧与前一编码数据帧相同,且待编码数据帧与前一编码数据帧的时间间隔小于或等于参考时间间隔;
获取实时编码码率,实时编码码率为待编码数据帧的前序已编码数据帧的编码码率;
获取目标编码码率;
根据目标编码码率确定至少一个码率阈值;并根据实时编码码率与码率阈值的大小关系,以及待编码数据帧的复杂程度与参考复杂程度的大小关系,调节量化参数;
根据编码参数,对待编码数据帧进行编码,得到编码码流;
如图4所示,根据实时编码码率与码率阈值的大小关系,以及待编码数据帧的复杂程 度与参考复杂程度的大小关系,调节量化参数,可以包括:
当实时编码码率(可以用S表示)及待编码数据帧的复杂程度(可以用F表示),满足第一参考条件时,在基础量化参数(可以用QPbase表示)的基础上按照第一调节参数(可以用delta1表示)调小,得到第一量化参数(可以用QP
base+delta1表示)。其中,第一参考条件包括:实时编码码率小于第一码率阈值(可以用BR_low_Th表示),且待编码数据帧的复杂程度小于第一参考复杂程度(可以用Scene_low_Th表示)。需要说明的是,此时的基础量化参数为待调节的量化参数。调节后的量化参数(可以用QP表示)等于第一量化参数(可以用QP=QP
base+delta1表示)。
当实时编码码率及待编码数据帧的复杂程度,满足第二参考条件时,在基础量化参数的基础上按照第二调节参数(可以用delta2表示)调大,得到第二量化参数(可以用QP
base+delta2表示)。其中,第二参考条件包括:实时编码码率大于第二码率阈值(可以用BR_veryhigh_Th表示),且待编码数据帧的复杂程度大于第二参考复杂程度(可以用Scene_high_Th表示);需要说明的是,此时的基础量化参数为待调节的量化参数。调节后的量化参数等于第二量化参数(可以用QP=QP
base+delta2表示)。
当实时编码码率及待编码数据帧的复杂程度,满足第三参考条件时,在基础量化参数的基础上按照第三调节参数调大(可以用delta3表示),得到第三量化参数(可以用QP
base+delta3表示);第三参考条件包括:不满足第一参考条件及第二参考条件,实时编码码率大于第三码率阈值(可以用BR_high_Th表示),待编码数据帧的复杂程度大于第二参考复杂程度,量化参数不等于在基础量化参数的基础上按照第二调节参数调大后的参数(可以用QP
old≠QP
base+delta2表示);需要说明的是,此时的基础量化参数为待调节的量化参数。调节后的量化参数等于第三量化参数(可以用QP=QP
base+delta3表示)。
当实时编码码率及待编码数据帧的复杂程度,满足第四参考条件时,调节量化参数等于基础量化参数;第四参考条件包括:不满足第三参考条件,实时编码码率大于第四码率阈值(可以用BR_mid_Th表示),待编码数据帧的复杂程度大于第三参考复杂程度(可以用Scene_mid_Th表示),量化参数小于基础量化参数;此时调节后的量化参数等于基础量化参数(可以用QP=QP
base表示)。
当实时编码码率及待编码数据帧的复杂程度,满足第五参考条件时,调节量化参数等于基础量化参数;其中,第五参考条件包括:不满足第四参考条件,实时编码码率小于第四码率阈值,待编码数据帧的复杂程度小于第三参考复杂程度,量化参数大于基础量化参数;此时调节后的量化参数同样等于基础量化参数(可以用QP=QP
base表示)。
当实时编码码率及待编码数据帧的复杂程度,不满足第五参考条件时,量化参数不变, 此时调节后的量化参数等于调节前的量化参数(可以用QP=QP
old表示)。
其中,第一码率阈值小于第二码率阈值;第三码率阈值小于第二码率阈值,大于第一码率阈值;第四码率阈值大于第一码率阈值,小于第三码率阈值;即,BR_low_Th<BR_mid_Th<BR_high_Th<BR_veryhigh_Th;第三参考复杂程度大于第一参考复杂程度,小于第二参考复杂程度;第一参考复杂程度小于第二参考复杂程度;即,Scene_low_Th<Scene_mid_Th<Scene_high_Th。
在本实施例中,第一调节参数小于0,第二调节参数及第三调节参数大于0,且第三调节参数小于第二调节参数;即,delta1<0,delta2>0,delta3>0,且delta1<delta3<delta2。
在一组应用于无线投屏的测试中,静态场景的清晰度从511MTF50P提升到533MTF50P,码率从266kbps降低到77kbps;运动场景下,在质量没有明显改变的情况下,码率从2516kbps降低到1255kbps。其中,MTF50P表示MTF(调制传递函数,Modulation Transfer Function)峰值(Peak Value)的50%对应的频率值,是衡量图像锐利度的参数。因此,应用于用于无线投屏时,能够适应于多种不同的场景,且能够保证用户看到清晰、流畅的画面,同时节省不必要的带宽。
应该理解的是,虽然图2、3、4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、3、4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种运行于图1中的服务器106或第一终端102的编码数据处理装置,包括:
数据帧获取模块502,用于获取待编码数据帧;
复杂度确定模块504,用于确定所述待编码数据帧的复杂程度,所述复杂程度至少用于表征空域纹理复杂度及时域运动剧烈程度;
实时码率获取模块506,用于获取实时编码码率,所述实时编码码率为所述待编码数据帧的前序已编码数据帧的编码码率;
编码参数调节模块508,用于根据所述实时编码码率及所述待编码数据帧的复杂程度, 调节编码参数。
基于本实施例的编码数据处理装置,获取待编码数据帧;确定待编码数据帧的复杂程度,复杂程度至少用于表征空域纹理复杂度及时域运动剧烈程度;获取实时编码码率,实时编码码率为待编码数据帧的前序已编码数据帧的编码码率;根据实时编码码率及待编码数据帧的复杂程度,调节编码参数。由于根据实时编码码率及复杂程度调节编码参数,不同的实时编码码率及复杂程度可以对应不同的编码参数,如此可以使得编码参数适用于不同的场景,因此,其适应性高。
在其中一实施例中,所述编码参数包括量化参数;该装置还包括目标码率获取模块;
目标码率获取模块,用于获取目标编码码率;
编码参数调节模块,用于根据所述目标编码码率、所述实时编码码率及所述待编码数据帧的复杂程度,调节所述量化参数。
在其中一实施例中,编码参数调节模块,用于以下任意一种情况:
当所述实时编码码率大于所述目标编码码率,且所述复杂程度大于参考复杂程度时,调大所述量化参数;
当所述实时编码码率小于所述目标编码码率,且所述复杂程度小于参考复杂程度时,调小所述量化参数。
在其中一实施例中,编码参数调节模块,用于根据所述目标编码码率确定至少一个码率阈值;并根据所述实时编码码率与所述码率阈值的大小关系,以及所述待编码数据帧的复杂程度与参考复杂程度的大小关系,调节所述量化参数。
在其中一实施例中,编码参数调节模块,用于当所述实时编码码率及所述待编码数据帧的复杂程度,满足第一参考条件时,在基础量化参数的基础上按照第一调节参数调小,得到第一量化参数;所述第一参考条件包括:所述实时编码码率小于第一码率阈值,且所述待编码数据帧的复杂程度小于第一参考复杂程度。
在其中一实施例中,编码参数调节模块,还用于当所述实时编码码率及所述待编码数据帧的复杂程度,满足第二参考条件时,在所述基础量化参数的基础上按照第二调节参数调大,得到第二量化参数;所述第二参考条件包括:所述实时编码码率大于第二码率阈值,且所述待编码数据帧的复杂程度大于第二参考复杂程度;所述第一码率阈值小于所述第二码率阈值,所述第一参考复杂程度小于所述第二参考复杂程度。
在其中一实施例中,编码参数调节模块,还用于当所述实时编码码率及所述待编码数据帧的复杂程度,满足第三参考条件时,在所述基础量化参数的基础上按照第三调节参数 调大,得到第三量化参数;所述第三参考条件包括:不满足所述第一参考条件及所述第二参考条件,所述实时编码码率大于第三码率阈值,所述待编码数据帧的复杂程度大于第二参考复杂程度,所述量化参数不等于在所述基础量化参数的基础上按照第二调节参数调大后的参数;其中,所述第三码率阈值小于所述第二码率阈值,大于所述第一码率阈值;所述第三调节参数小于所述第二调节参数。
在其中一实施例中,编码参数调节模块,还用于当所述实时编码码率及所述待编码数据帧的复杂程度,满足第四参考条件时,调节所述量化参数等于所述基础量化参数;所述第四参考条件包括:不满足所述第三参考条件,所述实时编码码率大于第四码率阈值,所述待编码数据帧的复杂程度大于第三参考复杂程度,所述量化参数小于所述基础量化参数;
所述第四码率阈值大于所述第一码率阈值,小于所述第三码率阈值;所述第三参考复杂程度大于所述第一参考复杂程度,小于所述第二参考复杂程度。
在其中一实施例中,编码参数调节模块,还用于当所述实时编码码率及所述待编码数据帧的复杂程度,满足第五参考条件时,调节所述量化参数等于所述基础量化参数;当所述实时编码码率及所述待编码数据帧的复杂程度,不满足所述第五参考条件时,所述量化参数不变;其中,所述第五参考条件包括:不满足所述第四参考条件,所述实时编码码率小于所述第四码率阈值,所述待编码数据帧的复杂程度小于所述第三参考复杂程度,所述量化参数大于所述基础量化参数。
在其中一实施例中,复杂度确定模块,用于当所述待编码数据帧,不满足静止跳帧条件时,确定所述待编码数据帧的复杂程度。
在其中一实施例中,复杂度确定模块,用于当所述待编码数据帧,满足所述静止跳帧条件时,返回所述获取待编码数据帧的步骤。
在其中一实施例中,当所述待编码数据帧与前一编码数据帧不同,或所述待编码数据帧与所述前一编码数据帧的时间间隔大于参考时间间隔时,不满足所述静止跳帧条件。
在其中一实施例中,数据帧获取模块,用于获取基于屏幕图像的待编码数据帧。
在其中一实施例中,该装置还包括数据编码模块,用于根据调节后的编码参数,对所述待编码数据帧进行编码,得到编码码流。
在其中一实施例中,该装置还包括投屏指令接收模块及编码码流发送模块;
投屏指令接收模块,用于在数据帧获取模块获取待编码数据帧之前,接收无线投屏指令,所述无线投屏指令携带目标终端标识;
编码码流发送模块,用于根据所述目标终端标识,发送所述编码码流。
在一个实施例中,提供了一种计算机设备,该计算机设备可以为服务器,其内部结构图可以如图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 (32)
- 一种编码数据处理方法,所述方法应用于执行设备,所述方法包括:获取待编码数据帧;确定所述待编码数据帧的复杂程度,所述复杂程度至少用于表征空域纹理复杂度及时域运动剧烈程度;获取实时编码码率,所述实时编码码率为所述待编码数据帧的前序已编码数据帧的编码码率;根据所述实时编码码率及所述待编码数据帧的复杂程度,调节编码参数。
- 根据权利要求1所述的编码数据处理方法,所述编码参数包括量化参数;所述根据所述实时编码码率及所述待编码数据帧的复杂程度,调节编码参数,包括:获取目标编码码率;根据所述目标编码码率、所述实时编码码率及所述待编码数据帧的复杂程度,调节所述量化参数。
- 根据权利要求2所述的编码数据处理方法,所述根据所述目标编码码率、所述实时编码码率及所述待编码数据帧的复杂程度,调节所述量化参数,包括以下任意一种情况:当所述实时编码码率大于所述目标编码码率,且所述复杂程度大于参考复杂程度时,调大所述量化参数;当所述实时编码码率小于所述目标编码码率,且所述复杂程度小于参考复杂程度时,调小所述量化参数。
- 根据权利要求2所述的编码数据处理方法,所述根据所述目标编码码率、所述实时编码码率及所述待编码数据帧的复杂程度,调节所述量化参数,包括:根据所述目标编码码率确定至少一个码率阈值;根据所述实时编码码率与所述码率阈值的大小关系,以及所述待编码数据帧的复杂程度与参考复杂程度的大小关系,调节所述量化参数。
- 根据权利要求4所述的编码数据处理方法,所述根据所述实时编码码率与所述码率阈值的大小关系,以及所述待编码数据帧的复杂程度与参考复杂程度的大小关系,调节所述量化参数,包括:当所述实时编码码率及所述待编码数据帧的复杂程度,满足第一参考条件时,在基础量化参数的基础上按照第一调节参数调小,得到第一量化参数;所述第一参考条件包括:所述实时编码码率小于第一码率阈值,且所述待编码数据帧 的复杂程度小于第一参考复杂程度。
- 根据权利要求5所述的编码数据处理方法,所述根据所述实时编码码率与所述码率阈值的大小关系,以及所述待编码数据帧的复杂程度与参考复杂程度的大小关系,调节所述量化参数,还包括:当所述实时编码码率及所述待编码数据帧的复杂程度,满足第二参考条件时,在所述基础量化参数的基础上按照第二调节参数调大,得到第二量化参数;所述第二参考条件包括:所述实时编码码率大于第二码率阈值,且所述待编码数据帧的复杂程度大于第二参考复杂程度;所述第一码率阈值小于所述第二码率阈值,所述第一参考复杂程度小于所述第二参考复杂程度。
- 根据权利要求6所述的编码数据处理方法,所述根据所述实时编码码率与所述码率阈值的大小关系,以及所述待编码数据帧的复杂程度与参考复杂程度的大小关系,调节所述量化参数,还包括:当所述实时编码码率及所述待编码数据帧的复杂程度,满足第三参考条件时,在所述基础量化参数的基础上按照第三调节参数调大,得到第三量化参数;所述第三参考条件包括:不满足所述第一参考条件及所述第二参考条件,所述实时编码码率大于第三码率阈值,所述待编码数据帧的复杂程度大于第二参考复杂程度,所述量化参数不等于在所述基础量化参数的基础上按照第二调节参数调大后的参数;所述第三码率阈值小于所述第二码率阈值,大于所述第一码率阈值;所述第三调节参数小于所述第二调节参数。
- 根据权利要求7所述的编码数据处理方法,所述根据所述实时编码码率与所述码率阈值的大小关系,以及所述待编码数据帧的复杂程度与参考复杂程度的大小关系,调节所述量化参数,还包括:当所述实时编码码率及所述待编码数据帧的复杂程度,满足第四参考条件时,调节所述量化参数等于所述基础量化参数;所述第四参考条件包括:不满足所述第三参考条件,所述实时编码码率大于第四码率阈值,所述待编码数据帧的复杂程度大于第三参考复杂程度,所述量化参数小于所述基础量化参数;所述第四码率阈值大于所述第一码率阈值,小于所述第三码率阈值;所述第三参考复杂程度大于所述第一参考复杂程度,小于所述第二参考复杂程度。
- 根据权利要求8所述的编码数据处理方法,所述根据所述实时编码码率与所述码率阈值的大小关系,以及所述待编码数据帧的复杂程度与参考复杂程度的大小关系,调节所述量化参数,还包括以下两种情况中的一种:当所述实时编码码率及所述待编码数据帧的复杂程度,满足第五参考条件时,调节所述量化参数等于所述基础量化参数;当所述实时编码码率及所述待编码数据帧的复杂程度,不满足所述第五参考条件时,所述量化参数不变;所述第五参考条件包括:不满足所述第四参考条件,所述实时编码码率小于所述第四码率阈值,所述待编码数据帧的复杂程度小于所述第三参考复杂程度,所述量化参数大于所述基础量化参数。
- 根据权利要求1所述的编码数据处理方法,所述确定所述待编码数据帧的复杂程度,包括:当所述待编码数据帧,不满足静止跳帧条件时,确定所述待编码数据帧的复杂程度。
- 根据权利要求10所述的编码数据处理方法,所述确定所述待编码数据帧的复杂程度,还包括:当所述待编码数据帧,满足所述静止跳帧条件时,返回所述获取待编码数据帧的步骤。
- 根据权利要求10所述的编码数据处理方法,当所述待编码数据帧与前一编码数据帧不同,或所述待编码数据帧与所述前一编码数据帧的时间间隔大于参考时间间隔时,不满足所述静止跳帧条件。
- 根据权利要求1所述的编码数据处理方法,所述获取待编码数据帧,包括:获取基于屏幕图像的待编码数据帧。
- 根据权利要求1所述的编码数据处理方法,所述根据所述实时编码码率及所述待编码数据帧的复杂程度,调节编码参数之后,还包括:根据调节后的编码参数,对所述待编码数据帧进行编码,得到编码码流。
- 根据权利要求14所述的编码数据处理方法,所述获取待编码数据帧之前,还包括:接收无线投屏指令,所述无线投屏指令携带目标终端标识;所述根据调节后的编码参数,对所述待编码数据帧进行编码,得到编码码流之后,还包括:根据所述目标终端标识,发送所述编码码流。
- 一种编码数据处理装置,所述装置包括:数据帧获取模块,用于获取待编码数据帧;复杂度确定模块,用于确定所述待编码数据帧的复杂程度,所述复杂程度至少用于表征空域纹理复杂度及时域运动剧烈程度;实时码率获取模块,用于获取实时编码码率,所述实时编码码率为所述待编码数据帧 的前序已编码数据帧的编码码率;编码参数调节模块,用于根据所述实时编码码率及所述待编码数据帧的复杂程度,调节编码参数。
- 一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现下述编码数据处理方法的步骤:获取待编码数据帧;确定所述待编码数据帧的复杂程度,所述复杂程度至少用于表征空域纹理复杂度及时域运动剧烈程度;获取实时编码码率,所述实时编码码率为所述待编码数据帧的前序已编码数据帧的编码码率;根据所述实时编码码率及所述待编码数据帧的复杂程度,调节编码参数。
- 根据权利要求17所述的计算机设备,所述编码参数包括量化参数;所述处理器用于执行下述步骤:获取目标编码码率;根据所述目标编码码率、所述实时编码码率及所述待编码数据帧的复杂程度,调节所述量化参数。
- 根据权利要求18所述的计算机设备,所述处理器用于执行下述步骤:当所述实时编码码率大于所述目标编码码率,且所述复杂程度大于参考复杂程度时,调大所述量化参数;当所述实时编码码率小于所述目标编码码率,且所述复杂程度小于参考复杂程度时,调小所述量化参数。
- 根据权利要求18所述的计算机设备,所述处理器用于执行下述步骤:根据所述目标编码码率确定至少一个码率阈值;根据所述实时编码码率与所述码率阈值的大小关系,以及所述待编码数据帧的复杂程度与参考复杂程度的大小关系,调节所述量化参数。
- 根据权利要求20所述的计算机设备,所述处理器用于执行下述步骤:当所述实时编码码率及所述待编码数据帧的复杂程度,满足第一参考条件时,在基础量化参数的基础上按照第一调节参数调小,得到第一量化参数;所述第一参考条件包括:所述实时编码码率小于第一码率阈值,且所述待编码数据帧的复杂程度小于第一参考复杂程度。
- 根据权利要求21所述的计算机设备,所述处理器还用于执行下述步骤:当所述实时编码码率及所述待编码数据帧的复杂程度,满足第二参考条件时,在所述基础量化参数的基础上按照第二调节参数调大,得到第二量化参数;所述第二参考条件包括:所述实时编码码率大于第二码率阈值,且所述待编码数据帧的复杂程度大于第二参考复杂程度;所述第一码率阈值小于所述第二码率阈值,所述第一参考复杂程度小于所述第二参考复杂程度。
- 根据权利要求22所述的计算机设备,所述处理器还用于执行下述步骤:当所述实时编码码率及所述待编码数据帧的复杂程度,满足第三参考条件时,在所述基础量化参数的基础上按照第三调节参数调大,得到第三量化参数;所述第三参考条件包括:不满足所述第一参考条件及所述第二参考条件,所述实时编码码率大于第三码率阈值,所述待编码数据帧的复杂程度大于第二参考复杂程度,所述量化参数不等于在所述基础量化参数的基础上按照第二调节参数调大后的参数;所述第三码率阈值小于所述第二码率阈值,大于所述第一码率阈值;所述第三调节参数小于所述第二调节参数。
- 根据权利要求23所述的计算机设备,所述处理器还用于执行下述步骤:当所述实时编码码率及所述待编码数据帧的复杂程度,满足第四参考条件时,调节所述量化参数等于所述基础量化参数;所述第四参考条件包括:不满足所述第三参考条件,所述实时编码码率大于第四码率阈值,所述待编码数据帧的复杂程度大于第三参考复杂程度,所述量化参数小于所述基础量化参数;所述第四码率阈值大于所述第一码率阈值,小于所述第三码率阈值;所述第三参考复杂程度大于所述第一参考复杂程度,小于所述第二参考复杂程度。
- 根据权利要求24所述的计算机设备,所述处理器还用于执行下述步骤:当所述实时编码码率及所述待编码数据帧的复杂程度,满足第五参考条件时,调节所述量化参数等于所述基础量化参数;当所述实时编码码率及所述待编码数据帧的复杂程度,不满足所述第五参考条件时,所述量化参数不变;所述第五参考条件包括:不满足所述第四参考条件,所述实时编码码率小于所述第四码率阈值,所述待编码数据帧的复杂程度小于所述第三参考复杂程度,所述量化参数大于所述基础量化参数。
- 根据权利要求17所述的计算机设备,所述处理器用于执行下述步骤:当所述待编码数据帧,不满足静止跳帧条件时,确定所述待编码数据帧的复杂程度。
- 根据权利要求26所述的计算机设备,所述处理器还用于执行下述步骤:当所述待编码数据帧,满足所述静止跳帧条件时,返回所述获取待编码数据帧的步骤。
- 根据权利要求26所述的计算机设备,当所述待编码数据帧与前一编码数据帧不同,或所述待编码数据帧与所述前一编码数据帧的时间间隔大于参考时间间隔时,不满足所述静止跳帧条件。
- 根据权利要求17所述的计算机设备,所述处理器用于执行下述步骤:获取基于屏幕图像的待编码数据帧。
- 根据权利要求17所述的计算机设备,所述处理器用于执行下述步骤:根据调节后的编码参数,对所述待编码数据帧进行编码,得到编码码流。
- 根据权利要求30所述的计算机设备,所述处理器用于执行下述步骤:接收无线投屏指令,所述无线投屏指令携带目标终端标识;根据所述目标终端标识,发送所述编码码流。
- 一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至15中任一项所述的编码数据处理方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021512511A JP7163485B2 (ja) | 2018-11-14 | 2019-11-05 | 符号化の対象となるデータ処理方法、装置、及びコンピュータプログラム |
EP19885584.3A EP3876534A4 (en) | 2018-11-14 | 2019-11-05 | METHOD AND APPARATUS FOR CONTROLLING ENCODED DATA, COMPUTER DEVICE, AND STORAGE MEDIUM |
US17/318,173 US11431993B2 (en) | 2018-11-14 | 2021-05-12 | Method and apparatus for processing encoded data, computer device, and storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811353718.3A CN111193927B (zh) | 2018-11-14 | 2018-11-14 | 编码数据处理方法、装置、计算机设备和存储介质 |
CN201811353718.3 | 2018-11-14 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/318,173 Continuation US11431993B2 (en) | 2018-11-14 | 2021-05-12 | Method and apparatus for processing encoded data, computer device, and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020098534A1 true WO2020098534A1 (zh) | 2020-05-22 |
Family
ID=70708979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2019/115785 WO2020098534A1 (zh) | 2018-11-14 | 2019-11-05 | 编码数据处理方法、装置、计算机设备和存储介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11431993B2 (zh) |
EP (1) | EP3876534A4 (zh) |
JP (1) | JP7163485B2 (zh) |
CN (1) | CN111193927B (zh) |
WO (1) | WO2020098534A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111757107B (zh) | 2020-06-29 | 2024-03-05 | 北京百度网讯科技有限公司 | 一种视频编码方法、装置、设备及介质 |
CN115484470A (zh) * | 2021-06-15 | 2022-12-16 | 武汉斗鱼鱼乐网络科技有限公司 | 用于提高直播画面质量的方法、装置、介质及计算机设备 |
CN113286146B (zh) * | 2021-07-26 | 2021-10-01 | 腾讯科技(深圳)有限公司 | 媒体数据处理方法、装置、设备以及存储介质 |
CN114245127B (zh) * | 2021-12-13 | 2024-03-19 | 北京百度网讯科技有限公司 | 一种云桌面编码器的参数调整方法、装置、设备及介质 |
CN114466221B (zh) * | 2022-01-14 | 2024-02-02 | 杭州华橙软件技术有限公司 | 一种图像处理方法、装置、存储介质和电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050232354A1 (en) * | 2004-04-14 | 2005-10-20 | Yi-Kai Chen | Rate controlling method and apparatus for use in a transcoder |
CN101466035A (zh) * | 2007-12-21 | 2009-06-24 | 深圳市融合视讯科技有限公司 | 一种基于h.264的视频图像组比特分配方法 |
CN101552917A (zh) * | 2008-03-31 | 2009-10-07 | 深圳市融合视讯科技有限公司 | 一种视频压缩码率控制方法 |
CN103096048A (zh) * | 2011-11-02 | 2013-05-08 | 北京大学 | 一种可伸缩视频编码量化参数确定方法及装置 |
US8483272B2 (en) * | 2010-09-24 | 2013-07-09 | Intel Corporation | System and method for frame level bit rate control without pre-analysis |
CN104683804A (zh) * | 2015-02-14 | 2015-06-03 | 北京航空航天大学 | 基于视频内容特征的参数自适应多维码率控制方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001008215A (ja) * | 1999-06-24 | 2001-01-12 | Victor Co Of Japan Ltd | 動画像符号化装置及びその方法 |
JP3846490B2 (ja) * | 2004-05-17 | 2006-11-15 | セイコーエプソン株式会社 | 画像データ圧縮装置、電子機器及び画像データ圧縮方法 |
JP3889013B2 (ja) * | 2004-05-24 | 2007-03-07 | 三菱電機株式会社 | 動画像符号化装置及び動画像符号化方法 |
US8077775B2 (en) * | 2006-05-12 | 2011-12-13 | Freescale Semiconductor, Inc. | System and method of adaptive rate control for a video encoder |
US8331438B2 (en) * | 2007-06-05 | 2012-12-11 | Microsoft Corporation | Adaptive selection of picture-level quantization parameters for predicted video pictures |
CN100562118C (zh) * | 2007-07-03 | 2009-11-18 | 上海富瀚微电子有限公司 | 一种视频编码的码率控制方法 |
KR101172430B1 (ko) * | 2007-08-17 | 2012-08-08 | 삼성전자주식회사 | 비트율 제어 방법 및 그 장치 |
US9445110B2 (en) * | 2007-09-28 | 2016-09-13 | Dolby Laboratories Licensing Corporation | Video compression and transmission techniques |
WO2009119095A1 (ja) * | 2008-03-27 | 2009-10-01 | パナソニック株式会社 | 無線通信装置 |
US8879623B2 (en) * | 2009-09-02 | 2014-11-04 | Sony Computer Entertainment Inc. | Picture-level rate control for video encoding a scene-change I picture |
CN102036062B (zh) * | 2009-09-29 | 2012-12-19 | 华为技术有限公司 | 视频编码方法、装置及电子设备 |
US9357210B2 (en) * | 2013-02-28 | 2016-05-31 | Sonic Ip, Inc. | Systems and methods of encoding multiple video streams for adaptive bitrate streaming |
US9538190B2 (en) * | 2013-04-08 | 2017-01-03 | Qualcomm Incorporated | Intra rate control for video encoding based on sum of absolute transformed difference |
KR101450645B1 (ko) * | 2013-04-26 | 2014-10-15 | 주식회사 코아로직 | 비디오 비트율 제어 방법 및 장치 |
US20150071343A1 (en) * | 2013-09-12 | 2015-03-12 | Magnum Semiconductor, Inc. | Methods and apparatuses including an encoding system with temporally adaptive quantization |
CN105208390B (zh) * | 2014-06-30 | 2018-07-20 | 杭州海康威视数字技术股份有限公司 | 视频编码的码率控制方法及其系统 |
CN104410861A (zh) * | 2014-11-24 | 2015-03-11 | 华为技术有限公司 | 视频编码方法及装置 |
WO2016134345A1 (en) * | 2015-02-20 | 2016-08-25 | Harmonic, Inc. | Transcoding on-the-fly (totf) |
CN104754335B (zh) * | 2015-03-09 | 2016-03-02 | 湖南国科微电子股份有限公司 | 一种视频编码码率控制方法 |
CN108495130B (zh) * | 2017-03-21 | 2021-04-20 | 腾讯科技(深圳)有限公司 | 视频编码、解码方法和装置、终端、服务器和存储介质 |
-
2018
- 2018-11-14 CN CN201811353718.3A patent/CN111193927B/zh active Active
-
2019
- 2019-11-05 EP EP19885584.3A patent/EP3876534A4/en active Pending
- 2019-11-05 WO PCT/CN2019/115785 patent/WO2020098534A1/zh unknown
- 2019-11-05 JP JP2021512511A patent/JP7163485B2/ja active Active
-
2021
- 2021-05-12 US US17/318,173 patent/US11431993B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050232354A1 (en) * | 2004-04-14 | 2005-10-20 | Yi-Kai Chen | Rate controlling method and apparatus for use in a transcoder |
CN101466035A (zh) * | 2007-12-21 | 2009-06-24 | 深圳市融合视讯科技有限公司 | 一种基于h.264的视频图像组比特分配方法 |
CN101552917A (zh) * | 2008-03-31 | 2009-10-07 | 深圳市融合视讯科技有限公司 | 一种视频压缩码率控制方法 |
US8483272B2 (en) * | 2010-09-24 | 2013-07-09 | Intel Corporation | System and method for frame level bit rate control without pre-analysis |
CN103096048A (zh) * | 2011-11-02 | 2013-05-08 | 北京大学 | 一种可伸缩视频编码量化参数确定方法及装置 |
CN104683804A (zh) * | 2015-02-14 | 2015-06-03 | 北京航空航天大学 | 基于视频内容特征的参数自适应多维码率控制方法 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3876534A4 * |
Also Published As
Publication number | Publication date |
---|---|
CN111193927A (zh) | 2020-05-22 |
EP3876534A4 (en) | 2022-03-16 |
EP3876534A1 (en) | 2021-09-08 |
US20210266576A1 (en) | 2021-08-26 |
CN111193927B (zh) | 2022-09-23 |
JP7163485B2 (ja) | 2022-10-31 |
US11431993B2 (en) | 2022-08-30 |
JP2022500901A (ja) | 2022-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020098534A1 (zh) | 编码数据处理方法、装置、计算机设备和存储介质 | |
WO2021244341A1 (zh) | 图像编码方法及装置、电子设备及计算机可读存储介质 | |
US10574988B2 (en) | System and methods for reducing slice boundary visual artifacts in display stream compression (DSC) | |
JP5215288B2 (ja) | 映像符号化のための時間的品質メトリック | |
US9071841B2 (en) | Video transcoding with dynamically modifiable spatial resolution | |
US11172220B2 (en) | Video encoding method, and storage medium thereof | |
CN109788316B (zh) | 码率控制、视频转码方法与装置、计算机设备及存储介质 | |
WO2019062226A1 (zh) | 视频编码处理方法、计算机设备和存储介质 | |
US10284849B2 (en) | Quantization parameter (QP) calculation for display stream compression (DSC) based on complexity measure | |
WO2018161868A1 (zh) | 帧内编码帧码率分配方法、计算机设备和存储介质 | |
JP6449329B2 (ja) | ディスプレイストリーム圧縮(dsc)において量子化パラメータ(qp)を選択するためのシステムおよび方法 | |
TWI634778B (zh) | 用於顯示串流壓縮之複合區域偵測 | |
WO2021129007A1 (zh) | 视频码率的确定方法、装置、计算机设备及存储介质 | |
CN111182303A (zh) | 共享屏幕的编码方法、装置、计算机可读介质及电子设备 | |
US20180184089A1 (en) | Target bit allocation for video coding | |
US20200177880A1 (en) | Systems and methods for quantization of video content | |
TWI703857B (zh) | 視頻轉碼方法及設備、電腦儲存介質及電子設備 | |
KR102112942B1 (ko) | 디스플레이 스트림 압축에 대한 지각적 양자화 파라미터 (qp) 가중을 위한 장치 및 방법들 | |
CN111193926B (zh) | 编码数据处理方法、装置、计算机设备和存储介质 | |
KR20140120428A (ko) | 빅데이타 영상에 대한 데이타 트래픽 조정장치 및 방법 | |
Yu et al. | ROI-based Video Quality Assessment and Regulation for Mobile Videoconferencing |
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: 19885584 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2021512511 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2019885584 Country of ref document: EP Effective date: 20210602 |