EP1502437B1 - Traitement d'un flux de paquets brouille - Google Patents

Traitement d'un flux de paquets brouille Download PDF

Info

Publication number
EP1502437B1
EP1502437B1 EP20030706882 EP03706882A EP1502437B1 EP 1502437 B1 EP1502437 B1 EP 1502437B1 EP 20030706882 EP20030706882 EP 20030706882 EP 03706882 A EP03706882 A EP 03706882A EP 1502437 B1 EP1502437 B1 EP 1502437B1
Authority
EP
European Patent Office
Prior art keywords
packet
packets
data
operative
picture
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.)
Expired - Lifetime
Application number
EP20030706882
Other languages
German (de)
English (en)
Other versions
EP1502437A2 (fr
Inventor
Moshe Shlissel
Kevin Murray
Colin Davies
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.)
Synamedia Ltd
Original Assignee
NDS Ltd
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
Priority claimed from GBGB0204190.3A external-priority patent/GB0204190D0/en
Application filed by NDS Ltd filed Critical NDS Ltd
Publication of EP1502437A2 publication Critical patent/EP1502437A2/fr
Application granted granted Critical
Publication of EP1502437B1 publication Critical patent/EP1502437B1/fr
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • 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/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence

Definitions

  • the present invention relates to packet-based communications systems in general, and more particularly to processing scrambled packet streams.
  • a home video server 100 employs a tuner 102 to receive a digital television broadcast signal via a satellite receiver 104.
  • the signal data such as a scrambled MPEG-2 packet stream, may be stored on a storage medium 110, descrambled and decoded by an MPEG decoder 106 for viewing on a television 108, and transmitted in scrambled form via a transmitter 112 to a client 114.
  • Client 114 may similarly descramble and decode the scrambled packet stream at an MPEG decoder 116 for viewing on a television 118.
  • WO 02/15579 discloses a system for providing conditional access to packetised picture, audio or other data.
  • the system selectively encrypts packetised data such that transport packets that include header data are unencrypted, while all other transport packets that do not include header data are encrypted.
  • the present invention in preferred embodiments thereof, provides for scrambled packet stream processing in which portions of a scrambled packet stream are removed or descrambled and altered, such as in support of digital video trick modes, while preserving a valid video stream that includes scrambled portions that have not been altered.
  • the method further includes moving a data segment within a payload of any of the packets from a first location within the payload to a second location within the payload.
  • the method further includes overwriting at least a portion of the first location.
  • the overwriting step includes overwriting with any of zeroes, stuffing bytes, and padding bytes.
  • the method further includes overwriting data designated as undesirable within a payload of any of the packets.
  • any of the overwriting steps includes overwriting with any of zeroes, stuffing bytes, and padding bytes.
  • the method further includes changing the value of at least one byte of any of the packets in accordance with a predefined processing decision.
  • the changing step includes changing the byte in any of the descrambled packets.
  • the method further includes changing the value of at least one bit of any of the packets in accordance with a predefined processing decision.
  • the changing step includes changing the bit in any of the descrambled packets.
  • the method further includes dropping any of the packets from the received packet stream in accordance with a predefined processing decision.
  • the receiving step includes receiving a video stream including a plurality of independent video elements and at least one video element that is dependent on any of the independent video elements, and the method further includes removing any of the dependent video elements from the video stream, thereby resulting in the modified packet stream.
  • the method further includes modifying any of the video elements to maintain the validity of the processed video stream with respect to a protocol.
  • the method further includes holding any of the packets until the packets collectively comprise a predefined processing unit, and the transmitting step includes transmitting the held packets including the processing unit.
  • the method further includes holding any of the packets until the packets collectively comprise the data of at least one picture, and the transmitting step includes transmitting the held packets including the data of the picture.
  • the method further includes retransmitting the held packets at least one additional time.
  • the retransmitting step includes retransmitting a sufficient number of times in order to effect a predetermined slow-down factor of a display of the picture.
  • the retransmitting step includes retransmitting where the picture is an MPEG-protocol B-picture.
  • the method further includes transmitting a sufficient number of null pictures in order to effect a predetermined slow-down factor of a display of the picture.
  • the transmitting null pictures step includes transmitting where the picture is either of an MPEG-protocol P-picture and an MPEG-protocol I-picture.
  • the method further includes converting any of the packets including data from multiple pictures into a plurality of individual packets, each including data from only one of the multiple pictures.
  • the method further includes modifying any of the packets to maintain the slow-down factor.
  • the method further includes modifying any of the packets to maintain the validity of the packet stream with respect to an MPEG protocol.
  • a method for providing a processed MPEG video stream including receiving an MPEG video stream as a plurality of scrambled packets including data that are designated as desirable data and data that are designated as undesirable data, descrambling any of the scrambled packets, and transmitting a processed MPEG video stream including at least one of the descrambled packets and at least one of the scrambled packets.
  • the method further includes removing any of the undesirable data from any of the descrambled packets, thereby resulting in a modified descrambled packet, and where the transmitting step includes transmitting the modified descrambled packet.
  • the method further includes designating as desirable data any of I-picture data and header data that is necessary to maintain the validity of the processed MPEG video stream with respect to an MPEG protocol.
  • the method further includes designating as undesirable data any of P-picture data, B-picture data, and header data that not is necessary to maintain the validity of the processed MPEG video stream with respect to an MPEG protocol.
  • the method further includes modifying any header information in the processed MPEG video stream to maintain the validity of the processed MPEG video stream with respect to an MPEG protocol.
  • the removing step includes dropping any of the packets having only the undesirable data.
  • the removing step includes overwriting at least a portion of the undesirable data with any of zeroes, stuffing bytes, and padding bytes.
  • the removing step includes padding an adaptation field within any of the packets having the undesirable data with a sufficient number of bytes to overwrite at least a portion of the undesirable data.
  • the removing step includes moving the desirable data within a payload of any of the packets from a first location within the payload to a second location within the payload.
  • the removing step includes overwriting at least a portion of the first location.
  • the removing step includes overwriting at least a portion of the first location with any of zeroes, stuffing bytes, and padding bytes.
  • the removing step includes padding an adaptation field within the packet with a sufficient number of bytes to overwrite at least a portion of the first location.
  • the removing step includes overwriting a PES header in any of the packets with PES header stuffing bytes, where the PES header is followed by the desirable data, and setting a flags byte of the PES header to indicate that no PES header options are present.
  • the method further includes generating and inserting into the processed MPEG video stream a TS packet including a generated PES header where the PES header is required to maintain the validity of the processed MPEG video stream with respect to an MPEG protocol.
  • the method further includes generating and inserting into the processed MPEG video stream a TS packet including a generated PCR where the PCR is required to maintain the validity of the processed MPEG video stream with respect to an MPEG protocol.
  • the method further includes generating and inserting a sufficient number of null pictures into the processed MPEG video stream to achieve a predefined playback speed.
  • the removing step includes, where any of the packets includes an ES sequence header, setting a bit_rate_value of the ES sequence header to a peak bit rate at which the processed MPEG video stream will be transmitted, and setting a vbv_buffer_size_value of the ES sequence header equal to that which is indicated for a Main Profile at Main Level.
  • the removing step includes, where any of the packets includes a picture header of an I-picture, setting a temporal_reference value in the packet to zero setting a vbv_delay in the packet to indicate that no value is specified.
  • the removing step includes, where any of the packets includes an adaptation field that may be removed without compromising the validity of the processed MPEG video stream, replacing a flags byte of the adaptation field with zeros, and replacing all remaining bytes of the adaptation field with stuffing bytes.
  • an apparatus for processing a packetised scrambled input stream is provided according to claim 37.
  • a packet stream processing architecture including a first packet buffer into which a first TS packet from a packet stream may be placed, a second packet buffer into which a second TS packet that follows the first TS packet in the packet stream may be placed, a first data pointer operative to indicate the location of the packet payload of the first packet, a second data pointer operative to indicate the location of the packet payload of the second packet, a first flag operative to indicate if the first packet should be transmitted in scrambled or descrambled form, and a second flag operative to indicate if the second packet should be transmitted in scrambled or descrambled form.
  • the architecture further includes a PID filter operative to selectively place any of the packets into any of the buffers in accordance with predefined selection criteria.
  • apparatus for processing a packet-based scrambled stream including a descrambler operative to receive a plurality of scrambled packets in a packet stream and descramble any of the scrambled packets, and a packet selector operative to transmit a modified packet stream including at least one of the descrambled packets and at least one of the scrambled packets.
  • the apparatus further includes a packet processor operative to modify any of the packets.
  • the packet processor is operative to move a data segment within a payload of any of the packets from a first location within the payload to a second location within the payload.
  • the packet processor is operative to overwrite at least a portion of the first location.
  • the packet processor is operative to overwrite with any of zeroes, stuffing bytes, and padding bytes.
  • the packet processor is operative to overwrite data designated as undesirable within a payload of any of the packets.
  • the packet processor is operative to overwrite with any of zeroes, stuffing bytes, and padding bytes.
  • the packet processor is operative to change the value of at least one byte of any of the packets in accordance with a predefined processing decision.
  • the packet processor is operative to change the byte in any of the descrambled packets.
  • the packet processor is operative to change the value of at least one bit of any of the packets in accordance with a predefined processing decision.
  • the packet processor is operative to change the bit in any of the descrambled packets.
  • the packet processor is operative to drop any of the packets from the received packet stream in accordance with a predefined processing decision.
  • the stream includes a plurality of independent video elements and at least one video element that is dependent on any of the independent video elements, and the packet processor is operative to remove any of the dependent video elements from the video stream, thereby resulting in the modified packet stream.
  • the packet processor is operative to modify any of the video elements to maintain the validity of the processed video stream with respect to a protocol.
  • the packet processor is operative to hold any of the packets until the packets collectively comprise a predefined processing unit, and where the packet selector is operative to transmit the held packets including the processing unit.
  • the packet processor is operative to hold any of the packets until the packets collectively comprise the data of at least one picture, and where the packet selector is operative to transmit the held packets including the data of the picture.
  • the packet selector is operative to retransmit the held packets at least one additional time.
  • the packet selector is operative to retransmit the held packets a sufficient number of times in order to effect a predetermined slow-down factor of a display of the picture.
  • the packet selector is operative to retransmit where the picture is an MPEG-protocol B-picture.
  • the packet selector is operative to transmit a sufficient number of null pictures in order to effect a predetermined slow-down factor of a display of the picture.
  • the packet selector is operative to transmit where the picture is either of an MPEG-protocol P-picture and an MPEG-protocol I-picture.
  • the packet processor is operative to convert any of the packets including data from multiple pictures into a plurality of individual packets, each including data from only one of the multiple pictures.
  • the packet processor is operative to modify any of the packets to maintain the slow-down factor.
  • the apparatus further includes modifying any of the packets to maintain the validity of the packet stream with respect to an MPEG protocol.
  • apparatus for providing a processed MPEG video stream including a descrambler operative to receive an MPEG video stream as a plurality of scrambled packets including data that are designated as desirable data and data that are designated as undesirable data and descramble any of the scrambled packets, and a packet selector operative to transmit a processed MPEG video stream including at least one of the descrambled packets and at least one of the scrambled packets.
  • the apparatus further includes a packet processor operative to remove any of the undesirable data from any of the descrambled packets, thereby resulting in a modified descrambled packet, and where the packet selector is operative to transmit the modified descrambled packet.
  • the desirable data includes any of I-picture data and header data that is necessary to maintain the validity of the processed MPEG video stream with respect to an MPEG protocol.
  • the undesirable data includes any of P-picture data, B-picture data, and header data that not is necessary to maintain the validity of the processed MPEG video stream with respect to an MPEG protocol.
  • the packet processor is operative to modify any header information in the processed MPEG video stream to maintain the validity of the processed MPEG video stream with respect to an MPEG protocol.
  • the packet processor is operative to drop any of the packets having only the undesirable data.
  • the packet processor is operative to overwrite at least a portion of the undesirable data with any of zeroes, stuffing bytes, and padding bytes.
  • the packet processor is operative to pad an adaptation field within any of the packets having the undesirable data with a sufficient number of bytes to overwrite at least a portion of the undesirable data.
  • the packet processor is operative to move the desirable data within a payload of any of the packets from a first location within the payload to a second location within the payload.
  • the packet processor is operative to overwrite at least a portion of the first location.
  • the packet processor is operative to overwrite at least a portion of the first location with any of zeroes, stuffing bytes, and padding bytes.
  • the packet processor is operative to pad an adaptation field within the packet with a sufficient number of bytes to overwrite at least a portion of the first location.
  • the packet processor is operative to overwrite a PES header in any of the packets with PES header stuffing bytes, where the PES header is followed by the desirable data, and set a flags byte of the PES header to indicate that no PES header options are present.
  • the packet processor is operative to generate and insert into processed MPEG video stream a TS packet including a generated PES header where the PES header is required to maintain the validity of the processed MPEG video stream with respect to an MPEG protocol.
  • the packet processor is operative to generate and insert into the processed MPEG video stream a TS packet including a generated PCR where the PCR is required to maintain the validity of the processed MPEG video stream with respect to an MPEG protocol.
  • the packet processor is operative to generate and insert a sufficient number of null pictures into the processed MPEG video stream to achieve a predefined playback speed.
  • the packet processor is operative to, where any of the packets includes an ES sequence header, set a bit_rate_value of the ES sequence header to a peak bit rate at which the processed MPEG video stream will be transmitted, and set a vbv_buffer_size_value of the ES sequence header equal to that which is indicated for a Main Profile at Main Level.
  • the packet processor is operative to, where any of the packets includes a picture header of an I-picture, set a temporal_reference value in the packet to zero set a vbv_delay in the packet to indicate that no value is specified.
  • the packet processor is operative to, where any of the packets includes an adaptation field that may be removed without compromising the validity of the processed MPEG video stream, replace a flags byte of the adaptation field with zeros, and replace all remaining bytes of the adaptation field with stuffing bytes.
  • references to modifying data may be understood as referring to data modification at the bit or byte level.
  • FIG. 2 is a simplified conceptual illustration of aspects of MPEG-2 streams and packets, useful in understanding the present invention.
  • ES 200 may be segmented, with each ES segment packetized into one or more Packetized Elementary Stream (PES) packets 206.
  • PES Packetized Elementary Stream
  • Each PES packet 206 includes a PES header 208 followed by a PES payload 210, where each PES payload 210 stores a portion of an ES segment.
  • each PES packet 206 may be packetized into one or more Transport Stream (TS) packets 212.
  • TS packet 212 includes a TS header 214, optionally followed by an adaptation field 216, and followed by a TS payload 218, where each TS packet 212 stores a portion of a PES packet 206.
  • Video portions 204 of ES 200 typically include groups of pictures (GOP), where each picture is encoded as one of three picture types: an Intra picture, or I-picture, where all the data for the picture are held within the picture itself; a Predicted picture, or P-picture, where some of the image data are predicted from the previous I or P picture; and a Bi-directionally Predicted picture, or B-picture, where some of the image data are predicted from the next I- or P-picture and some from the previous I- or P-picture.
  • I-picture Intra picture
  • P-picture Predicted picture
  • B-picture Bi-directionally Predicted picture
  • the structure of a GOP typically starts with an I-picture followed by a combination ofP- and B-pictures, such as in the sequence IBBPBBPBBPBB, although for coding efficiency the order of the pictures within the GOP is typically different than presentation order of the pictures.
  • Each coded picture is preceded by a start code, typically a bit string of 32 or more bits which starts byte-aligned with the 24-bit value 0x000001 and which may be preceded by any number of zero bytes.
  • the start code provides information about the ES data that follow the start code.
  • Individual pictures may vary in size, and are typically large enough to fill many TS packets. The start and end of a picture is not necessarily aligned with the start and end of a TS or PES packet.
  • PES header 208 may include timestamps which indicate when to decode or display pictures stored in PES payload 210.
  • PES header 208 must start at the beginning of a TS packet, and may be followed by any part of the ES, including any part (i.e., beginning, middle, or end) of header portion 202 or video portion 204.
  • Fig. 3 is a simplified block diagram of a scrambled packet stream processor, constructed and operative in accordance with a preferred embodiment of the present invention.
  • a scrambled packet stream such as an MPEG-2 TS packet stream
  • a descrambler 300 is descrambled by a descrambler 300 in accordance with conventional techniques.
  • Each packet is then processed by a packet processor 302 where the decision is made to drop the packet, forward the packet as-is in scrambled or descrambled form, alter and forward the scrambled or descrambled packet, or insert generated packets into the scrambled packet stream.
  • a preferred method of operation of packet processor 302 is described in greater detail hereinbelow with reference to Figs.
  • packet selector 304 For each scrambled packet in the scrambled packet stream, packet selector 304 generates a processed packet stream by carrying out the decision made by packet processor 302 and either drops the packet, forwards the scrambled packet as is, replaces the packet with its altered version or as-is descrambled version, and/or inserts a generated packet into the scrambled packet stream.
  • Figs. 4A - 4J are simplified flowchart illustrations of packet processing decisions, such as may be carried out by packet processor 302 ( Fig. 3 ), operative in accordance with a preferred embodiment of the present invention.
  • the packet processing decisions shown in Figs. 4A - 4J are typically carried out in support of fast-forward viewing of MPEG-2 streams, in which a TS packet stream is purged of packets that do not include data that are designated as desirable, such as I-picture data (including I-picture header information) or other critical header data.
  • TS packets that include desirable data are either forwarded unmodified and in scrambled form, or are modified, such as by purging data that are designated as undesirable, such as B- and P-picture data, or by changing header field values, and forwarded in descrambled form.
  • a descrambled TS packet is received. If the TS packet payload contains only data that are designated as undesirable, such as P-picture or B-picture data, PES header information, ES header data that are not required to maintain the validity of the MPEG stream, or any combination thereof, the entire packet is dropped (i.e., removed) from the stream.
  • data that are designated as undesirable, such as P-picture or B-picture data, PES header information, ES header data that are not required to maintain the validity of the MPEG stream, or any combination thereof.
  • a descrambled TS packet is received in which the TS packet payload starts with data that are designated as undesirable, such as P- or B-picture data, and that is followed by data that are designated as desirable, such as I-picture data.
  • the P- or B-picture data may be removed by overwriting them at the bit or byte level with zeroes which represent ES stuffing bytes (i.e., 0x00) which are ignored by the MPEG decoder.
  • the adaptation field may be expanded by padding it with a sufficient number of stuffing bytes to overwrite the P- or B-picture data bytes until the I-picture boundary is reached.
  • a flags byte is then added if one does not exist, and the adaptation_field_length is then changed to reflect the increased size of the adaptation field. If no adaptation field is present, one may be created by setting the relevant TS packet header flag, including a length byte set to the size of the adaptation field, and, as needed, a flags byte set to 0x00 followed by a sufficient number of adaptation field stuffing bytes (0xFF) until the I-picture startcode is reached.
  • a descrambled TS packet is received in which the TS packet payload starts with data that are designated as desirable, such as I-picture data, followed only by data that are designated as undesirable, such as P-picture and/or B-picture data and/or ES header data that are not required to maintain the validity of the MPEG stream.
  • the I-picture data is preferably moved to the end of the payload.
  • the data at the start of the payload that is not desired may then be eliminated by overwriting them with ES stuffing bytes (i.e., 0x00) until the I-picture boundary is reached.
  • the data that are not desired may be overwritten by expanding or inserting an adaptation field and padding it with stuffing bytes (i.e., 0xFF) as described above ( Fig. 4B ) until the I-picture boundary is reached.
  • a descrambled TS packet is received in which the TS packet payload contains only PES header information followed by data that are designated as desirable, such as I-picture data and/or ES header data that are required to maintain the validity of the MPEG stream.
  • the PES header may be eliminated by overwriting it with an allowable number (i.e., 32 bytes in the MPEG standard) of PES header stuffing bytes (i.e., 0xFF), and by setting the flags byte of the PES header to 0x00 (i.e., setting the flags to indicate that no PES header options are present).
  • the PES header may be eliminated by moving the I-picture data and/or ES header data to the end of the packet payload if the data are not already located at the end of the packet payload, by expanding or inserting an adaptation field and padding it with adaptation layer stuffing bytes (i.e., 0xFF) as described above ( Fig. 4B ), and by clearing the payload_unit_start_indicator in the TS header to indicate that there is no PES header present.
  • adaptation layer stuffing bytes i.e., 0xFF
  • a TS packet may be generated including a generated PES header, and preferably no other payload data, and inserted into the TS packet stream.
  • the frame_rate_code most recently encountered in the sequence header portion of the ES header data is read.
  • the frame_rate_code indicates the frame rate of the encoded video and is used to determine the correct display and/or decode timestamps for the generated PES header in accordance with conventional techniques.
  • the TS packet payload may be reduced to the size required for the PES header through the use of a padded adaptation field, if required.
  • a TS packet may be generated including a generated PCR inserted into the TS packet stream.
  • an accurate PCR correctly linked to the PES timestamps must be maintained.
  • the last transmitted PCR, the number of packets sent since the last PCR was sent (and hence the number of bits sent), and the output bit rate are preferably maintained. If a constant bit-rate is in use, when a PCR value is required a "soft PCR" can be calculated by adding to the last transmitted PCR the time taken to send the number of packets transmitted at the bit-rate specified.
  • a target time for the transmission of the next PCR is preferably maintained and compared with the end time of the current packet. If the current packet will finish being transmitted after the target time, then the PCR must be transmitted first. Once the correct time is identified, the PCR is transmitted.
  • null pictures may be generated in accordance with conventional techniques and inserted into the TS packet stream.
  • a null picture repeats the presentation of the most recently encountered reference picture, which is either an I- or P- picture, and is coded as a P-picture.
  • the horizontal_size_value and vertical_size_value most recently encountered in the sequence header portion of the ES header data are read. When generating null pictures these values are used to ensure that the generated frames are the same size as other frames in the stream.
  • the temporal_reference value in the null picture header is preferably incremented relative to the previously encountered temporal_reference value.
  • bit_rate_value specifies the maximum bit rate at which the MPEG decoder buffer may operate, which, in practice, defines the peak bit-rate of the stream. This value is preferably set to the peak bit rate at which the stream will be transmitted and which may be set in accordance with conventional techniques.
  • the vbv_buffer_size_value defines the size of the decoder buffer that is required to decode the stream. This value is preferably set equal to that which is indicated for the Main Profile at Main Level (MP@ML) in accordance with conventional techniques.
  • a descrambled TS packet is received in which the picture header of an I-picture is stored.
  • the temporal_reference and vbv_delay of the picture header are preferably changed.
  • the temporal_reference defines when, in display order, the I-picture is to be displayed.
  • the temporal_reference value in the current TS packet is preferably set to zero.
  • the vbv_delay typically defines the length of time that the data for the current picture will remain in the decoder buffer.
  • the value in the current TS packet is preferably set to all ones to indicate that no value is specified.
  • a descrambled TS packet is received including an adaptation field. If the decision is made to retain the TS packet, and the adaptation field may be removed without compromising the validity of the MPEG stream, the flags byte (i.e., the second byte of the adaptation field) may be replaced with zeros, and all the remaining adaptation bytes may be replaced with stuffing bytes (0xff). Since adaptation fields are not scrambled, these changes may be alternatively made to the corresponding scrambled packet. If no other changes are made to the packet, the modified scrambled packet may be transmitted. Otherwise, the modified descrambled packet is transmitted.
  • the flags byte i.e., the second byte of the adaptation field
  • Fig. 4K after the packet processing decisions of Figs. 4A - 4J have been made, if the TS packet is to be dropped, packet selector 304 is so notified. If the TS packet is to be forwarded, and no changes were made to the TS packet, packet selector 304 is notified to forward the scrambled version of the packet in the MPEG stream as is. If any changes where made to the descrambled packet payload, including reducing its size, packet selector 304 is notified to replace the scrambled version of the packet in the MPEG stream with the modified descrambled version.
  • packet selector 304 If no changes were made to the descrambled packet payload, but changes were made to the packet header, such as to the adaptation field, packet selector 304 is notified to forward the modified scrambled packet. Otherwise, packet selector 304 is notified to forward the modified descrambled packet.
  • Fig. 5 is a simplified block diagram of a packet stream processing architecture, constructed and operative in accordance with a preferred embodiment of the present invention.
  • the architecture of Fig. 5 may be employed to carry out the packet processing decisions of Figs. 4A - 4J .
  • two packet buffers 500 and 502 are respectively used to read in a current TS packet and the packet following the current packet. Since picture start codes may straddle packets, it may be necessary to look into the next packet to identify a start code that begins in the current packet or to identify whether the start code that begins in the current packet is for an I-, P-, or B-picture.
  • a data pointer 504, 506 is preferably set to indicate where the packet payload is to be found. If the packet has no payload (e.g., it is a PCR-only packet), then the packet may be dropped and another packet may be loaded. Likewise, a flag 508, 510 may be initialized that will be used to indicate if the packet should be transmitted in scrambled or descrambled form.
  • any adaptation field bytes must be skipped, which may later be removed as described hereinabove.
  • the length of the adaptation field is specified by the first byte of the adaptation field.
  • any PES header bytes whose presence is indicated by the payload_unit_start_indicator flag in the TS header, should be skipped.
  • the PES header bytes may also be removed by replacing them with adaptation field stuffing as described hereinabove.
  • a PES header will start after any adaptation data, and its length is indicated in the ninth byte of the PES header of an audio or video stream. The remaining data in the packet represents the payload.
  • a PID filter 512 may be used to ensure that only TS packets with desired PIDs are processed by the stream processor. For example, where a fast-forward trick mode video stream is desired without audio, PID filter 512 may be used to filter out any TS packets with only audio data
  • Fig. 6 is a simplified flowchart illustration of an alternate method of scrambled packet processing, operative in accordance with a preferred embodiment of the present invention.
  • the method of Fig. 6 is typically carried out in support of slow-motion viewing of MPEG-2 streams, in which previously transmitted pictures are caused to be displayed multiple times in accordance with a slow-down factor.
  • a scrambled TS packet is received and descrambled, such as at descrambler 300 ( Fig. 3 ).
  • the descrambled packet is then examined, such as at packet processor 302, to determine whether or not the packet contains data from an I-, P-, or B-picture. If so, the packet is held, such as in a buffer, together with other packets of the same picture type until a predefined processing unit, such as an entire I-, P-, or B-picture, is formed.
  • a packet is received that contains data from multiple pictures, typically being the end of one picture and the beginning of another, the packet is converted into multiple packets using conventional techniques or other techniques described hereinabove, where each packet contains data from only one of the pictures.
  • the packet that contains data belonging to the currently held picture thus completes the data for the picture.
  • slow-motion may be achieved as follows. If the picture is an I- or P-picture, the packets may be transmitted once, such as at packet selector 304, followed by one or more null pictures instructing the receiver to display the picture one or more additional times in accordance with a predetermined slow-down factor. If the picture is a B-picture, all the packets for the B-picture are transmitted once, and then are retransmitted one or more times in accordance with the slow-down factor. The packets of the currently held picture may be discarded once they are no longer required for transmission.
  • any of the received packets may be modified to maintain the slow-down factor maintain and/or the validity of the MPEG stream using conventional techniques or other techniques described hereinabove.
  • the temporal_value is preferably replaced with a multiple of the original temporal_value which represents the slow-down factor
  • the vbv_delay of all the headers is preferably replaced with ones as described hereinabove.
  • Packets that have been modified are preferably transmitted in descrambled form, while packets that have not been modified may be transmitted in either scrambled or descrambled form.
  • modified packet stream of the present invention may be scrambled and/or encrypted using conventional techniques prior to transmission.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)

