JP2008054126A - Device and method for processing video signal, and video signal decoding device - Google Patents

Device and method for processing video signal, and video signal decoding device Download PDF

Info

Publication number
JP2008054126A
JP2008054126A JP2006229612A JP2006229612A JP2008054126A JP 2008054126 A JP2008054126 A JP 2008054126A JP 2006229612 A JP2006229612 A JP 2006229612A JP 2006229612 A JP2006229612 A JP 2006229612A JP 2008054126 A JP2008054126 A JP 2008054126A
Authority
JP
Japan
Prior art keywords
data
block boundary
smoothing process
filter
processing
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.)
Granted
Application number
JP2006229612A
Other languages
Japanese (ja)
Other versions
JP4848892B2 (en
Inventor
Junichi Minamimoto
淳一 南本
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2006229612A priority Critical patent/JP4848892B2/en
Publication of JP2008054126A publication Critical patent/JP2008054126A/en
Application granted granted Critical
Publication of JP4848892B2 publication Critical patent/JP4848892B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a video signal processing device and method capable of efficiently transferring data between a module of a preceding stage and a module of a post stage, and to provide a video signal decoding device. <P>SOLUTION: Data in a predetermined pixel unit which continue in a direction perpendicular to a block boundary including data processed by an overlap smoothing filter 31 are respectively written in parallel in a prescribed number of memories, and the data to be processed by a deblocking filter 32 are read in parallel in the predetermined pixel unit, starting from the prescribed number of memories. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、映像信号処理装置及び方法、並びに映像信号復号装置に関し、特に、映像信号がブロック単位で符号化されて得られた符号化データを復号する際のブロック境界円滑化処理を行う映像信号処理装置及び方法、並びに映像信号復号装置に関する。   The present invention relates to a video signal processing apparatus and method, and a video signal decoding apparatus, and in particular, a video signal that performs block boundary smoothing processing when decoding encoded data obtained by encoding a video signal in units of blocks. The present invention relates to a processing apparatus and method, and a video signal decoding apparatus.

近年において種々の動画像圧縮符号化技術が提案されているが、その1つとして知られているVC−1動画像圧縮符号化方式は、MPEG(Moving Picture Exparts Group)−4パート2をベースとし、さらに圧縮効率を高めるための種々の工夫が施されたものであり、SMPTE(米国映画テレビジョン技術者協会)での規格化がなされ、SMPTE 421Mとして発表されている。   In recent years, various moving image compression coding techniques have been proposed. The VC-1 moving image compression coding method known as one of them is based on MPEG (Moving Picture Exparts Group) -4 Part 2. Further, various ideas for improving the compression efficiency have been applied, and standardization by SMPTE (American Film and Television Engineers Association) has been made and announced as SMPTE 421M.

一般に、VC−1符号化方式におけるデコーダは、VC−1のレファレンスソースコードや規格書SMTPE 421MのDecodeing Process Overviewに構成案が記載されている。この規格書によればVC−1コーデック(Codec)によってエンコードされたビットストリーム(Bit Stream)信号はデコーダシステムに入力され、構造解析(Parsing)されると、そのデータの符号化された手法により大別して、イントラ(Intra)符号化(フレーム内予測符号化)されたものとインター(Inter)符号化(フレーム間予測符号化)されたものにデータが分類される。分類されたイントラ符号化データとインター符号化データとは、復号画像(Decode Picture)を生成する時のデータの再構成処理が異なる。   In general, a decoder in the VC-1 encoding method has a configuration proposal described in a reference source code of VC-1 or a decoding process overview of a standard SMTPE 421M. According to this standard, a bit stream signal encoded by a VC-1 codec (Codec) is input to a decoder system and subjected to a structure analysis (Parsing). Separately, data is classified into data that has been intra-encoded (intra-frame predictive encoding) and inter-encoded (inter-frame predictive encoding). The classified intra-coded data and inter-coded data are different in data reconstruction processing when a decoded picture (Decode Picture) is generated.

図19は、このVC−1デコーダシステムの一例を概略的に示すブロック図であり、ビットストリーム構造解析モジュール11が入力されたビットストリームを構造解析する。ビットストリーム構造解析モジュール11からのイントラ符号化データ及びインター符号化データは、AC/DC予測(Prediction)モジュール12を介して、逆量子化/逆DCT(IQ/IDCT)モジュール13に送られ、逆量子化及び逆DCTが施された後、選択スイッチ14に送られ、イントラ符号化データがオーバーラップスムージングフィルタ(Overlap Smoothing Filter)15に送られ、インター符号化データが加算器16に送られる。   FIG. 19 is a block diagram schematically showing an example of this VC-1 decoder system, and the bitstream structure analysis module 11 analyzes the structure of the input bitstream. Intra-coded data and inter-coded data from the bitstream structure analysis module 11 are sent to an inverse quantization / inverse DCT (IQ / IDCT) module 13 via an AC / DC prediction (Prediction) module 12, and inversely processed. After the quantization and inverse DCT are performed, the data is sent to the selection switch 14, the intra-coded data is sent to the overlap smoothing filter 15, and the inter-coded data is sent to the adder 16.

オーバーラップスムージングフィルタ15は、ブロック境界(エッジ)での歪を軽減するために、ブロック境界をスムージングするフィルタであり、イントラ符号化データのみをオーバーラップスムージング処理して加算器16に送っている。また、ビットストリーム構造解析モジュール11から動きベクトル(MV)が動きベクトル予測モジュール21を介して動き補償(MC)モジュール22に送られ、この動き補償モジュール22では、制御部23により外部メモリから読み出された復号データを用いて動き補償が施され、得られたデータ(インター符号化データ)が加算器16に送られる。加算器16では、選択スイッチ14からのインター符号化データ、オーバーラップスムージングフィルタ15からのイントラ符号化データ、動き補償モジュール22からのインター符号化データが加算され、デブロッキングフィルタ(Deblocking Filter)17に送られる。デブロッキングフィルタ17では、ブロック境界(エッジ)のみを平滑化してブロックノイズの発生を抑制する。このような復号処理が行われることにより、画像(ピクチャ:Picture)が再構成(decode)される。   The overlap smoothing filter 15 is a filter for smoothing the block boundary in order to reduce distortion at the block boundary (edge), and performs the overlap smoothing process only on the intra-coded data and sends it to the adder 16. Also, a motion vector (MV) is sent from the bitstream structure analysis module 11 to the motion compensation (MC) module 22 via the motion vector prediction module 21, and the motion compensation module 22 reads it from the external memory by the control unit 23. Motion compensation is performed using the decoded data, and the obtained data (inter-coded data) is sent to the adder 16. In the adder 16, the inter-encoded data from the selection switch 14, the intra-encoded data from the overlap smoothing filter 15, and the inter-encoded data from the motion compensation module 22 are added to a deblocking filter (Deblocking Filter) 17. Sent. The deblocking filter 17 smoothes only the block boundary (edge) and suppresses the generation of block noise. By performing such decoding processing, an image (Picture) is reconstructed (decoded).

次に、規格書SMTPE 421M によってVC−1デコーダとして規格化されている上記オーバーラップスムージング(Overlap Smoothing)処理について説明する。   Next, the overlap smoothing process that is standardized as a VC-1 decoder by the standard SMTPE 421M will be described.

このオーバーラップスムージング処理は、図20に示すように、8×8画素のブロックの境界(エッジ)について、4タップのフィルタ処理を行うものであり、垂直エッジ、水平エッジの順に行われ、Y(輝度)/C(クロマ)信号のデータに対して同じ演算が行われ、Iピクチャ(フレーム内符号化画像)又はPピクチャ(前方予測符号化画像)のみに対して処理が行われる。   As shown in FIG. 20, this overlap smoothing process performs a 4-tap filter process on the boundary (edge) of a block of 8 × 8 pixels, and is performed in the order of vertical edge and horizontal edge. The same calculation is performed on the data of the (luminance) / C (chroma) signal, and processing is performed only on the I picture (intra-frame encoded image) or P picture (forward prediction encoded image).

図21は、前段のモジュールからあるいは外部メモリから送られてくるデータの時系列を示しており、ピクチャ再構成処理の単位をマクロブロック(MB)としている。この図21の矢印に示すように送られてくるデータの時系列に対してレイテンシ(処理のための待ち時間)を少なくする場合の方法として、上記オーバーラップスムージング処理を行うために必要とされるマクロブロック(MB)を図22に示す。この図22において、現在処理されるべく前段のモジュールから送られてきた(あるいは外部メモリから読み出された)現在のマクロブロック(Current MB)C−MBに対して、オーバーラップスムージング処理される範囲(処理が完了する領域)はXosとなる。この図22の範囲Xosのオーバーラップスムージング処理を行うために、上記現在のマクロブロックC−MBと、直前のマクロブロック(Left MB)L−MBと、現在のマクロブロックC−MBに対してピクチャが再構成された時に上部に位置する上部マクロブロック(Above MB)A−MBと、この上部マクロブロックA−MBの直前のマクロブロック(Left Above MB)LA−MB(ピクチャが再構成された時に上部マクロブロックA−MBの左に位置するマクロブロック)の、合計4つのマクロブロックC−MB,L−MB,A−MB,LA−MBに属するデータを必要とする。   FIG. 21 shows a time series of data sent from the preceding module or from the external memory, and the unit of picture reconstruction processing is a macroblock (MB). As a method for reducing the latency (waiting time for processing) with respect to the time series of data sent as shown by the arrows in FIG. 21, it is required to perform the overlap smoothing processing. A macroblock (MB) is shown in FIG. In FIG. 22, the range in which overlap smoothing processing is performed on the current macroblock (Current MB) C-MB sent from the previous module to be processed (or read from the external memory). (Processing completion area) is Xos. In order to perform the overlap smoothing process in the range Xos in FIG. 22, the current macroblock C-MB, the previous macroblock (Left MB) L-MB, and the current macroblock C-MB are pictured. The upper macroblock (Above MB) A-MB located at the top when the image is reconstructed, and the macroblock (Left Above MB) LA-MB immediately before the upper macroblock A-MB (when the picture is reconstructed) Data belonging to a total of four macroblocks C-MB, L-MB, A-MB, and LA-MB of the upper macroblock A-MB).

また、上記デブロッキングフィルタ(Deblocking Filter)処理される範囲は、図22の範囲Xdbとなり、上記オーバーラップスムージング処理の場合と同様に4つのマクロブロックC−MB,L−MB,A−MB,LA−MBに属するデータが必要となる。上記VC−1規格におけるデブロッキングフィルタ処理は、Iピクチャ、Bピクチャ(双方向予測符号化画像)では8×8ブロックの境界のみに適用され、Pピクチャでは4×4ブロック境界まで適用されるものである。このデブロッキングフィルタ処理は、8タップのフィルタ処理により、境界から2画素だけを変化させるものであり、水平エッジ、垂直エッジの順に処理が行われる。また、Y(輝度)/C(クロマ)信号のデータに対しても同じ演算が行われる。なお、上記図22に示す範囲Xdbは、フィールド符号化の場合とフレーム符号化の場合を考慮して、上記デブロッキングフィルタ処理が完了する領域を示している。   Further, the range to be subjected to the deblocking filter processing is the range Xdb in FIG. 22, and the four macroblocks C-MB, L-MB, A-MB, LA as in the case of the overlap smoothing processing. -Data belonging to MB is required. The deblocking filter processing in the VC-1 standard is applied only to an 8 × 8 block boundary for I pictures and B pictures (bidirectional predictive coded images), and up to a 4 × 4 block boundary for P pictures. It is. This deblocking filter process changes only two pixels from the boundary by an 8-tap filter process, and the process is performed in the order of the horizontal edge and the vertical edge. The same calculation is also performed on the Y (luminance) / C (chroma) signal data. Note that the range Xdb shown in FIG. 22 indicates a region where the deblocking filter processing is completed in consideration of field encoding and frame encoding.

