(57)【要約】【課題】参照画像のキャッシュヒット率を高めることによって処理時間の短縮及びバス帯域の削減を実現することが可能な画像処理装置を得る。【解決手段】コーデック処理部２は、画像記憶部４から読み出した参照画像を保持するＳＲＡＭ２１と、ＳＲＡＭ２１が保持している参照画像に基づいて動き探索を行うことにより、入力画像内の処理対象ブロックに関する予測ブロックを生成する動き探索部２２と、を有する。ＳＲＡＭ２１は、入力画像の水平方向画素数に相当する水平方向画素数と、垂直方向の動き探索範囲以上の垂直方向画素数とを有する参照画像を保持する。【選択図】図２
2015119282.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を符号化するコーデック処理部と、
前記コーデック処理部がアクセス可能な画像記憶部と、
を備え、
前記コーデック処理部は、
前記画像記憶部から読み出した参照画像を保持する参照画像保持部と、
前記参照画像保持部が保持している参照画像に基づいて動き探索を行うことにより、入力画像内の処理対象ブロックに関する予測ブロックを生成する動き探索部と、
を有し、
前記参照画像保持部は、入力画像の水平方向画素数に相当する水平方向画素数と、垂直方向の動き探索範囲以上の垂直方向画素数とを有する参照画像を保持する、画像処理装置。
【請求項２】
前記参照画像保持部は、入力画像の水平方向画素数及び垂直方向画素数にそれぞれ相当する水平方向画素数及び垂直方向画素数を有する参照画像を保持する、請求項１に記載の画像処理装置。
【請求項３】
前記コーデック処理部は、
処理対象ブロックと予測ブロックとに基づいて予測誤差を生成する予測誤差生成部と、
予測誤差と予測ブロックとに基づいて処理対象ブロックを復元することにより、ローカルデコードブロックを生成するローカルデコードブロック生成部と、
複数のローカルデコードブロックを保持するローカルデコードブロック保持部と、
をさらに有し、
前記ローカルデコードブロック生成部は、入力画像内で行方向に並ぶＮ個（Ｎは複数）の処理対象ブロックに対応してＮ個のローカルデコードブロックを順に生成し、当該Ｎ個のローカルデコードブロックを行方向に並べて前記ローカルデコードブロック保持部に書き込み、
前記ローカルデコードブロック保持部は、Ｎ個のローカルデコードブロックに跨がる行単位でのバースト転送によって、自身が保持しているＮ個のローカルデコードブロックを前記画像記憶部に書き込む、請求項１又は２に記載の画像処理装置。
【請求項４】
前記画像記憶部は複数のメモリバンクを有し、
前記ローカルデコードブロック保持部は、
保持しているＮ個のローカルデコードブロック内の第１の行に属する画素データを、前記画像記憶部の第１のメモリバンクに書き込み、
第１の行に隣接する第２の行に属する画素データを、前記第１のメモリバンクとは異なる第２のメモリバンクに書き込む、請求項３に記載の画像処理装置。
【請求項５】
前記ローカルデコードブロック保持部は、Ｎ＋１個のローカルデコードブロックを保持し、
第１乃至第Ｎのブロック期間において、前記ローカルデコードブロック生成部は、第１乃至第Ｎのローカルデコードブロックを前記ローカルデコードブロック保持部に順に書き込み、
第Ｎ＋１のブロック期間において、前記ローカルデコードブロック生成部は、第Ｎ＋１のローカルデコードブロックを前記ローカルデコードブロック保持部に書き込み、前記ローカルデコードブロック保持部は、第１乃至第Ｎのローカルデコードブロックを前記画像記憶部に書き込む、請求項３又は４に記載の画像処理装置。
【請求項６】
前記画像記憶部は、参照画像として使用されるローカルデコード画像を保持し、
前記画像記憶部は、Ｎ個のローカルデコードブロックに跨がる行単位でのバースト転送によって、ローカルデコード画像内で行方向に並ぶＮ個のローカルデコードブロックを前記参照画像保持部に書き込む、請求項３〜５のいずれか一つに記載の画像処理装置。
【請求項７】
表示部において画像を表示するための画像データを処理する表示処理部をさらに備え、
前記画像記憶部は、自身が保持しているローカルデコード画像を、行単位でのバースト転送によって前記表示処理部に転送し、
前記表示処理部は、前記画像記憶部から転送されたローカルデコード画像に基づいて画像を表示する、請求項６に記載の画像処理装置。
【請求項８】
前記表示処理部は、前記画像記憶部が保持しているローカルデコード画像のＹＵＶフォーマットを、前記表示部に適合するＹＵＶフォーマットに変換するフォーマット変換部を有する、請求項７に記載の画像処理装置。
【請求項９】
コーデック処理部と、
表示部において画像を表示するための画像データを処理する表示処理部と、
前記コーデック処理部及び前記表示処理部がアクセス可能な画像記憶部と、
を備え、
前記コーデック処理部は、
前記画像記憶部から読み出した参照画像を保持する参照画像保持部と、
前記参照画像保持部が保持している参照画像に基づいて動き探索を行うことにより、処理対象ブロックに関する予測ブロックを生成する動き探索部と、
符号化データを復号することによって予測誤差を生成する予測誤差生成部と、
予測ブロックと予測誤差とに基づいて入力画像を復元することにより、デコードブロックを生成するデコードブロック生成部と、
複数のデコードブロックを保持するデコードブロック保持部と、
を有し、
前記デコードブロック生成部は、入力画像内で行方向に並ぶＮ個（Ｎは複数）の処理対象ブロックに対応してＮ個のデコードブロックを順に生成し、当該Ｎ個のデコードブロックを行方向に並べて前記デコードブロック保持部に書き込み、
前記デコードブロック保持部は、Ｎ個のデコードブロックに跨がる行単位でのバースト転送によって、自身が保持しているＮ個のデコードブロックを前記画像記憶部に書き込み、
前記画像記憶部は、自身が保持しているデコード画像を、行単位でのバースト転送によって前記表示処理部に転送し、
前記表示処理部は、前記画像記憶部から転送されたデコード画像に基づいて画像を表示する、画像処理装置。
【請求項１０】
前記表示処理部は、前記画像記憶部が保持しているデコード画像のＹＵＶフォーマットを、前記表示部に適合するＹＵＶフォーマットに変換するフォーマット変換部を有する、請求項９に記載の画像処理装置。
【請求項１１】
前記画像記憶部は複数のメモリバンクを有し、
前記デコードブロック保持部は、
保持しているＮ個のデコードブロック内の第１の行に属する画素データを、前記画像記憶部の第１のメモリバンクに書き込み、
第１の行に隣接する第２の行に属する画素データを、前記第１のメモリバンクとは異なる第２のメモリバンクに書き込む、請求項９又は１０に記載の画像処理装置。
【請求項１２】
前記デコードブロック保持部は、Ｎ＋１個のデコードブロックを保持し、
第１乃至第Ｎのブロック期間において、前記デコードブロック生成部は、第１乃至第Ｎのデコードブロックを前記デコードブロック保持部に順に書き込み、
第Ｎ＋１のブロック期間において、前記デコードブロック生成部は、第Ｎ＋１のデコードブロックを前記デコードブロック保持部に書き込み、前記デコードブロック保持部は、第１乃至第Ｎのデコードブロックを前記画像記憶部に書き込む、請求項９〜１１のいずれか一つに記載の画像処理装置。
【請求項１３】
前記画像記憶部は、Ｎ個のデコードブロックに跨がる行単位でのバースト転送によって、デコード画像内で行方向に並ぶＮ個のデコードブロックを前記参照画像保持部に書き込む、請求項９〜１２のいずれか一つに記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関する。
【背景技術】
【０００２】
背景技術に係るＨ．２６４のエンコーダは、ローカルデコード画像を格納する画像記憶部としてのＤＲＡＭと、ＤＲＡＭから読み出した参照画像を保持するＳＲＡＭと、参照画像に基づいて動き探索を行うことにより予測ブロックを生成する動き探索部とを備える。そして、処理対象のマクロブロックと予測ブロックとの誤差である予測誤差に対して、ＤＣＴ変換、量子化、及びエントロピー符号化を行うことによって、高効率なデータ圧縮が実現されている。ＳＲＡＭには、ＤＲＡＭに格納されている１フレーム分のローカルデコード画像のうち、マクロブロックのサイズより若干大きい所定の探索範囲の画像が、参照画像として格納される。
【０００３】
また、背景技術に係るＨ．２６４のデコーダは、デコード画像を格納する画像記憶部としてのＤＲＡＭと、ＤＲＡＭから読み出した参照画像を保持するＳＲＡＭと、参照画像に基づいて動き探索を行うことにより予測ブロックを生成する動き探索部とを備える。そして、入力された符号化データに対して、エントロピー復号、逆量子化、及び逆ＤＣＴ変換を行うことによって予測誤差が生成され、予測ブロックと予測誤差とに基づいて入力画像を復元することによってデコードブロックが生成される。Ｈ．２６４では矩形のマクロブロック単位でデコードが行われるため、デコードブロックをＤＲＡＭに書き込む際には、矩形領域内の各行間でアドレスが連続するアドレスフォーマット（以下「コーデックフォーマット」と称す）を用いて、ＤＲＡＭへのライトアクセスが行われる。
【０００４】
なお、下記特許文献１には、メモリへのデコード画像の書き込み処理において、メモリのバンクを切り替えながらバースト転送を行うことによって、マクロブロック単位でのライトアクセスに適したメモリアクセス方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第５１４７１０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した背景技術に係るエンコーダによると、処理対象のマクロブロックに対して相関性の高いブロックが参照画像内に存在しない場合（つまりキャッシュミスヒット）には、別の領域の参照画像をＤＲＡＭから読み出してＳＲＡＭに格納し直す必要がある。従って、ＤＲＡＭへのリードアクセスが発生するため、処理時間が長くなる。また、近年におけるカメラやテレビの高解像度化に伴ってＤＲＡＭへのアクセスデータ量が増大しており、ＤＲＡＭのバス帯域が厳しくなっているため、ＤＲＡＭへのアクセスを極力回避してバス帯域を削減することも要求されている。
【０００７】
また、上述した背景技術に係るデコーダによると、デコードブロックは、コーデックフォーマットを用いてＤＲＡＭに書き込まれる。一方、デコード画像を表示装置に表示する場合には、画像内の水平方向にアドレスが連続するアドレスフォーマット（ラスタフォーマット）を用いた画像データが必要であるため、コーデックフォーマットのデコード画像をそのまま使用することができない。従って、コーデックフォーマットをラスタフォーマットに変換するフォーマット変換回路を実装する必要がある。フォーマット変換回路は、ＤＲＡＭから読み出したコーデックフォーマットのデコード画像を、ラスタフォーマットのデコード画像に変換して、変換後のデコード画像をＤＲＡＭに書き込む。従って、フォーマット変換に伴ってＤＲＡＭへのリードアクセス及びライトアクセスが発生するため、表示の遅延時間が長くなるとともに、ＤＲＡＭの消費電力が増大する。また、上述の通り、ＤＲＡＭへのアクセスを極力回避してバス帯域を削減することも要求されている。
【０００８】
本発明はかかる事情に鑑みて成されたものであり、参照画像のキャッシュヒット率を高めることによって処理時間の短縮及びバス帯域の削減を実現することが可能な画像処理装置を得ることを目的とする。また、表示用のフォーマット変換を省略することによって遅延時間の短縮、消費電力の低減、及びバス帯域の削減を実現することが可能な画像処理装置を得ることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の態様に係る画像処理装置は、入力画像を符号化するコーデック処理部と、前記コーデック処理部がアクセス可能な画像記憶部と、を備え、前記コーデック処理部は、前記画像記憶部から読み出した参照画像を保持する参照画像保持部と、前記参照画像保持部が保持している参照画像に基づいて動き探索を行うことにより、入力画像内の処理対象ブロックに関する予測ブロックを生成する動き探索部と、を有し、前記参照画像保持部は、入力画像の水平方向画素数に相当する水平方向画素数と、垂直方向の動き探索範囲以上の垂直方向画素数とを有する参照画像を保持することを特徴とするものである。
【００１０】
第１の態様に係る画像処理装置によれば、参照画像保持部は、入力画像の水平方向画素数に相当する水平方向画素数と、垂直方向の動き探索範囲以上の垂直方向画素数とを有する参照画像を保持する。従って、動き探索部は、参照画像保持部が保持している参照画像に基づいて、垂直方向の探索範囲内で最適な予測ブロックを確実に（つまりキャッシュヒット率１００％で）生成することができる。従って、別の領域の参照画像を画像記憶部から参照画像保持部に読み出す必要がないため、画像記憶部へのリードアクセスの発生を回避でき、その結果、処理時間の短縮及びバス帯域の削減を実現することが可能となる。
【００１１】
本発明の第２の態様に係る画像処理装置は、第１の態様に係る画像処理装置において特に、前記参照画像保持部は、入力画像の水平方向画素数及び垂直方向画素数にそれぞれ相当する水平方向画素数及び垂直方向画素数を有する参照画像を保持することを特徴とするものである。
【００１２】
第２の態様に係る画像処理装置によれば、参照画像保持部は、入力画像の水平方向画素数及び垂直方向画素数にそれぞれ相当する水平方向画素数及び垂直方向画素数を有する参照画像を保持する。つまり、参照画像保持部は、１フレーム分の参照画像を保持する。従って、動き探索部は、参照画像保持部が保持している１フレーム分の参照画像内で、処理対象のブロックと最も相関性の高いブロックを確実に特定できるため、高精度の予測ブロックを生成することができる。また、処理対象のブロックの垂直方向の位置に応じて参照画像を更新する必要がないため、画像記憶部へのリードアクセスの発生を回避でき、その結果、処理時間の短縮及びバス帯域の削減を効果的に実現することが可能となる。
【００１３】
本発明の第３の態様に係る画像処理装置は、第１又は第２の態様に係る画像処理装置において特に、前記コーデック処理部は、処理対象ブロックと予測ブロックとに基づいて予測誤差を生成する予測誤差生成部と、予測誤差と予測ブロックとに基づいて処理対象ブロックを復元することにより、ローカルデコードブロックを生成するローカルデコードブロック生成部と、複数のローカルデコードブロックを保持するローカルデコードブロック保持部と、をさらに有し、前記ローカルデコードブロック生成部は、入力画像内で行方向に並ぶＮ個（Ｎは複数）の処理対象ブロックに対応してＮ個のローカルデコードブロックを順に生成し、当該Ｎ個のローカルデコードブロックを行方向に並べて前記ローカルデコードブロック保持部に書き込み、前記ローカルデコードブロック保持部は、Ｎ個のローカルデコードブロックに跨がる行単位でのバースト転送によって、自身が保持しているＮ個のローカルデコードブロックを前記画像記憶部に書き込むことを特徴とするものである。
【００１４】
第３の態様に係る画像処理装置によれば、ローカルデコードブロック生成部は、順に生成したＮ個のローカルデコードブロックを行方向に並べてローカルデコードブロック保持部に書き込む。また、ローカルデコードブロック保持部は、Ｎ個のローカルデコードブロックに跨がる行単位でのバースト転送によって、自身が保持しているＮ個のローカルデコードブロックを画像記憶部に書き込む。つまり、ローカルデコードブロック保持部へのローカルデコードブロックの格納まではブロック単位での処理を行い、ローカルデコードブロック保持部から画像記憶部へのローカルデコードブロックの書き込みは、ラスタフォーマットを用いたメモリアクセスによって行う。このように、単純なラスタフォーマットを用いたメモリアクセスを行うことにより、ローカルデコードブロックを画像記憶部へ簡易に書き込むことが可能となる。しかも、行方向に並ぶ複数Ｎ個のローカルデコードブロックを対象としてラスタフォーマットでのバースト転送を行うため、効率的なバースト転送を行うことが可能となる。
【００１５】
本発明の第４の態様に係る画像処理装置は、第３の態様に係る画像処理装置において特に、前記画像記憶部は複数のメモリバンクを有し、前記ローカルデコードブロック保持部は、保持しているＮ個のローカルデコードブロック内の第１の行に属する画素データを、前記画像記憶部の第１のメモリバンクに書き込み、第１の行に隣接する第２の行に属する画素データを、前記第１のメモリバンクとは異なる第２のメモリバンクに書き込むことを特徴とするものである。
【００１６】
第４の態様に係る画像処理装置によれば、ローカルデコードブロック保持部は、保持しているＮ個のローカルデコードブロック内の第１の行に属する画素データを、画像記憶部の第１のメモリバンクに書き込み、第１の行に隣接する第２の行に属する画素データを、第１のメモリバンクとは異なる第２のメモリバンクに書き込む。このように、隣接する行の画素データを異なるメモリバンクに書き込むことにより、第１の行に属する画素データの書き込みが完了すると同時に、第２の行に属する画素データの書き込みを開始することができる。その結果、同一のメモリバンクに連続してアクセスする際に必要となる待ち時間の発生を回避できるため、書き込みの所要時間を短縮することが可能となる。
【００１７】
本発明の第５の態様に係る画像処理装置は、第３又は第４の態様に係る画像処理装置において特に、前記ローカルデコードブロック保持部は、Ｎ＋１個のローカルデコードブロックを保持し、第１乃至第Ｎのブロック期間において、前記ローカルデコードブロック生成部は、第１乃至第Ｎのローカルデコードブロックを前記ローカルデコードブロック保持部に順に書き込み、第Ｎ＋１のブロック期間において、前記ローカルデコードブロック生成部は、第Ｎ＋１のローカルデコードブロックを前記ローカルデコードブロック保持部に書き込み、前記ローカルデコードブロック保持部は、第１乃至第Ｎのローカルデコードブロックを前記画像記憶部に書き込むことを特徴とするものである。
【００１８】
第５の態様に係る画像処理装置によれば、第１乃至第Ｎのブロック期間において、ローカルデコードブロック生成部は、第１乃至第Ｎのローカルデコードブロックをローカルデコードブロック保持部に順に書き込む。そして、第Ｎ＋１のブロック期間において、ローカルデコードブロック生成部は、第Ｎ＋１のローカルデコードブロックをローカルデコードブロック保持部に書き込み、ローカルデコードブロック保持部は、第１乃至第Ｎのローカルデコードブロックを画像記憶部に書き込む。従って、ローカルデコードブロック保持部に対するローカルデコードブロックの書き込み及び読み出しを、同時に行うことが可能となる。しかも、ローカルデコードブロック保持部に必要な記憶容量は、Ｎ＋１個のローカルデコードブロックを保持できる記憶容量で足りるため、２Ｎ個のローカルデコードブロックを保持するローカルデコードブロック保持部を実装する場合と比較して、必要な記憶容量を削減することが可能となる。
【００１９】
本発明の第６の態様に係る画像処理装置は、第３〜第５のいずれか一つの態様に係る画像処理装置において特に、前記画像記憶部は、参照画像として使用されるローカルデコード画像を保持し、前記画像記憶部は、Ｎ個のローカルデコードブロックに跨がる行単位でのバースト転送によって、ローカルデコード画像内で行方向に並ぶＮ個のローカルデコードブロックを前記参照画像保持部に書き込むことを特徴とするものである。
【００２０】
第６の態様に係る画像処理装置によれば、画像記憶部は、Ｎ個のローカルデコードブロックに跨がる行単位でのバースト転送によって、ローカルデコード画像内で行方向に並ぶＮ個のローカルデコードブロックを参照画像保持部に書き込む。つまり、画像記憶部からのローカルデコード画像の読み出しは、ラスタフォーマットを用いたメモリアクセスによって行う。このように、単純なラスタフォーマットを用いたメモリアクセスを行うことにより、ローカルデコード画像を画像記憶部から簡易に読み出すことが可能となる。しかも、行方向に並ぶ複数Ｎ個のローカルデコードブロックを対象としてラスタフォーマットでのバースト転送を行うため、効率的なバースト転送を行うことが可能となる。
【００２１】
本発明の第７の態様に係る画像処理装置は、第６の態様に係る画像処理装置において特に、表示部において画像を表示するための画像データを処理する表示処理部をさらに備え、前記画像記憶部は、自身が保持しているローカルデコード画像を、行単位でのバースト転送によって前記表示処理部に転送し、前記表示処理部は、前記画像記憶部から転送されたローカルデコード画像に基づいて画像を表示することを特徴とするものである。
【００２２】
第７の態様に係る画像処理装置によれば、画像記憶部は、自身が保持しているローカルデコード画像を、行単位でのバースト転送によって表示処理部に転送する。このように、ラスタフォーマットのローカルデコード画像を画像記憶部に格納しておくことにより、表示部において画像を表示するために必要なラスタフォーマットの画像データを、画像記憶部から表示処理部に転送することができる。従って、コーデックフォーマットのローカルデコード画像をラスタフォーマットのローカルデコード画像に変換するフォーマット変換部の実装を省略することができる。その結果、フォーマット変換部から画像記憶部へのアクセスが不要となるため、遅延時間の短縮、消費電力の低減、及びバス帯域の削減を実現することが可能となる。また、コーデックフォーマットを用いたメモリアクセスが不要となるため、設計の簡素化を図ることが可能となる。
【００２３】
本発明の第８の態様に係る画像処理装置は、第７の態様に係る画像処理装置において特に、前記表示処理部は、前記画像記憶部が保持しているローカルデコード画像のＹＵＶフォーマットを、前記表示部に適合するＹＵＶフォーマットに変換するフォーマット変換部を有することを特徴とするものである。
【００２４】
第８の態様に係る画像処理装置によれば、フォーマット変換部は、画像記憶部が保持しているローカルデコード画像のＹＵＶフォーマット（例えばＹＵＶ４２０）を、表示部に適合するＹＵＶフォーマット（例えばＹＵＶ４２２）に変換する。従って、画像記憶部が保持しているローカルデコード画像のＹＵＶフォーマットが、表示部に適合するＹＵＶフォーマットとは異なる場合であっても、ＹＵＶフォーマットを変換することにより、表示部において画像を表示することが可能となる。
【００２５】
本発明の第９の態様に係る画像処理装置は、コーデック処理部と、表示部において画像を表示するための画像データを処理する表示処理部と、前記コーデック処理部及び前記表示処理部がアクセス可能な画像記憶部と、を備え、前記コーデック処理部は、前記画像記憶部から読み出した参照画像を保持する参照画像保持部と、前記参照画像保持部が保持している参照画像に基づいて動き探索を行うことにより、処理対象ブロックに関する予測ブロックを生成する動き探索部と、符号化データを復号することによって予測誤差を生成する予測誤差生成部と、予測ブロックと予測誤差とに基づいて入力画像を復元することにより、デコードブロックを生成するデコードブロック生成部と、複数のデコードブロックを保持するデコードブロック保持部と、を有し、前記デコードブロック生成部は、入力画像内で行方向に並ぶＮ個（Ｎは複数）の処理対象ブロックに対応してＮ個のデコードブロックを順に生成し、当該Ｎ個のデコードブロックを行方向に並べて前記デコードブロック保持部に書き込み、前記デコードブロック保持部は、Ｎ個のデコードブロックに跨がる行単位でのバースト転送によって、自身が保持しているＮ個のデコードブロックを前記画像記憶部に書き込み、前記画像記憶部は、自身が保持しているデコード画像を、行単位でのバースト転送によって前記表示処理部に転送し、前記表示処理部は、前記画像記憶部から転送されたデコード画像に基づいて画像を表示することを特徴とするものである。
【００２６】
第９の態様に係る画像処理装置によれば、デコードブロック生成部は、順に生成したＮ個のデコードブロックを行方向に並べてデコードブロック保持部に書き込む。また、デコードブロック保持部は、Ｎ個のデコードブロックに跨がる行単位でのバースト転送によって、自身が保持しているＮ個のデコードブロックを画像記憶部に書き込む。つまり、デコードブロック保持部へのデコードブロックの格納まではブロック単位での処理を行い、デコードブロック保持部から画像記憶部へのデコードブロックの書き込みは、ラスタフォーマットを用いたメモリアクセスによって行う。このように、単純なラスタフォーマットを用いたメモリアクセスを行うことにより、デコードブロックを画像記憶部へ簡易に書き込むことが可能となる。しかも、行方向に並ぶ複数Ｎ個のデコードブロックを対象としてラスタフォーマットでのバースト転送を行うため、効率的なバースト転送を行うことが可能となる。また、画像記憶部は、自身が保持しているデコード画像を、行単位でのバースト転送によって表示処理部に転送する。このように、ラスタフォーマットのデコード画像を画像記憶部に格納しておくことにより、表示部において画像を表示するために必要なラスタフォーマットの画像データを、画像記憶部から表示処理部に転送することができる。従って、コーデックフォーマットのデコード画像をラスタフォーマットのデコード画像に変換するフォーマット変換部の実装を省略することができる。その結果、フォーマット変換部から画像記憶部へのアクセスが不要となるため、遅延時間の短縮、消費電力の低減、及びバス帯域の削減を実現することが可能となる。また、コーデックフォーマットを用いたメモリアクセスが不要となるため、設計の簡素化を図ることが可能となる。
【００２７】
本発明の第１０の態様に係る画像処理装置は、第９の態様に係る画像処理装置において特に、前記表示処理部は、前記画像記憶部が保持しているデコード画像のＹＵＶフォーマットを、前記表示部に適合するＹＵＶフォーマットに変換するフォーマット変換部を有することを特徴とするものである。
【００２８】
第１０の態様に係る画像処理装置によれば、フォーマット変換部は、画像記憶部が保持しているデコード画像のＹＵＶフォーマット（例えばＹＵＶ４２０）を、表示部に適合するＹＵＶフォーマット（例えばＹＵＶ４２２）に変換する。従って、画像記憶部が保持しているデコード画像のＹＵＶフォーマットが、表示部に適合するＹＵＶフォーマットとは異なる場合であっても、ＹＵＶフォーマットを変換することにより、表示部において画像を表示することが可能となる。
【００２９】
本発明の第１１の態様に係る画像処理装置は、第９又は第１０の態様に係る画像処理装置において特に、前記画像記憶部は複数のメモリバンクを有し、前記デコードブロック保持部は、保持しているＮ個のデコードブロック内の第１の行に属する画素データを、前記画像記憶部の第１のメモリバンクに書き込み、第１の行に隣接する第２の行に属する画素データを、前記第１のメモリバンクとは異なる第２のメモリバンクに書き込むことを特徴とするものである。
【００３０】
第１１の態様に係る画像処理装置によれば、デコードブロック保持部は、保持しているＮ個のデコードブロック内の第１の行に属する画素データを、画像記憶部の第１のメモリバンクに書き込み、第１の行に隣接する第２の行に属する画素データを、第１のメモリバンクとは異なる第２のメモリバンクに書き込む。このように、隣接する行の画素データを異なるメモリバンクに書き込むことにより、第１の行に属する画素データの書き込みが完了すると同時に、第２の行に属する画素データの書き込みを開始することができる。その結果、同一のメモリバンクに連続してアクセスする際に必要となる待ち時間の発生を回避できるため、書き込みの所要時間を短縮することが可能となる。
【００３１】
本発明の第１２の態様に係る画像処理装置は、第９〜第１１のいずれか一つの態様に係る画像処理装置において特に、前記デコードブロック保持部は、Ｎ＋１個のデコードブロックを保持し、第１乃至第Ｎのブロック期間において、前記デコードブロック生成部は、第１乃至第Ｎのデコードブロックを前記デコードブロック保持部に順に書き込み、第Ｎ＋１のブロック期間において、前記デコードブロック生成部は、第Ｎ＋１のデコードブロックを前記デコードブロック保持部に書き込み、前記デコードブロック保持部は、第１乃至第Ｎのデコードブロックを前記画像記憶部に書き込むことを特徴とするものである。
【００３２】
第１２の態様に係る画像処理装置によれば、第１乃至第Ｎのブロック期間において、デコードブロック生成部は、第１乃至第Ｎのデコードブロックをデコードブロック保持部に順に書き込む。そして、第Ｎ＋１のブロック期間において、デコードブロック生成部は、第Ｎ＋１のデコードブロックをデコードブロック保持部に書き込み、デコードブロック保持部は、第１乃至第Ｎのデコードブロックを画像記憶部に書き込む。従って、デコードブロック保持部に対するデコードブロックの書き込み及び読み出しを、同時に行うことが可能となる。しかも、デコードブロック保持部に必要な記憶容量は、Ｎ＋１個のデコードブロックを保持できる記憶容量で足りるため、２Ｎ個のデコードブロックを保持するデコードブロック保持部を実装する場合と比較して、必要な記憶容量を削減することが可能となる。
【００３３】
本発明の第１３の態様に係る画像処理装置は、第９〜第１２のいずれか一つの態様に係る画像処理装置において特に、前記画像記憶部は、Ｎ個のデコードブロックに跨がる行単位でのバースト転送によって、デコード画像内で行方向に並ぶＮ個のデコードブロックを前記参照画像保持部に書き込むことを特徴とするものである。
【００３４】
第１３の態様に係る画像処理装置によれば、画像記憶部は、Ｎ個のデコードブロックに跨がる行単位でのバースト転送によって、デコード画像内で行方向に並ぶＮ個のデコードブロックを参照画像保持部に書き込む。つまり、画像記憶部からのデコード画像の読み出しは、ラスタフォーマットを用いたメモリアクセスによって行う。このように、単純なラスタフォーマットを用いたメモリアクセスを行うことにより、デコード画像を画像記憶部から簡易に読み出すことが可能となる。しかも、行方向に並ぶ複数Ｎ個のデコードブロックを対象としてラスタフォーマットでのバースト転送を行うため、効率的なバースト転送を行うことが可能となる。
【発明の効果】
【００３５】
本発明によれば、参照画像のキャッシュヒット率を高めることによって処理時間の短縮及びバス帯域の削減を実現することが可能となる。また、本発明によれば、表示用のフォーマット変換を省略することによって遅延時間の短縮、消費電力の低減、及びバス帯域の削減を実現することが可能となる。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施の形態に係る画像処理装置の構成を簡略化して示す図である。
【図２】コーデック処理部が有するエンコーダの構成を簡略化して示す図である。
【図３】表示処理部の構成を簡略化して示す図である。
【図４】ＳＲＡＭが保持する参照画像の第１の例を示す図である。
【図５】ＳＲＡＭが保持する参照画像の第２の例を示す図である。
【図６】ローカルデコードブロック生成部がＳＲＡＭにローカルデコードブロックを書き込む処理を示す図である。
【図７】ＳＲＡＭから画像記憶部にローカルデコードブロックを転送する処理を示す図である。
【図８】ＳＲＡＭから画像記憶部にローカルデコードブロックを転送する処理を示す図である。
【図９】ＳＲＡＭの構成に関する第１の例を示す図である。
【図１０】図９に対応して、ＳＲＡＭに対するローカルデコードブロックの書き込み及び読み出しのタイミングを示す図である。
【図１１】ＳＲＡＭの構成に関する第２の例を示す図である。
【図１２】図１１に対応して、ＳＲＡＭに対するローカルデコードブロックの書き込み及び読み出しのタイミングを示す図である。
【図１３】画像記憶部からＳＲＡＭに画像データを転送する処理を示す図である。
【図１４】画像記憶部から表示処理部に画像データを転送する処理を示す図である。
【図１５】コーデック処理部が有するデコーダの構成を簡略化して示す図である。
【発明を実施するための形態】
【００３７】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
【００３８】
図１は、本発明の実施の形態に係る画像処理装置１の構成を簡略化して示す図である。図１の接続関係で示すように、画像処理装置１は、コーデック処理部２、コーデック制御部３、画像記憶部４、メモリ制御部５、表示処理部６、表示部７、及びバス８を備えて構成されている。画像記憶部４は、例えばＤＲＡＭによって構成されている。
【００３９】
図２は、コーデック処理部２が有するＨ．２６４のエンコーダの構成を簡略化して示す図である。図２の接続関係で示すように、コーデック処理部２は、ＳＲＡＭ１１、予測誤差生成部１２、ＤＣＴ変換部１３、量子化部１４、エントロピー符号化部１５、逆量子化部１６、逆ＤＣＴ変換部１７、動き補償部１８、デブロッキングフィルタ１９、ＳＲＡＭ２０、ＳＲＡＭ２１、及び動き探索部２２を備えて構成されている。動き補償部１８とデブロッキングフィルタ１９とによって、ローカルデコードブロック生成部２５が構成される。
【００４０】
図３は、表示処理部６の構成を簡略化して示す図である。図３の接続関係で示すように、表示処理部６は、ＳＲＡＭ３１及びフォーマット変換部３２を備えて構成されている。本実施の形態の例において、コーデック処理部２が処理する画像データのＹＵＶフォーマットはＹＵＶ４２０であり、表示部７が画像の表示に使用する画像データのＹＵＶフォーマットはＹＵＶ４２２である。フォーマット変換部３２は、画像記憶部４から転送されたＹＵＶ４２０フォーマットの画像データＤ２０を、表示部７に適合するＹＵＶ４２２フォーマットの画像データＤ２１に変換する。
【００４１】
以下、本実施の形態に係る画像処理装置１の動作について説明する。
【００４２】
図２を参照して、符号化対象である入力マクロブロックの画像データＤ１は、ＳＲＡＭ１１を介して予測誤差生成部１２及び動き探索部２２に入力される。
【００４３】
また、参照画像の画像データＤ２が画像記憶部４から読み出されてＳＲＡＭ２１に格納され、ＳＲＡＭ２１は参照画像を保持する。
【００４４】
図４は、ＳＲＡＭ２１が保持する参照画像の第１の例を示す図である。ＳＲＡＭ２１は、入力画像の水平方向画素数に相当する水平方向画素数と、垂直方向の動き探索範囲に相当する垂直方向画素数とを有する参照画像を保持する。この例では、垂直方向の動き探索範囲が、入力マクロブロックの位置を中心として±４マクロブロックの範囲に設定されている。１マクロブロックは１６列×１６行の画素によって構成されているため、垂直方向の動き探索範囲は１６×９＝１４４画素となる。図４の（Ａ）に示すように、入力画像の画素数が例えば１９２０列×１０８０行である場合には、図４の（Ｂ）に示すように、ＳＲＡＭ２１は１９２０列×１４４行の画素数を有する参照画像を保持する。
【００４５】
図５は、ＳＲＡＭ２１が保持する参照画像の第２の例を示す図である。ＳＲＡＭ２１は、入力画像の水平方向画素数及び垂直方向画素数にそれぞれ相当する水平方向画素数及び垂直方向画素数を有する参照画像を保持する。つまり、ＳＲＡＭ２１は、入力画像の１フレーム分に相当する参照画像を保持する。図５の（Ａ）に示すように、入力画像の画素数が例えば１９２０列×１０８０行である場合には、図５の（Ｂ）に示すように、ＳＲＡＭ２１は１９２０列×１０８０行の画素数を有する参照画像を保持する。
【００４６】
図２を参照して、動き探索部２２は、ＳＲＡＭ１１から入力された画像データＤ１とＳＲＡＭ２１から入力された画像データＤ２とに基づいて動き探索を行うことにより、入力マクロブロックに関する予測ブロックを生成する。予測ブロックの画像データＤ３は、予測誤差生成部１２及び動き補償部１８に入力される。
【００４７】
予測誤差生成部１２は、入力マクロブロックの画像データＤ１と予測ブロックの画像データＤ３とに基づいて予測誤差を生成し、予測誤差の画像データＤ４をＤＣＴ変換部１３に入力する。
【００４８】
ＤＣＴ変換部１３は、画像データＤ４に対してＤＣＴ変換を行い、ＤＣＴ変換後の画像データＤ５を量子化部１４に入力する。
【００４９】
量子化部１４は、画像データＤ５に対して量子化を行い、量子化後の画像データＤ６をエントロピー符号化部１５及び逆量子化部１６に入力する。
【００５０】
エントロピー符号化部１５は、画像データＤ６に対してＣＡＢＡＣ又はＣＡＶＬＣ等を用いてエントロピー符号化を行い、符号化データＤ７を出力する。
【００５１】
逆量子化部１６は、画像データＤ６に対して逆量子化を行い、画像データＤ５に相当する逆量子化後の画像データＤ８を逆ＤＣＴ変換部１７に入力する。
【００５２】
逆ＤＣＴ変換部１７は、画像データＤ８に対して逆ＤＣＴ変換を行い、予測誤差の画像データＤ４に相当する逆ＤＣＴ変換後の画像データＤ９を動き補償部１８に入力する。
【００５３】
動き補償部１８は、予測ブロックの画像データＤ３と予測誤差の画像データＤ９とに基づいて、画像データＤ１に相当する入力マクロブロックを復元することにより、ローカルデコードブロックを生成する。ローカルデコードブロックの画像データＤ１０は、デブロッキングフィルタ１９に入力される。
【００５４】
デブロッキングフィルタ１９は、画像データＤ１０に対して所定のデブロッキングフィルタ処理を行い、その処理後の画像データＤ１１をＳＲＡＭ２０に格納する。つまり、ローカルデコードブロック生成部２５は、予測誤差（画像データＤ９）と予測ブロック（画像データＤ３）とに基づいてローカルデコードブロックを生成し、生成したローカルデコードブロックをＳＲＡＭ２０に格納する。
【００５５】
ローカルデコードブロックの画像データＤ１１は、ＳＲＡＭ２０から画像記憶部４に転送される。入力画像に含まれる全てのマクロブロックに関するローカルデコードブロックの画像データＤ１１が画像記憶部４に転送されることにより、画像記憶部４はローカルデコード画像を保持する。ローカルデコード画像は、次の入力画像に対する処理において参照画像として使用される。
【００５６】
図６は、ローカルデコードブロック生成部２５がＳＲＡＭ２０にローカルデコードブロックを書き込む処理を示す図である。ローカルデコードブロック生成部２５は、入力画像内で行方向に並ぶ複数Ｎ個（この例ではＮ＝４）の入力マクロブロックＭＢ１〜ＭＢ４に対応して、４個のローカルデコードブロックＬＤＢ１〜ＬＤＢ４を順に生成する。そして、当該４個のローカルデコードブロックＬＤＢ１〜ＬＤＢ４を行方向に並べてＳＲＡＭ２０に書き込む。具体的には以下の通りである。
【００５７】
まず、図６の（Ａ）に示すように、第１のマクロブロック期間においてローカルデコードブロック生成部２５は、入力マクロブロックＭＢ１に対応してローカルデコードブロックＬＤＢ１を生成する。そして、ローカルデコードブロックＬＤＢ１をＳＲＡＭ２０に書き込む。
【００５８】
次に、図６の（Ｂ）に示すように、第２のマクロブロック期間においてローカルデコードブロック生成部２５は、入力マクロブロックＭＢ１に並ぶ入力マクロブロックＭＢ２に対応して、ローカルデコードブロックＬＤＢ２を生成する。そして、ローカルデコードブロックＬＤＢ２をローカルデコードブロックＬＤＢ１に並べてＳＲＡＭ２０に書き込む。
【００５９】
次に、図６の（Ｃ）に示すように、第３のマクロブロック期間においてローカルデコードブロック生成部２５は、入力マクロブロックＭＢ２に並ぶ入力マクロブロックＭＢ３に対応して、ローカルデコードブロックＬＤＢ３を生成する。そして、ローカルデコードブロックＬＤＢ３をローカルデコードブロックＬＤＢ２に並べてＳＲＡＭ２０に書き込む。
【００６０】
次に、図６の（Ｄ）に示すように、第４のマクロブロック期間においてローカルデコードブロック生成部２５は、入力マクロブロックＭＢ３に並ぶ入力マクロブロックＭＢ４に対応して、ローカルデコードブロックＬＤＢ４を生成する。そして、ローカルデコードブロックＬＤＢ４をローカルデコードブロックＬＤＢ３に並べてＳＲＡＭ２０に書き込む。
【００６１】
図７，８は、ＳＲＡＭ２０から画像記憶部４にローカルデコードブロックを転送する処理を示す図である。ＳＲＡＭ２０から画像記憶部４へのローカルデコードブロックの転送は、ラスタフォーマットを用いたメモリアクセスによって行われる。つまり、ＳＲＡＭ２０が保持している４個のローカルデコードブロックＬＤＢ１〜ＬＤＢ４に跨がる行単位（６４列×１行）でのバースト転送を、列方向に１６回繰り返すことによって、ローカルデコードブロックＬＤＢ１〜ＬＤＢ４が画像記憶部４に書き込まれる。
【００６２】
また、画像記憶部４は複数（この例では８個）のメモリバンクＢＫ１〜ＢＫ８を有しており、隣接する行の画素データは異なるメモリバンクに書き込まれる。図８を参照して、まず、第０行に属する６４列×１行の画素データＲ０が画像記憶部４のメモリバンクＢＫ１に書き込まれ、次に、第１行に属する画素データＲ１がメモリバンクＢＫ２に書き込まれ、次に、第２行に属する画素データＲ２がメモリバンクＢＫ３に書き込まれる。以下同様に、第３行〜第７行に属する画素データＲ３〜Ｒ７が、それぞれメモリバンクＢＫ４〜ＢＫ８に順に書き込まれる。さらに、第８行〜第１５行に属する画素データＲ８〜Ｒ１５が、それぞれメモリバンクＢＫ１〜ＢＫ８に順に書き込まれる。
【００６３】
また、本実施の形態の例では、ローカルデコード画像のＹＵＶフォーマットはＹＵＶ４２０であるため、偶数行に属する画素データには輝度データのみが含まれ、奇数行に属する画素データには輝度データ及び色差データが含まれる。具体的には、偶数行に関しては１画素あたり１個の輝度データが含まれ、奇数行に関しては１画素あたり１個の輝度データと１個の色差データとが含まれる。つまり、奇数行のデータ量は偶数行のデータ量の２倍となる。従って、奇数行のデータ転送におけるバースト長を、偶数行のバースト転送におけるバースト長の２倍に設定することにより、偶数行に関しては１回のバースト転送によって１行分の輝度データが画像記憶部４に書き込まれ、奇数行に関しては１回のバースト転送によって１行分の輝度データ及び色差データが画像記憶部４に書き込まれる。なお、上記とは逆に、偶数行に属する画素データには輝度データ及び色差データが含まれ、奇数行に属する画素データには輝度データのみが含まれていてもよい。この場合には、偶数行のデータ転送におけるバースト長を、奇数行のバースト転送におけるバースト長の２倍に設定することにより、奇数行に関しては１回のバースト転送によって１行分の輝度データが画像記憶部４に書き込まれ、偶数行に関しては１回のバースト転送によって１行分の輝度データ及び色差データが画像記憶部４に書き込まれる。
【００６４】
なお、ローカルデコード画像のＹＵＶフォーマットはＹＵＶ４２２であってもよく、この場合には偶数行と奇数行とでデータ量は等しいため、データ転送におけるバースト長は偶数行と奇数行とで共通となる。
【００６５】
図９は、ＳＲＡＭ２０の構成に関する第１の例を示す図である。また図１０は、図９に対応して、ＳＲＡＭ２０に対するローカルデコードブロックの書き込み及び読み出しのタイミングを示す図である。
【００６６】
図９を参照して、ＳＲＡＭ２０は、それぞれにローカルデコードブロックを１個ずつ格納可能な、合計Ｎ＋１個（この例では５個）の記憶領域Ｘ１〜Ｘ５を有する。
【００６７】
図１０を参照して、まず、マクロブロック期間Ｔ１〜Ｔ４において、ローカルデコードブロックＬＤＢ１〜ＬＤＢ４が記憶領域Ｘ１〜Ｘ４にそれぞれ書き込まれる。次に、マクロブロック期間Ｔ５において、ローカルデコードブロックＬＤＢ１〜ＬＤＢ４がラスタフォーマットのバースト転送によって記憶領域Ｘ１〜Ｘ４から読み出されるとともに、ローカルデコードブロックＬＤＢ５が記憶領域Ｘ５に書き込まれる。以降は同様に、マクロブロック期間Ｔ６〜Ｔ８において、ローカルデコードブロックＬＤＢ６〜ＬＤＢ８が記憶領域Ｘ１〜Ｘ３にそれぞれ書き込まれ、マクロブロック期間Ｔ９において、ローカルデコードブロックＬＤＢ５，ＬＤＢ６，ＬＤＢ７，ＬＤＢ８がラスタフォーマットのバースト転送によって記憶領域Ｘ５，Ｘ１，Ｘ２，Ｘ３から読み出されるとともに、ローカルデコードブロックＬＤＢ９が記憶領域Ｘ４に書き込まれる。
【００６８】
図１１は、ＳＲＡＭ２０の構成に関する第２の例を示す図である。また図１２は、図１１に対応して、ＳＲＡＭ２０に対するローカルデコードブロックの書き込み及び読み出しのタイミングを示す図である。
【００６９】
図１１を参照して、ＳＲＡＭ２０は、それぞれにローカルデコードブロックを１個ずつ格納可能な、合計２Ｎ個（この例では８個）の記憶領域Ｘ１〜Ｘ８を有する。
【００７０】
図１２を参照して、まず、マクロブロック期間Ｔ１〜Ｔ４において、ローカルデコードブロックＬＤＢ１〜ＬＤＢ４が記憶領域Ｘ１〜Ｘ４にそれぞれ書き込まれる。次に、マクロブロック期間Ｔ５において、ローカルデコードブロックＬＤＢ１〜ＬＤＢ４がラスタフォーマットのバースト転送によって記憶領域Ｘ１〜Ｘ４から読み出されるとともに、ローカルデコードブロックＬＤＢ５が記憶領域Ｘ５に書き込まれる。以降は同様に、マクロブロック期間Ｔ６〜Ｔ８において、ローカルデコードブロックＬＤＢ６〜ＬＤＢ８が記憶領域Ｘ６〜Ｘ８にそれぞれ書き込まれ、マクロブロック期間Ｔ９において、ローカルデコードブロックＬＤＢ５〜ＬＤＢ８がラスタフォーマットのバースト転送によって記憶領域Ｘ５〜Ｘ８から読み出されるとともに、ローカルデコードブロックＬＤＢ９が記憶領域Ｘ１に書き込まれる。
【００７１】
図１３は、画像記憶部４からＳＲＡＭ２１に画像データを転送する処理を示す図である。画像記憶部４からＳＲＡＭ２１への画像データの転送は、ＳＲＡＭ２０から画像記憶部４へのローカルデコードブロックの転送と同様に、４個のマクロブロック単位でのラスタフォーマットを用いたバースト転送によって行われる。
【００７２】
まず、図１３の（Ａ）に示すように、参照画像の左上角を起点として、画像記憶部４が保持している４個のローカルデコードブロックに跨がる行単位（６４列×１行）でのバースト転送を、列方向に１６回繰り返すことによって、４個のローカルデコードブロックがＳＲＡＭ２１に書き込まれる。
【００７３】
次に、図１３の（Ｂ）及び（Ｃ）に示すように、１段目のマクロブロックライン内で同様のデータ転送を右方向に進めることによって、ローカルデコードブロックが４個ずつＳＲＡＭ２１に書き込まれる。
【００７４】
１段目のマクロブロックラインに関するデータ転送が完了すると、次に、図１３の（Ｄ）に示すように、２段目のマクロブロックラインの左端から順に同様のデータ転送を右方向に進めることによって、ローカルデコードブロックが４個ずつＳＲＡＭ２１に書き込まれる。以降は同様のデータ転送が繰り返されることによって、画像記憶部４からＳＲＡＭ２１に参照画像が転送される。
【００７５】
図１４は、画像記憶部４から表示処理部６に画像データを転送する処理を示す図である。画像記憶部４から表示処理部６への画像データの転送は、画像の左端から右端に跨がる１行単位でのラスタフォーマットを用いたデータ転送によって行われる。
【００７６】
まず、図１４の（Ａ）に示すように、画像の左上角を起点として、画像記憶部４が保持している４個のローカルデコードブロックに跨がる行単位でのバースト転送を行うことによって、６４列×１行分の画像データが表示処理部６へ転送される。
【００７７】
次に、図１４の（Ｂ）及び（Ｃ）に示すように、画像の１行目に関して同様のデータ転送を右方向に進めることによって、画像データが６４列×１行分ずつ表示処理部６へ転送される。
【００７８】
１行目に関するデータ転送が完了すると、次に、図１４の（Ｄ）に示すように、画像の２行目の左端から順に同様のデータ転送を右方向に進めることによって、画像データが６４列×１行分ずつ表示処理部６へ転送される。以降は同様のデータ転送が繰り返されることによって、画像記憶部４から表示処理部６に１フレーム分の画像データが転送される。
【００７９】
このように本実施の形態に係る画像処理装置１によれば、ＳＲＡＭ２１（参照画像保持部）は、入力画像の水平方向画素数に相当する水平方向画素数と、垂直方向の動き探索範囲以上の垂直方向画素数とを有する参照画像を保持する。従って、動き探索部２２は、ＳＲＡＭ２１が保持している参照画像に基づいて、垂直方向の探索範囲内で最適な予測ブロックを確実に（つまりキャッシュヒット率１００％で）生成することができる。従って、別の領域の参照画像を画像記憶部４からＳＲＡＭ２１に読み出す必要がないため、画像記憶部４へのリードアクセスの発生を回避でき、その結果、処理時間の短縮及びバス帯域の削減を実現することが可能となる。
【００８０】
また、図５に示した例によれば、ＳＲＡＭ２１は、入力画像の水平方向画素数及び垂直方向画素数にそれぞれ相当する水平方向画素数及び垂直方向画素数を有する参照画像を保持する。つまり、ＳＲＡＭ２１は、１フレーム分の参照画像を保持する。従って、動き探索部２２は、ＳＲＡＭ２１が保持している１フレーム分の参照画像内で、処理対象の入力マクロブロックと最も相関性の高いマクロブロックを確実に特定できるため、高精度の予測ブロックを生成することができる。また、入力マクロブロックの垂直方向の位置に応じて参照画像を更新する必要がないため、画像記憶部４へのリードアクセスの発生を回避でき、その結果、処理時間の短縮及びバス帯域の削減を効果的に実現することが可能となる。
【００８１】
また、本実施の形態に係る画像処理装置１によれば、ローカルデコードブロック生成部２５は、順に生成したＮ個のローカルデコードブロックを行方向に並べてＳＲＡＭ２０（ローカルデコードブロック保持部）に書き込む。また、ＳＲＡＭ２０は、Ｎ個のローカルデコードブロックに跨がる行単位でのバースト転送によって、自身が保持しているＮ個のローカルデコードブロックを画像記憶部４に書き込む。つまり、ＳＲＡＭ２０へのローカルデコードブロックの格納まではマクロブロック単位での処理を行い、ＳＲＡＭ２０から画像記憶部４へのローカルデコードブロックの書き込みは、ラスタフォーマットを用いたメモリアクセスによって行う。このように、単純なラスタフォーマットを用いたメモリアクセスを行うことにより、ローカルデコードブロックを画像記憶部４へ簡易に書き込むことが可能となる。しかも、行方向に並ぶ複数Ｎ個のローカルデコードブロックを対象としてラスタフォーマットでのバースト転送を行うため、効率的なバースト転送を行うことが可能となる。
【００８２】
また、本実施の形態に係る画像処理装置１によれば、ＳＲＡＭ２０は、保持しているＮ個のローカルデコードブロック内の第１の行に属する画素データを、画像記憶部４の第１のメモリバンクに書き込み、第１の行に隣接する第２の行に属する画素データを、第１のメモリバンクとは異なる第２のメモリバンクに書き込む。このように、隣接する行の画素データを異なるメモリバンクに書き込むことにより、第１の行に属する画素データの書き込みが完了すると同時に、第２の行に属する画素データの書き込みを開始することができる。その結果、同一のメモリバンクに連続してアクセスする際に必要となる待ち時間の発生を回避できるため、書き込みの所要時間を短縮することが可能となる。
【００８３】
また、図９，１０に示した例によれば、マクロブロック期間Ｔ１〜Ｔ４において、ローカルデコードブロック生成部２５は、ローカルデコードブロックＬＤＢ１〜ＬＤＢ４をＳＲＡＭ２０に順に書き込む。そして、マクロブロック期間Ｔ５において、ローカルデコードブロック生成部２５は、ローカルデコードブロックＬＤＢ５をＳＲＡＭ２０に書き込み、ＳＲＡＭ２０は、ローカルデコードブロックＬＤＢ１〜ＬＤＢ４を画像記憶部４に書き込む。従って、ＳＲＡＭ２０に対するローカルデコードブロックの書き込み及び読み出しを、同時に行うことが可能となる。しかも、ＳＲＡＭ２０に必要な記憶容量は、Ｎ＋１個のローカルデコードブロックを保持できる記憶容量で足りるため、２Ｎ個のローカルデコードブロックを保持する記憶容量を必要とする図１１，１２に示した例と比較して、ＳＲＡＭ２０に必要な記憶容量を削減することが可能となる。
【００８４】
また、本実施の形態に係る画像処理装置１によれば、画像記憶部４は、Ｎ個のローカルデコードブロックに跨がる行単位でのバースト転送によって、ローカルデコード画像内で行方向に並ぶＮ個のローカルデコードブロックをＳＲＡＭ２１に書き込む。つまり、画像記憶部４からのローカルデコード画像の読み出しは、ラスタフォーマットを用いたメモリアクセスによって行う。このように、単純なラスタフォーマットを用いたメモリアクセスを行うことにより、ローカルデコード画像を画像記憶部４から簡易に読み出すことが可能となる。しかも、行方向に並ぶ複数Ｎ個のローカルデコードブロックを対象としてラスタフォーマットでのバースト転送を行うため、効率的なバースト転送を行うことが可能となる。
【００８５】
また、本実施の形態に係る画像処理装置１によれば、画像記憶部４は、自身が保持しているローカルデコード画像を、行単位でのバースト転送によって表示処理部６に転送する。このように、ラスタフォーマットのローカルデコード画像を画像記憶部４に格納しておくことにより、表示部７において画像を表示するために必要なラスタフォーマットの画像データを、画像記憶部４から表示処理部６に転送することができる。従って、コーデックフォーマットのローカルデコード画像をラスタフォーマットのローカルデコード画像に変換するためのフォーマット変換部の実装を省略することができる。その結果、当該フォーマット変換部から画像記憶部４へのアクセスが不要となるため、遅延時間の短縮、消費電力の低減、及びバス帯域の削減を実現することが可能となる。また、コーデックフォーマットを用いたメモリアクセスが不要となるため、設計の簡素化を図ることが可能となる。
【００８６】
また、本実施の形態に係る画像処理装置１によれば、フォーマット変換部３２は、画像記憶部４が保持しているローカルデコード画像のＹＵＶフォーマット（上記の例ではＹＵＶ４２０）を、表示部７に適合するＹＵＶフォーマット（上記の例ではＹＵＶ４２２）に変換する。従って、画像記憶部４が保持しているローカルデコード画像のＹＵＶフォーマットが、表示部７に適合するＹＵＶフォーマットとは異なる場合であっても、ＹＵＶフォーマットを変換することにより、表示部７において画像を表示することが可能となる。
【００８７】
＜変形例＞
上記実施の形態では、エンコーダが生成するローカルデコード画像を表示部７で表示する例について説明したが、デコーダが生成するデコード画像を表示部７で表示してもよい。
【００８８】
図１５は、コーデック処理部２が有するＨ．２６４のデコーダの構成を簡略化して示す図である。図１５の接続関係で示すように、コーデック処理部２は、エントロピー復号部４５、逆量子化部４６、逆ＤＣＴ変換部４７、動き補償部４８、デブロッキングフィルタ４９、ＳＲＡＭ５０、ＳＲＡＭ５１、及び動き探索部５２を備えて構成されている。動き補償部４８とデブロッキングフィルタ４９とによって、デコードブロック生成部５５が構成される。
【００８９】
復号対象である符号化データＤ２０（図２に示した符号化データＤ７に相当する）は、エントロピー復号部４５に入力される。
【００９０】
また、参照画像の画像データＤ２４が画像記憶部４から読み出されてＳＲＡＭ５１に格納され、ＳＲＡＭ５１は参照画像を保持する。ＳＲＡＭ５１が保持する参照画像は、上記実施の形態と同様である。つまり、ＳＲＡＭ５１は、入力画像の水平方向画素数に相当する水平方向画素数と、垂直方向の動き探索範囲以上の垂直方向画素数とを有する参照画像を保持する。
【００９１】
動き探索部５２は、ＳＲＡＭ５１が保持している参照画像に基づいて動き探索を行うことにより、予測ブロックを生成する。予測ブロックの画像データＤ２５は、動き補償部４８に入力される。
【００９２】
エントロピー復号部４５は、符号化データＤ２０に対してＣＡＢＡＣ又はＣＡＶＬＣ等を用いてエントロピー復号を行い、図２に示した画像データＤ６に相当する画像データＤ２１を逆量子化部４６に入力する。
【００９３】
逆量子化部４６は、画像データＤ２１に対して逆量子化を行い、図２に示した画像データＤ５に相当する逆量子化後の画像データＤ２２を逆ＤＣＴ変換部４７に入力する。
【００９４】
逆ＤＣＴ変換部４７は、画像データＤ２２に対して逆ＤＣＴ変換を行い、図２に示した予測誤差の画像データＤ４に相当する逆ＤＣＴ変換後の画像データＤ２３を動き補償部４８に入力する。
【００９５】
動き補償部４８は、予測ブロックの画像データＤ２５と予測誤差の画像データＤ２３とに基づいて、図２に示した画像データＤ１に相当する入力マクロブロックを復元することにより、デコードブロックを生成する。デコードブロックの画像データＤ２６は、デブロッキングフィルタ４９に入力される。
【００９６】
デブロッキングフィルタ４９は、画像データＤ２６に対して所定のデブロッキングフィルタ処理を行い、その処理後の画像データＤ２７をＳＲＡＭ５０に格納する。つまり、デコードブロック生成部５５は、予測誤差（画像データＤ２３）と予測ブロック（画像データＤ２５）とに基づいてデコードブロックを生成し、生成したデコードブロックをＳＲＡＭ５０に格納する。
【００９７】
デコードブロックの画像データＤ２７は、ＳＲＡＭ５０から画像記憶部４に転送される。入力画像に含まれる全てのマクロブロックに関するデコードブロックの画像データＤ２７が画像記憶部４に転送されることにより、画像記憶部４はデコード画像を保持する。デコード画像は、次の入力画像に対する処理において参照画像として使用される。
【００９８】
デコードブロック生成部５５がＳＲＡＭ５０にデコードブロックを書き込む処理は、図６に示した上記実施の形態と同様である。つまり、デコードブロック生成部５５は、入力画像内で行方向に並ぶ複数Ｎ個（この例ではＮ＝４）の入力マクロブロックＭＢ１〜ＭＢ４に対応して、４個のデコードブロックＤＢ１〜ＤＢ４を順に生成する。そして、当該４個のローカルデコードブロックＤＢ１〜ＤＢ４を行方向に並べてＳＲＡＭ５０に書き込む。
【００９９】
ＳＲＡＭ５０から画像記憶部４にデコードブロックを転送する処理は、図７，８に示した上記実施の形態と同様である。つまり、ＳＲＡＭ５０が保持している４個のデコードブロックＤＢ１〜ＤＢ４に跨がる行単位（６４列×１行）でのバースト転送を、列方向に１６回繰り返すことによって、デコードブロックＤＢ１〜ＤＢ４が画像記憶部４に書き込まれる。また、画像記憶部４は複数（この例では８個）のメモリバンクＢＫ１〜ＢＫ８を有しており、隣接する行の画素データは異なるメモリバンクに書き込まれる。
【０１００】
ＳＲＡＭ５０の構成、及び、ＳＲＡＭ５０に対するデコードブロックの書き込み及び読み出しのタイミングは、図９〜１２に示した上記実施の形態と同様である。
【０１０１】
図９，１０に示した例では、マクロブロック期間Ｔ１〜Ｔ４において、デコードブロックＤＢ１〜ＤＢ４が記憶領域Ｘ１〜Ｘ４にそれぞれ書き込まれ、マクロブロック期間Ｔ５〜Ｔ８において、デコードブロックＤＢ５〜ＤＢ８が記憶領域Ｘ５，Ｘ１〜Ｘ３にそれぞれ書き込まれる。また、マクロブロック期間Ｔ５において、デコードブロックＤＢ１〜ＤＢ４がラスタフォーマットのバースト転送によって記憶領域Ｘ１〜Ｘ４から読み出され、マクロブロック期間Ｔ９において、デコードブロックＤＢ５〜ＤＢ８がラスタフォーマットのバースト転送によって記憶領域Ｘ５，Ｘ１〜Ｘ３から読み出される。
【０１０２】
図１１，１２に示した例では、マクロブロック期間Ｔ１〜Ｔ４において、デコードブロックＤＢ１〜ＤＢ４が記憶領域Ｘ１〜Ｘ４にそれぞれ書き込まれ、マクロブロック期間Ｔ５〜Ｔ８において、デコードブロックＤＢ５〜ＤＢ８が記憶領域Ｘ５〜Ｘ８にそれぞれ書き込まれる。また、マクロブロック期間Ｔ５において、デコードブロックＤＢ１〜ＤＢ４がラスタフォーマットのバースト転送によって記憶領域Ｘ１〜Ｘ４から読み出され、マクロブロック期間Ｔ９において、デコードブロックＤＢ５〜ＤＢ８がラスタフォーマットのバースト転送によって記憶領域Ｘ５〜Ｘ８から読み出される。
【０１０３】
画像記憶部４からＳＲＡＭ５１に画像データを転送する処理は、図１３に示した上記実施の形態と同様である。つまり、画像記憶部４からＳＲＡＭ５１への画像データの転送は、ＳＲＡＭ５０から画像記憶部４へのデコードブロックの転送と同様に、４個のマクロブロック単位でのラスタフォーマットを用いたバースト転送によって行われる。
【０１０４】
画像記憶部４から表示処理部６に画像データを転送する処理は、図１４に示した上記実施の形態と同様である。つまり、画像記憶部４から表示処理部６への画像データの転送は、画像の左端から右端に跨がる１行単位でのラスタフォーマットを用いたデータ転送によって行われる。
【０１０５】
本変形例に係る画像処理装置１によれば、デコードブロック生成部５５は、順に生成したＮ個のデコードブロックを行方向に並べてＳＲＡＭ５０（デコードブロック保持部）に書き込む。また、ＳＲＡＭ５０は、Ｎ個のデコードブロックに跨がる行単位でのバースト転送によって、自身が保持しているＮ個のデコードブロックを画像記憶部４に書き込む。つまり、ＳＲＡＭ５０へのデコードブロックの格納まではマクロブロック単位での処理を行い、ＳＲＡＭ５０から画像記憶部４へのデコードブロックの書き込みは、ラスタフォーマットを用いたメモリアクセスによって行う。このように、単純なラスタフォーマットを用いたメモリアクセスを行うことにより、デコードブロックを画像記憶部４へ簡易に書き込むことが可能となる。しかも、行方向に並ぶ複数Ｎ個のデコードブロックを対象としてラスタフォーマットでのバースト転送を行うため、効率的なバースト転送を行うことが可能となる。また、画像記憶部４は、自身が保持しているデコード画像を、行単位でのバースト転送によって表示処理部６に転送する。このように、ラスタフォーマットのデコード画像を画像記憶部４に格納しておくことにより、表示部７において画像を表示するために必要なラスタフォーマットの画像データを、画像記憶部４から表示処理部６に転送することができる。従って、コーデックフォーマットのデコード画像をラスタフォーマットのデコード画像に変換するためのフォーマット変換部の実装を省略することができる。その結果、当該フォーマット変換部から画像記憶部４へのアクセスが不要となるため、遅延時間の短縮、消費電力の低減、及びバス帯域の削減を実現することが可能となる。また、コーデックフォーマットを用いたメモリアクセスが不要となるため、設計の簡素化を図ることが可能となる。
【０１０６】
また、本変形例に係る画像処理装置１によれば、フォーマット変換部３２は、画像記憶部４が保持しているデコード画像のＹＵＶフォーマット（上記の例ではＹＵＶ４２０）を、表示部７に適合するＹＵＶフォーマット（上記の例ではＹＵＶ４２２）に変換する。従って、画像記憶部４が保持しているデコード画像のＹＵＶフォーマットが、表示部７に適合するＹＵＶフォーマットとは異なる場合であっても、ＹＵＶフォーマットを変換することにより、表示部７において画像を表示することが可能となる。
【０１０７】
また、本変形例に係る画像処理装置１によれば、ＳＲＡＭ５０は、保持しているＮ個のデコードブロック内の第１の行に属する画素データを、画像記憶部４の第１のメモリバンクに書き込み、第１の行に隣接する第２の行に属する画素データを、第１のメモリバンクとは異なる第２のメモリバンクに書き込む。このように、隣接する行の画素データを異なるメモリバンクに書き込むことにより、第１の行に属する画素データの書き込みが完了すると同時に、第２の行に属する画素データの書き込みを開始することができる。その結果、同一のメモリバンクに連続してアクセスする際に必要となる待ち時間の発生を回避できるため、書き込みの所要時間を短縮することが可能となる。
【０１０８】
また、図９，１０に示した例によれば、マクロブロック期間Ｔ１〜Ｔ４において、デコードブロック生成部５５は、デコードブロックＤＢ１〜ＤＢ４をＳＲＡＭ５０に順に書き込む。そして、マクロブロック期間Ｔ５において、デコードブロック生成部５５は、デコードブロックＤＢ５をＳＲＡＭ５０に書き込み、ＳＲＡＭ５０は、デコードブロックＤＢ１〜ＤＢ４を画像記憶部４に書き込む。従って、ＳＲＡＭ５０に対するデコードブロックの書き込み及び読み出しを、同時に行うことが可能となる。しかも、ＳＲＡＭ５０に必要な記憶容量は、Ｎ＋１個のデコードブロックを保持できる記憶容量で足りるため、２Ｎ個のデコードブロックを保持する記憶容量を必要とする図１１，１２に示した例と比較して、ＳＲＡＭ５０に必要な記憶容量を削減することが可能となる。
【０１０９】
また、本変形例に係る画像処理装置１によれば、画像記憶部４は、Ｎ個のデコードブロックに跨がる行単位でのバースト転送によって、デコード画像内で行方向に並ぶＮ個のデコードブロックをＳＲＡＭ５１に書き込む。つまり、画像記憶部４からのデコード画像の読み出しは、ラスタフォーマットを用いたメモリアクセスによって行う。このように、単純なラスタフォーマットを用いたメモリアクセスを行うことにより、デコード画像を画像記憶部４から簡易に読み出すことが可能となる。しかも、行方向に並ぶ複数Ｎ個のデコードブロックを対象としてラスタフォーマットでのバースト転送を行うため、効率的なバースト転送を行うことが可能となる。
【符号の説明】
【０１１０】
１  画像処理装置
２  コーデック処理部
４  画像記憶部
６  表示処理部
７  表示部
１２  予測誤差生成部
１８  動き補償部
２０  ＳＲＡＭ（ローカルデコードブロック保持部）
２１  ＳＲＡＭ（参照画像保持部）
２２  動き探索部
２５  ローカルデコードブロック生成部
３２  フォーマット変換部
４８  動き補償部
５０  ＳＲＡＭ（デコードブロック保持部）
５１  ＳＲＡＭ（参照画像保持部）
５２  動き探索部
５５  デコードブロック生成部
【図１】
2015119282.tif 000003
【図２】
2015119282.tif 000004
【図３】
2015119282.tif 000005
【図４】
2015119282.tif 000006
【図５】
2015119282.tif 000007
【図６】
2015119282.tif 000008
【図７】
2015119282.tif 000009
【図８】
2015119282.tif 000010
【図９】
2015119282.tif 000011
【図１０】
2015119282.tif 000012
【図１１】
2015119282.tif 000013
【図１２】
2015119282.tif 000014
【図１３】
2015119282.tif 000015
【図１４】
2015119282.tif 000016
【図１５】
2015119282.tif 000017