EP1941734A1 - Procedes de filtrage, de transmission et de reception de flux video scalables, programmes, serveur, noeud intermediaire et terminal correspondants - Google Patents
Procedes de filtrage, de transmission et de reception de flux video scalables, programmes, serveur, noeud intermediaire et terminal correspondantsInfo
- Publication number
- EP1941734A1 EP1941734A1 EP06777838A EP06777838A EP1941734A1 EP 1941734 A1 EP1941734 A1 EP 1941734A1 EP 06777838 A EP06777838 A EP 06777838A EP 06777838 A EP06777838 A EP 06777838A EP 1941734 A1 EP1941734 A1 EP 1941734A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- data units
- filtering
- data
- video stream
- paths
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
- 238000001914 filtration Methods 0.000 title claims abstract description 55
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000002123 temporal effect Effects 0.000 claims description 29
- 230000005540 biological transmission Effects 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 2
- 238000000926 separation method Methods 0.000 claims 1
- 230000006978 adaptation Effects 0.000 description 18
- 230000033001 locomotion Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000011664 signaling Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 101150012579 ADSL gene Proteins 0.000 description 3
- 102100020775 Adenylosuccinate lyase Human genes 0.000 description 3
- 108700040193 Adenylosuccinate lyases Proteins 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 101100202275 Mus musculus Slc22a8 gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234381—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234327—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234354—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering signal-to-noise ratio parameters, e.g. requantization
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234363—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management 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/462—Content 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/4621—Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64784—Data processing by the network
- H04N21/64792—Controlling the complexity of the content stream, e.g. by dropping packets
Definitions
- the field of the invention is that of the processing of video signals, and more particularly video sequences compressed in scalable or scalable form. More specifically, the invention relates to the improvement of the operation of a scalable stream, in particular, but not exclusively, within the framework of the coding scheme currently developed in MPEG4-SVC. This MPEG4-SVC technique is notably presented in the documents:
- JVT Joint Video Team
- JSVM Scalable Video Model Joint
- Such encoders are very useful for all applications for which the generation of a single compressed stream, organized in several layers of scalability, can serve several clients of different characteristics, for example:
- VOD target terminals: UMTS, PC ADSL, TV ADSL, ..
- a scalable video stream can be considered as a set of substreams represented by cubes 11 in a three-dimensional space formed of the three spatial dimensions 12, temporal 13, and quality, where SNR, 14 (S, T, Q), as schematically illustrated in FIG.
- the size of the increments in the different directions corresponds to the "granularity" of the scability: it can be fine, average (10% of flow per increment of scalability: MGS) or coarse (25% of flow per increment, CGS).
- MGS fine, average
- CGS coarse
- the CGS scalability corresponds to a "layered" system ("layers” in the document MPEG2005 / M 12043, April 2005. "ISO / MP4 File Format for Storage of Scalabie Video", Thomas Rathgen, Peter Amon and Andréas Hutter) and MGS scalability to a "level” system in this same document. 2.1.2 Fine Scalability Mode (MGS)
- a scalable bit stream can be arranged to support fine scalability.
- MGS Medium Grain Scalability
- any coherent substream can be extracted (including the base level) and decoded with the corresponding quality, ie any combination of supported resolutions (time, spatial or SNR) can be extracted.
- the MGS bitstreams allow for the highest flexibility. 2 J, 3 Layered Scalability Mode
- a binary train can be organized in layers. We will then talk about CGS flow ("Coarse Grain Scalability"). A layer contains all the scalability levels necessary to move to the top quality layer.
- a layer must increase the quality in at least one direction (temporal, spatial or SNR).
- a CGS representation allows simple adaptation operations, especially at the nodes of the network.
- the evolutions of the information in the quality-spatial resolution-temporal resolution space are defined a priori according to the conditions imposed by an application or by a user of the service. 2.2 MPBG-4 SVC
- the JSVM MPEG is described in the already mentioned JSVM 2.0 document.
- the model that has been chosen is based on a scalable encoder strongly oriented towards AVC type solutions, whose schematic structure of a corresponding encoder is shown in Figure 2. It is a pyramid structure.
- the video input components 20 undergo dyadic subsampling (2D decimation by 2 referenced 21, 2D decimation by 4 referenced 22).
- Each of the subsampled streams is then subjected to a time division 23 of the MCTF type ("Motion Compensated Temporal Filtering" for "motion compensated temporal filtering").
- a low resolution version of the video sequence is encoded 14 up to a given bit rate R_rO_max which corresponds to the maximum decodable bit rate for the low spatial resolution r ⁇ (this base level is AVC compatible).
- the higher levels are then encoded 25, 26 by subtracting the previous reconstructed and over-sampled level and encoding the residuals as: a base level; - Possibly one or more levels of enhancement obtained by multi-pass coding bit planes (hereinafter called FGS for "Fine Grain Scalability", fine grained scalability).
- the prediction residue is encoded up to a rate R_rLmax which corresponds to the maximum decodable bit rate for the resolution ri.
- the MCTF filtering blocks 23 perform temporal wavelet filtering, that is to say they realign the signals in the direction of motion before filtering in wavelets: they deliver motion information 27 which feeds a block motion coding 24-26, and texture information 28, which feeds a prediction module 29.
- the predicted data at the output of the prediction module 29 serves to perform an interpolation 210 from the lower level. They also feed a block 211 of spatial transformation and entropy coding, which works on levels of signal refinement.
- a multiplexing module 212 orders the different subflows generated in a global compressed data stream. This new approach is able to provide grain scalable feeds average in the temporal, spatial, and quality dimensions.
- FGS bit planes
- the texture information is coded using a progressive scheme at each level:
- Base Layer a first level of minimum quality
- the SVC encoder is based on a two-layer system, like AVC:
- VCL layer (“Video Coding Layer”) manages the encoding of the video
- NAL Network Abstraction Layer
- NALU NAL Units
- data units provided by the VCL layer.
- a NALU is an elementary unit containing the base level of a Spatiotemporal Image, containing all (in the current version) or part (being discussed for versions future) of an FGS level of a spatio-temporal image;
- An AU is the set of NALUs corresponding to a time instant.
- JSVM Two signaling modes (corresponding substantially to CGS and MGS modes) are currently being discussed in the JSVM: a fixed path signaling mode, and a variable path signaling mode.
- T, Q a two-dimensional 2D context
- a scalable video stream contains the nested CIF sub-flow representations, of 15 Hz temporal resolutions (31) and Hz (32).
- the flow consists of four NALUs A (O), B (2), C (I) and D (2). Using these four NALUs we can obtain the flow-distortion points a, b, c, d.
- the priority of the NALUs is indicated in parentheses.
- This mode signals a unique path in 3D space for extracting the scalable ftux. It is well adapted to the CGS mode for some applications. In the example of Figure 3, a fixed path will be chosen, for example (a, c, d).
- This mode proposes to leave the application (or network) the choice of the extraction path.
- the filtering rules used here are: For a time resolution T target (30 or 15 Hz) keep all
- the method is generalizing to more than two dimensions. In the example illustrated by FIG. 4A, there are three dimensions of scalability:
- T Time: 15 Hz / 30 Hz
- the "priority fiels” contains the priority indicator and the "decolability info” contains the information of spatial, temporal and quality resolution. Both of these indicators require a two-byte representation.
- a NAL will be identified by its four indices (P, D, T, Q) accessible for example in the file header where: P indicates the priority;
- T indicates the temporal resolution
- Q indicates quality, or complexity. It should be noted that the cells in bold of the table above have anomalies with respect to the requested spatial and temporal resolution: in QCIF 30 Hz, it would be desirable to benefit from the NALU B, and not only the NALU A which is at 15 Hz.
- the fixed-path solution does not allow different applications to be used simultaneously because there is only a single dependency relationship between the NALUs from a hierarchical coder.
- the multi-path solution is more open than the fixed path solution: it can be adapted to different applications / resolutions in the network or at the decoder.
- the increase in complexity remains limited, but may not be suitable for adaptation to very low complexity as done on some network routers, for example.
- the fixed-path solution does not adapt over time to different conditions on the side of the user, the network or the server: a customer can not choose at a moment to favor an axis (for example the fluidity temporal) rather than another (eg SNR quality) such as the choice imposed by the scheduling defined by the fixed adaptation path.
- a customer can not choose at a moment to favor an axis (for example the fluidity temporal) rather than another (eg SNR quality) such as the choice imposed by the scheduling defined by the fixed adaptation path.
- an object of the invention is to provide a fine scalable video representation technique (in layers) of data units, or packets, or NALtJs, from a scalable video coder in the spatial-temporal 3D-quality domain. which is more efficient than known techniques.
- an objective of the invention is to make it possible to manage different paths in this 3D space according to the characteristics of the application, the network or customer needs
- an object of the invention is to provide such a technique for performing adapted treatments of the same scalable video for different applications.
- Another objective of the invention is to make it possible to define specific dependency modes that are dependent on or independent of the applications.
- the purpose of the invention is also to make it possible to define specific or application-independent modes of specific ascent.
- Another object of the invention is to allow variation over time and the operating points for the same video stream.
- a filtering process of a scalable video stream "organized in blocks of data units each comprising a a basic data unit and a set of distributed enhancement data units according to at least two types of enhancement data, corresponding respectively to temporal and / or spatial and / or quality characteristics, and making it possible to define several levels of quality , depending on the number and type of uplift data units used.
- this method comprises a step of defining at least two distinct profiles, or paths, for filtering the data units of each block, each path defining a series of successive fallback positions, starting from a position initial, each fallback position using at least one data unit less than the previous position, and a step of selecting one of said paths according to a predetermined criterion taking into account a content type of said flow and / or at least one piece of information representative of the capabilities of the terminal receiving said stream.
- the invention makes it possible to adapt finely to a large number of contexts for which it is desirable to reduce or increase the quantity of information transmitted or received. For example, it may be necessary to adapt the data at the server level, at intermediate nodes, or translators, placed in a network, or at the terminal by selecting a profile by the user.
- a first of said paths favors a characteristic representative of the quality of each image reconstructed by a terminal and a second of said paths favors a characteristic representative of the fluidity of the video
- each of said raising data units carries at least two indicators for defining said paths, among the indicators belonging to the group comprising: a priority indicator (P);
- said paths are stored in a path file, associating each of said paths with a predetermined application profile.
- This file of paths can notably be a file in XML format.
- said path file is transmitted in said video stream, in the form of at least one piece of information data.
- the filtering method comprises the following steps: separating said enhancement data units, depending on the selected path, between data units to be used and data units being separated;
- This last step can correspond to a storage, for example on a hard disk, making it possible to replay the video later with another level of quality, for example if the screen size is no longer the same. It can also be a storage in a buffer memory, for transmission of data units spread on another transmission channel.
- discarded data units can also be directly deleted.
- the method comprises the following steps: detection of at least one data unit to be used that is missing or deteriorated;
- the method of the invention can be implemented at different levels of the transmission chain, and in particular by at least one of the following elements:
- the invention also relates to a computer program product downloadable from a communication network and / or stored on a computer readable medium and / or executable by a microprocessor, characterized in that it comprises program code instructions for the implementing at least one step of the filtering method described above.
- it relates to a method of transmitting a scalable video stream by a video stream server to at least one receiving terminal, via a transmission network, said stream being organized in blocks of data.
- data units each comprising a basic data unit and a set of enhancement data units distributed according to at least two types of enhancement data, corresponding respectively to temporal and / or spatial and / or quality characteristics, and to define multiple quality levels, depending on the number and type of lift data units used.
- This method comprises a step of transmitting at least two distinct profiles or paths for filtering the data units of each block, each path defining a series of successive fold positions, starting from an initial position, each position of fallback using at least one data unit less than the previous position.
- Said server and / or an intermediate node of said transmission network implements a step of selecting one of the two paths according to a predetermined criterion taking into account a content type of said flow and / or at least one information representative of the capabilities of the terminal (or multiple terminals) receiving said flow, and a step of transmitting the selected data units.
- said server and / or said intermediate node implements said selection step as a function of selection information transmitted by said terminal. It can also take into account a summary of information emitted by a group of terminals.
- the invention also relates to a computer program product for implementing at least one step of this method of transmitting a scalable video stream.
- the invention relates to a method of receiving in a receiving terminal a scalable video stream transmitted by a video stream server, via a transmission network, said stream being organized in blocks.
- data units each comprising a basic data unit and a set of enhancement data units distributed according to at least two types of enhancement data, corresponding respectively to temporal and / or spatial and / or quality characteristics, and allowing to define several levels of quality, according to the number and type of raising data units used.
- this method uses at least two profiles, or fructa, distinct from filtering the data units of each block, each path defining a series of successive foldback positions, from an initial position, each fallback position using at least one least one unit of data less than the previous position, and said receiving terminal implements a step of selecting one of said paths according to a predetermined criterion taking into account a content type of said stream and / or d at least one piece of information representative of the capabilities of the terminal receiving said stream.
- the notion of using at least two profiles may mean that the terminal has previously received from the server these different profiles and / or that it has calculated them. , for example on the fly.
- the selection of a path can be automatic (controlled by the terminal) and / or at the initiative of the user.
- the invention also relates to a computer program product for implementing at least one step of this method of receiving a scalable video stream.
- the invention also relates to the video stream servers, the intermediate nodes of a transmission network and the video stream receiving terminals comprising means for implementing the methods described below.
- the invention relates to a signal intended to be transmitted from a server to at least one terminal, to allow the processing of a scalable video stream transmitted by said video stream server, via a transmission network, said stream being organized as detailed previously.
- a signal carries definition data of at least two profiles, or paths, distinct from filtering data units of each block, each path defining a series of successive fallback positions from an initial position, each fallback position using at least one data unit less than the previous position.
- This signal thus makes it possible to select one of said paths as a function of a predetermined criterion taking into account a content type of said stream and / or at least one piece of information representative of the capacities of the terminal receiving said stream.
- the signal carries on the one hand said data units forming said video stream, and on the other hand said definition data. Both elements can also be transmitted independently. 6 .. List of figures
- FIG. 1 already commented on in the preamble, illustrates the structure of a scalable video stream, whose subflows are represented by cubes in a three-dimensional space formed of the three spatial, temporal and quality dimensions
- Figure 2 also commented in the preamble, shows the schematic structure of an encoder of the flow of Figure 1
- Figure 3 commented in the preamble, is an example of structuring a scalable flow in two dimensions, and three corresponding paths
- FIG. 4A also commented on in the preamble, illustrates an example of three-dimensional scalability structuring
- FIG. 4B shows an alternative distribution of priorities for a NAL, according to one aspect of the invention
- Figure 5 is a simplified flowchart of the principle of the invention
- FIG. 6 illustrates a filtering table presenting two paths according to the invention
- Figure 7 shows the flow rates corresponding to the table of Figure 6
- FIG. 8 is another example of a filtering table according to the invention, using the notion of priority indicator
- FIGS. 9 to 11 illustrate three implementations of the invention, respectively in a client-server model, the adaptation of the bit rate in an intermediate node and the adaptation to a terminal
- FIG. 12 illustrates the dependencies defined by a profile
- FIG. 13 the reconstruction of the dependencies for the replica on the best quality possible in the event of the loss of a NALU
- FIGS. 14, 15 and 16 respectively show simplified diagrams of the servers, the transmission node and the terminal according to the invention, 7. Description of a preferred embodiment of the invention 7.1 essential elements of the invention
- the invention therefore proposes to use, according to the embodiment described hereinafter, the fields (P, D, T, Q) of NALUs SVC, in order to manage priority orders depending on the specified application needs and usable for making the adaptation of a server-side video stream (rate control, adaptation to the request), transmission nodes (DiffServ, TOS) or client side (adaptation in complexity, (7) -
- a set of application profiles (or paths) is defined. These application profiles therefore define different orders of priority over fallback modes, based on criteria such as the type of video (sports or cinema for example), the type of terminal (processing capacity and memory, screen size) and / or network capabilities. For example, in the first case, two profiles can be defined: - - Sport profile; we favor temporal fluidity:
- An application profile is then defined by a series of values (P, D, T, Q) i.
- the set of application profiles can be stored in a file, for example an XML file (this file applies to a complete sequence or to segments of the sequence or to a set of sequences).
- This file can be transmitted with the video stream, or in a separate channel. It must be available before the beginning of the decoding of the sequence / segment ).
- Another embodiment is the transport of these meta-parameters in information NALUs (eg SEI-type NALUs).
- NALUs eg SEI-type NALUs
- Reading 51 of the application profiles file containing fallback modes and choices 52 a. an initial mode of operation (eg sport) (fallback and recovery paths); b. an initial operating point (for example high speed CIF @ 30 Hz);
- an initial mode of operation eg sport
- an initial operating point for example high speed CIF @ 30 Hz
- This operating point can be updated externally (on a bit rate, quality, complexity, etc. basis) in accordance with a defined fallback strategy; 2. Reading 53 of the indices of the scalable video unit to be processed: Ht in the header of the NAL the information of resolution spatio-temporal-quality (P_paq, D_paq, T_paq, Q_paq) (one or more of dimensions can be omitted); 3, depending on the operating point (updated or not by the external process); at. Reading 55 of the operating mode (for example: sport) associated with an ascending and descending path making it possible to move in the scalability space; b. Choosing an operating point (reading or calculating F'_cible
- Filtering 56 a. Flow reduction; deleting packets for which (P_paq, D_ ⁇ aq, T_paq, Q_Paq) do not conform to the target, according to the XML table; b. rejection 57 or use 58 of the packet (or NALU);
- Modification 54 (possibly via an external process or otherwise) of the operating point; at. change of the operating mode (from a given priority to the fluidity of the images to a priority on the quality or the spatial resolution); b. change of the operating point (request of ascent or descent in quality of service).
- the modification 54 takes into account a fallback mode flag 59 issued by a profile adapter 510 controlled as appropriate by the client terminal 511, the server 512 and the network 513.
- the invention is based on the definition of a relationship between the fields P, D, T, Q of the header of the NALUs in order to organize the video stream at the output of the method in accordance with the expectations of a service particular, or a group of services. 7..2 NALUS signaling
- the filtering table illustrated in FIG. 6 is established in accordance with the prior art. One can also calculate, optionally, a rate associated with each "box" significant table.
- This table can be interpreted as a set of resolution intervals with overlapping flows (or not). This interpretation is illustrated in Figure 7. Within each range, the rate increases with Priority_id P ,.
- a fallback mode corresponds to a descent (arrows 61 and 62) in the table of FIG. 6. For example, we define:
- a film profile 62 according to which quality is preferred over fluidity and spatial resolution:
- range On the example XML file above, we defined operating ranges (called “range”). These operating ranges correspond to a value triplet (DTQ) and a range of values of ⁇ riority_id ⁇ Pmin, Pmax). This priority_id range then makes it possible to offer a variation in quality / throughput for a given resolution. The availability of different ranges for different space-time resolutions then makes it possible to define fallback application profiles.
- An application profile is then defined by a sequence of "range”.
- the sport profile goes from a range of flow in CIF @ 30Hz then a range of flow for QCIF @ 30Hz and finally for QCIF @ 15Hz, thus privileging a temporal fluidity during the use of mode of downturn.
- bit rate ranges proposed in an application mode can overlap (see FIG. 7). This thus allows a hysteresis phenomenon in the algorithm described hereinafter which then allows greater stability of the system by limiting the use of fallback modes. 7.4 _ Generic adaptation algorithm
- an adaptation algorithm works as follows: 1- Reading application profiles. For example the xml file described above: a- selection of an application mode. For example sport profile ("application one"); b- selection of an initial operating point. Default choice of the maximum operating mode; Point having the maximum priority_id in the "range” 9.
- the external process then varies the value of the priority_id in the current range (for example by using a feedback system, or by using a tabukt ⁇ on " ⁇ riority_id" gives flow).
- This step conventional in itself, consists of;
- the invention can take into account a large number of application constraints and can be carried out indifferently at any point of the network placed on the path between the encoder and the decoder, in a real-time or processing process. delayed.
- FIG. 14 shows the simplified structure of a server according to the invention, which comprises a memory M 148, a processing unit 146, equipped for example with a microprocessor: and driven by the computer program Pg 147.
- a server which comprises a memory M 148, a processing unit 146, equipped for example with a microprocessor: and driven by the computer program Pg 147.
- the code instructions of the computer program 147 are for example loaded into a RAM memory before being executed by the processor of the processing unit 146.
- the processing unit 146 receives as input a set of NALUs 141, the microprocessor ⁇ p of the processing unit 146 delivers a filtered video stream 143 according to the profile, or path, selected, according to the instructions of the Pg 147 program.
- the server 91 proposes (911) to the client 92 a choice of application profiles, according to a request 921 of video stream.
- the customer chooses (922) a mode and an operating point.
- the server receives the operating mode and the operating point
- Modes and operating points can be updated by an external adaptation process 93 receiving reports from the user (or network).
- the profile adapter 93 uses the "RangeOrder" elements of the profiles XML file. 7.6.2 Background 2; server-network-client model (network adaptation)
- FIG. 15 shows the simplified structure of an intermediate network node according to the invention, which comprises a memory M 154, a processing unit 151, equipped for example with a microprocessor, and driven by the computer program Pg 152
- the code instructions of the computer program 152 are for example loaded into a RAM memory before being executed by the processor of the processing unit 151.
- the processing unit 151 receives as input a video stream 151.
- the microprocessor ⁇ P of the processing unit 151 filters the video stream 151, according to a selected profile, and delivers a filtered stream 153, according to the instructions of the program Pg
- the server 101 sends a high-speed video stream 102 to the network intended for a group of receivers accepting a high-quality image and with a high bit rate. Unlike the previous example running point-to-point, this example works in multicast.
- the intermediate node 103 receives the same stream 02 as the other receivers placed on the network. It has a target application profile internally 1031 for controlling the filtering algorithm 1032 to achieve the target flow rate of the stream 1033, 1034 by eliminating off-profile packets.
- the client 104 receives this filtered video 1033,
- the intermediate node can calculate new profiles directly by analysis of the fields ⁇ P, D, T, Q ⁇ , 7.6.3 Adaptation of the flow rate to the resources of the terminal
- FIG. 16 shows the simplified structure of a terminal according to the invention, which comprises a memory M 160, a processing unit 161, equipped for example with a microprocessor, and driven by the computer program Pg 162.
- a terminal which comprises a memory M 160, a processing unit 161, equipped for example with a microprocessor, and driven by the computer program Pg 162.
- the code instructions of the computer program 162 are for example loaded into a RAM before being executed by the processor of the processing unit 161.
- the processing unit 161 receives an input.
- the microprocessor ⁇ P of the processing unit 161 filters the video stream 163, according to the profile selected, according to the instructions of the program.
- the processing unit 161 outputs a filtered video stream 164.
- FIG. 11 gives an example of the adaptation of the display to the resources of a terminal 111, for example a terminal with limited resources.
- the transport of the video 112 contains all the information for all the terminals. Depending on the reduced capacity of the terminal, a. user can choose
- HMI It also has an HMI that will allow it to navigate the levels of quality.
- H can choose to increase or decrease the operating point.
- the application profiles are inserted into the general parameters 1121 of the video, by SEl message, xml table, EPG or by any other means.
- the filtering 11 13 is performed according to the selected profile, and the decoder 1114 reconstructs the corresponding images. 7.6.4 Best quality recovery in the event of loss of NAL in a receiver
- the adaptation of the NALUs may vary in the quality ranges corresponding to a level, as indicated by Figure 12, the switching from one level to another can be done at the ends of the range.
- NALUs 131, 132 and 133 were lost.
- the analysis of PDTQ fields makes it possible to find the available information of better quality while waiting for the next image received without error.
- Received NALUs 134 and 135 correspond to the missing lower levels that do not allow decoding. We then fall back on the NALU 136.
- element ref "debits"/> ⁇ ! - to define the type of the application profile. eg "sport”, “movie”, ... -> ⁇ ! - to illustrate the type of fallback strategy used, eg "temporal”, "quality”, ... ->
- ⁇ ! allows to define the rates associated with the different rates e.g. "100-300 400" to indicate that the first range varies between 100 and 300 kbits; and that the second range is at a rate of 400 kbit / s -> ⁇ / xs: sequence>
- ⁇ ! - Range defines an operating flow range (defined by Pmin, Pmax) for a given spatio-temporal resolution (defined by S, T, O) ->
- Root for file definition. Must contain a definition of flow ranges (3D Space), and a list of application profiles (MyApplications) -> ⁇ / xs: element> ⁇ ! - Definition of types of syntax elements used
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0507690A FR2889017A1 (fr) | 2005-07-19 | 2005-07-19 | Procedes de filtrage, de transmission et de reception de flux video scalables, signal, programmes, serveur, noeud intermediaire et terminal correspondants |
PCT/EP2006/064382 WO2007009996A1 (fr) | 2005-07-19 | 2006-07-18 | Procedes de filtrage, de transmission et de reception de flux video scalables, programmes, serveur, noeud intermediaire et terminal correspondants |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1941734A1 true EP1941734A1 (fr) | 2008-07-09 |
Family
ID=36570538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP06777838A Ceased EP1941734A1 (fr) | 2005-07-19 | 2006-07-18 | Procedes de filtrage, de transmission et de reception de flux video scalables, programmes, serveur, noeud intermediaire et terminal correspondants |
Country Status (4)
Country | Link |
---|---|
US (1) | US8743950B2 (fr) |
EP (1) | EP1941734A1 (fr) |
FR (1) | FR2889017A1 (fr) |
WO (1) | WO2007009996A1 (fr) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101601305B (zh) * | 2006-10-20 | 2013-01-23 | 诺基亚公司 | 用于可伸缩多媒体的自适应路径的通用指示 |
EP2037683A1 (fr) * | 2007-09-17 | 2009-03-18 | Alcatel Lucent | Processus pour administrer à un terminal de média un flux vidéo adapté grâce à un noeud d'accès |
US8155184B2 (en) * | 2008-01-16 | 2012-04-10 | Sony Corporation | Video coding system using texture analysis and synthesis in a scalable coding framework |
GB0905184D0 (en) * | 2009-03-26 | 2009-05-06 | Univ Bristol | Encryption scheme |
TWI595770B (zh) | 2011-09-29 | 2017-08-11 | 杜比實驗室特許公司 | 具有對稱圖像解析度與品質之圖框相容全解析度立體三維視訊傳達技術 |
CN104041023B (zh) | 2011-09-29 | 2016-09-14 | 杜比实验室特许公司 | 双层帧相容全分辨率立体3d视频输送 |
US11327942B2 (en) | 2015-10-08 | 2022-05-10 | Signal Vine, Inc. | Systems and methods for providing a two-way, intelligent text messaging platform |
CN110830762B (zh) * | 2018-08-13 | 2021-06-18 | 视联动力信息技术股份有限公司 | 一种音视频数据的处理方法和系统 |
US10778938B2 (en) * | 2018-12-20 | 2020-09-15 | Hulu, LLC | Video chunk combination optimization |
CN110147239B (zh) * | 2019-05-22 | 2023-03-21 | 苏州仙峰网络科技股份有限公司 | 游戏安装包体的多重压缩的方法、设备及存储介质 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5708473A (en) * | 1994-08-30 | 1998-01-13 | Hughes Aircraft Company | Two stage video film compression method and system |
US5621660A (en) * | 1995-04-18 | 1997-04-15 | Sun Microsystems, Inc. | Software-based encoder for a software-implemented end-to-end scalable video delivery system |
US6233017B1 (en) * | 1996-09-16 | 2001-05-15 | Microsoft Corporation | Multimedia compression system with adaptive block sizes |
US5844613A (en) * | 1997-03-17 | 1998-12-01 | Microsoft Corporation | Global motion estimator for motion video signal encoding |
CA2252170A1 (fr) * | 1998-10-27 | 2000-04-27 | Bruno Bessette | Methode et dispositif pour le codage de haute qualite de la parole fonctionnant sur une bande large et de signaux audio |
GB9909606D0 (en) * | 1999-04-26 | 1999-06-23 | Telemedia Systems Ltd | Networked delivery of profiled media files to clients |
WO2002031670A1 (fr) * | 2000-10-12 | 2002-04-18 | Teraglobal Communications Corp. | Procede et systeme de transmission de qualite de service selectionnable par le destinataire sur des reseaux |
US20020073238A1 (en) * | 2000-11-28 | 2002-06-13 | Eli Doron | System and method for media stream adaptation |
KR100834748B1 (ko) * | 2004-01-19 | 2008-06-05 | 삼성전자주식회사 | 스케일러블 비디오 스트림 재생 방법 및 장치 |
KR100834749B1 (ko) * | 2004-01-28 | 2008-06-05 | 삼성전자주식회사 | 스케일러블 비디오 스트림 재생장치 및 그 방법 |
EP1599046A1 (fr) * | 2004-05-19 | 2005-11-23 | THOMSON Licensing | Procédé de codage des données vidéo d'une séquence d'images |
KR100786132B1 (ko) * | 2004-11-01 | 2007-12-21 | 한국전자통신연구원 | 적응적으로 세분화된 gop 구조를 이용한 계층적b픽쳐-기반 동영상 부호화 및 복호화 방법 |
US20060156363A1 (en) * | 2005-01-07 | 2006-07-13 | Microsoft Corporation | File storage for scalable media |
US7538823B1 (en) * | 2005-09-23 | 2009-05-26 | Cirrus Logic, Inc. | Luminance/chrominance video data separation circuits and methods and video systems utilizing the same |
KR100825752B1 (ko) * | 2005-11-21 | 2008-04-29 | 한국전자통신연구원 | Svc에서 효율적인 비트율 제어 방법 및 장치 |
FR2894421B1 (fr) * | 2005-12-07 | 2008-01-18 | Canon Kk | Procede et dispositif de decodage d'un flux video code suivant un codage hierarchique |
FR2899758A1 (fr) * | 2006-04-07 | 2007-10-12 | France Telecom | Procede et dispositif de codage de donnees en un flux scalable |
US8392595B2 (en) * | 2006-09-15 | 2013-03-05 | France Telecom | Method and device for adapting a scalable data stream, corresponding computer program product and network element |
-
2005
- 2005-07-19 FR FR0507690A patent/FR2889017A1/fr active Pending
-
2006
- 2006-07-18 US US11/996,196 patent/US8743950B2/en active Active
- 2006-07-18 EP EP06777838A patent/EP1941734A1/fr not_active Ceased
- 2006-07-18 WO PCT/EP2006/064382 patent/WO2007009996A1/fr active Application Filing
Non-Patent Citations (2)
Title |
---|
NICOLA ADAMI ET AL: "Fully embedded entropy coding with arbitrary multiple adaptation capabilities", 70. MPEG MEETING; 18-10-2004 - 22-10-2004; PALMA DE MALLORCA; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11),, no. M11378, 15 October 2004 (2004-10-15), XP030040152, ISSN: 0000-0251 * |
See also references of WO2007009996A1 * |
Also Published As
Publication number | Publication date |
---|---|
WO2007009996A1 (fr) | 2007-01-25 |
US8743950B2 (en) | 2014-06-03 |
FR2889017A1 (fr) | 2007-01-26 |
US20080310497A1 (en) | 2008-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2007009996A1 (fr) | Procedes de filtrage, de transmission et de reception de flux video scalables, programmes, serveur, noeud intermediaire et terminal correspondants | |
EP1839442B1 (fr) | Dispositifs et procedes de codage et de decodage echelonnables de flux de donnees d'images, signal, programme d'ordinateur et module d'adaptation de qualite d'image correspondants | |
FR2939593A1 (fr) | Procede et dispositif de codage video | |
FR2931610A1 (fr) | Procede et un dispositif de transmission de donnees d'images | |
FR2903556A1 (fr) | Procedes et des dispositifs de codage et de decodage d'images, un systeme de telecommunications comportant de tels dispositifs et des programmes d'ordinateur mettant en oeuvre de tels procedes | |
FR2909474A1 (fr) | Procede et dispositif de codage d'images numeriques et procede et dispositif de decodage d'images numeriques codees | |
EP1779669A1 (fr) | Procede de mise en forme de trames d'une sequence video | |
EP2052545B1 (fr) | Dispositif et procede de codage et de decodage echelonnables de flux de donnees d'images, signal et programme d'ordinateur correspondants | |
EP3707900B1 (fr) | Procédé de formation d'une séquence d'images de sortie à partir d'une séquence d'images d'entrée, procédé de reconstruction d'une séquence d'images d'entrée à partir d'une séquence d'images de sortie, dispositifs, equipement serveur, equipement client et programmes d'ordinateurs associés | |
FR2932050A1 (fr) | Procede et dispositif de transmission de donnees video | |
FR2820255A1 (fr) | Procedes de codage et de decodage d'images, dispositifs, systemes, signaux et applications correspondants | |
FR2896117A1 (fr) | Procedes de codage et de decodage d'une sequence d'images, dispositifs , programmes d'ordinateur, et signal correspondants | |
WO2009138656A2 (fr) | Transmission d'un flux video code par codage hierarchique | |
Capovilla et al. | An architecture for distributing scalable content over peer-to-peer networks | |
EP3378232B1 (fr) | Procédé de traitement de données codées, procédé de réception de données codées, dispositifs, et programmes d'ordinateurs associés | |
FR2913163A1 (fr) | Procede et dispositif de transmission de donnees video | |
WO2008032001A1 (fr) | Procede et dispositif d'adaptation d'un flux de donnees scalable, produit programme d'ordinateur et equipement reseau correspondants | |
WO2012056148A1 (fr) | Codage video echelonnable a partir d'un epitome hierarchique | |
FR2923970A1 (fr) | Procede et dispositif de formation, de transfert et de reception de paquets de transport encapsulant des donnees representatives d'une sequence d'images | |
EP2172023B1 (fr) | Adaptation d'un flux de donnees scalables avec prise en compte des retransmissions | |
FR3041851A1 (fr) | Procede d'allocation de debit, dispositif, codeur et programme d'ordinateur associes | |
Ramzan et al. | Scalable and Adaptable Media Coding Techniques for Future Internet. | |
FR2913844A1 (fr) | Procede et dispositif d'allocation de debit dans une sequence video | |
Lee et al. | Dynamic full-scalability conversion in scalable video coding | |
FR2936388A1 (fr) | Procede et dispositif de transcodage d'une sequence video |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20080507 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR |
|
RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: AMONOU, ISABELLE Inventor name: PATEUX, STEPHANE Inventor name: BABONNEAU, GERARD |
|
DAX | Request for extension of the european patent (deleted) | ||
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: ORANGE |
|
17Q | First examination report despatched |
Effective date: 20140102 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R003 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED |
|
18R | Application refused |
Effective date: 20170612 |