JP2005065239A - Decoding device of animation - Google Patents

Decoding device of animation Download PDF

Info

Publication number
JP2005065239A
JP2005065239A JP2004206336A JP2004206336A JP2005065239A JP 2005065239 A JP2005065239 A JP 2005065239A JP 2004206336 A JP2004206336 A JP 2004206336A JP 2004206336 A JP2004206336 A JP 2004206336A JP 2005065239 A JP2005065239 A JP 2005065239A
Authority
JP
Japan
Prior art keywords
pixel
image
output
unit
decoding
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.)
Pending
Application number
JP2004206336A
Other languages
Japanese (ja)
Inventor
Yoshiyuki Wada
由之 和田
康介 ▲よし▼岡
Kosuke Yoshioka
Hideshi Nishida
英志 西田
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004206336A priority Critical patent/JP2005065239A/en
Publication of JP2005065239A publication Critical patent/JP2005065239A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a decoding device for reducing a process load of a padding process. <P>SOLUTION: The decoding device comprises a padding unit for determining whether or not decoded data to be outputted includes boundary pixels when the decoded data is to be outputted to a frame memory, and for performing a padding process to an extended area by using the data of the boundary pixels when the boundary pixels are determined to be included. Thereby the process load in the pudding process can be reduced because the boundary pixels are to be outputted to the extended area and the boundary pixels are not needed to be reloaded from the frame memory when the boundary pixels are included in a macro block to be outputted with output of the pixels included in single decoded macro block. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、圧縮符号化されたディジタルビデオ信号を復号する技術に関する。   The present invention relates to a technique for decoding a compression-coded digital video signal.

NTSC(National Television System Committee)やPAL(Phase Alternation by Line)等の地上波アナログ放送方式や衛星放送方式のディジタル化、家庭内におけるAV機器のディジタル化などに伴い、動画像がディジタル信号化されたディジタル情報として伝送されている。一般的に動画像をディジタル情報に変換すると情報量が多くなるため、ディジタル情報をそのまま伝送することは、効率が悪い。そこで、ディジタル情報を効率良く伝送するための手段として、動画像圧縮技術が用いられている。動画像圧縮技術の代表的なものとして、MPEG(Moving Pictures Experts Group)方式がある。この方式は、ISO/IECにて、国際標準化された方式であり、広く用いられている。   With the digitalization of terrestrial analog broadcasting systems such as NTSC (National Television System Committee) and PAL (Phase Alternation by Line) and satellite broadcasting systems, and digitalization of AV equipment in the home, moving images have been converted into digital signals. It is transmitted as digital information. In general, when a moving image is converted into digital information, the amount of information increases. Therefore, it is inefficient to transmit digital information as it is. Therefore, a moving image compression technique is used as a means for efficiently transmitting digital information. As a representative moving image compression technique, there is an MPEG (Moving Pictures Experts Group) system. This method is an international standardized method in ISO / IEC and is widely used.

MPEG方式では、画面が持つ時間的な冗長度を削減するために画面間の相関を利用した動き補償符号化と、画面が持つ空間的な冗長度を削減するために画面内の相関を利用した離散余弦変換(Discrete Cosine Transform、以下、「DCT」という。)符号化とを行う。さらに、動き補償符号化された情報及びDCT符号化された情報に対して、可変長符号化を行うことにより情報量の圧縮を行っている。このような画像圧縮方式は、ハイブリッド符号化と呼ばれている。   In the MPEG method, motion compensation coding using correlation between screens to reduce temporal redundancy of screens and correlation within screens to reduce spatial redundancy of screens are used. Discrete cosine transform (hereinafter referred to as “DCT”) encoding is performed. Further, the amount of information is compressed by performing variable-length coding on the information subjected to motion compensation coding and the information subjected to DCT coding. Such an image compression method is called hybrid encoding.

ここで、動き補償符号化とは、符号化する画面を、異なる画面(以降、「参照フレーム」という。)から予測することによって情報量を圧縮する符号化であり、予測した値との差分と予測値の位置情報(以降、「動きベクトル」という。)を符号化するものである。この動き補償符号化は、動画像圧縮技術において、符号化効率を向上させる技術として広く普及している。   Here, the motion compensation encoding is an encoding for compressing the amount of information by predicting a screen to be encoded from a different screen (hereinafter referred to as “reference frame”), and a difference from the predicted value. The position information of the predicted value (hereinafter referred to as “motion vector”) is encoded. This motion compensation coding is widely used as a technique for improving coding efficiency in a moving picture compression technique.

なお、DCT符号化及び可変長符号化については、公知であるため、ここでは説明を省略する。
近年、動き補償符号化において、参照フレームの外を参照する方式が採用されている。この方式では、符号化対象のマクロブロックが、参照フレームの外を参照する場合、画素値が存在しない領域外の画素には、その画素に最も近い参照フレーム内の画素(以降、「境界画素」という。)の値をコピーするパディングという処理が行われている。このようにパディング処理が行われた参照データを用いて動き補償符号化を行うことにより、フレームの境界付近のマクロブロックが参照する参照データのパターンが増えるため、符号化効率を向上することが可能となる。
Note that DCT encoding and variable length encoding are well-known, and thus description thereof is omitted here.
In recent years, a method of referencing the outside of a reference frame has been adopted in motion compensation coding. In this method, when a macroblock to be encoded refers to outside the reference frame, a pixel outside the region where no pixel value exists is referred to as a pixel in the reference frame closest to the pixel (hereinafter referred to as “boundary pixel”). A process called padding is performed to copy the value of. By performing motion compensation coding using reference data that has been subjected to padding processing in this way, the number of reference data patterns that are referenced by macroblocks near the frame boundary increases, so that coding efficiency can be improved. It becomes.

ここで、参照データとは、動きベクトルの値により示されたマクロブロックのデータである。また、境界画素は、領域外の画素に最も近い参照フレーム内の画素であるため、参照フレームの枠の内縁に位置する画素となる。
また、動画像復号化においても、参照フレームの外を参照する方式が採用されている。この場合の動画像復号化装置及び動画像復号化方法が、特許文献1に開示されている。これによると、復号するマクロブロックのアクセスアドレスが、有効画像データの領域外であれば、有効画像データの領域を示すアドレスになるようアクセスアドレスを制御することにより、データを補うことで復号を行っている。
Here, the reference data is data of a macroblock indicated by a motion vector value. In addition, since the boundary pixel is a pixel in the reference frame that is closest to the pixel outside the region, the boundary pixel is a pixel located at the inner edge of the frame of the reference frame.
Also in moving picture decoding, a method of referring outside the reference frame is adopted. A moving picture decoding apparatus and a moving picture decoding method in this case are disclosed in Patent Document 1. According to this, if the access address of the macroblock to be decoded is outside the valid image data area, decoding is performed by supplementing the data by controlling the access address so that it becomes the address indicating the valid image data area. ing.

しかしながら、上記の動画像復号化方法では、以下のような問題がある。
動きベクトルが参照フレームの領域外を参照している場合には、動きベクトルの値を参照フレームの領域内となるように動きベクトルの値を変換し、参照データを取得し、取得した参照データへパディングを行っている。この方法では、領域外を示す2つの異なる動きベクトルの値に対して、同じ参照データへパディングを行う場合がある。そのため、処理量が増加し、符号データの復号中の処理負荷が大きくなるという問題である。
However, the above moving picture decoding method has the following problems.
When the motion vector references outside the reference frame area, the motion vector value is converted so that the motion vector value is within the reference frame area, the reference data is acquired, and the acquired reference data is converted. Padding is performed. In this method, padding may be performed on the same reference data with respect to two different motion vector values indicating out of the region. As a result, the amount of processing increases and the processing load during decoding of the code data increases.

そこで、符号データ復号中の処理負荷を軽減するために、フレームメモリに書き込まれた復号画像を用いて、書き込まれた復号画像の領域外に対して、予めパディング処理を行う方法も考案されている。

国際公開番号 WO 00/36841
Therefore, in order to reduce the processing load during decoding of the encoded data, a method has been devised in which the decoded image written in the frame memory is used to perform padding processing in advance outside the area of the written decoded image. .

International publication number WO 00/36841

しかしながら、フレームメモリに書き込まれた復号画像の領域外に対して、予めパディング処理を行う方法では、フレームメモリより、復号された画像の各境界画素を読み込む必要があるため、フレームメモリとパディング処理を行う処理部とのアクセス回数が多くなり、パディング処理時の処理負荷が大きくなるという問題がある。
本発明では、パディング処理の処理負荷を軽減する復号化装置及び復号化方法及びプログラムを提供することを目的とする。
However, in the method of performing padding processing in advance outside the area of the decoded image written in the frame memory, it is necessary to read each boundary pixel of the decoded image from the frame memory. There is a problem that the number of accesses to the processing unit to be performed increases, and the processing load during padding processing increases.
An object of the present invention is to provide a decoding device, a decoding method, and a program that reduce the processing load of padding processing.

上記目的を達成するために、本発明は、動画像の復号化装置であって、動画像を構成する1のフレーム画像を格納するための画像領域と、前記フレーム画像を囲む拡張画像を格納するための拡張領域とを備える記憶手段と、前記フレーム画像が所定の画素数からなるブロック単位に符号化された圧縮符号列を受け付け、受け付けた圧縮符号列を復号化して、所定数の画素からなるブロック画像を生成する復号手段と、前記ブロック画像を前記記憶手段の画像領域へ出力する出力手段とを備え、前記出力手段は、前記ブロック画像を出力するときに、前記拡張領域内の相応する位置へ、前記ブロック画像に含まれ、且つ前記フレームの内縁に隣接する画素の出力を行うことを特徴とする。   In order to achieve the above object, the present invention is a moving image decoding apparatus, which stores an image area for storing one frame image constituting a moving image and an extended image surrounding the frame image. And a storage means including an expansion area for receiving the compressed code string obtained by encoding the frame image into blocks each having a predetermined number of pixels, and decoding the received compressed code string to include a predetermined number of pixels. A decoding means for generating a block image; and an output means for outputting the block image to an image area of the storage means. The output means outputs a corresponding position in the extension area when outputting the block image. The pixel included in the block image and adjacent to the inner edge of the frame is output.

課題を解決するための手段に示した構成によると、復号化装置は、前記ブロック画像を記憶手段の画像領域へ出力するときに、前記拡張領域内の相応する位置へ、前記ブロック画像に含まれ、且つ前記フレームの内縁に隣接する画素を出力しており、フレームの内縁に隣接する画素を記憶手段より再度読み込む必要が無い。そのため、拡張領域へ画素を出力する処理の処理負荷が軽減される。   According to the configuration shown in the means for solving the problem, the decoding device includes the block image in a corresponding position in the extension area when outputting the block image to the image area of the storage means. In addition, the pixel adjacent to the inner edge of the frame is output, and it is not necessary to read again the pixel adjacent to the inner edge of the frame from the storage means. For this reason, the processing load of the process of outputting pixels to the extension area is reduced.

ここで、前記出力手段は、前記ブロック画像を出力するときに、前記ブロック画像に含まれる画素が前記フレームの内縁に隣接するか否かの判断と、前記画素が前記フレームの内縁に隣接すると判断する場合に前記拡張領域内の相応する位置へ前記画素の出力とを行うとしてもよい。
この構成によると、復号化装置の出力手段は、記憶手段に出力するブロック画像に含まれる画素が、フレームの内縁に隣接すると判断する場合には、その画素を拡張領域内の相応する位置へ出力することができる。
Here, when outputting the block image, the output means determines whether or not a pixel included in the block image is adjacent to an inner edge of the frame, and determines that the pixel is adjacent to an inner edge of the frame. In this case, the pixel may be output to a corresponding position in the extended area.
According to this configuration, when the output unit of the decoding apparatus determines that the pixel included in the block image output to the storage unit is adjacent to the inner edge of the frame, the output unit outputs the pixel to a corresponding position in the extension region. can do.

ここで、前記復号化装置は、さらに、前記フレーム画像及び前記拡張画像の生成が完了するまで、前記復号手段及び前記出力手段に対して、ブロック画像の生成、ブロック画像の出力、及び前記ブロック画像に含まれる画素が前記フレームの内縁に隣接する場合に前記拡張領域内の相応する位置へ前記画素の出力を繰り返すように制御する繰返手段を備えるとしてもよい。   Here, the decoding apparatus further generates a block image, outputs a block image, and outputs the block image to the decoding unit and the output unit until generation of the frame image and the extended image is completed. When the pixel included in the frame is adjacent to the inner edge of the frame, it may be provided with a repeating unit that controls to repeat the output of the pixel to a corresponding position in the extension region.

この構成によると、繰返手段を用いて、1つのフレーム画像及び当該フレーム画像を囲む拡張画像の生成を行うことができる。これにより、例えば、画像サイズが176画素×144画素である場合には、フレームの内縁に隣接する画素は、636個存在しており、従来、拡張領域へ画素を出力する場合には、フレームの内縁に隣接する各画素を読み出す必要があるため、画素を読み出す処理を636回行う必要があった。本発明における復号化装置では、フレームの内縁に隣接する各画素を記憶手段より再度読み込む必要が無いため、この回数を削減することができ、処理負荷が軽減される。   According to this configuration, it is possible to generate one frame image and an extended image surrounding the frame image using the repeating unit. As a result, for example, when the image size is 176 pixels × 144 pixels, there are 636 pixels adjacent to the inner edge of the frame. Conventionally, when outputting pixels to the extension region, Since each pixel adjacent to the inner edge needs to be read, the pixel reading process has to be performed 636 times. In the decoding apparatus according to the present invention, since it is not necessary to read each pixel adjacent to the inner edge of the frame from the storage means, this number of times can be reduced and the processing load is reduced.

ここで、前記出力手段は、前記ブロック画像に含まれる画素が前記フレームの内縁に隣接すると判断する場合に、前記画素の出力先となる前記拡張領域内の水平方向アドレス、垂直方向アドレス又は、両方向のアドレスを算出し、算出したアドレスに基づいて、前記画素を前記拡張領域へ出力するとしてもよい。
この構成によると、出力手段は、前記ブロック画像に含まれる画素が前記フレームの内縁に隣接すると判断する場合に、拡張領域内の水平方向アドレス、垂直方向アドレス又は、両方向のアドレスを算出することにより、算出したアドレスに基づいて、画素を拡張領域へ出力することが可能となる。
Here, when the output unit determines that the pixel included in the block image is adjacent to the inner edge of the frame, the output unit outputs a horizontal address, a vertical address, or both directions in the extension area to which the pixel is output. May be calculated, and the pixel may be output to the extension region based on the calculated address.
According to this configuration, when the output unit determines that the pixel included in the block image is adjacent to the inner edge of the frame, the output unit calculates a horizontal address, a vertical address, or a bi-directional address in the extension region. Based on the calculated address, the pixel can be output to the extension area.

ここで、前記記憶手段は、さらに、前記フレーム画像とは異なるフレーム画像及び、前記拡張画像とは異なる拡張画像からなる参照フレーム画像を予め記憶しており、前記圧縮符号列は、前記参照フレーム画像の外又は内を示す動きベクトルと、符号化されたブロックと前記の参照フレーム画像内の参照ブロック画像との差分からなる差分ブロック画像とが符号化された情報を含み、前記復号手段は、前記圧縮符号列を受け付ける受付部と、前記圧縮符号列を復号して、前記動きベクトルと、前記差分ブロック画像とを取得する取得部と、前記動きベクトルが、前記参照フレーム画像の外を示しているか否かを判断する動きベクトル判断部と、前記参照フレーム画像の外を示すと判断される場合に、前記動きベクトルが示す位置から、前記参照フレーム画像内において最も近い位置を示すよう動きベクトルを変換し、前記参照フレーム画像より、変換後の動きベクトルにより示される参照データを取得する動きベクトル変換部と、前記参照データと、前記差分ブロック画像とを用いて、前記ブロック画像を生成するブロック画像生成部とを備えるとしてもよい。   Here, the storage means further stores in advance a reference frame image including a frame image different from the frame image and an extended image different from the extended image, and the compression code string includes the reference frame image. Including a motion vector indicating outside or inside, and information obtained by encoding a difference block image including a difference between the encoded block and the reference block image in the reference frame image, and the decoding means includes A reception unit that receives a compression code string, an acquisition unit that decodes the compression code string to acquire the motion vector and the difference block image, and whether the motion vector indicates outside the reference frame image A motion vector determination unit that determines whether or not the reference frame image is outside the reference frame image. A motion vector conversion unit that converts a motion vector so as to indicate the closest position in a frame image and obtains reference data indicated by the converted motion vector from the reference frame image, the reference data, and the difference block image And a block image generation unit that generates the block image.

この構成によると、取得部にて取得した動きベクトルが、参照フレーム画像の外である場合には、動きベクトル変換部により、参照フレーム画像の内となるように動きベクトルを変換し、変換された動きベクトルを用いて、参照フレーム画像より参照データを取得できる。また、取得した参照データと、取得部にて取得した差分ブロック画像を用いて、ブロック画像を生成することができる。   According to this configuration, when the motion vector acquired by the acquisition unit is outside the reference frame image, the motion vector conversion unit converts the motion vector so that it is within the reference frame image. Reference data can be acquired from a reference frame image using a motion vector. Moreover, a block image can be generated using the acquired reference data and the difference block image acquired by the acquisition unit.

ここで、前記動きベクトル変換部は、前記動きベクトル判断部にて、前記動きベクトルが前記参照フレーム画像の内を参照していると判断される場合には、前記動きベクトルを用いて、前記参照フレーム画像より参照データを取得するとしてもよい。
この構成によると、取得部にて取得した動きベクトルが、参照フレーム画像の内である場合には、取得した動きベクトルを用いて、参照フレーム画像より参照データを取得することができる。
Here, when the motion vector determination unit determines that the motion vector refers to the inside of the reference frame image, the motion vector conversion unit uses the motion vector to perform the reference. Reference data may be acquired from the frame image.
According to this configuration, when the motion vector acquired by the acquisition unit is within the reference frame image, reference data can be acquired from the reference frame image using the acquired motion vector.

ここで、前記圧縮符号列は、符号化されたブロックからなる符号ブロック画像の情報を含み、前記復号手段は、前記圧縮符号列を受け付ける受付部と、前記圧縮符号列を復号して、前記符号ブロック画像を生成し、生成した符号ブロック画像をブロック画像とする生成部とを備えるとしてもよい。
この構成によると、復号化装置は、生成部にて生成した符号ブロック画像をブロック画像とすることができる。
Here, the compression code string includes information of a code block image made up of encoded blocks, and the decoding means decodes the compression code string by receiving the compression code string, and the code A generation unit that generates a block image and uses the generated code block image as a block image may be provided.
According to this configuration, the decoding apparatus can use the code block image generated by the generation unit as a block image.

ここで、前記記憶手段は、外部メモリ及び内部メモリの何れかからなるとしてもよい。
この構成によると、復号化装置は、記憶手段を外部メモリ及び内部メモリの何れかに備えることができる。
ここで、前記記憶手段及び出力手段は、外部メモリ及び内部メモリの何れかからなるとしてもよい。
Here, the storage means may comprise either an external memory or an internal memory.
According to this configuration, the decoding apparatus can include the storage unit in either the external memory or the internal memory.
Here, the storage means and the output means may comprise either an external memory or an internal memory.

この構成によると、復号化装置は、記憶手段及び出力手段を外部メモリ及び内部メモリの何れかに備えることができる。
ここで、前記出力手段は、前記ブロック画像を前記記憶手段の画像領域へ出力する第1出力部と、前記ブロック画像を出力するときに、前記ブロック画像に含まれる画素が、前記フレームの内縁に隣接するか否かを判断する判断部と、前記判断部にて前記画素が隣接すると判断される場合に、前記画素を前記拡張領域内の相応する位置へ出力する第2出力部とを備えるとしてもよい。
According to this configuration, the decoding apparatus can include the storage unit and the output unit in either the external memory or the internal memory.
Here, the output means outputs the block image to the image area of the storage means, and when outputting the block image, the pixels included in the block image are located at the inner edge of the frame. A determination unit that determines whether or not the pixel is adjacent; and a second output unit that outputs the pixel to a corresponding position in the extension region when the determination unit determines that the pixel is adjacent. Also good.

この構成によると、復号化装置の出力手段は、第1出力部、判断部及び第2出力部を用いて、ブロック画像を画像領域へ出力及び、出力するブロック画像に含まれる画素が、フレームの内縁に隣接すると判断する場合には、その画素を拡張領域内の相応する位置へ出力することができる。   According to this configuration, the output unit of the decoding apparatus uses the first output unit, the determination unit, and the second output unit to output the block image to the image area, and the pixels included in the output block image include the frame If it is determined that the pixel is adjacent to the inner edge, the pixel can be output to a corresponding position in the extended region.

1.第1の実施の形態
本発明に係る第1の実施の形態としての携帯電話機1について説明する。
携帯電話機1は、図1に示すように、インターネットを介して、符号化装置2により符号化された動画像の情報を受信し、受信した情報を復号し、動画像の再生を行う。
ここで、動画像の符号化について簡単に説明する。符号化装置2は、先ず、入力画像を受け取り、受け取った画像をA/D変換し、さらに、符号化で用いる画面サイズの空間解像度に変換する。なお、変換された画像を以降では、符号化対象画像と呼ぶ。また、符号化で用いる画像サイズの一例は、水平176画素×垂直144画素である。
1. First Embodiment A mobile phone 1 as a first embodiment according to the present invention will be described.
As shown in FIG. 1, the mobile phone 1 receives the moving image information encoded by the encoding device 2 via the Internet, decodes the received information, and reproduces the moving image.
Here, the encoding of a moving image will be briefly described. The encoding device 2 first receives an input image, A / D converts the received image, and further converts it to a spatial resolution of the screen size used for encoding. The converted image is hereinafter referred to as an encoding target image. An example of the image size used for encoding is horizontal 176 pixels × vertical 144 pixels.

次に、符号化装置2は、符号化対象画像の符号化を16画素×16画素からなるマクロブロック単位に、画面で左から右へ、また上から下の順番に、以下のようにして符号化を行う。
符号化を行うマクロブロックにおいて、動き補償によるフレーム間符号化を示す動き補償予測モードにて符号化を行うか若しくは、フレーム内符号化を示すイントラ符号化モードで符号化を行うかの決定がされる。
Next, the encoding device 2 encodes the encoding target image in units of macroblocks of 16 pixels × 16 pixels from left to right on the screen and from top to bottom as follows. Do.
In a macroblock to be encoded, it is determined whether to perform encoding in a motion compensated prediction mode indicating interframe encoding based on motion compensation or in an intra encoding mode indicating intraframe encoding. The

動き補償予測モードでは、符号化対象であるマクロブロックのデータと、参照画面から動き予測によって得られるマクロブロックのデータとの差分をとり予測誤差信号を取得し時間的な情報の圧縮が行われる。この予測誤差信号に対して、符号化対象であるマクロブロックをさらに分割した8画素×8画素からなるブロック単位でDCTが行われ、DCT係数が生成される。イントラ符号化モードでは、動き補償予測を行わないで、マクロブロックのデータに対して、DCTが行われ、DCT係数が生成される。   In the motion compensated prediction mode, a difference between the macroblock data to be encoded and the macroblock data obtained by motion prediction from the reference screen is obtained to obtain a prediction error signal, and temporal information compression is performed. The prediction error signal is subjected to DCT in units of blocks each consisting of 8 pixels × 8 pixels obtained by further dividing the macroblock to be encoded, and DCT coefficients are generated. In the intra coding mode, DCT is performed on macroblock data without performing motion compensation prediction, and DCT coefficients are generated.

生成されたDCT係数は、量子化が行われ、量子化DCT係数が生成され、さらに、生成された量子化DCT係数は、可変長符号化される。また、符号化モードや動きベクトルを含むマクロブロック符号化情報も、可変長符号化される。
また、入力された画像は、次画面を符号化する際の参照画面として使用するため、量子化された情報を、逆量子化し、次に、逆DCT及び動き補償により局部復号が行われ、復号された画像は、符号化装置2が備えるフレームメモリ内に記憶される。
The generated DCT coefficient is quantized to generate a quantized DCT coefficient, and the generated quantized DCT coefficient is subjected to variable length coding. Macroblock coding information including a coding mode and a motion vector is also variable-length coded.
In addition, since the input image is used as a reference screen when the next screen is encoded, the quantized information is inversely quantized, and then local decoding is performed by inverse DCT and motion compensation. The processed image is stored in a frame memory included in the encoding device 2.

このように生成された各符号化情報を多重化し、さらには、多重化された各情報を用いて、ビットストリームであるエレメンタリストリーム(以下、「ES」という。)を生成する。さらに、生成されたESを用いて、トランスポートストリーム(以下、「TS」という。)を生成する。符号化装置2は、このようにして生成されたTSを出力する。
1.1 携帯電話機1の構成
ここでは、携帯電話機1の構成について説明する。
The encoded information generated in this way is multiplexed, and further, an elementary stream (hereinafter referred to as “ES”) that is a bit stream is generated using each multiplexed information. Further, a transport stream (hereinafter referred to as “TS”) is generated using the generated ES. The encoding device 2 outputs the TS generated in this way.
1.1 Configuration of Mobile Phone 1 Here, the configuration of the mobile phone 1 will be described.

携帯電話機1は、図1に示すように、無線部20、ベースバンド信号処理部30、スピーカー40、マイク50、入力部60、表示部70、制御部80及び画像処理部10から構成されている。
携帯電話機1は、具体的には、マイクロプロセッサ、ROM、RAM、ディスプレイユニット、バスなどから構成されるコンピュータシステムである。前記ROMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサは、前記コンピュータプログラムに従って動作することにより、携帯電話機1は、その機能を達成する。
As shown in FIG. 1, the mobile phone 1 includes a radio unit 20, a baseband signal processing unit 30, a speaker 40, a microphone 50, an input unit 60, a display unit 70, a control unit 80, and an image processing unit 10. .
Specifically, the cellular phone 1 is a computer system including a microprocessor, a ROM, a RAM, a display unit, a bus, and the like. A computer program is stored in the ROM. When the microprocessor operates according to the computer program, the mobile phone 1 achieves its functions.

1.1.1 無線部20
無線部20は、アンテナ21を備えており、無線信号の送受信を行う。
1.1.2 ベースバンド信号処理部30
ベースバンド信号処理部30は、無線部20より受け取った信号をスピーカー40へ出力するための信号処理や、マイク50より受け取った音声を無線部20へ出力するための信号処理を行う。
1.1.1 Radio unit 20
The radio unit 20 includes an antenna 21 and transmits and receives radio signals.
1.1.2 Baseband signal processor 30
The baseband signal processing unit 30 performs signal processing for outputting the signal received from the radio unit 20 to the speaker 40 and signal processing for outputting the audio received from the microphone 50 to the radio unit 20.

また、ベースバンド信号処理部30は、TSを無線部20を介して受け取ると、受け取ったTSを制御部80へ出力する。
1.1.3 スピーカー40
スピーカー40は、ベースバンド信号処理部30にて処理された信号を音声として出力する。
In addition, when the baseband signal processing unit 30 receives the TS via the wireless unit 20, the baseband signal processing unit 30 outputs the received TS to the control unit 80.
1.1.3 Speaker 40
The speaker 40 outputs the signal processed by the baseband signal processing unit 30 as sound.

1.1.4 マイク50
マイク50は、使用者の音声を受け付け、受け付けた音声をベースバンド信号処理部30へ出力する。
1.1.5 入力部60
入力部60は、数字入力キーなどの入力機能を備えたキーボード等により構成されており、キーボードからのキー入力によるキー操作信号を使用者から入力指示として、制御部80へ出力する。
1.1.4 Microphone 50
The microphone 50 receives the user's voice and outputs the received voice to the baseband signal processing unit 30.
1.1.5 Input unit 60
The input unit 60 includes a keyboard having an input function such as a numeric input key, and outputs a key operation signal generated by key input from the keyboard to the control unit 80 as an input instruction from the user.

1.1.6 表示部70
表示部70は、制御部80から出力命令されたデータの表示の出力を行う。
1.1.7 制御部80
制御部80は、携帯電話機1全体の制御を行う。
制御部80は、ベースバンド信号処理部30よりTSを受け取ると、受け取ったTSを画像処理部10へ出力する。
1.1.6 Display unit 70
The display unit 70 outputs the display of data instructed to be output from the control unit 80.
1.1.7 Control unit 80
The control unit 80 controls the entire mobile phone 1.
When receiving the TS from the baseband signal processing unit 30, the control unit 80 outputs the received TS to the image processing unit 10.

また、画像処理部10より復号された画像を受け取り、受け取った画像を表示部70へ出力し、画像の再生を行う。
1.1.8 画像処理部10
画像処理部10は、図2に示すように、復号部100、入出力部200、メモリ制御部300及び外部メモリ400から構成されている。
Also, the decoded image is received from the image processing unit 10, the received image is output to the display unit 70, and the image is reproduced.
1.1.8 Image processing unit 10
As illustrated in FIG. 2, the image processing unit 10 includes a decoding unit 100, an input / output unit 200, a memory control unit 300, and an external memory 400.

(1) 外部メモリ400
外部メモリ400は、メモリ部401及びフレームメモリ402を有している。ここで、外部メモリ400は、DRAM(Dynamic Random Access Memory)である。
(A) メモリ部401
メモリ部401は、画像に係るデータからなる符号化データを蓄積している。
(1) External memory 400
The external memory 400 includes a memory unit 401 and a frame memory 402. Here, the external memory 400 is a DRAM (Dynamic Random Access Memory).
(A) Memory unit 401
The memory unit 401 stores encoded data including data relating to an image.

(B) フレームメモリ402
フレームメモリ402は、復号部100により復号された画像を蓄積している。蓄積している画像は、他の符号化された画像を復号する場合に、参照フレームとして用いられる。また、蓄積している画像は、再生された画像より、縦横1復号化ブロック分大きい領域(以下、「拡張領域」という。)を有している。拡張領域に、境界画素の値が出力される(コピーされる)ことにより、再生された画像を囲む画像が形成される。また、ここでは、拡張領域は、縦横16画素分の領域となる。
(B) Frame memory 402
The frame memory 402 stores the images decoded by the decoding unit 100. The stored image is used as a reference frame when another encoded image is decoded. The stored image has a region (hereinafter referred to as “extended region”) that is larger than the reproduced image by one decoding block in the vertical and horizontal directions. By outputting (copied) the value of the boundary pixel to the extended area, an image surrounding the reproduced image is formed. Here, the extension area is an area for 16 pixels in the vertical and horizontal directions.

(2) 入出力部200
入出力部200は、制御部80よりTSを受け取り、受け取ったTSをESに分離して、分離した各ESから画像に係るデータを取得し、取得した各データを用いて、符号化データを生成し、生成した符号化データをメモリ制御部300を介してメモリ部401へ出力する。
(2) Input / output unit 200
The input / output unit 200 receives a TS from the control unit 80, separates the received TS into ESs, acquires data relating to an image from each separated ES, and generates encoded data using each acquired data The generated encoded data is output to the memory unit 401 via the memory control unit 300.

また、画像の再生時には、メモリ制御部300を介して、フレームメモリ402より復号された画像を読み出し、読み出した画像を制御部80へ出力する。
(3) 復号部100
復号部100は、可変長復号部101、逆量子化部102、逆DCT部103、動き補償復号部104、パディング部105及び動きベクトル変換部106を有している。
Further, when playing back an image, the decoded image is read from the frame memory 402 via the memory control unit 300, and the read image is output to the control unit 80.
(3) Decoding unit 100
The decoding unit 100 includes a variable length decoding unit 101, an inverse quantization unit 102, an inverse DCT unit 103, a motion compensation decoding unit 104, a padding unit 105, and a motion vector conversion unit 106.

復号部100は、16画素×16画素からなるマクロブロック単位で復号を行うことにより画像の再生を行う。
(A) 可変長復号部101
可変長復号部101は、メモリ部401の符号化データより予め決められた長さからなる符号化列を読み込む。読み込んだ符号化列を用いて、エントロピー復号を行い、符号化モード、参照するデータを示す参照アドレスを含む動きベクトル情報及び量子化DCT係数を取得する。
The decoding unit 100 reproduces an image by performing decoding in units of macroblocks composed of 16 pixels × 16 pixels.
(A) Variable length decoding unit 101
The variable length decoding unit 101 reads an encoded sequence having a predetermined length from the encoded data in the memory unit 401. Entropy decoding is performed using the read encoded sequence, and the encoding mode, the motion vector information including the reference address indicating the data to be referenced, and the quantized DCT coefficient are acquired.

(B) 逆量子化部102
逆量子化部102は、可変長復号部101にて取得した量子化DCT係数に、逆量子化を施して、DCT係数を復元する。
(C) 逆DCT部103
逆DCT部103は、逆量子化部102にて復元されたDCT係数に、逆DCTを施して、画素空間データを復元する。
(B) Inverse quantization unit 102
The inverse quantization unit 102 performs inverse quantization on the quantized DCT coefficient acquired by the variable length decoding unit 101 to restore the DCT coefficient.
(C) Inverse DCT unit 103
The inverse DCT unit 103 performs inverse DCT on the DCT coefficient restored by the inverse quantization unit 102 to restore pixel space data.

(D) 動き補償復号部104
動き補償復号部104は、可変長復号部101にて取得した符号化モードが、動き補償予測モードであるかイントラ符号モードであるかの判断を行う。
動き補償予測モードである場合には、可変長復号部101にて取得した動きベクトル情報を動きベクトル変換部106へ出力する。また、メモリ制御部300より参照データを受け取り、受け取った参照データを逆DCT部103にて復元された画素空間データに加算して、1マクロブロック分の画像の復元を行う。これにより、復元された1マクロブロック分の画像が得られることになる。
(D) Motion compensation decoding unit 104
The motion compensation decoding unit 104 determines whether the coding mode acquired by the variable length decoding unit 101 is a motion compensation prediction mode or an intra code mode.
In the case of the motion compensation prediction mode, the motion vector information acquired by the variable length decoding unit 101 is output to the motion vector conversion unit 106. Also, reference data is received from the memory control unit 300, and the received reference data is added to the pixel space data restored by the inverse DCT unit 103 to restore an image for one macroblock. As a result, an image for one restored macroblock is obtained.

イントラ符号モードである場合には、逆DCT部103にて復元された画素空間データを復元された1マクロブロック分の画像とする。
なお、以降では、復元された1マクロブロック分の画像を復号データと呼ぶ。
動き補償復号部104は、復号データをパディング部105へ出力する。
(E) 動きベクトル変換部106
動きベクトル変換部106は、動き補償復号部104より動きベクトル情報を受け取り、受け取った動きベクトル情報に含まれる参照アドレスを用いて、動きベクトルが、参照フレームの領域外を参照しているか否かを判定し、領域外を参照している場合には、動きベクトルの参照アドレスを、拡張領域を含むフレームメモリ内にクリッピングすることにより、動きベクトルの参照アドレスを変換する。変換された参照アドレスをメモリ制御部300へ出力する。ここで、クリッピングにより変換された参照アドレスは、元の参照アドレスが示すマクロブロックの位置から、最も近い拡張領域を含むフレームメモリ内のマクロブロックの位置を示すアドレスとなる。
In the case of the intra code mode, the pixel space data restored by the inverse DCT unit 103 is used as an image for one restored macroblock.
Hereinafter, the restored image for one macroblock is referred to as decoded data.
The motion compensation decoding unit 104 outputs the decoded data to the padding unit 105.
(E) Motion vector conversion unit 106
The motion vector conversion unit 106 receives the motion vector information from the motion compensation decoding unit 104 and uses the reference address included in the received motion vector information to determine whether or not the motion vector refers to outside the reference frame area. When the determination is made and the outside of the area is referenced, the motion vector reference address is converted by clipping the reference address of the motion vector into the frame memory including the extension area. The converted reference address is output to the memory control unit 300. Here, the reference address converted by clipping is an address indicating the position of the macroblock in the frame memory including the extension area closest to the position of the macroblock indicated by the original reference address.

また、参照アドレスが、参照フレームの領域内を参照している場合には、その参照アドレスをメモリ制御部300へ出力する。
(F) パディング部105
パディング部105は、動き補償復号部104より復号データを受け取り、受け取った復号データを画素単位で、メモリ制御部300を介してフレームメモリ402へ出力する。このとき、パディング部105は、復号データより出力する画素のデータ(以下、「出力画素」若しくは「画素データ」という。)を取得し、取得した出力画素が境界画素のデータであるか否かを判断し、境界画素のデータである場合には、出力画素をフレームメモリ402へ出力して、再生時に表示される画像の領域に出力するとともに、出力画素を拡張領域内の相応する位置へ出力することによるパディングを行う。なお、本発明においては、出力画素を拡張領域内の相応する位置へ出力することを、パディングの概念に含める。
When the reference address refers to the reference frame area, the reference address is output to the memory control unit 300.
(F) Padding part 105
The padding unit 105 receives the decoded data from the motion compensation decoding unit 104 and outputs the received decoded data to the frame memory 402 via the memory control unit 300 in units of pixels. At this time, the padding unit 105 acquires pixel data to be output from the decoded data (hereinafter referred to as “output pixel” or “pixel data”), and determines whether or not the acquired output pixel is boundary pixel data. If the boundary pixel data is determined, the output pixel is output to the frame memory 402 and output to the area of the image displayed at the time of reproduction, and the output pixel is output to the corresponding position in the extension area. Padding. In the present invention, outputting the output pixel to a corresponding position in the extended region is included in the concept of padding.

境界画素のデータでない場合には、従来と同様に、出力画素をフレームメモリ402へ出力して、再生時に表示される画像の領域に出力する。
以降では、「境界画素のデータ」を、単に「境界画素」とも呼ぶ。また、出力画素を再生時に表示される画像の領域に出力する方法は、従来と同様の方法であり、例えば、出力画素の出力先のアドレスを算出して、算出したアドレスに基づいて、出力画素をフレームメモリ402へ出力する。
When the data is not the boundary pixel data, the output pixel is output to the frame memory 402 as in the conventional case, and is output to the area of the image displayed during reproduction.
Hereinafter, “boundary pixel data” is also simply referred to as “boundary pixel”. Further, the method of outputting the output pixel to the image area displayed at the time of reproduction is the same as the conventional method. For example, the output destination address of the output pixel is calculated, and the output pixel is calculated based on the calculated address. Is output to the frame memory 402.

なお、出力画素が境界画素であるか否かの判断は、出力画素の出力先のアドレスと復号される1画像の画像サイズとを用いて行う。また、パディング部105は、画素の出力を、予め決められた順序で行う。
ここで、拡張領域へのパディングの手順について、図3を用いて説明する。
図3は、フレームメモリ402に格納される画像の形式を示したものである。
Whether or not the output pixel is a boundary pixel is determined using the output destination address of the output pixel and the image size of one decoded image. The padding unit 105 outputs the pixels in a predetermined order.
Here, a procedure for padding the extension area will be described with reference to FIG.
FIG. 3 shows the format of an image stored in the frame memory 402.

再生時に表示される再生画像を格納する画像領域1000は、水平176画素×垂直144画素から構成されており、出力する画素が境界画素となる場合を以下のように分けることができる。ここで、境界画素は、再生画像における枠の内縁と接する画素となり、図3にて示す画素の中で、以下に挙げる画素が境界画素となる。画素(0,0)から水平方向へ向かって画素(0,175)までに位置する画素、画素(1,0)から垂直方向へ向かって画素(142、0)までに位置する画素、画素(0,175)から垂直方向へ向かって画素(142、175)までに位置する画素、及び画素(143,0)から水平方向へ向かって画素(143,175)までに位置する画素である。   An image area 1000 for storing a reproduced image displayed at the time of reproduction is composed of horizontal 176 pixels × vertical 144 pixels, and the case where an output pixel is a boundary pixel can be divided as follows. Here, the boundary pixel is a pixel in contact with the inner edge of the frame in the reproduced image, and among the pixels shown in FIG. 3, the following pixels are boundary pixels. A pixel located from the pixel (0,0) in the horizontal direction to the pixel (0,175), a pixel located from the pixel (1,0) to the pixel (142,0) in the vertical direction, a pixel ( 0, 175) to the pixels (142, 175) in the vertical direction and the pixels (143, 0) to the pixels (143, 175) in the horizontal direction.

さらに、境界画素となる出力画素は、8つのパターンに場合分けすることができ、それぞれの出力画素の名称を以下のように定義する。最初に、出力する画素が、画素(0、0)である場合であり、このときの出力画素を第1領域画素と呼ぶ。次に、出力する画素が、画素(0、175)である場合であり、このときの出力画素を第2領域画素と呼ぶ。次に、出力する画素が、画素(143、0)である場合であり、このときの出力画素を第3領域画素と呼ぶ。次に、出力する画素が、画素(143、175)である場合であり、このときの出力画素を第4領域画素と呼ぶ。次に、出力する画素が、画素(0、1)から画素(0、174)の何れかである場合であり、このときの出力画素を第1水平画素と呼ぶ。次に、出力する画素が、画素(143,1)から画素(143、174)の何れかである場合であり、このときの出力画素を第2水平画素と呼ぶ。次に、出力する画素が、画素(1、0)から画素(142、0)の何れかである場合であり、このときの出力画素を第1垂直画素と呼ぶ。最後に、出力する画素が、画素(1、175)から画素(142、175)の何れかである場合であり、このときの出力画素を第2垂直画素と呼ぶ。   Furthermore, the output pixels that are the boundary pixels can be divided into eight patterns, and the names of the respective output pixels are defined as follows. First, a pixel to be output is a pixel (0, 0), and the output pixel at this time is called a first region pixel. Next, a pixel to be output is a pixel (0, 175), and the output pixel at this time is referred to as a second region pixel. Next, a pixel to be output is a pixel (143, 0), and the output pixel at this time is referred to as a third region pixel. Next, a pixel to be output is a pixel (143, 175), and the output pixel at this time is referred to as a fourth region pixel. Next, the pixel to be output is any one of the pixel (0, 1) to the pixel (0, 174), and the output pixel at this time is called a first horizontal pixel. Next, the pixel to be output is any one of the pixels (143, 1) to the pixels (143, 174), and the output pixel at this time is referred to as a second horizontal pixel. Next, the pixel to be output is any one of the pixel (1, 0) to the pixel (142, 0), and the output pixel at this time is referred to as a first vertical pixel. Finally, the pixel to be output is any one of the pixel (1, 175) to the pixel (142, 175), and the output pixel at this time is called a second vertical pixel.

出力画素が、第1領域画素である場合には、画素(0、0)に対して、垂直方向である画素(0a、0)から画素(0p、0)、水平方向である画素(0、0a)から画素(0、0p)及び部分拡張領域1110へ第1領域画素の出力を以下のようにして行う。先ず、画素(0、0)の直上である画素(0a、0)のアドレスを算出し、算出したアドレスに基づいて、第1領域画素を画素(0a、0)へ出力する。この動作を垂直方向に対して拡張領域である画素(0b、0)から画素(0p、0)についても同様に、アドレスを算出し、算出したアドレスに基づいて、第1領域画素を出力する。   When the output pixel is the first region pixel, with respect to the pixel (0, 0), the pixel (0a, 0) in the vertical direction to the pixel (0p, 0), the pixel (0, 0) in the horizontal direction The output of the first region pixel is performed from 0a) to the pixel (0, 0p) and the partial expansion region 1110 as follows. First, the address of the pixel (0a, 0) immediately above the pixel (0, 0) is calculated, and the first region pixel is output to the pixel (0a, 0) based on the calculated address. This operation is similarly performed for the pixels (0b, 0) to the pixels (0p, 0) that are extended regions in the vertical direction, and the first region pixels are output based on the calculated addresses.

さらに、画素(0、0)の左横にある画素(0、0a)のアドレスを算出して、算出したアドレスに基づいて、第1領域画素を画素(0、0a)へ出力し、さらに、垂直方向に対して、画素(0、0a)の直上である画素(0a、0a)のアドレスを算出し、算出したアドレスに基づいて、第1領域画素を画素(0a、0a)へ出力する。この動作を垂直方向に対して部分拡張領域1110内の画素(0b、0a)から画素(0p、0a)についても同様に、アドレスを算出し、算出したアドレスに基づいて、第1領域画素を出力する。この動作を繰り返すことにより、第1領域画素を出力水平方向に対して出力及び部分拡張領域1110へ出力が可能となる。   Further, the address of the pixel (0, 0a) on the left side of the pixel (0, 0) is calculated, and the first region pixel is output to the pixel (0, 0a) based on the calculated address. The address of the pixel (0a, 0a) immediately above the pixel (0, 0a) is calculated in the vertical direction, and the first region pixel is output to the pixel (0a, 0a) based on the calculated address. This operation is similarly performed for the pixels (0b, 0a) to the pixels (0p, 0a) in the partial extension region 1110 with respect to the vertical direction, and the first region pixel is output based on the calculated addresses. To do. By repeating this operation, the first area pixel can be output in the output horizontal direction and output to the partial expansion area 1110.

また、画素(0、175)に対して、垂直方向に位置する各画素へ第2領域画素の出力、水平方向に位置する画素へ第2領域画素の出力及び部分拡張領域1120へ第2領域画素の出力も同様の動作にて行う。このとき、水平方向に対しては、右方向へ第2領域画素の出力を行う。
また、画素(143、0)に対して、垂直方向に位置する各画素へ第3領域画素の出力、水平方向に位置する各画素へ第3領域画素の出力及び部分拡張領域1130へ第3領域画素の出力も同様の動作にて行う。このとき、垂直方向に対しては、下方向へ第3領域画素の出力を行う。
Also, with respect to the pixel (0, 175), the output of the second region pixel to each pixel positioned in the vertical direction, the output of the second region pixel to the pixel positioned in the horizontal direction, and the second region pixel to the partial extension region 1120 Is also performed in the same manner. At this time, the second region pixel is output in the right direction with respect to the horizontal direction.
Also, with respect to the pixel (143, 0), the third region pixel is output to each pixel positioned in the vertical direction, the third region pixel is output to each pixel positioned in the horizontal direction, and the third region is output to the partial extension region 1130. The pixel output is performed in the same manner. At this time, the third region pixel is output downward in the vertical direction.

また、画素(143、175)に対して、垂直方向に位置する各画素へ第4領域画素の出力、水平方向に位置する各画素へ第4領域画素の出力及び部分拡張領域1140へ第4領域画素の出力も同様の動作にて行う。このとき、垂直方向に対しては、下方向へ出力を行い、水平方向に対しては、右方向へ出力を行う。
出力画素が第1水平画素である場合には、先ず、境界画素の直上にある画素に対するアドレスを算出し、算出したアドレスに基づいて、第1水平画素を出力する。この動作を垂直方向に対して、拡張領域となる16画素分行う。
In addition, with respect to the pixel (143, 175), the output of the fourth region pixel to each pixel positioned in the vertical direction, the output of the fourth region pixel to each pixel positioned in the horizontal direction, and the fourth region to the partial extension region 1140 The pixel output is performed in the same manner. At this time, output is performed downward in the vertical direction, and output rightward in the horizontal direction.
When the output pixel is the first horizontal pixel, first, an address for the pixel immediately above the boundary pixel is calculated, and the first horizontal pixel is output based on the calculated address. This operation is performed for 16 pixels which are an extension region in the vertical direction.

出力画素が第2水平画素である場合も同様の動作である。このとき、垂直方向に対しては、下方向へ第2水平画素の出力を行う。
出力画素が第1垂直画素である場合には、先ず、境界画素の左横にある画素に対するアドレスを算出し、算出したアドレスに基づいて、第1垂直画素を出力する。この動作を水平方向に対して、拡張領域となる16画素分行う。
The same operation is performed when the output pixel is the second horizontal pixel. At this time, the second horizontal pixel is output downward in the vertical direction.
When the output pixel is the first vertical pixel, first, an address for the pixel on the left side of the boundary pixel is calculated, and the first vertical pixel is output based on the calculated address. This operation is performed in the horizontal direction for 16 pixels serving as an extension region.

出力画素が第2垂直画素である場合も同様の動作である。このとき、水平方向に対しては、右方向へ第2垂直画素の出力を行う。
上記に示した方法にて、復元された画像をフレームメモリへ出力する際に、境界画素を拡張領域1001へ出力することが可能となる。
(4) メモリ制御部300
メモリ制御部300は、入出力部200より符号化データを受け取り、受け取った符号化データをメモリ部401へ出力する。
The same operation is performed when the output pixel is the second vertical pixel. At this time, the second vertical pixel is output in the right direction with respect to the horizontal direction.
When the restored image is output to the frame memory by the method described above, the boundary pixel can be output to the extended area 1001.
(4) Memory control unit 300
The memory control unit 300 receives the encoded data from the input / output unit 200 and outputs the received encoded data to the memory unit 401.

また、メモリ部401より受け取った符号化列を復号部100の可変長復号部101へ出力し、復号部100により復元された画像を画素単位にフレームメモリ402へ出力する。
さらに、動きベクトル変換部106より動きベクトルの参照アドレスを受け取ると、受け取った参照アドレスを用いて、参照フレームより参照データを取得する。取得した参照データを動き補償復号部104へ出力する。
Also, the encoded sequence received from the memory unit 401 is output to the variable length decoding unit 101 of the decoding unit 100, and the image restored by the decoding unit 100 is output to the frame memory 402 in units of pixels.
Furthermore, when a motion vector reference address is received from the motion vector conversion unit 106, reference data is acquired from a reference frame using the received reference address. The acquired reference data is output to the motion compensation decoding unit 104.

メモリ制御部300は、フレームメモリ402より復号された画像を読み出し、読み出した画像を入出力部200へ出力する。
なお、メモリ制御部300は、メモリ部401とのデータの入出力及びフレームメモリ402とのデータの入出力は、DMA(Direct Memory Access)を発行して行う。
The memory control unit 300 reads the image decoded from the frame memory 402 and outputs the read image to the input / output unit 200.
The memory control unit 300 performs data input / output to / from the memory unit 401 and data input / output to / from the frame memory 402 by issuing a DMA (Direct Memory Access).

1.2 復号方法
ここでは、符号化データの復号を行う復号処理について説明する。
1.2.1 復号処理
図4に示す流れ図を用いて、復号処理について、説明する。
可変長復号部101は、メモリ部401より符号化列を取得し(ステップS5)、取得した符号化列に対して、エントロピー復号を行い、符号化モード、動きベクトルの情報及び量子化DCT係数を取得する(ステップS10)。次に、逆量子化部102により、ステップS10にて取得した量子化DCT係数を用いて、DCT係数を復元する(ステップS15)。逆DCT部103により、ステップS15にて復元されたDCT係数を用いて、画素空間データを復元する(ステップS20)。
1.2 Decoding Method Here, a decoding process for decoding encoded data will be described.
1.2.1 Decoding Processing Decoding processing will be described using the flowchart shown in FIG.
The variable length decoding unit 101 acquires an encoded sequence from the memory unit 401 (step S5), performs entropy decoding on the acquired encoded sequence, and obtains an encoding mode, motion vector information, and a quantized DCT coefficient. Obtain (step S10). Next, the inverse quantization unit 102 restores the DCT coefficient using the quantized DCT coefficient acquired in step S10 (step S15). The inverse DCT unit 103 restores the pixel space data using the DCT coefficient restored in step S15 (step S20).

次に、動き補償復号部104にて、ステップS10にて取得した符号化モードが、動き補償予測モードであるかイントラ符号モードであるかの判断を行う(ステップS25)。
動き補償予測モードであると判断する場合には(ステップS25における「NO」)、動き補償復号処理を行い(ステップS30)、動き補償復号処理にて復号された復号データを用いて、復号データ出力処理を行う(ステップS35)。
Next, the motion compensation decoding unit 104 determines whether the coding mode acquired in step S10 is the motion compensation prediction mode or the intra code mode (step S25).
When it is determined that the motion compensation prediction mode is set (“NO” in step S25), the motion compensation decoding process is performed (step S30), and the decoded data output is performed using the decoded data decoded in the motion compensation decoding process. Processing is performed (step S35).

イントラ符号モードであると判断する場合には(ステップS25における「YES」)、ステップS20にて復元された画素空間データを復号データとして、復号データ出力処理を行う(ステップS35)。
なお、この処理を1画像に含まれるマクロブロック分行うことで、1画像の復号が完了することになる。画像サイズが、水平176画素×垂直144画素である場合には、16画素×16画素からなるマクロブロックは、99個存在しており、復号処理を99回繰り返すことにより、1画像の復号が完了する。
When it is determined that the mode is the intra code mode (“YES” in step S25), a decoded data output process is performed using the pixel space data restored in step S20 as decoded data (step S35).
In addition, decoding of one image is completed by performing this process for macroblocks included in one image. When the image size is horizontal 176 pixels × vertical 144 pixels, there are 99 macroblocks of 16 pixels × 16 pixels, and decoding of one image is completed by repeating the decoding process 99 times. To do.

1.2.2 動き補償復号処理
ここでは、動き補償復号処理について、図5に示す流れ図を用いて説明する。
動きベクトル変換部106は、可変長復号部101にて復号された動きベクトルを取得する(ステップS100)。取得した動きベクトルの参照アドレスが参照フレームの領域内であるか否かを判断する(ステップS105)。
1.2.2 Motion Compensation Decoding Process Here, the motion compensation decoding process will be described with reference to the flowchart shown in FIG.
The motion vector conversion unit 106 acquires the motion vector decoded by the variable length decoding unit 101 (step S100). It is determined whether or not the reference address of the acquired motion vector is within the reference frame area (step S105).

参照アドレスが、参照フレームの領域内であると判断する場合には(ステップS105における「YES」)、参照フレームより参照データを取得し(ステップS115)、取得した参照データと、復元された画素空間データとを用いて、復号データを生成する(ステップS120)。
参照アドレスが、参照フレームの領域外であると判断する場合には(ステップS105における「NO」)、参照アドレスが、領域内となるようにクリッピングを行い、参照アドレスの変換を行う(ステップS110)。変換された参照アドレスを用いて、ステップS115以降を行う。
If it is determined that the reference address is within the area of the reference frame (“YES” in step S105), reference data is acquired from the reference frame (step S115), the acquired reference data and the restored pixel space Decoded data is generated using the data (step S120).
If it is determined that the reference address is outside the area of the reference frame (“NO” in step S105), clipping is performed so that the reference address is within the area, and the reference address is converted (step S110). . Step S115 and subsequent steps are performed using the converted reference address.

1.2.3 復号データ出力処理
ここでは、復号データ出力処理について、図6に示す流れ図を用いて説明する。
パディング部105は、復号された復号データより画素データを取得する(ステップS150)。取得した画素データが境界画素であるか否かを判断する(ステップS155)。
1.2.3 Decoded Data Output Process Here, the decoded data output process will be described with reference to the flowchart shown in FIG.
The padding unit 105 acquires pixel data from the decoded decoded data (step S150). It is determined whether or not the acquired pixel data is a boundary pixel (step S155).

境界画素であると判断する場合には(ステップS155における「YES」)、パディング処理を行う(ステップS160)。さらに、ステップS150にて取得した画素データが復号データの中で最終の画素データであるか否かを判断する(ステップS170)。最終の画素データでないと判断する場合には(ステップS170における「NO」)、ステップS150へ戻り、次画素データを取得し、処理を続行する。最終の画素データであると判断する場合には(ステップS170における「YES」)、処理を終了する。   If it is determined that the pixel is a boundary pixel (“YES” in step S155), padding processing is performed (step S160). Further, it is determined whether the pixel data acquired in step S150 is the last pixel data in the decoded data (step S170). If it is determined that the pixel data is not the final pixel data (“NO” in step S170), the process returns to step S150, the next pixel data is acquired, and the process is continued. If it is determined that the pixel data is the final pixel data (“YES” in step S170), the process ends.

境界画素でないと判断する場合には(ステップS155における「NO」)、取得した画素データをフレームメモリ402へ出力して、再生時に表示される画像の領域に出力し(ステップS165)、ステップS170を行う。
1.2.4 パディング処理
ここでは、パディング処理について、図7に示す流れ図を用いて説明する。
If it is determined that the pixel is not a boundary pixel (“NO” in step S155), the acquired pixel data is output to the frame memory 402, and is output to the region of the image displayed during playback (step S165). Do.
1.2.4 Padding Processing Here, the padding processing will be described using the flowchart shown in FIG.

パディング部105は、復号データ出力処理にて取得した画素データをフレームメモリ402へ出力して、再生時に表示される画像の領域に出力し、出力した画素データを一時的に記憶する(ステップS200)。
次に、取得した画素データが、第1領域画素、第2領域画素、第3領域画素又は第4領域画素の何れかであるか否かを判断する(ステップS205)。
The padding unit 105 outputs the pixel data acquired in the decoded data output process to the frame memory 402, outputs it to the area of the image displayed at the time of reproduction, and temporarily stores the output pixel data (step S200). .
Next, it is determined whether the acquired pixel data is any of the first region pixel, the second region pixel, the third region pixel, or the fourth region pixel (step S205).

第1領域画素、第2領域画素、第3領域画素又は第4領域画素の何れかであると判断する場合には(ステップS205における「YES」)、垂直パディング処理を行い(ステップS210)、さらに、水平・垂直パディング処理を行う(ステップS215)。
第1領域画素、第2領域画素、第3領域画素又は第4領域画素のどれでもないと判断する場合には(ステップS205における「NO」)、第1水平画素又は第2水平画素の何れかであるか否かを判断する(ステップS220)。
When it is determined that the pixel is one of the first region pixel, the second region pixel, the third region pixel, or the fourth region pixel (“YES” in step S205), vertical padding processing is performed (step S210), and further Then, horizontal / vertical padding processing is performed (step S215).
When it is determined that none of the first region pixel, the second region pixel, the third region pixel, or the fourth region pixel (“NO” in step S205), either the first horizontal pixel or the second horizontal pixel Is determined (step S220).

第1水平画素又は第2水平画素の何れかであると判断する場合には(ステップS220における「YES」)、垂直パディング処理を行う(ステップS225)。
第1水平画素又は第2水平画素のどれでもないと判断する場合には(ステップS220における「NO」)、水平パディング処理を行う(ステップS230)。
1.2.5 垂直パディング処理
ここでは、垂直パディング処理について、図8に示す流れ図を用いて説明する。
When it is determined that the pixel is either the first horizontal pixel or the second horizontal pixel (“YES” in step S220), vertical padding processing is performed (step S225).
If it is determined that the pixel is neither the first horizontal pixel nor the second horizontal pixel (“NO” in step S220), horizontal padding processing is performed (step S230).
1.2.5 Vertical Padding Processing Here, vertical padding processing will be described with reference to the flowchart shown in FIG.

パディング部105は、拡張領域1001に設定されている画素数をパディング回数として設定する(ステップS250)。本実施の形態では、パディング回数は、「16」となる。
次に、垂直方向へパディングを行うために、垂直方向のアドレスを算出する(ステップS255)。算出されたアドレスに基づいて、パディング処理のステップS200にて一時的に記憶されている画素データの出力を行う(ステップS260)。
The padding unit 105 sets the number of pixels set in the extended area 1001 as the number of paddings (step S250). In the present embodiment, the number of paddings is “16”.
Next, in order to perform padding in the vertical direction, an address in the vertical direction is calculated (step S255). Based on the calculated address, the pixel data temporarily stored in step S200 of the padding process is output (step S260).

次に、パディング部105は、パディング回数を「1」減算する(ステップS265)。減算されたパディング回数が「0」であるか否かを判断する(ステップS270)。
パディング回数が「0」でないと判断する場合には(ステップS270における「NO」)、次の垂直アドレスを算出し(ステップS255)、ステップS260以降を行う。
パディング回数が「0」であると判断する場合には(ステップS270における「YES」)、処理を終了する。
Next, the padding unit 105 subtracts “1” from the number of paddings (step S265). It is determined whether or not the subtracted padding count is “0” (step S270).
When it is determined that the number of padding is not “0” (“NO” in step S270), the next vertical address is calculated (step S255), and step S260 and subsequent steps are performed.
If it is determined that the number of paddings is “0” (“YES” in step S270), the process ends.

なお、ステップS255にてアドレスを算出する際に、境界画素が第1水平画素、第1領域画素又は、第2領域画素である場合には、垂直上方向のアドレスを算出し、境界画素が第2水平画素、第3領域画素又は、第4領域画素である場合には、垂直下方向のアドレスを算出する。
1.2.6 水平パディング処理
ここでは、水平パディング処理について、図9に示す流れ図を用いて説明する。
Note that when the boundary pixel is the first horizontal pixel, the first region pixel, or the second region pixel when calculating the address in step S255, the vertical upward address is calculated, and the boundary pixel is the first pixel. In the case of two horizontal pixels, third region pixels, or fourth region pixels, an address in the vertical downward direction is calculated.
1.2.6 Horizontal Padding Processing Here, horizontal padding processing will be described with reference to the flowchart shown in FIG.

パディング部105は、拡張領域1001に設定されている画素数をパディング回数として設定する(ステップS300)。本実施の形態では、パディング回数は、「16」となる。
次に、水平方向へパディングを行うために、水平方向のアドレスを算出する(ステップS305)。算出されたアドレスに基づいて、パディング処理のステップS200にて一時的に記憶されている画素データの出力を行う(ステップS310)。
The padding unit 105 sets the number of pixels set in the extended area 1001 as the number of paddings (step S300). In the present embodiment, the number of paddings is “16”.
Next, in order to perform padding in the horizontal direction, a horizontal address is calculated (step S305). Based on the calculated address, the pixel data temporarily stored in step S200 of the padding process is output (step S310).

次に、パディング部105は、パディング回数を「1」減算する(ステップS315)。減算されたパディング回数が「0」であるか否かを判断する(ステップS320)。
パディング回数が「0」でないと判断する場合には(ステップS320における「NO」)、次の水平アドレスを算出し(ステップS305)、ステップS310以降を行う。
パディング回数が「0」であると判断する場合には(ステップS320における「YES」)、処理を終了する。
Next, the padding unit 105 subtracts “1” from the number of paddings (step S315). It is determined whether or not the subtracted padding count is “0” (step S320).
If it is determined that the number of paddings is not “0” (“NO” in step S320), the next horizontal address is calculated (step S305), and step S310 and subsequent steps are performed.
If it is determined that the number of paddings is “0” (“YES” in step S320), the process ends.

なお、ステップS305にてアドレスを算出する際に、境界画素が第1垂直画素である場合には、水平左方向のアドレスを算出し、境界画素が第2垂直画素である場合には、水平右方向のアドレスを算出する。
1.2.7 水平・垂直パディング処理
ここでは、水平・垂直パディング処理について、図10に示す流れ図を用いて説明する。
When calculating the address in step S305, if the boundary pixel is the first vertical pixel, the horizontal left address is calculated, and if the boundary pixel is the second vertical pixel, the horizontal right Calculate the direction address.
1.2.7 Horizontal / Vertical Padding Processing Here, horizontal / vertical padding processing will be described with reference to the flowchart shown in FIG.

パディング部105は、拡張領域1001に設定されている画素数を水平パディング回数として設定する(ステップS350)。本実施の形態では、水平パディング回数は、「16」となる。
次に、水平方向へパディングを行うために、水平方向のアドレスを算出する(ステップS355)。算出されたアドレスに基づいて、パディング処理のステップS200にて一時的に記憶されている画素データの出力を行う(ステップS360)。
The padding unit 105 sets the number of pixels set in the extended area 1001 as the number of horizontal padding (step S350). In the present embodiment, the horizontal padding count is “16”.
Next, in order to perform padding in the horizontal direction, a horizontal address is calculated (step S355). Based on the calculated address, the pixel data temporarily stored in step S200 of the padding process is output (step S360).

パディング部105は、拡張領域1001に設定されている画素数を垂直パディング回数として設定する(ステップS365)。本実施の形態では、垂直パディング回数は、「16」となる。
次に、垂直方向へパディングを行うために、垂直方向のアドレスを算出する(ステップS370)。算出されたアドレスに基づいて、パディング処理のステップS200にて一時的に記憶されている画素データの出力を行う(ステップS375)。
The padding unit 105 sets the number of pixels set in the extension area 1001 as the number of vertical paddings (step S365). In the present embodiment, the number of vertical paddings is “16”.
Next, in order to perform padding in the vertical direction, an address in the vertical direction is calculated (step S370). Based on the calculated address, the pixel data temporarily stored in step S200 of the padding process is output (step S375).

次に、パディング部105は、垂直パディング回数を「1」減算する(ステップS380)。減算された垂直パディング回数が「0」であるか否かを判断する(ステップS385)。
垂直パディング回数が「0」でないと判断する場合には(ステップS385における「NO」)、次の垂直アドレスを算出し(ステップS370)、ステップS375以降を行う。
Next, the padding unit 105 subtracts “1” from the number of vertical padding (step S380). It is determined whether or not the number of subtracted vertical padding is “0” (step S385).
When it is determined that the number of vertical padding is not “0” (“NO” in step S385), the next vertical address is calculated (step S370), and step S375 and subsequent steps are performed.

垂直パディング回数が「0」であると判断する場合には(ステップS385における「YES」)、水平パディング回数を「1」減算する(ステップS390)。減算された水平パディング回数が「0」であるか否かを判断する(ステップS395)。
水平パディング回数が「0」でないと判断する場合には(ステップS395における「NO」)、次の水平アドレスを算出し(ステップS355)、ステップS360以降を行う。
When it is determined that the number of vertical padding is “0” (“YES” in step S385), “1” is subtracted from the number of horizontal padding (step S390). It is determined whether or not the subtracted number of horizontal padding is “0” (step S395).
When it is determined that the number of horizontal padding is not “0” (“NO” in step S395), the next horizontal address is calculated (step S355), and step S360 and subsequent steps are performed.

水平パディング回数が「0」であると判断する場合には(ステップS395における「YES」)、処理を終了する。
なお、ステップS355にて水平アドレスを算出する際に、境界画素が第1領域画素又は第3領域画素である場合には、水平左方向のアドレスを算出し、境界画素が第2領域画素又は第4領域画素である場合には、水平右方向のアドレスを算出する。また、ステップS370にて垂直アドレスを算出する際に、境界画素が第1領域画素又は第2領域画素である場合には、垂直上方向のアドレスを算出し、境界画素が第3領域画素又は第4領域画素である場合には、垂直下方向のアドレスを算出する。
If it is determined that the number of horizontal padding is “0” (“YES” in step S395), the process ends.
When calculating the horizontal address in step S355, if the boundary pixel is the first region pixel or the third region pixel, the horizontal left address is calculated, and the boundary pixel is the second region pixel or the second region pixel. If it is a four-region pixel, an address in the horizontal right direction is calculated. Further, when the vertical address is calculated in step S370, if the boundary pixel is the first region pixel or the second region pixel, the vertical upward address is calculated, and the boundary pixel is the third region pixel or the second region pixel. If it is a four-region pixel, an address in the vertical downward direction is calculated.

1.2.8 復号処理のまとめ
ここで、上記にて示した動画像の復号処理を図11に示すタイミング図を用いて、説明する。
復号部100は、メモリ部401より取得した符号化列より、可変長復号部101、逆量子化部102、逆DCT部103、動き補償復号部104及び動きベクトル変換部106を用いて、復号データの生成、又は、可変長復号部101、逆量子化部102、逆DCT部103及び動き補償復号部104を用いて、復号データの生成を行う(ステップS500)。
1.2.8 Summary of Decoding Process Here, the moving picture decoding process described above will be described with reference to the timing chart shown in FIG.
The decoding unit 100 uses the variable length decoding unit 101, the inverse quantization unit 102, the inverse DCT unit 103, the motion compensation decoding unit 104, and the motion vector conversion unit 106 based on the encoded sequence acquired from the memory unit 401. Or the decoded data is generated using the variable length decoding unit 101, the inverse quantization unit 102, the inverse DCT unit 103, and the motion compensation decoding unit 104 (step S500).

パディング部105は、復号データより、フレームメモリ402へ出力する1画素のデータを取得し、取得した画素データが境界画素であるか否かを判断する(ステップS505)。
次に、パディング部105は、取得した画素データが境界画素であると判断する場合には、取得した画素データをメモリ制御部300を介してフレームメモリ402へ出力するとともに、一時的に記憶する(ステップS510)。このとき、メモリ制御部300は、DMAを発行し、パディング部105とフレームメモリ402との間におけるデータの入出力の制御行う。次に、パディング部105は、拡張領域1001内の相応する位置に対して、一時的に記憶している画素データの出力を行う(ステップS515)。ステップS515を所定回数分繰り返すことにより、パディング処理が完了する。パディング処理完了後、次に出力する画素データを取得し、取得した画素データが境界画素であるか否かの判断を行い(ステップS520)、取得した画素データの出力以降の処理を行う。
The padding unit 105 acquires one pixel data to be output to the frame memory 402 from the decoded data, and determines whether the acquired pixel data is a boundary pixel (step S505).
Next, when determining that the acquired pixel data is a boundary pixel, the padding unit 105 outputs the acquired pixel data to the frame memory 402 via the memory control unit 300 and temporarily stores the pixel data ( Step S510). At this time, the memory control unit 300 issues a DMA and controls input / output of data between the padding unit 105 and the frame memory 402. Next, the padding unit 105 outputs the temporarily stored pixel data to the corresponding position in the extended area 1001 (step S515). The padding process is completed by repeating step S515 a predetermined number of times. After the padding process is completed, pixel data to be output next is acquired, it is determined whether or not the acquired pixel data is a boundary pixel (step S520), and processing subsequent to the output of the acquired pixel data is performed.

また、ステップS505にて取得した画素データが境界画素でないと判断する場合には、ステップS510では、取得した画素データの出力を行い、次に出力する画素データを取得し、境界画素であるか否かの判断を行い(ステップS520)、取得した画素データの出力以降の処理を行う。
上記動作をマクロブロックが有する画素の数分繰り返すことにより、フレームメモリ402へ、復号データの出力及び、拡張領域1001内の相応する位置へ復号データが有する境界画素の出力が完了する。
When it is determined that the pixel data acquired in step S505 is not a boundary pixel, in step S510, the acquired pixel data is output, and the pixel data to be output next is acquired to determine whether the pixel data is a boundary pixel. Is determined (step S520), and the processing after the output of the acquired pixel data is performed.
By repeating the above operation for the number of pixels included in the macroblock, the output of the decoded data to the frame memory 402 and the output of the boundary pixels included in the decoded data to the corresponding positions in the extension area 1001 are completed.

さらに、これらの処理をマクロブロック単位に繰り返すことにより、1画像の復元を行うことができる。
このようにして、1マクロブロック分のデータを復号し、フレームメモリ402へ出力する度に、復号したマクロブロックのデータに境界画素が含まれている場合には、境界画素を拡張領域1001内の相応する位置へ出力することで、拡張領域へのパディング処理を行う。
Furthermore, it is possible to restore one image by repeating these processes for each macroblock.
In this way, every time data for one macroblock is decoded and output to the frame memory 402, if the decoded macroblock data includes a boundary pixel, the boundary pixel is stored in the extension area 1001. By outputting to the corresponding position, padding processing to the extended area is performed.

なお、図11では、1つのマクロブロックに着目して、復号処理の処理の流れについて説明を行ったため、復号データに含まれる全ての画素を出力後、次のマクロブロックの復元を行っているよう記載になっている。しかしながら、通常は、復号データが生成されると、次の復号データを生成するための処理が開始されている。
1.3 第1の実施の形態のまとめ
以上説明したように第1の実施の形態によれば、1マクロブロック分の復号データをフレームメモリへ出力する際に、復号データに境界画素が存在する場合には、拡張領域へのパディング処理をも行っている。このため、境界画素をフレームメモリより読み出す必要がないため、画像の復号後、拡張領域へのパディング処理を行う場合よりも、フレームメモリへのアクセス回数は少なくなる。例えば、画像サイズが176画素×144画素である場合には、境界画素は、636個存在しており、従来、拡張領域へパディング処理を行う場合には、境界画素をフレームメモリより636回の読み出す必要があったが、本発明では、この回数を削減することができる。
In FIG. 11, the flow of the decoding process has been described focusing on one macroblock, so that the next macroblock is restored after all the pixels included in the decoded data are output. It is described. However, normally, when the decoded data is generated, a process for generating the next decoded data is started.
1.3 Summary of First Embodiment As described above, according to the first embodiment, when decoded data for one macroblock is output to the frame memory, boundary pixels exist in the decoded data. In some cases, padding processing to the extension area is also performed. For this reason, since it is not necessary to read the boundary pixels from the frame memory, the number of accesses to the frame memory is smaller than when padding processing to the extension area is performed after decoding the image. For example, when the image size is 176 pixels × 144 pixels, there are 636 boundary pixels. Conventionally, when padding processing is performed on the extended area, the boundary pixels are read out from the frame memory 636 times. Although necessary, in the present invention, the number of times can be reduced.

さらに、参照フレームは予め拡張領域にパディングがされているため、画像を復号する場合に、動きベクトルが拡張領域を含む参照領域の外を参照しているときには、動きベクトルのクリッピング処理のみで、領域外を参照する動画像復号化を行うことが可能となり、動き補償復号に対する処理が軽減される。
また、復号データをフレームメモリへ出力する際に、拡張領域へのパディング処理を行うことにより、境界画素をフレームメモリより読み出す必要がないため、前記方法より、フレームメモリへのアクセス回数は少なくなる。これにより、画像復号に対する処理が軽減される。さらには、フレームメモリのメモリバンド幅を削減することもできる。
Furthermore, since the reference frame is padded in advance in the extension region, when decoding the image, if the motion vector refers to the outside of the reference region including the extension region, only the motion vector clipping process is performed. It is possible to perform moving picture decoding that refers to the outside, and processing for motion compensation decoding is reduced.
Further, when the decoded data is output to the frame memory, it is not necessary to read the boundary pixel from the frame memory by performing the padding process to the extension area, and therefore, the number of accesses to the frame memory is smaller than the above method. Thereby, processing for image decoding is reduced. Furthermore, the memory bandwidth of the frame memory can be reduced.

また、画像の復号中に、動き補償復号を行う場合には、動きベクトルの値に応じて、領域外画素の検出及び境界画素のコピーを行う方法を、ソフトウェア処理によって実現しようとする場合には、処理負荷が大きくなり、また、ハードウェアによって実現しようとする場合には、回路規模の増大を招くことになり、コストアップが生じていたが、本発明によると、動きベクトルが拡張領域を含む参照領域の外を参照しているときには、動きベクトルのクリッピング処理のみでよいため、動き補償復号の処理を容易なものにすることができ、処理負荷の軽減又は回路規模の増大の防止につながり、コストアップを防ぐことができる。   In addition, when motion compensation decoding is performed during image decoding, a method for detecting out-of-region pixels and copying boundary pixels according to the value of a motion vector is to be realized by software processing. However, when the processing load is increased and the hardware is used, the circuit scale is increased and the cost is increased. However, according to the present invention, the motion vector includes the extended region. When referring to the outside of the reference region, since only the motion vector clipping process is required, the process of motion compensation decoding can be facilitated, leading to a reduction in processing load or an increase in circuit scale, Cost increase can be prevented.

1.3.1 第1の実施の形態の変形例
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下の場合も本発明に含まれる。
(1)上記実施の形態において、復号された復号データをフレームメモリへ画素単位に出力する際に、出力する画素が境界画素であるか否かを判断して、画素の出力を行っているが、これに限定されない。画素の出力後、出力した画素が境界画素であるか否かを判断して、境界画素である場合には、出力した画素のデータを用いて、パディング処理を行い、パディング処理完了後又は、出力した画素が境界画素でない場合には、次の画素を復号データより取得して、同様の処理を繰り返すようにしてもよい。
1.3.1 Modification of First Embodiment Although the present invention has been described based on the above-described embodiment, it is needless to say that the present invention is not limited to the above-described embodiment. The following cases are also included in the present invention.
(1) In the above embodiment, when the decoded data is output to the frame memory in units of pixels, it is determined whether or not the output pixel is a boundary pixel, and the pixel is output. However, the present invention is not limited to this. After outputting the pixel, it is determined whether the output pixel is a boundary pixel. If the output pixel is a boundary pixel, padding processing is performed using the output pixel data, and after the padding processing is completed or output If the obtained pixel is not a boundary pixel, the next pixel may be acquired from the decoded data and the same process may be repeated.

このときの、処理の流れを、図6及び図7を用いて、説明する。
パディング部は、ステップS150にて、復号された復号データより、フレームメモリへ出力する画素を取得する。次に、ステップS155を行う前に、取得した画素をフレームメモリへ出力し、出力した画素を一時的に記憶する。ステップS155にて、一時的に記憶されている画素が境界画素であるか否かを判断する。
The processing flow at this time will be described with reference to FIGS.
In step S150, the padding unit acquires pixels to be output to the frame memory from the decoded data. Next, before performing step S155, the acquired pixels are output to the frame memory, and the output pixels are temporarily stored. In step S155, it is determined whether or not the temporarily stored pixel is a boundary pixel.

境界画素でないと判断する場合には、ステップS165を省略して、ステップS170以降の処理を行う。境界画素であると判断する場合には、ステップS160以降を行う。
また、パディング処理おいて、パディング部は、ステップS200を省略して、ステップS205以降を行う。
(2)上記実施の形態において、復号された復号データを画素単位にフレームメモリへ出力したが、これに限定されない。復号データをバースト転送によりフレームメモリへ出力してもよい。
If it is determined that the pixel is not a boundary pixel, step S165 is omitted, and the processing after step S170 is performed. If it is determined that the pixel is a boundary pixel, step S160 and subsequent steps are performed.
In the padding process, the padding unit omits step S200 and performs step S205 and subsequent steps.
(2) In the above embodiment, the decoded data is output to the frame memory in units of pixels. However, the present invention is not limited to this. The decoded data may be output to the frame memory by burst transfer.

この場合の実現方法を以下に示す。先ず、パディング部は、バースト転送により水平方向1行分のデータである16画素分のデータをフレームメモリへ出力し、出力したデータを一時的に記憶する。次に、パディング部は、記憶しているデータに、境界画素が含まれているか否かを判断し、境界画素が含まれている場合には、パディング処理を行う。パディング処理の終了又は、記憶しているデータに境界画素が含まれていない場合には、次の16画素分のデータをフレームメモリへ出力し、上記動作を行う。この動作を繰り返すことで、1マクロブロック分の復号データの出力及び出力された復号データに対応する拡張領域へのパディングが完了する。このとき、マクロブロックが16画素×16画素である場合には、上記動作を16回繰り返すことになる。   The realization method in this case is shown below. First, the padding unit outputs data for 16 pixels, which is data for one row in the horizontal direction, to the frame memory by burst transfer, and temporarily stores the output data. Next, the padding unit determines whether or not the stored data includes a boundary pixel. If the boundary pixel is included, the padding process is performed. When the padding process is completed or the boundary data is not included in the stored data, the data for the next 16 pixels is output to the frame memory, and the above operation is performed. By repeating this operation, the output of the decoded data for one macroblock and the padding to the extension area corresponding to the output decoded data are completed. At this time, if the macroblock is 16 pixels × 16 pixels, the above operation is repeated 16 times.

また、他の実現方法を以下に示す。先ず、パディング部は、バースト転送により水平方向1行分のデータである16画素分のデータを取得し、取得した16画素分のデータに、境界画素が含まれているか否かを判断する。
境界画素が含まれている場合には、取得したデータをフレームメモリ出力し、出力したデータを一時的に記憶する。次に、記憶しているデータを用いて、パディング処理を行い、パディング処理完了後、次の16画素分のデータを取得し、同様の処理を行う。境界画素が含まれていない場合には、取得したデータをフレームメモリへ出力し、次の16画素分のデータを取得し、同様の処理を行う。この動作を繰り返すことで、1マクロブロック分の復号データの出力及び出力された復号データに対応する拡張領域へのパディングが完了する。このとき、マクロブロックが16画素×16画素である場合には、上記動作を16回繰り返すことになる。
Other implementation methods are shown below. First, the padding unit acquires data for 16 pixels, which is data for one row in the horizontal direction, by burst transfer, and determines whether the acquired data for 16 pixels includes boundary pixels.
If the boundary pixel is included, the acquired data is output to the frame memory and the output data is temporarily stored. Next, a padding process is performed using the stored data, and after the padding process is completed, data for the next 16 pixels is acquired and the same process is performed. If the boundary pixel is not included, the acquired data is output to the frame memory, the data for the next 16 pixels is acquired, and the same processing is performed. By repeating this operation, the output of the decoded data for one macroblock and the padding to the extension area corresponding to the output decoded data are completed. At this time, if the macroblock is 16 pixels × 16 pixels, the above operation is repeated 16 times.

また、上記の2つの例では、バースト転送されるデータ単位を16画素としたが、他のデータ単位でもよい。
ここで、パディング処理は、出力したデータに含まれる境界画素単位に、第1の実施の形態で示した方法で実現してもよい。
または、境界画素単位に出力すべき領域の画素に対して出力画素のデータをバースト転送により出力することで、パディング処理を実現してもよい。この場合、出力される複数の画素のうち、基準となる画素のアドレスを算出し、算出したアドレスに基づいて、バースト転送を行う。このときの、パディング処理について、説明する。境界画素が第1水平画素である場合には、境界画素に対して、直上の画素のアドレスを算出し、算出したアドレスを基準として、垂直上方向に16画素分の出力画素をバースト転送し、第2水平画素である場合には、境界画素に対して、直下の画素のアドレスを算出し、算出したアドレスを基準として、垂直下向に16画素分の出力画素をバースト転送する。また、境界画素が、第1垂直画素である場合には、境界画素に対して、左隣にある画素のアドレスを算出し、算出したアドレスを基準として、水平左方向に16画素分の出力画素をバースト転送し、第2垂直画素である場合には、境界画素に対して、右隣にある画素のアドレスを算出し、算出したアドレスを基準として、水平右方向に16画素分の出力画素をバースト転送する。また、境界画素が、第1領域画素である場合には、先ず、境界画素に対して、直上の画素のアドレスを算出し、算出したアドレスを基準として、垂直上方向に16画素分の出力画素をバースト転送し、次に、左隣にある画素のアドレスを算出し、算出したアドレスを基準として、水平左方向に16画素分の出力画素をバースト転送する。さらに、水平左方向へ出力を行った際に、基準となった画素の直上の画素アドレスを算出し、算出したアドレスを基準として、水平左方向に位置する16画素に対して、出力画素をバースト転送し、さらに、前回バースト転送の際に基準となった画素の直上の画素アドレスを算出し、算出したアドレスを基準として、水平左方向に位置する16画素に対して、出力画素をバースト転送する。この動作を繰り返すことにより、第1領域画素である境界画素を拡張領域へ出力が可能となる。なお、境界画素が、第2領域画素である場合には、第1領域画素を出力する方法とは、出力する水平方向が異なるが、同様の動作で出力が可能であるため、説明は省略する。また、境界画素が、第3領域画素である場合には、第1領域画素を出力する方法とは、出力する垂直方向が異なるが、同様の動作で出力が可能であるため、説明は省略する。また、境界画素が、第4領域画素である場合には、第1領域画素を出力する方法とは、出力する垂直方向及び水平方向とも異なるが、同様の動作で出力が可能であるため、説明は省略する。
In the above two examples, the data unit for burst transfer is 16 pixels, but other data units may be used.
Here, the padding process may be realized by the method described in the first embodiment for each boundary pixel included in the output data.
Alternatively, the padding process may be realized by outputting output pixel data by burst transfer to pixels in a region to be output in units of boundary pixels. In this case, an address of a reference pixel among a plurality of output pixels is calculated, and burst transfer is performed based on the calculated address. The padding process at this time will be described. When the boundary pixel is the first horizontal pixel, the address of the pixel immediately above is calculated with respect to the boundary pixel, and the output pixels for 16 pixels are burst transferred in the vertical upward direction based on the calculated address, In the case of the second horizontal pixel, the address of the pixel immediately below is calculated with respect to the boundary pixel, and the output pixels for 16 pixels are burst transferred vertically downward with the calculated address as a reference. When the boundary pixel is the first vertical pixel, the address of the pixel adjacent to the left is calculated with respect to the boundary pixel, and the output pixels for 16 pixels in the horizontal left direction with the calculated address as a reference And the second vertical pixel, the address of the pixel adjacent to the right is calculated with respect to the boundary pixel, and the output pixels for 16 pixels in the horizontal right direction are calculated based on the calculated address. Burst transfer. If the boundary pixel is the first region pixel, first, the address of the pixel immediately above is calculated with respect to the boundary pixel, and the output pixels for 16 pixels in the vertical upward direction with reference to the calculated address. Next, the address of the pixel on the left is calculated, and the output pixels for 16 pixels are burst transferred in the horizontal left direction based on the calculated address. Further, when output is performed in the horizontal left direction, the pixel address immediately above the reference pixel is calculated, and the output pixel is burst with respect to the 16 pixels located in the horizontal left direction based on the calculated address. Further, the pixel address immediately above the pixel that became the reference in the previous burst transfer is calculated, and the output pixel is burst transferred to the 16 pixels located in the horizontal left direction based on the calculated address. . By repeating this operation, it is possible to output the boundary pixels as the first area pixels to the extension area. Note that when the boundary pixel is the second region pixel, the horizontal direction of output is different from the method of outputting the first region pixel, but the output can be performed by the same operation, so the description is omitted. . Further, when the boundary pixel is the third region pixel, the vertical direction of output is different from the method of outputting the first region pixel, but the description can be omitted because it can be output by the same operation. . Further, when the boundary pixel is the fourth region pixel, the method for outputting the first region pixel is different from the output in the vertical direction and the horizontal direction, but can be output by the same operation. Is omitted.

また、境界画素が、第1領域画素である場合には、出力対象となる全ての画素に対して、バースト転送することにより、出力画素を出力してもよい。境界画素が、他の領域画素である場合も同様である。
(3)上記実施の形態において、パディング部を復号部に備えたが、これに限定されない。パディング部を外部メモリ内に備えてもよい。
Further, when the boundary pixel is the first region pixel, the output pixel may be output by burst transfer to all the pixels to be output. The same applies when the boundary pixel is another region pixel.
(3) Although the padding unit is provided in the decoding unit in the above embodiment, the present invention is not limited to this. A padding unit may be provided in the external memory.

この場合、外部メモリ内に備えられたパディング部は、動き補償復号部にて、復号されたデータからフレームメモリへ出力する画素の情報及び出力先のアドレスをメモリ制御部を介して受け取り、受け取った情報を用いて、図6に示した復号データ出力処理を行う。
これにより、拡張領域へ出力される画素のデータは、メモリ制御部を介する必要がないため、メモリ制御部における入出力の負荷が軽減される。
In this case, the padding unit provided in the external memory receives the pixel information output from the decoded data to the frame memory and the output destination address via the memory control unit in the motion compensation decoding unit. The decoded data output process shown in FIG. 6 is performed using the information.
As a result, the pixel data output to the extension region does not need to be passed through the memory control unit, and the input / output load in the memory control unit is reduced.

(4)上記実施の形態において、パディング部は、復号データ毎に、出力画素を出力及びパディング処理を行ったが、これに限定されない。
パディング部は、復号データを少なくとも2個以上一時的に記憶し、記憶している複数の復号データを用いて、出力画素を出力及び、パディング処理を行ってもよい。
または、パディング部は、復号データ及び、拡張領域へ出力する画素データを記憶するバッファを有してもよい。このとき、パディング部は、復号データをバッファに記憶する。パディング部は、記憶した復号データに境界画素が含まれるか否かを判断し、境界画素が含まれると判断する場合には、拡張領域へ出力する画素を生成し、生成した画素をバッファに記憶する。パディング部は、バッファに記憶している画素データを画素単位に、メモリ制御部を介してフレームメモリへ出力する。
(4) In the above embodiment, the padding unit performs output pixel and padding processing for each decoded data, but the present invention is not limited to this.
The padding unit may temporarily store at least two pieces of decoded data, and may output output pixels and perform padding processing using the plurality of stored decoded data.
Alternatively, the padding unit may include a buffer that stores decoded data and pixel data to be output to the extension region. At this time, the padding unit stores the decoded data in the buffer. The padding unit determines whether or not the boundary pixel is included in the stored decoded data. If the boundary pixel is determined to be included, the padding unit generates a pixel to be output to the extension region and stores the generated pixel in the buffer. To do. The padding unit outputs pixel data stored in the buffer to the frame memory via the memory control unit in units of pixels.

または、パディング部は、フレームメモリにて記憶している画像と同様に形式からなるバッファを有してもよい。
このとき、パディング部は、復号データをバッファ内に記憶する。パディング部は、記憶した復号データに境界画素が含まれるか否かを判断し、境界画素が含まれると判断する場合には、境界画素をバッファ内の拡張領域へ記憶する。パディング部は、この動作を1画像分の復号が完了するまで行い、1画像分の復号が完了すると、バッファに記憶しているデータ、つまり1画像分のデータ及び拡張領域のデータを画素単位にメモリ制御部を介してフレームメモリへ出力する。
Alternatively, the padding unit may have a buffer having the same format as the image stored in the frame memory.
At this time, the padding unit stores the decoded data in the buffer. The padding unit determines whether the stored decoded data includes a boundary pixel. If the padding unit determines that the boundary pixel is included, the padding unit stores the boundary pixel in the extension area in the buffer. The padding unit performs this operation until decoding of one image is completed. When decoding of one image is completed, the data stored in the buffer, that is, the data of one image and the data of the extension area are stored in units of pixels. The data is output to the frame memory via the memory control unit.

(5)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
2.第2の実施の形態
第2の実施の形態における携帯電話機1Aは、画像処理部10Aの構成が、第1の実施の形態と異なる。以下、第2の実施の形態における画像処理部10Aについて説明する。
2.1 画像処理部10A
画像処理部10Aは、図12に示すように、復号部100A、入出力部200A、メモリ制御部300A及び外部メモリ400Aから構成されている。
(5) The above embodiment and the above modifications may be combined.
2. Second Embodiment A mobile phone 1A according to a second embodiment is different from the first embodiment in the configuration of an image processing unit 10A. The image processing unit 10A in the second embodiment will be described below.
2.1 Image processing unit 10A
As shown in FIG. 12, the image processing unit 10A includes a decoding unit 100A, an input / output unit 200A, a memory control unit 300A, and an external memory 400A.

(1) 外部メモリ400A
外部メモリ400Aは、メモリ部401A、フレームメモリ402A及び書込部403Aを有している。ここで、外部メモリ400Aは、DRAMである。
メモリ部401A及びフレームメモリ402Aは、第1の実施の形態と同様であるため、説明は省略する。
(1) External memory 400A
The external memory 400A includes a memory unit 401A, a frame memory 402A, and a writing unit 403A. Here, the external memory 400A is a DRAM.
Since the memory unit 401A and the frame memory 402A are the same as those in the first embodiment, description thereof is omitted.

(A) 書込部403A
書込部403Aは、復号部100Aからメモリ制御部300Aを介して、復号した画像の出力画素と、当該出力画素の出力先のアドレスと、当該出力画素に係る情報とを受け取る。ここで、出力先のアドレスとは、再生時に表示される画像の領域において、出力画素が出力される位置を示すアドレスである。
(A) Writing unit 403A
The writing unit 403A receives the output pixel of the decoded image, the output destination address of the output pixel, and information related to the output pixel from the decoding unit 100A via the memory control unit 300A. Here, the output destination address is an address indicating a position where an output pixel is output in an area of an image displayed during reproduction.

また、出力画素に係る情報とは、以下に挙げる情報の何れかである。受け取る出力画素が、第1領域画素である場合には、出力画素に係る情報は、出力画素が第1領域画素であることを示す第1領域画素情報であり、第2領域画素である場合には、出力画素が第2領域画素であることを示す第2領域画素情報であり、第3領域画素である場合には、出力画素が第3領域画素であることを示す第3領域画素情報であり、第4領域画素である場合には、出力画素が第4領域画素であることを示す第4領域画素情報である。受け取った出力画素が、第1水平画素である場合には、出力画素に係る情報は、出力画素が第1水平画素であることを示す第1水平画素情報であり、第2水平画素である場合には、出力画素が第2水平画素であることを示す第2水平画素情報であり、第1垂直画素である場合には、出力画素が第1垂直画素であることを示す第1垂直画素情報であり、第2垂直画素である場合には、出力画素が第2垂直画素であることを示す第2垂直画素情報である。受け取った出力画素が、境界画素でない場合には、出力画素に係る情報は、出力画素が境界画素でないことを示す非境界画素情報である。   Further, the information relating to the output pixel is any of the following information. When the received output pixel is the first region pixel, the information relating to the output pixel is first region pixel information indicating that the output pixel is the first region pixel, and when the output pixel is the second region pixel. Is the second region pixel information indicating that the output pixel is the second region pixel, and in the case of the third region pixel, the third region pixel information indicating that the output pixel is the third region pixel. If the pixel is the fourth region pixel, the fourth region pixel information indicates that the output pixel is the fourth region pixel. When the received output pixel is the first horizontal pixel, the information related to the output pixel is first horizontal pixel information indicating that the output pixel is the first horizontal pixel, and is the second horizontal pixel. Is the second horizontal pixel information indicating that the output pixel is the second horizontal pixel, and when the output pixel is the first vertical pixel, the first vertical pixel information indicating that the output pixel is the first vertical pixel. In the case of the second vertical pixel, the second vertical pixel information indicates that the output pixel is the second vertical pixel. If the received output pixel is not a boundary pixel, the information related to the output pixel is non-boundary pixel information indicating that the output pixel is not a boundary pixel.

書込部403Aは、受け取ったアドレスに基づいて、出力画素をフレームメモリ402Aへ書き込む。
書込部403Aは、受け取った情報が、非境界画素情報であるか否かを判断し、非境界画素情報であると判断する場合には、動作を終了する。
書込部403Aは、受け取った情報が非境界画素情報でないと判断する場合には、受け取った情報が、第1領域画素情報、第2領域画素情報、第3領域画素情報又は第4領域画素情報の何れかであるか否かを判断する。判断結果が肯定的である場合には、書込部403Aは、受け取った情報に基づいて、出力画素(ここでは、出力画素は、第1、第2、第3及び第4領域画素の何れかとなる)を拡張領域内の相応する位置へ出力する。第1、第2、第3及び第4領域画素を拡張領域内の相応する位置へ出力する方法については、第1の実施の形態と同様であるため、説明は省略する。
The writing unit 403A writes the output pixel to the frame memory 402A based on the received address.
The writing unit 403A determines whether the received information is non-boundary pixel information. If the writing unit 403A determines that the received information is non-boundary pixel information, the writing unit 403A ends the operation.
When the writing unit 403A determines that the received information is not non-boundary pixel information, the received information is the first region pixel information, the second region pixel information, the third region pixel information, or the fourth region pixel information. It is judged whether it is any of these. If the determination result is affirmative, the writing unit 403A determines whether the output pixel (here, the output pixel is one of the first, second, third, and fourth region pixels) based on the received information. Is output to the corresponding position in the extended area. The method for outputting the first, second, third, and fourth area pixels to the corresponding positions in the extension area is the same as in the first embodiment, and thus the description thereof is omitted.

書込部403Aは、判断結果が否定的である場合には、受け取った情報が、第1水平画素情報又は第2水平画素情報の何れかであるか否かを判断する。判断結果が肯定的である場合には、書込部403Aは、出力画素(ここでは、出力画素は、第1及び第2水平画素の何れかとなる)を拡張領域内の相応する位置へ出力する。第1及び第2水平画素を拡張領域内の相応する位置へ出力する方法については、第1の実施の形態と同様であるため、説明は省略する。書込部403Aは、判断結果が否定的である場合には、出力画素(ここでは、出力画素は、第1及び第2垂直画素の何れかとなる)を拡張領域内の相応する位置へ出力する。第1及び第2垂直画素を拡張領域内の相応する位置へ出力する方法については、第1の実施の形態と同様であるため、説明は省略する。   When the determination result is negative, the writing unit 403A determines whether the received information is either the first horizontal pixel information or the second horizontal pixel information. If the determination result is affirmative, the writing unit 403A outputs the output pixel (here, the output pixel is one of the first and second horizontal pixels) to a corresponding position in the extended region. . The method for outputting the first and second horizontal pixels to the corresponding positions in the extension region is the same as in the first embodiment, and thus the description thereof is omitted. When the determination result is negative, the writing unit 403A outputs the output pixel (here, the output pixel is one of the first and second vertical pixels) to a corresponding position in the extension region. . Since the method for outputting the first and second vertical pixels to the corresponding positions in the extension region is the same as that in the first embodiment, the description thereof is omitted.

これにより、書込部403Aは、復号部100Aにて復元された画像をフレームメモリ402Aへ出力する際に、拡張領域へ出力する(コピーする)ことが可能となる。
(2) 入出力部200A
入出力部200Aは、第1の実施の形態と同様であるため、説明は省略する。
(3) 復号部100A
復号部100Aは、可変長復号部101A、逆量子化部102A、逆DCT部103A、動き補償復号部104A、動きベクトル変換部106A及びパディング判定部107Aを有している。
Thus, the writing unit 403A can output (copy) the image restored by the decoding unit 100A to the extension area when outputting the image to the frame memory 402A.
(2) Input / output unit 200A
Since the input / output unit 200A is the same as that of the first embodiment, description thereof is omitted.
(3) Decoding unit 100A
The decoding unit 100A includes a variable length decoding unit 101A, an inverse quantization unit 102A, an inverse DCT unit 103A, a motion compensation decoding unit 104A, a motion vector conversion unit 106A, and a padding determination unit 107A.

復号部100Aは、16画素×16画素からなるマクロブロック単位で復号を行うことにより画像の再生を行う。
可変長復号部101A、逆量子化部102A、逆DCT部103A、動き補償復号部104A及び動きベクトル変換部106Aは、それぞれ第1の実施の形態にて示す可変長復号部101、逆量子化部102、逆DCT部103、動き補償復号部104及び動きベクトル変換部106と同様であるため、説明は省略する。
The decoding unit 100A reproduces an image by performing decoding in units of macroblocks each composed of 16 pixels × 16 pixels.
The variable length decoding unit 101A, the inverse quantization unit 102A, the inverse DCT unit 103A, the motion compensation decoding unit 104A, and the motion vector conversion unit 106A are respectively the variable length decoding unit 101 and the inverse quantization unit shown in the first embodiment. 102, the inverse DCT unit 103, the motion compensation decoding unit 104, and the motion vector conversion unit 106 are the same as those in FIG.

以下、パディング判定部107Aについて、説明する。
パディング判定部107Aは、動き補償復号部104Aより復号データを受け取り、受け取った復号データを画素単位で、メモリ制御部300Aを介して書込部403Aへ出力する。
パディング判定部107Aは、復号データより出力画素を取得し、取得した出力画素が境界画素であるか否かを判断し、境界画素であると判断する場合には、さらに、出力画素が第1、第2、第3及び第4領域画素の何れかであるか否かを判断する。判断結果が肯定的である場合には、領域画素に対応する情報を生成する。例えば、出力画素が第1領域画素である場合には、第1領域画素情報を生成し、第2領域画素である場合には、第2領域画素情報を生成し、第3領域画素である場合には、第3領域画素情報を生成する。パディング判定部107Aは、出力画素と、当該出力画素の出力先のアドレスと、生成した情報とをメモリ制御部300Aを介して、書込部403Aへ出力する。
Hereinafter, the padding determination unit 107A will be described.
The padding determination unit 107A receives the decoded data from the motion compensation decoding unit 104A, and outputs the received decoded data to the writing unit 403A via the memory control unit 300A in units of pixels.
The padding determination unit 107A acquires an output pixel from the decoded data, determines whether the acquired output pixel is a boundary pixel, and determines that the output pixel is the first, It is determined whether the pixel is one of the second, third, and fourth region pixels. If the determination result is affirmative, information corresponding to the region pixel is generated. For example, when the output pixel is the first region pixel, the first region pixel information is generated. When the output pixel is the second region pixel, the second region pixel information is generated and the third region pixel is generated. The third area pixel information is generated. Padding determination unit 107A outputs the output pixel, the output destination address of the output pixel, and the generated information to writing unit 403A via memory control unit 300A.

パディング判定部107Aは、判断結果が否定的である場合には、さらに、出力画素が第1及び第2水平画素の何れかであるか否かを判断する。判断結果が肯定的である場合には、水平画素に対応する情報を生成する。例えば、出力画素が第1水平画素である場合には、第1水平画素情報を生成し、第2水平画素である場合には、第2水平画素情報を生成する。パディング判定部107Aは、出力画素と、当該出力画素の出力先のアドレスと、生成した情報とをメモリ制御部300Aを介して、書込部403Aへ出力する。パディング判定部107Aは、判断結果が否定的である場合には、垂直画素に対応する情報を生成する。例えば、出力画素が第1垂直画素である場合には、第1垂直画素情報を生成し、第2垂直画素である場合には、第2垂直画素情報を生成する。パディング判定部107Aは、出力画素と、当該出力画素の出力先のアドレスと、生成した情報とをメモリ制御部300Aを介して、書込部403Aへ出力する。   If the determination result is negative, padding determination unit 107A further determines whether the output pixel is one of the first and second horizontal pixels. If the determination result is affirmative, information corresponding to the horizontal pixel is generated. For example, when the output pixel is a first horizontal pixel, first horizontal pixel information is generated, and when the output pixel is a second horizontal pixel, second horizontal pixel information is generated. Padding determination unit 107A outputs the output pixel, the output destination address of the output pixel, and the generated information to writing unit 403A via memory control unit 300A. If the determination result is negative, the padding determination unit 107A generates information corresponding to the vertical pixel. For example, when the output pixel is a first vertical pixel, first vertical pixel information is generated, and when the output pixel is a second vertical pixel, second vertical pixel information is generated. Padding determination unit 107A outputs the output pixel, the output destination address of the output pixel, and the generated information to writing unit 403A via memory control unit 300A.

パディング判定部107Aは、出力画素が、境界画素でないと判断する場合には、非境界画素情報を生成し、出力画素と、当該出力画素の出力先のアドレスと、生成した非境界画素情報とをメモリ制御部300Aを介して、書込部403Aへ出力する。
パディング判定部107Aは、上記の動作を復号データに含まれる画素数分繰り返すことにより、復号データを書込部403Aへ出力することができる。
When determining that the output pixel is not a boundary pixel, the padding determination unit 107A generates non-boundary pixel information, and outputs the output pixel, the output destination address of the output pixel, and the generated non-boundary pixel information. The data is output to the writing unit 403A via the memory control unit 300A.
Padding determination unit 107A can output the decoded data to writing unit 403A by repeating the above operation for the number of pixels included in the decoded data.

(4) メモリ制御部300A
メモリ制御部300Aは、入出力部200Aより符号化データを受け取り、受け取った符号化データをメモリ部401Aへ出力する。
また、メモリ部401Aより受け取った符号化列を復号部100Aの可変長復号部101Aへ出力する。
(4) Memory control unit 300A
The memory control unit 300A receives the encoded data from the input / output unit 200A, and outputs the received encoded data to the memory unit 401A.
The encoded sequence received from the memory unit 401A is output to the variable length decoding unit 101A of the decoding unit 100A.

メモリ制御部300Aは、出力画素と、出力先のアドレスと、当該出力画素に係る情報とをパディング判定部107Aから受け取り、受け取った各情報を書込部403Aへ出力する。
さらに、メモリ制御部300Aは、動きベクトル変換部106Aより動きベクトルの参照アドレスを受け取ると、受け取った参照アドレスを用いて、参照フレームより参照データを取得する。取得した参照データを動き補償復号部104Aへ出力する。
The memory control unit 300A receives an output pixel, an output destination address, and information related to the output pixel from the padding determination unit 107A, and outputs each received information to the writing unit 403A.
Further, when the memory control unit 300A receives the reference address of the motion vector from the motion vector conversion unit 106A, the memory control unit 300A acquires reference data from the reference frame using the received reference address. The acquired reference data is output to the motion compensation decoding unit 104A.

メモリ制御部300Aは、フレームメモリ402Aより復号された画像を読み出し、読み出した画像を入出力部200Aへ出力する。
なお、メモリ制御部300Aは、メモリ部401Aとのデータの入出力及びフレームメモリ402Aとのデータの入出力は、DMAを発行して行う。
2.2 復号方法
ここでは、符号化データの復号を行う復号処理について説明する。
The memory control unit 300A reads the decoded image from the frame memory 402A, and outputs the read image to the input / output unit 200A.
Note that the memory control unit 300A performs data input / output with the memory unit 401A and data input / output with the frame memory 402A by issuing a DMA.
2.2 Decoding Method Here, a decoding process for decoding encoded data will be described.

なお、復号処理は、第1の実施の形態と同様であるため、説明は省略する。
また、復号処理にて行われる動き補償復号処理についても、第1の実施の形態と同様であるため、説明は省略する。
ここでは、復号処理にて行われる復号データ出力処理及び、書込部403Aにて行う書込処理について、説明する。
Note that the decoding process is the same as that in the first embodiment, and a description thereof will be omitted.
Also, the motion compensation decoding process performed in the decoding process is the same as in the first embodiment, and thus the description thereof is omitted.
Here, the decrypted data output process performed in the decryption process and the write process performed in the writing unit 403A will be described.

2.2.1 復号データ出力処理
ここでは、復号データ出力処理について、図13に示す流れ図を用いて説明する。
パディング判定部107Aは、復号された復号データより画素データを取得し(ステップS600)、取得した画素データが境界画素であるか否かを判断する(ステップS605)。
2.2.1 Decoded Data Output Process Here, the decoded data output process will be described with reference to the flowchart shown in FIG.
The padding determination unit 107A acquires pixel data from the decoded decoded data (step S600), and determines whether the acquired pixel data is a boundary pixel (step S605).

境界画素であると判断する場合には(ステップS605における「YES」)、出力画素が第1、第2、第3及び第4領域画素の何れかであるか否かを判断する(ステップS610)。判断結果が肯定的である場合には(ステップS610における「YES」)、領域画素に対応する情報を生成し、生成した情報と画素データとアドレスとを、メモリ制御部300Aを介して書込部403Aへ出力し(ステップS615)、取得した画素データが最終の画素データであるか否かを判断し(ステップS640)、最終の画素データであると判断する場合には(ステップS640における「YES」)、処理を終了し、最終の画素データでないと判断する場合には(ステップS640における「NO」)、ステップS600へ戻り、次画素データを取得し、処理を続行する。   When it is determined that the pixel is a boundary pixel (“YES” in step S605), it is determined whether the output pixel is any of the first, second, third, and fourth region pixels (step S610). . If the determination result is affirmative (“YES” in step S610), information corresponding to the region pixel is generated, and the generated information, pixel data, and address are written to the writing unit via the memory control unit 300A. It is output to 403A (step S615), it is determined whether or not the acquired pixel data is the final pixel data (step S640), and when it is determined that it is the final pixel data (“YES” in step S640). ) When the process is terminated and it is determined that the pixel data is not the final pixel data (“NO” in step S640), the process returns to step S600, the next pixel data is acquired, and the process is continued.

判断結果が否定的である場合には(ステップS610における「NO」)、出力画素が第1及び第2水平画素の何れかであるか否かを判断する(ステップS620)。判断結果が肯定的である場合には(ステップS620における「YES」)、水平画素に対応する情報を生成し、生成した情報と画素データとアドレスとを、メモリ制御部300Aを介して書込部403Aへ出力し(ステップS625)、ステップS640を実行する。   If the determination result is negative (“NO” in step S610), it is determined whether the output pixel is one of the first and second horizontal pixels (step S620). If the determination result is affirmative (“YES” in step S620), information corresponding to the horizontal pixel is generated, and the generated information, pixel data, and address are written to the writing unit via the memory control unit 300A. The data is output to 403A (step S625), and step S640 is executed.

パディング判定部107Aは、判断結果が否定的である場合には(ステップS620における「NO」)、垂直画素に対応する情報を生成し、生成した情報と画素データとアドレスとを、メモリ制御部300Aを介して書込部403Aへ出力し(ステップS630)、ステップS640を実行する。
パディング判定部107Aは、出力画素が、境界画素でないと判断する場合には(ステップS605における「NO」)、非境界画素情報を生成し、生成した非境界画素情報と画素データとアドレスとを、メモリ制御部300Aを介して書込部403Aへ出力し(ステップS635)、ステップS640を実行する。
When the determination result is negative (“NO” in step S620), the padding determination unit 107A generates information corresponding to the vertical pixel, and displays the generated information, pixel data, and address as the memory control unit 300A. To the writing unit 403A (step S630), and executes step S640.
When determining that the output pixel is not a boundary pixel (“NO” in step S605), the padding determination unit 107A generates non-boundary pixel information, and generates the generated non-boundary pixel information, pixel data, and address. The data is output to the writing unit 403A via the memory control unit 300A (step S635), and step S640 is executed.

2.2.2 書込処理
ここでは、書込部403Aが行う書込処理について、図14に示す流れ図を用いて説明する。
書込部403Aは、復号部100Aからメモリ制御部300Aを介して、復号した画像の画素データと、当該画素データの出力先のアドレスと、当該画素データに係る情報とを受け取る(ステップS700)。
2.2.2 Write Processing Here, the write processing performed by the writing unit 403A will be described with reference to the flowchart shown in FIG.
The writing unit 403A receives the pixel data of the decoded image, the output destination address of the pixel data, and information related to the pixel data from the decoding unit 100A via the memory control unit 300A (step S700).

書込部403Aは、受け取ったアドレスに基づいて、画素データをフレームメモリ402Aへ書き込む(ステップS705)。
書込部403Aは、受け取った情報が、非境界画素情報であるか否かを判断し(ステップS710)、非境界画素情報であると判断する場合には(ステップS710における「YES」)、動作を終了する。
The writing unit 403A writes pixel data to the frame memory 402A based on the received address (step S705).
The writing unit 403A determines whether or not the received information is non-boundary pixel information (step S710). When determining that the received information is non-boundary pixel information (“YES” in step S710), the writing unit 403A Exit.

書込部403Aは、受け取った情報が非境界画素情報でないと判断する場合には(ステップS710における「NO」)、受け取った情報が、第1領域画素情報、第2領域画素情報、第3領域画素情報又は第4領域画素情報の何れかであるか否かを判断する(ステップS715)。判断結果が肯定的である場合には(ステップS715における「YES」)、書込部403は、受け取った画素データ(ここでは、第1、第2、第3及び第4領域画素の何れかとなる)を用いて、受け取った情報に基づいて、垂直パディング処理を行い(ステップS720)、さらに、水平・垂直パディング処理を行う(ステップS725)。   When the writing unit 403A determines that the received information is not non-boundary pixel information (“NO” in step S710), the received information includes the first region pixel information, the second region pixel information, and the third region. It is determined whether it is either pixel information or fourth region pixel information (step S715). If the determination result is affirmative (“YES” in step S715), the writing unit 403 becomes one of the received pixel data (here, the first, second, third, and fourth region pixels). ) Is used to perform vertical padding processing based on the received information (step S720), and further, horizontal / vertical padding processing is performed (step S725).

書込部403Aは、判断結果が否定的である場合には(ステップS715における「NO」)、受け取った情報が、第1水平画素情報又は第2水平画素情報の何れかであるか否かを判断する(ステップS730)。判断結果が肯定的である場合には(ステップS730における「YES」)、書込部403は、受け取った画素データ(ここでは、第1及び第2水平画素の何れかとなる)を用いて、垂直パディング処理を行う(ステップS735)。書込部403Aは、判断結果が否定的である場合には(ステップS730における「NO」)、書込部403は、受け取った画素データ(ここでは、第1及び第2垂直画素の何れかとなる)を用いて、水平パディング処理を行う(ステップS740)。   If the determination result is negative (“NO” in step S715), the writing unit 403A determines whether the received information is either the first horizontal pixel information or the second horizontal pixel information. Judgment is made (step S730). If the determination result is affirmative (“YES” in step S730), the writing unit 403 uses the received pixel data (in this case, one of the first and second horizontal pixels) to perform vertical Padding processing is performed (step S735). If the determination result is negative (“NO” in step S730), the writing unit 403A uses the received pixel data (here, either the first or second vertical pixel). ) Is used to perform horizontal padding processing (step S740).

なお、書込処理にて行われる垂直パディング処理、水平パディング処理、水平・垂直パディング処理は、第1の実施の形態と同様の処理の流れであるため、説明は省略する。
2.3 第2の実施の形態のまとめ
以上説明したように第2の実施の形態によれば、1マクロブロック分の復号データをフレームメモリへ出力する際に、復号データに境界画素が存在する場合には、拡張領域へのパディング処理をも行っている。このため、境界画素をフレームメモリより読み出す必要がないため、画像の復号後、拡張領域へのパディング処理を行う場合よりも、フレームメモリへのアクセス回数は少なくなる。
Note that the vertical padding process, horizontal padding process, and horizontal / vertical padding process performed in the writing process are the same as those in the first embodiment, and a description thereof will be omitted.
2.3 Summary of Second Embodiment As described above, according to the second embodiment, when decoded data for one macroblock is output to the frame memory, boundary pixels exist in the decoded data. In some cases, padding processing to the extension area is also performed. For this reason, since it is not necessary to read the boundary pixels from the frame memory, the number of accesses to the frame memory is smaller than when padding processing to the extension area is performed after decoding the image.

さらに、参照フレームは予め拡張領域にパディングがされているため、画像を復号する場合に、動きベクトルが拡張領域を含む参照領域の外を参照しているときには、動きベクトルのクリッピング処理のみで、領域外を参照する動画像復号化を行うことが可能となり、動き補償復号に対する処理が軽減される。
また、拡張領域へのパディング処理を外部メモリ400Aの書込部403Aにて行っているため、復号部100Aは、画素データを拡張領域へ出力する度に、画素データを外部メモリ400Aへ出力する必要がないため、外部メモリ400Aと復号部100Aとの間におけるトラフィックを軽減することができる。
Furthermore, since the reference frame is padded in advance in the extension region, when decoding the image, if the motion vector refers to the outside of the reference region including the extension region, only the motion vector clipping process is performed. It is possible to perform moving picture decoding that refers to the outside, and processing for motion compensation decoding is reduced.
Further, since the padding process to the extension area is performed by the writing unit 403A of the external memory 400A, the decoding unit 100A needs to output the pixel data to the external memory 400A every time the pixel data is output to the extension area. Therefore, traffic between the external memory 400A and the decoding unit 100A can be reduced.

2.3.1 第2の実施の形態の変形例
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下の場合も本発明に含まれる。
(1)パディング処理を行う際に、書込部403Aにて、画素データを拡張領域へ出力(コピー)するアドレス(以下、「コピー先のアドレス」という。)を算出したが、これに限定されない。
2.3.1 Modification of Second Embodiment Although the present invention has been described based on the above-described embodiment, it is needless to say that the present invention is not limited to the above-described embodiment. The following cases are also included in the present invention.
(1) When performing the padding process, the writing unit 403A calculates an address (hereinafter referred to as “copy destination address”) for outputting (copying) pixel data to the extension area, but the present invention is not limited to this. .

パディング判定部107Aにて、画素データが境界画素である場合には、コピー先のアドレスを全て算出して、画素データ、画素データの出力先のアドレス及び算出したコピー先の全てのアドレスを書込部403Aへ出力する。書込部403Aは、画素データの出力先のアドレス及びコピー先の全てのアドレスに基づいて、画素データをフレームメモリ402Aへ書き込む。   When the pixel data is a boundary pixel, the padding determination unit 107A calculates all the copy destination addresses, and writes the pixel data, the output destination address of the pixel data, and all the calculated copy destination addresses. Output to unit 403A. The writing unit 403A writes the pixel data to the frame memory 402A based on the output destination address of the pixel data and all addresses of the copy destination.

このときの復号データ出力処理について、図13を用いて変更点のみを説明する。
パディング判定部107Aは、ステップS605を実行後、画素データが境界画素でないと判断する場合には、ステップS635を行う代わりに、画素データと画素データの出力先のアドレスとを書込部403Aへ出力する。
また、パディング判定部107Aは、ステップS610を実行後、画素データが領域画素であると判断する場合には、ステップS615を行う代わりに、画素データのコピー先を全て算出し、画素データと画素データの出力先のアドレスと算出した全てのアドレスとを書込部403Aへ出力する。
With respect to the decoded data output processing at this time, only the changed points will be described with reference to FIG.
If the padding determination unit 107A determines that the pixel data is not a boundary pixel after executing step S605, the padding determination unit 107A outputs the pixel data and the output destination address of the pixel data to the writing unit 403A instead of performing step S635. To do.
If the padding determination unit 107A determines that the pixel data is a region pixel after executing step S610, instead of performing step S615, the padding determination unit 107A calculates all the copy destinations of the pixel data, and the pixel data and the pixel data. Are output to the writing unit 403A.

また、パディング判定部107Aは、ステップS620を実行後、画素データが水平画素であると判断する場合には、ステップS625を行う代わりに、画素データのコピー先を全て算出し、画素データと画素データの出力先のアドレスと算出した全てのアドレスとを書込部403Aへ出力する。
また、パディング判定部107Aは、ステップS620を実行後、画素データが垂直画素であると判断する場合には、ステップS630を行う代わりに、画素データのコピー先を全て算出し、画素データと画素データの出力先のアドレスと算出した全てのアドレスとを書込部403Aへ出力する。
If the padding determination unit 107A determines that the pixel data is a horizontal pixel after executing step S620, instead of performing step S625, the padding determination unit 107A calculates all the copy destinations of the pixel data, and the pixel data and the pixel data. Are output to the writing unit 403A.
If the padding determination unit 107A determines that the pixel data is a vertical pixel after executing step S620, instead of performing step S630, the padding determination unit 107A calculates all the pixel data copy destinations, and the pixel data and the pixel data. Are output to the writing unit 403A.

さらに、書込処理について、図14を用いて変更点のみを説明する。
書込部403Aは、ステップS700にて、画素データ及び1個以上のアドレスをパディング判定部107Aより受け取る。書込部403Aは、ステップS705にて、受け取った1個以上のアドレスに基づいて、受け取った画素データをフレームメモリ402Aへ書き込む。
Further, only the changed part of the writing process will be described with reference to FIG.
In step S700, writing unit 403A receives pixel data and one or more addresses from padding determination unit 107A. In step S705, the writing unit 403A writes the received pixel data to the frame memory 402A based on the received one or more addresses.

(2)上記実施の形態において、復号された復号データを画素単位にフレームメモリへ出力したが、これに限定されない。復号データをバースト転送によりフレームメモリへ出力してもよい。
なお、バースト転送による実現方法は、第1の実施の形態の変形例(2)にて示した方法と同様の方法で実現できるため説明は省略する。
(2) In the above embodiment, the decoded data is output to the frame memory in units of pixels. However, the present invention is not limited to this. The decoded data may be output to the frame memory by burst transfer.
Note that the implementation method by the burst transfer can be realized by the same method as the method shown in the modification (2) of the first embodiment, and the description thereof will be omitted.

(3)書込部403Aを外部メモリ400Aに設けたが、これに限定されない。書込部403Aをメモリ制御部300Aに設けてもよい。
(4)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
3.第3の実施の形態
第3の実施の形態における携帯電話機1Bは、画像処理部10Bの構成が、第1及び第2の実施の形態と異なる。以下、第3の実施の形態における画像処理部10Bについて説明する。
(3) Although the writing unit 403A is provided in the external memory 400A, the present invention is not limited to this. The writing unit 403A may be provided in the memory control unit 300A.
(4) The above embodiment and the above modifications may be combined.
3. Third Embodiment A mobile phone 1B according to a third embodiment is different from the first and second embodiments in the configuration of an image processing unit 10B. Hereinafter, the image processing unit 10B according to the third embodiment will be described.

3.1 画像処理部10B
画像処理部10Bは、図15に示すように、復号部100B、入出力部200B、メモリ制御部300B及び外部メモリ400Bから構成されている。
(1) 外部メモリ400B
外部メモリ400Bは、メモリ部401B、フレームメモリ402B及びパディング部404Bを有している。ここで、外部メモリ400Bは、DRAMである。
3.1 Image processing unit 10B
As shown in FIG. 15, the image processing unit 10B includes a decoding unit 100B, an input / output unit 200B, a memory control unit 300B, and an external memory 400B.
(1) External memory 400B
The external memory 400B includes a memory unit 401B, a frame memory 402B, and a padding unit 404B. Here, the external memory 400B is a DRAM.

メモリ部401B及びフレームメモリ402Bは、第1の実施の形態と同様であるため、説明は省略する。
(A) パディング部404B
パディング部404Bは、復号部100Bからメモリ制御部300Bを介して、復号した画像の出力画素と、当該出力画素の出力先のアドレスとを受け取る。ここで、出力先のアドレスとは、再生時に表示される画像の領域において、出力画素が出力される位置を示すアドレスである。
Since the memory unit 401B and the frame memory 402B are the same as those in the first embodiment, description thereof is omitted.
(A) Padding part 404B
The padding unit 404B receives the output pixel of the decoded image and the output destination address of the output pixel from the decoding unit 100B via the memory control unit 300B. Here, the output destination address is an address indicating a position where an output pixel is output in an area of an image displayed during reproduction.

パディング部404Bは、受け取った出力画素が境界画素であるか否かを判断する。
パディング部404Bは、受け取った出力画素が境界画素でないと判断する場合には、受け取った出力画素を、受け取ったアドレスに基づいて、フレームメモリ402Bへ書き込む。
パディング部404Bは、受け取った出力画素が境界画素であると判断する場合には、先ず、受け取った出力画素を、受け取ったアドレスに基づいて、フレームメモリ402Bへ書き込み、以下の動作を行う。
The padding unit 404B determines whether the received output pixel is a boundary pixel.
If the padding unit 404B determines that the received output pixel is not a boundary pixel, the padding unit 404B writes the received output pixel into the frame memory 402B based on the received address.
When determining that the received output pixel is a boundary pixel, the padding unit 404B first writes the received output pixel to the frame memory 402B based on the received address, and performs the following operation.

パディング部404Bは、受け取った出力画素が、第1領域画素、第2領域画素、第3領域画素又は第4領域画素の何れかであるか否かを判断する。判断結果が肯定的である場合には、パディング部404Bは、出力画素を用いて、拡張領域へのパディングを行う。第1、第2、第3及び第4領域画素を用いたパディングの方法については、第1の実施の形態と同様であるため、説明は省略する。   The padding unit 404B determines whether the received output pixel is any of the first region pixel, the second region pixel, the third region pixel, and the fourth region pixel. If the determination result is affirmative, the padding unit 404B performs padding on the extension region using the output pixel. Since the padding method using the first, second, third, and fourth area pixels is the same as that in the first embodiment, the description thereof is omitted.

パディング部404Bは、判断結果が否定的である場合には、受け取った出力画素が、第1水平画素又は第2水平画素の何れかであるか否かを判断する。判断結果が肯定的である場合には、パディング部404Bは、出力画素を用いて、拡張領域へのパディングを行う。第1及び第2水平画素を用いたパディングの方法については、第1の実施の形態と同様であるため、説明は省略する。パディング部404Bは、判断結果が否定的である場合には、出力画素(ここでは、出力画素は、第1及び第2垂直画素の何れかとなる)を用いて、拡張領域へのパディングを行う。第1及び第2垂直画素を用いたパディングの方法については、第1の実施の形態と同様であるため、説明は省略する。   If the determination result is negative, the padding unit 404B determines whether the received output pixel is either the first horizontal pixel or the second horizontal pixel. If the determination result is affirmative, the padding unit 404B performs padding on the extension region using the output pixel. Since the padding method using the first and second horizontal pixels is the same as that of the first embodiment, description thereof is omitted. When the determination result is negative, the padding unit 404B performs padding to the extension region using the output pixel (here, the output pixel is either the first or second vertical pixel). Since the padding method using the first and second vertical pixels is the same as that in the first embodiment, the description thereof is omitted.

これにより、パディング部404Bは、復号部100Bにて復元された画像をフレームメモリ402Bへ出力する際に、境界画素を拡張領域へ出力する(コピーする)ことが可能となる。
(2) 入出力部200B
入出力部200Aは、第1の実施の形態と同様であるため、説明は省略する。
Thus, the padding unit 404B can output (copy) the boundary pixel to the extension region when outputting the image restored by the decoding unit 100B to the frame memory 402B.
(2) Input / output unit 200B
Since the input / output unit 200A is the same as that of the first embodiment, description thereof is omitted.

(3) 復号部100B
復号部100Bは、可変長復号部101B、逆量子化部102B、逆DCT部103B、動き補償復号部104B、動きベクトル変換部106B及びデータ出力部108Bを有している。
復号部100Bは、16画素×16画素からなるマクロブロック単位で復号を行うことにより画像の再生を行う。
(3) Decoding unit 100B
The decoding unit 100B includes a variable length decoding unit 101B, an inverse quantization unit 102B, an inverse DCT unit 103B, a motion compensation decoding unit 104B, a motion vector conversion unit 106B, and a data output unit 108B.
The decoding unit 100B reproduces an image by performing decoding in units of macroblocks each composed of 16 pixels × 16 pixels.

可変長復号部101B、逆量子化部102B、逆DCT部103B、動き補償復号部104B及び動きベクトル変換部106Bは、それぞれ第1の実施の形態にて示す可変長復号部101、逆量子化部102、逆DCT部103、動き補償復号部104及び動きベクトル変換部106と同様であるため、説明は省略する。
以下、データ出力部108Bについて、説明する。
The variable length decoding unit 101B, the inverse quantization unit 102B, the inverse DCT unit 103B, the motion compensation decoding unit 104B, and the motion vector conversion unit 106B are respectively the variable length decoding unit 101 and the inverse quantization unit shown in the first embodiment. 102, the inverse DCT unit 103, the motion compensation decoding unit 104, and the motion vector conversion unit 106 are the same as those in FIG.
Hereinafter, the data output unit 108B will be described.

データ出力部108Bは、動き補償復号部104Bより復号データを受け取り、受け取った復号データを画素単位で、メモリ制御部300Bを介してパディング部404Bへ出力する。
データ出力部108Bは、復号データより出力画素を取得し、取得した出力画素と、出力画素の出力先のアドレスとをメモリ制御部300Bを介してパディング部404Bへ出力する。データ出力部108Bは、上記の動作を復号データに含まれる画素数分繰り返すことにより、復号データをパディング部404Bへ出力することができる。
The data output unit 108B receives the decoded data from the motion compensation decoding unit 104B, and outputs the received decoded data to the padding unit 404B via the memory control unit 300B in units of pixels.
The data output unit 108B acquires the output pixel from the decoded data, and outputs the acquired output pixel and the output destination address of the output pixel to the padding unit 404B via the memory control unit 300B. The data output unit 108B can output the decoded data to the padding unit 404B by repeating the above operation for the number of pixels included in the decoded data.

(4) メモリ制御部300B
メモリ制御部300Bは、入出力部200Bより符号化データを受け取り、受け取った符号化データをメモリ部401Bへ出力する。
また、メモリ部401Bより受け取った符号化列を復号部100Bの可変長復号部101Bへ出力する。
(4) Memory control unit 300B
The memory control unit 300B receives the encoded data from the input / output unit 200B, and outputs the received encoded data to the memory unit 401B.
In addition, the encoded sequence received from the memory unit 401B is output to the variable length decoding unit 101B of the decoding unit 100B.

メモリ制御部300Bは、出力画素と、出力先のアドレスとをデータ出力部108Bから受け取り、受け取った各情報をパディング部404Bへ出力する。
さらに、メモリ制御部300Bは、動きベクトル変換部106Bより動きベクトルの参照アドレスを受け取ると、受け取った参照アドレスを用いて、参照フレームより参照データを取得する。取得した参照データを動き補償復号部104Bへ出力する。
The memory control unit 300B receives the output pixel and the output destination address from the data output unit 108B, and outputs the received information to the padding unit 404B.
Furthermore, when the memory control unit 300B receives the reference address of the motion vector from the motion vector conversion unit 106B, the memory control unit 300B acquires reference data from the reference frame using the received reference address. The acquired reference data is output to the motion compensation decoding unit 104B.

メモリ制御部300Bは、フレームメモリ402Bより復号された画像を読み出し、読み出した画像を入出力部200Bへ出力する。
なお、メモリ制御部300Bは、メモリ部401Bとのデータの入出力及びフレームメモリ402Bとのデータの入出力は、DMAを発行して行う。
3.2 復号方法
ここでは、符号化データの復号を行う復号処理について説明する。
The memory control unit 300B reads the decoded image from the frame memory 402B and outputs the read image to the input / output unit 200B.
The memory control unit 300B performs data input / output with the memory unit 401B and data input / output with the frame memory 402B by issuing a DMA.
3.2 Decoding Method Here, a decoding process for decoding encoded data will be described.

なお、復号処理は、第1の実施の形態と同様であるため、説明は省略する。
また、復号処理にて行われる動き補償復号処理についても、第1の実施の形態と同様であるため、説明は省略する。
ここでは、復号処理にて行われる復号データ出力処理及びパディング部404Bにて行う書込処理について、説明する。
Note that the decoding process is the same as that in the first embodiment, and a description thereof will be omitted.
Also, the motion compensation decoding process performed in the decoding process is the same as in the first embodiment, and thus the description thereof is omitted.
Here, the decrypted data output process performed in the decryption process and the write process performed in the padding unit 404B will be described.

3.2.1 復号データ出力処理
ここでは、データ出力部108Bが行う復号データ出力処理について、図16に示す流れ図を用いて説明する。
データ出力部108Bは、復号データより画素データを取得し(ステップS800)、取得した画素データと、画素データの出力先のアドレスとをメモリ制御部300Bを介してパディング部404Bへ出力する(ステップS805)。
3.2.1 Decoded Data Output Process Here, the decoded data output process performed by the data output unit 108B will be described with reference to the flowchart shown in FIG.
The data output unit 108B acquires pixel data from the decoded data (step S800), and outputs the acquired pixel data and an output destination address of the pixel data to the padding unit 404B via the memory control unit 300B (step S805). ).

データ出力部108Bは、取得した画素データが、最終の画素データであるか否かを判断し(ステップS810)、最終の画素データであると判断する場合には(ステップS810における「YES」)、処理を終了する。最終の画素データでないと判断する場合には(ステップS810における「NO」)、ステップS800へ戻り、次画素データを取得し、処理を続行する。   The data output unit 108B determines whether or not the acquired pixel data is final pixel data (step S810). When determining that the acquired pixel data is final pixel data (“YES” in step S810), The process ends. If it is determined that the pixel data is not the final pixel data (“NO” in step S810), the process returns to step S800, the next pixel data is acquired, and the process is continued.

3.2.2 書込処理
ここでは、パディング部404Bが行う書込処理について、図17に示す流れ図を用いて説明する。
パディング部404Bは、復号部100Bからメモリ制御部300Bを介して、復号した画像の画素データと、当該画素データの出力先のアドレスと受け取る(ステップS850)。
3.2.2 Write Process Here, the write process performed by the padding unit 404B will be described with reference to the flowchart shown in FIG.
The padding unit 404B receives the pixel data of the decoded image and the output destination address of the pixel data from the decoding unit 100B via the memory control unit 300B (step S850).

パディング部404Bは、受け取った画素データが境界画素であるか否かを判断する(ステップS855)。
境界画素であると判断する場合には(ステップS855における「YES」)、パディング処理を行う(ステップS860)。
境界画素でないと判断する場合には(ステップS855における「NO」)、パディング部404Bは、受け取ったアドレスに基づいて、画素データをフレームメモリ402Bへ書き込む(ステップS865)。
The padding unit 404B determines whether or not the received pixel data is a boundary pixel (step S855).
If it is determined that the pixel is a boundary pixel (“YES” in step S855), padding processing is performed (step S860).
When determining that the pixel is not a boundary pixel (“NO” in step S855), the padding unit 404B writes pixel data to the frame memory 402B based on the received address (step S865).

なお、書込処理にて行われるパディング処理は、第1の実施の形態と同様の処理の流れであるため、説明は省略する。また、パディング処理にて行われる垂直パディング処理、水平パディング処理及び水平・垂直パディング処理は、第1の実施の形態と同様の処理の流れであるため、説明は省略する。
3.3 第3の実施の形態のまとめ
以上説明したように第3の実施の形態によれば、1マクロブロック分の復号データをフレームメモリへ出力する際に、復号データに境界画素が存在する場合には、拡張領域へのパディング処理をも行っている。このため、境界画素をフレームメモリより読み出す必要がないため、画像の復号後、拡張領域へのパディング処理を行う場合よりも、フレームメモリへのアクセス回数は少なくなる。
Note that the padding process performed in the writing process has the same process flow as that in the first embodiment, and thus description thereof is omitted. The vertical padding process, horizontal padding process, and horizontal / vertical padding process performed in the padding process are the same as those in the first embodiment, and thus description thereof is omitted.
3.3 Summary of Third Embodiment As described above, according to the third embodiment, when decoded data for one macroblock is output to the frame memory, boundary pixels exist in the decoded data. In some cases, padding processing to the extension area is also performed. For this reason, since it is not necessary to read the boundary pixels from the frame memory, the number of accesses to the frame memory is smaller than when padding processing to the extension area is performed after decoding the image.

さらに、参照フレームは予め拡張領域にパディングがされているため、画像を復号する場合に、動きベクトルが拡張領域を含む参照領域の外を参照しているときには、動きベクトルのクリッピング処理のみで、領域外を参照する動画像復号化を行うことが可能となり、動き補償復号に対する処理が軽減される。
また、拡張領域へのパディング処理を外部メモリ400Bのパディング部404Bにて行っているため、復号部100Bは、画素データを拡張領域へ出力する度に画素データを外部メモリ400Bへ出力する必要がないため、外部メモリ400Bと復号部100Bとの間におけるトラフィックを軽減することができる。
Furthermore, since the reference frame is padded in advance in the extension region, when decoding the image, if the motion vector refers to the outside of the reference region including the extension region, only the motion vector clipping process is performed. It is possible to perform moving picture decoding that refers to the outside, and processing for motion compensation decoding is reduced.
In addition, since the padding unit 404B of the external memory 400B performs the padding process to the extension region, the decoding unit 100B does not need to output the pixel data to the external memory 400B every time the pixel data is output to the extension region. Therefore, traffic between the external memory 400B and the decoding unit 100B can be reduced.

3.3.1 第3の実施の形態の変形例
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下の場合も本発明に含まれる。
(1)上記実施の形態において、復号された復号データを画素単位にフレームメモリへ出力したが、これに限定されない。復号データをバースト転送によりフレームメモリへ出力してもよい。
3.3.1 Modification of Third Embodiment Although the present invention has been described based on the above-described embodiment, it is needless to say that the present invention is not limited to the above-described embodiment. The following cases are also included in the present invention.
(1) In the above embodiment, the decoded data is output to the frame memory in units of pixels. However, the present invention is not limited to this. The decoded data may be output to the frame memory by burst transfer.

なお、バースト転送による実現方法は、第1の実施の形態の変形例(2)にて示した方法と同様の方法で実現できるため説明は省略する。
(2)パディング部404Bを外部メモリ400Bに設けたが、これに限定されない。パディング部404Bをメモリ制御部300Bに設けてもよい。
(3)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
Note that the implementation method by the burst transfer can be realized by the same method as the method shown in the modification (2) of the first embodiment, and the description thereof will be omitted.
(2) Although the padding unit 404B is provided in the external memory 400B, the present invention is not limited to this. The padding unit 404B may be provided in the memory control unit 300B.
(3) The above embodiment and the above modifications may be combined.

4.その他の変形例
なお、本発明を第1、第2及び第3の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下の場合も本発明に含まれる。
(1)本発明において、携帯電話機が受信する情報として、TSを用いたが、これに限定されない。動画像がディジタル信号化されたディジタル情報であるビットストリームであればよい。ビットストリームは、TSの他に、例えば、プログラムストリームである。画像処理部の入出力部は、ビットストリームを受け取り、受け取ったビットストリームより、画像に係るデータを取得し、取得したデータから符号化データを生成して、生成した符号化データをメモリ部へ出力する。復号部にて行う動作は、第1の実施の形態と同様であるため、説明は省略する。
4). Other Modifications Although the present invention has been described based on the first, second, and third embodiments, it is needless to say that the present invention is not limited to the above-described embodiments. The following cases are also included in the present invention.
(1) In the present invention, TS is used as information received by the mobile phone, but the present invention is not limited to this. Any bit stream may be used if the moving image is digital information converted into a digital signal. The bit stream is, for example, a program stream in addition to the TS. The input / output unit of the image processing unit receives the bit stream, acquires data related to the image from the received bit stream, generates encoded data from the acquired data, and outputs the generated encoded data to the memory unit To do. Since the operation performed by the decoding unit is the same as that of the first embodiment, description thereof is omitted.

(2)本発明において、画像サイズは、176画素×144画素としたが、これに限定されない。他の画像サイズであってもよい。例えば、水平352画素×垂直288画素である。
(3)本発明において、マクロブロックのサイズを16画素×16画素としたが、これに限定されない。他のブロックサイズであってもよい。
(2) In the present invention, the image size is 176 pixels × 144 pixels, but is not limited to this. Other image sizes may be used. For example, horizontal 352 pixels × vertical 288 pixels.
(3) In the present invention, the size of the macroblock is 16 pixels × 16 pixels, but is not limited to this. Other block sizes may be used.

例えば、8画素×8画素である。これにより、8画素×8画素単位に動きベクトルを設定することが可能となる。
(4)本発明において、拡張領域の縦横の幅を、1マクロブロック単位である16画素分としたが、これに限定されない。拡張領域は、縦横とも1画素以上の幅であればよい。
または、復号するブロックサイズと一致する幅としてもよい。例えば、復号するブロックサイズが8画素×8画素である場合には、拡張領域の縦横の幅を、それぞれ8画素分とすればよい。
For example, 8 pixels × 8 pixels. This makes it possible to set a motion vector in units of 8 pixels × 8 pixels.
(4) In the present invention, the vertical and horizontal widths of the extension area are set to 16 pixels that are in units of one macroblock, but the present invention is not limited to this. The extension region may be one pixel or more in width and width.
Alternatively, the width may be the same as the block size to be decoded. For example, when the block size to be decoded is 8 pixels × 8 pixels, the vertical and horizontal widths of the extension area may be 8 pixels each.

(5)本発明において、動画像復号化装置を携帯電話機としたが、これに限定されない。符号化された動画像を復号し再生する装置であればよい。例えば、セットトップBox、DVD装置、モバイル通信装置、放送受信機及び、ブロードバンドネットワークにより配信される動画像を再生する装置である。
(6)本発明において、外部メモリをDRAMとしたが、これに限定されない。外部メモリは、他のタイプのものであってよい。例えば、SDRAM(Synchronous DRAM)である。
(5) In the present invention, the moving picture decoding apparatus is a mobile phone, but the present invention is not limited to this. Any device that decodes and reproduces an encoded moving image may be used. For example, a set top box, a DVD device, a mobile communication device, a broadcast receiver, and a device that reproduces a moving image distributed by a broadband network.
(6) In the present invention, the external memory is DRAM, but is not limited to this. The external memory may be of other types. For example, it is SDRAM (Synchronous DRAM).

また、本発明において、外部メモリとして、揮発性メモリを用いたが、これに限定されない。外部メモリとして、不揮発性メモリを用いてもよい。
また、本発明において、外部メモリを用いたが、これに限定されない。復号部に備えられた内部メモリを用いてもよい。
(7)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
In the present invention, a volatile memory is used as the external memory, but the present invention is not limited to this. A nonvolatile memory may be used as the external memory.
In the present invention, an external memory is used. However, the present invention is not limited to this. An internal memory provided in the decoding unit may be used.
(7) The present invention may be the method described above. Further, the present invention may be a computer program that realizes these methods by a computer, or may be a digital signal composed of the computer program.

また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。   The present invention also provides a computer-readable recording medium such as a flexible disk, hard disk, CD-ROM, MO, DVD, DVD-ROM, DVD-RAM, BD (Blu-ray Disc). ), Recorded in a semiconductor memory or the like. Further, the present invention may be the computer program or the digital signal recorded on these recording media.

また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。
In the present invention, the computer program or the digital signal may be transmitted via an electric communication line, a wireless or wired communication line, a network represented by the Internet, or the like.
The present invention may be a computer system including a microprocessor and a memory, wherein the memory stores the computer program, and the microprocessor operates according to the computer program.

また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(8)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
In addition, the program or the digital signal is recorded on the recording medium and transferred, or the program or the digital signal is transferred via the network or the like, and is executed by another independent computer system. It is good.
(8) The above embodiment and the above modifications may be combined.

本発明における復号化装置及び復号化方法は、参照画面の拡張領域を参照して、画面の復号を行う技術に利用されうる。   The decoding device and the decoding method according to the present invention can be used in a technique for decoding a screen by referring to an extension area of a reference screen.

携帯電話機1の構成を示すブロック図である。1 is a block diagram showing a configuration of a mobile phone 1. FIG. 画像処理部10の構成を示すブロック図である。2 is a block diagram illustrating a configuration of an image processing unit 10. FIG. フレームメモリ402に格納される画像データのデータ形式を示した模式図である。4 is a schematic diagram showing a data format of image data stored in a frame memory 402. FIG. 符号化データの復号を行う動作を示す流れ図である。It is a flowchart which shows the operation | movement which decodes encoding data. 動き補償復号を行う動作を示す流れ図である。It is a flowchart which shows the operation | movement which performs motion compensation decoding. 復号されたデータをフレームメモリへ出力する動作を示す流れ図である。It is a flowchart which shows the operation | movement which outputs the decoded data to a frame memory. 拡張領域へパディングを行う動作を示す流れ図である。It is a flowchart which shows the operation | movement which performs padding to an expansion area | region. 垂直パディング処理を示す流れ図である。It is a flowchart which shows a vertical padding process. 水平パディング処理を示す流れ図である。It is a flowchart which shows a horizontal padding process. 水平・垂直パディング処理を示す流れ図である。It is a flowchart which shows a horizontal and vertical padding process. 復号処理を示すタイミング図である。It is a timing diagram which shows a decoding process. 画像処理部10Aの構成を示すブロック図である。It is a block diagram which shows the structure of 10 A of image processing parts. パディング判定部107Aにて行われる復号データ出力処理の動作を示す流れ図である。It is a flowchart which shows the operation | movement of the decoding data output process performed in the padding determination part 107A. 書込部403Aにて行われる書込処理の動作を示す流れ図である。It is a flowchart which shows the operation | movement of the writing process performed in the writing part 403A. 画像処理部10Bの構成を示すブロック図である。It is a block diagram which shows the structure of the image process part 10B. データ出力部108Bにて行われる復号データ出力処理の動作を示す流れ図である。It is a flowchart which shows the operation | movement of the decoding data output process performed in the data output part 108B. パディング部404Bにて行われる書込処理の動作を示す流れ図である。It is a flowchart which shows the operation | movement of the writing process performed in the padding part 404B.

符号の説明Explanation of symbols

1 携帯電話機
2 符号化装置
10 画像処理部
20 無線部
21 アンテナ
30 ベースバンド信号処理部
40 スピーカー
50 マイク
60 入力部
70 表示部
80 制御部
100 復号部
101 可変長復号部
102 逆量子化部
103 逆DCT部
104 補償復号部
105 パディング部
106 ベクトル変換部
200 入出力部
300 メモリ制御部
400 外部メモリ
401 メモリ部
402 フレームメモリ
DESCRIPTION OF SYMBOLS 1 Mobile telephone 2 Coding apparatus 10 Image processing part 20 Radio | wireless part 21 Antenna 30 Baseband signal processing part 40 Speaker 50 Microphone 60 Input part 70 Display part 80 Control part 100 Decoding part 101 Variable length decoding part 102 Inverse quantization part 103 Inverse DCT unit 104 Compensation decoding unit 105 Padding unit 106 Vector conversion unit 200 Input / output unit 300 Memory control unit 400 External memory 401 Memory unit 402 Frame memory

Claims (14)

動画像の復号化装置であって、
動画像を構成する1のフレーム画像を格納するための画像領域と、前記フレーム画像を囲む拡張画像を格納するための拡張領域とを備える記憶手段と、
前記フレーム画像が所定の画素数からなるブロック単位に符号化された圧縮符号列を受け付け、受け付けた圧縮符号列を復号化して、所定数の画素からなるブロック画像を生成する復号手段、
前記ブロック画像を前記記憶手段の画像領域へ出力する出力手段とを備え、
前記出力手段は、前記ブロック画像を出力するときに、前記拡張領域内の相応する位置へ、前記ブロック画像に含まれ、且つ前記フレームの内縁に隣接する画素の出力を行う
ことを特徴とする復号化装置。
A moving picture decoding device comprising:
Storage means comprising an image area for storing one frame image constituting a moving image, and an extension area for storing an extension image surrounding the frame image;
Decoding means for receiving a compression code string in which the frame image is encoded in a block unit having a predetermined number of pixels, and decoding the received compression code string to generate a block image having a predetermined number of pixels;
Output means for outputting the block image to an image area of the storage means,
The output means, when outputting the block image, outputs pixels included in the block image and adjacent to the inner edge of the frame to a corresponding position in the extension region. Device.
前記出力手段は、前記ブロック画像を出力するときに、前記ブロック画像に含まれる画素が前記フレームの内縁に隣接するか否かの判断と、前記画素が前記フレームの内縁に隣接すると判断する場合に前記拡張領域内の相応する位置へ前記画素の出力とを行う
ことを特徴とする請求項1に記載の復号化装置。
When outputting the block image, the output means determines whether or not a pixel included in the block image is adjacent to an inner edge of the frame, and determines that the pixel is adjacent to an inner edge of the frame. The decoding apparatus according to claim 1, wherein the pixel is output to a corresponding position in the extension region.
前記復号化装置は、さらに、
前記フレーム画像及び前記拡張画像の生成が完了するまで、前記復号手段及び前記出力手段に対して、ブロック画像の生成、ブロック画像の出力、及び前記ブロック画像に含まれる画素が前記フレームの内縁に隣接する場合に前記拡張領域内の相応する位置へ前記画素の出力を繰り返すように制御する繰返手段を
備えることを特徴とする請求項2に記載の復号化装置。
The decoding device further includes:
Until the generation of the frame image and the extended image is completed, block image generation, block image output, and pixels included in the block image are adjacent to the inner edge of the frame. The decoding apparatus according to claim 2, further comprising: a repeating unit that performs control so that the output of the pixel is repeated to a corresponding position in the extension region.
前記出力手段は、前記ブロック画像に含まれる画素が前記フレームの内縁に隣接すると判断する場合に、前記画素の出力先となる前記拡張領域内の水平方向アドレス、垂直方向アドレス又は、両方向のアドレスを算出し、算出したアドレスに基づいて、前記画素を前記拡張領域へ出力する
ことを特徴とする請求項2に記載の復号化装置。
When the output unit determines that the pixel included in the block image is adjacent to the inner edge of the frame, the output unit outputs a horizontal address, a vertical address, or a bi-directional address in the extension area to which the pixel is output The decoding apparatus according to claim 2, wherein the decoding is performed and the pixel is output to the extension region based on the calculated address.
前記記憶手段は、さらに、前記フレーム画像とは異なるフレーム画像及び、前記拡張画像とは異なる拡張画像からなる参照フレーム画像を予め記憶しており、
前記圧縮符号列は、前記参照フレーム画像の外又は内を示す動きベクトルと、符号化されたブロックと前記の参照フレーム画像内の参照ブロック画像との差分からなる差分ブロック画像とが符号化された情報を含み、
前記復号手段は、
前記圧縮符号列を受け付ける受付部と、
前記圧縮符号列を復号して、前記動きベクトルと、前記差分ブロック画像とを取得する取得部と、
前記動きベクトルが、前記参照フレーム画像の外を示しているか否かを判断する動きベクトル判断部と、
前記参照フレーム画像の外を示すと判断される場合に、前記動きベクトルが示す位置から、前記参照フレーム画像内において最も近い位置を示すよう動きベクトルを変換し、前記参照フレーム画像より、変換後の動きベクトルにより示される参照データを取得する動きベクトル変換部と、
前記参照データと、前記差分ブロック画像とを用いて、前記ブロック画像を生成するブロック画像生成部と
を備えることを特徴とする請求項4に記載の復号化装置。
The storage means further stores in advance a reference frame image including a frame image different from the frame image and an extended image different from the extended image,
The compression code string is obtained by encoding a motion vector indicating the outside or inside of the reference frame image and a difference block image including a difference between the encoded block and the reference block image in the reference frame image. Including information,
The decoding means includes
A receiving unit that receives the compressed code string;
An acquisition unit that decodes the compression code string to acquire the motion vector and the difference block image;
A motion vector determination unit for determining whether or not the motion vector indicates outside the reference frame image;
When it is determined that the reference frame image is outside, the motion vector is converted from the position indicated by the motion vector so as to indicate the closest position in the reference frame image. A motion vector conversion unit for acquiring reference data indicated by the motion vector;
The decoding apparatus according to claim 4, further comprising: a block image generation unit that generates the block image using the reference data and the difference block image.
前記動きベクトル変換部は、前記動きベクトル判断部にて、前記動きベクトルが前記参照フレーム画像の内を参照していると判断される場合には、前記動きベクトルを用いて、前記参照フレーム画像より参照データを取得する
ことを特徴とする請求項5に記載の復号化装置。
When the motion vector determination unit determines that the motion vector refers to the reference frame image, the motion vector conversion unit uses the motion vector to determine from the reference frame image. Reference data is acquired. The decoding apparatus of Claim 5 characterized by the above-mentioned.
前記圧縮符号列は、符号化されたブロックからなる符号ブロック画像の情報を含み、
前記復号手段は、
前記圧縮符号列を受け付ける受付部と、
前記圧縮符号列を復号して、前記符号ブロック画像を生成し、生成した符号ブロック画像をブロック画像とする生成部と
を備えることを特徴とする請求項4に記載の復号化装置。
The compressed code string includes information of a code block image composed of encoded blocks,
The decoding means includes
A receiving unit that receives the compressed code string;
The decoding apparatus according to claim 4, further comprising: a generation unit that decodes the compressed code string to generate the code block image, and uses the generated code block image as a block image.
前記記憶手段は、外部メモリ及び内部メモリの何れかからなる
ことを特徴とする請求項2に記載の復号化装置。
The decoding device according to claim 2, wherein the storage unit includes any one of an external memory and an internal memory.
前記記憶手段及び出力手段は、外部メモリ及び内部メモリの何れかからなる
ことを特徴とする請求項2に記載の復号化装置。
The decoding apparatus according to claim 2, wherein the storage unit and the output unit include any one of an external memory and an internal memory.
前記出力手段は、
前記ブロック画像を前記記憶手段の画像領域へ出力する第1出力部と、
前記ブロック画像を出力するときに、前記ブロック画像に含まれる画素が、前記フレームの内縁に隣接するか否かを判断する判断部と、
前記判断部にて前記画素が隣接すると判断される場合に、前記画素を前記拡張領域内の相応する位置へ出力する第2出力部と
を備えることを特徴とする請求項2に記載の復号化装置。
The output means includes
A first output unit for outputting the block image to an image area of the storage unit;
A determination unit that determines whether a pixel included in the block image is adjacent to an inner edge of the frame when the block image is output;
3. The decoding according to claim 2, further comprising: a second output unit that outputs the pixel to a corresponding position in the extension region when the determination unit determines that the pixel is adjacent. apparatus.
動画像を再生する携帯型端末装置であって、
請求項1に記載の復号化装置を含む
ことを特徴とする携帯型端末装置。
A portable terminal device for playing back moving images,
A portable terminal device comprising the decoding device according to claim 1.
動画像の復号化装置に用いられる復号化方法であって、
前記復号化装置は、
動画像を構成する1のフレーム画像を格納するための画像領域と、前記フレーム画像を囲む拡張画像を格納するための拡張領域とを備える記憶手段を備え、
前記復号化方法は、
前記フレーム画像が所定の画素数からなるブロック単位に符号化された圧縮符号列を受け付け、受け付けた圧縮符号列を復号化して、所定数の画素からなるブロック画像を生成する復号ステップと、
前記ブロック画像を前記記憶手段の画像領域へ出力する出力ステップとを含み、
前記出力ステップは、前記ブロック画像を出力するときに、前記拡張領域内の相応する位置へ、前記ブロック画像に含まれ、且つ前記フレームの内縁に隣接する画素の出力を行う
ことを特徴とする復号化方法。
A decoding method used in a moving picture decoding apparatus,
The decoding device
Storage means comprising an image area for storing one frame image constituting a moving image, and an extension area for storing an extension image surrounding the frame image;
The decoding method is:
A decoding step of receiving a compression code string in which the frame image is encoded in a block unit including a predetermined number of pixels, decoding the received compression code string, and generating a block image including a predetermined number of pixels;
Outputting the block image to the image area of the storage means,
The output step outputs the pixels included in the block image and adjacent to the inner edge of the frame to a corresponding position in the extension region when the block image is output. Method.
動画像の復号化装置に用いられる復号化プログラムであって、
前記復号化装置は、
動画像を構成する1のフレーム画像を格納するための画像領域と、前記フレーム画像を囲む拡張画像を格納するための拡張領域とを備える記憶手段を備え、
前記復号化プログラムは、
前記フレーム画像が所定の画素数からなるブロック単位に符号化された圧縮符号列を受け付け、受け付けた圧縮符号列を復号化して、所定数の画素からなるブロック画像を生成する復号ステップと、
前記ブロック画像を前記記憶手段の画像領域へ出力する出力ステップとを含み、
前記出力ステップは、前記ブロック画像を出力するときに、前記拡張領域内の相応する位置へ、前記ブロック画像に含まれ、且つ前記フレームの内縁に隣接する画素の出力を行う
ことを特徴とする復号化プログラム。
A decoding program used in a moving picture decoding apparatus,
The decoding device
Storage means comprising an image area for storing one frame image constituting a moving image, and an extension area for storing an extension image surrounding the frame image;
The decryption program is
A decoding step of receiving a compression code string in which the frame image is encoded in a block unit including a predetermined number of pixels, decoding the received compression code string, and generating a block image including a predetermined number of pixels;
Outputting the block image to the image area of the storage means,
The output step outputs the pixels included in the block image and adjacent to the inner edge of the frame to a corresponding position in the extension region when the block image is output. Program.
動画像の復号化装置に用いられる復号化プログラムを記録しているコンピュータ読み取り可能な記録媒体であって、
前記復号化装置は、
動画像を構成する1のフレーム画像を格納するための画像領域と、前記フレーム画像を囲む拡張画像を格納するための拡張領域とを備える記憶手段を備え、
前記復号化プログラムは、
前記フレーム画像が所定の画素数からなるブロック単位に符号化された圧縮符号列を受け付け、受け付けた圧縮符号列を復号化して、所定数の画素からなるブロック画像を生成する復号ステップと、
前記ブロック画像を前記記憶手段の画像領域へ出力する出力ステップとを含み、
前記出力ステップは、前記ブロック画像を出力するときに、前記拡張領域内の相応する位置へ、前記ブロック画像に含まれ、且つ前記フレームの内縁に隣接する画素の出力を行う
ことを特徴とする記録媒体。
A computer-readable recording medium recording a decoding program used in a moving picture decoding apparatus,
The decoding device
Storage means comprising an image area for storing one frame image constituting a moving image, and an extension area for storing an extension image surrounding the frame image;
The decryption program is
A decoding step of receiving a compression code string in which the frame image is encoded in a block unit including a predetermined number of pixels, decoding the received compression code string, and generating a block image including a predetermined number of pixels;
Outputting the block image to the image area of the storage means,
In the recording step, when the block image is output, the pixels included in the block image and adjacent to the inner edge of the frame are output to a corresponding position in the extension region. Medium.
JP2004206336A 2003-07-28 2004-07-13 Decoding device of animation Pending JP2005065239A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004206336A JP2005065239A (en) 2003-07-28 2004-07-13 Decoding device of animation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003281097 2003-07-28
JP2004206336A JP2005065239A (en) 2003-07-28 2004-07-13 Decoding device of animation

Publications (1)

Publication Number Publication Date
JP2005065239A true JP2005065239A (en) 2005-03-10

Family

ID=34380137

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004206336A Pending JP2005065239A (en) 2003-07-28 2004-07-13 Decoding device of animation

Country Status (1)

Country Link
JP (1) JP2005065239A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008078871A (en) * 2006-09-20 2008-04-03 Toshiba Corp Image decoding device, and image decoding method
US8189675B2 (en) 2006-05-10 2012-05-29 Samsung Electonics Co., Ltd. Method, medium and system storing image data for fast memory access
JP2014511641A (en) * 2011-03-09 2014-05-15 シーメンス アクチエンゲゼルシヤフト Method for encoding a sequence of digital images
JP2014531873A (en) * 2011-10-04 2014-11-27 クゥアルコム・インコーポレイテッドQualcomm Incorporated Motion vector predictor candidate clipping removal for video coding
JPWO2015011752A1 (en) * 2013-07-22 2017-03-02 ルネサスエレクトロニクス株式会社 Video encoding apparatus and operation method thereof
WO2017095195A1 (en) * 2015-12-02 2017-06-08 삼성전자주식회사 Method and apparatus for system resource management

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8189675B2 (en) 2006-05-10 2012-05-29 Samsung Electonics Co., Ltd. Method, medium and system storing image data for fast memory access
JP2008078871A (en) * 2006-09-20 2008-04-03 Toshiba Corp Image decoding device, and image decoding method
US8155204B2 (en) 2006-09-20 2012-04-10 Kabushiki Kaisha Toshiba Image decoding apparatus and image decoding method
JP2014511641A (en) * 2011-03-09 2014-05-15 シーメンス アクチエンゲゼルシヤフト Method for encoding a sequence of digital images
US9872017B2 (en) 2011-03-09 2018-01-16 Siemens Aktiengesellschaft Method for coding a sequence of digitized images
JP2014531873A (en) * 2011-10-04 2014-11-27 クゥアルコム・インコーポレイテッドQualcomm Incorporated Motion vector predictor candidate clipping removal for video coding
US9083983B2 (en) 2011-10-04 2015-07-14 Qualcomm Incorporated Motion vector predictor candidate clipping removal for video coding
JPWO2015011752A1 (en) * 2013-07-22 2017-03-02 ルネサスエレクトロニクス株式会社 Video encoding apparatus and operation method thereof
WO2017095195A1 (en) * 2015-12-02 2017-06-08 삼성전자주식회사 Method and apparatus for system resource management
US10474574B2 (en) 2015-12-02 2019-11-12 Samsung Electronics Co., Ltd. Method and apparatus for system resource management

Similar Documents

Publication Publication Date Title
EP1503597A2 (en) Video decoding apparatus
US8982964B2 (en) Image decoding device, image coding device, methods thereof, programs thereof, integrated circuits thereof, and transcoding device
US8208549B2 (en) Decoder, encoder, decoding method and encoding method
TWI723849B (en) Image decoding device, method and computer readable recording medium
US9497460B2 (en) Image coding method and image decoding method
JP4682410B2 (en) Image processing apparatus and image processing method
US10033997B2 (en) Image decoding apparatus, image decoding method, integrated circuit, and program
EP0831658A2 (en) Encoder/decoder for coding/decoding gray scale shape data and method thereof
US8223842B2 (en) Dynamic image decoding device
JPWO2005107267A1 (en) Image encoding / decoding device, encoding / decoding program, and encoding / decoding method
JPWO2007148619A1 (en) Moving picture decoding apparatus, decoded picture recording apparatus, method and program thereof
US8155186B2 (en) Bit stream recording medium, video encoder, and video decoder
US9743079B2 (en) Image processing apparatus and image processing method for the collective transfer of prediction parameters between storage units
JP2005065239A (en) Decoding device of animation
JP2007019995A (en) Image processing device, method, and program
JP2005223631A (en) Data processor and processing method, encoder and decoder
JP4165752B2 (en) Secret data insertion method and secret data detection method for image data
JP2010010917A (en) Dynamic image encoding device, dynamic image decoding device, dynamic image encoding method, and dynamic image decoding method
JP2000175199A (en) Image processor, image processing method and providing medium
JP4320509B2 (en) Video re-encoding apparatus and method
JP4655791B2 (en) Encoding apparatus, encoding method and program thereof
JP5038400B2 (en) Image processing apparatus, image processing method, image processing program, and recording medium
JP2883592B2 (en) Moving picture decoding apparatus and moving picture decoding method
JP4529295B2 (en) Motion vector conversion method and conversion device
JP2009290387A (en) Encoder, decoder and recording reproducing device