IP Library Patent Application 13921129
Patent Application
App. No. 13/921,129

METHOD AND SYSTEM FOR EFFICIENT VIDEO TRANSCODING

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 None
App. No.
13/921,129
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 (78)

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 , 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 , 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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2013
From: METOEVI, ISABELLE; COULOMBE, STEPHANE
To: ECOLE DE TECHNOLOGIE SUPERIEURE
Reel/Frame 030638/0570 →