Device and method for video encoding
First Claim
Patent Images
1. A video encoding device, comprising:
- at least one processor;
a storage system; and
one or more programs stored in the storage system and executed by the at least one processor, and the one or more programs comprising instructions for;
determining whether to encode a current image into I-frame;
calculating N dispersed frames upon condition that the current image will be encoded into I-frame, wherein N is a positive integer starting at one;
dividing the current image into M macro blocks, and identifying importance of the M macro blocks according to a content of the current image, wherein M is a positive integer starting at one;
ranking the M macro blocks from high to low according to the importance, and labeling each macro block with a label x, wherein the label x is a positive integer from 1 to N;
encoding the macro blocks whose label x equals 1 with a low QP value and an intra-coding and encoding the macro blocks whose label x is greater than 1 with a high QP value and an intra-coded to form a first frame; and
encoding the macro blocks whose label x is less than n with the inter-coding to form a nth frame, wherein n is a positive integer from 2 to N,wherein labeling each macro block with the label x comprising;
selecting part of all macro blocks sequentially one by one to add to a macro block list, calculating total coding size STotal of the macro block list until the total size STotal is larger than Smax-frame, and labeling the macro blocks in the macro block list with label 1, wherein the Smax-frame is the maximum allowable transmit threshold of network transmission channel, wherein STotal=[1−
(Cmb-list/Cmb-total)]*SHQP+SINTRA, Cmb-list is a number of list macro block list, Cmb-total is a number of all of the macro blocks, SHQP is a size of the current image when encoding with a high QP value, SINTRA is a size of the macro block list when encoding with the intra-coding; and
clearing the macro block list and selecting the rest of all macro block sequentially one by one to add to the macro block list, calculating a total coding size S′
Total of the macro block list, until the total size S′
Total is larger than Smax-frame, and labeling the macro blocks in the macro block list with the label x, wherein S′
Total=[1−
(Cmb-list/Cmb-total)]*SPSKIP+SINTRA, wherein SPSKIP is a size of the current image when encoding with the inter-coding.
2 Assignments
0 Petitions
Accused Products
Abstract
A video encoding device calculates number of frames into which the current image needs to be encoded. The video encoding device divides the current image into a plurality of macro blocks, identifies importance of the respective macro blocks according to content of the current image and ranks the macro blocks from high to low according to the assigned importance. The video encoding device labels each macro block with a label, and encodes the macro blocks according to its label to form frames.
8 Citations
10 Claims
-
1. A video encoding device, comprising:
-
at least one processor; a storage system; and one or more programs stored in the storage system and executed by the at least one processor, and the one or more programs comprising instructions for; determining whether to encode a current image into I-frame; calculating N dispersed frames upon condition that the current image will be encoded into I-frame, wherein N is a positive integer starting at one; dividing the current image into M macro blocks, and identifying importance of the M macro blocks according to a content of the current image, wherein M is a positive integer starting at one; ranking the M macro blocks from high to low according to the importance, and labeling each macro block with a label x, wherein the label x is a positive integer from 1 to N; encoding the macro blocks whose label x equals 1 with a low QP value and an intra-coding and encoding the macro blocks whose label x is greater than 1 with a high QP value and an intra-coded to form a first frame; and encoding the macro blocks whose label x is less than n with the inter-coding to form a nth frame, wherein n is a positive integer from 2 to N, wherein labeling each macro block with the label x comprising; selecting part of all macro blocks sequentially one by one to add to a macro block list, calculating total coding size STotal of the macro block list until the total size STotal is larger than Smax-frame, and labeling the macro blocks in the macro block list with label 1, wherein the Smax-frame is the maximum allowable transmit threshold of network transmission channel, wherein STotal=[1−
(Cmb-list/Cmb-total)]*SHQP+SINTRA, Cmb-list is a number of list macro block list, Cmb-total is a number of all of the macro blocks, SHQP is a size of the current image when encoding with a high QP value, SINTRA is a size of the macro block list when encoding with the intra-coding; andclearing the macro block list and selecting the rest of all macro block sequentially one by one to add to the macro block list, calculating a total coding size S′
Total of the macro block list, until the total size S′
Total is larger than Smax-frame, and labeling the macro blocks in the macro block list with the label x, wherein S′
Total=[1−
(Cmb-list/Cmb-total)]*SPSKIP+SINTRA, wherein SPSKIP is a size of the current image when encoding with the inter-coding. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for video coding, comprising:
-
determining whether to encode a current image into I frame; calculating N dispersed frames upon condition that the current image will be encoded into I frame, wherein N is a positive integer starting at one; dividing the current image into M macro blocks, and identifying importance of the M macro blocks according to a content of the current image, wherein M is a positive integer starting at one; ranking the M macro blocks from high to low according to the importance, labeling each macro block with a label x, wherein the label x is a positive integer from 1 to N; encoding the macro blocks whose label x equals 1 with a low QP value and an intra-coding and encoding the macro blocks whose label x is greater than 1 with a high QP value and an intra-coded to form a first frame; and encoding the macro blocks whose label x is less than n with inter-coding to form a nth frame, wherein i is a positive integer from 2 to N, wherein labeling each macro block with the label x comprising; selecting part of all macro blocks sequentially one by one to add to a macro block list, calculating a total coding size STotal of the macro block list, until the total size STotal is larger than Smax-frame, and labeling the macro blocks in the macro block list with label 1, wherein STotal=[1−
(Cmb-list/Cmb-total)]*SHQP+SINTRA, Cmb-list is a number of list macro block list, Cmb-total is a number of all of the macro blocks, SHQP is a size of the current image when encoding with a high QP value, SINTRA is a size of the macro block list when encoding with the intra-coding; andclearing the macro block list and selecting the rest of all macro block sequentially one by one to add to the macro block list, calculating a total coding size S′
Total of the macro block list, until the total size STotal is larger than Smax-frame, and labeling the macro blocks in the macro block list with label x, wherein S′
Total=[1−
(Cmb-list/Cmb-total)]*SPSKIP+SINTRA, wherein SPSKIP is a size of the current image when encoding with the inter-coding,wherein the Smax-frame is the maximum allowable transmit threshold of network transmission channel. - View Dependent Claims (7, 8, 9, 10)
-
Specification