Parameter processing method, device, medium and electronic equipment

By dividing the particles in the film particle block into multiple calculation groups and using multiple calculation units to calculate in parallel, the problem of long calculation time in the prior art is solved, and a more efficient calculation cycle is achieved.

CN115278265BActive Publication Date: 2025-03-18ARM TECH CHINA CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210715836.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-23
Publication Date
2025-03-18
Estimated Expiration
2042-06-23

AI Technical Summary

Technical Problem

The prior art requires serial calculations when calculating the parameters of each particle in a film particle block, resulting in a long time.

Method used

The calculation period is reduced by dividing the particles in the film particle block into multiple calculation groups and calculating the particle parameters in each group in parallel using multiple calculation units.

Benefits of technology

It realizes that multiple processing engines perform parallel calculations on different particles in the same calculation cycle, significantly reducing the calculation cycle of film particle color parameters.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115278265B_ABST
    Figure CN115278265B_ABST
Patent Text Reader

Abstract

The present application relates to the field of data processing technology, and in particular to a parameter processing method, device, medium and electronic device, which can reduce the calculation cycle of the color parameters of each particle in the entire particle block used for film particle synthesis. The method includes: dividing the film particle block of M rows×N columns into P calculation groups by row, each calculation group includes Q subgroups; using multiple calculation units to calculate the color parameters of the particles in each calculation group in parallel; the color parameters of each particle in the Sth and S+1th calculation groups are calculated by the first calculation unit and the second calculation unit respectively; after the first calculation unit completes the calculation of the color parameters of each particle in the Y+R-1th subgroup in the Sth calculation group, the second calculation unit calculates the color parameters of the particles in the Rth subgroup of the S+1th calculation group, and at the same time, the first calculation unit calculates the color parameters of the particles in the R+Yth subgroup of the Sth calculation group.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of video decoding technology, and in particular to a parameter processing method, device, medium and electronic device. Background Art

[0002] In an image system, under certain noise (such as film grain) intensity conditions, the image visual quality can achieve better results. Currently, film grain synthesis technology is used in video coding standards such as AV1. Through this technology, the encoded bitstream can carry the basic parameters required for film grain synthesis (Film Grain Synthesis, FGS), and restore the effect of film grains on the YUV (a color encoding method) data output after decoding. Among them, the processing flow of the above-mentioned film grain synthesis method is an out-of-band process for the encoding loop, that is, the process is an out-of-loop filtering. In addition, when using FGS technology, since the decoding loop inside the encoder is not affected by film grains, the compression rate of video encoding is improved.

[0003] In AV1, the film grain block includes a luminance block of 76×70 and a chrominance block of 38×35. The calculation of the current grain (such as luminance grain or chrominance grain) in the film grain block depends on the calculation results of multiple adjacent grains calculated before the current grain.

[0004] However, currently, the parameters of each grain in the film grain block must be calculated serially one by one. For example, for a 76×70 brightness block in the film grain block, the parameter calculation of each brightness block requires at least one calculation cycle, and at least 76×70=5230 calculation cycles are required to complete the calculation of the parameters of the brightness block, which is time-consuming. Summary of the invention

[0005] The embodiments of the present application provide a parameter processing method, device, medium and electronic device, which can reduce the calculation cycle of the color parameters of each particle in the entire particle block used for film particle synthesis.

[0006] In a first aspect, an embodiment of the present application provides a parameter processing method, comprising: dividing particles in a film particle block of M rows×N columns into P calculation groups by row, each calculation group including Q subgroups; using multiple calculation units (i.e., multiple processing engines hereinafter) to calculate color parameters of each particle in each calculation group in parallel, wherein the color parameters of each particle in the Sth calculation group are calculated by a first calculation unit, and the color parameters of each particle in the S+1th calculation group are calculated by a second calculation unit, the first calculation unit and the second calculation unit are respectively one of the multiple calculation units; and the second calculation unit After the first calculation unit completes the calculation of the color parameters of each particle in the Y+R-1th subgroup of the Sth calculation group, the calculation unit calculates the color parameters of each particle in the Rth subgroup of the S+1th calculation group, and the first calculation unit calculates the color parameters of each particle in the R+Yth subgroup of the Sth calculation group in parallel, wherein the calculation of the color parameters of each particle in the Rth subgroup of the S+1th calculation group is independent of the calculation result of the color parameters of each particle in the R+Yth subgroup of the Sth calculation group; and M, N, P, Q, S, R and Y are all positive integers. Then, multiple processing engines calculate different particles in the same calculation cycle, that is, multiple particles are calculated in parallel in the same calculation cycle, thereby reducing the calculation cycle of the color parameters of the film particles.

[0007] In a possible implementation manner of the first aspect above, the number of rows of particles included in each of the first P-1 calculation groups among the above P calculation groups is greater than or equal to X, and the P-th calculation group includes MX(P-1) rows of particles, where X is a positive integer.

[0008] In a possible implementation manner of the first aspect, the last row of each subgroup in each calculation group in the first P-1 calculation groups includes at least Z particles.

[0009] In a possible implementation of the first aspect above, in each subgroup in each calculation group in the above P-1 calculation groups, the color parameters of the particles in the Jth row and the Kth column are calculated based on the calculation results of the color parameters of the particles in the J-J1th row and the K-K2th column; J1 takes values ​​of 1, 2, and 3 respectively; K2 takes values ​​of 1, 2, 3, 0, -1, -2, and -3 respectively; J and K are both positive integers.

[0010] In a possible implementation manner of the first aspect above, Y is equal to 2, and Z is equal to 4.

[0011] In a possible implementation manner of the first aspect, M is equal to 70, N is equal to 76, and Q is equal to 6.

[0012] In a possible implementation manner of the first aspect above, each of the first P-1 calculation groups includes the following 6 groups: the first subgroup is composed of particles in columns 1 to 13 of the first row, columns 1 to 10 of the second row, columns 1 to 7 of the third row, and columns 1 to 4 of the fourth row in the calculation group; each row in each of subgroups 2 to 5 includes 13 adjacent particles; the sixth subgroup is composed of particles in columns 67 to 76 of the first row, columns 64 to 76 of the second row, columns 61 to 76 of the third row, and columns 58 to 76 of the fourth row in the calculation group.

[0013] In a possible implementation manner of the first aspect, the color parameter of each particle is a brightness component. In this case, the particle block may be a brightness block in a 76×70 brightness block.

[0014] In a possible implementation manner of the first aspect, M is equal to 35, N is equal to 38, and Q is equal to 6.

[0015] In a possible implementation of the first aspect above, each of the first P-1 calculation groups includes the following three groups: the first subgroup is composed of particles in columns 1 to 13 of the first row, columns 1 to 10 of the second row, columns 1 to 7 of the third row, and columns 1 to 4 of the fourth row in the calculation group; each row in the second subgroup includes 13 adjacent particles; the third subgroup is composed of particles in columns 27 to 38 of the first row, columns 24 to 38 of the second row, columns 21 to 38 of the third row, and columns 19 to 38 of the fourth row in the calculation group.

[0016] In a possible implementation manner of the first aspect, the color parameter of each particle is a chrominance component. In this case, the particle block may be a chrominance block in a 38×35 chrominance block.

[0017] In a second aspect, an embodiment of the present application provides a parameter processing device, which includes: a division unit and a plurality of calculation units: the division unit is used to divide the particles in the film particle block of M rows×N columns into P calculation groups by row, each calculation group includes Q sub-groups; the plurality of calculation units are used to calculate the color parameters of each particle in each calculation group in parallel, wherein the color parameters of each particle in the Sth calculation group are calculated by a first calculation unit, and the color parameters of each particle in the S+1th calculation group are calculated by a second calculation unit, and the first calculation unit and the second calculation unit are respectively one of the plurality of calculation units; and Furthermore, after the first calculation unit completes the calculation of the color parameters of each particle in the Y+R-1th subgroup in the Sth calculation group, the second calculation unit calculates the color parameters of each particle in the Rth subgroup of the S+1th calculation group, and at the same time, the first calculation unit calculates the color parameters of each particle in the R+Yth subgroup of the Sth calculation group in parallel, wherein the calculation of the color parameters of each particle in the Rth subgroup of the S+1th calculation group is independent of the calculation results of the color parameters of each particle in the R+Yth subgroup of the Sth calculation group; and M, N, P, Q, S, R and Y are all positive integers.

[0018] In a third aspect, an embodiment of the present application provides a computer-readable storage medium having instructions stored thereon, which, when executed on an electronic device, enables the electronic device to execute a parameter processing method as described in any one of the above-mentioned first aspects.

[0019] In a fourth aspect, an embodiment of the present application provides an electronic device, comprising: a memory for storing instructions executed by one or more processors of the electronic device, and a processor, when the instructions are executed by one or more processors, the processor is used to execute the parameter processing method as described in any one of the first aspects above. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] Figure 1 According to an embodiment of the present application, an architecture diagram of a codec module in an electronic device is shown;

[0021] Figure 2 A schematic diagram of a video decoding process is shown according to an embodiment of the present application;

[0022] Figure 3A According to an embodiment of the present application, a schematic diagram showing a dependency relationship of film grains corresponding to a brightness block is shown;

[0023] Figure 3B According to an embodiment of the present application, a schematic diagram of the dependency relationship of film grains corresponding to a chroma block is shown;

[0024] Figure 4 According to an embodiment of the present application, an architecture diagram of a codec module in an electronic device is shown;

[0025] Figure 5 A schematic flow chart of a parameter processing method in a particle block synthesis process is shown according to an embodiment of the present application;

[0026] Figure 6 A schematic diagram showing sub-grouping of grains in a film particle according to an embodiment of the present application is shown;

[0027] Figure 7 A schematic diagram showing sub-grouping of grains in a film particle according to an embodiment of the present application is shown;

[0028] Figure 8 A schematic diagram showing a calculation sequence of grains in a film particle according to an embodiment of the present application;

[0029] Fig. 9 A schematic diagram showing sub-grouping of grains in a film particle according to an embodiment of the present application is shown;

[0030] Fig.10 A block diagram of an electronic device is shown according to an embodiment of the present application;

[0031] Fig.11 A block diagram of a system on chip is shown according to an embodiment of the present application. DETAILED DESCRIPTION

[0032] The embodiments of the present application include but are not limited to a parameter processing method, device, medium and electronic device.

[0033] The parameter processing method provided in this application is applied to video encoding and decoding scenarios, and is specifically applied to the process of synthesizing film grain (FG) during video decoding. For example, the scheme of this application can be applied to panoramic sound movies, ultra-high-definition television, Internet broadband audio and video services, digital audio and video broadcasting wireless broadband multimedia communications, virtual reality and augmented reality, etc., which require video encoding and decoding. The following is an example of the encoding and decoding process of a video.

[0034] It can be understood that there are many scenarios where video encoding is required. In addition to the common video shooting and data compression storage through smartphones, video encoding is also required in scenarios such as video conferencing, digital TV, and storing compressed video on digital media including CDs, DVDs, memory sticks, etc.

[0035] In some embodiments, the video compression standards involved in the present application may be High Efficiency Video Coding (HEVC), Advanced Video Coding (AVC), Audio Video Coding Standard (AVS), and AV1 (i.e., the next generation video coding format developed by the Alliance of Open Media Video), etc. The following description mainly takes AV1 as an example.

[0036] In the embodiment of the present application, the execution subject of the film grain processing method may be an electronic device, or a module or unit in the electronic device for executing the film grain processing method. For example, the following embodiment of the present application takes the execution of the film grain processing method by the codec module in the electronic device as an example for explanation.

[0037] In some embodiments, electronic devices suitable for the present application include but are not limited to: smart phones, vehicle-mounted devices, personal computers, artificial intelligence devices, tablet computers, personal digital assistants, smart wearable devices (such as smart watches or bracelets, smart glasses), smart TVs (or called smart big screens, smart screens, or large-screen TVs, etc.), virtual reality / mixed reality / augmented display devices, servers, etc.

[0038] In some examples, the above-mentioned codec module can be implemented as any of a variety of suitable circuits, for example, one or more microprocessors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA), discrete logic, hardware, or any combination thereof. If the technology is partially implemented in software, the device may store the instructions of the software in a suitable non-temporary computer-readable storage medium, and one or more processors may be used to execute the instructions in hardware to perform the technology of the present disclosure. Any of the foregoing (including hardware, software, a combination of hardware and software, etc.) can be regarded as one or more processors lossless video compression.

[0039] In addition, in some embodiments, the above-mentioned codec module may be arranged in a video processing unit (VPU) in the electronic device, but is not limited thereto.

[0040] According to some embodiments of the application, reference Figure 1As shown, it is a schematic diagram of the framework of a codec module 20 in an electronic device 10 provided by the application. The codec module 20 includes a preprocessing unit 01, an encoding unit 02, a decoding unit 03 and an FG synthesis unit 04. Among them, the preprocessing unit 01 is mainly used for preprocessing (Pre-processing) the input, such as de-interlacing, up / down sampling, noise reduction, etc. The encoding unit 02 is mainly used to encode the input video to obtain a bit stream (i.e., a code stream). The decoding unit 03 is mainly used to decode the compressed bit stream or code stream of the input video to obtain video data. The FG synthesis unit 04 is mainly used to add film grains to the decoded video.

