IP Library Granted Patent US 9,001,893
Granted Patent B2
US 9,001,893 · App. 13/003,391 · Granted Apr 7, 2015

Image decoding apparatus, integrated circuit, image decoding method, and image decoding system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,001,893
App. No.
13/003,391
Granted
Apr 7, 2015
Kind
B2
Abstract

A transfer unit configured to transfer a motion vector of a co-located macroblock corresponding to a w-th macroblock from an external memory to a buffer when a determining unit determines that the motion vector of the co-located macroblock corresponding to the w-th macroblock is necessary for calculating the motion vector for the w-th macroblock. Additionally, the transfer unit does not transfer the motion vector of the co-located macroblock corresponding to the w-th macroblock from the external memory to the buffer when the determining unit determines that the motion vector of the co-located macroblock corresponding to the w-th macroblock is not necessary for calculating the motion vector for the w-th macroblock.

Claims (67)

1. An image decoding apparatus that sequentially decodes, in a predetermined order, a plurality of macroblocks included in a coded picture, the image decoding apparatus comprising:

a non-transitory memory storing a program; and

a hardware processor configured to execute the program and cause the image decoding apparatus to operate as:

a transfer unit configured to perform data communication with an external memory that stores a motion vector of a co-located macroblock corresponding to each of the macroblocks;

a buffer;

a first decoding unit configured to sequentially decode the macroblocks;

a second decoding unit configured to decode, before the first decoding unit completes decoding a v-th macroblock, at least determination information corresponding to a w-th macroblock, the determination information being for determining whether or not a motion vector of a co-located macroblock corresponding to the w-th macroblock is to be transferred to the buffer for calculating a motion vector for the w-th macroblock, v being an integer equal to or larger than 1, w satisfying w≧v+1, and the v-th macroblock and the w-th macroblock being included in the macroblocks; and

a determining unit configured to determine, from the determination information decoded by the second decoding unit, whether or not the motion vector of the co-located macroblock corresponding to the w-th macroblock is necessary for calculating the motion vector for the w-th macroblock,

wherein:

the transfer unit is configured

to transfer the motion vector of the co-located macroblock corresponding to the w-th macroblock from the external memory to the buffer when the determining unit determines that the motion vector of the co-located macroblock corresponding to the w-th macroblock is necessary for calculating the motion vector for the w-th macroblock, and to not transfer the motion vector of the co-located macroblock corresponding to the w-th macroblock from the external memory to the buffer when the determining unit determines that the motion vector of the co-located macroblock corresponding to the w-th macroblock is not necessary for calculating the motion vector for the w-th macroblock, and

the second decoding unit is configured to transmit the decoded determination information to the first decoding unit.

2. The image decoding apparatus according to claim 1 , further comprising

a calculating unit configured to calculate the motion vector for the w-th macroblock, using the motion vector of the co-located macroblock corresponding to the w-th macroblock that is transferred to the buffer, when the determining unit determines that the motion vector of the co-located macroblock corresponding to the w-th macroblock is necessary for calculating the motion vector for the w-th macroblock,

wherein the transfer unit is configured to transfer, to the external memory, the calculated motion vector of the w-th macroblock.

3. The image decoding apparatus according to claim 1 ,

wherein the transfer unit is configured

to transfer the motion vector of the co-located macroblock corresponding to the w-th macroblock from the external memory to the buffer during a period when the first decoding unit is decoding the v-th macroblock, in the case where the motion vector of the co-located macroblock corresponding to the w-th macroblock is necessary for calculating the motion vector for the w-th macroblock, and

not to transfer the motion vector of the co-located macroblock corresponding to the w-th macroblock from the external memory to the buffer during the period when the first decoding unit is decoding the v-th macroblock, in the case where the motion vector of the co-located macroblock corresponding to the w-th macroblock is not necessary for calculating the motion vector for the w-th macroblock.

4. The image decoding apparatus according to claim 1 ,

wherein the second decoding unit is configured to decode only the determination information.

5. The image decoding apparatus according to claim 4 ,

wherein the first decoding unit is configured to decode a part of the w-th macroblock other than the determination information, the determination information being decoded by the second decoding unit.

6. The image decoding apparatus according to claim 1 ,

wherein the determination information indicates whether or not the w-th macroblock has been coded in a direct mode.

7. The image decoding apparatus according to claim 1 ,

wherein the determination information indicates whether or not the w-th macroblock is a skipped macroblock.

8. The image decoding apparatus according to claim 1 ,

wherein the determination information indicates whether or not the w-th macroblock is an inter macroblock.

9. The image decoding apparatus according to claim 1 ,

wherein each of the macroblocks is a macroblock coded in accordance with the H.264/AVC standard.

10. An integrated circuit that sequentially decodes, in a predetermined order, a plurality of macroblocks included in a coded picture, the integrated circuit comprising:

a non-transitory memory storing a program; and

a hardware processor configured to execute the program and cause the integrated circuit to operate as:

a transfer unit configured to perform data communication with an external memory that stores a motion vector of a co-located macroblock corresponding to each of the macroblocks;

a buffer;

a first decoding unit configured to sequentially decode the macroblocks;

a second decoding unit configured to decode, before the first decoding unit completes decoding a v-th macroblock, at least determination information corresponding to a w-th macroblock, the determination information being for determining whether or not a motion vector of a co-located macroblock corresponding to the w-th macroblock is to be transferred to the buffer for calculating a motion vector for the w-th macroblock, v being an integer equal to or larger than 1, w satisfying w≧v+1, and the v-th macroblock and the w-th macroblock being included in the macroblocks; and

a determining unit configured to determine, from the determination information decoded by the second decoding unit, whether or not the motion vector of the co-located macroblock corresponding to the w-th macroblock is necessary for calculating the motion vector for the w-th macroblock,

wherein:

the transfer unit is configured

to transfer the motion vector of the co-located macroblock corresponding to the w-th macroblock from the external memory to the buffer when the determining unit determines that the motion vector of the co-located macroblock corresponding to the w-th macroblock is necessary for calculating the motion vector for the w-th macroblock, and to not transfer the motion vector of the co-located macroblock corresponding to the w-th macroblock from the external memory to the buffer when the determining unit determines that the motion vector of the co-located macroblock corresponding to the w-th macroblock is not necessary for calculating the motion vector for the w-th macroblock, and

the second decoding unit is configured to transmit the decoded determination information to the first decoding unit.

11. An image decoding method performed by an image decoding apparatus that sequentially decodes a plurality of macroblocks in a predetermined order, the macroblocks being included in a coded picture, the image decoding apparatus including:

a transfer unit configured to perform data communication with an external memory that stores a motion vector of a co-located macroblock corresponding to each of the macroblocks;

a buffer;

a first decoding unit configured to sequentially decode the macroblocks; and

a second decoding unit configured to decode, before the first decoding unit completes decoding a v-th macroblock, at least determination information corresponding to a w-th macroblock, the determination information being for determining whether or not a motion vector of a co-located macroblock corresponding to the w-th macroblock is to be transferred to the buffer for calculating a motion vector for the w-th macroblock, v being an integer equal to or larger than 1, w satisfying w≧v+1, and the v-th macroblock and the w-th macroblock being included in the macroblocks, and

the image decoding method comprising:

determining, from the determination information decoded by the second decoding unit, whether or not the motion vector of the co-located macroblock corresponding to the w-th macroblock is necessary for calculating the motion vector for the w-th macroblock; and

transferring the motion vector of the co-located macroblock corresponding to the w-th macroblock from the external memory to the buffer by the transfer unit, when it is determined in the determining step that the motion vector of the co-located macroblock corresponding to the w-th macroblock is necessary for calculating the motion vector for the w-th macroblock, and not transferring the motion vector of the co-located macroblock corresponding to the w-th macroblock from the external memory to the buffer when it is determined that the motion vector of the co-located macroblock corresponding to the w-th macroblock is not necessary for calculating the motion vector for the w-th macroblock,

wherein the second decoding unit is configured to transmit the decoded determination information to the first decoding unit.

12. An image decoding system, comprising:

an image decoding apparatus that sequentially decodes, in a predetermined order, a plurality of macroblocks included in a coded picture; and

an external memory that stores a motion vector of a co-located macroblock corresponding to each of the macroblocks,

the image decoding apparatus including:

a non-transitory memory storing a program; and

a hardware processor configured to execute the program and cause the image decoding apparatus to operate as:

a transfer unit configured to perform data communication with the external memory;

a buffer;

a first decoding unit configured to sequentially decode the macroblocks;

a second decoding unit configured to decode, before the first decoding unit completes decoding a v-th macroblock, at least determination information corresponding to a w-th macroblock, the determination information being for determining whether or not a motion vector of a co-located macroblock corresponding to the w-th macroblock is to be transferred to the buffer for calculating a motion vector for the w-th macroblock, v being an integer equal to or larger than 1, w satisfying w≧v+1, and the v-th macroblock and the w-th macroblock being included in the macroblocks; and

a determining unit configured to determine, from the determination information decoded by the second decoding unit, whether or not the motion vector of the co-located macroblock corresponding to the w-th macroblock is necessary for calculating the motion vector for the w-th macroblock,

wherein:

the transfer unit is configured

to transfer the motion vector of the co-located macroblock corresponding to the w-th macroblock from the external memory to the buffer when the determining unit determines that the motion vector of the co-located macroblock corresponding to the w-th macroblock is necessary for calculating the motion vector for the w-th macroblock, and to not transfer the motion vector of the co-located macroblock corresponding to the w-th macroblock from the external memory to the buffer when the determining unit determines that the motion vector of the co-located macroblock corresponding to the w-th macroblock is not necessary for calculating the motion vector for the w-th macroblock, and

the second decoding unit is configured to transmit the decoded determination information to the first decoding unit.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE ERRONEOUSLY FILED APPLICATION NUMBERS 13/384239, 13/498734, 14/116681 AND 14/301144 PREVIOUSLY RECORDED ON REEL 034194 FRAME 0143. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 24, 2020
From: PANASONIC CORPORATION
To: PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO., LTD.
Reel/Frame 056788/0362 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2018
From: PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO., LTD.
To: SOVEREIGN PEAK VENTURES, LLC
Reel/Frame 048268/0916 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2014
From: PANASONIC CORPORATION
To: PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO., LTD.
Reel/Frame 034194/0143 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2011
From: AMANO, HIROSHI
To: PANASONIC CORPORATION
Reel/Frame 025964/0016 →