上述したように4つのマクロブロックC−MB,L−MB,A−MB,LA−MBに属するデータを用いてフィルタ処理を行う場合、ビットストリーム構造解析モジュール11の構造解析(Parsing)処理の仕方にもよるが、前段のモジュールから送られてくるデータの他に、処理に必要なデータを制御部23により外部メモリ等から読み出すことが一般に行われている。外部メモリには例えばSDRAMが用いられ、制御部23は、アービター経由/SDRAM制御回路を経由してSDRAMをアクセスする。   As described above, when the filtering process is performed using the data belonging to the four macro blocks C-MB, L-MB, A-MB, and LA-MB, the structure analysis (Parsing) method of the bitstream structure analysis module 11 is performed. However, in addition to the data sent from the previous module, data necessary for processing is generally read out from an external memory or the like by the control unit 23. For example, SDRAM is used as the external memory, and the control unit 23 accesses the SDRAM via the arbiter / SDRAM control circuit.

ここで、現在のマクロブロックC−MBに対する直前のマクロブロックL−MBに関しては、内部キャッシュを利用することで解決することもできるが、上部マクロブロックA−MBに関しては、デコードされるべきピクチャの横方向のマクロブロックの数がピクチャが構成される画素数によって任意に変化するため、システム内部にそのデータを保持しようとすれば、任意に可変する画素数に対して、格納領域としては規格の示す最大量で用意しなければならず、リソースの無駄にもなってしまう。このため、オーバーラップスムージングフィルタ15やデブロッキングフィルタ17の各モジュールにてフィルタ処理した後のデータは、制御部23により外部メモリに格納し、後段処理に必要なデータは、任意のタイミングで外部メモリから再度、読み出すことによって取り揃える構成となるのが一般的である。   Here, the macroblock L-MB immediately before the current macroblock C-MB can be solved by using the internal cache, but the upper macroblock A-MB is the picture of the picture to be decoded. Since the number of macroblocks in the horizontal direction changes arbitrarily depending on the number of pixels that make up the picture, if the data is to be retained inside the system, the storage area is standard for the arbitrarily variable number of pixels. It must be prepared with the maximum amount shown, which also wastes resources. For this reason, the data after filtering by the modules of the overlap smoothing filter 15 and the deblocking filter 17 is stored in the external memory by the control unit 23, and the data necessary for the subsequent processing is stored in the external memory at an arbitrary timing. In general, it is a configuration to collect by reading again.

図19の例では、逆量子化/逆DCT(IQ/IDCT)モジュール13がイントラ/インターの両符号化データを扱うため、その前段に当たるAC/DC予測モジュール12もインター符号化データを扱う構成になっている。例えば、図19において逆DCT処理が終了した符号化データはオーバーラップスムージングフィルタ15の手前でイントラ符号化データとインター符号化データかによって経路が選択され、イントラ符号化データはオーバーラップスムージングフィルタ15に送られる。   In the example of FIG. 19, since the inverse quantization / inverse DCT (IQ / IDCT) module 13 handles both intra / inter coded data, the AC / DC prediction module 12 corresponding to the preceding stage also handles inter coded data. It has become. For example, in FIG. 19, the encoded data for which the inverse DCT processing has been completed is selected before the overlap smoothing filter 15 depending on whether it is intra encoded data or inter encoded data, and the intra encoded data is sent to the overlap smoothing filter 15. Sent.

オーバーラップスムージングフィルタ15の処理を行うタイミングにおいて、図19の経路R1に示すように、上部マクロブロックA−MBとその直前のマクロブロックLA−MBのデータの中で必要とされるデータが外部メモリからオーバーラップスムージングフィルタ15に取り込まれる。このオーバーラップスムージング処理が完了される画素データは、図23の(A)中の枠Xosで囲まれた範囲のものとなる。また、オーバーラップスムージングフィルタ15にてフィルタ処理されたデータの全ては、図23の(B)中の枠Xosに相当する部分となる。このフィルタ処理された全データ、または現在のマクロブロックC−MB以外のマクロブロックに属する画素データは、フィルタ処理されたデータとして図19の経路W2で制御部23により再び外部メモリに格納される。   At the timing when the overlap smoothing filter 15 is processed, as shown in the path R1 of FIG. 19, the data required for the data of the upper macroblock A-MB and the macroblock LA-MB immediately before it is stored in the external memory. To the overlap smoothing filter 15. The pixel data for which the overlap smoothing process is completed is in a range surrounded by a frame Xos in FIG. Further, all of the data filtered by the overlap smoothing filter 15 is a portion corresponding to the frame Xos in FIG. All the filtered data or the pixel data belonging to a macroblock other than the current macroblock C-MB is stored again in the external memory by the control unit 23 through the path W2 in FIG. 19 as filtered data.

ここで図22に示すように、現在のマクロブロックC−MBに対して、復号後の再構成されたピクチャにおいて下部に位置するマクロブロック(Below MB)B−MBが現在のマクロブロックC−MBとなった時に利用するための中間結果としてのデータも、図19のW2の経路で外部メモリに格納される。これは図23の(B)中の枠KXの部分の画素データに相当する。   Here, as shown in FIG. 22, with respect to the current macroblock C-MB, the macroblock (Below MB) B-MB located at the bottom in the reconstructed picture after decoding is the current macroblock C-MB. Data as an intermediate result to be used at this time is also stored in the external memory through the path W2 in FIG. This corresponds to the pixel data of the portion of the frame KX in FIG.

以上の処理の後にオーバーラップスムージングフィルタ15での処理後の現在のマクロブロックC−MBに属するデータや、オーバーラップスムージングフィルタ15でフィルタ処理された直前のマクロブロックL−MBに属していたデータは、動き補償などの他の経路で処理されたインター符号化データと加算され、デブロッキングフィルタ17に送られる。   The data belonging to the current macroblock C-MB after the processing by the overlap smoothing filter 15 after the above processing or the data belonging to the macroblock L-MB immediately before being filtered by the overlap smoothing filter 15 is as follows. The inter-coded data processed by another path such as motion compensation is added and sent to the deblocking filter 17.

以上は、輝度(Y)信号のデータについて説明したものであるが、カラー画像の場合のクロマ信号Cb,Crのマクロブロックについても同様にオーバーラップスムージング処理が行われ、このオーバーラップスムージング処理される範囲は、図24に示すように、枠Xbos、Xrosで囲まれた範囲となる。   The above is the description of the data of the luminance (Y) signal, but the overlap smoothing process is similarly performed on the macroblocks of the chroma signals Cb and Cr in the case of a color image, and this overlap smoothing process is performed. As shown in FIG. 24, the range is a range surrounded by frames Xbos and Xros.

なお、本明細書においては、主として輝度(Y)信号のデータのフィルタ処理について説明し、クロマ(Cb,Cr)信号のデータについては説明を省略している。   In this specification, the filtering process of luminance (Y) signal data is mainly described, and the description of chroma (Cb, Cr) signal data is omitted.

次のデブロッキングフィルタ17でのデブロッキング処理では、現在のマクロブロックC−MBに対してオーバーラップスムージングフィルタ15と同様に図19のR3に示すような経路で、必要とされる直前のマクロブロックL−MBと上部マクロブロックA−MBとその直前のマクロブロックLA−MBの4つのマクロブロックに所属するデータがデブロッキングフィルタ17に取り込まれる。そして最後に図19のW4の経路によって復号画像(Decode Picture)が外部メモリに格納される構成となる。もちろん、L−MBのデータは、加算器16を介してデブロッキングフィルタ32の内部キャッシュに取り込む事も可能である。   In the next deblocking process in the deblocking filter 17, the macroblock immediately before the current macroblock C-MB is required for the current macroblock C-MB in the same route as indicated by R 3 in FIG. 19 as in the overlap smoothing filter 15. Data belonging to four macroblocks of the L-MB, the upper macroblock A-MB, and the macroblock LA-MB immediately before the L-MB is taken into the deblocking filter 17. Finally, the decoded picture (Decode Picture) is stored in the external memory through the path W4 in FIG. Of course, the L-MB data can also be taken into the internal cache of the deblocking filter 32 via the adder 16.

従来技術として、非特許文献1には、上記VC−1動画像圧縮符号化方式の規格が開示されている。   As a prior art, Non-Patent Document 1 discloses a standard for the VC-1 moving image compression encoding method.

SMPTE 421M 規格書、 SMPTE Draft Standard for Television, SMPTE(米国映画テレビジョン技術者協会)、2005年8月23日SMPTE 421M Standard, SMPTE Draft Standard for Television, SMPTE (American Film and Television Engineers Association), August 23, 2005

上述したようにオーバーラップスムージング処理とデブロッキングフィルタ処理には相違点がある。オーバーラップスムージング処理は、Iピクチャ(フレーム内符号化画像)及びPピクチャ(前方予測符号化画像)に対し、図25に示すように8×8ブロックの境界を挟む4画素を用いて、境界の2画素に対して行われ、垂直エッジの処理終了後、水平エッジを処理するように規定されている。   As described above, there is a difference between the overlap smoothing process and the deblocking filter process. The overlap smoothing process uses four pixels sandwiching an 8 × 8 block boundary for an I picture (intra-frame encoded image) and a P picture (forward prediction encoded image) as shown in FIG. It is performed for two pixels, and it is specified that the horizontal edge is processed after the vertical edge processing is completed.

一方、デブロッキングフィルタ処理は、Iピクチャ、Pピクチャ及びBピクチャ(双方向予測符号化画像)に対して行われる。Iピクチャ及びBピクチャの場合、8×8ブロックの境界が処理され、Pピクチャの場合、図26に示すように、予測誤差があるか否かによって、8×8、8×4、4×8、4×4ブロックの境界が処理される。この図26において、斜線領域のブロック(サブブロック)は、予測誤差があるブロックであり、空白領域のブロック(サブブロック)は、予測誤差がないブロックである。また、太い線は、デブロッキングフィルタ処理が行われる境界であり、細い線は、デブロッキングフィルタ処理が行われない境界である。また、図26において、各ブロックの動きベクトルは等しい。なお、動きベクトルが違うときは常にデブロッキングフィルタ処理が行われる。また、図26は、ブロックが水平方向に並んだ場合のものであるが、垂直方向に並んだ場合も同様である。   On the other hand, the deblocking filter process is performed on an I picture, a P picture, and a B picture (bidirectional predictive coded image). In the case of an I picture and a B picture, an 8 × 8 block boundary is processed, and in the case of a P picture, as shown in FIG. 26, 8 × 8, 8 × 4, 4 × 8 depending on whether there is a prediction error. 4x4 block boundaries are processed. In FIG. 26, the block (sub-block) in the hatched area is a block having a prediction error, and the block (sub-block) in the blank area is a block having no prediction error. A thick line is a boundary where the deblocking filter process is performed, and a thin line is a boundary where the deblocking filter process is not performed. In FIG. 26, the motion vectors of the respective blocks are equal. Note that deblocking filter processing is always performed when the motion vectors are different. FIG. 26 shows the case where the blocks are arranged in the horizontal direction, but the same applies to the case where the blocks are arranged in the vertical direction.

デブロッキングフィルタ処理は、境界の両側のブロックデータが両方ともインター符号化データで、両方の動きベクトルが等しく、且つ、両方とも予測誤差を持っていない場合以外の境界に対し、図27に示すように、8タップフィルタを用いて、境界の2画素を変化させる。また、このデブロッキングフィルタ処理は、水平エッジの処理終了後、垂直エッジを処理するように規定されている。   As shown in FIG. 27, the deblocking filter processing is performed on the boundary except when both block data on both sides of the boundary are inter-coded data, both motion vectors are equal, and both have no prediction error. In addition, two pixels at the boundary are changed using an 8-tap filter. In addition, this deblocking filter process is defined to process a vertical edge after a horizontal edge process is completed.

つまり、オーバーラップスムージング処理において垂直エッジ処理に必要とされる部分は、4タップのフィルタで処理される図25のaのような並びのデータとなり、水平エッジ処理に必要とされる部分は、図25のbのような並びのデータとなる。一方、デブロッキングフィルタ処理において水平エッジ処理に必要とされる部分は、8タップのフィルタで処理される図27のcのような並びのデータとなり、垂直エッジ処理に必要とされる部分は、図25のdのような並びのデータとなる。   That is, in the overlap smoothing process, the part required for the vertical edge process becomes data arranged as shown in FIG. 25a processed by the 4-tap filter, and the part required for the horizontal edge process is shown in FIG. The data is arranged like 25 b. On the other hand, the portion required for the horizontal edge processing in the deblocking filter processing is data arranged as shown in FIG. 27c processed by the 8-tap filter, and the portion required for the vertical edge processing is shown in FIG. The data is arranged like 25 d.

このようにオーバーラップスムージング処理及びデブロッキングフィルタ処理では、処理対象が共通した画素を含んでいるため、オーバーラップスムージング処理とデブロッキングフィルタ処理との間で効率的にデータを渡すことが望まれている。   As described above, in the overlap smoothing process and the deblocking filter process, it is desirable to efficiently pass data between the overlap smoothing process and the deblocking filter process because the processing target includes a common pixel. Yes.

ところが、オーバーラップスムージング処理では、図25のa,bに示すように、処理される画素が4画素単位であるのに対し、デブロッキングフィルタ処理では、8画素単位であり、メモリに記録する単位が異なっている。また、デブロッキングフィルタ処理では、図26に示すようなサブブロックが存在し、また、インターレース符号化されたデータがフレーム符号化したものなのか、フィールド符号化したものなのかによって、処理に必要とされる画素範囲や処理するエッジが変化してしまう。   However, in the overlap smoothing process, as shown in FIGS. 25A and 25B, the pixel to be processed is in units of 4 pixels, whereas in the deblocking filter process, it is in units of 8 pixels and is a unit recorded in the memory. Is different. In the deblocking filter processing, there are sub-blocks as shown in FIG. 26, and the processing is necessary depending on whether the interlace-coded data is frame-coded or field-coded. The pixel range to be processed and the edge to be processed will change.

このため、従来の一般的な構成のVC−1デコーダでは、オーバーラップスムージング処理されたデータを一時記憶する一時記憶エリアと、デブロッキングフィルタモジュールが利用しやすいようにデータの格納方法を変更する機能と、このデータの格納方法を変更するための一時記憶エリアとが必要となり、一時記憶エリアの増大が問題となっていた。また、一時記憶エリアを外部メモリとした場合、外部メモリとのアクセスのためのメモリバンド幅の消費量が増大するなどの問題が発生していた。   For this reason, in a conventional VC-1 decoder having a general configuration, a temporary storage area for temporarily storing overlap smoothed data and a function for changing the data storage method so that the deblocking filter module can be used easily In addition, a temporary storage area for changing the data storage method is required, and an increase in the temporary storage area has been a problem. Further, when the temporary storage area is an external memory, there has been a problem that the amount of memory bandwidth consumed for accessing the external memory increases.

具体的には、オーバーラップスムージング処理されたデータを一時記憶するメモリエリアと、デブロッキングフィルタモジュールが水平エッジ処理に必要な画素を読み出すメモリとを共有した際、例えば、オーバーラップスムージング処理において水平エッジ処理された図25のbのような縦4画素の並びの画素データを処理単位として格納すると、デブロッキングフィルタモジュールモジュールでは、図27のcに示す上位部の2画素と下位部の2画素の読み出しのために、さらにメモリに最低2回アクセスしなくてはならず、トータルで3回以上の読み出しが必要となってしまう。また、前提とした縦4画素の並びを1つの格納単位とした場合、デブロッキングフィルタ処理の垂直エッジの際には、トータルで8回もの読み出しが必要となるため、オーバーラップスムージング処理において垂直エッジを処理した横並びの処理の結果を、縦並びに揃えるための手段が必要となっていた。   Specifically, when the memory area for temporarily storing the data subjected to the overlap smoothing process and the memory for the deblocking filter module to read out pixels necessary for the horizontal edge process are shared, for example, the horizontal edge in the overlap smoothing process When the processed pixel data of the vertical 4-pixel arrangement as shown in FIG. 25b is stored as a processing unit, the deblocking filter module module uses the upper two pixels and the lower two pixels shown in FIG. In order to read data, the memory must be accessed at least twice, and a total of three or more data reads are required. In addition, when the assumed vertical 4-pixel arrangement is used as one storage unit, in the case of the vertical edge of the deblocking filter processing, a total of 8 readings are required. Therefore, the vertical edge is used in the overlap smoothing processing. Therefore, a means for aligning the results of the side-by-side processing obtained by processing vertically is necessary.

本発明は、このような従来の実情に鑑みて提案されたものであり、前段のモジュールと後段のモジュールとの間で効率的にデータを渡すことができる映像信号処理装置及び方法、並びに映像信号復号装置を提供することを目的とする。   The present invention has been proposed in view of such a conventional situation, and a video signal processing apparatus and method capable of efficiently passing data between a front-stage module and a rear-stage module, and a video signal An object is to provide a decoding device.

上述の課題を解決するために、本発明は、映像信号がブロック単位で符号化されて得られた符号化データを復号する際のブロック境界円滑化処理を行う映像信号処理装置において、復号処理中のデータに対して第1のブロック境界円滑化処理を行う第1のフィルタと、上記第1のフィルタに連続して配置され上記第1のブロック境界円滑化処理されたデータを含むデータに対して第2のブロック境界円滑化処理を行う第2のフィルタと、所定画素単位のデータを並列して書き込み/読み出しを行う所定数のメモリとを有し、上記第1のブロック境界円滑化処理されたデータを含むブロック境界に対して直交する方向に連続する上記所定画素単位のデータがそれぞれ異なるメモリに書き込まれるようにメモリを指定することを特徴とする。   In order to solve the above-described problems, the present invention provides a video signal processing apparatus that performs block boundary smoothing processing when decoding encoded data obtained by encoding a video signal in units of blocks. A first filter that performs a first block boundary smoothing process on the data and a data that includes the data that is arranged in succession to the first filter and that has been subjected to the first block boundary smoothing process A second filter that performs the second block boundary smoothing process; and a predetermined number of memories that perform writing / reading of data in predetermined pixel units in parallel, and the first block boundary smoothing process is performed The memory is specified so that the data of the predetermined pixel unit that is continuous in a direction orthogonal to the block boundary including the data is written in different memories.

また、本発明は、映像信号がブロック単位で符号化されて得られた符号化データを復号する際のブロック境界円滑化処理を行う映像信号処理方法において、復号処理中のデータに対して第1のブロック境界円滑化処理を行う第1のフィルタ処理工程と、上記第1のフィルタ処理工程に連続して処理を行い上記第1のブロック境界円滑化処理されたデータを含むデータに対して第2のブロック境界円滑化処理を行う第2のフィルタ処理工程とを有し、上記第1のフィルタ処理工程では、上記第1のブロック境界円滑化処理されたデータを含むブロック境界に対して直交する方向に連続する上記所定画素単位のデータを所定数のメモリにそれぞれ並列書き込みし、上記第1のフィルタ処理工程では、上記第2のブロック境界円滑化処理するデータを、上記所定数のメモリから上記所定画素単位で並列読み出しすることを特徴とする。   The present invention also provides a video signal processing method for performing block boundary smoothing processing when decoding encoded data obtained by encoding a video signal in units of blocks, with respect to data being decoded first. A first filter processing step for performing block boundary smoothing processing, and a second processing for data including data that has been processed in succession to the first filter processing step and has been subjected to the first block boundary smoothing processing. A second filter processing step for performing the block boundary smoothing process, and in the first filter processing step, a direction orthogonal to the block boundary including the data subjected to the first block boundary smoothing process The data of the predetermined pixel unit continuous to the predetermined number of memories is written in parallel, and in the first filter processing step, the second block boundary smoothing process is performed. Characterized in that the parallel read out in a predetermined pixel unit from the predetermined number of the memory.

また、本発明は、映像信号がブロック単位で符号化されて得られた符号化データを逆量子化/逆DCT処理すると共に、動き補償を施して復号処理する映像信号復号装置において、上記逆量子化/逆DCT処理されたデータと、動き補償されたデータとの加算データが供給され、第1のブロック境界円滑化処理を行う第1のフィルタと、上記第1のフィルタに連続して配置され上記第1のブロック境界円滑化処理されたデータを含むデータに対して第2のブロック境界円滑化処理を行う第2のフィルタと、所定画素単位のデータを並列して書き込み/読み出しを行う所定数のメモリとを有し、上記第1のブロック境界円滑化処理されたデータを含むブロック境界に対して直交する方向に連続する上記所定画素単位のデータがそれぞれ異なるメモリに書き込まれるようにメモリを指定することを特徴とする。   In addition, the present invention provides a video signal decoding apparatus that performs inverse quantization / inverse DCT processing on encoded data obtained by encoding a video signal in units of blocks, and performs decoding processing by performing motion compensation. The first filter that performs the first block boundary smoothing process and is continuously arranged in the first filter is supplied with the addition data of the data subjected to the normalization / inverse DCT process and the motion compensated data A second filter that performs a second block boundary smoothing process on data including the data subjected to the first block boundary smoothing process, and a predetermined number for writing / reading data in predetermined pixel units in parallel Each of the predetermined pixel unit data that is continuous in a direction orthogonal to the block boundary including the data subjected to the first block boundary smoothing process. Characterized by designating the memory to be written to the directory.

