WO2004056114A1 - Synchronisation de flux audiovisuels securises - Google Patents

Synchronisation de flux audiovisuels securises Download PDF

Info

Publication number
WO2004056114A1
WO2004056114A1 PCT/FR2003/050158 FR0350158W WO2004056114A1 WO 2004056114 A1 WO2004056114 A1 WO 2004056114A1 FR 0350158 W FR0350158 W FR 0350158W WO 2004056114 A1 WO2004056114 A1 WO 2004056114A1
Authority
WO
WIPO (PCT)
Prior art keywords
stream
additional information
server
video
distribution
Prior art date
Application number
PCT/FR2003/050158
Other languages
English (en)
Inventor
Daniel Lecomte
Sébastien Georges
Original Assignee
Medialive
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 Medialive filed Critical Medialive
Priority to US10/537,323 priority Critical patent/US7864759B2/en
Priority to EP03799714A priority patent/EP1570672A1/fr
Priority to AU2003299417A priority patent/AU2003299417A1/en
Publication of WO2004056114A1 publication Critical patent/WO2004056114A1/fr

Links

Classifications

    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • H04N21/44055Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption by partially decrypting, e.g. decrypting a video stream that has been partially encrypted
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • H04N21/23476Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption by partially encrypting, e.g. encrypting the ending portion of a movie
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • 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/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/631Multimode Transmission, e.g. transmitting basic layers and enhancement layers of the content over different transmission paths or transmitting with different error corrections, different keys or with different transmission protocols
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17336Handling of requests in head-ends

Definitions

  • the present invention relates to the field of processing digital video streams. It is proposed in the present invention to provide a system for recomposing digital video content previously visually scrambled.
  • the present invention relates more particularly to a device capable of securely transmitting a set of films of high visual quality to a viewing screen such as a television screen and / or to be recorded on the hard disk or on any other medium.
  • recording of a box connecting the remote transmission network to the display screen such as a television screen or a personal computer monitor while preserving audiovisual quality but avoiding any fraudulent use such as the possibility of making copies pirates of films or audiovisual programs recorded on the hard disk or any other recording medium of the set-top box.
  • the main drawback of all current solutions is that it is necessary to transmit not only the encrypted data to the users, but also the decryption keys.
  • the transmission of the decryption keys can be done before, at the same time or after the transmission of the audiovisual programs.
  • the decryption keys as well as the decryption functions of audiovisual decoders can include improved security means such as smart cards or other physical keys which can optionally , be updated remotely.
  • One solution would therefore consist in transmitting all or part of a digital audiovisual program only to the demand (video on demand services) through a broadband telecommunications network such as ADSL, cable or satellite, without authorizing local recording of audiovisual programs.
  • a broadband telecommunications network such as ADSL, cable or satellite
  • the disadvantage is quite different and comes from the performance of these networks which do not guarantee continuous streams of a few megabits per second for each user, as required by MPEG streams which require bandwidths of a few hundred kilobits at several megabits per second.
  • a solution consists in separating the flow into two parts, none of which would be usable alone. In this perspective, several patents have been filed.
  • document O09908428 discloses a multi-application processing method for an active localizable terminal in which at least one connection is made with an identifiable program dedicated to the execution of an application, said program dictating its operating conditions at the terminal for the provision of functions.
  • the terminal dialogues punctually, by the use of a link, with the management center for the realization, if necessary, of the inputs and outputs of the latter's capacities, the management center becoming slave or not of the terminal at the level of the 'application to the incoming program.
  • This invention also relates to the method for identifying the program and the terminal in operation. This prior art method divides the stream into a part serving to identify the user and a part which contains the program itself.
  • the document WO0049483 also offers us methods and systems for creating a link between the users and an editor of digitized entities.
  • the method comprises at least one of the following steps: the step of dividing said digital entity into two parts; the step of storing a part in a memory area of a server connected to a computer network; the step of transmitting the other party to at least one user having computer equipment; the step of connecting said computer equipment to said computer network; the step of establishing a functional link between said first part and said second part.
  • These methods and systems do not specify on the one hand if the part stored on the server can be stored by the user which would allow him to hack said digitized entity, and on the other hand how to synchronize said two parts .
  • document US5892825 includes the previous patent but in a narrower context because the streams are still encrypted there;
  • document US6035329 is based on the same principle, it relates to a method allowing the reading of a disc of CD-ROM or DVD-ROM type conditionally to the identification of the rights by the insertion of a smart card on which the information necessary for reading are stored. This process is not yet sufficient for our problem because it does not guarantee that the modified stream is of the same format as the original stream.
  • document US6185306 relates to a method of transmitting encrypted data from a website to a requesting computer. This process however allows the user to have at any given time all the tools necessary to copy the data.
  • Fragmentation is applied in order to separate the I images from the rest of the stream in order to encrypt them. After this selective encryption, the fragments are sent using different queues. However, all the data of the audiovisual stream remains inside the protected stream, all or part of the stream not being encrypted.
  • patent WO 01/97520 also presents methods, methods and devices for controlling the transmission and recording of digitized content of MPEG-2 type.
  • this patent has no specificity for the synchronization of the streams which constitute the two parts of the same audiovisual program.
  • the method described in this patent is totally ineffective for low-speed telecommunications networks, because it substitutes all or part of the I images whose weight in bytes is very expensive during the transmission of the second stream.
  • the invention relates in its most general acceptance to a process for the distribution of video sequences according to a nominal stream format consisting of a succession of images, said stream on which one proceeds, before transmission to the client equipment, to an analysis to generate a modified main flow, presenting the format of the nominal flow, and presenting images modified by the substitution of certain data by data of the same nature but random or calculated, and additional information of any format, comprising the substituted data and the digital information able to allow the reconstruction of said modified nominal stream, then to transmit separately, the main stream modified in real time or in deferred time and the additional information in real time at the time of display from the server to the recipient equipment, and for which we calculate e on the recipient equipment a summary of a flow available in nominal format, reconstituted as a function of said modified main stream and of said additional information and a reading of said stream available on the recipient equipment, characterized in that said method comprises, during said reading of said stream, a step consisting in generating an identifier of position as a function of
  • each image of the nominal flux is associated with a position indicator.
  • the reading step comprises an operation for calculating the position identifier of the image read.
  • the reading step comprises an operation for calculating the position identifier of the stream read.
  • the additional information is sent in portions.
  • the stream available on the recipient equipment, the reading of which conditions the position and the portion to be sent of said additional information is a part of the modified main stream.
  • the flow available on the recipient equipment, the reading of which conditions the position and the portion to be sent of said additional information is a part of the nominal flow reconstituted.
  • the nominal stream format is defined by the MPEG-2 standard.
  • said position identifier for an image consists of variables w time_code ", or time code, associated with the group of images in which the image under consideration is found and ⁇ temporal_reference", or time reference, for the image, which are variables defined by MPEG-2.
  • each portion of said additional information sent by the server makes it possible to reconstruct at least one image of the original flow during said synthesis.
  • the server adapts the size and the content of each portion of said additional information to be sent as a function of said position identifier.
  • each portion of said additional information is sent in advance with respect to the instant of display of said image of the stream reconstituted with said portion.
  • the server adapts the sending of additional information, when the user of the recipient equipment takes a “break”, by stopping the sending of the additional information.
  • the server adapts the sending of additional information, when the user of the recipient equipment makes “fast forward” or “fast return”, by sending the portion corresponding to the appropriate position for the "fast forward” commands. and "quick return”.
  • the server adapts the sending of additional information when a network failure occurs which prevents client-server communication, by stopping the sending of additional information during the failure and resuming it when the failure stops and that it receives messages from the client again.
  • the server creates, before sending the additional information, a table associating pointers to portions of the information complementary with temporal positions relative to images of the video stream, stores said table on a support connected to the server and consults said table to determine the portion of complementary information to be sent after having received said position identifier.
  • the invention also relates to equipment for manufacturing a video stream for the implementation of the method as described above, comprising at least one multimedia server containing the original video sequences, a device for analyzing the stream video from said server to generate said modified main stream and said additional information and which in particular comprises a device for synchronizing the sending of said additional information as a function of said position identifier sent by the recipient equipment.
  • the invention finally relates to a system for the transmission of a video stream according to the method described above, comprising equipment for producing a video stream, at least one equipment for operating a video stream and at least one communication network between the production equipment and the operating equipment (s).
  • FIG. 1 describes the overall architecture of a system for implementing the method according to the invention
  • FIG. 2 shows a particular embodiment of the audiovisual stream synchronization system according to the invention.
  • the general principle of a method for securing a video stream is set out below.
  • the invention relates to a i wv / i / UI ⁇ W
  • the format contains a means of locating said digital image in the stream using a time position identifier making it possible to know when the image in question must be displayed.
  • This process includes:
  • a preparatory step consisting in modifying at least one of said elements of one of said images, the bit stream thus generated being called modified main stream;
  • a transmission step o of the modified main stream conforming to the format of the nominal stream, consisting of images containing the elements modified during the preparatory step and o of additional digital information by a separate channel from said modified main stream, allowing the original flow to be reconstructed from the calculation, on the recipient equipment, as a function of said modified main flow and of said additional information.
  • Said complementary information is defined as a set consisting of data (for example elements describing the original digital stream or extracted from the original stream) and functions (for example, the substitution or permutation function).
  • a function is defined as containing at least one instruction relating to data and operators.
  • Said additional information describes the operations to be carried out to recover the original flow from the modified main flow.
  • the original flow is reconstituted on the recipient equipment from the modified main stream already present on the recipient equipment or sent in real time and additional information sent in real time at the time of viewing, including data and functions performed using digital routines (set of instructions).
  • the additional information is sent by the server according to the position of the read head in the stream available on the client equipment. This position, defined by a position identifier or synchronization element, is sent regularly by the client to the server following the instant of viewing by the client of the stream available on the client equipment.
  • Said flow available on the client equipment is identical to the original flow if the client has the rights to display it and if it is connected to the server containing the additional information, or identical to the modified main flow if not not the case.
  • the term “scrambling” is understood to mean the modification of a digital video stream by appropriate methods so that this stream remains in accordance with the standard with which it has been encoded.
  • the term “descrambling” is understood to mean the process of restitution by appropriate methods of the initial stream, the video stream restored after descrambling being identical to the initial video stream.
  • the present invention provides protection through scrambling of the video stream based entirely on its structure, protection which consists in modifying targeted parts of the "bitstream" essential for the understanding of the film by a human eye.
  • the true values of these targeted parts are extracted from the bitstream and stored as additional information, and in their places are put random or calculated values or permuted values, and this over the entire video stream.
  • “decoys” are added for the decoder, that is to say values understandable for the decoder, but not identical to those present in the nominal stream, which receives as input a video stream completely conforming to the video format d origin, but which is not acceptable from the point of view of visual perception by a human being.
  • the principle described below ensures a high level of protection without requiring a client - broadband server link since said additional information to be sent represents only a small percentage of the original video stream, the modified main stream already being present on the client's equipment.
  • the protection carried out in accordance with the invention, is based on the principle of the deletion and / or replacement of information describing the video signal by any method, either: substitution, modification or displacement of the information. This protection is also based on knowledge of the structure of the stream at the output of the video encoder: the scrambling depends on the content of said digital video stream.
  • the original flow is reconstituted on the receiving equipment from the modified main flow already present or received in real time on the receiving equipment and additional information sent in real time at the time of viewing, including data and functions performed using digital routines (set of instructions).
  • the present invention relates in particular to the synchronization process between the supplier of the additional information (the server) and the reader / display installed at the customer.
  • the invention uses synchronization elements (or identifiers of position of the read head in the stream available on the recipient equipment) which make it possible to make the link between a given portion of the additional information and the portion of the stream main modified which it allows to modify in order to reconstitute the corresponding part of the nominal flow.
  • the invention uses time position data relating to the read head of the client in the video stream available on the client equipment, such as that contained in an MPEG stream, to determine the additional information to be sent.
  • Another possibility is to number the images of the stream main modified and to indicate, in the different portions of the additional information, the number of the image or images of the modified main flow that said portion allows to modify in order to reconstitute the corresponding part of the nominal flow.
  • Another exemplary embodiment consists in using binary words calculated from the modified main stream, a given binary word being specific to a portion of the given modified main stream, which is then specified in the portion of the corresponding complementary information.
  • Another exemplary embodiment consists in using binary words calculated from the modified main stream, a given binary word being specific to an image of the given modified main stream, which is then specified in the portion of the corresponding complementary information.
  • Another exemplary embodiment consists in adding a unique binary word in each user field of the modified main stream (“user data” field of MPEG-2 for example), and in the corresponding complementary information portion.
  • a user field is characterized in that binary information can be added to it without affecting the display of the video binary stream containing it.
  • the client regularly sends the server the read head position identifier of the client in the available stream on the recipient equipment (time position or binary word) allowing the server to determine the portion of the additional information that the client equipment needs to transform the modified main flow in order to reconstitute the corresponding part of the nominal flow.
  • the invention will be better understood on reading an exemplary embodiment of the invention, with reference to FIGS. 1 and 2.
  • the invention relates to a video sequence encoded in the MPEG-2 format, without this constituting a reduction in the scope of the present invention.
  • the video interface arrangement (8) is adapted to connect at least one display device, for example a monitor, a video projector or a television screen type device (6), to at least a broadband transmission and broadcasting network interface (4) and at least one telecommunications network interface (10).
  • this arrangement is composed of a module (8) mainly comprising, on the one hand, a processing unit suitable for processing, in particular decoding and descrambling any video stream of MPEG-2 type according to a software program of decoding and descrambling preloaded, so as to display it, in real time or deferred, to store it, to record it and / or to send it via a telecommunications network and, on the other hand, at least one screen interface (7) and an interface for connection to a local or wide area network (5) and / or (9).
  • the broadband transmission and broadcasting network (4) and the telecommunications network (10) can be combined into a single network.
  • the hard disk or the recording device of the module (8) can be used as a buffer memory for temporarily storing at least part of the program or of the video sequence to be displayed, in the event of delayed viewing or of limitation in the bandwidth of the transmission network. Viewing can be delayed or delayed at the request of the user or the portal (12). As shown in Figure 1, the connection interface
  • a broadband transmission and broadcasting network (4) such as a modem, a satellite modem, a cable modem, a fiber optic line interface or a radio or infrared interface for wireless communication.
  • this small part of the audiovisual content stored in the portal (12) will also be sent to the module (8) in real time, via the telecommunications network (10).
  • the audiovisual stream is divided into a hierarchy of structures nested within one another.
  • a "stream” contains an indefinite number of groups of images linked to each other ("GOP”: “Group of Pictures”); a group of images contains a certain number of images (generally 12 or 15 for MPEG but this is not compulsory); an image is broken down into slices; a slice contains a series of macroblocks; a macroblock groups together between 6 and 12 blocks; a block contains the information relating to a square of 8 pixels by 8 in the form of frequency coefficients.
  • GOP Group of Pictures
  • the flow is compressed by a discrete cosine transformation (DCT), which is applied to each block so as to concentrate the relevant information in only certain coefficients so as to be able to suppress the others and thus reducing the quantity of information to be stored, and to a sampling of the transformed coefficients and a coding intended to reduce the size of the stream (for example a coding with variable length or a coding of the "Run-Level" type).
  • DCT discrete cosine transformation
  • the nominal flow (101) comes from the server (1) to be transmitted to the portal (12).
  • the portal analysis device (121) (12) analyzes the nominal flow (101) to constitute, on the one hand, the modified main flow (122) and, on the other hand, the additional information (123).
  • the modified main stream (122) is passed to the client in some way. This way can be: through a broadband network (4) of BLR or DSL type, through a mobile network of GSM type, or even through a CD-ROM or other physical medium.
  • Client stores modified main stream
  • a physical medium (85) located at his home said physical medium possibly being a hard disk or a CD-ROM.
  • the client (8) When the client (8) wishes to watch the video sequence corresponding to this modified main stream, it sends the request to the server (12), specifying an identifier of the requested video sequence and providing at least one identifier of the client (8).
  • the server (12) receives the request from the client and checks whether the latter has the right to watch the requested sequence, using the identifier of the sequence and that of the client. This verification can be done for example using a database listing for each client the list of authorized video sequences.
  • the server (12) establishes a connection with the client to transmit the additional information
  • the client (8) sends the server (12) the playhead position identifiers in the requested video stream.
  • the server (12) receives the position information and adapts the content of the additional information (123) transmitted to the client through the link (10) according to said position.
  • the position information is transmitted at the same time as the request for the video sequence and the server begins broadcasting the additional information corresponding to said position after having checked the authorization.
  • the client (8) receives the part of the additional information (123) corresponding to the position of the read head and stores it in the input buffer (86).
  • This buffer is preferably a volatile memory.
  • the client reads from the storage medium (85) the modified main stream corresponding to this position via the read buffer (83).
  • the synthesis device (87) uses the additional information stored in the input buffer (86) and the main stream stored in the read buffer (83) to reconstruct the original stream without error and send it to the reader ( 81).
  • the original stream, read by the reader (81) is then displayed on the display device (6).
  • two variables for each image of the stream are used as position identifier: the variable "temporal_reference” or time reference, present in the field “picture_header” or image header for each image, and the variable “time_code ”Or time code, present in the“ Group Of Pictures Header ”field or image group header for the group of images in which the image in question is found.
  • These variables are used to uniquely identify an image in a total duration MPEG-2 video stream. less than 24h.
  • the client regularly sends its position in the video stream to the server by communicating these two data to it.
  • the server adapts the portion of the additional information to be sent according to this position.
  • each portion of the additional information indeed contains a copy of these position identifiers or synchronization elements making it possible to make a unique link between the image of the modified main stream and the portion of the corresponding complementary information which makes it possible to modify the stream. principal modified to restore the corresponding part of the nominal flow.
  • the additional information is contained in a single file.
  • the server (12) receives the position variables from the client, it determines the portion of the additional information to be sent by browsing said file. So that the search for the desired portion is faster, the invention can advantageously use a table which matches a position in said file with an image of the main scrambled stream, this table being produced during a prior phase, associated with the main flow analysis.
  • the synchronization element or identifier of the position of the read head in the stream available on the recipient equipment is the number of the current image, that is to say the order d appearance of said image within the corresponding modified main stream.
  • the first image of the modified main stream will have the number 1, the second the number 2, and the 22 e ⁇ e the number 22.
  • This number is also indicated in the additional information so as to be able to make the link between the image of the modified main stream and the portion of the corresponding additional information which enables the transformation of the main flow modified to restore the corresponding part of the nominal flow.
  • the synchronization elements or position identifiers of the read head in the stream available on the recipient equipment are binary words calculated from the modified main stream, a given binary word being specific to the content d '' a given portion of the modified main stream, said portion being characterized by its binary position, defined by the number of bits which separate it from the start of the stream, and its size, said binary word being specified in the portion of the corresponding complementary information .
  • This binary word is calculated from the binary content of said portion so that two different referenced portions produce different binary words.
  • a code hash table is a collection of entries, where each entry consists of a key and a value. You cannot have two entries with the same key. From a key, a code hash table can quickly find the corresponding entry.
  • said binary word is not calculated from the binary content of a portion of the modified main stream characterized by its binary position and its size, but from the binary content d 'a given modified main stream image.
  • the synchronization elements or position identifiers of the head of read in the stream available on the destination device are binary words inserted in each user field of the modified main stream ("user data" field of MPEG-2 which can be inserted before each frame of an MPEG-2 video stream ), and in the corresponding additional information section.
  • Each binary word is different so that the link between an image of the modified main stream and a portion of the additional information is unique.
  • the client in normal and continuous operation of displaying the video stream (simple reading), the client (8) sends position information corresponding to the last image to the server. or to the last displayed portion of the flow available on the recipient equipment, which can either be from the modified main flow if the client has not received the corresponding additional information to modify the modified main flow in order to reconstitute the corresponding part of the flow nominal, or resulting from the reconstituted flow identical to the nominal flow in the opposite case.
  • the server receives this position information and calculates the portion of additional information to be sent to allow viewing of the content according to this last position displayed.
  • this calculation is possible thanks to the correspondence between the time reference couples (time code present in the messages sent by the client to the server) and the couples of the same kind entered in the additional information. .
  • the position sent by the client (8) corresponds to a portion of additional information recently sent by the server (12).
  • the latter therefore sends the following portion of the additional information to the client (8) via the network (10).
  • This portion actually corresponds to images that the client will soon display on the display device (6), to allow time for the synthesis device (87) to descramble the flow. If the server sent the additional information corresponding to what the client is displaying, it would arrive too late at the client to be used, so it must be sent with slight anticipation.
  • the server (12) sends the additional information in packets, each packet comprising the information necessary to reconstruct several images. If each packet corresponds to a duration t of the video sequence and the transmission of the packet occupies a duration fc ', the server (12) waits for a duration (tt' ' ) between the end of the transmission of a packet and the start of the next packet transmission. At the end of this wait, the server wakes up and analyzes the messages coming from the client. These messages then condition the behavior of the server as described above.
  • the server (12) sends portions of additional information as long as it receives messages from the client (8) giving it the position of the read head.
  • the client stops reading (“pause” or “stop” or network disconnection)
  • the server does not receive messages from the client equipment for the time necessary for the latter to view the video stream corresponding to the last additional information packet sent (duration t), that is to say - say if he did not receive new messages when he woke up, he stops sending portions of additional information.
  • the sending of portions of additional information resumes when the client resumes playing the video sequence and therefore sending position information.
  • the server ceases to receive read head position identifiers and therefore stops sending the message. 'additional information ; and when the failure ceases, the client equipment sends its current position in the flow available on the client equipment, the server receives it, adapts to it and sends the corresponding additional information.
  • the server no longer receives messages from the client and therefore stops sending the additional information: it resumes when the client resumes playing the video stream available on the client equipment.
  • the client-server session is closed.
  • the server sends the additional information from the portion corresponding to that which it received before the session ended.
  • the display of the video stream on the client equipment does not resume until it begins to receive the additional information from the server.
  • the new position sent to the server is a position earlier than the last position sent.
  • the next send from the server is therefore part of the additional information located before the last part sent.
  • the quantity and therefore the duration of the information additional information sent by the server depends on the reverse speed which has been chosen by the client. This feature allows you to offer multiple reverse speeds on customer equipment.
  • the new position sent to the server is later than the position "expected" by the server, that is to say the position corresponding to the last part additional information sent from the server to the client.
  • the next send from the server is therefore part of the additional information located after the last part sent.
  • the amount of additional information sent by the server depends on the "fast forward" speed that has been chosen by the client. This functionality makes it possible to offer several “fast forward” speeds on the client's equipment.
  • the invention also includes a reception acknowledgment mechanism.
  • the portion of additional information sent by the server (12) is stored in the input buffer (86). If the synthesis device (87) needs this additional information to reconstruct the original flow and it arrives there, the client (8) sends a confirmation message to specify to the server (12) whether it has received the additional information and whether he was able to use it for posting. If the client was unable to use the additional information, this means for the server that it came too late (after the time when it was to be used) and therefore that the client and the server are out of sync. In this case, the input buffer (86) is empty and the server (12) adapts the information flow it sends to ensure that it fills this stamp. For this, the server (12) must anticipate the reading of the client (8) at greater length. He then has two solutions:
  • the network protocol used for communications between the client and the server is UDP ("User Datagram Protocol").
  • Each MPEG-2 TS packet within of the stream is uniquely identified, in order to correctly synchronize the modified main stream and the additional information, and to reinsert the original packets in the stream during the descrambling phase.
  • the descrambling operation of the TS protected packet substitution stream is simple and efficient.
  • the descrambling module uses information relating to the MPEG-2 TS encapsulation of the data, called “identifiers”, without using the data relating to the video content for synchronization.
  • Said identifiers used for synchronization are:
  • the “program identifier” of a TS packet is located in the header of each TS packet allowing an MPEG-2 decoder to associate all the TS packets relating to the same stream during demultiplexing.
  • the “continuity counter” of a TS packet is a cyclic counter varying between 0 and Nl and allows the packets to be put back in order in the event of permutation or packet loss, due to a network transmission error, in a group of N consecutive packets.
  • the "reference clock” is an optional binary field and is used by the decoder to calculate a time base.
  • the index of occurrence of the continuity counter not present in the TS packets is calculated by the analysis and scrambling module (12). Said occurrence index corresponds, for a given packet, to the number of TS packets having the same reference clock and the same continuity counter, which have followed one another since the last reference clock field.
  • the reference clock is relative to the program identifier of the packet. Consequently, a TS packet containing a reference clock will necessarily have an occurrence index of 1.
  • the TS packet with the same program identifier and the same continuity counter which will follow will therefore have an occurrence index of 2
  • the occurrence indexes of the following packets are incremented by 1 if their continuity counter has rotated by one cycle (N) and their program identifier is identical, until a new reference clock relating to the same flow is encountered.
  • the scrambling module saves the original TS packets which have been replaced in the complementary information, it systematically associates them with the four identifiers mentioned above:
  • the program identifier of the package allows, on the client side, to know to which elementary stream the package belongs.
  • the last reference clock encountered makes it possible to locate the time slot (with a granularity of 100 ms) to which the packet belongs.
  • the index of occurrence of the continuity counter makes it possible to identify a group of N TS packets to which the packet belongs.
  • the continuity counter makes it possible to identify which packet exactly we are referring to within this group of N packets.
  • the server when the client (8) wishes to view the stream, the server first sends part of the additional information containing original TS packets, including associated TS synchronization information.
  • the descrambling module (87) receives a packet of additional information, it uses the synchronization identifiers to correspond with the packets of the modified main stream and replaces them with the original packets present in the complementary information.
  • the descrambling module regularly transmits to the server (12) the synchronization identifiers originating from the packets of the modified main stream which is being descrambled and displayed on the screen of display (6).
  • the server (12) deduces therefrom the portion of additional information which the client will need in the coming moments and sends him the necessary packets of additional information.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

La présente invention concerne un procédé pour la synchronisation de flux vidéo lors de la distribution sécurisée de séquences vidéos selon un format de flux nominal de type MPEG constitués par une succession d'images. On procède, avant la transmission à l'équipement client, à une analyse du flux pour générer un flux principal modifié, présentant le format d'un flux nominal, et présentant des images modifiées par la substitution de certaines données par des données de même nature mais aléatoires ou calculées, et une information complémentaire d'un format quelconque, comportant les données substituées et les informations numériques aptes à permettre la reconstruction dudit flux modifié, référencées par des éléments de synchronisation permettant de savoir à quelle image du flux principal modifié elles se réfèrent, puis on transmet séparément, le flux principal en temps réel ou en temps différé et l'information complémentaire en temps réel au moment de la visualisation depuis le serveur vers l'équipement destinataire, et on calcule sur l'équipement destinataire une synthèse d'un flux reconstitué au format nominal en fonction dudit flux principal et de ladite information complémentaire et une lecture dudit flux reconstitué sur l'équipement destinataire. La lecture sur l'équipement destinataire conditionne l'envoi de ladite information complémentaire, celle-ci étant envoyée par portions en fonction dudit identifiant de position transmis par l'équipement destinataire au serveur.

Description

SYNCHRONISATION DE FLUX AUDIOVISUELS SECURISES
La présente invention se rapporte au domaine du traitement de flux vidéo numériques. On se propose dans la présente invention de fournir un système permettant de recomposer un contenu vidéo numérique préalablement embrouillé visuellement.
La présente invention se rapporte plus particulièrement à un dispositif capable de transmettre de façon sécurisée un ensemble de films de haute qualité visuelle vers un écran de visualisation type écran de télévision et/ou pour être enregistré sur le disque dur ou sur tout autre support d'enregistrement d'un boîtier reliant le réseau de télétransmission à l'écran de visualisation tel qu'un écran de télévision ou un moniteur d'ordinateur personnel, tout en préservant la qualité audiovisuelle mais en évitant toute utilisation frauduleuse comme la possibilité de faire des copies pirates de films ou de programmes audiovisuels enregistrés sur le disque dur ou tout autre support d'enregistrement du boîtier décodeur. L' invention concerne un système client - serveur et le mécanisme de synchronisation entre le serveur qui fournit le flux permettant le visionnage du film vidéo numérique sécurisé et le client qui lit et affiche le flux vidéo numérique .
Avec les solutions actuelles, il est possible de transmettre des films et des programmes audiovisuels sous forme numérique via des réseaux de diffusion de type hertzien, câble, satellite, etc. ou via des réseaux de télécommunication type DSL (Digital Subscriber Line) ou BLR (boucle locale radio) ou via des réseaux DAB (Digital Audio Broadcasting) , etc. Par ailleurs, pour éviter le piratage des œuvres ainsi diffusées, ces dernières sont souvent cryptées ou embrouillées par divers moyens bien connus de l'homme de l'art.
Toutefois, l'inconvénient principal de toutes les solutions actuelles (TiVo Inc., WO00165762) est qu'il faut transmettre non seulement les données cryptées vers les utilisateurs, mais également les clés de décryptage. La transmission des clés de décryptage pouvant se faire avant, en même temps ou après la transmission des programmes audiovisuels. Pour augmenter la sécurité et donc la protection des œuvres audiovisuelles contre une utilisation mal intentionnée, les clés de décryptage ainsi que les fonctions de décryptage des décodeurs audiovisuels peuvent comporter des moyens de sécurité améliorés comme des cartes à puces ou autres clés physiques qui peuvent en option, être mises à jour à distance.
Ainsi, les solutions actuelles appliquées à un boîtier décodeur avec possibilité d'enregistrement local de programmes audiovisuels sous forme numérique sur un support quelconque de type disque dur ou autre type de mémoire, offrent à un usager mal intentionné, la possibilité de faire des copies non autorisées des programmes ainsi enregistrés, puisqu'à un moment donné, cet usager possède avec son boîtier décodeur numérique, associé ou pas à des systèmes de cartes à puce, toutes les informations, programmes logiciels et données permettant le décryptage complet des programmes audiovisuels. En raison justement du fait qu'il possède toutes les données, l'usager mal intentionné aura la possibilité de faire des copies illégales sans que personne ne s'aperçoive de cette copie frauduleuse au moment où elle est faite.
Une solution consisterait donc à transmettre tout ou partie d'un programme audiovisuel numérique uniquement à la demande (services de vidéo à la demande) à travers un réseau de télécommunication large bande de type ADSL, câble ou satellite, sans autoriser l'enregistrement local des programmes audiovisuels. Ici, l'inconvénient est tout autre et provient des performances de ces réseaux qui ne permettent pas de garantir des flux continus de quelques mégabits par seconde à chaque usager, comme exigé par les flux MPEG qui nécessitent des bandes passantes de quelques centaines de kilobits à plusieurs mégabits par seconde. Dans ces conditions, une solution consiste à séparer le flux en deux parties dont aucune ne serait utilisable seule. Dans cette optique plusieurs brevets ont été déposés. Ainsi, on connaît par le document O09908428 (Gilles Maton) un procédé de traitement multi-applicatif d'un terminal actif localisable dans lequel on réalise au moins une liaison avec un programme identifiable dédié à l'exécution d'une application, ledit programme dictant ses conditions d'exploitation au terminal pour la mise à disposition des fonctions. Le terminal dialogue ponctuellement, par l'emploi d'une liaison, avec le centre de gestion pour la réalisation, si nécessaire, des entrées et sorties des capacités de ce dernier, le centre de gestion devenant esclave ou non du terminal au niveau de l'applicatif vis-à- vis du programme entrant. Cette invention concerne également le procédé d'identification du programme et du terminal en exploitation. Ce procédé de l'art antérieur divise le flux en une partie servant à identifier l'utilisateur et une partie qui contient le programme à proprement parler. En particulier, ledit programme n'est pas inutilisable mais seulement verrouillé par la première partie. Enfin, ce brevet ne présente aucune solution pour synchroniser lesdites parties. D'autre part, le document EP0778513 (Matsushita) décrit un procédé permettant de prévenir l'utilisation illégale d'une information en y ajoutant une information de contrôle afin de vérifier les droits de l'utilisateur. Le système permet de savoir en permanence quelle partie de l'information est utilisée et par quel utilisateur et par là de savoir si cet utilisateur est en position illégale ou pas. Ce procédé sécurise donc les données en y ajoutant des informations additionnelles qui dénaturent l'information initiale.
Le document WO0049483 (Netquartz) nous offre également des procédés et des systèmes pour créer un lien entre les utilisateurs et un éditeur d'entités numérisées. Le procédé comprend l'une au moins des étapes suivantes : l'étape de subdiviser ladite entité numérisée en deux parties ; l'étape de mémoriser une partie dans une zone mémoire d'un serveur connecté à un réseau informatique ; l'étape de transmettre l'autre partie à au moins un utilisateur disposant d'un équipement informatique ; l'étape de connecter ledit équipement informatique audit réseau informatique ; l'étape d'établir un lien fonctionnel entre ladite première partie et ladite deuxième partie. Ces procédés et systèmes ne spécifient pas d'une part si la partie mémorisée sur le serveur peut être stockée par l'utilisateur ce qui permettrait à celui-ci de pirater ladite entité numérisée, et d' autre part la façon de synchroniser lesdites deux parties .
Enfin, dans cette approche, l'état de la technique le plus proche se retrouve dans les brevets d'HyperLOCK Technologies dont le plus pertinent est le document US05937164. Cette invention utilise la solution qui consiste à séparer le flux en deux parties dont la plus petite détient une information nécessaire à l'utilisation de la plus grande. Cependant, ce brevet n'est pas suffisant pour répondre au problème identifié. En effet, la suppression d'une partie du flux dénature le format du flux, et ne peut donc pas être reconnu comme un flux standard, exploitable avec des applications logicielles générales. Ce procédé de l'art antérieur nécessite à la fois un logiciel spécifique côté serveur, pour la séparation des deux parties, et un autre logiciel spécifique assurant non seulement la reconstruction du flux, mais également l'acquisition du flux principal et son exploitation selon un format propriétaire à la solution. Ce format propriétaire n'est pas le format initial du flux avant séparation en deux parties, dans cette solution connue.
Cette société a également déposé trois autres brevets : le document US5892825 reprend le brevet précédent mais dans un cadre moins large car les flux y sont toujours cryptés ; le document US6035329 repose sur le même principe, il concerne un procédé permettant la lecture d'un disque de type CD-ROM ou DVD-ROM conditionnellement à l'identification des droits par l'insertion d'une carte à puce sur laquelle les informations nécessaires à la lecture sont stockées. Ce procédé n'est encore pas suffisant pour notre problème car il ne garantit pas que le flux modifié soit du même format que le flux originel. Enfin, le document US6185306 concerne un procédé de transmission de données cryptées depuis un site Web vers un ordinateur demandeur. Ce procédé permet cependant à l'utilisateur de disposer à un moment donné de tous les outils nécessaires pour copier les données.
Une autre référence de l'art antérieur est le document WO 00/44172 qui présente un système de distribution de vidéo à la demande consistant à transmettre des flux vidéos cryptés depuis un fournisseur vers un ou plusieurs récepteurs. La vidéo cryptée est stockée au préalable chez le récepteur et est visualisée ultérieurement. La requête de visualisation est adressée à un émetteur vidéo qui envoie l'information de décryptage pour une visualisation immédiate du flux vidéo. L'information de décryptage est envoyée au récepteur par voie séparée ou par la même voie que la vidéo cryptée. Avant l'envoi des clés (statiques ou dynamiques) pour le décryptage, est effectuée une étape d'identification du récepteur. Cet art antérieur décrit donc un système de cryptage à l'aide de clé (s) bien connu par l'homme de l'art. Toutefois, la totalité du flux vidéo protégé par cryptage est stockée chez le récepteur, l'ensemble des données du flux vidéo se trouve à l'intérieur de la vidéo protégée, il peut donc être vulnérable au piratage.
L'art antérieur connaît également le document US 2002/0164024 Al qui concerne un système de traitement de données vidéos et audio basé sur une relation de prédiction entre trames, contenant un module de fragmentation des données, un module de cryptage d'une partie des données, un module d'envoi, un module pour différencier le traitement par type de trames I, P, B et leur rangement dans des files séparées, un module de réception, un module de décryptage et un module d'assemblage des données. Le processus de cryptage est effectué uniquement sur des fragments comportant des images I, qui sont décryptées et re-assemblées dans le récepteur, reconstituant ainsi la vidéo, la reconstitution étant effectuée en alignant les paquets par ordre croissant de la référence de temps indiquée dans le flux binaire. Ce document décrit un système de cryptage « classique », avec optimisation du cryptage. La fragmentation est appliquée dans le but de séparer les images I du reste du flux afin de les crypter. Après ce cryptage sélectif, les fragments sont envoyés en utilisant différentes files d'attente. Cependant, toutes les données du flux audiovisuel restent à l'intérieur du flux protégé, tout ou partie du flux étant pas crypté.
Enfin, le brevet WO 01/97520 présente également des méthodes, des procédés et des dispositifs pour contrôler la transmission et l'enregistrement des contenus numérisés de type MPEG-2. Toutefois, ce brevet ne présente aucune spécificité pour la synchronisation des flux qui constituent les deux parties d'un même programme audiovisuel. De plus, la méthode décrite dans ce brevet est totalement inefficace pour les réseaux de télécommunication bas débit, car elle substitue tout ou partie des images I dont le poids en octets est très coûteux lors de la transmission du deuxième flux.
Afin de corriger ces différents défauts, l'invention concerne dans son acceptation la plus générale un procédé pour la distribution de séquences vidéos selon un format de flux nominal constitué par une succession d'images, ledit flux sur lequel on procède, avant la transmission à l'équipement client, à une analyse pour générer un flux principal modifié, présentant le format du flux nominal, et présentant des images modifiées par la substitution de certaines données par des données de même nature mais aléatoires ou calculées, et une information complémentaire d'un format quelconque, comportant les données substituées et les informations numériques aptes à permettre la reconstruction dudit flux nominal modifié, puis à transmettre séparément, le flux principal modifié en temps réel ou en temps différé et l'information complémentaire en temps réel au moment de la visualisation depuis le serveur vers l'équipement destinataire, et pour lequel on calcule sur l'équipement destinataire une synthèse d'un flux disponible au format nominal, reconstitué en fonction dudit flux principal modifié et de ladite information complémentaire et une lecture dudit flux disponible sur l'équipement destinataire caractérisé en ce que ledit procédé comporte, pendant ladite lecture dudit flux, une étape consistant à générer un identifiant de position en fonction d'une caractéristique dudit flux lu, cet identifiant de position étant transmis au serveur activant en réponse l'envoi de l'information complémentaire fonction dudit identifiant de position.
Selon une première variante, chaque image du flux nominal est associée à un indicateur de position.
Selon une deuxième variante, l'étape de lecture comporte une opération de calcul de l'identifiant de position de l'image lue.
Selon une troisième variante, l'étape de lecture comporte une opération de calcul de l' identifiant de position du flux lu.
Avantageusement, l'information complémentaire est envoyée par portions .
Selon un mode de réalisation particulier de l'invention, le flux disponible sur l'équipement destinataire dont la lecture conditionne la position et la portion à envoyer de ladite information complémentaire est une partie du flux principal modifié.
Selon un autre mode de réalisation, le flux disponible sur l'équipement destinataire dont la lecture conditionne la position et la portion à envoyer de ladite information complémentaire est une partie du flux nominal reconstitué. Dans un mode de mise en œuvre particulier de l'invention, le format de flux nominal est défini par la norme MPEG-2. Dans ce cas particulier de réalisation, ledit identifiant de position pour une image est constitué des variables wtime_code", ou code temporel, associé au groupe d'images dans lequel se trouve l'image considérée et Λλtemporal_reference", ou référence temporelle, pour l'image, qui sont des variables définies par MPEG-2. Avantageusement, chaque portion de ladite information complémentaire envoyée par le serveur permet de reconstituer au moins une image du flux originel lors de ladite synthèse. Selon un mode de mise en œuvre particulier, le serveur adapte la taille et le contenu de chaque portion de ladite information complémentaire à envoyer en fonction dudit identifiant de position.
Dans un mode de réalisation préféré, chaque portion de ladite information complémentaire est envoyée en avance par rapport à l'instant d'affichage de ladite image du flux reconstituée avec ladite portion.
Dans un mode de mise en œuvre, le serveur adapte l'envoi d'information complémentaire, lorsque l'utilisateur de l'équipement destinataire fait « pause », en arrêtant l'envoi de l'information complémentaire. De même, le serveur adapte l'envoi d'information complémentaire, lorsque l'utilisateur de l'équipement destinataire fait « avance rapide » ou « retour rapide », en envoyant la portion correspondant à la position adéquate pour les commandes « avance rapide » et « retour rapide » . De la même façon, le serveur adapte l'envoi d'information complémentaire lorsqu'une panne réseau survient qui empêche la communication client - serveur, en arrêtant l'envoi d' information complémentaire durant la panne et en le reprenant lorsque la panne cesse et qu' il reçoit de nouveau les messages en provenance du client.
Avantageusement, le serveur crée, préalablement à l'envoi de l'information complémentaire, un tableau associant des pointeurs vers des portions de l'information complémentaire avec des positions temporelles relatives à des images du flux vidéo, stocke ledit tableau sur un support relié au serveur et consulte ledit tableau pour déterminer la portion d' information complémentaire à envoyer après avoir reçu ledit identifiant de position.
L'invention concerne également un équipement pour la fabrication d'un flux vidéo en vue de la mise en œuvre du procédé tel que décrit ci-dessus, comportant au moins un serveur multimédia contenant les séquences vidéos originelles, un dispositif d'analyse du flux vidéo provenant dudit serveur pour générer ledit flux principal modifié et ladite information complémentaire et qui comprend en particulier un dispositif de synchronisation de l'envoi de ladite information complémentaire en fonction dudit identifiant de position envoyé par l'équipement destinataire.
L'invention concerne enfin un système pour la transmission d'un flux vidéo selon le procédé décrit ci- dessus, comprenant un équipement de production d'un flux vidéo, au moins un équipement d'exploitation d'un flux vidéo et au moins un réseau de communication entre l'équipement de production et le (s) équipement (s) d'exploitation.
La présente invention sera mieux comprise à la lecture de la description d'un exemple non limitatif de réalisation qui suit, se référant aux dessins annexés où :
-la figure 1 décrit l'architecture d'ensemble d'un système pour la mise en œuvre du procédé selon l'invention ;
- la figure 2 représente un mode de réalisation particulier du système de synchronisation des flux audiovisuels conforme à l'invention.
Le principe général d'un procédé de sécurisation d'un flux vidéo est exposé ci-après. L'invention concerne un i wv / i/U I \ W
11
procédé pour la distribution de séquences vidéos numériques selon un format de flux nominal constitué par une succession d' images (« pictures » en anglais ou pour le format MPEG) comprenant chacune au moins un bloc numérique regroupant un certain nombre de coefficients correspondant à des éléments vidéo simples codés numériquement selon un mode précisé à l'intérieur du flux concerné et utilisé par tous les décodeurs vidéos capables de l'afficher afin de pouvoir la décoder correctement et éventuellement organisées de façon hiérarchique en groupe d'images et séquences.
Avantageusement le format contient un moyen de localisation de ladite image numérique dans le flux à l'aide d'un identifiant de position temporelle permettant de savoir à quel moment l'image en question doit être affichée. Ce procédé comporte :
- une étape préparatoire consistant à modifier au moins un desdits éléments d'une desdites images, le flux binaire ainsi généré étant appelé flux principal modifié ;
- une étape de transmission : o du flux principal modifié conforme au format du flux nominal, constitué par des images contenant les éléments modifiés au cours de l'étape préparatoire et o d'une information numérique complémentaire par une voie séparée dudit flux principal modifié, permettant de reconstituer le flux originel à partir du calcul, sur l'équipement destinataire, en fonction dudit flux principal modifié et de ladite information complémentaire. On définit ladite information complémentaire comme un ensemble constitué de données (par exemple des éléments décrivant le flux numérique originel ou extraits du flux originel) et de fonctions (par exemple, la fonction substitution ou permutation) . Une fonction est définie comme contenant au moins une instruction mettant en rapport des données et des opérateurs. Ladite information complémentaire décrit les opérations à effectuer pour récupérer le flux originel à partir du flux principal modifié .
La reconstitution du flux originel s'effectue sur l'équipement destinataire à partir du flux principal modifié déjà présent sur l'équipement destinataire ou envoyé en temps réel et de l'information complémentaire envoyée en temps réel au moment de la visualisation comprenant des données et des fonctions exécutées à l'aide de routines (ensemble d'instructions) numériques. L'information complémentaire est envoyée par le serveur en fonction de la position de la tête de lecture dans le flux disponible sur l'équipement client. Cette position, définie par un identifiant de position ou élément de synchronisation, est envoyée régulièrement par le client au serveur suivant l'instant de visionnage par le client du flux disponible sur l'équipement client. Ledit flux disponible sur l'équipement client est identique au flux originel si le client possède les droits pour l'afficher et s'il est en connexion avec le serveur contenant l'information complémentaire, ou identique au flux principal modifié si ce n'est pas le cas.
Quand le flux disponible sur l'équipement destinataire est identique au flux originel, l'utilisateur peut le visionner sur son écran et si l'utilisateur désire se déplacer dans la séquence vidéo, le client informe le serveur de la nouvelle position de la tête de lecture et le serveur envoie alors l'information complémentaire nécessaire au client pour reconstituer la portion du film qu'il regarde désormais. Dans la présente invention, on entend sous le terme « embrouillage » la modification d'un flux vidéo numérique par des méthodes appropriées de manière à ce que ce flux reste conforme à la norme avec laquelle il a été encodé v > r > i WU WU l SU
13
numériquement, tout en le rendant jouable par un afficheur vidéo, mais altéré du point de vue de la perception visuelle humaine .
Dans la présente invention, on entend sous le terme « désembrouillage » le processus de restitution par des méthodes appropriées du flux initial, le flux vidéo restitué après le désembrouillage étant identique au flux vidéo initial.
La présente invention propose une protection grâce à un embrouillage du flux vidéo fondée intégralement sur sa structure, protection qui consiste à modifier des parties ciblées du « bitstream » (flux binaire structuré) essentielles pour la compréhension du film par un œil humain. Les vraies valeurs de ces parties ciblées sont extraites du bitstream et stockées en tant qu'information complémentaire, et à leurs places sont mises des valeurs aléatoires ou calculées ou des valeurs permutées, et cela sur la totalité du flux vidéo. Ainsi, on rajoute des « leurres » pour le décodeur, c'est-à-dire des valeurs compréhensibles pour le décodeur, mais non identiques à celles présentes dans le flux nominal, qui reçoit en entrée un flux vidéo complètement conforme au format vidéo d'origine, mais qui n'est pas acceptable du point de vue perception visuelle par un être humain. A l'inverse de la plupart des systèmes de cryptage déjà connus par l'homme de l'art, le principe décrit ci- dessous permet d'assurer un haut niveau de protection sans nécessiter une liaison client - serveur haut débit puisque ladite information complémentaire à envoyer ne représente qu'un faible pourcentage du flux vidéo d'origine, le flux principal modifié étant déjà présent sur l'équipement du client. La protection, réalisée de façon conforme à l'invention, est basée sur le principe de la suppression et/ou du remplacement d' informations décrivant le signal vidéo par une méthode quelconque, soit : substitution, modification ou déplacement de l'information. Cette protection est également basée sur la connaissance de la structure du flux à la sortie de l'encodeur vidéo : 1' embrouillage dépend du contenu dudit flux vidéo numérique. La reconstitution du flux originel s'effectue sur l'équipement destinataire à partir du flux principal modifié déjà présent ou reçu en temps réel sur l'équipement destinataire et de l'information complémentaire envoyée en temps réel au moment de la visualisation comprenant des données et des fonctions exécutées à l'aide de routines (ensemble d'instructions) numériques.
La présente invention concerne en particulier le processus de synchronisation entre le fournisseur de l'information complémentaire (le serveur) et le lecteur/afficheur installé chez le client. Pour cela l'invention utilise des éléments de synchronisation (ou identifiants de position de la tête de lecture dans le flux disponible sur l'équipement destinataire) qui permettent de faire le lien entre une portion donnée de l' information complémentaire et la partie du flux principal modifié qu'elle permet de modifier afin de reconstituer la partie correspondante du flux nominal. Par exemple l'invention utilise des données de position temporelle relatives à la tête de lecture du client dans le flux vidéo disponible sur l'équipement client, comme celles contenues dans un flux MPEG, pour déterminer l'information complémentaire à envoyer .
Une autre possibilité, correspondant à un autre exemple de réalisation, est de numéroter les images du flux principal modifié et d'indiquer, dans les différentes portions de l'information complémentaire, le numéro de l'image ou des images du flux principal modifié que ladite portion permet de modifier afin de reconstituer la partie correspondante du flux nominal .
Un autre exemple de réalisation consiste à utiliser des mots binaires calculés à partir du flux principal modifié, un mot binaire donné étant spécifique à une portion du flux principal modifié donnée, qui est alors spécifié dans la portion de l'information complémentaire correspondante .
Un autre exemple de réalisation consiste à utiliser des mots binaires calculés à partir du flux principal modifié, un mot binaire donné étant spécifique à une image du flux principal modifié donnée, qui est alors spécifié dans la portion de l'information complémentaire correspondante .
Un autre exemple de réalisation consiste à ajouter un mot binaire unique dans chaque champ utilisateur du flux principal modifié (champ « user data » de MPEG-2 par exemple), et dans la portion de l'information complémentaire correspondante. Un champ utilisateur est caractérisé en ce qu'on peut y ajouter des informations binaires sans que cela n'affecte l'affichage du flux binaire vidéo le contenant. Quelle que soit la solution choisie, le client envoie régulièrement au serveur l'identifiant de position de la tête de lecture du client dans le flux disponible sur l'équipement destinataire (position temporelle ou mot binaire) permettant au serveur de déterminer la portion de l'information complémentaire dont l'équipement client a besoin pour transformer le flux principal modifié afin de reconstituer la partie correspondante du flux nominal . L'invention sera mieux comprise à la lecture d'un exemple de réalisation de l'invention, en se référant aux figures 1 et 2.
Dans cet exemple de réalisation, l'invention concerne une séquence vidéo encodée selon le format MPEG-2, sans que cela constitue une réduction de la portée de la présente invention.
Sur la figure 1, l'agencement d' interfaçage vidéo (8) est adapté pour relier au moins un dispositif d'affichage, par exemple un moniteur, un vidéo projecteur ou un dispositif de type écran de télévision (6) , à au moins une interface de réseau de transmission et de diffusion large bande (4) et à au moins une interface de réseau de télécommunication (10) . Selon la présente invention, cet agencement est composé d'un module (8) comprenant principalement, d'une part, une unité de traitement adaptée pour traiter, en particulier décoder et désembrouiller tout flux vidéo de type MPEG-2 selon un programme logiciel de décodage et désembrouillage pré-chargé, de manière à l'afficher, en temps réel ou différé, de le stocker, de l'enregistrer et/ou de l'envoyer via un réseau de télécommunication et, d'autre part, au moins une interface d'écran (7) et une interface de connexion à un réseau local ou étendu (5) et/ou (9) . Le réseau de transmission et de diffusion large bande (4) et le réseau de télécommunication (10) pouvant être confondus en un seul réseau.
Le disque dur ou le dispositif d'enregistrement du module (8) peut être utilisé comme mémoire tampon pour stocker momentanément au moins une partie du programme ou de la séquence vidéo à afficher, en cas de visualisation différée ou de limitation dans la bande passante du réseau de transmission. La visualisation peut être retardée ou différée à la demande de l'utilisateur ou du portail (12) . Comme le montre la figure 1, l'interface de connexion
(5) est reliée à un réseau de transmission et de diffusion large bande (4) telle qu'un modem, un modem satellite, un modem câblé, d'une interface de ligne à fibre optique ou d'une interface radio ou infrarouge pour la communication sans-fil.
C'est par cette liaison classique de diffusion vidéo que seront transmis les contenus des programmes audiovisuels comme des films. Toutefois, de façon à ne pas laisser faire de copies pirates, avant de transmettre le contenu audiovisuel depuis le serveur (1) ou le portail (12) il est prévu de conserver une petite partie du contenu audiovisuel dans le portail (12) .
En cas de visualisation d'un programme audiovisuel en temps réel, cette petite partie du contenu audiovisuel conservée dans le portail (12) sera également envoyée au module (8) en temps réel, via le réseau de télécommunication (10).
Dans le format MPEG-2, le flux audiovisuel est divisé en une hiérarchie de structures imbriquées les unes dans les autres. Ainsi, un « flux » contient un nombre indéfini de groupes d'images liées les unes aux autres (« GOP » : « Group of Pictures ») ; un groupe d'images contient un certain nombre d'images (généralement 12 ou 15 pour MPEG mais ce n'est pas obligatoire) ; une image est décomposée en tranches (« slices ») ; une tranche contient une série de macroblocs ; un macrobloc regroupe entre 6 et 12 blocs ; un bloc contient l'information relative à un carré de 8 pixels sur 8 sous formes de coefficients fréquentiels . Le flux est compressé par une transformation à cosinus discret (DCT) , qui s'applique sur chaque bloc de façon à concentrer l'information pertinente dans seulement certains coefficients de façon à pouvoir supprimer les autres et ainsi réduire la quantité d'information à stocker, et à un échantillonnage des coefficients transformés et un codage destiné à réduire la taille du flux (par exemple un codage à longueur variable ou un codage de type « Run-Level ») . Dans cet exemple de réalisation, décrit en référence aux figures 1 et 2, le flux nominal (101) provient du serveur (1) pour être transmis au portail (12) . Le dispositif d'analyse (121) du portail (12) procède à l'analyse du flux nominal (101) pour constituer d'une part le flux principal modifié (122) et d'autre part l'information complémentaire (123). Le flux principal modifié (122) est transmis au client d'une manière quelconque. Cette manière peut être : à travers un réseau large bande (4) de type BLR ou DSL, à travers un réseau mobile de type GSM, ou encore grâce à un CD-ROM ou un autre support physique. Le client stocke le flux principal modifié
(122) sur un support physique (85) situé chez lui, ledit support physique pouvant être un disque dur ou un CD-ROM.
Lorsque le client (8) désire regarder la séquence vidéo correspondant à ce flux principal modifié, il adresse la demande au serveur (12), en spécifiant un identifiant de la séquence vidéo demandée et en fournissant au moins un identifiant du client (8) . Le serveur (12) reçoit la demande du client et vérifie si celui-ci a le droit de regarder la séquence demandée, en utilisant l'identifiant de la séquence et celui du client. Cette vérification peut être faite par exemple à l'aide d'une base de données répertoriant pour chaque client la liste des séquences vidéo autorisées.
Si le client (8) est autorisé à regarder la séquence vidéo demandée, le serveur (12) établit une connexion avec le client pour transmettre l'information complémentaire
(123) à travers le réseau (10) . Lorsque la connexion est établie, le client (8) envoie au serveur (12) les identifiants de position de la tête de lecture dans le flux vidéo demandé. Le serveur (12) reçoit les informations de position et adapte le contenu de l'information complémentaire (123) transmise au client à travers la liaison (10) en fonction de ladite position.
Dans une autre réalisation de cette invention, les informations de position sont transmises en même temps que la demande pour la séquence vidéo et le serveur commence la diffusion de l'information complémentaire correspondant à ladite position après avoir vérifier l'autorisation.
Le client (8) reçoit la partie de l'information complémentaire (123) correspondant à la position de la tête de lecture et la stocke dans le tampon d'entrée (86). Ce tampon est de préférence une mémoire volatile. Dans le même temps, le client lit à partir du support de stockage (85) le flux principal modifié correspondant à cette position via le tampon de lecture (83) . Le dispositif de synthèse (87) utilise l'information complémentaire stockée dans le tampon d'entrée (86) et le flux principal stocké dans le tampon de lecture (83) pour reconstituer sans erreur le flux originel et l'envoyer vers le lecteur (81). Le flux originel, lu par le lecteur (81) , est alors affiché sur le dispositif d'affichage (6) .
Dans cet exemple de réalisation, deux variables pour chaque image du flux sont utilisées comme identifiant de position : la variable « temporal_reference » ou référence temporelle, présente dans le champ « picture_header » ou entête d'image pour chaque image, et la variable « time_code » ou code temporel, présente dans le champ « Group Of Pictures Header » ou en-tête de groupe d'images pour le groupe d'images dans lequel se trouve l'image considérée. Ces variables permettent d' identifier de manière unique une image dans un flux vidéo MPEG-2 d'une durée totale inférieure à 24h. Le client envoie régulièrement au serveur sa position dans le flux vidéo en lui communiquant ces deux données. Le serveur adapte la portion de l'information complémentaire à envoyer en fonction de cette position. Chaque portion de l'information complémentaire contient en effet une copie de ces identifiants de position ou éléments de synchronisation permettant de faire un lien unique entre l'image du flux principal modifié et la portion de l'information complémentaire correspondante qui permet de modifier le flux principal modifié afin de reconstituer la partie correspondante du flux nominal. Dans cet exemple de réalisation, l'information complémentaire est contenue dans un fichier unique. Lorsque le serveur (12) reçoit les variables de position provenant du client, il détermine la portion de l'information complémentaire à envoyer en parcourant ledit fichier. Pour que la recherche de la portion voulue soit plus rapide, l'invention peut avantageusement utiliser un tableau qui fait correspondre une position dans ledit fichier avec une image du flux principal embrouillé, ce tableau étant réalisé lors d'une phase préalable, associée à l'analyse du flux principal.
Dans un mode de réalisation alternatif, l'élément de synchronisation ou identifiant de position de la tête de lecture dans le flux disponible sur l'équipement destinataire est le numéro de l'image courante, c'est-à-dire l'ordre d'apparition de ladite image au sein du flux principal modifié correspondant. Par exemple, la première image du flux principal modifié aura le numéro 1, la deuxième le numéro 2, et la 22eπιe le numéro 22. Ce numéro est également indiqué dans l'information complémentaire de façon à être capable de faire le lien entre l' image du flux principal modifié et la portion de l'information complémentaire correspondante qui permet de transformer le flux principal modifié afin de reconstituer la partie correspondante du flux nominal.
Dans un troisième exemple de réalisation, les éléments de synchronisation ou identifiants de position de la tête de lecture dans le flux disponible sur l'équipement destinataire sont des mots binaires calculés à partir du flux principal modifié, un mot binaire donné étant spécifique au contenu d'une portion donnée du flux principal modifié, ladite portion étant caractérisée par sa position binaire, définie par le nombre de bits qui la séparent du début du flux, et sa taille, ledit mot binaire étant spécifié dans la portion de l'information complémentaire correspondante. Ce mot binaire est calculé d'après le contenu binaire de ladite portion de façon à ce que deux portions référencées différentes produisent des mots binaires différents. Pour obtenir le mot binaire, on peut utiliser une table de « hash » code. Une table de « hash » code est un ensemble d'entrées, où chaque entrée est constituée d'une clé et d'une valeur. On ne peut avoir deux entrées ayant la même clé. A partir d'une clé, une table de « hash » code peut retrouver très rapidement l'entrée correspondante. Il existe de nombreux algorithmes de ce genre qui sont notamment utilisés dans les télécommunications pour détecter les erreurs de transmission.
Dans une variante de réalisation de l'exemple précédent, ledit mot binaire n'est pas calculé d'après le contenu binaire d'une portion du flux principal modifié caractérisée par sa position binaire et sa taille, mais d'après le contenu binaire d'une image du flux principal modifié donnée.
Dans un autre exemple de réalisation, les éléments de synchronisation ou identifiants de position de la tête de lecture dans le flux disponible sur l'équipement destinataire sont des mots binaires insérés dans chaque champ utilisateur du flux principal modifié (champ « user data » de MPEG-2 que l'on peut insérer avant chaque image d'un flux vidéo MPEG-2) , et dans la portion de l'information complémentaire correspondante. Chaque mot binaire est différent de façon à ce que le lien entre une image du flux principal modifié et une portion de l'information complémentaire soit unique.
Quel que soit le mode de constitution desdits identifiants de position de la tête de lecture, en fonctionnement normal et continu d'affichage du flux vidéo (lecture simple) , le client (8) envoie au serveur une information de position correspondant à la dernière image ou à la dernière portion affichée du flux disponible sur l'équipement destinataire qui peut être soit issue du flux principal modifié si le client n'a pas reçu l'information complémentaire correspondante pour modifier le flux principal modifié afin de reconstituer la partie correspondante du flux nominal, soit issue du flux reconstitué identique au flux nominal dans le cas contraire. Le serveur reçoit cette information de position et calcule la portion d' information complémentaire à envoyer pour permettre le visionnage du contenu suivant cette dernière position affichée. Dans l'exemple de réalisation qui nous intéresse, ce calcul est possible grâce à la correspondance entre les couples référence temporelle (code temporel présent dans les messages envoyés par le client vers le serveur) et les couples de même nature inscrits dans l'information complémentaire. En fonctionnement normal, la position envoyée par le client (8) correspond à une portion d' information complémentaire récemment envoyée par le serveur (12) . Celui-ci envoie donc la portion suivante de l'information complémentaire au client (8) par le réseau (10) . Cette portion correspond en fait à des images que le client va bientôt afficher sur le dispositif d'affichage (6) , pour laisser le temps au dispositif de synthèse (87) de désembrouiller le flux. Si le serveur envoyait l'information complémentaire correspondant à ce que le client est en train d'afficher, celle-ci arriverait trop tard chez le client pour pouvoir être utilisée, il faut donc l'envoyer avec une légère anticipation. Le serveur (12) envoie l'information complémentaire par paquets, chaque paquet comprenant l'information nécessaire pour reconstituer plusieurs images. Si chaque paquet correspond à une durée t de la séquence vidéo et que la transmission du paquet occupe une durée fc', le serveur (12) attend une durée (t-t' ') entre la fin de la transmission d'un paquet et le début de la transmission du paquet suivant. A la fin de cette attente, le serveur se réveille et analyse les messages en provenance du client. Ces messages conditionnent alors le comportement du serveur de la façon décrite ci-dessus.
Le serveur (12) envoie des portions d'information complémentaire tant qu'il reçoit des messages du client (8) lui donnant la position de la tête de lecture. Lorsque le client arrête la lecture (« pause » ou « stop » ou déconnexion réseau), il arrête d'envoyer des informations de position au serveur. Dans cet exemple réalisé, si le serveur ne reçoit pas de messages de l'équipement client pendant le temps nécessaire à celui-ci pour visionner le flux vidéo correspondant au dernier paquet d' information complémentaire envoyé (durée t) , c'est-à-dire s'il n'a pas reçu de nouveaux messages lors de son réveil, il arrête d'envoyer des portions d'information complémentaire. L'envoi de portions d'information complémentaire reprend quand le client recommence à lire la séquence vidéo et donc à envoyer des informations de position. Ainsi, dans le cas d'une panne de réseau empêchant la communication entre l'équipement client et le serveur, lorsque la panne survient, le serveur cesse de recevoir des identifiants de position de la tête de lecture et stoppe donc l'envoi de l'information complémentaire ; et lorsque la panne cesse, l'équipement client envoie sa position courante dans le flux disponible sur l'équipement client, le serveur la reçoit, s'y adapte et envoie l'information complémentaire correspondante. De même dans le cas d'une « pause » ou d'un arrêt du visionnage du flux vidéo par le client, le serveur ne reçoit plus de messages du client et stoppe donc l'envoi de l'information complémentaire : celui-ci reprend lorsque le client reprend la lecture du flux vidéo disponible sur l'équipement client.
Avantageusement, dans le cas où le client souhaite arrêter de regarder le flux vidéo pour une durée prolongée, la session client - serveur est fermée. Lorsque la session reprend suite à la volonté du client de reprendre le visionnage du flux vidéo et à sa reconnexion au serveur, le serveur envoie l'information complémentaire à partir de la portion correspondant à celle qu'il recevait avant la fin de session. L'affichage du flux vidéo sur l'équipement client ne reprend qu' au moment où il commence à recevoir les informations complémentaires de la part du serveur.
Si le client fait un retour en arrière dans la séquence vidéo, la nouvelle position envoyée au serveur est une position antérieure à la dernière position envoyée. L'envoi suivant du serveur est donc une partie de l'information complémentaire située avant la dernière partie envoyée. La quantité et donc la durée de l'information complémentaire envoyée par le serveur dépend de la vitesse arrière qui a été choisie par le client. Cette fonctionnalité permet d' offrir plusieurs vitesses de retour arrière sur l'équipement du client. De même, si le client envoie une commande « avance rapide » dans la séquence vidéo, la nouvelle position envoyée au serveur est postérieure à la position « attendue » par le serveur, c'est-à-dire la position correspondant à la dernière partie de l'information complémentaire envoyée par le serveur au client . L' envoi suivant du serveur est donc une partie de l'information complémentaire située après la dernière partie envoyée. La quantité de l'information complémentaire envoyée par le serveur dépend de la vitesse « avance rapide » qui a été choisie par le client. Cette fonctionnalité permet d'offrir plusieurs vitesses « avance rapide » sur l'équipement du client.
Pour améliorer la synchronisation entre le serveur et le client, l'invention comprend également un mécanisme d'accusation de réception. La portion d'information complémentaire envoyée par le serveur (12) est stockée dans le tampon d'entrée (86) . Si le dispositif de synthèse (87) a besoin de cette information complémentaire pour reconstituer le flux originel et qu'il y arrive, le client (8) envoie un message de confirmation pour spécifier au serveur (12) s'il a bien reçu l'information complémentaire et s'il a été en mesure de l'utiliser pour l'affichage. Si le client n'a pas pu utiliser l'information complémentaire, cela signifie pour le serveur que celle-ci est arrivée trop tard (après le moment où elle devait être utilisée) et donc que le client et le serveur sont désynchronisés. Dans ce cas, le tampon d'entrée (86) est vide et le serveur (12) adapte le flux d'informations qu'il envoie pour faire en sorte de remplir ce tampon. Pour cela, le serveur (12) doit anticiper plus longuement la lecture du client (8) . Il dispose alors de deux solutions :
- soit il augmente le nombre d'images dans le prochain paquet. Cette solution permet de conserver la continuité du flux affiché, mais nécessite un réseau (10) de taille suffisante pour supporter une augmentation momentanée du trafic ;
-soit il choisit une portion d'information complémentaire postérieure à celle qu' il devrait envoyer pour assurer la continuité du flux vidéo. Alors, les images pour lesquelles aucune information complémentaire n'est envoyée restent embrouillées.
Dans un autre exemple de réalisation, le protocole réseau utilisé pour les communications entre le client et le serveur est UDP (« User Datagram Protocol ») .
Enfin, un autre mode de mise en œuvre est décrit par la suite, concernant la synchronisation dans un système de protection appliqué à des flux audiovisuels au format MPEG-2 TS (« Transport Stream » en anglais, ou flux pour le transport) , défini par la norme MPEG-2 pour une diffusion de données robuste aux erreurs de transmission sur les réseaux. Chacune des pistes audio ou vidéo contenues dans le flux est décomposée en une série de paquets de 188 octets, appelés paquets TS. Chaque paquet TS contient une entête indiquant à quelle piste audio ou vidéo le paquet est rattaché, l'ordre de traitement des paquets et les informations de synchronisation des pistes audio et vidéo associées. Lors de l'étape d' embrouillage, certains des paquets TS relatifs aux flux vidéos sont substitués par des paquets « leurres » conformes à la norme, dans le but de dégrader visuellement le flux vidéo. Chaque paquet MPEG-2 TS au sein du flux est identifié de manière unique, afin de synchroniser correctement le flux principal modifié et l'information complémentaire, et de réinsérer les paquets d'origine dans le flux lors de la phase de désembrouillage. L'opération de désembrouillage du flux protégé par substitution de paquets TS est simple et efficace. Le module de désembrouillage utilise des informations relatives à l'encapsulation MPEG-2 TS des données, appelées « identifiants », sans utiliser les données relatives au contenu vidéo pour la synchronisation.
Lesdits identifiants utilisés pour la synchronisation sont :
• le PID (« Program Identity » en anglais) ou « identifiant de programme » du paquet substitué ; • le « continuity counter » en anglais ou « compteur de continuité » du paquet substitué;
• la dernière PCR (« Program Clock Référence » en anglais) ou «horloge de référence» rencontrée, relative au flux vidéo concerné; • l'index d'occurrence dudit compteur de continuité depuis le dernier paquet MPEG-2 TS renfermant un PCR.
Cet index n'étant pas présent dans l'entête des paquets TS, est calculé lors des phases d' embrouillage et de désembrouillage. L' « identifiant de programme » d'un paquet TS est situé dans l'entête de chaque paquet TS permettant à un décodeur MPEG-2 d'associer tous les paquets TS relatifs à un même flux lors du démultiplexage.
Le « compteur de continuité » d'un paquet TS est un compteur cyclique variant entre 0 et N-l et permet de remettre les paquets en ordre en cas de permutation ou de perte de paquets, dus à une erreur de transmission réseau, dans un groupe de N paquets consécutifs.
L' «horloge de référence» est un champ binaire optionnel et sert au décodeur pour calculer une base de temps .
L'index d'occurrence du compteur de continuité non présent dans les paquets TS, est calculé par le module d'analyse et d' embrouillage (12). Ledit index d'occurrence correspond, pour un paquet donné, au nombre de paquets TS ayant la même horloge de référence et le même compteur de continuité, qui se sont succédés depuis le dernier champ d'horloge de référence. L'horloge de référence est relative à l'identifiant de programme du paquet. En conséquence, un paquet TS contenant une horloge de référence, aura nécessairement un index d'occurrence de 1. Le paquet TS de même identifiant de programme et de même compteur de continuité qui suivra aura donc un index d' occurrence de 2
(si aucune horloge de référence ne s'est glissée pour ce flux entre temps) . Les index d'occurrence des paquets suivants sont incrémentés de 1 si leur compteur de continuité a tourné d'un cycle (N) et leur identifiant de programme est identique, et ce, jusqu'à ce qu'une nouvelle horloge de référence relative au même flux soit rencontrée.
Lorsque le module d' embrouillage sauvegarde dans l'information complémentaire les paquets TS d'origine qui ont été substitués, il leur associe systématiquement les quatre identifiants cités précédemment:
• L' identifiant de programme du paquet permet, côté client, de savoir à quel flux élémentaire appartient le paquet.
• La dernière horloge de référence rencontrée permet de situer la tranche temporelle (avec une granularité de 100 ms) à laquelle appartient le paquet.
• L' index d' occurrence du compteur de continuité permet d' identifier un groupe de N paquets TS auquel appartient le paquet.
• Le compteur de continuité permet d' identifier à quel paquet exactement on fait référence au sein de ce groupe de N paquets .
Ces quatre identifiants sont utilisés pour la synchronisation lors de la phase de désembrouillage, l'index d'occurrence du compteur de continuité étant également recalculé lors de la phase de désembrouillage .
Par exemple, dans une solution de diffusion de flux MPEG-2 TS protégés en temps réel, lorsque le client (8) souhaite visualiser le flux, le serveur envoie au préalable une partie de l'information complémentaire contenant des paquets TS d'origine, incluant des informations de synchronisation TS associés. Lorsque le module de désembrouillage (87) reçoit un paquet d'information complémentaire, il réalise à l'aide des identifiants de synchronisation la correspondance avec les paquets du flux principal modifié et les substitue par les paquets originaux présents dans l'information complémentaire.
Dans le cadre d'une application de vidéo à la demande, le module de désembrouillage transmet régulièrement au serveur (12) les identifiants de synchronisation issus des paquets du flux principal modifié qui est en cours de désembrouillage et d'affichage sur l'écran de visualisation (6) . De cette manière, le serveur (12) en déduit la portion d' information complémentaire dont le client aura besoin dans les instants à venir et lui envoie les paquets nécessaires de l'information complémentaire.

Claims

REVENDICATIONS
1. Procédé pour la distribution de séquences vidéos selon un format de flux nominal constitués par une succession d'images, ledit flux sur lequel on procède, avant la transmission à l'équipement client, a une analyse pour générer un flux principal modifié, présentant le format du flux nominal, et présentant des images modifiées par la substitution de certaines données par des données de même nature mais aléatoires ou calculées, et une information complémentaire d'un format quelconque, comportant les données substituées et les informations numériques aptes à permettre la reconstruction dudit flux nominal modifié, puis à transmettre séparément, le flux principal modifié en temps réel ou en temps différé et l'information complémentaire en temps réel au moment de la visualisation depuis le serveur vers l'équipement destinataire, et pour lequel on calcule sur l'équipement destinataire une synthèse d'un flux disponible au format nominal, reconstitué en fonction dudit flux principal modifié et de ladite information complémentaire et une lecture dudit flux disponible sur l'équipement destinataire caractérisé en ce que ledit procédé comporte, pendant ladite lecture dudit flux, une étape consistant à générer un identifiant de position en fonction d'une caractéristique dudit flux lu, cet identifiant de position étant transmis au serveur activant en réponse l'envoi de l'information complémentaire en fonction dudit identifiant de position.
2. Procédé pour la distribution de séquences vidéos selon la revendication 1, caractérisé en ce que chaque image du flux nominal est associée à un indicateur de position.
3. Procédé pour la distribution de séquences vidéos selon la revendication 1, caractérisé en ce que l'étape de lecture comporte une opération de calcul de l'identifiant de position de l'image lue.
4. Procédé pour la distribution de séquences vidéos selon la revendication 1, caractérisé en ce que l'étape de lecture comporte une opération de calcul de l'identifiant de position du flux lu.
5. Procédé pour la distribution de séquences vidéos selon la revendication 1, caractérisé en ce que l'information complémentaire est envoyée par portions.
6. Procédé pour la distribution de séquences vidéo selon la revendication 1, caractérisé en ce que le flux disponible sur l'équipement destinataire dont la lecture conditionne la position et la portion à envoyer de ladite information complémentaire est une partie du flux principal modifié .
7. Procédé pour la distribution de séquences vidéo selon la revendication 1, caractérisé en ce que le flux disponible sur l'équipement destinataire dont la lecture conditionne la position et la portion à envoyer de ladite information complémentaire est une partie du flux nominal reconstitué.
8. Procédé pour la distribution de séquences vidéo selon l'une des revendications précédentes, caractérisé en ce que le format de flux nominal est défini par la norme MPEG-2.
9. Procédé pour la distribution de séquences vidéo selon la revendication 8, caractérisé en ce que ledit identifiant de position pour une image est constitué des variables code temporel du groupe d'images dans lequel se trouve ladite image et référence temporelle de ladite image.
10. Procédé pour la distribution de séquences vidéo selon l'une des revendications précédentes, caractérisé en ce que le format de flux nominal est au format MPEG-2 TS et que ledit identifiant de position est constitué des quatre variables identifiant de programme, horloge de référence, compteur de continuité et index d'occurrence du compteur de continuité, ledit index d'occurrence du compteur de continuité résultant d'un calcul appliqué sur les paquets S.
11. Procédé pour la distribution de séquences vidéo selon l'une des revendications précédentes, caractérisé en ce que chaque portion de ladite information complémentaire envoyée par le serveur permet de reconstituer au moins une image du flux originel lors de ladite synthèse.
12. Procédé pour la distribution de séquences vidéo selon l'une des revendications précédentes, caractérisé en ce que le serveur adapte la taille et le contenu de chaque portion de ladite information complémentaire à envoyer en fonction dudit identifiant de position.
13. Procédé pour la distribution de séquences vidéo selon l'une des revendications précédentes, caractérisé en ce que chaque portion de ladite information complémentaire est envoyée en avance par rapport à l'instant d'affichage de ladite image du flux reconstituée avec ladite portion.
14. Procédé pour la distribution de séquences vidéo selon l'une des revendications précédentes, caractérisé en ce que le serveur adapte l'envoi d'information complémentaire, lorsque l'utilisateur de l'équipement destinataire fait « pause », en arrêtant l'envoi de l'information complémentaire.
15. Procédé pour la distribution de séquences vidéo selon l'une des revendications précédentes, caractérisé en ce que le serveur adapte l'envoi d'information complémentaire, lorsque l'utilisateur de l'équipement destinataire fait « avance rapide » ou « retour rapide » , en envoyant la portion correspondant à la position adéquate pour les commandes « avance rapide » et « retour rapide » .
16. Procédé pour la distribution de séquences vidéo selon l'une des revendications précédentes, caractérisé en ce que le serveur adapte l'envoi d'information complémentaire, lorsqu'une panne réseau survient qui empêche la communication client — serveur, en arrêtant l'envoi d'information complémentaire durant la panne et le reprenant lorsque la panne cesse et qu'il reçoit de nouveau les messages en provenance du client.
17. Procédé pour la distribution de séquences vidéo selon l'une des revendications précédentes, caractérisé en ce que le serveur crée, préalablement à l'envoi de l'information complémentaire, un tableau associant des pointeurs vers des portions de l'information complémentaire avec des positions temporelles relatives à des images du flux vidéo, stocke ledit tableau sur un support relié au serveur et consulte ledit tableau pour déterminer la portion d'information complémentaire à envoyer après avoir reçu ledit identifiant de position.
18. Equipement pour la fabrication d'un flux vidéo en vue de la mise en œuvre du procédé selon l'une des revendications précédentes, comportant au moins un serveur multimédia contenant les séquences vidéos originelles, un dispositif d'analyse du flux vidéo provenant dudit serveur pour générer ledit flux principal modifié et ladite information complémentaire caractérisé en ce qu'il comprend un dispositif de synchronisation de l'envoi de ladite information complémentaire en fonction dudit identifiant de position envoyé par l'équipement destinataire.
19. Système pour la transmission d'un flux vidéo selon les revendications 1 à 16, caractérisé en ce qu'il comprend un équipement de production d'un flux vidéo, au moins un équipement d'exploitation d'un flux vidéo et au moins un réseau de communication entre l'équipement de production et le ( s )équipement( s )d'exploitation.
PCT/FR2003/050158 2002-12-09 2003-12-09 Synchronisation de flux audiovisuels securises WO2004056114A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US10/537,323 US7864759B2 (en) 2002-12-09 2003-12-09 Synchronization of secured audiovisual streams
EP03799714A EP1570672A1 (fr) 2002-12-09 2003-12-09 Synchronisation de flux audiovisuels securisés
AU2003299417A AU2003299417A1 (en) 2002-12-09 2003-12-09 Synchronisation of secure audiovisual streams

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR02/15540 2002-12-09
FR0215540A FR2848372B1 (fr) 2002-12-09 2002-12-09 Synchronisation de flux audiovisuels securises

Publications (1)

Publication Number Publication Date
WO2004056114A1 true WO2004056114A1 (fr) 2004-07-01

Family

ID=32320112

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2003/050158 WO2004056114A1 (fr) 2002-12-09 2003-12-09 Synchronisation de flux audiovisuels securises

Country Status (5)

Country Link
US (1) US7864759B2 (fr)
EP (1) EP1570672A1 (fr)
AU (1) AU2003299417A1 (fr)
FR (1) FR2848372B1 (fr)
WO (1) WO2004056114A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8793722B2 (en) 2003-02-04 2014-07-29 Nagra France Protection method and device for the secure distribution of audio-visual works
US8903087B2 (en) 2006-03-13 2014-12-02 Nagra France Method and device for distributing secure digital audiovisual contents by interoperable solutions

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090307366A1 (en) * 2005-05-17 2009-12-10 Olaf Erb Method for data stream transmission
CN101042910A (zh) * 2006-03-21 2007-09-26 皇家飞利浦电子股份有限公司 一种用于播放内容的方法和装置
FI20065452A0 (fi) * 2006-06-29 2006-06-29 Valtion Teknillinen Menetelmä sisällön välittämiseen
US20080313309A1 (en) * 2007-06-18 2008-12-18 Pradipta Kumar Banerjee Client-server data transfer control
US20090313674A1 (en) * 2008-06-17 2009-12-17 Ictv, Inc. PID Obfuscation
US20100262336A1 (en) * 2009-04-09 2010-10-14 Qualcomm Incorporated System and method for generating and rendering multimedia data including environmental metadata
EP2744197A4 (fr) * 2011-08-11 2015-02-18 Panasonic Corp Dispositif et procédé de lecture, circuit intégré, système et procédé de diffusion
JP6682893B2 (ja) * 2016-02-09 2020-04-15 株式会社Jvcケンウッド 移動端末装置、管理装置、プログラム
CN108965961B (zh) * 2018-09-05 2021-09-07 北京奇艺世纪科技有限公司 一种多媒体数据处理方法、装置及投屏设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0949815A2 (fr) * 1998-04-08 1999-10-13 Nec Corporation Méthode et appareil de brouillage d'image
WO2000044172A1 (fr) * 1999-01-20 2000-07-27 Intel Corporation Systeme de video a la demande
WO2001078386A2 (fr) * 2000-04-07 2001-10-18 Irdeto Access B.V. Systeme de brouillage d'un contenu et systeme de desembrouillage de ce contenu brouille
US20010036355A1 (en) * 2000-03-31 2001-11-01 U.S. Philips Corporation Methods and apparatus for editing digital video recordings, and recordings made by such methods
FR2812147A1 (fr) * 2000-07-19 2002-01-25 Innovatron Sa Procede de traitement d'un flux d'informations par un microcircuit de securite, notamment un microcircuit de carte a puce
WO2002015579A1 (fr) * 2000-05-02 2002-02-21 General Instrument Corporation Procede et appareil permettant l'acces aleatoire a des images individuelles dans un flot de video chiffre
US20020164024A1 (en) * 2000-08-25 2002-11-07 Hiroshi Arakawa Data transmission method and data relay method

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09160899A (ja) 1995-12-06 1997-06-20 Matsushita Electric Ind Co Ltd 情報サービス処理装置
US6185306B1 (en) * 1995-12-07 2001-02-06 Hyperlock Technologies, Inc. Method of secure server control of local media via a trigger through a network for local access of encrypted data on an internet webpage
US5937164A (en) * 1995-12-07 1999-08-10 Hyperlock Technologies, Inc. Method and apparatus of secure server control of local media via a trigger through a network for instant local access of encrypted data on local media within a platform independent networking system
US6035329A (en) * 1995-12-07 2000-03-07 Hyperlock Technologies, Inc. Method of securing the playback of a DVD-ROM via triggering data sent via a cable network
US5892825A (en) * 1996-05-15 1999-04-06 Hyperlock Technologies Inc Method of secure server control of local media via a trigger through a network for instant local access of encrypted data on local media
US5828370A (en) * 1996-07-01 1998-10-27 Thompson Consumer Electronics Inc. Video delivery system and method for displaying indexing slider bar on the subscriber video screen
FR2767434B1 (fr) 1997-08-12 2002-02-08 Gilles Maton Terminal actif multi-applicatif localisable a lecture de programmes identifies en liaison ponctuelle avec un centre de gestion et de traitement personnalise
US6396874B1 (en) * 1997-11-12 2002-05-28 Sony Corporation Decoding method and apparatus and recording method and apparatus for moving picture data
US6377690B1 (en) * 1998-09-14 2002-04-23 Lucent Technologies Inc. Safe transmission of broadband data messages
FR2789780B1 (fr) 1999-02-17 2002-02-01 Netquartz Procede pour creer un lien entre un editeur et des utilisateurs
US7992163B1 (en) * 1999-06-11 2011-08-02 Jerding Dean F Video-on-demand navigational system
AU2001241972A1 (en) 2000-03-02 2001-09-12 Tivo, Inc. Conditional access system and method for prevention of replay attacks
WO2001078346A2 (fr) * 2000-04-08 2001-10-18 Sun Microsystems, Inc. Resynchronisation de flux multimedia
ES2227243T3 (es) 2000-06-15 2005-04-01 France Telecom Disposicion de interfaz de video, sistema de distribucion y metodo para transferir programas y secuencias de videos codificadas sobre una red de area amplia.
JP3889919B2 (ja) * 2000-08-31 2007-03-07 株式会社日立製作所 情報配信方法、情報受信方法、情報配信システム、情報配信装置、受信端末及び記憶媒体
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
US20090282444A1 (en) * 2001-12-04 2009-11-12 Vixs Systems, Inc. System and method for managing the presentation of video
US7530084B2 (en) * 2002-05-28 2009-05-05 Sony Corporation Method and apparatus for synchronizing dynamic graphics
US7382969B2 (en) * 2003-02-19 2008-06-03 Sony Corporation Method and system for preventing the unauthorized copying of video content
US20040168185A1 (en) * 2003-02-24 2004-08-26 Dawson Thomas Patrick Multimedia network picture-in-picture

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0949815A2 (fr) * 1998-04-08 1999-10-13 Nec Corporation Méthode et appareil de brouillage d'image
WO2000044172A1 (fr) * 1999-01-20 2000-07-27 Intel Corporation Systeme de video a la demande
US20010036355A1 (en) * 2000-03-31 2001-11-01 U.S. Philips Corporation Methods and apparatus for editing digital video recordings, and recordings made by such methods
WO2001078386A2 (fr) * 2000-04-07 2001-10-18 Irdeto Access B.V. Systeme de brouillage d'un contenu et systeme de desembrouillage de ce contenu brouille
WO2002015579A1 (fr) * 2000-05-02 2002-02-21 General Instrument Corporation Procede et appareil permettant l'acces aleatoire a des images individuelles dans un flot de video chiffre
FR2812147A1 (fr) * 2000-07-19 2002-01-25 Innovatron Sa Procede de traitement d'un flux d'informations par un microcircuit de securite, notamment un microcircuit de carte a puce
US20020164024A1 (en) * 2000-08-25 2002-11-07 Hiroshi Arakawa Data transmission method and data relay method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GRIWODZ C ET AL: "PROTECTING VOD THE EASIER WAY", PROCEEDINGS OF THE ACM MULTIMEDIA 98. MM '98. BRISTOL, SEPT. 12 - 16, 1998, ACM INTERNATIONAL MULTIMEDIA CONFERENCE, NEW YORK, NY : ACM, US, vol. CONF. 6, 12 September 1998 (1998-09-12), pages 21 - 28, XP000977484, ISBN: 1-58113-036-8 *
JARMASZ J P ET AL: "Designing a distributed multimedia synchronization scheduler", MULTIMEDIA COMPUTING AND SYSTEMS '97. PROCEEDINGS., IEEE INTERNATIONAL CONFERENCE ON OTTAWA, ONT., CANADA 3-6 JUNE 1997, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 3 June 1997 (1997-06-03), pages 451 - 457, XP010239219, ISBN: 0-8186-7819-4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8793722B2 (en) 2003-02-04 2014-07-29 Nagra France Protection method and device for the secure distribution of audio-visual works
US8903087B2 (en) 2006-03-13 2014-12-02 Nagra France Method and device for distributing secure digital audiovisual contents by interoperable solutions

Also Published As

Publication number Publication date
US7864759B2 (en) 2011-01-04
US20060088162A1 (en) 2006-04-27
AU2003299417A1 (en) 2004-07-09
EP1570672A1 (fr) 2005-09-07
FR2848372A1 (fr) 2004-06-11
FR2848372B1 (fr) 2005-04-01

Similar Documents

Publication Publication Date Title
US8818021B2 (en) Watermarking of digital video
EP1477009B1 (fr) Dispositif pour securiser la transmission, l'enregistrement et la visualisation de programmes audiovisuels
EP1470722B1 (fr) Dispositif pour la diffusion securisee, l acces conditionnel , la visualisation controlee, la copie privee et la gestion des droits de contenus audiovisuels de type mpeg-4
EP1593268A1 (fr) Methode et appareil de transmission securisee d'images code jpeg
WO2005071963A1 (fr) Procede et systeme d'acces conditionnel applique a la protection de contenu
WO2005018232A2 (fr) Procede et systeme repartis securises pour la protection et la distribution de flux audiovisuels
EP1470714B1 (fr) Dispositif securise pour le traitement des oeuvres audiovisuelles de haute qualite
EP1570672A1 (fr) Synchronisation de flux audiovisuels securisés
WO2011138333A1 (fr) Procedes de dechiffrement, de transmission et de reception de mots de controle, support d'enregistrement et serveur de mots de controle pour la mise en oeuvre de ces procedes
EP3229483B1 (fr) Extraction de flux video
EP1527605A2 (fr) Dispositif pour le brouillage de contenus multimedias et audiovisuels de type mpeg-4
EP1590959B1 (fr) Dispositif securise pour la diffusion, l ' enregistrement et la visualisation a la demande des oeuvres audiovisuelles au format de type mpeg-2 ts
EP1621009A1 (fr) Procede et dispositif pour securiser la transmission, l'enregistrement et la visualisation de flux empaquetes audiovisuels numeriques
FR2827447A1 (fr) Procede de transmission de flux de donnees, flux de donnees, serveur, terminal, procede de reception et utilisation correspondants
WO2005039098A1 (fr) Procede et systeme repartis securises pour la distribution de flux audiovisuels
EP1554879B1 (fr) Dispositif pour la transformation de contenus multimedias et audiovisuels de type mpeg-2 en contenus securises de meme type
WO2004032508A1 (fr) Method pour la transmission securisee de fichiers audiovisuels

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2003799714

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2006088162

Country of ref document: US

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 10537323

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2003799714

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 10537323

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP