Image deblocking filtering method and device, electronic equipment and computer readable medium

By receiving and processing video frame images, generating information of the unit to be filtered and performing filtering processing, the problem of low parallel computing efficiency of deblocking filtering in the prior art is solved, and efficient processing of deblocking filtering of images is realized.

CN119653112AActive Publication Date: 2025-03-18BEIJING VIMICRO ARTIFICIAL INTELLIGENCE CHIP TECH CO LTD +2
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411778597.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-05
Publication Date
2025-03-18
Estimated Expiration
2044-12-05

AI Technical Summary

Technical Problem

In the prior art, the image deblocking filtering process only acts in the encoded block of a certain size, resulting in the method of filtering the left boundary between the encoded block and the encoded block being unable to maintain the method of filtering the left boundary first and then filtering the upper boundary, resulting in the parallel calculation efficiency of deblocking filtering is low.

Method used

By receiving the video frame images after video compression processing, each unit to be filtered is generated, and the information to be filtered is filtered, a filtered unit information group is obtained, and finally a filtered video frame image is generated and stored in the video memory.

Benefits of technology

The parallel computing efficiency of image deblocking filtering is improved, the boundary between the transform block and the transform block can be effectively processed and the boundary between the coded block and the coded block can be improved, and the efficiency of deblocking filtering is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119653112A_ABST
    Figure CN119653112A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses an image deblocking filtering method and device, electronic equipment and a computer readable medium. A specific embodiment of the method comprises the following steps: receiving a video frame image after video compression processing; generating information of each unit to be filtered based on the video frame image; performing filtering processing on each piece of to-be-filtered unit information to obtain each piece of filtering unit information group; generating a filtered video frame image based on each piece of to-be-filtered unit information and each piece of filtering unit information group; and storing the filtered video frame image to a video memory. According to the embodiment, the parallel efficiency of image deblocking filtering is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present disclosure relate to the field of computer technology, and in particular to an image deblocking filtering method, device, electronic device, and computer-readable medium. Background Art

[0002] In the video compression process, a frame of video is divided into coding blocks, and the coding blocks are divided into transform blocks. After the image is compressed, the boundary between the transform blocks will show block distortion, which is a phenomenon of image discontinuity. Image deblocking filtering technology is a technology that smoothes this discontinuity through filtering, thereby alleviating this block distortion phenomenon. The usual deblocking filtering technology is: obtain each coding block in a certain order. Filter the left boundary of each transform block in the coding block in a certain order, and then filter the upper boundary of each transform block.

[0003] However, when the above method is used to perform image deblocking filtering, the following technical problems often occur:

[0004] The deblocking filter process only works within a coding block of a certain size, and the boundary between coding blocks cannot maintain the deblocking filter method of filtering the left boundary first and then the upper boundary, resulting in low parallel calculation efficiency of the deblocking filter.

[0005] The above information disclosed in this Background section is only for enhancement of understanding of the background of the inventive concept and therefore it may contain information that does not form the prior art that is already known in this country to a person of ordinary skill in the art. Summary of the invention

[0006] The content of this disclosure is used to introduce concepts in a brief form, which will be described in detail in the detailed implementation section below. The content of this disclosure is not intended to identify the key features or essential features of the technical solution claimed for protection, nor is it intended to limit the scope of the technical solution claimed for protection.

[0007] Some embodiments of the present disclosure propose an image deblocking filtering method, apparatus, electronic device, and computer-readable medium for video compression to solve one or more of the technical problems mentioned in the above background technology section.

[0008] In a first aspect, some embodiments of the present disclosure provide an image deblocking filtering method for video compression, the method comprising: receiving a video frame image after video compression processing, wherein the video frame image includes information of various coding units, and each of the information of various coding units includes information of various transformation units; based on the video frame image, generating information of various units to be filtered, wherein each of the information of various units to be filtered includes information of various transformation units to be filtered; filtering the information of various units to be filtered to obtain various filtering unit information groups; generating a filtered video frame image based on the information of various units to be filtered and the various filtering unit information groups; and storing the filtered video frame image in a video memory.

[0009] In a second aspect, some embodiments of the present disclosure provide an image deblocking filtering device for video compression, the device comprising: a receiving unit, configured to receive a video frame image after video compression processing, wherein the video frame image includes information of various coding units, and each of the coding unit information includes information of various transformation units; a first generating unit, configured to generate information of various units to be filtered based on the video frame image, wherein each of the information of various units to be filtered includes information of various transformation units to be filtered; a filtering processing unit, configured to filter the various units to be filtered to obtain various filtering unit information groups; a second generating unit, configured to generate a filtered video frame image based on the various units to be filtered and the various filtering unit information groups; a storage unit, configured to store the filtered video frame image in a video memory.

[0010] In a third aspect, some embodiments of the present disclosure provide an electronic device comprising: one or more processors; a storage device on which one or more programs are stored, and when the one or more programs are executed by the one or more processors, the one or more processors implement the method described in any implementation manner of the above-mentioned first aspect.

[0011] In a fourth aspect, some embodiments of the present disclosure provide a computer-readable medium having a computer program stored thereon, wherein when the program is executed by a processor, the method described in any implementation manner of the above-mentioned first aspect is implemented.

[0012] The above-mentioned embodiments of the present disclosure have the following beneficial effects: through the image deblocking filtering method for video compression of some embodiments of the present disclosure, the image deblocking filtering efficiency is improved. Specifically, the reason for the low parallel computing efficiency of image deblocking filtering is that the deblocking filtering process only acts on the coding block of a certain size, and the boundary between the coding blocks will not be able to maintain the deblocking filtering method of filtering the left boundary first and then filtering the upper boundary, resulting in low parallel computing efficiency of deblocking filtering. Based on this, the image deblocking filtering method for video compression of some embodiments of the present disclosure, first, receives a video frame image after video compression processing, wherein the above-mentioned video frame image includes each coding unit information, and each coding unit information in the above-mentioned each coding unit information includes each transformation unit information. Thus, each coding unit information that needs to be deblocked can be obtained. Then, based on the above-mentioned video frame image, each to-be-filtered unit information is generated, wherein each to-be-filtered unit information in the above-mentioned each to-be-filtered unit information includes each to-be-filtered transformation unit information. Thus, the to-be-filtered unit area that needs to be deblocked can be obtained. Then, the above-mentioned each to-be-filtered unit information is filtered to obtain each filtering unit information group. Thus, deblocking filtering can be performed using the data information in the unit area to be filtered. Secondly, based on the above-mentioned information of each unit to be filtered and the above-mentioned information groups of each filtering unit, a filtered video frame image is generated. Thus, the filtering unit information groups after deblocking filtering can be combined into a filtered video frame image. Finally, the filtered video frame image is stored in the video memory. Thus, the filtered video frame image can be stored in the video memory. Also, because the unit area to be filtered that needs to be deblocked is first obtained, and then the data information in the unit area is deblocked, not only can the boundary between the transform blocks be deblocked, but also the boundary between the coding blocks can be deblocked, thereby improving the parallel computing efficiency of the deblocking filter. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the accompanying drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and that components and elements are not necessarily drawn to scale.

[0014] Figure 1 is a flowchart of some embodiments of an image deblocking filtering method for video compression according to the present disclosure;

[0015] Figure 2 is a schematic structural diagram of some embodiments of an image deblocking filtering device for video compression according to the present disclosure;

[0016] Figure 3 It is a schematic diagram of the structure of an electronic device suitable for implementing some embodiments of the present disclosure. DETAILED DESCRIPTION

[0017] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments set forth herein. On the contrary, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.

[0018] It should also be noted that, for ease of description, only the parts related to the invention are shown in the drawings. In the absence of conflict, the embodiments and features in the embodiments of the present disclosure can be combined with each other.

[0019] It should be noted that the concepts such as "first" and "second" mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.

[0020] It should be noted that the modifications of "one" and "plurality" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more".

[0021] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.

[0022] The present disclosure will be described in detail below with reference to the accompanying drawings and in conjunction with embodiments.

[0023] Figure 1 The process 100 of some embodiments of the image deblocking filtering method for video compression according to the present disclosure is shown. The image deblocking filtering method for video compression comprises the following steps:

[0024] Step 101, receiving a video frame image after video compression processing.

[0025] In some embodiments, the execution subject (such as a computing device) of the image deblocking filtering method may receive a video frame image after video compression processing. The video compression processing may be video compression algorithm processing of the video frame image. The video compression algorithm may be MC (Motion Compensation) and / or DPCM (Differential Pulse Code Modulation) and / or DCT (Discrete Cosine Transform). The video frame image may be a frame image in a video. The video frame image may include information of various coding units. Each coding unit information in the various coding unit information may include information of various transform units. The coding unit information may be pixel information composed of an image of a preset coding size in the video frame image. The transform unit information may be pixel information composed of an image of a preset transform size in the coding unit information. The preset coding size and the preset change size may be pre-set values, which are not limited here. The execution subject may be a server for processing video frame images. The execution subject may include a CPU and a GPU.

[0026] Step 102: Generate information of each unit to be filtered based on the video frame image.

[0027] In some embodiments, the execution subject may generate each unit information to be filtered based on the video frame image. Each of the unit information to be filtered may include each transform unit information to be filtered. The unit information to be filtered may be pixel information composed of an image of a preset filter size in the video frame image. The transform unit information to be filtered may be pixel information composed of an image of a preset transform filter size in the unit information to be filtered. The preset filter size may be the size information of the length and width of the coding unit information included in the video frame image. The preset change filter size may be the size information of the length and width of the transform unit information included in the coding unit information included in the video frame image. The preset filter size and the preset change filter size may be pre-set values, which are not limited here.

[0028] In some optional implementations of some embodiments, the execution subject may generate information of each unit to be filtered based on the video frame image through the following steps.

[0029] The first step is to perform the following steps on each piece of coding unit information included in the above-mentioned video frame image:

[0030] The first sub-step is to generate the first filtering range information based on the coding unit information. The first filtering range information may be text information used to characterize the range of the coding unit information in the video frame image. The first filtering range information may include first range coordinates and first range size information. The first range coordinates may be coordinates used to characterize the pixels of the first row and first column of the coding unit information in the video frame image. The first range size information may be information used to characterize the length and width of the coding unit information. For example, when the first filtering range information is "(64,32), 32*32", the first range coordinates may be "(64,32)", and the first range size information may be "32*32". In practice, firstly, the execution subject may determine the coordinates of the pixels of the first row and first column of the coding unit information in the video frame image as the first range coordinates. Then, the execution subject may determine the length information and width information of the pixels of the coding unit information as the first range size information. Finally, the execution subject may combine the first range coordinates and the first range size information into the first filtering range information. The preset filtering size may be the first range size information.

