Parallel processing method and system for adaptive loop filtering

By dividing the video frame image into multiple encoding areas and performing adaptive loop filtering processing, the problem of high complexity and low efficiency of adaptive loop filtering processing in the prior art is solved, and efficient video encoding is achieved.

WO2025044729A1PCT designated stage expired Publication Date: 2025-03-06GUANGZHOU BAIGUOYUAN INFORMATION TECH CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/111164
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-08-25
Filing Date
2024-08-09
Publication Date
2025-03-06

AI Technical Summary

Technical Problem

The existing adaptive loop filtering technology has high processing complexity and low efficiency in the video encoding process, resulting in low encoding efficiency of video encoding.

Method used

By dividing the video frame image into multiple encoding areas, the encoding state of each encoding area is monitored, and the adaptive loop filter coefficients of each encoding area are generated based on the encoding state, and the adaptive loop filtering process of the encoding area is performed separately.

Benefits of technology

The parallel processing of adaptive loop filtering is realized, which improves the adaptive loop filtering efficiency of the image, reduces the complexity of adaptive loop filtering, and thus improves the video encoding efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024111164_06032025_PF_FP_ABST
    Figure CN2024111164_06032025_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed in the embodiments of the present application are a parallel processing method and system for adaptive loop filtering. In the technical solution provided in the embodiments of the present application, the method comprises: dividing a video frame image into a plurality of coding regions, and monitoring the coding state of each coding region; when it is determined on the basis of the coding state that initial coding has been completed in each coding region, generating an adaptive loop filtering coefficient of each coding region on the basis of initial coding data of each coding region; and on the basis of each adaptive loop filtering coefficient, respectively performing adaptive loop filtering on each coding region corresponding to the video frame image, and generating a coded image of the video frame image on the basis of an adaptive loop filtering result of each coding region. By using the above technical means, the adaptive loop filtering efficiency of an image can be improved by means of regional parallel adaptive loop filtering, thereby reducing the complexity of adaptive loop filtering, and further improving the video coding efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

A parallel processing method and system for adaptive loop filtering

[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on August 25, 2023, with application number 202311084092.1, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The embodiments of the present application relate to the field of video coding technology, and in particular to a parallel processing method and system for adaptive loop filtering. Background Art

[0003] With the development and progress of video coding technology, the application of Versatile Video Coding (VVC / H266) has become more and more widespread. In the final stage of the versatile video coding process, adaptive loop filtering (ALF) technology is used to perform adaptive loop filtering on the reconstructed image obtained by encoding, thereby obtaining the final encoded image. In this way, the mean square error between the original sample and the decoded sample can be minimized, and the distortion of the compressed image can be reduced. After a frame of image is encoded, the adaptive loop filter collects the encoding data of all coding units in the image frame for the purpose of deciding the filter coefficient. Then, adaptive loop filtering is performed based on the filter coefficient in units of the largest coding unit (LCU).

[0004] However, related adaptive loop filtering schemes require that all coding units of the entire frame be encoded before adaptive loop filtering begins. This results in high processing complexity and relatively low processing efficiency, leading to low coding efficiency for the entire video encoding.

[0005] Summary of the Invention

[0006] The embodiments of the present application provide a parallel processing method and system for adaptive loop filtering, which can perform parallel processing of adaptive loop filtering for an entire frame of image, improve the efficiency of adaptive loop filtering, and solve the technical problems of complex and inefficient adaptive loop filtering processes.

[0007] In a first aspect, an embodiment of the present application provides a parallel processing method for adaptive loop filtering, comprising:

[0008] Divide the video frame image into multiple coding areas and monitor the coding status of each coding area;

[0009] When it is determined based on the coding state that the coding region has completed initial coding, generating adaptive loop filter coefficients for each coding region based on initial coding data of the coding region;

[0010] Adaptive loop filtering is performed on the coding area corresponding to the video frame image according to each adaptive loop filtering coefficient, and a coded image of the video frame image is generated based on the adaptive loop filtering results of each coding area.

[0011] In a second aspect, an embodiment of the present application provides a parallel processing system for adaptive loop filtering, including:

[0012] a division module configured to divide the video frame image into a plurality of coding regions and monitor the coding status of each coding region;

[0013] a generating module configured to generate adaptive loop filter coefficients for each coding region based on initial coding data of the coding region when determining that the coding region has completed initial coding based on the coding state;

[0014] The filtering module is configured to perform adaptive loop filtering on the coding area corresponding to the video frame image according to each adaptive loop filtering coefficient, and generate a coded image of the video frame image based on the adaptive loop filtering results of each coding area.

[0015] In a third aspect, an embodiment of the present application provides a parallel processing device for adaptive loop filtering, including:

[0016] memory and one or more processors;

[0017] The memory is configured to store one or more programs;

[0018] When the one or more programs are executed by the one or more processors, the one or more processors implement the parallel processing method for adaptive loop filtering as described in the first aspect.

[0019] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores computer-executable instructions. When the computer-executable instructions are executed by a computer processor, they are configured to perform the parallel processing method of adaptive loop filtering as described in the first aspect.

[0020] In a fifth aspect, an embodiment of the present application provides a computer program product, which includes instructions. When the instructions are executed on a computer or a processor, the computer or the processor executes the parallel processing method of adaptive loop filtering as described in the first aspect.

[0021] The embodiment of the present application divides the video frame image into multiple coding areas and monitors the coding status of each coding area; when it is determined based on the coding status that the coding area has completed initial coding, the adaptive loop filter coefficients of each coding area are generated based on the initial coding data of the coding area; adaptive loop filtering is performed on the coding area corresponding to the video frame image according to each adaptive loop filter coefficient, and the coded image of the video frame image is generated based on the adaptive loop filtering results of each coding area. By adopting the above technical means, the adaptive loop filter coefficients of the video frame image are determined by region, and adaptive loop filtering is performed on each coding area respectively, so that adaptive loop filtering can be performed after the preliminary coding of each coding area is completed, without waiting for the initial coding of the entire frame image to be completed before performing adaptive loop filtering. By using the method of regional parallel adaptive loop filtering, the adaptive loop filtering efficiency of the image is improved, the complexity of the adaptive loop filtering is reduced, and the video coding efficiency is thereby improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] FIG1 is a flow chart of a parallel processing method for adaptive loop filtering provided by an embodiment of the present application;

