SUBSTANCE: device (600) to process stored data packets (110; 112) in a container of media data (104) and stored related meta information in a container of meta data (106); related meta information, including information on timing of transportation and information on location, indicating location of storage of saved data packets in the media data container (104); a device, comprising a processor (602) for detection, based on stored data packets (110; 112) and stored related meta information (124; 128); information on decoding (604; 704) for media useful load of stored data packets (110; 112), where information on decoding (604; 704) indicates, at which moment of time to repeatedly reproduce which useful load of stored data packets.

EFFECT: immediate accurate timing of synchronisation between different recorded media streams without complicated processing during each reproduction of recorded media streams.

21 cl, 12 dwg

The invention relates to storing and/or reading of data packets of the transport protocols and additional information associated with them, and/or file having a media data container and a metadata container, such as a file based on the ISO (international organization for Standardization) base media file format.

Various electronic devices are used to receive and playback media streams of data. Such data streams may, for example, be received from a digital video broadcast network, which transmits media streams in accordance with, for example, DVB-H (Digital Mobile Video and TV Broadcasting) or DVB-T (Digital Terrestrial TV broadcasting).

DVB-T uses a modular MPEG-2 (MPEG = Expert Group on Cinematography) transport stream containing the elementary video and audio streams MPEG-2 according to the international standard ISO/IEC 13818 (IEC = international Electrotechnical Commission). Transport stream MPEG-2 multiplex, is used in many modern systems for television and radio. This is a multiplexed stream of one or more media programs, typically audio and video, but also other data. Transport streams MPEG-2 share a common clock generator and use the media samples with timestamp (Blocks Access, AUs) in all media streams. This makes the prob is mportant synchronization of the transmitting and receiving clock generators and synchronous dubbing the audio and video streams.

For DVB-H elementary audio and video streams encapsulated in RTP (Transport Protocol Real-Time), UDP (User Datagram Protocol), IP (Internet Protocol), and MPE (Multiprotocol encapsulation) for IP data type conversion. RTP is used for efficient delivery of multimedia data over IP networks in real time. Multiplexing is typically bind different network ports to each media stream, for example, one network port for video and another for audio. Various media data usually come from different sources having different clock generator or clock frequency. For example, audiopaste have the normal selection, depending on the clock frequency of the device sample rate audio material, in which the frame rate of videostrommar depends on the clock frequency of videostourture grasp. Such clock generators may have inherent error of frequency, more than a few hundred parts per million, resulting in an accumulation of errors in the amount of tens of seconds in a day. The term "clock skew" is defined as the difference between the actual frequency of the clock pulses from its nominal frequency. If the transmitter clock is faster than the host clock g is nerator,
this can lead to the accumulation of packets in the receiver. If the transmit clock is slower than the host clock, this will lead to incomplete utilization of the buffers of the receiver. Thus, if the clock frequency of the receiver is different from the clock frequency of the sender, the buffer(s) receiver or will gradually be filled or empty. Further, the clock skew can lead to de-synchronization between related audio and videogameszone in the receiver.

RTCP (Transport Control Protocol Real-Time Transmission) allows for recovery and synchronization clock generator for RTP streams. The RTCP channel is associated with each RTP stream, and includes control information from the sender to the receiver in the form of a message sender (SR) and Vice versa. Each RTCP message sender includes two timestamps: NTP (Network Time Protocol) timestamp of the system clock of the sender (the reference timestamp) and the corresponding media time stamp of the associated RTP stream. These RTCP message sender and send audio and video. From the values of the RTP and NTP time packets RTP can be installed on a timeline, and the media can be perfectly synchronized.

The streaming service is defined as the number of synchronized media p. the currents,
delivered way limited in time or unlimited, for immediate consumption during the reception. Each streaming session may include audio, video and/or media data in real time, such as the synchronized text. Custom media data retrieved for a movie through mobile television, for example, can view movies and/or write it to a file. Usually, for this purpose, the received data packets of the received media stream deacetylase to store the raw media data in the file. Thus, the received RTP packets or packets MPEG-2 must first be deacetylase to get your payload in the form of media data. Then, after deacetylase samples of the media data is reproduced or stored in the file. Received media samples are typically compressed formats like H.264/AVC (AVC=Advanced Video Coding) video format and/or MPEG-4 EH-AACV2 (EH-AACV2=high-efficiency Advanced audio version 2) audio format. When samples of the media data with video and/or audio formats, must be stored, they can be stored in so-called 3GP file format, also known as 3GPP (Partnership Project 3rd Generation) file format, or MP4 (MPEG-4) file format. And 3GP and MP4 derived from the ISO base media file format, which is the ultimate in ISO/IEC international standard 14496-12:2005 "Technology coding of audio-visual objects -
part 12: ISO base media file format". File includes media data and metadata. To this file worked, must be present and those and other data. Media data is stored in container media data (mdat)associated with the file, and the metadata is stored in the container metadata (moov) file. Traditionally, the media data container includes actual media samples. That is, it may include, for example, alternating, time-ordered video and/or autostructure. Thus, each of the media data has its own track metadata (trak) in the metadata container ' moov', which describes the properties of the media content. Additional containers (also called blocks) in the metadata container moov may include information about the properties of the file, the contents of the file, etc.

Recently, the so-called hindimovie paths for files based on the ISO base media file format, have been defined by the international standardization groups. These hindimovie track admission can be used to store the multiplex and/or packetized streams, such as, for example, the received transport stream MPEG-2 or RTP packets. Hindimovie track admission can be used to store client-side and playback of the received data packets. Thus, the received MPEG-2 TS is whether the RTP packets of the same flow directly stored on hintingly tracks receiving,
such as, for example, pre-computed samples or constructors.

There are two advantages of this approach compared to the demultiplexing and/or depictional data packets and the subsequent recording of individual media tracks for each elementary media stream (audio and/or video). First, it reduces the required complexity of the receiving device during storage, because it does not require any demuxing or other processing of the received data packets. It only executes the storage file of the received data packets in an unmodified form. Secondly, in some cases, completely impossible to condense the received data packets to separate media track, especially if the media data is encrypted at the transport/multiplex level, or circuit packaging is unknown. Thirdly, the easier time shift, i.e. an entry in the file and immediately read the same file with a variable time offset, PVR (PVR = Personal video Recorder), through the first two paragraphs.

Playing with hintingly track appointment may be made by the emulation of the normal stream and reading the stored data packets with hintingly tracks reception as they were received by IP. Hindimovie track of all hindimovie tracks have a duration of tra is spartanovka,
unlike media tracks with media playback timing. Therefore, the timestamp of reception of the receiving device is associated with each data packet stored on hindimovie track admission.

RTP hindimovie paths in the server files retain only the RTP packets of media data from one thread and do not contain additional relevant or control information, such as, for example, RTCP information or key messages. The RTCP information is on the go streaming server, because it describes the current state of the streaming situation, for example, the timing.

Streaming receivers can recover the system clock of the sender of the reception time of the message and align the system clock of the receiver with the system clock of the sender, to avoid buffer overflow, respectively underload for direct playback. In the jitter at the time of admission (network jitter) RTP packet or packets of the message sender RTCP, depending on which of them are used for recovering a clock generator, instant recovery clock generator is not possible. Independent audio and videoagency capture with unsynchronized sampling clock generators can result in the rejection of the oscillator is in RTP,
although the media timestamps are constantly increasing at a fixed speed. RTCP message sender are NTP and RTP timestamps for each thread, and therefore can be used to eliminate the deviation of the involved devices. In many systems there is a shake when creating a message sender RTCP, in particular in the relationship between clock generators RTP and NTP. So often the situation when streaming clients reach their full sync sound immediately after starting, but should take into account a certain number of messages a sender RTCP before the exact synchronization of sound between the video and audio streams. If the system clock of the sender should be restored and there is a high degree of fluctuations of the network, it is also necessary a certain number of RTP packets or packets of the message sender RTCP, depending on which of them are used for recovery of the clock generator. Oscillation network and the deviation of the clock generator can be re-calculated during the reception of the stream in real time, using information from multiple messages sender RTCP, as described above, in addition to the RTP time stamp associated data packets.

Currently hindimovie track receiving RTP decree is us only for storing the received data packets of the media stream and do not contain relevant messages sender RTCP,
accordingly, information about the timing of the message sender. The RTP timestamp is only one of the received RTP packet is insufficient to sync media data received from different threads. This is because usually each media stream assigns random values to the initial timestamp and the initial sequence number and the frequency of the clock generator timestamp depends on the format of the media data. The time of receipt or receiving RTP packets can be used to synchronize threads. The problem with this approach, however, is that RTP does not guarantee the delivery of the package, and does not prevent the delivery is out of range. As a result, synchronization based on the time of arrival of messages cannot guarantee accuracy.

As described above, the most accurate method of synchronization between different threads RTP requires expectations related messages sender RTCP, which contain information that allows the conversion between the RTP timestamp and the total timestamp flows in the format of the NTP timestamp. These messages sender RTCP usually are sent every five seconds for each thread to a specific bit rate, where the time interval between two messages of the sender RTCP depends on the speed before the Chi bits.

Therefore, reproduction hintingly tracks receiving RTP with precise timing and synchronization of sound is possible only in the following two cases.

First, if there is no deviation of the clock generator between different media clock generators, and data synchronization, inter-thread message sender RTCP available for each of the received RTP packet. This, however, corresponds to an ideal situation that is unlikely to happen in a real environment. Secondly, the receiving device must take into account information about the timing of the message sender RTCP during storage, handling RTP timestamps of the received RTP packets before storing them.

The first case is only a theoretical case and is not used in practice. The second case creates a high load on the receiver, as for example, buffering the received streams within a few seconds would be necessary to take into account several messages sender RTCP for control of timing. This would also affect the ability to instantly read from the same file to use time manipulation. In addition, the original situation of reception cannot be updated after storage, i.e. long-term jitter cannot be liquidated at a stage of processing after receipt and for the ICI full flow.

Modern systems for television and radio use key flows (in range or out of range) for transportation of protected keys, such as additional information used to decrypt the media data, the associated data packets. Typically there is only a weak link between the key stream and the encrypted streaming media data, and not the timing relationship.

In DVB-H and OMA-BCAST (Open Mobile Alliance Mobile Broadcasting Services) key stream is defined as a separate stream of key messages that are sent on UDP port other than the one that sent the associated media stream. Each key message is sent as a single UDP packet. OMA-BCAST calls these messages are short term key message (STKM), DVB-H calls them the key stream messages (KSM). Storage key messages does not harm the security of the streaming system, because each key message associated with the signing of the streaming service, and therefore it may be only authorized subscribers/devices. The actual encryption key in the key message of the protected software or service key.

