CN107613301B - Image processing method and device - Google Patents

Image processing method and device Download PDF

Info

Publication number
CN107613301B
CN107613301B CN201710977529.2A CN201710977529A CN107613301B CN 107613301 B CN107613301 B CN 107613301B CN 201710977529 A CN201710977529 A CN 201710977529A CN 107613301 B CN107613301 B CN 107613301B
Authority
CN
China
Prior art keywords
current
original image
macro block
row
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710977529.2A
Other languages
Chinese (zh)
Other versions
CN107613301A (en
Inventor
范宝余
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN201710977529.2A priority Critical patent/CN107613301B/en
Publication of CN107613301A publication Critical patent/CN107613301A/en
Application granted granted Critical
Publication of CN107613301B publication Critical patent/CN107613301B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention discloses an image processing method and device, wherein the method comprises the following steps: acquiring an original image, wherein the original image comprises a plurality of original image macro blocks obtained by dividing the original image in advance; and processing based on the original image to obtain a corresponding new image comprising a plurality of new image macro blocks, wherein the new image macro blocks comprise original image macro blocks and preset filling macro blocks with data of 0, at least one row in the new image comprises a plurality of original image macro blocks, and each original image macro block is positioned in the new image at a row behind each original image macro block on which the original image macro block depends in the original image. According to the technical scheme disclosed by the application, the original image is processed to obtain the new image, and each original image macro block is positioned in the row behind each original image macro block on which the original image macro block depends in the new image, namely, no column dependence exists among original image macro blocks in the same row, so that the parallel processing of the WebP algorithm can be accelerated, and the image processing time can be shortened.

Description

Image processing method and device
Technical Field
The present invention relates to the field of image compression technologies, and in particular, to an image processing method and apparatus.
Background
WebP is a new picture compression format proposed by Goole, and is used by large Internet companies at home and abroad due to the higher compression ratio.
Referring to fig. 1, which shows a main flowchart of a WebP lossy compression algorithm in the prior art, image YUV data is first divided into macroblocks, where there is dependency between the divided macroblocks (i.e., there is a restriction on the order of encoding the macroblocks). Fig. 2 shows a dependency graph among macroblocks included in an image obtained in the prior art, where a horizontal arrow indicates column dependency, that is, if a current macroblock is to be encoded, data of a macroblock on the left side of the current macroblock needs to be known, that is, it needs to be ensured that the macroblock on the left side of the current macroblock is already encoded, and corresponding to fig. 1, it is required that the macroblock on the left side of the current macroblock is already processed after macroblock prediction is performed from macroblock prediction to macroblock boundary update (that is, the macroblock on the left side of the current macroblock is completely processed), so that encoding of the current macroblock can be performed; the vertical arrows indicate row dependencies, that is, if the current macroblock is to be encoded, it is necessary to know data of the upper side macroblock of the current macroblock, that is, it is necessary to ensure that the upper side macroblock of the current macroblock is encoded, similar to the above-mentioned column dependencies, that is, corresponding to fig. 1, it is necessary that the upper side macroblock of the current macroblock is encoded after the macroblock prediction has been performed to update the macroblock boundary.
As can be seen from the above analysis, when the current macroblock needs to be encoded, it is required to ensure that all the left, upper, and upper-left macroblocks of the current macroblock have been encoded, so that the current macroblock can be encoded. When the macroblocks are coded in rows, due to column dependency, after a macroblock is processed in a column-dependent manner, the macroblock on the right side of the macroblock can be subjected to subsequent operation from macroblock prediction, and other macroblocks are similar to the macroblock, and the next operation can not be performed until all macroblocks are processed, so that the time spent on processing the macroblock is long, and the parallelism of the WebP algorithm is low.
In summary, the WebP algorithm for implementing image encoding and decoding in the prior art has a strong data dependency between macroblocks when processing the macroblocks, thereby causing the problems of long image processing time and low parallelism.
Disclosure of Invention
In view of the above, an object of the present invention is to provide an image processing method and apparatus, so as to solve the problem that a WebP algorithm for implementing image encoding and decoding in the prior art has strong data dependency between macroblocks when processing the macroblocks, thereby resulting in a longer image processing time and lower parallelism.
In order to achieve the above purpose, the invention provides the following technical scheme:
an image processing method comprising:
acquiring an original image, wherein the original image comprises a plurality of original image macro blocks obtained by dividing the original image in advance;
and processing based on the original image to obtain a corresponding new image comprising a plurality of new image macro blocks, wherein the new image macro blocks comprise original image macro blocks and preset filling macro blocks with data of 0, at least one row in the new image comprises a plurality of original image macro blocks, and each original image macro block is positioned in the new image at a row behind each original image macro block on which the original image macro block depends in the original image.
Preferably, the obtaining of a new image including a plurality of new image macro blocks based on the original image processing includes:
and processing based on the original image to obtain a corresponding new image containing a plurality of new image macro blocks, wherein the row of each row of original image macro blocks in the new image is the same as the row of the original image, the arrangement of the original image macro blocks contained in any row is the same as that in the original image in the new image, the position of the original image macro block in the first row in the new image is the same as that in the original image, and each of the rest rows of original image macro blocks in the new image is shifted down by one macro block compared with the original image macro blocks in the previous row.
Preferably, the obtaining of a new image including a plurality of new image macro blocks based on the original image processing includes:
obtaining a corresponding new image based on the number of the rows and the number of the columns of the original image, wherein the number of the columns of the new image is equal to the number of the columns of the original image, and the number of the rows of the new image is equal to a difference value between the sum of the number of the columns and the number of the rows of the original image and 1;
sequentially determining each new image macro block in the new image as a current macro block according to the sequence of the new image from the first line to the last line and from the first line to the last line in each line, and judging the type of the current macro block;
if the type of the current macro block is the macro block filled to the upper right side or the macro block filled to the lower left side, determining that the current macro block is a filled macro block;
and if the type of the current macro block is the original image macro block, determining that the data which the current macro block should have is the data which corresponds to the original image macro block in the original image.
Preferably, the determining that the type of the current macroblock is a padding macroblock or an original image macroblock includes:
acquiring the minimum value of the difference value between the row number of the current macro block and the column number of the original image and 1, and if the column number of the current macro block is greater than the minimum value and is less than or equal to the column number of the new image, determining that the type of the current macro block is a filling macro block filled to the upper right side;
if the number of columns where the current macro block is located is greater than or equal to 0 and is less than or equal to the difference value between the number of rows where the current macro block is located and the number of rows of the original image, determining that the type of the current macro block is a filling macro block filled to the lower left side;
and if the number of the columns where the current macro block is located is larger than the difference value between the number of the rows where the current macro block is located and the number of the rows of the original image and is smaller than or equal to the minimum value, determining that the type of the current macro block is the original image macro block.
Preferably, the determining an original image macro block corresponding to the original image macro block in each new image in the original image includes:
determining the current row number minus 1 as the current row number, and the current column number plus 1 as the current column number;
judging whether the obtained current row number is equal to-1 or the current column number is equal to the column number of the new image, if the current row number is not equal to-1 and the current column number is not equal to the column number of the new image, outputting the numerical value of the current row number and the numerical value of the current column number, determining the data of the numerical value of the current row number and the numerical value of the current column number at the corresponding positions in the original image as the data which the (N + 1) th original image macro block in the corresponding new image should have, wherein N is the number of times of executing the step of determining that the current row number minus 1 is the current row number and the current column number plus 1 is the current column number, the (N + 1) th original image macro block is the (N + 1) th original image macro block determined according to the sequence of determining the current macro block, and returning to the step of determining that the current row number minus 1 is the current row number and the current, until determining the data of each original image macro block in the new image;
if the current row number is equal to-1 or/and the current column number is equal to the column number of the new image, determining that the iteration row number plus 1 is the iteration row number, judging whether the iteration row number is smaller than the row number of the new image, if the iteration row number is smaller than the row number of the new image, setting the iteration column number to be equal to 0, the current row number to be equal to the iteration row number and the current column number to be equal to 0, and returning to the step of outputting the numerical value of the current row number and the numerical value of the current column number; if the iteration row number is not less than the row number of the new image, judging whether the iteration row number is less than the column number of the new image, if the iteration row number is less than the column number of the new image, setting the iteration row number to be equal to the row number of the new image, the current row number to be equal to the iteration row number minus 1 and the current column number to be equal to the iteration column number, and returning to the step of outputting the numerical value of the current row number and the numerical value of the current column number; if the iteration row number is not less than the column number of the new image, returning to the step of outputting the numerical value of the current row number and the numerical value of the current column number;
and the initial values of the current row number, the current column number, the iteration row number and the iteration column number are all 0.
An image processing apparatus comprising:
a first obtaining module to: acquiring an original image, wherein the original image comprises a plurality of original image macro blocks obtained by dividing the original image in advance;
a second obtaining module to: and processing based on the original image to obtain a corresponding new image comprising a plurality of new image macro blocks, wherein the new image macro blocks comprise original image macro blocks and preset filling macro blocks with data of 0, at least one row in the new image comprises a plurality of original image macro blocks, and each original image macro block is positioned in the new image at a row behind each original image macro block on which the original image macro block depends in the original image.
Preferably, the second obtaining module includes:
an acquisition unit configured to: and processing based on the original image to obtain a corresponding new image containing a plurality of new image macro blocks, wherein the row of each row of original image macro blocks in the new image is the same as the row of the original image, the arrangement of the original image macro blocks contained in any row is the same as that in the original image in the new image, the position of the original image macro block in the first row in the new image is the same as that in the original image, and each of the rest rows of original image macro blocks in the new image is shifted down by one macro block compared with the original image macro blocks in the previous row.
Preferably, the acquiring unit includes:
a determination subunit to: obtaining a corresponding new image based on the number of the rows and the number of the columns of the original image, wherein the number of the columns of the new image is equal to the number of the columns of the original image, and the number of the rows of the new image is equal to a difference value between the sum of the number of the columns and the number of the rows of the original image and 1; sequentially determining each new image macro block in the new image as a current macro block according to the sequence of the new image from the first line to the last line and from the first line to the last line in each line, and judging the type of the current macro block; if the type of the current macro block is the macro block filled to the upper right side or the macro block filled to the lower left side, determining that the current macro block is a filled macro block; and if the type of the current macro block is the original image macro block, determining that the data which the current macro block should have is the data which corresponds to the original image macro block in the original image.
Preferably, the determining subunit includes:
a judging subunit configured to: acquiring the minimum value of the difference value between the row number of the current macro block and the column number of the original image and 1, and if the column number of the current macro block is greater than the minimum value and is less than or equal to the column number of the new image, determining that the type of the current macro block is a filling macro block filled to the upper right side; if the number of columns where the current macro block is located is greater than or equal to 0 and is less than or equal to the difference value between the number of rows where the current macro block is located and the number of rows of the original image, determining that the type of the current macro block is a filling macro block filled to the lower left side; and if the number of the columns where the current macro block is located is larger than the difference value between the number of the rows where the current macro block is located and the number of the rows of the original image and is smaller than or equal to the minimum value, determining that the type of the current macro block is the original image macro block.
Preferably, the determining subunit includes:
an output subunit to: determining the current row number minus 1 as the current row number, and the current column number plus 1 as the current column number; judging whether the obtained current row number is equal to-1 or the current column number is equal to the column number of the new image, if the current row number is not equal to-1 and the current column number is not equal to the column number of the new image, outputting the numerical value of the current row number and the numerical value of the current column number, determining the data of the numerical value of the current row number and the numerical value of the current column number at the corresponding positions in the original image as the data which the (N + 1) th original image macro block in the corresponding new image should have, wherein N is the number of times of executing the step of determining that the current row number minus 1 is the current row number and the current column number plus 1 is the current column number, the (N + 1) th original image macro block is the (N + 1) th original image macro block determined according to the sequence of determining the current macro block, and returning to the step of determining that the current row number minus 1 is the current row number and the current, until determining the data of each original image macro block in the new image; if the current row number is equal to-1 or/and the current column number is equal to the column number of the new image, determining that the iteration row number plus 1 is the iteration row number, judging whether the iteration row number is smaller than the row number of the new image, if the iteration row number is smaller than the row number of the new image, setting the iteration column number to be equal to 0, the current row number to be equal to the iteration row number and the current column number to be equal to 0, and returning to the step of outputting the numerical value of the current row number and the numerical value of the current column number; if the iteration row number is not less than the row number of the new image, judging whether the iteration row number is less than the column number of the new image, if the iteration row number is less than the column number of the new image, setting the iteration row number to be equal to the row number of the new image, the current row number to be equal to the iteration row number minus 1 and the current column number to be equal to the iteration column number, and returning to the step of outputting the numerical value of the current row number and the numerical value of the current column number; if the iteration row number is not less than the column number of the new image, returning to the step of outputting the numerical value of the current row number and the numerical value of the current column number; and the initial values of the current row number, the current column number, the iteration row number and the iteration column number are all 0.
The invention provides an image processing method and device, wherein the method comprises the following steps: acquiring an original image, wherein the original image comprises a plurality of original image macro blocks obtained by dividing the original image in advance; and processing based on the original image to obtain a corresponding new image comprising a plurality of new image macro blocks, wherein the new image macro blocks comprise original image macro blocks and preset filling macro blocks with data of 0, at least one row in the new image comprises a plurality of original image macro blocks, and each original image macro block is positioned in the new image at a row behind each original image macro block on which the original image macro block depends in the original image. The technical solution disclosed in the present application is to first obtain an original image, where the original image includes a plurality of original image macro blocks obtained by dividing the original image in advance, and then obtain a new image corresponding to the original image and including a plurality of new image macro blocks based on the original image, where the new image macro blocks include the original image macro blocks and a padding macro block with data of 0, and in order to implement parallel computation of the WebP algorithm, it is necessary to ensure that at least one row in the new image includes a plurality of original image macro blocks, and in the new image macro blocks, each original image macro block is located in a row behind each original image macro block on which the original image macro block depends in the original image, that is, there is no original column dependency between original image macro blocks in the same row, that is, there is no restriction on an encoding sequence between macro blocks in the same row, at this time, if the macro blocks in the same row are encoded, when the first macro block finishes the macro block prediction and enters the next step, the second macro block in the same row can enter the macro block prediction, namely when the macro block being processed performs the next step, the subsequent macro blocks can be processed immediately, so that the WebP algorithm can process a plurality of macro blocks in parallel, and the next macro block can start processing instead of waiting for the completion of the processing of the macro block being processed like the prior art, thereby improving the parallelism of the algorithm and shortening the time of image processing.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the provided drawings without creative efforts.
FIG. 1 is a main flow chart of a WebP lossy compression algorithm in the prior art;
FIG. 2 is a graph illustrating the dependency between macroblocks included in a resulting image according to the prior art;
FIG. 3 is a flowchart of an image processing method according to an embodiment of the present invention;
fig. 4 is a graph illustrating dependency between original image macroblocks included in a new image obtained by processing the image shown in fig. 2 according to an embodiment of the present invention;
fig. 5 is a flowchart of an embodiment of determining an original image macro block corresponding to an original image macro block in each new image according to the present invention;
fig. 6 is a schematic diagram illustrating an arrangement of original image macro blocks included in an original image according to an embodiment of the present invention;
fig. 7 is a schematic diagram illustrating arrangement of new image macro blocks included in a new image obtained corresponding to the original image of fig. 6;
fig. 8 is a schematic structural diagram of an image processing apparatus according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Referring to fig. 3, a flow chart of an image processing method is shown, which may include:
s11: the method comprises the steps of obtaining an original image, wherein the original image comprises a plurality of original image macro blocks obtained by dividing the original image in advance.
In an embodiment of the present invention, an execution subject of the foregoing technical solution may be an image processing apparatus provided in a corresponding embodiment of the present invention. When an image needs to be coded and decoded, firstly, an original image needs to be acquired, and the acquired original image is divided in advance to obtain a plurality of original image macro blocks, wherein the division of the original image is consistent with the realization principle of dividing the image in the prior art, and the original image can be divided according to the pixel size of the original image or other information of the original image.
S12: and processing based on the original image to obtain a corresponding new image comprising a plurality of new image macro blocks, wherein the new image macro blocks comprise original image macro blocks and preset filling macro blocks with data of 0, at least one row in the new image comprises a plurality of original image macro blocks, and each original image macro block is positioned in the new image at a row behind each original image macro block on which the original image macro block depends in the original image.
After the original image is acquired, a series of processing may be performed on the original image to obtain a corresponding new image including a plurality of new image macro blocks, where the new image macro blocks include original image macro blocks in the original image and filling macro blocks with preset data of 0, where the filling macro blocks serve to: the number of macro blocks in each row is ensured to be consistent, namely, the program codes of the macro blocks in each row are ensured to be the same, and the extra workload caused by different program codes is reduced; and in order to realize the parallel computation of the WebP algorithm, at least one row in the new image needs to contain a plurality of original image macro blocks, i.e. in the new image it is ensured that a plurality of macro blocks may exist per line, and that, in the new image, each macro block of the original image is located in a line following each macro block of the original image on which the macro block of the original image depends in the original image, thus, it can be realized that there is no column dependency between macroblocks in the same row, that is, there is no coding order limitation between macroblocks in the same row, and at this time, when WebP algorithm processing is carried out on macro blocks in the same row in a new image, when the first macro block finishes macro block prediction and carries out the next procedure, the second macro block in the same row can enter a macro block prediction procedure, namely, the macro blocks in the same row can be processed immediately according to the arrangement sequence, and the pipeline level acceleration of the macro blocks is realized, so that the parallelism of the algorithm is improved, and the image processing time is shortened. In addition, the technical scheme provided by the embodiment of the invention is not only suitable for the WebP algorithm, but also suitable for other scenes which can meet the requirement for smoothly realizing the technical scheme provided by the embodiment of the invention, and is within the protection scope of the invention.
It should be noted that the parallel algorithm mentioned above can be implemented on an FPGA (Field-Programmable gate array), a GPU (Graphics Processing Unit), and other architectures.
The technical solution disclosed in the present application is to first obtain an original image, where the original image includes a plurality of original image macro blocks obtained by dividing the original image in advance, and then obtain a new image corresponding to the original image and including a plurality of new image macro blocks based on the original image, where the new image macro blocks include the original image macro blocks and a padding macro block with data of 0, and in order to implement parallel computation of the WebP algorithm, it is necessary to ensure that at least one row in the new image includes a plurality of original image macro blocks, and in the new image macro blocks, each original image macro block is located in a row behind each original image macro block on which the original image macro block depends in the original image, that is, there is no original column dependency between original image macro blocks in the same row, that is, there is no restriction on an encoding sequence between macro blocks in the same row, at this time, if the macro blocks in the same row are encoded, when the first macro block finishes the macro block prediction and enters the next step, the second macro block in the same row can enter the macro block prediction, namely when the macro block being processed performs the next step, the subsequent macro blocks can be processed immediately, so that the WebP algorithm can process a plurality of macro blocks in parallel, and the next macro block can start processing instead of waiting for the completion of the processing of the macro block being processed like the prior art, thereby improving the parallelism of the algorithm and shortening the time of image processing.
An image processing method provided in an embodiment of the present invention obtains a corresponding new image including a plurality of new image macro blocks based on an original image, and may include:
and processing based on the original image to obtain a corresponding new image containing a plurality of new image macro blocks, wherein the row of each row of original image macro blocks in the new image is the same as the row in the original image, the arrangement of the original image macro blocks contained in any row in the new image is the same as that in the original image, the position of the original image macro block in the first row in the new image is the same as that in the original image, and the rest of each row of original image macro blocks in the new image are shifted down by one macro block compared with the original image macro blocks in the previous row.
In order to weaken the column dependency between macro blocks in the same row, each of the other macro blocks in each column of the original image is shifted down by one macro block in the new image compared with the macro block in the previous row in the original image, and at this time, the macro block on which each macro block of the original image depends can be located in a row before the macro block of the original image, that is, the macro block of the original image does not depend on any macro block in the same row. Therefore, when the original image macro block is coded, the original image macro block on which the original image macro block depends can be guaranteed to be completely coded, and parallel acceleration of the algorithm is achieved.
As a specific embodiment, the foregoing technical solution may be described, referring to fig. 4, which shows a dependency graph between original image macro blocks included in a new image obtained after processing the image shown in fig. 2, where a macro block in a dark color portion represents an original image macro block, and a macro block in a light color portion represents a filling macro block, and as can be seen from the figure, the original image macro blocks on which the original image macro blocks depend are all located in two upper rows of the original image macro block, and there is no dependency relationship between the same rows.
An image processing method provided in an embodiment of the present invention obtains a corresponding new image including a plurality of new image macro blocks based on an original image, and may include:
obtaining a corresponding new image based on the number of the rows and the number of the columns of the original image, wherein the number of the columns of the new image is equal to the number of the columns of the original image, and the number of the rows of the new image is equal to the difference between the sum of the number of the columns and the number of the rows of the original image and 1;
sequentially determining each new image macro block in the new image as a current macro block according to the sequence of the new image from the first line to the last line and from the first line to the last line in each line, and judging the type of the current macro block;
if the type of the current macro block is the macro block filled to the upper right side or the macro block filled to the lower left side, determining that the current macro block is a filled macro block;
and if the type of the current macro block is the original image macro block, determining that the data which the current macro block should have is the data which corresponds to the original image macro block in the original image.
When the original image is virtually rotated, the corresponding image virtual rotation algorithm may be: and counting the number of the rows and the number of the columns of the original image, and obtaining the number of the columns of the new image after virtual rotation which is equal to the number of the columns of the original image based on the number of the rows and the number of the columns of the original image, wherein the number of the rows of the new image is equal to the difference between the sum of the number of the columns and the number of the rows of the original image and 1. For the new image obtained by virtual rotation, sequentially determining each new image macro block as the current macro block according to the sequence of the first row, the second row from the first row, … …, and the last row (i.e. from the first row to the last row and from the first row to the last row in each row), determining that the current macro block is of the type, if the current macro block is a macro block filled to the upper right side or a macro block filled to the lower left side, determining that the current macro block is a filled macro block, and determining that the data that the current macro block should have is 0 according to the above-mentioned method; and if the macro block of the original image is the macro block of the original image, determining that the data which the current macro block should have is the data which corresponds to the macro block of the original image in the original image. The essence of correspondingly calculating the original image to obtain the corresponding new image in the present application is to implement virtual rotation of the original image through the corresponding calculation so as to determine the position of each original image macro block in the original image, and then implement subsequent encoding and other processing on the original image macro block based on the obtained position. The virtual rotation and the virtual new image are virtual, the new image is not really rotated and does not really exist, namely the effect of obtaining the new image by corresponding rotation is realized only through corresponding calculation, the position of each original image macro block in the virtual new image is determined (namely, each original image macro block is subjected to subsequent coding and other processing according to the sequence), the original image is not really rotated and the corresponding new image is not really obtained, and therefore the operation time for really rotating the original image is shortened, and the memory resources occupied by the new image obtained after the original image is really rotated are reduced.
The image processing method provided by the embodiment of the present invention determines that the type of the current macro block is a filler macro block or an original image macro block, and may include:
acquiring the minimum value of the difference value between the row number of the current macro block and the column number of the original image and 1, and if the column number of the current macro block is larger than the minimum value and is smaller than or equal to the column number of the new image, determining that the type of the current macro block is a filling macro block filled to the upper right side;
if the number of the columns where the current macro block is located is greater than or equal to 0 and is less than or equal to the difference value between the number of the rows where the current macro block is located and the number of the rows of the original image, determining that the type of the current macro block is a filling macro block filled to the lower left side;
and if the number of the columns where the current macro block is located is larger than the difference value between the number of the lines where the current macro block is located and the number of the lines of the original image and is smaller than or equal to the minimum value, determining that the type of the current macro block is the macro block of the original image.
In the above-mentioned virtual rotation algorithm of an image, a specific implementation manner for determining the type of the current macroblock as a padding macroblock or an original image macroblock may be as follows: after the current macro block is determined, acquiring the minimum value between the row number of the current macro block and the difference value between the column number of the original image and 1, and if the column number of the current macro block is larger than the minimum value and smaller than or equal to the column number of the new image, determining that the type of the current macro block is a filling macro block filled to the upper right side; if the number of the columns where the current macro block is located is greater than or equal to 0 and is less than or equal to the difference value between the number of the rows where the current macro block is located and the number of the rows of the original image, determining that the type of the current macro block is a filling macro block filled to the lower left side; if the number of columns where the current macro block is located is greater than the difference between the number of rows where the current macro block is located and the number of rows of the original image and is less than or equal to the minimum value, determining that the type of the current macro block is the original image macro block, wherein the number of rows where the current macro block is located and the number of columns where the current macro block is located are both calculated from 0 according to the arrangement of macro blocks in the new image, namely the number of rows where the current macro block is located in the first row is 0, the number of columns where the current macro block is located in the first column is 0, and the number of rows and columns where the current macro block is located determined subsequently is anal. In this way, the type of each current macroblock in the new image resulting from the virtual rotation can be accurately determined.
An image processing method provided in an embodiment of the present invention determines an original image macro block corresponding to an original image macro block in each new image in an original image, and may include:
determining the current row number minus 1 as the current row number, and the current column number plus 1 as the current column number;
determining whether the current row number is equal to-1 or the current column number is equal to the column number of the new image, if the current row number is not equal to-1 and the current column number is not equal to the column number of the new image, outputting the numerical value of the current row number and the numerical value of the current column number, determining the data of the numerical value of the current row number and the numerical value of the current column number at the corresponding position in the original image as the data which the N +1 th original image macro block in the corresponding new image should have, wherein N is the number of times that the steps of determining the current row number minus 1 as the current row number and the current column number plus 1 as the current column number have been performed, the N +1 th original image macro block is the N +1 th original image macro block determined according to the order in which the current macro blocks are determined, returning to the step of determining that the current row number minus 1 is the current row number and the current column number plus 1 is the current column number until the data which each original image macro block in the new image is required to have is determined;
if the current row number is equal to-1 or/and the current column number is equal to the column number of the new image, determining that the iteration row number plus 1 is the iteration row number, judging whether the iteration row number is smaller than the row number of the new image, if the iteration row number is smaller than the row number of the new image, setting the iteration column number to be equal to 0, the current row number to be equal to the iteration row number and the current column number to be equal to 0, and returning to the step of outputting the numerical value of the current row number and the numerical value of the current column number; if the iteration row number is not less than the row number of the new image, judging whether the iteration row number is less than the column number of the new image, if the iteration row number is less than the column number of the new image, setting the iteration row number to be equal to the row number of the new image, setting the current row number to be equal to the iteration row number minus 1, and setting the current column number to be equal to the iteration column number, and returning to the step of outputting the numerical value of the current row number and the numerical value of the current column number; if the iteration row number is not less than the column number of the new image, returning to the step of outputting the numerical value of the current row number and the numerical value of the current column number;
and the initial values of the current row number, the current column number, the iteration row number and the iteration column number are all 0.
In the process of virtually rotating the original image by using the image virtualization algorithm, if the type of the current macro block is the original image macro block, it is determined that the data that the current macro block should have is the data of the original image macro block corresponding to the original image macro block in the original image, where in order to determine the data that the current macro block should have, it is necessary to determine the original image macro block that has a corresponding relationship with the current macro block in the original image, that is, it is necessary to determine a corresponding relationship between each original image macro block in the new image and each original image macro block in the original image, specifically, the specific process of determining the original image macro block corresponding to the original image macro block in each new image in the original image may include: starting from the first determined original image macro block, determining that the current row number minus 1 is the current row number, and the current column number plus 1 is the current column number; judging whether the obtained current row number is equal to-1 or the current column number is equal to the column number of a new image, if the current row number is not equal to-1 and the current column number is not equal to the column number of a macro block of the new image, outputting the numerical value of the current column number and the numerical value of the current column number, determining the data of the numerical value of the current row number and the data of the corresponding position of the numerical value of the current column number in the original image as the data which an N +1 original image macro block in the corresponding new image should have, wherein N is the number of times of the step of determining that the current row number minus 1 is the current column number and the current column number plus 1 is the current column number, the N +1 original image macro block is the N +1 original image macro block determined according to the sequence of the current macro block, and after determining the data which the macro block of the original image should have, returning to the step of determining that the current row number minus 1 is the current row number and the current column, until determining the data of each original image macro block in the new image;
if the current row number is equal to-1 or/and the current column number is equal to the column number of the new image, determining that the iteration row number plus 1 is the iteration row number, judging whether the iteration row number is smaller than the row number of the new image, if the iteration row number is smaller than the row number of the new image, setting the iteration column number to be equal to 0, the current row number to be equal to the iteration row number and the current column number to be equal to 0, and returning to the step of outputting the numerical value of the current row number and the numerical value of the current column number; if the iteration row number is not less than the row number of the new image, judging whether the iteration row number is less than the column number of the new image, if the iteration row number is less than the row number of the new image, setting the iteration row number to be equal to the row number of the new image, setting the current row number to be equal to the iteration row number minus 1, and setting the current column number to be equal to the iteration column number, and returning to the step of outputting the numerical value of the current row number and the numerical value of the current column; if the iteration row number is not less than the column number of the new image, returning to the step of outputting the numerical value of the current row number and the numerical value of the current column number; the initial values of the current row number, the current column number, the iteration row number, and the iteration column number are all 0, and the step of returning and executing the output of the numerical value of the current row number and the numerical value of the current column number and the subsequent processes are described in detail when the above first occurrence occurs, and are not described again here.
Based on the above processing of the original image, it is known that the first macro block in the new image is the original image macro block, based on the initial value of the current row number and the current column number being 0, it may be determined that the data that the first original image macro block in the new image should have is the data that the macro block at the position of the 0 th row and the 0 th column in the original image should have, then, the data of each macro block in the original image may be traversed according to the above mentioned flow, and the data of the corresponding macro block is determined as the data that the corresponding original image macro block in the new image should have by virtually rotating the original image, and a specific flow of determining the data that each original image macro block in the new image should have is shown in fig. 5, which shows a flow chart of a specific embodiment of determining the original image macro block corresponding to the original image macro block in each new image in the original image according to the embodiment of the present invention, wherein, cur _ row and cur _ col respectively represent the number of rows and the number of columns of a current row, map _ row and map _ col respectively represent the number of iteration rows and the number of iteration columns, row _ num and col _ num respectively represent the number of rows and the number of columns of a new image, and initial values of cur _ row, cur _ col, map _ row and map _ col are all 0.
As an embodiment, please refer to fig. 6, which is a schematic arrangement diagram of original image macro blocks included in an original image in an embodiment of the present invention, where the number of rows and the number of columns from which the original image can be obtained are 4, and the number of rows and the number of columns from which the original image can be obtained are 5, and the number of rows and the number of columns from which the new image can be obtained are 8 and the number of columns from a relationship between the number of rows and the number of columns of the new image and the number of rows and the number of columns of the original image. With the above-mentioned solution, it is possible to simulate the rotation of the original image, in the new image, the macro blocks in the 0 th row and the 0 th column are determined as the current macro blocks, the type is judged as the original image macro block (the 1 st original image macro block) by the mentioned condition, and the 0 th row and the 0 th column are corresponded in the original image, it is known that the macro block at the 0 th row and 0 th column position in the new image should have the data of the macro block at the 0 th row and 0 th column position in the original image, the 1 st time of the above mentioned determination of the current row number minus 1 is the current row number, the process of adding 1 to the current column number is the current column number, the numerical value of the current row number is 1, the numerical value of the current column number is 0, at this time, the data of the original image at the corresponding position where the numerical value of the current row number is 1 and the numerical value of the current column number is 0 are the data which the 2 nd original image macro block in the corresponding new image should have. Then, the macro block of the 0 th row and the 1 st column in the new image is determined as the current macro block, the condition mentioned above is used to judge that the macro block is the filling macro block filled to the upper right side, the data corresponding to the macro block is 0, similarly, the data that the subsequent macro block should have is determined, until the current macro block of the 1 st row and the 0 th column is determined as the original image macro block (2 nd original image macro block), the flow of subtracting 1 from the number of the current row mentioned above is executed for the 2 nd time to determine the current row number, adding 1 to the number of the current column to be the number of the current row, outputting the number of the current row number is 0, the number of the current column is 1, at this time, the number of the current row number is 0, the number of the current column number is 1, the data corresponding to the 3 rd original image macro block in the new image is the data, and so on until the 7 th row in the new image is determined, the data that, The macroblock in column 4 (i.e., the last macroblock in the new image) should have the data. Finally, a schematic diagram of the arrangement of new image macro blocks included in a new image obtained corresponding to the original image of fig. 6 shown in fig. 7 is obtained.
An embodiment of the present invention further provides an image processing apparatus, as shown in fig. 8, which may include:
a first obtaining module 11, configured to: acquiring an original image, wherein the original image comprises a plurality of original image macro blocks obtained by dividing the original image in advance;
a second obtaining module 12, configured to: and processing based on the original image to obtain a corresponding new image comprising a plurality of new image macro blocks, wherein the new image macro blocks comprise original image macro blocks and preset filling macro blocks with data of 0, at least one row in the new image comprises a plurality of original image macro blocks, and each original image macro block is positioned in the new image at a row behind each original image macro block on which the original image macro block depends in the original image.
In an image processing apparatus provided in an embodiment of the present invention, the second obtaining module may include:
an acquisition unit configured to: and processing based on the original image to obtain a corresponding new image containing a plurality of new image macro blocks, wherein the row of each row of original image macro blocks in the new image is the same as the row in the original image, the arrangement of the original image macro blocks contained in any row in the new image is the same as that in the original image, the position of the original image macro block in the first row in the new image is the same as that in the original image, and the rest of each row of original image macro blocks in the new image are shifted down by one macro block compared with the original image macro blocks in the previous row.
In an image processing apparatus provided in an embodiment of the present invention, the obtaining unit may include:
a determination subunit to: obtaining a corresponding new image based on the number of the rows and the number of the columns of the original image, wherein the number of the columns of the new image is equal to the number of the columns of the original image, and the number of the rows of the new image is equal to the difference between the sum of the number of the columns and the number of the rows of the original image and 1; sequentially determining each new image macro block in the new image as a current macro block according to the sequence of the new image from the first line to the last line and from the first line to the last line in each line, and judging the type of the current macro block; if the type of the current macro block is the macro block filled to the upper right side or the macro block filled to the lower left side, determining that the current macro block is a filled macro block; and if the type of the current macro block is the original image macro block, determining that the data which the current macro block should have is the data which corresponds to the original image macro block in the original image.
In an image processing apparatus provided in an embodiment of the present invention, the determining subunit may include:
a judging subunit configured to: acquiring the minimum value of the difference value between the row number of the current macro block and the column number of the original image and 1, and if the column number of the current macro block is larger than the minimum value and is smaller than or equal to the column number of the new image, determining that the type of the current macro block is a filling macro block filled to the upper right side; if the number of the columns where the current macro block is located is greater than or equal to 0 and is less than or equal to the difference value between the number of the rows where the current macro block is located and the number of the rows of the original image, determining that the type of the current macro block is a filling macro block filled to the lower left side; and if the number of the columns where the current macro block is located is larger than the difference value between the number of the lines where the current macro block is located and the number of the lines of the original image and is smaller than or equal to the minimum value, determining that the type of the current macro block is the macro block of the original image.
In an image processing apparatus provided in an embodiment of the present invention, the determining subunit may include:
an output subunit to: determining the current row number minus 1 as the current row number, and the current column number plus 1 as the current column number; determining whether the current row number is equal to-1 or the current column number is equal to the column number of the new image, if the current row number is not equal to-1 and the current column number is not equal to the column number of the new image, outputting the numerical value of the current row number and the numerical value of the current column number, determining the data of the numerical value of the current row number and the numerical value of the current column number at the corresponding position in the original image as the data which the N +1 th original image macro block in the corresponding new image should have, wherein N is the number of times that the steps of determining the current row number minus 1 as the current row number and the current column number plus 1 as the current column number have been performed, the N +1 th original image macro block is the N +1 th original image macro block determined according to the order in which the current macro blocks are determined, returning to the step of determining that the current row number minus 1 is the current row number and the current column number plus 1 is the current column number until the data which each original image macro block in the new image is required to have is determined; if the current row number is equal to-1 or/and the current column number is equal to the column number of the new image, determining that the iteration row number plus 1 is the iteration row number, judging whether the iteration row number is smaller than the row number of the new image, if the iteration row number is smaller than the row number of the new image, setting the iteration column number to be equal to 0, the current row number to be equal to the iteration row number and the current column number to be equal to 0, and returning to the step of outputting the numerical value of the current row number and the numerical value of the current column number; if the iteration row number is not less than the row number of the new image, judging whether the iteration row number is less than the column number of the new image, if the iteration row number is less than the column number of the new image, setting the iteration row number to be equal to the row number of the new image, setting the current row number to be equal to the iteration row number minus 1, and setting the current column number to be equal to the iteration column number, and returning to the step of outputting the numerical value of the current row number and the numerical value of the current column number; if the iteration row number is not less than the column number of the new image, returning to the step of outputting the numerical value of the current row number and the numerical value of the current column number; and the initial values of the current row number, the current column number, the iteration row number and the iteration column number are all 0.
For a description of a relevant part in an image processing apparatus according to an embodiment of the present invention, reference is made to detailed descriptions of a corresponding part in an image processing method according to an embodiment of the present invention, which are not repeated herein. In addition, parts of the above technical solutions provided by the present invention, which are consistent with the implementation principles of the corresponding technical solutions in the prior art, are not described in detail so as to avoid redundant description.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (4)

1. An image processing method, comprising:
acquiring an original image, wherein the original image comprises a plurality of original image macro blocks obtained by dividing the original image in advance;
processing based on the original image to obtain a corresponding new image containing a plurality of new image macro blocks, wherein the new image macro blocks comprise original image macro blocks and preset filling macro blocks with data of 0, at least one row in the new image contains a plurality of original image macro blocks, and each original image macro block is positioned in the new image at a row behind each original image macro block on which the original image macro block depends in the original image;
processing based on the original image to obtain a corresponding new image containing a plurality of new image macro blocks, wherein the row of each row of original image macro blocks in the new image is the same as the row of the original image, the arrangement of the original image macro blocks contained in any row is the same in the new image as that in the original image, the position of the original image macro block in the first row in the new image is the same as that in the original image, and each of the rest rows of original image macro blocks in the new image is shifted down by one macro block compared with the original image macro blocks in the previous row;
obtaining a corresponding new image containing a plurality of new image macro blocks based on the original image processing, including:
obtaining a corresponding new image based on the number of the rows and the number of the columns of the original image, wherein the number of the columns of the new image is equal to the number of the columns of the original image, and the number of the rows of the new image is equal to a difference value between the sum of the number of the columns and the number of the rows of the original image and 1;
sequentially determining each new image macro block in the new image as a current macro block according to the sequence of the new image from the first line to the last line and from the first line to the last line in each line, and judging the type of the current macro block;
if the type of the current macro block is the macro block filled to the upper right side or the macro block filled to the lower left side, determining that the current macro block is a filled macro block;
if the type of the current macro block is the original image macro block, determining that the data which the current macro block should have is the data which corresponds to the original image macro block in the original image;
determining the type of the current macro block as a filling macro block or an original image macro block, including:
acquiring the minimum value of the difference value between the row number of the current macro block and the column number of the original image and 1, and if the column number of the current macro block is greater than the minimum value and is less than or equal to the column number of the new image, determining that the type of the current macro block is a filling macro block filled to the upper right side;
if the number of columns where the current macro block is located is greater than or equal to 0 and is less than or equal to the difference value between the number of rows where the current macro block is located and the number of rows of the original image, determining that the type of the current macro block is a filling macro block filled to the lower left side;
and if the number of the columns where the current macro block is located is larger than the difference value between the number of the rows where the current macro block is located and the number of the rows of the original image and is smaller than or equal to the minimum value, determining that the type of the current macro block is the original image macro block.
2. The method of claim 1, wherein determining the original image macro-blocks in the original image that correspond to the original image macro-blocks in each new image comprises:
determining the current row number minus 1 as the current row number, and the current column number plus 1 as the current column number;
judging whether the obtained current row number is equal to-1 or the current column number is equal to the column number of the new image, if the current row number is not equal to-1 and the current column number is not equal to the column number of the new image, outputting the numerical value of the current row number and the numerical value of the current column number, determining the data of the numerical value of the current row number and the numerical value of the current column number at the corresponding positions in the original image as the data which the (N + 1) th original image macro block in the corresponding new image should have, wherein N is the number of times of executing the step of determining that the current row number minus 1 is the current row number and the current column number plus 1 is the current column number, the (N + 1) th original image macro block is the (N + 1) th original image macro block determined according to the sequence of determining the current macro block, and returning to the step of determining that the current row number minus 1 is the current row number and the current, until determining the data of each original image macro block in the new image;
if the current row number is equal to-1 or/and the current column number is equal to the column number of the new image, determining that the iteration row number plus 1 is the iteration row number, judging whether the iteration row number is smaller than the row number of the new image, if the iteration row number is smaller than the row number of the new image, setting the iteration column number to be equal to 0, the current row number to be equal to the iteration row number and the current column number to be equal to 0, and returning to the step of outputting the numerical value of the current row number and the numerical value of the current column number; if the iteration row number is not less than the row number of the new image, judging whether the iteration row number is less than the column number of the new image, if the iteration row number is less than the column number of the new image, setting the iteration row number to be equal to the row number of the new image, the current row number to be equal to the iteration row number minus 1 and the current column number to be equal to the iteration column number, and returning to the step of outputting the numerical value of the current row number and the numerical value of the current column number; if the iteration row number is not less than the column number of the new image, returning to the step of outputting the numerical value of the current row number and the numerical value of the current column number;
and the initial values of the current row number, the current column number, the iteration row number and the iteration column number are all 0.
3. An image processing apparatus characterized by comprising:
a first obtaining module to: acquiring an original image, wherein the original image comprises a plurality of original image macro blocks obtained by dividing the original image in advance;
a second obtaining module to: processing based on the original image to obtain a corresponding new image containing a plurality of new image macro blocks, wherein the new image macro blocks comprise original image macro blocks and preset filling macro blocks with data of 0, at least one row in the new image contains a plurality of original image macro blocks, and each original image macro block is positioned in the new image at a row behind each original image macro block on which the original image macro block depends in the original image;
the second acquisition module includes:
an acquisition unit configured to: processing based on the original image to obtain a corresponding new image containing a plurality of new image macro blocks, wherein the row of each row of original image macro blocks in the new image is the same as the row of the original image, the arrangement of the original image macro blocks contained in any row is the same in the new image as that in the original image, the position of the original image macro block in the first row in the new image is the same as that in the original image, and each of the rest rows of original image macro blocks in the new image is shifted down by one macro block compared with the original image macro blocks in the previous row;
the acquisition unit includes:
a determination subunit to: obtaining a corresponding new image based on the number of the rows and the number of the columns of the original image, wherein the number of the columns of the new image is equal to the number of the columns of the original image, and the number of the rows of the new image is equal to a difference value between the sum of the number of the columns and the number of the rows of the original image and 1; sequentially determining each new image macro block in the new image as a current macro block according to the sequence of the new image from the first line to the last line and from the first line to the last line in each line, and judging the type of the current macro block; if the type of the current macro block is the macro block filled to the upper right side or the macro block filled to the lower left side, determining that the current macro block is a filled macro block; if the type of the current macro block is the original image macro block, determining that the data which the current macro block should have is the data which corresponds to the original image macro block in the original image;
the determining subunit includes:
a judging subunit configured to: acquiring the minimum value of the difference value between the row number of the current macro block and the column number of the original image and 1, and if the column number of the current macro block is greater than the minimum value and is less than or equal to the column number of the new image, determining that the type of the current macro block is a filling macro block filled to the upper right side; if the number of columns where the current macro block is located is greater than or equal to 0 and is less than or equal to the difference value between the number of rows where the current macro block is located and the number of rows of the original image, determining that the type of the current macro block is a filling macro block filled to the lower left side; and if the number of the columns where the current macro block is located is larger than the difference value between the number of the rows where the current macro block is located and the number of the rows of the original image and is smaller than or equal to the minimum value, determining that the type of the current macro block is the original image macro block.
4. The apparatus of claim 3, wherein the determining subunit comprises:
an output subunit to: determining the current row number minus 1 as the current row number, and the current column number plus 1 as the current column number; judging whether the obtained current row number is equal to-1 or the current column number is equal to the column number of the new image, if the current row number is not equal to-1 and the current column number is not equal to the column number of the new image, outputting the numerical value of the current row number and the numerical value of the current column number, determining the data of the numerical value of the current row number and the numerical value of the current column number at the corresponding positions in the original image as the data which the (N + 1) th original image macro block in the corresponding new image should have, wherein N is the number of times of executing the step of determining that the current row number minus 1 is the current row number and the current column number plus 1 is the current column number, the (N + 1) th original image macro block is the (N + 1) th original image macro block determined according to the sequence of determining the current macro block, and returning to the step of determining that the current row number minus 1 is the current row number and the current, until determining the data of each original image macro block in the new image; if the current row number is equal to-1 or/and the current column number is equal to the column number of the new image, determining that the iteration row number plus 1 is the iteration row number, judging whether the iteration row number is smaller than the row number of the new image, if the iteration row number is smaller than the row number of the new image, setting the iteration column number to be equal to 0, the current row number to be equal to the iteration row number and the current column number to be equal to 0, and returning to the step of outputting the numerical value of the current row number and the numerical value of the current column number; if the iteration row number is not less than the row number of the new image, judging whether the iteration row number is less than the column number of the new image, if the iteration row number is less than the column number of the new image, setting the iteration row number to be equal to the row number of the new image, the current row number to be equal to the iteration row number minus 1 and the current column number to be equal to the iteration column number, and returning to the step of outputting the numerical value of the current row number and the numerical value of the current column number; if the iteration row number is not less than the column number of the new image, returning to the step of outputting the numerical value of the current row number and the numerical value of the current column number; and the initial values of the current row number, the current column number, the iteration row number and the iteration column number are all 0.
CN201710977529.2A 2017-10-17 2017-10-17 Image processing method and device Active CN107613301B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710977529.2A CN107613301B (en) 2017-10-17 2017-10-17 Image processing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710977529.2A CN107613301B (en) 2017-10-17 2017-10-17 Image processing method and device

Publications (2)

Publication Number Publication Date
CN107613301A CN107613301A (en) 2018-01-19
CN107613301B true CN107613301B (en) 2020-05-26

Family

ID=61078794

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710977529.2A Active CN107613301B (en) 2017-10-17 2017-10-17 Image processing method and device

Country Status (1)

Country Link
CN (1) CN107613301B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108769684B (en) * 2018-06-06 2022-03-22 郑州云海信息技术有限公司 Image processing method and device based on WebP image compression algorithm
CN108989805A (en) * 2018-06-06 2018-12-11 郑州云海信息技术有限公司 Image processing method and device based on WebP image compression algorithm
CN108419078B (en) * 2018-06-06 2021-11-09 郑州云海信息技术有限公司 Image processing method and device based on WebP image compression algorithm
CN108932129A (en) * 2018-06-26 2018-12-04 郑州云海信息技术有限公司 A kind of acceleration system and method for WebP cataloged procedure medium entropy encryption algorithm
CN108960177B (en) * 2018-07-13 2020-12-22 浪潮金融信息技术有限公司 Method and device for performing digital processing on gesture
CN112135142B (en) * 2019-06-25 2022-06-07 Oppo广东移动通信有限公司 Picture decoding method and related product

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007129433A1 (en) * 2006-04-17 2007-11-15 Toshihiro Minami Dynamic image encoding device and dynamic image encoding method
CN101252691A (en) * 2008-03-12 2008-08-27 中兴通讯股份有限公司 Method for multi-processor to parallel implement high-definition picture filtering
CN101389030A (en) * 2008-10-23 2009-03-18 华为技术有限公司 Encoding method, system and video encoder
CN101686388A (en) * 2008-09-24 2010-03-31 国际商业机器公司 Video streaming encoding device and method thereof
WO2011105137A1 (en) * 2010-02-25 2011-09-01 株式会社メガチップス Apparatus for encoding images and system for transmitting images
CN102625108A (en) * 2012-03-30 2012-08-01 浙江大学 Multi-core-processor-based H.264 decoding method
CN107392838A (en) * 2017-07-27 2017-11-24 郑州云海信息技术有限公司 WebP compression parallel acceleration methods and device based on OpenCL

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007129433A1 (en) * 2006-04-17 2007-11-15 Toshihiro Minami Dynamic image encoding device and dynamic image encoding method
CN101252691A (en) * 2008-03-12 2008-08-27 中兴通讯股份有限公司 Method for multi-processor to parallel implement high-definition picture filtering
CN101686388A (en) * 2008-09-24 2010-03-31 国际商业机器公司 Video streaming encoding device and method thereof
CN101389030A (en) * 2008-10-23 2009-03-18 华为技术有限公司 Encoding method, system and video encoder
WO2011105137A1 (en) * 2010-02-25 2011-09-01 株式会社メガチップス Apparatus for encoding images and system for transmitting images
CN102625108A (en) * 2012-03-30 2012-08-01 浙江大学 Multi-core-processor-based H.264 decoding method
CN107392838A (en) * 2017-07-27 2017-11-24 郑州云海信息技术有限公司 WebP compression parallel acceleration methods and device based on OpenCL

Also Published As

Publication number Publication date
CN107613301A (en) 2018-01-19

Similar Documents

Publication Publication Date Title
CN107613301B (en) Image processing method and device
CN101068365B (en) Method for judging moving vector for describing refrence square moving and the storage media
CN109409518A (en) Neural network model processing method, device and terminal
CN107820091B (en) Picture processing method and system and picture processing equipment
EP2916543A1 (en) Method for coding/decoding depth image and coding/decoding device
JP2023169341A (en) Methods and devices for bit-width control for bi-directional optical flow
US20190327481A1 (en) Intra-prediction video coding method and device
US10951901B2 (en) Intra-frame depth map block encoding and decoding methods, and apparatus
JP2018533273A5 (en)
CN107392838B (en) WebP compression parallel acceleration method and device based on OpenCL
CN115379217A (en) Video coding processing method, device, equipment and storage medium
WO2019214373A1 (en) Video frame encoding unit division method and apparatus, and storage medium and electronic apparatus
US9020283B2 (en) Electronic device and method for splitting image
CN105898310B (en) Video encoding method and apparatus
CN108600755B (en) Image frame coding method and device
JP7067655B2 (en) Image coding equipment, image decoding equipment, and image processing equipment
US10791332B2 (en) Video data processing system
US10425646B2 (en) Method of and apparatus for processing video image data
CN112437308A (en) WebP coding method and device
CN110418145B (en) Video coding method and device, electronic equipment and storage medium
CN117651139B (en) Video coding method and system for dynamically calculating relative index position of macro block
KR102162998B1 (en) Method and Apparatus for AMVP Reuse Scheme for Parallel Motion Estimation in an HEVC Encoder
CN116546200A (en) Mode skipping method, device, equipment and storage medium in video coding
EP3110156B1 (en) A system and a method for disoccluded region coding in a multiview video data stream
CN115706800A (en) Image slice conversion method and electronic device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200426

Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province

Applicant after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd.

Address before: 450018 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601

Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant