CN110945870A - Video processing apparatus and method - Google Patents

Video processing apparatus and method Download PDF

Info

Publication number
CN110945870A
CN110945870A CN201880042806.3A CN201880042806A CN110945870A CN 110945870 A CN110945870 A CN 110945870A CN 201880042806 A CN201880042806 A CN 201880042806A CN 110945870 A CN110945870 A CN 110945870A
Authority
CN
China
Prior art keywords
video codec
bandwidth consumption
reference frame
bandwidth
compression
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201880042806.3A
Other languages
Chinese (zh)
Inventor
陈秋伯
郑萧桢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SZ DJI Technology Co Ltd
Original Assignee
SZ DJI Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SZ DJI Technology Co Ltd filed Critical SZ DJI Technology Co Ltd
Publication of CN110945870A publication Critical patent/CN110945870A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A video processing method is provided. The method comprises the following steps: the method includes calculating bandwidth consumption in a video codec related to external data reading and writing, and determining parameters associated with compression of reference frames used for inter-frame prediction based on the bandwidth consumption. By adopting the scheme of the application, the storage bandwidth constraint of the video coder/decoder can be effectively met.

Description

Video processing apparatus and method Technical Field
Embodiments of the present application relate to the field of video processing. More particularly, embodiments of the present application relate to a video processing apparatus and a corresponding method.
Background
In order to reduce the bandwidth occupied by video storage and transmission, video data generally needs to be subjected to encoding compression processing. The encoding compression process includes prediction, transformation, quantization and entropy coding processes. The prediction comprises an intra-frame prediction type and an inter-frame prediction type, and aims to remove redundant information of a current image block to be coded by using prediction block information. The intra prediction obtains prediction block data using information of the present frame image, and the inter prediction obtains prediction block data using information of the reference frame.
Typically, a large amount of reference frame data is required for inter prediction, and the reference frame data is typically stored in an external memory. Reading and writing these reference frame data consumes a large amount of bandwidth. With the increasing video resolution, the rapidly increasing bandwidth requirement and the increasing memory power consumption become problems to be solved urgently.
Disclosure of Invention
The application provides that in the video encoding and decoding process, reference frame compression can be applied to compress reference frame data, and the compression mode and corresponding quantization parameters of the reference frame data are dynamically adjusted based on the bandwidth consumption of a video encoder/decoder, so as to meet the bandwidth requirement and improve the quality of video images.
In a first aspect of embodiments of the present application, a video processing method is provided, including:
calculating bandwidth consumption in the video codec related to external data reading and writing; and
determining parameters associated with reference frame compression based on the bandwidth consumption, the reference frame being used for inter-prediction.
In a second aspect of embodiments of the present application, there is provided a video codec. The video codec includes a memory and one or more processors communicatively coupled with the memory. The memory has stored thereon instructions that, when executed by the one or more processors, cause the video codec to:
calculating bandwidth consumption in the video codec related to external data reading and writing; and
determining parameters associated with reference frame compression based on the bandwidth consumption, the reference frame being used for inter-prediction.
According to a third aspect of embodiments herein, there is provided a computer program which, when executed by at least one processor, causes the at least one processor to perform the method according to the first aspect of embodiments herein.
According to a fourth aspect of embodiments of the present application, there is provided a computer-readable storage medium storing a computer program according to the third aspect of embodiments of the present application.
By adopting the embodiment of the application, the storage bandwidth constraint of the video coder/decoder can be effectively met, and the quality of the video image is improved.
Drawings
The above and other features of the embodiments of the present application will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings, in which:
fig. 1 is a schematic diagram illustrating a video codec scheme according to an embodiment of the present application.
Fig. 2 is a flowchart illustrating a video encoding and decoding method according to an embodiment of the present application.
Fig. 3 is a flow chart illustrating a method of determining a quantization parameter according to an embodiment of the present application.
Fig. 4 is a block diagram illustrating a video codec according to an embodiment of the present application.
Fig. 5 is a schematic diagram illustrating a computer-readable storage medium according to an embodiment of the present application.
It is noted that the drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the technology of embodiments of the application. In addition, for purposes of clarity, like reference numbers refer to like elements throughout the drawings.
Detailed Description
Technical solutions in the embodiments of the present application will be described below clearly with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein in the description of the present application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed items.
As described above, video codecs typically require a large amount of reference frame data for inter prediction. In video codec circuit designs, these reference video frames are typically stored in external memory, and thus reading and writing these video reference frames consumes a significant amount of memory bandwidth. In order to satisfy the characteristics of random and mass access of reference frames in video inter-frame prediction, reference frame compression generally has the following characteristics:
a. the method belongs to intra-frame compression, residual prediction is carried out only by using intra-frame information, and a compression unit is generally very small, such as 4x4 or 8x8 pixels;
b. reading from and writing to an external memory is done in the size of an image stripe (tile), which is generally composed of a plurality of compression units and whose starting address is determined or can be located by other information;
c. to support high parallel decoding throughput, it is often necessary to store additional header information indicating the number of compressed bits per compression unit. Data stored in external memory after being compressed by reference frames generally includes two parts: the first is compressed reference frame data, and the second is reference frame header information. However, the header information is not limited to the number of compression bits of the compression unit.
Reference frame compression can be integrated in the video encoder/decoder so as to effectively reduce the consumption of a large amount of bandwidth resources caused by reading and writing reference frame data. Reference frame compression can be divided into lossy compression and lossless compression. The advantage of lossless compression is to ensure that the reference frame data is the same before encoding and after decoding, and the video encoding quality is not affected. The disadvantage of lossless compression is that the compression efficiency is low, and the compression rate is dynamically changed along with the video content, so that the bandwidth requirement for reading and writing the reference frame into and from the external memory is also dynamically changed and cannot be predicted. Generally, bandwidth allocation needs to be considered in a worst case. The worst case of lossless reference frame compression is the corresponding bandwidth requirement when not compressed, and thus there is effectively no less bandwidth requirement.
The lossy compression has the advantages that the compression efficiency is high, the compression rate and the bandwidth for accessing the external memory can be guaranteed within a certain range through the control of quantization parameters, and the lossy compression has the defect that if the loss degree is too large, the video encoding end and the video decoding end are not matched, and the video image quality is influenced. Usually, lossy compression is performed in a fixed compression rate (e.g., fixed to half the amount of original data). However, for reference frame compression units that are more difficult to compress, the quality loss may be large due to the need to compress to a fixed size. Furthermore, the fixed compression rate does not take into account the actual bandwidth consumption and does not maximize the video encoding quality.
In view of the above, the following proposes a method for adjusting the compression ratio of a reference frame, which combines the characteristics of lossy compression and lossless compression, dynamically adjusts whether lossy compression or lossless compression is used and quantization parameters used in the case of lossy compression based on the bandwidth consumption of a video codec, thereby satisfying the storage bandwidth requirements of the video codec and improving the quality of video images.
Fig. 1 is a general schematic diagram illustrating a video codec scheme according to an embodiment of the present application. As shown in fig. 1, the video codec 10 includes a processing module 110, an entropy coding module 120, a reference frame compression module 130, a reference frame decompression module 140, and a bandwidth consumption analysis module 160. Alternatively, the video codec 10 may also include an optional input frame decompression module 170 (shown in dashed box). The entropy coding module 120, the reference frame compression module 130, the reference frame decompression module 140, and the optional input frame decompression module 170 are all capable of performing data read/write operations with the external memory 150.
The bandwidth consumption analysis module 160 is used to analyze the bandwidth consumption of the video codec and adjust the quantization parameter QP of the current picture slice in the reference frame compression based on the analysis result, thereby dynamically adjusting the compression rate for the reference frame compression in units of picture slices.
In particular, the bandwidth consumption analysis module 160 may monitor bandwidth consumption modules in the video codec that have data interaction (read or write) with external memory and thus are a major source of bandwidth consumption of the video codec. As shown in fig. 1, there are mainly 4 modules, which are:
a) the reference frame compression module 130: reconstructed images for compressed video coding, wherein the image data is stored in compressed form in an external memory 150;
b) input frame decompression module 170: the input video of the video codec may be frame-compressed and stored in the external memory 150, and thus the compressed video data read from the external memory 150 needs to be decompressed 170 by the input frame decompression module and then sent to the video codec for video encoding. If the module does not exist, the input frame is read from the external memory 150 as raw data;
c) reference frame decompression module 140: reading out the data compressed by the reference frame compression module 130 from the external memory 150, and performing decompression for inter-frame prediction;
d) the entropy coding module 120: for generating a coded bitstream for a video codec.
The bandwidth consumption analysis module 160 reads in corresponding information from one or more of the 4 modules for analysis of bandwidth consumption. For example, when all these 4 modules are considered, the total bandwidth consumes BWallCan be expressed by the following formula:
BWall=BWa+BWb+BWc+BWd (1)
BW in the above formulaa、BWb、BWc、BWdRespectively representing reference frame compression modesBandwidth consumption resulting from the block 130, the input frame decompression module 170, the reference frame decompression module 140, and the entropy coding module 120.
Preferably, the calculated BW for any point in timeallAnd counting the bandwidth consumption in a T time period before the current time point by the components. For example, the bandwidth consumption of the corresponding respective modules in the first L (corresponding to T time periods) video coding unit coding process may be counted. The main reason for considering the bandwidth consumption in the T period rather than just the bandwidth consumption at the current point in time is: reducing the large quality loss incurred to compress hard image areas in order to meet the target bandwidth. In other words, the T period is equivalent to considering the bandwidth constraint in a larger range, and the average compression rate of the image in a larger time range is better than that of the instantaneous hard-to-compress area. Therefore, the target bandwidth constraint is weakened, so that the overall image quality is improved.
It is noted that although BW is calculated in equation (1)allWhen using BWa、BWb、BWc、BWdThese 4 components, however, the BW may be calculated with fewer componentsallOr other components occupying bandwidth consumption may be added to calculate BWall. For example, BW can be considered when only bandwidth consumption of the reference frame compression module 130 and the reference frame decompression module 140 need to be consideredall=BWa+BWc. In another example, the bandwidth consumption, i.e., BW, of the reference frame compression module 130 and the reference frame decompression module 140, and the entropy encoding module 120 may be consideredall=BWa+BWc+BWd. Alternatively, the bandwidth consumption, i.e., BW, of the reference frame compression module 130 and reference frame decompression module 140, and the input frame decompression module 170 may also be consideredall=BWa+BWb+BWc
For BWaThe calculation of (2) can be obtained by referring to header information calculation of frame compression. In particular, during reference frame compression, additional header information is saved for reference frame decompression while compressed data is stored. This header information typically contains the number of compressed bits for a slice of the image. Thereby, canTo calculate the bandwidth consumption of one image slice. BW assuming that writing of n image stripes is completed within T time periodaThe calculation formula is as follows:
Figure PCTCN2018098072-APPB-000001
in the above equation, bits _ i is the number of compressed bits of the ith image slice, and is provided by the header information of the corresponding image slice. The function bandwidth () converts the number of compressed bits to bandwidth consumption, which is related to the memory controller employed by the system and its configuration parameters for reading and writing external memory.
For BWbIf no frame is input to the frame decompression module 170, the bandwidth consumption is the amount of raw data read in during the previous T period; if the input frame decompression module 170 is present, the bandwidth consumption is the bandwidth consumed by the input frame compressed data read in during the T time period.
For BWcThe bandwidth consumption, which is the bandwidth consumed by compressing data of reference frames of a plurality of image slices read in during the T period, can be calculated by using the above equation (2).
For BWdThe number of encoding bits generated in the T period may be counted by the entropy encoding module 120 and converted into corresponding bandwidth consumption.
The above BWallIs used to dynamically adjust the compression rate of the current picture slice in the reference frame compression module 130 to meet the target bandwidth limit BW of the assigned video codeccodec。BWcodecIs the target bandwidth in the T period, which may be a fixed bandwidth, or a target bandwidth dynamically allocated to the video codec at the system level. Target bandwidth BW of image stripe to be compressed of current reference frametarComprises the following steps:
BWtar=BWcodec-BWall (3)
fig. 2 is a flowchart illustrating a video encoding and decoding method according to an embodiment of the present application.
In step S210, bandwidth consumption related to external data reading and writing in the video codec is calculated. Here, "bandwidth consumption related to external data read/write" refers to a bandwidth (BW in the above) consumed by a read/write operation with an external memory (e.g., the external memory 150 in fig. 1)all). For example, as described above, the bandwidth consumption associated with external data reading and writing may include bandwidth consumption for reference frame compression and reference frame decompression. Alternatively, the bandwidth consumption related to external data reading and writing may also include the bandwidth consumption for input frame and/or entropy coding.
In one embodiment, calculating the bandwidth consumption in the video codec related to external data reading and writing may include: the bandwidth consumption is calculated for a predetermined time period T before the current point in time. This can reduce the large quality loss incurred to the difficult-to-compress image area in order to meet the target bandwidth.
In one embodiment, the bandwidth consumption (e.g., BW above) for reference frame compression in a video codec may be calculated based on header information of reference frame compressiona)。
In one embodiment, the bandwidth consumption (e.g., BW above) for an input frame in a video codec may be calculated based on the amount of data of the input frame read in within a predetermined time period Tb)。
In one embodiment, the bandwidth consumption (e.g., BW above) for reference frame decompression in a video codec may be calculated based on the amount of data of reference frame compressed data read in over a predetermined period of time Tc)。
In one embodiment, the bandwidth consumption (e.g., BW above) for entropy encoding in a video codec may be calculated based on the amount of data of encoded data generated within a predetermined time period Td)。
Returning to fig. 2, at step S220, parameters associated with compression of reference frames used for inter-prediction are determined based on bandwidth consumption. For example, determining parameters associated with reference frame compression may include determining quantization parameters associated with a current image unit in reference frame compression. The image elements may for example comprise image strips.
In one embodiment, the value of the quantization parameter may be a predefined discrete value. The compression rate of the reference frame may become higher as the quantization parameter becomes larger.
In one embodiment, the quantization parameter is determined such that the actual bandwidth consumption of the current image unit is no greater than and closest to the target bandwidth. For example, the target bandwidth may be calculated according to the following manner:
1) obtaining a total bandwidth allocated for a video codec within the predetermined period of time;
2) calculating a bandwidth consumption in the video codec over the predetermined period of time; and
3) and calculating the difference value between the total bandwidth and the bandwidth consumption as the target bandwidth.
Here, the total bandwidth may be dynamically allocated. The bandwidth consumption may include bandwidth consumption for reference frame compression and reference frame decompression in a video codec, and bandwidth consumption for input frame and/or entropy coding.
The determination method of the quantization parameter is described in detail below with reference to fig. 3. As shown in fig. 3, the method begins at block 300.
Suppose BWreal(QP) represents the actual bandwidth consumption of the image slice to be compressed, QP being its corresponding quantization parameter. The adjustment of the compression rate of the image slice to be compressed is achieved by adjusting its quantization parameter QP. Increasing QP, the compression rate becomes higher; reducing QP, the compression rate becomes lower. In general, the value of QP is discrete and may be predefined. For example, QP may be setn(n-0, 1, 2, 3 …), wherein the smaller the value of n, the lower the QPnThe smaller, and QP0Representing lossless compression.
At block 310, BW is determinedreal(QP0)<=BWtarWhether or not this is true. If so, indicating that the target bandwidth can be met without lossless compression, at which point the method proceeds to block 330, where the quantization parameter QP is obtained0The current image slice employs lossless compression. If the determination at block 310 is negative,the method proceeds to block 320.
At block 320, lossy compression needs to be employed to meet the target bandwidth. The quantization parameter QP of the current picture slice is as small as possible so that the actual bandwidth consumes a QP less than or equal to the target bandwidth. That is, find QP QPn so that BWreal(QPn-1)>BWtarAnd BWreal(QPn)<=BWtar
At block 340, the actual bandwidth consumption of the current compressed image stripe is calculated and the BW is updatedtarQP value calculation for the next image slice to be compressed.
Finally, the method ends at block 350.
Fig. 4 is a block diagram illustrating a video codec according to an embodiment of the present application. The video codec can be applied to various platforms, such as a drone, an unmanned vehicle, or a robot. As shown in fig. 4, the video codec 40 includes a memory 410 and a processor 420.
The memory 410 stores program instructions. For example, the memory 410 may be Random Access Memory (RAM) or Read Only Memory (ROM), or any combination thereof. The memory 410 may also include persistent storage such as any one or combination of magnetic memory, optical memory, solid state memory, or even remotely mounted memory.
Processor 420 may include any combination of one or more Central Processing Units (CPUs), multiple processors, microcontrollers, Digital Signal Processors (DSPs), application specific integrated circuits, and the like.
Processor 420 may call program instructions stored in memory 410. When the program instructions are executed, processor 420 may perform the following operations: calculating bandwidth consumption in the video codec related to external data reading and writing; and determining parameters associated with reference frame compression based on the bandwidth consumption, the reference frame being used for inter-prediction.
In one example, processor 420 may invoke program instructions stored in memory 410. When the program instructions are executed, processor 420 may perform the following operations: bandwidth consumption is calculated for a predetermined period of time prior to the current point in time. The bandwidth consumption related to external data reading and writing may include bandwidth consumption for reference frame compression and reference frame decompression in the video codec. Alternatively, the bandwidth consumption related to external data reading and writing may also include the bandwidth consumption for input frame and/or entropy coding in the video codec.
In one example, processor 420 may invoke program instructions stored in memory 410. When the program instructions are executed, processor 420 may perform the following operations: a quantization parameter associated with a current image unit in reference frame compression is determined. The image unit may comprise an image strip.
In one example, the value of the quantization parameter may be a predefined discrete value. The compression rate of the reference frame may become higher as the quantization parameter becomes larger.
In one example, the bandwidth consumption for reference frame compression in a video codec may be calculated based on header information of the reference frame compression.
In one example, the bandwidth consumption for reference frame decompression in a video codec may be calculated based on the amount of data of reference frame compressed data read in within a predetermined time period T.
In one example, the bandwidth consumption for an input frame in a video codec may be calculated based on the amount of data of the input frame read in within a predetermined time period T.
In one example, the bandwidth consumption for entropy encoding in a video codec may be calculated based on the data amount of encoded data generated within a predetermined period of time T.
In one example, processor 420 may invoke program instructions stored in memory 410. When the program instructions are executed, processor 420 may perform the following operations: the quantization parameter is determined such that the actual bandwidth consumption of the current image unit is not greater than and closest to the target bandwidth.
In one example, processor 420 may invoke program instructions stored in memory 410. When the program instructions are executed, processor 420 may perform the following operations: obtaining a total bandwidth allocated for a video codec within the predetermined period of time; calculating a bandwidth consumption in the video codec over the predetermined period of time; and calculating a difference between the total bandwidth and the bandwidth consumption as the target bandwidth.
In one example, the total bandwidth may be dynamically allocated. The bandwidth consumption may include bandwidth consumption for reference frame compression and reference frame decompression in the video codec. Furthermore, the bandwidth consumption may also include bandwidth consumption for input frame and/or entropy coding in the video codec.
Furthermore, embodiments of the present application may be implemented by means of a computer program product. The computer program product may be a computer readable storage medium, for example. The computer readable storage medium stores a computer program, and when the computer program is executed on a computing device, the computer program can perform relevant operations to implement the above technical solutions of the embodiments of the present application.
For example, FIG. 5 is a block diagram illustrating a computer-readable storage medium 50 according to one embodiment of the application. As shown in fig. 5, the computer-readable storage medium 50 includes a computer program 510. The computer program 510, when executed by at least one processor, causes the at least one processor to perform the various steps of the method, for example, as described above in connection with fig. 3.
The computer program 510 stored on the computer-readable storage medium 50 may be loaded into the memory 410 of the video codec 40 shown in fig. 4, for example, so that the processor 420 of the video codec 40 performs a corresponding operation.
Those skilled in the art will appreciate that examples of computer-readable storage medium 50 include, but are not limited to: semiconductor storage media, optical storage media, magnetic storage media, or any other form of computer-readable storage media.
The method and the related apparatus of the embodiments of the present application have been described above in connection with preferred embodiments. Those skilled in the art will appreciate that the methods illustrated above are exemplary only. The methods of embodiments of the present application are not limited to the steps or sequences shown above. For example, the above steps may be performed in different steps from those in the embodiments of the invention, or in parallel.
It should be understood that the above-described embodiments of the present application may be implemented by software, hardware, or a combination of both software and hardware. Such arrangements of embodiments of the present application are typically provided as downloadable software images, shared databases, etc. arranged or encoded on a computer readable medium such as an optical medium (e.g., CD-ROM), floppy or hard disk, or other media such as firmware or microcode on one or more ROM or RAM or PROM chips, or in one or more modules. The software or firmware or such configurations may be installed on a computing device to cause one or more processors in the computing device to perform the techniques described in embodiments of the present application.
Furthermore, each functional block or respective feature of the device used in each of the above-described embodiments may be implemented or executed by a circuit, which is typically one or more integrated circuits. Circuitry designed to perform the various functions described in this specification may include a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC) or a general purpose integrated circuit, a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, or discrete hardware components, or any combination thereof. A general-purpose processor may be a microprocessor, or the processor may be an existing processor, controller, microcontroller, or state machine. The general-purpose processor or each circuit described above may be configured by a digital circuit, or may be configured by a logic circuit. Further, when advanced technology capable of replacing the current integrated circuit is developed due to the advancement of semiconductor technology, the embodiments of the present application can also use the integrated circuit obtained using the advanced technology.
The program running on the apparatus according to the embodiment of the present application may be a program that causes a computer to realize the functions of the embodiment of the present application by controlling a Central Processing Unit (CPU). The program or information processed by the program may be temporarily stored in a volatile memory (such as a random access memory RAM), a Hard Disk Drive (HDD), a nonvolatile memory (such as a flash memory), or other memory system. A program for realizing the functions of the embodiments of the present application may be recorded on a computer-readable recording medium. The corresponding functions can be realized by causing a computer system to read the programs recorded on the recording medium and execute the programs. The term "computer system" as used herein may be a computer system embedded in the device and may include an operating system or hardware (e.g., peripheral devices).
As above, the embodiments of the present application have been described in detail with reference to the accompanying drawings. However, the specific configuration is not limited to the above-described embodiment, and the embodiment of the present application also includes any design modification without departing from the gist of the embodiment of the present application. In addition, various modifications may be made to the embodiments described in the present application within the scope of the claims, and embodiments obtained by appropriately combining technical means of different embodiments are also included in the technical scope of the embodiments of the present application. Further, components having the same effects described in the above embodiments may be substituted for each other.

