IP Library Granted Patent US 9,485,333
Granted Patent B2
US 9,485,333 · App. 14/087,683 · Granted Nov 1, 2016

Method and apparatus for network streaming

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,485,333
App. No.
14/087,683
Granted
Nov 1, 2016
Kind
B2
Abstract

A method of data streaming in a streaming system ( 200 ) that comprises a processor ( 202 ) and a controller ( 204 ) operably coupled to a streaming peripheral ( 214 ) via a shared interconnect ( 206 ) is described. The method comprises at the controller, receiving at least one descriptor that points to at least one header data element in memory and at least one payload buffer element in the streaming peripheral ( 214 ); reading the at least one descriptor ( 211 ) by the controller ( 204 ); fetching by the controller the at least one header data element from memory and the at least one payload element from the payload buffer ( 212 ) in the streaming peripheral ( 214 ) referred to by the descriptor ( 211 ).

Claims (45)

1. A method of data streaming in a streaming system comprising a processor, a controller distinct from the processor, a random access memory storing a descriptor list, a streaming peripheral having a buffer area, and a shared interconnect coupling the processor, the controller, the random access memory, and the streaming peripheral, the method comprising:

determining, by the processor, a location of a payload in the buffer area of the streaming peripheral;

generating, by the processor, frame header data for a network interface;

storing, by the processor, the frame header data in the random access memory;

preparing, by the processor, a first descriptor pointing to the frame header data in the random access memory;

storing, by the processor, the first descriptor in the descriptor list of the random access memory;

preparing, by the processor, a second descriptor pointing to the location of the payload in the buffer area of the streaming peripheral;

storing, by the processor, the second descriptor in the descriptor list of the random access memory;

reading, by the controller, the first and the second descriptors from the descriptor list;

fetching, by the controller, the frame header data from the random access memory based on the first descriptor; and

fetching, by the controller, the payload from the buffer area of the streaming peripheral based on the second descriptor.

2. The method of claim 1 further comprising:

notifying, by the processor, the controller that the first identifier is stored in the descriptor list.

3. The method of claim 1 wherein the processor is a central processing unit core.

4. The method of claim 1 wherein generating the frame header data for the network interface comprises at least one of: generating a separate header, and updating network frame header data.

5. The method of claim 1 further comprising:

notifying, by the processor, the controller that the second identifier is stored in the descriptor list.

6. The method of claim 5 wherein the frame header data and the descriptor list are stored in distinct address ranges in the random access memory.

7. The method of claim 1 wherein the controller is an Ethernet controller.

8. The method of claim 1 wherein the streaming peripheral is a camera comprising a video encoder and memory and the payload comprises image data.

9. The method of claim 1 wherein the streaming peripheral is a video interface or an audio interface.

10. The method of claim 2 wherein generating the frame header data for the network interface comprises at least one of: generating a separate header, and updating network frame header data.

11. The method of claim 2 wherein the controller is an Ethernet controller.

12. The method of claim 2 wherein the streaming peripheral is a camera comprising a video encoder and memory and the payload comprises image data.

13. The method of claim 2 wherein the streaming peripheral is a video interface or an audio interface.

14. A streaming system comprising:

a processor;

a controller distinct from the processor;

a random access memory storing a descriptor list;

a streaming peripheral having a buffer area; and

a shared interconnect coupling the processor, the controller, the random access memory, and the streaming peripheral, wherein the processor is configured to:

store a frame header data in the random access memory,

prepare a first descriptor pointing to the frame header data in the random access memory,

store the first descriptor in the descriptor list of the random access memory,

prepare a second descriptor pointing to a location of a payload in the buffer area of the streaming peripheral, and

store the second descriptor in the descriptor list of the random access memory, and wherein the controller is configured to:

read the first and the second descriptors from the descriptor list,

fetch the frame header data from the random access memory based on the first descriptor, and

fetch the payload from the buffer area of the streaming peripheral based on the second descriptor.

15. The streaming system of claim 14 wherein the processor is further configured to notify the controller that the first identifier is stored in the descriptor list.

16. The streaming system of claim 14 wherein the processor is further configured to notify the controller that the second identifier is stored in the descriptor list.

17. The streaming system of claim 14 wherein the processor is a central processing unit core.

18. The streaming system of claim 14 wherein the controller is an Ethernet controller.

19. The streaming system of claim 14 wherein the frame header data and the descriptor list are stored in distinct address ranges in the random access memory.

20. The streaming system of claim 14 wherein the streaming peripheral is a camera comprising a video encoder and memory and the payload comprises image data.

Assignments (21)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
MERGER Recorded Jan 3, 2017
From: FREESCALE SEMICONDUCTOR, INC.
To: NXP USA, INC.
Reel/Frame 041144/0363 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE FILING AND REMOVE APPL. NO. 14085520 REPLACE IT WITH 14086520 PREVIOUSLY RECORDED AT REEL: 037515 FRAME: 0390. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Mar 1, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037926/0642 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT APPL. NO. 14/085,520 PREVIOUSLY RECORDED AT REEL: 037515 FRAME: 0420. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 11, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037879/0581 →
CORRECTIVE ASSIGNMENT OF INCORRECT NUMBER 14085520 PREVIOUSLY RECORDED AT REEL: 037458 FRAME: 0420. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTON OF SECURITY INTEREST IN PATENTS. Recorded Feb 11, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037785/0568 →
CORRECTIVE ASSIGNMENT OF INCORRECT APPL. NO. 14/085,520 PREVIOUSLY RECORDED AT REEL: 037515 FRAME: 0390. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 11, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037792/0227 →
CORRECTIVE ASSIGNMENT OF INCORRECT PATENT APPLICATION NUMBER 14085520 ,PREVIOUSLY RECORDED AT REEL: 037458 FRAME: 0399. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 11, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037785/0454 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 037458 FRAME 0420. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Jan 14, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037515/0420 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 037458 FRAME 0399. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Jan 14, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037515/0390 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 7, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FOUNDING, INC.
Reel/Frame 037458/0399 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 7, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FOUNDING, INC.
Reel/Frame 037458/0420 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0790 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Mar 13, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 032445/0493 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Mar 13, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 032445/0577 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Mar 13, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., COLLATERAL AGENT
Reel/Frame 032445/0689 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2013
From: SINGER, STEFAN; GERSTER, JOCHEN M.; WROBEL, HEINZ
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 031661/0393 →