USPatent applicationPatented

Method for resizing images using integer DCT coefficients

Granted 29 Nov 2011 · 1 office action

Assignee: Hanyang University

Law firm: Law firm · Log in to unlock

Attorney: Attorney · Log in to unlock

Inventors: Won Ha Kim, Hyung Suk Oh · Examiner: Samir Ahmed · AU 2624 · TC 2600

Life of the application

8 dated events
⤢ drag to zoom20082010201220142016201820202022202420262028ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

The present invention relates to a method of converting the size of an image, i.e., resolution of an image, and more specifically, to a method of reducing or enlarging the size of an image using coefficients of integer discrete cosine transform (Integer DCT), which is a type of block transform. Since the method of reducing and enlarging the size of an image according to the present invention reduces or enlarges the size of an image through an integer operation, hardware can be implemented using shifts and additions, and therefore, complexity of the hardware may be lowered, and the method of the present invention provides images of a good quality that is almost the same as the quality of an image provided according to a conventional method of reducing and enlarging an image using real-number DCT coefficients. The method of reducing and enlarging the size of an image according to the present invention is compatible with a H.264/AVC codec.

Description

8 parts
›CROSS-REFERENCE TO RELATED PATENT APPLICATIONS

This application claims the benefits of Korean Patent Application No. 10-2007-0009066 filed on Jan. 29, 2007 in the Korean Intellectual Property Office, the disclosures of which are incorporated herein in their entirety by reference.

›BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a method of converting the size of an image, i.e., resolution of an image, and more specifically, to a method of reducing or enlarging the size of an image using integer discrete cosine transform (Integer DCT) coefficients.

2. Background of the Related Art

Different communication networks are merged with one another in the present communication environments using broadband convergence networks (BcN), i.e., core networks capable of providing services such as connection of wired and wireless communications, merger of broadcasting and communication networks, IP convergence using IP networks, and the like, and such a trend will be further accelerated in the future. Along with the trend of digital convergence in heterogeneous communication network environments, researches on universal media communications are actively in progress recently. Since the types of multimedia terminals used in a variety of communication networks are more and more diversified, techniques for converting the size of an image are developed in various ways to reasonably harmonize different networks and different multimedia terminals with one another.

Among the techniques for converting the size of an image, a method using real-number discrete cosine transform (DCT) coefficients shows superior performance. Since the real-number DCT coefficients are used in conversion techniques employing a moving picture codec such as MPEG-1, MPEG-2, MPEG-4, H.261, H.263, or H.26L, the techniques using the real-number DCT coefficients are advantageously compatible with existing moving picture codecs.

However, there is a problem in that conventional techniques for converting the size of an image using real-number DCT coefficients cannot be applied, as it is, to a H.264/AVC codec that generates integer DCT coefficients using an integer discrete cosine transform (integer DCT) technique in a transforming procedure of the codec. Furthermore, since conventional techniques for converting the size of an image using real-number DCT coefficients perform real-number operations, complexity is so high in manufacturing hardware that they are not easy to implement.

›SUMMARY OF THE INVENTION

Accordingly, the present invention has been made in view of the above problems, and it is an object of the present invention to provide a method of reducing and enlarging the size of an image using integer DCT coefficients.

To accomplish the above object, according to one aspect of the present invention, there is provided a method of reducing the size of an image, the method comprising the steps of: partitioning an inputted 2N×2N integer DCT coefficient block I 1 into N×N integer DCT coefficient blocks B 0 , B 1 , B 2 , and B 3 and approximation-inverse-DCT-transforming the partitioned N×N integer DCT coefficient blocks into N×N image blocks D 0 , D 1 , D 2 , and D 3 of a spatial domain through N×N approximation-DCT-transform; creating 2N×2N image blocks P 0 , P 1 , P 2 , and P 3 by inserting 0's together with the respective approximation-inverse-DCT-transformed N×N image blocks D 0 , D 1 , D 2 , and D 3 and approximation-DCT-transforming the created 2N×2N image blocks P 0 , P 1 , P 2 , and P 3 into 2N×2N approximation DCT coefficient blocks Q 0 , Q 1 , Q 2 , and Q 3 ; creating an combined approximation coefficient block Y 0 by summing the 2N×2N approximation DCT coefficient blocks Q 0 , Q 1 , Q 2 , and Q 3 and down-sampling an N×N approximation DCT coefficient block Y 1 of a low frequency component from the created combined approximation coefficient block Y 0 ; separating a post scaling factor PF of the down-sampled N×N approximation DCT coefficient block Y 1 from the down-sampled N×N approximation DCT coefficient block Y 1 ; and transforming portions excluding the post scaling factor PF separated from the down-sampled N×N approximation DCT coefficient block Y 1 into an N×N integer DCT coefficient block O 3 .

