JP4675383B2 - 画像復号化装置および方法、画像符号化装置 - Google Patents

画像復号化装置および方法、画像符号化装置 Download PDF

Info

Publication number
JP4675383B2
JP4675383B2 JP2007544029A JP2007544029A JP4675383B2 JP 4675383 B2 JP4675383 B2 JP 4675383B2 JP 2007544029 A JP2007544029 A JP 2007544029A JP 2007544029 A JP2007544029 A JP 2007544029A JP 4675383 B2 JP4675383 B2 JP 4675383B2
Authority
JP
Japan
Prior art keywords
read
image
area
data
reference image
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.)
Active
Application number
JP2007544029A
Other languages
English (en)
Other versions
JPWO2007055013A1 (ja
Inventor
康弘 渡部
真悟 黒田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2007055013A1 publication Critical patent/JPWO2007055013A1/ja
Application granted granted Critical
Publication of JP4675383B2 publication Critical patent/JP4675383B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、ビデオストリームを復号化する画像復号化装置およびその方法、ビデオストリームを符号化する画像符号化装置に関し、特に、動き予測を利用して符号化されたビデオストリームを復号化する画像復号化装置およびその方法、そのようなビデオストリームの符号化を行う画像符号化装置に関する。
近年、動画像情報をデジタル信号として取り扱うことが一般化しており、そのための標準的な圧縮符号化方式として、MPEG(Moving Picture Experts Group)やH.26xなどが用いられている。特に、主に放送メディアへの適用を目的として策定されたMPEG−2に代わり、最近では、さらに携帯端末やネットワーク配信などの広範囲へ適用可能な、より高圧縮率の符号化方式として、MPEG−4、H.264などが注目されている。
MPEGやH.26xの特徴的な要素技術として、時間的に前の画像、あるいは前と後の画像を参照して動き予測を行い、その予測値を用いて符号化することが挙げられる。そして、このような手法により符号化されたデータの復号化の際には、過去に復号化した画像を参照した画像のデータ(予測画データ)と、符号化ストリームから与えられる差分データとを加算する動き補償処理が行われる。通常、動き補償処理は、16画素×16画素からなるマクロブロックと呼ばれる単位で行われる。すなわち、マクロブロックごとに1つあるいは複数の動きベクトルが与えられるので、復号化装置は、それらの動きベクトルの指し示す画像領域のデータを参照画像のデータから読み出し、符号化ストリームから与えられる原画像との差分データを加算することにより、画像を復元することができる。
ところで、上記の復号化処理を実行する復号化回路は、通常、復号化した画像(以下、デコード画像と呼ぶ。)のデータを一旦外部のメモリに格納する構成とされている。このため、動き予測を利用した画像の復号化のためには、外部のメモリから参照画像のデータを読み出すことが必要となる。ここで、例えばMPEG−2では、マクロブロックを2つの領域に分割し、分割した領域ごとに動き予測を行うことが可能となっている。また、H.264ではさらに、マクロブロックを4画素×4画素のサイズに16分割することが可能となっている。このようにマクロブロックを分割した場合、従来は、動きベクトルが指し示す参照画像の領域のデータを、分割した領域ごとに外部のメモリから読み出していたので、分割数が増加すると、メモリにアクセスする回数が増加し、また、メモリと復号化回路との間のデータトラフィックが増大するという問題があった。
さらに、H.264では、動き補償処理において参照画像を読み込む際に、タップ数の大きいフィルタ処理を必要とする場合もある。ここで、図15は、フィルタ処理を行う場合の参照画像領域の境界部分を示す図である。また、図16は、フィルタ処理を行う場合の参照画像領域の大きさを示す図である。
動き予測の精度を半画素とした場合、動きベクトルが指し示す参照画像内の領域の境界は、例えば図15中のB1のようになる。参照画像を読み込む際に6タップのフィルタ処理を行うためには、境界B1からさらに3画素分大きくした領域の画素が必要となる。図15では、このときの領域の境界をB2として示してある。
従って、例えば、16画素×16画素のマクロブロックの分割数を1としたときに、輝度予測画を生成するために必要な参照画像の領域は、図16(A)のように21画素×21画素の領域となる。この場合、1マクロブロックの輝度予測画像(256バイト)を生成するために必要な参照画像の最大読み出し量は、双方向予測の場合、21[画素]×21[画素]×1[ベクトル数]×2[予測方向]=882[バイト]となる。一方、分割数を16(4画素×4画素)としたときには、分割した1つのブロックにつき、図16(B)のように9画素×9画素の領域を読み出す必要がある。この場合に1マクロブロックの輝度予測画を生成するために必要な参照画像の最大読み出し量は、双方向予測の場合、9[画素]×9[画素]×16[ベクトル数]×2[予測方向]=2592[バイト]となり、読み出し量が増大することがわかる。
なお、上記の符号化技術に関連する従来の画像符号化装置として、個々の動きベクトル検出単位の領域の大きさに関連付けて、局所的に仮想サンプルの精度を決定することで、仮想サンプル生成に必要なメモリバンド幅を削減するようにしたものがあった(例えば、特許文献1参照)。また、デコード画像をメモリに格納する際に、双方向予測を行った画像については画素数を縮小して格納することで、デコード画像の格納に必要なメモリ容量を削減した復号化装置もあった(例えば、特許文献2参照)。
特開2004−48552号公報(段落番号〔0026〕〜〔0035〕、図3) 特開2000−4442号公報(段落番号〔0015〕〜〔0022〕、図1)
上述したように、動き補償の単位とする領域を多数に分割すると、参照画像が蓄積されたメモリにアクセスする回数が増加してしまう。また、動き補償処理に利用する参照画像の読み込み時にフィルタ処理を行う場合には、メモリから読み込むデータの量が増大してしまう。これらの事態は、復号化処理の高速化を阻害する要因となり、高速化のために動作周波数を高めると、消費電力が増加してしまうことが問題となっていた。さらに、これらの問題点は復号化処理だけでなく、符号化処理時にデコード画像をメモリから読み出す際にも同様に発生しうる。
本発明はこのような点に鑑みてなされたものであり、動き予測を利用して符号化されたビデオストリームを、高速かつ低消費電力で復号化できる画像復号化装置および方法を提供することを目的とする。
また、本発明の他の目的は、動き予測を利用し、高速かつ低消費電力でビデオストリームを符号化できる画像符号化装置を提供することである。
本発明では上記課題を解決するために、図1に示すような画像復号化装置1が提供される。この画像復号化装置1は、動き予測を利用して符号化されたビデオストリーム10を復号化するものであり、前記ビデオストリーム10から抽出した複数の動きベクトルがそれぞれ指し示す領域を含む参照画像上の読み出し領域を設定する領域設定手段11と、過去に復号化されてメモリ2に格納された前記参照画像のデータのうち、前記領域設定手段11により設定された前記読み出し領域に対応するデータを、前記メモリ2から連続的なアクセスシーケンスで読み出す参照画像読み出し手段12と、前記参照画像読み出し手段12により読み出された前記読み出し領域のデータを基に予測画像を生成する予測画像生成手段13と、前記予測画像生成手段13により生成された前記予測画像を利用して画像を復元する復号化処理手段14とを有することを特徴とする。
ここで、画像復号化装置1に接続されたメモリ2には、過去に復号化された画像のデータが格納されており、画像復号化装置1は、それらの画像を予測画像の生成時に参照画像として読み出して利用する。領域設定手段11は、ビデオストリームから抽出した複数の動きベクトルがそれぞれ指し示す領域を含む参照画像上の読み出し領域を設定する。参照画像読み出し手段12は、メモリ2に格納された参照画像のデータのうち、領域設定手段11により設定された読み出し領域に対応するデータを、メモリ2から連続的なアクセスシーケンスで読み出す。予測画像生成手段13は、参照画像読み出し手段12により読み出された読み出し領域のデータを基に、予測画像を生成する。復号化処理手段14は、予測画像生成手段13により生成された予測画像を利用して、画像を復元する。
また、本発明では、動き予測を利用してビデオ信号を符号化する画像符号化装置において、符号化対象画像のデータと参照画像のデータとをメモリから読み出し、読み出した各画像のデータから動き予測処理を実行する動き予測処理手段と、前記動き予測処理手段の処理結果に基づく複数の動きベクトルがそれぞれ指し示す領域を含む前記参照画像上の読み出し領域を設定する領域設定手段と、前記領域設定手段により設定された前記読み出し領域に対応する前記参照画像のデータを、前記メモリから連続的なアクセスシーケンスで読み出す参照画像読み出し手段と、前記参照画像読み出し手段により読み出された前記読み出し領域のデータを基に予測画像を生成する予測画像生成手段と、前記予測画像生成手段により生成された前記予測画像のデータと前記符号化対象画像のデータとを利用して符号化処理を行い、ビデオストリームを生成する符号化処理手段と、前記符号化処理手段によって符号化された画像を再び復号化し、前記参照画像として利用する画像を生成して前記メモリに格納する復号化処理手段とを有することを特徴とする画像符号化装置が提供される。
ここで、画像符号化装置に接続されたメモリには、符号化対象画像のデータと、復号化処理手段により過去に復号化され、参照画像として利用される画像のデータとが格納されている。動き予測処理手段は、符号化対象画像のデータと参照画像のデータとをメモリから読み出し、読み出した各画像のデータから動き予測処理を実行する。領域設定手段は、動き予測処理手段の処理結果に基づく複数の動きベクトルがそれぞれ指し示す領域を含む参照画像上の読み出し領域を設定する。参照画像読み出し手段は、領域設定手段により設定された読み出し領域に対応する参照画像のデータを、メモリから連続的なアクセスシーケンスで読み出す。予測画像生成手段は、参照画像読み出し手段により読み出された読み出し領域のデータを基に、予測画像を生成する。符号化処理手段は、予測画像生成手段により生成された予測画像のデータと符号化対象画像のデータとを利用して符号化処理を行い、ビデオストリームを生成する。復号化処理手段は、符号化処理手段によって符号化された画像を再び復号化し、参照画像として利用する画像を生成してメモリに格納する。
本発明の画像復号化装置によれば、領域設定手段により、ビデオストリームから抽出した複数の動きベクトルがそれぞれ指し示す領域を含むように、参照画像上の読み出し領域が設定され、参照画像読み出し手段により、メモリに格納された参照画像のデータのうち、領域設定手段により設定された読み出し領域に対応するデータが、連続的なアクセスシーケンスで読み出される。このため、メモリ内の参照画像のデータのうち、動きベクトルが指し示す領域に対応するデータを個別に読み出す場合と比較して、読み出しに要するクロックサイクル数および読み出しデータ量を低減できる場合が多くなる。従って、予測画像を生成するための参照画像のデータ読み出し処理を、動作周波数を高めることなく、高速化できるようになり、低消費電力かつ高速な画像復号化装置を実現できる。
また、本発明の画像符号化装置によれば、領域設定手段により、動き予測処理手段の処理結果に基づく複数の動きベクトルがそれぞれ指し示す領域を含む参照画像上の読み出し領域が設定され、参照画像読み出し手段により、領域設定手段により設定された読み出し領域に対応する参照画像のデータが、メモリから連続的なアクセスシーケンスで読み出される。このため、メモリ内の参照画像のデータのうち、動きベクトルが指し示す領域に対応するデータを個別に読み出す場合と比較して、読み出しに要するクロックサイクル数および読み出しデータ量を低減できる場合が多くなる。従って、予測画像を生成するための参照画像のデータ読み出し処理を、動作周波数を高めることなく、高速化できるようになり、低消費電力かつ高速な画像符号化装置を実現できる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
本発明の実施の形態に係る画像復号化装置の概略構成を示すブロック図である。 本発明の実施の形態に係るデコーダLSIの内部構成を示すブロック図である。 予測画像読み出し/生成部の内部構成を示すブロック図である。 マクロブロックの分割例を示す図である。 1マクロブロックに対応する参照画像上の領域のデータ読み出しについて説明するための図である。 フィルタ処理が必要な場合の参照画像上の領域のデータ読み出しについて説明するための図である。 サイズが大きく設定されたときの統合読み出し領域の例を示す図である。 H.264に対して好適な参照画像のデータ読み出しの全体の処理手順を示すフローチャートである。 制御判定/参照画像読み出し処理の第1の例を示すフローチャートである。 マクロブロック内の統合対象とする動きベクトルのうち、1つのみが大きく離れた領域を指し示している場合の例を示す図である。 制御判定/参照画像読み出し処理の第2の例を示すフローチャートである。 MPEG−4・シンプル・プロファイルに対して好適な参照画像のデータ読み出し処理手順の第1の例を示すフローチャートである。 MPEG−4・シンプル・プロファイルに対して好適な参照画像のデータ読み出し処理手順の第2の例を示すフローチャートである。 本発明の実施の形態に係るエンコーダLSIの要部構成を示すブロック図である。 フィルタ処理を行う場合の参照画像領域の境界部分を示す図である。 フィルタ処理を行う場合の参照画像領域の大きさを示す図である。
以下、本発明の実施の形態を図面を参照して詳細に説明する。
図1は、本発明の実施の形態に係る画像復号化装置の概略構成を示すブロック図である。
図1に示す画像復号化装置1は、動き予測を利用した圧縮符号化方式に従って生成されたビデオストリーム10の入力を受けて、動画像を伸張復号化する装置である。この画像復号化装置1は、領域設定手段11、参照画像読み出し手段12、予測画像生成手段13、および復号化処理手段14を具備する。また、画像復号化装置1には、主に復号化処理中に必要なデータや復号化された画像(デコード画像)のデータを格納するためのメモリ2が接続されている。
この画像復号化装置1において、時間的に前の画像、あるいは前と後の画像を参照して動き予測を行い、その予測値を用いて符号化されたフレームを復号化する際には、それ以前に復号化され、メモリ2に格納されていたデコード画像を参照画像として利用し、その参照画像のデータと、ビデオストリーム10から与えられる差分データとを加算する動き補償処理を行うことで、フレームのデータが復元される。ビデオストリーム10からは、動き予測処理により得られた動きベクトルと、前の画像または前後の画像との差分に基づく情報とが与えられる。また、動き予測処理は、フレームを分割した領域ごとに行われるので、動きベクトルもこれらの領域ごと、また予測に用いたフレームごとに与えられる。
領域設定手段11は、ビデオストリーム10から抽出した動きベクトルの情報に基づき、メモリ2に格納された参照画像から、動き補償処理のために読み出す画像の領域を設定する。このとき、領域設定手段11は、ビデオストリーム10から抽出した複数の動きベクトルがそれぞれ指し示す領域を含むように、その読み出し領域を設定する。参照画像読み出し手段12は、メモリ2に格納された参照画像のデータのうち、領域設定手段11により設定された読み出し領域に対応するデータを、連続的なアクセスシーケンスで読み出す。
予測画像生成手段13は、参照画像読み出し手段12の制御により読み出されたデータを基に、動きベクトルから予測される予測画像を生成する。復号化処理手段14は、生成された予測画像を利用して、フレームを復元する。復号化処理手段14は、実際には、例えば、生成された予測画像のデータに、ビデオストリーム10から抽出した係数情報に基づく差分データを加算することで、画像を復元する。復号化された画像のデータは、メモリ2に格納される。
以上の画像復号化装置1では、領域設定手段11および参照画像読み出し手段12の動作により、1つの参照画像のデータのうち、複数の動きベクトルが指し示す領域をすべて含むデータが、1回のアクセスシーケンスでメモリ2から読み出される。このため、各動きベクトルが指し示す領域ごとに、対応する画像データをメモリ2から読み出す場合と比較して、メモリ2に対するアクセス回数を減少させることができ、読み出しに要するクロックサイクル数が低減されることが多くなり、また、メモリ2からの正味の読み出しデータ量が削減されやすくなる。従って、復号化の処理負荷が低減されて、動作周波数を高くすることなく、より高圧縮率でかつ画質の高い画像の復号化処理が可能となり、高性能かつ低消費電力の復号化装置を実現できる。特に、動き補償の単位とする領域のフレーム内の分割数が多くなった場合や、参照画像の読み込みの際にフィルタ処理が必要な場合などに、上記の効果がより大きくなる。
次に、本発明の実施の形態について、より具体的に説明する。
〔デコーダ回路の構成〕
図2は、本発明の実施の形態に係るデコーダLSI(Large Scale Integration)の内部構成を示すブロック図である。
図2に示すデコーダLSI100は、MPEGやH.26xなどの画像符号化方式に準拠した動画像のビデオストリームを伸張復号化する回路であり、例えば、ビデオプレーヤ/レコーダやビデオカメラなど、ビデオ再生機能を具備する装置に搭載されるものである。このデコーダLSI100は、ビデオストリームの入力を受けるストリーム入力部110と、ビデオストリームをデコードするデコード処理部120と、デコードされた画像のデータを基に表示画像信号を生成して出力する表示制御部130と、SDRAM(Synchronous Dynamic Random Access Memory)200に対するインタフェースとして機能するSDRAM制御部140とを具備している。また、デコーダLSI100には、一連のデコード処理の作業領域として利用されるSDRAM200が接続されている。
このデコーダLSI100において、ストリーム入力部110に入力されたビデオストリームは、SDRAM制御部140を介して、一旦SDRAM200に格納される。デコード処理部120は、SDRAM200からビデオストリームを読み出してデコード処理を行い、デコード画像をSDRAM200に再び書き込む。また、動き予測を利用してエンコードされたフレームをデコードする際には、それ以前にデコードしたフレームのデータをSDRAM200から読み込み、そのフレームを参照画像としてデコード処理に利用する。表示制御部130は、SDRAM200に格納されたデコード画像を表示順に読み出し、図示しないビデオインタフェース回路などに表示画像信号として出力する。
デコード処理部120は、ストリーム解析部121、予測画像読み出し/生成部122、およびデコード画像生成部123を具備している。ストリーム解析部121は、SDRAM200に格納されたビデオストリームを、SDRAM制御部140を介して読み込み、動きベクトル、DCT(Discrete Cosine Transform)係数などのデコード処理に必要な各種情報を抽出する。
予測画像読み出し/生成部122は、ビデオストリームから抽出された動きベクトルなどの情報を基に、参照画像上の読み出し領域を設定し、その領域に対応するデータをSDRAM200から読み出す。そして、読み出したデータを基に、予測画像を生成する。後述するように、参照画像の読み出しの際には、複数の動きベクトルの指し示す領域をすべて含むように統合した読み出し領域を設定し、その読み出し領域を連続したアクセスシーケンスでSDRAM200から読み出すようにする。このような読み出し制御を、ここでは“統合読み出し制御”と呼ぶことにする。
デコード画像生成部123は、ストリーム解析部121により抽出された係数情報を用いて逆量子化および逆DCT変換の演算を行い、予測誤差を復元する。そして、予測画像読み出し/生成部122により生成された予測画像のデータに予測誤差を加算して、デコード画像を生成し、SDRAM200に格納する。
図3は、予測画像読み出し/生成部の内部構成を示すブロック図である。
予測画像読み出し/生成部122は、図3に示すように、予測画像読み出し制御部221、統合読み出し制御部222、メモリアクセス制御部223、ローカルメモリ224、および予測画像生成部225を具備する。
予測画像読み出し制御部221は、ビデオストリームから抽出された動きベクトル、および動き予測の単位とされたブロックの情報に基づき、ブロックごとに動きベクトルが指し示す領域の情報を統合読み出し制御部222に出力する。また、ローカルメモリ224に対して、ブロックごとの参照画像データの読み出しを指示する。
統合読み出し制御部222は、後述する処理により、複数の動きベクトルの指し示す領域を含むように参照画像上の読み出し領域を設定し、その読み出し領域をメモリアクセス制御部223に対して指示する。メモリアクセス制御部223は、指示された読み出し領域に対応するデータをSDRAM200からローカルメモリ224に読み出すためのシーケンスを発行する。このとき、指示された1つの読み出し領域のデータを1回のアクセスシーケンスでSDRAM200から読み出すようにする。
ローカルメモリ224には、SDRAM200から読み出された上記の読み出し領域のデータが一旦格納される。このローカルメモリ224からは、予測画像読み出し制御部221からの指示に応じて、動き予測のブロックごとに対応する領域のデータが個別に読み出され、予測画像生成部225に出力される。予測画像生成部225は、ローカルメモリ224から読み出された画像データを基に、予測画像を生成する。
この予測画像読み出し/生成部122では、統合読み出し制御部222およびメモリアクセス制御部223の機能により統合読み出し制御が実行されて、複数の動きベクトルが指し示す領域が統合された読み出し領域(以下、統合読み出し領域と呼称する。)に対応する参照画像のデータがSDRAM200から読み込まれる。読み込まれた画像データはローカルメモリ224に一旦格納され、予測画像読み出し制御部221の制御により、動き予測単位のブロックに対応する領域の画像データが予測画像生成部225に対して個別に読み出され、予測画像が生成される。
〔統合読み出し制御の基本的な処理〕
次に、上記の統合読み出し制御について、具体的に説明する。以下の説明では、16画素×16画素のマクロブロックごとに、統合読み出し領域の設定判断処理を実行するものとする。まず、図4は、マクロブロックの分割例を示す図である。
例えばH.264では、マクロブロックを最大で16分割したブロックを、輝度信号に基づく動き予測の単位とすることができる。ここでは例として、図4(A)に示すように、マクロブロックを4分割し、それらのうちの1つのブロックをさらに4分割した、合計7ブロックでそれぞれ動き予測が行われて符号化されたものとする。また、図4(B)では、各ブロックで検出された動きベクトルの指し示す参照画像上の領域を示している。この例では、1マクロブロックに付与された動きベクトルのうち、同一の参照画像に対応するすべての動きベクトル(ここでは各ブロックに対応する7つの動きベクトル)が指し示す領域が、参照画像上における20画素×20画素の領域に含まれることを示している。
図5は、1マクロブロックに対応する参照画像上の領域のデータ読み出しについて説明するための図である。
上記の図4に示したように、1マクロブロックは8画素×8画素からなる3つのブロックと、4画素×4画素からなる4つのブロックとに分割されている。このため、各ブロックに付与された動きベクトルに基づいて予測画像を生成するためには、図5(A)に示すように、マクロブロック上の各分割領域と同じサイズの領域のデータを、SDRAM200に格納された参照画像のデータから切り出す必要がある。従来は、このような各動きベクトルが指し示す参照画像上の領域のデータを、SDRAM200から個別に読み出して、予測画像を生成していた。すなわち、従来の参照画像の読み出し方法では、8画素×8画素の領域のデータ読み出しが3回と、4画素×4画素の領域のデータ読み出しが4回の合計7回分だけ、SDRAM200に対するアクセスシーケンスを実行する必要があった。
ここで、デコード画像の1画素あたりのデータ量が1バイト、SDRAM200の1ワードあたりの記憶データ量が4バイトで、水平方向に隣接する4画素を1ワードに割り付ける仕様とする。このとき、必要な画素が必ずしもワードの境界で区切れているとは限らないため、8画素×8画素の領域については、最大で、3[ワード](12画素)×8=24[ワード]だけのデータをSDRAM200から読み出す必要があり、4画素×4画素の領域については、最大で、2[ワード](8画素)×4=8[ワード]だけのデータを読み出す必要がある。
従って、各ブロックに対応する領域のデータを1回ずつのアクセスシーケンスで読み出す場合、SDRAM200に対する1回のアクセスシーケンスにおけるオーバヘッドを、1ワードの読み出しサイクルのM回分とすると、1マクロブロック当たりの読み出しに要するサイクル数は、24×3+8×4+6M=104+6Mとなる。
これに対して、本実施の形態で適用する統合読み出し制御では、基本的に、図5(B)に示すように、各動きベクトルが指し示す参照画像上の領域をすべて含むように、統合読み出し領域を設定する。図5(B)の例では、20画素×20画素の領域を統合読み出し領域として設定している。すなわち、統合読み出し制御部222は、分割ブロックの領域情報と動きベクトルとに基づいて、上記のような統合読み出し領域を設定し、メモリアクセス制御部223は、設定された1つの統合読み出し領域に対応する参照画像上のデータを、1回のアクセスシーケンスでSDRAM200から読み出す。なお、統合読み出し領域は、メモリアクセスの容易さから、矩形の領域として設定することが望ましい。
ここで、上記の20画素×20画素の統合読み出し領域のデータを読み出す場合、6[ワード](24画素)×20=120[ワード]だけのデータが、SDRAM200から1回のアクセスシーケンスで読み出されることになる。従って、1回のアクセスシーケンスにおけるオーバヘッドのサイクル数Mが、M>(120−104)/6=2.67の条件を満たすとき、1マクロブロック当たりの読み出しに要するサイクル数は、統合読み出し制御を行った場合の方が短くなる。通常のSDRAMに対する読み出しでは上記の条件を満たすことが多いので、統合読み出し制御を行った方が、1マクロブロック分の動き補償処理に必要な参照画像のデータ読み出しを高速で実行できる。
また、上記の図5の例では、各動きベクトルが別々の方向を指し示しているために、1マクロブロック当たりの正味の読み出しデータ量は、統合読み出し制御を行った場合の方が多くなっている。しかし、通常、例えば同一マクロブロック内などの比較的近いブロック同士では、動きベクトルの差が小さくなることが多く、その場合には、それらが指し示す領域同士が重なることがある。このような場合、統合読み出し領域のサイズがより小さく設定されて、正味の読み出しデータ量を従来と比較して低減できることが多くなる。従って、SDRAM200からのデータ読み出し量が減少して、読み出しの処理負荷を軽減することができるので、動作周波数を高めることなく、またSDRAM200との間のバスの帯域幅を広くすることなく、デコード処理を高速化することができる。
また、H.264では、動き補償処理において参照画像を読み込む際に、タップ数の大きいフィルタ処理を必要とする場合もある。図6は、フィルタ処理が必要な場合の参照画像上の領域のデータ読み出しについて説明するための図である。
図6では、動き予測の精度を半画素とし、すべての領域の読み出しに対して6タップのフィルタ処理を行う場合の、参照画像の読み出し領域を示している。各動きベクトルの指し示す領域のデータを個別に読み出す場合、図6(A)に示すように、8画素×8画素のブロックに対応する予測画像の生成のために、13画素×13画素の領域のデータをSDRAM200から読み出す必要があり、4画素×4画素のブロックに対応する予測画像の生成のために、9画素×9画素の領域のデータを読み出す必要がある。
13画素×13画素の領域については、最大で、4[ワード]×13=52[ワード]だけのデータをSDRAM200から読み出す必要があり、9画素×9画素の領域については、最大で、3[ワード]×9=27[ワード]だけのデータを読み出す必要がある。従って、1マクロブロック当たりの読み出しに要するサイクル数は、52×3+27×4+6M=264+6Mとなる。
一方、統合読み出し制御を適用した場合には、基本的には、図6(B)に示すように、25画素×25画素の矩形領域が統合読み出し領域として設定される。このとき、7[ワード]×25=175[ワード]だけのデータが、SDRAM200から1回のアクセスシーケンスで読み出されることになるので、動きベクトルの指し示す領域を個別に読み出した場合と比較して、読み出すデータ量自体を削減でき、読み出し処理のサイクル数も大幅に減少する。
従って、フィルタ処理を用いて高圧縮率かつ高精度なデータ圧縮を行って符号化されたビデオストリームを、動作周波数を高めることなく、より高速にデコードできるようになる。すなわち、消費電力が低く、より高画質な動画像のエンコードが可能な高性能なデコード回路を実現できる。また、デコード処理の高速化により、ビデオストリームの倍速再生など、高速なデコード処理が必要となる特殊再生処理を、より容易に実現できるようになる。
〔統合読み出し制御の具体例1〕
ところで、上述したように、通常、比較的近いブロック同士では、動きベクトルの差が小さくなることが多い。しかし、各動きベクトルが、方向が異なりかつ距離の遠い領域を指し示していた場合には、統合読み出し領域のサイズが非常に大きく設定されてしまう。
図7は、サイズが大きく設定されたときの統合読み出し領域の例を示す図である。
この図7では、例として、図4(A)のように分割された16画素×16画素のマクロブロックについて、すべての動きベクトルの指し示す領域を含むように統合読み出し領域を設定したとき、その統合読み出し領域が50画素×40画素のサイズとなった場合を示している。この場合、読み出しの際にフィルタ処理が不要であるとすると、最大で、13[ワード]×40=520[ワード]だけのデータをSDRAM200から読み出す必要がある。一方、従来のように動きベクトルにそれぞれ対応する領域のデータを個別に読み出した場合には、各領域の読み出しデータ量に変化はないので、読み出しに要するサイクル数は、上述したように、104+6Mとなる。従って、オーバヘッドのサイクル数Mが、104+6M<540の条件を満たした場合には、統合読み出し制御を行った方が読み出しに要するサイクル数が多くなってしまう。
そこで、統合読み出し領域を設定する際に、その領域の水平方向、垂直方向の各サイズのしきい値Lx,Lyを設け、統合読み出し領域のサイズがしきい値を超えた場合には、動きベクトルの指し示す領域のデータを個別に読み出すようにする。以下、図8および図9を用いて、このような場合の処理手順について説明する。
図8は、例としてH.264に対して好適な参照画像のデータ読み出しの全体の処理手順を示すフローチャートである。なお、図8の処理により、1マクロブロック分に対応する参照画像のデータが読み出される。
まず、予測画像読み出し/生成部122において、予測画像読み出し制御部221は、ストリーム解析部121によりビデオストリームから抽出された動きベクトル、対応するブロックの領域情報、参照フレームを示す情報などを取得する。そして、統合処理判定の対象とするブロック(ここでは1マクロブロックを分割したブロック)の動きベクトルと、そのブロックの領域および参照フレームの情報を、統合読み出し制御部222に出力する(ステップS101)。
統合読み出し制御部222は、予測画像読み出し制御部221からの情報を基に、個別のブロックについて読み出しが必要な参照画像の領域を決定する(ステップS102)。すなわち、各ブロックに付加された動きベクトルが指し示す参照画像上の領域を個別に決定する。なお、参照画像のデータ読み出し時にフィルタ処理が実行される場合には、その処理に必要なだけの参照画像領域が設定される。
次に、決定した各ブロックに対応する参照画像領域を、参照フレームごとにグループ化して分類する(ステップS103)。そして、分類したグループごとに、統合読み出し制御に対する必要な判定処理を実行し、各種判定結果に応じて統合読み出し制御または動きベクトルごとの個別読み出し制御を実行して、参照画像のデータをSDRAM200からローカルメモリ224に読み出す(ステップS104)。
1グループ分に対応する参照画像の読み出しが終了すると、ステップS104に戻って次のグループの処理を実行し、全グループの処理が終了すると、1マクロブロック分の参照画像の読み出しが終了する(ステップS105)。なお、H.264では、8画素×8画素のブロックごとに参照フレームを変えることが可能であり、1つのマクロブロックに対して、双方向予測の場合、最大で8フレームを参照画像として利用できる。このため、ステップS104〜S105のループ処理は最大で8回実行されることになる。
図9は、図8のステップS104に対応する制御判定/参照画像読み出し処理の第1の例を示すフローチャートである。
統合読み出し制御部222は、図8のステップS102で決定された参照画像領域の領域情報のうち、処理対象とするグループに対応する情報を選択し、これらの参照画像領域の座標値から左端、上端、右端、下端の各座標を求め、これらの領域がすべて含まれる矩形の統合読み出し領域のサイズを算出する(ステップS201)。次に、算出した統合読み出し領域の水平サイズ、垂直サイズを、それぞれしきい値Lx,Lyと比較する(ステップS202)。
統合読み出し領域が、上記各しきい値に基づく範囲に収まる場合には、その統合読み出し領域に対応する参照画像のデータを1回のアクセスシーケンスで読み出すようにメモリアクセス制御部223に指示する(ステップS203)。これにより、対応する画像データがSDRAM200からローカルメモリ224に読み出される。一方、統合読み出し領域が、上記各しきい値に基づく範囲より大きい場合には、グループ内の各動きベクトルが指し示す参照画像領域をメモリアクセス制御部223に対して個別に伝送し、各領域に対応するデータをその都度、SDRAM200からローカルメモリ224に出力させる(ステップS204)。
以上の図9の処理によれば、図7のように、動きベクトルが、方向が異なりかつ距離の遠い領域を指し示しているために、統合読み出し領域を連続的に読み出したときの読み出しサイクル数が、動きベクトルごとに領域を個別に読み出した場合より多くなってしまう場合には、各領域のデータが個別のアクセスシーケンスによりSDRAM200から読み出される。従って、常に読み出しに要するサイクル数を低く設定でき、動作周波数を高めることなく、より高速にビデオストリームをデコードできるようになる。
〔統合読み出し制御の具体例2〕
図10は、マクロブロック内の統合対象とする動きベクトルのうち、1つのみが大きく離れた領域を指し示している場合の例を示す図である。
図10の例では、マクロブロックを分割した7つのブロックのうち、6つのブロックに対応する動きベクトルが、ある程度小さい領域(図中左上の18画素×20画素の領域)を指し示し、残りの1つの動きベクトルのみが大きく離れた領域(図中右下の領域)を指し示している。このような場合に、すべての動きベクトルが指し示す領域を統合して、30画素×30画素の統合読み出し領域を設定した場合、読み出しの際にフィルタ処理が不要であるとすると、最大で、8[ワード]×30=240[ワード]だけのデータをSDRAM200から読み出す必要があり、読み出しに要するサイクル数は240サイクルとなる。また、図9の処理手順で、上記の30画素×30画素の統合読み出し領域がしきい値に基づくサイズを超えていると判断して、各動きベクトルの指し示す領域を個別に読み出した場合には、オーバヘッドのサイクル数Mを8とすると、104+6M=152だけのサイクル数が読み出しのために必要となる。
このように、マクロブロック内の統合対象とする動きベクトルが、図7の例のようにすべて大きく離れた領域を指し示しているのではなく、それらのうちの1つまたは少数の動きベクトルのみが大きく離れた領域を指し示している場合や、動きベクトルの組同士が、それぞれ離れた場所に存在するある程度小さな領域をそれぞれ指し示している場合などには、上記の統合読み出し制御の各処理手順では、読み出しに要するサイクル数が大きくなってしまう場合がある。そこで、以下の図11の処理例では、1つ以上の動きベクトルが指し示すある程度小さい領域をまとめて、1つの統合読み出し領域として設定することで、上記のような場合にも読み出しに要するサイクル数を小さくできるようにする。
図11は、図8のステップS104に対応する制御判定/参照画像読み出し処理の第2の例を示すフローチャートである。
統合読み出し制御部222は、グループ内の参照画像領域のすべてを統合する場合の判定を行うために、判定対象とする残りの参照画像領域数Nにグループ内の参照画像領域の全領域数(N0)を設定し、統合読み出し領域内の参照画像領域数nにNを設定する(ステップS301)。そして、判定対象とする残りの参照画像領域数Nが0になるまで、ステップS302〜S311の処理を実行する。
まず、統合読み出し制御部222は、n個の参照画像領域を含む矩形の統合読み出し領域を設定し、そのサイズを算出する(ステップS302)。最初は、グループ内の動きベクトルが指し示すすべての参照画像領域を含む1つの統合読み出し領域が設定される。なお、この統合読み出し領域の設定では、上記図9のステップS202と同様に、参照画像のデータ読み出し時にフィルタ処理が実行される場合には、その処理に必要なだけの領域が設定される。
次に、ステップS302で設定した統合読み出し領域のうち、サイズが最小のものを選択する(ステップS303)。そして、選択した統合読み出し領域の水平サイズ、垂直サイズを、それぞれしきい値Lx’,Ly’と比較する(ステップS304)。この比較により、統合読み出し領域のサイズがしきい値に基づく範囲に収まらない場合には、統合読み出し領域内の参照画像領域数nを1だけ減算する(ステップS305)。そして、参照画像領域数nが1であるか否かを判定し(ステップS306)、n=1でない場合はステップS302に戻る。一方、n=1である場合は、その領域は統合できずに残ったものであるので、その領域に対応する参照画像のデータを個別に(すなわち単独で)SDRAM200からローカルメモリ224に読み出すように、メモリアクセス制御部223に指示する(ステップS307)。
ステップS306の判定で、統合読み出し領域内の参照画像領域数nが1でない(すなわち2以上)の場合には、統合読み出し制御部222は、統合読み出し領域に含める参照画像領域を1だけ少なくして、再び統合読み出し領域を可能な限り設定し、それらのサイズを算出する(ステップS302)。そして、サイズが最小の領域を選択して(ステップS303)、その領域がしきい値に基づく所定サイズ内となった場合に(ステップS304)、その統合読み出し領域を1回のアクセスシーケンスでSDRAM200からローカルメモリ224に読み出すようにメモリアクセス制御部223に指示する(ステップS308)。
その後、ステップS308で統合して読み出したn個の参照画像領域を、判定対象から除外し(ステップS309)、判定対象とする残りの参照画像領域数Nをnだけ減算して、そのNを、統合読み出し領域内の参照画像領域数nに設定する(ステップS310)。さらに、参照画像領域数Nが0であるか否かを判定する(ステップS311)。N=0であれば、グループ内のすべての参照画像領域のデータ読み出しが済んでいることになるので、処理を終了する。また、N=0でなければ、読み出しが済んでいない参照画像領域が存在するので、ステップS302に戻り、残りの領域から統合読み出し領域を設定して、サイズが最小のものについてしきい値との判定を行う。
この結果、グループ内の複数の参照画像領域を含んだ所定サイズ以内の統合読み出し領域が1つ以上設定され、それらの統合読み出し領域のデータについては、それぞれ1回のアクセスシーケンスでSDRAM200から読み出される。また、統合読み出し領域に含まれなかった参照画像領域のデータは、別のアクセスシーケンスでSDRAM200から読み出される。
ここで、図10の例を適用した場合、ステップS304でのしきい値を、Lx’=24,Ly’=20とすると、図10中の左上に存在する6つの参照画像領域が、20画素×18画素の領域に含まれるので、この領域が統合読み出し領域として設定される。この統合読み出し領域については、最大で、6[ワード]×18=108[ワード]だけのデータがSDRAM200から読み出される。また、残りの図中右下に存在する4画素×4画素の参照画像領域については、個別のアクセスシーケンスでSDRAM200から読み出され、最大で、2[ワード]×4=8[ワード]だけのデータが読み出される。全体のアクセスシーケンス数は2回となるので、1回のアクセスシーケンスに要するオーバヘッドのサイクル数Nを8とすると、これらの読み出しに要するサイクル数は、108+8+8=124となる。従って、マクロブロック内のすべての参照画像領域を含むように統合読み出し領域を設定した場合や、各参照画像領域を個別のアクセスシーケンスで読み出した場合と比較して、読み出しに要するサイクル数が低減され、読み出しデータ量も低減される。
以上の図11の処理によれば、マクロブロック内の動きベクトルのうちの1つまたは少数が大きく離れた領域を指し示している場合や、動きベクトルの組同士が、それぞれ離れた場所に存在するある程度小さな領域をそれぞれ指し示している場合でも、参照画像のデータ読み出しに要するサイクル数を常に低く設定でき、動作周波数を高めることなく、より高速にビデオストリームをデコードできるようになる。
〔統合読み出し制御の具体例3〕
次に、上記の統合読み出し制御を、MPEG−4・シンプル・プロファイル(Simple Profile)に従って符号化されたビデオストリームのデコード処理に適用する場合の処理例について説明する。なお、このようなビデオストリームのデコーダLSIは、基本的に、図2および図3に示したデコーダLSI100と同様の機能により実現される。また、MPEG−4・シンプル・プロファイルの仕様では、マクロブロックの分割数は4または1(分割なし)の2パターンであり、参照画像は1フレームのみである。
まず、上記の図7のように、マクロブロック中の動きベクトルが、それぞれ方向が異なりかつ距離の遠い領域を指し示している場合に好適な処理例(図8および図9の処理に対応)について、以下の図12を用いて説明する。
図12は、MPEG−4・シンプル・プロファイルに対して好適な参照画像のデータ読み出し処理手順の第1の例を示すフローチャートである。なお、図8と同様に、図12の処理により、1マクロブロック分に対応する参照画像のデータが読み出される。
まず、予測画像読み出し/生成部122において、予測画像読み出し制御部221は、ストリーム解析部121によりビデオストリームから抽出された動きベクトル、対応するブロックの領域情報などを取得し、統合処理判定の対象とするブロック(ここでは1マクロブロックまたはその分割ブロック)の動きベクトルとそのブロックの領域情報を、統合読み出し制御部222に出力する(ステップS401)。
統合読み出し制御部222は、予測画像読み出し制御部221からの情報を基に、各ブロックについて読み出しが必要な参照画像の領域を決定する(ステップS402)。次に、マクロブロック内のブロックの分割があるか否かを判定する(ステップS403)。ブロックの分割がない場合には、マクロブロックに対応する参照画像領域のデータを、個別の(すなわち1回の)読み出しシーケンスでSDRAM200から読み出すように、メモリアクセス制御部223に指示する(ステップS404)。これにより、マクロブロック内のただ1つの動きベクトルの指し示す参照画像領域でのデータが、SDRAM200からローカルメモリ224に読み出される。
また、ステップS403の判定でブロックの分割がある場合には、各ブロックに対応する参照画像領域を含む統合読み出し領域を設定し、これらの参照画像領域の座標値から左端、上端、右端、下端の各座標を求め、これらの領域がすべて含まれる矩形の統合読み出し領域のサイズを算出する(ステップS405)。次に、算出した統合読み出し領域の水平・方向のサイズを、それぞれしきい値と比較する(ステップS406)。
統合読み出し領域が、上記各しきい値に基づく範囲に収まる場合には、その統合読み出し領域に対応する参照画像のデータを1回のアクセスシーケンスで読み出すようにメモリアクセス制御部223に指示する(ステップS407)。これにより、対応する画像データがSDRAM200からローカルメモリ224に読み出される。一方、統合読み出し領域が、上記各しきい値に基づく範囲より大きい場合には、各ブロックの動きベクトルが指し示す参照画像領域のデータを、個別にSDRAM200から読み出すように、メモリアクセス制御部223に指示する(ステップS404)。
以上の読み出し処理によれば、図9の場合と同様に、動きベクトルが、方向が異なりかつ距離の遠い領域を指し示しているために、統合読み出し領域を連続的に読み出したときの読み出しサイクル数が、動きベクトルごとに領域を個別に読み出した場合より多くなってしまう場合には、各領域のデータが個別のアクセスシーケンスによりSDRAM200から読み出されるようになる。従って、常に読み出しに要するサイクル数を低く設定でき、動作周波数を高めることなく、より高速にビデオストリームをデコードできるようになる。
なお、マクロブロックの分割数が4である場合には、例えば上記図10および図11で説明したように、1つ以上の動きベクトルが指し示すある程度小さい領域をまとめて、1つの統合読み出し領域として設定して統合読み出しを行い、統合できなかった参照画像領域を個別のアクセスシーケンスで読み出すようにしてもよい。これにより、マクロブロック内の動きベクトルのうちの1つまたは少数が大きく離れた領域を指し示している場合や、動きベクトルの組同士が、それぞれ離れた場所に存在するある程度小さな領域をそれぞれ指し示している場合でも、読み出しに要するサイクル数を小さくすることができる。
〔統合読み出し制御の具体例4〕
次に、MPEG−4・シンプル・プロファイルのビデオストリームのデコード処理において、マクロブロックのブロック分割数が1で、隣接する複数のマクロブロック(以下の図13の例では2つのマクロブロック)を、統合読み出しの判定対象とした場合の処理例について、以下の図13を用いて説明する。
図13は、MPEG−4・シンプル・プロファイルに対して好適な参照画像のデータ読み出し処理手順の第2の例を示すフローチャートである。なお、この図13の処理により、隣接する2つのマクロブロックに対応する参照画像のデータが読み出される。
まず、予測画像読み出し/生成部122において、予測画像読み出し制御部221は、ストリーム解析部121から取得した情報に基づき統合処理判定の対象とする、隣接する2つのマクロブロックの動きベクトルの情報を、統合読み出し制御部222に出力する(ステップS501)。
統合読み出し制御部222は、予測画像読み出し制御部221からの情報を基に、各動きベクトルが指し示す先の、読み出しが必要な参照画像の領域を決定する(ステップS502)。次に、各マクロブロックに対応する参照画像領域を含む統合読み出し領域を設定し、これらの参照画像領域の座標値から左端、上端、右端、下端の各座標を求め、これらの領域がすべて含まれる矩形の統合読み出し領域のサイズを算出する(ステップS503)。
次に、算出した統合読み出し領域の水平・方向のサイズを、それぞれしきい値と比較し(ステップS504)、その統合読み出し領域が、上記各しきい値に基づく範囲に収まる場合には、その統合読み出し領域に対応する参照画像のデータを1回のアクセスシーケンスで読み出すようにメモリアクセス制御部223に指示する(ステップS505)。また、統合読み出し領域が、上記各しきい値に基づく範囲より大きい場合には、各動きベクトルが指し示す参照画像領域のデータを、個別にSDRAM200から読み出すように、メモリアクセス制御部223に指示する(ステップS506)。
以上の読み出し処理によれば、図12の場合と同様に、動きベクトルが、方向が異なりかつ距離の遠い領域を指し示している場合でも、常に読み出しに要するサイクル数が低く設定されるようになり、動作周波数を高めることなく、より高速にビデオストリームをデコードできるようになる。
〔エンコーダ回路に適用した場合の回路構成〕
ところで、本発明は、画像復号化装置だけでなく、画像符号化装置における外部メモリからの参照画像のデータ読み込み機能に対して適用することもできる。例えば、後述するように、MPEGやH.264に従ったエンコード時において、動きベクトルの検出用の参照画像とは別に、予測画像生成用の参照画像を読み込む場合、あるいは、輝度成分データのみで動きベクトルを検出した後に、色差成分の参照画像のデータを読み出す場合などに、統合読み出し制御を適用することができる。
図14は、本発明の実施の形態に係るエンコーダLSIの要部構成を示すブロック図である。この図では、MPEGやH.264に従ったインター(Inter)マクロブロックデコード処理に関する機能について、概略的に示している。
図14に示すエンコーダLSI300は、例えば、ビデオレコーダやビデオカメラなどのビデオ録画機能を具備する装置や、ビデオストリームの配信機能を具備する装置に搭載されるものである。このエンコーダLSI300は、エンコード対象の画像信号の入力を受ける画像入力制御部310と、画像のエンコード処理を実行するエンコード処理部320と、エンコード処理により生成されたビデオストリームを外部に出力するストリーム出力部330と、エンコード処理の作業領域として利用されるSDRAM400との間のインタフェースとして機能するSDRAM制御部340とを具備する。
このエンコーダLSI300において、画像入力制御部310に入力された画像信号は、SDRAM制御部340を介して、一旦SDRAM400に格納される。エンコード処理部320は、SDRAM400に格納された画像データをSDRAM制御部340を介して読み込み、エンコード処理を実行して、生成したビデオストリームをSDRAM400に再び書き込む。SDRAM400に格納されたビデオストリームは、ストリーム出力部330に読み出され、外部の記録装置やネットワークインタフェースなどに対して出力する。また、エンコード処理部320は、エンコード処理とともに、動き予測のために利用されるローカルデコード画像を生成して、SDRAM400に格納する。そして、動き予測を行う際に、エンコード対象の画像(原画像)のデータをSDRAM400から読み込むとともに、過去のローカルデコード画像のデータをSDRAM400から読み込み、その画像を参照画像として処理に利用する。
エンコード処理部320は、動きベクトルを検出する動きベクトル検出部321と、検出された動きベクトルに基づいて予測画像を生成する予測画像生成部322と、生成された予測画像と原画像とを基に符号化ストリームを生成する符号化演算処理部323とを具備する。
動き予測を利用したフレームのエンコードを行う場合、動きベクトル検出部321は、原画像のデータと、動き予測に利用する参照画像(過去のローカルデコード画像)のデータとを、SDRAM400から読み込み、動きベクトルを検出する。一般的に、動きベクトルの検出では、ブロックマッチングなどの手法により原画像と参照画像との予測誤差が小さくなるようなベクトルが検出される。
予測画像生成部322は、動きベクトル検出部321により検出された動きベクトルの情報に基づいて、参照画像の読み出し領域を算出し、その算出結果に基づいて、SDRAM400から対応する参照画像のデータを読み出し、予測画像を生成する。
符号化演算処理部323は、予測画像生成部322により生成された予測画像と、対応する原画像との予測誤差を検出し、その検出値に対してDCT変換処理および量子化処理を施して、規格に従ったビデオストリームを生成してSDRAM400に格納する。これと同時に、符号化データに対して逆量子化処理および逆DCT変換処理を行って、必要なローカルデコード画像を生成し、SDRAM400に格納する。
ここで、上記処理では、動きベクトルの検出のための参照画像を動きベクトル検出部321がSDRAM400から読み出した後、同じ参照画像を予測画像生成部322が再びSDRAM400から読み出す手順となっている。動きベクトルの検出は、例えばマクロブロックを複数個に分割した領域ごとに行われるが、動きベクトル検出部321は、検出対象の分割ブロックのデータを順次読み出せばよい。これに対して、予測画像生成部322は、動きベクトルに基づいて算出した参照画像上の領域のデータをSDRAM400から読み出す必要がある。
このため、予測画像生成部322による参照画像の読み出し処理に対して、上述した統合読み出し制御を適用することで、予測画像生成のための参照画像の読み込みに要するサイクル数を低減し、処理を高速化することが可能となる。例えば、1つの参照画像に対応する参照画像領域をすべて含むように統合読み出し領域を設定し、その領域を1回のアクセスシーケンスでSDRAM400から読み出すようにする。また、図9や図11のように、設定した統合読み出し領域を用いて統合読み出し制御を行うか否かを判定することで、より多様な場合でも、安定的に処理を高速化することが可能となる。
さらに、動きベクトルの検出を、輝度成分のデータのみから行い、その検出結果を用いて色差成分に対応する予測画像の生成を行う場合でも、輝度成分に対応する参照画像のデータの読み出し後に、色差成分に対応する参照画像のデータを、動きベクトルの指し示す領域ごとに読み出す必要がある。従って、この場合に、色差成分に対応する参照画像の読み出しの際に、上述した統合読み出し制御を適用することで、同様に、予測画像生成のための参照画像の読み込みに要するサイクル数を低減し、処理を高速化することが可能となる。
以上のように、本発明を適用することにより、ビデオストリームのデコードだけでなく、エンコード時にも、動作周波数を高めることなく、SDRAM400へのアクセスに要するサイクル数および読み出しデータ量を低減して、処理を高速化できるようになる。従って、低消費電力でありながら、高圧縮率でかつ高品質なビデオストリームの作成および再生処理が可能な装置を実現できる。特に、H.264などの高圧縮率かつ高画質の符号化方式は、携帯型電話機やPDA(Personal Digital Assistance)などの携帯機器でのビデオ録画・再生に採用することが要望されており、上記手法によりデコード処理時の低消費電力化が実現されることで、バッテリ寿命が長く、より長時間のビデオ録画・再生が可能な携帯機器を実現できるようになる。
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
符号の説明
1 画像復号化装置
2 メモリ
10 ビデオストリーム
11 領域設定手段
12 参照画像読み出し手段
13 予測画像生成手段
14 復号化処理手段

Claims (10)

  1. 動き予測を利用して符号化されたビデオストリームを復号化する画像復号化装置において、
    前記ビデオストリームから抽出した複数の動きベクトルがそれぞれ指し示す領域を含む参照画像上の読み出し領域を設定する領域設定手段と、
    過去に復号化されてメモリに格納された前記参照画像のデータのうち、前記領域設定手段により設定された前記読み出し領域に対応するデータを、前記メモリから連続的なアクセスシーケンスで読み出す参照画像読み出し手段と、
    前記参照画像読み出し手段により読み出された前記読み出し領域のデータを基に予測画像を生成する予測画像生成手段と、
    前記予測画像生成手段により生成された前記予測画像を利用して画像を復元する復号化処理手段と、
    を有することを特徴とする画像復号化装置。
  2. 前記領域設定手段により設定された前記読み出し領域のサイズを所定のしきい値と比較するサイズ比較手段をさらに有し、
    前記参照画像読み出し手段は、前記サイズ比較手段による比較結果に基づき、前記読み出し領域のサイズが前記しきい値以内である場合には、当該読み出し領域に対応する前記参照画像上のデータを前記メモリから連続的なアクセスシーケンスで読み出し、前記読み出し領域のサイズが前記しきい値を超えた場合には、動きベクトルがそれぞれ指し示す領域に対応する前記参照画像上のデータを前記メモリから個別のアクセスシーケンスで読み出す、
    ことを特徴とする請求項1記載の画像復号化装置。
  3. 前記領域設定手段により設定された前記読み出し領域のサイズを所定のしきい値と比較するサイズ比較手段と、
    前記サイズ比較手段による比較結果に基づき、前記読み出し領域のサイズが前記しきい値以内である場合には、当該読み出し領域に対応する前記参照画像上のデータを前記メモリから連続的なアクセスシーケンスで読み出すとともに、前記参照画像上の当該読み出し領域から外れた領域については、動きベクトルがそれぞれ指し示す領域に対応するデータを前記メモリから個別のアクセスシーケンスで読み出すように、前記参照画像読み出し手段を制御する読み出し制御手段と、
    をさらに有することを特徴とする請求項1記載の画像復号化装置。
  4. 前記読み出し制御手段は、前記領域設定手段により設定された第1の読み出し領域のサイズが、前記サイズ比較手段による比較処理により前記しきい値を超えた場合には、前記領域設定手段に前回より少ない数の動きベクトルが指し示す領域を含む第2の読み出し領域を設定させ、前記サイズ比較手段による比較処理により前記第2の読み出し領域のサイズが前記しきい値以内である場合には、当該第2の読み出し領域に対応する前記参照画像上のデータを前記メモリから連続的なアクセスシーケンスで読み出すように、前記参照画像読み出し手段を制御することを特徴とする請求項3記載の画像復号化装置。
  5. 前記読み出し制御手段は、前記領域設定手段により設定された前記読み出し領域のサイズが、前記サイズ比較手段による比較処理により前記しきい値以内である場合には、前記参照画像上の当該読み出し領域から外れた領域から前記領域設定手段に別の前記読み出し領域を設定させる処理を繰り返し、サイズが前記しきい値以内となった1つ以上の前記読み出し領域に対応する前記参照画像上のデータを、前記読み出し領域ごとに連続的なアクセスシーケンスで前記メモリから読み出し、前記参照画像上の前記各読み出し領域から外れた領域については、動きベクトルがそれぞれ指し示す領域に対応するデータを前記メモリから個別のアクセスシーケンスで読み出すように制御することを特徴とする請求項3記載の画像復号化装置。
  6. 前記参照画像読み出し手段の制御により前記メモリから読み出された前記読み出し領域のデータを記憶するローカルメモリをさらに有し、
    前記予測画像生成手段は、前記ローカルメモリ内の前記読み出し領域のデータを、動きベクトルに対応する領域ごとに読み出して、前記予測画像を生成する、
    ことを特徴とする請求項1記載の画像復号化装置。
  7. 動き予測を利用してビデオ信号を符号化する画像符号化装置において、
    符号化対象画像のデータと参照画像のデータとをメモリから読み出し、読み出した各画像のデータから動き予測処理を実行する動き予測処理手段と、
    前記動き予測処理手段の処理結果に基づく複数の動きベクトルがそれぞれ指し示す領域を含む前記参照画像上の読み出し領域を設定する領域設定手段と、
    前記領域設定手段により設定された前記読み出し領域に対応する前記参照画像のデータを、前記メモリから連続的なアクセスシーケンスで読み出す参照画像読み出し手段と、
    前記参照画像読み出し手段により読み出された前記読み出し領域のデータを基に予測画像を生成する予測画像生成手段と、
    前記予測画像生成手段により生成された前記予測画像のデータと前記符号化対象画像のデータとを利用して符号化処理を行い、ビデオストリームを生成する符号化処理手段と、
    前記符号化処理手段によって符号化された画像を再び復号化し、前記参照画像として利用する画像を生成して前記メモリに格納する復号化処理手段と、
    を有することを特徴とする画像符号化装置。
  8. 前記予測画像生成手段は、前記動き予測処理手段により前記メモリから読み出された前記参照画像と同じ前記メモリ上の画像データから、前記読み出し領域に対応するデータを再び読み出すことを特徴とする請求項7記載の画像符号化装置。
  9. 前記動き予測処理手段は、前記符号化対象画像および前記参照画像の各輝度データを前記メモリから読み出して動き予測処理を実行し、
    前記領域設定手段は、前記動き予測処理手段の処理結果に基づく複数の色差データ用の動きベクトルがそれぞれ指し示す領域を含む、前記参照画像上の読み出し領域を設定し、
    前記参照画像読み出し手段は、前記領域設定手段により設定された前記読み出し領域に対応する前記参照画像の色差データを、前記メモリから連続的なアクセスシーケンスで読み出し、
    前記予測画像生成手段は、前記参照画像読み出し手段により読み出された前記読み出し領域の色差データを基に予測画像を生成し、
    前記符号化処理手段は、前記予測画像生成手段により生成された前記予測画像のデータと前記符号化対象画像の色差データとを利用して符号化処理を行い、ビデオストリームを生成する、
    ことを特徴とする請求項7記載の画像符号化装置。
  10. 動き予測を利用して符号化されたビデオストリームを復号化する画像復号化方法において、
    領域設定手段が、前記ビデオストリームから抽出した複数の動きベクトルがそれぞれ指し示す領域を含む参照画像上の読み出し領域を設定するステップと、
    参照画像読み出し手段が、過去に復号化されてメモリに格納された前記参照画像のデータのうち、前記領域設定手段により設定された前記読み出し領域に対応するデータを、前記メモリから連続的なアクセスシーケンスで読み出すステップと、
    予測画像生成手段が、前記参照画像読み出し手段により読み出された前記読み出し領域のデータを基に予測画像を生成するステップと、
    復号化処理手段が、前記予測画像生成手段により生成された前記予測画像を利用して画像を復元するステップと、
    を含むことを特徴とする画像復号化方法。
JP2007544029A 2005-11-11 2005-11-11 画像復号化装置および方法、画像符号化装置 Active JP4675383B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2005/020700 WO2007055013A1 (ja) 2005-11-11 2005-11-11 画像復号化装置および方法、画像符号化装置

Publications (2)

Publication Number Publication Date
JPWO2007055013A1 JPWO2007055013A1 (ja) 2009-04-30
JP4675383B2 true JP4675383B2 (ja) 2011-04-20

Family

ID=38023024

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007544029A Active JP4675383B2 (ja) 2005-11-11 2005-11-11 画像復号化装置および方法、画像符号化装置

Country Status (4)

Country Link
US (1) US20080205527A1 (ja)
EP (1) EP1947863A4 (ja)
JP (1) JP4675383B2 (ja)
WO (1) WO2007055013A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10034016B2 (en) 2013-03-29 2018-07-24 Fujitsu Limited Coding apparatus, computer system, coding method, and computer product

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8411749B1 (en) * 2008-10-07 2013-04-02 Zenverge, Inc. Optimized motion compensation and motion estimation for video coding
JP5580541B2 (ja) 2009-03-06 2014-08-27 パナソニック株式会社 画像復号化装置および画像復号化方法
JP5688585B2 (ja) * 2011-05-23 2015-03-25 富士通セミコンダクター株式会社 フレーム間予測処理装置および画像処理装置
US9584803B2 (en) * 2012-07-08 2017-02-28 Cisco Technology, Inc. Picture output management in video applications with fixed picture rate
CN104717510B (zh) * 2013-12-13 2018-08-17 华为技术有限公司 用于图像处理的方法和装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0865685A (ja) * 1994-08-23 1996-03-08 Nec Corp 動きベクトル検出回路
JPH0955940A (ja) * 1995-08-11 1997-02-25 Nippon Telegr & Teleph Corp <Ntt> 動き補償モジュール
JPH10304354A (ja) * 1997-04-28 1998-11-13 Toshiba Corp 動画像復号方法及び動画像復号装置
JP2000004442A (ja) * 1998-06-15 2000-01-07 Hitachi Ltd ディジタル符号化画像データの復号・表示装置
JP2000175199A (ja) * 1998-12-04 2000-06-23 Sony Corp 画像処理装置及び方法、並びに提供媒体
JP2003153282A (ja) * 2001-11-19 2003-05-23 Matsushita Electric Ind Co Ltd 動きベクトル検出回路
JP2004048552A (ja) * 2002-07-15 2004-02-12 Mitsubishi Electric Corp 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
JP2004215049A (ja) * 2003-01-07 2004-07-29 Sony Corp 符号化装置および方法、復号装置および方法、並びにプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000195199A (ja) * 1998-12-25 2000-07-14 Sanyo Electric Co Ltd トラックジャンプ制御回路及びトラックジャンプ制御方法
US6996178B1 (en) * 2001-08-27 2006-02-07 Cisco Technology, Inc. Look ahead motion compensation
US7978764B2 (en) * 2003-06-27 2011-07-12 Nxp B.V. Method of video encoding for handheld apparatuses selecting best prediction function according to optimal rate-distortion value
KR20050078706A (ko) * 2004-01-31 2005-08-08 삼성전자주식회사 메모리 액세스 방법 및 메모리 액세스 장치
US7881376B2 (en) * 2004-05-14 2011-02-01 Panasonic Corporation Motion compensation apparatus
US7852940B2 (en) * 2005-10-20 2010-12-14 Qualcomm Incorporated Scalable motion estimation for video encoding

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0865685A (ja) * 1994-08-23 1996-03-08 Nec Corp 動きベクトル検出回路
JPH0955940A (ja) * 1995-08-11 1997-02-25 Nippon Telegr & Teleph Corp <Ntt> 動き補償モジュール
JPH10304354A (ja) * 1997-04-28 1998-11-13 Toshiba Corp 動画像復号方法及び動画像復号装置
JP2000004442A (ja) * 1998-06-15 2000-01-07 Hitachi Ltd ディジタル符号化画像データの復号・表示装置
JP2000175199A (ja) * 1998-12-04 2000-06-23 Sony Corp 画像処理装置及び方法、並びに提供媒体
JP2003153282A (ja) * 2001-11-19 2003-05-23 Matsushita Electric Ind Co Ltd 動きベクトル検出回路
JP2004048552A (ja) * 2002-07-15 2004-02-12 Mitsubishi Electric Corp 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
JP2004215049A (ja) * 2003-01-07 2004-07-29 Sony Corp 符号化装置および方法、復号装置および方法、並びにプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10034016B2 (en) 2013-03-29 2018-07-24 Fujitsu Limited Coding apparatus, computer system, coding method, and computer product

Also Published As

Publication number Publication date
WO2007055013A1 (ja) 2007-05-18
EP1947863A4 (en) 2011-07-20
US20080205527A1 (en) 2008-08-28
EP1947863A1 (en) 2008-07-23
JPWO2007055013A1 (ja) 2009-04-30

Similar Documents

Publication Publication Date Title
JP4535047B2 (ja) 画像データ処理方法、画像データ処理方法のプログラム、画像データ処理方法のプログラムを記録した記録媒体及び画像データ処理装置
JP4764807B2 (ja) 動きベクトル検出装置および動きベクトル検出方法
JP2007281630A (ja) 動き検出装置、動き検出方法、動き検出集積回路および画像符号化装置
JP4606311B2 (ja) 画像符号化装置および画像符号化方法
JP4675383B2 (ja) 画像復号化装置および方法、画像符号化装置
JP4709155B2 (ja) 動き検出装置
JP4973886B2 (ja) 動画像復号装置、復号画像記録装置、それらの方法及びプログラム
JP2006311526A (ja) 画像復号装置、画像復号方法、画像復号プログラム、画像復号集積回路
WO2013031071A1 (ja) 動画像復号装置、動画像復号方法、及び集積回路
JP2007129370A (ja) 動きベクトル検出装置及び方法
KR20170126934A (ko) 컨텐츠-적응적 b-픽쳐 패턴 비디오 인코딩
JP4822940B2 (ja) 画像処理装置及び画像処理方法
JP4590335B2 (ja) 画像処理装置及び画像処理方法
JP7324065B2 (ja) 動きベクトル検出装置、撮像装置、動きベクトル検出方法、及びプログラム
JP5182285B2 (ja) デコード方法及びデコード装置
JP2007067526A (ja) 画像処理装置
KR20050043607A (ko) 신호처리방법 및 신호처리장치
JP7359653B2 (ja) 動画像符号化装置
KR100891116B1 (ko) 대역폭 인식 움직임 보상 장치 및 그 방법
JP2008136177A (ja) 動き検出装置、MOS(metal−oxidesemiconductor)集積回路および映像システム
JP2011097488A (ja) 映像圧縮符号化装置
KR100708183B1 (ko) 움직임 추정을 위한 영상 데이터 저장 장치 및 그 데이터저장 방법
JP4779977B2 (ja) 画像符号化・復号化装置
JP2005160021A (ja) 信号処理方法および信号処理装置
JPH10164596A (ja) 動き検出装置

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110125

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110125

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

Free format text: PAYMENT UNTIL: 20140204

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4675383

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150