JP2009272948A - 動画像復号化装置及び動画像復号化方法 - Google Patents
動画像復号化装置及び動画像復号化方法 Download PDFInfo
- Publication number
- JP2009272948A JP2009272948A JP2008122523A JP2008122523A JP2009272948A JP 2009272948 A JP2009272948 A JP 2009272948A JP 2008122523 A JP2008122523 A JP 2008122523A JP 2008122523 A JP2008122523 A JP 2008122523A JP 2009272948 A JP2009272948 A JP 2009272948A
- Authority
- JP
- Japan
- Prior art keywords
- macroblock
- reference image
- information
- image
- storage unit
- 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
【課題】必要なメモリバンド幅を低減可能にする。
【解決手段】符号化ストリームから、各マクロブロック毎に、差分情報及び参照画像マクロブロックの画面上の位置を特定するための情報を含み、符号化ストリームの復号化に必要な情報であるマクロブロック情報を取得するストリーム解析部と、所定数のマクロブロック情報を格納するマクロブロック情報格納部と、参照画像マクロブロックの画面上の位置を特定するための情報が同一のマクロブロック情報を連続的に読み出して、参照画像マクロブロックの画像データを要求し、差分情報と参照画像マクロブロックの画像データとから復元画像を順次生成する画像生成部と、画像生成部からの画像データの要求に対して、要求された参照画像マクロブロックの画像データを格納していない場合には、参照画像格納部から参照画像マクロブロックの画像データを読み出して一時的に格納する一時格納部と、を具備したことを特徴とする。
【選択図】図1
【解決手段】符号化ストリームから、各マクロブロック毎に、差分情報及び参照画像マクロブロックの画面上の位置を特定するための情報を含み、符号化ストリームの復号化に必要な情報であるマクロブロック情報を取得するストリーム解析部と、所定数のマクロブロック情報を格納するマクロブロック情報格納部と、参照画像マクロブロックの画面上の位置を特定するための情報が同一のマクロブロック情報を連続的に読み出して、参照画像マクロブロックの画像データを要求し、差分情報と参照画像マクロブロックの画像データとから復元画像を順次生成する画像生成部と、画像生成部からの画像データの要求に対して、要求された参照画像マクロブロックの画像データを格納していない場合には、参照画像格納部から参照画像マクロブロックの画像データを読み出して一時的に格納する一時格納部と、を具備したことを特徴とする。
【選択図】図1
Description
本発明は、メモリバンド幅を低減可能にした動画像復号化装置及び動画像復号化方法に関する。
近年、MPEG(Moving Picture Experts Group)及びH.264等の普及に伴って、画像はディジタル化されるようになってきた。H.264等の符号化方式においては、映像信号をブロック単位でDCT処理して量子化し、更に所定の可変長符号表を用いて可変長符号化処理することにより、符号化ストリームを得ている。また、H.264等のエンコーダは、差分回路、逆量子化回路、逆DCT回路等を有しており、入力された映像信号と所定期間前後の参照画像との予測誤差を求め、求めた予測誤差のみをDCT処理、量子化処理及び可変長符号化処理することにより、入力された映像信号を予測符号化することもできるようになっている。
更に、エンコーダは、予測誤差の情報量を低減させるために、画像の動きを予測して予測誤差を求める動き補償予測符号化を採用する。なお、動き補償予測に用いた動きベクトルのデータは、可変長符号化され、予測誤差に多重されて出力される。
このように、H.264等の符号化方式では、フレーム内の画像をDCT処理するイントラ符号化の外に、フレーム間の相関を利用して時間軸方向の冗長度を削減するインター符号化も採用する。このようなインター符号化(フレーム間符号化)された符号化ストリームを復号化する動画像復号化装置においては、予測誤差と参照画像との加算を行って、元の画像を復号する。動画像復号化装置は、復号画像を参照画像として用いるために、復号化した画像データを保持するメモリを利用する。
符号化及び復号化処理は、マクロブロックと呼ばれる所定画素数領域単位で行われる。動画像復号化装置は、マクロブロック単位で、メモリに記憶された参照画像から動きベクトルに基づく領域を読み出し、読み出した参照画像マクロブロックと予測誤差マクロブロックとの加算によって、元のマクロブロックを復元するのである。
ところで、参照画像を記憶するメモリは、復号化後の複数枚分の画像データを記憶する必要がある。このため参照画像用のメモリとしては、比較的大容量の外部メモリが用いられることが多い。このような外部メモリを用いる復号化装置については、特許文献1によって開示されたもの等がある。
しかしながら、特許文献1の提案においては、解像度が比較的高い画像の復号化時等には、短時間に大容量の画像データを読み出す必要があり、必要なメモリバンド幅が大きい。このため、参照画像用のメモリとしては高速なメモリが必要であり、また、消費電力が大きいという問題があった。
特開平8−280022号公報
本発明は、必要なメモリバンド幅を低減させることができる動画像復号化装置及び動画像復号化方法を提供することを目的とする。
本発明の一態様の動画像復号化装置は、動画像がマクロブロック単位で動き補償予測符号化されて生成された符号化ストリームから、各マクロブロック毎に、動き補償予測符号化によって得られた差分情報及び動き補償予測符号化されたマクロブロックが参照する参照画像マクロブロックの画面上の位置を特定するための情報を含み、前記動き補償予測符号化された符号化ストリームの復号化に必要な情報であるマクロブロック情報を取得するストリーム解析部と、前記ストリーム解析部が取得した所定マクロブロック数の前記マクロブロック情報を格納するマクロブロック情報格納部と、前記参照画像マクロブロックの画面上の位置を特定するための情報が同一のマクロブロック情報を前記マクロブロック情報格納部から連続的に読み出して、読み出した前記マクロブロック情報に基づいて参照画像マクロブロックの画像データを要求し、前記差分情報と前記参照画像マクロブロックの画像データとから復元画像を順次生成する画像生成部と、前記画像生成部からの画像データの要求に対して、要求された参照画像マクロブロックの画像データを格納していない場合には、前記動き補償予測符号化に用いた参照画像を格納する参照画像格納部から前記参照画像マクロブロックの画像データを読み出して一時的に格納する一時格納部と、を具備したことを特徴とするものであり、
また、本発明の一態様の動画像復号化方法は、動画像がマクロブロック単位で動き補償予測符号化されて生成された符号化ストリームから、ストリーム解析部が、各マクロブロック毎に、動き補償予測符号化によって得られた差分情報及び動き補償予測符号化されたマクロブロックが参照する参照画像マクロブロックの画面上の位置を特定するための情報を含み、前記動き補償予測符号化された符号化ストリームの復号化に必要な情報であるマクロブロック情報を取得し、マクロブロック情報格納部に、取得した所定マクロブロック数の前記マクロブロック情報を格納し、画像生成部が、前記参照画像マクロブロックの画面上の位置を特定するための情報が同一のマクロブロック情報を前記マクロブロック情報格納部から連続的に読み出して、読み出した前記マクロブロック情報に基づいて参照画像マクロブロックの画像データを要求し、前記画像生成部からの画像データの要求に対して、一時格納部が、要求された参照画像マクロブロックの画像データを格納していない場合には、前記動き補償予測符号化に用いた参照画像を格納する参照画像格納部から前記参照画像マクロブロックの画像データを読み出して一時的に格納し、前記画像生成部が、前記差分情報と前記一時格納部から読み出した前記参照画像マクロブロックの画像データとから復元画像を順次生成することを特徴とするものである。
また、本発明の一態様の動画像復号化方法は、動画像がマクロブロック単位で動き補償予測符号化されて生成された符号化ストリームから、ストリーム解析部が、各マクロブロック毎に、動き補償予測符号化によって得られた差分情報及び動き補償予測符号化されたマクロブロックが参照する参照画像マクロブロックの画面上の位置を特定するための情報を含み、前記動き補償予測符号化された符号化ストリームの復号化に必要な情報であるマクロブロック情報を取得し、マクロブロック情報格納部に、取得した所定マクロブロック数の前記マクロブロック情報を格納し、画像生成部が、前記参照画像マクロブロックの画面上の位置を特定するための情報が同一のマクロブロック情報を前記マクロブロック情報格納部から連続的に読み出して、読み出した前記マクロブロック情報に基づいて参照画像マクロブロックの画像データを要求し、前記画像生成部からの画像データの要求に対して、一時格納部が、要求された参照画像マクロブロックの画像データを格納していない場合には、前記動き補償予測符号化に用いた参照画像を格納する参照画像格納部から前記参照画像マクロブロックの画像データを読み出して一時的に格納し、前記画像生成部が、前記差分情報と前記一時格納部から読み出した前記参照画像マクロブロックの画像データとから復元画像を順次生成することを特徴とするものである。
本発明によれば、必要なメモリバンド幅を低減させることができるという効果を有する。
以下、図面を参照して本発明の実施の形態について詳細に説明する。
<第1の実施の形態>
図1は本発明の第1の実施の形態に係る動画像復号化装置を示すブロック図である。
図1は本発明の第1の実施の形態に係る動画像復号化装置を示すブロック図である。
図1において、動画像復号化装置10には、図示しない動画像符号化装置によって符号化された符号化ストリームが入力される。動画像符号化装置においては、映像信号をDCT処理して量子化し、更に所定の可変長符号表を用いて可変長符号化処理することにより、符号化ストリームを得ている。また、動画像符号化装置は、差分回路、逆量子化回路、逆DCT回路、動き補償回路等を有しており、入力された映像信号と所定期間前後の参照画像との予測誤差を求め、求めた予測誤差のみをDCT処理、量子化処理及び可変長符号化処理することにより、入力された映像信号を動き補償予測符号化することもできるようになっている。なお、動きベクトルの検出は、マクロブロック単位で行われ、可変長符号化された後多重されて出力される。
動画像復号化装置10のストリーム解析部11には、このような動き補償予測符号化された符号化ストリームが入力される。なお、符号化ストリームのうちイントラ符号化されたストリーム部分に対する動画像復号化装置10の復号化処理部分については説明を省略し、インター符号化されたストリーム部分についての復号化処理部分のみについて説明する。
ストリーム解析部11は、入力された符号化ストリームに対して可変長復号処理が可能である。ストリーム解析部11は、入力された符号化ストリームを可変長復号化して、多重されているデータを取り出す。ストリーム解析部11は、インター符号化されたマクロブロックについては、可変長復号化された符号化ストリームから、マクロブロック毎に、動きベクトルの情報、参照画像がいずれの画像(フレーム)であるかを示す参照画像番号の情報及び復号化対象マクロブロックと参照画像マクロブロックとの差分情報(以下、これらの情報をマクロブロック情報という)を分離して出力する。
ストリーム解析部11からのマクロブロック情報(MB情報)は、MB情報格納部14に与えられる。MB情報格納部14は、復号化単位であるマクロブロック毎に、マクロブロック情報を保持する。即ち、マクロブロック情報は、可変長復号化の順に順次MB情報格納部14に格納される。
図2はMB情報格納部14の記憶内容を説明するための説明図である。図2において座標は、復号化対象マクロブロックの画面上の位置を示すものであり、括弧内の数字は、復号化対象マクロブロックの水平及び垂直座標を示している。参照画像番号は、復号化対象マクロブロックが参照する参照画像の番号を示しており、復号化画像を基準として前方又は後方の参照画像に対して符号化時に番号が付されている。参照画像座標は、復号化対象マクロブロックが参照すべき参照画像マクロブロックの水平及び垂直座標を示している。差分情報は、復号化対象マクロブロックの差分情報である。なお、図2の例は、画像が水平300×垂直200のマクロブロックで構成される例を示している。
図2の例は、説明の簡略化のために、マクロブロック単位で参照画像マクロブロックが求められる例を示しており、図2の座標及び参照画像座標は、マクロブロック単位の座標を示している。なお、H.264規格等においては、参照画像マクロブロックは、例えば1/4画素精度で求められる。座標及び参照画像座標としては、画素単位の水平及び垂直座標を採用することができ、参照画像マクロブロックが画面上のいずれの位置に位置する場合でも、この位置を座標及び参照画像座標によって指定することができることは明らかである。
参照画像座標は、復号化対象マクロブロックの座標と動きベクトルから求めることができる。参照画像座標は、ストリーム解析部11において求めてMB情報格納部14に出力してもよく、ストリーム解析部11からの動きベクトルを用いてMB情報格納部14において求めて記憶するようにしてもよい。また、後述する動きベクトルソート部12によるMB情報格納部14へのマクロブロック情報の書き込み時に、動きベクトルから参照画像座標への変換を行ってもよい。更に、動きベクトルのまま記憶し、後述する画像生成部13において、参照画像座標を求めるようにしてもよい。なお、マクロブロック情報には、参照画像座標の情報を含めるものとし、マクロブロック情報としては、差分情報、参照画像座標の情報及び参照画像番号の情報を用いてもよい。
なお、MB情報格納部14は、動きベクトルソート部12及び後述する画像生成部13の処理が終了するまで、マクロブロック情報を保持可能な構成とする。例えば、符号化ストリームが途切れなく入力される場合には、MB情報格納部14は、複数の領域を備えて、動きベクトルソート部12や画像生成部13の処理中にストリーム解析部11から入力されるマクロブロック情報を動きベクトルソート部12及び画像生成部13が使用していない領域に格納するようにする。このように2つの領域に交互にマクロブロック情報を格納することで、画像の復号がリアルタイムで行なわれ、且つ符号化ストリームが途切れなく入力された場合でも、復号化処理が可能となる。更に、複数の処理系統が設けられている場合には、MB情報格納部14に3つ以上の領域を設けて、パイプライン的に使用することも可能である。
MB情報格納部14に格納されたマクロブロック情報は、画像生成部13に与えられる。画像生成部13はマクロブロック情報及び参照画像格納部15に格納されている参照画像を用いて、マクロブロック単位で復号化処理を行う。画像生成部13によって復元された画像は復号化画像として出力されると共に、参照画像として参照画像格納部15に与えられる。参照画像格納部15は、参照画像を記憶する。
図3は図1中の画像生成部13の具体的な構成を示すブロック図である。画像生成部13は画像再構成部21及び参照画像一時格納バッファ22によって構成されている。画像再構成部21は、逆量子化回路及び逆DCT回路を有しており、マクロブロック情報中の差分情報を逆量子化処理して、符号化側における量子化処理前のDCT変換係数に戻し、DCT変換係数を逆DCT処理して符号化側におけるDCT処理前の予測誤差を復元する。
一方、画像再構成部21は、参照画像マクロブロックを得るために、入力されたマクロブロック情報のうち参照画像番号及び参照画像座標を参照画像一時格納バッファ22に与える。これにより、参照画像一時格納バッファ22は、参照画像番号で示される参照画像の参照画像座標にて与えられる参照画像マクロブロックの画像データを画像再構成部21に出力する。参照画像一時格納バッファ22に、画像再構成部21によって読み出し要求があった画像データが記憶されていない場合には、参照画像一時格納バッファ22は、参照画像番号で示される参照画像の参照画像座標にて与えられる参照画像マクロブロックの画像データを参照画像格納部15から読み出して記憶する。こうして、参照画像一時格納バッファ22には、画像再構成部21の要求に従って、参照画像マクロブロックの画像データが蓄積される。画像再構成部21は、参照画像マクロブロックの画像データを参照画像一時格納バッファ22から読み出し、求めた予測誤差との加算によって、復号化対象マクロブロックを復元する。
通常、復号化対象マクロブロックの画面上の位置に応じて、各マクロブロックの復号化順が定められる。これに対し、本実施の形態においては、画像再構成部21は、動きベクトルソート部12に制御されて、各マクロブロックの復号化時に参照する参照画像マクロブロックの参照画像位置に基づく順序で、各マクロブロックを復号化するようになっている。
このような復号化順を規定するために、動きベクトルソート部12は、MB情報格納部14に格納されたマクロブロック情報を、参照画像番号及び参照画像座標に基づいて並べ替えるようになっている。ストリーム解析部11は、MB情報格納部14に所定量のデータを格納すると、動きベクトルソート部12に対して、並べ替え処理の実行を指示する。なお、所定量のデータとしては、例えば1画面分や1又は複数スライス分等が考えられる。
この並べ替えによって、各マクロブロック情報は、同一参照画像マクロブロックを参照するマクロブロックについてのマクロブロック情報が連続するように並べ替えられる。動きベクトルソート部12は、並べ替えたマクロブロック情報をMB情報格納部14に与えて記憶させる。動きベクトルソート部12は、並べ替え処理が終了すると、画像生成部13に復号化処理を指示するようになっている。
画像生成部13は、動きベクトルソート部12に制御されて、MB情報格納部14に格納されているマクロブロック情報を、並べ替えられた順に順次読み出して復号化処理を行う。画像生成部13からの各マクロブロックの復号後の画像データは、画面上の位置とは異なる順に出力されることになる。一般的には、復号化装置においては、表示用のフレームメモリが採用されており、画像生成部13は、出力する復号化画像を、座標の情報に基づくアドレスでフレームメモリ及び参照画像格納部15に書き込むことにより、復号化画像を再構成するようになっている。
次に、このように構成された実施の形態の動作について図4及び図5を参照して説明する。図4はMB情報格納部の記憶内容を示す説明図であり、図5は実施の形態の動作を説明するためのフローチャートである。
符号化ストリームは、動画像復号化装置10のストリーム解析部11に入力される。ストリーム解析部11は、入力された符号化ストリームを可変長復号化して、各種情報を抽出する。フレーム間予測による符号化データについては、ストリーム解析部11は、マクロブロック毎に、参照画像番号の情報、動きベクトルの情報及び差分情報を抽出する(ステップS1)。ストリーム解析部11は、動きベクトルについては参照画像座標に変換した後、マクロブロック情報をMB情報格納部14に出力する。
マクロブロック情報は、MB情報格納部14に与えられて格納される。いま、例えば、MB情報格納部14に、図2に示すマクロブロック情報が格納されているものとする。所定量のマクロブロック情報がMB情報格納部14に格納されると、ストリーム解析部11は、動きベクトルソート部12に指示を与えて、並べ替え処理を実行させる。動きベクトルソート部12は、MB情報格納部14に格納されているマクロブロック情報を、参照画像番号及び参照画像座標を基に並べ替え(ステップS2)、並べ替えた結果をMB情報格納部14に格納する(ステップS3)。
図4はこの場合にMB情報格納部14に格納されるマクロブロック情報を示しており、1画面分のマクロブロック情報に対する並べ替え処理を示している。図4に示すように、動きベクトルソート部12は、参照画像番号を第1キーとして並べ替えを行っている。これにより、MB情報格納部14には、同一参照画像番号のマクロブロック情報が連続するように格納される。更に、動きベクトルソート部12は、参照画像座標を第2キーとして並べ替えを行う。これにより、MB情報格納部14には、同一参照画像座標のマクロブロック情報が連続するように格納される。
従って、MB情報格納部14には、復号化に際して同一の参照画像マクロブロックの画像データが必要なマクロブロックについては、マクロブロック情報が連続するように格納されることになる。動きベクトルソート部12は、並べ替え処理が終了すると、画像生成部13に復号化処理を指示する。
画像生成部13は、MB情報格納部14からソート処理後のマクロブロック情報を並べ替え結果の順(例えば図4の上方から下方に向かって)に読み出し(ステップS4)、読み出した情報に基づいて復号化処理を行う。図4の例では、画像生成部13の画像再構成部21は、先ず復号化対象マクロブロックとして座標(0,0)にて示すマクロブロックを選択し、そのマクロブロック情報を読み出す。画像再構成部21は、読み出したマクロブロック情報に基づいて参照画像一時格納バッファ22に指示を与えて、参照画像番号が1の参照画像の参照画像座標が(2,4)のマクロブロックの画像データを要求する(ステップS5)。この時点では、参照画像一時格納バッファ22には、要求された画像データが記憶されていないので、参照画像一時格納バッファ22は、ステップS6からステップS7に処理を移行して、要求された画像データを、参照画像格納部15から読み出して記憶すると共に画像再構成部21に出力する(ステップS8)。
画像再構成部21は、読み出したマクロブロック情報中の差分情報を逆量子化し、逆DCT処理して予測誤差を求める。画像再構成部21は、求めた予測誤差と、参照画像一時格納バッファ22から与えられた参照画像座標が(2,4)の参照画像マクロブロックとを加算して、座標(0,0)のマクロブロックの復元画像を得る(ステップS9)。画像再構成部21は、座標(0,0)のマクロブロックの復元画像を出力する(ステップS10)。
次に、画像生成部13の画像再構成部21は、ステップS11から処理をステップS4に戻して、次の復号化対象マクロブロックとして座標(123,64)に示すマクロブロックを選択し、そのマクロブロック情報をMB情報格納部14から読み出す。画像再構成部21は、読み出したマクロブロック情報に基づいて、参照画像番号が1の参照画像の参照画像座標が(2,4)のマクロブロックの画像データを参照画像一時格納バッファ22に要求する。この画像データは既に参照画像一時格納バッファ22に格納されており、参照画像一時格納バッファ22は、ステップS6からステップS8に処理を移行して、要求された画像データを画像再構成部21に出力する。
即ち、この場合には、参照画像一時格納バッファ22は、参照画像格納部15から参照画像マクロブロックの画像データを読み出す必要はない。画像再構成部21は、読み出したマクロブロック情報中の差分情報を逆量子化し、逆DCT処理して予測誤差を求め、求めた予測誤差と参照画像一時格納バッファ22に要求した参照画像座標が(2,4)の参照画像マクロブロックとを加算して、座標(123,64)のマクロブロックの復元画像を得る。画像再構成部21は、座標(123,64)のマクロブロックの復元画像を出力する。
以後、同様の処理によって、画像生成部13は、MB情報格納部14のマクロブロック情報の並べ替え結果の順に従って、全てのマクロブロックの復元画像を生成する。
このように、本実施の形態においては、MB情報格納部14には、復号化に際して同一の参照画像マクロブロックの画像データが必要なマクロブロックについてはマクロブロック情報が連続するように格納されているので、各マクロブロックの復号化開始時点において、復号化対象マクロブロックの復号化に必要な参照画像マクロブロックが、既に参照画像一時格納バッファ22に記憶されていることがある。この場合には、参照画像格納部15から参照画像一時格納バッファ22への画像データの転送は省略可能である。従って、参照画像格納部15からの画像データの読み出しに必要なメモリバンド幅を低減可能であり、参照画像用のメモリとして比較的低速なメモリを使用可能である。また、参照画像用のメモリからの画像データの読み出しを省略することができることがあるので、メモリ読み出しに必要な消費電力を低減することができる。
なお、上記実施の形態においては、ストリーム解析部11は、可変長復号化処理後のデータを出力する例について説明したが、ストリーム解析部11において、逆量子化処理及び逆DCT処理を行って予測誤差を求め、予測誤差を差分情報として出力するようにしてもよい。
また、上記実施の形態においては、MB情報格納部14には動きベクトルソート部12のソート結果を格納し、並べ替え結果の順で画像生成部13の復号順を決定するようにしたが、並べ替え結果を格納することなく、動きベクトルソート部12がMB情報格納部14に格納されているマクロブロック情報の参照画像番号及び参照画像座標に基づいて復号順を決定し、画像生成部13に復号順を指示するようにしてもよい。
<第2の実施の形態>
図6は本発明の第2の実施の形態を示すフローチャートである。図6において図5と同一の手順には同一符号を付して説明を省略する。本実施の形態は動きベクトルソート部12による並べ替え処理が第1の実施の形態と異なるのみであり、第1の実施の形態と同一のハードウェア構成によって実現可能である。
図6は本発明の第2の実施の形態を示すフローチャートである。図6において図5と同一の手順には同一符号を付して説明を省略する。本実施の形態は動きベクトルソート部12による並べ替え処理が第1の実施の形態と異なるのみであり、第1の実施の形態と同一のハードウェア構成によって実現可能である。
本実施の形態においては、ステップS2に代えてステップS12の手順を採用した点が第1の実施の形態と異なる。動きベクトルソート部12は、ステップS12において、参照画像座標のみに基づいて並べ替えを行う。図7はMB情報格納部14に図2に示すマクロブロック情報が記憶されている場合における並べ替え処理結果を示す説明図である。図7に示すように、マクロブロック情報は、参照画像番号を用いることなく、参照画像座標のみによって並べ替えられている。
同一参照画像座標であっても、異なる参照画像番号のマクロブロックであることもあり、復号化に際して同一の参照画像マクロブロックの画像データが必要なマクロブロックであっても、MB情報格納部14に格納されるマクロブロック情報の並べ替え結果の順が連続しないこともあり得る。
異なる参照画像番号の同一参照画像座標を有するマクロブロック情報の並び替え結果の順が連続した場合には、画像生成部13において、参照画像マクロブロックの参照画像格納部15からの読出しを省略することはできない。しかしながら、同一参照画像番号の同一参照画像座標を有するマクロブロック情報の並べ替え結果の順が連続することもあり、この場合には、画像生成部13において、参照画像マクロブロックの参照画像格納部15からの読出しを省略することが可能である。
このように本実施の形態においても、参照画像格納部15からの読出しを省略して、メモリバンド幅を低減することができるという効果を有する。また、本実施の形態においては、動きベクトルソート部12は同一参照画像座標のみに基づいて並べ替えを行っており、並べ替え処理が軽負荷であるという利点がある。
<第3の実施の形態>
図8は本発明の第3の実施の形態において採用される画像生成部の構成を示すブロック図である。図8において図3と同一の構成要素には同一符号を付して説明を省略する。また、図9は第3の実施の形態を説明するための説明図である。
図8は本発明の第3の実施の形態において採用される画像生成部の構成を示すブロック図である。図8において図3と同一の構成要素には同一符号を付して説明を省略する。また、図9は第3の実施の形態を説明するための説明図である。
第1の実施の形態においては、復号化に際して同一の参照画像マクロブロックの画像データが必要なマクロブロックのマクロブロック情報は、MB情報格納部14に連続して格納される。従って、1参照画像マクロブロック分の容量の参照画像一時格納バッファ22を用いた場合でも、同一参照画像マクロブロックは参照画像格納部15から1回だけ読み出せばよく、メモリバンド幅を十分に削減可能である。
これに対し、第2の実施の形態においては、復号化に際して同一の参照画像マクロブロックの画像データが必要なマクロブロックのマクロブロック情報が、MB情報格納部14に必ずしも連続して格納されるとは限らない。従って、1参照画像マクロブロック分の容量の参照画像一時格納バッファ22を用いると、同一の参照画像マクロブロックを参照画像格納部15から繰返し読み出す必要がある。
この場合でも、複数の参照画像マクロブロック分の容量の参照画像一時格納バッファ22を用いることで、同一の参照画像マクロブロックについての参照画像格納部15からの読み出し回数を低減させることができる。
本実施の形態は参照画像一時格納バッファ22に代えて参照画像一時格納バッファ25を採用した点が第1の実施の形態と異なる。参照画像一時格納バッファ25は、プロセッサキャッシュシステムに用いるキャッシュメモリと同様の構成を有しており、複数の参照画像マクロブロックの画像データを保持可能である。
図9は参照画像一時格納バッファ25に記憶される情報を示している。図9に示すように、参照画像一時格納バッファ25には、有効フラグの情報、参照画像座標及び画像データが記憶されている。画像データは、参照画像マクロブロックの画像データの値を示している。また、有効フラグは、参照画像一時格納バッファ25に記憶されているデータが有効であるか無効であるかを示す。×印は無効を示し、○印は有効を示している。
参照画像一時格納バッファ25は、画像再構成部21から画像データが要求されると、要求された画像データの参照画像座標と同一の参照画像座標の画像データを記憶しており且つその有効フラグが有効を示す場合には、記憶している画像データを画像再構成部21に出力する。また、参照画像一時格納バッファ25は、同一参照画像座標の有効な画像データを記憶していない場合には、要求された画像データを参照画像格納部15から読み出して、空き領域に記憶させるようになっている。なお、空き領域には、有効フラグが無効を示す領域も含む。
次に、このように構成された実施の形態の動作について図10を参照して説明する。図10は第3の実施の形態の動作を説明するためのフローチャートである。図10において図6と同一の手順には同一符号を付して説明を省略する。
本実施の形態においては、画像再構成部21は、参照画像マクロブロックの画像データを参照画像一時格納バッファ25に要求する(ステップS5)。参照画像一時格納バッファ25は、ステップS26において、要求された参照画像マクロブロックとして有効な画像データが記憶されているか否かを判定する。有効フラグによって有効な画像データが記憶されていることが示された場合には、参照画像一時格納バッファ25は、ステップS8において、参照画像マクロブロックを画像再構成部21に出力する(ステップS8)。
一方、有効な画像データが記憶されていない場合には、参照画像一時格納バッファ25は、ステップS7において、参照画像格納部15から参照画像マクロブロックの画像データを読み出して(ステップS7)、空き領域に記憶させ、有効を示す有効フラグを設定する(ステップS27)。以後、同様の動作が繰返される。
なお、参照画像一時格納バッファ25が参照画像格納部15から画像データを読み出す場合において、参照画像一時格納バッファ25に空き領域が無くなったときには、参照画像一時格納バッファ25は、例えば、最も古く書き込みが行われた領域に書き込みを行う。
例えば、参照画像一時格納バッファ25は、全記憶領域中の先頭の領域から最後の領域に向かって、順番に参照画像格納部15からのデータを格納すると共に、格納後に有効フラグを有効に設定する。そして、参照画像一時格納バッファ25は、全ての領域に有効な書き込みを行うと、再び先頭の領域から最後の領域に向かって順番にデータを上書きで格納する。これにより、最も長時間バッファ内に存在したデータから順に新しいデータに更新される。
このように本実施の形態においても、参照画像一時格納バッファとして比較的小さい容量のバッファを用いて、参照画像格納部からの参照画像マクロブロックの読み出し回数を低減させて、メモリバンド幅を小さくすることができる。
ところで、上記説明では、参照画像一時格納バッファ25において参照画像格納部15から読み出したデータを格納する領域は、未使用の領域か又は最も古く書き込みが行われた領域であるものとして説明したが、参照画像格納部15から読み出したデータを格納する領域の決定方法としては種々の方法を採用することができる。
例えば、参照画像一時格納バッファ25からの読み出しが行われていない期間が最も長い領域に、参照画像格納部15から読み出したデータを格納する方法も考えられる。図11及び図12はこの場合における参照画像一時格納バッファ25の記憶内容を示す説明図である。なお、図11及び図12において、矢印はアクセス順位の数値の変化を示している。
参照画像一時格納バッファ25からの読み出しが行われていない期間が最も長い領域、換言すると、使用されていない期間が最も長いデータの格納領域は、アクセス順位の情報を記述することで判断可能である。即ち、参照画像一時格納バッファ25は、参照画像格納部15からのデータを所定の領域に書き込む場合には、その領域にアクセス順位の情報を追加する。図11は図9の例において、アクセス順位の情報を追加書き込みした例を示している。
参照画像一時格納バッファ25は、画像再構成部21から要求された画像データを記憶している場合には、その記憶領域に対応してアクセス順位を1に変更し、他の領域のアクセス順位には、1を加算する。図11の例では、アクセス順位が18の領域、即ち、参照画像座標が(3,54)の参照画像マクロブロックを記憶した領域に対して画像再構成部21から読み出し要求があった場合に、この領域のアクセス順位を1に変更すると共に、他の領域のアクセス順位を1加算した値にしていることを示している。
図11の状態で、画像再構成部21から要求された画像データが参照画像一時格納バッファ25に格納されていない場合には、参照画像一時格納バッファ25は、参照画像格納部15から対応する画像データを読み出し、有効フラグが無効を示す領域に読み出したデータを格納すると共に、格納した領域のアクセス順位を1に設定し、他の領域のアクセス順位に1を加算する。
更に、図12に示すように、参照画像一時格納バッファ25の全領域が有効である場合において、参照画像一時格納バッファ25が、参照画像格納部15から画像データを読み出して格納する場合には、全領域のうちアクセス順位が最も大きい値の領域を読み出したデータの格納場所とする。また、この場合には、格納した領域のアクセス順位を1に設定し、他の領域のアクセス順位に1を加算する。図12の例では、直前の状態においてアクセス順位92が最も大きい値であり、参照画像一時格納バッファ25は、この領域に参照画像一時格納バッファ25から読み出したデータを格納すると共に、この領域のアクセス順位を1に設定する。このように、図11及び図12の例では、使用されていない期間が最も長いデータの領域が、新たなデータによって更新される。
なお、本発明は上記実施の形態に限定されるものではなく、種々の変形例が可能である。
10…動画像復号化装置、11…ストリーム解析部、12…動きベクトルソート部、13…画像生成部、14…MB情報格納部、15…参照画像格納部。
Claims (5)
- 動画像がマクロブロック単位で動き補償予測符号化されて生成された符号化ストリームから、各マクロブロック毎に、動き補償予測符号化によって得られた差分情報及び動き補償予測符号化されたマクロブロックが参照する参照画像マクロブロックの画面上の位置を特定するための情報を含み、前記動き補償予測符号化された符号化ストリームの復号化に必要な情報であるマクロブロック情報を取得するストリーム解析部と、
前記ストリーム解析部が取得した所定マクロブロック数の前記マクロブロック情報を格納するマクロブロック情報格納部と、
前記参照画像マクロブロックの画面上の位置を特定するための情報が同一のマクロブロック情報を前記マクロブロック情報格納部から連続的に読み出して、読み出した前記マクロブロック情報に基づいて参照画像マクロブロックの画像データを要求し、前記差分情報と前記参照画像マクロブロックの画像データとから復元画像を順次生成する画像生成部と、
前記画像生成部からの画像データの要求に対して、要求された参照画像マクロブロックの画像データを格納していない場合には、前記動き補償予測符号化に用いた参照画像を格納する参照画像格納部から前記参照画像マクロブロックの画像データを読み出して一時的に格納する一時格納部と、
を具備したことを特徴とする動画像復号化装置。 - 前記画像生成部は、
前記マクロブロック情報格納部に格納されたマクロブロック情報を、前記参照画像マクロブロックの画面上の位置を特定するための情報に基づいて並べ替えて、前記マクロブロック情報格納部に格納する並べ替え部を具備したことを特徴とする請求項1に記載の動画像復号化装置。 - 前記並べ替え部は、
前記マクロブロック情報格納部に格納されたマクロブロック情報を、前記参照画像を特定するための情報及び前記参照画像マクロブロックの画面上の位置を特定するための情報に基づいて並べ替えを行うことを特徴とする請求項2に記載の動画像復号化装置。 - 前記一時格納部は、
前記参照画像マクロブロックの画像データを記憶する領域を複数有し、
複数の前記領域に有効な参照画像マクロブロックの画像データが記憶されていることを示す有効フラグを設定することを特徴とする請求項1に記載の動画像復号化装置。 - 動画像がマクロブロック単位で動き補償予測符号化されて生成された符号化ストリームから、ストリーム解析部が、各マクロブロック毎に、動き補償予測符号化によって得られた差分情報及び動き補償予測符号化されたマクロブロックが参照する参照画像マクロブロックの画面上の位置を特定するための情報を含み、前記動き補償予測符号化された符号化ストリームの復号化に必要な情報であるマクロブロック情報を取得し、
マクロブロック情報格納部に、取得した所定マクロブロック数の前記マクロブロック情報を格納し、
画像生成部が、前記参照画像マクロブロックの画面上の位置を特定するための情報が同一のマクロブロック情報を前記マクロブロック情報格納部から連続的に読み出して、読み出した前記マクロブロック情報に基づいて参照画像マクロブロックの画像データを要求し、
前記画像生成部からの画像データの要求に対して、一時格納部が、要求された参照画像マクロブロックの画像データを格納していない場合には、前記動き補償予測符号化に用いた参照画像を格納する参照画像格納部から前記参照画像マクロブロックの画像データを読み出して一時的に格納し、
前記画像生成部が、前記差分情報と前記一時格納部から読み出した前記参照画像マクロブロックの画像データとから復元画像を順次生成する
ことを特徴とする動画像復号化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008122523A JP2009272948A (ja) | 2008-05-08 | 2008-05-08 | 動画像復号化装置及び動画像復号化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008122523A JP2009272948A (ja) | 2008-05-08 | 2008-05-08 | 動画像復号化装置及び動画像復号化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009272948A true JP2009272948A (ja) | 2009-11-19 |
Family
ID=41439091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008122523A Pending JP2009272948A (ja) | 2008-05-08 | 2008-05-08 | 動画像復号化装置及び動画像復号化方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009272948A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011061320A (ja) * | 2009-09-07 | 2011-03-24 | Sony Corp | 動き補償装置、符号化装置、復号装置、これらにおける処理方法およびプログラム |
WO2012046366A1 (ja) * | 2010-10-07 | 2012-04-12 | パナソニック株式会社 | 画像再生方法、画像再生装置、画像再生プログラム、撮像システム、および再生システム |
-
2008
- 2008-05-08 JP JP2008122523A patent/JP2009272948A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011061320A (ja) * | 2009-09-07 | 2011-03-24 | Sony Corp | 動き補償装置、符号化装置、復号装置、これらにおける処理方法およびプログラム |
WO2012046366A1 (ja) * | 2010-10-07 | 2012-04-12 | パナソニック株式会社 | 画像再生方法、画像再生装置、画像再生プログラム、撮像システム、および再生システム |
JP2012085001A (ja) * | 2010-10-07 | 2012-04-26 | Panasonic Corp | 画像再生方法、画像再生装置、画像再生プログラム、撮像システム、および再生システム |
US9386310B2 (en) | 2010-10-07 | 2016-07-05 | Panasonic Intellectual Property Management Co., Ltd. | Image reproducing method, image reproducing device, image reproducing program, imaging system, and reproducing system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107846597B (zh) | 用于视频解码器的数据缓存方法和装置 | |
KR101684207B1 (ko) | 동화상 복호 장치, 동화상 부호화 장치, 동화상 복호 방법, 및 동화상 부호화 방법 | |
JP2007295423A (ja) | 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体 | |
US8902994B1 (en) | Deblocking filtering | |
US8660191B2 (en) | Software video decoder display buffer underflow prediction and recovery | |
US20160191935A1 (en) | Method and system with data reuse in inter-frame level parallel decoding | |
JP2007524309A (ja) | ビデオ復号の方法 | |
US7925120B2 (en) | Methods of image processing with reduced memory requirements for video encoder and decoder | |
JP2004336451A (ja) | 画像復号ユニットとそれを用いた画像符号化装置及び符号化方法並びに画像復号装置及び復号方法 | |
JP2009170992A (ja) | 画像処理装置およびその方法、並びにプログラム | |
JPH10271516A (ja) | 圧縮符号化装置、符号化方法、復号化装置および復号化方法 | |
JP2006279574A (ja) | 復号装置と方法 | |
JP2009272948A (ja) | 動画像復号化装置及び動画像復号化方法 | |
JP3322233B2 (ja) | 動画像伸長方法及びそれを実行するプログラムを記録した記録媒体 | |
US20110096082A1 (en) | Memory access control device and method thereof | |
US20110099340A1 (en) | Memory access control device and method thereof | |
KR20160105203A (ko) | 멀티미디어 코덱, 상기 멀티미디어 코덱을 포함하는 애플리케이션 프로세서, 및 상기 애플리케이션 프로세서의 동작 방법 | |
JP2008053848A (ja) | 画像処理装置及び画像処理方法 | |
JP4383367B2 (ja) | 動きベクトル検出装置 | |
KR102171119B1 (ko) | 복수개의 블록 기반의 파이프라인을 이용한 데이터 처리 속도 개선 장치 및 그 동작 방법 | |
JP2009130599A (ja) | 動画像復号装置 | |
JP4594214B2 (ja) | 画像復号装置 | |
KR100192414B1 (ko) | 동영상 복호화장치 | |
JP4155063B2 (ja) | 画像符号化装置と画像復号装置および画像符号化方法と画像復号方法 | |
JP2010041115A (ja) | 画像処理装置および画像処理方法 |