Recording apparatus and method, and reproducing apparatus and method
Abstract
The selector has a function of creating a header of a sequence layer and a header of a picture layer based on data reproduced in the system area, and outputs either the input stream itself or a stream to which a header in the input stream is added as an output stream. have a function In the selector selection operation, unless the high-speed playback mode is used, the header included in the input stream is used as the header of the output stream as it is. When the mode indicates the high-speed playback mode, a header (sequence layer header and picture layer header) is created based on the data reproduced from the system area, and the selector outputs an output stream in which the created header is added to the input stream. .Output stream, bit stream, quantization matrix, compression encoding, header, digital video signal, sequence layer

Term
Term ended
Expired 3 August 2021, 5.1 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
16 claims: 10 independent, 6 dependent
- 1삭제
- 2삭제
- 3삭제
- 4삭제
- 5삭제
- 6디지털 비디오 신호를 기록 매체에 기록하는 기록 장치로서, 압축 부호화되고, 헤더가 부가된 스트림을 기록 매체에 기록하는 수단을 포함하고, 상기 수단은, 상기 스트림의 기록 영역과 분리하여 설정되어, 상기 기록 매체를 기록 시의 속도보다 빠르게 보내는 고속 재생 시에도 확실하게 재생 가능한 시스템 영역에, 상기 헤더 중 적어도 일부의 정보를 기록하는 검출부 를 포함하는 것을 특징으로 하는 기록 장치.
- 7제6항에 있어서, 상기 스트림은, 디지털 비디오 신호의 전부가 프레임 내 부호화에 의해 압축되어 있는 것을 특징으로 하는 기록 장치.
- 8제6항에 있어서, 상기 압축 부호화는, 계층 구조를 갖는 스트림을 생성하는 것이며, 상기 시스템 영역에 대하여 기록되는 정보는 프레임마다 부가되는 헤더에 포함되는 정보인 것을 특징으로 하는 기록 장치.
- 9제6항에 있어서, 상기 압축 부호화는, 계층 구조를 갖는 스트림을 생성하는 것이며, 상기 시스템 영역에 대하여 기록되는 정보는 최상위 계층의 헤더에 포함되는 정보인 것을 특징으로 하는 기록 장치.
- 10디지털 비디오 신호를 기록 매체에 기록하는 기록 방법으로서, 압축 부호화되고, 헤더가 부가된 스트림을 기록 매체에 기록하는 단계;상기 기록 매체를 기록 시의 속도보다 빠르게 보내는 고속 재생 시에, 거의 확실하게 재생 가능한 시스템 영역을 상기 스트림의 기록 영역과 분리하여 설정하는 단계;및 상기 시스템 영역에 대하여, 상기 헤더 중 적어도 일부를 기록하는 단계 를 포함하는 것을 특징으로 하는 기록 방법.
- 11압축 부호화되고 헤더가 부가된 스트림이 기록되고, 상기 스트림의 기록 영역과 분리하여 설정되어, 기록 매체를 기록 시의 속도보다 빠르게 보내는 고속 재생 시에도 확실하게 재생 가능한 시스템 영역에, 상기 헤더 중 적어도 일부의 정보가 기록된 기록 매체를 재생하는 재생 장치로서, 상기 압축 부호화되고, 헤더가 부가된 스트림을 상기 기록 매체로부터 재생하는 수단을 포함하고, 상기 수단은, 상기 헤더가 부가된 스트림과, 상기 시스템 영역으로부터 재생한 상기 헤더 중 적어도 일부의 정보를 입력 받고, 고속 재생 모드인 경우, 상기 시스템 영역으로부터 재생한 상기 헤더 중 일부의 정보를 기초로 하여 새로운 헤더를 작성하고, 상기 작성된 새로운 헤더를 상기 스트림에 부가하여 복호 대상의 재생 스트림을 출력하는 셀렉터를 포함하는 것을 특징으로 하는 재생 장치.
- 12삭제
- 13제11항에 있어서, 상기 시스템 영역으로부터 재생하는 정보는 프레임마다 부가되는 헤더에 포함되는 정보인 것을 특징으로 하는 재생 장치.
- 14제11항에 있어서, 상기 스트림은 계층 구조를 갖고, 상기 시스템 영역으로부터 재생하는 정보는 최상위 계층의 헤더에 포함되는 정보인 것을 특징으로 하는 재생 장치.
- 15압축 부호화되고, 헤더가 부가된 스트림이 기록됨과 함께, 기록 매체를 기록 시의 속도보다 빠르게 보내는 고속 재생 시에, 거의 확실하게 재생 가능하며, 또한 스트림의 기록 영역과 분리하여 설정된 시스템 영역에 대하여, 상기 헤더 중 적어도 일부가 기록된 기록 매체를 재생하는 재생 방법으로서, 고속 재생 시에 상기 시스템 영역으로부터 재생한 상기 헤더에 포함되는 정보를 사용하여 재생 스트림을 복호하는 것을 특징으로 하는 재생 방법.
- 16디지털 비디오 신호를 기록 매체에 기록하는 기록 장치로서, 압축 부호화되고, 헤더가 부가된 스트림을 기록 매체에 기록하는 수단 을 포함하고, 각 프레임에 대하여 부가되는 헤더의 정보를 모든 프레임에 대하여 동일하게 하며, 상기 기록 매체를 기록 시의 속도보다 빠르게 보내는 고속 재생 시에, 거의 확실하게 재생 가능한 시스템 영역을 상기 스트림의 기록 영역과 분리하여 설정하고, 상기 시스템 영역에 대하여, 상기 헤더 중 적어도 일부의 정보를 기록하는 것을 특징으로 하는 기록 장치.
Independent claims16
186 paragraphs, as filed
Recording apparatus and recording method, reproducing apparatus and reproducing method
The present invention relates to a recording apparatus and method for recording a digital video signal on a tape-type recording medium, and a reproduction apparatus and method for reproducing a digital video signal from a tape-type recording medium.
As represented by a digital VTR (Video Tape Recorder), a data recording/reproducing apparatus that records a digital video signal and a digital audio signal on a recording medium and reproduces them from the recording medium is known. Since a digital video signal has an enormous data capacity, it is generally compressed and encoded in a predetermined method and recorded on a recording medium. In recent years, the MPEG2 (Moving Picture Experts Group phase 2) method is known as a standard method of compression encoding.
In image compression techniques such as the above-mentioned MPEG2, a data compression rate is increased by using a variable length code. Accordingly, according to the complexity of the image to be compressed, the amount of code after compression is changed for one screen, for example, one frame or one field.
On the other hand, in a recording apparatus for recording a video signal on a recording medium of a magnetic tape or disk recording medium, particularly a VTR, one frame or one field is a unit of fixed length. That is, the amount of code per frame or field is limited to a predetermined value or less, and the recording medium is recorded in an area of a predetermined capacity.
The reason why the fixed length method is adopted in the VTR is that the recording area on the magnetic tape as the recording medium is constituted in units of one frame, and it is necessary to fit the recording data for one frame into this recording area without excess or deficiency. Further, since the recording medium is consumed in proportion to the recording time, there is an advantage that the total amount of recording and the remaining amount can be accurately obtained, and the program start position detection process by high-speed search can be easily performed. In addition, from the viewpoint of controlling the recording medium, for example, if the recording medium is a magnetic tape, there is an advantage that data can be recorded in a fixed-length method and stabilization can be achieved by maintaining the dynamically driven magnetic tape at a constant speed and running. have These advantages can be applied similarly to the disc recording medium.
As described above, the variable-length coding scheme and the fixed-length coding scheme have opposite properties. Recently, a recording apparatus that inputs a video signal as an uncompressed baseband signal, performs compression encoding with a variable length code such as MPEG2 or JPEG (Joint Photographic Experts Group) inside, and records it on a recording medium, has emerged. Further, a recording/reproducing apparatus for directly inputting/outputting and recording/reproducing a stream encoded by compression using a variable length code has also been proposed. Hereinafter, a compression encoding method of a digital video signal will be described as MPEG2.
Here, the MPEG2 data stream structure will be briefly described. MPEG2 is a combination of motion compensation prediction coding and DCT compression coding. The data structure of MPEG2 has a hierarchical structure, and consists of a block layer, a macro block layer, a slice layer, a picture layer, a GOP (Group Of Picture) layer, and a sequence layer from the lower level.
The block layer consists of a DCT block, which is a unit for performing DCT. The macro block layer is composed of a plurality of DCT blocks. The slice layer is composed of a header portion and one or more macro blocks. The picture layer is composed of a header portion and one or more slices. A picture corresponds to one screen. The GOP layer consists of a header part, an I picture (Intra-coded picture), a P picture (Predictive-coded picture: a forward predictive coded picture), and a B picture (Bidirectionally predictive-coded picture: a bidirectionally predictive coded picture) do.
When an I picture is coded, only information about one picture is used. Therefore, at the time of decoding, it is possible to decode only the information of the I-picture itself. A P picture is a prediction picture (a picture used as a reference for taking a difference), which uses an I picture or a P picture that has been previously decoded temporally. The difference from the motion-compensated prediction image is encoded, or the difference is encoded without taking the difference, or the one with better efficiency is selected in units of macroblocks. A B picture is a prediction picture (a picture used as a reference for taking a difference), which consists of a temporally previous already decoded I picture or P picture, a temporally later already decoded I or P picture, and an interpolation picture made from both. use type. Among these three types of motion compensation differential encoding and intra encoding, the most efficient one is selected in units of macroblocks.
Accordingly, the macroblock types include an intra-frame macroblock, a forward inter-frame prediction macroblock that predicts the past from the future, and a backward inter-frame prediction macroblock that predicts the past from the future. , there is a bidirectional macroblock that predicts from both forward and backward directions. All macro blocks in an I picture are intra-frame coded macro blocks. In addition, the intra-frame coding macroblock and the forward inter-frame prediction macroblock are included in the P picture. All types of macroblocks of the four types described above are included in the B picture.
A macro block is a set of a plurality of DCT blocks, and a screen (picture) is divided into a grid of 16 pixels x 16 lines. Slice is formed by, for example, connecting these macroblocks in the horizontal direction. When the screen size is determined, the number of macroblocks per screen is uniquely determined.
In the MPEG format, a slice is one variable-length code sequence. The variable-length code sequence is a sequence in which data boundaries cannot be detected unless the variable-length code is decoded. When decoding an MPEG stream, the start and end points of the variable length code are found by detecting the header part of the slice.
In MPEG, it is common to configure one slice by one stripe (16 lines), and variable-length encoding starts from the left end of the screen and ends at the right end. Accordingly, when the recording medium in which the MPEG stream is recorded as it is by the VTR is reproduced at high speed, the reproducible portion is concentrated on the left edge of the screen, so that it can be updated uniformly. Further, since the arrangement of data on the tape cannot be predicted, uniform screen update cannot be performed by tracing the tape pattern at regular intervals. In addition, if an error occurs even in one location, it affects up to the right edge of the screen and cannot be restored until the next slice header is detected. Preferably, this problem can be avoided by configuring one slice by one macro block.
On the other hand, a video signal is recorded on a magnetic tape by a helical track method by forming a track obliquely with a rotating head. In one track, a sync block is the minimum unit of recording, and the sync blocks are grouped for each type of data to form a sector. Also, the recording area in which the recording data for one frame is recorded becomes a predetermined one. For example, recording data of one frame is recorded using 8 tracks.
In addition, in order to enable random access in MPEG, a GOP (Group Of Picture) structure, which is a group of a plurality of pictures, is prescribed. MPEG rules regarding GOPs stipulate that first, the first picture of the GOP on the stream is an I picture, and second, that the last picture of the GOP in the order of the original picture is an I picture or a P picture. Also, as the GOP, a structure in which prediction using the last I picture or P picture of the previous GOP is required is also allowed. A GOP that can be decoded without using a previous GOP picture is called a closed GOP.
In addition, in a digital VTR, editing processing is usually performed. It is preferable that the editing process be performed in as fine a unit as possible. When an MPEG2 stream is recorded, a GOP unit is considered as an editing unit. By setting it as the structure of the closed GOP which can be demodulated without using the other GOP image before and behind as a GOP unit, the editing process of a GOP unit is possible. However, when the GOP is composed of, for example, 15 frames, there is a problem that the editing unit is too large. Therefore, in general, it is desirable to perform editing with precision in units of frames (pictures).
However, if the MPEG stream contains predictive images that require images before or after the decoding, editing in units of frames becomes impossible. Therefore, preferably, all pictures are coded by intra-frame coding (intra-frame), and one GOP is constituted by one intra picture. The stream defined in this way also satisfies the encoding grammar (syntax) of MPEG2.
Further, at the head of the sequence layer, the GOP layer, the picture layer, the slice layer, and the macroblock layer, an identification code each having a predetermined bit pattern is disposed, followed by the identification code, and a header portion for storing the encoding parameters of each layer is disposed. In an MPEG decoder that performs MPEG2 decoding, an identification code is extracted by pattern matching to determine a layer, and the MPEG stream is decoded based on the parameter information stored in the header part. Since the header of a layer lower than the picture layer is necessary information for each frame, it is a rule that it must be added to each frame. On the other hand, the header of the sequence layer only needs to be added to the sequence and the GOP once, and it is not necessary to add it to each frame.
As information included in the header of the sequence layer, the number of pixels, bit rate, profile, level, color difference format, progressive sequence, and the like are specified. These information, for example, when one video tape is regarded as one sequence, this information is normally designated to be the same throughout the sequence. there is no In addition, the quantization matrix may exist in a header other than a sequence layer (a header of a sequence layer or a header of a picture layer) on the encoding grammar of MPEG. According to the encoding grammar of MPEG, the quantization matrix may be added or omitted.
In addition, as information included in the header of the picture layer, setting of DC (direct current) coefficient precision of intra macroblock, designation of frame structure, field structure and display field, selection of quantization scale, selection of VLC type, zigzag alternate Selection of scanning, designation of a chroma format, and the like are specified. In addition, the header of the sequence layer and the header of the picture layer can be switched on a frame-by-frame basis in order to enable efficient encoding according to the properties of the input image.
In a digital VTR, an MPEG stream is recorded on a magnetic tape by a rotating head, and inclined tracks are sequentially formed on the magnetic tape. In normal reproduction, where the tape speed is the same as the recording time, all of the recorded data can be reproduced, so that there is no problem even if the header information is switched on a frame-by-frame basis. However, in high-speed reproduction in which the tape speed is set at a higher speed (for example, twice or more) than in recording, data on the tape can only be reproduced piecemeal, so a problem arises when the header information is switched frame by frame.
Fig. 26 conceptually shows reproduced data during high-speed reproduction. From frame 1 to frame 2, frame 3, ... The data of each frame of is composed of a header and picture data. As the header, there are a sequence header, a GOP header, and a picture header, and the picture header is always added to each frame. In high-speed reproduction, as indicated by hatched lines in the figure, fragmentarily reproduced data is obtained from each frame. The image of one frame is restored by this data.
As described above, the header of the sequence layer and the header of the picture layer can be switched on a frame-by-frame basis to enable efficient encoding according to the properties of the input image. There is a problem that it cannot be decoded correctly if it is different from the header.
Accordingly, it is an object of the present invention to provide a recording apparatus and reproducing method, and a reproducing apparatus and reproducing method capable of reconstructing an image from compressed coded data reproduced fragmentarily during high-speed reproduction.
The invention of claim 1 is a recording apparatus for recording a digital video signal on a tape-type recording medium in order to solve the above problems, comprising: means for recording a stream to which a header is added by compression encoding on the tape-type recording medium, A recording apparatus characterized in that header information added to each frame is the same for all frames.
The invention of claim 5 is a recording method for recording a digital video signal on a tape-type recording medium, wherein a stream to which a header is added after compression encoding is recorded on the tape-type recording medium, and header information added to each frame is stored in all A recording method characterized in that the same is applied to the frame.
In the inventions of claims 1 and 5, since the header information is the same for all frames, even when data of a plurality of frames is obtained piecemeal during high-speed reproduction, the reproduced data can be decoded almost certainly.
The invention of claim 6 is a recording apparatus for recording a digital video signal on a tape-type recording medium, comprising means for recording a compression-encoded and header-added stream on the tape-type recording medium, wherein when recording the tape-type recording medium A recording apparatus characterized in that, during high-speed reproduction that is faster than the speed of , a system area that can be almost certainly reproduced is set separately from a recording area of a stream, and at least a part of the header is recorded in the system area.
The invention of claim 10 is a recording method for recording a digital video signal on a tape-type recording medium, wherein a compression-encoded and header-added stream is recorded on the tape-type recording medium, and the tape-type recording medium is recorded faster than the recording speed. A recording method characterized in that a system area that can be reproduced almost certainly during high-speed reproduction is set separately from a recording area of a stream, and at least a part of the header is recorded in the system area.
According to the invention of claim 11, a stream to which a header is added by compression encoding is recorded and can be reproduced almost certainly during high-speed reproduction in which a tape-type recording medium is transmitted faster than the recording speed, and is separated from the recording area of the stream. A reproduction apparatus for reproducing a tape-type recording medium in which at least a part of a header is recorded for a set system area, characterized in that the reproduction stream is decoded using information included in the header reproduced from the system area during high-speed reproduction. It is a playback device.
According to the invention of claim 15, a stream to which a header is added by compression encoding is recorded and can be reproduced almost certainly during high-speed reproduction in which a tape-type recording medium is sent faster than the recording speed, and is separated from the recording area of the stream. A reproduction method for reproducing a tape-type recording medium in which at least a part of a header is recorded for a set system area, characterized in that the reproduction stream is decoded using information included in the header reproduced from the system area during high-speed reproduction way to play.
The invention of claim 16 is a recording apparatus for recording a digital video signal on a tape-type recording medium, comprising means for recording, on the tape-type recording medium, a stream that is compression-encoded and has a header added thereto, and a header added to each frame. In high-speed reproduction, in which the information of is made the same for all frames and the tape-type recording medium is transmitted faster than the recording speed, the system area that can be reproduced almost certainly is set separately from the recording area of the stream, and the system area is A recording apparatus characterized in that at least part of the header information is recorded.
In the inventions of claims 6, 10, 11 and 15, since at least part of the header information is recorded in the system area that can be reproduced almost certainly even during high-speed reproduction, the reproduced data can be decoded even when the header unit cannot be reproduced. . According to the invention of claim 16, since header information is the same for all frames and at least a part of header information is recorded in the system area, reproduced data can be more reliably decoded during high-speed reproduction.
1 is a schematic diagram schematically showing a hierarchical structure of a general MPEG2 stream.
Fig. 2 is a schematic diagram showing the contents of data and bit allocation arranged in an MPEG2 stream;
Fig. 3 is a schematic diagram showing the contents of data and bit allocation arranged in an MPEG2 stream;
Fig. 4 is a schematic diagram showing the content of data and bit allocation arranged in an MPEG2 stream;
Fig. 5 is a schematic diagram showing the content of data and bit allocation arranged in an MPEG2 stream;
Fig. 6 is a schematic diagram showing the content of data and bit allocation arranged in an MPEG2 stream;
Fig. 7 is a schematic diagram showing the content of data and bit allocation arranged in an MPEG2 stream;
Fig. 8 is a schematic diagram showing the contents of data and bit allocation arranged in an MPEG2 stream;
Fig. 9 is a schematic diagram showing the contents of data and bit allocation arranged in an MPEG2 stream;
Fig. 10 is a schematic diagram showing the content of data and bit allocation arranged in an MPEG2 stream;
Fig. 11 is a schematic diagram showing the content of data and bit allocation arranged in an MPEG2 stream;
Fig. 12 is a schematic diagram showing the content and bit allocation of data arranged in an MPEG2 stream;
13A and 13B are diagrams for explaining the arrangement of data in units of bytes;
Fig. 14 is a schematic diagram showing the data structure of an MPEG stream according to an embodiment of the present invention;
Fig. 15 is a block diagram showing an example of the configuration of a recording/reproducing apparatus according to an embodiment of the present invention;
Fig. 16 is a schematic diagram showing an example of a track format formed on a magnetic tape;
17A and 17B are schematic diagrams for explaining an output method of a video encoder and variable length encoding;
18A and 18B are schematic diagrams for explaining rearrangement of the order of outputs of a video encoder;
19A and 19B are schematic diagrams for explaining a process of packing rearranged data in a sync block;
20A to 20D are schematic diagrams showing the packing process in more detail;
Fig. 21 is a block diagram showing a more specific configuration of an ECC encoder;
Fig. 22 is a schematic diagram showing an example of the address structure of the main memory;
Fig. 23 is a block diagram of a configuration example for performing recording processing on a system area according to an embodiment of the present invention;
Fig. 24 is a block diagram of a configuration example for processing reproduction data from a system area in an embodiment of the present invention;
Fig. 25 is a flowchart for explaining the reproduction processing of Fig. 24;
26 is a schematic diagram for explaining the problem to be solved by the present invention.
Hereinafter, an embodiment in which the present invention is applied to a digital VTR will be described. One such embodiment is suitable for use in a broadcasting station environment.
In this embodiment, as the compression method, for example, the MPEG2 method is employed. MPEG2 is a combination of motion compensation prediction coding and DCT compression coding. The data structure of MPEG2 has a hierarchical structure. 1 schematically shows a hierarchical structure of a bit stream of general MPEG2. As shown in Fig. 1, the data structure is from the bottom, a macro block layer (Fig. 1 (e)), a slice layer (Fig. 1 (d)), a picture layer (Fig. 1 (c)), and a GOP layer. (Fig. 1(b)) and a sequence layer (Fig. 1(a)).
As shown in (e) of FIG. 1, the macro block layer consists of a DCT block, which is a unit for performing DCT. The macro block layer is composed of a macro block header and a plurality of DCT blocks. The slice layer is composed of a slice header and one or more macro blocks, as shown in FIG. 1D. The picture layer is composed of a picture header and one or more slices, as shown in FIG. 1C . A picture corresponds to one screen. As shown in FIG. 1B, the GOP layer is composed of a GOP header, an I picture that is a picture based on intra-frame coding, and P and B pictures that are a picture based on predictive coding.
In the MPEG coding grammar, at least one I picture is included in the GOP, and P and B pictures are allowed even if they do not exist. The sequence layer of the uppermost layer is composed of a sequence header part and a plurality of GOPs, as shown in FIG. 1A . In the MPEG format, a slice is one variable-length code sequence. The variable-length code sequence is a sequence in which data boundaries cannot be detected unless the variable-length code is accurately decoded.
In addition, start codes each having a predetermined bit pattern aligned in units of bytes are arranged at the head of the sequence layer, the GOP layer, the picture layer, and the slice layer. The start code arranged at the head of each layer is called a sequence header code in the sequence layer and a start code in the other layers, and the bit pattern is [00 00 01 xx] (hexadecimal notation). It is represented by two digits, and [xx] indicates that a different bit pattern is arranged in each of each layer.
That is, the start code and the sequence header code are composed of 4 bytes (=32 bits), and the type of the next information can be identified later based on the value of the 4th byte. Since these start codes and sequence header codes are aligned in units of bytes, they can be captured only by performing 4-byte pattern matching.
In addition, the upper 4 bits of the next one byte in the start code are identifiers of the contents of the extended data area, which will be described later. The content of the extension data can be determined by the value of this identifier.
In addition, in the macro block layer and the DCT block in the macro block, an identification code having a predetermined bit pattern arranged in such a byte unit is not disposed.
The header portion of each layer will be described in more detail. In the sequence layer shown in Fig. 1A, a sequence header 2 is arranged at the head, followed by a sequence extension 3, extension and user data 4, respectively. A sequence header code (1) is disposed at the head of the sequence header (2). Further, although not shown, predetermined start codes are respectively arranged at the head of the sequence extension 3 and the user data 4, respectively. The extension consisting of the sequence header 2 and up to the user data 4 constitute the header portion of the sequence layer.
The sequence header 2 contains the sequence header code 1, the number of pixels in the horizontal direction and the number of lines in the vertical direction, as shown in Fig. 2, the encoded picture size, aspect ratio, frame rate, bit rate, Information set in a sequence unit, such as a video buffering verifier (VBV) buffer size and a quantization matrix, is allocated and stored with a predetermined number of bits, respectively.
In the sequence extension 3 after the next extension start code in the sequence header, as shown in Fig. 3, additional data such as a profile, level, color difference format, progressive sequence and the like used in MPEG2 are designated. As shown in Fig. 4, the extended and user data 4 can store information on the RGB conversion characteristics and display size of the original signal by the sequence display ( ), and scale by the sequence scalable extension ( ). It is possible to specify a loveity mode, a scalability layer, or the like.
Following the header portion of the sequence layer, a GOP is arranged. At the head of the GOP, as shown in Fig. 1B, a GOP header 6 and user data 7 are arranged. The GOP header 6 and user data 7 become the header portion of the GOP. In the GOP header 6, as shown in Fig. 5, the start code 5 of the GOP, the time code, and a flag indicating the independence or legitimacy of the GOP are allocated and stored with a predetermined number of bits, respectively. The user data 7 includes extended data and user data, as shown in FIG. 6 . Although not shown, a predetermined start code is arranged at the head of the extended data and the user data, respectively.
A picture is arranged following the header portion of the GOP layer. At the head of the picture, as shown in Fig. 1C, a picture header 9, a picture encoding extension 10, and extension and user data 11 are arranged. A picture start code 8 is arranged at the head of the picture header 9 . In addition, a predetermined start code is arranged at the head of the picture encoding extension 10 and extension and user data 11, respectively. From the picture header 9 to the extension and user data 11 are the header portions of the picture.
In the picture header 9, as shown in Fig. 7, the picture start code 8 is arranged and coding conditions related to the picture are set. In the picture encoding extension 10, as shown in FIG. 8, ranges of motion vectors in the front-back direction and horizontal/vertical directions are specified, and a picture structure is specified. Further, in the picture encoding extension 10, the DC coefficient precision of the intra macroblock is set, the VLC type is selected, the linear/nonlinear quantization scale is selected, and the scan method in DCT is selected.
In the extended and user data 11, as shown in FIG. 9, a quantization matrix is set, a spatial scalable parameter is set, and the like. These settings can be made for each picture, and encoding can be performed according to the characteristics of each picture. In addition, in the extended and user data 11, it is possible to set the display area of the picture. Also, copyright information may be set in the extension and user data 11 .
A slice is arranged following the header portion of the picture layer. At the head of the slice, as shown in FIG. 1D , the slice header 13 is disposed, and the slice start code 12 is disposed at the head of the slice head 13 . As shown in FIG. 10 , the slice start code 12 includes position information in the vertical direction of the slice. The slice header 13 further stores extended slice vertical position information, quantization scale information, and the like.
A macro block is arranged next to the header portion of the slice layer (FIG. 1(e)). In the macro block, a plurality of DCT blocks are arranged following the macro block header 14 . As described above, no start code is placed in the macro block header 14 . As shown in FIG. 11 , the macro block header 14 stores relative position information of the macro block and instructs the setting of the motion compensation mode and the detailed setting of DCT encoding.
Following the macro block header 14, a DCT block is placed. In the DCT block, as shown in FIG. 12, variable-length coded DCT coefficients and data related to the DCT coefficients are stored.
Further, in Fig. 1, a solid line in each layer indicates that data is arranged in units of bytes, and a paragraph of a dotted line indicates that data is not arranged in units of bytes. That is, up to the picture layer, as an example is shown in Fig. 13A, code boundaries are delimited in units of bytes, whereas in the slice layer, only the slice start code 12 is delimited in units of bytes, and each macroblock As an example is shown in FIG. 13B , it can be partitioned in units of bits. Similarly, in the macroblock layer, each DCT block may be partitioned in units of bits.
The data structure described above with reference to FIGS. 1 to 13 is that of MPEG. In this embodiment, all frames are intra-encoded in order to enable editing in units of one frame on the encoded data, and one GOP is made of one I picture. Also, one slice is composed of one macroblock. As described above, in the MPEG bit stream, a fixed value occurs among the values of each item (flag) in the header section described above.
In addition, in this embodiment, in order to reliably decode a reproduced picture during high-speed reproduction, in the MPEG encoding grammar, a value contained in each of the header of the sequence layer and the header of the picture layer, which can be set for each picture, is set to all frames. do the same for Specifically, the MPEG encoder performs such encoding processing.
Fig. 14 specifically shows the header of the MPEG stream in this embodiment. As can be seen from Fig. 1, each header portion of the sequence layer, the GOP layer, the picture layer, the slice layer and the macro block layer appears continuously from the head of the sequence layer. Fig. 14 shows an example of a data arrangement continuous from a sequence header part.
A sequence header 2 having a length of 12 bytes from the beginning is disposed, followed by a sequence extension 3 having a length of 10 bytes. The sequence extension (3) is followed by an extension and user data (4). At the beginning of the extended and user data 4, a user data start code for 4 bytes is arranged, and information based on the SMPTE standard is stored in the following user data area.
The header portion of the sequence layer is followed by the header portion of the GOP layer. A GOP header 6 having a length of 8 bytes is placed, followed by extension and user data 7 . At the beginning of the extended and user data 7, a user data start code for 4 bytes is arranged, and information for compatibility with other existing video formats is stored in the following user data area.
Next to the header portion of the GOP layer is the header portion of the picture layer. A picture header 9 having a length of 9 bytes is disposed, followed by a picture encoding extension 10 having a length of 9 bytes. After the picture encoding extension (10), extension and user data (11) are placed. The extended and user data is stored in the leading side 133 bytes of the extended and user data 11, followed by a user data start code having a length of 4 bytes is placed. Following the user data start code, information for compatibility with other existing video formats is stored. In addition, a user data start code is arranged, and data based on the standard of SMPTE is stored following the user data start code. Next to the header portion of the picture layer is a slice.
The macro block will be described in more detail. A macro block included in the slice layer is a set of a plurality of DCT blocks, and the coded sequence of the DCT block consists of a sequence of quantized DCT coefficients with consecutive runs of zero coefficients and non-zero sequences immediately thereafter (levels). It is variable-length encoded as a unit of . Identification codes arranged in byte units are not added to macro blocks and DCT blocks within macro blocks.
A macro block is a screen (picture) divided into a grid of 16 pixels x 16 lines. Slice is made by connecting these macroblocks in the horizontal direction, for example. The last macroblock of the previous slice of the continuous slice is continuous with the first macroblock of the next slice, and it is not permitted to form an overlap of macroblocks between slices. Also, when the screen size is determined, the number of macro blocks per screen is uniquely determined.
The number of macroblocks in the vertical direction and the horizontal direction on the screen is referred to as mb_height and mb_width, respectively. The coordinates of the macroblock on the screen are determined so that the vertical position number of the macroblock is indicated by mb_row counted from 0 based on the upper end, and the horizontal position number of the macroblock is indicated by mb_column, counted from 0 with the left end as the reference. To indicate the location of a macro block on the screen as one variable, macroblock_address is defined as macroblock_address=mb_row×mb_width+mb_column.
It is determined that the order of slices and macroblocks on the stream must be in the order of the smallest macroblock_address. That is, the stream is transmitted from the top to the bottom of the screen, and from the left to the right.
In MPEG, it is common to configure one slice by one stripe (16 lines), and variable length coding starts from the left end of the picture and ends at the right end. Therefore, when the MPEG elementary stream is recorded as it is by the VTR, the reproducible portion is concentrated on the left edge of the screen and cannot be updated uniformly during high-speed reproduction. In addition, since the arrangement of data on the tape cannot be predicted, uniform screen update cannot be performed if the tape pattern is traced at regular intervals. In addition, if an error occurs even in one location, it affects up to the right edge of the screen and cannot be restored until the next slice header is detected. For this reason, one slice is configured by one macroblock.
Fig. 15 shows an example of the configuration of the recording side of the recording/reproducing apparatus according to this embodiment. During recording, a digital signal input from the terminal 100 is supplied to the SDI (Serial Data Interface) receiving unit 101 . SDI is an interface defined by SMPTE because it carries (4:2:2) component video signals, digital audio signals, and additional data. In the SDI receiver 101 , a digital video signal and a digital audio signal are respectively extracted from the input digital signal, and the digital video signal is supplied to the MPEG encoder 102 , and the digital audio signal is transmitted to the ECC encoder 109 through a delay 103 . ) is supplied to The delay 103 is for resolving a time difference between the digital audio signal and the digital video signal.
In addition, the SDI receiver 101 extracts a synchronization signal from the input digital signal and supplies the extracted synchronization signal to the timing generator 104 . An external synchronization signal may be input to the timing generator 104 from the terminal 105 . The timing generator 104 generates a timing pulse based on a specified signal among these inputted synchronization signals and a synchronization signal supplied from an SDTI receiving unit 108 to be described later. The generated timing pulses are supplied to each part of this recording/reproducing apparatus.
The input video signal is subjected to DCT (Discrete Cosine Transform) processing in the MPEG encoder 102 to be converted into coefficient data, and the coefficient data is variable-length encoded. The variable length coded (VLC) data from the MPEG encoder 102 is an MPEG2 compliant elementary stream (ES). This output is supplied to one input end of a multi-format converter 106 (hereinafter referred to as MFC) on the recording side.
On the other hand, through the input terminal 107, SDTI (Serial Data Transport Interface) format data is input. The signal is synchronously detected in the SDTI receiver 108 . Then, the signal is buffered in a buffer, and then an elementary stream is extracted therefrom. The extracted elementary stream is supplied to the other input end of the recording-side MFC 106 . The synchronization signal obtained by the synchronization detection is supplied to the above-described timing generator 104 .
In one embodiment, for example, to transmit MPEG ES (MPEG Elementary Stream), SDTI (Serial Data Transport Interface) - CP (Content Package) is used. This ES is a 4:2:2 component, and as described above, all of them are I-picture streams, and have a relationship of 1 GOP = 1 picture. In the format of SDTI-CP, MPEG ES is divided into access units, and is packed into packets in frame units. In SDTI-CP, a sufficient transmission band (27 MHz or 36 MHz for clock rate, 270 Mbps or 360 Mbps for stream bit rate) is used, and it is possible to send ES in bursts in one frame period.
That is, the system data, the video stream, the audio stream, and the AUX data are arranged between the area after the SAV of one frame period to the EAV. Data does not exist throughout one frame period, but data exists in a burst type for a predetermined period from the beginning. At the boundary of the frame, the streams (video and audio) of SDTI-CP can be switched in the stream state. SDTI-CP has a mechanism for establishing synchronization between audio and video in the case of content using SMPTE time code as a clock reference. In addition, the format is determined so that SDTI-CP and SDI can coexist.
As in the case of transmitting a TS (Transport Stream), the above-described SDTI-CP interface uses a VBV (Video Buffer Verifier) buffer and a TB<sb>S</sb>There is no need to go through (Transport Buffers), so the delay can be small. In addition, SDTI-CP itself is capable of very high-speed transmission, which further reduces the delay. Therefore, it is effective to use SDTI-CP in an environment where there is a motive for managing the entire broadcasting station.
Further, the SDTI receiving unit 108 further extracts a digital audio signal from the inputted SDTI-CP stream. The extracted digital audio signal is supplied to the ECC encoder 109 .
The recording-side MFC 106 incorporates a selector and a stream converter. The recording-side MFC 106 is configured in, for example, one integrated circuit. The processing performed in the recording-side MFC 106 will be described. One of the MPEG ESs supplied from the above-described MPEG encoder 102 and SDTI receiver 108 is selected by a selector, and is processed by the recording-side MFC 106 .
The recording-side MFC 106 integrates the DCT coefficients arranged for each DCT block for each frequency component through a plurality of DCT blocks constituting one macroblock based on the rules of MPEG2, and rearranges the integrated frequency components. In addition, when one slice of the elementary stream is one stripe, one slice consists of one macroblock. In addition, the maximum length of variable-length data generated in one macro block is limited to a predetermined length. This can make high-order DCT coefficients 0. Further, as described later, the recording-side MFC 106 performs interpolation processing of the header of the sequence layer and the quantization matrix for each picture of the MPEG bit stream. The converted elementary stream rearranged in the recording-side MFC 106 is supplied to the ECC encoder 109 .
A large-capacity main memory is connected to the ECC encoder 109 (not shown), a packing and shuffling unit, an audio external code encoder, a video external code encoder, an internal code encoder, an audio shuffling unit, a video shuffling unit, etc. This is built in. In addition, the ECC encoder 109 includes a circuit for adding an ID or a circuit for adding a synchronization signal in units of sync blocks. The ECC encoder 109 is configured in, for example, one integrated circuit.
Further, in one embodiment, a product code is used as an error correction code for video data and audio data. In the integrated code, the outer code is encoded in the vertical direction of a two-dimensional array of video data or audio data, the inner code is encoded in the horizontal direction, and the data symbol is double encoded. Reed-Solomon code can be used as the outer code and the inner code.
The processing in the ECC encoder 109 will be described. Since the video data of the elementary stream is variable-length coded, the data length of each macroblock is variable. In the packing and shuffling section, macro blocks are packed in a fixed-length frame. In this case, the overflow portion from the fixed-length frame is sequentially packed in an empty area with respect to the size of the fixed-length frame.
In addition, system data having information such as an image format and a version of a shuffling pattern is supplied from a system controller 121 to be described later and inputted from an input terminal not shown. The system data is supplied to the packing and shuffling unit, and is recorded and processed like picture data. System data is recorded as video AUX. Further, shuffling is performed in which macroblocks of one frame generated in the scanning order are rearranged to distribute the recording positions of the macroblocks on the tape. By shuffling, it is possible to improve the update rate of an image even when data is reproduced piecemeal during variable speed reproduction.
Video data and system data from the packing and shuffling unit (hereinafter, simply referred to as video data even when system data is included, except in special cases) is an external code encoder for video that performs external encoding on video data. is supplied and external code parity is added. The output of the external code encoder is shuffled in the shuffling unit for video by changing the order in sync block units across a plurality of ECC blocks. Concentration of errors in a specific ECC block is prevented by shuffling in units of sync blocks. The shuffling performed by the shuffling unit is sometimes referred to as interleaving. The output of the video shuffling unit is written to the main memory.
Meanwhile, as described above, the digital audio signal output from the SDTI receiver 108 or the delay 103 is supplied to the ECC encoder 109 . In one such embodiment, an uncompressed digital audio signal is handled. The digital audio signal is not limited thereto, and may be inputted through an audio interface. Also, an audio AUX is supplied from an input terminal (not shown). The audio AUX is auxiliary data, and is data having information related to audio data, such as a sampling frequency of the audio data. Audio AUX is added to audio data, and is treated equally with audio data.
Audio data to which the audio AUX is added (hereinafter, simply referred to as audio data even in the case of including the AUX, except in special cases where necessary) is supplied to an external code encoder for audio that encodes an external code on the audio data. The output of the external code encoder for audio is supplied to a shuffling unit for audio and subjected to shuffling. As audio shuffling, shuffling in units of sync blocks and shuffling in units of channels are performed.
The output of the shuffling unit for audio is written to the main memory. As described above, the output of the video shuffling unit is also written in the main memory, and audio data and video data are mixed in the main memory to form one channel of data.
Data is read from the main memory, an ID having information indicating a sync block number or the like is added and supplied to the inner code encoder. In the inner code encoder, the inner code is encoded on the supplied data. A synchronization signal for each sync block is added to the output of the inner code encoder to form write data in which the sync blocks are continuous.
Record data output from the ECC encoder 109 is supplied to an equalizer 110 including a recording amplifier or the like, and is converted into a recording RF signal. The recording RF signal is supplied to a rotary drum 111 in which a rotary head is provided, and is recorded on a magnetic tape 112 . In fact, a plurality of magnetic heads having different azimuths of heads forming adjacent tracks are attached to the rotating drum 111 .
A scramble process may be performed on the recorded data as needed. In addition, digital modulation may be performed at the time of recording, and the partial response class (4) and Viterbi code may be used. In addition, the equalizer 110 includes both a recording-side configuration and a playback-side configuration.
16 shows, for example, a frame frequency of 29.97 kHz, a size of 720 pixels (the number of effective horizontal pixels) x 480 lines (the number of effective lines), and rotating an interlaced video signal and a 4-channel PCM audio signal This indicates the track format in the case of recording on a magnetic tape by the head. In this example, video and audio data per frame are recorded on 4 tracks. Two tracks of different Azimus become one pair. In each of the tracks, an audio data recording area (audio sector) is provided in a substantially central portion, and a video recording area (video sector) in which video data is recorded is provided on both sides with the audio sector interposed therebetween.
In this example, audio data of 4 channels can be handled. A1 to A4 respectively represent 1 to 4 channels of audio data. The arrangement is changed and recorded as a unit, which consists of two tracks of different Azimus. In addition, video data is recorded by interleaving data for 4 error correction blocks for 1 track in this example, and dividing it into sectors on the Upper Side and on the Lower Side.
In the video sector on the lower side, a system area (SYS) is installed at a predetermined position. The system area is provided alternately for each track, for example, on the leading side and the side closer to the end of the video sector on the Lower Side.
In Fig. 16, SAT is an area in which a servo lock signal is recorded. Further, a gap of a predetermined size is provided between each recording area.
16 shows an example in which data per frame is recorded on 8 tracks, depending on the format of the data to be recorded and reproduced, data per frame may be recorded in 4 tracks, 6 tracks, or the like.
As shown in (b) of FIG. 16, data recorded on the tape consists of a plurality of blocks divided at equal intervals called sync blocks. 16C schematically shows the configuration of a sink block. The sync block is composed of a SYNC pattern for synchronization detection, an ID for identifying each sync block, a DID for indicating the content of subsequent data, and an internal code parity for data packet and error correction. Data is treated as a packet in units of sync blocks. That is, the smallest unit of data to be recorded or reproduced is one sync block. A plurality of sync blocks are arranged (Fig. 16(b)) to form, for example, a video sector.
As shown in Fig. 16(a), the system area is provided separately from the video data, and this system area is a recording that can be reproduced almost certainly even when the rotating head reproduces a plurality of lines of tracks during high-speed reproduction. is the area The high-speed reproducing operation is an operation of reproducing, for example, at a tape speed twice or more compared to the tape speed at the time of recording.
In this system area, data for one sync block as shown in Fig. 16D is recorded. The data length is at least 109 bytes, and dummy data is inserted into the remaining area. The 109-byte details are 5 bytes of system data, 2 bytes of header data (Mpeg), 10 bytes of picture information (Picture Info), and 92 bytes of user data. As system data, information on edit points, image format information such as line frequency, frame frequency, and aspect ratio, information of an appropriate degree of syntax of the recorded MPEG elementary stream, information on a shuffling method, and the like are recorded.
As header data, at least part of information included in the header of the sequence layer and the header of the picture layer is recorded. Although the format of the bit stream to be recorded needs to satisfy the MPEG encoding grammar, data necessary for decoding the bit stream, or data that is the basis for creating the header of the sequence layer and the header of the picture layer, are included in the header data of the system area. , and header data recorded in the system area does not need to satisfy MPEG encoding grammar. In one embodiment, since all frames are intra-coded, 1 GOP is made up of one I picture, and 1 slice is 1 macroblock, it is fixed as information in the header part, and such information is stored You don't have to record it.
As picture information (Picture Info) of the system area, encoding information of an encoder of another digital VTR is recorded. As the user data, the serial number, model name, recording date, and the like of the digital VTR are recorded.
In this embodiment, as described above, in order to reliably obtain a decoded image during high-speed reproduction, a countermeasure for making the header of the sequence layer and the header of the picture layer the same for all frames, and recording header information in the system area Two countermeasures are being implemented. However, it is not necessary to use these two methods together, and even one method is sufficiently effective for image restoration during high-speed reproduction. For example, since a packing method different from that of the embodiment is adopted, only a measure of making the header information the same for all frames may be sufficient as long as the header data in the stream can be reliably reproduced even during high-speed reproduction.
Returning to the description of Fig. 15, at the time of reproduction, the reproduction signal reproduced by the rotary drum 111 from the magnetic tape 112 is supplied to a structure on the reproduction side of the equalizer 110 including a reproduction amplifier and the like. In the equalizer 110, equalization or waveform shaping is performed on the reproduced signal. In addition, demodulation of digital modulation, Viterbi decoding, etc. are performed as necessary. The output of the equalizer 110 is supplied to the ECC decoder 113 .
The ECC decoder 113 performs processing opposite to that of the ECC encoder 109 described above, and includes a large-capacity main memory, an inner code decoder, respective deshuffling units for audio and video, and an outer code decoder. In addition, the ECC decoder 113 is for video and includes a deshuffling and depacking unit, and a data interpolation unit. Similarly, for audio, it includes an audio AUX separation unit and a data interpolation unit. The ECC decoder 113 is configured by, for example, one integrated circuit.
The processing in the ECC decoder 113 will be described. The ECC decoder 113 first performs synchronization detection to detect the synchronization signal added to the head of the sync block, and extracts the sync block. The reproduction data is supplied to the inner code encoder for each sync block, and error correction of the inner code is performed. ID interpolation processing is performed on the output of the inner code encoder, and the ID of the sync block that has been erroneous by the inner code, for example, the sync block number is interpolated. ID-interpolated reproduction data is divided into video data and audio data.
As described above, video data means DCT coefficient data and system data generated by intra-coding of MPEG, and audio data means PCM (Pulse Code Modulation) data and audio AUX.
The separated audio data is supplied to a deshuffling unit for audio, and the shuffling and reverse processing performed in the shuffling unit on the recording side are performed. The output of the deshuffling unit is supplied to an external code decoder for audio, and error correction by the external code is performed. The error-corrected audio data is output from the external code decoder for audio. An error flag is set for data with an error that cannot be corrected.
From the output of the external code decoder for audio, the audio AUX is separated in the audio AUX separation unit, and the separated audio AUX is output from the ECC decoder 113 (the path is omitted). The audio AUX is supplied to, for example, a system controller 121 to be described later. Also, audio data is supplied to the data interpolation unit. Samples with errors are interpolated by the data interpolator. As the interpolation method, an average value interpolation that interpolates with an average value of temporally correct data before and after, an average value hold before holding a previous correct sample value, and the like can be used.
The output of the data interpolation unit is the output of the audio data from the ECC decoder 113 , and the audio data output from the ECC decoder 113 is supplied to the delay 117 and the SDTI output unit 115 . The delay 117 is provided to absorb the delay caused by the processing of video data in the MPEG decoder 116, which will be described later. The audio data supplied to the delay 117 is provided with a predetermined delay, and is then supplied to the SDI output unit 118 .
The separated video data is supplied to a deshuffling unit, and shuffling and reverse processing on the recording side are performed. The deshuffling unit performs a process of returning based on shuffling in units of sync blocks performed by the shuffling unit on the recording side. The output of the deshuffling unit is supplied to the external code decoder, and error correction is performed by the external code. When an uncorrectable error occurs, an error flag indicating the presence or absence of an error indicates that there is an error.
The output of the outer code decoder is supplied to the deshuffling and depacking unit. The deshuffling and depacking section performs a process of returning to the basis of shuffling in units of macroblocks made in the packing and shuffling section on the recording side. Further, in the deshuffling and depacking section, the packing performed at the time of recording is decomposed. That is, the data length is restored in units of macroblocks to restore the original variable length code. Further, in the deshuffling and depacking unit, system data is separated, output from the ECC decoder 113, and supplied to a system controller 121 to be described later.
The output of the deshuffling and depacking unit is supplied to the data interpolation unit, and the data for which the error flag is set (ie, there is an error) is corrected. That is, if it is determined that there is an error in the middle of the macroblock data before conversion, the DCT coefficients of the frequency components after the error point cannot be restored. Therefore, for example, the data at the error location is replaced with a block termination code (EOB), and the DCT coefficients of the frequency components thereafter are made zero. Similarly, even during high-speed reproduction, only DCT coefficients up to the length corresponding to the sync block length are restored, and the coefficients thereafter are replaced with zero data. In addition, the data interpolation unit also performs processing for recovering headers (sequence header, GOP header, picture header, user data, etc.) when the header added to the head of the video data is in error.
Since the DCT coefficients are arranged from the DC component and the low-region component to the high-region component over the DCT block, in this way, even if the DCT coefficient is ignored from an arbitrary position, it is biased with respect to each of the DCT blocks constituting the macroblock. DCT coefficients from DC and low-range components can be arranged without hitting.
The video data output from the data interpolation unit is supplied as an output of the ECC decoder 113, and the output of the ECC decoder 113 is supplied to a multi-format converter 114 on the reproduction side (hereinafter, abbreviated as reproduction-side MFC). The reproduction-side MFC 114 performs reverse processing to the above-described recording-side MFC 106, and includes a stream converter. The reproduction-side MFC 106 is configured by, for example, one integrated circuit.
In the stream converter, reverse processing is performed with the stream converter on the recording side. That is, the DCT coefficients arranged for each frequency component over the DCT block are rearranged for each DCT block. Accordingly, the reproduction signal is converted into an elementary stream conforming to MPEG2.
In addition, as for the input/output of the stream converter, a sufficient transfer rate (bandwidth) is secured according to the maximum length of the macroblock, similarly to the recording side. When the length of a macroblock (slice) is not limited, it is desirable to secure a bandwidth three times the pixel rate.
The output of the stream converter is the output of the reproduction-side MFC 114 , and the output of the reproduction-side MFC 114 is supplied to the SDTI output unit 115 and the MPEG decoder 116 .
The MPEG decoder 116 decodes the elementary stream and outputs video data. The elementary stream is supplied to the MPEG decoder 116 to perform pattern matching, and a sequence header code and a start code are detected. The encoding parameters stored in the header portion of each layer are extracted from the detected sequence header code and start code. In the MPEG decoder 116, inverse quantization processing and inverse DCT processing are performed on the elementary stream based on the extracted encoding parameters.
The decoded video data output from the MPEG decoder 116 is supplied to the SDI output unit 118 . As described above, the audio data separated from the video data by the ECC decoder 113 is supplied to the SDI output unit 118 through the delay 117 . The SDI output unit 118 maps the supplied video data and audio data into an SDI format, and is converted into a stream having a data structure of the SDI format. A stream from the SDI output unit 118 is output from the output terminal 120 to the outside.
On the other hand, the SDTI output unit 115 is supplied with audio data separated from the video data by the ECC decoder 113 as described above. In the SDTI output unit 115, the supplied video data and audio data as elementary streams are mapped to the SDTI format, and converted into a stream having a data structure of the SDTI format. The converted stream is output from the output terminal 119 to the outside.
In the external device supplied with the SDTI stream from the output terminal 119, when MPEG decoding processing is required, pattern matching is performed on the supplied stream to detect a sequence header code and a start code, and headers of each layer Extracts negative encoding parameters. Then, the supplied SDTI stream is decoded based on the extracted encoding parameters.
In Fig. 15, the system controller 121 is made of, for example, a microcomputer, and controls the overall operation of the storage/reproduction device. Moreover, the servo 122 performs travel control of the magnetic tape 112, drive control of the rotating drum 111, etc. while performing mutual communication with the system controller 121. As shown in FIG.
Fig. 17A shows the sequence of DCT coefficients in video data output from the DCT circuit of the MPEG encoder 102. As shown in Figs. The same applies to the MPEG ES output from the SDTI receiver 108 . Hereinafter, the output of the MPEG encoder 102 will be described as an example. Starting from the DC component at the upper left in the DCT block, in the direction in which the horizontal and vertical spatial frequencies increase, DCT coefficients are output in a zigzag scan. As a result, as an example is shown in Fig. 17B, a total of 64 DCT coefficients (8 pixels x 8 lines) are obtained by arranging them in the order of frequency components.
These DCT coefficients are variable-length encoded by the VLC unit of the MPEG encoder. That is, the first coefficient is fixed as the DC component, and from the next component (AC component), codes are assigned corresponding to the run of zero and the level following it. Therefore, the variable length encoding output for the coefficient data of the AC component is converted from a low (low order) coefficient to a high (higher order) coefficient in the AC component.<sb>1</sb>, AC<sb>2</sb>, AC<sb>3</sb>, is arranged as The variable-length encoded DCT coefficients are included in the elementary stream.
In the recording-side stream converter incorporated in the recording-side MFC 106 described above, the DCT coefficients of the supplied signals are rearranged. That is, within each macroblock, DCT coefficients arranged in the order of frequency components for each DCT block by the zigzag scan are rearranged in the order of frequency components across each DCT block constituting the macroblock.
18A and 18B schematically show rearrangement of DCT coefficients in this recording-side stream converter. (4:2:2) In the case of a component signal, one macro block is equal to four DCT blocks (Y<sb>1</sb>, Y<sb>2</sb>, Y<sb>3</sb> and Y<sb>4</sb>) and two DCT blocks (Cb) for each of the chromaticity signals Cb and Cr.<sb>1</sb>, Cb<sb>2</sb>, Cr<sb>1</sb> and Cr<sb>2</sb>) is made of
As described above, in the MPEG encoder 102, a zigzag scan is performed according to the regulations of MPEG2, and as shown in Fig. 18A, the DCT coefficients for each DCT block are calculated from the DC component and the low region component to the high region component, and the frequency The components are arranged in order. When the scan of one DCT block is finished, the scan of the next DCT block is performed, and DCT coefficients are arranged in the same way.
That is, within the macro block, DCT block Y<sb>1</sb>, Y<sb>2</sb>, Y<sb>3</sb> and Y<sb>4</sb>, DCT block Cb<sb>1</sb>, Cb<sb>2</sb>, Cr<sb>1</sb>and Cr<sb>2</sb>For each of the DCT coefficients, the DCT coefficients are arranged in frequency order from the DC component and the low-domain component to the high-domain component. Then, in a group consisting of a continuous run and the next level, [DC, AC<sb>1</sb>, AC<sb>2</sb>, AC<sb>3</sb>, ] and variable-length encoding so that each code is assigned.
In the recording-side stream converter, DCT coefficients arranged after variable length encoding are decoded into variable length codes to detect short circuits of each coefficient, and are integrated for each frequency component over each DCT block constituting a macroblock. This state is shown in FIG. 18B. First, the DC components of the 8 DCT blocks in the macro block are integrated, then the AC coefficient components with the lowest frequency component of the 8 DCT blocks are integrated, and then the 8 DCTs are integrated in the following order: AC coefficients of the same order. Reorder coefficient data across blocks.
The rearranged coefficient data is DC(Y<sb>1</sb>), DC(Y<sb>2</sb>), DC(Y<sb>3</sb>), DC(Y<sb>4</sb>), DC(Cb<sb>1</sb>), DC(Cr<sb>1</sb>), DC(Cb<sb>2</sb>), DC(Cr<sb>2</sb>), AC<sb>1</sb>(Y<sb>1</sb>), AC<sb>1</sb>(Y<sb>2</sb>), AC<sb>1</sb>(Y<sb>3</sb>), AC<sb>1</sb>(Y<sb>4</sb>), AC<sb>1</sb>(Cb<sb>1</sb>), AC<sb>1 </sb>(Cr<sb>1</sb>), AC<sb>1</sb>(Cb<sb>2</sb>), AC<sb>1</sb>(Cr<sb>2</sb>), am. where DC, AC<sb>1</sb>, AC<sb>2</sb>, is each code of a variable-length code assigned to a set consisting of a run and a level following it, as described with reference to Figs. 17A and 17B.
The converted elementary stream in which the order of coefficient data is rearranged by the recording-side stream converter is supplied to a packing and shuffling unit built in the ECC encoder 109 . The length of the data of the macroblock is the same in the transform elementary stream and in the elementary stream before transformation. Further, in the MPEG encoder 102, even if the length is fixed in units of GOPs (one frame) by bit rate control, the length varies in units of macroblocks. In the packing and shuffling unit, data of a macro block is packed into a fixed-length frame.
19A and 19B schematically show the packing processing of the macro block in the packing and shuffling unit. A macro block is packed in a fixed length frame with a predetermined data length. The data length of the fixed-length frame used at this time matches the data length of the sync block, which is the smallest unit of data at the time of recording and reproduction. This is to simplify the processing of shuffling and error correction encoding. 19A and 19B, for simplicity, it is assumed that 8 macroblocks are included in one frame.
With variable length coding, as an example is shown in Fig. 19A, the lengths of 8 macroblocks are different from each other. In this example, compared with the length of the data area of one sync block, which is a fixed-length frame, the data of macroblock #1, data of #3, and data of #6 are long, respectively, and data of macroblock #2, #5 The data of , the data of #7, and the data of #8 are short, respectively. Also, the data of macro block #4 is approximately the same length as one sync block.
By the packing process, macro blocks are packed in a fixed length frame of one sync block length. Data can be packed without excess or deficiency because the amount of data generated in one frame period is controlled to be a fixed amount. As an example is shown in Fig. 19B, a macro block longer than one sync block is divided at a position corresponding to the sync block length. Among the divided macroblocks, the portion exceeding the sync block length (overflow portion) is packed in an empty area in order from the beginning, that is, after the macroblock whose length does not satisfy the sync block length .
In the example of FIG. 19B, the portion of macro block #1, which is exceeded from the sync block length, is first packed after macro block #2, and when it reaches the length of the sync block, it is packed after macro block #5. . Next, the portion of macro block #3, which is exceeded from the sync block length, is packed after macro block #7. Further, an excess portion from the sync block length of macro block #6 is packed after macro block #7, and an excess portion is also packed after macro block #8. In this way, each macro block is packed for a fixed length frame of sync block length.
The length of the variable length data corresponding to each macroblock can be checked in advance by the stream converter on the recording side. Accordingly, in this packing unit, the end of the data of the macroblock can be known without decoding the VLC data and examining the contents.
20A to 20B show the packing processing for data of one frame in more detail. By the shuffling process, as shown in Fig. 20A, macroblocks MB1 to MB4 at dispersed positions on the screen are arranged in order as shown in Fig. 25B. A header of a sequence layer and a header of a picture layer are added to each frame, and the header portion composed of these headers also corresponds to the macroblock at the head and is subjected to packing processing. The overflow portion exceeding from the fixed length frame (sink block length) is sequentially packed into the empty area, as shown in Fig. 20C. In Fig. 25B, overflow portions are indicated by reference numerals 300, 301, and 302. In Figs. The data thus packed is recorded on the magnetic tape 112 as shown in FIG. 20D.
In high-speed reproduction in which the magnetic tape is transmitted at a higher speed than the recording speed and reproduced, the rotating head traces over a plurality of tracks. Therefore, data of different frames coexist in the reproduction data. At the time of reproduction, the depacking process reversed from the packing process is performed. In the depacking process, it is necessary that all data for one frame are arranged. As in the case of high-speed reproduction, when data of a plurality of frames is mixed in one frame of data, the depacking process cannot be performed. Accordingly, in high-speed reproduction, only data arranged from the beginning of each fixed-length frame is used, and overflow data is not used.
Therefore, since the data length of the head portion is longer than the sync block length, as shown in Fig. 20B, the data 300 exceeding the fixed length frame cannot be used during high-speed reproduction. For this reason, the data of the header part cannot be completely reproduced. However, in such an embodiment, information necessary for decoding in the header information is recorded in the system area, and since the rotating head traces the system area almost certainly even during high-speed reproduction, the image can be restored during high-speed reproduction. .
21 shows a more specific configuration of the ECC encoder 109 described above. In Fig. 21, reference numeral 164 denotes an interface of the main memory 160 externally attached to the IC. The main memory 160 is composed of SDRAM. The interface 164 adjusts a request for the main memory 160 from the inside, and performs write/read processing on the main memory 160 . In addition, the packing and shuffling part are constituted by the packing part 137a, the video shuffling part 137b, and the packing part 137c.
22 shows an example of the address structure of the main memory 160. As shown in FIG. The main memory 160 is constituted of, for example, 64 M-bit SDRAM. The main memory 160 has a video area 250 , an overflow area 251 , and an audio area 252 . The video area 250 consists of four banks (vbank#0, vbank#1, vbank#2, and vbank#3). Each of the 4 banks can store a digital video signal of one fixed-length unit. One fixed lengthening unit is a unit for controlling the amount of generated data to be approximately a target value, for example, one picture (I picture) of a video signal. Part A in Fig. 22 shows the data part of one sync block of the video signal. In one sync block, data having a different number of bytes is inserted depending on the format. In order to support a plurality of formats, the maximum number of bytes or more, the number of bytes suitable for processing, for example, 256 bytes, is the data size of one sync block.
Each bank of the video area is further divided into an area for packing 250A and an area for output to an inner encoding encoder 250B. The overflow area 251 consists of four banks corresponding to the above-mentioned video area. In addition, the main memory 160 has an area 252 for audio data processing.
In such an embodiment, by referring to the data length mark of each macro block, the packing unit 137a separates the fixed frame length data and the overflow data, which is a portion exceeding the fixed length frame, into the main memory 160 . divided into areas of The fixed frame length data is data less than or equal to the length of the data area of the sync block, hereinafter referred to as block length data. The area for storing block length data is an area for packing processing 250A of each bank. In the case of a data length shorter than the block length, a blank area is created in the corresponding area of the main memory 160 . The video shuffling unit 137b performs shuffling by controlling the write address. Here, the video shuffling unit 137b shuffles only the block length data, and the overflow portion is written in the area allocated to the overflow data without shuffling.
Next, the packing unit 137c packs and reads the overflow portion into the memory to the external code encoder 139 . That is, if block-length data is read from the main memory 160 for one ECC block of memory prepared in the external code encoder 139, or if there is an empty area in the block-length data, an overflow part is formed there. Read so that data is packed into block lengths. Then, when data for one ECC block is read, the read processing is temporarily suspended, and the outer code encoder 139 generates parity of the outer code. The outer code parity is stored in the memory of the outer code encoder 139 . When the processing of the outer code encoder 139 is completed for one ECC block, the data and the outer code parity are rearranged from the outer code encoder 139 in the order of performing the inner code, and the packing processing area of the main memory 160 ( 250A) and another output area 250B. The video shuffling unit 140 performs shuffling in units of sync blocks by controlling the address when the external code encoding has been completed to be rewritten into the main memory 160 .
In this way, the block length data and the overflow data are divided and the data is written into the first area 250A of the main memory 160 (first packing process), and the overflow data is packed in the memory by the external code encoder 139 . The process of reading out the data (second packing process), generating the external code parity, and rewriting the data and external code parity into the second area 250B of the main memory 160 are performed in units of one ECC block. When the external code encoder 139 has a memory having an ECC block size, the frequency of access to the main memory 160 can be reduced.
Then, when the processing of a predetermined number of ECC blocks (eg, 32 ECC blocks) included in one picture is finished, packing of one picture and encoding of an outer code are finished. Then, the data read from the area 250B of the main memory 160 through the interface 164 is processed by the ID appending unit 148, the inner code encoder 147, and the synchronous appending unit 150, and is subjected to parallel serial conversion. The output data of the synchronization adding unit 150 is converted into bit serial data by the unit 124 . The output serial data is processed by the precoder 125 of the partial response class (4). This output is digitally modulated as needed, and is supplied to a rotating head installed in the rotating drum 111 through a recording amplifier 110 .
In addition, a sync block in which valid data called zero sync is not arranged is introduced in the ECC block so as to have flexibility in the configuration of the ECC block in response to a difference in the format of the recording video signal. The zero sync is generated in the packing unit 137a of the packing and shuffling block 137 and written to the main memory 160 . Therefore, since the zero sink has a data recording area, it can be used as a sink for recording of the overflow portion.
In the case of audio data, even-numbered samples and odd-numbered samples of the audio data of one field constitute different ECC blocks, respectively. Since the ECC external code sequence is composed of audio samples in the input order, the external code encoder 136 generates external code parity whenever an external code sequence audio sample is input. By address control when writing the output of the external code encoder 136 to the area 252 of the main memory 160, the shuffling unit 147 performs shuffling (in units of channels and units of sync blocks).
Further, a CPU interface indicated by reference numeral 126 is provided to receive data from an external CPU 127 functioning as a system controller, and to set parameters for internal blocks. In order to support a plurality of formats, it is possible to set many parameters including the sync block length and the parity length.
"Packing length data" as one of the parameters is sent to the packing units 137a and 137b, and the packing units 137a and 137b are set based on this as a fixed length frame (as a "sink block length" in Fig. 19A). Pack the VLC data to the indicated length).
"Pack number data" as one of the parameters is sent to the packing unit 137b, and the packing unit 137b determines the number of packs per sync block based on this, and transmits data corresponding to the set number of packs to the external code encoder. (139).
"Video outer code parity number data" as one of the parameters is sent to the outer code encoder 139, which encodes the outer code of the video data on which the parity of the number based on this is generated.
Each of "ID information" and "DID information" as one of the parameters is sent to the ID adding section 148, which reads these ID information and DID information from the main memory 160. It is appended to a data string of unit length.
Each of "parity number data for video inter-code" and "parity number data for audio inter-code" as one of the parameters is sent to the inner-code encoder 149, and the inner-code encoder 149 determines the number of parities based on them. An inner code of the generated video data and audio data is encoded. Also, "sync length data" which is one of the parameters is sent to the inner code encoder 149, and accordingly, the unit length (sync length) of the inner code data is regulated.
Further, shuffling table data as one of the parameters is stored in a shuffling table 128v for video and a shuffling table 128a for RAM 128a for audio. The shuffling table 128v performs address conversion for shuffling of the video shuffling units 137b and 140 . The shuffling table 128a performs address translation for audio shuffling 147 .
As described above, in one embodiment of the present invention, a system area (sys) separated from an area (video sector and audio sector) in which recorded data is recorded is provided, and a header part (header and picture of the sequence layer) is provided in the system area. at least part of the layer's header). 23 shows the configuration of recording processing for the system area. This configuration is provided in the recording-side MFC 106 .
In Fig. 23, reference numeral 51 denotes one input stream selected from among MPEG streams from the MPEG encoder 102 and the SDTI receiver 108. In Figs. The input stream 51 may be one in which coefficient data is rearranged. The input stream 51 is outputted as an output stream 52 as it is for recording processing, and is supplied to the detection unit 53 .
The detection unit 53 detects the header of the sequence layer and the header of the picture layer in the input stream 51, and detects and separates all information of these headers or some information necessary for decoding therein. As an example, the number of pixels, bit rate, profile, level, color difference format, progressive sequence, which are information included in the header of the system layer, and DC precision setting of the intra macroblock that is information included in the header of the picture layer, frame structure · Information (flags) such as field structure, designation of display fields, selection of quantization scale, selection of VLC type, selection of zigzag/alternate scanning, and specification of chroma format are detected.
The information 54 separated by the detection unit 53 is recorded for the system area. In this case, as described with reference to Fig. 16, signal processing is performed so that the sync block data structure is formed together with other information recorded in the system area, and the sync block is recorded in the system area at a predetermined position in the video sector. is done
24 shows a signal processing portion provided in the reproduction-side MFC 114. In FIG. An input stream indicated by reference numeral 61 is a stream reproduced from a magnetic tape, and an input indicated by reference number 62 is data reproduced from the system area. These data are supplied to the selector 63 . The selector 63 has a function of creating a header of a sequence layer and a header of a picture layer based on the reproduction data 62 of the system area, and a header created for the input stream 61 itself and the header in the input stream 61 . It has a function of outputting one of the streams to which is added as an output stream (65). The selection operation of the selector 63 is controlled by the mode 64 . The mode 64 is data indicating the operation mode of the digital VTR, and is output from the system controller 121 based on a user's key operation or the like.
25 is a flowchart showing signal processing on the reproduction side. First, in step S1, whether or not the reproduction operation is in the high-speed reproduction mode is determined based on the mode (64). If it is not in the high-speed playback mode, the header (sequence layer header and picture layer header) included in the input stream 61 is used as the header of the output stream 65 as it is (step S2).
If, in step S1, the high-speed playback mode is determined based on the mode 64, a header (sequence layer header and picture layer header) is created based on the data reproduced in the system area (step S3) . The selector 63 outputs the output stream 65 to which the created header is added to the input stream 61 . Through the above processing, the output stream 65 from the selector 63 is guaranteed to have a header added even in the high-speed playback mode.
Also, in the high-speed playback mode, there may be headers in the input stream 61 . In that case, it is also contemplated to output the header as valid. However, since depacking is not performed in the high-speed reproduction mode when the packing processing is performed as in the embodiment, a header created based on the reproduction data in the system area is used.
Note that, in the above description, both the header of the sequence layer and the header of the picture layer are fixed values and are recorded in the system area. However, since it is relatively small to change the header of the sequence layer for each picture, the present invention may be applied only to the header of the picture layer.
In the above, it has been described that the present invention is applied to a digital VTR for recording MPEG or JPEG data streams, but the present invention is also applicable to compression encoding having other hierarchical structures.
As described above, according to the present invention, since the header information of all frames is the same, it is possible to reliably restore a reproduced stream during a high-speed reproduction operation in which a stream of one frame is composed of fragmentary data belonging to different frames. can
34 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24 Sheet 25 Sheet 26 Sheet 27 Sheet 28 Sheet 29 Sheet 30 Sheet 31 Sheet 32 Sheet 33 Sheet 34
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US9992702B2 | Cited by | United States of America | Applicant |
| US10582416B2 | Cited by | United States of America | Applicant |
| JPH05199495A | Cites | Japan | Search report |
| JPH07250331A | Cites | Japan | Search report |
| JP07250331A | Cites | Japan | – |
| JP05199495A | Cites | Japan | – |
7 members in 4 offices
Priority claims4
| Document | Office | Kind | Date |
|---|---|---|---|
| 34544099 | Japan | A | |
| 34544099 | Japan | A | |
| P199900345440 | Japan | – | |
| JP19990345440 | – | – | – |
Members7
| Document | Office | Kind | |
|---|---|---|---|
| WO0141436A1 | World Intellectual Property Organization (WIPO) | A1 | |
| KR20010101970A | Republic of Korea | A | |
| EP1185101A1 | European Patent Office (EPO) | A1 | |
| US2002126988A1 | United States of America | A1 | |
| EP1185101A4 | European Patent Office (EPO) | A4 | |
| US7228063B2 | United States of America | B2 | |
| KR100739262B1This record | Republic of Korea | B1 |
6 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapse due to unpaid annual feeLapsedLAPS | LAPS | |
| Publication of correctionG170 | G170 | |
| Written decision to grantGRNT | GRNT | |
| Decision to grant or registration of patent rightE701 | E701 | |
| Notification of reason for refusalE902 | E902 | |
| Request for examinationA201 | A201 |
Numbers
- Publication
- 10-0739262
- Publication, DOCDB
- 100739262
- Publication, EPODOC
- KR100739262B
- Application
- 107009813
- Application, DOCDB
- 20017009813
- Application, EPODOC
- KR20017009813
Titles2
- Korean
- 기록 장치 및 기록 방법과, 재생 장치 및 재생 방법
- English
- Recording apparatus and recording method, reproducing apparatus and reproducing method
Classification
- CPC, 10
- H04N5/783
- H04N21/236
- H04N9/7921
- H04N9/8042
- H04N21/23602
- H04N21/434
- H04N21/4342
- H04N19/46
- H04N19/34
- G11B20/00007
- IPC, 6
- G11B5 09
- H04N5 783
- H04N7 30
- H04N7 52
- H04N9 79
- H04N9 804