Claims (36)

  1. A video processing method, comprising:
    calculating bandwidth consumption in the video codec related to external data reading and writing; and
    determining parameters associated with reference frame compression based on the bandwidth consumption, the reference frame being used for inter-prediction.
  2. The method of claim 1, wherein calculating bandwidth consumption in the video codec related to external data reading and writing comprises: bandwidth consumption is calculated for a predetermined period of time prior to the current point in time.
  3. The method of claim 1, wherein the bandwidth consumption in the video codec related to external data reading and writing comprises: bandwidth consumption for reference frame compression and reference frame decompression in the video codec.
  4. The method of claim 1 or 3, wherein the bandwidth consumption in the video codec related to external data reading and writing further comprises: bandwidth consumption in the video codec for input frame and/or entropy coding.
  5. The method of claim 1, wherein determining parameters associated with reference frame compression comprises: a quantization parameter associated with a current image unit in reference frame compression is determined.
  6. The method of claim 3, wherein the bandwidth consumption for reference frame compression in the video codec is calculated based on header information of reference frame compression.
  7. The method of claim 3, wherein the bandwidth consumption for reference frame decompression in the video codec is calculated based on the data amount of reference frame compressed data read in within the predetermined time period.
  8. The method of claim 4, wherein the bandwidth consumption in the video codec for the input frame is calculated based on an amount of data of the input frame read in within the predetermined time period.
  9. The method of claim 4, wherein the bandwidth consumption for entropy coding in the video codec is calculated based on a data amount of encoded data generated within the predetermined period of time.
  10. The method of claim 5, wherein the image unit comprises an image strip.
  11. The method of claim 5, wherein the value of the quantization parameter is a predefined discrete value.
  12. The method of claim 11, wherein a compression rate of a reference frame becomes higher as the quantization parameter becomes larger.
  13. The method of claim 5, wherein the quantization parameter is determined such that an actual bandwidth consumption of a current image unit is not greater than and closest to a target bandwidth.
  14. The method of claim 13, wherein the target bandwidth is calculated according to:
    obtaining a total bandwidth allocated for a video codec within the predetermined period of time;
    calculating a bandwidth consumption in the video codec over the predetermined period of time; and
    and calculating the difference value between the total bandwidth and the bandwidth consumption as the target bandwidth.
  15. The method of claim 14, wherein the total bandwidth is dynamically allocated.
  16. The method of claim 14, wherein the bandwidth consumption comprises: bandwidth consumption for reference frame compression and reference frame decompression in the video codec.
  17. The method of claim 14, wherein the bandwidth consumption comprises: bandwidth consumption in the video codec for reference frame compression and reference frame decompression, and bandwidth consumption in the video codec for input frame and/or entropy coding.
  18. A video codec, comprising:
    a memory; and
    one or more processors communicatively coupled with the memory,
    wherein the memory has stored thereon instructions that, when executed by the one or more processors, cause the video codec to:
    calculating bandwidth consumption in the video codec related to external data reading and writing; and
    determining parameters associated with reference frame compression based on the bandwidth consumption, the reference frame being used for inter-prediction.
  19. The video codec of claim 18, wherein calculating bandwidth consumption in the video codec related to external data reading and writing comprises: bandwidth consumption is calculated for a predetermined period of time prior to the current point in time.
  20. The video codec of claim 18, wherein the bandwidth consumption in the video codec related to external data reading and writing includes: bandwidth consumption for reference frame compression and reference frame decompression in the video codec.
  21. The video codec of claim 18 or 20, wherein the bandwidth consumption in the video codec in relation to external data reading and writing further comprises: bandwidth consumption in the video codec for input frame and/or entropy coding.
  22. The video codec of claim 18, wherein determining parameters associated with reference frame compression comprises: a quantization parameter associated with a current image unit in reference frame compression is determined.
  23. The video codec of claim 20, wherein the bandwidth consumption for reference frame compression in the video codec is calculated based on header information of reference frame compression.
  24. The video codec of claim 20, wherein the bandwidth consumption for reference frame decompression in the video codec is calculated based on the data amount of reference frame compressed data read in within the predetermined period of time.
  25. The video codec of claim 21, wherein the bandwidth consumption in the video codec for an input frame is calculated based on an amount of data of the input frame read in within the predetermined time period.
  26. The video codec of claim 21, wherein the bandwidth consumption for entropy encoding in the video codec is calculated based on a data amount of encoded data generated within the predetermined period of time.
  27. The video codec of claim 22, wherein the picture unit comprises a picture slice.
  28. The video codec of claim 22, wherein the value of the quantization parameter is a predefined discrete value.
  29. The video codec of claim 28, wherein a compression rate of the reference frame becomes higher as the quantization parameter becomes larger.
  30. The video codec of claim 22, wherein the quantization parameter is determined such that an actual bandwidth consumption of a current picture unit is not greater than and closest to a target bandwidth.
  31. The video codec of claim 30, wherein the target bandwidth is calculated according to:
    obtaining a total bandwidth allocated for a video codec within the predetermined period of time;
    calculating a bandwidth consumption in the video codec over the predetermined period of time; and
    and calculating the difference value between the total bandwidth and the bandwidth consumption as the target bandwidth.
  32. The video codec of claim 31 wherein the total bandwidth is dynamically allocated.
  33. The video codec of claim 31, wherein the bandwidth consumption comprises: bandwidth consumption for reference frame compression and reference frame decompression in the video codec.
  34. The video codec of claim 31, wherein the bandwidth consumption comprises: bandwidth consumption in the video codec for reference frame compression and reference frame decompression, and bandwidth consumption in the video codec for input frame and/or entropy coding.
  35. A computer program comprising instructions for performing the method according to any one of claims 1-17 when run on one or more processors.
  36. A computer-readable storage medium storing a computer program according to claim 35.
