JP2006270390A - Image encoding device - Google Patents
Image encoding device Download PDFInfo
- Publication number
- JP2006270390A JP2006270390A JP2005084222A JP2005084222A JP2006270390A JP 2006270390 A JP2006270390 A JP 2006270390A JP 2005084222 A JP2005084222 A JP 2005084222A JP 2005084222 A JP2005084222 A JP 2005084222A JP 2006270390 A JP2006270390 A JP 2006270390A
- Authority
- JP
- Japan
- Prior art keywords
- block
- motion vector
- encoding
- attribute
- image
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
本発明は動画像を符号化する画像符号化装置に関する。 The present invention relates to an image encoding apparatus that encodes a moving image.
撮影した動画像をデジタルデータとして記録・再生および伝送することが広く普及している。その際、データ量削減の観点から動画像に圧縮符号化処理を施して扱うことが一般的である。動画像の圧縮符号化方式としては、例えばMPEG方式のように、空間方向(フレーム内)の相関を利用した直交変換符号化と、時間方向の相関(フレーム間)を利用した動き補償予測符号化の両方を用いることが多い。 Recording / reproducing and transmitting captured moving images as digital data has become widespread. At this time, it is common to handle the moving image by performing compression coding processing from the viewpoint of reducing the amount of data. As a moving image compression coding method, for example, as in the MPEG method, orthogonal transform coding using a spatial direction (within a frame) correlation and motion compensated prediction coding using a time direction correlation (between frames). Both are often used.
MPEGに用いられる動き補償予測符号化は、各フレームをブロック単位に分割し、前フレームと現フレーム、あるいは現フレームと次フレームとの間でブロックマッチングを行い、現フレームの各ブロックに対し検出した動きベクトルと、ブロックマッチングの誤差とを符号化する。 Motion compensation predictive coding used in MPEG divides each frame into block units, performs block matching between the previous frame and the current frame, or the current frame and the next frame, and detects each block of the current frame. The motion vector and block matching error are encoded.
ここで、動きベクトルの符号化に関しては、隣接するブロック間での「動き」の相関が高いことを利用して、動きベクトルそのものでなく、直前の動きベクトルとの差分に対して符号化を行う。 Here, regarding the coding of motion vectors, using the fact that the correlation of “motion” between adjacent blocks is high, coding is performed not on the motion vector itself but on the difference from the previous motion vector. .
例えば図2において101を過去のフレーム、111を現在のフレームとしたとき、過去のフレーム101に含まれる撮影対象(オブジェクト)102を構成するブロック103、104は、それぞれ現在のフレーム111における移動した撮影対象(オブジェクト)112の構成ブロック113,114にそれぞれ移動しているものと考えられ、動きベクトルはそれぞれ116,117となり、2つの動きベクトルは同一とみなせる。 For example, in FIG. 2, when 101 is a past frame and 111 is a current frame, the blocks 103 and 104 constituting the shooting target (object) 102 included in the past frame 101 are moved shootings in the current frame 111, respectively. It is considered that the object (object) 112 has moved to the constituent blocks 113 and 114, and the motion vectors are 116 and 117, respectively, and the two motion vectors can be regarded as the same.
この場合、113,114の各ブロックを符号化するときには、まずブロック113の動きベクトル(直前ブロックの動きベクトルとの差分値)、次にブロック103とのブロック誤差が符号化され、ブロックスキャン順で後に来るブロック114に関しては、動きベクトルが等しいため差分値の0、そしてブロック104とのブロック誤差が符号化される。ここで動きベクトル差分値の符号化に関しては、発生頻度の高い順に短い符合語を割り当てる可変長符号化(VLC)がなされ、ベクトル差分が小さい順に短い符号が割り当てられている。 In this case, when each of the blocks 113 and 114 is encoded, the motion vector of the block 113 (the difference value from the motion vector of the previous block) is first encoded, and then the block error with the block 103 is encoded. For the block 114 that follows, the motion vectors are equal, so that a difference value of 0 and a block error with the block 104 are encoded. Here, regarding the coding of the motion vector difference value, variable length coding (VLC) is performed in which short code words are assigned in descending order of occurrence frequency, and short codes are assigned in ascending order of vector difference.
ブロック114の動きベクトルに関しては、探索処理時の条件次第では動きベクトル探索結果が動きベクトル118となる、すなわちブロック105との予測誤差のほうが小さくなるかもしれない。しかしこの場合は直前のブロック113の動きベクトルとの差分が0ではないため、差分ベクトル符号化における符号量は増大することになる。このように、単純なブロックマッチングのみで動きベクトルを探索することにより、撮影対象全体の動きに逆らう動きベクトルが発生し、差分ベクトル符号化時に符号量の増大をひきおこすことがある。 Regarding the motion vector of the block 114, the motion vector search result becomes the motion vector 118 depending on the conditions at the time of the search process, that is, the prediction error with the block 105 may be smaller. However, in this case, since the difference from the motion vector of the immediately preceding block 113 is not 0, the code amount in differential vector encoding increases. In this way, by searching for a motion vector only by simple block matching, a motion vector that opposes the motion of the entire object to be imaged is generated, which may cause an increase in the amount of code when encoding the difference vector.
上述したように、動きベクトルがブロックスキャン順で直前のブロックに近いほど動きベクトルの符号化効率は向上する。しかしながら隣接ブロック間の動きベクトルが必ず相関関係をもつという保証は無く、動きベクトル符号化を優先するあまり、ブロック誤差が大きい、すなわち動き予測の位置として適切でない動きベクトルを選択すれば全体の符号化効率は悪化するので、ブロック誤差と差分ベクトル両方を減少させるバランスが肝心である。また、デジタルカメラ等の携帯機器における処理を考えた場合、回路規模や動作周波数、消費電力等の制約を考慮したシンプルな(演算回数の少ない)処理が望ましい。 As described above, the motion vector encoding efficiency is improved as the motion vector is closer to the immediately preceding block in the block scan order. However, there is no guarantee that the motion vectors between adjacent blocks are necessarily correlated, and since motion vector coding is prioritized, block errors are large, that is, if a motion vector that is not appropriate as a position for motion prediction is selected, the entire coding is performed. Since efficiency deteriorates, it is important to balance both block error and difference vector. Further, when considering processing in a portable device such as a digital camera, simple processing (with a small number of computations) in consideration of restrictions such as circuit scale, operating frequency, and power consumption is desirable.
符号化効率が向上するということは、同一ビットレートで考えた場合、符号化効率の向上により画質の低下を招かず浮いたビット分を他の符号化難易度の高いブロックに割り振ることが出来るので、動画像全体として高画質化を達成できるということである。 The improvement in coding efficiency means that, when considered at the same bit rate, the floating bits can be allocated to other blocks with a high degree of difficulty in coding without causing a reduction in image quality due to the improvement in coding efficiency. This means that high image quality can be achieved for the entire moving image.
動きベクトルとブロック誤差の符号化双方で全体最適な動きベクトル探索処理を行うための手法として、特許文献1に開示されている「動きベクトル補正制御方式」では、まず通常の動きベクトル探索処理を行い、その結果が周辺ブロックと極端に異なり、かつ平坦な色調のブロックであった場合、平坦なブロックが多いために動きベクトルの誤検出が起きたと判断し、周辺ブロックの動きベクトル探索結果を当該ブロックにそのまま適用する。 In the “motion vector correction control method” disclosed in Patent Document 1, as a technique for performing an overall optimal motion vector search process in both motion vector and block error encoding, first, a normal motion vector search process is performed. If the result is extremely different from the surrounding block and the color block is flat, it is determined that a motion vector is erroneously detected because there are many flat blocks, and the motion vector search result of the surrounding block Apply as it is.
また、特許文献2に開示されている「動きベクトルの検出方法および回路」では、隣接ブロックの各動きベクトルのうち予測誤差が最小、かつ所定値以下のものがあればそのまま当該ブロックの動きベクトルとして選択し、予測誤差が所定値を越えていれば、隣接ブロックで求めた動きベクトルの方向、速度から動きベクトル探索範囲を決定し動きベクトル探索を行う。隣接ブロック間の動きベクトルの相関性を利用した、動きベクトル探索におけるヒット率の向上を狙った動きベクトル探索方法である。
しかしながら、特許文献1では、周辺ブロックの動きベクトルにそろえることで、ベクトルの「ばらつき」を減らす処理であるが、基本的には平坦な色調の画像に特化した補正処理である上に、ブロック処理毎に、周辺ブロックとの動きベクトルの比較、ブロック平坦度の判定処理を行う必要がある。また、特許文献2では、毎回隣接ブロックの動きベクトルの比較処理を行う必要がある。 However, in Patent Document 1, although it is a process of reducing the “variation” of the vector by aligning with the motion vectors of the peripheral blocks, it is basically a correction process specialized for a flat color image, For each process, it is necessary to perform a motion vector comparison with a peripheral block and a block flatness determination process. In Patent Document 2, it is necessary to perform a motion vector comparison process for adjacent blocks every time.
すなわち、従来技術では、動きベクトルを探索する際の処理負荷が非常に大きなものであった。 That is, in the prior art, the processing load when searching for a motion vector is very large.
本願発明では上述した問題を解決すべく、動きベクトル符号化効率の向上による高画質化の達成を少ない演算コストで実現するための画像符号化装置を提供する。 In order to solve the above-described problems, the present invention provides an image coding apparatus for realizing high image quality by improving motion vector coding efficiency at a low calculation cost.
本発明の画像符号化装置は、画像をブロック単位に分割し、動きベクトルを利用したフレーム間動き補償を行う画像符号化装置において、当該ブロックの属性を検出し、属性パラメータを出力するブロック属性検出部と、当該ブロックの動きベクトル探索を行い、動きベクトルを出力するMV探索処理部と、当該フレームの属性パラメータおよび動きベクトルを保持するメモリと、当該ブロックの符号化時点までの発生符号量を監視し、あらかじめ設定した目標符号量との比較結果を出力する符号量監視器と、発生符号量が目標符号量を超え、且つブロックスキャン順序が1つないし複数前である近傍ブロックとの属性パラメータが一致する場合には、前記メモリに保持されている該近傍ブロックの動きベクトルを、そうでない場合は前記MV探索処理部によって得られた動きベクトルを出力するMV符号化処理選択部と、前記符号化処理選択部により選択された動きベクトルを用いてフレーム間符号化処理する符号化部とを有することを特徴とする。 An image encoding apparatus according to the present invention detects an attribute of a block and outputs an attribute parameter in an image encoding apparatus that performs inter-frame motion compensation using a motion vector by dividing an image into blocks. A block, a MV search processing unit that performs motion vector search of the block and outputs a motion vector, a memory that holds the attribute parameter and the motion vector of the frame, and monitors a generated code amount up to the encoding point of the block And an attribute parameter of a code amount monitor that outputs a comparison result with a target code amount set in advance and a neighboring block whose generated code amount exceeds the target code amount and whose block scan order is one or more before. If they match, the motion vector of the neighboring block held in the memory is used. An MV encoding process selection unit that outputs a motion vector obtained by the search processing unit; and an encoding unit that performs inter-frame encoding processing using the motion vector selected by the encoding process selection unit. And
本願の請求項1記載の発明によれば、当該ブロック処理時点での発生符号量が目標符号量に対して上回っているとき、ブロックスキャン順で直前に処理した画像ブロックとブロックの属性を比較し、属性が一致した場合、その動きベクトル探索結果を当該ブロックの動きベクトルとしてそのまま用いることで、動きベクトル再探索のためのブロックマッチング処理を行うことなく動きベクトルを置き換え、符号化効率を向上させることが出来る。 According to the first aspect of the present invention, when the generated code amount at the time of the block processing exceeds the target code amount, the attribute of the block is compared with the image block processed immediately before in the block scan order. If the attributes match, the motion vector search result is used as it is as the motion vector of the block, replacing the motion vector without performing block matching processing for motion vector re-search, and improving the encoding efficiency I can do it.
また本願の請求項2乃至4記載の発明によれば、ブロック間の属性比較指標として各ブロックの色特性を使用することで、複雑な判定処理を用いずにブロックごとの属性パラメータを算出できる。 In addition, according to the second to fourth aspects of the present invention, by using the color characteristics of each block as an attribute comparison index between blocks, the attribute parameter for each block can be calculated without using a complicated determination process.
また本願の請求項5記載の発明によれば、ブロックの属性比較を、符号化処理の他の部分と共用する肌色検出器を用いておこなうことで、回路規模の削減が可能である。 According to the invention described in claim 5 of the present application, it is possible to reduce the circuit scale by performing the block attribute comparison using the skin color detector shared with other parts of the encoding process.
また本願の請求項6記載の発明によれば、ブロックスキャン順で直前に処理した画像ブロックの動きベクトル結果をそのまま当該ブロックに用いる場合の符号化歪み値を算出し、予め定めた基準値と比較した上で、動きベクトル置き換え処理を行うかどうかの判断をすることで、直前ブロックと動きベクトルが一致していない場合にブロック誤差が増加し全体として符号量が増えてしまうケースを阻止できる。 According to the sixth aspect of the present invention, the coding distortion value is calculated when the motion vector result of the image block processed immediately before in the block scan order is used for the block as it is, and compared with a predetermined reference value. In addition, by determining whether or not to perform motion vector replacement processing, it is possible to prevent the case where the block error increases and the code amount as a whole increases when the previous block and the motion vector do not match.
また本願の請求項7記載の発明によれば、ブロックスキャン順で直前のブロックの動きベクトル探索結果を当該ブロックに用いるかどうかの指標である符号化歪み値の算出に際し、ブロック間差分値の分散を用い、符号化処理の他の部分と共用する分散演算器を使用することで、回路規模の削減が可能である。 Further, according to the invention described in claim 7 of the present application, when calculating the coding distortion value which is an index as to whether or not the motion vector search result of the immediately preceding block is used in the block scan order, the difference value between the blocks is distributed. By using a distributed arithmetic unit that is shared with other parts of the encoding process, the circuit scale can be reduced.
以下本発明を実施するための最良の形態を、実施例により詳しく説明する。 Hereinafter, the best mode for carrying out the present invention will be described in detail with reference to examples.
図1は本発明の画像符号化装置の図面であり、本発明の特徴を最もよく表す。 FIG. 1 is a diagram of an image encoding apparatus according to the present invention, which best represents the features of the present invention.
図1において、動きベクトル探索器200は、ブロック属性検出部201、ブロック属性・MV探索結果記憶メモリ202、MV符号化処理選択部203、MV探索処理部204より構成され、入力画像から各画像ブロック単位で画素データを読み出し、ブロック属性検出部201において処理対象画像ブロックの属性を検出し、ブロック属性・MV探索結果記憶メモリ202に書き込む。書き込まれた符号化対象ブロックの属性パラメータは、MV探索処理部において通常のMV探索処理が行われた後、現時点での符号量が目標値を超えている場合に、ブロック処理判定部203により近傍ブロックの属性パラメータとともに読み出され、予め設定された基準により近傍ブロックと同一属性であるか否かが判定される。 In FIG. 1, a motion vector searcher 200 includes a block attribute detection unit 201, a block attribute / MV search result storage memory 202, an MV encoding process selection unit 203, and an MV search processing unit 204. The pixel data is read in units, the block attribute detection unit 201 detects the attribute of the processing target image block, and writes it in the block attribute / MV search result storage memory 202. The attribute parameter of the written target block is the neighborhood of the block processing determination unit 203 when the current code amount exceeds the target value after the normal MV search processing is performed in the MV search processing unit. It is read together with the attribute parameter of the block, and it is determined whether or not it has the same attribute as the neighboring block based on a preset criterion.
ブロック属性の判定結果をもとに、MV探索処理部204では、近傍ブロックと同一属性のとき、近傍ブロックの動きベクトル探索結果をそのまま用いてブロック属性・MV探索結果記憶メモリ202から近傍画像ブロックの動きベクトル探索結果を読み出してそのまま出力する。近傍ブロックと同一属性でないときは、当該ブロックの動きベクトル探索処理結果をそのまま出力する。 Based on the determination result of the block attribute, the MV search processing unit 204 uses the motion vector search result of the neighboring block as it is when the same attribute as that of the neighboring block is used as it is from the block attribute / MV search result storage memory 202. The motion vector search result is read and output as it is. When the attribute is not the same as that of the neighboring block, the motion vector search processing result of the block is output as it is.
当該ブロックの最終的な動きベクトル探索処理結果はブロック属性・MV探索結果記憶メモリ202に書き込まれたのち、符号化器230においてブロック単位で符号化される。その際に当該ブロックまでのフレーム全体の符号量が符号量監視器220においてカウントされ、次回のブロック処理判定部203の処理に用いる。 The final motion vector search processing result of the block is written in the block attribute / MV search result storage memory 202 and then encoded by the encoder 230 in units of blocks. At that time, the code amount of the entire frame up to the block is counted by the code amount monitor 220 and used for the next processing of the block processing determination unit 203.
(実施の形態1)
図3は本願の発明の実施の形態1の動きベクトル探索器のフローチャートである。各フレームにおいて、ブロックスキャン順に1つずつブロックを選択し、動きベクトル探索処理を行った後、ブロック単位で符号化を行う。
(Embodiment 1)
FIG. 3 is a flowchart of the motion vector searcher according to the first embodiment of the present invention. In each frame, blocks are selected one by one in the order of block scanning, and after performing motion vector search processing, encoding is performed in units of blocks.
まず処理301において、通常一般に用いられるような動きベクトル探索処理、すなわち参照フレームとのブロックマッチング処理がなされ、候補となる動きベクトルが求められた後、処理302で当該ブロックの属性パラメータが算出される。本実施例ではブロックの属性パラメータとして色情報を用いる。隣接ブロックとの色情報の一致、すなわち隣のブロックと同じ色であれば両者は同じ属性のブロック、すなわち同一のオブジェクトで、同一方向に運動しているとみなす。 First, in process 301, a motion vector search process that is generally used, that is, a block matching process with a reference frame is performed to obtain a candidate motion vector, and then an attribute parameter of the block is calculated in process 302. . In this embodiment, color information is used as a block attribute parameter. If the color information matches that of the adjacent block, that is, if the color is the same as that of the adjacent block, both are considered to be the same attribute block, that is, the same object and moving in the same direction.
図2で言えばブロック114と113の属性である色情報の一致をもって、2つのブロックが同じオブジェクト112に属し、同一の動きベクトルで動いていると判断することになる。 In FIG. 2, it is determined that the two blocks belong to the same object 112 and move with the same motion vector when the color information which is an attribute of the blocks 114 and 113 matches.
本実施例では色情報としてブロック内各画素の色差成分CbおよびCrを用いる。 In this embodiment, color difference components Cb and Cr of each pixel in the block are used as color information.
図5でCb,Crそれぞれを軸に取ったとき、基準となる「色」を示す点501から、各成分がそれぞれしきい値Thcb,Thcrだけ離れた範囲504内の値をとれば同一属性とする。 When Cb and Cr are taken as axes in FIG. 5, if each component takes a value within a range 504 separated from the reference color 501 by the threshold values Thcb and Thcr, the same attribute is obtained. To do.
すなわち図5では点502は点501と同一属性であるが、点503は異なる属性である。本実施例では各ブロック内画素の色差成分の平均値AvgCb,AvgCrを求め、参照フレームの色差成分平均値が当該フレームの色差成分平均値からしきい値Thcb,Thcrまでの範囲に収まれば両ブロックは同一属性であるとみなす。 That is, in FIG. 5, the point 502 has the same attribute as the point 501, but the point 503 has a different attribute. In this embodiment, average values AvgCb and AvgCr of the color difference components of the pixels in each block are obtained, and if the average color difference component value of the reference frame falls within the range from the color difference component average value of the frame to the threshold values Thcb and Thcr, both blocks. Are considered to have the same attribute.
各ブロックでは後述する処理307において、それぞれのブロックが符号化された時点までの符号量が累算されている。分岐303では、1つ前までのブロックの符号量が、あらかじめ定めた目標ビットレートから求まる目標符号量に対して大きいか、小さいかの判定を行う。 In each block, the code amount up to the time point when each block is encoded is accumulated in processing 307 described later. In branch 303, it is determined whether the code amount of the previous block is larger or smaller than the target code amount obtained from a predetermined target bit rate.
目標符号量を超えている場合、分岐304に移り、そうでなければ304,305を飛ばして処理306に移る。分岐304では処理302でのブロック属性算出結果から、ブロックスキャン順で直前のブロックが同一属性、すなわち本実施例では同一色であるかどうかを判断し、同一であれば処理305へ、そうでなければ305を飛ばして処理306へ移る。処理305では、処理301で求めた通常の動きベクトル探索処理の結果を、同一属性とみなした直前ブロックの動きベクトル探索結果と置き換える。処理306では、選択された動きベクトル探索結果をもとに、参照フレーム中で動きベクトルの指し示すブロックと当該ブロックの差分を求めた後、DCT演算や量子化、可変長符号化を施し当該ブロックの符号化処理を行う。処理307で、現フレームの当該ブロックまでの符号量を求めた後、フレーム中に未処理のブロックがなければ当該フレームの符号化を終了し次のフレームに移り、そうでなければブロックスキャン順に次のブロックを選択し、処理301に戻る。 If the target code amount is exceeded, the process proceeds to branch 304; otherwise, the process skips 304 and 305 and proceeds to process 306. In the branch 304, it is determined from the block attribute calculation result in the process 302 whether or not the previous block in the block scan order has the same attribute, that is, the same color in this embodiment, and if it is the same, the process proceeds to the process 305. If 305 is skipped, the process proceeds to process 306. In process 305, the result of the normal motion vector search process obtained in process 301 is replaced with the motion vector search result of the immediately preceding block regarded as the same attribute. In process 306, based on the selected motion vector search result, a difference between the block indicated by the motion vector in the reference frame and the block is obtained, and then subjected to DCT operation, quantization, and variable-length coding. Perform the encoding process. After obtaining the code amount up to the current block of the current frame in the process 307, if there is no unprocessed block in the frame, the encoding of the current frame is terminated and the process proceeds to the next frame. Block is selected and the process returns to the process 301.
図2のフレーム111の符号化処理において、ブロック113では動きベクトル116で符号化処理した後、ブロック114に移り、通常の動きベクトル探索処理の結果が動きベクトル118であった場合、動きベクトルの差分が0にならないため動きベクトルの符号化効率が低下するが、処理時点での符号量が目標値を超えている場合には、それぞれのブロック属性(色情報)をもとに、ブロック113と114は同一属性であると判断した後、ブロック113の動きベクトル探索結果をそのまま用いる。すなわちブロック114における処理では、通常の動きベクトル探索結果である動きベクトル118を、直前ブロックの動きベクトル探索結果である動きベクトル117に置き換えて符号化処理を行う。 In the encoding process of the frame 111 in FIG. 2, the block 113 performs the encoding process with the motion vector 116, and then moves to the block 114. If the result of the normal motion vector search process is the motion vector 118, the motion vector difference However, if the code amount at the time of processing exceeds the target value, the blocks 113 and 114 are based on the respective block attributes (color information). Are determined to have the same attribute, the motion vector search result of block 113 is used as it is. That is, in the process in block 114, the motion vector 118 that is the normal motion vector search result is replaced with the motion vector 117 that is the motion vector search result of the immediately preceding block, and the encoding process is performed.
符号量が目標値を超えた場合に、動きベクトル符号化の符号量低減を目的に、動きベクトル探索処理からやり直す処理をする場合、直前ブロックの動きベクトルをもとにブロックマッチング処理(ブロック間各画素での差分演算を行い極小値を求める)を行い、符号化まで行った後、あらためて符号量が減ったかどうかを確認する必要がある。これに比べて、本実施例では、色情報の演算という、例えばn×nで構成されるブロックの各画素のCb,Crの平均値を求めるという簡単な演算処理で済むブロック間の属性判定をもとに、動きベクトルの結果をそのまま流用するだけであり、他に演算を必要としない。 When the code amount exceeds the target value, when performing the processing from the motion vector search process again for the purpose of reducing the code amount of motion vector coding, block matching processing (each block between blocks) It is necessary to check whether or not the code amount has been reduced again after performing the difference calculation at the pixel and obtaining the minimum value) and performing the encoding. On the other hand, in this embodiment, attribute determination between blocks, which is a simple calculation process for obtaining an average value of Cb and Cr of each pixel of a block constituted by n × n, for example, calculation of color information is performed. Basically, the result of the motion vector is simply used as it is, and no other operation is required.
以上により、動きベクトルの符号化処理について、少ない演算量で符号化効率を高くできる。 As described above, the coding efficiency of the motion vector can be increased with a small amount of calculation.
(実施の形態2)
図2で、オブジェクト112が人物の顔の部分を示しているとして、一様に肌色をしているとすれば、中に含まれるブロック113および114の同一属性の判定は、ブロック中の肌色成分を比較することで可能である。
(Embodiment 2)
In FIG. 2, assuming that the object 112 indicates a face portion of a person and has a uniform skin color, the determination of the same attribute of the blocks 113 and 114 included therein is performed by determining the skin color component in the block. Is possible by comparing
また、肌色は人間の目に付きやすく、圧縮符号化の「あら」が目立ちやすいので、画像の肌色部分だけフィルタのかけ具合を変化させたり、割り当てる符号量を多くする等の特別な処理を加える目的で、肌色検出装置を備えた画像符号化装置が存在する。本実施例ではこの肌色検出装置をブロック間の属性比較に用いる、すなわち肌色であれば同一属性であるとみなしてブロックごとの符号化処理を行う。 In addition, the skin color is easily noticeable by humans, and the compression coding “rough” is easily noticeable, so special processing such as changing the degree of filtering of the skin color part of the image or increasing the amount of code to be assigned is added. For this purpose, there exists an image encoding device provided with a skin color detection device. In this embodiment, this skin color detecting device is used for attribute comparison between blocks, that is, if the skin color, it is regarded as the same attribute and the coding process is performed for each block.
以下、処理の流れは実施の形態1と同じなので省略する。他の処理に用いられる肌色検出装置を本実施例のブロック属性算出処理と兼用させることで、回路規模の削減が可能である。 Hereinafter, the processing flow is the same as that of the first embodiment, and therefore, the description thereof is omitted. The circuit scale can be reduced by combining the skin color detection device used for other processing with the block attribute calculation processing of the present embodiment.
(実施の形態3)
図4は本願の発明の実施の形態3の動きベクトル探索器のフローチャートである。処理401から405までは実施の形態1の処理301から305とそれぞれ等しいので説明は省略する。
(Embodiment 3)
FIG. 4 is a flowchart of the motion vector searcher according to the third embodiment of the present invention. Processes 401 to 405 are the same as processes 301 to 305 of the first embodiment, respectively, and a description thereof will be omitted.
直前ブロックまでの符号量が目標値を超え、かつ直前のブロックと同一属性であるとき、処理406で、直前ブロックの動きベクトル探索結果を用い、参照フレームとのブロックマッチング誤差を求め、さらにその分散値を求める。 When the code amount up to the immediately preceding block exceeds the target value and has the same attribute as that of the immediately preceding block, in step 406, the motion vector search result of the immediately preceding block is used to obtain a block matching error with the reference frame, and the variance thereof Find the value.
ここで、古典的なRate−Distortionモデルの式を用いると、割り当てられた符号量をR,量子化ひずみ量をD,入力値の分散をSとしたとき式(1)が成り立つ。 Here, using the equation of the classic Rate-Distortion model, equation (1) is established when the assigned code amount is R, the quantization distortion amount is D, and the variance of the input value is S.
(1)から、量子化ひずみ量は式(2)となる。 From (1), the amount of quantization distortion is expressed by equation (2).
式(2)を用いて量子化ひずみ量の概算を行い、直前ブロックの動きベクトル探索結果を用いた場合の符号化結果を判断した上で、実際に直前ブロックの探索結果を用いるか、当該ブロックの探索結果を用いるかを判断する。 Approximate the amount of quantization distortion using equation (2), determine the encoding result when using the motion vector search result of the immediately preceding block, and then use the search result of the immediately preceding block or It is determined whether to use the search result.
例えば、直前ブロックの動きベクトル探索結果を用いて計算された式(1)があらかじめ定めた値以上になるなら、動きベクトルを流用することで符号化画像のひずみが大きくなる、すなわち同程度の画質にした場合の符号量が大きくなるので、直前ブロックの結果の流用より当該ブロックの動きベクトル探索結果をそのまま用いるべきと判断する。 For example, if the expression (1) calculated using the motion vector search result of the immediately preceding block is equal to or greater than a predetermined value, the distortion of the encoded image is increased by using the motion vector, that is, the same image quality. In this case, the code amount increases, and it is determined that the motion vector search result of the block should be used as it is based on the use of the result of the immediately preceding block.
以上により、ブロック差分値の分散を計算することで、実際に符号化した場合の結果を事前に予測できるため、動きベクトル選択の精度を向上させることが可能になる。 As described above, by calculating the variance of the block difference values, the result of actual encoding can be predicted in advance, so that the accuracy of motion vector selection can be improved.
また、分散の算出処理は符号量制御に用いられることも多いので、分散用の演算回路を共用することにより回路規模の削減が図れる。 In addition, since the calculation process of variance is often used for code amount control, the circuit scale can be reduced by sharing the arithmetic circuit for distribution.
200 動きベクトル探索器
201 ブロック属性検出部
202 ブロック属性・MV探索結果メモリ
203 MV符号化処理選択部
204 MV探索処理部
210 フレームメモリ
220 符号量監視器
230 符号化器
200 motion vector search unit 201 block attribute detection unit 202 block attribute / MV search result memory 203 MV encoding process selection unit 204 MV search processing unit 210 frame memory 220 code amount monitor 230 encoder
Claims (7)
当該ブロックの属性を検出し、属性パラメータを出力するブロック属性検出部と、
当該ブロックの動きベクトル探索を行い、動きベクトルを出力するMV探索処理部と、
当該フレームの属性パラメータおよび動きベクトルを保持するメモリと、
当該ブロックの符号化時点までの発生符号量を監視し、あらかじめ設定した目標符号量との比較結果を出力する符号量監視器と、
発生符号量が目標符号量を超え、且つブロックスキャン順序が1つないし複数前である近傍ブロックとの属性パラメータが一致する場合には、前記メモリに保持されている該近傍ブロックの動きベクトルを、そうでない場合は前記MV探索処理部によって得られた動きベクトルを出力するMV符号化処理選択部と、
前記符号化処理選択部により選択された動きベクトルを用いてフレーム間符号化処理する符号化部とを有することを特徴とする画像符号化装置。 In an image encoding device that divides an image into blocks and performs inter-frame motion compensation using a motion vector,
A block attribute detection unit that detects an attribute of the block and outputs an attribute parameter;
An MV search processing unit that performs a motion vector search of the block and outputs a motion vector;
A memory for storing attribute parameters and motion vectors of the frame;
A code amount monitor that monitors the generated code amount up to the encoding point of the block and outputs a comparison result with a target code amount set in advance;
When the generated code amount exceeds the target code amount and the attribute parameters of the neighboring blocks whose block scanning order is one or more before match, the motion vector of the neighboring block held in the memory is Otherwise, an MV encoding process selection unit that outputs a motion vector obtained by the MV search processing unit,
An image encoding apparatus comprising: an encoding unit that performs inter-frame encoding processing using the motion vector selected by the encoding process selection unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005084222A JP2006270390A (en) | 2005-03-23 | 2005-03-23 | Image encoding device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005084222A JP2006270390A (en) | 2005-03-23 | 2005-03-23 | Image encoding device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006270390A true JP2006270390A (en) | 2006-10-05 |
Family
ID=37205893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005084222A Withdrawn JP2006270390A (en) | 2005-03-23 | 2005-03-23 | Image encoding device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006270390A (en) |
-
2005
- 2005-03-23 JP JP2005084222A patent/JP2006270390A/en not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7760807B2 (en) | Method and system for motion estimation using chrominance information | |
US7050499B2 (en) | Video encoding apparatus and method and video encoding mode converting apparatus and method | |
US8488678B2 (en) | Moving image encoding apparatus and moving image encoding method | |
US9497481B2 (en) | Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programs thereof | |
JP2007124408A (en) | Motion vector detector and motion vector detecting method | |
US20120027092A1 (en) | Image processing device, system and method | |
US20120294372A1 (en) | Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programs thereof | |
US20060215759A1 (en) | Moving picture encoding apparatus | |
JP2007166038A (en) | Device and method for detecting motion vector | |
KR100800772B1 (en) | Apparatus and method for encoding motion vector, and program and medium therefor | |
WO2011032852A1 (en) | Weighted motion compensation of video | |
JP2011199362A (en) | Device and method for encoding of moving picture, and device and method for decoding of moving picture | |
US20120320985A1 (en) | Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programs thereof | |
US20110249747A1 (en) | Motion vector decision apparatus, motion vector decision method and computer readable storage medium | |
JP2000278694A (en) | Encoding device, image processor, image processing system, encoding method and storage medium | |
JPWO2010100672A1 (en) | Compressed video encoding device, compressed video decoding device, compressed video encoding method, and compressed video decoding method | |
US9445089B2 (en) | Video encoding device, video encoding method and video encoding program | |
US20140233645A1 (en) | Moving image encoding apparatus, method of controlling the same, and program | |
JP5441812B2 (en) | Video encoding apparatus and control method thereof | |
US9253493B2 (en) | Fast motion estimation for multiple reference pictures | |
JP5178616B2 (en) | Scene change detection device and video recording device | |
US20040105589A1 (en) | Moving picture compression/coding apparatus and motion vector detection method | |
US20090041125A1 (en) | Moving picture coding apparatus and method | |
US8126277B2 (en) | Image processing method, image processing apparatus and image pickup apparatus using the same | |
JP2007110409A (en) | Image processing device and program for making computer perform image processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080603 |