Intra block copy unit and method

文档序号:156337 发布日期:2021-10-26 浏览:49次 中文

阅读说明:本技术 帧内块复制单元及方法 (Intra block copy unit and method ) 是由 黄异青 顾家其 冯发军 于 2021-07-16 设计创作,主要内容包括:本申请适用视频译码技术领域,尤其涉及帧内块复制单元。其中,帧内块复制单元包括获取单元、解码单元、解码辅助单元以及缓冲单元;获取单元从缓冲单元获取先前经解码的参考数据,并将先前经解码的参考数据以及当前待解码数据发送至解码单元;解码单元则利用先前经解码的参考数据对当前待解码数据进行解码,进而得到当前经解码数据,并将当前经解码数据发送至解码辅助单元以及缓冲单元,缓冲单元接收并缓存当前经解码数据,并将该数据作为下一待解码数据的参考数据,解码辅助单元用于接收当前经解码数据,并对当前经解码数据做至少压缩处理。如此,获取单元无需再等待完整的解码流程结束以后便可获取参考数据,提高了帧内块复制单元的解码效率。(The present application is applicable to the field of video coding techniques, and in particular, to intra block copy units. The intra block copying unit comprises an acquisition unit, a decoding auxiliary unit and a buffer unit; the acquisition unit acquires the previously decoded reference data from the buffer unit and sends the previously decoded reference data and the current data to be decoded to the decoding unit; the decoding unit decodes the current data to be decoded by using the previously decoded reference data to obtain the current decoded data, and sends the current decoded data to the decoding auxiliary unit and the buffer unit, the buffer unit receives and buffers the current decoded data and takes the data as the reference data of the next data to be decoded, and the decoding auxiliary unit is used for receiving the current decoded data and at least compressing the current decoded data. Therefore, the acquisition unit can acquire the reference data without waiting for the completion of the complete decoding process, and the decoding efficiency of the intra block copying unit is improved.)

1. An intra block copy unit, characterized in that the intra block copy unit comprises an acquisition unit, a decoding auxiliary unit, and further comprises a buffer unit;

the acquisition unit is used for acquiring the previously decoded reference data from the buffer unit and sending the previously decoded reference data and the current data to be decoded to the decoding unit;

the decoding unit is configured to receive the previously decoded reference data and the current data to be decoded, and decode the current data to be decoded by using the previously decoded reference data to obtain current decoded data; and

the decoding unit sends the current decoded data to a decoding auxiliary unit and the buffer unit, the buffer unit is used for receiving and buffering the current decoded data to be used as reference data of next data to be decoded, and the decoding auxiliary unit is used for receiving the current decoded data and at least compressing the current decoded data.

2. The intra block copy unit of claim 1, wherein the decoding unit comprises a filtering unit;

the decoding unit is also used for filtering the current decoded data by utilizing the filtering unit.

3. The intra block copy unit according to claim 1 or 2, wherein the decoding auxiliary unit further comprises an output unit and a storage unit;

the decoding unit sends the current decoded data to the output unit;

the output unit is used for receiving the current decoded data and sending the current decoded data to the storage unit;

the storage unit is configured to store the current decoded data, and output the current decoded data to a target device when the current decoded data reaches a preset number.

4. The intra block copy unit according to any of claims 1 to 3, characterized in that the intra block copy unit further comprises a control unit, and

the obtaining unit is further used for sending a query request to the control unit and determining whether to obtain the previously decoded reference data from the buffer unit according to a query result corresponding to the query request;

the control unit is used for receiving the query request and feeding back the corresponding query result to the acquisition unit according to the query request.

5. The intra block copy unit according to claim 3 or 4, wherein the decoding auxiliary unit further comprises a compression unit;

the output unit sends the current decoded data to the compression unit;

the compression unit is used for receiving the current decoded data and performing data compression processing on the current decoded data, an

The compression unit is also used for outputting the current decoded data subjected to compression processing to the storage unit.

6. The intra-block copy unit according to claim 5, wherein the storage unit sends response information to the compression unit while the compression unit outputs the current decoded data subjected to the compression processing to the storage unit, the response information indicating whether or not the storage unit completes storing the current decoded data subjected to the compression processing.

7. The intra block copy unit according to claim 6, wherein after the compression unit receives the response information, the compression unit sends indication information for characterizing whether the currently decoded data is output to the storage unit to the control unit;

the control unit is used for receiving the indication information, an

The control unit is further configured to determine the corresponding query result according to the query request and the indication information sent by the obtaining unit, and send the corresponding query result to the obtaining unit.

8. An intra block copy method applied to an electronic device, the method comprising:

receiving current data to be decoded and acquiring previously decoded reference data from a buffer unit of the electronic equipment;

decoding the current data to be decoded by using the previously decoded reference data to obtain the current decoded data;

the current decoded data is buffered to the buffer unit via a first path as reference data for the next data to be decoded, and the current decoded data is sent to subsequent processing via another path as processed data.

9. The method of claim 8, wherein after the decoding of current data to be decoded using the previously decoded reference data, the current decoded data is filtered.

10. The method for intra block copy as claimed in claim 8 or 9, further comprising: and outputting the processed data to a storage unit of the electronic equipment, and outputting the processed data to a target device when the processed data stored in the storage unit reaches a preset number.

11. The method for intra block copy as claimed in any of claims 8 to 10, further comprising:

and sending a query request to a control unit of the electronic equipment, and determining whether to acquire the previously decoded reference data from the buffer unit or not by the electronic equipment according to a query result corresponding to the query request.

12. The method according to any one of claims 9 to 11, wherein the sending the current decoded data to a subsequent process via another path as process-completed data comprises:

and performing data compression processing on the current decoded data by using a compression unit of the electronic equipment to obtain compressed data.

13. The intra-block copy method according to claim 12, wherein while outputting the compressed data to a storage unit of the electronic device, the storage unit of the electronic device generates response information indicating whether or not the storage unit has completed storing the compressed current decoded data, and sends the response information to the compression unit.

14. The intra-block copy method according to claim 13, wherein after the compression unit of the electronic apparatus receives the response information, the compression unit of the electronic apparatus sends indication information indicating whether the currently decoded data is output to the storage unit of the electronic apparatus to the control unit of the electronic apparatus;

and the control unit of the electronic equipment receives the indication information and determines the corresponding query result according to the query request and the indication information.

15. An electronic device comprising one or more processors; one or more memories; the one or more memories store one or more programs that, when executed by the one or more processors, cause the electronic device to perform the intra block copy method of any of claims 8-14.

