US2014146889A9PendingUtilityA9
Method and system for efficient video transcoding
Assignee: ECOLE TECHNOLOGIE SUPERIEUREPriority: May 21, 2009Filed: Jun 18, 2013Published: May 29, 2014
Est. expiryMay 21, 2029(~2.8 yrs left)· nominal 20-yr term from priority
H04N 19/14H04N 19/61H04N 19/593H04N 19/109H04N 19/40H04N 19/139H04N 19/15H04N 19/176H04N 19/159H04N 19/107H04N 19/00472H04N 19/00763
54
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A method and system for an efficient transcoding of a sequence of input images in a first format to a sequence of output images in a second format are described. The method utilizes the encoding block mode, the motion vectors and the residual information extracted during the decoding of the input image that are effectively reused to select an optimal transcoding block mode and to perform selective refinement of motion vectors. A corresponding system for video transcoding is also provided.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A computerized method for transcoding a sequence of input images, each input image comprising one or more input macroblocks of pixels encoded in a first format into a sequence of output images, each output image comprising one or more output macroblocks of pixels encoded in a second format, the method comprising:
(a) for an input macroblock (MB), identifying an encoding block mode, indicating size of partitions within the input MB, respective motion vectors associated with the partitions, and a residual information; (b) determining, based on said residual information, a limited set of candidate transcoding block modes for transcoding the input MB into the output MB, the output MB having one or more partitions, each transcoding block mode indicating size of the partitions within the output MB, the limited set comprising fewer than all possible transcoding block modes, comprising:
(i) providing all possible transcoding block modes along with respective probabilities of being used in a transcoder;
(ii) from the all possible transcoding block modes, selecting transcoding block modes that have a high probability; and
(iii) among the transcoding block modes having the high probability, further selecting transcoding block modes based on a predetermined set of constraints for the input MB, to form the limited set;
(c) for each candidate transcoding block mode in the limited set, selectively improving accuracy of the motion vectors for the input MB using the residual information for the input MB to produce motion vectors for said each candidate transcoding block mode; (d) selecting an optimal transcoding block mode from the limited set, which optimizes a characteristic of the output MB; and (e) encoding the decoded input MB into the output MB by using the optimal transcoding block mode and corresponding motion vectors.
2 . The method of claim 1 , wherein the step (b) further comprises:
forming a block mode conversion array, providing a list of candidate transcoding block modes for each encoding block mode available in the first format, by transcoding training images encoded in the first format, by using a codec device, into respective transcoded training images encoded in the second format; and obtaining the limited set of candidate transcoding block modes from a said array.
3 . The method of claim 2 , further providing the list including those transcoding block modes which probability of usage is above a predetermined usage threshold.
4 . The method of claim 2 , further comprising:
selecting MBs in the set of training images, which use a specific encoding block mode; identifying those MBs among the selected MBs, which residual information satisfies a predetermined set of constraints; and obtaining the limited set from the candidate transcoding block modes available for transcoding the identified MBs.
5 . The method of claim 1 , wherein the residual information for the input MB comprises residual information for one or more partitions within the input MB.
6 . The method of claim 5 , wherein the step (c) further comprises:
for each partition within the input MB, determining residual energy for the partition using respective residual information for the partition within the input MB; and increasing accuracy of the motion vectors associated with those partitions within the input MB, which residual energy is above a predetermined energy threshold.
7 . The method of claim 5 , wherein the step (c) further comprises:
for each partition within the input MB, determining residual energy for the partition using respective residual information for the partition within the input MB; determining the residual energy for the input MB as a function of residual energies for the partitions within the input MB; and increasing accuracy of the motion vectors for the input MB based on the encoding block mode for the input MB, residual energy for one or more partitions within the input MB, and the residual energy for the input MB.
8 . The method of claim 5 , further comprising:
introducing a first category and a second category for the input MB, which respectively correspond to a first set of encoding block modes and a second set of encoding block modes; for the input MB in the first category:
for transcoding block modes, belonging to a predetermined first list of transcoding block
modes corresponding to the first set of the encoding block modes, increasing accuracy of the motion vectors associated with partitions whose residual energy is above a first energy threshold; and
for transcoding block modes, belonging to a predetermined second list of transcoding block modes corresponding to the second set of the encoding block modes, increasing accuracy of the motion vectors for the input MB; and
for the input MB in the second category, increasing accuracy of the motion vectors for the input MB provided a residual energy for the input MB exceeds a second energy threshold.
9 . The method of claim 5 , further comprising:
introducing a first category and a second category for the input MB, which respectively correspond to a first set of encoding block modes and a second set of encoding block modes respectively; for the input MB in the first category, increasing accuracy of the motion vectors associated with those partitions for the input MB whose residual energy exceeds a first energy threshold; and for the input MB in the second category, increasing accuracy of all the motion vectors for the input MB provided the residual energy for the input MB exceeds a second energy threshold.
10 . The method of claim 1 , wherein the sequence of input images is an input video and the sequence of output images is an output video.
11 . The method of claim 1 , wherein the first format is one of H.263, H.264, MPEG-2 and MPEG-4, and the second format is one of H.263, H.264, MPEG-2 and MPEG-4.
12 . A system for transcoding a sequence of input images, each input image comprising one or more input macroblocks of pixels encoded in a first format into a sequence of output images, each output image comprising one or more output macroblocks of pixels encoded in a second format, the system comprising:
a processor; and a non-transitory computer readable storage medium having computer readable instructions stored thereon for execution by the processor, causing the processor to:
(a) for an input macroblock (MB), identify an encoding block mode, indicating size of partitions within the input MB, respective motion vectors associated with the partitions, and a residual information;
(b) determine, based on said residual information, a limited set of candidate transcoding block modes for transcoding the input MB into the output MB, the output MB having one or more partitions, each transcoding block mode indicating size of the partitions within the output MB, the limited set comprising fewer than all possible transcoding block modes, comprising:
(i) providing all possible transcoding block modes along with respective probabilities of being used in a transcoder;
(ii) from the all possible transcoding block modes, selecting transcoding block modes that have a high probability; and
(iii) among the transcoding block modes having the high probability, further selecting transcoding block modes based on a predetermined set of constraints for the input MB, to form the limited set;
(c) for each candidate transcoding block mode in the limited set, selectively improve accuracy of the motion vectors for the input MB using the residual information for the input MB to produce motion vectors for said each candidate transcoding block mode;
(d) select an optimal transcoding block mode from the limited set, which optimizes a characteristic of the output MB; and
(e) encode the decoded input MB into the output MB by using the optimal transcoding block mode and corresponding motion vectors.
13 . The system of claim 12 , wherein the computer readable instructions further cause the processor to:
form a block mode conversion array, providing a list of candidate transcoding block modes for each encoding block mode available in the first format, by transcoding training images encoded in the first format, by using a codec device, into respective transcoded training images encoded in the second format; and obtain the limited set of candidate transcoding block modes from a said array.
14 . The system of claim 13 , wherein the computer readable instructions further cause the processor to provide the list including those transcoding block modes which probability of usage is above a predetermined usage threshold.
15 . The system of claim 13 , wherein the computer readable instructions further cause the processor to:
select MBs in the set of training images, which use a specific encoding block mode; identify those MBs among the selected MBs, which residual information satisfies a predetermined set of constraints; and obtain the limited set from the candidate transcoding block modes available for transcoding the identified MBs.
16 . The system of claim 12 , wherein the residual information for the input MB comprises residual information for one or more partitions within the input MB.
17 . The system of claim 16 , wherein the computer readable instructions further cause the processor to:
for each partition within the input MB, determine residual energy for the partition using respective residual information for the partition within the input MB; and increase accuracy of the motion vectors associated with those partitions within the input MB, which residual energy is above a predetermined energy threshold.
18 . The system of claim 5 , wherein the computer readable instructions further cause the processor to:
for each partition within the input MB, determine residual energy for the partition using respective residual information for the partition within the input MB; determine the residual energy for the input MB as a function of residual energies for the partitions within the input MB; and increase accuracy of the motion vectors for the input MB based on the encoding block mode for the input MB, residual energy for one or more partitions within the input MB, and the residual energy for the input MB.
19 . The system of claim 16 , wherein the computer readable instructions further cause the processor to:
introduce a first category and a second category for the input MB, which respectively correspond to a first set of encoding block modes and a second set of encoding block modes; for the input MB in the first category:
for transcoding block modes, belonging to a predetermined first list of transcoding block
modes corresponding to the first set of the encoding block modes, increase accuracy of the motion vectors associated with partitions whose residual energy is above a first energy threshold; and
for transcoding block modes, belonging to a predetermined second list of transcoding block modes corresponding to the second set of the encoding block modes, increase accuracy of the motion vectors for the input MB; and
for the input MB in the second category, increase accuracy of the motion vectors for the input MB, provided a residual energy for the input MB exceeds a second energy threshold.
20 . The system of claim 16 , wherein the computer readable instructions further cause the processor to:
introduce a first category and a second category for the input MB, which respectively correspond to a first set of encoding block modes and a second set of encoding block modes respectively; for the input MB in the first category, increase accuracy of the motion vectors associated with those partitions for the input MB whose residual energy exceeds a first energy threshold; and for the input MB in the second category, increase accuracy of all the motion vectors for the input MB provided the residual energy for the input MB exceeds a second energy threshold.
21 . The system of claim 12 , wherein the sequence of input images is an input video and the sequence of output images is an output video.
22 . The system of claim 12 , wherein the first format is one of H.263, H.264, MPEG-2 and MPEG-4, and the second format is one of H.263, H.264, MPEG-2 and MPEG-4.Join the waitlist — get patent alerts
Track US2014146889A9 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.