US2013151972A1PendingUtilityA1

Media processing comparison system and techniques

53
Assignee: MICROSOFT CORPPriority: Jul 23, 2009Filed: Dec 7, 2012Published: Jun 13, 2013
Est. expiryJul 23, 2029(~3 yrs left)· nominal 20-yr term from priority
H04N 9/8205H04N 5/91G06F 3/048
53
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A media processing comparison system (“MPCS”) and techniques facilitate concurrent, subjective quality comparisons between media presentations produced by different instances of media processing components performing the same functions (for example, instances of media processing components in the form of hardware, software, and/or firmware, such as parsers, codecs, decryptors, and/or demultiplexers, supplied by the same or different entities) in a particular media content player. The MPCS receives an ordered stream of encoded media samples from a media source, and decodes a particular encoded media sample using two or more different instances of media processing components. A single renderer renders and/or coordinates the synchronous presentation of decoded media samples from each instance of media processing component(s) as separate media presentations. The media presentations may be subjectively compared and/or selected for storage by a user in a sample-by-sample manner.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A computer-readable storage medium encoded with computer-executable instructions which, when executed by a processor, perform a method for rendering media content, the media content having a play duration and being arranged into a plurality of consecutive encoded media samples receivable from a media source, the method comprising:
 ascertaining at least a portion of a media timeline having a plurality of presentation times, presentation times representing times within the play duration at which particular encoded media samples, when decoded, are available to be presented to a user;   identifying a particular presentation time;   identifying a particular encoded media sample, which when decoded, is available to be presented to a user at the particular presentation time;   using a first media processing component, decoding the particular encoded media sample to produce a first decoded output media sample;   using a second media processing component, decoding the particular encoded media sample to produce a second decoded output media sample;   rendering the first decoded output media sample to produce a first rendered media sample;   rendering the second decoded output media sample to produce a second rendered media sample; and   at the particular presentation time, synchronously presenting the first and second rendered media samples to a user,   the first and second rendered media samples subjectively comparable by the user.   
     
     
         2 . The computer-readable storage medium according to  claim 1 , wherein the computer-executable instructions comprise at least a portion of a multimedia pipeline. 
     
     
         3 . The computer-readable storage medium according to  claim 1 , wherein an order in which encoded media samples are decoded is different from an order in which output media samples are produced. 
     
     
         4 . The computer-readable storage medium according to  claim 1  further comprising:
 storing the first decoded output media sample in a first queue; 
 storing the second decoded output media sample in a second queue; 
 at a time prior to the particular presentation time, determining whether both the first decoded output media sample is stored in the first queue and the second decoded output media sample is stored in the second queue; 
 when both the first decoded output media sample is stored in the first queue and the second decoded output media sample is stored in the second queue, rendering the first and second decoded output media samples; and 
 when either the first decoded output media sample is not stored in the first queue or the second decoded output media sample is not stored in the second queue, not rendering the first and second decoded media samples. 
 
     
     
         5 . The computer-readable storage medium according to  claim 4 , wherein rendering the first and second decoded output media samples comprises pulling the first and second decoded output media samples from the first and second queues, respectively. 
     
     
         6 . The computer-readable storage medium according to  claim 5 , wherein pulling the first and second decoded output media samples from the first and second queues, respectively, comprises
 placing a lock on the respective queue,   after placing the lock, pulling the respective decoded output media sample from the respective queue, and   after pulling the respective decoded output media sample, releasing the lock on the respective queue.   
     
     
         7 . The computer-readable storage medium according to  claim 4 , wherein storing the first and second decoded output media samples in the first and second queues, respectively, comprises
 placing a lock on the respective queue,   after placing the lock, pushing the respective decoded output media sample onto the respective queue, and   after pushing the respective decoded output media sample, releasing the lock on the respective queue.   
     
     
         8 . The computer-readable storage medium according to  claim 4 , further comprising:
 after rendering and synchronously presenting, deleting the first and second decoded output media samples from the first and second queues, respectively.   
     
     
         9 . The computer-readable storage medium according to  claim 1 , further comprising:
 replicating the media content to form a first media content stream and a second media content stream, the first media content stream comprising a media content stream under test and the second media content stream comprising a reference media content stream;   identifying one or more encoded media samples from the first media sample stream and one or more encoded media samples from the second media sample stream;   inputting the one or more encoded media samples from the first media sample stream to the first media processing component, the first decoded output media sample produced by the first media processing component; and   inputting one or more encoded media samples from the second media sample stream to the second media processing component, the second decoded output media sample produced by the second media processing component,   at the particular presentation time, synchronously presenting the first and second rendered media samples to a user comprising synchronously presenting the media content stream under test and the reference media content stream to the user,   the media content stream under test and the reference media content stream subjectively comparable by the user.   
     
     
         10 . The computer-readable storage medium according to  claim 1 , wherein the first decoded output media sample is input to a first pin of the renderer, and the second decoded output media sample input to a second pin of the renderer. 
     
     
         11 . The computer-readable storage medium according to  claim 1 , further comprising:
 based on a user comparing the first and second rendered media samples, receiving a user designation of either the first rendered media sample or the second rendered media sample as being a higher quality rendered media sample;   adding the designated higher quality rendered media sample to an edited media content file, the edited media content file sharing the same media timeline as the media content, the designated higher quality rendered media sample playable at the particular presentation time.   
     
     
         12 . The computer-readable storage medium according to  claim 1 , wherein the first and second media processing components are selected from the group comprising: parsers; codecs; decryptors; demultiplexers; and combinations thereof. 
     
     
         13 . The computer-readable storage medium according to  claim 1 , wherein the first and second media processing components comprise codecs. 
     
     
         14 . The computer-readable storage medium according to  claim 1 , wherein synchronously presenting comprises displaying the first and second rendered media samples via a single output window having separate partitions for the first and second rendered media samples. 
     
     
         15 . A system for rendering media content, the media content having a play duration and being arranged into a plurality of consecutive encoded media samples receivable from a media source, the system comprising:
 a user interface;   a computer-readable storage medium; and   a set of media processing components comprising
 a first media decoding component, 
 a first queue associated with the first media decoding component, 
 a second media decoding component, 
 a second queue associated with the second media decoding component, and 
 a renderer responsive to the first media decoding component, the first queue, the second media decoding component, and the second queue, 
   the set of media processing components responsive to the computer-readable storage medium and to a computer program stored on the computer-readable storage medium, the computer program, when executed by one or more of the set of media processing components operable to perform a method comprising:   ascertaining at least a portion of a media timeline having a plurality of presentation times, presentation times representing times within the play duration at which particular encoded media samples, when decoded, are available to be presented to a user,   identifying a particular presentation time,   using a first media processing component, decoding one or more encoded media samples to produce a first decoded output media sample,   storing the first decoded output media sample in the first queue,   using a second media processing component, decoding one or more encoded media samples to produce a second decoded output media sample,   storing the second decoded output media sample in the second queue,   at a time prior to the particular presentation time, determining whether both the first decoded media sample is stored in the first queue and the second decoded media sample is stored in the second queue,   when both the first decoded media sample is stored in the first queue and the second decoded media sample is stored in the second queue, rendering the first decoded media sample to produce a first rendered media sample, and rendering the second decoded media sample to produce a second rendered media sample, and   at the particular presentation time, synchronously presenting the first and second rendered media samples to a user,   the first and second rendered media samples subjectively comparable by the user.   
     
     
         16 . The system according to  claim 15 , wherein the system is selected from the group comprising: a personal computer; a personal media player; an optical media player; a television set-top box; a mobile phone; a gaming device; a server; a video recorder; and a personal digital assistant. 
     
     
         17 . The system according to  claim 15 , wherein rendering the first and second decoded media samples comprises pulling the first and second decoded media samples from the first and second queues, respectively. 
     
     
         18 . The system according to  claim 15 , wherein pulling the first and second decoded media samples from the first and second queues, respectively, comprises
 placing a lock on the respective queue,   after placing the lock, pulling the respective decoded media sample from the respective queue, and   after pulling the respective decoded media sample, releasing the lock on the respective queue.   
     
     
         19 . The system according to  claim 15 , wherein storing the first and second decoded media samples in the first and second queues, respectively, comprises
 placing a lock on the respective queue,   after placing the lock, pushing the respective decoded media sample onto the respective queue, and   after pushing the respective decoded media sample, releasing the lock on the respective queue.   
     
     
         20 . The system according to  claim 15 , further comprising:
 based on a user comparing the first and second rendered media samples, receiving a user designation of either the first rendered media sample or the second rendered media sample as being a higher quality rendered media sample;   adding the designated higher quality rendered media sample to an edited media content file, the edited media content file sharing the same media timeline as the media content, the designated higher quality rendered media sample playable at the particular presentation time.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.