To accomplish the above object, according to another aspect of the present invention, there is provided a method of enlarging the size of an image, the method comprising the steps of: transforming an inputted N×N integer DCT coefficient block I 2 into N×N approximation DCT coefficient block A 1 by element-by-element multiplying the inputted N×N integer DCT coefficient block I 2 and a post scaling factor of the inputted N×N integer DCT coefficient block I 2 ; up-sampling the N×N approximation DCT coefficient block A 1 into a 2N×2N approximation DCT coefficient block A 2 by inserting 0's together with the N×N approximation DCT coefficient block A 1 and approximation-inverse-DCT-transforming the up-sampled 2N×2N approximation DCT coefficient block A 2 into a 2N×2N image block A 3 of a spatial domain; partitioning the 2N×2N image block A 3 into four N×N image blocks W 0 , W 1 , W 2 , and W 3 and creating four N×N approximation DCT coefficient blocks V 0 , V 1 , V 2 , and V 3 by approximation-DCT-transforming the respective partitioned N×N image blocks; separating post scaling factors PFs of the four created N×N approximation DCT coefficient blocks V 0 , V 1 , V 2 , and V 3 from the N×N approximation DCT coefficient blocks V 0 , V 1 , V 2 , and V 3 ; transforming portions excluding the post-adjustment factors PFs separated from the four N×N approximation DCT coefficient blocks V 0 , V 1 , V 2 , and V 3 into N×N integer DCT coefficient blocks U 0 , U 1 , U 2 , and U 3 respectively; and transforming the transformed four N×N integer DCT coefficient blocks U 0 , U 1 , U 2 , and U 3 into a 2N×2N integer DCT coefficient block T 3 by summing the N×N integer DCT coefficient blocks U 0 , U 1 , U 2 , and U 3 .

›BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects, features and advantages of the present invention will be apparent from the following detailed description of the preferred embodiments of the invention in conjunction with the accompanying drawings, in which:

FIG. 1 is a flowchart illustrating a method of reducing the size of an image according to an embodiment of the present invention;

FIG. 2 is a view showing an example of an inputted 2N×2N integer DCT coefficient block;

FIG. 3 is a view showing an example of a 2N×2N image block created by inserting 0's;

FIG. 4 is a view schematically showing a process of creating a 2N×2N combined approximation block;

FIG. 5( a ) is a view showing an example of a 2N×2N combined approximation block, and FIG. 5( b ) is a view showing an example of a down-sampled N×N approximation DCT coefficient block;

FIG. 6 is a flowchart further specifically illustrating the step of separating a post scaling factor (PF) from a down-sampled N×N combined approximation block;

FIG. 7 is a flowchart illustrating a method of enlarging the size of an image according to an embodiment of the present invention;

FIG. 8 is a view showing an example of a 2N×2N approximation DCT coefficient block created by inserting 0's;

FIG. 9 is a view showing an example of four N×N image blocks configuring a inverse-DCT-transformed 2N×2N image block of the space domain;

FIG. 10 is a flowchart further specifically illustrating the step of separating a post scaling factor; and

FIG. 11 is a view showing an example of a 2N×2N integer DCT coefficient block created by summing four N×N integer DCT coefficient blocks.

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT · 1 of 4

Hereinafter, a method of reducing and a method of enlarging the size of an image according to embodiments of the present invention will be described in detail with reference to the accompanying drawings.

FIG. 1 is a flowchart illustrating a method of reducing the size of an image according to an embodiment of the present invention.

Referring to FIG. 1 , an integer DCT coefficient block (I 1 ) having a size of 2N×2N is inputted (step 1 ). Pixel values configuring an image frame are divided into image pixel blocks respectively having a size of N×N, and integer DCT is performed on each of the image pixel blocks in a conventional block unit transform procedure. As a result, four N×N integer DCT coefficient blocks are created from four adjacent N×N image pixel blocks of the image frame. In this step, a 2N×2N integer DCT coefficient block I 1 comprising the four N×N integer DCT coefficient blocks created as such is inputted.

Then, the inputted 2N×2N integer DCT coefficient block I 1 is partitioned into four N×N integer DCT coefficient blocks (step 2 ). Referring to FIG. 2 showing an example of the inputted 2N×2N integer DCT coefficient block, four N×N integer DCT coefficient blocks forming the 2N×2N integer DCT coefficient block I 1 includes block B 0 positioning at the upper left side, block B 1 positioning at the upper right side, block B 2 positioning at the lower left side, and block B 3 positioning at the lower right side.

The four N×N integer DCT coefficient blocks B 0 , B 1 , B 2 , and B 3 partitioned from the 2N×2N integer DCT coefficient block I 1 are respectively element-by-element multiplied by a post scaling factor PF and transformed into four N×N approximation DCT coefficient blocks C 0 , C 1 , C 2 , and C 3 (step 3 ). Hereinafter, the operator  denotes element-by-element multiplication of matrices, and if two matrices A and PF are respectively A={a i,j } and PF={PF i,j }, it is calculated such that A  PF={a i,j ·PF i,j }.

As an example of the post scaling factor PF multiplied to the four N×N integer DCT coefficient blocks B 0 , B 1 , B 2 , and B 3 , a PF multiplied to a 4×4 integer DCT coefficient block of H.264/AVC is as shown in Equation 3.

The four N×N approximation DCT coefficient blocks C 0 , C 1 , C 2 , and C 3 are respectively approximation inverse-DCT-transformed to create N×N image blocks D 0 , D 1 , D 2 , and D 3 of the spatial domain (step 4 ). The N×N image blocks D 0 , D 1 , D 2 , and D 3 of the space domain are respectively created as shown in Equation 2.

D 0=( T N×N DA ) t ·C 0 ·T N×N DA

D 1=( T N×N DA ) t ·C 1 ·T N×N DA

D 2=( T N×N DA ) t ·C 2 ·T N×N DA

D 3=( T N×N DA ) t ·C 3 ·T N×N DA   [Equation 2]

As an example, 4×4 approximation DCT of H.264/AVC is as shown Equation 3.

2N×2N image blocks P 0 , P 1 , P 2 , and P 3 are created by inserting 0's together with the created N×N image blocks D 0 , D 1 , D 2 , and D 3 of the space domain (step 5 ). Referring to FIG. 3 , a 2N×2N image block P 0 is created by positioning an N×N image block D 0 of the spatial domain at the upper left side and inserting an N×N image block C 1 having elements of all 0's in the other portions of the 2N×2N image block. Another 2N×2N image block P 1 is created by positioning an N×N image block D 1 of the spatial domain at the upper right side and inserting an N×N image block C 1 having elements of all 0's in the other portions of the 2N×2N image block. Another 2N×2N image block P 2 is created by positioning an N×N image block D 2 of the spatial domain at the lower left side and inserting an N×N image block C 1 having elements of all 0's in the other portions of the 2N×2N image block. Another 2N×2N image block P 3 is created by positioning an N×N image block D 3 of the spatial domain at the lower right side and inserting an N×N image block C 1 having elements of all 0's in the other portions of the 2N×2N image block.

The created 2N×2N image blocks P 0 , P 1 , P 2 , and P 3 are respectively approximation-DCT-transformed to create 2N×2N approximation DCT coefficient blocks Q 0 , Q 1 , Q 2 , and Q 3 (step 6 ). The 2N×2N approximation DCT coefficient blocks Q 0 , Q 1 , Q 2 , and Q 3 are respectively created as shown in Equation 4.

Q 0= T 2N×2N DA ·P 0·( T 2N×2N DA ) t

Q 1= T 2N×2N DA ·P 01( T 2N×2N DA ) t

Q 2= T 2N×2N DA ·P 2·( T 2N×2N DA ) t

Q 3= T 2N×2N DA ·P 3·( T 2N×2N DA ) t   [Equation 4]

As an example, if N=4, 8×8 approximation DCT of H.264/AVC is as shown Equation 5.

An combined approximation block Y 0 is created by summing the created 2N×2N approximation DCT coefficient blocks Q 0 , Q 1 , Q 2 , and Q 3 (step 7 ). Referring to FIG. 4 , one 2N×2N combined approximation block Y 0 is created by element-by-element summing the 2N×2N approximation DCT coefficient blocks Q 0 , Q 1 , Q 2 , and Q 3 .

An N×N approximation DCT coefficient block Y 1 is created by down-sampling the created combined approximation block Y 0 (step 8 ). FIG. 5( a ) shows the created 2N×2N combined approximation block Y 0 . The 2N×2N combined approximation block Y 0 comprises four N×N approximation DCT coefficient blocks Y 1 , Y 2 , Y 3 , and Y 4 . As an embodiment, if an image pixel block of the spatial domain is DCT-transformed, low frequency components of image spectrum have a characteristic of mainly concentrating on the upper left side of a DCT-transformed block. Accordingly, as shown in FIG. 5( b ), only the N×N approximation DCT coefficient block Y 1 positioning at the upper left side is down-sampled among the four N×N approximation DCT coefficient blocks Y 1 , Y 2 , Y 3 , and Y 4 configuring the 2N×2N combined approximation block Y 0 .

A post scaling factor PF is separated from the down-sampled N×N approximation DCT coefficient block Y 1 (step 9 ). FIG. 6 is a flowchart further specifically illustrating step 9 .

Referring to FIG. 6 , as shown in Equation 6, the down-sampled N×N approximation DCT coefficient block Y 1 is decomposed into the form of a multiplication of the 2N×2N combined approximation block Y 0 , a matrix L 0 multiplied to the left side of the 2N×2N combined approximation block Y 0 , and a matrix R 0 multiplied to the right side of the 2N×2N combined approximation block Y 0 (step 20 ).

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT · 2 of 4

Y 1 =L 0· Y 0· R 0  [Equation 6]

As shown in Equation 7, the 2N×2N combined approximation block Y 0 is decomposed once more in the form of a multiplication of the inputted 2N×2N integer DCT coefficient block I 1 , a left side post scaling factor matrix PFL multiplied to the left side of the 2N×2N integer DCT coefficient block I 1 , and a right side post-adjustment factor matrix PFR multiplied to the right side of the 2N×2N integer DCT coefficient block I 1 (step 21 ).

Y 0= PFL·I 1· PFR   [Equation 7]

The post scaling factor PF of the down-sampled N×N approximation DCT coefficient block Y 1 is separated by putting the combined approximation coefficient block Y 0 decomposed in Equation 7 into the down-sampled N×N approximation DCT coefficient block Y 1 decomposed in Equation 6 (step 22 ).

As shown in Equation 8, from the created matrices L 0 , R 0 , PFL, and PFR, one integrated matrix L 1 is created by multiplying the left side matrix PFL and matrix L 0 , and one integrated matrix R 1 is created by multiplying the right side matrix PFR and matrix R 0 .

Y 1= L 1· I 1· R 1  [Equation 8]

As shown in Equation 9, matrix L 1 is decomposed into a multiplication of the left side post scaling factor matrix PFL and matrix L 2 in the form of multiplying the left side post scaling factor matrix PFL to the left side, and matrix R 1 is decomposed into matrix R 2 and a multiplication of the right side post scaling factor matrix PFR in the form of multiplying the right side post scaling factor matrix PFR to the right side.

Y 1= PFL·L 2· I 1· R 2· PFR   [Equation 9]

As shown in Equation 10, the post scaling factor PF is separated by integrating the left side post scaling factor PFL and the right side post scaling factor PFR from matrices PFL, PFR, L 2 , R 2 , and L 1 , and the separated post scaling factor PF and the other matrices L 2 , R 2 , and I 1 are decomposed as an element-by-element multiplication.

Y 1=( L 2· I 1· R 2) PF   [Equation 10]

As an example, in the case of 4×4 integer DCT used for H.264/AVC, L 2 , R 2 , and PF are as shown Equations 11 to 13.

The multiplication of the other matrices L 2 ·I 1 ·R 2 , excluding the post scaling factor PF separated in Equation 10, is integrized and transformed into an N×N integer DCT coefficient block (step 10 ).

In order to transform the multiplication of the other matrices L 2 ·I 1 ·R 2 into an N×N integer DCT coefficient block, elements of matrices L 2 and R 2 , excluding the inputted 2N×2N integer DCT coefficient block I 1 , should be respectively integerized. Matrices L 2 and R 2 are transformed into matrices L 3 and R 3 of elements having the closest integer values by multiplying respective elements by 2 as many times as the number of bits of a given bit accuracy.

As an example, if an accuracy of 8 bits is provided, L 3 and R 3 are as shown in Equations 14 and 15.

As shown in mathematical 16, the created matrices L 3 and R 3 are respectively expressed as a matrix multiplication at the left and right sides of the inputted 2N×2N integer DCT coefficient block I 1 , and since all the elements of matrices L 3 , I 1 , and R 3 are configures as an integer, the down-sampled N×N approximation DCT coefficient block Y 1 is expressed as a multiplication of an N×N integer DCT coefficient block O 3 and the post scaling factor PF.

Y 1=( L 3· I 1· R 3) PF,

Y1=O3 PF  [Equation 16]

That is, the inputted 2N×2N integer DCT coefficient block I 1 is multiplied by matrix L 3 on the left side and by matrix R 3 on the right side and down-sampled to the N×N integer DCT coefficient block O 3 , and therefore, the size of an image can be reduced through an integer DCT operation.

Preferably, the down-sampled N×N integer DCT coefficient block O 3 is divided by 2 as many times as the number of bits of the bit accuracy that is multiplied to integerize the elements of matrices L 2 and R 2 , so that values can be adjusted to an N×N integer DCT coefficient block O 4 having the closest integer values (step 11 ).

Hereinafter, a method of enlarging the size of an image according to an embodiment of the present invention will be described in further detail with reference to the accompanying drawings.

Referring to FIG. 7 , one N×N integer DCT coefficient block I 2 is inputted (step 30 ), and an N×N approximation DCT coefficient block A 1 is created by element-by-element multiplying the inputted N×N integer DCT coefficient block I 2 and the post scaling factor PF of the N×N integer DCT coefficient block I 2 (step 31 ). As an example of the post scaling factor, a PF multiplied to a 4×4 integer DCT coefficient block of H.264/AVC is as shown in Equation 17.

The created N×N approximation DCT coefficient block A 1 is up-sampled to a 2N×2N approximation DCT coefficient block A 2 by inserting 0's (step 32 ). Referring to FIG. 8 , the 2N×2N approximation DCT coefficient block A 2 is created by positioning the created N×N approximation DCT coefficient block A 1 at the upper left side and inserting an N×N image block C 1 having elements of all 0's in the other portions of the 2N×2N approximation DCT coefficient block A 2 .

The up-sampled 2N×2N approximation DCT coefficient block A 2 is approximation-inverse-DCT-transformed to a 2N×2N image block A 3 of the space domain (step 33 ).

