US2001000138A1PendingUtilityA1

Transcoding of a data stream

Priority: Apr 30, 1998Filed: Dec 5, 2000Published: Apr 5, 2001
Est. expiryApr 30, 2018(expired)· nominal 20-yr term from priority
H04N 19/70H04N 21/23406H04N 19/60H04N 21/234354H04N 21/2401H04N 19/61H04N 19/00H04N 19/40H04N 19/192H04N 21/23608H04N 21/2343G06T 9/00
43
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A data stream (DS) comprises a time multiplex of coded data (D) and control data (C). The data stream (DS) may be, for example, of the MPEG type representing a sequence of pictures. The coded data (D) is transcoded (T) so as to obtain transcoded data (DT) which differs in size from the coded data (D). The control data (C) is adapted for the transcoded data (DT) so as to obtain adapted control data (CA) which does not substantially differ in size from the control data (C). The transcoded data (DT) and the adapted control data (CA) are written into a transcoder output buffer (TOB) and read from the transcoder output buffer (TOB) so as to obtain a transcoded data stream (DST). This allows an efficient use of a transmission channel via which the transcoded data stream (DST) is to be transmitted and, consequently, it allows a satisfactory transcoding quality. A size adjustment of the transcoded data (DT) on the basis of the amount of data contained in the transcoder output buffer (TOB) and control codes (CC) contained in the data stream (DS) further contributes to a satisfactory transcoding quality.

Claims

exact text as granted — not AI-modified
Claims:  
     
         1 . A method of transcoding a data stream (DS) comprising a time multiplex of coded data (D) and control data (C), the method comprising the step of transcoding (T) the coded data (D) so as to obtain transcoded data (DT) which differs in size from the coded data (D), characterized in that the method comprises the steps of: 
 adapting (A) the control data (C) for the transcoded data (DT) so as to obtain adapted control data (CA) which is substantially equal in size to the control data (C);    writing the transcoded data (DT) and the adapted control data (CA) in a transcoder output buffer (TOB); and    reading the transcoded data (DT) and the adapted control data (CA) from the transcoder output buffer (TOB) so as to obtain a transcoded data stream (DST).    
     
     
         2 . A method as claimed in    claim 1   , wherein the data stream (DS) comprises control codes (CC), a control code (CC) defining a decoder input buffer delay (ΔTdib) for a coded data portion (P) associated therewith, the input buffer delay (ΔTdib) being the difference between an instant (Twd 1 ) when the coded data portion (P) is written into a decoder input buffer (DIB 1 ) and an instant (Trd 1 ) when the coded data portion (P) is to be read from the decoder input buffer (DIB 1 ), characterized in that the method comprises the steps of: 
 calculating a transcoder output buffer delay (ΔTtob) being the difference between an instant (Twt) when a transcoded data portion (PT) obtained by transcoding the coded data portion (P) is written into the transcoder output buffer (TOB), and an instance (Trt) when the transcoded data portion (PT) is read from transcoder output buffer (TOB);  
 calculating a new decoder input buffer delay (ΔTdib_new) which is substantially equal to the sum of the decoder input buffer delay (ΔTdib) and a transcoding delay (ΔTtrans) minus the transcoder output buffer delay (ΔTtob); and  
 providing, for the transcoded data portion (PT), an adapted control code (CCA) which defines the new decoder input buffer delay (ΔTdib_new).  
 
     
     
         3 . A method as claimed in    claim 2   , characterized in that the method comprises the steps of: 
 calculating a transcoder output buffer fullness (Ftob) being the amount of data (A-B) contained in the transcoder output buffer at the instant (Twt) when the transcoded data portion (PT) is written into the transcoder output buffer (TOB);    calculating a decoder input buffer fullness (Fdib) being the amount of data (B-C) which will be contained in a decoder input buffer receiving the transcoded data stream at an instant (Trd) when the transcoded coded data portion (PT) is to be read from the decoder input buffer, the decoder input buffer fullness (Fdib) being calculated on the basis of the transcoder output buffer fullness (Ftob), a projected bitrate (R) for the transcoded data stream, and the sum of the decoder input buffer delay (ΔTdib) and the transcoding delay (ΔTtrans); and    adjusting a quantization parameter (QP) determining the amount of data (XPT) which will be comprised in the transcoded data portion (PT) in dependence on the decoder input buffer fullness (Fdib).    
     
     
         4 . A method as claimed in    claim 3   , characterized in that the method comprises the steps of: 
 determining a target (Ttarget) for the amount of data (XPT) to be comprised in the transcoded data portion (PT);    verifying if the target (Ttarget) exceeds the input decoder buffer fullness (Fdib) and, if so, reducing the target (Ttarget) so as to obtain a verified target (Ttarget_ver) which does not exceed the decoder input buffer fullness (Fdib);    adjusting the quantization parameter (QP) on the basis of the verified target (Ttarget).    
     
     
         5 . A method as claimed in    claim 2   , wherein there is a fixed time interval (ΔTpt) between instancts when successive transcoded data portions (PT) are to be read from a decoder input buffer receiving the transcoded data stream, characterized in that the method comprises the steps of: 
 determining a target (Ttarget) for the amount of data (XPT) to be comprised in the transcoded data portion (PT);  
 calculating a transcoder output buffer fullness (Ftob) being the amount of data (A-B) contained in the transcoder output buffer (TOB) at the instant (Twt(i)) when the transcoded data portion (PT) is written into the transcoder output buffer (TOB);  
 calculating a subsequent decoder input buffer fullness (Fdib_next) being the amount of data (B-C) which will be contained in the decoder input buffer at an instant (Trd(i+1)−δ) just before a subsequent transcoded coded data portion PT(i+1) is to be read from the decoder input buffer, the next decoder input buffer fullness (Fdib_next) being calculated on the basis of the target (Ttarget), the transcoder buffer fillness (Ftob), a projected bit-rate (R) for the transcoded data stream, and the sum of the decoder input buffer delay (ΔTdib), the transcoding delay (ΔTtrans) and the fixed time interval (Tpt);  
 verifying if the next decoder input buffer fullness (Fdib_next) exceeds a predefined maximum (MAX) and, if so, increasing the target (Ttarget) so as to obtain a verified target (Ttarget_ver) for which the next decoder input buffer fullness (Fdib_next) does not exceed the predefined maximum MAX;  
 adjusting the quantization parameter (QP) determining the amount of data (XPT) comprised in the transcoded data portion (PT) on the basis of the verified target (Ttarget_ver).  
 
     
     
         6 . A method as claimed in    claim 2   , wherein a transcoded data portion precedes the transcoded data portion mentioned in    claim 2   , these data portions being hereinafter referred to as current transcoded data portion (PT(i−k)) and future transcoded data portion (PT(i)), respectively, characterized in that the method comprises the steps of: 
 defining a desired decoder input buffer fullness (Fdib_des) being the amount of data (B-C) which the decoder input buffer should preferably contain at the instant (Trd(i)) when the future transcoded data portion (PT(i)) is to be read from the decoder input buffer;  
 predicting the decoder input buffer delay (ΔTdib) associated with the future data portion (PT(i−k));  
 calculating a desired transcoder output buffer fullness (Ftob_des) being the amount of data (A-B) which the transcoder buffer should preferably contain at the instant (Twt(i)) when the future transcoded data portion (PT(i)) is to be written in the transcoder output buffer; the desired transcoder output buffer fullness (Ftob_des) being calculated on the basis of the projected bit-rate (R) for the transcoded data stream and sum of the predicted decoder input buffer delay (ΔTdib) and the transcoding delay (ΔTtrans); and  
 adjusting the quantization parameter (QP) determining the amount of data XPT(i−k) comprised in the current transcoded data portion (XPT(i−k)) on the basis of the desired transcoder output buffer fullness (Ftob_des).  
 
     
     
         7 . A transcoder for transcoding a data stream (DS) comprising a time multiplex of coded data (D) and control data (C), the transcoder comprising a transcoder circuit (TRC) for transcoding the coded data (D) so as to obtain transcoded data (DT) which differs in size from the coded data (D), characterized in that the transcoder comprises: 
 a controller (CON) for adapting the control data (C) for the transcoded data (DT) so as to obtain adapted control data (CA) which is substantially equal in size to the control data (C); and    a transcoder output buffer (TOB) for providing the transcoded data (DT) and the adapted control data (CA) in the form of a transcoded data stream (DST).    
     
     
         8 . A transcoded data stream (DST) which has been obtained by transcoding a data stream (DS) comprising control codes (CC) and coded data portions (P), each control code (CC) defining a decoder input buffer delay (ΔTdib) for a coded data portion (P) associated thereto, the input buffer delay (ΔTdib) being the difference between an instance (Trw 1 ) at which the coded data portion (P) is written into a decoder input buffer (DIB 1 ) and an instance (Trd 1 ) at which the coded data portion (P) is to be read from the decoder input buffer (DIB 1 ), characterized in that the transcoded data stream (DST) comprises an adapted control code (CCA) which defines a new decoder input buffer delay (ΔTdib_new).  
     
     
         9 . A method as claimed in    claim 1   , wherein the data stream (DS) comprises control codes (CC), a control code (CC) defining a decoder input buffer delay (ΔTdib) for a coded data portion (P) associated therewith, the decoder input buffer delay (ΔTdib) being the difference between an instant (Twd 1 ) when the coded data portion (P) is written into a decoder input buffer (DIB 1 ) and an instant (Trd 1 ) when the coded data portion (P) is to be read from the decoder input buffer (DIB 1 ), characterized in that the method comprises the steps of: 
 calculating a value for a quantization parameter (QP) on the basis of the decoder input buffer delay (ΔTdib), the quantization parameter (QP) determining the amount of data (XPT) which will be comprised in the transcoded data portion (PT) obtained by transcoding the coded data portion (P).  
 
     
     
         10 . A transcoder as claimed in    claim 7   , wherein the data stream (DS) comprises control codes (CC), a control code (CC) defining a decoder input buffer delay (ΔTdib) for a coded data portion (P) associated therewith, the decoder input buffer delay (ΔTdib) being the difference between an instant (Twd 1 ) when the coded data portion (P) is written into a decoder input buffer (DIB 1 ) and an instant (Trd 1 ) when the coded data portion (P) is to be read from the decoder input buffer (DIB 1 ), characterized in that the transcoder comprises: 
 a controller (CON) being programmed for calculating a value for a quantization parameter (QP) on the basis of the decoder input buffer delay (ΔTdib), the quantization parameter (QP) determining the amount of data (XPT) which will be comprised in the transcoded data portion (PT) obtained by transcoding the coded data portion (P).  
 
     
     
         11 . A computer program product for use in a transcoder as claimed in    claim 7   , characterized in that the computer program product comprises a set of instructions for carrying out the method as claimed in    claim 9   .

Join the waitlist — get patent alerts

Track US2001000138A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.