WO2007057985A1 - 画像符号化装置および画像符号化方法 - Google Patents

画像符号化装置および画像符号化方法 Download PDF

Info

Publication number
WO2007057985A1
WO2007057985A1 PCT/JP2006/300527 JP2006300527W WO2007057985A1 WO 2007057985 A1 WO2007057985 A1 WO 2007057985A1 JP 2006300527 W JP2006300527 W JP 2006300527W WO 2007057985 A1 WO2007057985 A1 WO 2007057985A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion vector
image
global motion
global
unit
Prior art date
Application number
PCT/JP2006/300527
Other languages
English (en)
French (fr)
Inventor
Kazuhito Nishida
Original Assignee
Sharp Kabushiki Kaisha
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 Sharp Kabushiki Kaisha filed Critical Sharp Kabushiki Kaisha
Priority to EP06711807A priority Critical patent/EP1954059A4/en
Priority to US12/065,074 priority patent/US8300695B2/en
Publication of WO2007057985A1 publication Critical patent/WO2007057985A1/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/527Global motion vector estimation
    • 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/57Motion estimation characterised by a search window with variable size or shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • 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/43Hardware specially adapted for motion estimation or compensation
    • 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
    • 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
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy

Definitions

  • the present invention relates to a technique of an image coding apparatus that uses a global motion vector when an input image is coded using a motion vector.
  • encoding is performed by compressing the amount of moving image information mainly using the following three image conversions. That is, the first image conversion using intra-image (spatial) correlation, the second image conversion using inter-image (temporal) correlation, and the third using variable-length encoding according to the appearance probability of the code.
  • Image conversion in the second image conversion using temporal correlation, the moving direction and moving amount of an image between different temporal frames (input images) are detected as “motion vectors” in units of macroblocks.
  • the amount of moving picture information can be reduced by representing a frame with pixel information and motion vector information of the macroblock.
  • FIG. 17 is a diagram for explaining another example of motion vector detection in units of macroblocks using the global motion vector.
  • the global motion vector (1701) that contains the macroblock ⁇ that contains the macroblock ⁇ for which the motion vector is to be detected is the same as the normal motion vector detection. It is detected by the process. Then, it is considered that the macro block ⁇ has moved within a predetermined range including the destination of the global macro block indicated by this global motion beta. Ability to do S. Therefore, by calculating the range ⁇ shown in FIG. (B) as the search range of the motion vector of the macroblock ⁇ , the motion vector (1702) of the macroblock Ct can be detected without unnecessarily widening the search range. That's it.
  • Patent Document 1 WO00Z05899
  • the global motion vector detector is an image converter using spatial correlation which is the first moving image conversion technology. Since they are arranged on the same chip, there are the following two problems. First, there is a problem that there is a possibility that a reference frame to be referred to when detecting a global motion vector does not necessarily match an accurate input image. This is because the reference frame uses the spatial correlation to eliminate high-frequency components obtained by DCT (Discrete Cosign Transform) transformation, or to discard the remainder by quantization and to perform lossy transform coding. This is because it is an image that is reproduced by inversely transforming the processed data, and may not be completely the same as the original frame. For this reason, there is a possibility that an error may occur in the global motion vector detected by referring to the reference frame reproduced inaccurately.
  • DCT Discrete Cosign Transform
  • the motion amount search range for each pixel may be narrower than the above. Or, there is a high possibility that the search range will differ depending on the type of video, such as the average amount of motion between news studio video and sports video is significantly different. Therefore, it depends on the image size of the moving image and the content of the moving image. In other words, there may be a case where the amount of calculation is relatively small even if only the motion vector is detected in a normal macroblock unit without performing the global motion vector detection process.
  • the present invention provides an encoding apparatus that encodes an input image using a motion vector, and removes a high-frequency component after DCT conversion or discards a remainder by quantization.
  • an image coding device including a global motion beta detector outside an image converter using variable length coding.
  • the present invention can detect the global motion vector using the input image before being irreversibly compressed. Further, since the global motion vector detector is outside the image converter, it is possible to easily switch whether or not to use the global motion vector detector for image conversion.
  • “preparing externally” may be a configuration in which the same hardware is handled externally in software processing, although the hardware structure is physically separate.
  • the global motion vector can be detected using the input image before irreversible compression, the global motion vector is erroneously detected due to the reproduction error of the reference image. Can be eliminated.
  • the global motion vector detection mechanism since whether or not to use the global motion vector detection mechanism when encoding a moving image can be easily switched according to the situation or the like, useless calculation processing can be omitted.
  • FIG. 1 shows an example of an apparatus (in this case, an image encoding board with a TV tuner) on which the image encoding apparatus of the present embodiment is mounted.
  • the image coding apparatus performs computation processing such as DCT computation, removal of high frequency components of spatial frequency, quantization, variable length coding, or coding using a motion vector.
  • This is an image code board that has a second global motion vector detection chip that detects a global motion vector and determines a search range outside the first conversion processing chip that performs image conversion processing. .
  • the TV tuner (image input device) is not the input image that has been irreversibly compressed and inversely converted by the first conversion chip.
  • the input digital image that has been input can be directly used for reference.
  • FIG. 2 is a diagram illustrating an example of functional blocks in the image encoding device of the present embodiment.
  • the “image encoding device” (0200) of this embodiment is an encoding device that encodes an input image using a motion vector.
  • the “first chip” (0210 ) And “second chip” (0220) are arranged separately.
  • the first chip includes a “conversion processing unit” (0211), an “inverse conversion processing unit” (0212), and a “first detection unit” (0213).
  • the second chip includes a “second detection unit” (0221) and a “search range determination unit” (0222), and can perform processing independently of each other.
  • the present invention may have a configuration in which the same hardware chip is handled separately in software processing. good.
  • the functional blocks of the apparatus described below can be realized as hardware, software, or both hardware and software.
  • a CPU central processing unit
  • main memory main memory
  • bus storage device
  • storage media such as a CD-ROM or DVD-ROM
  • Hardware components such as drives, transmission / reception ports for various communications and printing devices, other peripheral devices, driver programs and other application programs for controlling these hardware, interfaces used for information input, etc.
  • These hardware and software are used to sequentially process the programs developed on the memory with the CPU, and to save the data held on the memory and hard disk, the data input via the interface, etc. , Accumulation, output processing, or Is used to control each hardware component.
  • the present invention can be realized not only as a device but also as a method. Moreover, a part of such an invention can be configured as software. Furthermore, a software product used for causing a computer to execute such software, and a recording medium in which the product is fixed to a recording medium are naturally included in the technical scope of the present invention (the entirety of this specification is included). And so on).
  • the “conversion processing unit” (0211) has a function of performing a conversion process for high-efficiency encoding of an input image.
  • “Conversion processing for high-efficiency coding of images” means, for example, the first image conversion using the intra-image (spatial) correlation, the second image conversion using the inter-image (time) correlation, and the code.
  • An image conversion process such as a third image conversion using variable-length coding according to the appearance probability of the image.
  • a DCT conversion discrete cosine conversion
  • the high-frequency component is removed, or the coefficient of the pixel block after DCT conversion is divided by a certain divisor, and the remainder is rounded down, and the quantization is performed to express the DCT coefficient using only the quotient.
  • the conversion processing unit also performs motion image detection using a global motion vector detected by a second detection unit, which will be described later, and second image conversion processing based on inter-frame prediction using the motion vector. Is called.
  • the “inverse conversion processing unit” (0212) has a function of performing inverse conversion on the high-efficiency encoded data of the input image converted by the conversion processing unit (0211) and reproducing it as an image.
  • Inverse transformation processing includes inverse DCT transformation processing if the processing in the transformation processing unit is DCT transformation processing, and inverse quantization processing if the processing is quantization processing.
  • DCT conversion processing and quantization processing which removes high-frequency components, which are general conversion processing for high-efficiency encoding of video data, are irreversible conversion processing, the inverse DCT conversion processing in this inverse conversion processing unit, Inverse quantization processing does not accurately reproduce the input image.
  • the inverse transformation processing unit performs inverse transformation when detecting the global motion vector. Input images that have been processed (inaccurately) reproduced are not used.
  • the "first detection unit” (0213) has a function of detecting a motion vector by searching a predetermined search range in an input image in units of macroblocks of a conversion / inverse conversion processing image.
  • the “predetermined search range” refers to a search range for motion vector detection processing determined by the search range determination unit based on a global motion vector detected by a second detection unit described later.
  • the predetermined search range determination process will be described in a second detection unit and a search range determination unit described later.
  • the “transformation-inverse transform processed image” is an image reproduced by performing inverse transform processing on the encoded data of the input image transformed by the transform processing unit (0211) by the inverse transform processing unit (0212). Say no data.
  • FIG. 3 is a schematic diagram illustrating an example of an input image and a converted inverse transform image of the input image.
  • the adjacent pixels change abruptly from white to black as in the case of a chess board. It is difficult to perform efficient conversion. Therefore, if the compression efficiency is set to a high value, when the inverse conversion process is performed after the input image conversion process, as shown in Fig. (B), the outline of the board may not be accurately restored. There is.
  • the second detection unit for detecting the global motion vector is also arranged on the first chip. Therefore, the same problem of lower detection accuracy occurs in the detection of the global motion beta. was there. Therefore, in this embodiment, the following configuration is adopted so that the global motion vector can be detected by the second detection unit for determining the “predetermined search range” by directly using the input image. That is, it is characterized in that it is arranged on a second chip provided separately from the first chip on which the conversion processing unit, the inverse conversion processing unit, and the first detection unit are arranged.
  • the “second detection unit” (0221) has a function of detecting a global motion vector between input images in units of global macroblocks.
  • “Global macroblock” means a block larger than the macroblock that is the unit of motion vector detection in the first detection unit. The size may be appropriately set by design.
  • the global motion vector force detected in units of the global macroblock is used to determine a search range for detecting motion vector in the first detection unit.
  • FIG. 4 is a conceptual diagram for explaining an example of the global motion vector detection process.
  • the first detection unit described above searches for where the macroblock string of frame (input image) 2 is moving in frame 1, in the second detection unit.
  • the global motion vector detection process will be described.
  • the identification information “frame 2” of the input image whose motion vector is detected by the first detection unit, the coordinate information of the macroblock, and the reference input image for the motion destination search Identification information “frame 1” is transmitted from the first chip to the second chip.
  • the global macroblock including the macroblock in frame 2 is first identified as shown in FIG. Then, the movement destination in frame 1 of the global macroblock is searched.
  • ⁇ ′ of the entire image of frame 1 is set as the search range, and the correlation coefficient between block ⁇ ′1 of the same size as the global macroblock in the range and the global macroblock is obtained. Specifically, for example, the sum of the absolute values of the differences between the corresponding pixels of the pixels constituting ⁇ and the pixels constituting ⁇ ′ 1 is obtained. In other words, it can be said that the smaller the correlation coefficient, the more similar the pixels constituting the image.
  • the search range j3 ′ is moved by a predetermined pixel unit such as “cT and ⁇ ′2”, “cT and ⁇ ′3”, “ ⁇ ′ and ⁇ ′ ⁇ ”, etc. A correlation coefficient is calculated.
  • the block having the smallest correlation coefficient is identified as the destination ⁇ 'in frame 1 of the global macroblock.
  • the reference input image blocks ⁇ '1, y' 2, ... for calculating this correlation coefficient are blocks within the search range that have the same size as the global macroblock. It is a block obtained by moving in pixel units.
  • the global motion vector is detected from the movement direction and the movement amount of the global macroblock H 'to the movement destination ⁇ '.
  • the predetermined pixel unit means 1 pixel'half pixel ⁇ 1 ⁇ 4 pixels, or 2 ⁇ 4 pixels, etc., and the value should be defined according to the amount of calculation required in the system specifications and the accuracy of detection of the betatono.
  • the detection process that calculates the correlation coefficient of all the blocks in the search range as described above is an example.
  • the correlation coefficients of any three blocks are obtained, and the destination is determined from the magnitude relationship.
  • Global motion vectors may be detected by a process called log search that narrows down blocks.
  • the input image for detecting the global vector may be an image obtained by reducing the original image.
  • the reduction ratio is the processing required in the system specifications. Amount 'memory capacity-set appropriately according to image size, etc.
  • a feature of the present embodiment is that the frame “1” that is a reference destination for obtaining the correlation coefficient is not an image that has been inversely transformed after transformation by DCT or quantization. Therefore, it is possible to perform a comparison with an accurate input image, and thus to detect an accurate global motion vector.
  • the "search range determination unit" (0222) has a function of determining the search range of the search performed by the first detection unit using the global motion vector detected by the second detection unit (0221). Yes.
  • the search range is determined by, for example, a method of determining a predetermined range centered on the destination indicated by the detected global motion vector as the search range, or the destination of the global macroblock detected by the second detection unit.
  • the search range may be determined by determining the block itself, or a block obtained by widening the block by a predetermined magnification.
  • the search range determination unit may be provided in the first chip instead of the second chip. This is because if the second detection unit is provided on a chip separate from the first chip, it is possible to detect a more accurate global motion vector than in the past.
  • FIG. 5 shows an image encoding device of the present embodiment. It is the schematic showing an example of the hardware constitutions in. The operation of each hardware component in the global motion beta detection process will be explained using this figure.
  • the image encoding device of the present embodiment is a “first conversion chip” having the functions of a first detection unit, a conversion processing unit, and an inverse conversion processing unit.
  • a “second conversion chip” (0502) having the functions of a second detection unit and a search range determination unit, each having an “operator” and a “main memory”, are individually arranged. It is characterized by that.
  • image input means (0 503) for inputting an image to be subjected to high-efficiency encoding
  • video memory (0504) for storing the input image
  • an image encoded by the conversion chip as a storage device
  • output means (0505) for outputting to the above. They are connected to each other via a data communication path such as a bus to transmit / receive information and process information.
  • the "video memory” may be shared by the first conversion chip and the second conversion chip, or each may have a video memory separately (the drawing shows a common video memory).
  • each “main memory” in the first and second conversion chips provides a work area that is a work area of a program executed by the arithmetic unit and a data area that stores data to be processed by the program. To do. A plurality of memory addresses are assigned to the “video memory” and “main memory”, and the program executed by the “calculator” exchanges data with each other by specifying and accessing the memory addresses. It is possible to perform processing.
  • an image to be subjected to high-efficiency encoding is input from the “image input unit”.
  • the input images here are various, such as moving image data that is encoded with analog broadcast waves received by a TV tuner without compression, or uncompressed encoded moving image data that is shot with a digital video camera. good.
  • an encoded moving image obtained by developing moving image data encoded with high efficiency may be used.
  • the images that make up the moving image input are input to a predetermined memory address of the video memory via the system bus, for example, input image 1 (first frame of moving image data) to memory address A, and input to memory address B.
  • Image 2 moving image The second frame of the data
  • a global motion vector detection program of the second conversion chip is executed by the computing unit 2, and a global motion vector for the input image 1 of each global macroblock of the input image 2 is detected.
  • the coordinate information of the global macro block to be detected as a global motion vector is sequentially specified based on, for example, information indicating the pixel size of the preset global macro block, and the memory address of the main memory 2 is specified. stored in d. Then, in order to calculate the above-described correlation coefficient, pixel information of the global macro block is acquired.
  • the operation unit 2 sends out and executes a command indicating that the pixel information in the global macro block of the image “2” is stored in the main memory 2 in association with the respective pixel identification information.
  • the coordinate information of the block of the input image “1” ( ⁇ ′ 1, ⁇ ′ 2,..., ⁇ ′ ⁇ in the above example) is specified, and the pixel information based on the specification is specified. Acquisition and storage in main memory 2 are also performed. Subsequently, based on the pixel identification information, the difference value between the corresponding pixels of “cT and ⁇ ′ 1” is calculated, the sum of the absolute values is calculated, and the calculation result (correlation coefficient) is calculated as the calculation target.
  • the program instruction ⁇ Store to the memory address e of the main memory 2 in association with the identification information of the block of the input image ⁇ 1 '', the calculation in the computing unit and the calculation result are stored in the memory address e. Executed.
  • the program instruction “Comparison of the operation results (correlation coefficients) stored in the memory addresses e, f, g, ⁇ ⁇ of the main memory 2, respectively, is According to “Specify the number of relations”, the magnitude comparison by the arithmetic processing of the arithmetic unit 2 is executed, and the correlation coefficient that takes the minimum is specified. Then, the command used to obtain the identification information of the block having the specified correlation coefficient and store it at the memory address 10 of the main memory S is the identification of the block associated with the correlation coefficient. Information power Acquired as identification information “ ⁇ ” indicating the movement destination block in frame 1 of the global macro block “hi”, and the memory address of main memory 2 10 is stored.
  • a motion vector detection process is performed on the macroblock using the global motion vector created and stored in a memory or the like as a table.
  • the first image conversion that is, the DCT conversion processing or quantization processing of the input image 1 is performed by the arithmetic processing of the arithmetic unit 1 of the first conversion chip.
  • DCT conversion processing, quantization processing, and the like of input image 2 are performed.
  • the identification information and coordinate information transmitted in this way are stored in memory addresses b and c of the main memory, and the global motion vector table search process is executed by the CPU using the information as a key.
  • the global motion vector is read from the global motion vector table to frame 1 in the global macro block “hi,” of frame 2, and a predetermined search range is calculated based on the global motion vector. Processing is performed. Information indicating the calculated predetermined search range is transmitted to the first conversion chip via a bus or the like.
  • the motion vector of the macroblock “hi” is detected, and the input image is encoded with high efficiency based on the detected motion vector. , And so on.
  • the arithmetic unit 1 and the arithmetic unit 2 of each chip are physically separate arithmetic units, the information flow order is prevented so that the information processed by each does not conflict on the information transmission / reception path such as a bus. Is a controller etc. It is good to have a structure that can be controlled.
  • FIG. 6 is a flowchart showing an example of the process flow in the second chip of the image coding apparatus of the present embodiment.
  • the following steps may be processing steps that constitute a program for controlling a computer recorded on a medium.
  • the second chip detects a global motion vector in each global macroblock of the input image before conversion processing, and creates a global motion vector table (step S0601).
  • the second chip obtains information for specifying the input image to be detected in the motion vector detection process in the first chip, the input image to be referred to, and the coordinates of the macroblock (step). S0602).
  • the second chip refers to the global motion vector table based on the acquired specific information, and acquires a global motion vector of a global macroblock including a macroblock that is a motion vector detection target (step Step S0603), a search range for motion vector detection at the first chip is determined based on the global motion vector (step S0604). Then, in the first chip, a motion vector in the macro block to be detected is detected within the determined search range (step S0605).
  • the input is irreversibly compressed and inversely converted.
  • the input image can be directly referenced and used in the image. Therefore, erroneous detection of the global motion vector due to the reproduction error of the reference destination image can be eliminated, and the global motion vector can be detected more accurately than in the past.
  • Embodiment 2> Overview of Embodiment 2> For a moving image with a small amount of motion between images, for example, a new studio image, the amount of computation is suppressed without using a global motion vector. There is a high possibility of being able to. Therefore, the image coding apparatus according to the present embodiment further has a function of determining whether to use a global motion vector according to such a situation, based on the first embodiment. In this way, encoding the input image using the motion vector without using the global motion vector by the determination process places the second detection unit outside the image encoding chip using the motion vector. Can be easily it can.
  • FIG. 7 is a diagram illustrating an example of functional blocks in the image encoding device of the present embodiment.
  • the “image coding apparatus” (0700) of the present embodiment is based on the first embodiment and includes “first chip” (0710) and “second chip” (0720). It is arranged separately.
  • the first chip includes a “conversion processing unit” (0711), an “inverse conversion processing unit” (0712), and a “first detection unit” (0713).
  • the second chip has a “second detection unit” (0721) and a “search range determination unit” (0722), and can perform processing independently of each other. Since these functional blocks have already been described in the first embodiment, description thereof will be omitted.
  • a feature point of the image coding apparatus according to the present embodiment is that it further includes a “global motion vector use determination unit” (0730).
  • the “global motion vector use determination unit” has a function of determining whether or not to use the global motion vector. This determination includes, for example, a determination according to the content of the moving image such as a news program or a sports program as described above, and a determination according to the image size of the moving image described in the third embodiment.
  • the information used as the judgment criteria includes, for example, information such as video contents input by the user via an interface, and program information that can be obtained from an electronic program guide if a broadcast program is recorded.
  • a configuration may be adopted in which it is determined that the global motion vector is not used for the entire image.
  • the global motion vector use determination unit is configured by a user input or information acquisition interface and a CPU, and information acquired from the interface (for example, moving image content). Depending on the genre ’s identifying information)
  • the CPU central processing unit decides whether or not to use the global motion vector, it is good.
  • “not using a global motion vector” may mean, for example, that the second detection unit does not detect the global motion beta, or the detection by the second detection unit. Is executed, but the detected global motion vector is It may be not sent to the surrounding determination unit.
  • transmission to the search range determination unit may be performed, but the search range determination processing there may not be performed, and a certain search range may be used for motion vector detection. It may not be sent to the first detection unit. In such a case, the search range in the first detection unit may be the entire input image, or a predetermined search range set in advance may be used.
  • FIG. 8 is a flowchart showing an example of a processing flow in the image coding apparatus of the present embodiment.
  • the steps shown below may be processing steps that constitute a program for controlling a computer recorded on a medium.
  • a determination is made as to whether or not to perform the global motion betatoning detection process (step S0801).
  • the information used as the basis for the judgment is various as described above, such as Giannole information and motion vector information at the center.
  • the acquisition may be various, such as input acquisition via an interface or automatic acquisition from an electronic program guide.
  • step S0802 the global motion betatoning detection process in the second chip and the search range based on it are detected.
  • Decision processing is performed (step S0803).
  • a search is performed to detect a motion vector (step S0805).
  • the motion vector detection process of the macro block is executed in the first chip (step S0804).
  • FIG. 9 is a schematic diagram for explaining an example of determination according to the image size of the moving image.
  • a moving image (a) having a moving image size of “320 X 240” and a moving image (b) having an image size of “1920 X 1080” are bowed. If the upper body is tilted, the moving amount of the upper body in the pixel unit shown by the broken line is much larger in the moving image (b) even if the movement is the same.
  • the search is in half-pixel or 1Z4 pixel units, so the difference in search amount becomes even larger.
  • the motion vector search range varies depending on the image size.
  • FIG. 10 is a diagram illustrating an example of functional blocks in the image encoding device of the present embodiment.
  • the “image coding apparatus” (1000) of the present embodiment is based on the second embodiment and includes “first chip” (1010) and “second chip” (1020). They are arranged separately, and also have a “global motion vector use determination unit” (1030).
  • the first chip includes a “conversion processing unit” (101 1), an “inverse conversion processing unit” (1012), and a “first detection unit” (1013).
  • the second chip has a “second detection unit” (1021) and a “search range determination unit” (1022), and can perform processing independently of each other.
  • the feature point of the image coding apparatus of the present embodiment further includes an “image size acquisition unit” (1040), and the global motion vector use determination unit has “image size dependency determination unit” (1050), It is the point which has.
  • the “image size acquisition unit” (1040) has a function of acquiring the image size of the input image.
  • the acquisition of this image size is, for example, file information at the time of moving image acquisition. It is good to get power.
  • the “image size” may be, for example, the number of pixels constituting the input image, or may be the data amount when the data amount for each pixel is determined.
  • the "image size dependency determining means" (1050) has a function of determining whether to use a global motion vector based on the image size acquired by the image size acquisition unit (1040). .
  • the threshold value of the vertical screen size of the moving image “a threshold value of the horizontal screen size of the moving image” is set in advance, and the image size acquired by the image size acquisition unit by the calculator is set. And a method of making a judgment by comparing the size with a preset threshold value.
  • FIG. 11 is a schematic diagram showing an example of the hardware configuration of the image encoding device of the present embodiment. The operation of each hardware component in the global motion vector usage determination process depending on the image size will be described using this figure.
  • the image coding apparatus according to the present embodiment like the first embodiment, has a “first conversion chip” (0501) having functions of a first detection unit, a conversion processing unit, and an inverse conversion processing unit. ), And a “second conversion chip” (0502) having functions of a second detection unit and a search range determination unit, each having a “calculator” and a “main memory”, and are individually arranged.
  • each "main memory” provides a work area that is a work area of a program executed by the computing unit, and a data area that stores data to be processed by the program.
  • a plurality of memory addresses are assigned to the “video memory” and “main memory”, and programs executed by the “calculator” exchange data with each other by specifying and accessing the memory addresses.
  • the processing can be performed.
  • an image to be encoded is input from the “image input means”. Then, simultaneously with the acquisition of the input image, the image data size “720 ⁇ 480 (pixels)” of the moving image included in the file information of the moving image data is also acquired.
  • an image size dependency determination program is executed, and the image data size information “720 ⁇ 480” force S is stored in the memory address b of the main memory 3 according to the instruction.
  • information such as “horizontal size 640” and “vertical size 480” stored in advance is also stored in the memory address a of the main memory 3.
  • the magnitude comparison result indicates that the image data size is larger than the threshold value, send a command for executing the global motion vector detection process in the second chip.
  • the magnitude comparison result If the result indicates that the image data size is smaller than the threshold value, send a command not to execute the global motion vector detection process in the second chip.
  • the command sending process is performed according to the judgment result.
  • FIG. 12 is a flowchart showing an example of the process flow in the image encoding apparatus of the present embodiment. Note that the steps shown below may be processing steps that constitute a program for controlling a computer recorded on a medium.
  • the image size of the input image is acquired (step S1201). Subsequently, it is determined whether or not the acquired image size is equal to or larger than a predetermined size (threshold value) set in advance (step S 1202).
  • a global motion vector detection process is performed (step S 1203), and a search range is determined based on the detection process (step S 1204). A search is performed based on the determined search range, and a motion vector is detected (step S 1205).
  • the image encoding apparatus of the present embodiment may further include a “global macroblock size determining unit”.
  • the “global macroblock size determination unit” has a function of determining the size of the global macroblock based on the image size acquired by the image size acquisition unit. For example, if the image size is 320 x 240 pixels, the global macroblock size is 32 x 24 pixels, and if the image size is 1920 x 1080 pixels, the global macroblock size is 96 x 72 pixels.
  • a method of determining by using a correspondence table such as primordial
  • a method of calculating and determining the size of a global macroblock by using a predetermined function f (x) in which the image size is a variable X can be mentioned.
  • the image encoding device of the present embodiment can further save unnecessary calculation processing, The processing load can be reduced.
  • the reduction ratio is determined by the value calculated by the “global macroblock size determination unit”.
  • FIG. 13 is a conceptual diagram showing an example of a detected global motion vector holding table held by a conventional image coding apparatus.
  • the number of vector data is the number of input images (or the number of frame images that can be referenced by one frame image) X the number of global macroblocks as shown in the table.
  • the global motion vector between any two (non-adjacent) frames is artificially calculated by, for example, accumulating a plurality of adjacent global motion vectors.
  • the number of global motion vectors to be retained can be reduced.
  • FIG. 14 is a conceptual diagram for explaining an example of a global motion vector calculation process between two non-adjacent frames in the image coding apparatus according to the present embodiment.
  • the global motion vector between frames 5 of the global macro block of frame # 5 indicated by diagonal lines is calculated as follows. That is, global motion vector D between frames # 4 and # 5, global motion vector C between frames # 3 and # 4, and global motion vector A between frames # 1 _ # 2 and Is calculated by cumulative calculation.
  • the amount of held data can be reduced.
  • the movement destination in the next frame of the global macroblock is rarely the same as that of the global macroblock.
  • the four global It is better to estimate the global motion vector from the global motion vector value in the macroblock by bilinear interpolation.
  • FIG. 15 is a diagram illustrating an example of functional blocks in the image coding apparatus according to the present embodiment.
  • the “image coding apparatus” (1500) of the present embodiment is based on the first embodiment, and includes “first chip” (1510) and “second chip” (1520). It is arranged separately.
  • the first chip includes a “conversion processing unit” (1511), an “inverse conversion processing unit” (1512), and a “first detection unit” (1513).
  • the second chip has a “second detection unit” (1521) and a “search range determination unit” (1522), and can perform processing independently of each other.
  • the feature points of the image coding apparatus are the “frame specific information acquisition unit” (1530), “adjacent global motion vector holding unit” (1540), and “detected inter-frame global motion vector calculation unit” (1550). ) And.
  • the “frame specifying information acquisition unit” has a function of acquiring frame specifying information.
  • “Frame identification information” is information for identifying a frame to be encoded using a motion vector and a frame to be referred to in order to generate a motion vector.
  • the identification information of the target frame of the code and the reference frame of the motion vector can be cited.
  • the image encoding apparatus of the present embodiment calculates the global motion vector between frames specified by the frame specifying information acquired here by the action of two functional blocks described below. become.
  • the “neighboring global motion vector holding unit” has a function of holding the neighboring global motion vector.
  • the “adjacent global motion vector” refers to a global motion vector value between adjacent frames detected by the second detection unit (1521).
  • This adjacent global motion vector holding unit for example, as shown in the global motion vector table data shown in FIG. 14, “the global motion vector between frames # 1 # 2 of global macroblock 2 is A ”,“ Global motion vector between frames # 2— # 3 of global macroblock 2 is B ”, and so on, the global motion betaton data between adjacent frames for each global macroblock is retained. It ’s good.
  • the amount of stored data can be reduced as compared with the case of storing all global motion vectors between arbitrary frames. .
  • the non-adjacent global motion vector calculation unit in the next “inter-detection frame global motion vector calculation unit” calculates the non-adjacent global motion vector.
  • a feature of this embodiment is that a global motion vector between adjacent frames is estimated and detected.
  • the "detected inter-frame global motion vector calculation unit” holds the global motion vector between two frames specified by the frame specifying information in the adjacent global motion vector holding unit (1540). Based on multiple adjacent global motion vectors Has a function to calculate. “Calculation based on multiple neighboring global motion vectors” means, for example, cumulative computation of neighboring global motion vectors or linear interpolation using neighboring global motion vectors (estimated) neighboring global motion vectors. The cumulative calculation of For example, the movement destination in frame # 4 (which is an adjacent frame) of global macroblock 6 in frame # 5 shown in Fig. 14 completely matches the global macroblock 5 in frame # 4.
  • the global motion vector of frame # 5— # 3 is simply the addition of the adjacent global motion vectors D and C It is possible to calculate S by doing this. However, such cases are usually rare. Therefore, in this embodiment, the motion destination of the global macroblock 6 in frame # 5 is estimated by, for example, bilinear interpolation of the global motion vector of the global macroblock in the vicinity of the motion destination. Cumulative global motion vector.
  • the motion destination in the adjacent frame # 4 of the global macroblock 6 in frame # 5 can be calculated by CPU calculation using the global motion vector D stored in the memory. Is possible. Then, using the calculated motion position (coordinate) information in frame # 4, for example, four global macroblocks “1” “2” “5” “6”, etc. A global macroblock is selected by CPU processing. Then, for example, each weighting factor is calculated by a CPU calculation process from the distance ratio between the center coordinates of each global macroblock and the center coordinates of the movement destination.
  • the motion of frame # 4 estimated by linear interpolation is calculated by accumulating the components of global motion vectors in each global macroblock, multiplied by the respective weighting factors, and calculating the average by CPU calculation. That is, the global motion vector can be calculated.
  • the global motion vector between non-adjacent frames can be calculated by accumulating the estimated global motion vector between adjacent frames.
  • the image coding apparatus makes it possible to calculate the global motion vector between non-adjacent frames by holding only the data table with a reduced amount of information as shown in FIG.
  • FIG. 16 shows an image encoding apparatus of this embodiment. It is a flowchart showing an example of the flow of processing. Note that the steps shown below may be processing steps that constitute a program for controlling a computer recorded on a medium.
  • the motion beta detection processing and the adjacent global motion vector detection processing in the first chip and the second chip are the same as the processing described in the first embodiment, and thus are omitted.
  • recording is performed in order to hold the adjacent global motion vector (step S1601).
  • frame specifying information is acquired (step sl 602).
  • step S 1603 the global motion vector between the two frames specified by the frame specifying information acquired in step S 1602 is, for example, Calculation is performed by estimation or accumulation using linear interpolation (step S1603).
  • the image encoding device of Embodiment 4 may have the following configuration in addition to the above configuration. That is, the image coding apparatus estimates a global motion vector between non-adjacent frames by performing a cumulative operation using the global motion vector between adjacent frames. However, conversely, only the global motion vector between non-adjacent frames is retained, and linear interpolation is performed using the non-adjacent global motion vector, the adjacent global motion vector, or An image coding apparatus having a function of estimating and calculating a global motion vector between non-adjacent frames having different temporal widths from the non-adjacent frames.
  • the image coding apparatus includes a “non-adjacent global motion vector holding unit” instead of the “adjacent global motion vector holding unit” in the fourth embodiment.
  • a “non-adjacent global motion vector holding unit” instead of the “adjacent global motion vector holding unit” in the fourth embodiment.
  • FIG. 1 is a schematic diagram showing an example of an apparatus on which the image encoding apparatus according to the first embodiment is mounted.
  • FIG. 2 is a diagram illustrating an example of functional blocks in the image encoding device according to the first embodiment.
  • FIG. 3 is a schematic diagram showing an example of an input image processed by the image encoding device, and a conversion process of the input image and a reverse conversion processed image.
  • FIG. 4 is a conceptual diagram for explaining an example of global motion vector detection processing in the second detection unit of the image encoding device according to the first embodiment.
  • FIG. 5 is a schematic diagram illustrating an example of a hardware configuration in the image coding apparatus according to the first embodiment.
  • FIG. 6 is a flowchart illustrating an example of a process flow in the image coding apparatus according to the first embodiment.
  • 2 is a diagram illustrating an example of functional blocks in the image encoding device 2
  • FIG. 8 is a flowchart showing an example of the flow of processing in the image coding apparatus according to the second embodiment.
  • FIG. 9 illustrates an example of switching according to the image size of a moving image in the image coding apparatus according to the third embodiment. Schematic to do
  • FIG. 10 is a diagram illustrating an example of functional blocks in the image encoding device according to the third embodiment.
  • FIG. 11 is a schematic diagram illustrating an example of a hardware configuration in the image encoding device of the third embodiment.
  • FIG. 12 is a flowchart illustrating an example of a processing flow in the image encoding device of the third embodiment.
  • Conceptual diagram showing an example of a table for holding the detected global motion belt held by the image coding device
  • FIG. 14 is a conceptual diagram for explaining an example of a global motion vector calculation process between two non-adjacent frames in the image coding apparatus according to the fourth embodiment.
  • FIG. 15 is a diagram illustrating an example of functional blocks in the image encoding device according to the fourth embodiment.
  • FIG. 16 is a flowchart illustrating an example of a processing flow in the image encoding device according to the fourth embodiment.
  • FIG. 17 is a diagram for explaining an example of motion vector detection in units of macro blocks using a conventional global motion vector.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