[0031] The second sub-step is to generate the second filter range information based on the first filter range information and the preset filter displacement information. The preset filter displacement information may be text information for characterizing the adjustment of the filter range. For example, the preset filter displacement information may be a preset moving distance for rigidly moving the filter range to the left and upward from the first filter range information. The preset moving distance may be half of the number of pixels required for the filtering process. The filtering process may be a smoothing filter. For example, when the filtering process requires 8 pixels for filtering calculation. The preset moving distance may be 4 pixels. The second filter range information may be text information for characterizing the range of the image area to be filtered in the video frame image. The second filter range information may include second range coordinates and second range size information. The second range coordinates may be the first range coordinates after the moving process. The second range size information may be information for characterizing the length and width of the image area to be filtered. In practice, first, the execution subject may move the first range coordinates included in the first filter range information according to the preset moving distance to obtain the second range coordinates. Then, the execution subject may determine the first range size information included in the first filter range information as the second range size information. Finally, the execution entity may combine the second range coordinates and the second range size information into second filtering range information.

[0032] The third sub-step is to generate the unit information to be filtered based on the second filtering range information. The unit information to be filtered includes each transformation unit information to be filtered, and each of the transformation unit information to be filtered corresponds to the transformation unit boundary information to be filtered. The transformation unit boundary information to be filtered can be used to characterize the pixel boundaries of each transformation unit information in the corresponding transformation unit information area in the video frame image. In practice, first, the execution subject can determine each pixel of the picture in the second filtering range information in the video frame image as the unit information to be filtered. Then, the execution subject can segment the unit information to be filtered according to the preset variable filtering size to obtain each transformation unit information to be filtered. For each of the transformation unit information to be filtered in the transformation unit information to be filtered, the execution subject can determine the pixel boundaries of each transformation unit information in the corresponding transformation unit information area in the video frame image as the transformation unit boundary information to be filtered. As an example, when the second filter range information is "(60,28), 32*32", and the preset change filter size is "8*8", the size of the unit information to be filtered is "32*32", and the execution subject can segment the unit information to be filtered with 8 pixels as a column and 8 pixels as a row to obtain 16 "8*8" pixels of transformation unit information to be filtered. Since the second filter range is obtained by moving the first filter range 4 pixels to the left and upward, each transformation unit information to be filtered contains part of the pixel boundaries of the "2*2" transformation unit information covered by it.

[0033] Step 103 , filtering is performed on each to-be-filtered unit information to obtain each filtering unit information group.

[0034] In some embodiments, the execution subject may filter the above-mentioned individual to-be-filtered unit information to obtain individual to-be-filtered unit information groups, wherein each to-be-filtered unit information in the above-mentioned to-be-filtered unit information groups may be to-be-filtered transform unit information included in the to-be-filtered unit information that has been filtered.

[0035] In some optional implementations of some embodiments, the execution subject may filter the above-mentioned information of each unit to be filtered through the following steps to obtain each filtering unit information group:

[0036] The first step is to perform the following steps on each of the above-mentioned units to be filtered:

[0037] The first sub-step is to perform vertical boundary filtering on each to-be-filtered transform unit information included in the to-be-filtered transform unit information to obtain each vertical filtering transform unit information. The vertical filtering transform unit information may be the to-be-filtered transform unit information after vertical boundary filtering.

[0038] The second sub-step is to integrate the above-mentioned vertical filtering change unit information to obtain vertical filtering unit information. The above-mentioned vertical filtering unit information can be the information of the unit to be filtered after the vertical boundary filtering of each to-be-filtered transformation unit information included in the to-be-filtered unit information. In practice, the above-mentioned execution subject can combine the above-mentioned vertical filtering change unit information into vertical filtering unit information.

[0039] In the second step, for each piece of vertical filtering unit information obtained, the following steps are performed:

[0040] The first sub-step is to perform horizontal boundary filtering on each vertical filter change unit information included in the vertical filter unit information to obtain each filter unit information. The filter unit information may be vertical filter change unit information after horizontal boundary filtering.

[0041] The second sub-step is to determine the above-mentioned individual filter unit information as a filter unit information group.

[0042] In some optional implementations of some embodiments, the execution subject may perform vertical boundary filtering on each to-be-filtered transformation unit information included in the to-be-filtered unit information to obtain each vertical filtering change unit information through the following steps:

[0043] The first step is to perform the following steps on each of the transformation unit information to be filtered included in the above-mentioned transformation unit information to be filtered:

[0044] The first sub-step is to determine the transformation unit information to be filtered as a matrix to be vertically filtered. The matrix to be vertically filtered may be a matrix composed of each pixel information included in the transformation unit information to be filtered. The matrix to be vertically filtered corresponds to the boundary information of the transformation unit to be filtered.

[0045] The second sub-step is to generate a vertical category to be filtered based on the preset filtering range information and the above-mentioned matrix to be vertically filtered. Among them, the above-mentioned preset filtering range information can be used to characterize the number of pixels that need to be filtered. The above-mentioned preset filtering range information can be the number of pixels required for the above-mentioned filtering process. For example, when the number of pixels required for the above-mentioned filtering process is 8, the above-mentioned preset filtering range information can be "8 pixels". The above-mentioned vertical category to be filtered can be used to characterize that the boundary information of the transformation unit to be filtered corresponding to the above-mentioned matrix to be vertically filtered belongs to a preset boundary type in a preset boundary type group. The above-mentioned preset boundary type can be a type used to characterize the shape of the boundary information of the transformation unit to be filtered. Each preset boundary type in the above-mentioned preset boundary type group can be a pre-set boundary type, which is not limited here. For example, the above-mentioned preset boundary type can be "upper segment type", "lower segment type", "vertical full segment type", "none".

[0046] In the third sub-step, in response to determining that the vertical category to be filtered meets the first preset vertical filtering condition, each row vector in the matrix to be vertically filtered is filtered to obtain a vertical filtering matrix. The first preset vertical filtering condition may be that the vertical category to be filtered is a "vertical full segment type". The vertical filtering matrix may be a matrix to be vertically filtered after filtering.

