WO2020024160A1 - Video processing device and method - Google Patents

Video processing device and method Download PDF

Info

Publication number
WO2020024160A1
WO2020024160A1 PCT/CN2018/098072 CN2018098072W WO2020024160A1 WO 2020024160 A1 WO2020024160 A1 WO 2020024160A1 CN 2018098072 W CN2018098072 W CN 2018098072W WO 2020024160 A1 WO2020024160 A1 WO 2020024160A1
Authority
WO
WIPO (PCT)
Prior art keywords
bandwidth consumption
reference frame
bandwidth
decoder
video encoder
Prior art date
Application number
PCT/CN2018/098072
Other languages
French (fr)
Chinese (zh)
Inventor
陈秋伯
郑萧桢
Original Assignee
深圳市大疆创新科技有限公司
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 深圳市大疆创新科技有限公司 filed Critical 深圳市大疆创新科技有限公司
Priority to CN201880042806.3A priority Critical patent/CN110945870A/en
Priority to PCT/CN2018/098072 priority patent/WO2020024160A1/en
Publication of WO2020024160A1 publication Critical patent/WO2020024160A1/en

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

Definitions

  • Embodiments of the present application relate to the field of video processing. More specifically, embodiments of the present application relate to a video processing device and a corresponding method.
  • the encoding compression process includes prediction, transformation, quantization, and entropy encoding processes.
  • prediction includes two types of intra prediction and inter prediction, the purpose of which is to remove redundant information of the current image block to be encoded by using prediction block information.
  • Intra prediction uses the information of the frame image to obtain prediction block data
  • inter prediction uses the information of the reference frame to obtain prediction block data.
  • reference frame compression can be applied to compress the reference frame data, and the compression method and corresponding quantization parameters of the reference frame data are dynamically adjusted based on the bandwidth consumption of the video encoder / decoder to meet Bandwidth requirements and improve the quality of video images.
  • a first aspect of the embodiments of the present application provides a video processing method, including:
  • Parameters associated with compression of a reference frame are determined based on the bandwidth consumption, the reference frame being used for inter prediction.
  • a video encoder / decoder includes a memory and one or more processors communicatively coupled with the memory. Instructions are stored on the memory, and when the instructions are executed by the one or more processors, cause the video codec to:
  • Parameters associated with compression of a reference frame are determined based on the bandwidth consumption, the reference frame being used for inter prediction.
  • a computer program that, when the computer program is run by at least one processor, causes the at least one processor to execute the method according to the first aspect of the embodiment of the present application. method.
  • a computer-readable storage medium storing the computer program according to the third aspect of the embodiments of the present application.
  • the memory bandwidth constraints of the video codec can be effectively satisfied, and the quality of the video image is improved.
  • 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 flowchart 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 encoder / decoder 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.
  • reference frame compression usually has the following characteristics:
  • a It belongs to intra-frame compression, and only uses intra-frame information for residual prediction.
  • the compression unit is very small, such as 4x4 or 8x8 pixels;
  • the image tile is generally composed of multiple compression units and the start address is determined or can be located by other information;
  • the data stored in the external memory after the reference frame compression generally includes two parts: one is the compressed reference frame data, and the other is the reference frame header information.
  • the header information is not limited to the number of compressed bits of the compression unit.
  • Reference frame compression can be integrated in the video encoder / decoder 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 exactly 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 its compression rate changes dynamically with the video content, which causes the reference frame to read and write the external memory's bandwidth requirements also change dynamically and cannot be predicted.
  • bandwidth allocation needs to be considered in the worst case.
  • the worst case of lossless reference frame compression is the corresponding bandwidth requirement when it is not compressed, so the bandwidth requirement cannot actually be less.
  • lossy compression is that the compression efficiency is high.
  • the compression rate and the bandwidth of accessing external memory can be guaranteed within a certain range through the control of quantization parameters.
  • the disadvantage is that if the loss is too large, it will cause video encoding and decoding ends. Mismatch, affecting video image quality.
  • lossy compression is performed in a fixed compression rate (for example, fixed to half of the original data amount).
  • the quality loss may be large due to the need to compress to a fixed size.
  • the fixed compression rate does not consider the actual bandwidth consumption and cannot maximize the video encoding quality.
  • This method combines the characteristics of lossy and lossless compression, and dynamically adjusts whether to use lossy or lossless compression based on the bandwidth consumption of the video codec. , And the quantization parameters used in the case of lossy compression, so as to meet the storage bandwidth requirements of the video codec and improve the quality of the video image.
  • FIG. 1 is an overall schematic diagram showing a video codec scheme according to an embodiment of the present application.
  • the video encoder / decoder 10 includes a processing module 110, an entropy encoding module 120, a reference frame compression module 130, a reference frame decompression module 140, and a bandwidth consumption analysis module 160.
  • the video codec 10 may further include a selectable input frame decompression module 170 (shown by a dashed box).
  • the entropy encoding 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 encoder / decoder, and adjust the quantization parameter QP of the current image slice in the reference frame compression based on the analysis result, so as to dynamically adjust the reference frame compression in units of the image slice. Compression ratio.
  • the bandwidth consumption analysis module 160 can monitor the bandwidth consumption modules in the video encoder / decoder. These modules have data interaction (read or write) with the external memory, which is the bandwidth consumption of the video encoder / decoder.
  • the main source As shown in Figure 1, there are four modules:
  • Reference frame compression module 130 used to compress the reconstructed image encoded by the video, wherein the image data is stored in the external memory 150 in a compressed form;
  • Input frame decompression module 170 The input video of the video encoder / decoder may be stored in the external memory 150 after frame compression, so the compressed video data read from the external memory 150 needs to be decompressed by the input frame decompression module and then sent to the video The codec performs video encoding. It should be noted that if this module does not exist, the input frame is read from the external memory 150 as the original data;
  • Reference frame decompression module 140 read the data compressed by the reference frame compression module 130 from the external memory 150, and perform decompression for inter prediction;
  • Entropy encoding module 120 used to generate an encoded code stream of a video encoder / decoder.
  • the bandwidth consumption analysis module 160 reads corresponding information from one or more of the four modules to analyze the bandwidth consumption. For example, when considering all these 4 modules, the total bandwidth consumption BW all can be expressed by:
  • BW all BW a + BW b + BW c + BW d (1)
  • BW a , BW b , BW c , and BW d respectively represent the bandwidth consumption generated by the reference frame compression module 130, the input frame decompression module 170, the reference frame decompression module 140, and the entropy encoding module 120.
  • the above components are statistics of the bandwidth consumption in the time period T from the current time point.
  • the bandwidth consumption of each module corresponding to the first L (corresponding to the T time period) video coding unit may be counted.
  • the main reason to consider the bandwidth consumption in the T time period, not just the current time point, is to reduce the quality loss of the difficult-to-compress image area in order to meet the target bandwidth.
  • the T time period is equivalent to considering the bandwidth constraint in a larger range, and the average compression ratio of the image in the larger time range is better than the compression ratio of the instantaneous difficult compression region. Therefore, the target bandwidth constraint is weakened, so that the overall image quality is improved.
  • BW all BW a + BW c .
  • BW all BW a + BW c + BW d .
  • BW all BW a + BW b + BW c .
  • the calculation of BW a can be obtained by calculating the header information of the reference frame compression. Specifically, during the reference frame compression process, additional header information is stored while the compressed data is being stored for reference frame decompression. This header usually contains the number of compressed bits of an image slice. From this, the bandwidth consumption of an image slice can be calculated. Assuming that the writing of n image bands is completed within the time period T, the calculation formula of BW a is:
  • bits_i is the number of compressed bits of the i-th image slice, which is provided by the header information of the corresponding image slice.
  • the function bandwidth () converts the number of compressed bits into bandwidth consumption, which is related to the storage controller used by the system and its configuration parameters for reading and writing external memory.
  • the bandwidth consumption is the amount of raw data read in the previous T period; if there is an input frame decompression module 170, the bandwidth consumption is read in the T period The bandwidth consumed by the input frame to compress the data.
  • the bandwidth consumption is the bandwidth consumed by the reference frame compression data of multiple image strips read in the T period, which can be calculated using the above equation (2).
  • the entropy coding module 120 can count the number of coding bits generated in the T time period and convert it into corresponding bandwidth consumption.
  • the above calculation of BW all is used to dynamically adjust the compression rate of the current image slice in the reference frame compression module 130 so as to meet the target bandwidth limit BW codec of the allocated video codec .
  • the BW codec is the target bandwidth in the T period, which can be a fixed broadband or a target bandwidth that is dynamically allocated to the video codec at the system level.
  • the target bandwidth BW tar of the to-be-compressed image slice of the current reference frame is:
  • FIG. 2 is a flowchart illustrating a video encoding and decoding method according to an embodiment of the present application.
  • a bandwidth consumption related to reading and writing of external data in the video codec is calculated.
  • the “bandwidth consumption related to reading and writing of external data” refers to a bandwidth consumed by a read and write operation with an external memory (such as the external memory 150 in FIG. 1) (BW all above).
  • the bandwidth consumption related to reading and writing of external data may include bandwidth consumption for reference frame compression and reference frame decompression.
  • the bandwidth consumption related to external data reading and writing may also include the bandwidth consumption for input frames and / or entropy coding.
  • calculating the bandwidth consumption related to the reading and writing of external data in the video codec may include calculating the bandwidth consumption within a predetermined time period T before the current time point. This can reduce the difficulty in compressing the image region from suffering a large quality loss in order to satisfy the target bandwidth.
  • the bandwidth consumption for reference frame compression in the video codec (eg, BW a above) may be calculated based on the header information of the reference frame compression.
  • the bandwidth consumption (for example, BW b above) of the input frame in the video encoder / decoder may be calculated based on the data amount of the input frame read in within the predetermined time period T.
  • the bandwidth consumption (such as BW c above) for decompressing the reference frame in the video encoder / decoder may be calculated based on the data amount of the reference frame compression data read in within a predetermined time period T.
  • the bandwidth consumption (such as BW d above) used for entropy coding in the video encoder / decoder may be calculated based on the data amount of the encoded data generated within the predetermined time period T.
  • determining a parameter associated with reference frame compression may include determining a quantization parameter associated with a current image unit in the reference frame compression.
  • the image unit may include, for example, an image strip.
  • the value of the quantization parameter may be a predefined discrete value.
  • the compression ratio of the reference frame can become higher as the quantization parameter becomes larger.
  • the quantization parameter is determined such that the actual bandwidth consumption of the current image unit is not greater than the target bandwidth and is closest to the target bandwidth.
  • the target bandwidth may be calculated in the following manner:
  • Bandwidth consumption may include bandwidth consumption in a video codec for reference frame compression and reference frame decompression, and bandwidth consumption for input frames and / or entropy coding.
  • the method for determining the quantization parameter is described in detail below with reference to FIG. 3. As shown in FIG. 3, the method starts at block 300.
  • QP BW real
  • QP the actual bandwidth consumption of the image slice to be compressed
  • QP is its corresponding quantization parameter.
  • the compression ratio adjustment of the image band to be compressed is achieved by adjusting its quantization parameter QP.
  • FIG. 4 is a block diagram illustrating a video encoder / decoder according to an embodiment of the present application.
  • the video codec can be applied to a variety of platforms, such as drones, drones, or robots.
  • the video codec 40 includes a memory 410 and a processor 420.
  • the memory 410 stores program instructions.
  • the memory 410 may be a random access memory (RAM) or a read-only memory (ROM), or any combination thereof.
  • the memory 410 may also include a persistent storage device such as any one or a combination of magnetic memory, optical memory, solid state memory, or even remotely mounted memory.
  • the processor 420 may include any combination of one or more of a central processing unit (CPU), a multi-processor, a microcontroller, a digital signal processor (DSP), an application specific integrated circuit, and the like.
  • CPU central processing unit
  • DSP digital signal processor
  • the processor 420 may call a program instruction stored in the memory 410. When the program instructions are executed, the processor 420 may perform the following operations: calculate a bandwidth consumption related to reading and writing of external data in the video codec; and determine a bandwidth consumption associated with reference frame compression based on the bandwidth consumption Parameter, the reference frame is used for inter prediction.
  • the processor 420 may call program instructions stored in the memory 410. When the program instructions are executed, the processor 420 may perform the following operations: calculate a bandwidth consumption in a predetermined period of time before a current point in time.
  • the bandwidth consumption related to reading and writing of external data may include bandwidth consumption for compression and decompression of reference frames in the video codec.
  • the bandwidth consumption related to external data reading and writing may also include the bandwidth consumption for input frames and / or entropy coding in the video encoder / decoder.
  • the processor 420 may call program instructions stored in the memory 410. When the program instructions are executed, the processor 420 may perform the following operations: determine a quantization parameter associated with the current picture unit in the reference frame compression.
  • the image unit may include an image strip.
  • the value of the quantization parameter may be a predefined discrete value.
  • the compression ratio of the reference frame can become higher as the quantization parameter becomes larger.
  • the bandwidth consumption for reference frame compression in a video codec can be calculated based on the header information of the reference frame compression.
  • the bandwidth consumption for reference frame decompression in the video encoder / decoder may be calculated based on the data amount of the reference frame compression data read in within a predetermined time period T.
  • the bandwidth consumption for the input frame in the video encoder / decoder may be calculated based on the data amount of the input frame read in within the predetermined time period T.
  • the bandwidth consumption for entropy encoding in a video encoder / decoder may be calculated based on the data amount of the encoded data generated within the predetermined time period T.
  • the processor 420 may call program instructions stored in the memory 410. When the program instructions are executed, the processor 420 may perform the following operations: determine the quantization parameter so that the actual bandwidth consumption of the current image unit is not greater than the target bandwidth and is closest to the target bandwidth.
  • the processor 420 may call program instructions stored in the memory 410. When the program instructions are executed, the processor 420 may perform the following operations: obtain the total bandwidth allocated to the video codec within the predetermined time period; and calculate the video codec within the predetermined time period Bandwidth consumption; and calculating a difference between the total bandwidth and the bandwidth consumption as the target bandwidth.
  • the total bandwidth may be dynamically allocated.
  • the bandwidth consumption may include bandwidth consumption in the video codec for reference frame compression and reference frame decompression.
  • the bandwidth consumption may also include the bandwidth consumption in the video codec for input frames and / or entropy coding.
  • the 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.
  • a computer program is stored on a computer-readable storage medium.
  • FIG. 5 is a block diagram illustrating a computer-readable storage medium 50 according to an embodiment of the embodiment of the present application.
  • 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 various steps of, for example, the method described above in connection with FIG.
  • 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.
  • examples of the computer-readable storage medium 50 include, but are not limited to, a semiconductor storage medium, an optical storage medium, a magnetic storage medium, or any other form of computer-readable storage medium.
  • each functional module or individual feature of the device used in each of the above embodiments may be implemented or performed by a circuit, which is typically one or more integrated circuits.
  • Circuits designed to perform the functions described in this specification may include general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs) or general-purpose integrated circuits, field-programmable gate arrays (FPGAs), or other Programming logic devices, discrete gate or transistor logic, or discrete hardware components, or any combination of the above.
  • a general-purpose processor may be a microprocessor, or the processor may be an existing processor, controller, microcontroller, or state machine.
  • the above-mentioned general-purpose processor or each circuit may be configured by a digital circuit, or may be configured by a logic circuit.
  • the embodiments of the present application may also use integrated circuits obtained using the advanced technologies.
  • the program running on the device 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 volatile memory (such as random access memory RAM), hard disk drive (HDD), non-volatile memory (such as flash memory), or other memory systems.
  • a program for implementing the functions of the embodiments of the present application may be recorded on a computer-readable recording medium. Corresponding functions can be realized by causing a computer system to read programs recorded on the recording medium and execute the programs.
  • the so-called "computer system” herein may be a computer system embedded in the device, and may include an operating system or hardware (such as a peripheral device).