16. A computer-readable storage medium having stored thereon instructions which, when executed on a computer, cause the computer to perform the intra block copy method of any one of claims 8 to 14.

Technical Field

The present application relates to the field of video coding, and more particularly, to an intra block copy unit and method.

Background

An Intra Block Copy (IBC) coding mode is one of important components of standard screen content coding technologies such as High Efficiency Video Coding (HEVC), AV1 (annular for open media video 1), and the like. The basic coding units in the HEVC standard and the AV1 standard are Coding Tree Units (CTUs) and Super Blocks (SBs), respectively.

Generally, when the content of a certain pixel block of a certain frame reappears, the pixel block where the reappearance exists is suitable for IBC mode decoding (or decoding). Specifically, for example, in the case of decoding under the HEVC standard, as shown in fig. 1, assuming that the contents of a previous pixel block a and a next pixel block B in a certain frame are the same, when the next pixel block B is decoded, the previous decoded pixel block a may be used as a reference pixel block to decode the next pixel block B, so as to improve the decoding efficiency of the next pixel block B.

But since the process of decoding is a pipelined process, i.e. the input of the current cell depends on the output of the previous cell. Therefore, when the next pixel block B is decoded, the previous pixel block a as a reference may not be released from the previous decoding process, and at this time, if the next pixel block B still needs to be decoded by using the pixel block a, it is necessary to wait until the decoding process of the pixel block a is finished, which causes a delay problem and affects the decoding efficiency of the IBC mode.

Disclosure of Invention

In view of the above, the present application provides an intra block copy unit and a method, in which a buffer unit is added in an intra block copy system to store a reference pixel block a that is still in a decoding process, so that when a pixel block B is decoded, the reference pixel block a can be directly obtained from the buffer unit, and the pixel block a does not need to be obtained until the decoding process of the pixel block a is finished, thereby improving the decoding efficiency of the IBC mode.

In a first aspect, an embodiment of the present application provides an intra block copy unit, including: the intra block copying unit comprises an acquisition unit, a decoding auxiliary unit and further comprises a buffer unit; the acquisition unit is used for acquiring the previously decoded reference data from the buffer unit and sending the previously decoded reference data and the current data to be decoded to the decoding unit; the decoding unit is used for receiving the previously decoded reference data and the current data to be decoded, and decoding the current data to be decoded by using the previously decoded reference data to obtain the current decoded data; and the decoding unit sends the current decoded data to the decoding auxiliary unit and the buffer unit, the buffer unit is used for receiving and buffering the current decoded data to be used as the reference data of the next data to be decoded, and the decoding auxiliary unit is used for receiving the current decoded data and at least compressing the current decoded data.

In some embodiments, the acquisition unit corresponds to a reference pixel acquisition unit, the decoding unit corresponds to an intra motion compensation unit, and the decoding auxiliary unit corresponds to an output unit, and an intra buffer coding unit, respectively. When the intra-frame motion compensation unit decodes the current data to be decoded, the decoded current decoded data is sent to the buffer unit for buffering and is used as the reference data of the next data to be decoded, and the intra-frame motion compensation unit also sends the decoded current decoded data to the decoding auxiliary unit for subsequent processing. In this way, when the reference pixel obtaining unit obtains the current decoded data as the reference data, it is not necessary to wait until the whole decoding process is finished, that is, after the current decoded data is compressed, the current decoded data is obtained as the reference data, and the next data to be decoded is decoded, so that the decoding efficiency of the intra block copying unit is improved.

With reference to the first aspect, in a possible implementation manner of the first aspect, the decoding unit includes a filtering unit; the decoding unit is also used for filtering the current decoded data by utilizing the filtering unit. It is understood that, in some embodiments, the decoding unit includes not only the intra motion compensation unit but also the filtering unit, and the current decoded data decoded by the intra motion compensation unit is further subjected to filtering processing by the filtering unit before being output to the buffer unit and the decoding auxiliary unit by the filtering unit.

It should be noted that whether the processing required by the filtering unit is determined by the specific codec standard adopted by the intra block copying unit, for example, in some cases, when decoding is performed by adopting the current HEVC codec standard, the current decoded data needs to be subjected to the filtering processing by the filtering unit; when decoding is performed using the current AV1 codec standard, the current decoded data does not need to be subjected to the filtering process of the filtering unit. However, it is understood that, with the development of scientific technology, the foregoing codec standards may be supplemented or modified, and when decoding is performed based on the supplemented or modified codec standards, filtering processing by the filtering unit may not be required, and filtering processing by the filtering unit may also be required, which is not limited in this application.

With reference to the first aspect and the foregoing possible implementation manners, in one possible implementation manner of the first aspect, the decoding auxiliary unit further includes an output unit and a storage unit; the decoding unit sends the current decoded data to the output unit; the output unit is used for receiving the current decoded data and sending the current decoded data to the storage unit; the storage unit is used for storing the current decoded data, and when the current decoded data reaches a preset number, the storage unit outputs the current decoded data to the target device. In some embodiments, the decoding auxiliary unit further includes a storage unit and an output unit, the storage unit corresponds to the following pixel storage unit, after the decoding unit sends the current decoded data to the output unit, the output unit sends the current decoded data to the storage unit for storage, and when the current decoded data stored in the storage unit reaches a preset number, the current decoded data is sent to the target device for subsequent processing, for example, if the current decoded data is video data, the storage unit sends the current decoded data to the target device for playing. In other embodiments, when the obtaining unit cannot obtain the current decoded data from the buffer unit as the reference data to decode the next data to be decoded, the obtaining unit obtains the current decoded data from the storage unit to ensure that the obtaining unit can obtain the current decoded data certainly.

With reference to the first aspect and the foregoing possible implementation manners, in a possible implementation manner of the first aspect, the intra block copying unit further includes a control unit, and the obtaining unit is further configured to send an inquiry request to the control unit, and determine whether to obtain previously decoded reference data from the buffer unit according to an inquiry result corresponding to the inquiry request; the control unit is used for receiving the query request and feeding back a corresponding query result to the acquisition unit according to the query request. In some embodiments, the intra block copying unit further includes a control unit, and the obtaining unit may determine whether to obtain the previously decoded reference data from the buffer unit by sending a query request to the control unit before the obtaining unit obtains the previously decoded reference data, and according to a result of the query fed back by the control unit.