[0023] FIG2 is a schematic diagram of image encoding in an embodiment of the present application;

[0024] FIG3 is a schematic diagram of coding area division in an embodiment of the present application;

[0025] FIG4 is a flow chart of performing adaptive loop filtering in parallel on each coding region in an embodiment of the present application;

[0026] FIG5 is a schematic structural diagram of a parallel processing system for adaptive loop filtering provided in an embodiment of the present application;

[0027] FIG6 is a schematic structural diagram of a parallel processing device for adaptive loop filtering provided in an embodiment of the present application. DETAILED DESCRIPTION

[0028] In order to make the purpose, technical solutions and advantages of the present application clearer, the specific embodiments of the present application are further described in detail below in conjunction with the accompanying drawings. It is understood that the specific embodiments described herein are only used to explain the present application and are not intended to limit the present application. It should also be noted that, for ease of description, only parts related to the present application, not all of the contents, are shown in the accompanying drawings. Before discussing the exemplary embodiments in more detail, it should be mentioned that some exemplary embodiments are described as processes or methods depicted as flow charts. Although the flow charts describe each operation (or step) as a sequential process, many of the operations therein can be implemented in parallel, concurrently or simultaneously. In addition, the order of the operations can be rearranged. The process can be terminated when its operation is completed, but can also have additional steps not included in the accompanying drawings. The process can correspond to a method, function, procedure, subroutine, subprogram, etc.

[0029] The parallel processing method for adaptive loop filtering provided in this application aims to determine the adaptive loop filtering coefficients of video frame images by region, and perform adaptive loop filtering on each coding region separately. In this way, adaptive loop filtering can be performed after the initial encoding of each coding region is completed, without having to wait for the entire frame image to complete the initial encoding before performing adaptive loop filtering, thereby improving the efficiency of adaptive loop filtering of the image.

[0030] Adaptive loop filtering (ALF) aims to reduce distortion in compressed images by minimizing the mean squared error (MSE) between original and decoded samples using a Wiener filter. In standard tests, ALF can achieve a 7% reduction in encoding bitrate, making it a highly advanced technology. ALF is located at the final stage of the encoding process, specifically the last part of the loop filtering within the video coding framework. It performs an ALF process on the reconstructed image obtained through encoding, resulting in the final encoded image.

