Abstract:
A first set of parameters for describing additional items of information that are needed to process a data block of a data stream at a processing time are compiled using a processing unit. The method can be used in distribution services where a user wishes to access the data block at different times.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
       [0001]    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. 
     
    
     BACKGROUND 
       [0002]    Described below are a method and an apparatus for creating a first parameter set. 
         [0003]    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. 
         [0004]    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. 
       SUMMARY 
       [0005]    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. 
         [0006]    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:
       a) Ascertainment of in each case at least one parameter set for one or more coding methods, wherein the respective parameter set has at least one parameter of a respective parameter type and the respective parameter set represents the respective supplementary information that the processing unit needs for processing the data block,   b) Comparison of the parameter sets of the plurality of coding methods such that the comparison result ascertained is those parameter sets that include at least one identical parameter type,   c) Creation of the first parameter set such that the first parameter set has a parameter of the at least one identical parameter type from the ascertained parameter sets.       
 
         [0010]    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. 
         [0011]    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. 
         [0012]    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. 
         [0013]    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. 
         [0014]    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. 
         [0015]    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:
       a) First unit for ascertaining in each case at least one parameter set for one or more coding methods, wherein the respective parameter set has at least one parameter of a respective parameter type and the respective parameter set represents the respective supplementary information that the processing unit needs for processing the data block,   b) Second unit for comparing the parameter sets of the plurality of coding methods such that the comparison result ascertained is those parameter sets that include at least one identical parameter type, and   c) For creating the first parameter set such that the first parameter set has a parameter of the at least one identical parameter type from the ascertained parameter sets.       
 
         [0019]    As a result, the method is implementable and executable. The advantages and definitions are similar to those for the method. 
         [0020]    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. 
         [0021]    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. 
         [0022]    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. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0023]    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: 
           [0024]      FIG. 1  is a block diagram of a design and procedure for creating a first parameter set, 
           [0025]      FIG. 2  is a block diagram of application of the first parameter set for data transmission from a transmitter to a receiver. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
       [0026]    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. 
         [0027]    Elements having the same function and mode of action are provided with the same reference symbols in the figures. 
         [0028]      FIG. 1  shows an exemplary embodiment. In this case, three data streams DS 1 , DS 2 , DS 3  are depicted that have been produced by three different coding methods C 1 , C 2 , C 3 . The coding methods are:
   C 1 : H.261   C 2 : H.263   C 3 : H.264   
 
         [0032]    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. 
         [0033]    At a particular time, also called processing time VZP, in the respective data stream, not shown in  FIG. 1 , decoding of a data block DB 1 , DB 2 , DB 3  of the respective data stream is meant to be made possible. To this end, a first unit E 1  determines for the respective data block DB 1 , taking account of the respective coding method C 1 , parameters P11, P12, P13 that are additionally needed for decoding besides the respective data block C 1 . The type of the respective parameter is called parameter type PT1, PT2, PT3. 
         [0034]    For the coding method C 1 , the following parameters have been ascertained as parameter set PZ1: 
         [0000]    
       
         
               
               
               
             
           
               
                   
                   
               
               
                   
                 Parameter 
                 Parameter type 
               
               
                   
                   
               
             
             
               
                   
                 P11 PT1: 
                 Macroblock number 
               
               
                   
                 P12 PT2: 
                 Slice number 
               
               
                   
                 P13 PT3: 
                 Image type 
               
               
                   
                   
               
             
          
         
       
     
         [0035]    For the coding method C 2 , the following parameters have been ascertained as parameter set PZ2: 
         [0000]    
       
         
               
               
               
             
           
               
                   
                   
               
               
                   
                 Parameter 
                 Parameter type 
               
               
                   
                   
               
             
             
               
                   
                 P21 PT1: 
                 Macroblock number 
               
               
                   
                 P22 PT4: 
                 Number of packets to be received 
               
               
                   
                 P23 PT3: 
                 Image type 
               
               
                   
                 P24 PT2: 
                 Slice number 
               
               
                   
                   
               
             
          
         
       
     
         [0036]    For the coding method C 3 , the following parameters have been ascertained as parameter set PZ3: 
         [0000]    
       
         
               
               
               
             
           
               
                   
                   
               
               
                   
                 Parameter 
                 Parameter type 
               
               
                   
                   
               
             
             
               
                   
                 P31 PT1: 
                 Macroblock number 
               
               
                   
                 P32 PT2: 
                 Slice number 
               
               
                   
                 P33 PT3: 
                 Image type 
               
               
                   
                   
               
             
          
         
       
     
         [0037]    The three parameter sets are transferred to a second unit E 2  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: 
         [0000]    
       
         
               
               
               
             
           
               
                   
                   
               
               
                   
                 Parameter 
                 Parameter set 
               
               
                   
                   
               
             
             
               
                   
                 PT1: 
                 PZ1, PZ2, PZ3 
               
               
                   
                 PT2: 
                 PZ1, PZ2, PZ3 
               
               
                   
                 PT3: 
                 PZ1, PZ2, PZ3 
               
               
                   
                 PT4: 
                 PZ2 
               
               
                   
                   
               
             
          
         
       
     
         [0038]    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. 
         [0039]    There are subsequently several variants for forming the first parameter set PS: 
       Variant 1: 
       [0040]    The first parameter set P1 merely describes the parameter sets PZ1 and PZ3. In that case, the first parameter set is formed as follows: 
         [0000]    
       
         
               
               
               
             
           
               
                   
                   
               
               
                   
                 Parameter 
                 Parameter type 
               
               
                   
                   
               
             
             
               
                   
                 P1 PT1: 
                 Macroblock number 
               
               
                   
                 P2 PT2: 
                 Slice number 
               
               
                   
                 P3 PT3: 
                 Image type 
               
               
                   
                   
               
             
          
         
       
     
         [0041]    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. 
       Variant 2: 
       [0042]    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: 
         [0000]    
       
         
               
               
               
             
           
               
                   
                   
               
               
                   
                 Parameter 
                 Parameter type 
               
               
                   
                   
               
             
             
               
                   
                 P1 PT1: 
                 Macroblock number 
               
               
                   
                 P2 PT2: 
                 Slice number 
               
               
                   
                 P3 PT3: 
                 Image type 
               
               
                   
                 P4 PT4: 
                 Number of packets to be received 
               
               
                   
                   
               
             
          
         
       
     
         [0043]    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. 
         [0044]    The values of the parameters in the first parameter set can be transmitted from a transmitter SD to a receiver ED in a message N 1 . 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. 
         [0045]    The receiver ED receives the message N 1 , 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 DB 1 . 
         [0046]    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). 
         [0047]    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. 
         [0048]    In the present exemplary embodiment, the respective parameter set PZ1, PZ2, PZ3 is ascertained from the respective data stream DS 1 , DS 2  and DS 3 . Generally, mere analysis of the respective coding method C 1 , C 2 , C 3  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. 
         [0049]    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. 
         [0050]    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. 
         [0051]    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. 
         [0052]    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).