JP6490896B2 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP6490896B2
JP6490896B2 JP2013260618A JP2013260618A JP6490896B2 JP 6490896 B2 JP6490896 B2 JP 6490896B2 JP 2013260618 A JP2013260618 A JP 2013260618A JP 2013260618 A JP2013260618 A JP 2013260618A JP 6490896 B2 JP6490896 B2 JP 6490896B2
Authority
JP
Japan
Prior art keywords
image
unit
local
block
decode
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
JP2013260618A
Other languages
English (en)
Other versions
JP2015119282A (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.)
MegaChips Corp
Original Assignee
MegaChips Corp
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 MegaChips Corp filed Critical MegaChips Corp
Priority to JP2013260618A priority Critical patent/JP6490896B2/ja
Priority to US14/572,887 priority patent/US9807417B2/en
Publication of JP2015119282A publication Critical patent/JP2015119282A/ja
Application granted granted Critical
Publication of JP6490896B2 publication Critical patent/JP6490896B2/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/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
    • H04N19/57Motion estimation characterised by a search window with variable size or shape
    • 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/423Methods 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 characterised by memory arrangements

Landscapes

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

Description

本発明は、画像処理装置に関する。
背景技術に係るH.264のエンコーダは、ローカルデコード画像を格納する画像記憶部としてのDRAMと、DRAMから読み出した参照画像を保持するSRAMと、参照画像に基づいて動き探索を行うことにより予測ブロックを生成する動き探索部とを備える。そして、処理対象のマクロブロックと予測ブロックとの誤差である予測誤差に対して、DCT変換、量子化、及びエントロピー符号化を行うことによって、高効率なデータ圧縮が実現されている。SRAMには、DRAMに格納されている1フレーム分のローカルデコード画像のうち、マクロブロックのサイズより若干大きい所定の探索範囲の画像が、参照画像として格納される。
また、背景技術に係るH.264のデコーダは、デコード画像を格納する画像記憶部としてのDRAMと、DRAMから読み出した参照画像を保持するSRAMと、参照画像に基づいて動き探索を行うことにより予測ブロックを生成する動き探索部とを備える。そして、入力された符号化データに対して、エントロピー復号、逆量子化、及び逆DCT変換を行うことによって予測誤差が生成され、予測ブロックと予測誤差とに基づいて入力画像を復元することによってデコードブロックが生成される。H.264では矩形のマクロブロック単位でデコードが行われるため、デコードブロックをDRAMに書き込む際には、矩形領域内の各行間でアドレスが連続するアドレスフォーマット(以下「コーデックフォーマット」と称す)を用いて、DRAMへのライトアクセスが行われる。
なお、下記特許文献1には、メモリへのデコード画像の書き込み処理において、メモリのバンクを切り替えながらバースト転送を行うことによって、マクロブロック単位でのライトアクセスに適したメモリアクセス方法が開示されている。
特許第5147102号公報
上述した背景技術に係るエンコーダによると、近年におけるカメラやテレビの高解像度化に伴ってDRAMへのアクセスデータ量が増大しており、DRAMのバス帯域が厳しくなっているため、DRAMへのアクセスを極力回避してバス帯域を削減すること要求されている。
また、上述した背景技術に係るデコーダによると、デコードブロックは、コーデックフォーマットを用いてDRAMに書き込まれる。一方、デコード画像を表示装置に表示する場合には、画像内の水平方向にアドレスが連続するアドレスフォーマット(ラスタフォーマット)を用いた画像データが必要であるため、コーデックフォーマットのデコード画像をそのまま使用することができない。従って、コーデックフォーマットをラスタフォーマットに変換するフォーマット変換回路を実装する必要がある。フォーマット変換回路は、DRAMから読み出したコーデックフォーマットのデコード画像を、ラスタフォーマットのデコード画像に変換して、変換後のデコード画像をDRAMに書き込む。従って、フォーマット変換に伴ってDRAMへのリードアクセス及びライトアクセスが発生するため、表示の遅延時間が長くなるとともに、DRAMの消費電力が増大する。また、上述の通り、DRAMへのアクセスを極力回避してバス帯域を削減することも要求されている。
本発明はかかる事情に鑑みて成されたものであり、表示用のフォーマット変換を省略することによって遅延時間の短縮、消費電力の低減、及びバス帯域の削減を実現することが可能な画像処理装置を得ることを目的とする。
本発明の第1の態様に係る画像処理装置は、入力画像を符号化するコーデック処理部と、前記コーデック処理部がアクセス可能な画像記憶部と、を備え、前記コーデック処理部は、前記画像記憶部から読み出した参照画像を保持する参照画像保持部と、前記参照画像保持部が保持している参照画像に基づいて動き探索を行うことにより、入力画像内の処理対象ブロックに関する予測ブロックを生成する動き探索部と、処理対象ブロックと予測ブロックとに基づいて予測誤差を生成する予測誤差生成部と、予測誤差と予測ブロックとに基づいて処理対象ブロックを復元することにより、ローカルデコードブロックを生成するローカルデコードブロック生成部と、複数のローカルデコードブロックを保持するローカルデコードブロック保持部と、を有し、前記ローカルデコードブロック生成部は、入力画像内で行方向に並ぶN個(Nは複数)の処理対象ブロックに対応してN個のローカルデコードブロックを順に生成し、当該N個のローカルデコードブロックを行方向に並べて前記ローカルデコードブロック保持部に書き込み、前記ローカルデコードブロック保持部は、N個のローカルデコードブロックに跨がる行単位でのバースト転送によって、自身が保持しているN個のローカルデコードブロックを前記画像記憶部に書き込むことを特徴とするものである。
の態様に係る画像処理装置によれば、ローカルデコードブロック生成部は、順に生成したN個のローカルデコードブロックを行方向に並べてローカルデコードブロック保持部に書き込む。また、ローカルデコードブロック保持部は、N個のローカルデコードブロックに跨がる行単位でのバースト転送によって、自身が保持しているN個のローカルデコードブロックを画像記憶部に書き込む。つまり、ローカルデコードブロック保持部へのローカルデコードブロックの格納まではブロック単位での処理を行い、ローカルデコードブロック保持部から画像記憶部へのローカルデコードブロックの書き込みは、ラスタフォーマットを用いたメモリアクセスによって行う。このように、単純なラスタフォーマットを用いたメモリアクセスを行うことにより、ローカルデコードブロックを画像記憶部へ簡易に書き込むことが可能となる。しかも、行方向に並ぶ複数N個のローカルデコードブロックを対象としてラスタフォーマットでのバースト転送を行うため、効率的なバースト転送を行うことが可能となる。
本発明の第の態様に係る画像処理装置は、第の態様に係る画像処理装置において特に、前記画像記憶部は複数のメモリバンクを有し、前記ローカルデコードブロック保持部は、保持しているN個のローカルデコードブロック内の第1の行に属する画素データを、前記画像記憶部の第1のメモリバンクに書き込み、第1の行に隣接する第2の行に属する画素データを、前記第1のメモリバンクとは異なる第2のメモリバンクに書き込むことを特徴とするものである。
の態様に係る画像処理装置によれば、ローカルデコードブロック保持部は、保持しているN個のローカルデコードブロック内の第1の行に属する画素データを、画像記憶部の第1のメモリバンクに書き込み、第1の行に隣接する第2の行に属する画素データを、第1のメモリバンクとは異なる第2のメモリバンクに書き込む。このように、隣接する行の画素データを異なるメモリバンクに書き込むことにより、第1の行に属する画素データの書き込みが完了すると同時に、第2の行に属する画素データの書き込みを開始することができる。その結果、同一のメモリバンクに連続してアクセスする際に必要となる待ち時間の発生を回避できるため、書き込みの所要時間を短縮することが可能となる。
本発明の第の態様に係る画像処理装置は、第又は第の態様に係る画像処理装置において特に、前記ローカルデコードブロック保持部は、N+1個のローカルデコードブロックを保持し、第1乃至第Nのブロック期間において、前記ローカルデコードブロック生成部は、第1乃至第Nのローカルデコードブロックを前記ローカルデコードブロック保持部に順に書き込み、第N+1のブロック期間において、前記ローカルデコードブロック生成部は、第N+1のローカルデコードブロックを前記ローカルデコードブロック保持部に書き込み、前記ローカルデコードブロック保持部は、第1乃至第Nのローカルデコードブロックを前記画像記憶部に書き込むことを特徴とするものである。
の態様に係る画像処理装置によれば、第1乃至第Nのブロック期間において、ローカルデコードブロック生成部は、第1乃至第Nのローカルデコードブロックをローカルデコードブロック保持部に順に書き込む。そして、第N+1のブロック期間において、ローカルデコードブロック生成部は、第N+1のローカルデコードブロックをローカルデコードブロック保持部に書き込み、ローカルデコードブロック保持部は、第1乃至第Nのローカルデコードブロックを画像記憶部に書き込む。従って、ローカルデコードブロック保持部に対するローカルデコードブロックの書き込み及び読み出しを、同時に行うことが可能となる。しかも、ローカルデコードブロック保持部に必要な記憶容量は、N+1個のローカルデコードブロックを保持できる記憶容量で足りるため、2N個のローカルデコードブロックを保持するローカルデコードブロック保持部を実装する場合と比較して、必要な記憶容量を削減することが可能となる。
本発明の第の態様に係る画像処理装置は、第〜第のいずれか一つの態様に係る画像処理装置において特に、前記画像記憶部は、参照画像として使用されるローカルデコード画像を保持し、前記画像記憶部は、N個のローカルデコードブロックに跨がる行単位でのバースト転送によって、ローカルデコード画像内で行方向に並ぶN個のローカルデコードブロックを前記参照画像保持部に書き込むことを特徴とするものである。
の態様に係る画像処理装置によれば、画像記憶部は、N個のローカルデコードブロックに跨がる行単位でのバースト転送によって、ローカルデコード画像内で行方向に並ぶN個のローカルデコードブロックを参照画像保持部に書き込む。つまり、画像記憶部からのローカルデコード画像の読み出しは、ラスタフォーマットを用いたメモリアクセスによって行う。このように、単純なラスタフォーマットを用いたメモリアクセスを行うことにより、ローカルデコード画像を画像記憶部から簡易に読み出すことが可能となる。しかも、行方向に並ぶ複数N個のローカルデコードブロックを対象としてラスタフォーマットでのバースト転送を行うため、効率的なバースト転送を行うことが可能となる。
本発明の第の態様に係る画像処理装置は、第の態様に係る画像処理装置において特に、表示部において画像を表示するための画像データを処理する表示処理部をさらに備え、前記画像記憶部は、自身が保持しているローカルデコード画像を、行単位でのバースト転送によって前記表示処理部に転送し、前記表示処理部は、前記画像記憶部から転送されたローカルデコード画像に基づいて画像を表示することを特徴とするものである。
の態様に係る画像処理装置によれば、画像記憶部は、自身が保持しているローカルデコード画像を、行単位でのバースト転送によって表示処理部に転送する。このように、ラスタフォーマットのローカルデコード画像を画像記憶部に格納しておくことにより、表示部において画像を表示するために必要なラスタフォーマットの画像データを、画像記憶部から表示処理部に転送することができる。従って、コーデックフォーマットのローカルデコード画像をラスタフォーマットのローカルデコード画像に変換するフォーマット変換部の実装を省略することができる。その結果、フォーマット変換部から画像記憶部へのアクセスが不要となるため、遅延時間の短縮、消費電力の低減、及びバス帯域の削減を実現することが可能となる。また、コーデックフォーマットを用いたメモリアクセスが不要となるため、設計の簡素化を図ることが可能となる。
本発明の第の態様に係る画像処理装置は、第の態様に係る画像処理装置において特に、前記表示処理部は、前記画像記憶部が保持しているローカルデコード画像のYUVフォーマットを、前記表示部に適合するYUVフォーマットに変換するフォーマット変換部を有することを特徴とするものである。
の態様に係る画像処理装置によれば、フォーマット変換部は、画像記憶部が保持しているローカルデコード画像のYUVフォーマット(例えばYUV420)を、表示部に適合するYUVフォーマット(例えばYUV422)に変換する。従って、画像記憶部が保持しているローカルデコード画像のYUVフォーマットが、表示部に適合するYUVフォーマットとは異なる場合であっても、YUVフォーマットを変換することにより、表示部において画像を表示することが可能となる。
本発明の第の態様に係る画像処理装置は、コーデック処理部と、表示部において画像を表示するための画像データを処理する表示処理部と、前記コーデック処理部及び前記表示処理部がアクセス可能な画像記憶部と、を備え、前記コーデック処理部は、予測ブロックと予測誤差とに基づいて入力画像を復元することにより、デコードブロックを生成する動き補償部を有するデコードブロック生成部と、複数のデコードブロックを保持するデコードブロック保持部と、を有し、前記デコードブロック生成部は、入力画像内で行方向に並ぶN個(Nは複数)の処理対象ブロックに対応してN個のデコードブロックを順に生成し、当該N個のデコードブロックを行方向に並べて前記デコードブロック保持部に書き込み、前記デコードブロック保持部は、N個のデコードブロックに跨がる行単位でのバースト転送によって、自身が保持しているN個のデコードブロックを前記画像記憶部に書き込み、前記画像記憶部は、自身が保持しているデコード画像を、行単位でのバースト転送によって前記表示処理部に転送し、前記表示処理部は、前記画像記憶部から転送されたデコード画像に基づいて画像を表示することを特徴とするものである。
の態様に係る画像処理装置によれば、デコードブロック生成部は、順に生成したN個のデコードブロックを行方向に並べてデコードブロック保持部に書き込む。また、デコードブロック保持部は、N個のデコードブロックに跨がる行単位でのバースト転送によって、自身が保持しているN個のデコードブロックを画像記憶部に書き込む。つまり、デコードブロック保持部へのデコードブロックの格納まではブロック単位での処理を行い、デコードブロック保持部から画像記憶部へのデコードブロックの書き込みは、ラスタフォーマットを用いたメモリアクセスによって行う。このように、単純なラスタフォーマットを用いたメモリアクセスを行うことにより、デコードブロックを画像記憶部へ簡易に書き込むことが可能となる。しかも、行方向に並ぶ複数N個のデコードブロックを対象としてラスタフォーマットでのバースト転送を行うため、効率的なバースト転送を行うことが可能となる。また、画像記憶部は、自身が保持しているデコード画像を、行単位でのバースト転送によって表示処理部に転送する。このように、ラスタフォーマットのデコード画像を画像記憶部に格納しておくことにより、表示部において画像を表示するために必要なラスタフォーマットの画像データを、画像記憶部から表示処理部に転送することができる。従って、コーデックフォーマットのデコード画像をラスタフォーマットのデコード画像に変換するフォーマット変換部の実装を省略することができる。その結果、フォーマット変換部から画像記憶部へのアクセスが不要となるため、遅延時間の短縮、消費電力の低減、及びバス帯域の削減を実現することが可能となる。また、コーデックフォーマットを用いたメモリアクセスが不要となるため、設計の簡素化を図ることが可能となる。
本発明の第の態様に係る画像処理装置は、第の態様に係る画像処理装置において特に、前記表示処理部は、前記画像記憶部が保持しているデコード画像のYUVフォーマットを、前記表示部に適合するYUVフォーマットに変換するフォーマット変換部を有することを特徴とするものである。
の態様に係る画像処理装置によれば、フォーマット変換部は、画像記憶部が保持しているデコード画像のYUVフォーマット(例えばYUV420)を、表示部に適合するYUVフォーマット(例えばYUV422)に変換する。従って、画像記憶部が保持しているデコード画像のYUVフォーマットが、表示部に適合するYUVフォーマットとは異なる場合であっても、YUVフォーマットを変換することにより、表示部において画像を表示することが可能となる。
本発明の第の態様に係る画像処理装置は、第又は第の態様に係る画像処理装置において特に、前記画像記憶部は複数のメモリバンクを有し、前記デコードブロック保持部は、保持しているN個のデコードブロック内の第1の行に属する画素データを、前記画像記憶部の第1のメモリバンクに書き込み、第1の行に隣接する第2の行に属する画素データを、前記第1のメモリバンクとは異なる第2のメモリバンクに書き込むことを特徴とするものである。
の態様に係る画像処理装置によれば、デコードブロック保持部は、保持しているN個のデコードブロック内の第1の行に属する画素データを、画像記憶部の第1のメモリバンクに書き込み、第1の行に隣接する第2の行に属する画素データを、第1のメモリバンクとは異なる第2のメモリバンクに書き込む。このように、隣接する行の画素データを異なるメモリバンクに書き込むことにより、第1の行に属する画素データの書き込みが完了すると同時に、第2の行に属する画素データの書き込みを開始することができる。その結果、同一のメモリバンクに連続してアクセスする際に必要となる待ち時間の発生を回避できるため、書き込みの所要時間を短縮することが可能となる。
本発明の第10の態様に係る画像処理装置は、第〜第のいずれか一つの態様に係る画像処理装置において特に、前記デコードブロック保持部は、N+1個のデコードブロックを保持し、第1乃至第Nのブロック期間において、前記デコードブロック生成部は、第1乃至第Nのデコードブロックを前記デコードブロック保持部に順に書き込み、第N+1のブロック期間において、前記デコードブロック生成部は、第N+1のデコードブロックを前記デコードブロック保持部に書き込み、前記デコードブロック保持部は、第1乃至第Nのデコードブロックを前記画像記憶部に書き込むことを特徴とするものである。
10の態様に係る画像処理装置によれば、第1乃至第Nのブロック期間において、デコードブロック生成部は、第1乃至第Nのデコードブロックをデコードブロック保持部に順に書き込む。そして、第N+1のブロック期間において、デコードブロック生成部は、第N+1のデコードブロックをデコードブロック保持部に書き込み、デコードブロック保持部は、第1乃至第Nのデコードブロックを画像記憶部に書き込む。従って、デコードブロック保持部に対するデコードブロックの書き込み及び読み出しを、同時に行うことが可能となる。しかも、デコードブロック保持部に必要な記憶容量は、N+1個のデコードブロックを保持できる記憶容量で足りるため、2N個のデコードブロックを保持するデコードブロック保持部を実装する場合と比較して、必要な記憶容量を削減することが可能となる。
発明によれば、表示用のフォーマット変換を省略することによって遅延時間の短縮、消費電力の低減、及びバス帯域の削減を実現することが可能となる。
本発明の実施の形態に係る画像処理装置の構成を簡略化して示す図である。 コーデック処理部が有するエンコーダの構成を簡略化して示す図である。 表示処理部の構成を簡略化して示す図である。 SRAMが保持する参照画像の第1の例を示す図である。 SRAMが保持する参照画像の第2の例を示す図である。 ローカルデコードブロック生成部がSRAMにローカルデコードブロックを書き込む処理を示す図である。 SRAMから画像記憶部にローカルデコードブロックを転送する処理を示す図である。 SRAMから画像記憶部にローカルデコードブロックを転送する処理を示す図である。 SRAMの構成に関する第1の例を示す図である。 図9に対応して、SRAMに対するローカルデコードブロックの書き込み及び読み出しのタイミングを示す図である。 SRAMの構成に関する第2の例を示す図である。 図11に対応して、SRAMに対するローカルデコードブロックの書き込み及び読み出しのタイミングを示す図である。 画像記憶部からSRAMに画像データを転送する処理を示す図である。 画像記憶部から表示処理部に画像データを転送する処理を示す図である。 コーデック処理部が有するデコーダの構成を簡略化して示す図である。
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
図1は、本発明の実施の形態に係る画像処理装置1の構成を簡略化して示す図である。図1の接続関係で示すように、画像処理装置1は、コーデック処理部2、コーデック制御部3、画像記憶部4、メモリ制御部5、表示処理部6、表示部7、及びバス8を備えて構成されている。画像記憶部4は、例えばDRAMによって構成されている。
図2は、コーデック処理部2が有するH.264のエンコーダの構成を簡略化して示す図である。図2の接続関係で示すように、コーデック処理部2は、SRAM11、予測誤差生成部12、DCT変換部13、量子化部14、エントロピー符号化部15、逆量子化部16、逆DCT変換部17、動き補償部18、デブロッキングフィルタ19、SRAM20、SRAM21、及び動き探索部22を備えて構成されている。動き補償部18とデブロッキングフィルタ19とによって、ローカルデコードブロック生成部25が構成される。
図3は、表示処理部6の構成を簡略化して示す図である。図3の接続関係で示すように、表示処理部6は、SRAM31及びフォーマット変換部32を備えて構成されている。本実施の形態の例において、コーデック処理部2が処理する画像データのYUVフォーマットはYUV420であり、表示部7が画像の表示に使用する画像データのYUVフォーマットはYUV422である。フォーマット変換部32は、画像記憶部4から転送されたYUV420フォーマットの画像データD20を、表示部7に適合するYUV422フォーマットの画像データD21に変換する。
以下、本実施の形態に係る画像処理装置1の動作について説明する。
図2を参照して、符号化対象である入力マクロブロックの画像データD1は、SRAM11を介して予測誤差生成部12及び動き探索部22に入力される。
また、参照画像の画像データD2が画像記憶部4から読み出されてSRAM21に格納され、SRAM21は参照画像を保持する。
図4は、SRAM21が保持する参照画像の第1の例を示す図である。SRAM21は、入力画像の水平方向画素数に相当する水平方向画素数と、垂直方向の動き探索範囲に相当する垂直方向画素数とを有する参照画像を保持する。この例では、垂直方向の動き探索範囲が、入力マクロブロックの位置を中心として±4マクロブロックの範囲に設定されている。1マクロブロックは16列×16行の画素によって構成されているため、垂直方向の動き探索範囲は16×9=144画素となる。図4の(A)に示すように、入力画像の画素数が例えば1920列×1080行である場合には、図4の(B)に示すように、SRAM21は1920列×144行の画素数を有する参照画像を保持する。
図5は、SRAM21が保持する参照画像の第2の例を示す図である。SRAM21は、入力画像の水平方向画素数及び垂直方向画素数にそれぞれ相当する水平方向画素数及び垂直方向画素数を有する参照画像を保持する。つまり、SRAM21は、入力画像の1フレーム分に相当する参照画像を保持する。図5の(A)に示すように、入力画像の画素数が例えば1920列×1080行である場合には、図5の(B)に示すように、SRAM21は1920列×1080行の画素数を有する参照画像を保持する。
図2を参照して、動き探索部22は、SRAM11から入力された画像データD1とSRAM21から入力された画像データD2とに基づいて動き探索を行うことにより、入力マクロブロックに関する予測ブロックを生成する。予測ブロックの画像データD3は、予測誤差生成部12及び動き補償部18に入力される。
予測誤差生成部12は、入力マクロブロックの画像データD1と予測ブロックの画像データD3とに基づいて予測誤差を生成し、予測誤差の画像データD4をDCT変換部13に入力する。
DCT変換部13は、画像データD4に対してDCT変換を行い、DCT変換後の画像データD5を量子化部14に入力する。
量子化部14は、画像データD5に対して量子化を行い、量子化後の画像データD6をエントロピー符号化部15及び逆量子化部16に入力する。
エントロピー符号化部15は、画像データD6に対してCABAC又はCAVLC等を用いてエントロピー符号化を行い、符号化データD7を出力する。
逆量子化部16は、画像データD6に対して逆量子化を行い、画像データD5に相当する逆量子化後の画像データD8を逆DCT変換部17に入力する。
逆DCT変換部17は、画像データD8に対して逆DCT変換を行い、予測誤差の画像データD4に相当する逆DCT変換後の画像データD9を動き補償部18に入力する。
動き補償部18は、予測ブロックの画像データD3と予測誤差の画像データD9とに基づいて、画像データD1に相当する入力マクロブロックを復元することにより、ローカルデコードブロックを生成する。ローカルデコードブロックの画像データD10は、デブロッキングフィルタ19に入力される。
デブロッキングフィルタ19は、画像データD10に対して所定のデブロッキングフィルタ処理を行い、その処理後の画像データD11をSRAM20に格納する。つまり、ローカルデコードブロック生成部25は、予測誤差(画像データD9)と予測ブロック(画像データD3)とに基づいてローカルデコードブロックを生成し、生成したローカルデコードブロックをSRAM20に格納する。
ローカルデコードブロックの画像データD11は、SRAM20から画像記憶部4に転送される。入力画像に含まれる全てのマクロブロックに関するローカルデコードブロックの画像データD11が画像記憶部4に転送されることにより、画像記憶部4はローカルデコード画像を保持する。ローカルデコード画像は、次の入力画像に対する処理において参照画像として使用される。
図6は、ローカルデコードブロック生成部25がSRAM20にローカルデコードブロックを書き込む処理を示す図である。ローカルデコードブロック生成部25は、入力画像内で行方向に並ぶ複数N個(この例ではN=4)の入力マクロブロックMB1〜MB4に対応して、4個のローカルデコードブロックLDB1〜LDB4を順に生成する。そして、当該4個のローカルデコードブロックLDB1〜LDB4を行方向に並べてSRAM20に書き込む。具体的には以下の通りである。
まず、図6の(A)に示すように、第1のマクロブロック期間においてローカルデコードブロック生成部25は、入力マクロブロックMB1に対応してローカルデコードブロックLDB1を生成する。そして、ローカルデコードブロックLDB1をSRAM20に書き込む。
次に、図6の(B)に示すように、第2のマクロブロック期間においてローカルデコードブロック生成部25は、入力マクロブロックMB1に並ぶ入力マクロブロックMB2に対応して、ローカルデコードブロックLDB2を生成する。そして、ローカルデコードブロックLDB2をローカルデコードブロックLDB1に並べてSRAM20に書き込む。
次に、図6の(C)に示すように、第3のマクロブロック期間においてローカルデコードブロック生成部25は、入力マクロブロックMB2に並ぶ入力マクロブロックMB3に対応して、ローカルデコードブロックLDB3を生成する。そして、ローカルデコードブロックLDB3をローカルデコードブロックLDB2に並べてSRAM20に書き込む。
次に、図6の(D)に示すように、第4のマクロブロック期間においてローカルデコードブロック生成部25は、入力マクロブロックMB3に並ぶ入力マクロブロックMB4に対応して、ローカルデコードブロックLDB4を生成する。そして、ローカルデコードブロックLDB4をローカルデコードブロックLDB3に並べてSRAM20に書き込む。
図7,8は、SRAM20から画像記憶部4にローカルデコードブロックを転送する処理を示す図である。SRAM20から画像記憶部4へのローカルデコードブロックの転送は、ラスタフォーマットを用いたメモリアクセスによって行われる。つまり、SRAM20が保持している4個のローカルデコードブロックLDB1〜LDB4に跨がる行単位(64列×1行)でのバースト転送を、列方向に16回繰り返すことによって、ローカルデコードブロックLDB1〜LDB4が画像記憶部4に書き込まれる。
また、画像記憶部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に順に書き込まれる。
また、本実施の形態の例では、ローカルデコード画像のYUVフォーマットはYUV420であるため、偶数行に属する画素データには輝度データのみが含まれ、奇数行に属する画素データには輝度データ及び色差データが含まれる。具体的には、偶数行に関しては1画素あたり1個の輝度データが含まれ、奇数行に関しては1画素あたり1個の輝度データと1個の色差データとが含まれる。つまり、奇数行のデータ量は偶数行のデータ量の2倍となる。従って、奇数行のデータ転送におけるバースト長を、偶数行のバースト転送におけるバースト長の2倍に設定することにより、偶数行に関しては1回のバースト転送によって1行分の輝度データが画像記憶部4に書き込まれ、奇数行に関しては1回のバースト転送によって1行分の輝度データ及び色差データが画像記憶部4に書き込まれる。なお、上記とは逆に、偶数行に属する画素データには輝度データ及び色差データが含まれ、奇数行に属する画素データには輝度データのみが含まれていてもよい。この場合には、偶数行のデータ転送におけるバースト長を、奇数行のバースト転送におけるバースト長の2倍に設定することにより、奇数行に関しては1回のバースト転送によって1行分の輝度データが画像記憶部4に書き込まれ、偶数行に関しては1回のバースト転送によって1行分の輝度データ及び色差データが画像記憶部4に書き込まれる。
なお、ローカルデコード画像のYUVフォーマットはYUV422であってもよく、この場合には偶数行と奇数行とでデータ量は等しいため、データ転送におけるバースト長は偶数行と奇数行とで共通となる。
図9は、SRAM20の構成に関する第1の例を示す図である。また図10は、図9に対応して、SRAM20に対するローカルデコードブロックの書き込み及び読み出しのタイミングを示す図である。
図9を参照して、SRAM20は、それぞれにローカルデコードブロックを1個ずつ格納可能な、合計N+1個(この例では5個)の記憶領域X1〜X5を有する。
図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に書き込まれる。
図11は、SRAM20の構成に関する第2の例を示す図である。また図12は、図11に対応して、SRAM20に対するローカルデコードブロックの書き込み及び読み出しのタイミングを示す図である。
図11を参照して、SRAM20は、それぞれにローカルデコードブロックを1個ずつ格納可能な、合計2N個(この例では8個)の記憶領域X1〜X8を有する。
図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に書き込まれる。
図13は、画像記憶部4からSRAM21に画像データを転送する処理を示す図である。画像記憶部4からSRAM21への画像データの転送は、SRAM20から画像記憶部4へのローカルデコードブロックの転送と同様に、4個のマクロブロック単位でのラスタフォーマットを用いたバースト転送によって行われる。
まず、図13の(A)に示すように、参照画像の左上角を起点として、画像記憶部4が保持している4個のローカルデコードブロックに跨がる行単位(64列×1行)でのバースト転送を、列方向に16回繰り返すことによって、4個のローカルデコードブロックがSRAM21に書き込まれる。
次に、図13の(B)及び(C)に示すように、1段目のマクロブロックライン内で同様のデータ転送を右方向に進めることによって、ローカルデコードブロックが4個ずつSRAM21に書き込まれる。
1段目のマクロブロックラインに関するデータ転送が完了すると、次に、図13の(D)に示すように、2段目のマクロブロックラインの左端から順に同様のデータ転送を右方向に進めることによって、ローカルデコードブロックが4個ずつSRAM21に書き込まれる。以降は同様のデータ転送が繰り返されることによって、画像記憶部4からSRAM21に参照画像が転送される。
図14は、画像記憶部4から表示処理部6に画像データを転送する処理を示す図である。画像記憶部4から表示処理部6への画像データの転送は、画像の左端から右端に跨がる1行単位でのラスタフォーマットを用いたデータ転送によって行われる。
まず、図14の(A)に示すように、画像の左上角を起点として、画像記憶部4が保持している4個のローカルデコードブロックに跨がる行単位でのバースト転送を行うことによって、64列×1行分の画像データが表示処理部6へ転送される。
次に、図14の(B)及び(C)に示すように、画像の1行目に関して同様のデータ転送を右方向に進めることによって、画像データが64列×1行分ずつ表示処理部6へ転送される。
1行目に関するデータ転送が完了すると、次に、図14の(D)に示すように、画像の2行目の左端から順に同様のデータ転送を右方向に進めることによって、画像データが64列×1行分ずつ表示処理部6へ転送される。以降は同様のデータ転送が繰り返されることによって、画像記憶部4から表示処理部6に1フレーム分の画像データが転送される。
このように本実施の形態に係る画像処理装置1によれば、SRAM21(参照画像保持部)は、入力画像の水平方向画素数に相当する水平方向画素数と、垂直方向の動き探索範囲以上の垂直方向画素数とを有する参照画像を保持する。従って、動き探索部22は、SRAM21が保持している参照画像に基づいて、垂直方向の探索範囲内で最適な予測ブロックを確実に(つまりキャッシュヒット率100%で)生成することができる。従って、別の領域の参照画像を画像記憶部4からSRAM21に読み出す必要がないため、画像記憶部4へのリードアクセスの発生を回避でき、その結果、処理時間の短縮及びバス帯域の削減を実現することが可能となる。
また、図5に示した例によれば、SRAM21は、入力画像の水平方向画素数及び垂直方向画素数にそれぞれ相当する水平方向画素数及び垂直方向画素数を有する参照画像を保持する。つまり、SRAM21は、1フレーム分の参照画像を保持する。従って、動き探索部22は、SRAM21が保持している1フレーム分の参照画像内で、処理対象の入力マクロブロックと最も相関性の高いマクロブロックを確実に特定できるため、高精度の予測ブロックを生成することができる。また、入力マクロブロックの垂直方向の位置に応じて参照画像を更新する必要がないため、画像記憶部4へのリードアクセスの発生を回避でき、その結果、処理時間の短縮及びバス帯域の削減を効果的に実現することが可能となる。
また、本実施の形態に係る画像処理装置1によれば、ローカルデコードブロック生成部25は、順に生成したN個のローカルデコードブロックを行方向に並べてSRAM20(ローカルデコードブロック保持部)に書き込む。また、SRAM20は、N個のローカルデコードブロックに跨がる行単位でのバースト転送によって、自身が保持しているN個のローカルデコードブロックを画像記憶部4に書き込む。つまり、SRAM20へのローカルデコードブロックの格納まではマクロブロック単位での処理を行い、SRAM20から画像記憶部4へのローカルデコードブロックの書き込みは、ラスタフォーマットを用いたメモリアクセスによって行う。このように、単純なラスタフォーマットを用いたメモリアクセスを行うことにより、ローカルデコードブロックを画像記憶部4へ簡易に書き込むことが可能となる。しかも、行方向に並ぶ複数N個のローカルデコードブロックを対象としてラスタフォーマットでのバースト転送を行うため、効率的なバースト転送を行うことが可能となる。
また、本実施の形態に係る画像処理装置1によれば、SRAM20は、保持しているN個のローカルデコードブロック内の第1の行に属する画素データを、画像記憶部4の第1のメモリバンクに書き込み、第1の行に隣接する第2の行に属する画素データを、第1のメモリバンクとは異なる第2のメモリバンクに書き込む。このように、隣接する行の画素データを異なるメモリバンクに書き込むことにより、第1の行に属する画素データの書き込みが完了すると同時に、第2の行に属する画素データの書き込みを開始することができる。その結果、同一のメモリバンクに連続してアクセスする際に必要となる待ち時間の発生を回避できるため、書き込みの所要時間を短縮することが可能となる。
また、図9,10に示した例によれば、マクロブロック期間T1〜T4において、ローカルデコードブロック生成部25は、ローカルデコードブロックLDB1〜LDB4をSRAM20に順に書き込む。そして、マクロブロック期間T5において、ローカルデコードブロック生成部25は、ローカルデコードブロックLDB5をSRAM20に書き込み、SRAM20は、ローカルデコードブロックLDB1〜LDB4を画像記憶部4に書き込む。従って、SRAM20に対するローカルデコードブロックの書き込み及び読み出しを、同時に行うことが可能となる。しかも、SRAM20に必要な記憶容量は、N+1個のローカルデコードブロックを保持できる記憶容量で足りるため、2N個のローカルデコードブロックを保持する記憶容量を必要とする図11,12に示した例と比較して、SRAM20に必要な記憶容量を削減することが可能となる。
また、本実施の形態に係る画像処理装置1によれば、画像記憶部4は、N個のローカルデコードブロックに跨がる行単位でのバースト転送によって、ローカルデコード画像内で行方向に並ぶN個のローカルデコードブロックをSRAM21に書き込む。つまり、画像記憶部4からのローカルデコード画像の読み出しは、ラスタフォーマットを用いたメモリアクセスによって行う。このように、単純なラスタフォーマットを用いたメモリアクセスを行うことにより、ローカルデコード画像を画像記憶部4から簡易に読み出すことが可能となる。しかも、行方向に並ぶ複数N個のローカルデコードブロックを対象としてラスタフォーマットでのバースト転送を行うため、効率的なバースト転送を行うことが可能となる。
また、本実施の形態に係る画像処理装置1によれば、画像記憶部4は、自身が保持しているローカルデコード画像を、行単位でのバースト転送によって表示処理部6に転送する。このように、ラスタフォーマットのローカルデコード画像を画像記憶部4に格納しておくことにより、表示部7において画像を表示するために必要なラスタフォーマットの画像データを、画像記憶部4から表示処理部6に転送することができる。従って、コーデックフォーマットのローカルデコード画像をラスタフォーマットのローカルデコード画像に変換するためのフォーマット変換部の実装を省略することができる。その結果、当該フォーマット変換部から画像記憶部4へのアクセスが不要となるため、遅延時間の短縮、消費電力の低減、及びバス帯域の削減を実現することが可能となる。また、コーデックフォーマットを用いたメモリアクセスが不要となるため、設計の簡素化を図ることが可能となる。
また、本実施の形態に係る画像処理装置1によれば、フォーマット変換部32は、画像記憶部4が保持しているローカルデコード画像のYUVフォーマット(上記の例ではYUV420)を、表示部7に適合するYUVフォーマット(上記の例ではYUV422)に変換する。従って、画像記憶部4が保持しているローカルデコード画像のYUVフォーマットが、表示部7に適合するYUVフォーマットとは異なる場合であっても、YUVフォーマットを変換することにより、表示部7において画像を表示することが可能となる。
<変形例>
上記実施の形態では、エンコーダが生成するローカルデコード画像を表示部7で表示する例について説明したが、デコーダが生成するデコード画像を表示部7で表示してもよい。
図15は、コーデック処理部2が有するH.264のデコーダの構成を簡略化して示す図である。図15の接続関係で示すように、コーデック処理部2は、エントロピー復号部45、逆量子化部46、逆DCT変換部47、動き補償部48、デブロッキングフィルタ49、SRAM50、SRAM51、及び動き探索部52を備えて構成されている。動き補償部48とデブロッキングフィルタ49とによって、デコードブロック生成部55が構成される。
復号対象である符号化データD20(図2に示した符号化データD7に相当する)は、エントロピー復号部45に入力される。
また、参照画像の画像データD24が画像記憶部4から読み出されてSRAM51に格納され、SRAM51は参照画像を保持する。SRAM51が保持する参照画像は、上記実施の形態と同様である。つまり、SRAM51は、入力画像の水平方向画素数に相当する水平方向画素数と、垂直方向の動き探索範囲以上の垂直方向画素数とを有する参照画像を保持する。
動き探索部52は、SRAM51が保持している参照画像に基づいて動き探索を行うことにより、予測ブロックを生成する。予測ブロックの画像データD25は、動き補償部48に入力される。
エントロピー復号部45は、符号化データD20に対してCABAC又はCAVLC等を用いてエントロピー復号を行い、図2に示した画像データD6に相当する画像データD21を逆量子化部46に入力する。
逆量子化部46は、画像データD21に対して逆量子化を行い、図2に示した画像データD5に相当する逆量子化後の画像データD22を逆DCT変換部47に入力する。
逆DCT変換部47は、画像データD22に対して逆DCT変換を行い、図2に示した予測誤差の画像データD4に相当する逆DCT変換後の画像データD23を動き補償部48に入力する。
動き補償部48は、予測ブロックの画像データD25と予測誤差の画像データD23とに基づいて、図2に示した画像データD1に相当する入力マクロブロックを復元することにより、デコードブロックを生成する。デコードブロックの画像データD26は、デブロッキングフィルタ49に入力される。
デブロッキングフィルタ49は、画像データD26に対して所定のデブロッキングフィルタ処理を行い、その処理後の画像データD27をSRAM50に格納する。つまり、デコードブロック生成部55は、予測誤差(画像データD23)と予測ブロック(画像データD25)とに基づいてデコードブロックを生成し、生成したデコードブロックをSRAM50に格納する。
デコードブロックの画像データD27は、SRAM50から画像記憶部4に転送される。入力画像に含まれる全てのマクロブロックに関するデコードブロックの画像データD27が画像記憶部4に転送されることにより、画像記憶部4はデコード画像を保持する。デコード画像は、次の入力画像に対する処理において参照画像として使用される。
デコードブロック生成部55がSRAM50にデコードブロックを書き込む処理は、図6に示した上記実施の形態と同様である。つまり、デコードブロック生成部55は、入力画像内で行方向に並ぶ複数N個(この例ではN=4)の入力マクロブロックMB1〜MB4に対応して、4個のデコードブロックDB1〜DB4を順に生成する。そして、当該4個のローカルデコードブロックDB1〜DB4を行方向に並べてSRAM50に書き込む。
SRAM50から画像記憶部4にデコードブロックを転送する処理は、図7,8に示した上記実施の形態と同様である。つまり、SRAM50が保持している4個のデコードブロックDB1〜DB4に跨がる行単位(64列×1行)でのバースト転送を、列方向に16回繰り返すことによって、デコードブロックDB1〜DB4が画像記憶部4に書き込まれる。また、画像記憶部4は複数(この例では8個)のメモリバンクBK1〜BK8を有しており、隣接する行の画素データは異なるメモリバンクに書き込まれる。
SRAM50の構成、及び、SRAM50に対するデコードブロックの書き込み及び読み出しのタイミングは、図9〜12に示した上記実施の形態と同様である。
図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から読み出される。
図11,12に示した例では、マクロブロック期間T1〜T4において、デコードブロックDB1〜DB4が記憶領域X1〜X4にそれぞれ書き込まれ、マクロブロック期間T5〜T8において、デコードブロックDB5〜DB8が記憶領域X5〜X8にそれぞれ書き込まれる。また、マクロブロック期間T5において、デコードブロックDB1〜DB4がラスタフォーマットのバースト転送によって記憶領域X1〜X4から読み出され、マクロブロック期間T9において、デコードブロックDB5〜DB8がラスタフォーマットのバースト転送によって記憶領域X5〜X8から読み出される。
画像記憶部4からSRAM51に画像データを転送する処理は、図13に示した上記実施の形態と同様である。つまり、画像記憶部4からSRAM51への画像データの転送は、SRAM50から画像記憶部4へのデコードブロックの転送と同様に、4個のマクロブロック単位でのラスタフォーマットを用いたバースト転送によって行われる。
画像記憶部4から表示処理部6に画像データを転送する処理は、図14に示した上記実施の形態と同様である。つまり、画像記憶部4から表示処理部6への画像データの転送は、画像の左端から右端に跨がる1行単位でのラスタフォーマットを用いたデータ転送によって行われる。
本変形例に係る画像処理装置1によれば、デコードブロック生成部55は、順に生成したN個のデコードブロックを行方向に並べてSRAM50(デコードブロック保持部)に書き込む。また、SRAM50は、N個のデコードブロックに跨がる行単位でのバースト転送によって、自身が保持しているN個のデコードブロックを画像記憶部4に書き込む。つまり、SRAM50へのデコードブロックの格納まではマクロブロック単位での処理を行い、SRAM50から画像記憶部4へのデコードブロックの書き込みは、ラスタフォーマットを用いたメモリアクセスによって行う。このように、単純なラスタフォーマットを用いたメモリアクセスを行うことにより、デコードブロックを画像記憶部4へ簡易に書き込むことが可能となる。しかも、行方向に並ぶ複数N個のデコードブロックを対象としてラスタフォーマットでのバースト転送を行うため、効率的なバースト転送を行うことが可能となる。また、画像記憶部4は、自身が保持しているデコード画像を、行単位でのバースト転送によって表示処理部6に転送する。このように、ラスタフォーマットのデコード画像を画像記憶部4に格納しておくことにより、表示部7において画像を表示するために必要なラスタフォーマットの画像データを、画像記憶部4から表示処理部6に転送することができる。従って、コーデックフォーマットのデコード画像をラスタフォーマットのデコード画像に変換するためのフォーマット変換部の実装を省略することができる。その結果、当該フォーマット変換部から画像記憶部4へのアクセスが不要となるため、遅延時間の短縮、消費電力の低減、及びバス帯域の削減を実現することが可能となる。また、コーデックフォーマットを用いたメモリアクセスが不要となるため、設計の簡素化を図ることが可能となる。
また、本変形例に係る画像処理装置1によれば、フォーマット変換部32は、画像記憶部4が保持しているデコード画像のYUVフォーマット(上記の例ではYUV420)を、表示部7に適合するYUVフォーマット(上記の例ではYUV422)に変換する。従って、画像記憶部4が保持しているデコード画像のYUVフォーマットが、表示部7に適合するYUVフォーマットとは異なる場合であっても、YUVフォーマットを変換することにより、表示部7において画像を表示することが可能となる。
また、本変形例に係る画像処理装置1によれば、SRAM50は、保持しているN個のデコードブロック内の第1の行に属する画素データを、画像記憶部4の第1のメモリバンクに書き込み、第1の行に隣接する第2の行に属する画素データを、第1のメモリバンクとは異なる第2のメモリバンクに書き込む。このように、隣接する行の画素データを異なるメモリバンクに書き込むことにより、第1の行に属する画素データの書き込みが完了すると同時に、第2の行に属する画素データの書き込みを開始することができる。その結果、同一のメモリバンクに連続してアクセスする際に必要となる待ち時間の発生を回避できるため、書き込みの所要時間を短縮することが可能となる。
また、図9,10に示した例によれば、マクロブロック期間T1〜T4において、デコードブロック生成部55は、デコードブロックDB1〜DB4をSRAM50に順に書き込む。そして、マクロブロック期間T5において、デコードブロック生成部55は、デコードブロックDB5をSRAM50に書き込み、SRAM50は、デコードブロックDB1〜DB4を画像記憶部4に書き込む。従って、SRAM50に対するデコードブロックの書き込み及び読み出しを、同時に行うことが可能となる。しかも、SRAM50に必要な記憶容量は、N+1個のデコードブロックを保持できる記憶容量で足りるため、2N個のデコードブロックを保持する記憶容量を必要とする図11,12に示した例と比較して、SRAM50に必要な記憶容量を削減することが可能となる。
また、本変形例に係る画像処理装置1によれば、画像記憶部4は、N個のデコードブロックに跨がる行単位でのバースト転送によって、デコード画像内で行方向に並ぶN個のデコードブロックをSRAM51に書き込む。つまり、画像記憶部4からのデコード画像の読み出しは、ラスタフォーマットを用いたメモリアクセスによって行う。このように、単純なラスタフォーマットを用いたメモリアクセスを行うことにより、デコード画像を画像記憶部4から簡易に読み出すことが可能となる。しかも、行方向に並ぶ複数N個のデコードブロックを対象としてラスタフォーマットでのバースト転送を行うため、効率的なバースト転送を行うことが可能となる。
1 画像処理装置
2 コーデック処理部
4 画像記憶部
6 表示処理部
7 表示部
12 予測誤差生成部
18 動き補償部
20 SRAM(ローカルデコードブロック保持部)
21 SRAM(参照画像保持部)
22 動き探索部
25 ローカルデコードブロック生成部
32 フォーマット変換部
48 動き補償部
50 SRAM(デコードブロック保持部)
51 SRAM(参照画像保持部)
52 動き探索部
55 デコードブロック生成部

Claims (10)

  1. 入力画像を符号化するコーデック処理部と、
    前記コーデック処理部がアクセス可能な画像記憶部と、
    を備え、
    前記コーデック処理部は、
    前記画像記憶部から読み出した参照画像を保持する参照画像保持部と、
    前記参照画像保持部が保持している参照画像に基づいて動き探索を行うことにより、入力画像内の処理対象ブロックに関する予測ブロックを生成する動き探索部と、
    処理対象ブロックと予測ブロックとに基づいて予測誤差を生成する予測誤差生成部と、
    予測誤差と予測ブロックとに基づいて処理対象ブロックを復元することにより、ローカルデコードブロックを生成するローカルデコードブロック生成部と、
    複数のローカルデコードブロックを保持するローカルデコードブロック保持部と、
    を有し、
    前記ローカルデコードブロック生成部は、入力画像内で行方向に並ぶN個(Nは複数)の処理対象ブロックに対応してN個のローカルデコードブロックを順に生成し、当該N個のローカルデコードブロックを行方向に並べて前記ローカルデコードブロック保持部に書き込み、
    前記ローカルデコードブロック保持部は、N個のローカルデコードブロックに跨がる行単位でのバースト転送によって、自身が保持しているN個のローカルデコードブロックを前記画像記憶部に書き込む、画像処理装置。
  2. 前記画像記憶部は複数のメモリバンクを有し、
    前記ローカルデコードブロック保持部は、
    保持しているN個のローカルデコードブロック内の第1の行に属する画素データを、前記画像記憶部の第1のメモリバンクに書き込み、
    第1の行に隣接する第2の行に属する画素データを、前記第1のメモリバンクとは異なる第2のメモリバンクに書き込む、請求項1に記載の画像処理装置。
  3. 前記ローカルデコードブロック保持部は、N+1個のローカルデコードブロックを保持し、
    第1乃至第Nのブロック期間において、前記ローカルデコードブロック生成部は、第1乃至第Nのローカルデコードブロックを前記ローカルデコードブロック保持部に順に書き込み、
    第N+1のブロック期間において、前記ローカルデコードブロック生成部は、第N+1のローカルデコードブロックを前記ローカルデコードブロック保持部に書き込み、前記ローカルデコードブロック保持部は、第1乃至第Nのローカルデコードブロックを前記画像記憶部に書き込む、請求項1又は2に記載の画像処理装置。
  4. 前記画像記憶部は、参照画像として使用されるローカルデコード画像を保持し、
    前記画像記憶部は、N個のローカルデコードブロックに跨がる行単位でのバースト転送によって、ローカルデコード画像内で行方向に並ぶN個のローカルデコードブロックを前記参照画像保持部に書き込む、請求項1〜3のいずれか一つに記載の画像処理装置。
  5. 表示部において画像を表示するための画像データを処理する表示処理部をさらに備え、
    前記画像記憶部は、自身が保持しているローカルデコード画像を、行単位でのバースト転送によって前記表示処理部に転送し、
    前記表示処理部は、前記画像記憶部から転送されたローカルデコード画像に基づいて画像を表示する、請求項4に記載の画像処理装置。
  6. 前記表示処理部は、前記画像記憶部が保持しているローカルデコード画像のYUVフォーマットを、前記表示部に適合するYUVフォーマットに変換するフォーマット変換部を有する、請求項5に記載の画像処理装置。
  7. コーデック処理部と、
    表示部において画像を表示するための画像データを処理する表示処理部と、
    前記コーデック処理部及び前記表示処理部がアクセス可能な画像記憶部と、
    を備え、
    前記コーデック処理部は、
    予測ブロックと予測誤差とに基づいて入力画像を復元することにより、デコードブロックを生成する動き補償部を有するデコードブロック生成部と、
    複数のデコードブロックを保持するデコードブロック保持部と、
    を有し、
    前記デコードブロック生成部は、入力画像内で行方向に並ぶN個(Nは複数)の処理対象ブロックに対応してN個のデコードブロックを順に生成し、当該N個のデコードブロックを行方向に並べて前記デコードブロック保持部に書き込み、
    前記デコードブロック保持部は、N個のデコードブロックに跨がる行単位でのバースト転送によって、自身が保持しているN個のデコードブロックを前記画像記憶部に書き込み、
    前記画像記憶部は、自身が保持しているデコード画像を、行単位でのバースト転送によって前記表示処理部に転送し、
    前記表示処理部は、前記画像記憶部から転送されたデコード画像に基づいて画像を表示する、画像処理装置。
  8. 前記表示処理部は、前記画像記憶部が保持しているデコード画像のYUVフォーマットを、前記表示部に適合するYUVフォーマットに変換するフォーマット変換部を有する、請求項7に記載の画像処理装置。
  9. 前記画像記憶部は複数のメモリバンクを有し、
    前記デコードブロック保持部は、
    保持しているN個のデコードブロック内の第1の行に属する画素データを、前記画像記憶部の第1のメモリバンクに書き込み、
    第1の行に隣接する第2の行に属する画素データを、前記第1のメモリバンクとは異なる第2のメモリバンクに書き込む、請求項7又は8に記載の画像処理装置。
  10. 前記デコードブロック保持部は、N+1個のデコードブロックを保持し、
    第1乃至第Nのブロック期間において、前記デコードブロック生成部は、第1乃至第Nのデコードブロックを前記デコードブロック保持部に順に書き込み、
    第N+1のブロック期間において、前記デコードブロック生成部は、第N+1のデコードブロックを前記デコードブロック保持部に書き込み、前記デコードブロック保持部は、第1乃至第Nのデコードブロックを前記画像記憶部に書き込む、請求項7〜9のいずれか一つに記載の画像処理装置
JP2013260618A 2013-12-17 2013-12-17 画像処理装置 Active JP6490896B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013260618A JP6490896B2 (ja) 2013-12-17 2013-12-17 画像処理装置
US14/572,887 US9807417B2 (en) 2013-12-17 2014-12-17 Image processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013260618A JP6490896B2 (ja) 2013-12-17 2013-12-17 画像処理装置

Publications (2)

Publication Number Publication Date
JP2015119282A JP2015119282A (ja) 2015-06-25
JP6490896B2 true JP6490896B2 (ja) 2019-03-27

Family

ID=53370080

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013260618A Active JP6490896B2 (ja) 2013-12-17 2013-12-17 画像処理装置

Country Status (2)

Country Link
US (1) US9807417B2 (ja)
JP (1) JP6490896B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7425446B2 (ja) * 2020-07-21 2024-01-31 日本電信電話株式会社 参照画像キャッシュメモリ、データ要求方法及びコンピュータプログラム
CN115190307A (zh) * 2021-04-01 2022-10-14 Oppo广东移动通信有限公司 在视频编码装置中进行图像处理的方法、装置及系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000004439A (ja) * 1998-06-17 2000-01-07 Kobe Steel Ltd 画像情報処理装置
SG111087A1 (en) * 2002-10-03 2005-05-30 St Microelectronics Asia Cache memory system
JP2005102144A (ja) * 2003-08-27 2005-04-14 Renesas Technology Corp Mpegのデータ処理装置
JP4470431B2 (ja) * 2003-10-01 2010-06-02 ソニー株式会社 データ処理装置およびその方法
US20070183508A1 (en) * 2004-08-05 2007-08-09 Shintaro Kudo Image decoding device and image encoding device
US20060140277A1 (en) * 2004-12-28 2006-06-29 Ju Chi-Cheng Method of decoding digital video and digital video decoder system thereof
US7692682B2 (en) * 2005-04-28 2010-04-06 Apple Inc. Video encoding in a video conference
US7979622B2 (en) * 2005-05-30 2011-07-12 Megachips Corporation Memory access method
JP2007006381A (ja) * 2005-06-27 2007-01-11 Toshiba Corp 画像処理装置
US8325798B1 (en) * 2005-12-15 2012-12-04 Maxim Integrated Products, Inc. Adaptive motion estimation cache organization
JP2007188400A (ja) * 2006-01-16 2007-07-26 Megachips Lsi Solutions Inc Dramへのアクセス方法
JP4757080B2 (ja) * 2006-04-03 2011-08-24 パナソニック株式会社 動き検出装置、動き検出方法、動き検出集積回路および画像符号化装置
JP4909779B2 (ja) * 2006-04-17 2012-04-04 パナソニック株式会社 画像データ転送方法、画像処理装置、及び撮像システム
JP4764807B2 (ja) * 2006-11-30 2011-09-07 富士通セミコンダクター株式会社 動きベクトル検出装置および動きベクトル検出方法
JP2009071689A (ja) * 2007-09-14 2009-04-02 Sony Corp 画像処理装置、画像処理方法および撮像装置
EP2081386A1 (en) * 2008-01-18 2009-07-22 Panasonic Corporation High precision edge prediction for intracoding
US20090245374A1 (en) * 2008-03-26 2009-10-01 Mediatek Inc. Video encoder and motion estimation method
WO2011048764A1 (ja) * 2009-10-19 2011-04-28 パナソニック株式会社 復号装置、復号方法、プログラム、及び集積回路
WO2012035728A1 (ja) * 2010-09-16 2012-03-22 パナソニック株式会社 画像復号装置、画像符号化装置、それらの方法、プログラム、集積回路およびトランスコード装置
US9122609B2 (en) * 2011-03-07 2015-09-01 Texas Instruments Incorporated Caching method and system for video coding
JP5917907B2 (ja) * 2011-12-22 2016-05-18 株式会社メガチップス 画像処理装置
JP6050583B2 (ja) * 2011-12-27 2016-12-21 株式会社メガチップス 画像処理装置及びメモリアクセス制御方法

Also Published As

Publication number Publication date
US9807417B2 (en) 2017-10-31
US20150172706A1 (en) 2015-06-18
JP2015119282A (ja) 2015-06-25

Similar Documents

Publication Publication Date Title
JP5620641B2 (ja) 適応型走査を用いる動画の符号化/復号化装置及びその方法
JP5969914B2 (ja) 動画像圧縮伸張装置
US8890881B2 (en) Mapping method and video system for mapping pixel data included in the same pixel group to the same bank of memory
US8494062B2 (en) Deblocking filtering apparatus and method for video compression using a double filter with application to macroblock adaptive frame field coding
US20170365033A1 (en) Image processing device
EP1998569A1 (en) Method for mapping image addresses in memory
JP6679290B2 (ja) 半導体装置
JP6490896B2 (ja) 画像処理装置
US20090295817A1 (en) Method for reading and writing image data in memory
KR19980081641A (ko) 동화상 복호 방법 및 동화상 복호 장치
KR101331093B1 (ko) 프레임 메모리의 단일뱅크 내 참조 영상의 픽셀 인터리빙 방법 및 장치, 이를 포함하는 영상코덱 시스템
JPH1155676A (ja) 同期型メモリを用いた動画像データ符号化装置
CN101867808B (zh) 存取图像数据的方法及其相关装置
KR20050043607A (ko) 신호처리방법 및 신호처리장치
US10085022B1 (en) Two-dimensional transformation with minimum buffering
JP6334918B2 (ja) 画像処理装置
JP4559785B2 (ja) 信号処理方法および信号処理装置
CN103702132B (zh) 滤波方法、装置及设备
US9990900B2 (en) Image processing device and method thereof
JP2009130599A (ja) 動画像復号装置
US20100254618A1 (en) Method for Accessing Image Data and Related Apparatus
JP4714531B2 (ja) ジグザグデータ発生回路
JP4460510B2 (ja) 符号化装置
JP2004120027A (ja) 画像処理装置
JP2011151655A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180829

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: 20190131

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190228

R150 Certificate of patent or registration of utility model

Ref document number: 6490896

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250