Claims
- 1. A method of encoding a digital video bit stream which includes a plurality of successively-encoded pictures, including the steps of:
- constructing a seamless In Point in accordance with a constraint expressed by the following equation (1):
- dd.sub.f.sbsb.--.sub.ip .ltoreq.minimum {DD.sub.thr.sbsb.--.sub.ip, (B.sub.d /r.sub.n.sbsb.--.sub.ip)}, (1)
- where dd.sub.f.sbsb.--.sub.ip represents an amount of time by which a first byte of the digital video bit stream after the seamless In Point must stay in a decoder buffer before it is decoded; B.sub.d is a size of the decoder buffer; r.sub.n.sbsb.--.sub.ip is a bit rate at which the digital video bit stream is normally encoded at the seamless In Point; and, DD.sub.thr.sbsb.--.sub.ip represents a prescribed minimum decoding delay threshold for seamless In Points, where DD.sub.thr.sbsb.--.sub.ip is defined by the following equation (2):
- DD.sub.thr.sbsb.--.sub.ip =((MSR/r.sub.n.sbsb.--.sub.ip)*SDD)+T.sub.p.sbsb.--.sub.i *(1-(MSR/r.sub.n.sbsb.--.sub.ip), (2)
- where T.sub.p.sbsb.--.sub.i is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the seamless In Point; SDD is a prescribed splice decoding delay; and, MSR is a prescribed maximum splice rate; and,
- inserting the seamless In Point at a first point in the digital video bit stream at which another digital video bit stream can be spliced into the digital video bit stream.
- 2. The method as set forth in claim 1, further including the steps of:
- determining if MSR>r.sub.n.sbsb.--.sub.ip,
- selecting dd.sub.f.sbsb.--.sub.ip to have a value.ltoreq.SDD if it is determined that MSR is greater than r.sub.n.sbsb.--.sub.ip ; and,
- selecting dd.sub.f.sbsb.--.sub.ip to have a value dd.sub.r.sbsb.--.sub.ip defined by the following equation (3) if it is determined that MSR is not greater than r.sub.n.sbsb.--.sub.ip :
- dd.sub.r.sbsb.--.sub.ip =(MSR/r.sub.n.sbsb.--.sub.ip)*SDD (3).
- 3. The method as set forth in claim 1, wherein r.sub.n.sbsb.--.sub.ip >MSR.
- 4. The method as set forth in claim 1, wherein dd.sub.f.sbsb.--.sub.ip is selected to have a value dd.sub.r.sbsb.--.sub.ip defined by the following equation (3):
- dd.sub.r.sbsb.--.sub.ip =(MSR/r.sub.n.sbsb.--.sub.ip)*SDD (3).
- 5. The method as set forth in claim 1, wherein MSR and SDD are selected to have values that satisfy a constraint expressed by the following equation (4):
- MSR*SDD<B.sub.d ( 4).
- 6. The method as set forth in claim 2, wherein MSR and SDD are selected to have values that satisfy a constraint expressed by the following equation (4):
- MSR*SDD<B.sub.d ( 4).
- 7. The method as set forth in claim 1, wherein the digital video bit stream comprises an MPEG-2 compliant bit stream.
- 8. The method as set forth in claim 1, wherein SDD and MSR are selected to have specific values in accordance with an MPEG standard.
- 9. The method as set forth in claim 1, wherein SDD and MSR are selected to have specific values in accordance with SMPTE standard.
- 10. The method as set forth in claim 1, further including the steps of:
- constructing a seamless Out Point in accordance with a constraint expressed by the following equation (5):
- DD.sub.thr.sbsb.--.sub.op .ltoreq.dd.sub.f.sbsb.--.sub.op .ltoreq.(B.sub.d /r.sub.n.sbsb.--.sub.op), (5)
- where dd.sub.f.sbsb.--.sub.op represents an amount of time by which a first byte of the digital video bit stream after the seamless Out Point must stay in a decoder buffer before it is decoded; r.sub.n.sbsb.--.sub.op is a bit rate at which the first digital video bit stream is normally encoded at the seamless Out Point; and, DD.sub.thr.sbsb.--.sub.op represents a prescribed minimum decoding delay threshold for seamless Out Points, where DD.sub.thr.sbsb.--.sub.op is defined by the following equation (6):
- DD.sub.thr.sbsb.--.sub.op =((MSR/r.sub.n.sbsb.--.sub.op)*SDD)-T.sub.p.sbsb.--.sub.o *((MSR/r.sub.n.sbsb.--.sub.op)-1), (6)
- where T.sub.p.sbsb.--.sub.o is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the seamless Out Point; and,
- inserting the seamless Out Point at a second point in the digital video bit stream at which it can be spliced into another digital video bit stream.
- 11. The method as set forth in claim 10, further including the steps of:
- determining if MSR>r.sub.n.sbsb.--.sub.op ;
- selecting dd.sub.f.sbsb.--.sub.op to have a value.ltoreq.SDD if it is determined that MSR is not greater than r.sub.n.sbsb.--.sub.op, within a constraint that dd.sub.f.sbsb.--.sub.op *r.sub.n.sbsb.--.sub.op <B.sub.d ; and,
- selecting dd.sub.f.sbsb.--.sub.op to have a value dd.sub.r.sbsb.--.sub.op defined by the following equation (7) if it is determined that MSR is greater than r.sub.n.sbsb.--.sub.op :
- dd.sub.r.sbsb.--.sub.op =(MSR/r.sub.n.sbsb.--.sub.op)*SDD (7).
- 12. The method as set forth in claim 10, wherein r.sub.n.sbsb.--.sub.op<MSR.
- 13. The method as set forth in claim 10, wherein dd.sub.f.sbsb.--.sub.op is selected to have a value dd.sub.r.sbsb.--.sub.op defined by the following equation (7):
- dd.sub.r.sbsb.--.sub.op =(MSR/r.sub.n.sbsb.--.sub.op)*SDD (7).
- 14. The method as set forth in claim 10, wherein MSR and SDD are selected to have values that satisfy a constraint expressed by the following equation (4):
- MSR*SDD<B.sub.d ( 4).
- 15. The method as set forth in claim 11, wherein MSR and SDD are selected to have values that satisfy a constraint expressed by the following equation (4):
- MSR*SDD<B.sub.d ( 4).
- 16.
- 16. A method of encoding a digital video bit stream which includes a plurality of successively-encoded pictures, including the steps of:
- constructing a seamless Out Point in accordance with a constraint expressed by the following equation (1):
- DD.sub.thr.sbsb.--.sub.op .ltoreq.dd.sub.f.sbsb.--.sub.op .ltoreq.(B.sub.d /r.sub.n.sbsb.--.sub.op), (1)
- where dd.sub..sbsb.--.sub.op represents an amount of time by which a first byte of the digital video bit stream after the seamless Out Point must stay in a decoder buffer before it is decoded; B.sub.d is a size of the decoder buffer; r.sub.n.sbsb.--.sub.op is a bit rate at which the digital video bit stream is normally encoded at the seamless Out Point; and, DD.sub.thr.sbsb.--.sub.op represents a prescribed minimum decoding delay threshold for seamless Out Points, where DD.sub.thr.sbsb.--.sub.op is defined by the following equation (2):
- DD.sub.thr.sbsb.--.sub.op =((MSR/r.sub.n.sbsb.--.sub.op) *SDD)-T.sub.p.sbsb.--.sub.o * ((MSR/r.sub.n.sbsb.--.sub.op)- 1),(2)
- where T.sub.p.sbsb.--.sub.o is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the seamless Out Point; SDD is a prescribed splice decoding delay; and, MSR is a prescribed maximum splice rate; and,
- inserting the seamless Out Point at a first point in the digital video bit stream at which it can be spliced into another digital video bit stream.
- 17. The method as set forth in claim 16, further including the steps of:
- determining if MSR>r.sub.n.sbsb.--.sub.op ;
- selecting dd.sub.f.sbsb.--.sub.op to have a value .gtoreq.SDD if it is determined that MSR is not greater than r.sub.n.sbsb.--.sub.op, within a constraint that dd.sub.f.sbsb.--.sub.op * r.sub.n.sbsb.--.sub.op <B.sub.d ; and,
- selecting dd.sub.f.sbsb.--.sub.op to have a value dd.sub.r.sbsb.--.sub.op defined by the following equation (3) if it is determined that MSR is greater than r.sub.n.sbsb.--.sub.op :
- dd.sub.r.sbsb.--.sub.op =(MSR/r.sub.n.sbsb.--.sub.op)* SDD (3).
- 18. The method as set forth in claim 16, wherein r.sub.n.sbsb.--.sub.op <MSR.
- 19. The method as set forth in claim 16, wherein dd.sub.f.sbsb.--.sub.op is selected to have a value dd.sub.r.sbsb.--.sub.op defined by the following equation (3):
- dd.sub.r.sbsb.--.sub.op =(MSR/r.sub.n.sbsb.--.sub.op)* SDD (3).
- 20. The method as set forth in claim 16, wherein MSR and SDD are selected to have values that satisfy a constraint expressed by the following equation (4):
- MSR*SDD<B.sub.d (4).
- 21. The method as set forth in claim 17, wherein MSR and SDD are selected to have values that satisfy a constraint expressed by the following equation (4):
- MSR*SDD<B.sub.d (4).
- 22. A method for splicing a first digital video bit stream at an Out Point into a second digital video bit stream at an In Point, the method including the steps of:
- measuring dd.sub.f.sbsb.--.sub.op ;
- measuring dd.sub.f.sbsb.--.sub.ip ;
- computing a difference W equal to dd.sub.f.sbsb.--.sub.op -dd.sub.f.sbsb.--.sub.ip ;
- switching from the Out Point; and,
- after switching from the Out Point, waiting an amount of time equal to W, and then switching into the In Point;
- wherein dd.sub.f.sbsb.--.sub.ip represents an amount of time by which a first byte of the second digital video bit stream after the In Point must stay in a decoder buffer before it is decoded, and dd.sub.f.sbsb.--.sub.op represents an amount of time by which a first byte of the first digital video bit stream after the Out Point must stay in the decoder buffer before it is decoded.
- 23. The method as set forth in claim 22, wherein the step of waiting is carried out by sending null packets for the duration of the waiting time W.
- 24. The method as set forth in claim 22, wherein the Out Point is constructed by:
- constructing the Out Point in accordance with a constraint expressed by the following equation (1):
- DD.sub.thr.sbsb.--.sub.op <dd.sub.f.sbsb.--.sub.op <(B.sub.d /r.sub.n.sbsb.--.sub.op), (1)
- where B.sub.d is a size of the decoder buffer; r.sub.n.sbsb.--.sub.op is a bit rate at which the first digital video bit stream is normally encoded at the Out Point; and, DD.sub.thr.sbsb.--.sub.op represents a prescribed minimum decoding delay threshold for Out Points defined by the following equation (2);
- DD.sub.thr.sbsb.--.sub.op =((MSR/r.sub.n.sbsb.--.sub.op)* SDD)-T.sub.p.sbsb.--.sub.o * (MSR/r.sub.n.sbsb.--.sub.op)-1),(2)
- where T.sub.p.sbsb.--.sub.o is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the Out Point; SDD is a prescribed splice decoding delay; and, MSR is a prescribed maximum splice rate; and,
- inserting the Out Point at a first point in the first digital video bit stream at which it can be spliced into another digital video bit stream.
- 25. The method as set forth in claim 22, wherein the In Point is constructed by:
- constructing the In Point in accordance with a constraint expressed by the following equation (1):
- dd.sub.f.sbsb.--.sub.ip <miminum {DD.sub.thr.sbsb.--.sub.ip, (B.sub.d /r.sub.n.sbsb.--.sub.ip)}, (1)
- where B.sub.d is a size of the decoder buffer; r.sub.n.sbsb.--.sub.ip is a bit rate at which the second digital video bit stream is normally encoded at the In Point; and, DD.sub.thr.sbsb.--.sub.ip represents a prescribed minimum decoding delay threshold for In Points defined by the following equation (2):
- DD.sub.thr.sbsb.--.sub.ip =((MSR/r.sub.n.sbsb.--.sub.ip)* SDD)-T.sub.p.sbsb.--.sub.i * (1-MSR/r.sub.n.sbsb.--.sub.ip),(2)
- where T.sub.p.sbsb.--.sub.i is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the In Point; SDD is a prescribed splice decoding delay; and, MSR is a prescribed maximum splice rate; and,
- inserting the In Point at a first point in the second digital video bit stream at which it can be spliced into another digital video bit stream.
- 26. The method as set forth in claim 24, wherein the In Point is constructed by:
- constructing the In Point in accordance with a constraint expressed by the following equation (1);
- dd.sub.f.sbsb.--.sub.ip <miminum {DD.sub.thr.sbsb.--.sub.ip, (B.sub.d /r.sub.n.sbsb.--.sub.ip)}, (1)
- where r.sub.n.sbsb.--.sub.ip is a bit rate at which the second digital video bit stream is normally encoded at the In Point; and, DD.sub.thr.sbsb.--.sub.ip represents a prescribed minimum decoding delay threshold for In Points defined by the following equation (2):
- DD.sub.thr.sbsb.--.sub.ip =((MSR/r.sub.n.sbsb.--.sub.ip)* SDD)-T.sub.p.sbsb.--.sub.i * (1-MSR/r.sub.n.sbsb.--.sub.ip),(2
- where T.sub.p.sbsb.--.sub.i is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the In Point; and,
- inserting the In Point at a first point in the second digital video bit stream at which it can be spliced into another digital video bit stream.
- 27. The method as set forth in claim 22, wherein the In Point is a seamless In Point and the Out Point is a non-seamless Out Point, whereby the switching is seamless if the following two constraints are satisfied:
- a) dd.sub.f.sbsb.--.sub.op >dd.sub.f.sbsb.--.sub.ip ; and,
- b) r.sub.n.sbsb.--.sub.op>r.sub.n.sbsb.--.sub.ip ;
- where r.sub.n.sbsb.--.sub.ip is a bit rate at which the second digital video bit stream is normally encoded at the In Point; and, r.sub.n.sbsb.--.sub.op is a bit rate at which the first digital video bit stream is normally encoded at the Out Point.
- 28. The method as set forth in claim 22, wherein the In Point is a non-seamless In Point and the Out Point is a non-seamless Out Point, whereby the switching is seamless if the following two constraints are satisfied:
- a) dd.sub.f.sbsb.--.sub.op >dd.sub.f.sbsb.--.sub.ip ; and,
- b) r.sub.n.sbsb.--.sub.op >r.sub.n.sbsb.--.sub.ip ;
- where r.sub.n.sbsb.--.sub.ip is a bit rate at which the second digital video bit stream is normally encoded at the In Point; and, r.sub.n.sbsb.--.sub.op is a bit rate at which the first digital video bit stream is normally encoded at the Out Point.
- 29. The method as set forth in claim 22, wherein the In Point is a non-seamless In Point and the Out Point is a seamless Out Point, whereby the switching is seamless if the following two constraints are satisfied:
- a) dd.sub.f.sbsb.--.sub.op >dd.sub.f.sbsb.--.sub.ip ; and,
- b) r.sub.n.sbsb.--.sub.op >r.sub.n.sbsb.--.sub.ip ;
- where r.sub.n.sbsb.--.sub.ip is a bit rate at which the second digital video bit stream is normally encoded at the In Point; and, r.sub.n.sbsb.--.sub.op is a bit rate at which the first digital video bit stream is normally encoded at the Out Point.
- 30. A method for splicing a first digital video bit stream at an Out Point into a second digital video bit stream at an In Point, the method including the steps of:
- measuring dd.sub.f.sbsb.--.sub.op ;
- measuring dd.sub.f.sbsb.--.sub.ip ;
- computing a difference W equal to dd.sub.f.sbsb.--.sub.op -dd.sub.f.sbsb.--.sub.ip ;
- switching from the Out Point;
- streaming the second digital video bit stream at a first rate R.sub.w .ltoreq.r.sub.n.sbsb.--.sub.op for a first time period having a duration equal to W; and,
- then streaming the second digital video bit stream for a second time period having a duration dd'.sub.f.sbsb.--.sub.ip at a second rate R.sub.sp.sbsb.--.sub.in defined by the following equation:
- R.sub.sp.sbsb.--.sub.in =((r.sub.n.sbsb.--.sub.IP * dd'.sub.f.sbsb.--.sub.ip)-(R.sub.w *W))/dd'.sub.f.sbsb.--.sub.ip,
- where dd'.sub.f.sbsb.--.sub.ip =dd.sub.f.sbsb.--.sub.ip -T.sub.p.sbsb.--.sub.o ; T.sub.p.sbsb.--.sub.o is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the Out Point; dd.sub.f.sbsb.--.sub.ip represents an amount of time by which a first byte of the second digital video bit stream after the In Point must stay in a decoder buffer before it is decoded; dd.sub.f.sbsb.--.sub.op represents an amount of time by which a first byte of the first digital video bit stream after the Out Point must stay in the decoder buffer before it is decoded; r.sub.n.sbsb.--.sub.ip is a bit rate at which the second digital video bit stream is normally encoded at the In Point; and, r.sub.n.sbsb.--.sub.op is a bit rate at which the first digital video bit stream is normally encoded at the Out Point.
- 31. The method as set forth in claim 30, wherein the Out Point is constructed by:
- constructing the Out Point in accordance with a constraint expressed by the following equation (1):
- DD.sub.thr.sbsb.--.sub.op <dd.sub.f.sbsb.--.sub.op <(B.sub.d /r.sub.n.sbsb.--.sub.op), (1)
- where B.sub.d is a size of the decoder buffer; and, DD.sub.thr.sbsb.--.sub.op represents a prescribed minimum decoding delay threshold for Out Points defined by the following equation (2):
- DD.sub.thr.sbsb.--.sub.op =((MSR/r.sub.n.sbsb.--.sub.op)* SDD)-T.sub.p.sbsb.--.sub.o * (MSR/r.sub.n.sbsb.--.sub.op)-1),(2)
- where SDD is prescribed splice decoding delay; and, MSR is a prescribed maximum splice rate; and,
- inserting the Out Point at a first point in the first digital video bit stream at which it can be spliced into another digital video bit stream.
- 32. The method as set forth in claim 30, wherein the In Point is constructed by:
- constructing the In Point in accordance with a constraint expressed by the following equation (1):
- dd.sub.f.sbsb.--.sub.ip <miminum {DD.sub.thr.sbsb.--.sub.ip, (B.sub.d /r.sub.n.sbsb.--.sub.ip)}, (1)
- where B.sub.d is a size of the decoder buffer; and, DD.sub.thr.sbsb.--.sub.ip represents a prescribed minimum decoding delay threshold for In Points defined by the following equation (2):
- DD.sub.thr.sbsb.--.sub.ip =((MSR/r.sub.n.sbsb.--.sub.ip)* SDD)-T.sub.p.sbsb.--.sub.i * (1-MSR/r.sub.n.sbsb.--.sub.ip),(2)
- where T.sub.p.sbsb.--.sub.i is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the In Point; SDD is a prescribed splice decoding delay; and, MSR is a prescribed maximum splice rate; and,
- inserting the In Point at a first point in the second digital video bit stream at which it can be spliced into another digital video bit stream.
- 33. The method as set forth in claim 31, wherein the In Point is constructed by:
- constructing the In Point in accordance with a constraint expressed by the following equation (1):
- dd.sub.f.sbsb.--.sub.ip <miminum {DD.sub.thr.sbsb.--.sub.ip, (B.sub.d /r.sub.n.sbsb.--.sub.ip)}, (1)
- where DD.sub.thr.sbsb.--.sub.ip represents a prescribed minimum decoding delay threshold for In Points defined by the following equation (2):
- DD.sub.thr.sbsb.--.sub.ip =((MSR/r.sub.n.sbsb.--.sub.ip)* SDD)-T.sub.p.sbsb.--.sub.i * (1-MSR/r.sub.n.sbsb.--.sub.ip),(2)
- where T.sub.p.sbsb.--.sub.i is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the In Point; and,
- inserting the In Point at a first point in the second digital video bit stream at which it can be spliced into another digital video bit stream.
- 34. The method as set forth in claim 30, wherein the In Point is a seamless In Point and the Out Point is a non-seamless Out Point, whereby the switching is seamless if the following two constraints are satisfied:
- a) dd.sub.f.sbsb.--.sub.op >dd.sub.f.sbsb.--.sub.ip ; and,
- b) r.sub.n.sbsb.--.sub.op >r.sub.n.sbsb.--.sub.ip.
- 35. The method as set forth in claim 30, wherein the In Point is a non-seamless In Point and the Out Point is a non-seamless Out Point, whereby the switching is seamless if the following two constraints are satisfied:
- a) dd.sub.f.sbsb.--.sub.op >dd.sub.f.sbsb.--.sub.ip ; and
- b) r.sub.n.sbsb.--.sub.op >r.sub.n.sbsb.--.sub.ip.
- 36. The method as set forth in claim 30, wherein the In Point is a non-seamless In Point and the Out Point is a seamless Out Point, whereby the switching is seamless if the following two constraints are satisfied:
- a) dd.sub.f.sbsb.--.sub.op >dd.sub.f.sbsb.--.sub.ip ; and,
- b) r.sub.n.sbsb.--.sub.op >r.sub.n.sbsb.--.sub.ip.
- 37. A method for splicing a first digital video bit stream at an Out Point into a second digital video bit stream at an In Point, the method including the steps of:
- measuring dd.sub.f.sbsb.--.sub.op ;
- measuring dd.sub.f.sbsb.--.sub.ip ;
- computing a difference W equal to dd.sub.f.sbsb.--.sub.op -dd.sub.f.sbsb.--.sub.ip ;
- computing a stream bit rate R.sub.sp.sbsb.--.sub.op according to the following equation (1):
- R.sub.sp.sbsb.--.sub.op =(dd.sub.f.sbsb.--.sub.ip /dd.sub.f.sbsb.--.sub.op)* r.sub.n.sbsb.--.sub.ip ; (1)
- determining if R.sub.sp.sbsb.--.sub.op .ltoreq.r.sub.n.sbsb.--.sub.op ;
- if it is determined that R.sub.sp.sbsb.--.sub.op .ltoreq.r.sub.n.sbsb.--.sub.op, then switching from the Out Point and streaming the second digital video bit stream at the rate R.sub.sp.sbsb.--.sub.op for the duration of dd.sub.f.sbsb.--.sub.op ;
- if it is determined that R.sub.sp.sbsb.--.sub.op >r.sub.n.sbsb.--.sub.op, then switching from the Out Point and performing a selected on of the following two possible procedures:
- (i) waiting an amount of time equal to W, and then switching into the In Point; or,
- (ii) (A) streaming the second digital video bit stream at a first rate R.sub.w .ltoreq.r.sub.n.sbsb.--.sub.op for a first time period having a duration equal to W; and
- then streaming the second digital video bit stream for a second time period having a duration dd'.sub.f.sbsb.--.sub.ip at a second rate R.sub.sp.sbsb.--.sub.in defined by the following equation (2):
- R.sub.sp.sbsb.--.sub.in =((r.sub.n.sbsb.--.sub.ip * dd'.sub.f.sbsb.--.sub.ip)-(R.sub.w *W))/dd'.sub.f.sbsb.--.sub.ip,(2)
- where dd'.sub.f.sbsb.--.sub.ip =dd.sub.f.sbsb.--.sub.ip -T.sub.p.sbsb.--.sub.o ; T.sub.p.sbsb.--.sub.o is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the Out Point; dd.sub.f.sbsb.--.sub.ip represents an amount of time by which a first byte of the second digital video bit stream after the In Point must stay in a decoder buffer before it is decoded; dd.sub.f.sbsb.--.sub.op represents an amount of time by which a first byte of the first digital video bit stream after the Out Point must stay in the decoder buffer before it is decoded; r.sub.n.sbsb.--.sub.ip is a bit rate at which the second digital video bit stream is normally encoded at the In Point; and, r.sub.n.sbsb.--.sub.op is a bit rate at which the first digital video bit stream is normally encoded at the Out Point.
- 38. The method as set forth in claim 37, wherein the Out Point is constructed by:
- constructing the Out Point in accordance with a constraint expressed by the following equation (3):
- DD.sub.thr.sbsb.--.sub.op <dd.sub.f.sbsb.--.sub.op <(B.sub.d /r.sub.n.sbsb.--.sub.op), (3)
- where B.sub.d is a size of the decoder buffer; and, DD.sub.thr.sbsb.--.sub.op represents a prescribed minimum decoding delay threshold for Out Points defined by the following equation (4):
- DD.sub.thr.sbsb.--.sub.op =((MSR/r.sub.n.sbsb.--.sub.op)* SDD))-T.sub.p.sbsb.--.sub.o * (MSR/r.sub.n.sbsb.--.sub.op)-1),(4)
- where SDD is a prescribed splice decoding delay; and, MSR is a prescribed maximum splice rate; and,
- inserting the Out Point at a first point in the first digital video bit stream at which it can be spliced into another digital video bit stream.
- 39. The method as set forth in claim 30, wherein the In Point is constructed by:
- constructing the In Point in accordance with a constraint expressed by the following equation (3):
- dd.sub.f.sbsb.--.sub.ip <miminum {DD.sub.thr.sbsb.--.sub.ip, (B.sub.d /r.sub.n.sbsb.--.sub.ip)}, (3)
- where B.sub.d is a size of the decoder buffer; and, DD.sub.thr.sbsb.--.sub.ip represents a prescribed minimum decoding delay threshold for In Points defined by the following equation (4):
- DD.sub.thr.sbsb.--.sub.ip =((MSR/r.sub.n.sbsb.--.sub.ip)* SDD)-T.sub.p.sbsb.--.sub.i * (1-MSR/r.sub.n.sbsb.--.sub.ip),(4)
- where T.sub.p.sbsb.--.sub.i is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the In Point; SDD is a prescribed splice decoding delay; and, MSR is a prescribed maximum splice rate; and,
- inserting the In Point at a first point in the second digital video bit stream at which it can be spliced into another digital video bit stream.
- 40. The method as set forth in claim 38, wherein the In Point is constructed by:
- constructing the In Point in accordance with a constraint expressed by the following equation (3):
- dd.sub.f.sbsb.--.sub.ip <miminum {DD.sub.thr.sbsb.--.sub.ip, (B.sub.d /r.sub.n.sbsb.--.sub.ip)}, (3)
- where DD.sub.thr.sbsb.--.sub.ip represents a prescribed minimum decoding delay threshold for In Points defined by the following equation (4):
- DD.sub.thr.sbsb.--.sub.ip =((MSR/r.sub.n.sbsb.--.sub.ip)* SDD)-T.sub.p.sbsb.--.sub.i * (1-MSR/r.sub.n.sbsb.--.sub.ip),(4)
- where T.sub.p.sbsb.--.sub.i is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the In Point; and,
- inserting the In Point at a first point in the second digital video bit stream at which it can be spliced into another digital video bit stream.
- 41. The method as set forth in claim 37, wherein the In Point is a seamless In Point and the Out Point is a non-seamless Out Point, whereby the switching is seamless if the following two constraints are satisfied:
- a) dd.sub.f.sbsb.--.sub.op >dd.sub.f.sbsb.--.sub.ip ; and,
- b) r.sub.n.sbsb.--.sub.op >r.sub.n.sbsb.--.sub.ip.
- 42. The method as set forth in claim 37, wherein the In Point is a non-seamless In Point and the Out Point is a non-seamless Out Point, whereby the switching is seamless if the following two constraints are satisfied:
- a) dd.sub.f.sbsb.--.sub.op >dd.sub.f.sbsb.--.sub.ip ; and,
- b) r.sub.n.sbsb.--.sub.op >r.sub.n.sbsb.--.sub.ip.
- 43. The method as set forth in claim 37, wherein the In Point is a non-seamless In Point and the Out Point is a seamless Out Point, whereby the switching is seamless if the following two constraints are satisfied:
- a) dd.sub.f.sbsb.--.sub.op >dd.sub.f.sbsb.--.sub.ip ; and,
- b) r.sub.n.sbsb.--.sub.op >r.sub.n.sbsb.--.sub.ip.
- 44. A video signal comprising a first digital video bit stream spliced together at an Out Point with a second digital video bit stream at an In Point, wherein:
- the In Point is constructed by:
- constructing the In Point in accordance with a constraint expressed by the following equation (1):
- dd.sub.f.sbsb.--.sub.ip <miminum {DD.sub.thr.sbsb.--.sub.ip, (B.sub.d /r.sub.n.sbsb.--.sub.ip)}, (1)
- where dd.sub.f.sbsb.--.sub.ip represents an amount of time by which a first byte of the second digital video bit stream after the In Point must stay in a decoder buffer before it is decoded; B.sub.d is a size of the decoder buffer; r.sub.n.sbsb.--.sub.ip is a bit rate at which the second digital video bit stream is normally encoded at the In Point; and, DD.sub.thr.sbsb.--.sub.ip represents a prescribed minimum decoding delay threshold for In Points defined by the following equation (2):
- DD.sub.thr.sbsb.--.sub.ip =((MSR/r.sub.n.sbsb.--.sub.ip)*SDD)-T.sub.p.sbsb.--.sub.i *(1-MSR/r.sub.n.sbsb.--.sub.ip), (2)
- where T.sub.p.sbsb.--.sub.i is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the In Point; SDD is a prescribed splice decoding delay; and, MSR is a prescribed maximum splice rate; and,
- inserting the In Point at a first point in the second digital video bit stream at which it can be spliced into another digital video bit stream; and,
- the Out Point is constructed by:
- constructing the Out Point in accordance with a constraint expressed by the following equation (3):
- DD.sub.thr.sbsb.--.sub.op <dd.sub.f.sbsb.--.sub.op <(B.sub.d /r.sub.n.sbsb.--.sub.op), (3)
- where dd.sub.f.sbsb.--.sub.op represents an amount of time by which a first byte of the first digital video bit stream after the Out Point must stay in the decoder buffer before it is decoded; r.sub.n.sbsb.--.sub.op is a bit rate at which the first digital video bit stream is normally encoded at the Out Point; and, DD.sub.thr.sbsb.--.sub.op represents a prescribed minimum decoding delay threshold for Out Points defined by the following equation (4):
- DD.sub.thr.sbsb.--.sub.op =((MSR/r.sub.n.sbsb.--.sub.op)*SDD)-T.sub.p.sbsb.--.sub.o *(MSR/r.sub.n.sbsb.--.sub.op)-1), (4)
- where T.sub.p.sbsb.--.sub.o is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the Out Point; and,
- inserting the Out Point at a first point in the first digital video bit stream at which it can be spliced into another digital video bit stream.
- 45. The video signal as set forth in claim 44, wherein the first and second digital video bit streams are spliced together by:
- measuring dd.sub.f.sbsb.--.sub.op ;
- measuring dd.sub.f.sbsb.--.sub.ip ;
- computing a difference W equal to dd.sub.f.sbsb.--.sub.op -dd.sub.f.sbsb.--.sub.ip ;
- switching from the Out Point; and,
- after switching from the Out Point, waiting an amount of time equal to W, and then switching into the In Point.
- 46. The video signal as set forth in claim 44, wherein the first and second digital video bit streams are spliced together by:
- measuring dd.sub.f.sbsb.--.sub.op ;
- measuring dd.sub.f.sbsb.--.sub.ip ;
- computing a difference W equal to dd.sub.f.sbsb.--.sub.op -dd.sub.f.sbsb.--.sub.ip ;
- switching from the Out Point;
- streaming the second digital video bit stream at a first rate R.sub.w <r.sub.n.sbsb.--.sub.op for a first time period having a duration equal to W; and,
- then streaming the second digital video bit stream for a second time period having a duration dd'.sub.f.sbsb.--.sub.ip at a second rate R.sub.sp.sbsb.--.sub.in defined by the following equation:
- R.sub.sp.sbsb.--.sub.in =((r.sub.n.sbsb.--.sub.ip *dd'.sub.f.sbsb.--.sub.ip)-(R.sub.w *W))/dd'.sub.f.sbsb.--.sub.ip,
- where dd'.sub.f.sbsb.--.sub.ip =dd.sub.f.sbsb.--.sub.ip -t.sub.p.sbsb.--.sub.o.
- 47. The video signal as set forth in claim 44, wherein the first and second digital video bit streams are spliced together by:
- measuring dd.sub.f.sbsb.--.sub.op ;
- measuring dd.sub.f.sbsb.--.sub.ip ;
- computing a difference W equal to dd.sub.f.sbsb.--.sub.op -dd.sub.f.sbsb.--.sub.ip ;
- computing a stream bit rate R.sub.sp.sbsb.--.sub.op according to the following equation (1)
- R.sub.sp.sbsb.--.sub.op =(dd.sub.f.sbsb.--.sub.ip /dd.sub.f.sbsb.--.sub.op)*r.sub.n.sbsb.--.sub.ip ; (1)
- determining if R.sub.sp.sbsb.--.sub.op <r.sub.n.sbsb.--.sub.op ;
- if it is determined that R.sub.sp.sbsb.--.sub.op <r.sub.n.sbsb.--.sub.op, then switching from the Out Point and streaming the second digital video bit stream at the rate R.sub.sp.sbsb.--.sub.op for the duration of dd.sub.f.sbsb.--.sub.op ;
- if it is determined that R.sub.sp.sbsb.--.sub.op >r.sub.n.sbsb.--.sub.op, then switching from the Out Point and performing a selected one of the following two possible procedures:
- (i) waiting an amount of time equal to W, and then switching into the In Point; or,
- (ii) (A) streaming the second digital video bit stream at a first rate R.sub.w <r.sub.n.sbsb.--.sub.op for a first time period having a duration equal to W; and
- then streaming the second digital video bit stream for a second time period having a duration dd'.sub.f.sbsb.--.sub.ip at a second rate R.sub.sp.sbsb.--.sub.in defined by the following equation (2):
- R.sub.sp.sbsb.--.sub.in =((r.sub.n.sbsb.--.sub.ip *dd'.sub.f.sbsb.--.sub.ip)-(R.sub.w *W))/dd'.sub.f.sbsb.--.sub.ip,(2)
- where dd'.sub.f.sbsb.--.sub.ip =dd.sub.f.sbsb.--.sub.ip -t.sub.p.sbsb.--.sub.o.
- 48. A video signal comprising first and second digital video bit streams spliced together by:
- measuring dd.sub.f.sbsb.--.sub.op ;
- measuring dd.sub.f.sbsb.--.sub.ip ;
- computing a difference W equal to dd.sub.f.sbsb.--.sub.op -dd.sub.f.sbsb.--.sub.ip ;
- switching from an Out Point of the first digital vide obit stream; and,
- after switching from the Out Point, waiting an amount of time equal to W, and then switching into an In Point of the second digital video bit stream;
- wherein dd.sub.f.sbsb.--.sub.ip represents an amount of time by which a first byte of the second digital video bit stream after the In Point must stay in a decoder buffer before it is decoded, and dd.sub.f.sbsb.--.sub.op represents an amount of time by which a first byte of the first digital video bit stream after the Out Point must stay in the decoder buffer before it is decoded.
- 49. A video signal comprising first and second digital video bit streams spliced together by:
- measuring dd.sub.f.sbsb.--.sub.op ;
- measuring dd.sub.f.sbsb.--.sub.ip ;
- computing a difference W equal to dd.sub.f.sbsb.--.sub.op -dd.sub.f.sbsb.--.sub.ip ;
- switching from an Out Point of the first digital video bit stream;
- streaming the second digital video bit stream at a first rate R.sub.w <r.sub.n.sbsb.--.sub.op for a first time period having a duration equal to W; and,
- then streaming the second digital video bit stream for a second time period having a duration dd'.sub.f.sbsb.--.sub.ip at a second rate R.sub.sp.sbsb.--.sub.in defined by the following equation:
- R.sub.sp.sbsb.--.sub.in =((r.sub.n.sbsb.--.sub.ip *dd'.sub.f.sbsb.--.sub.ip)-(R.sub.w *W))/dd'.sub.f.sbsb.--.sub.ip,
- where dd'.sub.f.sbsb.--.sub.ip =dd.sub.f.sbsb.--.sub.ip -T.sub.p.sbsb.--.sub.o ; T.sub.p.sbsb.--.sub.o is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the Out Point; dd.sub.f.sbsb.--.sub.ip represents an amount of time by which a first byte of the second digital video bit stream after an In Point of the second digital video bit stream must stay in a decoder buffer before it is decoded; dd.sub.f.sbsb.--.sub.op represents an amount of time by which a first byte of the first digital video bit stream after the Out Point must stay in the decoder buffer before it is decoded; r.sub.n.sbsb.--.sub.ip is a bit rate at which the second digital video bit stream is normally encoded at the In Point; and, r.sub.n.sbsb.--.sub.op is a bit rate at which the first digital video bit stream is normally encoded at the Out Point.
- 50. A video signal comprising first and second digital video bit streams spliced together by:
- measuring dd.sub.f.sbsb.--.sub.op ;
- measuring dd.sub.f.sbsb.--.sub.ip ;
- computing a difference W equal to dd.sub.f.sbsb.--.sub.op -dd.sub.f.sbsb.--.sub.ip ;
- computing a stream bit rate R.sub.sp.sbsb.--.sub.op according to the following equation (1):
- R.sub.sp.sbsb.--.sub.op =(dd.sub.f.sbsb.--.sub.ip /dd.sub.f.sbsb.--.sub.op)*r.sub.n.sbsb.--.sub.ip ; (1)
- determining if R.sub.sp.sbsb.--.sub.op <r.sub.n.sbsb.--.sub.op ;
- if it is determined that R.sub.sp.sbsb.--.sub.op <r.sub.n.sbsb.--.sub.op, then switching from an Out Point of the first digital video bit stream and streaming the second digital video bit stream at the rate R.sub.sp.sbsb.--.sub.op for the duration of dd.sub.f.sbsb.--.sub.op ;
- if it is determined that R.sub.sp.sbsb.--.sub.op >r.sub.n.sbsb.--.sub.op then switching from the Out Point and performing a selected one of the following two possible procedures:
- (i) waiting an amount of time equal to W, and then switching into an In Point of the second digital video bit stream; or,
- (ii) (A) streaming the second digital video bit stream at a first rate R.sub.w <r.sub.n.sbsb.--.sub.op for a first time period having a duration equal to W; and,
- then streaming the second digital video bit stream for a second time period having a duration dd'.sub.f.sbsb.--.sub.ip at a second rate R.sub.sp.sbsb.--.sub.in defined by the following equation (2):
- R.sub.sp.sbsb.--.sub.in =((r.sub.n.sbsb.--.sub.ip *dd'.sub.f.sbsb.--.sub.ip)-(R.sub.w *W)/dd'.sub.f.sbsb.--.sub.ip,(2)
- where dd'.sub.f.sbsb.--.sub.ip =dd.sub.f.sbsb.--.sub.ip -T.sub.p.sbsb.--.sub.o ; T.sub.p.sbsb.--.sub.o is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the Out Point; dd.sub.f.sbsb.--.sub.ip represents an amount of time by which a first byte of the second digital video bit stream after the In Point must stay in a decoder buffer before it is decoded; dd.sub.f.sbsb.--.sub.op represents an amount of time by which a first byte of the first digital video bit stream after the Out Point must stay in the decoder buffer before it is decoded; r.sub.n.sbsb.--.sub.ip is a bit rate at which the second digital vide obit stream is normally encoded at the In Point; and, r.sub.n.sbsb.--.sub.op is a bit rate at which the first digital video bit stream is normally encoded at the Out Point.
- 51. A video signal comprising a digital video bit stream having a seamless In Point constructed in accordance with a constraint expressed by the following equation (1):
- dd.sub.f.sbsb.--.sub.ip .ltoreq.minimum {DD.sub.thr.sbsb.--.sub.ip, (B.sub.d /r.sub.n.sbsb.--.sub.ip)}, (1)
- where dd.sub.f.sbsb.--.sub.ip represents an amount of time by which a first byte of the digital video bit stream after the seamless In Point must stay in a decoder buffer before it is decoded; B.sub.d is a size of the decoder buffer; r.sub.n.sbsb.--.sub.ip is a bit rate at which the digital video bit stream is normally encoded at the seamless In Point; and, DD.sub.thr.sbsb.--.sub.ip represents a prescribed minimum decoding delay threshold for seamless In Points, where DD.sub.thr.sbsb.--.sub.ip is defined by the following equation (2):
- DD.sub.thr.sbsb.--.sub.ip =((MSR/r.sub.n.sbsb.--.sub.ip)* SSD)+T.sub.p.sbsb.--.sub.i *(1-(MSR/r.sub.n.sbsb.--.sub.ip),(2)
- where T.sub.p.sbsb.--.sub.i is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the seamless In Point; SDD is a prescribed splice decoding delay; and, MSR is a prescribed maximum splice rate.
- 52. A video signal comprising a digital video bit stream having a seamless Out Point constructed in accordance with a constraint expressed by the following equation (1):
- DD.sub.thr.sbsb.--.sub.op .ltoreq.dd.sub.f.sbsb.--.sub.op .ltoreq.(B.sub.d /r.sub.n.sbsb.--.sub.op), (1)
- where dd.sub.f.sbsb.--.sub.op represents an amount of time by which a first byte of the digital video bit stream after the seamless Out Point must stay in a decoder buffer before it is decoded; B.sub.d is a size of the decoder buffer; r.sub.n.sbsb.--.sub.op is a bit rate at which the digital video bit stream is normally encoded at the seamless Out Point; and, DD.sub.thr.sbsb.--.sub.op represents a prescribed minimum decoding delay threshold for seamless Out Points, where DD.sub.thr.sbsb.--.sub.op is defined by the following equation (2):
- DD.sub.thr.sbsb.--.sub.op =((MSR/r.sub.n.sbsb.--.sub.op)* SDD)-T.sub.p.sbsb.--.sub.o * ((MSR/r.sub.n.sbsb.--.sub.op)-1),(2)
- where T.sub.p.sbsb.--.sub.o is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the seamless Out Point; SDD is a prescribed splice decoding delay; and, MSR is a prescribed maximum splice rate.
- 53. A video signal, comprising:
- a first digital video bit stream having a seamless In Point constructed in accordance with a constraint expressed by the following equation (1):
- dd.sub.f.sbsb.--.sub.ip .ltoreq.minimum {DD.sub.thr.sbsb.--.sub.ip, (B.sub.d /r.sub.n.sbsb.--.sub.ip)},
- where dd.sub.f.sbsb.--.sub.ip represents an amount of time by which a first byte of the first digital video bit stream after the seamless In Point must stay in a decoder buffer before it is decoded; B.sub.d is a size of the decoder buffer; r.sub.n.sbsb.--.sub.ip is a bit rate at which the first digital video bit stream is normally encoded at the seamless In Point; and, DD.sub.thr.sbsb.--.sub.ip represents a prescribed minimum decoding delay threshold for seamless In Points, where DD.sub.thr.sbsb.--.sub.ip is defined by the following equation (2):
- DD.sub.thr.sbsb.--.sub.ip =((MSR/r.sub.n.sbsb.--.sub.ip)* SDD)+T.sub.p.sbsb.--.sub.i * (1-(MSR/r.sub.n.sbsb.--.sub.ip),(2)
- where T.sub.p.sbsb.--.sub.i is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the seamless In Point; SDD is a prescribed splice decoding delay; and, MSR is a prescribed maximum splice rate; and,
- a second digital video bit stream having a seamless Out Point constructed in accordance with a constraint expressed by the following equation (3):
- DD.sub.thr.sbsb.--.sub.op .ltoreq.dd.sub.f.sbsb.--.sub.op .ltoreq.(B.sub.d /r.sub.n.sbsb.--.sub.op), (3)
- where dd.sub.f.sbsb.--.sub.op represents an amount of time by which a first byte of the second digital video bit stream after the seamless Out Point must stay in a decoder buffer before it is decoded; r.sub.n.sbsb.--.sub.op is a bit rate at which the second digital video bit stream is normally encoded at the seamless Out Point; and, DD.sub.thr.sbsb.--.sub.op represents a prescribed minimum decoding delay threshold for seamless Out Points, where DD.sub.thr.sbsb.--.sub.op is defined by the following equation (4):
- DD.sub.thr.sbsb.--.sub.op =((MSR/r.sub.n.sbsb.--.sub.op)* SDD)-T.sub.p.sbsb.--.sub.o * (MSR/r.sub.n.sbsb.--.sub.op)-1),(4)
- where T.sub.p.sbsb.--.sub.o is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the seamless Out Point.
- 54. An encoder for encoding a digital video bit stream which includes a plurality of successively-encoded pictures, including:
- means for constructing a seamless In Point in accordance with a constraint expressed by the following equation (1):
- dd.sub.f.sbsb.--.sub.ip .ltoreq.minimum {DD.sub.thr.sbsb.--.sub.ip, (B.sub.d /r.sub.n.sbsb.--.sub.ip)}, (1)
- where dd.sub.f.sbsb.--.sub.ip represents an amount of time by which a first byte of the digital video bit stream after the seamless In Point must stay in a decoder buffer before it is decoded; B.sub.d is a size of the decoder buffer; r.sub.n.sbsb.--.sub.ip is a bit rate at which the digital video bit stream is normally encoded at the seamless In Point; and, DD.sub.thr.sbsb.--.sub.ip represents a prescribed minimum decoding delay threshold for seamless In Points, where DD.sub.thr.sbsb.--.sub.ip is defined by the following equation (2):
- DD.sub.thr.sbsb.--.sub.ip =((MSR/r.sub.n.sbsb.--.sub.ip)* SDD)+T.sub.p.sbsb.--.sub.i * (1-(MSR/r.sub.n.sbsb.--.sub.ip),
- where T.sub.p.sbsb.--.sub.i is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the seamless In Point; SDD is a prescribed splice decoding delay; and, MSR is a prescribed maximum splice rate; and,
- means for inserting the seamless In Point at a first point in the digital video bit stream at which another digital video bit stream can be spliced into the digital video bit stream.
- 55. The encoder as set forth in claim 54, further including:
- means for determining if MSR>r.sub.n.sbsb.--.sub.ip ; and,
- means for selecting dd.sub.f.sbsb.--.sub.ip to have a value .ltoreq.SDD if it is determined that MSR is greater than r.sub.n.sbsb.--.sub.ip, and for selecting dd.sub.f.sbsb.--.sub.ip to have a value dd.sub.r.sbsb.--.sub.ip defined by the following equation (3) if it is determined that MSR is not greater than r.sub.n.sbsb.--.sub.ip ;
- dd.sub.r.sbsb.--.sub.ip =(MSR/r.sub.n.sbsb.--.sub.ip)* SDD (3).
- 56. The encoder as set forth in claim 54, wherein r.sub.n.sbsb.--.sub.ip >MSR.
- 57. The encoder as set forth in claim 54, further including means for selecting dd.sub.f.sbsb.--.sub.ip to have a value dd.sub.r.sbsb.--.sub.ip defined by the following equation (3):
- dd.sub.r.sbsb.--.sub.ip =(MSR/r.sub.n.sbsb.--.sub.ip)* SDD (3).
- 58. The encoder as set forth in claim 54, wherein MSR and SDD are selected to have values that satisfy a constraint expressed by the following equation (4):
- MSR*SDD<B.sub.d (4).
- 59. An encoder for encoding a digital video bit stream which includes a plurality of successively-encoded pictures, including:
- means for constructing a seamless Out Point in accordance with a constraint expressed by the following equation (1):
- DD.sub.thr.sbsb.--.sub.op <dd.sub.f.sbsb.--.sub.op <(B.sub.d /r.sub.n.sbsb.--.sub.op), (1)
- where dd.sub.f.sbsb.--.sub.op represents an amount of time by which a first byte of the digital video bit stream after the seamless Out Point must stay in a decoder buffer before it is decoded; r.sub.n.sbsb.--.sub.op is a bit rate of which the digital video bit stream is normally encoded at the seamless Out Point; B.sub.d is a size of the decoder buffer; and, DD.sub.thr.sbsb.--.sub.op represents a prescribed minimum decoding delay threshold for seamless Out Points, where DD.sub.thr.sbsb.--.sub.op is defined by the following equation (2):
- DD.sub.thr.sbsb.--.sub.op =((MSR/r.sub.n.sbsb.--.sub.op)*SDD)-T.sub.p.sbsb.--.sub.o *(MSR/r.sub.n.sbsb.--.sub.op)-1), (2)
- where T.sub.p.sbsb.--.sub.o is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the seamless Out Point; SDD is a prescribed splice decoding delay; and, MSR is a prescribed maximum splice rate; and,
- means for inserting the seamless Out Point at a first point in the digital video bit stream at which it can be spliced into another digital video bit stream.
- 60. The encoder as set forth in claim 59, further including:
- means for determining if MSR>r.sub.n.sbsb.--.sub.op ; and,
- means for selecting dd.sub.f.sbsb.--.sub.op to have a value.gtoreq.SDD if it is determined that MSR is not greater than r.sub.n.sbsb.--.sub.op, within a constraint that dd.sub.f.sbsb.--.sub.op *r.sub.n.sbsb.--.sub.op <B.sub.d ; and, for selecting dd.sub.f.sbsb.--.sub.op to have a value dd.sub.r.sbsb.--.sub.op defined by the following equation (3) if it is determined that MSR is greater than r.sub.nop
- dd.sub.r.sbsb.--.sub.op =(MSR/r.sub.n.sbsb.--.sub.op)* SDD (3).
- 61. The encoder as set forth in claim 59, wherein r.sub.n.sbsb.--.sub.op <MSR.
- 62. The encoder as set forth in claim 59, wherein dd.sub.f.sbsb.--.sub.op is selected to have a value dd.sub.r.sbsb.--.sub.op defined by the following equation (3):
- ddr.sub.-- op=(MSR/r.sub.n.sbsb.--.sub.op)* SDD (3).
- 63. The encoder as set forth in claim 59, wherein MSR and SDD are selected to have values that satisfy a constraint expressed by the following equation (4):
- MSR*SDD<B.sub.d (4).
- 64. A splicer for splicing a first digital video bit stream at an Out Point into a second digital video bit stream at an In Point, the splicer including:
- means for measuring dd.sub.f.sbsb.--.sub.op and for measuring dd.sub.f.sbsb.--.sub.ip ;
- means for computing a difference W equal to dd.sub.f.sbsb.--.sub.op -dd.sub.f.sbsb.--.sub.ip ; and,
- means for switching from the Out Point, and, after switching from the Out Point, waiting an amount of time equal to W, and then switching into the In Point;
- wherein dd.sub.f.sbsb.--.sub.ip represents an amount of time by which a first byte of the second digital video bit stream after the In Point must stay in a decoder buffer before it is decoded, and dd.sub.f.sbsb.--.sub.op represents an amount of time by which a first byte of the first digital video bit stream after the Out Point must stay in the decoder buffer before it is decoded.
- 65. The splicer as set forth in claim 64, wherein the Out Point is constructed by:
- constructing the Out Point in accordance with a constraint expressed by the following equation (1):
- DD.sub.thr.sbsb.--.sub.op <dd.sub.f.sbsb.--.sub.op <(B.sub.d /r.sub.n.sbsb.--.sub.op), (1)
- where B.sub.d is a size of the decoder buffer; r.sub.n.sbsb.--.sub.op is a bit rate at which the first digital video bit stream is normally encoded at the Out Point; and, DD.sub.thr-op represents a prescribed minimum decoding delay threshold for Out Points defined by the following equation (2):
- DD.sub.thr.sbsb.--.sub.op =(MSR/r.sub.n.sbsb.--.sub.op)*SDD)-T.sub.p.sbsb.--.sub.o *)MSR/r.sub.n.sbsb.--.sub.op)-1),
- where T.sub.p.sbsb.--.sub.o is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the Out Point; SDD is a prescribed splice decoding delay; and, MSR is a prescribed maximum splice rate; and,
- inserting the Out Point at a first point in the first digital video bit stream at which it can be spliced into another digital video bit stream.
- 66. The splicer as set forth in claim 64, wherein the In Point is constructed by:
- constructing the In Point in accordance with a constraint expressed by the following equation (1):
- dd.sub.f.sbsb.--.sub.ip <miminum {DD.sub.thr.sbsb.--.sub.ip, (B.sub.d /r.sub.ip)}, (1)
- where B.sub.d is a size of the decoder buffer; r.sub.n.sbsb.--.sub.ip is a bit rate at which the second digital video bit stream is normally encoded at the In Point; and, DD.sub.thr.sbsb.--.sub.ip represents a prescribed minimum decoding delay threshold for In Points defined by the following equation (2):
- DD.sub.thr.sbsb.--.sub.ip =((MSR/r.sub.n.sbsb.--.sub.ip)*SDD)-T.sub.p.sbsb.--.sub.i *(1-MSR/r.sub.n.sbsb.--.sub.ip), (2)
- where T.sub.p.sbsb.--.sub.i is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the In Point; SDD is a prescribed splice decoding delay; and, MSR is a prescribed maximum splice rate; and,
- inserting the In Point at a first point in the second digital video bit stream at which it can be spliced into another digital video bit stream.
- 67. The splicer as set forth in claim 65, wherein the In Point is constructed by:
- constructing the In Point in accordance with a constraint expressed by the following equation (1)
- dd.sub.f.sbsb.--.sub.ip <miminum {DD.sub.thr.sbsb.--.sub.ip, (B.sub.d /r.sub.n.sbsb.--.sub.ip)}, (1)
- where r.sub.n.sbsb.--.sub.ip is a bit rate at which the second digital vide obit stream is normally encoded at the In Point; and, DD.sub.thr.sbsb.--.sub.ip represents a prescribed minimum decoding delay threshold for In Points defined by the following equation (2):
- DD.sub.thr.sbsb.--.sub.ip =((MSR/r.sub.n.sbsb.--.sub.ip)*SDD)-T.sub.p.sbsb.--.sub.i *(1-MSR/r.sub.n.sbsb.--.sub.ip), (2)
- where T.sub.p.sbsb.--.sub.i is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the In Point; and,
- inserting the In Point at a first point in the second digital video bit stream at which it can be spliced into another digital video bit stream.
- 68. The splicer as set forth in claim 64, wherein the In Point is a seamless In Point and the Out Point is a non-seamless Out Point, whereby the switching is seamless if the following two constraints are satisfied:
- a) dd.sub.f.sbsb.--.sub.op >dd.sub.f.sbsb.--.sub.ip ; and,
- b) r.sub.n.sbsb.--.sub.op >r.sub.n.sbsb.--.sub.ip ;
- wherein r.sub.n.sbsb.--.sub.op is a bit rate at which the first digital video bit stream is normally encoded at the Out Point; and, r.sub.n.sbsb.--.sub.ip is a bit rate at which the second digital video bit stream is normally encoded at the In Point.
- 69. The splicer as set forth in claim 64, wherein the In Point is a non-seamless In Point and the Out Point is a non-seamless Out Point, whereby the switching is seamless if the following two constraints are satisfied:
- a) dd.sub.f.sbsb.--.sub.op >dd.sub.f.sbsb.--.sub.ip ; and,
- b) r.sub.n.sbsb.--.sub.op >r.sub.n.sbsb.--.sub.ip ;
- wherein r.sub.n.sbsb.--.sub.op is a bit rate at which the first digital video bit stream is normally encoded at the Out Point; and, r.sub.n.sbsb.--.sub.ip is a bit rate at which the second digital video bit stream is normally encoded at the In Point.
- 70. The splicer as set forth in claim 64, wherein the In Point is a non-seamless In Point and the Out Point is a seamless Out Point, whereby the switching is seamless if the following two constraints are satisfied:
- a) dd.sub.f.sbsb.--.sub.op >dd.sub.f.sbsb.--.sub.ip ; and,
- b) r.sub.n.sbsb.--.sub.op >r.sub.n.sbsb.--.sub.ip ;
- wherein r.sub.n.sbsb.--.sub.op is a bit rate at which the first digital video bit stream is normally encoded at the Out Point; and, r.sub.n.sbsb.--.sub.ip is a bit rate at which the second digital video bit stream is normally encoded at the In Point.
- 71. A splicer for splicing a first digital video bit stream at an Out Point into a second digital video bit stream at an In Point, the splicer including:
- means for measuring dd.sub.f.sbsb.--.sub.op and for measuring dd.sub.f.sbsb.--.sub.ip ;
- means for computing a difference W equal to dd.sub.f.sbsb.--.sub.op -dd.sub.f.sbsb.--.sub.ip ;
- means for switching from the Out Point; and,
- means for streaming the second digital video bit stream at a first rate R.sub.2 .ltoreq.r.sub.n.sbsb.--.sub.op for a first time period having a duration equal to W, and, for then streaming the second digital video bit stream for a second time period having a duration dd'.sub.f.sbsb.--.sub.ip at a second rate R.sub.sp.sbsb.--.sub.in defined by the following equation:
- R.sub.sp.sbsb.--.sub.in =((r.sub.n.sbsb.--.sub.ip *dd'.sub.f.sbsb.--.sub.ip)-(R.sub.w *W)/dd'.sub.f.sbsb.--.sub.ip,
- where dd'.sub.f.sbsb.--.sub.ip =dd.sub.f.sbsb.--.sub.ip -T.sub.p.sbsb.--.sub.o ; T.sub.p.sbsb.--.sub.o is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the Out Point; dd.sub.f.sbsb.--.sub.ip represents an amount of time by which a first byte of the second digital video bit stream after the In Point must stay in a decoder buffer before it is decoded; dd.sub.f.sbsb.--.sub.op represents an amount of time by which a first byte of the first digital video bit stream after the Out Point must stay in the decoder buffer before it is decoded; r.sub.n.sbsb.--.sub.ip is a bit rate at which the second digital video bit stream is normally encoded at the In Point; and, r.sub.n.sbsb.--.sub.op is a bit rate at which the first digital video bit stream is normally encoded at the Out Point.
- 72. The splicer as set forth in claim 71, wherein the Out Point is constructed by:
- constructing the Out Point in accordance with a constraint expressed by the following equation (1):
- DD.sub.thr.sbsb.--.sub.op <dd.sub.f.sbsb.--.sub.op <(B.sub.d /r.sub.n.sbsb.--.sub.op), (1)
- where B.sub.d is a size of the decoder buffer; and, DD.sub.thr.sbsb.--.sub.op represents a prescribed minimum decoding delay threshold for Out Points defined by the following equation (2):
- DD.sub.thr.sbsb.--.sub.op =((MSR/r.sub.n.sbsb.--.sub.op)*SDD)-T.sub.p.sbsb.--.sub.o *(MSR/r.sub.n.sbsb.--.sub.op)-1), (2)
- where T.sub.p.sbsb.--.sub.o is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the Out Point; SDD is a prescribed splice decoding delay; and, MSR is a prescribed maximum splice rate; and,
- inserting the Out Point at a first point in the first digital video bit stream at which it can be spliced into another digital video bit stream.
- 73. The splicer as set forth in claim 71, wherein the In Point is constructed by:
- constructing the In Point in accordance with a constraint expressed by the following equation (1):
- dd.sub.f.sbsb.--.sub.ip <miminum {DD.sub.thr.sbsb.--.sub.ip, (B.sub.d /r.sub.n.sbsb.--.sub.ip)}, (1)
- where B.sub.d is a size of the decoder buffer; and, DD.sub.thr.sbsb.--.sub.ip represents a prescribed minimum decoding delay threshold for In Points defined by the following equation (2):
- DD.sub.thr.sbsb.--.sub.ip =((MSR/r.sub.n.sbsb.--.sub.ip)*DSS)-T.sub.p.sbsb.--.sub.i *(1-MSR/r.sub.n.sbsb.--.sub.ip), (2)
- where T.sub.p.sbsb.--.sub.i is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the In Point; SDD is a prescribed splice decoding delay; and, MSR is a prescribed maximum splice rate; and,
- inserting the In Point at a first point in the second digital video bit stream at which it can be spliced into another digital video bit stream.
- 74. The splicer as set forth in claim 72, wherein the In Point is constructed by:
- construction the In Point in accordance with a constraint expressed by the following equation (1):
- dd.sub.f.sbsb.--.sub.ip <miminum {DD.sub.thr.sbsb.--.sub.ip, (B.sub.d /r.sub.n.sbsb.--.sub.ip)}, (1)
- where DD.sub.thr.sbsb.--.sub.ip represents a prescribed minimum decoding delay threshold for In Points defined by the following equation (2):
- DD.sub.thr.sbsb.--.sub.ip =((MSR/r.sub.n.sbsb.--.sub.ip)*SDD)-T.sub.p.sbsb.--.sub.i *(1-MSR/r.sub.n.sbsb.--.sub.ip), (2)
- where T.sub.p.sbsb.--.sub.i is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the In Point; and,
- inserting the In Point at a first point in the second digital video bit stream at which it can be spliced into another digital video bit stream.
- 75. The splicer as set forth in claim 71, wherein the In Point is a seamless In Point and the Out Point is a non-seamless Out Point, whereby the switching is seamless if the following two constraints are satisfied:
- a) dd.sub.f.sbsb.--.sub.op >dd.sub.f.sbsb.--.sub.ip ; and,
- b) r.sub.n.sbsb.--.sub.op >r.sub.n.sbsb.--.sub.ip.
- 76. The splicer as set forth in claim 71, wherein the In Point is a non-seamless In Point and the Out Point is a non-seamless Out Point, whereby the switching is seamless if the following two constraints are satisfied:
- a) dd.sub.f.sbsb.--.sub.op >dd.sub.f.sbsb.--.sub.ip ; and,
- b) r.sub.n.sbsb.--.sub.op >r.sub.n.sbsb.--.sub.ip.
- 77. The splicer as set forth in claim 71, wherein the In Point is a non-seamless In Point and the Out Point is a seamless Out Point, whereby the switching is seamless if the following two constraints are satisfied:
- a) dd.sub.f.sbsb.--.sub.op >dd.sub.f.sbsb.--.sub.ip ; and,
- b) r.sub.n.sbsb.--.sub.op >r.sub.n.sbsb.--.sub.ip.
- 78. A splicer for splicing a first digital video bit stream at an Out Point into a second digital video bit stream at an In Point, the splicer including:
- means for measuring dd.sub.f.sbsb.--.sub.op and for measuring dd.sub.f.sbsb.--.sub.ip ;
- means for computing a difference W equal to dd.sub.f.sbsb.--.sub.op -dd.sub.f.sbsb.--.sub.ip, and for computing a stream bit rate R.sub.sp.sbsb.--.sub.op according to the following equation (1):
- R.sub.sp.sbsb.--.sub.op =(dd.sub.f.sbsb.--.sub.ip /dd.sub.f.sbsb.--.sub.op)*r.sub.n.sbsb.--.sub.ip ; (1)
- means for determining if R.sub.sp.sbsb.--.sub.op .ltoreq.r.sub.n.sbsb.--.sub.op ;
- means for switching from the Out Point;
- means for streaming the second digital video bit stream at the rate R.sub.sp.sbsb.--.sub.op for the duration of dd.sub.f.sbsb.--.sub.op, if it is determined that R.sub.sp.sbsb.--.sub.op.ltoreq.r.sub.n.sbsb.--.sub.op ; and,
- means for performing a selected one of the following two possible procedures:
- (i) waiting an amount of time equal to W, and then switching into the In Point; or,
- (ii) (A) streaming the second digital video bit stream at a first rate R.sub.w .ltoreq.r.sub.n.sbsb.--.sub.op for a first time period having a duration equal to W; and, (B) then streaming the second digital video bit stream for a second time period having a duration dd'.sub.f.sbsb.--.sub.ip at a second rate R.sub.sp.sbsb.--.sub.in defined by the following equation (2):
- R.sub.sp.sbsb.--.sub.in =((r.sub.n.sbsb.--.sub.ip *dd'.sub.f.sbsb.--.sub.ip)-(R.sub.w *W))/dd'.sub.f.sbsb.--.sub.ip,(2)
- where dd'.sub.f.sbsb.--.sub.ip =dd.sub.f.sbsb.--.sub.ip -T.sub.p.sbsb.--.sub.o,
- if it is determined that R.sub.sp.sbsb.--.sub.op >r.sub.n.sbsb.--.sub.op ; T.sub.p.sbsb.--.sub.o is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the Out Point; dd.sub.f.sbsb.--.sub.ip represents an amount of time by which a first byte of the second digital video bit stream after the In Point must stay in a decoder buffer before it is decoded; dd.sub.f.sbsb.--.sub.op represents an amount of time by which a first byte of the first digital video bit stream after the Out Point must stay in the decoder buffer before it is decoded; r.sub.n.sbsb.--.sub.ip is a bit rate at which the second digital video bit stream is normally encoded at the In Point; and, r.sub.n.sbsb.--.sub.op is a bit rate at which the first digital video bit stream is normally encoded at the Out Point.
- 79. The splicer at set forth in claim 78, wherein the Out Point is constructed by:
- constructing the Out Point in accordance with a constraint expressed by the following equation (1):
- DD.sub.thr.sbsb.--.sub.op <dd.sub.f.sbsb.--.sub.op <(B.sub.d /r.sub.n.sbsb.--.sub.op),
- where B.sub.d is a size of the decoder buffer; and, DD.sub.thr.sbsb.--.sub.op represents a prescribed minimum decoding delay threshold for Out Points defined by the following equation (2):
- DD.sub.thr.sbsb.--.sub.op =(MSR/r.sub.n.sbsb.--.sub.op)*SDD)-T.sub.p.sbsb.--.sub.o *(MSR/r.sub.n.sbsb.--.sub.op)-1), (2)
- where T.sub.p.sbsb.--.sub.o is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the Out Point; SDD is a prescribed splice decoding delay; and, MSR is a prescribed maximum splice rate; and,
- inserting the Out Point at a first point in the first digital video bit stream at which it can be spliced into another digital video bit stream.
- 80. The splicer as set forth in claim 78, wherein the In Point is constructed by:
- constructing the In Point in accordance with a constraint expressed by the following equation (1):
- dd.sub.f.sbsb.--.sub.ip <miminum {DD.sub.thr.sbsb.--.sub.ip,(B.sub.d /r.sub.n.sbsb.--.sub.ip)}, (1)
- where B.sub.d is a size of the decoder buffer; and, DD.sub.thr.sbsb.--.sub.ip represents a prescribed minimum decoding delay threshold for In Points defined by the following equation (2):
- DD.sub.thr.sbsb.--.sub.ip =((MSR/r.sub.n.sbsb.--.sub.ip)*SDD)-T.sub.p.sbsb.--.sub.i *(1-MSR/r.sub.n.sbsb.--.sub.ip), (2)
- where T.sub.p.sbsb.--.sub.i is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the In Point; SDD is a prescribed splice decoding delay; and, MSR is a prescribed maximum splice rate; and,
- inserting the In Point at a first point in the second digital video bit stream at which it can be spliced into another digital video bit stream.
- 81. The splicer as set forth in claim 79, wherein the In Point is constructed by:
- constructing the In Point in accordance with a constraint expressed by the following equation (1):
- dd.sub.f.sbsb.--.sub.ip <miminum {DD.sub.thr.sbsb.--.sub.ip,(B.sub.d /r.sub.n.sbsb.--.sub.ip)}, (1)
- where DD.sub.thr.sbsb.--.sub.ip represents a prescribed minimum decoding delay threshold for In Points defined by the following equation (2):
- DD.sub.thr.sbsb.--.sub.ip =((MSR/r.sub.n.sbsb.--.sub.ip)*SDD)-T.sub.p.sbsb.--.sub.i *(1-MSR/r.sub.n.sbsb.--.sub.ip), (2)
- where T.sub.p.sbsb.--.sub.i is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the In Point; and,
- inserting the In Point at a first point in the second digital video bit stream at which it can be spliced into another digital video bit stream.
- 82. The splicer as set forth in claim 78, wherein the In Point is a seamless In Point and the Out Point is a non-seamless Out Point, whereby the switching is seamless if the following two constraints are satisfied:
- a) dd.sub.f.sbsb.--.sub.op >dd.sub.f.sbsb.--.sub.ip ; and,
- b) r.sub.n.sbsb.--.sub.op >r.sub.n.sbsb.--.sub.ip.
- 83. The splicer as set forth in claim 78, wherein the In Point is a non-seamless In Point and the Out Point is a non-seamless Out Point, whereby the switching is seamless if the following two constraints are satisfied:
- a) dd.sub.f.sbsb.--.sub.op >dd.sub.f.sbsb.--.sub.ip ; and,
- b) r.sub.n.sbsb.--.sub.op >r.sub.n.sbsb.--.sub.ip.
- 84. The splicer as set forth in claim 78, wherein the In Point is a non-seamless In Point and the Out Point is a seamless Out Point, whereby the switching is seamless if the following two constraints are satisfied:
- a) dd.sub.f.sbsb.--.sub.op >dd.sub.f.sbsb.--.sub.ip ; and,
- b) r.sub.n.sbsb.--.sub.op >r.sub.n.sbsb.--.sub.ip.
Government Interests
This invention was made with United States Government support under Cooperative Agreement No. 70NANBH1174 awarded by the National Institute For Standards and Technology (NIST). The United States Government has certain rights in the invention.
US Referenced Citations (4)
Non-Patent Literature Citations (2)
Entry |
U.S. Patent application No. 08/829,124. |
U.S. Patent Application Titled Video Buffer for Seamless Splicing of MPEG Streams, filed Nov. 25, 1997. |