IP Library Granted Patent US 7,990,386
Granted Patent B2
US 7,990,386 · App. 11/297,171 · Granted Aug 2, 2011

Method for correlating animation and video in a computer system

Assignee: Oracle America, Inc.
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 7,990,386
App. No.
11/297,171
Granted
Aug 2, 2011
Kind
B2
Abstract

A method for correlating a video stream at a first speed and an animation sequence at a second speed that includes decoding the video stream to obtain a video frame, rendering the animation sequence to obtain an animation frame, wherein the first speed and the second speed are not equal, and correlating the animation frame with the video frame to obtain a correlated animation frame according to a frame index of the animation frame and a frame index of the video frame.

Claims (58)

1. A system for correlating a video stream and an animation sequence, comprising:

a video decoder for decoding the video stream at a first speed to extract a video frame, wherein the video frame comprises video and audio content;

an animation renderer for rendering a plurality of animation frames at a second speed to generate the animation sequence, wherein the first speed and the second speed are not equal, and wherein the animation sequence is configured to be composited with the video stream;

a frame correlator for correlating an animation frame of the plurality of animation frames with the video frame to obtain a correlated animation frame according to a frame index of the animation frame and a frame index of the video frame, wherein the frame index of the animation frame comprises a frame number for the animation frame, wherein the frame index of the video frame comprises a frame number for the video frame, and wherein animation content of the correlated animation frame is matched to the video and audio content of the video frame;

an animation frame writer configured to store the correlated animation frame in an available frame buffer from a pool of frame buffers; and

a frame compositor for compositing the video frame and the correlated animation frame to obtain a video-animation composite frame, wherein the video-animation composite frame comprises the video and audio content of the video frame in interaction with the animation content of the correlated animation frame,

wherein the frame correlator correlates the animation frame with the video frame according to a function i v =ƒ(i a ) to obtain a correlated animation frame, and

wherein i a is an integer representing the frame index of the animation frame, i v is an integer representing the frame index of the video frame, and ƒ represents the function.

2. The system of claim 1 , wherein the animation frame writer is further configured to store the frame index of the animation frame and the frame index of the video frame with the correlated animation frame in the available frame buffer.

3. The system of claim 1 , further comprising:

a displayer for displaying the video frame and the correlated animation frame at the same time.

4. The system of claim 1 , further comprising:

a video frame counter for counting a total number of video frames the video decoder has decoded at a given time.

5. The system of claim 1 , further comprising:

an animation frame counter for counting a total number of animation frames the animation renderer has rendered at a given time.

6. The system of claim 1 , further comprising:

an animation priority controller for controlling the second speed.

7. A method for correlating a video stream at a first speed and an animation sequence at a second speed, comprising:

decoding the video stream to extract a video frame, wherein the video frame comprises video and audio content;

rendering an animation frame to generate the animation sequence, wherein the first speed and the second speed are not equal, and wherein the animation sequence is configured to be composited with the video stream;

correlating the animation frame with the video frame to obtain a correlated animation frame according to a frame index of the animation frame and a frame index of the video frame, wherein the frame index of the animation frame comprises a frame number for the animation frame from the animation sequence, wherein the frame index of the video frame comprises a frame number for the video frame from the video stream, and wherein animation content of the correlated animation frame is matched to the video and audio content of the video frame;

storing the correlated animation frame in an available frame buffer from a pool of frame buffers; and

compositing the video frame and the correlated animation frame to obtain a video-animation composite frame, wherein the video-animation composite frame comprises the video and audio content of the video frame in interaction with the animation content of the correlated animation frame,

wherein correlating the animation frame with the video frame comprises using a function i v =ƒ(i a ) to obtain a correlated animation frame, and

wherein i a is an integer representing the frame index of the animation frame, i v is an integer representing the frame index of the video frame, and ƒ represents the function.

8. The method of claim 7 , wherein the frame index of the animation frame and the frame index of the video frame are stored with the correlated animation frame in the available frame buffer.

9. The method of claim 7 , further comprising:

displaying the video frame and the correlated animation frame at the same time.

10. The method of claim 7 , further comprising:

counting a total number of video frames that have been decoded at a given time.

11. The method of claim 7 , further comprising:

counting a total number of animation frames that have been rendered at a given time.

12. A non-transitory computer readable medium comprising software instructions for correlating a video stream at a first speed and an animation sequence at a second speed, comprising software instructions to:

decode the video stream to extract a video frame, wherein the video frame comprises video and audio content;

render an animation frame to generate the animation sequence, wherein the first speed and the second speed are not equal, and wherein the animation sequence is configured to be composited with the video stream;

correlate the animation frame with the video frame to obtain a correlated animation frame according to a frame index of the animation frame and a frame index of the video frame, wherein the frame index of the animation frame comprises a frame number for the animation frame from the animation sequence, wherein the frame index of the video frame comprises a frame number for the video frame from the video stream, and wherein animation content of the correlated animation frame is matched to the video and audio content of the video frame;

store the correlated animation frame in an available frame buffer from a pool of frame buffers; and

composite the video frame and the correlated animation frame to obtain a video-animation composite frame, wherein the video-animation composite frame comprises the video and audio content of the video frame in interaction with the animation content of the correlated animation frame,

wherein correlating the animation frame with the video frame comprises using a function i v =ƒ(i a ) to obtain a correlated animation frame, and

wherein i a is an integer representing the frame index of the animation frame, i v is an integer representing the frame index of the video frame, and ƒ represents the function.

13. The non-transitory computer readable medium of claim 12 , wherein the frame index of the animation frame and the frame index of the video frame are stored with the correlated animation frame in the available frame buffer.

14. The non-transitory computer readable medium of claim 12 , further comprising software instructions to:

display the video frame and the correlated animation frame at the same time.

15. The non-transitory computer readable medium of claim 12 , further comprising software instructions to:

count a total number of video frames that have been decoded at a given time.

16. The non-transitory computer readable medium of claim 12 , further comprising software instructions to:

count a total number of animation frames that have been rendered at a given time.

17. The system of claim 1 , wherein each frame buffer of the pool of frame buffers is configured to store a single animation frame at a time.

18. The system of claim 1 , wherein the frame compositor is configured to retrieve the correlated animation frame from the available frame buffer according to the frame index of the animation frame.

19. The system of claim 1 , wherein the frame compositor is configured to use a compositing algorithm.

20. The method of claim 7 , wherein each frame buffer of the pool of frame buffers is configured to store a single animation frame at a time.

21. The method of claim 7 , further comprising:

retrieving the correlated animation frame from the available frame buffer according to the frame index of the animation frame.

22. The method of claim 7 , wherein compositing the video frame and the correlated animation frame comprises using a compositing algorithm.

23. The non-transitory computer readable medium of claim 12 , wherein each frame buffer of the pool of frame buffers is configured to store a single animation frame at a time.

24. The non-transitory computer readable medium of claim 12 , further comprising software instructions to:

retrieve the correlated animation frame from the available frame buffer according to the frame index of the animation frame.

25. The non-transitory computer readable medium of claim 12 , wherein compositing the video frame and the correlated animation frame comprises using a compositing algorithm.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037311/0121 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2005
From: FOOTE, WILLIAM F.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 017340/0364 →
Continuity (2)
Provisional Application 60664739 · Mar 24, 2005
Related Publication 20060214934A1 · Sep 28, 2006