JP2007329903A - 可変長復号化装置、可変長復号化方法および撮像システム - Google Patents

可変長復号化装置、可変長復号化方法および撮像システム Download PDF

Info

Publication number
JP2007329903A
JP2007329903A JP2007116889A JP2007116889A JP2007329903A JP 2007329903 A JP2007329903 A JP 2007329903A JP 2007116889 A JP2007116889 A JP 2007116889A JP 2007116889 A JP2007116889 A JP 2007116889A JP 2007329903 A JP2007329903 A JP 2007329903A
Authority
JP
Japan
Prior art keywords
data
data buffer
address
variable length
level
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.)
Pending
Application number
JP2007116889A
Other languages
English (en)
Inventor
Taichi Nagata
太一 永田
Shinji Kitamura
臣二 北村
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 Holdings Corp
Original Assignee
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2007116889A priority Critical patent/JP2007329903A/ja
Priority to US11/798,325 priority patent/US7929777B2/en
Publication of JP2007329903A publication Critical patent/JP2007329903A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding

Landscapes

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

Abstract

【課題】読み出し処理時間の短縮化。
【解決手段】可変長復号器3は可変長符号化・ランレングス符号化データを、TotalCoeffとlevelとtotal_zerosとrun_beforeとに順次復号する。書き込み制御器8が、levelをデコードされた順に第1のデータバッファに書き込む。初期アドレス算出器5が、TotalCoeffとtotal_zerosのゼロ係数の個数とからlevelの初期アドレスを算出する。アドレス保持器が、初期アドレスとrun_beforeによるゼロ係数の個数とに基づいてこれらのデータに対応するlevelのアドレスを保持する。読み出し制御器9が、アドレス情報に基づいて、第1のデータバッファ4からlevelを読み出す。選択器10が、アドレス情報に基づいてlevelとゼロ係数とから選択する。
【選択図】 図1

Description

本発明は、ランレングス符号化と可変長符号化を用いた符号データを可変長復号およびランレングス復号する復号化方法およびその復号化装置に関する。特には、圧縮された画像データを伸張する画像伸張技術で用いられる可変長復号化方法およびその可変長復号化装置に関する。また、撮像システムに関する。
ランレングス符号および可変長符号を用いる圧縮伸張方法は、画像データの一般的な圧縮技術であるJPEG(Joint Photographic Experts Group)やMPEG(Moving Picture Experts Group)で用いられており、ディジタルカメラやディジタルビデオカメラの普及、通信技術の発達に伴い、少ない情報量でデータ転送が行える技術として広く普及している。
代表的な画像圧縮装置の構成を図31に示し、以下この図を参照して説明する。画像データが、あらかじめ1ブロック8×8個に分割されたうえで順次入力されてくる。DCT(Discrete Cosine Transform)部101は、この画像データを離散コサイン変換によって周波数変換することでDCT係数を生成する。自然画像ではたいてい色の変化が滑らかであるため周波数変換を行ってDCT係数を生成すると、図32に示すように、低周波領域mには大きな値のDCT係数が分布する一方、高周波領域nには小さな値のDCT係数が分布する。特に左上隅の係数oは周波数成分を持たないDC成分と呼ばれ、それ以外の係数はAC成分と呼ばれる。
量子化部102は、予め設定して量子化値でDCT係数を除算することで量子化係数を生成する。この処理により画質的に影響を与えない高周波領域に“0”の係数(ゼロ係数)を集中させることが可能になる。
さらに、可変長符号化部103において、図33に示すようなジグザグスキャンの順で順次“0”の個数を表すRUNと係数値の大きさを表すLEVELとを組み合わせてランレングスデータを生成する。そして、その組み合わせの出現率に合わせて長さの異なる符号語を割り当てることでデータの容量を小さくする。
一方、上記構成によって符号化された可変長符号データを復号する画像伸張装置は、図34に示すように、画像圧縮装置に対応する、可変長復号部104、逆量子化部105、および逆DCT部106を備える。
可変長復号部104は、可変長符号データを“0”の個数を表すRUNと係数値の大きさを表すLEVELとの組み合わせとして復号したうえで、RUNの大きさ分だけゼロ係数を生成し、生成したゼロ係数と、LEVELで表される係数とを組み合わせる。この動作が8×8画素分生成されるまで繰り返される。逆量子化部105は、上記生成された8×8個分の係数を、予め設定しておいた量子化値で乗算することで逆量子化DCT係数を生成する。逆DCT部106は、上記生成された逆量子化DCT係数を周波数領域から空間領域に変換することで画像データとして復号する。
従来の可変長復号部104の構成について図35を参照して説明する。可変長復号器108は、入力器107から入力される可変長符号データを “0”の個数を表すRUNと係数値の大きさを表すLEVELの組み合わせとして復号する。書き込み制御器109は、復号されたRUNの個数だけデータバッファ112へ“0”を書き込むように選択器110に選択信号を供給する。これにより選択器110は、データバッファ112にRUNの個数だけ“0”を書き込む。“0”を書き込んだ後、選択器110は、LEVELで表される係数をデータバッファ112に書き込む。この動作が8×8画素分生成されるまで繰り返された後、読み出し制御器111は、ジグザグスキャン(図33)によってデータをデータバッファ112から順次読み出して出力器113から逆量子化部105へ出力する。
しかしながら、上記従来の構成では、RUNの個数分だけ“0”である係数が連続して書き込まれている期間では、可変長復号器108は処理することができずに無駄な時間が発生してしまい、このことが復号化処理の高速化の妨げになる。
上記不具合の1つの解決案として、特許文献1に例示されるランレングス符号の復号回路がある。その構成の一例を図36を参照して説明する。図36において、202は可変長符号化・ランレングス符号化データを入力する入力器である。203は入力器202から入力されたデータを、“0”の個数を表すRUNと、係数値の大きさを表すLEVELとの組み合わせとして順次復号する可変長復号器である。204はLEVELを格納するデータバッファである。205はRUNによる“0”の個数に基づいてこのデータに対応するLEVELのアドレスを演算するアドレス加算器である。206はアドレス加算器205の結果を記憶するM×Nビットの情報レジスタである。207はアドレス加算器205からの情報に基づいてLEVELをデータバッファ204へ格納する書き込み制御器である。208は情報レジスタ206の値に基づいてデータバッファ204からLEVELを読み出す読み出し制御器である。209は情報レジスタ206の値に基づいて、データバッファ204に格納されているLEVELと“0”のうちいずれかを選択して出力する選択器である。210は選択器209からのデータを後段処理する後段処理器である。211は後段処理器210からのデータを出力する出力器である。
入力器202から可変長符号化・ランレングス符号化データが入力されると、可変長復号器203は、入力される可変長符号化・ランレングス符号化データを、“0”の個数を表すRUNと係数値の大きさを表すLEVELとの組み合わせとして順次復号する。
アドレス加算器205は、復号化したデータにおいて、図33に示すジグザグスキャンの順に、すなわち1→2→9→17・・・という順に、復号されたRUNの大きさに基づいてアドレスを演算する。情報レジスタ206は、RUNの大きさ分だけジグザグスキャン順に例えば“0”を連続して記憶し、その後の位置にLEVELのアドレスとして例えば“1”を記憶する。書き込み制御器207は、アドレス加算器205が演算したアドレスにLEVELを書き込む。
書き込み制御器207は、1ブロック分のLEVELの書き込みが終了したか否かを判断し、未終了であると判断するときは復号の最初のステップに戻り、終了したと判断するときは読み出しの処理に進む。可変長復号器203によって1ブロックに相当するRUNとLEVELとの組み合わせが復号されたうえでLEVELの書き込みが終了すると、読み出し制御器208は、後段処理器210からの読み出し許可を示す制御信号に基づいて情報レジスタ206の記憶内容を判断してその判断結果に基づいて読み出し処理を制御する。すなわち、読み出し制御器208は、情報レジスタ206に“1”が格納されているビットに相当するアドレスをデータバッファ204に出力したうえで、そのアドレスに格納されているLEVELを読み出す。選択器209では読み出し制御器208が情報レジスタ206を判断する際、同時に、情報レジスタ206のビットが“0”の場合は、後段処理器210に“0”を出力し、“1”の場合は、後段処理器210にデータバッファ204から読み出した出力データLEVELを出力する。後段処理器210は選択器209を介して受け取ったデータを後段処理したうえで、出力器211から処理したデータを出力する。
上記の従来の技術によれば、データバッファ204の後段に選択器209を設けたうえで、データバッファ204には、“0”を格納することなく、LEVELのみを格納する。これにより、“0”は後段の選択器209において選択される。可変長復号器203はその動作を停止させる必要がなく、高速化に有利となる。そして、必要最低限の構成で、アドレスの保持器の情報に基づいてLEVELのみを読み出すことで、データバッファ204へのアクセスを削減できることから、低消費電力の可変長復号器を提供することができる。
一方、現在、MPEG4に続く圧縮技術としてH.264符号化方法(以下、H.264と称す)が注目されている。図37は、代表的なH.264の処理ブロックであり、4×4画素分で構成される。H.264の可変長符号の特徴としては、JPEGやMPEG2、MPEG4と異なり、ブロック中の非ゼロ係数の個数を表すTotalCoeffと、非ゼロ係数値の大きさを表すlevelと、データスキャン方向において最後のlevelより前のゼロ係数の個数を表すtotal_zerosと、データスキャン方向においてlevelの前のゼロ係数の連続個数を表すrun_beforeが符号化されていることであり、RUNとLEVELとが組み合わせとして符号化されていないことである。H.264に関しては、インプレス標準教科書H.264/AVC教科書に詳細な説明がある。
特開2006−74197号
しかしながら、H.264においては、RUNとLEVELの組み合わせが復号されるのではないので、RUNとLEVELの組み合わせが復号されることを前提としている上記従来の構成では、情報レジスタに情報を記憶することができない。
本発明の主たる目的は、RUNとLEVELとの組み合わせ構成でなくとも情報レジスタへのデータ書き込みを可能とし、読み出し時の処理時間を短くすることで、より高効率の可変長復号化装置および可変長復号化方法を提供することである。
上述した課題を解決するために本発明の可変長復号化装置は、
外部から入力される前記可変長符号化・ランレングス符号化データを、非ゼロ係数の個数を表すTotalCoeffと、非ゼロ係数値の大きさを表すlevelと、データスキャン方向において最後のlevelより前のゼロ係数の個数を表すtotal_zerosと、データスキャン方向において前記levelの前のゼロ係数の連続個数を表すrun_beforeとに順次復号する可変長復号器と、
前記levelを格納する第1のデータバッファと、
前記levelをデコードされた順に前記第1のデータバッファに書き込む書き込み制御器と、
前記TotalCoeffと前記total_zerosのゼロ係数の個数とから前記levelの初期アドレスを算出する初期アドレス算出器と、
前記初期アドレスと前記run_beforeによるゼロ係数の個数とに基づいてこれらのデータに対応する前記levelのアドレスを確定して保持するアドレス保持器と、
前記アドレス保持器が保持しているアドレス情報に基づいて、前記第1のデータバッファから前記levelを読み出す読み出し制御器と、
前記アドレス保持器が保持しているアドレス情報に基づいて、前記第1のデータバッファに格納されている前記levelと前記ゼロ係数とのうちのいずれかのデータを選択して出力する選択器と、
前記選択器が選択するデータを後段処理する後段処理器と、
を備える、ここでの技術的特長は、初期アドレス算出器を備えたことである。
上記構成において、前記アドレスの保持器は、
前記初期アドレスと前記run_beforeの個数とに基づいてこれらのデータに対応する前記levelのアドレスを演算するアドレス演算器と、
前記アドレス演算器が演算する前記levelのアドレスと前記TotalCoeffとに基づいて前記選択器と前記読み出し制御器とを制御する情報レジスタと、
を含む、という態様がある。
このような構成により、アドレスの保持器(情報レジスタ)のアドレスに基づいてデータバッファからlevelを読み出すことで、データバッファへの書き込みを低減できる。そのため、低消費電力されたH.264に対応可能な可変長復号装置を提供することが可能となる。
上記構成の可変長復号化装置において、
前記書き込み制御器は、
前記TotalCoeffのアドレスから前記total_zerosの値を順次減算することで実効アドレスを算定して当該実効アドレスを前記データバッファに書き込む、という態様がある。なお、これについては、後述する実施の形態での図7を参照することができる。
このような構成により、アドレスの保持器(情報レジスタ)は前記levelのアドレスのみを記憶するだけでよくて、TotalCoeffを記憶しておく必要がなくなり、小回路規模での可変長復号化装置を提供することが可能となる。
また、上記構成において、前記第1のデータバッファは、K個(Kは2以上の自然数)のバンクで前記levelを交互に格納したうえで、前記情報レジスタの値に基づいてK個のデータを同時に読み出して前記選択器において複数のデータを同時に“0”に置き換える構成は、好ましいものの1つである。
このような構成により、複数データを同時にデータバッファから読み出すことが可能となり、結果として高速な可変長復号化装置を提供することが可能となる。
また、上記の構成において、
バンク制御器をさらに備え、
前記第1のデータバッファと前記情報レジスタとは、複数組のバンク構成を有しており、
前記バンク制御器は、前記情報レジスタと前記第1のデータバッファとのそれぞれにおいて、前記複数のバンクを切り替えることが望ましい。なお、この構成については、後述する実施の形態における図10を参照することができる。
このような構成により、データバッファの読み出しを待つことなく、次のブロックのデコード処理を開始できるので、高速な可変長復号化装置を提供することが可能となる。
上記の構成において、
前記初期アドレスと前記run_beforeとを格納する第2のデータバッファをさらに備えることが望ましい。なお、この構成については、後述する実施の形態における図12を参照することができる。
このような構成により、run_beforeの復号が高速に行われた場合に、情報レジスタへの書き込みを待つことなく、次のデコード処理を開始できるので、高速な可変長復号装置を提供することが可能となる。
上記の構成において、
前記バンク制御器は、前記情報レジスタと前記複数のデータバッファとにおいて選択した前記バンクにのみクロックを供給することが望ましい。
このような構成により、未使用バンクへのクロック供給を制限できるので、低消費電力の可変長復号化装置を提供することが可能となる。
上記の構成において、
さらに、前記第1のデータバッファの格納データをさらに格納する第3のデータバッファと、
前記読み出し制御器の動作に連動して前記第3のデータバッファへの書き込みを制御する第2の書き込み制御器と、
前記情報レジスタと同一のレジスタ値を前記第2の書き込み制御器を介して受け取って格納する第2の情報レジスタと、
前記第2の情報レジスタが格納している前記レジスタ値に基づいて前記第3のデータバッファの読み出しを制御する第2の読み出し制御器と、
を備え、
前記選択器は、前記第2の情報レジスタが格納している前記レジスタ値に基づいて前記第3のデータバッファに格納されている前記levelと前記ゼロ係数とのうちいずれかを選択して出力し、
前記後段処理器は、前記選択器が選択するデータを後段処理するのが望ましい。
なお、この構成については、後述する実施の形態における図14を参照することができる。特徴は、第1のデータバッファの次段に第3のデータバッファがあり、さらにその次段に選択器が配置されていることである このような構成により、第1のデータバッファと第3のデータバッファとの間の転送がlevelのみとなり、結果として可変長復号化処理の高速化が可能となる。
上記の構成において、前記第3のデータバッファは、複数のデータバッファ行またはデータバッファ列で構成され、
前記第2の書き込み制御器は、前記第1のデータバッファから読み出したデータを、前記第1のデータバッファにおけるアドレス位置とは異なる前記第3のデータバッファのアドレス位置に書き込んだうえで、当該第3のデータバッファにおけるデータ格納アドレスを前記第2の情報レジスタに記憶し、
前記第2の読み出し制御器は、前記第2の情報レジスタの記憶情報に基づいて前記第3のデータバッファから複数データを同時読み出しするのが望ましい。
このような構成により、デコードされたスキャン順序と異なる順序での後段処理器への出力が可能となって後段処理器でのスキャン変換が不要となる。これにより、全体として復号処理を高速化することが可能となる。
上記構成において、前記第3のデータバッファは、複数のデータバッファ行またはデータバッファ列の配列を変更可能であり、
前記第2の書き込み制御器は、前記第1のデータバッファから読み出した複数のデータを同時に前記第3のデータバッファに書き込むことが望ましい。
また、上記構成において、前記第3のデータバッファは、ビットイネーブル制御が可能なメモリから構成され、
前記第2の書き込み制御器は、前記第1のデータバッファから読み出したデータを、前記第1のデータバッファにおけるアドレス位置とは異なる前記第3のデータバッファのアドレス位置に書き込んだうえで、当該第3のデータバッファにおけるデータ格納アドレスを前記情報レジスタに記憶し、
前記第2の読み出し制御器は、前記情報レジスタの情報に基づいて前記第3のデータバッファから複数データを同時読み出しすることが望ましい。
このような構成により、第2の情報レジスタは不要となり、また第1のデータバッファと第3のデータバッファ間の転送が複数データになることで、結果として可変長復号化処理の高速化が可能となる。
さらに、前記第2の書き込み制御器には、スキャン情報が入力され、当該スキャン情報によって前記第3のデータバッファの書き込みアドレスを変更することが望ましい。また、前記後段処理器は逆量子化処理器である、という態様がある。
このような構成により、異なるスキャンモードを有するMPEG4などと第3のデータバッファを共有することができるので、小さい回路規模で複数符号化モードに対応した復号器の実現が可能になる。
また、本発明の可変長復号化装置は、
可変長符号化・ランレングス符号化データを復号する可変長復号化装置であって、
外部から入力される前記可変長符号化・ランレングス符号化データを、非ゼロ係数の個数を表すTotalCoeffと、非ゼロ係数値の大きさを表すlevelと、データスキャン方向において最後のlevelより前のゼロ係数の個数を表すtotal_zerosと、データスキャン方向においてlevelの前のゼロ係数の連続個数を表すrun_beforeとに順次復号する可変長復号器と、
前記levelを格納する第1のデータバッファと、
前記levelをデコードされた順に前記第1のデータバッファに書き込む書き込み制御器と、
前記TotalCoeffと前記total_zerosのゼロ係数の個数とから前記levelの初期アドレスを算出する初期アドレス算出器と、
前記初期アドレスと前記run_beforeによるゼロ係数の個数とに基づいてこれらのデータに対応する前記levelのアドレスを確定して保持するアドレス保持器と、
前記初期アドレスと前記run_beforeによるゼロ係数の個数とに基づいてこれらのデータに対応するアドレス位置に、前記levelをシフトさせるデータシフト制御器と、
前記アドレス保持器が保持しているアドレス情報に基づいて、前記第1のデータバッファから前記levelを読み出す読み出し制御器と、
前記アドレス保持器が保持しているアドレス情報に基づいて、前記第1のデータバッファに格納されている前記levelと前記ゼロ係数とのうちのいずれかのデータを選択する選択器と、
前記選択器が選択するデータを後段処理する後段処理器と、
を備える。
なお、この構成については、後述する実施の形態における図26を参照することができる。ここでの技術的特長は、データシフト制御器を備えたことである。
特徴は、あらかじめデータバッファ内のデータをデータシフトさせて前記アドレス保持器と同じ位置に並べ替えておくことである。このような構成により、アドレスの保持器に基づいて読み出しアドレスを算出する必要のない制御容易な読出し方法でデータバッファからlevelを読み出すことができる。またデータバッファへの書き込みを低減できることができる。これにより、低消費電力されたH.264に対応可能な可変長復号器を提供することが可能となる。
次に、上記目的を達成するために本発明の可変長復号化方法は、
可変長符号化・ランレングス符号化データを復号する可変長復号化方法であって、
前記可変長符号化・ランレングス符号化データを獲得する獲得ステップと、
獲得した前記可変長符号化・ランレングス符号化データから、非ゼロ係数の個数を表すTotalCoeffと、非ゼロ係数値の大きさを表すlevelと、データスキャン方向において最後の非ゼロ係数以前のゼロ係数の個数を表すtotal_zerosと、データスキャン方向において非ゼロ係数値の前のゼロ係数の連続個数を表すrun_beforeとを順次復号する復号ステップと、
前記levelを第1のデータバッファに格納する格納ステップと、
前記TotalCoeffの非ゼロ係数の個数と前記total_zerosのゼロ係数の個数とから前記levelの初期アドレスを算出する算出ステップと、
前記初期アドレスの算出結果と前記run_beforeによるゼロ係数の個数とに基づいてこれらのデータに対応する前記非ゼロ係数のアドレスを確定する確定ステップと、
前記非ゼロ係数のアドレスに基づいて、前記データバッファから前記levelを読み出す読み出しステップと、
前記非ゼロ係数のアドレスに基づいて、前記第1のデータバッファに格納されている前記levelとゼロ係数とのうちいずれかを選択する選択ステップと、
選択したデータを後段処理する後段処理ステップと、
を含む。
この方法により、前記確定ステップで確定された値(アドレス)を判断することで、データの読み出しと選択器からの出力とを選択する動作を制御することができる。これにより、データバッファへの書き込みを低減できることから、低消費電力されたH.264に対応可能な可変長復号化方法を提供することが可能となる。
上記構成の可変長復号化方法において、
さらに、前記データバッファから読み出された前記levelをもう一つのデータバッファに格納するもう一つの格納ステップと、
前記levelのアドレスと前記TotalCoeffとに基づいて前記選択ステップと前記読み出しステップとを制御する情報レジスタを設けたうえで、当該情報レジスタの値に基づいて前記もう一つのデータバッファから前記levelを読み出すもう一つの読み出しステップと、
前記情報レジスタの値に基づいて前記もう一つのデータバッファに格納されている前記levelと前記ゼロ係数とのうちのいずれかを選択するもう一つの選択ステップと、
を含み、
前記もう一つの格納ステップは、前記もう一つのデータバッファが書き込める状態であれば処理を実行することが望ましい。
この方法により、データバッファのデータが後段処理を待たずに出力できるので、次の復号処理を行うことが可能となり、さらに復号処理を高速化することが可能となる。
また、上記の可変長復号化方法において、
前記データバッファに格納されている前記levelと前記非ゼロ係数とのうちから選択したデータをもう一つのデータバッファに格納するもう一つの格納ステップと、
前記もう一つのデータバッファからデータを読み出すもう一つの読み出しステップと、
前記もう一つのデータバッファから読み出した前記データを後段処理するもう一つの後段処理ステップと、
をさらに含み、
前記もう一つの格納ステップは、前記もう一つのデータバッファが書き込める状態であれば処理を実行することが望ましい。
この方法により、もう一つのデータバッファのアドレス計算は不要となり、データバッファへのアクセスを容易にすることができる。
また、本発明の可変長復号化方法は、外部から入力されるスキャン情報に基づいて前記情報レジスタの書き込みアドレスを変換する変換ステップをさらに含み、
前記もう一つの格納ステップは、前記levelを、前記スキャン情報に基づいて所定の走査順に変換したうえで前記もう一つのデータバッファに格納することが望ましい。
この方法により、H.264だけでなくMPEG4などの複数の走査モードを有する可変長復号化方法においても実現することができる。
次に、本発明の第1の撮像システムは、前記のいずれかの可変長復号化装置を含んで画像処理を行う画像処理回路と、画像処理回路へ画像信号を出力するセンサと、前記センサへ光を結像する光学系とを備えたものである。このような構成により、可変長復号の高速実行に伴って画像処理の高速化が期待できる。
本発明の第2の撮像システムは、第1の撮像システムにおいて、センサから得た画像信号をデジタル信号に変換して画像処理回路へ供給する変換器をさらに備えたものである。このような構成により、デジタル信号処理の利点を発揮することができる。
本発明によれば、初期アドレス算出器を設けることで、RUNとLEVELの組み合わせでなくとも情報レジスタへの書き込みを行うことが可能となり、データバッファに格納されたデータに対する情報をアドレス保持器(アドレス演算器と情報レジスタとの組み合わせ)によって把握して、ゼロ以外のデータのみを読み出すことができる。これにより、読み出し時間を短縮化し、全体として可変長復号化処理を高速化することができ、さらなる低消費電力を実現できる。
また、本発明によれば、初期アドレス算出器により、RUNとLEVELとの組み合わせ構成でなくとも情報レジスタへの書き込みを行うことが可能であり、データバッファに格納されたデータに対する情報をアドレスの保持器(アドレス演算器と情報レジスタの組み合わせ)によって把握し、ゼロ以外のデータのみを読み出すので、読み出し時間を短縮化し、全体として可変長復号化処理を高速化することができ、さらなる低消費電力を実現できる。
以上説明してきたように、本発明の可変長復号化装置および可変長復号化方法は、データバッファに格納されたデータに対する情報をアドレス保持器によって把握できることにより、ゼロ以外のデータのみ読み出すことが可能となる。そのため、読み出し時間を短縮化することが可能となって、全体として可変長復号化処理を高速化することができる。また、低消費電力を実現できるため、高速な復号化処理が要求される画像復号システム等への応用が可能である。
特に近年、低ビットレート符号化技術として注目を集めているH.264を搭載したカメラ付き携帯電話やDSCなどにも有用な装置を提供することが可能である。
以下、本発明にかかわる可変長復号化装置の実施の形態を図面に基づいて詳細に説明する。
(実施の形態1)
本発明の実施の形態1の可変長復号化装置について図面を参照しながら説明する。図1に本発明の実施の形態1における可変長復号化装置の概略構成を示す。なお、本実施の形態においては、1ブロックのデータが4×4個の場合について説明する。
図1において、2は入力器である。3は可変長復号器である。4はデータバッファである。5は初期アドレス演算器である。6がアドレス演算器である。7は情報レジスタである。8は書き込み制御器である。9は読み出し制御器である。10は選択器である。11は後段処理器である。12は出力器である。
入力器2は可変長符号化・ランレングス符号化データを入力する。可変長復号器3は、入力器2から入力されたデータから、非ゼロ係数の個数を表すTotalCoeffと、非ゼロ係数値の大きさを表すlevelと、データスキャン方向において最後のlevelより前のゼロ係数の個数を表すtotal_zerosと、データスキャン方向においてlevelの前のゼロ係数の連続個数を表すrun_beforeとを抽出したうえで順次復号する。データバッファ4はlevelを格納する。初期アドレス演算器5はTotalCoeffとtotal_zerosから初期アドレスを算出する。演算器6は初期アドレスとrun_beforeによるゼロ係数の個数に基づいてこれらのデータに対応するlevelのアドレスを演算する。情報レジスタ7はM×Nビット+xビットの情報レジスタであって、アドレス演算器6の演算結果とTotalCoeffとを記憶する。書き込み制御器8はlevelを順次データバッファ4に書き込む。読み出し制御器9は情報レジスタ7の値に基づいてデータバッファ4からlevelを読み出す。選択器10は情報レジスタ7の値に基づいて、データバッファ4に格納されているlevelとゼロ係数とのうちのいずれかを選択して出力する。後段処理器11は選択器10からのデータを後段処理する。出力器12は後段処理器11が出力するデータを外部に出力する。
図2は、本発明の実施の形態1の可変長復号化装置における処理の流れ図である。図2に従って処理の流れについて説明する。まず入力器2から可変長符号化・ランレングス符号化データが入力されると、可変長復号器3は、非ゼロ係数の個数を表すTotalCoeffと、非ゼロ係数値の大きさを表すlevelと、データスキャン方向において最後のlevelより前のゼロ係数の個数を表すtotal_zerosと、データスキャン方向においてlevelの前のゼロ係数の連続個数を表すrun_beforeとを順次復号する(ステップS1)。
図3に順次復号された例を示す。図3は図33のブロックに実際の値を入れた一例である。デコードにおいてはジグザグスキャンの逆順にデータが復号される。図4は、図3の4×4ブロックデータをジグザグスキャンの逆順に並べたものである。図5は、図3で示した一例のステップS1での復号例である。
まず、16データのうちの非ゼロ係数(+23,−4,+11,+8,−3,+1,−1)の個数であるTotalCoeff=7が復号される。次に、非ゼロ係数の大きさを示すlevelが、逆ジグザグスキャン順に、−1→+1→−3→+8→+11→−4→+23と、順次復号される。次に、ジグザグスキャン順の最後のlevel=−1の前に存在する“0”の総個数total_zeros=5が復号される。最後にlevelの前に存在する“0”の個数run_beforeが逆ジグザグスキャン順に、1→2→1→1→0→0が順次復号される。
復号化データにおいて、
・level=−1の前に存在する“0”の個数は1である、
・level=+1の前に存在する“0”の個数は2である、
・level=−3の前に存在する“0”の個数は1である、
・level=+8の前に存在する“0”の個数は1である、
・level=+11の前に存在する“0”の個数は0(存在しない)である、
・level=−4の前に存在する“0”の個数は0である、
・level=+23の前に存在する“0”の個数は0である、
という結果が得られる。
この結果に基づいて、run_beforeは、逆ジグザグスキャン順に、1→2→1→1→0→0となる。さらに、復号されたlevelが順次データバッファ4に書き込まれる(ステップS2)。
さらに復号されたTotalCoeffとtotal_zerosから初期アドレスが算出される(ステップS3)。図5に示す例では、TotalCoeff=7とtotal_zeros=5とが加算されて、初期アドレス=12が算出される。
さらに、復号されたrun_beforeの大きさに基づいて、アドレス演算器6において、図3に示す逆ジグザグスキャンの順に、初期アドレス=12からrun_beforeに“1”を加えた値が減算されていく。すなわち、図5に示す例の場合、12→10→7→5→3→2→1という順にアドレスが演算される(ステップS4)。run_beforeは、1→2→1→1→0→0である。
すなわち、初期アドレスは12であるから、
・初期アドレス“12”から1番目のrun_beforeの値“1”に“1”加えた値を減算するとアドレスは“10”になる。
・算定したアドレス“10”から2番目のrun_beforeの値“2”に“1”を加えた値を減算するとアドレスは“7”になる。
・算定したアドレス“7”から3番目のrun_beforeの値“1”に“1”を加えた値を減算するとアドレスは“5”になる。
・算定したアドレス“5”から4番目のrun_beforeの値“1”に“1”を加えた値を減算するとアドレスは“3”になる。
・算定したアドレス“3”から5番目のrun_beforeの値“0”に“1”を加えた値を減算するとアドレスは“2”になる。
・算定したアドレス“2”から6番目のrun_beforeの値“0”に“1”を加えた値を減算するとアドレスは“1”になる。
この12→10→7→5→3→2→1のアドレスは、levelの−1→+1→−3→+8→+11→−4→+23それぞれに対応する。
また、情報レジスタ7において、算出したアドレスをlevelのアドレスとして例えば“1”を記憶し、ブロックの残りは“0”を記憶するとともに、データバッファ読み出し初期アドレスとしてTotalCoeffの値を記憶しておく。(ステップS5)。
図4に示す例の場合、非ゼロ係数の箇所を“1”として記憶し、TotalCoeff=“7”をデータバッファ読み出し初期アドレスとして記憶する。1ブロック分のアドレス算出が終了したかを判断し、まだのときはステップS1に戻り、終了したときは読み出しの処理に進む(ステップS6)。
可変長復号器3から1ブロックに相当するデータが復号され、アドレス算出された後(ステップS6でYes)、読み出し制御器9は後段処理器11からの読み出し許可を示す制御信号を受けて情報レジスタ7の記録内容を判定する(ステップS7)。ステップS7において情報レジスタ7に“1”が格納されていると判定する場合には、データバッファ読み出し初期アドレスを減算することでアドレスを生成し、生成したアドレスをデータバッファ4に送出する。これにより、データバッファ4においてそのアドレスに格納されているlevelが読み出される(ステップS8)。アドレスの遷移は例えば図6に示す遷移となる。
データバッファアドレスは、読み出し順に、デクリメントされている(7→6→5→4→3→2→1)。読み出し制御器9が情報レジスタ7を判定するのと同時に、選択器10は次の処理を実施する。すなわち、情報レジスタ7のビットが“0”の場合、選択器10は、“0”を後段処理器11に出力する。一方、“1”の場合、選択器10は、データバッファ4からの出力データlevelを後段処理器11に出力する(ステップS8)。後段処理器11は選択器10から供給されるデータを後段処理したうえで(ステップS9)、出力器12から処理データとして出力する(ステップS10)。
〔データバッファ書き込み〕
本実施形態では、図7に示すように、書き込み制御器8aは、TotalCoeffの値を順次減算することで、データバッファ4aに書き込むデータを生成してもよい。そうすると、情報レジスタ7aはデータバッファ読み出し初期アドレスを記憶しておく必要がなくなってM×Nビットで構成することができる。図8の読み出し制御例に示されるように、読み出し制御器9aは、アドレス1から順に情報レジスタごとにアドレスを加算していく。これによりデータバッファアドレスは、読み出し順に、インクリメントされる(1→2→3→4→5→6→7)。
〔データバッファ構成〕
本実施形態では、図7に示すように、データバッファ4aをKバンク構成にしておいてもよい。情報レジスタ7aは読み出し制御器9aにより複数のデータを同時に読み出し、選択器10aは複数のデータを同時に“0”に置き換える。K=2の場合、levelは奇数アドレスバンクと偶数アドレスバンクとに交互に格納されている。図9はK=2の場合の読み出し例である。1回目の読み出しにおいては初期アドレス1から読み出される。すなわち、奇数アドレス1からは“+2”が、偶数アドレス2からは“−4”がそれぞれ読み出される。このとき、情報レジスタ7を見ると、前者後者両方ともに“1”が書かれているので、“+23“と“−4”とがそのまま読み出しデータとなる。以上の結果、2個の係数が読み出されるので、初期アドレス1に“2”を加算した“3”が2回目の読み出し開始アドレスとなる。2回目の読み出しで、奇数アドレス3からは“+11”が、偶数アドレス4からは“+8”が読み出される。情報レジスタ7を見ると、最初のデータのみ“1”が書かれているので、後者のデータは“0”に置き換えられる。すなわち“+11”,“0”が2回目の読み出しデータとなる。1つの係数を読み出したので、アドレス3に“1”を加えた“4”が3回目の読み出し開始アドレスとなる。3回目の読み出しで、偶数アドレス4からは“+8”が、奇数アドレス5からは“−3”がそれぞれ読み出される。情報レジスタ7を見ると、前者のデータのみ“1”が書かれているので、後者のデータは“0”に置き換えられる。すなわち“+8”,“0”が3回目の読み出しデータとなる。1つの係数を読み出したので、アドレス4に“1”を加えた“5”が4回目の読み出し開始アドレスとなる。4回目の読み出しで、奇数アドレス5からは“−3”が、偶数アドレス6からは“+1”が読み出される。情報レジスタ7を見ると、前者のデータのみ“1”が書かれているので、後者のデータは“0”に置き換えられる。すなわち“−3”,“0”が4回目の読み出しデータとなる。1つの係数を読み出したので、アドレス5に“1”を加えた“6”が5回目の読み出し開始アドレスとなる。5回目の読み出しで、偶数アドレス6からは“+1”が、奇数アドレス7からは“−1”がそれぞれ読み出される。情報レジスタ7を見ると、後者のデータのみ“1”が書かれているので、前者のデータは“0”に置き換えられ、“+1”を後者のデータとして出力する。すなわち“0”,“+1”が5回目の読み出しデータとなる。このように8回目まで読み出しが続けられる。
上記のように構成された本実施の形態によれば、以下の効果を奏する。すなわち、初期アドレス算出器5を設けたことで、従来の技術では対応できなかった、H.264の可変長符号化データでも情報レジスタ7を活用することが可能となる。
さらに書き込み制御器8において、levelを出力された順番と逆順になるようにデータバッファ4に記憶しておくことで、情報レジスタ7がデータバッファを読み出すために初期アドレスを記憶しておく必要がなく、回路規模を小さくすることができる。さらに、データバッファ4をKバンク構成にすることで、データバッファ4からのKデータ同時読み出しが可能となり、高速化を実現できる。
(実施の形態2)
以下、本発明の実施の形態2の可変長復号化装置について図面を参照しながら説明する。図10に本発明の実施の形態2における可変長復号化装置の概略構成を示す。なお、説明の便宜上、実施の形態1と同様の構成については同一の符号を付してその説明を一部省略する。この可変長復号化装置は実施の形態1の可変長復号化装置に、バンク制御器13を追加し、データバッファ4bおよび情報レジスタ7bをJバンク構成(Jは2以上の自然数)にしている。
実施の形態2の可変長復号化装置について、以下、図面を参照しながら動作を説明する。図11は、図10の可変長復号化装置における、データフローの例である。J=2の2バンク構成を例として説明する。バンク制御器13によるバンク制御信号の初期値は“0”としておき、“0”がバンクA、“1”がバンクBを示すものとする。1ブロック目の処理のlevelのデコードにおいて、データバッファ4bのバンクAにlevelが書き込まれる。次にrun_beforeのデコードにおいて、情報レジスタ7bのバンクAにlevelが書き込まれる。この後にバンク制御信号を“1”とする。2ブロック目の処理において、levelのデコードでは、データバッファ4bのバンクBにlevelが書き込まれ、run_beforeのデコードにおいては、情報レジスタ7bのバンクBにlevelが書き込まれる。この2ブロック目の処理時に、データバッファ4bの読み出し処理が行われる。読み出しにおいては、バンク制御信号の示す逆のバンクのデータが読み出される。すなわち、バンク制御信号が“1”を示すので、1ブロック目のデータとして、情報レジスタ7bのバンクAの値に基づき、データバッファ4bのバンクAが読み出される。
〔第2のデータバッファ〕
本実施形態では、図12に示すように、第2のデータバッファ14を備えていてもよい。この場合、第2のデータバッファ14には、初期アドレス算出器5の算出結果と、run_beforeとが記憶される。アドレス演算器6および書き込み制御器8には、第2のデータバッファ14からデータが出力される。
図13は、図12の可変長復号化装置における、データフローの例である。J=3の3バンク構成を例として説明する。バンク制御器13によるバンク制御信号の初期値は“0”としておき、“0”がバンクA、“1”がバンクB、“2”がバンクCを示すものとする。1ブロック目の処理では、levelのデコードにおいて、第1のデータバッファ4bのバンクAにlevelが書き込まれる。次にtotal_zerosがデコードされ、初期アドレス算出器5の結果が第2のデータバッファ14のバンクAに記憶される。次にrun_beforeのデコードにおいて、第2のデータバッファ14のバンクAにrun_beforeが記憶される。この後、バンク制御信号が“1”に設定される。
2ブロック目の処理では、levelのデコードにおいて、第1のデータバッファ4bのバンクBにlevelが書き込まれ、total_zerosとrun_beforeのデコードにおいて、第2のデータバッファ14のバンクBに初期アドレス算出器5の結果とrun_beforeが書き込まれる。この2ブロック目の処理時に、第2のデータバッファ14のバンクAの読み出し処理が行われる。読み出された情報に基づいて情報レジスタ7bのバンクAの書き込みが行われる。
3ブロック目の処理では、levelのデコードにおいて、第1のデータバッファ4bのバンクCにlevelが書き込まれ、total_zerosとrun_beforeのデコードにおいて、第2のデータバッファ14のバンクCに初期アドレス算出器5の結果とrun_beforeが書き込まれる。この3ブロック目の処理時に、第2のデータバッファ14のバンクBの読み出し処理が行われ、その情報に基づいて情報レジスタ7bのバンクBの書き込みが行われる。さらに、情報レジスタ7bのバンクAの情報に基づき、第1のデータバッファ4bのバンクAの値が読み出される。バンク制御信号は、第1のデータバッファ4b、第2のデータバッファ14、および情報レジスタ7bとは別に作成される。
読み出し処理では、第1のデータバッファ4bは、バンク制御信号の示す値よりも“1”多いバンクのデータを読み出す。すなわち、バンク制御信号が“1”を示す場合はバンクCを、バンク制御信号が“2”を示す場合はバンクAを、バンク制御信号が“0”を示す場合はバンクBを、それぞれ第1のデータバッファ4bは読み出す。第2のデータバッファ14および情報レジスタ7bは、バンク制御信号の示す値よりも“1”少ないバンクのデータを読み出す。すなわち、バンク制御信号が“1”を示す場合はバンクAを、バンク制御信号が“2”を示す場合はバンクBを、バンク制御信号が“0”を示す場合はバンクCを、それぞれ第2のデータバッファ14および情報レジスタ7bは読み出す。
〔クロック制御〕
書き込みバンクと読み出しバンクの2バンクしか使用しないので、バンク制御信号をクロック制御信号として用いて、未使用バンクのクロックを停止させてもよい。そうすれば、以下の効果を奏する。
データバッファ4bおよび情報レジスタ7bをバンク構成にすることで、データバッファ4bの読み出しを待つことなく、次のブロックの可変長復号を行うことができ、処理を高速化することができる。
さらに、第2のデータバッファ14を備えることで、run_beforeのデコードが高速に行われた場合、第2のデータバッファ14をデコードされたrun_beforeをすべて同時に書き込める構成にしておくことで、情報レジスタ7bの書き込み終了を待つことなく次のブロックの可変長復号を行うことができる。これによりさらなる処理の高速化を実現できる。また、バンク制御信号を用いて未使用バンクのクロックを停止できるので、消費電力の抑制が可能となり、低電力化を実現できる。
(実施の形態3)
以下、本発明の実施の形態3の可変長復号化装置について図面を参照しながら説明する。図14に本発明の実施の形態3における可変長復号化装置の概略構成を示す。なお、説明の便宜上、実施の形態1と同様の構成については同一の符号を付してその説明を一部省略する。
この可変長復号化装置は、実施の形態1の可変長復号化装置に、第3のデータバッファ15と、第2の書き込み制御器16と、第2の情報レジスタ17と、第2の読み出し制御器18とをさらに備える。
実施の形態3の可変長復号化装置について、以下、図面を参照しながら動作を説明する。図15は、本発明の実施の形態3の可変長復号化装置における処理の流れ図である。図15に従って処理の流れについて説明する。
1ブロックに相当するTotalCoeffとlevelとtotal_zerosとrun_beforeとが可変長復号器3によって復号されて(ステップS11)、run_beforeが第1の情報レジスタ7aに書き込まれた後(ステップS12〜S16)、第1の読み出し制御器9が第1の情報レジスタ7aの記録内容を判定する(ステップS17)。そして、第1の情報レジスタ7aに“1”が格納されていると判定されるビットに相当するアドレスが第1のデータバッファ4に出力されることで、そのアドレスに格納されているlevelが読み出される(ステップS18)。第2の書き込み制御器16は第1の読み出し制御器9と連動して、第1のデータバッファ4に格納されているデータを第3のデータバッファ15に書き込み、第1の情報レジスタ7aの値を第2の情報レジスタ17に書き込む(ステップS19)。
1ブロック分の第3のデータバッファ15および第2の情報レジスタ17への書き込みが終了すると(ステップS20でYes)、第2の読み出し制御器18は、第2の情報レジスタ17の記録内容を判定する(ステップS21)。そして、第2の情報レジスタ17に“1”が格納されていると判定されるビットに相当するアドレスが第3のデータバッファ15に出力されることで、そのアドレスに格納されているlevelが読み出される(ステップS22)。
選択器10では第2の読み出し制御器18が第2の情報レジスタ17を判断するのと同時に次の処理を実施する。すなわち、第2の情報レジスタ17のビットが“0”の場合、選択器10を介して“0”が後段処理器11に出力される。“1”の場合、第3のデータバッファ15の出力データlevelが選択器10を介して後段処理器11に出力される(ステップS23)。さらに、同時に可変長復号器3は次のブロックの復号を開始し(ステップS21)、1ブロックに相当するTotalCoeffとlevelとtotal_zerosとrun_beforeとが復号され(ステップS22)、後段処理器11の処理が終了していれば(ステップS24でYes)、上記の動作を繰り返し(ステップS25)、終了していなければ(ステップS24でNo)、ステップS1に戻って次の1ブロック分のデータが転送されてくるまで待機する。
[第3のデータバッファのバンク構成]
なお、本実施形態は、図16に示すように、第3のデータバッファ15cをIバンク構成(Iは2以上の自然数)にしておき、第2の書き込み制御器16cで書き込み順序を変換した上で第2の情報レジスタ17cおよび第3のデータバッファ15cに書き込む構成としてもよい。
図17に、書き込み順番の変換を示す。図17の(a)は、第1の情報レジスタ7aの記憶位置を示す。図17の(b)は、第1の情報レジスタ7aの読み出し順序(ジグザグスキャン順)を示す。図17の(c)は第1のデータバッファ4に記憶されている値を示す。図17の(d)は、第3のデータバッファ15cのバンク構成例を示す。この例では、4つのバンクA,B,C,Dが横方向に並列され、アドレス1,2,3,4が縦方向に設定されている。
図17の(e)は、第3のデータバッファ15cへの1つ目のデータ書き込み手順である。図17の(a)および図17の(b)から明らかなように、アドレス1にデータが存在するので、データ“+23”がバンクAのアドレス1に書き込まれる。図17の(f)は2つ目のデータの書き込みであり、アドレス2のデータである“−4”がバンクBのアドレス1に書き込まれる。図17の(g)は3つ目のデータの書き込みであり、アドレス3のデータである“+11”がバンクAのアドレス2に書き込まれる。図17の(h)は4つ目のデータの書き込みであり、アドレス5のデータである“+8”がバンクBのアドレス2に書き込まれる。図17の(i)は5つ目のデータの書き込みであり、アドレス7のデータである“−3”がバンクDのアドレス1に書き込まれる。図17の(j)は6つ目のデータの書き込みであり、アドレス10のデータである“+1”がバンクAのアドレス4に書き込まれる。図17の(k)は7つ目のデータの書き込みであり、アドレス12のデータである“−1”がバンクCのアドレス3に書き込まれる。
図18に第1の情報レジスタ7aから第3のデータバッファ15cを介して行う第2の情報レジスタ17cへのアドレス変換表を示す。第2の情報レジスタ17cについても、この変換表の通りに記憶しておく位置を変換しておく。
このような配列に変換することで、後段処理器11がジグザグスキャン順ではなく横順序でのデータ読み出しを要求する場合に対応でき、また複数データの同時読み出しが可能となる。
また、図19に示すように、4つのバンクA,B,C,Dを縦方向に並列し、アドレス1,2,3,4が横方向に設定すれば、縦順序での複数データ同時読み出しが可能となる。
上記のように構成された本実施の形態によれば、以下の効果を奏する。すなわち、第1のデータバッファ4のデータが後段処理器11の処理を待たずに出力することができる。さらに、データバッファ間の転送をlevelのみにすることができ、その結果、次の可変長復号が行え、さらに復号処理をさらに高速にすることができる。
さらに、第3のデータバッファ15cをバンク構成にし、第3のデータバッファ15cと第2の情報レジスタ17とにデータを書き込む際にアドレスを変換しておくことにより、後段処理へのデータ読み出し順序の多様化が可能となり、かつ複数データの同時読み出しも可能となるので、後段処理の読み出し速度が高速な復号化装置が実現可能となる。
なお、本実施の形態では、第3のデータバッファ15cをバンク構成としたが、第3のデータバッファ15cをビットイネーブル制御が可能なバッファで構成してもよい。その結果、バッファ分割の必要がないので制御信号が削減され、より小さい回路規模での構成が可能となる。
(実施の形態4)
以下、本発明の実施の形態4の可変長復号化装置について図面を参照しながら説明する。図20に本発明の実施の形態4における可変長復号化装置の概略構成を示し、以下に説明する。なお、説明の便宜上、実施の形態1もしくは実施の形態2もしくは実施の形態3と同様の構成については同一の符号を付してその説明を一部省略する。
本実施形態の可変長復号化装置は実施の形態2の可変長復号化装置の構成において、第1のデータバッファ4dがKバンクに分割された状態でJバンク構成されている。さらには、第3のデータバッファ15dと第2の書き込み制御器16dと第2の読み出し制御器18dとが追加されている。
以上のように構成された実施の形態4の可変長復号化装置について、以下、図面を参照しながら動作を説明する。図21は、本発明の実施の形態4の可変長復号化装置における処理の流れ図である。図21に従って処理の流れについて説明する。
可変長復号器3によって、1ブロックに相当するTotalCoeffとlevelとtotal_zerosとrun_beforetとが復号されたうえで(ステップS31)。情報レジスタ7aにrun_beforeが書き込まれる(ステップS32〜S36)。第1の読み出し制御器9aは情報レジスタ7dの格納内容を判断し(ステップS37〜S38)、情報レジスタ7dに“1”が格納されているビットに相当するアドレスを第1のデータバッファ4dに出力することで、そのアドレスに格納されているlevelを第1のデータバッファ4dから読み出す(ステップS39)。
第1の読み出し制御器9aが情報レジスタ7dの格納内容を判断するのと同時に、選択器10aは、情報レジスタ7dのビットが“0”の場合は“0”を、“1”の場合は第1のデータバッファ4dの出力データlevelを、それぞれ第3のデータバッファ15dに出力する(ステップS39)。
第2の書き込み制御器16dは、第1の読み出し制御器9aと連動して、選択器10dからのデータを第3のデータバッファ15dに書き込む(ステップS40)。1ブロック分の第3のデータバッファ15dへの書き込みが終了すると(ステップS41でYes)、第2の読み出し制御器18dは第3のデータバッファ15dからデータを読み出し(ステップS42)、後段処理器11に出力する(ステップS43)。これと同時に可変長復号器3は次のブロックの復号を開始する(ステップS44)。
さらに、可変長復号器3において1ブロックに相当するTotalCoeffとlevelとtotal_zerosとrun_beforeとが復号され(ステップS31)、後段処理器11が処理を終えていれば(ステップS44でYes)、以上の動作を繰り返し(ステップS45)、終了していなければ次データ転送が発生するまで待機する。
図22には第3のデータバッファ15dのバンク構成例を示し、図23には、第1の情報レジスタ7dから、第3のデータバッファ15dと第2の情報レジスタ17とにアドレスを変換する際の変換表を示す。K=4の場合、第1の読み出し制御器9dは4つのデータを同時に第1のデータバッファ4dと第1の情報レジスタ7dとから読み出したうえで、読み出した値それぞれを、情報レジスタ7dの値に基づいて選択器10aにおいて“0”に置き換えさせる。本例に示すバンク構成にしておくことで、第3のデータバッファ15dへの4データの同時書き込みが可能となる。第3のデータバッファ15dはIバンクに分割されたバッファをHバンク保有する構成であるが、HはJと同じか、それよりも大きければ構わない。
図24に実施の形態4におけるデータフローを示す。図12のデータフローとは、第3のデータバッファライトがある点のみにおいて異なる。上記のように構成された本実施の形態によれば、以下の効果を奏する。
後段処理器11の処理を待たずに、第1のデータバッファ4dのデータを出力できるようにしたので、その結果として、次の可変長復号が行え、さらに復号処理を高速化することが可能となる。
また、第1のデータバッファ4dから複数データを読み出すことが可能で、かつ第3のデータバッファ15dへの複数のデータの同時書き込みが可能になったことで、第1のデータバッファ4dから全係数データを読み出した場合でも高速な読み出しが可能であり、第2の情報レジスタを持たずに復号回路を構成することが可能となる。
以上の結果として、小さい回路規模での高速化が可能な復号処理装置を構築することが可能となる。
(実施の形態5)
以下、本発明の実施の形態5の可変長復号化装置について図面を参照しながら説明する。図25に本発明の実施の形態5における可変長復号化装置の概略構成を示し、以下に説明する。なお、説明の便宜上、実施の形態1〜4と同様の構成については同一の符号を付してその説明を一部省略する。
この可変長復号化装置は、実施の形態4の可変長復号化装置と同様の構成を備えるものの、スキャン選択信号19が第2の書き込み制御器16eに入力される点において実施の形態4と異なる。
実施の形態4において、ジグザグスキャン順に読み出される第1のデータバッファ4dからのアドレス変換を説明したが、スキャン選択信号19に応じて変換するアドレスを変えることで、異なるスキャンにも対応することが可能となる。結果として、異なるスキャンモードを有するMPEG4などと第3のデータバッファ15dを共有することができるので、小さい回路規模で複数符号化モードに対応した復号化装置を実現できる。
(実施の形態6)
以下、本発明の実施の形態6の可変長復号化装置について図面を参照しながら説明する。図26に本発明の実施の形態6における可変長復号化装置の概略構成を示し、以下に説明する。なお、説明の便宜上、実施の形態1〜6と同様の構成については同一の符号を付してその説明を一部省略する。なお、本実施の形態においては、1ブロックのデータが4×4個の場合について説明する。
本実施形態の可変長復号化装置は、実施の形態2の可変長復号化装置と同様の構成を備えるものの、データシフト制御器20を追加することでデータバッファ4eをMxN個のデータを同時シフトできるようにし、さらに、読出し制御器9eの制御方法を変更している。以上のように構成された実施の形態7の可変長復号化装置について、以下、図面を参照しながら動作を説明する。図27は、本実施の形態の可変長復号化装置における処理の流れ図である。本実施形態の可変長復号化装置の動作は、実施の形態1の動作に類似しているももの、復号された非ゼロ係数値の大きさを表すlevel(ステップS2)を(ステップS4)の結果に応じてデータシフトを行う(ステップS2−2)点で実施の形態1と異なる。図5に示す実施の形態1の動作例では、(ステップS4)において、12→10→7→5→3→2→1のアドレスが算出される。これはlevelの−1→+1→−3→+8→+11→−4→+23それぞれに対応する。
図28A〜図28Hに(ステップS2−2)で、12→10→7→5→3→2→1のアドレス位置にlevel−1→+1→−3→+8→+11→−4→+23をrun_beforeが演算される毎に移動させた例を示す。図28A〜図28Hは図8に示す読出し順と同様の読出し順として説明する。図28Aは、復号された非ゼロ係数値がデータバッファ4eに置かれた状態(ステップS2)を示す。図28Bは、(ステップS4)により算出された初期アドレス=“12”に基づき、アドレス“12”の位置までデータがシフトされた状態を示す。図28Cは、(ステップS4)により算出されたアドレス=“10”に基づき、アドレス“10”の位置までアドレス“16”〜アドレス“13”のデータを除くデータがシフトされた状態を示す。図28Dは、(ステップS4)により算出されたアドレス=“7”に基づき、アドレス“7”の位置までアドレス“16”〜アドレス“10”のデータを除くデータがシフトされた状態を示す。図28Eは、(ステップS4)により算出されたアドレス=“5”に基づき、アドレス“5”の位置までアドレス“16”〜アドレス“7”のデータを除くデータがシフトされた状態を示す。図28Fは、(ステップS4)により算出されたアドレス=“3”に基づき、アドレス“3”の位置までアドレス“16”〜アドレス“5”のデータを除くデータがシフトされた状態を示す。図28Gは、(ステップS4)により算出されたアドレス=“2”に基づき、アドレス“2”の位置までアドレス“16”〜アドレス“3”のデータを除くデータがシフトされた状態を示す。図28Hは、(ステップS4)により算出されたアドレス=“1”に基づき、アドレス“1”の位置までアドレス“16”〜アドレス“1”のデータを除くデータがシフトされた状態を示す。
情報レジスタ7において、算出したアドレスをlevelのアドレスとして例えば“1”を記憶し、ブロックの残りは“0”を記憶する。(ステップS5)。1ブロック分のアドレス算出が終了したかを判断し、まだのときはステップS1に戻り、終了したときは読み出しの処理に進む(ステップS6)。図29は、図26の可変長復号化装置における、データフローの例である。J=2の2バンク構成を例として説明する。
本実施形態のデータフローは、実施の形態2に類似しているものの、run_beforeのデコードにおいて、情報レジスタ7bのバンクAにデータが書き込まれる際、データバッファ4bのバンクAのシフト動作を行う点で異なり、読み出しにおいては、情報レジスタ7bのバンクAの値に基づいて読み出しアドレス算出を行うのではなく、そのまま初期値1からアドレスを1ずつインクリメントしてデータバッファ4bのバンクAを読み出す点で異なる。以上のように構成された本実施の形態によれば、以下の効果を奏する。
データシフト制御器20を設けたことで、H.264の可変長符号化データでも情報レジスタ7を活用することが可能となり、情報レジスタの値を用いてデータバッファアドレスを算出する必要がないのでその読出し制御回路を簡易に作成できる。
(実施の形態7)
図30は、本発明の実施の形態6における撮像システム50、例えばデジタルスチルカメラ(DSC)の構成を示す図である。図30中の信号処理装置55は、上記本発明の実施の形態1〜5の可変長復号化装置のうちいずれかである。
図30によれば、光学系51を通って入射した画像光はイメージセンサ52上に結像される。イメージセンサ52はタイミング制御回路58によって駆動されることにより、結像された画像光を蓄積し、電気信号へと光電変換する。イメージセンサ52から読み出された電気信号は、アナログ・デジタル変換器(ADC)53によってデジタル信号へと変換された後、信号処理装置55を含む画像処理回路54に入力される。この画像処理回路54においては、Y/C処理、エッジ処理、画像の拡大縮小、および本発明を用いた画像圧縮伸張処理などの画像処理が行われる。画像処理された信号は、記録転送回路56においてメディアへの記録あるいは転送が行われる。記録あるいは転送された信号は、再生回路57により再生される。この撮像システム50の全体は、システム制御回路59によって制御される。
なお、本発明の実施の形態の信号処理装置55における画像処理は必ずしも光学系51を介してイメージセンサ52に結像された画像光に基づく信号のみに適用されるものではなく、例えば外部装置から電気信号として入力される画像信号を処理する際にも適用可能であることは言うまでもない。
以上説明してきたように、本発明の可変長復号化装置および可変長復号化方法は、データバッファに格納されたデータに対する情報をアドレス保持器によって把握できることにより、ゼロ以外のデータのみ読み出すことが可能となる。そのため、読み出し時間を短縮化することが可能となって、全体として可変長復号化処理を高速化することができる。また、低消費電力を実現できるため、高速な復号化処理が要求される画像復号システム等への応用が可能である。
特に近年、低ビットレート符号化技術として注目を集めているH.264を搭載したカメラ付き携帯電話やDSCなどにも有用な装置を提供することが可能である。
本発明の実施の形態1における可変長復号化装置の構成を示すブロック図。 本発明の実施の形態1における可変長復号化装置の動作を示すフローチャート。 ブロックデータの実例と逆ジグザグスキャンの説明図; ブロックデータの一次元化説明図。 図3の実例における復号データ。 図3の実例を用いた図1の装置におけるアドレス遷移説明図。 本発明の実施の形態1における可変長復号化装置の構成を示すブロック図(データバッファK分割)。 図3の実例を用いた図7の装置におけるアドレス遷移説明図。 図3の実例を用いた図7の装置における2係数読み出し時のアドレス遷移説明図。 本発明の実施の形態2における可変長復号化装置の構成を示すブロック図。 本発明の実施の形態2における処理フロー図。 本発明の実施の形態2における可変長復号化装置の構成を示すブロック図(第2のデータバッファ)。 本発明の実施の形態2における処理フロー図(第2のデータバッファ)。 本発明の実施の形態3における可変長復号化装置の構成を示すブロック図。 本発明の実施の形態3における可変長復号化装置の動作を示すフローチャート。 本発明の実施の形態3における可変長復号化装置の構成を示すブロック図(第3のデータバッファI分割)。 実施の形態3における第3のデータバッファの構成と図3の実例を用いたアドレス変換例の説明図。 実施の形態3におけるアドレス変換テーブル例の説明図。 実施の形態3における第3のデータバッファの別の構成。 本発明の実施の形態4における可変長復号化装置の構成を示すブロック図。 本発明の実施の形態4における可変長復号化装置の動作を示すフローチャート。 図3の実例を用いた実施の形態4におけるバンク構成例の説明図。 実施の形態4におけるアドレス変換テーブル例の説明図。 本発明の実施の形態4における処理フロー図。 本発明の実施の形態5における可変長復号化装置の構成を示すブロック図。 本発明の実施の形態6における可変長復号化装置の構成を示すブロック図。 実施の形態6における可変長復号化装置の動作を示すフローチャート。 実施の形態6におけるデータ遷移例(その1)である。 実施の形態6におけるデータ遷移例(その2)である。 実施の形態6におけるデータ遷移例(その3)である。 実施の形態6におけるデータ遷移例(その4)である。 実施の形態6におけるデータ遷移例(その5)である。 実施の形態6におけるデータ遷移例(その6)である。 実施の形態6におけるデータ遷移例(その7)である。 実施の形態6におけるデータ遷移例(その8)である。 実施の形態6における処理フロー図である。 本発明の実施の形態7における撮像システムの構成を示すブロック図である。 代表的な画像符号化装置の構成を示すブロック図である。 DCT係数の一例の説明図である。 復号後の量子化DCT係数とジグザグスキャンの説明図である。 代表的な画像復号装置の構成を示すブロック図である。 従来の技術における可変長復号部の構成を示すブロック図である。 従来の技術におけるランレングス符号の復号回路の構成を示すブロック図である。 H.264おけるブロック構成とジグザグスキャンの説明図である。
符号の説明
2 入力器
3 可変長復号器
4 第1のデータバッファ
5 初期アドレス算出器
6 アドレス演算器
7 情報レジスタ
8 書き込み制御器
9 読み出し制御器
10 選択器
11 後段処理器
12 出力器
13 バンク制御器
14 第2のデータバッファ
16 第2の書き込み制御器
17 第2の情報レジスタ
18 第2の読み出し制御器
19 スキャン選択信号
50 撮像システム
51 光学系
52 イメージセンサ
53 アナログ・デジタル変換器
54 画像処理回路
55 信号処理装置(可変長復号化装置)
56 記録転送回路
57 再生回路
58 タイミング制御回路
59 システム制御回路

Claims (37)

  1. 可変長符号化・ランレングス符号化データを復号する可変長復号化装置であって、
    外部から入力される前記可変長符号化・ランレングス符号化データを、非ゼロ係数の個数を表すTotalCoeffと、非ゼロ係数値の大きさを表すlevelと、データスキャン方向において最後のlevelより前のゼロ係数の個数を表すtotal_zerosと、データスキャン方向において前記levelの前のゼロ係数の連続個数を表すrun_beforeとに順次復号する可変長復号器と、
    前記levelを格納する第1のデータバッファと、
    前記levelをデコードされた順に前記第1のデータバッファに書き込む書き込み制御器と、
    前記TotalCoeffと前記total_zerosのゼロ係数の個数とから前記levelの初期アドレスを算出する初期アドレス算出器と、
    前記初期アドレスと前記run_beforeによるゼロ係数の個数とに基づいてこれらのデータに対応する前記levelのアドレスを確定して保持するアドレス保持器と、
    前記アドレス保持器が保持しているアドレス情報に基づいて、前記第1のデータバッファから前記levelを読み出す読み出し制御器と、
    前記アドレス保持器が保持しているアドレス情報に基づいて、前記第1のデータバッファに格納されている前記levelと前記ゼロ係数とのうちのいずれかのデータを選択する選択器と、
    前記選択器が選択するデータを後段処理する後段処理器と、
    を備える、
    可変長復号化装置。
  2. 前記アドレスの保持器は、
    前記初期アドレスと前記run_beforeの個数とに基づいてこれらのデータに対応する前記levelのアドレスを演算するアドレス演算器と、
    前記アドレス演算器が演算する前記levelのアドレスと前記TotalCoeffとに基づいて前記選択器と前記読み出し制御器とを制御する情報レジスタと、
    を含む、
    請求項1の可変長復号化装置。
  3. 前記書き込み制御器は、
    前記TotalCoeffのアドレスから前記total_zerosの値を順次減算することで実効アドレスを算定して当該実効アドレスを前記データバッファに書き込む、
    請求項1の可変長復号化装置。
  4. 前記第1のデータバッファは、K個(Kは2以上の自然数)のバンクで前記levelを交互に格納したうえで、前記情報レジスタの値に基づいてK個のデータを同時に読み出すものである、
    請求項2の可変長復号化装置。
  5. 前記初期アドレスと前記run_beforeとを格納する第2のデータバッファをさらに備える、
    請求項1の可変長復号化装置。
  6. バンク制御器をさらに備え、
    前記第1のデータバッファと前記情報レジスタとは、複数組のバンク構成を有しており、
    前記バンク制御器は、前記情報レジスタと前記第1のデータバッファとのそれぞれにおいて、前記複数のバンクを切り替える、
    請求項1の可変長復号化装置。
  7. 前記バンク制御器は、前記情報レジスタと前記複数のデータバッファとにおいて選択した前記バンクにのみクロックを供給する、
    請求項6の可変長復号化装置。
  8. さらに、前記第1のデータバッファの格納データをさらに格納する第3のデータバッファと、
    前記読み出し制御器の動作に連動して前記第3のデータバッファへの書き込みを制御する第2の書き込み制御器と、
    前記情報レジスタと同一のレジスタ値を前記第2の書き込み制御器を介して受け取って格納する第2の情報レジスタと、
    前記第2の情報レジスタが格納している前記レジスタ値に基づいて前記第3のデータバッファの読み出しを制御する第2の読み出し制御器と、
    を備え、
    前記選択器は、前記第2の情報レジスタが格納している前記レジスタ値に基づいて前記第3のデータバッファに格納されている前記levelと前記ゼロ係数とのうちいずれかを選択して出力し、
    前記後段処理器は、前記選択器が選択するデータを後段処理する、
    請求項2の可変長復号化装置。
  9. さらに、前記選択器によって選択されたデータを格納する第3のデータバッファと、
    前記読み出し制御器の動作に連動して前記第3のデータバッファへの書き込みを制御する第2の書き込み制御器と、
    前記第3のデータバッファの読み出しを制御する第2の読み出し制御器と、
    を備え、
    前記後段処理器は、前記第3のデータバッファの出力データを後段処理して外部へ出力する、
    請求項1の可変長復号化装置。
  10. 前記第3のデータバッファは、複数のデータバッファ行またはデータバッファ列で構成され、
    前記第2の書き込み制御器は、前記第1のデータバッファから読み出したデータを、前記第1のデータバッファにおけるアドレスとは異なる前記第3のデータバッファのアドレス位置に書き込んだうえで、当該第3のデータバッファにおけるデータ格納アドレスを前記第2の情報レジスタに記憶し、
    前記第2の読み出し制御器は、前記第2の情報レジスタの記憶情報に基づいて前記第3のデータバッファから複数データを同時読み出しする、
    請求項8の可変長復号化装置。
  11. 前記第3のデータバッファは、複数のデータバッファ行またはデータバッファ列で構成され、
    前記第2の書き込み制御器は、前記第1のデータバッファから読み出したデータを、前記第1のデータバッファにおけるアドレス位置とは異なる前記第3のデータバッファのアドレス位置に書き込んだうえで、当該第3のデータバッファにおけるデータ格納アドレスを前記第2の情報レジスタに記憶し、
    前記第2の読み出し制御器は、前記第2の情報レジスタの記憶情報に基づいて前記第3のデータバッファから複数データを同時読み出しする、
    請求項9の可変長復号化装置。
  12. 前記第3のデータバッファは、複数のデータバッファ行またはデータバッファ列の配列を変更可能であり、
    前記第2の書き込み制御器は、前記第1のデータバッファから読み出した複数のデータを同時に前記第3のデータバッファに書き込む、
    請求項10の可変長復号化装置。
  13. 前記第3のデータバッファは、複数のデータバッファ行またはデータバッファ列の配列を変更可能であり、
    前記第2の書き込み制御器は、前記第1のデータバッファから読み出した複数のデータを同時に前記第3のデータバッファに書き込む、
    請求項11の可変長復号化装置。
  14. 前記第3のデータバッファは、ビットイネーブル制御が可能なメモリから構成され、
    前記第2の書き込み制御器は、前記第1のデータバッファから読み出したデータを、前記第1のデータバッファにおけるアドレス位置とは異なる前記第3のデータバッファのアドレス位置に書き込んだうえで、当該第3のデータバッファにおけるデータ格納アドレスを前記情報レジスタに記憶し、
    前記第2の読み出し制御器は、前記情報レジスタの情報に基づいて前記第3のデータバッファから複数データを同時読み出しする、
    請求項8の可変長復号化装置。
  15. 前記第3のデータバッファは、ビットイネーブル制御が可能なメモリから構成され、
    前記第2の書き込み制御器は、前記第1のデータバッファから読み出したデータを、前記第1のデータバッファにおけるアドレス位置とは異なる前記第3のデータバッファのアドレス位置に書き込んだうえで、当該第3のデータバッファにおけるデータ格納アドレスを前記情報レジスタに記憶し、
    前記第2の読み出し制御器は、前記情報レジスタの情報に基づいて前記第3のデータバッファから複数データを同時読み出しする、
    請求項9の可変長復号化装置。
  16. 前記第2の書き込み制御器には、スキャン情報が入力され、当該スキャン情報によって前記第3のデータバッファの書き込みアドレスを変更する、
    請求項8の可変長復号化装置。
  17. 前記第2の書き込み制御器には、スキャン情報が入力され、当該スキャン情報によって前記第3のデータバッファの書き込みアドレスを変更する、
    請求項9の可変長復号化装置。
  18. 前記後段処理器は逆量子化処理器である、
    請求項1の可変長復号化装置。
  19. 可変長符号化・ランレングス符号化データを復号する可変長復号化装置であって、
    外部から入力される前記可変長符号化・ランレングス符号化データを、非ゼロ係数の個数を表すTotalCoeffと、非ゼロ係数値の大きさを表すlevelと、データスキャン方向において最後のlevelより前のゼロ係数の個数を表すtotal_zerosと、データスキャン方向においてlevelの前のゼロ係数の連続個数を表すrun_beforeとに順次復号する可変長復号器と、
    前記levelを格納する第1のデータバッファと、
    前記levelをデコードされた順に前記第1のデータバッファに書き込む書き込み制御器と、
    前記TotalCoeffと前記total_zerosのゼロ係数の個数とから前記levelの初期アドレスを算出する初期アドレス算出器と、
    前記初期アドレスと前記run_beforeによるゼロ係数の個数とに基づいてこれらのデータに対応する前記levelのアドレスを確定して保持するアドレス保持器と、
    前記初期アドレスと前記run_beforeによるゼロ係数の個数とに基づいて当該これらのデータに対応するアドレス位置に、前記levelをシフトさせるデータシフト制御器と、
    前記アドレス保持器が保持しているアドレス情報に基づいて、前記第1のデータバッファから前記levelを読み出す読み出し制御器と、
    前記アドレス保持器が保持しているアドレス情報に基づいて、前記第1のデータバッファに格納されている前記levelと前記ゼロ係数とのうちのいずれかのデータを選択する選択器と、
    前記選択器が選択するデータを後段処理する後段処理器と、
    を備える、
    可変長復号化装置。
  20. 前記アドレスの保持器は、
    前記初期アドレスと前記run_beforeの個数とに基づいてこれらのデータに対応する前記levelのアドレスを演算するアドレス演算器と、
    前記アドレス演算器が演算する前記levelのアドレスと前記TotalCoeffに基づいて前記選択器と前記読み出し制御器を制御する情報レジスタと、
    を含む、
    請求項19の可変長復号化装置。
  21. 前記書き込み制御器は、
    前記TotalCoeffのアドレスから前記total_zerosの値を順次減算することで実効アドレスを算定して当該実効アドレスを前記データバッファに書き込む、
    請求項19の可変長復号化装置。
  22. 前記第1のデータバッファは、K個(Kは2以上の自然数)のバンクで前記levelを交互に格納したうえで、前記情報レジスタの値に基づいてK個のデータを同時に読み出すものである、
    請求項19の可変長復号化装置。
  23. 前記初期アドレスと前記run_beforeとを格納する第2のデータバッファをさらに備える、
    請求項19の可変長復号化装置。
  24. バンク制御器をさらに備え、
    前記第1のデータバッファと前記情報レジスタとは、複数組のバンク構成を有しており、
    前記バンク制御器は、前記情報レジスタと前記第1のデータバッファとのそれぞれにおいて、前記複数のバンクを切り替える、
    請求項19の可変長復号化装置。
  25. 前記バンク制御器は、前記情報レジスタと前記複数のデータバッファとにおいて選択した前記バンクにのみクロックを供給する、
    請求項24の可変長復号化装置。
  26. 前記後段処理器は逆量子化処理器である、
    請求項19の可変長復号化装置。
  27. 請求項1の可変長復号化装置を含んで画像処理を行う画像処理回路と、
    前記画像処理回路へ画像信号を出力するセンサと、
    前記センサへ光を結像する光学系と、
    を備える撮像システム。
  28. 前記センサから得た画像信号をデジタル信号に変換して前記画像処理回路へ供給する変換器を、
    さらに備える、
    請求項27の撮像システム。
  29. 請求項22の可変長復号化装置を含んで画像処理を行う画像処理回路と、
    前記画像処理回路へ画像信号を出力するセンサと、
    前記センサへ光を結像する光学系と、
    を備える、
    撮像システム。
  30. 前記センサから得た画像信号をデジタル信号に変換して前記画像処理回路へ供給する変換器を、さらに備える、
    請求項29の撮像システム。
  31. 可変長符号化・ランレングス符号化データを復号する可変長復号化方法であって、
    前記可変長符号化・ランレングス符号化データを獲得する獲得ステップと、
    獲得した前記可変長符号化・ランレングス符号化データから、非ゼロ係数の個数を表すTotalCoeffと、非ゼロ係数値の大きさを表すlevelと、データスキャン方向において最後の非ゼロ係数以前のゼロ係数の個数を表すtotal_zerosと、データスキャン方向において非ゼロ係数値の前のゼロ係数の連続個数を表すrun_beforeとを順次復号する復号ステップと、
    前記levelを第1のデータバッファに格納する格納ステップと、
    前記TotalCoeffの非ゼロ係数の個数と前記total_zerosのゼロ係数の個数とから前記levelの初期アドレスを算出する算出ステップと、
    前記初期アドレスの算出結果と前記run_beforeによるゼロ係数の個数とに基づいてこれらのデータに対応する前記非ゼロ係数のアドレスを確定する確定ステップと、
    前記非ゼロ係数のアドレスに基づいて、前記データバッファから前記levelを読み出す読み出しステップと、
    前記非ゼロ係数のアドレスに基づいて、前記第1のデータバッファに格納されている前記levelとゼロ係数とのうちいずれかを選択する選択ステップと、
    選択したデータを後段処理する後段処理ステップと、
    を含む、
    可変長復号化方法。
  32. さらに、前記データバッファから読み出された前記levelもう一つのデータバッファに格納するもう一つの格納ステップと、
    前記levelのアドレスと前記TotalCoeffとに基づいて前記選択ステップと前記読み出しステップとを制御する情報レジスタを設けたうえで、当該情報レジスタの値に基づいて前記もう一つのデータバッファから前記levelを読み出すもう一つの読み出しステップと、
    前記情報レジスタの値に基づいて前記もう一つのデータバッファに格納されている前記levelと前記ゼロ係数とのうちのいずれかを選択するもう一つの選択ステップと、
    を含み、
    前記もう一つの格納ステップは、前記もう一つのデータバッファが書き込める状態であれば処理を実行する、
    請求項31の可変長復号化方法。
  33. 前記データバッファに格納されている前記levelと前記非ゼロ係数とのうちから選択したデータをもう一つのデータバッファに格納するもう一つの格納ステップと、
    前記もう一つのデータバッファからデータを読み出すもう一つの読み出しステップと、
    前記もう一つのデータバッファから読み出した前記データを後段処理するもう一つの後段処理ステップと、
    をさらに含み、
    前記もう一つの格納ステップは、前記もう一つのデータバッファが書き込める状態であれば処理を実行する、
    請求項31の可変長復号化方法。
  34. 外部から入力されるスキャン情報に基づいて前記情報レジスタの書き込みアドレスを変換する変換ステップをさらに含み、
    前記もう一つの格納ステップは、前記levelを、前記スキャン情報に基づいて所定の走査順に変換したうえで前記もう一つのデータバッファに格納する、
    請求項32の可変長復号化方法。
  35. 前記後段処理ステップは逆量子化ステップである、
    請求項31の可変長復号化方法。
  36. 可変長符号化・ランレングス符号化データを復号する可変長復号化方法であって、
    前記可変長符号化・ランレングス符号化データを獲得する獲得ステップと、
    獲得した前記可変長符号化・ランレングス符号化データから、非ゼロ係数の個数を表すTotalCoeffと、非ゼロ係数値の大きさを表すlevelと、データスキャン方向において最後の非ゼロ係数以前のゼロ係数の個数を表すtotal_zerosと、データスキャン方向において非ゼロ係数値の前のゼロ係数の連続個数を表すrun_beforeを順次復号する復号ステップと、
    前記levelを第1のデータバッファに格納する格納ステップと、
    前記TotalCoeffの非ゼロ係数の個数と前記total_zerosのゼロ係数の個数とから前記levelの初期アドレスを算出する算出ステップと、
    前記初期アドレスの算出結果と前記run_beforeによるゼロ係数の個数とに基づいてこれらのデータに対応する前記非ゼロ係数のアドレスを確定する確定ステップと、
    前記初期アドレスの算出結果と前記run_beforeによるゼロ係数の個数とに基づいてこれらのデータに対応する前記levelのアドレス位置に、前記levelをシフトさせるシフトステップと、
    前記確定ステップで確定したアドレス情報に基づいて、前記第1のデータバッファに格納されている前記levelを読み出す読み出しステップと、
    前記確定ステップで確定したアドレス情報に基づいて、前記第1のデータバッファに格納されている前記levelとゼロ係数とのうちのいずれかのデータを選択する選択ステップと、
    前記選択ステップによって選択されたデータを後段処理する後段処理ステップと、
    を含む可変長復号化方法。
  37. 前記後段処理ステップは逆量子化ステップである、
    請求項36の可変長復号化方法。
JP2007116889A 2006-05-11 2007-04-26 可変長復号化装置、可変長復号化方法および撮像システム Pending JP2007329903A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007116889A JP2007329903A (ja) 2006-05-11 2007-04-26 可変長復号化装置、可変長復号化方法および撮像システム
US11/798,325 US7929777B2 (en) 2006-05-11 2007-05-11 Variable length decoding device, variable length decoding method and image capturing system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006132378 2006-05-11
JP2007116889A JP2007329903A (ja) 2006-05-11 2007-04-26 可変長復号化装置、可変長復号化方法および撮像システム

Publications (1)

Publication Number Publication Date
JP2007329903A true JP2007329903A (ja) 2007-12-20

Family

ID=38685212

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007116889A Pending JP2007329903A (ja) 2006-05-11 2007-04-26 可変長復号化装置、可変長復号化方法および撮像システム

Country Status (2)

Country Link
US (1) US7929777B2 (ja)
JP (1) JP2007329903A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010152446A (ja) * 2008-12-24 2010-07-08 Aisin Aw Co Ltd 可変長オフセットアクセス方法、可変長オフセットアクセス装置、可変長オフセットデータベース作成方法及び可変長オフセットアクセス装置の記録媒体
JP2010152447A (ja) * 2008-12-24 2010-07-08 Aisin Aw Co Ltd 可変長オフセット書替装置、可変長オフセット書替方法及び可変長オフセット書替装置の記録媒体
WO2010095181A1 (ja) * 2009-02-23 2010-08-26 パナソニック株式会社 可変長復号化装置
JP2011188431A (ja) * 2010-03-11 2011-09-22 Hitachi Kokusai Electric Inc 可変長復号装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108604855B (zh) * 2016-07-13 2020-07-03 富士电机株式会社 功率模块
CN112449201B (zh) * 2019-08-30 2021-12-17 腾讯科技(深圳)有限公司 解码方法、编码方法、相应的装置、电子设备及存储介质
CN112181865B (zh) * 2020-09-09 2024-05-31 北京爱芯科技有限公司 地址编码方法、装置、解码方法、装置及计算机存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001095637A1 (en) * 2000-06-02 2001-12-13 Matsushita Electric Industrial Co., Ltd. Image processing apparatus, and image processing method
JP2006074197A (ja) * 2004-08-31 2006-03-16 Matsushita Electric Ind Co Ltd 可変長復号化装置、可変長復号化方法および撮像システム
JP2006287862A (ja) * 2005-04-05 2006-10-19 Canon Inc 復号化装置
JP2007295156A (ja) * 2006-04-24 2007-11-08 Matsushita Electric Ind Co Ltd 符号化装置、符号化方法、符号化プログラム及び符号化プログラムを記録した記録媒体

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5369405A (en) * 1992-05-19 1994-11-29 Goldstar Co., Ltd. Coefficient generation apparatus for variable length decoder
KR100197190B1 (ko) * 1994-10-12 1999-06-15 모리시다 요이치 런렝스 부호의 복호회로
US6263109B1 (en) * 1998-09-25 2001-07-17 Hewlett-Packard Company Context-based ordering and coding of transform coefficient bit-planes for embedded bitstreams
US6510247B1 (en) * 1998-09-25 2003-01-21 Hewlett-Packard Company Decoding of embedded bit streams produced by context-based ordering and coding of transform coeffiecient bit-planes
KR100992246B1 (ko) * 2001-11-22 2010-11-05 파나소닉 주식회사 부호화 방법 및 부호화 장치
KR100959532B1 (ko) 2003-12-18 2010-05-27 엘지전자 주식회사 Cavlc 복호 방법
US7519229B2 (en) * 2004-03-30 2009-04-14 Apple, Inc. Video coding system providing separate coding chains for dynamically selected small-size or full-size playback
US20060104351A1 (en) * 2004-11-15 2006-05-18 Shu-Wen Teng Video/image processing devices and methods
US20060104521A1 (en) * 2004-11-15 2006-05-18 Shu-Wen Teng Image processing devices and methods
US7830964B2 (en) 2004-11-24 2010-11-09 Lsi Corporation Method and/or apparatus for parsing compressed video bitstreams

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001095637A1 (en) * 2000-06-02 2001-12-13 Matsushita Electric Industrial Co., Ltd. Image processing apparatus, and image processing method
JP2006074197A (ja) * 2004-08-31 2006-03-16 Matsushita Electric Ind Co Ltd 可変長復号化装置、可変長復号化方法および撮像システム
JP2006287862A (ja) * 2005-04-05 2006-10-19 Canon Inc 復号化装置
JP2007295156A (ja) * 2006-04-24 2007-11-08 Matsushita Electric Ind Co Ltd 符号化装置、符号化方法、符号化プログラム及び符号化プログラムを記録した記録媒体

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010152446A (ja) * 2008-12-24 2010-07-08 Aisin Aw Co Ltd 可変長オフセットアクセス方法、可変長オフセットアクセス装置、可変長オフセットデータベース作成方法及び可変長オフセットアクセス装置の記録媒体
JP2010152447A (ja) * 2008-12-24 2010-07-08 Aisin Aw Co Ltd 可変長オフセット書替装置、可変長オフセット書替方法及び可変長オフセット書替装置の記録媒体
WO2010095181A1 (ja) * 2009-02-23 2010-08-26 パナソニック株式会社 可変長復号化装置
JP2011188431A (ja) * 2010-03-11 2011-09-22 Hitachi Kokusai Electric Inc 可変長復号装置

