Inventors list

Assignees list

Classification tree browser

Top 100 Inventors

Top 100 Assignees


John Samuel Bushell, San Jose US

John Samuel Bushell, San Jose, CA US

Patent application numberDescriptionPublished
20080304573CAPTURING 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
20080320100DETERMINING 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
20090002381MEDIA 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
20090006695METHOD 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
20090024809Managing 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
20090063915MANAGING 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
20100241697METHOD 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
20100322598Search 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
20110122954Decoding 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

Patent applications by John Samuel Bushell, San Jose, CA US