[go: up one dir, main page]

WO2007072257A1 - Procede de traitement d'un flux de donnees code et dispositif destine a cet effet - Google Patents

Procede de traitement d'un flux de donnees code et dispositif destine a cet effet Download PDF

Info

Publication number
WO2007072257A1
WO2007072257A1 PCT/IB2006/054531 IB2006054531W WO2007072257A1 WO 2007072257 A1 WO2007072257 A1 WO 2007072257A1 IB 2006054531 W IB2006054531 W IB 2006054531W WO 2007072257 A1 WO2007072257 A1 WO 2007072257A1
Authority
WO
WIPO (PCT)
Prior art keywords
data stream
encrypted data
frame
stream
frames
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/IB2006/054531
Other languages
English (en)
Inventor
Albert M. A. Rijckaert
Roland P. J. M. Manders
Eric W. J. Moors
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of WO2007072257A1 publication Critical patent/WO2007072257A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4382Demodulation or channel decoding, e.g. QPSK demodulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4385Multiplex stream processing, e.g. multiplex stream decrypting
    • H04N21/43853Multiplex stream processing, e.g. multiplex stream decrypting involving multiplex stream decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4623Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors

Definitions

  • the invention relates to a device for processing an encrypted data stream.
  • the invention further relates to a method of processing an encrypted data stream.
  • the invention further relates to a program element.
  • the invention further relates to a computer-readable medium.
  • Electronic entertainment devices become more and more important. Particularly, an increasing number of users buy hard disk based audio/video players and other entertainment equipment.
  • MPEG2 is a standard for the generic coding of moving pictures and associated audio and creates a video stream out of frame data that can be arranged in a specified order called the GOP ("Group Of Pictures") structure.
  • An MPEG2 video bit stream is made up of a series of data frames encoding pictures.
  • the three ways of encoding a picture are intra-coded (I picture), forward predictive (P picture) and bi-directional predictive (B picture).
  • An intra- coded frame (I-frame) is an independently decodable frame.
  • a forward predictive frame (P- frame) needs information of a preceding I-frame or P-frame.
  • a bi-directional predictive frame (B-frame) is dependent on information of a preceding or subsequent I-frame or P- frame.
  • trick-play modes should also be possible with digital televisions.
  • digital televisions have an embedded decoder and a digital interface via which a standardized signal is provided, such as an MPEG signal described above.
  • a standardized signal such as an MPEG signal described above.
  • a similar situation also occurs in a home network of Set Top Boxes that communicate via a digital in- home network.
  • the system providing the trick-play signal is located remotely from the decoder. It is therefore advantageous to provide a trick-play signal as a standardized signal form capable of working in conjunction with a standard decoder.
  • the signal should also preferably take into account mode transitions from normal to trick-play, trick-play to trick-play and vice versa since these transitions can occur at any time under control of the consumer, even midway through the transmission of a single video frame.
  • US 2004/0190866 Al discloses frame advance and slide show trick modes on an MPEG data stream for a remote decoder system, wherein for each original B frame a predetermined maximum number of copies of the original B frames are added. Basic still picture trick-play is therefore provided.
  • different media content providers may use different formats for encrypted video content and for decryption data needed for decrypting the encrypted video content.
  • the coordination of providing segments of encrypted video content and providing and decrypting encrypted decryption data may be difficult, particularly in a trick- play mode such as slow- forward or still picture mode.
  • a trick- play mode such as slow- forward or still picture mode.
  • the MPEG data stream is in an encrypted form the repetition of copies of the original B frames, as taught by US 2004/0190866 Al, also requires the repetition of the information required to decrypt successive segments of the stream since the formats used by different media content providers are proprietary and secret in nature. The repetition of this information can then interfere with the correct operation of the decryption of the encrypted video content.
  • a device for processing an encrypted data stream wherein decryption messages are provided for decrypting at least one segment of the encrypted data stream
  • the device comprises a first input for receiving the encrypted data stream, an output for transmitting a processed encrypted data stream, a replication unit and a detection unit for detecting the decryption messages comprised within a first portion of the encrypted data stream that is intended to be replicated in the processed encrypted data stream by the replication unit wherein the replication unit is arranged to replicate either the first portion or a subsequent portion of the encrypted data stream based upon detection by the detection unit of the decryption messages comprised within the first portion.
  • a method according to the invention can be characterized in the way defined below, that is: A method of processing an encrypted data stream, wherein decryption messages are provided for decrypting at least one segment of the encrypted data stream, the method comprising the method steps of receiving the encrypted data stream, detecting the decryption messages in the encrypted data stream comprised within a first portion of the encrypted data stream that is intended to be replicated in the processed encrypted data stream and replicating either the first portion or a subsequent portion of the encrypted data stream based upon detection during the detection step of the decryption messages comprised within the first portion.
  • a program element according to the invention can be characterized in the way defined below, that is: A program element directly loadable into the memory of a programmable device, comprising software code portions for performing, when said program element is run on the device, the method steps of receiving an encrypted data stream, detecting decryption messages in the encrypted data stream comprised within a first portion of the encrypted data stream that is intended to be replicated in the processed encrypted data stream and replicating either the first portion or a subsequent portion of the encrypted data stream based upon detection during the detection step of the decryption messages comprised within the first portion.
  • a computer-readable medium can be characterized in the way defined below, that is: A computer-readable medium directly loadable into the memory of a programmable device, comprising software code portions for performing, when said program element is run on the device, the method steps of receiving an encrypted data stream, detecting decryption messages in the encrypted data stream comprised within a first portion of the encrypted data stream that is intended to be replicated in the processed encrypted data stream and replicating either the first portion or a subsequent portion of the encrypted data stream based upon detection during the detection step of the decryption messages comprised within the first portion.
  • the measures according to the invention provide the advantage that portions of an encrypted data stream that contain decryption messages can be identified. Particularly, the detection of the encryption messages in the portions to be repeated allows the device according to the invention to provide a processed encrypted data stream that is a valid encrypted data stream that can be decrypted by a standard decrypter and decoder arrangement by deciding to repeat the portion containing the decryption messages or postponing the repetition to a subsequent portion based upon the decryption messages detected.
  • the measure of detecting a toggle from a first set of the decryption messages to a second set of the decryption messages enables the repetition of the portion containing the decryption messages to be performed more often than would otherwise be safely possible whilst ensuring that the processed encrypted data stream remains a valid encrypted data stream that can be decrypted by a normal decrypter and decoder arrangement.
  • the measure of receiving a signal indicating that the replication unit should begin replicating portions of the encrypted data stream in the processed encrypted data stream allows identification of the position in the encrypted stream where repetition of a portion should ideally begin according to the user. Therefore, it allows any decisions to be taken to be based upon whether a first portion or a subsequent portion is repeated based upon the decryption messages located before or after the signal was received. This is advantageous because the decryption messages already processed before the signal was received cannot be revoked, whereas the decryption messages received after the signal may yet be processed and corrective action may be taken.
  • the measures of replicating a first portion of the encrypted data stream when no decryption messages are comprised within the first portion of the encrypted data stream allows the first portion to be immediately repeated in the full knowledge that the processed stream will be a validly decodable stream suitable for a normal decryptor and decoder combination.
  • the measure of replicating the subsequent portion of the encrypted data stream when at least one decryption message is found to be comprised within the first portion of the encrypted data stream provides a very simple implementation, not requiring detailed knowledge of the contents of the decryption messages, by taking the safest option to provide a validly decodable stream suitable for a normal decryptor and decoder combination.
  • the measure of replicating a first portion of the encrypted data stream upon no detection of a toggle from the first set of decryption messages to the second set of decryption messages can be applied. Particularly, by not replicating portions of the encrypted data stream that contain a toggle the processed encrypted data stream will not contain a higher rate of toggling of sets of decryption messages than the encrypted data stream in its original form and therefore reduces the processing load on a decryption message decrypter that must process the processed encrypted data stream.
  • the measures of selectively identifying for deletion, and subsequently deleting, at least one of the decryption messages comprised within a first portion of the encrypted stream that is to be repeated may be applied.
  • the selective identification being based upon detection of the earliest of either a toggle from a first set of decryption messages to a second set of decryption messages or reception of a signal indicating that repetition should be initiated.
  • Such measures allow the distinction between a situation where a toggle has already been transmitted and cannot be revoked and a situation where the toggle has not yet been transmitted allowing an improved decision to be taken with respect to replicating a first portion or a subsequent portion of the encrypted data stream in the processed encrypted data stream.
  • the measure of selecting for deletion all of the decryption messages comprised within a first portion and positioned prior to a toggle between sets of decryption messages for the situation where the toggle is detected earlier than the signal indicating repetition should be initiated should be applied in combination with replicating the first portion of the encrypted data stream. This allows the first portion to repeated, i.e. a faster response to a user action, whilst ensuring a valid processed encrypted data stream is provided for use by a standard decryptor and decoder even when a toggle had been processed and transmitted prior to the initiation of a different processing mode.
  • the measure of selecting for deletion, for each repetition of a first portion, all of the decryption messages comprised within the first portion and positioned subsequently to a toggle between sets of decryption messages for the situation where the toggle is detected subsequent to the signal indicating repetition should be initiated should be applied in combination with replicating the first portion of the encrypted data stream.
  • the measure of selecting for deletion, for each repetition of a first portion except the final repetition, all of the decryption messages comprised within the first portion and positioned subsequently to a toggle between sets of decryption messages for the situation where the toggle is detected subsequent to the signal indicating repetition should be initiated should be applied in combination with replicating the first portion of the encrypted data stream.
  • the measures of using a table ID parameter for identifying a toggle from a first set of decryption messages to a second set of decryption messages provides a very simple implementation.
  • the measure of providing an encrypted data stream to be processed that is a video, an audio or a data stream allows each of these streams to comprise repeated portions and yet still contain a set of decryption messages allowing correct decryption of each stream.
  • the measure of providing an encrypted data stream to be processed that is an MPEG2 data stream is widely applicable in the consumer electronics business.
  • MPEG2 is a designation for a group of audio and video coding standards agreed upon by MPEG (Moving Pictures Experts Group), and published as the ISO/IEC 13818 International Standard.
  • MPEG2 is used to encode audio and video for broadcast signals including digital satellite and cable TV, but may also be used for DVD. This therefore enables consumers to enjoy high quality entertainment.
  • the measure of providing at least one portion of the encrypted data stream as a video frame allows an encrypted still picture mode to be created from a video stream that can be decrypted and decoded by a normal decrypter and decoder combination.
  • the measure of providing a video frame that is a bidirectional predicted video frame allows an encrypted still picture mode to be created from a video stream containing bi-directional predicted frames, i.e. so-called B-frames, that can be decrypted and decoded by a normal decrypter and decoder combination.
  • bi-directional frames are applied in known video encoding systems.
  • the measures can be applied providing a device according to the invention that may be realized as one of the group consisting of a digital video recording device, a network-enabled device, a conditional access system, a portable audio player, a portable video player, a mobile phone, a DVD player, a CD player, a hard disk based media player, an Internet radio device, a computer, a television, a public entertainment device and an MP3 player.
  • Fig. 1 illustrates a time-stamped transport stream packet.
  • Fig. 2 shows an MPEG2 group of picture structure with intra-coded frames and forward predictive frames.
  • Fig. 3 illustrates an MPE G2 group of picture structure with intra-coded frames, forward predictive frames and bi-directional predictive frames.
  • Fig. 4a illustrates a structure of a characteristic point information file and stored stream content.
  • Fig. 4b shows an example of an Entitlement Control Message (ECM) file.
  • ECM Entitlement Control Message
  • Fig. 5 illustrates a system for trick-play on a plaintext stream.
  • Fig. 6 illustrates time compression in trick-play.
  • Fig. 7 illustrates trick-play with fractional distance.
  • Fig. 8 illustrates low speed trick-play.
  • Fig. 9 illustrates a general conditional access system structure.
  • Fig. 10 illustrates a digital video broadcasting encrypted transport stream packet.
  • Fig. 11 illustrates a transport stream packet header of the digital video broadcasting encrypted transport stream packet of Fig. 10.
  • Fig. 12 illustrates a system allowing the performance of trick-play on a fully encrypted stream.
  • Fig. 13 illustrates a full transport stream and a partial transport stream.
  • Fig. 14 illustrates Entitlement Control Messages for a stream type I and for a stream type II.
  • Fig. 15 illustrates writing Control Words to a decrypter.
  • Fig. 16 illustrates Entitlement Control Message handling in a fast forward mode.
  • Fig. 17 illustrates detection of one or two Control Words.
  • Fig. 18 illustrates the splitting of a transport stream packet at a frame boundary.
  • Fig. 19 illustrates a system allowing the performance of slow- forward trick- play on a fully encrypted stream.
  • Fig. 20 illustrates a hybrid stream with plaintext packets on each frame boundary.
  • Fig. 21 illustrates a system allowing the performance of slow- forward trick- play on a stored hybrid encrypted stream.
  • Fig. 22 illustrates an incomplete picture start code at the concatenation point of repeated B-frame data.
  • Fig. 23 illustrates the effect of MPEG frame re-ordering from transmission order to display order.
  • Fig. 24 illustrates the effect of MPEG frame re-ordering during slow- forward from transmission order through the intermediate display frame order to the actual displayed frames.
  • Fig. 25 illustrates the effect of MPEG frame re-ordering during slow- forward making use of empty P-frames before the anchor frames.
  • Fig. 26 illustrates the effect of MPEG frame re-ordering during slow- forward making use of backward predictive empty B-frames.
  • Fig. 27 illustrates the effect of MPEG frame re-ordering during slow- forward making use of forward predictive empty B-frames.
  • Fig. 28 illustrates the high table ID toggle rate due to repetition of B-frame data.
  • Fig. 29 illustrates the loss of a necessary Control Word for a type I system due to B-frame data repetition.
  • Fig. 30a illustrates the handling of ECMs for the slow- forward stream.
  • Fig. 30b illustrates the handling of ECMs for the slow- forward stream suitable for fast channel changing.
  • Fig. 31 illustrates a system for removing ECMs corresponding to the repeated B-frame data.
  • Fig. 32 illustrates a system for removing ECMs corresponding to the repeated
  • Fig. 33 illustrates a system for removing ECMs corresponding to the repeated B-frame data making use of an analyzer unit.
  • Fig. 34 illustrates the loss of a necessary Control Word for a type II system due to B-frame data repetition and the removal of ECMs corresponding to all but the last repetition of the repeated B-frame data.
  • Fig. 35 illustrates the handling of ECMs for the slow- forward stream to prevent the loss of a necessary Control Word for a type II system due to B-frame data repetition.
  • Fig. 36 illustrates the results of a measurement of B-frame data length over time for a typical broadcast reception.
  • Fig. 37 illustrates the overlap of repeated B-frame data when the length of the B-frame data in time exceeds a single frame display time.
  • Fig. 38 illustrates the results of a measurement of distance in time, measured in frame periods, from the Presentation Time Stamp (PTS) of a B-frame to the Program Clock Reference (PCR) for a typical broadcast reception over a period of 30 seconds.
  • PTS Presentation Time Stamp
  • PCR Program Clock Reference
  • Fig. 39 illustrates the potential overlap of B-frame data from the last repeated B-frame when a switch occurs from slow forward processing to still picture mode.
  • Fig. 40 illustrates the switching to still picture mode on a B-frame comprising ECMs.
  • Fig. 41 illustrates identical PTS values and the resulting conflict for two frames when switching from slow forward processing mode to still picture mode.
  • Fig. 42 illustrates the use of a Pe-frame to avoid identical PTS values and the resulting conflict for two frames of Fig. 41 and shows further an issue with subsequently repeated B-frames.
  • Fig. 43 illustrates the switching from slow forward processing mode to still picture mode during an anchor frame.
  • Fig. 44 illustrates the switching from slow forward processing mode to still picture mode during a pre-inserted Pe-frame.
  • Fig. 45 illustrates the switching from slow forward processing mode to still picture mode during a pre-inserted Bb-frame.
  • Fig. 46 illustrates the switching from slow forward processing mode to still picture mode during a post-inserted Bf-frame.
  • Fig. 47 illustrates the switching from slow forward processing mode to still picture mode during a switching period comprising an anchor frame or subsequent Bf- frames.
  • Fig. 48 illustrates the switching from slow forward processing mode to still picture mode during a switching period comprising pre-inserted empty frames.
  • Fig. 49a illustrates the switching from slow forward processing mode to still picture mode during a switching period lasting until the start of an anchor frame.
  • Fig. 49b illustrates the switching from still picture mode to slow forward processing mode for a still picture mode using Pe-frames.
  • Fig. 50a illustrates the options available when switching from a slow forward processing mode to a still picture mode when the last repeated B-frame does not contain ECMs.
  • Fig. 50b illustrates the options available when switching from a slow forward processing mode to a still picture mode when the last repeated B-frame does contain ECMs, but no table ID toggle.
  • Fig. 50c illustrates the options available when switching from a slow forward processing mode to a still picture mode when the last repeated B-frame contains both ECMs and a table ID toggle.
  • Fig. 5Od illustrates the options available when switching from a slow forward processing mode to a still picture mode when the last repeated B-frame contains both ECMs and a table ID toggle and where the table ID toggle occurs prior to the mode switch.
  • Fig. 5Oe illustrates the options available when switching from a slow forward processing mode to a still picture mode when the last repeated B-frame contains both ECMs and a table ID toggle and where the table ID toggle occurs subsequent to the mode switch.
  • Fig. 5Of illustrates the exception handling required upon the last repeated current B-frame for the situation of Fig. 5Oe.
  • Fig. 5Og illustrates a second set of options available when switching from a slow forward processing mode to a still picture mode when the last repeated B-frame contains both ECMs and a table ID toggle and where the table ID toggle occurs subsequent to the mode switch.
  • Fig. 5Oh a third set of options available when switching from a slow forward processing mode to a still picture mode when the last repeated B-frame contains both ECMs and a table ID toggle and where the table ID toggle occurs subsequent to the mode switch.
  • Fig. 51 illustrates a device for processing an encrypted data stream according to an exemplary embodiment of the invention.
  • Fig. 52 illustrates a second device for processing an encrypted data stream according to a second exemplary embodiment of the invention.
  • time-stamped transport stream This comprises transport stream packets, all of which are pre-pended with a 4 bytes header in which the transport stream packet arrival time is placed. This time may be derived from the value of the program clock reference (PCR) time-base at the time the first byte of the packet is received at the recording device.
  • PCR program clock reference
  • Fig. 1 illustrates a time stamped transport stream packet 100 having a total length 104 of 188 Bytes and comprising a time stamp 101 having a length 105 of 4 Bytes, a packet header 102, and a packet payload 103 having a length of 184 Bytes.
  • trick-play engines When creating trick-play for an MPEG/DVB transport stream, problems may arise when the content is at least partially encrypted. It may not be possible to descend to the elementary stream level, which is the usual approach, or even access any packetized elementary stream (PES) headers before decryption. This also means that finding picture frames may not be possible.
  • PES packetized elementary stream
  • ECM denotes an Entitlement Control Message.
  • This message may particularly comprise secret provider proprietary information and may, among others, contain encrypted Control Words (CW) needed to decrypt the MPEG stream. Typically, Control Words expire in 10-20 seconds.
  • CW Control Words
  • the term “keys” particularly denotes data that may be stored in a smart card and may be transferred to the smart card using EMMs, that is so-called "Entitlement Management Messages” that may be embedded in the transport stream. These keys may be used by the smart card to decrypt the Control Words present in the ECM. An exemplary validity period of such a key may be one month.
  • the term “Control Words” (CW) particularly denotes decryption information needed to decrypt actual content. Control words may be decrypted by the smart card and then stored in a memory of the decryption core.
  • any MPEG2 streams created are MPEG2 compliant transport streams. This is because the decoder may not only be integrated within a device, but may also be connected via a standard digital interface, such as an IEEE 1394 interface, or an Internet interface, for example.
  • FIG. 2 shows a stream 200 comprising several MPEG2 GOP structures with a sequence of I-frames 201 and P-frames 202.
  • the GOP size is denoted with reference numeral 203.
  • the GOP size 203 is set to 12 frames, and only I-frames 201 and P-frames 202 are shown here.
  • a GOP structure may be used in which only the first frame is coded independently of other frames. This is the so-called infra-coded or I-frame 201.
  • the predictive frames or P-frames 202 are coded with a unidirectional prediction, meaning that they only rely on the previous I-frame 201 or P-frame 202 as indicated by arrows 204 in Figure 2.
  • Such a GOP structure has typically a size of 12 or 16 frames 201, 202.
  • FIG. 3 shows the MPEG2 GOP structure with a sequence of I-frames 201, P-frames 202 and B-frames 301.
  • the GOP size is again denoted with reference numeral 203. It is possible to use a GOP structure containing also bi-directionally predictive frames or B-frames 301 as shown in Fig. 3.
  • a GOP size 203 of 12 frames is chosen for the example.
  • the B-frames 301 are coded with a bi-directional prediction, meaning that they rely on a previous and a next I- or P-frame 201, 202 as indicated for some B-frames 301 by curved arrows 204.
  • the transmission order of the compressed frames may be not the same as the order in which they are displayed.
  • both reference frames before and after the B-frame 301 are needed.
  • the compressed frames may be reordered. So in transmission, the reference frames may come first.
  • the reordered stream, as it is transmitted, is also shown in Fig. 3, lower part.
  • the reordering is indicated by straight arrows 302.
  • a stream containing B-frames 301 can give a nice looking trick-play picture if all of the B-frames 301 are skipped. For the present example, this leads to a trick-play speed of 3x forward.
  • trick-play may not be trivial.
  • the possibility of a slow-reverse based on I-frames only is briefly mentioned as an option.
  • An efficient frame based slow-reverse is practically impossible though, due to the necessary inversion of the MPEG2 GOP.
  • Slow-forward which is also known as slow motion forward is a mode in which the display picture runs at a lower than normal speed.
  • a rudimentary form of slow- forward is already possible with the technique making use of a fast-forward algorithm that generates trick-play GOPs. Setting the fast- forward speed to a value between zero and one results in a slow- forward stream based on a repetition of fast-forward trick-play GOPs.
  • the distance between I-frames in normal play may be around half a second and for slow- forward/reverse it is multiplied with the slow motion factor. So this type of slow- forward or slow-reverse is not really the slow motion consumers are used to but in fact it is more like a slide show with a large temporal distance between the successive pictures.
  • still picture mode In another trick-play mode the display picture is halted. This can be achieved by adding empty P-frames to the I-frame for the duration of the still picture mode. This means that the picture resulting from the last I-frame is halted. When switching to still picture from normal play, this can also be the nearest I-frame according to the data in the CPI file.
  • This technique may be an extension of the fast-forward/reverse modes and results in nice still pictures especially if interlace kill is used. However the positional accuracy may often be insufficient when switching from normal play or slow- forward/reverse to still picture.
  • the still picture mode can be extended to implement a step mode.
  • the step command advances the stream to some next or previous I-frame.
  • the step size is at minimum one GOP but can also be set to a higher value equal to an integer number of GOPs.
  • Step forward and step backward are both possible in this case because only I-frames are used.
  • the slow- forward can also be based on a repetition of every frame, which results in a much smoother slow motion.
  • the best form of slow- forward would in fact be a repetition of fields instead of frames because the temporal resolution is doubled and there are no interlace artifacts. This may be however practically impossible for the intrinsically frame based MPEG2 streams and even more so if they are largely encrypted.
  • interlace artifacts can be significantly reduced for the I- and P-frames by using special empty frames to force the repetition. Such an interlace reduction technique may not be available for the B-frames though. Whether the use of interlace kill for the I- and P-frames is still advantageous in this case or in fact leads to a more annoying picture for the viewer can only be verified by experiments.
  • Still picture mode can be defined as an extension of the frame-based slow- forward mode. It may be based on a repeated display of the current frame for the duration of the still picture mode whatever the type of this frame is. This may be, in fact, a slow- forward with an infinite slow motion factor if this indicates the factor with which the normal play stream is slowed down. No interlace kill may be possible if the picture is halted on a B- frame. In that sense this still picture mode may be worse than the trick-play GOP based still picture mode. This can be corrected by only halting the picture at an I- or P- frame at the cost of a somewhat less accurate still picture position. Discontinuities in the temporal reference and the PTS can also be avoided in this case.
  • bit rate may be significantly reduced because the repetition of an I- or P-frame may be forced by the insertion of empty frames instead of a repetition of the frame data itself as may be necessary for the B-frames. So, technically speaking, the halting of a picture at an I- or P-frame may be the best choice, if one accepts that lack of positional accuracy.
  • the still picture mode can also be extended with a step mode.
  • the step command advances the stream in principle to the next frame. Larger step sizes are possible by stepping to the next P-frame or some next I-frame. A step backward on frame basis may not be possible. The only option may be to step backward to one of the previous I-frames.
  • trick-play GOP based and frame based Two types have been mentioned, namely trick-play GOP based and frame based.
  • the first one may be most logically connected to fast-forward/reverse whereas the second one may be related to slow- forward.
  • the streams resulting from both methods look very alike because they are both based on the insertion of empty frames to force the repetition of an anchor frame. But on detailed stream construction level there are some differences.
  • CPI characteristic point information
  • Finding I-frames in a stream usually requires parsing the stream, to find the frame headers. Locating the positions where the I-frame starts can be done while the recording is being made, or off-line after the recording is completed, or semi on-line, in fact being off-line but with a small delay with respect to the moment of recording.
  • the I-frame end can be found by detecting the start of the next P-frame or B-frame.
  • the meta-data derived this way can be stored in a separate but coupled file that may be denoted as characteristic point information file or CPI file. This file may contain pointers to the start and eventually end of each I-frame in the transport stream file. Each individual recording may have its own CPI file.
  • a characteristic point information file 400 is visualized in Fig. 4a.
  • the CPI file 400 may also contain some other data that are not discussed here. With the data from the CPI file 400 it is possible to jump to the start of any I- frame 201 in the stream. If the CPI file 400 also contains the end of the I-frames 201, the amount of data to read from the transport stream file may be exactly known to get a complete I-frame 201. If for some reason the I-frame end is not known, the entire GOP or at least a large part of the GOP data may be read to be sure that the entire I-frame 201 is read. The end of the GOP may be given by the start of the next I-frame 201. It is known from measurements that the amount of I-frame data can be 40% or more of the total GOP data.
  • trick-play picture refresh rate can be achieved by displaying each I-frame 201 several times.
  • the bit rate will be reduced accordingly. This may be achieved by adding so-called empty P-frames 202 between the I-frames 201.
  • Such an empty P-frame 202 may not be really empty but may contain data instructing the decoder to repeat the previous frame. This has a limited bit cost, which can in many cases be neglected compared to an I-frame 201.
  • trick-play GOP structures like IPP or IPPP may be acceptable for the trick-play picture quality and even advantageous at high trick-play speeds.
  • the resulting trick-play bit rate may be of the same order as the normal play bit rate. It is also mentioned that these structures may reduce the required sustained bandwidth from the storage device.
  • a trick-play system 500 is schematically depicted in Fig. 5.
  • the trick-play system 500 comprises a recording unit 501, an I-frame selection unit 502, a trick-play generation block 503 and an MPEG2 decoder 504.
  • the trick-play generation block 503 includes a parsing unit 505, an adding unit 506, a packetizer unit 507, a table memory unit 508 and a multiplexer 509.
  • the recording unit 501 provides the I-frame selection unit 502 with plaintext
  • the multiplexer 509 provides the MPEG2 decoder 504 with an MPEG2 DVB compliant transport stream 511.
  • the I-frame selector 502 reads specific I-frames 201 from the storage device 501. Which I-frames 201 are chosen depends on the trick-play speed as will be described below. The retrieved I-frames 201 are used to construct an MPEG-2/DVB compliant trick- play stream that may be then sent to the MPEG-2 decoder 504 for decoding and rendering.
  • the position of the I-frame packets in the trick-play stream cannot be coupled to the relative timing of the original transport stream.
  • the time axis may be compressed or expanded with the speed factor and additionally inversed for reverse trick- play. Therefore, the time stamps of the original time stamped transport stream may not be suitable for trick-play generation.
  • the original PCR time base may be disturbing for trick-play.
  • a PCR will be available within the selected I-frame 201.
  • the frequency of the PCR time base would be changed. According to the MPEG2 specification, this frequency should be within 30 ppm from 27
  • I-frames 201 normally contain two time stamps that tell the decoder 504 when to start decoding the frame (decoding time stamp, DTS) and when to start presenting, for instance displaying, it (presentation time stamp, PTS). Decoding and presentation may be started when DTS respectively PTS are equal to the PCR time base, which may be reconstructed in the decoder 504 by means of the PCRs in the stream.
  • the distance between, e.g., the PTS values of 2 I-frames 201 corresponds to their nominal distance in display time. In trick-play this time distance may be compressed or expanded with the speed factor. Since a new PCR time base may be used in trick-play, and because the distance for DTS and PTS may be no longer correct, the original DTS and PTS of the I-frame 201 have to be replaced.
  • the I-frame 201 may first be parsed into an elementary stream in the parsing unit 505. Then the empty P-frames 202 are added on elementary stream level. The obtained trick-play, GOP is mapped into one PES packet and packetized to transport stream packets. Then corrected tables like PAT, PMT, etc. are added. At this stage, a new PCR time base together with DTS and PTS are included. The transport stream packets are pre-pended with a 4 bytes time stamp that is coupled to the PCR time base such that the trick-play stream can be handled by the same output circuitry as used for normal play.
  • trick-play speeds In the following, some aspects related to trick-play speeds will be described. In this context, firstly, fixed trick-play speeds will be discussed.
  • N b G/T (1)
  • the basic speed is an integer but this is not necessarily the case.
  • the set of trick-play speeds resulting from the method described above is satisfying, in some cases not.
  • the trick-play speed formula will be inverted and the distance D will be calculated which is given by:
  • an adaptive skipping algorithm might be used that chooses the next I-frame 201 based on the fact what I-frame 201 best matches the required speed.
  • the next ideal point Ip with the distance D may be calculated and one of the I-frames 201 may be chosen closest to this ideal point to construct a trick-play GOP.
  • the next ideal point may be calculated by increasing the last ideal point by D.
  • Fig. 7 illustrating trick-play with fractional distances, there are particularly three possibilities to choose the I-frame 201 :
  • trick-play speed N does not need to be an integer but can be any number above the basic speed Nb. Also speeds below this minimum can be chosen, but then the picture refresh rate may be lowered locally because the effective trick-play GOP size T is doubled or at still lower speeds even tripled or more. This is due to a repetition of the trick-play GOPs, as the algorithm will choose the same I-frame 201 more than once.
  • the round function is used to select the I-frames 201 and as can be seen frames 2 and 4 are selected twice.
  • the described method will allow for a continuously variable trick- play speed.
  • a negative value is chosen for N.
  • the method described will also include the sets of fixed trick-play speeds mentioned earlier and they will have the same quality, especially if the round function is used. Therefore, it might be appropriate that the flexible method described in this section should always be implemented whatever the choice of the speeds will be.
  • refresh rate particularly denotes the frequency with which new pictures are displayed. Although not speed dependent, it will be briefly discussed here because it can influence the choice of T. If the refresh rate of the original picture is denoted by R (25Hz or 30Hz), the refresh rate of the trick-play picture [R 1 ) is given by:
  • Fig. 9 illustrates a conditional access system 900 which will now be described.
  • content 901 may be provided to a content encryption unit 902.
  • the content encryption unit 902 supplies a content decryption unit 904 with encrypted content 903.
  • ECM denotes Entitlement Control Messages.
  • KMM denotes Key Management Messages
  • GKM denotes Group Key Messages
  • EMM denotes Entitlement Management Messages.
  • a Control Word 906 may be supplied to the content encryption unit 902 and to an ECM generation unit 907.
  • the ECM generation unit 907 generates an ECM and provides the same to an ECM decoding unit 908 of a smart card 905.
  • the ECM decoding unit 908 generates from the ECM a Control Word that is decryption information that is needed and provided to the content encryption unit 904 to decrypt the encrypted content 903.
  • an authorization key 910 is provided to the ECM generation unit
  • a KMM generation unit 911 wherein the latter generates a KMM and provides the same to a KMM decoding unit 912 of the smart card 905.
  • the KMM decoding unit 912 provides an output signal to the ECM decoding unit 908.
  • a group key 914 may be provided to the KMM generation unit 911 and to a GKM generation unit 915 which may further be provided with a user key 918.
  • the GKM generation unit 915 generates a GKM signal GKM and provides the same to a GKM decoding unit 916 of the smart card 905, wherein the GKM decoding unit 916 gets as a further input a user key 917.
  • entitlements 919 may be provided to an EMM generation unit 920 that generates an EMM signal and provides the same to an EMM decoding unit 921.
  • the EMM decoding unit 921 located in the smart card 905 is coupled with an entitlement list unit 913 which provides the ECM decoding unit 908 with corresponding control information.
  • CA conditional access
  • the broadcasted content 901 is encrypted under the control of the CA system 900.
  • content is decrypted before decoding and rendering if access is granted by the CA system 900.
  • the CA system 900 uses a layered hierarchy (see Fig. 9).
  • the CA system 900 transfers the content decryption key (Control Word CW 906, 909) from server to client in the form of an encrypted message, called an ECM.
  • ECMs are encrypted using an authorization key (AK) 910.
  • the CA server 900 may renew the authorization key 910 by issuing a KMM.
  • a KMM is in fact a special type of EMM, but for clarity the term KMM may be used.
  • KMMs are also encrypted using a key that for instance can be a group key
  • GK GK 914
  • GKMs are then encrypted with the user key (UK) 917, 918, which is a fixed unique key embedded in the smart card 905 and known by the CA system 900 of the provider only.
  • Authorization keys and group keys are stored in the smart card 905 of the receiver.
  • Entitlements 919 (for instance viewing rights) are sent to individual customers in the form of an EMM and stored locally in a secure device (smart card 905). Entitlements 919 are coupled to a specific program.
  • An entitlements list 913 gives access to a group of programs depending on the type of subscription.
  • ECMs are only processed into keys (Control Words) by the smart card 905 if an entitlement 919 is available for the specific program.
  • Entitlement EMMs are subject to an identical layered structure as the KMMs (not depicted in Fig. 9).
  • ECMs and EMMs are all multiplexed into a single MPEG2 transport stream.
  • the description above is a generalized view of the CA system 900.
  • digital video broadcasting only the encryption algorithm, the odd/even Control Word structure, the global structure of ECMs and EMMs and their referencing are defined.
  • the detailed structure of the CA system 900 and the way the payloads of ECMs and EMMs are encoded and used are provider specific. Also the smart card is provider specific. However, from experience it is known that many providers follow essentially the structure of the generalized view of Fig. 9.
  • the applied encryption and decryption algorithm is defined by the DVB standardization organization. In principle two encryption possibilities are defined namely PES level encryption and TS level encryption. However, in real life mainly the TS level encryption method is used. Encryption and decryption of the transport stream packets is done packet based. This means that the encryption and decryption algorithm is restarted every time a new transport stream packet is received. Therefore, packets can be encrypted or decrypted individually. In the transport stream, encrypted and plaintext packets are mixed because some stream parts are encrypted (e.g. audio/video) and others are not (e.g. tables). Even within one stream part (e.g. video) encrypted and plaintext packets may be mixed.
  • a DVB encrypted transport stream packet 1000 will be described.
  • the stream packet 1000 has a length 1001 of 188 Bytes and comprises three portions.
  • a packet header 1002 has a size 1003 of 4 Bytes.
  • an adaptation field 1004 may be included in the stream packet 1000. After that, a DVB encrypted packet payload 1005 may be sent.
  • Fig. 11 illustrates a detailed structure of the transport stream packet header 1002 of Fig. 10.
  • the transport stream packet header 1002 comprises a synchronization unit
  • SYNC transport error indicator
  • TEI transport error indicator
  • PUSI payload unit start indicator
  • PID packet identifier
  • SCB transport scrambling control
  • AFLD adaptation field control
  • CC continuity counter
  • Packet header 1002 is in plaintext. It serves to obtain important information such as a packet identifier (PID) number, presence of an adaptation field, scrambling control bits, etc.
  • PID packet identifier
  • - Adaptation field 1004 is also in plaintext. It can contain important timing information such as the PCR.
  • - DVB Encrypted Packet Payload 1005 contains the actual program content that may have been encrypted using the DVB algorithm.
  • SCB scrambling control bits
  • FIG. 12 shows the basic principle of trick-play on a fully encrypted stream.
  • data stored in a hard disk 1201 are provided as a transport stream 1202 to a decrypter 1203.
  • the hard disk 1201 provides a smart card 1204 with an ECM, wherein the smart card 1204 generates Control Words from this ECM and sends the same to the decrypter 1203.
  • the decrypter 1203 decrypts the encrypted transport stream 1202 and sends the decrypted data to an I-frame detector and filter 1205. From there, the data are provided to an insert empty P frame unit 1206 which conveys the data to a set top box 1207. From there, data are provided to a television 1208.
  • the recording must contain all the data required to playback the recording of the channel at a later stage.
  • the CAT/PMT may describe CA packets (ECMs) needed for decryption of the stream. Unless the recording is made in plaintext after decryption, those ECM packets have to be recorded as well.
  • Fig. 13 illustrates a full transport stream 1301.
  • NIT network information table
  • BAT bouquet association table
  • the partial stream should have SIT (selection information table) and DIT (discontinuity information table) tables inserted.
  • Jumping to the next block during trick-play can mean jumping back in the stream. It will be explained that this may not be only the case for trick-play reverse but also for trick-play forward at moderate speeds. The situation for forward trick-play with forward jumps and for reverse trick-play with inherently backward jumps will be explained afterwards.
  • a conditional access system may be designed for transmission. In normal play, the transmitted stream may be reconstructed with original timings. But trick-play may have severe implications for the handling of cryptographic metadata due to changed timings.
  • the data may be compressed or expanded in time due to trick-play, but the latency of the smart card may remain constant.
  • the mentioned data blocks may go through a decrypter. This decrypter needs the Control Words used in the encryption process to decrypt the data blocks. These Control Words may also be encrypted and stored in ECMs. In a normal set-top-box (STB), these ECMs may be part of the program tuned to.
  • a conditional access module may extract the ECMs, send them to a smart card, and, if the card has rights or an authorization to decrypt these ECMs, may receive the decrypted Control Words from it.
  • Control Words usually have a relatively short lifetime of, for instance, approximately 10 seconds.
  • the Scrambling Control Bit, SCB 1014, in the transport stream packet headers, may indicate this lifetime. If it changes, the next Control Word has to be used.
  • This SCB change or toggle is indicated in Fig. 14 by a vertical line and with a reference numeral 1402. Referring to Fig. 14, particularly two different scenarios or stream types may be distinguished:
  • Fig. 14 illustrates the two data streams 1400, 1401 comprising subsequently arranged periods or segments A, B, C denoted with reference numeral 1403.
  • each ECM comprises two Control Words, namely the Control Word relating to the current period or ECM, and additionally the Control Word of the subsequent period or ECM.
  • the Control Words there is some redundancy concerning the provision of the Control Words.
  • the conditional access module may only send the first unique ECM it finds to the smart card to reduce or minimize the traffic to the card, as it may have a fairly slow processor.
  • ECM A may be defined as being the ECM that is present during the major part of period A. It can be seen that, in that case, ECM A holds the CW for the current period A and for stream type I additionally for the next period B. In general, an ECM may hold at least the CW for the current period and might hold the CW for the next period. Due to zapping, this may probably be true for all or many providers.
  • the decrypter may contain two registers, one for the "odd” and one for the "even” CW. "Odd” and “even” does not have to mean that the values of the CWs themselves are odd or even. The terms are particularly used to distinguish between two subsequent CWs in the stream. Which CW has to be used for the decryption of a packet is indicated by the SCB 1014 in the packet header. So the CWs used to encrypt the stream are alternating between odd and even. In Fig. 14 this means that, for instance, CW A and CW C are odd, whereas CW B and CW D are even. After the decryption by the smart card, CWs may be written to the corresponding registers in the decrypter overwriting previous values, as indicated in Fig. 15.
  • Fig. 15 illustrates the two registers 1501, 1502 containing even CWs (register 1501) and containing odd CWs (register 1502). Further, smart card latency 1500, that is a time needed by the smart card to retrieve or decrypt a CW from an ECM, is illustrated in Fig. 15.
  • each ECM holds two CWs and as a result both registers 1501, 1502 may be overwritten after the decryption of the ECM.
  • One of the registers 1501, 1502 is active and the other is inactive. Which one is active depends on the SCB 1014. In the example, the SCB 1014 will indicate during period B that the even register 1501 is the active one. The active register may only be overwritten with a CW identical to the one it already holds because it is still needed for decryption of the remainder of that particular period. Therefore, only the inactive register may be overwritten with a new value. Taking a closer look at period B in trick-play. Assuming that an ECM is sent to the smart card at the start of this period so at the moment the SCB toggle 1402 is crossed. The question is what ECM could then be sent to the smart card?
  • This ECM should hold CW C to ensure a timely decryption by the smart card for usage at the start of period C.
  • Fig. 14 it can be seen that for stream type I this means sending ECM B and for stream type II ECM C at the start of period B.
  • the current ECM can be sent in case it holds two CWs, and one period in advance if it holds only one CW. Sending an ECM one period in advance may be contradictory though to the embedded ECMs, so the latter have to be removed from the stream in that case.
  • the original ECMs are always removed from the stream by the trick-play generation circuitry or software. However, this cannot always be true.
  • Fig. 16 shows ECM handling in a fast forward mode.
  • a plurality of data blocks 1600 are reproduced, wherein a switching 1601 occurs between different data blocks.
  • an ECM B is sent at a border between periods A and B.
  • an ECM C is sent at a border between period A and period B.
  • an ECM C is sent at a border between period B and period C.
  • an ECM D is sent at a border between period B and period C.
  • the ECMs may be stored in a separate file. In this file it may also be indicated to which period an ECM belongs (which part of the recorded stream).
  • the packets in the MPEG stream file may be numbered. The number of the first packet of a period (SCB toggle 1402) may be stored alongside with the ECM for this same period 1403.
  • the ECM file may be generated during recording of the stream.
  • the ECM file is a file that may be created during the recording.
  • the stream In the stream,
  • ECM packets may be located which may contain the Control Words needed to decrypt the video data. Every ECM may be used for a certain period, for instance 10 seconds, and may be transmitted (repeated) several times during this period (for instance 100 times).
  • the ECM file may contain every first new ECM of such a period.
  • the ECM data may be written into this file, and may be accompanied by some metadata. First of all, a serial number (counting up from 1) may be given.
  • the ECM file may contain the position of the SCB toggle. This may denote the first packet that can use this ECM to correctly decrypt its content. Then the position in time of this SCB toggle may follow as the third field. These three fields may be followed by the ECM packet data itself of which only the first bytes are depicted in Fig. 4b. The differences between the ECMs are further down the payload and not visible here.
  • the position of a PES header may be easily detected because a PLUSI bit in the plaintext header of the packet may indicate its presence. If correct PES headers are only found during the first period (after the latency of the smartcard), the ECM contains one CW. If they are also found during the second period, it contains two CWs.
  • Fig. 17 illustrates a situation for one CW detection and for two CW detection. As can be seen, different periods 1403 of encrypted content 1700 are provided. With a smartcard latency 1500, an ECM A may be decrypted to generate corresponding CWs. By decrypting the encrypted content 1700, decrypted content 1701 may be generated. Further shown in Fig. 17 are PES headers 1702, namely a PES header A in period A (left) and a PES header B in period B (right).
  • the area 1703 of period B for one CW in Fig. 17 indicates that the data is decrypted with the wrong key and therefore scrambled. This checking could be done while recording, in which case it will take for instance 20 to 30 seconds. It could also be done offline and, because only two packets indicated by the PLUSIs (one in each period) would have to be checked, it could be very quick. In the unlikely event that adequate PES headers are not available, the picture headers could be used instead. In fact, any known information may be useable for detection. Again, a one/two CW indication may be stored in the ECM file. In the following, some aspects related to dealing with slow-forward streams in particular will be described.
  • the slow-forward stream should be encrypted if the normal play stream is encrypted. Since a DVB encryptor is not permissible in a consumer device this can only be realized if the slow- forward stream is constructed on transport stream level using the encrypted data packets from the originally transmitted encrypted data stream.
  • this packet 1800 So first it is necessary for this packet 1800 to be split up into two packets 1803 1804, the first one 1803 containing the data from the first frame 1801 in the original packet 1800 and the second one 1804 containing the data from the next frame 1802.
  • Each of the two packets 1803 1804 resulting from the splitting has to be stuffed, for instance, with an adaptation field AF 1805 and 1806.
  • the splitting of packets is clearly no problem for a plaintext stream.
  • a first option would be to fully decrypt the normal play data as is depicted in Fig. 19.
  • the decryption in slow- forward mode of a stored fully encrypted stream or a stored hybrid stream is no problem because no stream data is skipped or duplicated in the stream to the decrypter.
  • the complete stored stream is simply fed at a lower than normal rate through the decrypter, which also means that there would be no problems with the embedded ECMs.
  • the plaintext stream coming from the decrypter can then be used to split the packets or in fact to perform any necessary stream manipulation. But the resulting slow- forward stream is, of course, always a plaintext stream in this case.
  • an encrypted slow- forward stream from an encrypted normal play stream has to be performed on transport stream level because the use of a DVB encrypter in consumer devices may not be allowed.
  • a hybrid stream as shown in Fig. 20, with only a few plaintext packets 2001 on all frame boundaries is preferable.
  • the other plaintext packets 2000 and encrypted packets 2002 are left unmodified.
  • Such a stream could be generated on the playback side of the storage device if the stored stream is fully encrypted.
  • the decrypter in Fig. 19 is a selective type that only decrypts the necessary packets. But preferably the stream is already stored on a storage device 2100, for example, a hard disk drive as a hybrid stream which may be sent to a decryptor 2101 as is indicated in Fig. 21.
  • the plaintext packets in the hybrid stream should now also allow for the splitting of packets containing data from two frames.
  • some part of the sequence header code or picture start code can still be located in an encrypted packet. In this case an ideal splitting is not possible.
  • the split is made between the encrypted and plaintext packet.
  • other types of concatenation have to be considered than the concatenation of empty P frames to I frames, for example, the concatenation of B-frames to B-frames. This asks for a gluing algorithm at these frame boundaries as is clarified in Fig. 22.
  • the empty frames used to force the repetition of pictures resulting from I- or P-frames can be of the interlace kill type thus reducing interlace artifacts for these pictures. But such a reduction is not possible for pictures resulting from the B-frames because the repetition is not forced by an empty frame but by a repetition of the B-frame data itself. So the B-frames will always have the original interlace effects. If interlace kill would be used for the I- and P-frames this might look inconsistent because pictures with and without interlace effects are sequentially present in the stream of displayed pictures. Alternatively, it is better to only use empty frames without interlace kill to construct the slow- forward stream.
  • Fig. 23 depicts the effect of reordering in normal play.
  • the top line 2300 shows a normal play transmission stream with a GOP size of 12 frames consisting of I- 2302, P- 2304 and B-frames 2303. The first four frames of the next transmission GOP are also shown here for clarity.
  • the bottom line 2301 shows the stream after reordering to the display order.
  • the index indicates the display frame order. According to pages 24 and 25 of the MPEG-2 standard, ISO/IEC 13818-1 : 1995(E), the reordering is performed as follows: • B-frames keep their original position;
  • Anchor frames are shifted to the position of the next anchor frame.
  • the top line 2400 in Fig. 24 shows the transmission order of the first part of the slow-motion stream for this case, assuming a slow motion factor of 3.
  • Empty P-frames 2404 are inserted after the I-frames 2403 and P-frames 2405, and the B- frames 2406 are repeated.
  • the middle line 2401 shows the effect of the reordering.
  • the bottom line 2402 shows how the I-frames 2403 are repeated 2407 and 2408 by the empty P- frames 2404 in this case. The same repetition occurs for the P-frames 2405.
  • An empty P- frame 2404 results in a displayed picture that is a copy of the picture resulting from the previous anchor frame, which itself could also be an empty P-frame. It is clearly visible that the normal display order indicated by the index is disturbed because the display of frame 14 is split up into two parts. Only the last time frame 14 2408 is displayed it is in the correct position. This also means that all the B-frames are decoded erroneously. Therefore this is not the correct way to generate a slow- forward trick-play stream. In fact there are several possibilities to solve this problem. A first one is shown in Fig. 25. Here the empty P-frames 2404 are inserted before the anchor frames 2403 and 2405 in the transmitted stream extracted from the storage device as is shown in the top line 2500. In the reordered stream, shown in the middle line 2501, the empty P-frames 2404 are now after the anchor frames 2403 and 2405. This is where they should be for a correct repetition of the anchor frames as is clear from the bottom line 2502.
  • P-frames depend on the previous anchor frame and B-frames depend on the surrounding anchor frames.
  • a data error during the transfer to the STB results in decoding errors and therefore disturbances in the picture. If this error is in an anchor frame it propagates until the end of the GOP because subsequent P- frames depend on this anchor frame.
  • the B-frames are affected because they use the pictures from the disturbed surrounding anchor frames for their decoding. So the picture disturbances gradually increase towards the end of the GOP. This is especially important for slow- forward where the GOP size can be very large and therefore very long in time.
  • B-frames can be constructed. They have the advantage that no additional error propagation is introduced and that interlace kill can be used.
  • the most important types of empty B-frames for our discussion are the forward and backward predictive empty B-frames. We will call them respectively Bf- and Bb-frames. The terms forward and backward predictive might be confusing to the reader.
  • Bf- and Bb-frames we will call them respectively Bf- and Bb-frames.
  • the terms forward and backward predictive might be confusing to the reader.
  • a B-frame is normally bi-directionally predictive, but unidirectional predictive B- frames can also exist. In the latter case they can be forward or backward predictive.
  • Forward predictive means that an anchor frame is used to predict the following B-frames during encoding. So the picture resulting from a forward predictive B-frame is reconstructed during decoding from the previous anchor frame.
  • Bf-frame forces the repetition of the previous anchor frame. Therefore it has the same effect as an empty P or Pe-frame. It will be clear that the Bb-frame has the opposite effect. It forces the display of the anchor frame following it.
  • an interlace kill version also exists.
  • Empty B-frames can be used for the construction of a slow- forward stream.
  • the first possibility on the basis of Bb-frames is depicted in Fig. 26.
  • the Bb-frames 2603 are inserted before the anchor frames 2403 2405 in the transmitted stream, as shown in the top line 2600 and keep their position during the reordering as shown in the middle line 2601.
  • the anchor frames 2403 2405 are shifted to the position of the next anchor frame as is also shown in the middle line 2601.
  • the Bb-frame 2603 forces the display of the anchor frame following it in the reordered stream as shown in the bottom line 2602.
  • Bf- frames as depicted in Fig. 27. They are inserted after the anchor frames 2403 2405 in the transmission stream as shown in the top line 2700. The reordered stream is shown in the middle line 2701. The repeated display, as shown in the bottom line 2702, of the anchor frames 2403 2405 in the reordered stream is forced by the Bf- frames 2703 that follow them.
  • Bf- frames 2703 is very similar to the use of empty P-frames 2404 for the construction of fast-forward and fast-reverse streams.
  • the use of Bf- frames 2703 is also possible in that case thus using common measures for trick-play generation which is a further benefit.
  • the first point is that measures are taken to enforce the repetition of the frames. This means that the slow- forward stream is not just a stretched normal play stream, but that additional data is added.
  • the repetition of the anchor frames is realized by the insertion of empty frames. These do not contain any ECMs and therefore the normal processing order is not disturbed. So the original ECMs can still be used in this case.
  • the repetition of the B-frames is enforced by the repetition of the B-frame data. These may contain ECMs and the normal ECM order is disturbed if a toggle of the table ID 2802 and 2803 is present within the B-frame as is depicted in Fig. 28 at point 2800.
  • a repetition of such a B-frame leads to a high rate of ECMs being to the smart card.
  • decryption messages with the same toggle ID are filtered to reduce the rate at which decryption messages are sent to the smart card.
  • a toggle in the table ID is used to filter decryption messages.
  • a table ID toggle is found at the start 2801 of the repeated B-frames and at the original toggle location 2800 somewhere along these frames. The high rate of ECMs can cause the decryption system to become overloaded and fail since the rate of different ECMs being sent to the decrypter is higher than in the encrypted data stream in its original form.
  • the output of a further advantageous embodiment is illustrated.
  • the original ECMs 3003 are only repeated in the repeated B frames 3000 and 3001 up to the table ID toggle 2800, i.e. pre-toggle original ECMs 3004 are kept and the post-toggle ECMs after the table ID toggle 2800 are removed 3005 in a filtering process.
  • the final repeated B frame 3002 all original ECMs are inserted, including the post-toggle ECMs 3006 after the table ID toggle 2008. This is advantageous to increase the speed of response of the system after channel changing, or zapping.
  • the inverse process can be applied for situations when the first B-frame of a repeated sequence comprises all ECMs, however, then the following repeated B-frames would then have the pre-toggle ECMs 3004 removed and only comprise the post-toggle ECMs 3006.
  • Fig. 31 shows a device 3100 capable of performing the required processing on the encrypted data stream 3107 to solve the problems mentioned above.
  • a repeated portion detection unit 3101 detects the ECMs contained within the encrypted data stream that have been modified from their original form 3106 by a trick-play generator 3105. Such a modification may be performed to generate, for example, a slow- forward trick-play stream by replicating B-frame data and the ECMs corresponding to the positions in time of the replicated B-frame data.
  • the detected ECMs are communicated to a selection unit 3102 which identifies at least one of the ECMs as have being repeated subsequent to the creation of the original encrypted data stream 3106 transmitted by the original content provider, i.e.
  • the selection unit 3102 may comprise an input 3104 for identifying sections of the encrypted data stream that have been repeated. This input is preferably connected directly to a trick- play generator 3105 that inserts the repeated sections into the encrypted data stream. The selection unit 3102 then selects encryption messages or ECMs to be deleted. A deletion unit 3103 deletes the selected encryption messages from the encrypted data stream.
  • the device 3100 may also contain repetition detection unit 3200.
  • the repetition detection unit 3200 is capable of analyzing the incoming encrypted data stream and identifying sections of the stream that have been repeated at a time later than the creation of the original encrypted data stream.
  • the repetition detection unit 3200 may comprise a decrypter as known to the skilled person to completely decrypt the incoming data stream and analyze it for repeated frames and a comparator also known from the prior art to perform such an analysis on the decrypted data stream.
  • the repetition detection unit 3200 may comprise a simple table ID toggle detector that monitors the table ID in the incoming data stream and generates a toggle signal when the table ID changes.
  • the device 3100 may also contain an analyzer unit 3300.
  • the analyzer unit 3300 may be connected to the repeated portion detection unit 3101 and be capable of receiving information 3301 about the characteristics of the encryption messages, or ECMs, contained within the encrypted data stream. Exemplary forms for such characteristics are the toggles of the table IDs comprised within the encrypted data stream. It has been found preferable to use the timing characteristics of the ECMs as a suitable characteristic to analyze.
  • the analyzer unit 3300 can then use timing characteristics resulting from the detected ECMs to identify portions of the encrypted data stream that have been repeated since the creation of the encrypted data stream in its original form.
  • Such a device like that of Fig.
  • Fig. 32 does not require explicit information to be given to the selection unit and therefore the devices of Fig. 32 and Fig. 33 can operate independently of the trick- play unit 3105.
  • the information on repeated sections contained within the encrypted data stream is then passed on to the selection unit 3102 via the input 3104 for receiving information on repeated sections of the encrypted data stream.
  • This method will also solve the high ECM rate problem for a stream with only one Control Word per ECM.
  • the Control Word problem is a little bit different though. There is no risk that the Control Word needed to decrypt the first part of a repeated B-frame will be destroyed. But a special effect occurs if the table ID toggle and SCB toggle are in one and the same B-frame. In practice this is not to be expected to occur frequently because the distance between these two is often larger than the GOP size due to the latency of the smart card. So the method given earlier for two Control Words per ECM will generally also work for systems with one Control Word per ECM. But the case that the toggles of table ID and SCB are in one and the same B-frame will be considered anyway for the less frequent occurrences.
  • Fig. 34 depicts this infrequent situation.
  • the single Control Word 3400 resulting from the ECM with a toggled table ID 3403 is necessary to decrypt the part of the B-frame 3402 after the SCB toggle 3401. So if only the last frame 3404 of a series of identical B-frames contains ECMs 3003, the last part of the earlier B-frames 3405 of the series cannot be decrypted correctly.
  • Another point that deviates from a simply stretched normal play stream is the data rate.
  • the average data rate of the slow- forward stream is certainly lower than for the normal play stream, this is not the case for the data rate of compressed frames.
  • Compressed frames can result from the repetition of the B-frame data.
  • a B-frame was detected of 1.4 frame times. This measurement is depicted in Fig. 36.
  • the average B-frame data length equals 0.6 frames, but regularly the duration of the B-frame data is larger than one frame time.
  • the DTS of this previous frame can never be earlier than the end of the data of this frame and therefore never before the start of the data of the current frame.
  • the DTS of an arbitrary frame is at least one frame time later than the start of the data for this frame.
  • the DTS is always after the end of the frame data, even if this data is evenly distributed in one frame time. So the described equal packet distribution should be applied to all B- frames except the last repeated one.
  • a compressed as well as expanded frame will both be named a compressed frame in the remainder of this specification.
  • Gluing is only necessary between the B-frames of an identical series of B- frames. So a possible additional gluing packet will only be added to the end of a compressed B-frame and never anywhere else. An additional PCR packet is added to the end of the B- frames except to the end of the last repeated B-frame because there is no room at this point. This again means that the additional PCRs are only added at the end of compressed B-frames. So no special placement algorithm is necessary for these packets because they are all included in the compression algorithm.
  • Still picture mode is a trick-play mode where we deal with the freezing of a picture on the display screen.
  • the user would like the picture on the screen to be frozen at the moment he pushes the still picture button. This is easily accomplished in a box that also contains the decoder. At that moment the decoding is stopped and the picture in the active picture memory is repeated indefinitely.
  • a more complicated aspect is in dealing with a remote decoder connected to a trick-play engine via a digital interface with a standardized signal, such as MPEG, for example.
  • the storage device 2100 and decoder 2101 are in separate boxes connected by a digital interface, and that the still picture function is part of the storage device. In this case we cannot prevent the display of pictures that have already been sent to the decoder 2101 but were not yet displayed. At the moment the still picture button is pressed, the current picture on the screen will not be frozen but some future picture. This introduces a visible latency between the action, i.e. the pushing of the button, and the reaction, i.e. the freezing of the picture. The amount of latency depends on the delay of the presentation, as indicated by the PTS, with respect to the transmission of the corresponding frame data.
  • the presentation moment indicated by the PTS is not necessarily the real moment of presentation.
  • the DTS and PTS of a B-frame are identical. This would imply a zero decoding time because a picture cannot be displayed, i.e. presented, before it is decoded.
  • the MPEG-2 standard in fact, assumes that the decoder/renderer compensates for the decoding time it needs, thus introducing an additional delay on presentation.
  • the distance of the DTS to the frame data is given by the original broadcast and is not altered for the slow-forward stream constructed.
  • the PTS and DTS are identical for B-frames. So for these frames the reaction time is identical when switching to still picture from normal play or slow-forward. But the distance measured in original frames is, in fact, reduced by the slow motion factor. This means that the still picture is closer to the actual displayed picture for larger slow motion factors.
  • the distance of the PTS/DTS with respect to the start of the B-frame data is relatively small. Measurements indicate, however, that the distance to be roughly 10 frame times of 40 ms in a measurement on ZDF, as shown in Fig. 38.
  • the delay of 10 frame times combined with an expected decoding time of less than one frame time results in an expected reaction time better than half a second.
  • the displayed picture is frozen for slow motion factors above ten times and that the fourth original picture after the displayed picture is frozen for a slow motion factor of three times.
  • Fig. 40 another problem originates from the ECM processing and has been elucidated somewhat upon earlier in the discussion of slow- forward processing an encrypted data stream. More specifically, the presence of a table ID toggle 2800 within a B-frame may lead to an incorrect decryption of repeated B-frames for a stream type I. It has been disclosed that omitting the ECMs from all B-frames except the last repeated one might solve this problem. But at least part of the ECMs in the current B-frame has already been transmitted if this frame contains ECMs. This may be the case for all of the B-frames in an encrypted normal play stream and for the last repeated B-frame in an encrypted slow- forward stream.
  • a first solution would be that the stop must be postponed to the next frame because a stop cannot be made on such a B-frame containing ECMs, if no further information about the ECMs is known. However, further improvements upon this can be made, since this is not always true.
  • the stop can still be made on the current B-frame if it does not contain a table ID toggle 2800, which is the case for most of the B-frames in an encrypted stream. In this case there is also no need to omit the ECMs from the repeated current B-frame.
  • Fig. 40 shows a stop on the last repeated B-frame 4000 of a slow- forward stream.
  • a table ID toggle 2800 within the B-frame data is easily detected by a comparison of the table ID value of the first ECM 4001 and last ECM 4002 within the B-frame data 4000. If they are identical, or no ECMs are present, there is no table ID toggle within this B- frame and the stop can be made on it, leading to a faster switch to still mode for the user.
  • a third problem is related to the temporal reference and PTS of the previous anchor frame. These values depend on the number of B-frames that follow the anchor frame. This number of B-frames is changed in still picture mode to some undefined large value. But the temporal reference and PTS of the previous anchor frame cannot be changed because they have already been transmitted.
  • the STB uses the PTS to determine the moment of presentation. At the moment the PTS of the anchor frame is reached this frame will be displayed despite the fact that a B-frame with the same PTS is also available. The philosophy being that in case of a conflict in the PTS the oldest frame will be used. It is expected that the B-frame with conflicting PTS will be skipped to avoid buffer problems.
  • the anchor frame is not flushed but kept in memory until a next anchor frame is received, leading to a correct decoding of the subsequent B-frames.
  • the result on the display screen is a frozen B- frame but with a flash of an anchor frame at a short time after the still picture mode was entered.
  • the STB uses the PTS to determine the moment of presentation. At the moment the PTS of the anchor frame is reached the STB will display the B-frame with the identical PTS because this is the most recent frame.
  • the anchor frame is not displayed but kept in memory until a next anchor frame is received, thus enabling a correct decoding of the subsequent B-frames.
  • the result on the screen is a frozen B-frame as it was intended.
  • the STB does not use the PTS for presentation at all. It just displays the frames in sequence after reordering to the display order. This means that the B-frames are displayed one after the other and that an anchor frame is displayed when the next anchor frame is encountered in the transmitted sequence.
  • the frame display grid has a constant delay with respect to the DTS of the B-frames. Also here the result on the screen is a frozen B- frame as it was intended.
  • a picture resulting from an original anchor frame is frozen on the display screen.
  • a picture resulting from an original anchor frame is frozen on the display screen.
  • the switching command 3900 is received during the transmission of an anchor frame 4103 as is depicted in Fig. 43.
  • the previous anchor frame 4306 will be displayed.
  • this frame is frozen on the screen. This can only be realized by the transmission of Bf-frames 2703 after the current anchor frame 4103.
  • the switching command 3900 is received during a pre-inserted Pe-frame 2404.
  • additional Pe-frames 4403 will be inserted after the current Pe-frame 2404, as shown in Fig. 44.
  • the switching command 3900 is received during a pre-inserted Bb-frame
  • the switching command 3900 is received during a post-inserted Bf- frame 2703, as shown in Fig. 46.
  • This frame forces the display of the anchor frame 4606 previous to the anchor frame directly in front of the Bf- frames, i.e. anchor frame A n-1 .
  • This picture should then be frozen. This can only be achieved by the continued transmission of Bf- frames 2703.
  • the conflict at display position 4605 in the displayed picture line 4602 is now evident and the consequences are either accepted or alternatively the switch is delayed to the start of the next anchor frame.
  • Case A Case A is shown in Fig. 47, which is a combination of Fig. 43 and Fig. 46.
  • the switching command 3900 is received during an anchor frame or the subsequent Bf- frames in switching period 4703.
  • the Bf- frames 2703 are then extended to an indefinite series.
  • a conflict will occur between the PTS of the anchor frame and the PTS of Bf- frame 4704 at reordered location 4705 and displayed picture location 4706.
  • the other frames 4306 will be displayed correctly.
  • Case B is shown in Fig. 48, which is a combination of Fig. 44 and Fig. 45.
  • the switching command 3900 is received during a switching period 4803 of pre-inserted empty frames 4804, of Bb or Pe type. In this case the transmission of the slow- forward stream is continued until the start of the next anchor frame 4503. From this point onwards an indefinite series of Pe-frames 4403 is transmitted. A conflict in the PTS is avoided in this way and the correct still picture frames 4306 are displayed.
  • Fig. 49a Preferably the previous anchor frame is now displayed 4306 and frozen on the screen. This is accomplished by the transmission of an indefinite series of either Bb- frames 2603 or Pe-frames 2404 as the repeated frames 4403 (in Fig. 49a the Pe-frames 2404 version is shown) from the switching moment onwards, irrespective of the empty frame type used to construct the slow- forward stream. Since the use of Bb-frames 2603 would lead to a PTS conflict it may be preferable to make use of Pe-frames 2404, i.e. as shown in Fig. 49a. Completing a discussion on the generation of a still picture stream would not be complete without also discussing the transition from the still picture mode back to normal play mode or a further trick-play mode, such as slow-forward mode, for example. This will now be discussed.
  • the transmitted stream consists of an indefinite series of frames, which can be of the following types: l. B-frames;
  • the slow-forward processing with a slow motion factor of infinity may be used to calculate the temporal reference, DTS/PTS and placement of the packets and frames. This processing may then be continued with the new slow motion factor from this next frame onwards. In case 3 this will result in a flawless transition from still picture to slow- forward. But in cases 1 and 2 there exists a problem with the display of the picture resulting from the previous anchor frame that should follow the pictures resulting from the series of B-frames. This is because the PTS of this anchor frame is somewhere way in the past. It cannot be predicted how a Set Top Box will react to this conflicting situation, but it is possible that the picture resulting from this anchor frame is still displayed at the correct moment in the sequence of pictures.
  • the empty frames in the slow-forward stream may again be of the normally used type, here normally should be interpreted as, as disclosed in this specification.
  • case 3 which can result from a switch to still picture at the start of an anchor frame, this means that the Pe-frames are followed by an anchor frame and then for instance by a series of Bf- frames.
  • Fig. 50a through Fig. 5Oh present some examples of situations that may occur and present situations for which the present invention provides a single general inventive concept. For example, in Fig.
  • the last repeated B-frame 5000 does not contain any ECMs 3003 and therefore also no table ID toggle 2800.
  • the preferred solution may be to switch directly to still picture mode since the user will see a still picture of the frame being displayed when the switch to still picture mode 3900 was made.
  • the current frame repeated may then be the last repeated B-frame 5000 and is shown in stream 5003.
  • an equally compliant stream can be provided by postponing the actual switch to still picture mode from the detection of the switch to still picture mode 3900 to the start of the next frame 5001, i.e.
  • the still picture mode will consist of a sequence of next frames 5001 as shown in stream 5004. Since no portion of the next frame 5001 has yet been transmitted the encrypted data stream can be processed based on the presence, absence or content of ECMs in the next frame. Elements of the devices shown in Fig. 31, Fig. 32 and Fig. 33 would be suitable for correctly processing such a stream and correcting any problems that may result from the repeated B-frame data of the next frame 5001. By taking such measures a further postponement of the actual initiation of still picture mode may not then be necessary.
  • Fig. 50b a situation is shown wherein the switch to still picture mode 3900 is received during the processing or transmission of a frame 5010 comprising ECMs 3003.
  • the ECMs comprised within the last repeated B-frame 5010 have to be detected.
  • the situation denoted in Fig. 50b is one where no table ID toggle 2800 is comprised within the repeated B-frame data 5010.
  • the fail-safe option is to postpone the actual switch to still picture mode from the detection of the switch to still picture mode 3900 to the start of the next frame 5001, i.e. to location 5002, whereby the still picture mode will consist of a sequence of next frames 5001 as shown in stream 5012.
  • the preferable option is to immediately perform the switch to still picture mode, as shown in stream 5011.
  • the switch By detecting the lack of a table ID toggle 2800 in the last repeated B-frame 5010 we may still safely perform the switch immediately and achieve higher positional accuracy with respect to the response to the users desired still picture command.
  • Fig. 50c a situation is shown wherein the switch to still picture mode 3900 is received during the processing or transmission of a frame 5020 comprising ECMs 3003 and a table ID toggle 2800.
  • the ECMs 3003 and the table ID toggle 2800 comprised within the last repeated B-frame 5020 have to be detected.
  • Upon detection of ECMs 3003 and a table ID toggle 2800 in the last repeated B-frame 5020 it is no longer possible to make an immediate switch to still picture mode, if no further information is known. If this were to be done, then stream 5021 would be the result.
  • the preferred option may be to postpone the actual switch to still picture mode from the detection of the switch to still picture mode 3900 to the start of the next frame 5001, i.e. to location 5002, whereby the still picture mode will consist of a sequence of next frames 5001 as shown in stream 5022. Since no portion of the next frame 5001 has yet been transmitted the encrypted data stream may be processed based only on the presence, absence or content of ECMs in the next frame and may be processed with devices, or elements thereof, as shown in Fig. 31, Fig. 32 and Fig. 33. A further postponement of the actual initiation of still picture mode may again then not be necessary.
  • Fig. 50c can be further elaborated upon and indeed further improved upon with respect to the goal of responding as quickly as possible to the user switching command.
  • Fig. 5Od the situation is presented whereby the switch to still picture mode 3900 is received subsequently to the transmission or processing of a table ID toggle 2800 in the ECMs 3003.
  • a switch can still be performed if the ECMs may be filtered based upon the respective table ID toggle 2800, such that no further unwanted table ID toggle 2800 occurs in the subsequently repeated current frames 5032.
  • the required filtering is shown in stream 5031.
  • each repeated current B-frame 5032 has the ECMs 3003 occurring prior to the table ID toggle 2800 selectively identified and deleted.
  • an increase in the rate of ECMs 3003 processed by the smart-card is avoided because the rate of toggling of the table ID parameter is kept to a level approximately the same as the original encrypted data stream.
  • Elements of the devices of Fig. 31, Fig. 32 and Fig. 33 would be suitable for this purpose.
  • This scenario is especially suited for type II encryption systems comprising one control word per ECM. For a type I system postponement of the switch to still picture is the correct option.
  • FIG. 5Oe A further scenario is shown in Fig. 5Oe.
  • the switch to still picture mode 3900 is received prior to a table ID toggle 2800 in the ECMs 3003 of the last repeated B- frame 5020.
  • a switch can, again, still be performed if the ECMs may be filtered based upon the respective table ID toggle 2800, such that no further unwanted table ID toggle 2800 occurs in the subsequent repeated current frames 5040.
  • the required filtering is shown in stream 5041.
  • each repeated current B- frame 5040 has the ECMs 3003 after the table ID toggle 2800 removed.
  • an increase in the rate of ECMs 3003 processed by the smart-card is again avoided by removing the table ID toggles 2800.
  • Fig. 5Og the same scenario as for Fig. 5Oe is valid, i.e. the switch to still picture mode 3900 is received prior to a table ID toggle 2800 in the ECMs 3003 of the last repeated B-frame 5020.
  • a switch can, again, still be performed if all of the ECMs may be filtered from the switch to still picture mode 3900, as shown in the partial current frame 5060 and all of the ECMs are also filtered from each repeated current frame 5061 including the last repeated current frame 5062, i.e. all ECMs after the switch are filtered.
  • a switch can, again, still be performed if all of the ECMs may be filtered from the switch to still picture mode 3900, as shown in the partial current frame 5060 and all of the ECMs are also filtered from each repeated current frame 5061.
  • the last repeated current frame 5050 is treated as a special case and contains all ECMs of the original current frame 5020.
  • an increase in the rate of ECMs 3003 processed by the smart-card is again avoided by removing the table ID toggles 2800.
  • a data processing device 5100 for processing an MPEG2 data stream including video content (alternatively audio content) according to an exemplary embodiment of the invention will be described.
  • the processing device 5100 provides an embodiment of the invention that fulfills the general inventive concept of the present invention.
  • Account is taken of decryption messages, i.e. ECMs, present in the encrypted stream to take optimal decisions based upon the amount of information known with respect to the ECMs to provide a processed encrypted data stream that is a compliant as possible with conditional access systems in common use.
  • Fig. 51 shows a hard disk drive 5101 on which encrypted audiovisual content, i.e. an encrypted data stream 5110, to be reproduced is stored.
  • the encrypted data stream 5110 can be received directly from a digital satellite, a digital cable signal, a Set Top Box, a digital terrestrial television broadcast or from the Internet using Internet Protocol broadcasting. More examples of suitable sources of audio/video streams are also possible.
  • the processing device 5100 may be controlled by a control unit like a central processing unit (CPU) or control unit 5102 which, in turn, can be controlled by a human user by means of a user interface 5103.
  • a human user may control the operation of the processing device 5100, for instance, a user may initiate a normal play mode or a trick-play operation mode like a slow- forward mode, still picture mode or step picture mode.
  • a still picture mode signal 3900 may be detected.
  • the still picture mode signal 3900 may be communicated to a detection unit 5104 and/or a replication unit 5105 directly or via the control unit 5102 (not shown in Fig. 51).
  • audiovisual content in an encrypted form may be sent from the hard disk drive 5101 to the detection unit 5104, which is capable of detecting the ECMs 3003 comprised within the encrypted data stream 5110.
  • the detection unit 5104 may pass the encrypted data stream 5110 available at its input on to the replication unit 5105 for further processing.
  • the detection unit 5104 may provide the replication unit 5105 with a signal 5111 indicating that the replication unit 5105 should begin immediately with a transition to still picture mode, as an example, or should postpone the transition to still picture mode until the next frame comprised within the encrypted data stream 5110. A postponement of the replication to the next frame, i.e.
  • a subsequent frame may imply that the current frame wherein the transition to still picture mode signal 3900 was received is passed through the replication unit 5105 without replication. It should be apparent that the replication unit 5105 performs replication of the still picture mode frames, however, the exact frame replicated is a result of what the detection unit 5104 actually detects.
  • the signal 5111 could also be communicated via the control unit 5102 (not shown in Fig. 51), which also links the detection unit 5104 indirectly to the replication unit 5105 via the common system bus 5113. To provide the signal 5111 the detection unit 5104 must decide on what action is necessary. In an exemplary embodiment the detection unit 5104 may make the decision based upon whether any ECMs 3003 are detected at all within the B-frame data 5000 (or 5010) to be repeated.
  • the replication unit 5105 may replicate portions, which may be whole or split frames in the encrypted data stream 5110, a number of times in accordance with a predetermined replication rate, for example for slow forward or still picture mode, which may be defined or determined by the control unit 5102 and/or by a user operating the user interface 5103.
  • a processed encrypted data stream 5112 may then be supplied to a reproduction unit 5106.
  • the reproduction unit 5106 may further comprise a monitor having loudspeakers, a television, a set top box, etc, wherein reproduction of this content is possible under control of the control unit 5102 and/or under control of the user via the user interface 5103.
  • a further decryption unit (not shown) is foreseen within the reproduction unit 5106 so as to decrypt the processed encrypted data stream 5112 for playback.
  • the detection unit 5104 may be adapted to process individual frames of the encrypted data stream 5110, which may be intra-coded frames (I-frames), forward predictive frames (P-frames) or bi-directional predictive frames (B-frames).
  • the processed content may be a data stream of video data and/or audio data.
  • the reproduction unit 5106 may be capable of reproducing the data stream connected to the replication unit 5105.
  • the encrypted data stream 5110 may be an encrypted MPEG2 data stream.
  • ECMs 3003 are, in fact, related to a cryptographic period 1403 which may encompass multiple frames, it is the relationship of these cryptographic periods 1403 with the frame periods that makes trick-play on encrypted data streams such a complex topic.
  • control unit 5102 may be under control of a human user operating a user input/output interface 5103, for example, by using a user interface (UI) which may include a display, input means like remote control, a keypad, a joystick, a trackball, or the like and may allow a user to specify a mode according to which she or he wishes to reproduce audio/video content stored on the hard disk drive 5101. For instance, the user may adjust, via the user input/output unit 5103, parameters like playback speed, a trick- play reproduction mode, equalization, etc.
  • UI user interface
  • the detection unit 5104 is preferably adapted to also detect a toggle in the table ID parameter of the encrypted data stream, such table ID toggles 2800, indicate where one set of encryption messages transition to a second set of encryption messages.
  • a set of encryption messages may be taken to mean a set of encryption messages that relate to the same set of keys in a conditional access system.
  • Such transitions have consequences for correct processing of the encryption messages by the smartcard in the conditional access system. This measure is particularly useful since it provides further information to decide upon whether the switch to still picture mode 3900 can be safely initiated immediately or whether it must be postponed to a following frame, as described earlier with reference to Fig. 50b and Fig. 50c.
  • table ID toggles 2800 and the user initiated switch to still picture mode 3900 it is possible to make further optimal decisions about whether the switch to still picture mode should be immediately initiated or postponed.
  • Such situations require the relative times, or the relative positions in the stream of the relevant events and have been described earlier with respect to Fig. 5Od, Fig. 5Oe, Fig. 5Of, Fig. 5Og and Fig. 5Oh.
  • a device 5200 which can selectively filter ECMs 3003 which would cause a decryption system to become overloaded due to a high rate of essentially different ECMs 3003, for example, resulting after an increase in the rate of table ID toggles 2800.
  • the device 5200 provides an embodiment that can process an encrypted data stream comprising repeated portions repeated by the replication unit 5105, i.e. repeated B-frame data, into a processed encrypted data stream with a rate of change of decrypting messages that is substantially equivalent to that of the encrypted data stream in its original from, i.e. when originally broadcast, transmitted or delivered via another suitable means, such as on a data storage carrier, like an optical drive, for example.
  • the replication unit 5105 may provide a replication signal 5203 to an input 3104 of selection unit 3102 indicating portions of the encrypted data stream that have been repeated with respect to the original form of the encrypted data stream 5110.
  • the selection unit 3102 was described in details earlier in this specification in the text related to Fig. 31.
  • the detection unit 5104 detects ECMs, as described above, and may communicate the detected ECMs to the selection unit 3102 directly or via the control unit 5102 via system bus 5113.
  • the selection unit 3102 identifies at least one of the ECMs as have being repeated subsequent to the creation of the original encrypted data stream 5110 transmitted by the original content provider and may use the replication signal 5203 for this purpose.
  • a deletion unit 3103 deletes the selected encryption messages from the encrypted data stream using information from the selection unit 3102.
  • the deletion may also be envisaged as a filtering of the ECMs.
  • the devices, or elements thereof, shown in Fig. 31, Fig. 32 and Fig. 33 are also applicable to the embodiment shown in Fig. 52.
  • the detection unit 5104 may further delay the switch to the slow- forward or still picture mode by a delay time which corresponds to the time difference between the point of time of switching and a point of time of starting a next frame in the sequence of the plurality of frames.
  • a next frame may be a B-frame or an anchor frame, which anchor frame may then be an I-frame or a P-frame (in the nomenclature of MPEG).
  • the audio/video playback is continued in the normal play mode, and only after expiry of this delay time interval, the playback in the slow- forward or still picture mode is started. It may be necessary for the replication unit 5105 to also correct the temporal reference of the plurality of frames after and/or during the delay time. In other words, it may be necessary in the slow-forward or still picture mode that the order of playback of the frames be altered, or that a plurality of frames have to be repeated several times, or that additional (empty) frames are inserted in the processed encrypted data stream 5112. In order to take into account such modified frame conditions, the replication unit 5105 may correct the temporal reference between these frames.
  • any of the embodiments described comprise implicit features, such as, an internal current supply, for example, a battery or an accumulator.
  • any reference signs placed in parentheses shall not be construed as limiting the claims.
  • the word “comprising” and “comprises”, and the like, does not exclude the presence of elements or steps other than those listed in any claim or the specification as a whole.
  • the singular reference of an element does not exclude the plural reference of such elements and vice- versa.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

L'invention concerne un dispositif (5100) et un procédé de traitement d'un flux de données codé. L'invention concerne également un élément de programme et un support lisible par ordinateur destinés à la mise en oeuvre du procédé selon l'invention. Ledit dispositif comporte une unité de reproduction (5105) et est conçu pour reproduire au moins une partie du flux de données codé, et une unité de détection (5104) destinée à détecter des messages de décodage contenus dans une première partie du flux de données codé à reproduire. Selon l'invention, un flux de données codé est traité par reproduction de la première partie ou d'une partie consécutive du flux de données codé (5110) sur la base de la détection, par l'unité de détection, des messages de décodage contenus dans la première partie. Ainsi, on peut obtenir un flux codé traité (5112) pouvant être codé puis décodé par un décodeur et un codeur standard.
PCT/IB2006/054531 2005-12-23 2006-11-30 Procede de traitement d'un flux de donnees code et dispositif destine a cet effet Ceased WO2007072257A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP05112882.5 2005-12-23
EP05112882 2005-12-23

Publications (1)

Publication Number Publication Date
WO2007072257A1 true WO2007072257A1 (fr) 2007-06-28

Family

ID=38038936

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2006/054531 Ceased WO2007072257A1 (fr) 2005-12-23 2006-11-30 Procede de traitement d'un flux de donnees code et dispositif destine a cet effet

