Patent application number | Description | Published |
20080304573 | CAPTURING MEDIA IN SYNCHRONIZED FASHION - Techniques for synchronizing audio and video content for presentation to a user at a same rate are provided. Streams of content from two or more sources of media, each media source having an associated clock, are synchronized by a synchronizing component and processor with respect to a master clock. As well, techniques are provided for ensuring that output devices are synchronized at preview startup. That is, such techniques ensure that the output devices start playing the media at the same time as well as at the same rate. | 12-11-2008 |
20080320100 | DETERMINING PLAYABILITY OF MEDIA FILES WITH MINIMAL DOWNLOADING - A method is provided through which information about media files embedded in web pages is obtained from a server and analyzed to determine if the media files are playable on a device. This information may be external to the media file or may be a portion of the media file itself. The determination of whether a media file is playable by a device is made based on information obtained from the server without downloading the entirety of the media file. | 12-25-2008 |
20090002381 | MEDIA SYNCHRONIZATION VIA IMAGE QUEUE - This invention is directed to a system for processing media in an electronic device. An application operative to request the display of one or more graphics elements may be implemented on the electronic device. The application may identify graphics elements for display and organize the graphics elements in a layer tree for processing and display by a render server (e.g., a core animation render server). To coordinate the processing of graphics elements of the application or of several applications, the electronic device may include a media server operative to receive media from the application and generate an image queue that includes video frames of the media. The render server may associate a slot ID with each image queue, while the media server may provide the slot ID to the application for inclusion in the layer tree. When the render server reaches a slot ID in the layer tree, the render server may identify and display the associated image queue. | 01-01-2009 |
20090006695 | METHOD AND APPARATUS FOR MEDIATING AMONG MEDIA APPLICATIONS - In a device that can execute multiple media applications, but only one at a time, a media server coordinates among applications, but neither the media server nor the individual applications maintain rules regarding all of the different applications. Each connection used by an application is assigned a priority and communicates that priority to the media server when the connection is established. When an application requests to begin playback, the request is granted if no other application is playing, or if another application is playing on a connection having a priority at most equal to that of the connection used by the requesting application, but is denied if the connection already in use has a higher priority. Resumption of an application that was interrupted by another application on a connection with higher priority is determined by the interrupted application after the interruption ends, based on information communicated by the media server. | 01-01-2009 |
20090024809 | Managing Purgeable Memory Objects - A system and method of managing purgeable memory objects includes a LIFO and/or FIFO queue for volatile memory objects, which can be emptied at a rate that matches the speed of a page queue. | 01-22-2009 |
20090063915 | MANAGING PURGEABLE MEMORY OBJECTS USING PURGE GROUPS - Memory objects associated with a portion of a cache (e.g., data blocks of a media file) are assigned a value based on their importance to an application that is consuming memory objects. The values are used to assign the data blocks to purge groups. The purge groups are a labeling mechanism for determining a purge order. A memory object associated with a first data block assigned to a first purge group may be purged before a memory object associated with a second data block assigned to a second purge group. As new data blocks are received by the application (e.g., from disk or a network connection), the blocks are assigned a value and added to a purge group. In some cases, the data blocks arrive out of order (e.g., order of consumption). Memory objects can be reassigned to a different purge group when new data blocks are added or reclaimed. | 03-05-2009 |
20090180533 | CONTROL OF VIDEO DECODER FOR REVERSE PLAYBACK OPERATION - A video decoder includes a mode of operation for reverse playback that includes dividing a sequence of coded video data into groups of pictures (GOPs) and further subdividing the groups of pictures into a plurality of spans. GOPs extend in coding order from a first key frame to a terminal frame that precedes another key frame in coding order. Each span is processed in reverse coding order by decoding the first key frame and any reference frames that precede the currently processed span in coding order, selecting a plurality of frames from the currently processed span for decode and display and further selecting for decode but not display any reference frames from the currently processed span that were omitted by the first selection. All selected frames are decoded but only those marked for display are rendered at a display device. The method accommodates control parameters that define the number of spans selected from each GOP and the number of frames selected from each span for decoded and display. Via these control parameters, operation of the method may be tuned to local decoding environments for which processing resources and decoded picture buffer sizes may be unknown. | 07-16-2009 |
20100241697 | METHOD AND APPARATUS FOR MEDIATING AMONG MEDIA APPLICATIONS - In a device that can execute multiple media applications, but only one at a time, a media server coordinates among applications, but neither the media server nor the individual applications maintain rules regarding all of the different applications. Each connection used by an application is assigned a priority and communicates that priority to the media server when the connection is established. When an application requests to begin playback, the request is granted if no other application is playing, or if another application is playing on a connection having a priority at most equal to that of the connection used by the requesting application, but is denied if the connection already in use has a higher priority. Resumption of an application that was interrupted by another application on a connection with higher priority is determined by the interrupted application after the interruption ends, based on information communicated by the media server. | 09-23-2010 |
20100322598 | Search Algorithms for Using Related Decode and Display Timelines - A sequence of video images represented using multiple related timelines can be searched by identifying a first point on a first timeline associated with the sequence of video images, wherein the sequence of video images is comprised of one or more samples, determining a search range on a second timeline associated with the sequence of video images based on a positive offset and a negative offset associated with the one or more samples, and searching the second timeline based on the determined search range for a second point that corresponds to the identified first point. A display offset can be associated with each of the samples comprising the sequence of video images, wherein one or more of the display offsets can comprise a negative value. Additionally, the search range can be based on a maximum positive display offset and maximum negative display offset associated with the one or more samples. | 12-23-2010 |
20110122954 | Decoding Interdependent Frames of a Video Display - A module may provide codec-independent services including determining frame display order, frame dependency sets, and queuing the dependency frames in advance so as to enable display of a video. The module enables a video to be played forwards or backwards at a variety of playback speeds from any position within the video. In one implementation, a device communicatively coupled to a plurality of decoders accesses a video that includes a plurality of frames. One or more of the frames are decodable by one or more of the communicatively coupled decoders. The device identifies a frame in the video that is to be displayed, and determines a plurality of dependency frames in the video upon which decoding of the frame to be displayed depends. The device provides an indication that one or more associated dependency frames are to be decoded. | 05-26-2011 |
20110264715 | Location Metadata In A Media File - This is directed to systems, methods and computer-readable media for media files having timed and untimed location metadata. For example, a media file can include timed location metadata stored in a metadata track of the media file, such that individual timed packets of location information are each associated with different portions of the recorded media. In some embodiments, the location metadata can include information describing the direction the device is facing and/or elevation/tilt of the device relative a horizontal plane (e.g. a plane perpendicular to a line between the device position and the center of the earth) and/or a motion of the device. | 10-27-2011 |
20120288254 | CONTROL OF VIDEO DECODER FOR REVERSE PLAYBACK OPERATION - A video decoder includes a mode of operation for reverse playback that includes dividing a sequence of coded video data into groups of pictures (GOPs) and further subdividing the groups of pictures into a plurality of spans. Each span is processed in reverse coding order by decoding the first key frame and any reference frames that precede the currently processed span in coding order, selecting a plurality of frames from the currently processed span for decode and display and further selecting for decode but not display any reference frames from the currently processed span that were omitted by the first selection. The method accommodates control parameters that define the number of spans selected from each GOP and the number of frames selected from each span for decoded and display. | 11-15-2012 |
20120306921 | Adaptive Use of Wireless Display - A graphic display module operating on a first device prepares graphic data to be displayed on a wirelessly connected display adapter that includes graphics processing capability. The display adapter transmits metadata to the graphic display module that includes the graphic processing capabilities of the display adapter. The graphic display module uses the metadata, and possibly the available bandwidth, to selectively delegate graphic processing tasks to the display adapter. | 12-06-2012 |
20120311075 | PLAYLISTS FOR REAL-TIME OR NEAR REAL-TIME STREAMING - A content streaming system, such as an HTTP streaming system, can use a variant audio playlist that identifies different audio playlists, such as one playlist in English and one playlist in Spanish, for the same program such as a video program which is specified by a video playlist which can be separate from the variant audio playlist. A client can use the variant audio playlist to select a particular audio content for the same program, and the particular audio content can be referred to by one URL in the variant audio playlist, among a set of alternative URLs, in the variant audio playlist, for alternative audio content. | 12-06-2012 |
20120311094 | PLAYLISTS FOR REAL-TIME OR NEAR REAL-TIME STREAMING - Methods, systems and machine readable storage medium for allowing playback of streaming media at playback rates of other than 1× are described. In one embodiment, a method can determine different sets of I-frames that are available before a display deadline, where each set can have a different cadence, and one of the sets can be selected for download and display to achieve playback at other than 1×. Byte range requests from a client device can be used to retrieve each of the I-frames. Other methods, system and media are also described. | 12-06-2012 |
20120311582 | NOTIFICATION BARRIER - The disclosed embodiments provide a system which implements a notification barrier. During operation, the system receives a call to the notification barrier installed on a sender object, wherein the call originates from a receiver object which receives notifications posted by the sender object. In response to the call, the system acquires a notification lock, wherein the notification lock is held whenever the sender is posting a notification. The system then releases the notification lock, wherein releasing the lock indicates to the receiver object that the sender object has no pending posted notifications. | 12-06-2012 |
20140012952 | DETERMINING PLAYABILITY OF MEDIA FILES WITH MINIMAL DOWNLOADING - A method is provided through which information about media files embedded in web pages is obtained from a server and analyzed to determine if the media files are playable on a device. This information may be external to the media file or may be a portion of the media file itself. The determination of whether a media file is playable by a device is made based on information obtained from the server without downloading the entirety of the media file. | 01-09-2014 |
20140056569 | CAPTURING MEDIA IN SYNCHRONIZED FASHION - Techniques for synchronizing audio and video content for presentation to a user at a same rate are provided. Streams of content from two or more sources of media, each media source having an associated clock, are synchronized by a synchronizing component and processor with respect to a master clock. As well, techniques are provided for ensuring that output devices are synchronized at preview startup. That is, such techniques ensure that the output devices start playing the media at the same time as well as at the same rate. | 02-27-2014 |
20140086564 | DECODING INTERDEPENDENT FRAMES OF A VIDEO FOR DISPLAY - A module may provide codec-independent services including determining frame display order, frame dependency sets, and queuing the dependency frames in advance so as to enable display of a video. The module enables a video to be played forwards or backwards at a variety of playback speeds from any position within the video. In one implementation, a device communicatively coupled to a plurality of decoders accesses a video that includes a plurality of frames. One or more of the frames are decodable by one or more of the communicatively coupled decoders. The device identifies a frame in the video that is to be displayed, and determines a plurality of dependency frames in the video upon which decoding of the frame to be displayed depends. The device provides an indication that one or more associated dependency frames are to be decoded. | 03-27-2014 |
20140362918 | TUNING VIDEO COMPRESSION FOR HIGH FRAME RATE AND VARIABLE FRAME RATE CAPTURE - Video data with high frame rates may be displayed on devices with limited resources (e.g., decoder and/or display resources). These devices may have their resources devoted to other tasks or may not be capable to display the video data at the high frame rates. The coding method may include coding the frames such that additional droppable frames are included in the encoded video data. The decoding method may include dropping droppable frames before the encoded video data is decoded to reduce the number of frames that will be decoded and displayed. These methods may be applied to video data that has a variable frame rate and may be combined with processing the image sequence for slow motion playback. | 12-11-2014 |
20140379873 | PLAYLISTS FOR REAL-TIME OR NEAR REAL-TIME STREAMING - Methods, systems and machine readable storage medium for allowing playback of streaming media at playback rates of other than 1× are described. In one embodiment, a method can determine different sets of I-frames that are available before a display deadline, where each set can have a different cadence, and one of the sets can be selected for download and display to achieve playback at other than 1×. Byte range requests from a client device can be used to retrieve each of the I-frames. Other methods, system and media are also described. | 12-25-2014 |