CN201880042806.3A 2018-08-01 2018-08-01 Video processing apparatus and method Pending CN110945870A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/098072 WO2020024160A1 (en) 2018-08-01 2018-08-01 Video processing device and method

Publications (1)

Publication Number Publication Date
CN110945870A true CN110945870A (en) 2020-03-31

Family

ID=69230998

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880042806.3A Pending CN110945870A (en) 2018-08-01 2018-08-01 Video processing apparatus and method

Country Status (2)

Country Link
CN (1) CN110945870A (en)
WO (1) WO2020024160A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116600129A (en) * 2023-07-17 2023-08-15 芯动微电子科技(珠海)有限公司 Method, system and device for optimizing video decoding bandwidth

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070140334A1 (en) * 2005-12-20 2007-06-21 Shijun Sun Method and apparatus for dynamically adjusting quantization offset values
CN102427529A (en) * 2011-09-30 2012-04-25 北京暴风科技股份有限公司 Video coding and compressing method
CN102647586A (en) * 2011-02-16 2012-08-22 富士通株式会社 Code rate control method and device used in video coding system
CN105208390A (en) * 2014-06-30 2015-12-30 杭州海康威视数字技术股份有限公司 Code rate control method of video coding and system thereof
CN107113432A (en) * 2014-12-11 2017-08-29 英特尔公司 Rate Control for parallel video coding

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100442848C (en) * 2005-04-11 2008-12-10 华为技术有限公司 Method for controlling code rate in H263 coding
US8780717B2 (en) * 2006-09-21 2014-07-15 General Instrument Corporation Video quality of service management and constrained fidelity constant bit rate video encoding systems and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070140334A1 (en) * 2005-12-20 2007-06-21 Shijun Sun Method and apparatus for dynamically adjusting quantization offset values
CN102647586A (en) * 2011-02-16 2012-08-22 富士通株式会社 Code rate control method and device used in video coding system
CN102427529A (en) * 2011-09-30 2012-04-25 北京暴风科技股份有限公司 Video coding and compressing method
CN105208390A (en) * 2014-06-30 2015-12-30 杭州海康威视数字技术股份有限公司 Code rate control method of video coding and system thereof
CN107113432A (en) * 2014-12-11 2017-08-29 英特尔公司 Rate Control for parallel video coding

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116600129A (en) * 2023-07-17 2023-08-15 芯动微电子科技(珠海)有限公司 Method, system and device for optimizing video decoding bandwidth
CN116600129B (en) * 2023-07-17 2023-10-20 芯动微电子科技(珠海)有限公司 Method, system and device for optimizing video decoding bandwidth