明 細 書
画像符号化装置および画像符号化方法
技術分野
[0001] 本発明は、動きベクトルを用いて入力画像を符号化する際に、グローバル動きべク トルを利用する画像符号ィ匕装置の技術に関する。
背景技術
[0002] 従来、動画像の高効率符号ィ匕に際しては、主に以下の 3つの画像変換を用いて動 画像情報量を圧縮し符号化が行われている。すなわち画像内(空間)相関を利用し た第一の画像変換、画像間(時間)相関を利用した第二の画像変換、そして符号の 出現確率に応じた可変長符号化を利用した第三の画像変換である。その中で、時間 相関を利用した第二の画像変換では、時間的に異なるフレーム(入力画像)間にお ける画像の移動方向と移動量をマクロブロック単位で「動きベクトル」として検出し、そ のマクロブロックの画素情報と動きベクトルの情報とによってフレームを表現すること で動画像情報量を削減することができる。
[0003] し力、し、この「動きベクトル」の検出処理にぉレ、て、マクロブロックの移動先(または移 動元)となる別のフレーム内のブロックを探索しょうとすると、例えばスポーツ映像など 動き量の多い動画像ではその探索範囲を広く取る必要があり、従って、その演算量も 膨大となる可能性があった。そこで、特許文献 1では、現フレームの縮小画像を利用 して、最初に画像全体でのグローバルな動きベクトルを検出し、そのグローバル動き ベクトルを利用してマクロブロックの移動先サーチ(探索)範囲を絞り込んだうえで動 きべクトノレを検出する、という技術が開示されている。
[0004] 図 17に示すのは、このグローバル動きベクトルを利用した、マクロブロック単位の動 きべクトノレ検出の別の一例を説明するための図である。この図(a)にあるように、まず は動きベクトルを検出したいマクロブロック αを含むさらに大きな(グローノくル)マクロ ブロック α Ίこおけるグローバル動きベクトル(1701)を、通常の動きベクトル検出と同 様の処理にて検出する。すると、このグローバル動きべタトノレで示されるグローバルマ クロブロック の移動先を含む所定の範囲内にマクロブロック ^の移動があると考え ること力 Sできる。したがって、図(b)で示す範囲 βをマクロブロック αの動きベクトルの 探索範囲として演算することで、探索範囲を無駄に広げずにマクロブロック Ctの動き ベクトル(1702)を検出することができる、という具合である。
特許文献 1: WO00Z05899号
発明の開示
発明が解決しょうとする課題
[0005] しかし、第二の画像変換に用いられる上記グローバル動きベクトルの検出処理では 、そのグローバル動きベクトルの検出器が、第一の動画像変換技術である空間相関 を利用した画像変換器などと同一のチップ上に配置されているため、以下のような 2 つの課題がある。第一に、グローバル動きベクトルを検出する際に参照する参照先の フレームが、必ずしも正確な入力画像と一致していない可能性がある、という課題で ある。なぜならば、その参照先フレームは、空間相関を利用して、 DCT (離散コサイ ン変換)変換で得られた高周波成分を排除したり、量子化により余りを切り捨てたりし て非可逆変換され符号化されたデータを逆変換することで再現された画像であるた め、完全に元フレームと同じ画像にはなっていないことがあるからである。そのため、 そのように不正確に再現された参照フレームを参照して検出されたグローバル動きべ タトルに誤差が生じる可能性がある、とレ、うことである。
[0006] また、従来には、画像の高効率符号ィ匕に際しグローバル動きベクトルを検出する必 要の無いような場合でもグローバル動きベクトルの検出処理が行われてしまう、という 第二の課題もある。これは例えば 1920 X 1080画素のハイビジョン画像で構成され ている動画像では、その画素単位での動き量は最大で横方向に 1920、縦方向に 1 080 (半画素単位ではその 2倍の動き量)であり、その探索範囲も広く取る必要がある 。一方、 320 X 240画素で構成されている動画像では、その画素単位での動き量は 最大で横方向に 320、縦方向に 240であり、上記と同じ動きの動画像であっても、そ の画素(あるいは半画素、 1/4画素など)単位での動き量探索範囲は上記に比べて 狭くてすむ。あるいは、ニュースのスタジオ映像とスポーツ映像とではその平均的な 動き量は格段に異なる、という具合に映像種類などによってもその探索範囲に違い が生じる可能性が高い。従って、上記動画像の画像サイズやその動画内容などによ つては、グローバル動きベクトルの検出処理を行わず、通常のマクロブロック単位で の動きベクトル検出のみでもその演算量は比較的少なくて済む場合がある、というこ とである。
課題を解決するための手段
[0007] 以上の課題を解決するために、本発明は、入力画像を、動きベクトルを用いて符号 化する符号化装置において、 DCT変換後の高周波成分除去や量子化による余りの 切捨てなどや、可変長符号化を利用した画像変換器の外部にグローバル動きべタト ル検出器を備えた画像符号化装置を提供する。このような構成をとることにより、本発 明は、非可逆圧縮される前の入力画像を利用してグローバル動きベクトルを検出す ること力 Sできる。また、グローバル動きベクトル検出器が画像変換器の外部にあるため 、画像変換に際してそのグローバル動きベクトル検出器を利用するか否かの切替え も容易に行うことができる。なお「外部に備える」とはハードウェア構造が物理的に別 個である構成のほカ 同一のハードウェアがソフトウェア処理上で外部的に取り扱わ れるような構成であっても良い。
発明の効果
[0008] このように、非可逆圧縮される前の入力画像を利用してグローバル動きべクトノレを 検出することができるので、参照先画像の再現誤差を原因とするグローバル動きべク トルの誤検出を無くすことができる。また、動画像の符号化に際してそのグローバル 動きベクトル検出機構を利用するか否か、を、その状況などに応じて容易に切替える ことができるので無駄な演算処理を省くことができる。
発明を実施するための最良の形態
[0009] 以下に、図を用いて本発明の実施の形態を説明する。なお、本発明はこれら実施 の形態に何ら限定されるものではなぐその要旨を逸脱しない範囲において、種々な る態様で実施しうる。なお、実施例 1は、主に請求項 1、 5について説明する。また、実 施例 2は、主に請求項 2、 6について説明する。また、実施例 3は、主に請求項 3、 7に ついて説明する。また、実施例 4は、主に請求項 4、 8について説明する。
[0010] 《実施例 1》 く実施例 1の概要〉 図 1に示すのは、本実施例の画像符号化装置 を実装した装置の一例(ここではテレビチューナ付画像符号ィ匕ボード)を表す概略図 である。この図にあるように、本実施例の画像符号化装置は、 DCT演算や空間周波 数の高周波成分除去、量子化、可変長符号化、あるいは動きべ外ルを用いた符号 化などの演算処理を行レ、画像変換処理を行う第一変換処理チップの外部に、グロ一 バル動きベクトルを検出しサーチ範囲を決定する第二のグローバル動きベクトル検出 チップを別個に備える画像符号ィ匕ボードである。したがって、本発明の画像符号化 装置においては、グローバル動きベクトル検出チップでの検出処理に際し、第一変 換チップで非可逆圧縮され逆変換された入力画像ではなぐテレビチューナ(画像入 力器)から入力された入力デジタル画像を直接参照利用することができる。
[0011] く実施例 1の構成〉 図 2に示すのは、本実施例の画像符号化装置における機能 ブロックの一例を表す図である。この図にあるように、本実施例の「画像符号化装置」 (0200)は、動きベクトルを用いて入力画像を符号化する符号化装置であって、その ために「第一チップ」(0210)と、「第二チップ」(0220)と、が別個に配置されている。 そして、第一チップは、「変換処理部」(0211)と、「逆変換処理部」(0212)と、「第一 検出部」(0213)と、を有している。また、第二チップは「第二検出部」(0221)と、「サ ーチ範囲決定部」(0222)と、を有し相互に独立して処理を行うことを可能としている 。なお本発明は、前述のように第一チップと第二チップとが物理的に別個である構成 のほか、同一のハードウェアチップがソフトウェア処理上で別個に取り扱われるような 構成などであっても良い。
[0012] また、以下に記載する本装置の機能ブロックは、ハードウェア、ソフトウェア、又はハ 一ドウエア及びソフトウェアの両方として実現され得る。具体的には、コンピュータを利 用するものであれば、 CPUや主メモリ、バス、あるいはハードディスクや不揮発性メモ リなどの記憶装置、 CD— ROMや DVD— ROMなどの記憶メディア、それらメディア の読取ドライブ、各種通信や印刷機器用の送受信ポート、その他の周辺装置などの ハードウェア構成部や、それらハードウェアを制御するためのドライバプログラムやそ の他アプリケーションプログラム、情報入力に利用されるインターフェースなどが挙げ られる。そして、これらハードウェアやソフトウェアは、メモリ上に展開したプログラムを CPUで順次演算処理したり、メモリやハードディスク上に保持されているデータや、ィ ンターフェースを介して入力されたデータなどを力卩ェ、蓄積、出力処理したり、あるい は各ハードウェア構成部の制御を行ったりするために利用される。また、この発明は 装置として実現できるのみでなぐ方法としても実現可能である。また、このような発明 の一部をソフトウェアとして構成することができる。さらに、そのようなソフトウェアをコン ピュータに実行させるために用いるソフトウェア製品、及び同製品を記録媒体に固定 した記録媒体も、当然にこの発明の技術的な範囲に含まれる(本明細書の全体を通 じて同様である)。
[0013] 「変換処理部」 (0211)は、入力画像に対し、画像の高効率符号化のための変換処 理を行う機能を有する。 「画像の高効率符号化のための変換処理」とは、例えば上記 画像内 (空間)相関を利用した第一の画像変換、画像間(時間)相関を利用した第二 の画像変換、そして符号の出現確率に応じた可変長符号化を利用した第三の画像 変換、などによる画像の変換処理が挙げられる。そして、上記空間相関を利用した第 一の画像変換に際しては、例えば一枚の入力画像の空間周波数を直交変換するた めの DCT変換 (離散コサイン変換)処理やその DCT変換処理によって得られた画像 の高周波成分の除去処理、あるいはその DCT変換後の画素ブロックの係数をある除 数で除し、その余りを切り捨て商のみで DCT係数を表現する量子化などの処理が行 われる。また、後述する第二検出部にて検出されたグローバル動きベクトルを利用し た動きベクトルの検出や、その動きベクトルを利用したフレーム間予測による第二の 画像変換処理もこの変換処理部にて行われる。
[0014] 「逆変換処理部」 (0212)は、変換処理部(0211)にて変換処理された入力画像の 高効率符号化データを逆変換し画像として再現する機能を有する。逆変換処理とは 、変換処理部での処理が DCT変換処理であれば逆 DCT変換処理、量子化処理で あれば逆量子化処理などが挙げられる。ただし動画データの高効率符号化のための 変換処理として一般的な高周波成分除去を行う DCT変換処理や量子化処理は非 可逆変換処理であるため、この逆変換処理部での逆 DCT変換処理、逆量子化処理 では入力画像が正確には再現されないことになる。そのためグローバル動きべクトノレ を検出する際に、この逆変換され正確に再現されていない画像が用いられるとグロ一 バル動きベクトルの検出精度も落ちてしまう可能性がある。そこで、本発明では以下 に説明するように、グローバル動きベクトル検出に際してこの逆変換処理部で逆変換 処理され(不正確に)再現された入力画像は利用しない。
[0015] 「第一検出部」 (0213)は、入力画像中の所定サーチ範囲を変換 逆変換処理画 像のマクロブロック単位でサーチして動きベクトルを検出する機能を有する。 「所定サ ーチ範囲」とは、後述する第二検出部で検出されたグローバル動きベクトルに基づい てサーチ範囲決定部によって決定された、動きベクトルの検出処理のためのサーチ 範囲をいう。なお、この所定サーチ範囲の決定処理については、後述の第二検出部 およびサーチ範囲決定部において説明する。また、「変換一逆変換処理画像」とは、 変換処理部(0211)にて変換処理された入力画像の符号化データを、逆変換処理 部(0212)にて逆変換処理し再現された画像のデータを言う。
[0016] 図 3に示すのは、入力画像と、その入力画像の変換一逆変換画像と、の一例を表 す概略図である。この図にあるように、画像の空間相関を利用した変換では、図(a) に示す例えばチェスの盤目のように白から黒へと言う具合に隣接画素が急激に変化 するなどの画像で効率的な変換を行うことが困難である。したがって、圧縮効率を高 く設定していると、入力画像の変換処理後に逆変換処理した場合、図(b)に示すよう に、その盤目の輪郭部などが正確に復元されない、という可能性がある。すると時間 相関を利用した第二の画像変換処理のため動きベクトルを検出する際に、動きの参 照先としてこの正しく再現されていない入力画像が用いられると、その入力画像の再 現誤差の大きさによっては動きベクトルの検出精度も落ちてしまうことになる。そして、 従来の画像符号ィヒ装置では、グローバル動きベクトルを検出するための第二検出部 もこの第一チップに配置されているため、グローバル動きべタトノレの検出においても 同様の検出精度低下の問題があった。そこで、本実施例では、上記「所定サーチ範 囲」を決定するための第二検出部でのグローバル動きベクトルの検出を、入力画像を 直接利用して行えるように以下のような構成をとる。すなわち、上記変換処理部、逆 変換処理部、第一検出部が配された第一チップとは別個に設けられた第二チップに 配置することを特徴としてレ、る。
[0017] 「第二検出部」 (0221)は、グローバルマクロブロック単位で入力画像間でのグロ一 バル動きベクトルを検出する機能を有する。 「グローバルマクロブロック」とは、第一検 出部での動きベクトルの検出単位であるマクロブロックよりも大きなブロックをいうが、 その大きさは適宜設計により設定可能であって構わない。そして、このグローバルマ クロブロック単位で検出されたグローバル動きベクトル力 前述の第一検出部での動 きべクトノレ検出のためのサーチ範囲を決定するために利用されることになる。
図 4に示すのは、グローバル動きベクトルの検出処理の一例について説明するため の概念図である。ここで、図にあるように、例えばフレーム(入力画像) 2のマクロブロッ クひがフレーム 1ではどこに移動しているかを前述の第一検出部で探索するための、 この第二検出部でのグローバル動きベクトルの検出処理について説明する。そのた めに、まず、第一検出部にて動きベクトルを検出する入力画像の識別情報「フレーム 2」と、そのマクロブロックひの座標情報、およびその動き先探索のための参照用入力 画像の識別情報「フレーム 1」が第一チップから第二チップへと送信される。第二チッ プでは、受信したそれら識別情報や座標情報などに基づき、この図(a)にあるように、 まずフレーム 2におけるマクロブロックひを含むグローバルマクロブロックであるひ'を 特定する。そしてそのグローバルマクロブロック のフレーム 1での動き先を探索す る。そこでサーチ範囲としてフレーム 1の画像全体の β 'をサーチ範囲とし、その範囲 内にあるグローバルマクロブロックと同サイズのブロック γ ' 1とグローバルマクロブロッ ク との相関係数を求める。具体的には、例えば を構成する画素と γ ' 1を構成 する画素の、対応画素間での差分の絶対値の総和を求める。つまりこの相関係数が 小さいほど と の画像を構成する画素が類似していると言える。そして、「cTと γ ' 2」、「cTと γ ' 3」、 「 α 'と γ 'Χ」という具合に探索範囲 j3 '内を所定の画素 単位で動かしながらサーチし、それぞれのブロックとの相関係数を算出する。そして その中力も最も小さい相関係数をとるブロックを、グローバルマクロブロック のフレ ーム 1における移動先 γ 'と特定する。なお、この相関係数を算出するための参照先 の入力画像のブロック γ ' 1、 y ' 2, · · ·は、グローバルマクロブロックと同一のサイズ を持つブロックを、その探索範囲内で所定の画素単位で移動させることで得られるブ ロックである。そして、グローバルマクロブロックひ'の移動先 γ 'への移動方向と移動 量からグローバル動きベクトルが検出される、という具合である。ここで、所定の画素 単位とは 1画素'半画素 · 1Ζ4画素、あるいは 2画素 ·4画素などを示し、システム仕様 上要求される演算量とベタトノレの検出精度に従って値が規定されると良い。もちろん 上記のように探索範囲内のブロック全ての相関係数を演算する検出処理は一例であ り、演算負荷を下げるため任意の 3つのブロックの相関係数を求め、その大小関係か ら移動先のブロックを絞り込んでいぐいわゆるログサーチと呼ばれる処理などでグロ 一バル動きベクトルを検出しても構わなレ、。また、グローバルベクトルを検出する入力 画像としては符号ィ匕の対象となる原画像のほかに、原画像を縮小した画像であって も良ぐその縮小比率はシステム仕様上で要求される演算の処理量'メモリ容量-画 像サイズなどに従って適宜設定される。
[0019] そして本実施例の特徴は、この相関係数を求めるための参照先となるフレーム「1」 が、 DCTや量子化などによる変換後に逆変換された画像ではない点である。そのた め正確な入力画像での比較を行うことができ、ひいては正確なグローバル動きべタト ルを検出することができることになる。
[0020] 「サーチ範囲決定部」 (0222)は、第二検出部(0221)で検出されたグローバル動 きべクトノレを利用して、第一検出部で行うサーチのサーチ範囲を決定する機能を有 する。このサーチ範囲の決定は、例えば検出されたグローバル動きベクトルで示され る移動先を中心とする所定の範囲をサーチ範囲と決定する方法や、第二検出部で 検出されたグローバルマクロブロックの移動先とされるブロックそのもの、あるいはそ のブロックを所定倍率分広くしたブロックをサーチ範囲と決定する方法などが挙げら れる。
[0021] そして、このようにして従来技術と比較してより正確なグローバル動きベクトルに基 づいて決定されたサーチ範囲を示す情報が第一検出部に送信され、第一検出部で はその受信したサーチ範囲内でマクロブロック単位の動きべタトノレの検出を行うことが できる。したがって、第一検出部での動きベクトル検出処理において、そのマクロブロ ックの移動先探索範囲を限定することができるので、装置全体での処理負荷を抑え ること力 Sできる。なお、このサーチ範囲決定部は、第二チップではなく第一チップに備 えられていても構わない。第二検出部さえ第一チップとは別個のチップに備えられて いれば、従来と比べて正確なグローバル動きベクトルを検出することが可能だからで ある。
[0022] く実施例 1のハードウェア構成例〉 図 5に示すのは、本実施例の画像符号化装置 におけるハードウェア構成の一例を表す概略図である。この図を利用してグローバル 動きべタトノレの検出処理におけるそれぞれのハードウェア構成部の働きについて説 明する。なお、ここでは例として、常に 1フレーム前の画像を参照フレームとし、またグ ローバルベクトルを検出する画像は、符号ィヒ対象の入力画像のままで縮小など処理 を行わなレ、ものとして説明する。この図にあるように、本実施例の画像符号化装置は 、第一検出部、変換処理部、および逆変換処理部の機能を備える「第一変換チップ」
(0501)と、第二検出部、およびサーチ範囲決定部の機能を備える「第二変換チップ 」(0502)とが、「演算器」と「主メモリ」とをそれぞれ備え、個別に配置されている点を 特徴としている。また高効率符号化の対象となる画像を入力する「画像入力手段」 (0 503)や、その入力画像を格納する「ビデオメモリ」(0504)、変換チップによって符号 ィ匕された画像を記憶装置などに出力する「出力手段」(0505)も備えている。そしてそ れらがバスなどのデータ通信経路によって相互に接続され、情報の送受信や処理を 行う。
[0023] また、「ビデオメモリ」は、第一変換チップと第二変換チップとで共用されても良いし 、それぞれが別個にビデオメモリを有していても良い(図面は共用のビデオメモリを記 載)。また第一および第二変換チップ内のそれぞれの「主メモリ」は、演算器で実行す るプログラムの作業領域であるワーク領域と、そのプログラムによって処理するための データを格納するデータ領域とを提供する。そして、この「ビデオメモリ」や「主メモリ」 には複数のメモリアドレスが割り当てられており、「演算器」で実行されるプログラムは 、そのメモリアドレスを特定しアクセスすることで相互にデータのやりとりを行い、処理 を行うことが可能になっている。
[0024] ここで、「画像入力手段」から高効率符号化の対象となる画像が入力される。ここで の入力画像は、例えばテレビチューナにて受信したアナログ放送波を無圧縮で符号 化した動画像データや、デジタルビデオカメラで撮影した無圧縮の符号化動画像デ ータなどさまざまであって良い。あるいは高効率符号化された動画像データを展開し た符号化動画像であっても良い。そして、ここで入力された動画を構成する画像がシ ステムバスを介しビデオメモリの所定のメモリアドレスに、例えばメモリアドレス Aに入 力画像 1 (動画像データの最初のフレーム)、メモリアドレス Bに入力画像 2 (動画像デ ータの 2番目のフレーム)、 · · ·とレ、う具合に格納される。
[0025] そして、まず、第二変換チップのグローバル動きベクトル検出プログラムが演算器 2 により実行され、入力画像 2の各グローバルマクロブロックの入力画像 1に対するグロ 一バル動きベクトルが検出される。そのために、例えば予め設定されたグローバルマ クロブロックの画素サイズを示す情報などに基づいてグローバル動きベクトルの検出 対象となるグローバルマクロブロックひ 'の座標情報が順次特定され、主メモリ 2のメモ リアドレス dに格納される。そして、前述の相関係数を算出するため、グローバルマク ロブロックの画素情報の取得が行われる。具体的には、メモリアドレス aに格納された 入力画像の識別情報「2」と、メモリアドレス dに格納されたグローバルマクロブロックの 座標情報と、に基づいて、「ビデオメモリに格納されている入力画像「2」のグローバル マクロブロックひ '内の画素情報を、それぞれの画素識別情報と関連付けて主メモリ 2 に格納せよ」とレ、う具合の命令が演算器 2より送出され実行される。
[0026] また、同様に入力画像「1」のブロック(前述の例では γ ' 1、 γ ' 2、 · · · · γ 'Χ)の座 標情報の特定、およびその特定に基づく画素情報の取得、及び主メモリ 2への格納 も行われる。続いて、「画素識別情報に基づいて「cTと γ ' 1」の対応する画素の差 分値をとり、その絶対値の総和を演算し、その演算結果 (相関係数)を、演算対象と なる入力画像「1」のブロックの識別情報と関連付けて主メモリ 2のメモリアドレス eに格 納せよ」とのプログラム命令に従い、演算器での演算、および演算結果のメモリアドレ ス eへの格納が実行される。また、同様の演算処理が「 と γ ' 2」、「 α 'と γ ' 3」、 · · •「 と γ 'Χ」に関しても実行され、その演算結果が主メモリのメモリアドレス f、 g、 · · · xに格納される。
[0027] つづいてプログラムの命令、「主メモリ 2のメモリアドレス e, f, g、 · ' ·χにそれぞれ格 納されている演算結果 (相関係数)の大小比較を行い、最小となる相関係数を特定 せよ」、にしたがい、演算器 2の演算処理による大小比較が実行されその最小を取る 相関係数が特定される。そして、「特定された相関係数をとるブロックの識別情報を取 得し、主メモリのメモリアドレス 10に格納せよ」との命令にした力 Sい、その相関係数と 関連付けられたブロックの識別情報力 グローバルマクロブロック「ひ '」の、フレーム 1 における動き先ブロックを示す識別情報「 γ」として取得され、主メモリ 2のメモリアドレ ス 10に格納される。そして「グローバルマクロブロックと動き先として特定されたブロッ クの中心座標の情報力 グローバル動きベクトルを算出し主メモリ 2のメモリアドレス 1 1に格納せよ」といった命令に従レ、、それぞれの中心点の座標情報から演算器 2の演 算によりグローバル動きベクトルが算出され、主メモリ 2のメモリアドレス 11に格納され る。そして、この操作をフレーム 2の全体のグローバルマクロブロックについて行レ、、フ レーム 2のフレーム 1に対するグローバル動きベクトルテーブルを作成する。さらに、 フレーム 3が入力されたときは、以上の処理をフレーム 2との間で行レ、、フレーム 3の フレーム 2に対するグローバル動きベクトルテーブルを作成する、という具合である。
[0028] つづいて、上記作成されテーブルとしてメモリなどに保持されているグローバル動き ベクトルを利用したマクロブロックでの動きベクトルの検出処理が行われる。そのため に第一変換チップの演算器 1の演算処理によって第一の画像変換、すなわち入力 画像 1の DCT変換処理や量子化処理などが行われる。次に入力画像 2の DCT変換 処理や量子化処理などが行われるが、その際に、例えば動きベクトルの検出対象と なるフレーム(入力画像)の識別情報「2」とマクロブロック αの識別情報やその座標 情報、また動きべ外ル検出の際の参照先となるフレームの識別情報「1」とが特定さ れ、それら識別情報がシステムバスなどを介し第二変換チップへと送信される。
[0029] 続いてこのようにして送信された識別情報や座標情報が主メモリのメモリアドレス b、 cなどに格納され、それら情報をキーとして、 CPUによりグローバル動きべクトノレテー ブルの検索処理が実行される。そして、その検索の結果、フレーム 2のグローバルマ クロブロック「ひ,」におけるフレーム 1へグローバル動きベクトルがグローバル動きべク トルテーブルから読み出され、そのグローバル動きベクトルに基づいて所定サーチ範 囲の算出処理が行われる。そしてその算出された所定サーチ範囲を示す情報などが バスなどを介し第一変換チップに送信される。
[0030] そして第一チップでは、受信した所定サーチ範囲内で、マクロブロック「ひ」の動き ベクトルの検出処理が行われ、検出された動きベクトルに基づいて入力画像の高効 率符号化を行う、という具合である。なお、それぞれのチップの演算器 1および演算 器 2が物理的に別個の演算器である場合、それぞれで処理される情報がバスなどの 情報送受信経路上でコンフリ外しないようにその情報の流れ順などが制御器などよ つて制御される構造になっていると良い。
[0031] く実施例 1の処理の流れ〉 図 6に示すのは、本実施例の画像符号化装置の第二 チップにおける処理の流れの一例を表すフローチャートである。なお、以下に示すス テツプは、媒体に記録され計算機を制御するためのプログラムを構成する処理ステツ プであっても構わない。この図にあるように、まず、第二チップにて、変換処理前の入 力画像の各グローバルマクロブロックにおけるグローバル動きベクトルをそれぞれ検 出し、グローバル動きベクトルテーブルを作成する(ステップ S0601)。つづいて、第 一チップでの動きベクトル検出処理における検出対象の入力画像や参照先となる入 力画像、またマクロブロックの座標などを特定するための情報を、第二チップにて取 得する(ステップ S0602)。次に、第二チップにて、前記取得した特定情報に基づい て前記グローバル動きベクトルテーブルを参照し、動きベクトルの検出対象となるマク ロブロックを含むグローバルマクロブロックのグローバル動きベクトルを取得し(ステツ プ S0603)、そのグローバル動きベクトルに基づいて第一チップでの動きベクトル検 出のためのサーチ範囲を決定する(ステップ S0604)。そして、第一チップにおいて、 前記決定されたサーチ範囲内で前記検出対象のマクロブロックにおける動きベクトル を検出する(ステップ S0605)。
[0032] く実施例 1の効果の簡単な説明〉 以上のように、本実施例の画像符号化装置に よってグローバル動きベクトル検出チップでの検出処理に際し、非可逆圧縮され逆変 換された入力画像ではなぐ入力画像を直接参照利用することができる。したがって 、参照先画像の再現誤差を原因とするグローバル動きベクトルの誤検出を無くすこと ができ、従来よりも正確なグローバル動きベクトルの検出を可能とすることができる。
[0033] 《実施例 2》 く実施例 2の概要〉 画像間での動き量の少ない動画、例えばニュ ースのスタジオ画像など、ではグローバル動きベクトルを利用しなくても演算量を抑え ることができる可能性が高レ、。そこで本実施例の画像符号化装置では、実施例 1を基 本として、そのような状況に応じてグローバル動きベクトルを利用するか否かの判断を 行う機能をさらに有する。このように判断処理によってグローバル動きべクトノレを利用 せずに動きベクトルを用いて入力画像を符号化することは、その動きベクトルを用い た画像符号化チップの外部に第二検出部を配置することで容易に可能とすることが できる。
[0034] く実施例 2の構成〉 図 7に示すのは、本実施例の画像符号化装置における機能 ブロックの一例を表す図である。この図にあるように、本実施例の「画像符号化装置」 (0700)は、実施例 1を基本として、「第一チップ」(0710)と、「第二チップ」 (0720) と、が別個に配置されている。そして、第一チップは、「変換処理部」(0711)と、「逆 変換処理部」(0712)と、「第一検出部」(0713)と、を有している。また、第二チップ は「第二検出部」(0721)と、「サーチ範囲決定部」(0722)と、を有し相互に独立して 処理を行うことを可能としている。なお、これら機能ブロックについては実施例 1にお いてすでに記載済みであるのでその説明は省略する。そして本実施例の画像符号 化装置の特徴点は、さらに「グローバル動きベクトル利用判断部」(0730)を有してい る点である。
[0035] 「グローバル動きベクトル利用判断部」(0730)は、前記グローバル動きベクトルを 利用する力、利用しなレ、かを判断する機能を有する。この判断は、例えば上記のよう にニュース番組やスポーツ番組などその動画内容に応じた判断のほか、実施例 3で 説明する動画像の画像サイズに応じた判断などが挙げられる。また、その判断基準と なる情報は、例えばインターフェースを介しユーザーに入力してもらう動画内容など の情報や、放送番組の録画であれば電子番組表などから取得可能な番組ジヤンノレ 情報などが挙げられる。あるいは動画像では通常中心以外の周囲部分には背景な ど動かない被写体が多い、という前提で、とりあえず中心部分のグローバルマクロブ ロックにおけるグローバル動きベクトルを検出し、その動き量が閾値以下であれば画 像全体でグローバル動きベクトルを利用しないと判断する、という構成にしても良い。
[0036] また、このグローバル動きベクトル利用判断部の具体的な構成例としては、例えば ユーザー入力用や情報取得用インターフェースと CPUとから構成され、インターフエ ースから取得した情報 (例えば動画内容のジャンルを示す識別情報など)に応じて、
CPU (中央演算装置)にてグローバル動きベクトルを利用する/しないの判断処理を 行うと良レ、。なお、「グローバル動きベクトルを利用しなレ、」とは、例えば第二検出部に てグローバル動きべタトノレの検出自体を行わないことであっても良いし、あるいは、第 二検出部での検出は実行するが、その検出したグローバル動きベクトルをサーチ範 囲決定部の対し送出しないことであっても良い。また、サーチ範囲決定部への送出 は行うが、そこでのサーチ範囲の決定処理が行われないことであっても良いし、ある レ、は、決定されたサーチ範囲を、動きベクトル検出のための第一検出部には送出し ないことであっても良い。そして、このような場合の第一検出部におけるサーチ範囲 は、入力画像全体であったり、あるいは予め設定された所定のサーチ範囲などが利 用されたりすると良い。
[0037] く実施例 2の処理の流れ〉 図 8に示すのは、本実施例の画像符号化装置におけ る処理の流れの一例を表すフローチャートである。なお、以下に示すステップは、媒 体に記録され計算機を制御するためのプログラムを構成する処理ステップであっても 構わない。この図にあるように、まず、グローバル動きべタトノレの検出処理を行うか否 力、の判断が行われる(ステップ S0801)。なお、その判断の基準となる情報は、前述 のとおりジヤンノレ情報や中央部の動きベクトル情報などさまざまであって良レ、。またそ の取得もインターフェースを介して入力取得したり電子番組表から自動で取得したり するなど様々であって良い。そして、前記判断結果がグローバル動きベクトルを利用 するというものであった場合、実施例 1で説明したように第二チップにおいてグローバ ル動きべタトノレの検出処理(ステップ S0802)、およびそれに基づくサーチ範囲の決 定処理が行われる(ステップ S0803)。そしてその決定されたサーチ範囲に基づいて 探索が行われ動きベクトルが検出される(ステップ S0805)。
[0038] また、前記判断結果が利用しなレ、、というものであった場合、例えばグローバル動き ベクトルの検出処理やサーチ範囲の決定処理は行われずに、画像全体をサーチ範 囲とするなどして第一チップにおいてマクロブロックの動きベクトル検出処理が実行さ れる(ステップ S0804)。
[0039] く実施例 2の効果の簡単な説明〉 以上の本実施例の画像符号化装置によってグ ローバル動きベクトルの検出処理を行うか否か状況に応じて切替えることができる。し たがって、マクロブロックの動きベクトル検出処理に当たって場合によっては無駄とな るグローバル動きベクトル検出の演算処理を省くことができる。したがって装置の演算 負荷を抑えることができ、電力消費の低減や、それによる環境への負荷低減をも実現 しうる。 [0040] 《実施例 3》 く実施例 3の概要〉 本実施例の画像符号化装置は、実施例 2を基 本として、上記グローバル動きベクトル利用判断部での判断が、動画像の画像サイズ に応じて行われることを特徴とする画像符号化装置である。図 9に示すのは、この動 画像の画像サイズに応じた判断の一例について説明するための概略図である。この 図にあるように、例えば動画像の画像サイズが「320 X 240」である動画像(a)と、画 像サイズが「1920 X 1080」である動画像(b)とでは、おじぎをして上体を倒すとレ、う 同じ動きであっても破線で示すその画素単位での上体の動き量は動画像 (b)の方が はるかに大きい。し力、も 2005年現在の動画像の圧縮変換での動きベクトルの検出に おいて、そのサーチは半画素、あるいは 1Z4画素単位であるため探索量の差はさら に大きくなる。このように、同じ動画像であってもその画像サイズによって動きベクトル のサーチ範囲は変わってくることになる。そこで、本実施例の画像符号化装置では、 サーチ範囲が画素(あるいは半画素、 1/4画素など)単位では大きくならない画像サ ィズの動画データの場合には、その圧縮変換処理に際してグローバル動きベクトル を利用しない判断を行う機能を備えている。これにより結果的に処理負荷の軽減や 処理スピードを向上させることができる。
[0041] く実施例 3の構成〉 図 10に示すのは、本実施例の画像符号化装置における機能 ブロックの一例を表す図である。この図にあるように、本実施例の「画像符号化装置」 ( 1000)は、実施例 2を基本として、「第一チップ」(1010)と、「第二チップ」 ( 1020) と、が別個に配置され、また、「グローバル動きベクトル利用判断部」(1030)も有して いる。そして、第一チップは、「変換処理部」 ( 101 1 )と、「逆変換処理部」(1012)と、 「第一検出部」(1013)と、を有している。また、第二チップは「第二検出部」(1021 ) と、「サーチ範囲決定部」(1022)と、を有し相互に独立して処理を行うことを可能とし ている。なお、これら機能ブロックについては実施例 1や 2においてすでに記載済み であるのでその説明は省略する。そして本実施例の画像符号化装置の特徴点は、さ らに「画像サイズ取得部」(1040)を有し、またそのグローバル動きベクトル利用判断 部が「画像サイズ依存判断手段」(1050)、を有している点である。
[0042] 「画像サイズ取得部」 ( 1040)は、前記入力画像の画像サイズを取得する機能を有 する。なお、この画像サイズの取得は、例えば動画像取得時にそのファイル情報など 力 取得すると良い。また「画像サイズ」とは、例えばその入力画像を構成する画素数 であっても良いし、一画素ごとのデータ量が決まっている場合などはそのデータ量で あっても構わない。
[0043] 「画像サイズ依存判断手段」 (1050)は、画像サイズ取得部(1040)で取得した画 像サイズに基づいて、グローバル動きベクトルを利用するか否かの判断処理を行う機 能を有する。これは、例えば予め「動画像の縦画面サイズの閾値」、あるレ、は「動画像 の横画面サイズの閾値」などを設定しておき、演算器にて画像サイズ取得部で取得 した画像サイズとこの予め設定された閾値とを大小比較することで判断するなどの方 法が挙げられる。
[0044] く実施例 3のハードウェア構成例〉 図 11に示すのは、本実施例の画像符号化装 置におけるハードウェア構成の一例を表す概略図である。この図を利用して画像サイ ズに依存したグローバル動きベクトルの利用判断処理におけるそれぞれのハードゥエ ァ構成部の働きについて説明する。この図にあるように、本実施例の画像符号化装 置は、実施例 1と同様に第一検出部、変換処理部、および逆変換処理部の機能を備 える「第一変換チップ」(0501)と、第二検出部、およびサーチ範囲決定部の機能を 備える「第二変換チップ」(0502)とが、「演算器」と「主メモリ」とをそれぞれ備え、個 別に配置されている。また符号化するための画像、およびその画像サイズの情報を 取得する「画像入力手段」(0503)や、その入力画像を格納する「ビデオメモリ」 (050 4)、変換チップによって符号化された画像を出力する「出力手段」(0505)も備えて いる。そしてそれらが配線やシステムバスなどのデータ通信経路によって相互に接続 され、情報の送受信や処理を行う。また、本実施例では、さらにグローバル動きべタト ルを利用するか否かの判断処理を行うための演算器 3やその演算器 3用の主メモリ 3 などもシステムバスなどを介し接続されている。
[0045] もちろん、それぞれの「主メモリ」は、演算器で実行するプログラムの作業領域であ るワーク領域と、そのプログラムによって処理するためのデータを格納するデータ領 域とを提供し、また、この「ビデオメモリ」や「主メモリ」には複数のメモリアドレスが割り 当てられ、「演算器」で実行されるプログラムは、そのメモリアドレスを特定しアクセス することで相互にデータのやりとりを行レ、、処理を行うことが可能になっている。 [0046] ここで、「画像入力手段」から符号化されるべき画像が入力される。するとその入力 画像の取得と同時に、その動画データのファイル情報に含まれる動画像の画像デー タサイズ「720 X 480 (画素)」も取得される。そして、この入力画像取得をトリガーとし 、画像サイズ依存判断プログラムが実行され、その命令によりこの画像データサイズ の情報「720 X 480」力 S、主メモリ 3のメモリアドレス bに格納される。また、予め保持さ れている閾値、例えば「横サイズ 640」、「縦サイズ 480」、などの情報も主メモリ 3のメ モリアドレス aに格納される。そして、主メモリ 3のメモリアドレス aと bに格納されている 数値の大小を比較し、画像データサイズが閾値以下か判断せよ」との命令に従い、 演算器 3により数値データの大小比較処理が行われる。そして、また、「大小比較結 果が、画像データサイズが閾値よりも大きいことを示す場合、第二チップでのグロ一 バル動きベクトル検出処理を実行するための命令を送出せよ。あるいは大小比較結 果が、画像データサイズが閾値よりも小さいことを示す場合、第二チップでのグロ一 バル動きベクトル検出処理を実行しないための命令を送出せよ。」といった具合の命 令に従い、その大小比較の判断結果に応じた命令送出処理が行われる、という具合 である。
[0047] く実施例 3の処理の流れ〉 図 12に示すのは、本実施例の画像符号化装置にお ける処理の流れの一例を表すフローチャートである。なお、以下に示すステップは、 媒体に記録され計算機を制御するためのプログラムを構成する処理ステップであつ ても構わない。この図にあるように、まず、入力画像の画像サイズを取得する (ステツ プ S1201)。続いて、取得した画像サイズが予め設定などされている所定サイズ(閾 値)以上であるか否かの判断処理が行われる(ステップ S 1202)。ここで、前記判断 結果が閾値以上であるとの判断結果である場合、グローバル動きベクトルの検出処 理が行われ (ステップ S 1203)、それに基づいてサーチ範囲が決定される(ステップ S 1204)。そしてその決定されたサーチ範囲に基づレ、て探索が行われ動きベクトルが 検出される(ステップ S 1205)。
[0048] また、前記判断結果が閾値以下である場合、例えばグローバル動きベクトルの検出 処理やサーチ範囲の決定処理は行われずに、画像全体をサーチ範囲とするなどし て第一チップにおいてマクロブロックの動きベクトル検出処理が実行される(ステップ S 1205)。
[0049] く実施例 3の効果の簡単な説明〉 以上の本実施例の画像符号化装置によって画 像サイズに応じてグローバル動きベクトルの検出処理を行うか否か状況に応じて切替 えること力できる。その画像サイズを示す情報は、動画データのファイル情報に通常 含まれているので、この画像サイズを示す情報は自動的に取得されることになる。従 つてマクロブロックの動きベクトル検出処理に当たって無駄となる可能性の高い演算 処理を自動的に省くことができる。したがって実施例 2同様、装置の演算負荷を抑え ること力 Sでき、電力消費の低減や、それによる環境への負荷低減をも実現しうる。
[0050] く実施例 3のその他の実施例〉 また、本実施例の画像符号化装置は、さらに「グ ローバルマクロブロックサイズ決定部」を備えていても良レ、。 「グローバルマクロブロッ クサイズ決定部」は、画像サイズ取得部にて取得した画像サイズに基づいてグローバ ルマクロブロックのサイズを決定する機能を有する。この決定は、例えば画像サイズ が「320 X 240」画素ではグローバルマクロブロックのサイズを「32 X 24」画素、画像 サイズが「1920 X 1080」画素ではグローバルマクロブロックのサイズを「96 X 72」画 素とする、などの対応テーブルを利用して決定する方法や、画像サイズを変数 Xとす る所定の関数 f (x)を利用してグローバルマクロブロックのサイズを算出、決定する方 法などが挙げられる。そして、このように入力画像の画像サイズに応じてグローバルマ クロブロックを決定する機能をさらに備えることで、本実施例の画像符号化装置は、さ らに無駄な演算処理を省くことができ、その処理負荷を低減させることができる。また 、「グローバルマクロブロックサイズ決定部」より算出された値により縮小比率を決定し
、符号化対象となる原画像からこの縮小比率にて縮小画像を作成し、その画像を用 いてグローバルベクトル検出を行うことで、さらに処理量と使用するメモリ容量を低減 すること力 S可肯 となる。
[0051] 《実施例 4》 く実施例 4の概要〉 図 13に示すのは従来の画像符号化装置が保 持する、検出したグローバル動きベクトルの保持テーブルの一例を表す概念図であ る。この図にあるように、圧縮率と画質向上を図る近年の処理においては、グローバ ル動きべクトノレは隣接フレーム間のみならず、非隣接の任意の 2フレーム間で検出す ることが求められる。そのような場合、画像符号ィ匕装置が保持すべきグローバル動き ベクトルのデータ数は、図のテーブルに示すように入力画像の数(あるいは 1枚のフ レーム画像の参照する可能性のあるフレーム画像の数) Xグローバルマクロブロック の数、となる。しかし、本実施例の画像符号化装置では、 (非隣接の)任意の 2フレー ム間でのグローバル動きベクトルを、複数の隣接グローバル動きベクトルの累積演算 などによって擬似的に算出することで、その保持すべきグローバル動きベクトルの数 を少なくすることができる。
[0052] 図 14に示すのは、本実施例の画像符号化装置における、非隣接 2フレーム間のグ ローバル動きベクトル算出処理の一例について説明するための概念図である。この 図にあるように、本実施例では例えば斜線で示すフレーム # 5のグローバルマクロブ ロックの、フレーム 5間のグローバル動きベクトルを以下のようにして算出す る。すなわちフレーム # 4— # 5間のグローバル動きベクトル Dと、フレーム # 3— # 4 間のグローバル動きベクトル Cと、 · · ·と、フレーム # 1 _ # 2間のグローバル動きべク トル Aと、を累積演算することで算出する。
[0053] このように本実施例では、隣接フレーム間でのグローバル動きべクトノレを保持して おけば良いので、その保持データ量を削減することができる。なお、後述するようにグ ローバノレマクロブロックの次のフレームでの動き先がそのグローノくノレマクロブロックと 完全に一致するというケースは稀であるので、その場合は、例えば周辺 4つのグロ一 バルマクロブロックにおけるグローバル動きベクトル値からバイリニア補間などでその グローバル動きベクトルを推定すると良い。
[0054] く実施例 4の構成〉 図 15に示すのは、本実施例の画像符号化装置における機能 ブロックの一例を表す図である。この図にあるように、本実施例の「画像符号化装置」 (1500)は、実施例 1を基本として、「第一チップ」(1510)と、「第二チップ」 (1520) と、が別個に配置されている。そして、第一チップは、「変換処理部」(1511)と、「逆 変換処理部」 (1512)と、「第一検出部」(1513)と、を有している。また、第二チップ は「第二検出部」(1521)と、「サーチ範囲決定部」(1522)と、を有し相互に独立して 処理を行うことを可能としている。もちろん、実施例 2や 3を基本として「グローバル動 きベクトル利用判断部」などを有していても良レ、。なお、これら機能ブロックについて は実施例 1などにおいてすでに記載済みであるのでその説明は省略する。そして本 実施例の画像符号化装置の特徴点は、さらに「フレーム特定情報取得部」(1530)と 、「隣接グローバル動きベクトル保持部」(1540)と、「検出フレーム間グローバル動き ベクトル演算部」(1550)と、を有している点である。
[0055] 「フレーム特定情報取得部」 (1530)は、フレーム特定情報を取得する機能を有す る。「フレーム特定情報」とは、符号化をするに際して、動きべ外ルを利用して符号化 すべきフレームと、動きべクトノレを生成するために参照されるべきフレームと、を特定 するための情報をいい、例えば、その符号ィ匕対象フレームおよび動きベクトルの参照 先フレームの識別情報などが挙げられる。そして本実施例の画像符号ィ匕装置は、こ こで取得されるフレーム特定情報にて特定されるフレーム間のグローバル動きべタト ルを、次で説明する 2つの機能ブロックの作用により算出することになる。
[0056] 「隣接グローバル動きベクトル保持部」(1540)は、隣接グローバル動きベクトルを 保持する機能を有する。 「隣接グローバル動きベクトル」とは、第二検出部(1521)に て検出される隣接フレーム間でのグローバル動きベクトル値をいう。この隣接グロ一 バル動きベクトル保持部は、例えば図 14に示すようなグローバル動きベクトルのテー ブルデータのように、「グローバルマクロブロック 2のフレーム # 1 # 2間でのグロ一 バル動きベクトルは A」、「グローバルマクロブロック 2のフレーム # 2— # 3間でのグロ 一バル動きベクトルは B」、という具合に、グローバルマクロブロックごとの隣接フレー ム間でのグローバル動きべタトノレのデータを保持していると良レ、。このように、隣接フ レーム間でのグローバル動きベクトルのみ保持しているので、本実施例では、任意の フレーム間全てのグローバル動きベクトルを保持する場合に比べその保持データ量 を削減することができる。
[0057] そして、非隣接の任意のフレーム間におけるグローバル動きベクトルが必要となる 場合には、次の「検出フレーム間グローバル動きベクトル演算部」での隣接グローバ ル動きべタトノレに基づく演算によってその非隣接フレーム間でのグローバル動きべク トルを推定検出する点が本実施例の特徴である。
[0058] 「検出フレーム間グローバル動きベクトル演算部」(1550)は、フレーム特定情報で 特定される二つのフレーム間のグローバル動きベクトルを、隣接グローバル動きべク トル保持部(1540)に保持されている複数の隣接グローバル動きベクトルに基づいて 演算する機能を有する。 「複数の隣接グローバル動きべ外ルに基づく演算」とは、例 えば隣接グローバル動きベクトルの累積演算や、隣接グローバル動きベクトルを利用 し線形補間などで推定された (推定)隣接グローバル動きべ外ルの累積演算などが 挙げられる。例えば図 14に示すフレーム # 5のグローバルマクロブロック 6の(隣接フ レームである)フレーム # 4での動き先が、フレーム # 4のグローバノレマクロブロック 5 と完全に一致する、とレ、う具合に隣接フレーム間でのグローバルマクロブロックの動き 先がそのマクロブロックと完全に一致する場合は、フレーム # 5— # 3のグローバル動 きベクトルは、単純に隣接グローバル動きベクトルである Dと Cを加算することで算出 すること力 Sできる。しかし、通常そのようなケースは稀である。したがって、本実施例で はフレーム # 5のグローバルマクロブロック 6の動き先を、例えば動き先近傍のグロ一 バルマクロブロックのグローバル動きベクトルのバイリニア補間などで推定する、など の処理を行い、その推定したグローバル動きべクトノレを累積する。
[0059] 具体的には、例えばフレーム # 5のグローバルマクロブロック 6の隣接フレーム # 4 での動き先は、メモリに格納されたそのグローバル動きベクトル Dを利用して CPUの 演算により算出することが可能である。そしてその算出したフレーム # 4での動き先位 置 (座標)情報を利用して、例えば 4つのグローバルマクロブロック「1」「2」「5」「6」、と レ、う具合にその近傍にあるグローバルマクロブロックが CPUの演算処理により選定さ れる。そして、例えばそれぞれのグローバルマクロブロックの中心座標と、動き先中心 座標との距離比率などからそれぞれの重み係数が CPUの演算処理により算出され る。そしてそれぞれのグローバルマクロブロックにおけるグローバル動きベクトルの成 分を、それぞれの重み係数を乗じた上で累積し、その平均を CPUの演算により算出 することで、線形補間によって推定されたフレーム # 4の動き先におけるグローバル 動きべクトノレを演算することができる、という具合である。そして隣接フレーム間でのそ の推定されたグローバル動きベクトルなどを累積することで、非隣接のフレーム間の グローバル動きベクトルを演算することができる。つまり、本実施例の画像符号化装 置によって、図 14に示すような情報量を抑えたデータテーブルのみの保持で、非隣 接のフレーム間のグローバル動きべクトノレを演算することが可能になる。
[0060] く実施例 4の処理の流れ〉 図 16に示すのは、本実施例の画像符号化装置にお ける処理の流れの一例を表すフローチャートである。なお、以下に示すステップは、 媒体に記録され計算機を制御するためのプログラムを構成する処理ステップであつ ても構わない。また、第一チップや第二チップでの動きべタトノレの検出処理や隣接グ ローバル動きベクトルの検出処理は、実施例 1で説明した処理と同様であるので省略 しする。この図にあるように、まず、隣接グローバル動きベクトルを保持するために記 録する(ステップ S 1601)。続いて、フレーム特定情報を取得する(ステップ sl 602)。 そして、前記ステップ S 1602で取得したフレーム特定情報で特定される 2つのフレー ム間のグローバル動きベクトルを、前記ステップ S 1601にて記録され保持されている 複数の隣接グローバル動きベクトルに基づいて、例えば線形補間を利用した推定や 累積などによって演算する(ステップ S 1603)。
[0061] く実施例 4の効果の簡単な説明〉 以上の本実施例の画像符号化装置によって、 隣接グローバル間のグローバル動きベクトルのデータテーブルのみの保持により保 持データ量を抑えつつ、任意の非隣接フレーム間のグローバル動きべクトノレを演算 することが可能になる。
[0062] く実施例 4のその他の実施例〉 なお、実施例 4の画像符号化装置は上記のような 構成以外に、以下に示すような構成をとつても良い。すなわち上記画像符号化装置 では、隣接フレーム間のグローバル動きベクトルを利用し累積演算などすることで非 隣接フレーム間のグローバル動きベクトルを推定する。しかし、それとは逆に非隣接 フレーム間でのグローバル動きベクトルのみを保持しておき、その非隣接グローバル 動きべクトノレを利用して線形補間演算などを行レ、、隣接グローバル動きベクトル、ある いは上記非隣接フレーム間と時間的な幅の異なる非隣接フレーム間でのグローバル 動きべ外ルを推定算出する、という機能を備えた画像符号ィ匕装置である。具体的に は、上記実施例 4の「隣接グローバル動きベクトル保持部」の代わりに「非隣接グロ一 バル動きベクトル保持部」を備える画像符号化装置である。また、逆に、参照する非 隣接フレーム間の画像の動きが一様であると仮定して、「参照する非隣接フレーム間 のフレーム数 X隣接フレームとのグローバル動きベクトル」の演算で求めたベクトル 値を、参照する非隣接フレーム間のグローバル動きべクトノレとしても良レ、。このような 処理を行うことで、グローバル動きベクトルテーブルの参照回数を減らし、処理量を軽 減することも可能である。
図面の簡単な説明
[0063] [図 1]実施例 1の画像符号化装置を実装した装置の一例を表す概略図
[図 2]実施例 1の画像符号化装置における機能ブロックの一例を表す図
[図 3]画像符号化装置において処理される、入力画像と、その入力画像の変換処理 一逆変換処理画像と、の一例を表す概略図
[図 4]実施例 1の画像符号化装置の第二検出部でのグローバル動きベクトルの検出 処理の一例について説明するための概念図
[図 5]実施例 1の画像符号ィヒ装置におけるハードウェア構成の一例を表す概略図 [図 6]実施例 1の画像符号化装置における処理の流れの一例を表すフローチャート [図 7]実施例 2の画像符号化装置における機能ブロックの一例を表す図
[図 8]実施例 2の画像符号化装置における処理の流れの一例を表すフローチャート [図 9]実施例 3の画像符号化装置での、動画像の画像サイズに応じた切替の一例に ついて説明するための概略図
[図 10]実施例 3の画像符号化装置における機能ブロックの一例を表す図
[図 11]実施例 3の画像符号ィ匕装置におけるハードウェア構成の一例を表す概略図 [図 12]実施例 3の画像符号化装置における処理の流れの一例を表すフローチャート [図 13]従来の画像符号ィ匕装置が保持する、検出したグローバル動きべ外ルの保持 テーブルの一例を表す概念図
[図 14]実施例 4の画像符号ィ匕装置における、非隣接 2フレーム間のグローバル動き ベクトル算出処理の一例について説明するための概念図
[図 15]実施例 4の画像符号化装置における機能ブロックの一例を表す図
[図 16]実施例 4の画像符号化装置における処理の流れの一例を表すフローチャート
[図 17]従来のグローバル動きベクトルを利用した、マクロブロック単位の動きべクトノレ 検出の一例を説明するための図
符号の説明
[0064] 0200 画像符号化装置
0210 第一チップ 0211 変換処理部 0212 逆変換処理部 0213 第一検出部 0220 第二チップ 0221 第二検出部 0222 サーチ範囲決定部

Claims

請求の範囲
[1] 入力画像を、動きベクトルを用いて符号化する符号ィ匕装置であって、
入力画像中の所定サーチ範囲を変換一逆変換処理画像のマクロブロック単位でサ ーチして前記動きベクトルを検出するための第一検出部と、
前記マクロブロックよりも大きなブロックであるグローバルマクロブロック単位で入力 画像間でのグローバル動きベクトルを検出するための第二検出部と、
前記第二検出部で検出されたグローバル動きベクトルを利用して、第一検出部で 行うサーチのサーチ範囲を決定可能なサーチ範囲決定部と、
を有する画像符号化装置。
[2] 前記グローバル動きベクトルを利用する力、利用しないかを判断するグローバル動 きべクトル利用判断部をさらに有する請求項 1に記載の画像符号化装置。
[3] 前記入力画像の画像サイズを取得する画像サイズ取得部をさらに有し、
前記グローバル動きベクトル利用判断部は、前記画像サイズ取得部で取得した画 像サイズに基づレ、て、前記判断処理を実行する画像サイズ依存判断手段を有する 請求項 2に記載の画像符号化装置。
[4] 符号化をするに際して、動きベクトルを利用して符号化すべきフレームと、動きべク トルを生成するために参照されるべきフレームと、を特定するフレーム特定情報を取 得するフレーム特定情報取得部と、
第二検出部にて検出されるグローバル動きベクトルとして隣接フレーム間での値で ある隣接グローバル動きベクトルを保持する隣接グローバル動きベクトル保持部と、 フレーム特定情報で特定される二つのフレーム間のグローバル動きベクトルを、隣 接グローバル動きベクトル保持部に保持されている複数の隣接グローバル動きべタト ルに基づいて演算する検出フレーム間グローバル動きベクトル演算部と、 をさらに有する請求項 1から 3のいずれか一に記載の画像符号ィ匕装置。
[5] 変換 逆変換処理画像のマクロブロック単位でサーチして検出された動きベクトル を用いて、入力画像を符号化する符号化方法であって、
前記マクロブロックよりも大きなブロックであるグローバルマクロブロック単位で入力 画像間でのグローバル動きベクトルを検出する第二検出ステップと、 前記第二検出ステップにて検出されたグローバル動きベクトルを利用して前記サー チのサーチ範囲を決定するサーチ範囲決定ステップと、
前記決定されたサーチ範囲をマクロブロック単位でサーチして前記動きベクトルを 検出する第一検出ステップと、
を計算機に実行させる画像符号ィ匕方法。
[6] 前記グローバル動きベクトルを利用する力、、利用しないかを判断するグローバル動 きベクトル利用判断ステップをさらに有する請求項 5に記載の画像符号化方法。
[7] 前記入力画像の画像サイズを取得する画像サイズ取得ステップと、
前記画像サイズ取得ステップで取得した画像サイズに基づレ、て、前記グローバル 動きべクトノレを利用するカ 利用しなレ、かを判断する画像サイズ依存判断ステップと
をさらに有する請求項 5に記載の画像符号化方法。
[8] 符号化をするに際して、動きベクトルを利用して符号化すべきフレームと、動きべク トルを生成するために参照されるべきフレームと、を特定するフレーム特定情報を取 得するフレーム特定情報取得ステップと、
第二検出ステップにて検出されるグローバル動きベクトルとして隣接フレーム間で の値である隣接グローバル動きベクトルを保持するために記録する隣接グローバル 動きベクトル記録ステップと、
フレーム特定情報で特定される二つのフレーム間のグローバル動きベクトルを動き ベクトル記録ステップにて記録され保持されている複数の隣接グローバル動きべタト ノレに基づいて演算する検出フレーム間グローバル動きべクトノレ演算ステップと、 をさらに有する請求項 5から 7のいずれか一に記載の画像符号ィ匕方法。
PCT/JP2006/300527 2005-11-21 2006-01-17 画像符号化装置および画像符号化方法 WO2007057985A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP06711807A EP1954059A4 (en) 2005-11-21 2006-01-17 BILDCODING DEVICE AND BILDCODING METHOD
US12/065,074 US8300695B2 (en) 2005-11-21 2006-01-17 Image encoding apparatus and image encoding method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005335186A JP4606311B2 (ja) 2005-11-21 2005-11-21 画像符号化装置および画像符号化方法
JP2005-335186 2005-11-21

Publications (1)

Publication Number Publication Date
WO2007057985A1 true WO2007057985A1 (ja) 2007-05-24

Family

ID=38048377

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/300527 WO2007057985A1 (ja) 2005-11-21 2006-01-17 画像符号化装置および画像符号化方法

Country Status (7)

Country Link
US (1) US8300695B2 (ja)
EP (1) EP1954059A4 (ja)
JP (1) JP4606311B2 (ja)
KR (1) KR100843418B1 (ja)
CN (1) CN100571400C (ja)
TW (1) TWI343217B (ja)
WO (1) WO2007057985A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011077628A1 (ja) * 2009-12-22 2011-06-30 パナソニック株式会社 画像符号化方法、画像符号化装置及び撮像システム

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070237233A1 (en) * 2006-04-10 2007-10-11 Anthony Mark Jones Motion compensation in digital video
JP5171675B2 (ja) * 2009-02-03 2013-03-27 三洋電機株式会社 画像処理装置、およびそれを搭載した撮像装置
KR101666019B1 (ko) * 2010-08-03 2016-10-14 삼성전자주식회사 외삽 뷰 생성을 위한 장치 및 방법
JP5706264B2 (ja) 2011-08-01 2015-04-22 日本電信電話株式会社 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,画像符号化プログラムおよび画像復号プログラム
US10659724B2 (en) * 2011-08-24 2020-05-19 Ati Technologies Ulc Method and apparatus for providing dropped picture image processing
US10542233B2 (en) * 2014-10-22 2020-01-21 Genetec Inc. System to dispatch video decoding to dedicated hardware resources
CN115379185B (zh) * 2018-08-09 2024-04-02 辉达公司 使用可变速率着色的运动自适应渲染
KR20200065367A (ko) * 2018-11-30 2020-06-09 삼성전자주식회사 이미지 처리 장치 및 프레임 버퍼 컴프레서
MX2021013069A (es) * 2019-04-25 2021-11-17 Op Solutions Llc Candidatos a la prediccion selectiva de vectores de movimiento en tramas con movimiento global.
WO2020219945A1 (en) * 2019-04-25 2020-10-29 Op Solutions, Llc Adaptive motion vector prediction candidates in frames with global motion

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08149481A (ja) * 1994-11-25 1996-06-07 Mitsubishi Electric Corp 映像信号符号化・復号化装置及び符号化・復号化方法
WO2000005899A1 (en) * 1998-07-22 2000-02-03 Mitsubishi Denki Kabushiki Kaisha Image encoding system
JP2001169288A (ja) * 1999-12-07 2001-06-22 Nec Corp 動きベクトル探索装置および方法
JP2003319400A (ja) * 2002-04-26 2003-11-07 Sony Corp 符号化装置、復号装置、画像処理装置、それらの方法およびプログラム
JP2004229150A (ja) * 2003-01-27 2004-08-12 Nec Corp 動きベクトル探索方法および装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950024600A (ko) * 1994-01-31 1995-08-21 김광호 휘도신호적응 움직임 평가방법
US6101276A (en) * 1996-06-21 2000-08-08 Compaq Computer Corporation Method and apparatus for performing two pass quality video compression through pipelining and buffer management
KR100289862B1 (ko) * 1997-10-16 2001-05-15 정선종 2차원병진움직임벡터와회기법을이용한전역움직임존재유무판정방법
JP2912614B1 (ja) * 1998-06-22 1999-06-28 株式会社菊水製作所 回転式粉末圧縮成形機
JP4280353B2 (ja) 1999-03-19 2009-06-17 キヤノン株式会社 符号化装置、画像処理装置、符号化方法、及び記録媒体

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08149481A (ja) * 1994-11-25 1996-06-07 Mitsubishi Electric Corp 映像信号符号化・復号化装置及び符号化・復号化方法
WO2000005899A1 (en) * 1998-07-22 2000-02-03 Mitsubishi Denki Kabushiki Kaisha Image encoding system
JP2001169288A (ja) * 1999-12-07 2001-06-22 Nec Corp 動きベクトル探索装置および方法
JP2003319400A (ja) * 2002-04-26 2003-11-07 Sony Corp 符号化装置、復号装置、画像処理装置、それらの方法およびプログラム
JP2004229150A (ja) * 2003-01-27 2004-08-12 Nec Corp 動きベクトル探索方法および装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011077628A1 (ja) * 2009-12-22 2011-06-30 パナソニック株式会社 画像符号化方法、画像符号化装置及び撮像システム

Also Published As

Publication number Publication date
US20090268820A1 (en) 2009-10-29
KR100843418B1 (ko) 2008-07-03
EP1954059A4 (en) 2010-10-06
TWI343217B (en) 2011-06-01
TW200721847A (en) 2007-06-01
KR20070088321A (ko) 2007-08-29
JP2007142907A (ja) 2007-06-07
EP1954059A1 (en) 2008-08-06
JP4606311B2 (ja) 2011-01-05
US8300695B2 (en) 2012-10-30
CN100571400C (zh) 2009-12-16
CN101044765A (zh) 2007-09-26

Similar Documents

Publication Publication Date Title
US11496764B2 (en) Video encoding method and video decoding method
WO2007057985A1 (ja) 画像符号化装置および画像符号化方法
US7444026B2 (en) Image processing apparatus and method of motion vector detection in a moving picture, and recording medium used therewith
US20110261886A1 (en) Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, and image prediction decoding program
US20100195722A1 (en) Image prediction encoding device, image prediction decoding device, image prediction encoding method, image prediction decoding method, image prediction encoding program, and image prediction decoding program
WO2007136088A1 (ja) 画像符号化装置、画像符号化方法、及び画像符号化用集積回路
JP2007142521A (ja) 動きベクトル算出装置および動きベクトル算出方法
WO2006033227A1 (ja) 画像符号化装置
JP2013532926A (ja) 複数のプロセッサを使用してビデオフレームを符号化するための方法およびシステム
JP4494803B2 (ja) 動き補償に基づいた改善されたノイズ予測方法及びその装置とそれを使用した動画符号化方法及びその装置
JP4898415B2 (ja) 動画像符号化装置及び動画像符号化方法
JP2010081498A (ja) 画像圧縮符号化方法、及び装置
US20020131503A1 (en) Moving image compression apparatus, and cut detection data generation method for the apparatus
JP5247210B2 (ja) 動画像符号化装置及び動画像符号化方法
JP4590337B2 (ja) 動画像符号化装置及び動画像符号化方法
JP2009033652A (ja) 動画像符号化方法
JP2008154085A (ja) 動画像符号化装置及び動画像符号化方法
JP2008258769A (ja) 画像符号化装置及びその制御方法、並びに、コンピュータプログラム
JP2008124765A (ja) 動画像符号化装置とその制御方法、及び、コンピュータプログラム
JP2006067268A (ja) 画像の動きベクトル検出装置およびその方法
KR20000011728A (ko) 움직임 벡터 검출 방법, 움직임 벡터 산출 프로그램이 기록된 기록 매체, 움직임 검출 장치, 움직임 검출 방법, 화상 엔코딩 장치, 화상 엔코딩 방법, 움직임 벡터 산출 방법, 움직임 벡터 산출 프로그램이 기록된 기록 매체
JP2007274366A (ja) 動画像符号化装置、動きベクトル検出方法
JP2005210503A (ja) 映像信号符号化装置

Legal Events

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

Ref document number: 200680000363.9

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 1020067026951

Country of ref document: KR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006711807

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 12065074

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2006711807

Country of ref document: EP