With reference to the first aspect and the foregoing possible implementation manners, in one possible implementation manner of the first aspect, the decoding auxiliary unit further includes a compression unit; the output unit sends the current decoded data to the compression unit; the compression unit is used for receiving the current decoded data and performing data compression processing on the current decoded data, and the compression unit is also used for outputting the current decoded data subjected to the compression processing to the storage unit. In some embodiments, the decoding auxiliary unit further includes a compression unit, the compression unit corresponds to the following frame buffer encoding unit, the current decoded data received by the output unit needs to be compressed by the compression unit, and then the compressed data is output to the storage unit by the compression unit, so as to increase the speed of the original data output by the output unit.

With reference to the first aspect and the foregoing possible implementation manners, in a possible implementation manner of the first aspect, while the compression unit outputs the current decoded data subjected to the compression processing to the storage unit, the storage unit sends response information to the compression unit, where the response information indicates whether the storage unit completes storage of the current decoded data subjected to the compression processing. In some embodiments, to ensure that the storage unit has completed storing the compressed current decoded data, the storage unit may send an acknowledgement to the compression unit to indicate that the storage of the compressed current decoded data has been completed.

With reference to the first aspect and the foregoing possible implementation manners, in a possible implementation manner of the first aspect, after the compressing unit receives the response information, the compressing unit sends, to the control unit, indication information used for representing whether the current decoded data is output to the storage unit; the control unit is used for receiving the indication information, determining a corresponding query result according to the query request and the indication information sent by the acquisition unit, and sending the corresponding query result to the acquisition unit. In some embodiments, the compression unit sends indication information indicating whether the current decoded data is output to the storage unit to the control unit after receiving the response information, and the control unit determines the query result corresponding to the query request according to the query request sent by the acquisition unit and the indication information after receiving the indication information. For example, assuming that the acquiring unit sends an inquiry request inquiring whether or not previously decoded data is stored in the storage unit, and the indication information received by the control unit is just that "previously decoded data has already been stored in the storage unit", the inquiry result determined by the control unit according to the indication information and the inquiry request is that "previously decoded data has already been stored in the storage unit".

It is to be understood that, in other embodiments, the obtaining unit may also send, to the control unit, an inquiry request about "whether the previously decoded data is stored in the buffer unit", in this case, after the buffer unit completes storing the previously decoded data, the obtaining unit also sends, to the control unit, information that "the previously decoded data has been stored", and then the control unit feeds back, to the obtaining unit, a corresponding inquiry result according to the information sent by the buffer unit.

In a second aspect, an embodiment of the present application provides an intra block copy method, including: receiving current data to be decoded and acquiring previously decoded reference data from a buffer unit of the electronic equipment; decoding the current data to be decoded by using the previously decoded reference data to obtain the current decoded data; the current decoded data is buffered to the buffer unit via a first path as reference data for the next data to be decoded, and the current decoded data is sent to subsequent processing via another path as processed data. It should be understood that the first path refers to a data transmission process in which the electronic device sends the current decoded data to the buffer unit, and the other path refers to a data transmission process in which the electronic device completely processes the current decoded data according to a general decoding process.

With reference to the second aspect, in some possible implementations of the second aspect, after the current data to be decoded is decoded by using the previously decoded reference data, the current decoded data is filtered.

With reference to the second aspect, in some possible implementations of the second aspect, the method further includes: and outputting the processed data to a storage unit of the electronic equipment, and outputting the processed data to a target device when the processed data stored in the storage unit reaches a preset number.

With reference to the second aspect, in some possible implementations of the second aspect, the method further includes: and sending a query request to a control unit of the electronic equipment, and determining whether to acquire the previously decoded reference data from the buffer unit or not by the electronic equipment according to a query result corresponding to the query request.

With reference to the second aspect, in some possible implementations of the second aspect, sending the currently decoded data to a subsequent process via another path as processed data includes: and performing data compression processing on the current decoded data by using a compression unit of the electronic equipment to obtain the compressed data.

With reference to the second aspect, in some possible implementation manners of the second aspect, while the data after being compressed is output to the storage unit of the electronic device, the storage unit of the electronic device generates response information and sends the response information to the compression unit, where the response information indicates whether the storage unit completes storing the current decoded data after being compressed.

With reference to the second aspect, in some possible implementations of the second aspect, after the compression unit of the electronic device receives the response information, the compression unit of the electronic device sends, to the control unit of the electronic device, indication information for characterizing whether currently decoded data is output to the storage unit of the electronic device; and the control unit of the electronic equipment receives the indication information and determines a corresponding query result according to the query request and the indication information.

In a third aspect, an embodiment of the present application provides an electronic device, including one or more processors; one or more memories; the one or more memories store one or more programs that, when executed by the one or more processors, cause the electronic device to perform the method of intra block copying as in any one of the second aspects above.

In a fourth aspect, embodiments of the present application provide a computer-readable storage medium having instructions stored thereon, where the instructions execute on a computer the method for intra block copy as in any one of the above second aspects.

In a fifth aspect, embodiments of the present application provide a computer program product, which, when run on a terminal device, causes the terminal device to perform the intra block copy method as in any one of the second aspects described above.

Drawings

In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the embodiments or the prior art descriptions will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without inventive exercise.

FIG. 1 is a schematic diagram of a block of pixels supporting an intra block copy method provided by some embodiments;

FIG. 2 is a block diagram of an exemplary codec system according to some embodiments;

FIG. 3(a) is a block diagram of an example of an intra block copy unit according to some embodiments;

FIG. 3(b) is a schematic diagram of a decoding flow of the intra block copy unit in FIG. 3 (a);

FIG. 4 is a timing diagram illustrating an exemplary decoding process of the intra block copy unit according to some embodiments;

FIG. 5(a) is a block diagram of an example of an intra block copy unit according to some embodiments;

fig. 5(b) is a schematic diagram of a decoding flow of the intra block copy unit in fig. 5 (a).

Detailed Description

In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular system structures, techniques, etc. in order to provide a thorough understanding of the embodiments of the present application. It will be apparent, however, to one skilled in the art that the present application may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present application with unnecessary detail.

It will be understood that the terms "comprises" and/or "comprising," when used in this specification and the appended claims, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

It should also be understood that the term "and/or" as used in this specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.

As used in this specification and the appended claims, the term "if" may be interpreted contextually as "when", "upon" or "in response to" determining "or" in response to detecting ". Similarly, the phrase "if it is determined" or "if a [ described condition or event ] is detected" may be interpreted contextually to mean "upon determining" or "in response to determining" or "upon detecting [ described condition or event ]" or "in response to detecting [ described condition or event ]".

Furthermore, in the description of the present application and the appended claims, the terms "first," "second," "third," and the like are used for distinguishing between descriptions and not necessarily for describing or implying relative importance.