Abstract

Provided is a video processing method. The method comprises: calculating bandwidth consumption incurred in a video codec and related to reading and writing of external data; and determining, on the basis of the bandwidth consumption, a parameter associated with compression of a reference frame, the reference frame being applied to inter-frame prediction. The solution provided by the present application can be used to effectively meet storage bandwidth limitation of video codecs.

Description

视频处理设备和方法Video processing device and method 技术领域Technical field
本申请的实施例涉及视频处理领域。更具体地,本申请的实施例涉及一种视频处理设备和相应的方法。Embodiments of the present application relate to the field of video processing. More specifically, embodiments of the present application relate to a video processing device and a corresponding method.
背景技术Background technique
为了减少视频存储和传输所占用的带宽,通常需要对视频数据进行编码压缩处理。编码压缩处理过程包括预测、变换、量化和熵编码过程。其中,预测包括帧内预测和帧间预测两种类型,其目的在于利用预测块信息去除当前待编码图像块的冗余信息。帧内预测利用本帧图像的信息获得预测块数据,而帧间预测利用参考帧的信息获得预测块数据。In order to reduce the bandwidth occupied by video storage and transmission, video data usually needs to be encoded and compressed. The encoding compression process includes prediction, transformation, quantization, and entropy encoding processes. Among them, prediction includes two types of intra prediction and inter prediction, the purpose of which is to remove redundant information of the current image block to be encoded by using prediction block information. Intra prediction uses the information of the frame image to obtain prediction block data, and inter prediction uses the information of the reference frame to obtain prediction block data.
通常,需要大量的参考帧数据进行帧间预测,而这些参考帧数据通常存储于外部存储器中。读写这些参考帧数据将消耗大量的带宽。随着视频分辨率不断提升,急剧增长的带宽需求以及存储器功耗的增大,成为亟待解决的问题。Generally, a large amount of reference frame data is required for inter prediction, and these reference frame data are usually stored in an external memory. Reading and writing these reference frame data will consume a lot of bandwidth. With the continuous improvement of video resolution, the sharply increasing bandwidth requirements and the increase in memory power consumption have become urgent problems.
发明内容Summary of the invention
本申请提出,在视频编解码过程中,可以应用参考帧压缩来压缩参考帧数据,并且基于视频编/解码器的带宽消耗来动态地调整参考帧数据的压缩方式和相应的量化参数,以满足带宽需求并提升视频图像的质量。This application proposes that during the video encoding and decoding process, reference frame compression can be applied to compress the reference frame data, and the compression method and corresponding quantization parameters of the reference frame data are dynamically adjusted based on the bandwidth consumption of the video encoder / decoder to meet Bandwidth requirements and improve the quality of video images.
本申请的实施例的第一方面,提供了一种视频处理方法,包括:A first aspect of the embodiments of the present application provides a video processing method, including:
计算视频编/解码器中的与外部数据读写有关的带宽消耗;以及Calculate the bandwidth consumption associated with reading and writing external data in the video codec; and
基于所述带宽消耗来确定与参考帧压缩相关联的参数,所述参考帧用于帧间预测。Parameters associated with compression of a reference frame are determined based on the bandwidth consumption, the reference frame being used for inter prediction.
本申请的实施例的第二方面,提供了一种视频编/解码器。该视频编/解码器包括存储器以及与所述存储器通信耦合的一个或更多个处理器。所述存储器上存储有指令,当所述指令由所述一个或更多个处理器执行时,使所述视频编/解码器:According to a second aspect of the embodiments of the present application, a video encoder / decoder is provided. The video codec includes a memory and one or more processors communicatively coupled with the memory. Instructions are stored on the memory, and when the instructions are executed by the one or more processors, cause the video codec to:
计算所述视频编/解码器中的与外部数据读写有关的带宽消耗;以及Calculating the bandwidth consumption related to reading and writing of external data in the video codec; and
基于所述带宽消耗来确定与参考帧压缩相关联的参数,所述参考帧用于帧间预测。Parameters associated with compression of a reference frame are determined based on the bandwidth consumption, the reference frame being used for inter prediction.
根据本申请的实施例的第三方面,提供了一种计算机程序,当所述计算机程序由至少一个处理器运行时,使至少一个处理器执行根据本申请的实施例的第一方面所述的方法。According to a third aspect of the embodiments of the present application, there is provided a computer program that, when the computer program is run by at least one processor, causes the at least one processor to execute the method according to the first aspect of the embodiment of the present application. method.
根据本申请的实施例的第四方面,提供了一种计算机可读存储介质,存储有根据本申请的实施例的第三方面所述的计算机程序。According to a fourth aspect of the embodiments of the present application, there is provided a computer-readable storage medium storing the computer program according to the third aspect of the embodiments of the present application.
采用本申请的实施例,能够有效地满足视频编/解码器的存储带宽约束,并且提升了视频图像的质量。By adopting the embodiments of the present application, the memory bandwidth constraints of the video codec can be effectively satisfied, and the quality of the video image is improved.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
通过下文结合附图的详细描述,本申请的实施例的上述和其它特征将会变得更加明显,其中:The above and other features of the embodiments of the present application will become more apparent through the following detailed description in conjunction with the accompanying drawings, in which:
图1是示出了根据本申请的实施例的视频编解码方案的示意图。FIG. 1 is a schematic diagram illustrating a video codec scheme according to an embodiment of the present application.
图2是示出了根据本申请的实施例的视频编解码方法的流程图。FIG. 2 is a flowchart illustrating a video encoding and decoding method according to an embodiment of the present application.
图3是示出了根据本申请的实施例的确定量化参数的方法的流程图。FIG. 3 is a flowchart illustrating a method of determining a quantization parameter according to an embodiment of the present application.
图4是示出了根据本申请的实施例的视频编/解码器的框图。FIG. 4 is a block diagram illustrating a video encoder / decoder according to an embodiment of the present application.
图5是示出了根据本申请的实施例的计算机可读存储介质的示意图。FIG. 5 is a schematic diagram illustrating a computer-readable storage medium according to an embodiment of the present application.
需要注意的是,附图不一定按比例绘制,重点在于示出本申请的实施例的技术的原理。另外,为了清楚起见,贯穿附图中的相似的附图标记指代相似的元素。It should be noted that the drawings are not necessarily drawn to scale, and the focus is on illustrating the technical principles of the embodiments of the present application. In addition, for the sake of clarity, like reference numerals refer to like elements throughout the drawings.
具体实施方式detailed description
下面将结合本申请的实施例中的附图,对本申请的实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。The technical solutions in the embodiments of the present application will be clearly described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, but not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by a person of ordinary skill in the art without creative efforts 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 specification of the present application is only for the purpose of describing specific embodiments, and is not intended to limit the present application. The term "and / or" as used herein includes any and all combinations of one or more of the associated listed items.
如上所述,视频编/解码器通常需要大量的参考帧数据进行帧间预测。在视频编/解码器电路设计中,这些参考视频帧通常存于外部存储器中,因而读写这些视频参考帧将消耗大量的存储带宽。为了满足视频帧间预测随机并大量访问参考帧的特性,参考帧压缩通常具有以下特点:As mentioned above, video codecs usually require a large amount of reference frame data for inter prediction. In video codec circuit design, these reference video frames are usually stored in external memory, so reading and writing these video reference frames will consume a lot of memory bandwidth. In order to meet the characteristics of video inter-frame prediction that randomly accesses a large number of reference frames, reference frame compression usually has the following characteristics:
a.属于帧内压缩,仅利用帧内信息进行残差预测,一般压缩单元很小,如4x4或者8x8个像素等;a. It belongs to intra-frame compression, and only uses intra-frame information for residual prediction. Generally, the compression unit is very small, such as 4x4 or 8x8 pixels;
b.以图像条带(tile)为大小进行读写外部存储器,图像条带一般由多个压缩单元组成并且开始地址是确定的或者可以通过其它信息来定位;b. Read and write external memory with the image tile as the size. The image tile is generally composed of multiple compression units and the start address is determined or can be located by other information;
c.为了支持高并行解码吞吐率,通常需要存储额外的头信息指示每个压缩单元的压缩比特数。经过参考帧压缩后存储于外部存储器的数据一般包括两部分:一是压缩后参考帧数据,二是参考帧头信息。然而,头信息不限于压缩单元的压缩比特数。c. To support high parallel decoding throughput, it is usually necessary to store additional header information indicating the number of compressed bits per compression unit. The data stored in the external memory after the reference frame compression generally includes two parts: one is the compressed reference frame data, and the other is the reference frame header information. However, the header information is not limited to the number of compressed bits of the compression unit.
视频编/解码器中可以集成参考帧压缩,以便有效减少读写参考帧数据引发的大量带宽资源消耗。参考帧压缩可以分为有损压缩和无损压缩。无损压缩的优点是保证参考帧数据编码前和解码后完全一样,视频编码质量不受影响。无损压缩的缺点是压缩效率低,且其压缩率是随着视频内容动态变化的,导致参考帧读写外部存储器的带宽需求也是动态变化且无法预知。一般来说,需要按照最坏情况去考虑带宽分配。无损参考帧压缩的最坏情况为不压缩时对应的带宽需求,因而实际上不能较少带宽需求。Reference frame compression can be integrated in the video encoder / decoder 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 exactly 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 its compression rate changes dynamically with the video content, which causes the reference frame to read and write the external memory's bandwidth requirements also change dynamically and cannot be predicted. Generally speaking, bandwidth allocation needs to be considered in the worst case. The worst case of lossless reference frame compression is the corresponding bandwidth requirement when it is not compressed, so the bandwidth requirement cannot actually be less.
有损压缩的优点是压缩效率较高,压缩率及访问外部存储器的带宽通过量化参数的控制可以保证在一定范围内,其缺点是如果有损程度过大,则会导致视频编码端和解码端不匹配,影响视频图像质量。通常,以固定压缩率的方式进行有损压缩(比如固定为压缩到原始数据量的一半)。然而,对于较难压缩的参考帧压缩单元,由于需要压缩到固定的大小,质量损失可能较大。此外,固定压缩率没有考虑实际带宽消耗,不能最大化视频编码质量。The advantage of lossy compression is that the compression efficiency is high. The compression rate and the bandwidth of accessing external memory can be guaranteed within a certain range through the control of quantization parameters. The disadvantage is that if the loss is too large, it will cause video encoding and decoding ends. Mismatch, affecting video image quality. Generally, lossy compression is performed in a fixed compression rate (for example, fixed to half of the original data amount). However, for reference frame compression units that are difficult to compress, the quality loss may be large due to the need to compress to a fixed size. In addition, the fixed compression rate does not consider the actual bandwidth consumption and cannot maximize the video encoding quality.
考虑到以上情况,下文提出了一种调整参考帧压缩率的方法,该方法结 合有损压缩和无损压缩的特点,基于视频编/解码器的带宽消耗来动态调整是使用有损压缩还是无损压缩、以及在使用有损压缩的情况下所采用的量化参数,从而满足视频编/解码器的存储带宽需求并提升视频图像的质量。In view of the above, a method for adjusting the reference frame compression rate is proposed below. This method combines the characteristics of lossy and lossless compression, and dynamically adjusts whether to use lossy or lossless compression based on the bandwidth consumption of the video codec. , And the quantization parameters used in the case of lossy compression, so as to meet the storage bandwidth requirements of the video codec and improve the quality of the video image.
图1是示出了根据本申请的实施例的视频编解码方案的总体示意图。如图1所示,该视频编/解码器10包括处理模块110、熵编码模块120、参考帧压缩模块130、参考帧解压模块140、带宽消耗分析模块160。备选地,视频编/解码器10还可以包括可选择的输入帧解压模块170(虚线框所示)。熵编码模块120、参考帧压缩模块130、参考帧解压模块140和可选择的输入帧解压模块170均能够执行与外部存储器150的数据读/写操作。FIG. 1 is an overall schematic diagram showing a video codec scheme according to an embodiment of the present application. As shown in FIG. 1, the video encoder / decoder 10 includes a processing module 110, an entropy encoding 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 further include a selectable input frame decompression module 170 (shown by a dashed box). The entropy encoding 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.
带宽消耗分析模块160用于分析视频编/解码器的带宽消耗,并且基于分析结果调整参考帧压缩中当前图像条带的量化参数QP,从而以图像条带为单位动态地调整用于参考帧压缩的压缩率。The bandwidth consumption analysis module 160 is used to analyze the bandwidth consumption of the video encoder / decoder, and adjust the quantization parameter QP of the current image slice in the reference frame compression based on the analysis result, so as to dynamically adjust the reference frame compression in units of the image slice. Compression ratio.
具体说来,带宽消耗分析模块160可以监测视频编/解码器中的带宽消耗模块,这些模块与外部存储器之间存在数据交互(读出或者写入),因而是视频编/解码器带宽消耗的主要来源。如图1所示,主要有4个模块,分别为:Specifically, the bandwidth consumption analysis module 160 can monitor the bandwidth consumption modules in the video encoder / decoder. These modules have data interaction (read or write) with the external memory, which is the bandwidth consumption of the video encoder / decoder. The main source. As shown in Figure 1, there are four modules:
a)参考帧压缩模块130:用于压缩视频编码的重建图像,其中图像数据以压缩后的形式存储在外部存储器150中;a) Reference frame compression module 130: used to compress the reconstructed image encoded by the video, wherein the image data is stored in the external memory 150 in a compressed form;
b)输入帧解压模块170:视频编/解码器的输入视频可能经过帧压缩后存入外部存储器150,因而从外部存储器150读出的压缩视频数据需要经过输入帧解压模块解压170后再送入视频编/解码器进行视频编码。需要说明的是,若此模块不存在,则输入帧以原始数据的方式从外部存储器150中读出;b) Input frame decompression module 170: The input video of the video encoder / decoder may be stored in the external memory 150 after frame compression, so the compressed video data read from the external memory 150 needs to be decompressed by the input frame decompression module and then sent to the video The codec performs video encoding. It should be noted that if this module does not exist, the input frame is read from the external memory 150 as the original data;
c)参考帧解压模块140:从外部存储器150中读出经参考帧压缩模块130压缩后的数据,执行解压后用于帧间预测;c) Reference frame decompression module 140: read the data compressed by the reference frame compression module 130 from the external memory 150, and perform decompression for inter prediction;
d)熵编码模块120:用于产生视频编/解码器的编码码流。d) Entropy encoding module 120: used to generate an encoded code stream of a video encoder / decoder.
带宽消耗分析模块160从这4个模块中的一个或更多个模块读入相应信息进行带宽消耗的分析。例如,当考虑所有这4个模块时,总带宽消耗BW all可以由下式表达: The bandwidth consumption analysis module 160 reads corresponding information from one or more of the four modules to analyze the bandwidth consumption. For example, when considering all these 4 modules, the total bandwidth consumption BW all can be expressed by:
BW all=BW a+BW b+BW c+BW d   (1) BW all = BW a + BW b + BW c + BW d (1)
上式中BW a、BW b、BW c、BW d分别表示参考帧压缩模块130、输入帧解压模块170、参考帧解压模块140和熵编码模块120产生的带宽消耗。 In the above formula, BW a , BW b , BW c , and BW d respectively represent the bandwidth consumption generated by the reference frame compression module 130, the input frame decompression module 170, the reference frame decompression module 140, and the entropy encoding module 120.
优选地,对于任何时间点计算的BW all,上述各分量都是统计从当前时间点往前T时间段内的带宽消耗。例如,可以统计前L个(对应T时间段)视频编码单元编码过程中对应的各个模块的带宽消耗。考虑T时间段内的带宽消耗而不仅仅是当前时间点的带宽消耗的主要原因是:减少为了满足目标带宽而使得难压缩图像区域遭受较大的质量损失。换句话说,T时间段相当于是在更大的一个范围内考虑带宽约束,而更大时间范围内图像平均压缩率优于瞬时难压缩区域的压缩率。因此,目标带宽约束被减弱,从而使得图像整体质量得到提升。 Preferably, for the BW all calculated at any time point, the above components are statistics of the bandwidth consumption in the time period T from the current time point. For example, the bandwidth consumption of each module corresponding to the first L (corresponding to the T time period) video coding unit may be counted. The main reason to consider the bandwidth consumption in the T time period, not just the current time point, is to reduce the quality loss of the difficult-to-compress image area in order to meet the target bandwidth. In other words, the T time period is equivalent to considering the bandwidth constraint in a larger range, and the average compression ratio of the image in the larger time range is better than the compression ratio of the instantaneous difficult compression region. Therefore, the target bandwidth constraint is weakened, so that the overall image quality is improved.
需要指出的是,尽管在等式(1)中计算BW all时用到了BW a、BW b、BW c、BW d这4个分量,然而可以用更少的分量来计算BW all,或者可以增加其他占用了带宽消耗的分量来计算BW all。例如,当仅需考虑参考帧压缩模块130和参考帧解压模块140的带宽消耗时,BW all=BW a+BW c。在另一个示例中,可以考虑参考帧压缩模块130和参考帧解压模块140以及熵编码模块120的带宽消耗,即BW all=BW a+BW c+BW d。备选地,也可以考虑参考帧压缩模块130和参考帧解压模块140以及输入帧解压模块170的带宽消耗,即BW all=BW a+BW b+BW cIt is noted that, although use of BW a BW all calculated in Equation (1), BW b, BW c, BW d four components, but with fewer components to calculate the BW all, or may be added The other components that take up bandwidth consumption are used to calculate BW all . For example, when only the bandwidth consumption of the reference frame compression module 130 and the reference frame decompression module 140 need to be considered, BW all = BW a + BW c . In another example, the bandwidth consumption of the reference frame compression module 130 and the reference frame decompression module 140 and the entropy encoding module 120 may be considered, that is, BW all = BW a + BW c + BW d . Alternatively, the bandwidth consumption of the reference frame compression module 130 and the reference frame decompression module 140 and the input frame decompression module 170 may also be considered, that is, BW all = BW a + BW b + BW c .
对于BW a的计算,可以通过参考帧压缩的头信息计算而得到。具体地,在参考帧压缩过程中,在存储压缩数据的同时会保存额外的头信息用于参考帧解压。这个头信息通常包含了一个图像条带的压缩比特数。由此,可以计算一个图像条带的带宽消耗。假设在T时间段内完成了n个图像条带的写入,则BW a计算公式为: The calculation of BW a can be obtained by calculating the header information of the reference frame compression. Specifically, during the reference frame compression process, additional header information is stored while the compressed data is being stored for reference frame decompression. This header usually contains the number of compressed bits of an image slice. From this, the bandwidth consumption of an image slice can be calculated. Assuming that the writing of n image bands is completed within the time period T, the calculation formula of BW a is:
Figure PCTCN2018098072-appb-000001
Figure PCTCN2018098072-appb-000001
上式中,bits_i是第i个图像条带的压缩比特数,其由对应图像条带的头信息来提供。函数bandwidth()将压缩比特数转换为带宽消耗,它和系统所采用的存储控制器及其读写外部存储器的配置参数有关。In the above formula, bits_i is the number of compressed bits of the i-th image slice, which is provided by the header information of the corresponding image slice. The function bandwidth () converts the number of compressed bits into bandwidth consumption, which is related to the storage controller used by the system and its configuration parameters for reading and writing external memory.
对于BW b的计算,如果没有输入帧解压模块170,则带宽消耗就是在之前的T时间段内读入的原始数据量;如果存在输入帧解压模块170,则带宽消耗为T时间段内读入的输入帧压缩数据所消耗的带宽。 For the calculation of BW b , if there is no input frame decompression module 170, the bandwidth consumption is the amount of raw data read in the previous T period; if there is an input frame decompression module 170, the bandwidth consumption is read in the T period The bandwidth consumed by the input frame to compress the data.
对于BW c的计算,带宽消耗为T时间段内读入的多个图像条带的参考帧压缩数据所消耗的带宽,可以采用上面的等式(2)来计算。 For the calculation of BW c , the bandwidth consumption is the bandwidth consumed by the reference frame compression data of multiple image strips read in the T period, which can be calculated using the above equation (2).
对于BW d的计算,可由熵编码模块120统计T时间段内产生的编码比特数,并将其转换为对应的带宽消耗。 For the calculation of BW d , the entropy coding module 120 can count the number of coding bits generated in the T time period and convert it into corresponding bandwidth consumption.
上述BW all的计算被用于动态调整参考帧压缩模块130中的当前图像条带的压缩率,从而满足所分配的视频编/解码器的目标带宽限制BW codec。BW codec是T时间段内的目标带宽,其可以是固定宽带,也可以是在系统层级动态分配给视频编/解码器的目标带宽。当前参考帧的待压缩图像条带的目标带宽BW tar为: The above calculation of BW all is used to dynamically adjust the compression rate of the current image slice in the reference frame compression module 130 so as to meet the target bandwidth limit BW codec of the allocated video codec . The BW codec is the target bandwidth in the T period, which can be a fixed broadband or a target bandwidth that is dynamically allocated to the video codec at the system level. The target bandwidth BW tar of the to-be-compressed image slice of the current reference frame is:
BW tar=BW codec-BW all     (3) BW tar = BW codec -BW all (3)
图2是示出了根据本申请的实施例的视频编解码方法的流程图。FIG. 2 is a flowchart illustrating a video encoding and decoding method according to an embodiment of the present application.
在步骤S210,计算视频编/解码器中的与外部数据读写有关的带宽消耗。这里,“与外部数据读写有关的带宽消耗”是指与外部存储器(例如图1中的外部存储器150)的读写操作所消耗的带宽(上文中的BW all)。例如,如上文所述,与外部数据读写有关的带宽消耗可以包括用于参考帧压缩和参考帧解压的带宽消耗。备选地,与外部数据读写有关的带宽消耗还可以包括用于输入帧和/或熵编码的带宽消耗。 In step S210, a bandwidth consumption related to reading and writing of external data in the video codec is calculated. Here, the “bandwidth consumption related to reading and writing of external data” refers to a bandwidth consumed by a read and write operation with an external memory (such as the external memory 150 in FIG. 1) (BW all above). For example, as described above, the bandwidth consumption related to reading and writing of external data 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 frames and / or entropy coding.
在一个实施例中,计算视频编/解码器中的与外部数据读写有关的带宽消耗可以包括:计算当前时间点之前的预定时间段T内的带宽消耗。这能够减少为了满足目标带宽而使得难压缩图像区域遭受较大的质量损失。In one embodiment, calculating the bandwidth consumption related to the reading and writing of external data in the video codec may include calculating the bandwidth consumption within a predetermined time period T before the current time point. This can reduce the difficulty in compressing the image region from suffering a large quality loss in order to satisfy the target bandwidth.
在一个实施例中,可以基于参考帧压缩的头信息来计算视频编/解码器中用于参考帧压缩的带宽消耗(例如上文的BW a)。 In one embodiment, the bandwidth consumption for reference frame compression in the video codec (eg, BW a above) may be calculated based on the header information of the reference frame compression.
在一个实施例中,可以基于在预定时间段T内读入的输入帧的数据量,计算视频编/解码器中用于输入帧的带宽消耗(例如上文的BW b)。 In one embodiment, the bandwidth consumption (for example, BW b above) of the input frame in the video encoder / decoder may be calculated based on the data amount of the input frame read in within the predetermined time period T.
在一个实施例中,可以基于在预定时间段T内读入的参考帧压缩数据的数据量,计算视频编/解码器中用于参考帧解压的带宽消耗(例如上文的BW c)。 In one embodiment, the bandwidth consumption (such as BW c above) for decompressing the reference frame in the video encoder / decoder may be calculated based on the data amount of the reference frame compression data read in within a predetermined time period T.
在一个实施例中,可以基于在预定时间段T内产生的编码数据的数据量,计算视频编/解码器中用于熵编码的带宽消耗(例如上文的BW d)。 In one embodiment, the bandwidth consumption (such as BW d above) used for entropy coding in the video encoder / decoder may be calculated based on the data amount of the encoded data generated within the predetermined time period T.
回到图2,在步骤S220,基于带宽消耗来确定与参考帧压缩相关联的参数,所述参考帧用于帧间预测。例如,确定与参考帧压缩相关联的参数可以包括确定与参考帧压缩中的当前的图像单元相关联的量化参数。图像单元例如可以包括图像条带。Returning to FIG. 2, in step S220, parameters associated with compression of a reference frame are determined based on the bandwidth consumption, and the reference frame is used for inter prediction. For example, determining a parameter associated with reference frame compression may include determining a quantization parameter associated with a current image unit in the reference frame compression. The image unit may include, for example, an image strip.
在一个实施例中,量化参数的值可以是预定义的离散值。参考帧的压缩率可以随着量化参数的变大而变高。In one embodiment, the value of the quantization parameter may be a predefined discrete value. The compression ratio of the reference frame can 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 not greater than the target bandwidth and is closest to the target bandwidth. For example, the target bandwidth may be calculated in the following manner:
1)获得为视频编/解码器分配的所述预定时间段内的总带宽;1) obtaining a total bandwidth within the predetermined time period allocated for a video codec;
2)计算所述视频编/解码器中在所述预定时间段内的带宽消耗;以及2) calculating a bandwidth consumption in the video codec within the predetermined time period; and
3)计算所述总带宽与所述带宽消耗的差值,作为所述目标带宽。3) Calculate the difference between the total bandwidth and the bandwidth consumption as the target bandwidth.
这里,总带宽可以是动态分配的。带宽消耗可以包括视频编/解码器中用于参考帧压缩和参考帧解压的带宽消耗,以及用于输入帧和/或熵编码的带宽消耗。Here, the total bandwidth can be dynamically allocated. Bandwidth consumption may include bandwidth consumption in a video codec for reference frame compression and reference frame decompression, and bandwidth consumption for input frames and / or entropy coding.
下面,结合图3来详细描述量化参数的确定方法。如图3所示,方法在框300处开始。The method for determining the quantization parameter is described in detail below with reference to FIG. 3. As shown in FIG. 3, the method starts at block 300.
假设BW real(QP)表示待压缩图像条带的实际带宽消耗,QP是其对应的量化参数。待压缩图像条带的压缩率调整是通过调整其量化参数QP来达到的。增大QP,则压缩率变高;减小QP,则压缩率变低。一般来说,QP的取值是离散的并且可以是预先定义的。例如,可设为QP n(n=0,1,2,3…),其中n值越小,QP n越小,并且QP 0表示无损压缩。 Assume that BW real (QP) represents the actual bandwidth consumption of the image slice to be compressed, and QP is its corresponding quantization parameter. The compression ratio adjustment of the image band to be compressed is achieved by adjusting its quantization parameter QP. When QP is increased, the compression ratio becomes higher; when QP is decreased, the compression ratio becomes lower. Generally, QP values are discrete and can be predefined. For example, it can be set to QP n (n = 0, 1, 2, 3 ...), where the smaller the value of n , the smaller the QP n , and QP 0 represents lossless compression.
在框310处,判断BW real(QP 0)<=BW tar是否成立。如果是,则表示无损压 缩即可满足目标带宽,此时方法进行到框330,获得量化参数QP=QP 0,当前图像条带采用无损压缩。如果在框310处的判断结果为否,则方法进行到框320处。 At block 310, it is determined whether BW real (QP 0 ) <= BW tar holds. If it is, it means that lossless compression can meet the target bandwidth. At this time, the method proceeds to block 330 to obtain a quantization parameter QP = QP 0 , and the current image strip uses lossless compression. If the determination at block 310 is no, the method proceeds to block 320.
在框320处,需要采用有损压缩以满足目标带宽。当前图像条带的量化参数QP尽可能小,使得实际带宽消耗小于或者等于目标带宽的QP。即,找到QP=QPn,使得BW real(QP n-1)>BW tar且BW real(QPn)<=BW tarAt block 320, lossy compression needs to be employed to meet the target bandwidth. The quantization parameter QP of the current image slice is as small as possible, so that the actual bandwidth consumption is less than or equal to the QP of the target bandwidth. That is, QP = QPn is found such that BW real (QP n-1 )> BW tar and BW real (QPn) <= BW tar .
在框340处,计算当前压缩图像条带的实际带宽消耗,并更新BW tar用于下一个待压缩图像条带的QP值计算。 At block 340, calculate the actual bandwidth consumption of the currently compressed image slice and update the BW tar for the QP value calculation for the next image slice to be compressed.
最后,方法在框350处结束。Finally, the method ends at block 350.
图4是示出了根据本申请的实施例的视频编/解码器的框图。该视频编/解码器可以应用于多种平台中,例如无人机、无人车或机器人等。如图4所示,视频编/解码器40包括存储器410和处理器420。FIG. 4 is a block diagram illustrating a video encoder / decoder according to an embodiment of the present application. The video codec can be applied to a variety of platforms, such as drones, drones, or robots. As shown in FIG. 4, the video codec 40 includes a memory 410 and a processor 420.
存储器410存储有程序指令。例如,存储器410可以是随机存取存储器(RAM)或只读存储器(ROM),或者它们的任意组合。存储器410还可以包括持久存储设备,例如磁存储器、光存储器、固态存储器或甚至远程安装存储器中的任意单独一个或其组合。The memory 410 stores program instructions. For example, the memory 410 may be a random access memory (RAM) or a read-only memory (ROM), or any combination thereof. The memory 410 may also include a persistent storage device such as any one or a combination of magnetic memory, optical memory, solid state memory, or even remotely mounted memory.
处理器420可以包括中央处理单元(CPU)、多处理器、微控制器、数字信号处理器(DSP)、专用集成电路等中的一个或多个的任意组合。The processor 420 may include any combination of one or more of a central processing unit (CPU), a multi-processor, a microcontroller, a digital signal processor (DSP), an application specific integrated circuit, and the like.
处理器420可以调用存储器410中存储的程序指令。当程序指令被执行时,处理器420可以执行以下操作:计算所述视频编/解码器中的与外部数据读写有关的带宽消耗;以及基于所述带宽消耗来确定与参考帧压缩相关联的参数,所述参考帧用于帧间预测。The processor 420 may call a program instruction stored in the memory 410. When the program instructions are executed, the processor 420 may perform the following operations: calculate a bandwidth consumption related to reading and writing of external data in the video codec; and determine a bandwidth consumption associated with reference frame compression based on the bandwidth consumption Parameter, the reference frame is used for inter prediction.
在一个示例中,处理器420可以调用存储器410中存储的程序指令。当程序指令被执行时,处理器420可以执行以下操作:计算当前时间点之前的预定时间段内的带宽消耗。所述与外部数据读写有关的带宽消耗可以包括所述视频编/解码器中用于参考帧压缩和参考帧解压的带宽消耗。备选地,与外部数据读写有关的带宽消耗还可以包括所述视频编/解码器中用于输入帧和/或熵编码的带宽消耗。In one example, the processor 420 may call program instructions stored in the memory 410. When the program instructions are executed, the processor 420 may perform the following operations: calculate a bandwidth consumption in a predetermined period of time before a current point in time. The bandwidth consumption related to reading and writing of external data may include bandwidth consumption for compression and decompression of reference frames in the video codec. Alternatively, the bandwidth consumption related to external data reading and writing may also include the bandwidth consumption for input frames and / or entropy coding in the video encoder / decoder.
在一个示例中,处理器420可以调用存储器410中存储的程序指令。当程序指令被执行时,处理器420可以执行以下操作:确定与参考帧压缩 中的当前的图像单元相关联的量化参数。图像单元可以包括图像条带。In one example, the processor 420 may call program instructions stored in the memory 410. When the program instructions are executed, the processor 420 may perform the following operations: determine a quantization parameter associated with the current picture unit in the reference frame compression. The image unit may include an image strip.
在一个示例中,量化参数的值可以是预定义的离散值。参考帧的压缩率可以随着量化参数的变大而变高。In one example, the value of the quantization parameter may be a predefined discrete value. The compression ratio of the reference frame can become higher as the quantization parameter becomes larger.
在一个示例中,可以基于参考帧压缩的头信息来计算视频编/解码器中用于参考帧压缩的带宽消耗。In one example, the bandwidth consumption for reference frame compression in a video codec can be calculated based on the header information of the reference frame compression.
在一个示例中,可以基于在预定时间段T内读入的参考帧压缩数据的数据量来计算视频编/解码器中用于参考帧解压的带宽消耗。In one example, the bandwidth consumption for reference frame decompression in the video encoder / decoder may be calculated based on the data amount of the reference frame compression data read in within a predetermined time period T.
在一个示例中,可以基于在预定时间段T内读入的输入帧的数据量来计算视频编/解码器中用于输入帧的带宽消耗。In one example, the bandwidth consumption for the input frame in the video encoder / decoder may be calculated based on the data amount of the input frame read in within the predetermined time period T.
在一个示例中,可以基于在预定时间段T内产生的编码数据的数据量来计算视频编/解码器中用于熵编码的带宽消耗。In one example, the bandwidth consumption for entropy encoding in a video encoder / decoder may be calculated based on the data amount of the encoded data generated within the predetermined time period T.
在一个示例中,处理器420可以调用存储器410中存储的程序指令。当程序指令被执行时,处理器420可以执行以下操作:确定所述量化参数,使得当前的图像单元的实际带宽消耗不大于目标带宽并且最接近所述目标带宽。In one example, the processor 420 may call program instructions stored in the memory 410. When the program instructions are executed, the processor 420 may perform the following operations: determine the quantization parameter so that the actual bandwidth consumption of the current image unit is not greater than the target bandwidth and is closest to the target bandwidth.
在一个示例中,处理器420可以调用存储器410中存储的程序指令。当程序指令被执行时,处理器420可以执行以下操作:获得为视频编/解码器分配的所述预定时间段内的总带宽;计算所述视频编/解码器中在所述预定时间段内的带宽消耗;以及计算所述总带宽与所述带宽消耗的差值,作为所述目标带宽。In one example, the processor 420 may call program instructions stored in the memory 410. When the program instructions are executed, the processor 420 may perform the following operations: obtain the total bandwidth allocated to the video codec within the predetermined time period; and calculate the video codec within the predetermined time period Bandwidth consumption; 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 in the video codec for reference frame compression and reference frame decompression. In addition, the bandwidth consumption may also include the bandwidth consumption in the video codec for input frames and / or entropy coding.
此外,本申请的实施例可以借助于计算机程序产品来实现。例如,该计算机程序产品可以是计算机可读存储介质。计算机可读存储介质上存储有计算机程序,当在计算设备上执行该计算机程序时,能够执行相关的操作以实现本申请的实施例的上述技术方案。In addition, the embodiments of the present application may be implemented by means of a computer program product. For example, the computer program product may be a computer-readable storage medium. A computer program is stored on a computer-readable storage medium. When the computer program is executed on a computing device, related operations can be performed to implement the foregoing technical solutions of the embodiments of the present application.
例如,图5是示出了根据本申请的实施例一个实施例的计算机可读存储介质50的框图。如图5所示,计算机可读存储介质50包括计算机程序510。计算机程序510在由至少一个处理器运行时,使得至少一个处理器执 行例如上文结合图3所描述的方法的各个步骤。For example, FIG. 5 is a block diagram illustrating a computer-readable storage medium 50 according to an embodiment of the embodiment of the present 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 various steps of, for example, the method described above in connection with FIG.
计算机可读存储介质50上存储的计算机程序510例如可以被加载到图4所示的视频编/解码器40的存储器410中,使得视频编/解码器40的处理器420执行相应的操作。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.
本领域技术人员可以理解,计算机可读存储介质50的示例包括但不限于:半导体存储介质、光学存储介质、磁性存储介质、或任何其他形式的计算机可读存储介质。Those skilled in the art can understand that examples of the computer-readable storage medium 50 include, but are not limited to, a semiconductor storage medium, an optical storage medium, a magnetic storage medium, or any other form of computer-readable storage medium.
上文已经结合优选实施例对本申请的实施例的方法和涉及的设备进行了描述。本领域技术人员可以理解,上面示出的方法仅是示例性的。本申请的实施例的方法并不局限于上面示出的步骤和顺序。例如,上述步骤可以按照与发明实施例的实施例中的不同步骤执行,或者并行执行。The method and the related equipment of the embodiments of the present application have been described above with reference to the preferred embodiments. Those skilled in the art can understand that the method shown above is only exemplary. The method of the embodiment of the present application is not limited to the steps and sequence shown above. For example, the above steps may be performed in different steps from those in the embodiments of the invention, or may be performed in parallel.
应该理解,本申请的实施例的上述实施例可以通过软件、硬件或者软件和硬件两者的结合来实现。本申请的实施例的这种设置典型地提供为设置或编码在例如光介质(例如CD-ROM)、软盘或硬盘等的计算机可读介质上的软件、代码和/或其他数据结构、或者诸如一个或多个ROM或RAM或PROM芯片上的固件或微代码的其他介质、或一个或多个模块中的可下载的软件图像、共享数据库等。软件或固件或这种配置可安装在计算设备上,以使得计算设备中的一个或多个处理器执行本申请的实施例实施例所描述的技术方案。It should be understood that the foregoing embodiments of the embodiments of the present application may be implemented by software, hardware, or a combination of both software and hardware. Such a setting of an embodiment of the present application is typically provided as software, code, and / or other data structures set or encoded on a computer-readable medium such as an optical medium (e.g., a CD-ROM), a floppy disk or hard disk, or One or more ROM or RAM or other media of firmware or microcode on a PROM chip, or downloadable software images, shared databases, etc. in one or more modules. Software or firmware or such a configuration may be installed on a computing device, so that one or more processors in the computing device execute the technical solutions described in the embodiments of the present application.
此外,上述每个实施例中所使用的设备的每个功能模块或各个特征可以由电路实现或执行,所述电路通常为一个或多个集成电路。设计用于执行本说明书中所描述的各个功能的电路可以包括通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)或通用集成电路、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立的门或晶体管逻辑、或分立的硬件组件、或以上器件的任意组合。通用处理器可以是微处理器,或者所述处理器可以是现有的处理器、控制器、微控制器或状态机。上述通用处理器或每个电路可以由数字电路配置,或者可以由逻辑电路配置。此外,当由于半导体技术的进步,出现了能够替代目前的集成电路的先进技术时,本申请的实施例也可以使用利用该先进技术得到的集成电路。In addition, each functional module or individual feature of the device used in each of the above embodiments may be implemented or performed by a circuit, which is typically one or more integrated circuits. Circuits designed to perform the functions described in this specification may include general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs) or general-purpose integrated circuits, field-programmable gate arrays (FPGAs), or other Programming logic devices, discrete gate or transistor logic, or discrete hardware components, or any combination of the above. A general-purpose processor may be a microprocessor, or the processor may be an existing processor, controller, microcontroller, or state machine. The above-mentioned general-purpose processor or each circuit may be configured by a digital circuit, or may be configured by a logic circuit. In addition, when advanced technologies capable of replacing current integrated circuits appear due to advances in semiconductor technology, the embodiments of the present application may also use integrated circuits obtained using the advanced technologies.
运行在根据本申请的实施例的设备上的程序可以是通过控制中央处理 单元(CPU)来使计算机实现本申请的实施例功能的程序。该程序或由该程序处理的信息可以临时存储在易失性存储器(如随机存取存储器RAM)、硬盘驱动器(HDD)、非易失性存储器(如闪速存储器)、或其他存储器系统中。用于实现本申请的实施例各实施例功能的程序可以记录在计算机可读记录介质上。可以通过使计算机系统读取记录在所述记录介质上的程序并执行这些程序来实现相应的功能。此处的所谓“计算机系统”可以是嵌入在该设备中的计算机系统,可以包括操作系统或硬件(如外围设备)。The program running on the device 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 volatile memory (such as random access memory RAM), hard disk drive (HDD), non-volatile memory (such as flash memory), or other memory systems. A program for implementing the functions of the embodiments of the present application may be recorded on a computer-readable recording medium. Corresponding functions can be realized by causing a computer system to read programs recorded on the recording medium and execute the programs. The so-called "computer system" herein may be a computer system embedded in the device, and may include an operating system or hardware (such as a peripheral device).
如上,已经参考附图对本申请的实施例进行了详细描述。但是,具体的结构并不局限于上述实施例,本申请的实施例也包括不偏离本申请的实施例主旨的任何设计改动。另外,可以在权利要求的范围内对本申请的实施例的记载进行多种改动,通过适当地组合不同实施例的技术手段所得到的实施例也包含在本申请的实施例的技术范围内。此外,上述实施例中所描述的具有相同效果的组件可以相互替代。As described above, the embodiments of the present application have been described in detail with reference to the drawings. However, the specific structure is not limited to the above embodiments, and the embodiments of the present application also include any design changes that do not deviate from the gist of the embodiments of the present application. In addition, various modifications can be made to the description of the embodiments of the present application within the scope of the claims, and the embodiments obtained by appropriately combining the technical means of the different embodiments are also included in the technical scope of the embodiments of the present application. In addition, components having the same effects described in the above embodiments may be replaced with each other.