Country Status (1)

Country Link
WO (1) WO2007072257A1 (fr)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109640030A (zh) * 2019-01-07 2019-04-16 厦门亿联网络技术股份有限公司 一种视频会议系统的音视频外设扩展装置及方法
US10992955B2 (en) 2011-01-05 2021-04-27 Divx, Llc Systems and methods for performing adaptive bitrate streaming
US11050808B2 (en) 2007-01-05 2021-06-29 Divx, Llc Systems and methods for seeking within multimedia content during streaming playback
US11102553B2 (en) 2009-12-04 2021-08-24 Divx, Llc Systems and methods for secure playback of encrypted elementary bitstreams
US11115450B2 (en) 2011-08-31 2021-09-07 Divx, Llc Systems, methods, and media for playing back protected video content by using top level index file
US11457054B2 (en) 2011-08-30 2022-09-27 Divx, Llc Selection of resolutions for seamless resolution switching of multimedia content
US11683542B2 (en) 2011-09-01 2023-06-20 Divx, Llc Systems and methods for distributing content using a common set of encryption keys
US11711410B2 (en) 2015-01-06 2023-07-25 Divx, Llc Systems and methods for encoding and sharing content between devices
US11785066B2 (en) 2012-12-31 2023-10-10 Divx, Llc Systems, methods, and media for controlling delivery of content
US11886545B2 (en) 2006-03-14 2024-01-30 Divx, Llc Federated digital rights management scheme including trusted systems
USRE49990E1 (en) 2012-12-31 2024-05-28 Divx, Llc Use of objective quality measures of streamed content to reduce streaming bandwidth
US12407906B2 (en) 2013-05-30 2025-09-02 Divx, Llc Network video streaming with trick play based on separate trick play files

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1061738A2 (fr) * 1999-06-14 2000-12-20 Matsushita Electric Industrial Co., Ltd. Système de radioduffusion numérique et appareil pour enregistrer/reproduire de la vidéo
WO2003107665A1 (fr) * 2002-06-12 2003-12-24 Koninklijke Philips Electronics N.V. Lecture en mode specialise de donnees chiffrees dans un signal d'acces conditionnel
WO2004004329A1 (fr) * 2002-06-27 2004-01-08 Koninklijke Philips Electronics N.V. Trucage pour flots audio/video/de donnees a acces conditionnel
US20040062398A1 (en) * 2002-09-30 2004-04-01 Sony Corporation Method and system for key insertion for stored encrypted content
US20040190866A1 (en) * 2001-10-23 2004-09-30 Shu Lin Frame advance and slide show trick modes
US20050094809A1 (en) * 2003-11-03 2005-05-05 Pedlow Leo M.Jr. Preparation of content for multiple conditional access methods in video on demand

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1061738A2 (fr) * 1999-06-14 2000-12-20 Matsushita Electric Industrial Co., Ltd. Système de radioduffusion numérique et appareil pour enregistrer/reproduire de la vidéo
US20040190866A1 (en) * 2001-10-23 2004-09-30 Shu Lin Frame advance and slide show trick modes
WO2003107665A1 (fr) * 2002-06-12 2003-12-24 Koninklijke Philips Electronics N.V. Lecture en mode specialise de donnees chiffrees dans un signal d'acces conditionnel
WO2004004329A1 (fr) * 2002-06-27 2004-01-08 Koninklijke Philips Electronics N.V. Trucage pour flots audio/video/de donnees a acces conditionnel
US20040062398A1 (en) * 2002-09-30 2004-04-01 Sony Corporation Method and system for key insertion for stored encrypted content
US20050094809A1 (en) * 2003-11-03 2005-05-05 Pedlow Leo M.Jr. Preparation of content for multiple conditional access methods in video on demand

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11886545B2 (en) 2006-03-14 2024-01-30 Divx, Llc Federated digital rights management scheme including trusted systems
US12470781B2 (en) 2006-03-14 2025-11-11 Divx, Llc Federated digital rights management scheme including trusted systems
US11050808B2 (en) 2007-01-05 2021-06-29 Divx, Llc Systems and methods for seeking within multimedia content during streaming playback
US12267380B2 (en) 2007-01-05 2025-04-01 Divx, Llc Systems and methods for seeking within multimedia content during streaming playback
US11706276B2 (en) 2007-01-05 2023-07-18 Divx, Llc Systems and methods for seeking within multimedia content during streaming playback
US11102553B2 (en) 2009-12-04 2021-08-24 Divx, Llc Systems and methods for secure playback of encrypted elementary bitstreams
US12184943B2 (en) 2009-12-04 2024-12-31 Divx, Llc Systems and methods for secure playback of encrypted elementary bitstreams
US10992955B2 (en) 2011-01-05 2021-04-27 Divx, Llc Systems and methods for performing adaptive bitrate streaming
US11638033B2 (en) 2011-01-05 2023-04-25 Divx, Llc Systems and methods for performing adaptive bitrate streaming
US12262051B2 (en) 2011-01-05 2025-03-25 Divx, Llc Systems and methods for performing adaptive bitrate streaming
US12250404B2 (en) 2011-01-05 2025-03-11 Divx, Llc Systems and methods for performing adaptive bitrate streaming
US11457054B2 (en) 2011-08-30 2022-09-27 Divx, Llc Selection of resolutions for seamless resolution switching of multimedia content
US11716371B2 (en) 2011-08-31 2023-08-01 Divx, Llc Systems and methods for automatically generating top level index files
US11115450B2 (en) 2011-08-31 2021-09-07 Divx, Llc Systems, methods, and media for playing back protected video content by using top level index file
US12244878B2 (en) 2011-09-01 2025-03-04 Divx, Llc Systems and methods for distributing content using a common set of encryption keys
US11683542B2 (en) 2011-09-01 2023-06-20 Divx, Llc Systems and methods for distributing content using a common set of encryption keys
US11785066B2 (en) 2012-12-31 2023-10-10 Divx, Llc Systems, methods, and media for controlling delivery of content
USRE49990E1 (en) 2012-12-31 2024-05-28 Divx, Llc Use of objective quality measures of streamed content to reduce streaming bandwidth
US12177281B2 (en) 2012-12-31 2024-12-24 Divx, Llc Systems, methods, and media for controlling delivery of content
US12407906B2 (en) 2013-05-30 2025-09-02 Divx, Llc Network video streaming with trick play based on separate trick play files
US12250257B2 (en) 2015-01-06 2025-03-11 Divx, Llc Systems and methods for encoding and sharing content between devices
US11711410B2 (en) 2015-01-06 2023-07-25 Divx, Llc Systems and methods for encoding and sharing content between devices
CN109640030A (zh) * 2019-01-07 2019-04-16 厦门亿联网络技术股份有限公司 一种视频会议系统的音视频外设扩展装置及方法