本発明によれば、第1のブロック境界円滑化処理されたデータを含むブロック境界に対して直交する方向に連続する所定画素単位のデータがそれぞれ異なるメモリに書き込まれるようにメモリを指定するため、後段のブロック境界の円滑化処理の際、並び替えを必要とせずに効率的にデータを読み出すことができる。   According to the present invention, in order to designate a memory so that data of a predetermined pixel unit continuous in a direction orthogonal to a block boundary including data subjected to the first block boundary smoothing process is written to different memories, In the subsequent block boundary smoothing process, data can be efficiently read without requiring rearrangement.

以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。   Hereinafter, specific embodiments to which the present invention is applied will be described in detail with reference to the drawings.

図1は、本発明の実施の形態の一例の構成を概略的に示すブロック図である。SMTPE 421M(いわゆるVC−1)の規格に基づいてエンコードされたビットストリーム(Bit Stream)信号は、図1に示すようなデコーダシステムに入力され、ビットストリーム構造解析(Parsing)モジュール11により構造解析され、そのデータの符号化手法により、イントラ(Intra)符号化データとインター(Inter)符号化データとに分類される。イントラ符号化データ及びインター符号化データは、復号画像(Decode Picture)を生成する時のデータの再構成処理が異なる。ビットストリーム構造解析モジュール11からは動きベクトル(Motion Vector)も出力される。   FIG. 1 is a block diagram schematically showing a configuration of an example of an embodiment of the present invention. A bit stream signal (Bit Stream) signal encoded based on the SMTPE 421M (so-called VC-1) standard is input to a decoder system as shown in FIG. 1 and is analyzed by a bit stream structure analysis (Parsing) module 11. Depending on the data encoding method, the data is classified into intra-coded data and inter-coded data. Intra-coded data and inter-coded data differ in data reconstruction processing when generating a decoded picture (Decode Picture). The bit stream structure analysis module 11 also outputs a motion vector.

ビットストリーム構造解析モジュール11からのイントラ符号化データ及びインター符号化データは、AC/DC予測(Prediction)モジュール12を介して、逆量子化/逆DCT(IQ/IDCT)モジュール13に送られ、逆量子化及び逆DCTが施される。ビットストリーム構造解析モジュール11からの動きベクトルは、動きベクトル予測モジュール21を介して動き補償モジュール22に送られ、動き補償モジュール22では、制御部23により外部メモリから読み出された復号データを用いて動き補償が施される。   Intra-coded data and inter-coded data from the bitstream structure analysis module 11 are sent to an inverse quantization / inverse DCT (IQ / IDCT) module 13 via an AC / DC prediction (Prediction) module 12, and inversely processed. Quantization and inverse DCT are performed. The motion vector from the bitstream structure analysis module 11 is sent to the motion compensation module 22 via the motion vector prediction module 21, and the motion compensation module 22 uses the decoded data read from the external memory by the control unit 23. Motion compensation is applied.

ここで、イントラ符号化データは、オーバーラップスムージングフィルタ処理以降ではデータ処理を施されないことから、デブロッキングフィルタ処理の直前までにインター符号化データと加算されれば、デブロッキングフィルタ処理に違いは生じない。この点を考慮し、図1に示すように、オーバーラップスムージングフィルタ31の直前に加算器25を設けて、逆量子化/逆DCTモジュール13からのイントラ符号化データとインター符号化データの混在したデータに、動き補償モジュール22からのインター符号化データを加算するようにしている。   Here, since intra-encoded data is not subjected to data processing after the overlap smoothing filter process, if the inter-encoded data is added immediately before the deblocking filter process, a difference occurs in the deblocking filter process. Absent. In consideration of this point, as shown in FIG. 1, an adder 25 is provided immediately before the overlap smoothing filter 31 to mix the intra coded data and inter coded data from the inverse quantization / inverse DCT module 13. The inter-coded data from the motion compensation module 22 is added to the data.

加算器25からの加算データは、オーバーラップスムージングフィルタ31及びデブロッキングフィルタ32を一体化したフィルタ処理部30に送られる。このフィルタ処理部30内では、イントラ符号化データとインター符号化データとを選別し、それぞれの符号化データに対して必要とされる処理を行う仕組みにすることにより、オーバーラップスムージングフィルタ31とデブロッキングフィルタ32とを連続して配置することを可能としている。一体化したことで、2つのフィルタ31,32間で処理する時に必要な復号画像(Decode Picture)の重複画素エリア(後述する図2の範囲MX)を、図1に示すような内部記憶保持領域(例えばSRAM等のキャッシュ)のメモリ33として内部モジュールに格納することで、イントラ符号化データを処理する場合において、外部メモリへのアクセス頻度、データ転送量を削減することが可能なシステムを構成している。   The added data from the adder 25 is sent to the filter processing unit 30 in which the overlap smoothing filter 31 and the deblocking filter 32 are integrated. In this filter processing unit 30, the intra smoothed filter 31 and the decoded data are selected and the required smoothing filter 31 and the decoded data are processed by performing a necessary process on the respective coded data. The blocking filter 32 can be continuously arranged. As a result of the integration, an overlapping pixel area (a range MX in FIG. 2 to be described later) of a decoded picture (Decode Picture) necessary for processing between the two filters 31 and 32 is stored in an internal storage holding area as shown in FIG. By storing it in the internal module as the memory 33 (for example, a cache such as SRAM), it is possible to configure a system capable of reducing the frequency of access to the external memory and the amount of data transfer when processing intra-coded data. ing.

オーバーラップスムージングフィルタ31及びデブロッキングフィルタ32を一体化したフィルタ処理部30は、最初に処理されるべきデータをイントラ符号化データとインター符号化データに選別する手段を有し、オーバーラップスムージングフィルタ処理に必要な一時的なデータを格納する手段及び上記図22の上部マクロブロック(Above MB)A−MBのデータを一時的に格納する手段であるSRAM等のメモリ34と、デブロッキングフィルタ処理に必要な一時的なデータを格納する手段であるSRAM等のメモリ35及び上部マクロブロックA−MBのデータを一時的に格納する手段であるSRAM等のメモリ36と、2つのフィルタ処理に共通のデータを格納する手段である上記メモリ33とを有している。   The filter processing unit 30 in which the overlap smoothing filter 31 and the deblocking filter 32 are integrated has means for selecting data to be processed first into intra-coded data and inter-coded data, and overlap smoothing filter processing Required for deblocking filter processing, and a memory 34 such as SRAM, which is a means for storing temporary data necessary for the above and a means for temporarily storing data of the upper macro block (Above MB) A-MB in FIG. Memory 35 such as SRAM, which is a means for storing temporary data, and memory 36 such as SRAM, which is a means for temporarily storing data of the upper macroblock A-MB, and data common to the two filter processes. The memory 33 is a means for storing.

ここで、オーバーラップスムージングフィルタ処理及びデブロッキングフィルタ処理に必要とされる画素範囲について、図2を参照しながら説明する。この図2において、前記図22と共に説明したように、上記2つのフィルタ処理を行うために、現在送られてきているマクロブロック(Current MB)C−MBと、直前のマクロブロック(Left MB)L−MBと、現在のマクロブロックC−MBに対してピクチャが再構成された時に上部に位置する上部マクロブロック(Above MB)A−MBと、この上部マクロブロックA−MBの直前のマクロブロック(Left Above MB)LA−MB(ピクチャが再構成された時に上部マクロブロックA−MBの左に位置するマクロブロック)の、合計4つのマクロブロックC−MB,L−MB,A−MB,LA−MBに属するデータを必要とする。本発明の実施の形態となる図1のデコーダシステムのフィルタ処理部30の場合、上記オーバーラップスムージング処理に必要とされる範囲をMos、上記デブロッキングフィルタ処理に必要とされる範囲をMdbにて表しており、これらの2つのフィルタ処理で必要とされる各範囲の間では部分MXが重複している。この重複範囲MXのデータが、フィルタ処理部30内のメモリ33に格納される。   Here, the pixel range required for the overlap smoothing filter process and the deblocking filter process will be described with reference to FIG. In FIG. 2, as described with reference to FIG. 22, in order to perform the above two filter processes, the currently sent macroblock (Current MB) C-MB and the immediately preceding macroblock (Left MB) L -MB, the upper macroblock (Above MB) A-MB located at the top when the picture is reconstructed for the current macroblock C-MB, and the macroblock immediately before this upper macroblock A-MB ( Left Above MB) LA-MB (macroblock located to the left of the upper macroblock A-MB when the picture is reconstructed), a total of four macroblocks C-MB, L-MB, A-MB, LA- Requires data belonging to MB. In the case of the filter processing unit 30 of the decoder system of FIG. 1 according to the embodiment of the present invention, the range required for the overlap smoothing process is Mos, and the range required for the deblocking filter process is Mdb. The portion MX overlaps between each range required by these two filtering processes. Data of the overlapping range MX is stored in the memory 33 in the filter processing unit 30.

フィルタ処理部30に送られたデータは、最初にイントラ符号化データかインター符号化データで処理方法が選別される。イントラ符号化データの場合、オーバーラップスムージングフィルタ31にデータが送られ、現在送られてきているマクロブロック(Current MB)C−MBに属するデータ以外の処理に必要なデータが、図1のR1の経路で外部記憶装置(SDRAMなどのメモリ:外部メモリ)から読み込まれる。図1のR1の経路で外部メモリから読み込まれるデータは、現在のマクロブロックC−MBに対して、上部マクロブロックA−MBとその直前のマクロブロックLA−MBのデータである。また、直前のマクロブロックL−MBに属しているが、現在のマクロブロックC−MBがモジュールに送られてくる今回のタイミングで必要とされるデータは、直前のマクロブロックL−MBが現在マクロブロックとして処理される1つ前のタイミングで内部のメモリ34に格納(図1の経路W5)しておき、現在のタイミングで図1のR5の経路に示すように内部より読み出すような工夫を施すことができる。図1のR1とR5の経路で読み込まれたデータと、現在のデータ(現在のマクロブロックC−MB)とによってオーバーラップスムージングフィルタ処理されたデータの中で、次のオーバーラップ処理されるマクロブロックの処理に必要なデータは、図1のW5の経路でメモリ34に書き込まれる。また、前記図15に示すような再構成された画像(Picture)において、下部のマクロブロックB−MBが現在マクロブロックとなった時点で最終処理されるべき中間データは、図1のW2の経路によって外部メモリに書き込まれる。   The processing method of the data sent to the filter processing unit 30 is first selected based on intra-coded data or inter-coded data. In the case of intra-coded data, data is sent to the overlap smoothing filter 31, and data necessary for processing other than the data belonging to the currently transmitted macroblock (Current MB) C-MB is R1 in FIG. The path is read from an external storage device (memory such as SDRAM: external memory). The data read from the external memory through the path R1 in FIG. 1 is the data of the upper macroblock A-MB and the macroblock LA-MB immediately before the current macroblock C-MB. In addition, the data belonging to the immediately preceding macroblock L-MB but required at this timing when the current macroblock C-MB is sent to the module is that the previous macroblock L-MB is the current macro. It is stored in the internal memory 34 at the previous timing to be processed as a block (path W5 in FIG. 1), and is devised to read from the inside at the current timing as shown by the path R5 in FIG. be able to. The next macroblock to be overlapped among the data read by the route R1 and R5 in FIG. 1 and the data subjected to the overlap smoothing filter processing by the current data (current macroblock C-MB). Data necessary for the above process is written to the memory 34 through the path W5 in FIG. Further, in the reconstructed picture (Picture) as shown in FIG. 15, the intermediate data to be finally processed when the lower macroblock B-MB becomes the current macroblock is the path W2 in FIG. Is written to the external memory.