Also Published As

Publication number Publication date
WO2020024160A1 (en) 2020-02-06

Similar Documents

Publication Publication Date Title
RU2696252C1 (en) Output of reference mode values and encoding and decoding of information representing prediction modes
US9369720B2 (en) Image coding apparatus and image coding method
US10291925B2 (en) Techniques for hardware video encoding
US8395634B2 (en) Method and apparatus for processing information
CN112203096B (en) Video encoding method, apparatus, computer device and storage medium
US8605792B2 (en) Slice coding allocation method, apparatus and circuit
US9621900B1 (en) Motion-based adaptive quantization
US20190261001A1 (en) Encoding video using palette prediction and intra-block copy
US20120087414A1 (en) Apparatus and method for processing video data
US10547838B2 (en) Encoding and decoding a video frame in separate processing units
US9955168B2 (en) Constraining number of bits generated relative to VBV buffer
EP4024872A1 (en) Video coding method and apparatus, video decoding method and apparatus, electronic device, and storage medium
WO2021159785A1 (en) Image processing method and apparatus, terminal, and computer-readable storage medium
TWI816684B (en) Video encoding device and encoder
CN108028938A (en) Method for video coding and device
US20110249959A1 (en) Video storing method and device based on variable bit allocation and related video encoding and decoding apparatuses
KR20170007665A (en) Rate control encoding method using skip mode information and therefore encoding device
US9270992B2 (en) Image coding apparatus, image coding method and program, image decoding apparatus, and image decoding method and program
CN110945870A (en) Video processing apparatus and method
US10728557B2 (en) Embedded codec circuitry for sub-block based entropy coding of quantized-transformed residual levels
US10750182B2 (en) Embedded codec circuitry for visual quality based allocation of refinement bits
WO2020037501A1 (en) Bit rate allocation method, bit rate control method, encoder, and recording medium
JP5111128B2 (en) Encoding apparatus, encoding apparatus control method, and computer program
KR101602871B1 (en) Method and apparatus for data encoding, method and apparatus for data decoding
US10728578B2 (en) Bias minimization for successive image reconstruction based on embedded codec circuitry

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200331

WD01 Invention patent application deemed withdrawn after publication