Claims (73)

  1. Un procédé de traitement d'un flux d'entrée brouillé à base de paquets, comprenant des données vidéo numériques, afin de produire un flux de sortie partiellement désembrouillé à base de paquets, le procédé comprenant :
    recevoir une pluralité de paquets brouillés dans un flux de paquets ;
    désembrouiller la pluralité de paquets brouillés afin de produire une pluralité de paquets désembrouillés ;
    pour chaque paquet désembrouillé de ladite pluralité de paquets désembrouillés, procéder comme suit de manière à ce qu'un fonctionnement en trickmode (mode truqué) puisse être supporté :
    déterminer si cedit paquet désembrouillé doit être abandonné et, si c'est le cas, abandonner ledit paquet pour qu'il ne soit pas inclus dans ledit flux de sortie ;
    déterminer s'il doit être apporté des changements uniquement à l'entête et / ou au champ d'adaptation non brouillés de cedit paquet désembrouillé et, si c'est le cas, apporter lesdits changements et inclure dans ledit flux de sortie un paquet brouillé provenant dudit flux d'entrée correspondant à cedit paquet désembrouillé, où le paquet brouillé inclut l'entête et / ou le champ d'adaptation changés ;
    déterminer s'il doit être apporté des changements aux données utiles de cedit paquet désembrouillé et, si c'est le cas, apporter lesdits changements aux données utiles afin de produire un paquet désembrouillé modifié et inclure dans ledit flux de sortie le paquet désembrouillé modifié ; et
    déterminer s'il n'y a pas de changements à apporter que ce soit aux données utiles, à l'entête ou au champ d'adaptation de cedit paquet désembrouillé, et s'il n'y a pas de changements à apporter, inclure dans ledit flux de sortie un paquet brouillé provenant dudit flux d'entrée correspondant à cedit paquet désembrouillé, et
    transmettre ledit flux de sortie, ledit flux de sortie comprenant au moins un desdits paquets désembrouillés et au moins un desdits paquets brouillés.
  2. Un procédé selon la revendication 1 et dans lequel le flux de paquets reçus comprend des données vidéo numériques.
  3. Un procédé selon la revendication 1 ou la revendication 2 et dans lequel ledit fait d'apporter lesdits changements aux données utiles comprend le fait de déplacer un segment de données à l'intérieur des données utiles de n'importe lesquels desdits paquets d'un premier emplacement à l'intérieur desdites données utiles à un deuxième emplacement à l'intérieur desdites données utiles.
  4. Un procédé selon la revendication 3 et comprenant de plus le fait de réécrire sur au moins une portion dudit premier emplacement.
  5. Un procédé selon la revendication 4 dans lequel ladite réécriture comprend le fait de réécrire avec indifféremment des zéros, des octets de bourrage, et des octets de remplissage.
  6. Un procédé selon n'importe lesquelles des revendications précédentes et dans lequel ledit fait d'apporter lesdits changements auxdites données utiles comprend le fait de réécrire sur des données désignées comme indésirables à l'intérieur des données utiles de n'importe lesquels desdits paquets.
  7. Un procédé selon la revendication 6 dans lequel n'importe lesquelles desdites réécritures comprend le fait de réécrire avec indifféremment des zéros, des octets de bourrage, et des octets de remplissage.
  8. Un procédé selon n'importe lesquelles des revendications précédentes et comprenant de plus le fait de garder n'importe lesquels desdits paquets jusqu'à ce que lesdits paquets comprennent collectivement une unité de paquets prédéfinie, et dans lequel ladite transmission comprend le fait de transmettre lesdits paquets gardés comprenant ladite unité de paquets.
  9. Un procédé selon n'importe lesquelles des revendications précédentes et comprenant de plus le fait de garder n'importe lesquels desdits paquets jusqu'à ce que lesdits paquets comprennent collectivement les données d'une image au moins, et dans lequel ladite transmission comprend le fait de transmettre lesdits paquets gardés comprenant les données de ladite image.
  10. Un procédé selon la revendication 9 et comprenant de plus le fait de retransmettre lesdits paquets gardés au moins une fois supplémentaire.
  11. Un procédé selon la revendication 10 dans lequel ladite retransmission comprend le fait de retransmettre un nombre de fois suffisant afin d'effectuer un facteur de ralentissement prédéterminé d'un affichage de ladite image.
  12. Un procédé selon la revendication 10 dans lequel ladite retransmission comprend le fait de retransmettre lorsque ladite image est une image B de protocole MPEG.
  13. Un procédé selon la revendication 9 et comprenant de plus le fait de transmettre un nombre d'images nulles suffisant afin d'effectuer un facteur de ralentissement prédéterminé d'un affichage de ladite image.
  14. Un procédé selon la revendication 13 dans lequel ladite transmission d'images nulles comprend le fait de transmettre lorsque ladite image est l'une ou l'autre d'une image P de protocole MPEG et d'une image I de protocole MPEG.
  15. Un procédé selon n'importe lesquelles des revendications 9 à 14 et comprenant en outre le fait de convertir n'importe lesquels desdits paquets incluant des données provenant d'images multiples en une pluralité de paquets individuels incluant chacun des données ne provenant que d'une seule desdites images multiples.
  16. Un procédé selon n'importe lesquelles des revendications 11 à 14 et comprenant de plus le fait de modifier n'importe lesquels desdits paquets afin de maintenir ledit facteur de ralentissement.
  17. Un procédé selon n'importe lesquelles des revendications précédentes et comprenant en outre le fait de modifier n'importe lesquels desdits paquets afin de maintenir la validité dudit flux de paquets relativement à un protocole MPEG.
  18. Le procédé selon la revendication 1 dans lequel ledit flux de paquets comprend un flux vidéo MPEG qui comprend des données qui sont désignées comme données désirables et des données qui sont désignées comme données indésirables, et
    ledit flux de paquets modifiés comprend un flux vidéo MPEG traité.
  19. Un procédé selon la revendication 18 et comprenant de plus le fait de supprimer n'importe lesquelles desdites données indésirables de n'importe lesquels desdits paquets désembrouillés, résultant de ce fait en un paquet désembrouillé modifié, et dans lequel ladite transmission comprend le fait de transmettre ledit paquet désembrouillé modifié.
  20. Un procédé selon n'importe lesquelles des revendications 18 à 19 dans lequel le procédé comprend de plus le fait de désigner comme données désirables toutes données parmi des données d'image I est des données d'entête qui sont nécessaires pour maintenir la validité dudit flux vidéo MPEG traité relativement à un protocole MPEG.
  21. Un procédé selon n'importe lesquelles des revendications 18 à 20 dans lequel le procédé comprend de plus le fait de désigner comme données indésirables toutes données parmi des données d'image P, des données d'image B, et des données d'entête qui ne sont pas nécessaires pour maintenir la validité dudit flux vidéo MPEG traité relativement à un protocole MPEG.
  22. Un procédé selon n'importe lesquelles des revendications 18 à 21 et comprenant de plus le fait de modifier toute information d'entête dans ledit flux vidéo MPEG traité afin de maintenir la validité dudit flux vidéo MPEG traité relativement à un protocole MPEG.
  23. Un procédé selon n'importe lesquelles des revendications 18 à 21 dans lequel ladite suppression comprend abandonner n'importe lesquels desdits paquets qui ne présentent que lesdites données indésirables.
  24. Un procédé selon n'importe lesquelles des revendications 18 à 22 dans lequel ladite suppression comprend réécrire sur une portion au moins desdites données indésirables avec indifféremment des zéros, des octets de bourrage, et des octets de remplissage.
  25. Un procédé selon n'importe lesquelles des revendications 18 à 22 dans lequel ladite suppression comprend remplir un champ d'adaptation à l'intérieur de n'importe lesquels desdits paquets présentant lesdites données indésirables avec un nombre d'octets suffisant pour réécrire sur une portion au moins desdites données indésirables.
  26. Un procédé selon n'importe lesquelles des revendications 18 à 22 dans lequel ladite suppression comprend le fait de déplacer lesdites données désirables à l'intérieur des données utiles de n'importe lesquels desdits paquets d'un premier emplacement à l'intérieur desdites données utiles à un deuxième emplacement à l'intérieur desdites données utiles.
  27. Un procédé selon la revendication 26 dans lequel ladite suppression comprend réécrire sur une portion au moins dudit premier emplacement.
  28. Un procédé selon n'importe la revendication 26 dans lequel ladite suppression comprend réécrire sur une portion au moins dudit premier emplacement avec indifféremment des zéros, des octets de bourrage, et des octets de remplissage.
  29. Un procédé selon la revendication 26 dans lequel ladite suppression comprend remplir un champ d'adaptation à l'intérieur dudit paquet avec un nombre d'octets suffisant pour réécrire sur une portion au moins dudit premier emplacement.
  30. Un procédé selon n'importe lesquelles des revendications 18 à 29 dans lequel ladite suppression comprend :
    réécrire sur un entête PES dans n'importe lesquels desdits paquets avec des octets de bourrage d'entête PES, où ledit entête PES est suivi desdites données désirables ; et
    armer un octet de signalisation dudit entête PES pour indiquer qu'aucune option entête PES n'est présente.
  31. Un procédé selon n'importe lesquelles des revendications 18 à 30, dans lequel le procédé comprend en outre générer et insérer dans ledit flux vidéo MPEG traité un paquet TS incluant un entête PES généré où ledit entête PES est requis pour maintenir la validité dudit flux vidéo MPEG traité relativement à un protocole MPEG.
  32. Un procédé selon n'importe lesquelles des revendications 18 à 31, dans lequel le procédé comprend en outre générer et insérer dans ledit flux vidéo MPEG traité un paquet TS incluant une PCR générée lorsque ladite PCR est requise pour maintenir la validité dudit flux vidéo MPEG traité relativement à un protocole MPEG.
  33. Un procédé selon n'importe lesquelles des revendications 18 à 32 dans lequel le procédé comprend de plus le fait de générer et d'insérer un nombre d'images nulles suffisant dans ledit flux vidéo MPEG traité afin de parvenir à une vitesse de lecture prédéfinie.
  34. Un procédé selon n'importe lesquelles des revendications 18 à 33 dans lequel ladite suppression comprend, lorsque n'importe lesquels desdits paquets incluent un entête de séquence ES :
    armer un bit_rate_value dudit entête de séquence ES sur un débit binaire maximal auquel ledit flux vidéo MPEG traité sera transmis ; et
    armer un vbv_buffer_size_value dudit entête de séquence ES égal à celui qui est indiqué pour un Main Profile at Main Level (Profil principal au niveau principal).
  35. Un procédé selon n'importe lesquelles des revendications 18 à 34 dans lequel ladite suppression comprend, lorsque n'importe lesquels desdits paquets incluent un entête d'image d'une image I :
    armer une valeur temporal_reference dans ledit paquet sur zéro
    armer un vbv_delay dans ledit paquet pour indiquer qu'il n'est spécifié aucune valeur.
  36. Un procédé selon n'importe lesquelles des revendications 18 à 35 dans lequel ladite suppression comprend, lorsque n'importe lesquels desdits paquets incluent un champ d'adaptation qui peut être supprimé sans compromettre la validité dudit flux vidéo MPEG traité :
    remplacer un octet de signalisation dudit champ d'adaptation par des zéros ; et
    remplacer tous les octets restants dudit champ d'adaptation par des octets de bourrage.
  37. Appareil de traitement d'un flux d'entrée brouillé à base de paquets, comprenant des données vidéo numériques, afin de produire un flux de sortie partiellement désembrouillé à base de paquets, l'appareil comprenant :
    un désembrouilleur opérationnel pour recevoir une pluralité de paquets brouillés dans un flux de paquets et pour désembrouiller la pluralité de paquets brouillés afin de produire une pluralité de paquets désembrouillés de manière à ce qu'un fonctionnement en trickmode puisse être supporté ; et
    un sélecteur de paquets opérationnel, pour chaque paquet désembrouillé de ladite pluralité de paquets désembrouillés, afin de procéder à ce qui suit :
    déterminer si cedit paquet désembrouillé doit être abandonné et si c'est le cas, abandonner ledit paquet pour qu'il ne soit pas inclus dans ledit flux de sortie ;
    déterminer s'il doit être apporté des changements uniquement à l'entête et / ou au champ d'adaptation non brouillés de cedit paquet désembrouillé et, si c'est le cas, apporter lesdits changements et inclure dans ledit flux de sortie un paquet brouillé provenant dudit flux d'entrée correspondant à cedit paquet désembrouillé, où le paquet brouillé inclut l'entête et / ou le champ d'adaptation changés ;
    déterminer s'il doit être apporté des changements aux données utiles de cedit paquet désembrouillé et, si c'est le cas, apporter lesdits changements aux données utiles afin de produire un paquet désembrouillé modifié et inclure dans ledit flux de sortie le paquet désembrouillé modifié ; et
    déterminer s'il n'y a pas de changements à apporter que ce soit aux données utiles, à l'entête ou au champ d'adaptation de cedit paquet désembrouillé, et s'il n'y a pas de changements à apporter, inclure dans ledit flux de sortie un paquet brouillé provenant dudit flux d'entrée correspondant à cedit paquet désembrouillé,
    produisant de ce fait ledit flux de sortie à transmettre, ledit flux de sortie comprenant au moins un desdits paquets désembrouillés et au moins un desdits paquets brouillés.
  38. Appareil selon la revendication 37 et dans lequel le flux de paquets comprend des données vidéo numériques.
  39. Appareil selon n'importe lesquelles des revendications 37 et 38 et comprenant de plus un processeur de paquets opérationnel pour modifier n'importe lesquels desdits paquets.
  40. Appareil selon la revendication 39 dans lequel ledit processeur de paquets est opérationnel pour déplacer un segment de données à l'intérieur des données utiles de n'importe lesquels desdits paquets d'un premier emplacement à l'intérieur desdites données utiles à un deuxième emplacement à l'intérieur desdites données utiles.
  41. Appareil selon la revendication 40 dans lequel ledit processeur de paquets est opérationnel pour réécrire sur une portion au moins dudit premier emplacement.
  42. Appareil selon la revendication 41 dans lequel ledit processeur de paquets est opérationnel pour réécrire avec indifféremment des zéros, des octets de bourrage, et des octets de remplissage.
  43. Appareil selon n'importe lesquelles des revendications 39 à 42 dans lequel ledit processeur de paquets est opérationnel pour réécrire sur des données désignées comme indésirables à l'intérieur des données utiles de n'importe lesquels desdits paquets.
  44. Appareil selon la revendication 43 dans lequel ledit processeur de paquets est opérationnel pour réécrire avec indifféremment des zéros, des octets de bourrage, et des octets de remplissage.
  45. Appareil selon n'importe lesquelles des revendications 39 à 44 dans lequel ledit processeur de paquets est opérationnel pour garder n'importe lesquels desdits paquets jusqu'à ce que lesdits paquets comprennent collectivement une unité de paquets prédéfinie et dans lequel ledit sélecteur de paquets est opérationnel pour transmettre lesdits paquets gardés comprenant ladite unité de paquets.
  46. Appareil selon n'importe lesquelles des revendications 39 à 44 dans lequel ledit processeur de paquets est opérationnel pour garder n'importe lesquels desdits paquets jusqu'à ce que lesdits paquets comprennent collectivement les données d'au moins une image, et dans lequel ledit sélecteur de paquets est opérationnel pour transmettre lesdits paquets gardés comprenant les données de ladite image.
  47. Appareil selon la revendication 46 dans lequel ledit sélecteur de paquets est opérationnel pour retransmettre lesdits paquets gardés au moins une fois supplémentaire.
  48. Appareil selon la revendication 46, dans lequel ledit sélecteur de paquets est opérationnel pour retransmettre lesdits paquets gardés un nombre de fois suffisant afin d'effectuer un facteur de ralentissement prédéterminé d'un affichage de ladite image.
  49. Appareil selon n'importe lesquelles des revendications 47 à 48 dans lequel ledit sélecteur de paquets est opérationnel pour retransmettre lorsque ladite image est une image B de protocole MPEG.
  50. Appareil selon la revendication 46, dans lequel ledit sélecteur de paquets est opérationnel pour transmettre un nombre d'images nulles suffisant afin d'effectuer un facteur de ralentissement prédéterminé d'un affichage de ladite image.
  51. Appareil selon la revendication 50 dans lequel ledit sélecteur de paquets est opérationnel pour transmettre lorsque ladite image est l'une ou l'autre d'une image P de protocole MPEG et d'une image I de protocole MPEG.
  52. Appareil selon n'importe lesquelles des revendications 46 à 51 dans lequel ledit processeur de paquets est opérationnel pour convertir n'importe lesquels desdits paquets incluant des données provenant d'images multiples en une pluralité de paquets individuels incluant chacun des données ne provenant que d'une seule desdites images multiples.
  53. Appareil selon n'importe lesquelles des revendications 48 à 51 dans lequel ledit processeur de paquets est opérationnel pour modifier n'importe lesquels desdits paquets afin de maintenir ledit facteur de ralentissement.
  54. Appareil selon n'importe lesquelles des revendications 36 à 53 et comprenant en outre le fait de modifier n'importe lesquels desdits paquets afin de maintenir la validité dudit flux de paquets relativement à un protocole MPEG.
  55. L'appareil selon la revendication 36 dans lequel ladite pluralité de paquets brouillés comprend un flux vidéo MPEG qui comprend des données qui sont désignées comme données désirables et des données qui sont désignées comme données indésirables, et
    ledit flux de paquets modifiés comprend un flux vidéo MPEG traité.
  56. Appareil selon la revendication 55 et comprenant de plus un processeur de paquets opérationnel pour supprimer n'importe lesquelles desdites données indésirables de n'importe lesquels desdits paquets désembrouillés, résultant de ce fait en un paquet désembrouillé modifié, et dans lequel ledit sélecteur de paquets est opérationnel pour transmettre ledit paquet désembrouillé modifié.
  57. Appareil selon n'importe lesquelles des revendications 55 à 56, dans lequel lesdites données désirables comprennent toutes données parmi des données d'image I et des données d'entête qui sont nécessaires pour maintenir la validité dudit flux vidéo MPEG traité relativement à un protocole MPEG.
  58. Appareil selon n'importe lesquelles des revendications 55 à 57, dans lequel lesdites données indésirables comprennent toutes données parmi des données d'image P, des données d'image B, et des données d'entête qui ne sont pas nécessaires pour maintenir la validité dudit flux vidéo MPEG traité relativement à un protocole MPEG.
  59. Appareil selon n'importe lesquelles des revendications 55 à 58 dans lequel ledit processeur de paquets est opérationnel afin de modifier toute information d'entête dans ledit flux vidéo MPEG traité afin de maintenir la validité dudit flux vidéo MPEG traité relativement à un protocole MPEG.
  60. Appareil selon n'importe lesquelles des revendications 55 à 59 dans lequel ledit processeur de paquets est opérationnel pour abandonner n'importe lesquels desdits paquets qui ne présentent que lesdites données indésirables.
  61. Appareil selon n'importe lesquelles des revendications 55 à 60 dans lequel ledit processeur de paquets est opérationnel afin de réécrire sur au moins une portion desdites données indésirables avec indifféremment des zéros, des octets de bourrage, et des octets de remplissage.
  62. Appareil selon n'importe lesquelles des revendications 55 à 61 dans lequel ledit processeur de paquets est opérationnel pour remplir un champ d'adaptation à l'intérieur de n'importe lesquels desdits paquets présentant lesdites données indésirables avec un nombre d'octets suffisant pour réécrire sur une portion au moins desdites données indésirables.
  63. Appareil selon n'importe lesquelles des revendications 55 à 62 dans lequel ledit processeur de paquets est opérationnel pour déplacer lesdites données désirables à l'intérieur des données utiles de n'importe lesquels desdits paquets d'un premier emplacement à l'intérieur desdites données utiles à un deuxième emplacement à l'intérieur desdites données utiles.
  64. Appareil selon la revendication 63 dans lequel ledit processeur de paquets est opérationnel pour réécrire sur une portion au moins dudit premier emplacement.
  65. Appareil selon la revendication 63 dans lequel ledit processeur de paquets est opérationnel afin de réécrire sur une portion au moins dudit premier emplacement avec indifféremment des zéros, des octets de bourrage, et des octets de remplissage.
  66. Appareil selon la revendication 63 dans lequel ledit processeur de paquets est opérationnel pour remplir un champ d'adaptation à l'intérieur dudit paquet avec un nombre d'octets suffisant pour réécrire sur une portion au moins dudit premier emplacement.
  67. Appareil selon n'importe lesquelles des revendications 55 à 66 dans lequel ledit processeur de paquets est opérationnel pour :
    réécrire sur un entête PES dans n'importe lesquels desdits paquets avec des octets de bourrage d'entête PES, où ledit entête PES est suivi desdites données désirables ; et
    armer un octet de signalisation dudit entête PES pour indiquer qu'aucune option entête PES n'est présente.
  68. Appareil selon n'importe lesquelles des revendications 55 à 67 dans lequel ledit processeur de paquets est opérationnel pour générer et insérer dans le flux vidéo MPEG traité un paquet TS incluant un entête PES généré où ledit entête PES est requis pour maintenir la validité dudit flux vidéo MPEG traité relativement à un protocole MPEG.
  69. Appareil selon n'importe lesquelles des revendications 55 à 68 dans lequel ledit processeur de paquets est opérationnel pour générer et insérer dans ledit flux vidéo MPEG traité un paquet TS incluant une PCR générée lorsque ladite PCR est requise pour maintenir la validité dudit flux vidéo MPEG traité relativement à un protocole MPEG.
  70. Appareil selon n'importe lesquelles des revendications 55 à 69 dans lequel ledit processeur de paquets est opérationnel pour générer et insérer un nombre d'images nulles suffisant dans ledit flux vidéo MPEG traité afin de parvenir à une vitesse de lecture prédéfinie.
  71. Appareil selon n'importe lesquelles des revendications 55 à 70 dans lequel ledit processeur de paquets est opérationnel pour, lorsque n'importe lesquels desdits paquets incluent un entête de séquence ES :
    armer un bit_rate_value dudit entête de séquence ES sur un débit binaire maximal auquel ledit flux vidéo MPEG traité sera transmis ; et
    armer un vbv_buffer_size_value dudit entête de séquence ES égal à celui qui est indiqué pour un Main Profile at Main Level.
  72. Appareil selon n'importe lesquelles des revendications 55 à 71 dans lequel ledit processeur de paquets est opérationnel pour, lorsque n'importe lesquels desdits paquets incluent un entête d'image d'une image I :
    armer une valeur temporal_reference dans ledit paquet sur zéro
    armer un vbv_delay dans ledit paquet pour indiquer qu'il n'est spécifié aucune valeur.
  73. Appareil selon n'importe lesquelles des revendications 55 à 72 dans lequel ledit processeur de paquets est opérationnel pour, lorsque n'importe lesquels desdits paquets incluent un champ d'adaptation qui peut être supprimé sans compromettre la validité dudit flux vidéo MPEG traité :
    remplacer un octet de signalisation dudit champ d'adaptation par des zéros ; et
    remplacer tous les octets restants dudit champ d'adaptation par des octets de bourrage.