Each key has an associated KPI (key ID, which is also listed in the associated encrypted media block access. The decryptor checks whether there is a Finance key
associated with the key ID in the encrypted block access.

Synchronization of encrypted media blocks access and related key messages is regulated by the frequent sending of keys with overlapping periods of validity. The key is sent to the encrypted videobachata, marked a key indicator. Then the key remains accurate until at least until the media data using this particular key.

Save keys as media tracks during recording file is not realistic, since no media timing is not associated with the key messages in the thread. Media timing relationship between the keys and the corresponding encrypted blocks access can only be obtained after the processing and analysis of key IDS that provide communication and key and media streams. Only after this analysis it becomes clear what the key is used for what block access or videostourture.

The objective of this invention to provide an instant, accurate timing synchronization between the various recorded media streams without complex processing during each playback of the recorded media streams. That is the purpose of this invention is that the recorded media stream is not required to eliminate shakes and jitters every time when it should be played, and in order to vosproizvedeny the recorded file recovery clock generator of all enabled threads are not needed.

This goal is achieved with a device for processing the stored data packets according to claim 1 of the formula, method of processing stored data packets according to claim 20, formulas, devices for reading file pursuant to paragraph 22 of the formulas and how to read the file according to paragraph 23.

To achieve the above objectives the implementation of the present invention also provides a computer program for implementing the methods of the invention.

This invention is based on the fact that the aforementioned problems can be solved at the same time, not only using the stored received streaming media data packets, but also with related data during reception of the transmitted additional information, in particular all associated data, which are supplied in parallel media streams, such as the RTCP message, including the message sender RTCP, or by writing a corresponding received key messages, including cryptographic keys associated with the media data, composed of the received streaming media data packets.

These are obtained related data or additional information is stored in the file, including the media data container and a metadata container in the form of so-called associated hindimovie track admission ("arht"). This track is associated with a corresponding hinchingbrooke reception
which includes associated media packets using, for example, the mechanism of the original track ISO/IEC 14496-12. As related hintingly track of reception associated hintingly path reception, also stores the transport timing in the form of, for example, a timestamp of the system clock of the receiver. This may allow the restoration of conditions of reception timing of the original package at a later stage during playback.

Hindimovie track admission and related hindimovie tracks include receiving the data portion of the packet in the media data container and a part of the metadata in the metadata container of the file.

According to implementations of the present invention the message, such as message sender RTCP and associated transport timing information is stored during the recording of the associated recommended track admission. In parallel the received media packets RTP and the associated timing of the transportation stored on hindimovie track admission. During recording, there is no process to eliminate shakes and jitters, no sync sound.

To this end, the implementation of the present invention provides a device for recording a file with a container associated media data and the metadata container. The device includes a receiver for receiving first data packets, including the packet is rowanne first samples of the media data,
based on the first clock generator, and for receiving second data packets comprising the second samples of the media data based on the second clock generator that is different from the first clock generator, where the second samples of the media data associated with the first samples of the media data. The receiver further adapted to receive the first management pack, which includes information indicating a relationship of the first clock source a clock generator, for receiving the second management pack, which includes information indicating a relationship of the second clock source a clock generator. The device also includes a recording device for storing the received first and second data packets, and at least part of the received first and second management packs in the container media data, and for storing associated metadata in the metadata container; associated metadata, including information about the timing of the received first and second data packets and the received first and second management packs and including location information indicating the location of the stored first and second data packets and the stored first and second management packs in the media data container.

According to the implementation of the present invention the recording device PR is sposoben for storing first and second received data packets as samples in the first memory container of the media data,
and for storing at least part of the received corresponding first and second management packs as samples in the second memory areas of the media data container.

According to the implementation of this invention, a recording device adapted to store information about the timing and location information of the first and second data packets on the first track of the metadata container, and to store information about the timing and location information of the first and second management packs on the second track of the metadata container of the file.

According to the implementation of this invention, the file based on the ISO base media file format. According to a preferred implementation of this invention, the file is a 3GP or MP4 file.

According to the implementation of the present invention the first data packets are first streamed RTP packets comprising packetized first media samples (e.g., compressed video), and the first packets are RTCP packets associated with the first stream RTP packets including the first message sender RTCP. The second data packets are second streamed RTP packets comprising packetized second samples of the media data (e.g., compressed audio data associated with the video data and the second packets are RTCP packets associated what about the second streamed RTP packets,
including the second message sender RTCP.

Parallel storing first and second data packets and associated management pack has the advantage that the recording process is still lightweight and can capture all the information necessary for playback of a media stream from a recorded file at a later stage. Related hindimovie track of time, i.e saved the management packs in the container media data and associated meta information in the metadata container, used during playback hintingly tracks, there is stored the first and/or second data packets in the media data container and associated meta information stored in the metadata container of the file.

For playback of the recorded file, the implementation of the present invention provide a device for reading a file; the file stored in the media data container related to the file; the first data packets comprising packetized first samples of the media data based on the first clock generator, and the second data packets comprising packetized second samples of the media data based on the second clock generator that is different from the first clock generator. The file also stores at least part of the first management pack, which includes information indicating n the relationship of the first clock source and a clock generator, and
at least part of the second management pack, which includes information indicating a relationship of the second clock and the source clock. The file stores the associated metadata in the metadata container of the file, the associated metadata container comprising information about the timing of the received first and second data packets and the received first and second packets; and location information indicating the location of the stored first and second data packets and the location of the stored first and second management packs in the media data container. Device for reading the file includes a processor for determining the graphics output stored first and second data packets by accessing the metadata container and by interpreting information about the timing of the stored first and second data packets and the stored first and second management packs in the media data container. The device further includes an output controller for outputting first and second data packets in accordance with a specific schedule output by accessing the media data container and through which data packets are read from the media data container.

In accordance with implementations of the present invention stored first and second packages the data and associated stored first and second management packs can be processed on the fly to synchronize sound,
recovery of the clock generator and/or for adjusting the deviation of the clock generator. This type of play is equivalent to the simulated direct reception of recorded media streams.

Recorded hindimovie track admission (first/second data packets and recorded related hindimovie track admission (first/second management packs) cover the whole record. During playback or repeat playback control data associated hindimovie track technique, for example, in the form of messages a sender RTCP can be pre-selected, for example, for precise synchronization of sound, allowing for multiple future messages sender RTCP, where future messages from the sender RTCP associated with future moments is the current time of playback.

The advantage of this invention is that the notion associated hintingly tracks of reception, that is, the recording control information during reception of a media stream, provides easy recording process all the information important for synchronized playback streams from a file, just without the extra complexity.

If the recorded file is intended for long-term storage and will be ultimately reproduced many times, it may be desirable to avoid analyzing the stored first is x/second data packets and the stored first/second management packs, along with the associated metadata,
accordingly, during each play and, instead, to get the media timing, i.e. the timing to repeat the first/second media data samples, composed of the first/second stored data packets directly available without further processing.

Typically, this would involve diacetylene stored data packets from hindimovie track receiving and saving them to your media tracks in the associated containers media data with one elementary stream on one track. It is not always possible or desirable, for example, if conducted transport the encrypted stream of packets, or if the storage capacity is limited.

In addition to the exact timing of the transport packets, it is desirable to extend the available information on hintingly tracks received (stored first/second packets of data plus meta information, especially information regarding the samples of the media data in the first/second data packets, for example, frame-by-frame SMPTE timestamps (SMPTE = Society of Engineers Cinema, Video and Television) or subtitles for the video track.

To this end, the implementation of the present invention also provides a device for processing data packets associated with a transmission Protocol stored in the media data container associated with ILOM,
and for processing the stored associated meta information in the metadata container of the file; the associated meta information, including information about the timing of transportation and the location information indicating the location of the stored data packets in the media container. The device includes a processor for determining, based on stored data packets and the stored associated meta information, information for decoding the payload of the stored data packets, where the decoding indicates at what point in time to re-play which payload of the stored data packets. The treatment device may be a standalone device, and the device is integrated in the above-mentioned storage device file.

According to the implementation of the stored data packets may include packets of the streaming transport MPEG-2. According to another implementation of the stored data packets may include RTP packets comprising packetized media data.

According to implementations of the present invention, the information about the decoding is determined based on the media access block. That is, for each access block, for example, media patterns, a sample of the information about the decoding is stored in the media data container file, where a sample of the information about decoding what it shows,
what parts of the stored data packets should take some samples of the media data to get the media structure (for example, video/audio). Meta information associated with the sample information about the decoding is stored in the track metadata information about the decoding in the metadata container. Track metadata information decoding ("trak" block/atom ISO base media file format), thus, includes the timing and location information for a sample of the information about the decoding.

Stored samples of the information decoding and associated track metadata information about decoding, also called "virtual media track in the future, is based on the idea associated hintingly tracks reception and offers the above advantages to playing. In part of the metadata of the virtual media tracks provided media timing for related samples information about decoding the media data container. Examples of information about the decoding provide information from which the stored data packets or transport blocks receive media data for the associated media access block, which makes it unnecessary to diacetylene media packets. Virtual media tracks may be created after the final receiving media streams, using information the C hintingly tracks and reception,
if necessary, related hintingly track admission. This is done in "reverse modification", and the resulting file allows the playback device to search the file and perform random access to media based on media timing.

Virtual media tracks may be in the form of incomplete media tracks. So you can apply the recovered timing of RTP and hindimovie track RTCP reception and all indexes (usually when using the "table designs) media tracks. Additionally timed track metadata can refer to virtual media tracks and expand them.

Virtual media tracks may be created from a sample of the information decoding (virtual media samples), which can contain constructors for reconstruction blocks access from the transport blocks hintingly track admission. Next, samples, information about the decoding may contain links to one or more significant blocks forward, important for the reconstruction of the access block (incomplete designer). In addition, samples, information about the decoding or virtual media samples virtual media tracks may be empty, for example, in the case of packet losses during the admissions process. Alternatively, samples of the information about the decoding of virtualnodename,
which in the future also referred to as virtual media samples may contain fully unpacked media samples, as in the case of classic media tracks.

Information from indexes on tables in the sample virtual media tracks (and any associated information from, for example, timed tracks metadata) can be logically applied to the source hindimovie carpet reception with reference to the corresponding block forwarding hindimovie track admission.

Virtual media tracks may contain approximate and incomplete descriptions of virtual media samples, if the descriptions cannot be accurately recovered from the stream. This applies in particular when the data packets are encrypted, or scheme deacetylase not fully known.

For replay, virtual media tracks the implementation of the present invention provide a device for reading a file; the file stored in the media data container related to the file, the data packets including payload, and stored in the media data container information for decoding the payload of the stored data packets, where the decoding indicates at what point in time to re-play which payload of the stored data packets; file storing the associated metadonnees container media data;
associated metadata indicating the decode time and location information about decoding the media data container. The device includes a processor to determine a graph of the output of the payload of the stored data packets through the organization of access to the associated metadata in the media data container and through the organization based access metadata information about decoding the media data container, and through the organization of access, based on information about decoding the payload of the stored data packets. The controller output is used to output the payload in accordance with a specific schedule output.

Unlike performed on-the-fly conversion of the received data packets in the media track during recording, virtual media tracks provide media timing and metadata without having to diacetylene media data (stored data packets) and, thus, can save memory. They allow the playback device to search in the file, based on media timing. Virtual media tracks combine the advantages of media tracks and handingover paths receive, without doubling the size of the file that would have occurred if the classic media tracks have been added to the file. Based on the concept of virtual who's media tracks all information of the original admission process is stored;
for example, information about lost packets, which helps to mask errors, and information about timing of intake, which helps to synchronize the sound. At the same time invented the virtual media tracks offer all the features of conventional media tracks for media access. There is even greater flexibility compared to conventional media tracks. On the basis of successive samples, you can decide whether fully unpacked stored transport blocks (packets) to block access (media agencies) or saved only designers or due to reconstruction blocks access, for example, to save memory. Further, all features may be combined in one virtual media track, that is, samples of the information decoding or virtual media samples, including full blocks access, designers, links, or is empty.

Multiple virtual media tracks may refer to blocks forward or data packets from the same hindimovie track reception, giving the opportunity to use different indexes of the same recorded stream data packet. For example, two virtual media tracks with random access, one associated with audio, other video, bitmap indexes for video and audio the same transport stream MPEG-2 hee the rating track admission.

To ensure playback or repeat playback of the encrypted media data samples in the received and stored data packets associated key stream messages can also be stored separately from data packets in the media data container file. Key stream messages are stored in the samples of the key stream hintingly tracks receive, according to implementations of the present invention. The reception (during transport) can be used as the timestamp key sample stream to align key messages and encrypted media packets on the corresponding hindimovie track admission. The reference track is used to connect key stream hindimovie track and receive media hindimovie track admission.

For file writing implement of the present invention provide a device for recording file associated with the media data container and a metadata container. The device includes a receiver for receiving data packets, each of which includes the payload, and to receive packets key streams, including many encryption keys, where each encryption key is associated with the payload data packets. The device includes a recording device for storing the received data packets and received packets key which flows in the media data container,
and for storing associated metadata in the metadata container; associated metadata, including information about the transport timing of the received data packets and received packets key streams and the location information indicating the location of the stored data packet and the stored packet key streams in the media data container. A device for recording data packets and packages of key streams may be a standalone device, a device integrated into or combined with the above-mentioned device for storing and/or processing.

According to implementations of the present invention, the recording device is adapted to store the received data packets as samples in the first memory container of the media data and to store the received related packages key streams as samples in the second memory areas of the media data container. According to implementations of the present invention, the recording device is adapted to store information about the transport timing and location information of the data packets on the first track of media data container and to store information about the timing of transportation and location information packages key threads on the second track of the metadata container.

According to the implementation of the top is the invention of the file based on the ISO media file format.

According to the implementation of this invention, the data packets comprise MPEG-2 packets of the traffic flow.

According to the further implementation of the present invention, the data packets include packets RTP, including paketirovannykh samples of the media data.

To facilitate playback after receiving stream data packet and the associated key stream can be made disposable processing to convert the key stream hindimovie track admission to the virtual track metadata. Key messages from key stream hindimovie track of reception timing of transport can be converted to key samples on the virtual track metadata with media timing, similar to the above virtual media tracks. If necessary key virtual samples are doubled so that each media sample in the media path had associated key pattern on the key path.

So you can create the exact timing relationship between media blocks access and key messages, especially if the encrypted blocks access can be restored from blocks of shipment (in the case of encryption of the content).

To repeat the exercise provide a device for reading a file; the file storing the data packets, including paketirovannykh media data,
and the file that stores related packages key streams in the media data container related to the file. The file stores the associated metadata in the metadata container; associated metadata, including information about the timing of transporting of the received data packets and received packets key streams, and the location information indicating the location of the stored data packet and the stored packet key streams in the media data container. Further, the device includes a processor for assigning, based on the data packets based on the associated meta information based on the stored packages key streams and associated meta information of the key stream, information for decoding the payload of the stored data packets, where the decoding indicates which encryption key must be used, at what time to re-play the payload of the stored data packets. The output is provided to derive decoded data packets based on the specified information about the decoding.

The implementation of the present invention retain the timing of reception of the key messages and the relationship of the timing with the received data packets. The implementation of the present invention allow you to convert the recorded files, Optim is specified for playback,
when files contain track metadata with key messages for each relevant media sample in the media tracks, including the stored data packets. Thus, there is no need to analyze the recorded key track for finding the correct key during playback.

Other objects and features of this invention will become apparent from the following detailed description, taken together with the accompanying drawings, in which:

figure 1 is a schematic block diagram of a device for recording file according to the implementation of the present invention;

figure 2 shows the schematic structure of recorded file with a related media data container and a metadata container according to the implementation of the present invention;

figure 3 shows the schematic structure of the file based on the ISO base media file format;

figure 4 shows a block diagram of a method of recording file according to the implementation of the present invention;

figure 5 shows a block diagram of a further method for recording file according to the further implementation of the present invention;

6 shows a schematic block diagram of a device for recording and editing the file to get the virtual media tracks according to the implementation of the present invention;

7 shows a schematic structure to record the data file,
having a virtual video track according to the implementation of the present invention;

Fig shows a block diagram of a method of recording data packets by creating a virtual media samples and replay media samples, composed of the stored data packets through the virtual media samples according to the implementation of the present invention;

Fig.9 shows an example of how to obtain descriptive information of the virtual media sample with reference to media structure, composed of a payload of the stored data, according to the implementation of the present invention;

figure 10 shows the mapping of samples hintingly tracks reception and virtual media tracks according to the implementation of the present invention;

11 shows a schematic block diagram of a device for recording file according to the further implementation of the present invention; and

Fig shows the principle of the key stream and media synchronization in mobile TV environment.

The device 100 includes a receiver 108 for receiving the first data packet 110 that includes stacked first samples of the media data, and for receiving second data packets 112, including the that the samples of the media data,
based on other than the first clock, where the second samples of the media data associated with the first samples of the media data. Further, the receiver 108 receives the first packet control 114 that includes the information showing the relationship of the first clock to the source clock generator, for receiving the second packet control 115, including the information showing the ratio of the second clock to the source clock generator. Further, the device 100 includes a recording device 116 for storing the received first and second data packets 110, 112 and at least part of the received first and second management pack 114, 115 in the media data container 104, and for storing associated metadata in the metadata container 106. The associated metadata includes information about the timing of the received first and second data packets 110, 112 and the received first and second management pack 114, 115. Next, the associated metadata includes location information indicating the location of the stored first and second data packets 110, 112 and stored first and second management pack 114, 115 in the media data container 104.

According to the implementation of the present invention, the first data packets 110 can be the first RTP stream packets comprising packetized first samples of the media data (n is an example,
video), and the second data packets 112 can be the second RTP stream packets comprising packetized second samples of the media data (e.g., audio). Accordingly, the first packet data control 114 can be a RTCP packets associated with the first stream RTP packets 110, where the second packet data control 115 may be RTCP packets associated with the second streamed RTP packets 112.

File 102 can be a file based on the ISO base media file format, according to the implementation of the present invention. For example, the file format may be a file format that is compatible with MPEG-4, i.e. the file 102 may be a so-called file MP4 defined by ISO/IEC 14496-14. The file format is MP4 consists of metadata stored in the metadata container 106; descriptive metadata info is usually associated with media stored in the media data container 104. The media data container 104 may also be located outside of the file 102. For example, the media data container 104 may be a single memory cell, which can be used as reference in the file 102. Usually the media data stored in the media data container 104 are encoded video and/or audio data. Containers 104 and 106 are data structures, called "blocks" (or "atoms") in the related specifications.

Typically, the block consists of field size, field type and field data. The size of the this unit,
that is, the number of bytes, including the size field contains the size field. The block identifier, usually four letters, is stored in the block type. The actual header data and media data are stored in the data field. The metadata container 106, which generates the file format is MP4, described above, using such a block structure, usually referred to as the block film "moov". Similarly, the media data container 104 is called a block of media data, in the future, "mdat".

Container media data mdat 104 typically consists of a sequence of data units or samples, which are grouped in so-called memory areas. Memory areas can be of different sizes, and designs within the memory area can have different sizes.

According to implementations of the present invention the recording device 116 is adapted to retain the first and second received data packets 110, 112 as the samples in the first memory 118 of the media data container 104. The recording device 116 is further adapted to store at least part of the received corresponding first and second management pack 114, 115 as samples in the second memory 122 of the media data container 104, as shown in figure 2.

The storage areas of the memory 118, 122 may be carried out by the method of rotation.

The sample memory can, therefore, enable one or not is how many of the received data packets.
That is, the sample of the first section of the memory 118 may include one or more of the received first and/or second RTP packets 110, 112, And the sample of the second memory area 122 may include one or more first and/or second message sender RTCP received first and/or second packet control 114, 115.

Many earliest memory 118 may be considered as part of the media data hindimovie track admission (RTP). Similarly, many second memory areas 122 may be considered as part of the media data associated hindimovie track admission (RTCP) for hindimovie track admission. That is, in the case of figure 1 or figure 2, there is one hintingly track receive RTP for all received RTP packets 110, 112 and one associated hintingly track RTCP reception for all received packets 114, 115 or message sender RTCP. This means minimal complexity in the recording.

Hintingly track receiving RTCP does not need any shared configuration data payload of the packet, although it is used only in combination with SDP (Session Protocol Descriptions) information related to the main hindimovie track receiving RTP.

Sample payload hindimovie track receiving RTCP consists of raw RTCP packet. This raw RTCP packet may be incorporated directly with its RTCP headers or enclosed inside another article shall ucture,
to store multiple packets in a single sample.

The timing of sample RTCP depends on how the timing associated hindimovie track receiving RTP. If the decode time hindimovie track receiving RTP derived from the RTP timestamp, the time of decoding hindimovie track receiving RTCP also be output from the RTP timestamp in the RTCP packets. If the time of receipt will be used to hintingly tracks receiving RTP, the timing of the reception will also be used to store packets. Usually hintingly track receiving RTP and hintingly track receiving RTCP synchronized and use the same time axis.

As shown in figures 1 and 2, the recording device 116 may be adapted to store information about the timing and location information of the first and second received data packets 110, 112 on the first track metadata 124 of container media data 106, and to store information about the timing and location information of the received first and second management pack 114, 115, associated with the first and second data packets 110, 112 on the second track metadata 128 of container media data 106. A more detailed process description is given with reference to figure 3.

The first track metadata 124 may be considered as part of the metadata hee the rating of the track receiving RTP.
Similarly, the second track metadata 124 may be considered as part of the metadata associated track receiving RTCP for hindimovie track admission.

In the example of figure 2 the individual media streams (e.g. audio/video) can be identified from a single hindimovie track receiving RTP and a single associated hindimovie track RTCP reception at a later stage, for example, when using the SDP information for storage of the corresponding media type together with RTP packets.

As described above, the file 102 includes a metadata container 106, where the metadata container 106 includes chintiroglou track receiving RTP 124, including information about the timing associated with the received RTP packets that are stored as samples in the first memory 118-1, 118-2, and so on, in the media data container 104. That is hintingly track receiving RTP 124 includes information about the timing of the transportation stored (first and second) of RTP packets during reception.

This timing transportation can be a time stamp of the receiving clock of the receiver 108, and/or it may be RTP timestamp of the received RTP packets 110, 112. That is, each RTP packet or a sample part of the metadata 124 hindimovie track receiving RTP VK is uchet indication,
when adopted RTP packets 110, 112 and, optionally, information about where you saved the corresponding RTP packets in the media data container 104.

The same is true for part of the metadata 128 associated hindimovie track receiving RTCP. It includes information on the timing of transporting the received packets stored in the second memory 122. Information about the timing of the shipment can be, for example, the time of reception of the associated packet or RTCP RTP timestamp of the RTP packet associated with the RTCP packet. In addition, some metadata 128 associated hindimovie track receiving RTCP include location information that indicates where you saved the RTCP packet in the media data container 104.

According to other implementations, these parameters SDP can be directly analyzed during the recording process, so that the RTP session associated with the different media can be saved to separate hindimovie track receiving RTP and immediately divide associated hindimovie track receiving RTCP.

Therefore, according to implementations of the present invention the recording device 116 is adapted to store the first received data packet 110 as samples in the first memory locations of the media data container 104. The recording device 116 further adapted for the wounds of the second received data packets 112 as samples in the second memory areas of the media data container 104.
The recording device 116 is adapted to store at least parts of the obtained corresponding first management pack 114 as samples in a third memory areas of the media data container 104 and to store at least parts of the obtained corresponding second management pack 114 as samples in the fourth memory areas of the media data container 104.

Storage storage areas can be carried out by way of alternation. That is, according to the implementation of the present invention, the first RTP packets associated with the first media stream (e.g. video), the second RTP packets 112 associated with the second media stream (e.g., audio) and the associated first and second RTCP packets or, at least first and second message sender RTCP can be saved as samples of the first, second, third and fourth memory areas by way of rotation.

The sample memory may thus include one or more received data packets. That is, the sample of the first memory area may include one or more of the received first data packet 110, the sample of the second memory area may include one or more received second data packets 112, the pattern of the third memory area may include one or more first messages RTCP sender of the received first packet control 114, and the fourth sample is of castka memory may include one or more second messages sender RTCP received second packet control 115.

Many of the first memory areas can be considered as part of the media data of the first hindimovie track of reception associated with the first media packet 110. Many second memory areas can be considered as part of the media data of the second hindimovie track of reception associated with a second media packet 112. Many third memory areas can be considered as part of the media data associated hindimovie track for the first hindimovie track admission. Similarly, many fourth memory areas can be considered as part of the media data associated hindimovie track for the second hindimovie track admission. That is, in the case hintingly tracks receiving RTP and related hindimovie tracks receiving RTCP, hintingly track appointment may be recorded for each identified session RTP and the associated hintingly track appointment may be recorded for each of the recorded hintingly tracks receiving RTP.

According to the implementation of the present invention the recording device 116 is adapted to store information about the timing and location information of the first received data packet 110 on the first track metadata of the media data container 106, and to store information about the timing and location information of the second received data packets 112 on the second track metadata to the of Steiner metadata 106.
The recording device 116 is adapted to store information about the timing and location information of the received first packet control 114 associated with the first data packets 110 on the third track metadata of the media data container 106 for storing information about the timing and location information of the received second packet control 115 associated with the second data packets 112 to the fourth track metadata of the media data container 106.

Now refer to figure 3 where it will be given a more detailed description of the metadata container 106 file based on the ISO base media file format.

The media data container 106, called "moov" for a file based on the ISO base media format, is further layers in blocks with the required block 302 in the form of a block kinesiology "mvhd", which contains the header information in General, and a lot of "trak" blocks 304 (only one shown in figure 3). The trak block 304 is further layers in two blocks, where the track title block "tkhd" 306 determines the characteristics of the track.

The trak block 304 further includes a media unit "mdia" 308 containing all objects, i.e. declarative information about the data packets (usually media data) within the track. Block mdia 308 includes block media header "mdhd" 310 and reference handler block "hdir" 312. Block media header mdhd 310 on which includes full information
independent media and important to cover the characteristics of "media", i.e. data packets on hindimovie track admission. The reference block handler hdlr 312 declares the process by which media data is present on the track, and accordingly, the essence of "media" on the track, for example, hintingly track admission.

Next, the media unit mdia 308 includes the unit of media information "minf" 314. This block contains all the objects that represent information about media characteristics (data packets) on hindimovie track. The unit of media information minf 314 further includes hintingly media header block "hmhd" 316 containing General information for hintingly tracks. Next, the block information data dinf" 318 consists of a unit of media information minf 314. The block information data dinf 318 contains objects that represent the location of the media on the track.

Next, the block table designs "stbl" 320 consists of a unit of media information minf 314. Data, at least one of the memory areas and the sample container media data mdat 104 are contained in this block associated with each element. To describe the elements in the stbl 320, it should be noted that the block stts 322 consists of a length of one sample block stsd 324 consists of details of the sample block stsz 326 consists of a sample size, block stsc 328 consists of a number of samples included in the memory area, i.e. the poison of data packets,
and block stco 330 is offset from the memory location, each associated with samples/packets in the media data container 104.

As described above, the recording device 116 is adapted for storage (transportation) information on timing and location information of the received data packets 110, 112 in parts of the metadata 124, 128 associated hintingly track admission. In particular, information about the timing, which may be information about the timing derived from the timestamp of reception, or which may be associated with information about the timing derived from the subsequently received data packet/control, is stored in the associated block of samples table stbl 320 tracks 124, 128.

Flowchart showing the process of receiving and storing time-dependent data meta information of the received data packets in the block of samples table stbl 320, consisting of track metadata 124; path 128 is shown in Figure 4.

The first stage 402 of the data packet, which may be an RTP packet or the RTCP packet is obtained by the receiver 108. At the second stage 404 information about the timing associated with the received data packet is accepted by the system clock of the receiver 108 in the form of a timestamp or receiving of RTP timestamp of the received data packet. In the next step 406 calculates the difference in time from receiving predydushih the data packet.
At step 408, the calculated time difference is recorded in the block stts 322 corresponding track metadata, where stts allows indexing from time of admission until the appropriate number of samples, that is received and stored package. That is, according to implementations of the present invention the time of decoding for a block of samples stts 322 contains a Delta time of reception: RT(n+1)=RT(n)+stts(n), where RT(n) denotes the time of reception of the packet n and stts (n) is extracted by the table entry for the packet n.

As mentioned above, samples (packets) within the media data container 104 are grouped into memory areas 110, 112. These memory locations can have different sizes and also designs within the memory area can have different sizes. The pattern for the block of memory stsc 328 can be used to find the memory location that contains a particular sample, its position, and a description of the associated sample. Each element gives the index of the first memory location of a series of memory locations with the same characteristics. Subtracting one item from the previous, you can calculate how many memory locations are located in the respective series. This can be converted to a count of samples by multiplying the respective samples in the memory.

The offset table memory area stco or so 330 getindex each memory location in the media data container 104.
There are two options, allowing you to use the 32-bit or 64-bit offset. The latter is used in the management of very large files 102. Offsets are usually offsets of the file rather than offsets any block within the file, for example, the media data container. This allows you to access media data files without using any block structure.

Therefore, according to the implementation of the present invention the recording device 116 is adapted to store a table, the offset of the first memory area 330 that indicates the index of each of the first memory location in the file. This is described with reference to figure 5.

After receiving a data packet by the receiver 108 at the first stage 502, the received data packet 110, 112 is stored in the media data container 104 associated with the file 102 at the second stage 504. Thus, the received data packet 110, 112 is stored as the sample in the cell address in the media data container 104. The third stage 506 calculates the offset address of the cell to the beginning of the file 102 (if the media data container 104 is composed of a file 102), or to the beginning of the media data container 104 (if the media data container 104 notes to a separate file). After that, the calculated offset is recorded in the stco or so block 330 associated track metadata 124.

The same is true for storage management pack 114, 115 and connected the Oh with them track metadata 128.

To summarize all of the above, it is necessary to give a brief overview of the operations performed to create hindimovie track admission or related hindimovie track of, for example, hindimovie track receiving RTP/RTCP or hindimovie track receiving key streams, which will later be described in more detail. The same is true for virtual media tracks that will be explained below. When you need to add the path to the file 102 based on the ISO base media file format, usually carried out the following operations in the device 100 according to implementations of the present invention.

- Add a new trak block-to-block ' moov'.

- Add a new block tkhd to the newly created block trak. This block will contain the characteristics of the track, for example, creation time, track ID, the size of the "media" track length.

- Add a new block tref to the newly created block trak. This unit specifies the layout of the tracks, that is, can track to exist independently or may be used only in combination with other tracks. It should be noted that hindimovie track intake may be associated with a block tref or through a control path or be associated implicitly, for example, through the description of the sample, which contains data that can be used to connect two or more tracks. The investigator is about,
this block is optional, but recommended a mechanism of connecting paths.

- Add a new block mdia to the newly created block trak.

- Add a new block mdhd to the newly created block mdia. This block will contain the characteristics of the media on the track, for example, the length of media and language.

- Add a new block hdlr to the newly created block mdia. This block will contain the identification process, which typically can absorb such media. In the case of extended hindimovie track technique, for example, hindimovie track receiving RTCP, the identity is the "featured"

- Add a new block minf to the newly created block mdia.

- Add a new block hmhd to the newly created block minf. This block will contain the header information for hintingly tracks.

- Add a new block dinf to the newly created block mdia.

- Add a new block dref to the newly created block dinf, indicating that the raw data tracks are located, or within the file itself or outside it, for example, in another file or is accessible via a URI (Uniform Resource Identifier).

- Add a new block stbl to the newly created block minf. This block is a container for blocks that contain the timing and indexing data samples (e.g., RTP/RTCP or p is chum key threads
virtual media samples) on the track.

- Add a new block stsd to the newly created block stbl. This block contains media identification (usually called SS) and out-of-band configuration samples.

- Add a new block stts to the newly created block stbl. This block will contain information about the length of each media sample (e.g., RTP/RTCP or packages key streams, virtual media samples) on the track.

- Add a new block stsc to the newly created block stbl. This block will contain information on the number of samples (for example, RTP/RTCP or packages key streams, virtual Mediobanca), grouped in the memory area.

- Add a new block stsz to the newly created block stbl. This block will contain information about the size of each media sample (e.g., RTP/RTCP or packages key streams, virtual media samples) on the track.

- Add a new stco or so block to the newly created block stbl. This block will contain information about the file offset of the first byte of each memory area.

- Any addition of other units permitted in the table of samples, for example, the stss block, which indexes the samples (e.g., RTP/RTCP or packages key streams, virtual media samples), which can be used for arbitrary offset.

Treatment the samples are grouped in the memory,
which are contiguous block of samples without gaps. When a sample should be added to the file, he or attached to an existing chunk of memory, or starts a new chunk of memory. For each new sample is added to the elements to blocks stts and stsz, and the block stsc changes to show the number of samples in the current memory area. If the sample is written to the new memory area, a new element is added to the block stoo (or so), and the block stsc changes to show the number of samples in the new memory area. The memory area, are the raw sample data is written to a file or within a block mdat or in an external file (which can be referenced within the file).

Depending on the operation of the device extended hindimovie track receiving written to a file in parallel (for RTCP and handingover tracks receiving the key threads), that is, the samples are added to the file when new data become available or are added later during Autonomous operation (for virtual media tracks).

Parallel storage of the received data packets 110, 112 and associated message control 114, 115 on hintingly tracks receipt and associated hindimovie track is an ideal solution during recording and/or applying a temporary shift. However, if the recorded file 102 is designed for a duration which is a high storage and will eventually be reproduced many times,
it may be desirable to avoid analyzing the stored data during each play and be directly accessible time media without further calculations. Usually this will mean an diacetylene payload data packets from hindimovie track admission (RTP) and storing it for more media tracks with one elementary stream on the track. It is not always possible or desirable, for example, if the transport encryption has been applied to the ow data packets, if the storage capacity is limited. In addition to the exact timing of the transport packets stored in the media data container 104, it is desirable to have access to extended information about hintingly tracks of reception, in particular to information about media streams within, for example, frame-by-frame SMPTE timestamps or subtitles for the video track.

We turn now to Fig.6, which shows a device 600 for processing the stored data packets and the stored associated meta information, according to the implementation of this invention.

The device 600 differs from the device 100, shown in figure 1 in the processor 602 for determining, based on stored data packets and the stored associated meta information, information for decoding the payload of the stored packet d is the R,
where information about the decoding indicates at what point in time to re-play which payload of the stored data packets. The device 600 may be an extension of the device 100, however, the device 600 may also be treated separately, especially if it is used for processing the stored non-RTP/RTCP packets, such as MPEG-2 TS packets.

In the implementation shown in Fig.6, the data packets stored in the media data container 104 associated with the file 102. Meta information stored in the metadata container 106 file 102, as explained above. The stored data packets can be stored as samples in the memory 118, 122 of the media data container 104. For samples and/or memory locations are referenced by corresponding tracks metadata 124, 128 in the metadata container 106.

According to the implementation of this invention, the stored data packets may include first and second RTP packets 110, 112 includes first and second packaged media and associated first and second RTCP packets 114, 115, as described above.

According to another implementation of the present invention stored data packets may include data packets of the transport streams MPEG-2, including streaming multiplex transmission of one or more programs, usually audio and video. MPEG-2 data packets of the transport streams Oba is but have a length of 188 bytes.

According to the implementation of the present invention, certain information about the decoding is stored in the form of information about the decoding in the memory 604 of information about decoding the media data container 104. Thus, each sample of the information about the decoding has to block access, for example, video or autostructure, which can be restored from the saved data packets of the media data hindimovie track admission.

The processor 602 is adapted to identify patterns of information about the decoding on the basis of media structures, such whereby a sample of the information about the decoding indicates the start address and the address of the end media unit of access, where the start address indicates the location of the sample media data, which indicates the beginning of a specified media access block, and where the address of the end indicates the location of the sample media data indicating the end of a specified media access block, where the samples of the media data consist of data packets in the media data container 104.

The processor 602 may access the media data container 104 to store a sample of the information about the decoding as a virtual media sample in the memory area 604 in the media data container 104. Next, the processor 602 may access the media data container 106 to save the meta and the information about the decoding,
related sample information decoding (virtual media sample) and indicating the decode time and location of sample information decoding on the track metadata 606 in the media data container 104. As previously explained, samples, information about the decoding can be considered as virtual media samples, when assigning each of them to block access of the associated video or audio stream. Virtual media samples includes information about how to restore the associated audio/video structure of the stored data packets in the media data container 104.

Now refer to Fig.7, which shows the file 702, including virtual media 704 samples in the media data container 104 and associated track metadata 706 in the metadata container 106.

As shown by the arrows, virtual media samples for virtual media memory area 704 associated with the RTP packets stored in the memory 708. Virtual media samples can contain constructors for recovery blocks access, that is, the example
media patterns, from the stored blocks forward, that is, data packets stored in the memory 708. Virtual media samples may contain links to one or more significant blocks forward, important for the recovery of a specific block access (non-designer). In addition, virtual media sample can be empty, for example, in the case of packet losses during the reception. A further alternative is that the virtual media samples contain fully unpacked media samples describing media structure as it occurs in classical media path.

General configuration data payload virtual media sample include General configuration data payload non-virtual media tracks of the same type, for example, virtual media track for H.264 encoded video will also contain AVCC (Configuration Record configuration entry) in block avcC in the description of the sample. In addition, they can include information about the process of decanting hindimovie track technique, for example, the maximum size of the media sample after re-Assembly of hindimovie track of when the use of the information provided in the sample payload virtual media tracks.

Payload sample virtual media track consists of commands which describe the process of retrieving a sample of the media data from hindimovie track admission.
These commands are received from designers bags for hintingly tracks include "direct design", "custom design" and "designer descriptions sample. Direct constructor consists of the fields "length", "data" and "keyboard". "Length" indicates the length of the field "data". The keyboard can be used to fill excess space.

Custom designer consists of the fields of the original track index (trackrefindex), length, number of samples (samplenumberand offset samples (sampleoffset). The original track index (trackrefindex) specifies chintiroglou track receiving, from which the extracted data; the number of samples (samplenumber) specifies the number of samples hindimovie track admission. Field offset samples (sampleoffset) defines the beginning of a block of data of length "length", which should be retrieved.

When using designers designs a compact representation of the media sample is possible without copying the data.

Designer descriptions of the sample consists of the fields of the original track index (trackrefindex), index description of the sample (sampledescriptionindex), offset description of the sample (sampledescriptionoffset) and length. Like custom constructor, the data from the description of the sample hindimovie track of reception are used to enable virtual media sample.

Virtual media track is sportsuit media timing,
that is, the timestamps decoding is not affected by shipment delays or errors in the frequency of the clock generator. Timing is equivalent to the timing of the media track, which can be generated from the information available in the virtual media track.

Fig shows a block diagram of the flow recording and offline optimization of the file.

At the first stage 802 hindimovie track and receive arbitrarily associated hindimovie track admission (for example, RTP and RTCP) are stored in the file 102, as explained above. After recording, that is, when the data packets stored in the file 102 in the form hindimovie track acceptance and ultimately related management packs stored in a file on a related hindimovie carpet reception, different media streams are defined within the recorded hindimovie track admission to step 804. This means that the step 804 includes determining, for example, audio and video streams or data packets associated with the audio and video streams, respectively, within the recorded hindimovie track admission. This can be done by extracting the relevant information from the Protocol session description (SDP), as explained above.

Therefore, the processor 602 is adapted to determine which of the stored data packets associated with the first or second media samples Yes the data
and to determine the second sample of the information about the decoding (the second virtual media samples)associated with the second samples of the media data in the media data container 104.

In the next step 806, for each identified media stream creates a virtual media track (including media and metadata), which refers to a related chintiroglou track admission.

That is, the processor 602 is adapted to store initial information about the decoding (the first virtual media samples)associated with the first samples of the media data in the media data container 104, and to store the first meta information about the decoding in the metadata container 106, the first meta information decoding that indicates the location (for example, the offset of the memory location, number of samples etc) initial information about the decoding in the media container 104. The processor 602 is adapted to store the second meta information about the decoding in the metadata container 106, the second meta information decoding that indicates the location (for example, the offset of the memory location, the number of samples and so on) of the second sample of the information about the decoding in the media container 104.

That is, the created virtual media track references chintiroglou track admission, which includes data packets having payload soglashatelstva media stream.
After you create the virtual media tracks virtual media samples (samples information decoding) are added to the virtual media tracks, where the virtual media samples indicate samples or packages in parts of the media data hintingly tracks receive and restore the exact timing from the control unit shipment (for example, RTCP message sender).

RTCP message sender contain RTP timestamps and the corresponding common timestamp for streams in the NTP timestamp format. RTP timestamps and NTP timestamps allow us to determine the value of the conversion. This RTP/NTP the conversion value of the timestamp and the frequency of the clock generator RTP timestamp, you can calculate the corresponding time stamp of the received RTP packet streams in the NTP timestamp format. Thus, media timing for each sample hindimovie track receiving RTP, that is, each stored data packet can be obtained by post-processing the recording data packets.

In the next step 810, the descriptive information is added to the virtual media track (for example, using tables within this track, or adding other tracks that refer to this track). Thus, the added descriptive information may specify the start address and the address conc the media structure,
associated with virtual media sample, where the start address indicates the location of the sample media data indicating the start of the media structure, and where the address of the end indicates the location of the sample media data that specifies the end of the media structure, where the samples of the media data consist of payload data packets in the media data container 104.

The following additional stage play 812 descriptive information of the virtual media samples can be used to find the corresponding samples on hindimovie track admission through virtual media tracks. Step 810 may be used, for example, to repeat playback of a media stream, consisting of stored data packets.

An example of how to obtain descriptive information of the virtual media sample references media structure, consisting of a payload of the stored data packets to hindimovie carpet reception, shown in Fig.9.

Fig.9 shows the number of stored RTP packets RTP1, RTP2, RTP3. RTP packets RTP1, RTP2, RTP3 are stored as samples in the virtual media container 104. RTP packets RTP1, RTP2, RTP3 each includes a header (H1, H2, H3 and payload PL1, PL2, PL3, including samples of the media data. The typical size of header bits And, accordingly, the size of the payload - (B-A) bits. The data of the first media structure to ora may be a video or autostructures,
divided between the payloads of the first RTP packet RTP1 and second RTP packet RTP2. Typically, the media data of the first media patterns come from A byte RTP packet RTP1 to byte A+Y data packet RTP2. Media data of the second media structure is divided between the data packet RTP2, beginning at byte address A+Y, and the data packet RTP3 ending byte address of A+Z data packet RTP3.

Virtual media samples VMS1 and VMS2 associated with the first media structure and the second media structure, respectively. According to the implementation of the present invention, the virtual media samples VMS1, VMS2 include information about where to find the media data of the first and second media patterns in the stored data packets RTP1, RTP2, RTP3. That is, the virtual media package VMS1 includes information about the media data structure 1 can be obtained by accessing the data packet RTP1 of the byte address And byte address In, and by reference to the data packet RTP2 of the byte address And byte address A+Y. the Virtual media sample 2 includes information on where to obtain media samples for media structure 2. That is, it stores information about what media structure 2 starts in the data packet RTP2, byte address from A+Y to byte addresses, and that the subsequent media samples of structure 2 can be found in the data packet RTP3, and it does so from a byte address And to buy the new address A+z

On both virtual media sample VMS1 and VMS2, which form part of the media virtual media tracks, refers to the part of the metadata of the virtual media tracks in the metadata container 106. Information about the time of decoding of the sample can be found in the block stts for each virtual media sample VMS1, VMS2. Thus, information about the time of decoding of the sample reflects the media timing, which can be determined by evaluating the stored RTCP packets associated with RTP packets RTP1, RTP2, RTP3, as explained above.

Virtual media sample VMSA1 associated with the first autostructures, which is divided between a payload of the audio packets A1 and A2.

Virtual media sample VMSA1 indicates which part of the payload A1 and A2 should take to get autostructure 1. Similarly, virtual media sample VMSA2 associated with the second autostructures, media data, which can be found in useful load audiopaste A2 and A3. Virtual mediabase VMSA3 refers is conducted on audiopanel A4 and part of audiopaste A5 to obtain a third autostructure.
Virtual mediabase VMSA4 refers to the remaining part of audiopaste A5 and the payload of the audio packets A6 and A7 for autostructure 4.

Similarly, virtual media sample VMSV1 associated with the first videostourture, refers to the payload of videobachata V1, V2 and V3 for the first videostourture. Virtual media sample VMSV2 refers to the payload of the video packets V4, V5 and V6 to get Mediobanca for the second videostourture.

To re-play media content based on hintingly tracks taking, referencing the stored RTP packets and associated with hindimovie tracks taking, referencing the stored RTCP packets, the implementation of the present invention provides a device for reading a file; the file stored in the media container associated with the file; the first data packets comprising packetized first samples of the media data based on the first clock generator, and the second data packets comprising packetized second samples of the media data based on the second clock generator that is different from the first clock generator. The file further stores at least part of the corresponding first management pack, which includes the information showing the relationship of the first clock to the source clock generator and at least part of the associated second packets to the Board,
including the information showing the ratio of the clock to the source clock generator. The file further stores the associated metadata in the metadata container; associated metadata, including information about the timing of the received first and second data packets and the received first and second management packs and location information,indicating the location of the stored first and second data packets and the stored first and second management packs in the media data container. The device includes a processor to determine the graphics output stored first and second data packets by accessing the media data container and through interpretation of information about the timing of the stored first and second data packets and the stored first and second management packs in the media data container. The device further includes a controller output to output data packets in accordance with a specific schedule output by accessing the metadata container and by reading data packets from a media data container.

In accordance with the implementation of this invention, the processor is adapted to determine the graphics output so that the graph of the output reflected the order of reception of the first and second data packets, when the reception order is specified, the saved information is it about the timing of the received first and second data packets.
Through this exercise can be performed a simulation of the original script admission.

In accordance with a further implementation, the processor is adapted to determine the timing information based on stored information about the timing of the first and second data packets and the source timestamps contained in the stored first and second management packs so that the graph of the output of the first data packet has been synchronized with the schedule output the second data packet relative to the original time Protocol (NTP). Through this exercise can be performed synchronization timing of the received and the stored first and second data packets.

A device that reads hindimovie track admission typically uses the following set of operations to determine whether it can parse the file:

Analysis unit ftyp to determine whether potentially be a content analysis of the file and its structure. If the file cannot be parsed, terminates the read operation of the file.

- Analysis of the moov block and define the number of blocks inside trak. If there are no tracks, stops the operation of reading the file.

Analysis unit hdlr inside a block minf each track to determine whether there is a processing program suitable for the type of processor, opredelennog the block hdlr.
If the handler is not detected, abort the read operation of the file for this track.

Analysis unit stbl and block stsd inside a block minf each track. Block stsd contains the identification of the content of the track and describes its contents. If the content is not understood, is interrupted by a read operation of the trace file.

If the file can be analyzed is determined by the layout of the track, through the analysis of block tref within blocks trak. Alternatively, if the format defines the layout of the track inside, use the information available in the block stsd track. If the layout of the track cannot be determined, it is assumed that a track is a single-located and can be analyzed without the information contained in/on other tracks. The layout of the track is stored inside the reader and is used when you need the OCR process raw data contained in the track.

Depending on the operation of the device, it can choose the tracks that it recognizes, and which are important to the presentation file. By default, all tracks are analyzed, however, the following rules apply:

- For virtual media tracks, virtual media track is used instead of RTP or MPEG-2 TS hindimovie track admission. This track already contains data for reversal OPE the purpose of hinting,
that is, what data hindimovie track admission must be extracted and expanded with other data to create a block of data of the elementary stream that the decoder can recognize.

For hintingly tracks receiving RTCP first mode of operation is when the track RTCP is spent in parallel with hindimovie track receiving RTP. The reader uses the available logic General admission RTP/RTCP to synchronize threads.

For hintingly tracks receiving RTCP second operation mode is a waste of all hindimovie track RTCP reception before the normal procedure of reading, to discover the initial synchronization and the offset clock generator several hintingly tracks receiving RTP. In this mode, for example, linear regression is used to align the clock generator RTP few hintingly tracks receiving RTP. Then it flows used shift when data is being spent to facilitate continuous synchronized playback of multiple hintingly tracks receiving RTP.

For hintingly tracks receiving the key threads of the first mode of operation that, when hintingly track receiving the key stream is consumed in parallel with RTP or MPEG-2 TS hindimovie track admission. This ensures that the data key stream for a specific protected block of data is x hintingly tracks available as in the case of a real broadcast.

The second mode is the alignment key of the data flow and data hindimovie track of reception so that the periods of validity no longer overlap. This allows a later edit of the track without the need for recognition of the timing of key data stream.

To obtain the so-called samples of the tracks should be differentiated position within the file. This operation for the k-th sample S is as follows.

- Determine the memory area, the sample S is located inside when using the data block stsc.

Analysis unit stco (or so) to determine the offset of the file F of the memory area

Analysis unit stsz to get the size of L sample S of size Kiall previous Pisamples within a chunk of memory.

Then the data become available in position (F+sum (Ki)) in the file and have a size L.

The time when the data should be reproduced to the end, determined by the information available in the block stts. This block contains non-uniformly coded length and Djfor each individual sample j. Play time for the k-th sample S is then the sum of all Djlengths, when j<k.

If there is a virtual media track, the implementation of the present invention provide a device for reading a file; the file saved is the media data container;
the data packet, including the payload and stored in the media data container 104; information about the decoding of the payload of the stored data packets, where the decoding indicates at what point in time to re-play which payload of the stored data packets. The file stores the associated metadata in the metadata container 106; associated metadata indicating the decode time and location information about decoding the media data container. The device according to the implementation of the present invention, includes a processor to determine a graph of the output of the payload of the stored data packets by accessing the associated metadata in the metadata container 106, and through access based on metadata information about decoding the media data container, and through access based on the information about the decoding of the payload for the saved data packets; and a controller output payload in accordance with a specific schedule output.

As mentioned in the introductory part of this specification, another aspect of this invention is to maintain, in addition to the received data packets, messages key stream.

The right of access to the data or data packets can be controlled through the system of the UE is Alenia rights.
Receiving content data through a digital communication system may be permitted to restricted end-users and limited to other users. For example, a user may purchase access to the program, paid for her. If the user makes payment, he may be given access to the program for a specified period of time, while a user who has not made payment, you may not access the program. Access to the program can be adjusted by encryption of transmitted data. Data can be encrypted using any number of encryption standards using the encryption key. In the receiver or the user terminal, the key can be used to decrypt the encrypted data so that the content can be visible in the user terminal or the receiver. The key to decrypt the encrypted data packets may also be received via the same digital communication system and may also be encrypted. To obtain one or more keys can also be used in other digital communication systems. Thus, an end user who wishes to access or view the program or service must obtain the rights to the keys.

Transport encryption keys associated with the encrypted program or service, can the be passed in the key stream to the user terminal.
The key stream may include message key stream, which is transmitted with a predetermined frequency, when the encrypted data stream received in the receiver or the user terminal, the message key stream can also be obtained.

Fig shows streaming data packets 1302-1, 1302-2, 1302-3, each of which has a payload encrypted with the encryption key k0, k1, k2. There is a key stream including key stream packets 1304-1, 1304-2, 1304-3 and 1304-4 and associated with the data packets 1302. Package key stream 1304-1, which is transmitted before the associated data packet 1302-1, includes the encryption key k0to decode the encrypted payload of the data packet 1302-1. Thus, the encryption key k0there is a lifetime of d0associated with it, ensure that the associated data packets can be encrypted. The same is true for the second batch of the key stream 1304-2 and its encryption key k1that can be used to decrypt the payload of the associated data packet 1302-2. Also here is the associated package of key stream 1304-2 passed much earlier data packet 1302-2, and the encryption key k1there is a lifetime of d1ensuring the correct decoding of the payload package Yes the data 1302-2.

According to implementations of the present invention the data packets and the associated packages key stream can be stored together on the terminal receiver in a file having a media data container in the container metadata, as explained above for data packets and associated management packs.

11 shows the device 1100 to write the file 1102 having a related media data container 1104 and a metadata container 1106 according to the implementation of this invention.

The device 1100 includes a receiver 1108 for receiving data packets 1110, each of which includes the payload, and to receive packets key stream 1112 that includes many encryption keys, where each encryption key is associated with the payload of the received data packets. Further, the device 1100 includes a recording device 1116 to save a received data packet 1110 and received packets of the flow key 1112 in the media data container 1104 and to store the associated metadata in the metadata container 1106; associated metadata, including information about the transport timing of the received data packets 1110 in the received packet key stream 1112, and includes location information indicating the location of the stored data packets 1110 and the stored key stream packets 1112 in the media data container 1104.

It should be emphasized that the device 1100 may be used in conjunction with or may be included in device 100. That is, the inventive concept of storing data packets along with the associated management packs, storage of data packets together with the associated key stream packets and create information decoding in the form of media tracks of the stored data packets and associated management packs and/or related packages key stream can be combined.

Again referring to 11, the received data packets 1110 are stored as samples in the first memory 1118 container media data 1104. Received the associated key stream packets are stored as samples in the second memory 1120 container media data 1104. According to a preferred implementation of the present invention the first and second memory areas 1118 and 1120 can be saved by way of alternation in the media container 1104.

As explained above, the file 1102 can be a file based on the ISO base media file format, such as MP4 file. Therefore, the recording device 1116 is adapted to save the earliest memory 1118 in the first table offset memory locations stco or so the first track metadata 1124 container metadata moov 1106, where the first offset table storage areas indicates the index of each lane is on memory 1118 file 1102 or container media data 1104,
depending on whether the media data container 1104 part of the file 1102 or not. Indexes of second memory areas in the media data container 1104 stored in the second table offset memory locations of the second track metadata 1128 container metadata 1106 in the same way as was explained for the first memory areas.

As has already been explained for the case of parallel storage of data packets 110, 112 and associated management packs 114, 115 on hintingly tracks receipt and associated hintingly tracks of admission, information about the timing of transportation, i.e. the time of admission or RTP timestamp for packet data 1110 is stored in the first block stts, consisting of the first track metadata 1124. Similarly, information about the timing of transportation or information on differential timing of the transportation stored in the second block stts second track metadata 1128 associated with the second memory 1120.

Further, in order to facilitate playback after receiving stream, can be made disposable processing to convert hindimovie track of reception of the key stream in the virtual track metadata. To this end, the device 1100 includes a processor (not shown) for the assignment, based on stored data packets 1110 and associated meta information 1124, and is based n the stored key stream packets 1112 and associated meta information about the key stream 1128,
information for decoding the payload of the stored data packets 1110, where the decoding indicates which encryption key to use, at any time to replay the payload of the stored data packets 1110.

That is the key message hindimovie track of reception of the key stream with the timing of transportation is converted into a key samples on the virtual track metadata with media timing. This is done on the basis of the same idea, which was explained above for virtual media tracks. That is the key samples are created and stored in the media data container 1104. Thus, each key pattern associated with the block access or media structure and includes information based on which the encryption key must be used for the related media structure. On a related track metadata 1128, including block stts, given information about the decoding key of the sample. Information about the decoding key of the sample indicates at what point in time will receive access to the appropriate key pattern, which again refers to the data payload of the stored data packets to display the corresponding encrypted media structure. If necessary, the key samples virtual double t is thus,
each media sample in the media path has an associated key sample (with the same key ID in the key path.

Therefore, it is possible to create the exact timing relationship between media blocks access, for example, media agencies, and key messages, especially if the encrypted blocks access can be recovered from the transport blocks (packets) in the case of encryption of the content.

Read file 1102 (file, storing the data packets 1110 and stores the associated packages key stream 1112 in the media data container 1104 and storing associated metadata in the metadata container 1106) the implementation of the present invention to offer a device that includes a processor for assigning, based on stored data packets 1110, based on the linked package meta information 1124 and based on the stored key stream packets 1112 and associated meta information about the key stream 1128, encrypted information about the payload of the stored data packets, where the decoding indicates which encryption key must be used, at what time to re - play the payload of the stored data packets.

The processor assigned to the information about the decoding can be used for players payload encrypted PA is billing purposes data 1110.
Therefore, the decoded data packets can be displayed on the decoder, based on the assigned information about the decoding. The processor assigned to the information about the decoding can also be used to generate the virtual information on the transcript, which will be stored partially in the media data container 1104 as a virtual key samples. Associated meta information is stored in the track metadata 1128. This corresponds to the notion of virtual media tracks described above.

Payload key design may include the raw payload of the received message key stream. This means that the contents of the UDP packet key stream is stored directly. Some systems can complicate the data within another structure to provide storage of multiple received messages key stream.

The timing of the sample key stream depends on the method and timing of its primary RTP hindimovie track admission. If RTP hintingly track admission gets its time decryption of the RTP timestamp, hintingly track receiving key stream also receives the time decryption of the RTP timestamp, however, it may be necessary to extrapolate the RTP timestamp. If the technique is used for hintingly tracks etc the EMA RTP,
the timing of the reception will also be used to save messages key stream. In General and hindimovie track receiving RTP and hindimovie track of reception of the key stream are synchronized and use the same time base.

To summarize, this invention relates to media storage system, which records the received blocks of shipment" (TUs) - which usually contain packetized media data such as video data as prekraschenie packages or designers on hindimovie track with "control units forward" (CTU) in the sample file. The control units for shipment are stored on a separate parallel track associated with hindimovie track admission.

CTUs contain additional data that is necessary or useful for the processing of media packets hindimovie track admission during playback of the file. Examples of CTUs - RTCP messages or key messages in the case of encrypted streams.

For optimized local playback of recorded streams "virtual media track displays the received blocks forwarding (TUs) for the "virtual media samples using the reverse process of hinting. Virtual media samples have the timing of media samples, possibly recovered from the track with the CTUs and chintiroglou of Dorozhkina,
and should not be a full media samples. Indexing virtual media tracks used, if needed. Indexes are also used for related samples hindimovie track admission. Virtual media track may be used as a source for other tracks (such as "hromirovannaya track metadata") within the file. Applications may find appropriate samples hintingly tracks through virtual media track.

Message key stream is stored as a linked hintingly track admission. Virtual media track may be used to precisely align the media samples and decryption keys.

Recently, the above-mentioned ISO base media file format was enriched with added caused by fragments of the movie that were, for example, described in the American patent application US 2007/0130498 A1. It should be mentioned that the implementation of the present invention can also be applied to those portions of the film.

Depending on the circumstances of the methods of the invention can be implemented in hardware or in software. The implementation may be effected on a digital storage medium, in particular, on disk or CD-ROM with electronic reading control signals, which can cooperate with a programmable computer system is emnd for implementing the method.
Thus, the invention also consists in a computer program product with a control program stored on a machine-readable medium for implementing the method of the invention when the computer program product runs on a computer. In other words, the invention, therefore, can be implemented as a computer program with a control program for implementing the method when the computer program runs on a computer.

While this invention has been described in terms of several preferred implementations, there are alterations, permutations, and equivalents that are within the scope of this invention. It should also be noted that there are many alternative ways of implementing the methods and structures of this invention. Therefore, it is assumed that the following appended claims will be interpreted as formulas, including any modifications, permutations, and equivalents falling within the true nature and scope of this invention.

1. The device (600) for processing the stored transport data packets (110; 112) in container media (104); the stored transport data packets (110; 112), including mediapolis information of packaged media blocks access and control information to recover the exact MediaPro is metrage of media blocks access
and for processing the stored associated metadata in the metadata container (106); the associated meta-information, including information about the timing of transportation and the location information indicating the storage location of the stored transport data packets in the media container (104); characterized in that includes a processor (602) to determine, based on the control information and information about the timing of transportation, to information about the time of decoding of the sample (606; 706) for each of the media access information about the time of decoding of the sample reflects mediarenderer and indicates at what point in time to re-play any useful information stored packages transport data, and for determining, based on the contents of the stored transport data packets (110; 112) and stored associated meta-information (124; 128), sample information decoding (604; 704) based media access, so that each sample of the information about the decoding (604; 704) associated with media access and contains links to one or more packets of a transport data important for deacetylase of media blocks access of the stored transport data packets (110; 112), where the processor (602) adapted to determine sample information decoding (604; 704), so that the n specifies the start address and the address of the end of the associated media access within the stored transport data packets (110;
112), where the start address indicates the location of the sample media that indicates the start of a media access, and where the address of the end indicates the location of the sample media, indicating the end of media access, and where the processor (602) adapted to store in container media (104), the above sample information decoding, and to store the related information about the time of decoding of the sample (606; 706) as meta information about the decoding (606; 706) in the metadata container (106); a meta-information about the decoding (606; 706) specifies the decode time and location of the associated sample information decoding in the media container (104).

2. The device according to claim 1, characterized in that the processor (602) adapted for storing sample information decoding on the memory area information decoding (604; 704) container media (104); the memory area information decoding (604; 704)comprising at least one sample of the information about the decoding.

3. The device according to claim 2, characterized in that the processor (602) adapted to store a table, the offset of the memory location information decoding track metadata table offset of the memory location that indicates the index of each memory location information decoding (704) in the media container (104).

4. The device according to claim 2 Il is 3,
characterized in that the processor (602) adapted to save time decoding pattern information decoding unit table of samples (stts), providing indexing from time decoding pattern information decoding to the associated number of samples in the memory area information decoding (704).

5. The device according to claim 1, characterized in that the stored transport data packets (110; 112) include packets of a transport stream MPEG-2.

7. The device according to claim 1, characterized in that the stored transport data packets include a first (110) and the second packets of the transport data (112)associated with the first and second media streams, and where the processor (602) adapted to determine which of the stored transport data packets (110; 112) is associated with the first or second media stream.

8. The device according to claim 7, characterized in that the processor (602) adapted to determine the first/second information decoding based on the first/second media access, so the first/second sample of the information about the decoding indicates the start address and the address of the end of the associated first/second IU the of Yabloko access
belonging to the first/second media stream, where the start address indicates the location of the sample media, indicating the beginning of the first/second media access, and where the address of the end indicates the location of the sample media, pointing to the end of the first/second media access, where the samples of the media data consist of the first/second stored transport data packets in the media container (104).

9. The device according to claim 8, characterized in that the processor (602) adapted to store the first/second sample of the information about the decoding in the media container (104) and store the first/second meta information about the decoding (606; 706) in the metadata container (106);first/second meta-information about the decoding (606; 706)indicating the first/second decode time and the first/second first/second sample of the information about the decoding in the media container (104).

10. The device according to claim 8 or 9, characterized in that the processor (602) adapted to store the first/second sample of the information about the decoding on the first/second memory area information decoding (604; 704) container media (104); first/second memory area information decoding (604; 704)comprising at least one first/second sample of the information about the decoding.

11. The device according to claim 10, harakteryzuyetsya fact,
the processor (602) adapted to store the first/second time decoding of the first/second sample of the information about the decoding in the first/second unit table of samples (stts), which allows indexing from the first/second time decoding of the first/second sample of the information about the decoding to the associated number of samples on the first/second memory area information decoding (704).

12. The device according to claim 7, characterized in that the stored first transport data packets (110) includes first RTP packet including the first packaged media, and where the stored second packets of the transport data (112) include the second RTP packets including second stacked media.

13. The device according to item 12, characterized in that the stored first and second RTP packets (110; 112) further include at least part of the first and second RTCP packets (Transport Control Protocol Real-Time Transmission) (114; 115)associated with the first and second RTP packets (110; 112), and where the metadata further includes information about the timing of transportation and the location information of the first and second RTCP packets in the metadata container (106), where part of a stored corresponding first and second RTCP packets are stored as samples in memory RTCP (122) container media (104), where INF is rmacy about the timing and location information of the RTCP packets (114;
115) remains on track RTCP (128) container metadata (106).

14. The device according to item 13, characterized in that the processor (602)configured to determine, based on the stored first and second RTP packets (110; 112)stored first and second RTCP packets based on the stored associated meta-information (124; 128), the first and second information decoding (604; 704) respectively, where the first and second information decoding (604; 704) specifies at what point in time to re-play any useful information stored first and second RTP packets, respectively.

15. The device according to claim 1, characterized in that the container media (104) includes the key stream packets (1112), each of which includes an encryption key, where the encryption key is associated with the useful information, at least one of the stored transport data packets, and where information about the timing of transportation and location information stored key stream packets (1112) stored in the metadata container (106).

16. The device according to item 15, characterized in that the processor (602)adapted to assign, based on the stored transport data packets (110; 112), based on the associated metadata (124; 128) and based on the stored key stream packets (1112) and the associated key is the first meta-information flow (1128);
information about decoding for useful information stored transport data packets (110; 112), where the decoding indicates which encryption key to use, what time to repeat the playback of useful information stored transport data packets (110; 112).

17. The method of processing the stored transport data packets (110; 112) in container media (104); the stored transport data packets (110; 112), including mediapolis information of packaged media blocks access and control information to recover the exact mediarenderer of media blocks access and to process the stored associated metadata in the metadata container (106); the associated meta-information, including information about the timing of transportation and the location information indicating the storage location of the stored transport data packets in the media container; characterized in that it includes:determining, based on the control information and information about the timing of transport, information about the time of decoding of the sample (606; 706) for each of the media access information about the time of decoding of the sample reflects mediarenderer and indicates at what point in time again to play some payload stored packet transport the data,
anddetermining, based on the contents of the stored transport data packets (110; 112) and stored associated meta-information (124; 128), sample information decoding (604; 704) based media access, so that each sample of the information about the decoding associated with media access and contains links to one or more packets of a transport data important for diacetylene the media access of the stored transport data packets (110; 112), where a sample of the information about the decoding (604; 704) is defined so that it points to the start address and the address of the end of the associated media access within the stored transport data packets (110; 112), where the start address indicates the location of the sample media that indicates the start of a media access, and where the address of the end indicates the location of the sample media, indicating the end of the media access; andstore in container media (104); sample information decoding, and storing the related information about the time of decoding of the sample as meta information about the decoding (606; 706) in the metadata container (106); a meta-information about the decoding (606; 706)indicating the decode time and location of the associated sample information decoding in the media container (104).

18. The computer-readable storage medium with sohraneniya therein a computer program for implementing the method according to 17,
when the computer program runs on a computer and/or microcontroller.

19. A device for reading the file (702); the file stored in the media container (104)associated with the file, the packets of the transport data (110; 112), including mediapolis information of packaged media access and stored in container media (104); a sample of the information decoding (602; 702) for each media access, where a sample of the information about the decoding indicates the start address and the address of the end of the associated media access within the stored transport data packets (110; 112), where the start address indicates the location of the sample media that indicates the start of a media access, and where the address of the end indicates the location of the sample media, indicating the end of the media access; the file saved for each sample of the information decoding (602; 702); related information about the time of decoding of the sample (606; 706) in the metadata container (106) file; related information about the time of decoding of the sample (606; 706)indicating the decode time and location of the associated sample information decoding (602; 702) in container media (104); characterized in that it includes:a processor for determining a graph of the output of the media blocks access of the stored transport data packets (110; 112) what redstem access to related information about the time of decoding of the sample (606;
706) in the metadata container (106) and through access based on the related information about the time of decoding of the sample (606; 706), the sample information decoding (602; 702) in container media (104), and through access, based on the pattern information decoding (602; 702), the associated media blocks access of the stored transport data packets (110; 112); andthe controller output for outputting the media blocks access in accordance with a specific schedule output.

20. How to read file (702)stored in the container media (104)associated with the file, the packets of the transport data (110; 112), including mediapolis information of packaged media blocks access to, and remaining in container media (104); a sample of the information decoding (602; 702) for each media access, where a sample of the information about the decoding indicates the start address and the address of the end of the associated media access within the stored transport data packets (110; 112), where the start address indicates the location of the sample media that indicates the start of a media access, and where the address end indicates the location of the sample media, indicating the end of the media access; the file is preserved for each sample of the information decoding (602; 702); related information about the time of decoding of the sample (606; 706) in the container the ore metadata (106) file;
related information about the time of decoding of the sample (606; 706)indicating the decode time and location of the associated sample information decoding (602; 702) in container media (104); characterized in that it includes:the timing of output of the media blocks access of the stored transport data packets (110; 112) through access to information about the time of decoding of the sample (602; 702) in the metadata container (106) and through access, based on information about the time of decoding of the sample (606; 706), the sample information decoding (602; 702) in container media (104), and by deacetylase, based on the pattern information decoding (602; 702), the payload of the stored transport data packets (110; 112) for receiving media blocks access; andthe output of the media blocks access in accordance with a specific schedule output.

21. The computer-readable storage medium stored thereon a computer program for implementing the method according to claim 20, when the computer program runs on a computer and/or microcontroller.

SUBSTANCE: disclosed is an apparatus for decoding data segments representing a time-domain data stream, a data segment being encoded in the time domain or in the frequency domain, a data segment being encoded in the frequency domain having successive blocks of data representing successive and overlapping blocks of time-domain data samples, the apparatus comprising: a time-domain decoder for decoding a data segment being encoded in the time domain and a processor for processing the data segment being encoded in the frequency domain and output data of the time-domain decoder to obtain overlapping time-domain data blocks and an overlap/add-combiner for combining the overlapping time-domain data blocks to obtain a decoded data segment of the time-domain data stream.

FIELD: method and system for enhancing audio signals according to selected characteristics of aforementioned audio signal.

SUBSTANCE: system and method are claimed, where multimedia plot is presented to consumer in accordance to characteristics, selected from audio signal, which represents, for example, musical accompaniment, selected by consumer. Characteristics of type of changes of tone and speed of selected musical accompaniment are connected to plot parameters, which are determined by plot lines, rules for building a narrative plot and structure of movie or plot and are associated with them. In one example, selection of several musical tracks ensures production of input audio signals, from which musical characteristics are extracted, after than a list of plot parameters and time scale is generated, further, media fragments are produced - fragments which have plot content, associated with plot parameters, and fragments are outputted with selected musical accompaniment.

EFFECT: creation of method and system for enhancing audio signals, which allow automatic enhancement of input audio signal with a video series depending on its semantic content.

SUBSTANCE: invention includes: conducting repeated multiple control and detection of launching events during output of main media stream; and on detection of launching event it is determined, which ones of one or more several additional media streams are related to launching event; for each related additional media stream it is determined, whether each related additional media stream is supposed to be outputted synchronously or asynchronously with main media stream; and iterative (repeated) output is conducted of each related additional media stream either synchronously or asynchronously with main media stream in accordance with results of previous detections. Synchronous additional media streams are outputted simultaneously with main media stream. Asynchronously outputted additional media streams pause the main media stream during their output and finish any additional media streams being outputted at current moment.

EFFECT: provision of timely assistance to individuals with impaired sight or hearing.

SUBSTANCE: method and device for transferring user data from video decoder to video decoder, while user data may be embedded into encoded video signal, generated by aforementioned video decoder, includes (at coder side) stage (202) of insertion of filling packets into given position in encoded video signal, (at decoder side) stage (204) of analysis for finding and counting amount of filling packets at given position in encoded video signal. At coder side, determined from user data by means of correspondence table is amount of filling packets (201), and at decoder side aforementioned amount of filling packets is used for producing user data (205) by means of correspondence table.

EFFECT: transfer of user data with usage of low amount of bits at level of plane of video object of encoded video signal.

SUBSTANCE: method includes data table about applications, containing information, concerning applications, transferred in each service of transport stream. Data table about applications can by known method be provided with fixed packet identifier PID and table identifier extension TID, alternating dependently on selected service group. Use of one data table about applications to present information to all services of group provides a row of advantages, in particular concerning taking decisions whether to leave or not certain application during switching from one service to another.

SUBSTANCE: multimedia content purchasing system comprising: a memory area associated with a multimedia service; a multimedia server connected to the multimedia service via a data communication network; a portable computing device associated with a user; and a processor associated with the portable computing device, said processor being configured to execute computer-executable instructions for: establishing a connection to the multimedia server when the multimedia server and the portable computing device are within a predefined proximity; authenticating the multimedia server and the user with respect to the authenticated multimedia server; transmitting digital content distribution criteria; receiving, in response, promotional copies of one or more of the multimedia content items and associated metadata; and purchasing, when the multimedia server and the portable computing device are outside the predefined proximity, at least one of said one or more multimedia content items.

SUBSTANCE: network server of television server sets in random manner according to Internet protocol (IPTV) time of request for receiving main license within time period starting from time of broadcast transmission and ending at preset time in accordance with request for receiving license for playback of encrypted content, where request for receive comes from IPTV client terminal, and transmits to IPTV client terminal information about time of request for receiving main license and temporary license comprising temporary key of content which key corresponds to playback of broadcast transmission content from time of broadcast transmission start till preset time. License server transmits main license including content main key which corresponds to full playback of content according to request for receiving main license which request is executed using IPTV client terminal based on information about request for receive.

EFFECT: stabilisation of license server operation by eliminating concentration of license receive requests from large number of clients during time just after starting broadcast transmission of content.

SUBSTANCE: method of a conversion system operation to manage digital rights to grant a license to a client's device corresponding to coded content consists in the following. The first content of the first type of digital rights content and the first license corresponding to the first content are converted to manage digital rights in order to generate the second content of the second type of digital rights content and the second license corresponding to the second content. A license request is received, corresponding to the second content distributed by means of superdistribution to a third party. The second license corresponding to the second content distributed by means of superdistribution is requested from a server corresponding to the second management of digital rights. The second license corresponding to the second content distributed by means of superdistribution is received and sent to a third party.

EFFECT: expansion of functional resources due to development of a license granting mechanism for appropriate content distributed by means of superdistribution.

SUBSTANCE: like or dislike of a content element played on a personalised content channel is determined based on feedback from the user; the profile is updated based on the determined like or dislike, wherein that profile is associated with the personalised content channel and contains a plurality of attributes and attribute values associated with said content element, where during update, if like has been determined, a classification flag associated with each of said attributes and attribute values is set; the degree of liking is determined for at least on next content element based on said profile; and that at least one next content element is selected for playing on the personalised content channel based on the calculated degree of liking.

EFFECT: method for personalised filtration of content elements which does not require logic input or user identification procedures.

SUBSTANCE: like or dislike of a content element played on a personalised content channel is determined based on feedback from the user; the profile is updated based on the determined like or dislike, wherein that profile is associated with the personalised content channel and contains a plurality of attributes and attribute values associated with said content element, where during update, if like has been determined, a classification flag associated with each of said attributes and attribute values is set; the degree of liking is determined for at least on next content element based on said profile; and that at least one next content element is selected for playing on the personalised content channel based on the calculated degree of liking.

EFFECT: method for personalised filtration of content elements which does not require logic input or user identification procedures.

SUBSTANCE: capability of signalling is provided about several values of decoding time for each sample at the level of a file format, which makes it possible to use various values of decoding time for each sample or a subset of samples when decoding a full flow and a subset of this flow. A unit of alternative decoding time is determined, designed to signal several values of decoding time for each sample. Such unit may contain a compact table version, which makes it possible to index from the alternative decoding time to quantity of samples, at the same time the alternative decoding time is the decoding time used for the sample in the case, when it is required to decode only a subset of an elementary flow stored on a path. Each record in the table contains multiple sequential samples with identical value of time difference and difference between these sequential samples, and a full "time-sample" chart may be built by adding differences.

SUBSTANCE: invention relates to a signal recording system. A recording device (200) is proposed, which has a receiver (201) for receiving an initial signal (101), with associated first information on playback time, such as a time scale for normal playback time. The receiver (200) is connected to a recording controller (203), which generates a recorded signal (301) based on the initial signal (101). The recorded signal (301) contains a discontinuity in recording with respect to the initial signal (101), caused by interruption of recording for a certain time interval, for example. The recording controller (203) is connected to a data carrier (205). The recording device (200) also contains a time processor (209) designed for generating second information on time for the recorded signal (301) in response to information on playback time and interruption in recording. The second information on time can be a compensated time scale for normal playback time or event descriptors or data flow events, with time indicators, varied such that, they correspond to the recorded signal (301).

EFFECT: improved recording system for reducing effect of disruptions in recording, with different values of normal playback time for the initial and recorded sequences of video data.

SUBSTANCE: invention relates to a signal recording system. A recording device (200) is proposed, which has a receiver (201) for receiving an initial signal (101), with associated first information on playback time, such as a time scale for normal playback time. The receiver (200) is connected to a recording controller (203), which generates a recorded signal (301) based on the initial signal (101). The recorded signal (301) contains a discontinuity in recording with respect to the initial signal (101), caused by interruption of recording for a certain time interval, for example. The recording controller (203) is connected to a data carrier (205). The recording device (200) also contains a time processor (209) designed for generating second information on time for the recorded signal (301) in response to information on playback time and interruption in recording. The second information on time can be a compensated time scale for normal playback time or event descriptors or data flow events, with time indicators, varied such that, they correspond to the recorded signal (301).

EFFECT: improved recording system for reducing effect of disruptions in recording, with different values of normal playback time for the initial and recorded sequences of video data.

SUBSTANCE: capability of signalling is provided about several values of decoding time for each sample at the level of a file format, which makes it possible to use various values of decoding time for each sample or a subset of samples when decoding a full flow and a subset of this flow. A unit of alternative decoding time is determined, designed to signal several values of decoding time for each sample. Such unit may contain a compact table version, which makes it possible to index from the alternative decoding time to quantity of samples, at the same time the alternative decoding time is the decoding time used for the sample in the case, when it is required to decode only a subset of an elementary flow stored on a path. Each record in the table contains multiple sequential samples with identical value of time difference and difference between these sequential samples, and a full "time-sample" chart may be built by adding differences.

SUBSTANCE: disclosed is a file (102) recording apparatus (100), having associated media data storage (104) and metadata storage (106), comprising: a receiver (108) for obtaining first data packets (110), including packetised first media data samples, based on a first clock generator, and for obtaining second data packets (112), including second media data samples, based on a second clock generator different from the first clock generator, where the second media data samples are associated with the first media data samples; and for obtaining first control packets (114), including information indicating the ratio of the first clock generator to the source clock generator, and for obtaining second control packets (115), including information indicating the ratio of the second clock generator to the source clock generator; and a recording device (116) for storing the obtained first and second data packets (110; 112) and at least a portion of the obtained first and second control packets (114; 115) in the media data storage (104); and for storing associated metadata (124; 128) in the metadata storage (106).

EFFECT: efficient storage and processing of packets, eg precise synchronisation of sound and decoding when reproducing recorded media streams.