CN114780450B - A buffer unit and method for intra-block copying - Google Patents
A buffer unit and method for intra-block copyingInfo
- Publication number
- CN114780450B CN114780450B CN202210293955.5A CN202210293955A CN114780450B CN 114780450 B CN114780450 B CN 114780450B CN 202210293955 A CN202210293955 A CN 202210293955A CN 114780450 B CN114780450 B CN 114780450B
- Authority
- CN
- China
- Prior art keywords
- compressed
- buffer
- compression
- block
- intra
- 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.)
- Active
Links
Abstract
The invention discloses a buffer unit and a method for copying intra-frame blocks, wherein the buffer unit comprises a reconstruction buffer area and a compression buffer area, the reconstruction buffer area is used for storing reconstruction pixel blocks obtained by encoding processing of a target encoding unit and/or dividing the reconstruction pixel blocks to obtain compression blocks, the compression buffer area is used for receiving compression code streams obtained by compressing the compression blocks and sequentially storing the compression code streams according to time identifiers of the compression code streams, and the compression processing is lossy compression with a compression rate of 50%. The invention enables the buffer memory of the block copy in the frame to apply the compression technology based on the block, and updates the reference pixel information of the buffer memory along with the coding process by matching the reconstruction buffer memory area and the compression buffer memory area, so that more reference blocks are buffered under the limit of the size of the buffer memory of the block copy in the frame, and the quick access to the reference blocks is realized, thereby being widely applied to the technical field of video coding.
Description
Technical Field
The invention relates to the technical field of video coding, in particular to a buffer unit and a method for copying intra-frame blocks.
Background
The method for coding the block copy in the frame is a coding method which is firstly put forward in the HEVC standard, and belongs to an intra-frame prediction method, in particular, in the coding process, a current coding unit uses a part of the current frame which is coded completely as a reference, a proper reconstruction part is selected as a reference block, and the position of the reference block relative to the coding unit is recorded by using a block vector, so that the coding of the coding unit is finally completed.
The intra block copy method has high coding efficiency, but the corresponding pixel information of the reconstructed portion of the current frame needs to be used, which occupies extra memory for storing the reconstructed portion of the current frame, or uses off-chip storage for storage, but affects coding efficiency, and increases complexity of the hardware decoder. The existing video coding standard VVC, AVS3 selects a method to limit the reference area of intra-frame block copy, and designs a pixel block buffer with a certain total memory occupation size (the total memory size is limited to 128 x 128 in brightness pixel units), which is used for storing the reconstructed portion of the current frame, which is called intra-frame block copy buffer. Accordingly, some coding efficiency is sacrificed.
Disclosure of Invention
In view of this, the embodiments of the present invention provide a buffer unit and method for intra-block copy, which buffer more reference blocks and implement fast access to reference blocks under the condition that the size limit of the buffer for intra-block copy is satisfied.
In a first aspect, an embodiment of the present invention provides a buffer unit for intra-frame block copy, including a reconstruction buffer area and a compression buffer area;
the reconstruction buffer area is used for storing a reconstruction pixel block obtained by encoding processing of the target encoding unit and/or dividing the reconstruction pixel block to obtain a compression block;
The compression buffer area is used for receiving a compressed code stream obtained by compression processing of the compression block, and sequentially storing the compressed code stream according to the time identification of the compressed code stream, wherein the compression processing is lossy compression with the compression rate of 50%.
Optionally, the compressed buffer area includes 6 compressed buffer areas, the compressed buffer areas are used for storing the compressed code stream, and the position of the compressed block relative to the reconstructed buffer area corresponds to the position of the compressed code stream relative to the compressed buffer area.
Optionally, the compressed buffer area sequentially stores the compressed code stream to the compressed buffer area according to the time identifier;
when the compression buffer area has an idle compression buffer area, the compressed code stream is stored into the idle compression buffer area according to the time identifier;
and when the compression buffer area does not have an idle compression buffer area, the compressed code stream is stored in the compression buffer area in an overlaying mode according to the time identifier.
Optionally, the cache space size of the cache unit is 128×128;
the size of the buffer space of the reconstruction buffer zone is 64×64, the size of the buffer space of the compression buffer zone is 96×128, and the size of the buffer space of each compression buffer zone in the compression buffer zone is 32×64.
In a second aspect, an embodiment of the present invention provides a method for intra block copy, including:
acquiring a target image for preprocessing to obtain a coding unit set with a preset sequence;
coding the coding units in the coding unit set according to the preset sequence;
storing a reconstructed pixel block obtained by the encoding processing of the target encoding unit according to the reconstructed buffer area, and/or dividing the reconstructed pixel block to obtain a compressed block;
And receiving a compressed code stream obtained by compressing the compressed block according to the compressed cache region, and sequentially storing the compressed code stream according to the time identifier, wherein the compression process is lossy compression with the compression rate of 50%.
Optionally, the method further comprises:
Determining the position of reference data according to target reference coordinates, wherein the reference data comprises the reconstructed pixel block and the compressed code stream;
Reading the reference data according to the position of the reference data;
when the reference data is positioned in the reconstruction cache region, the reference data is directly read;
and when the reference data is positioned in the compression buffer area, decompressing the compressed code stream, and reading the reference data according to the decompressed compressed code stream.
Optionally, the preprocessing is performed on the obtained target image to obtain a coding unit set in a preset sequence, including:
dividing the target image into a plurality of CTUs, each CTU being divided into 4 coding units;
Presetting a first coding sequence of the CTU in the target image;
Presetting a second coding sequence of the coding units in the CTU;
And obtaining the coding unit set with a preset sequence according to the first coding sequence and the second coding sequence.
Optionally, the receiving the compressed code stream obtained by performing compression processing on the compressed block according to the compression buffer, and sequentially storing the compressed code stream according to the time identifier, includes:
According to the time mark, the compressed code stream is sequentially stored into a plurality of compressed cache partitions of the compressed cache region;
when the compression buffer area has an idle compression buffer area, the compressed code stream is stored into the idle compression buffer area according to the time identifier;
When the compression buffer area does not have an idle compression buffer area, the compressed code stream is stored in the compression buffer area in an overlapping mode according to the time identifier;
The position of the compression block relative to the reconstruction buffer area corresponds to the position of the compressed code stream relative to the compression buffer area.
In a third aspect, an embodiment of the present invention provides an electronic device, including a processor and a memory;
the memory is used for storing programs;
The processor executes the program to implement the method as described above.
In a fourth aspect, embodiments of the present invention provide a computer-readable storage medium storing a program that is executed by a processor to implement a method as described above.
Embodiments of the present invention also disclose a computer program product or computer program comprising computer instructions stored in a computer readable storage medium. The computer instructions may be read from a computer-readable storage medium by a processor of a computer device, and executed by the processor, to cause the computer device to perform the foregoing method.
The embodiment of the invention provides a buffer unit for copying intra-frame blocks, which comprises a reconstruction buffer area and a compression buffer area, wherein the reconstruction buffer area is used for storing reconstruction pixel blocks obtained by encoding processing of a target encoding unit and/or dividing the reconstruction pixel blocks to obtain compression blocks, the compression buffer area is used for receiving compression code streams obtained by compressing the compression blocks and sequentially storing the compression code streams according to time identifiers of the compression code streams, and the compression processing is lossy compression with a compression rate of 50%. The invention enables the buffer memory of the block copy in the frame to apply the compression technology based on the block, and updates the reference pixel information of the buffer memory along with the coding process by matching the reconstruction buffer memory area and the compression buffer memory area, so that more reference blocks are buffered under the limit of the size of the buffer memory of the block copy in the frame, and the quick access to the reference blocks is realized.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for the description of the embodiments will be briefly described below, and it is apparent that the drawings in the following description are only some embodiments of the present application, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a schematic diagram of a video coding standard principle in the prior art;
fig. 2 is a schematic structural diagram of a buffer unit for intra block copy according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of a method for intra block copy according to an embodiment of the present invention;
Fig. 4 is a schematic diagram of a compression process of intra block copy according to an embodiment of the present invention.
Detailed Description
The present application will be described in further detail with reference to the drawings and examples, in order to make the objects, technical solutions and advantages of the present application more apparent. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the application.
Aiming at the problems existing in the prior art, the first aspect of the invention provides a buffer unit for copying blocks in frames, which comprises a reconstruction buffer area and a compression buffer area;
the reconstruction buffer area is used for storing a reconstruction pixel block obtained by encoding processing of the target encoding unit and/or dividing the reconstruction pixel block to obtain a compression block;
The compression buffer area is used for receiving a compressed code stream obtained by compression processing of the compression block, and sequentially storing the compressed code stream according to the time identification of the compressed code stream, wherein the compression processing is lossy compression with the compression rate of 50%.
Optionally, the compressed buffer area includes 6 compressed buffer areas, the compressed buffer areas are used for storing the compressed code stream, and the position of the compressed block relative to the reconstructed buffer area corresponds to the position of the compressed code stream relative to the compressed buffer area.
Optionally, the compressed buffer area sequentially stores the compressed code stream to the compressed buffer area according to the time identifier;
when the compression buffer area has an idle compression buffer area, the compressed code stream is stored into the idle compression buffer area according to the time identifier;
and when the compression buffer area does not have an idle compression buffer area, the compressed code stream is stored in the compression buffer area in an overlaying mode according to the time identifier.
Optionally, the cache space size of the cache unit is 128×128;
the size of the buffer space of the reconstruction buffer zone is 64×64, the size of the buffer space of the compression buffer zone is 96×128, and the size of the buffer space of each compression buffer zone in the compression buffer zone is 32×64.
Another aspect of the embodiment of the present invention further provides a method for copying an intra block, including:
acquiring a target image for preprocessing to obtain a coding unit set with a preset sequence;
coding the coding units in the coding unit set according to the preset sequence;
storing a reconstructed pixel block obtained by the encoding processing of the target encoding unit according to the reconstructed buffer area, and/or dividing the reconstructed pixel block to obtain a compressed block;
And receiving a compressed code stream obtained by compressing the compressed block according to the compressed cache region, and sequentially storing the compressed code stream according to the time identifier, wherein the compression process is lossy compression with the compression rate of 50%.
Optionally, the method further comprises:
Determining the position of reference data according to target reference coordinates, wherein the reference data comprises the reconstructed pixel block and the compressed code stream;
Reading the reference data according to the position of the reference data;
when the reference data is positioned in the reconstruction cache region, the reference data is directly read;
and when the reference data is positioned in the compression buffer area, decompressing the compressed code stream, and reading the reference data according to the decompressed compressed code stream.
Optionally, the preprocessing is performed on the obtained target image to obtain a coding unit set in a preset sequence, including:
dividing the target image into a plurality of CTUs, each CTU being divided into 4 coding units;
Presetting a first coding sequence of the CTU in the target image;
Presetting a second coding sequence of the coding units in the CTU;
And obtaining the coding unit set with a preset sequence according to the first coding sequence and the second coding sequence.
Optionally, the receiving the compressed code stream obtained by performing compression processing on the compressed block according to the compression buffer, and sequentially storing the compressed code stream according to the time identifier, includes:
According to the time mark, the compressed code stream is sequentially stored into a plurality of compressed cache partitions of the compressed cache region;
when the compression buffer area has an idle compression buffer area, the compressed code stream is stored into the idle compression buffer area according to the time identifier;
When the compression buffer area does not have an idle compression buffer area, the compressed code stream is stored in the compression buffer area in an overlapping mode according to the time identifier;
The position of the compression block relative to the reconstruction buffer area corresponds to the position of the compressed code stream relative to the compression buffer area.
Another aspect of the embodiment of the invention also provides an electronic device, which includes a processor and a memory;
the memory is used for storing programs;
The processor executes the program to implement the method as described above.
The content of the method embodiment of the invention is suitable for the electronic equipment embodiment, the functions of the electronic equipment embodiment are the same as those of the method embodiment, and the achieved beneficial effects are the same as those of the method.
Another aspect of the embodiments of the present invention also provides a computer-readable storage medium storing a program that is executed by a processor to implement a method as described above.
The content of the method embodiment of the invention is applicable to the computer readable storage medium embodiment, the functions of the computer readable storage medium embodiment are the same as those of the method embodiment, and the achieved beneficial effects are the same as those of the method.
Embodiments of the present invention also disclose a computer program product or computer program comprising computer instructions stored in a computer readable storage medium. The computer instructions may be read from a computer-readable storage medium by a processor of a computer device, and executed by the processor, to cause the computer device to perform the foregoing method.
The following describes in detail the implementation principle of the buffer unit and method for intra block copy of the present invention:
Aiming at the problems existing in the prior art, the invention designs a random access pixel block buffer for an AVS3 standard intra-frame block copy mode, so that the buffer for intra-frame block copy can apply a block-based compression technology, and the buffered reference pixel information is updated along with the encoding process, so that more reference blocks are buffered under the condition of meeting the size limit of the buffer for intra-frame block copy, and the quick access to the reference blocks is realized.
In the proposal of the AVS3 video coding standard, it is proposed to update the buffer of the intra-frame block copy by using a Virtual Pipeline Data Unit (VPDU) as a unit, so that the reference range of the intra-frame block copy method is enlarged under the condition that the total memory size is satisfied in the coding process, thereby improving the coding efficiency. This idea effect is feasible, but there is still room for continued lifting.
In addition, the AVS3 video coding standard is different from the VVC video coding standard in coding order, and thus the algorithm design for intra block copy is also adjusted. Referring to fig. 1, an encoding process under VPDU partitioning in the AVS3 standard is given. Wherein, (1) the common coding sequence of VVC and AVS3, square blocks with different numbers represent the coding sequence of different VPDUs, (2) the specific coding sequence of AVS3 is characterized in that the coding sequence of the VPDUs in the CTU can be changed, (3) the CTU with the size of 128 x 128, and (4) the VPDU with the size of 64 x 64.
Block-based compression techniques are widely used in image compression, reference frame compression. The compression of the compressed block can be achieved by Differential Pulse Code Modulation (DPCM), truncating part of the bits, and variable length coding for the pixels within the block, with a compressed block of a certain size as a basic unit, such that the actual occupied size of the block is reduced. By adjusting the cut-off position, a certain compression rate can be ensured. However, this compression method cannot be directly applied to the buffer of intra-frame block copy, and there is a problem that the division of the compressed block collides with the irregular coding unit shape.
In some specific embodiments, the invention uses the VPDU as a unit to divide the buffer memory for copying the intra-frame block into two parts, wherein the first part stores the reconstructed pixel information of the size of the VPDU, and the second part stores the compressed reconstructed pixel information, so that the storage, compression, update and random access of the reconstructed pixel information of a part of the encoded region are realized in the encoding process. So that more reference blocks are cached and quick access to the reference blocks is achieved under the size constraint of the cache that satisfies intra block copying.
Specifically, the buffer unit for copying the intra-frame block provided by the invention is divided into two parts, and comprises:
the first part, rebuild the buffer, for the Virtual Pipeline Data Unit (VPDU) size buffer, keep the rebuild block of the coded coding unit in the current VPDU in the coding process. For coding units larger than VPDUs, a lossy compression with a compression rate of 50% on a block basis is performed in VPDUs units by means of the buffer immediately after the reconstructed value is obtained. The pixel information in the partial buffer corresponds to the portion of the current VPDU that is in the encoding process.
And the second part is used for compressing the buffer area and is a buffer formed by the residual space and used for storing the compressed reconstruction block. The formation of compressed blocks includes the compression mentioned in the first part and the compression and saving of the reconstructed block of the last VPDU stored in the first part buffer when the encoding process enters a different VPDU. The second part caches pixel information corresponding to a certain number of VPDU parts that have been encoded during the encoding process.
Referring to fig. 2, the first part and the second part are a buffer structure, wherein each rectangle in the figure corresponds to a memory space storing data of a VPDU area, the total size of buffers for copying intra-frame blocks is 128×128, the first part stores information of a current VPDU, and the second part stores information of at most 6 compressed VPDUs. The two caches are used in the whole coding process to dynamically update the reference pixel information required by the block copy in the frame.
After compressing the VPDU each time, storing the VPDU into a position corresponding to the second part cache, wherein the coordinate mapping rule of the position corresponding to the second part is as follows:
Taking the VPDU as a unit, setting the coordinates of the VPDU in the image as (pic_ VPDU _x, pic_ VPDU _y), the coordinates of the VPDU in the second part of cache as (buf_ VPDU _x, buf_ VPDU _y), and the width and height of the second part of cache as (3, 2), then:
buf_vpdu_x=pic_vpdu_x%3;
buf_vpdu_y=pic_vpdu_y%2;
Taking the specific coding sequence of the AVS3 in (2) in fig. 1 as an example, when the second part has an idle partition, 1 to 6 of the compression of the VPDU are sequentially stored in the second part buffer area, as shown in the top diagram of fig. 3, and when the second part does not have an idle partition, 7 of the compression of the VPDU is then stored in a covering mode according to the time identification of 1 to 6 of the compression of the second part, as shown in the bottom diagram of fig. 3.
The compression process uses a lossy block compression method for controlling the compression rate to be below 50%, so that the size of the memory space occupied by the compressed block is ensured to be below half of that of the original data, and the compressed block can be regularly stored in the second part of cache, thereby being capable of fast addressing. Referring to fig. 4, specifically, the compressed block size is 16×16 pixel information before compression, and the compressed block is a code stream obtained by a lossy block compression method after compression. The first part of the cache can be divided into 4*4 compressed blocks, and each compressed block is stored into a memory space corresponding to one VPDU in the second part of the cache after being compressed.
Based on the above-mentioned buffer design, when the coding unit for intra-frame block copy needs to acquire the reconstructed block as the reference block, the reference block coordinates are converted into the second partial buffer, all the relevant compressed blocks are decompressed to realize random access, the decompressed reference block values are stored into the first partial buffer, and the position corresponding to the current coding unit (the current coding unit has not completed coding, so the space for storing the reconstructed block of the current unit in the first partial buffer is empty) is used for motion compensation of the intra-frame block copy mode. The part of the reference block located in the current VPDU is directly read from the first part buffer and stored.
It should be noted that, the intra block copying refers to copying of an encoded block of an intra image, and in particular, an embodiment of the present invention relates to a buffer unit used after copying an intra block and a method for copying an intra block based on the buffer unit.
The following describes in detail the intra block copy method of the buffer unit for intra block copy of the present invention in connection with a specific encoding process, and it should be understood that the following description is only for proving the feasibility of the embodiment of the present invention, and should not be construed as limiting the present invention:
The size in the following description is the size of the luminance channel (Y) in YUV video format. The Code Tree Unit (CTU) size is 128 x 128. The size of the Virtual Parallel Decodable Unit (VPDU) is 64×64. The compression is a lossy compression with a compression rate of 50% based on 16 x 16 size compressed blocks. The occupation space of the compressed VPDU is 32×64.
The coding process under the AVS3 standard is summarized as:
step 1, dividing an image into a plurality of CTUs, wherein each CTU is divided into 4 VPDUs;
step 2, the coding process is sequentially carried out from left to right and from top to bottom by taking the CTU as a unit;
And 3, encoding a CTU. Each VPDU is sequentially encoded according to the upper left, upper right, lower left, lower right or upper left, lower left, upper right, lower right order, the VPDU region being encoded is called the current VPDU, and in addition, 2 or 4 VPDUs can be encoded at the same time.
A construction step of a random-accessible pixel block buffer for intra block copy mode:
Step 1, a memory space with the size of 128 x 128 is given as a buffer memory of an intra-frame block copying method;
step 2, for a given space, taking a space with the size equal to 64 x 64 of the VPDU as a first part buffer memory, and taking the rest space with the size of 96 x 128 as a second part buffer memory;
Step 3, along with the coding process, the obtained reconstructed pixel block is stored in a first part buffer memory when the current VPDU is coded, if 2 or 4 VPDUs are coded simultaneously, the reconstructed pixel block is divided into a plurality of VPDUs, compressed by the first part buffer memory and stored in a second part buffer memory (because the reconstructed pixel block is larger than the first part buffer memory at the moment, the reconstructed pixel block is immediately compressed and stored in the second part buffer memory);
And 4, compressing the reconstructed block of the VPDU stored in the first part of cache and storing the reconstructed block into the second part of cache before the encoding of the next VPDU is completed according to the encoding process.
And 5, after the compression of the VPDU reconstruction blocks in the first part of cache is completed each time, storing the compressed VPDU reconstruction blocks in the second part of cache into a memory space with the size of 32 x 64 according to the coordinate mapping rule, wherein the second part of cache stores reconstruction block information (6 x 32 x 64) of at most 6 VPDUs except the current VPDU.
Reading a reference block from the cache:
step 6, calculating to obtain the positions of all related corresponding compression blocks according to the coordinates of the required reference blocks;
step 7, for the reference block part in the first buffer, directly reading;
Step 8, decompressing all relevant compressed blocks for the compressed reference block part in the second buffer memory and reading the needed part;
and 9, storing the pixel value of the reference block obtained in the steps 7 and 8 in a corresponding position of the current coding unit in the first part of cache for reading and using for an encoder.
In summary, aiming at the problem that the prior art is low in coding efficiency due to the fact that the reference area is further constrained under the limitation of the size of the buffer, the buffer for copying the intra-frame block is divided into two parts taking the VPDU as a unit for use, the first part stores the reconstructed pixel information of the size of the VPDU, and the second part stores the compressed reconstructed pixel information, so that the storage, compression, updating and random access of the reconstructed pixel information of a part of the coded area are realized in the coding process. A random access pixel block buffer for AVS3 standard intra block copy mode is designed, so that the intra block copy buffer can apply block-based compression technology, and update the buffered reference pixel information along with the encoding process, so that more reference blocks are buffered under the limit of the size of the intra block copy buffer, and quick access to the reference blocks is realized. The invention can compress the reconstructed pixel information generated in the encoding process by using a block-based lossy compression method, and solves the problems that the shape of an encoding unit is not regular, the encoding unit is compressed by using a block-based compression algorithm, and the encoding unit is provided for reference by an intra-frame block copying method. The reconstructed block of the same size occupies less space after compression than when stored in pixel form. More reference pixel information can be stored under the copy buffer of the intra block with a given size, so that the reference area of the intra block copy method is enlarged, and the coding efficiency is improved. Furthermore, the present invention can cope with coding orders of AVS3 standards other than VVC standards, and with coding units of sizes exceeding VPDUs.
Embodiments of the present invention also disclose a computer program product or computer program comprising computer instructions stored in a computer readable storage medium. The computer instructions may be read from a computer-readable storage medium by a processor of a computer device, and executed by the processor, cause the computer device to perform the method described above.
In some alternative embodiments, the functions/acts noted in the block diagrams may occur out of the order noted in the operational illustrations. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved. Furthermore, the embodiments presented and described in the flowcharts of the present invention are provided by way of example in order to provide a more thorough understanding of the technology. The disclosed methods are not limited to the operations and logic flows presented herein. Alternative embodiments are contemplated in which the order of various operations is changed, and in which sub-operations described as part of a larger operation are performed independently.
Furthermore, while the invention is described in the context of functional modules, it should be appreciated that, unless otherwise indicated, one or more of the described functions and/or features may be integrated in a single physical system and/or software module or one or more functions and/or features may be implemented in separate physical systems or software modules. It will also be appreciated that a detailed discussion of the actual implementation of each module is not necessary to an understanding of the present invention. Rather, the actual implementation of the various functional modules in the systems disclosed herein will be apparent to engineers in ordinary skill in view of their attributes, functions, and internal relationships. Accordingly, one of ordinary skill in the art can implement the invention as set forth in the claims without undue experimentation. It is also to be understood that the specific concepts disclosed are merely illustrative and are not intended to be limiting upon the scope of the invention, which is to be defined in the appended claims and their full scope of equivalents.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention may be embodied essentially or in a part contributing to the prior art or in a part of the technical solution, in the form of a software product stored in a storage medium, comprising several instructions for causing a computer device (which may be a personal computer, a server, a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present invention. The storage medium includes a U disk, a removable hard disk, a Read-only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, an optical disk, or other various media capable of storing program codes.
Logic and/or steps represented in the flowcharts or otherwise described herein, e.g., a ordered listing of executable instructions for implementing logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, or device and execute the instructions. For the purposes of this description, a "computer-readable medium" can be any system that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, or apparatus.
More specific examples (a non-exhaustive list) of the computer-readable medium would include an electrical connection (an electronic system) having one or more wires, a portable computer diskette (a magnetic system), a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber system, and a portable compact disc read-only memory (CDROM). In addition, the computer readable medium may even be paper or other suitable medium on which the program is printed, as the program may be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory.
It is to be understood that portions of the present invention may be implemented in hardware, software, firmware, or a combination thereof. In the above-described embodiments, the various steps or methods may be implemented in software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, may be implemented using any one or combination of techniques known in the art, discrete logic circuits with logic gates for implementing logic functions on data signals, application specific integrated circuits with appropriate combinational logic gates, programmable Gate Arrays (PGAs), field Programmable Gate Arrays (FPGAs), and the like.
In the description of the present specification, a description referring to terms "one embodiment," "some embodiments," "examples," "specific examples," or "some examples," etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the present invention. In this specification, schematic representations of the above terms do not necessarily refer to the same embodiments or examples. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
Although embodiments of the present invention have been shown and described, it will be understood by those skilled in the art that various changes, modifications, substitutions and alterations can be made therein without departing from the spirit and scope of the invention as defined by the appended claims and their equivalents.
While the preferred embodiment of the present application has been described in detail, the present application is not limited to the embodiments described above, and those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of the present application, and these equivalent modifications or substitutions are included in the scope of the present application as defined in the appended claims.
Claims (8)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210293955.5A CN114780450B (en) | 2022-03-24 | A buffer unit and method for intra-block copying |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210293955.5A CN114780450B (en) | 2022-03-24 | A buffer unit and method for intra-block copying |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN114780450A CN114780450A (en) | 2022-07-22 |
| CN114780450B true CN114780450B (en) | 2026-02-10 |
Family
ID=
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110312156A (en) * | 2018-03-27 | 2019-10-08 | 腾讯科技(深圳)有限公司 | A kind of video cache method, apparatus and readable storage medium storing program for executing |
| CN112333446A (en) * | 2020-11-03 | 2021-02-05 | 中山大学 | An Intra-Frame Copy Reference Block Compression Method |
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110312156A (en) * | 2018-03-27 | 2019-10-08 | 腾讯科技(深圳)有限公司 | A kind of video cache method, apparatus and readable storage medium storing program for executing |
| CN112333446A (en) * | 2020-11-03 | 2021-02-05 | 中山大学 | An Intra-Frame Copy Reference Block Compression Method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112889283B (en) | Coding method and device thereof, and decoding method and device thereof | |
| US9967577B2 (en) | Acceleration interface for video decoding | |
| JP2020039167A (en) | Computing device and method | |
| WO2022104498A1 (en) | Intra-frame prediction method, encoder, decoder and computer storage medium | |
| CN101044509B (en) | Methods, apparatus and system for film grain simulation | |
| CN112383780A (en) | Encoding and decoding method and device for point matching reference set and index back-and-forth scanning string matching | |
| TWI887420B (en) | Frame prediction method, encoder, decoder and computer storage medium | |
| JP2002531971A (en) | Image processing circuit and method for reducing differences between pixel values across image boundaries | |
| CN107087184B (en) | Multimedia data recompression method | |
| CN104935945B (en) | Image encoding or decoding method for extending reference pixel sample value set | |
| CN116112683B (en) | Video compression method, device, computer equipment and storage medium | |
| JP6708374B2 (en) | Method, device, program, and readable medium for determining a set of modifiable elements within a set of images | |
| US11202085B1 (en) | Low-cost hash table construction and hash-based block matching for variable-size blocks | |
| CN110944178A (en) | Data compression method and apparatus using multiple candidate sets associated with coding parameters | |
| CN1346573A (en) | Method and apparatus for performing motion compensation in a texture mapping engine | |
| CN114780450B (en) | A buffer unit and method for intra-block copying | |
| JP3416649B2 (en) | Variable length coding device | |
| CN112954358B (en) | Moving image encoding device and method of operating moving image encoding device | |
| CN105847823A (en) | Method for reducing use of memory bandwidth during video decoding | |
| CN114780450A (en) | Buffer unit and method for intra block copy | |
| JP2020530229A (en) | Motion compensation reference frame compression | |
| JP3715273B2 (en) | Image data smoothing processing apparatus, smoothing processing method, and smoothing processing program | |
| US10218978B2 (en) | Data processing systems | |
| US12519959B2 (en) | Multimedia data processing method and apparatus, computer device, computer-readable storage medium, and computer program product | |
| CN100379251C (en) | A Coding Method for Static Image Compression |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant |