(57)【要約】  【課題】  パディング処理の処理負荷を軽減する復号化装置を提供する。  【解決手段】  復号化装置は、復号された復号データをフレームメモリへ出力する際に、出力する復号データに境界画素が含まれるか否かを判断し、境界画素が含まれると判断する場合には、境界画素のデータを用いて、拡張領域へパディング処理を行うパディング部を備える。これにより、復号された１マクロブロックに含まれる画素の出力とともに、出力されるマクロブロックに境界画素が含まれる場合には、拡張領域へ境界画素の出力もされることとなり、境界画素をフレームメモリより再度読み込む必要が無くなるため、パディング時の処理負荷が軽減される。【選択図】  図２
2005065239.tif 000002
【特許請求の範囲】
【請求項１】
動画像の復号化装置であって、
動画像を構成する１のフレーム画像を格納するための画像領域と、前記フレーム画像を囲む拡張画像を格納するための拡張領域とを備える記憶手段と、
前記フレーム画像が所定の画素数からなるブロック単位に符号化された圧縮符号列を受け付け、受け付けた圧縮符号列を復号化して、所定数の画素からなるブロック画像を生成する復号手段、
前記ブロック画像を前記記憶手段の画像領域へ出力する出力手段とを備え、
前記出力手段は、前記ブロック画像を出力するときに、前記拡張領域内の相応する位置へ、前記ブロック画像に含まれ、且つ前記フレームの内縁に隣接する画素の出力を行う
ことを特徴とする復号化装置。
【請求項２】
前記出力手段は、前記ブロック画像を出力するときに、前記ブロック画像に含まれる画素が前記フレームの内縁に隣接するか否かの判断と、前記画素が前記フレームの内縁に隣接すると判断する場合に前記拡張領域内の相応する位置へ前記画素の出力とを行う
ことを特徴とする請求項１に記載の復号化装置。
【請求項３】
前記復号化装置は、さらに、
前記フレーム画像及び前記拡張画像の生成が完了するまで、前記復号手段及び前記出力手段に対して、ブロック画像の生成、ブロック画像の出力、及び前記ブロック画像に含まれる画素が前記フレームの内縁に隣接する場合に前記拡張領域内の相応する位置へ前記画素の出力を繰り返すように制御する繰返手段を
備えることを特徴とする請求項２に記載の復号化装置。
【請求項４】
前記出力手段は、前記ブロック画像に含まれる画素が前記フレームの内縁に隣接すると判断する場合に、前記画素の出力先となる前記拡張領域内の水平方向アドレス、垂直方向アドレス又は、両方向のアドレスを算出し、算出したアドレスに基づいて、前記画素を前記拡張領域へ出力する
ことを特徴とする請求項２に記載の復号化装置。
【請求項５】
前記記憶手段は、さらに、前記フレーム画像とは異なるフレーム画像及び、前記拡張画像とは異なる拡張画像からなる参照フレーム画像を予め記憶しており、
前記圧縮符号列は、前記参照フレーム画像の外又は内を示す動きベクトルと、符号化されたブロックと前記の参照フレーム画像内の参照ブロック画像との差分からなる差分ブロック画像とが符号化された情報を含み、
前記復号手段は、
前記圧縮符号列を受け付ける受付部と、
前記圧縮符号列を復号して、前記動きベクトルと、前記差分ブロック画像とを取得する取得部と、
前記動きベクトルが、前記参照フレーム画像の外を示しているか否かを判断する動きベクトル判断部と、
前記参照フレーム画像の外を示すと判断される場合に、前記動きベクトルが示す位置から、前記参照フレーム画像内において最も近い位置を示すよう動きベクトルを変換し、前記参照フレーム画像より、変換後の動きベクトルにより示される参照データを取得する動きベクトル変換部と、
前記参照データと、前記差分ブロック画像とを用いて、前記ブロック画像を生成するブロック画像生成部と
を備えることを特徴とする請求項４に記載の復号化装置。
【請求項６】
前記動きベクトル変換部は、前記動きベクトル判断部にて、前記動きベクトルが前記参照フレーム画像の内を参照していると判断される場合には、前記動きベクトルを用いて、前記参照フレーム画像より参照データを取得する
ことを特徴とする請求項５に記載の復号化装置。
【請求項７】
前記圧縮符号列は、符号化されたブロックからなる符号ブロック画像の情報を含み、
前記復号手段は、
前記圧縮符号列を受け付ける受付部と、
前記圧縮符号列を復号して、前記符号ブロック画像を生成し、生成した符号ブロック画像をブロック画像とする生成部と
を備えることを特徴とする請求項４に記載の復号化装置。
【請求項８】
前記記憶手段は、外部メモリ及び内部メモリの何れかからなる
ことを特徴とする請求項２に記載の復号化装置。
【請求項９】
前記記憶手段及び出力手段は、外部メモリ及び内部メモリの何れかからなる
ことを特徴とする請求項２に記載の復号化装置。
【請求項１０】
前記出力手段は、
前記ブロック画像を前記記憶手段の画像領域へ出力する第１出力部と、
前記ブロック画像を出力するときに、前記ブロック画像に含まれる画素が、前記フレームの内縁に隣接するか否かを判断する判断部と、
前記判断部にて前記画素が隣接すると判断される場合に、前記画素を前記拡張領域内の相応する位置へ出力する第２出力部と
を備えることを特徴とする請求項２に記載の復号化装置。
【請求項１１】
動画像を再生する携帯型端末装置であって、
請求項１に記載の復号化装置を含む
ことを特徴とする携帯型端末装置。
【請求項１２】
動画像の復号化装置に用いられる復号化方法であって、
前記復号化装置は、
動画像を構成する１のフレーム画像を格納するための画像領域と、前記フレーム画像を囲む拡張画像を格納するための拡張領域とを備える記憶手段を備え、
前記復号化方法は、
前記フレーム画像が所定の画素数からなるブロック単位に符号化された圧縮符号列を受け付け、受け付けた圧縮符号列を復号化して、所定数の画素からなるブロック画像を生成する復号ステップと、
前記ブロック画像を前記記憶手段の画像領域へ出力する出力ステップとを含み、
前記出力ステップは、前記ブロック画像を出力するときに、前記拡張領域内の相応する位置へ、前記ブロック画像に含まれ、且つ前記フレームの内縁に隣接する画素の出力を行う
ことを特徴とする復号化方法。
【請求項１３】
動画像の復号化装置に用いられる復号化プログラムであって、
前記復号化装置は、
動画像を構成する１のフレーム画像を格納するための画像領域と、前記フレーム画像を囲む拡張画像を格納するための拡張領域とを備える記憶手段を備え、
前記復号化プログラムは、
前記フレーム画像が所定の画素数からなるブロック単位に符号化された圧縮符号列を受け付け、受け付けた圧縮符号列を復号化して、所定数の画素からなるブロック画像を生成する復号ステップと、
前記ブロック画像を前記記憶手段の画像領域へ出力する出力ステップとを含み、
前記出力ステップは、前記ブロック画像を出力するときに、前記拡張領域内の相応する位置へ、前記ブロック画像に含まれ、且つ前記フレームの内縁に隣接する画素の出力を行う
ことを特徴とする復号化プログラム。
【請求項１４】
動画像の復号化装置に用いられる復号化プログラムを記録しているコンピュータ読み取り可能な記録媒体であって、
前記復号化装置は、
動画像を構成する１のフレーム画像を格納するための画像領域と、前記フレーム画像を囲む拡張画像を格納するための拡張領域とを備える記憶手段を備え、
前記復号化プログラムは、
前記フレーム画像が所定の画素数からなるブロック単位に符号化された圧縮符号列を受け付け、受け付けた圧縮符号列を復号化して、所定数の画素からなるブロック画像を生成する復号ステップと、
前記ブロック画像を前記記憶手段の画像領域へ出力する出力ステップとを含み、
前記出力ステップは、前記ブロック画像を出力するときに、前記拡張領域内の相応する位置へ、前記ブロック画像に含まれ、且つ前記フレームの内縁に隣接する画素の出力を行う
ことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、圧縮符号化されたディジタルビデオ信号を復号する技術に関する。
【背景技術】
【０００２】
ＮＴＳＣ（Ｎａｔｉｏｎａｌ  Ｔｅｌｅｖｉｓｉｏｎ  Ｓｙｓｔｅｍ  Ｃｏｍｍｉｔｔｅｅ）やＰＡＬ（Ｐｈａｓｅ  Ａｌｔｅｒｎａｔｉｏｎ  ｂｙ  Ｌｉｎｅ）等の地上波アナログ放送方式や衛星放送方式のディジタル化、家庭内におけるＡＶ機器のディジタル化などに伴い、動画像がディジタル信号化されたディジタル情報として伝送されている。一般的に動画像をディジタル情報に変換すると情報量が多くなるため、ディジタル情報をそのまま伝送することは、効率が悪い。そこで、ディジタル情報を効率良く伝送するための手段として、動画像圧縮技術が用いられている。動画像圧縮技術の代表的なものとして、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）方式がある。この方式は、ＩＳＯ／ＩＥＣにて、国際標準化された方式であり、広く用いられている。
【０００３】
ＭＰＥＧ方式では、画面が持つ時間的な冗長度を削減するために画面間の相関を利用した動き補償符号化と、画面が持つ空間的な冗長度を削減するために画面内の相関を利用した離散余弦変換（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ、以下、「ＤＣＴ」という。）符号化とを行う。さらに、動き補償符号化された情報及びＤＣＴ符号化された情報に対して、可変長符号化を行うことにより情報量の圧縮を行っている。このような画像圧縮方式は、ハイブリッド符号化と呼ばれている。
【０００４】
ここで、動き補償符号化とは、符号化する画面を、異なる画面（以降、「参照フレーム」という。）から予測することによって情報量を圧縮する符号化であり、予測した値との差分と予測値の位置情報（以降、「動きベクトル」という。）を符号化するものである。この動き補償符号化は、動画像圧縮技術において、符号化効率を向上させる技術として広く普及している。
【０００５】
なお、ＤＣＴ符号化及び可変長符号化については、公知であるため、ここでは説明を省略する。
近年、動き補償符号化において、参照フレームの外を参照する方式が採用されている。この方式では、符号化対象のマクロブロックが、参照フレームの外を参照する場合、画素値が存在しない領域外の画素には、その画素に最も近い参照フレーム内の画素（以降、「境界画素」という。）の値をコピーするパディングという処理が行われている。このようにパディング処理が行われた参照データを用いて動き補償符号化を行うことにより、フレームの境界付近のマクロブロックが参照する参照データのパターンが増えるため、符号化効率を向上することが可能となる。
【０００６】
ここで、参照データとは、動きベクトルの値により示されたマクロブロックのデータである。また、境界画素は、領域外の画素に最も近い参照フレーム内の画素であるため、参照フレームの枠の内縁に位置する画素となる。
また、動画像復号化においても、参照フレームの外を参照する方式が採用されている。この場合の動画像復号化装置及び動画像復号化方法が、特許文献１に開示されている。これによると、復号するマクロブロックのアクセスアドレスが、有効画像データの領域外であれば、有効画像データの領域を示すアドレスになるようアクセスアドレスを制御することにより、データを補うことで復号を行っている。
【０００７】
しかしながら、上記の動画像復号化方法では、以下のような問題がある。
動きベクトルが参照フレームの領域外を参照している場合には、動きベクトルの値を参照フレームの領域内となるように動きベクトルの値を変換し、参照データを取得し、取得した参照データへパディングを行っている。この方法では、領域外を示す２つの異なる動きベクトルの値に対して、同じ参照データへパディングを行う場合がある。そのため、処理量が増加し、符号データの復号中の処理負荷が大きくなるという問題である。
【０００８】
そこで、符号データ復号中の処理負荷を軽減するために、フレームメモリに書き込まれた復号画像を用いて、書き込まれた復号画像の領域外に対して、予めパディング処理を行う方法も考案されている。
【特許文献１】国際公開番号  ＷＯ  ００／３６８４１
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、フレームメモリに書き込まれた復号画像の領域外に対して、予めパディング処理を行う方法では、フレームメモリより、復号された画像の各境界画素を読み込む必要があるため、フレームメモリとパディング処理を行う処理部とのアクセス回数が多くなり、パディング処理時の処理負荷が大きくなるという問題がある。
本発明では、パディング処理の処理負荷を軽減する復号化装置及び復号化方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明は、動画像の復号化装置であって、動画像を構成する１のフレーム画像を格納するための画像領域と、前記フレーム画像を囲む拡張画像を格納するための拡張領域とを備える記憶手段と、前記フレーム画像が所定の画素数からなるブロック単位に符号化された圧縮符号列を受け付け、受け付けた圧縮符号列を復号化して、所定数の画素からなるブロック画像を生成する復号手段と、前記ブロック画像を前記記憶手段の画像領域へ出力する出力手段とを備え、前記出力手段は、前記ブロック画像を出力するときに、前記拡張領域内の相応する位置へ、前記ブロック画像に含まれ、且つ前記フレームの内縁に隣接する画素の出力を行うことを特徴とする。
【発明の効果】
【００１１】
課題を解決するための手段に示した構成によると、復号化装置は、前記ブロック画像を記憶手段の画像領域へ出力するときに、前記拡張領域内の相応する位置へ、前記ブロック画像に含まれ、且つ前記フレームの内縁に隣接する画素を出力しており、フレームの内縁に隣接する画素を記憶手段より再度読み込む必要が無い。そのため、拡張領域へ画素を出力する処理の処理負荷が軽減される。
【００１２】
ここで、前記出力手段は、前記ブロック画像を出力するときに、前記ブロック画像に含まれる画素が前記フレームの内縁に隣接するか否かの判断と、前記画素が前記フレームの内縁に隣接すると判断する場合に前記拡張領域内の相応する位置へ前記画素の出力とを行うとしてもよい。
この構成によると、復号化装置の出力手段は、記憶手段に出力するブロック画像に含まれる画素が、フレームの内縁に隣接すると判断する場合には、その画素を拡張領域内の相応する位置へ出力することができる。
【００１３】
ここで、前記復号化装置は、さらに、前記フレーム画像及び前記拡張画像の生成が完了するまで、前記復号手段及び前記出力手段に対して、ブロック画像の生成、ブロック画像の出力、及び前記ブロック画像に含まれる画素が前記フレームの内縁に隣接する場合に前記拡張領域内の相応する位置へ前記画素の出力を繰り返すように制御する繰返手段を備えるとしてもよい。
【００１４】
この構成によると、繰返手段を用いて、１つのフレーム画像及び当該フレーム画像を囲む拡張画像の生成を行うことができる。これにより、例えば、画像サイズが１７６画素×１４４画素である場合には、フレームの内縁に隣接する画素は、６３６個存在しており、従来、拡張領域へ画素を出力する場合には、フレームの内縁に隣接する各画素を読み出す必要があるため、画素を読み出す処理を６３６回行う必要があった。本発明における復号化装置では、フレームの内縁に隣接する各画素を記憶手段より再度読み込む必要が無いため、この回数を削減することができ、処理負荷が軽減される。
【００１５】
ここで、前記出力手段は、前記ブロック画像に含まれる画素が前記フレームの内縁に隣接すると判断する場合に、前記画素の出力先となる前記拡張領域内の水平方向アドレス、垂直方向アドレス又は、両方向のアドレスを算出し、算出したアドレスに基づいて、前記画素を前記拡張領域へ出力するとしてもよい。
この構成によると、出力手段は、前記ブロック画像に含まれる画素が前記フレームの内縁に隣接すると判断する場合に、拡張領域内の水平方向アドレス、垂直方向アドレス又は、両方向のアドレスを算出することにより、算出したアドレスに基づいて、画素を拡張領域へ出力することが可能となる。
【００１６】
ここで、前記記憶手段は、さらに、前記フレーム画像とは異なるフレーム画像及び、前記拡張画像とは異なる拡張画像からなる参照フレーム画像を予め記憶しており、前記圧縮符号列は、前記参照フレーム画像の外又は内を示す動きベクトルと、符号化されたブロックと前記の参照フレーム画像内の参照ブロック画像との差分からなる差分ブロック画像とが符号化された情報を含み、前記復号手段は、前記圧縮符号列を受け付ける受付部と、前記圧縮符号列を復号して、前記動きベクトルと、前記差分ブロック画像とを取得する取得部と、前記動きベクトルが、前記参照フレーム画像の外を示しているか否かを判断する動きベクトル判断部と、前記参照フレーム画像の外を示すと判断される場合に、前記動きベクトルが示す位置から、前記参照フレーム画像内において最も近い位置を示すよう動きベクトルを変換し、前記参照フレーム画像より、変換後の動きベクトルにより示される参照データを取得する動きベクトル変換部と、前記参照データと、前記差分ブロック画像とを用いて、前記ブロック画像を生成するブロック画像生成部とを備えるとしてもよい。
【００１７】
この構成によると、取得部にて取得した動きベクトルが、参照フレーム画像の外である場合には、動きベクトル変換部により、参照フレーム画像の内となるように動きベクトルを変換し、変換された動きベクトルを用いて、参照フレーム画像より参照データを取得できる。また、取得した参照データと、取得部にて取得した差分ブロック画像を用いて、ブロック画像を生成することができる。
【００１８】
ここで、前記動きベクトル変換部は、前記動きベクトル判断部にて、前記動きベクトルが前記参照フレーム画像の内を参照していると判断される場合には、前記動きベクトルを用いて、前記参照フレーム画像より参照データを取得するとしてもよい。
この構成によると、取得部にて取得した動きベクトルが、参照フレーム画像の内である場合には、取得した動きベクトルを用いて、参照フレーム画像より参照データを取得することができる。
【００１９】
ここで、前記圧縮符号列は、符号化されたブロックからなる符号ブロック画像の情報を含み、前記復号手段は、前記圧縮符号列を受け付ける受付部と、前記圧縮符号列を復号して、前記符号ブロック画像を生成し、生成した符号ブロック画像をブロック画像とする生成部とを備えるとしてもよい。
この構成によると、復号化装置は、生成部にて生成した符号ブロック画像をブロック画像とすることができる。
【００２０】
ここで、前記記憶手段は、外部メモリ及び内部メモリの何れかからなるとしてもよい。
この構成によると、復号化装置は、記憶手段を外部メモリ及び内部メモリの何れかに備えることができる。
ここで、前記記憶手段及び出力手段は、外部メモリ及び内部メモリの何れかからなるとしてもよい。
【００２１】
この構成によると、復号化装置は、記憶手段及び出力手段を外部メモリ及び内部メモリの何れかに備えることができる。
ここで、前記出力手段は、前記ブロック画像を前記記憶手段の画像領域へ出力する第１出力部と、前記ブロック画像を出力するときに、前記ブロック画像に含まれる画素が、前記フレームの内縁に隣接するか否かを判断する判断部と、前記判断部にて前記画素が隣接すると判断される場合に、前記画素を前記拡張領域内の相応する位置へ出力する第２出力部とを備えるとしてもよい。
【００２２】
この構成によると、復号化装置の出力手段は、第１出力部、判断部及び第２出力部を用いて、ブロック画像を画像領域へ出力及び、出力するブロック画像に含まれる画素が、フレームの内縁に隣接すると判断する場合には、その画素を拡張領域内の相応する位置へ出力することができる。
【発明を実施するための最良の形態】
【００２３】
１．第１の実施の形態
本発明に係る第１の実施の形態としての携帯電話機１について説明する。
携帯電話機１は、図１に示すように、インターネットを介して、符号化装置２により符号化された動画像の情報を受信し、受信した情報を復号し、動画像の再生を行う。
ここで、動画像の符号化について簡単に説明する。符号化装置２は、先ず、入力画像を受け取り、受け取った画像をＡ／Ｄ変換し、さらに、符号化で用いる画面サイズの空間解像度に変換する。なお、変換された画像を以降では、符号化対象画像と呼ぶ。また、符号化で用いる画像サイズの一例は、水平１７６画素×垂直１４４画素である。
【００２４】
次に、符号化装置２は、符号化対象画像の符号化を１６画素×１６画素からなるマクロブロック単位に、画面で左から右へ、また上から下の順番に、以下のようにして符号化を行う。
符号化を行うマクロブロックにおいて、動き補償によるフレーム間符号化を示す動き補償予測モードにて符号化を行うか若しくは、フレーム内符号化を示すイントラ符号化モードで符号化を行うかの決定がされる。
【００２５】
動き補償予測モードでは、符号化対象であるマクロブロックのデータと、参照画面から動き予測によって得られるマクロブロックのデータとの差分をとり予測誤差信号を取得し時間的な情報の圧縮が行われる。この予測誤差信号に対して、符号化対象であるマクロブロックをさらに分割した８画素×８画素からなるブロック単位でＤＣＴが行われ、ＤＣＴ係数が生成される。イントラ符号化モードでは、動き補償予測を行わないで、マクロブロックのデータに対して、ＤＣＴが行われ、ＤＣＴ係数が生成される。
【００２６】
生成されたＤＣＴ係数は、量子化が行われ、量子化ＤＣＴ係数が生成され、さらに、生成された量子化ＤＣＴ係数は、可変長符号化される。また、符号化モードや動きベクトルを含むマクロブロック符号化情報も、可変長符号化される。
また、入力された画像は、次画面を符号化する際の参照画面として使用するため、量子化された情報を、逆量子化し、次に、逆ＤＣＴ及び動き補償により局部復号が行われ、復号された画像は、符号化装置２が備えるフレームメモリ内に記憶される。
【００２７】
このように生成された各符号化情報を多重化し、さらには、多重化された各情報を用いて、ビットストリームであるエレメンタリストリーム（以下、「ＥＳ」という。）を生成する。さらに、生成されたＥＳを用いて、トランスポートストリーム（以下、「ＴＳ」という。）を生成する。符号化装置２は、このようにして生成されたＴＳを出力する。
１．１  携帯電話機１の構成
ここでは、携帯電話機１の構成について説明する。
【００２８】
携帯電話機１は、図１に示すように、無線部２０、ベースバンド信号処理部３０、スピーカー４０、マイク５０、入力部６０、表示部７０、制御部８０及び画像処理部１０から構成されている。
携帯電話機１は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ディスプレイユニット、バスなどから構成されるコンピュータシステムである。前記ＲＯＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサは、前記コンピュータプログラムに従って動作することにより、携帯電話機１は、その機能を達成する。
【００２９】
１．１．１  無線部２０
無線部２０は、アンテナ２１を備えており、無線信号の送受信を行う。
１．１．２  ベースバンド信号処理部３０
ベースバンド信号処理部３０は、無線部２０より受け取った信号をスピーカー４０へ出力するための信号処理や、マイク５０より受け取った音声を無線部２０へ出力するための信号処理を行う。
【００３０】
また、ベースバンド信号処理部３０は、ＴＳを無線部２０を介して受け取ると、受け取ったＴＳを制御部８０へ出力する。
１．１．３  スピーカー４０
スピーカー４０は、ベースバンド信号処理部３０にて処理された信号を音声として出力する。
【００３１】
１．１．４  マイク５０
マイク５０は、使用者の音声を受け付け、受け付けた音声をベースバンド信号処理部３０へ出力する。
１．１．５  入力部６０
入力部６０は、数字入力キーなどの入力機能を備えたキーボード等により構成されており、キーボードからのキー入力によるキー操作信号を使用者から入力指示として、制御部８０へ出力する。
【００３２】
１．１．６  表示部７０
表示部７０は、制御部８０から出力命令されたデータの表示の出力を行う。
１．１．７  制御部８０
制御部８０は、携帯電話機１全体の制御を行う。
制御部８０は、ベースバンド信号処理部３０よりＴＳを受け取ると、受け取ったＴＳを画像処理部１０へ出力する。
【００３３】
また、画像処理部１０より復号された画像を受け取り、受け取った画像を表示部７０へ出力し、画像の再生を行う。
１．１．８  画像処理部１０
画像処理部１０は、図２に示すように、復号部１００、入出力部２００、メモリ制御部３００及び外部メモリ４００から構成されている。
【００３４】
（１）  外部メモリ４００
外部メモリ４００は、メモリ部４０１及びフレームメモリ４０２を有している。ここで、外部メモリ４００は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
（Ａ）  メモリ部４０１
メモリ部４０１は、画像に係るデータからなる符号化データを蓄積している。
【００３５】
（Ｂ）  フレームメモリ４０２
フレームメモリ４０２は、復号部１００により復号された画像を蓄積している。蓄積している画像は、他の符号化された画像を復号する場合に、参照フレームとして用いられる。また、蓄積している画像は、再生された画像より、縦横１復号化ブロック分大きい領域（以下、「拡張領域」という。）を有している。拡張領域に、境界画素の値が出力される（コピーされる）ことにより、再生された画像を囲む画像が形成される。また、ここでは、拡張領域は、縦横１６画素分の領域となる。
【００３６】
（２）  入出力部２００
入出力部２００は、制御部８０よりＴＳを受け取り、受け取ったＴＳをＥＳに分離して、分離した各ＥＳから画像に係るデータを取得し、取得した各データを用いて、符号化データを生成し、生成した符号化データをメモリ制御部３００を介してメモリ部４０１へ出力する。
【００３７】
また、画像の再生時には、メモリ制御部３００を介して、フレームメモリ４０２より復号された画像を読み出し、読み出した画像を制御部８０へ出力する。
（３）  復号部１００
復号部１００は、可変長復号部１０１、逆量子化部１０２、逆ＤＣＴ部１０３、動き補償復号部１０４、パディング部１０５及び動きベクトル変換部１０６を有している。
【００３８】
復号部１００は、１６画素×１６画素からなるマクロブロック単位で復号を行うことにより画像の再生を行う。
（Ａ）  可変長復号部１０１
可変長復号部１０１は、メモリ部４０１の符号化データより予め決められた長さからなる符号化列を読み込む。読み込んだ符号化列を用いて、エントロピー復号を行い、符号化モード、参照するデータを示す参照アドレスを含む動きベクトル情報及び量子化ＤＣＴ係数を取得する。
【００３９】
（Ｂ）  逆量子化部１０２
逆量子化部１０２は、可変長復号部１０１にて取得した量子化ＤＣＴ係数に、逆量子化を施して、ＤＣＴ係数を復元する。
（Ｃ）  逆ＤＣＴ部１０３
逆ＤＣＴ部１０３は、逆量子化部１０２にて復元されたＤＣＴ係数に、逆ＤＣＴを施して、画素空間データを復元する。
【００４０】
（Ｄ）  動き補償復号部１０４
動き補償復号部１０４は、可変長復号部１０１にて取得した符号化モードが、動き補償予測モードであるかイントラ符号モードであるかの判断を行う。
動き補償予測モードである場合には、可変長復号部１０１にて取得した動きベクトル情報を動きベクトル変換部１０６へ出力する。また、メモリ制御部３００より参照データを受け取り、受け取った参照データを逆ＤＣＴ部１０３にて復元された画素空間データに加算して、１マクロブロック分の画像の復元を行う。これにより、復元された１マクロブロック分の画像が得られることになる。
【００４１】
イントラ符号モードである場合には、逆ＤＣＴ部１０３にて復元された画素空間データを復元された１マクロブロック分の画像とする。
なお、以降では、復元された１マクロブロック分の画像を復号データと呼ぶ。
動き補償復号部１０４は、復号データをパディング部１０５へ出力する。
（Ｅ）  動きベクトル変換部１０６
動きベクトル変換部１０６は、動き補償復号部１０４より動きベクトル情報を受け取り、受け取った動きベクトル情報に含まれる参照アドレスを用いて、動きベクトルが、参照フレームの領域外を参照しているか否かを判定し、領域外を参照している場合には、動きベクトルの参照アドレスを、拡張領域を含むフレームメモリ内にクリッピングすることにより、動きベクトルの参照アドレスを変換する。変換された参照アドレスをメモリ制御部３００へ出力する。ここで、クリッピングにより変換された参照アドレスは、元の参照アドレスが示すマクロブロックの位置から、最も近い拡張領域を含むフレームメモリ内のマクロブロックの位置を示すアドレスとなる。
【００４２】
また、参照アドレスが、参照フレームの領域内を参照している場合には、その参照アドレスをメモリ制御部３００へ出力する。
（Ｆ）  パディング部１０５
パディング部１０５は、動き補償復号部１０４より復号データを受け取り、受け取った復号データを画素単位で、メモリ制御部３００を介してフレームメモリ４０２へ出力する。このとき、パディング部１０５は、復号データより出力する画素のデータ（以下、「出力画素」若しくは「画素データ」という。）を取得し、取得した出力画素が境界画素のデータであるか否かを判断し、境界画素のデータである場合には、出力画素をフレームメモリ４０２へ出力して、再生時に表示される画像の領域に出力するとともに、出力画素を拡張領域内の相応する位置へ出力することによるパディングを行う。なお、本発明においては、出力画素を拡張領域内の相応する位置へ出力することを、パディングの概念に含める。
【００４３】
境界画素のデータでない場合には、従来と同様に、出力画素をフレームメモリ４０２へ出力して、再生時に表示される画像の領域に出力する。
以降では、「境界画素のデータ」を、単に「境界画素」とも呼ぶ。また、出力画素を再生時に表示される画像の領域に出力する方法は、従来と同様の方法であり、例えば、出力画素の出力先のアドレスを算出して、算出したアドレスに基づいて、出力画素をフレームメモリ４０２へ出力する。
【００４４】
なお、出力画素が境界画素であるか否かの判断は、出力画素の出力先のアドレスと復号される１画像の画像サイズとを用いて行う。また、パディング部１０５は、画素の出力を、予め決められた順序で行う。
ここで、拡張領域へのパディングの手順について、図３を用いて説明する。
図３は、フレームメモリ４０２に格納される画像の形式を示したものである。
【００４５】
再生時に表示される再生画像を格納する画像領域１０００は、水平１７６画素×垂直１４４画素から構成されており、出力する画素が境界画素となる場合を以下のように分けることができる。ここで、境界画素は、再生画像における枠の内縁と接する画素となり、図３にて示す画素の中で、以下に挙げる画素が境界画素となる。画素（０，０）から水平方向へ向かって画素（０，１７５）までに位置する画素、画素（１，０）から垂直方向へ向かって画素（１４２、０）までに位置する画素、画素（０，１７５）から垂直方向へ向かって画素（１４２、１７５）までに位置する画素、及び画素（１４３，０）から水平方向へ向かって画素（１４３，１７５）までに位置する画素である。
【００４６】
さらに、境界画素となる出力画素は、８つのパターンに場合分けすることができ、それぞれの出力画素の名称を以下のように定義する。最初に、出力する画素が、画素（０、０）である場合であり、このときの出力画素を第１領域画素と呼ぶ。次に、出力する画素が、画素（０、１７５）である場合であり、このときの出力画素を第２領域画素と呼ぶ。次に、出力する画素が、画素（１４３、０）である場合であり、このときの出力画素を第３領域画素と呼ぶ。次に、出力する画素が、画素（１４３、１７５）である場合であり、このときの出力画素を第４領域画素と呼ぶ。次に、出力する画素が、画素（０、１）から画素（０、１７４）の何れかである場合であり、このときの出力画素を第１水平画素と呼ぶ。次に、出力する画素が、画素（１４３，１）から画素（１４３、１７４）の何れかである場合であり、このときの出力画素を第２水平画素と呼ぶ。次に、出力する画素が、画素（１、０）から画素（１４２、０）の何れかである場合であり、このときの出力画素を第１垂直画素と呼ぶ。最後に、出力する画素が、画素（１、１７５）から画素（１４２、１７５）の何れかである場合であり、このときの出力画素を第２垂直画素と呼ぶ。
【００４７】
出力画素が、第１領域画素である場合には、画素（０、０）に対して、垂直方向である画素（０ａ、０）から画素（０ｐ、０）、水平方向である画素（０、０ａ）から画素（０、０ｐ）及び部分拡張領域１１１０へ第１領域画素の出力を以下のようにして行う。先ず、画素（０、０）の直上である画素（０ａ、０）のアドレスを算出し、算出したアドレスに基づいて、第１領域画素を画素（０ａ、０）へ出力する。この動作を垂直方向に対して拡張領域である画素（０ｂ、０）から画素（０ｐ、０）についても同様に、アドレスを算出し、算出したアドレスに基づいて、第１領域画素を出力する。
【００４８】
さらに、画素（０、０）の左横にある画素（０、０ａ）のアドレスを算出して、算出したアドレスに基づいて、第１領域画素を画素（０、０ａ）へ出力し、さらに、垂直方向に対して、画素（０、０ａ）の直上である画素（０ａ、０ａ）のアドレスを算出し、算出したアドレスに基づいて、第１領域画素を画素（０ａ、０ａ）へ出力する。この動作を垂直方向に対して部分拡張領域１１１０内の画素（０ｂ、０ａ）から画素（０ｐ、０ａ）についても同様に、アドレスを算出し、算出したアドレスに基づいて、第１領域画素を出力する。この動作を繰り返すことにより、第１領域画素を出力水平方向に対して出力及び部分拡張領域１１１０へ出力が可能となる。
【００４９】
また、画素（０、１７５）に対して、垂直方向に位置する各画素へ第２領域画素の出力、水平方向に位置する画素へ第２領域画素の出力及び部分拡張領域１１２０へ第２領域画素の出力も同様の動作にて行う。このとき、水平方向に対しては、右方向へ第２領域画素の出力を行う。
また、画素（１４３、０）に対して、垂直方向に位置する各画素へ第３領域画素の出力、水平方向に位置する各画素へ第３領域画素の出力及び部分拡張領域１１３０へ第３領域画素の出力も同様の動作にて行う。このとき、垂直方向に対しては、下方向へ第３領域画素の出力を行う。
【００５０】
また、画素（１４３、１７５）に対して、垂直方向に位置する各画素へ第４領域画素の出力、水平方向に位置する各画素へ第４領域画素の出力及び部分拡張領域１１４０へ第４領域画素の出力も同様の動作にて行う。このとき、垂直方向に対しては、下方向へ出力を行い、水平方向に対しては、右方向へ出力を行う。
出力画素が第１水平画素である場合には、先ず、境界画素の直上にある画素に対するアドレスを算出し、算出したアドレスに基づいて、第１水平画素を出力する。この動作を垂直方向に対して、拡張領域となる１６画素分行う。
【００５１】
出力画素が第２水平画素である場合も同様の動作である。このとき、垂直方向に対しては、下方向へ第２水平画素の出力を行う。
出力画素が第１垂直画素である場合には、先ず、境界画素の左横にある画素に対するアドレスを算出し、算出したアドレスに基づいて、第１垂直画素を出力する。この動作を水平方向に対して、拡張領域となる１６画素分行う。
【００５２】
出力画素が第２垂直画素である場合も同様の動作である。このとき、水平方向に対しては、右方向へ第２垂直画素の出力を行う。
上記に示した方法にて、復元された画像をフレームメモリへ出力する際に、境界画素を拡張領域１００１へ出力することが可能となる。
（４）  メモリ制御部３００
メモリ制御部３００は、入出力部２００より符号化データを受け取り、受け取った符号化データをメモリ部４０１へ出力する。
【００５３】
また、メモリ部４０１より受け取った符号化列を復号部１００の可変長復号部１０１へ出力し、復号部１００により復元された画像を画素単位にフレームメモリ４０２へ出力する。
さらに、動きベクトル変換部１０６より動きベクトルの参照アドレスを受け取ると、受け取った参照アドレスを用いて、参照フレームより参照データを取得する。取得した参照データを動き補償復号部１０４へ出力する。
【００５４】
メモリ制御部３００は、フレームメモリ４０２より復号された画像を読み出し、読み出した画像を入出力部２００へ出力する。
なお、メモリ制御部３００は、メモリ部４０１とのデータの入出力及びフレームメモリ４０２とのデータの入出力は、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）を発行して行う。
【００５５】
１．２  復号方法
ここでは、符号化データの復号を行う復号処理について説明する。
１．２．１  復号処理
図４に示す流れ図を用いて、復号処理について、説明する。
可変長復号部１０１は、メモリ部４０１より符号化列を取得し（ステップＳ５）、取得した符号化列に対して、エントロピー復号を行い、符号化モード、動きベクトルの情報及び量子化ＤＣＴ係数を取得する（ステップＳ１０）。次に、逆量子化部１０２により、ステップＳ１０にて取得した量子化ＤＣＴ係数を用いて、ＤＣＴ係数を復元する（ステップＳ１５）。逆ＤＣＴ部１０３により、ステップＳ１５にて復元されたＤＣＴ係数を用いて、画素空間データを復元する（ステップＳ２０）。
【００５６】
次に、動き補償復号部１０４にて、ステップＳ１０にて取得した符号化モードが、動き補償予測モードであるかイントラ符号モードであるかの判断を行う（ステップＳ２５）。
動き補償予測モードであると判断する場合には（ステップＳ２５における「ＮＯ」）、動き補償復号処理を行い（ステップＳ３０）、動き補償復号処理にて復号された復号データを用いて、復号データ出力処理を行う（ステップＳ３５）。
【００５７】
イントラ符号モードであると判断する場合には（ステップＳ２５における「ＹＥＳ」）、ステップＳ２０にて復元された画素空間データを復号データとして、復号データ出力処理を行う（ステップＳ３５）。
なお、この処理を１画像に含まれるマクロブロック分行うことで、１画像の復号が完了することになる。画像サイズが、水平１７６画素×垂直１４４画素である場合には、１６画素×１６画素からなるマクロブロックは、９９個存在しており、復号処理を９９回繰り返すことにより、１画像の復号が完了する。
【００５８】
１．２．２  動き補償復号処理
ここでは、動き補償復号処理について、図５に示す流れ図を用いて説明する。
動きベクトル変換部１０６は、可変長復号部１０１にて復号された動きベクトルを取得する（ステップＳ１００）。取得した動きベクトルの参照アドレスが参照フレームの領域内であるか否かを判断する（ステップＳ１０５）。
【００５９】
参照アドレスが、参照フレームの領域内であると判断する場合には（ステップＳ１０５における「ＹＥＳ」）、参照フレームより参照データを取得し（ステップＳ１１５）、取得した参照データと、復元された画素空間データとを用いて、復号データを生成する（ステップＳ１２０）。
参照アドレスが、参照フレームの領域外であると判断する場合には（ステップＳ１０５における「ＮＯ」）、参照アドレスが、領域内となるようにクリッピングを行い、参照アドレスの変換を行う（ステップＳ１１０）。変換された参照アドレスを用いて、ステップＳ１１５以降を行う。
【００６０】
１．２．３  復号データ出力処理
ここでは、復号データ出力処理について、図６に示す流れ図を用いて説明する。
パディング部１０５は、復号された復号データより画素データを取得する（ステップＳ１５０）。取得した画素データが境界画素であるか否かを判断する（ステップＳ１５５）。
【００６１】
境界画素であると判断する場合には（ステップＳ１５５における「ＹＥＳ」）、パディング処理を行う（ステップＳ１６０）。さらに、ステップＳ１５０にて取得した画素データが復号データの中で最終の画素データであるか否かを判断する（ステップＳ１７０）。最終の画素データでないと判断する場合には（ステップＳ１７０における「ＮＯ」）、ステップＳ１５０へ戻り、次画素データを取得し、処理を続行する。最終の画素データであると判断する場合には（ステップＳ１７０における「ＹＥＳ」）、処理を終了する。
【００６２】
境界画素でないと判断する場合には（ステップＳ１５５における「ＮＯ」）、取得した画素データをフレームメモリ４０２へ出力して、再生時に表示される画像の領域に出力し（ステップＳ１６５）、ステップＳ１７０を行う。
１．２．４  パディング処理
ここでは、パディング処理について、図７に示す流れ図を用いて説明する。
【００６３】
パディング部１０５は、復号データ出力処理にて取得した画素データをフレームメモリ４０２へ出力して、再生時に表示される画像の領域に出力し、出力した画素データを一時的に記憶する（ステップＳ２００）。
次に、取得した画素データが、第１領域画素、第２領域画素、第３領域画素又は第４領域画素の何れかであるか否かを判断する（ステップＳ２０５）。
【００６４】
第１領域画素、第２領域画素、第３領域画素又は第４領域画素の何れかであると判断する場合には（ステップＳ２０５における「ＹＥＳ」）、垂直パディング処理を行い（ステップＳ２１０）、さらに、水平・垂直パディング処理を行う（ステップＳ２１５）。
第１領域画素、第２領域画素、第３領域画素又は第４領域画素のどれでもないと判断する場合には（ステップＳ２０５における「ＮＯ」）、第１水平画素又は第２水平画素の何れかであるか否かを判断する（ステップＳ２２０）。
【００６５】
第１水平画素又は第２水平画素の何れかであると判断する場合には（ステップＳ２２０における「ＹＥＳ」）、垂直パディング処理を行う（ステップＳ２２５）。
第１水平画素又は第２水平画素のどれでもないと判断する場合には（ステップＳ２２０における「ＮＯ」）、水平パディング処理を行う（ステップＳ２３０）。
１．２．５  垂直パディング処理
ここでは、垂直パディング処理について、図８に示す流れ図を用いて説明する。
【００６６】
パディング部１０５は、拡張領域１００１に設定されている画素数をパディング回数として設定する（ステップＳ２５０）。本実施の形態では、パディング回数は、「１６」となる。
次に、垂直方向へパディングを行うために、垂直方向のアドレスを算出する（ステップＳ２５５）。算出されたアドレスに基づいて、パディング処理のステップＳ２００にて一時的に記憶されている画素データの出力を行う（ステップＳ２６０）。
【００６７】
次に、パディング部１０５は、パディング回数を「１」減算する（ステップＳ２６５）。減算されたパディング回数が「０」であるか否かを判断する（ステップＳ２７０）。
パディング回数が「０」でないと判断する場合には（ステップＳ２７０における「ＮＯ」）、次の垂直アドレスを算出し（ステップＳ２５５）、ステップＳ２６０以降を行う。
パディング回数が「０」であると判断する場合には（ステップＳ２７０における「ＹＥＳ」）、処理を終了する。
【００６８】
なお、ステップＳ２５５にてアドレスを算出する際に、境界画素が第１水平画素、第１領域画素又は、第２領域画素である場合には、垂直上方向のアドレスを算出し、境界画素が第２水平画素、第３領域画素又は、第４領域画素である場合には、垂直下方向のアドレスを算出する。
１．２．６  水平パディング処理
ここでは、水平パディング処理について、図９に示す流れ図を用いて説明する。
【００６９】
パディング部１０５は、拡張領域１００１に設定されている画素数をパディング回数として設定する（ステップＳ３００）。本実施の形態では、パディング回数は、「１６」となる。
次に、水平方向へパディングを行うために、水平方向のアドレスを算出する（ステップＳ３０５）。算出されたアドレスに基づいて、パディング処理のステップＳ２００にて一時的に記憶されている画素データの出力を行う（ステップＳ３１０）。
【００７０】
次に、パディング部１０５は、パディング回数を「１」減算する（ステップＳ３１５）。減算されたパディング回数が「０」であるか否かを判断する（ステップＳ３２０）。
パディング回数が「０」でないと判断する場合には（ステップＳ３２０における「ＮＯ」）、次の水平アドレスを算出し（ステップＳ３０５）、ステップＳ３１０以降を行う。
パディング回数が「０」であると判断する場合には（ステップＳ３２０における「ＹＥＳ」）、処理を終了する。
【００７１】
なお、ステップＳ３０５にてアドレスを算出する際に、境界画素が第１垂直画素である場合には、水平左方向のアドレスを算出し、境界画素が第２垂直画素である場合には、水平右方向のアドレスを算出する。
１．２．７  水平・垂直パディング処理
ここでは、水平・垂直パディング処理について、図１０に示す流れ図を用いて説明する。
【００７２】
パディング部１０５は、拡張領域１００１に設定されている画素数を水平パディング回数として設定する（ステップＳ３５０）。本実施の形態では、水平パディング回数は、「１６」となる。
次に、水平方向へパディングを行うために、水平方向のアドレスを算出する（ステップＳ３５５）。算出されたアドレスに基づいて、パディング処理のステップＳ２００にて一時的に記憶されている画素データの出力を行う（ステップＳ３６０）。
【００７３】
パディング部１０５は、拡張領域１００１に設定されている画素数を垂直パディング回数として設定する（ステップＳ３６５）。本実施の形態では、垂直パディング回数は、「１６」となる。
次に、垂直方向へパディングを行うために、垂直方向のアドレスを算出する（ステップＳ３７０）。算出されたアドレスに基づいて、パディング処理のステップＳ２００にて一時的に記憶されている画素データの出力を行う（ステップＳ３７５）。
【００７４】
次に、パディング部１０５は、垂直パディング回数を「１」減算する（ステップＳ３８０）。減算された垂直パディング回数が「０」であるか否かを判断する（ステップＳ３８５）。
垂直パディング回数が「０」でないと判断する場合には（ステップＳ３８５における「ＮＯ」）、次の垂直アドレスを算出し（ステップＳ３７０）、ステップＳ３７５以降を行う。
【００７５】
垂直パディング回数が「０」であると判断する場合には（ステップＳ３８５における「ＹＥＳ」）、水平パディング回数を「１」減算する（ステップＳ３９０）。減算された水平パディング回数が「０」であるか否かを判断する（ステップＳ３９５）。
水平パディング回数が「０」でないと判断する場合には（ステップＳ３９５における「ＮＯ」）、次の水平アドレスを算出し（ステップＳ３５５）、ステップＳ３６０以降を行う。
【００７６】
水平パディング回数が「０」であると判断する場合には（ステップＳ３９５における「ＹＥＳ」）、処理を終了する。
なお、ステップＳ３５５にて水平アドレスを算出する際に、境界画素が第１領域画素又は第３領域画素である場合には、水平左方向のアドレスを算出し、境界画素が第２領域画素又は第４領域画素である場合には、水平右方向のアドレスを算出する。また、ステップＳ３７０にて垂直アドレスを算出する際に、境界画素が第１領域画素又は第２領域画素である場合には、垂直上方向のアドレスを算出し、境界画素が第３領域画素又は第４領域画素である場合には、垂直下方向のアドレスを算出する。
【００７７】
１．２．８  復号処理のまとめ
ここで、上記にて示した動画像の復号処理を図１１に示すタイミング図を用いて、説明する。
復号部１００は、メモリ部４０１より取得した符号化列より、可変長復号部１０１、逆量子化部１０２、逆ＤＣＴ部１０３、動き補償復号部１０４及び動きベクトル変換部１０６を用いて、復号データの生成、又は、可変長復号部１０１、逆量子化部１０２、逆ＤＣＴ部１０３及び動き補償復号部１０４を用いて、復号データの生成を行う（ステップＳ５００）。
【００７８】
パディング部１０５は、復号データより、フレームメモリ４０２へ出力する１画素のデータを取得し、取得した画素データが境界画素であるか否かを判断する（ステップＳ５０５）。
次に、パディング部１０５は、取得した画素データが境界画素であると判断する場合には、取得した画素データをメモリ制御部３００を介してフレームメモリ４０２へ出力するとともに、一時的に記憶する（ステップＳ５１０）。このとき、メモリ制御部３００は、ＤＭＡを発行し、パディング部１０５とフレームメモリ４０２との間におけるデータの入出力の制御行う。次に、パディング部１０５は、拡張領域１００１内の相応する位置に対して、一時的に記憶している画素データの出力を行う（ステップＳ５１５）。ステップＳ５１５を所定回数分繰り返すことにより、パディング処理が完了する。パディング処理完了後、次に出力する画素データを取得し、取得した画素データが境界画素であるか否かの判断を行い（ステップＳ５２０）、取得した画素データの出力以降の処理を行う。
【００７９】
また、ステップＳ５０５にて取得した画素データが境界画素でないと判断する場合には、ステップＳ５１０では、取得した画素データの出力を行い、次に出力する画素データを取得し、境界画素であるか否かの判断を行い（ステップＳ５２０）、取得した画素データの出力以降の処理を行う。
上記動作をマクロブロックが有する画素の数分繰り返すことにより、フレームメモリ４０２へ、復号データの出力及び、拡張領域１００１内の相応する位置へ復号データが有する境界画素の出力が完了する。
【００８０】
さらに、これらの処理をマクロブロック単位に繰り返すことにより、１画像の復元を行うことができる。
このようにして、１マクロブロック分のデータを復号し、フレームメモリ４０２へ出力する度に、復号したマクロブロックのデータに境界画素が含まれている場合には、境界画素を拡張領域１００１内の相応する位置へ出力することで、拡張領域へのパディング処理を行う。
【００８１】
なお、図１１では、１つのマクロブロックに着目して、復号処理の処理の流れについて説明を行ったため、復号データに含まれる全ての画素を出力後、次のマクロブロックの復元を行っているよう記載になっている。しかしながら、通常は、復号データが生成されると、次の復号データを生成するための処理が開始されている。
１．３  第１の実施の形態のまとめ
以上説明したように第１の実施の形態によれば、１マクロブロック分の復号データをフレームメモリへ出力する際に、復号データに境界画素が存在する場合には、拡張領域へのパディング処理をも行っている。このため、境界画素をフレームメモリより読み出す必要がないため、画像の復号後、拡張領域へのパディング処理を行う場合よりも、フレームメモリへのアクセス回数は少なくなる。例えば、画像サイズが１７６画素×１４４画素である場合には、境界画素は、６３６個存在しており、従来、拡張領域へパディング処理を行う場合には、境界画素をフレームメモリより６３６回の読み出す必要があったが、本発明では、この回数を削減することができる。
【００８２】
さらに、参照フレームは予め拡張領域にパディングがされているため、画像を復号する場合に、動きベクトルが拡張領域を含む参照領域の外を参照しているときには、動きベクトルのクリッピング処理のみで、領域外を参照する動画像復号化を行うことが可能となり、動き補償復号に対する処理が軽減される。
また、復号データをフレームメモリへ出力する際に、拡張領域へのパディング処理を行うことにより、境界画素をフレームメモリより読み出す必要がないため、前記方法より、フレームメモリへのアクセス回数は少なくなる。これにより、画像復号に対する処理が軽減される。さらには、フレームメモリのメモリバンド幅を削減することもできる。
【００８３】
また、画像の復号中に、動き補償復号を行う場合には、動きベクトルの値に応じて、領域外画素の検出及び境界画素のコピーを行う方法を、ソフトウェア処理によって実現しようとする場合には、処理負荷が大きくなり、また、ハードウェアによって実現しようとする場合には、回路規模の増大を招くことになり、コストアップが生じていたが、本発明によると、動きベクトルが拡張領域を含む参照領域の外を参照しているときには、動きベクトルのクリッピング処理のみでよいため、動き補償復号の処理を容易なものにすることができ、処理負荷の軽減又は回路規模の増大の防止につながり、コストアップを防ぐことができる。
【００８４】
１．３．１  第１の実施の形態の変形例
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下の場合も本発明に含まれる。
（１）上記実施の形態において、復号された復号データをフレームメモリへ画素単位に出力する際に、出力する画素が境界画素であるか否かを判断して、画素の出力を行っているが、これに限定されない。画素の出力後、出力した画素が境界画素であるか否かを判断して、境界画素である場合には、出力した画素のデータを用いて、パディング処理を行い、パディング処理完了後又は、出力した画素が境界画素でない場合には、次の画素を復号データより取得して、同様の処理を繰り返すようにしてもよい。
【００８５】
このときの、処理の流れを、図６及び図７を用いて、説明する。
パディング部は、ステップＳ１５０にて、復号された復号データより、フレームメモリへ出力する画素を取得する。次に、ステップＳ１５５を行う前に、取得した画素をフレームメモリへ出力し、出力した画素を一時的に記憶する。ステップＳ１５５にて、一時的に記憶されている画素が境界画素であるか否かを判断する。
【００８６】
境界画素でないと判断する場合には、ステップＳ１６５を省略して、ステップＳ１７０以降の処理を行う。境界画素であると判断する場合には、ステップＳ１６０以降を行う。
また、パディング処理おいて、パディング部は、ステップＳ２００を省略して、ステップＳ２０５以降を行う。
（２）上記実施の形態において、復号された復号データを画素単位にフレームメモリへ出力したが、これに限定されない。復号データをバースト転送によりフレームメモリへ出力してもよい。
【００８７】
この場合の実現方法を以下に示す。先ず、パディング部は、バースト転送により水平方向１行分のデータである１６画素分のデータをフレームメモリへ出力し、出力したデータを一時的に記憶する。次に、パディング部は、記憶しているデータに、境界画素が含まれているか否かを判断し、境界画素が含まれている場合には、パディング処理を行う。パディング処理の終了又は、記憶しているデータに境界画素が含まれていない場合には、次の１６画素分のデータをフレームメモリへ出力し、上記動作を行う。この動作を繰り返すことで、１マクロブロック分の復号データの出力及び出力された復号データに対応する拡張領域へのパディングが完了する。このとき、マクロブロックが１６画素×１６画素である場合には、上記動作を１６回繰り返すことになる。
【００８８】
また、他の実現方法を以下に示す。先ず、パディング部は、バースト転送により水平方向１行分のデータである１６画素分のデータを取得し、取得した１６画素分のデータに、境界画素が含まれているか否かを判断する。
境界画素が含まれている場合には、取得したデータをフレームメモリ出力し、出力したデータを一時的に記憶する。次に、記憶しているデータを用いて、パディング処理を行い、パディング処理完了後、次の１６画素分のデータを取得し、同様の処理を行う。境界画素が含まれていない場合には、取得したデータをフレームメモリへ出力し、次の１６画素分のデータを取得し、同様の処理を行う。この動作を繰り返すことで、１マクロブロック分の復号データの出力及び出力された復号データに対応する拡張領域へのパディングが完了する。このとき、マクロブロックが１６画素×１６画素である場合には、上記動作を１６回繰り返すことになる。
【００８９】
また、上記の２つの例では、バースト転送されるデータ単位を１６画素としたが、他のデータ単位でもよい。
ここで、パディング処理は、出力したデータに含まれる境界画素単位に、第１の実施の形態で示した方法で実現してもよい。
または、境界画素単位に出力すべき領域の画素に対して出力画素のデータをバースト転送により出力することで、パディング処理を実現してもよい。この場合、出力される複数の画素のうち、基準となる画素のアドレスを算出し、算出したアドレスに基づいて、バースト転送を行う。このときの、パディング処理について、説明する。境界画素が第１水平画素である場合には、境界画素に対して、直上の画素のアドレスを算出し、算出したアドレスを基準として、垂直上方向に１６画素分の出力画素をバースト転送し、第２水平画素である場合には、境界画素に対して、直下の画素のアドレスを算出し、算出したアドレスを基準として、垂直下向に１６画素分の出力画素をバースト転送する。また、境界画素が、第１垂直画素である場合には、境界画素に対して、左隣にある画素のアドレスを算出し、算出したアドレスを基準として、水平左方向に１６画素分の出力画素をバースト転送し、第２垂直画素である場合には、境界画素に対して、右隣にある画素のアドレスを算出し、算出したアドレスを基準として、水平右方向に１６画素分の出力画素をバースト転送する。また、境界画素が、第１領域画素である場合には、先ず、境界画素に対して、直上の画素のアドレスを算出し、算出したアドレスを基準として、垂直上方向に１６画素分の出力画素をバースト転送し、次に、左隣にある画素のアドレスを算出し、算出したアドレスを基準として、水平左方向に１６画素分の出力画素をバースト転送する。さらに、水平左方向へ出力を行った際に、基準となった画素の直上の画素アドレスを算出し、算出したアドレスを基準として、水平左方向に位置する１６画素に対して、出力画素をバースト転送し、さらに、前回バースト転送の際に基準となった画素の直上の画素アドレスを算出し、算出したアドレスを基準として、水平左方向に位置する１６画素に対して、出力画素をバースト転送する。この動作を繰り返すことにより、第１領域画素である境界画素を拡張領域へ出力が可能となる。なお、境界画素が、第２領域画素である場合には、第１領域画素を出力する方法とは、出力する水平方向が異なるが、同様の動作で出力が可能であるため、説明は省略する。また、境界画素が、第３領域画素である場合には、第１領域画素を出力する方法とは、出力する垂直方向が異なるが、同様の動作で出力が可能であるため、説明は省略する。また、境界画素が、第４領域画素である場合には、第１領域画素を出力する方法とは、出力する垂直方向及び水平方向とも異なるが、同様の動作で出力が可能であるため、説明は省略する。
【００９０】
また、境界画素が、第１領域画素である場合には、出力対象となる全ての画素に対して、バースト転送することにより、出力画素を出力してもよい。境界画素が、他の領域画素である場合も同様である。
（３）上記実施の形態において、パディング部を復号部に備えたが、これに限定されない。パディング部を外部メモリ内に備えてもよい。
【００９１】
この場合、外部メモリ内に備えられたパディング部は、動き補償復号部にて、復号されたデータからフレームメモリへ出力する画素の情報及び出力先のアドレスをメモリ制御部を介して受け取り、受け取った情報を用いて、図６に示した復号データ出力処理を行う。
これにより、拡張領域へ出力される画素のデータは、メモリ制御部を介する必要がないため、メモリ制御部における入出力の負荷が軽減される。
【００９２】
（４）上記実施の形態において、パディング部は、復号データ毎に、出力画素を出力及びパディング処理を行ったが、これに限定されない。
パディング部は、復号データを少なくとも２個以上一時的に記憶し、記憶している複数の復号データを用いて、出力画素を出力及び、パディング処理を行ってもよい。
または、パディング部は、復号データ及び、拡張領域へ出力する画素データを記憶するバッファを有してもよい。このとき、パディング部は、復号データをバッファに記憶する。パディング部は、記憶した復号データに境界画素が含まれるか否かを判断し、境界画素が含まれると判断する場合には、拡張領域へ出力する画素を生成し、生成した画素をバッファに記憶する。パディング部は、バッファに記憶している画素データを画素単位に、メモリ制御部を介してフレームメモリへ出力する。
【００９３】
または、パディング部は、フレームメモリにて記憶している画像と同様に形式からなるバッファを有してもよい。
このとき、パディング部は、復号データをバッファ内に記憶する。パディング部は、記憶した復号データに境界画素が含まれるか否かを判断し、境界画素が含まれると判断する場合には、境界画素をバッファ内の拡張領域へ記憶する。パディング部は、この動作を１画像分の復号が完了するまで行い、１画像分の復号が完了すると、バッファに記憶しているデータ、つまり１画像分のデータ及び拡張領域のデータを画素単位にメモリ制御部を介してフレームメモリへ出力する。
【００９４】
（５）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
２．第２の実施の形態
第２の実施の形態における携帯電話機１Ａは、画像処理部１０Ａの構成が、第１の実施の形態と異なる。以下、第２の実施の形態における画像処理部１０Ａについて説明する。
２．１  画像処理部１０Ａ
画像処理部１０Ａは、図１２に示すように、復号部１００Ａ、入出力部２００Ａ、メモリ制御部３００Ａ及び外部メモリ４００Ａから構成されている。
【００９５】
（１）  外部メモリ４００Ａ
外部メモリ４００Ａは、メモリ部４０１Ａ、フレームメモリ４０２Ａ及び書込部４０３Ａを有している。ここで、外部メモリ４００Ａは、ＤＲＡＭである。
メモリ部４０１Ａ及びフレームメモリ４０２Ａは、第１の実施の形態と同様であるため、説明は省略する。
【００９６】
（Ａ）  書込部４０３Ａ
書込部４０３Ａは、復号部１００Ａからメモリ制御部３００Ａを介して、復号した画像の出力画素と、当該出力画素の出力先のアドレスと、当該出力画素に係る情報とを受け取る。ここで、出力先のアドレスとは、再生時に表示される画像の領域において、出力画素が出力される位置を示すアドレスである。
【００９７】
また、出力画素に係る情報とは、以下に挙げる情報の何れかである。受け取る出力画素が、第１領域画素である場合には、出力画素に係る情報は、出力画素が第１領域画素であることを示す第１領域画素情報であり、第２領域画素である場合には、出力画素が第２領域画素であることを示す第２領域画素情報であり、第３領域画素である場合には、出力画素が第３領域画素であることを示す第３領域画素情報であり、第４領域画素である場合には、出力画素が第４領域画素であることを示す第４領域画素情報である。受け取った出力画素が、第１水平画素である場合には、出力画素に係る情報は、出力画素が第１水平画素であることを示す第１水平画素情報であり、第２水平画素である場合には、出力画素が第２水平画素であることを示す第２水平画素情報であり、第１垂直画素である場合には、出力画素が第１垂直画素であることを示す第１垂直画素情報であり、第２垂直画素である場合には、出力画素が第２垂直画素であることを示す第２垂直画素情報である。受け取った出力画素が、境界画素でない場合には、出力画素に係る情報は、出力画素が境界画素でないことを示す非境界画素情報である。
【００９８】
書込部４０３Ａは、受け取ったアドレスに基づいて、出力画素をフレームメモリ４０２Ａへ書き込む。
書込部４０３Ａは、受け取った情報が、非境界画素情報であるか否かを判断し、非境界画素情報であると判断する場合には、動作を終了する。
書込部４０３Ａは、受け取った情報が非境界画素情報でないと判断する場合には、受け取った情報が、第１領域画素情報、第２領域画素情報、第３領域画素情報又は第４領域画素情報の何れかであるか否かを判断する。判断結果が肯定的である場合には、書込部４０３Ａは、受け取った情報に基づいて、出力画素（ここでは、出力画素は、第１、第２、第３及び第４領域画素の何れかとなる）を拡張領域内の相応する位置へ出力する。第１、第２、第３及び第４領域画素を拡張領域内の相応する位置へ出力する方法については、第１の実施の形態と同様であるため、説明は省略する。
【００９９】
書込部４０３Ａは、判断結果が否定的である場合には、受け取った情報が、第１水平画素情報又は第２水平画素情報の何れかであるか否かを判断する。判断結果が肯定的である場合には、書込部４０３Ａは、出力画素（ここでは、出力画素は、第１及び第２水平画素の何れかとなる）を拡張領域内の相応する位置へ出力する。第１及び第２水平画素を拡張領域内の相応する位置へ出力する方法については、第１の実施の形態と同様であるため、説明は省略する。書込部４０３Ａは、判断結果が否定的である場合には、出力画素（ここでは、出力画素は、第１及び第２垂直画素の何れかとなる）を拡張領域内の相応する位置へ出力する。第１及び第２垂直画素を拡張領域内の相応する位置へ出力する方法については、第１の実施の形態と同様であるため、説明は省略する。
【０１００】
これにより、書込部４０３Ａは、復号部１００Ａにて復元された画像をフレームメモリ４０２Ａへ出力する際に、拡張領域へ出力する（コピーする）ことが可能となる。
（２）  入出力部２００Ａ
入出力部２００Ａは、第１の実施の形態と同様であるため、説明は省略する。
（３）  復号部１００Ａ
復号部１００Ａは、可変長復号部１０１Ａ、逆量子化部１０２Ａ、逆ＤＣＴ部１０３Ａ、動き補償復号部１０４Ａ、動きベクトル変換部１０６Ａ及びパディング判定部１０７Ａを有している。
【０１０１】
復号部１００Ａは、１６画素×１６画素からなるマクロブロック単位で復号を行うことにより画像の再生を行う。
可変長復号部１０１Ａ、逆量子化部１０２Ａ、逆ＤＣＴ部１０３Ａ、動き補償復号部１０４Ａ及び動きベクトル変換部１０６Ａは、それぞれ第１の実施の形態にて示す可変長復号部１０１、逆量子化部１０２、逆ＤＣＴ部１０３、動き補償復号部１０４及び動きベクトル変換部１０６と同様であるため、説明は省略する。
【０１０２】
以下、パディング判定部１０７Ａについて、説明する。
パディング判定部１０７Ａは、動き補償復号部１０４Ａより復号データを受け取り、受け取った復号データを画素単位で、メモリ制御部３００Ａを介して書込部４０３Ａへ出力する。
パディング判定部１０７Ａは、復号データより出力画素を取得し、取得した出力画素が境界画素であるか否かを判断し、境界画素であると判断する場合には、さらに、出力画素が第１、第２、第３及び第４領域画素の何れかであるか否かを判断する。判断結果が肯定的である場合には、領域画素に対応する情報を生成する。例えば、出力画素が第１領域画素である場合には、第１領域画素情報を生成し、第２領域画素である場合には、第２領域画素情報を生成し、第３領域画素である場合には、第３領域画素情報を生成する。パディング判定部１０７Ａは、出力画素と、当該出力画素の出力先のアドレスと、生成した情報とをメモリ制御部３００Ａを介して、書込部４０３Ａへ出力する。
【０１０３】
パディング判定部１０７Ａは、判断結果が否定的である場合には、さらに、出力画素が第１及び第２水平画素の何れかであるか否かを判断する。判断結果が肯定的である場合には、水平画素に対応する情報を生成する。例えば、出力画素が第１水平画素である場合には、第１水平画素情報を生成し、第２水平画素である場合には、第２水平画素情報を生成する。パディング判定部１０７Ａは、出力画素と、当該出力画素の出力先のアドレスと、生成した情報とをメモリ制御部３００Ａを介して、書込部４０３Ａへ出力する。パディング判定部１０７Ａは、判断結果が否定的である場合には、垂直画素に対応する情報を生成する。例えば、出力画素が第１垂直画素である場合には、第１垂直画素情報を生成し、第２垂直画素である場合には、第２垂直画素情報を生成する。パディング判定部１０７Ａは、出力画素と、当該出力画素の出力先のアドレスと、生成した情報とをメモリ制御部３００Ａを介して、書込部４０３Ａへ出力する。
【０１０４】
パディング判定部１０７Ａは、出力画素が、境界画素でないと判断する場合には、非境界画素情報を生成し、出力画素と、当該出力画素の出力先のアドレスと、生成した非境界画素情報とをメモリ制御部３００Ａを介して、書込部４０３Ａへ出力する。
パディング判定部１０７Ａは、上記の動作を復号データに含まれる画素数分繰り返すことにより、復号データを書込部４０３Ａへ出力することができる。
【０１０５】
（４）  メモリ制御部３００Ａ
メモリ制御部３００Ａは、入出力部２００Ａより符号化データを受け取り、受け取った符号化データをメモリ部４０１Ａへ出力する。
また、メモリ部４０１Ａより受け取った符号化列を復号部１００Ａの可変長復号部１０１Ａへ出力する。
【０１０６】
メモリ制御部３００Ａは、出力画素と、出力先のアドレスと、当該出力画素に係る情報とをパディング判定部１０７Ａから受け取り、受け取った各情報を書込部４０３Ａへ出力する。
さらに、メモリ制御部３００Ａは、動きベクトル変換部１０６Ａより動きベクトルの参照アドレスを受け取ると、受け取った参照アドレスを用いて、参照フレームより参照データを取得する。取得した参照データを動き補償復号部１０４Ａへ出力する。
【０１０７】
メモリ制御部３００Ａは、フレームメモリ４０２Ａより復号された画像を読み出し、読み出した画像を入出力部２００Ａへ出力する。
なお、メモリ制御部３００Ａは、メモリ部４０１Ａとのデータの入出力及びフレームメモリ４０２Ａとのデータの入出力は、ＤＭＡを発行して行う。
２．２  復号方法
ここでは、符号化データの復号を行う復号処理について説明する。
【０１０８】
なお、復号処理は、第１の実施の形態と同様であるため、説明は省略する。
また、復号処理にて行われる動き補償復号処理についても、第１の実施の形態と同様であるため、説明は省略する。
ここでは、復号処理にて行われる復号データ出力処理及び、書込部４０３Ａにて行う書込処理について、説明する。
【０１０９】
２．２．１  復号データ出力処理
ここでは、復号データ出力処理について、図１３に示す流れ図を用いて説明する。
パディング判定部１０７Ａは、復号された復号データより画素データを取得し（ステップＳ６００）、取得した画素データが境界画素であるか否かを判断する（ステップＳ６０５）。
【０１１０】
境界画素であると判断する場合には（ステップＳ６０５における「ＹＥＳ」）、出力画素が第１、第２、第３及び第４領域画素の何れかであるか否かを判断する（ステップＳ６１０）。判断結果が肯定的である場合には（ステップＳ６１０における「ＹＥＳ」）、領域画素に対応する情報を生成し、生成した情報と画素データとアドレスとを、メモリ制御部３００Ａを介して書込部４０３Ａへ出力し（ステップＳ６１５）、取得した画素データが最終の画素データであるか否かを判断し（ステップＳ６４０）、最終の画素データであると判断する場合には（ステップＳ６４０における「ＹＥＳ」）、処理を終了し、最終の画素データでないと判断する場合には（ステップＳ６４０における「ＮＯ」）、ステップＳ６００へ戻り、次画素データを取得し、処理を続行する。
【０１１１】
判断結果が否定的である場合には（ステップＳ６１０における「ＮＯ」）、出力画素が第１及び第２水平画素の何れかであるか否かを判断する（ステップＳ６２０）。判断結果が肯定的である場合には（ステップＳ６２０における「ＹＥＳ」）、水平画素に対応する情報を生成し、生成した情報と画素データとアドレスとを、メモリ制御部３００Ａを介して書込部４０３Ａへ出力し（ステップＳ６２５）、ステップＳ６４０を実行する。
【０１１２】
パディング判定部１０７Ａは、判断結果が否定的である場合には（ステップＳ６２０における「ＮＯ」）、垂直画素に対応する情報を生成し、生成した情報と画素データとアドレスとを、メモリ制御部３００Ａを介して書込部４０３Ａへ出力し（ステップＳ６３０）、ステップＳ６４０を実行する。
パディング判定部１０７Ａは、出力画素が、境界画素でないと判断する場合には（ステップＳ６０５における「ＮＯ」）、非境界画素情報を生成し、生成した非境界画素情報と画素データとアドレスとを、メモリ制御部３００Ａを介して書込部４０３Ａへ出力し（ステップＳ６３５）、ステップＳ６４０を実行する。
【０１１３】
２．２．２  書込処理
ここでは、書込部４０３Ａが行う書込処理について、図１４に示す流れ図を用いて説明する。
書込部４０３Ａは、復号部１００Ａからメモリ制御部３００Ａを介して、復号した画像の画素データと、当該画素データの出力先のアドレスと、当該画素データに係る情報とを受け取る（ステップＳ７００）。
【０１１４】
書込部４０３Ａは、受け取ったアドレスに基づいて、画素データをフレームメモリ４０２Ａへ書き込む（ステップＳ７０５）。
書込部４０３Ａは、受け取った情報が、非境界画素情報であるか否かを判断し（ステップＳ７１０）、非境界画素情報であると判断する場合には（ステップＳ７１０における「ＹＥＳ」）、動作を終了する。
【０１１５】
書込部４０３Ａは、受け取った情報が非境界画素情報でないと判断する場合には（ステップＳ７１０における「ＮＯ」）、受け取った情報が、第１領域画素情報、第２領域画素情報、第３領域画素情報又は第４領域画素情報の何れかであるか否かを判断する（ステップＳ７１５）。判断結果が肯定的である場合には（ステップＳ７１５における「ＹＥＳ」）、書込部４０３は、受け取った画素データ（ここでは、第１、第２、第３及び第４領域画素の何れかとなる）を用いて、受け取った情報に基づいて、垂直パディング処理を行い（ステップＳ７２０）、さらに、水平・垂直パディング処理を行う（ステップＳ７２５）。
【０１１６】
書込部４０３Ａは、判断結果が否定的である場合には（ステップＳ７１５における「ＮＯ」）、受け取った情報が、第１水平画素情報又は第２水平画素情報の何れかであるか否かを判断する（ステップＳ７３０）。判断結果が肯定的である場合には（ステップＳ７３０における「ＹＥＳ」）、書込部４０３は、受け取った画素データ（ここでは、第１及び第２水平画素の何れかとなる）を用いて、垂直パディング処理を行う（ステップＳ７３５）。書込部４０３Ａは、判断結果が否定的である場合には（ステップＳ７３０における「ＮＯ」）、書込部４０３は、受け取った画素データ（ここでは、第１及び第２垂直画素の何れかとなる）を用いて、水平パディング処理を行う（ステップＳ７４０）。
【０１１７】
なお、書込処理にて行われる垂直パディング処理、水平パディング処理、水平・垂直パディング処理は、第１の実施の形態と同様の処理の流れであるため、説明は省略する。
２．３  第２の実施の形態のまとめ
以上説明したように第２の実施の形態によれば、１マクロブロック分の復号データをフレームメモリへ出力する際に、復号データに境界画素が存在する場合には、拡張領域へのパディング処理をも行っている。このため、境界画素をフレームメモリより読み出す必要がないため、画像の復号後、拡張領域へのパディング処理を行う場合よりも、フレームメモリへのアクセス回数は少なくなる。
【０１１８】
さらに、参照フレームは予め拡張領域にパディングがされているため、画像を復号する場合に、動きベクトルが拡張領域を含む参照領域の外を参照しているときには、動きベクトルのクリッピング処理のみで、領域外を参照する動画像復号化を行うことが可能となり、動き補償復号に対する処理が軽減される。
また、拡張領域へのパディング処理を外部メモリ４００Ａの書込部４０３Ａにて行っているため、復号部１００Ａは、画素データを拡張領域へ出力する度に、画素データを外部メモリ４００Ａへ出力する必要がないため、外部メモリ４００Ａと復号部１００Ａとの間におけるトラフィックを軽減することができる。
【０１１９】
２．３．１  第２の実施の形態の変形例
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下の場合も本発明に含まれる。
（１）パディング処理を行う際に、書込部４０３Ａにて、画素データを拡張領域へ出力（コピー）するアドレス（以下、「コピー先のアドレス」という。）を算出したが、これに限定されない。
【０１２０】
パディング判定部１０７Ａにて、画素データが境界画素である場合には、コピー先のアドレスを全て算出して、画素データ、画素データの出力先のアドレス及び算出したコピー先の全てのアドレスを書込部４０３Ａへ出力する。書込部４０３Ａは、画素データの出力先のアドレス及びコピー先の全てのアドレスに基づいて、画素データをフレームメモリ４０２Ａへ書き込む。
【０１２１】
このときの復号データ出力処理について、図１３を用いて変更点のみを説明する。
パディング判定部１０７Ａは、ステップＳ６０５を実行後、画素データが境界画素でないと判断する場合には、ステップＳ６３５を行う代わりに、画素データと画素データの出力先のアドレスとを書込部４０３Ａへ出力する。
また、パディング判定部１０７Ａは、ステップＳ６１０を実行後、画素データが領域画素であると判断する場合には、ステップＳ６１５を行う代わりに、画素データのコピー先を全て算出し、画素データと画素データの出力先のアドレスと算出した全てのアドレスとを書込部４０３Ａへ出力する。
【０１２２】
また、パディング判定部１０７Ａは、ステップＳ６２０を実行後、画素データが水平画素であると判断する場合には、ステップＳ６２５を行う代わりに、画素データのコピー先を全て算出し、画素データと画素データの出力先のアドレスと算出した全てのアドレスとを書込部４０３Ａへ出力する。
また、パディング判定部１０７Ａは、ステップＳ６２０を実行後、画素データが垂直画素であると判断する場合には、ステップＳ６３０を行う代わりに、画素データのコピー先を全て算出し、画素データと画素データの出力先のアドレスと算出した全てのアドレスとを書込部４０３Ａへ出力する。
【０１２３】
さらに、書込処理について、図１４を用いて変更点のみを説明する。
書込部４０３Ａは、ステップＳ７００にて、画素データ及び１個以上のアドレスをパディング判定部１０７Ａより受け取る。書込部４０３Ａは、ステップＳ７０５にて、受け取った１個以上のアドレスに基づいて、受け取った画素データをフレームメモリ４０２Ａへ書き込む。
【０１２４】
（２）上記実施の形態において、復号された復号データを画素単位にフレームメモリへ出力したが、これに限定されない。復号データをバースト転送によりフレームメモリへ出力してもよい。
なお、バースト転送による実現方法は、第１の実施の形態の変形例（２）にて示した方法と同様の方法で実現できるため説明は省略する。
【０１２５】
（３）書込部４０３Ａを外部メモリ４００Ａに設けたが、これに限定されない。書込部４０３Ａをメモリ制御部３００Ａに設けてもよい。
（４）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
３．第３の実施の形態
第３の実施の形態における携帯電話機１Ｂは、画像処理部１０Ｂの構成が、第１及び第２の実施の形態と異なる。以下、第３の実施の形態における画像処理部１０Ｂについて説明する。
【０１２６】
３．１  画像処理部１０Ｂ
画像処理部１０Ｂは、図１５に示すように、復号部１００Ｂ、入出力部２００Ｂ、メモリ制御部３００Ｂ及び外部メモリ４００Ｂから構成されている。
（１）  外部メモリ４００Ｂ
外部メモリ４００Ｂは、メモリ部４０１Ｂ、フレームメモリ４０２Ｂ及びパディング部４０４Ｂを有している。ここで、外部メモリ４００Ｂは、ＤＲＡＭである。
【０１２７】
メモリ部４０１Ｂ及びフレームメモリ４０２Ｂは、第１の実施の形態と同様であるため、説明は省略する。
（Ａ）  パディング部４０４Ｂ
パディング部４０４Ｂは、復号部１００Ｂからメモリ制御部３００Ｂを介して、復号した画像の出力画素と、当該出力画素の出力先のアドレスとを受け取る。ここで、出力先のアドレスとは、再生時に表示される画像の領域において、出力画素が出力される位置を示すアドレスである。
【０１２８】
パディング部４０４Ｂは、受け取った出力画素が境界画素であるか否かを判断する。
パディング部４０４Ｂは、受け取った出力画素が境界画素でないと判断する場合には、受け取った出力画素を、受け取ったアドレスに基づいて、フレームメモリ４０２Ｂへ書き込む。
パディング部４０４Ｂは、受け取った出力画素が境界画素であると判断する場合には、先ず、受け取った出力画素を、受け取ったアドレスに基づいて、フレームメモリ４０２Ｂへ書き込み、以下の動作を行う。
【０１２９】
パディング部４０４Ｂは、受け取った出力画素が、第１領域画素、第２領域画素、第３領域画素又は第４領域画素の何れかであるか否かを判断する。判断結果が肯定的である場合には、パディング部４０４Ｂは、出力画素を用いて、拡張領域へのパディングを行う。第１、第２、第３及び第４領域画素を用いたパディングの方法については、第１の実施の形態と同様であるため、説明は省略する。
【０１３０】
パディング部４０４Ｂは、判断結果が否定的である場合には、受け取った出力画素が、第１水平画素又は第２水平画素の何れかであるか否かを判断する。判断結果が肯定的である場合には、パディング部４０４Ｂは、出力画素を用いて、拡張領域へのパディングを行う。第１及び第２水平画素を用いたパディングの方法については、第１の実施の形態と同様であるため、説明は省略する。パディング部４０４Ｂは、判断結果が否定的である場合には、出力画素（ここでは、出力画素は、第１及び第２垂直画素の何れかとなる）を用いて、拡張領域へのパディングを行う。第１及び第２垂直画素を用いたパディングの方法については、第１の実施の形態と同様であるため、説明は省略する。
【０１３１】
これにより、パディング部４０４Ｂは、復号部１００Ｂにて復元された画像をフレームメモリ４０２Ｂへ出力する際に、境界画素を拡張領域へ出力する（コピーする）ことが可能となる。
（２）  入出力部２００Ｂ
入出力部２００Ａは、第１の実施の形態と同様であるため、説明は省略する。
【０１３２】
（３）  復号部１００Ｂ
復号部１００Ｂは、可変長復号部１０１Ｂ、逆量子化部１０２Ｂ、逆ＤＣＴ部１０３Ｂ、動き補償復号部１０４Ｂ、動きベクトル変換部１０６Ｂ及びデータ出力部１０８Ｂを有している。
復号部１００Ｂは、１６画素×１６画素からなるマクロブロック単位で復号を行うことにより画像の再生を行う。
【０１３３】
可変長復号部１０１Ｂ、逆量子化部１０２Ｂ、逆ＤＣＴ部１０３Ｂ、動き補償復号部１０４Ｂ及び動きベクトル変換部１０６Ｂは、それぞれ第１の実施の形態にて示す可変長復号部１０１、逆量子化部１０２、逆ＤＣＴ部１０３、動き補償復号部１０４及び動きベクトル変換部１０６と同様であるため、説明は省略する。
以下、データ出力部１０８Ｂについて、説明する。
【０１３４】
データ出力部１０８Ｂは、動き補償復号部１０４Ｂより復号データを受け取り、受け取った復号データを画素単位で、メモリ制御部３００Ｂを介してパディング部４０４Ｂへ出力する。
データ出力部１０８Ｂは、復号データより出力画素を取得し、取得した出力画素と、出力画素の出力先のアドレスとをメモリ制御部３００Ｂを介してパディング部４０４Ｂへ出力する。データ出力部１０８Ｂは、上記の動作を復号データに含まれる画素数分繰り返すことにより、復号データをパディング部４０４Ｂへ出力することができる。
【０１３５】
（４）  メモリ制御部３００Ｂ
メモリ制御部３００Ｂは、入出力部２００Ｂより符号化データを受け取り、受け取った符号化データをメモリ部４０１Ｂへ出力する。
また、メモリ部４０１Ｂより受け取った符号化列を復号部１００Ｂの可変長復号部１０１Ｂへ出力する。
【０１３６】
メモリ制御部３００Ｂは、出力画素と、出力先のアドレスとをデータ出力部１０８Ｂから受け取り、受け取った各情報をパディング部４０４Ｂへ出力する。
さらに、メモリ制御部３００Ｂは、動きベクトル変換部１０６Ｂより動きベクトルの参照アドレスを受け取ると、受け取った参照アドレスを用いて、参照フレームより参照データを取得する。取得した参照データを動き補償復号部１０４Ｂへ出力する。
【０１３７】
メモリ制御部３００Ｂは、フレームメモリ４０２Ｂより復号された画像を読み出し、読み出した画像を入出力部２００Ｂへ出力する。
なお、メモリ制御部３００Ｂは、メモリ部４０１Ｂとのデータの入出力及びフレームメモリ４０２Ｂとのデータの入出力は、ＤＭＡを発行して行う。
３．２  復号方法
ここでは、符号化データの復号を行う復号処理について説明する。
【０１３８】
なお、復号処理は、第１の実施の形態と同様であるため、説明は省略する。
また、復号処理にて行われる動き補償復号処理についても、第１の実施の形態と同様であるため、説明は省略する。
ここでは、復号処理にて行われる復号データ出力処理及びパディング部４０４Ｂにて行う書込処理について、説明する。
【０１３９】
３．２．１  復号データ出力処理
ここでは、データ出力部１０８Ｂが行う復号データ出力処理について、図１６に示す流れ図を用いて説明する。
データ出力部１０８Ｂは、復号データより画素データを取得し（ステップＳ８００）、取得した画素データと、画素データの出力先のアドレスとをメモリ制御部３００Ｂを介してパディング部４０４Ｂへ出力する（ステップＳ８０５）。
【０１４０】
データ出力部１０８Ｂは、取得した画素データが、最終の画素データであるか否かを判断し（ステップＳ８１０）、最終の画素データであると判断する場合には（ステップＳ８１０における「ＹＥＳ」）、処理を終了する。最終の画素データでないと判断する場合には（ステップＳ８１０における「ＮＯ」）、ステップＳ８００へ戻り、次画素データを取得し、処理を続行する。
【０１４１】
３．２．２  書込処理
ここでは、パディング部４０４Ｂが行う書込処理について、図１７に示す流れ図を用いて説明する。
パディング部４０４Ｂは、復号部１００Ｂからメモリ制御部３００Ｂを介して、復号した画像の画素データと、当該画素データの出力先のアドレスと受け取る（ステップＳ８５０）。
【０１４２】
パディング部４０４Ｂは、受け取った画素データが境界画素であるか否かを判断する（ステップＳ８５５）。
境界画素であると判断する場合には（ステップＳ８５５における「ＹＥＳ」）、パディング処理を行う（ステップＳ８６０）。
境界画素でないと判断する場合には（ステップＳ８５５における「ＮＯ」）、パディング部４０４Ｂは、受け取ったアドレスに基づいて、画素データをフレームメモリ４０２Ｂへ書き込む（ステップＳ８６５）。
【０１４３】
なお、書込処理にて行われるパディング処理は、第１の実施の形態と同様の処理の流れであるため、説明は省略する。また、パディング処理にて行われる垂直パディング処理、水平パディング処理及び水平・垂直パディング処理は、第１の実施の形態と同様の処理の流れであるため、説明は省略する。
３．３  第３の実施の形態のまとめ
以上説明したように第３の実施の形態によれば、１マクロブロック分の復号データをフレームメモリへ出力する際に、復号データに境界画素が存在する場合には、拡張領域へのパディング処理をも行っている。このため、境界画素をフレームメモリより読み出す必要がないため、画像の復号後、拡張領域へのパディング処理を行う場合よりも、フレームメモリへのアクセス回数は少なくなる。
【０１４４】
さらに、参照フレームは予め拡張領域にパディングがされているため、画像を復号する場合に、動きベクトルが拡張領域を含む参照領域の外を参照しているときには、動きベクトルのクリッピング処理のみで、領域外を参照する動画像復号化を行うことが可能となり、動き補償復号に対する処理が軽減される。
また、拡張領域へのパディング処理を外部メモリ４００Ｂのパディング部４０４Ｂにて行っているため、復号部１００Ｂは、画素データを拡張領域へ出力する度に画素データを外部メモリ４００Ｂへ出力する必要がないため、外部メモリ４００Ｂと復号部１００Ｂとの間におけるトラフィックを軽減することができる。
【０１４５】
３．３．１  第３の実施の形態の変形例
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下の場合も本発明に含まれる。
（１）上記実施の形態において、復号された復号データを画素単位にフレームメモリへ出力したが、これに限定されない。復号データをバースト転送によりフレームメモリへ出力してもよい。
【０１４６】
なお、バースト転送による実現方法は、第１の実施の形態の変形例（２）にて示した方法と同様の方法で実現できるため説明は省略する。
（２）パディング部４０４Ｂを外部メモリ４００Ｂに設けたが、これに限定されない。パディング部４０４Ｂをメモリ制御部３００Ｂに設けてもよい。
（３）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【０１４７】
４．その他の変形例
なお、本発明を第１、第２及び第３の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下の場合も本発明に含まれる。
（１）本発明において、携帯電話機が受信する情報として、ＴＳを用いたが、これに限定されない。動画像がディジタル信号化されたディジタル情報であるビットストリームであればよい。ビットストリームは、ＴＳの他に、例えば、プログラムストリームである。画像処理部の入出力部は、ビットストリームを受け取り、受け取ったビットストリームより、画像に係るデータを取得し、取得したデータから符号化データを生成して、生成した符号化データをメモリ部へ出力する。復号部にて行う動作は、第１の実施の形態と同様であるため、説明は省略する。
【０１４８】
（２）本発明において、画像サイズは、１７６画素×１４４画素としたが、これに限定されない。他の画像サイズであってもよい。例えば、水平３５２画素×垂直２８８画素である。
（３）本発明において、マクロブロックのサイズを１６画素×１６画素としたが、これに限定されない。他のブロックサイズであってもよい。
【０１４９】
例えば、８画素×８画素である。これにより、８画素×８画素単位に動きベクトルを設定することが可能となる。
（４）本発明において、拡張領域の縦横の幅を、１マクロブロック単位である１６画素分としたが、これに限定されない。拡張領域は、縦横とも１画素以上の幅であればよい。
または、復号するブロックサイズと一致する幅としてもよい。例えば、復号するブロックサイズが８画素×８画素である場合には、拡張領域の縦横の幅を、それぞれ８画素分とすればよい。
【０１５０】
（５）本発明において、動画像復号化装置を携帯電話機としたが、これに限定されない。符号化された動画像を復号し再生する装置であればよい。例えば、セットトップＢｏｘ、ＤＶＤ装置、モバイル通信装置、放送受信機及び、ブロードバンドネットワークにより配信される動画像を再生する装置である。
（６）本発明において、外部メモリをＤＲＡＭとしたが、これに限定されない。外部メモリは、他のタイプのものであってよい。例えば、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）である。
【０１５１】
また、本発明において、外部メモリとして、揮発性メモリを用いたが、これに限定されない。外部メモリとして、不揮発性メモリを用いてもよい。
また、本発明において、外部メモリを用いたが、これに限定されない。復号部に備えられた内部メモリを用いてもよい。
（７）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０１５２】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ―ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
【０１５３】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。
【０１５４】
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
（８）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【０１５５】
本発明における復号化装置及び復号化方法は、参照画面の拡張領域を参照して、画面の復号を行う技術に利用されうる。
【図面の簡単な説明】
【０１５６】
【図１】携帯電話機１の構成を示すブロック図である。
【図２】画像処理部１０の構成を示すブロック図である。
【図３】フレームメモリ４０２に格納される画像データのデータ形式を示した模式図である。
【図４】符号化データの復号を行う動作を示す流れ図である。
【図５】動き補償復号を行う動作を示す流れ図である。
【図６】復号されたデータをフレームメモリへ出力する動作を示す流れ図である。
【図７】拡張領域へパディングを行う動作を示す流れ図である。
【図８】垂直パディング処理を示す流れ図である。
【図９】水平パディング処理を示す流れ図である。
【図１０】水平・垂直パディング処理を示す流れ図である。
【図１１】復号処理を示すタイミング図である。
【図１２】画像処理部１０Ａの構成を示すブロック図である。
【図１３】パディング判定部１０７Ａにて行われる復号データ出力処理の動作を示す流れ図である。
【図１４】書込部４０３Ａにて行われる書込処理の動作を示す流れ図である。
【図１５】画像処理部１０Ｂの構成を示すブロック図である。
【図１６】データ出力部１０８Ｂにて行われる復号データ出力処理の動作を示す流れ図である。
【図１７】パディング部４０４Ｂにて行われる書込処理の動作を示す流れ図である。
【符号の説明】
【０１５７】
１    携帯電話機
２    符号化装置
１０    画像処理部
２０    無線部
２１    アンテナ
３０    ベースバンド信号処理部
４０    スピーカー
５０    マイク
６０    入力部
７０    表示部
８０    制御部
１００    復号部
１０１    可変長復号部
１０２    逆量子化部
１０３    逆ＤＣＴ部
１０４    補償復号部
１０５    パディング部
１０６    ベクトル変換部
２００    入出力部
３００    メモリ制御部
４００    外部メモリ
４０１    メモリ部
４０２    フレームメモリ
【図１】
2005065239.tif 000003
【図２】
2005065239.tif 000004
【図３】
2005065239.tif 000005
【図４】
2005065239.tif 000006
【図５】
2005065239.tif 000007
【図６】
2005065239.tif 000008
【図７】
2005065239.tif 000009
【図８】
2005065239.tif 000010
【図９】
2005065239.tif 000011
【図１０】
2005065239.tif 000012
【図１１】
2005065239.tif 000013
【図１２】
2005065239.tif 000014
【図１３】
2005065239.tif 000015
【図１４】
2005065239.tif 000016
【図１５】
2005065239.tif 000017
【図１６】
2005065239.tif 000018
【図１７】
2005065239.tif 000019