[0031] However, although adaptive loop filtering has very high coding performance, the complexity of adaptive loop filtering is also very high, and it is necessary to wait for the encoding process before adaptive loop filtering of the entire frame image to be completely completed before the final adaptive loop filtering coefficients can be determined and the adaptive loop filtering process can be executed. That is, adaptive loop filtering cannot be encoded in parallel during the encoding of a frame of image. The process that limits the parallelism of adaptive loop filtering is mainly that the decision process of the adaptive loop filtering coefficients uses the maximum coding unit information of the entire frame. Therefore, adaptive loop filtering will have a great impact on the performance of actual online services, and its practicality is insufficient. Based on this, a parallel processing method for adaptive loop filtering is provided in an embodiment of the present application to solve the technical problem of complex and inefficient adaptive loop filtering process.

[0032] Example:

[0033] FIG1 is a flowchart of a parallel processing method for adaptive loop filtering provided in an embodiment of the present application. The parallel processing method for adaptive loop filtering provided in this embodiment can be executed by a parallel processing device for adaptive loop filtering. The parallel processing device for adaptive loop filtering can be implemented through software and / or hardware. The parallel processing device for adaptive loop filtering can be composed of two or more physical entities, or a single physical entity. Generally speaking, the parallel processing device for adaptive loop filtering can be an encoder device such as a video encoding server, a computer, or a server host.

[0034] The following description will be made by taking an encoder as the main body of the parallel processing method for performing adaptive loop filtering as an example. Referring to FIG1 , the parallel processing method for adaptive loop filtering specifically includes:

[0035] S110, dividing the video frame image into multiple coding areas, and monitoring the coding status of each coding area;

[0036] S120: When it is determined based on the coding state that the coding region has completed initial coding, generate adaptive loop filter coefficients for the coding region based on initial coding data of each coding region;

[0037] S130 , performing adaptive loop filtering on the coding regions corresponding to the video frame images according to the respective adaptive loop filtering coefficients, and generating a coded image of the video frame images based on the adaptive loop filtering results of the respective coding regions.

[0038] In order to solve the negative impact of adaptive loop filtering on encoding speed, improve the practicality of adaptive loop filtering, and reduce the complexity of adaptive loop filtering, the embodiment of the present application optimizes the intra-frame parallelism of adaptive loop filtering by combining the WPP (Wavefront Parallel Processing) process of video coding. By dividing a frame of image into multiple coding areas, adaptive loop filtering is performed independently on the already encoded areas, so that parallel calculation of adaptive loop filtering can be achieved between different coding areas. This reduces the complexity of adaptive loop filtering, improves the processing efficiency of the process, and thus improves the efficiency of video coding.

[0039] Referring to Figure 2, when encoding a frame of image, the WPP (Wavefront Parallel Processing) technology can be used to implement parallel encoding of multiple maximum coding units during the encoding process of a frame of image, thereby improving the parallelism of the encoding process. Referring to Figure 2, in the WPP mechanism, when encoding all maximum coding units within a video frame, if the maximum coding unit to the upper right of the current maximum coding unit is encoded, the current maximum coding unit can begin encoding. Therefore, if computing resources permit, multiple rows of maximum coding units can be encoded in parallel. For example, when maximum coding unit 4 is encoded, maximum coding unit 5 continues to be encoded. At the same time, maximum coding unit 11 in the second row can be encoded in parallel, and so on.

[0040] Based on the above-mentioned WPP mechanism, the embodiment of the present application divides the video frame image into multiple coding areas, and by monitoring the coding status of each coding area, when the initial coding is completed in a coding area, the adaptive loop filter coefficient decision of the area can be made, and the adaptive loop filtering of the coding area can be performed according to the adaptive loop filter coefficient.

[0041] By dividing a video frame into multiple regions and independently performing adaptive loop filtering on the already encoded regions, parallel adaptive loop filtering can be achieved across different regions. As shown in Figure 3, if a video frame is divided into multiple regions as shown in Figure 3, then if the encoding process for all maximum coding units (LCUs) in region A1 (0-4, 8-11, 16-18, 24-25, 32) prior to adaptive loop filtering is complete, the resulting encoded data (defined as initial encoded data) can be used to determine the adaptive loop filtering coefficients for the current region, and adaptive loop filtering can be performed based on the determined adaptive loop filtering coefficients. Therefore, parallel filtering can be achieved across different coding regions, increasing the parallelism of adaptive loop filtering coefficient determination and filtering processes. There is no need to wait until the entire frame is encoded before determining the adaptive loop filtering coefficients and performing adaptive loop filtering. This improves the efficiency of adaptive loop filtering processing and the efficiency of the entire video frame coding.

[0042] Optionally, in an embodiment of the present application, when dividing a video frame image into multiple coding areas, the method includes: dividing the video frame image into coding areas according to coding directions of each maximum coding unit of the video frame image, and each coding area is distributed along the coding direction.

[0043] It can be understood that since the video frame image is encoded based on the WPP mechanism. Referring to Figure 3, its encoding direction is from the upper left of the image to the lower right of the image. In order to improve the efficiency of the adaptive loop filter and reduce the time each coding area waits for the coding data to decide the adaptive loop filter coefficient, the coding area can be adaptively set according to the coding direction of each maximum coding unit of the video frame image. As shown in Figure 3, the coding area is set along the direction from the upper left to the lower right, corresponding to the coding direction. That is, according to this coding direction, the order of encoding completion is A1, A2, A3, and A4. By adaptively setting the above four areas, the time each coding area waits for the coding data to decide the adaptive loop filter coefficient can be shortened.

[0044] Optionally, dividing the video frame image into multiple coding areas also includes: dividing the video frame image into multiple coding areas based on a set area division threshold, the number of coding areas is less than or equal to the area division threshold, and the area division threshold is set according to the maximum number of adaptive filtering parameter sets stored in the encoder frame level header structure.

[0045] During the specific implementation process, the adaptive loop filter coefficients obtained by the adaptive loop filter decision are updated to the encoder frame-level header structure corresponding to the video frame image encoding stream. The adaptive loop filter coefficients corresponding to each encoding region are stored in the corresponding adaptive filter parameter set. In the embodiment of the present application, since the encoder frame-level header structure allows a maximum of eight adaptive filter parameter sets, the video frame image is divided into a maximum of eight encoding regions.

[0046] In addition, according to actual needs, the division position and number of the coding area can also be adaptively adjusted. The embodiment of the present application does not impose fixed restrictions on the specific division method, which will not be described in detail here.

[0047] Specifically, referring to FIG4 , a flowchart of parallel adaptive loop filtering for each coding region according to an embodiment of the present application is provided. During the parallel encoding of the current frame image based on the WPP mechanism, the video encoder monitors the encoding status of each pre-divided coding region. Prior to generating adaptive loop filter coefficients for each coding region based on initial coding data of the coding region, the process also includes: determining that initial encoding of the coding region has been completed after sample adaptive compensation has been completed for each maximum coding unit in the coding region.

[0048] In the process of encoding each maximum coding unit based on the WPP mechanism, it is necessary to perform sample adaptive offset operation (SAO) on each maximum coding unit. Only after the sample adaptive offset is completed can the coding information of each maximum coding unit be collected to perform adaptive loop filtering. Based on this, the present application determines whether each maximum coding unit in the coding area has completed the sample adaptive offset operation, thereby determining its coding status. When each maximum coding unit in the coding area has completed the sample adaptive offset operation, it is determined that the initial encoding of the area has been completed.

[0049] Then, adaptive loop filter coefficients are generated for each coding region based on initial coding data of the coding region. The initial coding data is obtained by counting coding information of each LCU in the coding region, and the adaptive loop filter coefficients for each LCU in the coding region are generated based on the initial coding data.

[0050] The video encoder collects data after completing adaptive sample compensation in the coding area, defining the collected data as initial coding data. Based on this initial coding data, the adaptive loop filter coefficients are determined. Finally, adaptive loop filtering is performed on each coding area based on the filter coefficients and the maximum coding unit. When collecting each initial coding data, the coding information is counted for each coding unit. Depending on the actual decision-making requirements, the coding information can be attribute information of the coding unit, such as pixel information. The embodiments of this application do not impose fixed restrictions on the specific content of the initial coding data, and will not be detailed here.

[0051] For example, if computing resources permit, the video encoder will encode the executable maximum coding units in parallel based on the WPP mechanism, continuously looping until the maximum coding units of the entire frame have completed all encoding processes before adaptive loop filtering. Referring to Figure 3, during this step, if all maximum coding units in region A1 have determined the adaptive loop filtering coefficients, the adaptive loop filtering process for A1 can be performed; subsequently, if all maximum coding units in region A2 have also determined the adaptive loop filtering coefficients, the adaptive loop filtering process for region A2 can be performed, and so on. This allows for parallel adaptive loop filtering in multiple regions.

[0052] Furthermore, after generating the coded image of the video frame image based on the adaptive loop filtering results of each coding region, the method further includes:

[0053] The adaptive loop filter coefficients are written into the adaptive filter parameter set corresponding to each coding area, the identification information of each filter used for the video frame image is written into the image-level syntax element, and the identification information of the corresponding filter is written into the maximum coding unit-level syntax element.

[0054] It should be noted that the parallel processing of adaptive loop filtering must be designed based on the syntax elements of the multifunctional video coding standard. Subsequent video decoding requires finding the correct adaptive filtering parameters based on these syntax elements to perform adaptive loop filtering during the video decoding process and achieve correct parallel processing. The addition of syntax elements is achieved by adding these syntax elements to the encoded bitstream of the video frame image.

[0055] Among them, the syntax elements mainly exist in the adaptive filter parameter set APS, the slice data header Slice Header and the slice data Slice Data. The adaptive filter parameter set APS is a newly added frame-level header information (picture-level header) in the multifunctional video coding standard. Its purpose is to allow different adaptive filter parameter set APS information to be used in each frame or specific application scenarios. It can be updated at any frame position in the video sequence, and different frames can also share the adaptive filter parameter set APS information. The adaptive filter parameter set structure of the adaptive loop filter defines information such as the adaptive loop filter frame-level switch, the number of filters, and the filter coefficients. The most critical is the filter coefficients and related information. Through the adaptive filter parameter set APS, different video frames can share filter coefficients. For example, the current frame can use the adaptive loop filter of the previous frame for adaptive loop filtering operations. The slice / picture header of the adaptive loop filter mainly defines the number of adaptive filter parameter sets APS used in the current image, the adaptive filter parameter set APS ID, and the picture-level switch of the adaptive loop filter. For each video frame, this structure can be used to specify the ID of the adaptive filter parameter set used by the current frame, allowing the filter coefficients already in the adaptive filter parameter set to be used directly, saving the bitrate overhead of transmitting the adaptive loop filter coefficients for the current frame. Slice data defines the coding unit-level syntax elements for adaptive loop filtering, including the coding unit (CTU) level switch and the filter ID used.

[0056] Based on the above data structure, when storing syntax elements, the adaptive loop filter coefficients of each area are updated to an independent adaptive filter parameter set APS structure. All adaptive filter parameter set IDs used by the current frame are written into the corresponding syntax element sh_alf_aps_id_luma at the image slice / picture level, so that the adaptive filter parameter set information used by the current frame can be correctly parsed. The filter ID used by the current maximum coding unit is written into the maximum coding unit LCU level information, corresponding to the syntax element alf_luma_prev_filter_idx, so that the adaptive loop filter coefficients of the maximum coding unit can be correctly parsed. This ensures that the encoded code stream generated by the adaptive loop filter in parallel can comply with the multi-functional video coding standard.

[0057] In the above, the video frame image is divided into multiple coding regions, and the coding status of each coding region is monitored; when the coding region is determined to have completed initial coding based on the coding status, adaptive loop filtering coefficients are generated for each coding region based on the initial coding data of the coding region; adaptive loop filtering is performed on the coding region corresponding to the video frame image according to each adaptive loop filtering coefficient, and an encoded image of the video frame image is generated based on the adaptive loop filtering results of each coding region. Using the above technical means, the adaptive loop filtering coefficients of the video frame image are determined by region, and adaptive loop filtering is performed on each coding region separately. In this way, adaptive loop filtering can be performed after each coding region has completed preliminary coding, without having to wait for the entire frame image to complete initial coding before performing adaptive loop filtering. By performing parallel adaptive loop filtering in different regions, the efficiency of adaptive loop filtering of the image is improved, the complexity of adaptive loop filtering is reduced, and the video coding efficiency is thereby improved.

[0058] Based on the above embodiment, FIG5 is a schematic diagram of the structure of a parallel processing system for adaptive loop filtering provided by this application. Referring to FIG5 , the parallel processing system for adaptive loop filtering provided by this embodiment specifically includes: a division module 21, a generation module 22, and a filtering module 23.

[0059] The division module 21 is configured to divide the video frame image into a plurality of coding regions and monitor the coding status of each coding region;

[0060] The generating module 22 is configured to generate adaptive loop filter coefficients for each coding region based on the initial coding data of the coding region when it is determined based on the coding state that the coding region has completed initial coding;

[0061] The filtering module 23 is configured to perform adaptive loop filtering on the coding regions corresponding to the video frame images according to the adaptive loop filtering coefficients, and generate a coded image of the video frame images based on the adaptive loop filtering results of the coding regions.

[0062] Specifically, the adaptive loop filter coefficients of each coding region are generated based on the initial coding data of the coding region, including:

[0063] Initial coding data is obtained by counting coding information of each maximum coding unit in the coding area, and adaptive loop filter coefficients of each maximum coding unit in the coding area are generated according to the initial coding data.

[0064] Specifically, before generating adaptive loop filter coefficients of each coding region based on initial coding data of the coding region, the method further includes:

[0065] After each maximum coding unit in the coding area completes sample adaptive compensation, it is determined that the initial coding of the coding area is completed.

[0066] Specifically, after generating the coded image of the video frame image based on the adaptive loop filtering results of each coding area, the method further includes:

[0067] The adaptive loop filter coefficients are written into the adaptive filter parameter set corresponding to each coding area, the identification information of each filter used for the video frame image is written into the image-level syntax element, and the identification information of the corresponding filter is written into the maximum coding unit-level syntax element.

[0068] Specifically, the video frame image is divided into multiple coding areas, including:

[0069] The video frame image is divided into coding areas according to the coding directions of each maximum coding unit of the video frame image, and each coding area is distributed along the coding direction.

[0070] In addition, the video frame image is divided into multiple coding areas, including:

[0071] The video frame image is divided into multiple coding regions based on the set region division threshold. The number of coding regions is less than or equal to the region division threshold. The region division threshold is set according to the maximum number of adaptive filtering parameter sets stored in the encoder frame level header structure.

[0072] In the above, the video frame image is divided into multiple coding regions, and the coding status of each coding region is monitored; when the coding region is determined to have completed initial coding based on the coding status, adaptive loop filtering coefficients are generated for each coding region based on the initial coding data of the coding region; adaptive loop filtering is performed on the coding region corresponding to the video frame image according to each adaptive loop filtering coefficient, and an encoded image of the video frame image is generated based on the adaptive loop filtering results of each coding region. Using the above technical means, the adaptive loop filtering coefficients of the video frame image are determined by region, and adaptive loop filtering is performed on each coding region separately. In this way, adaptive loop filtering can be performed after each coding region has completed preliminary coding, without having to wait for the entire frame image to complete initial coding before performing adaptive loop filtering. By performing parallel adaptive loop filtering in different regions, the efficiency of adaptive loop filtering of the image is improved, the complexity of adaptive loop filtering is reduced, and the video coding efficiency is thereby improved.

[0073] The parallel processing system for adaptive loop filtering provided in the embodiment of the present application can be configured to execute the parallel processing method for adaptive loop filtering provided in the above embodiment, and has corresponding functions and beneficial effects.

[0074] Based on the above practical example, the embodiment of the present application also provides a parallel processing device for adaptive loop filtering. Referring to Figure 6, the parallel processing device for adaptive loop filtering includes: a processor 31, a memory 32, a communication module 33, an input device 34 and an output device 35. The memory, as a computer-readable storage medium, can be configured to store software programs, computer executable programs and modules, such as program instructions / modules corresponding to the parallel processing method for adaptive loop filtering described in any embodiment of the present application (for example, the division module, generation module and filtering module in the parallel processing system for adaptive loop filtering). The communication module is configured to perform data transmission. The processor executes various functional applications and data processing of the device by running the software programs, instructions and modules stored in the memory, that is, realizing the parallel processing method for adaptive loop filtering described above. The input device can be configured to receive input digital or character information, and generate key signal input related to user settings and function control of the device. The output device can include a display device such as a display screen. The parallel processing device for adaptive loop filtering provided above can be configured to execute the parallel processing method for adaptive loop filtering provided in the above embodiment, with corresponding functions and beneficial effects.

[0075] Based on the above embodiments, embodiments of the present application further provide a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions. When executed by a computer processor, the computer-executable instructions are configured to execute a parallel processing method for adaptive loop filtering. The storage medium can be any of various types of memory devices or storage devices. Of course, the computer-executable instructions of the computer-readable storage medium provided in embodiments of the present application are not limited to the parallel processing method for adaptive loop filtering described above, but can also execute related operations in the parallel processing method for adaptive loop filtering provided in any embodiment of the present application.

[0076] Based on the above embodiments, embodiments of the present application further provide a computer program product. The essence of the technical solution of the present application or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product. The computer program product is stored in a storage medium and includes several instructions for enabling a computer device, a mobile terminal, or a processor therein to execute all or part of the steps of the parallel processing method for adaptive loop filtering described in each embodiment of the present application.

Claims

1. A parallel processing method for adaptive loop filtering, wherein: include: Dividing the video frame image into a plurality of coding regions, and monitoring the coding state of each of the coding regions; When it is determined based on the encoding state that the encoding region has completed initial encoding, generating adaptive loop filter coefficients for each of the encoding regions based on initial encoding data of the encoding region; Adaptive loop filtering is performed on the coding area corresponding to the video frame image according to each of the adaptive loop filtering coefficients, and a coded image of the video frame image is generated based on the adaptive loop filtering results of each of the coding areas.

2. The parallel processing method for adaptive loop filtering according to claim 1, wherein: The step of generating adaptive loop filter coefficients of each coding region based on the initial coding data of the coding region comprises: The coding information of each maximum coding unit in the coding area is counted to obtain initial coding data, and the adaptive loop filter coefficients of each maximum coding unit in the coding area are generated according to the initial coding data.

3. The parallel processing method for adaptive loop filtering according to claim 2, wherein: Before generating adaptive loop filter coefficients of each coding region based on the initial coding data of the coding region, the method further includes: After each maximum coding unit in the coding area completes sample adaptive compensation, it is determined that the coding area completes initial coding.

4. The parallel processing method for adaptive loop filtering according to claim 1, wherein: After generating the coded image of the video frame image based on the adaptive loop filtering results of each of the coded areas, the method further includes: The adaptive loop filter coefficients are written into the adaptive filter parameter set corresponding to each of the coding areas, the identification information of each filter used for the video frame image is written into the image level syntax element, and the identification information of the corresponding filter is written into the maximum coding unit level syntax element.

5. The parallel processing method for adaptive loop filtering according to claim 1, wherein: The step of dividing the video frame image into a plurality of coding regions comprises: The video frame image is divided into coding areas according to the coding directions of each maximum coding unit of the video frame image, and each of the coding areas is distributed along the coding direction.

6. The parallel processing method for adaptive loop filtering according to claim 5, wherein: The step of dividing the video frame image into a plurality of coding regions further includes: The video frame image is divided into a plurality of coding regions based on a set region division threshold. The number of domains is less than or equal to the region division threshold, and the region division threshold is set according to the maximum number of adaptive filtering parameter sets stored in the encoder frame level header structure.

7. A parallel processing system for adaptive loop filtering, wherein: include: A division module, configured to divide the video frame image into a plurality of coding regions, and monitor the coding state of each of the coding regions; A generating module configured to generate adaptive loop filter coefficients for each of the coding regions based on initial coding data of the coding region when it is determined based on the coding state that the coding region has completed initial coding; The filtering module is configured to perform adaptive loop filtering on the coding area corresponding to the video frame image according to each of the adaptive loop filtering coefficients, and generate a coded image of the video frame image based on the adaptive loop filtering results of each of the coding areas.

8. A parallel processing device for adaptive loop filtering, wherein: include: memory and one or more processors; The memory is configured to store one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the parallel processing method for adaptive loop filtering as described in any one of claims 1-6.

9. A computer-readable storage medium, wherein: The computer-readable storage medium stores computer-executable instructions, and when the computer-executable instructions are executed by a computer processor, they are configured to execute the parallel processing method for adaptive loop filtering according to any one of claims 1 to 6.

10. A computer program product, wherein: The computer program product includes instructions, and when the instructions are executed on a computer or a processor, the computer or the processor executes the parallel processing method for adaptive loop filtering as claimed in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Moving picture encoding device, moving picture decoding device, moving picture encoding method, and moving picture decoding method

    CN103907348A

  • Boundary treatment method and device for adaptive loop filter

    CN104702963A

  • Image processing device, image processing method, and program

    CN104823446A

  • Adaptive loop filtering method and corresponding circuit

    CN114979670A

  • Parallel processing method and system for adaptive loop filtering

    CN116916037A