Also Published As

Publication number Publication date
US7929777B2 (en) 2011-04-19
US20070263939A1 (en) 2007-11-15

Similar Documents

Publication Publication Date Title
JP4495034B2 (ja) 可変長符号化方式および可変長符号化装置
US7489348B2 (en) Digital camera for recording a still image while shooting moving image
JP4682102B2 (ja) 画像符号化装置及び画像符号化方法
US7102551B2 (en) Variable length decoding device
JP5520122B2 (ja) データ変換装置
JP2007329903A (ja) 可変長復号化装置、可変長復号化方法および撮像システム
JP2009273106A (ja) エントロピー復号化回路、エントロピー復号化方法、およびパイプライン方式を利用したエントロピー復号化方法
JP2007306152A (ja) 画像復号化装置及び画像復号化方法
KR100192696B1 (ko) 화상 재생 방식 및 장치
JP2008182527A (ja) 画像符号化装置及び方法、並びに撮像システム
US7542612B2 (en) Signal processing method and signal processing device
JP4590335B2 (ja) 画像処理装置及び画像処理方法
JP3696490B2 (ja) デコーダのビデオメモリ条件を減少させる方法及びビデオデコーダ
JP2008252874A (ja) 動画像符号化方法、動画像復号化方法、動画像符号化装置及び動画像復号化装置
JP2009232454A (ja) 高域係数用符号化ブロックパターン生成方法及び装置
JP4559785B2 (ja) 信号処理方法および信号処理装置
JP2005101731A (ja) 可変長符号復号化装置および可変長符号復号化方法
JP2011023817A (ja) 画像符号化装置
WO2010095181A1 (ja) 可変長復号化装置
JPH11308620A (ja) 画像復号装置
JP2007104155A (ja) 画像復号装置
JP2001245299A (ja) 画像処理装置および画像処理方法
JP3984981B2 (ja) 画像符号化方法、その装置及びそのプログラム並びに画像復号化方法、その装置及びそのプログラム
KR100232490B1 (ko) 이산 코사인 변환 계수의 지그재그 스캔을 위한 판독 어드레스 발생장치
JP4338727B2 (ja) 画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100301

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110705

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111101