Similar Documents

Publication Publication Date Title
EP1967002B1 (fr) Dispositif et procédé de traitement d'un flux de données
US20080170687A1 (en) Device for and a Method of Processing an Encrypted Data Stream
US20080273698A1 (en) Device for and a Method of Processing a Data Stream Having a Sequence of Packets and Timing Information Related to the Packets
KR100517463B1 (ko) 데이터 스트림 프로세싱을 위한 시스템
JP4837868B2 (ja) ディジタルビデオ記録物を編集するための方法及び装置並びに、そのような方法で作成された記録物
WO2006114761A1 (fr) Dispositif et procede permettant de detecter des positions de trames intra-codees dans un train de donnees
US20080304810A1 (en) Device for and a Method of Processing an Input Data Stream Comprising a Sequence of Input Frames
US20080212774A1 (en) Device for and a Method of Processing an Encrypted Data Stream in a Cryptographic System
WO2007072257A1 (fr) Procede de traitement d'un flux de donnees code et dispositif destine a cet effet
WO2007072252A2 (fr) Dispositif et procédé de traitement d'un flux de données d'entrée comprenant une séquence de trames d'entrée
WO2007072244A1 (fr) Dispositif et procede de traitement de flux de donnees comprenant une pluralite de trames
WO2007072419A2 (fr) Dispositif et procede destines a traiter un flux de donnees
WO2007072242A1 (fr) Dispositif et procede de traitement de flux de donnees chiffrees
MX2007012939A (en) A device for and a method of processing an encrypted data stream for trick play

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06832024

Country of ref document: EP

Kind code of ref document: A1