JP2006303734A - Moving picture encoder and program thereof - Google Patents

Moving picture encoder and program thereof Download PDF

Info

Publication number
JP2006303734A
JP2006303734A JP2005120245A JP2005120245A JP2006303734A JP 2006303734 A JP2006303734 A JP 2006303734A JP 2005120245 A JP2005120245 A JP 2005120245A JP 2005120245 A JP2005120245 A JP 2005120245A JP 2006303734 A JP2006303734 A JP 2006303734A
Authority
JP
Japan
Prior art keywords
filter
data
unit
image
quantization
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
Application number
JP2005120245A
Other languages
Japanese (ja)
Inventor
Futoshi Tsubaki
太 椿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan 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 Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP2005120245A priority Critical patent/JP2006303734A/en
Publication of JP2006303734A publication Critical patent/JP2006303734A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a moving picture encoder for improving subjective image quality of a whole moving picture and to provide a program thereof. <P>SOLUTION: A moving picture encoder compresses a moving picture by using: an orthogonal conversion section 104 carrying out orthogonal conversion in the unit of blocks; a quantization section 105; a variable length coding section 106; a block distortion elimination filter 114 carrying out filtering in the unit of pictures; a means for selecting a filter offset value B affecting the filter processing depending on at least a size of the inputted moving picture prior to coding processing in order to control a filter ON / OFF threshold value; a means for determining a filter offset value A on the basis of at least the comparison between a variance of quantization values of whole coded pictures with a predetermined threshold value before the filter processing; and a means attaching the determined filter offset values A, B to coded data. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、動画像を直交変換及び量子化した際に発生するブロック歪みを低減する動画像符号化装置及びそのプログラムに関するものである。   The present invention relates to a moving image encoding apparatus and a program thereof that reduce block distortion that occurs when a moving image is orthogonally transformed and quantized.

図7は、ブロック単位の直交変換と量子化と可変長符号化とブロック歪みを除去するフィルタを用いて動画像を符号化する動画像符号化技術であるISO/IEC14496−10AVC(非特許文献1)のエンコーダのブロック図であり、イントラ予測部1、動き補償(MC)部2、動きベクトル検出(ME)部3、画像メモリ(Frame Memory)4、ブロック歪み除去フィルタ(Deblock Filter)5、バッファメモリ(DPB)6、変換部7、量子化部8、エントロピー符号化部9、符号化部10、逆量子化部11、逆変換部12から構成されている。ブロック歪み除去フィルタ5としては、LoopFilter(ループフィルタ)が搭載されている。   FIG. 7 shows ISO / IEC14496-10AVC (Non-Patent Document 1), which is a moving image coding technique for coding a moving image using a block unit orthogonal transform, quantization, variable length coding, and a filter for removing block distortion. ) Encoder block, intra prediction unit 1, motion compensation (MC) unit 2, motion vector detection (ME) unit 3, image memory (Frame Memory) 4, block distortion removing filter (Deblock Filter) 5, buffer The memory (DPB) 6, the transform unit 7, the quantization unit 8, the entropy coding unit 9, the coding unit 10, the inverse quantization unit 11, and the inverse transform unit 12 are configured. As the block distortion removal filter 5, a LoopFilter (loop filter) is mounted.

図8は、非特許文献1のフィルタオン/オフしきい値α,βの使用方法を示すフローチャートである。非特許文献1では、ブロック歪み除去フィルタ5をかける前にフィルタのオン/オフを判断する。フィルタのオン/オフの判断は、まずBoundary Strength(BS)と呼ばれるブロック境界のブロック歪みの度合いを示す数値を求める(ステップS601)。次に、求めたBSが0かどうかを判断する(ステップS602)。そして、BS=0である場合はフィルタをかけない。BS≠0の場合にはフィルタオン/オフしきい値α、βを求める(ステップS603、S604)。以下にフィルタオン/オフしきい値α、βを求める式を示す。   FIG. 8 is a flowchart showing how to use the filter on / off threshold values α and β of Non-Patent Document 1. In Non-Patent Document 1, it is determined whether the filter is on or off before the block distortion removing filter 5 is applied. To determine whether the filter is on or off, first, a numerical value indicating the degree of block distortion at the block boundary, called Boundary Strength (BS), is obtained (step S601). Next, it is determined whether or not the obtained BS is 0 (step S602). When BS = 0, no filter is applied. When BS ≠ 0, filter on / off threshold values α and β are obtained (steps S603 and S604). Formulas for obtaining the filter on / off threshold values α and β are shown below.

IndexA=CLIP(0,51,QP+A)
IndexB=CLIP(0,51,QP+B)
上記の式により、IndexA及びIndexBが決定され、図9の表よりIndexA、IndexBに対応したフィルタオン/オフしきい値α、βが決定される(ステップS603、S604)。なお、CLIP(a,b,c)とは、値cが必ずaからbの間に決定されることを示す。決定されたフィルタオン/オフしきい値α、βを用いてフィルタのオン/オフを決定する(ステップS605)。以下にフィルタオン/オフの条件を示す。
IndexA = CLIP (0,51, QP + A)
IndexB = CLIP (0, 51, QP + B)
Index A and Index B are determined by the above formula, and filter on / off threshold values α and β corresponding to Index A and Index B are determined from the table of FIG. 9 (steps S603 and S604). CLIP (a, b, c) indicates that the value c is always determined between a and b. Filter on / off is determined using the determined filter on / off threshold values α and β (step S605). The filter on / off conditions are shown below.

1.p0とq0の差分絶対値がαより小さい。   1. The absolute difference between p0 and q0 is smaller than α.

2.p1とp0の差分絶対値がβより小さい。   2. The absolute difference between p1 and p0 is smaller than β.

3.q1とq0の差分絶対値がβより小さい。   3. The absolute difference between q1 and q0 is smaller than β.

上記の1〜3の条件を全て満たした場合、フィルタがオンとし(ステップS607)、条件を満たさない場合にはフィルタはオフとする。   When all the above conditions 1 to 3 are satisfied, the filter is turned on (step S607), and when the conditions are not satisfied, the filter is turned off.

