EP1879397A2

General purpose, programmable media processor

Abstract

A general purpose, programmable media processor (12) for processing and transmitting a media data streams. The media processor (12) incorporates an execution unit (100) that maintains substantially peak data through out of media data streams. The execution unit (100) includes a dynamically partionable multi-precision arithmetic unit (102), programmable switch (104) and programmable extended mathematical element (106). A high bandwidth external interface (124) supplies media data streams at substantially peak rates to a general purpose register file (110) and the execution unit. A memory management unit, and instruction and data cache/buffers (118, 120) are provided. The general purpose, programmable media processor (12) is disposed in a network fabric consisting of fiber optic cable, coaxial cable and twisted pair wires to transmit, process and receive single or unified media data streams.

EP1879397A2, drawing sheet 1
Sheet 1 of 472

Term

Term ended

Projected expiry passed 16 August 2016, 10.1 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

13 claims: 7 independent, 6 dependent

  1. 1
    A media processing apparatus for processing a media data stream, the apparatus comprising:a processor operable to execute instructions selected from an instruction set;and a memory having a programmed sequence of said instructions, including a plurality of group shuffle instructions, for causing the processor to perform an image compression of a two dimensional matrix of pixel values defined by media data of the media data stream;the processor comprising: a plurality of registers for storing image data of a two dimensional matrix of pixel values;and execution means for executing the programmed sequence of instructions to perform said image compression, wherein the group shuffle instructions specify one of a plurality of sizes for the media data elements, first and second source registers and a destination register;wherein the execution means is configured so that execution of each group shuffle instruction of said image compression causes the execution means: to read a first set of data, comprising a plurality of pixel values, from said first source register and a second set of data, comprising a plurality of pixel values, from said second source register;to reorder pixel values, of said specified size, from the first and second sets of data, so that pixel values from the first set of data are interleaved with pixel values from the second set of data;and to write the interleaved pixel values to said destination register;and wherein said sequence of instructions includes instructions that cause said execution means to compress the reordered pixel values using a discrete cosine transform.
  2. 3
    An apparatus according to any of the preceding claims, wherein the execution means has a programmable switch for performing said reordering of the pixel values.
  3. 6
    An apparatus according to any of the preceding claims, wherein the registers are 64-bit general purposes registers.
  4. 7
    A method of performing image compression of a two dimensional matrix of pixel values of a media data stream, the method comprising:receiving media data defining a two dimensional matrix of pixel values;and executing a sequence of instructions, including group shuffle instructions, on a programmable media processor to cause the processor to perform image compression of said received two dimensional matrix of pixel values, wherein the group shuffle instructions specify one of a plurality of sizes for the media data elements, first and second source registers and a destination register;wherein execution of a group shuffle instruction of said image compression includes: reading a first set of data, comprising a plurality of pixel values, from said first source register and a second set of data, comprising a plurality of pixel values, from said second source register;reordering pixel values, of said specified size, from the first and second sets of data, so that pixel values from the first set of data are interleaved with pixel values from the second set of data;and writing the interleaved pixel values to said destination register;and wherein said sequence of instructions includes instructions to cause said processor to compress the reordered pixel values using a discrete cosine transform.
  5. 11
    A method according to any of claims 7 to 10, wherein the registers used are 64-bit general purposes registers.
  6. 12
    Processor executable instructions for execution by a media processor configured to execute instructions including group add, group subtract, group multiply, group divide, group multiply and add and group shuffle instructions for the real time processing of a media data stream, the executable instructions comprising a selection of said group instructions and for causing said media processor to perform image compression of the media data using a discrete cosine transform.
  7. 13
    A processor executable instructions product comprising processor executable instructions for causing a processor to implement the method of any of claims 7 to 11.