[0041] As an example, the encoding unit 02 may be an encoder, and the decoding unit 03 may be a decoder. In addition, in some embodiments, each of the preprocessing unit 01, the encoding unit 02, the decoding unit 03, and the FG synthesis unit 04 may be implemented by software or hardware, or by a combination of software and hardware, which is not limited in the present application.

[0042] based on Figure 1 The codec module 20 shown, referring to Figure 2 As shown in FIG. 1 , it is a flowchart of using film grain in a video encoding and decoding framework provided by the present application. Figure 2 As shown, the process includes the following steps:

[0043] Step S1, the preprocessing unit 01 preprocesses the input video, filters the film grains to obtain the filtered video (i.e., the video with the film grains removed). Step S2, the encoding unit 02 encodes the video with the film grains removed, and at the same time, inserts the film grain (FG) parameter into the header information of the bitstream to obtain the encoded bitstream. Step S3, the decoding unit 03 decodes the input bitstream to obtain the decoded video, and parses the FG parameter from the header information of the bitstream. Step S4, the FG synthesis unit 04 synthesizes the film grains in the decoded video according to the FG parameters through the FG synthesis technology, and outputs the decoded video carrying the film grains, so that the visual quality of the video is higher.

[0044] It can be understood that film grains are some noise in a frame of image, and FG parameters can be used to indicate the shape, size and intensity of film grains. In some embodiments, the FG parameters can be obtained based on the input video of the preprocessing unit 01. For example, the film grains obtained by filtering the input video by the preprocessing unit 01 are modeled to obtain the above FG parameters. In other embodiments, the above FG parameters can be generated based on preset random Gaussian white noise.

[0045] In the following embodiments of the present application, the parameter processing method in the film grain processing process in the FG synthesis unit 04 involved in S4 is mainly described.

[0046] As an example, in the AV1 standard, the above FG parameters may include parameters such as grain_seed, which can be used to generate a particle block corresponding to a luminance block or a particle block corresponding to a chrominance block. For example, the parameters of the particle seed can be used to generate a Gaussian initialization value (i.e., an initialization value representing Gaussian white noise) for calculating each particle in the particle block.

[0047] In the following embodiments of the present application, taking AV1 as an example, the above FG parameters are used to represent a film grain block, which is a 76×70 luminance block and a 38×35 chrominance block. It should be noted that in the embodiments of the present application, the 76×70 luminance block described refers to a luminance block matrix of 70 rows by 76 columns, and the 38×35 chrominance block refers to a chrominance block matrix of 35 rows by 38 columns. It can be understood that the minimum unit for calculating the film grain block is a grain, and a grain in the film grain block refers to a luminance block or a chrominance block.

[0048] In some embodiments, the calculation of grains refers to calculating the luminance (Luma) component of the luma grain and calculating the chroma (chroma) component of the chroma grain. As an example, in the YUV color space, the luminance component calculated for one luma grain is the Y component. In addition, in the YUV color space, the chroma component calculated for one chroma grain is the U component and / or the V component. As another example, in the YCbCr color space, the luminance component calculated for one luma grain is the Y component. In addition, in the YUV color space, the chroma component calculated for one chroma grain is the Cb component and / or the Cr component, and the Cb component and the Cr component are the concentration offset components of blue and red, respectively.

[0049] At present, it is understandable that the prior art generally adopts a pipeline to calculate each grain in the particle block one by one based on the dependency relationship between adjacent grains, which makes the calculation of film grains more time-consuming. Figure 3A An example of calculating the brightness grain of the current position is shown, where the calculation of the current brightness grain (i.e., brightness block) represented by the current position P1 requires the calculation of 24 adjacent brightness grains framed by a dotted frame M1 around the current position P1. In addition, Figure 3BAn example of calculating the chroma grain at the current position is shown, where the calculation of the current chroma grain represented by the current position P1 depends not only on the 24 adjacent luminance grains around the current position P1 framed by the dotted frame M1, but also on the 4 chroma grains corresponding to the current position P1 in the luminance block matrix represented by the dotted frame M2. Then, after all the grains in the 76×70 luminance block and the 38x35 chroma block are calculated, the calculation of the 76×70 luminance block requires 5320 (i.e., 76 times 70) calculation cycles, while the calculation of the luminance component and the chroma component of the 38×35 chroma block consumes 1330 (i.e., 38 times 35) calculation cycles respectively, resulting in as many as 7980 calculation cycles, and the calculation process is time-consuming.

[0050] In order to reduce the time consumption of film grain calculation, an embodiment of the present application provides a parameter processing method, which divides the grains in the film grain block into different groups, and uses multiple processing engines to parallelly calculate the color parameters of each grain in different groups that do not have dependencies. Then, multiple processing engines calculate different grains in the same calculation cycle, that is, multiple grains are calculated in parallel in the same calculation cycle, thereby reducing the calculation cycle of the color parameters of the film grains. For example, assuming that a certain film grain block includes group 1, group 2 and group 3, where group 3 depends on the calculation results of each grain in group 1, group 1 and group 2 can be calculated by one processing engine. After the processing engine calculates the parameters of the grains in group 1, since there is no dependency between group 2 and group 3, during the period when the processing engine calculates the parameters of each grain in group 2, another processing engine can be used to calculate the parameters of the grains in group 3 in parallel, so as to realize the parallel calculation of sub-groups that do not have dependencies and reduce the calculation cycle.

[0051] Specifically, in some embodiments, based on Figure 1 The structure of the codec module 20 shown is shown in FIG. Figure 4 FIG. 2 is another structural diagram of the encoding and decoding module 20 provided in an embodiment of the present application. Figure 4 The illustrated example may include multiple processing engines for calculating film grains using multiple pipelines. One processing engine may be a primitive engine (PE), and the following describes the processing engine using PE as an example. Specifically, each PE is used to provide a pipeline for calculating film grains. As an example, the number of the multiple processing engines may be 2 or 4, but is not limited thereto.

[0052] Next, based on Figure 4Taking the FG synthesis unit 04 as an example, the parameter processing method provided by the embodiment of the application is described. Figure 5 FIG. 1 is a flow chart of a parameter processing method provided in an embodiment of the present application, and the method comprises the following steps:

[0053] Step S501: the FG synthesis unit 04 divides the grains in the film grain block into a plurality of subgroups related to the luminance block and divides the grains in the film grain into a plurality of subgroups related to the chrominance block according to a preset rule.

[0054] Each grain in each subgroup can be calculated separately.

[0055] As an example, the above preset rule is used to divide the film grains into different calculation groups in the order of rows from top to bottom, and each calculation group may include 4 rows. Further, the film grains may be divided into different sub-groups according to each calculation group, that is, the film grains are sub-grouped in units of every 4 adjacent rows in the order from top to bottom and from left to right, and the sub-grouping method of every 4 rows is the same. In addition, if the total number of rows of the film grains (such as the number of rows 70 of the 76×70 brightness block) is not divisible by 4, then the remaining number of rows after the total number of rows is divided by 4 may be divided into groups according to similar rules, or the remaining number of rows after the total number of rows is divided by 4 and the last 4 rows may be divided into sub-groups as a whole.

[0056] In some embodiments, for a 76×70 luma block, rows 1 to 64 may be subgrouped every four rows, and the last rows 65 to 70 may be subgrouped as a subgrouping unit, similar to the subgrouping every four rows (e.g., the first row of each group may include 13 grains). In addition, in some other embodiments, for a 76×70 luma block, rows 1 to 68 may be subgrouped every four rows, and the last rows 69 to 70 may be subgrouped as a subgrouping unit, similar to the rule of subgrouping every four rows.

[0057] It should be noted that the number of subgroups divided into the 76×70 luminance block corresponding to film grain is different from the number of subgroups divided into the 38×35 chrominance block corresponding to film grain, but the rules for dividing the subgroups are the same.

[0058] Luminance block division

[0059] In some embodiments, dividing the grains in the film particles into multiple subgroups related to the brightness block according to a preset division rule means first dividing the brightness grains in the 76×70 brightness block into multiple calculation groups, and then dividing each calculation group into multiple subgroups.

[0060] Reference Figure 6 The figure shows a schematic diagram of sub-grouping of grains in a film grain block. Taking the 76×70 brightness block corresponding to the grains in the film grains as an example, the sub-grouping of the grains in the two calculation groups where the first two 4 rows (i.e., the first 8 rows) of the film grains are located is used as an example to illustrate the grain division according to the above preset rule.

[0061] For example, in Figure 6 In the first 4 rows of film grains shown, (1) the first 13 grains of the first row (i.e., row numbered 0), the first 10 grains of the second row (i.e., row numbered 1), the first 7 grains of the third row (i.e., row numbered 2), and the first 4 grains of the fourth row (i.e., row numbered 3) of the first four rows (i.e., the first calculation group) are divided into a subgroup (denoted as N1). (2) The subsequent 13 grains of the first row, the subsequent 13 grains of the second row, the subsequent 13 grains of the third row, and the subsequent 13 grains of the fourth row of the first four rows are divided into a subgroup (denoted as N2). (3) According to the division method of N2, four subgroups N3, N4, and N5 are divided in turn. Finally, the last 10 grains of the first row, the last 13 grains of the second row, the last 16 grains of the third row, and the last 19 grains of the fourth row of the first four rows are divided into a subgroup (denoted as N6). That is, for the grain of the luminance block, the grain corresponding to each four-row luminance block is divided into 6 sub-groups.

[0062] Further, refer to Figure 6 The division method of the grains in the first four rows shown can divide the grains in the 5th to 8th rows (i.e., the second calculation group) of the film grains into sub-groups N7 to N12 respectively; divide the grains in the 9th to 12th rows (i.e., the third calculation group) of the film grains into sub-groups N13 to N18 respectively; divide the grains in the 13th to 16th rows (i.e., the fourth calculation group) of the film grains into sub-groups N19 to N24 respectively; and similarly, until all the grains of the corresponding 76×70 brightness block are divided. As an example, the grains in the 65th to 70th rows of the 76×70 brightness block corresponding to the film grains can be divided according to the division method of the first four rows mentioned above.

[0063] In some embodiments, all grains in a 76×70 luminance block can be divided into 17 calculation groups, including the calculation groups of 14 adjacent 4 rows and the calculation group of the last 6 rows. Figure 6As shown in the figure, the first four rows in the first calculation group contain each subgroup, the first group in the 17th calculation group where rows 65 to 70 are located is composed of the first 13 grains in row 65, the first 10 grains in row 66, the first 7 grains in row 67, the first 4 grains in row 68, the first 4 grains in row 69, and the first 4 grains in row 70; the first 13 grains in row 65, the first 10 grains in row 66, the first 7 grains in row 67, the first 4 grains in row 68, the first 4 grains in row 69, and the first 4 grains in row 70. By analogy, other subgroups in the 17th calculation group can be obtained, which will not be described in detail.

[0064] Chroma block division

[0065] In some embodiments, dividing the grains in the film particles into multiple subgroups related to the chroma blocks according to a preset division rule means first dividing the chroma grains in the 38×35 chroma blocks into multiple calculation groups, and then dividing each calculation group into multiple subgroups.

[0066] Reference Figure 7 The figure shows a schematic diagram of sub-grouping of grains in a film grain block. Taking the 38×35 chrominance block corresponding to the grains in the film grains as an example, the sub-grouping of the grains in the two calculation groups where the first two 4 rows (i.e., the first 8 rows) of the film grains are located is used as an example to illustrate the grain division according to the above preset rule.

[0067] For example, for the first four rows of grain in the film grain, Figure 7 The subgroups N1 and N2 are divided into Figure 6 N1 and N2 are shown to be identical except that Figure 7 The subgroup N3' is divided into Figure 6 The divided N3 is different. Specifically, the 27th to 38th grains of the first row of the first four rows, the 24th to 38th grains of the second row, the subsequent 21st to 38th grains of the third row, and the subsequent 18th to 38th grains of the fourth row are divided into one subgroup (denoted as N3'). Similarly, in the division of the next 4 rows of grains corresponding to the chroma block, the first two subgroups related to the chroma block and the first two subgroups related to the luminance block are the same, while the last subgroup is different. That is. For the grain of the chroma block, the grain corresponding to each of the four rows of luminance blocks is divided into 3 subgroups.

[0068] It is understandable that, referring to Figure 3A or Figure 3B As shown, for the 24 grains before the current grain, in each subgroup of each 4 rows, the color parameter of the grain in the Jth row and the Kth column is calculated based on the color parameters of the 24 grains in the J-J1th rows and the K-K2th columns; J1 takes values ​​of 1, 2, and 3 respectively; K2 takes values ​​of 1, 2, 3, 0, -1, -2, and -3 respectively; J and K are both positive integers.