このような非特許文献1の技術の場合、フィルタをオン/オフさせるフィルタオン/オフしきい値α、βを求める際のフィルタオフセット値A及びBには固定値を用いる傾向にあるため、画像サイズが大きくブロック歪みが発生しにくい動画像においても、画像サイズが小さくブロック歪みが多く発生する動画像においても同様のフィルタ処理を行うこととなる。これにより、画像サイズが大きくブロック歪みが発生しにくい動画像では過剰なフィルタ処理によって解像感を失い、画像サイズが小さくブロック歪みの多い動画像ではブロック歪みが残るといった問題点があった。   In the case of such a technique of Non-Patent Document 1, there is a tendency to use fixed values for the filter offset values A and B when obtaining the filter on / off threshold values α and β for turning on / off the filter. The same filtering process is performed for a moving image having a large size and hardly causing block distortion even for a moving image having a small image size and a large amount of block distortion. As a result, there is a problem in that a moving image having a large image size and hardly causing block distortion loses a sense of resolution due to excessive filtering, and a moving image having a small image size and a large amount of block distortion remains with block distortion.

図10は、特開2002−199403号公報(特許文献1)に記載されているブロック歪み除去フィルタを有するMPEG−2デコーダのブロック図である。図において、21は可変長符号であるMPEG−2ビデオ符号列を復号化する可変長復号化器、22は復号化された可変長符号の逆量子化を行う逆量子化器、23は逆量子化器22の出力に対し逆DCT処理を行う逆DCT器、25は可変長復号化器21の出力に対し動き補償を行う動き補償器、24は逆DCT器23の出力と動き補償器25の出力との加算を行う加算器、26は復号済みの画像データを一時記憶する画像メモリであり、27は画像メモリ26の出力および可変長復号化器21の出力を用いてブロック歪みの有無を検出するブロック歪み検出器、28はブロック歪み検出器27の出力を用いてブロック歪みを除去するブロック歪み除去器である。特許文献1では、ブロック歪み検出器27及びブロック歪み除去器28を使用してブロック歪みを検出し、それを除去している。   FIG. 10 is a block diagram of an MPEG-2 decoder having a block distortion removal filter described in Japanese Patent Laid-Open No. 2002-199403 (Patent Document 1). In the figure, 21 is a variable length decoder that decodes an MPEG-2 video code string that is a variable length code, 22 is an inverse quantizer that performs inverse quantization of the decoded variable length code, and 23 is an inverse quantum. 25 is a motion compensator that performs motion compensation on the output of the variable length decoder 21, and 24 is an output of the inverse DCT 23 and the motion compensator 25. An adder that performs addition with the output, 26 is an image memory that temporarily stores the decoded image data, and 27 detects the presence or absence of block distortion using the output of the image memory 26 and the output of the variable length decoder 21. The block distortion detector 28 is a block distortion remover 28 that removes block distortion using the output of the block distortion detector 27. In Patent Document 1, block distortion is detected and removed using a block distortion detector 27 and a block distortion remover 28.

図11は、特許文献1のブロック歪み検出器27の内部構成を示すブロック図であり、ブロック歪み検出器27は、画素値検査器27−1、動きベクトル検査器27−2、ブロック歪み判定器27−3の3つの回路から構成される。このブロック歪み検出器27には、画像メモリ26から復号化後の画像データが、可変長復号化器21から動きベクトルが、それぞれ入力される。特許文献1では画素値検査器27−1で、画像メモリ26より任意のブロック境界付近の画素の差分絶対値を計算し、予め定められたしきい値によってブロック境界が歪みかどうかを判断する。さらに動きベクトル検査器27−2で、符号化に用いた動きベクトル情報を用いてブロック歪み検出を補正し、ブロック歪み判定器27−3においてブロック歪みを判断する。   FIG. 11 is a block diagram showing an internal configuration of the block distortion detector 27 of Patent Document 1. The block distortion detector 27 includes a pixel value checker 27-1, a motion vector checker 27-2, and a block distortion determiner. 27-3. The block distortion detector 27 receives the decoded image data from the image memory 26 and the motion vector from the variable length decoder 21. In Patent Document 1, a pixel value inspector 27-1 calculates an absolute difference value of pixels near an arbitrary block boundary from the image memory 26, and determines whether or not the block boundary is distorted based on a predetermined threshold value. Further, the motion vector checker 27-2 corrects block distortion detection using the motion vector information used for encoding, and the block distortion determiner 27-3 determines the block distortion.

画素値検査器27−1では、図12の画素に対して以下の条件に当てはまる場合にブロック歪みと判断する。   The pixel value inspector 27-1 determines that the block distortion occurs when the following condition is satisfied for the pixel in FIG.

4.画素q0と画素p0の絶対値差分値が所定値Th1よりも大きい。   4). The absolute value difference value between the pixel q0 and the pixel p0 is larger than the predetermined value Th1.

5.画素p0と画素p1、画素p1と画素p2の絶対値差分値が所定値Th2よりも小さい。   5. The absolute value difference value between the pixel p0 and the pixel p1 and between the pixel p1 and the pixel p2 is smaller than the predetermined value Th2.

以上の4、5の条件を満たす場合にブロック歪みと検出する。   Block distortion is detected when the above conditions 4 and 5 are satisfied.

このような特許文献1の技術においても、ブロック歪み検出の際に使用しているしきい値として予め定められたしきい値Th1及びTh2を使用しているので、非特許文献1と同様にブロック歪み検出を正確に行うことができないという問題点があった。
特開2002−199403号公報 ISO/IEC14496−10AVC
In the technique of Patent Document 1 as well, since the predetermined threshold values Th1 and Th2 are used as the threshold values used for block distortion detection, the block is the same as in Non-Patent Document 1. There has been a problem that distortion cannot be detected accurately.
JP 2002-199403 A ISO / IEC14496-10AVC

本発明は、上述のような従来技術の問題点に鑑みてなされたものであり、画像サイズが大きくブロック歪みの少ない動画像では解像感を保持し、画像サイズが小さくブロック歪みの多い動画像ではブロック歪みをより軽減させることができる動画像符号化装置及びそのプログラムを提供することを目的とする。   The present invention has been made in view of the above-mentioned problems of the prior art. A moving image having a large image size and a small block distortion retains a sense of resolution, and a moving image having a small image size and a large block distortion. Then, it aims at providing the moving image encoder which can reduce block distortion more, and its program.

請求項1の発明の動画像符号化装置は、入力された画像信号の画像サイズに基づき第1のフィルタオフセット値を決定する第1のフィルタオフセット値決定部と、前記入力された画像信号をブロック単位で直交変換する直交変換部と、前記直交変換された信号を量子化する量子化部と、前記量子化された信号を符号化する可変長符号化部と、前記量子化されたデータを1スライス分保持し、1スライスに含まれるブロック群の量子化データの分散値を求める量子化判定部と、前記分散値に基づき第2のフィルタオフセット値を決定する第2のフィルタオフセット値決定部と、前記第1、第2のフィルタオフセット値を前記符号化された画像符号化データのスライスヘッダに書込む多重化部と、前記量子化されたデータに対して逆量子化を行う逆量子化部と、前記逆量子化されたデータに対して直交逆変換を行う逆変換部と、前記逆変換されたデータと画面内予測データ又は画面間予測データとの加算データを、復号画像データとして保持する復号画像メモリと、前記復号画像メモリより入力されたデータに対して、前記第1、第2のフィルタオフセット値を用いてフィルタオン/オフを判定すると共に、フィルタオン時にデブロックフィルタ処理を行うデブロックフィルタ処理部と、前記デブロックフィルタ処理されたデータを参照画像データとして保持するバッファメモリと、これから符号化する画像データと前記参照画像データとを使用して動きベクトル検出を行う動きベクトル検出部と、前記これから符号化する画像データと前記参照画像データとを使用して動き補償を行う動き補償部とを備えたものである。   A moving image encoding apparatus according to a first aspect of the present invention includes a first filter offset value determination unit that determines a first filter offset value based on an image size of an input image signal, and blocks the input image signal. An orthogonal transform unit that performs orthogonal transform in units, a quantization unit that quantizes the orthogonally transformed signal, a variable length coding unit that encodes the quantized signal, and the quantized data as 1 A quantization determination unit that holds slices and obtains a dispersion value of quantization data of a block group included in one slice; a second filter offset value determination unit that determines a second filter offset value based on the dispersion value; A multiplexing unit for writing the first and second filter offset values into a slice header of the encoded image encoded data, and inverse quantization on the quantized data. A quantizing unit, an inverse transform unit that performs orthogonal inverse transform on the inversely quantized data, and addition data of the inversely transformed data and intra-screen prediction data or inter-screen prediction data, decoded image data A decoded image memory that is held as a filter, and the data input from the decoded image memory is subjected to filter on / off determination using the first and second filter offset values, and deblocking filter processing when the filter is on A deblocking filter processing unit for performing motion vector detection, a buffer memory for storing the data subjected to the deblocking filtering processing as reference image data, and motion for performing motion vector detection using image data to be encoded and the reference image data Motion compensation is performed using a vector detection unit, the image data to be encoded, and the reference image data It is obtained by a can compensator.

請求項2の発明の動画像符号化プログラムは、入力された画像信号の画像サイズに基づき、第1のフィルタオフセット値を決定する第1のフィルタオフセット値決定処理と、前記入力された画像信号をブロック単位で直交変換する直交変換処理と、前記直交変換された信号を量子化する量子化処理と、前記量子化された信号を符号化する可変長符号化処理と、前記量子化されたデータを1スライス分保持し、1スライスに含まれるブロック群の量子化値の分散値を求める量子化判定処理と、前記分散値に基づき第2のフィルタオフセット値を決定する第2のフィルタオフセット値決定処理と、前記第1、第2のフィルタオフセット値を前記符号化された画像符号化データのスライスヘッダに書込む多重化処理と、前記量子化されたデータに対する逆量子化処理と、前記逆量子化されたデータに対する逆変換処理と、前記逆変換されたデータと画面内予測データ又は画面間予測データとを加算し、復号画像データを得る画像復号処理と、前記復号画像データに対して、前記第1、第2のフィルタオフセット値を用いてフィルタオン/オフを判定し、かつ、フィルタオン判定時にデブロックフィルタ処理を行うデブロックフィルタ処理と、前記デブロックフィルタ処理されたデータを参照画像データとして保持するバッファメモリ処理と、これから符号化する画像データと前記参照画像データとを使用して動きベクトル検出を行う動きベクトル検出処理と、前記これから符号化する画像データと前記参照画像データとを使用して動き補償を行う動き補償処理とをコンピュータに実行させるものである。   A moving image encoding program according to a second aspect of the invention includes a first filter offset value determination process for determining a first filter offset value based on an image size of an input image signal, and the input image signal. Orthogonal transformation processing for orthogonal transformation in units of blocks, quantization processing for quantizing the orthogonally transformed signal, variable length coding processing for coding the quantized signal, and the quantized data A quantization determination process that holds one slice and obtains a variance value of a quantization value of a block group included in one slice, and a second filter offset value determination process that determines a second filter offset value based on the variance value A multiplexing process for writing the first and second filter offset values in the slice header of the encoded image encoded data, and the quantized data. An inverse quantization process, an inverse transform process on the inversely quantized data, an image decoding process to obtain decoded image data by adding the inversely transformed data and intra prediction data or inter prediction data; A deblocking filter process for determining whether the decoded image data is filtered on / off using the first and second filter offset values, and performing a deblocking filter process at the time of filter on determination; Buffer memory processing for holding block filtered data as reference image data, motion vector detection processing for performing motion vector detection using image data to be encoded and the reference image data, and encoding from now on Causing a computer to execute motion compensation processing for performing motion compensation using image data and the reference image data It is intended.

本発明によれば、少なくとも入力される画像サイズ、符号化に使用した量子化値の分散値を使用して、各スライスに適したフィルタオフセット値を適時可変とすることができるので、従来技術と比較して、画像サイズが大きくブロック歪みの少ない動画像では解像感を保持することができ、画像サイズが小さくブロック歪みの多い動画像ではブロック歪みをより軽減させることができ、動画像全体の画質の向上が実現できる。   According to the present invention, since the filter offset value suitable for each slice can be made timely variable by using at least the input image size and the variance value of the quantization value used for encoding, In comparison, a moving image with a large image size and a small block distortion can maintain a sense of resolution, and a moving image with a small image size and a large amount of block distortion can further reduce the block distortion. Improve image quality.

以下、本発明の実施の形態を図に基づいて詳説する。図1は本発明の1つの実施の形態のMPEG−4AVCの符号化技術を用いた動画像符号化装置のブロック図であり、図2は本実施の形態の処理機能のプログラムのフローチャートである。図1において、101は入力部、102はフィルタオフセット値B決定部、103はイントラ予測部、104はDCT処理する変換部、105は量子化部、106は符号化部、107はフィルタオフセット値A,Bを符号化データのヘッダに書込む多重化部、108は画像符号化データを出力する出力部、109はフィルタオフセット値A決定部、110は量子化判定部、111は逆量子化部、112は逆変換部、113は復号画像メモリ、114はブロック歪み除去用のループフィルタ(LoopFilter)、115はバッファメモリ(DPB)、116は動き補償(MC)部、117は動きベクトル検出(ME)部を示す。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 is a block diagram of a moving picture encoding apparatus using the MPEG-4 AVC encoding technique according to one embodiment of the present invention, and FIG. 2 is a flowchart of a processing function program according to the present embodiment. In FIG. 1, 101 is an input unit, 102 is a filter offset value B determination unit, 103 is an intra prediction unit, 104 is a DCT processing conversion unit, 105 is a quantization unit, 106 is an encoding unit, and 107 is a filter offset value A. , B in the header of the encoded data, 108 is an output unit that outputs the image encoded data, 109 is a filter offset value A determining unit, 110 is a quantization determining unit, 111 is an inverse quantization unit, 112 is an inverse transform unit, 113 is a decoded image memory, 114 is a loop filter for removing block distortion (LoopFilter), 115 is a buffer memory (DPB), 116 is a motion compensation (MC) unit, and 117 is a motion vector detection (ME). Indicates the part.

上記構成の動画像符号化装置の動作を説明する。入力部101には、符号化する動画像のデータが入力され、イントラ予測部103又はMC部116とME部117に画像データを出力し、入力画像の画像サイズをフィルタオフセット値B決定部102に出力する(ステップS201)。   The operation of the video encoding apparatus having the above configuration will be described. The input unit 101 receives moving image data to be encoded, outputs image data to the intra prediction unit 103 or the MC unit 116 and the ME unit 117, and sets the image size of the input image to the filter offset value B determination unit 102. Output (step S201).

フィルタオフセット値B決定部102では、入力部101より入力された動画像のサイズによって、フィルタオフセット値Bの候補を決定し、結果を多重化部107に出力する(ステップS202)。   The filter offset value B determination unit 102 determines filter offset value B candidates based on the size of the moving image input from the input unit 101, and outputs the result to the multiplexing unit 107 (step S202).

図3に本実施の形態によるフィルタオフセット値Bの決定方法を示し、図4は演算式の表を示している。フィルタオフセット値Bは、図12におけるp0とp1、q0とq1、p1とp2、q1とq2、p0とp2、及びq0とq2の絶対値差分値に関わる数値であり、すなわち、ブロック内の画素に関わる数値である。同じ動画像であっても画像サイズが異なる場合、ブロック内の画素の持つ情報が異なる。画像サイズが大きい場合、1個のブロック内の画素の情報は小さく、画像サイズが小さい場合、1個のブロック内の情報が大きくなる。このため、図4の表のように画像サイズSが大きくなるにつれてフィルタオフセット値Bの数値を小さくする。例えば、入力される動画像の画像サイズが720×480であるとすると、図12及び図4の表より、フィルタオフセット値Bを0と決定する。このように、画像サイズSの大きさによりフィルタオフセット値Bを制御することで、条件2(p1とp0の差分絶対値がβより小さい)、条件3(q1とq0の差分絶対値がβより小さい)のフィルタをオン/オフするフィルタオン/オフしきい値βを制御することができる。すなわち、画像サイズSの大きい動画像の場合は、βを小さくしてフィルタの効果を少なくする。また、画像サイズSの小さい動画像の場合は、βを大きくしてフィルタの効果を大きくする。これにより、画像サイズSの大きい動画像の場合には解像感を保持することができ、画像サイズの小さい動画像の場合にはブロック歪み検出を容易にし、ブロック歪み除去フィルタを効果的に使用することができる。   FIG. 3 shows a method for determining the filter offset value B according to the present embodiment, and FIG. 4 shows a table of arithmetic expressions. The filter offset value B is a numerical value related to the absolute value difference values of p0 and p1, q0 and q1, p1 and p2, q1 and q2, p0 and p2, and q0 and q2 in FIG. It is a numerical value related to. Even if the same moving image has different image sizes, the information held by the pixels in the block is different. When the image size is large, the pixel information in one block is small, and when the image size is small, the information in one block is large. For this reason, the numerical value of the filter offset value B is reduced as the image size S increases as shown in the table of FIG. For example, if the image size of the input moving image is 720 × 480, the filter offset value B is determined to be 0 from the tables of FIGS. In this way, by controlling the filter offset value B according to the size of the image size S, the condition 2 (the absolute difference value between p1 and p0 is smaller than β) and the condition 3 (the absolute difference value between q1 and q0 is greater than β) A filter on / off threshold value β for turning on / off a small filter can be controlled. That is, in the case of a moving image having a large image size S, β is decreased to reduce the filter effect. In the case of a moving image with a small image size S, the effect of the filter is increased by increasing β. As a result, a sense of resolution can be maintained in the case of a moving image with a large image size S, and block distortion detection can be facilitated and a block distortion removal filter can be used effectively for a moving image with a small image size. can do.

イントラ予測部103では、画素レベルで画面内予測を行い、結果を減算器に出力する。この減算器では、入力画像とイントラ予測部103若しくはMC部116の出力画像との減算を行ない、差分信号を変換部104に出力する(ステップS204)。   The intra prediction unit 103 performs intra prediction at the pixel level and outputs the result to the subtracter. This subtracter performs subtraction between the input image and the output image of the intra prediction unit 103 or MC unit 116, and outputs a difference signal to the conversion unit 104 (step S204).

変換部104では、減算器より差分信号が入力され、4×4又は8×8単位でDCT直交変換を行う。変換されたデータは、量子化部105に出力する(ステップS207)。   The conversion unit 104 receives the difference signal from the subtracter and performs DCT orthogonal conversion in units of 4 × 4 or 8 × 8. The converted data is output to the quantization unit 105 (step S207).

量子化部105では、DCT直交変換された信号を入力し、係数成分毎に適当な量子化ステップで量子化し、符号化部106及び逆量子化部111へ量子化されたデータを出力する。また、量子化判定部110に量子化値を出力する。量子化判定部110はこの量子化値をスライス単位で保存する(ステップS208,S209)。   The quantizing unit 105 inputs a signal subjected to DCT orthogonal transformation, quantizes the coefficient component at an appropriate quantization step, and outputs quantized data to the encoding unit 106 and the inverse quantization unit 111. In addition, the quantization value is output to the quantization determination unit 110. The quantization determining unit 110 stores the quantized value in units of slices (Steps S208 and S209).

符号化部106では、入力されたデータを符号化する。符号化されたデータは多重化部107に出力する(ステップS210)。   The encoding unit 106 encodes the input data. The encoded data is output to the multiplexing unit 107 (step S210).

多重化部107では、フィルタオフセット値A決定部109及びフィルタオフセット値B決定部102からのフィルタオフセット値A,Bを符号化部106からのスライス単位の符号化データのヘッダに書込む。つまり、それまでのA、Bの値を入力した値に書き換える処理をする。多重化された符号化データは、出力部108に出力する。また、フィルタオフセット値A及びBを、Loop Filter114に出力する(ステップS215)。   The multiplexing unit 107 writes the filter offset values A and B from the filter offset value A determination unit 109 and the filter offset value B determination unit 102 in the header of the encoded data in units of slices from the encoding unit 106. That is, the process of rewriting the values of A and B so far to the input values is performed. The multiplexed encoded data is output to the output unit 108. Further, the filter offset values A and B are output to the Loop Filter 114 (step S215).

出力部108では、多重化部107より入力した符号化データを外部に出力する。   The output unit 108 outputs the encoded data input from the multiplexing unit 107 to the outside.

フィルタオフセット値A決定部109では、量子化判定部110より入力された量子化判定データをもとにフィルタオフセット値Aを決定し、多重化部107に結果を出力する(ステップS213,S214)。   The filter offset value A determination unit 109 determines the filter offset value A based on the quantization determination data input from the quantization determination unit 110, and outputs the result to the multiplexing unit 107 (steps S213 and S214).

フィルタオフセット値Aについて説明する。このフィルタオフセット値Aは、図12より、p0とq0、つまりブロック間の画素の絶対値差分に関わる数値である。条件1(p0とq0の差分絶対値がαより小さい)より、フィルタオフセット値Aを大きくすると前記αも大きくなり、よりフィルタをかかりやすくする。逆にフィルタオフセット値Aを小さくすると前記αも小さくなり、フィルタをかかりにくくする。つまり、フィルタオフセット値Aはフィルタのオン/オフと密接に関係しており、フィルタオフセット値Aを可変とすることでフィルタのかかり具合を制御することができる。本実施の形態は量子化器を用いてMB(マクロブロック)単位で量子化しており、量子化値の違いが原因で隣接するMB間に歪みを生じる。したがって、フィルタオフセット値Aを量子化値によって変更することでフィルタ処理の制御を行うことが可能である。よって、本実施の形態では、フィルタオフセット値Aをスライス単位で変更し、1スライスに含まれるMB群の量子化値の分散値でフィルタオフセット値Aを可変とする指標とする。   The filter offset value A will be described. This filter offset value A is a numerical value related to p0 and q0, that is, the absolute value difference of pixels between blocks, as shown in FIG. From condition 1 (the absolute value of the difference between p0 and q0 is smaller than α), if the filter offset value A is increased, the α also increases, making it easier to filter. On the other hand, if the filter offset value A is reduced, the α is also reduced, making it difficult to apply a filter. That is, the filter offset value A is closely related to the on / off state of the filter, and the degree of filter application can be controlled by making the filter offset value A variable. In the present embodiment, quantization is performed in units of MB (macroblock) using a quantizer, and distortion occurs between adjacent MBs due to a difference in quantization values. Therefore, it is possible to control the filter processing by changing the filter offset value A according to the quantization value. Therefore, in the present embodiment, the filter offset value A is changed in units of slices, and the filter offset value A is used as an index that can be varied by the dispersion value of the quantization value of the MB group included in one slice.

本実施の形態のフィルタオフセット値A決定部109について図5及び図6の表を使用して説明する。量子化判定部110にて1スライス単位でMB群の量子化値を保持し、1ライス毎にMB群の量子化値の分散値Fを求める。そして求められた分散値Fが、予め定められたしきい値Th1、Th2よりも大きいか小さいか判断する(ステップS301、S303)。仮に、Th1=10、Th2=50とした場合、求められた分散値Fが10より小さければ図6の表よりA=−1(ステップS302)、Fが30であれば図6の表よりA=0(ステップS304)、Fが60であればA=1となる(ステップS305)。以上のように、MBの量子化値の分散値Fにより、フィルタオフセット値Aをスライス単位で可変とすることにより、各スライスに応じたフィルタオフセット値Aを用いることができ、ブロック歪みの多く発生しているスライスの場合は、フィルタオフセット値Aを大きくすることによりブロック歪みフィルタをかかりやすくし、ブロック歪みを軽減し、ブロック歪みの発生が少ないスライスである場合は、フィルタオフセット値Aを小さくしてフィルタをかかりにくくし、解像感の保持を実現することができる。   The filter offset value A determination unit 109 of the present embodiment will be described using the tables in FIGS. The quantization determination unit 110 holds the quantization value of the MB group in units of one slice, and obtains the dispersion value F of the quantization value of the MB group for each rice. Then, it is determined whether the obtained dispersion value F is larger or smaller than predetermined threshold values Th1 and Th2 (steps S301 and S303). If Th1 = 10 and Th2 = 50, if the obtained dispersion value F is smaller than 10, A = -1 (step S302) from the table of FIG. 6, and if F is 30, A from the table of FIG. = 0 (step S304), and if F is 60, A = 1 (step S305). As described above, by making the filter offset value A variable in units of slices by the dispersion value F of the quantized value of MB, the filter offset value A corresponding to each slice can be used, and a lot of block distortion occurs. In the case of a slice that has a small block distortion, it is easy to apply a block distortion filter by increasing the filter offset value A, and the block distortion is reduced. Therefore, it is difficult to apply a filter, and a sense of resolution can be maintained.

量子化判定部110では、量子化部105より符号化に使用した量子化値が入力され、スライス単位分のMBの量子化値を保存し、保存した量子化値を使用して分散値Fを求める。求めた分散値Fはフィルタオフセット値A決定部109に出力される(ステップS213)。   In the quantization determination unit 110, the quantization value used for encoding is input from the quantization unit 105, the quantization value of MB for each slice unit is stored, and the variance value F is calculated using the stored quantization value. Ask. The obtained variance value F is output to the filter offset value A determination unit 109 (step S213).

逆量子化部111では、量子化部105より入力された量子化データに対して逆量子化処理を行い、結果を逆変換部112に出力する(ステップS211)。   The inverse quantization unit 111 performs an inverse quantization process on the quantized data input from the quantization unit 105 and outputs the result to the inverse transform unit 112 (step S211).

逆変換部112では、逆量子化部111より入力されたデータに対して逆変換処理を行い、結果を加算器に出力する(ステップS212)。   The inverse transform unit 112 performs an inverse transform process on the data input from the inverse quantization unit 111 and outputs the result to the adder (step S212).

復号画像メモリ113では、逆変換部112より入力されるデータと、イントラ予測部103又はMC部116より入力されるデータとの加算結果である復号画像データを保持し、Loop Filter114にデータを出力する。   The decoded image memory 113 holds decoded image data that is the addition result of the data input from the inverse transform unit 112 and the data input from the intra prediction unit 103 or the MC unit 116, and outputs the data to the Loop Filter 114. .

Loop Filter114では、復号画像メモリ113より入力されたデータに対してフィルタ処理を行い、フィルタ処理を行ったデータをバッファメモリ(DPB)115に出力する(ステップS216)。   The Loop Filter 114 performs a filtering process on the data input from the decoded image memory 113, and outputs the filtered data to the buffer memory (DPB) 115 (Step S216).

DPB115では、Loop Filter114より入力されたデータを参照画像とする場合に復号画像データを保持しておき、必要に応じてME部117にデータを出力する。   The DPB 115 holds the decoded image data when the data input from the Loop Filter 114 is used as a reference image, and outputs the data to the ME unit 117 as necessary.

ME部117では、これから符号化する画像データと符号化の際に参照する画像データとを使用して動きベクトル検出を行う。参照する画像データは、現画像を用いてもよいし、復号画像を用いてもよい(ステップS205)。   The ME unit 117 performs motion vector detection using image data to be encoded from now on and image data to be referred to at the time of encoding. As the image data to be referred to, the current image or the decoded image may be used (step S205).

MC部116では、これから符号化する画像データとDPB115に保存されている復号画像データを使用して動き補償を行い、減算器に出力する(ステップS206)。   The MC unit 116 performs motion compensation using the image data to be encoded and the decoded image data stored in the DPB 115, and outputs the result to the subtracter (step S206).

本実施の形態によれば、少なくとも入力される画像サイズ、符号化に使用した量子化値の分散値を使用して、各スライスに適したフィルタオフセット値を適時可変とすることができ、この結果として、画像サイズが大きくブロック歪みの少ない動画像では解像感を保持することができ、画像サイズが小さくブロック歪みの多い動画像ではブロック歪みをより軽減させることができ、動画像全体の主観画質の向上が実現できる。   According to the present embodiment, it is possible to make the filter offset value suitable for each slice timely variable by using at least the input image size and the variance value of the quantization value used for encoding. For example, a moving image with a large image size and a small block distortion can maintain a sense of resolution, and a moving image with a small image size and a large amount of block distortion can further reduce the block distortion. Can be improved.

本発明は、高画質が要求されるような録画機器、モバイル機器などで使用される動画像符号化装置に有効である。   INDUSTRIAL APPLICABILITY The present invention is effective for a moving image encoding apparatus used in a recording device or a mobile device that requires high image quality.

本発明の1つの実施の形態の動画像符号化装置のブロック図。1 is a block diagram of a moving picture encoding apparatus according to an embodiment of the present invention. 上記実施の形態による動画像符号化処理のフローチャート。The flowchart of the moving image encoding process by the said embodiment. フィルタオフセット値Bを求める処理のフローチャート。The flowchart of the process which calculates | requires the filter offset value B. フィルタオフセット値Bを決定するための表。A table for determining a filter offset value B. フィルタオフセット値Aを求める処理のフローチャート。The flowchart of the process which calculates | requires the filter offset value A. フィルタオフセット値Aを決定するための表。A table for determining a filter offset value A. 従来例のエンコーダのブロック図。The block diagram of the encoder of a prior art example. 上記従来例におけるLoopFilter前処理のフローチャート。The flowchart of the LoopFilter pre-process in the said prior art example. 上記従来例におけるフィルタオン/オフしきい値α、βの表。A table of filter on / off threshold values α and β in the conventional example. 別の従来例のデコーダのブロック図。FIG. 10 is a block diagram of another conventional decoder. 上記従来例におけるブロック歪み検出器のブロック図。The block diagram of the block distortion detector in the said prior art example. ブロック境界と画素の位置を示す図。The figure which shows the position of a block boundary and a pixel.

符号の説明Explanation of symbols

101 入力部
102 フィルタオフセット値B決定部
103 イントラ予測部
104 変換部
105 量子化部
106 符号化部
107 多重化部
108 出力部
109 フィルタオフセット値A決定部
110 量子化判定部
111 逆量子化部
112 逆変換部
113 復号画像メモリ
114 LoopFilter
115 DPB
116 MC部
117 ME部
DESCRIPTION OF SYMBOLS 101 Input part 102 Filter offset value B determination part 103 Intra prediction part 104 Conversion part 105 Quantization part 106 Encoding part 107 Multiplexing part 108 Output part 109 Filter offset value A determination part 110 Quantization determination part 111 Inverse quantization part 112 Inverse transformation unit 113 Decoded image memory 114 LoopFilter
115 DPB
116 MC part 117 ME part

Claims (2)

入力された画像信号の画像サイズに基づき第1のフィルタオフセット値を決定する第1のフィルタオフセット値決定部と、
前記入力された画像信号をブロック単位で直交変換する直交変換部と、
前記直交変換された信号を量子化する量子化部と、
前記量子化された信号を符号化する可変長符号化部と、
前記量子化されたデータを1スライス分保持し、1スライスに含まれるブロック群の量子化データの分散値を求める量子化判定部と、
前記分散値に基づき第2のフィルタオフセット値を決定する第2のフィルタオフセット値決定部と、
前記第1、第2のフィルタオフセット値を前記符号化された画像符号化データのスライスヘッダに書込む多重化部と、
前記量子化されたデータに対して逆量子化を行う逆量子化部と、
前記逆量子化されたデータに対して直交逆変換を行う逆変換部と、
前記逆変換されたデータと画面内予測データ又は画面間予測データとの加算データを、復号画像データとして保持する復号画像メモリと、
前記復号画像メモリより入力されたデータに対して、前記第1、第2のフィルタオフセット値を用いてフィルタオン/オフを判定すると共に、フィルタオン時にデブロックフィルタ処理を行うデブロックフィルタ処理部と、
前記デブロックフィルタ処理されたデータを参照画像データとして保持するバッファメモリと、
これから符号化する画像データと前記参照画像データとを使用して動きベクトル検出を行う動きベクトル検出部と、
前記これから符号化する画像データと前記参照画像データとを使用して動き補償を行う動き補償部とを備えた動画像符号化装置。
A first filter offset value determining unit that determines a first filter offset value based on the image size of the input image signal;
An orthogonal transform unit that orthogonally transforms the input image signal in units of blocks;
A quantization unit for quantizing the orthogonally transformed signal;
A variable length encoding unit for encoding the quantized signal;
A quantization determination unit that holds the quantized data for one slice and obtains a dispersion value of quantized data of a block group included in one slice;
A second filter offset value determination unit for determining a second filter offset value based on the variance value;
A multiplexing unit for writing the first and second filter offset values in a slice header of the encoded image encoded data;
An inverse quantization unit that performs inverse quantization on the quantized data;
An inverse transform unit that performs orthogonal inverse transform on the inversely quantized data;
Decoded image memory that holds addition data of the inversely transformed data and intra prediction data or inter prediction data as decoded image data;
A deblocking filter processing unit for determining whether to turn on / off the data input from the decoded image memory using the first and second filter offset values and performing a deblocking filter process when the filter is on; ,
A buffer memory for holding the deblock filtered data as reference image data;
A motion vector detection unit for performing motion vector detection using the image data to be encoded and the reference image data;
A video encoding apparatus comprising: a motion compensation unit that performs motion compensation using the image data to be encoded and the reference image data.
入力された画像信号の画像サイズに基づき、第1のフィルタオフセット値を決定する第1のフィルタオフセット値決定処理と、
前記入力された画像信号をブロック単位で直交変換する直交変換処理と、
前記直交変換された信号を量子化する量子化処理と、
前記量子化された信号を符号化する可変長符号化処理と、
前記量子化されたデータを1スライス分保持し、1スライスに含まれるブロック群の量子化値の分散値を求める量子化判定処理と、
前記分散値に基づき第2のフィルタオフセット値を決定する第2のフィルタオフセット値決定処理と、
前記第1、第2のフィルタオフセット値を前記符号化された画像符号化データのスライスヘッダに書込む多重化処理と、
前記量子化されたデータに対する逆量子化処理と、
前記逆量子化されたデータに対する逆変換処理と、
前記逆変換されたデータと画面内予測データ又は画面間予測データとを加算し、復号画像データを得る画像復号処理と、
前記復号画像データに対して、前記第1、第2のフィルタオフセット値を用いてフィルタオン/オフを判定し、かつ、フィルタオン判定時にデブロックフィルタ処理を行うデブロックフィルタ処理と、
前記デブロックフィルタ処理されたデータを参照画像データとして保持するバッファメモリ処理と、
これから符号化する画像データと前記参照画像データとを使用して動きベクトル検出を行う動きベクトル検出処理と、
前記これから符号化する画像データと前記参照画像データとを使用して動き補償を行う動き補償処理とをコンピュータに実行させる動画像符号化プログラム。

A first filter offset value determination process for determining a first filter offset value based on the image size of the input image signal;
Orthogonal transformation processing for orthogonally transforming the input image signal in units of blocks;
A quantization process for quantizing the orthogonally transformed signal;
A variable length encoding process for encoding the quantized signal;
A quantization determination process for holding the quantized data for one slice and obtaining a dispersion value of a quantization value of a block group included in one slice;
A second filter offset value determination process for determining a second filter offset value based on the variance value;
A multiplexing process for writing the first and second filter offset values in a slice header of the encoded image encoded data;
An inverse quantization process for the quantized data;
An inverse transform process for the inversely quantized data;
An image decoding process for adding the inversely transformed data and intra prediction data or inter prediction data to obtain decoded image data;
A deblocking filter process for determining the filter on / off using the first and second filter offset values for the decoded image data and performing a deblocking filter process at the time of the filter on determination;
Buffer memory processing for holding the deblocked filter processed data as reference image data;
A motion vector detection process for performing motion vector detection using the image data to be encoded and the reference image data;
A moving image encoding program for causing a computer to execute a motion compensation process for performing motion compensation using the image data to be encoded and the reference image data.

JP2005120245A 2005-04-18 2005-04-18 Moving picture encoder and program thereof Withdrawn JP2006303734A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005120245A JP2006303734A (en) 2005-04-18 2005-04-18 Moving picture encoder and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005120245A JP2006303734A (en) 2005-04-18 2005-04-18 Moving picture encoder and program thereof

Publications (1)

Publication Number Publication Date
JP2006303734A true JP2006303734A (en) 2006-11-02

Family

ID=37471527

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005120245A Withdrawn JP2006303734A (en) 2005-04-18 2005-04-18 Moving picture encoder and program thereof

Country Status (1)

Country Link
JP (1) JP2006303734A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008263529A (en) * 2007-04-13 2008-10-30 Sony Corp Coder, coding method, program of coding method and recording medium with program of coding method recorded thereon
KR101496831B1 (en) * 2011-09-09 2015-02-27 주식회사 케이티 Methods of derivation of temporal motion vector predictor and appratuses using the same
CN106231342A (en) * 2010-04-13 2016-12-14 三星电子株式会社 Perform the method that video is decoded of block elimination filtering
KR101768865B1 (en) * 2014-06-19 2017-08-18 에스케이텔레콤 주식회사 Video Coding Method and Apparatus Using Weighted Prediction
US10523967B2 (en) 2011-09-09 2019-12-31 Kt Corporation Method for deriving a temporal predictive motion vector, and apparatus using the method

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008263529A (en) * 2007-04-13 2008-10-30 Sony Corp Coder, coding method, program of coding method and recording medium with program of coding method recorded thereon
US8155190B2 (en) 2007-04-13 2012-04-10 Sony Corporation Coding appartus, coding method, program for coding method, and recording medium recording coding method
CN106231342A (en) * 2010-04-13 2016-12-14 三星电子株式会社 Perform the method that video is decoded of block elimination filtering
US10306262B2 (en) 2010-04-13 2019-05-28 Samsung Electronics Co., Ltd. Video encoding method and video encoding apparatus and video decoding method and video decoding apparatus, which perform deblocking filtering based on tree-structure encoding units
US10412411B2 (en) 2010-04-13 2019-09-10 Samsung Electronics Co., Ltd. Video-encoding method and video-encoding apparatus using prediction units based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus using prediction units based on encoding units determined in accordance with a tree structure
US10432965B2 (en) 2010-04-13 2019-10-01 Samsung Electronics Co., Ltd. Video-encoding method and video-encoding apparatus based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus based on encoding units determined in accordance with a tree structure
KR101496831B1 (en) * 2011-09-09 2015-02-27 주식회사 케이티 Methods of derivation of temporal motion vector predictor and appratuses using the same
KR101802375B1 (en) * 2011-09-09 2017-11-28 주식회사 케이티 Methods of derivation of temporal motion vector predictor and appratuses using the same
US10523967B2 (en) 2011-09-09 2019-12-31 Kt Corporation Method for deriving a temporal predictive motion vector, and apparatus using the method
US10805639B2 (en) 2011-09-09 2020-10-13 Kt Corporation Method for deriving a temporal predictive motion vector, and apparatus using the method
US11089333B2 (en) 2011-09-09 2021-08-10 Kt Corporation Method for deriving a temporal predictive motion vector, and apparatus using the method
KR101768865B1 (en) * 2014-06-19 2017-08-18 에스케이텔레콤 주식회사 Video Coding Method and Apparatus Using Weighted Prediction

Similar Documents

Publication Publication Date Title
US9906790B2 (en) Deblock filtering using pixel distance
CN105706449B (en) Sample adaptive offset control
US8649431B2 (en) Method and apparatus for encoding and decoding image by using filtered prediction block
JP5174958B2 (en) Method and system for simultaneous optimization of video coder and decoder
JP5418756B2 (en) Image re-encoding device, image re-encoding method, and image re-encoding program
EP3007447A1 (en) Method for improving intra-prediction of diagonal mode in video coding
CN110036637B (en) Method and device for denoising and vocalizing reconstructed image
JP2008167456A (en) Image encoding device and image decoding device
KR20060121535A (en) Encoder and decoder for reducing blocking phenomenon, method therefor, and recording medium storing a program to implement thereof
US20230188733A1 (en) Video display preference filtering
JP2006303734A (en) Moving picture encoder and program thereof
JP2014075652A (en) Image encoder, and image encoding method
US8687910B2 (en) Image filtering method using pseudo-random number filter and apparatus thereof
KR102413038B1 (en) Predictive image correction apparatus, image encoding apparatus, image decoding apparatus, and program
US8929439B2 (en) Compressed image noise removal device and reproduction device
JP2010081539A (en) Moving image encoder and moving image encoding program
JP2006270851A (en) Image coding device and image decoding device
JP2006279272A (en) Moving picture coder and coding control method thereof
JP2022105653A (en) Deblocking filter controller and program
US20210185314A1 (en) Image decoding device, image coding device, image processing system, and program
JP2005311512A (en) Error concealment method and decoder
US20090245663A1 (en) Image data decoding apparatus and method for decoding image data
JP6998846B2 (en) Image decoding device, image coding device, image processing system and program
WO2021054437A1 (en) Image processing device and image processing method
JP2010050833A (en) Video coding device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070629

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20080221