EP20030706882 2002-02-22 2003-02-17 Traitement d'un flux de paquets brouille Expired - Lifetime EP1502437B1 (fr)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GBGB0204190.3A GB0204190D0 (en) 2002-02-22 2002-02-22 Apparatus and methods for processing scrambled streams
GB0204190 2002-02-22
US36063502P 2002-03-01 2002-03-01
US360635P 2002-03-01
PCT/IL2003/000124 WO2003071799A2 (fr) 2002-02-22 2003-02-17 Traitement d'un flux de paquets brouille

Publications (2)

Publication Number Publication Date
EP1502437A2 EP1502437A2 (fr) 2005-02-02
EP1502437B1 true EP1502437B1 (fr) 2010-06-02

Family

ID=27758834

Family Applications (1)

Application Number Title Priority Date Filing Date
EP20030706882 Expired - Lifetime EP1502437B1 (fr) 2002-02-22 2003-02-17 Traitement d'un flux de paquets brouille

Country Status (7)

Country Link
US (1) US9118941B2 (fr)
EP (1) EP1502437B1 (fr)
AT (1) ATE470311T1 (fr)
AU (1) AU2003208588A1 (fr)
DE (1) DE60332828D1 (fr)
IL (1) IL162470A0 (fr)
WO (1) WO2003071799A2 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567687A (zh) * 2010-12-15 2012-07-11 成都科创知识产权研究所 数据加密方法及系统

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6792449B2 (en) * 2001-06-28 2004-09-14 Microsoft Corporation Startup methods and apparatuses for use in streaming content
US7725557B2 (en) 2002-06-24 2010-05-25 Microsoft Corporation Client-side caching of streaming media content
US7385926B2 (en) * 2002-11-25 2008-06-10 Intel Corporation Apparatus to speculatively identify packets for transmission and method therefor
US8204076B2 (en) * 2003-05-01 2012-06-19 Genesis Microchip Inc. Compact packet based multimedia interface
US8068485B2 (en) * 2003-05-01 2011-11-29 Genesis Microchip Inc. Multimedia interface
US7405719B2 (en) * 2003-05-01 2008-07-29 Genesis Microchip Inc. Using packet transfer for driving LCD panel driver electronics
US8059673B2 (en) 2003-05-01 2011-11-15 Genesis Microchip Inc. Dynamic resource re-allocation in a packet based video display interface
US7839860B2 (en) 2003-05-01 2010-11-23 Genesis Microchip Inc. Packet based video display interface
US20040268400A1 (en) * 2003-06-26 2004-12-30 Microsoft Corporation Quick starting video content
US7054774B2 (en) * 2003-06-27 2006-05-30 Microsoft Corporation Midstream determination of varying bandwidth availability
US7391717B2 (en) * 2003-06-30 2008-06-24 Microsoft Corporation Streaming of variable bit rate multimedia content
US7634090B2 (en) 2003-09-26 2009-12-15 Genesis Microchip Inc. Packet based high definition high-bandwidth digital content protection
US7162533B2 (en) 2004-04-30 2007-01-09 Microsoft Corporation Session description message extensions
US20090251616A1 (en) * 2005-04-28 2009-10-08 Samsung Electronics Co., Ltd. Apparatus and method for processing data in digital broadcasting receiver
CN101151902A (zh) * 2005-04-28 2008-03-26 三星电子株式会社 在数字广播接收机中初始化解码器的装置和方法
CN101346992B (zh) * 2005-12-23 2010-12-22 皇家飞利浦电子股份有限公司 处理数据流的设备和方法
KR101419287B1 (ko) * 2006-07-07 2014-07-14 삼성전자주식회사 Ipdc 서비스를 제공하는 장치 및 방법 및 ipdc서비스를 처리하는 장치 및 방법
EP2211347B1 (fr) * 2007-11-01 2013-01-16 Panasonic Corporation Support d'enregistrement, dispositif de reproduction, dispositif d'enregistrement, procédé de reproduction et procédé d'enregistrement
US8156238B2 (en) 2009-05-13 2012-04-10 Stmicroelectronics, Inc. Wireless multimedia transport method and apparatus
US8429440B2 (en) 2009-05-13 2013-04-23 Stmicroelectronics, Inc. Flat panel display driver method and system
US8837453B2 (en) * 2009-05-28 2014-09-16 Symbol Technologies, Inc. Methods and apparatus for transmitting data based on interframe dependencies
US8671234B2 (en) 2010-05-27 2014-03-11 Stmicroelectronics, Inc. Level shifting cable adaptor and chip system for use with dual-mode multi-media device
US8630412B2 (en) * 2010-08-25 2014-01-14 Motorola Mobility Llc Transport of partially encrypted media
US9271016B2 (en) * 2013-03-15 2016-02-23 Verimatrix, Inc. Reformatting media streams to include auxiliary data

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0152788B1 (ko) * 1994-11-26 1998-10-15 이헌조 디지탈 영상 시스템의 복사 방지 방법 및 장치
US5517502A (en) 1995-03-02 1996-05-14 Zenith Electronics Corp. Upstream transmission using multiple transmission tags and downstream acknowledgements in conditional access packets
US6445738B1 (en) * 1996-04-25 2002-09-03 Opentv, Inc. System and method for creating trick play video streams from a compressed normal play video bitstream
JP4850341B2 (ja) 1999-03-15 2012-01-11 トムソン ライセンシング デジタル・ホーム・ネットワーク用のグローバル・コピー保護システム
AU2000248144A1 (en) 2000-05-02 2002-02-25 General Instrument Corporation Method and apparatus for enabling random access to individual pictures in an encrypted video stream
JP4331876B2 (ja) * 2000-09-18 2009-09-16 パナソニック株式会社 デジタル信号記録再生システム
US20030237089A1 (en) * 2000-11-15 2003-12-25 Wajs Andrew Augustine System for scrambling content, and system for descrambling scrambled content

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567687A (zh) * 2010-12-15 2012-07-11 成都科创知识产权研究所 数据加密方法及系统

