Image and video processing apparatuses and methods
10951920 ยท 2021-03-16
Assignee
Inventors
Cpc classification
H04N19/45
ELECTRICITY
H04N19/90
ELECTRICITY
G06F17/147
PHYSICS
H04N19/649
ELECTRICITY
G06F17/14
PHYSICS
International classification
H04N19/90
ELECTRICITY
G06F17/14
PHYSICS
Abstract
The disclosure relates to an image processing apparatus for compressing or decompressing a segment of an image, the segment being non-rectangular and comprising a plurality of pixels, each pixel comprising a pixel value, the pixel values of the plurality of pixels forming a pixel value vector, the apparatus comprising: a processor configured to compress the segment or configured to decompress the segment, wherein compressing the segment comprises computing a plurality of expansion coefficients by expanding the pixel value vector into a plurality of basis vectors, wherein the basis vectors are discrete approximations of solutions of a boundary value problem of the Helmholtz equation on the segment of the image; and wherein decompressing the segment comprises computing the pixel value vector by forming a linear combination of the basis vectors according to the plurality of expansion coefficients.
Claims
1. An image processing apparatus, for compressing or decompressing, the apparatus comprising: a processor configured to compress or decompress a segment of an image, wherein the segment is non-rectangular and comprises a plurality of pixels, each pixel of the plurality of pixels comprises a pixel value, and the pixel values of the plurality of pixels form a pixel value vector, wherein compressing the segment comprises computing a plurality of expansion coefficients by expanding the pixel value vector into a plurality of basis vectors, wherein the basis vectors are discrete approximations of solutions of a boundary value problem of the Helmholtz equation on the segment of the image; and wherein decompressing the segment comprises computing the pixel value vector by forming a linear combination of the basis vectors according to the plurality of expansion coefficients.
2. The image processing apparatus of claim 1, wherein a discretized Laplace operator of the Helmholtz equation is represented as a system matrix A, and the processor is further configured to determine the basis vectors as eigenvectors of the system matrix A.
3. The image processing apparatus of claim 2, wherein the processor is configured to generate the system matrix A based on a shape of the segment.
4. The image processing apparatus of claim 2, wherein the processor is configured to generate the system matrix A based on a plurality of boundary conditions defined for a boundary of the segment.
5. The image processing apparatus of claim 2, wherein the processor is configured to define the discretized Laplace operator as a five-point stencil or a nine-point stencil.
6. The image processing apparatus of claim 2, wherein the processor is configured to generate the system matrix A by scanning the plurality of pixels of the segment based on a scanning order to define an order of the plurality of pixels of the segment and to determine the number of the plurality of pixels of the segment, wherein the number of the plurality of pixels of the segment defines the size KK of the system matrix A.
7. The image processing apparatus of claim 6, wherein the processor is configured to generate an i-th column of the system matrix A by centering the discretized Laplace operator on the i-th pixel of the plurality of pixels as defined by the scanning order.
8. The image processing apparatus of claim 7, wherein the processor is configured to define the i-th column of the system matrix A based on the plurality of boundary conditions, wherein the plurality of boundary conditions comprise Dirichlet boundary conditions, Neumann boundary conditions and/or mixed boundary conditions.
9. The image processing apparatus of claim 2, wherein the processor is further configured to determine eigenvalues of the system matrix A and to arrange the eigenvectors of the system matrix A in increasing order.
10. The image processing apparatus of claim 2, wherein the image processing apparatus comprises a video coding apparatus, wherein the video coding apparatus is configured during encoding for compressing a non-rectangular segment of a residual image generated from a video signal or configured during decoding for decompressing a non-rectangular segment of a residual image generated from the video signal.
11. The image processing apparatus of claim 10, wherein the eigenvectors of the system matrix A define a transformation matrix V, and wherein for encoding or decoding the video signal, the processor is configured to scan the column vectors of the transformation matrix V according to an increasing order of eigenvalues associated with the eigenvectors of the system matrix A.
12. The image processing apparatus of claim 10, wherein the processor is further configured to determine the orthogonal set of transforms based on a rate distortion criterion.
13. The image processing apparatus of claim 10, wherein the processor is further configured to determine the plurality of boundary conditions for the plurality of boundary pixels of the segment based on another image segment of the same image or a different image of the video signal.
14. An image processing method for compressing or decompressing a segment of an image, the method comprising: compressing or decompressing the segment of the image, wherein the segment is non-rectangular and comprises a plurality of pixels, each pixel of the plurality of pixels comprises a pixel value, and the pixel values of the plurality of pixels form a pixel value vector, wherein compressing the segment comprises computing a plurality of expansion coefficients by expanding the pixel value vector into a plurality of basis vectors, wherein the basis vectors are discrete approximations of solutions of a boundary value problem of the Helmholtz equation on the segment of the image, and wherein decompressing the segment comprises computing the pixel value vector by forming a linear combination of the basis vectors according to the plurality of expansion coefficients.
15. The method of claim 14, wherein a discretized Laplace operator of the Helmholtz equation is represented as a system matrix A, the method further comprising: determining the basis vectors as eigenvectors of the system matrix A.
16. The method of claim 15, further comprising: generating the system matrix A by scanning the plurality of pixels of the segment based on a scanning order to define an order of the plurality of pixels of the segment and to determine the number of the plurality of pixels of the segment, wherein the number of the plurality of pixels of the segment defines the size KK of the system matrix A.
17. A non-transitory storage medium comprising program code that, when executed by a computer, causes the computer to perform an image processing method for compressing or decompressing a segment of an image, by performing the steps of: compressing or decompressing the segment of the image, wherein the segment is non-rectangular and comprises a plurality of pixels, each pixel of the plurality of pixels comprises a pixel value, and the pixel values of the plurality of pixels form a pixel value vector, wherein compressing the segment comprises computing a plurality of expansion coefficients by expanding the pixel value vector into a plurality of basis vectors, wherein the basis vectors are discrete approximations of solutions of a boundary value problem of the Helmholtz equation on the segment of the image, and wherein decompressing the segment comprises computing the pixel value vector by forming a linear combination of the basis vectors according to the plurality of expansion coefficients.
18. The non-transitory storage medium of claim 17, wherein a discretized Laplace operator of the Helmholtz equation is represented as a system matrix A, the steps further comprising: determining the basis vectors as eigenvectors of the system matrix A.
19. The non-transitory storage medium of claim 18, the steps further comprising: generating the system matrix A by scanning the plurality of pixels of the segment based on a scanning order to define an order of the plurality of pixels of the segment and to determine the number of the plurality of pixels of the segment, wherein the number of the plurality of pixels of the segment defines the size KK of the system matrix A.
20. The non-transitory storage medium of claim 18, the steps further comprising: generating an i-th column of the system matrix A by centering the discretized Laplace operator on the i-th pixel of the plurality of pixels as defined by the scanning order.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Further embodiments of the disclosure will be described with respect to the following figures, wherein:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28) In the various figures, identical reference signs will be used for identical or functionally equivalent features.
DETAILED DESCRIPTION OF EMBODIMENTS
(29) In the following description, reference is made to the accompanying drawings, which form part of the disclosure, and in which are shown, by way of illustration, specific aspects in which the present disclosure may be placed. It is understood that other aspects may be utilized and structural or logical changes may be made without departing from the scope of the present disclosure. The following detailed description, therefore, is not to be taken in a limiting sense, as the scope of the present disclosure is defined be the appended claims.
(30) For instance, it is understood that a disclosure in connection with a described method may also hold true for a corresponding device or system configured to perform the method and vice versa. For example, if a specific method step is described, a corresponding device may include a unit to perform the described method step, even if such unit is not explicitly described or illustrated in the figures. Further, it is understood that the features of the various exemplary aspects described herein may be combined with each other, unless specifically noted otherwise.
(31)
(32) The image processing apparatus 100 is configured to compress a segment of an image, wherein the segment is non-rectangular and comprises a plurality of pixels. Each pixel comprises a pixel value and the pixel values of the plurality of pixels form a pixel value vector, as will be described in more detail further below. The processor 101 of the apparatus 100 is configured to compress the image segment, including computing a plurality of expansion coefficients by expanding the pixel value vector into a plurality of basis vectors, wherein the basis vectors are discrete approximations of solutions of a boundary value problem of the Helmholtz equation on the segment of the image.
(33) The image processing apparatus 110 is configured to decompress a segment of an image, wherein the segment is non-rectangular and comprises a plurality of pixels. Each pixel comprises a pixel value and the pixel values of the plurality of pixels form a pixel value vector, as will be described in more detail further below. The processor 111 of the apparatus 110 is configured to decompress the image segment, including computing the pixel value vector by forming a linear combination of the basis vectors according to the plurality of expansion coefficients. As shown in
(34)
(35) The video coding apparatus 200 comprises the image processing apparatus 100 of
(36) The video coding apparatus 210 comprises the image processing apparatus 110 of
(37)
(38) Before describing further embodiments of the image processing apparatus 100, 110 of
(39) The spectrum of the continuous Laplace Operator
(40)
consists of all eigenvalues for which there is a corresponding eigenfunction (x,y), subject to certain boundary conditions (BC). The BC may, for example, be Dirichlet boundary conditions
=, =0 on the boundary of
or Neumann boundary conditions
=, /n=0 on the boundary of ,
where denotes an arbitrary bounded domain in R.sup.2 (i.e. the Cartesian plane) that has a piecewise smooth boundary, x and y denote the standard Cartesian coordinates, and n denotes the normal to the boundary of .
(41) The eigenfunctions (x,y) and eigenvalues depend on the boundary conditions. The eigenvalues, in ascending order, repeating each one according to its multiplicity, are all positive for Dirichlet boundary conditions, i.e. 0<.sub.1.sub.2.sub.3 . . . .sub.n . . . , and non-negative for Neumann boundary conditions, i.e. 0={circumflex over ()}.sub.1<{circumflex over ()}.sub.2{circumflex over ()}.sub.3 . . . {circumflex over ()}.sub.n . . . . As will be described in more detail below, each combination of image segment shape and boundary conditions generally has its own particular sequence of eigenvalues. As will be appreciated, the eigenvalues can be considered to be minima of the potential energy, i.e., the eigenvalues minimize the energy subject to certain constraints.
(42) The eigenfunctions of the Laplacian for the Dirichlet boundary conditions are a complete basis set for L.sup.2(). The same is true for Neumann boundary conditions. This property is also referred to as completeness.
(43) Complete sets of trigonometric eigenfunctions are known analytically only for some planar shapes in the continuous case. The set of planar shapes that have a complete set of trigonometric eigenfunctions includes the following planar shapes: rectangular, including the special case of the square; iso-scales right angle triangle; equilateral triangle; and the 30-60-90 degrees hemi-equilateral triangle.
(44) In embodiments of the disclosure, the continuous Laplacian eigenproblem = (already mentioned above), is discretized and expressed as an eigenvector-eigenvalue problem Av=v, where, A is a system matrix, which is determined by the discretization of the image segment (herein also referred to as domain), the boundary conditions and the representation of the Laplacian operator. In an embodiment, the eigenvectors are the columns of the transformation matrix V in an increasing order of the eigenvalues.
(45) In an embodiment, the uniform Cartesian grid is used for sampling the continuous domain of an image segment.
(46) Given an image segment (or image domain) D defined by an indication matrix defined as follows:
(47)
each pixel in the image segment D (referred to herein as a domain pixel) has at least one 8-points-neighborhood pixel which is in D. When an image segment is defined as a polygon or by a continuous closed curve, a grid covering D and approximating D by a union of squares can be used. In an embodiment, each square has a size of a full pixel. As will be appreciated, a connected segment may contain holes.
(48)
(49) Before setting the boundary conditions, the type of the Laplacian Stencil can be defined in accordance with embodiments of the disclosure. Several possible approximations for the Discrete Laplacian can be used according to embodiments of the disclosure, among them, the five-point stencil for the Laplacian:
(50)
and the nine-point stencil for the Laplacian:
(51)
where .sub.i,j denotes the Kronecker delta with .sub.i,j=1 only for i=j=0 and .sub.i,j=0 otherwise.
(52) In an embodiment, the boundary B of the image domain D is defined according to the selected Laplacian stencil. In an embodiment, a Pixel(x,y) is a boundary pixel of D, when the two following conditions hold: (i) Pixel(x,y) is not in D (i.e., not a domain-pixel In(x,y)=0); and (ii) Pixel(x,y) has at least one N-points-neighborhood pixel which is in D, where N=4 and N=8 for the 5 and 9-point stencil, respectively. That is, for the 5-point stencil, In(x+i, y+.sub.j)=1, for at least one element (i,j) in the set: {(1,0), (0,1), (0,1), (1,0)}, whereas, for the 9-point stencil, In(x+i, y+j)=1, for at least one element (i,j) in the set: {(1,1), (1,0), (1,1), (0,1), (0,1), (1,1), (1,0), (1,1)}.
(53) As already mentioned above, each type of boundary condition, which is determined for the same image domain D, generally produces a distinct solution to the discrete Laplacian eigenproblem. According to embodiments of the disclosure, boundary conditions may be set either on a center grid point, boundary-pixel, or a mid-point, half distance between a domain-pixel and a boundary-pixel. Among the possible boundary conditions, that in accordance with embodiments of the disclosure may be expressed as u+u/n, with and constants, are:
(54) 1) Dirichlet BC: u=0 on the boundary of D(=0)
(55) 2) Neumann BC: u/n=0 on the boundary of D(=0)
(56) 3) Mixed BC: e.g., part of the boundary with u=0, wherein, the reminder of the boundary with u/n=0, or, even with both and nonzero.
(57) In an embodiment, wherein the image domain D comprises K domain pixels in D the image processing apparatus 100, 110 is configured to generate a linear system of K equations with K unknowns by approximating the Laplace equation at the K domain-pixels using the BC. As the determinant of the KK system matrix A of the linear system of K equations is generally not zero, there exists exactly one solution (as can be shown mathematically).
(58) In an embodiment, a scanning order G for the K non-zero elements of the indication matrix In(x,y), k=1, 2, . . . , K can be defined. For instance, a column stacking order may be used, starting from the upper to the lower element of the left column, then, to the upper element of the next column, and so forth till the rightmost column. Exemplary scanning orders G, which can be used by the image processing apparatus 100, 110 according to an embodiment, are shown in
(59) In an embodiment the image processing apparatus 100, 110 is configured to construct the system matrix A such that the k-th row thereof is the discrete Laplacian for the k-th domain-pixel with the defined BC, where k is the k-th element in the scanning order G.
(60)
(61) In an embodiment, the image processing apparatus 100, 110 is configured to generate the 2D orthogonal and complete basis set for the domain D with the predefined BC by computing the eigenvalues .sub.k and eigenvectors v.sub.k of the system matrix A:
Av.sub.k=.sub.kv.sub.k, k=1,2, . . . ,K(12)
(62) The eigenvectors of the system matrix A form a complete and orthogonal basis set of the image segment of domain D with the predefined BC:
VV.sup.T=V.sup.TV=I(13)
where v.sub.k defines the k-th column of the transformation matrix V and I denotes the KK identity matrix.
(63) As will be appreciated, the order of the eigenvalues determines the order of the spatial frequencies. Thus, for Dirichlet BC (DST-like)
0<.sub.1.sub.2 . . . .sub.i . . . .sub.K(14)
and for Neumann BC (DCT-like)
0={circumflex over ()}.sub.1{circumflex over ()}.sub.2 . . . {circumflex over ()}.sub.i . . . {circumflex over ()}.sub.K(15)
with the first (smallest) eigenvalue corresponding to the smallest spatial frequency. In an embodiment, the image processing apparatus 100, 110 can use publicly available solvers using Numerical Linear Algebra libraries for determining the eigenvectors and eigenvalues of the system matrix A. Exemplary eigenvectors for differently shaped image segments as generated and used by the image processing apparatus 100, 110 according to an embodiment will be described further below in the context of
(64) As already described above, the image processing apparatus 100, 110 is configured to compress or decompress an image segment on the basis of the eigenvectors of the system matrix A.
(65) Given the samples, i.e. pixel values, of the image segment, indicated by the matrix elements In(x,y), the image processing apparatus 100, 110 can construct a K1 vector p from the image samples using the same scanning order G, as defined for the domain pixels, which are located at the non-zero elements of the indication matrix In(x,y). The k-th transform coefficient c.sub.k can be obtained as an inner product of the corresponding eigenvector v.sub.k and the vector of samples p:
c.sub.k=v.sub.k.sup.Tp(16)
(66) In matrix notation the vector of coefficients c can be defined as:
c=V.sup.Tp(17)
which is an orthonormal transformation by the matrix V from the image sample vector p to the spectral domain represented by the coefficient vector c. The inverse transform produces the reconstructed vector, p.sub.rec defined as a combination of the eigenvectors v.sub.k using the coefficients as the weights of the combination:
p.sub.rec=.sub.k=1.sup.Kc.sub.kv.sub.k=Vc(18)
(67) In matrix notation the reconstructed vector is obtained by the inverse transformation matrix V applied to the coefficient vector. As will be appreciated, the reconstruction is perfect, since VV.sup.T=I:
p.sub.rec=vc=VV.sup.Tp=p(19)
(68) Corresponding processing steps implemented in the image processing apparatus 100 according to an embodiment and the image processing apparatus 110 according to an embodiment are illustrated in
(69)
(70) Under reference to
(71)
(72)
(73) In addition to the image encoder/decoder 1404 the video coding apparatus 200, 210 shown in
(74)
(75)
(76)
(77) In hybrid video coding, an input frame is normally divided into blocks for further processing. The block partitioning is conveyed to the decoder, such as the video decoding apparatus 210 shown in
(78) The video encoding apparatus 200 shown in
(79) Moreover, the video encoding apparatus 200 shown in
(80) The general control data provided by the general coder control block 1707 can comprise a header for signaling the partitioning mask. The header formatting & CABAC block 1727 can use new entropy models for signaling the transform coefficients for the non-rectangular image segments, the type of partitioning mask and the intra predictors for each non-rectangular image segment. As will be appreciated, the video coding apparatus 200 shown in
(81)
(82) In addition to the general components or blocks of a H.265 hybrid decoder, namely an entropy decoder 1801, a block 1809 for constructing a quad tree LL block, a scaling & inverse transform block 1811, a deblocking & SAO filters block 1813, a decoded picture buffer 1815, a motion compensation block 1819, an intra-picture prediction block 1817 and a general coder control block 1803, the video decoding apparatus 210 shown in
(83)
(84) More specifically, the image encoding apparatus 100 shown in
(85)
(86)
(87) While a particular feature or aspect of the disclosure may have been disclosed with respect to only one of several implementations or embodiments, such feature or aspect may be combined with one or more other features or aspects of the other implementations or embodiments as may be desired and advantageous for any given or particular application. Furthermore, to the extent that the terms include, have, with, or other variants thereof are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term comprise. Also, the terms exemplary, for example and e.g. are merely meant as an example, rather than the best or optimal. The terms coupled and connected, along with derivatives may have been used. It should be understood that these terms may have been used to indicate that two elements cooperate or interact with each other regardless whether they are in direct physical or electrical contact, or they are not in direct contact with each other.
(88) Although specific aspects have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that a variety of alternate and/or equivalent implementations may be substituted for the specific aspects shown and described without departing from the scope of the present disclosure. This application is intended to cover any adaptations or variations of the specific aspects discussed herein.
(89) Although the elements in the following claims are recited in a particular sequence with corresponding labeling, unless the claim recitations otherwise imply a particular sequence for implementing some or all of those elements, those elements are not necessarily intended to be limited to being implemented in that particular sequence.
(90) Many alternatives, modifications, and variations will be apparent to those skilled in the art in light of the above teachings. Of course, those skilled in the art readily recognize that there are numerous applications of the disclosure beyond those described herein. While the present disclosure has been described with reference to one or more particular embodiments, those skilled in the art recognize that many changes may be made thereto without departing from the scope of the present disclosure. It is therefore to be understood that within the scope of the appended claims and their equivalents, the disclosure may be practiced otherwise than as specifically described herein.