IP Library Granted Patent US 8,711,154
Granted Patent B2
US 8,711,154 · App. 12/135,638 · Granted Apr 29, 2014

System and method for parallel video processing in multicore devices

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 8,711,154
App. No.
12/135,638
Granted
Apr 29, 2014
Kind
B2
Abstract

Embodiments are disclosed for a system and method for parallel processing of video signals. A multi-core processor is used to establish a master-slave relationship between a first processing core and a plurality of individual processing cores. Shared memory is used to store data and control messages. A plurality of individual private memories are associated with each of the individual processing cores; and control logic is used to establish a master-slave protocol for using the plurality of individual cores to process video data. The master processing core is operable to balance the video data processing load among the individual slave processing cores.

Claims (27)

1. A method for parallel processing of video signal encoding operations, comprising:

using a multi-core processor, comprising a plurality of individual processing cores, to establish a master-slave processing protocol for encoding a video signal, wherein one of said individual processing cores is designated as a master processor core and a predetermined number of other individual processing cores are designated as slave processor cores;

using a shared memory to store video data frames and control messages for encoding the video data frames by said master processor core and said slave processor cores;

using said master processor core to control encoding of each video data frame by dynamically partitioning each video data frame into a plurality of partition slices and assigning each partition slice to a corresponding slave processor core for H.264 high-definition (HD) video encoding of said partition slice by sending a starting address and ending address for each partition slice assigned to each corresponding slave processor core to balance the video data processing load among said slave processor cores, wherein the master processor core is operable to send the starting address to each corresponding slave processor core when assigning each partition slice to said corresponding slave processor core, and is operable to send the ending address to each corresponding slave processor core after assigning each partition slice to said corresponding slave processor core.

2. The method of claim 1 , wherein said master processor core is operable to establish messaging queues between said master processor core and each of said slave processor cores.

3. The method of claim 1 , wherein said master processor core is operable to assign an encoding processing request to individual slave processor cores.

4. The method of claim 1 , wherein said master processor core is operable to assign a deblocking processing request to an individual slave processor core by sending a deblock starting address and deblock ending address to the individual slave processor core.

5. The method of claim 1 , wherein said slave processor cores are operable to update an executing task.

6. The method of claim 1 , wherein said slave processor cores are operable to generate data processing progress reports and to send said data processing progress reports to said master processor core.

7. The method of claim 1 , wherein the master processor core is operable to send the starting address and ending address to each corresponding slave processor core when assigning each partition slice to said corresponding slave processor core.

8. The method of claim 7 , wherein the master processor core is operable to send an update ending address to each corresponding slave processor core after assigning each partition slice to said corresponding slave processor core.

9. A system for parallel processing of H.264 video signal encoding operations, comprising:

a multi-core processor comprising a plurality of individual processing cores, wherein said multi-core processor is operable to establish a master-slave processing protocol for encoding a video signal, wherein one of said individual processing cores is designated as a master processor and a predetermined number of other individual processing cores are designated as slave processors; and

a shared memory for storing video data frames and control messages for encoding the video data frames by said master processor and said slave processors in accordance with the H.264 high-definition (HD) video encoding standard;

wherein said master processor dynamically partitions each video data frame into a plurality of partition slices and assigns each partition slice to a corresponding slave processor for H.264 high-definition (HD) video encoding by sending a starting address and ending address for each partition slice assigned to each corresponding slave processor to balance the video data processing load among said slave processors, and wherein said master processor is operable to send the starting address and ending address to each corresponding slave processor when assigning each partition slice to said corresponding slave processor, and is operable to send an update ending address to each corresponding slave processor after assigning each partition slice to said corresponding slave processor.

10. The system of claim 9 , wherein said master processor is operable to establish messaging queues between said master processor and each of said slave processors.

11. The system of claim 9 , wherein said master processor is operable to assign an encoding processing request to individual slave processors.

12. The system of claim 9 , wherein said master processor is operable to assign a deblocking processing request to an individual slave processor by sending a deblock starting address and deblock ending address to the individual slave processor.

13. The system of claim 9 , wherein said slave processors are operable to update an executing task.

14. The system of claim 9 , wherein said slave processors are operable to generate data processing progress reports and to send said data processing progress reports to said master processor.

15. A method for parallel processing of H.264 video signal encoding operations, comprising:

using a multi-core processor for encoding a video signal, the multi-core processor comprising a master processor and a plurality of slave processors;

using a shared memory to store video data frames for encoding by said multi-core processor in accordance with the H.264 video encoding standard; and

using said master processor to dynamically control parallel encoding of said video data frames by said slave processors, wherein said master processor is operable to dynamically partition each data frame, on an intra-frame basis, into a plurality of slices and is further operable to assign said slices to predetermined individual slave processors by sending a starting address and ending address for each partition slice assigned to each corresponding individual slave processor to balance the video data frame processing load among said individual slave processors, wherein the master processor is operable to send an update ending address to each corresponding slave processor after assigning each partition slice to said corresponding slave processor.

16. The method of claim 15 , wherein said master processor is operable to assign an encoding processing request along with a corresponding starting address and ending address for each assigned slice to an individual slave processor.

17. The method of claim 15 , wherein said master processor is operable to assign a deblocking processing request to an individual slave processor by sending a deblock starting address and deblock ending address to the individual slave processor.

18. The method of claim 15 , wherein said slave processors are operable to generate data processing progress reports and to send said data processing progress reports to said master processor.

Assignments (20)
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Dec 10, 2019
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 053547/0421 →
323.01(C) ASSIGNMENT OR CHANGE OF NAME IMPROPERLY FILED AND RECORDED BY ANOTHER PERSON AGAINST OWNER'S PATENT Recorded Oct 3, 2019
From: TAIWAN SEMICONDUCTOR MANUFACTURING CO., LTD.
To: TAIWAN SEMICONDUCTOR MANUFACTURING CO., LTD.
Reel/Frame 052459/0656 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS.. Recorded Feb 20, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SHENZHEN XINGUODU TECHNOLOGY CO., LTD.
Reel/Frame 048734/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 15, 2017
From: NORTH STAR INNOVATIONS INC.
To: TAIWAN SEMICONDUCTOR MANUFACTURING CO., LTD.
Reel/Frame 041717/0736 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 1, 2017
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 041703/0536 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: NORTH STAR INNOVATIONS INC.
Reel/Frame 037694/0264 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 13, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037518/0292 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 12, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037486/0517 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0143 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0553 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037354/0719 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →
SECURITY AGREEMENT Recorded Jun 18, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030633/0424 →
SECURITY AGREEMENT Recorded May 13, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 024397/0001 →
SECURITY AGREEMENT Recorded Mar 15, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A.
Reel/Frame 024085/0001 →
SECURITY AGREEMENT Recorded Sep 24, 2008
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A.
Reel/Frame 021570/0449 →