Also Published As

Publication number Publication date
AU2003208588A1 (en) 2003-09-09
IL162470A0 (en) 2005-11-20
AU2003208588A8 (en) 2003-09-09
EP1502437A2 (fr) 2005-02-02
WO2003071799A2 (fr) 2003-08-28
WO2003071799A3 (fr) 2004-04-08
ATE470311T1 (de) 2010-06-15
US9118941B2 (en) 2015-08-25
US20050157714A1 (en) 2005-07-21
DE60332828D1 (de) 2010-07-15

Similar Documents

Publication Publication Date Title
EP1502437B1 (fr) Traitement d'un flux de paquets brouille
KR101010170B1 (ko) 인코드된 비디오 스트림들 간의 심리스 스플라이싱을 위한비디오 인코딩
KR100467298B1 (ko) 디지털 비디오 데이터를 처리 및 디코딩하기 위한 시스템/방법, 저장 매체 및 삽입형 전자 스마트 카드
KR100474209B1 (ko) 프로그램을 나타내는 데이터를 처리하기 위한 방법
JP4246836B2 (ja) ディジタル・データストリームを発生する方法およびディジタル装置
US6925180B2 (en) PC card recorder
CA2408232C (fr) Procede et appareil permettant l'acces aleatoire a des images individuelles dans un flot de video chiffre
US20040103428A1 (en) Apparatus for controlling storage and playback of digital broadcasting contents
RU2547624C2 (ru) Способ сигнализации для широковещания видео-контента, способ записи и устройство, использующее сигнализацию
EP1367818A2 (fr) Système de distribution de flux, serveur, ante-serveur, dispositif d'enregistrement et de lecture de flux, programmes informatiques et procédés associés
JP2008252949A (ja) 暗号化プログラム・データを適応的に処理する方法
JP2000512095A (ja) プログラムを特定する情報を含んでいるディジタル・データを復号化する方法
JPH08340541A (ja) デジタルデータの伝送方法、伝送装置、記録方法、記録装置、再生方法、再生装置、記録再生方法及び記録再生装置
JP3045715B2 (ja) 伝送システム、送信装置、記録再生装置、および記録装置
CN102326403B (zh) 利用外部图片属性标记来加快频道改变时间
JP2002165188A (ja) コンテンツ配信方法及びコンテンツデータ記録再生方法及び装置
US7287160B2 (en) Recording medium, reproducing device, and recording/reproducing device
US20140157311A1 (en) Faster Access to Television Channels
JP4613860B2 (ja) Mpeg符号化ストリーム復号装置
JPH08340514A (ja) デジタルデータの記録方法、記録装置及び再生システム
US6847780B2 (en) Trick-mode stream creation for personal video recording functions
JP4192766B2 (ja) 受信装置および方法、記録媒体、並びにプログラム
JP4349764B2 (ja) 再生装置、および記録再生装置
JP3090129B2 (ja) 多重化装置
EP1315379A2 (fr) Mise à disposition et traitement de données pour au moins deux versions de parties de programme de télévision

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20040708

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT SE SI SK TR

AX Request for extension of the european patent

Extension state: AL LT LV MK RO

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: NDS LIMITED

17Q First examination report despatched

Effective date: 20081111

111Z Information provided on other rights and legal means of execution

Free format text: AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT SE SI SK TR

Effective date: 20090430

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

GRAJ Information related to disapproval of communication of intention to grant by the applicant or resumption of examination proceedings by the epo deleted

Free format text: ORIGINAL CODE: EPIDOSDIGR1

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: NDS LIMITED

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT SE SI SK TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

REF Corresponds to:

Ref document number: 60332828

Country of ref document: DE

Date of ref document: 20100715

Kind code of ref document: P

REG Reference to a national code

Ref country code: CH

Ref legal event code: NV

Representative=s name: MURGITROYD & COMPANY

REG Reference to a national code

Ref country code: NL

Ref legal event code: T3

REG Reference to a national code

Ref country code: ES

Ref legal event code: FG2A

Ref document number: 2346644

Country of ref document: ES

Kind code of ref document: T3

REG Reference to a national code

Ref country code: GR

Ref legal event code: EP

Ref document number: 20100402051

Country of ref document: GR

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100602

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100602

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100602

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100602

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100602

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100602

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100602

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20101004

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100602

Ref country code: BE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100602

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100602

26N No opposition filed

Effective date: 20110303

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 60332828

Country of ref document: DE

Effective date: 20110302

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20110228

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20110217

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100902

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100602

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 14

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: CH

Payment date: 20160226

Year of fee payment: 14

Ref country code: IT

Payment date: 20160223

Year of fee payment: 14

Ref country code: NL

Payment date: 20160225

Year of fee payment: 14

Ref country code: ES

Payment date: 20160226

Year of fee payment: 14

Ref country code: TR

Payment date: 20160204

Year of fee payment: 14

Ref country code: IE

Payment date: 20160226

Year of fee payment: 14

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GR

Payment date: 20160226

Year of fee payment: 14

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 15

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

REG Reference to a national code

Ref country code: NL

Ref legal event code: MM

Effective date: 20170301

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20170228

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20170228

Ref country code: GR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20170906

REG Reference to a national code

Ref country code: IE

Ref legal event code: MM4A

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: NL

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20170301

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 16

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20170217

Ref country code: IT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20170217

REG Reference to a national code

Ref country code: ES

Ref legal event code: FD2A

Effective date: 20180629

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: ES

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20170218

REG Reference to a national code

Ref country code: DE

Ref legal event code: R082

Ref document number: 60332828

Country of ref document: DE

Representative=s name: MURGITROYD & COMPANY, DE

Ref country code: DE

Ref legal event code: R081

Ref document number: 60332828

Country of ref document: DE

Owner name: SYNAMEDIA LIMITED, STAINES, GB

Free format text: FORMER OWNER: NDS LTD., STAINES, MIDDLESEX, GB

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20220225

Year of fee payment: 20

Ref country code: DE

Payment date: 20220225

Year of fee payment: 20

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20220223

Year of fee payment: 20

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: TR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20170217

REG Reference to a national code

Ref country code: DE

Ref legal event code: R071

Ref document number: 60332828

Country of ref document: DE

REG Reference to a national code

Ref country code: GB

Ref legal event code: PE20

Expiry date: 20230216

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF EXPIRATION OF PROTECTION

Effective date: 20230216