Shlomo Selim Rakib, Cupertino US

Shlomo Selim Rakib, Cupertino, CA US

Patent application number

Description

Published

20090022472

Method and Apparatus for Video Digest Generation - Automated video digest system and method. The system decomposes video and audio portions of video media into low-level descriptors, producing a large number of such descriptors for each video image and scene. These descriptors are optimized to be both compatible with rapid automated descriptor creation, and also to have some positive or negative statistical correlation with the viewing preferences of typical human viewers. By comparing the number of descriptors correlated with positive human viewing preferences, versus the number of descriptors correlated with negative human viewing preferences, the automated system may analyze an unknown video program and make educated guesses as to which portions of the program are likely to be most interesting to the viewer on playback. Less interesting portions may be skipped or fast-forwarded though. The method may also be optimized to individual viewers. Such methods are useful for controlling the playback of digital video recorders and other systems.

Runtime Instruction Decoding Modification in a Multi-Processing Array - A method and system for decoding and modifying processor instructions in runtime according to certain rules in order to separately control processing elements embedded within a multi-processor array using a single instruction. The present invention allows multiple processing elements and/or execution units in a multi-processor array to perform different operations, based upon a variable or variables such as their location in the multi-processor array, while accepting a single instruction as an input.

05-21-2009

20090175538

Methods and systems for representation and matching of video content - The described methods and systems provide for the representation and matching of video content, including spatio-temporal matching of different video sequences. A particular method of determining temporal correspondence between different sets of video data inputs the sets of video data and represents the video data as ordered sequences of visual nucleotides. Temporally corresponding subsets of video data are determined by aligning the sequences of visual nucleotides.

07-09-2009

20090240755

METHOD OF PROVIDING SPACE FILLING PATTERNS - Methods of generating Hilbert space-filling indexes using simple bit-wise transformation are described herein. One method is based on a linear-based transformation uses bit-wise AND and XOR operations on a simple input index counter. In another method, the regular structure of the transform matrix was then used to obtain a Gray-based transform at a reduced complexity. Due to the simple and regular structure of the transformation, an efficient hardware implementation of generating indexes (addresses) along the Hilbert curve results.

09-24-2009

20090259633

Universal Lookup of Video-Related Data - A universal video-related lookup system and method receives a request for information associated with specific video content from a requesting device. The system and method identify a first video content identifier associated with the specific video content and retrieves first metadata associated with the specific video content based on the first video content identifier. Next, the system and method translate the first video content identifier into a second video content identifier associated with the specific video content and retrieves second metadata based on the second video content identifier. The first metadata and the second metadata are then provided to the requesting device.

10-15-2009

20090327894

Systems and methods for remote control of interactive video - The present invention describes a system and method for controlling interactive video, including a remote control device allowing the user to interact with the video. The method allows bringing the “lean-forward” hypervideo experience to a “lay-back” environment such as the TV screen. The method also allows for the creation of a single system that combines both the social aspects of the “lay-back” and the “lean-forward experience” into a new type of rich media viewing experience.

12-31-2009

20100005488

Contextual Advertising - A contextual advertising system and method receives video data and multiple advertisements associated with the video data. The system and method identify object content in the received video data and generates a video signal representing the video data. The video signal is communicated to a display device which displays a video image. User interaction with the displayed video image is monitored by the system and method. An advertisement is selected from the multiple received advertisements for display to the user. The advertisement is selected based on the user interaction with the displayed video image and the identified object content in the video data.

01-07-2010

20100008643

Methods and Systems for Interacting with Viewers of Video Content - A viewer interaction system and method receives video data from a video source and identifies object content in the received video data. A video signal is generated that represents the video data. That video signal is communicated to a display device which displays a video image representative of the video signal. The system and method monitor user interaction with the displayed video image and selects an interactive activity based on the user's interaction with the displayed video image and the identified object content in the received video data.

01-14-2010

20100011392

Methods and Systems For Media Content Control - The described systems and methods control the display of media content on a media player with player preferences. The media content is analyzed and multiple signatures are computed that are representative of temporal portions of the media content. The multiple signatures are matched to a database of signatures, and a closest corresponding signature is found. Metadata associated with the closest corresponding signatures is retrieved as matching metadata. Display of the media content is controlled based on the player preferences and the matching metadata.

01-14-2010

20100104184

Methods and systems for representation and matching of video content - The described methods and systems provide for the representation and matching of video content, including spatio-temporal matching of different video sequences. A particular method of determining temporal correspondence between different sets of video data inputs the sets of video data and represents the video data as ordered sequences of visual nucleotides. Temporally corresponding subsets of video data are determined by aligning the sequences of visual nucleotides.

04-29-2010

20100145992

Address Generation Unit Using Nested Loops To Scan Multi-Dimensional Data Structures - An apparatus, system, and method in accordance with the invention may include providing a multi-dimensional data structure and providing an address generation unit configured to calculate real addresses in order to access the multi-dimensional data structure in a desired pattern. The address generation unit may be configured to calculate the real addresses by executing a series of nested loops pre-programmed into the address generation unit prior to accessing the multi-dimensional data structure. The address generation unit may receive as inputs a set of parameters defining the characteristics of the nested loops. The method may then include accessing the data structure at the real addresses calculated by the address generation unit.

06-10-2010

20100145993

Address Generation Unit Using End Point Patterns to Scan Multi-Dimensional Data Structures - A system in accordance with the invention may include a data memory storing a multi-dimensional (e.g., a two-dimensional) data structure. An address generation unit is provided to calculate real addresses in order to access the multi-dimensional data structure in a desired pattern. The address generation unit may be configured to calculate real addresses by moving across the multi-dimensional data structure between pairs of end points. The pairs of end points (as well as parameters such as the step size between the end points) may be pre-programmed into the address generation unit prior to accessing the multi-dimensional data structure. A processor, such as a vector processor, may be configured to access (e.g., read or write data to) the data structure at the real addresses calculated by the address generation unit.

06-10-2010

20100146238

System and Method for Generating Real Addresses in Data Processing Architectures - A system and method for generating a real address in data memory in response to a read/write request may include generating an access request to at least one of read and write data to a data memory. A connection ID may be received in association with the access request. This connection ID may include a buffer ID designating a buffer in data memory to which to access the data, and a port ID designating a pattern in which to access the data in the buffer. The method may further include translating the connection ID into a real address of the data memory, and accessing the data in the data memory at a location corresponding to the real address.

06-10-2010

20100146241

Modified-SIMD Data Processing Architecture - An apparatus and method for processing data includes an array of processing elements to simultaneously perform operations on multiple data elements using a single instruction. A grouping module assigns each processing element within the array to one of several groups. A modification module designates how each group of processing elements should handle the single instruction. This enables each group of processing elements to handle the single instruction differently. Each processing element is configured to handle the single instruction based on the group the processing element belongs to.

06-10-2010

20100172402

Content Distribution Systems and Methods - A content distribution system and method receives content from a content source and decodes the received content. The system and method identifies at least one undesired virtual channel associated with the received content and removes content associated with the undesired virtual channel. The remaining content is then consolidated into a consolidated frequency range, encoded, and distributed within a distribution environment.

07-08-2010

20100172634

Content Distribution Systems and Methods - A content distribution system and method receives content from a content source and encodes the received content to generate encoded content. The encoded content is modulated to generate modulated content. A frequency is selected for distributing the modulated content. A determination is made regarding whether the selected frequency is available for distributing the modulated content. If the selected frequency is not available, alternate frequencies are selected until an available frequency is identified. If the selected frequency is available, the modulated content is then distributed using the selected frequency. Existing display devices equipped with appropriate tuners do not need any additional hardware or software to receive such content.

07-08-2010

20100175101

Content Distribution Systems and Methods - A content distribution system and method receives data from a data source and identifies at least one unused channel in the received data. The unused channel is filtered and identified as an available content transmission channel. Content is then received from a content source and encoded to generate encoded content. The encoded content is modulated to generate modulated content, which is distributed within a distribution environment using the available content transmission channel.

07-08-2010

20100281192

APPARATUS AND METHOD FOR TRANSFERRING DATA WITHIN A DATA PROCESSING SYSTEM - An apparatus for transferring data between buffers within a data processing architecture includes first and second memory devices. The apparatus further includes a first connection manager associated with a first buffer in the first memory device, and a second connection manager associated with a second buffer in the second memory device. The first and second connection managers manage data transfers between the first and second buffers. The first connection manager is configured to receive a token from the second connection manager in order to trigger data transfer between the first buffer and the second buffer. The first connection manager is further configured to initiate a data transfer between the first and second buffers in response to receiving the token. This token-based method for initiating data transfers between the connection managers requires little or no CPU intervention.

11-04-2010

20100281234

INTERLEAVED MULTI-THREADED VECTOR PROCESSOR - A method includes providing a processor configured to execute instructions. The method may further include providing a first set of registers in the processor to store first data and first instructions associated with a first thread, and providing a second set of registers in the processor to store second data and second instructions associated with a second thread. The method may further include transmitting the first data and first instructions associated with the first thread to the first set of registers, and executing the first instructions in order to process the first data. The method may further include transmitting the second data and second instructions to the second set of registers while executing the first instructions and processing the first data. A corresponding apparatus is also disclosed and claimed herein.

11-04-2010

20100281236

APPARATUS AND METHOD FOR TRANSFERRING DATA WITHIN A VECTOR PROCESSOR - An apparatus for processing data may include an array of processing elements (such as an n×m or n×n array of processing elements) configured to simultaneously perform operations on a plurality of data elements using a single instruction. Each processing element in the array may be configured to transfer data directly to at least one neighboring processing element within the array. In selected embodiments, the apparatus may include exchange registers to temporarily store data transferred between neighboring processing elements.

11-04-2010

20100281483

PROGRAMMABLE SCHEDULING CO-PROCESSOR - A scheduling co-processor for scheduling the execution of threads on a processor is disclosed. In certain embodiments, the scheduling co-processor includes one or more engines (such as lookup tables) that are programmable with a Petri-net representation of a thread scheduling algorithm. The scheduling co-processor may further include a token list to store tokens associated with the Petri-net; an enabled-thread list to indicate which threads are enabled for execution in response to particular tokens being present in the token list; and a ready-thread list to indicate which threads from the enabled-thread list are ready for execution when data and/or space availability conditions associated with the threads are satisfied.