Claims (36)

  1. 一种视频处理方法,包括:A video processing method includes:
    计算视频编/解码器中的与外部数据读写有关的带宽消耗;以及Calculate the bandwidth consumption associated with reading and writing external data in the video codec; and
    基于所述带宽消耗来确定与参考帧压缩相关联的参数,所述参考帧用于帧间预测。Parameters associated with compression of a reference frame are determined based on the bandwidth consumption, the reference frame being used for inter prediction.
  2. 根据权利要求1所述的方法,其中,计算所述视频编/解码器中的与外部数据读写有关的带宽消耗包括:计算当前时间点之前的预定时间段内的带宽消耗。The method according to claim 1, wherein calculating a bandwidth consumption related to reading and writing of external data in the video codec comprises calculating a bandwidth consumption in a predetermined time period before a current time point.
  3. 根据权利要求1所述的方法,其中,所述视频编/解码器中的与外部数据读写有关的带宽消耗包括:所述视频编/解码器中用于参考帧压缩和参考帧解压的带宽消耗。The method according to claim 1, wherein the bandwidth consumption related to reading and writing of external data in the video codec comprises: a bandwidth for compressing reference frames and decompressing reference frames in the video codec Consume.
  4. 根据权利要求1或3所述的方法,其中,所述视频编/解码器中的与外部数据读写有关的带宽消耗还包括:所述视频编/解码器中用于输入帧和/或熵编码的带宽消耗。The method according to claim 1 or 3, wherein the bandwidth consumption related to reading and writing of external data in the video codec further comprises: inputting frames and / or entropy in the video codec Encoding bandwidth consumption.
  5. 根据权利要求1所述的方法,其中,确定与参考帧压缩相关联的参数包括:确定与参考帧压缩中的当前的图像单元相关联的量化参数。The method of claim 1, wherein determining a parameter associated with reference frame compression comprises determining a quantization parameter associated with a current image unit in the reference frame compression.
  6. 根据权利要求3所述的方法,其中,基于参考帧压缩的头信息,计算所述视频编/解码器中用于参考帧压缩的带宽消耗。The method according to claim 3, wherein a bandwidth consumption for reference frame compression in the video codec is calculated based on header information for reference frame compression.
  7. 根据权利要求3所述的方法,其中,基于在所述预定时间段内读入的参考帧压缩数据的数据量,计算所述视频编/解码器中用于参考帧解压的带宽消耗。The method according to claim 3, wherein a bandwidth consumption for decompressing a reference frame in the video encoder / decoder is calculated based on a data amount of the reference frame compression data read in during the predetermined period of time.
  8. 根据权利要求4所述的方法,其中,基于在所述预定时间段内读入的输入帧的数据量,计算所述视频编/解码器中用于输入帧的带宽消耗。The method according to claim 4, wherein the bandwidth consumption for the input frame in the video codec is calculated based on the data amount of the input frame read in during the predetermined period of time.
  9. 根据权利要求4所述的方法,其中,基于在所述预定时间段内产生的编码数据的数据量,计算所述视频编/解码器中用于熵编码的带宽消耗。The method according to claim 4, wherein a bandwidth consumption for entropy encoding in the video encoder / decoder is calculated based on a data amount of the encoded data generated within the predetermined period of time.
  10. 根据权利要求5所述的方法,其中,所述图像单元包括图像条带。The method according to claim 5, wherein the image unit includes an image strip.
  11. 根据权利要求5所述的方法,其中,所述量化参数的值是预定义的离散值。The method according to claim 5, wherein the value of the quantization parameter is a predefined discrete value.
  12. 根据权利要求11所述的方法,其中,参考帧的压缩率随着所述量化参数的变大而变高。The method according to claim 11, wherein the compression ratio of the reference frame becomes higher as the quantization parameter becomes larger.
  13. 根据权利要求5所述的方法,其中,确定所述量化参数,使得当前的图像单元的实际带宽消耗不大于目标带宽并且最接近所述目标带宽。The method according to claim 5, wherein the quantization parameter is determined such that the actual bandwidth consumption of the current image unit is not greater than the target bandwidth and is closest to the target bandwidth.
  14. 根据权利要求13所述的方法,其中,根据以下方式来计算所述目标带宽:The method according to claim 13, wherein the target bandwidth is calculated according to the following manner:
    获得为视频编/解码器分配的所述预定时间段内的总带宽;Obtaining a total bandwidth within the predetermined time period allocated for a video codec;
    计算所述视频编/解码器中在所述预定时间段内的带宽消耗;以及Calculating bandwidth consumption in the video codec during the predetermined time period; and
    计算所述总带宽与所述带宽消耗的差值,作为所述目标带宽。Calculate a difference between the total bandwidth and the bandwidth consumption as the target bandwidth.
  15. 根据权利要求14所述的方法,其中,所述总带宽是动态分配的。The method of claim 14, wherein the total bandwidth is dynamically allocated.
  16. 根据权利要求14所述的方法,其中,所述带宽消耗包括:所述视频编/解码器中用于参考帧压缩和参考帧解压的带宽消耗。The method according to claim 14, wherein the bandwidth consumption comprises: bandwidth consumption in the video encoder / decoder for reference frame compression and reference frame decompression.
  17. 根据权利要求14所述的方法,其中,所述带宽消耗包括:所述视频编/解码器中用于参考帧压缩和参考帧解压的带宽消耗,以及所述视频编/解码器中用于输入帧和/或熵编码的带宽消耗。The method according to claim 14, wherein the bandwidth consumption comprises: bandwidth consumption for reference frame compression and reference frame decompression in the video codec, and input for use in the video codec Frame and / or entropy-encoded bandwidth consumption.
  18. 一种视频编/解码器,包括:A video encoder / decoder includes:
    存储器;以及Memory; and
    与所述存储器通信耦合的一个或更多个处理器,One or more processors communicatively coupled to the memory,
    其中,所述存储器上存储有指令,当所述指令由所述一个或更多个处理器执行时,使所述视频编/解码器:Wherein, instructions are stored in the memory, and when the instructions are executed by the one or more processors, the video encoder / decoder is enabled:
    计算所述视频编/解码器中的与外部数据读写有关的带宽消耗;以及Calculating the bandwidth consumption related to reading and writing of external data in the video codec; and
    基于所述带宽消耗来确定与参考帧压缩相关联的参数,所述参考帧用于帧间预测。Parameters associated with compression of a reference frame are determined based on the bandwidth consumption, the reference frame being used for inter prediction.
  19. 根据权利要求18所述的视频编/解码器,其中,计算所述视频编/解码器中的与外部数据读写有关的带宽消耗包括:计算当前时间点之前的预定时间段内的带宽消耗。The video encoder / decoder according to claim 18, wherein calculating bandwidth consumption related to reading and writing of external data in the video encoder / decoder comprises calculating bandwidth consumption in a predetermined time period before a current time point.
  20. 根据权利要求18所述的视频编/解码器,其中,所述视频编/解码器中的与外部数据读写有关的带宽消耗包括:所述视频编/解码器中用于参考帧压缩和参考帧解压的带宽消耗。The video encoder / decoder according to claim 18, wherein the bandwidth consumption related to reading and writing of external data in the video encoder / decoder comprises: reference frame compression and reference in the video encoder / decoder Bandwidth consumption for frame decompression.
  21. 根据权利要求18或20所述的视频编/解码器,其中,所述视频编 /解码器中的与外部数据读写有关的带宽消耗还包括:所述视频编/解码器中用于输入帧和/或熵编码的带宽消耗。The video encoder / decoder according to claim 18 or 20, wherein the bandwidth consumption related to reading and writing of external data in the video encoder / decoder further comprises: an input frame in the video encoder / decoder And / or entropy encoding bandwidth consumption.
  22. 根据权利要求18所述的视频编/解码器,其中,确定与参考帧压缩相关联的参数包括:确定与参考帧压缩中的当前的图像单元相关联的量化参数。The video codec according to claim 18, wherein determining parameters associated with reference frame compression comprises determining quantization parameters associated with a current picture unit in the reference frame compression.
  23. 根据权利要求20所述的视频编/解码器,其中,基于参考帧压缩的头信息,计算所述视频编/解码器中用于参考帧压缩的带宽消耗。The video encoder / decoder according to claim 20, wherein the bandwidth consumption for the reference frame compression in the video encoder / decoder is calculated based on the header information of the reference frame compression.
  24. 根据权利要求20所述的视频编/解码器,其中,基于在所述预定时间段内读入的参考帧压缩数据的数据量,计算所述视频编/解码器中用于参考帧解压的带宽消耗。The video encoder / decoder according to claim 20, wherein a bandwidth for decompressing a reference frame in the video encoder / decoder is calculated based on a data amount of reference frame compression data read in the predetermined period of time. Consume.
  25. 根据权利要求21所述的视频编/解码器,其中,基于在所述预定时间段内读入的输入帧的数据量,计算所述视频编/解码器中用于输入帧的带宽消耗。The video encoder / decoder according to claim 21, wherein the bandwidth consumption for the input frame in the video encoder / decoder is calculated based on the data amount of the input frame read in within the predetermined period of time.
  26. 根据权利要求21所述的视频编/解码器,其中,基于在所述预定时间段内产生的编码数据的数据量,计算所述视频编/解码器中用于熵编码的带宽消耗。The video encoder / decoder according to claim 21, wherein a bandwidth consumption for entropy encoding in the video encoder / decoder is calculated based on a data amount of the encoded data generated within the predetermined period of time.
  27. 根据权利要求22所述的视频编/解码器,其中,所述图像单元包括图像条带。The video codec according to claim 22, wherein the image unit includes an image slice.
  28. 根据权利要求22所述的视频编/解码器,其中,所述量化参数的值是预定义的离散值。The video codec according to claim 22, wherein the value of the quantization parameter is a predefined discrete value.
  29. 根据权利要求28所述的视频编/解码器,其中,参考帧的压缩率随着所述量化参数的变大而变高。The video codec according to claim 28, wherein a compression rate of the reference frame becomes higher as the quantization parameter becomes larger.
  30. 根据权利要求22所述的视频编/解码器,其中,确定所述量化参数,使得当前的图像单元的实际带宽消耗不大于目标带宽并且最接近所述目标带宽。The video codec according to claim 22, wherein the quantization parameter is determined such that the actual bandwidth consumption of the current image unit is not greater than the target bandwidth and is closest to the target bandwidth.
  31. 根据权利要求30所述的视频编/解码器,其中,根据以下方式来计算所述目标带宽:The video codec according to claim 30, wherein the target bandwidth is calculated in the following manner:
    获得为视频编/解码器分配的所述预定时间段内的总带宽;Obtaining a total bandwidth within the predetermined time period allocated for a video codec;
    计算所述视频编/解码器中在所述预定时间段内的带宽消耗;以及Calculating bandwidth consumption in the video codec during the predetermined time period; and
    计算所述总带宽与所述带宽消耗的差值,作为所述目标带宽。Calculate a difference between the total bandwidth and the bandwidth consumption as the target bandwidth.
  32. 根据权利要求31所述的视频编/解码器,其中,所述总带宽是动态分配的。The video codec according to claim 31, wherein the total bandwidth is dynamically allocated.
  33. 根据权利要求31所述的视频编/解码器,其中,所述带宽消耗包括:所述视频编/解码器中用于参考帧压缩和参考帧解压的带宽消耗。The video encoder / decoder according to claim 31, wherein the bandwidth consumption comprises: bandwidth consumption for reference frame compression and reference frame decompression in the video encoder / decoder.
  34. 根据权利要求31所述的视频编/解码器,其中,所述带宽消耗包括:所述视频编/解码器中用于参考帧压缩和参考帧解压的带宽消耗,以及所述视频编/解码器中用于输入帧和/或熵编码的带宽消耗。The video encoder / decoder according to claim 31, wherein the bandwidth consumption comprises: bandwidth consumption for reference frame compression and reference frame decompression in the video encoder / decoder, and the video encoder / decoder Bandwidth consumption in input frames and / or entropy coding.
  35. 一种计算机程序,包括指令,所述指令用于在一个或更多个处理器上运行时执行根据权利要求1-17中任意一项所述的方法。A computer program comprising instructions for performing a method according to any one of claims 1-17 when run on one or more processors.
  36. 一种计算机可读存储介质,存储有根据权利要求35所述的计算机程序。A computer-readable storage medium storing a computer program according to claim 35.
