WO2004012459A1 - 動画像符号化方法、動画像復号化方法および記録媒体 - Google Patents

動画像符号化方法、動画像復号化方法および記録媒体 Download PDF

Info

Publication number
WO2004012459A1
WO2004012459A1 PCT/JP2003/007640 JP0307640W WO2004012459A1 WO 2004012459 A1 WO2004012459 A1 WO 2004012459A1 JP 0307640 W JP0307640 W JP 0307640W WO 2004012459 A1 WO2004012459 A1 WO 2004012459A1
Authority
WO
WIPO (PCT)
Prior art keywords
picture
motion vector
decoding
information
block
Prior art date
Application number
PCT/JP2003/007640
Other languages
English (en)
French (fr)
Inventor
Satoshi Kondo
Shinya Kadono
Makoto Hagai
Kiyofumi Abe
Original Assignee
Matsushita Electric Industrial Co., Ltd.
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 Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to AU2003241696A priority Critical patent/AU2003241696A1/en
Priority to US10/490,366 priority patent/US7822120B2/en
Priority to EP03733462A priority patent/EP1422946A4/en
Publication of WO2004012459A1 publication Critical patent/WO2004012459A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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

Definitions

  • the present invention relates to an image encoding method for efficiently compressing a moving image and an image decoding method for correctly decoding the image, and more particularly to an image encoding method and an image decoding method for performing processing using a direct mode.
  • multimedia which handles voice, images, and other data in an integrated manner, has been approached. It has come to be picked up as an object of the project.
  • multimedia refers to not only characters but also figures and sounds, especially images, etc., that are simultaneously associated with each other. Is an essential condition.
  • the amount of information held by each of the above information media is estimated as a digital information amount
  • the amount of information per character is one or two bytes in the case of characters
  • the amount of information per character is one or two bytes in the case of voice.
  • the 64Kb its (telephone quality)
  • the video requires more than 100Mbits (current TV reception quality) per second, so it is impossible for the above information media to handle the vast amount of information in digital form as it is. Not realistic.
  • videophones have already been put into practical use by the Integrated Services Digital Network (ISDN), which has a transmission rate of 64Kbit / s to 1.5Mbits / s. It is impossible to send it by ISDN as it is. Therefore, what is needed is information compression technology.
  • ISDN Integrated Services Digital Network
  • H.261 and H.263 are internationally standardized by ⁇ -T (International Telecommunication Union Telecommunication Standardization Sector). Standard video compression technology is used. Also, according to the information compression technology of the MPEG-1 standard, it is possible to put image information along with audio information on a normal music CD (Compact ⁇ Disk).
  • MPEG Motion Picture Experts Group
  • MPEG-1 is used to transfer moving picture signals up to 1.5 Mbps, that is, information about TV signals for about 100 minutes. It is a standard that compresses down to 1.
  • MPEG-2 since the transmission rate for the MPEG-1 standard is mainly limited to about 1.5 Mbps, MPEG-2, which has been standardized to meet the demand for higher image quality, requires two moving image signals. ⁇ Compressed to 15 Mbps.
  • the working group (IS0 / IEG JTG1 / SC29 / WG11), which has been working on standardization for MPEG-1 and MPEG-2, has achieved compression ratios higher than MPEG-1 and MPEG-2, MPEG-4 has been standardized, which enables encoding, decoding, and operation, and realizes new functions required in the multimedia age.
  • MPEG-4 was initially aimed at standardizing low bit rate encoding methods, but is now expanded to more general encoding, including high bit rates such as interlaced images. ing.
  • Fig. 1 is a diagram showing an example of a conventional inter-picture prediction method in the direct mode. This will be described with reference to FIG. Suppose now that block a of picture B3 is directly encoded and decoded.
  • the second reference index (the reference index is also referred to as "relative index j. The reference index will be described later.”
  • the motion vector c of the block b in the picture P 4 is used, and the motion vector c is used when the block b is coded and Z-decoded.
  • the block a refers to picture P 1.
  • Block a uses a motion vector parallel to the motion vector c and is bidirectional from the reference pictures P1 and P4.
  • the motion vector used to encode and decode block a is motion vector d for picture P1 and motion vector e for picture P4. Become.
  • FIG. 2 is an explanatory diagram showing an example of assigning a picture number and a reference index to each input picture.
  • Picture number ⁇ The reference index is a number for uniquely identifying the reference picture stored in the reference picture memory. For each picture stored in the memory as a reference image, a value that increases by ⁇ 1 j is assigned as a picture number.
  • FIG. 3 is a conceptual diagram showing the format of an image coded signal in a conventional video coding method and a video decoding method.
  • Picture is an encoded signal for one picture
  • Header is a header encoded signal included at the beginning of the picture
  • Bockl is an encoded signal of a block in direct mode
  • Bock2 is interpolation other than direct mode (motion compensation )
  • the coded signal of the block by prediction, RldxO and Rldxl indicate the reference index, and MV0.MV1 indicate the motion vector.
  • two reference indices Rldx0 and Rldx1 are set in the coded signal in this order to indicate two reference pictures (first reference picture and second reference picture) used for interpolation (motion compensation).
  • Whether to use the reference index RldxO or Rldx1 can be determined by PredType. For example, if PredType indicates that a picture is referenced in both directions, RldxO and Rldxl are used, and if PredType indicates that a picture is referenced in one direction, RI dxO or RI dx1 is used. If this is shown, neither RI dxO nor RI dx1 is used.
  • the reference index RldxO indicating the first reference picture is referred to as a first reference index
  • the reference index Rldxl indicating the second reference picture is referred to as a second reference index.
  • the first reference picture and the second reference picture are determined by the data positions in the coding stream.
  • a value starting from “0” is assigned to the reference picture having a display time earlier than the current picture to be coded / decoded, in order from the picture closest to the current picture to be coded Z to be decoded.
  • a value starting from ⁇ 0 ” is assigned to all reference pictures that have a display time earlier than the encoding / decoding target, then the reference that has a display time after the encoding / decoding target picture
  • Consecutive values are assigned to pictures in order from the one closest to the picture to be coded and decoded.
  • a value starting from “0” is assigned to the value of the second reference index for reference pictures having a display time later than the current picture to be encoded / decoded, in order from the picture closest to the current picture to be encoded / decoded. It is.
  • the first reference picture has the picture number “1 4 This is the B picture of J, and the second reference picture is the B picture of picture number "13J.
  • the reference index in the block is represented by a variable-length codeword. The smaller the value, the shorter the code length is assigned. Normally, the picture closest to the picture to be coded / decoded is likely to be selected as the reference picture for inter-picture prediction. Therefore, the reference index values are assigned in the order closer to the picture to be coded / decoded as described above. If you do, the coding efficiency will increase.
  • the assignment of the reference picture to the reference index is arbitrarily changed by specifying the change of the reference index assignment (remapping) using the buffer control signal (RPSL in the header in Fig. 3) in the encoded signal. be able to. Therefore, by this change in the assignment, the reference picture with the second reference index of ⁇ 0 J may be set to any reference picture in the picture memory.
  • the reference picture having the second reference index “0” is a reference picture having a display time immediately before the current picture to be encoded / decoded. You can also change the index assignment.
  • FIGS. 2 (a) and 2 (b) a case where a B picture is referred to at the time of encoding / decoding of another picture is shown. Encoding is often performed under conditions.
  • Each block of a B-picture is composed of the nearest N (N is a positive integer) P-pictures (or I-pictures) at the front in display order and the nearest one P-picture at the back in display order. (Or I picture) and perform motion compensation by referring to any two of them.
  • FIG. 4 (a) is a diagram showing an example of the reference index of picture B11 when remapping is performed on the reference index shown in FIG. 4 (a). As shown in FIG.
  • the value ⁇ 0 J of the first reference index assigned to picture P 7 by default is reassigned to picture P 1
  • the value of the second reference index ⁇ 0 J, which was initially assigned to picture P 10, should be reassigned to picture P 0, or freely re-mapped according to the coding efficiency of the B picture concerned. Can be.
  • the reference index in a block is represented by a variable-length codeword, and a code with a shorter code length is assigned as the value is smaller, so that a picture whose coding efficiency is improved by referring to it
  • assigning a smaller reference index the code amount of the reference index is reduced, and the coding efficiency is further improved.
  • the present invention has been made to solve the above problems, and provides a moving picture encoding method and a moving picture decoding method that can reduce the amount of memory of a motion vector stored for a direct mode.
  • the purpose is to do. Disclosure of the invention
  • a moving image encoding method is a method for encoding a moving image, which is a sequence of pictures composed of a plurality of blocks, and includes a motion vector using a motion vector. Encoding a moving image in block units while performing compensation, generating a code sequence, generating restriction information indicating restriction on storage of a motion vector used for motion compensation, and generating the restriction information. Encoding step. As a result, it is possible to indicate a limitation on the storage of a motion vector used when performing motion compensation for a coding target block in a picture having a plurality of blocks.
  • Another moving image encoding method of the present invention is a method of encoding a moving image, which is a sequence of pictures composed of a plurality of blocks, while performing motion compensation using a motion vector.
  • a determining step of determining a coding mode of the block to be coded; and, when the coding mode of the block to be coded is the direct mode, the motion vector of the coded picture specified by the reference index is
  • a determination step of determining whether or not the motion vector of the encoded frame specified by the reference index is stored in the storage unit; and determining that the motion vector of the encoded frame specified by the reference index is not stored in the storage unit.
  • the direct mode is a coding mode for performing motion compensation of the current block using a motion vector used when a block in a coded picture is coded.
  • the reference index is a code for selecting a reference picture to be referred to when performing motion compensation on the current block from a plurality of coded pictures stored in a storage unit. It is characterized in that it is an index assigned to a converted picture.
  • the moving picture coding method further includes: when it is determined that the motion vector of the coded frame specified by the reference index is not stored in the storage unit,
  • the motion vector of the block may be ⁇ ⁇ J, and another step of deriving the motion of the block to be encoded may be included.
  • the moving picture coding method further comprises: when it is determined that the motion vector used when coding the coded frame specified by the reference index is stored in the storage, May have another derivation step for performing motion compensation of the current block using the motion vector stored in the motion vector.
  • Still another moving picture coding method of the present invention is a method of coding a moving picture which is a sequence of pictures composed of a plurality of blocks, and performs motion compensation using a moving vector.
  • Code moving images in block units Generating a code string; a first output step of generating restriction information indicating a restriction on storage of a motion vector used for motion compensation; and a picture referred to by the coding target block is a B picture.
  • Encoding wherein the B picture is a picture that performs motion compensation by referring to a maximum of two pictures for each block. As a result, it is possible to indicate the limitation of storage of a motion vector used when performing motion compensation of a coding target block in a picture having a plurality of blocks, and to indicate a motion vector that is not stored depending on a picture type. .
  • the restriction information and the storage information may be encoded as header information in the code sequence.
  • the moving picture coding method further includes: storing the moving vector used for coding the B picture based on the storage information in a storage area; Storing a motion vector of a P picture coded immediately before a picture having a block in a storage area, wherein the P picture refers to a maximum of one already coded picture for each block. It may be a picture that performs predictive coding. By this means, it is possible to indicate the limitation of storage of a motion vector used when performing motion compensation of a current block in a picture having a plurality of blocks, and to indicate a motion vector that is not stored depending on a picture type.
  • Still another moving image encoding method of the present invention is a method of encoding a moving image, which is a sequence of pictures composed of a plurality of blocks, while performing motion compensation using a motion vector.
  • the picture to be converted is the top Determining whether the picture to be coded is the top field or the bottom field, if the field is any one of the interlaced images composed of the field and the field of the field.
  • the motion vector used for motion compensation of the picture to be coded is stored in a storage area for the top field, and Storing the motion vector used for the motion compensation of the current picture in the storage area for the bottom field when the picture is determined to be the above-mentioned field.
  • the motion vector can be stored for each parity of the field.
  • the motion vector stored in the storage area for the top field and the motion vector stored in the storage area for the potom field may be a top frame belonging to the same frame. It may be the motion vector used when encoding the field and the bottom field. As a result, the motion vector used when encoding a field belonging to the same frame can be saved.
  • the video encoding method may further include, when encoding a picture to be encoded in a frame structure, storing a motion vector used for motion compensation of the encoding target picture in a storage area for a top field. And a storage area for the bottom field.
  • the motion vector used when performing motion compensation in the picture to be coded in the frame structure can be stored in both the storage area for the top field and the storage area for the bottom field.
  • a moving picture decoding method provides a method for decoding a moving picture, which is a sequence of pictures composed of a plurality of blocks, while performing motion compensation using a motion vector.
  • the decryption target professional Inputting a coded sequence having restriction information indicating restriction on storage of a motion vector used for motion compensation of a block, decoding the coded sequence and extracting the restriction information, Storing the motion vector in the storage area based on the information. With this, it is possible to limit the storage of the motion vector used when performing motion compensation for the current block in a picture having a plurality of blocks.
  • a coded sequence having mode information Inputting a coded sequence having mode information; decoding the coded sequence and extracting the coding mode information; and when the coded mode information indicates a direct mode.
  • a coding mode for performing motion compensation on the current block using a motion vector used when a block located at the same position as the current block is decoded.
  • the reference index is: A reference picture to be referred to when performing motion compensation on the current block from a plurality of decoded pictures stored in the storage unit. To select, characterized in that it is an index which is granted to the decrypted picture. This allows direct Even if the motion vector necessary for performing motion compensation in the mode is not in the storage unit, motion compensation of the decoding target block can be performed.
  • the motion vector of the decoding target block is set to “0 J It is also possible to have another deriving step of performing motion compensation of the block to be decoded as'. This allows decoding even if a motion vector required for performing motion compensation in the direct mode is not present in the storage unit. Motion compensation of the target block can be performed.
  • the video decoding method may further include: determining that the motion vector used when decoding the decoded picture specified by the reference index is stored in the storage unit; May have another derivation step for performing motion compensation of the current block using the motion vector stored in the motion vector. As a result, it is possible to compensate for the block to be decoded based on the determination whether there is a motion vector necessary for performing motion compensation in the direct mode.
  • Still another moving picture decoding method of the present invention is a method of decoding a moving picture, which is a sequence of pictures composed of a plurality of blocks, while performing motion compensation using a motion vector.
  • Restriction information indicating a restriction on storage of a motion vector used for motion compensation of a block to be decoded, and when decoding the B picture when a picture referred to by the decoding target block is a B picture.
  • a motion vector stored in the storage unit based on the restriction information, and a motion vector used when decoding the B picture based on the storage information.
  • a storage step does not store the B picture, It is a picture for which motion compensation is performed by referring to a maximum of two decoded pictures for each block. Thus, whether or not the motion vector should be saved can be determined based on the extracted restriction information and the saved information.
  • the motion vector used when decoding the B picture based on the storage information is not stored in the storage unit, and the picture having the decoding target block is stored in decoding order.
  • the motion vector of the P picture decoded just before is stored in the storage unit, and the P picture is a picture for which motion compensation is performed by referring to at most one already decoded picture for each block. It may be. With this, it is possible to determine whether or not the motion vector should be saved based on the extracted restriction information and the saved information.
  • Still another moving picture decoding method of the present invention is a method of decoding a moving picture, which is a sequence of pictures composed of a plurality of blocks, while performing motion compensation using a motion vector. If the picture to be decoded is any of the fields of an interlaced image consisting of a top field and a pottom field, the picture to be decoded is the top field. A step of determining whether the picture is a bottom field, and a motion vector used for motion compensation of the picture to be decoded when the picture to be decoded is determined to be the top field. When it is determined that the picture to be decoded is the bottom field, it is used for motion compensation of the picture to be decoded. Characterized by a step of store gastric motion base-vector in the storage area for the bottom field. Thus, a motion vector can be stored for each parity of the field.
  • FIG. 1 is a diagram showing an example of a conventional inter-picture prediction method in direct mode.
  • FIG. 2 is an explanatory diagram showing an example of assigning a picture number and a reference index to each input picture.
  • FIG. 3 is a conceptual diagram showing the format of an image coded signal in a conventional video coding method and video decoding method.
  • FIG. 4 (a) is a diagram showing an example of the initial setting of the reference index for the current picture B11 in the case where the B picture is encoded using four forward and one backward P picture as a reference picture. .
  • FIG. 4B is a diagram showing an example of the reference index of the picture B 11 when the reindexing is performed on the reference index shown in FIG. 4A.
  • FIG. 5 is a block diagram showing a configuration of the video encoding device according to Embodiment 1 of the present invention.
  • FIG. 6 (a) is a diagram showing the order of pictures input as input images to the video encoding device of FIG.
  • FIG. 6 (b) is a diagram showing the picture order when the picture order shown in FIG. 6 (a) is rearranged in the coding order.
  • FIG. 7 is a diagram illustrating an example of a code sequence generated by the code sequence generation unit illustrated in FIG.
  • FIG. 3 is a diagram illustrating an example of a code string described in the example.
  • FIG. 7B is a diagram showing an example of a code string in which information on the storage amount of a motion vector is described in a GOP (Group of Pictures) header.
  • FIG. 7 (c) is a diagram showing an example of a code string in which information on the storage amount of a motion vector is described in a picture header.
  • FIG. 7 (d) is a diagram showing an example of a code string in which information on the storage amount of a motion vector is described in a slice header.
  • FIG. 8 is a diagram illustrating an example of a calculation method when a motion vector of a target block is calculated using the direct mode.
  • FIG. 9 is a diagram illustrating an example of bidirectional prediction in a case where a motion vector of a reference picture whose second reference index is “0” cannot be used when encoding a B picture in the direct mode.
  • FIG. 10 is a diagram illustrating another example of bidirectional prediction in a case where a motion vector of a reference picture whose second reference index is “0” cannot be used when encoding a B picture in the direct mode.
  • FIG. 11 is a block diagram showing a configuration of the video decoding device according to the second embodiment.
  • FIG. 12 (a) shows the order of pictures included in a code string.
  • FIG. 12 (b) is a diagram showing the picture order when the picture arrangement shown in FIG. 12 (a) is rearranged in the decoding order.
  • FIG. 13 is a block diagram showing a schematic configuration of a recording apparatus that records management information for managing reproduction of data from a recording medium and encoded AV data on a recording medium such as a DVD.
  • FIG. 14 is a diagram illustrating an example of a recording medium such as a DVD in which management information generated by the system encoding unit illustrated in FIG. 13 and an AV (Audio Video) stream are recorded.
  • FIG. 15 is a block diagram showing a configuration of a moving picture coding device provided in the recording device shown in FIG.
  • FIG. 16 (a) is a diagram showing pictures input in display order and their coding order.
  • FIG. 16 (b) is a diagram showing a reference picture and a motion vector stored in a memory along with encoding of each picture in the conventional MPEG-4 encoding method.
  • FIG. 17 (a) is a diagram showing pictures input in display order and their encoding order.
  • FIG. 17 (b) is a diagram showing a reference picture and a motion vector stored in the memory along with the encoding of each picture in the moving picture coding apparatus shown in FIG. .
  • FIG. 18 is a diagram illustrating an example of a data stream transmitted by digital television broadcasting.
  • FIG. 19 is a block diagram showing a schematic configuration of the playback device of the fourth embodiment.
  • FIG. 20 is a block diagram showing a configuration of a video decoding device corresponding to the video decoding unit shown in FIG.
  • FIG. 21 is a diagram illustrating an example of a reference relationship between pictures when the current picture to be encoded or decoded has a field structure.
  • FIG. 22 is a diagram illustrating an example of a reference relationship between pictures when a picture to be encoded or decoded is a frame.
  • FIG. 23 is a diagram showing a temporal arrangement of each frame when encoding or decoding a moving image.
  • FIG. 24 (a) is a schematic diagram for explaining the operation of the memory when the memory address for storing the motion vector is one picture.
  • FIG. 24 (b) is a schematic diagram for explaining the operation of the memory when the motion vector of the top field and the motion vector of the bottom field are stored for two fields each.
  • FIG. 25 (a) shows an example of a physical format of a flexible disk as a recording medium main body.
  • Figure 25 (b) shows the appearance, cross-sectional structure, and flexible disk as viewed from the front of the flexible disk.
  • FIG. 25 (c) shows a configuration for recording and reproducing the above program on the flexible disk FD.
  • FIG. 26 is a block diagram showing an overall configuration of a content supply system ex100 for realizing a content distribution service.
  • FIG. 27 is a diagram illustrating the mobile phone ex115 using the moving picture coding method and the moving picture decoding method described in the above embodiments.
  • FIG. 28 is a block diagram illustrating a configuration of a mobile phone.
  • FIG. 29 is a diagram showing an example of a digital broadcasting system. BEST MODE FOR CARRYING OUT THE INVENTION
  • FIG. 5 is a block diagram showing a configuration of the moving picture coding apparatus 100 according to Embodiment 1 of the present invention.
  • the video encoding apparatus 100 stores only the motion vector detected in the reference picture encoded immediately before the current picture in the memory, If the motion vector to be referred to when encoding a B-picture in direct mode is not stored in the memory, a moving image that is encoded differently from the conventional direct mode
  • An image coding apparatus comprising a frame memory 101, a difference calculation unit 102, a prediction residual coding unit 103, a code sequence generation unit 104, and a prediction residual decoding unit 105.
  • the frame memory 101 is an image memory that stores an input image in units of pictures, and provides a storage area for rearranging pictures input as display images in the order of display in the order of encoding.
  • the difference calculation unit 102 reads the image read out from the picture in the frame memory 101 in block units and the image read out from the reference picture in the frame memory 107 based on the motion vector.
  • the prediction residual which is the difference from the block image, is obtained and output.
  • the prediction residual coding unit 103 applies frequency conversion to the prediction residual obtained by the difference calculation unit "102, quantizes and outputs the result. Quantization by the prediction residual coding unit 103 In some cases, irreversible processing may be included due to rounding of the division result, etc.
  • the code sequence generation unit 104 performs variable length coding on the quantization result from the prediction residual coding unit 103. After that, it is converted to the format of the encoded bit stream for output, and a code string is generated by adding additional information such as header information describing information related to the encoded prediction residual.
  • the residual decoding unit 105 performs variable-length decoding on the encoding result from the prediction residual encoding unit 103, performs inverse quantization, and performs inverse frequency transform to obtain the decoded prediction residual.
  • the addition operation unit 106 generates a prediction residual plot which is a decoding result of the prediction residual decoding unit 105.
  • the block of the reference image is added to the block, and the decoded image of one block is output.
  • the frame memory 107 stores the decoded image of each block, and stores the reference image as a picture. This is an image memory that is stored in units.
  • the motion vector detection unit 108 detects the motion vector of the target picture in units of blocks of a predetermined size.
  • the mode selection section 109 Refers to the target block read from the frame memory 101 and the motion vector detected for it, and calculates the motion vector of the target block in the direct mode or another mode. Or choose.
  • the mode selection unit 109 stores the motion vector of the reference picture, which is stored in the motion vector storage unit 116 in the display order behind the current picture.
  • the motion vector of the target block is calculated using the torque.
  • the mode selection unit 109 reads the block of the reference image indicated by the motion vector, which is the result of the calculation, from the frame memory 107, and reads the difference operation unit 102 and the addition operation unit 106.
  • the encoding control unit 110 replaces the pictures of the input image stored in the frame memory 101 in display order in the order in which they are to be encoded, and encodes the pictures in the order of encoding from the picture to be encoded. Read the block that is the unit of the conversion process. Further, the coding control unit 110 allocates a reference index for each reference picture, and manages a reference index list that is a list of allocated reference indices. Further, the coding control unit 110 Only the motion vector of the reference picture coded immediately before the picture to be coded is stored in the motion vector storage unit 116, and the motion vector stored in the motion vector storage unit 116 is stored. Create information that indicates the amount of storage in the vector. The motion vector storage unit 116 provides a storage area for storing a motion vector obtained in a reference picture coded immediately before a picture to be coded.
  • FIG. 6 (a) is a diagram showing the order of pictures input as input images to the moving picture coding apparatus 100 in FIG. Figure 6 (a) shows the sequence of pictures input to the frame memory 101.
  • the vertical line is the picture
  • the first letter of the alphabet indicates the picture type (I, P or B)
  • the numbers after the second letter indicate the picture numbers in the display order .
  • Each picture input to the frame memory 101 is rearranged in coding order.
  • FIG. 6B is a diagram showing the picture order when the picture order shown in FIG. 6A is rearranged in the coding order.
  • a P picture is a reference picture using three neighboring I pictures or P pictures in the display order.
  • each block to be coded in the P picture to be coded is in display order.
  • the B picture three I pictures or P pictures in the vicinity in the display order and one I picture or P picture in the back in the display order are used as reference pictures. Therefore, for each block to be coded in the B picture to be coded, motion compensation is performed by referring to two reference pictures. It can be arbitrarily selected from the three neighboring I-pictures or P-pictures and the neighboring one I-picture or P-picture in the display order. For this reason, at the point before the encoding of the B picture, one neighboring I picture or P picture behind the B picture in display order must be encoded. In this case, the result of rearranging the pictures of FIG. 6A is as shown in FIG. 6B.
  • picture B5 which is a B picture
  • the picture is later than picture B5 in the display order (I picture or)
  • the picture P7 which is a P picture and which is closest to the picture B5 is encoded before encoding the picture B5.
  • the pictures rearranged in the frame memory 101 are read in units of macro blocks.
  • the macroblock has a size of 16 horizontal pixels ⁇ 16 vertical pixels.
  • motion compensation is performed in units of blocks (here, the size of 8 pixels x 8 pixels).
  • the management of the reference index in the present embodiment is performed by the encoding control unit 110.
  • the encoding control unit 110 determines which type of picture (1, P or B picture) is to be used to encode the input picture, and, based on the picture type, the switch switch 113, the switch 111 Control the switch 1 1 5.
  • the picture type is generally determined by, for example, a method of periodically allocating the picture type. By determining the picture type, the coding order of the pictures is switched in the frame memory 101.
  • the coding control unit 110 controls each switch so that the switches 113, 114, and 115 are turned on. Therefore, the macroblock of the picture P13 read from the frame memory 101 is first input to the motion vector detection unit 108, the mode selection unit 109, and the difference calculation unit 102. ,.
  • the motion vector detection unit 108 uses the decoded image data of the picture P10 stored in the frame memory 107 as a reference picture, and uses the motion vector for each block in the macroblock. Detects torque. The detected motion vector is output to the mode selection unit 109.
  • the mode selection unit 109 determines the macroblock encoding mode using the motion vector detected by the motion vector detection unit 108.
  • the coding mode indicates a method of coding a macroblock. For example, in the case of a P picture, intra-picture coding, inter-picture predictive coding using a motion vector, and no motion vector are used (the motion vector is treated as ⁇ 0 '', (The motion vector is selected from the motion vector.) It is assumed that it is possible to determine which method to use for encoding from inter-picture prediction encoding. In determining the encoding mode, a method is generally selected in which the encoding error is reduced with a small bit amount.
  • the coding mode determined by the mode selection unit 109 is output to the code sequence generation unit 104. If the current picture is a picture used as a reference picture when encoding another picture, and the encoding mode determined by the mode selection unit 109 is inter-picture prediction encoding, The mode selection unit 109 stores the motion vector used in the inter-picture prediction coding in the motion vector storage unit 116. However, the operation of storing the motion vector in the motion vector storage unit 116 is controlled by the encoding control unit 110 as described later. The motion vector is output from the mode selection unit 109 to the code string generation unit 104.
  • the operation of storing the motion vector in the motion vector storage unit 116 by the mode selection unit 109 will be described below.
  • the number of motion vectors stored in the motion vector storage unit 116 is specified by the encoding control unit 110. Is done.
  • the P picture is coded using the preceding three pictures as reference pictures, but in this case, motion vectors with a number of pictures smaller than the number of reference pictures are stored in the motion vector storage unit 116.
  • Store For example, suppose here that a motion vector of only one picture is stored. In this case, as a motion vector to be stored, there is a method of storing a motion vector of a reference picture coded immediately before a current picture in a coding order among reference pictures.
  • the motion vector already stored in the motion vector storage unit 116 may be deleted at the start of encoding of the current picture, or every time the encoding mode is determined.
  • the motion vector may be overwritten in the order of the block to be encoded.
  • the amount of motion vector to be stored may be determined based on the size of the area (memory) for storing the motion vector of the decoding device.
  • the motion vector stored in the motion vector storage unit 116 may be an I picture only, a P picture only, or an I picture and a P picture only.
  • the motion vector of a predetermined number of blocks or all blocks coded using inter-picture prediction other than the direct mode before the target block is stored. May be performed.
  • the motion vector information stored for the I picture is information indicating that no motion vector is stored (because the I picture is not motion compensated).
  • the motion vector stored in the motion vector storage unit 116 even if several pictures are stored in the display order from the picture closest to the picture to be coded, the coding order ( Any number of pictures may be saved from a picture close to the picture to be coded in the stream order (from the next picture in the stream order).
  • a B picture refers to the two subsequent P pictures, they are close in coding (or decoding) order, but far apart in time. No (not suitable for motion compensation) High possibility.
  • the number of motion vectors (for example, the number of reference pictures, the number of macroblocks) stored in the motion vector storage unit 116, which is specified by the encoding control unit 110, is Output to the code string generator 104.
  • a reference image based on the coding mode determined by the mode selection unit 109 is output to the difference calculation unit 102 and the addition calculation unit 106.
  • intra-picture encoding is selected, no reference image is output.
  • the encoding control unit 110 connects the switch 1 1 1 to the terminal a and the switch 1 1 2 to the terminal c.
  • inter-picture prediction encoding is selected, control is performed so that switch 11 1 is connected to terminal b and switch 11 12 is connected to terminal d.
  • the difference calculation unit 102 receives a reference image from the mode selection unit 109 in addition to the macroblock image data.
  • the difference calculation unit 109 calculates a difference between the image data of the macroblock and the reference image, and generates and outputs a prediction residual image.
  • the prediction residual image is input to the prediction residual encoding unit 103.
  • the prediction residual encoding unit 103 generates and outputs encoded data by performing encoding processing such as frequency conversion and quantization on the input prediction residual image.
  • encoding processing such as frequency conversion and quantization
  • the processing of frequency conversion and quantization can be performed in units of 8 horizontal pixels ⁇ 8 vertical pixels.
  • the encoded data output from the prediction residual encoding unit 103 is input to the code sequence generation unit 104 and the prediction residual decoding unit 105.
  • the code string generation unit 104 performs variable length coding on the input coded data, and furthermore, the motion vector information input from the mode selection unit 109 and the coding mode.
  • a code string is generated by adding the information of, other header information, and the like.
  • the header information describes information (for example, the number of reference pictures and the number of macroblocks) regarding the storage amount of the motion vector determined by the encoding control unit 110. This description may be described in the header of the entire code sequence (sequence header), the header of the GOP composed of multiple pictures (GOP header), the picture header, the slice header, and the like.
  • FIG. 7 is a diagram illustrating an example of a code sequence generated by the code sequence generation unit 103 illustrated in FIG. In the following figures, each hatched portion indicates a header.
  • FIG. 7 (a) is a diagram showing an example of a code string in which information on the storage amount of a motion vector is described in a sequence header.
  • FIG. 7 (b) is a diagram showing an example of a code string in which information on the storage amount of a motion vector is described in a GOP (Group of Pictures) header.
  • FIG. 7 is a diagram illustrating an example of a code sequence generated by the code sequence generation unit 103 illustrated in FIG. In the following figures, each hatched portion indicates a header.
  • FIG. 7 (a) is a diagram showing an example of a code string in which information on the storage amount of a motion vector is described in a sequence header.
  • FIG. 7 (b) is a diagram showing an example of a code string in which information on the storage amount of a motion vector is described in a GOP (
  • FIG. 7 (c) is a diagram showing an example of a code string in which information on the storage amount of a motion vector is described in a picture header.
  • FIG. 7 (d) is a diagram showing an example of a code string in which information on the storage amount of a motion vector is described in a slice header. Also, this description may be written only once in the header of the entire code string, or the same information is repeated in the GOP header (GOP header), picture header, slice header, etc. It may be returned and described.
  • GOP header GOP header
  • picture header picture header
  • slice header etc. It may be returned and described.
  • the information on the storage amount of the motion vector is not limited to the number of reference pictures or the number of macroblocks, but may be, for example, information or memory indicating that the storage amount of the motion vector is limited. May be information indicating that the data stored in the storage device is limited.
  • the prediction residual decoding unit 105 performs decoding processing such as inverse quantization and inverse frequency transformation on the input coded data to generate and output a decoded difference image.
  • the decoded difference image is added to the predicted image in the addition operation unit 106 to be a decoded image and is stored in the frame memory 107.
  • encoding processing is performed on the remaining macroblocks of the picture P13. Then, when the processing has been completed for all the macro blocks of the picture P 13, the encoding processing of the picture B 11 is performed next.
  • picture B11 is a B picture
  • inter-picture prediction coding using bidirectional reference is performed.
  • the reference picture in the display order is a picture P10, a picture P7, a picture P4 in the front in the display order, and a picture P13 in the display order in the back in the display order.
  • the encoding control unit 110 controls each switch such that the switch 113 is turned on, the switch 114 and the switch 115 are turned off. I do. Therefore, the macroblock of the picture B 11 read from the frame memory 101 is input to the motion vector detecting unit 108, the mode selecting unit 109, and the difference calculating unit 102.
  • the motion vector detection unit 108 pre-decodes the decoded image data of the pictures P10, P7, and P4 stored in the frame memory 107. By using the decoded image data of the picture P13 as the backward reference picture as the reference picture, the forward motion vector and the backward motion vector of each block included in the macroblock are detected.
  • the mode selection unit 109 determines the macroblock encoding mode using the motion vector detected by the motion vector detection unit 108.
  • the coding modes of the B picture are, for example, intra-picture coding, inter-picture predictive coding using a forward motion vector, inter-picture predictive coding using a backward motion vector, and bidirectional motion. Inter-picture prediction coding using a vector and direct mode can be selected.
  • FIG. 8 is a diagram illustrating an example of a calculation method when the motion vector of the target block is calculated using the direct mode.
  • the encoding target block is a block a in the picture B 11.
  • the motion vector of the block at the same position as block a in the reference picture whose second reference index is ⁇ 0 J for picture B 11 1 I do.
  • the motion vector stored in the motion vector storage unit 116 is stored in association with a picture number in order to specify which picture the motion vector belongs to. I have.
  • the mode selection unit 109 examines the picture number ⁇ 13 J of the reference picture whose second reference index is ⁇ 0 J for the picture B 11 from the reference index list of the picture B 11, and It is determined whether or not the motion vector of the reference picture “13” is stored in the motion vector storage unit 116. Since picture P 13 is the reference picture coded closest to picture B 11 in coding order, The motion vector when each block of the channel 13 is encoded is stored in the motion vector storage unit 116.
  • the motion vector of the block b of the picture P13 is used.
  • the motion vector c is the motion vector used when the block b was encoded, and is stored in the motion vector storage unit 116.
  • This motion vector c refers to picture P10.
  • the motion vector used to encode the block a is a motion vector d for the picture P10 and a motion vector e for the picture P13.
  • the magnitude of the motion vector d which is the forward motion vector is MVF
  • the magnitude of the motion vector e which is the backward motion vector is MVB
  • the magnitude of the motion vector c is MVP.
  • TRB be the motion vector
  • the motion vector MVF and motion vector MVB can be obtained by (Equation 1) and (Equation 2), respectively.
  • MVF and MVB are the horizontal component of the motion vector and the vertical component, respectively. It is assumed that the components are combined and expressed.
  • the motion vector c As a second method for generating the motion vector of the block a from the motion vector c, there is a method of scaling the motion vector c using a predetermined scaling coefficient.
  • the scaling coefficient used here may be changeable in units of multiple blocks or multiple pictures. Also, this scaling factor may be uniquely determined by the system and shared between the encoding side and the decoding side, or may be described as header information in the code sequence, so that it can be determined by the encoding side. It may be shared with the decoding side.
  • the reference picture whose second reference index is ⁇ 0 ” is a reference picture other than the picture P13
  • one of picture P10, picture P7, and picture P4 is a reference picture having a second reference index of ⁇ 0J with respect to picture B11. Since the reference pictures other than the picture P 13 are not the reference pictures coded closest to the picture B 11 in the coding order, the motion vector when each block of those pictures is coded is Movement vector Not stored in memory 1 1 6. Therefore, even if the block a is to be encoded in the direct mode, the motion vector of the reference picture whose second reference index is “0” cannot be used.
  • FIG. 9 is a diagram illustrating an example of bidirectional prediction in a case where a motion vector of a reference picture whose second reference index is “0” cannot be used when encoding a B picture in the direct mode.
  • the picture whose first reference index is ⁇ 0 J is picture P7 and the second reference index If the picture whose index is ⁇ 0 J is picture P 10, bidirectional prediction can be performed on block a as shown in FIG.
  • motion compensation is performed with reference to the block at the same position as block a in pictures P7 and P10.
  • the motion vectors of the blocks around the target block are stored in the motion vector storage unit 116 by the mode selection unit 109.
  • the motion vectors used when coding three neighboring blocks BL 1, block BL 2, and block BL 3 are used. Using the vector, the motion vector used to encode the block BL is determined.
  • a method of determining the motion vector for example, for each of the forward motion vector and the backward motion vector, a method of calculating the median value / average value of the motion vectors of three peripheral blocks, For each of the motion vector that refers to the first reference picture and the motion vector that refers to the second reference picture, a method of calculating the median and average of the motion vectors of three neighboring blocks can be considered. .
  • the encoding mode determined by the mode selection unit 109 is output to the code sequence generation unit 104. Also, a reference image based on the encoding mode determined by the mode selection unit 104 is output to the difference calculation unit 102 and the addition calculation unit 106. However, when intra-picture encoding is selected, no reference image is output.
  • the coding control unit 110 sets the switch 1 1 1 to the terminal a and the switch 1 1 2 to the terminal c.
  • switch 1 1 1 is set. Control is performed so that switch 1 1 and 2 are connected to terminal b and terminal d.
  • the inter-picture prediction coding is selected by the mode selection unit 109 will be described.
  • the reference image is input to the difference calculation unit 102 from the mode selection unit 109.
  • the difference calculation unit 109 calculates the difference between the macroblock of the picture B11 and the reference image, and generates and outputs a prediction residual image.
  • the prediction residual image is input to the prediction residual encoding unit 103.
  • the prediction residual encoding unit 103 generates and outputs encoded data by performing encoding processing such as frequency conversion and quantization on the input prediction residual image.
  • the coded data output from the prediction residual coding unit 103 is input to the code string generation unit 104.
  • the code string generation unit 104 performs variable length coding and the like on the input coded data, and further performs the motion vector information and coding mode input from the mode selection unit 109.
  • a code string is generated by adding information on the header and other header information. However, for macroblocks coded in direct mode, no motion vector information is added to the code string.
  • encoding processing is performed on the remaining macroblocks of picture B11. Then, when the processing has been completed for all the macro blocks of the picture B 11, the encoding processing of the picture B 12 is performed next.
  • the moving picture coding method determines how many (for example, how many pictures) of the motion vectors are to be stored for the motion vectors used in the coding in the direct mode. Set restrictions. Then, information indicating that the restriction is imposed (restriction information and storage information in the claims) is described as header information of the code string. Also, when encoding in direct mode, the motion vector to be used exists in the memory. Use the movement vector. On the other hand, if the motion vector to be used does not exist in the memory, the motion vector of the target block is coded as ⁇ 0 J, or in the same picture, around the block to be coded. Encoding is performed using the motion vector used to encode a certain encoded block.
  • the storage amount of the motion vector to be stored for the direct mode can be reduced, and the memory amount in the hardware / software I can be reduced. Further, even when there is no motion vector to be used in the direct mode, the direct mode can be implemented by an alternative method. Further, as described above, the present invention can be carried out regardless of the picture in which the second reference index is “0”. Therefore, a method for setting a picture in which the second reference index is “0” is newly provided. It is not necessary to define the information in a simple manner, and it is possible to prevent design complexity.
  • a macroblock is a unit of 16 pixels in the horizontal direction and 16 pixels in the vertical direction
  • motion compensation is in units of 8 pixels ⁇ 8 pixels
  • encoding of the block prediction residual image is The case of processing in units of 8 pixels ⁇ 8 vertical pixels has been described, but these units may have a different number of pixels.
  • the method of determining the number of peripheral blocks and the predicted value may be another value or another method.
  • the P picture is the three neighboring I pictures or P pictures in the display order.
  • As a reference picture and B picture The description has been given of the case where the three I-pictures or P-pictures located in the front in the display order are used as the forward reference pictures, and the one I-picture or P-picture located in the back in the display order is used as the back reference picture. These reference picture numbers may be different values.
  • the motion vector used for encoding the I picture or the P picture need be stored in the motion vector storage unit 116.Thus, in the direct mode, The motion vector used when coding the picture whose second reference index is “0” for the current picture to be coded can be used, and coding efficiency can be improved.
  • whether the motion vector used for encoding the B picture is stored in the motion vector storage unit 116 is determined in advance by the encoding device and the decoding device.
  • the encoding control unit 110 may make the determination, and the information may be described in the header by the code string generation unit 104.
  • whether to store the motion vector used for encoding a picture in the motion vector storage unit 116 is determined in advance by the encoding device and the decoding device, and the information is determined.
  • the code string generation unit 104 may not need to describe it in the header.
  • the motion vector stored for the direct mode is stored, and the motion vector used when one immediately preceding reference picture is coded in the coding order is stored.
  • the motion vectors to be stored and those not to be stored are directly stored. It may be specified for the decoding device. For example, in the header of a picture that specifies whether or not to store a motion vector, or in the header of another picture, specify the picture number or the like of the picture that specifies whether or not to store a motion vector. By doing so, it is possible to instruct the decoding device which motion vector of which picture is stored and which motion vector of which picture is not stored.
  • the motion vector of picture P10 is It is instructed not to memorize the motion vector of picture P13.
  • the motion vector of picture P 10 (the reference picture whose second reference index is ⁇ 0 J) is stored in motion vector storage section 116.
  • the motion vector of the reference picture whose second reference index is ⁇ 0 ” can be used.
  • the information that specifies which motion vector is to be retained may be described as header information in the code string. For example, Information indicating whether to save the motion vector for each picture (for example, ⁇ 0 J or ⁇ 1 J) is described in the header of the code string.
  • information indicating a period during which a motion vector is stored (for example, ⁇ ⁇ ⁇ ⁇ 0 if not stored), a predetermined picture if a new picture is to be stored again three pictures after a predetermined picture. 3 J) is described as additional information of the motion vector.
  • FIG. 11 is a block diagram showing a configuration of a video decoding device 700 according to the second embodiment.
  • the video decoding device 700 stores the motion vector of the reference picture in the memory according to the method of storing the motion vector described in the header information in the code string, and stores the motion vector of the target picture to be decoded.
  • a video decoding device that performs decoding comprising: a code sequence analysis unit 701, a prediction residual decoding unit 702, a mode decoding unit 703, a motion compensation decoding unit 705, and a motion vector storage. It has a section 706, a frame memory 707, an addition operation section 708, a switch 709, and a switch 710.
  • FIG. 12 (a) shows the order of pictures included in a code string.
  • FIG. 12 (b) is a diagram showing the picture order when the picture arrangement shown in FIG. 12 (a) is rearranged in the decoding order. It is assumed that the order of the pictures in the code string input to the video decoding device 700 is as shown in FIG. 12 (a).
  • the P picture is a reference picture with three neighboring I pictures or P pictures in the display order
  • a B picture is a display picture with the three neighboring I pictures or P pictures in the display order. It is assumed that the encoding is performed using one I-picture or P-picture in the vicinity at the back as a reference picture.
  • P picture, B picture As a typical example of the decoding process of the charge, the decoding process of the picture P13 and the picture B11 will be described in order. It should be noted that reference index management in the present embodiment is performed by the code string analysis unit 701.
  • a code sequence input to the video decoding device 700 is first input to a code sequence analysis unit 700.
  • the code string analysis unit 700 extracts various data from the input code string.
  • the various data are mode selection information, motion vector information representing an encoded motion vector, and the like.
  • the extracted mode selection information is output to mode decoding section 703.
  • the extracted motion vector information is output to the motion compensation decoding unit 705.
  • the prediction residual coded data is output to prediction residual decoding section 720.
  • the mode decoder 703 controls the switches 709 and 710 with reference to the mode selection information extracted from the code string.
  • the mode selection is intra-picture coding
  • control is performed so that the switch 709 is connected to the terminal a and the switch 710 is connected to the terminal c.
  • the mode selection is the inter-picture prediction coding
  • control is performed so that the switch 709 is connected to the terminal b and the switch 710 is connected to the terminal d.
  • the mode decoding unit 703 also outputs information on mode selection to the motion compensation decoding unit 705.
  • mode selection is inter-picture predictive coding
  • the prediction residual decoding unit 7202 decodes the input prediction residual encoded data to generate a prediction residual image.
  • the generated prediction residual image is output to the switch 709.
  • the prediction residual image is output to the addition operation unit 708.
  • the motion compensation decoding unit 705 performs a decoding process on the motion vector information, which is the coded motion vector, input from the code sequence analyzing unit 701. Then, a motion compensated image (block) is obtained from the frame memory 707 based on the decoded reference picture number and the motion vector. The motion compensation image generated in this way is output to the addition operation unit 708.
  • the motion compensation decoding section 705 When decoding a picture used as a reference picture when decoding another picture, the motion compensation decoding section 705 stores the motion vector in the motion vector storage section 705. To be stored.
  • the motion vector obtained when decoding the picture P 13 is stored in the motion vector storage unit 706.
  • the storage of the motion vector in the motion vector storage unit 706 is controlled by the header information of the code string.
  • the number of motion vectors stored in the motion vector storage unit 706 is described in the header of the code string.
  • the header information is extracted by the code sequence analysis unit 701 and output to the motion compensation decoding unit 705.
  • the motion vector of only one picture is stored in the header.
  • the motion vector already stored in the motion vector storage unit 706 may be deleted at the start of decoding of the current picture, or the motion vector may be decoded by decoding the block.
  • the motion vector may be overwritten each time it is obtained.
  • the addition operation unit 708 adds the input prediction residual image and the motion compensation image to generate a decoded image.
  • the generated decoded image is output to the frame memory 707 via the switch 710.
  • the macroblocks of the picture P13 are sequentially decoded.
  • the decoding of the picture B11 is performed.
  • the operations of the code sequence analysis unit 701, the mode decoding unit 703, and the prediction residual decoding unit 702 are the same as those in the decoding process of the picture P16, and thus the description is omitted. .
  • the motion compensation decoding unit 705 performs a decoding process on the coded motion vector input from the code sequence analyzing unit 701. Then, a motion-compensated image (block) is obtained from the frame memory 707 based on the decoded motion vector.
  • FIG. 8 is a diagram in which the pictures P 10 to P 13 are arranged in chronological order, and it is assumed that the decoding target block is the block a.
  • decoding block a in the direct mode the motion vector of the block at the same position as block a in the reference picture whose second reference index is ⁇ 0 J is used.
  • the motion vector of only one picture is stored in the header and is decoded in the reference picture immediately before in the decoding order.
  • the motion vector of the reference picture is stored.
  • the motion vector when each block of the picture P 13 is decoded is It is stored in the vector storage unit 706. Therefore, when decoding the block a in the direct mode, the block b of the picture P13 is used. Will use the motion vector.
  • the motion vector c is the motion vector used when the block b was encoded, and is stored in the motion vector storage unit 706.
  • This motion vector c refers to picture P10.
  • bidirectional prediction is performed from a picture P10 and a picture P13, which are reference pictures, using a motion vector generated from the motion vector c.
  • the motion vector used for encoding the block a is a motion vector d for the picture P10 and a motion vector e for the picture P13.
  • the magnitude of the motion vector d which is the forward motion vector is MVF
  • the magnitude of the motion vector e which is the backward motion vector is MVB
  • the magnitude of the motion vector c is MVP.
  • a reference picture (picture P 13) whose second reference index of the current picture (picture B 11) is ⁇ 0 J and a block of a reference picture whose second reference index is “0” are referenced
  • the temporal distance from the picture (picture P10) is TRD, and the current picture (picture B11) and the picture referenced by the block of the reference picture whose second reference index is "0" (picture P10) ),
  • the motion vector MV F and the motion vector MVB can be obtained by (Equation 1) and (Equation 2), respectively.
  • the motion vector c As a second method for generating the motion vector of the block a from the motion vector c, there is a method of scaling the motion vector c using a predetermined scaling coefficient.
  • the scaling coefficient used here may be changeable in units of multiple blocks or multiple pictures. Also, this scaling factor may be uniquely determined by the system and shared between the encoding side and the decoding side, or may be used as header information in the code string. It may be used by extracting what has been described by the code string analysis unit 70 1.
  • the reference picture whose second reference index is ⁇ 0 J is a reference picture other than the picture P13.
  • one of the pictures P "I0, P7, and P4 is a reference picture with a second reference index of ⁇ 0 J.
  • the reference pictures other than the picture P13 are decoded. Since the reference picture is not the decoded reference picture closest to picture B 11 in the order, it is determined which motion vector is stored in the motion vector storage unit 116. The picture number of the picture with index ⁇ 0” is obtained from each picture number, and the obtained picture numbers are compared to determine each other.) When decoding each block of those pictures The motion vector is not stored in the motion vector storage unit 706. Therefore, when encoding block a in the direct mode, the motion vector of the reference picture whose second reference index is “0” cannot be used.
  • a first method of the direct mode processing there is a method in which a motion vector is set to 0 and two-way prediction is performed.
  • the reference picture for example, a picture whose first reference index is ⁇ 0 J and a picture whose second reference index is ⁇ 0 J can be used. For example, if the picture whose reference index is ⁇ 0 J is picture P 7 and the picture whose second reference index is ⁇ 0 J is picture P 10, as shown in FIG.
  • Direction prediction can be performed.
  • a second method of the direct mode processing there is a method using a motion vector of a peripheral block in the same picture. In this case, for example, as shown in FIG.
  • the motion vector is used to determine the motion vector used when decoding the block BL using the vector.
  • the method of determining the motion vector used for decoding is, for example, the median value or the average of the motion vectors of three neighboring blocks for each forward motion vector and each backward motion vector. A method of obtaining the value can be considered. It is also assumed that the motion vector of the peripheral block in this case is stored in the motion vector storage unit 706 by the motion compensation unit 705.
  • the motion-compensated image generated in this way is output to the addition operation unit 708.
  • the addition operation unit 708 adds the input prediction residual image and the motion-compensated image to generate a decoded image.
  • the generated decoded image is output to the frame memory 707 via the switch 710.
  • the macroblocks of picture B11 are sequentially decoded.
  • the decoding of the picture B12 is performed.
  • the decoded pictures are sequentially output from the frame memory 707 as output images, as shown in FIG. 12 (b).
  • the moving picture decoding method determines how many (for example, how many pictures) of the motion vectors are to be stored for the motion vectors used when performing encoding in the direct mode.
  • Input a coded code string with restrictions and decode the code string.
  • information indicating that the restriction is applied is extracted from the header information of the code string, and decoding is performed based on the extracted information.
  • decoding in direct mode if the motion vector to be used exists in the memory, the motion vector is used. If the motion vector does not exist in the memory, the motion vector is used. Decode with the vector set to 0, or restore neighboring blocks in the same picture. Decoding is performed using the motion vector used for decoding.
  • the direct mode can be implemented by an alternative method.
  • the present invention can be implemented regardless of a picture in which the second reference index is ⁇ 0 J, and thus a new method for setting a picture in which the second reference index is “0” is provided. It does not need to be defined in any way, which can prevent the design from becoming complicated.
  • a method of determining the motion vector to be used in the direct mode using the motion vectors of three decoded peripheral blocks has been described in the description using FIG. 10.
  • the number of peripheral blocks and the method of determining the predicted value may be other values or other methods. For example, there is a method of using the motion vector of the block on the left as a prediction value.
  • the P picture is a reference picture using three neighboring I pictures or P pictures in the display order
  • the B picture is a three adjacent I pictures or P pictures in the front in display order.
  • a P picture is used as a forward reference picture and one nearby I picture or P picture in the display order is used as a backward reference picture
  • these reference pictures may have different values.
  • a B picture may be used as a reference picture.
  • a B picture is used as a reference picture. Although the case where it is not used has been described, this may be the case where a B picture is used as a reference picture.
  • the picture obtained by decoding the B picture is stored in the frame memory 707 as a reference picture.
  • the motion vector when decoding the B picture need not be stored in the motion vector storage unit 706. Whether to store the motion vector used for decoding the B picture in the motion vector storage unit 706 can be determined in advance by the encoding device and the decoding device. , Can be determined by extracting information determined on the encoding device side and described in the header part of the code string.
  • the motion vector stored for the direct mode is stored as the motion vector used for decoding one reference picture decoded immediately before in the decoding order.
  • motion vectors of different reference picture numbers may be stored.
  • those to be stored and those not to be stored may be directly specified. This can be done, for example, by specifying the motion vector of a picture by specifying the picture number of the picture whose storage is specified in the header of a picture whose storage is specified or the picture number whose storage is specified in the header of another picture. Suppose that it is indicated in the header that the motion vector of the picture is not stored. Therefore, these pieces of instruction information may be extracted from the header information in the code string. If it is specified that the motion vector of the picture P10 is to be stored and the motion vector of the picture P13 is not to be stored, the motion vector is not stored at the time of decoding the picture B11.
  • the vector storage unit 706 stores the motion vector of the picture P10.
  • decoding picture B 11 assuming that the reference picture whose second reference index is ⁇ 0 ”is picture P 10, In the mode, the motion vector used when decoding the reference picture whose second reference index is “0” can be used. By using such a method, it is possible to perform more flexible motion vector storage management.
  • the decoding apparatus decodes the P picture which has been coded immediately before in the stream order of the reference pictures referred to by the picture having the current block as described above, that is, in the coding apparatus.
  • the motion vector used for the data may be stored.
  • the decoded pictures are sequentially output as an output image from the frame memory 707, and the output is rearranged in the order of display time based on the time of the picture stored in the frame memory 707. Output.
  • the time of each picture may be obtained from time information output by a system for transmitting the picture through a transmission path such as a bucket, for example, or a video stream and an audio stream may be obtained. May be obtained from time information in a format for multiplexing, or may be obtained from time information in a format of a video stream. In addition, either of these may be the absolute time at which the time can be determined for each picture, or the relative time at which the time before or after the time can be determined between the pictures.
  • the motion vector used when decoding the immediately preceding P picture in display order or the previous P picture in display order is stored. Improves the accuracy of motion compensation by storing the motion vector used to decode a reference picture that is temporally close to the picture containing the block to be decoded. Can increase the likelihood.
  • FIG. 13 shows a schematic configuration of a recording apparatus 500 that records management information for managing reproduction of data from a recording medium and encoded AV data on a recording medium such as a DVD. It is a block diagram.
  • the recording device 500 is a recording device that encodes video data accompanied by audio and records it on a recording medium, and includes a video encoding unit 501, an audio encoding unit 502, and a system encoding unit 503.
  • the video encoding unit 501 is a moving image encoding device that encodes input video data.
  • the audio encoding unit 502 is an audio encoding device that encodes input audio data.
  • the system encoding unit 503 multiplexes the video stream and the audio stream to generate an AV stream, and records the AV stream on a recording medium. Further, after recording the AV stream, the system encoding unit 503 generates management information according to an input from an input unit (not shown), and the generated management information is used by the AV stream in the recording medium. Record in an area different from the recorded area.
  • the video data input to the recording device 500 is input to the video encoding unit 501, and the input audio data is output to the audio encoding unit 502.
  • the video data input to the video encoder 501 and the audio data input to the audio encoder 502 are Encoding is performed in real time while synchronizing between the encoding unit 501 and the audio encoding unit 502.
  • the code sequence generated by the video encoding unit 501 is output to the system encoding unit 503 as a video stream.
  • the code sequence coded by the audio coding unit 502 is output to the system coding unit 503 as an audio stream.
  • the system encoding unit 503 multiplexes the video stream input from the video encoding unit 501 and the audio stream input from the audio encoding unit 502, and multiplexes the AV stream.
  • a trim is generated and the generated AV stream is recorded on a recording medium in real time.
  • the system encoding unit 503 reads the control code generated by the video encoding unit 501 from the video encoding unit 501. Management information including the generated control code, and records the generated management information in an area on a recording medium different from the area where the AV stream is recorded.
  • FIG. 14 shows an example of a recording medium 400 such as a DVD on which management information and an AV (Audio Video) stream generated by the system encoding section 503 shown in FIG. 13 are recorded.
  • a recording medium 400 such as a DVD on which management information and an AV (Audio Video) stream generated by the system encoding section 503 shown in FIG. 13 are recorded.
  • FIG. 14 data is recorded concentrically on the recording medium 400, and the management information 401 and the AV data 402 are respectively recorded in different areas on the recording medium 400.
  • the AV data 402 is recorded in an outer peripheral area of the recording medium 400
  • the management information 401 is recorded in an inner peripheral area of the recording medium 400.
  • FIG. 15 is a block diagram showing a configuration of a moving picture coding device 900 provided in the recording device 500 shown in FIG.
  • the moving picture coding device 900 corresponds to the video coding unit 501 shown in FIG.
  • the moving picture coding apparatus 900 converts the control code (control information in claims) indicating that data stored in the motion vector storage section is limited, by the code
  • a moving picture coding apparatus that outputs data as separate data at a different timing from a column, including a frame memory 101, a difference calculation unit 102, a prediction residual coding unit 103, and a prediction residual Difference decoding unit 105, addition operation unit 106, frame memory 107, motion vector detection unit 108, mode selection unit 109, switch 11 "!
  • ⁇ 1 15 It comprises a motion vector storage unit 116, a code sequence generation unit 904, and an encoding control unit 910.
  • the motion vector detection unit 108 encodes a B picture, unlike the first embodiment.
  • four I-pictures or P-pictures in front of the picture to be coded in the display order and the pictures to be coded in the display order are displayed.
  • the motion vector search is performed using the one I-picture or P-picture behind the channel as a reference picture, and the code sequence generation unit 904 calculates the quantization result from the prediction residual coding unit 103.
  • variable-length encoding After variable-length encoding, it is converted to the output bitstream format, and a code string is generated by adding additional information such as header information that describes the relevant information of the encoded prediction residual. Further, the code sequence generation unit 9104 holds the control code generated by the encoding control unit 9110 in association with the code sequence, and outputs the control code at a different timing from the code sequence. Specifically, a control code is output in accordance with an output instruction from the outside (for example, a system encoding unit 503 of the recording device 500 shown in Fig. 13). 0 is synchronized with the audio encoding unit 502. In order to encode the video data and the audio data in real time, a control signal for synchronizing is input from the outside.
  • an output instruction from the outside for example, a system encoding unit 503 of the recording device 500 shown in Fig. 13
  • the mode selection unit 109 sets the motion vector storage unit 116 so that only the motion vector of the reference picture coded immediately after the current picture, that is, immediately before the picture to be coded, is stored in the motion vector storage unit 116. And generates a control code to indicate that any restrictions have been placed on the data stored in memory.
  • the timing of control code generation by the encoding control unit 910 may be any time, but is preferably at the start of the encoding process or immediately after the end of the encoding process. Also, the encoding control section 9110 may store the control code in advance.
  • FIG. 16 (a) is a diagram showing pictures input in display order and their coding order.
  • FIG. 16 (b) is a diagram showing a reference picture and a motion vector stored in a memory along with encoding of each picture in the conventional MPEG-4 encoding method.
  • FIG. 17 (a) is a diagram showing the pictures input in the display order and the order of their encoding.
  • FIG. 17 (b) is a diagram showing a reference picture and a motion vector stored in the memory along with the encoding of each picture in the video encoding apparatus 900 shown in FIG. .
  • the B picture is not referred to by other pictures, and only the I picture and the P picture are referred to by other pictures. That is, the I picture and the P picture serve as reference pictures for other pictures, but the B picture does not serve as a reference picture for other pictures.
  • FIG. 17 (a) and FIG. 16 (a) are the same figure.
  • each picture included in the input image is indicated by a vertical line, and B pictures which are not referred to by other pictures are indicated by broken lines.
  • ⁇ BJ and ⁇ Pj attached to each picture indicate the picture type of each picture, and the number attached to the right thereof indicates the picture number assigned to each picture in coding order. Is shown. That is, as shown in Figs.
  • the pixels in the input image Char is input in the order of I 0 ⁇ ⁇ 2 ⁇ ⁇ 3 ⁇ ⁇ 1- ⁇ ⁇ 5 ⁇ ⁇ 6 ⁇ ⁇ 4 ⁇ ⁇ 8 ⁇ ⁇ ⁇ 9 ⁇ ⁇ 7 ⁇ B 1 1 ⁇ B 1 2 ⁇ P 10 They are displayed in this order.
  • a B picture refers to a picture that is later in the display order
  • the I picture or P picture that is later in the display order than the B picture must be coded before the B picture is coded.
  • the picture in the input image is I0 ⁇ P1 ⁇ B2- ⁇ B3- ⁇ P4 ⁇ B5 ⁇ B6 ⁇ P7 ⁇ B8 ⁇ B9 ⁇ P1 0- ⁇ B1 1- ⁇ Encoded in the order of B12. Assuming that a B picture precedes picture I 0 in the display order, it is encoded after encoding picture I 0 and before encoding picture P 1.
  • the pixel values of two reference pictures coded immediately before the current picture to be coded and the motion vector used for motion compensation in the reference picture are stored in a memory.
  • the pixel values of two reference pictures coded immediately before the current picture and the later reference picture of the two reference pictures One motion vector is stored in memory.
  • a P picture refers to the immediately preceding reference picture in the display order
  • a B picture refers to the immediately preceding picture in the display order for the current picture to be encoded, and the B picture immediately after the current picture. It is coded with reference to two reference pictures, one behind.
  • the memory stores the pixel values of pictures P1 and P4 and the motion vector obtained in picture P4.
  • Picture B6 is encoded with reference to picture P1 and picture P4 stored in the memory.
  • Picture P 1 is immediately before picture B 6 in display order.
  • Picture P4 is a reference picture immediately after picture B6 in display order.
  • the current block in picture B6 is coded in the direct mode, the same position as the current block in the reference picture (that is, picture P4) immediately after picture B6 in display order is used.
  • the motion vector of the block at is stored in the memory, and motion compensation is performed using this.
  • the picture B6 is not referred to by other pictures, the pixel value and the motion vector are not stored in the memory, and the memory is not updated.
  • the coding is performed with reference to either the picture P1 or the picture P4 stored in the memory. Since the picture P7 is referenced by another picture, the pixel value and the motion vector are stored in the memory. At this time, the pixel value and the motion vector in the memory are updated according to the encoding / decoding of the picture P7.
  • the pixel value of picture P 1 and picture P 4 stored in the memory before encoding picture P 7 is evicted from the memory, and a new picture P 7 Is stored.
  • the motion vector of picture P4 stored in the memory is expelled from the memory, and a new motion vector of picture P7 is stored.
  • the picture B8 When the picture B8 is encoded, two pictures, a picture P4 in front of the picture B8 in the display order and a picture P7 behind, are referred to.
  • the target block in picture B8 When the target block in picture B8 is coded in the direct mode, the motion vector of the block at the same position as the target block in the reference picture (picture P7) immediately after picture B8 in display order is calculated. Motion compensation.
  • the memory stores the pixel values of the two reference pictures (picture P4 and picture P7) referred to by picture B8, and the motion vector of picture P7 used in the direct mode. But Has been delivered. Since the picture B8 is not referred to by other pictures, the data in the memory is not updated.
  • the encoding is performed by referring to the two pictures stored in the memory in the same manner as when the picture B8 is encoded. Also, when the target block in picture B9 is coded in the direct mode, it is coded using the motion vector of picture P7 stored in the memory.
  • H.26L specifies that the number of reference pictures to be in the search range is increased, and the reference picture actually referred to by each target block is specified by the reference index. Then, as shown in FIG. 3, in the B picture, the first reference index and the second reference index for specifying the referenced reference picture are described in the code string for each target block. .
  • the reference index is assigned to each reference picture in the display order, forward and backward, by assigning “0” to the reference picture closest to the picture to be encoded. Initially, numbers are assigned in ascending order as the distance from the picture to be converted is increased. In this initial setting, the reference picture closer to the picture containing the current block It can be specified by a smaller reference index.
  • a reference picture farther from the picture including the target block has a larger reference index value for specifying the reference picture.
  • a reference picture far from the picture containing the target block is referenced by many target blocks, a large-valued reference index will be described in the code string in many blocks if the initial setting is maintained. Therefore, the data amount of the code string increases, which is not preferable. Therefore, for the reference index, remapping is allowed so that a smaller value can be assigned to a reference picture having a higher coding efficiency for each picture.
  • the P picture is a reference picture with four I or P pictures preceding the current picture in display order
  • the B picture is located in front of the current picture in display order.
  • the mode selection unit 109 determines the detected motion vector for each target block of the current picture to be encoded each time the motion vector is detected by the motion vector detection unit 106.
  • the motion vector is temporarily stored in a storage area different from the motion vector already stored in the motion vector storage unit 108.
  • the mode selection unit 109 selects the motion vector temporarily stored in another storage area and the motion vector previously stored. Overwrite the torque.
  • the motion vector of the immediately preceding picture is temporarily stored. Overwrites the motion vector of the new picture to be coded in the area, and temporarily stores the overwritten motion vector.
  • the mode selection unit 109 stores the motion vector temporarily stored in the motion vector storage unit 108 into, for example, the current picture to be coded. After encoding all the blocks in the motion vector storage unit 108, the blocks are deleted.
  • FIG. 17 (b) for example, when the current picture to be coded is picture B6, picture 10, picture P1, and picture P4 are coded before picture B6. Therefore, when the picture B6 is encoded, the pixel values of the picture I0, the picture P1, and the picture P4 are stored in the memory. Furthermore, if there is an I picture or a P picture coded before the picture I 0, the two pixel values coded immediately before the picture I 0 are stored in the memory. Picture B 4 is encoded by referring to two of the reference pictures stored in the memory. Further, the motion vector of picture P4, which is a reference picture coded immediately before picture B6, is stored in the memory. The mode selection unit 109 selects the target block in picture B6 in direct mode. W
  • the motion compensation of the current block is performed using the motion vector stored in the memory. Do. If the reference picture whose second reference index is ⁇ 0 j is not picture P4, for example, the motion vector of the current block is “0”, and the first reference index is “0” for picture B6.
  • the motion compensation is performed in two directions with reference to the reference picture of picture B6 and the reference picture of which the second reference index is “0” for picture B6.
  • picture P7 refers to three reference pictures (picture I0, picture P1 and picture P4) coded immediately before and stored in the memory. Is encoded. Since the picture P7 is referred to by another picture, the pixel value of one of the oldest stored reference pictures in the memory is evicted from the memory according to the encoding / decoding of the picture P7, and the picture P7 is newly referred to. The pixel value of picture P7 is stored. Also, the motion vector of the picture P4 stored in the memory is expelled from the memory, and the motion vector newly obtained in the picture P7 is stored.
  • picture B8 when picture B8 is encoded, picture B8 is encoded with reference to two of the five reference pictures stored in the memory. Also, when the current block in picture B8 is coded in the direct mode, the mode selection unit 109 determines that the picture whose second reference index is ⁇ 0 ”for picture B8 is picture P7. For example, the motion compensation of the target block is performed using the motion vector of the picture P7 stored in the memory. If the picture whose second reference index is ⁇ 0 J for picture B 8 is not picture P 7, the motion vector of the target block is ⁇ 0 J, and the first reference index for picture B 8 is “0 J and second Two-direction motion compensation is performed with reference to two reference pictures (picture P4 and picture P7) whose reference index is ⁇ 0J.
  • the motion vector stored in the memory in order to perform the encoding of the B picture in the direct mode is one motion vector encoded immediately before the B picture.
  • the video encoding device 900 generates the video data and the control code to be recorded on the recording medium 400, but is not limited to the case where the video data and the control code are recorded on the recording medium.
  • a video stream distributed by digital television broadcasting or the like and management information for managing the reproduction of the video stream may be generated.
  • FIG. 18 is a diagram illustrating an example of a broadcast packet transmitted by digital television broadcasting. In the figure, each part indicated by “SJ,” “AJ,” and “V” respectively indicates a packet of management information, audio data, and video data.
  • coded data such as video stream and audio stream is divided into packets with an appropriate data length (for example, 188 bytes in an MPEG-2 transport stream).
  • control code is described as information indicating that data stored in the memory is restricted in some way.
  • the control code may simply be information indicating that the generated code sequence is coded under some restrictions.
  • the control code may be, for example, a flag indicating “no limit” when the value is ⁇ 0 ”and indicating“ limited ”when the value is ⁇ 1 j.
  • this control code may be a code indicating “limited” if described in a specific place in the management information, and may be a code indicating “unlimited” if not described.
  • this control code indicates that any restrictions are imposed on the data stored in the memory, and that the control code is coded immediately before the picture to be coded.
  • the code may specify a plurality of types of processing contents such as how many P-picture motion vectors are stored in the memory.
  • FIG. 19 is a block diagram showing a schematic configuration of a reproducing apparatus 1500 according to the fourth embodiment.
  • the playback device 1500 manages the AV stream encoded from the recording medium 400 shown in FIG. 14 and the playback of the AV stream.
  • the system decoding unit 1503 reads the management information and the encoded AV stream from the recording medium, extracts a control code from the management information, and outputs the control code to the video decoding unit 1501. Also, it separates the read video stream and audio stream, and outputs them to the video decoding unit 1501 and the audio decoding unit 1502, respectively. If the control code received from the system decoding unit 1503 indicates that the data stored in the memory is limited, When decoding the video stream received from the system decoding unit 1503, the motion vector for one reference picture decoded immediately before the picture to be decoded is stored in the memory and decoded. The decoding target picture is decoded.
  • the video decoding unit 15001 decodes each picture included in the video stream, outputs the decoded pictures in display order, and outputs a video signal representing a moving image to the monitor 1511.
  • the audio decoding unit 1502 decodes the audio stream received from the system decoding unit 1503 to generate an audio signal, and outputs the generated audio signal to the speaker 1512.
  • the monitor 1511 displays the video signal generated by the video decoding unit 1501.
  • the speaker 1512 reproduces the audio signal generated by the audio decoding unit 1502 as voice.
  • FIG. 20 is a block diagram showing a configuration of a moving picture decoding apparatus 1650 corresponding to the video decoding section 1501 shown in FIG. If the control code input from the outside indicates that the data stored in the memory is limited, the moving picture decoding apparatus 160 A video decoding device that stores a motion vector for one reference picture decoded immediately before a picture in a memory and decodes a code string, and includes a prediction residual decoding unit 720, Motion compensation decoding unit 705, motion vector storage unit 706, frame memory 707, addition operation unit 708, switch 709, switch 710, code string analysis unit 1 6 0 1 and a mode decoding section 1603 are provided. In this figure, the same components as those of the video decoding device 700 shown in FIG.
  • the code string analysis unit 1601 outputs the control code input from the outside to the mode decoding unit 1603.
  • the code sequence analysis unit 1601 extracts mode selection information, motion vector information, and the like from the input code sequence, and outputs the extracted mode selection information to the mode decoding unit 703.
  • the vector information is output to the motion compensation decoding unit 705, and the prediction residual coded data is output to the prediction residual decoding unit 702.
  • the mode decoding unit 703 sets the control code input from the code sequence analysis unit 1601 to the case where it indicates that the data stored in the memory is restricted or not. If it is indicated that the video stream is coded under some restrictions, the motion vector of one decoded reference picture immediately before the picture to be decoded is moved.
  • the motion compensation decoding unit 705 is controlled so as to be stored in the vector storage unit 706.
  • the number of motion vectors stored in the motion vector storage unit 706 and the number of pixel values stored in the frame memory 707 are shown in FIG. This is the same as the example shown in 17 (b).
  • the moving picture decoding apparatus 1600 of Embodiment 4 even when decoding a video stream recorded on a recording medium, the memory resources of the moving picture decoding apparatus can be saved. In addition, there is an effect that a code string having high coding efficiency can be decoded.
  • the moving picture decoding apparatus may decode a video stream in a broadcast bucket distributed by digital video broadcasting or the like.
  • the moving picture decoding device 160 is provided in, for example, a DTV (digital television) or STB that receives digital television broadcasts.
  • the 18 is received by DTV, STB, etc., and is separated into management information, audio data, and video data packets. From the separated management information, a control code indicating that the data stored in the memory is restricted in some way is extracted, and is input to the video decoding apparatus 160. The video stream and the audio stream extracted from each bucket are input to the video decoding device 160 and the audio decoding device, and are decoded in real time while synchronizing.
  • the configuration and operation of the moving picture decoding apparatus 160 are the same as those of the moving picture decoding apparatus 160 shown in FIG.
  • the moving picture decoding apparatus 160 of the present embodiment even when a video stream in a broadcast packet distributed in digital television broadcasting or the like is decoded, a moving picture can be decoded. There is an effect that a code string with high coding efficiency can be decoded while saving the memory resources of the decoding device.
  • control code is not limited to the case where the data stored in the memory is limited, and the control code is simply a code string generated under some restrictions. It may be information indicating only that the information has been converted. In addition, this control code indicates, for example, that when the value is “0”, “unrestricted j” is indicated, and when the value is ⁇ 1 j, the flag “restricted j is indicated. For example.
  • the control code may be a code indicating “limited” if described in a specific place in the management information, and may be a code indicating “unlimited” if not described.
  • this control code refers to a table stored in the memory in advance, and indicates that any restrictions are imposed on the data stored in the memory, and that the control code is coded immediately before the picture to be coded. It goes without saying that the code may specify how many motion vectors of P-pictures are stored in the memory.
  • a picture that constitutes a moving image is a single unit of coding that includes both frames and fields.
  • the case where all pictures have a frame structure has been described. However, even when pictures are handled in units of fields, the same effects can be obtained by applying the invention described above. be able to.
  • an interlaced image is an image in which one frame is composed of two fields with different times (time stamps).
  • time stamps time stamps
  • each picture is coded in the frame structure or in the field structure can be determined appropriately by, for example, the coding control unit 110 shown in FIG. Whether the encoding is performed using the frame structure or the field structure is performed by, for example, obtaining the variance of the pixel values in the picture using the frame structure and the field structure, and selecting the smaller variance. Ma
  • a method of encoding each picture in either a frame structure or a field structure in block units is also conceivable.
  • a case in which the frame structure or the field structure is switched in picture units will be described. First, a description will be given of how a picture number and a reference index are allocated when a moving image includes a field-structured picture, and then a specific description of the fifth embodiment.
  • FIG. 2 the picture numbers and reference indices for the case where the pictures constituting the moving image are all frames are shown, but using FIGS. 21 and 22, frames and fields are included in the pictures constituting the moving image. A case where they are mixed will be described.
  • FIG. 21 is a diagram illustrating an example of a reference relationship between pictures when the current picture to be encoded or decoded has a field structure.
  • a field composed of odd-numbered lines of a frame is called a top field
  • a field composed of even-numbered lines of a frame is called a bottom field.
  • the top field is the front field in the display order of the field-structured picture
  • the bottom field is the rear field in the display order, but even if these orders are interchanged. The same effect can be obtained by the same operation as the present invention.
  • all reference pictures are treated as a field structure.
  • field B32 is a picture to be coded or decoded when picture B3 is coded or decoded in a field structure
  • pictures P1, B3 , P4 is a field structure
  • picture B2 is coded or decoded in a frame structure.
  • a reference picture B2 having a frame structure is treated as two fields B21, B22.
  • the picture numbers are assigned in the order of encoding or decoding.
  • First reference index By default, the picture is displayed before the current picture to be coded or decoded in the display time order, the picture closer to the current picture to be coded or decoded in display time order, and the current picture to be coded or decoded.
  • the pictures are assigned in the priority order of pictures with the same parity.
  • a field B that is located ahead of the field B 32 in display time order has the same parity, and is closest to the field B 32 in the order of encoding or decoding.
  • 2 ⁇ is assigned as a reference index to 2 2, and then it is located in front of field B 32 in display time order, and has a different parity.
  • field B 3 2 B 1 j is assigned as a reference index to the field B 31 closest to.
  • the parity is a value indicating whether the field is the first (top) field or the second (bottom) field
  • the parity information is encoded in, for example, a slice unit in a moving image code sequence. Or decrypted.
  • FIG. 22 is a diagram illustrating an example of a reference relationship between pictures when the current picture to be encoded or decoded is a frame. If the current picture to be coded or decoded is a frame, all reference pictures are treated as frames. As shown in Fig.
  • FIG. 23 is a diagram showing a temporal arrangement of each frame when encoding or decoding a moving image.
  • frames P 1 and P 4 are processed as P pictures
  • frames B 2 and B 3 are processed as B pictures.
  • one frame can be treated as two fields.
  • frame PI is defined as fields PI1 and PI2
  • frame B2 is defined as fields B21 and B22
  • frame B3 is defined as fields B31 and B32
  • frame P4 is defined as field B2. It can be treated as P41 and P42.
  • each frame shall be adaptively encoded and decoded in either a frame structure or a field structure.
  • Embodiment 5 is different from Embodiments 1 to 4 in that the motion vector to be stored for the direct mode is reduced by using a motion vector for each parity. Is stored.
  • the encoding and decoding processes are performed in units of the upper symbols among the symbols indicating pictures. For example, in FIG. 23, all pictures are processed on a field basis.
  • a direct mode in the case where a picture constituting a moving image is handled in a field structure will be described with reference to FIGS.
  • field B31 Assume that the current picture to be processed is field B31. That is, frame B3 is processed in a field structure. It is also assumed that field B31 uses field P11, field P12, field P41, or field P42 as a reference picture. These reference pictures have already been encoded or decoded. It is assumed that frames P 1 and P 4 have been processed in field units.
  • the block is processed using the motion vector A, and the case where the motion vector A refers to the field P11 will be described.
  • the block a uses the motion vector obtained by calculating from the reference motion vector A by a predetermined method, and uses the field P 11 1 (the reference motion vector A Motion compensation is performed from the field P4 1 (the field to which the block b belongs) which is a backward reference field.
  • the motion vector used when processing block a is motion vector B for field P11 and motion vector C for field P41.
  • scaling coefficients are referred to as scaling coefficients.
  • the scaling factor is assumed to be a value set in field units.
  • the scaling factor can be set from the temporal distance between each field.
  • the temporal distance from field P 11 to field P 4 1 is D 1
  • the temporal distance from field P 11 1 to field B 3 1 is N 1
  • the temporal distance from field P 3 1 to field P 4 1 is If the temporal distance is set to M l
  • MV f 1 and MV b 1 are motion vectors parallel to MV.
  • the method of determining the value of the scaling coefficient includes the method of generating the same value on the encoding side and the decoding side according to the same rule (for example, generating from the time information (time stamp)) or the method set at the time of encoding.
  • the code string as related information
  • the scaling coefficient is described as additional information of the code string, and the scaling coefficient is obtained from the additional information of the code string or in the code string during decoding. Then, when decoding a block coded in the direct mode, MV f 1 and MV b 1 may be calculated using Equations 3 and 4.
  • the number of motion vectors stored in the motion vector storage unit 116 is specified by the encoding control unit 110.
  • the motion vector of the top field and the motion vector of the bottom field are stored one field at a time.
  • a motion vector to be stored there is a method of storing a motion vector of a reference picture which has been coded or decoded immediately before in a coding or decoding order among reference pictures.
  • the motion vector already stored in the motion vector storage unit 116 may be sequentially overwritten every time the encoding mode is determined.
  • FIG. 24 (a) shows a case where only the motion vector used when an I picture or a P picture is encoded or decoded is stored. This is because it is assumed that the B picture that uses the direct mode refers to only one picture or P picture. When a B picture refers to another B picture, the motion vector used when the B picture used as the reference picture is encoded or decoded may be stored.
  • the motion vector when encoding or decoding the field P41 is stored in the memory address M1 and is stored in the memory address M1.
  • Motion vector It is possible to derive the motion vector B and the motion vector C using the rule A.
  • the memory address M2 stores a motion vector when the field P42 is encoded or decoded.
  • the motion vector of the top field and the motion vector of the potom field are stored for two fields each.
  • the motion vector storage unit 106 is controlled in the same manner as a first-in first-out (FIFO) memory, and the motion vector stored in the memory address M11 is newly stored. Then, it moves to the memory address M12, and the motion vector stored in the memory address M12 is deleted.
  • FIFO first-in first-out
  • the motion vector storage unit 106 is controlled in the same manner as a first-in first-out (FIFO) memory, and the motion vector stored in the memory address M11 is newly stored. Then, it moves to the memory address M12, and the motion vector stored in the memory address M12 is deleted.
  • FIFO first-in first-out
  • the motion vector used for motion compensation of the frame to be converted may be stored in both memory address M1 and memory address M2.
  • both the memory address M11 and the memory address M21 may be stored. If the picture to be coded or decoded is a field and the reference picture is a frame, the reference picture is treated as a field.
  • the reference field whose second reference index is ⁇ 0 In this case, if the reference field whose second reference index is ⁇ ⁇ J is originally processed in the frame structure, the two fields included in that frame will be used in the frame structure. It is considered to have the same motion vector as the motion vector. Therefore, by storing the motion vector processed in the frame structure in both the memory addresses M1 and M2, it is possible to recognize whether the reference picture is processed in the field structure or the frame structure. Instead, the motion vector used in the direct mode can be obtained.
  • the reference index can be changed (remapping) by re-adding the reference index. Therefore, there is a possibility that the motion vector to be referred to may be wrong. Even if the same picture as the reference picture frame is not treated as being in both the top field and the bottom field, the motion vector is preserved as shown in Fig. 24 (a). If the memory address to be used is for one picture, even if the reference index is reassigned, the problem that the moving vector to be referred to is wrong will hardly occur.
  • control is performed so that a motion vector is stored for each field parity.
  • the amount of memory for the motion vector can be limited to reduce the amount of memory, and the field structure can be reduced. Even when processing a picture with, the motion vector required in direct mode is not overwritten.
  • two motion vectors used when encoding or decoding two fields (top field and bottom field) belonging to the same frame be stored as one set. Whether a frame belongs to the same frame can be determined by, for example, the information indicating the continuity of the picture number and the parity, or the continuation of frame P1, frame B2, frame B3, and frame P4.
  • the motion vector of the block processed in the frame structure is stored in both the motion vector memory for the top field and the motion vector memory for the pot field, and the motion vector of the block is processed in the field structure.
  • the torque can be stored in the motion vector memory of the corresponding parity.
  • FIG. 25 shows a moving picture coding method and a moving picture coding method according to the first to fifth embodiments.
  • FIG. 21 is an explanatory diagram of a recording medium for storing a program for realizing a moving image decoding method by a computer system.
  • Fig. 25 (b) shows the appearance, cross-sectional structure, and flexible disk as viewed from the front of the flexible disk
  • Fig. 25 (a) shows an example of the physical format of the flexible disk, which is the main body of the recording medium.
  • the flexible disk FD is built in the case F, and a plurality of tracks Tr are formed concentrically from the outer circumference toward the inner circumference on the surface of the disk, and each track has 16 sectors in the angular direction. Se has been split. Therefore, in the flexible disk storing the program, the moving picture encoding method and the moving picture decoding method as the program are recorded in the area allocated on the flexible disk FD.
  • FIG. 25 (c) shows a configuration for recording and reproducing the above program on the flexible disk FD.
  • the moving picture coding method and the moving picture decoding method as the above program are written from the computer system Cs via a flexible disk drive.
  • the program is read from the flexible disk by a flexible disk drive and transferred to a computer system. .
  • the description has been made using a flexible disk as a recording medium, but the same description can be made using an optical disk.
  • the recording medium is not limited to this, and the present invention can be similarly implemented as long as it can record a program, such as a GD-R0M, a memory card, and a ROM cassette.
  • FIG. 26 is a block diagram showing an overall configuration of a content providing system ex100 that realizes a content distribution service.
  • the communication service providing area is divided into desired sizes, and base stations ex107 to ex110, which are fixed radio stations, are installed in each cell.
  • the content supply system ex100 is connected to the Internet ex101 via an Internet service provider ex1002 and a telephone network ex104, and base stations exl07 to ex110 to a computer ex100.
  • Devices such as 111, PDA (persona I digital assistant) ex112, camera exl13, mobile phone ex114, and mobile phone with camera ex115 are connected.
  • each device may be directly connected to the telephone network exl 04 without going through the base stations ex 107 to ex 110 which are fixed wireless stations.
  • the camera ex l 13 is a device capable of shooting moving images, such as a digital video camera.
  • mobile phones are based on the PDC (Persona ID iGita I Communications) system, CDMA (Code Division Multiple Access) system, W—CDMA (Wi deband—Code Division Multiple Access) system, or GSM (GSM). It is a mobile phone of the Global System for Mobile Communications type or a PHS (Personal Handyphone System), etc., and may be any type.
  • the streaming server ex103 is connected from the camera ex113 to the base station ex109 and the telephone network ex104, and the code transmitted by the user using the camera ex113. Live distribution and the like based on the data that has been processed can be performed. Encoding processing of photographed data is performed with power camera exl 13 Alternatively, it may be performed by a server or the like that performs data transmission processing. Also, the moving image data shot by the camera e116 may be transmitted to the streaming server ex103 via the computer ex111.
  • the camera ex116 is a device such as a digital camera that can shoot still images and moving images. In this case, the encoding of the moving image data may be performed by the camera exl16 or the computer exl11.
  • the encoding process is performed in the LSI ex117 of the computer ex111 and the camera ex116.
  • the software for moving picture encoding and decoding may be incorporated in any storage medium (CD-ROM, flexible disk, hard disk, etc.) that is a recording medium readable by a computer ex11 or the like.
  • the moving image data may be transmitted by the camera-equipped mobile phone ex 115.
  • the moving image data at this time is data that has been encoded by the LSI included in the mobile phone ex 115.
  • contents for example, video of live music taken by the user with the camera exl13, camera exl16, and the like are encoded in the same manner as in the above embodiment.
  • the streaming server ex103 transmits the content data to the requesting client, while streaming the content data to the streaming server ex103.
  • Examples of the client include a computer ex111, a PDA ex112, a camera ex113, a mobile phone ex114, etc., which can decode the above encoded data. .
  • the content supply system ex 100 can receive and reproduce the encoded data at the client, and further receive, decode, and reproduce the encoded data in real time at the client. This is a system that enables personal broadcasting.
  • the moving picture coding apparatus or the moving picture decoding apparatus shown in the embodiment may be used.
  • a mobile phone will be described as an example.
  • FIG. 27 is a diagram illustrating the mobile phone ex115 using the moving picture coding method and the moving picture decoding method described in the above embodiments.
  • the mobile phone ex 1 15 is an antenna ex 2 0 1 for transmitting and receiving radio waves to and from the base station ex 1 10, a camera unit ex 2 0 3 capable of taking images and still images of a CCD camera, etc.
  • Display unit ex200 such as a liquid crystal display, that displays decoded data of the video captured by the camera unit ex203 and the video received by the antenna ex201, etc., and a group of operation keys ex204 Main unit, audio output unit ex208 for speed output for audio output, audio input unit ex205 for microphone etc.
  • the recording medium ex207 is a non-volatile memory that is electrically rewritable and erasable in a plastic case such as an SD card. It stores a kind of flash memory device. Further, a mobile phone ex 115 will be described with reference to FIG.
  • the mobile phone ex l 15 is provided with a power supply circuit for a main control unit ex 3 11 1 that controls the respective parts of the main body unit including the display unit ex 202 and the operation keys ex 204 as a whole.
  • Section ex 310, operation input control section ex 304, image encoding section ex 310, camera writer face section ex 303, LCD (Liquid Crystal Display) control section ex300, image decoding Ex3 09, demultiplexing section ex308, recording / reproducing section ex307, modulation / demodulation circuit section ex306, and sound processing section ex3 0 5 are connected to each other via a synchronous bus ex 3 13.
  • the power supply circuit ex310 operates the digital mobile phone ex115 with a camera by supplying power to each unit from the battery pack when the user hangs up the call and the power key is turned on. Start up to a possible state.
  • the mobile phone ex115 based on the control of the main control unit ex311, consisting of a CPU, ROM, RAM, etc., outputs the voice signal collected by the voice input unit ex205 in the voice call mode.
  • the data is converted into digital voice data by the processing unit ex305, which is subjected to spread spectrum processing by the modulation and demodulation circuit unit ex306, and is subjected to digital-analog conversion processing and frequency conversion processing by the transmission and reception circuit unit ex301. After the transmission, transmission is performed via the antenna ex20 1.
  • the mobile phone ex115 also amplifies the received data received by the antenna ex201 in the voice communication mode, performs frequency conversion processing and analog-to-digital conversion processing, and performs a speech conversion in the modulation / demodulation circuit section ex306. After performing a tram despreading process and converting it into analog audio data by the audio processing unit ex305, this is output via the audio output unit ex208.
  • the text data of the e-mail input by operating the operation key eX204 of the main unit is transmitted to the main control unit ex3 1 1 via the operation input control unit ex304.
  • Sent to The main control unit ex311 performs spread spectrum processing on the text data in the modulation / demodulation circuit unit ex306, and performs digital / analog conversion processing and frequency conversion processing in the transmission / reception circuit unit ex301, and then executes the antenna ex2. Transmit to base station ex 110 via 01.
  • the image data captured by the camera unit ex203 is supplied to the image encoding unit ex312 via the camera interface unit ex303. If you do not send image data, In this case, the image data captured by the camera unit ex203 can be directly displayed on the display unit ex202 via the camera interface unit ex303 and the LCD control unit ex302.
  • the image encoding unit ex312 has a configuration including the image encoding device described in the present invention, and converts the image data supplied from the camera unit ex203 into the image encoding device described in the above embodiment.
  • the data is converted into encoded image data by performing compression encoding using the encoding method used, and is transmitted to the demultiplexing unit ex308.
  • the mobile phone ex115 also converts the voice collected by the voice input unit ex205 during imaging by the camera unit ex203 into digital voice data via the voice processing unit ex305.
  • the signal is sent to the demultiplexing unit ex308.
  • the demultiplexing unit ex308 multiplexes the encoded image data supplied from the image encoding unit ex310 and the audio data supplied from the audio processing unit ex305 in a predetermined manner, and obtains the result.
  • the multiplexed data is subjected to spread spectrum processing in the modulation and demodulation circuit unit ex306, subjected to digital analog conversion processing and frequency conversion processing in the transmission and reception circuit unit ex301, and then transmitted via the antenna ex201. I do.
  • the modulation and demodulation circuit unit ex306 When receiving data of a moving image file linked to a homepage or the like in the data communication mode, the modulation and demodulation circuit unit ex306 transmits the received data received from the base station ex110 via the antenna ex201. Tram despreading is performed, and the resulting multiplexed data is sent to the demultiplexing unit ex308.
  • the demultiplexing unit ex308 demultiplexes the multiplexed data so that the bitstream and audio of the re-image data are decoded.
  • the data is divided into the bit stream of the data.
  • the encoded image data is transferred to the image decoding unit ex 3 via the synchronous bus ex 3 13. 09 and the audio data to the audio processing unit ex305.
  • the image decoding unit ex309 has a configuration provided with the image decoding device described in the present invention, and converts the bit stream of image data into the encoding method described in the above embodiment. Reproducing moving image data is generated by decoding by the decoding method, and this is supplied to the display unit ex202 via the LCD control unit ex302, whereby, for example, a moving image linked to a homepage The moving image data included in the image file is displayed.
  • the audio processing unit ex305 converts the audio data into analog audio data, and then supplies the analog audio data to the audio output unit ex208. The audio data included in the image file is reproduced.
  • the bitstream of the video information is transmitted to the communication or broadcasting satellite ex410 via radio waves.
  • the broadcasting satellite ex 410 receiving this transmits a radio wave for broadcasting, receives this radio wave with a home antenna ex 406 equipped with a satellite broadcasting receiving facility, and sets a television (receiver) ex 410 or
  • a bit stream is decoded by a device such as a set top box (STB) ex 407 and reproduced.
  • STB set top box
  • the playback device ex4003 that reads and decodes the bitstream recorded on the storage medium ex402, such as GD or DVD, which is a recording medium, also has the moving image decoding device described in the above embodiment. It is possible to implement In this case, the reproduced video signal is displayed on the monitor ex404.
  • a set-top box ex 400 connected to a cable ex 405 for cable TV or an antenna ex 406 for satellite terrestrial broadcasting A configuration is also conceivable in which a moving picture decoding device is mounted in 7, and this is reproduced on a TV monitor ex408. At this time, the video decoding device may be incorporated in the TV instead of the set-top box.
  • a car ex 4 12 having an antenna ex 4 11 receives a signal from a satellite ex 4 10 or a base station ex 10 7 or the like, and receives a signal from a car ex 4 1 2 having a car navigation system ex 4 13. It is also possible to play a moving image on a display device such as.
  • an image signal can be encoded by the image encoding device described in the above embodiment and recorded on a recording medium.
  • a recorder eX420 such as a DVD recorder for recording image signals on a DVD disk eX421, and a disk recorder for recording on a hard disk. It can also be recorded on an SD card eX422. If the recorder ex420 has the video decoding device shown in the above embodiment, it reproduces the image signal recorded on the DVD disc eX421 or the SD card eX422 and monitors It can be displayed in ex 408.
  • the configuration of the car navigation ex4 13 is, for example, the configuration shown in FIG. 28 except that the camera unit ex203, the camera interface unit ex303, and the image encoding unit eX312 are excluded. The same can be said for the combi- ter exl 11 or the TV (receiver) ex 401.
  • terminals such as the above-mentioned mobile phone ex114, such as a transmission / reception terminal having both an encoder and a decoder, a transmission terminal having only an encoder, and a reception terminal having only a decoder. Is possible.
  • the moving picture coding method or the moving picture decoding method described in the above embodiment can be used in any of the above-described device systems, and by doing so, the method described in the above embodiment can be used. The effect can be obtained.
  • the moving picture coding apparatus is useful as a moving picture coding apparatus provided in a personal computer, a PDA, a digital broadcast station, a mobile phone, or the like having a communication function.
  • the moving picture decoding apparatus is useful as a moving picture decoding apparatus provided in a personal computer having a communication function, a PDA, an STB for receiving digital broadcasts, and a mobile phone.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

他のピクチャの参照ピクチャとして用いられるピクチャの符号化においては、ピクチャ間予測符号化で用いられる動きベクトルを動きベクトル記憶部(116)に格納する。ただし、この動きベクトルの記憶動作は、符号化制御部(110)により、参照ピクチャ数よりも少ないピクチャ数の動きベクトルを動きベクトル記憶部(116)に格納するように制御される。Bピクチャの符号化において直接モードで符号化する場合には、直接モードにおいて参照すべき動きベクトルが、動きベクトル記憶部(116)に保持されていると、その動きベクトルを利用して符号化を行う。また、動きベクトル記憶部(116)に保持されていない場合には、動きベクトル「0」として、または周辺ブロックの動きベクトルを利用して符号化を行う。

Description

明 細 書 動画像符号化方法、 動画像復号化方法および記録媒体 技術分野
本発明は、 動画像を効率良く圧縮する画像符号化方法とそれを正しく 復号化する画像復号化方法に関し、 特に直接モードを使用して処理を行 う画像符号化方法と画像復号化方法に関する。 背景技術
近年、 音声, 画像, その他のデータを統合的に扱うマルチメディア時 代を迎え、 従来からの情報メディア, つまり新聞, 雑誌, テレビ, ラジ ォ, 電話等の情報を人に伝達する手段がマルチメディアの対象と して取 リ上げられるようになつてきた。 一般に、 マルチメディアとは、 文字だ けでなく、 図形、 音声、 特に画像等を同時に関連づけて表すことをいう が、 上記従来の情報メディアをマルチメディアの対象とするには、 その 情報をディジタル形式にして表すことが必須条件となる。
ところが、 上記各情報メディアの持つ情報量をディジタル情報量とし て見積もってみると、 文字の場合 1 文字当たりの情報量は 1 〜 2バイ 卜 であるのに対し、 音声の場合 1 秒当たリ 64Kb its (電話品質)、 さらに動 画については 1 秒当たリ 100Mbits (現行テレビ受信品質) 以上の情報量 が必要となリ、 上記情報メディァでその膨大な情報をディジタル形式で そのまま扱うことは現実的では無い。 例えば、 テレビ電話は、 64Kbit/s 〜 1.5Mbits/s の伝送速度を持つサービス総合ディ ジタル網 ( ISDN : Integrated Services Digital Network) によってすでに実用ィ匕されてし、 るが、テレビ-カメラの映像をそのまま ISDNで送ることは不可能である。 そこで、 必要となつてく るのが情報の圧縮技術であリ、 例えば、 テレ ビ電話の場合、 ιτυ- T (国際電気通信連合 電気通信標準化部門) で国際 標準化された H.261 や H.263規格の動画圧縮技術が用いられている。 ま た、 MPEG- 1 規格の情報圧縮技術によると、 通常の音楽用 CD (コンパク ト■ディスク)に音声情報とともに画像情報を入れることも可能となる。
ここで、 MPEG (Moving Picture Experts Group) とは、 動画像信号圧 縮の国際規格であり、 MPEG- 1 は、 動画像信号を 1 . 5 Mbps まで、 つま リテレビ信号の情報を約 1 0 0分の 1 にまで圧縮する規格である。また、 MPEG - 1規格を対象とする伝送速度が主として約 1 . 5 Mbps に制限され ていることから、 さらなる高画質化の要求をみたすべく規格化された MPEG- 2では、 動画像信号が 2 ~ 1 5 Mbps に圧縮される。 さらに現状で は、 MPEG- 1 , MPEG-2 と標準化を進めてきた作業グループ ( IS0/IEG JTG1/SC29/WG11) によって、MPEG- 1 , MPEG-2を上回る圧縮率を達成し、 更に物体単位で符号化 ■ 復号化 ■ 操作を可能と し、 マルチメディア時代 に必要な新しい機能を実現する MPEG- 4が規格化された。 MPEG-4では、 当初、 低ビッ トレー卜の符号化方法の標準化を目指して進められたが、 現在はィンタ レース画像などの高ビッ 卜レートも含む、 よリ汎用的な符 号化に拡張されている。
M P E G— 4や H . 2 6 L等の動画像符号化方式では、 Bピクチャ(な お、 以下では、 動画中の一画面である静止画が 「フ レーム」 であっても 「フィールド」 であってもよい場合、 Γピクチャ」 という。) の符号化に おいて、直接モードという符号化モードを選択することができる。(M P E G — 4 ビ ジュ アル規格書 ( 1 9 9 9 年、 I SO/ 1 EG 14496 - 2: 1999 Information technology -- Coding of aud i o-v i sua I objects -- Part2: Visual, p.154)。 図 1 は、 従来の直接モードにおけるピクチャ間予測方 法の一例を示す図である。 直接モードにおけるピクチャ間予測方法を、 図 1 を用いて説明する。 今、 ピクチャ B 3のブロック aを直接モードで 符号化ノ復号化するとする。 この場合、 H . 2 6 L方式においては、 ピ クチャ B 3を符号化/復号化する際に、 第 2参照インデックス (参照ィ ンデックスは 「相対インデックス j ともいう。 参照インデックスについ ては後述する。) が Γ 0 J である参照ピクチャ中のブロック aと同じ位置 にあるブロックの動きべク トルを利用する。 ここでは、 ピクチャ P 4が ピクチャ B 3に対して第 2参照インデックスが Γ 0 J の参照ピクチャで あるとする。 この場合には、 ピクチャ P 4中のブロック bの動きべク ト ル cを利用する。 動きベク トル cは、 ブロック bが符号化 Z復号化され た際に用いられた動きベク トルであり、 ピクチャ P 1 を参照している。 ブロック aは、 動きベク トル cと平行な動きベク トルを用いて、 参照ピ クチャであるピクチャ P 1 とピクチャ P 4とから双方向予測を行う。 こ の場合のブロック aを符号化 復号化する際に用いる動きべク トルは、 ピクチャ P 1 に対しては動きべク トル d、 ピクチャ P 4に対しては動き ベク トル e となる。
図 2は、 入力された各ピクチャに対するピクチャ番号および参照イン デックスの付与の一例を示す説明図である。 ピクチャ番号 ■ 参照ィンデ ックスは参照ピクチャ用メモリに格納された参照ピクチャを一意に識別 するための番号である。 参照画像と してメモリに蓄積されるピクチャ毎 に Γ 1 j 増加する値がピクチャ番号と して割り当てられる。
図 3は、 従来の動画像符号化方法.、 動画像復号化方法における画像符 号化信号のフォーマツ トを示す概念図である。 P i ctur e は 1 ピクチャ分 の符号化信号、 Header はピクチャ先頭に含まれるヘッダ符号化信号、 B l ockl は直接モードによるブロックの符号化信号、 B l ock2は直接モード 以外の補間 (動き補償) 予測によるブロックの符号化信号、 R l dxO, R l dx l は参照ィンデックス、 MV0. MV1 は動きべク トルを示す。 補間 (動き補償) 予測ブロック B I ock2では、 補間 (動き補償) に使用する 2つの参照ピク チヤ (第 1 参照ピクチャおよび第 2参照ピクチャ) を示すため 2つの参 照インデックス Rldx0, Rldx1 を符号化信号中にこの順で有する。 参照ィ ンデックス RldxO, Rldx1いずれを使用するかは PredTypeによリ判断する ことができる。 例えば、 PredTypeにより双方向でピクチャを参照するこ とが示される場合は RldxOと Rldxl が用いられ、 片方向でピクチャを参 照することが示される場合は R I dxOまたは R I dx1 が用いられ、 直接モー ドが示されている場合は R I dxO、 R I dx1 ともに用いられない。第 1参照ピ クチャを示す参照インデックス RldxOを第 1 参照インデックス、 第 2参 照ピクチャを示す参照インデックス Rldxl を第 2参照インデックスと呼 ぷ。 第 1参照ピクチャと第 2参照ピクチャとは符号化ス トリーム中のデ ータ位置で決まる。
以下、 第 1 参照インデックス、 第 2参照インデックスの付与方法につ いて図 2 ( a ) を用いて説明する。
第 1参照インデックスの値には、 まず、 符号化/復号化対象ピクチャ より前の表示時刻を持つ参照ピクチャに対し、 符号化 Z復号化対象ピク チヤに近い順より 「 0」 から始まる値が割り当てられる。 符号化/復号 化対象より前の表示時刻を持つ参照ピクチャ全てに対し Γ 0」 から始ま る値が割リ当てられたら、 次に符号化 復号化対象ピクチャよリ後の表 示時刻を持つ参照ピクチャに対し、 符号化 復号化対象ピクチャに近い 順から続きの値が割リ当てられる。
第 2参照インデックスの値には、 まず、 符号化/復号化対象ピクチャ より後の表示時刻を持つ参照ピクチャに対し、 符号化ノ復号化対象ピク チヤに近い順より 「 0」 から始まる値が割り当てられる。 符号化ノ復号 化対象より後の表示時刻を持つ参照ピクチャ全てに対し Γ 0 J から始ま る値が割リ当てられたら、 次に符号化/復号化対象ピクチャよリ前の表 示時刻を持つ参照ピクチャに対し、 符号化/復号化対象ピクチャに近い 順から続きの値が割リ当てられる。
図 2 ( a ) における第 1 参照ィンデックス R l dxOが Γ 0 J で第 2参照 インデックス R I dx 1 が Γ 1 」 の場合、 図 2に示すように、 第 1参照ピク チヤはピクチャ番号 「 1 4 J の Bピクチャであり、 第 2参照ピクチャは ピクチャ番号 「 1 3 J の Bピクチヤである。
プロック中の参照インデックスは可変長符号語によリ表現され、 値が 小さいほど短い符号長のコードが割り当てられている。 通常、 ピクチャ 間予測の参照ピクチャとして符号化 復号化対象ピクチャに最も近いピ クチャが選択される可能性が高いため、 上記のように符号化/復号化対 象ピクチャに近い順に参照ィンデックス値を割リ当てれば符号化効率は 高くなる。
一方、 符号化信号中のバッファ制御信号 (図 3の Heade r 内の RPSL) を用いて参照インデックスの割り当て変更 (リマッピング) を明示する ことにより、 参照インデックスに対する参照ピクチャの割り当てを任意 に変更することができる。 従って、 この割り当ての変更により、 第 2参 照インデックスが Γ 0 J の参照ピクチャを、 ピクチャメモリ内のどの参 照ピクチャに定めてもよいということになる。 例えば、 図 2 ( b ) に示 すように、 第 2参照インデックスが 「 0」 の参照ピクチャが、 符号化/ 復号化対象ピクチャの直前の表示時刻を持つ参照ピクチャとなるように ピクチャ番号に対する参照インデックスの割り当てを変更することもで きる。
また、 図 2 ( a ) および図 2 ( b ) に示した例では、 Bピクチャが他 のピクチャの符号化ノ復号化の際に参照される場合を示したが、 一般的 には、 以下の条件の下に符号化が行われる場合が多い。
( 1 ) Bピクチャは、 他のピクチャに参照されない。 ( 2 ) Bピクチャの各ブロックは、 表示順で前方にある直近の N ( N は正の整数) 枚の P ピクチャ (または I ピクチャ) と、 表示順で後方に ある直近の 1 枚の Pピクチャ (または I ピクチャ) とのうちから任意の 2枚を参照して動き補償を行う。
図 4 ( a ) は、 Bピクチャが前方 4枚 ( N = 4 ) および後方 1 枚の P ピクチャを参照ピクチャとして符号化される場合における符号化対象ピ クチャ B 1 1 に対する参照インデックスの初期設定の一例を示す図であ る。 図 4 ( a ) において、 図 2 ( a ) に示した例と異なる点は、 Bピク チヤが他のピクチャに参照されないので、 Bピクチャには参照ィンデッ クスは割り当てられず、 Pピクチャ (と I ピクチャと) にのみ参照イン デックスが割り当てられる。 例えば、 ピクチャ B 1 1 は、 表示順で前方 にある直近 4枚の Pピクチャと後方にある直近 1 枚の Pピクチャとを参 照することができるので、 ピクチャ P 0、 ピクチャ P 1 、 ピクチャ P 4、 ピクチャ P 7およびピクチャ P 1 0にだけ参照ィンデックスが付されて いる。
図 4 ( a ) に示した例では、 ピクチャ B 1 1 に対して第 1 参照インデ ックスが Γ 0 J である参照ピクチャは、 ピクチャ P 7であり、 第 2参照 インデックスが Γ 0」 である参照ピクチャは、 ピクチャ P 1 0である。 ピクチャ P 1 0は、 ピクチャ B 1 1 に対して表示順で後方にあり、 ピク チヤ B 1 1 に対して最も近傍にある Pピクチャである。 上記の条件下に おいても、 参照インデックスに対する参照ピクチャの割り当ては、 自由 に変更することができる。 図 4 ( b ) は、 図 4 ( a ) に示した参照イン デックスに対して、 リマッビングが行われた場合におけるピクチャ B 1 1 の参照インデックスの一例を示す図である。図 4 ( b )に示すように、 H . 2 6 L方式では、 初期設定でピクチャ P 7に割り当てられていた第 1参照インデックスの値 Γ 0 J を、 ピクチャ P 1 に割り当て直したり、 初期設定でピクチャ P 1 0に割り当てられていた第 2参照インデックス の値 Γ 0 J を、 ピクチャ P 0に割り当て直したり、 当該 Bピクチャの符 号化効率などに応じて、 自由にリマッピングすることができる。
このように、 参照インデックスに対する参照ピクチャの割り当ては、 自由に変更することができるため、 通常、 参照ピクチャとして選択する ことにより符号化対象ピクチャの符号化効率が高くなるピクチャに対し てより小さい参照インデックスが割リ当てられるように変更される。 す なわち、ブロック中の参照インデックスは可変長符号語により表現され、 値が小さいほど短い符号長のコ一ドが割リ当てられているので、 参照す ることにより符号化効率が向上するピクチャに対して、 より小さな参照 インデックスを割り当てることにより、 参照インデックスの符号量を減 らし、 さらに符号化効率の向上を行うものである。
上記従来の方法においては、 Bピクチャのブロックを直接モー ドによ つて処理する場合、 第 2参照インデックスが Γ θ _1 である参照ピクチャ の動きベク トルを利用する。 そのため、 Bピクチャの符号化/復号化処 理の際には、 第 2参照インデックスが Γ 0」 である参照ピクチャの動き べク トルを記憶しておかなければならない。 しかしながら、 特に復号化 処理の際には、 復号化対象の Bピクチャの符号列を処理し始めるまで、 どの参照ピクチャが第 2参照インデックス Γ 0 J のピクチャであるかが わからない。 これは、 バッファ制御信号 (図 3の Header内の RPSL) を 用いて明示的に指示することにより、 参照インデックスに対する参照ピ クチャの割り当てを任意に変更することができるためである。 したがつ て、 Bピクチャの符号化/復号化処理の際には、 すべての参照ピクチャ に対する動きべク トルを記憶しておかなければならない。 よって従来の 方法においては、 画像サイズが大きくなるに従い、 また、 参照ピクチャ 数が多くなるに従い、 動きべク トルを格納するためのメモリ量が爆発的 に増大するという問題がある。
本発明は、 上記問題を解決するためのものであり、 直接モード用に格 納する動きべク トルのメモリ量を低減することを可能とする動画像符号 化方法および動画像復号化方法を提供することを目的とする。 発明の開示
この課題を解決するために、 本発明の動画像符号化方法は、 複数のブ ロックから構成されるピクチャの並びである動画像を符号化する方法で あって、 動きべク トルを用いた動き補償を行いながら動画像をブロック 単位で符号化し、 符号列を生成するステップと、 動き補償に用いる動き べク トルの記憶に関する制限を示す制限情報を生成するステップと、 生 成された前記制限情報を符号化するステップとを有することを特徴とす る。 これにより、 複数のブロックを有するピクチャ中の符号化対象プロ ックの動き補償を行うときに用いる動きベク トルの記憶の制限を示すこ とができる。
また、 本発明の他の動画像符号化方法は、 複数のブロックから構成さ れるピクチャの並びである動画像を、 動きべク トルを用いた動き補償を 行いながら符号化する方法であって、 符号化対象ブロックの符号化モー ドを決定する決定ステップと、 前記符号化対象プロックの符号化モード が直接モードである場合に、 参照インデックスで特定される符号化済ピ クチャの動きべク トルが記憶部に格納されているかどうかを判断する判 断ステップと、 前記参照ィンデックスで特定される符号化済フレームの 動きべク トルが、 記憶部に格納されていないと判断された場合に、 前記 符号化対象ブロックを有するピクチャと同一のピクチャ内にあり前記符 号化対象ブロックの周辺にあるブロックを符号化するときに用いられた 動きべク トルを用いて前記符号化対象プロックの動き補償を行う導出ス テツプとを有し、 前記直接モードは、 符号化済ピクチャ中のブロックが 符号化されたときに用いられた動きベク トルを用いて前記符号化対象ブ 口ックの動き補償を行う符号化モードであり、前記参照ィンデックスは、 記憶部に格納されている複数の符号化済ピクチャから、 前記符号化対象 ブロックに対して動き補償を行うときに参照する参照ピクチャを選択す るために、 前記符号化済ピクチャに対して付与されたインデックスであ ることを特徴とする。 これにより、 直接モードで動き補償を行うために 必要な動きべク トルが記憶部になくても符号化対象プロックの動き補償 を行うことができる。
また、 前記動画像符号化方法は、 さらに、 前記参照インデックスで特 定される符号化済フ レームの動きべク トルが、 記憶部に格納されていな いと判断された場合に、前記符号化対象ブロックの動きベク トルを Γ Ο J と して前記符号化対象ブロックの動き補償を行う別の導出ステップを有 するとしてもよい。 これにより、 直接モードで動き補償を行うために必 要な動きべク トルが記憶部になくても符号化対象ブロックの動き補償を 行う ことができる。
前記動画像符号化方法は、 さらに、 前記参照インデックスで特定され る符号化済フ レームを符号化するときに用いた動きベク トルが記憶部に 格納されていると判断された場合に、 記憶部に格納されている前記動き べク トルを用いて前記符号化対象ブロックの動き補償を行う別の導出ス テツプを有するとしてもよい。 これにより、 直接モードで動き補償を行 うために必要な動きべク トルがあるかないかの判断に基づいて符号化対 象ブロックの動き補償をすることができる。
また、 本発明のさらに他の動画像符号化方法は、 複数のブロックから 構成されるピクチャの並びである動画像を符号化する方法であって、 動 きベク トルを用いた動き補償を行いながら動画像をブロック単位で符号 化し、 符号列を生成するステップと、 動き補償に用いる動きべク トルの 記憶に関する制限を示す制限情報を生成する第一の出力ステップと、 前 記符号化対象ブロックが参照するピクチャが Bピクチャである場合に、 前記 Bピクチャを符号化するときに用いた動きベク トルを記憶しないこ とを示す保存情報を生成する第二の出力ステップと、 生成された前記制 限情報と前記保存情報とを符号化するステップとを有し、 前記 Bピクチ ャは、 プロック毎に最大 2枚のピクチャを参照して動き補償を行う ピク チヤであることを特徴とする。 これにより、 複数のブロックを有するピ クチャ中の符号化対象プロックの動き補償を行うときに用いる動きべク トルの記憶の制限を示し、 ピクチャタイプにより保存しない動きべク ト ルを示すことができる。
前記動画像符号化方法は、 前記制限情報と前記保存情報とを符号化す るステツプでは、 前記制限情報と前記保存情報とを前記符号列中のへッ ダ情報と して符号化すると してもよい。 前記動画像符号化方法は、 さら に、 前記保存情報に基づき前記 Bピクチャを符号化するときに用いた動 きべク トルを記憶領域に格納せず、 符号化順で、 前記符号化対象ブロッ クを有するピクチャの直前に符号化された Pピクチャの動きべク トルを 記憶領域に格納するステップを有し、 前記 Pピクチャは、 ブロック毎に 既に符号化済みのピクチャを最大 1 枚参照して予測符号化を行う ピクチ ャであると してもよい。 これにより、 複数のブロックを有するピクチャ 中の符号化対象ブロックの動き補償を行うときに用いる動きベク トルの 記憶の制限を示し、 ピクチャタイプにより保存しない動きべク トルを示 すことができる。
本発明のさらに他の動画像符号化方法は、 複数のプロックから構成さ れるピクチャの並びである動画像を、 動きべク トルを用いた動き補償を 行いながら符号化する方法であって、 符号化対象のピクチヤがトップフ ィールドとポトムフィールドとからなるインタ レース画像のいずれかの フィール ドである場合に、 前記符号化対象のピクチャが前記トップフィ —ルドであるか前記ボトムフィールドであるかを判断するステップと、 前記符号化対象のピクチャが前記トップフィールドであると判断された 場合に、 符号化対象ピクチャの動き補償に用いた動きべク トルを トップ フィ一ルド用の記憶領域に格納し、 前記符号化対象のピクチャが前記ポ トムフィールドであると判断された場合に、 符号化対象ピクチャの動き 補償に用いた動きべク トルをボトムフィールド用の記憶領域に格納する ステップとを有することを特徴とする。 これにより、 フィールドのパリ ティ毎に動きベク トルを格納することができる。
前記動画像符号化方法は、 前記トップフィ一ルド用の記憶領域に格納 する動きべク トルと、 前記ポトムフィールド用の記憶領域に格納する動 きべク トルとは、 同一フレームに属する トップフィールドとボトムフィ 一ルドを符号化するときに用いた動きべク トルであるとしてもよい。 こ れにより、 同一フレームに属するフィール ドを符号化するときに用いた 動きべク トルを保存することができる。
前記動画像符号化方法は、 さらに、 符号化対象のピクチャをフ レーム 構造で符号化する場合に、 前記符号化対象ピクチャの動き補償に用いた 動きべク トルを、 トップフィール ド用の記憶領域とボトムフィール ド用 の記憶領域とに格納するステップを有するとしてもよい。 これにより、 トップフィールド用の記憶領域とボトムフィールド用の記憶領域との両 方に、 フレーム構造の符号化対象のピクチャにおいて動き補償を行うと きに用いた動きべク トルを記憶できる。
上記課題を解決するために、 本発明の動画像復号化方法は、 複数のブ ロックから構成されるピクチャの並びである動画像を、 動きベク トルを 用いた動き補償を行いながら復号化する方法であって、 復号化対象プロ ックの動き補償に用いる動きべク トルの記憶に関する制限を示す制限情 報を有する符号化列を入力するステップと、 前記符号化列を復号化し前 記制限情報を抽出するステップと、 前記制限情報に基づいて動きべク ト ルを記憶領域に格納するステップとを有することを特徴とする。 これに より、 複数のブロックを有するピクチャ中の符号化対象ブロックの動き 補償を行うときに用いる動きベク トルの記憶の制限をすることができる, また、 本発明の他の動画像復号化方法は、 複数のブロックから構成さ れるピクチャの並びである動画像を、 動きべク トルを用いた動き補償を 行いながら復号化する方法であって、 復号化対象ブロックの符号化モー ドを示す符号化モード情報を有する符号化列を入力するステップと、 前 記符号化列を復号化し前記符号化モード情報を抽出するステップと、 前 記符号化モ一 ド情報が直接モ一ドを示している場合に、 参照インデック スで特定される復号化済ピクチャを復号化するときに用いた動きべク ト ルが記憶部に格納されているかどうかを判断する判断ステップと、 前記 参照インデックスで特定される復号化済ピクチャの動きべク トルが、 記 憶部に格納されていないと判断された場合に、 前記復号化対象プロック を有するピクチャと同一のピクチャ内にあり前記復号化対象プロックの 周辺にあるブロックを復号化するときに用いられた動きベク トルを用い て前記復号化対象ブロックの動き補償を行う導出ステップとを有し、 前 記直接モードは、 参照するピクチャ中において前記復号化対象ブロック と同じ位置にあるプロックが復号化されたときに用いられた動きべク ト ルを用いて前記復号化対象ブロックの動き補償を行う符号化モードであ リ、 前記参照インデックスは、 記憶部に格納されている複数の復号化済 ピクチャから、 前記復号化対象ブロックに対して動き補償を行うときに 参照する参照ピクチャを選択するために、 前記復号化済ピクチャに対し て付与されたインデックスであることを特徴とする。 これにより、 直接 モー ドで動き補償を行うために必要な動きベク トルが記憶部になくても 復号化対象ブロックの動き補償を行うことができる。
また、 さらに、 前記参照インデックスで特定される復号化済ピクチャ の動きべク トルが、 記憶部に格納されていないと判断された場合に、 前 記復号化対象ブロックの動きベク トルを 「0 J 'として前記復号化対象ブ ロックの動き補償を行う別の導出ステップを有するとしてもよい。 これ により、 直接モードで動き補償を行うために必要な動きべク トルが記憶 部になくても復号化対象ブロックの動き補償を行うことができる。
前記動画像復号化方法は、 さらに、 前記参照インデックスで特定され る復号化済ピクチャを復号化するときに用いた動きべク トルが記憶部に 格納されていると判断された場合に、 記憶部に格納されている前記動き ベク トルを用いて前記復号化対象ブロックの動き補償を行う別の導出ス テツプを有すると してもよい。 これにより、 直接モードで動き補償を行 うために必要な動きべク トルがあるかないかの判断に基づいて復号化対 象ブロックの き補償をすることができる。
本発明のさらに他の動画像復号化方法は、 複数のブロックから構成さ れるピクチャの並びである動画像を、 動きべク トルを用いた動き補償を 行いながら復号化する方法であって、 復号化対象プロックの動き補償に 用いる動きべク トルの記憶に関する制限を示す制限情報と、 前記復号化 対象ブロックが参照するピクチャが Bピクチャであるときに、 前記 Bピ クチャを復号化するときに用いた動きベク トルを記憶部に格納しないこ とを示す保存情報とを有する符号化列を入力する入力ステップと、 前記 符号化列を復号化し前記制限情報と前記保存情報とを抽出する抽出ステ ップと、 前記制限情報に基づいて動きベク トルを記憶部に格納し、 さら に前記保存情報に基づいて Bピクチャを復号化するときに用いた動きべ ク トルを記憶部に格納しない格納ステップとを有し、前記 Bピクチャは、 ブロック毎に最大 2枚の復号化済みピクチャを参照して動き補償を行う ピクチャであることを特徴とする。 これにより、 抽出された制限情報と 保存情報とにより、 動きべク トルを保存すべきかどうかを決めることが できる。
さらに、 前記格納ステップにおいて、 前記保存情報に基づき前記 Bピ クチャを復号化するときに用いた動きべク トルを記憶部に格納せず、 復 号化順で、 前記復号化対象プロックを有するピクチャの直前に復号化さ れた Pピクチヤの動きべク トルを記憶部に格納し、 前記 Pピクチャは、 ブロック毎に既に復号化済みのピクチャを最大 1 枚參照して動き補償を 行う ピクチャであると してもよい。 これにより、 抽出された制限情報と 保存情報とにより、 動きべク トルを保存すべきかどうかを決めることが できる。
また、 本発明のさらに他の動画像復号化方法は、 複数のブロックから 構成されるピクチャの並びである動画像を、 動きべク トルを用いた動き 補償を行いながら復号化する方法であって、 復号化対象のピクチャが卜 ップフィ一ルドとポトムフィールドとからなるインタ レース画像のいず れかのフィ一ルドである場合に、 前記復号化対象のピクチャが前記トッ プフィールドであるか前記ボトムフィール ドであるかを判断するステツ プと、 前記復号化対象のピクチャが前記卜ップフィールドであると判断 された場合に、 復号化対象ピクチャの動き補償に用いた動きべク トルを トップフィールド用の記憶領域に格納し、 前記復号化対象のピクチャが 前記ボトムフィールドであると判断された場合に、 復号化対象ピクチャ の動き補償に用いた動きべク トルをボトムフィールド用の記憶領域に格 納するステップとを有することを特徴とする。 これにより、 フィールド のパリティ毎に動きべク トルを格納することができる。
以上の様に、 本発明の動画像符号化方法および動画像復号化方法によ れぱ、 直接モードで必要となる動きべク トルを格納するためのメモリ量 を削減しつつ、 より符号化効率の高い符号列を生成することができ、 そ の実用的価値が高い。 図面の簡単な説明
図 1 は、 従来の直接モー ドにおけるピクチャ間予測方法の一例を示す 図である。
図 2は、 入力された各ピクチャに対するピクチャ番号および参照イン デックスの付与の一例を示す説明図である。
図 3は、 従来の動画像符号化方法、 動画像復号化方法における画像符 号化信号のフォーマツ トを示す概念図である。
図 4 ( a ) は、 Bピクチャが前方 4枚および後方 1 枚の Pピクチャを 参照ピクチャとして符号化される場合における符号化対象ピクチャ B 1 1 に対する参照インデックスの初期設定の一例を示す図である。
図 4 ( b ) は、 図 4 ( a ) に示した参照インデックスに対して、 リマ ッビングが行われた場合におけるピクチャ B 1 1 の参照ィンデックスの —例を示す図である。
図 5は、 本発明の実施の形態 1 の動画像符号化装置の構成を示すプロ ック図である。
図 6 ( a ) は、 図 5の動画像符号化装置に入力画像と して入力される ピクチャの順序を示す図である。
図 6 ( b ) は、 図 6 ( a ) に示したピクチャの順序を符号化順に並べ 替えた場合のピクチャの順序を示す図である。
図 7は、 図 5に示した符号列生成部によって生成される符号列の一例 を示す図である。
図 7 ( a ) は、 動きベク トルの記憶量に関する情報がシーケンスへッ ダに記述された符号列の一例を示す図である。
図 7 ( b ) は、 動きベク トルの記憶量に関する情報が G O P (G roup of P i ctur es)ヘッダに記述された符号列の一例を示す図である。
図 7 ( c ) は、 動きベク トルの記憶量に関する情報がピクチャヘッダ に記述された符号列の一例を示す図である。
図 7 ( d ) は、 動きベク トルの記憶量に関する情報がスライスヘッダ に記述された符号列の一例を示す図である。
図 8は、 対象ブロックの動きベク トルを、 直接モードを用いて計算す る場合の計算方法の一例を示す図である。
図 9は、 Bピクチャを直接モードで符号化する際に第 2参照インデッ クスが Γ 0」 の参照ピクチャの動きべク トルを利用できない場合の 2方 向予測の一例を示す図である。
図 1 0は、 Bピクチャを直接モードで符号化する際に第 2参照インデ ックスが Γ 0」 の参照ピクチャの動きベク トルを利用できない場合の 2 方向予測の他の例を示す図である。
図 1 1 は、 実施の形態 2の動画像復号化装置の構成を示すブロック図 である。
図 1 2 ( a ) は、 符号列中に含まれるピクチャの順序を示すである。 図 1 2 ( b ) は、 図 1 2 ( a ) に示したピクチャの並びを復号化順に 並べ替えた場合のピクチャの順序を示す図である。
図 1 3は、記録媒体からのデータの再生を管理するための管理情報と、 符号化された A Vデータとを D V Dなどの記録媒体に記録する記録装置 の概略的構成を示すブロック図である。
図 1 4は、 図 1 3に示したシステム符号化部によって生成された管理 情報と A V (Aud i o V i deo)ス ト リームとが記録された D V Dなどの記録 媒体の一例を示す図である。 図 1 5は、 図 1 3に示した記録装置に備えられる動画像符号化装置の 構成を示すブロック図である。
図 1 6 ( a ) は、 表示順に入力されたピクチャとそれらの符号化の順 を示す図である。
図 1 6 ( b ) は、 従来の M P E G— 4符号化方式において、 各ピクチ ャの符号化に伴ってメモリ内に格納される参照ピクチャと動きベク トル とを示す図である。
図 1 7 ( a ) は、 表示順に入力されたピクチャとそれらの符号化の順 を示す図である。
図 1 7 ( b ) は、 図 1 5に示した動画像符号化装置において、 各ピク チヤの符号化に伴ってメモリ内に格納される参照ピクチャと動きべク ト ルとを示す図である。
図 1 8は、 デジタルテレビ放送で送信されるデータス トリームの一例 を示す図である。
図 1 9は、 実施の形態 4の再生装置の概略的構成を示すブロック図で ある。
図 2 0は、 図 1 9に示したビデオ復号化部に相当する動画像復号化装 置の構成を示すプロック図である。
図 2 1 は、 符号化または復号化の対象ピクチャがフィール ド構造であ る場合のピクチャ間の参照関係の一例を示す図である。
図 2 2は、 符号化または復号化の対象ピクチャがフ レームである場合 についてピクチャ間の参照関係の一例を示す図である。
図 2 3は、 動画像を符号化または復号化する際の、 各フ レームの時間 的並びを示す図である。
図 2 4 ( a ) は、 動きべク トルを保存するメモリア ドレスが 1 ピクチ ャ分である場合のメモリの動作を説明するための模式図である。 図 2 4 ( b ) は、 トップフィールドの動きベク トルとボトムフィール ドの動きベク トルとを 2フィールド分ずつ格納する場合のメモリの動作 を説明するための模式図である。
図 2 5 ( a ) は、 記録媒体本体であるフレキシブルディスクの物理フ ォ一マッ トの例を示している。
図 2 5 ( b ) は、 フレキシブルディスクの正面からみた外観、 断面構 造、 及びフレキシブルディスクを示す。
図 2 5 ( c ) は、 フレキシブルディスク F Dに上記プログラムの記録 再生を行うための構成を示す。
図 2 6は、 コンテンツ配信サービスを実現するコンテンツ供給システ ム ex 1 0 0の全体構成を示すブロック図である。
図 2 7は、 上記実施の形態で説明した動画像符号化方法と動画像復号 化方法を用いた携帯電話 ex 1 1 5を示す図である。
図 2 8は、 携帯電話の構成を示すブロック図である。
図 2 9は、 ディジタル放送用システムの一例を示す図である。 発明を実施するための最良の形態
以下、 本発明の実施の形態について、 図 5から図 2 9を用いて説明す る。
(実施の形態 1 )
図 5は、 本発明の実施の形態 1 の動画像符号化装置 1 0 0の構成を示 すブロック図である。 動画像符号化装置 1 0 0は、 各ピクチャの符号化 の際に、 符号化対象ピクチャの直前に符号化された参照ピクチャで検出 された動きべク トルだけをメモリ内に格納しておき、 Bピクチャを直接 モードで符号化する際に参照すべき動きべク トルがメモリ内に格納され ていない場合には、 従来の直接モー ドとは異なる方法で符号化する動画 像符号化装置であって、 フ レームメモリ 1 0 1 、 差分演算部 1 0 2、 予 測残差符号化部 1 0 3、符号列生成部 1 0 4、予測残差復号化部 1 0 5、 加算演算部 1 0 6、フ レームメモリ 1 0 7、動きべク トル検出部 1 0 8、 モー ド選択部 1 0 9、 符号化制御部 1 1 0、 スィ ッチ 1 1 1 〜 1 1 5、 動きべク トル記憶部 1 1 6を備える。 フレームメモリ 1 0 1 は、 入力画 像をピクチャ単位で保持する画像メモリで、 入力画像と して表示順に入 力されるピクチャを、符号化順に並べ替えるための記憶領域を提供する。 差分演算部 1 0 2は、 フレームメモリ 1 0 1 内のピクチャからブロック 単位で読み出された画像と、 フレームメモリ 1 0 7内の参照ピクチャか ら動きべク トルに基づいて読み出された 1 ブロックの画像との差分であ る予測残差を求めて出力する。 予測残差符号化部 1 0 3は、 差分演算部 "1 0 2で求められた予測残差に周波数変換を施し、量子化して出力する。 この予測残差符号化部 1 0 3による量子化においては、 除算結果の丸め などによって非可逆となる処理が含まれる場合がある。 符号列生成部 1 0 4は、 予測残差符号化部 1 0 3からの量子化結果を可変長符号化した 後、 出力用の符号化ビッ トス ト リームのフォーマッ トに変換し、 符号化 された予測残差の関連情報を記述したへッダ情報などの付加情報を付し て符号列を生成する。 予測残差復号化部 1 0 5は、 予測残差符号化部 1 0 3からの符号化結果を可変長復号化し、 逆量子化した後、 逆周波数変 換を施し、 復号化された予測残差を出力する。 加算演算部 1 0 6は、 予 測残差復号化部 1 0 5の復号化結果である予測残差のプロックに前記参 照画像のプロックを加算して、 復号化された 1 ブロック分の画像を出力 する。 フ レームメモリ 1 0 7は、 復号化された各プロックの画像を蓄積 し、 参照画像をピクチャ単位で保持する画像メモリである。
動きべク トル検出部 1 0 8は、 対象ピクチャの動きベク トルを、 所定 の大きさのブロックを単位として検出する。 モード選択部 1 0 9は、 フ レームメ モリ 1 0 1 から読み出された対象ブロックとそれに対して検出 される動きべク トルとを参照して、 対象ブロックの動きべク トルを直接 モードで計算するか他のモー ドで計算するかを選択する。 直接モー ドを 選択した場合、 モード選択部 1 0 9は、 動きべク トル記憶部 1 1 6に格 納されている、 符号化対象ピクチャより表示順で後方にある参照ピクチ ャの動きべク トルを用いて対象ブロックの動きべク トルを計算する。 モ ード選択部 1 0 9は、 計算の結果である動きべク トルによって示される 参照画像のブロックを、 フレームメモリ 1 0 7から読み出して差分演算 部 1 0 2と加算演算部 1 0 6 とに出力する。 符号化制御部 1 1 0は、 フ レームメ モリ 1 0 1 に表示順で格納されている入力画像のピクチャを、 符号化される順に入れ替え、 符号化の対象となるピクチャから符号化の 順に、 符号化処理の単位となるブロックを読み出す。 また、 符号化制御 部 1 1 0は、 参照ピクチャごとに参照インデックスを割り当て、 割リ当 てた参照インデックスの一覧である参照インデックスリス トを管理する, さらに、 符号化制御部 1 1 0は、 符号化対象ピクチャの直前に符号化さ れた参照ピクチヤの動きべク トルだけを動きべク トル記憶部 1 1 6に格 納し、 動きべク トル記憶部 1 1 6に格納される動きべク トルの記憶量を 示す情報を作成する。 動きべク トル記憶部 1 1 6は、 符号化対象のピク チヤの直前に符号化された参照ピクチャにおいて.得られている動きべク トルを保存するための記憶領域を提供する。
以下では、 上記のように構成された動画像符号化装置 1 0 0の動作に ついて説明する。 図 5に示した動画像符号化装置 1 0 0の入力画像は、 表示時間順にピクチャ単位でフ レームメモリ 1 0 1 に入力される。 図 6 ( a ) は、 図 5の動画像符号化装置 1 0 0に入力画像として入力される ピクチャの順序 示す図である。 フレームメモリ 1 0 1 に入力されるピ クチャの順序を図 6 ( a ) に示す。 図 6 ( a ) において、 縦線はピクチ ャを示し、 各ピクチャの右下に示す記号は、 1 文字目のアルファベッ ト がピクチャタイプ ( I 、 Pまたは B ) を示し、 2文字目以降の数字が表 示順のピクチヤ番号を示している。 フレームメモリ 1 0 1 に入力された 各ピクチャは、 符号化順に並び替えられる。 符号化順への並び替えは、 ピクチャ間予測符号化における参照関係に基づいて行われ、 参照ピクチ ャと して用いられるピクチャが、 符号化対象ピクチャよリも先に符号化 されるように並び替える。 図 6 ( b ) は、 図 6 ( a ) に示したピクチャ の順序を符号化順に並べ替えた場合のピクチャの順序を示す図である。 例えば、 P ピクチャは、 表示順で前方にある近傍 3枚の I ピクチャまた は Pピクチヤを参照ピクチャとする。 すなわち、 符号化対象の Pピクチ ャにおいて符号化対象となる各ブロックは、 表示順で.前方にある 1枚の 参照ピクチャを参照して動き補償を行うのであるが、 ブロックごとにこ の 1 枚を 表示順で前方にある近傍 3枚の I ピクチャまたは Pピクチャ の中から任意に選択することができる。 また、 Bピクチャは、 表示順で 前方にある近傍 3枚の I ピクチャまたは Pピクチャと、 表示順で後方に ある近傍 1 枚の I ピクチャまたは Pピクチャとを参照ピクチャとして用 いるものとする。 従って、 符号化対象の Bピクチャにおいて符号化対象 となる各ブロックは、 2枚の参照ピクチャを参照して動き補償を行うの であるが、 ブロックごとにこの 2枚を、 表示順で前方にある近傍 3枚の I ピクチャまたは Pピクチャと、 表示順で後方にある近傍 1枚の I ピク チヤまたは Pピクチャとの中から任意に選択することができる。 このた め、 Bピクチャの符号化より前の時点で、 当該 Bピクチャより表示順で 後方にある近傍 1枚の I ピクチャまたは Pピクチャを符号化しておかな くてはならない。 この場合、 図 6 ( a ) のピクチャを並び替えた結果は 図 6 ( b ) のようになる。 例えば、 Bピクチャであるピクチャ B 5に注 目すると、 ピクチャ B 5より表示順で後方にある ( I ピクチャまたは) Pピクチャであって、 かつ、 ピクチャ B 5の最も近傍にあるピクチャ P 7が、 ピクチャ B 5を符号化する前に符号化される。
フ レームメモリ 1 0 1 で並び替えが行われた各ピクチャは、 マクロブ ロックの単位で読み出されるとする。 ここでは、 マクロブロックは水平 1 6画素 X垂直 1 6画素の大きさであるとする。 また、 動き補償はプロ ック単位 (ここでは 8画素 X 8画素の大きさとする) 単位で行うものと する。 以下では、 ピクチャ P 1 3、 ピクチャ B 1 1 の符号化処理につい て順に説明する。 なお、 本実施の形態における参照インデックスの管理 は符号化制御部 1 1 0において行うものとする。
<ピクチャ P 1 3の符号化処理 >
ピクチャ P 1 3は Pピクチヤであるので、 前方参照を用いたピクチャ 間予測符号化を行う。 この場合の参照ピクチャはピクチャ P 1 0、 ピク チヤ P 7、 ピクチャ P 4となる。 これらの参照ピクチャは、 既に符咢化 が終了しておリ、復号化画像がフレームメモリ 1 0 7に蓄積されている。 符号化制御部 1 1 0は、 入力されたピクチャをどのタイプのピクチャ ( 1 、 Pまたは Bピクチャ) で符号化するかを決定し、 そのピクチャタ イブにより、 スィッチスィッチ 1 1 3、 スィッチ 1 1 4、 スィッチ 1 1 5を制御する。 ここで、 ピクチャタイプの決定は、 例えば、 周期的にピ クチャタイプを割り当てる方法が一般的に用いられる。 ピクチャタイプ の決定により、 フレームメモリ 1 0 1 内でピクチャの符号化順序の入れ 替えが行われる。
Pピクチャの符号化においては、 符号化制御部 1 1 0は、 スィ ッチ 1 1 3、 スィッチ 1 1 4、 スィッチ 1 1 5がオンになるように各スィッチ を制御する。 したがって、 フレームメモリ 1 0 1 から読み出されたピク チヤ P 1 3のマクロブロックは、 まず動きべク トル検出部 1 0 8、 モー ド選択部 1 0 9、 差分演算部 1 0 2に入力される,。 動きべク トル検出部 1 0 8では、 フ レームメモリ 1 0 7に蓄積された ピクチャ P 1 0の復号化画像データを参照ピクチャと して用い、 マクロ ブロック内の各ブロックに対して、 動きベク トルの検出を行う。 検出さ れた動きべク トルは、 モード選択部 1 0 9に対して出力される。
モー ド選択部 1 0 9では、 動きべク トル検出部 1 0 8で検出した動き ベク トルを用いて、 マクロブロックの符号化モードを決定する。 ここで 符号化モードとは、 マクロブロックをどのような方法で符号化するかを 示すものである。 例えば、 Pピクチャの場合には、 ピクチャ内符号化、 動きべク トルを用いたピクチャ間予測符号化、 動きべク トルを用いない (動きべク トルを 「 0」 として扱う、 または、 周囲ブロックの動きべク トルから選択する) ピクチャ間予測符号化の中から、 いずれの方法で符 号化するかを決めることができるとする。 符号化モー ドの決定において は、 一般的には、 少ないビッ ト量でより符号化誤差が小さくなる方法を 選択する。
モード選択部 1 0 9で決定された符号化モードは、 符号列生成部 1 0 4に対して出力される。 また、 現ピクチャが、 他のピクチャの符号化時 に参照ピクチャと して用いられるピクチャであり、 モード選択部 1 0 9 で決定された符号化モードがピクチャ間予測符号化である場合には、 モ ード選択部 1 0 9は、 そのピクチャ間予測符号化で用いられる動きべク トルを動きべク トル記憶部 1 1 6に格納する。 ただし、 動きべク トル記 憶部 1 1 6への動きべク トルの格納動作は、 後述するように符号化制御 部 1 1 0によ り制御される。 また、 動きベク トルは、 モード選択部 1 0 9から符号列生成部 1 0 4に対して出力される。
さて、 以下では、 モード選択部 1 0 9による動きべク トル記憶部 1 1 6への動きべク トル格納動作について説明する。 動きべク トル記憶部 1 1 6に格納される動きべク トルの数は、 符号化制御部 1 1 0により指定 される。 Pピクチャは、 前方の 3つのピクチャを参照ピクチャと して用 いて符号化されるが、 ここでは参照ピクチャ数よりも少ないピクチャ数 の動きべク トルを、 動きべク トル記憶部 1 1 6に格納する。 例えば、 こ こでは 1 つのピクチャのみの動きべク トルを格納するとする。この場合、 格納する動きベク トルと しては、 参照ピクチャのうち符号化順で現ピク チヤの直前に符号化された参照ピクチャの動きベク トルを格納する方法 がある。 ここで、 すでに動きべク トル記憶部 1 1 6に記憶されている動 きべク トルは、 現ピクチャの符号化の開始時に消去しても良いし、 符号 化モードが決定される度に、 動きべク トルを符号化されるブロックの順 に上書きしても良い。 なお、 格納する動きべク トルの量としては、 復号 化装置が有する動きベク トルを格納する領域 (メモリ) の大きさをもと に決めても良い。 また、 動きべク トル記憶部 1 1 6に格納する動きべク トルと しては、 I ピクチャのみ、 P ピクチャのみ、 または I ピクチャと Pピクチャのみにするようにしても良い。 さらに、 これらに加えて、 符 号化中のピクチャにおいて、 対象ブロックよりも前に直接モード以外の ピクチャ間予測を用いて符号化されている所定数のブロックまたは全ブ ロックの動きベク トルが格納されるようにしてもよい。 ここで、 I ピク チヤに関して格納される動きべク トルの情報と しては、 動きべク トルが 格納されていないことを示す情報のことである ( I ピクチャは動き補償 されないため)。また、動きべク トル記憶部 1 1 6に格納する動きべク ト ルと しては、 表示順で符号化対象ピクチャに近いものから数ピクチャを 保存するようにしても、 符号化の順番 (ス トリーム順序) で符号化対象 ピクチャに近いピクチャから (ス トリーム順序で後のピクチャから) 数 ピクチャを保存するようにしても、 いずれでも構わない。 Bピクチャが 後方の 2枚の Pピクチャを参照する場合、 符号化 (または復号化) の順 番では近くても、 時間的に離れているため、 画像と しては近い画像では ない (動き補償に.適した画像ではない) 可能性が高い。 よって、 Bピク チヤが後方の複数の Pピクチャを参照する場合には、 表示順で符号化対 象ピクチャに近いものから動きベク トルを保存するとよい場合がある。 一方、 符号化の順番 (ス ト リーム順序) で符号化対象ピクチャに近いピ クチャから (ス トリ一ム順序で後のピクチャから) 動きべク トルを保存 すると、 メモリの管理を簡略化できる利点がある。
またさらに、 符号化制御部 1 1 0によリ指定された、 動きべク トル記 憶部 1 1 6に格納される動きべク トルの数 (例えば、 参照ピクチャ数、 マクロブロック数) は、 符号列生成部 1 0 4に対して出力される。
次に、 図 5に示したように、 モード選択部 1 0 9で決定された符号化 モードに基づいた参照画像が、 差分演算部 1 0 2と加算演算部 1 0 6と に出力される。 ただし、 ピクチャ内符号化が選択された場合には、 参照 画像は出力されない。 また、 モード選択部 1 0 9でピクチャ内符号化が 選択された場合には、 符号化制御部 1 1 0は、 スィッチ 1 1 1 を端子 a に、 スィッチ 1 1 2を端子 cに接続するように制御し、 ピクチャ間予測 符号化が選択された場合には、 スィ ッチ 1 1 1 を端子 bに、 スィ ッチ 1 1 2を端子 dに接続するように制御する。
以下では、 モード選択部 1 0 9でピクチャ間予測符号化が選択された 場合について説明する。
差分演算部 1 0 2には、 マクロブロックの画像データ以外に、 モード 選択部 1 0 9から参照画像が入力される。 差分演算部 1 0 9では、 マク ロブ口ックの画像データと参照画像との差分を演算し、 予測残差画像を 生成し出力する。
予測残差画像は予測残差符号化部 1 0 3に入力される。 予測残差符号 化部 1 0 3では、 入力された予測残差画像に対して周波数変換や量子化 等の符号化処理を施すことにより、 符号化データを生成して出力する。 ここで例えば、 周波数変換や量子化の処理は、 水平 8画素 X垂直 8画素 の単位で行うことができる。 予測残差符号化部 1 0 3から出力された符 号化データは、 符号列生成部 1 0 4と予測残差復号化部 1 0 5とに入力 される。
符号列生成部 1 0 4では、 入力された符号化データに対して、 可変長 符号化等を施し、 さらにモード選択部 1 0 9から入力された動きべク ト ルの情報、 符号化モー ドの情報、 その他のヘッダ情報、 等を付加するこ とにより符号列を生成する。 この場合、 ヘッダ情報には、 符号化制御部 1 1 0により決定された、動きベク トルの記憶量に関する情報(例えば、 参照ピクチャ数、 マクロブロック数) が記述される。 この記述は、 符号 列全体のヘッダ(シーケンスヘッダ)、複数ピクチヤから構成される G O Pのヘッダ ( G O Pヘッダ)、 ピクチャヘッダ、 スライスヘッダ等に記述 すれば良い。 また、 符号化装置と復号化装置とで動きべク トルの記憶量 に関する情報を予め共有しているような場合には、 動きべク トルの記憶 量に関する情報は、 符号化されてもされなくてもよい。 図 7は、 図 5に 示した符号列生成部 1 0 3によつて生成される符号列の一例を示す図で ある。 以下の図において、 斜線部は、 それぞれヘッダを示す。 図 7 ( a ) は、 動きべク トルの記憶量に関する情報がシーケンスヘッダに記述され た符号列の一例を示す図である。 図 7 ( b ) は、 動きべク トルの記憶量 に関する情報が G O P (G roup of P i ctur es)へッダに記述された符号列の 一例を示す図である。 図 7 ( c ) は、 動きベク トルの記憶量に関する情 報がピクチャヘッダに記述された符号列の一例を示す図である。 図 7 ( d ) は、 動きベク トルの記憶量に関する情報がスライスヘッダに記述 された符号列の一例を示す図である。 また、 この記述は符号列全体のへ ッダに 1 つだけ記述するようにしてもよいし、 G O Pのヘッダ ( G O P ヘッダ)、 ピクチャヘッダ、 およびスライスヘッダ等に同一の情報を繰り 返し記述するようにしてもよい。
また、 上記の動きべク トルの記憶量に関する情報は、 参照ピクチャ数 またはマクロブロック数などに限らず、 例えば、 単に、 動きベク トルの 記憶量に制限が設けられていることを示す情報またはメモリに格納され るデータに制限が設けられていることを示す情報などであってもよい。 予測残差復号化部 1 0 5では、 入力された符号化データに対して、 逆 量子化や逆周波数変換等の復号化処理を施し、 復号化差分画像を生成し て出力する。 復号化差分画像は加算演算部 1 0 6において、 予測画像と 加算されることによリ復号化画像となリ、 フ レームメモリ 1 0 7に蓄積 される。
同様の処理により、ピクチャ P 1 3の残りのマクロブロックに対して、 符号化処理が行われる。 そして、 ピクチャ P 1 3のすベてのマクロプロ ックについて処理が終わると、 次にピクチャ B 1 1 の符号化処理が行わ れる。
<ピクチャ B 1 1 の符号化処理 >
ピクチャ B 1 1 は Bピクチヤであるので、 2方向参照を用いたピクチ ャ間予測符号化を行う。 この場合の参照画像は、 表示順で前方にある参 照ピクチャがピクチャ P 1 0、 ピクチャ P 7、 ピクチャ P 4、 表示順で 後方にある参照ピクチャがピクチャ P 1 3となる。 ピクチャ B 1 1 の符 号化処理においては、 符号化制御部 1 1 0は、 スィッチ 1 1 3がオン、 スィッチ 1 1 4、 スィッチ 1 1 5がオフになるように各スィッチを制御 するものとする。 よって、 フレームメモリ 1 0 1 から読み出されたピク チヤ B 1 1 のマクロブロックは、 動きベク トル検出部 1 0 8、 モード選 択部 1 0 9、 差分演算部 1 0 2に入力される。
動きべク トル検出部 1 0 8では、 フ レームメモリ 1 0 7に蓄積された ピクチャ P 1 0、 ピクチャ P 7、 ピクチャ P 4の復号化画像データを前 方参照ピクチャとして、 ピクチャ P 1 3の復号化画像データを後方参照 ピクチャと して用いることにより、 マクロブロックに含まれる各ブロッ クの前方動きべク トルと後方動きべク トルの検出を行う。
モー ド選択部 1 0 9では、 動きべク トル検出部 1 0 8で検出した動き べク トルを用いて、マクロブロックの符号化モードを決定する。ここで、 Bピクチャの符号化モードは、 例えば、 ピクチャ内符号化、 前方動きべ ク トルを用いたピクチャ間予測符号化、 後方動きべク トルを用いたピク チヤ間予測符号化、双方向動きべク トルを用いたピクチャ間予測符号化、 直接モードから選択することができるものとする。
ここで、 直接モードで符号化を行う場合について説明する。 図 8は、 対象ブロックの動きべク トルを、 直接モードを用いて計算する場合の計 算方法の一例を示す図である。 図 8において、 符号化対象ブロックがピ クチャ B 1 1 内のブロック aであるとする。 ブロック aを直接モードで 符号化する場合には、 ピクチャ B 1 1 に対して第 2参照インデックスが Γ 0 J である参照ピクチャ中の、 ブロック a と同じ位置にあるブロック の動きべク トルを利用する。
まず、 ピクチャ B 1 1 に対して第 2参照インデックスが Γ 0 J の参照 ピクチャが、 ピクチャ P 1 3である場合について説明する。 動きべク ト ル記憶部 1 1 6に格納されている動きべク トルは、 その動きべク トルが どのピクチャのものであるかを特定するために、 ピクチャ番号と対応付 けて格納されている。 モード選択部 1 0 9は、 ピクチャ B 1 1 に対して 第 2参照インデックスが Γ 0 J である参照ピクチャのピクチャ番号 Γ 1 3 J をピクチャ B 1 1 の参照インデックスリス トから調べ、 ピクチャ番 号 「 1 3」 の参照ピクチャの動きべク トルが動きべク トル記憶部 1 1 6 に格納されているか否かを判断する。 ピクチャ P 1 3は、 符号化順序で ピクチャ B 1 1 に最も近く符号化された参照ピクチャであるので、 ピク チャ 1 3の各ブロックを符号化した際の動きべク トルは、 動きべク ト ル記憶部 1 1 6に保持されている。 よって、 ブロック aを直接モードで 符号化する際には、 ピクチャ P 1 3のブロック bの動きベク トルを利用 することになる。 動きベク トル cは、 ブロック bが符号化された際に用 いられた動きべク トルであり、 動きべク トル記憶部 1 1 6に記憶されて いる。 この動きベク トル cは、 ピクチャ P 1 0を参照している。 ブロッ ク aは、 動きべク トル cから生成した動きべク 卜ルを用いて、 参照ピク チヤであるピクチャ P 1 0とピクチャ P 1 3とから 2方向予測が行われ る。 この場合のブロック aを符号化する際に用いる動きベク トルは、 ピ クチャ P 1 0に対しては動きべク トル d、 ピクチャ P 1 3に対しては動 きべク トル eとなる。
ここで、 動きべク トル cからブロック aの動きべク トルを生成する第 1 の方法としては、 ピクチャ間の時間的距離を用いてスケーリングを施 す方法がある。 今、 前方向動きべク トルである動きべク トル dの大きさ を M V F、後方向動きべク トルである動きべク トル eの大きさを M V B、 動きベク トル cの大きさを M V P、 現在のピクチャ (ピクチャ B 1 1 ) の第 2参照インデックスが Γ 0 J である参照ピクチャ (ピクチャ P 1 3 ) と、 その参照ピクチャ (ピクチャ P 1 3 ) のブロックが参照しているピ クチャ (ピクチャ P 1 0 ) との時間的距離を T R D、現在のピクチャ (ピ クチャ B 1 1 ) と参照ピクチャ (ピクチャ P 1 3 ) のブロックが参照し ているピクチャ (ピクチャ P 1 0 ) との時間的距離を T R Bとすると、 動きべク トル M V F、 動きべク トル M V Bは、 それぞれ (数式 1 )、 (数 式 2 ) で求められる。
(数式 1 ) M V F = M V P X T R B Z T R D
(数式 2 ) M V B = ( T R B— T R D ) x M V / T R D
ここで、 M V F、 M V Bはそれぞれ、 動きベク トルの水平成分、 垂直 成分を合成して表現しているものとする。
また、 動きべク トル cからブロック aの動きべク トルを生成する第 2 の方法と しては、 予め定めたスケーリング係数を用いて、 動きベク トル cに対してスケーリングを行う方法がある。 ここで使用されるスケーリ ング係数は、 複数ブロック単位または複数ピクチャ単位で、 変更可能と しても良い。また、 このスケーリング係数は、システムで一意に決定し、 符号化側と復号化側とで共有しても良いし、 符号列中にヘッダ情報と し て記述することによリ、 符号化側と復号化側とで共有しても良い。
次に、 第 2参照インデックスが Γ 0」 の参照ピクチャが、 ピクチャ P 1 3以外の参照ピクチャである場合について説明する。 例えば、 ピクチ ャ P 1 0、 ピクチャ P 7、 ピクチャ P 4のいずれかが、 ピクチャ B 1 1 に対して第 2参照インデックスが Γ 0 J の参照ピクチャである場合が考 えられる。 ピクチャ P 1 3以外の参照ピクチャは、 符号化順序でピクチ ャ B 1 1 に最も近く符号化された参照ピクチャではないので、 それらの ピクチャの各ブロックを符号化した際の動きべク トルは、 動きべク トル 記憶部 1 1 6に保持されていない。 よって、 ブロック aを直接モードで 符号化しょうと しても、 第 2参照インデックスが 「 0」 の参照ピクチャ の動きべク トルを利用することができない。
この場合における、 直接モードの処理の第 1 の方法と しては、 動きべ ク トルを 「 0」 として 2方向予測する方法がある。 この場合の参照ピク チヤは、 例えば、 ピクチャ B 1 1 に対して第 1参照インデックスが Γ 0 J であるピクチャと、 第 2参照インデックスが Γ 0 J であるピクチャとを 用いることができる。 図 9は、 Bピクチャを直接モードで符号化する際 に第 2参照インデックスが Γ 0」 の参照ピクチャの動きべク トルを利用 できない場合の 2方向予測の一例を示す図である。 例えば、 第 1参照ィ ンデックスが Γ 0 J であるピクチャがピクチャ P 7であり、 第 2参照ィ ンデックスが Γ 0 J であるピクチャがピクチャ P 1 0である場合、 図 9 のようにブロック aに対して 2方向予測を行うことができる。 ブロック aは、 ピクチャ P 7 とピクチャ P 1 0においてブロック a と同じ位置に あるブロックを参照して動き補償を行う。
また、 直接モードの処理の第 2の方法としては、 同一ピクチャ内の周 辺ブロックの動きベク トルを利用する方法がある。 ただし、 この場合、 対象ブロックの周辺にあるブロックの動きべク トルは、 モード選択部 1 0 9により、 動きべク トル記憶部 1 1 6に格納されているものとする。 この方法では、 例えば図 1 0に示すように、 ブロック B Lを直接モード で符号化する場合には、 3つの周辺ブロック B L 1 、 ブロック B L 2、 ブロック B L 3を符号化する際に用いた動きべク トルを利用して、 プロ ック B Lを符号化する際に用いる動きべク トルを決定する。 この動きべ ク トルの決定方法としては、 例えば前方向動きべク トルと後方向動きべ ク トルとのそれぞれについて、 3つの周辺ブロックの動きべク トルの中 央値ゃ平均値を求める方法、 第 1参照ピクチャを参照する動きべク トル と第 2参照ピクチャを参照する動きべク トルとのそれぞれについて、 3 つの周辺ブロックの動きベク トルの中央値や平均値を求める方法等が考 えられる。
さて、 図 5に示したように、 モード選択部 1 0 9で決定された符号化 モードは符号列生成部 1 0 4に対して出力される。 また、 モード選択部 1 0 4で決定された符号化モードに基づいた参照画像が差分演算部 1 0 2と加算演算部 1 0 6に出力される。 ただし、 ピクチャ内符号化が選択 された場合には、 参照画像は出力されない。 また、 モード選択部 1 0 9 でピクチャ内符号化が選択された場合には、 符号化制御部 1 1 0は、 ス イッチ 1 1 1 を端子 aに、 スィ ッチ 1 1 2を端子 cに接続するように制 御し、 ピクチャ間予測符号化が選択された場合には、 スィ ッチ 1 1 1 を 端子 bに、 スィ ッチ 1 1 2を端子 dに接続するように制御する。 以下で は、 モード選択部 1 0 9でピクチャ間予測符号化が選択された場合につ いて説明する。
差分演算部 1 0 2には、 モ一ド選択部 1 0 9から参照画像が入力され る。 差分演算部 1 0 9では、 ピクチャ B 1 1 のマクロブロックと参照画 像との差分を演算し、 予測残差画像を生成し出力する。
予測残差画像は予測残差符号化部 1 0 3に入力される。 予測残差符号 化部 1 0 3では、 入力された予測残差画像に対して周波数変換や量子化 等の符号化処理を施すことにより、 符号化データを生成して出力する。 予測残差符号化部 1 0 3から出力された符号化データは、 符号列生成部 1 0 4に入力される。
符号列生成部 1 0 4では、 入力された符号化データに対して、 可変長 符号化等を施し、 さらにモー ド選択部 1 0 9から入力された動きべク ト ルの情報、 符号化モー ドの情報、 その他のヘッダ情報、 等を付加するこ とにより符号列を生成する。 ただし、 直接モードで符号化されたマクロ ブロックについては、 動きべク トルの情報は符号列に付加されない。 同様の処理により、ピクチャ B 1 1 の残りのマクロブロックに対して、 符号化処理が行われる。 そして、 ピクチャ B 1 1 のすベてのマクロプロ ックについて処理が終わると、 次にピクチャ B 1 2の符号化処理が行わ れる。
以上のように、 本発明の動画像符号化方法は、 直接モードで符号化を 行う際に利用する動きベク トルについて、 どれだけ (例えば何ピクチャ 分) の動きべク トルを記憶すべきかに対して制限を設ける。 そして、 そ の制限を加えていることを示す情報 (請求の範囲でいう制限情報および 保存情報) を符号列のヘッダ情報として記述する。 また、 直接モー ドで 符号化を行う際に、 利用すべき動きべク トルがメモリ上に存在する場合 には、 その動きベク トルを利用する。 一方、 利用すべき動きベク トルが メモリ上に存在しない場合には、 対象ブロックの動きべク トルを Γ 0 J と して符号化するか、 または同一ピクチャ内において符号化対象ブロッ クの周辺にある符号化済みブロックを符号化する際に用いた動きべク ト ルを利用して符号化を行う。
このような動作により、 直接モードのために記憶しておくべき動きべ ク トルの記憶量を削減することができ、 ハードウエアゃソフ トウ Iァに おけるメモリ量の削減を行うことができる。 さらに、 直接モードにおい て利用すべき動きべク トルがない場合であっても、 代替的な方法により 直接モードを実施することができる。 また本発明は、 上記で説明したよ うに、 第 2参照インデックスが 「 0」 となるピクチャに関わらず実施す ることができるため、 第 2参照インデックスが 「 0」 となるピクチャの 設定方法を新たに定義する必要がなく、 設計上の煩雑さを招く ことを防 ぐことができる。
なお、 本実施の形態においては、 マクロブロックは水平 1 6画素 X垂 直 1 6画素の単位で、 動き補償は 8画素 X 8画素のブロック単位で、 ブ ロック予測残差画像の符号化は水平 8画素 X垂直 8画素の単位で処理す る場合について説明したが、 これらの単位は別の画素数でも良い。
また、 本実施の形態においては、 図 1 0を用いた説明において、 符号 化済みの 3つの周辺ブロックの動きべク トルを用い、 直接モードにおい て用いる動きべク トルを決定する方法について説明したが、 この周辺ブ ロック数、 予測値の決定方法、 は他の値や他の方法であっても良い。 例 えば、 左隣のブロックの動きベク トルを予測値と して用いる方法、 等が また、 本実施の形態においては、 Pピクチャは、 表示順で前方にある 近傍 3枚の I ピクチャまたは Pピクチャを参照ピクチャと し、 Bピクチ ャは表示順で前方にある近傍 3枚の I ピクチャまたは Pピクチャを前方 参照ピクチャ、 表示順で後方にある近傍 1 枚の I ピクチャまたは Pピク チヤを後方参照ピクチャとして用いる場合について説明したが、 これら の参照ピクチャ数は異なる値であっても良い。
また、 本実施の形態においては、 Bピクチャを参照ピクチヤと しては 用いない場合について説明したが、 これは Bピクチヤを参照ピクチャと して用いた場合であっても良い。 Bピクチャを参照ピクチャと して用い る場合、 Bピクチャを局所復号化した後のピクチャを参照ピクチャとし てフ レームメモリ 1 0 7に保存する必要があるため、 符号化制御部 1 1 0によるスィッチ 1 1 4、 スィッチ 1 1 5の制御は本実施の形態におけ る P ピクチヤの符号化の場合と同じとなる。 また、 Bピクチャが参照ピ クチャと して用いられる場合であっても、 Bピクチャが他のピクチャに 対して第 2参照ィンデックスが Γ 0 Jのピクチャとなることがない場合、 Bピクチャを符号化した際の動きべク トルを動きべク トル記憶部 1 1 6 に格納しなくても良い。これは、 Bピクチャが第 2参照インデックス Γ Ο J のピクチャとなることがない場合、 第 2参照インデックスが Γ 0 J とな るピクチャは I ピクチャまたは Pピクチャのみとなるからである。 した がってこのような場合、 I ピクチャまたは Pピクチャを符号化する際に 用いた動きべク トルのみを動きべク トル記憶部 1 1 6に格納すればよい, これにより、 直接モードにおいて、 符号化対象ピクチャに対して第 2参 照インデックスが 「0」 となるピクチャを符号化した際に用いた動きべ ク トルを利用することができ、 符号化効率の向上を図ることができる。 ここで、 Bピクチャを符号化する際に用いた動きべク トルを動きべク 卜 ル記憶部 1 1 6に格納するかどうかは、 符号化装置側と復号化装置側で 予め決定しておく こともできるし、 符号化装置側で決定し、 その情報を 符号列中のへッダ部に記述しておく こともできる。 符号化装置側で決定 する場合には、 符号化制御部 1 1 0で決定を行い、 その情報を符号列生 成部 1 0 4でヘッダ中に記述すればよい。
また、 ピクチャを符号化する際に用いた動きべク トルを動きべク トル 記憶部 1 1 6に格納するかどうかを、 符号化装置側と復号化装置側で予 め決定し、 その情報を符号列生成部 1 0 4でヘッダ中に記述しなくても いいようにしてもよい。
また、 本実施の形態においては、 直接モード用に記憶しておく動きべ ク トルを、 符号化順で直前に符号化された 1 つの参照ピクチャを符号化 する際に用いた動きベク トルを記憶しておく場合について説明したが、 これとは異なる参照ピクチャ数の動きべク トルを記憶しておいても良い, また、 動きべク トルのうち、 記憶すべきものと記憶しないものとを直 接復号化装置に対して指定してもよい。 これは例えば、 動きべク トルの 記憶の有無を指定されるピクチャのヘッダ中や、 他のピクチャのヘッダ 中において、 動きべク トルの記憶の有無を指定されるピクチャのピクチ ャ番号等を指定することにより、 どのピクチャの動きベク トルが記憶さ れ、 どのピクチャの動きベク トルが記憶されていないかを、 復号化装置 に指示することができる。 例えば、 ピクチャ B 1 1 の符号化の際に、 第 2参照インデックスが Γ 0 J である参照ピクチャがピクチャ P 1 0とな ることがわかっている場合、 ピクチャ P 1 0の動きべク トルは記憶し、 ピクチャ P 1 3の動きべク トルは記憶しないように指示する。 これによ リ、 ピクチャ B 1 1 の符号化の際には、 ピクチャ P 1 0 (第 2参照イン デックスが Γ 0 J である参照ピクチャ) の動きベク トルが動きベク トル 記憶部 1 1 6に保存されていることになリ、 直接モードにおいて、 第 2 参照インデックスが Γ 0」 である参照ピクチャの動きべク 卜ルを利用す ることができる。 ここで、 どの動きベク トルを保持しておくかを指定す る情報は、符号列中のへッダ情報と して記述すればよし、。一例と しては、 ピクチャ毎に動きべク トルを保存するかどうかを示す情報(例えば、 Γ 0 J または Γ 1 J )を符号列中のヘッダの中に記述しておく。別の例と しては、 動きベク トルを保存する期間を示す情報(例えば、保存しなければ Γ 0」、 所定のピクチャにおいて 3 ピクチャ後のピクチャで新たに保存しなおす のであれば所定のピクチャの付随情報として 「 3 J ) を記述しておく。 こ のような方法を用いることにより、 より柔軟な動きべク トルの記憶管理 を行うことが可能となり、 また符号化効率の向上を図ることができる。
(実施の形態 2 )
以下では、 本発明の第 2の実施の形態の動画像復号化装置 7 0 0につ いて、 図 1 1 を用いて説明する。 図 1 1 は、 実施の形態 2の動画像復号 化装置 7 0 0の構成を示すプロック図である。 動画像復号化装置 7 0 0 は、 符号列中のヘッダ情報に記述されている動きべク トルの格納方法に したがって、 参照ピクチャの動きべク トルをメモリに格納し、 復号化対 象ピクチャの復号化を行う動画像復号化装置であって、 符号列解析部 7 0 1 、 予測残差復号化部 7 0 2、 モード復号部 7 0 3、 動き補償復号部 7 0 5、 動きベク トル記憶部 7 0 6、 フレームメモリ 7 0 7、 加算演算 部 7 0 8、 スィ ッチ 7 0 9およびスィ ッチ 7 1 0を有する。
図 1 2 ( a ) は、 符号列中に含まれるピクチャの順序を示すである。 図 1 2 ( b ) は、 図 1 2 ( a ) に示したピクチャの並びを復号化順に並 ベ替えた場合のピクチャの順序を示す図である。 動画像復号化装置 7 0 0に入力される符号列中のピクチャの順序は、 図 1 2 ( a ) に示す通り であるとする。 ここで、 Pピクチャは、 表示順で前方にある近傍 3枚の I ピクチャまたは Pピクチャを参照ピクチャと し、 Bピクチャは表示順 で前方にある近傍 3枚の I ピクチャまたは Pピクチャと、 表示順で後方 にある近傍 1 枚の I ピクチャまたは Pピクチャとを参照ピクチャとして 用いて、 符号化されているものとする。 以下では、 Pピクチャ、 Bピク チヤの復号化処理の代表例と して、 ピクチャ P 1 3、 ピクチャ B 1 1 の 復号化処理について順に説明する。 なお、 本実施の形態における参照ィ ンデックスの管理は符号列解析部 7 0 1 において行うものとする。
<ピクチャ P 1 3の復号化処理 >
動画像復号化装置 7 0 0の入力である符号列は、 まず符号列解析部 7 0 1 に入力される。 符号列解析部 7 0 1 では、 入力された符号列から、 各種データの抽出を行う。 ここで各種データとは、 モー ド選択の情報や 符号化された動きべク トルを表す動きべク トル情報等である。 抽出され たモード選択の情報は、モード復号部 7 0 3に対して出力される。また、 抽出された動きベク トル情報は、 動き補償復号部 7 0 5に対して出力さ れる。 さらに、 予測残差符号化データは、 予測残差復号化部 7 0 2に対 して出力される。
モード復号部 7 0 3では、 符号列から抽出されたモード選択の情報を 参照し、 スィ ッチ 7 0 9とスィ ッチ 7 1 0の制御を行う。 モード選択が ピクチャ内符号化である場合には、 スィッチ 7 0 9は端子 aに、 スイツ チ 7 1 0は端子 cに接続されるように制御する。 また、 モード選択がピ クチャ間予測符号化である場合には、 スィッチ 7 0 9は端子 bに、 スィ ツチ 7 1 0は端子 dに接続されるように制御する。
またモード復号部 7 0 3では、 モード選択の情報を動き補償復号部 7 0 5に対しても出力する。 以下では、 モード選択がピクチャ間予測符号 化である場合について説明する。
予測残差復号化部 7 0 2では、 入力された予測残差符号化データの復 号化を行い、 予測残差画像を生成する。 生成された予測残差画像は、 ス イッチ 7 0 9に対して出力される。 ここでは、 スィッチ 7 0 9は端子 b に接続されているので、 予測残差画像は加算演算部 7 0 8に対して出力 される。 動き補償復号部 7 0 5は、 符号列解析部 7 0 1 から入力された、 符号 化された動きべク トルである動きべク トル情報に対して、 復号化処理を 行う。 そして、 復号化された参照ピクチャ番号と動きベク トルとに基づ いて、フ レームメモリ 7 0 7から動き補償画像(ブロック)を取得する。 このようにして生成された動き補償画像は加算演算部 7 0 8に対して出 力される。
また、 動き補償復号部 7 0 5では、 他のピクチャの復号化時に参照ピ クチャと して用いられるピクチャの復号化を行う場合には、 動きべク 卜 ルを動きベク トル記憶部 7 0 6に格納する。 ここでは、 Pピクチャが参 照ピクチャと して用いられるので、 ピクチャ P 1 3を復号化する際に得 られた動きベク トルは、 動きベク トル記憶部 7 0 6に格納される。 ただ し、 動きべク トル記憶部 7 0 6への動きべク トルの記憶は、 符号列のへ ッダ情報によリ制御される。
さて、 動きベク トル記憶部 7 0 6の動作について説明する。 動きべク トル記憶部 7 0 6に格納される動きべク トル数は、 符号列のヘッダ中に 記述されている。このへッダ情報は、符号列解析部 7 0 1 で抽出されて、 動き補償復号部 7 0 5に対して出力される。 ここでは 1 ピクチャのみの 動きべク トルを格納するとヘッダ中に記述されているとする。この場合、 格納する動きべク トルの量としては、 符号化順で最近に復号化した参照 ピクチャの動きべク トルを格納する方法がある。 ここで、 すでに動きべ ク トル記憶部 7 0 6に記憶されている動きべク トルは、 現ピクチャの復 号化の開始時に消去しても良いし、 ブロックを復号化して動きべク トル が得られる度に、 動きべク トルを順に上書きしても良い。
加算演算部 7 0 8では、 入力された予測残差画像と動き補償画像とを 加算し、 復号化画像を生成する。 生成された復号化画像はスィッチ 7 1 0を介してフレームメモリ 7 0 7に対して出力される。 以上のようにして、 ピクチャ P 1 3のマクロブロックが順に復号化さ れる。 ピクチャ P 1 6のマクロブロックがすべて復号化されると、 ピク チヤ B 1 1 の復号化が行われる。
<ピクチャ B 1 1 の復号化処理 >
符号列解析部 7 0 1 とモ一ド復号部 7 0 3、 予測残差復号化部 7 0 2 の動作は、 ピクチャ P 1 6の復号化処理の際と同様であるので、 説明は 省略する。
動き補償復号部 7 0 5は、 符号列解析部 7 0 1 から入力された、 符号 化された動きべク トルに対して、 復号化処理を行う。 そして、 復号化さ れた動きベク トルに基づいて、 フレームメモリ 7 0 7から動き補償画像 (ブロック) を取得する。
ここでは、 モード復号部 7 0 3で得られた符号化モードが、 直接モー ドである場合について説明する。 図 8は、 ピクチャ P 1 0から P 1 3ま での各ピクチャを時間順に並べた図であリ、 復号化対象プロックがプロ ック aであるとする。 ブロック aを直接モードで復号化する場合には、 第 2参照インデックスが Γ 0 J である参照ピクチャ中の、 ブロック aと 同じ位置にあるブロックの動きべク トルを利用する。
まず、 第 2参照インデックスが Γ 0 J の参照ピクチャが、 ピクチャ P 1 3である場合について説明する。 上記ピクチャ B 1 3の復号化処理で 示したように、 ここでは 1 ピクチャのみの動きベク トルを格納するとへ ッダ中に記述されておリ、 参照ピクチャのうち復号化順で直前に復号化 された参照ピクチャの動きベク トルが記憶されている。 また、 ピクチャ P 1 3は、 復号化順でピクチャ B 1 1 に最も近く復号化された参照ピク チヤであるので、 ピクチャ P 1 3の各ブロックを復号化した際の動きべ ク トルは、 動きべク トル記憶部 7 0 6に保持されている。 よって、 プロ ック aを直接モードで復号化する際には、 ピクチャ P 1 3のブロック b の動きベク トルを利用することになる。 動きベク トル cは、 ブロック b が符号化された際に用いられた動きべク トルであり、 動きべク トル記憶 部 7 0 6に記憶されている。 この動きベク トル cは、 ピクチャ P 1 0を 参照している。 ブロック aは、 動きベク トル cから生成した動きべク ト ルを用いて、 参照ピクチャであるピクチャ P 1 0とピクチャ P 1 3とか ら 2方向予測が行われる。 この場合のプロック aを符号化する際に用い る動きベク トルは、 ピクチャ P 1 0に対しては動きベク トル d、 ピクチ P 1 3に対しては動きべク トル e となる。
こ こで、 動きべク トル cからブロック aの動きべク トルを生成する第 1 の方法としては、 ピクチャ間の時間的距離を用いてスケーリングを施 す方法がある。 今、 前方向動きべク トルである動きべク トル dの大きさ を M V F、後方向動きべク トルである動きべク トル eの大きさを M V B、 動きベク トル cの大きさを M V P、 現在のピクチャ (ピクチャ B 1 1 ) の第 2参照インデックスが Γ 0 J である参照ピクチャ (ピクチャ P 1 3 ) と、 その第 2参照インデックスが 「 0」 である参照ピクチャのブロック が参照しているピクチャ (ピクチャ P 1 0 ) との時間的距離を T R D、 現在のピクチャ (ピクチャ B 1 1 ) と第 2参照インデックスが 「 0」 で ある参照ピクチャのブロックが参照しているピクチャ(ピクチャ P 1 0 ) との時間的距離を T R Bとすると、 動きベク トル MV F、 動きベク トル M V Bは、 それぞれ (数式 1 )、 (数式 2 ) で求められる。
また、 動きベク トル cからブロック a の動きベク トルを生成する第 2 の方法としては、 予め定めたスケーリング係数を用いて、 動きベク トル cに対してスケーリングを行う方法がある。 ここで使用されるスケーリ ング係数は、 複数ブロック単位または複数ピクチャ単位で、 変更可能と しても良い。また、このスケーリング係数は、システムで一意に決定し、 符号化側と復号化側とで共有しても良いし、 符号列中にヘッダ情報とし て記述されているものを符号列解析部 7 0 1 で抽出することにより使用 しても良い。
次に、 第 2参照インデックスが Γ 0 J の参照ピクチャが、 ピクチャ P 1 3以外の参照ピクチャである場合について説明する。 例えば、 ピクチ ャ P "I 0、 P 7 、 P 4のいずれかが、 第 2参照インデックスが Γ 0 J の 参照ピクチャである場合が考えられる。 ピクチャ P 1 3以外の参照ピク チヤは、 復号化順序でピクチャ B 1 1 に最も近く復号化された参照ピク チヤではないので (動きベク トル記憶部 1 1 6に記憶されている動きべ ク トルがどのピクチャのものであるか、 さらに第 2参照インデックスが Γ 0」 のピクチャがどのピクチャのものであるかをそれぞれピクチャ番 号で得て、 得られたピクチャ番号をそれぞれ比較することによって判断 する)、それらのピクチャの各ブロックを復号化した際の動きベク トルは 動きベク トル記憶部 7 0 6に保持されていない。 よって、 ブロック aを 直接モードで符号化する際には、 第 2参照インデックスが 「 0」 の参照 ピクチャの動きべク トルを利用することができない。
この場合における、 直接モードの処理の第 1 の方法と しては、 動きべ ク トルを 0と して 2方向予測する方法がある。 この場合の参照ピクチャ は、 例えば、 第 1参照インデックスが Γ 0 J であるピクチャと、 第 2参 照インデックスが Γ 0 J であるピクチャとを用いることができる。 例え ば、 参照インデックスが Γ 0 J であるピクチャがピクチャ P 7であり、 第 2参照インデックスが Γ 0 J であるピクチャがピクチャ P 1 0である 場合、図 9のようにブロック aに対して 2方向予測を行うことができる。 また、 直接モードの処理の第 2の方法としては、 同一ピクチャ内の周 辺ブロックの動きべク トルを利用する方法がある。 この場合、 例えば図 1 0に示すように、 ブロック B Lを直接モードで復号化する場合には、 3つの周辺ブロック B L 1 、 B L 2、 B L 3を復号化する際に用いた動 きべク トルを利用して、 ブロック B Lを復号化する際に用いる動きべク トルを決定する方法が考えられる。 ここでの復号化に用いる動きべク ト ルの決定方法と しては、 例えば前方向動きべク トル、 後方向動きべク 卜 ル毎に 3つの周辺ブロックの動きベク トルの中央値や平均値を求める方 法、等が考えられる。また、 この場合の周辺ブロックの動きべク トルは、 動き補償部 7 0 5により、 動きべク トル記憶部 7 0 6に記憶されている とする。
このようにして生成された動き補償画像は加算演算部 7 0 8に対して 出力される。
加算演算部 7 0 8では、 入力された予測残差画像と動き補償画像とを 加算し、 復号化画像を生成する。 生成された復号化画像はスィッチ 7 1 0を介してフレームメモリ 7 0 7に対して出力される。
以上のようにして、 ピクチャ B 1 1 のマクロブロックが順に復号化さ れる。 ピクチャ B 1 1 のマクロブロックがすべて復号化されると、 ピク チヤ B 1 2の復号化が行われる。 また、 復号化されたピクチャは図 1 2 ( b ) に示すように、 順次出力画像と してフレームメモリ 7 0 7から出 力される。
以上のように、 本発明の動画像復号化方法は、 直接モードで符号化を 行う際に利用する動きベク トルについて、 どれだけ (例えば何ピクチャ 分) の動きベク トルを記憶すべきかに対して制限を設けて符号化が行わ れた符号列を入力とし、 その符号列を復号化する。 そしてその復号化の 際には、 制限を加えていることを示す情報を符号列のヘッダ情報から抽 出し、 抽出された情報に基づいて復号化を行う。 また、 直接モードで復 号化を行う際に、 利用すべき動きべク トルがメモリ上に存在する場合に は、 その動きべク トルを利用し、 メモリ上に存在しない場合には、 動き べク トルを 0と して復号化するか、 同一ピクチャ内の周辺ブロックを復 号化する際に用いた動きベク トルを利用して復号化を行う。
このような動作によリ、 直接モ一ドで符号化を行う際に利用する動き べク トルについて制限を設けて符号化が行われた符号列を正しく復号化 することができ、 また直接モー ドのために記憶すべき動きべク トルの記 憶量を削減することができ、 ハードウェアやソフ トウェアにおけるメモ リ量の削減を行うことができる。 さらに、 直接モードにおいて利用すベ き動きべク トルがない場合であっても、 代替的な方法により直接モード を実施することができる。 また本発明は、 上記で説明したように、 第 2 参照インデックスが Γ 0 J となるピクチャに関わらず実施することがで きるため、 第 2参照インデックスが 「 0」 となるピクチャの設定方法を 新たに定義する必要がなく、 設計上の煩雑さを招く ことを防ぐことがで きる。
なお、 本実施の形態においては、 図 1 0を用いた説明において、 復号 化済みの 3つの周辺ブロックの動きべク トルを用い、 直接モードにおい て用いる動きベク トルを決定する方法について説明したが、 この周辺ブ ロック数、 予測値の決定方法、 は他の値や他の方法であっても良い。 例 えば、 左隣のブロックの動きベク トルを予測値と して用いる方法、 等が foる。
また、 本実施の形態においては、 Pピクチャは、 表示順で前方にある 近傍 3枚の I ピクチャまたは Pピクチャを参照ピクチャとし、 Bピクチ ャは表示順で前方にある近傍 3枚の I ピクチャまたは Pピクチャを前方 参照ピクチャ、 表示順で後方にある近傍 1 枚の I ピクチャまたは Pピク チヤを後方参照ピクチャとして用いる場合について説明したが、 これら の参照ピクチャ数は異なる値であっても良い。 また、 Bピクチャを参照 ピクチャと して用いていても良い。
また、 本実施の形態においては、 Bピクチャを参照ピクチャと しては 用いない場合について説明したが、 これは Bピクチャを参照ピクチャと して用いた場合であっても良い。 Bピクチャを参照ピクチャとして用い る場合、 Bピクチャを復号化した後のピクチャを参照ピクチャとしてフ レームメモリ 7 0 7に保存する。 また、 Bピクチャが参照ピクチャとし て用いられる場合であっても、 Bピクチャを復号化した際の動きべク 卜 ルは動きべク トル記憶部 7 0 6には記憶しなくても良い。 Bピクチャを 復号化する際に用いた動きべク トルを動きべク トル記憶部 7 0 6に格納 するかどうかは、 符号化装置側と復号化装置側で予め決定しておく こと もできるし、 符号化装置側で決定され、 符号列中のヘッダ部に記述され た情報を抽出することにより判断することもできる。
また、 本実施の形態においては、 直接モード用に格納する動きべク ト ルを、 復号化順で直前に復号化された 1 つの参照ピクチャを復号化する 際に用いた動きべク トルを格納する場合について説明したが、 これは異 なる参照ピクチャ数の動きベク トルを記憶しても良い。
また、 動きベク トルのうち、 記憶すべきものと記憶しないものとが直 接指定されていてもよい。 これは例えば、 記憶の有無を指定されるピク チヤのヘッダ中や、 他のピクチャのヘッダ中で記憶の有無を指定される ピクチャのピクチャ番号等を指定することにより どのピクチャの動きべ ク トルを記憶し、 どのピクチャの動きべク トルを記憶しないかがヘッダ 中に指示されているとする。 したがって、 これらの指示情報は、 符号列 中のヘッダ情報から抽出すればよい。 今、 ピクチャ P 1 0の動きべク 卜 ルは記憶し、 ピクチャ P 1 3の動きべク トルは記憶しないように指定さ れている場合、 ピクチャ B 1 1 の復号化の時点では、 動きべク トル記憶 部 7 0 6には、 ピクチャ P 1 0の動きベク トルが記憶されていることに なる。 ここで、 ピクチャ B 1 1 の復号化において、 第 2参照インデック スが Γ 0」 である参照ピクチャがピクチャ P 1 0であるとすると、 直接 モードにおいて、 第 2参照インデックスが 「 0」 である参照ピクチャを 復号化した際に用いた動きべク トルを利用することができる。 このよう な方法を用いることにより、 より柔軟な動きべク トルの記憶管理を行う ことが可能となる。
また、 上記のように復号化対象ブロックを有するピクチャが参照する 参照ピクチャのうちス トリーム順で、 つまり符号化装置において符号化 順で直前に符号化された Pピクチャを復号化装置で復号化するときに用 いた動きべク トルを格納する以外に、 復号化対象ブロックを有するピク チヤが参照する参照ピクチヤのうち表示順で直前の Pピクチャまたは表 示順で前の P ピクチャを復号化するときに用いた動きべク トルを格納す るようにしてもよい。 復号化されたピクチャは順次出力画像と してフレ ームメモリ 7 0 7から出力するが、 その出力はフレームメモリ 7 0 7に 記憶されているピクチャが有する時刻をもとに表示時刻順に並び替えら れた上での出力である。 また、 それぞれのピクチャが有する時刻は、 例 えばピクチャをバケツ ト等の伝送路で伝送するためのシステムが出力す る時刻情報から取得してもよいし、 あるいは、 ビデオス トリームとォ一 ディォス 卜リームとを多重化するためのフォーマツ 卜中の時刻情報から 取得してもよく、 あるいは、 ビデオス トリームのフォーマッ ト中の時刻 情報から取得してもよい。 また、 これらはピクチャ毎に時刻がわかる絶 対時刻であっても、 ピクチャ間で時間の前後がわかる相対時刻であって もどちらでもよい。
このように復号化対象ブロックを有するピクチャが参照する参照ピク チヤのうち表示順で直前の Pピクチャまたは表示順で前の Pピクチャを 復号化するときに用いた動きべク トルを格納するようにし、 復号化対象 ブロックを有するピクチャに時間的に近い参照ピクチャを復号化すると きに用いた動きべク トルを格納することにより、 動き補償の精度を向上 させる可能性をあげることができる。
(実施の形態 3 )
上記実施の形態 1 においては、動きべク トルの記憶量に関する情報を、 符号列中のへッダに記述する場合について説明したが、 符号列中のへッ ダに記述する場合に限らず、 例えば、 符号列中には含まれない管理情報 中に記述するようにしてもよい。 以下では、 図 1 3〜図 1 7を用いて、 本発明の実施の形態 3の動画像符号化装置および記録装置について説明 する。 図 1 3は、 記録媒体からのデータの再生を管理するための管理情 報と、 符号化された A Vデータとを D V Dなどの記録媒体に記録する記 録装置 5 0 0の概略的構成を示すブロック図である。記録装置 5 0 0は、 音声を伴う映像データを符号化して記録媒体に記録する記録装置であつ て、 ビデオ符号化部 5 0 1 、 オーディオ符号化部 5 0 2およびシステム 符号化部 5 0 3を備える。 ビデオ符号化部 5 0 1 は、 入力された映像デ ータを符号化する動画像符号化装置である。 オーディオ符号化部 5 0 2 は、 入力されたオーディオデータを符号化するオーディオ符号化装置で ある。 システム符号化部 5 0 3は、 ビデオス トリームとオーディオス ト リームとを多重化して A Vス トリームを生成し、 記録媒体に記録する。 また、 システム符号化部 5 0 3は、 A Vス トリームの記録後、 図示しな い入力部などからの入力に従って管理情報を生成し、 生成された管理情 報を記録媒体中の A Vス トリームが記録されている領域とは異なる領域 に記録する。
以下では、 上記のように構成された記録装置 5 0 0の動作について説 明する。 記録装置 5 0 0に入力された映像データは、 ビデオ符号化部 5 0 1 に入力され、 入力されたオーディオデータは、 オーディオ符号化部 5 0 2に出力される。ビデオ符号化部 5 0 1 に入力された映像データと、 オーディオ符号化部 5 0 2に入力されたオーディオデータとは、 ビデオ 符号化部 5 0 1 とオーディオ符号化部 5 0 2との間で同期を取リながら リアルタイムで符号化される。 ビデオ符号化部 50 1 によって生成され た符号列は、 ビデオス トリームと してシステム符号化部 5 03に出力さ れる。 オーディオ符号化部 50 2によって符号化された符号列は、 ォー ディォス トリームと してシステム符号化部 5 0 3に出力される。 シス亍 ム符号化部 5 0 3は、 ビデオ符号化部 5 0 1 から入力されたビデオス ト リームと、 オーディオ符号化部 5 0 2から入力されたオーディオス トリ —ムとを多重化して A Vス トリ一ムを生成し、 生成された A Vス トリー ムをリアルタィムで記録媒体に記録する。 記録媒体への A Vス トリーム の記録が完了すると、 システム符号化部 5 0 3は、 ビデオ符号化部 50 1 によつて生成された制御コードをビデオ符号化部 5 0 1 から読み出し. 読み出された制御コ一ドを含む管理情報を生成し、 生成された管理情報 を、 A Vス トリームが記録されている領域とは異なる記録媒体中の領域 に記録する。 図 1 4は、 図 1 3に示したシステム符号化部 5 0 3によつ て生成された管理情報と A V (Audio Video)ス トリームとが記録された D V Dなどの記録媒体 4 00の一例を示す図である。 図 1 4に示すよう に、 記録媒体 4 0 0には、 同心円状にデータが記録され、 管理情報 40 1 と、 A Vデータ 402とがそれぞれ記録媒体 400上の異なる領域に 記録される。 一般に、 A Vデータ 4 0 2は記録媒体 4 0 0の外周側の領 域に記録され、 管理情報 4 0 1 は記録媒体 4 0 0の内周側の領域に記録 される。
図 1 5は、 図 1 3に示した記録装置 5 00に備えられる動画像符号化 装置 9 00の構成を示すプロック図である。動画像符号化装置 9 0 0は、 図 1 3に示したビデオ符号化部 5 0 1 に相当する。 動画像符号化装置 9 0 0は、 動きベク トル記憶部内に格納されるデータに制限が設けられて いることを示す制御コード (請求の範囲でいう制御情報) を、 前記符号 列とは別のデータと して別のタイミングで出力する動画像符号化装置で あって、 フ レームメモリ 1 0 1 、 差分演算部 1 0 2、 予測残差符号化部 1 0 3、 予測残差復号化部 1 0 5、 加算演算部 1 0 6、 フ レームメモリ 1 0 7、 動きべク トル検出部 1 0 8、 モード選択部 1 0 9、 スィ ッチ 1 1 "! 〜 1 1 5、 動きべク トル記憶部 1 1 6、 符号列生成部 9 0 4および 符号化制御部 9 1 0を備える。 同図において、 図 5に示した動画像符号 化装置 1 0 0と同じ構成要素についてはすでに説明しているので、 同一 の参照符号を付し、 説明を省略する。 ただし、 ここでは、 動きベク トル 検出部 1 0 8は、実施の形態 1 と異なり、 Bピクチャを符号化する際に、 表示順で符号化対象ピクチャの前方にある 4枚の I ピクチャまたは Pピ クチャおよび表示順で符号化対象ピクチャの後方にある 1 枚の I ピクチ ャまたは Pピクチャを参照ピクチャとして動きベク トルの探索を行う。 符号列生成部 9 0 4は、 予測残差符号化部 1 0 3からの量子化結果を可 変長符号化した後、 出力用の符号化ビッ トス トリームのフォーマッ トに 変換し、 符号化された予測残差の関連情報を記述したヘッダ情報などの 付加情報を付して符号列を生成する。 さらに、 符号列生成部 9 0 4は、 符号化制御部 9 1 0によつて生成された制御コードを符号列に対応付け て保持し、 その制御コードを符号列とは異なるタイミングで出力する。 具体的には、 外部 (例えば、 図 1 3に示した記録装置 5 0 0のシステム 符号化部 5 0 3など)からの出力指示に従って、制御コードを出力する。 符号化制御部 9 1 0には、 オーディオ符号化部 5 0 2と同期を取りなが ら、 映像データとオーディオデータとをリアルタイムで符号化するため に、 同期を取るための制御信号が外部から入力される。 符号化制御部 9 1 0は、 符号化対象ピクチャに対して表示順で直後にある、 すなわち、 符号化対象ピクチャの直前に符号化された参照ピクチャの動きべク トル だけが動きべク トル記憶部 1 1 6に格納されるようモード選択部 1 0 9 を制御し、 メモリに保存されるデータに何らかの制限が加えられている ことを示す制御コ一ドを生成する。 符号化制御部 9 1 0による制御コー ド生成のタイ ミングは、 いつでもよいが、 符号化処理の開始時または終 了直後が好ましい。 また、 符号化制御部 9 1 0は、 制御コードをあらか じめ内部に記憶しておいてもよい。
以下では、 上記のように構成された動画像符号化装置 9 00の符号化 処理におけるメモリへの参照ピクチャおよび動きベク トルの格納動作に 付いて、 従来の M P E G— 4符号化方式と比較しながら説明する。 図 1 6 ( a ) は、 表示順に入力されたピクチャとそれらの符号化の順を示す 図である。 図 1 6 ( b ) は、 従来の M P E G— 4符号化方式において、 各ピクチャの符号化に伴ってメモリ内に格納される参照ピクチャと動き べク トルとを示す図である。 図 1 7 ( a ) は、 表示順に入力されたピク チヤとそれらの符号化の順を示す図である。 図 1 7 ( b ) は、 図 1 5に 示した動画像符号化装置 9 00において、 各ピクチャの符号化に伴って メモ リ内に格納される参照ピクチャと動きベク トルとを示す図である。 ここで、 いずれの場合も、 Bピクチャは他のピクチャに参照されず、 I ピクチャと Pピクチャとだけが他のピクチャに参照されるものとする。 すなわち、 I ピクチャと Pピクチャとは他のピクチャの参照ピクチャと なるが、 Bピクチャは他のピクチャの参照ピクチャとならない。 なお、 図 1 7 ( a ) と図 1 6 ( a ) とは同じ図である。
図 1 7 ( a ) と図 1 6 ( a ) とにおいて、 入力画像に含まれる各ピク チヤを縦線で示し、 他のピクチヤに参照されない Bピクチャを破線で示 している。 また、 各ピクチャに付されている Γ B J および Γ P j は、 各 ピクチャのピクチャタイプを示し、 その右に付されている数字は、 各ピ クチャに対して符号化順に付されたピクチャ番号を示している。 すなわ ち、 図 1 6 ( a ) および図 1 7 ( a ) に示すように、 入力画像内のピク チヤは I 0→Β 2→Β 3→ Ρ 1 -→Β 5→ Β 6→ Ρ 4→Β 8 ·→ Β 9→ Ρ 7 → B 1 1 →B 1 2→ P 1 0の順に入力され、 この順で表示される。 これ に対し、 Bピクチャは表示順で後方にあるピクチャを参照するため、 B ピクチャの符号化前に Bピクチャよりも表示順で後方にある I ピクチャ または Pピクチャが符号化されていなければならない。 従って、 入力画 像内のピクチャは I 0→ P 1 →B 2 -→B 3 -→ P 4→B 5→ B 6→ P 7→ B 8→ B 9→ P 1 0 -→ B 1 1 -→ B 1 2の順に符号化される。 表示順でピ クチャ I 0の前方に Bピクチャがあつたとすれば、 ピクチャ I 0の符号 化後、 ピクチャ P 1 の符号化前に符号化される。
従来の M P E G— 4では、 符号化対象ピクチャの直前に符号化された 2枚の参照ピクチャの画素値と、 その参照ピクチャで動き補償に用いら れた動きベク トルとをメモリ内に保存する。 一般的には、 図 1 6 ( b ) に示すように、 符号化対象ピクチャの直前に符号化された 2枚の参照ピ クチャの画素値と、 2枚の参照ピクチャのうち、 より後で符号化された 方の 1 枚の動きべク トルとをメモリ内に保存している。 また、 M P E G 一 4では、 Pピクチャは、 表示順で前方にある直前の 1 枚の参照ピクチ ャを参照し、 Bピクチャは、 符号化対象ピクチャに対して表示順で直前 の前方 1 枚、 直後の後方 1 枚の 2枚の参照ピクチャを参照して符号化さ れる。 例えば、 符号化対象ピクチャがピクチャ B 6であるとき、 符号化 対象ピクチャの直前に符号化された 2枚の参照ピクチャとはピクチャ P 1 とピクチャ P 4であり、 よリ後で符号化された方の参照ピクチャは、 ピクチャ P 4である。 従って、 符号化対象ピクチャがピクチャ B 6であ るとき、 メモリ内には、 ピクチャ P 1 およぴピクチャ P 4の画素値と、 ピクチャ P 4で求められた動きべク トルとが格納されている。 ピクチャ B 6は、 メモリ内に格納されているピクチャ P 1 とピクチャ P 4とを参 照して符号化される。 ピクチャ P 1 は表示順でピクチャ B 6の直前にあ る参照ピクチャであり、 ピクチャ P 4は表示順でピクチャ B 6の直後に ある参照ピクチャである。 また、 ピクチャ B 6内の符号化対象ブロック が直接モードで符号化されるときには、 表示順でピクチャ B 6の直後に ある参照ピクチャ (すなわち、 ピクチャ P 4 ) において符号化対象プロ ックと同じ位置にあるブロックの動きべク トルはメモリ内に格納されて おり、 これを用いて動き補償が行われる。 ただし、 ピクチャ B 6は、 他 のピクチャに参照されないので、 画素値おょぴ動きべク トルはメモリ内 に保存されず、 メモリの更新は起こらない。
ピクチャ P 7が符号化対象ピクチャのときには、 メモリ内に保存され ているピクチャ P 1 またはピクチャ P 4のいずれかを参照して符号化が 行われる。 ピクチャ P 7は、 他のピクチャに参照されるので、 メモリ内 に画素値と動きベク トルとが保存される。 この際には、 ピクチャ P 7の 符号化/復号化に従って、 メモリ内の画素値および動きべク トルが更新 される。 ピクチャ P 7の符号化前にメ モリ内に格納されていたピクチャ P 1 およびピクチャ P 4の画素値のうち、 古いほうのピクチャ P 1 の画 素値がメモリから追い出され、 新たにピクチャ P 7の画素値が格納され る。 また、 メモリ内に格納されていたピクチャ P 4の動きベク トルがメ モリから追い出され、新たにピクチャ P 7の動きべク トルが格納される。 ピクチャ B 8が符号化されるときには、 表示順でピクチャ B 8の前方 にあるピクチャ P 4と後方にあるピクチャ P 7 との 2枚が参照される。 ピクチャ B 8内の対象ブロックが直接モードで符号化されるときには、 表示順でピクチャ B 8の直後にある参照ピクチャ (ピクチャ P 7 ) にお いて対象ブロックと同じ位置にあるブロックの動きベク トルを用いて動 き補償が行われる。 メモリ内には、 ピクチャ B 8に参照される 2枚の参 照ピクチャ (ピクチャ P 4およびピクチャ P 7 ) の画素値が格納されて おり、 また、 直接モードで用いられるピクチャ P 7の動きベク トルが格 納されている。 また、 ピクチャ B 8は他のピクチャに参照されないので メモリ内のデータは更新されない。
ピクチャ B 9が符号化されるときも、 ピクチャ B 8が符号化されると きと同様に、 メモリ内に格納されている 2枚のピクチャを参照して符号 化が行われる。 また、 ピクチャ B 9内の対象ブロックが直接モー ドで符 号化されるときも、 メモリ内に格納されているピクチャ P 7の動きべク トルを用いて符号化される。
このように、 従来の M P E G— 4では、 メモリ内に 2枚の参照ピクチ ャの画素値と、 参照ピクチャ 2枚のうちの後方の参照ピクチャ分の動き ベク トルとを格納しておく ことにより、 Bピクチャ内の対象ブロックを 直接モードで符号化する際にも、 問題なく符号化を行うことができる。 しかし、 M P E G— 4では、 参照ピクチャが決められているかまたは数 が少ないため、 符号化対象プロックに対して符号化効率がよリ高くなる 参照ブロックを探す探索範囲が限られてしまう。 この結果、 符号化効率 が頭打ちとなり、 低ビッ トレートで高画質の動画像を伝送したいという 要求に答えることが難しい。 このために、 H . 2 6 Lでは、 探索範囲と なる参照ピクチャの数を増やし、 各対象プロックが実際に参照した参照 ピクチャを、 参照インデックスで特定することに定めている。 そして、 図 3に示したように、 Bピクチャでは対象ブロックごとに、 参照した参 照ピクチャを特定するための第 1 参照インデックスと第 2参照インデッ クスとを符号列中に記述するよう定めている。 一方、 各参照ピクチャに 対する参照インデックスの割り当ては、 すでに説明したように、 表示順 で前方と後方とに向かって、 それぞれ、 符号化対象ピクチャに最も近い 参照ピクチャに 「 0」 が割り当てられ、 符号化対象ピクチヤから遠ざか るにつれて昇順で番号が割り当てられるように初期設定されている。 こ の初期設定では、対象ブロックを含むピクチャに近い参照ピクチャほど、 より小さな値の参照インデックスで特定することができる。 しかし、 対 象ブロックを含むピクチャから遠い参照ピクチャほど、 参照ピクチャを 特定するための参照インデックスの値が大きくなつてしまう。この結果、 対象ブロックを含むピクチャから遠い参照ピクチヤが多くの対象ブロッ クに参照されるような場合、 初期設定のままだと、 大きな値の参照イン デックスが多数のブロックで符号列中に記述されることになり、 符号列 のデータ量が増加するので好ましく ない。従って、参照ィンデックスは、 ピクチャごとに符号化効率がより高くなる参照ピクチャに対してよリ小 さい値を割り当てることができるよう、リマッピングが認められている。 本実施の形態では、 Pピクチャは、 表示順で符号化対象ピクチャの前 方にある 4枚の I ピクチャまたは P ピクチャを参照ピクチャとし、 Bピ クチャは、 表示順で符号化対象ピクチャの前方にある 4枚の I ピクチャ または Pピクチャと、 表示順で符号化対象ピクチャの後方にある 1 枚の I ピクチャまたは Pピクチャとを参照ピクチャとする。 図 1 7 ( b ) に 示すように、 本実施の形態では、 Bピクチャの符号化のために、 各ピク チヤの直前に符号化された 5枚の参照ピクチャの画素値をメモリ内に保 存し、 符号化対象ピクチャの直前に符号化された 1枚の参照ピクチヤの 動きべク トルだけを保存する。 例えば、 モード選択部 1 0 9は、 符号化 対象ピクチャの各対象ブロックに対し、 動きベク トル検出部 1 0 6によ つて動きべク トルが検出される都度、 検出された動きべク トルを、 すで に動きべク トル記億部 1 0 8に格納されている動きべク トルとは別の記 憶領域に一時的に格納する。 当該符号化対象ピクチャが Pピクチャであ る場合、 モー ド選択部 1 0 9は、 別の記憶領域に一時的に格納されてい た動きべク トルで、 それ以前に格納されていた動きべク トルを上書きす る。 また、 次の符号化対象ピクチャの符号化を開始する際には、 直前に 符号化されたピクチャの動きベク トルが一時的に格納されていた記憶領 域に、 新たな符号化対象ピクチャの動きべク トルを上書きし、 上書きさ れた動きべク トルを一時的に格納する。 しかし、 当該符号化対象ピクチ ャが Pピクチャでない場合、 モード選択部 1 0 9は、 動きべク トル記憶 部 1 0 8に一時的に格納された動きベク トルを、 例えば、 符号化対象ピ クチャの全ブロックを符号化した後に、 動きべク トル記憶部 1 0 8内か ら削除する。 一時的に格納された動きべク トルを動きべク トル記憶部 1 0 8内から削除する方法は、 一時的に格納された動きべク トルを動きべ ク トル記憶部 1 0 8内から消去する方法であってもよいし、 動きべク ト ルを一時的に格納する記憶領域に、 そのまま次の符号化対象ピクチャの 動きべク トルを上書きする方法であってもよい。モー ド選択部 1 0 9は、 このような方法で、 動きベク トル記憶部 1 0 8に格納される動きべク ト ルの格納量を制御する。 なお、 Bピクチャの直接モードによる符号化に おいては、 第 2参照インデックスが Γ 0 J の参照ピクチャの動きべク ト ルがメモリ内に格納されていない場合、 実施の形態 1 ですでに説明した 方法を用いて動き補償を行う。
図 1 7 ( b ) において、 例えば、 符号化対象ピクチャがピクチャ B 6 である場合、 ピクチャ B 6よりも前にピクチャ 1 0、 ピクチャ P 1 およ ぴピクチャ P 4が符号化されている。 従って、 ピクチャ B 6の符号化時 には、 メモリ内には、 ピクチャ I 0、 ピクチャ P 1 およびピクチャ P 4 の画素値が格納されている。 さらに、 ピクチャ I 0よりも前に符号化さ れている I ピクチャまたは Pピクチャがあれば、 ピクチャ I 0の直前に 符号化された 2枚の画素値がメモリ内に格納されている。 ピクチャ B 4 は、 メモリ内に格納されている参照ピクチヤのうち、 2枚を参照して符 号化される。 さらに、 メモリ内には、 ピクチャ B 6の直前に符号化され た参照ピクチャであるピクチャ P 4の動きべク トルが格納されている。 モード選択部 1 0 9は、 ピクチャ B 6内の対象ブロックを直接モードで W
符号化する場合、 ピクチャ B 6に対して第 2参照インデックスが 「 0」 の参照ピクチャがピクチャ P 4であれば、 メモリ内に格納されている動 きベク トルを用いて対象ブロックの動き補償を行う。 また、 第 2参照ィ ンデックスが Γ 0 jの参照ピクチャがピクチャ P 4でなければ、例えば、 対象ブロックの動きベク トルを 「 0」 とし、 ピクチャ B 6に対して第 1 参照インデックスが 「 0」 の参照ピクチャと、 ピクチャ B 6に対して第 2参照インデックスが 「 0」 の参照ピクチャとを参照して、 2方向で動 き補償を行う。
符号化対象ピクチャが P 7であるとき、 ピクチャ P 7は、 直前に符号 化され、メモリ内に格納されている 3枚の参照ピクチャ(ピクチャ I 0、 ピクチャ P 1 およびピクチャ P 4 ) を参照して符号化される。 ピクチャ P 7は、 他のピクチャに参照されるので、 ピクチャ P 7の符号化ノ復号 化に従って、 メモリ内に最も古く格納されている参照ピクチャ 1 枚の画 素値がメモリから追い出され、 新たにピクチャ P 7の画素値が格納され る。 また、 メモリ内に格納されていたピクチャ P 4の動きベク トルがメ モリから追い出され、 新たにピクチャ P 7で求められた動きべク トルカ 格納される。
次に、 ピクチャ B 8が符号化されるときには、 ピクチャ B 8は、 メモ リ内に格納されている 5枚の参照ピクチャのうちの 2枚を参照して符号 化される。 また、 ピクチャ B 8内の対象ブロックが直接モードで符号化 される場合、 モード選択部 1 0 9は、 ピクチャ B 8に対して第 2参照ィ ンデックスが Γ 0」 のピクチャがピクチャ P 7であれば、 メモリ内に格 納されているピクチャ P 7の動きべク トルを用いて対象ブロックの動き 補償を行う。 ピクチャ B 8に対して第 2参照インデックスが Γ 0 J のピ クチャがピクチャ P 7でなければ、対象ブロックの動きべク トルを Γ 0 J として、 ピクチャ B 8に対し第 1參照インデックスが 「 0 J および第 2 参照インデックスが Γ 0 J の 2枚の参照ピクチャ (ピクチャ P 4および ピクチャ P 7 )を参照して、 2方向の動き補償を行う。ピクチャ B 8は、 他のピクチャに参照されないので、 メモリには保存されず、 メモリ内で のデータの更新は行われない。 ピクチャ B 9が符号化される場合も、 ピ クチャ B 8が符号化された場合と同様にして符号化が行われる。 . このよ うに、 本実施の形態 3によれば、 Bピクチャの直接モードによ る符号化を行うためにメモリ内に保存する動きべク トルを、 Bピクチャ の直前に符号化された 1 枚の参照ピクチャの動きベク トルに限定するこ とにより、 動画像の符号化に要するメモリ容量を抑制しつつ、 符号化効 率を向上することができる動画像符号化装置を提供することができる。 なお、 上記実施の形態 3では、 動画像符号化装置 9 0 0は、 記録媒体 4 0 0に記録されるビデオデータおよび制御コードを生成したが、 記録 媒体に記録される場合に限らず、 例えば、 デジタルテレビ放送等で配信 されるビデオス トリームと、 ビデオス トリームの再生を管理するための 管理情報とを生成するとしても良い。 図 1 8は、 デジタルテレビ放送で 送信される放送用パケッ トの一例を示す図である。同図において、「S J、 「A J、 「V」 で示す各部分は、 それぞれ、 管理情報、 オーディオデータ およびビデオデータのパケッ トを示している。デジタルテレビ放送では、 ビデオス トリームおよびオーディオス トリームなどの符号化データは、 適当なデータ長でパケッ トに区切られ (例えば M P E G— 2のトランス ポートス トリ一ムでは 1 8 8バイ ト)、このバケツ トを単位として送信さ れる。 そして、 オーディオデータのパケッ トおよびビデオデータのパケ ッ 卜の随所に管理情報のバケツ トが揷入されて送信される。 動画像符号 化装置 9 0 0によって生成された符号列は、 このようなビデオデータの バケツ トと して送信される。 また、 符号化制御部 9 1 0によって生成さ れた制御コ一ドは、 管理情報に記述され管理情報のバケツ トとして送信 される。 このように、 動画像符号化装置 9 0 0によって生成された符号 列をビデオデータのパケッ トと して送信し、 符号化制御部 9 1 0によつ て生成された制御コードを管理情報のパケッ トとして送信することによ つて、 デジタルテレビ放送を受信して映像データを再生する S T Bおよ びデジタルテレビなどの再生装置においても、 メモリの使用量を節約し つつ、 符号化効率の高い高画質の動画像を再生することができる。 なお、 上記実施の形態 3では、 制御コードが、 メ モリに保存されるデ —タに何らかの制限が加えられていることを示す情報であると して説明 したが、 本発明はこれに限定されず、 制御コードは、 単に、 生成された 符号列が何らかの制限の下に符号化されていることのみを示す情報であ つてもよい。 また、 この制御コードは、 例えば、 値が Γ 0」 のとき 「制 限なし」 を示し、 値が Γ 1 j のとき 「制限あり」 を示すフラグなどであ つてもよい。 また、 この制御コードは、 管理情報内の特定の場所に記述 されていれば 「制限あり」 を示し、 記述されていなければ 「制限なし」 を示すコードであってもよい。 もちろん、 この制御コードは、 あらかじ めメモリに記憶されているテーブルを参照することによって、 メモリに 保存されるデータに何らかの制限が加えられていることや、 符号化対象 ピクチャの直前に符号化された何枚の Pピクチャの動きベク トルをメモ リ内に格納するかなどの複数種類の処理内容を特定することができるコ — ドであってもよいことは言うまでもない。
(実施の形態 4 )
以下では、 記録媒体に記録されている A Vス トリームを再生する再生 装置およびその再生装置に備えられる動画像復号化装置について説明す る。 図 1 9は、 実施の形態 4の再生装置 1 5 0 0の概略的構成を示すブ ロック図である。 再生装置 1 5 0 0は、 図 1 4に示した記録媒体 4 0 0 から符号化された A Vス 卜リームと、 A Vス トリームの再生を管理する ための管理情報とを読み取り、 音声を伴う映像データを再生する再生装 置であって、 ビデオ復号化部 1 5 0 1 、 オーディオ復号化部 1 5 0 2、 システム復号化部 1 5 0 3、 モニタ 1 5 1 1 およびスピーカ 1 5 1 2を 備える。 システム復号化部 1 5 0 3は、 記録媒体から管理情報と符号化 された A Vス トリームとを読み出し、 管理情報から制御コードを抽出し てビデオ復号化部 1 5 0 1 に出力する。 また、 読み出したビデオス トリ ームとオーディオス トリ一ムとを分離して、 それぞれビデオ復号化部 1 5 0 1 とオーディオ復号化部 1 5 0 2とに出力する。 ビデオ復号化部 1 5 0 1 は、 システム復号化部 1 5 0 3から受け取った制御コードに、 メ モリに格納されるデータに制限が設けられていることが示されている場 合には、 システム復号化部 1 5 0 3から受け取ったビデオス トリームを 復号化する際に、 復号化対象ピクチャの直前に復号化された参照ピクチ ャ 1枚分の動きべク トルをメモリに格納して、 復号化対象ピクチャを復 号化する。 ビデオ復号化部 1 5 0 1 は、 ビデオス トリームに含まれる各 ピクチャを復号化して復号化された各ピクチャを表示順に出力し、 動画 像を表す映像信号をモニタ 1 5 1 1 に出力する。 オーディオ復号化部 1 5 0 2は、 システム復号化部 1 5 0 3から受け取ったオーディオス トリ 一ムを復号化してオーディオ信号を生成し、 生成したオーディオ信号を スピーカ 1 5 1 2に出力する。 モニタ 1 5 1 1 は、 ビデオ復号化部 1 5 0 1 によって生成された映像信号を表示する。 スピーカ 1 5 1 2は、 ォ 一ディォ復号化部 1 5 0 2によって生成されたオーディオ信号を音声と して再生する。
図 2 0は、 図 1 9に示したビデオ復号化部 1 5 0 1 に相当する動画像 復号化装置 1 6 0 0の構成を示すブロック図である。 動画像復号化装置 1 6 0 0は、 外部から入力された制御コードに、 メモリに格納されるデ ータに制限が設けられていることが示されている場合には、 復号化対象 ピクチャの直前に復号化された参照ピクチャ 1 枚分の動きべク トルをメ モリ に格納し、 符号列を復号化する動画像復号化装置であって、 予測残 差復号化部 7 0 2、動き補償復号部 7 0 5、動きべク トル記憶部 7 0 6、 フ レームメモリ 7 0 7、 加算演算部 7 0 8、 スィ ッチ 7 09、 スィ ッチ 7 1 0、 符号列解析部 1 6 0 1 およびモード復号部 1 6 03を備える。 同図において、 図 1 1 に示した動画像復号化装置 7 00と同様の構成要 素については既に説明しているので、 同一の参照符号を付し、 説明を省 略する。 符号列解析部 1 6 0 1 は、 外部から入力された制御コードを、 モ一ド復号部 1 60 3に出力する。 符号列解析部 1 60 1 は、 入力され た符号列から、 モード選択の情報や動きベク トル情報等を抽出し、 抽出 したモード選択の情報をモ一ド復号部 7 0 3に、 抽出した動きベク トル 情報を動き補償復号部 7 0 5に、 さらに、 予測残差符号化データを予測 残差復号化部 7 0 2に出力する。 モード復号部 7 0 3は、 符号列解析部 1 6 0 1 から入力された制御コー ドに、 メモリに格納されるデータに制 限が設けられていることが示されている場合または入力されたビデオス ト リ一ムが何らかの制限の下に符号化されていることが示されている場 合には、 復号化対象ピクチャの直前に復号化された参照ピクチャ 1枚分 の動きべク トルを動きベク トル記憶部 7 0 6に格納するよう、 動き補償 復号化部 7 0 5を制御する。
動画像復号化装置 1 6 00において、 動きべク トル記憶部 7 0 6に格 納される動きべク トルの数と、 フ レームメモリ 7 0 7に格納される画素 値の数とは、 図 1 7 ( b ) に示した例と同様である。
以上のように、本実施の形態 4の動画像復号化装置 1 6 00によれば、 記録媒体に記録されているビデオス トリームを復号化する場合において も、 動画像復号化装置のメモリ資源を節約し、 かつ、 符号化効率の高い 符号列を復号化することができるという効果がある。 なお、 上記実施の形態 4では、 動画像復号化装置 1 6 0 0が記録媒体 に記録されているビデオス トリームを復号化する場合について説明した が、 本発明はこれに限定されず、 本発明の動画像復号化装置は、 デジタ ル亍レビ放送等で配信される放送用バケツ ト中のビデオス トリームを復 号化するとしてもよい。 この場合、 動画像復号化装置 1 6 0 0は、 例え ば、 デジタルテレビ放送を受信する D T V (デジタルテレビ) や S T B などに備えられる。 図 1 8に示した放送用パケッ トは、 D T Vや S T B などにおいて受信され、 管理情報、 オーディオデータおよびビデオデー タの各パケッ トに分離される。 分離された管理情報からは、 さらに、 メ モリに格納されるデータに何らかの制限が加えられていることを示す制 御コードが抽出され、 動画像復号化装置 1 6 0 0に入力される。 また、 各バケツ 卜から抽出されたビデオス トリームとオーディオス トリームと は、 動画像復号化装置 1 6 0 0とオーディオ復号化装置とに入力され、 同期をとりながらリアルタイムに復号化される。 この動画像復号化装置 1 6 0 0の構成および動作は、 図 2 0に示した動画像復号化装置 1 6 0 0と同様であるので、 説明を省略する。
以上のように、 本実施の形態の動画像復号化装置 1 6 0 0によれば、 デジタルテレビ放送等で配信される放送用パケッ ト中のビデオス トリー ムを復号化する場合においても、 動画像復号化装置のメモリ資源を節約 しつつ、 符号化効率の高い符号列を復号化することができるという効果 がある。
また、 上記実施の形態 4においても、 制御コードは、 メモリに格納さ れるデータに制限が設けられていることを示す場合に限定されず、単に、 生成された符号列が何らかの制限の下に符号化されていることのみを示 す情報であってもよい。 また、 この制御コー ドは、 例えば、 値が 「 0」 のとき 「制限なし j を示し、 値が Γ 1 j のとき 「制限あり j を示すフラ グなどであってもよい。 また、 この制御コードは、 管理情報内の特定の 場所に記述されていれば「制限あり」 を示し、記述されていなければ「制 限なし」 を示すコードであってもよい。 もちろん、 この制御コードは、 あらかじめメモリに記憶されているテーブルを参照することによって、 メモリに保存されるデータに何らかの制限が加えられていることや、 符 号化対象ピクチャの直前に符号化された何枚の Pピクチャの動きべク ト ルをメモリ内に格納するかなどを特定することができるコードであって もよいことは言うまでもない。
(実施の形態 5 )
動画像を構成するピクチャはフ レームおよびフィール ドの両者を包含 する 1 つの符号化の単位を意味する。 上記実施の形態 1 〜実施の形態 4 では、 ピクチャが全てフレーム構造の場合について説明したが、 ピクチ ャをフィールド単位で扱った場合でも、上記で説明した発明を適用して、 同様の効果を得ることができる。 以下、 上記実施の形態で説明した方法 をインタ レース画像に適用する場合で、 上記実施の形態 1 〜実施の形態 4とは異なる実施の形態について考える。 ここで、 インタ レース画像と は、 1 つのフレームが時刻 (タイムスタンプ) の異なる 2つのフィール ドから構成される画像である。 インタ レース画像の符号化や復号化処理 においては、 1 つのフレームをフレームのまま処理したり、 2つのフィ 一ルドと して処理したり、 フレーム内のブロック毎にフレーム構造また はフィ一ルド構造と して処理したりすることができる。
なお、 各ピクチャをフレーム構造で符号化するか、 またはフィールド 構造で符号化するかは、 例えば図 5に示す符号化制御部 1 1 0により適 応的に決定することができる。 フレーム構造とフィ一ルド構造のいずれ で符号化するかは、 例えば、 ピクチャ内の画素値の分散をフレーム構造 とフィールド構造とで求め、 分散の小さい方を選択する方法がある。 ま た、 各ピクチャをブロック単位でフレーム構造またはフィールド構造の いずれかで符号化する方法も考えられるが、 ここではピクチャ単位でフ レーム構造またはフィール ド構造を切り替える場合について説明する。 まず、 動画像にフィ一ルド構造のピクチャが含まれる場合のピクチャ番 号と参照インデックスの振られ方について説明し、 それから本実施の形 態 5の具体的な説明をする。
図 2において動画像を構成するピクチャが全てフレームの場合につい てのピクチャ番号と参照インデックスについて示したが、 図 2 1 および 図 2 2を用いて、 動画像を構成するピクチャにフレームとフィールドと が混在する場合について説明する。
図 2 1 は、 符号化または復号化の対象ピクチャがフィールド構造であ る場合のピクチャ間の参照関係の一例を示す図である。 以下、 フレーム の奇数番目のラインから構成されるフィールドを トップフィールド、 フ レームの偶数番目のラインから構成されるフィールドをボトムフィール ドと呼ぶ。 また、 本実施の形態においては、 トップフィールドがフィー ルド構造のピクチャの表示順で前方のフィールド、 ボトムフィールドが 表示順で後方のフィールドとなる場合について説明するが、 これらの順 序が入れ替わっても本発明と同様の動作により、 同様の効果を得ること ができる。 符号化または復号化の対象ピクチャがフィールド構造である 場合、 参照ピクチャは全てフィールド構造と して扱う。 図 2 1 はピクチ ャ B 3をフィールド構造で符号化または復号化する場合にフィ一ルド B 3 2が符号化または復号化対象ピクチャである場合を示しておリ、 ピク チヤ P 1 、 B 3、 P 4はフィール ド構造、 ピクチャ B 2はフレーム構造 で符号化または復号化される場合、 フレーム構造である参照ピクチャ B 2は 2つのフィールド B 2 1 、 B 2 2として扱われる。 そして、 ピクチ ャ番号は符号化または復号化される順番で振られる。 第 1 参照インデッ クスはデフォルトでは、 符号化または復号化の対象ピクチャよりも表示 時間順で前にあるピクチャ、 符号化または復号化の対象ピクチヤから表 示時間順で近いピクチャ、 符号化または復号化の対象ピクチャと同一パ リティをもつピクチャの優先順で割り振られる。 図 2 1 を用いて具体的 に説明すると、 まずフィールド B 3 2よりも表示時間順で前方にあり、 同一パリティで、 かつ、 符号化または復号化の順番でフィールド B 3 2 に最も近いフィールド B 2 2に参照インデックスとして Γ θ」が振られ、 次にフィ一ルド B 3 2よりも表示時間順で前方にあリ、 違うパリティで あるが、 符号化または復号化の順番ではフィールド B 3 2に最も近いフ ィールド B 3 1 に参照インデックスとして Γ 1 j が振られる。
ここでパリティ とは第 1 ( トップ) フィール ド、 第 2 (ボトム) フィ ールドのいずれであるかを示す値であリ、 パリティの情報は動画像の符 号列において例えばスライス単位で符号化され、あるいは復号化される。 図 2 2は、 符号化または復号化の対象ピクチャがフレームである場合 についてピクチャ間の参照関係の一例を示す図である。 符号化または復 号化の対象ピクチャがフレームである場合、 参照ピクチャは全てフ レー ムとして扱う。図 2 2のように、ピクチャ B 2、 P 4はフィールド構造、 ピクチャ P 1 、 B 3はフ レーム構造で符号化または復号化されている場 合、 フィールド構造で符号化または復号化されたフィール ド B 2 1 、 B 2 2、 P 4 1 、 P 4 2は 2つの参照フレーム B 2、 B 4と して扱われる。 なお、 ピクチャ番号と参照インデックスの振られ方は、 図 2で説明した 通りである。
図 2 3は、 動画像を符号化または復号化する際の、 各フ レームの時間 的並びを示す図である。 図 2 3において、 フレーム P 1 、 P 4は Pピク チヤとして処理され、 フレーム B 2、 B 3は Bピクチヤと して処理され る。また、 1 つのフレームは 2つのフィールドと して扱うことができる。 例えば、 フレーム P I はフィールド P I 1 、 P I 2として、 フレーム B 2はフィールド B 2 1 、 B 2 2 と して、 フ レーム B 3はフィール ド B 3 1 、 B 3 2として、 フレーム P 4はフィールド P 4 1 、 P 4 2と して扱 うことができる。 さらに、 各フレームは、 フレーム構造またはフィール ド構造のいずれかの形式で適応的に符号化、 復号化処理がなされるもの とする。
以下、 具体的に本実施の形態 5について説明する。 実施の形態 5が上 記実施の形態 1 〜実施の形態 4と異なる点は、 直接モードのために記憶 すべき動きべク トルの記憶量を削減する方法と して、 パリティ毎に動き ベク トルを格納する点である。
図 2 3において、 ピクチャを示す記号のうち、 上段の記号が振られて いる単位で符号化と復号化の処理が行われる。 例えば、 図 2 3において は、 すべてのピクチャがフィール ド単位で処理される。 まず、 図 2 3を 用いて動画像を構成するピクチャをフィールド構造で扱う場合における 直接モードについて説明する。
現在の処理対象ピクチャが、 フィール ド B 3 1であるとする。 すなわ ち、 フ レーム B 3はフィール ド構造で処理される。 またフィール ド B 3 1 は参照ピクチャと してフィールド P 1 1 、 フィールド P 1 2、 フィー ルド P 4 1 またはフィールド P 4 2を用いるとする。 これらの参照ピク チヤは、 すでに符号化または復号化処理が完了している。 また、 フレー ム P 1 、 フ レーム P 4はフィール ド単位で処理がなされているものとす る。
今、 フィール ド B 3 1 のブロック aを直接モー ドで処理する場合を考 える。 この場合、第 2参照インデックスが Γ 0 J である参照ピクチャ (こ こではデフォルトで参照インデックスが割り振られているとする) であ るフィールド P 4 1 中の、 ブロック a と同一位置にあるブロック bの動 きベク トルを利用する。 以下では、 この動きベク トルを r参照動きべク トル」 と呼ぶ。
ここでは、 図 2 3のように、 ブロック が、 動きベク トル Aを用いて 処理されており、 この動きベク トル Aは、 フィールド P 1 1 を参照して いる場合について説明する。 この場合、 ブロック aは、 参照動きべク ト ル Aから所定の方法により計算して得られる動きべク トルを用いて、 前 方参照フィールドであるフィールド P 1 1 (参照動きベク トル Aが指し ているフィールド) と後方参照フィールドであるフィールド P 4 1 (ブ ロック bが属するフィールド) とから動き補償を行う。 この場合にブロ ック aを処理する際に用いる動きべク トルは、 フィール ド P 1 1 に対し ては動きべク トル B、 フィールド P 4 1 に対しては動きべク トル Cにな るとする。 この際、 動きベク トル Aの大きさを M V 1 、 動きベク トル B の大きさを M V f 1 、 動きべク トル Cの大きさを M V b 1 とすると、 M V f 1 、 M V b 1 はそれぞれ式 3、 式 4によって得られる。
(式 3 ) M V f 1 = N 1 X M V 1 / D 1
(式 4 ) M V b 1 =— M 1 MV 1 / D 1
以下ではこれら N 1 、 M 1 、 D 1 の値をスケーリング係数と呼ぶとす る。スケーリング係数は、フィール ド単位で設定された値であるとする。 例えばこの場合、 スケーリング係数は、 各フィール ド間の時間的距離か ら設定することができる。 例えばフィール ド P 1 1 からフィールド P 4 1 の時間的距離を D 1 、 フィール ド P 1 1 からフィール ド B 3 1 の時間 的距離を N 1 、 フィール ド B 3 1 からフィール ド P 4 1 の時間的距離を M l と設定すれば、 M V f 1 と M V b 1 は M Vに平行な動きべク トルと なる。 ここで、 スケーリング係数の値の決定方法と しては、 符号化側と 復号化側で同じ規則によリ生成する (例えば時間情報(タイムスタンプ) から生成する) 方法や、 符号化時に設定して関連情報等として符号列中 または符号列の付属情報と して記述し、 復号化時にスケーリング係数を 符号列中または符号列の付属情報から取得する方法がある。 そして直接 モードにより符号化されているブロックを復号化する際には、 式 3、 式 4を用いて M V f 1 、 M V b 1 を計算すれば良い。
さて、 動きべク トル記憶部 1 1 6の動作について説明する。 動きべク トル記憶部 1 1 6に格納される動きべク トル数は符号化制御部 1 1 0に より指定される。 また、 ここではトップフィール ドの動きベク トルとボ トムフィール ドの動きべク トルを 1 フィール ド分ずつ格納するとする。 この場合、 格納する動きベク トルと しては、 参照ピクチャのうち符号 化または復号化の順で直前に符号化または復号化された参照ピクチャの 動きべク トルを格納する方法がある。 ここで、 すでに動きべク トル記憶 部 1 1 6に記憶されている動きべク トルは、 符号化モードが決定される 度に、 動きべク トルを順に上書きすれば良い。
具体的には図 2 4 ( a ) に示すように、 動きベク トル記憶部 1 0 6を 先入れ先出し方式 ( F I F O ) のメモリと同様に制御し、 新規のものが 格納されると記憶した時刻が古い記憶内容が順に破棄され、 常に最新の ピクチャが保存されるようにする。 また、 図 2 4 ( a ) では I ピクチャ または Pピクチャが符号化または復号化されるときに用いられた動きべ ク トルのみを保存する場合について示す。 これは直接モードが用いられ る Bピクチャが 1 ピクチャまたは P ピクチャのみを参照する場合を前提 としているためである。 Bピクチャが他の Bピクチャを参照するような 場合には、 参照ピクチャと して用いられる Bピクチャを符号化または復 号化されるときに用いられた動きベク トルも保存すれば良い。
フィールド B 3 1 の符号化または復号化においては、 メモリア ドレス M 1 にはフィール ド P 4 1 を符号化または復号化したときの動きべク 卜 ルが記憶されており、 メモリア ドレス M 1 に記憶されている動きべク ト ル Aを用いて動きべク トル Bおよび動きべク トル Cを導出することが可 能である。 なお、 メモリア ドレス M 2にはフィール ド P 4 2を符号化ま たは復号化したときの動きべク トルが記憶されている。
動きベク トル記憶部 1 0 6の別の例と しては図 2 4 ( b ) に示すよう に、 トップフィールドの動きベク トルとポトムフィールドの動きべク ト ルとを 2フィールド分ずつ格納することができるものが考えられる。 こ の場合、 動きベク トル記憶部 1 0 6を先入れ先出し方式 ( F I F O ) の メモリ と同様に制御し、 メモリア ドレス M 1 1 に記憶されている動きべ ク トルは新たに動きべク トルが格納されることになればメモリア ドレス M 1 2に移動し、 メモリア ドレス M 1 2に記憶されている動きべク トル は削除される。 メモリア ドレス M 2 1 、 M 2 2についても同様である。 なお、 パリティ ごとに複数のピクチャに対する動きべク トルの記憶領 域がある場合、 特に不要な画像については、 明示的に開放することも可 能である。 また、 使用するメモリの物理的な配置は、 連続する配置であ る必要はなく、 F I F O的な動作によってメモリ領域の使用の有無が決 定されるようにすればよい。
また、 図 2 4における説明では符号化または復号化の対象となるピク チヤが全てフィールドの場合について述べたが、 符号化または復号化の 対象となるピクチャがフレームである場合、 その符号化または復号化の 対象となるフ レームを動き補償するときに用いた動きべク トルは、 図 2 4 ( a ) ではメモリア ドレス M 1 、 メモリア ドレス M 2 ともに格納する ようにしてもよい。 図 2 4 ( b ) においても同様に、 メモリア ドレス M 1 1 、 メモリア ドレス M 2 1 ともに格納するようにしてもよい。 符号化 または復号化対象のピクチャがフィールドであり、 参照ピクチャがフレ ームである場合、 参照ピクチャをフィールドと して扱う。 そして、 直接 モードにおいては、 第 2参照インデックスが Γ 0」 である参照フィール ドの動きベク トルを利用するが、この場合、第 2参照インデックスが Γ ο J である参照フィールドが元々フレーム構造で処理されていると、 そのフ レームに含まれる 2つのフィールドは、 フレーム構造の動きべク トルと 同じ動きベク トルを有していると考える。 よって、 フレーム構造で処理 された動きべク トルをメモリア ドレス M 1 と M 2の両者に格納すること により、 参照ピクチャがフィ一ルド構造とフ レーム構造のいずれで処理 されているかを意識することなく、 直接モードにおいて利用する動きべ ク 卜ルを取得することができる。
一方、 このように参照ピクチヤであるフレームと同一のピクチャがト ップフィールドとボトムフィールドの両者にあるものと して扱わない場 合、 つまり、 例えばトップフィールド用のメモリア ドレスに参照ピクチ ャであるフレームが符号化または復号化対象であったときにこのフレー ムを動き補償するときに用いた動きべク トルを保存する場合、 参照イン デックスの再付与によって (参照インデックスは変更 (リマッピング) 可能であるため)、 参照する動きべク トルを誤る可能性がある。 なお、 こ のように参照ピクチャであるフレームと同一のピクチャがトップフィー ルドとボトムフィールドの両者にあるものと して扱わない場合でも、 図 2 4 ( a ) に示すように動きベク トルを保存するメモリア ドレスが 1 ピ クチャ分であれば、 参照インデックスの再付与が生じても、 参照する動 きべク トルが誤るという問題は起こりにくい。
このように、 フィールドのパリティごとに動きべク トルを格納するよ うに制御することで、 フィールド構造でピクチャを処理する場合であつ ても、 直接モードにおいて必要となる動きべク トルを上書きすることが ない。
さらに、 上記実施の形態 1 と実施の形態 2で説明した本願発明とフィ 一ルドのパリティ ごとに動きベク トルを格納するように制御することと を適応的に組み合わせることが可能である。 そして、 フィールドのパリ ティ ごとに動きべク トルを格納するように制御することで、 動きべク ト ルを格納する量を制限してメモリ量の削減を図ることができ、 かつフィ —ルド構造でピクチャを処理する場合であっても、 直接モードにおいて 必要となる動きベク トルを上書きすることがない。 また、 同一フ レーム に属する 2つのフィールド ( トップフィールドとボトムフィールド) を 符号化または復号化するときに用いた動きベク トルを 1 組として格納す るようにするとよい。 同一フ レームに属するかどうかは、 例えばピクチ ャ番号の連続性とパリティを示す情報とによって判断することができる, あるいは、 フレーム P 1 、 フレーム B 2、 フレーム B 3、 およびフレー ム P 4の連続性を示す情報から判断することができる。 また、 本実施の 形態のおいては、 ピクチャ単位でフ レーム構造とフィールド構造のいず れで符号化または復号化するかを切リ替える場合について説明したが、 これはピクチャ内のブロック単位でフレーム構造とフィールド構造のい ずれで符号化または復号化するかを切り替えても良い。 この場合、 フレ ーム構造で処理したブロックの動きべク トルは、 トップフィールド用の 動きべク トルメモリとポ卜ムフィールド用の動きべク トルメモリの両者 に保持し、 フィールド構造でブロックの動きベク トルは、 該当するパリ ティの動きべク トルメモリに保持すれば良い。
(実施の形態 6 )
さらに、 上記各実施の形態で示した動画像符号化方法および動画像復 号化方法の構成を実現するためのプログラムを、 フレキシブルディスク 等の記録媒体に記録するようにすることにより、 上記各実施の形態で示 した処理を、 独立したコンピュータシステムにおいて簡単に実施するこ とが可能となる。
図 2 5は、 上記実施の形態 1 から実施の形態 5の動画像符号化方法お よび動画像復号化方法をコンピュータシステムにより実現するためのプ ログラムを格納するための記録媒体についての説明図である。
図 2 5 ( b ) は、 フレキシブルディスクの正面からみた外観、 断面構 造、 及びフレキシブルディスクを示し、 図 2 5 ( a ) は、 記録媒体本体 であるフレキシブルディスクの物理フォーマッ トの例を示している。 フ レキシブルディスク F Dはケース F内に内蔵され、 該ディスクの表面に は、 同心円状に外周からは内周に向かって複数の トラック T rが形成さ れ、 各トラックは角度方向に 1 6のセクタ S eに分割されている。 従つ て、 上記プログラムを格納したフレキシブルディスクでは、 上記フレキ シブルディスク F D上に割り当てられた領域に、 上記プログラムと して の動画像符号化方法および動画像復号化方法が記録されている。
また、 図 2 5 ( c ) は、 フレキシブルディスク F Dに上記プログラム の記録再生を行うための構成を示す。 上記プログラムをフレキシブルデ イスク F Dに記録する場合は、 コンピュータシステム C sから上記プロ グラムと しての動画像符号化方法および動画像復号化方法を、 フレキシ ブルディスク ドライブを介して書き込む。 また、 フレキシブルディスク 内のプログラムによリ上記動画像符号化方法および動画像復号化方法を コンピュータシステム中に構築する場合は、 フレキシブルディスク ドラ イブによりプログラムをフレキシブルディスクから読み出し、 コンビュ —タシステムに転送する。
なお、 上記説明では、 記録媒体と してフレキシブルディスクを用いて 説明を行ったが、光ディスクを用いても同様に行うことができる。また、 記録媒体はこれに限らず、 GD - R0M、 メモリカード、 R O Mカセッ ト等、 プログラムを記録できるものであれば同様に実施することができる。
(実施の形態 7 )
さらにここで、 上記実施の形態で示した動画像符号化方法や動画像復 号化方法の応用例とそれを用いたシステムを説明する。
図 26は、 コンテンツ配信サービスを実現するコンテンツ供給システ ム ex1 00の全体構成を示すブロック図である。通信サービスの提供ェ リアを所望の大きさに分割し、 各セル内にそれぞれ固定無線局である基 地局 ex 1 0 7 ~ex 1 1 0が設置されている。
このコンテンツ供給システム ex 1 0 0は、例えば、 インターネッ ト ex 1 0 1 にインターネッ トサービスプロバイダ ex1 0 2および電話網 ex 1 0 4、 および基地局 exl 0 7〜ex1 1 0を介して、 コンピュータ ex 1 1 1 、 P D A (persona I digital assistant) ex 1 1 2、 カメラ exl 1 3、 携帯電話 ex 1 1 4、 カメラ付きの携帯電話 e x 1 1 5などの各機 器が接続される。
しかし、 コンテンツ供給システム ex 1 0 0は図 2 6のような組合せに 限定されず、いずれかを組み合わせて接続するようにしてもよい。また、 固定無線局である基地局 ex 1 0 7〜ex1 1 0を介さずに、各機器が電話 網 exl 04に直接接続されてもよい。
カメラ ex l 1 3はデジタルビデオカメラ等の動画撮影が可能な機器 である。 また、 携帯電話は、 P D C (Persona I D i gi ta I Communications) 方式、 C DM A (Code Division Multiple Access) 方式、 W— C DM A ( Wi deband— Code Division Multiple Access) 方式、 若しく は G S M (Global System for Mobi le Communications) 方式の携帯電話機、 また は P H S (Personal Handyphone System) 等であり、 Ι ずれでも構わな い。
また、ス 卜リ一ミングサーバ ex 1 0 3は、 カメラ ex 1 1 3から基地局 ex 1 09、電話網 ex 1 04を通じて接続されており、カメラ ex 1 1 3を 用いてユーザが送信する符号化処理されたデータに基づいたライブ配信 等が可能になる。撮影したデータの符号化処理は力メラ exl 1 3で行つ ても、 データの送信処理をするサーバ等で行ってもよい。 また、 カメラ e 1 1 6で撮影した動画データはコンピュータ ex l 1 1 を介してス ト リーミングサーバ ex 1 0 3に送信されてもよし、。カメラ ex 1 1 6はデジ タルカメラ等の静止画、 動画が撮影可能な機器である。 この場合、 動画 データの符号化はカメラ ex l 1 6で行ってもコンピュータ ex l 1 1 で 行ってもどちらでもよい。 また、 符号化処理はコンピュータ ex 1 1 1 や カメラ ex 1 1 6が有する L S I ex 1 1 7において処理することになる。 なお、 動画像符号化 '復号化用のソフ トウェアをコンピュータ ex l 1 1 等で読み取り可能な記録媒体である何らかの蓄積メディァ (C D— R O M、フレキシブルディスク、ハードディスクなど)に組み込んでもよい。 さらに、 カメラ付きの携帯電話 ex l 1 5で動画データを送信してもよい < このときの動画データは携帯電話 ex l 1 5が有する L S I で符号化処 理されたデータである。
このコンテンツ供給システム ex l 0 0では、ユーザがカメラ ex l 1 3 , カメラ ex l 1 6等で撮影しているコンテンツ (例えば、 音楽ライブを撮 影した映像等) を上記実施の形態同様に符号化処理してス トリーミング サーバ ex 1 0 3に送信する一方で、ス トリーミングサーバ ex 1 0 3は要 求のあったクライアントに対して上記コンテンツデータをス トリーム配 信する。 クライアン トと しては、 上記符号化処理されたデータを復号化 することが可能な、 コンピュータ ex 1 1 1 、 P D A ex 1 1 2、 カメラ ex 1 1 3、 携帯電話 ex 1 1 4等がある。 このようにすることでコンテンツ 供給システム ex l 0 0は、 符号化されたデータをクライアントにおいて 受信して再生することができ、 さらにクライアントにおいてリアルタイ 厶で受信して復号化し、 再生することにより、 個人放送をも実現可能に なるシステムである。
このシステムを構成する各機器の符号化、 復号化には上記各実施の形 200
態で示した動画像符号化装置あるいは動画像復号化装置を用いるように すればよい。
その一例として携帯電話について説明する。
図 2 7は、 上記実施の形態で説明した動画像符号化方法と動画像復号 化方法を用いた携帯電話 ex 1 1 5を示す図である。携帯電話 ex 1 1 5は. 基地局 ex 1 1 0との間で電波を送受信するためのアンテナ ex2 0 1 、 C C Dカメラ等の映像、 静止画を撮ることが可能なカメラ部 ex 2 0 3、 力 メラ部 ex 2 0 3で撮影した映像、アンテナ ex 2 0 1 で受信した映像等が 復号化されたデータを表示する液晶ディスプレイ等の表示部 ex2 0 2、 操作キー e x 2 0 4群から構成される本体部、 音声出力をするためのス ピ一力等の音声出力部 ex 2 0 8、音声入力をするためのマイク等の音声 入力部 ex 2 0 5、 撮影した動画もしくは静止画のデータ、 受信したメー ルのデータ、 動画のデータもしくは静止画のデータ等、 符号化されたデ —タまたは復号化されたデータを保存するための記録メディア ex 2 0 7、携帯電話 ex l 1 5に記録メディア ex2 0 7を装着可能とするための スロッ 卜部 ex 2 0 6を有している。記録メディア ex 2 0 7は S Dカード 等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メ モリである E E P R O M(EI ectr i ca I I y Erasab I e and Programmab I e Read Only Memory) の一種であるフラッシュメモリ素子を格納したものである, さらに、 携帯電話 ex 1 1 5について図 2 8を用いて説明する。 携帯電 話 ex l 1 5は表示部 ex2 0 2及び操作キー e x 2 0 4を備えた本体部 の各部を統括的に制御するようになされた主制御部 ex 3 1 1 に対して、 電源回路部 ex 3 1 0、 操作入力制御部 ex 3 0 4、 画像符号化部 ex 3 1 2、 カメ ライ ンタ一フェース部 ex 3 0 3 、 L C D (Liquid Crystal Display) 制御部 ex3 0 2、 画像復号化部 ex3 0 9、 多重分離部 ex 3 0 8、 記録再生部 ex 3 0 7、 変復調回路部 ex 3 0 6及び音声処理部 ex 3 0 5が同期バス ex 3 1 3を介して互いに接続されている。
電源回路部 ex 3 1 0は、ユーザの操作によリ終話及び電源キーがオン 状態にされると、 パッテリパックから各部に対して電力を供給すること によりカメラ付ディジタル携帯電話 ex1 1 5を動作可能な状態に起動 する。
携帯電話 ex 1 1 5は、 C P U、 R OM及び R AM等でなる主制御部 ex 3 1 1 の制御に基づいて、音声通話モード時に音声入力部 ex 2 0 5で集 音した音声信号を音声処理部 ex3 0 5によってディジタル音声データ に変換し、 これを変復調回路部 ex 3 0 6でスぺク トラ厶拡散処理し、 送 受信回路部 ex3 0 1 でディジタルアナログ変換処理及び周波数変換処 理を施した後にアンテナ ex20 1 を介して送信する。また携帯電話機 ex 1 1 5は、音声通話モー ド時にアンテナ ex2 0 1 で受信した受信データ を増幅して周波数変換処理及びアナログディジタル変換処理を施し、 変 復調回路部 ex 3 0 6でスぺク トラム逆拡散処理し、音声処理部 ex 3 0 5 によってアナログ音声データに変換した後、 これを音声出力部 ex2 08 を介して出力する。
さらに、 データ通信モード時に電子メールを送信する場合、 本体部の 操作キ一 e X 204の操作によって入力された電子メールのテキス トデ —タは操作入力制御部 ex304を介して主制御部 ex3 1 1 に送出され る。主制御部 ex 3 1 1 は、テキス トデータを変復調回路部 ex 3 06でス ぺク トラム拡散処理し、送受信回路部 ex 3 0 1 でディジタルアナログ変 換処理及び周波数変換処理を施した後にアンテナ ex2 0 1 を介して基 地局 ex 1 1 0へ送信する。
データ通信モード時に画像データを送信する場合、 カメラ部 ex 2 03 で撮像された画像データをカメラインターフェース部 ex 3 0 3を介し て画像符号化部 ex 3 1 2に供給する。 また、 画像データを送信しない場 合には、 カメラ部 ex 20 3で撮像した画像データをカメラインターフエ ース部 ex 3 03及ぴ L C D制御部 ex30 2を介して表示部 ex 2 0 2に 直接表示することも可能である。
画像符号化部 ex 3 1 2は、本願発明で説明した画像符号化装置を備え た構成であり、 カメラ部 ex2 0 3から供給された画像データを上記実施 の形態で示した画像符号化装置に用いた符号化方法によって圧縮符号化 することにより符号化画像データに変換し、 これを多重分離部 ex 3 0 8 に送出する。 また、 このとき同時に携帯電話機 ex 1 1 5は、 カメラ部 ex 2 0 3で撮像中に音声入力部 ex20 5で集音した音声を音声処理部 ex 3 0 5を介してディジタルの音声データと して多重分離部 ex 3 0 8に 送出— 3 る。
多重分離部 ex3 0 8は、画像符号化部 ex3 1 2から供給された符号化 画像データ と音声処理部 ex 3 0 5から供給された音声データ とを所定 の方式で多重化し、その結果得られる多重化データを変復調回路部 ex 3 0 6でスぺク トラ厶拡散処理し、送受信回路部 ex 30 1 でディジタルァ ナログ変換処理及び周波数変換処理を施した後にアンテナ ex 2 0 1 を 介して送信する。
データ通信モード時にホームページ等にリンクされた動画像ファイル のデータを受信する場合、アンテナ ex 20 1 を介して基地局 ex 1 1 0か ら受信した受信データを変復調回路部 ex3 0 6でスぺク トラム逆拡散 処理し、その結果得られる多重化データを多重分離部 ex3 08に送出す る。
また、 アンテナ ex20 1 を介して受信された多重化データを復号化す るには、 多重分離部 ex3 0 8は、 多重化データを分離することによリ画 像データのビッ トス トリ一厶と音声データのビッ トス 卜リームとに分け. 同期バス ex 3 1 3を介して当該符号化画像データを画像復号化部 ex 3 0 9に供給すると共に当該音声データを音声処理部 ex 3 0 5に供給す る。
次に、 画像復号化部 ex 3 0 9は、 本願発明で説明した画像復号化装置 を備えた構成であり、 画像データのビッ 卜ス トリームを上記実施の形態 で示した符号化方法に対応した復号化方法で復号することによリ再生動 画像データを生成し、 これを L C D制御部 ex 3 0 2を介して表示部 ex 2 0 2に供給し、 これにより、 例えばホームページにリンクされた動画 像ファイルに含まれる動画データが表示される。 このとき同時に音声処 理部 ex 3 0 5は、 音声データをアナログ音声データに変換した後、 これ を音声出力部 ex 2 0 8に供給し、 これによリ、 例えばホームページにリ ンクされた動画像ファイルに含まる音声データが再生される。
なお、 上記システムの例に限られず、 最近は衛星、 地上波によるディ ジタル放送が話題となつておリ、 図 2 9に示すようにディジタル放送用 システムにも上記実施の形態の少なく とも動画像符号化装置または動画 像復号化装置のいずれかを組み込むことができる。 具体的には、 放送局 ex 4 0 9では映像情報のビッ トス トリームが電波を介して通信または放 送衛星 ex 4 1 0に伝送される。 これを受けた放送衛星 ex 4 1 0は、放送 用の電波を発信し、 この電波を衛星放送受信設備をもつ家庭のアンテナ ex 4 0 6で受信し、 テレビ (受信機) ex 4 0 1 またはセッ ト トップポッ クス ( S T B ) ex 4 0 7などの装置により ビッ トス トリームを復号化し てこれを再生する。 また、 記録媒体である GD や DVD 等の蓄積メディア ex 4 0 2に記録したビッ トス トリームを読み取リ、 復号化する再生装置 ex 4 0 3にも上記実施の形態で示した動画像復号化装置を実装すること が可能である。 この場合、 再生された映像信号はモニタ ex 4 0 4に表示 される。 また、 ケーブルテレビ用のケーブル ex 4 0 5または衛星 地上 波放送のアンテナ ex 4 0 6に接続されたセッ ト トツプボックス ex 4 0 7内に動画像復号化装置を実装し、 これをテレビのモニタ ex4 0 8で再 生する構成も考えられる。 このときセッ ト トップボックスではなく、 テ レビ内に動画像復号化装置を組み込んでも良い。 また、 アンテナ ex 4 1 1 を有する車 ex 4 1 2で衛星 ex 4 1 0からまたは基地局 ex 1 0 7等か ら信号を受信し、車 ex 4 1 2が有するカーナビゲ一シヨン ex 4 1 3等の 表示装置に動画を再生することも可能である。
更に、画像信号を上記実施の形態で示した画像符号化装置で符号化し、 記録媒体に記録することもできる。 具体例と しては、 DVD ディスク e X 4 2 1 に画像信号を記録する DVD レコーダや、 ハードディスクに記録す るディスクレコーダなどのレコーダ e X4 2 0がある。 更に SDカード e X 4 2 2に記録することもできる。 レコーダ e x 4 2 0が上記実施の形 態で示した動画像復号化装置を備えていれば、 DVD ディスク e X 4 2 1 や SDカード e X 4 2 2に記録した画像信号を再生し、モニタ e x 408 で表示することができる。
なお、 カーナビゲーシヨン ex4 1 3の構成は例えば図 2 8に示す構成 のうち、 カメラ部 ex 2 0 3とカメラインタ一フェース部 ex 30 3、画像 符号化部 e X 3 1 2を除いた構成が考えられ、 同様なことがコンビユー タ exl 1 1 やテレビ (受信機) ex 4 0 1等でも考えられる。
また、 上記携帯電話 ex 1 1 4等の端末は、 符号化器■復号化器を両方 持つ送受信型の端末の他に、 符号化器のみの送信端末、 復号化器のみの 受信端末の 3通りの実装形式が考えられる。
このように、 上記実施の形態で示した動画像符号化方法あるいは動画 像復号化方法を上述したいずれの機器 ' システムに用いることは可能で あり、 そうすることで、 上記実施の形態で説明した効果を得ることがで きる。
また、 本発明はかかる上記実施形態に限定されるものではなく、 本発 明の範囲を逸脱することなく種々の変形または修正が可能である。 産業上の利用の可能性
本発明に係る動画像符号化装置は、 通信機能を備えるパーソナルコン ピュータ、 P D A、 ディジタル放送の放送局および携帯電話機などに備 えられる動画像符号化装置と して有用である。
また、 本発明に係る動画像復号化装置は、 通信機能を備えるパーソナ ルコンピュータ、 P D A、 ディジタル放送を受信する S T Bおよび携帯 電話機などに備えられる動画像復号化装置と して有用である。

Claims

請 求 の 範 囲
1 . 複数のプロックから構成されるピクチャの並びである動画像を符 号化する方法であって、
動きべク トルを用いた動き補償を行いながら動画像をブロック単位で 符号化し、 符号列を生成するステップと、
動き補償に用いる動きベク トルの記憶に関する制限を示す制限情報を 生成するステップと、
生成された前記制限情報を符号化するステップと
を有することを特徴とする動画像符号化方法。
2 . さらに、 前記動き補償を行う際に用いた動きべク トルのうち、 他 のピクチャ内のブロックが直接モードで符号化されるとき、 そのブロッ クによって参照される可能性がある動きべク トルを記憶領域に格納する ステップと、
前記記憶領域に格納されている動きべク トルのうち、 所定の条件を満 たす動きべク トル以外の動きべク トルを前記記憶領域から削除する削除 ステップとを有し、
前記直接モードは、 符号化済みピクチャで動き補償に用いられた動き べク トルを参照して、 符号化されるピクチャ内のブロックの動き補償を 行う符号化モードである
ことを特徴とする請求の範囲;!記載の動画像符号化方法。
3 . 複数のブロックから構成されるピクチャの並びである動画像を、 動きべク トルを用いた動き補償を行いながら符号化する方法であって、 符号化対象のピクチャがトップフィールドとボトムフィールドとから なるインタ レース画像のいずれかのフィール ドである場合に、 前記符号 化対象のピクチャが前記 トップフィールドであるか前記ポトムフィール ドであるかを判断するステップと、
前記符号化対象のピクチャが前記トップフィールドであると判断され た場合に、 符号化対象ピクチャの動き補償に用いた動きベク トルを トツ プフィールド用の記憶領域に格納し、 前記符号化対象のピクチャが前記 ボトムフィール ドであると判断された場合に、 符号化対象ピクチャの動 き補償に用いた動きべク トルをボトムフィールド用の記憶領域に格納す るステップと
を有することを特徴とする動画像符号化方法。
4 . 前記トップフィールド用の記憶領域に格納する動きべク トルと、 前記ボトムフィール ド用の記憶領域に格納する動きべク トルとは、 同一 フレームに属する トップフィールドとボトムフィールドを符号化すると きに用いた動きベク トルである
ことを特徴とする請求の範囲 3記載の動画像符号化方法。
5 . さらに、 符号化対象のピクチャをフレーム構造で符号化する場合 に、 前記符号化対象ピクチャの動き補償に用いた動きベク トルを、 トツ プフィールド用の記憶領域とポトムフィール ド用の記憶領域とに格納す るステップ
を有することを特徴とする請求の範囲 3記載の動画像符号化方法。
6 . さらに、 前記符号化対象のピクチャの動き補償に用いる動きべク トルの記憶に関する制限を示す制限情報を生成するステップと、 生成された前記制限情報を符号化するステップと を有することを特徴とする請求の範囲 3記載の動画像符号化方法。
7 . 前記制限情報を符号化するステップでは、 前記制限情報を動画像 の符号列中のへッダ情報と して符号化する
ことを特徴とする請求の範囲 1 又は請求の範囲 6記載の動画像符号化 方法。
8 . 前記ヘッダ情報は、 符号列全体のヘッダに付されるヘッダ情報、 ピクチャ単位のヘッダに付されるヘッダ情報、 またはスライス単位のへ ッダに付されるヘッダ情報のうち、 いずれか 1 つのヘッダ情報である ことを特徴とする請求の範囲 7記載の動画像符号化方法。
9 . 前記制限情報を符号化するステップでは、 前記制限情報を動画像 の符号列とは異なる情報である管理情報として符号化する
ことを特徴とする請求の範囲 1 又は請求の範囲 6記載の動画像符号化 方法。
1 0 . さらに、 前記制限情報に基づいて動きべク トルを記憶領域に格 納するステップ
を有することを特徴とする請求の範囲 1又は請求の範囲 6に記載の動 画像符号化方法。
1 1 . 前記制限情報はピクチャの枚数またはマクロブロック数を示す 情報である
ことを特徴とする請求の範囲 1 又は請求の範囲 6記載の動画像符号化 方法。
1 2 . 前記制限情報はピクチャを符号化する順番またはピクチャを表 示する順番を基準に前記符号化対象ブロックを有するピクチャから何枚 前までのピクチャの動きべク トルを記憶領域に格納するかを示した情報 である
ことを特徴とする請求の範囲 1 又は請求の範囲 6記載の動画像符号化 方法。
1 3 . さらに、 前記符号化対象のピクチャが前記トップフィールドで あるか前記ポトムフィール ドであるかを示すフィール ド情報を符号化す るステップ
を有することを特徴とする請求の範囲 3記載の動画像符号化方法。
1 4 . 複数のブロックから構成されるピクチャの並びである動画像を、 動きべク トルを用いた動き補償を行いながら符号化する方法であって、 符号化対象ブロックの符号化モー ドを決定する決定ステップと、 前記符号化対象ブロックの符号化モードが直接モードである場合に、 参照インデックスで特定される符号化済ピクチャの動きベク トルが記憶 部に格納されているかどうかを判断する判断ステップと、
前記参照インデックスで特定される符号化済フ レームの動きべク トル が、 記憶部に格納されていないと判断された場合に、 前記符号化対象ブ ロックを有するピクチャと同一のピクチャ内にあり前記符号化対象プロ ックの周辺にあるブロックを符号化するときに用いられた動きベク トル を用いて前記符号化対象プロックの動き補償を行う導出ステツプとを有 し、
前記直接モードは、 符号化済ピクチャ中のプロックが符号化されたと きに用いられた動きベク トルを用いて前記符号化対象ブロックの動き補 償を行う符号化モードであり、
前記参照インデックスは、 記憶部に格納されている複数の符号化済ピ クチャから、 前記符号化対象プロックに対して動き補償を行うときに参 照する参照ピクチャを選択するために、 前記符号化済ピクチャに対して 付与されたインデックスである
ことを特徴とする動画像符号化方法。
1 5 . さらに、 前記参照インデックスで特定される符号化済フレーム の動きべク トルが、 記憶部に格納されていないと判断された場合に、 前 記符号化対象ブロックの動きベク トルを 「0」 と して前記符号化対象ブ ロックの動き補償を行う別の導出ステップ
を有することを特徴とする請求の範囲 1 4記載の動画像符号化方法。
1 6 . さらに、 前記参照インデックスで特定される符号化済フレーム を符号化するときに用いた動きべク トルが記憶部に格納されていると判 断された場合に、 記憶部に格納されている前記動きべク トルを用いて前 記符号化対象ブロックの動き補償を行う別の導出ステップ
を有することを特徴とする請求の範囲 1 4記載の動画像符号化方法。
1 7 . 複数のブロックから構成されるピクチャの並びである動画像を 符号化する方法であって、
動きベク トルを用いた動き補償を行いながら動画像をブロック単位で 符号化し、 符号列を生成するステップと、
動き補償に用いる動きべク トルの記憶に関する制限を示す制限情報を 生成する第一の出力ステップと、 前記符号化対象ブロックが参照するピクチャが Bピクチャである場合 に、 前記 Bピクチャを符号化するときに用いた動きべク 卜ルを記憶しな いことを示す保存情報を生成する第二の出力ステップと、
生成された前記制限情報と前記保存情報とを符号化するステップとを 有し、
前記 Bピクチャは、 ブロック毎に最大 2枚のピクチャを参照して動き 補償を行うピクチャである
ことを特徴とする動画像符号化方法。
1 8 . 前記制限情報と前記保存情報とを符号化するステップでは、 前 記制限情報と前記保存情報とを前記符号列中のへッダ情報として符号化 する
ことを特徴とする請求の範囲 1 7記載の動画像符号化方法。
1 9 . 前記ヘッダ情報は、符号列全体のヘッダに付されるヘッダ情報、 ピクチャ単位のヘッダに付されるヘッダ情報、 またはスライス単位のへ ッダに付されるヘッダ情報のうち、 いずれか 1 つのヘッダ情報である ことを特徴とする請求の範囲 1 8記載の動画像符号化方法。
2 0 . 前記制限情報と前記保存情報とを符号化するステップでは、 前 記制限情報と前記保存情報とを前記符号列とは異なる情報である管理情 報と して符号化する
ことを特徴とする請求の範囲 1 7記載の動画像符号化方法。
2 1 . さらに、 前記保存情報に基づき前記 Bピクチャを符号化すると きに用いた動きべク トルを記憶領域に格納せず、 符号化順で、 前記符号 化対象ブロックを有するピクチャの直前に符号化された Pピクチャの動 きべク トルを記憶領域に格納するステップを有し、
前記 Pピクチャは、 ブロック毎に既に符号化済みのピクチャを最大 1 枚参照して予測符号化を行うピクチャである
ことを特徴とする請求の範囲 1 7記載の動画像符号化方法。
2 2 . さらに、 前記保存情報に基づき前記 Bピクチャを符号化すると きに用いた動きべク トルを記憶領域に格納せず、 表示順で、 前記符号化 対象ブロックを有するピクチャの直前に表示される Pピクチヤの動きべ ク トルを記憶領域に格納するステップを有し、
前記 Pピクチャは、 プロック毎に既に符号化済みのピクチャを最大 1 枚参照して予測符号化を行うピクチャである
ことを特徴とする請求の範囲 1 7記載の動画像符号化方法。
2 3 . 前記制限情報はピクチャの枚数またはマクロブロック数を示す 情報である
ことを特徴とする請求の範囲 1 7記載の動画像符号化方法。
2 4 . 前記制限情報はピクチャを符号化する順番またはピクチャを表 示する順番を基準に前記符号化対象ブロックを有するピクチャから何枚 前までのピクチャの動きべク トルを記憶領域に格納するかを示した情報 である
ことを特徴とする請求の範囲 1 7記載の動画像符号化方法。
2 5 . 複数のブロックから構成されるピクチャの並びである動画像を、 動きベク トルを用いた動き補償を行いながら復号化する方法であって、 復号化対象プロックの動き補償に用いる動きべク トルの記憶に関する 制限を示す制限情報を有する符号化列を入力するステップと、
前記符号化列を.復号化し前記制限情報を抽出するステップと、 前記制限情報に基づいて動きベク トルを記憶領域に格納するステップ を有することを特徴とする動画像復号化方法。
2 6 . 前記制限情報はピクチャの枚数またはマクロブ口ック数を示す 情報である
ことを特徴とする請求の範囲 2 5記載の動画像復号化方法。
2 7 . 前記制限情報はピクチャを復号化する順番またはピクチャを表 示する順番を基準に前記符号化対象ブロックを有するピクチャから何枚 前までのピクチャの動きべク トルを記憶領域に格納するかを示した情報 である
ことを特徴とする請求の範囲 2 5記載の動画像復号化方法。
2 8 . 前記制限情報は前記符号化列のヘッダ情報中にあり、 前記へッ ダ情報は、 符号列全体のヘッダに付されるヘッダ情報、 ピクチャ単位の ヘッダに付されるヘッダ情報、 またはスライス単位のヘッダに付される ヘッダ情報のうち、 いずれか 1 つのヘッダ情報である
ことを特徴とする請求の範囲 2 5記載の動画像復号化方法。
2 9 . 複数のブロックから構成されるピクチャの並びである動画像を、 動きべク トルを用いた動き補償を行いながら復号化する方法であって、 復号化対象のピクチャがトップフィールドとボトムフィールドとから なるインタ レース画像のいずれかのフィール ドである場合に、 前記復号 化対象のピクチャが前記トップフィールドであるか前記ポトムフィール ドであるかを判断するステップと、
前記復号化対象のピクチャが前記トップフィール ドであると判断され た場合に、 復号化対象ピクチャの動き補償に用いた動きベク トルを トツ プフィールド用の記憶領域に格納し、 前記復号化対象のピクチャが前記 ボトムフィールドであると判断された場合に、 復号化対象ピクチャの動 き補償に用いた動きべク トルをボトムフィ一ルド用の記憶領域に格納す るステップと
を有することを特徴とする動画像復号化方法。
3 0 . 前記トップフィ一ルド用の記憶領域に格納する動きべク トルと、 前記ボトムフィールド用の記憶領域に格納する動きべク トルとは、 同一 フレームに属する トップフィールドとポトムフィールドを復号化すると きに用いた動きベク トルである
ことを特徴とする請求の範囲 2 9記載の動画像復号化方法。
3 1 . さらに、 復号化対象のピクチャがフレーム構造で符号化された ピクチャである場合に、 前記復号化対象ピクチャの動き補償に用いた動 きベク トルを、 トップフィールド用の記憶領域とボトムフィールド用の 記憶領域とに格納するステツプ
を有することを特徴とする請求の範囲 2 9記載の動画像復号化方法。
3 2 . さらに、 前記復号化対象のピクチャの動き補償に用いる動きべ ク トルの記憶に関する制限を示す制限情報と、 前記復号化対象のピクチ ャが前記 トップフィール ドであるか前記ボトムフィール ドであるかを示 すフィールド情報とを有する符号化列から前記制限情報とフィールド情 報とを抽出するステップを有し、
前記動きべク トルを記憶ステップにおいて、 前記制限情報と前記フィ —ルド情報とに基づいて動きべク トルを記憶領域に格納する
ことを特徴とする請求の範囲 2 9記載の動画像復号化方法。
3 3 . 前記制限情報はピクチャの枚数またはマク口.プロック数を示す 情報である
ことを特徴とする請求の範囲 3 2記載の動画像復号化方法。
3 4 . 前記制限情報はピクチャを復号化する順番またはピクチャを表 示する順番を基準に前記符号化対象ブロックを有するピクチャから何枚 前までのピクチャの動きベク トルを記憶領域に格納するかを示した情報 である
ことを特徴とする請求の範囲 3 2記載の動画像復号化方法。
3 5 . 前記制限情報は前記符号化列のべッダ情報中にあり、 前記へッ ダ情報は、 符号列全体のヘッダに付されるヘッダ情報、 ピクチャ単位の ヘッダに付されるへッダ情報、 またはスライス単位のへッダに付される ヘッダ情報のうち、 いずれか 1 つのヘッダ情報である
ことを特徴とする請求の範囲 3 2記載の動画像復号化方法。
3 6 . 複数のブロックから構成されるピクチャの並びである動画像を、 動きべク トルを用いた動き補償を行いながら復号化する方法であって、 復号化対象プロックの符号化モードを示す符号化モード情報を有する 符号化列を入力するステップと、 前記符号化列を復号化し前記符号化モード情報を抽出するステップと 前記符号化モード情報が直接モードを示している場合に、 参照インデ ックスで特定される復号化済ピクチャを復号化するときに用いた動きべ ク トルが記憶部に格納されているかどうかを判断する判断ステップと、 前記参照インデックスで特定される復号化済ピクチャの動きべク トル が、 記憶部に格納されていないと判断された場合に、 前記復号化対象ブ ロックを有するピクチャと同一のピクチャ内にあリ前記復号化対象プロ ックの周辺にあるプロックを復号化するときに用いられた動きべク トル を用いて前記復号化対象ブロックの動き補償を行う導出ステップとを有 し、
前記直接モードは、 参照するピクチャ中において前記復号化対象プロ ックと同じ位置にあるプロックが復号化されたときに用いられた動きべ ク トルを用いて前記復号化対象プロックの動き補償を行う符号化モード であり、
前記参照インデックスは、 記憶部に格納されている複数の復号化済ピ クチャから、 前記復号化対象ブロックに対して動き補償を行うときに参 照する参照ピクチャを選択するために、 前記復号化済ピクチャに対して 付与されたインデックスである
ことを特徴とする動画像復号化方法。
3 7 . さらに、 前記参照インデックスで特定される復号化済ピクチャ の動きべク トルが、 記憶部に格納されていないと判断された場合に、 前 記復号化対象ブロックの動きベク トルを 「 0」 と して前記復号化対象ブ ロックの動き補償を行う別の導出ステップ
を有することを特徴とする請求の範囲 3 6記載の動画像復号化方法。
3 8 . さらに、 前記参照インデックスで特定される復号化済ピクチャ を復号化するときに用いた動きべク トルが記憶部に格納されていると判 断された場合に、 記憶部に格納されている前記動きべク トルを用いて前 記復号化対象ブロックの動き補償を行う別の導出ステップ
を有することを特徴とする請求の範囲 3 6記載の動画像復号化方法。
3 9 . 複数のブロックから構成されるピクチャの並びである動画像を、 動きベク トルを用いた動き補償を行いながら復号化する方法であって、 復号化対象ブロックの動き補償に用いる動きべク トルの記憶に関する 制限を示す制限情報と、 前記復号化対象ブロックが参照するピクチャが Bピクチャであるときに、 前記 Bピクチャを復号化するときに用いた動 きベク トルを記憶部に格納しないことを示す保存情報とを有する符号化 列を入力する入力ステップと、
前記符号化列を復号化し前記制限情報と前記保存情報とを抽出する抽 出ステップと、
前記制限情報に基づいて動きべク トルを記憶部に格納し、 さらに前記 保存情報に基づいて Bピクチャを復号化するときに用いた動きベク トル を記憶部に格納しない格納ステップとを有し、
前記 Bピクチャは、 プロック毎に最大 2枚の復号化済みピクチャを参 照して動き補償を行うピクチャである
ことを特徴とする動画像復号化方法。
4 0 . さらに、 前記格納ステップにおいて、 前記保存情報に基づき前 記 Bピクチャを復号化するときに用いた動きベク トルを記憶部に格納せ ず、 複号化順で、 前記復号化対象ブロックを有するピクチャの直前に復 号化された Pピクチャの動きベク トルを記憶部に格納し、 前記 Pピクチャは、 プロック毎に既に復号化済みのピクチャを最大 1 枚参照して動き補償を行う ピクチャである
ことを特徴とする請求の範囲 3 9記載の動画像復号化方法。
4 1 . さらに、 前記格納ステップにおいて、 前記保存情報に基づき前 記 Bピクチャを復号化するときに用いた動きベク トルを記憶部に格納せ ず、 表示順で、 前記復号化対象ブロックを有するピクチャの直前に表示 される Pピクチャの動きべク トルを記憶部に格納し、
前記 Pピクチャは、 ブロック毎に既に復号化済みのピクチャを最大 1 枚参照して動き補償を行う ピクチャである
ことを特徴とする請求の範囲 3 9記載の動画像復号化方法。
4 2 . 前記制限情報はピクチャの枚数またはマクロブロック数を示す 情報である
ことを特徴とする請求の範囲 3 9記載の動画像復号化方法。
4 3 . 前記制限情報はピクチャを復号化する順番またはピクチャを表 示する順番を基準に前記復号化対象ブロックを有するピクチャから何枚 前までのピクチャの動きべク トルを記憶領域に格納するかを示した情報 である
ことを特徴とする請求の範囲 3 9記載の動画像復号化方法。
4 4 . 前記制限情報は前記符号化列のヘッダ情報中にあり、 前記へッ ダ情報は、 符号列全体のヘッダに付されるヘッダ情報、 ピクチャ単位の ヘッダに付されるヘッダ情報、 またはスライス単位のヘッダに付される ヘッダ情報のうち、 いずれか 1 つのヘッダ情報である ことを特徴とする請求の範囲 3 9記載の動画像復号化方法。
4 5 . 複数のブロックから構成されるピクチャの並びである動画像を 符号化する動画像符号化装置であって、
動きべク トルを用いた動き補償を行いながら動画像をブロック単位で 符号化し、 符号列を生成する手段と、
動き補償に用いる動きベク トルの記憶に関する制限を示す制限情報を 生成する手段と、
生成された前記制限情報を符号化する手段と
を備えることを特徴とする動画像符号化装置。
4 6 . 複数のブロックから構成されるピクチャの並びである動画像を、 動きべク トルを用いた動き補償を行いながら符号化する動画像符号化装 置であって、
直接モードは、 符号化済ピクチャ中のブロックが符号化されたときに 用いられた動きベク トルを用いて前記符号化対象ブロックの動き補償を 行う符号化モードであり、 参照インデックスは、 記憶部に格納されてい る複数の符号化済ピクチャから、 前記符号化対象ブロックに対して動き 補償を行うときに参照する参照ピクチャを選択するために、 前記符号化 済ピクチャに対して付与されたインデックスであると した場合に、 符号化対象ブロックの符号化モードを決定する決定手段と、
前記符号化対象プロックの符号化モードが前記直接モードである場合 に、 前記参照インデックスで特定される符号化済ピクチャの動きべク ト ルが記憶部に格納されているかどうかを判断する判断手段と、
前記参照ィンデックスで特定される符号化済ピクチャの動きべク トル が、 記憶部に格納されていないと判断された場合に、 前記符号化対象ブ ロックを有するピクチャと同一のピクチャ内にあり前記符号化対象プロ ックの周辺にあるブロックを符号化するときに用いられた動きベク トル を用いて前記符号化対象ブロックの動き補償を行う導出手段と
を備えることを特徴とする動画像符号化装置。
4 7 . 複数のブロックから構成されるピクチャの並びである動画像を、 動きべク トルを用いた動き補償を行いながら復号化する動画像復号化装 置であって、
動き補償に用いる動きべク トルの記憶に関する制限を示す制限情報を 有する符号化列を入力する手段と、
前記符号化列を復号化し前記制限情報を抽出する手段と、
前記制限情報に基づいて動きべク トルを記憶領域に格納する手段と を備えるこ とを特徴とする動画像復号化装置。
4 8 . 複数のブロックから構成されるピクチャの並びである動画像を'、 動きべク トルを用いた動き補償を行いながら復号化する動画像復号化装 置であって、
直接モードは、 復号化済ピクチャ中のブロックが復号化されたときに 用いられた動きベク トルを用いて前記復号化対象ブロックの動き補償を 行う符号化モードであり、 参照インデックスは、 記憶部に格納されてい る複数の復号化済ピクチャから、 前記復号化対象ブロックに対して動き 補償を行うときに参照する参照ピクチャを選択するために、 前記復号化 済ピクチャに対して付与されたインデックスであると した場合に、 復号化対象ブロックの符号化モードを示す符号化モード情報を有する 符号化列を入力する手段と、
前記符号化列を復号化し前記符号化モード情報を抽出する手段と、 前記符号化モード情報が直接モードを示している場合に、 参照インデ ックスで特定される復号化済ピクチャを復号化するときに用いた動きべ ク トルが記憶部に格納されているかどうかを判断する判断手段と、 前記参照ィンデックスで特定される復号化済ピクチャの動きべク トル が、 記憶部に格納されていないと判断された場合に、 前記復号化対象ブ ロックを有するピクチャと同一のピクチャ内にあり前記復号化対象プロ ックの周辺にあるブロックを復号化するときに用いられた動きベク トル を用いて前記復号化対象ブロックの動き補償を行う導出手段と
を備えることを特徴とする動画像復号化装置。
4 9 . 複数のブロックから構成されるピクチャの並びである動画像を 符号化するためのプログラムであって、
動きベク トルを用いた動き補償を行いながら動画像をブロック単位で 符号化し、 符号列を生成するステップと、
動き補償に用いる動きべク トルの記憶に関する制限を示す制限情報を 生成するステップと、
生成された前記制限情報を符号化するステップと
をコンピュータに行わせるプログラム。
5 0 . 複数のブロックから構成されるピクチャの並びである動画像を、 動きべク トルを用いた動き補償を行いながら符号化するためのプログラ 厶であって、
直接モードは、 符号化済ピクチャ中のブロックが符号化されたときに 用いられた動きベク トルを用いて前記符号化対象ブロックの動き補償を 行う符号化モー ドであり、 参照インデックスは、 記憶部に格納されてい る複数の符号化済ピクチャから、 前記符号化対象ブロックに対して動き 補償を行うときに参照する参照ピクチャを選択するために、 前記符号化 済ピクチャに対して付与されたインデックスであるとした場合に、 符号化対象ブロックの符号化モードを決定する決定ステップと、 前記符号化対象ブロックの符号化モー ドが前記直接モードである場合 に、 前記参照インデックスで特定される符号化済ピクチャの動きべク ト ルが記憶部に格納されているかどうかを判断する判断ステップと、 前記参照インデックスで特定される符号化済ピクチャの動きベク トル が、 記憶部に格納されていないと判断された場合に、 前記符号化対象ブ ロックを有するピクチャと同一のピクチャ内にあり前記符号化対象プロ ックの周辺にあるブロックを符号化するときに用いられた動きべク トル を用いて前記符号化対象ブロックの動き補償を行う導出ステップと をコンピュータに行わせるプログラム。
5 1 . 複数のブロックから構成されるピクチャの並びである動画像を、 動きべク トルを用いた動き補償を行いながら復号化するためのプロダラ ムであって、
動き補償に用いる動きベク トルの記憶に関する制限を示す制限情報を 有する符号化列を入力するステップと、
前記符号化列を復号化し前記制限情報を抽出するステップと、 前記制限情報に基づいて動きべク トルを記憶領域に格納するステップ をコンピュータに行わせるプログラム。
5 2 . 複数のブロックから構成されるピクチャの並びである動画像を、 動きべク トルを用いた動き補償を行いながら復号化するためのプログラ ムであって、 直接モードは、 復号化済ピクチャ中のプロックが復号化されたときに 用いられた動きベク トルを用いて前記復号化対象ブロックの動き補償を 行う符号化モー ドであり、 参照インデックスは、 記憶部に格納されてい る複数の復号化済ピクチャから、 前記復号化対象プロックに対して動き 補償を行うときに参照する参照ピクチャを選択するために、 前記復号化 済ピクチャに対して付与されたインデックスであると した場合に、 復号化対象ブロックの符号化モードを示す符号化モー ド情報を有する 符号化列を入力するステップと、
前記符号化列を復号化し前記符号化モード情報を抽出するステップと 前記符号化モード情報が前記直接モードを示している場合に、 前記参 照インデックスで特定される復号化済ピクチャを復号化するときに用い た動きベク トルが記憶部に格納されているかどうかを判断する判断ステ ップと、
前記参照インデックスで特定される復号化済ピクチャの動きベク トル が、 記憶部に格納されていないと判断された場合に、 前記復号化対象ブ ロックを有するピクチャと同一のピクチャ内にあり前記復号化対象プロ ックの周辺にあるブロックを復号化するときに用いられた動きベク トル を用いて前記復号化対象ブロックの動き補償を行う導出ステップ <!: をコンピュータに行わせるプログラム。
5 3 . 動きベク トルを用いた動き補償を行いながら、 複数のブロック から構成されるピクチャの並びである動画像がプロック単位で符号化さ れた符号列と、 前記動き補償に用いる動きべク トルの記憶に関する制限 を示す制御情報と
が記録されていることを特徴とする記録媒体。
5 4 . 前記制限情報は前記符号列中のへッダ情報として記録されてい る
ことを特徴とする請求の範囲 5 3記載の記録媒体。
5 5 . 前記制限情報は、 前記符号列とは異なる情報である管理情報と して記録されている
ことを特徴とする請求の範囲 5 3記載の記録媒体。
PCT/JP2003/007640 2002-07-26 2003-06-17 動画像符号化方法、動画像復号化方法および記録媒体 WO2004012459A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
AU2003241696A AU2003241696A1 (en) 2002-07-26 2003-06-17 Moving picture encoding method, moving picture decoding method, and recording medium
US10/490,366 US7822120B2 (en) 2002-07-26 2003-06-17 Moving picture encoding method, moving picture decoding method, and recording medium
EP03733462A EP1422946A4 (en) 2002-07-26 2003-06-17 MOVING IMAGE PROCEDURE, MOVABLE IMAGE DECODING METHOD AND RECORD MEDIUM

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JP2002218001 2002-07-26
JP2002-218001 2002-07-26
JP2002-229487 2002-08-07
JP2002-289421 2002-08-07
JP2002229487 2002-08-07
JP2002289421 2002-10-02
JP2002305143 2002-10-18
JP2002-305143 2002-10-18

Publications (1)

Publication Number Publication Date
WO2004012459A1 true WO2004012459A1 (ja) 2004-02-05

Family

ID=31192278

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/007640 WO2004012459A1 (ja) 2002-07-26 2003-06-17 動画像符号化方法、動画像復号化方法および記録媒体

Country Status (4)

Country Link
US (1) US7822120B2 (ja)
EP (1) EP1422946A4 (ja)
AU (1) AU2003241696A1 (ja)
WO (1) WO2004012459A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010219983A (ja) * 2009-03-18 2010-09-30 Sony Corp 画像処理装置および方法
WO2012119777A1 (en) 2011-03-09 2012-09-13 Canon Kabushiki Kaisha Video encoding and decoding
WO2012119776A1 (en) 2011-03-09 2012-09-13 Canon Kabushiki Kaisha Video encoding and decoding
US9247268B2 (en) 2009-03-06 2016-01-26 Thomson Licensing Method for predicting a block of image data by verifying condition relating temporal variation between image data of reference block and prediction block of previous reference block, decoding and coding devices implementing said method
US9402087B2 (en) 2004-08-16 2016-07-26 Nippon Telegraph And Telephone Corporation Picture encoding method, picture decoding method, picture encoding apparatus, picture decoding apparatus, picture encoding program, and picture decoding program

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6563953B2 (en) * 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
ES2721514T3 (es) 2001-11-06 2019-08-01 Panasonic Ip Corp America Procedimiento de codificación de imágenes en movimiento y procedimiento de decodificación de imágenes en movimiento
JP4610195B2 (ja) 2001-12-17 2011-01-12 マイクロソフト コーポレーション スキップマクロブロックコード化
DK1406451T3 (da) 2002-07-11 2007-02-05 Matsushita Electric Ind Co Ltd Billedkodnings- og dekodningsfremgangsmåde til H.264 ved anvendelse af en virtuel visningsbuffer
EP2903272B1 (en) * 2002-08-08 2018-03-28 Godo Kaisha IP Bridge 1 Moving picture encoding method and decoding method
KR100506864B1 (ko) 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
KR100693669B1 (ko) * 2003-03-03 2007-03-09 엘지전자 주식회사 피일드 매크로 블록의 레퍼런스 픽쳐 결정 방법
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US7567617B2 (en) 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US9077960B2 (en) 2005-08-12 2015-07-07 Microsoft Corporation Non-zero coefficient block pattern coding
JP4534935B2 (ja) * 2005-10-04 2010-09-01 株式会社日立製作所 トランスコーダ、記録装置及びトランスコード方法
JP5422124B2 (ja) * 2005-10-05 2014-02-19 パナソニック株式会社 参照ピクチャ選択方法、画像符号化方法、プログラム、画像符号化装置および半導体装置
US9182228B2 (en) 2006-02-13 2015-11-10 Sony Corporation Multi-lens array system and method
US8498340B2 (en) * 2006-04-04 2013-07-30 Himax Technologies Limited Method and device for decoding and displaying video frames
US8036264B2 (en) * 2006-05-23 2011-10-11 Lsi Corporation Memory management in video decoding systems
US8422555B2 (en) * 2006-07-11 2013-04-16 Nokia Corporation Scalable video coding
JP4763549B2 (ja) * 2006-08-18 2011-08-31 富士通セミコンダクター株式会社 フレーム間予測処理装置、画像符号化装置、及び画像復号化装置
WO2008153262A1 (en) * 2007-06-15 2008-12-18 Sungkyunkwan University Foundation For Corporate Collaboration Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording midium
US8526499B2 (en) * 2007-06-15 2013-09-03 Sungkyunkwan University Foundation For Corporate Collaboration Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording medium
JP4678015B2 (ja) * 2007-07-13 2011-04-27 富士通株式会社 動画像符号化装置及び動画像符号化方法
JP2009044537A (ja) * 2007-08-09 2009-02-26 Osaka Univ 映像ストリーム処理装置及びその制御方法、プログラム、記録媒体
US20090052551A1 (en) * 2007-08-23 2009-02-26 Shinji Kitamura Method and apparatus for coding moving image and imaging system
CN101119493B (zh) * 2007-08-30 2010-12-01 威盛电子股份有限公司 区块式数字编码图像的译码方法及装置
US7843462B2 (en) * 2007-09-07 2010-11-30 Seiko Epson Corporation System and method for displaying a digital video sequence modified to compensate for perceived blur
JPWO2009063554A1 (ja) * 2007-11-13 2011-03-31 富士通株式会社 符号化装置および復号装置
JP2010063092A (ja) * 2008-08-05 2010-03-18 Panasonic Corp 画像符号化装置、画像符号化方法、画像符号化集積回路およびカメラ
US8335256B2 (en) * 2008-11-14 2012-12-18 General Instrument Corporation Motion compensation in video coding
US9877033B2 (en) * 2009-12-21 2018-01-23 Qualcomm Incorporated Temporal and spatial video block reordering in a decoder to improve cache hits
RU2012140740A (ru) 2010-04-01 2014-05-10 Сони Корпорейшн Устройство и способ обработки изображения
AU2016253586B2 (en) * 2010-10-06 2018-04-19 Ntt Docomo, Inc. Image predictive encoding device, image predictive encoding method, image predictive encoding program, image predictive decoding device, image predictive decoding method, and image predictive decoding program
AU2015202089B2 (en) * 2010-10-06 2016-12-01 Ntt Docomo, Inc. Image predictive encoding device, image predictive encoding method, image predictive encoding program, image predictive decoding device, image predictive decoding method, and image predictive decoding program
RU2580942C2 (ru) * 2010-10-06 2016-04-10 Нтт Докомо, Инк. Устройство прогнозирующего кодирования изображений, способ прогнозирующего кодирования изображений, программа прогнозирующего кодирования изображений, устройство прогнозирующего декодирования изображений, способ прогнозирующего декодирования изображений и программа прогнозирующего декодирования изображений
MX2013008691A (es) * 2011-02-10 2013-08-21 Panasonic Corp Metodo de codificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de decodificacion de imagenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento.
WO2013001748A1 (ja) * 2011-06-29 2013-01-03 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置および画像符号化復号装置
JP5485969B2 (ja) 2011-11-07 2014-05-07 株式会社Nttドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム
KR101662139B1 (ko) * 2011-11-18 2016-10-10 구글 테크놀로지 홀딩스 엘엘씨 고효율 비디오 코딩을 위한 움직임 정보의 효율적인 저장
KR101606661B1 (ko) 2011-11-18 2016-03-25 모토로라 모빌리티 엘엘씨 고효율 비디오 코딩(hevc)을 위한 병치된 화상을 시그널링하기 위한 명시적 방법
US9392235B2 (en) 2011-11-18 2016-07-12 Google Technology Holdings LLC Explicit way for signaling a collocated reference picture for video coding
US9467694B2 (en) 2011-11-21 2016-10-11 Google Technology Holdings LLC Implicit determination and combined implicit and explicit determination of collocated picture for temporal prediction
BR112014015790A2 (pt) 2011-12-26 2018-05-22 Motorola Mobility Llc determinação implícita de figura colocalizada para predição temporal
WO2013154674A1 (en) 2012-04-11 2013-10-17 Motorola Mobility Llc Evaluation of signaling of collocated reference picture for temporal prediction
US9210425B2 (en) 2012-04-11 2015-12-08 Google Technology Holdings LLC Signaling of temporal motion vector predictor (MVP) flag for temporal prediction
US9319681B2 (en) 2012-07-18 2016-04-19 Google Technology Holdings LLC Signaling of temporal motion vector predictor (MVP) enable flag
US10116945B2 (en) * 2016-02-26 2018-10-30 Panasonic Intellectual Property Management Co., Ltd. Moving picture encoding apparatus and moving picture encoding method for encoding a moving picture having an interlaced structure
US11601668B2 (en) * 2018-03-01 2023-03-07 Arris Enterprises Llc System and method of motion information storage for video coding and signaling

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1175191A (ja) * 1997-03-07 1999-03-16 Nextlevel Syst Inc インターレースされたデジタルビデオ用の双方向予測ビデオオブジェクト平面の予測及び符号化

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5164828A (en) * 1990-02-26 1992-11-17 Sony Corporation Video signal transmission and method and apparatus for coding video signal used in this
US5093720A (en) * 1990-08-20 1992-03-03 General Instrument Corporation Motion compensation for interlaced digital television signals
JP2586260B2 (ja) * 1991-10-22 1997-02-26 三菱電機株式会社 適応的ブロッキング画像符号化装置
DE4322343C2 (de) * 1992-07-06 1996-10-02 Mitsubishi Electric Corp Mittel zum Erfassen eines Bewegungsvektors und Verfahren zum Bestimmen eines Bewegungsvektors
KR100255648B1 (ko) * 1997-10-10 2000-05-01 윤종용 그래디언트 패턴 정합에 의한 영상 움직임 검출장치 및 그 방법
US5973743A (en) * 1997-12-02 1999-10-26 Daewoo Electronics Co., Ltd. Mode coding method and apparatus for use in an interlaced shape coder
JP3149840B2 (ja) * 1998-01-20 2001-03-26 日本電気株式会社 動きベクトル検出装置及び方法
JP4157661B2 (ja) 1999-12-15 2008-10-01 松下電器産業株式会社 動画像内の移動物体検出方法および装置
JP2002165109A (ja) 2000-11-24 2002-06-07 Matsushita Electric Ind Co Ltd 動きベクトル検出装置および動きベクトル検出方法
US20030099294A1 (en) * 2001-11-27 2003-05-29 Limin Wang Picture level adaptive frame/field coding for digital video content
EP1383339A1 (en) * 2002-07-15 2004-01-21 Matsushita Electric Industrial Co., Ltd. Memory management method for video sequence motion estimation and compensation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1175191A (ja) * 1997-03-07 1999-03-16 Nextlevel Syst Inc インターレースされたデジタルビデオ用の双方向予測ビデオオブジェクト平面の予測及び符号化

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"H.26L test model long term number 6 (TML-6) draft0", ITU-TELECOMMUNICATIONS STANDARDIZATION SECTOR STUDY GROUP 16 VIDEO CODING EXPERTS GROUP (VCEG), 2001, XP002971811, Retrieved from the Internet <URL:http://kbs.cs.tu-berlin.de/~stewe/vceg/TMLDocs/VCEG-L45d0-doc> [retrieved on 20030528] *
See also references of EP1422946A4 *
SUKEKAZU MIKI: "MPEG-4 no Subete", 30 September 1998, KOGYO CHOSAKAI PUBLISHING CO., LTD., pages: 44 - 49, XP002971900 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9402087B2 (en) 2004-08-16 2016-07-26 Nippon Telegraph And Telephone Corporation Picture encoding method, picture decoding method, picture encoding apparatus, picture decoding apparatus, picture encoding program, and picture decoding program
US9247268B2 (en) 2009-03-06 2016-01-26 Thomson Licensing Method for predicting a block of image data by verifying condition relating temporal variation between image data of reference block and prediction block of previous reference block, decoding and coding devices implementing said method
JP2010219983A (ja) * 2009-03-18 2010-09-30 Sony Corp 画像処理装置および方法
US8699581B2 (en) 2009-03-18 2014-04-15 Sony Corporation Image processing device, image processing method, information processing device, and information processing method
WO2012119777A1 (en) 2011-03-09 2012-09-13 Canon Kabushiki Kaisha Video encoding and decoding
WO2012119776A1 (en) 2011-03-09 2012-09-13 Canon Kabushiki Kaisha Video encoding and decoding
US8824555B2 (en) 2011-03-09 2014-09-02 Canon Kabushiki Kaisha Video encoding and decoding
US10075707B2 (en) 2011-03-09 2018-09-11 Canon Kabushiki Kaisha Video encoding and decoding
EP3609180A1 (en) 2011-03-09 2020-02-12 Canon Kabushiki Kaisha Video encoding and decoding

Also Published As

Publication number Publication date
AU2003241696A1 (en) 2004-02-16
US7822120B2 (en) 2010-10-26
EP1422946A4 (en) 2008-04-02
EP1422946A1 (en) 2004-05-26
US20040264570A1 (en) 2004-12-30

Similar Documents

Publication Publication Date Title
WO2004012459A1 (ja) 動画像符号化方法、動画像復号化方法および記録媒体
JP4114859B2 (ja) 動きベクトル符号化方法および動きベクトル復号化方法
JP5355807B2 (ja) 符号化データ配信方法および配信システム
JP4763663B2 (ja) 動画像符号化方法
JP4348209B2 (ja) 画像符号化方法および画像復号化方法
JP4585047B1 (ja) 動きベクトル復号化方法
WO2004006586A1 (ja) 画像符号化方法および画像復号化方法
WO2003098939A1 (en) Moving image encoding method, moving image decoding method, and data recording medium
WO2004032521A1 (ja) 画像符号化装置、画像復号化装置およびこれらの方法
WO2004066636A1 (ja) 画像符号化方法
JP4405272B2 (ja) 動画像復号化方法、動画像復号化装置及びプログラム
JP4230289B2 (ja) 動画像符号化方法および動画像復号化方法
JP4519676B2 (ja) 動き検出方法および動画像符号化方法
JP2004040512A (ja) 画像符号化方法および画像復号方法

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 2003733462

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 10490366

Country of ref document: US

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: 2003733462

Country of ref document: EP