さらに、完全に処理が終了したデータは、図1のW6の経路に示すようにモジュール内部のデータ格納手段のメモリ33に書き込まれる。次に、オーバーラップスムージング処理されたデータは、デブロッキングフィルタ処理が行われるが、この時、2つのフィルタ処理で重複する部分のデータは、外部メモリではなく図1のR6の経路でメモリ33から読み出される。   Further, the completely processed data is written into the memory 33 of the data storage means inside the module as shown by the path W6 in FIG. Next, the deblocking filter process is performed on the data subjected to the overlap smoothing process. At this time, the overlapping data in the two filter processes is not transmitted from the memory 33 via the path R6 in FIG. Read out.

また、デブロッキングフィルタ処理に必要な画素データの中で直前のマクロブロックL−MBに属する画素のデータは、メモリ33に格納するデータ量を調整することで、図3に示すデータ格納構成で直前のマクロブロックL−MBと現在のマクロブロックC−MBのデータなどを連続して格納し、内部キャッシュのようにモジュール内に保持しておくことで、メモリ33から読み出すことが可能となる。図3は、実際のハードウェアシステムの都合上とオーバーラップスムージング処理後のデータを書き込むタイミングとデブロッキングフィルタ処理の時に読み出すタイミング上の制約から、メモリ33の格納サイズとして、マクロブロックサイズとして3つのマクロブロック分(MB−0,MB−1,MB−2)及びこれらの3つのマクロブロックの上部のオーバーラップスムージング処理される2ライン分を用意していることをMaの範囲として示している。また、オーバーラップスムージング処理とは重複しない部分の上部マクロブロックA−MBやその直前のマクロブロックLA−MBに属する復号画像の画素は、図1のR3の経路で外部メモリから読み込むことで用意される。デブロッキングフィルタ処理において処理の中間結果は、図1のメモリ35に一時的に格納される。そして、デブロッキングフィルタ処理が完了したデータは、図1のW4の外部メモリに向かう経路で、再構成された復号画像として外部メモリに書き出される。   Further, the pixel data belonging to the immediately preceding macroblock L-MB among the pixel data necessary for the deblocking filter processing is adjusted by adjusting the amount of data stored in the memory 33, so that the data storage configuration shown in FIG. By continuously storing the data of the macro block L-MB and the current macro block C-MB, etc. and holding them in the module like an internal cache, it becomes possible to read from the memory 33. FIG. 3 shows three macroblock sizes as the storage size of the memory 33 because of restrictions on the timing of writing the data after overlap smoothing processing and the timing of reading at the time of deblocking filter processing for the convenience of the actual hardware system. It is shown as a range of Ma that two macro lines (MB-0, MB-1, MB-2) and two lines to be subjected to the overlap smoothing process above these three macro blocks are prepared. Also, the decoded image pixels belonging to the upper macroblock A-MB and the macroblock LA-MB immediately before the upper macroblock A-MB that do not overlap with the overlap smoothing process are prepared by reading from the external memory via the path R3 in FIG. The In the deblocking filter process, an intermediate result of the process is temporarily stored in the memory 35 of FIG. Then, the data for which the deblocking filter process has been completed is written to the external memory as a reconstructed decoded image through a path toward the external memory W4 in FIG.

また、図3において、範囲Xosは、オーバーラップスムージング処理が完了する領域を、範囲Xdbは、デブロッキングフィルタ処理が完了する領域を示している。そして、3つのマクロブロック(MB−0,MB−1,MB−2)及びこれらの3つのマクロブロックの上部のオーバーラップスムージング処理される2ライン分を含む範囲Maのデータがメモリ33に内部保留され、マクロブロックMB−0,MB−1の上部のマクロブロック領域から上記内部保留される2ライン分を除いた範囲Mbのデータが、外部メモリから経路R3を介してメモリ36に読み込まれる。また、オーバーラップスムージング処理範囲Xos内の上部2ラインの範囲Mcのデータは、オーバーラップスムージング処理時に外部メモリから読み出される。   In FIG. 3, a range Xos indicates a region where the overlap smoothing process is completed, and a range Xdb indicates a region where the deblocking filter process is completed. The data of the range Ma including three macroblocks (MB-0, MB-1, MB-2) and two lines subjected to the overlap smoothing process above these three macroblocks are internally held in the memory 33. Then, the data in the range Mb obtained by removing the two internally reserved lines from the macroblock area above the macroblocks MB-0 and MB-1 is read from the external memory into the memory 36 via the path R3. Further, the data of the range Mc of the upper two lines within the overlap smoothing processing range Xos is read from the external memory during the overlap smoothing processing.

フィルタ処理部30の入力側の選別手段によって選別されたインター符号化データは、オーバーラップスムージング処理ブロックではデータの加工は行わずに、イントラ符号化データの時と同様なデータ範囲を図1のメモリ33に格納する。これによって後段のデブロッキングフィルタブロックではインターかイントラかの違いなく読み出す範囲を処理することが可能となる。以上のような作用から、2つのフィルタ処理ブロック間で共有できるデータ領域を外部メモリに書き出すことと読み込む場合の双方の場合において、外部メモリへのアクセス頻度とデータ量が改善されることが実現できる。同時にレイテンシ(処理のための待ち時間)の大きい外部メモリへのアクセスが削減されることで、このモジュールとしてのレイテンシの改善も実現できる。   The inter-encoded data selected by the input-side selecting means of the filter processing unit 30 is not processed in the overlap smoothing processing block, and the same data range as that of the intra-encoded data is set in the memory shown in FIG. 33. As a result, the subsequent deblocking filter block can process the reading range regardless of whether it is inter or intra. As described above, the frequency of access to the external memory and the amount of data can be improved in both cases of writing and reading the data area that can be shared between the two filter processing blocks to the external memory. . At the same time, by reducing the access to the external memory having a large latency (waiting time for processing), the latency of the module can be improved.

次に、本発明の実施の形態のメモリアクセスについて説明する。   Next, the memory access according to the embodiment of the present invention will be described.

図4は、メモリ33の構成例を示す図である。このメモリ33は、A〜Dの4つの独立したメモリから構成され、A〜Dのそれぞれのメモリに同時にデータの書き込み又は読み出しを行うことができる。   FIG. 4 is a diagram illustrating a configuration example of the memory 33. The memory 33 is composed of four independent memories A to D, and data can be written into or read from each of the memories A to D simultaneously.

また、図5は、メモリ33のバンクの構成例を示す図である。このメモリ33は、図3に示す範囲Maのデータ、つまり、18画素×48画素となる3つのMBサイズに水平2ライン分を持ったサイズで構成される。また、このメモリ33は、Bank0〜Bank2の3つのバンクから構成され、Bank0、Bank1、Bank2の順番でデータが書き込まれる。   FIG. 5 is a diagram illustrating a configuration example of a bank of the memory 33. The memory 33 is configured with data in the range Ma shown in FIG. 3, that is, a size having two horizontal lines in three MB sizes of 18 pixels × 48 pixels. The memory 33 includes three banks Bank0 to Bank2, and data is written in the order of Bank0, Bank1, and Bank2.

また、オーバーラップスムージングフィルタ31で処理されたデータをBank2に書き込んでいるMBタイミングで、Bank0,1のデータがデブロッキングフィルタ32に読み出される。この動作は、図5に示すように、メモリ33をリングバッファのように使用することにより、デブロッキングフィルタ処理のタイミングに関係なく、MB単位でオーバーラップスムージング処理後のデータを後段に渡すことができる。   In addition, the data of Bank 0 and 1 is read to the deblocking filter 32 at the MB timing at which the data processed by the overlap smoothing filter 31 is written to the Bank 2. In this operation, as shown in FIG. 5, by using the memory 33 like a ring buffer, the data after the overlap smoothing process can be passed to the subsequent stage in MB units regardless of the timing of the deblocking filter process. it can.

ここで、オーバーラップスムージング処理後の画素は、バンクをまたがって書き込まれ、例えば、Bank0の書き込み時には、図5に示すaの範囲のデータは、Bank2にa’として書き込まれる。   Here, the pixels after the overlap smoothing process are written across the banks. For example, when writing Bank0, the data in the range a shown in FIG. 5 is written as “a ′” in Bank2.

図6は、オーバーラップスムージング処理後のデータ格納方法を示す模式図である。このデータ格納方法は、水平方向の2画素を1つの単位(サブパック)として4つ構成(パック)する。つまり、オーバーラップスムージング処理で必要とされる画素と、デブロッキングフィルタ処理で必要とされる画素と、それらの間のずれ(オフセット)の画素との最大公約数である2画素分を1つの単位とし、また、デブロッキングフィルタ処理で必要とされる8画素を効率的に読み出すために4つのメモリで構成する。これにより、メモリ33への1度の書き込みタイミングによって、4分類されたサブパックを図4に示す独立したメモリA〜Dにそれぞれ格納することができる。   FIG. 6 is a schematic diagram illustrating a data storage method after the overlap smoothing process. In this data storage method, two pixels in the horizontal direction are configured (packed) as one unit (subpack). In other words, two pixels, which are the greatest common divisor of the pixels required for the overlap smoothing process, the pixels required for the deblocking filter process, and the offset (offset) pixels between them, are taken as one unit. In addition, in order to efficiently read out 8 pixels required for the deblocking filter processing, it is configured by four memories. As a result, the four subpacks can be stored in the independent memories A to D shown in FIG.

また、このデータ格納方法は、図6に示すように、垂直エッジ処理又は水平エッジ処理でメモリに記憶するためのパックの構成が異なる。つまり、横並びの2画素を1つのサブパックとした場合、8×8ブロックの上部2画素分及び下部2画素分は、図6のaに示すように縦4画素×横2画素でパックされ、8×8ブロックの上部2画素分及び下部2画素分以外の画素領域は、図6のbに示すように縦1画素×横8画素でパックされる。このように垂直エッジ処理又は水平エッジ処理でメモリに記憶するためのパックの構成を変えることにより、メモリ33へのアクセス頻度を減少させることができるとともに、後述のようにインターレースデコードする画像がインターレースの場合にも対応することができる。また、横2画素を1つの単位とした形で記録することにより、オーバーラップスムージング処理後の縦並び、横並びの相違に関係なく、マクロブロック内のデータを全て記録することができる。   In addition, as shown in FIG. 6, this data storage method differs in the configuration of the pack for storing in the memory by vertical edge processing or horizontal edge processing. That is, when two horizontally arranged pixels are used as one subpack, the upper 2 pixels and the lower 2 pixels of the 8 × 8 block are packed in 4 vertical pixels × 2 horizontal pixels as shown in FIG. Pixel regions other than the upper two pixels and the lower two pixels of the 8 × 8 block are packed as 1 vertical pixel × 8 horizontal pixels as shown in FIG. In this way, by changing the pack configuration for storing in the memory by vertical edge processing or horizontal edge processing, the frequency of access to the memory 33 can be reduced, and the image to be interlaced decoded will be interlaced as described later. It is possible to deal with cases. Further, by recording in the form of two horizontal pixels as one unit, all the data in the macroblock can be recorded regardless of the difference in vertical alignment and horizontal alignment after overlap smoothing processing.

図7は、オーバーラップスムージング処理後の垂直エッジにおける縦1画素×横8画素パックを示す模式図である。このパックは、4つのサブパックを横方向に並べたものであり、オーバーラップスムージング処理後のデータは、1つのサブパックが異なるブロックのものとなる。A〜Dの4つのメモリへのマッピングは、図7に示すように、B,C,D,Aの順番でパックして記憶し、次のラインは、A,B,C,Dの順番でパックして記憶する。   FIG. 7 is a schematic diagram showing a vertical 1 pixel × horizontal 8 pixel pack at a vertical edge after overlap smoothing processing. In this pack, four subpacks are arranged in the horizontal direction, and the data after the overlap smoothing process is a block in which one subpack is different. As shown in FIG. 7, the mapping of A to D in four memories is packed and stored in the order of B, C, D, and A, and the next line is in the order of A, B, C, and D. Pack and remember.

図8は、オーバーラップスムージング処理後の水平エッジにおける縦4画素×横2画素パックを示す模式図である。このパックは、4つのサブパックを縦方向に並べたものであり、オーバーラップスムージング処理後のデータは、2つのサブパックが異なるブロックのものとなる。A〜Dの4つのメモリへのマッピングは、図8に示すように、B,C,D,Aの順番でパックして記憶し、続いて、C,D,A,Bの順番でパックして記憶する。   FIG. 8 is a schematic diagram showing a pack of 4 vertical pixels × 2 horizontal pixels at the horizontal edge after the overlap smoothing process. In this pack, four subpacks are arranged in the vertical direction, and the data after the overlap smoothing process is a block in which the two subpacks are different. As shown in FIG. 8, the mapping of A to D in the four memories is packed and stored in the order of B, C, D, and A, and then packed in the order of C, D, A, and B. Remember.

また、図9に示すように、縦1画素×横8画素パックと縦4画素×横2画素パックのメモリへのマッピングの関係は、メモリAに格納されるサブパックaの真下のラインの左のサブパックbは、現在のメモリの次のメモリ、すなわち、メモリBを指定する。また、サブパックaと、2ライン下のサブパックcとは、異なるメモリを指定する。   Further, as shown in FIG. 9, the relationship of mapping of 1 vertical pixel × 8 horizontal pixel pack and 4 vertical pixel × 2 horizontal pixel pack to the memory is the left of the line immediately below the subpack a stored in the memory A Subpack b designates the memory next to the current memory, that is, the memory B. The subpack a and the subpack c two lines below specify different memories.

このようにメモリを指定することにより、オーバーラップスムージング処理されたデータを含むブロック境界に対して直交する方向に4つ連続するサブパックのデータがそれぞれ異なるメモリに書き込まれることになる。したがって、ブロック境界及びサブブロック境界のデブロッキングフィルタ処理に必要とされる画素を効率よく読み出すことができる。さらに、オーバーラップスムージング処理されたデータを含む処理方向に4つ連続するサブパックのデータを、異なるメモリにそれぞれ書き込むようにすることにより、メモリ33へのアクセス頻度を減少させることができるとともに、後述のようにデコードする画像がインターレースの場合にも対応することができる。   By specifying the memory in this way, four consecutive subpack data are written in different memories in a direction orthogonal to the block boundary including the data subjected to the overlap smoothing process. Therefore, it is possible to efficiently read out the pixels required for the deblocking filter processing at the block boundary and the subblock boundary. Furthermore, by writing the data of four consecutive subpacks in the processing direction including the data subjected to the overlap smoothing process to different memories, the frequency of access to the memory 33 can be reduced, and will be described later. Thus, it is possible to cope with the case where the image to be decoded is interlaced.

図10は、図2に示すオーバーラップスムージング処理に必要とされる範囲Mosの画素(Y成分)を示す模式図であり、図11は、空間的画素位置から見たメモリアドレスを示す模式図である。   FIG. 10 is a schematic diagram showing pixels (Y component) in the range Mos required for the overlap smoothing process shown in FIG. 2, and FIG. 11 is a schematic diagram showing memory addresses viewed from the spatial pixel position. is there.

オーバーラップスムージング処理後の変更画素である、例えば、図10に示す縦1画素×横8画素パック領域の画素(pY1_6, pY1_7, Y0_0, Y0_1, Y0_2, Y0_3, Y0_4, Y0_5)は、図11に示すパック(00)aのように、各サブパックに異なるメモリA〜Dが割り当てられる。また、図11のパック(00)aは、垂直エッジ処理に直前のマクロブロックの画素を用いたため、2つのバンクをまたいでいる。一方、例えば、図10に示す縦4画素×横2画素パック領域の画素(apY3_54, apY3_55, apY3_62, apY3_63, pY1_6, pY1_7, pY1_14, pY1_15)は、図11に示すパック(01)bのように、各サブパックに異なるメモリA〜Dが割り当てられる。   The changed pixels after the overlap smoothing process, for example, the pixels in the packed region of 1 vertical pixel × 8 horizontal pixels (pY1_6, pY1_7, Y0_0, Y0_1, Y0_2, Y0_3, Y0_4, Y0_5) shown in FIG. As shown in the pack (00) a shown, different memories A to D are allocated to each subpack. In addition, the pack (00) a in FIG. 11 uses the pixels of the immediately preceding macroblock for the vertical edge processing, and thus straddles two banks. On the other hand, for example, the pixels in the pack area (apY3_54, apY3_55, apY3_62, apY3_63, pY1_6, pY1_7, pY1_14, pY1_15) shown in FIG. Different memories A to D are allocated to each subpack.

すなわち、2画素単位をサブパックとして、各サブパックを異なるメモリに格納するとともに、デブロッキングフィルタ処理に必要とされる境界の4サブパックを、それぞれ異なるメモリに格納するようにする。これにより、図11に示すパックc1,c2のように、デブロッキングフィルタ処理に必要とされるブロック境界の画素データを2回の読み出しで得ることができる。また、図11に示すパックd1,d2のように、デブロッキングフィルタ処理に必要とされるサブブロック境界の画素データも2回の読み出しで得ることができる。   That is, each subpack is stored in a different memory, with 2 pixel units as subpacks, and the 4 subpacks at the boundary required for the deblocking filter processing are stored in different memories. As a result, like the packs c1 and c2 shown in FIG. 11, the pixel data of the block boundary required for the deblocking filter process can be obtained by reading twice. Further, as in the packs d1 and d2 shown in FIG. 11, the pixel data at the sub-block boundary required for the deblocking filter process can be obtained by reading twice.

また、画像をインターレースで再生する場合でも、Odd毎及びEven毎にエッジ処理が必要になる。図12は、再生画像がインターレースの場合の空間的画素位置から見たメモリアドレスを示す模式図である。この図12は、図10に示すマクロブロックの画素をOddとEvenとに分けたものであって、図11に示すメモリアドレスをOddとEvenとに並べ替えたものである。このように並べ替えることにより、再生画像がインターレースの場合でも、デブロッキングフィルタ処理に必要とされる画素データを2回の読み出しで得ることができる。例えば、図12に示すパックa1,a2のように、デブロッキングフィルタ処理に必要とされるブロック境界の画素データを2回の読み出し回数で得ることができる。また、図11に示すパックb1,b2のように、デブロッキングフィルタ処理に必要とされるサブブロック境界の画素データも2回の読み出しで得ることができる。   Even when an image is reproduced by interlace, edge processing is required for each odd and even. FIG. 12 is a schematic diagram showing memory addresses viewed from the spatial pixel position when the reproduced image is interlaced. In FIG. 12, the pixels of the macroblock shown in FIG. 10 are divided into Odd and Even, and the memory addresses shown in FIG. 11 are rearranged into Odd and Even. By rearranging in this way, even when the reproduced image is interlaced, the pixel data required for the deblocking filter process can be obtained by reading twice. For example, like the packs a1 and a2 shown in FIG. 12, the pixel data of the block boundary required for the deblocking filter process can be obtained by the number of times of reading twice. Further, as in the packs b1 and b2 shown in FIG. 11, pixel data at the sub-block boundary required for the deblocking filter process can be obtained by reading twice.

上記図10〜12を用いて説明したオーバーラップスムージング処理後のメモリマッピングは、輝度(Y)成分についてのものであったが、色差(Cb,Cr)成分についても同様に処理することができる。   Although the memory mapping after the overlap smoothing process described with reference to FIGS. 10 to 12 is for the luminance (Y) component, the color difference (Cb, Cr) component can be similarly processed.

図13は、オーバーラップスムージング処理に必要とされる範囲の画素(Cb成分)を示す模式図である。また、図14は、空間的画素位置から見たメモリアドレスを示す模式図である。オーバーラップスムージング処理後の変更画素は、Y成分と同様に2画素単位をサブパックとし、各サブパックを異なるメモリに格納するとともに、デブロッキングフィルタ処理に必要とされる境界の4サブパックを、それぞれ異なるメモリに格納するようにする。例えば、図13に示す縦1画素×横8画素パック領域の画素(pCb_22, pCb_23, Cb_16, Cb_17, Cb_18, Cb_19, Cb_20, Cb_21)は、図14に示すサブパックD36(バンク2),C36,B36,A36のように、各サブパックに異なるメモリA〜Dが割り当てられる。このように格納することにより、デブロッキングフィルタ処理に必要とされる水平エッジ境界の8画素のデータを、例えばa1,a2等の2回のメモリアクセスで読み出すことができる。   FIG. 13 is a schematic diagram showing pixels (Cb component) in a range required for the overlap smoothing process. FIG. 14 is a schematic diagram showing memory addresses viewed from the spatial pixel position. The changed pixels after the overlap smoothing processing are subpacked in units of 2 pixels as in the Y component, and each subpack is stored in a different memory, and 4 subpacks at the boundary required for the deblocking filter processing are stored. Store them in different memories. For example, the pixels (pCb_22, pCb_23, Cb_16, Cb_17, Cb_18, Cb_19, Cb_20, Cb_21) of the vertical 1 pixel × horizontal 8 pixel pack area shown in FIG. 13 are subpacks D36 (bank 2), C36, As in B36 and A36, different memories A to D are allocated to the respective subpacks. By storing in this way, the data of 8 pixels at the horizontal edge boundary required for the deblocking filter process can be read out by two memory accesses such as a1 and a2.

また、画像をインターレース再生する場合も、輝度(Y)成分と同様に扱うことで、効率的にメモリから画素データを読み出すことができる。すなわち、図15に示すように、図14に示すメモリアドレスをOddとEvenとに並べ替えることにより、デブロッキングフィルタ処理に必要とされる水平エッジ境界の画素データを、例えばa1,a2等の2回の読み出しで得ることができる。   Also, in the case of interlaced reproduction of an image, pixel data can be efficiently read from the memory by treating it in the same way as the luminance (Y) component. That is, as shown in FIG. 15, by rearranging the memory addresses shown in FIG. 14 into Odd and Even, the pixel data of the horizontal edge boundary required for the deblocking filter processing is changed to 2 such as a1 and a2, for example. It can be obtained by reading once.

また、Cr成分については、上述したCb成分と同様である。図16は、オーバーラップスムージング処理に必要とされる範囲の画素(Cr成分)を示す模式図であり、図17は、空間的画素位置から見たメモリアドレスを示す模式図である。オーバーラップスムージング処理後の変更画素は、Y成分と同様に2画素単位をサブパックとし、各サブパックを異なるメモリに格納するとともに、デブロッキングフィルタ処理に必要とされる境界の4サブパックを、それぞれ異なるメモリに格納するようにする。例えば、図17に示す縦1画素×横8画素パック領域の画素(pCr_22, pCr_23, Cr_16, Cr_17, Cr_18, Cr_19, Cr_20, Cr_21)は、図17に示すサブパックD44(バンク2),C44,B44,A44のように、各サブパックに異なるメモリA〜Dが割り当てられる。このように格納することにより、デブロッキングフィルタ処理に必要とされる水平エッジ境界の8画素のデータを、例えばa1,a2等の2回のメモリアクセスで読み出すことができる。   The Cr component is the same as the Cb component described above. FIG. 16 is a schematic diagram showing pixels (Cr components) in a range required for overlap smoothing processing, and FIG. 17 is a schematic diagram showing memory addresses viewed from the spatial pixel position. The changed pixels after the overlap smoothing processing are subpacked in units of 2 pixels as in the Y component, and each subpack is stored in a different memory, and 4 subpacks at the boundary required for the deblocking filter processing are stored. Store them in different memories. For example, pixels (pCr_22, pCr_23, Cr_16, Cr_17, Cr_18, Cr_19, Cr_20, Cr_21) in the pack area of 1 vertical pixel × 8 horizontal pixels shown in FIG. Different memories A to D are allocated to the respective subpacks as in B44 and A44. By storing in this way, the data of 8 pixels at the horizontal edge boundary required for the deblocking filter process can be read out by two memory accesses such as a1 and a2.

また、画像をインターレース再生する場合も、輝度(Y)成分と同様に扱うことで、効率的にメモリから画素データを読み出すことができる。すなわち、図18に示すように、図17に示すメモリアドレスをOddとEvenとに並べ替えることにより、デブロッキングフィルタ処理に必要とされる画素データを、例えばa1,a2等の2回の読み出しで得ることができる。   Also, in the case of interlaced reproduction of an image, pixel data can be efficiently read from the memory by treating it in the same way as the luminance (Y) component. That is, as shown in FIG. 18, by rearranging the memory addresses shown in FIG. 17 into Odd and Even, the pixel data required for the deblocking filter process can be read out twice, for example, a1 and a2. Obtainable.

以上説明したような本発明の実施の形態によれば、オーバーラップスムージングフィルタ31からデブロッキングフィルタ32にデータを渡す際、オーバーラップスムージングフィルタ処理されたデータを保持しておくメモリ33が、そのままデブロッキングフィルタ32の読み出し用メモリとして共用可能となるため、データの並び替えを行うためのメモリが不要となる。   According to the embodiment of the present invention as described above, when data is passed from the overlap smoothing filter 31 to the deblocking filter 32, the memory 33 that holds the data subjected to the overlap smoothing filter processing is used as it is. Since it can be shared as a reading memory of the blocking filter 32, a memory for rearranging data becomes unnecessary.

また、オーバーラップスムージングフィルタ処理後のデブロッキングフィルタ処理を考慮したメモリマッピング及びメモリ構成により、デブロッキングフィルタ処理の際の画素読み出しのレイテンシを少なくすることができる。つまり、負荷のかかる読み出しを軽減することができ、高速処理をすることができる。   Further, the memory mapping and the memory configuration in consideration of the deblocking filter processing after the overlap smoothing filter processing can reduce the pixel readout latency during the deblocking filter processing. That is, it is possible to reduce the load-reading and to perform high-speed processing.

また、特徴的なメモリマッピングによって、デブロッキングフィルタ処理の際、デコードされる画像がインターレースやプログレッシブのいずれにおいても、またサブマクロブロックが存在していたとしても、ピクチャータイプに依存せず、一定したレイテンシで画素を読み出すことができる。これにより一定した読み出しが可能となることから、システムの例外処理が減少し、安定したシステムとなる。   Also, due to the characteristic memory mapping, the image to be decoded is constant regardless of the picture type, regardless of whether the decoded image is interlaced or progressive, and even if there are sub macroblocks. Pixels can be read out with latency. As a result, constant reading is possible, and the system exception handling is reduced, resulting in a stable system.

なお、本発明は、上述した実施の形態のみに限定されるものではなく、例えば、サブパック単位を2画素×2画素としてもよい。また、本発明は、図19に示すような従来例の装置構成でも実現可能である。すなわち、オーバーラップスムージングフィルタ処理後のデータをデブロッキングフィルタ17に渡す一時記憶装置で本発明に係るメモリマッピングを行う。また、本発明は、例えばソフトウェアプログラムにより実現することも可能であり、この場合、映像信号を符号化する単位となるマクロブロック毎に符号化データを復号する際に、該マクロブロックを構成する複数のブロックのブロック境界円滑化処理を行わせ、復号処理中のデータを上記ブロック毎に読み込み、該ブロック単位で上記ブロック境界円滑化処理をコンピュータに逐次行わせる。この他、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。   The present invention is not limited to the above-described embodiment. For example, the subpack unit may be 2 pixels × 2 pixels. The present invention can also be realized with a conventional apparatus configuration as shown in FIG. That is, the memory mapping according to the present invention is performed by the temporary storage device that passes the data after the overlap smoothing filter processing to the deblocking filter 17. The present invention can also be realized by, for example, a software program. In this case, when decoding encoded data for each macroblock that is a unit for encoding a video signal, a plurality of the macroblocks are configured. The block boundary smoothing process is performed for each block, the data being decoded is read for each block, and the block boundary smoothing process is sequentially performed by the computer in units of the blocks. Of course, various modifications can be made without departing from the scope of the present invention.

本発明の実施の形態の一例の概略構成を示すブロック図である。It is a block diagram which shows schematic structure of an example of embodiment of this invention. 本発明の実施の形態におけるオーバーラップスムージングフィルタ処理及びデブロッキングフィルタ処理に必要とされる画素範囲を示す図である。It is a figure which shows the pixel range required for the overlap smoothing filter process and deblocking filter process in embodiment of this invention. オーバーラップスムージング処理される領域及びデブロッキングフィルタ処理される領域を示す図である。It is a figure which shows the area | region where an overlap smoothing process and a deblocking filter process are carried out. メモリの構成例を示す図である。It is a figure which shows the structural example of a memory. メモリのバンクの構成例を示す図である。It is a figure which shows the structural example of the bank of memory. オーバーラップスムージング処理後のデータ格納方法を説明するための模式図である。It is a schematic diagram for demonstrating the data storage method after an overlap smoothing process. オーバーラップスムージング処理後の垂直エッジにおける縦1画素×横8画素パックを示す模式図である。It is a schematic diagram which shows a vertical 1 pixel × horizontal 8 pixel pack at a vertical edge after overlap smoothing processing. オーバーラップスムージング処理後の水平エッジにおける縦4画素×横2画素パックを示す模式図である。It is a schematic diagram which shows the vertical 4 pixel x horizontal 2 pixel pack in the horizontal edge after an overlap smoothing process. 縦1画素×横8画素パックと縦4画素×横2画素パックのメモリへのマッピングの関係を示す模式図である。It is a schematic diagram which shows the relationship of the mapping to the memory of vertical 1 pixel x horizontal 8 pixel pack and vertical 4 pixel x horizontal 2 pixel pack. オーバーラップスムージング処理に必要とされる範囲の画素(Y成分)を示す模式図である。It is a schematic diagram which shows the pixel (Y component) of the range required for an overlap smoothing process. 空間的画素位置から見たメモリアドレスを示す模式図である。It is a schematic diagram which shows the memory address seen from the spatial pixel position. 再生画像がインターレースの場合の空間的画素位置から見たメモリアドレスを示す模式図である。It is a schematic diagram which shows the memory address seen from the spatial pixel position in case a reproduced image is interlaced. オーバーラップスムージング処理に必要とされる範囲の画素(Cb成分)を示す模式図である。It is a schematic diagram which shows the pixel (Cb component) of the range required for an overlap smoothing process. 空間的画素位置から見たメモリアドレスを示す模式図である。It is a schematic diagram which shows the memory address seen from the spatial pixel position. 画像をインターレース再生する場合の空間的画素位置から見たメモリアドレスを示す模式図である。It is a schematic diagram which shows the memory address seen from the spatial pixel position in the case of carrying out the interlace reproduction | regeneration of an image. オーバーラップスムージング処理に必要とされる範囲の画素(Cr成分)を示す模式図である。It is a schematic diagram which shows the pixel (Cr component) of the range required for an overlap smoothing process. 空間的画素位置から見たメモリアドレスを示す模式図である。It is a schematic diagram which shows the memory address seen from the spatial pixel position. 画像をインターレース再生する場合の空間的画素位置から見たメモリアドレスを示す模式図である。It is a schematic diagram which shows the memory address seen from the spatial pixel position in the case of carrying out the interlace reproduction | regeneration of an image. 従来の画像復号装置の概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the conventional image decoding apparatus. オーバーラップスムージング処理を説明するための図である。It is a figure for demonstrating an overlap smoothing process. 前段のモジュールからあるいは外部メモリから送られてくるデータの時系列を示す図である。It is a figure which shows the time series of the data sent from the module of the front | former stage, or external memory. デコードされた画像とオーバーラップスムージング処理及びデブロッキングフィルタ処理範囲と各マクロブロックとの関係を説明するための図である。It is a figure for demonstrating the relationship between the decoded image, the overlap smoothing process, the deblocking filter process range, and each macroblock. オーバーラップスムージング処理の前後のメモリ操作範囲とマクロブロックとの関係を示す図である。It is a figure which shows the relationship between the memory operation range before and behind an overlap smoothing process, and a macroblock. カラー画像の場合のクロマ信号Cb,Crのマクロブロックのオーバーラップスムージング処理される範囲を示す図である。It is a figure which shows the range in which the overlap smoothing process of the macroblock of the chroma signals Cb and Cr in the case of a color image is carried out. オーバーラップスムージング処理を説明するための模式図である。It is a schematic diagram for demonstrating an overlap smoothing process. デブロッキングフィルタ処理されるエッジ境界を示す模式図である。It is a schematic diagram which shows the edge boundary processed by a deblocking filter. デブロッキングフィルタ処理を説明するための模式図である。It is a schematic diagram for demonstrating a deblocking filter process.

符号の説明Explanation of symbols

11 ビットストリーム構造解析モジュール、 13 逆量子化/逆DCTモジュール、 31 オーバーラップスムージングフィルタ、 32 デブロッキングフィルタ、 22 動き補償モジュール、 23 制御部   11 bit stream structure analysis module, 13 inverse quantization / inverse DCT module, 31 overlap smoothing filter, 32 deblocking filter, 22 motion compensation module, 23 control unit

Claims (8)

映像信号がブロック単位で符号化されて得られた符号化データを復号する際のブロック境界円滑化処理を行う映像信号処理装置において、
復号処理中のデータに対して第1のブロック境界円滑化処理を行う第1のフィルタと、
上記第1のフィルタに連続して配置され上記第1のブロック境界円滑化処理されたデータを含むデータに対して第2のブロック境界円滑化処理を行う第2のフィルタと、
所定画素単位のデータを並列して書き込み/読み出しを行う所定数のメモリとを有し、
上記第1のブロック境界円滑化処理されたデータを含むブロック境界に対して直交する方向に連続する上記所定画素単位のデータがそれぞれ異なるメモリに書き込まれるようにメモリを指定することを特徴とする映像信号処理装置。
In a video signal processing apparatus that performs block boundary smoothing processing when decoding encoded data obtained by encoding a video signal in units of blocks,
A first filter that performs a first block boundary smoothing process on the data being decoded;
A second filter that performs a second block boundary smoothing process on data including data that is arranged in succession to the first filter and has been subjected to the first block boundary smoothing process;
A predetermined number of memories for writing / reading data in predetermined pixel units in parallel;
A video that designates a memory so that the data of the predetermined pixel unit that is continuous in a direction orthogonal to a block boundary including the data subjected to the first block boundary smoothing process is written in different memories. Signal processing device.
上記第1のブロック境界円滑化処理は、オーバーラップスムージング処理であり、上記第2のブロック境界円滑化処理は、デブロッキングフィルタ処理であることを特徴とする請求項1記載の映像信号処理装置。   2. The video signal processing apparatus according to claim 1, wherein the first block boundary smoothing process is an overlap smoothing process, and the second block boundary smoothing process is a deblocking filter process. 上記第1のブロック境界円滑化処理されたデータを含む処理方向に連続する上記所定画素単位のデータを、上記所定数のメモリにそれぞれ書き込むことを特徴とする請求項1記載の映像信号処理装置。   2. The video signal processing apparatus according to claim 1, wherein the predetermined pixel unit data including the data subjected to the first block boundary smoothing processing is written in the predetermined number of memories continuously in the processing direction. 上記符号化データは、SMTPE 421Mの規格に基づいてエンコードされたビットストリーム(Bit Stream)信号であることを特徴とする請求項1記載の映像信号処理装置。   2. The video signal processing apparatus according to claim 1, wherein the encoded data is a bit stream signal encoded based on a standard of SMTPE 421M. 映像信号がブロック単位で符号化されて得られた符号化データを復号する際のブロック境界円滑化処理を行う映像信号処理方法において、
復号処理中のデータに対して第1のブロック境界円滑化処理を行う第1のフィルタ処理工程と、
上記第1のフィルタ処理工程に連続して処理を行い上記第1のブロック境界円滑化処理されたデータを含むデータに対して第2のブロック境界円滑化処理を行う第2のフィルタ処理工程とを有し、
上記第1のフィルタ処理工程では、上記第1のブロック境界円滑化処理されたデータを含むブロック境界に対して直交する方向に連続する上記所定画素単位のデータを所定数のメモリにそれぞれ並列書き込みし、
上記第1のフィルタ処理工程では、上記第2のブロック境界円滑化処理するデータを、上記所定数のメモリから上記所定画素単位で並列読み出しすることを特徴とする映像信号処理方法。
In a video signal processing method for performing block boundary smoothing processing when decoding encoded data obtained by encoding a video signal in units of blocks,
A first filter processing step for performing a first block boundary smoothing process on the data being decoded;
A second filter processing step for performing a second block boundary smoothing process on the data including the data subjected to the first block boundary smoothing process by performing the processing continuously to the first filter processing step. Have
In the first filter processing step, the predetermined pixel unit data continuous in a direction orthogonal to the block boundary including the data subjected to the first block boundary smoothing process is respectively written in parallel to a predetermined number of memories. ,
In the first filter processing step, the data for the second block boundary smoothing process is read in parallel from the predetermined number of memories in units of the predetermined pixels.
上記第1のブロック境界円滑化処理は、オーバーラップスムージング処理であり、上記第2のブロック境界円滑化処理は、デブロッキングフィルタ処理であることを特徴とする請求項5記載の映像信号処理方法。   6. The video signal processing method according to claim 5, wherein the first block boundary smoothing process is an overlap smoothing process, and the second block boundary smoothing process is a deblocking filter process. 映像信号がブロック単位で符号化されて得られた符号化データを逆量子化/逆DCT処理すると共に、動き補償を施して復号処理する映像信号復号装置において、
上記逆量子化/逆DCT処理されたデータと、動き補償されたデータとの加算データが供給され、第1のブロック境界円滑化処理を行う第1のフィルタと、
上記第1のフィルタに連続して配置され上記第1のブロック境界円滑化処理されたデータを含むデータに対して第2のブロック境界円滑化処理を行う第2のフィルタと、
所定画素単位のデータを並列して書き込み/読み出しを行う所定数のメモリとを有し、
上記第1のブロック境界円滑化処理されたデータを含むブロック境界に対して直交する方向に連続する上記所定画素単位のデータがそれぞれ異なるメモリに書き込まれるようにメモリを指定することを特徴とする映像信号復号装置。
In a video signal decoding apparatus that performs inverse quantization / inverse DCT processing on encoded data obtained by encoding a video signal in units of blocks, and performs decoding processing with motion compensation.
A first filter that is supplied with the addition data of the dequantized / inverse DCT processed data and the motion compensated data, and performs a first block boundary smoothing process;
A second filter that performs a second block boundary smoothing process on data including data that is arranged in succession to the first filter and has been subjected to the first block boundary smoothing process;
A predetermined number of memories for writing / reading data in predetermined pixel units in parallel;
A video that designates a memory so that the data of the predetermined pixel unit that is continuous in a direction orthogonal to a block boundary including the data subjected to the first block boundary smoothing process is written in different memories. Signal decoding device.
上記第1のブロック境界円滑化処理は、オーバーラップスムージング処理であり、上記第2のブロック境界円滑化処理は、デブロッキングフィルタ処理であることを特徴とする請求項7記載の映像信号復号装置。   8. The video signal decoding apparatus according to claim 7, wherein the first block boundary smoothing process is an overlap smoothing process, and the second block boundary smoothing process is a deblocking filter process.
JP2006229612A 2006-08-25 2006-08-25 Video signal processing apparatus and method, and video signal decoding apparatus Expired - Fee Related JP4848892B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006229612A JP4848892B2 (en) 2006-08-25 2006-08-25 Video signal processing apparatus and method, and video signal decoding apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006229612A JP4848892B2 (en) 2006-08-25 2006-08-25 Video signal processing apparatus and method, and video signal decoding apparatus

Publications (2)

Publication Number Publication Date
JP2008054126A true JP2008054126A (en) 2008-03-06
JP4848892B2 JP4848892B2 (en) 2011-12-28

Family

ID=39237713

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006229612A Expired - Fee Related JP4848892B2 (en) 2006-08-25 2006-08-25 Video signal processing apparatus and method, and video signal decoding apparatus

Country Status (1)

Country Link
JP (1) JP4848892B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004180248A (en) * 2001-11-29 2004-06-24 Matsushita Electric Ind Co Ltd Coding distortion removal method, dynamic image encoding method, dynamic image decoding method, and apparatus and program for achieving the same
WO2006081097A1 (en) * 2005-01-25 2006-08-03 Advanced Micro Devices, Inc. Piecewise processing of overlap smoothing and in-loop deblocking
WO2006081098A1 (en) * 2005-01-25 2006-08-03 Advanced Micro Devices, Inc. Scratch pad for storing intermediate loop filter data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004180248A (en) * 2001-11-29 2004-06-24 Matsushita Electric Ind Co Ltd Coding distortion removal method, dynamic image encoding method, dynamic image decoding method, and apparatus and program for achieving the same
WO2006081097A1 (en) * 2005-01-25 2006-08-03 Advanced Micro Devices, Inc. Piecewise processing of overlap smoothing and in-loop deblocking
WO2006081098A1 (en) * 2005-01-25 2006-08-03 Advanced Micro Devices, Inc. Scratch pad for storing intermediate loop filter data

Also Published As

Publication number Publication date
JP4848892B2 (en) 2011-12-28

Similar Documents

Publication Publication Date Title
JP6090728B2 (en) Image decoding apparatus and image decoding method
KR100695141B1 (en) Memory access apparatus and method, data write/read apparatus and method for use in image processing system
US7630441B2 (en) Pipelining decoding apparatus and method, and computer-readable recording medium for storing computer program for controlling the pipelining decoding apparatus
US20060133504A1 (en) Deblocking filters for performing horizontal and vertical filtering of video data simultaneously and methods of operating the same
US8184689B2 (en) Method video encoding and decoding preserving cache localities
Cheng et al. An in-place architecture for the deblocking filter in H. 264/AVC
US8483279B2 (en) Moving image parallel processor having deblocking filters
JP2007180723A (en) Image processor and image processing method
JP4848892B2 (en) Video signal processing apparatus and method, and video signal decoding apparatus
JP2863096B2 (en) Image decoding device by parallel processing
TWI520618B (en) Video data process method and video process apparatus
JP4797853B2 (en) Video signal processing apparatus and method, and video signal decoding apparatus
JP2009130599A (en) Moving picture decoder
JP4830691B2 (en) Video signal processing method and apparatus, and video signal decoding method
JP5265984B2 (en) Image encoding apparatus and decoding apparatus
JP5206070B2 (en) Decoding device and decoding method
KR100556341B1 (en) Vedeo decoder system having reduced memory bandwidth
EP2073553A1 (en) Method and apparatus for performing de-blocking filtering of a video picture
Messaoudi et al. Memory requirements and simulation platform for the implementation of the H. 264 encoder modules
Chien et al. High efficiency data access system architecture for deblocking filter supporting multiple video coding standards
Lee et al. Analysis and integrated architecture design for overlap smooth and in-loop deblocking filter in VC-1
KR100763914B1 (en) Method and apparatus for recording of image data for access of a memory with high speed
KR101188453B1 (en) Apparatus and Method for memory access of video decoder
JP2012090031A (en) Decoder and decoding method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090610

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110705

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110829

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110920

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111003

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141028

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees