IP Library Granted Patent US 10,097,845
Granted Patent B2
US 10,097,845 · App. 14/645,173 · Granted Oct 9, 2018

Method, apparatus and system for encoding and decoding video data using a block dictionary

Inventors: Volodymyr Kolesnikov (Marsfield, AU); Christopher James Rosewarne (Gosford, AU)
Assignee: Canon Kabushiki Kaisha
H04N19/423H04N19/52
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 10,097,845
App. No.
14/645,173
Granted
Oct 9, 2018
Kind
B2
Abstract

A method of decoding a coding unit from a video bitstream determines reconstructed samples for a first coding unit, from the video bitstream, and decodes a dictionary store flag from the video bitstream for the first coding unit. Where the dictionary store flag indicates that reconstructed samples for the first coding unit be stored, the method (i) stores the reconstructed samples for the first coding unit into a memory buffer; (ii) determines reconstructed samples for a second coding unit, the reconstructed samples for the second coding unit being copied from reconstructed samples for the first coding unit from the memory buffer, and (iii) outputs the reconstructed samples for the second coding unit. Also disclosed is a complementary method for encoding, a decoder and an encoder.

Claims (60)

1. A computer-implemented method of decoding a coding unit from a video bitstream, comprising:

determining, using a processor, reconstructed samples for a first prediction unit in a first coding unit of a frame, from the video bitstream;

decoding, using the processor, a dictionary store flag from the video bitstream based on a partition mode for the first prediction unit; and

where the dictionary store flag indicates that reconstructed samples for the first prediction unit be stored if the first prediction unit has a predetermined size:

storing the reconstructed samples for the first prediction unit of the frame into a processor-accessible memory buffer;

determining, using the processor, reconstructed samples for a second prediction unit in a second coding unit of the frame, the reconstructed samples for the second prediction unit being copied from reconstructed samples for the first prediction unit from the memory buffer; and

outputting, using the processor, the reconstructed samples for the second prediction unit in the frame.

2. The method according to claim 1 , wherein a dictionary store location is decoded from the video bitstream to indicate where to store the reconstructed samples for the first prediction unit in the memory buffer.

3. The method according to claim 2 , wherein the memory buffer is arranged as an array of samples.

4. The method according to claim 3 , wherein the dictionary store location specifies the location as a two-dimensional vector.

5. The method according to claim 2 , wherein the second prediction unit uses a dictionary block copy prediction mode.

6. The method according to claim 5 , wherein a dictionary load location specifies the location in the memory buffer from which to copy the reconstructed samples for the second prediction unit.

7. The method according to claim 1 , wherein setting of the dictionary store flag indicates that reconstructed samples for a prediction unit are available for decoding a subsequent coding unit.

8. The method according to claim 1 , wherein reconstructed samples stored in the memory buffer are those samples produced by intra-block copy prediction.

9. The method according to claim 1 , where the predetermined size is selected from a group of predetermined sizes that comprise the following predetermined sizes:

8×8 samples;

16×16 samples; and

32×32 samples.

10. The method according to claim 1 , wherein the predetermined size is one of a size of the first coding unit, and a size that is one quarter of the size of the first coding unit.

11. A computer-implemented method of encoding a coding unit into a video bitstream, comprising:

determining, using a processor, reconstructed samples for a first prediction unit in a first coding unit of a frame, from video frame data;

establishing, using the processor, a dictionary store flag for indicating that reconstructed samples for the first prediction unit are stored if the first prediction unit has a predetermined size, the dictionary store flag being based on a partition mode for the first prediction unit; and

where the dictionary store flag indicates that reconstructed samples for the first prediction unit are stored:

storing reconstructed samples for the first prediction unit of the frame in a dictionary block memory buffer;

determining, using the processor, reconstructed samples for a second prediction unit in a second coding unit of the frame, the reconstructed samples for the second prediction unit being copied from reconstructed samples for the first prediction unit from the dictionary block memory buffer; and

outputting, using the processor, the reconstructed samples for the second prediction unit in the bitstream.

12. The method according to claim 11 , wherein the dictionary store flag is encoded in the bitstream.

13. The method according to claim 11 , wherein the stored reconstructed samples comprise reconstructed samples used for intra block copy predicted encoding of the first prediction unit.

14. The method according to claim 13 , wherein the predetermined size is selected from a group of predetermined sizes that comprise the following predetermined sizes:

8×8 samples;

16×16 samples; and

32×32 samples.

15. The method according to claim 13 , wherein the predetermined size is one of a size of the first coding unit, and a size that is one quarter of the size of the first coding unit.

16. A non-transitory computer readable storage medium having a program recorded thereon, the program being executable by a processor to decode a coding unit from a video bitstream, the program comprising:

code for determining reconstructed samples for a first prediction unit in a first coding unit of a frame, from the video bitstream;

code for decoding a dictionary store flag from the video bitstream based on a partition mode for the first prediction unit; and

code, operative where the dictionary store flag indicates that reconstructed samples for the first prediction unit be stored if the first prediction unit has a predetermined size, to:

store the reconstructed samples for the first prediction unit of the frame into a memory buffer;

determine reconstructed samples for a second prediction unit in a second coding unit of the frame, the reconstructed samples for the second prediction unit being copied from reconstructed samples for the first prediction unit from the memory buffer; and

output the reconstructed samples for the second prediction unit in the frame.

17. A non-transitory computer readable storage medium having a program recorded thereon, the program being executable by a processor to encode a coding unit into a video bitstream, the program comprising:

code for determining reconstructed samples for a first prediction unit in a first coding unit of a frame, from video frame data;

code for establishing a dictionary store flag for indicating that reconstructed samples for the first prediction unit are stored if the first prediction unit has a predetermined size, the dictionary store flag being based on a partition mode for the first prediction unit; and

code, operative where the dictionary store flag indicates that reconstructed samples for the first prediction unit are stored, to:

store reconstructed samples for the first prediction unit of the frame in a dictionary block memory buffer;

determine reconstructed samples for a second prediction unit in a second coding unit of the frame, the reconstructed samples for the second prediction unit being copied from reconstructed samples for the first prediction unit from the dictionary block memory buffer; and

output the reconstructed samples for the second prediction unit in the bitstream.

18. A video decoder adapted to decode a coding unit from a video bitstream, the decoder comprising:

reconstruction apparatus adapted to use a processor to determine reconstructed samples and decode a dictionary store flag for a first prediction unit in a first coding unit of a frame, from the video bitstream; and

a dictionary block copy module adapted, where the dictionary store flag indicates that reconstructed samples for the first prediction unit be stored if the first prediction unit has a predetermined size, the dictionary store flag being based on a partition mode for the first prediction unit, to:

store the reconstructed samples for the first prediction unit of the frame into a processor-accessible memory buffer;

determine, using the processor, reconstructed samples for a second prediction unit in a second coding unit of the frame, the reconstructed samples for the second prediction unit being copied from reconstructed samples for the first prediction unit from the memory buffer; and

output, using the processor, the reconstructed samples for the second prediction unit in the frame.

19. A video encoder for encoding a coding unit into a video bitstream, the video encoder comprising:

reconstruction apparatus adapted to use a processor to determine reconstructed samples for a first prediction unit in a first coding unit of a frame from video frame data;

a dictionary block selector adapted to establish a dictionary store flag for indicating that reconstructed samples for the first prediction unit are stored if the first prediction unit has a predetermined size, the dictionary store flag being based on a partition mode for the first prediction unit; and

a dictionary block copy module adapted, where the dictionary store flag indicates that reconstructed samples for the first prediction unit are stored, to:

store reconstructed samples for the first prediction unit of the frame in a dictionary block memory buffer;

determine, using the processor, reconstructed samples for a second prediction unit in a second coding unit of the frame, the reconstructed samples for the second prediction unit being copied from reconstructed samples for the first prediction unit from the dictionary block memory buffer; and

output, using the processor, the reconstructed samples for the second prediction unit in the bitstream.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2015
From: KOLESNIKOV, VOLODYMYR; ROSEWARNE, CHRISTOPHER JAMES
To: CANON KABUSHIKI KAISHA
Reel/Frame 035337/0127 →
Priority Claims (1)
AU 2014201583 · Mar 14, 2014 · national
Continuity (1)
Related Publication 20150264372A1 · Sep 17, 2015
Cited By (1)
US 12,389,033