IP Library Granted Patent US 9,077,578
Granted Patent B1
US 9,077,578 · App. 13/154,222 · Granted Jul 7, 2015

Scalable real-time video compositing systems and methods

Inventors: Govind Kizhepat (Los Altos Hills, CA); Yung-Hsiao Lai (Fremont, CA)
Assignee: Vuemix, Inc.
H04L29/06H04N21/236
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,077,578
App. No.
13/154,222
Granted
Jul 7, 2015
Kind
B1
Abstract

In some embodiments, a server system composites in real-time, in response to a user video search query, a standard-compliant (e.g. MPEG-4/H.264) SD or HD video stream encoding a rectangular (x-y) composite video preview panel array (grid) of video search results. Each panel/tile in the rectangular panel array displays a temporal section (e.g. the first 90 seconds, looped-back) of a video identified in response to the user query. Generating the composite video panel array in real-time is achieved by compositing the component video panels in the compressed domain, after each panel undergoes off-line a compressed-domain pre-compositing preparation process that facilitates dynamic compositing of the panels into a single video stream. The pre-compositing preparation includes transcoding to a format having a down-scaled common resolution, common GOP structure, and one-slice-per-row slice structure.

Claims (29)

1. A computer system comprising at least one memory connected to at least one processor configured to:

in response to a user video search query, composite a plurality of transcoded video streams in the transform domain into a dynamically-generated composite video stream encoding a preview video panel array responsive to the user video search query, wherein:

the plurality of transcoded video streams are generated by transcoding a corresponding plurality of independent input video streams, wherein at least one of the input independent video streams includes slices encoding more than one row of video blocks, wherein transcoding the plurality of independent input video streams comprises

downscaling each of the independent video streams,

enforcing a common group-of-picture (GOP) structure across the plurality of transcoded video streams, wherein a GOP structure of the composite video stream coincides with the common GOP structure of the plurality of transcoded video streams, and

enforcing a one-slice-per-row slice structure for each picture of the plurality of transcoded video streams; and

transmit the composite video stream for generating a display of the preview video panel array.

2. The computer system of claim 1 , wherein the at least one processor is further configured to encapsulate the composite video stream in a container prior to transmitting the composite video stream for generating the display of the preview video panel array.

3. The computer system of claim 1 , wherein the at least one processor is further configured to identify a display hardware configuration used to generate the display of the preview video panel array, and to select an array size of the preview video panel array according to the display hardware configuration.

4. The computer system of claim 3 , wherein the at least one processor is configured to select the array size of the preview video panel array according to a screen diagonal size.

5. The computer system of claim 1 , wherein the at least one processor is further configured to identify a display hardware configuration used to generate the display of the preview video panel array, and to select, according to the display hardware configuration, a pre-constructed video library from a plurality of video libraries, the pre-constructed video library comprising the plurality of input video streams, for retrieving the input video streams from the pre-constructed video library.

6. The computer system of claim 1 , wherein the at least one processor is further configured to transmit a plurality of audio streams responsive to the user search query, each audio stream corresponding to one of the panels of the preview video panel array.

7. The computer system of claim 1 , wherein the at least one processor is further configured to selectively transmit an audio stream corresponding to a selected panel of the preview video panel array in response to an indicator of a user selection from the preview video panel array of the selected panel.

8. The computer system of claim 1 , wherein the preview video panel array shows a loopback display of a predetermined temporal section of each of the input video streams.

9. The computer system of claim 1 , wherein the composite video stream is encoded in an H.264 format.

10. A method comprising employing a computer system comprising at least one memory connected to at least one processor to:

in response to a user video search query, composite a plurality of transcoded video streams in the transform domain into a dynamically-generated composite video stream encoding a preview video panel array responsive to the user video search query, wherein:

the plurality of transcoded video streams are generated by transcoding a corresponding plurality of independent input video streams, wherein at least one of the input independent video streams includes slices encoding more than one row of video blocks, wherein transcoding the plurality of independent input video streams comprises

downscaling each of the independent video streams,

enforcing a common group-of-picture (GOP) structure across the plurality of transcoded video streams, wherein a GOP structure of the composite video stream coincides with the common GOP structure of the plurality of transcoded video streams, and

enforcing a one-slice-per-row slice structure for each picture of the plurality of transcoded video streams; and

transmit the composite video stream for generating a display of the preview video panel array.

11. A computer system comprising:

means for, in response to a user video search query, compositing a plurality of transcoded video streams in the transform domain into a dynamically-generated composite video stream encoding a preview video panel array responsive to the user video search query, wherein:

the plurality of transcoded video streams are generated by transcoding a corresponding plurality of independent input video streams, wherein at least one of the input independent video streams includes slices encoding more than one row of video blocks, wherein transcoding the plurality of independent input video streams comprises

downscaling each of the independent video streams,

enforcing a common group-of-picture (GOP) structure across the plurality of transcoded video streams, wherein a GOP structure of the composite video stream coincides with the common GOP structure of the plurality of transcoded video streams, and

enforcing a one-slice-per-row slice structure for each picture of the plurality of transcoded video streams; and

means for transmitting the composite video stream for generating a display of the preview video panel array.

Assignments (3)
CHANGE OF NAME Recorded Jun 5, 2015
From: VYUMIX, INC.
To: VUEMIX, INC.
Reel/Frame 035832/0724 →
SECURITY AGREEMENT Recorded Aug 24, 2011
From: VYUMIX, INC.
To: VENTURE LENDING & LEASING VI, INC.
Reel/Frame 026803/0206 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2011
From: KIZHEPAT, GOVIND; LAI, YUNG-HSIAO
To: VYUMIX, INC.
Reel/Frame 026510/0037 →