IP Library Granted Patent US 9,307,260
Granted Patent B2
US 9,307,260 · App. 13/498,685 · Granted Apr 5, 2016

Image decoding apparatus, image decoding method, image coding apparatus, and image coding method

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,307,260
App. No.
13/498,685
Granted
Apr 5, 2016
Kind
B2
Abstract

An image decoding apparatus ( 100 ) capable of appropriately executing parallel decoding processing by a simple structure includes: a stream segmentation control unit ( 140 ) that designates a processing target area, and selects a portion of a segment stream based on a position of the processing target area; M stream segmentation units ( 130 ) that generate M×N segment streams by executing stream segmentation processing on designated M processing target areas in parallel; and N decoding engines ( 120 ) that decode respective portions of the N segment streams including the selected portion in parallel. In the case where a slice included in the processing target area is segmented into a plurality of slice portions and assigned to a plurality of segment streams, each stream segmentation unit ( 130 ) reconstructs, for each segment stream, a slice portion group made up of one or more slice portions assigned to the segment stream, as a new slice.

Claims (74)

1. An image decoding apparatus that decodes a bit stream generated by coding image data, said image decoding apparatus comprising:

a processor;

a non-transitory computer-readable medium having stored thereon executable instructions, which when executed by the processor, cause the image decoding apparatus to:

designate processing target areas included in the bit stream;

generate M×N segment streams by executing stream segmentation processing in parallel on M processing target areas of the designated processing target areas;

execute the stream segmentation processing on one of the M processing target areas each time M processing target areas are designated, the stream segmentation processing being a process of generating at least a portion of N segment streams from one of the M processing target areas, M being an integer equal to or greater than 2, and N being an integer equal to or greater than 2;

for each processing target area of the designated processing target areas, select a portion of each of at least one segment stream from the generated M×N segment streams, based on a position of the respective processing target area in the bit stream;

each time the portion of each of the at least one segment stream is selected, decode respective portions of the N segment streams in parallel, the portions of the N segment streams including the portion of each of the at least one segment stream;

execute the stream segmentation processing, by segmenting one of the processing target areas into a plurality of structural units and assigning each of the plurality of structural units to a portion of a corresponding one of the generated N segment streams; and

for a slice included in the one of the processing target areas, the slice being segmented into a plurality of slice portions and the plurality of slice portions being assigned to a plurality of segment streams as a result of segmenting the one of the processing target areas into the plurality of structural units, reconstruct, for each of the plurality of segment streams, a slice portion group made up of one or more slice portions assigned to the segment stream, as a new slice.

2. The image decoding apparatus according to claim 1 ,

wherein the executable instructions, when executed by the processor, further cause the image decoding apparatus to analyze each piece of first header information included in the bit stream and generate the N segment streams based on a result of the analysis, irrespective of the designated processing target areas.

3. The image decoding apparatus according to claim 1 ,

wherein the executable instructions, when executed by the processor, further cause the image decoding apparatus to generate N segment streams that include second header information included in the bit stream, and

generate N segment streams that do not include the second header information.

4. The image decoding apparatus according to claim 1 ,

wherein the executable instructions, when executed by the processor, further cause the image decoding apparatus to generate selection information indicating the selected portion of the segment stream, and output the generated selection information, and

decode the portions of the N segment streams indicated by the outputted selection information, in parallel.

5. The image decoding apparatus according to claim 4 ,

wherein the executable instructions, when executed by the processor, further cause the image decoding apparatus to output the selection information including a data size of the selected portion of the segment stream, and

to specify the portions of the N segment streams based on the data size included in the outputted selection information, and decode the specified portions in parallel.

6. The image decoding apparatus according to claim 5 ,

wherein the executable instructions, when executed by the processor, further cause the image decoding apparatus to output the selection information including, as a data size, a number of bits or a number of data structural units constituting each of the N segment streams.

7. The image decoding apparatus according to claim 1 ,

wherein the executable instructions, when executed by the processor, further cause the image decoding apparatus to:

judge whether or not the stream segmentation processing executed on the designated M processing target area is completed; and

in the case of judging that the stream segmentation processing is completed, preferentially designate a new processing target area.

8. The image decoding apparatus according to claim 1 ,

wherein in the case where a first slice portion is decoded and included in an assigned segment stream from among the N segment streams and a second slice portion is decoded and included in an another assigned segment stream from among the N segment streams, the first slice portion and the second slice portion being spatially adjacent to each other:

the executable instructions, when executed by the processor, further cause the image decoding apparatus to start decoding the first slice portion before decoding the second slice portion; and

to obtain adjacency information generated as a result of the decoding of the first slice portion, and decode the second slice portion using the adjacency information or decode the second slice portion without using the adjacency information.

9. The image decoding apparatus according to claim 1 ,

wherein the executable instructions, when executed by the processor, further cause the image decoding apparatus to designate, as a processing target area of the processing target areas, a slice, a picture, or a picture group made up of a plurality of pictures in the bit stream.

10. An image decoding method for decoding a bit stream generated by coding image data, said image decoding method comprising:

designating processing target areas included in the bit stream;

generating M×N segment streams by executing stream segmentation processing in parallel on M processing target areas designated in said designating, the stream segmentation processing being a process of generating at least a portion of N segment streams from one of the M processing target areas each time M processing target areas are designated in said designating, M being an integer equal to or greater than 2, and N being an integer equal to or greater than 2;

selecting, for each processing target area of the processing target areas designated in said designating, a portion of each of at least one segment stream from the M×N segment streams generated in said generating, based on a position of the respective processing target area in the bit stream; and

decoding, each time the portion of each of the at least one segment stream is selected in said selecting, respective portions of the N segment streams in parallel, the portions of the N segment streams including the portion of each of the at least one segment stream,

wherein said generating includes:

executing the stream segmentation processing, by segmenting one of the processing target areas into a plurality of structural units and assigning each of the plurality of structural units to a portion of a corresponding one of the generated N segment streams; and

for a slice included in the one of the processing target areas, the slice being segmented into a plurality of slice portions and the plurality of slice portions being assigned to a plurality of segment streams as a result of segmenting the one of the processing target areas into the plurality of structural units, reconstructing, for each of the plurality of segment streams, a slice portion group made up of one or more slice portions assigned to the segment stream, as a new slice.

11. An image coding apparatus that generates a bit stream by coding image data, said image coding apparatus comprising:

a processor;

a non-transitory computer-readable medium having stored thereon executable instructions, which when executed by the processor, cause the image coding apparatus to:

generate N segment streams by coding in parallel, for each picture included in the image data, a plurality of structural units included in the picture, N being an integer equal to or greater than 2;

designate processing target areas included in the bit stream;

execute combination processing in parallel on M processing target areas of the designated processing target areas, the combination processing being a process of combining partial areas that are respectively included in the N segment streams and correspond to a processing target area of the designated processing target areas to generate a combined coding area which is the processing target area, M being an integer equal to or greater than 2;

sequentially select, from generated M combined coding areas, combined coding areas to be multiplexed, based on positions of designated M processing target areas in the bit stream;

generate the bit stream by multiplexing the M combined coding areas in an order in which the combined coding areas are selected;

in the case where the partial areas include a plurality of coded structural units when executing the combination processing, generate the combined coding area by segmenting the partial areas into the plurality of coded structural units and recombining the plurality of coded structural units; and

for a slice included in the image data, the slice being segmented into a plurality of slice portions and being coded and the plurality of coded slice portions assigned to the N segment streams when performing the recombination, reconstruct a slice portion group made up of the plurality of coded slice portions as a new slice in the combined coding area.

12. The image coding apparatus according to claim 11 ,

wherein the executable instructions, when executed by the processor, further cause the image coding apparatus to, each time a combined coding area to be multiplexed is selected, generate selection information indicating the selected combined coding area, and output the generated selection information, and

to, each time the selection information is obtained, multiplex the combined coding area indicated by the selection information into the bit stream.

13. The image coding apparatus according to claim 12 ,

wherein the executable instructions, when executed by the processor, further cause the image coding apparatus to output the selection information including a data size of the selected combined coding area, and

to multiplex the combined coding area of the data size included in the selection information, into the bit stream.

14. The image coding apparatus according to claim 11 ,

wherein the executable instructions, when executed by the processor, further cause the image coding apparatus to:

judge whether or not the executed combination processing is completed; and

in the case of judging that the combination processing is completed, preferentially designate a new processing target area.

15. The image coding apparatus according to claim 11 ,

wherein in the case where a first structural unit is coded and assigned from among N structural units and a second structural unit is coded and assigned from among the N structural units, the first structural unit and the second structural unit being adjacent to each other in the picture:

the executable instructions, when executed by the processor, further cause the image coding apparatus to start coding the first structural unit before coding the second structural unit; and

to obtain adjacency information generated by the coding of the first structural unit, and code the second structural unit using the adjacency information or code the second structural unit without using the adjacency information.

16. An image coding method for generating a bit stream by coding image data, said image coding method comprising:

generating N segment streams by coding in parallel, for each picture included in the image data, a plurality of structural units included in the picture, N being an integer equal to or greater than 2;

designating processing target areas included in the bit stream;

executing combination processing in parallel on M processing target areas designated in said designating, the combination processing being a process of combining partial areas that are respectively included in the N segment streams and correspond to a processing target area of the processing target areas designated in said designating to generate a combined coding area which is the processing target area, M being an integer equal to or greater than 2;

sequentially selecting, from M combined coding areas generated in said executing, combined coding areas to be multiplexed, based on positions of the M processing target areas in the bit stream, the M processing target areas being designated in said designating; and

generating the bit stream by multiplexing the M combined coding areas in order in which the combined coding areas are selected in said sequentially selecting,

wherein said executing includes:

in the case where the partial areas include a plurality of coded structural units when executing the combination processing, generating the combined coding area by segmenting the partial areas into the plurality of coded structural units and recombining the plurality of coded structural units; and

for a slice included in the image data, the slice being segmented into a plurality of slice portions and being coded and the plurality of coded slice portions assigned to the N segment streams when performing the recombination, reconstructing a slice portion group made up of the plurality of coded slice portions as a new slice in the combined coding area.

Assignments (3)
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 →