特開2015-119282(P2015-119282A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社メガチップスの特許一覧

<>
  • 特開2015119282-画像処理装置 図000003
  • 特開2015119282-画像処理装置 図000004
  • 特開2015119282-画像処理装置 図000005
  • 特開2015119282-画像処理装置 図000006
  • 特開2015119282-画像処理装置 図000007
  • 特開2015119282-画像処理装置 図000008
  • 特開2015119282-画像処理装置 図000009
  • 特開2015119282-画像処理装置 図000010
  • 特開2015119282-画像処理装置 図000011
  • 特開2015119282-画像処理装置 図000012
  • 特開2015119282-画像処理装置 図000013
  • 特開2015119282-画像処理装置 図000014
  • 特開2015119282-画像処理装置 図000015
  • 特開2015119282-画像処理装置 図000016
  • 特開2015119282-画像処理装置 図000017
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2015-119282(P2015-119282A)
(43)【公開日】2015年6月25日
(54)【発明の名称】画像処理装置
(51)【国際特許分類】
   H04N 19/433 20140101AFI20150529BHJP
   H04N 19/51 20140101ALI20150529BHJP
【FI】
   H04N19/433
   H04N19/51
【審査請求】未請求
【請求項の数】13
【出願形態】OL
【全頁数】23
(21)【出願番号】特願2013-260618(P2013-260618)
(22)【出願日】2013年12月17日
(71)【出願人】
【識別番号】591128453
【氏名又は名称】株式会社メガチップス
(74)【代理人】
【識別番号】100136353
【弁理士】
【氏名又は名称】高尾 建吾
(72)【発明者】
【氏名】岡本 彰
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159KK49
5C159MA00
5C159MA05
5C159MA23
5C159NN03
5C159PP16
5C159UA02
5C159UA05
5C159UA29
5C159UA30
5C159UA33
5C159UA35
(57)【要約】
【課題】参照画像のキャッシュヒット率を高めることによって処理時間の短縮及びバス帯域の削減を実現することが可能な画像処理装置を得る。
【解決手段】コーデック処理部2は、画像記憶部4から読み出した参照画像を保持するSRAM21と、SRAM21が保持している参照画像に基づいて動き探索を行うことにより、入力画像内の処理対象ブロックに関する予測ブロックを生成する動き探索部22と、を有する。SRAM21は、入力画像の水平方向画素数に相当する水平方向画素数と、垂直方向の動き探索範囲以上の垂直方向画素数とを有する参照画像を保持する。
【選択図】図2
【特許請求の範囲】
【請求項1】
入力画像を符号化するコーデック処理部と、
前記コーデック処理部がアクセス可能な画像記憶部と、
を備え、
前記コーデック処理部は、
前記画像記憶部から読み出した参照画像を保持する参照画像保持部と、
前記参照画像保持部が保持している参照画像に基づいて動き探索を行うことにより、入力画像内の処理対象ブロックに関する予測ブロックを生成する動き探索部と、
を有し、
前記参照画像保持部は、入力画像の水平方向画素数に相当する水平方向画素数と、垂直方向の動き探索範囲以上の垂直方向画素数とを有する参照画像を保持する、画像処理装置。
【請求項2】
前記参照画像保持部は、入力画像の水平方向画素数及び垂直方向画素数にそれぞれ相当する水平方向画素数及び垂直方向画素数を有する参照画像を保持する、請求項1に記載の画像処理装置。
【請求項3】
前記コーデック処理部は、
処理対象ブロックと予測ブロックとに基づいて予測誤差を生成する予測誤差生成部と、
予測誤差と予測ブロックとに基づいて処理対象ブロックを復元することにより、ローカルデコードブロックを生成するローカルデコードブロック生成部と、
複数のローカルデコードブロックを保持するローカルデコードブロック保持部と、
をさらに有し、
前記ローカルデコードブロック生成部は、入力画像内で行方向に並ぶN個(Nは複数)の処理対象ブロックに対応してN個のローカルデコードブロックを順に生成し、当該N個のローカルデコードブロックを行方向に並べて前記ローカルデコードブロック保持部に書き込み、
前記ローカルデコードブロック保持部は、N個のローカルデコードブロックに跨がる行単位でのバースト転送によって、自身が保持しているN個のローカルデコードブロックを前記画像記憶部に書き込む、請求項1又は2に記載の画像処理装置。
【請求項4】
前記画像記憶部は複数のメモリバンクを有し、
前記ローカルデコードブロック保持部は、
保持しているN個のローカルデコードブロック内の第1の行に属する画素データを、前記画像記憶部の第1のメモリバンクに書き込み、
第1の行に隣接する第2の行に属する画素データを、前記第1のメモリバンクとは異なる第2のメモリバンクに書き込む、請求項3に記載の画像処理装置。
【請求項5】
前記ローカルデコードブロック保持部は、N+1個のローカルデコードブロックを保持し、
第1乃至第Nのブロック期間において、前記ローカルデコードブロック生成部は、第1乃至第Nのローカルデコードブロックを前記ローカルデコードブロック保持部に順に書き込み、
第N+1のブロック期間において、前記ローカルデコードブロック生成部は、第N+1のローカルデコードブロックを前記ローカルデコードブロック保持部に書き込み、前記ローカルデコードブロック保持部は、第1乃至第Nのローカルデコードブロックを前記画像記憶部に書き込む、請求項3又は4に記載の画像処理装置。
【請求項6】
前記画像記憶部は、参照画像として使用されるローカルデコード画像を保持し、
前記画像記憶部は、N個のローカルデコードブロックに跨がる行単位でのバースト転送によって、ローカルデコード画像内で行方向に並ぶN個のローカルデコードブロックを前記参照画像保持部に書き込む、請求項3〜5のいずれか一つに記載の画像処理装置。
【請求項7】
表示部において画像を表示するための画像データを処理する表示処理部をさらに備え、
前記画像記憶部は、自身が保持しているローカルデコード画像を、行単位でのバースト転送によって前記表示処理部に転送し、
前記表示処理部は、前記画像記憶部から転送されたローカルデコード画像に基づいて画像を表示する、請求項6に記載の画像処理装置。
【請求項8】
前記表示処理部は、前記画像記憶部が保持しているローカルデコード画像のYUVフォーマットを、前記表示部に適合するYUVフォーマットに変換するフォーマット変換部を有する、請求項7に記載の画像処理装置。
【請求項9】
コーデック処理部と、
表示部において画像を表示するための画像データを処理する表示処理部と、
前記コーデック処理部及び前記表示処理部がアクセス可能な画像記憶部と、
を備え、
前記コーデック処理部は、
前記画像記憶部から読み出した参照画像を保持する参照画像保持部と、
前記参照画像保持部が保持している参照画像に基づいて動き探索を行うことにより、処理対象ブロックに関する予測ブロックを生成する動き探索部と、
符号化データを復号することによって予測誤差を生成する予測誤差生成部と、
予測ブロックと予測誤差とに基づいて入力画像を復元することにより、デコードブロックを生成するデコードブロック生成部と、
複数のデコードブロックを保持するデコードブロック保持部と、
を有し、
前記デコードブロック生成部は、入力画像内で行方向に並ぶN個(Nは複数)の処理対象ブロックに対応してN個のデコードブロックを順に生成し、当該N個のデコードブロックを行方向に並べて前記デコードブロック保持部に書き込み、
前記デコードブロック保持部は、N個のデコードブロックに跨がる行単位でのバースト転送によって、自身が保持しているN個のデコードブロックを前記画像記憶部に書き込み、
前記画像記憶部は、自身が保持しているデコード画像を、行単位でのバースト転送によって前記表示処理部に転送し、
前記表示処理部は、前記画像記憶部から転送されたデコード画像に基づいて画像を表示する、画像処理装置。
【請求項10】
前記表示処理部は、前記画像記憶部が保持しているデコード画像のYUVフォーマットを、前記表示部に適合するYUVフォーマットに変換するフォーマット変換部を有する、請求項9に記載の画像処理装置。
【請求項11】
前記画像記憶部は複数のメモリバンクを有し、
前記デコードブロック保持部は、
保持しているN個のデコードブロック内の第1の行に属する画素データを、前記画像記憶部の第1のメモリバンクに書き込み、
第1の行に隣接する第2の行に属する画素データを、前記第1のメモリバンクとは異なる第2のメモリバンクに書き込む、請求項9又は10に記載の画像処理装置。
【請求項12】
前記デコードブロック保持部は、N+1個のデコードブロックを保持し、
第1乃至第Nのブロック期間において、前記デコードブロック生成部は、第1乃至第Nのデコードブロックを前記デコードブロック保持部に順に書き込み、
第N+1のブロック期間において、前記デコードブロック生成部は、第N+1のデコードブロックを前記デコードブロック保持部に書き込み、前記デコードブロック保持部は、第1乃至第Nのデコードブロックを前記画像記憶部に書き込む、請求項9〜11のいずれか一つに記載の画像処理装置。
【請求項13】
前記画像記憶部は、N個のデコードブロックに跨がる行単位でのバースト転送によって、デコード画像内で行方向に並ぶN個のデコードブロックを前記参照画像保持部に書き込む、請求項9〜12のいずれか一つに記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置に関する。
【背景技術】
【0002】
背景技術に係るH.264のエンコーダは、ローカルデコード画像を格納する画像記憶部としてのDRAMと、DRAMから読み出した参照画像を保持するSRAMと、参照画像に基づいて動き探索を行うことにより予測ブロックを生成する動き探索部とを備える。そして、処理対象のマクロブロックと予測ブロックとの誤差である予測誤差に対して、DCT変換、量子化、及びエントロピー符号化を行うことによって、高効率なデータ圧縮が実現されている。SRAMには、DRAMに格納されている1フレーム分のローカルデコード画像のうち、マクロブロックのサイズより若干大きい所定の探索範囲の画像が、参照画像として格納される。
【0003】
また、背景技術に係るH.264のデコーダは、デコード画像を格納する画像記憶部としてのDRAMと、DRAMから読み出した参照画像を保持するSRAMと、参照画像に基づいて動き探索を行うことにより予測ブロックを生成する動き探索部とを備える。そして、入力された符号化データに対して、エントロピー復号、逆量子化、及び逆DCT変換を行うことによって予測誤差が生成され、予測ブロックと予測誤差とに基づいて入力画像を復元することによってデコードブロックが生成される。H.264では矩形のマクロブロック単位でデコードが行われるため、デコードブロックをDRAMに書き込む際には、矩形領域内の各行間でアドレスが連続するアドレスフォーマット(以下「コーデックフォーマット」と称す)を用いて、DRAMへのライトアクセスが行われる。
【0004】
なお、下記特許文献1には、メモリへのデコード画像の書き込み処理において、メモリのバンクを切り替えながらバースト転送を行うことによって、マクロブロック単位でのライトアクセスに適したメモリアクセス方法が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第5147102号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述した背景技術に係るエンコーダによると、処理対象のマクロブロックに対して相関性の高いブロックが参照画像内に存在しない場合(つまりキャッシュミスヒット)には、別の領域の参照画像をDRAMから読み出してSRAMに格納し直す必要がある。従って、DRAMへのリードアクセスが発生するため、処理時間が長くなる。また、近年におけるカメラやテレビの高解像度化に伴ってDRAMへのアクセスデータ量が増大しており、DRAMのバス帯域が厳しくなっているため、DRAMへのアクセスを極力回避してバス帯域を削減することも要求されている。
【0007】
また、上述した背景技術に係るデコーダによると、デコードブロックは、コーデックフォーマットを用いてDRAMに書き込まれる。一方、デコード画像を表示装置に表示する場合には、画像内の水平方向にアドレスが連続するアドレスフォーマット(ラスタフォーマット)を用いた画像データが必要であるため、コーデックフォーマットのデコード画像をそのまま使用することができない。従って、コーデックフォーマットをラスタフォーマットに変換するフォーマット変換回路を実装する必要がある。フォーマット変換回路は、DRAMから読み出したコーデックフォーマットのデコード画像を、ラスタフォーマットのデコード画像に変換して、変換後のデコード画像をDRAMに書き込む。従って、フォーマット変換に伴ってDRAMへのリードアクセス及びライトアクセスが発生するため、表示の遅延時間が長くなるとともに、DRAMの消費電力が増大する。また、上述の通り、DRAMへのアクセスを極力回避してバス帯域を削減することも要求されている。
【0008】
本発明はかかる事情に鑑みて成されたものであり、参照画像のキャッシュヒット率を高めることによって処理時間の短縮及びバス帯域の削減を実現することが可能な画像処理装置を得ることを目的とする。また、表示用のフォーマット変換を省略することによって遅延時間の短縮、消費電力の低減、及びバス帯域の削減を実現することが可能な画像処理装置を得ることを目的とする。
【課題を解決するための手段】
【0009】
本発明の第1の態様に係る画像処理装置は、入力画像を符号化するコーデック処理部と、前記コーデック処理部がアクセス可能な画像記憶部と、を備え、前記コーデック処理部は、前記画像記憶部から読み出した参照画像を保持する参照画像保持部と、前記参照画像保持部が保持している参照画像に基づいて動き探索を行うことにより、入力画像内の処理対象ブロックに関する予測ブロックを生成する動き探索部と、を有し、前記参照画像保持部は、入力画像の水平方向画素数に相当する水平方向画素数と、垂直方向の動き探索範囲以上の垂直方向画素数とを有する参照画像を保持することを特徴とするものである。
【0010】
第1の態様に係る画像処理装置によれば、参照画像保持部は、入力画像の水平方向画素数に相当する水平方向画素数と、垂直方向の動き探索範囲以上の垂直方向画素数とを有する参照画像を保持する。従って、動き探索部は、参照画像保持部が保持している参照画像に基づいて、垂直方向の探索範囲内で最適な予測ブロックを確実に(つまりキャッシュヒット率100%で)生成することができる。従って、別の領域の参照画像を画像記憶部から参照画像保持部に読み出す必要がないため、画像記憶部へのリードアクセスの発生を回避でき、その結果、処理時間の短縮及びバス帯域の削減を実現することが可能となる。
【0011】
本発明の第2の態様に係る画像処理装置は、第1の態様に係る画像処理装置において特に、前記参照画像保持部は、入力画像の水平方向画素数及び垂直方向画素数にそれぞれ相当する水平方向画素数及び垂直方向画素数を有する参照画像を保持することを特徴とするものである。
【0012】
第2の態様に係る画像処理装置によれば、参照画像保持部は、入力画像の水平方向画素数及び垂直方向画素数にそれぞれ相当する水平方向画素数及び垂直方向画素数を有する参照画像を保持する。つまり、参照画像保持部は、1フレーム分の参照画像を保持する。従って、動き探索部は、参照画像保持部が保持している1フレーム分の参照画像内で、処理対象のブロックと最も相関性の高いブロックを確実に特定できるため、高精度の予測ブロックを生成することができる。また、処理対象のブロックの垂直方向の位置に応じて参照画像を更新する必要がないため、画像記憶部へのリードアクセスの発生を回避でき、その結果、処理時間の短縮及びバス帯域の削減を効果的に実現することが可能となる。
【0013】
本発明の第3の態様に係る画像処理装置は、第1又は第2の態様に係る画像処理装置において特に、前記コーデック処理部は、処理対象ブロックと予測ブロックとに基づいて予測誤差を生成する予測誤差生成部と、予測誤差と予測ブロックとに基づいて処理対象ブロックを復元することにより、ローカルデコードブロックを生成するローカルデコードブロック生成部と、複数のローカルデコードブロックを保持するローカルデコードブロック保持部と、をさらに有し、前記ローカルデコードブロック生成部は、入力画像内で行方向に並ぶN個(Nは複数)の処理対象ブロックに対応してN個のローカルデコードブロックを順に生成し、当該N個のローカルデコードブロックを行方向に並べて前記ローカルデコードブロック保持部に書き込み、前記ローカルデコードブロック保持部は、N個のローカルデコードブロックに跨がる行単位でのバースト転送によって、自身が保持しているN個のローカルデコードブロックを前記画像記憶部に書き込むことを特徴とするものである。
【0014】
第3の態様に係る画像処理装置によれば、ローカルデコードブロック生成部は、順に生成したN個のローカルデコードブロックを行方向に並べてローカルデコードブロック保持部に書き込む。また、ローカルデコードブロック保持部は、N個のローカルデコードブロックに跨がる行単位でのバースト転送によって、自身が保持しているN個のローカルデコードブロックを画像記憶部に書き込む。つまり、ローカルデコードブロック保持部へのローカルデコードブロックの格納まではブロック単位での処理を行い、ローカルデコードブロック保持部から画像記憶部へのローカルデコードブロックの書き込みは、ラスタフォーマットを用いたメモリアクセスによって行う。このように、単純なラスタフォーマットを用いたメモリアクセスを行うことにより、ローカルデコードブロックを画像記憶部へ簡易に書き込むことが可能となる。しかも、行方向に並ぶ複数N個のローカルデコードブロックを対象としてラスタフォーマットでのバースト転送を行うため、効率的なバースト転送を行うことが可能となる。
【0015】
本発明の第4の態様に係る画像処理装置は、第3の態様に係る画像処理装置において特に、前記画像記憶部は複数のメモリバンクを有し、前記ローカルデコードブロック保持部は、保持しているN個のローカルデコードブロック内の第1の行に属する画素データを、前記画像記憶部の第1のメモリバンクに書き込み、第1の行に隣接する第2の行に属する画素データを、前記第1のメモリバンクとは異なる第2のメモリバンクに書き込むことを特徴とするものである。
【0016】
第4の態様に係る画像処理装置によれば、ローカルデコードブロック保持部は、保持しているN個のローカルデコードブロック内の第1の行に属する画素データを、画像記憶部の第1のメモリバンクに書き込み、第1の行に隣接する第2の行に属する画素データを、第1のメモリバンクとは異なる第2のメモリバンクに書き込む。このように、隣接する行の画素データを異なるメモリバンクに書き込むことにより、第1の行に属する画素データの書き込みが完了すると同時に、第2の行に属する画素データの書き込みを開始することができる。その結果、同一のメモリバンクに連続してアクセスする際に必要となる待ち時間の発生を回避できるため、書き込みの所要時間を短縮することが可能となる。
【0017】
本発明の第5の態様に係る画像処理装置は、第3又は第4の態様に係る画像処理装置において特に、前記ローカルデコードブロック保持部は、N+1個のローカルデコードブロックを保持し、第1乃至第Nのブロック期間において、前記ローカルデコードブロック生成部は、第1乃至第Nのローカルデコードブロックを前記ローカルデコードブロック保持部に順に書き込み、第N+1のブロック期間において、前記ローカルデコードブロック生成部は、第N+1のローカルデコードブロックを前記ローカルデコードブロック保持部に書き込み、前記ローカルデコードブロック保持部は、第1乃至第Nのローカルデコードブロックを前記画像記憶部に書き込むことを特徴とするものである。
【0018】
第5の態様に係る画像処理装置によれば、第1乃至第Nのブロック期間において、ローカルデコードブロック生成部は、第1乃至第Nのローカルデコードブロックをローカルデコードブロック保持部に順に書き込む。そして、第N+1のブロック期間において、ローカルデコードブロック生成部は、第N+1のローカルデコードブロックをローカルデコードブロック保持部に書き込み、ローカルデコードブロック保持部は、第1乃至第Nのローカルデコードブロックを画像記憶部に書き込む。従って、ローカルデコードブロック保持部に対するローカルデコードブロックの書き込み及び読み出しを、同時に行うことが可能となる。しかも、ローカルデコードブロック保持部に必要な記憶容量は、N+1個のローカルデコードブロックを保持できる記憶容量で足りるため、2N個のローカルデコードブロックを保持するローカルデコードブロック保持部を実装する場合と比較して、必要な記憶容量を削減することが可能となる。
【0019】
本発明の第6の態様に係る画像処理装置は、第3〜第5のいずれか一つの態様に係る画像処理装置において特に、前記画像記憶部は、参照画像として使用されるローカルデコード画像を保持し、前記画像記憶部は、N個のローカルデコードブロックに跨がる行単位でのバースト転送によって、ローカルデコード画像内で行方向に並ぶN個のローカルデコードブロックを前記参照画像保持部に書き込むことを特徴とするものである。
【0020】
第6の態様に係る画像処理装置によれば、画像記憶部は、N個のローカルデコードブロックに跨がる行単位でのバースト転送によって、ローカルデコード画像内で行方向に並ぶN個のローカルデコードブロックを参照画像保持部に書き込む。つまり、画像記憶部からのローカルデコード画像の読み出しは、ラスタフォーマットを用いたメモリアクセスによって行う。このように、単純なラスタフォーマットを用いたメモリアクセスを行うことにより、ローカルデコード画像を画像記憶部から簡易に読み出すことが可能となる。しかも、行方向に並ぶ複数N個のローカルデコードブロックを対象としてラスタフォーマットでのバースト転送を行うため、効率的なバースト転送を行うことが可能となる。
【0021】
本発明の第7の態様に係る画像処理装置は、第6の態様に係る画像処理装置において特に、表示部において画像を表示するための画像データを処理する表示処理部をさらに備え、前記画像記憶部は、自身が保持しているローカルデコード画像を、行単位でのバースト転送によって前記表示処理部に転送し、前記表示処理部は、前記画像記憶部から転送されたローカルデコード画像に基づいて画像を表示することを特徴とするものである。
【0022】
第7の態様に係る画像処理装置によれば、画像記憶部は、自身が保持しているローカルデコード画像を、行単位でのバースト転送によって表示処理部に転送する。このように、ラスタフォーマットのローカルデコード画像を画像記憶部に格納しておくことにより、表示部において画像を表示するために必要なラスタフォーマットの画像データを、画像記憶部から表示処理部に転送することができる。従って、コーデックフォーマットのローカルデコード画像をラスタフォーマットのローカルデコード画像に変換するフォーマット変換部の実装を省略することができる。その結果、フォーマット変換部から画像記憶部へのアクセスが不要となるため、遅延時間の短縮、消費電力の低減、及びバス帯域の削減を実現することが可能となる。また、コーデックフォーマットを用いたメモリアクセスが不要となるため、設計の簡素化を図ることが可能となる。
【0023】
本発明の第8の態様に係る画像処理装置は、第7の態様に係る画像処理装置において特に、前記表示処理部は、前記画像記憶部が保持しているローカルデコード画像のYUVフォーマットを、前記表示部に適合するYUVフォーマットに変換するフォーマット変換部を有することを特徴とするものである。
【0024】
第8の態様に係る画像処理装置によれば、フォーマット変換部は、画像記憶部が保持しているローカルデコード画像のYUVフォーマット(例えばYUV420)を、表示部に適合するYUVフォーマット(例えばYUV422)に変換する。従って、画像記憶部が保持しているローカルデコード画像のYUVフォーマットが、表示部に適合するYUVフォーマットとは異なる場合であっても、YUVフォーマットを変換することにより、表示部において画像を表示することが可能となる。
【0025】
本発明の第9の態様に係る画像処理装置は、コーデック処理部と、表示部において画像を表示するための画像データを処理する表示処理部と、前記コーデック処理部及び前記表示処理部がアクセス可能な画像記憶部と、を備え、前記コーデック処理部は、前記画像記憶部から読み出した参照画像を保持する参照画像保持部と、前記参照画像保持部が保持している参照画像に基づいて動き探索を行うことにより、処理対象ブロックに関する予測ブロックを生成する動き探索部と、符号化データを復号することによって予測誤差を生成する予測誤差生成部と、予測ブロックと予測誤差とに基づいて入力画像を復元することにより、デコードブロックを生成するデコードブロック生成部と、複数のデコードブロックを保持するデコードブロック保持部と、を有し、前記デコードブロック生成部は、入力画像内で行方向に並ぶN個(Nは複数)の処理対象ブロックに対応してN個のデコードブロックを順に生成し、当該N個のデコードブロックを行方向に並べて前記デコードブロック保持部に書き込み、前記デコードブロック保持部は、N個のデコードブロックに跨がる行単位でのバースト転送によって、自身が保持しているN個のデコードブロックを前記画像記憶部に書き込み、前記画像記憶部は、自身が保持しているデコード画像を、行単位でのバースト転送によって前記表示処理部に転送し、前記表示処理部は、前記画像記憶部から転送されたデコード画像に基づいて画像を表示することを特徴とするものである。
【0026】
第9の態様に係る画像処理装置によれば、デコードブロック生成部は、順に生成したN個のデコードブロックを行方向に並べてデコードブロック保持部に書き込む。また、デコードブロック保持部は、N個のデコードブロックに跨がる行単位でのバースト転送によって、自身が保持しているN個のデコードブロックを画像記憶部に書き込む。つまり、デコードブロック保持部へのデコードブロックの格納まではブロック単位での処理を行い、デコードブロック保持部から画像記憶部へのデコードブロックの書き込みは、ラスタフォーマットを用いたメモリアクセスによって行う。このように、単純なラスタフォーマットを用いたメモリアクセスを行うことにより、デコードブロックを画像記憶部へ簡易に書き込むことが可能となる。しかも、行方向に並ぶ複数N個のデコードブロックを対象としてラスタフォーマットでのバースト転送を行うため、効率的なバースト転送を行うことが可能となる。また、画像記憶部は、自身が保持しているデコード画像を、行単位でのバースト転送によって表示処理部に転送する。このように、ラスタフォーマットのデコード画像を画像記憶部に格納しておくことにより、表示部において画像を表示するために必要なラスタフォーマットの画像データを、画像記憶部から表示処理部に転送することができる。従って、コーデックフォーマットのデコード画像をラスタフォーマットのデコード画像に変換するフォーマット変換部の実装を省略することができる。その結果、フォーマット変換部から画像記憶部へのアクセスが不要となるため、遅延時間の短縮、消費電力の低減、及びバス帯域の削減を実現することが可能となる。また、コーデックフォーマットを用いたメモリアクセスが不要となるため、設計の簡素化を図ることが可能となる。
【0027】
本発明の第10の態様に係る画像処理装置は、第9の態様に係る画像処理装置において特に、前記表示処理部は、前記画像記憶部が保持しているデコード画像のYUVフォーマットを、前記表示部に適合するYUVフォーマットに変換するフォーマット変換部を有することを特徴とするものである。
【0028】
第10の態様に係る画像処理装置によれば、フォーマット変換部は、画像記憶部が保持しているデコード画像のYUVフォーマット(例えばYUV420)を、表示部に適合するYUVフォーマット(例えばYUV422)に変換する。従って、画像記憶部が保持しているデコード画像のYUVフォーマットが、表示部に適合するYUVフォーマットとは異なる場合であっても、YUVフォーマットを変換することにより、表示部において画像を表示することが可能となる。
【0029】
本発明の第11の態様に係る画像処理装置は、第9又は第10の態様に係る画像処理装置において特に、前記画像記憶部は複数のメモリバンクを有し、前記デコードブロック保持部は、保持しているN個のデコードブロック内の第1の行に属する画素データを、前記画像記憶部の第1のメモリバンクに書き込み、第1の行に隣接する第2の行に属する画素データを、前記第1のメモリバンクとは異なる第2のメモリバンクに書き込むことを特徴とするものである。
【0030】
第11の態様に係る画像処理装置によれば、デコードブロック保持部は、保持しているN個のデコードブロック内の第1の行に属する画素データを、画像記憶部の第1のメモリバンクに書き込み、第1の行に隣接する第2の行に属する画素データを、第1のメモリバンクとは異なる第2のメモリバンクに書き込む。このように、隣接する行の画素データを異なるメモリバンクに書き込むことにより、第1の行に属する画素データの書き込みが完了すると同時に、第2の行に属する画素データの書き込みを開始することができる。その結果、同一のメモリバンクに連続してアクセスする際に必要となる待ち時間の発生を回避できるため、書き込みの所要時間を短縮することが可能となる。
【0031】
本発明の第12の態様に係る画像処理装置は、第9〜第11のいずれか一つの態様に係る画像処理装置において特に、前記デコードブロック保持部は、N+1個のデコードブロックを保持し、第1乃至第Nのブロック期間において、前記デコードブロック生成部は、第1乃至第Nのデコードブロックを前記デコードブロック保持部に順に書き込み、第N+1のブロック期間において、前記デコードブロック生成部は、第N+1のデコードブロックを前記デコードブロック保持部に書き込み、前記デコードブロック保持部は、第1乃至第Nのデコードブロックを前記画像記憶部に書き込むことを特徴とするものである。
【0032】
第12の態様に係る画像処理装置によれば、第1乃至第Nのブロック期間において、デコードブロック生成部は、第1乃至第Nのデコードブロックをデコードブロック保持部に順に書き込む。そして、第N+1のブロック期間において、デコードブロック生成部は、第N+1のデコードブロックをデコードブロック保持部に書き込み、デコードブロック保持部は、第1乃至第Nのデコードブロックを画像記憶部に書き込む。従って、デコードブロック保持部に対するデコードブロックの書き込み及び読み出しを、同時に行うことが可能となる。しかも、デコードブロック保持部に必要な記憶容量は、N+1個のデコードブロックを保持できる記憶容量で足りるため、2N個のデコードブロックを保持するデコードブロック保持部を実装する場合と比較して、必要な記憶容量を削減することが可能となる。
【0033】
本発明の第13の態様に係る画像処理装置は、第9〜第12のいずれか一つの態様に係る画像処理装置において特に、前記画像記憶部は、N個のデコードブロックに跨がる行単位でのバースト転送によって、デコード画像内で行方向に並ぶN個のデコードブロックを前記参照画像保持部に書き込むことを特徴とするものである。
【0034】
第13の態様に係る画像処理装置によれば、画像記憶部は、N個のデコードブロックに跨がる行単位でのバースト転送によって、デコード画像内で行方向に並ぶN個のデコードブロックを参照画像保持部に書き込む。つまり、画像記憶部からのデコード画像の読み出しは、ラスタフォーマットを用いたメモリアクセスによって行う。このように、単純なラスタフォーマットを用いたメモリアクセスを行うことにより、デコード画像を画像記憶部から簡易に読み出すことが可能となる。しかも、行方向に並ぶ複数N個のデコードブロックを対象としてラスタフォーマットでのバースト転送を行うため、効率的なバースト転送を行うことが可能となる。
【発明の効果】
【0035】
本発明によれば、参照画像のキャッシュヒット率を高めることによって処理時間の短縮及びバス帯域の削減を実現することが可能となる。また、本発明によれば、表示用のフォーマット変換を省略することによって遅延時間の短縮、消費電力の低減、及びバス帯域の削減を実現することが可能となる。
【図面の簡単な説明】
【0036】
図1】本発明の実施の形態に係る画像処理装置の構成を簡略化して示す図である。
図2】コーデック処理部が有するエンコーダの構成を簡略化して示す図である。
図3】表示処理部の構成を簡略化して示す図である。
図4】SRAMが保持する参照画像の第1の例を示す図である。
図5】SRAMが保持する参照画像の第2の例を示す図である。
図6】ローカルデコードブロック生成部がSRAMにローカルデコードブロックを書き込む処理を示す図である。
図7】SRAMから画像記憶部にローカルデコードブロックを転送する処理を示す図である。
図8】SRAMから画像記憶部にローカルデコードブロックを転送する処理を示す図である。
図9】SRAMの構成に関する第1の例を示す図である。
図10図9に対応して、SRAMに対するローカルデコードブロックの書き込み及び読み出しのタイミングを示す図である。
図11】SRAMの構成に関する第2の例を示す図である。
図12図11に対応して、SRAMに対するローカルデコードブロックの書き込み及び読み出しのタイミングを示す図である。
図13】画像記憶部からSRAMに画像データを転送する処理を示す図である。
図14】画像記憶部から表示処理部に画像データを転送する処理を示す図である。
図15】コーデック処理部が有するデコーダの構成を簡略化して示す図である。
【発明を実施するための形態】
【0037】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
【0038】
図1は、本発明の実施の形態に係る画像処理装置1の構成を簡略化して示す図である。図1の接続関係で示すように、画像処理装置1は、コーデック処理部2、コーデック制御部3、画像記憶部4、メモリ制御部5、表示処理部6、表示部7、及びバス8を備えて構成されている。画像記憶部4は、例えばDRAMによって構成されている。
【0039】
図2は、コーデック処理部2が有するH.264のエンコーダの構成を簡略化して示す図である。図2の接続関係で示すように、コーデック処理部2は、SRAM11、予測誤差生成部12、DCT変換部13、量子化部14、エントロピー符号化部15、逆量子化部16、逆DCT変換部17、動き補償部18、デブロッキングフィルタ19、SRAM20、SRAM21、及び動き探索部22を備えて構成されている。動き補償部18とデブロッキングフィルタ19とによって、ローカルデコードブロック生成部25が構成される。
【0040】
図3は、表示処理部6の構成を簡略化して示す図である。図3の接続関係で示すように、表示処理部6は、SRAM31及びフォーマット変換部32を備えて構成されている。本実施の形態の例において、コーデック処理部2が処理する画像データのYUVフォーマットはYUV420であり、表示部7が画像の表示に使用する画像データのYUVフォーマットはYUV422である。フォーマット変換部32は、画像記憶部4から転送されたYUV420フォーマットの画像データD20を、表示部7に適合するYUV422フォーマットの画像データD21に変換する。
【0041】
以下、本実施の形態に係る画像処理装置1の動作について説明する。
【0042】
図2を参照して、符号化対象である入力マクロブロックの画像データD1は、SRAM11を介して予測誤差生成部12及び動き探索部22に入力される。
【0043】
また、参照画像の画像データD2が画像記憶部4から読み出されてSRAM21に格納され、SRAM21は参照画像を保持する。
【0044】
図4は、SRAM21が保持する参照画像の第1の例を示す図である。SRAM21は、入力画像の水平方向画素数に相当する水平方向画素数と、垂直方向の動き探索範囲に相当する垂直方向画素数とを有する参照画像を保持する。この例では、垂直方向の動き探索範囲が、入力マクロブロックの位置を中心として±4マクロブロックの範囲に設定されている。1マクロブロックは16列×16行の画素によって構成されているため、垂直方向の動き探索範囲は16×9=144画素となる。図4の(A)に示すように、入力画像の画素数が例えば1920列×1080行である場合には、図4の(B)に示すように、SRAM21は1920列×144行の画素数を有する参照画像を保持する。
【0045】
図5は、SRAM21が保持する参照画像の第2の例を示す図である。SRAM21は、入力画像の水平方向画素数及び垂直方向画素数にそれぞれ相当する水平方向画素数及び垂直方向画素数を有する参照画像を保持する。つまり、SRAM21は、入力画像の1フレーム分に相当する参照画像を保持する。図5の(A)に示すように、入力画像の画素数が例えば1920列×1080行である場合には、図5の(B)に示すように、SRAM21は1920列×1080行の画素数を有する参照画像を保持する。
【0046】
図2を参照して、動き探索部22は、SRAM11から入力された画像データD1とSRAM21から入力された画像データD2とに基づいて動き探索を行うことにより、入力マクロブロックに関する予測ブロックを生成する。予測ブロックの画像データD3は、予測誤差生成部12及び動き補償部18に入力される。
【0047】
予測誤差生成部12は、入力マクロブロックの画像データD1と予測ブロックの画像データD3とに基づいて予測誤差を生成し、予測誤差の画像データD4をDCT変換部13に入力する。
【0048】
DCT変換部13は、画像データD4に対してDCT変換を行い、DCT変換後の画像データD5を量子化部14に入力する。
【0049】
量子化部14は、画像データD5に対して量子化を行い、量子化後の画像データD6をエントロピー符号化部15及び逆量子化部16に入力する。
【0050】
エントロピー符号化部15は、画像データD6に対してCABAC又はCAVLC等を用いてエントロピー符号化を行い、符号化データD7を出力する。
【0051】
逆量子化部16は、画像データD6に対して逆量子化を行い、画像データD5に相当する逆量子化後の画像データD8を逆DCT変換部17に入力する。
【0052】
逆DCT変換部17は、画像データD8に対して逆DCT変換を行い、予測誤差の画像データD4に相当する逆DCT変換後の画像データD9を動き補償部18に入力する。
【0053】
動き補償部18は、予測ブロックの画像データD3と予測誤差の画像データD9とに基づいて、画像データD1に相当する入力マクロブロックを復元することにより、ローカルデコードブロックを生成する。ローカルデコードブロックの画像データD10は、デブロッキングフィルタ19に入力される。
【0054】
デブロッキングフィルタ19は、画像データD10に対して所定のデブロッキングフィルタ処理を行い、その処理後の画像データD11をSRAM20に格納する。つまり、ローカルデコードブロック生成部25は、予測誤差(画像データD9)と予測ブロック(画像データD3)とに基づいてローカルデコードブロックを生成し、生成したローカルデコードブロックをSRAM20に格納する。
【0055】
ローカルデコードブロックの画像データD11は、SRAM20から画像記憶部4に転送される。入力画像に含まれる全てのマクロブロックに関するローカルデコードブロックの画像データD11が画像記憶部4に転送されることにより、画像記憶部4はローカルデコード画像を保持する。ローカルデコード画像は、次の入力画像に対する処理において参照画像として使用される。
【0056】
図6は、ローカルデコードブロック生成部25がSRAM20にローカルデコードブロックを書き込む処理を示す図である。ローカルデコードブロック生成部25は、入力画像内で行方向に並ぶ複数N個(この例ではN=4)の入力マクロブロックMB1〜MB4に対応して、4個のローカルデコードブロックLDB1〜LDB4を順に生成する。そして、当該4個のローカルデコードブロックLDB1〜LDB4を行方向に並べてSRAM20に書き込む。具体的には以下の通りである。
【0057】
まず、図6の(A)に示すように、第1のマクロブロック期間においてローカルデコードブロック生成部25は、入力マクロブロックMB1に対応してローカルデコードブロックLDB1を生成する。そして、ローカルデコードブロックLDB1をSRAM20に書き込む。
【0058】
次に、図6の(B)に示すように、第2のマクロブロック期間においてローカルデコードブロック生成部25は、入力マクロブロックMB1に並ぶ入力マクロブロックMB2に対応して、ローカルデコードブロックLDB2を生成する。そして、ローカルデコードブロックLDB2をローカルデコードブロックLDB1に並べてSRAM20に書き込む。
【0059】
次に、図6の(C)に示すように、第3のマクロブロック期間においてローカルデコードブロック生成部25は、入力マクロブロックMB2に並ぶ入力マクロブロックMB3に対応して、ローカルデコードブロックLDB3を生成する。そして、ローカルデコードブロックLDB3をローカルデコードブロックLDB2に並べてSRAM20に書き込む。
【0060】
次に、図6の(D)に示すように、第4のマクロブロック期間においてローカルデコードブロック生成部25は、入力マクロブロックMB3に並ぶ入力マクロブロックMB4に対応して、ローカルデコードブロックLDB4を生成する。そして、ローカルデコードブロックLDB4をローカルデコードブロックLDB3に並べてSRAM20に書き込む。
【0061】
図7,8は、SRAM20から画像記憶部4にローカルデコードブロックを転送する処理を示す図である。SRAM20から画像記憶部4へのローカルデコードブロックの転送は、ラスタフォーマットを用いたメモリアクセスによって行われる。つまり、SRAM20が保持している4個のローカルデコードブロックLDB1〜LDB4に跨がる行単位(64列×1行)でのバースト転送を、列方向に16回繰り返すことによって、ローカルデコードブロックLDB1〜LDB4が画像記憶部4に書き込まれる。
【0062】
また、画像記憶部4は複数(この例では8個)のメモリバンクBK1〜BK8を有しており、隣接する行の画素データは異なるメモリバンクに書き込まれる。図8を参照して、まず、第0行に属する64列×1行の画素データR0が画像記憶部4のメモリバンクBK1に書き込まれ、次に、第1行に属する画素データR1がメモリバンクBK2に書き込まれ、次に、第2行に属する画素データR2がメモリバンクBK3に書き込まれる。以下同様に、第3行〜第7行に属する画素データR3〜R7が、それぞれメモリバンクBK4〜BK8に順に書き込まれる。さらに、第8行〜第15行に属する画素データR8〜R15が、それぞれメモリバンクBK1〜BK8に順に書き込まれる。
【0063】
また、本実施の形態の例では、ローカルデコード画像のYUVフォーマットはYUV420であるため、偶数行に属する画素データには輝度データのみが含まれ、奇数行に属する画素データには輝度データ及び色差データが含まれる。具体的には、偶数行に関しては1画素あたり1個の輝度データが含まれ、奇数行に関しては1画素あたり1個の輝度データと1個の色差データとが含まれる。つまり、奇数行のデータ量は偶数行のデータ量の2倍となる。従って、奇数行のデータ転送におけるバースト長を、偶数行のバースト転送におけるバースト長の2倍に設定することにより、偶数行に関しては1回のバースト転送によって1行分の輝度データが画像記憶部4に書き込まれ、奇数行に関しては1回のバースト転送によって1行分の輝度データ及び色差データが画像記憶部4に書き込まれる。なお、上記とは逆に、偶数行に属する画素データには輝度データ及び色差データが含まれ、奇数行に属する画素データには輝度データのみが含まれていてもよい。この場合には、偶数行のデータ転送におけるバースト長を、奇数行のバースト転送におけるバースト長の2倍に設定することにより、奇数行に関しては1回のバースト転送によって1行分の輝度データが画像記憶部4に書き込まれ、偶数行に関しては1回のバースト転送によって1行分の輝度データ及び色差データが画像記憶部4に書き込まれる。
【0064】
なお、ローカルデコード画像のYUVフォーマットはYUV422であってもよく、この場合には偶数行と奇数行とでデータ量は等しいため、データ転送におけるバースト長は偶数行と奇数行とで共通となる。
【0065】
図9は、SRAM20の構成に関する第1の例を示す図である。また図10は、図9に対応して、SRAM20に対するローカルデコードブロックの書き込み及び読み出しのタイミングを示す図である。
【0066】
図9を参照して、SRAM20は、それぞれにローカルデコードブロックを1個ずつ格納可能な、合計N+1個(この例では5個)の記憶領域X1〜X5を有する。
【0067】
図10を参照して、まず、マクロブロック期間T1〜T4において、ローカルデコードブロックLDB1〜LDB4が記憶領域X1〜X4にそれぞれ書き込まれる。次に、マクロブロック期間T5において、ローカルデコードブロックLDB1〜LDB4がラスタフォーマットのバースト転送によって記憶領域X1〜X4から読み出されるとともに、ローカルデコードブロックLDB5が記憶領域X5に書き込まれる。以降は同様に、マクロブロック期間T6〜T8において、ローカルデコードブロックLDB6〜LDB8が記憶領域X1〜X3にそれぞれ書き込まれ、マクロブロック期間T9において、ローカルデコードブロックLDB5,LDB6,LDB7,LDB8がラスタフォーマットのバースト転送によって記憶領域X5,X1,X2,X3から読み出されるとともに、ローカルデコードブロックLDB9が記憶領域X4に書き込まれる。
【0068】
図11は、SRAM20の構成に関する第2の例を示す図である。また図12は、図11に対応して、SRAM20に対するローカルデコードブロックの書き込み及び読み出しのタイミングを示す図である。
【0069】
図11を参照して、SRAM20は、それぞれにローカルデコードブロックを1個ずつ格納可能な、合計2N個(この例では8個)の記憶領域X1〜X8を有する。
【0070】
図12を参照して、まず、マクロブロック期間T1〜T4において、ローカルデコードブロックLDB1〜LDB4が記憶領域X1〜X4にそれぞれ書き込まれる。次に、マクロブロック期間T5において、ローカルデコードブロックLDB1〜LDB4がラスタフォーマットのバースト転送によって記憶領域X1〜X4から読み出されるとともに、ローカルデコードブロックLDB5が記憶領域X5に書き込まれる。以降は同様に、マクロブロック期間T6〜T8において、ローカルデコードブロックLDB6〜LDB8が記憶領域X6〜X8にそれぞれ書き込まれ、マクロブロック期間T9において、ローカルデコードブロックLDB5〜LDB8がラスタフォーマットのバースト転送によって記憶領域X5〜X8から読み出されるとともに、ローカルデコードブロックLDB9が記憶領域X1に書き込まれる。
【0071】
図13は、画像記憶部4からSRAM21に画像データを転送する処理を示す図である。画像記憶部4からSRAM21への画像データの転送は、SRAM20から画像記憶部4へのローカルデコードブロックの転送と同様に、4個のマクロブロック単位でのラスタフォーマットを用いたバースト転送によって行われる。
【0072】
まず、図13の(A)に示すように、参照画像の左上角を起点として、画像記憶部4が保持している4個のローカルデコードブロックに跨がる行単位(64列×1行)でのバースト転送を、列方向に16回繰り返すことによって、4個のローカルデコードブロックがSRAM21に書き込まれる。
【0073】
次に、図13の(B)及び(C)に示すように、1段目のマクロブロックライン内で同様のデータ転送を右方向に進めることによって、ローカルデコードブロックが4個ずつSRAM21に書き込まれる。
【0074】
1段目のマクロブロックラインに関するデータ転送が完了すると、次に、図13の(D)に示すように、2段目のマクロブロックラインの左端から順に同様のデータ転送を右方向に進めることによって、ローカルデコードブロックが4個ずつSRAM21に書き込まれる。以降は同様のデータ転送が繰り返されることによって、画像記憶部4からSRAM21に参照画像が転送される。
【0075】
図14は、画像記憶部4から表示処理部6に画像データを転送する処理を示す図である。画像記憶部4から表示処理部6への画像データの転送は、画像の左端から右端に跨がる1行単位でのラスタフォーマットを用いたデータ転送によって行われる。
【0076】
まず、図14の(A)に示すように、画像の左上角を起点として、画像記憶部4が保持している4個のローカルデコードブロックに跨がる行単位でのバースト転送を行うことによって、64列×1行分の画像データが表示処理部6へ転送される。
【0077】
次に、図14の(B)及び(C)に示すように、画像の1行目に関して同様のデータ転送を右方向に進めることによって、画像データが64列×1行分ずつ表示処理部6へ転送される。
【0078】
1行目に関するデータ転送が完了すると、次に、図14の(D)に示すように、画像の2行目の左端から順に同様のデータ転送を右方向に進めることによって、画像データが64列×1行分ずつ表示処理部6へ転送される。以降は同様のデータ転送が繰り返されることによって、画像記憶部4から表示処理部6に1フレーム分の画像データが転送される。
【0079】
このように本実施の形態に係る画像処理装置1によれば、SRAM21(参照画像保持部)は、入力画像の水平方向画素数に相当する水平方向画素数と、垂直方向の動き探索範囲以上の垂直方向画素数とを有する参照画像を保持する。従って、動き探索部22は、SRAM21が保持している参照画像に基づいて、垂直方向の探索範囲内で最適な予測ブロックを確実に(つまりキャッシュヒット率100%で)生成することができる。従って、別の領域の参照画像を画像記憶部4からSRAM21に読み出す必要がないため、画像記憶部4へのリードアクセスの発生を回避でき、その結果、処理時間の短縮及びバス帯域の削減を実現することが可能となる。
【0080】
また、図5に示した例によれば、SRAM21は、入力画像の水平方向画素数及び垂直方向画素数にそれぞれ相当する水平方向画素数及び垂直方向画素数を有する参照画像を保持する。つまり、SRAM21は、1フレーム分の参照画像を保持する。従って、動き探索部22は、SRAM21が保持している1フレーム分の参照画像内で、処理対象の入力マクロブロックと最も相関性の高いマクロブロックを確実に特定できるため、高精度の予測ブロックを生成することができる。また、入力マクロブロックの垂直方向の位置に応じて参照画像を更新する必要がないため、画像記憶部4へのリードアクセスの発生を回避でき、その結果、処理時間の短縮及びバス帯域の削減を効果的に実現することが可能となる。
【0081】
また、本実施の形態に係る画像処理装置1によれば、ローカルデコードブロック生成部25は、順に生成したN個のローカルデコードブロックを行方向に並べてSRAM20(ローカルデコードブロック保持部)に書き込む。また、SRAM20は、N個のローカルデコードブロックに跨がる行単位でのバースト転送によって、自身が保持しているN個のローカルデコードブロックを画像記憶部4に書き込む。つまり、SRAM20へのローカルデコードブロックの格納まではマクロブロック単位での処理を行い、SRAM20から画像記憶部4へのローカルデコードブロックの書き込みは、ラスタフォーマットを用いたメモリアクセスによって行う。このように、単純なラスタフォーマットを用いたメモリアクセスを行うことにより、ローカルデコードブロックを画像記憶部4へ簡易に書き込むことが可能となる。しかも、行方向に並ぶ複数N個のローカルデコードブロックを対象としてラスタフォーマットでのバースト転送を行うため、効率的なバースト転送を行うことが可能となる。
【0082】
また、本実施の形態に係る画像処理装置1によれば、SRAM20は、保持しているN個のローカルデコードブロック内の第1の行に属する画素データを、画像記憶部4の第1のメモリバンクに書き込み、第1の行に隣接する第2の行に属する画素データを、第1のメモリバンクとは異なる第2のメモリバンクに書き込む。このように、隣接する行の画素データを異なるメモリバンクに書き込むことにより、第1の行に属する画素データの書き込みが完了すると同時に、第2の行に属する画素データの書き込みを開始することができる。その結果、同一のメモリバンクに連続してアクセスする際に必要となる待ち時間の発生を回避できるため、書き込みの所要時間を短縮することが可能となる。
【0083】
また、図9,10に示した例によれば、マクロブロック期間T1〜T4において、ローカルデコードブロック生成部25は、ローカルデコードブロックLDB1〜LDB4をSRAM20に順に書き込む。そして、マクロブロック期間T5において、ローカルデコードブロック生成部25は、ローカルデコードブロックLDB5をSRAM20に書き込み、SRAM20は、ローカルデコードブロックLDB1〜LDB4を画像記憶部4に書き込む。従って、SRAM20に対するローカルデコードブロックの書き込み及び読み出しを、同時に行うことが可能となる。しかも、SRAM20に必要な記憶容量は、N+1個のローカルデコードブロックを保持できる記憶容量で足りるため、2N個のローカルデコードブロックを保持する記憶容量を必要とする図11,12に示した例と比較して、SRAM20に必要な記憶容量を削減することが可能となる。
【0084】
また、本実施の形態に係る画像処理装置1によれば、画像記憶部4は、N個のローカルデコードブロックに跨がる行単位でのバースト転送によって、ローカルデコード画像内で行方向に並ぶN個のローカルデコードブロックをSRAM21に書き込む。つまり、画像記憶部4からのローカルデコード画像の読み出しは、ラスタフォーマットを用いたメモリアクセスによって行う。このように、単純なラスタフォーマットを用いたメモリアクセスを行うことにより、ローカルデコード画像を画像記憶部4から簡易に読み出すことが可能となる。しかも、行方向に並ぶ複数N個のローカルデコードブロックを対象としてラスタフォーマットでのバースト転送を行うため、効率的なバースト転送を行うことが可能となる。
【0085】
また、本実施の形態に係る画像処理装置1によれば、画像記憶部4は、自身が保持しているローカルデコード画像を、行単位でのバースト転送によって表示処理部6に転送する。このように、ラスタフォーマットのローカルデコード画像を画像記憶部4に格納しておくことにより、表示部7において画像を表示するために必要なラスタフォーマットの画像データを、画像記憶部4から表示処理部6に転送することができる。従って、コーデックフォーマットのローカルデコード画像をラスタフォーマットのローカルデコード画像に変換するためのフォーマット変換部の実装を省略することができる。その結果、当該フォーマット変換部から画像記憶部4へのアクセスが不要となるため、遅延時間の短縮、消費電力の低減、及びバス帯域の削減を実現することが可能となる。また、コーデックフォーマットを用いたメモリアクセスが不要となるため、設計の簡素化を図ることが可能となる。
【0086】
また、本実施の形態に係る画像処理装置1によれば、フォーマット変換部32は、画像記憶部4が保持しているローカルデコード画像のYUVフォーマット(上記の例ではYUV420)を、表示部7に適合するYUVフォーマット(上記の例ではYUV422)に変換する。従って、画像記憶部4が保持しているローカルデコード画像のYUVフォーマットが、表示部7に適合するYUVフォーマットとは異なる場合であっても、YUVフォーマットを変換することにより、表示部7において画像を表示することが可能となる。
【0087】
<変形例>
上記実施の形態では、エンコーダが生成するローカルデコード画像を表示部7で表示する例について説明したが、デコーダが生成するデコード画像を表示部7で表示してもよい。
【0088】
図15は、コーデック処理部2が有するH.264のデコーダの構成を簡略化して示す図である。図15の接続関係で示すように、コーデック処理部2は、エントロピー復号部45、逆量子化部46、逆DCT変換部47、動き補償部48、デブロッキングフィルタ49、SRAM50、SRAM51、及び動き探索部52を備えて構成されている。動き補償部48とデブロッキングフィルタ49とによって、デコードブロック生成部55が構成される。
【0089】
復号対象である符号化データD20(図2に示した符号化データD7に相当する)は、エントロピー復号部45に入力される。
【0090】
また、参照画像の画像データD24が画像記憶部4から読み出されてSRAM51に格納され、SRAM51は参照画像を保持する。SRAM51が保持する参照画像は、上記実施の形態と同様である。つまり、SRAM51は、入力画像の水平方向画素数に相当する水平方向画素数と、垂直方向の動き探索範囲以上の垂直方向画素数とを有する参照画像を保持する。
【0091】
動き探索部52は、SRAM51が保持している参照画像に基づいて動き探索を行うことにより、予測ブロックを生成する。予測ブロックの画像データD25は、動き補償部48に入力される。
【0092】
エントロピー復号部45は、符号化データD20に対してCABAC又はCAVLC等を用いてエントロピー復号を行い、図2に示した画像データD6に相当する画像データD21を逆量子化部46に入力する。
【0093】
逆量子化部46は、画像データD21に対して逆量子化を行い、図2に示した画像データD5に相当する逆量子化後の画像データD22を逆DCT変換部47に入力する。
【0094】
逆DCT変換部47は、画像データD22に対して逆DCT変換を行い、図2に示した予測誤差の画像データD4に相当する逆DCT変換後の画像データD23を動き補償部48に入力する。
【0095】
動き補償部48は、予測ブロックの画像データD25と予測誤差の画像データD23とに基づいて、図2に示した画像データD1に相当する入力マクロブロックを復元することにより、デコードブロックを生成する。デコードブロックの画像データD26は、デブロッキングフィルタ49に入力される。
【0096】
デブロッキングフィルタ49は、画像データD26に対して所定のデブロッキングフィルタ処理を行い、その処理後の画像データD27をSRAM50に格納する。つまり、デコードブロック生成部55は、予測誤差(画像データD23)と予測ブロック(画像データD25)とに基づいてデコードブロックを生成し、生成したデコードブロックをSRAM50に格納する。
【0097】
デコードブロックの画像データD27は、SRAM50から画像記憶部4に転送される。入力画像に含まれる全てのマクロブロックに関するデコードブロックの画像データD27が画像記憶部4に転送されることにより、画像記憶部4はデコード画像を保持する。デコード画像は、次の入力画像に対する処理において参照画像として使用される。
【0098】
デコードブロック生成部55がSRAM50にデコードブロックを書き込む処理は、図6に示した上記実施の形態と同様である。つまり、デコードブロック生成部55は、入力画像内で行方向に並ぶ複数N個(この例ではN=4)の入力マクロブロックMB1〜MB4に対応して、4個のデコードブロックDB1〜DB4を順に生成する。そして、当該4個のローカルデコードブロックDB1〜DB4を行方向に並べてSRAM50に書き込む。
【0099】
SRAM50から画像記憶部4にデコードブロックを転送する処理は、図7,8に示した上記実施の形態と同様である。つまり、SRAM50が保持している4個のデコードブロックDB1〜DB4に跨がる行単位(64列×1行)でのバースト転送を、列方向に16回繰り返すことによって、デコードブロックDB1〜DB4が画像記憶部4に書き込まれる。また、画像記憶部4は複数(この例では8個)のメモリバンクBK1〜BK8を有しており、隣接する行の画素データは異なるメモリバンクに書き込まれる。
【0100】
SRAM50の構成、及び、SRAM50に対するデコードブロックの書き込み及び読み出しのタイミングは、図9〜12に示した上記実施の形態と同様である。
【0101】
図9,10に示した例では、マクロブロック期間T1〜T4において、デコードブロックDB1〜DB4が記憶領域X1〜X4にそれぞれ書き込まれ、マクロブロック期間T5〜T8において、デコードブロックDB5〜DB8が記憶領域X5,X1〜X3にそれぞれ書き込まれる。また、マクロブロック期間T5において、デコードブロックDB1〜DB4がラスタフォーマットのバースト転送によって記憶領域X1〜X4から読み出され、マクロブロック期間T9において、デコードブロックDB5〜DB8がラスタフォーマットのバースト転送によって記憶領域X5,X1〜X3から読み出される。
【0102】
図11,12に示した例では、マクロブロック期間T1〜T4において、デコードブロックDB1〜DB4が記憶領域X1〜X4にそれぞれ書き込まれ、マクロブロック期間T5〜T8において、デコードブロックDB5〜DB8が記憶領域X5〜X8にそれぞれ書き込まれる。また、マクロブロック期間T5において、デコードブロックDB1〜DB4がラスタフォーマットのバースト転送によって記憶領域X1〜X4から読み出され、マクロブロック期間T9において、デコードブロックDB5〜DB8がラスタフォーマットのバースト転送によって記憶領域X5〜X8から読み出される。
【0103】
画像記憶部4からSRAM51に画像データを転送する処理は、図13に示した上記実施の形態と同様である。つまり、画像記憶部4からSRAM51への画像データの転送は、SRAM50から画像記憶部4へのデコードブロックの転送と同様に、4個のマクロブロック単位でのラスタフォーマットを用いたバースト転送によって行われる。
【0104】
画像記憶部4から表示処理部6に画像データを転送する処理は、図14に示した上記実施の形態と同様である。つまり、画像記憶部4から表示処理部6への画像データの転送は、画像の左端から右端に跨がる1行単位でのラスタフォーマットを用いたデータ転送によって行われる。
【0105】
本変形例に係る画像処理装置1によれば、デコードブロック生成部55は、順に生成したN個のデコードブロックを行方向に並べてSRAM50(デコードブロック保持部)に書き込む。また、SRAM50は、N個のデコードブロックに跨がる行単位でのバースト転送によって、自身が保持しているN個のデコードブロックを画像記憶部4に書き込む。つまり、SRAM50へのデコードブロックの格納まではマクロブロック単位での処理を行い、SRAM50から画像記憶部4へのデコードブロックの書き込みは、ラスタフォーマットを用いたメモリアクセスによって行う。このように、単純なラスタフォーマットを用いたメモリアクセスを行うことにより、デコードブロックを画像記憶部4へ簡易に書き込むことが可能となる。しかも、行方向に並ぶ複数N個のデコードブロックを対象としてラスタフォーマットでのバースト転送を行うため、効率的なバースト転送を行うことが可能となる。また、画像記憶部4は、自身が保持しているデコード画像を、行単位でのバースト転送によって表示処理部6に転送する。このように、ラスタフォーマットのデコード画像を画像記憶部4に格納しておくことにより、表示部7において画像を表示するために必要なラスタフォーマットの画像データを、画像記憶部4から表示処理部6に転送することができる。従って、コーデックフォーマットのデコード画像をラスタフォーマットのデコード画像に変換するためのフォーマット変換部の実装を省略することができる。その結果、当該フォーマット変換部から画像記憶部4へのアクセスが不要となるため、遅延時間の短縮、消費電力の低減、及びバス帯域の削減を実現することが可能となる。また、コーデックフォーマットを用いたメモリアクセスが不要となるため、設計の簡素化を図ることが可能となる。
【0106】
また、本変形例に係る画像処理装置1によれば、フォーマット変換部32は、画像記憶部4が保持しているデコード画像のYUVフォーマット(上記の例ではYUV420)を、表示部7に適合するYUVフォーマット(上記の例ではYUV422)に変換する。従って、画像記憶部4が保持しているデコード画像のYUVフォーマットが、表示部7に適合するYUVフォーマットとは異なる場合であっても、YUVフォーマットを変換することにより、表示部7において画像を表示することが可能となる。
【0107】
また、本変形例に係る画像処理装置1によれば、SRAM50は、保持しているN個のデコードブロック内の第1の行に属する画素データを、画像記憶部4の第1のメモリバンクに書き込み、第1の行に隣接する第2の行に属する画素データを、第1のメモリバンクとは異なる第2のメモリバンクに書き込む。このように、隣接する行の画素データを異なるメモリバンクに書き込むことにより、第1の行に属する画素データの書き込みが完了すると同時に、第2の行に属する画素データの書き込みを開始することができる。その結果、同一のメモリバンクに連続してアクセスする際に必要となる待ち時間の発生を回避できるため、書き込みの所要時間を短縮することが可能となる。
【0108】
また、図9,10に示した例によれば、マクロブロック期間T1〜T4において、デコードブロック生成部55は、デコードブロックDB1〜DB4をSRAM50に順に書き込む。そして、マクロブロック期間T5において、デコードブロック生成部55は、デコードブロックDB5をSRAM50に書き込み、SRAM50は、デコードブロックDB1〜DB4を画像記憶部4に書き込む。従って、SRAM50に対するデコードブロックの書き込み及び読み出しを、同時に行うことが可能となる。しかも、SRAM50に必要な記憶容量は、N+1個のデコードブロックを保持できる記憶容量で足りるため、2N個のデコードブロックを保持する記憶容量を必要とする図11,12に示した例と比較して、SRAM50に必要な記憶容量を削減することが可能となる。
【0109】
また、本変形例に係る画像処理装置1によれば、画像記憶部4は、N個のデコードブロックに跨がる行単位でのバースト転送によって、デコード画像内で行方向に並ぶN個のデコードブロックをSRAM51に書き込む。つまり、画像記憶部4からのデコード画像の読み出しは、ラスタフォーマットを用いたメモリアクセスによって行う。このように、単純なラスタフォーマットを用いたメモリアクセスを行うことにより、デコード画像を画像記憶部4から簡易に読み出すことが可能となる。しかも、行方向に並ぶ複数N個のデコードブロックを対象としてラスタフォーマットでのバースト転送を行うため、効率的なバースト転送を行うことが可能となる。
【符号の説明】
【0110】
1 画像処理装置
2 コーデック処理部
4 画像記憶部
6 表示処理部
7 表示部
12 予測誤差生成部
18 動き補償部
20 SRAM(ローカルデコードブロック保持部)
21 SRAM(参照画像保持部)
22 動き探索部
25 ローカルデコードブロック生成部
32 フォーマット変換部
48 動き補償部
50 SRAM(デコードブロック保持部)
51 SRAM(参照画像保持部)
52 動き探索部
55 デコードブロック生成部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15