WO2011137919A1 - Verfahren und vorrichtung zur modifikation eines kodierten datenstroms - Google Patents

Verfahren und vorrichtung zur modifikation eines kodierten datenstroms Download PDF

Info

Publication number
WO2011137919A1
WO2011137919A1 PCT/EP2010/002833 EP2010002833W WO2011137919A1 WO 2011137919 A1 WO2011137919 A1 WO 2011137919A1 EP 2010002833 W EP2010002833 W EP 2010002833W WO 2011137919 A1 WO2011137919 A1 WO 2011137919A1
Authority
WO
WIPO (PCT)
Prior art keywords
coded
data packet
data
data stream
video
Prior art date
Application number
PCT/EP2010/002833
Other languages
English (en)
French (fr)
Other versions
WO2011137919A9 (de
Inventor
Peter Amon
Norbert Oertel
Bernhard Agthe
Original Assignee
Siemens Enterprise Communications Gmbh & Co. Kg
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Enterprise Communications Gmbh & Co. Kg filed Critical Siemens Enterprise Communications Gmbh & Co. Kg
Priority to PCT/EP2010/002833 priority Critical patent/WO2011137919A1/de
Priority to US13/141,873 priority patent/US8873634B2/en
Priority to BRPI1006913A priority patent/BRPI1006913A2/pt
Priority to EP10726419A priority patent/EP2422517A1/de
Priority to CN201080007161.3A priority patent/CN102318356B/zh
Priority to TW100115737A priority patent/TW201208378A/zh
Publication of WO2011137919A1 publication Critical patent/WO2011137919A1/de
Publication of WO2011137919A9 publication Critical patent/WO2011137919A9/de

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • H04N7/152Multipoint control units therefor

Definitions

  • the invention relates to a method for modifying a coded data stream from data packets, of which each data packet comprises information in which the information of successive data packets has time intervals from one another that deviate from desired time intervals.
  • the invention further relates to a device for modifying such a coded data stream from data packets.
  • the time intervals of the information contained in successive data packets differ from desired time intervals between the information of these data packets .
  • the jitter of the data stream can lead to a flickering and jerky reproduction of the information contained in the data packets at the receiver.
  • the largest existing in the data stream delay between two consecutive data packets is introduced into the encoded data stream, resulting in a delay of the data stream by the value of this largest existing in the data stream delay between two consecutive coded data packets leads.
  • the object of the invention is to provide a method and a device for modifying a coded data stream from data packets which avoid the disadvantages of the prior art.
  • each data packet comprising information
  • the information of successive data packets has time intervals from one another that deviate from desired time intervals and the time intervals by inserting an artificial coded first data packet after a second data packet into the coded data stream in the coded domain or by removing a fourth data packet present in the coded data stream from the coded data stream in the coded domain.
  • the modification of the coded data stream from data packets can cause a compensation of jitter of this data stream.
  • the modification of the coded data stream may alternatively or additionally cause the desired time intervals between data packets of a coded data stream to correspond to the time intervals of
  • Data packets of another data stream correspond.
  • the adaptation of the desired time intervals between data packets of a coded data stream to the time intervals of data packets of a further data stream is particularly important in video and audio conferencing technology.
  • the artificially encoded first data packet comprising a first information which references a second information comprised by the second data packet is generated in the coded domain, and the artificially coded first data packet is injected into the coded data stream after the second data packet inserted in the desired time interval to the second data packet, if a second data packet subsequent third data packet at a time interval to the second data packet is available, which is greater than the desired time interval.
  • a compensation of jitter of the data stream can be effected.
  • the fourth data packet present in the coded data stream is removed from the coded data stream in the coded domain if a fifth data packet following the fourth data packet is available at the desired time interval to the third data packet preceding the fourth data packet , In this way, compensation for jitter of the data stream can likewise be brought about by the modification of the coded data stream in the coded domain.
  • the less extensive intervention in the data stream compared to the method by means of a transcoder leads to a lower delay of the data stream, since not all encoded data packets are completely decoded and completely re-encoded.
  • the quality of the coded data stream suffers through the decoding and re-coding of each coded data packet of the data stream, with a modification of the coded data stream in the coded domain for the compensation of jitter the information, also called "payloads", is called the include non-artificially encoded data packets, not altered, resulting in high quality quality of the data content of the data packets to be transmitted and a low effort is guaranteed.
  • the packet header of a non-artificially coded data packet is changed in the inventive method at most.
  • the data packets are temporarily stored in a jitter buffer prior to the insertion of the artificial coded first data packet into the coded data stream or the removal of the fourth data packet from the coded data stream and the insertion of the artificial coded first data packet into the coded data stream or the removal of the fourth data packet from the coded data stream takes place such that the number of data packets buffered in the jitter buffer can be set.
  • This can avoid an overflow in the jitter buffer, which leads to an increased overall delay of the data stream, as well as an underflow of the jitter buffer, which has the consequence that no data package is available for insertion or removal.
  • the third data packet and the fourth data packet can be buffered in the coded domain in the jitter buffer such that only the third data packet is inserted into the data stream of coded data packets after the artificial coded third data packet at the desired time interval. Due to the presence of several coded data packets in the jitter buffer, only the last cached data packet can be left in the data stream to reduce the delay of the data stream. The later cached data packet is skipped, wherein the desired time interval is ensured to the last cached data packet by leaving the data packet following the skipped data packet in the data stream.
  • the coded data stream is advantageously a video data stream, wherein each data packet of the coded data stream comprises a part of a video frame and the artificial coded first data packet comprises a part of a video frame which stores the information of the video frame of the second data packet without movement. vectors and / or transformation coefficients.
  • the video data stream according to this embodiment of the invention is when each data packet of the coded data stream comprises a video frame and the artificial coded first data packet comprises a video frame comprising the information of the video frame of the second data packet without motion vectors and / or transform coefficients. Due to the absence of motion vectors and / or transformation coefficients in the information in the video frame of the artificially encoded first data packet, this data packet has a reduced memory requirement compared to the video frame of the second data packet.
  • each data packet of the video data stream comprises a portion of a video frame encoded according to one of the video encoding standards H.264 / AVC, H.263 or MPEG-4 Visual, the artificially encoded first data packet comprising a portion of a video frame consisting of skipped macroblocks ) is composed.
  • each data packet of the video data stream comprises a video frame encoded according to one of the video encoding standards H.264 / AVC, H.263 or MPEG-4 Visual
  • the artificially encoded first data packet comprising a video frame composed of skipped macroblocks.
  • the skipped macroblocks can be generated in the video encoding standard H.264 / AVC by setting the macroblock mode to "skip."
  • the reference of these skipped macroblocks is the first video frame of the reference picture list or another already coded video frame , abbreviated to transformation coefficients, are not transferred from the first frame of the reference picture list to the skipped macroblocks, thereby reducing the required memory size for the artificial coded frames compared to the required memory size of the first video frame of the reference picture list
  • the decoder loop is preferably disabled during creation of the artificial coded first data packet for creation to ensure a data packet with a data content of high quality compared to the quality of the data content of the second data packet.
  • the artificially encoded first data packet ( ⁇ 2 ') advantageously comprises a part of a video frame ( ⁇ 2'), which is inserted as a non-referenced frame or as a reference frame.
  • This embodiment includes the case that the artificially coded first data packet comprises a video frame which is inserted as a non-referential frame. Even if the inserted artificially coded frame is not a high quality copy of the original frame, the picture frame following the artificially coded frame will not deteriorate because the prediction of this frame does not change with the insertion of the artificially coded frame. In addition, the prediction structure does not need to be changed when inserting a non-reference image.
  • the coded first data packet comprises a video frame which is inserted as a reference frame.
  • the prediction structure of that stream can be adapted to an existing further prediction structure of a second video stream to be mixed with the first video stream.
  • the fourth data packet removed from the video data stream comprises a part of a non-referenced single picture frame.
  • This embodiment comprises the case where the fourth data packet removed from the video data stream comprises a non-referenced frame.
  • the prediction structure of the data packets remaining in the data stream is not changed.
  • a data packet comprises only a part of the last video frame of a group of pictures, it is advantageous that all data packets are removed from the video data stream which only comprise part of the last video frame of a group of pictures.
  • it is advantageous to remove a data packet with a part of a video frame from the lowest temporal level from the video data stream the case comprising a data packet with a video frame from the lowest temporal level the video stream is removed.
  • a data packet comprises only a part of a video frame from the lowest temporal level, it is advantageous that all data packets are removed from the video data stream which only comprise a part of a video frame from the lowest temporal level.
  • an adaptive jitter buffer is executed in a further advantageous embodiment of the invention when the insertion and removal of data packets takes place dynamically.
  • the desired time intervals of a second video data stream correspond to the time intervals between consecutive coded individual images of a first video data stream in that a first video frame of the artificially coded first data packet of the second video data stream with a first video frame of a coded data packet of the first video stream is mixed into a video frame.
  • the second video data stream has a lower sampling frequency than the first video data stream
  • the artificially encoded inserted first video frame in the second video data stream with respect to the first video data stream lower sampling frequency that the second video data stream with the inserted artificially coded first video frame has the sampling frequency of the first video data stream.
  • the invention further relates to a device, in particular for carrying out the method of one of claims 1 to 13, for modifying a coded data stream from data packets, each of which data packet comprises information, wherein the information of successive data packets have time intervals from each other, from the device deviates means for inserting an artificial coded first data packet after a second data packet into the coded data stream in the coded domain, and / or means for removing a fourth data packet present in the coded data stream (P4) from the encoded data stream in the encoded domain.
  • a device in particular for carrying out the method of one of claims 1 to 13, for modifying a coded data stream from data packets, each of which data packet comprises information, wherein the information of successive data packets have time intervals from each other, from the device deviates means for inserting an artificial coded first data packet after a second data packet into the coded data stream in the coded domain, and / or means for removing a fourth data packet present in the coded data stream (P4) from the encoded data
  • the device is preceded by a jitter buffer into which the coded data packets can be buffered, wherein the means for inserting the artificial coded first data packet into the coded data stream and / or for removing the fourth data packet from the coded data stream are designed such that the number of data packets (PI, P2, P3, P4, P5) buffered in the jitter buffer (JB) can be set.
  • JB jitter buffer
  • FIG. 3 shows temporal courses of coded data packets on a transmission path of one Transmitter to a receiver before entering a network, after exiting the network and after exiting a transcoder, which includes a decoder, an image memory and an encoder
  • Fig. 4 shows a transmission path from a transmitter to a receiver, in which after exit the coded data packets from a network before entry into the transcoder shown in Fig. 3, a jitter buffer is arranged in the transmission path, and
  • FIG. 5 shows time profiles of coded data packets on a transmission path from a transmitter to a receiver before entering a network, after leaving the network, and after emerging from a device for compensation of jitter in the coded domain in a first embodiment of the invention
  • FIG. 6 shows a transmission path of coded data packets from a transmitter to a receiver, the coded data packets, after exiting the network and before entering the device for compensating for jitter in the coded domain, passing through a jitter buffer which lies in the transmission path between the network and the device for compensation of jitter is arranged in the coded domain
  • 7 shows a comparison of the time profiles of the coded data packets before entering the network and after emerging from the jitter buffer shown in FIG. 2, after emerging from the transcoder shown in FIG. 3 and FIG. 4 and after emerging from the circuit shown in FIG 5 and FIG. 6 for compensation of jitter in the coded domain
  • FIG. 2 shows a transmission path of coded data packets from a transmitter to a receiver, the coded data packets, after exiting the network and before entering the device for compensating for jitter in the coded domain, passing through a jitter buffer which lies in the transmission path between the network and the device for compensation of jitter is arranged in the coded domain
  • FIG. 8 shows schematic sequences of precalculated images before insertion, after insertion as reference image and after insertion as non-reference image in a linear prediction structure
  • FIG. 9 shows schematic sequences of precalculated images before insertion and after insertion in a hierarchical prediction structure
  • FIG. 10 shows schematic sequences of precalculated images before removal and after removal from a linear prediction structure
  • FIG. 11 shows schematic sequences of precalculated images before removal and after removal from a hierarchical prediction structure
  • FIG. 12 shows a schematic arrangement of a mixture of coded macroblocks, wherein macroblocks from a first video data stream are mixed with skipped macroblocks from a second video data stream;
  • FIG. 13 shows schematic sequences of precomputed images of a first video data stream and a second video data stream before resampling and mixing and after resampling and mixing.
  • FIGS. 2, 3 and 4 Previously known examples of methods for compensating jitter of a data stream are shown in FIGS. 2, 3 and 4. Embodiments of the invention will be described with reference to FIGS. 5 to 13.
  • the occurrence of jitter caused by different maturities under defencel erer data packets when passing through a network or network arise is explained using the example of a transmission path of coded data packets from a sender to a receiver.
  • Coded data packets PI, P2, P3, P4, P5 of a coded data stream are transmitted by a transmitting device, hereinafter referred to as transmitter S, after passing through a network or network N to a receiving device, abbreviated to receiver R in the following.
  • the data packets PI, P2, P3, P4, P5 may comprise information of different content. Possible information encompassed by the data packets is audio information, image or video information, wherein in principle any kind of temporally successive information can be included in the data packets. Video information can be present in particular in the form of individual images. For the sake of simplicity, it is assumed in the following that the information of successive data packets PI, P2, P3, P4, P5 have time reference distances from one another which correspond to the desired time intervals dl of successive data packets PI, P2, P3, P4, P5. The assumption is, for example, if each data packet comprises a video frame.
  • the data packet P3 Due to an increased delay when passing through the network N, the data packet P3 has a position relative to the data packets PI and P2, which is shifted by the time interval d3 from its intended position t3 in the intended time interval, also referred to as the nominal distance.
  • the data packet P4 is shifted by the time interval d4 from its intended position t4, which is spaced apart from the position of the data packet P2 by two provided time intervals d1.
  • the data packet P3 at its intended time position, a time delay d3 and the data packet P4 to its temporal position, a delay d4.
  • the data packet P5 has the intended time interval d1 at the intended time position t4 of the data packet P4.
  • the intended time interval d1 between the data packet P4 and the data packet P5 is reduced by the delay d4 of the data packet P4.
  • the data packets P3 and P4 have lost their relative temporal coupling with respect to the preceding data packets PI and P 2 and with respect to the subsequent data packet P5 during the transmission through the network N. If the data packets PI, P2, P3, P4, P5 represent video data packets, decoding and playback without corresponding measures for compensating the different transit times of the data packets PI, P2, P3, P4, P5 leads to a flickering the jerky playback of the video whose information the video packs contain.
  • the example illustrated in FIG. 1 assumes that the time interval between successive data packets is constant and the packet length of each data packet for easy explanation of the jitter PI, P2, P3, P4, P5 is constant. However, it is not necessary that the data packets have an equal time interval or a constant packet length. Instead, the data packets may have arbitrary time intervals from one another and any desired packet lengths, provided that the different time intervals of the data packets relative to one another and the then different packet lengths of the data packets are determined.
  • a jitter buffer JB is arranged between the transmitter S and the receiver R, the data packets PI, P2, P3, P4, P5, after exiting the network N and before entering the receiver R, pass through the jitter buffer JB After exiting the network N and before the data packets PI, P2, P3, P4, P5 in the jitter buffer JB, the data packets P3 and P4 each have a time interval d3, d4 at their intended time positions t3, t4, as shown in Fig. 1.
  • the data packets PI, P2, P3, P4, P5 entering the jitter buffer JB are stored for a specific duration, also referred to as buffer delay It is possible to store the data packets for a certain period of time. Lich to send the data packets PI, P2, P3, P4, P5 in the scheduled time sequence with the time interval dl between successive data packets to the receiver R. In this way, the intended time sequence is produced with the intended time interval dl between successive data packets.
  • a disadvantage of this method shown in FIG. 2 lies in the delay of the data packets associated with the jitter buffer JB. If different data streams, each comprising data packets PI, P2, P3, P4, P5 and to each of which a jitter buffer JB is assigned, are to be mixed, the data packets which have passed through the jitter buffer JB are delayed by a value corresponding to that
  • Delay of the data stream with the highest Verzögerungsj itter corresponds. Therefore, the delay of all the data packets to be mixed is increased to the value that the data stream with the highest delay time has. The consequence is a delay of the data packets of all other incoming data streams to the delay associated with the data stream with the highest delay time.
  • the high degree of delay of the data packets due to the video data stream with the highest delay time inhibits communication between the participants in the audio or video conference.
  • FIG. 1 and FIG. 2 A further known prior art solution for the correction of different delays of different data packets when passing through the data packets through a network N is shown in FIG.
  • the data packets P3 and P4 each have a time delay d3, d4 at their intended time positions t3, t4 after passing through the network N.
  • the data packets PI, P2, P3, P4, P5 pass through a transcoder TR comprising a decoder DE, an image memory PB and an encoder EN.
  • each of the data packets PI, P2, P3, P4, P5 comprises one video frame each, the information required for playing a video data stream comprises this video frame.
  • the video data entering the transcoder TR are decoded in the decoder DE, subsequently buffered in the picture memory PB and subsequently encoded in the encoder EN.
  • these video frames are in the form of decoded and subsequently re-encoded frames in the data packets PI *, P2 *, P3 *, P4 *, P5 *.
  • the decoding in the decoder DE, the intermediate storage in the image memory PB and the encoding in the encoder EN is indicated by an asterisk * in the data packets shown in FIG.
  • the content of the data packet P2 is coded a second time as a data packet P2 ** because, in contrast to data packet P3, the data packet P2 at the time of the required to comply with the intended time interval dl coding of the data packet following the data packet P2, is stored in the image memory PB.
  • the decoded version of the data packet P4 is also not available in time for coding. Therefore, the data content of the data packet P3, which is present after the data packet P2 ** leaves the encoder EN in the image memory PB, is coded in the form of the data packet P3 *.
  • the data packet P5 * is encoded after the decoded data packet P5 is available in time for encoding.
  • the data content of the data packet P4 is not re-encoded and forwarded to the receiver R.
  • the data packets PI *, P2 *, P2 **, P3 *, P5 * have the intended timelines. chen distance dl from each other, wherein the data content of the data packet P2 twice and the data content of the packet P4 are not present over time t (e).
  • the method shown in Figure 3 by means of transcoder TR is used in multipoint conference units (MCU) in which a plurality of video input data streams are to be mixed.
  • MCU multipoint conference units
  • the mixing of the input video data streams is accomplished by decoding all input video data streams, mixing these video input data streams in the uncompressed pixel domain, and encoding the rearranged video frames.
  • the decoded video frames of the input video data streams be scaled.
  • a first video stream does not contain a current video frame due to delay jitter for timely merging with the video frame of a second video stream
  • the video frame preceding that missing current video frame of the first video stream of that video stream already stored in the frame buffer PB after decoding is merged and Coding used. If, due to a multiple encoding of a video frame, two or more frames of the input video data stream are present in decoded form in the transcoder TR before another encoded video frame exits the encoder EN, the last frame decoded in the decoder DE stored in the frame memory PB becomes using the encoding, with the other decoded frame (or the other other decoded frames) in the decoder DE is (are) neglected.
  • Transcoding is cumbersome in fully decoding and encoding all the data packets of the video data stream or streams with respect to the required computational power.
  • transcoder TR In order to carry out the method by means of transcoder TR, therefore, expensive hardware to be assigned to the method for decoding and coding is required in most cases.
  • the quality of the transmitted data of the video data stream is reduced by the transcoding, because only qualitatively reduced data content and not the original data content of the data packets with the individual images of the video data stream can be used for the encoding.
  • Fig. 4 shows a transmission path from the transmitter S to the receiver R of another prior art example for the compensation of jitter, in which after the exit of the coded data packets from the network N at the location b before entering the transcoder TR shown in Fig. 3, a jitter buffer JB is arranged in the transmission path of the data packets.
  • a jitter buffer JB is arranged in the transmission path of the data packets.
  • a queuing delay in the jitter buffer JB can be controlled by the use of the transcoder TR.
  • the queue delay is controlled by skipping the encoding of individual images in the image memory PB or by multiple encoding of identical individual images in the encoder EN. By skipping the encoding of frames in the frame buffer PB, the queuing delay is reduced. By coding the same images several times, the queuing delay in the jitter buffer JB is increased.
  • the queue delay is considered to be the duration of a data packet that this data packet on average remains in the jitter buffer JB before it exits the jitter buffer JB.
  • the queue delay is approximately the duration required to play the data packets stored in the jitter buffer JB.
  • FIG. 5 shows time profiles t (a), t (b), t (f) of coded data packets PI, P2, P3, P4, P5 on a transmission path from the transmitter S to a receiver R according to a first embodiment of the invention .
  • the data packets After exiting the network N and before entering the receiver R, the data packets pass through a device for compensating jitter in the coded domain, the coded domain of the data packets also being called a compressed domain.
  • the data packets are transmitted by the device for compensating jitter in the compressed domain (CDD) in the compressed domain, ie the coded data stream its coded data packets, freed from delay jitter.
  • CDD compressed domain
  • an artificial coded video frame is formed or more artificial coded data packets inserted into the encoded video data stream.
  • the artificial coded video frame references the frame preceding that frame and repeats the data content of that previous frame.
  • the artificial coded video frame can be generated by composing so-called skipped macroblocks.
  • the skipped macroblocks are generated in the video encoding standard H.264 / AVC by setting the macroblock mode to "skip."
  • the reference of these skipped macroblocks is the first video frame of the reference picture list or another already encoded video frame
  • the motion vectors for the skipped macroblocks are calculated by means of the skipped macroblocks of adjacent macroblocks, which precedes the skipped macroblocks, with respect to the memory size of the artificial coded frames compared to the memory size of the first video frame of the reference picture list Since all the macroblocks in the video frame have the "skip" mode, the motion vectors in this calculation become zero g setup.
  • Skipped macroblocks in addition to the video encoding standard H.264 / AVC, are also defined in video encoding standards H.263 and MPEG-4 Visual. However, the skipped macroblocks of video encoding standards H.263 and MPEG-4 Visual are not motion compensated.
  • a deblocking filter in the decoder loop should be turned off to produce a perfect copy of the previous frame. This can be implicitly determined by the algorithm or explicitly signaled.
  • the device for compensating for jitter in the coded plane CDD can also process audio data streams, picture data streams or another type of temporally successive information. In the exemplary embodiment illustrated in FIG.
  • the data packets PI and P2 are available in good time and are forwarded to the receiver R without any further modification when passing through the device for compensating for jitter in the coded domain CDD.
  • the data packet P3 arrives at the intended time t3 delayed due to the time delay d3 in the device for compensation of jitter in the coded plane CDD. Therefore, the data packet P2 'is encoded as a copy of the data packet P2 using skipped macroblocks.
  • the artificial coded data packet P2 ' should not be inserted in the reference picture list in order to avoid existing reference pictures being removed from the reference picture list.
  • the data packet P3 is forwarded to the receiver R without changing the data packet P3 by the device for compensating for jitter in the coded plane CDD.
  • modifications of the video coding elements of an artificially coded data packet of the video data stream such as coded transform coefficients, mode information and motion vectors, are not required.
  • Only high-level syntax is modified, such as the image sequence number of the data packet.
  • the Real-Time Transport Protocol uses frame sequence numbers to detect loss of data packets. These frame sequence numbers should therefore be rewritten.
  • the device for compensating for jitter in the coded domain CDD is used as an RTP mixer and in this case terminates the RTP session of the transmitter S.
  • the data packet P5 has dependencies on the data content of the data packet P4 with respect to its data content, the data packet P4 does not fail in the time course t (f) at the location f after the exit of the data packets from the device for compensating for jitter in the coded domain CDD the data stream as shown in Fig. 5, but forwarded, otherwise the data packet P5 could not be decoded in the receiver R.
  • the data packet P5 is passed through the data packet P5 by the device for compensation of jitter in the coded domain CDD forwarded to reduce the transmission delay of the data stream. Due to the non-forwarding of the data packet P4, the data packet P4, such as a comparison of the time profiles before entering the device for compensation of jitter in the coded domain CDD at location b and after the exit of the data packets from the device for the compensation of jitter in the coded level CDD at location f shows skipped. By skipping the first non-referenced frame, which corresponds to the data packet P4 in the method shown in FIG. 5, the overall delay of the data stream can be reduced.
  • the jitter compensation device in the coded domain CDD can be combined with the jitter buffer JB.
  • FIG. 6 shows, in a further embodiment of the invention, a transmission path from the coded data packet from the transmitter S to the receiver R, wherein the coded data packets exit the network N and enter the device for compensating for jitter in the coded domain CDD traversing a jitter buffer JB arranged in the transmission path between the network N and the device for compensating for jitter in the coded domain CDD.
  • the number of steps of insertion of artificial coded data packets and the number of steps for removing, also called skipping, of data packets can be reduced , For example, it may be the case that a network factory delay, in which all data packets of a data stream are delayed, and / or a
  • jitter buffer JB can smooth the playback of the data packets.
  • the level of the jitter buffer JB can be controlled by inserting or removing data packets / frames into the data stream by means of the jitter compensation device in the coded domain CDD.
  • the jitter buffer JB By using a jitter buffer JB, which passes through the data packets before entering the device for compensating for jitter in the coded domain CDD, it is possible that when a network delay and / or a network delay occurs, only individual data packets / frames are inserted or removed, so that the modification of the data stream during playback in the receiver R is not or hardly noticeable.
  • the jitter buffer JB sends via a line 2 outside the transmission path of the data packets from the jitter buffer JB to the device for compensation of jitter in the coded domain CDD information about the currently detected in the jitter buffer JB network delay and / or the current in the jitter buffer JB identified
  • Network delay to the device for compensation of jitter in the coded domain CDD By inserting in each case an artificially coded data packet and / or distances of in each case one data packet from the data stream into the jitter buffer JB in the given time interval in the coded domain CDD, the fill level of the jitter buffer JB can be controlled. This may result in an overflow in the jitter buffer JB leading to an increased overall delay of the data stream and an underflow of the jitter buffer JB which results in no data packet / frame being available to the jitter compensation device in the coded domain CDD , be avoided. With the arrangement shown in Fig.
  • the network delay decreases: As a result, the level in jitter buffer JB increases, and hence the queue delay, as more images enter Jitter Buffer JB as compared to a time before the network delay is removed than to maintain the designated time interval dl between successive ones Data packets are requested from the jitter compensation device in the coded domain CDD from the jitter buffer.
  • a delay in the network N increases:
  • the filling of the jitter buffer JB should be increased by inserting artificial coded data packets / frames.
  • the network delay and the network delay are based on statistical information of the data packet entered into the jitter buffer. kete, for example their timing can be calculated. The calculation can be done within the jitter buffer JB.
  • the arrangement shown in FIG. 6 may be considered as a special case of the arrangement shown in FIG. 5, the jitter buffer JB in FIG. 6 having negligible queuing delay of the data packets contained in the jitter buffer JB.
  • FIG. 7 shows a comparison of the time profiles of the coded data packets before entry into the network N and after exiting from the jitter buffer shown in FIG. 2, after exiting from the transcoder TR shown in FIG. 3 and FIG - Occurs from the device shown in Fig. 5 and Fig. 6 for compensation of jitter in the coded domain CDD.
  • the time course t (a) at location a after the data packets have left the transmitter S and before they enter the network N is assigned to the time profiles t (b), t (c), t (e) and t (f), where the places b, c, e and f correspond to the places b, c, e, f in the figures 1, 2, 3, 4, 5, 6, by a time-shifted (average) transmission delay dN.
  • the data packets PI, P2, P3, P4, P5 can be processed by the receiver R or a component arranged between the transmitter S and the receiver R.
  • a jitter buffer JB As a component arranged between the transmitter S and the receiver R, a jitter buffer JB, a transcoder TR or the device for compensating for jitter in the coded domain CDD can be used.
  • the jitter buffer JB has to compensate for a Verzögerungsj itter, which is a special case of the jitter, the entire occurring during the transmission of the data stream with the coded data packets PI, P2, P3, P4, P5 occurring delay j itter. Therefore, the delay dJ by using the jitter buffer JB is relatively high.
  • the transcoder TR and the device for compensating for jitter in the coded domain CDD have additional means for compensation of delay elements. Due to the possibility of inserting and / or removing data packets from the data stream, the jitter buffer JB the delays dT by the transcoder TR and dC by the device for compensation of jitter in the coded domain CDD lower.
  • FIG. 8 shows schematic sequences 10, 11, 12 of images before insertion 10, after insertion as reference image 11 and after insertion as non-reference image 12 in the case of a linear prediction structure with respect to time t (see arrow).
  • the word "image” is used for the word "video frame.”
  • an artificial coded image is provided which encodes the data content corresponding to the data content represented artificial coded image previous image, inserted into the data stream to maintain the intended time interval dl between successive images.
  • FIG. 8 shows for clarity the insertion of a precalculated image in the form of an artificially coded video frame in a linear prediction structure, also called IPPP.
  • the first image of a sequence of images, the intraframe Bl does not refer to the image preceding the intraframe Bl.
  • the images B2, B3, B4, B5 following the intraframe B1 refer to the preceding image B1, B2, B3, B4. Therefore, in the linear prediction structure 10 except for the intraframe Bl, the preceding image of each precalculated image is a reference image.
  • FIG. 8 shows no coded data packets PI, P2, P3, P4, P5, but precalculated images B1, B2, B3, B4, B5.
  • Each of the data packets PI, P2, P3, P4, P5 may comprise as information in each case one of the images B1, B2, B3, B4, B5 or a part of in each case one of the images B1, B2, B3, B4, B5.
  • the image sequence 10 Before inserting the precalculated image B2 ' , the image sequence 10 has an order of the precalculated images in ascending order starting with the intraframe Bl.
  • the inserted precomputed image B2 ' has the data content of its predecessor B2. If the video encoding standard H.264 / AVC is used, the inserted artificial encoded pre-calculated image B2 'can be composed solely of skipped macroblocks as explained above.
  • a precalculated image B2 ' is inserted as a non-reference image into the linear IPPP prediction structure of the images B1, B2, B3, B4, B5 after the precalculated image B2. Since the artificial coded video frame B2 'is a non-reference frame, the frame B 3 following the artificial coded predicted frame B2' does not refer to the artificially coded precomputed frame B2 ' but to the precalculated frame B2.
  • the referencing of the precalculated image B3 to the pre-calculated image B2 is represented by an arrow R1.
  • both the artificially encoded newly inserted precomputed image B2 'and the existing precalculated image B3 each reference the precalculated image B2.
  • the insertion of a new image as a non-reference image has some advantages: Even if the newly inserted artificially encoded precomputed image B2 'is not a high quality copy of the predicted image B2, the image B3 following the artificially encoded newly inserted precomputed image B2' will not deteriorate the image quality, since the temporal predictor, which indicates the referencing of the image B4, of the pre-computed image B3 has not changed by the insertion of the artificially encoded precomputed image B2 ' .
  • the prediction structure need not be changed in any way when inserting a non-reference image. Even if the prediction structure is more extensive than shown in FIG. 8, for example when using a
  • the inclusion of an image composed entirely of skipped macroblocks as a reference frame has advantages in video merging in the compressed domain. For example, by inserting an additional reference frame into a first frame of video data stream, the prediction structure of that stream may be adapted to an existing further prediction structure of a second video stream to be merged with the first video stream.
  • the image preceding a precomputed image is to be declared as the reference image if the image preceding the precalculated image is a non-reference image B2 'in the schematic sequence 12. Further references may be made to maintain the original prediction structures.
  • the artificially encoded newly inserted predicted calculated image B2 ' is inserted as a reference image, wherein the pre-computed image B3 referenced prior to insertion onto the precalculated image B2 now references the newly inserted artificially encoded precalculated image B2'.
  • the precomputed image B2 preceded by the artificially encoded precomputed image B2 ' can not be declared as a reference image, for example because an overflow of a reference image buffer would occur as a reference image upon declaration of the precomputed image B2, the insertion of the artificially coded precomputed image to be inserted becomes the Non-reference image repeated. Since the reference image buffer has not changed by the insertion of the newly coded precoded image, the prediction is performed as for the previous precomputed image. For clarification, FIG.
  • FIG. 9 shows schematic sequences 21, 22 of precalculated images before insertion 21 and after insertion 22 in a hierarchical prediction structure in which the image B2 preceding the preprocessed image B2 'to be inserted is a non-reference image.
  • the precalculated image B3 does not refer to the precalculated image B2, but to the precalculated image Bl, as shown by an arrow rl.
  • both the newly inserted artificially encoded precomputed image B2' and the predicted image B 3 following the precalculated image B2 'refer to the precalculated image B1, as in the temporal image Sequence 22 is represented by the references rl of B2 'and r2 of B3.
  • high-level data information such as RTP, frame sequence number and a time stamp of the pre-computed image B2 are changed.
  • the signal processing data content such as coefficients, motion vectors, and mode information, etc.
  • FIG. 9 shows, when an artificially coded predicted curve is inserted, In the time sequence 12, a hierarchical prediction structure emerges from the linear prediction structure shown in the time sequence 10. In a hierarchical prediction structure, in contrast to the time sequences 10, 11 shown in FIG. 8, there is a precalculated image B3 whose previous precalculated image B2, as shown in the temporal sequence 21, is a non-reference image.
  • the older of the present in the device for compensating for jitter in the coded plane CDD images are skipped to reduce the delay of the data stream.
  • the desired time interval dl between successive data packets PI, P2, P3, P4, P5 is halved when successive data packets enter the device for compensating for jitter in the coded plane CDD.
  • the data packet arriving prematurely in the device for compensating for jitter in the coded plane CDD can be removed from the data stream without having previously inserted an artificially coded data packet into the data stream.
  • the frame, comprised of a coded data packet, is removed from the data stream in the coded domain.
  • FIG. 10 shows schematic sequences 31, 32 and 41, 42 of precalculated images from a linear prediction structure (Fig. 10) and a hierarchical prediction structure (Fig. 11).
  • FIG. 10 shows schematic sequences of precalculated images before removal 31 and removal 32 from a linear prediction structure.
  • FIG. 10 shows schematic sequences of precalculated images before removal 31 and removal 32 from a linear prediction structure.
  • FIG. 10 shows, it is clear from the linear IPPP Prediction structure only the last frame B4 a group of pictures (Group Of Pictures: GOP) from the data stream of images Bl, B2, B3, B4, B5, B6, B7 away.
  • GOP Group Of Pictures
  • a group of pictures GOP is composed of precalculated pictures, which, with the exception of the first picture of the picture group, each refer to the preceding picture of the picture group precomputed.
  • the images B1, B2, B3, B4 and the images B5, B6, B7 each form individual groups of images.
  • the images B2 and B3 remaining in the data stream of the schematic sequence 32 each refer to the images B1, B2 preceding these images B2, B3.
  • the individual images B4, B6, B8 form those individual images of the lowest temporal level.
  • the individual images B4, B6, B8 are non-reference images and can be removed from the data stream in a simple manner, since no referenced images refer to these images B4, B6, B8. Since the number of frames that can be skipped is greater in a hierarchical prediction structure than in a linear prediction structure, as shown by a comparison of the schematic sequences 31 in Figures 10 and 41 in Figure 11 for the easily removable non-reference pictures, it is advantageous to generate temporally scalable data streams with an existing encoder, which have hierarchical prediction structures.
  • both the insertion of an artificially coded data packet, which comprises a single image, and the removal of a data packet, which comprises a single image, takes place dynamically.
  • the device for compensating for jitter in the coded plane performs the function of an adaptive jitter buffer. Compensation of jitter in the encoded domain, also called compensation of jitter in the compressed domain, can be combined with video merging in the compressed domain, also called video merging in the encoded domain.
  • FIG. 12 shows a schematic arrangement of a mixture of 50 coded macroblocks Ml, M2, wherein macroblocks Ml from A first video data stream 51 is mixed with skipped macroblocks M2 from a second video data stream 52.
  • original macroblocks M1 of the first video data stream 51 are in a matrix of 8x10 macroblocks M1, ie an eight-row matrix U.N d ten columns, shown in Fig. 12.
  • the matrix of macroblocks M1 can have any number of macroblocks M1 in row and column form.
  • the macroblocks M1 of the first video data stream consist of original macroblocks of the incoming first video data stream.
  • the macroblocks M2 of the incoming second video stream consist of skipped macroblocks (skip mode) since the original macroblocks of the incoming second video stream are not available in time for merging with the original macroblocks M1 of the incoming first video stream 12, original macroblocks Ml to artificially encoded inserted macroblocks M2 for mixing the macroblocks Ml of the first incoming video data stream and the macroblocks M2 of the second incoming video data stream to each other for a more detailed description of video mixing at macroblock level (for example Entropy decoding and re-encoding) is applied to those described in document WO
  • motion vectors for skipped macroblocks are calculated from coded macroblocks adjacent to the skipped macroblocks which are coded in time before the skipped macroblocks. It would therefore be disadvantageous in the schematic arrangement shown in FIG. 12 to use adjacent macroblocks M1 of the first video data stream to calculate the skipped macroblocks M2 of the second video data stream. Therefore, in a mixture of macroblocks of a first video stream and a second video stream, the calculation of the motion vectors for the skipped macroblocks is different from the computation of the skipped macroblock motion vectors in the case of a single unmixed data stream.
  • the motion information for the skipped macroblocks M2 of the second incoming video stream 52 is explicitly encoded, for example, by using the regular P-macroblock mode with a division for the original macroblocks of 16x16 macroblocks to be used to compute the motion vectors, ie the largest partitioning in video encode standard H .264 / AVC.
  • the motion vectors are implicitly set so that the motion vectors are set to zero.
  • the data rate for skipped macroblocks calculated in this way is larger than the data rate of a video stream not to be mixed, it is small in relation to the data rate of non-skipped macroblocks.
  • the insertion of "skip" mode macroblocks may be advantageously used to resample video image sequences, for example, to mix two or more video image sequences having different sampling frequencies, for clarity, schematic sequences 60, 61, 66, 67 are shown in FIG precomputed images of a first video stream and a second video stream prior to resampling and mixing 60, 61 and after resampling and mixing 66, 67.
  • the schematic sequence of predicted images 60 of a first video stream for example, has a sampling frequency of 30 fps (frames per second). while the schematic sequence 61 of precomputed images of a second video data stream has a sampling frequency of 15 fps, the sampling frequency of the second video data stream being halved compared to the first video data stream is artificially encoded between the precomputed images B12, B22, B32, B42 of the second video data stream precalculated images B21, B41, B61 arranged.
  • artificially encoded video frames B52, B62, B72 are inserted into the second video data stream as shown in schematic sequence 67 in FIG.
  • the prediction structure of the mixed video data streams 1 and 2 has a linear prediction structure.
  • the ratio of the sampling frequencies of the first incoming video data stream and the second incoming video data stream is a natural number.
  • FIG. 13 is for mixing a first incoming video data stream and a second incoming video data stream into an outgoing video data stream at a sampling frequency that matches the higher sampling frequency of the first incoming video data stream or the second incoming video data stream. matched to the video data stream, with each ratio of the sampling frequencies of the first incoming video data stream and the second incoming video data stream possible.
  • a frame of video data stream at the lower sampling frequency which is not available at any time can be inserted into the video data stream having the lower sampling frequency, composed of skipped macroblocks, as already shown in FIG 13 above.
  • a reduced delay of the data stream with the compensated jitter can be achieved compared to a solution with a jitter buffer.
  • a prior art jitter buffer inserts the maximum delay in the data stream between two consecutive coded data packets into the data stream to compensate for jitter.
  • the device for compensating for jitter in the coded domain has additional means for compensating jitter of different types, for example delay elements, by inserting coded data packets into and / or removing existing data packets from the data stream.
  • the method by means of a device for modifying a coded data stream of data packets in the coded domain on a less extensive intervention in the data stream since in contrast to the method by means of transcoder (decoding and re-coding) only skipped macroblocks can be encoded alongside other non-re-encoded data packets.
  • a lower delay of the data stream occurs.
  • the delay associated with this high level of signal processing is avoided in the method by means of a device for compensation of jitter in the coded plane in that not all data packets are decoded and coded, but only some artificially coded data packets, for example in the form of skipped macroblocks Reference frames or non-referenced frames are inserted into the otherwise untreated encoded data stream.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zur Modifikation eines kodierten Datenstroms aus Datenpaketen (P1, P2, P3, P4, P5), von denen jedes Datenpaket (P1, P2, P3, P4, P5) eine Information (B1, B2, B3, B4, B5) umfasst. Bei dem Datenstrom weisen die Informationen (B1, B2) aufeinander folgender Datenpakete (P1, P2, P3, P4, P5) zeitliche Abstände (d1, d3) voneinander auf, die von zeitlichen Sollabständen (d1) abweichen und die auf die zeitlichen Sollabstände (d1) durch Einfügen eines künstlichen kodierten ersten Datenpakets (P2') zeitlich nach einem zweiten Datenpaket (P2) in den kodierten Datenstrom in der kodierten Domäne oder durch Entfernen eines im kodierten Datenstrom vorhandenen vierten Datenpakets (P4) aus dem kodierten Datenstrom in der kodierten Domäne eingestellt werden.

Description

Verfahren und Vorrichtung zur Modifikation eines kodierten Datenstroms
Die Erfindung betrifft ein Verfahren zur Modifikation eines kodierten Datenstroms aus Datenpaketen, von denen jedes Datenpaket eine Information umfasst, bei dem die Informationen aufeinander folgender Datenpakete zeitliche Abstände voneinander aufweisen, die von zeitlichen Sollabständen abweichen. Die Erfindung betrifft ferner eine Vorrichtung zur Modifikation eines solchen kodierten Datenstroms aus Datenpaketen.
Aufgrund unterschiedlicher Laufzeiten von unterschiedlichen Datenpaketen eines kodierten Datenstroms auf dem Übertragungsweg der Datenpakete von einem Sender zu einem Empfänger, die zu einem Jitter des Datenstroms führen, weichen die zeitlichen Abstände der von aufeinanderfolgenden Datenpaketen umfassten Informa- tionen von zeitlichen Sollabständen zwischen den Informationen dieser Datenpakete ab. Der Jitter des Datenstroms kann zu einer flackernden und ruckelnden Wiedergabe der in den Datenpaketen enthaltenen Informationen beim Empfänger führen. Bei Einsatz eines bekannten Jitter Buffer zur Kompensation von Jitter wird die größte im Datenstrom vorhandene Verzögerung zwischen zwei aufeinanderfolgenden Daten- pakten in den kodierten Datenstrom eingebracht, was zu einer Verzögerung des Datenstroms um den Wert dieser größten im Datenstrom vorhandenen Verzögerung zwischen zwei aufeinander folgenden kodierten Datenpakten führt. Eine nachteilige zusätzliche Verzögerung des Datenstroms in hohem Umfang kann durch Verwendung eines Transcoders anstelle eines Jitter Buffer vermieden werden. Bei einem Transcoder werden allerdings sämtliche in kodierter Form vorliegende Datenpakete dekodiert und erneut kodiert, was zu einer reduzierten Qualität des Dateninhalts der Datenpakete und zu einem hohen Aufwand an Signal Verarbeitung für die Dekodie- rung und Kodierung der Datenpakete führt. Ausgehend davon liegt der Erfindung die Aufgabe zugrunde, ein Verfahren und eine Vorrichtung zur Modifikation eines kodierten Datenstroms aus Datenpaketen zu schaffen, die die Nachteile des Standes der Technik vermeiden. Insbesondere sollen ein Verfahren und eine Vorrichtung zur Modifikation eines kodierten Datenstroms angegeben werden, bei denen eine zusätzliche Verzögerung des Datenstroms in hohem Umfang vermieden wird, wobei eine hohe Qualität des Dateninhalts der zu übertragenden Datenpakete bei einem geringen Aufwand an Signal Verarbeitung ge- währleistet ist.
Gemäß dem erfindungsgemäßen Verfahren zur Modifikation eines kodierten Datenstroms aus Datenpaketen, von denen jedes Datenpaket eine Information umfasst, weisen die Informationen aufeinander folgender Datenpakete zeitliche Abstände voneinander auf, die von zeitlichen Sollabständen abweichen und die auf die zeitlichen Sollabstände durch Einfügen eines künstlichen kodierten ersten Datenpakets zeitlich nach einem zweiten Datenpaket in den kodierten Datenstrom in der kodierten Domäne oder durch Entfernen eines im kodierten Datenstrom vorhandenen vierten Datenpakets aus dem kodierten Datenstrom in der kodierten Domäne eingestellt · werden.
Die Modifikation des kodierten Datenstroms aus Datenpaketen kann eine Kompensation von Jitter dieses Datenstroms bewirken. Die Modifikation des kodierten Datenstroms kann alternativ oder zusätzlich bewirken, dass die zeitlichen Sollabstände zwischen Datenpakten eines kodierten Datenstroms den zeitlichen Abständen von
Datenpaketen eines weiteren Datenstroms entsprechen. Die Anpassung der zeitlichen Sollabstände zwischen Datenpaketen eines kodierten Datenstroms an die zeitlichen Abständen von Datenpaketen eines weiteren Datenstroms ist insbesondere in der Video- und Audiokonferenztechnik von Bedeutung.
Mit Vorteil wird das künstlich kodierte erste Datenpaket, das eine erste Information umfasst, die eine zweite Information referenziert, die von dem zweiten Datenpaket umfasst ist, in der kodierten Domäne generiert, und das künstlich kodierte erste Datenpaket in den kodierten Datenstrom zeitlich nach dem zweiten Datenpaket in dem zeitlichen Sollabstand zu dem zweiten Datenpaket eingefügt, falls ein dem zweiten Datenpaket nachfolgendes drittes Datenpaket in einem zeitlichen Abstand zu dem zweiten Datenpaket zur Verfügung steht, der größer ist als der zeitliche Sollabstand. Auf diese Weise kann durch die Modifikation des kodierten Datenstroms in der kodierten Domäne eine Kompensation von Jitter des Datenstroms bewirkt werden. In einer bevorzugten Ausführungsform der Erfindung wird das im kodierten Datenstrom vorhandene vierte Datenpaket aus dem kodierten Datenstrom in der kodierten Domäne entfernt, falls ein dem vierten Datenpaket nachfolgendes fünftes Datenpaket in dem zeitlichen Sollabstand zu dem dritten Datenpaket, das dem vierten Datenpaket vorhergeht, zur Verfügung steht. Auf diese Weise kann ebenfalls durch die Mo- difikation des kodierten Datenstroms in der kodierten Domäne eine Kompensation von Jitter des Datenstroms bewirkt werden.
Durch das Einfügen eines künstlichen kodierten Datenpaketes oder das Entfernen eines kodierten Datenpaketes in der kodierten Domäne kann im Vergleich zu einer Lösung mit einem Jitter Buffer eine verringerte Verzögerung des Datenstroms erreicht werden, da mit der Einstellung des vorgesehenen zeitlichen Abstandes zwischen den aufeinander folgenden Datenpaketen unmittelbar nach Auftreten von Jitter begonnen werden kann ohne die größte vorhandene Verzögerung zwischen aufeinanderfolgenden Datenpaketen abwarten zu müssen. Gegenüber dem Verfahren mit- tels Transcoder zur Kompensation von Jitter weist das Einfügen oder Entfernen von Datenpaketen in der kodierten Domäne einen weniger umfangreichen Eingriff in den Datenstrom auf, da die Datenpakete, die nicht eingefügt oder die entfernt werden, nicht dekodiert und kodiert werden. Der im Vergleich zum Verfahren mittels Transcoder weniger umfangreiche Eingriff in den Datenstrom führt zu einer geringe- ren Verzögerung des Datenstroms, da nicht sämtliche kodierte Datenpakete vollständig dekodiert und erneut vollständig kodiert werden. Während bei dem Verfahren mittels Transcoder die Qualität des kodierten Datenstroms durch die Dekodierung und erneute Kodierung jedes kodierten Datenpaketes des Datenstroms leidet, werden bei einer Modifikation des kodierten Datenstroms in der kodierten Domäne zur Kompensation von Jitter die Informationen, auch„Payloads" genannt, die die nicht künstlich kodierten Datenpakete umfassen, nicht verändert, wodurch eine hohe Qua- lität des Dateninhalts der zu übertragenden Datenpakte und ein geringer Aufwand gewährleistet ist. Im Gegensatz zu dem Verfahren mittels Transcoder wird bei dem erfindungsgemäßen Verfahren allenfalls der Paketheader eines nicht künstlich kodierten Datenpaketes verändert.
In einer bevorzugten Ausführungsform werden die Datenpakete zeitlich vor dem Einfügen des künstlichen kodierten ersten Datenpakets in den kodierten Datenstrom oder dem Entfernen des vierten Datenpakets aus dem kodierten Datenstrom in einem Jitter Buffer zwischengespeichert und das Einfügen des künstlichen kodierten ersten Datenpakets in den kodierten Datenstrom oder das Entfernen des vierten Datenpakets aus dem kodierten Datenstrom erfolgt derart, dass die Anzahl der in dem Jitter Buffer zwischengespeicherten Datenpakete eingestellt werden kann. Hierdurch kann ein Überlauf im Jitter Buffer, der zu einer erhöhten Gesamtverzögerung des Datenstroms führt, sowie ein Unterlauf des Jitter Buffer, der zur Folge hat, dass kein Da- tenpaket zum Einfügen oder Entfernen zur Verfügung steht, vermieden werden.
Das dritte Datenpaket und das vierte Datenpaket können in dieser Ausführungsform derart in der kodierten Domäne in dem Jitter Buffer zwischengespeichert werden, dass lediglich das dritte Datenpaket in den Datenstrom aus kodierten Datenpaketen zeitlich nach dem künstlichen kodierten dritten Datenpaket in dem zeitlichen Sollabstand eingefügt wird. Durch das Vorliegen mehrerer kodierter Datenpakete im Jitter Buffer kann zur Verringerung der Verzögerung des Datenstroms lediglich das zuletzt zwischengespeicherte Datenpaket im Datenstrom belassen werden. Das später zwischengespeicherte Datenpaket wird übersprungen, wobei der zeitliche Sollabstand zu dem zuletzt zwischengespeicherten Datenpaket durch Belassen des dem übersprungenen Datenpaket folgenden Datenpaketes im Datenstrom gewährleistet wird.
Der kodierte Datenstrom ist vorteilhaft ein Videodatenstrom, wobei jedes Datenpaket des kodierten Datenstroms einen Teil eines Videoeinzelbildes umfasst und das künstliche kodierte erste Datenpaket einen Teil eines Videoeinzelbildes umfasst, das die Information des Videoeinzelbildes des zweiten Datenpakets ohne Bewegungs- vektoren und/oder Transformationskoeffizienten umfasst. Der Videodatenstrom gemäß dieser Ausführungsform der Erfindung liegt vor, wenn jedes Datenpaket des kodierten Datenstroms ein Videoeinzelbild umfasst und das künstliche kodierte erste Datenpaket ein Videoeinzelbild umfasst, das die Information des Videoeinzelbildes des zweiten Datenpakets ohne Bewegungsvektoren und/oder Transformationskoeffizienten umfasst. Durch das Fehlen von Bewegungsvektoren und/oder Transformationskoeffizienten in der Information im Videoeinzelbild des künstlich kodierten ersten Datenpaketes weist dieses Datenpaket einen im Vergleich zum Videoeinzelbild des zweiten Datenpaketes verringerten Speicherbedarf auf.
Mit Vorteil umfasst jedes Datenpaket des Videodatenstroms einen Teil eines nach einem der Videokodierungsstandards H.264/AVC, H.263 oder MPEG-4 Visual kodierten Videoeinzelbildes, wobei das künstlich kodierte erste Datenpaket einen Teil eines Videoeinzelbildes umfasst, das aus übersprungenen Makroblöcken (skipped macroblocks) zusammengesetzt wird. Diese Ausführungsform liegt vor, wenn jedes Datenpaket des Videodatenstroms ein nach einem der Videokodierungsstandards H.264/AVC, H.263 oder MPEG-4 Visual kodiertes Videoeinzelbild umfasst, wobei das künstlich kodierte erste Datenpaket ein Videoeinzelbild umfasst, das aus übersprungenen Makroblöcken zusammengesetzt wird. Die übersprungenen Makroblö- cke können bei dem Videokodierungsstandard H.264/AVC durch Setzen des Makroblockmodus zu„skip" erzeugt werden. Die Referenz dieser übersprungenen Makro- blöcke ist das erste Videoeinzelbild der Referenzbildliste oder ein anderes bereits kodiertes Videoeinzelbild. Bewegungsvektoren und Prädiktionsfehlertransformati- onskoeffizienten, abgekürzt auch Transformationskoeffizienten genannt, werden von dem ersten Einzelbild der Referenzbildliste nicht auf die übersprungenen Makroblö- cke übertragen. Dadurch wird die erforderliche Speichergröße für die künstlichen kodierten Einzelbilder im Vergleich zur erforderlichen Speichergröße des ersten Videoeinzelbildes der Referenzbildliste reduziert. Ein Deblocking-Filter in der Dekodierschleife wird bevorzugt während des Generierens des künstlichen kodierten ersten Datenpakets abgeschaltet um die Schaffung eines Datenpaketes mit einem Dateninhalt von hoher Qualität im Vergleich zu der Qualität des Dateninhaltes des zweiten Datenpaketes zu gewährleisten.
Das künstlich kodierte erste Datenpaket (Ρ2') umfasst vorteilhaft einen Teil eines Videoeinzelbildes (Β2'), das als Nichtreferenzeinzelbild oder als Referenzeinzelbild eingefügt wird. Diese Ausführungsform umfasst den Fall, dass das künstlich kodierte erste Datenpaket ein Videoeinzelbild umfasst, das als Nichtreferenzeinzelbild eingefügt wird. Selbst wenn das eingefügte künstlich kodierte Einzelbild keine Kopie hoher Qualität des ursprünglichen Bildes ist, tritt bei dem dem künstlich kodierten ein- gefügten Einzelbild nachfolgenden Einzelbild keine Verschlechterung der Bildqualität ein, da sich die Prädiktion dieses Einzelbildes nicht durch die Einfügung des künstlich kodierten Einzelbildes verändert. Zudem muss die Prädiktionsstruktur bei Einfügung eines Nichtreferenzbildes nicht geändert werden. Weiter geht bei einem vollständig gefüllten Referenzbildpuffer, der die Referenzbildliste enthält, durch das Einfügen des künstlich kodierten Einzelbildes kein Referenzbild verloren, da das neu eingefügte Bild B2' nicht in dem Referenzbildpuffer gespeichert wird. Beim Videomischen ist es von Vorteil, wenn das kodierte erste Datenpaket ein Videoeinzelbild umfasst, das als Referenzeinzelbild eingefügt wird. So kann beispielsweise durch Einfügen eines zusätzlichen Referenzeinzelbildes in eine erste Bildfolge eines Vi- deodatenstroms die Prädiktionsstruktur dieses Datenstroms an eine vorhandene weitere Prädiktionsstruktur eines zweiten Videodatenstroms, der mit dem ersten Videodatenstrom gemischt werden soll, angepasst werden.
In einer bevorzugten Variante der Erfindung, in der der kodierte Datenstrom ein Vi- deodatenstrom ist, umfasst das aus dem Videodatenstrom entfernte vierte Datenpaket einen Teil eines Nichtreferenzeinzelbildes. Diese Ausführungsform umfasst den Fall, dass das aus dem Videodatenstrom entfernte vierte Datenpaket ein Nichtreferenzeinzelbild umfasst. Bei Entfernen eines Datenpaketes aus dem Datenstrom, das ein Nichtreferenzeinzelbild umfasst, wird die Prädiktionsstruktur der im Datenstrom verbleibenden Datenpakete nicht verändert. Für den Fall einer linearen Prädiktionsstruktur wird vorteilhaft lediglich ein Datenpaket mit einem Teil des letzten Videoeinzelbildes einer Bildersequenz (Group of Pictures) aus dem Videodatenstrom entfernt, wobei der Fall umfasst ist, bei dem lediglich ein Datenpaket mit dem letzten Videoeinzelbild einer Bildersequenz (Group of Pictures) aus dem Videodatenstrom entfernt wird. Falls ein Datenpaket lediglich einen Teil des letzten Videoeinzelbildes einer Bildersequenz (Group of Pictures) umfasst, ist es von Vorteil, dass sämtliche Datenpakete aus dem Videodatenstrom entfernt werden, die lediglich einen Teil des letzten Videoeinzelbildes einer Bildersequenz (Group of Pictures) umfassen. Für den Fall einer hierarchischen Prädikti- onsstruktur ist es von Vorteil, ein Datenpaket mit einem Teil eines Videoeinzelbildes aus der untersten zeitlichen Ebene aus dem Videodatenstrom zu entfernen, wobei der Fall umfasst ist, bei dem ein Datenpaket mit einem Videoeinzelbild aus der untersten zeitlichen Ebene aus dem Videodatenstrom entfernt wird. Falls ein Datenpaket lediglich einen Teil eines Videoeinzelbildes aus der untersten zeitlichen Ebene umfasst, ist es von Vorteil, dass sämtliche Datenpakete aus dem Videodatenstrom entfernt werden, die lediglich einen Teil eines Videoeinzelbildes aus der untersten zeitlichen Ebene umfassen.
Die Funktion eines adaptiven Jitter-Puffer wird in einer weiteren vorteilhaften Aus- gestaltung der Erfindung ausgeführt, wenn das Einfügen und Entfernen von Datenpaketen dynamisch erfolgt.
Vorteile ergeben sich insbesondere bei der Anpassung der Abtastfrequenz zweier Videodatenströme beim Videomischen dadurch, dass die zeitlichen Sollabstände eines zweiten Videodatenstroms den zeitlichen Abständen zwischen aufeinander folgenden kodierten Einzelbildern eines ersten Videodatenstrom dadurch entsprechen, dass ein erstes Videoeinzelbild des künstlich kodierten ersten Datenpakets des zweiten Videodatenstroms mit einem ersten Videoeinzelbild eines kodierten Datenpakets des ersten Videodatenstroms zu einem Videoeinzelbild gemischt wird. So wird in vorteilhafter Weise für den Fall, dass der zweite Videodatenstrom eine niedrigere Abtastfrequenz als der erste Videodatenstrom aufweist, das künstlich kodierte erste Videoeinzelbild derart in den zweiten Videodatenstrom mit der gegenüber dem ersten Videodatenstrom niedrigeren Abtastfrequenz eingefügt, dass der zweite Videodatenstrom mit dem eingefügten künstlich kodierten ersten Videoeinzelbild die Abtastfrequenz des ersten Videodatenstroms aufweist.
Die Erfindung betrifft weiter eine Vorrichtung, insbesondere zur Durchführung des Verfahrens eines der Ansprüche 1 bis 13, zur Modifikation eines kodierten Datenstroms aus Datenpaketen, von denen jedes Datenpaket eine Information umfasst, wobei die Informationen aufeinander folgender Datenpakete zeitliche Abstände von- einander aufweisen, die von zeitlichen Sollabständen abweichen und die auf die zeitlichen Sollabstände einstellbar sind, wobei die Vorrichtung Mittel zum Einfügen eines künstlichen kodierten ersten Datenpakets zeitlich nach einem zweiten Datenpaket in den kodierten Datenstrom in der kodierten Domäne, und/oder Mittel zum Entfernen eines im kodierten Datenstrom vorhandenen vierten Datenpakets (P4) aus dem kodierten Datenstrom in der kodierten Domäne umfasst.
Bevorzugt ist der Vorrichtung ein Jitter Buffer vorgeschaltet, in den die kodierten Datenpakete zwischenspeicherbar sind, wobei die Mittel zum Einfügen des künstlichen kodierten ersten Datenpakets in den kodierten Datenstrom und/oder zum Ent- fernen des vierten Datenpakets aus dem kodierten Datenstrom so ausgebildet sind, dass die Anzahl der in dem Jitter Buffer (JB) zwischengespeicherten Datenpakete (PI, P2, P3, P4, P5) einstellbar ist. Mit einer solchen Vorrichtung kann ein Überlauf im Jitter Buffer, der zu einer erhöhten Gesamtverzögerung des Datenstroms führt, sowie ein Unterlauf des Jitter Buffer, der zur Folge hat, dass kein Datenpaket zum Einfügen oder Entfernen zur Verfügung steht, vermieden werden.
Weitere Ausführungsbeispiele sowie Vorteile der Erfindung werden nachfolgend anhand der Figuren erläutert. Zur besseren Anschaulichkeit wird in den Figuren auf eine maßstabs- oder proportionsgetreue Darstellung verzichtet. In den Figuren be- zeichnen, sofern nicht anders angegeben, gleiche Bezugszeichen gleiche Bauteile mit gleicher Bedeutung. Es zeigen: Fig. 1 zeitliche Verläufe von kodierten Datenpakten auf einem Übertragungsweg von einem Sender an einen Empfänger vor Eintritt in ein Netzwerk und nach Austritt aus dem Netzwerk,
Fig. 2 zeitliche Verläufe von kodierten Datenpaketen auf einem Übertragungsweg von einem Sender an einen Empfänger vor Eintritt in ein Netzwerk, nach Austritt aus dem Netzwerk und nach Austritt aus einem Jitter Buffer, und Fig.3 zeitliche Verläufe von kodierten Datenpaketen auf einem Übertragungsweg von einem Sender an einen Empfänger vor Eintritt in ein Netzwerk, nach Austritt aus dem Netzwerk und nach Austritt aus einem Transcoder, der einen Decoder, einen Bildspeicher und einen Encoder umfasst, und Fig. 4 einen Übertragungsweg von einem Sender an einen Empfänger, bei dem nach Austritt der kodierten Datenpakete aus einem Netzwerk vor Eintritt in den in Fig. 3 gezeigten Transcoder ein Jitter Buffer im Übertragungsweg angeordnet ist, und
Fig. 5 zeitliche Verläufe von kodierten Datenpaketen auf einem Übertragungsweg von einem Sender zu einem Empfänger vor Eintritt in ein Netzwerk, nach Austritt aus dem Netzwerk, und nach Austritt aus einer Vorrichtung zur Kompensation von Jitter in der kodierten Domäne in einer ersten Ausführungsform der Erfindung, und
Fig. 6 einen Übertragungsweg von kodierten Datenpaketen von einem Sender an einen Empfänger, wobei die kodierten Datenpakete nach Austritt aus dem Netzwerk und vor Eintritt in die Vorrichtung zur Kompensation von Jitter in der kodierten Domäne einen Jitter Buffer durchlaufen, der im Übertragungsweg zwischen dem Netzwerk und der Vorrichtung zur Kompensation von Jitter in der kodierten Domäne angeordnet ist, in einer weiteren Ausführungsform der Erfindung und Fig. 7 einen Vergleich der zeitlichen Verläufe der kodierten Datenpakete vor Eintritt in das Netzwerk und nach Austritt aus dem in Fig. 2 gezeigten Jitter Buffer, nach Austritt aus dem in Fig. 3 und Fig. 4 gezeigten Transcoder und nach Austritt aus der in Fig. 5 und Fig. 6 gezeigten Vorrichtung zur Kompensation von Jitter in der ko- dierten Domäne, und
Fig. 8 schematische Abfolgen von vorausberechneten Bildern vor einem Einfügen, nach einem Einfügen als Referenzbild und nach einem Einfügen als Nichtreferenzbild bei einer linearen Prädiktionsstruktur, und
Fig. 9 schematische Abfolgen von vorausberechneten Bildern vor dem Einfügen und nach dem Einfügen bei einer hierarchischen Prädiktionsstruktur, und
Fig. 10 schematische Abfolgen vorausberechneter Bilder vor einem Entfernen und nach einem Entfernen aus einer linearen Prädiktionsstruktur, und
Fig.11 schematische Abfolgen vorausberechneter Bilder vor einem Entfernen und nach einem Entfernen aus einer hierarchischen Prädiktionsstruktur, und Fig. 12 eine schematische Anordnung aus einer Mischung kodierter Makroblöcke, wobei Makroblöcke aus einem ersten Videodatenstrom mit übersprungenen Makro- blöcken aus einem zweitem Videodatenstrom gemischt sind, und
Fig. 13 schematische Abfolgen vorausberechneter Bilder eines ersten Videodaten- Stroms und eines zweiten Videodatenstroms vor einem Resampeln und Mischen und nach dem Resamplen und Mischen.
Anhand der Figur 1 wird nun das Auftreten von Jitter erläutert. Vorbekannte Beispiele für Verfahren zur Kompensation von Jitter eines Datenstroms sind in Fig. 2, 3 und 4 dargestellt. Ausführungsbeispiele der Erfindung werden anhand der Figuren 5 bis 13 beschrieben. Das Auftreten von Jitter, der durch unterschiedliche Laufzeiten unterschiedl icher Datenpakete beim Durchlaufen durch ein Netz oder Netzwerk entstehen, wird am Beispiel eines Übertragungsweges von kodierten Datenpaketen von einem Sender an einen Empfänger erläutert. Kodierte Datenpakte PI, P2, P3, P4, P5 eines kodierten Datenstroms werden von einer Sendeeinrichtung, im Folgenden ab- gekürzt Sender S genannt, nach Durchlaufen eines Netzes oder Netzwerkes N an eine Empfangseinrichtung, im Folgenden abgekürzt Empfänger R genannt, übertragen. Die Datenpakete PI, P2, P3, P4, P5 können Information unterschiedlichen Inhaltes umfassen. Mögliche von den Datenpaketen umfasste Informationen sind Audioinformationen, Bild- oder Videoinformationen, wobei prinzipiell jede Art von zeitlich aufeinander folgenden Informationen von den Datenpaketen umfasst sein kann. Videoinformationen können insbesondere in Form von Einzelbildern vorliegen. Der Einfachheit halber wird im Folgenden angenommen, dass die Informationen aufeinander folgender Datenpakete PI, P2, P3, P4, P5 zeitliche Sollabstände voneinander aufweisen, die den zeitlichen Sollabständen dl aufeinander folgender Datenpakete PI, P2, P3, P4, P5 entsprechen. Die Annahme gilt beispielsweise, wenn jedes Datenpaket ein Videoeinzelbild umfasst. Andere Aufteilungen von Videoeinzelbildern auf Datenpakete PI, P2, P3, P4, P5, beispielsweise der Fall, bei dem ein Videoeinzelbild auf mehrere Datenpakete PI, P2, P3, P4, P5 aufgeteilt ist, sind von den nachfolgenden Ausführungsformen der Erfindung umfasst. Eine Aufteilung ei- nes Videoeinzelbildes auf mehrere Datenpakete ist vorteilhaft, wenn eine festgelegte Speichergröße für die Information des Datenpaketes in einem Netzwerk nicht überschritten werden darf und die Speichergröße eines Videoeinzelbildes die festgelegte Speichergröße übersteigt. Vor dem Eintreten der Datenpakete in das Netzwerk N am Ort a ist in Fig. 1 die zeitliche Abfolge der Datenpakete PI , P2, P3, P4, P5 auf einer Zeitskala t(a) dargestellt. Bei dem in Fig. 1 gezeigten Beispiel sendet der Sender S die Datenpakete mit einem zeitlichen Sollabstand dl zwischen aufeinanderfolgenden Datenpaketen aus. Für den Fall einer Videoübertragung beträgt der zeitliche Abstand zwischen aufeinanderfol- genden Datenpaketen den reziproken Wert der Abtastfrequenz, auch„sampling frequency" genannt, wobei angenommen ist, dass ein Videoeinzelbild von jeweils einem Datenpaket PI, P2, P3, P4, P5 umfasst ist und eine konstante Datenpaketlän- ge, die dem zeitlichen Abstand zwischen aufeinander folgenden Datenpaketen entspricht, vorhanden ist: Packet = 1 fs mit paket = zeitlicher Abstand zwischen aufeinander folgenden Datenpaketen und fs = Abtastfrequenz. Nach Durchlaufen des Netzwerkes weisen die Datenpakete PI, P2, P3, P4, P5 am Ort b vor dem Eintreffen beim Empfänger R eine zeitliche Abfolge auf, bei der die Datenpakete P3 und P4 gegenüber den Datenpakten PI und P2 verzögert sind. Das Datenpaket P3 weist aufgrund einer erhöhten Verzögerung beim Durchlaufen des Netzwerkes N gegenüber den Datenpaketen PI und P2 eine Position auf, die um den zeitlichen Abstand d3 gegenüber seiner vorgesehenen Position t3 im vorgesehenen zeitlichen Abstand, auch Sollabstand genannt, dl verschoben ist. Das Datenpaket P4 ist um den zeitlichen Abstand d4 gegenüber seiner vorgesehenen Position t4 verschoben, die um zwei vorgesehene zeitliche Abstände dl von der Position des Datenpaktes P2 beabstandet ist. Damit weist das Datenpaket P3 zu seiner vorgesehenen zeitlichen Position eine zeitliche Verzögerung d3 und das Datenpaket P4 zu seiner zeitlichen Position eine Verzögerung d4 auf. Das Datenpaket P5 weist zu der vorgesehenen zeitlichen Position t4 des Datenpaketes P4 den vorgesehenen zeitlichen Abstand dl auf. Daher ist der vorgesehene zeitliche Abstand dl zwischen dem Datenpaket P4 und dem Datenpaket P5 um die Verzögerung d4 des Datenpaketes P4 ver- ringert. Die Datenpakete P3 und P4 haben ihre relative zeitliche Koppelung gegenüber den vorhergehenden Datenpaketen PI und P 2 und gegenüber dem nachfolgenden Datenpaket P5 während der Übertragung durch das Netzwerk N verloren. Falls die Datenpakete PI, P2, P3, P4, P5 Videodatenpakete repräsentieren, führt eine De- kodierung und Wiedergabe ohne entsprechende Maßnahmen zur Kompensation der unterschiedlichen Laufzeiten der Datenpakete PI, P2, P3, P4, P5 zu einer flackern- den und ruckelnden Wiedergabe des Videos, dessen Informationen die Videopakete umfassen.
Ohne auf eine Verallgemeinerung der in Fig. 1 dargestellten zeitlichen Verhältnisse zu verzichten, ist bei dem Beispiel, das in Fig. 1 dargestellt ist, zur einfachen Erklärung des Jitter angenommen, dass der zeitliche Abstand zwischen aufeinanderfolgenden Datenpakten konstant ist und die Paketlänge eines jeden Datenpaktes PI, P2, P3, P4, P5 konstant ist. Es ist jedoch nicht erforderlich, dass die Datenpakete einen gleichen zeitlichen Abstand oder eine konstante Paketlänge aufweisen. Stattdessen können die Datenpakete beliebige zeitliche Abstände voneinander und beliebige Paketlängen aufweisen, sofern die unterschiedlichen zeitlichen Abstände der Datenpakete zueinander und die dann unterschiedlichen Paketlängen der Datenpakete bestimmt sind. Bei im und/oder vom Sender S bestimmten zeitlichen Abständen zwischen aufeinander folgenden Datenpaketen und bestimmten Paketlängen ist es dem Empfänger R möglich, nach einer Dekodierung der vom Sender an den Empfänger übertragenen Datenpakete PI, P2, P3, P4, P5 diese Datenpakete ohne eine flackernde und ruckelnde Wiedergabe, die auch als Jitter bezeichnet wird, wiederzugeben.
In Figur 2 ist ein erstes vorbekanntes Verfahren zur Kompensation eines Jitters auf- grund unterschiedlicher Laufzeiten unterschiedlicher Datenpakete beim Durchlaufen durch ein Netzwerk, auch„Verzögerungsjitter" genannt dargestellt. Zwischen dem Sender S und dem Empfänger R ist ein Jitter Buffer JB angeordnet, wobei die Datenpakete PI, P2, P3, P 4, P5 nach dem Austritt aus dem Netzwerk N und vor dem Eintritt in den Empfänger R den Jitter Buffer JB durchlaufen. Nach Austritt aus dem Netzwerk N und vor Eintritt der Datenpakte PI, P2, P3, P4, P5 in den Jitter Buffer JB weisen die Datenpakete P3 und P4 jeweils einen zeitlichen Abstand d3, d4 zu ihren vorgesehenen zeitlichen Positionen t3, t4, wie in Fig. 1 dargestellt, auf. In dem Jitter Buffer JB, der für Datenpakete mit Audio-, Bild-, oder Videoinformationen verwendet wird, werden die in dem Jitter Buffer JB eintretenden Datenpakete PI, P2, P3, P4, P5 für eine spezifische Dauer, auch Pufferverzögerung genannt, gespeichert. Durch die Speicherung der Datenpakete für eine bestimmte Dauer ist es mög- lich, die Datenpakete PI, P2, P3, P4, P5 in der vorgesehenen zeitlichen Abfolge mit dem zeitlichen Abstand dl zwischen aufeinander folgenden Datenpaketen an den Empfänger R zu versenden. Auf diese Weise wird die vorgesehene zeitliche Abfolge mit dem vorgesehenen zeitlichen Abstand dl zwischen aufeinander folgenden Da- tenpaketen hergestellt.
Ein Nachteil dieses in Fig. 2 gezeigten Verfahrens liegt in der mit dem Jitter Buffer JB einhergehenden Verzögerung der Datenpakete. Falls unterschiedliche Datenströme, die jeweils Datenpakete PI, P2, P3, P4, P5 umfassen und denen jeweils ein Jitter Buffer JB zugewiesen ist, gemischt werden sollen, werden die Datenpakte, die den Jitter Buffer JB durchlaufen haben, um einen Wert verzögert, der dem
Verzögerungsj itter des Datenstroms mit dem höchsten Verzögerungsj itter entspricht. Daher wird die Verzögerung sämtlicher zu mischender Datenpakete auf den Wert erhöht, den der Datenstrom mit dem höchsten Verzögerungsj itter aufweist. Die Folge ist eine Verzögerung der Datenpakete sämtlicher anderer eingehender Datenströme auf die Verzögerung, die mit dem Datenstrom mit dem höchsten Verzögerungsj itter einhergeht. In Echtzeitanwendungen wie beispielsweise Audio- oder Videokonferenzanwendungen behindert der hohe Grad an Verzögerung der Datenpakete aufgrund des Videodatenstroms mit dem höchsten Verzögerungsj itter die Kommunika- tion zwischen den Teilnehmern der Audio- oder Videokonferenz.
Eine speziell für Videoanwendungen vorgesehene weitere vorbekannte Lösung zur Korrektur unterschiedlicher Verzögerungen von unterschiedlichen Datenpaketen beim Durchlaufen der Datenpakte durch ein Netzwerk N ist in Fig. 3 dargestellt. Wie in Fig. 1 und Fig.2 dargestellt, weisen die Datenpakte P3 und P4 jeweils eine zeitliche Verzögerung d3, d4 zu ihren vorgesehenen zeitlichen Positionen t3, t4 nach Durchlaufen durch das Netzwerk N auf. Nach Durchlaufen des Netzwerkes N und vor dem Eintreffen bei dem Empfänger R durchlaufen die Datenpakete PI, P2, P3, P4, P5 einen Transcoder TR, der einen Decoder DE, einen Bildspeicher PB und einen Encoder EN umfasst. Bei dem in Fig. 3 gezeigten Beispiel ist angenommen, dass jedes der Datenpakete PI, P2, P3, P4, P5 jeweils ein Videoeinzelbild umfasst, dass die zum Abspielen eines Videodatenstroms erforderliche Information dieses Videoeinzelbildes umfasst. Bei dem in Fig. 3 gezeigten Verfahren zur Bearbeitung von Videodatenströmen werden die in den Transcoder TR eintretenden Videodaten in dem Decoder DE dekodiert, nachfolgend in dem Bildspeicher PB zwischenge- speichert und nachfolgend in dem Encoder EN kodiert. Nach dem Dekodieren, dem Zwischenspeichern, und Kodieren der einzelnen Videoeinzelbilder, die jeweils einzeln in jeder der Datenpakete PI, P2, P3, P4, P5 enthalten sind, liegen diese Videoeinzelbilder in Form von dekodierten und nachfolgend erneut kodierten Einzelbildern in den Datenpaketen PI*, P2*, P3*, P4*, P5* vor. Die Dekodierung im Deco- der DE, die Zwischenspeicherung im Bildspeicher PB und die Kodierung im Encoder EN wird bei den in Fig. 3 gezeigten Datenpaketen durch einen Stern * angezeigt. Zu dem Zeitpunkt, zu dem die Datenpakete PI*, P2* zu kodieren sind, liegen in dem Decoder EN die ursprünglichen, den Datenpaketen PI* und P2* entsprechenden Datenpakete PI und P2 bereits in dekodierter Form vor und stehen im Bildspeicher PB zur Kodierung zur Verfügung. Aufgrund der zeitlichen Verzögerung d3 des Datenpaktes P3 zu seiner vorgesehenen zeitlichen Position t3 liegt zum Zeitpunkt der Kodierung des Datenpaketes P3* das dekodierte Datenpaket P3, genauer gesagt das dekodierte Bild, das von Paket 3 umfasst ist, nicht im vorgesehenen zeitlichen Abstand dl zu dem Datenpakt P2 vor. Daher wird der Inhalt des Datenpaketes P2 ein weiteres Mal kodiert als Datenpaket P2**, weil im Gegensatz zu Datenpaket P3 das Datenpaket P2 zum Zeitpunkt der zur Einhaltung des vorgesehenen zeitlichen Ab- standes dl erforderlichen Kodierung des Datenpaketes, das auf das Datenpaket P2 folgt, im Bildspeicher PB gespeichert ist. In ähnlicher Weise zu dem Datenpaket P3 steht auch die dekodierte Version Datenpaketes P4 nicht rechtzeitig zur Kodierung zur Verfügung. Daher wird der Dateninhalt des Datenpaketes P3, das nach Austritt des Datenpakets P2** aus dem Encoder EN im Bildspeicher PB vorliegt, in Form des Datenpaktes P3* kodiert. Abschließend wird das Datenpaket P5* kodiert, nachdem das dekodierte Datenpaket P5 rechtzeitig zur Kodierung zur Verfügung steht. Der Dateninhalt des Datenpaktes P4 wird nicht erneut kodiert und an den Empfänger R weitergeleitet. Wie am Ort e vor dem Eintreffen beim Empfänger R in Fig. 3 dargestellt, weisen die Datenpakete PI*, P2*, P2**, P3*, P5* den vorgesehenen zeitli- chen Abstand dl voneinander auf, wobei der Dateninhalt des Datenpaketes P2 zweimal und der Dateninhalt des Paketes P4 nicht im zeitlichen Verlauf t (e) vorhanden sind. Zwar kann aufgrund der zweifachen Darstellung des Dateninhaltes des Datenpakets P2 und der fehlenden Darstellung des Dateninhaltes des Datenpaketes P4 eine flackernde und ruckelnde Wiedergabe in Form eines Jitters bei der Wiedergabe des Videodatenstroms, der die in den Datenpaketen PI, P2, P3, P4, P5 enthaltenden Einzelbilder umfasst, in geringen Umfang auftreten. Allerdings wird durch das in Fig. 3 dargestellte Verfahren mittels Transcoder TR die Gesamtübertragungs- verzögerung der Datenpakete zwischen dem Sender S und dem Empfänger R nach Durchlaufen der Datenpakete durch den Transcoder TR verringert im Vergleich zu dem in Fig. 2 gezeigten Verfahren mittels Jitter Buffer JB.
Das in Fig. 3 dargestellte Verfahren mittels Transcoder TR wird in Multipoint- Konferenzeinheiten (multipoint Conference unit: MCU) verwendet, in denen eine Vielzahl von Videoeingangsdatenströmen zu mischen sind. Die Mischung der Ein- gangsvideodatenströme erfolgt durch ein Dekodieren sämtlicher Eingangsvideoda- tenströme, einem Mischen dieser Videoeingangsdatenströme in der unkomprimierten Pixeldomäne und durch Kodieren der neu angeordneten Videoeinzelbilder. Zusätzlich kann vor dem Mischen der Eingangsvideodatenströme in der unkomprimierten Pixeldomäne vorgesehen sein, dass die dekodierten Videoeinzelbilder der Eingangsvideodatenströme skaliert werden. Falls ein erster Videodatenstrom ein aktuelles Videoeinzelbild aufgrund von Verzögerungsjitter zur rechtzeitigen Mischung mit dem videoeinzelbild eines zweiten Videodatenstroms nicht enthält, wird das dem fehlenden aktuellen Videoeinzelbild des ersten Videodatenstroms vorhergehende Videoeinzelbild dieses Videodatenstroms, das bereits nach der Dekodierung im Bildspeicher PB gespeichert ist, zur Mischung und Kodierung verwendet. Falls aufgrund einer mehrfachen Kodierung eines Videoeinzelbildes zwei oder mehr Einzelbilder des Eingangsvideodatenstroms in dekodierter Form im Transcoder TR vorliegen, bevor ein weiteres kodiertes Videoeinzelbild den Encoder EN verlässt, wird das zu- letzt im Decoder DE dekodierte Einzelbild, das im Bildspeicher PB gespeichert ist, für die Kodierung verwendet, wobei das andere dekodierte Einzelbild (oder die wei- teren anderen dekodierten Einzelbilder) im Decoder DE vernachlässigt wird (werden).
Das Verfahren mittels Transcoder TR zur Korrektur von Verzögerungsjitter weist im Wesentlichen die folgenden Nachteile auf:
Das Transkodieren ist bei vollständiger Dekodierung und Kodierung sämtlicher Datenpakete des Videodatenstroms oder der Videodatenströme bezüglich der erforderlichen Rechenleistung aufwändig. Zur Ausführung des Verfahrens mittels Transcoder TR ist daher kostspielige Hardware, die dem Verfahren zum Dekodieren und Kodieren zuzuordnen ist, in den meisten Fällen erforderlich.
Die Qualität der übertragenen Daten des Videodatenstroms wird durch das Transkodieren reduziert, weil für die Kodierung lediglich bereits beim Durchlaufen des Netzwerks N qualitativ reduzierter Dateninhalt und nicht der ursprüngliche Dateninhalt der Datenpakete mit den Einzelbildern des Videodatenstroms verwendet werden kann.
Aufgrund des Transkodierens mit einer Vielzahl von signalverarbeitenden Schritten wird eine zusätzliche Verzögerung in den Videodatenstrom einge bracht.
Fig. 4 zeigt einen Übertragungsweg vom Sender S zum Empfänger R eines weiteren vorbekannten Beispiels zur Kompensation von Jitter, bei dem nach Austritt der kodierten Datenpakete aus dem Netzwerk N am Ort b vor Eintritt in den in Fig. 3 gezeigten Transcoder TR ein Jitter Buffer JB im Übertragungsweg der Datenpakte angeordnet ist. Bei der in Fig. 3 gezeigten Anordnung von Jitter Buffer JB und nachgeschalteten Transcoder TR zwischen dem Netzwerk N und dem Empfänger R werden die in den Figuren 2 und 3 geschilderten Verfahren zur Korrektur von
Verzögerungsjitter miteinander kombiniert. Bei dem in Fig. 4 gezeigten Beispiel kann eine Warteschlangenverzögerung (queuing delay) in dem Jitter Buffer JB durch die Verwendung des Transcoders TR gesteuert werden. Die Steuerung der Warteschlangenverzögerung geschieht durch ein Überspringen des Kodierens von Einzelbildern im Bildspeicher PB oder durch mehrfaches Kodieren von gleichen Einzelbil- dem im Encoder EN. Durch das Überspringen des Kodierens von Einzelbildern im Bildspeicher PB wird die Warteschlangen Verzögerung verringert. Durch ein mehrfaches Kodieren gleicher Bilder wird die Warteschlangen Verzögerung im Jitter Buffer JB erhöht. Als Warteschlangenverzögerung wird die Dauer eines Datenpaketes angesehen, die dieses Datenpaket im Durchschnitt im Jitter Buffer JB verbleibt, bevor es aus dem Jitter Buffer JB austritt. Die Warteschlangen Verzögerung ist angenähert die Dauer, die zur Wiedergabe der in dem Jitter Buffer JB gespeicherten Datenpakete erforderlich ist.
In Fig. 5 sind zeitliche Verläufe t(a), t(b), t(f) von kodierten Datenpaketen PI, P2, P3, P4, P5 auf einem Übertragungsweg vom Sender S zu einem Empfänger R nach einer ersten Ausführungsform der Erfindung dargestellt. Nach Austritt aus dem Netzwerk N und vor Eintritt in den Empfänger R durchlaufen die Datenpakete eine Vorrichtung zur Kompensation von Jitter in der kodierten Domäne, wobei die kodierte Domäne der Datenpakete auch komprimierte Domäne genannt wird. Nach dem Austritt der Datenpakete aus dem Netzwerk N und vor dem Eintritt der Datenpakete in den Empfänger R werden die Datenpakete durch die Vorrichtung zur Kompensation von Jitter in der kodierten Domäne (Compressed Domain Dejittering: CDD) in der komprimierten Domäne, also der kodierte Datenstrom mit seinen kodierten Datenpaketen, von Verzögerungsjitter befreit. Das in Fig. 5 dargestellte Verfahren, sowie die in Fig. 5 dargestellte Anordnung wird nun anhand von Datenpaketen eines Videodatenstroms erläutert. Falls ein aktuelles Videoeinzelbild zur Versendung der Datenpakete PI, P2, P3, P4, P5 gemäß einem vorgegebenen zeitlichen Ras- ter mit zeitlichen Sollabstand dl zwischen aufeinander folgenden Datenpakten nicht zur Verfügung steht, wird ein künstliches kodiertes Videoeinzelbild in Form eines oder mehrerer künstlicher kodierter Datenpakte in den kodierten Videodatenstrom eingefügt. Das künstliche kodierte Videoeinzelbild referenziert auf das diesem Einzelbild vorhergehende Einzelbild und wiederholt den Dateninhalt dieses vorhergehenden Einzelbildes. Bei dem Videokodierungsstandard H.264/AVC kann das künst- liehe kodierte Videoeinzelbild durch Zusammensetzen von sogenannten übersprungenen Makroblöcken (skipped macroblocks) erzeugt werden. Die übersprungenen Makroblöcke werden bei dem Videokodierungsstandard H.264/AVC durch Setzen des Makroblockmodus zu„skip" erzeugt. Die Referenz dieser übersprungenen Makroblöcke ist das erste Videoeinzelbild der Referenzbildliste oder ein anderes bereits kodiertes Videoeinzelbild. Bewegungsvektoren und Prädiktionsfehlertransformati- onskoeffizienten, abgekürzt auch Transformationskoeffizienten genannt, werden für die übersprungenen Makroblöcke nicht übertragen. Dadurch wird die Speichergröße der künstlichen kodierten Einzelbilder im Vergleich zur Speichergröße des ersten Videoeinzelbildes der Referenzbildliste reduziert. Die Bewegungsvektoren für die übersprungenen Makroblöcke werden mittels zu den übersprungenen Makroblöcken benachbarter Makroblöcke berechnet, die zeitlich vor den übersprungenen Makroblöcken kodiert sind. Da sämtliche Makroblöcke in dem Videoeinzelbild den„skip"- Modus aufweisen, werden die Bewegungsvektoren bei dieser Berechnung zu Null gesetzt. Übersprungene Makroblöcke sind neben dem Videokodierungsstandard H.264/AVC ebenfalls in den Videokodierungsstandards H.263 und MPEG-4 Visual definiert. Allerdings sind die übersprungenen Makroblöcke der Videokodierungsstandards H.263 und MPEG-4 Visual nicht bewegungskompensiert. Bei einer Verwendung der Vorrichtung zur Kompensation von Jitter in der kodierten Domäne sollte zur Herstellung einer perfekten Kopie des vorhergehenden Einzelbildes ein Deblockingfilter in der Dekodierschleife ausgeschaltet sein. Dies kann implizit durch den Algorithmus festgelegt sein oder explizit signalisiert werden. Anstelle eines Videodatenstroms können mit der Vorrichtung zur Kompensation von Jitter in der kodierten Ebene CDD auch Audio-Datenströme, Bilderdatenströme oder eine andere Art von zeitlich aufeinander folgender Information verarbeitet werden. Bei dem in Fig. 5 dargestellten Ausführungsbeispiel stehen die Datenpakte PI und P2 rechtzeitig zur Verfügung und werden ohne weitere Modifikation beim Durchlaufen der Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD an den Empfänger R weitergeleitet. Das Datenpaket P3 trifft aufgrund der zeitlichen Verzögerung d3 zu seinem vorgesehenen Zeitpunkt t3 verzögert bei der Vorrichtung zur Kompensation von Jitter in der kodierten Ebene CDD ein. Daher wird das Datenpaket P2' als Kopie des Datenpaktes P2 unter Verwendung übersprungener Mak- roblöcke kodiert. Das künstliche kodierte Datenpaket P2' sollte nicht in die Referenzbildliste eingefügt werden um zu vermeiden, dass vorhandene Referenzbilder aus der Referenzbildliste entfernt werden. Anschließend wir das Datenpaket P3 ohne Änderung des Datenpaketes P3 durch die Vorrichtung zur Kompensation von Jitter in der kodierten Ebene CDD an den Empfänger R weitergeleitet. Bei dem in Fig. 5 gezeigten Verfahren unter Verwendung der Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD sind Modifikationen der Videokodierungselemente eines künstlich kodierten Datenpaketes des Videodatenstroms, beispielsweise kodierte Transformationskoeffizienten, Modusinformationen und Bewegungsvektoren, nicht erforderlich. Es wird lediglich Syntax auf hoher Ebene modifiziert, beispielsweise die Bildfolgenummer des Datenpakets. Das Real-Time Transport Protocol (RTP) verwendet Bildfolgenummern zur Detektion eines Verlustes von Datenpake- ten. Diese Bildfolgenummern sollten daher umgeschrieben werden. Dieses geschieht automatisch, wenn die Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD als RTP-Mischer verwendet wird und hierbei die RTP-Sitzung des Senders S terminiert. Falls das Datenpaket P5 hinsichtlich seines Dateninhaltes Abhängigkeiten vom Dateninhalt des Datenpaketes P4 aufweist, wird bei dem zeitli- chen Verlauf t(f) am Ort f nach Austritt der Datenpakete aus der Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD das Datenpakt P4 nicht aus dem Datenstrom entfernt wie in Fig. 5 gezeigt, sondern weitergeleitet, da ansonsten das Datenpaket P5 nicht im Empfänger R dekodiert werden könnte. Falls keine Abhängigkeiten des Datenpaketes P5 von dem Datenpaket P4 vorhanden sind, wird anstelle des Datenpaketes P4 das Datenpaket P5 beim Durchlaufen des Datenpaketes P5 durch die Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD zur Reduzierung der Übertragungsverzögerung des Datenstroms weitergeleitet. Durch die Nichtweiterleitung des Datenpaketes P4 wird das Datenpaket P4, wie ein Vergleich der zeitlichen Verläufe vor Eintritt in die Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD am Ort b und nach dem Austritt der Da- tenpakete aus der Vorrichtung zur Kompensation von Jitter in der kodierten Ebene CDD am Ort f zeigt, übersprungen. Durch ein Überspringen des ersten Nichtreferenzeinzelbildes, das bei dem in Fig. 5 gezeigten Verfahren dem Datenpaket P4 entspricht, kann die Gesamtverzögerung des Datenstroms reduziert werden. Danach ist, wie der zeitliche Verlauf t (f) am Ort f nach Durchlaufen der Datenpakete durch die Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD und vor Eintritt der Datenpakte in den Empfänger R zeigt, das ursprüngliche Zeitraster beim Austritt der Datenpakte aus dem Sender S am Ort a mit dem vorgesehenen zeitlichen Abstand dl wiederhergestellt. Zur Steuerung der Warteschlangenverzögerung in einem Jitter Buffer JB kann die Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD mit dem Jitter Buffer JB kombiniert werden. In Fig. 6 ist in einer weiteren Ausführungsform der Erfindung ein Übertragungsweg vom kodierten Datenpaket vom Sender S an den Empfänger R dargestellt, wobei die kodierten Datenpakete nach Austritt aus dem Netzwerk N und vor Eintritt in die Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD einen Jitter Buffer JB durchlaufen, der im Übertragungsweg zwischen dem Netzwerk N und der Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD angeordnet ist. Durch die Anordnung des Jitter Buffers JB in Übertragungsrichtung der Datenpakete vor der Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD kann die Anzahl von Schritten der Einfügung von künstlichen kodierten Datenpaketen und die Anzahl von Schritten zum Entfernen, auch Überspringen genannt, von Datenpaketen reduziert werden. Es kann beispielsweise der Fall auftreten, dass eine Netz Werkverzögerung, bei der sämtliche Datenpakete eines Datenstroms verzögert werden, und/oder ein
Netzwerkverzögerungsj itter, bei dem die Datenpakete zueinander verzögert werden, wesentlich zunimmt/zunehmen. In diesem Fall führt ein nicht vorhandener oder nicht ausreichender Jitter Buffer JB dazu, dass ein vor Beginn der Netzwerkverzögerung und/oder des Netzwerkverzögerungsj itters in die Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD eintretendes Datenpaket mehrfach als künstliches kodiertes Datenpaket in den Datenstrom eingefügt werden müsste, was zu einer flackernden und ruckelnden Wiedergabe führen würde. Ein Jitter Buffer JB kann die Wiedergabe der Datenpakete glätten. Der Füllstand des Jitter Buffers JB kann durch Einfügen oder Entfernen von Datenpaketen/Einzelbildern in den Datenstrom mittels der Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD gesteuert werden. Durch den Einsatz eines Jitter Buffers JB, den die Datenpakete vor Ein- tritt in die Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD durchlaufen, ist es möglich, dass bei Auftreten einer Netzwerkverzögerung und/oder eines Netzwerkverzögerungsj itters lediglich einzelne Datenpakete/Einzelbilder eingefügt oder entfernt werden, so dass die Modifikation des Datenstroms bei der Wiedergabe im Empfänger R nicht oder kaum bemerkbar ist. Hierzu sendet der Jitter Buffer JB über eine Leitung 2 außerhalb des Übertragungsweges der Datenpakete vom Jitter Buffer JB zur Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD Informationen zu der im Jitter Buffer JB aktuell ermittelten Netzwerkverzögerung und/oder dem aktuell in dem Jitter Buffer JB ermittelten
Netzwerkverzögerungsj itter an die Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD. Durch die in einem gegebenen Zeitintervall in der Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD erfolgenden Einfügungen jeweils eines künstlich kodierten Datenpaketes und/oder Entfernungen jeweils eines Datenpaketes aus dem Datenstrom kann der Füllstand des Jitter Buffers JB gesteuert werden. Hierdurch kann ein Überlauf im Jitter Buffer JB, der zu einer erhöhten Gesamtverzögerung des Datenstroms führt, sowie ein Unterlauf des Jitter Buffers JB, der zur Folge hat, dass der Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD kein Datenpaket/Einzelbild zur Verfügung steht, vermieden werden. Mit der in Fig. 6 gezeigten Anordnung ist es neben anderen Fällen möglich, den folgenden Fällen einer auftretenden Netzwerkverzögerung und/oder eines auftretenden Netzwerkverzögerungsj itters zu begegnen: Die Netzwerkverzögerung nimmt zu: Als Folge nimmt der Füllstand und damit die Warteschlangen Verzögerung im Jitter Buffer JB ab, da mehr Bilder als vor der Zunahme der Netzwerkverzögerung aus dem Jitter Buffer JB zur Aufrechterhaltung des vorgesehenen zeitlichen Abstandes dl zwischen aufeinander folgenden Datenpaketen an die Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD abgeführt werden. Datenpakte/Einzelbilder können durch die Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD eingefügt werden um die Befüllung des Jitter Buffers JB, die proportional zur Warteschlangenverzögerung ist, in gewissen Grenzen aufrecht zu erhalten.
Die Netzwerkverzögerung nimmt ab: Als Folge nimmt der Füllstand im Jitter Buffer JB und damit die Warteschlangenverzögerung zu, da im Vergleich zu einem Zeitpunkt vor Abnahme der Netzwerkverzögerung mehr Bilder in den Jitter Buffer JB eintreten, als zur Aufrechterhaltung des vorgesehenen zeitlichen Abstandes dl zwischen aufeinander folgenden Datenpaketen von der Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD aus dem Jitter Buffer angefordert werden.
Ein Verzögerungsj itter im Netzwerk N nimmt zu: Die Befüllung des Jitter Buffers JB sollte durch das Einfügen künstlicher kodierter Datenpakete/Einzelbilder vergrößert werden.
Der Netzwerkverzögerungsj itter nimmt ab: Die Befüllung des Jitter Buffers JB sollte durch die Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD verringert werden, um die Verzögerung der Datenpakte bei der Übertragung der Datenpakete vom Sender S zum Empfänger R, auch Gesamtverzögerung genannt, zu verringern.
Anzumerken ist, dass die Netzwerkverzögerung und der Netzwerkverzögerungsj itter basierend auf statistischen Angaben der in den Jitter Buffer eingetretenen Datenpa- kete, beispielsweise deren Timing berechnet werden können. Die Berechnung kann innerhalb des Jitter Buffer JB erfolgen. Die in Fig. 6 gezeigte Anordnung kann als Sonderfall der in Fig. 5 gezeigten Anordnung angesehen werden, wobei der Jitter Buffer JB in Fig. 6 eine vernachlässigbare Warteschlangenverzögerung der Datenpa- kete, die in den Jitter Buffer JB enthalten sind, aufweist.
In Fig. 7 ist ein Vergleich der zeitlichen Verläufe der kodierten Datenpakete vor Eintritt in das Netzwerk N und nach Austritt aus dem in Fig. 2 gezeigten Jitter Buffer, nach Austritt aus dem in Fig. 3 und Fig. 4 gezeigten Transcoder TR und nach Aus- tritt aus der in Fig. 5 und Fig. 6 gezeigten Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD dargestellt. Der zeitliche Verlauf t(a) am Ort a nach Austritt der Datenpakte aus dem Sender S und vor Eintritt in das Netzwerk N ist zu den zeitlichen Verläufen t(b), t(c), t(e) und t(f), wobei die Orte b, c, e und f den Orten b, c, e, f in den Figuren 1, 2, 3, 4, 5, 6 entsprechen, um eine (durchschnittliche) Übertragungsverzögerung dN zeitlich verschoben. Nach dem Eintritt der Übertragungsverzögerung dN können die Datenpakete PI, P2, P3, P4, P5 von dem Empfänger R oder einer zwischen dem Sender S und dem Empfänger R angeordneten Komponente verarbeitetet werden. Als eine zwischen den Sender S und dem Empfänger R angeordnete Komponente kann ein Jitter Buffer JB, ein Transcoder TR oder die Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD verwendet werden. Der Jitter Buffer JB muss zur Kompensation eines Verzögerungsj itter, der einen Sonderfall des Jitters darstellt, den gesamten während der Übertragung des Datenstroms mit den kodierten Datenpaketen PI, P2, P3, P4, P5 auftretenden Verzögerungsj itter auffangen. Daher fällt die Verzögerung dJ durch Verwendung des Jitter Buffers JB relativ hoch aus. Im Vergleich zu der durch den Jitter Buffer JB verursachten Verzögerung dJ der Datenpakete PI, P2, P3, P4, P5 verfügen der Transcoder TR und die Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD über zusätzliche Mittel zur Kompensation von Verzögerungsj itter. Durch die Möglichkeit des Einfügens und/oder Entfernens von Datenpaketen aus dem Datenstrom sind im Vergleich zur Verzögerung dJ durch den Jitter Buffer JB die Verzögerungen dT durch den Transcoder TR und dC durch die Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD geringer.
In Fig. 8 sind schematische Abfolgen 10, 11, 12 von Bildern vor einem Einfügen 10, nach einem Einfügen als Referenzbild 11 und nach einem Einfügen als Nichtreferenzbild 12 bei einer linearen Prädiktionsstruktur gegenüber der Zeit t (siehe Pfeil) dargestellt. Im Folgenden wird für das Wort„Videoeinzelbild" das Wort„Bild" verwendet. Wie im Zusammenhang mit den Fig. 5 und 6 erläutert, wird für den Fall, dass ein aktuelles Bild zur Weiterleitung durch die Vorrichtung zur Kompensation von Jitter in der kodierten Domäne CDD nicht zur Verfügung steht, ein künstliches kodiertes Bild, das den Dateninhalt das dem künstlichen kodierten Bild vorhergehenden Bildes repräsentiert, in den Datenstrom zur Aufrechterhaltung des vorgesehenen zeitlichen Abstandes dl zwischen aufeinander folgenden Bildern eingefügt. Falls zwischen den Bildern einer Videobildfolge Abhängigkeiten bestehen, sollten diese Abhängigkeiten zwischen den Bildern einer Videobildfolge erhalten bleiben. Fig. 8 zeigt zur Verdeutlichung die Einfügung eines vorausberechneten Bildes in Form eines künstlich kodierten Videoeinzelbildes in einer linearen Prädiktionsstruktur, die auch IPPP genannt wird. Bei einer IPPP-Prädiktionsstruktur referenziert das erste Bild einer Bildfolge, das Intrabild Bl, nicht auf das dem Intrabild Bl vorherge- hende Bild. Die dem Intrabild Bl nachfolgenden Bilder B2, B3, B4, B5 referenzie- ren hingegen auf das diesen Bildern jeweils vorhergehende Bild Bl, B2, B3, B4. Daher ist bei der linearen Prädiktionsstruktur 10 bis auf das Intrabild Bl das vorhergehende Bild eines jeden vorausberechneten Bildes ein Referenzbild. In Fig. 8 sind die Referenzierungen jeweils durch einen Pfeil r zwischen den einzelnen Bildern der Bildfolge Bl, B2, B3, B4, B5 dargestellt. Im Gegensatz zu den Fig. 1 bis 3, 5 und 7 sind in Fig. 8 keine kodierten Datenpakete PI, P2, P3, P4, P5, sondern vorausberechnete Bilder Bl, B2, B3, B4, B5 dargestellt. Jedes der Datenpakete PI, P2, P3, P4, P5, kann als Information jeweils eines der Bilder Bl, B2, B3, B4, B5 oder einen Teil von jeweils einem der Bilder Bl, B2, B3, B4, B5 umfassen. Vor dem Einfügen des vorausberechneten Bildes B2' hat die Bildfolge 10 eine Reihenfolge der vorausberechneten Bilder in aufsteigender Reihenfolge beginnend mit dem Intrabild Bl. Wie in der schematischen Abfolge 11 von vorausberechneten Bildern nach Einfügen eines vorausberechneten Bildes B2 'dargestellt, weist das eingefügte vorausberechnete Bild B2' den Dateninhalt seines Vorgängers B2 auf. Falls der Videokodierungsstandard H.264/AVC verwendet wird, kann das eingefügten künstliche kodierte vo- rausberechnete Bild B2' ausschließlich aus übersprungenen Makroblöcken, wie oben erläutert, zusammengesetzt werden.
Bei der zeitlichen Abfolge 12 ist ein vorausberechnetes Bild B2' als Nichtreferenzbild in die lineare IPPP-Prädiktionsstruktur der Bilder B l, B2, B3, B4, B5 nach dem vorausberechneten Bild B2 eingefügt. Da das künstliche kodierte Videoeinzelbild B2' ein Nichtreferenzbild ist, referenziert das dem künstlichen kodierten vorausberechneten Bild B2 'nachfolgende Bild B 3 nicht auf das künstlich kodierten vorausberechnete Bild B2', sondern auf das vorausberechnete Bild B2. Bei der schematischen Abfolge 12 ist die Referenzierung des vorausberechneten Bildes B3 auf das voraus- berechnete Bild B2 durch einen Pfeil rl dargestellt. Somit referenzieren sowohl das künstlich kodierte neu eingefügte vorausberechnete Bild B2'als auch das vorhandene vorausberechnete Bild B3 jeweils auf das vorausberechnete Bild B2. Die Einfügung eines neuen Bildes als Nichtreferenzbild hat einige Vorteile: - Selbst wenn das neu eingefügte künstlich kodierte vorausberechnete Bild B2' keine Kopie hoher Qualität des vorausberechneten Bildes B2 ist, tritt bei dem dem künstlich kodierten neu eingefügten vorausberechneten Bild B2' nachfolgenden Bild B3 keine Verschlechterung der Bildqualität ein, da sich der zeitliche Prädiktor, der die Referenzierung des Bildes B4 angibt, des voraus- berechneten Bildes B3 nicht durch die Einfügung des künstlich kodierten vorausberechneten Bildes B2' verändert hat.
Die Prädiktionsstruktur muss bei Einfügung eines Nichtreferenzbildes in keiner Weise geändert werden. Selbst wenn die Prädiktionsstruktur umfangrei- eher ausfällt als in Fig. 8 dargestellt, beispielsweise bei Verwendung einer
Vielzahl unterschiedlicher Referenzeinzelbilder, ist es nicht erforderlich die Referenzindizes, also die Referenzierungen auf vorher kodierte Bilder, zu verändern.
Bei einem vollständigen gefüllten Referenzbildpuffer, der die Referenzbildliste enthält, wird durch das Einfügen des künstlich kodierten vorausberechnete Bild B2' kein Referenzbild verloren, da das neu eingefügte Bild B2' nicht in dem Referenzbildpuffer gespeichert wird.
Auf der anderen Seite hat die Einfügung eines ausschließlich aus übersprungenen Makroblöcken zusammengesetzten Bildes als Referenzeinzelbild Vorteile beim Videomischen in der komprimierten Domäne. So kann beispielsweise durch Einfügen eines zusätzlichen Referenzeinzelbildes in eine erste Bildfolge eines Videodatenstroms die Prädiktionsstruktur dieses Datenstroms an eine vorhandene weitere Prädiktionsstruktur eines zweiten Videodatenstroms, der mit dem ersten Videodatenstrom gemischt werden soll, angepasst werden.
Zur Aufrechterhaltung der linearen Prädiktionsstruktur ist das einem vorausberechneten Bild vorhergehende Bild als Referenzbild zu deklarieren, wenn das dem vorausberechneten Bild vorhergehende Bild ein Nichtreferenzbild B2' in der schematischen Abfolge 12 ist. Weitere Referenzierungen können vorzunehmen sein um die ursprünglichen Prädiktionsstrukturen aufrechtzuerhalten. So ist bei der schematischen Abfolge 11 das künstlich kodierte neu eingefügte vorausberechnetet Bild B2' als Referenzbild eingefügt, wobei das vor der Einfügung auf das vorausberechnete Bild B2 referenzierende vorausberechnete Bild B3 nun auf das neu eingefügte künstlich kodierte vorausberechnete Bild B2' referenziert.
Falls jedoch das dem neu eingefügten künstlich kodierten vorausberechneten Bild B2 'vorhergehende vorausberechnete Bild B2 nicht als Referenzbild deklariert werden kann, beispielsweise weil ein Überlauf eines Referenzbildpuffers bei Deklaration des vorausberechneten Bildes B2 als Referenzbild eintreten würde, wird bei Einfügung des neu einzufügenden künstlich kodierten vorausberechneten Bildes das Nichtreferenzbild wiederholt. Da der Referenzbildpuffer sich durch die Einfügung des neu einzufügenden künstlich kodierten vorausberechneten Bildes nicht verändert hat, wird die Prädiktion wie für das vorhergehende vorausberechnete Bild ausgeführt. Zur Verdeutlichung zeigt Fig. 9 schematische Abfolgen 21, 22 von vorausbe- rechneten Bildern vor dem Einfügen 21 und nach dem Einfügen 22 bei einer hierarchischen Prädiktionsstruktur, bei der das dem einzufügenden vorausberechneten Bild B2' vorhergehende Bild B2 ein Nichtreferenzbild ist. Bei der schematischen Abfolge 21 referenziert das vorausberechnete Bild B3 nicht auf das vorausberechnete Bild B2, sondern auf das vorausberechnete Bild Bl, wie mit einem Pfeil rl dargestellt. Nach dem Einfügen des künstlich kodierten vorausberechnete Bild B2' bei der zeitlichen Abfolge 22 referenzieren sowohl das neu eingefügte künstlich kodierten vorausberechnete Bild B2' als auch das dem vorausberechneten Bild B2 'nachfolgende vorausberechnete Bild B 3 auf das vorausberechnete Bild Bl, wie dies bei der zeitlichen Abfolge 22 durch die Referenzierungen rl von B2' und r2 von B3 dargestellt ist. Für die Kopie des vorausberechneten Bildes B2 für das einzufügende vorausberechnete Bild B2' werden lediglich Dateninformation auf hoher Ebene, wie RTP, Bildfolgenummer und ein Zeitstempel des vorausberechneten Bild B2 verändert. Der Signalverarbeitungsdateninhalt wie Koeffizienten, Bewegungsvektoren und Modeninformation etc. des einzufügenden künstlich kodierten vorausberechneten Bildes B2' entspricht dem des ursprünglichen vorausberechneten Bildes B2. Daher fällt bei der Einfügung eines neu einzufügenden künstlich kodierten Einzelbildes als Nichtreferenzbild die Datenrate dieses einzufügenden künstlich kodierten vorausberechneten Einzelbildes deutlich höher aus als bei einem neu einzufügenden künstlich kodierten Referenzbildes, das ausschließlich aus übersprungenen Makroblöcken zu- sammengesetzt ist. Daher ist es vorteilhaft bei einer gegebenen Prädiktionsstruktur einzufügende Einzelbilder, die ausschließlich aus übersprungenen Makroblöcken zusammengesetzt sind, zur Reduzierung der zu übertragenden Datenrate zu verwenden, wenn dies möglich ist. Wie ein Vergleich der zeitlichen Abfolgen 11 und 12 in Fig. 8 mit der zeitlichen Abfolge 21 in Fig. 9 zeigt, ist bei Einfügung eines künstlich kodierten vorausberechne- ten Einzelbildes B2' als Nichtreferenzbild in der zeitlichen Abfolge 12 eine hierarchische Prädiktionsstruktur aus der in der zeitlichen Abfolge 10 gezeigten linearen Prädiktionsstruktur entstanden. Bei einer hierarchischen Prädiktionsstruktur ist im Gegensatz zu den in Fig. 8 gezeigten zeitlichen Abfolgen 10, 11 ein vorausberechne- tes Bild B3 vorhanden, dessen vorhergehendes vorausberechnetes Bild B2, wie bei der zeitlichen Abfolge 21 dargestellt, ein Nichtreferenzbild ist.
Wie im Zusammenhang mit Fig. 5 bereits ausgeführt, kann in dem Fall, dass zwei oder mehr Einzelbilder in der Vorrichtung zur Kompensation von Jitter in der ko- dierten Ebene CDD zur Weiterleitung in den Datenstrom aus den kodierten Datenpaketen PI, P2, P3, P4, P5 zur Verfügung stehen, das ältere der in der Vorrichtung zur Kompensation von Jitter in der kodierten Ebene CDD vorliegenden Bilder übersprungen werden um die Verzögerung des Datenstroms zu reduzieren. Es kann beispielsweise der Fall eintreten, dass aufgrund einer wesentlichen Verringerung einer Netzwerkverzögerung der zeitliche Sollabstand dl zwischen aufeinanderfolgenden Datenpaketen PI, P2, P3, P4, P5 bei Eintreten aufeinander folgender Datenpakete in die Vorrichtung zur Kompensation von Jitter in der kodierten Ebene CDD halbiert ist. In diesem Fall kann das verfrüht in der Vorrichtung zur Kompensation von Jitter in der kodierten Ebene CDD eintreffende Datenpaket aus dem Datenstrom entfernt werden ohne dass zuvor ein künstlich kodiertes Datenpaket in den Datenstrom eingefügt worden ist. Das Einzelbild, das von einem kodierten Datenpaket umfasst ist, wird aus dem Datenstrom in der kodierten Domäne entfernt.
Bei der Entfernung eines Einzelbildes aus dem Datenstrom ist es von Verteil, wenn das zu entfernende Einzelbild nicht für weitere Referenzierungen verwendet wird. Zur Verdeutlichung zeigen die Fig. 10 und 11 jeweils schematische Abfolgen 31, 32 und 41, 42 vorausberechneter Bilder aus einer linearen Prädiktionsstruktur (Fig. 10) und aus einer hierarchischen Prädiktionsstruktur (Fig. 11). In Fig. 10 sind schematische Abfolgen vorausberechneter Bilder vor einem Entfernen 31 und nach einem Entfernen 32 aus einer linearen Prädiktionsstruktur dargestellt. Wie ein Vergleich der schematischen Abfolgen 31 und 32 in Fig. 10 zeigt, wird aus der linearen IPPP- Prädiktionsstruktur lediglich das letzte Einzelbild B4 einer Bildergruppe (Group Of Pictures: GOP) aus dem Datenstrom der Bilder Bl, B2, B3, B4, B5, B6, B7 entfernt. Eine Bildergruppe GOP setzt sich aus vorausberechneten Bildern zusammen, die bis auf das erste Bild der Bildergruppe jeweils auf das jedem vorausberechneten Bild der Bildergruppe vorhergehende Bild referenzieren. Bei der schematischen Abfolge 31 bilden daher die Bilder Bl, B2, B3, B4 und die Bilder B5, B6, B7 jeweils einzelne Bildergruppen. Nach Entfernung des vorausberechneten Bildes B4 referenzieren die im Datenstrom der schematischen Abfolge 32 verbleibenden Bilder B2 und B3 jeweils auf die diesen Bildern B2, B3 vorhergehenden Bilder Bl, B2.
Bei der in Fig. 11 in der schematischen Abfolge 41 gezeigten hierarchischen Prädiktionsstruktur bilden die Einzelbilder B4, B6, B8 diejenigen Einzelbilder der untersten zeitlichen Ebene. Die Einzelbilder B4, B6, B8 sind Nichtreferenzbilder und können in einfacher Weise aus dem Datenstrom entfernt werden, da auf diese Bilder B4, B6, B8 keine nachfolgenden Bilder referenzieren. Da die Anzahl von Einzelbildern, die übersprungen werden können, bei einer hierarchischen Prädiktionsstruktur größer ist als bei einer linearen Prädiktionsstruktur, wie ein Vergleich der schematischen Abfolgen 31 in Fig. 10 und 41 in Fig. 11 hinsichtlich der einfach entfernbaren Nichtreferenzbilder zeigt, ist es vorteilhaft mit einem vorhandenen Encoder zeitlich ska- lierbare Datenströme zu erzeugen, die hierarchische Prädiktionsstrukturen aufweisen.
In einer vorteilhaften Ausführung der Erfindung ist vorgesehen, ausschließlich Nichtreferenzeinzelbilder aus dem komprimierten und kodierten Videodatenstrom zu entfernen um eine Verschlechterung der Bildqualität der nicht entfernten Einzelbilder zu vermeiden. In einer weiteren vorteilhaften Ausführung der Erfindung ist vorgesehen, dass sowohl das Einfügen eines künstlich kodierten Datenpaktes, das ein Einzelbild umfasst, als auch die Entfernung eines Datenpaketes, das ein Einzelbild umfasst, dynamisch erfolgt. In diesem Fall führt die Vorrichtung zur Kompensation von Jitter in der kodierten Ebene die Funktion eines adaptiven Jitter-Puffers aus. Kompensation von Jitter in der kodierten Domäne, auch Kompensation von Jitter in der komprimierten Domäne genannt, kann mit Videomischen in der komprimierten Domäne, auch Videomischen in der kodierten Domäne genannt, kombiniert werden. Das Mischen von Videodatenströmen auf Makroblockebene ist beispielsweise be- schrieben in WO 2009/049974 A2. Für den Fall, dass ein erster Videodatenstrom, der mit einem zweiten Videodatenstrom zu mischen ist, einen zu dem zweien Datenstrom erhöhten Verzögerungsjitter aufweist, wobei ein eingehendes Einzelbild des ersten Videodatenstroms zur Zusammensetzung des aktuellen gemischten Ausgangseinzelbildes nicht rechtzeitig zur Verfügung steht, wird das nicht rechtzeitig zur Ver- fügung stehende eingehende Einzelbild des ersten Videodatenstroms durch ein Einzelbild ersetzt, das ausschließlich Makroblöcke in dem„skip"-Modus umfasst. Zur Verdeutlichung zeigt Fig. 12 eine schematische Anordnung aus einer Mischung 50 kodierter Makroblöcke Ml, M2, wobei Makroblöcke Ml aus einem ersten Videodatenstrom 51 mit übersprungenen Makroblöcken M2 aus einem zweiten Videodaten- ström 52 gemischt sind. Bei der Mischung 50 aus kodierten Makroblöcken Ml, M2 sind ursprüngliche Makroblöcke Ml des ersten Videodatenstroms 51 in einer Matrix aus 8x10 Makroblöcken Ml, also eine Matrix mit acht Zeilen und zehn Spalten, in Fig. 12 dargestellt. Die Matrix aus Makroblöcken Ml kann eine beliebige Anzahl von Makroblöcken Ml in Zeilen- und Spaltenform aufweisen. Bei der in Fig. 12 gezeigten Mischung aus kodierten Makroblöcken Ml, M2 bestehen die Makroblöcke Ml des ersten Videodatenstroms aus ursprünglichen Makroblöcken des eingehenden ersten Videodatenstroms. Die Makroblöcke M2 des eingehenden zweiten Videodatenstroms hingegen bestehen aus übersprungenen Makroblöcken (,,skip"-Modus), da die ursprünglichen Makroblöcke des eingehenden zweiten Videodatenstroms nicht rechtzeitig zur Mischung mit den ursprünglichen Makroblöcken Ml des eingehenden ersten Videodatenstroms zur Verfügung stehen. Als Folge grenzen bei der in Fig. 12 gezeigten schematischen Anordnung ursprüngliche Makroblöcke Ml an künstlich kodierten eingefügte Makroblöcke M2 zur Mischung der Makroblöcke Ml des ersten eingehenden Videodatenstroms und der Makroblöcke M2 des zweiten eingehen- den Videodatenstroms aneinander. Hinsichtlich einer genaueren Beschreibung des Videomischens auf Makroblockebene (beispielsweise hinsichtlich Entropiedekodieren und Re-Enkodieren) wird auf die in dem Dokument WO
2009/049974 A2 enthaltene technische Lehre verwiesen.
Wie bereits im Zusammenhang mit der Beschreibung der Fig. 5 ausgeführt, werden Bewegungsvektoren für übersprungene Makroblöcke von kodierten zu den übersprungenen Makroblöcken benachbarten Makroblöcken berechnet, die zeitlich vor den übersprungenen Makroblöcken kodiert sind. Es wäre daher bei der in Fig. 12 gezeigten schematischen Anordnung nachteilig, zur Berechnung der übersprungenen Makroblöcke M2 des zweiten Videodatenstroms angrenzende Makroblöcke Ml des ersten Videodatenstroms heranzuziehen. Bei einer Mischung von Makroblöcken eines ersten Videodatenstroms und eines zweiten Videodatenstroms unterscheidet sich daher die Berechnung der Bewegungsvektoren für die übersprungenen Makroblöcke von der Berechnung der Bewegungsvektoren für übersprungene Makroblöcke im Fall eines einzelnen nicht zu mischenden Datenstroms. Würden nämlich Makro- blocke Ml des ersten Videodatenstroms zur Berechnung der Bewegungsvektoren für die übersprungenen Makroblöcke M2 bei der in Fig. 12 gezeigten schematischen Anordnung aus einer Mischung kodierter Makroblöcke Ml, M2 herangezogen, würden die berechneten Bewegungsvektoren für die übersprungenen Makroblöcke zu Null gesetzt werden. Daher wird die Bewegungsinformation für die übersprungenen Makroblöcke M2 des zweiten eingehenden Videodatenstroms 52 explizit kodiert, beispielsweise durch Verwendung des regulären P-Makroblock-Modus mit einer Aufteilung für die zur Berechnung der Bewegungsvektoren heranzuziehenden ursprünglichen Makroblöcke von 16x16 Makroblöcken, also der größten Aufteilung im Videokodierungsstandart H.264/AVC. Für die auf diese Weise berechneten über- sprungenen Makroblöcke werden die Bewegungsvektoren implizit derart eingestellt, dass die Bewegungsvektoren zu Null gesetzt werden. Die Datenrate für auf diese Weise berechnete übersprungene Makroblöcke ist zwar größer als die Datenrate eines nicht zu mischenden Videodatenstroms, doch im Verhältnis zu der Datenrate von nicht übersprungenen Makroblöcken klein. Das Einfügen von Makroblöcken mit„skip"-Modus kann in vorteilhafter Weise dazu verwendet werden, Videobildfolgen zu resamplen, beispielsweise um zwei oder mehr Videobildfolgen mit unterschiedlichen Abtastfrequenzen zu mischen. Zur Verdeutlichung sind in Fig. 13 schematische Abfolgen 60, 61, 66, 67 vorausberechneter Bilder eines ersten Videodatenstroms und eines zweiten Videodatenstroms vor einem Resamplen und Mischen 60, 61 und nach dem Resamplen und Mischen 66, 67 dargestellt. Die schematische Abfolge vorausberechneter Bilder 60 eines ersten Videodatenstroms weist beispielsweise eine Abtastfrequenz von von 30 fps (frames per second) auf, während die schematische Abfolge 61 vorausberechneter Bilder eines zweiten Videodatenstroms eine Abtastfrequenz von 15 fps aufweist. Durch die im Vergleich zum ersten Videodatenstrom halbierte Abtastfrequenz des zweiten Videodatenstroms sind zwischen den vorausberechneten Bildern B12, B22, B32, B42 des zweiten Videodatenstroms künstlich kodierte vorausberechnete Bilder B21, B41, B61 angeordnet. Zur Angleichung der unterschiedlichen Abtastfrequenzen des ersten Videodatenstroms und des zweiten Videodatenstroms werden in den zweiten Videodatenstrom, wie die schematische Abfolge 67 in Fig. 13 zeigt, künstlich kodierte Videoeinzelbilder B52, B62, B72 zwischen die vorhandenen Einzelbilder B12, B22, B32, B42 derart eingebracht, dass die eingefügten künstlich kodierten Einzelbilder als Referenzeinzelbilder ausgeführt sind. Durch die Ausführung der künstlich kodier- ten eingefügten Einzelbilder B52, B6 2, B7 2 wird erreicht, dass die Prädiktionsstruktur der gemischten Videodatenströme derjenigen Prädiktionsstruktur des ersten eingehenden Videodatenstroms, wie bei der schematischen Abfolge 60 in Fig. 13 gezeigt, entspricht. Daher weist die Prädiktionsstruktur der gemischten Videodatenströme 1 und 2 eine lineare Prädiktionsstruktur auf. Zur vereinfachten Darstellung ist bei den schematischen Abfolgen vorausberechneter Bilder 60, 61 in Fig. 13 angenommen, dass das Verhältnis der Abtastfrequenzen des ersten eingehenden Videodatenstroms und des zweiten eingehenden Videodatenstroms eine natürliche Zahl ist. Allerdings ist das in Fig. 13 geschilderte Verfahren zur Mischung eines ersten eingehenden Videodatenstroms und eines zweiten eingehenden Videodatenstroms zu ei- nem ausgehenden Videodatenstrom mit einer Abtastfrequenz, die an die höhere Abtastfrequenz des ersten eingehenden Videodatenstroms oder des zweiten eingehen- den Videodatenstroms angeglichen ist, mit jedem Verhältnis der Abtastfrequenzen des ersten eingehenden Videodatenstroms und des zweiten eingehenden Videodatenstroms möglich. So kann bei der in Fig. 13 dargestellten Anordnung aus schematischen Abfolgen vorausberechneter Bilder ein zu irgendeinem Zeitpunkt nicht zu Verfügung stehenden Einzelbild des Videodatenstroms mit der niedrigeren Abtastfrequenz ein aus übersprungenen Makroblöcken zusammengesetztes Einzelbild in den Videodatenstrom mit der niedrigeren Abtastfrequenz eingefügt werden, wie bereits zu Fig. 13 oben ausgeführt. Durch die Verwendung einer Vorrichtung zur Modifikation eines kodierten Datenstroms aus Datenpaketen in der kodierten Domäne kann im Vergleich zu einer Lösung mit einem Jitter Buffer eine verringerte Verzögerung des Datenstroms mit dem kompensierten Jitter erreicht werden. Ein vorbekannter Jitter Buffer fügt zur Kompensation von Jitter die maximale im Datenstrom vorhandene Verzögerung zwischen zwei aufeinanderfolgenden kodierten Datenpakten in den Datenstrom ein. Die Vorrichtung zur Kompensation von Jitter in der kodierten Domäne verfügt hingegen über zusätzliche Mittel zur Kompensation von Jitter unterschiedlicher Art, beispielsweise Verzögerungsj itter, durch das Einfügen kodierter Datenpakte in und/oder die Entfernung vorhandener Datenpakte aus dem Datenstrom.
Gegenüber dem Verfahren mittels Transcoder zur Kompensation von Jitter weist das Verfahren mittels einer Vorrichtung zur Modifikation eines kodierten Datenstroms aus Datenpaketen in der kodierten Domäne einen weniger umfangreichen Eingriff in den Datenstrom auf, da im Gegensatz zum Verfahren mittels Transcoder (Dekodie- rung und erneute Kodierung) lediglich übersprungene Makroblöcke neben weiteren nicht neu kodierten Datenpaketen kodiert werden können. Zudem tritt im Vergleich zum Verfahren zur Kompensation von Jitter in der kodierten Domäne mittels Transcoder, bei dem sämtliche kodierten Datenpakete dekodiert und erneut kodiert werden, eine geringere Verzögerung des Datenstroms auf. Der Grund liegt in der wesentlichen Verzögerung des Datenstroms, die durch die Signalverarbeitung bei dem Verfahren mittels Transcoder dadurch entsteht, dass sämtliche kodierte Daten- pakete vollständig dekodiert und erneut vollständig kodiert werden müssen. Die mit diesem hohen Grad an Signal Verarbeitung verbundene Verzögerung wird bei dem Verfahren mittels einer Vorrichtung zur Kompensation von Jitter in der kodierten Ebene dadurch vermieden, dass nicht sämtliche Datenpakete dekodiert und kodiert werden, sondern lediglich einige künstlich kodierte Datenpakete, beispielsweise in Form übersprungener Makroblöcke als Referenzeinzelbilder oder als Nichtreferenzeinzelbilder, in den ansonsten unbehandelten kodierten Datenstrom eingefügt werden. Im Gegensatz zum Verfahren mittels Transcoder tritt bei dem Verfahren zur Modifikation eines kodierten Datenstroms aus Datenpaketen mittels einer Vorrichtung zur Modifikation eines kodierten Datenstroms aus Datenpaketen in der kodierten Domäne kein Qualitätsverlust der zu übertragenden kodierten Datenpakte auf. Während bei dem Verfahren mittels Transcoder die Qualität des kodierten Datenstroms durch die Dekodierung und erneute Kodierung jedes kodierten Datenpaketes des Datenstroms leidet, werden bei einer Kompensation von Jitter in der kodierten Domäne die nicht künstlich kodierten Datenpakete nicht verändert.

Claims

Patentansprüche
1. Verfahren zur Modifikation eines kodierten Datenstroms aus Datenpaketen (PI, P2, P3, P4, P5), von denen jedes Datenpaket (PI, P2, P3, P4, P5) eine Information (Bl, B2) umfasst, bei dem die Informationen (Bl, B2, B3, B4, B5) aufeinander folgender Datenpakete (PI, P2, P3, P4, P5) zeitliche Abstände (dl, d3) voneinander aufweisen, die von zeitlichen Sollabständen (dl) abweichen und die auf die zeitlichen Sollabstände (dl) durch Einfügen eines künstlichen kodierten ersten Datenpakets (Ρ2') zeitlich nach einem zweiten Datenpaket (P2) in den kodierten Datenstrom in der kodierten Domäne oder durch Entfernen eines im kodierten Datenstrom vorhandenen vierten Datenpakets (P4) aus dem kodierten Datenstrom in der kodierten Domäne eingestellt werden.
2. Verfahren nach Anspruch 1, bei dem
das künstlich kodierte erste Datenpaket (Ρ2'), das eine erste Information (Β2') umfasst, die eine zweite Information (B2) referenziert, die von dem zweiten Datenpaket (P2) umfasst ist, in der kodierten Domäne generiert wird, und das künstliche kodierte erste Datenpaket (Ρ2') in den kodierten Datenstrom zeitlich nach dem zweiten Datenpaket (P2) in dem zeitlichen Sollabstand (dl) zu dem zweiten Datenpaket (P2) eingefügt wird, falls ein dem zweiten Datenpaket (P2) nachfolgendes drittes Datenpaket (P3) in einem zeitlichen Abstand (dl, d3) zu dem zweiten Datenpaket (P2) zur Verfügung steht, der größer ist als der zeitliche Sollabstand (dl).
3. Verfahren nach Anspruch 1 oder 2, bei dem
die Datenpakete (PI, P2, P3, P4, P5) zeitlich vor dem Einfügen des künstlichen kodierten ersten Datenpakets (Ρ2') in den kodierten Datenstrom oder dem Entfernen des vierten Datenpakets (P4) aus dem kodierten Datenstrom in einem Jitter Buffer (JB) zwischengespeichert werden und das Einfügen des künstlichen kodierten ersten Datenpakets (Ρ2') in den kodierten Datenstrom oder das Entfernen des vierten Da- tenpakets (P4) aus dem kodierten Datenstrom derart erfolgt, dass die Anzahl der in dem Jitter Buffer (JB) zwischengespeicherten Datenpakete (PI , P2, P3, P4, P5) eingestellt werden kann.
4. Verfahren nach einem der vorhergehenden Ansprüche, bei dem
der kodierte Datenstrom ein Videodatenstrom ist, wobei jedes Datenpaket (PI, P2, P3, P4, P5) des kodierten Datenstroms einen Teil eines Videoeinzelbildes (Bl, B2, B3, B4, B5) umfasst und das künstliche kodierte erste Datenpaket (Ρ2') einen Teil eines Videoeinzelbildes (Β2') umfasst, das die Information des Videoeinzelbildes (B2) des zweiten Datenpakets (P2) ohne Bewegungsvektoren und/oder Transforma- tionskoeffizienten umfasst.
5. Verfahren nach Anspruch 4, bei dem
jedes Datenpaket (PI, P2, P3, P4, P5) des Videodatenstroms einen Teil eines nach einem der Videokodierungsstandards H.264/AVC, H.263 oder MPEG-4 Visual ko- diertes Videoeinzelbildes (Bl, B2, B3, B4, B5) umfasst, wobei das künstlich kodierte erste Datenpaket (Ρ2') einen Teil eines Videoeinzelbildes (Β2') umfasst, das aus übersprungenen Makroblöcken (skipped macroblocks) zusammengesetzt wird.
6. Verfahren nach einem der vorhergehenden Ansprüche, bei dem
ein Deblocking-Filter in der Dekodierschleife während des Generierens des künstlichen kodierten ersten Datenpakets (Ρ2') abgeschaltet wird.
7. Verfahren nach einem der vorhergehenden Ansprüche, bei dem
das künstlich kodierte erste Datenpaket (Ρ2') einen Teil eines Videoeinzelbildes (Β2') umfasst, das als Nichtreferenzeinzelbild oder als Referenzeinzelbild eingefügt wird.
8. Verfahren nach vorhergehenden Ansprüche, bei dem
das im kodierten Datenstrom vorhandene vierte Datenpaket (P4) aus dem kodierten Datenstrom in der kodierten Domäne entfernt wird, falls ein dem vierten Datenpaket (P4) nachfolgendes fünftes Datenpaket (P5) in dem zeitlichen Sollabstand (dl) zu dem dritten Datenpaket (P3), das dem vierten Datenpaket (P4) vorhergeht, zur Verfügung steht.
9. Verfahren nach einem der vorhergehenden Ansprüche, bei dem
der kodierte Datenstrom ein Videodatenstrom ist und das aus dem Videodatenstrom entfernte vierte Datenpaket (P4) einen Teil eines Nichtreferenzeinzelbildes (B4) um- fasst.
10. Verfahren nach Anspruch 9, bei dem
für den Fall einer linearen Prädiktionsstruktur lediglich ein Datenpaket (P4) mit einem Teil des letzten Videoeinzelbildes (B4) einer Bildersequenz (Group of Pictures) und für den Fall einer hierarchischen Prädiktionsstruktur ein Datenpaket (P4) mit einem Teil eines Videoeinzelbildes (B4) aus der untersten zeitlichen Ebene aus dem Videodatenstrom entfernt wird.
11. Verfahren nach einem der vorhergehenden Ansprüche, bei dem
bei einem dynamischen Einfügen und Entfernen von Datenpaketen (Ρ2', P4) die Funktion eines adaptiven Jitter-Buffers ausgeführt wird.
12. Verfahren nach einem der Ansprüche 4 bis 11, bei dem
die zeitlichen Sollabstände (dl) eines zweiten Videodatenstroms den zeitlichen Abständen zwischen aufeinander folgenden kodierten Einzelbildern (Bl l, B21, B31) eines ersten Videodatenstroms entsprechen, wobei ein erstes Videoeinzelbild (B52) des künstlich kodierten ersten Datenpakets (Ρ2') des zweiten Videodatenstroms (61) mit einem ersten Videoeinzelbild (B21) eines kodierten Datenpakets des ersten Videodatenstroms (60) zu einem Videoeinzelbild (50) gemischt wird.
13. Verfahren nach Anspruch 12, bei dem
der zweite Videodatenstrom eine niedrigere Abtastfrequenz als der erste Videodaten- ström (60) aufweist, und das künstlich kodierte erste Videoeinzelbild (B52) derart in den zweiten Videodatenstrom (61) mit der gegenüber dem ersten Videodatenstrom (60) niedrigeren Abtastfrequenz eingefügt wird, dass der zweite Videodatenstrom (67) mit dem eingefügten künstlich kodierten ersten Videoeinzelbild (B52) die Abtastfrequenz des ersten Videodatenstroms (66) aufweist.
14. Vorrichtung (CDD), insbesondere zur Durchführung des Verfahrens eines der Ansprüche 1 bis 13, zur Modifikation eines kodierten Datenstroms aus Datenpaketen (PI, P2, P3, P4, P5), von denen jedes Datenpaket (PI, P2, P3, P4, P5) eine Information (Bl, B2, B3, B4, B5) umfasst, wobei die Informationen (Bl, B2, B3, B4, B5) aufeinander folgender Datenpakete (PI, P2, P3, P4, P5) zeitliche Abstände (dl, d3) voneinander aufweisen, die von zeitlichen Sollabständen (dl) abweichen und die auf die zeitlichen Sollabstände (dl) einstellbar sind, umfassend:
- Mittel zum Einfügen eines künstlichen kodierten ersten Datenpakets (Ρ2') zeitlich nach einem zweiten Datenpaket (P2) in den kodierten Datenstrom in der kodierten Domäne, und/oder
- Mittel zum Entfernen eines im kodierten Datenstrom vorhandenen vierten Datenpakets (P4) aus dem kodierten Datenstrom in der kodierten Domäne.
15. Vorrichtung nach Anspruch 14, wobei
der Vorrichtung (CDD) ein Jitter Buffer (JB) vorgeschaltet ist, in den die kodierten Datenpakete (PI, P2, P3, P4, P5) zwischenspeicherbar sind, und die Mittel zum Einfügen des künstlichen kodierten ersten Datenpakets (Ρ2') in den kodierten Datenstrom und/oder zum Entfernen des vierten Datenpakets (P4) aus dem kodierten Da- tenstrom so ausgebildet sind, dass die Anzahl der in dem Jitter Buffer (JB) zwischengespeicherten Datenpakete (PI, P2, P3, P4, P5) einstellbar ist.
PCT/EP2010/002833 2010-05-07 2010-05-07 Verfahren und vorrichtung zur modifikation eines kodierten datenstroms WO2011137919A1 (de)

Priority Applications (6)

Application Number Priority Date Filing Date Title
PCT/EP2010/002833 WO2011137919A1 (de) 2010-05-07 2010-05-07 Verfahren und vorrichtung zur modifikation eines kodierten datenstroms
US13/141,873 US8873634B2 (en) 2010-05-07 2010-05-07 Method and device for modification of an encoded data stream
BRPI1006913A BRPI1006913A2 (pt) 2010-05-07 2010-05-07 método e dispositivo para modificação de um fluxo de dados codificados
EP10726419A EP2422517A1 (de) 2010-05-07 2010-05-07 Verfahren und vorrichtung zur modifikation eines kodierten datenstroms
CN201080007161.3A CN102318356B (zh) 2010-05-07 2010-05-07 用于修改编码数据流的方法和设备
TW100115737A TW201208378A (en) 2010-05-07 2011-05-05 Method and device for modification of an encoded data stream

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2010/002833 WO2011137919A1 (de) 2010-05-07 2010-05-07 Verfahren und vorrichtung zur modifikation eines kodierten datenstroms

Publications (2)

Publication Number Publication Date
WO2011137919A1 true WO2011137919A1 (de) 2011-11-10
WO2011137919A9 WO2011137919A9 (de) 2011-12-22

Family

ID=43085730

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2010/002833 WO2011137919A1 (de) 2010-05-07 2010-05-07 Verfahren und vorrichtung zur modifikation eines kodierten datenstroms

Country Status (6)

Country Link
US (1) US8873634B2 (de)
EP (1) EP2422517A1 (de)
CN (1) CN102318356B (de)
BR (1) BRPI1006913A2 (de)
TW (1) TW201208378A (de)
WO (1) WO2011137919A1 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060242277A1 (en) 2005-03-31 2006-10-26 Tripwire, Inc. Automated change approval
JP2012095053A (ja) * 2010-10-26 2012-05-17 Toshiba Corp ストリーム伝送システム、送信装置、受信装置、ストリーム伝送方法及びプログラム
US20140187331A1 (en) * 2012-12-27 2014-07-03 Nvidia Corporation Latency reduction by sub-frame encoding and transmission
US10033658B2 (en) * 2013-06-20 2018-07-24 Samsung Electronics Co., Ltd. Method and apparatus for rate adaptation in motion picture experts group media transport
CN103780908B (zh) * 2014-02-25 2017-02-15 成都佳发安泰科技股份有限公司 一种高效的h264解码方法
US10602388B1 (en) * 2014-09-03 2020-03-24 Plume Design, Inc. Application quality of experience metric
US9548876B2 (en) * 2015-05-06 2017-01-17 Mediatek Inc. Multiple transmitter system and method for controlling impedances of multiple transmitter system
CN105049906A (zh) * 2015-08-07 2015-11-11 虎扑(上海)文化传播股份有限公司 一种数据处理方法及电子设备
US10809928B2 (en) 2017-06-02 2020-10-20 Western Digital Technologies, Inc. Efficient data deduplication leveraging sequential chunks or auxiliary databases
US10503608B2 (en) 2017-07-24 2019-12-10 Western Digital Technologies, Inc. Efficient management of reference blocks used in data deduplication
US11115604B2 (en) * 2018-01-02 2021-09-07 Insitu, Inc. Camera apparatus for generating machine vision data and related methods
CN108769786B (zh) * 2018-05-25 2020-12-29 网宿科技股份有限公司 一种合成音视频数据流的方法和装置
US11159965B2 (en) 2019-11-08 2021-10-26 Plume Design, Inc. Quality of experience measurements for control of Wi-Fi networks
CN113784209B (zh) * 2021-09-03 2023-11-21 上海哔哩哔哩科技有限公司 多媒体数据流处理方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2396502A (en) 2002-12-20 2004-06-23 Tandberg Television Asa Frame synchronisation of compressed video signals
US20050008240A1 (en) 2003-05-02 2005-01-13 Ashish Banerji Stitching of video for continuous presence multipoint video conferencing
WO2008043002A2 (en) * 2006-10-05 2008-04-10 Cisco Technology, Inc. Method and system for optimizing a jitter buffer
US20090016623A1 (en) 2007-07-13 2009-01-15 Sony Corporation Image processing device, image processing method and program
US20090154347A1 (en) * 2007-12-12 2009-06-18 Broadcom Corporation Pacing of transport stream to compensate for timestamp jitter
US20100091181A1 (en) * 2008-10-14 2010-04-15 Marshall Charles Capps System and Method for Multistage Frame Rate Conversion

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5881245A (en) * 1996-09-10 1999-03-09 Digital Video Systems, Inc. Method and apparatus for transmitting MPEG data at an adaptive data rate
US7801132B2 (en) * 1999-11-09 2010-09-21 Synchrodyne Networks, Inc. Interface system and methodology having scheduled connection responsive to common time reference
US7310678B2 (en) * 2000-07-28 2007-12-18 Kasenna, Inc. System, server, and method for variable bit rate multimedia streaming
US7409094B2 (en) * 2001-05-04 2008-08-05 Hewlett-Packard Development Company, L.P. Methods and systems for packetizing encoded data
US7305704B2 (en) * 2002-03-16 2007-12-04 Trustedflow Systems, Inc. Management of trusted flow system
US8737219B2 (en) * 2004-01-30 2014-05-27 Hewlett-Packard Development Company, L.P. Methods and systems that use information about data packets to determine an order for sending the data packets
US7594154B2 (en) * 2004-11-17 2009-09-22 Ramakrishna Vedantham Encoding and decoding modules with forward error correction

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2396502A (en) 2002-12-20 2004-06-23 Tandberg Television Asa Frame synchronisation of compressed video signals
US20050008240A1 (en) 2003-05-02 2005-01-13 Ashish Banerji Stitching of video for continuous presence multipoint video conferencing
WO2008043002A2 (en) * 2006-10-05 2008-04-10 Cisco Technology, Inc. Method and system for optimizing a jitter buffer
US20090016623A1 (en) 2007-07-13 2009-01-15 Sony Corporation Image processing device, image processing method and program
US20090154347A1 (en) * 2007-12-12 2009-06-18 Broadcom Corporation Pacing of transport stream to compensate for timestamp jitter
US20100091181A1 (en) * 2008-10-14 2010-04-15 Marshall Charles Capps System and Method for Multistage Frame Rate Conversion

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FUNG K-T ET AL: "New architecture for dynamic frame-skipping transcoder", IEEE TRANSACTIONS ON IMAGE PROCESSING, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 11, no. 8, 1 August 2002 (2002-08-01), pages 886 - 900, XP002388160, ISSN: 1057-7149 *

Also Published As

Publication number Publication date
CN102318356B (zh) 2015-01-28
WO2011137919A9 (de) 2011-12-22
TW201208378A (en) 2012-02-16
BRPI1006913A2 (pt) 2016-02-16
CN102318356A (zh) 2012-01-11
US20120027093A1 (en) 2012-02-02
US8873634B2 (en) 2014-10-28
EP2422517A1 (de) 2012-02-29

Similar Documents

Publication Publication Date Title
EP2422517A1 (de) Verfahren und vorrichtung zur modifikation eines kodierten datenstroms
DE69416509T2 (de) Transkoder
DE69622410T2 (de) Umschalten zwischen bitratenreduzierten signalen
DE69535553T2 (de) Videokompression
DE60207381T2 (de) Verfahren und system zum puffern von stream-daten
DE69525025T2 (de) Anpassung von Videoübertragungsraten in Multimedia-Kommunikationssystemen
DE60106286T2 (de) Zeitbasisreferenzdatumregeneration für mpeg-transportströme
DE69627031T2 (de) Dateiprozessor für die verteilung von multimedia-dateien
DE69322079T2 (de) Videokoder mit zwei schichten
DE19635116C2 (de) Verfahren zur Videokommunikation
DE69430877T2 (de) Bildkodierungsverfahren und -vorrichtung
EP2198610B1 (de) Verfahren und vorrichtung zum erstellen eines kodierten ausgangsvideostroms aus mindestens zwei kodierten eingangsvideoströmen, sowie verwendung der vorrichtung
DE69229773T2 (de) Statistischer Multiplexer für ein Multikanal-Bildkomprimierungssystem und Demultiplexer
DE69011422T2 (de) Paketstruktur und Übertragung der von einem Videosignal-Kodierer erzeugten Information.
DE69414899T2 (de) Bildsignalverarbeitung
DE69435000T2 (de) Bildkodierungsvorrichtung
DE69522861T2 (de) Verfahren und Einrichtung zur Codeumwandlung von codiertem Datenstrom
DE69814642T2 (de) Verarbeitung codierter videodaten
DE69418310T2 (de) Verfahren und gerät zur kodeumsetzung einer digital komprimierten bitfolge für hochauflösendes fernsehen in eine bitfolge für fernsehen mit standardauflösung
EP0682454A2 (de) Verfahren und Vorrichtung zur Transcodierung von Bitströmen mit Videodaten
DE10048735A1 (de) Verfahren zur Codierung und Decodierung von Bildsequenzen sowie Einrichtungen hierzu
DE69329478T2 (de) Vorrichtung zur Bildkodierung
EP2425627B1 (de) Verfahren zur zeitlichen synchronisierung der intrakodierung von verschiedenen unterbildern bei der erzeugung einer mischbildervideosequenz
DE60310249T2 (de) System und verfahren zur bereitstellung von fehlerbehebung für streaming-fgs-codierte videosignale über ein ip-netzwerk
DE69525424T2 (de) Verfahren und Vorrichtung zur Dekodierung von kodierten Videosignalen

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201080007161.3

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 13141873

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2703/KOLNP/2011

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 2010726419

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10726419

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: PI1006913

Country of ref document: BR

ENP Entry into the national phase

Ref document number: PI1006913

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20110705