Reference throughout this specification to "one embodiment" or "some embodiments," or the like, means that a particular feature, structure, or characteristic described in connection with the embodiment is included in one or more embodiments of the present application. Thus, appearances of the phrases "in one embodiment," "in some embodiments," "in other embodiments," or the like, in various places throughout this specification are not necessarily all referring to the same embodiment, but rather "one or more but not all embodiments" unless specifically stated otherwise. The terms "comprising," "including," "having," and variations thereof mean "including, but not limited to," unless expressly specified otherwise.

In the field of video and audio playing technology, the data volume of source data such as video and audio is too large, and if the source data of video and audio is directly transmitted to the target device 2 for playing, a large bandwidth is consumed. Therefore, when data such as video and audio is transmitted from the source device 1, the source data such as video and audio is encoded (or compressed) by the codec system 10 to reduce the data size of the source data, so as to reduce the bandwidth consumption in the data transmission process, and then the source device 1 or another device capable of transmitting encoded data transmits the encoded source data to the target device 2 or another device capable of receiving the encoded data, and finally the target device 2 or another device receiving the encoded data is decoded (or decompressed) for subsequent processing.

In some embodiments of the present application, the source apparatus 1 or the target apparatus 2 may be a mobile phone, a tablet computer, a wearable device, an in-vehicle device, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, or other apparatuses capable of receiving/transmitting source data such as video and audio, and the specific type of the source apparatus 1 or the target apparatus 2 is not limited in this embodiment.

Fig. 2 is a schematic structural diagram of the codec system 10 in which the intra block copy system of the present application is located. As shown in fig. 2, the codec system 10 includes a decoding apparatus 100 and an encoding apparatus 200.

Here, the encoding apparatus 200 is configured to receive source data of the source apparatus 1, such as video data and audio data, and wait for encoded data, encode the source data by using an encoding technique, such as VVC, HEVC, AV1, and then transmit the encoded source data to the decoding apparatus 100 for decoding. It should be understood that the present application does not limit the specific implementation process and manner of how the encoding apparatus 200 encodes the source data.

In some embodiments of the present application, the encoding apparatus 200 may be a part of the source apparatus 1 or other apparatuses that may transmit encoded source data, and the present application is not limited thereto.

After receiving the encoded source data, the decoding apparatus 100 decodes the encoded source data by using a decoding standard corresponding to or consistent with the encoding standard, such as VVC, and sends the decoded source data to the target apparatus 2 for subsequent processing, such as playing back the decoded source data by the target apparatus 2. In some embodiments of the present application, the decoding apparatus 100 may be a part of the target apparatus 2 or other apparatuses that can receive and decode the encoded source data, and the present application is not limited thereto.

The decoding apparatus 100 includes a reference pixel obtaining unit 102, an intra motion compensation unit 104, a filtering unit 106, an output unit 108, a pixel storage unit 112, an entropy decoding unit 114, an inverse quantization unit 116, and an inverse transform processing unit 118. Among them, as shown in the broken-line frame of fig. 2 and further as shown in fig. 3(a), the reference pixel obtaining unit 102, the intra motion compensation unit 104, the filtering unit 106, the output unit 108, and the pixel storage unit 112 constitute the intra block copying unit 100 a.

Specifically, in the decoding process, the decoding apparatus 100 first receives encoded source data and syntax elements associated with the encoding process from the encoding apparatus 200. Entropy decoding unit 114 of decoding apparatus 100 then entropy decodes the encoded block of source data to generate relative motion vectors, prediction mode indicators, or other syntax elements between the respective encoded blocks of source data. Where a relative motion vector refers to the relative positional relationship between a previous encoded block of source data and a subsequent encoded block of source data, e.g., the subsequent encoded block of source data is at the left 2 pixels (pixels) of the previous encoded block of source data.

The prediction mode refers to a decoding mode, such as an intra block copy mode, or an inter prediction mode, etc., to which the current encoded source data block is applicable, and the prediction mode indicator may be an intra prediction mode indicator, or an inter prediction mode indicator, respectively.

Entropy decoding unit 114 then outputs the relative motion vector, the prediction mode indicator, and other syntax elements to intra motion compensation unit 104, so that intra motion compensation unit 104 decodes the current encoded source data block according to the prediction mode indicator. For example, if the prediction mode indicator is intra block copy mode, it indicates that the current encoded source data block is suitable for intra block copy mode, i.e. there is a decoded source data block in the previously decoded source data block with the same content as the current encoded data block, the intra motion compensation unit 104 will obtain some previously decoded pixel block from the pixel storage unit 112 through the reference pixel obtaining unit 102 as a reference data block for the current encoded source data block, and decode the current encoded source data block.

Inverse quantization unit 116 is to perform inverse quantization processing, i.e., dequantization, on the quantized transform coefficients decoded by entropy decoding unit 114 to generate dequantized transform coefficients.

The inverse transform processing unit 118 inversely transforms (e.g., inverse Discrete Cosine Transform (DCT), inverse integer transform, etc.) the dequantized transform coefficients generated by the above-described inverse quantization unit 116 to generate a residual block in the encoded data block. Wherein, the residual block refers to the difference between the reference data block and the decoded data before filtering, and the residual block is added to the reference data block and filtered to obtain the decoded source data block.

Decoding apparatus 100 removes the rasterization effect of the decoded source data block by summing the residual block from inverse transform processing unit 118 with the prediction block produced by intra motion compensation unit 104 and performing filtering processing by filtering unit 106 to form a decoded source data block that eliminates the rasterization effect.

The decoded data blocks are finally outputted from the output unit 108 and stored in the pixel storage unit 112, and when the number of the decoded data blocks stored in the pixel storage unit 112 reaches a certain number, the stored decoded data blocks are sent to the target device 2 together, and the target device 2 performs subsequent processing, such as playing on the target device 2.

The functions of the respective units/devices in the codec system 10 where the intra block copy unit 100a is located are briefly described above. As can be seen from the above, the intra motion compensation unit 104 will obtain a certain previously decoded source data block from the pixel storage unit 112 through the reference pixel obtaining unit 102 as a reference data block for the current encoded source data block, and decode the current encoded source data block, but it must wait until the reference data block is decoded, that is, it takes a long time to wait from the intra motion compensation unit 104 to the filtering unit 106, the output unit 108, and then to the pixel storage unit 112, which results in a low efficiency of the decoding process.

In order to improve the decoding efficiency, in the embodiment provided in the present application, a storage unit for buffering decoded pixel blocks output from the intra motion compensation unit 104 and corresponding steps are added in the intra copy unit 100a shown in fig. 3 (a).

Specifically, by adding a storage unit for buffering the decoded pixel block output from the filtering unit 106, the reference pixel obtaining unit 102 can directly obtain the decoded pixel block from the storage unit, and the time for the reference pixel obtaining unit 102 to wait for the decoded reference pixel block to be subjected to filtering processing and output to the pixel storage unit 112 by the output unit 108 is saved.

Meanwhile, in order to further improve the decoding efficiency of the intra block copy unit 100a, the present application further adds a coding unit (or a compression unit) to the output unit 108, and compresses the decoded pixel block that is originally directly output to the pixel storage unit 112 by the coding unit to reduce the data size of the decoded pixel block, and then outputs the compressed decoded pixel block to the pixel storage unit 112 by the coding unit, so as to improve the writing-out speed of the output unit 108, and further improve the efficiency of the whole decoding process.

In order to more clearly explain the technical problems to be solved by the present invention and the points of the improvements, the following will explain a specific embodiment of the present application in comparison with the intra block copy unit 100a shown in fig. 3(a) which is the basis of the improvements of the present application. Taking the source data as the video frame shown in fig. 1 as an example, in the above decoding process, when there are pixel block a and pixel block B with the same content in the same frame, the intra block copy mode is used to decode the pixel block B encoded in the next frame, that is, the previously decoded pixel block a is used as the reference pixel block for decoding the currently encoded pixel block B.

Specifically, in conjunction with fig. 1, as shown in fig. 3(B), in the intra block copy unit 100a, the flow of decoding the encoded pixel block B is as follows:

s101 a: the reference pixel obtaining unit 102 obtains a previously decoded pixel block a as a reference pixel block from the pixel storage unit 112;

s103 a: the reference pixel obtaining unit 102 outputs the decoded pixel block a and the current encoded pixel block B to be decoded to the intra-frame motion compensation unit 104, and the intra-frame motion compensation unit 104 decodes the pixel block B with reference to the decoded pixel block a;

s105 a: the intra-frame motion compensation unit 104 outputs the decoded pixel block B to the filtering unit 106, and the filtering unit 106 performs filtering processing on the decoded pixel block B to remove the rasterization effect of the decoded pixel block B;

s107 a: the filtering unit 106 outputs the decoded pixel block B subjected to the filtering processing to the output unit 108;

s109 a: the output unit 108 receives the filter-processed and decoded pixel block B output by the filter unit 106, and outputs the filter-processed and decoded pixel block B to the pixel storage unit 112.

Among them, the decoded pixel blocks stored in the pixel storage unit 112 are classified into two types: one for use as a reference pixel block for decoding other encoded pixel blocks, such as pixel block a described above; one is a pixel block for output to the target device 2, and the pixel block for output to the target device 2 belongs to a part of a reference pixel block for decoding other encoded pixel blocks. When the number of decoded pixel blocks stored in the pixel storage unit 112 for outputting to the target device 2 is greater than or equal to a preset value, for example, 16 blocks, the pixel storage unit 112 outputs the 16 decoded pixel blocks to the target device 2 (refer to fig. 2), so that the target device 2 performs subsequent processing on the decoded pixel blocks.

In the decoding process of the above steps S101a-S109a, the pixel blocks processed by each unit at different times will be different. Continuing with reference to fig. l, taking as an example a pixel block 1 of 4 × 4 and a pixel block of 2 × 2 in CTU unit of the current video frame, in the above decoding process, the current encoded pixel block 1 is divided into four pixel blocks CTUn +1, CTUn +2, CTUn +3 and CTUn +4 according to CTU size, where n is a positive integer greater than 0, it should be understood that when n is 0, CTUn +1 is CTU1 and belongs to the first encoded pixel block, and the intra block copying unit 100a acquires the first encoded pixel block from the encoding apparatus 200. Also, while the first CTU1 is being decoded, the intra-frame copy unit 100a will decode the encoded CTU1 using a decoding algorithm since there are no other pixel blocks that can be referenced before, it should be understood that the specific decoding algorithm used by the intra-frame copy unit 100a is not limited by this application.

For convenience of explanation, a case of storing a decoded pixel block CTUn that can be used as a reference in the pixel storage unit 112 is described as an example of a CTU pixel block processed by each unit in the intra-frame block copying unit 100a at different time, and it is understood that the pixel block stored in the pixel storage unit 112 may be any pixel block that has been decoded, and the present application is not limited thereto. Specifically, the case of CTU pixel blocks processed by the respective units at different times is shown in fig. 4:

at time T1, the pixel block processed by the reference pixel obtaining unit 102 is CTUn +1, and the decoded pixel block CTUn in the pixel storage unit 112 is used as the reference pixel block.

At time T2, reference pixel acquisition unit 102 outputs CTUn +1 to intra motion compensation unit 104;

meanwhile, the intra copy unit 100a receives the encoded CTUn +2 in the encoding apparatus 200;

the pixel block processed by the reference pixel obtaining unit 102 is CTUn +2, and the pixel block processed by the intra motion compensation unit l04 is CTUn +1, at this time, the decoded pixel block in the pixel storage unit 112 is still CTUn.

At time T3, reference pixel acquisition unit 102 outputs CTUn +2 to intra motion compensation unit 104;

the intra motion compensation unit l04 outputs CTUn + l to the filtering unit 106, and receives CTUn +2 output from the reference pixel acquisition unit 102;

the filtering unit 106 receives the CTUn +1 output by the intra-frame motion compensation unit 104, and performs filtering processing on the CTUn + 1;

meanwhile, the intra copy unit 100a receives the encoded CTUn +3 in the encoding apparatus 200;

at this time, the pixel block processed by the reference pixel obtaining unit 102 is CTUn +3, the intra motion compensation unit 104 processes CTUn +2, the filtering unit 106 processes CTUn +1, and the pixel storage unit 112 is still CTUn.

At time T4, reference pixel acquisition unit 102 outputs CTUn +3 to intra motion compensation unit 104;

the intra-frame motion compensation unit 104 outputs CTUn +2 to the filtering unit 106, and receives CTUn +3 output by the reference pixel acquisition unit 102;

the filtering unit 106 outputs CTUn +1 to the output unit 108, receives CTUn +2 output by the intra-frame motion compensation unit 104, and performs filtering processing on CTUn + 2;

the output unit 108 receives CTUn +1 output by the filtering unit 106.

Meanwhile, the intra copy unit 100a receives the encoded CTUn +4 in the encoding apparatus 200;

at this time, the pixel block processed by the reference pixel obtaining unit 102 is CTUn +4, the intra-frame motion compensation unit 104 processes CTUn +3, the filtering unit 106 processes CTUn +2, the pixel block in the output unit 108 is CTUn +1, and the pixel storage unit 112 is still CTUn.

At time T5, the reference pixel obtaining unit 102 outputs CTUn +4 to the intra motion compensation unit l 04;

the intra-frame motion compensation unit 104 outputs CTUn +3 to the filtering unit 106, and receives CTUn +4 output by the reference pixel acquisition unit 102;

the filtering unit 106 outputs CTUn +2 to the output unit 108, receives CTUn +3 output by the intra-frame motion compensation unit 104, and performs filtering processing on CTUn + 3;

the output unit 108 outputs CTUn +1 to the pixel storage unit 112, and receives CTUn +3 output by the filtering unit 106;

at this time, there is no pixel block to be processed in the reference pixel obtaining unit 102, the pixel block processed in the intra motion compensation unit 104 is CTUn +4, the pixel block processed in the filtering unit 106 is CTUn +3, the pixel block processed in the output unit 108 is CTUn +2, and the pixel blocks stored in the pixel storage unit 112 are CTUn +1 and CTUn.

At time T6, the reference pixel obtaining unit 102 has no pixel block to be processed;

intra motion compensation section 104 outputs CTUn +4 to filtering section 106;

the filtering unit 106 outputs CTUn +3 to the output unit 108, receives CTUn +4 output by the intra-frame motion compensation unit 104, and performs filtering processing on CTUn + 4;

the output unit 108 outputs CTUn +2 to the pixel storage unit 112, and receives CTUn +3 output by the filtering unit 106;

the pixel storage unit 112 stores CTUn +1, CTUn +2, and CTUn.

At time T7, the reference pixel obtaining unit 102 has no pixel block to be processed, and the intra motion compensation unit 104 has no pixel block to be processed;

the filtering unit 106 outputs CTUn +4 to the output unit 108;

the output unit 108 outputs CTUn +3 to the pixel storage unit 112, and receives CTUn +4 output by the filtering unit 106;

the pixel storage unit 112 stores CTUn +1, CTUn +2, CTUn +3, and CTUn.

At time T8, the reference pixel acquisition unit 102 has no pixel block to be processed, the intra motion compensation unit 104 has no pixel block to be processed, and the filtering unit 106 has no pixel block to be processed;

the output unit 108 outputs CTUn +4 to the pixel storage unit 112;

the pixel storage unit 112 stores CTUn +1, CTUn +2, CTUn +3, CTUn +4, and CTUn.

Taking as an example that CTUn +1 and CTUn +2 have the same content, when the intra block copy unit 100a decodes CTUn +2, the reference pixel acquisition unit 102 is required to acquire CTUn +1 as a reference pixel block from the pixel storage unit 112.

However, as described above in fig. 4, at this time, CTUn +1 may not yet be output by the output unit 108 into the pixel storage 110, for example, at times T1 to T5 in fig. 4. Therefore, if the intra copy unit 100a is to decode CTUn +2 using CTUn +1, the reference pixel obtaining unit 102 may obtain CTUn +1 from the pixel storage unit 112 and decode CTU2 using CTUn +1 only after CTUn + l is output to the pixel storage unit 112 by the output unit l 08. It can be understood that, in this process, there is a time (T5-T1) waiting for CTUn +1 to be processed by the intra block copy unit 100a, which affects the decoding efficiency of CTUn + 2.

In view of this, the present application provides an intra block copy unit 100B as shown in fig. 5(a), and with respect to the intra block copy unit 100a as shown in fig. 3(a), the intra block copy unit 100B adds a buffer unit 124 between the intra motion compensation unit 104 and the reference pixel obtaining unit 102 to store the reference, unfiltered decoded pixel block a (CTUn +1), so that when decoding the pixel block B (CTUn +2) having the same content as the pixel block a, CTUn + l as a reference can be directly obtained from the buffer unit 124, without obtaining CTUn +1 again after the decoding flow of CTUn +1 is finished in the manner of the above steps S101a-S109a, thereby improving the decoding efficiency of CTUn + 2.

In addition, in order to increase the speed of the output unit 108 outputting (or writing) the decoded pixel block to the pixel storage unit 112, the intra-frame block copying unit 100b further adds the frame buffer encoding unit 120 to the output unit l08, compresses the decoded pixel block that is originally directly output to the pixel storage unit 112 by the frame buffer encoding unit 120 to reduce the data size of the decoded pixel block, and outputs the compressed decoded pixel block to the pixel storage unit 112 by the frame buffer encoding unit 120, so as to increase the writing-out speed of the output unit 108 and further increase the efficiency of the entire decoding process.

The method of the present application will be described in detail with reference to fig. 1, and with reference to the decoding flow of the intra block copy unit 100b shown in fig. 5 (b). Before this, it should be noted that, for the convenience and brevity of description, the embodiments herein are illustrated by functional units and modules, which should be clearly understood by those skilled in the art. In practical applications, however, the above function distribution may be performed by different functional units or modules according to needs, that is, the internal structure of the device is divided into different functional units or modules, so as to perform all or part of the above described functions.

In addition, each functional unit and each module in the embodiments may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit, and the integrated unit may be implemented in a form of a hardware circuit, or in a form of a software functional unit. In addition, specific names of the functional units and modules are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present application.

Moreover, it should be understood that, in some embodiments of the present application, the buffer unit 124 may be a new storage unit, such as a new memory, separate from the pixel storage unit 112, a logical partition divided from the pixel storage unit 112, or a logical partition that belongs to the same memory as the pixel storage unit 112 and is separate from the pixel storage unit 112, and the present application is not limited thereto.

And it should also be understood that, in other embodiments of the present application, the frame buffer encoding unit 120 may be a newly added unit independent from the output unit 108, or may be a part of the output unit 108, which is not limited in this application.

Specifically, fig. 5(b) is a schematic diagram illustrating an example of a decoding flow of the intra block copy unit, and as shown in fig. 5(b), the decoding flow in the intra block copy unit l00b includes:

s102 b: the reference pixel obtaining unit 102 inquires of the system control unit 300 whether the reference pixel block CTUn +1 is output to the buffer unit 124. If the system control unit 300 feeds back the result that the reference pixel block CTUn +1 has been output to the buffer unit 124, S104b is performed; if the system control unit 300 feeds back that the result is that the reference pixel block CTUn +1 is not output to the buffer unit 124, S106b is performed.

S104 b: the reference pixel obtaining unit 102 obtains the decoded reference pixel block CTUn +1 from the buffer unit 124, and sequentially performs S110b, S112b, S122b, S114 b.

