WO1999018720A1 - Encoded stream splicing device and method, and an encoded stream generating device and method - Google Patents

Encoded stream splicing device and method, and an encoded stream generating device and method Download PDF

Info

Publication number
WO1999018720A1
WO1999018720A1 PCT/JP1998/004497 JP9804497W WO9918720A1 WO 1999018720 A1 WO1999018720 A1 WO 1999018720A1 JP 9804497 W JP9804497 W JP 9804497W WO 9918720 A1 WO9918720 A1 WO 9918720A1
Authority
WO
WIPO (PCT)
Prior art keywords
stream
splicing
picture
encoding
coding
Prior art date
Application number
PCT/JP1998/004497
Other languages
English (en)
French (fr)
Inventor
Katsumi Tahara
Mikita Yasuda
Shinji Negishi
Original Assignee
Sony Corporation
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 Sony Corporation filed Critical Sony Corporation
Priority to DE1998638869 priority Critical patent/DE69838869T2/de
Priority to CA 2273940 priority patent/CA2273940C/en
Priority to EP98945621A priority patent/EP0944249B1/en
Priority to KR1019997004866A priority patent/KR100574186B1/ko
Priority to JP52148099A priority patent/JP4296604B2/ja
Publication of WO1999018720A1 publication Critical patent/WO1999018720A1/ja
Priority to US09/323,771 priority patent/US6529550B2/en

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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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, manipulating MPEG-4 scene graphs
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 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, manipulating MPEG-4 scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data

Definitions

  • the present invention codes dregs streams splicing apparatus and code scum streams used in a digital broadcasting system A splicing method, and an encoding stream generation apparatus and an encoding stream generation method, in particular, a seamless spliced stream by splicing two encoding streams at a stream level.
  • TECHNICAL FIELD The present invention relates to an encoding stream splicing apparatus and an encoding stream splicing method for generating a stream, and an encoding stream generating apparatus and an encoding stream generating method.
  • the broadcasting stations for distributing television programs to each home are nationwide television programs.
  • the main station (key station or main station) S «and a regional TV program are created. It consists of a number of local offices (branch offices) S A , S B , and.
  • the headquarters SK is a broadcasting station that creates television programs common throughout the country and transmits the created television programs to local stations.
  • the local station sends both the original TV program sent from the head office by inter-station transmission and a television program that is a part of the original TV program edited to be local to the local household. It is a broadcasting station for distribution. For example, as shown in FIG.
  • Fig. 2 is a diagram for explaining the editing process at each local station.
  • Fig. 2A shows the original television program P produced at the main station, and Fig.
  • FIG. 2B shows the original television program P produced at the local station.
  • FIG. 2C shows a TV program PG! Edited at a local station.
  • the commercial CM 1, program 3, and commercial CM 3 of the original TV program transmitted from the main station were converted to the commercial CM 1 produced by the local station for the ground.
  • Program 3,, and Frame-This is an example of the editing process to replace with CM3 '.
  • the TV programs generated at the main station Program 1, Program 2, CM 2, and Program 4
  • the TV programs generated at the local station (Commercial CM 1,, Program 3,, and CM 3,) are mixed to generate a local TV program.
  • the current television broadcasting system is an analog broadcasting system that distributes analog baseband television signals to homes.Therefore, these analog method systems will be replaced by next-generation broadcasting systems using digital technology. Attempts have been made.
  • This digital broadcasting system compresses and encodes video data and audio data using a compression coding technology such as MPEG2 (Moving Picture Experts Group Phase 2), and converts the coded stream to terrestrial or satellite signals. This is a system for transmitting to homes and other stations using waves.
  • MPEG2 Motion Picture Experts Group Phase 2
  • DVB Digital Video Broadcasting
  • the transmission side system 10 includes an MPEG video encoder 11, an MPEG audio encoder 12 and a multiplexer 13, and the reception side system 20 includes a demultiplexer 21 and an MPEG video decoder 22 and an MPEG audio decoder 23.
  • the MPEG video encoder 11 encodes the source video data V of the baseband based on the MPEG standard, and outputs the encoded stream as a video elementary stream ES.
  • the MPEG audio encoder 12 encodes the baseband source audio data A based on the MPEG standard, and encodes the encoded stream. Output the audio element as the audio elementary stream ES.
  • the multiplexer 13 receives the video element audio stream and the audio element audio stream from the MPEG video encoder 11 and the MPEG audio encoder 12, respectively, and transports the streams in the transport stream. Convert to a stream bucket form and generate a transport stream packet containing the video elementary stream and a transport stream packet containing the audio elementary stream.
  • the multiplexers 13 are provided so that a transport stream packet including a video element evening stream and a transport stream packet including an audio element evening stream are mixed. Multiplexes the transport stream buckets of the same to generate a transport stream to be transmitted to the receiving system 20.
  • the demultiplexer 21 receives the transport stream transmitted via the transmission path, and includes a transport stream including the video elementary stream and a transport stream packet including the audio elementary stream. And separated into Further, the demultiplexer 21 generates a video element stream from the transport stream bucket including the video element stream, and also generates a video element stream from the transport stream bucket including the audio element stream. Generate an audio elementary stream.
  • the MPEG video decoder 22 receives the video element stream from the demultiplexer 21 and decodes the video element stream based on the MPEG standard to generate a baseband video stream V. .
  • the audio decoder 22 receives the audio element stream from the demultiplexer 21, decodes the audio element list based on the MPEG standard, and decodes the baseband audio stream. Generate A.
  • the video data of a television program transmitted from the main station to a local station is required.
  • One night is a coding stream that has been compression-coded based on the MPEG 2 standard. Therefore, in order for the local station to perform editing processing to replace part of the original coded stream transmitted from the main station with the coded stream produced by the local station, the editing process must be performed before this editing processing. First, the encoded stream must be decoded and returned to baseband video.
  • both the original encoding stream supplied from the head office and the encoding stream produced for the ground are decoded once.
  • a decoding process that converts each of them into a baseband video signal an editing process that edits two baseband video data to generate on-air edited video data, Recode video data Encoding to generate an encoded video stream.
  • encoding / decoding processing based on the MPEG standard is not 100% lossless encoding / decoding processing, there is a problem that image quality is degraded every time decoding processing and encoding processing are repeated.
  • splicing means editing and connecting multiple streams in the state of the encoded stream.
  • the MPEG standard used in the above-described MPEG video encoder 11 and MPEG video decoder 22 employs a bidirectional predictive encoding method as an encoding method.
  • this bidirectional predictive coding method three types of coding are performed: intraframe coding, interframe forward predictive coding, and bidirectional predictive coding.
  • I picture intra coded picture
  • P picture predictive coded picture
  • 0 also called B-pictures bidi rectional ly predictive coded picture
  • I, P an appropriate combination of each picture of B, the random access single
  • a GOP Group of Picture
  • the generated code amount of each picture is the largest in the I picture, the largest in the P picture, and the smallest in the B picture.
  • an obtained encoded bit stream (hereinafter, also simply referred to as a stream) is accurately decoded by a video decoder, and the image is decoded.
  • the video encoder 11 In order to obtain this, the video encoder 11 must know the data occupancy in the input buffer of the video decoder 22. Therefore, the MPEG standard assumes a virtual buffer called a 'VBV (Video Buffering Verifier) buffer' as a buffer corresponding to the input buffer in the video decoder 22, and the video encoder 11 breaks down the VBV buffer. It is defined to perform encoding processing to prevent underflow and overflow.
  • a 'VBV Video Buffering Verifier
  • the capacity of this VB V buffer is determined according to the standard of the signal to be transmitted. For a standard video signal of the main profile ⁇ ⁇ ⁇ main level (MP @ ML), it is 1.75 Mbit It has the capacity of The video encoder 11 controls the bit generation amount of each picture so that the VBV buffer does not overflow or underflow.
  • Figure 4A corresponds to the original stream S ⁇ , which is the original stream S ⁇ ⁇ of the original television program including the program 1 and the commercial CM 1 produced by the main station and encoded by a video encoder.
  • FIG. 7 is a diagram illustrating a locus of the data occupancy of the VB V buffer.
  • Figure 4 ⁇ ⁇ shows a commercial produced for rural areas.
  • the commercial CM1 which is replaced by the commercial CM1 part of the original television program, is replaced with a replacement stream S encoded by a local station video encoder and a VBV buffer of the replacement stream S ⁇ Mandel It is a figure showing a locus of data occupancy.
  • FIG. 4C shows the spliced stream STm (spl iced stream) obtained by splicing the replacement stream S ⁇ » ⁇ with the original stream S at the splice point SP.
  • FIG. 6 is a diagram showing a locus of overnight data occupancy of a VBV buffer of a splice stream ST.
  • the upwardly sloping portion indicates the transmission bit rate
  • the vertically sloping portion indicates that the video decoder is decodable for reproducing each picture. Indicates the amount of bits to be extracted from the buffer.
  • the timing at which the video decoder pulls bits from this decoder buffer is specified by information called the deco-deciding time stamp (DTS).
  • DTS deco-deciding time stamp
  • I, P, and B represent an I picture, a P picture, and a B picture, respectively.
  • Original coding stream ST. t Is the stream coded by the video encoder of the main station, and the replacement stream ST nw is the stream of the local station. Since the stream is encoded by a video encoder, the original encoding stream S and the replacement stream S ⁇ Stream. Therefore, the video encoder of the local station performs the encoding process to generate the replacement stream ST independently without knowing any trace of the amount of data occupied by the VBV buffer of the video encoder of the main station at all. , The original stream S ⁇ at the splice point S ⁇ .
  • the VB V buffer's data occupancy VB differs from the replacement stream S 1 1 « 1 » at the splice point SP: the data buffer occupancy VBV TM of 6 ⁇ buffer.
  • the replacement stream ST in the splice stream ST is replaced.
  • the initial level of the data occupancy of the VB V buffer is the data occupancy VB V of the VB V buffer. u, must be.
  • the data occupancy VB V of the VB V buffer of the original stream ST If the value of the data occupancy VBV »of the VB V buffer of the replacement stream S is smaller than that of the replacement stream S, the VB V buffer overflows at the replacement stream ST» in the spliced stream ST.
  • the data occupancy VB V of the VB V buffer of the original stream ST is also large, and the data occupancy VB Vn «of the ⁇ 8 buffer of the replacement stream S 1 ⁇ is large.
  • the VB V buffer underflows in the replacement stream S ⁇ in the splice stream ST.
  • Program 1, Program 2, Program 3 and Program 4 which constitute the main part of the original television program shown in Fig. 2, were shot at 29.97 Hz (about 30 Hz)
  • the signal is not limited to the NTSC television signal with a frame rate of 24 Hz, but may be a signal converted from a movie material with a frame rate of 24 Hz (24 frames per second) to a television signal. .
  • the process of converting a 24 Hz movie material into a 29.97 Hz television signal in this way is performed by dividing two fields in the original material into three in a predetermined sequence. It is called '2: 3 pulldown processing' because it includes processing to convert to fields.
  • FIG. 5 is a diagram for explaining the 2: 3 pull-down processing.
  • T1 to T8 indicate the top field of a movie material having a frame frequency of 24 Hz
  • B1 to B9 indicate the bottom field of a movie material having a frame frequency of 24 Hz.
  • the ellipses and triangles shown in FIG. 5 indicate the structure of a frame composed of a top field and a bottom field.
  • a movie material having a frame frequency of 24 Hz (eight top fields T 1 to T 8 and eight bottom fields ⁇ 1 to ⁇ 8) is added.
  • ⁇ 2 Repeat field generated by repeating ⁇ 2 , Repeat field ⁇ 4 ′ generated by repeating top field T 4, repeat field ⁇ 6 ′ generated by repeating bottom field ⁇ 6, and top field ⁇ ⁇ ⁇ ⁇ 8
  • a process for inserting four repeat fields of the repeat field ⁇ 8 ′ generated by the above is performed.
  • a television signal having a frame frequency of 29.97 ⁇ is generated from a movie material having a frame frequency of 24 ⁇ by the 2: 3 pull-down processing.
  • a television signal that has been subjected to 2: 3 pull-down processing is not subjected to encoding processing in a video encoder as it is, but after removing a repeat field from a television signal that has been subjected to 2: 3 pull-down processing, An encoding process is performed.
  • the repeat fields ⁇ 2 ′, ⁇ 4, ⁇ 6 ′, and ⁇ 8, are removed from the 2: 3 pull-down television signal.
  • the reason for removing the repeat field before the encoding process in this way is that the repeat field is a redundant field inserted during the 2: 3 pull-down process and is deleted to improve the compression encoding efficiency. This is because no image quality degradation occurs.
  • the MPEG decoder when decoding the encoded stream, sets the repeat field if the flag “repeat_first field” in the encoded stream is “1”. Generate and mark If the flag "repeat-first-field" in the encoding stream is "0", processing is performed so that no repeat field is generated.
  • the “repeat—first_field” of the stream that encodes the frame composed of the top field T 1 and the bottom field B 1 is “0”
  • the “repeat—first_field” of the stream that encodes the frame composed of T2 and the bottom field B2 is “1”
  • the frame composed of the top field T3 and the bottom field B3 The “repeat_first_field” of the stream that encodes “0” is “0”
  • top—field—first a flag called “top—field—first” that indicates whether the first field is the top field or the bottom field of the two fields that compose a frame. Defines what is described in the stream. Specifically, when “top—field—first” is “1”, it indicates that the top field has a temporally earlier frame structure than the bottom field, and “to P_field—firstj is“ 0 ”. "" Indicates that the top field has a temporally faster frame structure than the bottom field. In the example shown in FIG.
  • top_field—first” of the encoded stream of the frame composed of the top field T 1 and the bottom field B 1 is “0”
  • the “topjield_first” of the encoding stream of the frame composed of the field B 2 is “1”
  • the encoding stream of the frame composed of the top field T 3 and the bottom field B 3 is “1”.
  • “Top_field—fi rst” is “0”
  • top—field_fi rstj” of the coding stream of the frame composed of the top field T 4 and the bottom field B 4 is “1”.
  • FIG. 6A is a diagram showing the frame structure of an original stream ST OLD obtained by encoding an original television program produced at the main station
  • Fig. 6B is a diagram showing a local structure produced at a local station
  • FIG. 6C is a diagram showing a frame structure of a replacement stream ST NEW which encodes the commercial C 1 of FIG. 6.
  • FIG. 6C shows a frame structure of a spliced stream ST SPL subjected to splicing processing.
  • Program 1 and Program 2 in the original stream ST OLD are both encoded streams that have been subjected to 2: 3 pull-down processing, and each frame of the commercial CM 1 in the main part is composed of “top—field—fir st Is an encoded stream with a frame structure in which “0” is “0”.
  • the regional commercial CM 1 ′ shown in FIG. This is an encoded stream that is replaced with the commercial CM 1 part of the TV program, and has a frame structure in which “top—field_first_j” is “1”.
  • the replacement stream S ⁇ ⁇ » is spliced after the original stream ST ⁇ shown in the program 1, and the replacement stream S is further added.
  • the spliced stream S Tm is a stream in which a local commercial CM 1 is inserted in place of the original commercial CM 1 of the original stream S.
  • Each frame of the commercial CM 1 produced at the head office shown in FIG. 6 is an encoded stream having a frame structure of top_field_first “0”, and the commercial CM 1 produced at the local station is: top_field—Indicates that first is a coded stream with a frame structure of “1”.
  • the original stream SP If the stream of commercial CM 1 is spliced after the stream of program 1 at the splice point SP 1, a field gap occurs in the spliced stream ST.
  • the field gap means that the bottom field B6 at the splice point SP1 drops out of the splice stream ST and the repetition pattern of the top field and the bottom field becomes discontinuous. Means that are doing.
  • An encoding stream in which a field gap is generated and a field pattern is discontinuous is an encoding stream that violates the MPEG standard and cannot be decoded normally by a normal MPEG decoder.
  • the coded stream in which the field pattern is discontinuous due to the duplication of fields is a coded stream that violates the MPEG standard, and cannot be decoded normally by a normal MPEG decoder. .
  • An object of the present invention is to provide a coded stream splicing device for realizing a seamless splicing process that does not fail.
  • the code of the first encoded stream is analyzed by analyzing the syntax of the first encoded stream.
  • Stream analyzing means for extracting the encoded parameters and a first splicing point based on the encoded parameters of the first encoded stream obtained by the stream analyzing means.
  • the encoding parameters of the second encoding stream are changed so that the encoding stream and the second encoding stream are connected seamlessly, and the first encoding stream is changed.
  • Evening trajectory of the occupied amount is a continuous, and can realize a seamless splicing processing which does not collapse when V B V buffer. Further, according to the present invention, it is possible to realize a splicing process capable of generating a consistent and seamless stream in which the stream structure of the coded stream does not become discontinuous before and after the splicing point. You.
  • the syntax of the first encoding stream is A stream analysis step of extracting the encoded parameters of the first encoded stream by analyzing the first encoded stream; and a stream encoding step of the first encoded stream obtained by the stream analysis step.
  • the coding of the second coding stream is performed such that the first coding stream and the second coding stream are connected seamlessly at the splicing point based on the coding parameters.
  • FIG. 1 is a diagram for explaining a general television broadcasting system.
  • FIG. 2 is a diagram for explaining the editing processing of a television program in a local station.
  • FIG. 3 is a diagram for explaining a general digital transmission system using the MPEG standard.
  • FIG. 4A to 4C are diagrams for explaining the control of the VBV buffer.
  • FIG. 5 is a diagram for explaining the 2: 3 pull-down processing.
  • 6A to 6C are diagrams for explaining a problem that occurs when the encoding stream is spliced.
  • FIG. 7 is a block diagram showing an overall configuration of a digital broadcasting system including the coded stream splicing apparatus according to the embodiment of the present invention.
  • FIG. 8 is a block diagram for explaining in detail the configurations of the MPEG encoder block 35 of the main station 30 and the encoder block of the local station 40.
  • FIG. 9A to FIG. 9D are diagrams for explaining processing when the stream conversion circuit generates a transport stream from an elementary stream.
  • FIG. 10 is a diagram for explaining the syntax of the sequence of the video element evening stream of the MPEG.
  • FIG. 11 is a diagram for explaining the syntax of a sequence header.
  • FIG. 12 is a diagram for describing the syntax of a sequence extension (sequence_extension).
  • FIG. 13 is a diagram for explaining the syntax of extension and user data (extension_and_user_data).
  • FIG. 14 is a diagram for explaining the syntax of the group-of-picture header.
  • FIG. 15 is a diagram for explaining the syntax of a picture header.
  • FIG. 16 is a diagram for explaining the syntax of the picture coding extension (picture_coding_extension).
  • FIG. 17 is a diagram for explaining the syntax of a picture header (picture-data).
  • FIG. 18 is a diagram for explaining the syntax of a transport stream bucket.
  • FIG. 19 is a diagram for explaining the syntax of the adaptation field (adaptation_field).
  • FIG. 20 is a block diagram for explaining a simple configuration of a local station and a configuration of a stream splicer.
  • FIG. 21C is a diagram for explaining a process related to the VBV buffer of the stream splicer.
  • FIGS. 22A to 22B are diagrams for explaining a first processing example relating to top_field_first and repeat-first-fie1d of the stream splicer.
  • FIG. 23A to FIG. 23C are diagrams for explaining a second processing example relating to top-file ld-filter and repeatj rst_file 1 d of the stream bridger.
  • BEST MODE FOR CARRYING OUT THE INVENTION FIG. 7 is a diagram showing a configuration of a digital broadcasting system including a coded stream splicing apparatus according to an embodiment of the present invention.
  • a digital broadcasting system is composed of a main station (Key station) 30 and a local station 40 belonging to the main station. Has been established.
  • the master station 30 is a broadcasting station for producing and transmitting a common television program to affiliated local stations, and includes a broadcasting system controller 31, a material server 32, and a CM server 33. It comprises a matrix switch block 34, an MPEG encoder block 35, a multiplexer 36, and a modulation circuit 37.
  • the broadcasting system controller 31 is provided in a broadcasting station such as a material server 32, a CM server 33, a matrix switcher block 34, an MPEG encoder block 35, a multiplexer 36, and a modulation circuit 37. It is a system that manages and controls all devices and circuits in an integrated manner.
  • This broadcasting system controller 31 has a program schedule for managing the broadcast time of all materials such as program materials and promotion materials supplied from a program supplier and program materials and CM materials created by the local station.
  • the broadcast program scheduling system 1 is registered, and controls the above-described devices and circuits according to the program scheduling table.
  • This program schedule table includes, for example, an event information file in which a broadcast program schedule in hourly or daily units is recorded, and an operation information file in which a time schedule of broadcast programs in units of 15 seconds are recorded. It is composed of a file and the like.
  • the material server 32 stores movie data, sports programs, entertainment programs, news programs, and other video data broadcast as a main part of a television program, and video data, and is designated by the broadcasting system controller 31. It is a server for outputting the programmed program at the timing according to the time schedule of the program schedule. Also, this movie program has a frame frequency of 24 Hz as described above. The video is converted from a film material to a television signal having a frame frequency of 30 Hz by performing a 2: 3 pull-down process. The video data and audio data output as the main program from the material server 32 are supplied to the matrix switch block 34. For example, in the example shown in FIG. 2, program 1, program 2, program 3, program 4, and the like are recorded in the material server 32. The video data and audio data stored in the material server 32 are baseband video data and audio data that are not compression-encoded.
  • the CM server 33 stores the commercials inserted between the main programs reproduced from the material server 32, and stores the commercials specified by the broadcasting system controller 31 in accordance with the time schedule in the program schedule. It is a server for outputting at the same time.
  • the video and audio data output as commercials from the CM server 33 are supplied to the matrix switcher 34.
  • a commercial CM1, a commercial CM2, a commercial CM3, and the like are recorded on the CM server 33.
  • the video data and audio data stored in the CM server 33 are baseband video data and audio data that are not compression-encoded.
  • the matrix switch block 35 is a matrix circuit that routes live programs such as sports broadcasts and news programs, main programs output from the material server 32, and commercial programs output from the CM server 33. have. Furthermore, the matrix switcher block 35 is supplied from the main program supplied from the material server 32 and the CM server 33 at a timing according to the time schedule of the program schedule determined by the broadcasting system controller. It has a switching circuit for connecting and switching commercial programs. By switching the main program and the CM program by the switching circuit, for example, the transmission program PG0LD shown in FIG. 2 can be generated.
  • the MPEG encoder block 35 is a block for encoding baseband video data and audio data output from the matrix switcher block based on the MPEG2 standard, and includes a plurality of video encoders and audio encoders. have.
  • the multiplexer 36 multiplexes the nine-channel transport streams output from the MPEG encoder block 35 to generate one multiplexed transport stream. Therefore, in the output multiplexed transport stream, the transport stream bucket including the encoded video element stream from 1 to 9 channels and the encoding from 1 to 9 channels are included. It is a stream in which transport stream buckets including audio elementary streams are mixed.
  • the modulation circuit 37 performs QPSK modulation on the transport stream, and outputs the modulated data to the local station 40 and the home 61 via a transmission path.
  • the local station 40 is a broadcasting station that edits a common TV program sent from the head office for the local area and broadcasts the TV program edited for the local area to each home.
  • 41 a demodulation circuit 42, a demultiplexer 43, a stream conversion circuit 44, a material server 46, a CM server 47, an encoder program 48, and a stream server 49 ,
  • the broadcasting system controller 41 like the broadcasting system controller 31 of the main station 30, has a demodulation circuit 42, a demultiplexer 43, a stream conversion circuit 44, a material server 46, and a CM. Servers 47, encoder block 48, stream server 49, stream splicer 50, stream processor 51, multiplexer 52, modulation circuit 53, etc. It is a system that manages and controls all devices and circuits in an integrated manner.
  • the broadcast system controller 41 like the broadcast system controller 31 in the main station 30, transmits an edited television program in which a program created by the own station or a CM is inserted with respect to the transmission program supplied from the main station 30. A program schedule for managing the broadcast time of the program is registered, and the above-described devices and circuits are controlled according to the program schedule.
  • the demodulation circuit 42 generates a transport stream by QPSK demodulating the transmission program transmitted from the main station 30 via the transmission path.
  • the demultiplexer 43 demultiplexes the transport stream output from the demodulation circuit 42 and converts it into a 9-channel transformer. A port stream is generated, and the transport stream of each channel is output to the stream conversion circuit 44. That is, the demultiplexer 43 performs a process reverse to that of the multiplexer 36 of the main office 30.
  • the stream conversion circuit 44 is a circuit for converting the transport stream supplied from the demultiplexer 43 into an elementary stream form.
  • the material server 46 is a server that stores video data and audio data of entertainment programs, news programs, and the like, which are broadcasted as local TV programs.
  • the CM server 47 is a server for storing video data of local commercials inserted between main programs supplied from the main office 30—evening and audio / video.
  • the video data and the audio data stored in the material server 46 and the CM server 47 are video data and audio data of a base band that are not compression-encoded.
  • the encoder block 48 is a block for encoding the video data of a plurality of channels and the audio data of a plurality of channels supplied from the material server 46 and the CM server 47. Video encoder and a plurality of audio encoders.
  • the difference between this encoder block 48 and the MPEG encoder block 35 of the main station 30 is that the MPEG encoder block 35 of the main station 30 outputs a transport stream, whereas the encoder block of the local station 40 48 is different in that it outputs an elementary stream, but the actual function and processing of this encoder block 48 is the same as that of the main station 30. It is exactly the same as a double lock 35.
  • the multi-channel elementary stream output from the encoder block 48 three channel elementary stream streams are supplied to the stream server 49, and the remaining channel elementary streams are supplied to the stream server 49. , And is supplied to the stream splicer 50.
  • the stream server 49 receives the three channels of elementary streams supplied from the encoder program, and records the stream in a stream state on a randomly accessible recording medium in a stream state. At the same time, under the control of the broadcast system controller 41, the elementary stream is reproduced from a recording medium capable of random access.
  • the stream splicer 50 routes a plurality of element leases supplied from the encoder block 48 and the stream server 49 and outputs them to a predetermined output line, and also receives the supply from the main station 30. This is a program for splicing the elementary stream and the elementary stream generated at the local station 40 at the stream level. The processing in the stream splicer 50 will be described later in detail.
  • the stream conversion circuit 51 receives an elementary stream output as a spliced stream from the stream splicer 50, and converts the elementary stream into a transport stream. It is.
  • the multiplexer 52 multiplexes the 9-channel transport streams output from the stream conversion circuit into one multiplexed transport stream in the same manner as the multiplexer 36 of the main station 30. Create a ream.
  • FIG. 8 is a block diagram for explaining in detail the configurations of the MPEG encoder block 35 of the main station 30 and the encoder block 48 of the local station 40. Since the MPEG encoder block 35 of the main station 30 and the encoder block 48 of the local station 4 ⁇ have substantially the same configuration, the configuration and the configuration of the MPEG encoder block 35 of the main station 30 will be described as an example. Explain yesterday.
  • the MP EG encoder dub 35 has an encoder controller 350 for centrally controlling all circuits of the MP EG encoder block 35, and the supplied multi-channel video data.
  • Multiple MPEG video encoders for encoding 3 51-1-1 V to 35 1-9 V and multiple audio streams corresponding to video data are encoded based on the MPEG 2 standard MP EG for recording, and a 3D -1A to 3 5-1A.
  • the MPEG encoder block 35 converts the encoded elementary stream (ES) output from each video encoder 351-1-IV to 351-1-9V into a transport stream.
  • ES encoded elementary stream
  • a transport stream including a 9-channel (9 ch) video elementary stream and a transport stream including a 9th channel (9 ch) audio elementary stream are included in the transport stream.
  • the MPEG encoder block 35 shown in FIG. 8 is configured to encode a 9-channel transmission program, it goes without saying that the number of channels is not limited to 9 but may be any.
  • the MPEG encoder block 35 shown in FIG. 8 performs control such as statistical multiplexing in which the transmission rate of the transmission program of each channel is dynamically changed according to the picture of the video data to be encoded. This method of statistical multiplexing is used when the picture of the transmission program of a certain channel is relatively simple and does not require so many bits to encode the picture.
  • the bits to encode a picture of a channel are By assigning the pictures of the other channels to the bits to be encoded, This is a method that can efficiently control the transmission rate of the transmission line.
  • a method of dynamically changing the encoding rate of each video encoder will be briefly described.
  • each video encoder 3 5 1—1 V to 3 5 1—9 V is calculated based on the statistics of the motion compensation residual difference AC obtained as a result of the motion compensation performed before the encoding process.
  • Difficulty data D1 to D9 are generated which indicate how much bit amount is required to encode the picture to be encoded.
  • This Difficult Teide is information indicating the degree of difficulty of encoding, and a large Difficulty means that the picture to be encoded is complicated, and a small Difficulty. Indicates that the picture to be coded is simple.
  • This approximate Teide can be roughly estimated based on statistics such as intra AC and motion compensation residual (ME residual) used in the encoding process in the video encoder.
  • ME residual motion compensation residual
  • the encoder controller 350 receives the differential data D 1 to D 9 output from the video encoders 35 1—IV to 35 1—9 V, respectively, and receives the differential data D 1 to D 9 Based on D9, the first bit rate R1 to R9 for each video encoder 351-1 V to 351-9V is calculated. Specifically, as shown in the following equation (1), the encoder controller 350 proportionally distributes the total transmission rate Total— Rate of the transmission line using the diffirty data D 1 to D 9. Then, the get bit rates R1 to R9 can be obtained in the evening.
  • R i (D i / ⁇ D k) x Total Rate
  • R i is a target bit rate of the “i” channel transmission program
  • D i is a differential bit rate for encoding a picture of the “i” channel transmission program
  • the encoder controller 350 supplies the evening bit rates R 1 to R 9 calculated based on the equation (1) to the corresponding video encoders 35 1 -IV to 35 1 -9 V, respectively.
  • the unit for calculating the overnight get bit rates R1 to R9 may be for each picture or may be a GOP unit.
  • the video encoders 35 1—1 V to 35 1—9 V receive the evening get bit rates R 1 to R 9 supplied from the encoder controller 350, respectively, and output the evening get bit rates R 1 to R 9 respectively. Perform the encoding process correspondingly. Dynamically changing the bit rate of the encoding stream output from each video encoder based on the Difficulty Tide indicating the encoding difficulty of the picture to be encoded in this way Thus, an optimal amount of bits can be allocated to the degree of difficulty of encoding the picture to be encoded, and the total bit rate output from each video encoder is determined by the total transmission rate Tota of the transmission path. Rate does not overflow.
  • the stream conversion circuits 352-IV to 352-9V and the stream conversion circuits 352-1A to 352-9A are both circuits for converting an elementary stream to a transport stream. is there.
  • the supplied source video data is encoded to generate a video elementary stream, and the video elementary stream is converted to a stream.
  • Stream conversion circuit The process of generating a transport stream from a video elementary stream will be described using an example of conversion to a transport stream at 352-1 V.
  • Figure 9A shows the source video supplied to the video encoder 351-1 V
  • Figure 9B shows the video elementary stream (ES) output from the video encoder 351-1 V
  • 9C shows a bucket-raised elementary stream (PES)
  • FIG. 9D shows a transport stream (TS).
  • the packetized elementary stream (PES) shown in Fig. 9C is generated by packetizing a plurality of elementary stream streams and adding a PES header to the beginning of the packetized stream.
  • the PES header includes a 24-bit packet start code indicating the start of a PES packet, and the type of stream data contained in the actual data portion of the PES packet (for example, video or audio, etc.).
  • PTS Presentation Time Stamp
  • DTS Decoding Time Stamp
  • stuffing bytes for adjusting the amount of data. It consists of a variable-length conditional coding unit.
  • the transport stream is a data stream of a transport stream bucket composed of a 4-byte TS header and a payload section in which an 18-byte actual data is recorded.
  • TS packet the data stream of the PES packet is first decomposed into 184-byte units, and the 184-byte unit is used.
  • the transport stream packet is inserted by inserting the actual data of the packet into the payload of the TS bucket and adding a 4-byte TS header to the data of the 18-byte pay mouth. Is generated.
  • FIG. 10 is a diagram showing the syntax of an MPEG video elementary stream.
  • Each video encoder 3 5 1—1 V to 3 5 1—9 V in the video encoder block 35 generates an encoded elementary stream according to the syntax shown in FIG. To achieve.
  • functions and conditional statements are shown in fine print, and data elements are shown in bold print.
  • the syntax shown in FIG. 10 is a syntax used to extract a predetermined meaningful data from the encoded stream transmitted at the video decoder side. is there.
  • the syntax used on the video encoder side is the syntax in which conditional statements such as if and while statements are omitted from the syntax shown in FIG.
  • the next-start-code () function which is described first in the video-sequesce () and is described first, is a function for searching for a start code described in the bitstream.
  • a data element defined by the sequence_header () function and the sequence_extension () function is described.
  • the sequence—header () function is a function for defining the header data of the sequence layer of the MPEG bitstream.
  • the sequence—extension () function is a function that defines the MPEG bitstream. This is a function for defining the extended data of the sequence layer.
  • the do ⁇ while syntax placed next to the sequence_extension () function is a data element described based on the function inside the ⁇ of the do statement while the condition defined by the while statement is true. Is a syntax that indicates that is described in the encoded data stream.
  • the nextbits () function used in this while statement is a function for comparing the bit or bit string described in the bitstream with the referenced data element. .
  • the nextbits () function compares the bit string in the bitstream with the sequence_end_code indicating the end of the video sequence, and determines whether the bits in the bitstream are the same as the bits in the bitstream. The condition of this w hi le statement is true.
  • extension_and__user_data (0) function is a function for defining extension data and user data in the sequence layer of the MPEG bitstream.
  • This extension— and— user-one data (O) function is followed by a do ⁇ while construct that uses the function inside the ⁇ of the do statement while the condition defined by the while statement is true.
  • This is a function indicating that the data element described based on is described in the bitstream.
  • the nextbits () function used in the while statement is a function for judging whether a bit or bit sequence appearing in the bit stream matches picture—start_code or group—start—code. Therefore, if the bit stream (or the bit scheme that appears, and the picture—start—code or (group—start_code) in the bitstream matches, the The condition becomes true. Therefore, this do ⁇ hile syntax is used in the coded bit stream (here, picture start code or (group start code appears). Indicates that the code of the data element defined by the function in the do statement is described after the start code.
  • the if statement described at the beginning of the do statement indicates the condition that group-start-code appears in the encoded bitstream. If the condition of this if statement is true, the condition in the encoding bitstream (here, this group one start-code, next (this group—of—picture—header () function and extension—and — User_data (l) function (data elements defined and described in order are described in order.
  • This group—of_picture_header () function is a function for defining the header data of the GOP layer of the MPEG encoded bit stream
  • the extension_and_user—data (l) function is the function of the MPEG encoded bit stream. This function is used to define extended data and user data of the GOP layer.
  • the picture_header () function is a function for defining the header data of the picture layer of the MPEG coded bit stream
  • the picture_coding_extension () function is a function for defining the MPEG coded bit stream. This is a function for defining the first extension data of the picture layer.
  • the extension_and_user-data (2) function is a function for defining extension data and user data of the picture layer of the MPEG encoded bit stream.
  • the user data defined by the extension_and_user_data (2) function is data described in a picture layer and can be described for each picture. Time code information is described as user data defined by this extension- and_user-data (2) function.
  • the user data of the picture layer is followed by a data element defined by a picture-data () function.
  • the picture-data () function is a function for describing data elements relating to the slice layer and the macroblock layer.
  • the while statement described next to the picture_data () function is a function for determining the condition of the next if statement while the condition defined by this while statement is true.
  • the nextbits () function used in this while statement is a function for determining whether picture-start-code or group_start_code is described in the coded bitstream. If picture-start-code or group-art-code is described therein, the condition defined by this wh i 1 e statement is true.
  • the next if statement is a conditional statement for determining whether or not sequence—end_code is described in the encoded bitstream. If sequence_end_code is not described, the sequence_header () function is used. This indicates that the data element defined by the sequence and the extension () function is described. Since the sequence—end—code is a code indicating the end of the sequence of the coded video stream, the sequence—header () function and the sequence_extens A data element defined by the ion () function is described.
  • sequence_header () function The data elements described by the sequence—header () function and sequence—extension ion () function are described by the sequence_header () function and the sequence—extension ion () function described at the beginning of the video stream sequence. It is exactly the same as the one-time element.
  • the reason for describing the same data in the stream in this way is that when the bit stream receiving device starts receiving data from the middle of the data stream (for example, the bit stream corresponding to the picture layer). This is to prevent a situation in which it is impossible to receive the sequence layer's data and the stream cannot be decoded.
  • FIG. 11 is a diagram for describing the syntax of the sequence_header () function.
  • the data elements defined by this sequence_header () function are: , Bit—rate—value, marker—bit, VBV_buffer_size—value, constrained—parameter—flag, load—intr—quantizer—matrix, intra—quantizer—matrix, load_non_intra_q uantizer_matrix, and non_intra—quantizer—matrix .
  • sequence—header_code is a sequence representing the start synchronization code of the sequence layer.
  • sequence—header—present—flag is data indicating whether data in the sequen cejieader is valid or invalid.
  • horizontal—size one value is the data consisting of the lower 12 bits of the number of pixels in the horizontal direction of the image.
  • vertical—size—value is a text consisting of the lower 12 bits of the image's vertical lines.
  • Aspect-ratio-information is data representing pixel aspect ratio (aspect ratio) or display screen aspect ratio.
  • frame_rate—code is data representing the display cycle of the image.
  • bit_rate_value is the lower 18 bits of the bit rate (rounded up in units of 400 bsp) to limit the amount of generated bits.
  • the marker_bit is a bit value that is inserted to prevent time code emulation.
  • VBV_buffer_size_value is the lower 10 bits of the value that determines the size of the virtual buffer (video buffer verifier) for controlling the generated code amount.
  • Constrained_parameter_flag is data indicating that each parameter is within the limit.
  • the load—intra—quantizer—matrix is the data that indicates the location of the quantization matrix for MB. intra—quantzer matrix Is data indicating the value of the quantization matrix for Intra MB. load—non—intra—quantizer matrix is a non-intra MB ? It is a night to show your presence.
  • the non-intra-quantize rjnatrix is a data representing the value of the quantization matrix for non-intra MB.
  • FIG. 12 is a diagram for explaining the syntax of the sequence—extension () function.
  • the data elements defined by this sequence_extension () function are: extension_start_code N extension_start_code-identifier, sequence-extension-present-flag, proi-i-le-d_level-indication, progressive-sequence, chroma- format ;, hor i zontal one si ze—extension, vertical_si ze—extension ion, bit—rate—ex tension ⁇ vbv—buffer_size—extension, low_delay, frame—rate—ex tens ion—n, and frame—rate_extension—d It is an element of the de night.
  • extension—start—code is data that indicates the extension synchronization code for the extension.
  • sequence—extension_present_flag is an indication of whether the data in the sequence extension is valid or invalid.
  • prof i 1 e_and_leve indication is 5-evening to specify the profile and level of video data.
  • Progressive-sequence is data indicating that the video data is progressively scanned.
  • chroma_format is a video format for specifying the video color difference format. The horizont al-size-extension is the data of the top two bits that can be stored in the horizntal-size-value of the sequence header.
  • vertical s ize extension This is the upper 2 bits of the data that can be seen in the sequence header's vertical—size value.
  • the bit-rate-extension is the data of the upper 12 bits added to the bit-rate-value of the sequence header.
  • vbvjmffer—size_extension is the upper 8 bits of data that can be stored in vbv—buf fer—size_value of the sequence.
  • low—delay is data indicating that a B picture is not included.
  • frame—rate—extension—n is a method for obtaining the frame rate in combination with the frame_rate_code of the sequence header.
  • irame—rate—extension—d is the data to obtain the frame rate in combination with the frame_rate—code in the sequence header.
  • FIG. 13 is a diagram for explaining the syntax of the extension-and-user_data (i) function.
  • This extension_and- user_data (i) function is defined by the user-data () function without describing the overnight element defined by the extension_data () function when “i” is other than 2. Describe only the data element. Therefore, the extension-and-user-data (O) function describes only the data element defined by the user_data () function.
  • FIG. 14 is a diagram for explaining the syntax of the group-of_picture-header () function.
  • the data element defined by this group-of-picture-header () function is composed of group-start_code, group_of_picture_header_present_flags time-code, closed-gop, and broken-ink.
  • group_start-code is a data indicating the start synchronization code of the GOP layer.
  • group—of—picture—header—present—flag is group—oi—whether the data element in the picture_header is valid or invalid It is a night to show.
  • time—code is a time code indicating the time from the start of the sequence of the first picture of G0P.
  • c lost_gop is a flag indicating that the image in G 0 P can be reproduced independently from other G 0 P.
  • broken—link is a flag indicating that the first B picture in G ⁇ P cannot be accurately reproduced due to editing or the like.
  • the extension—and—user—data (1) function is a function for describing only the data element defined by the user—data () function, like the extension—and—user—data (0) function. is there.
  • FIGS. 15 to 17 a picture_header function for describing a data element relating to the picture layer of the coded stream, a picture—coding—extension () function, and an extens ions— and—user_data (2) and picture—data () will be described.
  • FIG. 15 is a diagram for explaining the syntax of the picture_headr () function.
  • the data elements defined by the picture_headr () function are picture—start—code, temporal—reference, picture—coding—type, vbv—delay, ful l_pel—forward—vector, forward—f—code, ful l — Pel_backward__vector, backward—f-code, extra—bit—picture, and extra—information—picture.
  • picture_start_code is a value indicating the start synchronization code of the picture layer.
  • the tempora and reference are numbers indicating the display order of pictures and are data that is reset at the beginning of the GOP.
  • picture — coding — type is a picture that indicates the picture type.
  • vbv_delay is data indicating the initial state of the VBV buffer, and is set for each picture.
  • the picture of the coded elementary stream transmitted from the transmitting system to the receiving system is The data is buffered in the VBV buffer provided in the receiving system, extracted (read) from this VBV buffer at the time specified by the DTS (Decoding Time Stamp), and supplied to the decoder.
  • the time defined by vbv_delay means the time from when the picture to be decoded starts to be buffered in the VBV buffer until the time when the picture to be coded is extracted from the VBV buffer, that is, the time specified by the DTS. I do.
  • ful l— pel—forward_vector is a bit that indicates whether the accuracy of the forward motion vector is in integer units or half-pixel units.
  • forward — f_code is data representing the forward motion vector search range.
  • ful l—pe and backward_vector are data indicating whether the accuracy of the backward motion vector is in integer units or half-pixel units.
  • backward—f—code is a series of data representing the backward motion vector search range.
  • extra-bit-picture is a flag indicating the presence of the following additional information. If this extra_bit-picture is "1", then extra-information-picture is present, and if extra one bit-picture is "0", it indicates that there is no data following it. extra-information-picture is information reserved in the standard. FIG.
  • picture_coding_extension () function is extension_start_code, extension_start code identifiers: f_code [0] [0], f code [0] [l], f — Code [l] [0], f—code [l] [1], intra—dc—precision, picture—structure, top—field—first, frame—predictive—frame—dct, concealment—motion—vectors , Q—scale—type, intra—vlc_format, alternate—scan, repeatj irt—field, chroma—420_type, progressive—frame, composite—display_flag, v—axis, field—sequence, sub—carrier, burst—amplitude, and It consists of sub-carrier-phase.
  • extension_start-code is a start code indicating the extension start of the picture layer-evening start.
  • extension—start—code—identifier is a code that indicates which extension is sent.
  • f code [0] [0] is data representing the search range of the horizontal motion vector in the foreground direction.
  • f_code [0] [l] is a data representing the search range of the vertical motion vector in the forward direction.
  • F_code [l] [1] is a data representing the backward motion vector search range.
  • intra_dc precision is data representing the precision of the DC coefficient.
  • the picture_structure is a short time indicating whether it is a frame structure or a field structure.
  • top_field_first is a flag indicating whether the first field is a top field or a bottom field in the case of a frame structure.
  • frame—predictive frame_dct is data indicating that, in the case of a frame 'structure, the prediction of the frame' mode DCT is only the frame 'mode.
  • concealment—motion_vectors is a short time stating that the intra-macro pro- ject has a motion vector to conceal transmission errors.
  • q scale type is This data indicates whether to use a linear quantization scale or a non-linear quantization scale.
  • intra_vlc_format is data indicating whether to use another two-dimensional VLC for the intra macro block.
  • alternate_scan is data that indicates the choice between using a zigzag scan or an alternate scan.
  • repeat_f irst field is a flag indicating whether or not to generate a repeat field at the time of decoding. In the decoding process, if repeat—first—field is “1”, repeat Generates a field, and if repeatjirst-field is "0", does not generate a repeat field.
  • chroma_420 type is data representing the same value as the next progressive-frame when the signal format is 4: 2: 0, and 0 otherwise.
  • progress ive—frame is a short time that indicates whether this picture can be scanned sequentially.
  • composite display_flag is a flag that indicates whether the source signal was a composite signal.
  • V-axis is the data used when the source signal is PAL.
  • field_sequence is data used when the source signal is PAL.
  • sub-carrier is the data used when the source signal is PAL.
  • the burst-amplitude is data used when the source signal is PAL.
  • the sub-carrier_phase is the data used when the source signal is PAL.
  • the extension_and_user-data (2) function adds the extension-data () function when the extension start code extension—start— The element described in the following is described. However, if the extension start code does not exist in the bitstream, The data element defined by the extension_data () function is not described in the bitstream. Following the data element defined by this extension—data () function, the user—data—start— code, if there is a user—data—start code in the bitstream, The data element defined by the () function is described.
  • FIG. 17 is a diagram for explaining the syntax of the picture-data () function.
  • the data element defined by the picture_data () function is a data element defined by the slice () function.
  • the slice_start_code indicating the slice code of the slice () function does not exist in the bit stream, the data element defined by this slice () function is not included in the bit stream. Not described.
  • the slice () function is a function for describing a data element relating to a slice layer. Specifically, slice—start—code, slice—quantizer—scale—code, intra—slice—flag, and intra— This function is used to describe data elements such as slice, reserve d_bits, extra_bit-slice, extra-information-sice, and extra-bit_slice, and data elements defined by the macroblock () function.
  • slice_start_code is a time code indicating the start of a data element defined by the slice () function.
  • si ice_quantizer_scale_code is data indicating the quantization step size set for the macroblock existing in this slice layer. However, if quantiser-scale-code is set for each macroblock, macroblock quant is set for each macroblock.
  • the data of er_scale_code is used preferentially.
  • the intra_sice_flag is a flag indicating whether or not intra_sl ice and reserved_bits are present in the bitstream.
  • the intra-slice is data indicating whether or not a non-intra macro block exists in the slice layer.
  • intra_siice is “0”, and if all of the macroblocks in the slice layer are non-intra macroblocks, intra_sl ice becomes "1".
  • reserved_bits is 7-bit data and takes a value of “0”.
  • extra_bit_slice is a flag indicating that additional information exists as an encoded stream, and is set to “1” when extra_infonnation_slice exists next. Set to “0” if no additional information is present.
  • the macroblock () function is a function for describing a data element relating to a macroblock layer. Specifically, a data element such as macroblock_escape, macroblock—address_increment, and macroblock_quantizer_scale_code is used. It is a function for describing the data elements defined by the macroblock, the modes () function of macroblock and the vecters (s) function of macroblock.
  • macroblock escape is a fixed sequence of bits that indicates whether the horizontal difference between the reference macroblock and the previous macroblock is greater than or equal to 34. If the horizontal difference between the reference macroblock and the previous MAC block is 3 4 or more, add 3 3 to the value of macroblock_address—increment.
  • macroblock_qua ntiser scale—code is the quantization step size set for each macroblock.
  • Each slice layer has siice—quantizer—scale—code indicating the quantization step size of the slice layer.
  • macroblock—quantizer—scale—code is set for the reference macroblock, Selects this quantization step size.
  • the transport stream packet is composed of a 4-byte header and a 18-byte byte load section for storing various data and data elements.
  • the headers of the transport stream bucket are sync-byte, transport-error-indicator, payload-unit-start-indicator, tran sport-priority, PID, transport-scrambling-control, adaptation_field_control. It consists of various fields such as N continuity-counter and adaptation-field.
  • sync_byte is a fixed 8-bit field for detecting a synchronization pattern in the bitstream.
  • the value is defined as a fixed value of '01000111' (Ox 47), and synchronization can be detected by detecting this bit pattern in this stream.
  • payload_unit—start_indicator is a 1-bit flag. This is a data stream that has a normative meaning for transport stream packets transmitting elementary data such as video / audio data or program specification information (PSI).
  • payload-unit-start-indicator has the following meaning.
  • start_indicator is “1”, it indicates that the element stream is inserted at the beginning of the pay stream of this transport stream bucket.
  • payload—unit—start If the indicator is “0”, it indicates that the element stream has not been inserted at the beginning of the pay stream of this transport stream packet.
  • payload-unit-start-indicator If the payload-unit-start-indicator is set to "1", it indicates that only one PES bucket will start on any transport stream packet. On the other hand, if the transport stream packet payload contains PSI data, payload-unit-start-indicator has the following meaning. If the transport packet carries the first byte of the PSI section, the payload-unit-start-indicator will be "1". If the transport stream bucket does not carry the first byte of the PSI section, the payloaa-unit-start-indicator will be "0". Note that even when the transport stream packet is a null bucket, the payload_unit_start indicator is set to “0”.
  • transport_priority is a 1-bit identifier indicating the priority of the transport bucket.
  • this transport_priority is set to “1”
  • this transport packet must have the same packet identifier PID, and have a higher priority than this transport-priority packet that is not “1”. Is shown. If it is low, any bucket can be prioritized within one elementary stream by setting the bucket identifier of this transport_priority.
  • transport-scrambling-control ⁇ This is a 2-bit data indicating the scrambling mode of the transport stream payload.
  • the scramble ring mode is a mode for indicating whether or not data stored in the payload is scrambled and the type of the scramble.
  • the transport stream bucket header and the adaptation field are standardized so as not to be scrambled by the scramble key Ks. Therefore, it is possible to determine whether or not the data stored in the transport stream packet payload is scrambled by the transport-scrambling-control.
  • the adaptation-field-control is a 2-bit data indicating that an adaptation field and / or a pay mouth is included in the packet header of this transport stream. Specifically, when only the payload header is arranged in the packet header, the value of the adaptation parameter is “01”, and only the adaptation field is arranged in the header header. In this case, the adaptation field control becomes “10” and the adaptation is added to the bucket header. When the field and the payload are arranged, the adaptation_field_control is “1 1”.
  • the continuity-counter is a data indicating whether or not a packet having the same PID transmitted continuously is partially lost or discarded during the transmission.
  • the continuity-counter is a 4-bit field that increases for each transport stream bucket with the same PID.
  • this contimlty-comter is counted, it means that the Adam header field is arranged in the packet header.
  • adaptation_field () is a field for inserting additional information about the individual stream, such as surfing and footing bytes, as an option. This adaptation field allows any information about the dynamic state change of the individual stream to be transmitted along with the data.
  • FIG. 19 is a diagram for explaining the syntax of adaptation_field ().
  • the adaptation_field () is adaptation_field—length, discontinuity—counter, randam—access—inaicator, elemntary—stream—priority_indicator, OPCR—flag, splicing—point—flag, transport—private data—f lag, adaptation—field—extension—f lag, program—c lock—reference (PCR), original_program_clock_reference (OPCR), spl ice—countdown,, transport—private—data—length, private—data, adaptation—f It consists of various fields such as ield—extension—length, 1 t_flag (leagal_time_indow_flag), piecewise—rate—flag, and s eamless_splice_flag.
  • the adaptation f ield length is the next of this adaptation f ield length. This is a data showing the number of bytes in the adaptation field following the following. If adaptation—field_control is “1 1”, then adaptation—fie Id—length is from 0 to 182 bits, and if adaptation_field—control is “10”, adaptation — F ield— The length is 18 3 bits. If there are not enough elementary streams to fill the pay stream of the transport stream, stuffing processing is required to fill the bits.
  • the discontinuity-counter is a data indicating whether or not the system clock reference (SCR) is reset in the middle of a plurality of packets having the same PID and the system clock reference is discontinuous. If the system clock reference is discontinuous, this discontinuity_counter is "1", and if the system clock reference is continuous, this disconti- nuity-counter is "0".
  • the system clock reference is a reference information for setting the value of the system time clock on the decoder side to the intended timing on the encoder side in the MPEG decoder for decoding video and audio. It is.
  • the randam-access-indicator is data indicating the start of a video sequence header or an audio frame.
  • this rand am-access_indicator is a data to indicate that it is a video or audio access point (beginning of a frame) when performing random access of the data element.
  • e lemntary—stream—priority indicator is the payload of this transport stream packet in packets with the same PID. This is a message that indicates the priority of elementary stream data transmitted during loading. For example, if the elementary stream is video data and the video data is intra-coded, the elementary_stream_priority-indicator is set to “1”. On the other hand, the elemntary-stream_priority-indicator of the transport stream including the video data that has been encoded in
  • the PCR flag is a flag indicating whether or not there is a PCR (program. Clock_refrence) flag in the adaptation field. If PCR data is present in the adaptation field, PCR—flag is set to “1”; otherwise, PCR—flag is set to “0”. Is The PCR data is data used in the decoder on the receiver side to obtain the timing of the decoding process for decoding the transmitted data.
  • the OPCR-flag is data that indicates whether or not there is 0 PCR (original-program-clock-refrence) data in the adaptation field. If the OCR data exists in the adaptation field, the OPCR flag is set to “1”. If the OCR data does not exist, 0PCR_flag is set to “0”. You.
  • the OPCR data is data used when one transport stream is reconstructed from a plurality of original transport streams by a splicing process or the like. This data represents the PCR data of the stream.
  • splicing_point_flag is an edit point at the transport level
  • Splice countdoun to indicate This is data indicating whether or not it exists in the field. If the splice—countdoun exists in the adaptation field, this splicing_point_flag is “1”, and the splicing_point_flag is “1”. , This splicing one point — flag is “0”.
  • transport_private_data_flag tt "F.t.f. This data is used to indicate whether or not there is a private data description for user data in the specification field. In the adaptation field. If the private exists (this transport-private-data-flag is set to "1" and there is no private in the adaptation field; This transport—private—data—flag is set to “0”.
  • program_clock_reference is a reference clock that is referenced when synchronizing the clock phase on the receiver side with the clock phase on the transmitter side.
  • This PCR data stores the time when the transport packet was generated.
  • This PCR is a 42-bit data consisting of a 33-bit program-clock-reference-base and a 9-bit program_clocReference extension.
  • prog ram c locLreference—extension counts the system clock from 0 to 299 and carries when reset from 299 to 0—by program—c lock_reference—adds 1 bit to base By calculating tl, 24 hours can be counted.
  • origmal_program_clock_reference (0PCR) is a scheme used to reconstruct a single program transport stream from a given transport stream. If the single program drone stream is completely reconstructed, this original_program—c lock—reference is copied to program—c lock—reference.
  • spl ice—countdown is a data that indicates the number of buckets up to a point that can be edited at the transport stream packet level (splicing can be performed) in the transport stream packet of the same PID. . Thus, for transport stream packets with editable splicing points, splice—countdown is “0”. spl ice_countdown is set to “0” In the transport packet, the last byte of the transport stream bucket payload is the last byte of the coded picture, so that splicing can be performed. Become.
  • This splicing process connects two different elementary streams performed at the transport level and creates one new transport stream.
  • the splicing process can be divided into a seamless splice that does not cause decoding discontinuity and a non-seamless splice that causes decoding discontinuity.
  • No code discontinuity is defined as when decoding a newly connected stream access unit.
  • the decoding time of the access stream of the old stream before splicing indicates that there is no inconsistency. This shows that the decoding time of the access unit of the fortune-telling stream before splicing is inconsistent with the decoding time.
  • transport_private—data-length data indicating the number of bytes of private data in the session file.
  • private—data is a field that is not specified in the standard and can describe any user data in the adaptation field.
  • adaptation-field-extension-length is data indicating the data length of the adaptation field extension in the adaptation field.
  • ltw_flag (leagal-time-window-flag) is data indicating whether or not ltw_offset indicating the offset value of the display window exists in the adaptation field.
  • piecewise—rate—flag is a value indicating whether a piecewise_rate exists in the adaptation field.
  • seamless—spl_ice_flag is an indication of whether the splicing point is a normal or seamless splicing point.
  • this seamless—spl ice—f lag is “0”, it indicates that the splicing point is a normal splicing point.
  • this seamless—spl ice_f lag is “1”, the splicing point is seamless.
  • the normal splicing point is the splicing If the point exists at the break of the PES bucket, the splicing packet immediately before this splicing point ends with the access unit, and the next transport packet having the same PID is the PES bucket. This is the case when starting with the header.
  • a seamless splicing point is when there is a splicing point in the middle of a PES packet, and the decoding time of the access unit of the newly connected stream and the time before the splice.
  • a part of the characteristics of the old stream is used as the characteristics of the new stream.
  • FIG. 20 is a diagram in which, in order to more easily explain the control of the local station 40 described in FIG. 7, one channel among a plurality of channels is left and other channels are omitted.
  • the present invention has three embodiments relating to splicing processing as embodiments relating to splicing processing. Examples of the first, second, and third splicing processes will be described below in order.
  • the first embodiment relating to the splicing process is that the encoded stream ST OLD of the newly inserted commercial CM 'is inserted before the encoded stream ST OLD of the transmission program is transmitted from the head office 30.
  • This is an embodiment relating to a splicing process performed when is already generated.
  • the encoded stream ST OLD part of the commercial CM in the transmission program has already been encoded in advance.
  • the stream of the channel CM 1 is inserted.
  • the video data of the commercial CM 1 ′ for the local area is encoded, and the encoded stream TS NEW is stored in the stream server 49 in advance.
  • the stream server 49 transmits the encoded stream ST NEW of the commercial CM 1 for the local area.
  • the local station 40 encodes a commercial CM 1 ′ for the local area, which is replaced with the commercial CM 1 part of the transmission program, and stores the encoded stream ST NEW in the stream server 49.
  • Broadcasting system controller 4 1 controls the CM server 4 7 to play Bideode Isseki commercial CM 1 5 to be replaced by a commercial CM portion of the transmission program.
  • the encoder 481 receives the baseband video data reproduced from the CM server 47, and supplies the encoding difficulty (Difficulty) Di of each picture of the video data to the encoder controller 480.
  • Encoder controller 480 similar to encoder controller 350 described in FIG. 8, provides a target bit for encoder 481 so that encoder 481 generates the appropriate encoded bit.
  • Encoder 481 is the first get bit train supplied from encoder controller 480. By performing the encoding process based on R i, it is possible to generate an encoding scheme stream ST NEW with an optimal bit rate.
  • the encoded elementary stream S TNEW output from the encoder 481 is supplied to the stream server 49.
  • the stream server 49 records the encoding scheme lease stream in a random accessible recording medium in the stream state. This completes the initial processing of storing the encoded stream STNEW in the stream server 49.
  • the encoded stream ST0LD transmitted from the main station 30 is converted from the transport stream format to the elementary stream format in the stream conversion circuit 44.
  • the encoded stream STOLD converted to the elementary stream format is supplied to the stream splicer 50.
  • the stream splicer 50 includes a splice controller 500, a switch circuit 501, a stream analysis circuit 502, and a stream processor 50. 3, and a splicing circuit 504.
  • the splice controller 500 switches the input terminal of the switch circuit 501 to “a”, and the element splicer supplied from the stream server 49.
  • the stream STINE is supplied to the stream analysis circuit 502.
  • the stream analysis circuit 502 is a circuit that analyzes the syntax of the coded stream ST OLD and the coded stream ST NEW. Specifically, the stream analysis circuit 502 is described in the encoding stream ST OLD as can be understood from the encoding stream syntax disclosed in FIGS. 10 and 15. 3 By looking for a 2-bit picture—start—code, the location in the stream where the information about the picture header is described is ascertained.
  • the stream analysis circuit 502 grasps the picture type by finding the 3-bit picture_coding—type starting 11 bits after the picture_start_code, and determines the picture type.
  • the vbv_delay of the coded picture can be grasped from the 16-bit vbv_delay described after one type.
  • the stream analysis circuit 502 includes the encoding stream ST OLD and the encoding stream. By finding the 32-bit extension_start_code described in the stream ST NEW, it is possible to ascertain where in the stream information about the picture coding extension is described. Next, the stream analysis circuit 502 is described by one bit of top_field_first described after 25 bits of picture_start_code and 6 bits after top_field_first of that bit. By searching for repeat_first_field, the frame structure of the coded picture can be ascertained.
  • top_field_firstj For example, if the coded picture's rtop_field_firstj is “1”, it indicates that the top field has a temporally earlier frame structure than the bottom field, and “top field ld fi rst j is“ 0 ”. , The top field is Indicates that the frame structure is earlier in time than the bottom field. Also, the flag “top_field—firstj in the encoding stream is
  • the obtained picture-coding-type, vbv-delay, top-field-first, and repeat-first-field are extracted from the coding stream for each picture and supplied to the splice controller 500.
  • the elementary stream S TOLD and the elementary stream S TNEW supplied to the stream analysis circuit 502 are directly supplied to the stream processor 503 as the elementary stream S TOLD and the elementary stream S TNEW. Supplied.
  • the stream analysis circuit 502 has a counter for counting the number of bits of the supplied stream ST OLD and stream ST NEW, and the count value and the generation of each picture are provided.
  • the amount of data remaining in the VBV buffer is simulated for each picture based on the bit amount.
  • the amount of data remaining in the VBV buffer for each picture calculated in the stream analysis circuit 502 is also supplied to the splice controller 500.
  • the stream processor 503 generates a splice generated by splicing the stream S T0LD and the stream S TNEW. This is a circuit for changing the stream structure, the stream element and the flag of the stream S TOLD and the stream S TNEW so that the stream S TSPL becomes a seamless stream. The specific processing of the stream processor 503 will be described with reference to FIG.
  • FIG. 21A is a diagram showing the trajectory of the original stream ST OLD supplied from the head office 30 and the data occupancy of the VB V buffer of the stream STOLD
  • FIG. 21B is a diagram showing the stream.
  • FIG. 21B is a diagram showing the replacement stream ST NEW stored in the server 49 and the trajectory of the data occupancy of the VBV buffer of the stream STNEW.
  • FIG. 21B shows the splicing points SP 1 and SP 2
  • FIG. 4 is a diagram showing a trajectory of a spliced stream S TSPL obtained by splicing a stream STOLD and a stream STNEW, and the occupancy of the data occupancy of the VBV buffer of the splice stream STSPL.
  • FIG. 21A is a diagram showing the trajectory of the original stream ST OLD supplied from the head office 30 and the data occupancy of the VB V buffer of the stream STOLD
  • FIG. 21B is a diagram showing the stream.
  • FIG. 21B is a diagram showing the replacement stream ST NEW stored in the server
  • DTS Decoding Time Stamp
  • SP lvb V is the first splicing point on the locus of the overnight occupancy of the VB V buffer
  • SP 2vbv Indicates the second splicing point on the locus of the VBV buffer data occupancy
  • VO (I 6) indicates the picture I buffered on the VBV buffer when picture B5 is extracted from the VBV buffer.
  • GB (I6) indicates the number of generated bits of picture I6, VD (I6) indicates the value of vbv-delay of picture I6, and VO (B7) indicates the picture amount.
  • GB (B11) indicates the number of generated bits of picture B11
  • VD (I12 ) Is a pic Indicates the value of vbv_delay of channel I12
  • VO (I12) indicates the data amount of picture I12 buffered on the VBV buffer when picture B11 is extracted from the VBV buffer .
  • GB (I6 ′) indicates the amount of generated bits of the picture I 6
  • VD (I6 ′) indicates the value of vbv_delay of the picture 16
  • VO (I6 ′) ') Indicates the amount of data buffered in the VBV buffer of picture I 6' at the first splicing point S ⁇ 1 vbv in VBV
  • GB (Bll ') indicates the occurrence of picture B 11
  • V ⁇ (I12 ′) indicates the amount of data buffered in the VBV buffer of picture B 12 ′ at the second splicing point S ⁇ 2 vbv in VBV.
  • GB (I6 ") indicates the number of generated bits of picture I6" which has been stream-processed so that spliced stream S TSPL becomes a seamless stream.
  • VD (I6 ") indicates the value of vbv_del ay of picture I6
  • GB (B11 ") indicates a picture that has been stream-processed so that the spliced stream ST SPL becomes a seamless stream.
  • B 11 "indicates the amount of generated bits.
  • the original stream S TOLD is a stream encoded in the main station 30, and the replacement stream S TNEW is a stream encoded in the local station 40.
  • TOLD and stream ST NEW are streams that have been coded independently of each other by video encoders.
  • the value VD (16) of the vbv_delay of the first picture I6 in the stream STOLD and the value VD (16,) of the vbv-delay of the first picture I6 in the stream STOLD are the same. is not.
  • the VBV buffer In the timing of the stream splice point SP lvbv, the data occupancy VO (16) of the VBV buffer of the original stream STOLD and the data occupancy VO (I6) of the VBV buffer of the replacement stream STNEW ,).
  • the stream splicer 50 generates a spliced stream S TSPL based on the stream elements extracted from the stream S TOLD and the stream S TNEW in the stream analysis circuit 502.
  • the stream processor 503 performs a stream process on the stream structure of the supplied stream ST OLD and stream ST NEW so that a seamless stream is formed at the splice point. The processing will be described below.
  • the splice controller 500 provides information about the stream S TOLD, such as picture coding type, v bv_delay, top_field_first, and repeat_field first field, for each picture. ⁇ ⁇
  • the amount of data and the amount of data occupied by the VBV buffer in each picture are received from the stream analysis circuit 502.
  • the value of vbv_delay in picture I6 is represented as VD (16)
  • the amount of generated bits in picture I6 is represented as GB (16)
  • the value of the VBV buffer in picture I6 is Evening occupancy is expressed as VO (16).
  • the splice controller 500 calculates the vbv_delay value VD (16) of the picture I 6 of the original stream S TOLD and the vbv—delay of the picture I 6 of the replacement stream S TNEW at the splicing point SP 1. Is determined to be different from VDU6 '), the value of vbv_delay of picture I6' described in the replacement stream STINE is rewritten from VD (I6,) to VD (16). Instructions to stream processor 503 as shown.
  • the stream processor 503 changes the value of the 16-bit vbv_delay described in the picture header of the replacement stream S TNEW from VD (I6 ') to VD (I6) in accordance with an instruction from the splice controller 500. Rewrite to
  • the splice controller 500 determines that the bit amount GB (I6 ′) of the replacement stream STINE picture I 6, and the bit rate of the seamless splice stream ST SPL picture I 6 ′′ GB so that (I6 "), performs a process of inserting the scan evening Ffi Ngubai preparative for the picture I 6 5 of the replacement scan tri Ichimu S Tnew.
  • This stuffing byte is data composed of “0” dummy bits.
  • the splice controller 500 In order to perform the process of inserting stuffing bytes, the splice controller 500 generates the amount of generated bits GB (I 6), VB V received as information on the picture I 6 and the picture B 7 in the stream S TOLD. Buffer data occupancy V 0 (16), generated bit amount GB (16 ′) received as information about picture I 6 ′ in stream ST NEW, VB V buffer data occupancy V 0 ( Using (16), calculate the amount of data of the swap byte to be inserted. Specifically, based on the following equation (2), the sub byte SB 1 [by te] is calculated.
  • the splice controller 500 controls the stream processor 503 to insert the scanning byte S ⁇ ⁇ 1 calculated according to the above equation (2) into the stream S TNEW.
  • the stream processor 503 describes the scanning byte S # 1 in the stream STINE according to the instruction from the splice controller 500.
  • the most suitable location for the stuffing byte in the stream is before the start code of the picture header of picture I6 of the coding stream STINE, but it is most preferable to place it in the other stream. There is no problem even before the one.
  • the bit amount GB (B11,) of the last picture B 11, 1 of the stream S TNEW Is not enough, it does not follow the locus of the data occupancy of the VBV buffer in the first picture I12 of the stream STINE. As a result, the VBV buffer underflows or overflows.
  • the splice controller 500 sets the generated code amount GB of the last picture B11 ′ of the stream STINE so that the locus of the VBV buffer is continuous at the splice point SP2vbv in the VBV buffer.
  • the process of inserting stuffing bytes into the stream STNEW is performed so that (B1) becomes the generated code amount GB (11 ") of the picture B11" in FIG. 21C.
  • the splice controller 500 receives the VO (I12) received as information on the picture I 12 in the stream ST OLD, the last picture 11 1, Stuffing byte to be inserted using the amount of generated bits GB (B11,) and the amount of data VO (I12 ') occupied by the VB V buffer of the picture 12 of the stream STNEW. Calculate the amount of data over time. Note that, specifically, the stuffing byte SB 2 [byte] is calculated based on the following equation (2).
  • SB 2 [byte] ⁇ GB (B11 ") _ GB (B11,) ⁇ / 8
  • the data occupancy V ⁇ (I12 ') is the data occupancy of the VBV buffer for the stream ST NEW after the last picture ⁇ 11,1 has been extracted from the V ⁇ V buffer
  • the stream analysis circuit 502 which grasps the trajectory of the VBV by counting the number of bits in the stream STNEW, can be easily converted to the data.
  • the occupation amount V 0 (112 ′) can be detected.
  • the splice controller 500 controls the stream processor 503 so as to insert the scanning byte SB2 calculated according to the above equation (3) into the stream STNEW.
  • the stream processor 503 describes the setting byte SB2 as information relating to the picture B11 of the stream STNEW.
  • the most preferable position for describing the stuffing byte in the stream is before the stream code of the picture header of the picture B11 'of the encoding stream STNEW.
  • the above is the control of the splice controller 500 at the splice point SP2 and the VBV buffer of the stream processor 503.
  • FIG. 22A shows the TV program PGOLD, which is composed of program 1 and commercial CM 1 and program 2 produced by the main office 30.
  • FIG. 3 is a diagram showing a frame structure and an encoding stream STOLD when the television program P GOLD is encoded.
  • FIG. 22B is a diagram showing the frame structure of the replacement commercial CM 1 ′ produced at the local station 40 and the coded stream S TNEW when the replacement commercial CM 1 ′ is coded. is there.
  • Figure 22C shows the spliced stream S TSPL generated when the original stream S TOLD and the replacement stream S TNEW are spliced, and the spliced stream S TSPL is decoded.
  • FIG. 3 is a diagram showing a frame structure of FIG.
  • the splice controller 500 includes the top—field_first of each commercial of the commercial CM 1 in the stream S TOLD supplied from the stream analysis circuit 502 and the top_field_first of the commercial CM 1 ′ in the replacement stream S TNEW. Compare with If top_field_first in the stream S TOLD and top_field_first in the replacement stream S TNEW match, the field structures are the same, so top_field—first and repeat—first_fiel No processing is required for flags such as d. However, as shown in FIG. 22, when topjield—first of the original commercial CM 1 is “0” and top—field_first of the replacement commercial CM 1 is “1”, the explanation will be given in FIG. This causes problems such as discontinuity and duplication of fields.
  • the stream splicer 50 of the present invention uses the top field of the picture in the vicinity of the splicing point so that the splicing process does not generate a stream that violates the MPEG stream, in which fields are missing or duplicated.
  • first and repeat first_fi eld is rewritten.
  • the splice controller 500 switches the repetition—first—field of the picture P3 that is composed of the top field T4 and the bottom field B4 from 0 to 1.
  • the splice controller 500 sets the repeat—first_field of the picture P 9, which is composed of a top field t 10 and a bottom field b 11, so that a seamless stream is formed at the splice point SP 2. It controls the stream processor 503 to rewrite from 0 to 1.
  • the splice controller 500 rewrites the repeat—first—field of the picture P 9, so that the commercial CM 1 shifts by one frame time with respect to the original commercial CM 1.
  • the stream processor 503 is controlled to delete the picture B 13 displayed first on the display from the stream ST OLD. Based on the instruction of the splice controller 500, the stream processor 503 searches the original stream S TOLD for a picture-coding-extension code of the picture P3, and repeat-first_field of the code in the original code. Rewrite the value from 0 to 1. Therefore, decoding the picture P 3 in which the value of the repeat-first-field has been rewritten in this way generates a repeat field B 4, so that the fields are continuous at the splice point SP 1. Similarly, the stream processor 503 searches the replacement stream S TNEW for a picture code of picture—coding_extension for the picture P 9 ′, and sets the value of the repeat first field in the replacement stream to 0.
  • FIG. 23 shows another processing example of the processing related to flags such as top-field_first and repeat-first_field described in FIG. Referring to FIG. 23, a description will be given of a second processing example relating to flags such as top—fieldjirst and repeat_first—field of splice controller 500 and stream processor 503 at splice points SP 1 and SP 2. .
  • the splice controller 500 controls the top field F t 5 so that the field at the connection between the program 1 and the commercial CM 1 ′ at the splice point SP 1 is continuous.
  • the stream processor 503 is controlled so that the top_field_first of the picture B 7, composed of the bottom field b 6, is rewritten from 1 to 0, and the repeat_first_field of the picture B 7 ′ is rewritten from 0 to 1 .
  • the splice controller 500 is composed of a top field T11 and a bottom field B11 so that the field at the connection between the commercial CM1 'and the program 2 at the splice point SP2 is continuous.
  • the stream processor 503 is controlled so that the top_field_first of the picture B13 is rewritten from 1 to 0.
  • the chair controller 500 changes the top_field—first of the picture B 14 composed of the top field T 12 and the bottom field B 12 from 1 to 0, and streams the repeat_first_field from 1 to 0. It controls the processor 503.
  • the stream processor 503 searches the replacement stream S TNEW for a picture code of the picture_coding—extension of the picture B7, and searches for the stream code of the extension in the stream.
  • the field is continuous at splice point SP1.
  • the stream processor 503 searches the original stream S TOLD for a picture-coding-extension stream code for picture B 13, and changes the top-field—first in the original stream from 1 to 0. rewrite. Further, the stream processor 503 rewrites the top_field_first for the picture B 14 from 1 to 0 and rewrites the repeat_first_field from 1 to 0 in the original stream ST0LD. Therefore, when the pictures B13 and B14 in which the values of top—field_first and repeat—first_field are rewritten are decoded, the display time of the bottom fields B11 and B12 shifts by one frame. The field is continuous at splice point SP2.
  • the picture B 7, which appears first of the replaced commercial CM 1 is the picture which appears first of the original commercial CM 1. Since it is shifted by one field from B7, the display timing of the replaced commercial CM 1 'is delayed by one field. If the display is delayed by one field, the human eye can hardly see the delay. However, since broadcasters make money by broadcasting commercials from Cryand Corporation, it is necessary to broadcast commercials more accurately and without delay than broadcasting the main part of Program 1 etc. There is. When such an accurate display time is required, the second processing example shown in FIG. 23 is effective. As in the second processing example shown in FIG.
  • the first picture of the replaced commercial CM 1 is rewritten by rewriting the values of the topjield—f irst and repeat_f irst—field of the picture B 7. B7, can be accurately displayed without delay with respect to the first picture of the original commercial CM1.
  • the trajectory of the data occupancy of the VBV buffer of the stream ST NEW output from the stream processor 503 matches the trajectory of the data occupancy of the VBV buffer of the stream ST 0).
  • the stream ST NEW is connected after the stream ST OLD at the splice point SP1.
  • the trajectory of the data occupancy of the VBV buffer is continuous, and the field pattern / frame pattern is continuous.
  • Spliced stream ST SPL is generated.
  • the second splicing process when the encoded stream ST OLD of the transmission program is transmitted from the head office 30, the newly inserted commercial CM is encoded and the encoded stream ST OLD is encoded.
  • This is an example of a splicing process performed when a NEW is generated.
  • this method analyzes the encoded stream STOLD of the transmission program transmitted from the main station 30, and encodes the newly inserted commercial CM1 'based on the analysis result.
  • the coded stream ST 0LD transmitted from the main station 30 is converted from the transport stream format to the elementary stream format in the stream conversion circuit 44.
  • the encoded stream STOLD converted to the stream format is supplied to the stream analysis circuit 502 of the stream splicer 50.
  • the stream analysis circuit 502 of the stream bridger 50 is a circuit for analyzing the stream syntax of the encoded stream STOLD. In the embodiment relating to the second splicing process, the stream analysis circuit 502 analyzes only the syntax of the encoded stream ST OLD, and analyzes the syntax of the replacement stream ST NEW. Is not performed.
  • the stream analysis circuit 502 can be understood from the syntax of the encoded stream disclosed in FIG. 10 and FIG. As described above, by searching for the 32-bit picture_start_code described in the original stream ST OLD, the location where the information related to the picture header is described in the stream is grasped. Next, the stream analysis circuit 502 grasps the picture type by finding the 3-bit picture_coding-type that starts 11 bits after the picture—start_code, and recognizes the picture type. — Coding — The 16-bit vbv—delay described after the type can be used to determine the vbv—delay of the coding picture.
  • the stream analysis circuit 502 is described in the encoding stream ST OLD as can be understood from the encoding stream syntax disclosed in FIGS. 10 and 15. 32 By searching for the 2-bit extension_start—code, the location where the information about the picture coding extension is described in the stream is grasped. Next, the stream analysis circuit 502 includes a 1-bit top-field-first described 25 bits after the picture-start-code and a 6-bit top_field_first of the top_field_first. By searching for repeat-first-field described later, the frame structure of the coded picture can be ascertained.
  • the stream analysis circuit 502 extracts data such as picture—coding—type vbv—delay top_field—f irst and repeat—f first—field extracted for each picture from the original stream ST OLD.
  • the element is supplied to the broadcasting system controller 41 via the splice controller 500. It is not necessary to send the elements of all pictures of the original stream ST OLD, and the picture coding type, vbv of the picture corresponding to commercial CM 1 in the transmission program — Data elements such as —delay, top—field_first and repeat—first—field may be used.
  • the broadcast system controller 41 controls the CM server 47 so as to reproduce the video of the commercial CM 1 ′ which is replaced with the commercial CM part of the transmission program. Further, the broadcasting system controller 41 converts the picture—coding—type, vbv—delay, top—field_first and repeat—first—field extracted from the original stream S TOLD into the encoder controller of the encoder block 48. Supply to the 480 trolley.
  • the encoder controller 480 uses the picture-coding_type, vbv-delay, top-field-first and repeat-first_field supplied from the broadcasting system controller 41 to replace the baseband video of the commercial CM1.
  • Control encoder 481 to encode data. That is, picture—coding_type of the coding stream S TOLD of the original commercial CM 1, vbv—delay top_field—first and repeat—first_field, and picture—coding_type of the stream S TNEW that codes the replacement commercial CM l, v bv_delay, top_field—Encode the replacement commercial CM1, so that first and repeat_first_field are exactly the same.
  • the picture_coding_type, vbv—delay, top— are exactly the same as the picture_coding—type, vbv—delay, top—field—first, and repeat—fir stjield of the coding stream S TOLD of the original commercial CM1.
  • An encoded stream STINE with fie Id—first and repeat_first—field is generated.
  • Splice controller 501 is the input terminal of switch circuit 501.
  • the element is switched to “b” and the elementary stream STNEW output from the encoder 481 is supplied to the stream analysis circuit 502.
  • the stream analysis circuit 502 analyzes only the syntax of the encoded stream STOLD, and performs the analysis of the replacement stream STNEW. Since the syntax analysis is not performed, the stream STNEW is output without being analyzed by the stream analysis circuit 502.
  • the stream processor 503 controls the stream STOLD and the stream STINE output from the stream analyzing circuit 502. Since no stream processing such as changing the evening element is required, only the synchronization processing (frame synchronization) for synchronizing the frames ST OLD and ST NEW is performed. Specifically, the stream processor 503 has a FIFO buffer for several frames, and stores the stream in this FIFO buffer until the replacement stream STNEW is output from the encoder 481. By keeping the room S TOLD in the sofa, the frame synchronization between the stream ST OLD and the stream S TNEW can be synchronized. The stream STOLD and the stream STNEW subjected to the frame synchronization processing are supplied to a splicing circuit 504.
  • the splice controller 500 is connected to the stream S TOLD after the stream S TOLD at the splicing point SP 1, and is connected to the stream S TNEW after the stream S TNEW at the splicing point SP 2.
  • the switching of the splicing circuit 504 is controlled so that is connected.
  • the splicing circuit 5 04 Output the spliced stream S TSPL.
  • the stream S TOLD and the stream S TNEW are simply switched, but the trajectory of the data buffer occupancy of the VB V buffer of the splice do stream S TSPL Are continuous, and the frame points at the splice points are also continuous.
  • the original stream STOLD is encoded based on the analysis result of the stream synths, the original stream STOLD is matched to the original stream STOLD. Since the stream S TNEW with good characteristics is generated, the locus of the VB V buffer of the spliced stream S TSPL is exactly the same as the locus of the VB V buffer of the original stream S TOLD. This is because the frame structure of the generated spliced stream S TSPL is exactly the same as the frame structure of the original stream S TOLD.
  • the syntax of the original coded stream S TOLD transmitted from the head office is analyzed, and the coded stream S TOLD is analyzed in accordance with the analysis result. Since the replacement commercial CM 1 ′ is coded so as to have the same stream structure and coding parameters as the coded stream S TOLD and the coded stream generated separately, When splicing S TNEW, it is possible to easily perform splicing by matching the coded stream S TOLD with the coded stream S TNEW. As a result, according to the MPEG standard, In addition, a seamless splice stream S TSPL can be generated.
  • An example of the third splicing process is the original frame.
  • the encoding stream S of the original commercial CM 1 is generated in advance.
  • the encoding parameters for encoding the encoding stream ST NEW of TOLD and the replacement commercial CM 1 are determined, and the original commercial CM is determined based on the determined encoding parameters.
  • This process encodes 1 and the replacement commercial CM1,.
  • this encoding parameter is information indicated by picture-coding_type, v bv-delay, top-field-first, repeat-first-field, etc., and the number of generated bits, which have already been described. .
  • the main station 30 determines picture-coding-type, vbv-delay, top-ield_first, and repeat-first-field as coding parameters for coding the original commercial CM1. .
  • the broadcasting system controller 31 of the main station 30 supplies the encoded parameters to the encoder controller 350 of the MPEG encoder block 35 and broadcasts the data of each local station 40 using a communication line. It is also supplied to the system controller 41.
  • the encoder controller 350 uses the encoding parameters such as picture—coding—type, vbv—delay, top—field—first, and repeat—first_field supplied from the broadcast system controller 31. Control the video encoder 35-11-1V to encode the video data of the original commercial CM1. That is, the coding stream S TOLD output from the video encoder 351-1 V is a code such as picture—coding—type, vbv—delay, top—field—first, and repeat—first—field. It is a stream based on the paralysis. The encoded stream ST OLD output from the video encoder 351-1-1 V is supplied to the local station 40 via the multiplexer 36 and the modulation circuit 37.
  • the local station 40 transmits the coding parameters such as picture—coding—type, vbv—delay, top—field—iirst, and repeat_first_field supplied from the broadcasting system controller 31 of the main station 30. , And supply them to the encoder controller 480 of the encoder block 480.
  • the coding parameters such as picture—coding—type, vbv—delay, top—field—iirst, and repeat_first_field supplied from the broadcasting system controller 31 of the main station 30.
  • the encoder controller 480 uses the picture_coding—type, vbv—delay, top_field_first, and repeat—first—field supplied from the broadcast system controller 41 to replace the baseband video of the commercial CM1.
  • Control encoder 4 8 1 to encode data. That is, picture-coding g_type N vbv_delay, top_field — An encoded stream ST NEW with first and repeat_first_filed is generated.
  • the splice controller 501 switches the input terminal of the switch circuit 501 to "b", and supplies the elementary stream ST NEW output from the encoder 481 to the stream analysis circuit 502. I do.
  • the stream analysis circuit 502 does not analyze the synchronism of the encoded stream STOLD and the encoded stream STNEW.
  • the stream processor 503 includes a stream ST OLD output from the stream analysis circuit 502 and a stream element in the stream ST NEW. Since there is no need for stream processing to change the stream, only the synchronization processing (frame synchronization) for synchronizing the frames ST OLD and ST NEW is performed. Specifically, the stream processor 503 has a FIFO buffer for several frames, and stores the stream ST OLD until the replacement stream ST NEW is output from the encoder 481. By buffering, the frame synchronization of the stream STOLD and the stream STNEW can be synchronized. The stream STOLD and the stream STNEW subjected to the frame synchronization processing are supplied to the splicing circuit 504.
  • the stream STNEW is connected after the stream S TOLD at the splicing point SP1, and the stream S TNEW is connected after the stream S TNEW at the splicing point SP2.
  • the switching of the slicing circuit 504 is controlled.
  • splicing stream S TSPL is output from splicing circuit 504.
  • an encoding parameter is determined in advance between the main station and the local station, and the original commercial CM is determined in the main station based on the determined encoding parameter.
  • 1 generates a code phased code Kas streams S TOLD, further a code dregs stream S Tnew the replacement commercial CM 1 5 coded in key station on the basis of the determined encoding Pas main evening Isseki Since the encoding stream STOLD and the encoding stream STNEW generated separately are spliced, the encoding stream STOLD and the encoding stream STNEW are spliced. Can be easily spliced, and as a result, a seamless spliced stream S TSPL conforming to the MPEG standard can be generated. It can be.

Description

明細 : 符号化ス ト リ一ムスプライシング装置及び方法、 並びに符号化ス ト リーム生成装置及び方法 技術分野 本発明は、 デジタル放送システムにおいて使用される符号化ス ト リームスプライシング装置及び符号化ス ト リームスプライシング方 法、 並びに、 符号化ス トリーム生成装置及び符号化ス トリーム生成 方法であって、 特には、 2つの符号化ス トリームをス ト リ一ムレべ ルでスプライシングすることによってシームレスなスプライス ドス トリームを生成する符号化ス 卜リームスプライシング装置及び符号 化ス ト リームスプライ シング方法、 並びに、 符号化ス ト リーム生成 装置及び符号化ス ト リーム生成方法に関する。 背景技術 図 1は、 現在のテレビジョン放送システムを説明するための図で ある。 現在のテレビジョン放送システムにおいて、 各家庭にテレビ 番組を配信するための放送局は、 全国規模のテレビ番組を制作する 本局 (キーステーション又はメイ ンステーション) S «と、 地方特有 のテレビ番組を作成する本局系列の複数の地方局 (支局) S A、 S B、 及び とから構成されている。 本局 S Kは、 全国共通のテレビ番組を 作成し、 その作成したテレビ番組を地方局に伝送するための放送局 であって、 地方局は、 本局から局間伝送によって送られて来たオリ ジナルテレビ番組、 及びそのォリジナルテレビ番組一部を地方特有 向けに編集したテレビ番組の両方の番組を地方の家庭に配信するた めの放送局である。 例えば、 図 1に示されるように、 地方局 は、 放送ェリア E .,.内の家庭に伝送するテレビ番組を作成する局であって、 地方局 S Bは、 放送ェリア E B内の家庭に伝送するテレビ番組を作成す る局であって、 地方局 は、 放送エリア 内の家庭に伝送するテレ ビ番組を作成する局である。 尚、 この各地方局において行われる編 集処理とは、 例えば、 本局から送られてきたニュース番組に、 地方 独自の天気予報のプログラムを挿入したり、 映画やドラマ等の番組 に、 地方向けのコマーシャルを挿入したりする処理のことである。 図 2は、 各地方局における編集処理を説明するための図であって、 図 2 Aは、 本局において制作されたォリジナルテレビ番組 P を示 し、 図 2 Bは、 地方局において制作された地方向けの差し替えテレ ビ番組 P G n«であって、 図 2 Cは、 地方局において編集されたテレビ 番組 P G ! を示している。 図 2に示された編集処理の例は、 本局から 伝送されてきたオリジナルテレビ番組のうち、 コマーシャル C M 1、 プログラム 3、 及びコマーシャル C M 3を、 地方局において地方向 けに制作されたコマーシャル C M 1, 、 プログラム 3, 、 及びコマ —シャル C M 3 ' に置き換える編集処理の例である。 この地方局に おける編集処理の結果、 図 2 Cに示されるように、 本局において生 成されたテレビ番組 (プログラム 1、 プログラム 2、 C M 2、 及び プログラム 4 ) と地方局において生成されたテレビ番組 (コマ一シ ャル C M 1, 、 プログラム 3, 、 及び C M 3, ) とが混在する地方 向けのテレビ番組が生成される。 近年、 現在のテレビジョン放送システムはアナログのベースバン ドのテレビジョン信号を各家庭に配信するアナログ放送であるため、 これらのアナログ方法システムを、 デジタル技術を使用した次世代 の放送システムに置換えようという試みがなされている。 このデジ 夕ル放送システムは、 MPEG 2 (Moving Picture Experts Group Phase2) 等の圧縮符号化技術を用いてビデオデータやオーディォデ 一夕を圧縮符号化し、 その符号化されたス ト リームを地上波や衛星 波を利用して各家庭や他局に伝送するシステムである。 特に、 この デジタル放送システムとして提案されている放送技術の中で、 ョー 口ツバにおいて次世代の放送方式として提案されている DVB (Di gital Video Broadcasting) 規格が最も有力であって、 この DVB 規格がデファク トスタンダートとなりつつある。
次に、 図 3を参照して MP E G規格を用いて、 ビデオデータとォ —ディォデ一夕を含んだプログラムを送信側システムから受信側シ ステムに伝送する一般的なデジタル伝送システムに関して説明する。 一般的なデジタル伝送システムにおいて、 伝送側システム 10は、 MP E Gビデオエンコーダ 1 1と、 MP E Gオーディオエンコーダ 12と、 マルチプレクサ 13とを備え、 受信側システム 20は、 デ マルチプレクサ 2 1と、 MPEGビデオデコーダ 22と、 MPEG オーディオデコーダ 23とを備えている。
MPEGビデオエンコーダ 1 1は、 ベースバン ドのソースビデオ デ一夕 Vを MP EG規格に基いて符号化し、 その符号化したス ト リ ームをビデオエレメン夕リス ト リーム E Sとして出力する。 MPE Gオーディォエンコーダ 12は、 ベースバンドのソースオーディォ デ一夕 Aを MP E G規格に基いて符号化し、 その符号化したス ト リ —ムをオーディオエレメン夕リス ト リーム E Sとして出力する。 マ ルチプレクサ 1 3は、 M P E Gビデオエンコーダ 1 1 と M P E Gォ 一ディォエンコーダ 1 2から、 それぞれビデオエレメン夕リース ト リームとオーディオエレメン夕リス ト リ一ムを受取り、 それらのス ト リームをトランスポ一トス ト リ一ムバケツ 卜の形態に変換し、 ビ デォエレメン夕リス トリームを含んだトランスポートス トリームパ ケッ トとオーディォエレメン夕リス ト リ一ムを含んだトランスポ一 トス ト リ一ムパケッ トを生成する。 さらに、 マルチプレクサ 1 3は、 ビデオエレメン夕リス ト リームを含んだトランスポー卜ス ト リーム パケッ トとオーディォエレメン夕リス ト リ一ムを含んだトランスポ ートス ト リームパケッ 卜とが混在するように、 それぞれのトランス ポートス ト リームバケツ トを多重化し、 受信システム 2 0に伝送さ れる トランスポートス トリームを生成する。
デマルチプレクサ 2 1は、 伝送路を介して伝送された トランスポ ートス ト リームを受取り、 ビデオエレメン夕リス トリームを含んだ トランスポートス ト リ一ムとオーディォエレメン夕リス トリームを 含んだトランスポートス ト リームパケッ トとに分離する。 さらに、 デマルチプレクサ 2 1は、 ビデオエレメン夕リス トリームを含んだ トランスポートス ト リームバケツ 卜からビデオエレメン夕リ一ス ト リームを生成するとともに、 オーディオエレメン夕リス ト リームを 含んだトランスポートス ト リームバケツ 卜からオーディオエレメン タリース ト リームを生成する。 M P E Gビデオデコーダ 2 2は、 デ マルチプレクサ 2 1からビデオエレメン夕リ一ス トリームを受取り、 このビデオエレメン夕リス ト リームを M P E G規格に基いてデコ一 ドし、 ベースバン ドのビデオデ一夕 Vを生成する。 M P E Gオーデ ィォデコーダ 2 2は、 デマルチプレクサ 2 1からオーディオエレメ ン夕リ一ス ト リームを受取り、 このオーディオエレメン夕リス ト リ ームを M P E G規格に基いてデコ一ドし、 ベースバン ドのオーディ ォデ一夕 Aを生成する。
さて、 従来のァナ口グ放送システムをこのようなデジ夕ル伝送シ ステムの技術を使用してデジタル放送システムに置き換えようとし た場合、 本局から地方局に向けて伝送されるテレビ番組のビデオデ 一夕は、 M P E G 2規格に基いて圧縮符号化された符号化ス トリ一 ムとなる。 従って、 地方局において本局から伝送されたオリジナル 符号化ス ト リームの一部を、 地方局において制作された符号化ス ト リームに置換えるための編集処理を行なうためには、 この編集処理 の前に、 一端、 符号化ス ト リームをデコードして、 ベースバン ドの ビデオデ一夕に戻さなければいけない。 なぜなら、 M P E G規格に 準じた符号化ス ト リームに含まれる各ビクチャの予測方向は、 前後 のピクチャの予測方向と相互に関連しているので、 ス ト リーム上の 任意の位置において符号化ス ト リームを接続することができないか らである。 もし強引に 2つの符号化ス ト リームをつなげたとすると、 符号化ス ト リームのつなぎめが不連続になってしない、 正確にデコ —ドできなくなってしまうことが発生する。
従って、 図 2において説明したような編集処理を実現するために は、 本局から供給されたオリジナルの符号化ス トリームと、 地方向 けに制作された符号化ス ト リームの両方を一端デコ一ドし、 それぞ れをべ一スバンドのビデオ信号に戻すデコード処理と、 2つのべ一 スパン ドのビデオデ一夕を編集してオンエア用の編集されたビデオ データを生成する編集処理と、 編集されたビデオデータを再び符号 化して、 符号化ビデオス ト リームを生成するという符号化処理とを 行なわなくてはいけない。 しかしながら、 M P E G規格に基く符号 化/復号化処理は 1 0 0 %可逆の符号化/復号化処理ではないので、 復号化処理及び符号化処理を繰り返すたびに画質が劣化してしまう という問題があった。
そこで、 近年では、 供給された符号化ス ト リームを復号化処理せ ずに、 符号化ス ト リームの状態のまま編集することを可能にする技 術が要求されるようになってきた。 尚、 このように符号化されたビ ッ トス ト リ一ムレベルで、 異なる 2つの符号化ビッ トス ト リームを 連結し、 連結されたビッ トス ト リームを生成することを 「スプライ シング」 と呼んでいいる。 つまり、 スプライシングとは、 符号化ス ト リームの状態のままで複数のス ト リームを編集及び接続すること を意味する。
しかしながら、 このスプライシング処理を実現するためには以下 のような 2つの問題点がある。
まず、 第 1の問題点について説明する。
上述した M P E Gビデオエンコーダ 1 1及び M P E Gビデオデコ ーダ 2 2において使用されている M P E G規格では、 符号化方式と して双方向予測符号化方式が採用されている。 この双方向予測符号 化方式では、 フレーム内符号化、 フレーム間順方向予測符号化およ び双方向予測符号化の 3つのタイプの符号化が行われ、 各符号化夕 イブによる画像は、 それぞれ I ピクチャ (intra coded picture ) 、 Pピクチャ (predictive coded picture) および: Bピクチャ (bidi rectional ly predictive coded picture) と呼ばれる 0 また、 I, P , Bの各ピクチャを適切に組み合わせて、 ランダムアクセスの単 位となる GOP (Group of Picture) が構成される。 一般的には、 各ピクチャの発生符号量は、 Iピクチャが最も多く、 次に Pビクチ ャが多く、 Bピクチャが最も少ない。
M P E G規格のようにピクチャ毎にビッ ト発生量が異なる符号化 方法では、 得られる符号化ビヅ トス ト リーム (以下、 単にス ト リー ムとも言う。 ) をビデオデコーダにおいて正確に復号化して画像を 得るためには、 ビデオデコーダ 2 2における入力バッファ内のデー 夕占有量を、 ビデオエンコーダ 1 1で把握していなければならない。 そこで、 MP E G規格では、 ビデオデコーダ 2 2における入力バッ ファに対応するバッファとして 'VBV (Video Buffering Verifi er) ノ ッファ, という仮想バッファを想定し、 ビデオエンコーダ 1 1では、 VBVバッファを破綻、 つまりアンダフローやオーバフロ 一させないように、 符号化処理を行なうように定義されている。 例 えば、 この VB Vバッファの容量は、 伝送される信号の規格に応じ て決められており、 メインプロファイル ' メインレベル (MP@M L) のスタンダードビデオ信号の場合であれば、 1. 7 5Mビッ ト の容量を有している。 ビデオエンコーダ 1 1は、 この VBVバヅフ ァをオーバフローやアンダフ口一させないように、 各ピクチャのビ ッ ト発生量をコントロールする。
次に、 図 4を参照して、 VB Vバッファについて説明する。
図 4 Aは、 本局において制作されたプログラム 1とコマーシャル CM 1とを含んだォリジナルテレビ番組を、 ビデオエンコーダで符 号化したォリジナルス ト リーム S と、 そのオリジナルス ト リーム S Τ, に対応する VB Vバッファのデータ占有量の軌跡を示す図であ る。 図 4 Βは、 地方向けに制作されたコマーシャルであって、 オリ ジナルテレビ番組のコマーシャル C M 1の部分に差し替えられるコ マーシャル C M 1, を、 地方局のビデオエンコーダで符号化した差 し替えス ト リーム S と、 その差し替えス ト リーム S Τ π»の V B V バッファのデータ占有量の軌跡を示す図である。 尚、 以下の説明に おいて、 本局から支局に伝送されたオリジナルテレビ番組を符号化 したス トリ一ムの一部が支局において作成された新たなス ト リ一ム によって置き換えられるので、 このォリジナルテビ番組を符号化し たオリジナルス トリームを、 古いス ト リームであることを示す ' S ノ と表現し、 オリジナルス ト リーム S 。の一部に新たに差し替 えられる差し替えス ト リームを ' S T ' と表現する。 図 4 Cは、 ス プライスポイン ト S Pにおいてオリジナルス ト リーム S に対して 差し替えス トリ一ム S Τ »πをスプライシングすることによって得られ たスプライス ドス ト リーム S T m ( spl iced stream ) と、 そのスプ ライス ドス ト リ一ム S T の V B Vバッファのデ一夕占有量の軌跡を 示す図である。
尚、 図 4において、 V B Vバッファのデータ占有量の軌跡におい て、 右上がり部分 (傾き部分) は伝送ビッ トレートを表し、 垂直に 落ちている部分は各ピクチャの再生のためにビデオデコーダがデコ —ダバッファから引き出すビッ ト量を表している。 ビデオデコーダ がこのデコーダバッファからビッ トを引き出すタイ ミングは、 デコ —デイングタイムスタンプ (D T S ) と呼ばれる情報によって指定 される。 なお、 図 4において I, P, Bは、 それぞれ Iピクチャ, Pピクチャ, Bピクチャを表している。
ォリジナル符号化ス トリーム S T。t。は本局のビデオエンコーダ符号 化されたス ト リームであって、 差し替えス ト リーム S T nwは地方局の ビデオエンコーダで符号化されたス ト リ一ムであるので、 ォリジナ ル符号化ス ト リ一ム S と差し替えス 卜 リーム S τ«««とは、 それそ れのビデオエンコーダで全く関係無く符号化されたス ト リームであ る。 よって、 地方局のビデオエンコーダは、 本局のビデオェンコ一 ダの VBVバッファのデ一夕占有量の軌跡を全く知らずに、 独自に 差し替えス ト リーム S T を生成するための符号化処理を行っている ので、 スプライスポイン ト S Ρにおけるオリジナルス ト リ一ム S Τ 。 の VB Vバッファのデ一夕占有量 VB と、 スプライスボイン ト S Pにおける差し替えス ト リーム S 11«1»の :6¥バヅファのデ一夕占 有量 VBV™とは異なってしまう。
つまり、 スプライス ドス ト リーム S T のスプライスポイント S P の前後において、 VB Vバッファのデータ占有量の軌跡が不連続に ならないようにするためには、 スプライス ドス ト リーム S T におけ る差し替えス 卜 リーム S T の VB Vバヅファのデータ占有量の初期 レベルは、 VB Vバッファのデ一夕占有量 VB V。u,にしなければいけ ない。 その結果、 図 4に示したように、 オリジナルス ト リーム S T の VB Vバッファのデータ占有量 VB V。 よりも、 差し替えス 卜 リ ーム S の VB Vバヅファのデータ占有量 V B V» の値が小さい場 合には、 スプライス ドス ト リーム S T における差し替えス トリーム S T »の部分で、 VB Vバッファがオーバーフローしてしまう。 また、 逆に、 ォリジナルス トリ一ム S T の VB Vバッファのデ一夕占有量 VB V ょりも、 差し替えス ト リーム S 1\ の¥8 バッファのデ一 夕占有量 VB Vn«の値が大きい場合には、 スプライスス トリーム S T における差し替えス ト リーム S Τπ»の部分で、 VB Vバヅファがァ ンダーフローしてしまう。 次に、 第 2の問題について説明する。
MP E G規格に基いて符号化されたス ト リームのへッダには、 符 号化情報を示すさまざまなデータエレメントゃフラグが記述されて おり、 これらのデ一夕エレメン トゃフラグを使用して符号化ス 卜 リ 一ムを復号化するようになされている。
図 2に示されたォリジナルテレビ番組の本編を構成するプログラ ム 1、 プログラム 2、 プログラム 3及びプログラム 4は、 ビデオ力 メラ等によって撮影された 2 9. 9 7 H z (約 30 H z ) のフレー ムレ一トを有する N T S C方式のテレビジョン信号とは限らず、 2 4 H z (毎秒 24コマ) のフレームレ一トを有する映画素材からテ レビジョン信号に変換された信号であることもある。 一般的に、 こ のように 24 H zの映画素材を 2 9. 9 7 H zのテレビジョン信号 に変換する処理を、 ォリジナル素材における 2個のフィ一ルドを、 所定のシーケンスで 3個のフィ一ルドに変換する処理を含むことか ら、 ' 2 : 3プルダウン処理, と呼んでいる。
図 5は、 この 2 : 3プルダウン処理を説明するための図である。 図 5において、 T 1から T 8は 24 H zのフレーム周波数を有する 映画素材のトップフィ一ルドを示し、 B 1から B 9は 24 H zのフ レーム周波数を有する映画素材のボトムフィールドを示している。 さらに、 図 5において示された楕円及び三角形は、 ト ヅプフィ一ル ドとボトムフィ一ルドから構成されるフレームの構造を示している。 具体的には、 この 2 : 3プルダウン処理において、 24 H zのフ レーム周波数を有する映画素材 ( 8個のトツプフィ一ルド T 1〜T 8、 及び 8個のボトムフィールド Β 1〜Β 8 ) に、 ボトムフィ一ル ド; Β 2を繰り返すことによって生成されたリピートフィールド Β 2 ' 、 トップフィールド T 4を繰り返すことによって生成されたリピ 一トフィールド Τ 4 ' 、 ボトムフィールド Β 6を繰り返すことによ つて生成されたリピートフィール ド Β 6 ' 、 及びトップフィール ド Τ 8を繰り返すことによって生成されたリピートフィール ド Τ 8 ' の 4つのリピートフィ一ルドを挿入する処理が行われる。 その結果、 この 2 : 3プルダウン処理によって、 2 4 Η ζのフレーム周波数を 有する映画素材から 2 9 . 9 7 Η ζのフレーム周波数を有するテレ ビジョン信号が生成される。
M P E Gエンコーダにおいて、 2 : 3プルダウン処理されたテレ ビジョン信号は、 ビデオエンコーダにおいてそのまま符号化処理さ れるのではなく、 2 : 3プルダウン処理されたテレビジョン信号か らリピートフィール ドを除去してから、 符号化処が行われる。 図 5 に示した例では、 2 : 3プルダウンされたテレビジョン信号から、 リピートフィール ド Β 2 ' 、 Τ 4, 、 Β 6 ' 及び Τ 8, が除去され る。 このように符号化処理前にリピートフィールドを除去する理由 は、 このリピートフィールドは、 2 : 3プルダウン処理時に挿入さ れた冗長なフィールドであって、 圧縮符号化効率を向上させるため に削除したとしても何ら画質劣化が発生しないからである。
また、 M P E G規格においては、 符号化ス ト リームをデコードす る際に、 フレームを構成する 2つのフィールドのいずれかのフィ一 ルドを繰り返すことによって、 リピートフィールドを生成するか否 かを示す ' repeat_first— field ' というフラグを記述することを 定義付けている。 具体的には、 M P E Gデコーダは、 符号化ス ト リ —ムをデコ一ドする際に、 符号化ス ト リーム中のフラグ 「repeat_f irst f ield 」 が 「 1」 の場合にはリ ピートフィールドを生成し、 符 号化ス ト リ一ム中のフラグ 「repeat— first— field 」 が 「0」 の場合 にはリピートフィ一ルドを生成しないという処理を行なう。
図 5に示した例の場合には、 トップフィールド T 1とボトムフィ —ルド B 1とから構成されるフレームを符号化したス ト リームの 「 repeat— first_field 」 は 「 0」 であって、 トップフィールド T 2とボトムフィール ド B 2とから構成されるフレームを符号化した ス ト リームの 「 repeat— first_field 」 は 「 1」 であって、 トップ フィールド T 3とボトムフィールド B 3とから構成されるフレーム を符号化したス ト リ一ムの 「 repeat_first_field 」 は 「0」 であ つて、 ト ップフィールド T 4とボトムフ ィ一ルド B 4とから構成さ れるフレームを符号化したス ト リームの 「 repeat— first_field 」 は 「 1」 であるので、 トップフィールド T 2とボトムフィールド B 2とから構成されるフレームの符号化ス ト リームをデコードする時 には、 リピートフィールド B 2 ' を生成し、 トップフィールド T 4 とボトムフィールド B 4とから構成されるフレームの符号化ス 卜 リ —ムをデコードする時には、 リビートフィールド B 4, を生成する 処理を行なう。
さらに、 MP E G規格においては、 フレームを構成する 2つのフ ィールドのうち、 最初のフィ一ルドがトップフィ一ルドかボトムフ ィ一ルドかを示す ' top— field— first ' というフラグを、 符号化ス トリーム中に記述することを定義している。 具体的には、 「top— fi eld— first」 が 「 1」 である場合には、 トップフィールドがボトムフ ィールドよりも時間的に早いフレーム構造であることを示し、 「to P_field— firstj が 「0」 の場合には、 トップフィールドがボトムフ ィ一ルドよりも時間的に早いフレーム構造であることを示す。 図 5に示した例では、 ト ヅプフィールド T 1 とボトムフィールド B 1から構成されるフレームの符号化ス ト リームの 「top_f ield— fi rst」 は 「 0」 であって、 ト ヅプフィールド T 2とボトムフィールド B 2から構成されるフレームの符号化ス 卜リ一ムの 「topjield_fi rst」 は 「 1」 であって、 トップフィールド T 3とボトムフィールド B 3から構成されるフレームの符号化ス ト リームの 「top_field— fi rst」 は 「 0」 であって、 トップフィールド T 4とボトムフィールド B 4から構成されるフレームの符号化ス ト リームの 「top— f ield_fi rstj は 「 1」 である。
次に、 図 6を参照して、 符号化ス ト リームをスプライシング処理 したときの 「top_field_f irst」 及び 「 repeat— first— field 」 等の M P E G規格において定義されているフラグに関して発生する問題 点について説明する。
図 6 Aは、 本局において制作されたォリジナルテレビ番組を符号 ィ匕したオリジナルス ト リーム S T OLDのフレーム構造を示している図 であって、 図 6 Bは、 地方局において制作された地方向けのコマ一 シャル C 1, を符号化した差し替えス ト リ一ム S T NEWのフレーム構 造を示している図であって、 図 6 Cは、 スプライシング処理された スプライス ドス ト リーム S T SPLのフレーム構造を示している図であ る。
ォリジナルス ト リ一ム S T OLDにおけるプログラム 1及びプログラ ム 2は、 共に 2 : 3プルダウン処理された符号化ス ト リームであつ て、 本編のコマーシャル C M 1の各フレームは、 「 top— field— fir st 」 が 「0」 となっているフレーム構造の符号化ス ト リームである。 また、 図 6 Bに示された、 地方コマーシャル C M 1 ' は、 オリジナ ルテレビ番組のコマーシャル CM 1の部分に差し替えられる符号化 ス ト リームであって、 「top— f ield_f irstj が 「 1」 となっているフ レーム構造の符号化ス ト リームである。 図 6 Cに示されたスプライ ス ドス ト リーム S T は、 プログラム 1で示されるオリジナルス ト リ —ム S T^の後に、 差し替えス ト リーム S Τ» をスプライスし、 さら に、 差し替えス ト リーム S Τ«Ε»の後に、 プログラム 2で示されるオリ ジナルス ト リーム S Τ をスプライスすることによって生成されたス ト リ一ムである。 つまり、 スプライス ドス ト リーム S Tmは、 ォリジ ナルス ト リーム S の本編コマーシャル CM 1の替わりに地方コマ —シャル CM 1, を揷入したス ト リームである。
図 6に示した本局において制作されたコマーシャル CM 1の各フ レームは、 top_field_firstが 「0」 のフレーム構造の符号化ス トリ ームであって、 地方局において制作されたコマーシャル CM 1, は、 top_field— firstが 「 1」 のフレーム構造の符号化ス ト リームである ことを示している。
図 6 A及び図 6 Bに示したように、 コマーシャル CM 1のフレー ム構造と、 コマーシャル CM 1に対して差し替えられる差し替えコ マーシャル CM 1, のフレーム構造とが異なる場合に、 オリジナル ス ト リーム S P のスプライスポイン ト S P 1で、 プログラム 1のス トリームの後にコマーシャル CM 1, のス ト リームをスプライスす ると、 スプライス ドス ト リーム S T においてフィールドのギャップ が生じてしまう。 フィールドのギャップとは、 図 6 Cに示されたよ うに、 スプライスポイント S P 1におけるボトムフィールド B 6が、 スプライス ドス ト リーム S T から脱落し、 トップフィールドとボト ムフィールドの繰り返しパターンが不連続になっていることを意味 している。
このようにフィールドのギヤップが生じてフィールドパターンが 不連続になっている符号化ス 卜リームは、 M P E G規格違反の符号 化ス ト リームであって、 通常の M P E Gデコーダでは正常に復号化 できない。
また、 図 6 A及び図 6 Bに示したように、 オリジナルス ト リーム S P のスプライスポイ ン ト S P 2で、 コマーシャル C M 1 ' のス ト リームの後にプログラム 2のス ト リームをスプライスすると、 スプ ライス ドス トリーム S T においてフィールドの重複が生じてします。 このフィールドの重複とは、 図 6 Cに示されたように、 スプライス ポイント S P 2におけるボトムフィールド b 1 2及びボトムフィー ルド B 1 2が同じ表示時間に存在することになつてしまうことを意 味している。
このようにフィールドの重複が生じてフィールドパターンが不連 続になっている符号化ス ト リームは、 M P E G規格違反の符号化ス ト リームであって、 通常の M P E Gデコーダでは正常に復号化でき ない。
つまり、 単純にスプラシング処理を行なうと、 フィールドパ夕一 ン /フレームパターンが不連続になってしまい、 M P E G規格に準 じたスプライス ドス ト リ一ムを生成することができなかった。 発明の開示 本発明の目的は、 スプライシングされたス ト リームの V B Vバッ ファのデ一夕占有量の軌跡が連続であって、 且つ、 V B Vバッファ ば破綻しないシームレスなスプライシング処理を実現するための符 号化ス ト リームスプライシング装置を提供することにある。 さらに は、 スプライシングポイン ト前後における、 符号化ス ト リームのス トリーム構造が不連続にならないシームレスなスプライシング処理 を実現するための符号化ス ト リームスプライシング装置を提供する ことにある。
本発明の、 符号化ス ト リームスプライシング装置及び符号化ス ト リーム生成装置によれば、 第 1の符号化ス ト リームのシンタックス を解析することによって、 第 1の符号化ス ト リームの符号化パラメ 一夕を抽出するス ト リーム解析手段と、 ス ト リーム解析手段によつ て得られた第 1の符号化ス ト リームの符号化パラメ一夕に基いて、 スプライシングポィントにおいて第 1の符号化ス ト リームと第 2の 符号化ス ト リームとがシームレスに接続されるように、 第 2の符号 化ス ト リームの符号化パラメ一夕を変更し、 第 1の符号化ス トリー ムと符号化パラメ一夕が変更された第 2の符号化ス トリームとをス プライシングするスプライシング手段とを備えることによって、 ス プラィシングされたス ト リームの V B Vバヅファのデ一夕占有量の 軌跡が連続であって、 且つ、 V B Vバッファば破綻しないシームレ スなスプライシング処理を実現することができる。 また、 本発明に よれば、 スプライシングポイン ト前後における、 符号化ス ト リーム のス ト リーム構造が不連続にならない整合性の取れたシームレスな ス 卜 リームを生成することのできるスプライシング処理を実現でき る。
また、 本発明の符号化ス ト リームスプライシング方法及び符号化 ス ト リーム生成方法によれば、 第 1の符号化ス ト リームのシンタツ クスを解析することによって、 第 1の符号化ス ト リームの符号化パ ラメ一夕を抽出するス ト リーム解析ステップと、 ス トリーム解析ス テツプによって得られた第 1の符号化ス ト リームの符号化パラメ一 夕に基いて、 スプライシングポィントにおいて第 1の符号化ス トリ 一ムと第 2の符号化ス ト リームとがシームレスに接続されるように、 第 2の符号化ス ト リームの符号化パラメ一夕を変更し、 第 1の符号 化ス ト リームと符号化パラメ一夕が変更された第 2の符号化ス ト リ ームとをスプライシングするスブライシングステッブとを行なうこ とによって、 スプライシングされたス 卜 リームの V B Vバッファの デ一夕占有量の軌跡が連続であって、 且つ、 V B Vバッファば破綻 しないシームレスなスプライシング処理を実現することができる。 また、 本発明によれば、 スプライシングポイン ト前後における、 符 号化ス ト リームのス ト リーム構造が不連続にならない整合性の取れ たシームレスなス ト リームを生成することのできるスプライシング 処理を実現できる。 図面の簡単な説明 図 1は、 一般的なテレビジョン放送システムを説明するための図 である。
図 2は、 地方局におけるテレビ番組の編集処理を説明するための 図である。
図 3は、 M P E G規格を用いた一般的なデジタル伝送システムを 説明するための図である。
図 4 A〜図 4 Cは、 V B Vバヅファの制御について説明するため の図である。
図 5は、 2 : 3プルダウン処理を説明するための図である。
図 6 A〜図 6 Cは、 符号化ス ト リームをスプライシング処理した ときに発生する問題点を説明するための図である。
図 7は、 本発明の実施の形態に係る符号化ス ト リームスプライシ ング装置を含むデジタル放送システムを全体構成を示すプロック図 である。
図 8は、 本局 3 0の M P E Gエンコーダブロック 3 5及び地方局 4 0のエンコーダプロックの構成を詳細に説明するためのプロヅク 図である。
図 9 A〜図 9 Dは、 ス ト リーム変換回路においてエレメン夕リ一 ス 卜 リームから トランスポートス ト リームを生成するときの処理を 説明するための図である。
図 1 0は、 M P E Gのビデオエレメン夕リース トリームのシーケ ンスのシンタックスを説明するための図である。
図 1 1は、 シーケンスヘッダ (sequence— header) のシンタックス を説明するための図である。
図 1 2は、 シーケンスエクステンション (sequence_extension) のシンタックスを説明するための図である。
図 1 3は、 エクステンションアン ドュ一ザデータ (extens ion_an d_user_data) のシン夕ックスを説明するための図である。
図 1 4は、 グループォブピクチャへッダ (group— of_picture—hea der) のシンタックスを説明するための図である。
図 1 5は、 ピクチャヘッダ (picture— headr) のシンタックスを説 明するための図である。 図 1 6は、 ピクチャコ一ディ ングエクステンション (picture_co ding_extens ion) のシン夕ヅクスを説明するための図である。
図 1 7は、 ピクチャへッダ (picture— data) のシンタックスを説 明するための図である。
図 1 8は、 トランスポートス ト リームバケツ 卜のシンタックスを 説明するための図である。
図 1 9は、 ァダプテーシヨンフィールド (adaptation_f ie ld) の シン夕ックスを説明するための図である。
図 2 0は、 地方局の簡単な構成及びス ト リームスプライサの構成 を説明するためのブロック図である。
図 2 1 A内示図 2 1 Cは、 ス トリームスプライサの V B Vバッフ ァに関する処理を説明するための図である。
図 2 2 A〜図 2 2 Bは、 ス ト リ一ムスプライサの top_f ield_firs t及び r epeat— f i r s t— f i e 1 dに関する第 1の処理例を説明するための図 である。
図 2 3 A〜図 2 3 Cは、 ス ト リ一ムスブラィサの top— f ie ld—f irs t及び repeatj i rst_f i e 1 dに関する第 2の処理例を説明するための図 である。 発明を実施するための最良の形態 図 7は、 本発明の実施の形態に係る符号化ス 卜 リームスプライシ ング装置を含むデジタル放送システムを構成を示す図である。
図 7に示されているように、 一般的には、 デジタル放送システム は主局 (Key station) 3 0と、 この主局系列の地方局 4 0とから構 成されている。
主局 3 0は、 系列の地方局に対して共通のテレビプログラムを制 作及び伝送するための放送局であって、 放送システムコ トローラ 3 1 と、 素材サーバ 3 2と、 C Mサーバ 3 3と、 マト リ ヅクススイツ チヤブロック 3 4と、 M P E Gエンコーダブロック 3 5と、 マルチ プレクサ 3 6と、 変調回路 3 7とから構成されている。
放送システムコ トロ一ラ 3 1は、 素材サーバ 3 2、 C Mサーバ 3 3、 マト リ ックススィ ッチャブロック 3 4、 M P E Gエンコーダブ ロック 3 5、 マルチプレクサ 3 6、 及び変調回路 3 7等の放送局に 設けられている全ての装置及び回路を統合的に管理及びコン トロー ルするシステムである。 この放送システムコ トロ一ラ 3 1は、 番組 供給会社から供給された番組素材及びプロモーション素材ゃ自局で 作成した番組素材や C M素材などのあらゆる素材の放映時間を管理 するための番組編成表が登録されており、 放送番組編成システム 1 は、 この番組編成表に従って、 上述した各装置及び回路を制御する。 この番組編成表は、 例えば、 1時間単位又は 1 日単位の放送番組ス ケジュールが記録されているィベン ト情報ファイル、 及び 1 5秒単 位の放送番組のタイムスケジュールが記録されている運行情報ファ ィル等から構成されている。
素材サーバ 3 2は、 テレビ番組の本編として放送される映画番組、 スポーツ番組、 娯楽番組、 ニュース番組等のビデオデータ及びォ一 ディォデ一夕を格納すると共に、 放送システムコントロ一ラ 3 1に よって指定されたプログラムを、 番組編成表のタイムスケジュール に従ったタイ ミングで出力するためのサーバである。 また、 この映 画番組とは、 先に説明したように、 2 4 H zのフレーム周波数を有 するフィルム素材から 2 : 3プルダウン処理することによって 3 0 H zのフレーム周波数を有するテレビジョン信号に変換されたビデ ォデ一夕である。 この素材サーバ 3 2から本編のプログラムとして 出力されたビデオデ一夕及びオーディオデ一夕はマ卜 リ ックススィ ヅチヤブロック 3 4に供給される。 例えば、 図 2に示した例では、 プログラム 1、 プログラム 2、 プログラム 3及びプログラム 4等が この素材サーバ 3 2に記録されている。 尚、 この素材サーバ 3 2に 記憶されているビデオデータ及びオーディオデ一夕は、 圧縮符号化 されていないベースバンドのビデオデータ及びオーディオデータで ある。
C Mサーバ 3 3は、 素材サーバ 3 2から再生された本編のプログ ラム間に挿入されるコマーシャルを格納すると共に、 放送システム コン トローラ 3 1によって指定されたコマーシャルを、 番組編成表 のタイムスケジュールに従ったタイ ミングで出力するためのサーバ である。 この C Mサーバ 3 3からコマーシャルとして出力されたビ デォデ一夕及びオーディオデータはマト リックススィ ッチャ 3 4に 供給される。 例えば、 図 2に示した例では、 コマーシャル C M 1、 コマーシャル C M 2、 及びコマーシャル C M 3等が、 この C Mサー バ 3 3に記録されている。 尚、 この C Mサーバ 3 3に記憶されてい るビデオデータ及びオーディオデ一夕は、 圧縮符号化されていない ベースバンドのビデオデータ及びオーディオデータである。
マト リ ックススィ ッチヤブロック 3 5は、 スポーツ中継やニュー ス番組等のライブプログラム、 素材サーバ 3 2から出力された本編 プログラム、 及び C Mサーバ 3 3から出力されたコマーシャルプロ グラムをそれぞれルーティ ングするマト リックス回路を有している。 さらに、 マト リ ックススィ ッチャブロック 3 5は、 放送システムコ ントローラによって決定された番組編成表のタイムスケジュールに 従ったタイ ミングで、 素材サーバ 3 2から供給された本編プログラ ムと C Mサーバ 3 3から供給されたコマーシャルプログラムを接続 してスィ ヅチングするスィ ヅチング回路を有している。 このスィ ッ チング回路によって、 本編プログラムと C Mプログラムをスィツチ ングすることによって、 例えば図 2に示した伝送プログラム P G 0L Dを生成することができる。
M P E Gエンコーダプロック 3 5は、 マト リ ックススィ ッチャブ ロックから出力されたベースバンドのビデオデータ及びオーディオ デ一夕を M P E G 2規格に基いて符号化するためのプロックであつ て、 複数のビデオエンコーダ及びオーディオエンコーダを有してい る。
マルチプレクサ 3 6は、 M P E Gエンコーダブロック 3 5から出 力された 9チャンネルのトランスポートス 卜リームを多重化して、 1つの多重化トランスポートス ト リームを生成する。 従って、 出力 される多重化トランスポートス ト リーム中には、 1から 9チャンネ ルまでの符号化ビデオエレメン夕リース ト リ一ムを含んだトランス ポートス 卜 リームバケツ 卜と 1チャンネルから 9チャンネルまでの 符号化オーディォエレメンタリース ト リームを含んだトランスポー トス ト リームバケツ トとが混在しているス ト リームである。
変調回路 3 7は、 トランスポートス ト リームを Q P S K変調して、 その変調されたデータを伝送路を介して、 地方局 4 0及び家庭 6 1 に ίΕ达す 。
次に、 地方局 4 0の全体構成に関して、 図 7を参照して説明する。 地方局 4 0は、 本局から送られてきた共通のテレビプログラムを 地方向けに編集し、 地方向けに編集されたテレビ番組みを各家庭に 放映するめの放送局であって、 放送システムコ一トローラ 4 1 と、 復調回路 4 2と、 デマルチプレクサ 4 3 と、 ス ト リーム変換回路 4 4と、 素材サーバ 4 6と、 C Mサーバ 4 7と、 エンコーダプロヅク 4 8と、 ス ト リームサーバ 4 9と、 ス ト リームスプライサ 5 0と、 ス ト リームプロセッサ 5 1 と、 マルチプレクサ 5 2と、 変調回路 5 3とを備えている。
放送システムコ ト ロ一ラ 4 1は、 本局 3 0の放送システムコン ト ローラ 3 1 と同じように、 復調回路 4 2、 デマルチプレクサ 4 3、 スト リーム変換回路 4 4、 素材サーバ 4 6、 C Mサーバ 4 7、 ェン コーダブロック 4 8、 ス ト リームサーバ 4 9、 ス ト リ一ムスプライ サ 5 0、 ス ト リームプロセッサ 5 1、 マルチプレクサ 5 2、 変調回 路 5 3等の地方局に設けられている全ての装置及び回路を統合的に 管理及びコン トロールするシステムである。 この放送システムコン トローラ 4 1は、 本局 3 0における放送システムコントローラ 3 1 と同様に、 本局 3 0から供給された伝送プログラムに対して、 自局 で作成した番組や C Mなどを挿入した編集テレビ番組の放映時間を 管理するための番組編成表が登録されており、 この番組編成表に従 つて、 上述した各装置及び回路を制御する。
復調回路 4 2は、 伝送路を介して本局 3 0から伝送された伝送ピ ログラムを Q P S K復調することによって、 トランスポ一トス ト リ ームを生成する。
デマルチプレクサ 4 3は、 復調回路 4 2から出力されたトランス ポ一 トス リームをデマルチプレックスして 9チャンネルの トランス ポートス ト リームを生成し、 それぞれのチャンネルのトランスポー トス ト リ一ムをス ト リーム変換回路 4 4に出力する。 つまり、 この デマルチプレクサ 4 3は、 本局 3 0のマルチプレクサ 3 6とは逆の 処理を行なう。
ス ト リーム変換回路 4 4は、 デマルチプレクサ 4 3から供給され たトランスポ一トス トリームをエレメン夕リース トリームの形態に 変換するための回路である。
素材サーバ 4 6は、 地方向けのテレビ番組として放送される娯楽 番組、 ニュース番組等のビデオデ一夕及びオーディオデータを格納 しているサーバである。 C Mサーバ 4 7は、 本局 3 0から供給され た本編プログラム間に挿入される地方向けコマーシャルのビデオデ —夕及びォ一ディォデ一夕を格納するためのサーバである。 この素 材サーバ 4 6及び C Mサーバ 4 7に記憶されているビデオデ一夕及 びオーディオデ一夕は、 圧縮符号化されていないベースバン ドのビ デォデ一夕及びオーディオデータである。
エンコーダプロック 4 8は、 素材サーバ 4 6及び C Mサーバ 4 7 から供給された複数チャンネルのビデオデータ及び複数チャンエル のオーディオデ一夕を符号化するためのプロックであって、 複数チ ヤンネルに対応した複数のビデオエンコーダ及び複数のォ一ディォ エンコーダを備えている。 このエンコーダブロック 4 8と本局 3 0 の M P E Gエンコーダブロック 3 5との違いは、 本局 3 0の M P E Gエンコーダブロック 3 5はトランスポートス 卜リームを出力する のに対して、 この地方局 4 0のエンコーダブロック 4 8は、 エレメ ン夕リース ト リーム出力する点で異なっているが、 このエンコーダ プロック 4 8の実質的な機能及び処理は本局 3 0の M P E Gェンコ 一ダブロック 3 5と全く同じである。 エンコーダブロック 4 8から 出力された複数チヤンネルのエレメン夕 リース ト リームのうち 3チ ヤンネル分のエレメン夕リース ト リームが、 ス ト リームサーバ 4 9 に供給され、 残りのチャンネルのエレメンタリ一ス ト リームは、 ス ト リームスプライサ 5 0に供給される。
ス ト リームサーバ 4 9は、 エンコーダプロヅクから供給された 3 チヤンネル分のェレメンタリース ト リ一ムを受取り、 ス ト リ一ムの 状態でランダムアクセス可能な記録媒体にス ト リームの状態で記録 すると共に、 放送システムコントローラ 4 1からの制御にしたがつ て、 そのエレメンタリース ト リームをランダムァセクス可能な記録 媒体から再生する。
ス 卜リ一ムスプライサ 5 0は、 エンコーダブロック 4 8及びス ト リームサーバ 4 9から供給された複数のエレメン夕リースをルーテ ィングして所定の出力ラインに出力すると共に、 本局 3 0から供給 されたエレメンタリース トリームと、 地方局 4 0において生成され たエレメン夕リース ト リームとをス ト リームレベルでスプライシン グするためのプロヅクである。 このス ト リ一ムスプライサ 5 0にお ける処理は、 詳しくは後述する。
ス トリーム変換回路 5 1は、 ス ト リームスプライサ 5 0からスプ ライスドス ト リームとして出力されたエレメンタリース トリームを 受けとり、 このエレメン夕リ一ス ト リームをトランスポートス ト リ —ムに変換する回路である。
マルチプレクサ 5 2は、 本局 3 0のマルチプレクサ 3 6と同じよ うに、 ス ト リーム変換回路から出力された 9チャンネルのトランス ポートス ト リームを多重化して、 1つの多重化トランスポ一トス ト リームを生成する。
変調回路 5 3は、 トランスポートス ト リームを Q P S K変調して、 その変調されたデータを伝送路を介して、 各家庭 6 2に配信する。 図 8は、 本局 3 0の MP E Gエンコーダブロック 3 5及び地方局 40のエンコーダプロック 48の構成を詳細に説明するためのプロ ック図である。 本局 3 0の MP E Gエンコーダプロック 3 5と地方 局 4◦のエンコーダプロック 48とは実質的に同じ構成であるので、 本局 30の MP E Gエンコーダプロヅク 3 5を例にあげて、 その構 成及び昨日を説明する。
MP E Gェンコ一ダブ口ック 3 5は、 この MP E Gエンコーダブ ロック 3 5の全ての回路を集中的に制御するためのエンコーダコン トロ一ラ 3 50と、 供給された複数チャンネルのビデオデータをェ ンコ一ドするための複数の MP E Gビデオエンコーダ 3 5 1 - 1 V ~3 5 1— 9 Vと、 ビデオデータにそれぞれ対応する複数のオーデ ィォデ一夕を MP E G 2規格に基いて符号化するための MP E Gォ —ディォエンコーダ 3 5 1— 1 A〜3 5 1— 9 Aとを有している。 さらに、 MP E Gエンコーダブロック 3 5は、 各ビデオェンコ一 ダ 3 5 1— I V〜 3 5 1— 9 Vからそれぞれ出力された符号化エレ メン夕リース ト リーム (E S) をトランスポートス トリームに変換 するス ト リーム変換回路 3 52— I V〜 3 5 2— 9 Vと、 各オーデ ィォエンコーダ 3 5 1— 1 A〜3 5 1一 9 Aからそれぞれ出力され た符号化エレメンタリース ト リーム (E S) をトランスポートス ト リームに変換するス ト リーム変換回路 3 52— 1 Α〜3 52— 9 Α と、 第 1チャンネル ( l c h) のビデオエレメンタリース ト リーム を含んだトランスポートス ト リームと、 第 1チャンネル ( 1 c h) のオーディオエレメンタリース ト リームを含んだトランスポートス ト リームとをトランスポートス ト リームパケッ 卜単位で多重化する マルチプレクサ 3 5 3— 1と、 第 2チャンネル ( 2 c h) のビデオ エレメンタリース ト リームを含んだトランスポートス ト リームと、 第 2チャンネル ( 2 c h) のオーディオエレメンタリース ト リーム を含んだトランスポ一トス ト リームとを トランスポートス 卜 リーム パケッ ト単位で多重化するマルチプレクサ 3 53— 2と、 第 9チャンネル ( 9 c h) のビデオエレメンタリース ト リームを含 んだトランスポートス トリームと、 第 9チャンネル ( 9 c h) のォ 一ディォエレメン夕リース ト リームを含んだトランスポートス 卜 リ 一ムとを トランスポ一トス 卜 リームバケツ ト単位で多重化するマル チプレクサ 3 53— 9とを備えている。
図 8に示した M P E Gエンコーダブロック 3 5は、 9チャンネル の伝送プログラムをェンコ一ドする構成となっているが、 9チャン ネルに限らず何チヤンネルであっても良いことは言うまでもない。 図 8に示した MP E Gエンコーダプロック 3 5は、 各チヤンネル の伝送プログラムの伝送レ一トを、 符号化するビデオデータの絵柄 に応じてダイナミックに変化させる統計多重という制御を行なう。 この統計多重という手法は、 あるチャンネルの伝送プログラムのピ クチャの絵柄が比較的簡単であって、 このピクチャを符号化するた めにそれほど多くのビッ トを必要としない場合であって、 一方、 そ の他のプログラムのピクチャの絵柄が比較的難しく、 このピクチャ を符号化するために多くのビッ トを必要とすような場合には、 ある チェンネルのピクチャを符号化するためのビッ トを、 その他のチヤ ンネルのピクチャを符号化するビッ 卜に割当てることによって、 伝 送路の伝送レートを効率良く しょうすることができる方法である。 以下に、 このようにダイナミ ックに各ビデオエンコーダの符号化レ 一トを変化させる方法について簡単に説明する。
各ビデオエンコーダ 3 5 1— 1 V〜 3 5 1— 9 Vは、 まず、 符号 化処理の前に行われる動き補償の結果得られた動き補償残差ゃィン トラ A C等の統計量から、 符号化対象となっているピクチャを符号 化するためにどの程度のビッ 卜量が必要かを示すディフィカルティ デ一夕 ( Diff iculty Data ) D 1〜D 9を生成する。 このディフィ カルテイデ一夕とは、 符号化難易度を示す情報であって、 ディフィ カルティが大きいということは符号化対象となっているピクチャの 絵柄が複雑であることを表わし、 ディフィカルティが小さいという ことは符号化対象となっているピクチャの絵柄が簡単であることを 表わしている。 このディフィカルテイデ一夕は、 ビデオエンコーダ における符号化処理時に使用される、 ィン トラ A Cや動き補償残差 ( M E残差) 等の統計量に基いて、 概算することができる。
エンコーダコントローラ 3 5 0は、 各ビデオエンコーダ 3 5 1— I V〜 3 5 1— 9 Vからそれぞれ出力されたディ フィカルテイデ一 夕 D 1〜D 9を受取り、 それらのディフイカルティデ一夕 D 1〜D 9に基いて、 各ビデオエンコーダ 3 5 1— 1 V〜 3 5 1— 9 Vに対 する夕一ゲッ トビッ トレ一ト R 1〜R 9をそれぞれ演算する。 具体 的には、 以下の式 ( 1 ) に示すように、 エンコーダコン トロ一ラ 3 5 0は、 伝送路のトータル伝送レート Total— Rate を、 ディフイカ ルティデータ D 1〜D 9を用いて比例配分することによって、 夕一 ゲッ トビッ トレート R 1〜 R 9を求めることができる。
R i = ( D i /∑ D k ) x Total Rate · · ' ( 1 ) 式 ( 1 ) において、 「R i」 は 「 i」 チャンネルの伝送プログラ ムのターゲヅ トビッ 卜レート、 「 D i」 は 「 i」 チャンネルの伝送 プログラムのピクチャを符号化するためのディフィカルテイデ一夕、 「 ∑ 」 は k= l〜 9チャンネルのディ フイカルティデ一夕の総和 を意味する。
エンコーダコン トローラ 350は、 式 ( 1 ) に基いて演算した夕 ーゲッ トビッ トレート R 1〜R 9を、 それぞれ対応するビデオェン コーダ 35 1— IV〜 35 1— 9 Vに供給する。 この夕一ゲッ 卜ビ ッ トレート R 1〜R 9を演算する単位は、 各ピクチャ毎であっても 良いし、 また GO P単位であっても良い。
ビデオエンコーダ 35 1— 1 V〜 35 1— 9 Vは、 エンコーダコ ントロ一ラ 350から供給された夕一ゲッ トビッ トレート R 1〜R 9をそれぞれ受取り、 この夕ーゲッ トビヅ トレート R 1~R 9に対 応するように符号化処理を行なう。 このように符号化するピクチャ の符号化難易度を示すディフィカルテイデ一夕に基いて、 各ビデオ エンコーダから出力される符号化ス ト リ一ムのビッ ト レートをダイ ナミ ックに変更することによって、 符号化すべきピクチャの符号化 難易度に対して最適な量のビッ トを割り当てることができ、 さらに、 各ビデオエンコーダからそれぞれ出力されるビッ トレートの総量が、 伝送路のトータル伝送レート Totaし Rate をオーバーフロ一するこ とがない。
ス ト リーム変換回路 352— I V〜 352— 9 V及び、 ス トリ一 ム変換回路 352— 1 A〜 352— 9 Aは、 共に、 エレメンタリー ス ト リームを トランスポートス トリームに変換するための回路であ る。 図 9を参照して、 ビデオエンコーダ 35 1 - 1 Vにおいて、 供給 されたソースビデオデ一夕を符号化してビデオエレメン夕リ一ス ト リームを生成し、 そのビデオエレメンタリース ト リームを、 ス ト リ ーム変換回路 352— 1 Vにおいて トランスポートス ト リームに変 換する例を挙げて、 ビデオエレメン夕リ一ス ト リームから トランス ポートス トリームを生成する過程について説明する。
図 9 Aは、 ビデオエンコーダ 35 1 - 1 Vに供給されるソ一スビ デォデ一夕を示し、 図 9 Bは、 ビデオエンコーダ 35 1— 1 Vから 出力されたビデオエレメンタリース ト リーム (E S) を示し、 図 9 Cは、 バケツライズドエレメンタリース ト リーム (PE S) 、 図 9 Dは、 トランスポ一トス ト リーム ( T S ) を示している。
図 9 Bに示したス トリーム V 1、 V2、 V 3及び V 4のように、 MP E G 2規格において符号化されたエレメン夕リ一ス ト リームの データ量は、 ビデオフレームのピクチャタイプ ( Iピクチャ、 Pビ クチャ又は Bピクチャ) 及び動き補償の有無に応じて異なってくる。 図 9 Cに示したパケッタイズドエレメンタリース ト リーム (PE S) は、 その複数のエレメン夕リ一ス ト リームをパケッ ト化し、 そ の先頭に PE Sヘッダを付加することによって生成される。 例えば、 この PE Sヘッダには、 P E Sパケッ トの開始を示す 24 〔bit 〕 のバケツ ト開始コードと、 P E Sパケッ 卜の実データ部分に収容さ れるス ト リームデータの種別 (例えばビデオや音声等の種別) を示 す 8 〔bit 〕 のス ト リーム I Dと、 以降に続くデータの長さを示す 16 (bit 〕 のパケッ ト長と、 値 「10」 を示すコードデ一夕と、 各種フラグ情報が格納されるフラグ制御部と、 コンディショナル ' コーディング部のデータの長さを示す 8 〔bit 〕 の PE Sヘッダ長 と、 P T S ( Presentation Time Stamp ) と呼ばれる再生出力の時 間情報や D T S ( Decoding Time Stamp ) と呼ばれる復号時の時刻 管理情報、 或いはデ一夕量調整のためのスタッフイ ングバイ ト等が 格納される可変長のコンディショナル · コーディング部とによって 構成される。
トランスポートス トリーム (T S ) は、 4バイ トの T Sヘッダと 1 8 4バイ 卜の実デ一夕が記録されるペイロード部とから成る トラ ンスポ一トス ト リームバケツ トのデ一夕列である。 このトランスポ 一トス ト リ一ムパケッ ト ( T Sパケッ ト) を生成するためには、 ま ず、 P E Sパケッ トのデ一夕ス ト リームを 1 8 4バイ ト毎に分解し、 その 1 8 4バイ 卜の実デ一夕を T Sバケツ 卜のペイロード部に挿入 し、 その 1 8 4バイ 卜のペイ口一ドのデ一夕に 4バイ 卜の T Sへッ ダを付加することによって トランスポートス ト リームパケッ トが生 成される。
次に、 図 1 0から図 1 7を参照してエレメンタリース ト リームの シン夕ックス及び構造について説明すると共に、 図 1 8から図 1 9 を参照して トランスポ一トス ト リームのシン夕ックス及び構造につ いて詳しく説明する。
図 1 0は、 M P E Gのビデオエレメンタリース ト リームのシン夕 ックスを表わした図である。 ビデオエンコーダプロック 3 5内の各 ビデオエンコーダ 3 5 1— 1 V〜 3 5 1— 9 Vは、 この図 1 0に示 されたシン夕ックスに従った符号化エレメン夕リ一ス ト リームを生 成する。 以下に説明するシンタックスにおいて、 関数や条件文は細 活字で表わされ、 データエレメン トは、 太活字で表されている。 デ —夕項目は、 その名称、 ビッ ト長及びそのタイプ ·伝送順序を示す 二一モニック (Mnemonic) で記述されている。
まず、 この図 1 0に示されているシンタックスにおいて使用され ている関数について説明する。 実際には、 この図 1 0に示されてい るシンタックスは、 ビデオデコーダ側において伝送された符号化ス ト リームから所定の意味のあるデ一夕を抽出するために使用される シン夕ヅクスである。 ビデオエンコーダ側において使用されるシン タックスは、 図 1 0に示されたシン夕ックスから if分や while文等の 条件文を省略したシンタックスである。
video一 sequesce( )におレヽて最初に H己述されてレヽる next—start— cod e()関数は、 ビッ トス ト リーム中に記述されているスタートコードを 探すための関数である。 この図 6に示されたシンタックスに従って 生成された符号化ス ト リームには、 まず最初に、 sequence_header ()関数と sequence_extension()関数によって定義されたデ一夕エレ メン トが記述されている。 この sequence— header()関数は、 MP E G ビッ トス ト リ一ムのシーケンスレイヤのヘッダデ一夕を定義するた めの関数であって、 sequence— extension()関数は、 MP E Gビッ ト ス ト リームのシーケンスレイヤの拡張デ一夕を定義するための関数 である。
sequence_extension()関数の次に配置されている do{ }while構文 は、 while文によって定義されている条件が真である間、 do文の { } 内の関数に基いて記述されたデ一夕エレメントが符号化デ一タス ト リーム中に記述されていることを示す構文である。 この while文に使 用されている nextbits()関数は、 ビッ トス トリーム中に記述されて いるビヅ ト又はビッ ト列と、 参照されるデ一夕エレメン トとを比較 するための関数である。 この図 6し示されたシン夕ックスの例では、 nextbits( )関数は、 ビッ トス ト リーム中のビッ ト列とビデオシーケ ンスの終わりを示す sequence_end_codeとを比較し、 ビッ トス ト リ一 ム中のビッ ト歹 ijと sequence—end一 codeとが一致しなレ、とき(こ、 この w hi le文の条件が真となる。 従って、 sequence— extension( )関数の次 に配置されている do{ hi le構文は、 ビッ トス ト リーム中に、 ビデ ォシーケンスの終わりを示す sequence— end_codeが現れない間、 do文 中の関数によって定義されたデータエレメン 卜が符号化ビッ トス ト リーム中に記述されていることを示している。
符号化ビッ トス ト リームにおいて、 sequence— extens ion( )関数に よって定義された各データエレメン 卜の次には、 extension— and_us er_data( 0 )関数によって定義されたデータエレメントが記述されて いる。 この extension— and__user_data( 0 )関数は、 M P E Gビッ トス トリ一ムのシーケンスレイヤにおける拡張デ一夕とユーザデータを 定義するための関数である。
この extension— and— user一 data( O )関数の次に配置されている do { }whi le構文は、 whi le文によって定義されている条件が真である間、 do文の { }内の関数に基いて記述されたデータエレメントが、 ビッ ト ス 卜 リームに記述されていることを示す関数である。 この whi le文に おいて使用されている nextbits( )関数は、 ビッ トストリーム中に現 れるビッ 卜又はビッ 卜列と、 picture— start_code又は group— start— codeとの一致を判断するための関数であるって、 ビッ トス ト リーム 中(こ現れるビッ 卜又 (まビヅ 卜歹 と、 picture— start— code又 (ま group— start_codeとが一致する場合には、 whi le文によって定義された条件 が真となる。 よって、 この do{ hi le構文は、 符号化ビヅ トス ト リ 一ム中(こお ヽて、 picture start code又(ま group start codeが現れ た場合には、 そのスタートコードの次に、 do文中の関数によって定 義されたデ一夕エレメントのコードが記述されていることを示して いる。
この do文の最初に記述されている if文は、 符号化ビッ トス ト リー ム中に group一 start— codeが現れた場合、 という条件を示しいる。 こ の if文による条件は真である場合には、 符号化ビッ トス ト リーム中 (こ ίま、 この group一 start— codeの次(こ group— of— picture— header( )関数 及び extension— and— user_data( l )関数(こよつて定義されてレヽるデー 夕エレメン 卜が順に記述されている。
この group—of_picture_header( )関数は、 M P E G符号化ビッ トス トリームの G O Pレイヤのヘッダデータを定義するための関数であ つて、 extension_and_user— data( l )関数は、 M P E G符^化ビッ ト ス ト リームの G O Pレイヤの拡張デ一夕及びユーザデ一夕を定義す るための関数である。
さらに、 この符号化ビッ トス ト リームにおいて、 group_of_pictu re_header( )関数及び extension— and— user— data( l )関数によつて定!^ されているデ一夕エレメン卜の次には、 picture— header( )関数と pi cture— coding— extension( )関数によつて定義されたデータェレメン 卜が記述されている。 もちろん、 先に説明した if文の条件が真とな らなレヽ場合(こ(ま、 group— of—picture— header( )関数及び extension一 and_user— data( l )関数によって定義されているデ一夕エレメントは 記述されていないので、 extens ion— and—user— data( 0 )関数によって 定義されているデ一夕エレメン 卜の次に、 picture— header( )関数、 picture— coding— extension( )関数及び extension— and— user— data( 2 ) 関数によって定義されたデ一夕エレメン 卜が記述されている。 この picture— header( )関数は、 M P E G符号化ビッ トス トリ一ム のピクチャレイヤのヘッダデータを定義するための関数であって、 picture— coding_extension( )関数は、 M P E G符号化ビッ トス ト リ —ムのピクチャレイヤの第 1の拡張データを定義するための関数で ある。 extension_and_user— data(2 )関数は、 M P E G符号化ビッ ト ス ト リームのピクチャレイヤの拡張データ及びユーザデータを定義 するための関数である。 この extension— and_user_data(2 )関数によ つて定義されるユーザデータは、 ピクチャレイヤに記述されている データであって、 各ピクチャ毎に記述することのできるデータであ るので、 本発明においては、 この extension— and_user—data( 2 )関数 によって定義されるユーザデータとして、 タイムコード情報を記述 するようにしている。
符号化ビッ トス ト リームにおいて、 ピクチャレイヤのユーザデー 夕の次には、 picture— data( )関数によって定義されるデ一夕エレメ ントが記述されている。 この picture— data( )関数は、 スライスレイ ャ及びマクロプロックレイヤに関するデ一夕エレメントを記述する ための関数である。
この picture_data( )関数の次に記述されている whi le文は、 この w hile文によって定義されている条件が真である間、 次の if文の条件 判断を行うための関数である。 この whi le文において使用されている nextbits( )関数は、 符号化ビッ トス トリーム中に、 picture— start— code又は group_start_codeが記述されているか否かを判断するため の関数であって、 ビッ トス トリーム中に picture— start— code又は gr oup一 st art— c odeが記述されている場合には、 この wh i 1 e文によって定 義された条件が真となる。 次の if文は、 符号化ビヅ トス トリーム中に sequence— end_code が 記述されているか否かを判断するための条件文であって、 sequence _end_code が記述されていないのであれば、 sequence_header( )関数 と sequence— extens ion( )関数とによって定義されたデ一夕エレメン トが記述されていることを示している。 sequence— end—codeは符号化 ビデオス ト リームのシーケンスの終わりを示すコードであるので、 符号化ス トリ一ムが終了しない限り、 符号化ス ト リーム中には sequ ence— header ( )関数と sequence_extens ion( )関数とによつて定義され たデ一夕エレメン トが記述されている。
この sequence— header( )関数と sequence— extens ion( )関数によって 記述されたデータエレメン トは、 ビデオス ト リームのシーケンスの 先頭に記述された sequence_header( )関数と sequence— extens ion( )関 数によって記述されたデ一夕エレメントと全く同じである。 このよ うに同じデータをス 卜リーム中に記述する理由は、 ビッ トス トリー ム受信装置側でデータス ト リームの途中 (例えばピクチャレイヤに 対応するビッ トス ト リーム部分) から受信が開始された場合に、 シ —ケンスレイヤのデ一夕を受信できなくなり、 ス ト リームをデコー ド出来なくなることを防止するためである。
この最後の sequence— header( )関数と sequence_extens ion( ) 数と によって定義されたデータエレメントの次、 つまり、 デ一タス ト リ —ムの最後には、 シーケンスの終わりを示す 3 2ビッ トの sequence —end— codeが記述されている。
以下に、 sequence— header( )関数、 sequence—extension( )関数、 e xtens ion— and— user一 data( O )関数、 group— of— pi cture— header ( ) (¾敛 及び extens i on_and_user_data( 1 )関数について詳細に説明する。 図 1 1は、 sequence_header( )関数のシンタックスを説明するため の図である。 この sequence_header( )関数によって定義されたデ一夕 エレメントは、 sequence_header_codeヽ sequence_header— present— f lag、 horizontal— s ize— value、 vertical— si ze— value、 aspect— rat io— information、 frame— rate— code、 bit— rate— value、 marker— bit、 VBV_buff er_size— value、 constrained— parameter— flag、 load— intr a— quantizer— matrix、 intra— quant izer—matrix、 load_non_intra_q uantizer_matrix、 及び non_intra— quantizer— matrix等である。
sequence— header_codeは、 シ一ケンスレイヤのスター卜同期コ一 ドを表すデ一夕である。 sequence— header—present一 f lagは、 sequen cejieader内のデータが有効か無効かを示すデータである。 hori zo ntal— s ize一 valueは、 画像の水平方向の画素数の下位 12ビッ 卜から成 るデ一夕である。 vertical— size— valueは、 画像の縦のライン数の下 12ビッ トからなるテ一夕である。 aspect— ratio— informationは、 画素のァスぺク ト比 (縦横比) または表示画面ァスぺク ト比を表す データである。 frame_rate— codeは、 画像の表示周期を表すデータで ある。 bit_rate_valueは、 発生ビッ 卜量に対する制限のためのビッ ト · レートの下位 18ビッ ト(400bsp単位で切り上げる)データである。 marker_bitは、 ス夕一トコ一ドエミュレ一ションを防止するために 挿入されるビッ トデ一夕である。 VBV_buffer_size_valueは、 発生符 号量制御用の仮想バッファ (ビデオバッファべリファイャ一) の大 きさを決める値の下位 10ビッ トデ一夕である。 constrained_parame ter_f lagは、 各パラメ一夕が制限以内であることを示すデータであ る。 load— intra— quantizer— matrixは、 イン卜ラ MB用量子化マ卜リ ヅ クス · デ一夕の 在を示すデ一夕である。 intra— quantizer matrix は、 ィントラ M B用量子化マト リ ックスの値を示すデータである。 load— non— intra— quantizer一 matrixは、 非ィン 卜ラ M B用量子ィ匕マ卜 リヅクス ·デ一夕の??在を示すデ一夕である。 non— intra— quantize rjnatrixは、 非ィン トラ M B用量子化マ ト リ ックスの値を表すデ一 夕である。
図 1 2は sequence— extension( )関数のシン夕ックスを説明するた めの図である。 この sequence_extens ion( )関数によって定義された デ一夕エレメントとは、 extension_start_codeN extension_start_ code—identif ier、 sequence— extension— present— f lag、 proi i le— an d_leve l— indication、 progressive— sequence、 chroma— format;、 hor i zontal一 si ze— extension、 vertical_si ze— extens ion、 bit— rate— ex tension^ vbv— buffer_size— extens ion、 low_delay、 frame— rate— ex tens ion— n 、 及び frame— rate_extension— d等のデ一夕エレメントで ある。
extension— start— codeは、 エクステンションデ一夕のス夕一卜同 期コードを表すデータである。 extension— start— code— identif ierは、 どの拡張データが送られるかを示すデ一夕である。 sequence— exten s ion_present_flagは、 シーケンスェクステンション内のデータが有 効であるか無効であるかを示すスデ一夕である。 prof i 1 e_and_leve し indicationは、 ビデオデータのプロフアイルとレベルを指定する ための 5—夕である。 progressive— sequenceは、 ビデオデ一夕が順 次走査であることを示すデータである。 chroma_formatは、 ビデオデ —夕の色差フォーマツ トを指定するためのデ一夕である。 horizont al— s ize— extensionは、 シーケンスへヅダの horizntal— si ze— valueに カロえる上位 2 ビヅ 卜のデータである。 vertical s ize extensionは、 シ一ケンスへッダの vertical—si ze一 value力 Πえる上位 2ビッ トのデ一 夕である。 bit— rate— extensionは、 シーケンスヘッダの bit— rate— v alueに加える上位 1 2ビッ トのデ一夕である。 vbvjmffer— size_ex tens ionは、 シ——ケンスへッ夕'、の vbv— buf fer— si ze_valueにカロえる上 位 8 ビッ トのデータである。 low— delayは、 Bピクチャを含まないこ とを示すデータである。 frame— rate— extension—nは、 シーケンスへ ッダの frame_rate_codeと組み合わせてフレームレートを得るための デ一夕である。 irame— rate— extens ion— dは、 シーケンスヘッダの fr ame_rate— codeと組み合わせてフレームレートを得るためのデ一夕で ある。
図 1 3は、 extens ion— and— user_data( i )関数のシンタックスを説 明するための図である。 この extens ion_and— user_data( i )関数は、 「i」 が 2以外のときは、 extension_data( )関数によって定義される デ一夕エレメン トは記述せずに、 user— data( )関数によって定義され るデータエレメン トのみを言己述する。 よって、 extension— and— user — data( O )関数は、 user_data( )関数によって定義されるデータエレメ ントのみを記述する。
図 1 4は、 group— of_picture—header( )関数のシンタックスを説明 するための図である。 この group— of— picture— header( )関数によって 定義されたデータエレメントは、 group一 start_code、 group_of_pic ture_header_present_f l ags time— code、 c losed— gop、 及び broken— l inkから構成される。
group_start— codeは、 G O Pレイヤの開始同期コ一ドを示すデ一 夕である。 group— of— picture— header— present— f lagは、 group— oi — picture_header内のデ一夕エレメン 卜が有効であるか無効であるか を示すデ一夕である。 time— codeは、 G 0 Pの先頭ビクチャのシ一 ケンスの先頭からの時間を示すタイムコードである。 c losed_gopは、 G 0 P内の画像が他の G 0 Pから独立再生可能なことを示すフラグ デ一夕である。 broken— l inkは、 編集などのために G〇 P内の先頭の Bピクチャが正確に再生できないことを示すフラグデ一夕である。 extension— and— user—data( 1 )関数は、 extension— and— user— data ( 0 )関数と同じように、 user— data( )関数によって定義されるデータ エレメン トのみを記述するための関数である。
次に、 図 1 5から図 1 7を参照して、 符号化ス ト リームのピクチ ャレイヤに関するデ一夕エレメントを記述するための picture_head rリ関数、 picture— coding— extension( )関数、 extens ions— and— user _data( 2 )及び picture— data( )について説明する。
図 1 5は picture_headr( )関数のシン夕ックスを説明するための図 である。 この picture_headr( )関数によって定義されたデータエレメ ントは、 picture— start— code、 temporal— reference、 picture— codi ng— type、 vbv— delay、 ful l_pel— forward— vector、 forward— f—code、 ful l— pel_backward__vector、 backward— f一 code、 extra— bit一 picture、 及び extra一 information一 pictureである。
具体的には、 picture_start— codeは、 ピクチャレイヤの開始同期 コードを表すデ一夕である。 temporaし referenceは、 ピクチャの表 示順を示す番号で G O Pの先頭でリセッ 卜されるデータである。 pi cture— coding— typeは、 ピクチャタイプを示すデ一夕である。
vbv_delayは、 V B Vバヅファの初期状態を示すデータであって、 各ピクチャ毎に設定されている。 送信側システムから受信側システ ムに伝送された符号化エレメンタリ一ス ト リームのピクチャは、 受 信側システムに設けられた V B Vバッファにバッフアリングされ、 D T S ( Decoding Time Stamp) によって指定された時間に、 この V B Vバッファから引き出され (読み出され) 、 デコーダに供給され る。 vbv_de layによって定義される時間は、 復号化対象のピクチャが V B Vバッファにバッファリングされ始めてから、 符号化対象のピ クチャが V B Vバッファから引き出される時間、 つまり D T Sによ つて指定された時間までを意味する。 本発明の符号化ス ト リームス プライシング装置においては、 このピクチャヘッダに格納された vb V— de layを使用することによって、 V B Vバッファのデ一夕占有量な 不連続にならないシームレスなスプライシングを実現するようにし ている。 詳しくは後述する。
ful l— pel— forward_vectorは、 順方向動きべク トルの精度が整数単 位か半画素単位かを示すデ一夕である。 forward— f_codeは、 順方向 動きべク トル探索範囲を表すデータである。 ful l— peし backward_ve ctorは、 逆方向動きべク トルの精度が整数単位か半画素単位かを示 すデータである。 backward— f— codeは、 逆方向動きべク トル探索範囲 を表すデ一夕である。 extra— bit— pictureは、 後続する追加情報の 存在を示すフラグである。 この extra_bit— pictureが 「 1」 の場合に は、 次に extra— information— pictureが存在し、 extra一 bit— picture が 「0」 の場合には、 これに続くデータが無いことを示している。 extra— information— pictureは、 規格において予約された情報である。 図 1 6は、 picture_coding_extens ion( )関数のシンタックスを説 明するための図である。 この picture— coding_extension( )関数によ つて定義されたデ一夕エレメン トとは、 extension_start_code、 ex tension_start code identif iers : f _code[0] [0]、 f code [0] [ l ]、 f — code[l][0]、 f— code[l] [1]、 intra— dc—precision、 picture— struc ture、 top— field— first、 frame— predictive— frame— dct、 concealme nt— motion— vectors、 q— scale— type、 intra— vlc_format、 alternate — scan、 repeatj irt— f ield、 chroma— 420_type、 progressive— frame、 composite— display_flag、 v— axis、 field— sequence、 sub— carrier、 burst— amplitude、 及び sub—carrier— phaseから構成される。
extension_start— codeは、 ピクチャレイヤのェクステンションデ —夕のスタートを示す開始コ一ドである。 extension— start— code— i dentifierは、 どの拡張デ一夕が送られるかを示すコードである。 f— code[0][0]は、 フォア一ド方向の水平動きべク トル探索範囲を表 すデータである。 f_code[0][l]は、 フォア一ド方向の垂直動きべク トル探索範囲を表すデ一夕である。 f— code[l][0]は、 バヅクワード 方向の水平動きべク トル探索範囲を表すデータである。 : f_code[l] [1]は、 バックワード方向の垂直動きべク トル探索範囲を表すデ一夕 である。 intra_dc— precisionは、 DC係数の精度を表すデータである。 picture_structureは、 フレームス トラクチャかフィールドス 卜ラク チヤかを示すデ一夕である。 フィールドス トラクチャの場合は、 上 位フィールドか下位フィールドかもあわせて示すデータである。 top_field_firstは、 フレームス トラクチャの場合、 最初のフィ一 ルドがトップフィ一ルドであるのかボトムフィ一ルドであるのかを 示すフラグである。 frame— predictive一 frame_dctは、 フレーム ' ス トラクチャの場合、 フレーム ' モード D CTの予測がフレーム 'モ ―ドだけであることを示すデータである。 concealment— motion_vec torsは、 イントラマクロプロヅクに伝送エラーを隠蔽するための動 きべク トルがついていることを示すデ一夕である。 q— scale typeは、 線形量子化スケールを利用するか、 非線形量子化スケールを利用す るかを示すデータである。 intra_vlc_formatは、 イン トラマクロブ ロックに、 別の 2次元 V L Cを使うかどうかを示すデータである。 alternate_scanは、 ジグザグスキャンを使うか、 オル夕ネート ' ス キャンを使うかの選択を表すデータである。
repeat_f irst— f ieldは、 復号化時にリ ピー トフィールドを生成す るか否かを示すフラグであって、 復号化時の処理において、 repeat —first— f ield が 「 1」 の場合にはリピートフィールドを生成し、 r epeatjirst— f ieldが 「0」 の場合にはリピートフ ィール ドを生成し ないという処理を行なう。 chroma_420— typeは、 信号フォーマッ トが 4 : 2 : 0の場合、 次の progressive— frame と同じ値、 そうでない 場合は 0を表すデータである。 progress ive— frameは、 このピクチャ が、 順次走査できているかどうかを示すデ一夕である。 composite— display_flagは、 ソース信号がコンポジッ ト信号であったかどうか を示すデ一夕である。 V— axisは、 ソース信号が、 P A Lの場合に使 われるデ一夕である。 field_sequenceは、 ソース信号が、 P A Lの 場合に使われるデ一夕である。 sub— carrierは、 ソース信号が、 P A Lの場合に使われるデ一夕である。 burst一 ampl itudeは、 ソース信号 が、 P A Lの場合に使われるデータである。 sub一 carrier_phaseは、 ソース信号が、 P A Lの場合に使われるデ一夕である。
extension_and_user一 data( 2 )関数は、 図 1 3に示したように、 符 号化ビッ トス ト リーム中にエクステンションスタートコード extens ion— start— code が存在する場合には、 extension— data( )関数によつ て定義されるデ一夕エレメン 卜が記述されている。 但し、 ビッ トス トリ一ム中にエクステンションスタートコ一ドが存在しない場合に は extension_data()関数 によって定義されるデ一夕エレメン トは ビッ トス ト リーム中には記述されていない。 この extension— data( ) 関数によって定義されているデータエレメン 卜の次には、 ビッ トス トリーム中にユーザデ一夕スター卜コ一ド user— data— start— codeが 存在する場合には、 user— data()関数によって定義されるデ一夕エレ メン トが記述されている。
図 1 7は、 picture— data()関数のシンタックスを説明するための 図である。 この picture_data()関数によって定義されるデータエレ メン トは、 slice()関数によって定義されるデ一夕エレメントである。 但し、 ビッ トス ト リーム中に、 slice()関数のス夕一トコ一ドを示す slice_start_codeが存在しない場合には、 この slice()関数によって 定義されるデ一夕エレメン トはビッ トス トリーム中に記述されてい ない。
slice()関数は、 スライスレイヤに関するデ一夕エレメントを記述 するための関数であって、 具体的には、 slice— start— code、 slice— quantiser— scale一 code、 intra— slice— flag、 intra— slice、 reserve d_bits、 extra_bit— slice、 extra一 information— si ice、 及び extra一 bit_slice 等のデータエレメン トと、 macroblock( )関数によって定 義されるデータエレメントを記述するための関数である。
slice_start_codeは、 slice( )関数によって定義されるデータエレ メン卜のスタートを示すス夕一トコ一ドである。 si ice一 quantiser— scale_codeは、 このスライスレィャに存在するマク口ブロヅクに対 して設定された量子化ステツプサイズを示すデータである。 しかし、 各マクロブロック毎に、 quantiser— scale— codeが設定されている場 合には、 各マクロブロックに対して設定された macroblock quant is er_scale_codeのデ一夕が優先して使用される。 intra— si ice— f lagは、 ビッ トス 卜 リーム中に intra_sl ice及び reserved— bitsが存在するか 否かを示すフラグである。 intra— sl iceは、 スライスレイヤ中にノン イン トラマクロプロックが存在するか否かを示すデータである。 ス ライスレイヤにおけるマクロブロックのいずれかがノンィン トラマ クロブロックである場合には、 intra— s i iceは 「 0」 となり、 スライ スレイヤにおけるマクロブロックの全てがノンイントラマクロプロ ヅクである場合には、 intra_sl iceは 「 1」 となる。 reserved_bits は、 7ビッ トのデータであって 「0」 の値を取る。 extra_bit_sl ic eは、 符号化ス ト リームとして追加の情報が存在することを示すフラ グであって、 次に extra_infonnation_s l iceが存在する場合には 「 1」 に設定される。 追加の情報が存在しない場合には 「0」 に設 定される。
macroblock( )関数は、 マクロブロックレイャに関するデ一夕エレ メン 卜を記述するための関数であって、 具体的には、 macroblock_e scape、 macroblock— address_increment、 及び macroblock_quantise r_scale一 code等のデ一夕エレメン卜と、 macroblock一 modes( )関数、 及び macroblock一 vecters( s )関数によって定義されたデータエレメ ントを記述するための関数である。
macroblock— escapeは、 参照マクロブロックと前のマクロブロック との水平方向の差が 3 4以上であるか否かを示す固定ビッ ト列であ る。 参照マクロブロックと前のマク口ブロックとの水平方向の差が 3 4以上の場合には、 macroblock_address— incrementの値に 3 3を プラスする。 macroblock— address— incrementは、 参照マクロフロ ヅ クと前のマクロブ口ックとの水平方向の差を示すデ一夕である。 も し、 この macroblock— address— incrementの前に macroblock— escapeが 1つ存在するのであれば、 この macroblock_address— incrementの値 に 3 3をプラスした値が、 実際の参照マクロプロヅクと前のマクロ ブロックとの水平方向の差分を示すデ一夕となる。 macroblock_qua ntiser— scal e— codeは、 各マク口プロック毎に設定された量子化ステ ップサイズである。 各スライスレイヤには、 スライスレイヤの量子 化ステヅプサイズを示す si ice— quantiser— scale— codeが設定されて いるが、 参照マク口ブロヅクに対して macroblock— quantiser— scale —codeが設定されている場合には、 この量子化ステップサイズを選択 する。
次に、 図 1 8及び図 1 9を参照して、 トランスポートス ト リーム バケツ 卜の構造及びトランスポートス ト リームパケッ 卜のシンタツ クスについて詳しく説明する。 .、
トランスポートス トリームパケッ トは、 4バイ トのヘッダと、 各 種のデータ及びデ一夕エレメン トを格納するための 1 8 4バイ トの ベーロード部とから構成されている。
トランスポートス トリ一ムバケツ 卜のへッダ部は、 sync— byte、 t ransport— error— indicator、 payload一 unit— start一 indicator、 tran sport— priority、 P ID、 transport— scrambl ing— control、 adaptatio n_f ield_controlN continuity— counter、 及び adaptation— f ield等の 各種フィールドから構成されている。
sync_byteとは、 ビッ トス ト リーム中から同期パターンを検出する ための固定の 8 ビッ トのフィールドである。 値は ' 01000111 ' ( Ox 47) の固定値で定義され、 このス ト リーム中のこのビッ トパターン を検出することによって、 同期を検出することができる。 transport— error— indicatorは、 1ビッ トのフラグである、 「 1」 に設定されると、 少なく とも 1ビッ 卜の訂正できないビッ トエラ一が トランスポートス ト リームバケツ トに存在することを示す。
payload_unit— start_indicatorは、 1ビヅ 卜のフラグである。 ビデ ォ /オーディォデ一夕等のエレメンタリーデータまたはプログラム 仕様情報 (P S I ) を伝送する トランスポートス ト リームパケッ ト に対して規範的な意味を有するデ一夕である。 トランスポ一トス ト リームバケツ 卜のペイロードがエレメン夕リーデ一夕を含む場合、 payload— unit— start— indicatorは、 次の意味を有する。 payload— un it— start_indicatorが 「 1」 の場合には、 このトランスポートス ト リームバケツ 卜のペイ口一ドの最初に、 エレメン夕リーデ一夕が揷 入されていることを示し、 payload—unit— start— indicatorが 「0」 の場合には、 このトランスポ一トス ト リ一ムパケッ 卜のペイ口一ド の最初に、 エレメン夕リーデ一夕が揷入されていないことを示す。 もし、 payload— unit— start— indicatorが 「 1」 にセッ 卜されると、 ただ一つの P E Sバケツ トが任意のトランスポートス ト リームパケ ッ 卜で開始することを示す。 一方、 トランスポートス ト リームパケ ッ 卜のペイロードが P S Iデータを含む場合、 payload— unit— start —indicatorは、 次の意味を有する。 もし、 トランスポートパケッ ト が P S Iセクションの第 1バイ トを伝送する場合、 payload— unit— s tart— indicatorは 「 1」 となる。 もし、 トランスポ一トス ト リ一ム バケツ 卜が P S Iセクションの第 1バイ トを伝送していない場合、 payloaa— unit— start— indicatorは 「0」 となる。 尚、 トランスポ一 トス ト リームパケッ 卜がヌルバケツ トの場合にも、 payload_unit_s tart indicatorは 「 0」 となる。 transport_priorityは、 トランスポートバケツ 卜の優先度を示す 1 ビッ 卜の識別子である。 この transport_priorityが 「 1」 に設定 されると、 このトランスポートパケッ トは、 同一のパケッ ト識別子 P I Dをもつパケッ 卜であって、 この transport— priorityが 「 1」 でないパケッ トより優先度が高いことを示している。 冽えば、 この transport_priorityのバケツ ト識別子を設定することによって、 一 つのエレメン夕リース ト リーム内において任意のバケツ トに優先度 をつけることができる。
transport— scrambl ing一 control^;、 トランスポ—— 卜ス 卜 リームノ ケッ トペイロードのスクランプリングモードを示す 2ビッ トのデ一 夕である。 スクランプリングモードとは、 ペイロードに格納された データがスクランプされているか否か及びそのスクラングルの種類 を示すためのモードである。 トランスポートス ト リームバケツ 卜へ ヅダ、 およびァダブテーシヨンフィールドは、 スクランブルキ一K sによってスクランブルされてはならないように規格化されている。 よって、 この transport—scrambl ing— controlによって、 卜ランスポ 一トス ト リームパケッ トペイロードに格納されたデ一夕がスクラン ブルされているか否かを判断することができる。
adaptation— field— controlは、 このトランスポートス ト リームの パケッ トヘッダにァダプテーションフィ一ルド及び/又はペイ口一 ドがく ることを示す 2ビッ トのデ一夕である。 具体的には、 パケッ トへッダにペイ ロードデ一夕のみが配置される場合には、 この adap tionjield—controlは 「 0 1」 となり、 ノ ケヅ トヘッダにァダプ テーションフィ一ルドのみが配置される場合には、 この adaptation f ie ld controlは 「 1 0」 となり、 バケツ トヘッダにァダプテ一シ ヨンフィ一ルドとペイロードとが配置される場合には、 この adapta tion_f ield_controlは 「 1 1」 となる。
continuity— counterは、 連続して伝送された同じ P I Dをもつパ ケッ 卜が、 伝送途中で一部欠落又は捨てられか否かを示すためのデ —夕である。 具体的には、 continuity— counterは、 同一の P I Dを 有する各トランスポートス 卜 リームバケツ トごとに増加する 4ビッ ト のフィールドである。 但し、 この contimlty— comterがカウン トされ るときは、 パケッ トへッダにアダムテーシヨンフィールドが配置さ れている場合である。
adaptation_f ield ( ) は、 個別ス ト リームに関する付加情報ゃス 夕ヅフイングバイ ト等をオプションとして挿入するためのフィ一ル ドである。 このァダプテ一シヨンフィールドによって、 個別ス トリ ームの動的な状態変化に関するあらゆる情報をデータと一緒に伝送 することができる。
図 1 9は、 adaptation_f ield ( ) のシンタックスを説明するため の図である。 この adaptation_field ( ) は、 adaptation_f ield— le ngth、 discontinuity— counter、 randam— access— inaicator、 elemnt ary— stream— priority_indicator、 OPCR— flag、 spl ic ing— point— f la g、 transport— private一 data— f lag、 adaptation— f ield— extension— f lag、 program—c lock— reference ( PCR) 、 original_program_clock_ reference ( OPCR) 、 spl ice— countdown、 、 transport— private— dat a— length、 private— data、 adaptation— f ield— extens ion— length、 1 t _f lag( leagal_time_ indow_f lag) piecewise— rate— f lag、 及び s eamless_spl ice_flag等の各種フィールドから構成されている。 adaptation r ield lengthは、 この adaptation f ield lengthの次 に続くァダプテ一シヨンフィールドのバイ ト数を示すデ一夕である。 adaptation— f ield_controlが 「 1 1」 の場合には、 adaptat ion— f ie Id— lengthは 0から 1 8 2 ビッ トであって、 adaptation_f ield— cont rolが 「 1 0」 の場合には、 adaptation— f ield— lengthは 1 8 3 ビヅ トとなる。 尚、 トランスポートス ト リームのペイ口一ドを満たすだ けのエレメン夕リ一ス ト リームが無い場合には、 ビッ 卜を満たすた めのスタッフイング処理が必要となる。
discontinuity— counterは、 同じ P I Dを有する複数のパケッ 卜の 途中において、 システムクロヅクリフアレンス ( S C R ) がリセヅ 卜され、 システムクロックリファレンスが不連続になっているか否 かを示すデ一夕である。 もし、 システムクロックリファレンスが不 連続の場合には、 この discontinuity_counterは 「 1」 となり、 シス テムクロックリファレンスが連続している場合には、 この disconti nuity— counterは 「0」 となる。 尚、 このシステムクロヅク リファレ ンスとは、 ビデオ及びオーディォのデコードするための M P E Gデ コーダにおいて、 デコーダ側のシステムタイムクロヅクの値をェン コーダ側において意図したタイ ミングに設定するための参照情報で ある。
randam— access— indicatorは、 ビデオのシーケンスへッダ又はォ一 ディォのフレームの始まりを示すデータである。 つまり、 この rand am—access_indicatorは、 デ一夕エレメン卜のランダムアクセスを行 うときに、 ビデオ又はオーディオのアクセスポイント (フレームの 始まりのこと) であることを示すためのデ一夕である。
e lemntary— stream— priority一 indicatorは、 同一の P I Dを有する パケッ 卜において、 このトランスポートス 卜 リームパケッ 卜のペイ ロード中で伝送されるエレメン夕リース ト リームデ一夕の優先度を 示すデ一夕である。 例えば、 エレメンタリース トリームがビデオデ 一夕が、 そのビデオデータがイン トラ符号化されている場合に、 el emntary_stream_priority— indicatorが 「 1」 にセヅ 卜される。 それ に対して、 ィン夕一符号化されているビデオデ一夕を含んだトラン スポ一卜ス 卜リ一ムの elemntary— stream_priority— indicatorは、
「 0」 にセッ 卜される。
PCR— flagは、 ァダプテ一シヨンフィールド内に P C R (program. clock_refrence) デ一夕が存在するか否かを示すデ一夕でる。 ァダ プテ一ションフィールド内に P CRデータが存在する場合には、 PC R— flagが 「 1」 にセッ トされ、 P CRデータが存在しない場合には、 PCR— flagが 「0」 にセッ トされる。 尚、 この P C Rデータとは、 受 信機側のデコーダにおいて、 伝送されたデータをデコードするデコ 一ド処理のタイ ミングを得るために使用されるデータである。
OPCR— flagは、 ァダプテーシヨンフィ一ルド内に 0 P C R (origin al— program—clock— refrence)デ一夕が存在するか否かを示すデータ でる。 ァダプテ一ションフィ一ルド内に OP CRデータが存在する 場合には、 OPCR— flagが 「 1」 にセッ 卜され、 O P CRデ一夕が存在 しない場合には、 0PCR_flagが 「0」 にセッ トされる。 この OP CR データとは、 スプラインシング処理等によって、 複数のオリジナル トランスポートス ト リームから 1つのトランスポ一トス ト リームを 再構築したときのに使用されるデ一夕であって、 あるオリジナルト ランスポ一トス ト リ一ムの P C Rデ一夕を表わすデータである。 splicing_point_flagは、 トランスポ一トレベルでの編集ポィント
(スプライスポイン ト) を示すための splice countdounがァダプテ ーシヨンフィ一ルド内に存在するか否かを示すデータである。 ァダ プテ一シヨンフィ一ルド内に splice— countdounが存在する場合には、 この splicing_point_flagは 「 1」 であって、 ァダプテ一シヨンフィ 一ノレド内(こ splice— countdoun力 s '存在する場合(こ(ま、 この splicing一 p oint— flagは 「0」 である。
transport_private_data_f lagtt ァ夕"フ。テーシヨンフィ一ノレド内 に、 任意のユーザデータを記述するためのプライべ一卜が存在する か否かを示すためのデータである。 ァダプテーシヨンフィールド内 (こフ。ライべ一卜が存在する場合(こ(ま、 この transport— private— data —flagは 「 1」 にセッ トされ、 ァダプテ一シヨンフィールド内にプラ ィベー卜が存在しな ヽ場合【こ(ま、 この transport— private— data— f la gは 「 0」 にセッ 卜される。
adaptation— field— extension_f lag (ま、 ァ夕、'プテーシヨンフィーゾレ ド内に、 拡張フィ一ルド存在するか否かを示すためのデータである。 ァダプテ一ションフィールド内に拡張フィールドが存在する場合に は、 この adaptation— field— extension— flagは 「 1」 にセッ 卜され、 ァダプテ一シヨンフィ一ルド内に拡張フィ一ルドが存在しない場合 には、 この adaptation— field_extension— flagは 「0」 にセッ トされ る。
program_clock_reference (PCR) は、 送信側とクロックの位相に 対して受信機側のクロックの位相を同期させるときに参照する基準 クロックである。 この P CRデ一夕には、 トランスポートパケッ ト が生成された時間が格納されている。 この P CRは、 、 33ビッ ト の program一 clock— reference— baseと 9ビッ トの program_clocLrefer ence extensionとの 42ビッ トから構成されるデ一夕である。 prog ram— c locLreference— extensionによって 0〜 2 9 9までのシステム クロックをカウン 卜し、 2 9 9から 0にリセッ 卜される際のキャリ ——によって、 program— c lock_reference— baseに 1 ビッ 卜を力 tl算する ことによって、 2 4時間をカウン トすることができる。
origmal_program_c lock_reference ( 0PCR) は、 ある トランスホ 一トス ト リームから単一プログラムのトランスポートス ト リームを 再構成するときに使用されるデ一夕である。 単一プログラム ドラン スボートス トリームが完全に再構成された場合、 この original_pro gram— c lock— referenceは program— c lock— referenceにコビーされる。 spl ice— countdownは、 同一 P I Dのトランスポ一トス トリ一ムノ ケヅ トにおいて、 トランスポートス ト リ一ムパケヅ トレベルで編集 可能 (スプライシング処理可能) なボイン 卜までのバケツ 卜の数を 示すデ一夕である。 従って、 編集可能なスプライシングポイントの トランスポートス ト リ一ムパケッ 卜では、 spl ice— countdownは 「0」 である。 spl ice_countdownが 「 0」 になる トランスポートノ、' ケヅ トで、 トランスポートス トリームバケツ トペイロードの最終バ ィ 卜は、 符号化されたピクチャの最後のバイ トとすることによって、 スプライシング処理が可能となる。
このスプライシング処理とは、 トランスポートレベルで行われる 2つの異なるエレメンタリース ト リームを連結し、 1つの新しいト ランスポートス ト リームを生成する処理のことである。 そして、 ス プライシング処理として、 復号の不連続性を発生しないシームレス スプライスと、 復号の不連続性を引き起こすノンシームレススプラ ィスとに分けることができる。 符号の不連続性を発生しないとは、 新しく後ろにつなげられたス ト リームのアクセスユニッ トの復号時 間と、 スプライス前の古いス ト リームのアクセスュニヅ トの復号時 間と間の矛盾が無いことを示し、 符号の不連続性を発生するとは、 新しく後ろにつなげられたス ト リームのアクセスュニッ トの復号時 間に対して、 スプライス前の占いス 卜リームのアクセスュニッ 卜の 復号時間の矛盾が生じることを示している。
transport_private— data一 length (ま、 ァ夕'、フ。テーシヨンフィ一ノレド におけるブライデートデータのバイ ト数を示すデータである。
private— dataは、 規格では特に規定されておらず、 ァダプテ一シ ョンフィールドにおいて任意のユーザデ一夕を記述することができ るフィールドである。
adaptation— field— extension— lengthは、 ァダプテーシヨンフィ一 ルドにおけるァダプテ一ションフィ一ルドエクステンションのデ一 夕長を示すデータである。
ltw_f lag( leagal— time— window— f lag)は、 ァダプテ一シヨンフィ一 ルドにおいて表示ウイン ドウのオフセッ ト値を示す ltw_offsetが存 在するか否かを示すデータでる。
piecewise— rate— f lagは、 ァダプテーシヨンフィ一ルドにおいて p iecewise_rateが存在するか否かを示すデ一夕でる。
seamless— spl ice_flagは、 スプライシングポイン トが、 通常のス プライシングポィン トか、 シームレススプライシングポィン トであ るかを示すデ一夕である。 この seamless—spl ice— f lagが 「0」 の時 は、 スプライシングポィン 卜が通常のスプライシングポィントであ ることを示し、 この seamless— spl ice_f lagが 「 1」 の時は、 スプラ イシングポイントがシームレススプイシングポイン トであることを 示している。 通常のスプライシングポイントとは、 スプライシング ポイン トが P E Sバケツ 卜の区切りに存在する場合であって、 この スプライシングポィン 卜の直前のスプライシングパケッ 卜がァクセ スユニッ トで終了し、 次の同じ P I Dを有する トランスポートパケ ヅ トが P E Sバケツ 卜のへッダで開始している場合である。 これに 対して、 シームレススプライシングポイ ン トとは、 P E Sパケッ ト の途中にスプライシングポイン トがある場合であって、 新しく後ろ につなげられたス ト リームのアクセスュニッ トの復号時間と、 スプ ラィス前の古いス ト リームのアクセスュニッ トの復号時間との間に 矛盾が無いようにするために、 古いス ト リームの特性の- 部を、 新 しいス ト リームの特性として使う場合である。
次に、 本局 3 0から伝送されたきたス ト リ一ム S T OLDと地方局 4 0において生成されたス 卜 リーム S T NEWとをスプライシングするス プライシング処理について、 図 2 0から図 2 3を参照して説明する。 図 2 0は、 図 7において説明した地方局 4 0の制御をよりわかり やすく説明するために、 複数チヤンネルうちのある 1チャンネルの みを残して、 他のチャンネルを省略した図である。 本発明において は、 スプライシング処理に関する実施例として 3つのスプライシン グ処理に関する実施例を有している。 以下に、 第 1、 第 2及び第 3 のスプライシング処理に関する実施例を順に説明する。
第 1のスプライシング処理に関する実施例は、 伝送プログラムの 符号化ス ト リーム S T OLDが本局 3 0から伝送されてく る前に、 新し く挿入されるコマーシャル C M ' の符号化ス トリ一ム S T NEWが既に 生成されている場合に行われるスプライシング処理に関する実施例 である。 つまり、 伝送プログラムにおけるコマーシャル C Mの符号 化ス ト リーム S T OLD部分に、 既に前もって符号化されていコマーシ ャル C M 1, のス トリームを挿入する場合である。 通常、 コマーシ ャルというものは何度も繰り返して放映されるので、 その度にコマ 一シャルのビデオデータを符号化するのでは効率的ではない。 そこ で、 地方向けのコマーシャル C M 1 ' のビデオデ一夕を符号化し、 その符号化ス トリ一ム T S NEWをス ト リームサーバ 4 9に予め記憶し ておく。 そして、 本局 3 0から置換えられるコマーシャル C M 1の 符号化ス ト リーム S T OLDが伝送されてきたときに、 このス ト リーム サーバ 4 9から地方向けのコマーシャル C M 1, の符号化ス トリー ム S T NEWを再生することによって、 同じコマーシャルを何度も符号 化する処理を省くことができる。 このような場合に、 以下に具体的 に説明する第 1のスプライシング処理が行われる。
まず地方局 4 0において、 伝送プログラムのコマーシャル C M 1 の部分に置換えられる地方向けのコマーシャル C M 1 ' を符号化し、 符号化ス ト リーム S T NEWをス ト リームサーバ 4 9に格納する初期処 理について説明する。 放送システムコン トローラ 4 1は、 伝送プロ グラムのコマーシャル C Mの部分に置換えられるコマーシャル C M 1 5 のビデオデ一夕を再生するように C Mサーバ 4 7を制御する。 そして、 エンコーダ 4 8 1は、 C Mサーバ 4 7から再生されたべ一 スバン ドのビデオデータを受取り、 このビデオデータの各ピクチャ の符号化難易度 (Difficulty) D iをエンコーダコントローラ 4 8 0に供給する。 エンコーダコン トローラ 4 8 0は、 図 8において説 明したエンコーダコントローラ 3 5 0と同じように、 エンコーダ 4 8 1が適切な符号化ビッ トを発生するようにエンコーダ 4 8 1に対 してターゲヅ トビヅ トレート R iを供給する。 エンコーダ 4 8 1は、 エンコーダコントロ一ラ 4 8 0から供給された夕一ゲッ トビッ トレ —ト R iに基いて符号化処理を行なうことによって、 最適なビッ ト レートの符号化工レメン夕リース ト リーム S T NEWを生成することが できる。 エンコーダ 4 8 1から出力された符号化エレメン夕リース ト リーム S TNEWは、 ス ト リームサーバ 4 9に供給される。 ストリ一 ムサーバ 4 9は、 符号化工レメ ン夕リース ト リームをス ト リームの 状態のまま、 ランダムアクセス可能な記録媒体に記録する。 これで、 符号化ス ト リ一ム S TNEWをス ト リームサーバ 49に格納する初期処 理は終了する。
次に、 本局から伝送されてきた伝送プログラムの符号化ス トリー ム S TOLDと、 上述した初期処理によってス ト リームサーバ 4 9に格 納された符号化ス ト リ一ム S T NEWとをスプライシングするスプライ シング処理について説明する。
本局 3 0から伝送されてきた符号化ス トリーム S T0LDは、 ス 卜 リ ーム変換回路 44において トランスポートス トリームの形式からェ レメン夕リース ト リームの形式に変換される。 エレメン夕リース ト リームの形式に変換された符号化ス ト リ一ム S TOLDは、 ス ト リーム スプライサ 5 0に供給される。
ス ト リームスプライサ 5 0は、 図 2 0に示されているように、 ス プライスコン トローラ 5 0 0、 スィッチ回路 5 0 1、 ス ト リーム解 析回路 5 0 2、 ス ト リームプロセッサ 5 0 3、 及びスプライシング 回路 5 0 4を備えている。
この第 1のスプライシング処理に関する実施例では、 スプライス コン トローラ 5 0 0は、 スィ ッチ回路 5 0 1の入力端子を 「 a」 に 切換え、 ス ト リ一ムサーバ 4 9から供給されたエレメン夕リース ト リーム S TNEWをス 卜リーム解析回路 5 0 2に供給する。 ス ト リ一ム解析回路 5 0 2は、 符号化ス ト リ一ム S T OLD及び符号 化ス ト リ一ム S T NEWのシン夕ックスを解析する回路である。 具体的 には、 ス トリーム解析回路 5 0 2は、 図 1 0及び図 1 5に開示され た符号化ス 卜 リームのシンタックスから理解できるように、 符号化 スト リーム S T OLD中に記述された 3 2 ビッ トの picture— start— cod eを探すことによって、 ス トリ一ム中においてピクチャヘッダに関す る情報が記述された場所を把握する。 次に、 ス ト リーム解析回路 5 0 2は、 picture_start_codeの 1 1 ビッ ト後から始まる 3ビッ トの picture_coding— typeを見つけることによって、 ピクチャタイプを把 握すると共に、 この 3ビッ 卜の picture— coding一 typeの次に記述され た 1 6 ビッ 卜の vbv_de layから、 符号化ピクチャの vbv_delayを把握 することができる。
さらに、 ス ト リーム解析回路 5 0 2は、 図 1 0及び図 1 5に開示 された符号化ス ト リームのシン夕ックスから理解できるように、 符 号化ス ト リーム S T OLD及び符号化ス ト リ一ム S T NEW中に記述され た 3 2ビッ トの extension_start_codeを探すことによって、 ス トリ —ム中においてピクチャコーディ ングエクステンションに関する情 報が記述された場所を把握する。 次に、 ス ト リーム解析回路 5 0 2 は、 picture_start— codeの 2 5ビッ ト後から記述された 1 ビッ トの top_f ield—f irstと、 その top_f ield_f irstの 6ビッ ト後から記述さ れた repeat一 first_f ieldとを探すことによって、 符号化ピクチャの フレーム構造を把握することができる。 例えば、 符号化ピクチャの rtop_f ield_f irstj が 「 1」 である場合には、 トップフィールドが ボトムフィールドよりも時間的に早いフレーム構造であることを示 し、 「top f ie ld f i rst j が 「 0」 の場合には、 トップフィールドが ボトムフィールドよりも時間的に早いフレーム構造であることを示 す。 また、 符号化ス トリ一ム中のフラグ 「top_field— firstj が
「0」 であって且つ 「repeat_first一 field」 が 「1」 の場合には、 復号化時に トップフィールドからリピートフィールドが生成される ようなピクチャ構造であることを示し、 符号化ス ト リ一ム中のフラ グ 「top— field— firstj が 「0」 であって且つ 「repeat— first_f iel d」 が 「 1」 の場合には、 復号化時にボトムフィールドからリピ一 トフィールドが生成されるようなピクチャ構造を有していることを 示している。
丄 した、 picture— coding— type、 vbv— delay、 top— field— first及 び repeat— first— fieldは、 各ピクチャ毎に符号化ス ト リームから抽 出され、 スプライスコントローラ 500に供給される。 ス ト リーム 解析回路 502に供給されたエレメン夕リース トリーム S TOLD及び エレメンタリース ト リーム S TNEWは、 そのままエレメンタリース ト リーム S TOLD及びエレメンタリース ト リーム S TNEWとしてス トリ —ムプロセッサ 503に供給される。
さらに、 ス トリーム解析回路 502は、 供給されたス ト リ一ム S T OLDとス ト リーム S T NEWのビッ ト数をカウントするためのカウン 夕を備えており、 このカウン ト値と各ピクチヤの発生ビッ ト量とに 基いて、 各ピクチャ毎に VB Vバッファのデ一夕残量をシュミレー シヨンするようにしている。 ス ト リーム解析回路 502において演 算された各ピクチャ毎の VBVバッファのデ一夕残量も、 スプライ スコントローラ 500に供給される
ス ト リームプロセッサ 503は、 ス ト リーム S T0LDとス トリーム S TNEWとをスプライシングすることによって生成されるスプライス ドス ト リーム S TSPLがシームレスなス トリームとなるように、 この スト リーム S TOLD及びス ト リーム S TNEWのス トリーム構造、 デ一 夕エレメント及びフラグを変更するための回路である。 このス ト リ ームプロセッサ 503の具体的な処理を、 図 2 1を参照して説明す る。
図 2 1 Aは、 本局 30から供給されたオリジナルス ト リーム S T OLDと、 そのス トリーム S TOLDの VB Vバヅファのデータ占有量の 軌跡を示す図であって、 図 2 1 Bは、 ス トリームサーバ 49に記憶 された差し替えス ト リーム ST NEWと、 そのス ト リーム S TNEWの V BVバッファのデータ占有量の軌跡を示す図であって、 図 2 1 Bは、 スプライシングポィント S P 1及び S P 2において、 ス ト リーム S TOLDとス トリーム S T NEWとをスプライシングしたスプライスドス トリーム S TSPLと、 そのスブライス ドス トリーム S TSPLの VB V バヅファのデ一夕占有量の軌跡を示す図である。 尚、 図 2 1 Aにお いて、 DTS (デコーディ ングタイムスタンプ) を示し、 SP lvb Vは、 VB Vバッファのデ一夕占有量の軌跡上における第 1のスプラ イシングポイン トを示し、 SP 2vbvは、 VBVバッファデータ占有 量の軌跡上における第 2のスプライシングポィントを示し、 VO(I 6)は、 ピクチャ B 5が VBVバッファから引き出されたときに VB Vバヅファ上にバッファリングされているピクチャ I 6のデータ量 を示し、 GB(I6)は、 ピクチャ I 6の発生ビッ ト量を示し、 VD(I 6)は、 ピクチャ I 6の vbv— delayの値を示し、 VO(B7)は、 ピクチャ I 6が V B Vバッファから引き出されたときに V B Vバッファ上に バヅファリングされているピクチャ B 7のデータ量を示し、 GB(B 11)は、 ピクチャ B 1 1の発生ビッ ト量を示し、 VD(I12)は、 ピク チヤ I 12の vbv_delayの値を示し、 VO(I12)は、 ピクチャ B 1 1 が V B Vバッファから引き出されたときに V B Vバッファ上にバヅ ファリングされているピクチャ I 12のデータ量を示している。 ま た、 図 2 1 Bにおいて、 GB(I6' )は、 ビクチャ I 6, の発生ビヅ ト 量を示し、 VD(I6')は、 ピクチャ 1 6, の vbv_delayの値を示し、 VO(I6' )は、 VBVにおける第 1のスプライシングポイント S Ρ 1 vbvにおけるピクチャ I 6 ' の V B Vバッファにバッファリングされ ているデ一夕量を示し、 GB(Bll')は、 ピクチャ B 1 1, の発生ビ ッ ト量を示し、 V〇(I12')は、 VBVにおける第 2のスプライシン グポイン ト S Ρ 2 vbvにおけるピクチャ B 12 ' の V B Vバッファに バッファリングされているデ一夕量を示している。 また、 図 2 1 C において、 GB(I6")は、 スプライス ドス ト リーム S TSPLがシーム レスなス ト リームとなるようにス トリーム処理されたピクチャ I 6 "の発生ビヅ ト量を示し、 VD(I6" )は、 ピクチャ I 6 " の vbv_del ayの値を示し、 GB(B11")は、 スプライス ドス トリーム S T SPLがシ —ムレスなス ト リームとなるようにス ト リーム処理されたピクチャ B 1 1 " の発生ビッ ト量を示している。
ォリジナルス ト リーム S TOLDは本局 30において符号化されたス トリ一ムであって、 差し替えス ト リ一ム S TNEWは地方局 40におい て符号化されたス ト リームであるので、 ス ト リーム S TOLDとス ト リ —ム S T NEWとは、 それぞれのビデオエンコーダで全く関係無く符号 化されたス ト リームである。 つまり、 ス ト リーム S TOLDにおける最 初のピクチャ I 6の vbv_delayの値 VD (16)と、 ス トリーム S TNEW における最初のピクチャ I 6, の vbv一 delayの値 VD (16,)とは同じ 値ではない。 つまり、 このような場合には、 VBVバッファにおけ るス ト リームスプライスボイン ト S P lvbvのタイ ミングにおいて、 オリジナルス ト リーム S TOLDの VBVハツファのデータ占有量 VO (16)と、 差し替えス ト リーム S TNEWの VB Vバッファのデータ占有 量 VO(I6,)とは異なってしまう。
つまり、 本発明の背景技術において説明したように、 スプライス ポイント S P 1において、 ス 卜 リーム S T OLDとス トリ一ム S T NEW とを単純にスプライスしてしまうと、 単純にスプライスされたス ト リームの VB Vバッファのデータ占有量が不連続になるか又はォー バ一フロー/アンダーフローしてしまう。
そこで、 ス ト リ一ムスプライサ 50では、 ス トリーム解析回路 5 02においてス ト リーム S TOLD及びス トリ一ム S TNEWから抽出さ れたデ一夕エレメン トに基いて、 スプライス ドス ト リーム S TSPLが スプライスポイン トにおいてシームレスなス トリームとなるように、 スト リームプロセッサ 503において、 供給されたス ト リーム S T OLD及びス ト リ一ム S TNEWのス トリーム構造に関してス トリーム処 理を行なっている。 その処理を以下に説明する。
スプライスコン トローラ 500は、 ス ト リーム S TOLDに関するデ —夕エレメン トとして、 各ピクチャ毎に、 picture— coding_type、 v bv_delay, top_f ield_f irst及び repeat_f irst— f ield等の情報、 各ピ クチャにおける発生ビヅ ト量、 各ビクチャにおける VBVバッファ のデータ占有量をス トリーム解析回路 502から受け取る。 図 2 1 においては、 例えば、 ピクチャ I 6における vbv_delayの値を VD (16)と表わし、 ピクチャ I 6における発生ビッ ト量を GB (16)と表 わし、 ピクチャ I 6における VB Vバッファのデ一夕占有量を VO (16)というように表わしている。 次に、 スプライスポイン ト S P 1におけるスプライスコン トロー ラ 500とス ト リームプロセッサ 503の VBVバッファに関する 処理について説明する。
まず、 スプライスコン トローラ 500は、 スプライシングポイン ト S P 1における、 ォリジナルス ト リーム S TOLDのピクチャ I 6の vbv_delayの値 VD (16)と、 差し替えス トリ一ム S TNEWのピクチャ I 6, の vbv— delayの値 VDU6' )とが異なると判断した場合には、 差し替えス ト リ一ム S TNEW中に記述されたピクチャ I 6 ' の vbv_d elayの値を VD(I6,)から V D ( 16)に書き換えるようにス 卜 リームプ 口セッサ 503に指示を与える。
ス トリ一ムプロセヅサ 503は、 スプライスコン トローラ 500 からの指示に従って、 差し替えス ト リーム S TNEWのピクチャへヅダ 中に記述された 16ビッ 卜の vbv_delayの値を VD(I6' )から VD(I 6)に書き換える。
ここで、 単に、 差し替えス ト リーム S TNEWにおける vbv— delayの 値を VD(I6,)から VD(I6)に書き換え、 この書き換えた vbv— delay に従って VBVバッファからビッ トス ト リームを引き出そうとする と、 ピクチャ 16' の発生ビッ ト量が足りないので、 VBVバッフ ァがアンダーフローしてしまう。 そこで、 スプライスコントローラ 500は、 差し替えス ト リ一ム S TNEWのピクチャ I 6, の発生ビッ ト量 GB(I6')が、 シームレスなスプライス ドス 卜 リーム ST SPLの ピクチャ I 6" の発生ビッ ト量 GB(I6")になるように、 差し替えス トリ一ム S TNEWのピクチャ I 65 のに対してス夕ッフィ ングバイ ト を挿入する処理を行なう。 このスタッフイングバイ トとは、 「0」 のダミービッ 卜から構成されるデータである。 スタッフィ ングバイ トを挿入する処理を行うために、 スプライス コン トローラ 50 0は、 ス ト リーム S TOLDにおけるピクチャ I 6及 びピクチャ B 7に関する情報として受け取った発生ビッ ト量 GB(I 6)、 VB Vバッファのデータ占有量 V 0 (16)、 及びス ト リーム S T NEWにおけるピクチャ I 6 ' に関する情報として受け取った発生ビヅ ト量 GB (16' )、 VB Vバヅファのデ一夕占有量 V 0(16,)を使用し て、 挿入すべきス夕ヅフ ィングバイ トのデ一夕量を演算する。 具体 的には、 下記の式 ( 2 ) に基いてス夕ヅ フィ ングバイ ト S B 1 [by te] が演算される。
S B 1 [byte]= { G B ( 16" )— G B ( 16,) } / 8
= { GB(I6)- GB(I6' ) + V 0 (B7) - V 0 (Β7' ) } / 8
… ( 2) スプライスコン トロ一ラ 500は、 上式 ( 2 ) に従って演算した ス夕フィ ングバイ ト S Β 1を、 ス トリーム S TNEWの中に挿入するよ うにス ト リームプロセッサ 503を制御する.
ス ト リームプロセッサ 503は、 スプライスコントローラ 500 からの指令に従って、 ス夕フィ ングバイ ト S Β 1を、 ス ト リーム S TNEWの中に記述する。 スタッフィングバイ トをス ト リ一ム中に記述 する位置としては、 符号化ス ト リーム S TNEWのピクチャ I 6のピク チヤヘッダのスタートコ一ドの前が最も望ましいが、 他のス夕一ト コ一ドの前であっても問題はない。
以上が、 スプライスポイン ト S P 1におけるスプライスコント口 —ラ 500とス ト リームプロセッサ 5 03の VB Vバヅファに関す る制御である。 次に、 スプライスポイン ト S P 2におけるスプライスコン ト口一 ラ 5 00とス ト リームプロセッサ 503の VBVバッファに関する 制御について説明する。
単に、 スプライスポイン ト S P 2において、 ス ト リーム S TNEWと ス ト リーム S TOLDとをスプライシングしたとすると、 ス ト リーム S TNEWの最後のピクチャ B 1 1, の発生ビッ ト量 GB(B11,)が足りな いので、 ス トリーム S TNEWの最初のピクチャ I 1 2の VB Vバッフ ァのデータ占有量の軌跡と連続にならない。 その結果、 VBVバッ ファがアンダーフロー又はオーバーフローしてしまう。
そこで、 スプライスコン トローラ 50 0は、 VBVバッファにお けるスプライスポイン ト S P 2vbvにおいて、 VB Vバヅファの軌跡 が連続になるように、 ス トリーム S TNEWの最後のピクチャ B 1 1 ' の発生符号量 GB(B1 )が、 図 2 1 Cのピクチャ B 1 1 " の発生符 号量 GB(11")となるように、 ス ト リーム S TNEW中にスタッフィン グバイ トを挿入する処理を行なう。
スタッフィ ングバイ トを挿入する処理を行うために、 スプライス コントローラ 500は、 ス ト リーム S T OLDにおけるピクチャ I 1 2 に関する情報として受け取った VO(I12)、 ス ト リーム S TNEWの最 後のピクチャ 1 1, の発生ビッ ト量 GB(B11,)、 及びス ト リ一ム S TNEWのピクチャ 1 2, の VB Vバッファのデ一夕占有量 VO(I12 ' )を使用して、 挿入すべきスタッフィ ングバイ トのデ一夕量を演算 する。 尚、 具体的には、 下記の式 ( 2 ) に基いてスタッフイ ングバ イ ト S B 2 [byte] が演算される。
SB 2 [byte] = { GB(B11")_ GB(B11, ) } / 8
= { V〇(I12, ) 一 VO(I12) } / 8 … ( 3) 尚、 デ一夕占有量 V〇(I12' )とは、 最後のピクチャ Β 1 1, を V Β Vバヅファから引き出した後のス ト リーム S T NEWに関する V B V バッファのデ一夕占有量であると言い換えることができ、 ス ト リ一 ム S TNEWのビヅ 卜数をカウン 卜することによって VBVの軌跡を把 握しているス ト リーム解析回路 502によって、 容易にこのデ一夕 占有量 V 0(112' )検出することができる。
このスプライスコントローラ 500は、 上式 ( 3 ) に従って演算 したス夕フィ ングバイ ト S B 2を、 ス ト リーム S TNEW中に挿入する ようにス ト リームプロセッサ 503を制御する.
ス ト リームプロセッサ 503は、 スプライスコントローラ 500 からの指令に従って、 ス夕フィ ングバイ 卜 S B 2を、 ス トリーム S TNEWのピクチャ B 1 1, に関する情報として記述する。 スタッフィ ングバイ トをス ト リ一ム中に記述する位置としては、 符号化ス ト リ —ム S T NEWのピクチャ B 1 1 ' のピクチャヘッダのス夕一トコ一ド の前が最も望ましい。
以上が、 スプライスポイント S P 2におけるスプライスコント口 —ラ 500とス ト リームプロセッサ 5 0 3の VBVバッファに関す る制御である。
図 22を参照して、 スプライスボイント S P 1におけるスプライ スコントローラ 5 0 0とス トリームプロセッサ 503の top— field_ first及び repeat_first_field等のフラグに関する第 1の処理例を説 明する。
図 22 Aは、 本局 30において制作されたプログラム 1とコマ一 シャル CM 1とプログラム 2から構成されるテレビ番組 PGOLDのフ レーム構造と、 そのテレビ番組 P GOLDを符号化したときの符号化ス トリ一ム S TOLDを示している図である。 図 22 Bは、 地方局 40に おいて制作された差し替えコマーシャル CM 1 ' のフレーム構造と、 その差し替えコマーシャル CM 1 ' をを符号化したときの符号化ス ト リーム S TNEWを示している図である。 図 22 Cは、 オリジナルス トリーム S TOLDと差し替えス ト リ一ム S TNEWとをスプライシング したときに生成されるスプライス ドス ト リーム S TSPLと、 そのスプ ライス ドス ト リーム S TSPLをデコ一ドしたときのフレーム構造を示 している図である。
スプライスコン ト ローラ 500は、 ス ト リーム解析回路 502か ら供給されたス ト リーム S TOLDにおけるコマーシャル CM 1の各ビ クチャの top— field_firstと、 差し替えス 卜 リーム S TNEWにおける コマーシャル CM 1 ' の top_field_firstとを比較する。 もし、 ス ト リ一ム S TOLDにおける top_field_firstと、 差し替えス トリーム S TNEWにおける top一 field— firstとが一致するのであれば、 フィ一ル ド構造が同じであるので、 top_field— first及び repeat— first_fiel d等のフラグに関する処理は必要ない。 しかし、 図 22に示すように、 ォリジナルコマーシャル CM 1の topjield— firstが 「0」 であって、 差し替えコマーシャル CM 1, の top— field_firstが 「 1」 である場 合には、 図 6において説明したようなフィ一ルドの不連続及び重複 という問題が発生する。
そこで、 本発明のス ト リームスプライサ 50は、 スプライシング 処理によってフィールドが欠けたり重複したりするような MP E G ス ト リーム違反のス トリームが生成されないように、 スプライシン グポイン 卜付近のピクチャの top field first及び repeat first_fi eldを書き換えるようにしている。
図 22に示された例においては、 スプライスコントローラ 500 は、 トップフィールド T 4とボトムフィールド B 4とからフレーム が構成されるピクチャ P 3の repeat— first— fieldを 0から 1に書き 換えるようにス ト リームプロセッサ 5 0 3を制御する。 さらに、 ス プライスコントローラ 500は、 スプライスポイント S P 2におい てシームレスなス ト リームとなるように、 トップフィールド t 1 0 とボトムフィールド b 1 1からフレームが構成されるピクチャ P 9 , の repeat— first_fieldを 0から 1に書き換えるようにス ト リーム プロセッサ 5 03を制御する。 また、 スプライスコントローラ 50 0は、 ピクチャ P 9, の repeat— first— fieldを書き換えたことによ つて、 コマーシャル CM 1, がオリジナルコマーシャル CM 1に対 して 1フレーム時間だけシフ トしたので、 プログラム 2において最 初にディスプレイに表示されるピクチャ B 1 3を、 ストリーム S T OLD中から削除するようにス ト リームプロセッサ 5 03を制御する。 ス 卜リームプロセッサ 503は、 スプライスコントローラ 50 0 の指示に基いて、 ォリジナルス トリ一ム S TOLDにおいてピクチャ P 3に関する picture— coding— extensionのス夕一卜コードを探し、 そ の中の repeat— first_fieldの値を 0から 1に書き換える。 よって、 このように repeat— first— fieldの値が書き換えられたピクチャ P 3 をデコードすると、 リピートフィールド B 4, が生成されるので、 スプライスボイント S P 1においてフィ一ルドが連続することにな る。 同様に、 ス ト リームプロセッサ 5 0 3は、 差し替えス ト リ一ム S TNEWにおいてピクチャ P 9 ' に関する picture— coding_extensio nのス夕一トコ一ドを探し、 その中の repeat first fieldの値を 0か ら 1に書き換える。 このように repeat— first— fieldの値が書き換え られたピクチャ P 9 ' をデコードすると、 リピートフィールド t l 0, が生成されるので、 スプライスポイン ト S P 2においてフィー ルドが連続することになる。 また、 ス ト リームプロセッサ 503、 ォリジナルス ト リ一ム S TOLDにおいてピクチャ B 1 3に関するデー 夕エレメントが記述された部分を、 ス ト リーム S TOLD中から削除又 はヌルデータに置き換える。
図 2 3は、 図 22において説明した top— field_first及び repeat— first_field等のフラグに関する処理の他の処理例を表わしたもので ある。 図 23を参照して、 スプライスポイント S P 1及び S P 2に おけるスプライスコン トロ一ラ 50 0とス ト リームプロセッサ 50 3の top— fieldjirst及び repeat_first— field等のフラグに関する第 2の処理例を説明する。
図 23に示された処理例においては、 スプライスコン トローラ 5 00は、 スプライスポイン ト S P 1におけるプログラム 1とコマ一 シャル C M 1 ' とのつなぎめにおけるフィールドが連続するように、 トップフィール F t 5とボトムフィ一ルド b 6とから構成されるピ クチャ B 7, の top_field_firstを 1から 0に書き換えると共に、 ピ クチャ B 7 ' の repeat_first_fieldを 0から 1に書き換えるように ス ト リームプロセッサ 50 3を制御する。 さらに、 スプライスコン トロ一ラ 500は、 スプライスポイント S P 2においてコマーシャ ル CM 1 ' とプログラム 2のつなぎめにおけるフィールドが連続す るように、 トップフィールド T 1 1とボトムフィールド B 1 1から 構成されるピクチャ B 1 3の top_field_firstを 1から 0に書き換え るようにス トリームプロセッサ 503を制御する。 さらに、 スプラ イスコントローラ 5 00は、 トップフィールド T 1 2とボトムフィ ールド B 1 2から構成されるピクチャ B 1 4の top_field— firstを 1 から 0に書き換えると共に、 repeat_first_fieldを 1から 0に書き 換えるようにス ト リームプロセッサ 5 0 3を制御する。
ス ト リ一ムプロセヅサ 5 0 3は、 スプライスコン トローラ 500 の制御に従って、 差し替えス 卜リーム S TNEWにおいてピクチャ B 7 , に関する picture_coding— extensionのス夕一トコ一ドを探し、 そ のス ト リーム中の top—field— firstを 1から 0に書き換えると共に、 repeat_first_fieldを 0から 1に書き換える。 よって、 このように top— field_first及び repeat_first_fieldの値が書き換えられたピク チヤ B 7 ' をデコードすると、 ボトムフィールド b 6の表示時間が 1フレーム分だけシフ トし、 かつ、 リピートフィールド b 6, が生 成されるので、 スプライスポイント S P 1においてフィールドが連 続することになる。 同様に、 ス ト リームプロセッサ 50 3は、 オリ ジナルス ト リーム S TOLDにおいてピクチャ B 1 3に関する picture —coding— extensionのス夕一トコードを探し、 その中の top— field— f irstを 1から 0に書き換える。 さらに、 ス ト リームプロセッサ 50 3は、 ォリジナルス トリ一ム S T0LDにおいてピクチャ B 1 4に関す る top— field_firstを 1から 0に書き換えると共に、 repeat_f irst— fieldを 1から 0に書き換える。 よって、 このように top— field_fir st及び repeat— first_fieldの値が書き換えられたピクチャ B 1 3及 び B 1 4をデコードすると、 ボトムフィールド B 1 1及び B 1 2の 表示時間が 1フレーム分だけシフ 卜するので、 スプライスポイント S P 2においてフィールドが連続することになる。
ここで、 図 22に示された第 1の処理例と、 図 23に示された第 2の処理例とを比較すると、 図 2 2 Cから理解できるように、 差し 替えられたコマーシャル C M 1, の最初に表示されるピクチャ B 7 , が、 オリジナルコマーシャル C M 1の最初に表示されるピクチャ B 7よりも、 1フィールドだけずれているので、 差し替えられたコ マーシャル C M 1 ' の表示タイ ミングが 1フィールドだけ遅れてし まう。 表示が 1フィールド遅れた程度では、 人間の目にはほとんど その遅れは分からない。 しかしながら、 放送局ではクライアンド会 社からのコマーシャルを放映することによって収入を得ているので、 プログラム 1等の本編を放映することよりもコマーシャルを遅れな く正確に放映することが要求される場合がある。 このような正確な 表示時間が要求される場合には、 図 2 3に示された第 2の処理例が 有効である。 図 2 3に示された第 2の処理例のように、 ビクチャ B 7, の topjield— f irst及び repeat_f irst— fieldの値を書き換えるこ とによって、 差し替えられたコマーシャル C M 1, の最初のピクチ ャ B 7, を、 オリジナルコマーシャル C M 1の最初に表示されるピ クチャに対して遅れ無く正確に表示することができる。
つまり、 ス 卜 リームプロセッサ 5 0 3から出力されたス ト リーム S T NEWの V B Vバヅファのデ一夕占有量の軌跡は、 ス ト リーム S T 0 )の V B Vバッファのデ一夕占有量の軌跡と整合性が取れており、 且つ、 フィールドパターン/フレームパターンに関する整合性が取 れている。 よって、 スプライスコン トローラ 5 0 0からの制御信号 に基いてスプライシング回路 5 0 4のスィヅチング動作を制御する ことによって、 スプライスポイン ト S P 1で、 ス トリーム S T OLDの 後にス ト リーム S T NEWを接続し、 スプライスポイント S P 2で、 ス トリーム S T NEWの後にス ト リ一ム S T OLDを接続することによって 生成されたス ト リームであって、 そのスプライスポイン ト S P 1及 び S P 2において、 V B Vバッファのデ一夕占有量の軌跡が連続し ており、 且つフィ一ルドパターン/フレームパターンが連続になつ ているスプライス ドス ト リーム S T SPLが生成される。
次に、 第 2のスプライシング処理に関する実施例について説明す る。 第 2のスプライシング処理に関する実施例は、 伝送プログラム の符号化ス ト リーム S T OLDが本局 3 0から伝送されてきたときに、 新しく挿入されるコマーシャル C M, を符号化して符号化ス ト リー ム S T NEWを生成する場合に行われるスプラィシング処理に関する実 施例である。 つまり、 本局 3 0から伝送されてきた伝送プログラム の符号化ス ト リーム S T OLDを解析し、 その解析結果に基いて、 新し く挿入されるコマーシャル C M 1 ' を符号化するという方法である。 まず、 本局 3 0から伝送されてきた符号化ス ト リーム S T 0LDは、 ス ト リーム変換回路 4 4において トランスポートス トリームの形式 からエレメンタリース ト リームの形式に変換される。 エレメンタリ
—ス ト リームの形式に変換された符号化ス ト リ一ム S T OLDは、 ス 卜 リームスプライサ 5 0のス ト リーム解析回路 5 0 2に供給される。 ス ト リームスブラィサ 5 0のス ト リーム解析回路 5 0 2は、 符号 化ス ト リ一ム S T OLDのス ト リームシン夕ックスを解析するための回 路である。 この第 2のスプライシング処理に関する実施例において は、 このス トリーム解析回路 5 0 2は、 符号化ストリーム S T OLDの シン夕ックスの解析のみを行い、 差し替えス トリ一ム S T NEWのシン 夕ックスの解析は行なわない。
具体的には、 まず、 ス ト リーム解析回路 5 0 2は、 図 1 0及び図 1 5に開示された符号化ス ト リームのシン夕ックスから理解できる ように、 ォリジナルス トリ一ム S T OLD中に記述された 3 2ビッ トの picture_start_codeを探すことによって、 ス ト リーム中においてピ クチャヘッダに関する情報が記述された場所を把握する。 次に、 ス トリーム解析回路 5 0 2は、 picture— start_codeの 1 1 ビッ ト後か ら始まる 3 ビヅ 卜の picture_coding— typeを見つけることによって、 ピクチャタイプを把握すると共に、 この 3ビッ トの picture— coding —typeの次に記述された 1 6ビッ 卜の vbv— delayから、 符号化ピクチ ャの vbv— delayを把握することができる。
さらに、 ス ト リーム解析回路 5 0 2は、 図 1 0及び図 1 5に開示 された符号化ス ト リームのシンタックスから理解できるように、 符 号化ス ト リーム S T OLD中に記述された 3 2ビッ トの extension_sta rt— codeを探すことによって、 ス ト リーム中においてピクチャコ一デ ィングエクステンションに関する情報が記述された場所を把握する。 次に、 ス ト リーム解析回路 5 0 2は、 picture— start— codeの 2 5ビ ヅ ト後から記述された 1 ビッ トの top— f ield—firstと、 その top_f ie ld_f irstの 6ビッ ト後から記述された repeat— f irst— f ieldとを探す ことによって、 符号化ピクチャのフ レーム構造を把握することがで きる。
ス トリーム解析回路 5 0 2は、 オリジナルス ト リーム S T OLD中か ら各ピクチャ毎に抽出された、 picture— coding— type vbv— delay top_f ield— f irst及び repeat— f irst— f ield等のデータエレメントを、 スプライスコントロ一ラ 5 0 0を介して、 放送システムコン トロ一 ラ 4 1に供給する。 尚、 ォリジナルス ト リ一ム S T OLDの全ピクチャ のデ一夕エレメン トを送る必要は無く、 伝送プログラムにおけるコ マーシャル C M 1に対応するピクチャの picture coding type, vbv — delay、 top— field_first及び repeat— first— field等のデータエレメ ン 卜のみであっても良い。
次に、 放送システムコン トローラ 4 1は、 伝送プログラムのコマ 一シャル CMの部分に差し替えられるコマーシャル CM 1 ' のビデ ォデ一夕を再生するように CMサーバ 4 7を制御する。 さらに、 放 送システムコン トローラ 4 1は、 オリジナルス ト リーム S TOLDから 抽出された picture— coding— type、 vbv— delay、 top— f ield_f irst及び repeat— first— fieldを、 エンコーダブロック 48のエンコーダコン トロ一ラ 48 0に供給する。
エンコーダコン トロ一ラ 480は、 放送システムコン トローラ 4 1から供給された picture— coding_type、 vbv— delay、 top— field— fi rst及び repeat— first_fieldを使用して、 差し替えコマーシャル CM 1, のベースバン ドビデオデータをェンコ一ドするようにェンコ一 ダ 48 1を制御する。 すなわち、 オリジナルコマーシャル CM 1の 符号化ス トリーム S TOLDの picture— coding_type、 vbv— delayヽ top _field— first及び repeat— first_fieldと、 差し替えコマーシャル C M l, を符号化したス トリーム S TNEWの picture— coding_type、 v bv_delay、 top_f ield— f irst及び repeat_f irst_f ieldとが全く同じに なるように、 差し替えコマーシャル CM 1, を符号化する。 その結 果、 オリジナルコマーシャル CM 1の符号化ス 卜 リーム S TOLDの p icture_coding— type、 vbv一 delay、 top— field— first及び repeat— fir stjieldと、 全く同じ picture— coding_type、 vbv— delay、 top— fie Id— first及び repeat_first— fieldを有した符号化したス トリーム S TNEWが生成される。
スプライスコン トローラ 5 0 1は、 スイ ッチ回路 50 1の入力端 子を 「b」 に切換え、 エンコーダ 4 8 1から出力されたエレメン夕 リース トリ一ム S TNEWをス ト リーム解析回路 5 0 2に供給する。 こ の第 2のスプライシング処理に関する実施例においては、 このス ト リーム解析回路 5 0 2は、 符号化ス ト リ一ム S TOLDのシン夕ックス の解析のみを行い、 差し替えス ト リーム S TNEWのシンタツクスの解 析は行なわないので、 ス ト リーム S TNEWは、 ス ト リーム解析回路 5 0 2において解析処理されずにそのまま出力される。
ス ト リームプロセッサ 5 0 3は、 この第 2のスプライシング処理 に関する実施例では、 ス ト リーム解析回路 5 0 2から出力されたス ト リ一ム S TOLD及びス ト リ一ム S TNEWにおけるデ一夕エレメント を変更するようなス トリーム処理は必要ないので、 ス ト リーム S T OLDとス トリーム S TNEWとのフレーム同期を合わせる同期合わせ処 理 (フレームシンクロナイゼ一シヨン) のみを行なう。 具体的には、 このス トリームプロセッサ 5 0 3は、 数フレーム分の F I F Oバヅ ファを有しており、 差し替えス トリーム S TNEWがエンコーダ 4 8 1 から出力されるまで、 この F I F Oバッファにス ト リ一ム S TOLDを ノ ソファリングしておくことによって、 ス ト リーム S T OLDとス ト リ —ム S TNEWのフレーム同期を合わせることができる。 フレーム同期 合わせ処理されたス トリーム S TOLDとストリーム S TNEWは、 スプ ライシング回路 5 0 4に供給される。
スプライスコン トローラ 5 0 0は、 スプライシングポィン ト S P 1においてス ト リ一ム S TOLDの後にス トリーム S TNEWが接続され、 スプライシングポィント S P 2においてス ト リ一ム S TNEWの次にス トリーム S TOLDが接続されるように、 スプライシング回路 5 04の スイ ッチングを制御する。 その結果、 スプライシング回路 5 04か らは、 スプライス ドス ト リーム S TSPLが出力される。
単純にスプライシング回路 5 0 4において、 ス トリーム S TOLDと ス ト リーム S TNEWとをスィ ツチングしているだけであるが、 スプラ イス ドス 卜リーム S TSPLの VB Vバッファのデ一夕占有量の軌跡は 連続となっており、 且つ、 スプライスポイン トにおけるフレームパ 夕一ンも連続している。 なぜなら、 オリジナルス ト リーム S TOLDを ス ト リ一ムのシン夕ックスの解析結果を基に、 ス トリーム S TNEWを 符号化処理しているので、 ォリジナルス ト リ一ム S TOLDに対して整 合性の取れたス ト リーム S TNEWを生成しているので、 スプライス ド ス ト リーム S TSPLの VB Vバヅファの軌跡は、 ォリジナルス トリ一 ム S TOLDの VB Vバヅファの軌跡と全く同じであって、 生成された スプライス ドス トリーム S TSPLのフレーム構造は、 ォリジナルス ト リーム S TOLDのフレーム構造と全く同じであるからである。
従って、 この第 2の実施例によれば、 本局から伝送されてきたォ リジナル符号化ス 卜 リーム S TOLDのシン夕ックスを解析し、 その解 析結果に応じて、 符号化ス ト リーム S TOLDと同じス ト リーム構造及 び符号化パラメ一夕を有するように、 差し替えコマーシャル CM 1 ' を符号化しているので、 それぞれ別に生成された、 符号化スト リ —ム S TOLDと符号化ス ト リ一ム S TNEWをスプライシングする際に、 符号化ス ト リーム S TOLDと符号化ス ト リーム S TNEWとの整合性を 合わせることなる簡単にスプライシングを行なうことができ、 その 結果、 MP E G規格に準じた且つシームレスなスプライス ドストリ —ム S TSPLを生成することができる。
次に、 第 3のスプライシング処理に関する実施例について説明す る。 第 3のスプライシング処理に関する実施例は、 オリジナルコマ 一シャル CM 1の符号化ス ト リ一ム S TOLD及び、 差し替えられるコ マーシャル CM 1, の符号化ス ト リーム S TNEWを生成する前に、 予 め、 オリジナルコマーシャル CM 1の符号化ス トリーム S TOLDと差 し替えコマーシャル CM 1, の符号化ス ト リーム S T NEWを符号化す るためのの符号化パラメ一夕を決定しておき、 その決っている符号 化パラメ一夕に基いてオリジナルコマーシャル CM 1及び差し替え コマーシャル CM 1, を符号化するという処理である。 例えば、 こ の符号化パラメ一夕とは、 既に説明した、 picture— coding_type、 v bv— delay、 top— f ield— first及び repeat— first— fieldなどや発生ビッ ト量等によって示される情報である。
まず、 本局 3 0において、 オリジナルコマーシャル CM 1を符号 化するための符号化パラメ一夕として、 picture一 coding— type、 vbv — delay、 top— iield_f irst及び repeat一: f irst— f ieldを決定する。 本局 30の放送システムコントロ一ラ 3 1は、 その符号化パラメ一夕を、 MP E Gエンコーダブロック 3 5のエンコーダコン 卜ローラ 3 50 に供給すると共に、 通信回線を使用して各地方局 40の放送システ ムコン トローラ 4 1にも供給する。
エンコーダコン トローラ 3 5 0は、 放送システムコン トロ一ラ 3 1から供給された picture— coding— type、 vbv— delay、 top— field— fi rst及び repeat— first_fieldなどの符号化パラメ一夕を使用してオリ ジナルコマーシャル CM 1のビデオデ一夕を符号化するようにビデ ォエンコーダ 3 5 1— 1 Vを制御する。 すなわち、 ビデオェンコ一 ダ 3 5 1— 1 Vから出力された符号化ス ト リーム S TOLDは、 pictu re— coding— type、 vbv— delay、 top— field— first及び repeat— first— f ieldなどの符号化パラメ一夕に基いているス トリ一ムである。 ビデオエンコーダ 3 5 1— 1 Vから出力された符号化ス ト リーム S T OLDは、 マルチプレクサ 3 6及び変調回路 3 7を介して地方局 4 0に供給される。
一方、 地方局 4 0は、 本局 3 0の放送システムコン トローラ 3 1 から供給された picture— coding— type、 vbv— delay、 top— f ield— iirs t及び repeat_f irst_field等の符号化パラメ一夕を、 エンコーダプロ ック 4 8のエンコーダコン トロ一ラ 4 8 0に供給する。
エンコーダコントローラ 4 8 0は、 放送システムコン トローラ 4 1から供給された picture_coding— type、 vbv— delay、 top_f ield_f i rst及び repeat一 f irst— fieldを使用して、 差し替えコマーシャル C M 1, のベースバンドビデオデータをェンコ一ドするようにェンコ一 ダ 4 8 1を制御する。 すなわち、 ォリジナルコマーシャル C M 1の 符号化ス 卜 リーム S T OLDの picture— coding— type、 vbv— delay、 top —field— f irst及び repeat_f irst— fieldと、 全く同じ picture— codin g_typeN vbv_delay、 top_f ield— f irst及び repeat_f irst一 f ie ldを有 した符号化したス ト リ一ム S T NEWが生成される。
スプライスコントローラ 5 0 1は、 スィ ツチ回路 5 0 1の入力端 子を 「b」 に切換え、 エンコーダ 4 8 1から出力されたエレメン夕 リース ト リーム S T NEWをス ト リーム解析回路 5 0 2に供給する。 こ の第 3のスプライシング処理に関する実施例においては、 このス ト リーム解析回路 5 0 2は、 符号化ス ト リーム S T OLD及び符号化ス ト リーム S T NEWのシン夕ヅクスの解析は行なわない。
ス ト リームプロセッサ 5 0 3は、 この第 2のスプライシング処理 に関する実施例では、 ス ト リーム解析回路 5 0 2から出力されたス トリ一ム S T OLD及びストリーム S T NEWにおけるデ一夕エレメント を変更するようなス ト リーム処理は必要ないので、 ス ト リーム S T OLDとス ト リーム S T NEWとのフレーム同期を合わせる同期合わせ処 理 (フレームシンクロナイゼ一シヨン) のみを行なう。 具体的には、 このス ト リームプロセッサ 503は、 数フレーム分の F I F Oバッ ファを有しており、 差し替えス ト リーム S T NEWがエンコーダ 48 1 から出力されるまで、 この F I F Oバッファにス トリーム S T OLDを バッファリングしておくことによって、 ス ト リーム S TOLDとス ト リ —ム S T NEWのフレーム同期を合わせることができる。 フレーム同期 合わせ処理されたス ト リ一ム S TOLDとス ト リ一ム S TNEWは、 スプ ライシング回路 5 04に供給される。
スプライスコン トローラ 500は、 スプライシングポイン 卜 S P 1においてス ト リーム S TOLDの後にス ト リーム S T NEWが接続され、 スプライシングポィント S P 2においてス ト リーム S TNEWの次にス ト リーム S TOLDが接続されるように、 スブライシング回路 504の スイ ッチングを制御する。 その結果、 スプライシング回路 5 04か らは、 スプライス ドス ト リーム S TSPLが出力される。
単純にスプライシング回路 504において、 ス トリーム S TOLDと ス ト リーム S TNEWとをスィツチングしているだけであるが、 スプラ イス ドス トリーム S TSPLの VB Vバッファのデ一夕占有量の軌跡は 連続となっており、 且つ、 スプライスポイントにおけるフレームパ 夕一ンも連続している。 なぜなら、 予め本局 30の放送システムコ ントローラ 3 1において決定された、 picture— coding— type、 vbv_d elay、 top_field_first及び repeat— first— fieldなどの符号化パラメ 一夕を使用して、 オリジナルコマーシャル CM 1及び差し替えコマ —シャル CM 1 ' が符号化されているからである。 従って、 この第 3の実施例によれば、 本局及び地方局間において、 予め符号化パラメ一夕を決定しておき、 その決められた符号化パメ 夕一夕に基いて本局においてオリジナルコマーシャル CM 1を符号 化した符号化ス ト リーム S TOLDを生成し、 さらに、 その決められた 符号化パメ夕一夕に基いて本局において差し替えコマーシャル CM 15 を符号化した符号化ス トリーム S TNEWを生成するようにしてい るので、 それぞれ別に生成された、 符号化ス ト リーム S TOLDと符号 化ス トリ一ム S TNEWをスプライシングする際に、 符号化ス トリーム S TOLDと符号化ス ト リーム S T NEWとの整合性を合わせることなる 簡単にスプライシングを行なうことができ、 その結果、 MP E G規 格に準じた且つシームレスなスプライス ドス ト リーム S TSPLを生成 することができる。

Claims

請求の範囲
1 . 第 1の符号化ス ト リームと第 2の符号化ス ト リームとをスプ ライシングポィントにおいてスプライシングする符号化ス トリーム スプライシング装置において、
上記第 1の符号化ス 卜 リームのシン夕ヅクスを解析することによつ て、 上記第 1の符号化ス ト リームの符号化パラメ一夕を抽出するス トリーム解析手段と、
上記ス ト リーム解析手段によって得られた上記第 1の符号化ス トリ ームの符号化パラメ一夕に基いて、 上記スプライシングポィントに おいて上記第 1の符号化ス ト リームと上記第 2の符号化ス ト リーム とがシームレスに接続されるように、 上記第 2の符号化ス ト リーム の符号化パラメ一夕を変更し、 上記第 1の符号化ス ト リームと上記 符号化パラメ一夕が変更された第 2の符号化ス トリ一ムとをスプラ イシングするスプライシング手段と
を備えたことを特徴とする符号化ス ト リームスプライシング装置。
2 . 上記ス ト リーム解析手段によって抽出される符号化パラメ一 夕は、 V B Vバッファの初期状態を示すデータ vbv— delayであること を特徴とする請求の範囲第 1項記載の符号化ス ト リームスプライシ ング装置。
3 . 上記スプライシング手段は、 上記第 2の符号化ス ト リームに おけるスプライスポィント後の最初のピクチャの上記 vbv— delayの値 を、 上記第 1の符号化ス ト リ一ムにおけるスプライスポイント後の 最初のピクチャの vbv— delayの値に書き換えることを特徴とする請求 の範囲第 2項記載の符号化ス ト リ一ムスプライシング装置。
4 . 上記スプライシング手段は、 上記第 2の符号化ス ト リームに おけるスプライスボイン ト後の最初のピクチャの発生ビッ ト量が、 上記書き換えられた vbv_de layの値に対応するビッ ト量となるように、 上記第 2の符号化ス トリームにス夕ッフィングバイ トを挿入するこ とを特徴とする請求の範囲第 3項記載の符号化ス ト リームスプライ シング装置。
5 . 上記スプライシング手段は、 上記スタッフイングバイ トのデ 一夕量を、 上記第 1の符号化ス ト リ一ムにおけるスプライスポイン ト後の最初のピクチャの発生ビッ ト量、 及び上記第 2の符号化ス 卜 リームにおけるスプライスポィント後の最初のピクチャの発生ビッ ト量に基いて演算することを特徴とする請求の範囲第 4項記載の符 号化ス トリ一ムスプライシング装置。
6 . 上記スプライシング手段は、 上記スタツフィングバイ トのデ —夕量を、 上記第 1の符号化ス ト リームのスプライスポイン トにお ける V B Vバッファのデ一夕占有量と、 上記第 2の符号化ス トリー ムのスプライスポィントにおける V B Vバッファのデ一夕占有量と に基いて演算することを特徴とする請求の範囲第 5記載の符号化ス トリームスプライシング装置。
7 . 上記ス ト リーム解析手段によって抽出される符号化パラメ一 夕は、 復号時にリピートフィールドを生成するか否かを示すフラグ repeat_f irst_f ieldであることを特徴とする請求の範囲第 1項記載 の符号化ス ト リームスプライシング装置。
8 . 上記スプライシング手段は、 上記第 1の符号化ス トリームに おけるスプライスポイン ト前のピクチャのフレーム構造と、 上記第 2の符号化ス ト リームにおけるスプライスポイン ト後のピクチャの フレーム構造との整合性が取れるように、 上記第 1の符号化ス トリ ームにおけるスプライスポィント前のピクチャの repeat_f irst— f ie Idの値、 又は、 上記第 2の符号化ス ト リームにおけるスプライスポ ィン ト後のピクチャの repeat_f irst— f ie ldの値を変更することを特 徴とする請求の範囲第 7項記載の符号化ス ト リームスプライシング
9 . 上記ス トリーム解析手段によって抽出される符号化パラメ一 夕は、 最初のフィ一ルドがト ップフィール ドであるかボトムフィ一 ルドであるかを示すフラグ top_f ield—f irstであることを特徴とする 請求の範囲第 1項記載の符号化ス トリームスプライシング装置。
1 0 . 上記スプライシング手段は、 上記第 1の符号化ス トリーム におけるスプライスボイン ト前のピクチャのフレーム構造と、 上記 第 2の符号化ス ト リームにおけるスプライスボイント後のピクチャ のフレーム構造との整合性が取れるように、 上記第 1の符号化スト リームにおけるスプライスポイン ト前のピクチャの top_f ield—firs tの値、 又は、 上記第 2の符号化ス ト リームにおけるスプライスボイ ント後のピクチャの top_field_f irstの値を変更することを特徴とす る請求の範囲第 9項記載の符号化ス トリ一ムスプライシング装置。
1 1 . 第 1の符号化ス ト リ一ムと第 2の符号化ス トリームとをス プライシングポィン トにおいてスプライシングする符号化ス トリ一 ムスプライシング方法において、
上記第 1の符号化ス ト リ一ムのシン夕ックスを解析することによ つて、 上記第 1の符号化ス ト リームの符号化パラメ一夕を抽出する ス ト リーム解析ステップと、 上記ス ト リーム解析ステップによって得られた上記第 1の符号化ス ト リ一ムの符号化パラメ一夕に基いて、 上記スプライシングポィン 卜において上記第 1の符号化ス ト リームと上記第 2の符号化ス 卜 リ —ムとがシームレスに接続されるように、 上記第 2の符号化ス ト リ ームの符号化パラメ一夕を変更し、 上記第 1の符号化ス トリームと 上記符号化パラメ一夕が変更された第 2の符号化ス ト リームとをス プライシングするスプライシングステップと
を備えたことを特徴とする符号化ス ト リームスプライシング方法。
1 2 . 上記ス ト リーム解析ステツプによって抽出される符号化パ ラメ一夕は、 V B Vバヅファの初期状態を示すデータ vbv— delayであ ることを特徴とする請求の範囲第 1 1項記載の符号化ス 卜 リームス ブラィシング方法。
1 3 . 上記スプライシングステップは、 上記第 2の符号化ス ト リ —ムにおけるスプライスポイント後の最初のピクチャの vbv— delayの 値を、 上記第 1の符号化ス ト リームにおけるスプライスボイント後 の最初のピクチャの vbv— delayの値に書き換えることを特徴とする請 求の範囲第 1 2項記載の符号化ス トリームスプライシング方法。
1 4 . 上記スプライシングステップは、 上記第 2の符号化ス トリ ームにおけるスプライスポイント後の最初のピクチャの発生ビッ ト 量が、 上記書き換えられた vbv— delayの値に対応するビッ ト量となる ように、 上記第 2の符号化ス ト リームにスタッフィングバイ トを挿 入することを特徴とする請求の範囲第 1 3項記載の符号化ス トリー ムスプライシング方法。
1 5 . 上記スプライシングステツプは、 上記スタツフィングバイ トのデ一夕量を、 上記第 1の符号化ス ト リームにおけるスプライス ボイン ト後の最初のピクチャの発生ビッ ト量、 及び上記第 2の符号 化ス トリームにおけるスプライスボイン ト後の最初のピクチャの発 生ビッ ト量に基いて演算することを特徴とする請求の範囲第 1 4項 記載の符号化ス ト リ一ムスプライシング方法。
1 6 . 上記スブライシングステップは、 上記スタツフィ ングバイ トのデ一夕量を、 上記第 1の符号化ス ト リームのスプライスボイン トにおける V B Vバッファのデータ占有量と、 上記第 2の符号化ス トリ一ムのスプライスポイン トにおける V B Vバッファのデータ占 有量とに基いて演算することを特徴とする請求の範囲第 1 5項記載 の符号化ス ト リ一ムスプライシング方法。
1 7 . 上記ス 卜 リーム解析ステップによって抽出される符号化パ ラメ一夕は、 復号時にリピ一トフィールドを生成するか否かを示す フラグ repeat一 first_f ieldであることを特徴とする請求の範囲第 1 1項記載の符号化ス ト リームスプライシング方法。
1 8 . 上記スプライシングステップは、 上記第 1の符号化ス ト リ —ムにおけるスプライスポイン ト前のピクチャのフレーム構造と、 上記第 2の符号化ス トリームにおけるスプライスボイン ト後のピク チヤのフレーム構造との整合性が取れるように、 上記第 1の符号化 ス ト リームにおけるスプライスボイン ト前のピクチャの repeat_f ir st_f ieldの値、 又は、 上記第 2の符号化ス ト リームにおけるスプラ イスポイント後のピクチャの repeat_first_f ieldの値を変更するこ とを特徴とする請求の範囲第 1 7項記載の符号化ス トリ一ムスブラ ィシング方法。
1 9 . 上記ス トリーム解析ステップによって抽出される符号化パ ラメ一夕は、 最初のフィールドがトップフィ一ルドであるのかボト ムフィールドであるのかを示すフラグ topjieldjirstであることを 特徴とする請求の範囲第 1 1項記載の符号化ス ト リームスプライシ ング方法。
2 0 . 上記スプライシングステップは、 上記第 1の符号化ス ト リ —ムにおけるスプライスポイン ト前のビクチャのフレーム構造と、 上記第 2の符号化ス ト リームにおけるスプライスボイント後のピク チヤのフレーム構造との整合性が取れるように、 上記第 1の符号化 ス 卜 リームにおけるスプライスポイン ト前のピクチャの top— field— f irstの値、 又は、 上記第 2の符号化ス ト リームにおけるスプライス ボイン ト後のピクチャの top— f ield_f irstの値を変更することを特徴 とする請求の範囲第 1 9項記載の符号化ス トリームスプライシング 方 ί¾。
2 1 . 第 1の符号化ス ト リームと第 2の符号化ス ト リームとをス プライシングポイン トにおいてスプライシングすることによってス プライス ド符号化ス トリームを生成する符号化ス ト リーム生成装置 において、
上記第 1の符号化ス ト リームのシン夕ックスを解析することによ つて、 上記第 1の符号化ス ト リームの符号化パラメ一夕を抽出する ス ト リーム解析手段と、
上記ス ト リーム解析手段によって得られた上記第 1の符号化ス ト リームの符号化パラメ一夕に基いて、 上記スプライシングポィント において上記第 1の符号化ス ト リームと上記第 2の符号化ス トリー ムとがシームレスに接続されるように、 上記第 2の符号化ス トリー ムの符号化パラメ一夕を変更し、 上記第 1の符号化ス ト リームと上 記符号化パラメ一夕が変更された第 2の符号化ス ト リームとをスプ ライシングするスプライシング手段と
を備えたことを特徴とする符号化ス ト リーム生成装置。
2 2 . 第 1の符号化ス ト リームと第 2の符号化ス ト リ一ムとをス プライシングポィン トにおいてスプライシングすることによってス プライス ド符号化ス ト リームを生成する符号化ス トリーム生成方法 において、
上記第 1の符号化ス ト リームのシン夕ックスを解析することによ つて、 上記第 1の符号化ス トリームの符号化パラメ一夕を抽出する ス ト リーム解析ステップと、
上記ス ト リ一ム解析ステツプによって得られた上記第 1の符号化 スト リームの符号化パラメ一夕に基いて、 上記スプライシングポィ ン卜において上記第 1の符号化ス ト リームと上記第 2の符号化ス ト リームとがシームレスに接続されるように、 上記第 2の符号化ス ト リームの符号化パラメータを変更し、 上記第 1の符号化ス ト リーム と上記符号化パラメ一夕が変更された第 2の符号化ス トリームとを スプライシングするスプライシングステップと
を備えたことを特徴とする符号化ス ト リーム生成方法。
PCT/JP1998/004497 1997-10-03 1998-10-05 Encoded stream splicing device and method, and an encoded stream generating device and method WO1999018720A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE1998638869 DE69838869T2 (de) 1997-10-03 1998-10-05 Vorrichtung und Verfahren zum Spleißen von codierten Datenströmen sowie Vorrichtung und Verfahren zur Erzeugung von codierten Datenströmen
CA 2273940 CA2273940C (en) 1997-10-03 1998-10-05 Encoded stream splicing device and method, and an encoded stream generating device and method
EP98945621A EP0944249B1 (en) 1997-10-03 1998-10-05 Encoded stream splicing device and method, and an encoded stream generating device and method
KR1019997004866A KR100574186B1 (ko) 1997-10-03 1998-10-05 부호화 스트림 스플라이싱 장치 및 방법과 부호화 스트림 생성 장치 및 방법과 편집 장치 및 방법 및 편집 시스템
JP52148099A JP4296604B2 (ja) 1997-10-03 1998-10-05 符号化ストリームスプライシング装置及び方法、並びに符号化ストリーム生成装置及び方法
US09/323,771 US6529550B2 (en) 1997-10-03 1999-06-01 Coded stream splicing device and method, and coded stream generating device and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP9/271275 1997-10-03
JP27127597 1997-10-03

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US09/323,771 Continuation US6529550B2 (en) 1997-10-03 1999-06-01 Coded stream splicing device and method, and coded stream generating device and method

Publications (1)

Publication Number Publication Date
WO1999018720A1 true WO1999018720A1 (en) 1999-04-15

Family

ID=17497818

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1998/004497 WO1999018720A1 (en) 1997-10-03 1998-10-05 Encoded stream splicing device and method, and an encoded stream generating device and method

Country Status (8)

Country Link
US (1) US6529550B2 (ja)
EP (1) EP0944249B1 (ja)
JP (2) JP3709721B2 (ja)
KR (1) KR100574186B1 (ja)
CN (1) CN1148955C (ja)
CA (1) CA2273940C (ja)
DE (1) DE69838869T2 (ja)
WO (1) WO1999018720A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006080660A1 (en) * 2004-12-10 2006-08-03 Electronics And Telecommunications Research Institute Apparatus for splicing of terrestrial dmb signal

Families Citing this family (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9822087D0 (en) * 1998-10-09 1998-12-02 Snell & Wilcox Ltd Improvements in data compression
US7068724B1 (en) * 1999-10-20 2006-06-27 Prime Research Alliance E., Inc. Method and apparatus for inserting digital media advertisements into statistical multiplexed streams
ATE439741T1 (de) * 1999-10-20 2009-08-15 Samsung Electronics Co Ltd Verfahren und vorrichtung zum einfügen digitaler medienanzeigen in statistische gemultiplexte ströme
US7394850B1 (en) 1999-10-25 2008-07-01 Sedna Patent Services, Llc Method and apparatus for performing digital-to-digital video insertion
EP1224804A4 (en) * 1999-10-25 2005-11-16 Sedna Patent Services Llc METHOD AND DEVICE FOR DIGITAL / DIGITAL VIDEO INSERTION
US6771657B1 (en) * 1999-12-09 2004-08-03 General Instrument Corporation Non real-time delivery of MPEG-2 programs via an MPEG-2 transport stream
US6885680B1 (en) 2000-01-24 2005-04-26 Ati International Srl Method for synchronizing to a data stream
US6999424B1 (en) * 2000-01-24 2006-02-14 Ati Technologies, Inc. Method for displaying data
US6988238B1 (en) 2000-01-24 2006-01-17 Ati Technologies, Inc. Method and system for handling errors and a system for receiving packet stream data
US7870579B2 (en) 2000-04-07 2011-01-11 Visible Worl, Inc. Systems and methods for managing and distributing media content
US7861261B2 (en) * 2000-04-07 2010-12-28 Visible World, Inc. Systems and methods for managing and distributing media content
US7895620B2 (en) * 2000-04-07 2011-02-22 Visible World, Inc. Systems and methods for managing and distributing media content
US7900227B2 (en) * 2000-04-07 2011-03-01 Visible World, Inc. Systems and methods for managing and distributing media content
US7890971B2 (en) 2000-04-07 2011-02-15 Visible World, Inc. Systems and methods for managing and distributing media content
US7870578B2 (en) * 2000-04-07 2011-01-11 Visible World, Inc. Systems and methods for managing and distributing media content
US7904922B1 (en) 2000-04-07 2011-03-08 Visible World, Inc. Template creation and editing for a message campaign
WO2001082604A1 (en) * 2000-04-21 2001-11-01 Sony Corporation Information processing apparatus and method, program, and recorded medium
US7113546B1 (en) 2000-05-02 2006-09-26 Ati Technologies, Inc. System for handling compressed video data and method thereof
US7188354B2 (en) * 2000-07-25 2007-03-06 Leitch Incorporated Splicing compressed, local video segments into fixed time slots in a network feed
GB0120442D0 (en) * 2001-08-22 2001-10-17 Nds Ltd Non-standard coding systems
US7418007B1 (en) * 2000-09-20 2008-08-26 General Instrument Corporation Method and apparatus for determining a transmission bit rate in a statistical multiplexer
US7292782B2 (en) 2000-09-27 2007-11-06 Victor Company Of Japan, Limited MPEG picture data recording apparatus, MPEG picture data recording method, MPEG picture data recording medium, MPEG picture data generating apparatus, MPEG picture data reproducing apparatus, and MPEG picture data reproducing method
US7490344B2 (en) 2000-09-29 2009-02-10 Visible World, Inc. System and method for seamless switching
WO2002058384A1 (fr) * 2001-01-19 2002-07-25 Matsushita Electric Industrial Co., Ltd. Appareil et procede de reproduction
JP4457506B2 (ja) * 2001-02-27 2010-04-28 ソニー株式会社 パケット化装置およびパケット化方法
US7743402B2 (en) 2001-04-05 2010-06-22 Panasonic Corporation Data broadcast program transport stream (TS) transmission device, related method, computer program and storage medium, distribution device and distribution system
FI111590B (fi) * 2001-04-20 2003-08-15 Swelcom Oy Menetelmä ja laite datan lokalisointia varten
EP1380159A4 (en) * 2001-04-20 2008-01-09 France Telecom Res And Dev L L SYSTEMS TO ASSIGN THE STORED VIDEO IMAGES SELECTIVELY TO MARKERS, AND METHOD FOR OPERATING THEM
US20020191116A1 (en) * 2001-04-24 2002-12-19 Damien Kessler System and data format for providing seamless stream switching in a digital video recorder
US6807528B1 (en) * 2001-05-08 2004-10-19 Dolby Laboratories Licensing Corporation Adding data to a compressed data frame
US7068719B2 (en) * 2001-06-01 2006-06-27 General Instrument Corporation Splicing of digital video transport streams
JP4458714B2 (ja) 2001-06-20 2010-04-28 富士通マイクロエレクトロニクス株式会社 画像復号装置、画像復号方法、および、プログラム
GB0117926D0 (en) * 2001-07-23 2001-09-12 Nds Ltd Method for random access to encrypted content
US20060161947A1 (en) * 2001-09-05 2006-07-20 Indra Laksono Method and apparatus for customizing messaging within a cable system
US7646816B2 (en) 2001-09-19 2010-01-12 Microsoft Corporation Generalized reference decoder for image or video processing
FR2835141B1 (fr) * 2002-01-18 2004-02-20 Daniel Lecomte Dispositif pour securiser la transmission, l'enregistrement et la visualisation de programmes audiovisuels
US8903089B2 (en) 2002-01-18 2014-12-02 Nagra France Device for secure transmission recording and visualization of audiovisual programs
JP2003230092A (ja) * 2002-02-04 2003-08-15 Sony Corp 情報処理装置および方法、プログラム格納媒体、並びにプログラム
AU2003215292A1 (en) * 2002-02-15 2004-03-11 Visible World, Inc. System and method for seamless switching through buffering
KR100563684B1 (ko) * 2002-02-21 2006-03-28 엘지전자 주식회사 광디스크 장치에서의 재생리스트 관리방법
EP2403265A3 (en) * 2002-04-26 2012-02-01 Sony Corporation Encoding device and method, decoding device and method, editing device and method, recoding medium, and program
WO2003105484A1 (en) * 2002-06-11 2003-12-18 Telefonaktiebolaget L M Ericsson (Publ) Generation of mixed media streams
US7499469B2 (en) * 2003-01-13 2009-03-03 Broadcom Corporation Method and system for generating digital video broadcast (DVB) transport stream from direct satellite system (DSS) transport stream
WO2004071085A1 (ja) * 2003-02-04 2004-08-19 Matsushita Electric Industrial Co., Ltd. コード変換方法及びその装置
US20050013274A1 (en) * 2003-03-05 2005-01-20 Harri Pekonen System and method for data transmission and reception
US7747930B2 (en) * 2003-03-05 2010-06-29 Nokia Coprporation Method and system for forward error correction
CN1810042B (zh) * 2003-06-18 2010-08-18 汤姆森许可公司 用于处理数字媒体接收机中空分组的方法和装置
JP3823191B2 (ja) * 2003-07-31 2006-09-20 松下電器産業株式会社 データ出力制御装置
US7843489B2 (en) * 2003-08-12 2010-11-30 General Instrument Corporation Maintaining continuous film mode with bad edits
US7551555B2 (en) * 2003-08-13 2009-06-23 Nortel Networks Limited Method, system and program product for regulating data messaging by mobile stations in a wireless network
US7961786B2 (en) * 2003-09-07 2011-06-14 Microsoft Corporation Signaling field type information
US8345754B2 (en) * 2003-09-07 2013-01-01 Microsoft Corporation Signaling buffer fullness
US8107531B2 (en) * 2003-09-07 2012-01-31 Microsoft Corporation Signaling and repeat padding for skip frames
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US8582659B2 (en) * 2003-09-07 2013-11-12 Microsoft Corporation Determining a decoding time stamp from buffer fullness
US20050060420A1 (en) * 2003-09-11 2005-03-17 Kovacevic Branko D. System for decoding multimedia data and method thereof
JP4336957B2 (ja) * 2003-09-30 2009-09-30 日本電気株式会社 トランスポートストリームの暗号化装置及び編集装置並びにこれらの方法
US8170096B1 (en) 2003-11-18 2012-05-01 Visible World, Inc. System and method for optimized encoding and transmission of a plurality of substantially similar video fragments
US8160143B2 (en) * 2004-02-03 2012-04-17 Panasonic Corporation Decoding device, encoding device, interpolation frame creating system, integrated circuit device, decoding program, and encoding program
WO2005114997A1 (en) * 2004-05-18 2005-12-01 Koninklijke Philips Electronics N.V. Seamless adding of real-time information
JP4262139B2 (ja) * 2004-06-01 2009-05-13 キヤノン株式会社 信号処理装置
GB0413723D0 (en) * 2004-06-18 2004-07-21 Nds Ltd A method of dvr seamless splicing
EP1786212A4 (en) * 2004-08-25 2011-08-17 Sony Corp INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, RECORDING MEDIUM AND PROGRAM
EP1800492B1 (en) * 2004-10-07 2012-12-12 Panasonic Corporation Picture coding apparatus and picture decoding apparatus
US20060104356A1 (en) * 2004-11-15 2006-05-18 Microsoft Corporation Timing for decoder buffer examination
JP2006203682A (ja) * 2005-01-21 2006-08-03 Nec Corp 動画像圧縮符号化ビットストリームシンタックス変換装置及び動画像通信システム
JP4820812B2 (ja) * 2005-01-28 2011-11-24 パナソニック株式会社 再生装置、プログラム、再生方法
JP4678486B2 (ja) * 2005-03-11 2011-04-27 ソニー株式会社 多重化装置および多重化方法、プログラム、並びに記録媒体
US9236092B2 (en) 2005-03-24 2016-01-12 Broadcom Corporation System, method, and apparatus for embedding personal video recording functions at picture level
KR100657314B1 (ko) * 2005-05-04 2006-12-20 삼성전자주식회사 멀티미디어 스트리밍 송신 장치 및 방법
JP2006319638A (ja) * 2005-05-12 2006-11-24 Nippon Hoso Kyokai <Nhk> コンテンツ符号化装置及びコンテンツ符号化プログラム、並びに、コンテンツ編集装置及びコンテンツ編集プログラム
JP4981275B2 (ja) * 2005-08-02 2012-07-18 キヤノン株式会社 画像記録装置
JP4492484B2 (ja) * 2005-08-22 2010-06-30 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP2007110512A (ja) 2005-10-14 2007-04-26 Funai Electric Co Ltd デジタル放送受信装置及びデジタル放送受信方法
US7477692B2 (en) * 2005-12-16 2009-01-13 Tut Systems, Inc. Video encoding for seamless splicing between encoded video streams
US7826536B2 (en) * 2005-12-29 2010-11-02 Nokia Corporation Tune in time reduction
US8848053B2 (en) * 2006-03-28 2014-09-30 Objectvideo, Inc. Automatic extraction of secondary video streams
US20070250898A1 (en) * 2006-03-28 2007-10-25 Object Video, Inc. Automatic extraction of secondary video streams
JP5458321B2 (ja) * 2006-04-24 2014-04-02 ヴィジブル ワールド インコーポレイテッド マイクロトレンドを使用してメディアコンテンツを生成するシステム及び方法
EP2453656B1 (en) * 2006-06-02 2015-08-26 Panasonic Corporation Editing device
JP4229149B2 (ja) * 2006-07-13 2009-02-25 ソニー株式会社 ビデオ信号処理装置およびビデオ信号処理方法、ビデオ信号符号化装置およびビデオ信号符号化方法、並びにプログラム
JP2008066851A (ja) * 2006-09-05 2008-03-21 Sony Corp 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP4221676B2 (ja) * 2006-09-05 2009-02-12 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
TWI324020B (en) * 2006-10-05 2010-04-21 Ind Tech Res Inst Encoder and image encoding method
DE102007001379A1 (de) * 2007-01-09 2008-07-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Konzept zum Encodieren einer Mehrzahl von Informationssignalen für eine gemeinsame Übertragung in einem Zeitmultiplex
MX2009001858A (es) * 2007-02-19 2009-04-15 Toshiba Kk Dispositivo de multiplexion/separacion de datos.
US20080240227A1 (en) * 2007-03-30 2008-10-02 Wan Wade K Bitstream processing using marker codes with offset values
US9503777B2 (en) * 2007-06-05 2016-11-22 Broadcom Corporation Method and system for unified start code emulation prevention bits processing for AVS
JP5052220B2 (ja) * 2007-06-19 2012-10-17 パナソニック株式会社 動画像符号化装置
JP2009077105A (ja) * 2007-09-20 2009-04-09 Sony Corp 編集装置および編集方法、プログラム、並びに記録媒体
KR20090072510A (ko) * 2007-12-28 2009-07-02 삼성전자주식회사 디스플레이장치 및 그 제어방법
US20090238263A1 (en) * 2008-03-20 2009-09-24 Pawan Jaggi Flexible field based energy efficient multimedia processor architecture and method
US20090238479A1 (en) * 2008-03-20 2009-09-24 Pawan Jaggi Flexible frame based energy efficient multimedia processor architecture and method
JP5568465B2 (ja) * 2008-09-18 2014-08-06 パナソニック株式会社 画像復号装置、画像符号化装置、画像復号方法、画像符号化方法およびプログラム
US20100177161A1 (en) * 2009-01-15 2010-07-15 Dell Products L.P. Multiplexed stereoscopic video transmission
WO2010097946A1 (ja) * 2009-02-27 2010-09-02 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
KR20120062545A (ko) * 2010-12-06 2012-06-14 한국전자통신연구원 비디오 스트림의 패킷화 방법 및 장치
JP2012199897A (ja) * 2011-03-04 2012-10-18 Sony Corp 画像データ送信装置、画像データ送信方法、画像データ受信装置および画像データ受信方法
JP5341952B2 (ja) * 2011-05-30 2013-11-13 株式会社東芝 ビデオサーバ及びデータ収録再生方法
US9979959B2 (en) * 2012-04-20 2018-05-22 Qualcomm Incorporated Video coding with enhanced support for stream adaptation and splicing
JP6019824B2 (ja) * 2012-07-02 2016-11-02 富士通株式会社 動画像符号化装置及び動画像符号化方法ならびに動画像符号化用コンピュータプログラム
US9479776B2 (en) 2012-07-02 2016-10-25 Qualcomm Incorporated Signaling of long-term reference pictures for video coding
BR112014012158A2 (pt) * 2012-09-27 2017-05-30 Sony Corp aparelho e método de transmissão, receptor, e, método de recepção
CN104038759B (zh) * 2014-06-09 2017-11-17 华为技术有限公司 视频编码方法和解码方法和相关装置
JPWO2018142596A1 (ja) * 2017-02-03 2019-02-07 三菱電機株式会社 符号化装置、符号化方法および符号化プログラム
TWI782974B (zh) 2017-04-13 2022-11-11 美商松下電器(美國)知識產權公司 解碼裝置、解碼方法及非暫時性電腦可讀取媒體
KR102577599B1 (ko) 2017-04-13 2023-09-12 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 부호화 장치, 복호 장치, 부호화 방법 및 복호 방법
JP2019149759A (ja) * 2018-02-28 2019-09-05 シャープ株式会社 通信装置および通信方法
RU2706879C1 (ru) * 2019-01-21 2019-11-21 Акционерное общество "Воентелеком" Способ передачи данных по пакетным сетям связи с возможностью восстановления данных при их потере из-за наличия ошибок соединения в сетях связи

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0884333A (ja) * 1994-07-15 1996-03-26 Matsushita Electric Ind Co Ltd 符号化されたビデオ信号をスプライシングする方法
JPH08237612A (ja) * 1994-12-29 1996-09-13 Sony Corp 動画像処理方法
JPH09139912A (ja) * 1995-11-15 1997-05-27 Toshiba Corp 符号化データ編集装置とデータ復号装置
JPH09139677A (ja) * 1995-07-21 1997-05-27 Matsushita Electric Ind Co Ltd 符号化された信号をスプライシングする方法及び装置
JPH09168148A (ja) * 1995-09-20 1997-06-24 Sony Corp 動画像符号化方法及び装置、並びに記録媒体
JPH1093969A (ja) * 1996-09-18 1998-04-10 Toshiba Corp 動画像符号化装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MY113223A (en) * 1994-12-29 2001-12-31 Sony Corp Processing of redundant fields in a moving picture to achive synchronized system operation
US5734443A (en) * 1995-12-28 1998-03-31 Philips Electronics North America Corporation Method and device for performing source transitions in a video system which performs entropy encoding
US5917830A (en) * 1996-10-18 1999-06-29 General Instrument Corporation Splicing compressed packetized digital video streams
US6038000A (en) * 1997-05-28 2000-03-14 Sarnoff Corporation Information stream syntax for indicating the presence of a splice point
US6118491A (en) * 1997-02-20 2000-09-12 Lsi Logic Corporation System and method for enforcing interlaced field synchronization in the presence of broken alternation in an MPEG video datastream
US6067303A (en) * 1997-02-25 2000-05-23 International Business Machines Corporation Method and apparatus for detecting and controlling data stream splicing in ATM networks

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0884333A (ja) * 1994-07-15 1996-03-26 Matsushita Electric Ind Co Ltd 符号化されたビデオ信号をスプライシングする方法
JPH08237612A (ja) * 1994-12-29 1996-09-13 Sony Corp 動画像処理方法
JPH09139677A (ja) * 1995-07-21 1997-05-27 Matsushita Electric Ind Co Ltd 符号化された信号をスプライシングする方法及び装置
JPH09168148A (ja) * 1995-09-20 1997-06-24 Sony Corp 動画像符号化方法及び装置、並びに記録媒体
JPH09139912A (ja) * 1995-11-15 1997-05-27 Toshiba Corp 符号化データ編集装置とデータ復号装置
JPH1093969A (ja) * 1996-09-18 1998-04-10 Toshiba Corp 動画像符号化装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP0944249A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006080660A1 (en) * 2004-12-10 2006-08-03 Electronics And Telecommunications Research Institute Apparatus for splicing of terrestrial dmb signal
CN101116334B (zh) * 2004-12-10 2012-06-13 韩国电子通信研究院 用于接合地面数字多媒体广播信号的装置

Also Published As

Publication number Publication date
KR20000069258A (ko) 2000-11-25
EP0944249B1 (en) 2007-12-19
JPH11220655A (ja) 1999-08-10
EP0944249A1 (en) 1999-09-22
CN1244325A (zh) 2000-02-09
US20020080875A1 (en) 2002-06-27
CA2273940A1 (en) 1999-04-15
DE69838869T2 (de) 2008-12-04
CA2273940C (en) 2008-12-09
KR100574186B1 (ko) 2006-04-27
JP3709721B2 (ja) 2005-10-26
EP0944249A4 (en) 2004-10-20
DE69838869D1 (de) 2008-01-31
JP4296604B2 (ja) 2009-07-15
CN1148955C (zh) 2004-05-05
US6529550B2 (en) 2003-03-04

Similar Documents

Publication Publication Date Title
WO1999018720A1 (en) Encoded stream splicing device and method, and an encoded stream generating device and method
JP6559298B2 (ja) データ処理方法およびビデオ送信方法
Haskell et al. Digital video: an introduction to MPEG-2
AU723973B2 (en) Splicing compressed packetized digital video streams
US7068719B2 (en) Splicing of digital video transport streams
KR100793458B1 (ko) 대화식 비디오 프로그램 기억장치
KR20040000512A (ko) 제1 그룹 신호들로부터 제2 그룹 신호들로의 스위칭을위한 시스템
WO1998043423A1 (fr) Procede et dispositif generant un flux d&#39;acheminement et dispositif de transmission de programme
GB2525590A (en) Digital media splicing system and method
CN1781295A (zh) 节目的冗余传输
JP3804099B2 (ja) 映像素材供給装置及び方法、映像素材挿入装置及び方法
JP3617177B2 (ja) 映像素材供給装置及び方法
US10757473B2 (en) Digital media splicing system and method
US9219930B1 (en) Method and system for timing media stream modifications
JPH11177921A (ja) ディジタルデータ編集方法、ディジタルデータ編集装置
Stephansen Backhaul of Live Television Using JPEG2000 in MXF over RTP

Legal Events

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

Ref document number: 98801913.2

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): CA CN JP KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 1998945621

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 09323771

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2273940

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 1019997004866

Country of ref document: KR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1998945621

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1019997004866

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 1019997004866

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 1998945621

Country of ref document: EP