PCT/CN2018/098072 2018-08-01 2018-08-01 Video processing device and method WO2020024160A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201880042806.3A CN110945870A (en) 2018-08-01 2018-08-01 Video processing apparatus and method
PCT/CN2018/098072 WO2020024160A1 (en) 2018-08-01 2018-08-01 Video processing device and method

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
WO2020024160A1 true WO2020024160A1 (en) 2020-02-06

Family

ID=69230998

Family Applications (1)

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

Country Status (2)

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

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116600129B (en) * 2023-07-17 2023-10-20 芯动微电子科技(珠海)有限公司 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
CN1848953A (en) * 2005-04-11 2006-10-18 华为技术有限公司 Method for controlling code rate in H263 coding
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
US20160080744A1 (en) * 2006-09-21 2016-03-17 Arris Enterprises, Inc. Video quality of service management and constrained fidelity constant bit rate video encoding systems and methods
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
US7889790B2 (en) * 2005-12-20 2011-02-15 Sharp Laboratories Of America, Inc. Method and apparatus for dynamically adjusting quantization offset values
CN102427529B (en) * 2011-09-30 2013-07-03 北京暴风科技股份有限公司 Video coding and compressing method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1848953A (en) * 2005-04-11 2006-10-18 华为技术有限公司 Method for controlling code rate in H263 coding
US20160080744A1 (en) * 2006-09-21 2016-03-17 Arris Enterprises, Inc. Video quality of service management and constrained fidelity constant bit rate video encoding systems and methods
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

Also Published As

Publication number Publication date
CN110945870A (en) 2020-03-31

Similar Documents

Publication Publication Date Title
US9369720B2 (en) Image coding apparatus and image coding method
US8395634B2 (en) Method and apparatus for processing information
US9621900B1 (en) Motion-based adaptive quantization
US9002122B2 (en) System and method for improving decoder performance using quantization control
WO2021238605A1 (en) Video coding method and apparatus, video decoding method and apparatus, electronic device, and storage medium
US10645386B1 (en) Embedded codec circuitry for multiple reconstruction points based quantization
US10070127B2 (en) Method and apparatus for arithmetic coding and termination
TWI816684B (en) Video encoding device and encoder
WO2020024160A1 (en) Video processing device and method
KR20170007665A (en) Rate control encoding method using skip mode information and therefore encoding device
US10750182B2 (en) Embedded codec circuitry for visual quality based allocation of refinement bits
KR101602871B1 (en) Method and apparatus for data encoding, method and apparatus for data decoding
JP2009010608A (en) Encoding processor
WO2020024152A1 (en) Video processing device and method
JP2009060536A (en) Image encoding apparatus, and image encoding method
JP7483029B2 (en) VIDEO DECODING METHOD, VIDEO ENCODING METHOD, DEVICE, MEDIUM, AND ELECTRONIC APPARATUS
US10904578B2 (en) Video processing apparatus and video processing circuits thereof
JP5132390B2 (en) Moving picture coding apparatus, control method therefor, and computer program
WO2021238606A1 (en) Video encoding method and apparatus, video decoding method and apparatus, electronic device, and storage medium
US20160127733A1 (en) System Architecture for Distributed Coding
WO2023193260A1 (en) Encoding/decoding method, code stream, encoder, decoder, and storage medium
WO2022037478A1 (en) Video decoding method, video encoding method, apparatus, medium, and electronic device
JP6985899B2 (en) Image coding device and its control method and program
WO2013114826A1 (en) Image decoding device
TW202106014A (en) Image processing device and image processing method

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: 18928483

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18928483

Country of ref document: EP

Kind code of ref document: A1