Described below are a method and an apparatus for creating a first parameter set.
In recent years, there has been a considerable increase in a number of coding methods, such as image, voice or video compression methods, and transmission standards. Therefore, integration of these methods, particularly taking account of an extremely wide variety of hardware requirements for terminals, involves a considerable increase in complexity for the integration.
In addition, end customers desire ease of use, particularly even when they would like to use almost arbitrary methods to access contents coded using the coding methods.
A method and an apparatus described below ensure both simple integration of an extremely wide variety of coding methods and ease of use of coded contents for a user.
The method for creating a first parameter set for describing supplementary information that is needed by a processing unit for processing a data block of a data stream at a processing time, includes:
The method allows entry into a data stream at a particular time using the first parameter set. Thus, in the case of a streaming application, it is possible to transmit the first parameter set to a terminal for entry into a live stream, the first parameter set then being able to be used by the terminal to start processing the data in the live stream.
Particularly the description of the first parameter set for a plurality of coding methods and/or for a plurality of processing times for a coding method allows efficient and inexpensive realization, since an identical structure for the first parameter set is made possible over a plurality of coding methods. This also reduces a level of complexity in a transmitter and/or receiver, since the latter is able to resort to a standardized parameter set for a plurality of coding methods instead of dedicated parameter sets for each coding method.
In this connection, coding methods are understood to mean not only compression methods such as for video, image, voice, music and files but also methods for presenting and/or storing information, such as Word, Excel or PowerPoint from Microsoft. In this case, the data stream may be in compressed form, in binary form or in text form, such as an HTML or XML document (HTML—HyperText Markup Language, XML—Extensible Markup Language). Within the context of this description, parameter type is understood to be a specific meaning of a parameter that is standard across the boundaries of coding methods, such as an image size, a coding type, a length of a motion vector, a time statement or a length statement for a field in bits or bytes. Hence, a parameter has a specific meaning, expressed by the parameter type. In addition, the parameter type may also define a specific presentation of the value of a parameter, such as a date in the form of HH:MM:SS (HH—hours, MM—minutes and SS—seconds). A specific value for a parameter is then stored in the parameter set for the respective parameter.
In an extension of the method, the first parameter set is designed such that it also has a further parameter of the at least one of the parameter types that is not contained in all the ascertained parameter sets, and signaling of supplementary information prompts the further parameter to be preassigned a predefined value that indicates that the further parameter can be ignored by the processing unit during an evaluation. This further reduces a level of complexity, since a number of first parameter sets is reduced. In addition, this reduces a level of complexity for implementation.
In an advantageous embodiment, in addition, or as an alternative to the preceding extension, the first parameter set can be formed such that it has parameters of all the identical parameter types from the ascertained parameter sets. This restriction combines those parameter sets that have identical parameter types to form the first parameter set. This avoids inconsistencies for evaluation of the first parameter set.
An apparatus for creating a first parameter set for describing supplementary information that is needed by a processing unit for processing a data block of a data stream at a processing time, has the following units:
As a result, the method is implementable and executable. The advantages and definitions are similar to those for the method.
In a development of the apparatus, the second unit is also designed to implement and execute extensions of the method. The advantages are similar to those for the method.
Finally, the first parameter set describes supplementary information that is needed by a processing unit for processing a data block of a data stream at a processing time. The first parameter set is produced particularly on the basis of the method or is produced by the apparatus. This allows the first parameter set to be used in a transmitter and/or receiver, where it achieves a reduction in the implementation complexity.
The method can be used in standards for compression, for transmission, such as RTP, and/or for storing data streams. The first parameter set can be transmitted or stored in headers of transmission protocols together with the data block of the data stream or in a transmission packet that is separate from a data block. The first parameter set in a transmission packet can be signaled by MIME (MIME—Multipurpose Internet Mail Extensions), for example.
These and other aspects and advantages will become more apparent and more readily appreciated from the following description of the exemplary embodiments, taken in conjunction with the accompanying drawings of which:
Reference will now be made in detail to the preferred embodiments, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to like elements throughout.
Elements having the same function and mode of action are provided with the same reference symbols in the figures.
The coding methods H.261, H.263 and H.264 are video coding methods, standardized by ITU (ITU—International Telecommunications Union). A more detailed explanation of these standards is dispensed with, since they are sufficiently well known to a person skilled in the art in the field of multimedia coding.
At a particular time, also called processing time VZP, in the respective data stream, not shown in
For the coding method C1, the following parameters have been ascertained as parameter set PZ1:
For the coding method C2, the following parameters have been ascertained as parameter set PZ2:
For the coding method C3, the following parameters have been ascertained as parameter set PZ3:
The three parameter sets are transferred to a second unit E2 for analysis. The second unit compares the three parameter sets to determine whether they have identical parameter types. The analysis reveals which parameter types are represented in which parameter set:
From this, it is evident that, although all the parameter sets have the parameter types PT1, PT2 and PT3, the further parameter type PT4 is also necessary for describing the second parameter set completely. It should also be mentioned that an order of the parameters and hence also an order of parameter types is insignificant in this example.
There are subsequently several variants for forming the first parameter set PS:
The first parameter set P1 merely describes the parameter sets PZ1 and PZ3. In that case, the first parameter set is formed as follows:
Hence, it is possible to indicate the first parameter set in order to specify which parameter types are explicitly needed as supplementary information so that the processing, for example decoding by a decoder, of the data packet can be performed. In this variant, this description of the parameter set can also be carried out independently of the specific coding method, since the identical parameter types can be used for the coding methods 1 and 3. It goes without saying that the values represented by the respective parameters of the respective parameter type are dependent on the respectively chosen coding method.
In this case, the first parameter set PS is chosen such that the parameters needed can be signaled to all three coding methods. The first parameter set is then formed as follows:
The parameter type PT4 does not occur in the parameter sets PZ1 and PZ3, however. When the first parameter set is used for signaling the parameter sets PZ1 and PZ3, a value for the parameter representing the parameter type PT4 is set to a predefined value that indicates that the parameter cannot be used. Alternatively, however, the parameter associated with the parameter type PT4 can assume any value and is ignored depending on the coding method.
The values of the parameters in the first parameter set can be transmitted from a transmitter SD to a receiver ED in a message N1. The message has the values in a message header HEA and the data packet in the payload area PAY. In particular, the message header is transmitted to the receiver ahead of the payload area in time.
The receiver ED receives the message N1, and extracts and analyzes the message header and possibly also the payload area. Using a processing unit VE, the receiver is able to operate on the received values of the first parameter set to perform the processing of the data block DB1.
During the transmission, the values of the first parameter set can be provided in an RTP header extension, for example from an ONVIF standard (RTP—Real Time Transport Protocol; ONVIF—Open Network Video Interface Forum).
For a data stream, the chosen parameter types of the first parameter set are dependent on the chosen processing time, inter alia. In the case of H.264, for example, different parameter types are necessary at the start of an IDR image (IDR—instantaneous decoder refresh) than at the start of a P image (P—predicted image). When the first parameter set is generated, it makes sense to determine the parameter types not for every bit position within the data stream but rather for typical entry points, which could be prescribed by a respective coding standard, such as in the case of a scene change for an image sequence.
In the present exemplary embodiment, the respective parameter set PZ1, PZ2, PZ3 is ascertained from the respective data stream DS1, DS2 and DS3. Generally, mere analysis of the respective coding method C1, C2, C3 allows ascertainment of which supplementary information—that is to say parameters of particular parameter types—is needed for processing the subsequently produced data block in a particular state of the coding method. In addition, it may also be the case that for a particular state of the coding method there are several options for supplementary information that is needed. In this case, it is possible to create a plurality of parameter sets that are then taken into account when creating the first parameter set—or a plurality of first parameter sets are generated that can then be used on a situational basis.
In addition, buffer instructions can be used as a parameter type in the case of the coding method H.264 at a processing time for an IDR image that needs to be decoded.
When the method is applied to coding according to AAC (AAC—Advanced Audio Coding), the parameter type specified could be a number of audio samples that are needed before processing starts, for example.
The first unit, the second unit and the processing unit can be realized and implemented in software, hardware or in a combination of software and hardware. In this case, the respective units can read the respective operations of the method from a memory module and execute them using a computation unit that is connected to the memory module. In addition, the units may also have input and output interfaces for the interchange of data and information. The method can be used inter alia in the field of multimedia servers, an extremely wide variety of terminals, e.g. in a hospital with portable data retrieval appliances and fixed high-performance computers that provide data streams stored on the multimedia servers.
A description has been provided with particular reference to preferred embodiments thereof and examples, but it will be understood that variations and modifications can be effected within the spirit and scope of the claims which may include the phrase “at least one of A, B and C” as an alternative expression that means one or more of A, B and C may be used, contrary to the holding in Superguide v. DIRECTV, 358 F3d 870, 69 USPQ2d 1865 (Fed. Cir. 2004).
Number | Date | Country | Kind |
---|---|---|---|
102011119177.5 | Nov 2011 | DE | national |
This application is the U.S. national stage of International Application No. PCT/EP2012/070943, filed, Oct. 23, 2012 and claims the benefit thereof. The International Application claims the benefit of German Application No. 102011119177.5 filed on Nov. 23, 2011, both applications are incorporated by reference herein in their entirety.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP2012/070943 | 10/23/2012 | WO | 00 | 5/23/2014 |