JP4101034B2 - 符号化装置及び方法 - Google Patents

符号化装置及び方法 Download PDF

Info

Publication number
JP4101034B2
JP4101034B2 JP2002331140A JP2002331140A JP4101034B2 JP 4101034 B2 JP4101034 B2 JP 4101034B2 JP 2002331140 A JP2002331140 A JP 2002331140A JP 2002331140 A JP2002331140 A JP 2002331140A JP 4101034 B2 JP4101034 B2 JP 4101034B2
Authority
JP
Japan
Prior art keywords
data
zero
value
encoding
information
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 - Lifetime
Application number
JP2002331140A
Other languages
English (en)
Other versions
JP2004166083A (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 JP2002331140A priority Critical patent/JP4101034B2/ja
Priority to CNB2003101181468A priority patent/CN1262122C/zh
Priority to US10/714,358 priority patent/US7515761B2/en
Publication of JP2004166083A publication Critical patent/JP2004166083A/ja
Application granted granted Critical
Publication of JP4101034B2 publication Critical patent/JP4101034B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/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
    • 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/124Quantisation
    • 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
    • H04N19/146Data rate or code amount at the encoder output
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (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)

Description

【0001】
【発明の属する技術分野】
本発明は、ランレングス符号化と可変長符号化の双方を用いる符号化装置及び方法に関する。特に、画像データを圧縮する画像圧縮技術で用いられている符号化装置及び方法に関する。
【0002】
【従来の技術】
ランレングス符号化処理と可変長符号化処理を用いる符号化方法は、画像データの一般的な圧縮技術であるJPEG(Joint PhotographicExperts Group)やMPEG(Moving Picture Experts Group)で用いられており、デジタルカメラやデジタルビデオカメラの普及、通信技術の発達等に伴って、少ない情報量でデータ転送を行うことができる技術として広く普及している。
【0003】
図30に、従来の画像圧縮装置の代表的な構成図を示す。図30において、DCT(Discrete Cosine Transform)部801は、あらかじめ1ブロック8×8個に分割されて順次入力されてきた画像データに対して周波数変換を行い、DCT係数を生成するものである。
【0004】
一般に自然画像においては、大部分が色の変化は滑らかである。したがって、周波数変換を行うことによって生成される図31に示すようなDCT係数分布においては、低周波領域fに大きな値を有するDCT係数が集中し、高周波領域gには小さな値を有するDCT係数が分布するようになる。
【0005】
次に、生成されたDCT係数に対して、量子化部802において、予め設定された量子化値でDCT係数を除算することによって量子化係数を生成する。かかる処理を行うことによって、画質的に影響を与えない高周波領域gについては、値が0(ゼロ)となるように量子化係数を集中させることが可能となる。
【0006】
そして、符号化部803において、値が0(ゼロ)であるデータの個数と量子化係数の値との組み合わせの出現率に合わせて長さの異なる符号語を割り当てることによって、データ全体の容量を小さくすることになる。
【0007】
図32は、従来の画像圧縮装置における符号化部803の構成図である。図32において、入力手段804から入力された1ブロック8×8個のデータに関する量子化係数が、書き込み制御手段806の制御によってデータバッファ805へ書き込まれ、読み出し制御手段807の制御によってデータバッファ805から図4に示すようなジグザグスキャンを行うことによって順次読み出される。
【0008】
ランレングス符号化手段808では、比較判定手段811において、読み出し制御手段807によって順次読み出された量子化係数が0(ゼロ)であるか否かについて判断し、量子化係数が0(ゼロ)である場合には、その個数をランレングスカウンタ812に累積し、0(ゼロ)でない場合には、ランレングスカウンタ812を‘0’に初期化する。そして、量子化係数が0(ゼロ)でない場合に読み出された量子化係数の値を示すLEVEL信号と、現時点における量子化係数が0(ゼロ)である場合の累積個数を示すRUN信号を出力する。
【0009】
可変長符号化手段809では、ランレングス符号化手段808からの出力信号であるRUN信号及びLEVEL信号を用いて可変長符号化を行い、符号データを出力することになる。
【0010】
しかしながら、上述したような構成では、LEVEL信号とともにRUN信号も用いて符号化処理を行っていることから、値が0(ゼロ)である量子化係数を連続して読み出し、ランレングスカウンタ812に当該連続する個数を累積している間は、可変長符号化手段809において符号化処理を行うことができないため、符号化処理に待ち時間が発生してしまい、全体として符号化処理の高速化が図れないという問題点があった。
【0011】
このような問題の一つの解決案として、(特許文献1)に開示されているような画像圧縮装置が提案されている。
【0012】
(特許文献1)においては、図33に示すように、DCT/量子化部21において、量子化されたDCT係数CF1を出力している。また、ランレングスカウンタ23は、DCT係数CF1が0(ゼロ)である場合にはゼロフラグZFを‘1’に設定し、DCT係数CF1が0(ゼロ)でない場合にはゼロフラグZFを‘0(ゼロ)’に設定する。
【0013】
ランレングスRL1は、DCT係数CF1中において、連続して値が0(ゼロ)となっている個数を示している。ランレングスRL1を求めることにより、ランレングス符号化が行われる。すなわち、ランレングスカウンタ23は、図32におけるランレングスを求めるランレングス符号化手段808に対応している。
【0014】
バッファコントローラ24は、ゼロフラグZF、ランレングスRL1及びDCT係数CF1に応じて、書き込みデータWDをバッファ22のアドレスWAに書き込む。
【0015】
DCT係数CF1が0(ゼロ)でない場合、書き込みデータWDは、上位1ビットがゼロフラグZF=‘0(ゼロ)’とCF1とで構成される。
【0016】
DCT係数CF1が0(ゼロ)である場合、書き込みデータWDは、上位1ビットがゼロフラグZF=‘1’とランレングスRL1とで構成される。
【0017】
ゼロフラグZFが連続して‘1’である場合、すなわちDCT係数CF1が連続して0(ゼロ)である場合には、アドレスWAが変化しないことによって最終的にゼロフラグZF=‘1’とランレングスRL1で構成される書き込みデータWDを、1つのアドレスにのみ格納することができる。
【0018】
バッファコントローラ24は、バッファ22のアドレスRAからデータRDを読み出し、ランレングスRL2とDCT係数CF2を一対のデータとして可変長符号化部25に供給することになる。
【0019】
【特許文献1】
特開2000−50271号公報
【0020】
【発明が解決しようとする課題】
しかしながら、(特許文献1)に開示されているような画像圧縮装置においては、値が0(ゼロ)である量子化係数を連続して読み出し、ランレングスカウンタ23に当該連続する個数を累積している間、符号化処理が継続できないという問題点は解消するものの、ランレングスRL1のバッファへの書き込み、及びランレングスRL2のバッファからの読み出しという処理は残っており、値が0(ゼロ)である量子化係数が連続する個数をバッファへ書き込み、読み出す処理が終了するまでは、可変長符号化部25において符号化処理を行うことができない。すなわち、時間は短くなってはいるものの、依然として従来と同様の待ち時間が発生していることから、全体としてさらなる符号化処理の高速化が図れないという問題点が残されていた。
【0021】
本発明は、上記問題点を解決するために、可変長符号化処理を行う待ち時間をさらに少なくすることによって、より符号化処理の高速化を図ることができる符号化装置及び方法を提供することを目的とする。
【0022】
【課題を解決するための手段】
上記目的を達成するために本発明にかかる符号化装置は、ランレングス符号化と可変長符号化を行う符号化装置であって、1ブロックm×n個のデータを順次入力する入力手段と、入力手段から入力された前記データに対して値が0(ゼロ)であるか否かを判定する比較判定手段と、比較判定手段において判定されたデータの値が0(ゼロ)であるか否かに関する情報を格納するm×nビットの情報レジスタと、入力手段から入力されたデータを格納するデータバッファと、情報レジスタに格納されているデータの値が0(ゼロ)であるか否かに関する情報に基づいて、データバッファからデータの読み出しを制御する読み出し制御手段と、データバッファから読み出されたデータと、情報レジスタに格納されているデータの値が0(ゼロ)であるか否かに関する情報を用いてランレングス符号化を行うランレングス符号化手段と、ランレングス符号化手段において求まった、連続して値が0(ゼロ)であるデータの個数と、データとの一対のデータを用いて可変長符号化を行う可変長符号化手段とを含むことを特徴とする。
【0023】
かかる構成により、必要最低限の構成で、情報レジスタに格納されている情報に基づいてデータバッファの値が0(ゼロ)でないデータに対して読み出しを制御することができることから、値が0(ゼロ)でないデータを読み出すのに要する時間だけ、可変長符号化処理を行うまでの待ち時間を短縮することができ、全体として符号化処理を高速化することが可能となる。
【0024】
また、本発明にかかる符号化装置は、情報レジスタにおいて、データの値が0(ゼロ)であるか否かに関する情報が、入力手段から入力されたデータに対してジグザグスキャン順に格納されることが好ましい。
【0025】
さらに、本発明にかかる符号化装置は、データバッファに対するデータの書き込みを制御する書き込み制御手段を含み、比較判定手段においてデータの値が0(ゼロ)ではないと判定された場合にのみデータバッファに対して書き込みを行うことが好ましい。書き込み転送を少なくすることができ、データバッファの利用効率を上げることができるからである。
【0026】
また、本発明にかかる符号化装置は、データバッファにおいて、1つのアドレスにL個のデータを格納できるよう構成し、さらにデータバッファから読み出されたL個のデータを、情報レジスタに格納されているデータの値が0(ゼロ)であるか否かに関する情報に基づいて選択して出力する選択手段を備えることが好ましい。情報レジスタを複数ビット同時に判断することができることから、連続して値が0(ゼロ)データについても同時に判断することができ、データバッファに対するアクセス時間が短くなることから、可変長符号化処理を行うまでの待ち時間を短縮することができ、全体として符号化処理を高速化することができるからである。
【0027】
また、本発明にかかる符号化装置は、読み出し制御手段において、m×nビットで構成される情報レジスタのビットの中で、L個のデータに対応するビットが少なくとも1つ以上0(ゼロ)でない場合にのみ、アドレスにおけるデータをデータバッファから読み出すことが好ましく、選択手段において、m×nビットで構成される情報レジスタのビットの中で、L個のデータに対応するLビットに基づいてデータバッファから読み出されたL個のデータを選択することが好ましい。
【0028】
また、本発明にかかる符号化装置は、比較判定手段において判定されたデータの値が0(ゼロ)であるか否かに関する情報を、それぞれ異なる並び順序で格納するm×nビットの情報レジスタを少なくとも1つ以上有する情報レジスタ群と、入力手段から入力されたデータにおけるブロックの特徴を示す情報を入力する第二の入力手段と、第二の入力手段から入力されたブロックの特徴を示す情報に基づいて、情報レジスタ群から情報レジスタを選択する選択手段とを備えることが好ましい。MPEG−4などの複数の走査を有する可変長符号化においても符号化処理の高速化を図ることができるからである。
【0029】
また、本発明にかかる符号化装置は、情報レジスタと、データバッファと、書き込み制御手段と、読み出し制御手段とを1系統とする処理系統を複数個有し、どの処理系統に属するデータバッファから出力するのかを切り替えてランレングス符号化手段へ出力する出力切り替え手段とを備え、一の処理系統におけるデータバッファへの書き込み処理と、他の処理系統におけるデータバッファへの読み出し処理を同時に行うことが好ましい。データの書き込み処理と読み出し処理を同時に行うようにすることで、データバッファからの読み出し時間を待つことなくデータ転送できるので、可変長符号化処理の待ち時間を短縮することができ、全体として符号化処理を高速化することができるからである。
【0030】
また、本発明にかかる符号化装置は、情報レジスタにおけるデータの値が0(ゼロ)ではないデータの個数を累積する符号語数累積手段を含むことが好ましい。さらに、1ブロック内の領域を設定する領域設定手段を含むことも好ましい。符号データのレート制御を行う場合、可変長符号化処理の終了を待つことなく、外部からの指示によって再度符号化処理を行うことができるからである。
【0031】
また、本発明にかかる符号化装置は、符号語数累積手段の累積値のしきい値を設定するしきい値設定手段と、符号語数累積手段からの累積値としきい値設定手段からのしきい値とを比較する比較手段とを備えることが好ましい。可変長符号化処理の途中でも累積値をしきい値と比較判断することができることから、当該しきい値以上の場合、可変長符号化処理の終了を待たずに再度符号化を行うことが可能であり、可変長符号化処理の待ち時間を短縮することができるからである。
【0032】
また、本発明にかかる符号化装置は、情報レジスタに格納されている値が0(ゼロ)ではないデータを示す情報が、当該ブロック内における最後の0(ゼロ)ではないデータを示す情報であるか否かを判定する最終データ判定手段を備え、最終データ判定手段は、値が0(ゼロ)ではないデータを示す情報が当該ブロック内で最後のときに最終データであることを示す情報を可変長符号化手段に出力することが好ましい。MPEG−4で用いられている3次元可変長符号化にも対応することができるからである。
【0033】
また、本発明にかかる符号化装置は、データバッファへの供給クロックを制御するクロック制御手段を備え、クロック制御手段は、情報レジスタに格納されているデータの値が0(ゼロ)であるか否かに関する情報に基づいて、データの値が0(ゼロ)でない期間にのみデータバッファへクロックを供給することが好ましい。
【0034】
次に、上記目的を達成するために本発明にかかる符号化装置は、ランレングス符号化と可変長符号化を行う符号化装置であって、1ブロックm×n個のデータを順次入力する入力手段と、入力手段から入力されたデータに対して値が0(ゼロ)であるか否かを判定する比較判定手段と、比較判定手段において判定されたデータの値が0(ゼロ)であるか否かに関する情報を格納するm×nビットの第一の情報レジスタと、入力手段から入力されたデータを格納する第一のデータバッファと、第一のデータバッファに対するデータの書き込みを制御する書き込み制御手段とを含む第一の処理部と、第一の情報レジスタに格納されている情報に基づいて、第一のデータバッファからデータを読み出し、第二のデータを生成するプロセッサと、第二のデータを格納する第二のデータバッファと、第二のデータの値が0(ゼロ)であるか否かに関する情報を格納するm×nビットの第二の情報レジスタと、第二の情報レジスタに格納されている第二のデータの値が0(ゼロ)であるか否かに関する情報に基づいて、第二のデータバッファから第二のデータの読み出しを制御する読み出し制御手段と、第二のデータバッファから読み出された第二のデータと、第二の情報レジスタに格納されている第二のデータの値が0(ゼロ)であるか否かに関する情報を用いてランレングス符号化を行うランレングス符号化手段と、ランレングス符号化手段において求まった、連続して値が0(ゼロ)である第二のデータの個数と、第二のデータとの一対のデータを用いて可変長符号化を行う可変長符号化手段とを含む第二の処理手段とで構成されており、読み出し制御手段は、第二の情報レジスタに基づいて、値が0(ゼロ)ではない第二のデータのみを第二のデータバッファから読み出し、ランレングス符号化手段において、第二の情報レジスタにおける値が0(ゼロ)ではない第二のデータを示す区間を、連続して値が0(ゼロ)である第二のデータの個数として可変長符号化手段へ出力することを特徴とする。
【0035】
かかる構成により、第一の処理手段と第二の処理手段をプロセッサを介して分割した構成とすることで、2つの処理間のデータ転送の際に読み出し処理分、書き込み処理分の時間を短縮することができ、可変長符号化処理の待ち時間を短縮することができることから、全体として符号化処理の高速化を図ることが可能となる。
【0036】
また、本発明にかかる符号化装置は、プロセッサは、第二のデータを生成すると同時に、第二のデータの値が0(ゼロ)である場合には出力せず、値が0(ゼロ)である第二のデータの個数を累積し、第二のデータの値が0(ゼロ)でない場合には、第二のデータを出力すると同時に、累積されている値が0(ゼロ)である第二のデータの個数をランレングス符号化手段に出力することが好ましい。
【0037】
次に、上記目的を達成するために本発明にかかる符号化装置は、ランレングス符号化と可変長符号化を行う符号化装置であって、1ブロックm×n個のデータを順次入力する入力手段と、入力手段から入力されたデータに対して値が0(ゼロ)であるか否かを判定する比較判定手段と、入力手段から入力されたデータを格納するデータバッファと、比較判定手段において、値が0(ゼロ)でないと判定されたデータのデータバッファにおけるアドレスを格納するアドレス記憶手段と、アドレス記憶手段に格納されているアドレスに基づいて、データバッファからデータの読み出しを制御する読み出し制御手段と、データバッファから読み出されたデータと、アドレス記憶手段に格納されているアドレスを用いてランレングス符号化を行うランレングス符号化手段と、ランレングス符号化手段において求まった、連続して値が0(ゼロ)であるデータの個数と、データとの一対のデータを用いて可変長符号化を行う可変長符号化手段とを含み、読み出し制御手段において、アドレス記憶手段に格納されたアドレスに基づいて、値が0(ゼロ)ではないデータのみをデータバッファから読み出し、ランレングス符号化手段において、アドレス記憶手段に格納されている前回読み出したアドレスと今回読み出したアドレスの差分を、値が0(ゼロ)であるデータの個数として可変長符号化手段に出力することを特徴とする。
【0038】
かかる構成により、アドレス記憶手段に基づいて、データバッファにおける値が0(ゼロ)でないデータに対してのみアドレスを出力することにより、値が0(ゼロ)であるデータを読み出すのに要する時間分だけ、可変長符号化処理の待ち時間を短縮することができ、全体として符号化処理を高速化することが可能となる。
【0039】
また、発明にかかる符号化装置は、ランレングス符号化手段において、データバッファから読み出したアドレスと、1つ前に読み出したアドレスとの差分をジグザグスキャン順によって計算し、差分を値が0(ゼロ)であるデータの個数として可変長符号化手段へ出力することが好ましい。
【0040】
さらに、本発明にかかる符号化装置は、アドレス記憶手段と読みだし制御手段がプロセッサによって処理されることが好ましい。
【0041】
次に、上記目的を達成するために本発明にかかる符号化方法は、ランレングス符号化と可変長符号化を行う符号化方法であって、1ブロックm×n個のデータを順次入力する工程と、入力されたデータに対して値が0(ゼロ)であるか否かを判定する工程と、判定されたデータの値が0(ゼロ)であるか否かに関する情報をm×nビットの情報レジスタに格納する工程と、入力されたデータをデータバッファに格納する工程と、データバッファに対するデータの書き込みを制御する工程と、情報レジスタに格納されているデータの値が0(ゼロ)であるか否かに関する情報に基づいて、データバッファからデータの読み出しを制御する工程と、データバッファから読み出されたデータと、情報レジスタに格納されているデータの値が0(ゼロ)であるか否かに関する情報を用いてランレングス符号化を行う工程と、ランレングス符号化を行う工程において求まった、連続して値が0(ゼロ)であるデータの個数と、データとの一対のデータを用いて可変長符号化を行う工程とを含むことを特徴とする。
【0042】
かかる構成により、必要最低限の構成で、情報レジスタに格納されている情報に基づいてデータバッファの値が0(ゼロ)でないデータに対して読み出しを制御することができることから、値が0(ゼロ)でないデータを読み出すのに要する時間だけ、可変長符号化処理を行うまでの待ち時間を短縮することができ、全体として符号化処理を高速にすることが可能となる。
【0043】
また、本発明にかかる符号化方法は、データバッファにおいて、1つのアドレスにL個のデータを格納できるよう構成し、さらにデータバッファから読み出されたL個のデータを、情報レジスタに格納されているデータの値が0(ゼロ)であるか否かに関する情報に基づいて選択して出力する工程を含むことが好ましい。情報レジスタを複数ビット同時に判断することができることから、連続して値が0(ゼロ)データについても同時に判断することができ、データバッファに対するアクセス時間が短くなることから、可変長符号化処理を行うまでの待ち時間を短縮することができ、全体として符号化処理を高速化することができるからである。
【0044】
また、本発明にかかる符号化方法は、データの値が0(ゼロ)であるか否かに関する情報を、それぞれ異なる並び順序で格納するm×nビットの情報レジスタを少なくとも1つ以上有する情報レジスタ群を有し、入力されたデータにおけるブロックの特徴を示す情報を入力する工程と、入力されたブロックの特徴を示す情報に基づいて、情報レジスタ群から情報レジスタを選択する工程とをさらに含むことが好ましい。MPEG−4などの複数の走査を有する可変長符号化においても符号化処理の高速化を図ることができるからである。
【0045】
また、本発明にかかる符号化方法は、判定されたデータの値が0(ゼロ)であるか否かに関する情報をm×nビットの情報レジスタに格納する工程と、入力手段から入力されたデータをデータバッファに格納する工程と、データバッファに対するデータの書き込みを制御する工程と、情報レジスタに格納されているデータの値が0(ゼロ)であるか否かに関する情報に基づいて、データバッファからデータの読み出しを制御する工程とを1系統とする処理系統を複数個有し、どの処理系統に属するデータバッファから出力するのかを切り替える工程をさらに含み、一の処理系統におけるデータバッファへの書き込み処理と、他の処理系統におけるデータバッファへの読み出し処理を同時に行うことが好ましい。データの書き込み処理と読み出し処理を同時に行うようにすることで、データバッファからの読み出し時間を待つことなくデータ転送できるので、可変長符号化処理の待ち時間を短縮することができ、全体として符号化処理を高速化することができるからである。
【0046】
また、本発明にかかる符号化方法は、情報レジスタにおけるデータの値が0(ゼロ)ではないデータの個数を累積する工程を含むことが好ましい。さらに、本発明にかかる符号化方法は、1ブロック内の領域を設定する工程を含むことが好ましい。符号データのレート制御を行う場合、可変長符号化処理の終了を待つことなく、外部からの指示によって再度符号化処理を行うことができるからである。
【0047】
また、本発明にかかる符号化方法は、累積値のしきい値を設定する工程と、累積値としきい値とを比較する工程をさらに含むことが好ましい。可変長符号化処理の途中でも累積値をしきい値と比較判断することができることから、当該しきい値以上の場合、可変長符号化処理の終了を待たずに再度符号化を行うことが可能であり、可変長符号化処理の待ち時間を短縮することができるからである。
【0048】
また、本発明にかかる符号化方法は、情報レジスタに格納されている値が0(ゼロ)ではないデータを示す情報が、当該ブロック内における最後の0(ゼロ)ではないデータを示す情報であるか否かを判定する工程を含み、値が0(ゼロ)ではないデータを示す情報が当該ブロック内で最後のときに最終データであることを示す情報を出力することが好ましい。MPEG−4で用いられている3次元可変長符号化にも対応することができるからである。
【0049】
また、本発明にかかる符号化方法は、データバッファへの供給クロックを制御する工程を含み、情報レジスタに格納されているデータの値が0(ゼロ)であるか否かに関する情報に基づいて、データの値が0(ゼロ)でない期間にのみデータバッファへクロックを供給することが好ましい。値が0(ゼロ)でないデータの個数分のみデータバッファに対してクロックを供給できることから、消費電力の抑制が可能となり、低電力化を実現できるからである。
【0050】
次に、上記目的を達成するために本発明にかかる符号化方法は、ランレングス符号化と可変長符号化を行う符号化方法であって、1ブロックm×n個のデータを順次入力する工程と、入力されたデータに対して値が0(ゼロ)であるか否かを判定する工程と、判定されたデータの値が0(ゼロ)であるか否かに関する情報をm×nビットの第一の情報レジスタに格納する工程と、入力されたデータを第一のデータバッファに格納する工程と、第一のデータバッファに対するデータの書き込みを制御する工程とを含む第一の処理工程と、第一の情報レジスタに格納されている情報に基づいて、第一のデータバッファからデータを読み出し、第二のデータを生成する工程と、第二のデータを第二のデータバッファに格納する工程と、第二のデータの値が0(ゼロ)であるか否かに関する情報をm×nビットの第二の情報レジスタに格納する工程と、第二の情報レジスタに格納されている第二のデータの値が0(ゼロ)であるか否かに関する情報に基づいて、第二のデータバッファから第二のデータの読み出しを制御する工程と、第二のデータバッファから読み出された第二のデータと、第二の情報レジスタに格納されている第二のデータの値が0(ゼロ)であるか否かに関する情報を用いてランレングス符号化を行う工程と、ランレングス符号化を行う工程において求まった、連続して値が0(ゼロ)である第二のデータの個数と、第二のデータとの一対のデータを用いて可変長符号化を行う工程とを含む第二の処理工程とで構成されており、第二の情報レジスタに基づいて、値が0(ゼロ)ではない第二のデータのみを第二のデータバッファから読み出し、ランレングス符号化を行う工程において、第二の情報レジスタにおける0(ゼロ)ではない第二のデータを示す区間を、連続して値が0(ゼロ)である第二のデータの個数として可変長符号化を行う工程へと渡すことを特徴とする。
【0051】
かかる構成により、第一の処理手段と第二の処理手段をプロセッサを介して分割した構成とすることで、2つの処理間のデータ転送の際に読み出し処理分、書き込み処理分の時間を短縮することができ、可変長符号化処理の待ち時間を短縮することができることから、全体として符号化処理の高速化を図ることが可能となる。
【0052】
次に、上記目的を達成するために本発明にかかる符号化方法は、ランレングス符号化と可変長符号化を行う符号化方法であって、1ブロックm×n個のデータを順次入力する工程と、入力されたデータに対して値が0(ゼロ)であるか否かを判定する工程と、入力されたデータをデータバッファに格納する工程と、値が0(ゼロ)でないと判定されたデータのデータバッファにおけるアドレスを格納する工程と、格納されているアドレスに基づいて、データバッファからデータの読み出しを制御する工程と、データバッファから読み出されたデータと、格納されているアドレスを用いてランレングス符号化を行う工程と、ランレングス符号化を行う工程において求まった、連続して値が0(ゼロ)であるデータの個数と、データとの一対のデータを用いて可変長符号化を行う工程とを含み、格納されたアドレスに基づいて、値が0(ゼロ)ではないデータのみをデータバッファから読み出し、ランレングス符号化を行う工程において、格納されている前回読み出したアドレスと今回読み出したアドレスの差分を、値が0(ゼロ)であるデータの個数として可変長符号化を行う工程へと渡すことを特徴とする。
【0053】
かかる構成により、アドレス記憶手段に基づいて、データバッファにおける値が0(ゼロ)でないデータに対してのみアドレスを出力することにより、値が0(ゼロ)であるデータを読み出すのに要する時間分だけ、可変長符号化処理の待ち時間を短縮することができ、全体として符号化処理を高速化することが可能となる。
【0054】
【発明の実施の形態】
(実施の形態1)
以下、本発明の実施の形態1にかかる符号化装置について、図面を参照しながら説明する。図1は本発明の実施の形態1にかかる符号化装置の構成図である。なお、本実施の形態1においては、1ブロックのデータが8×8個の場合について説明する。
【0055】
図1において、2は1ブロック8×8個のデータを順次入力する入力手段を、3は入力手段2から入力されたデータに対して、値が0(ゼロ)であるか否かを判定する比較判定手段を、4は比較判定手段3におけるデータ値が0(ゼロ)であるか否かに関する判定情報を格納する8×8ビットの情報レジスタを、5は入力手段2から入力されたデータを格納するデータバッファを、それぞれ示している。
【0056】
また、6はデータバッファ5に対するデータの書き込みを制御する書き込み制御手段を、7はデータバッファ5からのデータの読み出しを制御する読み出し制御手段を、それぞれ示している。
【0057】
さらに、8はデータバッファ5から読み出されたデータと、情報レジスタ4から読み出された判定情報に基づいて、値が0(ゼロ)であるデータの個数を累積し、連続した値を有するデータの個数を用いて符号化するランレングス符号化を行うランレングス符号化手段を、9はランレングス符号化手段8から出力された値が0(ゼロ)であるデータの個数とデータ自体とを一対のデータとして用いることで可変長符号化を行う可変長符号化手段を、10は可変長符号化手段9からの符号データを出力する出力手段を、それぞれ示している。
【0058】
図2は、本発明の実施の形態1にかかる符号化装置における処理の流れ図である。図2にしたがって、処理の流れについて説明する。
【0059】
まず入力手段2から、1ブロック8×8個のデータが図3に示すように順次左上から右下に向かって入力され(ステップS201)、比較判定手段3によってデータの値が0(ゼロ)であるか否かが判定される(ステップS202)。
【0060】
比較判定手段3における判定結果は情報レジスタ4へ格納される(ステップS203)。例えば、データの値が0(ゼロ)である場合には‘0’が、0(ゼロ)でない場合には‘1’が、それぞれ格納されることになる
この時、情報レジスタ4へは1ブロックのデータに対して図4に示すようにジグザグスキャン順、すなわち1つ目のデータの判定結果を1番目のビットへ、2つ目のデータの判定結果を2番目のビットへ、3つ目の判定結果を6番目のビットへ、というように図5に示すような並び順に従って格納する。
【0061】
また、書き込み制御手段6は、入力手段2からのデータが比較判定手段3によって判定されるのと同時に、例えばRAM(Random Access Memory)で構成されるデータバッファ5のアドレスを順次更新し、入力手段2からのデータ自体を書き込む(ステップS204)。
【0062】
入力手段2から1ブロック分のデータ入力が終了すると(ステップS205:Yes)、読み出し制御手段7は、データバッファ5に対して、情報レジスタ4に‘1’が格納されているビットに相当するアドレスを出力し、値が0(ゼロ)でないデータを読み出し、図6に示すようにアドレスを遷移させることで連続して値が0(ゼロ)でないデータのみを読み出す動作を行う(ステップS206)。
【0063】
すなわち、図6に示すように、任意の位置ビットxに対応するアドレスをAxとすると、値が0(ゼロ)でないデータを読み出すために、アドレスがA1→A2→A17→A11・・というように連続して遷移していくことになる。
【0064】
ランレングス符号化手段8では、情報レジスタ4に記憶されている情報に基づいて、現在の情報レジスタ4におけるビット位置と前回読み出したデータの末尾に相当する情報レジスタ4におけるビット位置との区間を計算し、この区間の長さを値が0(ゼロ)であるデータの個数として、データバッファ5から読み出されたデータとともに可変長符号化手段9へ出力する(ステップS207)。なお、図5に情報レジスタ4への格納レコードの例示図を示しているが、例えば現在の情報レジスタ4におけるビット位置が‘17’であるとすると、現在の情報レジスタ4におけるビット位置と前回読み出したデータの末尾に相当する情報レジスタ4におけるビット位置との区間は、区間aに相当することになる。
【0065】
可変長符号化手段9では、ランレングス符号化手段8から出力された、値が0(ゼロ)であるデータの個数とデータとを一対のデータとして用いることにより可変長符号化を行い、出力手段10へ符号データを出力することになる(ステップS208)。
【0066】
また、図7に示す構成のように、比較判定手段3における判定結果に応じて書き込み処理を行うか否かを決定することも考えられる。すなわち、比較判定手段3における判定結果において値が0(ゼロ)であるデータの場合、書き込み制御手段6がデータバッファ5のアドレスを更新せず、書き込み処理自体を行わないようにしても良い。
【0067】
さらに、図8に示す構成のように、情報レジスタ4の代わりにアドレス記憶手段11を用いる構成も考えられる。この場合、比較判定手段3において値が0(ゼロ)でないと判定されたデータを書き込むデータバッファ5のアドレスを、アドレス記憶手段11に記憶することになる。
【0068】
そして、読み出し制御手段7は、アドレス記憶手段11に記憶されているアドレスのみを出力することで、値が0(ゼロ)であるデータ以外のデータのみを読み出すよう制御する。ランレングス符号化手段8は、前回読み出したアドレスと今回読み出したアドレスに基づいて、図9に示すようにジグザグスキャン順に、値が0(ゼロ)であるデータの個数を計算することになる。すなわち、アドレス1と2の間には‘0’個、アドレス2と17の間には‘1’個、アドレス17と11の間には‘3’個、アドレス11と26の間には‘3’個、というように計算することになる。
【0069】
また、図10に示す構成のように、比較判定手段3において、値が0(ゼロ)でないと判定されたデータを書き込むデータバッファ5のアドレスをプロセッサ12が記憶する構成とすることも考えられる。この場合、プロセッサ12がデータを読み出すアドレスを記憶していることから、データバッファ5に対して直接アドレスを出力することによって、値が0(ゼロ)でないデータを読み出すことが可能となる。
【0070】
また、プロセッサ12がデータを読み出すアドレスを記憶していることから、プロセッサ12は、図9に示すようなジグザグスキャン順に、連続して値が0(ゼロ)であるデータの個数を計算して、ランレングス符号化手段8に出力することができる。
【0071】
以上のような構成にすることによって、読み出し制御手段7は情報レジスタ4に格納されている情報に基づいて、値が0(ゼロ)でないデータのみに対してアドレスを出力するようにできる。その結果、値が0(ゼロ)であるデータを読み出すのに要する時間だけ、データバッファ5に対するアクセス時間が短くなることから、可変長符号化処理を行うまでの処理時間を短くすることができ、符号化処理全体を高速化することが可能となる。
【0072】
また、ランレングス符号化手段8が、情報レジスタ4に格納されている情報に基づいて、現在の情報レジスタ4におけるビット位置と前回読み出した値が0(ゼロ)でないデータに相当する情報レジスタ4におけるビット位置との区間を計算することで、現在のビット位置における連続して値が0(ゼロ)であるデータの個数が算出できることから、ランレングスをカウントする手段自体も不要となる。
【0073】
さらに、書き込み制御手段6においては、比較判定手段3において値が0(ゼロ)であると判定されたデータについてのみ、データバッファ5に対して書き込みを行うようにできることから、書き込み転送量を少なくすることができ、データバッファ5の利用効率を上げることも可能となる。
【0074】
また、プロセッサ12がアドレスを記憶する場合においては、データバッファ5に対して値が0(ゼロ)でないデータを読み出すアドレスを直接出力することが可能となり、アドレスを記憶する手段自体が不要となることから、ハードウェア構成を削減することが可能となる。
【0075】
(実施の形態2)
以下、本発明の実施の形態2にかかる符号化装置について図面を参照しながら説明する。なお、実施の形態1と同様の構成については、同一の符号を付することによって詳細な説明を省略している。また、本実施の形態2においても、1ブロックのデータが8×8個の場合について説明する。
【0076】
図11に本発明の実施の形態2にかかる符号化装置101の概略構成図を示す。図11においては、実施の形態1にかかる符号化装置に対して、データバッファ5について、入力手段2から入力されたデータを1つのアドレスに例えば2個格納することができるようにし、データバッファ5から出力されるデータを選択する選択手段110を備えている点に特徴を有している。入力手段2、比較判定手段3、情報レジスタ4については、実施の形態1における動作と同様である。
【0077】
図11において、書き込み制御手段6は、入力手段2から入力されたデータが比較判定手段3において判定されるのと同時に、図12(a)に示すように、データバッファ5に対して、1つのアドレスにジグザグスキャン順に2個のデータをまとめて記憶させるようにアドレスを出力する。つまり1番目及び2番目のデータはアドレスA0に、9番目及び17番目のデータはアドレスA1に、10番目及び3番目のデータはアドレスA2に、というように書き込む。すなわち、図12(b)のように、1つのアドレスに対して2個のデータが保存されることになる。1つのアドレスに対するデータの格納方法は、ジグザグスキャンの順序において先の順番のデータを上位側に、後の順番のデータを下位側に、それぞれ格納するようにする。
【0078】
入力手段2から1ブロック分のデータ入力が終了すると、読み出し制御手段7は、データバッファ5のアドレスに対応する情報レジスタ4におけるビット情報、すなわち図13に示す各アドレスに対応する2つのビットを同時に判断し、どちらか1つの値が0(ゼロ)でない場合、あるいはどちらの値も0(ゼロ)でない場合に、データバッファ5に対して情報レジスタ4における現在のビット位置に対応するアドレスを出力することになる。
【0079】
読み出し制御手段7では、さらに読み出したデータのどちらの値が0(ゼロ)でないかを示す情報レジスタ4の2ビット分を選択手段110へ出力し、選択手段110は、当該2ビットの上位ビットが‘1’である場合、データバッファ5から読み出されたデータの上位を、当該2ビットの下位ビットが‘1’である場合、データバッファ5から読み出されたデータの下位を出力する。さらに選択手段110は、情報レジスタ4の2ビットがどちらも‘1’である場合は、データバッファ5から読み出されたデータを上位、下位の順に出力することになる。
【0080】
そして、ランレングス符号化手段8は、読み出し制御手段7が情報レジスタ4に格納されている情報に基づいてデータバッファ5のアドレスからデータを読み出すのと同時に、読み出したデータの上位あるいは下位のどちらかの値が0(ゼロ)でない場合は、図13に示すように、現在の情報レジスタ4におけるビット位置と前回読み出したデータの末尾に相当する情報レジスタ4におけるビット位置との区間bを計算し、値が0(ゼロ)であるデータの個数として計算する。
【0081】
情報レジスタ4に格納されている情報に基づいて読み出したデータの上位、下位どちらの値も0(ゼロ)でない場合、上位のデータと対になる0(ゼロ)の個数として、現在の情報レジスタ4におけるビット位置と前回読み出したデータの末尾に相当する情報レジスタ4におけるビット位置との区間、すなわち図13におけるbを出力し、下位のデータと対になる値が0(ゼロ)であるデータの個数として、値が0(ゼロ)でないデータが連続していることを表すため、‘0’を出力する。
【0082】
以下、可変長符号化手段9は実施の形態1における動作と同様である。
【0083】
以上のように、データバッファ5において、1つのアドレスに複数のデータを関連付けて格納するようにし、さらに読み出し制御手段7において情報レジスタ4に格納されている情報について複数ビット単位で値が0(ゼロ)であるか否かについて判断することによって、連続して値が0(ゼロ)でないデータであるか否かについても同時に判断することができ、連続して値が0(ゼロ)である場合には、その分だけデータバッファ5に対するアクセス時間を短くすることができることから、可変長符号化処理を行うまでの時間を短くすることができ、符号化処理の高速化を図ることが可能となる。
【0084】
なお、本実施の形態2においては、データバッファ5の1つのアドレスに対して2つのデータを格納するようにした場合について説明しているが、特にこれに限定されるものではなく、1つのアドレスに対して2つ以上のデータを格納するようにしても良い。
【0085】
(実施の形態3)
以下、本発明の実施の形態3にかかる符号化装置について図面を参照しながら説明する。なお、実施の形態1と同様の構成については、同一の符号を付することによって詳細な説明を省略している。また、本実施の形態3においても、1ブロックのデータが8×8個の場合について説明する。
【0086】
図14に、本発明の実施の形態3にかかる符号化装置の概略構成図を示す。図14からも明らかなように、本実施の形態3においては、実施の形態1に対して、比較判定手段3における値が0(ゼロ)であるデータであるか否かを判定した結果について、それぞれ異なる並び順で格納する8×8ビットの情報レジスタを少なくとも1つ以上有する情報レジスタ群204と、入力手段2から入力される符号化対象ブロックの特徴を示す情報を入力する第二の入力手段205と、第二の入力手段205において入力された符号化対象ブロックの特徴を示す情報に基づいて情報レジスタ群204から情報レジスタを1つ選択する情報レジスタ選択手段206とを備えている点に特徴を有している。なお、入力手段2、比較判定手段3、書き込み制御手段5は実施の形態1における動作と同様である。
【0087】
図14において、第二の入力手段205からは、例えばMPEG−4の空間予測符号化であるAC/DC予測の結果が入力される。
【0088】
そして、入力されたAC/DC予測の結果に基づいて、選択手段206において適切な情報レジスタが選択されることにより、符号化対象ブロックについて可変長符号化する際に用いる走査の順序が選択されることになる。図14の例では、情報レジスタcが選択された場合には、図4に示すようなジグザグスキャンが、情報レジスタdが選択された場合には、図15に示す水平優先スキャンが、そして情報レジスタeが選択された場合には、図16に示す垂直優先スキャンが、それぞれ選択されることになる。
【0089】
情報レジスタ群204のうち、情報レジスタcへは、1ブロックのデータに対して図4に示すようにジグザグスキャン順、すなわち1つ目のデータの判定結果を1番目のビットへ、2つ目のデータの判定結果を2番目のビットへ、3つ目の判定結果を6番目のビットへ、というように図5に示すようなレコードとして格納している。
【0090】
情報レジスタdへは、1ブロックのデータに対して図15に示すようにMPEG−4で用いられる水平優先スキャン順、すなわち1つ目のデータの判定結果を1番目のビットへ、2つ目のデータの判定結果を2番目のビットへ、3つ目のデータの判定結果を3番目のビットへ、というように図17に示すようなレコードとして格納している。
【0091】
情報レジスタeへは、1ブロックのデータに対して図16に示すようにMPEG−4で用いられる垂直優先スキャン順、すなわち1つ目のデータの判定結果を1番目のビットへ、2つ目のデータの判定結果を9番目のビットへ、3つ目のデータの判定結果を17番目のビットへ、というように図18に示すようなレコードとして格納している。
【0092】
そして、情報レジスタ選択手段206においては、第二の入力手段205から入力されたAC/DC予測の結果に基づいて、情報レジスタ群204のうち1つの情報レジスタを選択し、読み出し制御手段7に対して選択された情報レジスタに格納されている情報を出力することになる。
【0093】
以下、読み出し制御手段7、ランレングス符号化手段8、可変長符号化手段9における動作は実施の形態1と同様である。
【0094】
以上のように、情報レジスタ群204に複数の並び順を有する情報レジスタを準備しておき、第二の入力手段205から入力される情報に基づいて情報レジスタを選択できるようにすることにより、例えばMPEG−4等の可変長符号化においても符号化の高速化を図ることが可能となる。
【0095】
なお、本実施の形態3では、例としてMPEG−4のAC/DC予測の結果を第二の入力とした場合について説明しているが、特にこれに限定されるものではなく、他の情報に基づいて情報レジスタを選択する構成であっても良い。
【0096】
また、本実施の形態3においては、3種類の異なる走査による格納順序を有する情報レジスタの中から1つ選択する場合について説明しているが、特にこの構成に限定されるものではなく、その他の走査による格納順序を有する情報レジスタを準備しておくようにしても良い。
【0097】
(実施の形態4)
以下、本発明の実施の形態4にかかる符号化装置について図面を参照しながら説明する。なお、実施の形態1と同様の構成については、同一の符号を付することによって詳細な説明を省略している。また、本実施の形態4においても、1ブロックのデータが8×8個の場合について説明する。
【0098】
本実施の形態4は、実施の形態1に対して、情報レジスタへの入力されたデータについての値が0(ゼロ)であるか否かに関する情報の格納から、データバッファからのデータ読み出しまでの処理系統を複数個有する点に特徴を有する。以下、かかる処理系統を2個有する場合を例に挙げて説明する。
【0099】
図19に、本発明の実施の形態4にかかる符号化装置の概略構成図を示す。図19において、比較判定手段3における判定の結果、入力されたデータについての値が0(ゼロ)であるか否かに関する情報を格納する8×8ビットの情報レジスタ304と、入力手段2から入力されたデータを格納するデータバッファ305と、データバッファ305へ対しての書き込みを制御する書き込み制御手段306と、データバッファ305からの読み出しを制御する読み出し制御手段307と、データバッファ5とデータバッファ305からのデータを切り替えて出力する切り替え手段308とを、新たに備えている。
【0100】
まず図19において、実施の形態1と同様の処理をする情報レジスタ4、データバッファ5、書き込み制御手段6、読み出し制御手段7を用いた一連の処理系統を処理Aと、実施の形態1と同様の処理をする情報レジスタ304、データバッファ305、書き込み制御手段306、読み出し制御手段307を用いた一連の処理系統を処理Bとする。
【0101】
入力手段2から入力された1ブロック8×8個のデータを、比較判定手段3において判定し、処理Aによってデータバッファ5への書き込み処理を行う。次に、入力手段2から入力された1ブロック分のデータの入力が終わると、処理Aによるデータバッファ5からの読み出し処理が行われ、切り替え手段308から出力される。かかる処理Aによる読み出し処理の開始と同時に、入力手段2から次の1ブロック分のデータが順次入力され、比較判定手段3において判定し、処理Bによってデータバッファ305への書き込み処理を行う。
【0102】
さらに入力手段2から入力された1ブロック分のデータの入力が終わると、処理Bによるデータバッファ305からの読み出し処理が行われ、切り替え手段308から出力される。かかる処理Bによる読み出し処理の開始と同時に、入力手段2から次の1ブロック分のデータが順次入力され、比較判定手段3において判定し、処理Aによってデータバッファ5への書き込み処理を行う。このように、処理Aと処理Bを交互に行いながら符号化処理を行うことになる。なお、ランレングス符号化手段8、可変長符号化手段9については、実施の形態1における動作と同様である。
【0103】
このように、実施の形態1と同様の情報レジスタへの入力されたデータについての値が0(ゼロ)であるか否かに関する情報の格納から、データバッファからのデータ読み出しまでの処理系統を複数個有することによって、データバッファへのデータの書き込み処理と読み出し処理を同時並行的に実行することができ、その時間分だけ、データバッファからの読み出し時間を待つことなく符号化処理を行うことができることから、全体として符号化処理の高速化を図ることが可能となる。
【0104】
なお、本実施の形態4においては、データバッファごとに書き込み制御手段及び読み出し制御手段を備える構成として説明しているが、1つの書き込み制御手段及び読み出し制御手段によって両方のデータバッファを制御する構成としても良い。
【0105】
(実施の形態5)
以下、本発明の実施の形態5にかかる符号化装置について図面を参照しながら説明する。なお、実施の形態1と同様の構成については、同一の符号を付することによって詳細な説明を省略している。また、本実施の形態5においても、JPEGなどの符号化において、1ブロックのデータが8×8個の場合について説明する。
【0106】
図20に本発明の実施の形態5にかかる符号化装置の概略構成図を示す。本実施の形態5においては、実施の形態1に対して、情報レジスタ4における値が0(ゼロ)ではないデータの個数を累積する符号語数累積手段402と、符号語数累積手段402が累積する1ブロック内の領域を設定する領域設定手段403と、符号語数累積手段402による累積値を出力する出力手段404とを備えている点に特徴を有する。
【0107】
JPEGなどの符号化技術では、符号化されたデータ容量を制御するため、従来は図21の処理流れ図に示しているように、DCT処理(ステップS211)、量子化処理を行い(ステップS212)、可変長符号化によって符号化を行い(ステップS213)、生成された一画面分の符号量を計算して(ステップS214)、符号量の累積値が適正な範囲内であるか否かを所定のしきい値と比較することで判定している(ステップS215)。
【0108】
すなわち、一画面分の符号量の累積値が設定された所定のしきい値を超えた場合(ステップS215:Yes)、符号量を減少できるよう値が0(ゼロ)である係数を多くするために、量子化処理において除算に用いられる量子化値を変更し(ステップS216)、符号化処理を再度行う。一画面分の符号量の累積値が設定された所定のしきい値以下となった場合(ステップS215:No)、生成符号を出力することになる(ステップS217)。
【0109】
このように、従来の符号化技術においては、符号化されたデータ容量を制御するためには一度符号化処理を完了させてから、再度量子化値を変更して符号化処理を行う必要があった。
【0110】
一般に、可変長符号については、値が0(ゼロ)でないデータに対して符号語が割り当てられることから、値が0(ゼロ)でないデータが多いほど符号語数は多くなる。そこで、本実施の形態5においては、情報レジスタ4において、値が‘1’である個数を累積することによって、符号化処理を完了することなく符号データ量の適否を判定することができるようにした。
【0111】
本実施の形態5にかかる符号化装置における処理の流れ図を図22に示す。図22において、入力されてくるデータに対してDCT処理(ステップ221)、及び量子化処理(ステップS222)を行い、可変長符号化処理を行うと同時に(ステップS223)、符号語数累積手段402において情報レジスタ4に格納されている値が0(ゼロ)であるか否かを判定し(ステップS224)、値が‘1’であるデータの個数を累積する(ステップS225)。
【0112】
この符号語数累積手段402での累積に際して、高周波領域のデータは比較的画質に影響を与えないことから、領域設定手段403においては高周波領域に領域を設定することが好ましい。そのようにすることで、画質に影響を与えることなく指定領域において値が0(ゼロ)であるデータを多く含むように量子化値を変更することができ、符号量を小さくすることができるからである。
【0113】
そこで、領域設定手段403においては、図23に示すように、例えば1ブロック内における高周波領域を符号語数累積範囲として設定し、符号語数累積手段402は領域設定手段403によって設定された領域内に相当する情報レジスタ4における値が‘1’であるデータの個数を1画面分累積して、出力手段404から出力する。
【0114】
そして、出力手段404から出力された累積値に基づいて、例えば外部プロセッサを用いて所定のしきい値と比較し(ステップS226)、所定のしきい値以上であれば(ステップS226:Yes)、符号化されたデータ容量が過多であると判断し、可変長符号化手段9において可変長符号化を終了する前に量子化値を変更して(ステップS227)、再度可変長符号化処理を行うことになる。
【0115】
出力手段404から出力された累積値が所定のしきい値以下であれば(ステップS226:No)、符号化されたデータ容量が適切であると判断し、可変長符号化手段9において可変長符号化処理を継続して、符号語を生成することになる(ステップS228)。
【0116】
また、図24に示すように、符号語数累積手段402における累積値に対するしきい値を設定するしきい値設定手段405と、符号語数累積手段402からの累積値と符号語数しきい値設定手段405において設定されたしきい値とを比較する比較手段406と、比較手段406における比較結果を示す情報を出力する出力手段407とをさらに備えてもよい。
【0117】
このようにすることで、図25の処理流れ図に示すように、累積値の大小判断を符号化処理において行うことができるようになることから、外部プロセッサ等を用いる必要がなくなり、ブロック単位で符号データのレート制御を行うことが可能となる。
【0118】
以上のような構成にすることによって、可変長符号化において符号データのレート制御を行う場合、可変長符号化処理の終了を待つことなく再度符号化処理を行うことが可能であり、待ち時間が短縮した分だけ符号化処理の高速化を図ることが可能となる。
【0119】
(実施の形態6)
以下、本発明の実施の形態6にかかる符号化装置について図面を参照しながら説明する。なお、実施の形態1と同様の構成については、同一の符号を付することによって詳細な説明を省略している。また、本実施の形態6においても、1ブロックのデータが8×8個の場合について説明する。
【0120】
図26に本発明の実施の形態6にかかる符号化装置の概略構成図を示す。本実施の形態6は、実施の形態1に対して、情報レジスタ4に格納されている、値が0(ゼロ)ではないデータを示す情報が、当該ブロック内における最後の0(ゼロ)ではないデータを示す情報であるか否かを判定する最終データ判定手段502を備える点に特徴を有している。なお、入力手段2、比較判定手段3、情報レジスタ4、書き込み制御手段6、読み出し制御手段7は、実施の形態1における動作と同様である。
【0121】
読み出し制御手段7が、データバッファ5に対して、現在のブロックにおいて最後の0(ゼロ)ではないデータを読み出すアドレスを出力すると同時に、最終データ判定手段502は、情報レジスタ4に格納されている情報に基づいて、現在のブロック内で最後の0(ゼロ)でないデータであるか否かを判定し、その判定結果に関する情報を可変長符号化手段9へ出力する。
【0122】
このように最終データ判定手段502が、情報レジスタ4に格納されている情報に基づいて、現在のブロック内における最後の値が0(ゼロ)でないデータを判定できるようにすることによって、可変長符号化手段9は、例えばMPEG−4で用いられている、データ値の大きさを示すLEVEL信号と、ランレングスを示すRUN信号と、最終データ情報を示すLAST信号によって行う3次元可変長符号化に対応することが可能となる。
【0123】
(実施の形態7)
以下、本発明の実施の形態7にかかる符号化装置について図面を参照しながら説明する。なお、実施の形態1と同様の構成については、同一の符号を付することによって詳細な説明を省略している。また、本実施の形態7においても、1ブロックのデータが8×8個の場合について説明する。
【0124】
図27に本発明の実施の形態7にかかる符号化装置の概略構成図を示す。本実施の形態7は、実施の形態1に対して、情報レジスタ4に格納されている情報に基づいてデータバッファ5へのクロック供給を制御するクロック制御手段602を備えている点に特徴を有している。なお、入力手段2、比較判定手段3、情報レジスタ4、書き込み制御手段6、読み出し制御手段7は、実施の形態1における動作と同様である。
【0125】
クロック制御手段602は、情報レジスタ4に格納されている情報に基づいて、例えば値が0(ゼロ)でないデータを表す‘1’の個数を累積することによって、現在のブロックに値が0(ゼロ)でないデータがいくつあるか判定することができる。
【0126】
そのため、クロック制御手段602は、読み出し制御手段7が情報レジスタ4に格納されている情報に基づいて、データバッファ5に対して値が0(ゼロ)でないデータのみのアドレスを出力する期間、すなわち値が0(ゼロ)でないデータの個数分の期間のみデータバッファ5に対してクロックを供給する。
【0127】
以上のように、クロック制御手段602において、情報レジスタ4に格納されている情報に基づいて、値が0(ゼロ)でないデータの個数分のみデータバッファ5に対してクロックを供給することにより、消費電力の抑制が可能となり、低電力化を実現することが可能となる。
【0128】
(実施の形態8)
以下、本発明の実施の形態8にかかる符号化装置について図面を参照しながら説明する。本実施の形態8は、実施の形態1における処理全体を、複数の処理に分割し、パイプライン処理のような先回り制御を行うことによって、符号化処理の高速化を図るものである。また、本実施の形態8においても、1ブロックのデータが8×8個の場合について説明する。
【0129】
図28に本発明の実施の形態8にかかる符号化装置の概略構成図を示す。図28においては、符号化処理全体をデータバッファへの書き込み処理までの第一の処理と、データバッファからの読み出し処理以降の第二の処理とに分割した場合について説明する。
【0130】
まず、702は1ブロック8×8個のデータを順次入力する入力手段を、703は入力手段702から入力されたデータに対して値が0(ゼロ)であるか否かを判定する比較判定手段を、704は比較判定手段703における判定により、データの値が0(ゼロ)であるか否かに関する情報を格納する8×8ビットの第一の情報レジスタを、705は入力手段702から入力されたデータを格納する第一のデータバッファを、706は第一のデータバッファ705へ対するデータの書き込みを制御する書き込み制御手段を、それぞれ示している。
【0131】
そして、707はプロセッサを示しており、第一の情報レジスタ704に格納されている情報及び第一のデータバッファ705に格納されているデータを量子化処理し、第二の情報レジスタ709及び第二のデータバッファ708に転送するものである。
【0132】
また、710は第二のデータバッファ708からのデータ読み出しを制御する読み出し制御手段を、711は第二のデータバッファ708から読み出されたデータと、第二の情報レジスタ709に格納されている情報とに基づいて、連続して値が0(ゼロ)であるデータの個数を計算してランレングス符号化を行うランレングス符号化手段を、712はランレングス符号化手段711から出力される連続して値が0(ゼロ)であるデータの個数とデータとの一対のデータを用いることで可変長符号化を行う可変長符号化手段を、713は可変長符号化手段712からの符号データを出力する出力手段を、それぞれ示している。
【0133】
第一の処理においては、まず入力手段702から、例えばJPEGで用いられるDCTの結果が1ブロック8×8個のデータを一単位として入力され、比較判定手段703によって、入力された全てのデータについて値が0(ゼロ)であるか否か判定される。
【0134】
比較判定手段3による判定の結果は、例えば値が0(ゼロ)である場合には‘0’として、0(ゼロ)でない場合には‘1’として、それぞれ第一の情報レジスタ704へ格納される。
【0135】
書き込み制御手段706は、入力手段702から入力されたデータが比較判定手段703において判定されるのと同時に、例えばRAM等で構成される第一のデータバッファ705のアドレスを順次更新して、入力手段702から入力されるDCT係数を書き込む。
【0136】
プロセッサ707は、第一の情報レジスタ704に格納されている情報を8×8ビット分読み込み、第一のデータバッファ705に対して、第一の情報レジスタ704に値‘1’が格納されているビットに相当するアドレスにアクセスし、値が0(ゼロ)でないデータを読み出し、図6に示すようにアドレスを遷移させることで連続して値が0(ゼロ)でないデータのみを読み出す動作を行う。
【0137】
さらにプロセッサ707は、第一のデータバッファ705から値が0(ゼロ)でないデータを読み出した後、量子化処理により量子化係数を生成し、量子化係数が0(ゼロ)でない場合、第二のデータバッファ708へ、第一のデータバッファ705から読み出したアドレスと同じアドレスに生成した量子化係数を書き込む。
【0138】
さらに第二の情報レジスタ709の該当するビットへ、書き込む量子化係数が0(ゼロ)であるか否かに関する情報を書き込む。この時、プロセッサ707は、第二のデータバッファ708への書き込み処理を行う前に、第二の情報レジスタ709におけるすべてのビットを‘0’にしておく必要がある。すなわち、第二の情報レジスタ709を初期化しておくことになる。
【0139】
以下、第二の読み出し制御手段710、第二のランレングス符号化手段711、第二の可変長符号化手段712は実施の形態1において対応する読み出し制御手段7、ランレングス符号化手段8、可変長符号化手段9の動作と同様である。
【0140】
このように第一の処理と第二の処理とを、プロセッサ707を介して配置する構成とすることによって、処理間のデータ転送の際における読み出し処理及び書き込み処理分の時間を短縮することができる。したがって、全体として符号化処理の高速化を図ることが可能となる。
【0141】
なお、プロセッサ707は、データバッファ705からのデータ読み出し処理と第二のデータバッファ708への書き込み処理を1データずつ交互に行っても良いし、値が0(ゼロ)でないデータの読み出し終了後に書き込み処理を行っても良い。
【0142】
さらに情報レジスタ709は、1ブロック処理終了後にすべてのビットが‘0’に自動的に初期化される構成であっても良い。
【0143】
また、図29に示すような構成も考えられる。図29においては、第二の処理を具体的な符号化処理に特化したものである。
【0144】
すなわち、プロセッサ707が、情報レジスタ704に格納されている情報に基づいて、データバッファ705から値が0(ゼロ)でないデータを読み出すのと同時に、現在の情報レジスタ704におけるビット位置と前回読み出したデータの末尾に相当する情報レジスタ704におけるビット位置との区間、例えば図5におけるaを求め、値が0(ゼロ)であるデータの個数をカウントし、量子化処理を行うことによって、量子化係数が0(ゼロ)になった場合には値が0(ゼロ)であるデータの個数を‘1’追加し、次の値が0(ゼロ)でないデータを情報レジスタ704に格納されている情報に基づいてデータバッファ705から読み出す。
【0145】
そして、量子化係数が0(ゼロ)ではない場合、当該量子化係数をランレングス符号化手段711に出力するのと同時に、累積されている値が0(ゼロ)であるデータの個数も出力する。
【0146】
以上のように、第一の処理と第二の処理とを、プロセッサを介して配置する構成とすることによって、処理間のデータ転送の際における読み出し処理及び書き込み処理分の時間を短縮することができることから、全体として符号化処理の高速化を図ることが可能となる。
【0147】
【発明の効果】
以上のように本発明にかかる符号化装置によれば、情報レジスタに格納されている情報に基づいて、データバッファの値が0(ゼロ)でないデータに対して読み出しを制御する等、読み出し時間の短縮や書き込み転送時間の短縮等を図ることによって、可変長符号化処理における待ち時間を短縮することによって、符号化処理全体を高速化することが可能となる。
【図面の簡単な説明】
【図1】 本発明の実施の形態1にかかる符号化装置の構成図
【図2】 本発明の実施の形態1にかかる符号化装置における処理の流れ図
【図3】 本発明の実施の形態1にかかる符号化装置における入力手段における入力順序の説明図
【図4】 本発明の実施の形態1にかかる符号化装置における情報レジスタへの格納順序の説明図
【図5】 本発明の実施の形態1にかかる符号化装置における情報レジスタの格納レコードの例示図
【図6】 本発明の実施の形態1にかかる符号化装置における読み出しアドレス遷移例示図
【図7】 本発明の実施の形態1にかかる符号化装置の他の構成図
【図8】 本発明の実施の形態1にかかる符号化装置の他の構成図
【図9】 本発明の実施の形態1にかかる符号化装置における値が0(ゼロ)であるデータの個数計算方法の説明図
【図10】 本発明の実施の形態1にかかる符号化装置の他の構成図
【図11】 本発明の実施の形態2にかかる符号化装置の構成図
【図12】 本発明の実施の形態2にかかる符号化装置におけるデータの取得方法及びデータバッファ構成の例示図
【図13】 本発明の実施の形態2にかかる符号化装置における情報レジスタの格納レコードの例示図
【図14】 本発明の実施の形態3にかかる符号化装置の構成図
【図15】 本発明の実施の形態3にかかる符号化装置における水平優先スキャン順の説明図
【図16】 本発明の実施の形態3にかかる符号化装置における垂直優先スキャン順の説明図
【図17】 本発明の実施の形態3にかかる符号化装置における水平優先スキャン順採用時の情報レジスタの格納レコードの例示図
【図18】 本発明の実施の形態3にかかる符号化装置における垂直優先スキャン順採用時の情報レジスタの格納レコードの例示図
【図19】 本発明の実施の形態4にかかる符号化装置の構成図
【図20】 本発明の実施の形態5にかかる符号化装置の構成図
【図21】 従来の符号データ量制御の処理流れ図
【図22】 本発明の実施の形態5にかかる符号化装置における符号データ量制御の処理流れ図
【図23】 本発明の実施の形態5にかかる符号化装置における累積領域設定の例示図
【図24】 本発明の実施の形態5にかかる符号化装置の他の構成図
【図25】 本発明の実施の形態5にかかる符号化装置における符号データ量制御の処理流れ図
【図26】 本発明の実施の形態6にかかる符号化装置の構成図
【図27】 本発明の実施の形態7にかかる符号化装置の構成図
【図28】 本発明の実施の形態8にかかる符号化装置の構成図
【図29】 本発明の実施の形態8にかかる符号化装置の他の構成図
【図30】 従来の画像符号化装置の構成図
【図31】 DCT係数値の例示図
【図32】 従来の画像符号化装置における符号化部の構成図
【図33】 従来の画像符号化装置の他の構成図
【符号の説明】
2 入力手段
3 比較判定手段
4、304 情報レジスタ
5、22、305、805 データバッファ
6、306、806 書き込み制御手段
7、307、807 読み出し制御手段
8、808 ランレングス符号化手段
9、809 可変長符号化手段
10 符号データ出力手段
11 アドレス記憶手段
12 プロセッサ
21 DCT/量子化部
23、812 ランレングスカウンタ
24 バッファコントローラ
25 可変長符号化部
110 選択手段
204 情報レジスタ群
205 第二の入力手段
206 情報レジスタ選択手段
308 出力切り替え手段
402 符号語累積手段
403 累積領域設定手段
404 累積数出力手段
405 しきい値設定手段
406 比較判定手段
407 比較結果出力手段
502 最終データ判定手段
602 クロック制御手段
702 第一の入力手段
703 第一の比較判定手段
704 第一の情報レジスタ
705 第一のデータバッファ
706 第一の書き込み制御手段
707 プロセッサ
708 第二のデータバッファ
709 第二の情報レジスタ
710 第二の読み出し制御手段
711 第二のランレングス符号化手段
712 第二の可変長符号化手段
713 符号語数の出力手段
801 DCT部
802 量子化部
803 符号化部
804 入力手段
810 符号語出力手段
811 比較判定手段

Claims (29)

  1. ランレングス符号化と可変長符号化を行う符号化装置であって、
    1ブロックm×n個のデータを順次入力する入力手段と、
    前記入力手段から入力された前記データに対して値が0(ゼロ)であるか否かを判定する比較判定手段と、
    前記比較判定手段において判定された前記データの値が0(ゼロ)であるか否かに関する情報を格納するm×nビットの情報レジスタと、
    前記入力手段から入力された前記データを格納するデータバッファと、
    前記情報レジスタに格納されている前記データの値が0(ゼロ)であるか否かに関する情報に基づいて、前記データバッファから前記データの読み出しを制御する読み出し制御手段と、
    前記データバッファから読み出された前記データと、前記情報レジスタに格納されている前記データの値が0(ゼロ)であるか否かに関する情報を用いてランレングス符号化を行うランレングス符号化手段と、
    前記ランレングス符号化手段において求まった、連続して値が0(ゼロ)である前記データの個数と、前記データとの一対のデータを用いて可変長符号化を行う可変長符号化手段とを含むことを特徴とする符号化装置。
  2. 前記情報レジスタにおいて、前記データの値が0(ゼロ)であるか否かに関する情報が、前記入力手段から入力された前記データに対してジグザグスキャン順に格納される請求項1に記載の符号化装置。
  3. 前記データバッファに対する前記データの書き込みを制御する書き込み制御手段を含み、
    前記比較判定手段において前記データの値が0(ゼロ)ではないと判定された場合にのみ前記データバッファに対して書き込みを行う請求項1に記載の符号化装置。
  4. 前記データバッファにおいて、1つのアドレスにL(Lは自然数)個の前記データを格納できるよう構成し、さらに前記データバッファから読み出されたL個の前記データを、前記情報レジスタに格納されている前記データの値が0(ゼロ)であるか否かに関する情報に基づいて選択して出力する選択手段を備える請求項1に記載の符号化装置。
  5. 前記読み出し制御手段において、m×nビットで構成される前記情報レジスタのビットの中で、L個の前記データに対応するビットが少なくとも1つ以上0(ゼロ)でない場合にのみ、前記アドレスにおける前記データを前記データバッファから読み出す請求項4に記載の符号化装置。
  6. 前記選択手段において、m×nビットで構成される前記情報レジスタのビットの中で、L個の前記データに対応するLビットに基づいて前記データバッファから読み出されたL個の前記データを選択する請求項4又は5に記載の符号化装置。
  7. 前記比較判定手段において判定された前記データの値が0(ゼロ)であるか否かに関する情報を、それぞれ異なる並び順序で格納するm×nビットの前記情報レジスタを少なくとも1つ以上有する情報レジスタ群と、
    前記入力手段から入力された前記データにおけるブロックの特徴を示す情報を入力する第二の入力手段と、
    前記第二の入力手段から入力された前記ブロックの特徴を示す情報に基づいて、前記情報レジスタ群から前記情報レジスタを選択する選択手段とを備える請求項1に記載の符号化装置。
  8. 前記情報レジスタと、前記データバッファと、前記書き込み制御手段と、前記読み出し制御手段とを1系統とする処理系統を複数個有し、どの前記処理系統に属する前記データバッファから出力するのかを切り替えて前記ランレングス符号化手段へ出力する出力切り替え手段とを備え、
    一の前記処理系統における前記データバッファへの書き込み処理と、他の前記処理系統における前記データバッファへの読み出し処理を同時に行う請求項2に記載の符号化装置。
  9. 前記情報レジスタにおける前記データの値が0(ゼロ)ではない前記データの個数を累積する符号語数累積手段を含む請求項1に記載の符号化装置。
  10. 1ブロック内の領域を設定する領域設定手段を含む請求項9に記載の符号化装置。
  11. 前記符号語数累積手段の累積値のしきい値を設定するしきい値設定手段と、
    前記累積値と前記しきい値とを比較する比較手段とを備える請求項9又は10に記載の符号化装置。
  12. 前記情報レジスタに格納されている値が0(ゼロ)ではない前記データを示す情報が、当該ブロック内における最後の0(ゼロ)ではない前記データを示す情報であるか否かを判定する最終データ判定手段を備え、
    前記最終データ判定手段は、値が0(ゼロ)ではない前記データを示す情報が当該ブロック内で最後のときに最終データであることを示す情報を前記可変長符号化手段に出力する請求項1に記載の符号化装置。
  13. 前記データバッファへの供給クロックを制御するクロック制御手段を備え、
    前記クロック制御手段は、前記情報レジスタに格納されている前記データの値が0(ゼロ)であるか否かに関する情報に基づいて、前記データの値が0(ゼロ)でない期間にのみ前記データバッファへクロックを供給する請求項1に記載の符号化装置。
  14. ランレングス符号化と可変長符号化を行う符号化装置であって、
    1ブロックm×n個のデータを順次入力する入力手段と、
    前記入力手段から入力された前記データに対して値が0(ゼロ)であるか否かを判定する比較判定手段と、
    前記比較判定手段において判定された前記データの値が0(ゼロ)であるか否かに関する情報を格納するm×nビットの第一の情報レジスタと、
    前記入力手段から入力された前記データを格納する第一のデータバッファと、
    前記第一のデータバッファに対する前記データの書き込みを制御する書き込み制御手段とを含む第一の処理部と、
    前記第一の情報レジスタに格納されている情報に基づいて、前記第一のデータバッファから前記データを読み出し、第二のデータを生成するプロセッサと、
    前記第二のデータを格納する第二のデータバッファと、
    前記第二のデータの値が0(ゼロ)であるか否かに関する情報を格納するm×nビットの第二の情報レジスタと、
    前記第二の情報レジスタに格納されている前記第二のデータの値が0(ゼロ)であるか否かに関する情報に基づいて、前記第二のデータバッファから前記第二のデータの読み出しを制御する読み出し制御手段と、
    前記第二のデータバッファから読み出された前記第二のデータと、前記第二の情報レジスタに格納されている前記第二のデータの値が0(ゼロ)であるか否かに関する情報を用いてランレングス符号化を行うランレングス符号化手段と、
    前記ランレングス符号化手段において求まった、連続して値が0(ゼロ)である前記第二のデータの個数と、前記第二のデータとの一対のデータを用いて可変長符号化を行う可変長符号化手段とを含む第二の処理手段とで構成されており、
    前記読み出し制御手段は、前記第二の情報レジスタに基づいて、値が0(ゼロ)ではない前記第二のデータのみを前記第二のデータバッファから読み出し、前記ランレングス符号化手段において、前記第二の情報レジスタにおける値が0(ゼロ)ではない前記第二のデータを示す区間を、連続して値が0(ゼロ)である前記第二のデータの個数として前記可変長符号化手段へ出力することを特徴とする符号化装置。
  15. 前記プロセッサは、前記第二のデータを生成すると同時に、前記第二のデータの値が0(ゼロ)である場合には出力せず、値が0(ゼロ)である前記第二のデータの個数を累積し、前記第二のデータの値が0(ゼロ)でない場合には、前記第二のデータを出力すると同時に、累積されている値が0(ゼロ)である前記第二のデータの個数を前記ランレングス符号化手段に出力する請求項14に記載の符号化装置。
  16. ランレングス符号化と可変長符号化を行う符号化装置であって、
    1ブロックm×n個のデータを順次入力する入力手段と、
    前記入力手段から入力された前記データに対して値が0(ゼロ)であるか否かを判定する比較判定手段と、
    前記入力手段から入力された前記データを格納するデータバッファと、
    前記比較判定手段において、値が0(ゼロ)でないと判定された前記データの前記データバッファにおけるアドレスを格納するアドレス記憶手段と、
    前記アドレス記憶手段に格納されている前記アドレスに基づいて、前記データバッファから前記データの読み出しを制御する読み出し制御手段と、
    前記データバッファから読み出された前記データと、前記アドレス記憶手段に格納されている前記アドレスを用いてランレングス符号化を行うランレングス符号化手段と、
    前記ランレングス符号化手段において求まった、連続して値が0(ゼロ)である前記データの個数と、前記データとの一対のデータを用いて可変長符号化を行う可変長符号化手段とを含み、
    前記読み出し制御手段において、前記アドレス記憶手段に格納された前記アドレスに基づいて、値が0(ゼロ)ではない前記データのみを前記データバッファから読み出し、
    前記ランレングス符号化手段において、前記アドレス記憶手段に格納されている前回読み出したアドレスと今回読み出したアドレスの差分を、値が0(ゼロ)である前記データの個数として前記可変長符号化手段へ出力することを特徴とする符号化装置。
  17. 前記ランレングス符号化手段において、前記データバッファから読み出したアドレスと、1つ前に読み出したアドレスとの差分をジグザグスキャン順によって計算し、前記差分を値が0(ゼロ)である前記データの個数として前記可変長符号化手段へ出力する請求項16に記載の符号化装置。
  18. 前記アドレス記憶手段と前記読みだし制御手段がプロセッサによって処理される請求項16に記載の符号化装置。
  19. ランレングス符号化と可変長符号化を行う符号化方法であって、
    1ブロックm×n個のデータを順次入力する工程と、
    入力された前記データに対して値が0(ゼロ)であるか否かを判定する工程と、
    判定された前記データの値が0(ゼロ)であるか否かに関する情報をm×nビットの情報レジスタに格納する工程と、
    入力された前記データを前記データバッファに格納する工程と、
    前記データバッファに対する前記データの書き込みを制御する工程と、
    前記情報レジスタに格納されている前記データの値が0(ゼロ)であるか否かに関する情報に基づいて、前記データバッファから前記データの読み出しを制御する工程と、
    前記データバッファから読み出された前記データと、前記情報レジスタに格納されている前記データの値が0(ゼロ)であるか否かに関する情報を用いてランレングス符号化を行う工程と、
    前記ランレングス符号化を行う工程において求まった、連続して値が0(ゼロ)である前記データの個数と、前記データとの一対のデータを用いて可変長符号化を行う工程とを含むことを特徴とする符号化方法。
  20. 前記データバッファにおいて、1つのアドレスにL個の前記データを格納できるよう構成し、さらに前記データバッファから読み出されたL個の前記データを、前記情報レジスタに格納されている前記データの値が0(ゼロ)であるか否かに関する情報に基づいて選択して出力する工程を含む請求項19に記載の符号化方法。
  21. 前記データの値が0(ゼロ)であるか否かに関する情報を、それぞれ異なる並び順序で格納するm×nビットの情報レジスタを少なくとも1つ以上有する情報レジスタ群を有し、
    入力された前記データにおけるブロックの特徴を示す情報を入力する工程と、
    入力された前記ブロックの特徴を示す情報に基づいて、前記情報レジスタ群から情報レジスタを選択する工程とをさらに含む請求項19に記載の符号化方法。
  22. 判定された前記データの値が0(ゼロ)であるか否かに関する情報をm×nビットの前記情報レジスタに格納する工程と、
    前記入力手段から入力された前記データを前記データバッファに格納する工程と、
    前記データバッファに対する前記データの書き込みを制御する工程と、
    前記情報レジスタに格納されている前記データの値が0(ゼロ)であるか否かに関する情報に基づいて、前記データバッファから前記データの読み出しを制御する工程とを1系統とする処理系統を複数個有し、
    どの前記処理系統に属する前記データバッファから出力するのかを切り替える工程をさらに含み、
    一の前記処理系統における前記データバッファへの書き込み処理と、他の前記処理系統における前記データバッファへの読み出し処理を同時に行う請求項19に記載の符号化方法。
  23. 前記情報レジスタにおける前記データの値が0(ゼロ)ではない前記データの個数を累積する工程を含む請求項19に記載の符号化方法。
  24. 1ブロック内の領域を設定する工程を含む請求項23に記載の符号化方法。
  25. 累積値のしきい値を設定する工程と、前記累積値と前記しきい値とを比較する工程をさらに含む請求項23又は24に記載の符号化方法。
  26. 前記情報レジスタに格納されている値が0(ゼロ)ではない前記データを示す情報が、当該ブロック内における最後の0(ゼロ)ではない前記データを示す情報であるか否かを判定する工程を含み、
    値が0(ゼロ)ではない前記データを示す情報が当該ブロック内で最後のときに最終データであることを示す情報を出力する請求項19に記載の符号化方法。
  27. 前記データバッファへの供給クロックを制御する工程を含み、
    前記情報レジスタに格納されている前記データの値が0(ゼロ)であるか否かに関する情報に基づいて、前記データの値が0(ゼロ)でない期間にのみ前記データバッファへクロックを供給する請求項19に記載の符号化方法。
  28. ランレングス符号化と可変長符号化を行う符号化方法であって、
    1ブロックm×n個のデータを順次入力する工程と、
    入力された前記データに対して値が0(ゼロ)であるか否かを判定する工程と、
    判定された前記データの値が0(ゼロ)であるか否かに関する情報をm×nビットの第一の情報レジスタに格納する工程と、
    入力された前記データを第一のデータバッファに格納する工程と、
    前記第一のデータバッファに対する前記データの書き込みを制御する工程とを含む第一の処理工程と、
    前記第一の情報レジスタに格納されている情報に基づいて、前記第一のデータバッファからデータを読み出し、第二のデータを生成する工程と、
    前記第二のデータを第二のデータバッファに格納する工程と、
    前記第二のデータの値が0(ゼロ)であるか否かに関する情報をm×nビットの第二の情報レジスタに格納する工程と、
    前記第二の情報レジスタに格納されている前記第二のデータの値が0(ゼロ)であるか否かに関する情報に基づいて、前記第二のデータバッファから前記第二のデータの読み出しを制御する工程と、
    前記第二のデータバッファから読み出された前記第二のデータと、前記第二の情報レジスタに格納されている前記第二のデータの値が0(ゼロ)であるか否かに関する情報を用いてランレングス符号化を行う工程と、
    前記ランレングス符号化を行う工程において求まった、連続して値が0(ゼロ)である前記第二のデータの個数と、前記第二のデータとの一対のデータを用いて可変長符号化を行う工程とを含む第二の処理工程とで構成されており、
    前記第二の情報レジスタに基づいて、値が0(ゼロ)ではない前記第二のデータのみを前記第二のデータバッファから読み出し、前記ランレングス符号化を行う工程において、前記第二の情報レジスタにおける値が0(ゼロ)ではない前記第二のデータを示す区間を、連続して値が0(ゼロ)である前記第二のデータの個数として前記可変長符号化を行う工程へと渡すことを特徴とする符号化方法。
  29. ランレングス符号化と可変長符号化を行う符号化方法であって、
    1ブロックm×n個のデータを順次入力する工程と、
    入力された前記データに対して値が0(ゼロ)であるか否かを判定する工程と、
    入力された前記データをデータバッファに格納する工程と、
    値が0(ゼロ)でないと判定された前記データの前記データバッファにおけるアドレスを格納する工程と、
    格納されている前記アドレスに基づいて、前記データバッファから前記データの読み出しを制御する工程と、
    前記データバッファから読み出された前記データと、格納されている前記アドレスを用いてランレングス符号化を行う工程と、
    前記ランレングス符号化を行う工程において求まった、連続して値が0(ゼロ)である前記データの個数と、前記データとの一対のデータを用いて可変長符号化を行う工程とを含み、
    格納された前記アドレスに基づいて、値が0(ゼロ)ではない前記データのみを前記データバッファから読み出し、格納されている前回読み出したアドレスと今回読み出したアドレスの差分を、値が0(ゼロ)である前記データの個数として前記可変長符号化を行う工程へと渡すことを特徴とする符号化方法。
JP2002331140A 2002-11-14 2002-11-14 符号化装置及び方法 Expired - Lifetime JP4101034B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2002331140A JP4101034B2 (ja) 2002-11-14 2002-11-14 符号化装置及び方法
CNB2003101181468A CN1262122C (zh) 2002-11-14 2003-11-13 编码装置及方法
US10/714,358 US7515761B2 (en) 2002-11-14 2003-11-14 Encoding device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002331140A JP4101034B2 (ja) 2002-11-14 2002-11-14 符号化装置及び方法

Publications (2)

Publication Number Publication Date
JP2004166083A JP2004166083A (ja) 2004-06-10
JP4101034B2 true JP4101034B2 (ja) 2008-06-11

Family

ID=32375714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002331140A Expired - Lifetime JP4101034B2 (ja) 2002-11-14 2002-11-14 符号化装置及び方法

Country Status (3)

Country Link
US (1) US7515761B2 (ja)
JP (1) JP4101034B2 (ja)
CN (1) CN1262122C (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060098733A1 (en) * 2004-11-08 2006-05-11 Kabushiki Kaisha Toshiba Variable-length coding device and method of the same
JP4074868B2 (ja) * 2004-12-22 2008-04-16 株式会社東芝 画像符号化制御方法及びその装置
US20060256854A1 (en) * 2005-05-16 2006-11-16 Hong Jiang Parallel execution of media encoding using multi-threaded single instruction multiple data processing
KR100809961B1 (ko) * 2006-08-29 2008-03-07 삼성전자주식회사 데이터 처리장치 및 데이터 처리방법
JP4862894B2 (ja) 2006-11-28 2012-01-25 日本電気株式会社 符号化装置と方法及びプロセッサ
JP2010257280A (ja) * 2009-04-27 2010-11-11 Renesas Electronics Corp シリアル制御装置、半導体装置及びシリアルデータの転送方法
EP2538345A1 (en) * 2010-02-16 2012-12-26 Nec Corporation Fast fourier transform circuit
US8989507B2 (en) * 2010-07-05 2015-03-24 International Business Machines Corporation Bitmap compression for fast searches and updates
JP5636816B2 (ja) * 2010-08-25 2014-12-10 富士ゼロックス株式会社 再構成可能演算回路及びプログラム
CN101964912A (zh) * 2010-10-15 2011-02-02 北京中科大洋科技发展股份有限公司 一种在mpeg2中游程编码快速计算游程长度的方法
JP5720170B2 (ja) * 2010-10-18 2015-05-20 ソニー株式会社 画像処理装置、画像処理システム、画像処理方法およびプログラム
JP6070196B2 (ja) * 2013-01-04 2017-02-01 大日本印刷株式会社 画像符号化装置および画像符号化方法
US10671910B2 (en) * 2015-12-07 2020-06-02 International Business Machines Corporation Space-efficient dynamic addressing in very large sparse networks
CN106502971B (zh) * 2016-10-27 2020-04-21 青岛海信移动通信技术股份有限公司 输入信息的处理方法、装置及移动终端
US10503507B2 (en) 2017-08-31 2019-12-10 Nvidia Corporation Inline data inspection for workload simplification
CN108989825B (zh) * 2018-07-18 2021-05-07 北京奇艺世纪科技有限公司 一种算术编码方法、装置及电子设备
US10970228B2 (en) * 2018-12-14 2021-04-06 Micron Technology, Inc. Mapping table compression using a run length encoding algorithm
CN111128245A (zh) * 2019-12-19 2020-05-08 珠海市一微半导体有限公司 一种语音分帧处理电路和方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7142720B1 (en) * 1990-07-31 2006-11-28 Fujitsu Limited Image data processing method and apparatus
US5694127A (en) * 1995-10-17 1997-12-02 Zapex Technologies, Inc. Method and apparatus for efficiently generating variable length code data
US6961474B1 (en) * 1998-02-27 2005-11-01 Shikino High-Tech Co., Ltd. Huffman encoder for encoding/decoding DCT coefficients
JP2000050271A (ja) 1998-07-29 2000-02-18 Fuji Film Microdevices Co Ltd 画像圧縮装置

Also Published As

Publication number Publication date
CN1501716A (zh) 2004-06-02
US20040105497A1 (en) 2004-06-03
JP2004166083A (ja) 2004-06-10
US7515761B2 (en) 2009-04-07
CN1262122C (zh) 2006-06-28

Similar Documents

Publication Publication Date Title
JP4101034B2 (ja) 符号化装置及び方法
US20020163965A1 (en) Video frame compression/decompression hardware system
JPH11127355A (ja) 画像符号化装置、画像符号化方法および画像符号化プログラムを記録した記録媒体
CN103229508A (zh) 图像编码装置以及图像编码方法
US7929777B2 (en) Variable length decoding device, variable length decoding method and image capturing system
CN102187678A (zh) 动态图像压缩编码中的编码处理方法和编码处理装置
CN101511025A (zh) 图像压缩/解压缩的方法、装置
CN101453643B (zh) 量化模式、图像编码、解码方法、编码器、解码器及系统
JPH0479177B2 (ja)
JP3511893B2 (ja) 映像信号符号化方法及び装置
JPH1023413A (ja) 符号化装置
JP2001217721A (ja) ハフマン符号化装置、ハフマン符号化方法およびハフマン符号化処理プログラムを記録した記録媒体
KR20020026189A (ko) 고정된 비율 압축을 이용하는 효율적인 비디오 데이터엑세스
CN114842108A (zh) 一种概率栅格地图的处理方法、装置及存储设备
JPH11346365A (ja) 符号化圧縮方法、および符号化圧縮装置
JP3281423B2 (ja) 画像符号化時における符号量制御装置
JP3015001B2 (ja) ハフマン復号化装置
JP3385866B2 (ja) 逆量子化・逆dct回路
JPH07303045A (ja) ハフマン復号化装置
CN104980751A (zh) 图像数据处理装置及图像数据处理的方法
JPH04336896A (ja) 動画像蓄積装置
JP2005198186A (ja) 画像符号化装置、画像符号化方法および画像符号化プログラム
CN116389744A (zh) 图像编码装置与图像编码方法
JP3811727B2 (ja) 画像符号化・復号化方法及びその装置
JP2521359B2 (ja) 画像符号化装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080218

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080318

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

Free format text: PAYMENT UNTIL: 20110328

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4101034

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120328

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130328

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130328

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140328

Year of fee payment: 6

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term