[0069] Step S502: multiple PEs in the FG synthesis unit 04 calculate the grains in multiple subgroups corresponding to the luminance block in parallel according to a preset order to obtain the luminance component of each grain.

[0070] In some embodiments, the preset order is used to indicate the order of computation of grains in different subgroups of one or more computation groups, including which subgroups can simultaneously perform computation of grains in one computation cycle.

[0071] Reference Figure 8 As shown, the calculation of grains in N3' and N7 in the film grain block can be performed simultaneously, because after the calculation of N1 and N2, the brightness components of 24 adjacent grains (such as the 24 grains shown in Figure 3A) related to the calculation of each grain in N3' and N7 have all been calculated, so there is no dependency between the calculation of grains in N3 and N7.

[0072] In some embodiments, the preset order is used to indicate that, for the calculation of grains corresponding to the luminance block, the preset order is used to indicate that the calculation of grains in the R+2th subgroup in the Sth 4-row (i.e., Sth calculation group) can be performed in parallel with the calculation of grains in the Rth subgroup in the S+1th 4-row (i.e., S+1th calculation group) using different PEs, where both S and R are greater than or equal to 1. The calculation of the color parameters of each particle in the Rth subgroup of the S+1th calculation group is independent of the calculation results of the color parameters of each particle in the R+2th subgroup of the Sth calculation group.

[0073] In some embodiments, as shown in FIG9 , the FG synthesis unit 04 may include 4 PEs, namely PE0-4. For the calculation of the grain corresponding to the luminance block, the preset order is used to indicate the calculation order in each sub-group in each calculation group, including the following steps:

[0074] (1) PE0 calculates the grain corresponding to the luminance block in N1.

[0075] (2) PE0 calculates the grain corresponding to the luminance block in N2.

[0076] (3) PE0 calculates the grain corresponding to the luminance block in N3, and PE1 calculates the grain corresponding to the luminance block in N7.

[0077] (4) PE0 calculates the grain corresponding to the luminance block in N4, and PE1 calculates the grain corresponding to the luminance block in N8.

[0078] (5) PE0 calculates the grain corresponding to the luminance block in N5, PE1 calculates the grain corresponding to the luminance block in N9, and PE2 calculates the grain corresponding to the luminance block in N13.

[0079] (6) PE0 calculates the grains corresponding to the luminance block in N6, PE1 calculates the grains corresponding to the luminance block in N10, and PE2 calculates the grains corresponding to the luminance block in N14.

[0080] (7) PE1 calculates the grain corresponding to the luminance block in N10, PE2 calculates the grain corresponding to the luminance block in N14, and PE0 calculates the grain corresponding to the luminance block in the first subgroup in the second four rows (i.e., the second calculation group). Fig. 9 not shown).

[0081] (8) PE1 calculates the grains corresponding to the luminance block in N11, PE2 calculates the grains corresponding to the luminance block in N15, and PE3 calculates the grains corresponding to the luminance block in N19.

[0082] Similarly, when PE1 completes the calculation of N5, if PE3 has completed the calculation of N21, PE0 starts to calculate the parameters of each grain in the fifth 4 rows (i.e., the fifth calculation group). For details, please refer to the calculation process of the parameters of each grain in the first 4 rows of data by PE0, which will not be repeated here.

[0083] Similarly, for the calculation of the grain corresponding to the brightness block in the corresponding film grain, the preset order is used to indicate that the execution order also includes the above steps (1)-(8) and then includes multiple steps. The execution rules are similar to steps (1)-(8) and will not be repeated here.

[0084] It can be understood that, for a 76×70 luminance block, when PE0 starts to calculate the bth subgroup in the ath four rows, PE1 starts to calculate the b-2th subgroup in the a+1th four rows; when PE1 starts to calculate the bth subgroup in the a+1th four rows, PE2 starts to calculate the b-2th subgroup in the a+2th four rows; when PE2 starts to calculate the bth subgroup in the a+2th four rows, PE3 starts to calculate the b-2th subgroup in the a+3th four rows; in addition, when PE3 starts to calculate the bth subgroup in the a+3th four rows, PE0 starts to calculate the b-2th subgroup in the a+4th four rows. By analogy, the four PE loops process different subgroups in parallel in a preset order. Where a is greater than or equal to 1, and b is greater than or equal to 3.

[0085] As an example, in the embodiment of the present application, for the calculation of a grain corresponding to a brightness block in the corresponding film grain, the brightness value of the grain can be calculated according to Figure 3A The weighted average of the brightness components (such as the Y component) of the 24 adjacent grains in front of the indicated position is calculated.

[0086] In some embodiments, the generation process of the film grain block corresponding to the luminance block involved in the present application mainly includes: the FG synthesis unit 04 generates a [76x70] matrix corresponding to the luminance block based on the [82x73] matrix corresponding to the pre-generated Gaussian initialized luminance grain, that is, a 76x70 luminance block. Specifically, for a grain in the area of ​​the [76x70] matrix, the Gaussian initialization values ​​of the 24 adjacent luminance grains are accumulated, and the final value of the accumulated value is added with (round_offset>>ar_coeff_shit) (i.e., an offset) to obtain the luminance and chrominance value (i.e., chrominance component, such as Y component) of the luminance grain. Furthermore, for each grain in the area of ​​the [76x70] matrix, the luminance block for film grain synthesis is calculated one by one in a raster scan manner, and finally the [76x70] matrix of the luminance block for film grain synthesis, that is, a 76x70 luminance block, is obtained.

[0087] Step S503: multiple PEs in the FG synthesis unit 04 calculate the corresponding grains in multiple subgroups corresponding to the chrominance block in parallel according to a preset order to obtain the chrominance components of each grain, such as Cb components and Cr components.

[0088] It can be understood that multiple PEs can first calculate the corresponding grains in multiple subgroups corresponding to the chroma block in parallel according to a preset order to obtain a chroma component of each grain; and then calculate the corresponding grains in multiple subgroups corresponding to the chroma block in parallel according to a preset order to obtain another chroma component of each grain.

