JP4515922B2 - データ保持装置、画像符号化装置および画像復号化装置 - Google Patents

データ保持装置、画像符号化装置および画像復号化装置 Download PDF

Info

Publication number
JP4515922B2
JP4515922B2 JP2005004283A JP2005004283A JP4515922B2 JP 4515922 B2 JP4515922 B2 JP 4515922B2 JP 2005004283 A JP2005004283 A JP 2005004283A JP 2005004283 A JP2005004283 A JP 2005004283A JP 4515922 B2 JP4515922 B2 JP 4515922B2
Authority
JP
Japan
Prior art keywords
macroblock
register
current
pair
adjacent
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.)
Expired - Fee Related
Application number
JP2005004283A
Other languages
English (en)
Other versions
JP2006197011A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2005004283A priority Critical patent/JP4515922B2/ja
Priority to US11/322,241 priority patent/US8009738B2/en
Publication of JP2006197011A publication Critical patent/JP2006197011A/ja
Application granted granted Critical
Publication of JP4515922B2 publication Critical patent/JP4515922B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、マクロブロックペア単位にフィールド構造とフレーム構造とを切り替え可能で、マクロブロック単位に画像を符号化又は復号化する画像符号化装置および画像復号化装置に用いられるデータ保持装置に関する。
図5は、従来技術におけるMPEG−2(非特許文献1参照)に従う画像符号化装置および画像復号化装置に備えられるデータ保持装置の構成を示すブロック図である。同図においてデータ保持装置は、レジスタ501〜503、パラメータラインメモリ504、条件判定回路505を備える。
レジスタ501は、符号化または復号化の対象となるマクロブロック(以下カレントマクロブロックと呼ぶ。)に関するパラメータ群を保持する。マクロブロックの符号化または復号化の順を図6に示す。図6のように、1画面を構成するマクロブロックは、水平方向のマクロブロックラインを左から右へ順に走査するように符号化されていく。
レジスタ502、503は、符号化または復号化済のマクロブロックに関するパラメータ群を保持する。すなわち、レジスタ502は、図7に示すようにカレントマクロブロックの左に隣接するマクロブロックに関するパラメータ群を保持する。レジスタ503は、図7に示すようにカレントマクロブロックの上に隣接するマクロブロックに関するパラメータ群を保持する。ここで、パラメータ群とは、マクロブロックの動きベクトルなどを含み、当該マクロブロックの符号化または復号化の条件を表す。
パラメータラインメモリ504は、符号化または復号化済のマクロブロックに関するパラメータ群を記憶する。具体的には、カレントマクロブロックが属するマクロブロックラインの1つ上のマクロブロックラインの各マクロブロックに関するパラメータ群を記憶する。パラメータラインメモリ504が符号化または復号化済のマクロブロックのパラメータを記憶しているのは、図8に示すように、処理済(符号化または復号化済)マクロブロックが、1マクロブロックライン下に隣接するマクロブロックがカレントマクロブロックであるときに参照されるからである。ここで、右に隣接するマクロブロックは、次に符号化または復号化されるマクロブロックである。1マクロブロックライン下に隣接するマクロブロックは、1ライン後に符号化または復号化されるマクロブロックである。
条件判定回路505は、レジスタ501〜503のパラメータに基づいてカレントマクロブロックに対する符号化または復号化条件を判定する。
図5のデータ保持回路において、カレントマクロブロックの符号化(または復号化)処理が行われる前に、直前に処理されたマクロブロックに関するパラメータ群が、左側に隣接するマクロブロックが有するパラメータ群として、レジスタ501から左側隣接マクロブロック用レジスタ502へ転送される。また、同時に、パラメータラインメモリ504に退避されていた1マクロブロックライン前に処理されたマクロブロックに関するパラメータ群は、カレントマクロブロックの上側に隣接するマクロブロックに関するパラメータ群として読み出され、レジスタ503に格納される。カレントマクロブロックにおける符号化(または復号化)処理は、これら、カレントマクロブロックに関するパラメータ群が書き込まれたレジスタ501、左側隣接マクロブロックに関するパラメータ群が書き込まれたレジスタ502、および上側隣接マクロブロックに関するパラメータ群が書き込まれたレジスタ503に基づく。条件判定回路505は、それぞれのパラメータ群を用いて符号化(または復号化)の条件を判定する。
上記したように、カレントマクロブロックにおける符号化(または復号化)の処理が完了すると、レジスタ501に書き込まれていた該カレントマクロブロックに関するパラメータ群は、右側に隣接するマクロブロックがカレントマクロブロックとなった時に、その左側隣接マクロブロックに関するパラメータ群として再び必要となる為、レジスタ502に転送される。また同時に、レジスタ501に書き込まれていた該カレントマクロブロックに関するパラメータ群が、1マクロブロックライン後、即ち下側に隣接するマクロブロックがカレントマクロブロックとなった時に、その上側隣接マクロブロックに関するパラメータ群として再び必要となる為、パラメータラインメモリ504に退避される。
上記のような一連の処理がマクロブロック毎に繰り返し実行され、画面全体の符号化(または復号化)が行われる。
INTERNATIONAL STANDARD ISO/IEC 13818-2: 2000, "Information technology-Generic coding of moving pictures and associated audio information: Video"
しかしながら、従来のデータ保持装置によれば、上下に隣接するマクロブロックペア単位にフィールド構造とフレーム構造とを切り替え可能な画像符号化処理(または画像複合化処理)には対応できない。また、従来のデータ保持装置と同様に隣接するマクロブロックと同数のレジスタを設けるとすれば、レジスタ数ひいては回路規模が増加するという問題が生じると考えられる。この問題について以下具体的に説明する。
従来の画像符号化(または画像復号化)処理においては、図6に示した通り、画面内の符号化(または復号化)処理において、マクロブロックが基本単位である。近年更なる符号化効率の向上を目指して、ISO/IECとITU-Tが共同で、次世代画像符号化方式となるMPEG4 AVCおよびITU H.264の標準化を進めている。この新しい画像符号化技術の特徴の一つに、上記したような画面内におけるマクロブロックの基本単位が、図9に示すような上下に連なる2つのマクロブロックをペアとした構造を取り得る場合がある。このようなマクロブロックペアの構造を基本単位とする符号化(または復号化)処理においては、図9に示すように、符号化(または復号化)処理が行われる順序がカレントマクロブロックペア内の上下の遷移を優先としたラスター走査となる。しかも、マクロブロックペア構造を成す場合、同一画面内において、マクロブロックペア単位でフレーム構造とフィールド構造の何れかを切り替えることが許されている。図10は、フレーム構造のマクロブロックペアとフィールド構造のマクロブロックペアとが混在する例を示す図である。図10において、縦線のみのハッチングはフィールド構造のマクロブロックペアにおける上側、即ちトップフィールドのマクロブロックを、横線のみのハッチングはフィールド構造のマクロブロックペアにおける下側、即ちボトムフィールドのマクロブロックを示す。縦線と横線の両方のハッチングはフレーム構造のマクロブロックペアを示す。
その結果、カレントマクロブロックに対してパラメータ群の参照先となる隣接関係を持ち得るマクロブロックの数が従来と比較して増加し、またその隣接関係もより複雑となっている。
図11(a)〜(h)は、カレントマクロブロックと、隣接関係を持つマクロブロックの関係を示す図である。図中の矢線は、カレントマクロブロックに対してパラメータ群の参照先となるマクロブロックを示している。図11(a)〜(d)はカレントマクロブロックの属するマクロブロックペアがフレーム構造をとる場合を、図11(e)〜(h)カレントマクロブロックの属するマクロブロックペアがフィールド構造をとる場合を示している。図11(a)、(b)のように、カレントマクロブロックの属するマクロブロックペアがフレーム構造でありかつ左側隣接マクロブロックペアもフレーム構造である場合には、左側隣接マクロブロックペア内の左に隣接するマクロブロックが参照先マクロブロックとなる。加えて、カレントマクロブロックの属するマクロブロックペアがフレーム構造でありかつ上隣のマクロブロックペアもフレーム構造である場合には、直ぐ上に隣隣接するマクロブロックが参照先マクロブロックとなる。
図11(c)のように、カレントマクロブロックの属するマクロブロックペアがフレーム構造でありかつ左隣のマクロブロックペアがフィールド構造である場合には、左隣のマクロブロックペア内の上側のマクロブロックと下側のマクロブロックとが参照先マクロブロックとなる。加えて、カレントマクロブロックがマクロブロックペア内の上側であって、そのマクロブロックペアがフレーム構造でありかつ上側隣接のマクロブロックペアがフィールド構造である場合には、上側に隣接するマクロブロックペア内の上側マクロブロックと下側マクロブロックとが参照先となる。
図11(d)のように、カレントマクロブロックの属するマクロブロックペアがフレーム構造でありかつ左隣のマクロブロックペアがフィールド構造である場合には、左隣のマクロブロックペア内の上側のマクロブロックと下側のマクロブロックとが参照先マクロブロックとなる。加えて、カレントマクロブロックがマクロブロックペア内の下側であって、そのマクロブロックペアがフレーム構造である場合には、カレントマクロブロックと同じマクロブロックペア内の上側に隣接するマクロブロックが参照先となる。
図11(e)、(f)のように、カレントマクロブロックの属するマクロブロックペアがフィールド構造でありかつ左隣のマクロブロックペアがフレーム構造である場合には、左隣のマクロブロックペア内の上側のマクロブロックと下側のマクロブロックとが参照先マクロブロックとなる。加えて、カレントマクロブロックの属するマクロブロックペアがフィールド構造でありかつ上側に隣接するマクロブロックペアがフレーム構造である場合には、上側に隣接するマクロブロックペア内の下側マクロブロックが参照先となる。
図11(g)のように、カレントマクロブロックの属するマクロブロックペアがフィールド構造でありかつ左隣のマクロブロックペアもフィールド構造である場合には、左側に隣接するマクロブロックとが参照先となる。加えて、カレントマクロブロックがマクロブロックペア内の上側であって、カレントマクロブロックが属するマクロブロックペアがフィールド構造でありかつ上側に隣接するマクロブロックペアもフィールド構造である場合には、上側に隣接するマクロブロックペア内の上側マクロブロックが参照先となる。
図11(h)のように、カレントマクロブロックの属するマクロブロックペアがフィールド構造でありかつ左隣のマクロブロックペアもフィールド構造である場合には、左側に隣接するマクロブロックとが参照先となる。加えて、カレントマクロブロックがマクロブロックペア内の下側であって、カレントマクロブロックが属するマクロブロックペアがフィールド構造でありかつ上側に隣接するマクロブロックペアもフィールド構造である場合には、上側に隣接するマクロブロックペア内の下側マクロブロックが参照先となる。
このように、従来と比較して、上記したような更なる符号化効率の向上を目指した新しい画像符号化技術においては、カレントマクロブロックと参照すべき隣接関係を持つマクロブロックの数が増加し、左側隣接マクロブロックおよび上側隣接マクロブロックにおけるパラメータ群も増加する。それゆえ、図5に示した従来のデータ保持装置では対応できない。
もし仮に、隣接関係を持つ得るマクロブロックに対応するレジスタを設けるとすれば、図12のようになると考えられる。図12に示すデータ保持装置は、レジスタ601〜607、スイッチ608、セレクタ609、条件判定回路610、メモリ611を備えるであろう。ここで、レジスタ601はカレントマクロブロック用である。レジスタ602は左側に隣接するマクロブロックペア内の下マクロブロック用である。レジスタ603は左側に隣接するマクロブロックペア内の上マクロブロック用である。レジスタ604はレジスタ603の1つ前のマクロブロック処理時の一時保存用である。605はカレントマクロブロックの上側に隣接するマクロブロック用である。606は上側に隣接するマクロブロックペア内の下側マクロブロック用である。607は上側に隣接するマクロブロックペア内の上側マクロブロック用である。このデータ保持装置の構成では、図5と比較して、レジスタ数が2個から7個(レジスタ601〜607)に増加している。このように、データ保持装置がマクロブロックペアに対応するためには、レジスタ数が大幅に増加し、回路規模が増大するという問題が生じる。
上記課題を解決するため本発明は、マクロブロックペア単位にフィールド構造とフレーム構造とを切り替え可能な画像符号化処理および画像復号化処理に用いられ、回路規模の増加を抑えたデータ保持装置、画像符号化装置および画像復号化装置を提供することを目的とする。
上記課題を解決するために、本発明のデータ保持装置は、マクロブロックペア毎にフィールド構造とフレーム構造の何れかを選択し、マクロブロック単位に画像を符号化または復号化する画像処理に用いられるデータ保持装置であって、符号化または復号化の対象となるカレントマクロブロックに関するパラメータ群を保持するカレントレジスタと、カレントマクロブロックに対して隣接関係を有するマクロブロックに関するパラメータ群を保持するためのレジスタ群とを備え、前記レジスタ群中の少なくとも1つのレジスタは、前記隣接関係を有するマクロブロックのうちの異なるマクロブロックに関するパラメータ群を順次択一的に保持する。
この構成によれば、1つのマクロブロックに関するパラメータ群に1つのレジスタを備えるのではなく、複数のマクロブロックに関する複数のパラメータ群が1つのレジスタに順次択一的に保持され、言い換えれば、少なくとも1つのレジスタは、複数のマクロブロックの複数のパラメータ群に兼用されるので、より少ないレジスタ数でデータ保持装置を構成することができ、回路規模の増大を抑制する事ができる。
ここで、前記レジスタ群中の1つのレジスタは、カレントマクロブロックがマクロブロックペア内の下側のマクロブロックである場合には、カレントマクロブロックの上側に隣接するマクロブロックに関するパラメータ群を保持し、カレントマクロブロックがマクロブロックペア内の上側のマクロブロックである場合には、カレントマクロブロックの上側に隣接するマクロブロックペア内の上側のマクロブロックに関するパラメータ群を保持するようにしてもよい。
この構成によれば、1つのレジスタに兼用されるパラメータ群は、カレントマクロブロックの上側に隣接するマクロブロックに関するパラメータ群と、カレントマクロブロックの上側に隣接するマクロブロックペア内の上側のマクロブロックに関するパラメータ群とである。ここで兼用されるパラメータ群は、カレントマクロブロックのマクロブロックペア内の位置(上側か下側か)に応じて択一的に保持することができる。
ここで、前記レジスタ群は、カレントマクロブロックの上側に隣接するマクロブロックペアにおける上側のマクロブロックに関するパラメータ群と、カレントマクロブロックの属するマクロブロックペアの上側のマクロブロックに関するパラメータ群との一方を択一的に保持する第1レジスタと、カレントマクロブロックの上側に隣接するマクロブロックペアにおける下側のマクロブロックに関するパラメータ群を保持する第2レジスタと、カレントマクロブロックの左側に隣接するマクロブロックペアにおける上側のマクロブロックに関するパラメータ群を保持する第3レジスタと、カレントマクロブロックの左側に隣接するマクロブロックペアにおける下側のマクロブロックに関するパラメータ群を保持する第4レジスタとを備え、前記第1レジスタは、カレントマクロブロックがマクロブロックペア内の下側のマクロブロックである場合には、カレントマクロブロックの上側に隣接するマクロブロックに関するパラメータ群を保持し、カレントマクロブロックがマクロブロックペア内の上側のマクロブロックである場合には、カレントマクロブロックの上側に隣接するマクロブロックペア内の上側のマクロブロックに関するパラメータ群を保持するようにしてもよい。
この構成によれば、7個のレジスタを要する図12と比較して、カレントレジスタおよび第1〜第4の5個のレジスタ数で構成することができ、回路規模の増加を抑えることができる。
ここで、前記カレントマクロブロックは、第1遷移と第2遷移とを繰り返し、第1遷移は、カレントマクロブロックがマクロブロックペアにおける上側のマクロブロックから下側のマクロブロックに遷移することであり、第2遷移は、カレントマクロブロックがマクロブロックペアにおける下側のマクロブロックから右上のマクロブロックに遷移することであり、前記データ保持装置は、さらに、少なくとも2マクロブロックライン分の符号化または復号化済のマクロブロックに関するパラメータ群を保持するパラメータメモリと、
第1遷移時に、カレントレジスタから出力されるパラメータ群を選択し、第2遷移時に、遷移後のカレントマクロブロックの上側に隣接するマクロブロックペアにおける上側のマクロブロックに関するパラメータ群をパラメータメモリから選択し、前記第1レジスタに出力する第1セレクタを備えるようにしてもよい。
この構成によれば、第1遷移時に第1レジスタにはカレントレジスタから第1セレクタを介して出力されたパラメータ群が転送されるので、カレントレジスタに保持されたパラメータ群をカレントレジスタの遷移時に再利用することができる。この再利用は、メモリを介さないので高速にパラメータ群を転送することができる。
ここで、前記データ保持装置は、さらに、第1遷移時に、第1レジスタから出力されるパラメータ群を選択し、第2遷移時に、前記カレントレジスタから出力される遷移後のカレントマクロブロックの左側に隣接するマクロブロックペアにおける上側のマクロブロックに関するパラメータ群を選択し、前記第3レジスタに出力する第2セレクタを備えるようにしてもよい。
この構成によれば、第1遷移時に第3レジスタには第1レジスタから第2セレクタを介して出力されたパラメータ群が転送されるので、第1レジスタに保持されたパラメータ群をカレントレジスタの遷移時に再利用することができる。この再利用は、メモリを介さないのでパラメータ群を高速に転送することができる。
ここで、前記カレントレジスタは、さらに、カレントマクロブロックペア内のカレントマクロブロック以外のマクロブロックに関するパラメータ群を保持し、前記データ保持装置は、さらに、少なくとも2マクロブロックライン分の符号化または復号化済のマクロブロックに関するパラメータ群を保持するパラメータラインメモリと、カレントマクロブロックペア毎に符号化または復号化処理における水平処理と垂直処理を指定するタイミング信号を生成する制御回路と、前記制御回路からのタイミング信号に応じて、カレントマクロブロックペアのパラメータ群を保持しているカレントレジスタを選択し、次いで、カレントマクロブロックペアの上に隣接するマクロブロックペアのパラメータ群をパラメータラインメモリから選択するセレクタとを備え、前記レジスタ群は、前記セレクタにより選択されたマクロブロックペアに関するパラメータ群を保持するようにしてもよい。
この構成によれば、カレントレジスタはカレントマクロブロックの属するマクロブロックペア内の2つのマクロブロックのパラメータ群を保持、つまりマクロブロックペア単位にパラメータを保持し、同様にレジスタ群もマクロブロックペア単位にパラメータを保持する。しかも、レジスタ群は、セレクタを介して、カレントマクロブロックの左隣のマクロブロックペアに関するパラメータ群と、カレントマクロブロックの上に隣接するマクロブロックペアに関するパラメータ群とを順次択一的に保持する。言い換えれば、レジスタ群は、左に隣接するマクロブロックペア用と、上に隣接するマクロブロックペア用とで時系列的に兼用することができる。
ここで、前記レジスタ群は、前記セレクタにより選択されたマクロブロックペアに関するパラメータ群のうち、上側のマクロブロックに関するパラメータ群を保持する第1レジスタと、前記セレクタにより選択されたマクロブロックペアに関するパラメータ群のうち、下側のマクロブロックに関するパラメータ群を保持する第2レジスタとを備えるようにしてもよい。
この構成によれば、第1レジスタは、左に隣接するマクロブロックペアにおける上側マクロブロック用と、上に隣接するマクロブロックペアにおける上側マクロブロック用とで時系列的に兼用することができる。また、第2レジスタは、左に隣接するマクロブロックペアにおける下側マクロブロック用と、上に隣接するマクロブロックペアにおける下側マクロブロック用とで時系列的に兼用することができる。
ここで、前記パラメータ群は、マクロブロックペア内の2つのマクロブロックに共通のパラメータと個別のパラメータとを含み、前記カレントレジスタは、共通のパラメータを保持する共通用レジスタと、個別のパラメータを保持する個別用レジスタとを有し、前記データ保持装置は、さらに、共通用レジスタへのデータ入力を、第1遷移時にオフし、第2遷移時にオンするスイッチを備えるようにしてもよい。
この構成によれば、個別のパラメータはマクロブロック単位に更新され、共通のパラメータはマクロブロックペア単位に更新されるので、データ転送の無駄を削減することができる。しかも、共通のパラメータに誤って上書きすることを防止することができる。
また、本発明の画像符号化装置および画像復号化装置についても上記と同様の手段を有するので、省略する。
本発明のデータ保持装置によれば、少なくとも1つのレジスタが、複数のマクロブロックの複数のパラメータ群に兼用されるので、より少ないレジスタ数でデータ保持装置を構成することができ、回路規模の増大を抑制する事ができる。
また、レジスタデータの再利用によって、メモリを介さないのでパラメータ群を高速に転送することができる。
さらに、マクロブロックペア内で共通のパラメータについてもデータ転送の無駄を削減し、高速化することができる。
(実施の形態1)
図1は本発明の実施の形態1に係るデータ保持制御回路を説明した図である。同図のデータ保持制御回路は、カレントマクロブロック用レジスタ101と、左側隣接マクロブロックペアにおける上側マクロブロック用レジスタ103と、左側隣接マクロブロックペアにおける下側マクロブロック用レジスタ102と、パラメータラインメモリ110と、上側隣接マクロブロックペアにおける上側マクロブロック用レジスタ104と、上側隣接マクロブロックペアにおける下側マクロブロック用レジスタ105と、分配器120と、セレクタ130と、セレクタ131と、条件判定回路140とを備える。各機能について説明する。
カレントマクロブロック用レジスタ101は、カレントマクロブロックに関する符号化(または復号化)パラメータ群を格納する。ここで、パラメータ群とは、当該マクロブロックの符号化または復号化の条件を表し、例えばマクロブロックの動きベクトル、デブロックフィルタの境界強度(Boundary Strength)、フレーム構造/フィールド構造、参照ピクチャを示す参照インデックス、ピクチャ符号化タイプを示すイントラ/インター、量子化パラメータQP、量子化処理のインデックスα、βなどを含む。
左側隣接マクロブロックペアにおける上側マクロブロック用レジスタ103は、前記カレントマクロブロック用レジスタ101に格納されたパラメータ群を左側隣接マクロブロックペアの上側に位置するマクロブロックのパラメータ群として再利用する為に一時的に保持する。
左側隣接マクロブロックペアにおける下側マクロブロック用レジスタ102は、同じく前記カレントマクロブロック用レジスタ101に格納されたパラメータ群を左側隣接マクロブロックペアの下側に位置するマクロブロックのパラメータ群として再利用する為に一時的に保持する。
パラメータラインメモリ110は、前記カレントマクロブロック用レジスタ101に格納されたパラメータ群を上側隣接マクロブロックペアのパラメータ群として再利用する為に一時的に記憶する。
上側隣接マクロブロックペアにおける上側マクロブロック用レジスタ104は、前記パラメータラインメモリ110に格納されたパラメータ群を上側隣接マクロブロックペアの上側に位置するマクロブロックのパラメータ群として再利用する為に一時的に格納するか、またはカレントマクロブロック用レジスタ101に格納されたパラメータ群を前記カレントマクロブロックペアにおける上側マクロブロックのパラメータ群として再利用する為に一時的に保持する。
上側隣接マクロブロックペアにおける下側マクロブロック用レジスタ105は、同じく前記パラメータラインメモリに格納されたパラメータ群を上側隣接マクロブロックペアの下側に位置するマクロブロックのパラメータ群として再利用する為に一時的に保持する。
分配器120は、前記カレントマクロブロック用レジスタ101に格納されたパラメータ群を左側隣接マクロブロックペアの上側または下側の左側隣接マクロブロックペア用レジスタ102または103に出力する。また、分配器120は、マクロブロックペア単位ではなくマクロブロック単位で符号化(または復号化)がなされる場合には、常にセレクタ130側に出力する。
セレクタ130は、前記左側隣接マクロブロックペアにおける上側マクロブロック用レジスタ103に、前記分配器120によって左側隣接マクロブロックペアの上側マクロブロックに関する情報として分配されたパラメータ群か、上側隣接マクロブロックペアにおける上側マクロブロック用レジスタ104に格納されたパラメータ群の何れかを選択する。
セレクタ131は、前記上側マクロブロック用レジスタに、パラメータラインメモリより読み出されたパラメータ群か、またはカレントマクロブロック用レジスタに格納されたパラメータ群の何れかを選択する。
条件判定回路140は、カレントマクロブロック用レジスタ101と、左側隣接マクロブロックペアにおける上側マクロブロック用レジスタ103と、左側隣接マクロブロックペアにおける下側マクロブロック用レジスタ102と、上側隣接マクロブロックペアにおける上側マクロブロック用レジスタ104と、上側隣接マクロブロックペアにおける下側マクロブロック用レジスタ105とからカレントマクロブロックにおける符号化(または復号化)処理に関する条件判定を行う。
カレントマクロブロック用レジスタに設定された符号化(または復号化)に関するパラメータ群と、左側隣接マクロブロック用レジスタに格納されたパラメータ群と、上側隣接マクロブロック用レジスタに格納されたパラメータ群とから、カレントマクロブロックにおける画像符号化(または復号化)処理の為に必要な条件判定が行われる。また、カレントマクロブロックにおける画像符号化(または復号化)処理に必要な条件判定が完了した後、カレントマクロブロック用レジスタに格納されているパラメータ群を、その後のマクロブロックがカレントマクロブロックとなった場合に、再び隣接マクロブロックのパラメータ群として利用する為に、左側に隣接するマクロブロックのパラメータとして、カレントマクロブロックの条件判定が完了した直後に退避される経路と、上側に隣接するマクロブロックのパラメータとして、一旦パラメータラインメモリに格納した後、長くとも2マクロブロックライン後にこのパラメータラインメモリより読み出して、上側隣接マクロブロック用レジスタに転送する経路とを含む回路の構成を示している。
このような回路構成において、図8に示すような、マクロブロックペアではなくマクロブロック単位でのマクロブロックに対する処理が完了した時、カレントマクロブロックに関する符号化(または復号化)パラメータ群は、その右側に位置するマクロブロック、またはその下側に位置するマクロブロックがカレントマクロブロックとなった時に、それぞれ左側隣接マクロブロック、または上側隣接マクロブロックとして再度必要となる。また、画像符号化(または復号化)の処理は一般的に図7または図6に示すように、左から右へ、そして上から下へと、ラスター走査の順序に従って行われる。そのため、左側に隣接するマクロブロックに関するパラメータとしては、カレントマクロブロックとしての処理が完了した直後に再度利用可能な状態にある必要がある。一方、上側に隣接するマクロブロックに関するパラメータとしては、カレントマクロブロックとしての処理が完了した後、短くとも1マクロブロックライン後まで再度利用される事がない為、この期間、パラメータラインメモリ110に一旦退避される。
例えばH.264/MPEG−4 AVCにおいては、図9に示すような上下に連なったマクロブロックがペアとなり、このマクロブロックペアを基本単位として符号化(または復号化)することも可能となっている。また、図10に示すように同一画面内において、フレーム構造のマクロブロックと、フィールド構造のマクロブロックとが、マクロブロックペア毎に入れ替わる事も可能であり、従って、カレントマクロブロックに対して隣接関係を成すマクロブロックは図11に示す通りとなる。
これに対応するため、条件判定回路140では、画像符号化(または復号化)の為の条件判定のみならず、カレントマクロブロックペアと隣接するマクロブロックペアとの構造上の関係や、カレントマクロブロックペア内におけるカレントマクロブロックの位置によって、隣接するマクロブロックの位置関係を判定する役割も果たす。
このようにしてカレントマクロブロックと隣接マクロブロックとの構造や位置の関係によって、カレントマクロブロック用レジスタに格納されていた画像符号化(または復号化)に関するパラメータ群を退避、格納するに当たっては、左側に隣接マクロブロック用レジスタ、並びに上側に隣接するマクロブロック用レジスタ、それぞれ2つ備えられているレジスタの内、その何れかを分配器120、セレクタ130、131によって切換えられるようになっている。
例えば、今、カレントマクロブロックがカレントマクロブロックペアの上側に位置する場合、このカレントマクロブロックに関する符号化(または復号化)の処理が完了した後、カレントマクロブロック用レジスタに格納されたパラメータ群が再び左側隣接マクロブロックのパラメータ群として用いられるまでには、図9の動作を考慮すると、2マクロブロック後となる為、一度上側隣接マクロブロックペアの上側マクロブロック用レジスタ104に格納される。この為、セレクタ131によって、予めレジスタ104にパラメータが書き込まれるように条件判定回路140より切換え信号が出力される。また、この動作によって必然的にカレントマクロブロックのパラメータ群が再び上側隣接マクロブロックのパラメータ群として用いられるのは、図9の動作を考慮すると、直後のマクロブロックとなる為、先程のレジスタ104に退避されたパラメータをそのまま利用する事ができる。
このように、カレントマクロブロックがカレントマクロブロックペアの上側に位置する場合、上側隣接マクロブロックペアの上側マクロブロック用レジスタ104にカレントマクロブロックのパラメータ群を保持させる事を可能としている理由には、図9の動作を考慮すると、次のマクロブロックの位置がカレントマクロブロックペア内の下側となるとなる為、図11から明らかなように、カレントマクロブロックがカレントマクロブロックペアの下側に位置する場合には、上側に隣接するマクロブロックペアの上側マクロブロックが持つパラメータを用いる事がない事にある。一方、カレントマクロブロックのパラメータ群が再び上側隣接マクロブロックペアの上側マクロブロックに関するパラメータ群として用いられるまでには、図9の動作を考慮すると、短くとも1マクロブロックペアライン後となる為、一度パラメータラインメモリ110に退避される。
続いて、カレントマクロブロックがカレントマクロブロックペアの下側に位置する場合、このカレントマクロブロックに関する符号化(または復号化)の処理が完了した後、カレントマクロブロック用レジスタに格納されたパラメータ群が再び左側隣接マクロブロックのパラメータ群として用いられるまでには、図9の動作を考慮すると、2マクロブロック後となる為、左側隣接マクロブロックペアの下側マクロブロック用レジスタ102に直接格納される。このように、先程のような上側隣接マクロブロックペアの上側マクロブロック用レジスタ104にカレントマクロブロックのパラメータ群を退避させる必要がない理由には、図9に示すように、次にカレントマクロブロックとなるマクロブロックは右側に隣接するマクロブロックペアの上側マクロブロックである為、カレントマクロブロックに関するパラメータ群が直ちに左側に隣接するマクロブロックペアの下側マクロブロックのパラメータ群として必要となる事が挙げられる。一方、カレントマクロブロックのパラメータ群が再び上側隣接マクロブロックペアの下側マクロブロックに関するパラメータ群として用いられるまでには、図9の動作を考慮すると、短くとも1マクロブロックペアライン後となる為、一度パラメータラインメモリ110に退避される。
このように左側に隣接するマクロブロックのパラメータとしては、長くとも2マクロブロック後には必要とされる為、隣接マクロブロック用レジスタへ直ちに退避されるが、上側に隣接するマクロブロックのパラメータとしては、短くとも1マクロブロックライン後に必要とされる為、一旦パラメータラインメモリ110に退避させた後、再びこの退避されたパラメータ群が上側に隣接するマクロブロックペアのパラメータとして必要となった時に、先程のパラメータラインメモリ110より上側に隣接するマクロブロックペアの上側、または下側のマクロブロック用レジスタ104、105に転送される。
今、カレントマクロブロックがカレントマクロブロックペアの上側に位置する場合、その直前にパラメータラインメモリ110より読み出された上側隣接マクロブロックペアに関するパラメータの内、上側のマクロブロックに関するパラメータ群がレジスタ104に格納されるよう、条件判定回路140によりセレクタ131に対して切換え信号が出力される。一方、下側のマクロブロックに関するパラメータ群は、そのままレジスタ105に格納される。
続いて、カレントマクロブロックがカレントマクロブロックペアの下側に位置する場合、上側に隣接するマクロブロックペアの上側マクロブロック用レジスタ104に格納されていたパラメータ群は、既に説明したように、今後必要とされる事がない為、上側に隣接するマクロブロックペアの上側マクロブロック用レジスタ104には、カレントマクロブロック用レジスタに格納されていたパラメータ群が格納される。一方、上側に隣接するマクロブロックペアの下側マクロブロック用レジスタ105には、前回、カレントマクロブロックがカレントマクロブロックペアの上側に位置している時に既にパラメータ群が格納されている為、同じパラメータがパラメータラインメモリ110より転送されてきてもよいし、また特にパラメータを更新する必要もない。
このようにして、順次マクロブロックの位置が変化する度に上記した動作を繰り返し行う。
以上説明してきたように、7個のレジスタを要する図12と比較して、本実施の形態におけるデータ保持回路では、カレントマクロブロック用のレジスタ101およびレジスタ102〜105の5個のレジスタ数で構成することができ、回路規模の増加を抑えることができる。
(実施の形態2)
図2は本発明の実施の形態2に係るデータ保持制御装置を説明した図である。同図のデータ保持制御装置は、カレント上側レジスタA01、カレント下側レジスタA02、隣接下側レジスタA03、隣接上側レジスタA04、パラメータラインメモリA10、セレクタA31〜A34、条件判定回路A40、垂直・水平処理切換部A50を備える。
カレント上側レジスタA01は、カレントマクロブロックの属するマクロブロックペア(以下カレントマクロブロックペアと呼ぶ。)における上側のマクロブロックに関するパラメータ群を保持する。
カレント下側レジスタA02は、カレントマクロブロックペアにおける下側のマクロブロックに関するパラメータ群を保持する。
隣接下側レジスタA03は、セレクタA31により選択されたマクロブロックペアに関するパラメータ群のうち、上側のマクロブロックに関するパラメータ群を保持する。
隣接上側レジスタA04は、セレクタA32により選択されたマクロブロックペアに関するパラメータ群のうち、下側のマクロブロックに関するパラメータ群を保持する。
パラメータラインメモリA10は、少なくとも2マクロブロックライン分の符号化または復号化済のマクロブロックに関するパラメータ群を一時的に記憶する。
セレクタA31は、垂直・水平処理切換部A50から出力される垂直処理/水平処理信号が水平処理から垂直処理に切り換わったとき(つまりカレントマクロブロックペアが切り替わったとき)、直前のカレントマクロブロックペアにおける下側マクロブロックに関するパラメータ群を保持しているカレント下側レジスタA02の出力を選択し、隣接下側レジスタA03に出力し、次いで、垂直処理/水平処理信号が垂直処理から水平処理に切り換わったとき、カレントマクロブロックペアに隣接するマクロブロックペアにおける下側マクロブロックに関するのパラメータ群をパラメータラインメモリA10から選択し、隣接下側レジスタA03に出力する。
セレクタA32は、垂直・水平処理切換部A50から出力される垂直処理/水平処理信号が水平処理から垂直処理に切り換わったとき、直前のカレントマクロブロックペアにおける上側マクロブロックに関するパラメータ群を保持しているカレント上側レジスタA01の出力を選択し、隣接上側レジスタA04に出力し、次いで、垂直処理/水平処理信号が垂直処理から水平処理に切り換わったとき、カレントマクロブロックペアに隣接するマクロブロックペアにおける下側マクロブロックに関するのパラメータ群をパラメータラインメモリから選択し、隣接上側レジスタA04に出力する。
条件判定回路A40は、カレント上側レジスタA01、カレント下側レジスタA02、セレクタA33、A34からの出力される各パラメータ群に基づいて、カレントマクロブロックpに対する符号化処理(または復号化処理)の条件を判定する。
セレクタA41は、条件判定回路A40による条件判定の結果に応じて、カレント上側レジスタA01の出力と、隣接下側レジスタA03の出力とのうち一方を選択し、条件判定回路A40に出力する。
セレクタA42は、条件判定回路A40による条件判定の結果に応じて、隣接下側レジスタA03の出力と隣接上側レジスタA04の出力とのうち一方を選択し、条件判定回路A40に出力する。
垂直・水平処理切換部A50は、カレントマクロブロックペア毎に符号化または復号化処理における水平処理と垂直処理のタイミングを指定する垂直処理/水平処理信号を生成する。
図3は、図2に示した上記レジスタA01〜A04とマクロブロックとの対応関係を時系列的に示す説明図である。同図において、第1に、直前のカレントマクロブロックペアの処理完了直後には、カレントマクロブロックペアの上側マクロブロックおよび下側マクロブロックに関するパラメータ群がカレント上側レジスタA01およびカレント下側レジスタA02に保持されている。
第2に、カレントマクロブロックペアが右に隣接するマクロブロックペアに遷移すると、垂直・水平処理切換部A50から出力される垂直処理/水平処理信号が水平処理から垂直処理に切り換わる。これにより、カレント上側レジスタA01及びカレント下側レジスタA02に保持された各パラメータ群は、セレクタA32およびA31を介して隣接上側レジスタA04および隣接下側レジスタA03に転送される。この状態で条件判定回路A40は、例えば、垂直境界処理のための条件判定を行う。この条件判定に従って画像符号化(又は復号化処理)では垂直境界処理がなされる。
第3に、垂直・水平処理切換部A50から出力される垂直処理/水平処理信号が垂直処理から水平処理に切り換わると、隣接上側レジスタA04および隣接下側レジスタA03の各パラメータ群はパラメータラインメモリA10に退避される。さらに、パラメータラインメモリA10から、カレントマクロブロックペアの上に隣接するマクロブロックペアにおける上側マクロブロックおよび下側マクロブロックに関するパラメータ群が隣接上側レジスタA04および隣接下側レジスタA03に転送される。この状態で条件判定回路A40は、水平境界処理のための条件判定を行う。この条件判定に従って画像符号化(又は復号化処理)では垂直境界処理がなされる。
これにより第4に、カレントマクロブロックペアの処理完了直後の状態になり、これ以降、マクロブロックペア単位に上記を繰り返す。
以上説明してきたように、本実施の形態におけるデータ保持制御装置によれば、レジスタA01およびA02はカレントマクロブロックの属するマクロブロックペア内の2つのマクロブロックのパラメータ群を保持、つまりマクロブロックペア単位にパラメータを保持し、同様に隣接マクロブロックペア用のレジスタA04およびA03もマクロブロックペア単位にパラメータを保持する。しかも、レジスタA04およびA03は、セレクタA32およびA31を介して、カレントマクロブロックの左隣のマクロブロックペアに関するパラメータ群と、カレントマクロブロックの上に隣接するマクロブロックペアに関するパラメータ群とを順次択一的に保持する。言い換えれば、レジスタ群は、左に隣接するマクロブロックペア用と、上に隣接するマクロブロックペア用とで時系列的に兼用することができる。
レジスタA04は、左に隣接するマクロブロックペアにおける上側マクロブロック用と、上に隣接するマクロブロックペアにおける上側マクロブロック用とで時系列的に兼用することができる。また、レジスタA03は、左に隣接するマクロブロックペアにおける下側マクロブロック用と、上に隣接するマクロブロックペアにおける下側マクロブロック用とで時系列的に兼用することができる。
このようにして、順次マクロブロックの位置が変化する度に上記した動作を繰り返し行う。
また、このような符号化(または復号化)処理を時系列的に分割し、左側に隣接するマクロブロックに関するパラメータ群と上側に隣接するマクロブロックに関するパラメータ群とを格納する隣接マクロブロック用レジスタの共用は、実施の形態1において説明したような、マクロブロックペアに対してもマクロブロックペア用のレジスタを備えるだけで適用可能となる。
(実施の形態3)
図4は本発明の実施の形態3に係るデータ保持制御装置を説明した図である。このデータ保持制御回路は、マクロブロックペア内のマクロブロックに個別のパラメータ群が格納されるカレントマクロブロック用レジスタ901と、マクロブロックペア内のマクロブロックに共通のパラメータ群が格納されるカレントマクロブロック用レジスタ902と、スイッチ950と、左側隣接マクロブロックペアにおける上側マクロブロック用レジスタ904と、左側隣接マクロブロックペアにおける下側マクロブロック用レジスタ903と、パラメータラインメモリ910と、上側隣接マクロブロックペアにおける上側マクロブロック用レジスタ905と、上側隣接マクロブロックペアにおける下側マクロブロック用レジスタ906と、スイッチ951と、分配器920と、セレクタ930と、セレクタ931と条件判定回路940とを備える。各機能について説明する。
カレントマクロブロック用レジスタ901は、カレントマクロブロックに関する符号化(または復号化)パラメータ群の内、マクロブロックペア内のマクロブロックに個別のパラメータ群を保持する。
共通用カレントマクロブロック用レジスタ902は、カレントマクロブロックに関する符号化(または復号化)パラメータ群の内、マクロブロックペア内のマクロブロックに共通のパラメータ群を保持する。
スイッチ950は、前記マクロブロックペア毎に変化するパラメータ群が格納されるカレントマクロブロック用レジスタ902に対して、誤ったパラメータ群による上書きを防ぐ事を目的とした、マクロブロックペアの遷移タイミングのみに書込みを可能とする。
左側隣接マクロブロックペアにおける上側マクロブロック用レジスタ904は、カレントマクロブロック用レジスタに格納されたパラメータ群を左側隣接マクロブロックペアの上側に位置するマクロブロックのパラメータ群として再利用する為に一時的に保持する。
左側隣接マクロブロックペアにおける下側マクロブロック用レジスタ903は、同じく前記カレントマクロブロック用レジスタに格納されたパラメータ群を左側隣接マクロブロックペアの下側に位置するマクロブロックのパラメータ群として再利用する為に一時的に保持する。
パラメータラインメモリ910は、前記カレントマクロブロック用レジスタに格納されたパラメータ群を上側隣接マクロブロックペアのパラメータ群として再利用する為に一時的に記憶する。
上側隣接マクロブロックペアにおける上側マクロブロック用レジスタ905は、パラメータラインメモリに格納されたパラメータ群を上側隣接マクロブロックペアの上側に位置するマクロブロックのパラメータ群として再利用する為に一時的に格納するか、またはカレントマクロブロック用レジスタ901および902に格納されたパラメータ群を前記カレントマクロブロックペアにおける上側マクロブロックのパラメータ群として再利用する為に一時的に保持する。
上側隣接マクロブロックペアにおける下側マクロブロック用レジスタ906は、同じく前記パラメータラインメモリに格納されたパラメータ群を上側隣接マクロブロックペアの下側に位置するマクロブロックのパラメータ群として再利用する為に一時的に保持する。
スイッチ951は、上側隣接マクロブロックペアの下側に位置するマクロブロックのパラメータ群はマクロブロックペア毎に変化するパラメータ群が書き込まれる為、該パラメータ群が書き込まれるレジスタに対して、誤ったパラメータ群による上書きを防ぐ事を目的とした、マクロブロックペアの遷移タイミングのみに書込みを可能とする。
分配器920は、カレントマクロブロック用レジスタに格納されたパラメータ群を左側隣接マクロブロックペアの上側か、または下側、何れかの左側隣接マクロブロックペア用レジスタ904または903に出力する。
セレクタ930は、左側隣接マクロブロックペアにおける上側マクロブロック用レジスタ904に、前記分配器によって左側隣接マクロブロックペアの上側マクロブロックの情報として分配されたパラメータ群か、または上側隣接マクロブロックペアにおける上側マクロブロック用レジスタ905に格納されたパラメータ群の何れかを出力する。
セレクタ931は、上側マクロブロック用レジスタ905に、パラメータラインメモリ910より読み出されたパラメータ群か、またはカレントマクロブロック用レジスタ901および902に格納されたパラメータ群の何れかを出力する。
条件判定回路940は、カレントマクロブロック用レジスタ901および902と、左側隣接マクロブロックペアにおける上側マクロブロック用レジスタ904と、左側隣接マクロブロックペアにおける下側マクロブロック用レジスタ903と、上側隣接マクロブロックペアにおける上側マクロブロック用レジスタ905と、上側隣接マクロブロックペアにおける下側マクロブロック用レジスタ904とからカレントマクロブロックにおける符号化(または復号化)処理に関する条件判定を行う。
図4は、既に説明した実施の形態1の構成に加えて、カレントマクロブロックに関する符号化(または復号化)パラメータ群の内、マクロブロックペア毎に与えられるパラメータを格納するレジスタ902、並びにカレントマクロブロックペアが遷移しないタイミングにおいて、前記マクロブロックペア毎に与えられるパラメータを格納するレジスタ902に対してパラメータの更新を防ぐスイッチ950、更に上側に隣接するマクロブロックペアの内、下側のマクロブロック用レジスタに対してマクロブロックペアが遷移しないタイミングにおけるパラメータの更新を防ぐスイッチ951を含む回路の構成を示している。
このような回路構成において、条件判定回路940では、既に実施の形態1で説明したように、画像符号化(または復号化)の為の条件判定だけではなく、カレントマクロブロックペアと隣接するマクロブロックペアとの構造上の関係や、カレントマクロブロックペア内におけるカレントマクロブロックの位置によって、隣接するマクロブロックの位置関係を判定し、カレントマクロブロックと隣接マクロブロックとの構造や位置の関係によって、カレントマクロブロック用レジスタに格納されていた画像符号化(または復号化)に関するパラメータ群は、左側に隣接するマクロブロック用レジスタ、並びに上側に隣接するマクロブロック用レジスタ、それぞれ2つ備えられているレジスタの内の何れかに退避、格納されるよう、分配器920、セレクタ930、931によって切換えられる。また同時に、マクロブロックペア毎に与えられるパラメータに関しては、カレントマクロブロックペアが遷移するタイミング、即ち、カレントマクロブロックがカレントマクロブロックペア内の上側に位置している場合にのみパラメータが格納されるよう、条件判定回路940より出力される制御信号によって、スイッチ950、および951がON状態となる。
例えば、今、カレントマクロブロックがカレントマクロブロックペアの上側に位置する場合、このカレントマクロブロックに関する符号化(または復号化)の処理が完了した後、カレントマクロブロック用レジスタに格納されたパラメータ群が再び左側に隣接するマクロブロックのパラメータ群として用いられるまでには、図9の動作を考慮すると、2マクロブロック後となる為、一度、上側に隣接するマクロブロックペアの上側マクロブロック用レジスタ904に退避、格納される。この為、セレクタ931によって、予めレジスタ904にパラメータが書き込まれるように条件判定回路940より切換え信号が出力される。また、この動作によって必然的にカレントマクロブロックのパラメータ群が再び上側隣接マクロブロックのパラメータとして用いられるのは、図9の動作を考慮すると、直後のマクロブロックとなる為、先程のレジスタ904に退避されたパラメータをそのまま利用する事ができる。このように、上側に隣接するマクロブロックペアの上側マクロブロック用レジスタにカレントマクロブロックのパラメータ群を退避させる事を可能としている理由には、図9の動作を考慮すると、次のマクロブロックの位置がカレントマクロブロックペア内の下側となるとなる為、図11から明らかなように、カレントマクロブロックがカレントマクロブロックペアの下側に位置する場合には、上側に隣接するマクロブロックペアの上側マクロブロックが持つパラメータを用いる事がない事にある。一方、カレントマクロブロックのパラメータ群が再び上側に隣接するマクロブロックペアの上側マクロブロックに関するパラメータ群として用いられるまでには、図9の動作を考慮すると、短くとも1マクロブロックペアライン後となる為、一旦パラメータラインメモリ910に退避される。
続いて、カレントマクロブロックがカレントマクロブロックペアの下側に位置する場合、このカレントマクロブロックに関する符号化(または復号化)の処理を完了した後、カレントマクロブロック用レジスタに格納されたパラメータ群が再び左側に隣接するマクロブロックのパラメータ群として用いられるまでには、図9の動作を考慮すると、2マクロブロック後となる為、左側に隣接するマクロブロックペアの下側マクロブロック用レジスタ902に直接格納される。このように、先程のような上側に隣接するマクロブロックペアの上側マクロブロック用レジスタにカレントマクロブロックのパラメータ群を退避させる必要がない理由には、図9に示すように、次にカレントマクロブロックとなるマクロブロックは、右側に隣接するマクロブロックペアの上側マクロブロックとなる為、カレントマクロブロックに関するパラメータ群が直ちに左側に隣接するマクロブロックペアの下側マクロブロックのパラメータ群として必要となる事が挙げられる。一方、カレントマクロブロックのパラメータ群が再び上側に隣接するマクロブロックペアの下側マクロブロックに関するパラメータ群として用いられるまでには、図9の動作を考慮すると、1マクロブロックペアライン後となる為、一旦パラメータラインメモリ910に退避される。
このように左側に隣接するマクロブロックのパラメータとしては、長くとも2マクロブロック後には必要とされる為、隣接マクロブロック用レジスタへ直ちに退避されるが、上側に隣接するマクロブロックのパラメータとしては、短くとも1マクロブロックライン後に必要とされる為、一旦パラメータラインメモリ910に退避させた後、再びこの退避されたパラメータ群が上側に隣接するマクロブロックペアのパラメータとして必要となった時に、先程のパラメータラインメモリ910より上側に隣接するマクロブロックペアの上側、または下側のマクロブロック用レジスタ904、905に転送される。
今、カレントマクロブロックがカレントマクロブロックペアの上側に位置する場合、その直前にパラメータラインメモリ910より読み出された上側隣接マクロブロックペアに関するパラメータの内、上側のマクロブロックに関するパラメータ群がレジスタ109に格納されるよう、条件判定回路940によりセレクタ931に対して切換え信号が出力される。一方、下側のマクロブロックに関するパラメータ群もレジスタ105に格納されるよう、同じく条件判定回路940によりスイッチ951に対してON信号が出力される。
続いて、カレントマクロブロックがカレントマクロブロックペアの下側に位置する場合、上側に隣接するマクロブロックペアの上側マクロブロック用レジスタ904に格納されていたパラメータ群は、既に説明したように、今後必要とされる事がない為、上側に隣接するマクロブロックペアの上側マクロブロック用レジスタ904には、カレントマクロブロック用レジスタ901に格納されていたパラメータ群が退避、格納される。一方、上側に隣接するマクロブロックペアの下側マクロブロック用レジスタ905には、前回、カレントマクロブロックがカレントマクロブロックペアの上側に位置している時、既に必要とされるパラメータ群が格納されている為、誤ったパラメータがパラメータラインメモリより転送され、上書きされないよう、条件判定回路940によりスイッチ951に対してOFF信号が出力される。
以上説明してきたように本実施の形態におけるデータ保持装置によれば、個別のパラメータはマクロブロック単位に更新され、共通のパラメータはマクロブロックペア単位に更新されるので、データ転送の無駄を削減することができる。しかも、共通のパラメータに誤って上書きすることを防止することができることから、上位層(例えばCPUやDSP)において共通パラメータの有無を判断することなくレジスタへ設定できるため、プログラムのステップ数を削減することができる。
本発明は、画像を符号化又は復号化するする符号化装置、復号化装置およびそれらに備えられるデータ保持制御装置に適しており、動画配信するウェブサーバー、それを受信するネットワーク端末、動画の記録再生可能なデジタルカメラ、カメラ付き携帯電話機、DVD録画/再生機、デジタルTV、PDA、パーソナルコンピュータ等に適している。
実施の形態1におけるデータ保持制御装置の構成 実施の形態2におけるデータ保持制御装置の構成 パラメータ群の転送順を示す説明図 実施の形態3におけるデータ保持制御装置の構成3 従来技術におけるデータ保持制御装置の構成 従来技術におけるマクロブロックの処理順序 従来技術におけるカレントマクロブロックと隣接マクロブロックとの関係 従来技術におけるカレントマクロブロックと隣接マクロブロックとの関係 マクロブロックペアの処理順序を示す図 カレントマクロブロックと隣接マクロブロックとの関係 カレントマクロブロックと隣接マクロブロックとの関係 データ保持装置の他の例
符号の説明
101 カレントマクロブロック用レジスタ
102 左側隣接マクロブロックペア下側マクロブロック用レジスタ
103 左側隣接マクロブロックペア上側マクロブロック用レジスタ
104 上側隣接マクロブロックペア上側マクロブロック用レジスタ
105 上側隣接マクロブロックペア下側マクロブロック用レジスタ
110 パラメータラインメモリ
120 分配器
130、131 セレクタ
140 条件判定回路
A01 カレント上側レジスタ
A02 カレント下側レジスタ
A03 隣接下側レジスタ
A04 隣接上側レジスタ
A10 パラメータラインメモリ
A31〜A34 セレクタ
A40 条件判定回路
A50 垂直・水平処理切換部
901 個別パラメータカレントマクロブロック用レジスタ
902 共通パラメータカレントマクロブロック用レジスタ
903 左側隣接マクロブロックペア下側マクロブロック用レジスタ
904 左側隣接マクロブロックペア上側マクロブロック用レジスタ
905 上側隣接マクロブロックペア上側マクロブロック用レジスタ
906 上側隣接マクロブロックペア下側マクロブロック用レジスタ
910 パラメータラインメモリ
950、951 スイッチ
920 分配器
930、931 セレクタ
940、条件判定回路

Claims (8)

  1. マクロブロックペア毎にフィールド構造とフレーム構造の何れかを選択し、マクロブロック単位に画像を符号化または復号化する画像処理に用いられるデータ保持装置であって、
    符号化または復号化の対象となるカレントマクロブロックに関するパラメータ群を保持するカレントレジスタと、
    カレントマクロブロックに対して隣接関係を有するマクロブロックに関するパラメータ群を保持するためのレジスタ群と
    を備え、
    前記レジスタ群は、
    カレントマクロブロックの上側に隣接するマクロブロックペアにおける上側のマクロブロックに関するパラメータ群と、カレントマクロブロックの属するマクロブロックペアの上側のマクロブロックに関するパラメータ群との一方を択一的に保持する第1レジスタと、
    カレントマクロブロックの上側に隣接するマクロブロックペアにおける下側のマクロブロックに関するパラメータ群を保持する第2レジスタと、
    カレントマクロブロックの左側に隣接するマクロブロックペアにおける上側のマクロブロックに関するパラメータ群を保持する第3レジスタと、
    カレントマクロブロックの左側に隣接するマクロブロックペアにおける下側のマクロブロックに関するパラメータ群を保持する第4レジスタと
    を備え、
    前記第1レジスタは、カレントマクロブロックがマクロブロックペア内の下側のマクロブロックである場合には、カレントマクロブロックの上側に隣接するマクロブロックに関するパラメータ群を保持し、カレントマクロブロックがマクロブロックペア内の上側のマクロブロックである場合には、カレントマクロブロックの上側に隣接するマクロブロックペア内の上側のマクロブロックに関するパラメータ群を保持する
    ことを特徴とするデータ保持装置。
  2. 前記カレントマクロブロックは、第1遷移と第2遷移とを繰り返し、
    第1遷移は、カレントマクロブロックがマクロブロックペアにおける上側のマクロブロックから下側のマクロブロックに遷移することであり、
    第2遷移は、カレントマクロブロックがマクロブロックペアにおける下側のマクロブロックから右上のマクロブロックに遷移することであり、
    前記データ保持装置は、さらに、
    少なくとも2マクロブロックライン分の符号化または復号化済のマクロブロックに関するパラメータ群を保持するパラメータメモリと、
    第1遷移時に、カレントレジスタから出力されるパラメータ群を選択し、第2遷移時に、遷移後のカレントマクロブロックの上側に隣接するマクロブロックペアにおける上側のマクロブロックに関するパラメータ群をパラメータメモリから選択し、前記第1レジスタに出力する第1セレクタを備える
    ことを特徴とする請求項1記載のデータ保持装置。
  3. 前記データ保持装置は、さらに、
    第1遷移時に、第1レジスタから出力されるパラメータ群を選択し、第2遷移時に、前記カレントレジスタから出力される遷移後のカレントマクロブロックの左側に隣接するマクロブロックペアにおける上側のマクロブロックに関するパラメータ群を選択し、前記第3レジスタに出力する第2セレクタを備える
    ことを特徴とする請求項2記載のデータ保持装置。
  4. 前記カレントレジスタは、さらに、カレントマクロブロックペア内のカレントマクロブロック以外のマクロブロックに関するパラメータ群を保持し、
    前記データ保持装置は、さらに、少なくとも2マクロブロックライン分の符号化または復号化済のマクロブロックに関するパラメータ群を保持するパラメータラインメモリと、
    カレントマクロブロックペア毎に符号化または復号化処理における水平処理と垂直処理を指定するタイミング信号を生成する制御回路と、
    前記制御回路からのタイミング信号に応じて、カレントマクロブロックペアのパラメータ群を保持しているカレントレジスタを選択し、次いで、カレントマクロブロックペアの上に隣接するマクロブロックペアのパラメータ群をパラメータラインメモリから選択するセレクタと
    を備え、
    前記レジスタ群は、前記セレクタにより選択されたマクロブロックペアに関するパラメータ群を保持する
    ことを特徴とする請求項1記載のデータ保持装置。
  5. 前記レジスタ群は、
    前記セレクタにより選択されたマクロブロックペアに関するパラメータ群のうち、上側のマクロブロックに関するパラメータ群を保持する第1レジスタと、
    前記セレクタにより選択されたマクロブロックペアに関するパラメータ群のうち、下側のマクロブロックに関するパラメータ群を保持する第2レジスタと
    を備えることを特徴とする請求項4記載のデータ保持装置。
  6. 前記カレントマクロブロックは、第1遷移と第2遷移とを繰り返し、
    第1遷移は、カレントマクロブロックがマクロブロックペアにおける上側のマクロブロックから下側のマクロブロックに遷移することであり、
    第2遷移は、カレントマクロブロックがマクロブロックペアにおける下側のマクロブロックから右上のマクロブロックに遷移することであり、
    前記パラメータ群は、マクロブロックペア内の2つのマクロブロックに共通のパラメータと個別のパラメータとを含み、
    前記カレントレジスタは、共通のパラメータを保持する共通用レジスタと、個別のパラメータを保持する個別用レジスタとを有し、
    前記データ保持装置は、さらに、共通用レジスタへのデータ入力を、第1遷移時にオフし、第2遷移時にオンするスイッチを備える
    ことを特徴とする請求項1記載のデータ保持装置。
  7. マクロブロックペア毎にフィールド構造とフレーム構造の何れかを選択し、マクロブロック単位に画像を符号化する画像符号化装置であって、
    符号化または復号化の対象となるカレントマクロブロックに関するパラメータ群を保持するカレントレジスタと、
    カレントマクロブロックに対して隣接関係を有するマクロブロックに関するパラメータ群を保持するためのレジスタ群と
    を備え、
    前記レジスタ群は、
    カレントマクロブロックの上側に隣接するマクロブロックペアにおける上側のマクロブロックに関するパラメータ群と、カレントマクロブロックの属するマクロブロックペアの上側のマクロブロックに関するパラメータ群との一方を択一的に保持する第1レジスタと、
    カレントマクロブロックの上側に隣接するマクロブロックペアにおける下側のマクロブロックに関するパラメータ群を保持する第2レジスタと、
    カレントマクロブロックの左側に隣接するマクロブロックペアにおける上側のマクロブロックに関するパラメータ群を保持する第3レジスタと、
    カレントマクロブロックの左側に隣接するマクロブロックペアにおける下側のマクロブロックに関するパラメータ群を保持する第4レジスタと
    を備え、
    前記第1レジスタは、カレントマクロブロックがマクロブロックペア内の下側のマクロブロックである場合には、カレントマクロブロックの上側に隣接するマクロブロックに関するパラメータ群を保持し、カレントマクロブロックがマクロブロックペア内の上側のマクロブロックである場合には、カレントマクロブロックの上側に隣接するマクロブロックペア内の上側のマクロブロックに関するパラメータ群を保持する
    ことを特徴とする画像符号化装置。
  8. マクロブロックペア毎にフィールド構造とフレーム構造の何れかを選択し、マクロブロック単位に画像を復号化する画像復号化装置であって、
    復号化の対象となるカレントマクロブロックに関するパラメータ群を保持するカレントレジスタと、
    カレントマクロブロックに対して隣接関係を有するマクロブロックに関するパラメータ群を保持するためのレジスタ群と
    を備え、
    前記レジスタ群は、
    カレントマクロブロックの上側に隣接するマクロブロックペアにおける上側のマクロブロックに関するパラメータ群と、カレントマクロブロックの属するマクロブロックペアの上側のマクロブロックに関するパラメータ群との一方を択一的に保持する第1レジスタと、
    カレントマクロブロックの上側に隣接するマクロブロックペアにおける下側のマクロブロックに関するパラメータ群を保持する第2レジスタと、
    カレントマクロブロックの左側に隣接するマクロブロックペアにおける上側のマクロブロックに関するパラメータ群を保持する第3レジスタと、
    カレントマクロブロックの左側に隣接するマクロブロックペアにおける下側のマクロブロックに関するパラメータ群を保持する第4レジスタと
    を備え、
    前記第1レジスタは、カレントマクロブロックがマクロブロックペア内の下側のマクロブロックである場合には、カレントマクロブロックの上側に隣接するマクロブロックに関するパラメータ群を保持し、カレントマクロブロックがマクロブロックペア内の上側のマクロブロックである場合には、カレントマクロブロックの上側に隣接するマクロブロックペア内の上側のマクロブロックに関するパラメータ群を保持する
    ことを特徴とする画像復号化装置。
JP2005004283A 2005-01-11 2005-01-11 データ保持装置、画像符号化装置および画像復号化装置 Expired - Fee Related JP4515922B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005004283A JP4515922B2 (ja) 2005-01-11 2005-01-11 データ保持装置、画像符号化装置および画像復号化装置
US11/322,241 US8009738B2 (en) 2005-01-11 2006-01-03 Data holding apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005004283A JP4515922B2 (ja) 2005-01-11 2005-01-11 データ保持装置、画像符号化装置および画像復号化装置

Publications (2)

Publication Number Publication Date
JP2006197011A JP2006197011A (ja) 2006-07-27
JP4515922B2 true JP4515922B2 (ja) 2010-08-04

Family

ID=36653233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005004283A Expired - Fee Related JP4515922B2 (ja) 2005-01-11 2005-01-11 データ保持装置、画像符号化装置および画像復号化装置

Country Status (2)

Country Link
US (1) US8009738B2 (ja)
JP (1) JP4515922B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4672431B2 (ja) * 2005-05-13 2011-04-20 パナソニック株式会社 フィルタ特性異常隠蔽処理装置
KR100827106B1 (ko) * 2006-10-20 2008-05-02 삼성전자주식회사 디블록킹 필터에서의 필터 조건 영역 판별을 위한 장치 및방법
US20080310515A1 (en) * 2007-06-14 2008-12-18 Yasutomo Matsuba MPEG-2 2-Slice Coding for Simple Implementation of H.264 MBAFF Transcoder
US8976856B2 (en) * 2010-09-30 2015-03-10 Apple Inc. Optimized deblocking filters
US11770875B2 (en) * 2019-10-03 2023-09-26 Qualcomm Incorporated Integrated access and backhaul (IAB) timing handling for positioning

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06217286A (ja) * 1993-01-18 1994-08-05 Sanyo Electric Co Ltd 画像符号化装置
JP2003296724A (ja) * 2002-04-05 2003-10-17 Hitachi Ltd 画像処理システム及びその方式
JP2005057750A (ja) * 2003-07-24 2005-03-03 Matsushita Electric Ind Co Ltd 符号化モード決定装置、画像符号化装置、符号化モード決定方法、および符号化モード決定プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6455988A (en) * 1987-08-26 1989-03-02 Nec Corp Method and device for decoded moving image signal smoothing processing
JPH08214104A (ja) * 1995-02-02 1996-08-20 Olympus Optical Co Ltd 情報再生システム
US6366317B1 (en) 1998-03-27 2002-04-02 Intel Corporation Motion estimation using intrapixel logic
US8179963B2 (en) 2003-07-24 2012-05-15 Panasonic Corporation Coding mode determining apparatus, image coding apparatus, coding mode determining method and coding mode determining program
US20060133494A1 (en) * 2004-12-17 2006-06-22 Rahul Saxena Image decoder with context-based parameter buffer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06217286A (ja) * 1993-01-18 1994-08-05 Sanyo Electric Co Ltd 画像符号化装置
JP2003296724A (ja) * 2002-04-05 2003-10-17 Hitachi Ltd 画像処理システム及びその方式
JP2005057750A (ja) * 2003-07-24 2005-03-03 Matsushita Electric Ind Co Ltd 符号化モード決定装置、画像符号化装置、符号化モード決定方法、および符号化モード決定プログラム

Also Published As

Publication number Publication date
JP2006197011A (ja) 2006-07-27
US20060153302A1 (en) 2006-07-13
US8009738B2 (en) 2011-08-30

Similar Documents

Publication Publication Date Title
JP5115498B2 (ja) 画像符号化装置、画像符号化制御方法およびプログラム
JP4480156B2 (ja) 画像処理装置及び方法
US20060023791A1 (en) Method and apparatus for decoding moving picture to which post filtering is applied
US10469848B2 (en) Palette prediction and sharing in video coding
JP4515922B2 (ja) データ保持装置、画像符号化装置および画像復号化装置
CN112204962B (zh) 图像预测方法、装置和计算机可读存储介质
JPH08154247A (ja) 圧縮画像データ処理装置及び方法
CN113491132A (zh) 视频图像解码、编码方法及装置
JP4764706B2 (ja) 動画像変換装置
JPWO2009063646A1 (ja) 画像復号装置及び画像復号方法
CN113055682B (zh) 一种编解码方法、装置及其设备
US8971401B2 (en) Image decoding device
KR102668064B1 (ko) 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 화상 복호 방법, 컴퓨터 프로그램을 저장하기 위한 컴퓨터 판독 가능한 비일시적 저장 매체
JP2008048178A (ja) 復号処理装置及び復号処理方法並びに復号処理プログラム
KR20210138760A (ko) 이미지 요소 예측 방법, 인코더, 디코더 및 저장 매체
JP2006141037A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP2006166308A (ja) 復号化装置及び復号化方法
CN112135128B (zh) 图像预测方法、编码树节点划分方法及其装置
JP2007259247A (ja) 符号化装置、復号化装置、データ処理システム
JP5206070B2 (ja) 復号装置および復号方法
KR102667983B1 (ko) 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 화상 복호 방법
KR100621942B1 (ko) 모바일 멀티미디어 정보 처리 방법
KR100672376B1 (ko) 움직임 보상 방법
JP2007243366A (ja) 動きベクトル探索装置
JP5061355B2 (ja) 画像符号化方法、装置およびプログラムならびに画像処理機器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091006

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091126

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100513

R150 Certificate of patent or registration of utility model

Ref document number: 4515922

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130521

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130521

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees