IP Library Granted Patent US 7,813,621
Granted Patent B2
US 7,813,621 · App. 11/089,458 · Granted Oct 12, 2010

Synchronized streaming layer with presentation layer

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,813,621
App. No.
11/089,458
Granted
Oct 12, 2010
Kind
B2
Abstract

A “tag” is attached to streaming video data as it is streamed from the streaming layer to the presentation engine. Each frame containing a button or other user feature also has a “tag” associated with it. When the presentation engine processes a packet of data, it updates a state variable with the tag associated with the packet of data. The streaming layer can query this state variable at any point to get the tag associated with the currently rendered unit. When the user clicks on a button or feature, the streaming layer, rather than utilizing an associated operation in the data being streamed, instead uses the tag associated with the frame being displayed and then takes the appropriate action. The invention may also be used to provide frame-accurate editing features to allow streaming video data to be indexed or reversed to a frame-accurate level.

Claims (38)

1. An apparatus for converting streaming video data to display video data comprising:

a streaming layer for receiving encoded video data from a video data source the streaming layer including a navigation portion for navigating the encoded video data from the video data source, the streaming layer creating at least one tag for each portion of the encoded video data from the video data source to create associated tags for the portions of the encoded video data; and

a presentation engine, coupled to the streaming layer, for receiving the encoded video data from the video data source and decoding the video data to produce display video data, the presentation engine buffering the encoded video data and an associated tags,

wherein, in response to a user input the navigation portion of the streaming layer determines a current portion of the display video data based upon a buffered tag, and responds to the user input relative to the current portion of the display video data,

wherein the presentation engine sets a state variable with an associated tag when a portion of the encoded video data is decoded and

wherein when the presentation engine processes a packet of data, it updates a state variable with the tag associated with the packet of data, and

the streaming layer queries the state variable at any point in streaming data to get the tag associated with a currently rendered unit.

2. The apparatus of claim 1 , wherein the encoded video data comprises MPEG-2 video data.

3. The apparatus of claim 2 , wherein the video data source comprises a DVD.

4. The apparatus of claim 3 , wherein the current portion of the video display data comprises a current frame of video display data.

5. The apparatus of claim 4 , wherein the user input comprises an input from a user to select a button or feature within at least one frame of video display data, wherein the navigation portion of the streaming layer determines a current frame of the display video data and responds to the user input relative to the button or feature in the current frame of the display video data.

6. A DVD player including:

a streaming layer for receiving encoded video data from a DVD, the streaming layer including a navigation portion for navigating the DVD, the streaming layer creating associated tags for corresponding portions of the encoded video data from the DVD; and

a presentation engine, coupled to the streaming layer, for receiving the encoded video data from the DVD and decoding the video data to produce display video data the presentation engine buffering the encoded video data and the associated tags,

wherein, in response to a user input the navigation portion of the streaming layer determines a current portion of the display video data and responds to the user input relative to the current portion of the display video data,

wherein the presentation engine sets a state variable in the tag when a corresponding portion of the encoded video data is decoded, and

wherein when the presentation engine processes a packet of data, it updates a state variable with the tag associated with the packet of data, and

the streaming layer queries the state variable at any point in streaming data to get the tag associated with a currently rendered unit.

7. The DVD player of claim 6 , wherein the encoded video data comprises MPEG-2 video data.

8. The DVD player of claim 7 , wherein the current portion of the video display data comprises a current frame of video display data.

9. The DVD player of claim 8 , wherein the user input comprises an input from a user to select a button or feature within at least one frame of video display data, wherein the navigation portion of the streaming layer determines a current frame of the display video data and responds to the user input relative to the button or feature in the current frame of the display video data.

10. The DVD player of claim 8 , wherein the user input comprises an input from a user to play a selected portion of a DVD, wherein the navigation portion of the streaming layer determines a current frame of the display video data and responds to the user input relative to the button or feature in the current frame of the display video data.

11. A method for converting streaming video data to display video data comprising:

receiving in a streaming layer, encoded video data from a video data source,

creating, in the streaming layer, associated tags for corresponding portions of the encoded video data from the video data source,

receiving in a presentation engine coupled to the streaming layer, the encoded video data from the video data source and the associated tag,

buffering in the presentation engine, the encoded video data and the associated tags,

decoding, in the presentation engine, the video data to produce display video data,

receiving in a navigation portion of the streaming layer a user input command for navigating the encoded video data from the video data source, and

determining in the navigation portion of the streaming layer a current portion of the display video data and responding to the user input relative to the current portion of the display video data,

wherein decoding further comprises setting a state variable in the tag when a corresponding portion of the encoded video data is decoded, and

wherein decoding further comprises updating a state variable with the tag associated with the packet of data when the presentation engine processes a packet of data, and

determining further comprises the streaming layer querying the state variable at any point in streaming data to get the tag associated with a currently rendered unit.

12. The method of claim 11 , wherein the encoded video data comprises MPEG-2 video data.

13. The method of claim 12 , wherein the video data source comprises a DVD.

14. The method of claim 13 , wherein the current portion of the video display data comprises a current frame of video display data.

15. The method of claim 13 , wherein receiving, in a navigation portion of the streaming layer, a user input command for navigating the encoded video data from the video data source comprises receiving an input from a user to select a button or feature within at least one frame of video display data, and

wherein determining, in the navigation portion of the streaming layer, a current portion of the display video data and responding to the user input relative to the current portion of the display video data comprises determining a current frame of the display video data and responds to the user input relative to the button or feature in the current frame of the display video data.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Apr 5, 2017
From: SILICON VALLEY BANK
To: MAGNUM SEMICONDUCTOR, INC.
Reel/Frame 042166/0405 →
RELEASE OF SECURITY INTEREST Recorded Apr 15, 2016
From: CAPITAL IP INVESTMENT PARTNERS LLC
To: MAGNUM SEMICONDUCTOR, INC.
Reel/Frame 038440/0565 →
SECURITY AGREEMENT Recorded Apr 6, 2016
From: MAGNUM SEMICONDUCTOR, INC.
To: SILICON VALLEY BANK
Reel/Frame 038366/0098 →
SHORT-FORM PATENT SECURITY AGREEMENT Recorded Oct 31, 2014
From: MAGNUM SEMICONDUCTOR, INC.
To: CAPITAL IP INVESTMENT PARTNERS LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 034114/0102 →