Apparatus and Method for Coding an Information Signal into a Data Stream, Converting the Data Stream and Decoding the Data Stream
More customization and adaptation of coded data streams may be achieved by processing the information signal such that the various syntax structures obtained by pre-coding the information signal are placed into logical data packets, each of which being associated with a specific data packet type of a predetermined set of data packet types, and by defining a predetermined order of data packet types within one access unit of data packets. The consecutive access units in the data stream may, for example, correspond to different time portions of the information signal. By defining the predetermined order among the data packet types it is possible, at decoder's side, to detect the borders between successive access units even when removable data packets are removed from the data stream on the way from the data stream source to the decoder without incorporation of any hints into the reminder of the data stream. Due to this, decoders surely detect the beginnings and endings of access units and therefore are not liable to a buffer overflow despite a removal of data packets from the data stream before arrival at the decoder.
1 . A method for decoding a data stream representing a coded version of an information signal, the data stream comprising consecutive access units of consecutive data packets, each data packet being of a data packet type of a predetermined set of data packet types, at least one of the data packet types being a removable data packet type, and the data packet within each access unit being arranged in accordance with a predetermined order among the data packet types, in accordance with which a second data packet type precedes a first data packet type, such that, even when a data packet of the removable data packet type is removed from the data stream, borders between successive access units are still detectable from the data stream by use of the predetermined order and all data packets remain associated with the respective access unit they originally belonged to before removal of any data packet of the removable data packet type, with the detection by use of the predetermined order involving detecting an existence of a border between two successive access units each time a data packet of the first data packet type precedes a data packet of the second data packet type, the method comprising the following steps:
detecting a border between successive access units by use of the predetermined order by detecting an existence of a border between two successive access units each time a data packet of the first data packet type precedes a data packet of the second data packet type; and
decoding the successive access units,
wherein the steps are performed by circuit parts of an integrated circuit, or by a computer running a computer program of instructions implementing, during execution by the computer, the steps.
2 . The method of claim 1 , wherein the predetermined set of data packet types further comprises at least one non-removable data packet type, and the predetermined order at least defines as to whether the data packets of the removable data packet type have to precede or follow data packets of the non-removable data packet type, and wherein the step of detecting comprises
detecting the beginning of a new access unit if, either,
1) a preceding data packet is of a non-removable data packet type and a current data packet is of the removable data packet type, and, in accordance with the predetermined order, data packets of the removable data packet type have to precede data packets of the non-removable data packet type; or
2) a preceding data packet is of the removable data packet type and the current data packet is of a non-removable data packet type, and, in accordance with the predetermined order, data packets of the removable data packet type have to succeed data packets of the non-removable data packet type.
3 . The method of claim 1 , wherein the predetermined set of data packet types comprises at least a first removable data packet type for which the predetermined order defines that data packets of that type have to precede data packets of the non-removable data packet type, and at least a second removable data packet type for which the predetermined order defines that data packets of that type have to succeed data packets of the non-removable data packet type, and wherein the step of detecting comprises detecting the beginning of a new access unit further if a data packet is of the second removable data packet type precedes a data packet of the first removable data packet type.
4 . The method of claim 1 , wherein each data packet comprises a type number indicating of which data packet type same data packet is, and the method further comprising
receiving the data stream, data packet by data packet, at an input; and
investigating the type number of a current data packet in order to obtain the data packet type of the current data packet.
5 . The method of claim 1 , wherein the information signal is a video signal, an audio signal or a multimedia signal.
6 . The method of claim 1 , wherein each access unit belongs to a picture from a video.
7 . The method of claim 1 , the method further comprising receiving the data stream at an input; and
buffering the received data packets and discarding buffered data packets access unit-wise.
8 . The method of claim 1 , wherein the information signal comprises a video, and the step of detecting is performed such that the data packet types which are arranged according to the predetermined order comprise
a supplemental enhancement information data packet type, comprising supplemental enhancement information including timing information or supplemental data that enhances usability of a version of the information signal obtained by decoding the successive access units but are not necessary for obtaining the version of the information signal by decoding the successive access units; and
a coded picture data packet type comprising syntax elements of slice header data and/or syntax elements concerning slice transform coefficients of one or more slices of a picture of the video,
with, according to the predetermined order, data packets of the supplemental enhancement information data packet type preceding data packets of the coded picture data packet type.
9 . The method of claim 1 , wherein the information signal comprises a video, and the step of detecting is performed such that the data packet types which are arranged according to the predetermined order comprise
a sequence parameter set data packet type comprising sequence parameter sets which apply to a series of consecutive pictures of the video; and
a picture parameter set data packet type comprising picture parameter sets which apply to the one or more individual pictures of the video within a series of consecutive pictures of the video,
a coded picture data packet type comprising syntax elements of slice header data and/or syntax elements concerning slice transform coefficients of one or more slices of a picture of the video,
with, according to the predetermined order, data packets of the sequence parameter set data packet type and data packets of the picture parameter set data packet type preceding the last data packet of the coded picture data packet type within the same access unit to which same belong.
10 . The method of claim 9 , wherein either one or both of data packets of the sequence parameter set data packet type and picture parameter set data packet type are conveyed separate from the data stream by an extra transmission link such that, according to the predetermined order, data packets of the sequence parameter set data packet type and data packets of the picture parameter set data packet type are received earlier than the last data packet of the coded picture data packet type within the same access unit to which same belong.