IP Library Granted Patent US 9,948,941
Granted Patent B2
US 9,948,941 · App. 14/690,490 · Granted Apr 17, 2018

Circuit, method and video decoder for video decoding

Inventor: Zhimin Qiu (Shanghai, CN)
Assignee: MONTAGE TECHNOLOGY (SHANGHAI) CO., LTD.
H04N19/436H04N19/40H04N19/423H04N19/91
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,948,941
App. No.
14/690,490
Granted
Apr 17, 2018
Kind
B2
Abstract

A circuit for decoding a video, comprising: at least one entropy transcoder configured to perform at least one entropy transcoding on a received bit stream, to generate transcoded streams, wherein the entropy transcoding includes transcoding syntax for the bit stream; at least one main decoding unit configured to perform at least one transcoded stream decompression and pixel decodings on a frame of the transcoded streams.

Claims (67)

1. A circuit for decoding a video, comprising:

at least one entropy transcoder configured to perform at least one entropy transcoding on a received bit stream, to generate transcoded streams, wherein each of the at least one entropy transcoding includes transcoding syntax for the bit stream; and

a plurality of main decoding units configured to perform, simultaneously and in parallel, a plurality of transcoded stream decompression and pixel decodings on a frame of the transcoded streams in a multi-layer wavefront level parallelization,

wherein the at least one entropy transcoder comprises a plurality of entropy transcoders, the plurality of entropy transcoders is configured to perform a plurality of entropy transcodings on a received bit stream, in a frame level parallelization, to generate transcoded streams, and each of the plurality of entropy transcoding includes transcoding syntax for the bit stream, and

wherein each of the plurality of the main decoding units is further configured to:

process a frame of different sub-streams in parallel to generate multiple basic processing unit rows; and

decoding the multiple basic processing unit rows in a diagonal order that reuses inter reference data in both horizontal and vertical direction.

2. The circuit of claim 1 , wherein the received bit stream is encoded in different formats, wherein each of the plurality of the entropy transcoders is further configured to transform the received bit stream encoded in different formats into the transcoded stream in a unified wavefront substeam format.

3. The circuit of claim 2 , wherein the different formats include tile parallelization, wavefront parallelization, slice parallelization or slice without parallelization.

4. The circuit of claim 1 , wherein the received bit stream is encoded in different formats, and each of the plurality of entropy transcoders further comprises:

an entropy decoder configured to entropy decode the received bit stream encoded in different formats;

an entropy encoder configured to entropy encode the decoded bit stream; and

a stream packer configured to pack the encoded bit stream into a unified format of wavefront substreams.

5. The circuit of claim 4 , wherein the entropy transcoder is further configured to:

obtain an available frame of the bit stream;

determine whether a memory buffer for transcoding stream is available;

determine whether an entropy transcoder is available, if the memory buffer for transcoding stream is available;

perform entropy transcoding; and

obtain a next available frame of bit stream meanwhile if the entropy transcoder is available.

6. The circuit of claim 1 , wherein each of the plurality of main decoding units further comprises:

a transcoded stream decompressor configured to decompress the transcoded stream so as to generate a decompressed stream;

a pixel decoder configured to perform inverse quantization, inverse transform, intra prediction, motion compensation and loop filtering on the decompressed stream;

a frame buffer compressor configured to compress reconstruction YUV data of the decompressed stream;

a motion compensation cache configured to cache motion compensation reference data of the decompressed stream into data in a compressed YUV format; and

a frame buffer decompressor configured to decompress the data in the compressed YUV format.

7. The circuit of claim 1 , further comprising a command scheduler, wherein each of the plurality of the main decoding units is further configured to:

check whether a frame of transcoded stream is available; and

the command scheduler is configured to schedule a plurality of candidate main decoding units according to commands stored in command queue if the frame of the transcoded stream is available.

8. The circuit of claim 1 , wherein the plurality of entropy transcoders operate in parallel; or the plurality of main decoding units operate in parallel.

9. The circuit of claim 1 , wherein the plurality of entropy transcoders operate in parallel with the plurality of main decoding units.

10. The circuit of claim 1 , wherein each basic processing unit in the multiple basic processing unit rows comprises a coding tree unit, a super-block, or a macroblock unit.

11. The circuit of claim 1 , further comprising a line buffer configured to perform intra prediction, deblocking filtering, sample adaptive offset filtering, and is configured to be shared by the plurality of main decoding units.

12. The circuit of claim 1 , wherein each of the plurality of main decoding units includes a motion compensation cache, and the circuit further comprises at least a shared cache which is shared by the plurality of main decoding units.

13. A method of decoding video, comprising

performing at least one entropy transcoding on a received bit stream, to generate transcoded streams, wherein each of the at least one entropy transcoding includes transcoding syntax for the bit stream;

performing at least one transcoded stream decompression and pixel decodings on a frame of the transcoded streams, wherein:

performing at least one transcoded stream decompression and pixel decodings further comprises performing, simultaneously and in parallel, a plurality of pixel decodings on a frame of the transcoded streams in a multi-layer wavefront level parallelization,

wherein performing the at least one entropy transcoding further comprises performing a plurality of entropy transcodings on a received bit stream, in a frame level parallelization, to generate transcoded streams, wherein each of the plurality of entropy transcoding includes transcoding syntax for the bit stream, and

wherein performing one of the plurality of pixel decodings further comprises:

processing, by one of the plurality of main decoding units, a frame of different sub-streams in parallel to generate multiple basic processing unit rows; and

decoding the multiple basic processing unit rows in a diagonal order that reuses inter reference data in both horizontal and vertical direction.

14. The method of claim 13 , wherein the received bit stream is encoded in different formats, wherein performing each of the plurality of entropy transcoding further comprises

transforming the received bit stream encoded in different formats into the transcoded stream in a unified wavefront substeam format.

15. The method of claim 13 , wherein the different formats include tile parallelization, wavefront parallelization, slice parallelization or slice without parallelization.

16. The method of claim 13 , wherein the received bit stream is encoded in different formats, and performing each of the plurality of entropy transcoding further comprises

entropy decoding the received bit stream encoded in different formats;

entropy encoding the decoded bit stream; and

packing the encoded bit stream into a unified format of wavefront substreams.

17. The method of claim 16 , wherein each of the plurality of entropy transcoding further comprises:

obtaining an available frame of the bit stream;

determining whether a memory buffer for transcoding stream is available;

determining whether an entropy transcoder is available, if the memory buffer for transcoding stream is available;

perform entropy transcoding; and

obtaining a next available frame of bit stream meanwhile if the entropy transcoder unit is available.

18. The method of claim 13 , wherein each of the plurality of pixel decodings further comprises:

decompressing the transcoded stream so as to generate a decompressed stream;

performing inverse quantization, inverse transform, intra prediction, motion compensation and loop filtering on the decompressed stream;

compressing reconstruction YUV data of the decompressed stream;

caching motion compensation reference data of the decompressed stream into data in a compressed YUV format; and

decompressing the data in the compressed YUV format.

19. The method of claim 13 , wherein before processing the frame of the different sub-streams in parallel, performing the plurality of pixel decodings further comprises:

checking whether a frame of transcoded stream is available; and

scheduling, by a command scheduler, a plurality of candidate main decoding units according to commands stored in command queue if the frame of the transcoded stream is available.

20. The method of claim 13 , wherein the plurality of entropy transcodings are performed in parallel; or the plurality of pixel decodings are performed in parallel.

21. The method of claim 13 , wherein performing the plurality of entropy transcoding is in parallel with performing the plurality of pixel decodings.

22. The method of claim 13 , wherein each basic processing unit in the multiple basic processing unit rows comprises a coding tree unit, a super-block, or a macroblock unit.

23. A video decoder, comprising the circuit according to claim 1 .

Assignments (3)
SECURITY INTEREST Recorded Apr 24, 2024
From: MONTAGE LZ SEMICONDUCTOR (SHANGHAI) CO., LTD.; MONTAGE LZ TECHNOLOGIES (CHENGDU) CO., LTD.
To: RENLAI ELECTRONIC TECHNOLOGIES (SHANGHAI) CO., LTD.
Reel/Frame 067200/0638 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2017
From: MONTAGE TECHNOLOGY (SHANGHAI) CO., LTD.
To: MONTAGE LZ SEMICONDUCTOR (SHANGHAI) CO., LTD.; MONTAGE LZ TECHNOLOGIES (CHENGDU) CO., LTD.
Reel/Frame 044033/0131 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2015
From: QIU, ZHIMIN
To: MONTAGE TECHNOLOGY (SHANGHAI) CO., LTD.
Reel/Frame 035443/0610 →
Priority Claims (1)
CN 2015 1 0171047 · Apr 10, 2015 · national
Continuity (1)
Related Publication 20160301942A1 · Oct 13, 2016