An apparatus, system, and method for providing a multi-dimensional data structure and 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 characteristics of the nested loops such as a starting offset, number of iterations or step size for loops, data structure dimensions, or loop starting point inheritance. A vector processor may then access the multi-dimensional data structure at the real addresses calculated by the address generation unit. The multi-dimensional data structure may be stored in a buffer in a data memory.
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.
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.
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.
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.
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.
H04N 7/10 - Adaptations for transmission by electrical cable
H04N 7/025 - Systems for transmission of digital non-picture data, e.g. of text during the active part of a television frame
H04N 7/173 - Analogue secrecy systemsAnalogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
H04N 7/16 - Analogue secrecy systemsAnalogue subscription systems
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/41 - Structure of clientStructure of client peripherals
H04N 21/43 - Processing of content or additional data, e.g. demultiplexing additional data from a digital video streamElementary client operations, e.g. monitoring of home network or synchronizing decoder's clockClient middleware
H04N 21/4725 - End-user interface for requesting content, additional data or servicesEnd-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification or for manipulating displayed content for requesting additional data associated with the content using interactive regions of the image, e.g. hot spots
H04N 21/84 - Generation or processing of descriptive data, e.g. content descriptors
7.
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.
The invention is directed to a system and method for determining position and orientation with respect to a display device. In particular, the invention is directed to acquiring an observed image from a display device using a pointing device, and calculating pointing device position and orientation using the acquired observed image and a displayed image on the display device.
G06F 3/037 - Pointing devices displaced or positioned by the userAccessories therefor using the raster scan of a cathode-ray tube [CRT] for detecting the position of the member, e.g. light pens cooperating with CRT monitors
9.
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.
G06F 3/00 - Input arrangements for transferring data to be processed into a form capable of being handled by the computerOutput arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
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.
G06F 3/00 - Input arrangements for transferring data to be processed into a form capable of being handled by the computerOutput arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
11.
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.
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 aiτay 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.
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.
G06F 3/00 - Input arrangements for transferring data to be processed into a form capable of being handled by the computerOutput arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
A process and apparatus for implementing parallelization in deblocking filter used in an H.264 codec are disclosed. In the preferred embodiment, the process is carried out on a parallel architecture consisting of a plurality of groups, each consisting of eight clusters, wherein each cluster is a separate processor capable of tensor operations in SIMD or MIMD mode on 4x4 matrix data. All eight clusters of one group are used to simultaneously deblock both luma and chroma vertical and horizontal edges between 4x4 blocks of pixels in a macroblock in a total of eight iterations, utilizing in the best way the data dependency between the edges. Processes to deblock these same luma and chroma edges in more iterations on four cluster and two cluster parallel architectures are also disclosed. A comparison of the maximum parallelization achievable with the invention and the amount of parallelization with various species within the prior art is also disclosed.
H04B 1/66 - Details of transmission systems, not covered by a single one of groups Details of transmission systems not characterised by the medium used for transmission for reducing bandwidth of signalsDetails of transmission systems, not covered by a single one of groups Details of transmission systems not characterised by the medium used for transmission for improving efficiency of transmission
16.
PARALLEL PROCESSING MOTION ESTIMATION FOR H.264 VIDEO CODEC
A genus of motion estimation processes is disclosed which is characterized by the following characteristics which all species in the genus will share 1) a process within this genus does not perform the motion estimation separately for each of the partitions and subpartitions defined in the H.264 standard; 2) a process within the genus computes for each motion vector in the search region the partial costs for all macroblock partitions and subpartitions, compares them to the best partial costs found so far, and for partitions and subpartitions having lower costs updates the corresponding best partial costs and records the current motion vectors as the one realizing them. 3) a process within the genus after finishing scanning the motion vectors in the search region, computes from the best partial costs the total costs for all possible macroblock partitioning modes and selects the one with the lowest total cost as the best macroblock partitioning mode, with the best motion vectors corresponding to each of the selected macroblock partitions and sub-partitions.