The 2N×2N image block A 3 of the spatial domain is created as shown in Equation 18.

A 3=( T 2N×2N DA ) t ·A 2· T 2N×2N DA   [Equation 18]

As an example, 8×8 approximation DCT of H.264/AVC is as shown in Equation 19.

The inverse-DCT-transformed 2N×2N image block A 3 of the spatial domain is partitioned into four N×N image blocks W 0 , W 1 , W 2 , and W 3 (step 34 ). Referring to FIG. 9 , the four N×N image blocks forming the inverse-DCT-transformed 2N×2N image block A 3 of the spatial domain includes an N×N image block W 0 positioned at the upper left side, an N×N image block W 1 positioned at the upper right side, an N×N image block W 2 positioned at the lower left side, and an N×N image block W 0 positioned at the lower right side.

The partitioned four N×N image blocks W 0 , W 1 , W 2 , and W 3 are respectively approximation-DCT-transformed to create four N×N approximation DCT coefficient blocks V 0 , V 1 , V 2 , and V 3 (step 35 ). The four N×N approximation DCT coefficient blocks V 0 , V 1 , V 2 , and V 3 are respectively created as shown in Equation 20.

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT · 3 of 4

V 0= T N×N DA ·W 0·( T N×N DA ) t

V 1= T N×N DA ·W 1·( T N×N DA ) t

V 2= T N×N DA ·W 2·( T N×N DA ) t

V 3= T N×N DA ·W 3·( T N×N DA ) t   [Equation 20]

As an example, if N=4, 4×4 approximation DCT of H.264/AVC is as shown in Equation 21.

Post scaling factors PFs of respective N×N approximation DCT coefficient blocks V 0 , V 1 , V 2 , and V 3 are separated from the created four N×N approximation DCT coefficient blocks V 0 , V 1 , V 2 , and V 3 (step 36 ).

FIG. 10 is a flowchart illustrating step 36 in further detail.

Referring to FIG. 10 , as shown in Equation 22, the N×N approximation DCT coefficient blocks V 0 , V 1 , V 2 , and V 3 are respectively matrix-decomposed in the form of a multiplication of the N×N approximation DCT coefficient block A 1 , a matrix K 0 multiplied to the left side of the N×N approximation DCT coefficient block A 1 , and a matrix E 0 multiplied to the right side of the N×N approximation DCT coefficient block A 1 , in the form of a multiplication of the N×N approximation DCT coefficient block A 1 , a matrix K 1 multiplied to the left side of the N×N approximation DCT coefficient block A 1 , and a matrix E 1 multiplied to the right side of the N×N approximation DCT coefficient block A 1 , in the form of a multiplication of the N×N approximation DCT coefficient block A 1 , a matrix K 2 multiplied to the left side of the N×N approximation DCT coefficient block A 1 , and a matrix E 2 multiplied to the right side of the N×N approximation DCT coefficient block A 1 , and in the form of a multiplication of the N×N approximation DCT coefficient block A 1 , a matrix K 3 multiplied to the left side of the N×N approximation DCT coefficient block A 1 , and a matrix E 3 multiplied to the right side of the N×N approximation DCT coefficient block A 1 .

V 0= K 0· A 1· E 0

V 1= K 1· A 1· E 1

V 2= K 2· A 1· E 2

V 3= K 3· A 1· E 2  [Equation 22]

As shown in Equation 23, the N×N approximation DCT coefficient block A 1 is decomposed once more in the form of a multiplication of the inputted N×N integer DCT coefficient block I 2 , a left side post scaling factor matrix PFL multiplied to the left side of the N×N integer DCT coefficient block I 2 , and a right side post scaling factor matrix PFR multiplied to the right side of the N×N integer DCT coefficient block I 2 (step 21 ).

A 1= PFL·I 2· PFR   [Equation 23]

The post scaling factors PFs of the N×N approximation DCT coefficient blocks V 0 , V 1 , V 2 , and V 3 are decomposed by putting the N×N approximation DCT coefficient block A 1 decomposed in Equation 23 into the N×N approximation DCT coefficient blocks V 0 , V 1 , V 2 , and V 3 decomposed in Equation 22, respectively (step 42 ).