[0089] Reference Figure 8 As shown, the calculations in N3 (or N3') and N7 corresponding to the grains of the chrominance block in the film grains can be performed simultaneously, and the calculations in the grains of N3 and N7 have no dependency.

[0090] In some embodiments, the above preset order is used to indicate that for the calculation of the grains corresponding to the chroma blocks in the corresponding film grains, the preset order is used to indicate that the calculation of the grains in the R+2th subgroup in the Sth 4-row grain can be performed in parallel with the calculation of the grains in the Rth subgroup in the S+1th 4-row grain using different PEs. In addition, Figure 8 In the process shown, the grains in each subgroup are calculated one by one according to raster scanning (i.e., in order from left to right and from top to bottom), that is, corresponding to the luminance block or the chrominance block, each grain is calculated one by one in order from left to right and from top to bottom.

[0091] As an example, in the embodiment of the present application, for the calculation of a grain corresponding to a chroma block in a film grain block, the brightness value of the grain can be Figure 3B The weighted average of the luminance values ​​of the preceding 24 adjacent grains at the position shown and the average of the values ​​of the four chrominance grains at the associated position in the film grain block corresponding to the luminance block is calculated. In some embodiments, the chrominance grain at the i-th row and j-th column in the film grain block corresponding to the chrominance block corresponds to the luminance grain at the 2i-1-th row and 2j-1-th column, the 2i-1-th row and 2j-1-th column, the 2i-th row and 2i-th row and 2j-th column in the film grain block corresponding to the luminance block, i is 1, 2…m, and j is 1, 2…n. For example, the chrominance grain at the 3rd row and 3rd column in the 38×35 chrominance block corresponds to the 4 luminance grains of the chrominance grain at the 5th row and 5th column, the chrominance grain at the 5th row and 6th column, the chrominance grain at the 6th row and 5th column, and the chrominance grain at the 6th row and 6th column in the 76×70 luminance block.

[0092] In some embodiments, the execution entity of the generation process of the 38×35 chroma block (ie, the film grain block corresponding to the chroma block) may still be the FG synthesis unit 04 .

[0093] It can be understood that the generation process of the 38×35 chrominance block for calculating the Cb component is similar to the generation process of the 38×35 chrominance block for calculating the Cr component.

[0094] In some embodiments, the generation process of the film grain block corresponding to the chroma block involved in the present application mainly includes: the FG synthesis unit 04 generates a [38x35] matrix corresponding to the chroma block based on the [44x38] matrix corresponding to the pre-generated Gaussian initialized chroma block, that is, a 38x35 chroma block. Specifically, for a certain grain in the area of ​​the [38x35] matrix, the values ​​of the 24 adjacent Gaussian initialized luminance grains are accumulated, and the accumulated value is added to the average value of the luminance components of the 4 luminance grains corresponding to the current point, that is, ar_coeffs_cb (i.e., Cb component) or ar_coeff_cr (i.e., Cr component). The final value of the average value is added to (round_offset>>ar_coeff_shit) (i.e., an offset) to obtain the chroma value of the chroma grain (i.e., chroma component, such as Cb component or Cr component). Furthermore, for each grain point in the [38x35] area, a raster scan is used to calculate each grain point one by one, and finally a [38x35] matrix of a brightness block for film grain synthesis is obtained.

[0095] It can be understood that after calculating the luminance component of each luminance block in the 76×70 luminance block and the chrominance component of the 38×35 chrominance block, the film grains can be synthesized for the decoded video image based on the 76×70 luminance block and the 38×35 chrominance block. For example, for a pixel in a decoded video image, the luminance component of the pixel can be replaced with the luminance component of a luminance grain in the 76×70 luminance block, and the chrominance component of the pixel can be replaced with the chrominance component (such as Cb component or Cr component) of a chrominance grain in the 38×35 chrominance block.

[0096] In addition, it should be noted that in other embodiments of the present application, the FG synthesis unit 04 can also use two or more PEs to parallelly process the calculation of grains divided into sub-groups, referring to the above solution for parallel processing of four PEs, which will not be repeated here.

[0097] In summary, refer to Fig. 9As shown, in the parallel scheme of 4 PEs, the first 16 rows of the 76×70 luminance block include 12 sub-group calculation cycles, and the following 12 sub-group cycles include sub-groups: (1) N1; (2) N2; (3) N3 and N7; (4) N3 and N7; (5) N4 and N8; (6) N5, N9 and N13; (7) N6, N10 and N14; (8) N11, N15 and N19; (9) N12, N16 and N20; (10) N17 and N21; (11) N23; (12) N24. Each sub-group cycle includes approximately 13×4=52 grains, so the total calculation cycle of these sub-groups is 12×52=624. In the prior art, the calculation cycle for the first 16 rows of the 76×70 luminance block is 16×76=1216.

[0098] Similarly, in the parallel scheme of 4 PEs, the first 16 rows of the 38×35 luminance block include 7 sub-packet calculation cycles, so 7 sub-packets N24. Each sub-packet cycle includes approximately 13×4=52 grains, so the total calculation cycle of these sub-packets is 7×52=364. In the prior art, the calculation cycle for the first 16 rows of the 38×35 luminance block is 16×38×2=1216.

[0099] Therefore, in general, the computation cycle of processing the grain partition of the first 16 rows in the parallel solution of 4 PEs of the present application is 624+364=988, while the computation cycle spent in the prior art is 1216+1216=2432. And 988 / 2432 is approximately equal to 40%. Therefore, compared with the prior art, the parallel solution of 4 PEs provided by the present application reduces the processing cycle of film grains by about 60%.

[0100] In addition, in some other embodiments, if the FG synthesis unit 04 includes two PEs (i.e., PE0 and PE1), the processing flow is similar to the processing flow of the above-mentioned 4 PEs. As an example, in this scenario, for a 76×70 luminance block, when PE0 starts to calculate the bth subgroup in the ath quad row, PE1 starts to calculate the b-2th subgroup in the a+1th quad row. Similarly, the two PE cycles process different subgroups in parallel according to a preset order. Wherein, a is greater than or equal to 1, and b is greater than or equal to 3. In addition, referring to the calculation method for the 4 PE parallel scheme, the 2 PE parallel method can reduce the calculation cycle by about 50% compared with the prior art.

[0101] It should be noted that the parameter processing method provided in the embodiment of the present application divides the grains in the film grain block into different sub-groups so that the calculation of the grains in several sub-groups is independent of each other. Therefore, multiple PEs can be used to process the calculation of grains in different sub-groups in parallel, thereby greatly reducing the calculation time of all grains of film grains. For example, the solution of using two PEs for parallel processing at the same time reduces the processing cycle by 50% compared with the traditional single-line processing solution, and the solution of using four PEs for parallel processing reduces the processing cycle by about 60% compared with the traditional single-line processing solution.

[0102] In addition, it should be noted that in the parameter processing method provided in the present application, the objects for dividing the calculation groups and sub-groups are not limited to the 76×70 luminance blocks and 38×35 chrominance blocks shown above, but can also be other similar matrices. The calculation of an element in each of these matrices depends on the calculation results of multiple elements that diffuse outward from the element as the center.

[0103] Furthermore, the parameter processing method provided by the present application is not limited to the above results for dividing the calculation groups and sub-groups in the matrix, but depends on the positional relationship between an element in the matrix and multiple elements on which the calculation of the element depends. It can be understood that the size and specification of the sub-groups in the calculation group in the matrix, especially the top-ranked sub-groups, can be determined based on the dependency relationship between the element calculations, for example, so that the elements on which the calculation of the elements in the last row and last column of a group depends are all included in the sub-group.

[0104] Fig.10 FIG. 1 is a block diagram of an electronic device 100 according to an embodiment of the present application. Fig.10 An example electronic device 100 is schematically shown according to various embodiments. In one embodiment, the electronic device 100 may include one or more processors 1604, a system control logic 1608 connected to at least one of the processors 1604, a system memory 1612 connected to the system control logic 1608, a non-volatile memory (NVM) 1616 connected to the system control logic 1608, and a network interface 1620 connected to the system control logic 1608.

[0105] In some embodiments, the processor 1604 may include one or more single-core or multi-core processors. In some embodiments, the processor 1604 may include any combination of general-purpose processors and special-purpose processors (e.g., graphics processors, application processors, baseband processors, etc.). In embodiments where the electronic device 100 uses an eNB (Evolved Node B) or RAN (Radio Access Network) controller, the processor 1604 may be configured to execute various embodiments, such as Figure 5 The embodiment shown.

[0106] In some embodiments, system control logic 1608 may include any suitable interface controller to provide any suitable interface to at least one of processors 1604 and / or any suitable device or component in communication with system control logic 1608 .

[0107] In some embodiments, the system control logic 1608 may include one or more memory controllers to provide an interface to the system memory 1612. The system memory 1612 may be used to load and store data and / or instructions. In some embodiments, the memory 1612 of the system 1600 may include any suitable volatile memory, such as a suitable dynamic random access memory (DRAM).

[0108] NVM 1616 may include one or more tangible, non-transitory computer-readable media for storing data and / or instructions. In some embodiments, NVM 1616 may include any suitable non-volatile memory such as flash memory and / or any suitable non-volatile storage device, such as at least one of a HDD (Hard Disk Drive), a CD (CompactDisc) drive, and a DVD (Digital Versatile Disc) drive.

[0109] NVM 1616 may include a portion of storage resources on a device on which electronic device 100 is installed, or it may be accessible by the device but is not necessarily a portion of the device. For example, NVM 1616 may be accessed over a network via network interface 1620.

[0110] In particular, system memory 1612 and NVM 1616 may include, respectively, a temporary copy and a permanent copy of instructions 1624. Instructions 1624 may include instructions that, when executed by at least one of processors 1604, cause electronic device 100 to implement the following: Figure 5In some embodiments, instructions 1624, hardware, firmware, and / or software components thereof may additionally / alternatively be placed in system control logic 1608, network interface 1620, and / or processor 1604.

[0111] The network interface 1620 may include a transceiver for providing a radio interface for the electronic device 100, thereby communicating with any other suitable device (such as a front-end module, an antenna, etc.) through one or more networks. In some embodiments, the network interface 1620 may be integrated with other components of the electronic device 100. For example, the network interface 1620 may be integrated with at least one of the processor 1604, the system memory 1612, the NVM 1616, and a firmware device (not shown) having instructions. When at least one of the processors 1604 executes the instructions, the electronic device 100 implements the following. Figure 5 The method shown.

[0112] The network interface 1620 may further include any suitable hardware and / or firmware to provide a multiple-input multiple-output radio interface. For example, the network interface 1620 may be a network adapter, a wireless network adapter, a telephone modem and / or a wireless modem.

[0113] In one embodiment, at least one of the processors 1604 may be packaged together with logic for one or more controllers of the system control logic 1608 to form a system in package (SiP). In one embodiment, at least one of the processors 1604 may be integrated on the same die with logic for one or more controllers of the system control logic 1608 to form a system on a chip (SoC).

[0114] The electronic device 100 may further include an input / output (I / O) device 1632 .

[0115] According to an embodiment of the present application, Fig.11 1 shows a block diagram of a SoC (System on Chip) 1700. The SOC 1700 is provided in the electronic device 100. Fig.11 In the drawings, similar parts have the same reference numerals. Figure 8In the embodiment, SoC 1700 includes: an interconnect unit 1750, which is coupled to an application processor 1710; a system agent unit 1770; a bus controller unit 1780; an integrated memory controller unit 1740; a video processor 1720, which also includes a codec module 20; a static random access memory (SRAM) unit 1730; and a direct memory access (DMA) unit 1760. In one embodiment, SoC 1700 may also include, for example, a network or communication processor, a compression engine, a GPU, a high throughput MIC processor, or an embedded processor.

[0116] The various embodiments of the mechanism disclosed in the present application can be implemented in hardware, software, firmware or a combination of these implementation methods. The embodiments of the present application can be implemented as a computer program or program code executed on a programmable system, which includes at least one processor, a storage system (including volatile and non-volatile memory and / or storage elements), at least one input device and at least one output device.

[0117] Program code can be applied to input instructions to perform the functions described in this application and generate output information. The output information can be applied to one or more output devices in a known manner. For the purposes of this application, a processing system includes any system having a processor such as, for example, a digital signal processor (DSP), a microcontroller, an application specific integrated circuit (ASIC), or a microprocessor.

[0118] Program code can be implemented with high-level programming language or object-oriented programming language to communicate with the processing system. When necessary, program code can also be implemented with assembly language or machine language. In fact, the mechanism described in this application is not limited to the scope of any specific programming language. In either case, the language can be a compiled language or an interpreted language.

[0119] In some cases, the disclosed embodiments may be implemented in hardware, firmware, software, or any combination thereof. The disclosed embodiments may also be implemented as instructions carried or stored on one or more temporary or non-temporary machine-readable (e.g., computer-readable) storage media, which may be read and executed by one or more processors. For example, instructions may be distributed over a network or through other computer-readable media. Therefore, machine-readable media may include any mechanism for storing or transmitting information in a machine (e.g., computer) readable form, including, but not limited to, floppy disks, optical disks, optical disks, read-only memories (CD-ROMs), magneto-optical disks, read-only memories (ROMs), random access memories (RAMs), erasable programmable read-only memories (EPROMs), electrically erasable programmable read-only memories (EEPROMs), magnetic or optical cards, flash memory, or a tangible machine-readable memory for transmitting information (e.g., carrier waves, infrared signals, digital signals, etc.) using the Internet in electrical, optical, acoustic, or other forms of propagation signals. Therefore, machine-readable media include any type of machine-readable media suitable for storing or transmitting electronic instructions or information in a machine (e.g., computer) readable form.

[0120] In the accompanying drawings, some structural or method features may be shown in a particular arrangement and / or order. However, it should be understood that such a particular arrangement and / or order may not be required, but rather, in some embodiments, these features may be arranged in a manner and / or order different from that shown in the illustrative drawings. In addition, the inclusion of structural or method features in a particular figure does not imply that such features are required in all embodiments, and in some embodiments, these features may not be included or may be combined with other features.

[0121] It should be noted that the units / modules mentioned in the various device embodiments of the present application are all logical units / modules. Physically, a logical unit / module can be a physical unit / module, or a part of a physical unit / module, or can be implemented as a combination of multiple physical units / modules. The physical implementation method of these logical units / modules themselves is not the most important. The combination of functions implemented by these logical units / modules is the key to solving the technical problems proposed by the present application. In addition, in order to highlight the innovative part of the present application, the above-mentioned device embodiments of the present application do not introduce units / modules that are not closely related to solving the technical problems proposed by the present application, which does not mean that there are no other units / modules in the above-mentioned device embodiments.

[0122] It should be noted that in the examples and description of this patent, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "including one" do not exclude the existence of other identical elements in the process, method, article or device including the elements.

[0123] Although the present application has been illustrated and described with reference to certain preferred embodiments thereof, it will be apparent to those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present application.

Claims

1. A parameter processing method, characterized in that: include: Divide the grains in the film grain block of M rows×N columns into P calculation groups according to every 4 rows, each calculation group includes Q subgroups; The color parameters of each particle in each calculation group are calculated in parallel by using a plurality of calculation units, wherein the color parameters of each particle in the Sth calculation group are calculated by a first calculation unit, and the color parameters of each particle in the S+1th calculation group are calculated by a second calculation unit, and the first calculation unit and the second calculation unit are respectively one of the plurality of calculation units; and After the first calculation unit completes the calculation of the color parameters of each particle in the Y+R-1th subgroup in the Sth calculation group, the second calculation unit calculates the color parameters of each particle in the Rth subgroup of the S+1th calculation group, and the first calculation unit calculates the color parameters of each particle in the R+Yth subgroup of the Sth calculation group in parallel, wherein the calculation of the color parameters of each particle in the Rth subgroup of the S+1th calculation group is independent of the calculation result of the color parameters of each particle in the R+Yth subgroup of the Sth calculation group; and M, N, P, Q, S, R and Y are all positive integers, and Y is equal to 2.

2. The method according to claim 1, characterized in that The number of rows of particles included in each of the first P-1 of the P calculation groups is greater than or equal to X, and the Pth calculation group includes MX(P-1) rows of particles, where X is a positive integer.

3. The method according to claim 2, characterized in that The last row of each subgroup in each calculation group in the first P-1 calculation groups includes at least Z particles.

4. The method according to claim 3, characterized in that: In each subgroup in each calculation group in the first P-1 calculation groups, the color parameters of the particles in the Jth row and the Kth column are calculated based on the calculation results of the color parameters of the particles in the J-J1th row and the K-K2th column; J1 takes values ​​of 1, 2, and 3 respectively; K2 takes values ​​of 1, 2, 3, 0, -1, -2, and -3 respectively; J and K are both positive integers.

5. The method according to claim 4, characterized in that Z is equal to 4.

6. The method according to claim 5, characterized in that M equals 70, N equals 76, and Q equals 6.

7. The method according to claim 6, characterized in that Each of the first P-1 calculation groups includes the following 6 groups: the 1st subgroup is composed of particles in columns 1 to 13 of the first row, columns 1 to 10 of the second row, columns 1 to 7 of the third row, and columns 1 to 4 of the fourth row in the calculation group; each row in each of subgroups 2 to 5 includes 13 adjacent particles; the 6th subgroup is composed of particles in columns 67 to 76 of the first row, columns 64 to 76 of the second row, columns 61 to 76 of the third row, and columns 58 to 76 of the fourth row in the calculation group.

8. The method according to claim 7, characterized in that The color parameter of each particle is the brightness component.

9. The method according to claim 5, characterized in that M equals 35, N equals 38, and Q equals 6.

10. The method according to claim 9, characterized in that Each of the first P-1 calculation groups includes the following three groups: the first subgroup is composed of particles in columns 1 to 13 of the first row, columns 1 to 10 of the second row, columns 1 to 7 of the third row, and columns 1 to 4 of the fourth row in the calculation group; each row in the second subgroup includes 13 adjacent particles; the third subgroup is composed of particles in columns 27 to 38 of the first row, columns 24 to 38 of the second row, columns 21 to 38 of the third row, and columns 19 to 38 of the fourth row in the calculation group.

11. The method according to claim 10, characterized in that The color parameter of each particle is the chromaticity component.

12. A parameter processing device, characterized in that: The device comprises: a division unit and a plurality of calculation units: The division unit is used to divide the particles in the film particle block of M rows×N columns into P calculation groups according to every 4 rows, and each calculation group includes Q subgroups; The multiple calculation units are used to calculate the color parameters of each particle in each calculation group in parallel, wherein the color parameters of each particle in the Sth calculation group are calculated by the first calculation unit, and the color parameters of each particle in the S+1th calculation group are calculated by the second calculation unit, and the first calculation unit and the second calculation unit are respectively one of the multiple calculation units; and After the first calculation unit completes the calculation of the color parameters of each particle in the Y+R-1th subgroup in the Sth calculation group, the second calculation unit calculates the color parameters of each particle in the Rth subgroup of the S+1th calculation group, and the first calculation unit calculates the color parameters of each particle in the R+Yth subgroup of the Sth calculation group in parallel, wherein the calculation of the color parameters of each particle in the Rth subgroup of the S+1th calculation group is independent of the calculation result of the color parameters of each particle in the R+Yth subgroup of the Sth calculation group; and M, N, P, Q, S, R and Y are all positive integers, and Y is equal to 2.

13. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores instructions, which, when executed on an electronic device, enable the electronic device to execute the parameter processing method according to any one of claims 1 to 11.

14. An electronic device, characterized in that: include: a memory for storing instructions to be executed by one or more processors of the electronic device, and Processor, when the instruction is executed by one or more processors, the processor is used to execute the parameter processing method according to any one of claims 1-11.

Citation Information

Patent Citations

  • Film grain simulation for normal play and trick mode play for video playback systems

    CN101057503A

  • Adaptive pretreatment method for AV1 synthetic film particles

    CN112381744A