Patent ID: 8826345

Claim:
An apparatus for data streaming configured to receive media data in the form of a plurality of payload data sets from at least one data source and a plurality of streaming requests from a plurality of user devices, the apparatus comprising: a control unit configured to divide payload data set into a plurality of payload sub-sets and to create a control data set for each payload data set, the control data set being related to a respective payload data set and comprising a plurality of control data sub-sets, the control unit further being configured to locate a plurality of full data frames within a payload data set and to provide in each of a plurality of edit portions of each control data sub-set linking data corresponding to the location of one full data frame from the plurality of full data frames to be used upon streaming of the payload data sets in accordance with any one of multiple modes, a random access memory unit configured to store the payload data sets and the plurality of control data sets at randomly accessible locations in the random access memory unit, and a streaming unit configured to: stream the payload data sets according to the streaming requests, receive from the random access memory unit sub-sets of a first payload data set, receive from the random access memory unit control data sub-sets, each comprising data corresponding to a randomly accessible location in the random access memory unit of a sub-set of the first payload data set, receive from the random access memory unit a first sub-set of the first payload data set and a first sub-set of the control data set, which first control data sub-set comprises data corresponding to a randomly accessible location in the random access memory unit of a second sub-set of the first payload data set, wherein the first sub-set of the payload data set and the first sub-set of the control data set are stored together in the random access memory unit so that when the streaming unit accesses the random access memory unit to read the first sub-set of the payload data set, the streaming unit also reads the first sub-set of the control data set in the random access memory unit during the same memory access, and wherein the random access memory unit comprises a plurality of memory sectors, and wherein the payload data set and the control data set are arranged in pairs of payload data sub-sets and control data sub-sets, each pair being configured to the size of the memory sectors and stored in a respective one of the memory sectors.