[0047] In a fourth sub-step, in response to determining that the vertical category to be filtered satisfies a second preset vertical filtering condition, filtering is performed on the row vectors in the matrix to be vertically filtered that meet the preset row vector condition to obtain a vertical filtering matrix. The second preset vertical filtering condition may be that the vertical category to be filtered is an "upper segment type". The preset row vector condition may be all row vectors in the upper half of the matrix to be vertically filtered.

[0048] In a fifth sub-step, in response to determining that the vertical category to be filtered satisfies a third preset vertical filtering condition, filtering is performed on the row vectors in the matrix to be vertically filtered that do not satisfy the preset row vector condition to obtain a vertical filtering matrix. The third preset vertical filtering condition may be that the vertical category to be filtered is a "lower segment type".

[0049] The sixth sub-step is, in response to determining that the vertical category to be filtered meets the fourth preset vertical filtering condition, determining the matrix to be vertically filtered as a vertical filtering matrix. The third preset vertical filtering condition may be that the vertical category to be filtered is "none".

[0050] The seventh sub-step is to determine the obtained vertical filter matrix as vertical filter change unit information, wherein the vertical filter change unit information may be pixel information composed of each element included in the vertical filter matrix.

[0051] In some optional implementations of some embodiments, the execution subject may perform horizontal boundary filtering on each vertical filtering change unit information included in the vertical filtering unit information to obtain each filtering unit information through the following steps:

[0052] The first step is to perform the following steps on each vertical filtering change unit information in each vertical filtering change unit information included in the vertical filtering unit information:

[0053] The first sub-step is to determine the vertical filtering change unit information as a matrix to be horizontally filtered, wherein the matrix to be horizontally filtered may be a matrix composed of each pixel information included in the vertical filtering change unit information, and the matrix to be horizontally filtered corresponds to the boundary information of the transformation unit to be filtered.

[0054] The second sub-step is to generate a level category to be filtered based on the preset filtering range information and the above-mentioned horizontal filtering matrix. The above-mentioned level category to be filtered may be a preset boundary type in a preset boundary type group used to characterize that the boundary information of the transformation unit to be filtered corresponding to the above-mentioned horizontal filtering matrix belongs to the above-mentioned preset boundary type. The above-mentioned preset boundary type may be a type used to characterize the shape of the boundary information of the transformation unit to be filtered. Each preset boundary type in the above-mentioned preset boundary type group may be a pre-set boundary type, which is not limited here. For example, the above-mentioned preset boundary type may be "left segment type", "right segment type", "horizontal full segment type", or "none".

[0055] The third sub-step is, in response to determining that the above-mentioned horizontal category to be filtered meets the first preset horizontal filtering condition, filtering each column vector in the above-mentioned horizontal filtering matrix to be filtered to obtain a horizontal filtering matrix. The above-mentioned first preset horizontal filtering condition can be that the above-mentioned horizontal category to be filtered is "horizontal full segment type". The above-mentioned horizontal filtering matrix can be the horizontal filtering matrix to be filtered after filtering.

[0056] The fourth sub-step is, in response to determining that the above-mentioned horizontal category to be filtered satisfies the second preset horizontal filtering condition, filtering the column vectors in the above-mentioned horizontal filtering matrix that meet the preset column vector condition to obtain a horizontal filtering matrix. Among them, the above-mentioned first preset horizontal filtering condition can be that the above-mentioned horizontal category to be filtered is "left segment type". The above-mentioned preset column vector condition can be all column vectors in the left half of the horizontal filtering matrix.

[0057] In a fifth sub-step, in response to determining that the above-mentioned horizontal category to be filtered satisfies the third preset horizontal filtering condition, filtering is performed on the row vectors in the above-mentioned horizontal filtering matrix that do not satisfy the above-mentioned preset row vector condition to obtain a horizontal filtering matrix. Wherein, the above-mentioned first preset horizontal filtering condition can be that the above-mentioned horizontal category to be filtered is "right segment type".

[0058] The sixth sub-step is, in response to determining that the horizontal category to be filtered satisfies a fourth preset horizontal filtering condition, determining the matrix to be horizontally filtered as a horizontal filtering matrix. The first preset horizontal filtering condition may be that the horizontal category to be filtered is "none".

[0059] The seventh sub-step is to determine the obtained horizontal filter matrix as the filter unit information. The filter unit information may be pixel information composed of the elements included in the horizontal filter matrix.

[0060] In the process of adopting technical solutions to solve the above technical problems, the following problems are often accompanied:

[0061] The filtering process of the filtering unit information needs to first vertically filter all the information of the filtering unit transformation units included in the filtering unit information before horizontal filtering can be performed again, which requires reading the filtering unit information twice to complete the filtering process, resulting in low parallel computing efficiency of deblocking filtering.

[0062] Faced with the above technical problems, we decided to adopt the following solutions:

[0063] In some optional implementations of some embodiments, the execution subject may filter the above-mentioned information of each unit to be filtered through the following steps to obtain each filtering unit information group, including:

[0064] The first step is to generate a topological region matrix group for each of the above-mentioned to-be-filtered unit information based on the above-mentioned to-be-filtered unit information and the pre-stored topological type information group. Among them, the topological type information in the above-mentioned topological type information group can be a topological structure of the to-be-filtered transformation unit boundary information corresponding to each to-be-filtered transformation unit information in each to-be-filtered transformation unit information included in the above-mentioned to-be-filtered unit information. The above-mentioned topological type information can be a pre-set type information, which is not limited here. For example, the above-mentioned topological type information can be "a cross-shaped area, that is, there are complete horizontal edges and complete vertical edges that need to be filtered", "a T-shaped area, which has a complete horizontal or vertical edge and half of the edges in other directions", "a straight-shaped area, this area has only one complete horizontal or vertical edge", "a half-edge area, this area appears on the boundary of the whole frame image, this area has only half a horizontal or vertical edge", "a borderless area, this area has no edges that need to be filtered". Each topological region matrix in the above-mentioned topological region matrix group can be a matrix composed of each pixel information included in the above-mentioned to-be-filtered transformation unit information. The above-mentioned topological region matrix corresponds to the topological type information. In practice, for each of the to-be-filtered transform unit information included in the to-be-filtered transform unit information, first, the execution subject may determine the to-be-filtered transform unit boundary information corresponding to the to-be-filtered transform unit information as the to-be-compared boundary information. Then, the execution subject may compare the topological type of the to-be-compared boundary information with the topological type information to obtain the topological type information corresponding to the to-be-compared boundary information. Then, the to-be-filtered transform unit information is determined as a topological region matrix. The topological region matrix corresponds to the topological type information.

[0065] In the second step, for each of the generated topological region matrix groups, the following steps are performed:

[0066] The first sub-step is to perform the following steps on each topological region matrix in the above topological region matrix group:

[0067] Sub-step one, based on the pre-stored boundary filter order information, generate a boundary condition group, wherein the boundary condition group includes a first boundary condition, a second boundary condition, a third boundary condition and a fourth boundary condition. The boundary filter order information may be text information used to characterize the order of boundaries that need to be filtered for filtering. The boundary condition group may be text information used to characterize boundary conditions that need to be filtered. As an example, when the matrix that needs to be filtered is 8*8 pixels, the first boundary condition may be "0, 1, 2, 3 row vectors of the matrix". The second boundary condition may be "4, 5, 6, 7 row vectors of the matrix". The third boundary condition may be "0, 1, 2, 3 column vectors of the matrix". The fourth boundary condition may be "4, 5, 6, 7 column vectors of the matrix".

[0068] Sub-step 2, based on the topological region matrix and the boundary condition group, generate a topological filter type. Wherein, the topological filter type can be text information used to characterize whether the four boundaries of the corresponding boundary condition group in the topological region matrix need to be filtered. The topological filter type can include: a first boundary filter type, a second boundary filter type, a third boundary filter type, and a fourth boundary filter type. In practice, first, the execution subject can determine the preset first boundary condition information as the first boundary filter type in response to determining that the first boundary condition is satisfied in the topological region matrix. Wherein, the first boundary condition information can be a preset text information. The first boundary condition information can be "need to filter". The second boundary filter type, the third boundary filter type, and the fourth boundary filter type can refer to the generation method of the first boundary filter type. Then, the execution subject can combine the first boundary filter type, the second boundary filter type, the third boundary filter type, and the fourth boundary filter type into a topological filter type.

[0069] Sub-step three: filter each row vector in the topological region matrix that meets the first boundary condition to obtain a first topological region matrix. The first topological region matrix may be a topological region matrix that has been filtered.

[0070] Sub-step 4: In response to determining that the topology filter type does not meet the preset first boundary retention condition, the topology region matrix is ​​determined as a first topology region matrix, so as to update the first topology region matrix to obtain a first topology region matrix. The preset first boundary retention condition may be that the first boundary filter type included in the topology filter type is "filtering required".

[0071] Sub-step five: filtering each row vector satisfying the second boundary condition in the obtained first topological region matrix to obtain a second topological region matrix. The second topological region matrix may be the first topological region matrix that has been filtered.

[0072] Sub-step six, in response to determining that the above-mentioned topology filtering type does not meet the preset second boundary retention condition, determining the above-mentioned first topology area matrix as the second topology area matrix, so as to update the above-mentioned second topology area matrix to obtain the second topology area matrix. Wherein, the above-mentioned preset second boundary retention condition can be that the second boundary filtering type included in the above-mentioned topology filtering type is "need filtering".

[0073] Sub-step seven: filter each column vector satisfying the third boundary condition in the obtained second topological region matrix to obtain a third topological region matrix. The third topological region matrix may be the filtered second topological region matrix.

[0074] Sub-step eight, in response to determining that the above-mentioned topology filtering type does not meet the preset third boundary retention condition, determining the above-mentioned second topology area matrix as a third topology area matrix, so as to update the above-mentioned third topology area matrix to obtain a third topology area matrix. Wherein, the above-mentioned preset third boundary retention condition can be that the third boundary filtering type included in the above-mentioned topology filtering type is "need filtering".

[0075] Sub-step nine: filtering each column vector satisfying the fourth boundary condition in the obtained third topological region matrix to obtain a fourth topological region matrix. The fourth topological region matrix may be the filtered third topological region matrix.

[0076] Sub-step ten, in response to determining that the above-mentioned topology filtering type does not meet the preset fourth boundary retention condition, determining the above-mentioned third topology area matrix as the fourth topology area matrix, so as to update the above-mentioned fourth topology area matrix to obtain the fourth topology area matrix. Wherein, the above-mentioned preset fourth boundary retention condition can be that the fourth boundary filtering type included in the above-mentioned topology filtering type is "need filtering".

[0077] Sub-step eleven: determining the obtained fourth topological region matrix as filtering unit information.

[0078] The second sub-step is to determine the obtained information of each filter unit as a filter unit information group

[0079] The above technical scheme and its related contents, as an inventive point of an embodiment of the present disclosure, solve the problem that "the filtering process of the unit information to be filtered needs to first vertically filter all the information of the transformation unit to be filtered included in the unit information to be filtered before horizontal filtering can be performed again, resulting in the need to read the unit information to be filtered twice to complete a filtering process, thereby resulting in low parallel computing efficiency of deblocking filtering". The factors that lead to low parallel computing efficiency of filtering are often as follows: all the information of the transformation unit to be filtered needs to be vertically filtered before horizontal filtering can be performed again. If the above factors are solved, the effect of improving filtering efficiency can be achieved. In order to achieve this effect, the present disclosure first generates a topological area matrix group for each of the above-mentioned unit information to be filtered, based on the above-mentioned unit information to be filtered and the pre-stored topological type information group. In this way, each topological area matrix group that needs to be filtered can be obtained. Then, for each of the generated topological region matrix groups, the following steps are performed: For each of the topological region matrices in the above topological region matrix groups, the following steps are performed: Based on the pre-stored boundary filter order information, a boundary condition group is generated, wherein the boundary condition group includes a first boundary condition, a second boundary condition, a third boundary condition and a fourth boundary condition. Thus, four boundary conditions that need to be filtered can be obtained according to the pre-stored boundary filter order information. Then, based on the above topological region matrix and the above boundary condition group, a topological filter type is generated. Thus, it can be obtained that one or more boundaries in each topological region matrix are types that need to be filtered. Secondly, each row vector that meets the first boundary condition in the above topological region matrix is ​​filtered to obtain a first topological region matrix. Then, in response to determining that the above topological filter type does not meet the preset first boundary retention condition, the above topological region matrix is ​​determined as a first topological region matrix to update the above first topological region matrix to obtain a first topological region matrix. Then, each row vector that meets the second boundary condition in the obtained first topological region matrix is ​​filtered to obtain a second topological region matrix. Secondly, in response to determining that the above-mentioned topological filtering type does not meet the preset second boundary retention condition, the above-mentioned first topological area matrix is ​​determined as the second topological area matrix to update the above-mentioned second topological area matrix to obtain the second topological area matrix. Then, each column vector that meets the third boundary condition in the obtained second topological area matrix is ​​filtered to obtain a third topological area matrix. Then, in response to determining that the above-mentioned topological filtering type does not meet the preset third boundary retention condition, the above-mentioned second topological area matrix is ​​determined as the third topological area matrix to update the above-mentioned third topological area matrix to obtain the third topological area matrix. Secondly, each column vector that meets the fourth boundary condition in the obtained third topological area matrix is ​​filtered to obtain a fourth topological area matrix.Then, in response to determining that the above-mentioned topological filtering type does not meet the preset fourth boundary retention condition, the above-mentioned third topological area matrix is ​​determined as the fourth topological area matrix, so as to update the above-mentioned fourth topological area matrix and obtain the fourth topological area matrix. Then, the obtained fourth topological area matrix is ​​determined as the filtering unit information. Thus, the filtering unit information after four boundary filtering can be obtained. Finally, the obtained individual filtering unit information is determined as a filtering unit information group. Thus, a filtering unit information group can be obtained. Also, because the four boundaries to be filtered are filtered in turn during the filtering process, the filtering process of the entire unit information to be filtered can be completed at one time, so that the entire video frame image can be filtered at one time, thereby improving the parallel computing efficiency of deblocking filtering.

[0080] Step 104: Generate a filtered video frame image based on the information of each to-be-filtered unit and each filtering unit information group.

[0081] In some embodiments, the execution subject may generate a filtered video frame image based on the information of each to-be-filtered unit and the information group of each filtering unit, wherein the filtered video frame image may be a video frame image after filtering.

[0082] In some optional implementations of some embodiments, the execution subject may generate a filtered video frame image based on the information of each to-be-filtered unit and the information groups of each filtering unit through the following steps:

[0083] The first step is to perform the following steps on each of the above-mentioned units to be filtered:

[0084] In a first sub-step, each piece of filtering unit information included in the filtering unit information group corresponding to the to-be-filtered unit information is determined as each piece of target filtering unit information.

[0085] The second sub-step is to input the determined target filter unit information into the video frame image to update the video frame image. In practice, for each target filter unit information in the above target filter unit information, the execution subject can input the target filter unit information into the position of the corresponding video frame image to update the video frame image.

[0086] In the second step, the updated video frame image is determined as the filtered video frame image.

[0087] Step 105, storing the filtered video frame image into the video memory.

[0088] In some embodiments, the execution entity may store the filtered video frame image into a video memory.

[0089] The above-mentioned embodiments of the present disclosure have the following beneficial effects: through the image deblocking filtering method for video compression of some embodiments of the present disclosure, the image deblocking filtering efficiency is improved. Specifically, the reason for the low parallel computing efficiency of image deblocking filtering is that the deblocking filtering process only acts on the coding block of a certain size, and the boundary between the coding blocks will not be able to maintain the deblocking filtering method of filtering the left boundary first and then filtering the upper boundary, resulting in low parallel computing efficiency of deblocking filtering. Based on this, the image deblocking filtering method for video compression of some embodiments of the present disclosure, first, receives a video frame image after video compression processing, wherein the above-mentioned video frame image includes each coding unit information, and each coding unit information in the above-mentioned each coding unit information includes each transformation unit information. Thus, each coding unit information that needs to be deblocked can be obtained. Then, based on the above-mentioned video frame image, each to-be-filtered unit information is generated, wherein each to-be-filtered unit information in the above-mentioned each to-be-filtered unit information includes each to-be-filtered transformation unit information. Thus, the to-be-filtered unit area that needs to be deblocked can be obtained. Then, the above-mentioned each to-be-filtered unit information is filtered to obtain each filtering unit information group. Thus, deblocking filtering can be performed using the data information in the unit area to be filtered. Secondly, based on the above-mentioned information of each unit to be filtered and the above-mentioned information groups of each filtering unit, a filtered video frame image is generated. Thus, the filtering unit information groups after deblocking filtering can be combined into a filtered video frame image. Finally, the filtered video frame image is stored in the video memory. Thus, the filtered video frame image can be stored in the video memory. Also, because the unit area to be filtered that needs to be deblocked is first obtained, and then the data information in the unit area is deblocked, not only can the boundary between the transform blocks be deblocked, but also the boundary between the coding blocks can be deblocked, thereby improving the parallel computing efficiency of the deblocking filter.

[0090] Further references Figure 2 As an implementation of the methods shown in the above figures, the present disclosure provides some embodiments of an image deblocking filtering device for video compression, and these device embodiments are Figure 1 Corresponding to the method embodiments shown, the device can be specifically applied to various electronic devices.

[0091] like Figure 2As shown, some embodiments of the image deblocking filtering device 200 for video compression include: a receiving unit 201, a first generating unit 202, a filtering processing unit 203, a second generating unit 204 and a storage unit 205. The receiving unit 201 is configured to receive a web browsing request from a user, wherein the web browsing request includes a website address; the receiving unit 201 is configured to receive a video frame image after video compression processing, wherein the video frame image includes information of each coding unit, and each coding unit information in the coding unit information includes information of each transformation unit; the first generating unit 202 is configured to generate information of each unit to be filtered based on the video frame image, wherein each unit to be filtered information in the filtering processing unit 203 includes information of each transformation unit to be filtered; the filtering processing unit 203 is configured to filter the information of each unit to be filtered to obtain each filtering unit information group; the second generating unit 204 is configured to generate a filtered video frame image based on the information of each unit to be filtered and the filtering unit information group; the storage unit 205 is configured to store the filtered video frame image in a video memory.

[0092] It is understood that the units described in the device 200 are similar to those described in the reference Figure 1 Therefore, the operations, features and beneficial effects described above for the method are also applicable to the device 200 and the units included therein, and will not be described in detail here.

[0093] Reference below Figure 3 , which shows a structural schematic diagram of an electronic device 300 suitable for implementing some embodiments of the present disclosure. Figure 3 The electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.

[0094] like Figure 3 As shown, the electronic device 300 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 301, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 302 or a program loaded from a storage device 308 into a random access memory (RAM) 303. In the RAM 303, various programs and data required for the operation of the electronic device 300 are also stored. The processing device 301, the ROM 302, and the RAM 303 are connected to each other via a bus 304. An input / output (I / O) interface 305 is also connected to the bus 304.

[0095] Typically, the following devices may be connected to the I / O interface 305: input devices 306 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; output devices 307 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; storage devices 308 including, for example, a magnetic tape, a hard disk, etc.; and communication devices 309. The communication devices 309 may allow the electronic device 300 to communicate with other devices wirelessly or by wire to exchange data. Although Figure 3 The electronic device 300 is shown with various devices, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead. Figure 3 Each block shown in the figure may represent one device, or may represent multiple devices as required.

[0096] In particular, according to some embodiments of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, some embodiments of the present disclosure include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In some such embodiments, the computer program can be downloaded and installed from the network through the communication device 309, or installed from the storage device 308, or installed from the ROM 302. When the computer program is executed by the processing device 301, the above-mentioned functions defined in the method of some embodiments of the present disclosure are executed.

[0097] It should be noted that the computer-readable medium recorded in some embodiments of the present disclosure may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In some embodiments of the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In some embodiments of the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The computer readable signal medium may also be any computer readable medium other than a computer readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.

[0098] In some embodiments, the client and the server may communicate using any currently known or future developed network protocol such as HTTP (HyperText Transfer Protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.

[0099] The computer-readable medium may be included in the electronic device; or it may exist independently without being installed in the electronic device. The computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device: receives a video frame image after video compression processing, wherein the video frame image includes various coding unit information, and each of the coding unit information includes various transformation unit information; based on the video frame image, generates various unit information to be filtered, wherein each of the various unit information to be filtered includes various transformation unit information to be filtered; performs filtering processing on the various unit information to be filtered to obtain various filtering unit information groups; generates a filtered video frame image based on the various unit information to be filtered and the various filtering unit information groups; and stores the filtered video frame image in the video memory.

[0100] Computer program code for performing the operations of some embodiments of the present disclosure may be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0101] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0102] The units described in some embodiments of the present disclosure may be implemented by software or by hardware. The units described may also be provided in a processor, for example, may be described as: a processor including a receiving unit, a first generating unit, a filtering processing unit, a second generating unit and a storage unit. The names of these units do not constitute limitations on the units themselves in certain circumstances, for example, the receiving unit may also be described as a "unit for receiving video frame images after video compression processing".

[0103] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.

[0104] The above descriptions are only some preferred embodiments of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of the invention involved in the embodiments of the present disclosure is not limited to the technical solutions formed by a specific combination of the above-mentioned technical features, but should also cover other technical solutions formed by any combination of the above-mentioned technical features or their equivalent features without departing from the above-mentioned inventive concept. For example, the above-mentioned features are replaced with the technical features with similar functions disclosed in the embodiments of the present disclosure (but not limited to) and the technical solutions formed.

Claims

1. An image deblocking filtering method for video compression, comprising: Receiving a video frame image after video compression processing, wherein the video frame image includes information of various coding units, and each coding unit information in the various coding unit information includes information of various transformation units; Based on the video frame image, generate each to-be-filtered unit information, wherein each to-be-filtered unit information in the each to-be-filtered unit information includes each to-be-filtered transform unit information; Filtering the information of each unit to be filtered to obtain information groups of each filtering unit; Generate a filtered video frame image based on the information of each to-be-filtered unit and the information groups of each filtering unit; The filtered video frame image is stored in a video memory.

2. The method according to claim 1, wherein: The generating each to-be-filtered unit information based on the video frame image includes: For each piece of coding unit information included in the video frame image, the following steps are performed: Based on the encoding unit information, generating first filtering range information; generating second filtering range information based on the first filtering range information and the preset filtering displacement information; Based on the second filtering range information, the to-be-filtered unit information is generated.

3. The method according to claim 1, wherein: The filtering process is performed on each of the to-be-filtered unit information to obtain each filtering unit information group, including: For each of the to-be-filtered unit information, the following steps are performed: Performing vertical boundary filtering on each to-be-filtered transformation unit information included in the to-be-filtered unit information to obtain each vertical filtering change unit information; Integrate the vertical filter change unit information to obtain vertical filter unit information; For each piece of vertical filtering unit information obtained, the following steps are performed: Performing horizontal boundary filtering on each vertical filter change unit information included in the vertical filter unit information to obtain each filter unit information; The individual filter unit information are determined as a filter unit information group.

4. The method according to claim 3, wherein: The performing vertical boundary filtering on each to-be-filtered transformation unit information included in the to-be-filtered unit information to obtain each vertical filtering change unit information includes: For each piece of transform unit information to be filtered included in the transform unit information to be filtered, the following steps are performed: Determine the to-be-filtered transform unit information as a to-be-vertically-filtered matrix; Generate a vertical category to be filtered based on the preset filtering range information and the matrix to be vertically filtered; In response to determining that the vertical category to be filtered meets a first preset vertical filtering condition, filtering each row vector in the matrix to be vertically filtered to obtain a vertical filtering matrix; In response to determining that the vertical category to be filtered meets a second preset vertical filtering condition, filtering the row vectors in the matrix to be vertically filtered that meet a preset row vector condition to obtain a vertical filtering matrix; In response to determining that the to-be-filtered vertical category satisfies a third preset vertical filtering condition, filtering the row vectors in the to-be-filtered vertical matrix that do not satisfy the preset row vector condition to obtain a vertical filtering matrix; In response to determining that the to-be-filtered vertical category satisfies a fourth preset vertical filtering condition, determining the to-be-filtered vertical filtering matrix as a vertical filtering matrix; The obtained vertical filter matrix is ​​determined as vertical filter change unit information.

5. The method according to claim 4, wherein: The performing horizontal boundary filtering on each vertical filter change unit information included in the vertical filter unit information to obtain each filter unit information includes: For each vertical filtering change unit information in each vertical filtering change unit information included in the vertical filtering unit information, the following steps are performed: Determine the vertical filtering change unit information as a matrix to be horizontally filtered; Generate a level category to be filtered based on the preset filtering range information and the level filtering matrix to be filtered; In response to determining that the to-be-filtered horizontal category satisfies a first preset horizontal filtering condition, filtering each column vector in the to-be-filtered horizontal filtering matrix to obtain a horizontal filtering matrix; In response to determining that the to-be-filtered horizontal category satisfies a second preset horizontal filtering condition, filtering is performed on the column vectors in the to-be-filtered horizontal filtering matrix that satisfy the preset column vector condition to obtain a horizontal filtering matrix; In response to determining that the to-be-filtered horizontal category satisfies a third preset horizontal filtering condition, filtering the row vectors in the to-be-filtered horizontal matrix that do not satisfy the preset row vector condition to obtain a horizontal filtering matrix; In response to determining that the to-be-filtered horizontal category satisfies a fourth preset horizontal filtering condition, determining the to-be-filtered horizontal matrix as a horizontal filtering matrix; The obtained horizontal filtering matrix is ​​determined as filtering unit information.

6. The method according to claim 1, wherein: The generating a filtered video frame image based on the information of each to-be-filtered unit and the information groups of each filtering unit includes: For each of the to-be-filtered unit information, the following steps are performed: Determine each piece of filtering unit information included in the filtering unit information group corresponding to the to-be-filtered unit information as each piece of target filtering unit information; Inputting the determined information of each target filtering unit into the video frame image to update the video frame image; The updated video frame image is determined as the filtered video frame image.

7. An image deblocking filtering device for video compression, comprising: A receiving unit is configured to receive a video frame image after video compression processing, wherein the video frame image includes information of various coding units, and each of the information of various coding units includes information of various transformation units; A first generating unit is configured to generate each to-be-filtered unit information based on the video frame image, wherein each to-be-filtered unit information in the each to-be-filtered unit information includes each to-be-filtered transform unit information; A filtering processing unit, configured to perform filtering processing on each of the to-be-filtered unit information to obtain each filtering unit information group; A second generating unit is configured to generate a filtered video frame image based on the information of each to-be-filtered unit and the information groups of each filtering unit; The storage unit is configured to store the filtered video frame image into a video memory.

8. An electronic device, comprising: one or more processors; a storage device having one or more programs stored thereon; When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 6.

9. A computer readable medium having a computer program stored thereon, wherein: When the program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.

Citation Information

Patent Citations

  • Image processing device, image processing method, and program

    CN104823446A

  • Device Of Executing Deblocking Filter To Decode Video

    CN106162178A

  • Reversible filtering for video coding

    CN118235394A

  • Method and apparatus for video coding using de-blocking filtering based on segmentation information

    US20230421758A1