JP2005065239A - Decoding device of animation - Google Patents
Decoding device of animation Download PDFInfo
- 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
Links
Images
Abstract
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.
そこで、符号データ復号中の処理負荷を軽減するために、フレームメモリに書き込まれた復号画像を用いて、書き込まれた復号画像の領域外に対して、予めパディング処理を行う方法も考案されている。
しかしながら、フレームメモリに書き込まれた復号画像の領域外に対して、予めパディング処理を行う方法では、フレームメモリより、復号された画像の各境界画素を読み込む必要があるため、フレームメモリとパディング処理を行う処理部とのアクセス回数が多くなり、パディング処理時の処理負荷が大きくなるという問題がある。
本発明では、パディング処理の処理負荷を軽減する復号化装置及び復号化方法及びプログラムを提供することを目的とする。
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
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
The
1.1.2
The baseband
また、ベースバンド信号処理部30は、TSを無線部20を介して受け取ると、受け取ったTSを制御部80へ出力する。
1.1.3 スピーカー40
スピーカー40は、ベースバンド信号処理部30にて処理された信号を音声として出力する。
In addition, when the baseband
1.1.3
The
1.1.4 マイク50
マイク50は、使用者の音声を受け付け、受け付けた音声をベースバンド信号処理部30へ出力する。
1.1.5 入力部60
入力部60は、数字入力キーなどの入力機能を備えたキーボード等により構成されており、キーボードからのキー入力によるキー操作信号を使用者から入力指示として、制御部80へ出力する。
1.1.4
The
1.1.5
The
1.1.6 表示部70
表示部70は、制御部80から出力命令されたデータの表示の出力を行う。
1.1.7 制御部80
制御部80は、携帯電話機1全体の制御を行う。
制御部80は、ベースバンド信号処理部30よりTSを受け取ると、受け取ったTSを画像処理部10へ出力する。
1.1.6
The
1.1.7
The
When receiving the TS from the baseband
また、画像処理部10より復号された画像を受け取り、受け取った画像を表示部70へ出力し、画像の再生を行う。
1.1.8 画像処理部10
画像処理部10は、図2に示すように、復号部100、入出力部200、メモリ制御部300及び外部メモリ400から構成されている。
Also, the decoded image is received from the
1.1.8
As illustrated in FIG. 2, the
(1) 外部メモリ400
外部メモリ400は、メモリ部401及びフレームメモリ402を有している。ここで、外部メモリ400は、DRAM(Dynamic Random Access Memory)である。
(A) メモリ部401
メモリ部401は、画像に係るデータからなる符号化データを蓄積している。
(1) External memory 400
The external memory 400 includes a
(A)
The
(B) フレームメモリ402
フレームメモリ402は、復号部100により復号された画像を蓄積している。蓄積している画像は、他の符号化された画像を復号する場合に、参照フレームとして用いられる。また、蓄積している画像は、再生された画像より、縦横1復号化ブロック分大きい領域(以下、「拡張領域」という。)を有している。拡張領域に、境界画素の値が出力される(コピーされる)ことにより、再生された画像を囲む画像が形成される。また、ここでは、拡張領域は、縦横16画素分の領域となる。
(B)
The
(2) 入出力部200
入出力部200は、制御部80よりTSを受け取り、受け取ったTSをESに分離して、分離した各ESから画像に係るデータを取得し、取得した各データを用いて、符号化データを生成し、生成した符号化データをメモリ制御部300を介してメモリ部401へ出力する。
(2) Input /
The input /
また、画像の再生時には、メモリ制御部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
(3)
The
復号部100は、16画素×16画素からなるマクロブロック単位で復号を行うことにより画像の再生を行う。
(A) 可変長復号部101
可変長復号部101は、メモリ部401の符号化データより予め決められた長さからなる符号化列を読み込む。読み込んだ符号化列を用いて、エントロピー復号を行い、符号化モード、参照するデータを示す参照アドレスを含む動きベクトル情報及び量子化DCT係数を取得する。
The
(A) Variable
The variable
(B) 逆量子化部102
逆量子化部102は、可変長復号部101にて取得した量子化DCT係数に、逆量子化を施して、DCT係数を復元する。
(C) 逆DCT部103
逆DCT部103は、逆量子化部102にて復元されたDCT係数に、逆DCTを施して、画素空間データを復元する。
(B)
The
(C)
The
(D) 動き補償復号部104
動き補償復号部104は、可変長復号部101にて取得した符号化モードが、動き補償予測モードであるかイントラ符号モードであるかの判断を行う。
動き補償予測モードである場合には、可変長復号部101にて取得した動きベクトル情報を動きベクトル変換部106へ出力する。また、メモリ制御部300より参照データを受け取り、受け取った参照データを逆DCT部103にて復元された画素空間データに加算して、1マクロブロック分の画像の復元を行う。これにより、復元された1マクロブロック分の画像が得られることになる。
(D) Motion
The motion
In the case of the motion compensation prediction mode, the motion vector information acquired by the variable
イントラ符号モードである場合には、逆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
Hereinafter, the restored image for one macroblock is referred to as decoded data.
The motion
(E) Motion
The motion
また、参照アドレスが、参照フレームの領域内を参照している場合には、その参照アドレスをメモリ制御部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
(F) Padding
The
境界画素のデータでない場合には、従来と同様に、出力画素をフレームメモリ402へ出力して、再生時に表示される画像の領域に出力する。
以降では、「境界画素のデータ」を、単に「境界画素」とも呼ぶ。また、出力画素を再生時に表示される画像の領域に出力する方法は、従来と同様の方法であり、例えば、出力画素の出力先のアドレスを算出して、算出したアドレスに基づいて、出力画素をフレームメモリ402へ出力する。
When the data is not the boundary pixel data, the output pixel is output to the
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
なお、出力画素が境界画素であるか否かの判断は、出力画素の出力先のアドレスと復号される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
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
再生時に表示される再生画像を格納する画像領域1000は、水平176画素×垂直144画素から構成されており、出力する画素が境界画素となる場合を以下のように分けることができる。ここで、境界画素は、再生画像における枠の内縁と接する画素となり、図3にて示す画素の中で、以下に挙げる画素が境界画素となる。画素(0,0)から水平方向へ向かって画素(0,175)までに位置する画素、画素(1,0)から垂直方向へ向かって画素(142、0)までに位置する画素、画素(0,175)から垂直方向へ向かって画素(142、175)までに位置する画素、及び画素(143,0)から水平方向へ向かって画素(143,175)までに位置する画素である。
An
さらに、境界画素となる出力画素は、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
さらに、画素(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
また、画素(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
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
また、画素(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
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
(4)
The
また、メモリ部401より受け取った符号化列を復号部100の可変長復号部101へ出力し、復号部100により復元された画像を画素単位にフレームメモリ402へ出力する。
さらに、動きベクトル変換部106より動きベクトルの参照アドレスを受け取ると、受け取った参照アドレスを用いて、参照フレームより参照データを取得する。取得した参照データを動き補償復号部104へ出力する。
Also, the encoded sequence received from the
Furthermore, when a motion vector reference address is received from the motion
メモリ制御部300は、フレームメモリ402より復号された画像を読み出し、読み出した画像を入出力部200へ出力する。
なお、メモリ制御部300は、メモリ部401とのデータの入出力及びフレームメモリ402とのデータの入出力は、DMA(Direct Memory Access)を発行して行う。
The
The
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
次に、動き補償復号部104にて、ステップS10にて取得した符号化モードが、動き補償予測モードであるかイントラ符号モードであるかの判断を行う(ステップS25)。
動き補償予測モードであると判断する場合には(ステップS25における「NO」)、動き補償復号処理を行い(ステップS30)、動き補償復号処理にて復号された復号データを用いて、復号データ出力処理を行う(ステップS35)。
Next, the motion
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
参照アドレスが、参照フレームの領域内であると判断する場合には(ステップ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
境界画素であると判断する場合には(ステップ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
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
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
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
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
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
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
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
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
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
パディング部105は、復号データより、フレームメモリ402へ出力する1画素のデータを取得し、取得した画素データが境界画素であるか否かを判断する(ステップS505)。
次に、パディング部105は、取得した画素データが境界画素であると判断する場合には、取得した画素データをメモリ制御部300を介してフレームメモリ402へ出力するとともに、一時的に記憶する(ステップS510)。このとき、メモリ制御部300は、DMAを発行し、パディング部105とフレームメモリ402との間におけるデータの入出力の制御行う。次に、パディング部105は、拡張領域1001内の相応する位置に対して、一時的に記憶している画素データの出力を行う(ステップS515)。ステップS515を所定回数分繰り返すことにより、パディング処理が完了する。パディング処理完了後、次に出力する画素データを取得し、取得した画素データが境界画素であるか否かの判断を行い(ステップS520)、取得した画素データの出力以降の処理を行う。
The
Next, when determining that the acquired pixel data is a boundary pixel, the
また、ステップ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
さらに、これらの処理をマクロブロック単位に繰り返すことにより、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
なお、図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
2.1
As shown in FIG. 12, the
(1) 外部メモリ400A
外部メモリ400Aは、メモリ部401A、フレームメモリ402A及び書込部403Aを有している。ここで、外部メモリ400Aは、DRAMである。
メモリ部401A及びフレームメモリ402Aは、第1の実施の形態と同様であるため、説明は省略する。
(1)
The
Since the
(A) 書込部403A
書込部403Aは、復号部100Aからメモリ制御部300Aを介して、復号した画像の出力画素と、当該出力画素の出力先のアドレスと、当該出力画素に係る情報とを受け取る。ここで、出力先のアドレスとは、再生時に表示される画像の領域において、出力画素が出力される位置を示すアドレスである。
(A)
The
また、出力画素に係る情報とは、以下に挙げる情報の何れかである。受け取る出力画素が、第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
The
When the
書込部403Aは、判断結果が否定的である場合には、受け取った情報が、第1水平画素情報又は第2水平画素情報の何れかであるか否かを判断する。判断結果が肯定的である場合には、書込部403Aは、出力画素(ここでは、出力画素は、第1及び第2水平画素の何れかとなる)を拡張領域内の相応する位置へ出力する。第1及び第2水平画素を拡張領域内の相応する位置へ出力する方法については、第1の実施の形態と同様であるため、説明は省略する。書込部403Aは、判断結果が否定的である場合には、出力画素(ここでは、出力画素は、第1及び第2垂直画素の何れかとなる)を拡張領域内の相応する位置へ出力する。第1及び第2垂直画素を拡張領域内の相応する位置へ出力する方法については、第1の実施の形態と同様であるため、説明は省略する。
When the determination result is negative, the
これにより、書込部403Aは、復号部100Aにて復元された画像をフレームメモリ402Aへ出力する際に、拡張領域へ出力する(コピーする)ことが可能となる。
(2) 入出力部200A
入出力部200Aは、第1の実施の形態と同様であるため、説明は省略する。
(3) 復号部100A
復号部100Aは、可変長復号部101A、逆量子化部102A、逆DCT部103A、動き補償復号部104A、動きベクトル変換部106A及びパディング判定部107Aを有している。
Thus, the
(2) Input /
Since the input /
(3)
The
復号部100Aは、16画素×16画素からなるマクロブロック単位で復号を行うことにより画像の再生を行う。
可変長復号部101A、逆量子化部102A、逆DCT部103A、動き補償復号部104A及び動きベクトル変換部106Aは、それぞれ第1の実施の形態にて示す可変長復号部101、逆量子化部102、逆DCT部103、動き補償復号部104及び動きベクトル変換部106と同様であるため、説明は省略する。
The
The variable
以下、パディング判定部107Aについて、説明する。
パディング判定部107Aは、動き補償復号部104Aより復号データを受け取り、受け取った復号データを画素単位で、メモリ制御部300Aを介して書込部403Aへ出力する。
パディング判定部107Aは、復号データより出力画素を取得し、取得した出力画素が境界画素であるか否かを判断し、境界画素であると判断する場合には、さらに、出力画素が第1、第2、第3及び第4領域画素の何れかであるか否かを判断する。判断結果が肯定的である場合には、領域画素に対応する情報を生成する。例えば、出力画素が第1領域画素である場合には、第1領域画素情報を生成し、第2領域画素である場合には、第2領域画素情報を生成し、第3領域画素である場合には、第3領域画素情報を生成する。パディング判定部107Aは、出力画素と、当該出力画素の出力先のアドレスと、生成した情報とをメモリ制御部300Aを介して、書込部403Aへ出力する。
Hereinafter, the
The
The
パディング判定部107Aは、判断結果が否定的である場合には、さらに、出力画素が第1及び第2水平画素の何れかであるか否かを判断する。判断結果が肯定的である場合には、水平画素に対応する情報を生成する。例えば、出力画素が第1水平画素である場合には、第1水平画素情報を生成し、第2水平画素である場合には、第2水平画素情報を生成する。パディング判定部107Aは、出力画素と、当該出力画素の出力先のアドレスと、生成した情報とをメモリ制御部300Aを介して、書込部403Aへ出力する。パディング判定部107Aは、判断結果が否定的である場合には、垂直画素に対応する情報を生成する。例えば、出力画素が第1垂直画素である場合には、第1垂直画素情報を生成し、第2垂直画素である場合には、第2垂直画素情報を生成する。パディング判定部107Aは、出力画素と、当該出力画素の出力先のアドレスと、生成した情報とをメモリ制御部300Aを介して、書込部403Aへ出力する。
If the determination result is negative,
パディング判定部107Aは、出力画素が、境界画素でないと判断する場合には、非境界画素情報を生成し、出力画素と、当該出力画素の出力先のアドレスと、生成した非境界画素情報とをメモリ制御部300Aを介して、書込部403Aへ出力する。
パディング判定部107Aは、上記の動作を復号データに含まれる画素数分繰り返すことにより、復号データを書込部403Aへ出力することができる。
When determining that the output pixel is not a boundary pixel, the
Padding
(4) メモリ制御部300A
メモリ制御部300Aは、入出力部200Aより符号化データを受け取り、受け取った符号化データをメモリ部401Aへ出力する。
また、メモリ部401Aより受け取った符号化列を復号部100Aの可変長復号部101Aへ出力する。
(4)
The
The encoded sequence received from the
メモリ制御部300Aは、出力画素と、出力先のアドレスと、当該出力画素に係る情報とをパディング判定部107Aから受け取り、受け取った各情報を書込部403Aへ出力する。
さらに、メモリ制御部300Aは、動きベクトル変換部106Aより動きベクトルの参照アドレスを受け取ると、受け取った参照アドレスを用いて、参照フレームより参照データを取得する。取得した参照データを動き補償復号部104Aへ出力する。
The
Further, when the
メモリ制御部300Aは、フレームメモリ402Aより復号された画像を読み出し、読み出した画像を入出力部200Aへ出力する。
なお、メモリ制御部300Aは、メモリ部401Aとのデータの入出力及びフレームメモリ402Aとのデータの入出力は、DMAを発行して行う。
2.2 復号方法
ここでは、符号化データの復号を行う復号処理について説明する。
The
Note that the
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
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
境界画素であると判断する場合には(ステップ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
判断結果が否定的である場合には(ステップ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
パディング判定部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
When determining that the output pixel is not a boundary pixel (“NO” in step S605), the
2.2.2 書込処理
ここでは、書込部403Aが行う書込処理について、図14に示す流れ図を用いて説明する。
書込部403Aは、復号部100Aからメモリ制御部300Aを介して、復号した画像の画素データと、当該画素データの出力先のアドレスと、当該画素データに係る情報とを受け取る(ステップS700)。
2.2.2 Write Processing Here, the write processing performed by the
The
書込部403Aは、受け取ったアドレスに基づいて、画素データをフレームメモリ402Aへ書き込む(ステップS705)。
書込部403Aは、受け取った情報が、非境界画素情報であるか否かを判断し(ステップS710)、非境界画素情報であると判断する場合には(ステップS710における「YES」)、動作を終了する。
The
The
書込部403Aは、受け取った情報が非境界画素情報でないと判断する場合には(ステップS710における「NO」)、受け取った情報が、第1領域画素情報、第2領域画素情報、第3領域画素情報又は第4領域画素情報の何れかであるか否かを判断する(ステップS715)。判断結果が肯定的である場合には(ステップS715における「YES」)、書込部403は、受け取った画素データ(ここでは、第1、第2、第3及び第4領域画素の何れかとなる)を用いて、受け取った情報に基づいて、垂直パディング処理を行い(ステップS720)、さらに、水平・垂直パディング処理を行う(ステップS725)。
When the
書込部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
なお、書込処理にて行われる垂直パディング処理、水平パディング処理、水平・垂直パディング処理は、第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
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
パディング判定部107Aにて、画素データが境界画素である場合には、コピー先のアドレスを全て算出して、画素データ、画素データの出力先のアドレス及び算出したコピー先の全てのアドレスを書込部403Aへ出力する。書込部403Aは、画素データの出力先のアドレス及びコピー先の全てのアドレスに基づいて、画素データをフレームメモリ402Aへ書き込む。
When the pixel data is a boundary pixel, the
このときの復号データ出力処理について、図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
If the
また、パディング判定部107Aは、ステップS620を実行後、画素データが水平画素であると判断する場合には、ステップS625を行う代わりに、画素データのコピー先を全て算出し、画素データと画素データの出力先のアドレスと算出した全てのアドレスとを書込部403Aへ出力する。
また、パディング判定部107Aは、ステップS620を実行後、画素データが垂直画素であると判断する場合には、ステップS630を行う代わりに、画素データのコピー先を全て算出し、画素データと画素データの出力先のアドレスと算出した全てのアドレスとを書込部403Aへ出力する。
If the
If the
さらに、書込処理について、図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
(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
(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
(1)
The
メモリ部401B及びフレームメモリ402Bは、第1の実施の形態と同様であるため、説明は省略する。
(A) パディング部404B
パディング部404Bは、復号部100Bからメモリ制御部300Bを介して、復号した画像の出力画素と、当該出力画素の出力先のアドレスとを受け取る。ここで、出力先のアドレスとは、再生時に表示される画像の領域において、出力画素が出力される位置を示すアドレスである。
Since the memory unit 401B and the
(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
パディング部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
When determining that the received output pixel is a boundary pixel, the padding unit 404B first writes the received output pixel to the
パディング部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
(2) Input / output unit 200B
Since the input /
(3) 復号部100B
復号部100Bは、可変長復号部101B、逆量子化部102B、逆DCT部103B、動き補償復号部104B、動きベクトル変換部106B及びデータ出力部108Bを有している。
復号部100Bは、16画素×16画素からなるマクロブロック単位で復号を行うことにより画像の再生を行う。
(3)
The
The
可変長復号部101B、逆量子化部102B、逆DCT部103B、動き補償復号部104B及び動きベクトル変換部106Bは、それぞれ第1の実施の形態にて示す可変長復号部101、逆量子化部102、逆DCT部103、動き補償復号部104及び動きベクトル変換部106と同様であるため、説明は省略する。
以下、データ出力部108Bについて、説明する。
The variable
Hereinafter, the
データ出力部108Bは、動き補償復号部104Bより復号データを受け取り、受け取った復号データを画素単位で、メモリ制御部300Bを介してパディング部404Bへ出力する。
データ出力部108Bは、復号データより出力画素を取得し、取得した出力画素と、出力画素の出力先のアドレスとをメモリ制御部300Bを介してパディング部404Bへ出力する。データ出力部108Bは、上記の動作を復号データに含まれる画素数分繰り返すことにより、復号データをパディング部404Bへ出力することができる。
The
The
(4) メモリ制御部300B
メモリ制御部300Bは、入出力部200Bより符号化データを受け取り、受け取った符号化データをメモリ部401Bへ出力する。
また、メモリ部401Bより受け取った符号化列を復号部100Bの可変長復号部101Bへ出力する。
(4)
The
In addition, the encoded sequence received from the memory unit 401B is output to the variable
メモリ制御部300Bは、出力画素と、出力先のアドレスとをデータ出力部108Bから受け取り、受け取った各情報をパディング部404Bへ出力する。
さらに、メモリ制御部300Bは、動きベクトル変換部106Bより動きベクトルの参照アドレスを受け取ると、受け取った参照アドレスを用いて、参照フレームより参照データを取得する。取得した参照データを動き補償復号部104Bへ出力する。
The
Furthermore, when the
メモリ制御部300Bは、フレームメモリ402Bより復号された画像を読み出し、読み出した画像を入出力部200Bへ出力する。
なお、メモリ制御部300Bは、メモリ部401Bとのデータの入出力及びフレームメモリ402Bとのデータの入出力は、DMAを発行して行う。
3.2 復号方法
ここでは、符号化データの復号を行う復号処理について説明する。
The
The
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
The
データ出力部108Bは、取得した画素データが、最終の画素データであるか否かを判断し(ステップS810)、最終の画素データであると判断する場合には(ステップS810における「YES」)、処理を終了する。最終の画素データでないと判断する場合には(ステップS810における「NO」)、ステップS800へ戻り、次画素データを取得し、処理を続行する。
The
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
パディング部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
なお、書込処理にて行われるパディング処理は、第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
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
(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 携帯電話機
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
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.
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)
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 |
-
2004
- 2004-07-13 JP JP2004206336A patent/JP2005065239A/en active Pending
Cited By (10)
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 |