Information
-
Patent Application
-
20040261028
-
Publication Number
20040261028
-
Date Filed
July 09, 200420 years ago
-
Date Published
December 23, 200419 years ago
-
CPC
-
US Classifications
-
International Classifications
Abstract
The invention regards a method for broadcasting multimedia signals towards a plurality of terminals as a data flow comprising successive packets, being organised into sessions, a session comprising a set of packets forming a whole, at least some of said sessions being transmitted under several versions, corresponding to different starting moments. According to the invention, such a method implements a mechanism for merging versions of a same session, so that at least two versions starting at different moments use, at first, session portions which are peculiar to them, and, subsequently, a shared session potion.
Description
[0001] The invention regards broadcasting of multimedia presentations, or signals (such as MPEG-4 presentations), in a broadcasting system providing for random access to a presentation (e.g. MPEG-2).
[0002] To allow such a random access, a given presentation has to be broadcast several times, so that several terminals can get the beginning of a presentation at different instants.
[0003] Broadcasting MPEG-4 presentations over MPEG-2 transport channels has recently been described in the Amendment 7 to MPEG-2 system.
[0004] However, it appears that this Amendment 7 is not sufficient, and requires being updated. The invention try and build MPEG-4 presentations then to see whether we could achieve or not sending them according to Amendment 7. This has lead us to point out here and there some functionality that was left aside or impossible to be efficiently handled.
[0005] We tried then to modify as minimally as possible Amendment 7 so as to be able to achieve a complete transmission of an MPEG-4 presentation. This process has been incremental and this document tries to sum up both what can't currently be done in terms of unavailable functionality and our conclusions so as to encompass complete MPEG-4 functionality in the broadcast of MPEG-4 presentations over MPEG-2 transport channels. (In the following lines, MPEG-2 will mean MPEG-2 transport.)
1 PRIOR ART: AUDIT OF AMENDMENT 7.
[0006] 1.1 Implications on MPEG-4 Elementary Streams.
[0007] One feature of MPEG-2 is that it enables random access to a presentation. Let us focus on the implications of this when transmitting an MPEG-4 presentation according to MPEG-2.
[0008] Most current MPEG terms are defined in Annex 1.
[0009] An example of MPEG-4 presentation is given in Annex 2.
[0010] Annex 3 relates to MPEG-4 over MPEG-2 mapping according to prior art.
[0011] 1.1.1 BIFS ES.
[0012] Assumption: Random access to a presentation provides two different users with the same presentation.
[0013] Assertion: Access units of a BIFS Command ES that are not RAP should not modify the scenegraph structure.
[0014] Reason: Otherwise two different users don't have the same presentation at the same point in time. More precisely: since there is random access to the presentation, we can assume there is a RAP AU after such structural modification. The RAP is necessarily a SceneReplace, and the SceneReplace is the modified scenegraph. Consequently the two users don't experience the same presentation.
[0015] Conclusion:
[0016] a) Updates are only used for scene structure construction and not for presentation purposes. Thus presentations can't be very dynamic. Many MPEG-4 presentations can't be transmitted over MPEG-2. Cartoons, for instance, would not be properly handled.
[0017] b) Even in the case of a static presentation, this implies that resources are available or will be available in a very short time which is not possible due to bandwidth limitations if the presentation is a large one. This will result in poor quality presentations (missing images that will pop up some time later, . . . )
[0018] 1.1.2 OD ES.
[0019] Assumption Random access to a presentation provides two different users with the same presentation.
[0020] Assertion: Access units of OD ES that are not RAP should not modify the stream structure.
[0021] Reason: Otherwise two different users don't have the same presentation at the same point in time. (see BIFS)
[0022] Conclusion: Since OD do not imply modifications in the presentation, this does not alter the presentation.
[0023] 1.1.3 JPEG, MPEG-J
[0024] Assertion: JPEG and MPEG-J have to be sent in PES.
[0025] Reason: see Amendment 7 only BIFS & OD can be carried in sections.
[0026] Conclusion:
[0027] a) Existing error detection mechanism in sections can't be used: It can be critical to know if a JPEG or an MPEG-J AU or corrupted or not.
[0028] b) Behaviour of an MPEG-4 terminal that receives duplicate Access Units for JPEG or MPEG-J is not specified. (or not allowed)
[0029] 1.1.4 Audio & Video
[0030] Assertion: Audio and Video have to be sent in PES.
[0031] Reason: see Amendment 7 only BIFS & OD can be carried in sections.
[0032] Conclusion:
[0033] a) Audio “jingles” and “beeps” as well as “video.clips” can't be properly handled
[0034] b) Behaviour of an MPEG-4 terminal that receives duplicate
[0035] Access Units for Audio, Video is not specified. (or not allowed)
[0036] 1.2 Some remarks
[0037] In normal use-cases, we want users to experience the same visual animations in part of the presentation and not for others. Amendment 7 limits the scope of MPEG-4 presentations to an almost static BIFS scene and streamed C audio and video.
[0038] Applications such as cartoons, lightweight ads could not be properly handled.
[0039] 1.3 Section Versioning.
[0040] MPEG-2 allows to give a version number to sections. However the semantics of version_number is signalling a state change if it is incremented.
[0041] w
[0042] With the RAP mechanism mentioned above, this does not allow using the update mechanism provided by MPEG-4. As a matter of fact, a session that begins will take the first available section and then incrementally all next version-numbers. This allows a very limited and complicated way of dealing with the update mechanism.
2 PRESENTATION OF THE INVENTION
[0043] 2.1 Goal:
[0044] It is an object of the invention to overcome these different drawbacks of the prior art.
[0045] More specifically, the invention aims to solve the issues raised previously, notably the protection of systems data (which consist of BIFS-Command streams, OD-streams, MPEG-J and JPEG streams) and the conservation of MPEG-4 functionality, for instance the BIFS Update mechanism for broadcast scenes (while not increasing too much the needed bandwidth).
[0046] 2.2 Main Features of the Invention
[0047] These objects as well as others which will appear subsequently, are achieved by means of a method for broadcasting multimedia signals towards a plurality of terminals as a data flow comprising successive packets, the packets being organised into sessions, a session comprising a set of packets forming a whole, at least some of said sessions being transmitted under several versions, corresponding to different starting moments.
[0048] According to the invention, such a method implements a mechanism for merging versions of a same session, so that at least two versions starting at different moments use, at first, session portions which are peculiar to them, and, subsequently, a shared session portion.
[0049] The invention also regards a method for broadcasting multimedia signals towards a plurality of terminals as a data flow comprising successive packets being organised into sessions, a session comprising a set of packets forming a whole.
[0050] According to the invention, each of said packets comprises a pointer allowing to identify, in said flow, the next packet of the corresponding session, and said flow is organised so that at least some of said packets are identified as said next packet for at least two different packets in said flow.
[0051] Advantageously, at least some of said sessions being transmitted under several versions, corresponding to different starting moments, said pointer allows to identify in said flow the next packet of the corresponding session version, and the pointers of packets belonging to different versions of a session can point towards the same next packet, so as to merge versions.
[0052] Preferentially, said pointer comprises a version identifier, which can differ from the version identifier of the present packet.
[0053] According to an advantageous feature of the invention, each of said packets comprises:
[0054] a present version identifier;
[0055] a next version identifier, which can either be:
[0056] said present version identifier; or
[0057] a different version identifier, in case of versions merging.
[0058] Preferentially, said method implements the MPEG2 standard.
[0059] Advantageously, said data are of the MPEG4 type.
[0060] The invention also regards a multimedia signal having such a structure that it can be broadcast according to the above-mentioned method.
[0061] The invention regards as well a terminal comprising means for processing a multimedia signal broadcast according to the above-mentioned method.
[0062] Advantageously, such a terminal comprises means for memorising at least some session portions received in advance.
[0063] 2.3 DRAWINGS
[0064] Other features and advantages of the invention will be more clearly apparent upon reading the following description of two preferred embodiments of the invention, given as illustrative and non-limiting examples and the appended drawings wherein:
[0065]
FIG. 1, discussed in Annex 2, discloses an example of content of a scene description;
[0066]
FIGS. 2
a
and 2b, also discussed in Annex 2, disclose two recommended temporal reception orders, according to prior art;
[0067]
FIG. 3 illustrates the use of the method of the invention;
[0068]
FIG. 4 illustrates how sessions interact, in a fusion of sessions;
[0069]
FIG. 5 illustrates how sessions interact, in the case of stream interaction;
[0070]
FIG. 6 illustrates the forward reference mechanism, according to the invention;
[0071]
FIG. 7 is an example of the method of FIG. 6, in a MPEG2 context.
[0072] 2.4 MPEG-4 Section Definition.
[0073] In order to address systems data, we propose to extend the definition of the MPEG-4 section. This means defining an MPEG-4 section for all the different stream types. Doing so enables us to provide the functionality of small audio sounds, small video clips, that are repeated in the broadcast session. [e.g. a beep that is repeated when you click on a button]
[0074] In the current specification, a section type has been defined for BIFS streams and OD streams. We propose to add a generic section type for all ISO/IEC 14496 content. It would be recommended not to use BIFS & OD section types from now on.
[0075] The detailed modification is described at the end of the document.
[0076] 2.5 Adding a Forward Reference in the MPEG-4 Sections.
[0077] 2.5.1 The Mechanism
[0078] In order to address the issues raised by random access to presentations we define a forward reference mechanism in the MPEG-4 sections. This allows several connected users to experience the same dynamic presentation while sharing packets.
[0079] Let us call a session the sequence of data that provides an end-user with a presentation. Each session is associated to a single PMT.
[0080] Allowing random access to a presentation means transmitting several sessions at the same time. There are three different times to be considered transmission time, decoding time and composition time that are relevant to us. For clarity, we suppose that composition time is equal to decoding time. Decoding time and Composition time are linked to the object to be presented and to presentation. Transmission time is related to the sequence of streamed data units.
[0081] Note that the last moment in time at which an Access Unit can be received is its decoding time. It cannot arrive after its decoding time.
[0082] Our purpose is to explain how to achieve transmission of multiple sessions, that is to say, how to order data units according to their transmission time so that decoding times can be preserved across sections. This is a well-known multiplexing problem if we treat sessions independently. However in our case, we can try and factorise sent data across sessions, namely by sharing section data. This would help us reduce the required bandwidth.
[0083] In order to achieve this, we propose a forward-reference mechanism in sections: each section is numbered and refers to a next section. Thus two sections may refer to the same next section.
[0084] In order to initialise this, we signal the first section in each PMT (see at the end of the document SL_Descriptor and FMC_Descriptor) and propose new semantics for section versioning thanks to the field media_session_number (base and extension). Since updates may be sent at a high frequency we propose allocating 10 bits for this purpose. Thanks to these two changes, we are able to address the update mechanism and control which sections are to be decoded by any session.
[0085] The semantics for versioning are then:
[0086] when acquiring the PMT, the terminal has to look for sections with media_session_number as indicated by the corresponding Descriptor (SL or FMC).
[0087] when acquiring a section, the terminal has to look for a next section which has media_session_number as indicated by next_session_version-number
[0088] 2.5.1.1 Consequences and Results.
[0089] This mechanism enables us to provide with a complete update mechanism, to share expensive resources as JPEG, MPEG-J, etc . . .
[0090] This mechanism is completely independent from an MPEG-4 terminal: it implies modifying the application-specific part of the MPEG-2 transport de-multiplexer (that is to say the Transport Layer if we consider DMIF's formalism).
[0091] We have calculated a forward-reference pattern for sections which allows to send cyclically a small presentation. We compared the packetization produced by this mechanism as compared to a simple multiplexing scheme where sessions do not share data. The frequency at which each session started was 1 Hz, the frequency of updates was 4 Hz, and the presentation had a dozen updates. In that case the bandwith used was twice smaller using this scheme.
[0092] 2.6 Modifications.
1TABLE 2-26
|
|
table_id assignments
Valuedescription
|
0x00program_association_section
0x01conditional_access_section (CA_section)
0x02TS_program_map_section
0x03TS_description_section
0x04ISO_IEC_14496_scene_description_section
0x05ISO_IEC_14496_object_descriptor_section
0x06ISO_IEC_14496_generic_section
0x07-0x37ITU-T Rec. H.222.0|ISO/IEC 13818-1 reserved
0x38-0x3FDefined in ISO/IEC 13818-6
0x40-0xFEUser private
0xFFforbidden
|
[0093] Tableau 2-26 table_id Assignment Values
2|
|
2.6.2 Section definition Table 2-63
No.
of
SyntaxbitsMnemonic
|
ISO_IEC_14496_section( ) {
table_id8uimsbf
section_syntax_indicator1bslbf
private_indicator1bslbf
reserved2bslbf
ISO_IEC_14496_section_length12uimsbf
table_id_extension16uimsbf
reserved2bslbf
media_session_number_base5uimsbf
current_next_indicator1bslbf
section_number8uimsbf
last_section_number8uimsbf
media_session_number_extension5uimsbf
reserved6bslbf
Next_media_session_number10uismbf
reserved11uismbf
if (PMT_has_SL_descriptor(current_PID)) {
SL_Packet( )
}
E l s e i f
(PMT_has_FMC_descriptor(current_PID)) {
for (i=1; i<N; i++)
FlexMuxPacket( )
}
Else {
for (i=1; i<N; i++)
reserved8bslbf
}
CRC_3232rpchof
}
|
[0094] Table 2-63—Section Syntax for Transport of ISO/IEC14496 Streams
[0095] table_id—This 8-bit field shall be set to ‘0x04’ or ‘0x05’ or ‘0x06’ in case of an ISO_IEC—14496_section. A value of ‘0x04’ indicates an ISO_IEC—14496_scene_description_section that carries an ISO/IEC 14496-1 scene description stream. A value of ‘0x05’ indicates an ISO_IEC—14496 object descriptor section that carries an ISO/IEC 14496-1 object descriptor stream. A value of ‘0x06’ indicates an ISO_EC—14496_generic_section that carries an ISO/IEC 14496-1 streams.
[0096] section_syntax_indicator—This 1-bit field shall be set to ‘1’.
[0097] private_indicator—This 1-bit field shall not be specified by this Specification
[0098] ISO_IEC—14496_section_length—This 12-bit field shall specify the number of remaining bytes in the section immediately following the ISO_IEC—14496_section_length field up to the end of the ISO_IEC—14496_section. The value of this field shall not exceed 4093 (0xFFD)
[0099] table_id_extension—This 16-bit field shall not be specified by this Specification; its use and value are defined by the user.
[0100] media_session_number_base—[This 5-bit field shall represent the most significant part of the media version number of the ISO_IEC—14496_table. The least significant part of the media_session_number being the media_session_number-extension. The media version number shall be incremented by 1 modulo 1024 with each new media session of the table. Media session control is at the discretion of the application.]
[0101] current_next_indicator—This 1-bit field shall be set to 1.
[0102] section_number—This 8-bit field shall represent the number of the ISO_IEC—14496_section. The section_number field of the first iSO_IEC—14496_section of the Object Descriptor Table or the Scene Description Table shall have a value equal to 0x00. The value of section_number shall be incremented by 1 with each additional section in the table.
[0103] last_section_number—This 8-bit field shall specify the number of the last section of the Object Descriptor Table or Scene Description Table of which this section is a part.
[0104] media session number extension—This 5-bit field shall represent the least significant part of the media session number of the ISO-IEC-14496 Table.
[0105] next_media_session_number—This 10-bit field shall represent the next media session number of the following section which has to be acquired.
[0106] PMT_has_SL_descriptor (current_PID)—a pseudo function that shall be true if an SL descriptor is contained in the descriptor loop in the Program Map Table for the ISO/IEC 13818-1 program element that conveys this ISO_LEC—14496_section.
[0107] SL_Packet( )—a sync layer packet as specified in subclause 10.2.2 of ISO/IEC 14496-1.
[0108] PMT_has_FMC descriptor (current_PID)—a pseudo function that shall be true if an FMC descriptor is contained in the descriptor loop in the Program Map Table for the ISO/IEC 13818-1 program element that conveys this ISO_IEC—14496_section.
[0109] FlexMuxPacket( )—a FlexMux packet as specified in subclause 11.2.4 of ISO/IEC 14496-1.
[0110] CRC—32—This 32-bit field shall contain the CRC value that gives a zero output of the registers in the decoder defined in Annex A of ITU-T Rec. H.222.01 ISO/IEC 13818-1 after processing the entire ISO_IEC—14496_section.
[0111] 2.6.3 Descriptors.
3|
|
2.6.3.1 SL Descriptor
|
|
SL_descriptor ( ) {
descriptor_tag8uimsbf
descriptor_length8uimsbf
ES_ID16uimsbf
If (Stream-type==0x13)
{
reserved6uimsbf
next_media_session_number10uimsbf
}
}
|
[0112] 2.6.3.2 Semantic Definition of Fields in SL Descriptor
[0113] ES_ID—This 16-bit field shall specify the identifier of an ISO/IEC 14496-1 SL-packetized stream.
[0114] next_media_session_number—This field shall specify the media session of the section that has to be compiled by the terminal.
4|
|
2.6.3.3 FMC descriptor
No.
of
SyntaxbitsMnemonic
|
FMC_descriptor ( ) {
descriptor_tag8uims
descriptor_length8uims
for (i=0; i<descriptor_length; i += 3) {
ES_ID16uims
FlexMuxChannel8uims
if (Stream-type==0x13) {
reserved6uims
next_media_session_number10uims
}
}
}
|
[0115] 2.6.3.4 Semantic Definition of Fields in FMC Descriptor
[0116] ES_ID—This 16-bit field specifies the identifier of an ISO/IEC 14496-1 SL-packetized stream.
[0117] FlexMuxChannel—This 8-bit field specifies the number of the FlexMux channel used for this SL-packetized stream.
[0118] next_media_session_number—This field shall specify the media session of the section that has to be compiled by the terminal.
2.7 EXAMPLES (FIG. 3 to 7)
[0119]
FIG. 3 illustrates the method of the invention, in a general way. The MPEG-2 signal comprises a first program map table (PMT) 31, describing a related session. Several similar PMT 32 (only one is illustrated) are inserted in the signal, to allow terminals to get the corresponding presentation, whenever they are connected to the signal. Each PMT 31, 32 corresponds to a different version of the session.
[0120] Therefore, the PMT 31 includes a version number 311 (version “1”), which allows the terminal to identify the following packet 33 to be taken into account in the version “1” of the session (arrow 34). In the same way, packet 33 includes:
[0121] a version number 331 (designated by the previous packet);
[0122] a next version number 332 (designating the further packet—arrow 35).
[0123] The same structure is used for the second version of the session (version “2”), from PMT 32 (arrows 36, 37).
[0124] In a first time, the next version number is generally the current version number. However, according to the invention, it is possible that the next version number designates a different version number than the current number, as shown by arrow 38. In this case, packet 39 and packet 310 (while belonging to two distinct version of the same session) will point out on a same packet 311. In other words, there is a merging of the two versions (or a jump of one of the versions).
[0125] Consequently, packet 311 will be sent only one time, although it will be used by terminals not having beginning the reception of the session at the same time. It is a very efficient way to reduce the quantity of data to be transmitted (in particular when packet 311 is a big one), and to allow quick starting at any time in the terminals.
[0126] Of course, when the terminal has started late (i.e. with PMT 32), it is possible that packet 311 is received too early (processing of the previous packets not being achieved). In this case, the terminal stores the corresponding data in a buffer, so as to postpone the processing of same.
[0127] In the same way, specific sequences (such as a jingle or a scene) which can be required at any time can be transmitted only one time (or a limited number of times) and stored in the terminal. As soon as it is required, this sequence is identified as already stored, with the version number pointing on it.
[0128]
FIG. 4 (which is similar to FIG. 3) illustrates how sessions interact, in the case of a fusion of sessions. FIG. 5 illustrates how sessions interact, in the case of a stream interaction. PMTs 51, 52 point out on a BIFS elementary stream 53, 54 (same as FIG. 4) and on an OD elementary stream 55. Moreover, a JPEG-ES stream 56 is pointed out by the packet 57 and the packet 58.
[0129]
FIG. 6 is an example of structure for the forward reference mechanism, according to the invention. FIG. 7 discloses a more detailed example of use of this method, according to MPEG-2. It shows a series of packets, on a temporal axis (4 successive lines are illustrated, where the first packet of a line follows in time the last packet of the previous line).
MPEG-4 Definitions
[0130] 1. Access Unit (AU)
[0131] An individually accessible portion of data within an elementary stream. An access unit is the smallest data entity to which timing information can be attributed.
[0132] 2. Alpha Map
[0133] The representation of the transparency parameters associated with a texture map.
[0134] 3. Audio-Visual Object
[0135] A representation of a natural or synthetic object that has an audio and/or visual manifestation. The representation corresponds to a node or a group of nodes in the BIFS scene description. Each audio-visual object is associated with zero or more elementary streams using one or more object desciptors.
[0136] 4. Audio-Visual Scene (AV Scene)
[0137] A set of audio-visual objects together with scene description information that defines their spatial and temporal attributes including behaviors resulting from object and user interactions.
[0138] 5. Binary Format for Scene (BIFS)
[0139] A coded representation of a parametric scene description format.
[0140] 6. Buffer Model
[0141] A model that defines how a terminal complying with ISO/IEC 14496 manages the buffer resources that are needed to decode a presentation.
[0142] 7. Byte Aligned
[0143] A position in a coded bit stream with a distance of a multiple of 8-bits from the first bit in the stream.
[0144] 8. Clock Reference
[0145] A special time stamp that conveys a reading of a time base.
[0146] 9. Composition
[0147] The process of applying scene description information in order to identify the spatio-temporal attributes and hierarchies of audio-visual objects.
[0148] 10. Composition Memory (CM)
[0149] A random access memory that contains composition units.
[0150] 11. Composition Time Stamp (CTS)
[0151] An indication of the nominal composition time of a composition unit.
[0152] 12. Composition Unit (CU)
[0153] An individually accessible portion of the output that a decoder produces from access units.
[0154] 13. Compression Layer
[0155] The layer of a system according to the specifications in ISO/IEC 14496 that translates between the coded representation of an elementary stream and its decoded representation. It incorporates the decoders.
[0156] 14. Decoder
[0157] An entity that translates between the coded representation of an elementary stream and its decoded representation.
[0158] 15. Decoding buffer (DB)
[0159] A buffer at the input of a decoder that contains access units.
[0160] 16. Decoder configuration
[0161] The configuration of a decoder for processing its elementary stream data by using information contained in its elementary stream descriptor.
[0162] 17. Decoding Time Stamp (DTS)
[0163] An indication of the nominal decoding time of an access unit.
[0164] 18. Delivery Layer
[0165] A generic abstraction for delivery mechanisms (computer networks, etc.) able to store or transmit a number of multiplexed elementary streams or FlexMux streams.
[0166] 19. Descriptor
[0167] A data structure that is used to describe particular aspects of an elementary stream or a coded audio-visual object.
[0168] 20. DMIF Application Interface (DAI)
[0169] An interface specified in ISO/IEC 14496-6. It is used here to model the exchange of SL-packetized stream data and associated control information between the sync layer and the delivery layer.
[0170] 21. Elementary Stream (ES)
[0171] A consecutive flow of mono-media data from a single source entity to a single destination entity on the compression layer.
[0172] 22. Elementary Stream Descriptor
[0173] A structure contained in object descriptors that describes the encoding format, initialization information, sync layer configuration, and other descriptive information about the content carried in an elementary stream.
[0174] 23. Elementary Stream Interface (ESI)
[0175] An interface modeling the exchange of elementary stream data and associated control information between the compression layer and the sync layer.
[0176] 24. FlexMux Channel (FMC)
[0177] A label to differentiate between data belonging to different constituent streams within one FlexMux Stream. A sequence of data in one FlexMux channel within a FlexMux stream corresponds to one single SL-packetized stream.
[0178] 25. FlexMux Packet
[0179] The smallest data entity managed by the FlexMux tool. It consists of a header and a payload.
[0180] 26. FlexMux Stream
[0181] A sequence of FlexMux Packets with data from one or more SL-packetized streams that are each identified by their own FlexMux channel.
[0182] 27. FexMux tool
[0183] A tool that allows the interleaving of data from multiple data streams.
[0184] 28. Graphics Profile
[0185] A profile that specifies the permissible set of graphical elements of the BIFS tool that may be used in a scene description stream. Note that BIFS comprises both graphical and scene description elements.
[0186] 29. Inter
[0187] A mode for coding parameters that uses previously coded parameters to construct a prediction.
[0188] 30. Intra
[0189] A mode for coding parameters that does not make reference to previously coded parameters to perform the encoding.
[0190] 31. Initial Object Descriptor
[0191] A special object descriptor that allows the receiving terminal to gain initial access to portions of content encoded according to ISO/IEC 14496. It conveys profile and level information to describe the complexity of the content.
[0192] 32. Intellectual Property Identification (IPI)
[0193] A unique identification of one or more elementary streams corresponding to parts of one or more audio-visual objects.
[0194] 33. Intellectual Property Management and Protection (IPMP) System
[0195] A generic term for mechanisms and tools to manage and protect intellectual property. Only the interface to such systems is normatively defined.
[0196] 34. Object Clock Reference (OCR)
[0197] A clock reference that is used by a decoder to recover the time base of the encoder of an elementary stream.
[0198] 35. Object Content Information (OCI)
[0199] Additional information about content conveyed through one or more elementary streams. It is either aggregated to individual elementary stream descriptors or is itself conveyed as an elementary stream.
[0200] 36. Object Descriptor (OD)
[0201] A descriptor that aggregates one or more elementary streams by means of their elementary stream descriptors and defines their logical dependencies.
[0202] 37. Object Descriptor Command
[0203] A command that identifies the action to be taken on a list of object descriptors or object descriptor IDs, e.g., update or remove.
[0204] 38. Object Descriptor Profile
[0205] A profile that specifies the configurations of the object descriptor tool and the sync layer tool that are allowed.
[0206] 39. Object Descriptor Stream
[0207] An elementary stream that conveys object descriptors encapsulated in object descriptor commands.
[0208] 40. Object Time Base (OTB)
[0209] A time base valid for a given elementary stream, and hence for its decoder. The OTB is conveyed to the decoder via object clock references. All time stamps relating to this object's decoding process refer to this time base.
[0210] 41. Parametric Audio Decoder
[0211] A set of tools for representing and decoding speech signals coded at bit rates between 6 Kbps and 16 Kbps, according to the specifications in ISO/IEC 14496-3.
[0212] 42. Quality of Service (QoS)
[0213] The performance that an elementary stream requests from the delivery channel through which it is transported. QoS is characterized by a set of parameters (e.g., bit rate, delay jitter, bit error rate, etc.).
[0214] 43. Random Access
[0215] The process of beginning to read and decode a coded representation at an arbitrary point within the elementary stream.
[0216] 44. Reference Point
[0217] A location in the data or control flow of a system that has some defined characteristics.
[0218] 45. Rendering
[0219] The action of transforming a scene description and its constituent audio-visual objects from a common representation space to a specific presentation device (i.e., speakers and a viewing window).
[0220] 46. Rendering Area
[0221] The portion of the display device's screen into which the scene description and its constituent audio-visual objects are to be rendered.
[0222] 47. Scene Description
[0223] Information that describes the spatio-temporal positioning of audio-visual objects as well as their behavior resulting from object and user interactions. The scene description makes reference to elementary streams with audio-visual data by means of pointers to object descriptors.
[0224] 48. Scene Description Stream
[0225] An elementary stream that conveys scene description information.
[0226] 49. Scene Graph Elements
[0227] The elements of the BIFS tool that relate only to the structure of the audio-visual scene (spatio-temporal temporal positioning of audio-visual objects as well as their behavior resulting from object and user interactions) excluding the audio, visual and graphics nodes as specified in clause Erreur ! Source du renvoi introuvable.
[0228] 50. Scene Graph Profile
[0229] A profile that defines the permissible set of scene graph elements of the BIFS tool that may be used in a scene description stream. Note that BIFS comprises both graphical and scene description elements.
[0230] 51. SL-Packetized Stream (SPS)
[0231] A sequence of sync layer Packets that encapsulate one elementary stream.
[0232] 52. Structured Audio
[0233] A method of describing synthetic sound effects and music as defined by ISO/IEC 14496-3.
[0234] 53. Sync Layer (SL)
[0235] A layer to adapt elementary stream data for communication across the DMIF Application Interface, providing timing and synchronization information, as well as fragmentation and random access information. The sync layer syntax is configurable and can be configured to be empty.
[0236] 54. Sync Layer Configuration
[0237] A configuration of the sync layer syntax for a particular elementary stream using information contained in its elementary stream descriptor.
[0238] 55. Sync Layer Packet (SL-Packet)
[0239] The smallest data entity managed by the sync layer consisting of a configurable header and a payload. The payload may consist of one complete access unit or a partial access unit.
[0240] 56. Syntactic Description Language (SDL)
[0241] A language defined by ISO/IEC 14496-1 that allows the description of a bitstream's syntax.
[0242] 57. Systems Decoder Model (SDM)
[0243] A model that provides an abstract view of the behavior of a terminal compliant to ISO/IEC 14496. It consists of the buffer model and the timing model.
[0244] 58. System Time Base (STB)
[0245] The time base of the terminal. Its resolution is implementation-dependent. All operations in the terminal are performed according to this time base.
[0246] 59. Terminal
[0247] A system that sends, or receives and presents the coded representation of an interactive audio-visual scene as defined by ISO/IEC 14496-1. It can be a standalone system, or part of an application system complying with ISO/IEC 14496.
[0248] 60. Time Base
[0249] The notion of a clock; it is equivalent to a counter that is periodically incremented.
[0250] 61. Timing Model
[0251] A model that specifies the semantic meaning of timing information, how it is incorporated (explicitly or implicitly) in the coded representation of information, and how it can be recovered at the receiving terminal.
[0252] 62. Time Stamp
[0253] An indication of a particular time instant relative to a time base.
[0254] 3 Abbreviations and Symbols
[0255] AU Access Unit
[0256] AV Audio-visual
[0257] BIFS Binary Format for Scene
[0258] CM Composition Memory
[0259] CTS Composition Time Stamp
[0260] CU Composition Unit
[0261] DAI DMIF Application Interface (see ISO/IEC 14496-6)
[0262] DB Decoding Buffer
[0263] DTS Decoding Time Stamp
[0264] ES Elementary Stream
[0265] ESI Elementary Stream Interface
[0266] ESID Elementary Stream Identifier
[0267] FAP Facial Animation Parameters
[0268] FAPU FAP Units
[0269] FDP Facial Definition Parameters
[0270] FIG FAP Interpolation Graph
[0271] FIT FAP Interpolation Table
[0272] FMC FlexMux Channel
[0273] FMOD The floating point modulo (remainder) operator which returns remainder of x/y such that:
[0274] Fmod(x/y)=x−k*y, where k is an integer,
[0275] sgn(fmod(x/y))=sgn(x), and
[0276] abs(fmod(x/y))<abs(y)
[0277] IP Intellectual Property
[0278] IPI Intellectual Property Identification
[0279] IPMP Intellectual Property Management and Protection
[0280] NCT Node Coding Tables
[0281] NDT Node Data Type
[0282] NINT Nearest INTeger value
[0283] OCI Object Content Information
[0284] OCR Object Clock Reference
[0285] OD Object Descriptor
[0286] ODID Object Descriptor Identifier
[0287] OTB Object Time Base
[0288] PLL Phase Locked Loop
[0289] QoS Quality of Service
[0290] SAOL Structured Audio Orchestra Language
[0291] SASL Structured Audio Score Language
[0292] SDL Syntactic Description Language
[0293] SDM Systems Decoder Model
[0294] SL Synchronization Layer
[0295] SL-Packet Synchronization Layer Packet
[0296] SPS SL-Packetized Stream
[0297] STB System Time Base
[0298] TTS Text-To-Speech
[0299] URL Universal Resource Locator
[0300] VOP Video Object Plane
[0301] VRML Virtual Reality Modeling Language
Description of a MPEG-4—Presentation
[0302] We are going to have a look at a usual MPEG-4 presentation with some JPEGs, one Audio; one Video:
[0303] IOD descriptor
[0304] System Elementary streams (BIFS & OD)
[0305] media such as JPEGs and the traditional Elementary streams
5|
|
ElementTypeESIDNbAUAU's average sizeComment
|
IODDescriptorN/AN/AN/Aallows to start the scene
BIFSES 1 105kO-50kOfirst updates are “small”
ODES 2 5100ksOpointing to the media
JPEG_1ES31 150kOquite a reasonable JPEG
JPEG_2ES32 150kO
JPEG_nES 3n 150kO
VidéoES41100010kOsize depends on I, B, P frame
AudioES5140001kO
|
[0306] 2.1 BIFS
[0307] The presentation describes a scene that allows firstly to present a downloading tool bar (while the first elements are being downloaded) and secondly a 3D (not too complicated) scene to which will be added some updates that will bring in some video clips (see FIG. 1).
[0308] 2.2 OD
[0309] The OD elementary stream contains the Object descriptors that will point to the different media (JPEG, Audio, video, . . . )
[0310] 2.2.1 Temporal Scheduling
[0311] We try to describe the way the client should receive the different elements of the presentation:
[0312] What is needed is that media should arrive
[0313] after the OD descriptors referencing them (semantics of ODExecute)
[0314] before the BIFS Update commands using them.
[0315]
FIGS. 2
a
and 2b show two recommended temporal reception orders. Both are equivalent.
MPEG-4 over MPEG-2 Mapping
[0316] MPEG-2 has two major packet structures:
[0317] the PES (Packetized Elementary Stream) packet structure
[0318] the Section structure.
[0319] MPEG-4 contents can be carried within those two structures.
[0320] We are going to consider the carriage of the IOD descriptor, and the different possible carriages of the
[0321] System Elementary streams (BIFS & OD)
[0322] Traditional Elementary Streams (Audio & Video)
[0323] According to the MPEG-4 specification, the System Elementary streams (BIFS & OD), and the
[0324] Traditional Elementary Streams (Audio & Video) are first embedded into either the MPEG-4 SL layer or into the MPEG-4 FlexMux layer (that includes the SL layer)
[0325] JPEGs and MPEG-J will also be considered
[0326] 3.1 MPEG-2 Signaling, MPEG-4 Descriptors
[0327] The MPEG-2 PMT table describes any MPEG-2 program proposed to the end user. In this table the different MPEG-4 descriptors will be found, such as the IOD, the SL and FlexMux descriptors describing the different MPEG-4 streams, when needed. Since BIFS and OD Elementary streams are part of the presentation, the MPEG-4 Elementary streams are embedded within the MPEG-4 SL layer or within the FlexMux layer (including the SL layer).
[0328] The PMT table (with other service and network oriented tables) is repeated to allow a quick tuning in of any client at any moment. Usually such a table can be repeated several times a second.
[0329] The IOD is part of the TS_program13 map_section of the PMT table
[0330] In the PMT the list of the MPEG-4 streams associated to the presentation follows the IOD. Each stream is characterized by its MPEG-4 descriptor.
[0331] 3.1 MPEG-2 Content, MPEG-4 System and Traditional Elementary Streams:
[0332] MPEG-2 content can be either in Packetized Elementary Streams (PES) or Sections.
[0333] PES streams are sequences of PES packets. Packets are of variable length (rather long), synchronised, rather continuous, not protected. The PES syntax is a common syntax to all elementary streams to support synchronization. The first elementary streams to use the PESsyntax are the Audio & Video Elementary streams.
[0334] Sections are variable length packets (rater small), not synchronized, rather discontinuous, protected. Protected means that on reception of each section, it is possible to be aware that the section has been corrupted or not. The first use of sections is to carry signalling. Their second use is for downloading. Carousel machanisms are based on section packetization.
[0335] All MPEG-4 streams, as system elementary streams are here present, have to be at least embedded into the MPEG-4 SL layer, to allow assignment of the MPEG-4 timestamps, or into the FlexMux layer (that includes the SL layer).
[0336] The BIFS & the OD Elementary streams, once converted into SL or FlexMux streams, can be carried either in PES or in Sections, while Audio and Video Elementary streams have always to be carried within PESs.
[0337] We will consider first both types of System Elementary streams embedded in PES, and then their embedding in Sections, associated in both cases with the Audio & Video elementary streams embedded in PES
[0338] 3.2.1 First Case: System & Traditional Elementary Streams Embedded in PES
[0339] The major issue is to allow at any time, any client to tune into the presentation: the random access issue.
[0340] Among other things, this can be done by the use of the RAP flag supported at the MPEG-4 SL layer, and by the use of PMT table.
[0341] 3.2.1.1. The Random Access Point Flag
[0342] To support this feature, we can use the Random Access Point flag (RAP) present at the SL level, for all the Elementary streams of the presentation.
[0343] For BIFS, when RAP=1 the BIFS AU contains the integration of all the preceeding BIFS Updates. This leads eventually to a huge size of BIFS AU (#1 Mbyte). Another issue is also that to present something coherent, the player has to await for all the JPEG textures. Which is quite a lot of information, and a heavy downloading. This implies for JPEGs, that either the terminal will read only one AU, and will not pay attention to the following ones that will be sent later for further possible random access, or that the terminal will crash
[0344] For OD, when RAP=1, the OD AU will contain the result and integration of the preceeding updates. Applications are less concerned by the sizes of the Ods. For Audio & Video Elementary streams, they are read continuously. Audio ‘jingles ’ and Video ‘clips’ cannot be sent within such elementary streams.
[0345] The “streams with RAP” figure shows a simple scenario, using the RAP facility.
[0346] In the first case are arriving into the terminal successively:
[0347] 1. BIFS (RAP=1) describing a scene without media
[0348] 2. OD (RAP=1) pointing to the first JPEG
[0349] 3. JPEG (RAP=1), the first JPEG,
[0350] 4. BIFS (RAP=0) describing the image texture where the JPEG will be mapped
[0351] 5. OD (RAP=0) to introduce the Audio and the Video,
[0352] 6. the Audio and Video (their first AUs)
[0353] 7. BIFS (RAP=0) describing where the Audio & Video are mapped
[0354] 8. the Audio, Video (other AUs)
[0355] In the second case are arriving into the terminal successively:
[0356] 1. OD (RAP=1) pointing to the first JPEG, the Audio and the Video
[0357] 2. The Audio, the Video,
[0358] 3. the first JPEG (RAP=1)
[0359] 4. the BIFS (RAP=1) integrating the BIFS updates of the first case,
[0360] 5. OD (RAP=0) pointing to the second JPEG
[0361] 6. the second JPEG (RAP=1)
[0362] 7. the BIFS (RAP=0) pointing to the second JPEG
[0363] 8. The Audio and the Video.
[0364] In the second case, the OD is arriving first, then BIFS with RAP=1 integrates some preceding BIFS update commands.
[0365] In the third case are arriving into the terminal successively:
[0366] 1. OD (RAP=1) pointing to the first JPEG and to the second JPEG, to the Audio and the Video. This OD integrates the wo OD of the second case.
[0367] 2. The Audio, the Video,
[0368] 3. the first JPEG (RAP=1)
[0369] 4. the second JPEG (RAP=1)
[0370] 5. the BIFS (RAP=1) integrating the BIFS updates of the second case,
[0371] 6. The Audio and the Video.
[0372] The “different Sessions” figure, starting from the “streams with RAP” figure, tries to show from which commands a session is built from.
[0373] In the first case are arriving into the terminal successively:
[0374] In the second case are arriving into the terminal successively:
[0375] In the third case are arriving into the terminal successively:
[0376] Conclusion:
[0377] 1. In fact, we rather use downloading for OD, BIFS & JPEGs while Video & Audio are continuously streamed.
[0378] 2. Difficult to know where we are as far as the Scene or the OD reconstruction are concerned. No gain to have progressive downloading. Progressive loading of a scene is adding a lot of complexity, both on the receiver side and on the sender side (the server has to manage the current state of the scene).
[0379] 3. ‘jingle’ or ‘clip’ are impossible.
[0380] 4. a potential issue with JPEG.
[0381] 5. MPEG-4 System Elementary streams are not protected.
[0382] 3.2.1.1.1. Use of the PMT Table
[0383] An other solution might consist in assigning within each new PMT, new PIDs for the new streams that have to be repeated. In that case, we have to precisely define how does a terminal react when a PMT is changing. A PMT only references the streams allowing to have a complete access to a presentation. The PMT has to be completely parsed, starting with the IOD itself.
[0384] The “RAP+PMT stream of packets” figure shows a scenario, using the RAP facility that is present for the different Elementary streams, associated with the fact that the PIDs assigned to the MPEG-4 system elementary streams are changing at each instance of the PMT table. In the first case are arriving, according to the first PMT PID assignments, into the terminal successively:
[0385] 1. BIFS (RAP=1) describing a scene without media, under the PID BIFS—0.
[0386] 2. OD (RAP=1) pointing to the fisrt JPEG, under the PID OD—0.
[0387] 3. JPEG (RAP=1), the first JPEG,
[0388] 4. BIFS (RAP=0) describing the image texture where the JPEG will be mapped
[0389] 5. OD (RAP=0) to introduce the Audio and the Video,
[0390] 6. the Audio and Video
[0391] 7. BIFS (RAP=0) describing where the Audio & Video are mapped
[0392] 8. the Audio, Video
[0393] The second case is a continuation of the first case. A second PMT has been sent to start a new session, and hence the session established with pte precedin PMT and the new sessionestablishes by this new PMT will live together are arriving into the terminal successively:
[0394] 1. BIFS (RAP=1) describing a scene without media, under the PID BIFS—1.
[0395] 2. OD (RAP=1) pointing to the first JPEG, under the PID OD—1.
[0396] 3. JPEG (RAP=1), the first JPEG,
[0397] 4. The Audio, the Video,
[0398] 5. the BIFS (RAP=0), under the PID BIFS—1, pointing to the second JPEG
[0399] 6. OD (RAP=0), under PID OD—1, pointing to the Audio & Video
[0400] 7. The Audio, the Video,
[0401] 8. the BIFS (RAP=0), under PID BIFS—1 pointing to the Audio & Video
[0402] 9. Then the OD and BIFS of both the sessions are interleaved.
[0403] In the third case are arriving into the terminal successively:
[0404] 10. BIFS (RAP=1) describing a scene without media, under the PID BIFS—2.
[0405] 11. OD (RAP=1) pointing to the first JPEG, under the PID OD—2.
[0406] 12. JPEG (RAP=1), the first JPEG,
[0407] 13. The Audio, the Video,
[0408] 14. the BIFS (RAP=0), under the PID BIFS—2, pointing to the second JPEG
[0409] 15. OD (RAP=0), under PID OD—2, pointing to the Audio & Video
[0410] 16. The Audio, the Video,
[0411] 17. the BIFS (RAP=0), under PID BIFS—2 pointing to the Audio & Video
[0412] 18. Then the OD and BIFS of both the sessions are interleaved.
[0413] The “RAP+PMT packet stream” figure, starting from the “RAP+PMT stream of packets” figure, shows whare duplication of BIFS and OD Access Unit occur.
[0414] Conclusion:
[0415] v It might be possible to support a progressive download, with a waste of PIDs (for a scene duration)
[0416] v BIFS and OD Updates have to be duplicated with different PIDs (except for Video & audio)
[0417] v Audio ‘jingle’ and Video ‘clip’ are also not possible.
[0418] v Protection is not supported for MPEG-4 System Elementary streams.
[0419] 3.2.2 Traditional Elementary Streams Remain into PES, but BIFS and OD are Embedded into Sections.
[0420] In such a scenario scenario, the BIFS & OD are protected (their corruption can be detected).
[0421] BIFS and OD Updates are carried under different tables and sections. To each BIFS and OD Update, a version number will be assigned. The version number will change.
[0422] Traditionally, when a terminal is taking care of a particular table, it has only to read the incoming tables and check if the associated version number has changed or not. When it has not changed, the terminal can avoid compiling the table. When the version number has changed, the terminal has to compile the table.
[0423] However the exact way the version number is managed is application dependent.
[0424] Remarks: JPEG have to be carried into PES, MPEG-J also, as the standard does not provide sections for those streams.
[0425] Hypothesis:
[0426] We keep the same semantic as described just before. We can insert in the is new section (identified by a new version number), all the SL packets that correspond to the BIFS of a new session.
[0427] Assets:
[0428] With such a mechanism, progressive download is made possible.
[0429] BIFS & OD corruption can be detected.
[0430] Simple insertion of BIFS & OD. [each session has its proper time line]
[0431] Drawbacks:
[0432] For each session complete duplication of BIFS & OD sections
[0433] Multiple-SL sections ? [we may enforce one SL packet per section-unit]
[0434] Potential sync problem between BIFS & OD [can be solved]
[0435] The current specification does not allow MPEG-J and JPEG in sections ?
Claims
- 1. A method for broadcasting multimedia signals towards a plurality of terminals as a data flow comprising successive packets,
the packets being organised into sessions, a session comprising a set of packets forming a whole, at least some of the sessions being transmitted under several versions, corresponding to different starting moments, wherein the method implements a mechanism for merging versions of a same session, so that at least two versions starting at different moments use, at first, session portions which are peculiar to them, and, subsequently, a shared session portion.
- 2. A method for broadcasting multimedia signals towards a plurality of terminals as a data flow comprising successive packets,
the packets being organised into sessions, a session comprising a set of packets forming a whole, wherein each of the packets comprises a pointer allowing to identify, in the flow, the next packet of the corresponding session, and wherein the flow is organised so that at least some of the packets are identified as the next packet for at least two different packets in the flow.
- 3. The method according to claim 2, at least some of the sessions being transmitted under several versions, corresponding to different starting moments, wherein the pointer allows to identify in the flow the next packet of the corresponding session version,
and wherein the pointers of packets belonging to different versions of a session can point towards the same next packet, so as to merge versions.
- 4. The method according to claim 3, wherein the pointer comprises a version identifier, which can differ from the version identifier of the present packet.
- 5. The method according to claim 4, wherein each of the packets comprises:
a present version identifier; a next version identifier, which can either be:
the present version identifier; or a different version identifier, in case of versions merging.
- 6. The method according claim 1, implementing the MPEG2 standard.
- 7. Method according to claim 1, wherein the data are of the MPEG4 type.
- 8. A multimedia signal having such a structure that it can be broadcast according to the method of claim 1.
- 9. A terminal comprising means for processing a multimedia signal broadcast according to the method of claim 1.
- 10. The terminal according to claim 9, comprising means for memorizing at least some session portions received in advance.
- 11. A multimedia signal having such a structure that it can be broadcast according to the method of claim 2.
- 12. A terminal comprising means for processing a multimedia signal broadcast according to the method of claim 2.
- 13. The terminal according to claim 12, comprising means for memorizing at least some session portions received in advance.
- 14. A multimedia signal having such a structure that it can be broadcast according to the method of claim 3.
- 15. A terminal comprising means for processing a multimedia signal broadcast according to the method of claim 3.
- 16. The terminal according to claim 15, comprising means for memorizing at least some session portions received in advance.
- 17. A multimedia signal having such a structure that it can be broadcast according to the method of claim 4.
- 18. A terminal comprising means for processing a multimedia signal broadcast according to the method of claim 4.
- 19. A multimedia signal having such a structure that it can be broadcast according to the method of claim 5.
- 20. A terminal comprising means for processing a multimedia signal broadcast according to the method of claim 5.
Priority Claims (1)
Number |
Date |
Country |
Kind |
01460046.4 |
Jul 2001 |
EP |
|
PCT Information
Filing Document |
Filing Date |
Country |
Kind |
PCT/EP02/08673 |
7/12/2002 |
WO |
|