The step of separating the post scaling factors PFs of the N×N approximation DCT coefficient blocks V 0 , V 1 , V 2 , and V 3 is as described below.

As shown in Equation 24, integrated matrices K 00 , K 11 , K 22 , and K 33 are created by respectively multiplying matrices K 0 , K 1 , K 2 , and K 3 and the left side matrix PFL, and integrated matrix E 00 , E 11 , E 22 , and E 33 are created by respectively multiplying the right side matrix PFR and matrices E 0 , E 1 , E 2 , and E 3 .

V 0= K 00· I 2· E 00

V 1= K 11· I 2· E 11

V 2= K 22· I 2· E 22

V 3= K 33· I 2· E 33  [Equation 24]

As shown in Equation 25, matrices K 00 , K 11 , K 22 , and K 33 are respectively decomposed into a multiplication of the left side post scaling factor matrix PFL and a matrix K 000 , K 111 , K 222 , or K 333 in the form of multiplying the left side post scaling factor matrix PFL to the left side of the matrix K 000 , K 111 , K 222 , or K 333 , and matrices E 00 , E 11 , E 22 , and E 33 are respectively decomposed into a multiplication of the right side post scaling factor matrix PFR and a matrix E 000 , E 111 , E 222 , or E 333 in the form of multiplying the right side post scaling factor matrix PFR to the right side of the matrix E 000 , E 111 , E 222 , or E 333 .

V 0= PFL·K 000· I 2· E 000· PFR

V 1= PFL·K 111· I 2· E 111· PFR

V 2= PFL·K 222· I 2· E 222· PFR

V 3= PFL·K 333· I 2· E 333· PFR   [Equation 25]

As shown in Equation 26, the post scaling factors PFs are separated from the N×N approximation DCT coefficient blocks V 0 , V 1 , V 2 , and V 3 , and the separated post scaling factors PFs and the other matrices are decomposed as element-by-element multiplications.

V 0=( K 000· I 2· E 000) PF

V 1=( K 111· I 2· E 111) PF

V 2=( K 222· I 2· E 222) PF

V 3=( K 333· I 2· E 333) PF   [Equation 26]

In the case of integer DCT, examples of matrices K 000 , K 111 , K 222 , K 333 , E 000 , E 111 , E 222 , and E 333 and the post scaling factor PF are as shown in Equation 27 to 35.

Multiplications of the other matrices K 000 ·I 2 ·E 000 , K 111 ·I 2 ·E 111 , K 222 ·I 2 ·E 222 , and K 333 ·I 2 ·E 333 , excluding the post scaling factors PFs separated in Equation 26 after elements of matrices K 000 , K 111 , K 222 , K 333 , E 000 , E 111 , E 222 , and E 333 are integerized, are integrized and transformed into four N×N integer DCT coefficient blocks U 0 , U 1 , U 2 , and U 3 (step 37 ).

In order to transform the multiplications of the other matrices K 000 ·I 2 ·E 000 , K 111 ·I 2 ·E 111 , K 222 ·I 2 ·E 222 , and K 333 ·I 2 ·E 333 into N×N integer DCT coefficient blocks, elements of matrices K 000 , K 111 , K 222 , K 333 , E 000 , E 111 , E 222 , and E 333 , excluding the inputted N×N integer DCT coefficient block I 2 , should be respectively integerized. Matrices K 000 , K 111 , K 222 , K 333 , E 000 , E 111 , E 222 , and E 333 are transformed into matrices K 0000 , K 1111 , K 2223 , K 3334 , E 0000 , E 1111 , E 2222 , and E 3333 of elements having the closest integer values by multiplying respective elements by 2 as many times as the number of bits of a given bit accuracy.

Examples of matrices K 0000 , K 1111 , K 2223 , K 3334 , E 0000 , E 1111 , E 2222 , and E 3333 having an accuracy of 8 bits are as shown in Equations 36 to 43.

The transformed four N×N integer DCT coefficient blocks U 0 , U 1 , U 2 , and U 3 are summed to create a 2N×2N integer DCT coefficient block T 3 (step 38 ). Referring to FIG. 11 , the 2N×2N integer DCT coefficient block T 3 is created by positioning an N×N integer DCT coefficient block U 0 at the upper left side, an N×N integer DCT coefficient block U 1 at the upper right side, an N×N integer DCT coefficient block U 2 at the lower left side, and an N×N integer DCT coefficient block U 3 at the lower right side.

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT · 4 of 4

Accordingly, the inputted N×N integer DCT coefficient block I 2 is up-sampled to the 2N×2N integer DCT coefficient block T 3 through steps 30 to 38 described above, and therefore, the size of an image can be enlarged through an integer DCT operation.

Preferably, the up-sampled 2N×2N integer DCT coefficient block T 3 is divided by 2 as many times as the number of bits of the bit accuracy that is multiplied to integerize the elements of matrices K 000 , K 111 , K 222 , K 333 , E 000 , E 111 , E 222 , and E 333 , so that the size can be adjusted to a 2N×2N integer DCT coefficient block T 4 having the closest integer values (step 39 ).

On the other hand, the embodiments of the present invention described above can be programmed as a program executable in a computer and implemented in a general-purpose digital computer that operates the program using a computer-readable recoding medium.

The computer-readable recoding medium includes storage media such as magnetic storage media (e.g., ROM, floppy disk, and hard disk), optical reading media (e.g., CD-ROM, and DVD), and carrier waves (e.g., transmission through the Internet).

While the present invention has been described with reference to the particular illustrative embodiments, it is not to be restricted by the embodiments but only by the appended claims. It is to be appreciated that those skilled in the art can change or modify the embodiments without departing from the scope and spirit of the present invention.

Since the method of reducing and enlarging the size of an image according to the present invention reduces or enlarges the size of an image through an integer operation, hardware can be implemented using shifts and additions. Therefore, complexity of the hardware may be lowered, and the method of the present invention provides images of a good quality that is almost the same as the quality of an image provided according to a conventional method of reducing and enlarging an image using real-number DCT coefficients.

Furthermore, since the method of reducing and enlarging the size of an image according to the present invention reduces or enlarges the size of an image using integer DCT coefficients, occurrence of bit errors can be prevented when a real-number operation is transformed into an integer operation in the process of coding and decoding an image.

Furthermore, since the method of reducing and enlarging the size of an image according to the present invention reduces or enlarges the size of an image using integer DCT coefficients, the present invention is compatible with a H.264/AVC codec.

›Tables in the description — 2
PF=
[
a2
ab2
a2
ab2
ab2
b2
4
ab2
b2
4
a2
ab2
a2
ab2
ab2
b2
4
ab2
b2
4
]
⁢
⁢
⁢
Here,
⁢
a=
12
,
b=
25
.
[
Equation⁢
⁢1
]
PF=
[
a2
ab2
a2
ab2
ab2
b2
4
ab2
b2
4
a2
ab2
a2
ab2
ab2
b2
4
ab2
b2
4
]
⁢
⁢
⁢
Here,
⁢
a=
12
,
b=
25
.
[
Equation⁢
⁢17
]

Claims as granted

9 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

5 codes
IPC · International Patent Classification
Section G — Physics
  • G06K9/36
USPC · US Patent Classification
382/250382/233382/248382/298

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJan 2008Jul 2008Jan 2009Jul 2009Jan 2010Jul 2010Jan 2011Jul 2011Jan 2012USPTOApplicantNon-final rejectionResponse after non-final
USPTOApplicanthover for detail · click to open
Pendency
3.8 y
1,400 days filing → grant
Office actions
1
non-final + final
Responses
1
no RCE
Examiner
Samir Ahmed
art unit 2624 · TC 2600
Citations: 1 back · 1 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom20082010201220142016201820202022202420262028Owner 1
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock