METHOD AND SYSTEM FOR TRANSMITTING INFORMATION FLOWS

Abstract: In a network (N) over which organised information flows are transmitted in portions, and where a portion of information flow is introduced into a network (N) at an instant separated by an interval of a given time (A), from the instant in which the same portion of information flow is capable of being used, it is provided to limit the said time interval to a predetermined maximum value (AM). Preferably, the said information flow is an MPEG-4 and the aforementioned maximum value (AM) is inserted into the Object Descriptor Stream, preferably expressing it as a syntactical element of the Elementary Stream Descriptor.

Description: "METHOD AND SYSTEM FOR TRANSMITTING INFORMATION FLOWS" Technical Field The present invention concerns audiovisual or multimedia communication systems, dealing in particular with the problem of correct timing during the transmission of audiovisual flows . The invention has been developed with particular attention to possible uses in a scenario of real time transmission of multimedia content. This type of content is introduced into networks by a transmitter terminal and must be interpreted and presented (at precisely-defined time intervals) by the receiving terminal. The system as a whole can assume various configurations (broadcast, multicast, interactive) . The relevant ISO standard, ISO/IEC 14496 "Generic Coding of Audio-Visual Objects" (commonly known as the "MPEG-4 standard", also the term used in this document) provides a set of specifications for multimedia applications, in particular specifying the principles by which the presentation of the various audiovisual flows are synchronised. Background Art In its current state, the MPEG-4 standard is in some aspects insufficient for guaranteeing satisfactory inter- working at a qualitative level between independently made apparatuses. Specifically, there can be an unlimited real time between the moment in which the receiver decides to use a new data flow and the moment in which the new data can be presented or used. This phenomenon becomes more evident when the bit-rate flow variability is greater, and can cause unsatisfactory, non-deterministic performance, as well as squandering resources (buffer memory, CPU cycles, transmission band) . The present invention therefore intends to overcome these problems, or, where they cannot be completely eliminated, to limit them as far as possible. Disclosure of the Invention The present invention, featuring the characteristics set out in detail in the claims, is intended to fulfil this objective by defining informative elements in order to avoid the problems described above. Furthermore, these same informative elements, supplying the characteristics of a set link to the transmitter, can, if made available, further improve the performance of the receiving terminal . The present invention is therefore of a preferential nature, beyond that of a transmission process and its related system, or of the transmitter and/or receiver capable of being used in such a system, as well as the relevant data processing products. These data processing products are in practice composed programs capable of being loaded or read (e.g. via online downloading) into the internal memory of a computer, e.g. a server and/or network terminal. Such programs therefore allow the invention to be implemented at the level of transmission and/or reception when used to configure terminals set up for network communication (e.g. in an internet-type network or similar) , so that these terminals can, according to the invention, serve as transmitters and/or receivers . Brief Description of Drawings The invention will now be described, purely for the purposes of general example, with reference to the annexed drawings, of which: - Figures 1 and 2 illustrate two typical reference scenarios envisaged for possible solution by the invention, Figures 3 to 6 illustrate typical transmission methods for multimedia information flows, without (Figures 3 and 5) and with (Figures 4 and 6) the solution proposed by the invention, Figure 7 illustrates, in the form of a flow chart, an operating logic capable of, according to the invention, being adopted in an operating receiver. Best mode for Carrying Out the Invention Figures 1 and 2 illustrate two typical contexts where the solution proposed by the invention can be adopted: a transmitter ' ' (generally chosen from a variety of transmitters present; it could be, for example, a network server) sends the respective information flows λ F' to one or more receivers λ R' (typically configured as terminals) , through a network λ N' . This type of information flow is generally of a multimedia type, such as, for example audiovisual flows organised in portions such as frames. The network N' could be, for example, a broadcast or multicast, as represented in figure 1, or any interactive communication network (internet-type or similar) as represented in Figure 2. All have the consequent capability, from receiver or receivers R' , to exchange FB messages capable of producing, characterising and/or interacting with the emission of information flows l F' from the transmitter It is, however, evident that the solution presented by the invention, illustrated below, for the sake of simplicity, with exclusive reference to the transmission from transmitter T' to the receiver or receivers 'R' can easily be used (also) for transmission in the opposite direction. In brief, the solution provided by the invention is based on the presence in the information flow of an informative element called a maximum advance, defined as the maximum time interval that can occur between the moment at which a portion of the information flow (audio, video, or other) is introduced into the network, and the moment at which the said portion of information can be used by an ideal receiving terminal (in accordance with MPEG standards) , assuming a constant and null delay in transmission. The maximum advance therefore specifies the advance time period in which a transmitter system can introduce an item (such as, for example, a certain compressed video frame) into a network, in order to allow it to be de-coded by the ideal receiving terminal. There can be various methods of representing the informative content of the maximum advance (besides, obviously, the use of a variety of units of measurement) : it can, for example, be represented directly by a single value expressing a time measurement, or by a pair of values such as a reference band and a reference maximum advance, from which the maximum advance can be derived once the actually available band (or the channel's transmission capacity) has been recorded. In the latter case the constraint becomes a function of the actually available transmission band, but is expressed independently of it. Taking an 8 Kbytes compressed image as an example, it is possible to express the maximum advance through a 64 Kbit/s reference band and reference maximum advance of 1 second, which is translated into a maximum advance of 2 seconds if the actually available band is equal to 32 Kbit/s, or 4 seconds if the band is reduced to 16 Kbit/s. In a context such as MPEG-4, the Object Descriptor Stream of MPEG-4 represents the natural preferential mechanism through which the maximum advance is communicated to the terminal. More specifically, it is possible to add a new descriptor into the syntactical element of the Elementary Stream Descriptor, which is transported in the aforementioned Object Descriptor Stream. As pointed out above, there are various ways of representing the maximum advance. The following is a possible solution, following the idea of rendering the values inserted into the bit stream independently of the actually available band at the moment of transmission : class ES_Descriptor extends BaseDescriptor : bit (8) tag=ES_DescrTag { DecoderConfigDescriptor decConfigDescr ; SLConfigDescriptor slConfigDescr; IPI_DescrPointer ipiPtr[0 .. 1] ; IP_IdentificationDataSet ipIDS[0 .. 255]; IPMP_DescriptorPointer ipmpDescrPtr [0 .. 255]; LanguageDescriptor langDescr[0 .. 255]; QoS_Descriptor qosDescr[0 .. 1] ; RegistrationDescriptor regDescr[0 .. 1] ; PrerollDescriptor prerollDescr [0 .. 1] ; ExtensionDescriptor extDescr[0 .. 255]; } class PrerollDescriptor extends BaseDescriptor : bit (8) tag=PrerollDescrTag { bit (32) referencePreroll; bit (32) referenceBandwidth; I Regardless of the actual representation of the maximum advance, this informative element has the function of restricting the timing with which the various portions of a flow are introduced into a network. Figure 3 shows what can occur in the absence of this link, while Figure 4 demonstrates how the restriction acts. Figure 3 in particular shows a sequence of frames flowing at an unrestricted variable bit rate. It assumes that the sequence is seen from the receiving side, in a situation in which the individual frames, of a generically variable length, are destined to be used (e.g. presented) at the instants marked I'. The sequential transmission of the frames in question, ideally one after the other, creates a incrementally growing time interval between the moment of transmission (and/or reception, it should be remembered that, in order to simplify the presentation of the solution provided by the invention it is assumed that there is a constant and null delay in transmission) and the actual moment of use. As mentioned in the introduction to the present description, excessively early transmission/reception in relation to the ideal moment of actual use is harmful in various aspects, particularly regarding the receiver's poor precision when fed with new data flows. In other words, in the situation illustrated in Figure 3 , at the moment in which a receiving terminal R decides it wants to use a certain information flow, it begins to read the data transmitted over a network, (naturally the delay has occurred due to the execution of the necessary instructions) . As the sufficient restraints for the timing of the data transmission have not yet been defined, it can be sent with a considerable 'advance' period before it is used. It is then possible for the data read at a certain moment to be used only after a considerable time interval (the effective advance period represented by the ' ' arrows in Figure 3) . Figure 4, by contrast, represents the result of the application of the solution proposed by the invention, i.e. a situation in which the incoming frame sequence (in transmission and therefore in reception) identifies variable bit rate flow restrained with a maximum advance value represented by the double arrows AM. In practice, transmission of the various frames takes place only at the moment at which it is known that the frame transmitted each time is destined to be used within a time interval not exceeding the maximum advance value AM. As a result the performance of the receiving terminal (for example in the case of "zapping") is much more deterministic and satisfying. If the maximum advance value were also communicated to the receiving terminal R, this terminal would possess information valuable for the further improvement of its own performance. On the basis of the MPEG-4 standards, the receiving terminal R can decide to use a certain information flow, either on the basis of any particular action (usually with the user) or on the basis of previously received instructions . In the second case the receiving terminal R has the power to establish how much of an advance with which to apply to system resources (or the network) to the new flows with respect to the moment in which they are to be actually used; the application of this invention allows a receiving, terminal to make an estimate of the said advance period. An accurate estimate is important, as too much of an advance involves a' waste of resources (memory buffers, CPU cycles, occupation of transmission band), while too short an advance would lead to the loss of the initial data, and a delay in their presentation. In particular, a distinction can be made between a scenario in which the data flows are introduced into the network by the transmitting system on the basis of a specific request from the receiving terminal (remote interactive scenario - Figure 2) , and a scenario in which the transmission of data in a network is not restrained by a request from the receiving terminal (broadcast/multicast scenario - Figure 1) . In a remote interactive scenario, a meagre advance period in the creation of the resources necessary for the management of the new data flow, and in the request for that data flow, would lead to a delay in reception of the flow, causing in turn a delay in the use of the data contained in it: the timing and accuracy of the presentation would therefore be damaged. In the broadcast/multicast scenario, an insufficient advance period in the creation of the resources necessary for the management of the new data flow, and even in the request for that data flow, would lead to the loss of the initial portion of the data. This is the case shown in Figure 5, which refers to a situation in which, following a previously received instruction, the R receiver is configured to use a new information flow, at the time intervals indicated thus: 'I' . As there is no definite criterion for establishing the value of the time interval separating the instant in which the relevant frames are transmitted by network from the instant in which they are actually used, the receiver R will be configured in the manner requested at a generic moment D, occurring before the first moment I'. In the conditions shown in Figure 5, the first frame actually used (at that moment I'') shall, however, be the frame marked FA, while the two previous frames, marked FL, will be lost when received, at least in part, before the receiver is configured to receive them. In the current state of MPEG-4 standards, the receiving terminal R does not have any mechanism for assessing the ideal advance period in order to dedicate resources to new data flows, e.g. to accurately position moment D in Figure 5. If the value of maximum advance was made available to the receiver R, it could serve as a basis to estimate the ideal advance time for the above situation, (for example adding a further contribution to the maximum advance to take account of the execution time of the necessary instructions) . Figure 6 shows the effect of this technique, applied to the same example as Figure 5. In practice, there is in this case no loss of frames, even in a broadcast/multicast context, as the receiver R is capable of making the moment D jump back in time at a sum equal to the maximum advance (see instant D' of Figure 6) , also taking account of any necessary execution time for instructions . It should be appreciated that in this manner the receiver R is capable of ensuring correct use, beginning from the frame marked FA in Figure 6, with no loss of information. Figure 7 represents a possible flow diagram regulating the functioning of a receiver R, configured to operate according to the invention. Beginning from a starting step of 100, step 101 corresponds to the reception/definition by receiver R of the information relating to the fact that it is necessary to be prepared for the reception of a new information flow. At the subsequent step 102, the receiver R verifies if the reception demands are to be considered immediate (positive result) , or liable to be at least momentarily deferred (negative outcome) . In the case of a positive outcome, the receiver has no other choice in practice than to evolve to step 103, where the necessary resources are located. This carries the possible risk of encountering the problems pointed out above, in particular with reference to Figure 5 (loss of FL frames) . Where the outcome is negative, the functioning of receiver R evolves to step 104, where the receiver itself verifies whether it contains the relevant information relating to the maximum AM value of the time advance. In the case of positive outcome of the test (and the consequent application of the solution proposed by the invention) , the functioning of receiver R will evolve to step 105, where the time advance is configured to act on the basis of the AM maximum advance set out above, possibly increased by a value established locally by the receiver R itself in order to allow for the time necessary for allocation of the necessary resources. At the subsequent step 106, a delay is executed to wait for the moment to proceed to the preparation of resources, in order to then evolve to the true and proper allocation, represented by step 103. In the case of a negative outcome to step 104 (AM value not available) , step 105 can be replaced by a step 107 in which the time advance to be implemented is determined according to an arbitrary criteria, locally defined by the receiver R itself (for example infinite advance - or no delay in the allocation of resources - or no advance or average estimated advance) , with the possible consequent risk of incurring the problems described above. As in the case of the branch in the diagram described above, receiver R then passes to step 106 (wait) and finally to step 103 (allocation of resources) . In any case, after the location step 103, the receiver R evolves towards step 108, corresponding with the use of the new information flow, and later evolves to a final step 109. In conclusion, the solution proposed by the invention allows restraining of the transmitting system so as to make the behaviour of the receiving terminal more deterministic and satisfactory in situations resembling "zapping" or "channel surfing" . The invention also allows the receiving terminal to estimate the ideal advance time with which to dedicate resources to new information flows, avoiding unjustified loss of resources, whether by the risk of losing the initial portion of the data flow, or by receiving and using it in a delayed manner. It is therefore possible to optimise the timing and accuracy of the presentation of audiovisual flows . The specific presence, in the annexes, of claims relating to data processing products, is designed to highlight the fact that the invention also extends to data processing products that, when made available in physical form, (diskette, CD-ROM etc..) and/or accessible from networks (for example by downloading from a terminal) allow the configuration of network terminals/servers (such as, for example, the internet) so as to serve as transmitter T and/or R, according to the above descriptions, when the product is run on a computer . Naturally, without prejudice to the principle of the invention, the detailed functioning and methods of implementation allow for wide variation from the above descriptions and illustrations, without deviating from the scope of the present invention as claimed.

Claims: CLAIMS 1. Method for transmitting information flows organised in portions over a network (N) , wherein the instant in which a portion of information flow is transmitted to the network is separated by a given time interval (A) from the instant in which said portion of information flow is capable of being used, characterised in that it includes the step of limiting said time interval to a predetermined maximum value (AM) . 2. Method in accordance with Claim 1, characterised in that it includes the operation of identifying said maximum value (AM) as a measurement of time. 3. Method in accordance with Claim 1, characterised in that it includes the step of identifying said maximum value by means of a pair of values comprising a reference band available for transmission, and a reference time interval related to that reference band whereby said maximum value is a function of said available transmission band, although expressed independently of it. 4. Method in accordance with any of Claims 1 to 3 , characterised in that said maximum value (AM) is introduced into said information flow. 5. Method in accordance with Claim 4, characterised in the said information flow is a MPEG-4 flow, and in that said maximum value is introduced into the Object Descriptor Stream of said information flow. 6. Method in accordance with Claim 5, characterised in that said maximum value (AM) is expressed as a syntactical element of the Elementary Stream Descriptor of said information flow. 7. Method in accordance with any of Claims 4 to 6, characterised in that it comprises the steps of determining said maximum value (AM) on reception of said information flow and of establishing, according to said maximum value (AM) , the advance period with which to dedicate system and/or network resources to the reception of said information flow, with respect to the instant in which said information flow is capable of being used. 8. System for transmitting information flows organised in portions over a network (N) wherein the instant in which a portion of information flow is introduced into the network is separated by a given time interval (A) from the instant in which said portion of information flow is capable of being used, characterised in that it includes means (T) for limiting said time interval to a predetermined maximum value (AM) . 9. System according to Claim 8, characterised in that said maximum value (AM) is identified as a measurement of time . 10. System according to Claim 8, characterised in that said maximum value (AM) is identified by means of a pair of values comprising a reference band available for transmission, and a reference time interval related to that reference band whereby said maximum value (AM) is a function of said available transmission band, although expressed independently of it. 11. System in accordance with any of Claims 8 to 10, characterised in that said system includes means of transmission (T) to introduce said maximum value (AM) into said information flow. 12. System according to Claim 11, characterised in that said information flow is an MPEG-4 flow and in that said means of transmission (T) inserts said maximum value (AM) into the Object Descriptor Stream of said information flow. 13. System in accordance with Claim 12, characterised in that said maximum value (AM) is expressed as a syntactical element of the Elementary Stream Descriptor of said information flow. 14. System in accordance with any of Claims 11 to 13, characterised in that it comprises means of reception (R) , capable of receiving said information flow and of detecting said maximum value (AM) contained in said information flow and in that said means of reception (R) is configured to establish, according to said maximum value (AM) , the advance period with which to dedicate system and/or network resources to the reception of said information flow, with respect to the instant in which said information flow is capable of being received. 15. Transmitter for transmitting over a network (N) information flows organised in portions wherein the instant in which a portion of information flow is introduced into the network is separated by a given time interval (A) from the instant in which that portion of information flow is capable of being used, characterised in that said transmitter (T) is configured to limit said time interval to a predetermined maximum value (AM) . 16. Transmitter in accordance with Claim 15, characterised in that said maximum value (AM) is identified by said transmitter (T) as a measurement of time. 17. Transmitter in accordance with Claim 15, characterised in that said maximum value (AM) is identified by said transmitter (T) with a pair of values comprising a reference band available for transmission, and a reference time interval related to that reference band whereby said maximum value is a function of said available transmission band, although expressed independently of it. 18. Transmitter in accordance with any of Claims 15 to 17, characterised in that said transmitter (T) is configured to introduce said maximum value (AM) into said information flow. 19. Transmitter in accordance with Claim 18, characterised in that the said information flow is an MPEG-4 flow and in that said transmitter (T) is configured to introduce said maximum value (AM) into the Object Descriptor Stream of said information flow. 20. Transmitter in accordance with Claim 19, characterised in that said transmitter (T) is configured to express said maximum value (AM) as a syntactical element of the Elementary Stream Descriptor of the said information flow. 21. Receiver for use within a network (N) wherein information flows organised in portions are introduced and wherein the instant in which a portion of information flow is introduced into the network is separated by a given time interval (A) from the instant in which said portion of information flow is capable of being used, characterised in that said receiver is configured to calculate a maximum value (AM) from said time interval (A) which separates the instant in which a portion of information flow organised in portions is transmitted over said network (N) from the instant in which said portion of information flow is capable of being used. 22. Receiver in accordance with Claim 21, characterised in that said receiver (R) is configured to identify said maximum value (AM) as a measurement of time. 23. Receiver in accordance with Claim 21, characterised in that said receiver (R) is configured to identify said maximum value (AM) from a pair of values comprising a reference band available for transmission, and a reference time interval related to that reference band whereby said maximum value is a function of said available transmission band, although expressed independently of it. 24. Receiver in accordance with any of Claims 21 to 23, characterised in that said receiver (R) is configured to collect said maximum value (AM) from said information flow. 25. Receiver in accordance with Claim 24, characterised in that said information flow is an MPEG-4 flow and in that said receiver (R) is configured to calculate said maximum value (AM) from the Object Descriptor Stream of said information flow. 26. Receiver in accordance with Claim 25, characterised in that said receiver (R) is capable of extracting said maximum value (AM) as a syntactical element of the Elementary Stream Descriptor of said information flow. 27. Receiver in accordance with any of Claims 21 to 26, characterised in that said receiver comprises reception resources capable of assignation to the reception of said information flows with a given advance period before the instant in which an information flow is capable of being used, and in that said receiver (R) is configured to determine said advance period from said maximum value (AM) . 28. Data processing product directly loadable into an internal memory of a computer, comprising portions of software codes to carry out the method according to any of Claims 1 to 7 when said product is run on a computer. 29. Data processing product conveyable on a medium usable by .a computer, comprising means of programs readable by a computer interacting with a network (N) wherein information flows organised in portions are transmitted and wherein the instant in which a portion of information flow is transmitted to the network is separated by a given time interval (A) from the instant in which said portion of information flow is capable of being used, said programs, read by the said computer, enabling said computer to limit said time interval to a predetermined maximum value (AM) . 30. Data processing product conveyable on a medium usable by a computer, comprising means of programs readable by a computer interacting with a network (N) wherein information flows organised in portions are transmitted and wherein the instant in which a portion of information flow is transmitted to the network is separated by a given time interval (A) from the instant in which said portion of information flow is capable of being used, said programs, read by the said computer, enabling said computer to establish, by means of said time interval, the advance period with which to dedicate system and/or network resources to the reception of said information flow, with respect to the instant in which said information flow is capable of being used.

Inventors: FRANCESCHINI GUIDO, PANICCIARI PAOLO, FRANCESCHINI, GUIDO, PANICCIARI, PAOLO
Applicants: FRANCESCHINI GUIDO, PANICCIARI PAOLO, TELECOM ITALIA LAB SPA, FRANCESCHINI, GUIDO, PANICCIARI, PAOLO, TELECOM ITALIA LAB S.P.A.
Application year: 2001
Main classification: H04N7
IPC codes: H04N7