WO2011027236A1 - Method and system for simultaneous recording of multiple programs on a dvr - Google Patents

Method and system for simultaneous recording of multiple programs on a dvr Download PDF

Info

Publication number
WO2011027236A1
WO2011027236A1 PCT/IB2010/052968 IB2010052968W WO2011027236A1 WO 2011027236 A1 WO2011027236 A1 WO 2011027236A1 IB 2010052968 W IB2010052968 W IB 2010052968W WO 2011027236 A1 WO2011027236 A1 WO 2011027236A1
Authority
WO
WIPO (PCT)
Prior art keywords
chunk
content item
chunks
file
data stream
Prior art date
Application number
PCT/IB2010/052968
Other languages
French (fr)
Inventor
Alex Ashley
Pete Rai
Trevor Smith
Ray Taylor
James Geoffrey Walker
Kevin A. Murray
Original Assignee
Nds Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nds Limited filed Critical Nds Limited
Priority to US13/392,658 priority Critical patent/US8913879B2/en
Priority to EP10743236.1A priority patent/EP2474114B1/en
Publication of WO2011027236A1 publication Critical patent/WO2011027236A1/en
Priority to IL218334A priority patent/IL218334A0/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26606Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing entitlement messages, e.g. Entitlement Control Message [ECM] or Entitlement Management Message [EMM]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3027Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/28Arrangements for simultaneous broadcast of plural pieces of information
    • H04H20/30Arrangements for simultaneous broadcast of plural pieces of information by a single channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/42Arrangements for resource management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/42Arrangements for resource management
    • H04H20/426Receiver side
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N5/9201Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving the multiplexing of an additional signal and the video signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N5/9201Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving the multiplexing of an additional signal and the video signal
    • H04N5/9205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving the multiplexing of an additional signal and the video signal the additional signal being at least another television signal

Definitions

  • the present invention in certain embodiments thereof, seeks to provide an improved
  • a method for broadcasting content the method facilitating simultaneous recording of multiple programs on a digital video recorder (DVR), the method including providing a plurality of content items, dividing each one of the plurality of content items into a multiplicity of chunks, each one of the chunks including at least one reference frame, for each one of the chunks determining a location of each reference frame included in the chunk, creating a chunk index of locations of each reference frame included in the chunk, creating a chunk file including the chunk and the chunk index, and inserting the chunk file in a data stream, such that no chunk file including a chunk from a particular content item is adjacent to a second chunk file including a chunk from the same particular content item, and broadcasting using a transmission bitrate greater than the bitrate of the data stream in a single channel in a multiplexed broadcast service, wherein the chunks files in the data stream are transmitted sequentially.
  • DVR digital video recorder
  • the content item includes an encrypted content item.
  • each of the chunks of the multiplicity of chunks includes at least one ECM.
  • each chunk of the multiplicity of chunks includes a chunk of fixed playback duration.
  • the content item includes a compressed content item.
  • the compressed content item includes an H.264/MPEG-4 compressed content item.
  • the compressed content item is encapsulated using ISO 14496-12 file format Movie Fragments (MOOF).
  • MOOF Movie Fragments
  • the content item includes a live broadcast content item.
  • Fig. 1 is a simplified pictorial illustration of a system of broadcasting content facilitating simultaneous recording of multiple programs on a digital video recorder constructed and operative in accordance with an embodiment of the present invention
  • Fig. 2 is a simplified block drawing depicting an embodiment of creation of a data stream for broadcast within the system of Fig. 1;
  • Fig. 3 is a simplified block drawing depicting an embodiment of a chunk file in the system of Fig. 1 ;
  • Fig. 4 is a simplified block drawing of an exemplary movie fragment in the chunk file of Fig. 3.
  • Fig. 5 is a simplified flow chart of a method of operation of the system of Fig. 1.
  • FIG. 1 is a simplified pictorial illustration of a system of broadcasting content facilitating simultaneous recording of multiple programs on a digital video recorder constructed and operative in accordance with an embodiment of the present invention.
  • the system of Fig. 1 comprises a plurality of content items 110, 120, 130,140, apparatus (not depicted) operative to divide each content item 110, 120, 130,140 into a multiplicity of chunks 110a, 110b, 110c, HOd, HOx, HOy, HOz, 120a, 120b, 120 y, 120z, 130a, 130z, 140a, 140z, an indexer 150, and a data stream assembler (not depicted). It is appreciated that the apparatus (not depicted) operative to divide each content item 110, 120, 130,140 and the data stream assembler (not depicted) are not depicted for ease of depiction in Fig. 1.
  • Each content item 110, 120, 130,140 of the plurality of content items is divided into a multiplicity of chunks 110a, 110b, 110c, 11 Od, 11 Ox, HOy, HOz, 120a, 120b, 120 y, 120z, 130a, 130z, 140a, 140z by the apparatus (not depicted) operative to divide each content item 110, 120, 130,140 into a multiplicity of chunks 110a, 110b, 110c, HOd, HOx, HOy, HOz, 120a, 120b, 120 y, 120z, 130a, 130z, 140a, 140z.
  • Each chunk of the multiplicity of chunks 110a, 110b, 110c, HOd, HOx, HOy, HOz, 120a, 120b, 120 y, 120z, 130a, 130z, 140a, 140z is a chunk of fixed play-back duration.
  • each one of the multiplicity of chunks 110a, 110b, 110c, HOd, HOx, HOy, HOz, 120a, 120b, 120 y, 120z, 130a, 130z, 140a, 140z may each require 30 seconds to play back.
  • HOx, HOy, HOz, 120a, 120b, 120 y, 120z, 130a, 130z, 140a, 140z is typically bounded by a minimum duration beneath which a hard drive in a client device has insufficient transfer speed to record the content item 110, 120, 130, 140 and by a maximum size due to a real time playback delay introduced by storing the chunk on the hard drive in the client device.
  • the lack of hard disk bandwidth is caused by a need to seek the hard disk heads between the locations where each file is being recorded to disk.
  • the client device is appending data to one file which normally causes data to be written to the disk next to the last write to disk. If two recordings are being made, typically the hard disk is required to seek between the location where the first file is being recorded and the location where the second file is being recorded.
  • a typical hard disk has a seek time of 9ms, which is several orders of magnitude slower than the time taken to write the content item audio-visual data to disk. As the number of simultaneous recordings increases, the amount of time consumed performing seeks increases until a point is reached where there is insufficient time to service all recording requests.
  • r is the media transfer writing rate, in megabits per second
  • i is the drive interface speed, in megabits per second
  • s is the average random seek time, in seconds
  • b is the average bitrate of each content item, in megabits per second m is the average size of the index data for one chunk, in megabits c is the size of the chunk, in seconds
  • n is the number of streams being stored
  • a chunk duration of two minutes is believed by the inventors of the present invention to be too large, as a two minute chunk duration causes playback on the client device to be delayed by two minutes from live playback.
  • chunk size (c) must be greater than or equal to 0.1465 seconds.
  • the drive interface speed (z) is:
  • Each one of the multiplicity of chunks 110a, 110b, 110c, HOd, HOx, HOy, HOz, 120a, 120b, 120 y, 120z, 130a, 130z, 140a, 140z is input into the indexer 150.
  • the indexer 150 For each chunk of the multiplicity of chunks 110a, 110b, 110c, HOd, HOx, HOy, HOz, 120a, 120b, 120 y, 120z, 130a, 130z, 140a, 140z, the indexer 150 performs the following operations:
  • the indexer 150 determines a location of each ECM comprised in the chunk
  • the indexer 150 determines a location of each reference frame comprised in the chunk.
  • the indexer 150 creates a chunk index of locations of each ECM comprised in the chunk and each reference frame comprised in the chunk.
  • reference frame is used synonymously with the terms: “reference picture”, “key frame”, and “key picture”.
  • reference picture is understood to mean a "frame” or a “picture” containing samples that may be used for inter prediction in the decoding process of subsequent pictures in decoding order.
  • Typical reference frames include I-frames (or I-pictures) and IDR (instantaneous decoding refresh) frames (or IDR pictures).
  • a chunk file comprising the chunk and the chunk index is created, as explained below.
  • chunk index 111a is added to the chunk 110a.
  • a chunk file 111 results.
  • Chunks 110b, 110c, 11 Ox, HOy, HOz, 120a, 120b, 120y, 120z, 130a, 130z, 140a, and 140z similarly are added to chunk indexes in order to produce chunk files, such as: chunk file 121, comprising chunk 120a and chunk index 121a; chunk file 131, comprising chunk 130a and chunk index 131a; and chunk file 141, comprising chunk 140a and chunk index 141a.
  • the data stream assembler receives the chunk files 111, 121, 131, and 141.
  • the chunk files 111, 121, 131, and 141 are assembled, by the data stream assembler (not depicted) into a data stream 160.
  • the data stream assembler (not depicted) assembles the data stream 160 such that no chunk file comprising a chunk from a content item is adjacent to a second chunk file comprising a chunk from the same content item.
  • chunk file 111 will not be inserted into the data stream 160 adjacent to chunk file 112, since chunk file 111 and chunk file 112 both comprises chunks which are originally from the same content item.
  • Fig. 2 is a simplified block drawing depicting an embodiment of creation of a data stream for broadcast within the system of Fig. 1.
  • Content items 205 are typically prepared for broadcast by being input into an encoder 210, thereby undergoing an encoding or compression process, producing encoded content items.
  • the encoded content items are optionally input into an encryptor for encryption 215.
  • the encoded and optionally encrypted content items are then input into a chunking process 220.
  • the chunking process 220 controls a plurality of buffers that are of a sufficient size to store a chunk of content (the size of the chunk is described above, inherently, as a property of the duration of the chunk).
  • Each buffer of the plurality of buffers is configured to store the compressed (and optionally encrypted) chunks of content.
  • encoded is used throughout the present specification and claims, in all of its grammatical forms, to refer to any type of data stream encoding including, for example and without limiting the scope of the definition, well known types of encoding such as, but not limited to, MPEG-2 encoding, H.264 encoding, VC-1 encoding, and synthetic encodings such as Scalable Vector Graphics (SVG) and LASER (ISO/IEC 14496-20), and so forth.
  • SVG Scalable Vector Graphics
  • LASER ISO/IEC 14496-20
  • Any recipient of encoded data is, at least in potential, able to read encoded data without requiring cryptanalysis. It is appreciated that encoding may be performed in several stages and may include a number of different processes, including, but not necessarily limited to: compressing the data; transforming the data into other forms; and making the data more robust (for instance replicating the data or using error correction mechanisms).
  • compressed is used throughout the present specification and claims, in all of its grammatical forms, to refer to any type of data stream compression. Compression is typically a part of encoding and may include image compression and motion compensation. Typically, compression of data reduces the number of bits comprising the data. In that compression is a subset of encoding, the terms “encoded” and “compressed”, in all of their grammatical forms, are often used interchangeably throughout the present specification and claims.
  • scrambled and encrypted in all of their grammatical forms, are used interchangeably throughout the present specification and claims to refer to any appropriate scrambling and / or encryption methods for scrambling and / or encrypting a data stream, and / or any other appropriate method for intending to make a data stream unintelligible except to an intended recipient(s) thereof.
  • Well known types of scrambling or encrypting include, but are not limited to DES, 3DES, and AES.
  • a particular data stream may be, for example:
  • the chunk is indexed by an indexing process 230.
  • the indexing process 230 As described above, the indexing process 230:
  • the chunk index 240 is described below in greater detail with reference to Fig. 3.
  • each chunk file 260 is combined into a data stream 270.
  • the data stream 270 is output for broadcast 280 in a single channel in a multiplexed broadcast service.
  • a method and system for dynamic construction of a digital broadcast multiplexes transport stream based on event level metadata is found in the as yet unpublished PCT/IB2010/052960, of NDS Ltd.
  • the method and system described in as yet unpublished PCT/IB2010/052960 is one which would be suitable for outputting the data stream 270 in a in a single channel in a multiplexed broadcast service.
  • the resulting chunk 250 is transmitted faster than real-time. For example and without limiting the generality of the foregoing, if an entire multiplex of 33 megabits per second were configured to be used for delivery of chunked content and broadcast using the system and method of the present invention as described herein, and the content item 205 has been encoded at 2 megabits per second, the chunk will be broadcast roughly 15 times faster than real-time. Using the previous example of the chunk of 30 second duration, such a chunk would take 2 seconds to broadcast.
  • a client device that is configured to record the single channel in the multiplexed broadcast service comprising the data stream 270 will create recordings for each event in the service. While a chunk is being received the chunk will be appended to the appropriate recording.
  • the chunk index 240 portion of the chunk file 260 is also stored as metadata associated with the appropriate recording.
  • a consequence of the client device recording method described above is that the client device is able to record multiple live events, something that is not possible with a conventional broadcast.
  • the present invention in embodiments thereof, gets around the limitations caused by lack of hard disk bandwidth because there is only ever one chunk being broadcast at a time in the multiplexed broadcast service comprising the data stream 270.
  • the hard disk only needs to seek when one chunk ends and the next chunk (for a different event) starts.
  • the resulting chunk 250 is transmitted faster than real-time. Faster than real-time transmission is not a problem for the client device because the continuous transfer speed of the hard disk is much higher than the bandwidth of the multiplexed broadcast service comprising the data stream 270.
  • Other techniques that can be used to avoid disk running out of disk transfer speed due to excessive seeking is to introduce buffering in the client device. However, doing so has the disadvantage of requiring extra RAM in the client device, thereby increasing the cost of the client device.
  • an entire multiplex may be recorded in one file.
  • a consequence of recording an entire multiplex in one file is that when playing an event from the one recorded file requires reading the entire multiplex from disk, which greatly increases the read transfer bandwidth required. Additionally, recording an entire multiplex in a single file also effectively prevents the deletion of any single content item as the entire multiplex must be deleted together.
  • the second reason for constraints to simultaneous recording of conventionally broadcast events is the lack of indexing hardware.
  • the stream that is being recorded is parsed to build an index of the file to allow for trick play and random access.
  • this parsing is performed by a hardware component of the sort described in published PCT application WOO 1/35669 and in published PCT application WO03/010970.
  • the hardware component has a fixed number of streams that the hardware component can simultaneously parse, which puts a limit upon the number of conventionally broadcast events that can be simultaneously recorded.
  • the present invention in embodiments thereof, gets around this problem because the indexing is provided with the chunk index 240 incorporated in the chunk file 260 comprised in the multiplexed broadcast service comprising the data stream 270. Incorporating the index in the received data stream removes the need for parsing of the stream in the DVR.
  • Fig. 3 is a simplified block drawing depicting an embodiment of the chunk file in the system of Fig. 1. The chunk file depicted in Fig.
  • FIG. 3 is based on the ISO base media file format specified in ISO/IEC 14496-12, Information Technology - Coding of Audio-Visual Objects - Part 12: ISO Base Media File Format (Third Edition 2008).
  • Files in ISO file format comprise a series of "boxes".
  • a box is defined in ISO/IEC 14496-12 as an object-oriented building block defined by a unique type identifier and length.
  • Each box has a four character name, the name referring to the type of data contained in the box.
  • the table below lists the names of the boxes depicted in Fig. 3, and provides an explanation of the four character name depicted in Fig. 3. Additionally, the table below uses a nested structure reflecting the structure of the file depicted in Fig. 3. It is appreciated that since the boxes in the chunk file structure depicted in Fig. 3 are referred to by their four character name, reference numerals are not used.
  • the term "track” in the table above, and as used henceforth, is understood to mean a timed sequence of related samples in the chunk file.
  • the term "sample” as used above, and as used henceforth, is understood to refer to all of the data associated with a single timestamp.
  • the use of the chunk file poses a problem because, in a typical case, the chunk file cannot be created without having all compressed audio-visual data for a complete event available, because the MOOV box comprises pointers which point to compressed audio-visual data comprised in the MDAT box or boxes.
  • the audio-visual data is typically received at a broadcast headend at the same time as the audio-visual data is being filmed. Thus, the only point at which the whole data is known is at the end of a broadcast.
  • an optional feature of the ISO 14496-12 file format called Movie Fragments (MOOF) is utilized. Movie Fragments are a way of adding content to the end of the chunk file.
  • Fig. 4 is a simplified block drawing of an exemplary movie fragment in the chunk file of Fig. 3.
  • a chunk file comprising movie fragments still has the headers comprised in the MOOV box.
  • the MOOV box omits indexing boxes, indicating that there are no samples at the MOOV level.
  • Movie fragments use components that contain samples from a track, but with use slightly different terminology and a different structure in the file. The structure has been revised in order to make it easier to create chunk files that "grow", without requiring continual updating of the chunk files.
  • Each movie fragment contains any number of track fragments.
  • Receipt of a first chunk for a content item causes a new chunk file to be created.
  • the newly created chunk file contains the FTYP and the MOOV boxes, as depicted in Fig. 3.
  • the FTYP and the MOOV boxes comprise codec specific information, as required by a client device decoder.
  • the MOOV box does not contain a media index, as this will be contained in a subsequent MOOF box.
  • the audio-visual data for all chunks of the content item are indexed in order to provide the indexing information in the MOOF box, followed by the audio-visual data in an MDAT box.
  • the timeline for one content item would be:
  • a first content item chunk file for the content item :
  • the FTYP and MOOV boxes are inserted into a data carousel that is broadcast as part of a live broadcast comprised in a single channel in a multiplexed broadcast service.
  • the FTYP and MOOV boxes are kept in the data carousel until after the end of the live broadcast since the FTYP and MOOV boxes are required for the client device to be able to play any part of the content item. In that it cannot be guaranteed that all client devices will be receiving the live broadcast from its beginning, the FTYP and MOOV are repeatedly broadcast in the data carousel.
  • the FTYP and MOOV boxes are typically very small, and thus do not add appreciably to the overall data transmission requirements.
  • MDAT boxes are broadcast using private data PIDs in the single channel in the multiplexed broadcast service.
  • each MDAT box is preceded by a chunk notification packet (CNP) which describes the chunk with which the MDAT box is associated.
  • CNP is typically structured as an MPEG- 2 compliant private data section contained within a single transport packet and placed in the CNP metadata PID.
  • the CNP PID is typically defined as a separate component within the PMT and is exclusively used for CNP packets.
  • MOOF boxes are also inserted in to a data carousel that is broadcast in the live broadcast comprised in the single channel in the multiplexed broadcast service.
  • MOOF boxes are typically only required to remain within the carousel for a short period of time (e.g. 1 minutes) after its associated MDAT box has been broadcast.
  • a short period of time e.g. 1 minutes
  • the MOOF boxes do not need to remain within the data carousel for the entire duration of the live broadcast because the MOOF boxes are only required when their associated MDAT boxes have been received and recorded.
  • DREF Data reference box declares source(s) of media data in the track
  • Fig. 5 is a simplified flow chart of a method of operation of the system of Fig. 1. The method of Fig. 5 is believed to be self explanatory with reference to the above discussion.
  • software components of the present invention may, if desired, be implemented in ROM (read only memory) form.
  • the software components may, generally, be implemented in hardware, if desired, using conventional techniques. It is further appreciated that the software components may be instantiated, for example: as a computer program product; on a tangible medium; or as a signal interpretable by an appropriate computer.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

A method and system for broadcasting content, is described, the method and system facilitating simultaneous recording of multiple programs on a digital video recorder (DVR), the method and system including providing a plurality of content items, dividing each one of the plurality of content items into a multiplicity of chunks, each one of the chunks including at least one reference frame, for each one of the chunks determining a location of each reference frame included in the chunk, creating a chunk index of locations of each reference frame included in the chunk, creating a chunk file including the chunk and the chunk index, and inserting the chunk file in a data stream, such that no chunk file including a chunk from a particular content item is adjacent to a second chunk file including a chunk from the same particular content item, and broadcasting using a transmission bitrate greater than the bitrate of the data stream in a single channel in a multiplexed broadcast service, wherein the chunks files in the data stream are transmitted sequentially. Related systems, apparatus, and methods are also described.

Description

METHOD AND SYSTEM FOR SIMULTANEOUS RECORDING OF
MULTIPLE PROGRAMS ON A DVR
BACKGROUND OF THE INVENTION
The following patents and patent applications are believed to reflect the state of the art:
PCT/ILOO/00276, of NDS Ltd., published in the English language as
WO01/35669;
PCT/IL02/00534, of NDS Ltd., published in the English language as WO03/010970;
PCT/IB2010/052960, of NDS Ltd., as yet unpublished, filed 29 June
2010;
JP 2008278090, of Hitachi Ltd.;
US 7,251,832 to Venters, III. et al.; and
US 2009/0034604 of Delia, et al.
The following international standards and specifications are particularly relevant to the understanding of the disclosure of the present invention:
ITU-T Specification H.264 (03/2005), Advanced Video Coding for Generic Audiovisual Services;
ISO/IEC 13818-1, Information Technology - Generic Coding of Moving Pictures and Associated Audio Information: Systems (Second Edition, 2000);
ISO/IEC 14496-12, Information Technology - Coding of Audio- Visual Objects - Part 12: ISO Base Media File Format (Third Edition 2008); and
ISO/IEC 14496-14, Information Technology - Coding of Audio- Visual Objects - Part 14: MP4 File Format (First Edition 2003). SUMMARY OF THE INVENTION
The present invention, in certain embodiments thereof, seeks to provide an improved
There is thus provided in accordance with an embodiment of the present invention a method for broadcasting content, the method facilitating simultaneous recording of multiple programs on a digital video recorder (DVR), the method including providing a plurality of content items, dividing each one of the plurality of content items into a multiplicity of chunks, each one of the chunks including at least one reference frame, for each one of the chunks determining a location of each reference frame included in the chunk, creating a chunk index of locations of each reference frame included in the chunk, creating a chunk file including the chunk and the chunk index, and inserting the chunk file in a data stream, such that no chunk file including a chunk from a particular content item is adjacent to a second chunk file including a chunk from the same particular content item, and broadcasting using a transmission bitrate greater than the bitrate of the data stream in a single channel in a multiplexed broadcast service, wherein the chunks files in the data stream are transmitted sequentially.
Further in accordance with an embodiment of the present invention the content item includes an encrypted content item.
Still Further in accordance with an embodiment of the present invention each of the chunks of the multiplicity of chunks includes at least one ECM.
Additionally in accordance with an embodiment of the present invention and further including determining, for each one of the chunks, a location of each ECM included in the chunk, including in the chunk index of locations the location each ECM included in the chunk.
Moreover in accordance with an embodiment of the present invention each chunk of the multiplicity of chunks includes a chunk of fixed playback duration.
Further in accordance with an embodiment of the present invention the content item includes a compressed content item. Still further in accordance with an embodiment of the present invention the compressed content item includes an H.264/MPEG-4 compressed content item.
Additionally in accordance with an embodiment of the present invention the compressed content item is encapsulated using ISO 14496-12 file format Movie Fragments (MOOF).
Moreover in accordance with an embodiment of the present invention the content item includes a live broadcast content item.
BRIEF DESCRIPTION OF THE DRAWINGS The present invention will be understood and appreciated more fully from the following detailed description, taken in conjunction with the drawings in which:
Fig. 1 is a simplified pictorial illustration of a system of broadcasting content facilitating simultaneous recording of multiple programs on a digital video recorder constructed and operative in accordance with an embodiment of the present invention;
Fig. 2 is a simplified block drawing depicting an embodiment of creation of a data stream for broadcast within the system of Fig. 1;
Fig. 3 is a simplified block drawing depicting an embodiment of a chunk file in the system of Fig. 1 ;
Fig. 4 is a simplified block drawing of an exemplary movie fragment in the chunk file of Fig. 3; and
Fig. 5 is a simplified flow chart of a method of operation of the system of Fig. 1.
DETAILED DESCRIPTION OF AN EMBODIMENT
Reference is now made to Fig. 1, which is a simplified pictorial illustration of a system of broadcasting content facilitating simultaneous recording of multiple programs on a digital video recorder constructed and operative in accordance with an embodiment of the present invention.
The system of Fig. 1 comprises a plurality of content items 110, 120, 130,140, apparatus (not depicted) operative to divide each content item 110, 120, 130,140 into a multiplicity of chunks 110a, 110b, 110c, HOd, HOx, HOy, HOz, 120a, 120b, 120 y, 120z, 130a, 130z, 140a, 140z, an indexer 150, and a data stream assembler (not depicted). It is appreciated that the apparatus (not depicted) operative to divide each content item 110, 120, 130,140 and the data stream assembler (not depicted) are not depicted for ease of depiction in Fig. 1.
The operation of the system of Fig. 1 is now described. Each content item 110, 120, 130,140 of the plurality of content items is divided into a multiplicity of chunks 110a, 110b, 110c, 11 Od, 11 Ox, HOy, HOz, 120a, 120b, 120 y, 120z, 130a, 130z, 140a, 140z by the apparatus (not depicted) operative to divide each content item 110, 120, 130,140 into a multiplicity of chunks 110a, 110b, 110c, HOd, HOx, HOy, HOz, 120a, 120b, 120 y, 120z, 130a, 130z, 140a, 140z. Each chunk of the multiplicity of chunks 110a, 110b, 110c, HOd, HOx, HOy, HOz, 120a, 120b, 120 y, 120z, 130a, 130z, 140a, 140z is a chunk of fixed play-back duration. For example and without limiting the generality of the foregoing, each one of the multiplicity of chunks 110a, 110b, 110c, HOd, HOx, HOy, HOz, 120a, 120b, 120 y, 120z, 130a, 130z, 140a, 140z may each require 30 seconds to play back.
Duration of the multiplicity of chunks 110a, 110b, 110c, HOd,
HOx, HOy, HOz, 120a, 120b, 120 y, 120z, 130a, 130z, 140a, 140z is typically bounded by a minimum duration beneath which a hard drive in a client device has insufficient transfer speed to record the content item 110, 120, 130, 140 and by a maximum size due to a real time playback delay introduced by storing the chunk on the hard drive in the client device.
The lack of hard disk bandwidth is caused by a need to seek the hard disk heads between the locations where each file is being recorded to disk. In a simple case of recording one event, the client device is appending data to one file which normally causes data to be written to the disk next to the last write to disk. If two recordings are being made, typically the hard disk is required to seek between the location where the first file is being recorded and the location where the second file is being recorded. A typical hard disk has a seek time of 9ms, which is several orders of magnitude slower than the time taken to write the content item audio-visual data to disk. As the number of simultaneous recordings increases, the amount of time consumed performing seeks increases until a point is reached where there is insufficient time to service all recording requests.
Those skilled in the art will appreciate that the maximum speed at which a hard disk can write multiple streams of content can be estimated using the formulas:
( m + b
1. + 2s J≤ c 2. nb < i
Where:
r is the media transfer writing rate, in megabits per second i is the drive interface speed, in megabits per second
s is the average random seek time, in seconds
b is the average bitrate of each content item, in megabits per second m is the average size of the index data for one chunk, in megabits c is the size of the chunk, in seconds
n is the number of streams being stored
For example and without limiting the generality of the foregoing, a chunk duration of two minutes is believed by the inventors of the present invention to be too large, as a two minute chunk duration causes playback on the client device to be delayed by two minutes from live playback. An example of a typical 320GB hard disk that might be used in a set top box:
r = 640 Mb/s
i = 3000 Mb/s
s = 0.0042 seconds b = 4 Mb/s
m = 0.00003 Mb
« = 10.
By equation 1, the chunk size, c, must be greater than or equal to:
Figure imgf000009_0001
so, chunk size (c) must be greater than or equal to 0.1465 seconds. By equation 2, the drive interface speed (z) is:
10 * 4 < i , so, 40 < i . Since i = 3000 Mb/s, and i is two orders of magnitude greater than the required level (40), and so, drive interface speed i is not a constraining factor.
Each one of the multiplicity of chunks 110a, 110b, 110c, HOd, HOx, HOy, HOz, 120a, 120b, 120 y, 120z, 130a, 130z, 140a, 140z is input into the indexer 150.
For each chunk of the multiplicity of chunks 110a, 110b, 110c, HOd, HOx, HOy, HOz, 120a, 120b, 120 y, 120z, 130a, 130z, 140a, 140z, the indexer 150 performs the following operations:
the indexer 150 determines a location of each ECM comprised in the chunk;
the indexer 150 determines a location of each reference frame comprised in the chunk; and
the indexer 150 creates a chunk index of locations of each ECM comprised in the chunk and each reference frame comprised in the chunk.
Those skilled in the art will appreciate that the term "reference frame" is used synonymously with the terms: "reference picture", "key frame", and "key picture". The term "reference picture" is understood to mean a "frame" or a "picture" containing samples that may be used for inter prediction in the decoding process of subsequent pictures in decoding order. Typical reference frames include I-frames (or I-pictures) and IDR (instantaneous decoding refresh) frames (or IDR pictures). These and other terms of the art are defined in ITU-T Specification H.264 (03/2005), Advanced Video Coding for Generic Audiovisual Services, Section 3, Definitions; and ISO/IEC 13818-1, Information Technology - Generic Coding of Moving Pictures and Associated Audio Information: Systems, Section 2.1, Defmitions.H.264, Section 3 and ISO/IEC 13818-1, Section 2.1 are incorporated herein by reference.
A chunk file, comprising the chunk and the chunk index is created, as explained below.
Taking chunk 110a as an example, a chunk index 111a is added to the chunk 110a. A chunk file 111 results. Chunks 110b, 110c, 11 Ox, HOy, HOz, 120a, 120b, 120y, 120z, 130a, 130z, 140a, and 140z similarly are added to chunk indexes in order to produce chunk files, such as: chunk file 121, comprising chunk 120a and chunk index 121a; chunk file 131, comprising chunk 130a and chunk index 131a; and chunk file 141, comprising chunk 140a and chunk index 141a.
The data stream assembler (not depicted) receives the chunk files 111, 121, 131, and 141. The chunk files 111, 121, 131, and 141 are assembled, by the data stream assembler (not depicted) into a data stream 160. The data stream assembler (not depicted) assembles the data stream 160 such that no chunk file comprising a chunk from a content item is adjacent to a second chunk file comprising a chunk from the same content item. For example and without limiting the generality of the foregoing, chunk file 111 will not be inserted into the data stream 160 adjacent to chunk file 112, since chunk file 111 and chunk file 112 both comprises chunks which are originally from the same content item.
Reference is now made to Fig. 2, which is a simplified block drawing depicting an embodiment of creation of a data stream for broadcast within the system of Fig. 1.
Content items 205 are typically prepared for broadcast by being input into an encoder 210, thereby undergoing an encoding or compression process, producing encoded content items. The encoded content items are optionally input into an encryptor for encryption 215. The encoded and optionally encrypted content items are then input into a chunking process 220. The chunking process 220 controls a plurality of buffers that are of a sufficient size to store a chunk of content (the size of the chunk is described above, inherently, as a property of the duration of the chunk). Each buffer of the plurality of buffers is configured to store the compressed (and optionally encrypted) chunks of content.
The term "encoded" is used throughout the present specification and claims, in all of its grammatical forms, to refer to any type of data stream encoding including, for example and without limiting the scope of the definition, well known types of encoding such as, but not limited to, MPEG-2 encoding, H.264 encoding, VC-1 encoding, and synthetic encodings such as Scalable Vector Graphics (SVG) and LASER (ISO/IEC 14496-20), and so forth. It is appreciated that an encoded data stream generally requires more processing and typically more time to read than a data stream which is not encoded. Any recipient of encoded data, whether or not the recipient of the encoded data is the intended recipient, is, at least in potential, able to read encoded data without requiring cryptanalysis. It is appreciated that encoding may be performed in several stages and may include a number of different processes, including, but not necessarily limited to: compressing the data; transforming the data into other forms; and making the data more robust (for instance replicating the data or using error correction mechanisms).
The term "compressed" is used throughout the present specification and claims, in all of its grammatical forms, to refer to any type of data stream compression. Compression is typically a part of encoding and may include image compression and motion compensation. Typically, compression of data reduces the number of bits comprising the data. In that compression is a subset of encoding, the terms "encoded" and "compressed", in all of their grammatical forms, are often used interchangeably throughout the present specification and claims.
Similarly, the terms "decoded" and "decompressed" are used throughout the present specification and claims, in all their grammatical forms, to refer to the reverse of "encoded" and "compressed" in all their grammatical forms.
The terms "scrambled" and "encrypted", in all of their grammatical forms, are used interchangeably throughout the present specification and claims to refer to any appropriate scrambling and / or encryption methods for scrambling and / or encrypting a data stream, and / or any other appropriate method for intending to make a data stream unintelligible except to an intended recipient(s) thereof. Well known types of scrambling or encrypting include, but are not limited to DES, 3DES, and AES. Similarly, the terms "descrambled" and "decrypted" are used throughout the present specification and claims, in all their grammatical forms, to refer to the reverse of "scrambled" and "encrypted" in all their grammatical forms.
Pursuant to the above definitions, the terms "encoded"; "compressed"; and the terms "scrambled" and "encrypted" are used to refer to different and exclusive types of processing. Thus, a particular data stream may be, for example:
encoded, but neither scrambled nor encrypted;
compressed, but neither scrambled nor encrypted;
scrambled or encrypted, but not encoded;
scrambled or encrypted, but not compressed;
encoded, and scrambled or encrypted; or compressed, and scrambled or encrypted.
Likewise, the terms "decoded" and "decompressed" on the one hand, and the terms "descrambled" and "decrypted" on the other hand, are used to refer to different and exclusive types of processing.
Once the chunk of content has been stored in one of the plurality of buffers, the chunk is indexed by an indexing process 230. As described above, the indexing process 230:
determines a location of each ECM comprised in the chunk; determines a location of each reference frame comprised in the chunk; and
creates a chunk index 240 of locations of each ECM comprised in the chunk and each reference frame comprised in the chunk 250. The chunk 250 and the chunk index 240 are combined to form a chunk file 260. The chunk file 240 is described below in greater detail with reference to Fig. 3.
Once the chunk index 240 and the chunk file 260 are created, the chunk file 260 is output, and the buffer becomes available for storing subsequent chunks of the content item 205. As described above with reference to Fig. 1 , each chunk file 260 is combined into a data stream 270. The data stream 270 is output for broadcast 280 in a single channel in a multiplexed broadcast service. A method and system for dynamic construction of a digital broadcast multiplexes transport stream based on event level metadata is found in the as yet unpublished PCT/IB2010/052960, of NDS Ltd. The method and system described in as yet unpublished PCT/IB2010/052960 is one which would be suitable for outputting the data stream 270 in a in a single channel in a multiplexed broadcast service.
By encoding the content items 205 using an encoder 210 that has been configured to use an average bitrate less than the configured bandwidth of the data stream 270, the resulting chunk 250 is transmitted faster than real-time. For example and without limiting the generality of the foregoing, if an entire multiplex of 33 megabits per second were configured to be used for delivery of chunked content and broadcast using the system and method of the present invention as described herein, and the content item 205 has been encoded at 2 megabits per second, the chunk will be broadcast roughly 15 times faster than real-time. Using the previous example of the chunk of 30 second duration, such a chunk would take 2 seconds to broadcast.
A client device that is configured to record the single channel in the multiplexed broadcast service comprising the data stream 270 will create recordings for each event in the service. While a chunk is being received the chunk will be appended to the appropriate recording. The chunk index 240 portion of the chunk file 260 is also stored as metadata associated with the appropriate recording.
A consequence of the client device recording method described above is that the client device is able to record multiple live events, something that is not possible with a conventional broadcast. There are two main reasons why a client device is not able to record multiple live events. The first reason is that there is insufficient hard disk bandwidth to make more than a few simultaneous recordings. The second reason is the lack of sufficient hardware to parse and index the stream comprising the multiple live events.
The present invention, in embodiments thereof, gets around the limitations caused by lack of hard disk bandwidth because there is only ever one chunk being broadcast at a time in the multiplexed broadcast service comprising the data stream 270. Thus, the hard disk only needs to seek when one chunk ends and the next chunk (for a different event) starts. As noted above, using a video encoder 210, the resulting chunk 250 is transmitted faster than real-time. Faster than real-time transmission is not a problem for the client device because the continuous transfer speed of the hard disk is much higher than the bandwidth of the multiplexed broadcast service comprising the data stream 270. Other techniques that can be used to avoid disk running out of disk transfer speed due to excessive seeking is to introduce buffering in the client device. However, doing so has the disadvantage of requiring extra RAM in the client device, thereby increasing the cost of the client device.
Alternatively, an entire multiplex may be recorded in one file. However, a consequence of recording an entire multiplex in one file is that when playing an event from the one recorded file requires reading the entire multiplex from disk, which greatly increases the read transfer bandwidth required. Additionally, recording an entire multiplex in a single file also effectively prevents the deletion of any single content item as the entire multiplex must be deleted together.
The second reason for constraints to simultaneous recording of conventionally broadcast events is the lack of indexing hardware. In a typical DVR the stream that is being recorded is parsed to build an index of the file to allow for trick play and random access. In an XTV DVR this parsing is performed by a hardware component of the sort described in published PCT application WOO 1/35669 and in published PCT application WO03/010970.
The hardware component has a fixed number of streams that the hardware component can simultaneously parse, which puts a limit upon the number of conventionally broadcast events that can be simultaneously recorded. The present invention, in embodiments thereof, gets around this problem because the indexing is provided with the chunk index 240 incorporated in the chunk file 260 comprised in the multiplexed broadcast service comprising the data stream 270. Incorporating the index in the received data stream removes the need for parsing of the stream in the DVR. Reference is now made to Fig. 3, which is a simplified block drawing depicting an embodiment of the chunk file in the system of Fig. 1. The chunk file depicted in Fig. 3 is based on the ISO base media file format specified in ISO/IEC 14496-12, Information Technology - Coding of Audio-Visual Objects - Part 12: ISO Base Media File Format (Third Edition 2008). Files in ISO file format comprise a series of "boxes". A box is defined in ISO/IEC 14496-12 as an object-oriented building block defined by a unique type identifier and length. Each box has a four character name, the name referring to the type of data contained in the box. The table below lists the names of the boxes depicted in Fig. 3, and provides an explanation of the four character name depicted in Fig. 3. Additionally, the table below uses a nested structure reflecting the structure of the file depicted in Fig. 3. It is appreciated that since the boxes in the chunk file structure depicted in Fig. 3 are referred to by their four character name, reference numerals are not used.
Figure imgf000015_0001
The term "track" in the table above, and as used henceforth, is understood to mean a timed sequence of related samples in the chunk file. The term "sample" as used above, and as used henceforth, is understood to refer to all of the data associated with a single timestamp. The use of the chunk file poses a problem because, in a typical case, the chunk file cannot be created without having all compressed audio-visual data for a complete event available, because the MOOV box comprises pointers which point to compressed audio-visual data comprised in the MDAT box or boxes. For live broadcasts, the audio-visual data is typically received at a broadcast headend at the same time as the audio-visual data is being filmed. Thus, the only point at which the whole data is known is at the end of a broadcast. In order to create the chunks required for embodying the present invention, an optional feature of the ISO 14496-12 file format called Movie Fragments (MOOF) is utilized. Movie Fragments are a way of adding content to the end of the chunk file.
Reference is now made to Fig. 4, which is a simplified block drawing of an exemplary movie fragment in the chunk file of Fig. 3. Those skilled in the art will appreciate that a chunk file comprising movie fragments still has the headers comprised in the MOOV box. However, the MOOV box omits indexing boxes, indicating that there are no samples at the MOOV level.
Movie fragments use components that contain samples from a track, but with use slightly different terminology and a different structure in the file. The structure has been revised in order to make it easier to create chunk files that "grow", without requiring continual updating of the chunk files.
There may be an arbitrary number of movie fragments in a file.
Each movie fragment contains any number of track fragments.
Receipt of a first chunk for a content item causes a new chunk file to be created. The newly created chunk file contains the FTYP and the MOOV boxes, as depicted in Fig. 3. The FTYP and the MOOV boxes comprise codec specific information, as required by a client device decoder. The MOOV box does not contain a media index, as this will be contained in a subsequent MOOF box.
The audio-visual data for all chunks of the content item are indexed in order to provide the indexing information in the MOOF box, followed by the audio-visual data in an MDAT box.
Accordingly, the timeline for one content item would be:
A first content item chunk file for the content item:
[FTYP] [MOOV] [MOOF] [MDAT] Subsequent content item chunk files for the content item:
[MOOF] [MDAT]
The FTYP and MOOV boxes are inserted into a data carousel that is broadcast as part of a live broadcast comprised in a single channel in a multiplexed broadcast service. The FTYP and MOOV boxes are kept in the data carousel until after the end of the live broadcast since the FTYP and MOOV boxes are required for the client device to be able to play any part of the content item. In that it cannot be guaranteed that all client devices will be receiving the live broadcast from its beginning, the FTYP and MOOV are repeatedly broadcast in the data carousel. In the present usage model the FTYP and MOOV boxes are typically very small, and thus do not add appreciably to the overall data transmission requirements.
MDAT boxes are broadcast using private data PIDs in the single channel in the multiplexed broadcast service. Typically, each MDAT box is preceded by a chunk notification packet (CNP) which describes the chunk with which the MDAT box is associated. The CNP is typically structured as an MPEG- 2 compliant private data section contained within a single transport packet and placed in the CNP metadata PID. The CNP PID is typically defined as a separate component within the PMT and is exclusively used for CNP packets.
MOOF boxes are also inserted in to a data carousel that is broadcast in the live broadcast comprised in the single channel in the multiplexed broadcast service. However MOOF boxes are typically only required to remain within the carousel for a short period of time (e.g. 1 minutes) after its associated MDAT box has been broadcast. Those skilled in the art will appreciate that the MOOF boxes do not need to remain within the data carousel for the entire duration of the live broadcast because the MOOF boxes are only required when their associated MDAT boxes have been received and recorded.
Referring specifically to Fig. 4, the following table details boxes and their four character name: FOUR CHARACTER NAME DESCRIPTION
MOOV Container for metadata
TRAK Metadata about one track
TKHD Track header, overall information about the track
MDIA Container for the media information in a track
MINF Media information container
DINF Data information box container
DREF Data reference box, declares source(s) of media data in the track
MVEX Movie extends box
MEHD Movie extends header box
TREX Track extends defaults
MOOF Movie fragment
MFHD Movie fragment header
TRAF Track fragment
TFHD Track fragment header
TRUN Track fragment run
Reference is now made to Fig. 5, which is a simplified flow chart of a method of operation of the system of Fig. 1. The method of Fig. 5 is believed to be self explanatory with reference to the above discussion.
It is appreciated that software components of the present invention may, if desired, be implemented in ROM (read only memory) form. The software components may, generally, be implemented in hardware, if desired, using conventional techniques. It is further appreciated that the software components may be instantiated, for example: as a computer program product; on a tangible medium; or as a signal interpretable by an appropriate computer.
It is appreciated that various features of the invention which are, for clarity, described in the contexts of separate embodiments may also be provided in combination in a single embodiment. Conversely, various features of the invention which are, for brevity, described in the context of a single embodiment may also be provided separately or in any suitable subcombination.
It will be appreciated by persons skilled in the art that the present invention is not limited by what has been particularly shown and described hereinabove. Rather the scope of the invention is defined by the appended claims and equivalents thereof:

Claims

What is claimed is: CLAIMS
1. A method for broadcasting content, the method facilitating simultaneous recording of multiple programs on a digital video recorder (DVR), the method comprising:
providing a plurality of content items;
dividing each one of the plurality of content items into a multiplicity of chunks, each one of the chunks comprising at least one reference frame;
for each one of the chunks:
determining a location of each reference frame comprised in the chunk;
creating a chunk index of locations of each reference frame comprised in the chunk;
creating a chunk file comprising the chunk and the chunk index; and
inserting the chunk file in a data stream, such that no chunk file comprising a chunk from a particular content item is adjacent to a second chunk file comprising a chunk from the same particular content item; and
broadcasting using a transmission bitrate greater than the bitrate of the data stream in a single channel in a multiplexed broadcast service,
wherein the chunks files in the data stream are transmitted sequentially.
2. The method according to claim 1 and wherein the content item comprises an encrypted content item.
3. The method according to claim 2 and wherein each of the chunks of the multiplicity of chunks comprises at least one ECM.
4. The method according to claim 3 and further comprising: determining, for each one of the chunks, a location of each ECM comprised in the chunk;
including in the chunk index of locations the location each ECM comprised in the chunk.
5. The method according to any of claims 1 - 4 and wherein each chunk of the multiplicity of chunks comprises a chunk of fixed play-back duration.
6. The method according to any of claim 1 - claim 5 and wherein the content item comprises a compressed content item.
7. The method according to claim 6 and wherein the compressed content item comprises an H.264/MPEG-4 compressed content item.
8. The method according to any of claims 6 - 7 and wherein the compressed content item is encapsulated using ISO 14496-12 file format Movie Fragments (MOOF).
9. The method according to any of claims 1 - 8 and wherein the content item comprises a live broadcast content item.
Respectfully submitted,
PCT/IB2010/052968 2009-09-02 2010-06-29 Method and system for simultaneous recording of multiple programs on a dvr WO2011027236A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/392,658 US8913879B2 (en) 2009-09-02 2010-06-29 Method and system for simultaneous recording of multiple programs on a DVR
EP10743236.1A EP2474114B1 (en) 2009-09-02 2010-06-29 Method and system for simultaneous recording of multiple programs on a dvr
IL218334A IL218334A0 (en) 2009-09-02 2012-02-27 Method and system for simultaneous recording of multiple programs on a dvr

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0915240A GB2462732B (en) 2009-09-02 2009-09-02 Method and system for simultaneous recording of multiple programs on a dvr
GB0915240.6 2009-09-02

Publications (1)

Publication Number Publication Date
WO2011027236A1 true WO2011027236A1 (en) 2011-03-10

Family

ID=41203007

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2010/052968 WO2011027236A1 (en) 2009-09-02 2010-06-29 Method and system for simultaneous recording of multiple programs on a dvr

Country Status (5)

Country Link
US (1) US8913879B2 (en)
EP (1) EP2474114B1 (en)
GB (1) GB2462732B (en)
IL (1) IL218334A0 (en)
WO (1) WO2011027236A1 (en)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013028835A1 (en) * 2011-08-23 2013-02-28 Echostar Technologies L.L.C. Storing multiple instances of content
US8584167B2 (en) 2011-05-31 2013-11-12 Echostar Technologies L.L.C. Electronic programming guides combining stored content information and content provider schedule information
US8606088B2 (en) 2011-08-23 2013-12-10 Echostar Technologies L.L.C. System and method for memory jumping within stored instances of content
US8627349B2 (en) 2011-08-23 2014-01-07 Echostar Technologies L.L.C. User interface
US8660412B2 (en) 2011-08-23 2014-02-25 Echostar Technologies L.L.C. System and method for dynamically adjusting recording parameters
US8763027B2 (en) 2011-08-23 2014-06-24 Echostar Technologies L.L.C. Recording additional channels of a shared multi-channel transmitter
US8819761B2 (en) 2012-03-15 2014-08-26 Echostar Technologies L.L.C. Recording of multiple television channels
US8850476B2 (en) 2011-08-23 2014-09-30 Echostar Technologies L.L.C. Backwards guide
US8959544B2 (en) 2012-03-15 2015-02-17 Echostar Technologies L.L.C. Descrambling of multiple television channels
US8959566B2 (en) 2011-08-23 2015-02-17 Echostar Technologies L.L.C. Storing and reading multiplexed content
US8989562B2 (en) 2012-03-15 2015-03-24 Echostar Technologies L.L.C. Facilitating concurrent recording of multiple television channels
US9055274B2 (en) 2011-08-23 2015-06-09 Echostar Technologies L.L.C. Altering presentation of received content based on use of closed captioning elements as reference locations
US9191694B2 (en) 2011-08-23 2015-11-17 Echostar Uk Holdings Limited Automatically recording supplemental content
US9357159B2 (en) 2011-08-23 2016-05-31 Echostar Technologies L.L.C. Grouping and presenting content
US9521440B2 (en) 2012-03-15 2016-12-13 Echostar Technologies L.L.C. Smartcard encryption cycling
US9621946B2 (en) 2011-08-23 2017-04-11 Echostar Technologies L.L.C. Frequency content sort
US9628838B2 (en) 2013-10-01 2017-04-18 Echostar Technologies L.L.C. Satellite-based content targeting
US9756378B2 (en) 2015-01-07 2017-09-05 Echostar Technologies L.L.C. Single file PVR per service ID
US9918116B2 (en) 2012-11-08 2018-03-13 Echostar Technologies L.L.C. Image domain compliance

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2473258A (en) 2009-09-08 2011-03-09 Nds Ltd Dynamically multiplexing a broadcast stream with metadata-based event inclusion decisions and priority assignment in case of conflict
AU2010202740B1 (en) * 2010-06-30 2010-12-23 Brightcove Inc. Dynamic indexing for ad insertion in media streaming
AU2010202741B1 (en) * 2010-06-30 2010-12-23 Adeia Media Holdings Llc Dynamic chunking for media streaming
US8954540B2 (en) 2010-06-30 2015-02-10 Albert John McGowan Dynamic audio track selection for media streaming
US9762639B2 (en) 2010-06-30 2017-09-12 Brightcove Inc. Dynamic manifest generation based on client identity
US9838450B2 (en) 2010-06-30 2017-12-05 Brightcove, Inc. Dynamic chunking for delivery instances
US8301733B2 (en) 2010-06-30 2012-10-30 Unicorn Media, Inc. Dynamic chunking for delivery instances
AU2011201404B1 (en) 2011-03-28 2012-01-12 Brightcove Inc. Transcodeless on-the-fly ad insertion
US8625789B2 (en) 2011-09-26 2014-01-07 Unicorn Media, Inc. Dynamic encryption
US8239546B1 (en) 2011-09-26 2012-08-07 Unicorn Media, Inc. Global access control for segmented streaming delivery
US8165343B1 (en) 2011-09-28 2012-04-24 Unicorn Media, Inc. Forensic watermarking
GB2503669B (en) * 2012-07-03 2015-08-19 Nds Ltd A system and method for simultaneously recording multiple media assets using a single tuner
US8843987B2 (en) * 2012-08-23 2014-09-23 Time Warner Cable Enterprises Llc Methods and apparatus that support addressable interactive applications
US9112939B2 (en) 2013-02-12 2015-08-18 Brightcove, Inc. Cloud-based video delivery
FR3034278B1 (en) 2015-03-24 2018-05-18 Tdf METHOD AND DEVICE FOR PROVIDING A DATA STREAM, METHOD AND DEVICE FOR PROCESSING A DATA STREAM, COMPUTER PROGRAMS, AND CORRESPONDING STORAGE MEDIA
FR3060927B1 (en) 2016-12-15 2019-05-10 Quadrille Ingenierie DIGITAL BROADCAST METHOD AND DEVICE IMPLEMENTED WITHIN A DIGITAL BROADCAST NETWORK

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0994590A2 (en) * 1998-10-15 2000-04-19 Matsushita Electric Industrial Co., Ltd. Method and system for transmitting digital broadcast programmes, method and system for receiving and recording digital broadcast programmes
WO2001035669A1 (en) 1999-11-10 2001-05-17 Nds Limited System for data stream processing
EP1271526A2 (en) * 2001-06-21 2003-01-02 Lg Electronics Inc. Method and apparatus of recording a multi-channel stream, and a recording medium containing a multi-channel stream recorded by said method
WO2003010970A2 (en) 2001-07-23 2003-02-06 Nds Limited System for random access to content
EP1289297A2 (en) * 2001-07-27 2003-03-05 Matsushita Electric Industrial Co., Ltd. Broadcasting system capable of providing program information
US7251832B2 (en) 2003-03-13 2007-07-31 Drm Technologies, Llc Secure streaming container
JP2008278090A (en) 2007-04-27 2008-11-13 Hitachi Ltd Content distribution system, content distribution server, content reception client, and content recording/reproduction method
US20090034604A1 (en) 2007-08-03 2009-02-05 International Business Machines Corporation Method and system for subdividing a digital broadcast program into distinct identified sections for selective digital video recording and archiving

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7515712B2 (en) * 1997-08-01 2009-04-07 Cisco Technology, Inc. Mechanism and apparatus for encapsulation of entitlement authorization in conditional access system
US6788882B1 (en) * 1998-04-17 2004-09-07 Timesurf, L.L.C. Systems and methods for storing a plurality of video streams on re-writable random-access media and time-and channel- based retrieval thereof
US7586938B2 (en) * 2003-10-24 2009-09-08 Microsoft Corporation Methods and systems for self-describing multicasting of multimedia presentations
KR100580195B1 (en) * 2004-07-16 2006-05-16 삼성전자주식회사 Method and apparatus for recording with which time shift function is practicable at plural channel
US20070199040A1 (en) * 2006-02-23 2007-08-23 Lawrence Kates Multi-channel parallel digital video recorder
GB2473258A (en) 2009-09-08 2011-03-09 Nds Ltd Dynamically multiplexing a broadcast stream with metadata-based event inclusion decisions and priority assignment in case of conflict

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0994590A2 (en) * 1998-10-15 2000-04-19 Matsushita Electric Industrial Co., Ltd. Method and system for transmitting digital broadcast programmes, method and system for receiving and recording digital broadcast programmes
WO2001035669A1 (en) 1999-11-10 2001-05-17 Nds Limited System for data stream processing
EP1271526A2 (en) * 2001-06-21 2003-01-02 Lg Electronics Inc. Method and apparatus of recording a multi-channel stream, and a recording medium containing a multi-channel stream recorded by said method
WO2003010970A2 (en) 2001-07-23 2003-02-06 Nds Limited System for random access to content
EP1289297A2 (en) * 2001-07-27 2003-03-05 Matsushita Electric Industrial Co., Ltd. Broadcasting system capable of providing program information
US7251832B2 (en) 2003-03-13 2007-07-31 Drm Technologies, Llc Secure streaming container
JP2008278090A (en) 2007-04-27 2008-11-13 Hitachi Ltd Content distribution system, content distribution server, content reception client, and content recording/reproduction method
US20090034604A1 (en) 2007-08-03 2009-02-05 International Business Machines Corporation Method and system for subdividing a digital broadcast program into distinct identified sections for selective digital video recording and archiving

Cited By (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9113222B2 (en) 2011-05-31 2015-08-18 Echostar Technologies L.L.C. Electronic programming guides combining stored content information and content provider schedule information
US8584167B2 (en) 2011-05-31 2013-11-12 Echostar Technologies L.L.C. Electronic programming guides combining stored content information and content provider schedule information
US10021444B2 (en) 2011-08-23 2018-07-10 DISH Technologies L.L.C. Using closed captioning elements as reference locations
US8660412B2 (en) 2011-08-23 2014-02-25 Echostar Technologies L.L.C. System and method for dynamically adjusting recording parameters
US9894406B2 (en) 2011-08-23 2018-02-13 Echostar Technologies L.L.C. Storing multiple instances of content
US8763027B2 (en) 2011-08-23 2014-06-24 Echostar Technologies L.L.C. Recording additional channels of a shared multi-channel transmitter
US11146849B2 (en) 2011-08-23 2021-10-12 DISH Technologies L.L.C. Grouping and presenting content
US8850476B2 (en) 2011-08-23 2014-09-30 Echostar Technologies L.L.C. Backwards guide
US10659837B2 (en) 2011-08-23 2020-05-19 DISH Technologies L.L.C. Storing multiple instances of content
US8959566B2 (en) 2011-08-23 2015-02-17 Echostar Technologies L.L.C. Storing and reading multiplexed content
US9055274B2 (en) 2011-08-23 2015-06-09 Echostar Technologies L.L.C. Altering presentation of received content based on use of closed captioning elements as reference locations
US10104420B2 (en) 2011-08-23 2018-10-16 DISH Technologies, L.L.C. Automatically recording supplemental content
US9350937B2 (en) 2011-08-23 2016-05-24 Echostar Technologies L.L.C. System and method for dynamically adjusting recording parameters
US8627349B2 (en) 2011-08-23 2014-01-07 Echostar Technologies L.L.C. User interface
US10231009B2 (en) 2011-08-23 2019-03-12 DISH Technologies L.L.C. Grouping and presenting content
US9088763B2 (en) 2011-08-23 2015-07-21 Echostar Technologies L.L.C. Recording additional channels of a shared multi-channel transmitter
US8606088B2 (en) 2011-08-23 2013-12-10 Echostar Technologies L.L.C. System and method for memory jumping within stored instances of content
US9635436B2 (en) 2011-08-23 2017-04-25 Echostar Technologies L.L.C. Altering presentation of received content based on use of closed captioning elements as reference locations
US9621946B2 (en) 2011-08-23 2017-04-11 Echostar Technologies L.L.C. Frequency content sort
US9185331B2 (en) 2011-08-23 2015-11-10 Echostar Technologies L.L.C. Storing multiple instances of content
US9191694B2 (en) 2011-08-23 2015-11-17 Echostar Uk Holdings Limited Automatically recording supplemental content
US9357159B2 (en) 2011-08-23 2016-05-31 Echostar Technologies L.L.C. Grouping and presenting content
US9264779B2 (en) 2011-08-23 2016-02-16 Echostar Technologies L.L.C. User interface
WO2013028835A1 (en) * 2011-08-23 2013-02-28 Echostar Technologies L.L.C. Storing multiple instances of content
US9349412B2 (en) 2012-03-15 2016-05-24 Echostar Technologies L.L.C. EPG realignment
US9177606B2 (en) 2012-03-15 2015-11-03 Echostar Technologies L.L.C. Multi-program playback status display
US9202524B2 (en) 2012-03-15 2015-12-01 Echostar Technologies L.L.C. Electronic programming guide
US9361940B2 (en) 2012-03-15 2016-06-07 Echostar Technologies L.L.C. Recording of multiple television channels
US9412413B2 (en) 2012-03-15 2016-08-09 Echostar Technologies L.L.C. Electronic programming guide
US9489982B2 (en) 2012-03-15 2016-11-08 Echostar Technologies L.L.C. Television receiver storage management
US9489981B2 (en) 2012-03-15 2016-11-08 Echostar Technologies L.L.C. Successive initialization of television channel recording
US9521440B2 (en) 2012-03-15 2016-12-13 Echostar Technologies L.L.C. Smartcard encryption cycling
US9549213B2 (en) 2012-03-15 2017-01-17 Echostar Technologies L.L.C. Dynamic tuner allocation
US9177605B2 (en) 2012-03-15 2015-11-03 Echostar Technologies L.L.C. Recording of multiple television channels
US8819761B2 (en) 2012-03-15 2014-08-26 Echostar Technologies L.L.C. Recording of multiple television channels
US9269397B2 (en) 2012-03-15 2016-02-23 Echostar Technologies L.L.C. Television receiver storage management
US8959544B2 (en) 2012-03-15 2015-02-17 Echostar Technologies L.L.C. Descrambling of multiple television channels
US9781464B2 (en) 2012-03-15 2017-10-03 Echostar Technologies L.L.C. EPG realignment
US9854291B2 (en) 2012-03-15 2017-12-26 Echostar Technologies L.L.C. Recording of multiple television channels
US9043843B2 (en) 2012-03-15 2015-05-26 Echostar Technologies L.L.C. Transfer of television programs from channel-specific files to program-specific files
US10582251B2 (en) 2012-03-15 2020-03-03 DISH Technologies L.L.C. Recording of multiple television channels
US9031385B2 (en) 2012-03-15 2015-05-12 Echostar Technologies L.L.C. Television receiver storage management
US8997153B2 (en) 2012-03-15 2015-03-31 Echostar Technologies L.L.C. EPG realignment
US10171861B2 (en) 2012-03-15 2019-01-01 DISH Technologies L.L.C. Recording of multiple television channels
US8989562B2 (en) 2012-03-15 2015-03-24 Echostar Technologies L.L.C. Facilitating concurrent recording of multiple television channels
US9918116B2 (en) 2012-11-08 2018-03-13 Echostar Technologies L.L.C. Image domain compliance
US9628838B2 (en) 2013-10-01 2017-04-18 Echostar Technologies L.L.C. Satellite-based content targeting
US9756378B2 (en) 2015-01-07 2017-09-05 Echostar Technologies L.L.C. Single file PVR per service ID

Also Published As

Publication number Publication date
EP2474114A1 (en) 2012-07-11
GB2462732A (en) 2010-02-24
IL218334A0 (en) 2012-04-30
EP2474114B1 (en) 2016-11-23
US8913879B2 (en) 2014-12-16
GB2462732B (en) 2010-11-17
GB0915240D0 (en) 2009-10-07
US20120189285A1 (en) 2012-07-26

Similar Documents

Publication Publication Date Title
US8913879B2 (en) Method and system for simultaneous recording of multiple programs on a DVR
JP6793231B2 (en) Reception method
RU2407214C2 (en) Device and method for processing of data flow, having sequence of packets and information of synchronisation related to packets
RU2492587C2 (en) Apparatus and method for storing and reading file, having media data storage and metadata storage
US8326131B2 (en) Signalling of decodable sub-sequences
EP1239674B1 (en) Recording broadcast data
US8543724B2 (en) Methods and apparatuses for a projected PVR experience
US8656447B2 (en) Splicing of content
KR20050088448A (en) Method and apparatus for handling layered media data
EP2383976A2 (en) Methods and apparatuses for a projected PVR experience
US7778526B2 (en) System and method for maintaining DVD-subpicture streams upon conversion to higher compressed data format
KR101731829B1 (en) Device and method for processing digital contents in digital video receiver
US20130287361A1 (en) Methods for storage and access of video data while recording
US20070147429A1 (en) Stream file format for digital video recording
KR101941781B1 (en) Method and Apparatus for Receiving 8K Broadcasting based on MMT
US20110271001A1 (en) Methods &amp; apparatuses for a projected pvr experience
JP6991185B2 (en) Video playback device and video recording device
Wang et al. A Digital Cinema Playback system compliant with the DCI specification
JP2011078068A (en) System for video transmission
JP5100852B2 (en) Digital signal recording / reproducing apparatus and method, digital signal reproducing apparatus and method
EP1534005A2 (en) Method and apparatus for recording broadcast data
WO2007072242A1 (en) A device for and a method of processing an encrypted data stream
Miljkovic et al. Software architecture of light PVR engine

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10743236

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 218334

Country of ref document: IL

REEP Request for entry into the european phase

Ref document number: 2010743236

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2010743236

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13392658

Country of ref document: US