WO2003056838A1 - Moving picture compression/coding apparatus and motion vector detection method - Google Patents

Moving picture compression/coding apparatus and motion vector detection method Download PDF

Info

Publication number
WO2003056838A1
WO2003056838A1 PCT/JP2002/013413 JP0213413W WO03056838A1 WO 2003056838 A1 WO2003056838 A1 WO 2003056838A1 JP 0213413 W JP0213413 W JP 0213413W WO 03056838 A1 WO03056838 A1 WO 03056838A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion vector
detection range
vector detection
motion
frame
Prior art date
Application number
PCT/JP2002/013413
Other languages
English (en)
French (fr)
Inventor
Makoto Kawaharada
Tomoko Yasunari
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 KR1020037013911A priority Critical patent/KR100632072B1/ko
Priority to US10/467,420 priority patent/US20040105589A1/en
Priority to EP02793365A priority patent/EP1460854A4/en
Publication of WO2003056838A1 publication Critical patent/WO2003056838A1/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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • G06T7/238Analysis of motion using block-matching using non-full search, e.g. three-step search
    • 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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Definitions

  • the present invention relates to a moving image compression encoding device for compressing and encoding a moving image, a motion vector detection method thereof, a recording medium, and a program.
  • the motion vector detection device In a moving image compression encoding device, the motion vector detection device has to increase the hardware scale in order to increase the detection accuracy of the motion vector. For this reason, motion vector detection is performed in a mode in which the detection range is narrow but detection accuracy is high, or in a mode in which the detection range is wide but detection accuracy is low.
  • FIG. 10 shows the motion vector detection device.
  • Reference numeral 101 denotes a reference frame signal input terminal for inputting a reference frame signal, which is a current frame signal, to the video compression encoder
  • reference numeral 102 denotes a previous frame signal to the video compression encoder. This is a predicted frame signal input terminal for inputting a certain predicted frame signal.
  • 104 is a wide-area motion vector detector that performs motion vector detection in a mode with a wide detection range but low detection accuracy, and 104 is a motion vector detection mode with a small detection range but high detection accuracy.
  • a narrow-range motion vector detector that performs A comparator that compares and evaluates the motion vector detection results obtained with 103 and the narrow-range motion vector detector 104, and 106 is based on the comparison result of the comparator 105
  • a switch that outputs either the motion vector detector 103 or the result of motion vector detection from the narrow area motion vector detector 104, and 107 is a wide area motion vector detector.
  • Output terminal that outputs the motion vector detected by the detector.
  • a reference frame signal input from a reference frame signal input terminal 101 is input to a wide area motion vector detector 103 via a low-pass filter 108 and a downsampling circuit 109.
  • the reference frame signal input from the reference frame signal input terminal 101 is also input to the narrow-range motion vector detector 104.
  • the predicted frame signal input from the predicted frame signal input terminal 102 is input to the wide area motion vector detector 103 via the low-pass filter 110 and the downsampling circuit 111.
  • the predicted frame signal input from the predicted frame signal input terminal 102 is also input to the narrow area motion vector detector 104.
  • the motion vectors detected by the motion vector detectors 103 and 104 are compared and evaluated by the comparator 105, and the motion vector with the higher evaluation is switched by the switcher 106. Is output to the output terminal 107.
  • the number of motion vector detection ranges (hereinafter referred to as the number of modes) is set to, for example, two in order to detect a more appropriate motion vector, the number of modes is reduced.
  • the hardware scale increases compared to one case.
  • Detection range is narrow, but detection accuracy Requires two types of hardware, a high-range motion vector detector 104 and a wide-area motion vector detector 103 with a wide detection range but low detection accuracy.
  • two motion vector detectors 103 and 104 must have independent motion vector detection circuits. Therefore, there was a problem that the hardware scale of the motion detection circuit and the like became large.
  • FIG. 11 shows the video compression encoding apparatus.
  • FIG. 11 is a block diagram of a conventional moving picture compression encoding apparatus.
  • reference numeral 310 denotes a DCT circuit
  • reference numeral 302 denotes a quantizer
  • reference numeral 303 denotes an inverse quantizer
  • reference numeral 304 denotes an inverse DCT circuit
  • reference numeral 304 denotes a frame.
  • Reference numeral 306 denotes a motion compensation inter-frame prediction circuit
  • 307 A denotes a motion detection device
  • 308 denotes an intra-frame / inter-frame switching signal.
  • the motion detection device 307A includes a buffer memory 201, an error calculation circuit 202, an error comparison circuit 203, and an address generation circuit 204.
  • the operation of the conventional image encoding device configured as described above will be described below.
  • the first frame of the encoding that is, the first frame, is switched to the intra-frame encoding by the intra-frame switching signal 308, and is encoded intra-frame by frame without any difference.
  • image data is converted into transform coefficients by the DCT circuit 301 in two-dimensional block units, and the transform coefficients are quantized by the quantizer 302. After that, it is sent to the transmission line.
  • images have high correlation, when DCT is performed, energy is concentrated on transform coefficients corresponding to low frequency components.
  • the quantized transform coefficients transmitted to the transmission path are simultaneously returned to real-time data via an inverse quantizer 303 and an inverse DCT transform circuit 304, and stored in a frame memory 305.
  • the images after the second frame are switched to inter-frame coding by the intra-frame inter-frame switching signal 308, and after motion compensation, a difference from the image of the previous frame is obtained.
  • the difference between the image signals between the frames is encoded. That is, based on the image data of the previous frame stored in the frame memory 305 and the motion vector of the two-dimensional block unit detected by the motion detection device 307A, the predicted value of the image of the second and subsequent frames moves.
  • the prediction error which is the difference between the image after the second frame generated by the inter-compensation inter-frame prediction circuit 306 and the predicted value after the second frame generated by the motion-compensation inter-frame prediction circuit 306, is
  • the data is converted into a transform coefficient by the DCT circuit 301 in the unit of a two-dimensional block, and the transform coefficient is quantized by the quantizer 302 before being transmitted to the transmission line.
  • the quantized conversion coefficients transmitted to the transmission path are simultaneously returned to real-time data via the inverse quantizer 303 and the inverse DCT conversion circuit 304, and stored in the frame memory 305.
  • the motion detection device 307A has a configuration in which a motion vector between frames is obtained for each two-dimensional block using, for example, a well-known full search method.
  • FIG. 12 is an explanatory diagram showing the operation of the motion detection device 307A.
  • 3 1 1 is the second One 2D block with a frame consists of a rectangular block of m pixels (horizontal direction) X n pixels (vertical direction).
  • 312A and 312B are two-dimensional blocks of the first frame for performing error calculation, and have the same size as the two-dimensional block 311.
  • Reference numeral 313 denotes a motion vector obtained by the motion detection, which connects the center coordinates of the two-dimensional block 311 and the center coordinates of the two-dimensional block 312B.
  • the two-dimensional block 3 1 1 in FIG. 12 is a two-dimensional block having the center coordinates (x, y, 2) in the second frame, and the symbol S (x, y, Represented by 2).
  • the two-dimensional blocks 312A and 312B are two-dimensional blocks having the center coordinates (x, y, 1) and (x + mx, y + my, 1) in the first frame, respectively.
  • the two-dimensional block is represented by the symbols S (x, y, 2) and S (x + mx, y + my, 1) corresponding to the center coordinates.
  • x indicates the pixel coordinates in the horizontal direction starting from the center of the frame
  • y indicates the pixel coordinates in the vertical direction starting from the center of the frame
  • the numbers 1 and 2 after x and y indicate the frame. Indicates a number.
  • 314 is a rectangular (2 h in the horizontal direction, 2 V in the vertical direction) motion vector detection range indicating a two-dimensional block for calculating the motion vector
  • X h is the center of the motion vector detection range
  • y'v is the center of the motion vector detection range (the coordinates (x, y, l) in the figure).
  • the vertical local pixel coordinates as the origin are shown.
  • the image data of the second frame is input to the buffer memory 201 at the same time as the inter-frame encoding.
  • the image data of the first frame is already stored in the buffer memory 201.
  • the reference is a two-dimensional block 311 of the second frame (current frame), and a two-dimensional block 312B of the first frame (previous frame) and a two-dimensional block of the second frame (current frame).
  • the motion vector 3 3 between 3 1 1 is detected.
  • the images of the first and second frames input to the memory 201 are read out in units of two-dimensional blocks of m ⁇ n pixels, and a motion vector is detected in units of two-dimensional blocks.
  • the address generating circuit 204 reads out the image data of the two-dimensional block S (x, y, 2) having the center coordinates (x, y, 2) in the second frame, and reads the two-dimensional block S (x, y). , 2) is used as the reference block, and the motion between this reference block and the first frame is detected by the following procedure.
  • the buffer memory 201 also stores the image data of the first frame as described above, and the two-dimensional block S (x, y, l) having the center coordinates (x, y, l) in the first frame is also stored. Read each image data of l).
  • the error calculation circuit 202 the sum of the square errors of the amplitudes of the image data in the two two-dimensional blocks S (x, y, 2) and S (x, y, l) (hereinafter simply referred to as error) ) ⁇ ( ⁇ , ⁇ ) (0,0) is calculated by [Equation 1] and sent to the error comparison circuit 203.
  • the address generation circuit 204 selects the mXn block next to one pixel in the horizontal direction in the first frame, that is, the two-dimensional block of the center coordinates (x + 1, y, 1). Generates the address S (x + 1, y, 1).
  • the error calculation circuit 202 also calculates (x, y) (+ l, 0) and sends it to the error comparison circuit 203.
  • the error comparison circuit 2 0 3, ⁇ (x, y) (0, 0) and ⁇ (x, y) (+1 , 0) are compared, and who choose c and so on to be a small one h ⁇ xh ⁇ li, 1 V ⁇ y V ⁇
  • the error comparison circuit 203 selects the error ⁇ (x, y) (mx, my) that takes the minimum value from the errors ⁇ (x, y) (xh, yv) calculated above, and at the same time, the address mx , My are output.
  • the motion vector 2 13 in the two-dimensional block S (x, y, 2 ) is mv (mx, my).
  • the motion vector of all the two-dimensional blocks in the second frame is obtained by repeating the above operation for all of the two-dimensional blocks divided into a plurality.
  • the motion-compensated inter-frame prediction circuit 306 generates a motion-compensated predicted value of the second frame in units of two-dimensional blocks using the motion vector detected for each 2D block of the second frame.
  • the prediction error is calculated for the image of the second frame.
  • the above-described prediction error is encoded for each frame in the same manner as in the first frame.
  • the same size as the two-dimensional block that divides the current frame within the predetermined motion vector detection range of the previous frame centered on the position of the two-dimensional block that divides the current frame The image data of the two-dimensional block of the previous frame is extracted while changing the position sequentially, and the image data of each two-dimensional block within the predetermined motion vector detection range of the previous frame and the divided two-dimensional block of the current frame are extracted.
  • the image data for the two-dimensional block obtained by dividing the current frame is obtained.
  • the prediction error is coded, so that the energy and the energy are reduced as compared with the case where the image data is directly coded, as in the case of intra-frame coding.
  • the encoding becomes possible.
  • FIG. 13 is a flowchart showing the processing operation of the CPU 5. Referring to Fig. 13, step 21 reads the motion vectors of all two-dimensional blocks of the previous frame (for example, the second frame) in step 21 and step 22 shows the maximum horizontal motion vector detection range for normal motion.
  • step 23 it is determined whether the number is 50 or more of all blocks. If the number is 50% or more of all blocks, the motion of the image is assumed to be large and the horizontal motion vector detection range is determined as follows. Expand to 2 h. In order to double the motion vector detection range, as shown in step 24, the input to the error calculation circuit 2 is thinned out for each sample, that is, subsampled to 12 and input. The address generator 4 is controlled. By doing so, the computational complexity per each two-dimensional block becomes 12, so even if the motion vector ⁇ output range is doubled, the total computational complexity does not increase the motion vector detection range It is equal to the case.
  • step 25 the number of motion vectors exceeding h / 2 is counted at the same time, and in step 26, the number of motion vectors exceeding hZ2 is counted. Is determined to be 10% or less, and if it is 10% or less, it is assumed that there is little movement and the motion vector detection range is set to! ⁇ / 2. In this case, the data is input to the error calculation circuit 2 without thinning out (step 27). If the motion vector exceeding h is less than 0% and the number of motion vectors exceeding hZ2 exceeds 10%, the detection range of the motion vector is not changed. No sub-sampling is performed.
  • the motion vector detection range can be expanded without increasing the calculation amount.
  • the accuracy of motion detection decreases, leading to image quality deterioration.
  • the image quality degradation due to the motion not following has a greater effect. Therefore, even if the image is a subsampled image, the image quality will be improved by expanding the motion vector detection range.
  • motion detection is performed on an image without sub-sampling, so that image quality is not degraded, and the motion vector detection range is narrowed, so that the processing time required for search can be shortened.
  • the motion vector detection range can be changed according to the motion of the image, so that a large motion can be handled, the difference between frames can be reduced, and the image quality does not deteriorate. Moreover, the amount of computation for calculating the motion vector does not increase, so that the amount of hardware for calculating the motion vector does not increase.
  • the conventional moving image compression encoding apparatus described with reference to FIG. 11 cannot detect an appropriate motion vector for a large moving image, and furthermore, has an appropriate motion vector detection range. Is difficult to set. That is, in the conventional moving picture compression encoding apparatus described with reference to FIG. 11, the motion vector detection range 320 as shown in FIG. The number of motion vectors P on the outer circumference is all blocks The motion vector detection range 320 was expanded when the value exceeded 50% of the number. That is, only the motion vector P on the outermost periphery of the motion vector detection range 320 is detected. However, there is a possibility that a motion vector that is more appropriate than the motion vector P on the outermost periphery of the motion vector detection range 320 may exist outside the motion vector detection range 320. Even in such a case, the conventional video compression encoding apparatus described with reference to FIG. 11 detects and uses the motion vector P instead of detecting the appropriate motion vector.
  • the conventional video compression encoding apparatus cannot detect an appropriate motion vector for an image having a large motion, and it is difficult to set an appropriate motion vector detection range. There is a problem that there is. Disclosure of the invention
  • a first aspect of the present invention is to generate a macroblock video signal in which an input video image is subdivided into N (where N is a natural number of 2 or more) per frame.
  • a motion vector detecting means for detecting a motion vector within a first motion vector detection range from the decoded video signal and the macroblock video signal. Steps (1 2) and
  • a first outermost line that is an outermost line of the first motion vector detection range, and a second outermost line that is inside the first motion vector detection range.
  • Motion vector counting means (14, 15) for counting the number of motion vectors between the second outermost line, which is the outermost line of the motion vector detection range, as the number of first motion vectors. , 16) and
  • the motion vector counting means (14, 15 and 16) is located within a third motion vector detection range inside the second motion vector detection range. Count the number of motion vectors as the number of second motion vectors,
  • the motion vector detection range determination means (13) is a moving image according to the first aspect of the present invention, wherein the first motion vector detection range is reduced based on the number of the counted second motion vectors. It is a compression encoding device.
  • the motion vector detection range determining means (13) is configured such that, when the number of counted first motion vectors is larger than a predetermined threshold, the first motion vector is determined. If the vector detection range is expanded and smaller than the predetermined threshold value, the first motion vector detection range is not expanded or the first motion vector detection range is not changed. It is a compression encoding device.
  • the motion vector detection range determining means (13) expands the first motion vector detection range as the number of counted first motion vectors increases.
  • 1 is a moving image compression encoding apparatus according to a first aspect of the present invention for increasing a rate.
  • the motion vector detection range determination means (13) includes a reduction ratio of the first motion vector detection range as the number of the counted second motion vectors increases.
  • 2 is a moving picture compression encoding apparatus according to a second aspect of the present invention, which increases the size of the video.
  • the motion vector detection range determination means (13) has a plurality of types of motion vector detection ranges in advance,
  • a motion vector detection range that is larger as the number of the counted first motion vectors is larger is selected, and the second motion vector detection range is set as the first motion vector detection range.
  • 1 is a moving image compression encoding apparatus of the present invention.
  • the motion vector detection range determining means (13) has a plurality of types of motion vector detection ranges in advance,
  • a smaller motion vector detection range is selected as the number of the counted second motion vectors is larger, and is set as the first motion vector detection range.
  • 2 is a moving picture compression encoding apparatus according to a second invention.
  • the motion vector detection range determining means (13) updates the first motion vector detection range for each P frame, or n P frames ( Where n is a natural number of N)
  • the motion vector detection range determination means calculates the number of the first motion vectors that are focused on the P frame or the division unit. When the number divided by the number of macroblock video signals existing in the P frame or in the division unit is equal to or greater than a predetermined threshold, the first motion vector detection range is expanded.
  • 1 is a moving image compression encoding apparatus according to the present invention.
  • the motion vector detection range determination means (13) updates the first motion vector detection range for each P frame, or n (n) , N ⁇ N).
  • the motion vector detection range determination means calculates the number of the second motion vectors counted in the P frame or in the division unit. Reducing the first motion vector detection range when the number divided by the number of macroblock video signals present in the P frame or in the division unit is equal to or greater than a predetermined threshold. Of the present invention.
  • the motion vector detecting means may include a first and a second motion vector detection range that expands the second motion vector detection range when expanding the first motion vector detection range. 3, 4, 6, and 8, which are any of the moving picture compression encoding apparatuses according to the present invention.
  • the motion vector detecting means may reduce the third motion vector detection range when reducing the first motion vector detection range. , 7, and 9.
  • the first and second inventions provide a method for compressing and encoding a macroblock video signal generated by subdividing an input video image into N (where N is a natural number of 2 or more) per frame.
  • a first outermost line which is an outermost line of the first motion vector detection range
  • a second outermost line which is inside the first motion vector detection range.
  • the second outermost line which is the outermost line of the motion vector detection range
  • a first outermost line which is the outermost line of the first motion vector detection range, and an outermost line of the second motion vector detection range, which is inside the first motion vector detection range.
  • a first outermost line that is the number of motion vectors above one or more second outermost lines adjacent to the first outermost line.
  • a motion vector counting step that counts the number of vectors,
  • an input video image is generated by subdividing an input video image into N (where N is a natural number of 2 or more) per frame.
  • a motion vector within a first motion vector detection range is obtained from a decoded video signal generated by decoding the compressed macroblock video signal after compression encoding the macroblock video signal and the macroblock video signal.
  • a first outermost line that is the outermost line of the first motion vector detection range and a second outermost line that is inside the first motion vector detection range a first outermost line that is the outermost line of the first motion vector detection range and a second outermost line that is inside the first motion vector detection range.
  • a fourteenth aspect of the present invention is a storage medium storing the program of the thirteenth aspect of the present invention.
  • a recording medium that can be processed by a computer.
  • FIG. 1 is a block diagram of a moving image compression encoding apparatus according to the first embodiment of the present invention.
  • FIG. 2 is a diagram illustrating an example of a motion vector of a macroblock according to the first embodiment of the present invention.
  • FIG. 3 is a diagram illustrating an example of a motion vector and a motion vector switching area according to the first embodiment of the present invention.
  • FIG. 4A is a diagram showing motion vector detection range candidates according to the first embodiment of the present invention.
  • FIG. 4B is a diagram illustrating a motion vector detection range according to the first embodiment of the present invention.
  • FIG. 5 (a) is a diagram showing an example of the current motion vector detection range in the first embodiment of the present invention.
  • FIG. 5 (b) is a diagram illustrating an example of the motion vector detection range after update according to the first embodiment of the present invention.
  • FIG. 6A is a diagram showing an example of the current motion vector detection range in the first embodiment of the present invention.
  • FIG. 6B is a diagram illustrating an example of the motion vector detection range after update according to the first embodiment of the present invention.
  • FIG. 7 is a diagram showing the timing of updating the motion vector detection range according to the first embodiment of the present invention.
  • FIG. 8A is a diagram showing an outline of pixel sampling when detecting a motion vector when the motion vector detection range is large according to the first embodiment of the present invention.
  • FIG. 8 (b) is a diagram showing an outline of pixel sampling when detecting a motion vector when the motion vector detection range is medium in the first embodiment of the present invention.
  • FIG. 8 (c) is a diagram showing an outline of pixel sampling when detecting a motion vector when the motion vector detection range is small according to the first embodiment of the present invention.
  • FIG. 9 is a flowchart of determining a motion vector switching area according to the first embodiment of the present invention.
  • FIG. 10 is a block diagram showing a configuration of a conventional motion vector detection device.
  • FIG. 11 is a block diagram showing a configuration of a conventional moving picture compression encoding apparatus.
  • FIG. 12 is an explanatory diagram showing the operation of the motion estimation device 307A constituting the conventional video compression encoding device.
  • FIG. 13 is a flowchart showing the processing operation of CPU 5 constituting the conventional moving picture compression encoding apparatus.
  • FIG. 14 is a diagram showing an example of a motion vector detection range and a motion vector of a conventional video compression encoding apparatus.
  • the motion vector detection range adaptively obtained based on the motion vector detected by the motion vector detection unit (means) is returned to the motion vector detection unit (means).
  • the motion vector detection range for detecting the motion vector by the motion vector detection unit (means) can be set in accordance with the motion of the input video image, and a more appropriate motion vector can be set. Even if there are multiple motion vector detection ranges (that is, the number of modes) for detection, the circuit scale does not increase. In addition, the accuracy in detecting the motion vector can be improved.
  • the motion vector detection area can be set appropriately in the motion vector detection unit in accordance with the motion of the input video image in units of the video image, simplifying the setting of the highly accurate motion vector detection range. be able to.
  • a motion vector to be actually applied is selected from a plurality of types of motion vector detection ranges provided in advance by referring to the result of the motion vector detection range adaptively obtained. Since there is a configuration to select the detection range, the update of the motion vector detection range set in the motion vector detection unit can be freely adjusted from the plurality of types according to the input moving image. The motion vector detection can be achieved according to the user's intention. Also
  • the motion vector detection range set in the motion vector detection unit can be achieved in accordance with the motion of the input video image, for example, motion vector detection in accordance with the user's intention.
  • the feedback means returns the motion vector detection range determined by the motion vector detection range determination means to the motion vector detection means and the switching area generation means.
  • the setting of the motion vector detection range can be determined by following the speed of the motion of the input video image, and the immediacy of the motion vector detection range according to the motion of the input video image can be improved. it can.
  • the motion vector detection range is switched, and the switched motion vector detection range is switched to the motion vector detection means. Since it has a configuration that feeds back to the area generation means, the amount of generated code can be reduced when encoding the input video image, and the speed of motion vector detection in accordance with the motion of the input video image can be further increased. .
  • FIG. 1 is a block diagram showing a configuration of a moving picture compression encoding apparatus according to the first embodiment of the present invention, which is an example showing a case of an MPEG (MovingPictCu resExer t ssG roup) method.
  • 1 is an input terminal
  • 2 is a frame rearranger
  • 3 is a discrete cosine transformer (hereinafter referred to as DCT)
  • 4 is a quantizer
  • 5 is a variable-length encoder.
  • 6 is a buffer memory
  • 7 is an output terminal
  • 8 is a rate controller
  • 9 is an inverse quantizer
  • 10 is an inverse 0 ⁇ 3
  • 11 is a frame memory.
  • 1 2 is a predictor
  • 13 is a detection range determiner
  • 14 is a switching area determiner
  • 15 is a comparator
  • 16 is a counter
  • 17 is A subtractor
  • 18 is a switching switch
  • 19 is an adder
  • 20 is a switch.
  • the frame rearranger 2 of the present embodiment is an example of the macroblock generating means of the present invention
  • the switch 18, the subtractor 17, the DCT unit 3, the quantizer 4, and the inverse switch 18 of the present embodiment are used.
  • the quantizer 9, the inverse DCT unit 10, the adder 19, the switch 20, and the frame scale 11 are examples of the code decoding means of the present invention.
  • the switching area determiner 14, the comparator 15, and the force counter 16 of the present embodiment are examples of the motion vector detecting means, and are examples of the motion vector counting means of the present invention.
  • the detection range determiner 13 of the embodiment is an example of the motion vector detection range determination means of the present invention.
  • the original image signal input from input terminal 1 is divided into audio and video signals in advance among the video and audio signals. This is a separated video signal.
  • the video signal is rearranged into frames by the frame rearranger 2
  • the original video signal of a unit obtained by subdividing the frame by a predetermined number of pixels (hereinafter referred to as a macroblock unit) is rearranged into a frame.
  • Output to the switch 18 in the order rearranged by the detector 2 hereinafter referred to as the decoding order).
  • the switching switch 18 outputs the original video signal in macroblock units (hereinafter referred to as a macroblock video signal) as it is, or a subtractor 17 using a motion-compensated prediction video signal or the like from the macroblock video signal. Select whether to subtract.
  • macroblock video signal hereinafter referred to as a macroblock video signal
  • the switching switch 18 selects the macroblock moving image signal as it is described.
  • the macroblock video signal output from the switch 18 is an I picture
  • the DCT signal subjected to discrete cosine transform by the DCT unit 3 is output to the quantizer 4.
  • the quantizer 4 performs quantization with a predetermined quantization value returned from the rate controller 8, and outputs a quantized signal with a reduced amount of information to the variable-length encoder 5 and the inverse quantizer 9. I do.
  • the quantized signal input to the variable-length encoder 5 is output to the buffer memory 6 as an encoded signal that has been encoded by the variable-length encoder 5, and the buffer memory 6 encodes the signal until it is extracted from the output terminal 7.
  • the generated code amount is output to the rate controller 8.
  • the quantized value based on the generated code amount is fed back to the quantizer 4.
  • the encoded signal extracted from the output terminal 7 is multiplexed with an audio signal by a system encoder (not shown).
  • the quantized signal input to the inverse quantizer 9 outputs an inverse quantized signal inversely quantized with a predetermined quantization value to the inverse DCT unit 10.
  • the inverse DCT unit 10 outputs an inverse DCT signal obtained by subjecting the input quantized signal to inverse discrete cosine processing.
  • the switching switch 18 selects the macro block video image signal as it is, as in the case of an I-picture, the switch is linked to the switching switch 18.
  • Switch 20 is in the OFF state, and the reference video signal in macro-block units (hereinafter referred to as macro-block reference signal) is stored in frame memory 11 without adding it to the inverse DCT signal by adder 19 until frame 1 becomes 1 frame. Store.
  • the difference between the frame-based reference video signal (hereinafter referred to as the frame reference signal) stored for one frame in the frame memory 11 and the macroblock video signal from the frame rearranger 2 is minimized.
  • the motion vector is predicted by the predictor 12 and the motion vector detection range is detected, and the motion vector and the video signal after motion compensation prediction (hereinafter, referred to as a predicted video signal) are output.
  • the switch 18 is a P picture or a B picture in which the subtracter 17 selects a difference signal between the macroblock moving picture signal and the predicted picture signal
  • a difference signal obtained by subtracting a predicted video signal based on the immediately preceding I picture or P picture from the macroblock video signal is output to the DCT unit 3, and the DCT signal is output to the quantizer 4.
  • One of the quantized signals output from the quantizer 4 is stored in the buffer memory 7 until it is extracted from the output terminal 7 via the variable length encoder 5 and the buffer memory 6, and the generated code amount is controlled by the rate controller 8. And feeds back the quantized value to the quantizer 4.
  • the encoded signal stored in the buffer memory 6 is output from the output terminal 7 to the system encoder in the same manner as described above.
  • the other of the quantized signals is input to an adder 19 via an inverse quantizer 9 and an inverse DCT unit 10.
  • Switch 20 is turned on in conjunction with switch 18 and the I-picture or P-picture immediately before subtraction by subtracter 17 is added to the inverse DCT signal output from inverse 0 10 Obtain the reference signal.
  • the macroblock reference signal added by the adders 1 and 9 is stored in the frame memory 11 until one frame is obtained, and the estimator 12 uses the frame reference signal from the frame memory 11 and the macroblock moving image signal. The motion vector with the smallest difference signal is detected within the motion vector detection range.
  • a motion vector and a predicted video signal as shown in FIG. 2 are output.
  • the macroblock video signal is a B-picture
  • the P-picture is the same as the P-picture except that the difference between the predicted video signal based on the preceding and following I-pictures or P-pictures and the macroblock video signal is calculated by the subtractor 17. is there.
  • the subtractor 17. is there.
  • B-pictures refer to the preceding and following pictures as described above, so the algorithm for updating the motion vector detection range on a frame-by-frame basis becomes more complicated, but the accuracy is not much improved.
  • an algorithm is adopted in which a B picture is ignored until the next P picture is selected.
  • One of the signals output from the predictor 12 obtained in this way is used as a predicted video signal for subtracting the next macroblock video signal by the subtractor 17, and the other is, for example, as shown in FIG.
  • a motion vector for each macro block is output to the comparator 15.
  • Region D in FIG. 3 indicates a region where the detection range of the motion vector is narrowed
  • region U indicates a region where the detection range of the motion vector is expanded. That is, the motion vector Vu corresponding to the macroblock C ij detected by the predictor 12 shown in FIG. 2 is determined by the range of the motion vector switching area D or U output from the switching area determiner 14.
  • the comparator 15 compares and verifies whether or not the macroblock exists, and adaptively determines a macroblock switching signal, and outputs the signal to the counter 16.
  • FIG. 4 is a diagram illustrating the motion vector detection range shown in FIG. 3 in more detail.
  • FIG. 4 (a) shows the motion vector detection range candidates. In the present embodiment, five motion vector detection range candidates A1, A2, A3, A4, and A5 are shown. is there. These motion vector detection range candidates are It is stored in the scale 13.
  • the motion vector detection ranges used when the motion vector is detected by the predictor 12 and when the motion vector switching area is determined by the switching area determiner 14 are these five motion vectors.
  • One of the vector detection range candidates Al, A2, A3, A4, and A5 is selected and used.
  • A3 of the motion vector detection range candidates A1, A2, A3, A4, and A5 is actually used as the motion vector detection range.
  • the outermost line 13 which is the outermost line of the motion vector detection range A3, and the outermost line 13 of the motion vector detection range A3 inside the motion vector detection range A3.
  • the region between the outermost line 13 and the outer line corresponds to the region U described in Fig. 3.
  • the area U in FIG. 3 is determined by the switching area determiner 14. Then, as described later, if a predetermined condition is satisfied when a motion vector is in the area U, processing is performed so as to expand the motion vector detection range A3. At this time, processing is performed so that the motion vector detection ranges A3, A3 '' 'are also expanded at the same time.
  • the area inside the outermost lines 13, 3, which is the outermost line of the motion vector detection ranges A3,, which is inside the motion vector detection range A3, is shown in the figure. This corresponds to the area D described in 3.
  • the area D in FIG. 3 is determined by the switching area determiner 14, and as described later, when the motion is in the area D and the vehicle satisfies a predetermined condition, the motion vector is detected. Processed to reduce range A3. At this time, the motion vector detection ranges A3, A3, A3, are also reduced.
  • the switching area determiner 14 determines the area U and the area D in FIG. 3 according to the motion vector detection range.
  • the switching of the motion vector detection range is performed by P picture.
  • Comparator 15 operates only when encoding P pictures, but also operates when encoding B pictures if B pictures are also taken into account. Of course.
  • the comparator 15 determines whether the motion vector Vij corresponding to the macroblock Cij is in the area U in FIG. 3 and whether or not it is in the area D in FIG. Output to counter 16 as block switching signal.
  • the counter 16 When the macroblock switching signal is input, the counter 16 indicates that the motion vector Vij corresponding to the macroblock Cu indicates that the motion vector Vij is in the area U in FIG. If the count value corresponding to U is incremented by 1 and the macroblock switching signal indicates that the motion vector Vij corresponding to the macroblock Cij is in area D in Fig. 3, Increment the corresponding count value by one.
  • the counter 16 counts the count value corresponding to the area D and the count value corresponding to the area U for one frame, and the counter 16 converts the count result into a frame-based switching signal (hereinafter referred to as a frame switching signal). )
  • the detection range determiner 13 adaptively determines the motion vector detection range in frame units.
  • the detection range determiner 13 selects the motion vector detection range that is actually used from the motion vector detection range candidates Al, A2, A3, A4, and A5 shown in FIG. 4 (a). Determined by
  • the detection range determiner 13 sets the motion vector detection range A4 as shown in Fig. 5 (b). Select to reduce the motion vector detection range. More specifically, the detection range determiner 13 is input from the counter 16. The value obtained by dividing (the number of motion vectors existing in the motion vector switching area D) by (the number of macro blocks existing in one frame period) based on the input frame switching signal is a predetermined threshold value. At this point, the motion vector detection range is switched to the motion vector switching area A4. At this time, the motion vector detection ranges A 3,, A 3,, are simultaneously switched to A 4,, A 4 ', respectively. Thus, the detection range determiner 13 reduces the detection range of each motion vector.
  • the detection range determiner 13 determines the motion vector detection range to be the motion vector detection range A4
  • the determined motion vector detection range is transmitted to the switching area determiner 14 and the predictor 12. Will return.
  • the switching area determiner 14 determines the motion vector switching areas D and U according to the determination as shown in FIG. 5 (b).
  • the detection range determiner 13 detects the motion vector as shown in FIG. 6 (b).
  • the motion vector detection range is expanded by selecting the range A2. More specifically, based on the frame switching signal input from the counter 16, the detection range determiner 13 calculates (the number of motion vectors existing in the motion vector switching area U) by (one frame). When the value divided by the number of macroblocks existing during the period of time exceeds a predetermined threshold, the motion vector detection range is switched to the motion vector detection range A2. At this time, the motion vector detection ranges A 3,, A 3,, are simultaneously switched to A 2 ', A 2,, respectively. Thus, the detection range determiner 13 expands the detection range of each motion vector.
  • the detection range determiner 13 determines the motion vector detection range as the motion vector detection range A2
  • the determined motion vector detection range is fed back to the switching area determiner 14 and the predictor 12 .
  • the switching area determiner 14 determines the motion vector switching areas D and U as shown in FIG. 6 (b) according to the determination.
  • the detection range determiner 13 calculates a value obtained by dividing (the number of motion vectors existing in the motion vector switching area D) by (the number of macroblocks existing in one frame period) a predetermined threshold value. If it is smaller and the value obtained by dividing (the number of motion vectors existing in the motion vector switching area U) by (the number of macroblocks existing in one frame period) is smaller than a predetermined threshold value, Does not enlarge or shrink the title detection range. That is, the motion vector detection range is not changed.
  • the motion vector detection range fed back to the predictor 12 is used as the optimal motion vector detection range for each frame when the motion vector is predicted by the predictor 12 for the next frame. Used as a motion vector detection range.
  • the predictor 12 will calculate the motion vector in the next frame unit.
  • the motion vector detection range A4 is used in predicting the motion vector.
  • the predictor 12 determines the motion vector in the next frame unit.
  • the motion vector detection range A2 is used.
  • FIG. 7 shows the timing of updating the motion vector detection range.
  • the motion vector detected in the P frame 20 is used by the detection range determiner 13 to determine the motion vector detection range of the next P frame 21.
  • the moving picture compression encoding apparatus sets the motion vector detection range for each P frame. It is switching.
  • the conventional video compression encoding apparatus described with reference to FIG. 11 uses the motion vector on the outermost periphery of the motion vector detection range 320. Since only P was detected, a motion vector that is on the outermost circumference of the motion vector detection range 320 is more appropriate than the motion vector P and exists outside the motion vector detection range 320. However, such motion vectors could not be detected and used. Even in such a case, in the conventional moving image compression encoding apparatus described with reference to FIG. 11, the motion vector P is detected and used instead of detecting the appropriate motion vector.
  • the moving picture compression encoding apparatus when expanding the motion vector detection range, the moving picture compression coding apparatus rides on the area U shown in FIGS. 3, 4, 5, and 6, respectively.
  • the motion vector is considered. Therefore, even if a proper motion vector exists outside the motion vector detection range in the conventional technology and such a proper motion vector cannot be detected, the area U is not detected as in the present embodiment.
  • the motion vector By considering the motion vector as an object of the motion vector, it becomes possible to detect an appropriate motion vector that cannot be detected by the conventional technology.
  • an appropriate motion vector can be detected even for an input moving image with a large motion, and an appropriate motion vector detection range can be set.
  • the moving image compression encoding apparatus performs the motion vector decoding in parallel with the processing operation of the motion vector detecting means 21 for detecting the motion vector of the moving image signal by performing the compression encoding.
  • the motion vector for detecting the vector The configuration is such that the detection range is replaced with the range optimized for the previous frame unit.Therefore, the hardware scale of the circuit etc. provided to the motion vector detection means 21 The effect is that the detection of the motion vector can be optimized without increasing the motion vector. In addition, an appropriate motion vector can be detected even for an image having a large motion, and an appropriate motion vector detection range can be set.
  • the detection range determiner 13 has been described as selecting the motion vector detection range to be actually used from among the five motion vector detection range candidates, but the present invention is not limited to this.
  • the actual motion vector detection range may be selected from the three motion vector detection range candidates, or the actual motion vector detection range may be selected from the seven motion vector detection range candidates. I do not care.
  • the detection range determiner 13 of the present embodiment stores a plurality of motion vector detection range candidates, and determines even by selecting a motion vector detection range to be actually used from among them. do it.
  • the detection range determiner 13 may increase the magnification of the motion vector detection range as the number of motion vectors existing in the motion vector switching area U increases.
  • the detection range determiner 13 sets a larger motion vector detection range as the number of motion vectors in the motion vector switching area U increases from the motion vector detection range held in advance.
  • the detection range determiner 13 does not hold the motion vector detection range in advance.
  • a range may be created.
  • the detection range determiner 13 may increase the reduction ratio of the motion vector detection range as the number of motion vectors existing in the motion vector switching area D increases. In this case, the detection range determiner 13 sets a smaller motion vector detection range as the number of motion vectors existing in the motion vector switching area D increases from the motion vector detection range held in advance. The detection range determiner 13 does not hold the motion vector detection range in advance, and the smaller the number of motion vectors in the motion vector switching area D, the smaller the motion vector.
  • the torque detection range may be generated.
  • the moving picture compression encoding apparatus has a pixel-by-pixel basis when the motion vector detection range is narrow.
  • the approaching motion vector is detected, and conversely, if it is wide, the motion vector that is detected only for the widened area is thinned out. That is, when the detection range is wide as in the motion vector detection range A1 as shown in Fig. 8 (a), the motion vector related to the thinned pixels is detected as shown by black marks, and conversely.
  • the detection range is narrow as in the motion vector detection range A5 as shown in FIG. 8 (c) the motion vector is detected in pixel units as indicated by black marks. Therefore, even if the detection range of the motion vector is wide, pixels for obtaining the motion vector are thinned out according to the size of the detection range, so that the calculation amount for detecting the motion vector does not increase.
  • the motion vector detection range is increased. Optimization can be achieved by appropriately enlarging and reducing the size of the motion of the input video, improving the accuracy of motion vector detection and thereby reducing the amount of generated code, resulting in high-quality video after decoding. Can be achieved.
  • circuits such as storage means required for motion vector detection can be made to have a scale corresponding to the narrowest range of the motion vector detection range.
  • Device that can realize the decoded image of It can be cheaper.
  • a switching area determiner 14 for generating a motion vector detection range switching area according to the motion vector detection range, and the motion vector detection range switching area And a comparator 15 for comparing the detected motion vector with the detected motion vector to determine whether the motion vector is in the motion vector switching area. If a configuration is provided to store the judgment signal of the output signal of 15 and determine the motion vector detection range based on the judgment signal stored in the counter 16, the motion vector detected by the motion vector detecting means 21 is provided.
  • the vector motion vector detection range can be set to follow the motion of the input video image, and the immediacy of the motion vector detection range in accordance with the motion of the input video image can be improved.
  • the motion vector detection range output from the detection range determiner 13 to the predictor 12 has been described as being updated on a frame basis, but is not limited to this. Although the description has been made assuming that the motion vector detection range is determined adaptively in frame units, the present invention is not limited to this.
  • the motion vector detection range output from the detection range determiner 13 to the predictor 12 may be updated in n (n is a natural number satisfying ⁇ ⁇ ) periods.
  • N is the total number of macroblocks existing in one frame, and the total number of macroblocks in one division unit when one frame is divided into a plurality is n.
  • the counter 16 is configured to store the number of motion vectors existing in the motion vector switching area in the n periods, and (the number of motion vectors existing in the motion vector switching area).
  • the motion vector detection range is switched, and the switched motion vector detection range is moved to the motion vector detection means. 2 Return to 1 and switching area determiner 14 You.
  • the motion vector detection range is set to, for example, as shown in FIG. (a), as shown in FIG. 5 (b), the motion vector detection range A3 is switched to the motion vector detection range A4. In other words, the motion vector detection range is reduced.
  • the value obtained by dividing by (the number of motion vectors existing in the area U)) r (the number of macroblocks existing in n periods) is equal to or greater than a predetermined threshold.
  • the motion vector detection range is switched from the motion vector detection range A3 to the motion vector detection range A2, for example, as shown in FIGS. 6 (a) and 6 (b). That is, the range of motion vector detection is expanded.
  • the input video image input from the input terminal 1 is rearranged by the frame rearranger 2 in decoding order, and subdivided into N (where N is a natural number of 2 or more) per frame in step 31 Macroblock video signal.
  • step 32 the switching switch 18 determines whether the macroblock video signal extracted from the frame rearranger 2 in decoding order is an I-picture or a non-I-picture.
  • the switch 20 is turned off.
  • the macroblock video signal determined as an I picture is transferred to the frame memory 11 via the DCT unit 3, the quantizer 4, the inverse quantizer 9, the inverse DCT unit 10 and the adder 19 in step 33. Restoring macroblock video of pictures Store the encoded signal.
  • step 34 it is determined that the compression decoding of the one-frame MAC block block moving image signal has been completed.
  • step 32 it is determined whether the macroblock video signal extracted from the rearranger 2 is an I-picture, and if it is not an I-picture, in step 35, whether it is a P-picture or a B-picture is determined by the switching switch 18.
  • step 36 the macroblock video signal and the predicted video signal output from the predictor 12 are subtracted by the subtractor 17 to obtain a difference signal. Output and switch 20 ON.
  • the difference signal subtracted in step 36 passes through DCT unit 3, quantizer 4, inverse quantizer 9, and inverse DCT unit 10 in step 37, and P-picture inverse DCT signal in adder 19. And the predicted video signal output from the predictor 12 (In this example, the predicted video signal is from the immediately preceding I picture, but if a P picture follows, the predicted video signal is from the immediately preceding P picture) And stores the macro block reference signal in the frame memory 11 until one frame is reached. At the same time, a predictor 12 generates a predicted video signal using a motion vector that minimizes the difference between the frame reference signal and the macroblock video signal from the frame rearranger 2.
  • the predicted video signal generated in Step 37 is input to the comparator 15 in Step 38, and the predicted video signal and the motion vector switching area output from the switching area determiner 14 are output from the comparator 15 to the comparator 15.
  • the macro block switching signal is output to the counter 16 by comparing.
  • the counter 16 stores the macroblock switching signal until one frame is reached.
  • step 34 the pressure of the macroblock video signal for one frame is The end of the compression / decoding is determined, and if one frame has not been reached, the process returns to step 32.
  • the step of turning on the switch 20 is step 36.
  • any step may be used before the addition is performed by the adder 19, and the step may be performed in step 35 or step 37. Of course, it is possible.
  • step 32 it is determined whether the macroblock video signal extracted from the rearranger 2 is an I-picture, and if it is not an I-picture, in step 35, whether it is a P-picture or a B-picture is determined by the switching switch 18.
  • step 39 the subtractor 17 subtracts the macroblock video signal from the predicted video signal output from the comparator 12 to output a difference signal.
  • step 40 the difference signal subtracted in step 39 passes through the DCT unit 3 and the quantizer 4 to generate a quantized signal.
  • step 34 the compression decoding of one frame of the macroblock video signal is performed. Judgment of the end, and if it has not reached one frame, return to step 32.
  • step 34 If it is determined in step 34 that one frame has been reached, a frame switching signal is output from the counter 16 to the detection range determiner 13 in step 41, and the detection range determiner 13 The motion vector detection range is fed back to the predictor 12 and is also output to the switching area determiner 14, and the switching area determiner 14 generates the motion vector switching area, and the comparator 1 Output to 5.
  • step 41 a motion vector detection range for each frame is generated and output to the predictor 12.
  • step 42 the video signal ends and it is determined whether or not the next frame exists. If so, the process returns to the frame rearranger 2, and if there is no next frame, the process is terminated.
  • the motion vector detection range is updated by a frame.
  • the processing may be performed in a predetermined unit of the input moving image signal such as a screen unit, a frame unit, a group of pictures (GOP) unit, or the like.
  • a predetermined unit of the input moving image signal such as a screen unit, a frame unit, a group of pictures (GOP) unit, or the like.
  • MPEG compression has been described as an example.
  • the compression / decoding method is not limited to MPEG, and may be, for example, in the time direction such as H.261 or H.263. Any compression method that performs inter-frame prediction to reduce redundancy can be applied.
  • the motion of the input video is reduced. It has the effect of selecting the optimal motion vector detection range according to the speed, and as a result, an excellent effect of achieving high image quality can be obtained.
  • an appropriate motion vector can be detected even for an image having a large motion, and an appropriate motion vector detection range can be set.
  • the program of the present invention is a program for causing a computer to execute all or some of the steps (or steps, operations, actions, and the like) of the above-described motion vector detection method of the present invention. It is a program that works in cooperation with.
  • the recording medium of the present invention is a program for causing a computer to execute all or a part of all or some of the steps (or steps, operations, actions, etc.) of the above-described motion vector detection method of the present invention. And a computer-readable recording medium that executes the above-described operation in cooperation with the computer.
  • the “partial means (or device, element, etc.)” of the present invention means Means one or several means of the plurality of means, and the “partial steps (or steps, operations, actions, etc.)” of the present invention means “out of the plurality of steps”. Means one or several steps.
  • the “function of the means (or device, element, etc.)” of the present invention means all or a part of the function of the means, and the “step (or process, operation, operation, etc.) The operation of “)” means the operation of all or part of the steps.
  • One use form of the program of the present invention may be a form in which the program is recorded on a computer-readable recording medium and operates in cooperation with the computer.
  • One use form of the program of the present invention may be a form in which the program is transmitted through a transmission medium, read by a computer, and operates in cooperation with the computer.
  • the data structure of the present invention includes a database, a data format, a data table, a data list, a data type, and the like.
  • the recording medium includes ROM and the like
  • the transmission medium includes transmission media such as the Internet, light, radio waves and sound waves.
  • the computer of the present invention described above is not limited to pure hardware such as CPU, but may include firmware, OS, and peripheral devices.
  • the configuration of the present invention may be realized by software or hardware. Industrial applicability
  • the present invention provides an image with large motion.
  • a video compression encoding apparatus, a motion vector detection method, a recording medium, and the like that can detect an appropriate motion vector even for an image and can set an appropriate motion vector detection range. You can offer a program.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

明 細 書 動画像圧縮符号化装置、 及び動きべクトル検出方法 技術分野
本発明は、 動画像を圧縮符号化するための動画像圧縮符号化装置と、 その動きベク トル検出方法、 記録媒体、 及びプログラムに関する。 背景技術
動画像圧縮符号装置において、 動きべクトル検出装置は、 動きべクト ルの検出精度を高めようとすると、 ハードウェア規模が大きくならざる を得ない。 そのため動きべク トル検出は、 検出範囲は狭いが検出精度は 高いモード、 あるいは、 検出範囲は広いが検出精度は低いモードで行わ れている。
従来の動きべクトル検出装置は、 例えば特開平 9— 2 2 4 2 4 9号公 報に記載されたものが知られている。 なお、 特開平 9一 2 2 4 2 4 9号 公報の文献の全ての開示は、 そっく りそのまま引用する (参照する) こ とにより、 ここに一体化する。 その動きベクトル検出装置を図 1 0に示 す。 1 0 1は動画像圧縮符号化器に現在のフレーム信号である参照フレ ーム信号を入力する参照フレーム信号入力端子で、 1 0 2は動画像圧縮 符号化器に 1つ前のフレーム信号である予測フレーム信号を入力する予 測フレーム信号入力端子である。 1 0 3は検出範囲は広いが検出精度は 低いモードで動きべク トル検出を行う広域動きべクトル検出器であり、 1 0 4は検出範囲は狭いが検出精度は高いモードで動きべクトル検出を 行う狭域動きべクトル検出器であり、 1 0 5は広域動きべクトル検出器 1 0 3と狭域動きべクトル検出器 1 0 4とで得られた動きべク トル検出 結果を比較評価する比較器であり、 1 0 6は比較器 1 0 5の比較結果に 基づき、 広域動きベク トル検出器 1 0 3、 あるいは狭域動きベク トル検 出器 1 0 4からの動きべク トル検出の結果いずれかを出力する切換器で あり、 1 0 7は広域動きべク トル検出器で検出した動きべク トルを出力 する出力端子である。
以上のように構成された従来の動きべク トル検出装置について、 その 動作について説明する。 まず、 参照フレーム信号入力端子 1 0 1から入 力した参照フレーム信号はローパスフィルタ 1 0 8及ぴダウンサンプリ ング回路 1 0 9を経て広域動きべクトル検出器 1 0 3に入力される。 そ れと共に、 参照フレーム信号入力端子 1 0 1から入力した参照フレーム 信号は、 狭域動きベク トル検出器 1 0 4にも入力される。 同様に、 予測 フレーム信号入力端子 1 0 2から入力した予測フレーム信号はローパス フィルタ 1 1 0及びダウンサンプリング回路 1 1 1を経て広域動きべク トル検出器 1 0 3に入力される。 それと共に、 予測フレーム信号入力端 子 1 0 2から入力した予測フレーム信号は、 狭域動きべク トル検出器 1 0 4にも入力される。 それぞれの動きべク トル検出器 1 0 3及び 1 0 4 で検出された動きべクトルは、 比較器 1 0 5で比較評価され、 評価の高 い方の動きべク トルを切換器 1 0 6から出力端子 1 0 7に出力される。
しかしながら図 1 0の動きべクトル検出装置の構成では、 より適正な 動きベク トルを検出するため動きベク トル検出範囲の数 (以下、 モード 数と称す) を、 例えば 2つにすると、 モード数が 1つの場合に比べてハ 一ドウエア規模が増大する。
すなわち、 動きべクトル検出範囲の数を例えば検出範囲は狭いが検出 精度は高い動きべクトルの検出範囲と、 検出範囲は広いが検出精度は低 い動きべクトル検出範囲との 2つにすると、 検出範囲は狭いが検出精度 は高い狭域動きべク トル検出器 1 0 4と、 検出範囲は広いが検出精度は 低い広域動きべクトル検出器 1 0 3との 2種類のハードウェアが必要に なる。 そして、 それぞれの動きベクトル検出器について、 同時に動きべ クトル検出を実行する必要があり、 2つの動きべク トル検出器 1 0 3及 び 1 0 4それぞれに独立した動きべク トル検出回路が必須となり、 動き ベタトル検出回路等のハードウエア規模が大きくなるという課題があつ た。
図 1 0で説明した従来の動きべク トル検出装置の課題を解決するため に、 例えば特開平 1 0 — 2 3 4 2 0号公報に記載の動画像圧縮符号化装 置が知られている。 なお、 特開平 1 0— 2 3 4 2 0号公報の文献の全て の開示は、 そっく りそのまま引用する (参照する) ことにより、 ここに 一体化する。 その動画像圧縮符号化装置を図 1 1に示す。
図 1 1は、 従来の動画像圧縮符号化装置のブロック図である。 図 1 1 において、 3 0 1は D C T回路であり、 3 0 2は量子化器であり、 3 0 3は逆量子化器であり、 3 0 4は逆 D C T回路であり、 3 0 5はフレー ムメモリであり、 3 0 6は動き補償フレーム間予測回路であり、 3 0 7 Aは動き検出装置であり、 3 0 8はフレーム内 · フレーム間切り替え信 号である。 また、 動き検出装置 3 0 7 Aは、 バッファメモリ 2 0 1、 誤 差計算回路 2 0 2、 誤差比較回路 2 0 3、 ァドレス発生回路 2 0 4から なる。
以上のように構成された従来の画像符号化装置について、 以下その動 作を説明する。 符号化の最初のフレーム、 すなわち第 1フレームは、 フ レーム内 . フレーム間切り替え信号 3 0 8により、 フレーム内符号化に 切り替えられ、 差分が取られることなく、 フレームごとにフレーム内符 号化される。 すなわち、 画像データは、 2次元ブロック単位で D C T回 路 3 0 1で変換係数に変換され、 量子化器 3 0 2で変換係数を量子化さ れた後、 伝送路に送出される。 一般的に、 画像は相関が高いため、 D C Tを行うと、 低い周波数成分に対応する変換係数にエネルギーが集中す る。 したがって、 視覚的に目立たない高い周波数成分を粗く、 重要な成 分である低い周波数成分を細かく量子化を行うことで、 画質劣化を最小 限にとどめ、 かつデータ量を減らすことが可能となる。 上記伝送路に送 出した量子化後の変換係数は、 同時に逆量子化器 3 0 3、 逆 D C T変換 回路 3 0 4を経て実時間データに戻され、 フレームメモリ 3 0 5に蓄え られる。
一方、 第 2フレーム以降の画像は、 フレーム内 . フレーム間切り替え 信号 3 0 8により、 フレーム間符号化に切り替えられ、 動き補償された 上で前フレームの画像との差分が取られ、 フレームごとにフレーム間の 画像信号の差分が符号化される。 つまり、 フレームメモリ 3 0 5に格納 した前フレームの画像データと動き検出装置 3 0 7 Aで検出した 2次元 プロック単位の動きべクトノレとに基づいて第 2フレーム以降の画像の予 測値が動き補償フレーム間予測回路 3 0 6で生成され、 第 2フレーム以 降の画像と動き補償フレーム間予測回路 3 0 6で生成された第 2フレー ム以降の予測値との差分である予測誤差が、 2次元プロック単位で D C T回路 3 0 1で変換係数に変換され、 量子化器 3 0 2で変換係数を量子 化された後、 伝送路に送出される。 上記伝送路に送出した量子化後の変 換係数は、 同時に逆量子化器 3 0 3、 逆 D C T変換回路 3 0 4を経て実 時間データに戻し、 フレームメモリ 3 0 5に蓄える。
つぎに、 動き検出装置 3 0 7 Aについて詳しく説明する。 この動き検 出装置 3 0 7 Aでは、 例えば良く知られた、 全探索方法を用いて、 2次 元プロック単位にフレーム間の動きべクトルを求める構成となっている。 図 1 2は動き検出装置 3 0 7 Aの動作を示す説明図で、 以下、 図 1 2を 参照しながら動き検出動作を説明する。 図 1 2において、 3 1 1は第 2 フレームのある 1つの 2次元プロックで m画素 (水平方向) X n画素 ( 垂直方向) の矩形ブロックからなる。 3 1 2A, 3 1 2 Bは誤差計算を 行うための第 1フレームの 2次元ブロックであり、 大きさは 2次元プロ ック 3 1 1と同じ大きさである。 3 1 3は動き検出によって求めた動き ベタトルで、 2次元ブロック 3 1 1の中心座標と 2次元プロック 3 1 2 Bの中心座標を結ぶものである。
図 1 2における二次元プロック 3 1 1は、 第 2フレームにおける中心 座標(x,y,2) を有する 2次元ブロックであり、 二次元プロックを中心座 標に対応した記号 S(x,y,2)で表す。 また、 2次元プロック 3 1 2A, 3 1 2 Bは第 1フレームにおける中心座標(x, y, 1) , (x+mx, y+my, 1) をそ れぞれ有する 2次元プロックであり、 同様に二次元プロックを中心座標 に対応した記号 S(x, y, 2), S(x+mx, y+my, 1)で表す。 ただし、 xはフレー ムの中心を原点とする水平方向の画素座標を示し、 yはフレームの中心 を原点とする垂直方向の画素座標を示し、 x, yの後の 1, 2の数字は フレーム番号を示す。 また、 3 1 4は動きベク トルを計算する 2次元ブ ロックを示す矩形 (水平方向 2 h、 垂直方向 2 V) の動きベク トル検出 範囲であり、 X hは動きベク トル検出範囲の中心 (図では、 座標(xy, l ) ) を原点とする水平方向の局部画素座標を示し、 y'vは動きベク トル 検出範囲の中心 (図では、 座標(x,y, l) ) を原点とする垂直方向の局部 画素座標を示している。
第 2フレームの画像データは、 フレーム間符号化されるときに、 同時 にバッファメモリ 20 1に入力する。 なお、 第 1フレームの画像データ は、 既にバッファメモリ 20 1に格納されている。 今、 基準を第 2フレ ーム (現フレーム) の 2次元ブロック 3 1 1とし、 第 1フレーム (前フ レーム) の 2次元プロック 3 1 2 Bと第 2フレーム (現フレーム) の 2 次元ブロック 3 1 1の間の動きべクトル 3 1 3を検出する。 ノ ッファメ モリ 2 0 1に入力した第 1, 第 2フレームの画像は、 mX n画素ずつの 2次元プロック単位で読み出し、 2次元プロック単位で動きべクトルを 検出する。
以下、 座標を用いて動きべク トルの検出手順について、 具体的に説明 する。 アドレス発生回路 2 0 4により、 第 2フレームにおける中心座標 (x, y, 2) を有する 2次元プロック S(x,y,2)の画像データを読み出し、 こ の 2次元プロック S(x,y,2)を基準ブロックにとり、 以下の手順でこの基 準プロックと第 1フレームとの間の動きを検出する。 バッファメモリ 2 0 1には上述したように第 1フレームの画像データも格納してあり、 つ ぎに第 1 フレームにおける中心座標(x,y,l) を有する 2次元プロック S( x,y,l)の各画像データを読み出す。 誤差計算回路 2 0 2では、 前記 2つ の 2次元プロック S(x,y,2), S(x,y,l)における画像データの振幅.の 2乗 誤差の和 (以下、 単に誤差という) σ (χ,γ) (0,0)を 〔数 1〕 で計算し、 誤差比較回路 2 0 3に送る。
(数 1 )
Figure imgf000008_0001
(S(x+x',y+y,,2)-S(x+x,,y+yM )Γ
y'=-n x'=-m 次に、 アドレス発生回路 2 0 4は、 第 1フレームにおける水平方向 1 画素隣の mX nプロックすなわち中心座標(x+l,y, 1) の二次元ブロック S(x+l,y, 1)のアドレスを発生する。 誤差計算回路 2 0 2では、 同様にび (x,y) (+l,0) を計算し、 誤差比較回路 2 0 3に送る。 誤差比較回路 2 0 3では、 σ (x, y) (0, 0)と σ (x, y) (+1, 0) を比較し、 小さい方を選択する c 以下同様に、 一h < x h < li、 一 V < y Vく Vの範囲でアドレスを逐次 変更しながら 2次元プロックの画像データを読み出し、 σ (x, y) (xh, yv) を計算する。 誤差比較回路 2 0 3は、 以上で計算された誤差 σ (x, y) (xh,yv)から最 小値をとる誤差 σ (x, y) (mx,my)を選択し、 同時にアドレス mx, myを出力 する。 したがって、 2次元ブロック S (x,y,2)における動きベクトル 2 1 3は mv (mx, my)となる。 以下、 第 2フレーム内において、 複数に分割さ れた 2次元プロックの全てについて上記した動作を繰り返すことにより 、 第 2フレーム内の全ての 2次元ブロックの動きべクトルが求まる。 動き補償フレーム間予測回路 3 0 6は、 第 2フレームについて各 2次 元ブロック毎に検出した動きべクトルを用いて、 第 2フレームの動き補 償した予測値を 2次元プロック単位で生成する。 第 2フレームの画像は 、 まず第 1フレームの画像データと第 2フレームの動きべク トルカ ら上 述した方法で生成した予測値との差分、 すなわち予測誤差を計算する。 その後、 前述した予測誤差をフレーム毎に、 第 1フレームと同様の方法 で符号化する。
" 以上のような構成により、 現フレームを分割した 2次元ブロックの位 置を中心とする前フレームの所定の動きべクトル検出範囲内で、 現フレ ームを分割した 2次元プロックと同じ大きさの 2次元プロックの画像デ ータを逐次位置を変更しながら抽出し、 前フレームの所定の動きべク ト ル検出範囲内の各 2次元プロックの画像データと現フレームの分割した 2次元プロックの画像データとの誤差計算および前フレームの所定の動 きべクトル検出範囲内の位置の異なる 2次元プロックについての誤差比 較を行うことにより、 現フレームを分割した 2次元プロックに対して画 像データの誤差がもっとも最も少ない前フレームの所定の動きべク トル 検出範囲内の 2次元プロックの位置を探索し、 現フレームを分割した 2 次元プロックの位置と現フレームを分割した 2次元プロックに対して画 像データの誤差がもっとも最も少ない前フレームの所定の動きべクトル 検出範囲内の 2次元プロックの位置とから現フレームを分割した 2次元 プロックの前フレームからの画面上の動きを示す動きべクトルを計算す ることになる。
以上の方法によれば、 予測誤差を符号化することになるので、 フレー ム内符号化のように、 画像データを直接符号化する場合に比ぺ、 ェネル ギ一が減少し、 さらに高効率な符号化が可能となる。
次に第 3フレーム以降の動作について説明する。 第 3フレーム以降の 各フレームの動きベク トルを計算する際に、 前フレーム (第 3フレーム の場合には、 第 2フレーム) の動きベクトルを、 画像の動きの大きさを 示す時間的に前に検出された動きべクトル検出範囲決定用情報として C P U 2 0 5に入力し、 以下に示すような演算処理を行って、 アドレス発 生回路 2 0 4を制御することにより動きべク トル検出範囲を変更する。 図 1 3は C P U 5の処理動作を示すフローチヤ一トである。 図 1 3に ついて説明すると、 ステップ 2 1で前フレーム (例えば、 第 2フレーム ) の全 2次元ブロックの動きベク トルを読み込み、 ステップ 2 2で通常 時の動きべクトル検出範囲の水平方向の最大値 hを示す動きべク トルの 個数をカウントする。 ステップ 2 3で個数が全ブロックの 5 0以上かど うかを判定し、 個数が全プロックの 5 0 %以上である場合には画像の動 きが大きいものとして水平方向の動きべクトル検出範囲を例えば 2 hに 拡大する。 動きベク トル検出範囲を 2倍に拡大するためには、 ステップ 2 4に示したように誤差計算回路 2への入力を 1サンプル毎に間引いて 、 すなわち 1 2にサブサンプルして入力するようにァドレス発生回路 4を制御する。 このようにすることにより、 各 2次元プロック当たりの 計算量は 1 2になるので、 動きべク トル^ 出範囲が 2倍になっても、 総計算量は動きべク トル検出範囲を広げない場合と等しくなる。 また、 ステップ 2 5に示すように h / 2を超える動きべクトルの個数も同時に カウントしておき、 ステップ 2 6で h Z 2を超える動きべクトルの個数 が 1 0 %以下であるか判定し、 1 0 %以下であるときは、 動きが少ない ものとして動きベク トル検出範囲を! ι / 2とする。 この場合には、 誤差 計算回路 2 へは間引かずに入力する (ステップ 2 7 ) 。 なお、 hを超え る動きべク トルカ 0 %未満で、 かつ h Z 2を超える動きべク トルの個 数が 1 0 %を超えている場合は、 動きべク トル検出範囲の変更を行わず 、 サブサンプリングは行わない。
上記動作により、 画像の動きが大きいときには計算量を増加させるこ となく動きベク トル検出範囲を広げることが可能となる。 一般的に、 サ プサンプルした画像から動き検出を行うと、 動きの検出精度が低下する ため画質劣化につながる。 しかしながら動きの大きな場合は、 動きが追 従しないことに起因する画質劣化の方が影響が大きいため、 サブサンプ ルした画像であっても動きべク トル検出範囲を拡大した方が画質は向上 する。 また、 動きの少ないときはサブサンプルしない画像で動き検出を 行うので、 画質劣化を生ずることはなく、 さらに動きベク トル検出範囲 を狭めているので、 探索に要する処理時間を短くできる。
このように、 画像の動きに応じて動きべク トル検出範囲を変えること ができ、 大きな動きに対応することができてフレーム間差分を小さくす ることができ、 画質を劣化させない。 しかも、 動きベク トルの計算のた めの演算量が増えないので、 動きべク トル演算のためのハードウェア量 が増えることはない。
しかしながら図 1 1で説明した従来の動画像圧縮符号化装置では、 動 きの大きな画像に対しては、 適正な動きべク トルを検出することが出来 ず、 さらに適正な動きべク トル検出範囲を設定することが困難である。 すなわち、 図 1 1で説明した従来の動画像圧縮符号化装置では、 図 1 4に示すように動きべク トル検出範囲 3 2 0に対して、 動きべク トル検 出範囲 3 2 0の最外周に乗っている動きべク トル Pの個数が全ブロック 数の 5 0 %以上になった場合に動きべクトル検出範囲 3 2 0を拡大して いた。 すなわち、 動きべクトル検出範囲 3 2 0の最外周上に乗っている 動きベクトル Pのみを検出していた。 ところが、 動きベクトル検出範囲 3 2 0の最外周に乗っている動きべクトル Pよりも適正な動きべク トル が動きべクトル検出範囲 3 2 0の外部に存在する可能性がある。 このよ うな場合であっても、 図 1 1で説明した従来の動画像圧縮符号化装置で は、 適正な動きべクトルを検出する代わりに動きべクトル Pを検出して 用いていた。
すなわち、 従来の動画像圧縮符号化装置では、 動きの大きな画像に対 しては、 適正な動きベクトルを検出することが出来ず、 さらに適正な動 きべクトル検出範囲を設定することは困難であるという課題がある。 発明の開示
本発明は、 上記課題を考慮し、 動きの大きな画像であっても適正な動 きべク トルを検出することが出来、 また、 適正な動きべクトル検出範囲 を設定することが出来る動画像圧縮符号化装置、 動きべク トル検出方法 、 記録媒体、 及びプログラムを提供することを目的とするものである。 上述した課題を解決するために、 第 1の本発明は、 入力動画像映像を 1フレームに付き N (但し、 Nは 2以上の自然数) 個に細分化したマク ロブロック動画像信号を生成するマクロブロック生成手段 (2 ) と、 前記マクロプロック動画像信号を圧縮符号化した後に複号化して復号 化動画像信号を生成する符号複号化手段 (1 8、 1 7、 3、 4、 9、 1 0、 1 9、 2 0、 1 1 ) と、
前記復号化動画像信号と前記マクロプロック動画像信号とから第 1の 動きべク トル検出範囲内で動きべクトルを検出する動きべクトル検出手 段 (1 2 ) と、
検出された前記動きべク トルのうち、 前記第 1の動きべクトル検出範 囲の最外線である第 1の最外線と、 前記第 1の動きべク トル検出範囲の 内側にある第 2の動きべク トル検出範囲の最外線である第 2の最外線と の間にある動きべクトルの数を第 1の動きべクトルの数としてカウント する動きべク トルカウント手段 (1 4、 1 5、 1 6 ) と、
カウントされた前記第 1の動きべクトルの数に基づいて前記第 1の動 きべク トル検出範囲を拡大する動きべクトル検出範囲決定手段 (1 3 ) とを備えた動画像圧縮符号化装置である。
また、 第 2の本発明は、 前記動きべクトルカウント手段 (1 4、 1 5 、 1 6 ) は、 前記第 2の動きベク トル検出範囲の内側にある第 3の動き ベタトル検出範囲内にある動きべク トルの数を第 2の動きべクトルの数 としてカウントし、
前記動きベク トル検出範囲決定手段 (1 3 ) は、 カウントされた前記 第 2の動きべクトルの数に基づいて前記第 1の動きべク トル検出範囲を 縮小する第 1の本発明の動画像圧縮符号化装置である。
また、 第 3の本発明は、 前記動きべクトル検出範囲決定手段 (1 3 ) は、 カウントされた前記第 1の動きべク トルの数が所定の閾値より多い 場合、 前記第 1の動きべク トル検出範囲を拡大し、 前記所定の閾値より 小さい場合、 前記第 1の動きべクトル検出範囲を拡大しないまたは前記 第 1の動きべク トル検出範囲を変更しない第 1の本発明の動画像圧縮符 号化装置である。
また、 第 4の本発明は、 前記動きべクトル検出範囲決定手段 (1 3 ) は、 カウントされた前記第 1の動きべクトルの数が多いほど前記第 1の 動きべク トル検出範囲の拡大率を大きくする第 1の本発明の動画像圧縮 符号化装置である。 また、 第 5の本発明は、 前記動きべクトル検出範囲決定手段 (1 3 ) は、 カウントされた前記第 2の動きべクトルの数が多いほど前記第 1の 動きべクトル検出範囲の縮小率を大きくする第 2の本発明の動画像圧縮 符号化装置である。
また、 第 6の本発明は、 前記動きべクトル検出範囲決定手段 (1 3 ) は、 予め複数種類の動きベク トル検出範囲を有しており、
その複数種類の動きべク トル検出範囲から、 カウントされた前記第 1 の動きべクトルの数が多いほど大きな動きべクトル検出範囲を選択して 、 前記第 1の動きべクトル検出範囲とする第 1の本発明の動画像圧縮符 号化装置である。
また、 第 7の本発明は、 前記動きべクトル検出範囲決定手段 (1 3 ) は、 予め複数種類の動きベク トル検出範囲を有しており、
その複数種類の動きべク トル検出範囲から、 カウントされた前記第 2 の動きべクトルの数が多いほど小さな動きべク トル検出範囲を選択して 、 前記第 1の動きべクトル検出範囲とする第 2の本発明の動画像圧縮符 号化装置である。
また、 第 8の本発明は、 前記動きべク トル検出範囲決定手段 (1 3 ) は、 前記第 1の動きベク トル検出範囲の更新を、 Pフレーム毎に行う、 または Pフレームを n個 (但し、 n≤Nの自然数) に分割した分割単位 毎に行い、
前記第 1の動きべクトル検出範囲が更新される際、 前記動きべク トル 検出範囲決定手段は、 前記 Pフレームのまたは前記分割単位の力ゥント された前記第 1の動きべクトルの数を、 前記 Pフレームにまたは前記分 割単位に存在するマクロプロック動画像信号の数で割った数が、 所定の 閾値以上になった場合に、 前記第 1の動きべクトル検出範囲を拡大する 第 1の本発明の動画像圧縮符号化装置である また、 第 9の本発明は、 前記動きべクトル検出範囲決定手段 (1 3 ) は、 前記第 1の動きベクトル検出範囲の更新を、 Pフレーム毎に行う、 または Pフレームを n個 (伹し、 n≤Nの自然数) に分割した分割単位 毎に行い、
前記第 1の動きべク トル検出範囲が更新される際、 前記動きべク トル 検出範囲決定手段は、 前記 Pフレームのまたは前記分割単位のカウント された前記第 2の動きべク トルの数を、 前記 Pフレームにまたは前記分 割単位に存在するマクロプロック動画像信号の数で割った数が、 所定の 閾値以上になった場合に、 前記第 1の動きべクトル検出範囲を縮小する 第 1の本発明の動画像圧縮符号化装置である。
また、 第 1 0の本発明は、 前記動きべク トル検出手段は、 前記第 1の 動きべクトル検出範囲を拡大する際、 前記第 2の動きべク トル検出範囲 をも拡大する第 1、 3、 4、 6、 8の本発明のいずれかの動画像圧縮符 号化装置である。
また、 第 1 1の本発明は、 前記動きべクトル検出手段は、 前記第 1の 動きべクトル検出範囲を縮小する際、 前記第 3の動きべク トル検出範囲 をも縮小する第 2、 4、 7、 9の本発明のいずれかの動画像圧縮符号化 装置である。
また、 第 1 2の本発明は、 入力動画像映像を 1フレームに付き N (伹 し、 Nは 2以上の自然数) 個に細分化して生成されたマクロブロック動 画像信号を圧縮符号化した後に複号化して生成された復号化動画像信号 と、 前記マクロブロック動画像信号とから第 1の動きべク トル検出範囲 内で動きべク トルを検出する動きべクトル検出ステップと、
検出された前記動きべクトルのうち、 前記第 1の動きべク トル検出範 囲の最外線である第 1の最外線と、 前記第 1の動きべク トル検出範囲の 内側にある第 2の動きべク トル検出範囲の最外線である第 2の最外線と の間にある動きべク トルの数を第 1の動きべク トルの数としてカウント する動きべク トルカウントステップと、
前記第 1の動きべク トル検出範囲の最外線である第 1の最外線と、 前 記第 1の動きべク トル検出範囲の内側にある第 2の動きべク トル検出範 囲の最外線である第 2の最外線であって、 前記第 1の最外線に隣接する 1本もしくは複数本の第 2の最外線との上にある動きべク トルの数であ る第 1の動きべク トルの数をカウントする動きべク トルカウントステツ プと、
カウントされた前記第 1の動きべク トルの数に基づいて前記第 1の動 きべク トル検出範囲を拡大する動きべク トル検出範囲決定ステップとを 備えた動きべク トル検出方法である。
また、 第 1 3の本発明は、 第 1 2の本発明の動きベク トル検出方法の 、 入力動画像映像を 1フレームに付き N (但し、 Nは 2以上の自然数) 個に細分化して生成されたマクロプロック動画像信号を圧縮符号化した 後に復号化して生成された復号化動画像信号と、 前記マクロプロック動 画像信号とから第 1の動きべク トル検出範囲内で動きべク トルを検出す る動きべク トル検出ステップと、
検出された前記動きべク トルのうち、 前記第 1の動きべク トル検出範 囲の最外線である第 1の最外線と、 前記第 1の動きべク トル検出範囲の 内側にある第 2の動きべタ トル検出範囲の最外線である第 2の最外線と の間にある動きべク トルの数を第 1の動きべク トルの数としてカウント する動きべク トルカウントステップと、
カウントされた前記第 1の動きべク トルの数に基づいて前記第 1の動 きべク トル検出範囲を拡大する動きべク トル検出範囲決定ステップとを コンピュータに実行させるためのプログラムである。
また、 第 1 4の本発明は、 第 1 3の本発明のプログラムを担持した記 録媒体であって、 コンピュータにより処理可能な記録媒体である。
図面の簡単な説明
図 1は、 本発明の第 1の実施の形態における動画像圧縮符号化装置の ブロック図である。
図 2は、 本発明の第 1の実施の形態におけるマクロブロックの動きべ ク トルの一例を示す図である。
図 3は、 本発明の第 1の実施の形態における動きべクトルと動きべク トル切換領域との一例を示す図である。
図 4 ( a ) は、 本発明の第 1の実施の形態における動きベクトル検出 範囲の候補を示す図である。
図 4 ( b ) は、 本発明の第 1の実施の形態における動きベクトル検出 範囲を示す図である。
図 5 ( a ) は、 本発明の第 1の実施の形態における現在の動きべタト ル検出範囲の例を示す図である。
図 5 ( b ) は、 本発明の第 1の実施の形態における更新後の動きべク トル検出範囲の例を示す図である。
図 6 ( a ) は、 本発明の第 1の実施の形態における現在の動きべクト ル検出範囲の例を示す図である。
図 6 ( b ) は、 本発明の第 1の実施の形態における更新後の動きべク トル検出範囲の例を示す図である。
図 7は、 本発明の第 1の実施の形態における動きべク トル検出範囲の 更新のタイミングを示す図である。
図 8 ( a ) は、 本発明の第 1の実施の形態における動きベクトル検出 範囲が大きい場合の動きべク トルを検出する際の画素のサンプリングの 概要を示す図である。 図 8 ( b ) は、 本発明の第 1の実施の形態における動きベク トル検出 範囲が中程度の場合の動きべク トルを検出する際の画素のサンプリング の概要を示す図である。
図 8 ( c ) は、 本発明の第 1の実施の形態における動きベク トル検出 範囲が小さい場合の動きべク トルを検出する際の画素のサンプリングの 概要を示す図である。
図 9は、 本発明の第 1の実施の形態における動きべク トル切換領域決 定の流れ図である。
図 1 0は、 従来の動きべク トル検出装置の構成を示すプロック図であ る。
図 1 1は、 従来の動画像圧縮符号化装置の構成を示すブロック図であ る。
図 1 2は、 従来の動画像圧縮符号化装置を構成する動き検出装置 3 0 7 Aの動作を示す説明図である。
図 1 3は、 従来の動画像圧縮符号化装置を構成する C P U 5の処理動 作を示すフローチヤ一ト図である。
図 1 4は、 従来の動画像圧縮符号化装置の動きべク トル検出範囲と動 きべク トルの一例を示す図である。
(符号の説明)
1 入力端子
2 フレーム並べ替え器
3 D C T器
4 量子化器
5 可変長符号化器
6 バッファ 7 出力端子
8 レー ト制御器
9 逆量子化器
1 0 逆 D C T器
1 1 フレームメモリ
1 2 予測器
1 3 動きべクトル検出範囲決定器
1 4 切換領域決定器
1 5 比較器
1 6 力ゥンター
1 7
1 8 切替スィツチ
1 9 加算器
2 0 スィ ッチ
2 1 動きべクトル検出手段 発明を実施するための最良の形態
以下に本発明の実施の形態を図面を参照して説明する。
本発明の実施の形態によれば、 例えば動きべクトル検出部 (手段) で 検出した動きべクトルに基づき適応的に求めた動きべク トル検出範囲を 、 当該動きベクトル検出部 (手段) に帰還する構成を備えるため、 動き ベタトル検出部 (手段) による動きべクトルを検出する動きべクトル検 出範囲を、 入力動画像映像の動きに合わせて設定することができ、 より 適正な動きべクトルを検出するため動きべクトル検出範囲数 (すなわち 、 モード数) が複数存在する場合であっても回路規模を増大することな く、 かつ動きべク トルの検出に際しての精度を向上することができる。 また、 本発明の実施の形態によれば、 例えば入力動画像映像を細分化 した単位で動きべク トル検出範囲を動きべク トル検出部に帰還する構成 を備えるため、 例えば 1フレーム等の入力動画像映像のまとまった単位 で入力動画像映像の動きに合わせた動きべク トル検出範囲を動きべクト ル検出部に適切に設定でき、 精度の高い動きべクトル検出範囲の設定を 簡略化することができる。
また、 本発明の実施の形態によれば、 例えば、 適応的に求めた動きべ クトル検出範囲の結果を参照し、 予め複数種類備えた動きべク トル検出 範囲から実際に適用する動きべク トル検出範囲を選択す'る構成を備える ため、 動きべク トル検出部に設定する動きべク トル検出範囲の更新を入 力動画像に応じて当該複数種類から自由に合わせることができ、 例えば 好み等の使用者の意図に合わせた動きべクトル検出が達成できる。 また
、 動きべクトル検出部に設定する動きべクトル検出範囲を、 入力動画像 映像の動きに合わせた例えば使用者の意図に合わせた動きべク トル検出 が達成できる。
また、 本発明の実施の形態によれば、 例えば、 帰還手段が動きべクト ル検出範囲決定手段で決定した動きべクトル検出範囲を、 動きべクトル 検出手段及び切換領域生成手段に帰還する構成を備えるため、 動きべク トル検出範囲の設定をより入力動画像映像の動きの速さに追従して決定 でき、 入力動画像映像の動きに合わせた動きべクトル検出範囲の即時性 を高めることができる。
また、 本発明の実施の形態によれば、 例えば、 (動きべクトルが動き ベク トル切換領域に存在する数) / ( n個の期間に存在するマクロプロ ック数) が所定の閾値以上になった時、 動きベク トル検出範囲を切り換 え、 切り換えた動きべクトル検出範囲を動きべクトル検出手段と切換領 域生成手段とに帰還する構成を備えるため、 入力動画像映像の符号化に 際して発生符号量の削減ができ、 入力動画像映像の動きに合わせた動き べクトルの検出をより高速化できる。
(第 1の実施の形態)
図 1は本発明の第 1の実施の形態における動画像圧縮符号化装置の構 成を示すプロック図であり、 MPEG (Mo v i n g P i c t u r e s E x e r t s G r o u p ) 方式の場合を示した例である。 1は 入力端子であり、 2はフレーム並べ替え器であり、 3は離散コサイン変 換 (以下、 DCTと称す) 器であり、 4は量子化器であり、 5は可変長 符号化器であり、 6はバッファメモリであり、 7は出力端子であり、 8 はレート制御器であり、 9は逆量子化器であり、 1 0は逆0<3丁器でぁ り、 1 1はフレームメモリであり、 1 2は予測器であり、 1 3は検出範 囲決定器であり、 1 4は切換領域決定器であり、 1 5は比較器であり、 1 6はカウンタであり、 1 7は減算器であり、 1 8は切換スィッチであ り、 1 9は加算器であり、 20はスィッチである。
なお、 本実施の形態のフレーム並べ替え器 2は本発明のマクロプロッ ク生成手段の例であり、 本実施の形態の切替スィッチ 1 8、 減算器 1 7 、 DCT器 3、 量子化器 4、 逆量子化器 9、 逆 DCT器 1 0、 加算器 1 9、 スィッチ 20、 及ぴフレーム目盛り 1 1は本発明の符号復号手段の 例であり、 本実施の形態の予測器 1 2は本発明の動きべクトル検出手段 の例であり、 本実施の形態の切換領域決定器 1 4、 比較器 1 5、 及び力 ゥンタ 1 6は本発明の動きべク トルカウント手段の例であり、 本実施の 形態の検出範囲決定器 1 3は本発明の動きべクトル検出範囲決定手段の 例である。
以上のように構成した各プロックの動作を説明する。 入力端子 1から 入力する原画信号は、 映像音声信号の内予め音声信号と映像信号とに分 離した映像信号である。 映像信号は、 フレーム並べ替え器 2で一且フレ ームに並べ替えた後、 フレームを所定の画素数で細分化した単位 (以下 、 マクロプロック単位と称す) の原画映像信号を、 フレーム並べ替え器 2で並べ替えた順番 (以下、 デコード順と称す) に切換スィッチ 1 8に 出力する。 切換スィッチ 1 8は、 マクロブロック単位の原画映像信号 ( 以下、 マクロブロック動画像信号と称す) をそのまま出力するか、 また は、 マクロプロック動画像信号から動き補償予測映像信号等で減算器 1 7により減算するかを選択する。
先ず、 切換スィッチ 1 8がマクロブロック動画像信号そのままを選択 する場合について説明する。 切換スィツチ 1 8から出力するマクロプロ ック動画像信号が I ピクチャの場合、 D C T器 3で離散コサイン変換し た D C T信号を量子化器 4に出力する。 量子化器 4では、 レート制御器 8から帰還する所定の量子化値で量子化を行うことで、 情報量を削減し た量子化信号を可変長符号化器 5及び逆量子化器 9に出力する。
可変長符号化器 5に入力した量子化信号は、 可変長符号化器 5で符号 化を施した符号化信号としてバッファメモリ 6に出力し、 バッファメモ リ 6では出力端子 7から引き抜かれるまで符号化信号を格納すると共に 、 発生符号量をレート制御器 8に出力する。 レート制御器 8では、 発生 符号量に基づく量子化値を量子化器 4に帰還する。 出力端子 7から引き 抜かれた符号化信号は、 不図示のシステムェンコ一ダで音声信号と多重 化される。
一方、 逆量子化器 9に入力した量子化信号は、 所定の量子化値で逆量 子化した逆量子化信号を逆 D C T器 1 0に出力する。 逆 D C T器 1 0で は入力した量子化信号を逆離散コサイン処理を施した逆 D C T信号を出 力する。 I ピクチャのように、 切換スィツチ 1 8がマクロブ口ック動画 像信号そのままを選択している場合は、 切換スィッチ 1 8に連動してス イッチ 2 0は O F F状態となり、 加算器 1 9で逆 D C T信号に加算する ことなく、 フレームメモリ 1 1に 1フレームになるまでマクロプロック 単位の参照映像信号 (以下、 マクロプロック参照信号と称す) を格納す る。 Pピクチャでは、 フレームメモリ 1 1に 1フレーム分格納したフレ ーム単位の参照映像信号 (以下、 フレーム参照信号と称す) とフレーム 並べ替え器 2からのマクロブロック動画像信号との差分が最小となる動 きべクトルを予測器 1 2で予測し、 動きべク トル検出範囲を検出すると 共に、 動きべクトルと動き補償予測後の映像信号 (以下、 予測映像信号 と称す) とを出力する。
切換スィッチ 1 8が減算器 1 7でマクロプロック動画像信号と予測映 像信号との差分信号を選択する Pピクチャまたは Bピクチャの場合を説 明する。 Pピクチャの場合は、 直前の Iピクチャまたは Pピクチャに基 づく予測映像信号をマクロブロック動画像信号から減算した差分信号を D C T器 3に出力し、 D C T信号を量子化器 4に出力する。 量子化器 4 から出力する量子化信号の一方は、 可変長符号化器 5、 バッファメモリ 6を経て出力端子 7から引き抜かれるまでバッファメモリ 7に格納され ると共に、 発生符号量をレート制御器 8に入力し量子化器 4に量子化値 を帰還する。 バッファメモリ 6に格納された符号化信号は、 前述と同様 にして出力端子 7からシステムエンコーダに出力される。
量子化信号の他方は、 逆量子化器 9、 逆 D C T器 1 0を経て、 加算器 1 9に入力する。 切換スィッチ 1 8に連動してスィッチ 2 0は O N状態 となり、 減算器 1 7で減算した直前の Iピクチャまたは Pピクチャを逆 0〇丁器1 0から出力する逆 D C T信号に加算し、 マクロブロック参照 信号を得る。 加算器 1· 9で加算したマクロプロック参照信号を 1フレー ムとなるまでフレームメモリ 1 1に格納し、 予測器 1 2では、 フレーム メモリ 1 1からのフレーム参照信号及びマクロプロック動画像信号から 差分信号が最小となる動きべク トルを動きべクトル検出範囲内で検出し
、 例えば図 2に示すような動きべクトルと予測映像信号とを出力する。 なお、 マクロブロック動画像信号が Bピクチャの場合は、 前後の Iピ クチャまたは Pピクチャに基づく予測映像信号とマクロプロック動画像 信号との差分を減算器 1 7でとる以外は Pピクチヤと同様である。 但し
、 Bピクチャも考慮すると前述したように Bピクチャは前後のピクチャ を参照するため、 動きべク トル検出範囲をフレーム単位等で更新するァ ルゴリズムが複雑化する割には精度の向上は少ないため、 本実施の形態 では Bピクチャであれば次の Pピクチャを選択するまで無視するァルゴ リズムを採用した。
こうして得た予測器 1 2から出力する信号の一方は、 次のマクロプロ ック動画像信号を減算器 1 7で減算するための予測映像信号として供し 、 他方は、 例えば図 3に示すように動きべク トルが動きべク トル検出範 囲内に存在するかを比較検証するため、 マクロプロック単位の動きべク トルを比較器 1 5に出力する。 図 3における領域 Dは動きべクトル検出 範囲を狭める領域を示し、 領域 Uは動きべク トル検出範囲を広げる領域 を示す。 すなわち、 図 2に示した予測器 1 2で検出したマクロプロック C ijに対応する動きべクトル Vuを、 切換領域決定器 1 4から出力される動 きべクトル切換領域 Dまたは Uの何れの範囲内に存在するかを比較器 1 5で比較検証し、 マクロプロック切替信号を適応的に求め、 カウンタ 1 6に出力する。
図 3に示した動きべクトル検出範囲をさらに詳細に説明する。 図 4は 、 図 3に示した動きべク トル検出範囲をさらに詳細に説明した図である。 図 4 ( a ) は、 動きベク トル検出範囲の候補を示すものであり、 本実施 の形態では、 5個の動きベクトル検出範囲の候補 A 1、 A 2、 A 3、 A 4、 A 5がある。 これらの動きベク トル検出範囲の候補は、 検出範囲決 定器 1 3に格納されている。 そして、 予測器 1 2で動きべク トルを検出 する際や、 切換領域決定器 1 4で動きべクトル切換領域を決定する際に 使われる動きべク トル検出範囲は、 これら 5個の動きべク トル検出範囲 の候補 Al、 A2、 A3、 A4、 A 5のうちのいずれか一つが選択して 使われる。
今、 動きべク トル検出範囲の候補 A 1、 A 2、 A3、 A4、 A5のう ち、 A3が動きべク トル検出範囲として実際に用いられていているとす る。
図 4 (b) に示すように、 動きベク トル検出範囲 A 3の最外線である 最外線 1 3と、 動きべク トル検出範囲 A 3の内側にある動きべクトル検 出範囲 A3, の最外線である最外線 1 3, との間にある領域が図 3で説 明した領域 Uに対応する。 図 3の領域 Uは、 切換領域決定器 1 4で決定 される。 そして、 後述するように領域 Uに動きベクトルが乗っている場 合が所定の条件を満たす場合には、 動きべク トル検出範囲 A 3を拡大す るよう処理される。 この時、 同時に動きベク トル検出範囲 A3, 、 A 3 ' ' も拡大するよう処理される。
同様に、 図 4 (b) に示すように、 動きベク トル検出範囲 A3, の内 側にある動きベク トル検出範囲 A3, , の最外線である最外線 1 3, , の内側の領域が図 3で説明した領域 Dに対応する。 図 3の領域 Dは、 切 換領域決定器 1 4で決定される、 そして、 後述するように領域 Dに動き ベタトルが乗っている場合が所定の条件を満たす場合には、 動きべクト ル検出範囲 A 3を縮小するように処理される。 この時、 同時に動きべク トル検出範囲 A 3, 、 A3, , も縮小するように処理される。
また、 切換領域決定器 1 4は、 動きベク トル検出範囲に応じて図 3の 領域 U及ぴ領域 Dを決定する。
なお、 本実施の形態では動きベクトル検出範囲の切換には、 Pピクチ ャに基づく動きべク トルのみを対象としているため、 比較器 1 5は Pピ クチャの符号化時のみ動作するが、 Bピクチャも考慮する場合には Bピ クチャの符号化時も動作すること当然である。
比較器 1 5は、 マクロブロック Cijに対応する動きべク トル Vijが図 3の 領域 Uに乗っているかどう力、、 また、 領域 Dに乗っているかどうかを判 定し、 その判定結果をマクロプロック切換信号としてカウンタ 1 6に出 力する。
カウンタ 1 6は、 マクロブロック切換信号が入力されると、 マクロブ 口ック切換信号がマクロブロック Cuに対応する動きべク トル Vijが図 3の 領域 Uに乗っていることを示す場合には領域 Uに対応するカウント値を 1だけ増加させ、 また、 マクロプロック切換信号がマクロプロック Cijに 対応する動きべク トル Vijが図 3の領域 Dに乗っていることを示す場合に は、 領域 Dに対応するカウント値を 1だけ増加させる。
このようにしてカウンタ 1 6は、 領域 Dに対応するカウント値及び領 域 Uに対応するカウント値を 1フレーム分カウントし、 カウンタ 1 6は カウント結果をフレーム単位の切換信号 (以下、 フレーム切換信号と称 す) として検出範囲決定器 1 3に出力する。 フレーム切換信号が入力さ れると、 検出範囲決定器 1 3は、 動きベク トル検出範囲をフレーム単位 で適応的に決定する。
すなわち、 検出範囲決定器 1 3は、 図 4 (a) に示す動きベク トル検 出範囲の候補 A l、 A2、 A3、 A4、 A 5から実際に用いる動きべク トル検出範囲を選択することにより決定する。
検出範囲決定器 1 3は、 図 5 (a) に示すように、 動きベク トル Qが 領域 Dに乗っている場合には、 図 5 (b) に示すように動きベク トル検 出範囲 A4を選択することにより動きべク トル検出範囲を縮小する。 さ らに、 詳細に説明すると、 検出範囲決定器 1 3は、 カウンタ 1 6から入 力されたフレーム切換信号に基づいて、 (動きべク トルが動きべクトル 切換領域 Dに存在する数) を ( 1フレームの期間に存在するマクロプロ ック数) で除した値が所定の閾値以上になったとき、 動きベクトル検出 範囲を動きベク トル切換領域 A 4に切り換える。 この時、 同時に動きべ タ トル検出範囲 A 3, 、 A 3, , をそれぞれ A 4, 、 A 4 ' , に切り換 える。 このように検出範囲決定器 1 3は、 各動きベク トル検出範囲を縮 小する。 そして、 検出範囲決定器 1 3が動きべク トル検出範囲を動きべ ク トル検出範囲 A 4に決定すると、 決定した動きべク トル検出範囲を切 換領域決定器 1 4及び予測器 1 2に帰還する。 切換領域決定器 1 4は、 その決定に応じて、 図 5 ( b ) に示すように動きベク トル切換領域 D及 び Uを決定する。
また、 検出範囲決定器 1 3は、 図 6 ( b ) に示すように、 動きべクト ル Rが領域 Uに乗っている場合には、 図 6 ( b ) に示すように動きべク トル検出範囲 A 2を選択することにより動きべクトル検出範囲を拡大す る。 さらに、 詳細に説明すると、 検出範囲決定器 1 3は、 カウンタ 1 6 から入力されたフレーム切換信号に基づいて、 (動きべクトルが動きべ ク トル切換領域 Uに存在する数) を (1フレームの期間に存在するマク 口プロック数) で除した値が所定の閾値以上になったとき、 動きべクト ル検出範囲を動きベク トル検出範囲 A 2に切り換える。 この時、 同時に 動きベクトル検出範囲 A 3, 、 A 3, , をそれぞれ A 2 ' 、 A 2, , に 切り換える。 このように検出範囲決定器 1 3は、 各動きベク トル検出範 囲を拡大する。 そして、 検出範囲決定器 1 3が動きベク トル検出範囲を 動きべクトル検出範囲 A 2に決定すると、 決定した動きべク トル検出範 囲を切換領域決定器 1 4及び予測器 1 2に帰還する。 切換領域決定器 1 4は、 その決定に応じて、 図 6 ( b ) に示すように動きベクトル切換領 域 D及び Uを決定する。 また、 検出範囲決定器 1 3は、 (動きべク トルが動きべク トル切換領 域 Dに存在する数) を (1 フレームの期間に存在するマクロブロック数 ) で除した値が所定の閾値より小さく、 かつ、 (動きベクトルが動きべ ク トル切換領域 Uに存在する数) を (1 フレームの期間に存在するマク ロブロック数) で除した値が所定の閾値より小さいときは、 動きべタ ト ル検出範囲を拡大も縮小もしない。 すなわち、 動きベクトル検出範囲を 変更しない。
予測器 1 2に帰還された動きべク トル検出範囲は、 フレーム単位で最 適な動きべクトル検出範囲として、 次のフレーム単位で予測器 1 2にお いて動きべクトルを予測する際に、 動きべク トル検出範囲として用いら れる。
例えば、 検出範囲決定器 1 3が図 5 ( b ) に示すように動きベク トル 検出範囲を動きべクトル A 4に決定した場合には、 次のフレーム単位で 予測器 1 2は、 動きべクトルを予測する際に、 動きべク トル検出範囲 A 4を用いる。
同様に、 検出範囲決定器 1 3が図 6 ( b ) に示すように動きベク トル 検出範囲を動きべクトル A 2に決定した場合には、 次のフレーム単位で 予測器 1 2は、 動きべクトルを予測する際に、 動きべク トル検出範囲 A 2を用いる。
次のフレーム単位でも上記と同様の動作を行い、 適応的に予測器 1 2 で用いられる動きべクトル検出範囲が次々と更新されていく。 本実施の 形態では、 上記のような動作を Pフレーム毎に行う。 すなわち、 図 7に 動きべクトル検出範囲更新のタイミングを示す。 Pフレーム 2 0で検出 された動きべク トルは、 検出範囲決定器 1 3が次の Pフレーム 2 1の動 きべク トル検出範囲を決定するのに用いられる。 このように本実施の形 態の動画像圧縮符号化装置は、 Pフレーム毎に動きべク トル検出範囲を 切り換えていくものである。
特に大きな動きを有する入力動画像映像の場合には、 図 1 1で説明し た従来の動画像圧縮符号化装置では、 動きべクトル検出範囲 3 2 0の最 外周上に乗っている動きべクトル Pのみを検出していたので、 動きべク トル検出範囲 3 2 0の最外周に乗っている動きべクトル Pよりも適正な 動きべクトルが動きべクトル検出範囲 3 2 0の外部に存在してもそのよ うな動きべクトルを検出して用いることができなかった。 このような場 合であっても、 図 1 1で説明した従来の動画像圧縮符号化装置では、 適 正な動きべクトルを検出する代わりに動きべクトル Pを検出して用いて いた。
これに対して本実施の形態の動画像圧縮符号化装置では、 動きべクト ル検出範囲を拡大する際には、 図 3、 図 4、 図 5、 図 6などにそれぞれ 示した領域 Uに乗っている動きべク トルを考慮の対象とする。 従って、 従来の技術で動きべクトル検出範囲の外側により適正な動きべクトルが 存在し、 そのような適正な動きべクトルが検出出来ない場合であっても 、 本実施の形態のように領域 Uを動きべクトルの考慮の対象とすること により、 従来の技術では検出できなかった適正な動きべクトルを検出す ることが出来るようになる。
このように、 本実施の形態によれば、 動きの大きな入力動画像映像で あっても適正な動きベクトルを検出することが出来、 また、 適正な動き べク トル検出範囲を設定することが出来るようになる。
以上のように、 本実施の形態の動画像圧縮符号化装置は、 圧縮符号化 することにより動画像信号の動きべクトルを検出する動きべクトル検出 手段 2 1の処理動作に並行して、 動きべクトルを検出する動きべク トル 検出範囲を最前のフレーム単位で最適化した範囲に置き換える構成であ. るため、 動きべクトル検出手段 2 1に供する回路等のハードウエア規模 を増大することなく、 動きべク トルの検出を最適化できる効果がある。 また、 動きの大きな画像であっても適正な動きべクトルを検出すること が出来、 また、 適正な動きベク トル検出範囲を設定することが出来るよ うになる。
なお、 本実施の形態では、 検出範囲決定器 1 3が 5個の動きべクトル 検出範囲の候補から実際に用いる動きべクトル検出範囲を選択するとし て説明したが、 これに限らない。 3個の動きベクトル検出範囲の候補か ら実際の動きべクトル検出範囲を選択してもよく、 また 7個の動きべク トル検出範囲の候補から実際の動きべクトル検出範囲を選択しても構わ ない。 本実施の形態の検出範囲決定器 1 3は、 複数個の動きべクトル検 出範囲の候補を格納しており、 その中から実際に用いる動きべクトル検 出範囲を選択することにより決定しさえすればよい。
さらに、 本実施の形態では、 検出範囲決定器 1 3が 5個の動きべクト ル検出範囲から実際に用いる動きべクトル検出範囲を選択するとして説 明したが、 これに限らない。 検出範囲決定器 1 3は、 動きべク トルが動 きべクトル切換領域 Uに存在する数が多いほど動きべクトル検出範囲の 拡大率を大きくしても構わない。
また、 この場合、 検出範囲決定器 1 3は、 予め保持している動きべク トル検出範囲から動きべク トルが動きべク トル切換領域 Uに存在する数 が多いほど大きな動きべクトル検出範囲を選択しても構わないし、 また 、 検出範囲決定器 1 3が予め動きべクトル検出範囲を保持せず、 動きべ クトルが動きべクトル切換領域 Uに存在する数が多いほど大きな動きべ クトル検出範囲を生成しても構わない。
また、 検出範囲決定器 1 3は、 動きべクトルが動きべクトル切換領域 Dに存在する数が多いほど動きべクトル検出範囲の縮小率を大きくして も構わない。 また、 この場合、 検出範囲決定器 1 3は、 予め保持している動きべク トル検出範囲から動きべク トルが動きべク トル切換領域 Dに存在する数 が多いほど小さな動きべクトル検出範囲を選択しても構わないし、 また 、 検出範囲決定器 1 3が予め動きべクトル検出範囲を保持せず、 動きべ ク トルが動きべクトル切換領域 Dに存在する数が多いほど小さな動きべ ク トル検出範囲を生成しても構わない。
なお、 本実施の形態の動画像圧縮符号化装置は、 図 8 ( a ) 、 図 8 ( b ) 、 図 8 ( c ) に示すように、 動きベク トル検出範囲が狭い場合には 画素単位に近付いた動きべク トルの検出となり、 逆に広い場合には広く なった分だけ検出する動 べク トルは間引かれた検出となる。 すなわち 、 図 8 ( a ) のように動きベク トル検出範囲 A 1のように検出範囲が広 い場合には、 黒印で示すように間引かれた画素に関する動きべクトルが 検出され、 逆に図 8 ( c ) のように動きベク トル検出範囲 A 5のように 検出範囲が狭い場合には、 黒印で示すように、 画素単位で動きベク トル が検出される。 従って、 動きベク トル検出範囲が広くなつてもその広さ に応じて動きべクトルを求める画素が間引かれるので、 動きべクトル検 出のための演算量が増加することはない。
そして、 図 4に示したように、 動きベク トル検出範囲を複数種類備え 、 当該複数種類の動きべクトル検出範囲から動きべクトル検出範囲を選 択する構成を備えると、 動きべクトル検出範囲を入力映像の動きの大き さに応じて適宜拡大 ·縮小することで最適化を図れ、 動きべクトル検出 精度の向上及ぴそれによる発生符号量の削減ができ、 復号化後の動画像 の高画質化が達成できる。
また、 動きべクトル検出に要する記憶手段等の回路を、 当該動きべク トル検出範囲の内最も狭い範囲に対応する規模とすることができ、 動き べク トル検出精度向上に起因して高画質の復号画像を実現できる装置を 安価にすることもできる。
上記実施の形態における動きべクトル検出範囲 1 3から、 動きべクト ル検出範囲に応じて動きべクトル検出範囲切換領域を生成する切換領域 決定器 1 4と、 当該動きべク トル検出範囲切換領域と検出された動きべ クトルとを比較し当該動きべク トルが動きべク トル切換領域内の存在を 判定する比較器 1 5とを備え、 カウンター 1 6が当該動きべクトル切換 領域と比較器 1 5の出力信号の判定信号とを格納し、 カウンター 1 6に 格納した判定信号を基に動きべク トル検出範囲を決定する構成を備える と、 動きべクトル検出手段 2 1で検出する動きべクトルの動きべク トル 検出範囲の設定を、 入力動画像映像の動きに追従することができ、 入力 動画像映像の動きに合わせた動きべクトル検出範囲の即時性を向上でき る。
なお、 本実施の形態では、 検出範囲決定器 1 3から予測器 1 2に出力 する動きべクトル検出範囲をフレーム単位で更新するとして説明したが 、 これに限らない。 フレーム単位で動きベク トル検出範囲を適応的に決 定するとして説明したが、 これに限らない。
検出範囲決定器 1 3から予測器 1 2に出力する動きべク トル検出範囲 の更新を、 n ( nは η ^ Νを満たす自然数) 個の期間で行っても構わな い。 ただし、 Nを 1フレームに存在するマクロプロックの総数とし、 1 フレームを複数個に分割した場合の一つの分割単位のマクロブロックの 総数を n個とする。 この場合、 カウンター 1 6は、 n個の期間での動き ベタ トルが動きべクトル切換領域中に存在する数も記憶する構成であり 、 (動きベク トルが動きベク トル切換領域に存在する数) を (n個の期 間に存在するマクロプロック数) で除した値が所定の閾値以上になった とき、 動きベク トル検出範囲を切り換え、 当該切り換えた動きベク トル 検出範囲を動きべクトル検出手段 2 1と切換領域決定器 1 4とに帰還す る。
例えば、 (動きベクトルが領域 Dに存在する数) を (n個の期間に存 在するマクロプロック数) で除した値が所定の閾値以上になったとき、 動きベク トル検出範囲を例えば図 5 ( a ) 、 図 5 ( b ) に示すように動 きべクトル検出範囲 A 3から動きべクトル検出範囲 A 4に切り換える。 すなわち、 動きべク トル検出範囲を縮小するまた、 例えば (動きべクト ルが領域 Uに存在する数) ¾r ( n個の期間に存在するマクロブロック数 ) で除した値が所定の閾値以上になったとき、 動きベク トル検出範囲を 例えば図 6 ( a ) 、 図 6 ( b ) に示すように動きベクトル検出範囲 A 3 から動きべクトル検出範囲 A 2に切り換える。 すなわち動きべクトル検 出範囲を拡大する。
このような構成を採用すると、 入力動画像映像の動きに合わせた動き べク トルの検出精度の向上と発生符号量の削減とが実現出来る。
次に、 上述した一連の処理の流れを図 1に示したプロック図を参照し ながら、 図 9を用いて説明する。
先ず、 入力端子 1から入力された入力動画像映像は、 デコード順にフ レーム並べ替え器 2で並べ替えられ、 ステップ 3 1で 1フレームに付き N個 (ただし Nは 2以上の自然数) に細分化したマクロブロック動画像 信号となる。
フレーム並べ替え器 2からデコード順に抜き取ったマクロプロック動 画像信号は、 ステップ 3 2で I ピクチャか I ピクチャ以外かを切替スィ ツチ 1 8で判定する。 切替スィツチ 1 8でマクロブロック動画像信号が I ピクチャであると判定されると、 スィッチ 2 0を O F F状態にする。
Iピクチャと判定されたマクロプロック動画像信号は、 ステップ 3 3 で D C T器 3、 量子化器 4、 逆量子化器 9、 逆 D C T器 1 0、 加算器 1 9を経てフレームメモリ 1 1に Iピクチャのマクロプロック動画像の復 号化信号を格納する。
次に、 ステップ 3 4で 1フレーム分のマク口プロック動画像信号の圧 縮復号の終了を判断し、 1 フレームに達していないときはステップ 3 2 に戻る。
並び替え器 2から抽出したマクロプロック動画像信号が I ピクチャか をステップ 3 2で判断し、 I ピクチャでない場合はステップ 3 5で Pピ クチャか Bピクチャかを切替スィツチ 1 8にて判定する。
マクロプロック動画像信号が Pピクチャと判定されると、 ステップ 3 6で当該マクロブロック動画像信号と予測器 1 2から出力される予測映 像信号とを減算器 1 7にて減算し差分信号を出力すると共に、 スィッチ 2 0を O N状態にする。
ステップ 3 6で減算した差分信号は、 ステップ 3 7で D C T器 3、 量 子化器 4、 逆量子化器 9、 逆 D C T器 1 0を経て、 加算器 1 9で Pピク チヤの逆 D C T信号と予測器 1 2から出力される予測映像信号 (本例の 場合は直前の I ピクチャからの予測映像信号であるが、 Pピクチャが続 く場合では直前の Pピクチャからの予測映像信号となる) とを加算し、 マクロプロック参照信号をフレームメモリ 1 1に 1 フレームとなるまで 格納する。 それと共に、 予測器 1 2にてフレーム参照信号とフレーム並 ベ替え器 2からのマクロブロック動画像信号との差分が最小となる動き べク トルを用いて予測映像信号を生成する。
ステップ 3 7で生成した予測映像信号は、 ステップ 3 8で比較器 1 5 に入力され、 比較器 1 5で当該予測映像信号と切換領域決定器 1 4から 出力される動きべク トル切換領域とを比較することでマクロブロック切 換信号をカウンタ 1 6に出力する。 カウンタ 1 6は、 1 フレームになる までマクロプロック切換信号を格納する。
次にステップ 3 4で、 1 フレーム分のマクロプロック動画像信号の圧 縮復号の終了を判断し、 1フレームに達していないときはステップ 3 2 に戻る。 なお、 上述の例ではスィッチ 2 0を O N状態にするステップを ステップ 3 6としたが、 加算器 1 9で加算を行う前であれば何れであつ ても良く、 ステップ 3 5またはステップ 3 7であっても良いこと勿論で ある。
並び替え器 2から抽出されたマクロブロック動画像信号が I ピクチャ かをステップ 3 2で判断し、 I ピクチャでない場合はステップ 3 5で P ピクチャか Bピクチャかを切替スィツチ 1 8にて判定する。
マクロプロック動画像信号が Bピクチャと判定されると、 ステップ 3 9で当該マクロブロック動画像信号と比較器 1 2から出力する予測映像 信号とを減算器 1 7にて減算し差分信号を出力する。 ステップ 3 9で減 算した差分信号は、 ステップ 4 0で D C T器 3及び量子化器 4を経て量 子化信号を生成し、 ステップ 3 4で、 1 フレーム分のマクロプロック動 画像信号の圧縮復号の終了を判断し、 1 フレームに達していないときは ステップ 3 2に戻る。
なお、 ステップ 3 4で 1フレームに達していると判断した場合には、 ステップ 4 1でカウンタ 1 6からフレーム切換信号を検出範囲決定器 1 3に出力し、 検出範囲決定器 1 3はフレーム単位の動きべク トル検出範 囲を予測器 1 2に帰還すると共に、 切換領域決定器 1 4にも出力し、 切 換領域決定器 1 4で動きべク トル切換領域を生成し、 比較器 1 5に出力 する。
ステップ 4 1でフレーム単位の動きべク トル検出範囲を生成し予測器 1 2に出力した後、 ステップ 4 2で動画像映像信号が終了し次のフレー ムの有無を判定し、 次のフレームがある場合はフレーム並べ替え器 2に 戻り、 次のフレームがない場合は処理を終了する。
なお、 上述の実施の形態では動きべク トル検出範囲の更新をフレーム 単位で行う場合を説明したが、 画面単位、 フレーム単位、 グループォブ ピクチャ (G O P ) 単位等入力動画像信号の所定のまとまり単位で行う こともできる。 但し、 まとまり単位に応じて、 動きべクトル検出範囲決 定器 1 3及びフレームメモリ 1 1等を変化させる必要がある。
また、 上述の実施の形態では M P E G圧縮を例に採り説明したが、 圧 縮復号化方法は M P E Gに限定されるものではなく、 例えば H . 2 6 1 または H . 2 6 3等の時間方向の冗長度を削減するフレーム間予測を行 う圧縮方式であれば何れでも適応できる。
本実施の形態によれば、 動きべク トル検出のための検出範囲が複数存 在しても、 ハードウェア規模を増大させることなく、 動画像圧縮符号化 を行う際に、 入力映像の動きの速さに応じて、 最適な動きベクトル検出 範囲を選択出来るという作用を有し、 その結果、 高画質が実現できると いう、 優れた効果が得られる。 また、 動きの大きな画像であっても適正 な動きべクトルを検出することが出来、 また、 適正な動きべクトル検出 範囲を設定することが出来る。
又、 本発明のプログラムは、 上述した本発明の動きベクトル検出方法 の全部又は一部のステップ (又は、 工程、 動作、 作用等) の動作をコン ピュータにより実行させるためのプログラムであって、 コンピュータと 協働して動作するプログラムである。
又、 本発明の記録媒体は、 上述した本発明の動きベクトル検出方法の 全部又は一部のステップ (又は、 工程、 動作、 作用等) の全部又は一部 の動作をコンピュータにより実行させるためのプログラムを担持した記 録媒体であり、 コンピュータにより読み取り可能且つ、 読み取られた前 記プログラムが前記コンピュータと協動して前記動作を実行する記録媒 体である。
尚、 本発明の上記 「一部の手段 (又は、 装置、 素子等) 」 とは、 それ らの複数の手段の内の、 一つ又は幾つかの手段を意味し、 本発明の上記 「一部のステップ (又は、 工程、 動作、 作用等) 」 とは、 それらの複数 のステップの内の、 一つ又は幾つかのステップを意味する。
又、 本発明の上記 「手段 (又は、 装置、 素子等) の機能」 とは、 前記 手段の全部又は一部の機能を意味し、 本発明の上記 「ステップ (又は、 工程、 動作、 作用等) の動作」 とは、 前記ステップの全部又は一部の動 作を意味する。
又、 本発明のプログラムの一利用形態は、 コンピュータにより読み取 り可能な記録媒体に記録され、 コンピュータと協働して動作する態様で あっても良い。
又、 本発明のプログラムの一利用形態は、 伝送媒体中を伝送し、 コン ピュータにより読みとられ、 コンピュータと協働して動作する態様であ つても良い。
又、 本発明のデータ構造としては、 データベース、 データフォーマツ ト、 データテーブル、 データリスト、 データの種類などを含む。
又、 記録媒体としては、 R O M等が含まれ、 伝送媒体としては、 イン ターネット等の伝送媒体、 光,電波 ·音波等が含まれる。
又、 上述した本発明のコンピュータは、 C P U等の純然たるハードウ エアに限らず、 ファームウェアや、 O S、 更に周辺機器を含むものであ つても良レ、。
尚、 以上説明した様に、 本発明の構成は、 ソフトウェア的に実現して も良いし、 ハードウェア的に実現しても良い。 産業上の利用可能性
以上説明したところから明らかなように、 本発明は、 動きの大きな画 像であっても適正な動きベク トルを検出することが出来、 また、 適正な 動きべク トル検出範囲を設定することが出来る動画像圧縮符号化装置、 動きベク トル検出方法、 記録媒体、 及びプログラムを提供することが出 来る。

Claims

請 求 の
1 . 入力動画像映像を 1フレームに付き N (但し、 Nは 2以上の自 然数) 個に細分化したマクロブロック動画像信号を生成するマクロプロ ック生成手段と、
前記マクロブロック動画像信号を圧縮符号化した後に複号化して復号 化動画像信号を生成する符号復号化手段と、
前記復号化動画像信号と前記マクロブロック動画像信号とから第 1の 動きべク トル検出範囲内で動きべク トルを検出する動きべクトル検出手 段と、
検出された前記動きべクトルのうち、 前記第 1の動きべクトル検出範 囲の最外線である第 1の最外線と、 前記第 1の動きべク トル検出範囲の 内側にある第 2の動きべタトル検出範囲の最外線である第 2の最外線と の間にある動きべクトルの数を第 1の動きべク トルの数としてカウント する動きべクトルカウント手段と、
カウントされた前記第 1の動きべクトルの数に基づいて前記第 1の動 きべクトル検出範囲を拡大する動きべク トル検出範囲決定手段とを備え た動画像圧縮符号化装置。
2 . 前記動きベク トルカウント手段は、 前記第 2の動きベク トル検 出範囲の内側にある第 3の動きべクトル検出範囲内にある動きべクトル の数を第 2の動きべクトルの数としてカウントし、
前記動きべク トル検出範囲決定手段は、 カウントされた前記第 2の動 きべクトルの数に基づいて前記第 1の動きべクトル検出範囲を縮小する 請求項 1記載の動画像圧縮符号化装置。
3 . 前記動きベク トル検出範囲決定手段は、 カウントされた前記第 1の動きべクトルの数が所定の閾値より多い場合、 前記第 1の動きべク トル検出範囲を拡大し、 前記所定の閾値より小さい場合、 前記第 1の動 きべクトル検出範囲を拡大しないまたは前記第 1の動きべクトル検出範 囲を変更しない請求項 1記載の動画像圧縮符号化装置。
4 . 前記動きベク トル検出範囲決定手段は、 カウントされた前記第 1の動きべクトルの数が多いほど前記第 1の動きべク トル検出範囲の拡 大率を大きくする請求項 1記載の動画像圧縮符号化装置。
5 . 前記動きベク トル検出範囲決定手段は、 カウントされた前記第 2の動きべクトルの数が多いほど前記第 1の動きべクトル検出範囲の縮 小率を大きくする請求項 2記載の動画像圧縮符号化装置。
6 . 前記動きべクトル検出範囲決定手段は、 予め複数種類の動きべ クトル検出範囲を有しており、
その複数種類の動きべクトル検出範囲から、 カウントされた前記第 1 の動きべクトルの数が多いほど大きな動きべクトル検出範囲を選択して 、 前記第 1の動きべクトル検出範囲とする請求項 1記載の動画像圧縮符 号化装置。
7 . 前記動きべク トル検出範囲決定手段は、 予め複数種類の動きべ ク トル検出範囲を有しており、 '
その複数種類の動きべクトル検出範囲から、 カウントされた前記第 2 の動きべクトルの数が多いほど小さな動きべクトル検出範囲を選択して 、 前記第 1の動きべク トル検出範囲とする請求項 2記載の動画像圧縮符 号化装置。
8 . 前記動きべクトル検出範囲決定手段は、 前記第 1の動きべク ト ル検出範囲の更新を、 Pフレーム毎に行う、 または Pフレームを n個 ( 但し、 n≤Nの自然数) に分割した分割単位毎に行い、
前記第 1の動きべク トル検出範囲が更新される際、 前記動きべクトル 検出範囲決定手段は、 前記 Pフレームのまたは前記分割単位のカウント された前記第 1の動きべクトルの数を、 前記 Pフレームにまたは前記分 割単位に存在するマクロプロック動画像信号の数で割った数が、 所定の 閾値以上になった場合に、 前記第 1の動きべク トル検出範囲を拡大する 請求項 1記載の動画像圧縮符号化装置。 -
9 . 前記動きべク トル検出範囲決定手段は、 前記第 1の動きべクト ル検出範囲の更新を、 Pフレーム毎に行う、 または Pフレームを n個 ( 但し、 n≤Nの自然数) に分割した分割単位毎に行い、
前記第 1の動きべクトル検出範囲が更新される際、 前記動きべクトル 検出範囲決定手段は、 前記 Pフレームのまたは前記分割単位のカウント された前記第 2の動きべク トルの数を、 前記 Pフレームにまたは前記分 割単位に存在するマクロブロック動画像信号の数で割った数が、 所定の 閾値以上になった場合に、 前記第 1の動きべクトル検出範囲を縮小する 請求項 1記載の動画像圧縮符号化装置。
1 0 . 前記動きべクトル検出手段は、 前記第 1の動きべク トル検出範 囲を拡大する際、 前記第 2の動きべクトル検出範囲をも拡大する請求項
1、 3、 4、 6、 8のいずれかに記載の動画像圧縮符号化装置。
1 1 . 前記動きべクトル検出手段は、 前記第 1の動きべクトル検出範 囲を縮小する際、 前記第 3の動きべクトル検出範囲をも縮小する請求項
2、 4、 7、 9記載の動画像圧縮符号化装置。
1 2 . 入力動画像映像を 1フレームに付き N (伹し、 Nは 2以上の自 然数) 個に細分化して生成されたマクロプロック動画像信号を圧縮符号 化した後に復号化して生成された複号化動画像信号と、 前記マクロプロ ック動画像信号とから第 1の動きべクトル検出範囲内で動きべクトルを 検出する動きべク トル検出ステップと、
検出された前記動きべクトルのうち、 前記第 1の動きべクトル検出範 囲の最外線である第 1の最外線と、 前記第 1の動きべク トル検出範囲の 内側にある第 2の動きべク トル検出範囲の最外線である第 2の最外線と の間にある動きべク トルの数を第 1の動きべク トルの数としてカウント する動きべク トルカウントステップと、
前記第 1の動きべク トル検出範囲の最外線である第 1の最外線と、 前 記第 1の動きべク トル検出範囲の内側にある第 2の動きべク トル検出範 囲の最外線である第 2の最外線であって、 前記第 1の最外線に隣接する 1本もしくは複数本の第 2の最外線との上にある動きべク トルの数であ る第 1の動きべク トルの数をカウントする動きべク トルカウントステツ プと、
カウントされた前記第 1の動きべク トルの数に基づいて前記第 1の動 きべク トル検出範囲を拡大する動きべク トル検出範囲決定ステップとを 備えた動きべク トル検出方法。
1 3 . 請求項 1 2記載の動きべク トル検出方法の、 入力動画像映像を 1フレームに付き N (但し、 Nは 2以上の自然数) 個に細分化して生成 されたマクロプロック動画像信号を圧縮符号化した後に復号化して生成 された復号化動画像信号と、 前記マクロプロック動画像信号とから第 1 の動きべク トル検出範囲内で動きべク トルを検出する動きべク トル検出 ステップと、
検出された前記動きべク トルのうち、 前記第 1の動きべク トル検出範 囲の最外線である第 1の最外線と、 前記第 1の動きべク トル検出範囲の 内側にある第 2の動きべタ トル検出範囲の最外線である第 2の最外線と の間にある動きべク トルの数を第 1の動きべク トルの数としてカウント する動きべク トルカウントステップと、
カウントされた前記第 1の動きべク トルの数に基づいて前記第 1の動 きべク トル検出範囲を拡大する動きべク トル検出範囲決定ステップとを コンピュータに実行させるためのプログラム。
1 4 . 請求項 1 3記載のプログラムを担持した記録媒体であって、 コ ンピュータにより処理可能な記録媒体。
PCT/JP2002/013413 2001-12-25 2002-12-24 Moving picture compression/coding apparatus and motion vector detection method WO2003056838A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020037013911A KR100632072B1 (ko) 2001-12-25 2002-12-24 동화상 압축 부호화장치 및 모션벡터 검출방법
US10/467,420 US20040105589A1 (en) 2001-12-25 2002-12-24 Moving picture compression/coding apparatus and motion vector detection method
EP02793365A EP1460854A4 (en) 2001-12-25 2002-12-24 COMPRESSION DEVICE / ENCODED IMAGE ENCODING DEVICE AND MOTION VECTOR DETECTION METHOD

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2001-391441 2001-12-25
JP2001391441 2001-12-25

Publications (1)

Publication Number Publication Date
WO2003056838A1 true WO2003056838A1 (en) 2003-07-10

Family

ID=19188521

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2002/013413 WO2003056838A1 (en) 2001-12-25 2002-12-24 Moving picture compression/coding apparatus and motion vector detection method

Country Status (6)

Country Link
US (1) US20040105589A1 (ja)
EP (1) EP1460854A4 (ja)
KR (1) KR100632072B1 (ja)
CN (1) CN1266947C (ja)
TW (1) TWI225372B (ja)
WO (1) WO2003056838A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050169376A1 (en) * 2004-01-30 2005-08-04 Pai Ramadas L. Motion vector address computer error detection
KR100763205B1 (ko) * 2006-01-12 2007-10-04 삼성전자주식회사 모션 역변환을 사용하여 모션 예측을 수행하는 방법 및장치
EP2390840A3 (en) * 2006-02-13 2011-12-14 Snell Limited Method and apparatus for extracting a region of interest in a moving image sequence
US7916141B2 (en) * 2006-04-10 2011-03-29 Choi Kum-Young Image processing system using vector pixel
CN101137065A (zh) * 2006-09-01 2008-03-05 华为技术有限公司 图像编码方法、解码方法、编码器、解码器、编解码方法及编解码器
CN102325257A (zh) * 2007-07-20 2012-01-18 富士胶片株式会社 图像处理设备和图像处理方法
US8428023B2 (en) * 2010-10-22 2013-04-23 Motorola Solutions, Inc. Method and apparatus for distributing video packets over multiple bearers for providing unequal packet loss protection
US8649339B2 (en) * 2010-10-22 2014-02-11 Motorola Solutions, Inc. Method and apparatus for distributing video packets over multiple bearers for providing unequal packet loss protection
KR20120088488A (ko) * 2011-01-31 2012-08-08 한국전자통신연구원 시간적 움직임 벡터 저장 방법 및 그 장치
EP3139611A1 (en) 2011-03-14 2017-03-08 HFI Innovation Inc. Method and apparatus for deriving temporal motion vector prediction
EP2981089B1 (en) 2013-03-29 2019-07-10 Fujitsu Limited Encoding device, computer system, encoding method, encoding program, and recording medium
US11812168B2 (en) * 2020-01-07 2023-11-07 Semiconductor Components Industries, Llc Imaging devices with image transform circuitry for improved motion detection

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08307880A (ja) * 1995-03-03 1996-11-22 Kokusai Denshin Denwa Co Ltd <Kdd> 動画像符号化装置
JPH0955941A (ja) * 1995-08-16 1997-02-25 Sony Corp 画像符号化方法、画像符号化装置、及び画像符号化データの記録装置
JPH09284776A (ja) * 1996-04-12 1997-10-31 Sony Corp 画像符号化装置及び画像符号化方法
JPH1023420A (ja) * 1996-07-02 1998-01-23 Matsushita Electric Ind Co Ltd 動き検出方法および動き検出装置
JPH1155677A (ja) * 1997-08-08 1999-02-26 Fujitsu Ltd 動画像符号化装置
JPH11127437A (ja) * 1997-10-21 1999-05-11 Nec Corp 動画像符号化方法および装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2231225B (en) * 1989-04-27 1993-10-20 Sony Corp Motion dependent video signal processing
TW224553B (en) * 1993-03-01 1994-06-01 Sony Co Ltd Method and apparatus for inverse discrete consine transform and coding/decoding of moving picture
US5537155A (en) * 1994-04-29 1996-07-16 Motorola, Inc. Method for estimating motion in a video sequence
US5841476A (en) * 1995-03-03 1998-11-24 Kokusai Denshin Denwa Co. Ltd. Coding apparatus for encoding motion picture
JP3994445B2 (ja) * 1995-12-05 2007-10-17 ソニー株式会社 動きベクトル検出装置及び動きベクトル検出方法
MY118360A (en) * 1996-04-30 2004-10-30 Nippon Telegraph & Telephone Scheme for detecting shot boundaries in compressed video data using inter-frame/inter field prediction coding and intra-frame/intra-field coding
JP3149840B2 (ja) * 1998-01-20 2001-03-26 日本電気株式会社 動きベクトル検出装置及び方法
JP4378824B2 (ja) * 2000-02-22 2009-12-09 ソニー株式会社 画像処理装置及び方法
EP1134981A1 (en) * 2000-03-17 2001-09-19 STMicroelectronics S.r.l. Automatic setting of optimal search window dimensions for motion estimation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08307880A (ja) * 1995-03-03 1996-11-22 Kokusai Denshin Denwa Co Ltd <Kdd> 動画像符号化装置
JPH0955941A (ja) * 1995-08-16 1997-02-25 Sony Corp 画像符号化方法、画像符号化装置、及び画像符号化データの記録装置
JPH09284776A (ja) * 1996-04-12 1997-10-31 Sony Corp 画像符号化装置及び画像符号化方法
JPH1023420A (ja) * 1996-07-02 1998-01-23 Matsushita Electric Ind Co Ltd 動き検出方法および動き検出装置
JPH1155677A (ja) * 1997-08-08 1999-02-26 Fujitsu Ltd 動画像符号化装置
JPH11127437A (ja) * 1997-10-21 1999-05-11 Nec Corp 動画像符号化方法および装置

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
EP1460854A4 (en) 2008-10-22
KR100632072B1 (ko) 2006-10-04
CN1505900A (zh) 2004-06-16
US20040105589A1 (en) 2004-06-03
TW200301655A (en) 2003-07-01
EP1460854A1 (en) 2004-09-22
TWI225372B (en) 2004-12-11
CN1266947C (zh) 2006-07-26
KR20040016856A (ko) 2004-02-25

Similar Documents

Publication Publication Date Title
JP4373702B2 (ja) 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
US6816617B2 (en) Motion vector searcher and motion vector search method as well as moving picture coding apparatus
JPWO2003003749A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
JP2004048552A (ja) 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
US20120027095A1 (en) Motion vector detection apparatus, motion vector detection method, and computer-readable storage medium
JP4417054B2 (ja) 離散コサイン変換係数を参照する動き推定方法及び装置
WO2003056838A1 (en) Moving picture compression/coding apparatus and motion vector detection method
WO2006074043A2 (en) Method and apparatus for providing motion estimation with weight prediction
JPH10336672A (ja) 符号化方式変換装置およびその動きベクトル検出方法
JP2001128179A (ja) 動画像符号化装置および方法
JP3674535B2 (ja) 動画像符号化方法および装置
JPH0846969A (ja) 映像信号符号化方式
JP2507199B2 (ja) 画像符号化方法及び装置
JPH1023420A (ja) 動き検出方法および動き検出装置
JP4034180B2 (ja) 動画像圧縮符号化装置、及び動きベクトル検出方法
JPH0984024A (ja) 動画像信号の符号化装置
JP2012124851A (ja) 動き補償符号化装置、動き補償符号化方法、及びプログラム
JPH10224779A (ja) 動画像のシーン変化検出方法及び装置
JP4561701B2 (ja) 動画像符号化装置
JP4100067B2 (ja) 画像情報変換方法及び画像情報変換装置
KR100657714B1 (ko) 3차원 스캐닝을 이용한 영상데이터 부호화 방법
JPH06105299A (ja) 動画像圧縮装置
JPH11298902A (ja) 画像符号化装置および方法
JPH11205801A (ja) 動画像符号化装置およびその符号化選択方法
JPH0799645A (ja) 動きベクトル検出回路

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN KR US

AL Designated countries for regional patents

Kind code of ref document: A1

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

WWE Wipo information: entry into national phase

Ref document number: 2002793365

Country of ref document: EP

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

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 028091329

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 10467420

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2002793365

Country of ref document: EP