S106 b: the frame buffer decoding unit 122 acquires the decoded reference pixel block CTUn +1 encoded by the frame buffer encoding unit 120 from the pixel storage unit 112, and decodes the decoded reference pixel block CTUn +1 encoded by the frame buffer encoding unit 120, and then outputs to the reference pixel acquisition unit 102, and performs S108.

S108 b: the reference pixel obtaining unit 102 receives the decoded reference pixel block CTUn +1 output by the frame buffer decoding unit 122, and performs S110b, S112b, S114b, S116 b.

S110b, S112b, and S114b are respectively consistent with S103a, S105a, and S107a, and reference may be made to the above description for details, which are not repeated herein.

S116 b: the filtering unit 106 outputs the decoded pixel block CTUn +2 subjected to the decoding processing to the buffer unit 124.

S118 b: the output unit 108 outputs the decoded pixel block CTUn +2 subjected to the filter processing to the frame buffer encoding unit 120.

S120 b: the frame buffer encoding unit 120 receives the decoded pixel block CTUn +2 output by the output unit 108, and performs encoding (or compression) processing on the decoded pixel block CTUn +2 to reduce the data size of the decoded pixel block CTUn +2, and outputs the compressed decoded pixel block CTUn +2 to the pixel storage unit 112.

S122 b: the pixel storage unit 112, upon receiving the decoded pixel block CTUn +2, will send a response to the frame buffer encoding unit 120 to indicate that the storage of the decoded pixel block CTUn +2 has been completed.

S124 b: after the frame buffer encoding unit 120 receives the response from the pixel storage unit 112, the frame buffer encoding unit 120 or the frame buffer encoding unit 120 transmits a broadcast indicating that CTUn +2 has been output and stored in the pixel storage unit 112 to the system control unit 300 through the output unit 108.

It should be understood that the frame buffer decoding unit 122 may be an independent unit module, and may also be coupled to the reference pixel obtaining unit 102, and the frame buffer decoding unit 122 may also be an independent unit module, and may also be coupled to the output unit 108, which is not limited in this application.

As can be seen from the decoding process of the intra block copying unit 100b, in the intra block copying method provided in the present application, after the intra motion compensation unit 104 performs decoding processing on CTUn +1 and the filtering unit 106 performs filtering processing on CTUn +1, the filtering unit 106 outputs the decoded CTUn +1 to the output unit 108 and the buffer unit 124 at the same time.

Wherein, the decoded CTUn +1 output to the output unit 108 by the filtering unit 106 continues to perform the subsequent processing according to the above-mentioned S107a-S109a, and is finally output to the pixel storage unit 112; the decoded CTUn +1 output from the filtering unit 106 to the buffering unit 124 is buffered in the buffering unit 124, so that when the CTUn +2 is decoded, the reference pixel obtaining unit 102 can directly obtain the decoded CTUn +1 from the buffering unit 124, and decode the CTUn +2 by using the CTUn +1, thereby improving the decoding efficiency of the CTUn + 2.

Furthermore, the decoded CTUn +1 that should be output to the pixel storage unit 112 by the output unit 108 is output to the intra-frame buffer encoding unit 120 by the output unit 108 for compression processing, and then the intra-frame buffer encoding unit 120 outputs the compressed decoded CTUn +1 to the pixel storage unit 112, in this process, since the decoded CTUn +1 is compressed, the data size of the decoded CTUn +1 is reduced, so that the speed of writing out the decoded pixel block to the pixel storage unit 112 by the output unit 108 is increased. For example, the original data size of the decoded CTUn +1 is 30 megabits (M), and after the decoded CTUn +1 is compressed by the frame buffer compression unit 122, the size of the decoded CTUn +1 becomes 10M, it can be understood that the speed of writing out the compressed decoded CTUn +1 with the size of 10 to the pixel storage unit 112 by the frame buffer encoding unit 120 is faster than the speed of directly outputting the decoded CTU n +1 with the data size of 30 to the pixel storage unit 112 by the output unit 108.

Meanwhile, the frame buffer encoding unit 120 also marks the compressed decoded CTU when outputting the compressed decoded CTU to the pixel storage unit 112, and broadcasts the mark to the system control unit 300 after receiving a response from the pixel storage unit 112. For example, taking the decoded CTUn +1 as an example, after the intra-frame buffer coding unit 120 compresses the decoded CTUn +1, the decoded CTUn +1 is marked as "NUM-YES", where "NUM" indicates the decoding order of the decoded 1, and "YES" indicates that the decoded CTUn +1 has been compressed by the frame buffer coding unit 120, and then after the frame buffer coding unit 120 receives the reply of the pixel storage unit 112, the frame buffer coding unit 120 confirms that the decoded CTUn +1 has been stored in the pixel storage unit 112, and sends the mark to the system control unit 300, and the system control unit 300 stores the mark.

In this way, when the decoding apparatus 100 decodes the encoded CTUn +2, the reference pixel obtaining unit 102 may first inquire the system control unit 300 whether the decoded CTUn +1 has been completely compressed by the frame buffer encoding unit 120 and output to the pixel storage unit 112, and determine whether to directly obtain the reference pixel block CTUn +1 from the buffer unit 124 according to the feedback result of the system control unit 300.

For example, if the system control unit 300 feeds back that the decoded CTUn +1 is not completely compressed by the frame buffer encoding unit 120, it indicates that the decoded CTUn +1 is still in the previous decoding process, i.e. the decoded CTUn +1 is not yet output to the pixel storage unit 112 by the frame buffer encoding unit 120. At this time, the reference pixel obtaining unit 102 obtains the decoded CTUn +1 from the buffer unit 124, and decodes the currently encoded CTUn +2 by using CTUn + 1;

if the system control unit 300 feeds back that the compression of the decoded CTUn +1 by the frame buffer encoding unit 120 is completed, it indicates that the decoded CTUn +1 has been output from the output unit 108 to the pixel storage unit 112. At this time, the reference pixel obtaining unit 102 obtains CTUn +1 from the pixel storage unit 112 in the manner of S101a-S109a described above, and decodes CTUn +2 using CTUn + 1.

For example, in one possible implementation, the process of the reference pixel obtaining unit 102 inquiring the system control unit 300 to determine whether the decoded CTUn +1 has been compressed by the frame buffer encoding unit 120 may be:

1) the reference pixel obtaining unit 102 transmits a compression state query of the decoded CTUn +1 to the system control unit 300.

2) The system control unit 300 feeds back the inquiry result to the reference pixel obtaining unit 102 according to the already compressed decoded flag "NUM-YES" broadcast before the frame buffer encoding unit 120.

3) If the system control unit 300 does not inquire the index of the decoded CTUn +1, the inquiry result is fed back to the reference pixel obtaining unit 102 as "NONE", and the reference pixel obtaining unit 102 obtains the decoded CTUn + l from the buffer unit 124. For example, assuming that the decoding order of CTUn +1 is "008", if "008-YES" is not marked in the system control unit 300, "NONE" is returned to the reference pixel acquisition unit 102.

4) If the system control unit 300 inquires about the index of the decoded CTUn +1, the inquiry result is fed back as "YES" to the reference pixel obtaining unit 102, and the reference pixel obtaining unit 102 obtains the decoded CTUn + l from the pixel storage unit 112. For example, continuing with the example where the decoding order of CTUn +1 is "008", if the flag "008-YES" is queried in the system control unit 300, then "YES" is returned to the reference pixel acquisition unit 102.

Finally, after the reference pixel obtaining unit 102 obtains the decoded CTUn + l as the reference pixel block, the decoded CTUn +1 as the reference pixel block and the encoded CTUn +2 to be decoded currently are output to the intra-frame motion compensation unit 104, and the intra-frame motion compensation unit 104 decodes the CTUn +2 according to the related decoding flow shown in fig. 2.

In addition, because the pixel blocks to be decoded belong to the same video frame or belong to different video frames of the same video, certain relation must exist between the pixel blocks in content, so that even if the contents of some two pixel blocks are different, namely the two pixel blocks belong to a non-intra copy block decoding mode, when a next pixel block is decoded, the previously decoded pixel block can still be used as a reference pixel block to decode the currently decoded pixel block. For example, the previous, previous two, and previous three pixel blocks that have been decoded before may be used as reference pixel blocks for decoding the current pixel block. For example, continuing to take fig. 1 as an example, assuming that CTUn +3 and CTUn +4 belong to pixel blocks in a non-intra block copy mode, in a possible implementation manner of the present application, the intra block copy unit 100b may still decode CTUn +3 or CTUn +4 according to the foregoing manner, and specific implementation details may refer to the foregoing description, and are not repeated herein.

It should be understood that the above embodiments are for convenience of description, so the CTU size is set to 2 × 2, and in other embodiments of the present application, the CTU may also be of other sizes. For example, assuming that the pixel block is 64 × 64, the CTU size may be 8 × 8, 16 × 16, or the like. The CTU size and pixel block size are not limited in any way by this application.

It should also be understood that the method of the present application is described above by taking the example that the decoding unit is CTU under the current HEVC standard, and in other embodiments of the present application, the method is also applicable to the decoding process that the decoding standard is AV1 and the decoding unit is SB.

It should be noted that, since the current AV1, VCC, and HEVC standards are not the same, when the above method is used based on the current AV1 or VCC decoding standard, the filtering unit 106 in fig. 3(a), 3(b), and 5(a) and 5(b) is in a default off state, that is, although the current decoded data processed by the intra motion compensation unit 104 passes through the filtering unit 106, the filtering unit 106 does not perform filtering processing on the current decoded data. At this time, the process of transmitting the current decoded data is S116 b' as shown in fig. 5(b), that is, after the current decoded data decoded by the intra motion compensation unit 104 is sent to the buffer unit 124 by the intra motion compensation unit 104, and is sent to the filtering unit 106 by the intra motion compensation unit 104 (but not performing filtering), the current decoded data is output to the output unit 108 by the filtering unit 106 for subsequent processing.

In summary, the present application increases the frame buffer encoding unit 120 to compress the decoded pixel block in the output unit 108, so as to reduce the data size of the decoded pixel block, thereby increasing the speed of outputting the decoded pixel block to the pixel storage unit 112 by the output unit 108. Meanwhile, a buffer unit 124 is additionally arranged between the intra-frame motion compensation unit 104 and the reference pixel obtaining unit 102, and is used for storing the pixel block processed by the intra-frame motion compensation unit 104, so that when the next pixel block is decoded, the reference pixel obtaining unit 102 can obtain the pixel block processed by the intra-frame motion compensation unit 104 from the buffer unit 124 without waiting until the decoding process of the pixel block serving as a reference is completely finished, and further the decoding efficiency of the decoding process is improved.

The decoding flow in the intra block copy unit 100b explained above with reference to fig. 5(b) (e.g., steps S102b to 124b) may also be a method implemented in the form of computer program codes.

In addition, in a scenario implemented by the computer program code, the processor runs the software functional modules implemented by the corresponding code, such as the reference pixel obtaining module, the intra-frame motion compensation module, the filtering module, the output module, and the pixel storage module (functionally corresponding to the reference pixel obtaining unit 102, the intra-frame motion compensation unit 104, the filtering unit 106, the output unit 108, and the pixel storage unit 112 shown in fig. 5a, respectively, and the logical connection relationship between the modules may also correspond thereto).

An embodiment of the present application further provides an electronic device, including: at least one processor, a memory, and a computer program stored in the memory and executable on the at least one processor, the processor implementing the steps of the decoding procedure implemented in the form of computer program code in the above embodiments when executing the computer program. Wherein the computer program comprises computer program code, which may be in the form of source code, object code, an executable file or some intermediate form, etc. The computer readable medium may include at least: any entity or device capable of carrying computer program code to a photographing apparatus/terminal apparatus, a recording medium, computer memory, read-only memory (ROM), Random Access Memory (RAM), electrical carrier wave signals, telecommunication signals, and software distribution medium. Such as a usb-disk, a removable hard disk, a magnetic or optical disk, etc. In certain jurisdictions, computer-readable media may not be an electrical carrier signal or a telecommunications signal in accordance with legislative and patent practice.

Embodiments of the present application further provide a computer-readable storage medium, which stores a computer program, and when the computer program is executed by a processor, the computer program can implement the steps in the decoding flow embodiments implemented by the computer program code.

The embodiments of the present application provide a computer program product, which when running on an electronic device, enables the electronic device to implement the steps in the above embodiments when executed.

In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and reference may be made to the related descriptions of other embodiments for parts that are not described or illustrated in a certain embodiment.

Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.

In the embodiments provided in the present application, it should be understood that the disclosed apparatus/electronic device and method may be implemented in other ways. For example, the above-described apparatus/network device embodiments are merely illustrative, and for example, the division of the modules or units is only one logical division, and there may be other divisions when actually implementing, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not implemented.

The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.

The above-mentioned embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; such modifications and substitutions do not substantially depart from the spirit and scope of the embodiments of the present application and are intended to be included within the scope of the present application.

21页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种图像压缩方法、装置、电子设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类