WO2010050089A1 - 動画像圧縮符号化における符号化処理方法及び符号化処理装置 - Google Patents

動画像圧縮符号化における符号化処理方法及び符号化処理装置 Download PDF

Info

Publication number
WO2010050089A1
WO2010050089A1 PCT/JP2009/002867 JP2009002867W WO2010050089A1 WO 2010050089 A1 WO2010050089 A1 WO 2010050089A1 JP 2009002867 W JP2009002867 W JP 2009002867W WO 2010050089 A1 WO2010050089 A1 WO 2010050089A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
blocks
movement amount
encoding
processing
Prior art date
Application number
PCT/JP2009/002867
Other languages
English (en)
French (fr)
Inventor
田中康晴
Original Assignee
パナソニック株式会社
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 パナソニック株式会社 filed Critical パナソニック株式会社
Priority to CN2009801409200A priority Critical patent/CN102187678A/zh
Priority to JP2010535615A priority patent/JPWO2010050089A1/ja
Publication of WO2010050089A1 publication Critical patent/WO2010050089A1/ja
Priority to US13/076,085 priority patent/US8705628B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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 device having a moving image shooting function such as a digital camera or a camera-equipped mobile phone, and a moving image compression encoding technique when creating or using image content.
  • moving picture compression coding technology such as MPEG (moving picture expert groups) that performs high-efficiency coding has been rapidly put into practical use, and is widely used in video cameras and mobile phones.
  • MPEG moving picture expert groups
  • an “intra-encoding mode” in which only an image within a screen of a frame to be encoded (hereinafter referred to as the target image) is used for encoding, and a frame that has already been encoded (hereinafter referred to as “encoding mode”) , An image region having a strong correlation with the target image is detected from the reference frame (hereinafter referred to as motion search), and only a difference value between the image after the motion search (hereinafter referred to as motion compensated image) and the target image is encoded.
  • motion search the reference frame
  • motion compensated image only a difference value between the image after the motion search
  • motion compensated image a difference value between the image after the motion search
  • inter-coding mode There is an “inter-coding mode”.
  • DCT discrete cosine transform
  • quantization processing were performed on the motion vector representing the position of the reference image in the reference frame and the difference image between the input image and the motion compensated image.
  • a method of generating a stream by variable-length coding a combination with later data DCT coefficients is shown in the MPEG-4 standard.
  • the inter coding mode will be described in more detail.
  • 0 is input to the DCT process and the quantization process, and the result is output as 0. become. If there is no large difference even if the difference image is not 0, the result may be output as 0 by quantization. As described above, when the output result is 0, the DCT process and the quantization process are skipped without being executed, and the result is replaced with 0 to be output (see Patent Document 1). ).
  • An object of the present invention is to achieve a certain speed increase in frame processing without fail, thereby achieving downsizing and power saving of the encoding processing system.
  • a first encoding processing method divides a processing target frame into a plurality of blocks, and for each block, an input image and a reference image that has already been encoded are used.
  • S blocks S is an integer equal to or greater than 1 out of blocks in the frame.
  • the second encoding processing method divides a processing target frame into a plurality of blocks, executes DCT processing and quantization processing for each block, generates DCT coefficients, and converts the DCT coefficients into
  • a step of selecting S S (S is an integer of 1 or more) blocks from the blocks in the frame, and for the selected S blocks
  • S is an integer of 1 or more
  • the third encoding processing method divides a processing target frame into a plurality of blocks, and performs motion search for each block from an input image and a reference image that has already been encoded.
  • a coding processing method for generating a vector and performing a moving picture coding process using the motion vector a first step of detecting a moving amount of an image and storing it in a moving amount storage unit, and the moving amount storage unit
  • a third step of forcibly replacing the motion vector with 0 and performing a moving image encoding process and performing the third step of a certain frame and simultaneously performing the process of the third step of the next frame Used in The amount of movement is characterized by obtaining in the first and second step that.
  • the fourth encoding processing method divides a processing target frame into a plurality of blocks, performs DCT processing and quantization processing for each block, generates DCT coefficients, and converts the DCT coefficients into
  • the first step of detecting the moving amount of the image and storing it in the moving amount storage unit is compared with the moving amount in the moving amount storage unit
  • the second step of selecting S S (S is an integer greater than or equal to 1) blocks from the least moving amount, and the DCT processing and the quantization processing are not performed on the selected S blocks.
  • a third step of forcibly replacing the DCT coefficient with 0 and performing a moving image encoding process, and performing the third step of a certain frame and simultaneously using the movement of the third step of the next frame Before quantity It is characterized by determining at the first and second step.
  • the first encoding processing apparatus divides a processing target frame into a plurality of blocks, performs a motion search from an input image and a reference image that has already been encoded for each block, and performs motion search.
  • the input image to be encoded is reduced to 1 / n (n is an integer of 1 or more).
  • An input image reduction unit that generates an image, a reference image reduction unit that generates an image reduced to 1 / n with respect to a reference image that has already been encoded, the input image reduction unit, and the reference image reduction unit
  • a movement amount detection unit that inputs a reduced input image and a reference image and detects a movement amount for each block, a movement amount storage unit that stores the movement amount detected by the movement amount detection unit, and the movement amount storage unit Movements remembered in
  • the stop block selection unit that selects S blocks (S is an integer equal to or greater than 1) from the least moving amount, and the motion search is performed on the selected S blocks.
  • a moving picture coding unit that forcibly replaces the motion vector with 0 and executes a moving picture coding process.
  • the second encoding processing apparatus divides a processing target frame into a plurality of blocks, performs DCT processing and quantization processing for each block, generates DCT coefficients, and converts the DCT coefficients into An input image reduction unit that generates an image reduced to 1 / n (n is an integer equal to or greater than 1) with respect to an input image to be encoded; A reference image reduction unit that generates an image reduced to 1 / n with respect to a reference image that has already been encoded, and an input image and a reference image that are reduced from the input image reduction unit and the reference image reduction unit.
  • the movement amount detection unit that detects the movement amount for each block, the movement amount storage unit that stores the movement amount detected by the movement amount detection unit, and the movement amount stored in the movement amount storage unit are compared.
  • Stop block selection unit that selects blocks (S is an integer equal to or greater than 1), and for the selected S blocks, the DCT coefficient and the quantization process are not executed, and the DCT coefficient is forced And a moving image encoding unit that executes a moving image encoding process by replacing it with 0.
  • Embodiment 1 is a configuration block diagram of an encoding processing apparatus according to Embodiment 1 of the present invention. It is a block diagram which shows the detailed structure of the stop block detection part in FIG. It is a figure which shows the 1st correspondence of the input image and reduced image in the encoding processing apparatus of FIG. It is a figure which shows the 2nd correspondence of the input image and reduced image in the encoding processing apparatus of FIG. It is a flowchart figure which shows operation
  • Embodiment 1 of the present invention although the situation shown in FIG. 7 can be avoided by sequentially switching between a frame for which the number of corresponding block settings is set to 0 and a frame for which it is set to non-zero, the generated code amount It is a figure which shows that it becomes a result which fluctuates greatly.
  • FIG. 9 is a diagram showing that stable bit rate control can be realized as compared with the situation of FIG. 8 by the second embodiment of the present invention for correcting the estimated code amount.
  • FIG. 10 is a time chart showing that the stop block detection process and the moving picture encoding process are sequentially executed according to the first embodiment of the present invention, although the processing time is shortened as compared with the prior art.
  • FIG. 1 is a block diagram illustrating a configuration of an imaging system using an encoding processing apparatus according to the present invention.
  • FIG. 1 is a block diagram showing a configuration of an encoding processing apparatus according to Embodiment 1 of the present invention.
  • the encoding processing device 300 includes an input image reduction unit 110, a reference image reduction unit 111, a stop block detection unit 100, a moving image encoding unit 200, and a reference frame storage unit 213.
  • the input image reduction unit 110 inputs an input image to be encoded, reduces the frame image to 1 / n (n is an integer of 1 or more), and outputs the frame image to the stop block detection unit 100.
  • the reference image reduction unit 111 also inputs a reference frame from the reference frame storage unit 213 in which a frame (reference frame) for which encoding processing has already been completed is stored, reduces the frame image to 1 / n, and stops. It outputs to the block detection part 100.
  • the blocks in the frame are sorted in ascending order of the movement amount, and are designated by the “number of corresponding block settings” input from the outside of the encoding processing apparatus 300 from the one with the smaller movement amount. Set the number of blocks as “stop blocks”.
  • the motion search process, the DCT process and the quantization process can be skipped, and the process can be speeded up.
  • FIG. 2 shows a detailed configuration of the stop block detector 100 in FIG. According to FIG. 2, the stop block detection unit 100 includes a movement amount detection unit 101, a movement amount storage unit 102, and a stop block selection unit 103.
  • the movement amount detection of the image performed by the stop block detection unit 100 will be described with reference to FIG.
  • the input image is reduced to 1 / n by the input image reduction unit 110.
  • the reference image is also reduced to 1 / n by the reference image reduction unit 111. This is input to the movement amount detection unit 101 in units of blocks of p ⁇ p (p is an integer of 1 or more) pixels.
  • Movement amount
  • the above movement amount is calculated for each p ⁇ p pixel, and the result is stored in the movement amount storage unit 102.
  • movement amount information for one frame is stored in the movement amount storage unit 102.
  • the movement amounts are sorted in ascending order, and the sorted movement amounts are sent to the stop block selection unit 103 in ascending order.
  • the stop block selection unit 103 uses the movement amount information sent from the movement amount storage unit 102 and the corresponding block setting number input from the outside, and selects which block (mx ⁇ m pixel) corresponds to the stop block.
  • the determination of the stop block it is necessary to convert information calculated in units of p ⁇ p pixels with respect to an image obtained by reducing the frame by 1 / n into units of m ⁇ m pixels with respect to the same-size image of the frame. .
  • one block to be processed using the reduced image may be converted into an area of n ⁇ n blocks of the same size image.
  • the stop block determination is performed with the same number of blocks as that of the input image even in the reduced image, the determination can be performed in the minimum block unit.
  • the memory capacity of the movement amount storage unit 102 that needs to store the movement amount information of all the blocks in the reduced image is reduced. can do.
  • the stop block selection unit 103 determines which block of the input image corresponds to one block of the reduced image output from the movement amount storage unit 102 using the relationship of p, m, and n described above, and stops the stop block. Control is performed so that the number of blocks of the input image corresponding to is at least equal to the number of blocks set. A specific processing flow will be described with reference to FIG.
  • Moving blocks all blocks in one frame of the input image are set as “moving blocks”.
  • This moving block indicates that it is not a stop block, and in the block corresponding to the moving block, motion search, DCT processing, and quantization processing, which are normal encoding processes, are executed (S100).
  • the movement amount information stored in the movement amount storage unit 102 is acquired one by one from the one with the smaller movement amount (S101). Based on the information, it is determined which input image block corresponds to the relationship of p, m, and n shown in FIGS. 3 and 4 (S102). A stop block is set (S103). For the block set as the stop block, motion search, DCT processing, and quantization processing are skipped in the subsequent encoding processing.
  • the total number of stopped blocks set in S103 is counted, and it is checked whether the value exceeds the number of corresponding blocks set (S104).
  • the stop block determination process is terminated. If not, the process returns to S101 and a stop block is added.
  • the movement amount storage unit 102 has been described to store movement amount information of all blocks in one frame, but is necessary when the stop block selection unit 103 selects a stop block. Only information may be stored.
  • the stop block selection unit 103 reads the movement amount information of two blocks from the movement amount storage unit 102 according to the number of corresponding block settings, only the movement amount information for two blocks is stored in the movement amount storage unit 102. Can be stored. For example, a total of four blocks of movement amounts are written in the movement amount storage unit 102 in the order of “100”, “10”, “20”, “5” from the movement amount detection unit 101, and information “5” of two blocks among them is written. , “10” is transferred to the stop block selection unit 103, the movement amount storage unit 102 only needs to store information of two blocks having “5” and “10” as movement amounts.
  • an input image is first input to the motion search unit 201.
  • a frame image (reference image) that has already been processed is also input there, and a motion search process is executed using the input image and the reference image.
  • the motion search result is passed to the motion compensated image generation unit 202, and a motion compensated image is generated from the reference image.
  • a difference image between the input image and the motion compensated image is generated using the subtracter 203 and passed to the selector 204.
  • the selector 204 selects an input image at the time of intra coding, and selects a difference image output from the subtracter 203 at the time of inter coding. In this example, a difference image is selected by the selector 204 to indicate inter coding.
  • the difference image is input to the DCT processing unit 205 and subjected to DCT processing, and then the quantization processing is performed to the quantization unit 206 to generate DCT coefficients.
  • the DCT coefficient is passed to the variable length coding unit 209 and variable length coding is executed.
  • the motion vector information is also passed from the motion search unit 201 to the variable length encoding unit 209, and the motion vector information is also encoded.
  • the variable length coding unit 209 generates variable length coding information including both motion vector information and DCT coefficients.
  • the variable length coding information generated by the variable length coding unit 209 is output to the outside as a generated stream.
  • the DCT coefficient generated by the quantization processing unit 206 is also passed to the inverse quantization processing unit 207 and subjected to the inverse quantization process, and then passed to the inverse DCT processing unit 208 to perform the inverse DCT process.
  • the adder 212 adds the resultant data and the motion compensated image supplied from the motion compensated image generation unit 202 via the switch 211 to generate a reference image, and stores the reference image in the reference frame storage unit 213. .
  • the processing in the block determined to be a stop block with respect to the above normal inter coding processing will be described below.
  • the inter coding process is executed in units of blocks, and whether the block to be executed is a moving block or a stop block is notified to the moving image encoding unit 200 as stop block information in units of blocks.
  • the motion search process performed by the motion search unit 201 is not executed, and the execution result (motion vector) is set to 0 and output to the motion compensated image generation unit 202 and the variable length encoding unit 209. .
  • the DCT processing performed by the DCT processing unit 205 and the quantization processing performed by the quantization processing unit 206 are not performed, and the quantization processing result (DCT coefficient) is set to 0, and the variable length coding unit 209 and the inverse quantization unit It outputs to 207.
  • the inverse quantization unit 207 nor the inverse DCT processing unit 208 performs the process, and the inverse DCT processing unit 208 outputs 0 to the adder 212.
  • the execution of motion search processing, DCT processing, quantization processing, inverse quantization processing, and inverse DCT processing can be skipped.
  • square blocks such as px ⁇ p or m ⁇ m are used, but rectangular blocks such as px ⁇ py and mx ⁇ my (px, py, mx, my are integers of 1 or more) may be used.
  • n representing a reduction ratio
  • both the motion vector and the DCT coefficient are set to 0. However, only one (the motion vector only is 0 or the DCT coefficient is only 0). As a matter of course, it is possible to achieve sufficiently high speed even by a method in which only the motion search process is not executed, or the DCT process, the quantization process, the inverse quantization process, and the inverse DCT process are not executed.
  • Embodiment 2 >> In the second embodiment, an implementation content that is a further development of the content explained in the first embodiment will be described.
  • a certain number of stop blocks are created for each frame to achieve a certain high speed and low power consumption.
  • motion vector 0
  • difference image 0
  • the same image as the previous frame is always displayed over several frames. It will continue to output.
  • the image is stopped without moving even one pixel, but the amount of movement calculated by Equation 1 is smaller than the other blocks even though the image is moving several pixels at a time.
  • a stop block is designated, the fact that an image is updated only once every few frames (not designated as a moving block) means that it may lead to degradation of image quality as a moving image.
  • implementation contents for solving this problem will be described.
  • the corresponding block setting number that defines the number of blocks to be a stop block in each frame is input to the stop block detection unit 100.
  • the above problem is solved by switching the value of the number of corresponding block settings for each frame.
  • the number of corresponding block settings is set to non-zero so as to obtain a speed-up effect.
  • the corresponding block setting number is set to 0, and all blocks are encoded as moving blocks.
  • the corresponding block setting number is set to non-zero, and the speed-up effect is obtained as in the q frame.
  • the example of providing a frame that sets the corresponding block setting number to 0 once every two frames has been described as an example.
  • the corresponding block setting number is set to 0 once every r frames (r is an integer of 2 or more).
  • r is an integer of 2 or more.
  • other frames can be non-zero.
  • the code amount of the frame greatly increases and decreases as shown in FIG.
  • the code amount increases when the corresponding block setting number is 0, and the code amount decreases when it is non-zero.
  • the code amount of the previous frame and the quantization parameter of the previous frame are used for bit rate control, the following problem occurs.
  • the code amount is controlled to increase in the next frame.
  • the code amount is large in the previous frame, control is performed so that the code amount is decreased in the next frame.
  • the increase / decrease is repeated as shown in FIG. 8, stable bit rate control cannot be performed. In other words, even if the same quantization parameter is set, there are frames with a large code amount and frames with a small amount of code, making it difficult to control the bit rate.
  • Embodiment 3 Also in the third embodiment, the contents of further development of the contents described in the first embodiment will be described.
  • the stop block detection unit 100 sets the position of the stop block in the encoded frame and the next moving image encoding unit 200 performs encoding
  • the block set as the stop block explained that a part of the encoding process is skipped.
  • FIG. 1 is used to show an example in which a stop block detection unit 100 that sets stop blocks and a moving image encoding unit 200 that executes encoding processing are configured by different means. It was.
  • the setting of the stop block and the coding processing are executed by the same means, that is, the moving picture coding unit 200b, and s is set.
  • the stop block of the s + 1 frame is set in the motion search process executed by the motion search unit 201 when performing the encoding process of the s frame (see FIG. 12). .
  • An input image and a reference image are input to the motion search unit 201b in FIG. 12, and a motion search is executed. At that time, the movement amount shown in Equation 1 is also calculated at the same time, and the result is stored in the movement amount storage unit 102b.
  • the processing for one frame movement amount detection processing
  • the movement amount information stored in the movement amount storage unit 102b is sorted in ascending order of movement amount, and is output to the stop block selection unit 103b in ascending order.
  • the stop block selection unit 103b sets stop blocks corresponding to the number of corresponding block settings, and outputs the stop block information to the moving image encoding unit 200b.
  • the stop block information set by the stop block selection unit 103b is used as stop block position information when processing the next frame. That is, by executing the stop block detection process and the moving picture encoding process in parallel, the process can be completed at a higher speed (see FIG. 13).
  • the encoding processing apparatuses 300 and 300b according to Embodiments 1 to 3 of the present invention have been described above. Next, application examples of these encoding processing apparatuses 300 and 300b will be described.
  • FIG. 14 is a configuration block diagram of an imaging system 601 using the encoding processing apparatus according to the present invention, for example, a digital still camera (DSC).
  • a signal processing device 606 in FIG. 14 is one of the encoding processing devices 300 and 300b according to the first to third embodiments of the present invention.
  • the image light incident through the optical system 602 forms an image on the sensor 603.
  • the sensor 603 is driven by the timing control circuit 609 to accumulate the imaged image light and photoelectrically convert it into an electrical signal.
  • An electrical signal read from the sensor 603 is converted into a digital signal by an analog / digital converter (ADC) 604 and then input to an image processing circuit 605 including the signal processing device 606.
  • the image processing circuit 605 performs image processing such as Y / C processing, edge processing, image enlargement / reduction processing, and image compression / expansion processing using the present invention.
  • the image-processed signal is recorded or transferred to a medium in a recording / transfer circuit 607.
  • the recorded or transferred signal is reproduced by the reproduction circuit 608.
  • the entire imaging system 601 is controlled by a system control circuit 610.
  • the image processing in the signal processing device 606 according to the present invention is not necessarily applied only to a signal based on the image light imaged on the sensor 603 via the optical system 602, and is input as an electrical signal from an external device, for example. Needless to say, the present invention can also be applied to processing an image signal to be processed.
  • the encoding processing method and the encoding processing apparatus can complete the encoding processing at high speed, the encoding processing method and the encoding processing apparatus are useful for high-spec imaging systems and the like having a high frame rate and high resolution. It is.

Landscapes

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

Abstract

 動画像符号化部(200)の前段に停止ブロック検出部(100)を設ける。停止ブロック検出部(100)は、処理対象フレームを複数のブロックに分割し、当該フレーム内のブロックを移動量が少ない順にソートし、移動量の少ない方から、符号化処理装置(300)の外部から入力される「該当ブロック設定数」で指定された数のブロックを「停止ブロック」として設定する。動画像符号化部(200)は、停止ブロックに該当するブロックに関しては、動き探索を実行せずに強制的に「動きベクトル=0」に、またDCT処理及び量子化処理を実行せずに強制的に「DCT係数=0」と置き換えて動画像のインター符号化処理を実行する。

Description

動画像圧縮符号化における符号化処理方法及び符号化処理装置
 本発明は、デジタルカメラ、カメラ付き携帯電話等の動画撮影機能を持つ機器や、画像コンテンツを作成又は使用する際の動画像圧縮符号化技術に関するものである。
 近年、高能率符号化を行うMPEG(moving picture experts group)等の動画像圧縮符号化技術の実用化が急速に進み、ビデオカメラや携帯電話等に普及している。
 MPEG等の符号化技術においては、様々な符号化モードが規格において定義されている。例えば、MPEG-4においては、符号化対象となるフレームの画面内の画像(以後、対象画像)のみを使用し符号化する「イントラ符号化モード」、また、既に符号化が完了したフレーム(以後、参照フレーム)内から対象画像と相関の強い画像領域を検出(以後、動き探索)し、その動き探索後の画像(以後、動き補償画像)と対象画像との差分値のみを符号化する「インター符号化モード」がある。
 後者のインター符号化モードについては、参照フレーム内の参照する画像の位置を表す動きベクトルと、入力画像と動き補償画像との差分画像に対しDCT(discrete cosine transform)処理及び量子化処理を施した後のデータであるDCT係数との組み合わせを可変長符号化してストリームを生成する方法がMPEG-4規格の中で示されている。
 インター符号化モードについてもう少し詳しく説明すると、入力画像と動き補償画像とが一致して差分画像が0の場合は、DCT処理及び量子化処理に対して0を入力し、結果を0として出力することになる。また、差分画像が0でなくとも大きな差分がない場合は、量子化により、結果を0として出力することもある。このように出力結果が0である場合は、DCT処理及び量子化処理を実行せずにスキップし、結果を0に置き換えて出力させることで、高速化を実現することができる(特許文献1参照)。
特開2004-328799号公報
 しかし、差分画像が0であるか否か、すなわちDCT処理及び量子化処理をスキップさせることができるか否かを判断するには、実際に各マクロブロックに対して動き探索を実行して差分画像を生成する必要があるため、DCT処理及び量子化処理をスキップできるマクロブロックの数をフレーム処理開始前に把握することができない。このため、処理の高速化度合いをフレーム処理開始前に測ることができないといった問題があった。例えば、1フレーム内の全てのマクロブロックに対してDCT処理及び量子化処理のスキップが選択されて高速化に繋がる場合がある反面、1フレーム内の全てのマクロブロックに対してDCT処理及び量子化処理のスキップが一切選択されず全く高速化に繋がらない場合もあったのである。
 本発明の目的は、フレーム処理において必ず一定以上の高速化を実現し、以て符号化処理システムの小型化及び省電力化を達成することにある。
 上記目的を達成するため、本発明に係る第1の符号化処理方法は、処理対象フレームを複数のブロックに分割して、そのブロック毎に、入力画像と既に符号化処理済みの参照画像とから動き探索を実行して動きベクトルを生成し、その動きベクトルを使用して動画像符号化処理を行う符号化処理方法において、フレーム内のブロックの中からS個(Sは1以上の整数)のブロックを選択するステップと、前記選択したS個のブロックに対しては、前記動き探索を実行せず、動きベクトルを強制的に0に置き換えて動画像符号化処理を行うステップとを備えたことを特徴としている。
 これにより、符号化フレームにおいて必ず一定個数以上の動き探索処理を実行しなくともよいブロックを作り出すことができ、処理の高速化を実現できる。
 本発明に係る第2の符号化処理方法は、処理対象フレームを複数のブロックに分割して、そのブロック毎に、DCT処理及び量子化処理を実行してDCT係数を生成し、そのDCT係数を使用して動画像符号化処理を行う符号化処理方法において、フレーム内のブロックの中からS個(Sは1以上の整数)のブロックを選択するステップと、前記選択したS個のブロックに対しては、前記DCT処理及び前記量子化処理を実行せず、DCT係数を強制的に0に置き換えて動画像符号化処理を行うステップとを備えたことを特徴としている。
 これにより、符号化フレームにおいて必ず一定個数以上のDCT処理及び量子化処理を実行しなくともよいブロックを作り出すことができ、処理の高速化を実現できる。
 本発明に係る第3の符号化処理方法は、処理対象フレームを複数のブロックに分割して、そのブロック毎に、入力画像と既に符号化処理済みの参照画像とから動き探索を実行して動きベクトルを生成し、その動きベクトルを使用して動画像符号化処理を行う符号化処理方法において、画像の移動量を検出し、移動量記憶部に記憶する第1ステップと、前記移動量記憶部の中の移動量を比較し、移動量の少ない方からS個(Sは1以上の整数)のブロックを選択する第2ステップと、前記選択したS個のブロックに対しては、前記動き探索を実行せず、動きベクトルを強制的に0に置き換えて動画像符号化処理を行う第3ステップとを備え、あるフレームの前記第3ステップを実行すると同時に、次フレームの前記第3ステップの処理で使用する移動量を前記第1及び第2ステップにて求めることを特徴としている。
 これにより、前フレーム処理時に移動量検出を同時に実行させることで、処理の更なる高速化を実現できる。
 本発明に係る第4の符号化処理方法は、処理対象フレームを複数のブロックに分割して、そのブロック毎に、DCT処理及び量子化処理を実行してDCT係数を生成し、そのDCT係数を使用して動画像符号化処理を行う符号化処理方法において、画像の移動量を検出し、移動量記憶部に記憶する第1ステップと、前記移動量記憶部の中の移動量を比較し、移動量の少ない方からS個(Sは1以上の整数)のブロックを選択する第2ステップと、前記選択したS個のブロックに対しては、前記DCT処理及び前記量子化処理を実行せず、DCT係数を強制的に0に置き換えて動画像符号化処理を行う第3ステップとを備え、あるフレームの前記第3ステップを実行すると同時に、次フレームの前記第3ステップの処理で使用する移動量を前記第1及び第2ステップにて求めることを特徴としている。
 これにより、前フレーム処理時に移動量検出を同時に実行させることで、処理の更なる高速化を実現できる。
 本発明に係る第1の符号化処理装置は、処理対象フレームを複数のブロックに分割して、そのブロック毎に、入力画像と既に符号化処理済みの参照画像とから動き探索を実行して動きベクトルを生成し、その動きベクトルを使用して動画像符号化処理を行う符号化処理装置において、符号化対象となる入力画像に対し、n分の1(nは1以上の整数)に縮小した画像を生成する入力画像縮小部と、既に符号化処理済みの参照画像に対し、n分の1に縮小した画像を生成する参照画像縮小部と、前記入力画像縮小部及び前記参照画像縮小部から縮小した入力画像及び参照画像を入力し、ブロック毎に移動量を検出する移動量検出部と、前記移動量検出部にて検出した移動量を記憶する移動量記憶部と、前記移動量記憶部に記憶されている移動量を比較し、移動量の少ない方からS個(Sは1以上の整数)のブロックを選択する停止ブロック選択部と、前記選択されたS個のブロックに対しては、前記動き探索を実行せず、動きベクトルを強制的に0に置き換えて動画像符号化処理を実行する動画像符号化部とを備えたことを特徴としている。
 これにより、符号化フレームにおいて必ず一定個数以上の動き探索処理を実行しなくともよいブロックを作り出すことができ、処理の高速化を実現できる。
 本発明に係る第2の符号化処理装置は、処理対象フレームを複数のブロックに分割して、そのブロック毎に、DCT処理及び量子化処理を実行してDCT係数を生成し、そのDCT係数を使用して動画像符号化処理を行う符号化処理装置において、符号化対象となる入力画像に対し、n分の1(nは1以上の整数)に縮小した画像を生成する入力画像縮小部と、既に符号化処理済みの参照画像に対し、n分の1に縮小した画像を生成する参照画像縮小部と、前記入力画像縮小部及び前記参照画像縮小部から縮小した入力画像及び参照画像を入力し、ブロック毎に移動量を検出する移動量検出部と、前記移動量検出部にて検出した移動量を記憶する移動量記憶部と、前記移動量記憶部に記憶されている移動量を比較し、移動量の少ない方からS個(Sは1以上の整数)のブロックを選択する停止ブロック選択部と、前記選択されたS個のブロックに対しては、前記DCT処理及び前記量子化処理を実行せず、DCT係数を強制的に0に置き換えて動画像符号化処理を実行する動画像符号化部とを備えたことを特徴としている。
 これにより、符号化フレームにおいて必ず一定個数以上のDCT処理及び量子化処理を実行しなくともよいブロックを作り出すことができ、処理の高速化を実現できる。
 本発明によれば、移動量の少ないブロックに対し強制的に「動きベクトル=0」、「差分画像=0」として符号化するようにし、それに該当するブロックをフレーム内で一定個数以上挿入させることで、該当するブロックは動き探索処理、DCT処理及び量子化処理を実施する必要がなくなるため、高速に動画像符号化処理を完了させることができる。また、より高速に処理が完了することで、低消費電力効果も期待できる。
本発明の実施の形態1に係る符号化処理装置の構成ブロック図である。 図1中の停止ブロック検出部の詳細構成を示すブロック図である。 図1の符号化処理装置における入力画像と縮小画像との第1の対応関係を示す図である。 図1の符号化処理装置における入力画像と縮小画像との第2の対応関係を示す図である。 図2中の停止ブロック選択部の動作を示すフローチャート図である。 図1及び図2中の動画像符号化部の詳細構成を示すブロック図である。 本発明の実施の形態1によれば、同じ位置のブロックが数フレームに渡り停止ブロックと指定され続けることがあることを示す図である。 本発明の実施の形態1によれば、該当ブロック設定数を0に設定するフレームと非0に設定するフレームとを順次切り替えるようにすることで、図7の状況を回避できるものの、発生符号量が大きく変動する結果となることを示す図である。 推定符号量を補正する本発明の実施の形態2により、図8の状況に比べて安定したビットレート制御が実現できることを示す図である。 本発明の実施の形態1によれば、従来に比べて処理時間が短縮されるものの、停止ブロック検出処理と動画像符号化処理とがシーケンシャルに実行されることを示すタイムチャート図である。 本発明の実施の形態3に係る符号化処理装置の構成ブロック図である。 図11中の動画像符号化部の詳細構成を示すブロック図である。 本発明の実施の形態3によれば、並列処理の採用により、実施の形態1の場合よりも処理時間が短縮されることを示すタイムチャート図である。 本発明に係る符号化処理装置を用いた撮像システムの構成ブロック図である。
 以下、本発明の実施形態について図面を参照しながら説明する。なお、以下の各実施形態の説明において、一度説明した構成要素と同様の機能を有する構成要素については、同一の符号を付して説明を省略する。
 《実施の形態1》
 図1は、本発明の実施の形態1に係る符号化処理装置の構成を示すブロック図である。図1のように、符号化処理装置300は、入力画像縮小部110、参照画像縮小部111、停止ブロック検出部100、動画像符号化部200、参照フレーム記憶部213から構成されている。
 〈各要素の機能〉
 入力画像縮小部110は、符号化対象となる入力画像を入力し、n分の1倍(nは1以上の整数)にフレーム画像を縮小し、停止ブロック検出部100に出力する。同じく参照画像縮小部111も、既に符号化処理が完了したフレーム(参照フレーム)が格納されている参照フレーム記憶部213から参照フレームを入力し、n分の1倍にフレーム画像を縮小し、停止ブロック検出部100に出力する。停止ブロック検出部100では、入力画像縮小部110から入力した入力画像と、参照画像縮小部111から入力した参照画像とを用いてm×m画素(mは1以上の整数)で構成されるブロック単位で画像の移動量を検出する。この移動量検出については後ほど説明する。
 画像の移動量検出が完了すると、フレーム内のブロックを移動量が少ない順にソートし、移動量の少ない方から、符号化処理装置300の外部から入力される「該当ブロック設定数」で指定された数のブロックを「停止ブロック」として設定する。
 動画像符号化部200では、停止ブロック検出部100から入力される停止ブロック情報と、前記入力画像と、参照フレーム記憶部213から入力される参照画像とを受け、動画像符号化規格に則り符号化処理を実行する。その符号化処理(インター符号化処理)を実行する際、停止ブロックに該当するブロックに関しては、動き探索を実行せずに強制的に「動きベクトル=0」に、また、DCT処理及び量子化処理を実行せずに強制的に「DCT係数=0」と置き換えて動画像符号化処理を実行するようにする。
 これにより、停止ブロックに該当するブロックにおいては、動き探索処理、DCT処理及び量子化処理をスキップさせることができ、処理を高速化できる。
 〈停止ブロック検出について〉
 図2は、図1中の停止ブロック検出部100の詳細構成を示す。図2によれば、停止ブロック検出部100は、移動量検出部101と、移動量記憶部102と、停止ブロック選択部103とから構成される。
 停止ブロック検出部100にて行われる画像の移動量検出について図2を用いて説明する。入力画像は入力画像縮小部110によりn分の1に縮小される。また、参照画像も参照画像縮小部111により1/nに縮小される。それがp×p(pは1以上の整数)画素のブロック単位で移動量検出部101に入力される。
 移動量検出部101では、その入力されたp×p画素の入力画像と、p×p画素の参照画像とについて、
 移動量=ΣΣ|入力画像(i,j)-参照画像(i,j)|  …(1)
で表される画素単位の差分の総和を計算する。ここに、i及びjは各々1からpまでの整数である。
 p×p画素毎に上記移動量を計算し、その結果を移動量記憶部102に記憶させる。1フレーム分の移動量検出が完了すると、移動量記憶部102には1フレーム分の移動量情報が記憶されていることになる。この移動量を少ない順にソートし、そのソートした移動量を少ない方から順に停止ブロック選択部103に送る。停止ブロック選択部103は、移動量記憶部102から送られてくる移動量情報と、外部から入力された該当ブロック設定数とを利用し、元のサイズの1フレーム画像において、どのブロック(m×m画素)が停止ブロックに該当するかを決定する。
 この停止ブロックの決定に関しては、フレームをn分の1に縮小した画像に対してp×p画素単位に計算される情報を、フレームの等倍画像に対するm×m画素単位に変換する必要がある。これを容易にするために、「p=m/n(縮小画像のブロックサイズp×pは、等倍画像のブロックサイズm×mをn分の1した値)」にする、もしくは、「p=m(縮小画像、等倍画像での処理単位を同じ)」にすることで、変換を簡単にすることができる。
 前者の「p=m/n」である場合、縮小画像を用いて処理を実行する1ブロックは、そのまま等倍画像の1ブロックに1対1で変換することができる。ここで、「p=8、m=16、n=2」の例を、図3に示す。
 後者の「p=m」である場合、縮小画像を用いて処理を実行する1ブロックは、等倍画像のn×nブロック分の領域に変換すればよい。ここで、「p=16、m=16、n=2」の例を、図4に示す。
 前者の利点としては、縮小画像においても入力画像と同じブロック数で停止ブロック判定を行うことになるため、最小ブロック単位での判定を行うことができる。後者の利点としては、入力画像に対して縮小画像のブロック数を少なくすることができるため、縮小画像内の全ブロックの移動量情報を格納する必要がある移動量記憶部102のメモリ容量を削減することができる。
 停止ブロック選択部103は、上記のp、m、nの関係を利用し、移動量記憶部102から出力される縮小画像1ブロックが入力画像のどのブロックに対応しているかを判断し、停止ブロックに該当する入力画像のブロック数が、少なくとも該当ブロック設定数以上の個数になるように制御を行う。具体的な処理フローを図5を用いて説明する。
 まず、入力画像1フレーム内の全ブロックを「移動ブロック」と設定する。この移動ブロックは停止ブロックでないことを表し、移動ブロックに該当するブロックにおいては、通常の符号化処理である動き探索、DCT処理及び量子化処理を実行することになる(S100)。
 次いで、移動量記憶部102に記憶している移動量情報を移動量が少ない方から1つずつ情報を取得する(S101)。そして、その情報を元に、図3、図4に示したp、m、nの関係で、どの入力画像のブロックが該当しているかを判定し(S102)、該当しているブロックに関しては、停止ブロックと設定する(S103)。この停止ブロックと設定されたブロックに関しては、後の符号化処理において動き探索、DCT処理及び量子化処理をスキップさせることになる。
 最後にS103で設定された停止ブロックの総数を数え、その値が該当ブロック設定数を超えているかを調べる(S104)。停止ブロックの総数が該当ブロック設定数を超えている場合には、停止ブロック決定処理を終了させる。超えていない場合には、S101の処理に戻り、停止ブロックの追加を行う。
 なお、上記にてp、m、nの関係につき2通りの関係を説明したが、一例として取り上げたもので、必ずしもその関係にある必要はない。
 また、本例では移動量記憶部102内には1フレーム内の全ブロックの移動量情報を記憶させるような説明を行ったが、停止ブロック選択部103にて停止ブロックを選択する際に必要な情報のみが記憶されているだけでもよい。
 具体例を挙げて説明すると、該当ブロック設定数により停止ブロック選択部103が2ブロックの移動量情報を移動量記憶部102から読み出す場合、移動量記憶部102には2ブロック分の移動量情報のみを記憶できていればよい。例えば、移動量検出部101から「100」、「10」、「20」、「5」という順に計4ブロックの移動量が移動量記憶部102に書き込まれ、そのうちの2ブロックの情報「5」、「10」が停止ブロック選択部103に渡される場合、移動量記憶部102には、「5」、「10」を移動量として持つ2ブロックの情報さえ記憶されておればよい。この場合、移動量検出部101から移動量記憶部102に書き込まれる際に、まず「100」を入力し「100」を記憶する。次に「10」が入力され、「10」と「100」とを持つ。次に「20」が入力され、「100」を消して、「10」と、「100」より少ない「20」とを持つ。最後に「5」が入力され、「20」を消して、「5」と「10」とを持つ。というように、常に移動量が少ないブロックを2ブロック分だけ持つようにして記憶すれば、移動量記憶部102の容量を、より小さく構成することができる。
 〈停止ブロックに該当するブロックの処理について〉
 停止ブロック選択部103から出力される停止ブロック情報と、符号化の対象画像となる入力画像とを受けて実行する動画像符号化処理を、図6を用いて説明する。なお、本発明はインター符号化処理において効果を発揮するものであるため、主にインター符号化の例を説明することにする。
 通常のインター符号化処理では、入力画像は、まず動き探索部201に入力される。そこには、既に処理が完了しているフレーム画像(参照画像)も入力され、入力画像及び参照画像を用いて動き探索処理が実行される。その動き探索結果を動き補償画像生成部202に渡し、参照画像から動き補償画像を生成する。その後、入力画像と動き補償画像との差分画像を減算器203を用いて生成し、セレクタ204に渡す。セレクタ204はイントラ符号化の時は入力画像を選択し、インター符号化の時は減算器203から出力される差分画像を選択する。本例ではインター符号化を示すためセレクタ204では差分画像が選択されることになる。その差分画像はDCT処理部205に入力されDCT処理が実施された後、量子化部206に渡り量子化処理が実施されDCT係数を生成する。そのDCT係数は、可変長符号化部209に渡し可変長符号化が実行される。その可変長符号化部209には動き探索部201から動きベクトル情報も渡り、動きベクトル情報も符号化される。可変長符号化部209は、動きベクトル情報及びDCT係数の双方を含む可変長符号化情報を生成する。可変長符号化部209で生成された可変長符号化情報は、生成ストリームとして外部に出力される。
 また、量子化処理部206で生成されたDCT係数は、逆量子化処理部207にも渡され逆量子化処理が実施された後、逆DCT処理部208に渡され逆DCT処理が実施される。その結果のデータと、動き補償画像生成部202からスイッチ211を経由して供給される動き補償画像とを加算器212にて加算することで参照画像を生成し、参照フレーム記憶部213に記憶する。
 以上の通常のインター符号化処理に対して、停止ブロックと判断されたブロックにおける処理を以下に説明する。インター符号化処理は、ブロック単位で実行されるが、その実行するブロックが移動ブロックか停止ブロックかは、停止ブロック情報としてブロック単位で動画像符号化部200に通知される。
 停止ブロックとして通知されたブロックに関しては、動き探索部201にて行う動き探索処理を実行せず、実行結果(動きベクトル)を0として動き補償画像生成部202及び可変長符号化部209に出力する。また、DCT処理部205にて行うDCT処理、量子化処理部206にて行う量子化処理も実行せず、量子化処理結果(DCT係数)も0として可変長符号化部209及び逆量子化部207に出力する。当然、逆量子化部207、逆DCT処理部208も処理を実行せず、逆DCT処理部208からは0を加算器212に対して出力することになる。このように停止ブロックとして設定されたブロックにおいては、動き探索処理、DCT処理、量子化処理、逆量子化処理、逆DCT処理の実行をスキップさせることができる。
 上記に示したとおり、各フレーム内のブロックに対し、一定の個数以上のブロックを意図的に停止ブロックと設定し、その停止ブロックに対しては、必ず処理をスキップさせるようにすることで、全てのブロックに対し通常の符号化処理を実施することに比べ、一定以上の高速化を実現することができる。この機能を利用することで、高速処理が求められる高解像度処理又は高フレームレート処理を、より小さな実装規模にて実現することができる。また、高速に処理が実行されることから早く処理が完了させることができるため低消費電力化にも繋がる。
 なお、本実施の形態ではp×pもしくはm×mといった正方ブロックを用いたが、px×py、mx×my(px、py、mx、myは1以上の整数)といった長方ブロックとしてもよい。また、縮小率を表すnにおいても水平nx、垂直ny(nx,nyは1以上の整数)といった方向別の縮小率を用意し、それに応じた縮小処理を行うことも可能である。
 また、本実施の形態では、停止ブロックとして設定されたブロックに関しては、動きベクトルとDCT係数とを共に0に設定することを説明したが、一方のみ(動きベクトルのみ0、又は、DCT係数のみ0)として、動き探索処理のみを実行しない、又は、DCT処理、量子化処理、逆量子化処理及び逆DCT処理を実行しないといった方法でも十分高速化を図ることができるのは言うまでもない。
 《実施の形態2》
 実施の形態2においては、実施の形態1で説明した内容を、更に発展させた実施内容を説明する。
 実施の形態1においては、フレーム毎に一定個数以上の停止ブロックを作成することで、一定の高速化、低消費電力化を図ることができたが、図7の例に示すように、あるブロックが数フレームに渡り停止ブロックと指定され続けた場合、強制的に「動きベクトル=0」、「差分画像=0」として符号化されることから、数フレームに渡り、常に前フレームと同じ画像を出力し続けることになる。1画素も移動することなく画像が停止している場合には問題ないが、数画素ずつ移動しているにも拘わらず、他のブロックより式1で計算される移動量が少なく、そのことで停止ブロックに指定されている場合、数フレームに1回しか画像が更新されない(移動ブロックとして指定されない)ことは、動画像として画質の劣化にも繋がりかねないことである。本実施の形態2では、この問題を解決する実施内容について説明する。
 各フレームにおいて停止ブロックとするブロック数を規定する該当ブロック設定数が停止ブロック検出部100に入力されることは、実施の形態1で既に説明している。この該当ブロック設定数の値をフレーム毎に切り替えることで、上記問題を解決する。
 あるフレーム(qフレーム目)においては、該当ブロック設定数を非0に設定し、高速化効果を得るようにする。次のフレーム(q+1フレーム目)においては、該当ブロック設定数を0に設定し、全てのブロックを移動ブロックとして符号化する。また、次のフレーム(q+2フレーム目)においては、該当ブロック設定数を非0に設定し、qフレーム目と同様に高速化効果を得るようにする。
 このように、該当ブロック設定数を0に設定するフレームと非0に設定するフレームとをフレーム単位で切り替えるようにすることで、必ず一定個数の停止ブロックを埋め込むことで高速化効果を得ることができると共に、図7を用いて説明した同一ブロックが数フレームに渡り停止ブロックと指定され続けることを抑制できる。
 上記では、2フレームに1回、該当ブロック設定数を0にするフレームを設けることを例に挙げ説明したが、rフレーム(rは2以上の整数)に1回、該当ブロック設定数を0にし、それ以外のフレームは非0とすることも当然、可能である。
 また、上記のようにフレーム単位で該当ブロック設定数を切り替えて符号化処理を実行した場合、図8に示すとおり、フレームの符号量が大きく増減してしまう。当然、該当ブロック設定数が0の時は符号量が増加し、非0の時は符号量が減少する。このことで、例えば、前フレームの符号量と前フレームの量子化パラメータとをビットレート制御に用いている場合、次のような問題が発生する。
 一般的に、前フレームで符号量が少ない場合、次フレームで符号量を増やす方向に制御する。逆に、前フレームで符号量が多い場合、次フレームで符号量を減らす方向に制御する。ところが、図8のように増減が繰り返されると、安定したビットレート制御が行えない。言い換えると、同じ量子化パラメータを設定しても符号量が多いフレームもあれば、少ないフレームもあり、ビットレート制御が困難になる。
 この問題には、図9に示す方法で対処する。図9の例では、「フレーム内のブロック総数=100」とし、該当ブロック設定数が0とするフレームと、フレーム内の半分のブロック(=50)とするフレームとを毎フレーム切り替えて符号化している。後者の「該当ブロック設定数=50」としているフレームにおいては、当該フレームのうち約1/2のブロックしか符号化されていないため、フレームの符号量も約1/2になる。これに対し、フレーム内の全ブロックを移動ブロックとして符号化した場合の推定符号量を、「符号量×フレーム内ブロック総数/該当ブロック設定数(=符号量×100/50=符号量×2)」として算出する。図9の例では、実際の符号量に係数「2」が掛けられる。このようにして得られた推定符号量の値をビットレート制御に用いることで、同一量子化パラメータに対してみかけ上、同等の符号量が出力されたことになるため、より安定したビットレート制御を実現することができる。
 上記は、次フレームの量子化パラメータを決定する際に用いる、前フレームの符号量を暫定的に規定した内容であり、目標符号量に対する差分符号量においては、上記係数を掛ける前の符号量を使用する必要があるのは言うまでもない。
 《実施の形態3》
 実施の形態3においても、実施の形態1で説明した内容を、更に発展させた実施内容を説明する。
 実施の形態1においては、停止ブロック検出部100にて符号化フレームにおける停止ブロックの位置を設定し、次の動画像符号化部200にて符号化する際に、停止ブロックとして設定されたブロックに関しては、符号化処理の一部をスキップさせることについて説明した。
 しかし、この構成の場合、図1中の停止ブロック検出部100での処理と、動画像符号化部200での処理とをシーケンシャルに実行することとなる(図10参照)。本実施の形態3においては、更に高速化を実現する方法について説明する。
 実施の形態1では、図1を用いて、停止ブロックの設定を行う停止ブロック検出部100と、符号化処理を実行する動画像符号化部200とが別々の手段で構成されている例を示した。これに対し、本実施の形態の符号化処理装置300bにおいては、図11に示すように停止ブロックの設定と符号化処理とを同一の手段、すなわち動画像符号化部200bで実行し、sを整数とするとき、sフレーム目の符号化処理を行う際に動き探索部201で実行する動き探索処理にて、s+1フレーム目の停止ブロックの設定を行うようにするものである(図12参照)。
 具体的に説明する。図12における動き探索部201bに対して入力画像と参照画像とが入力され、動き探索が実行される。その際に、前述の式1に示した移動量も同時に計算し、その結果を移動量記憶部102bに記憶しておく。1フレーム分の処理(移動量検出処理)が完了すると、移動量記憶部102bに記憶されている移動量情報を移動量の少ない順にソートし、少ない順から停止ブロック選択部103bに出力する。停止ブロック選択部103bにおいては、該当ブロック設定数個分の停止ブロックを設定し、その停止ブロック情報を動画像符号化部200bに出力する。
 停止ブロック選択部103bにおいて停止ブロックを設定する際のp、m、nの関係は、縮小画像を用いて停止ブロック検出を行うわけではないため、「p=m、n=1」という関係になることは言うまでもない。
 このように、本発明の実施の形態3によれば、停止ブロック選択部103bで設定した停止ブロック情報は、次のフレームを処理する際の停止ブロック位置情報として使用される。つまり、停止ブロック検出処理と動画像符号化処理とを並列実行することにより、更に高速に処理を完了させることができる(図13参照)。
 以上、本発明の実施の形態1~3に係る符号化処理装置300,300bを説明した。次に、これらの符号化処理装置300,300bの応用例を説明する。
 図14は、本発明に係る符号化処理装置を用いた撮像システム601、例えばデジタルスチルカメラ(DSC)の構成ブロック図である。図14中の信号処理装置606は、上記本発明の実施の形態1~3に係る符号化処理装置300,300bのいずれかである。
 図14によれば、光学系602を通って入射した画像光はセンサ603上に結像される。センサ603はタイミング制御回路609によって駆動されることにより、結像された画像光を蓄積し、電気信号へと光電変換する。センサ603から読み出された電気信号は、アナログ・デジタル変換器(ADC)604によってデジタル信号へと変換された後に、当該信号処理装置606を含む画像処理回路605に入力される。この画像処理回路605においては、Y/C処理、エッジ処理、画像の拡大縮小処理、及び本発明を用いた画像圧縮伸張処理等の画像処理が行われる。画像処理された信号は、記録転送回路607においてメディアへの記録あるいは転送が行われる。記録あるいは転送された信号は、再生回路608により再生される。この撮像システム601の全体は、システム制御回路610によって制御されている。
 なお、本発明に係る信号処理装置606における画像処理は必ずしも光学系602を介してセンサ603に結像された画像光に基づく信号のみに適用されるものではなく、例えば外部装置から電気信号として入力される画像信号を処理する際にも適用可能であることは言うまでもない。
 以上説明してきたとおり、本発明に係る符号化処理方法及び符号化処理装置は、高速に符号化処理を完了させることができるため、高フレームレート、高解像度等のハイスペックな撮像システム等に有用である。
100 停止ブロック検出部
101 移動量検出部
102,102b 移動量記憶部
103,103b 停止ブロック選択部
110 入力画像縮小部
111 参照画像縮小部
200,200b 動画像符号化部
201,201b 動き探索部
202 動き補償画像生成部
203 減算器
204 セレクタ
205 DCT処理部
206 量子化処理部
207 逆量子化処理部
208 逆DCT処理部
209 可変長符号化部
211 スイッチ
212 加算器
213 参照フレーム記憶部
300,300b 符号化処理装置
601 撮像システム
605 画像処理回路
606 信号処理装置(符号化処理装置)

Claims (15)

  1.  処理対象フレームを複数のブロックに分割して、そのブロック毎に、入力画像と既に符号化処理済みの参照画像とから動き探索を実行して動きベクトルを生成し、その動きベクトルを使用して動画像符号化処理を行う符号化処理方法であって、
     フレーム内のブロックの中からS個(Sは1以上の整数)のブロックを選択するステップと、
     前記選択したS個のブロックに対しては、前記動き探索を実行せず、動きベクトルを強制的に0に置き換えて動画像符号化処理を行うステップとを備えたことを特徴とする符号化処理方法。
  2.  処理対象フレームを複数のブロックに分割して、そのブロック毎に、DCT処理及び量子化処理を実行してDCT係数を生成し、そのDCT係数を使用して動画像符号化処理を行う符号化処理方法であって、
     フレーム内のブロックの中からS個(Sは1以上の整数)のブロックを選択するステップと、
     前記選択したS個のブロックに対しては、前記DCT処理及び前記量子化処理を実行せず、DCT係数を強制的に0に置き換えて動画像符号化処理を行うステップとを備えたことを特徴とする符号化処理方法。
  3.  請求項1又は2に記載の符号化処理方法において、
     前記フレーム内の全部又は一部のブロックに対し、画像の移動量を検出するステップを更に備え、
     前記全部又は一部のブロックの移動量を比較し、移動量の少ない方からS個のブロックを選択することを特徴とする符号化処理方法。
  4.  請求項3記載の符号化処理方法において、
     フレーム画像をn分の1(nは2以上の整数)に縮小するステップを更に備え、
     その縮小画像を用いて、前記画像の移動量の検出を行うことを特徴とする符号化処理方法。
  5.  請求項1又は2に記載の符号化処理方法において、
     rフレーム(rは2以上の整数)にr-1回のみ、DCT係数を強制的に0に置き換えて動画像符号化処理を行うステップを実行することを特徴とする符号化処理方法。
  6.  請求項5記載の符号化処理方法において、
     前フレームの符号量に総ブロック数/Sを掛けて符号量を補正するステップと、
     前記補正した符号量を基にビットレート制御を行うステップとを更に備えたことを特徴とする符号化処理方法。
  7.  処理対象フレームを複数のブロックに分割して、そのブロック毎に、入力画像と既に符号化処理済みの参照画像とから動き探索を実行して動きベクトルを生成し、その動きベクトルを使用して動画像符号化処理を行う符号化処理方法であって、
     画像の移動量を検出し、移動量記憶部に記憶する第1ステップと、
     前記移動量記憶部の中の移動量を比較し、移動量の少ない方からS個(Sは1以上の整数)のブロックを選択する第2ステップと、
     前記選択したS個のブロックに対しては、前記動き探索を実行せず、動きベクトルを強制的に0に置き換えて動画像符号化処理を行う第3ステップとを備え、
     あるフレームの前記第3ステップを実行すると同時に、次フレームの前記第3ステップの処理で使用する移動量を前記第1及び第2ステップにて求めることを特徴とする符号化処理方法。
  8.  処理対象フレームを複数のブロックに分割して、そのブロック毎に、DCT処理及び量子化処理を実行してDCT係数を生成し、そのDCT係数を使用して動画像符号化処理を行う符号化処理方法であって、
     画像の移動量を検出し、移動量記憶部に記憶する第1ステップと、
     前記移動量記憶部の中の移動量を比較し、移動量の少ない方からS個(Sは1以上の整数)のブロックを選択する第2ステップと、
     前記選択したS個のブロックに対しては、前記DCT処理及び前記量子化処理を実行せず、DCT係数を強制的に0に置き換えて動画像符号化処理を行う第3ステップとを備え、
     あるフレームの前記第3ステップを実行すると同時に、次フレームの前記第3ステップの処理で使用する移動量を前記第1及び第2ステップにて求めることを特徴とする符号化処理方法。
  9.  請求項7又は8に記載の符号化処理方法において、
     前記移動量記憶部には前記S個分の移動量情報のみを記憶でき、
     前記移動量を検出した結果を記憶する際に、その移動量と前記移動量記憶部に既に記憶されている移動量とを比較して、より少ない値であれば前記移動量記憶部に更新記憶し、大きい値であれば、更新記憶しないことを特徴とする符号化処理方法。
  10.  処理対象フレームを複数のブロックに分割して、そのブロック毎に、入力画像と既に符号化処理済みの参照画像とから動き探索を実行して動きベクトルを生成し、その動きベクトルを使用して動画像符号化処理を行う符号化処理装置であって、
     符号化対象となる入力画像に対し、n分の1(nは1以上の整数)に縮小した画像を生成する入力画像縮小部と、
     既に符号化処理済みの参照画像に対し、n分の1に縮小した画像を生成する参照画像縮小部と、
     前記入力画像縮小部及び前記参照画像縮小部から縮小した入力画像及び参照画像を入力し、ブロック毎に移動量を検出する移動量検出部と、
     前記移動量検出部にて検出した移動量を記憶する移動量記憶部と、
     前記移動量記憶部に記憶されている移動量を比較し、移動量の少ない方からS個(Sは1以上の整数)のブロックを選択する停止ブロック選択部と、
     前記選択されたS個のブロックに対しては、前記動き探索を実行せず、動きベクトルを強制的に0に置き換えて動画像符号化処理を実行する動画像符号化部とを備えたことを特徴とする符号化処理装置。
  11.  処理対象フレームを複数のブロックに分割して、そのブロック毎に、DCT処理及び量子化処理を実行してDCT係数を生成し、そのDCT係数を使用して動画像符号化処理を行う符号化処理装置であって、
     符号化対象となる入力画像に対し、n分の1(nは1以上の整数)に縮小した画像を生成する入力画像縮小部と、
     既に符号化処理済みの参照画像に対し、n分の1に縮小した画像を生成する参照画像縮小部と、
     前記入力画像縮小部及び前記参照画像縮小部から縮小した入力画像及び参照画像を入力し、ブロック毎に移動量を検出する移動量検出部と、
     前記移動量検出部にて検出した移動量を記憶する移動量記憶部と、
     前記移動量記憶部に記憶されている移動量を比較し、移動量の少ない方からS個(Sは1以上の整数)のブロックを選択する停止ブロック選択部と、
     前記選択されたS個のブロックに対しては、前記DCT処理及び前記量子化処理を実行せず、DCT係数を強制的に0に置き換えて動画像符号化処理を実行する動画像符号化部とを備えたことを特徴とする符号化処理装置。
  12.  請求項10又は11に記載の符号化処理装置において、
     rフレーム(rは2以上の整数)にr-1回のみ、DCT係数を強制的に0に置き換える動画像符号化処理を実行することを特徴とする符号化処理装置。
  13.  請求項12記載の符号化処理装置において、
     前フレームの符号量に総ブロック数/Sを掛けて符号量を補正し、その補正した符号量を基にビットレート制御を行う手段を更に備えたことを特徴とする符号化処理装置。
  14.  請求項10又は11に記載の符号化処理装置を有する画像処理回路と、
     画像光を画像信号に変換するセンサと、
     入射された画像光を前記センサ上に結像させる光学系と、
     前記画像信号をデジタルデータに変換して前記画像処理回路に出力する変換器とを備えたことを特徴とする撮像システム。
  15.  請求項10又は11に記載の符号化処理装置を有する画像処理回路と、
     入力されたアナログ値の画像信号をデジタルデータに変換して前記画像処理回路に出力する変換器とを備えたことを特徴とする信号処理システム。
PCT/JP2009/002867 2008-10-29 2009-06-23 動画像圧縮符号化における符号化処理方法及び符号化処理装置 WO2010050089A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN2009801409200A CN102187678A (zh) 2008-10-29 2009-06-23 动态图像压缩编码中的编码处理方法和编码处理装置
JP2010535615A JPWO2010050089A1 (ja) 2008-10-29 2009-06-23 動画像圧縮符号化における符号化処理方法及び符号化処理装置
US13/076,085 US8705628B2 (en) 2008-10-29 2011-03-30 Method and device for compressing moving image

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008278247 2008-10-29
JP2008-278247 2008-10-29

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/076,085 Continuation US8705628B2 (en) 2008-10-29 2011-03-30 Method and device for compressing moving image

Publications (1)

Publication Number Publication Date
WO2010050089A1 true WO2010050089A1 (ja) 2010-05-06

Family

ID=42128463

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/002867 WO2010050089A1 (ja) 2008-10-29 2009-06-23 動画像圧縮符号化における符号化処理方法及び符号化処理装置

Country Status (4)

Country Link
US (1) US8705628B2 (ja)
JP (1) JPWO2010050089A1 (ja)
CN (1) CN102187678A (ja)
WO (1) WO2010050089A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9055304B2 (en) * 2011-07-01 2015-06-09 Qualcomm Incorporated Reduced resolution pixel interpolation
US9013549B2 (en) * 2012-05-24 2015-04-21 Silicon Integrated Systems Corp. Depth map generation for conversion of two-dimensional image data into three-dimensional image data
CN103916583B (zh) * 2013-01-08 2017-11-14 聚晶半导体股份有限公司 图像噪声消除方法及其产生移动向量数据结构的方法
US9729938B2 (en) 2015-01-24 2017-08-08 Valens Semiconductor Ltd. Low latency visually lossless switching between different compression ratios
KR102192488B1 (ko) * 2015-11-25 2020-12-17 삼성전자주식회사 프레임 레이트 변환 장치 및 그 프레임 레이트 변환 방법
CN107509081A (zh) * 2017-08-22 2017-12-22 姚静洁 一种用于人脸识别的图像压缩编码方法
JP7211373B2 (ja) * 2018-01-04 2023-01-24 株式会社ソシオネクスト 動画像解析装置、動画像解析システム、動画像解析方法、及びプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07255057A (ja) * 1994-03-15 1995-10-03 Fujitsu Ltd 動画像ブロック判定回路
WO2000064187A1 (en) * 1999-04-19 2000-10-26 Sony Corporation Image encoding device and its method
JP2001025020A (ja) * 1999-07-06 2001-01-26 Canon Inc 画像符号化装置、方法及びコンピュータ読み取り可能な記憶媒体
JP2001036908A (ja) * 1999-07-15 2001-02-09 Oki Electric Ind Co Ltd 動画像圧縮装置
JP2007006390A (ja) * 2005-06-27 2007-01-11 Sony Corp 画像処理装置、画像処理方法及びプログラム
JP2007124408A (ja) * 2005-10-28 2007-05-17 Matsushita Electric Ind Co Ltd 動きベクトル検出装置および動きベクトル検出方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03147488A (ja) * 1989-11-01 1991-06-24 Olympus Optical Co Ltd 画像フリーズ用信号処理装置
JP4682410B2 (ja) * 2000-10-12 2011-05-11 ソニー株式会社 画像処理装置及び画像処理方法
EP1422928A3 (en) * 2002-11-22 2009-03-11 Panasonic Corporation Motion compensated interpolation of digital video signals
JP2004328799A (ja) 2004-08-09 2004-11-18 Toshiba Corp 動画像符号化装置および動画像符号化方法
US8494052B2 (en) 2006-04-07 2013-07-23 Microsoft Corporation Dynamic selection of motion estimation search ranges and extended motion vector ranges
JP4793070B2 (ja) 2006-04-12 2011-10-12 ソニー株式会社 動きベクトル探索方法及び装置
JP4181592B2 (ja) * 2006-09-20 2008-11-19 シャープ株式会社 画像表示装置及び方法、画像処理装置及び方法
JP2008160359A (ja) 2006-12-22 2008-07-10 Victor Co Of Japan Ltd 動画像符号化装置、動画像符号化方法、および動画像符号化用プログラム
US20080247466A1 (en) * 2007-04-09 2008-10-09 Jian Wang Method and system for skip mode detection
US7957600B2 (en) * 2007-05-08 2011-06-07 Arris Group, Inc. Methods and systems for rate-distortion optimized quantization of transform blocks in block transform video coding
JP2009089332A (ja) * 2007-10-03 2009-04-23 Sony Corp 動き予測方法及び動き予測装置
JP4882956B2 (ja) * 2007-10-22 2012-02-22 ソニー株式会社 画像処理装置および画像処理方法
US20090161982A1 (en) * 2007-12-19 2009-06-25 Nokia Corporation Restoring images
JP4469904B2 (ja) * 2008-05-30 2010-06-02 株式会社東芝 動画像復号装置、動画像復号方法及び動画像復号プログラムを記憶した記憶媒体
US8300696B2 (en) * 2008-07-25 2012-10-30 Cisco Technology, Inc. Transcoding for systems operating under plural video coding specifications
US9078007B2 (en) * 2008-10-03 2015-07-07 Qualcomm Incorporated Digital video coding with interpolation filters and offsets
WO2010134079A1 (en) * 2009-05-20 2010-11-25 Nissimyan, Nissim Video encoding

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07255057A (ja) * 1994-03-15 1995-10-03 Fujitsu Ltd 動画像ブロック判定回路
WO2000064187A1 (en) * 1999-04-19 2000-10-26 Sony Corporation Image encoding device and its method
JP2001025020A (ja) * 1999-07-06 2001-01-26 Canon Inc 画像符号化装置、方法及びコンピュータ読み取り可能な記憶媒体
JP2001036908A (ja) * 1999-07-15 2001-02-09 Oki Electric Ind Co Ltd 動画像圧縮装置
JP2007006390A (ja) * 2005-06-27 2007-01-11 Sony Corp 画像処理装置、画像処理方法及びプログラム
JP2007124408A (ja) * 2005-10-28 2007-05-17 Matsushita Electric Ind Co Ltd 動きベクトル検出装置および動きベクトル検出方法

Also Published As

Publication number Publication date
CN102187678A (zh) 2011-09-14
US8705628B2 (en) 2014-04-22
US20110176027A1 (en) 2011-07-21
JPWO2010050089A1 (ja) 2012-03-29

Similar Documents

Publication Publication Date Title
WO2010050089A1 (ja) 動画像圧縮符号化における符号化処理方法及び符号化処理装置
JP5056370B2 (ja) 撮像装置、撮像装置の制御方法および撮像装置の制御プログラム、ならびに、データ処理装置、データ処理方法およびデータ処理プログラム
JP4682990B2 (ja) カメラ画像圧縮処理装置及び圧縮処理方法
CN102986211A (zh) 视频编码中的速率控制
WO2009139123A1 (ja) 画像処理装置およびそれを搭載した撮像装置
JP3783238B2 (ja) 撮像システム、画像処理装置、符号化装置、符号化方法及びランダムノイズを除去する方法
WO2014010224A1 (ja) 動画像圧縮装置、動画像復号装置、画像圧縮装置、画像復号装置、撮像装置およびプログラム
JP2005513968A (ja) 映像鮮明度の向上における一時的な整合性の改善
JP2007221697A (ja) 画像復号化装置及び画像復号化方法
JP2008182527A (ja) 画像符号化装置及び方法、並びに撮像システム
JP5583439B2 (ja) 画像符号化装置及びカメラシステム
JP4724639B2 (ja) 撮像装置
US20040066976A1 (en) Picture coding method and picture coding apparatus
JP2009081830A (ja) 動画像圧縮符号化における符号化処理方法及び符号化処理装置
WO2016158017A1 (ja) 符号化装置および符号化方法
JP4357560B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP4289727B2 (ja) 画像符号化装置、方法及びコンピュータ読み取り可能な記憶媒体
JP6152642B2 (ja) 動画像圧縮装置、動画像復号装置およびプログラム
JP4700992B2 (ja) 画像処理装置
JP2017200199A (ja) 動画像圧縮装置、動画像復号装置およびプログラム
US20170280154A1 (en) Signal processing apparatus, imaging apparatus, and signal processing method
JP4596975B2 (ja) 画像符号化方法、及び画像処理装置
JP4834535B2 (ja) 撮像装置
JP2001112002A (ja) 画像サイズ変換可能なデジタル動画像復号装置
JP2019036992A (ja) 圧縮装置、復号装置およびプログラム

Legal Events

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

Ref document number: 200980140920.0

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09823206

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010535615

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09823206

Country of ref document: EP

Kind code of ref document: A1